IP Library Granted Patent US 7,742,636
Granted Patent B2
US 7,742,636 · App. 11/341,712 · Granted Jun 22, 2010

Method and apparatus for scaling down a bayer domain image

Assignee: Nethra Imaging Inc.
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,742,636
App. No.
11/341,712
Granted
Jun 22, 2010
Kind
B2
Abstract

In one embodiment of the invention, a method is provided. The method, comprises scaling down a Bayer domain image made up of a number of 2×2 basic units, each having a Red (R) pixel, a Blue (B) pixel, and two green (G) pixels arranged in a fixed configuration and replicated throughout the image, the method comprising (a) partitioning the image into 2M×2N input blocks, where M and N are integers greater than or equal to 1; (b) for each 2M×2N input block, averaging a selection of R pixels in the block to produce a R pixel in a scaled down image corresponding to the Bayer domain image; (c) averaging a selection of B pixels in the block to produce a B pixel in the scaled down image; and (d) partitioning the 2M×2N input block into first and second triangular regions, and averaging a selection of pixels in the first triangular region to produce a first G pixel in the scaled down image, and averaging a selection of pixels in the second triangular region to produce a second G pixel in the scaled down image.

Claims (104)

1. A method for scaling down a Bayer domain image made up of a number of 2×2 basic units, each having a Red (R) pixel, a Blue (B) pixel, and two green (G) pixels arranged in a fixed configuration and replicated throughout the image, the method performed by a scaling engine coupled to a central processing unit, the method comprising:

partitioning the image into 2M×2N input blocks, where M and N are integers greater than or equal to 1

for each 2M×2N input block,

averaging a selection of R pixels in the block to produce a R pixel in a scaled down image corresponding to the Bayer domain image;

averaging a selection of B pixels in the block to produce a B pixel in the scaled down image; and

partitioning the 2M×2N input block into first and second triangular regions, and averaging a selection of pixels in the first triangular region to produce a first G pixel in the scaled down image, and averaging a selection of pixels in the second triangular region to produce a second G pixel in the scaled down image.

2. The method of claim 1 , wherein the fixed configuration comprises one of the following pixel configurations:

(a) a 2×2 block with the upper left corner containing an R pixel, the upper right corner containing a G pixel, the lower left corner containing a G pixel, and the lower right corner containing a B pixel; or

(b) a 2×2 block with the upper left corner containing a B pixel, the upper right corner containing a G pixel, the lower left corner containing a G pixel, and the lower right corner containing an R pixel;

in which case the first and second triangles are formed so that an hypotenuse of each of the triangles run from a top left hand corner of the 2M×2N input block to a bottom right hand corner of the 2M×2N input block.

3. The method of claim 1 , wherein the fixed configuration comprises one of the following pixel configurations:

(a) a 2×2 block with the upper left corner containing an G pixel, the upper right corner containing a R pixel, the lower left corner containing a B pixel, and the lower right corner containing a G pixel; or

(b) a 2×2 block with the upper left corner containing a G pixel, the upper right corner containing a B pixel, the lower left corner containing a R pixel, and the lower right corner containing an G pixel;

in which case the first and second triangles are formed so that an hypotenuse of each of the triangles run from a bottom left hand corner of the 2M×2N input block to a top right hand corner of the 2M×2N input block.

4. A method for processing a Bayer domain image to produce a scaled down image comprising a repeating pattern of a 2×2 basic pixel block having four color pixels, the method performed by a scaling engine coupled to a central processing unit, the method comprising:

defining an area of support comprising first and second triangular regions in the Bayer domain input image for each color pixel of each 2×2 basic pixel block in the scaled down image, each area of support including pixels of the Bayer domain image that are spatially related to the color pixel; and

generating each color pixel for each 2×2 basic pixel block in the output image by averaging a selection of pixels of the Bayer domain image within the area of support for the color pixel.

5. The method of claim 4 , wherein defining the area of support for each G pixel in the 2×2 basic pixel block comprises selecting a diamond shaped area of the Bayer domain image containing pixels that are spatially close to the G pixel.

6. The method of claim 4 , wherein the 2×2 basic pixel block comprises a Red (R) pixel, a Blue (B) pixel, and two Green (G) pixels in one of the following pixel configurations:

(a) a 2×2 block with the upper left corner containing an R pixel, the upper right corner containing a G pixel, the lower left corner containing a G pixel, and the lower right corner containing a B pixel; or

(b) a 2×2 block with the upper left corner containing a G pixel, the upper right corner containing a R pixel, the lower left corner containing a B pixel, and the lower right corner containing an G pixel;

(c) a 2×2 block with the upper left corner containing an B pixel, the upper right corner containing a G pixel, the lower left corner containing a G pixel, and the lower right corner containing a R pixel; or

(d) a 2×2 block with the upper left corner containing a G pixel, the upper right corner containing a B pixel, the lower left corner containing a R pixel, and the lower right corner containing an G pixel;

wherein defining the area of support for the R and B pixels in the 2×2 basic pixel block comprises selecting a rectangular area of the Bayer domain image containing pixels that are spatially close to the R and B pixels, respectively.

7. An image processor, comprising:

a central processing unit (CPU) core; and

a scaling engine coupled to the CPU core, the scaling engine capable of performing a method of scaling down a Bayer domain image made up of a number of 2×2 basic units, each having a Red (R) pixel, a Blue (B) pixel, and two green (C) pixels arranged in a fixed configuration and replicated throughout the image, the method comprising:

partitioning the image into 2M×2N input blocks, where M and N are integers greater than or equal to 1;

for each 2M×2N input block,

averaging a selection of R pixels in the block to produce a R pixel in a scaled down image corresponding to the Bayer domain image;

averaging a selection of B pixels in the block to produce a B pixel in the scaled down image; and

partitioning the 2M×2N input block into first and second triangular regions, and averaging a selection of pixels in the first triangular region to produce a first G pixel in the scaled down image, and averaging a selection of pixels in the second triangular region to produce a second G pixel in the scaled down image.

8. The image processor of claim 7 , wherein the fixed configuration comprises one of the following pixel configurations:

(a) a 2×2 block with the upper left corner containing an R pixel, the upper right corner containing a G pixel, the lower left corner containing a G pixel, and the lower right corner containing a B pixel; or

(b) a 2×2 block with the upper left corner containing a B pixel, the upper right corner containing a G pixel, the lower left corner containing a G pixel, and the lower right corner containing an R pixel;

in which case the first and second triangles are formed so that an hypotenuse of each of the triangles run from a top left hand corner of the 2M×2N input block to a bottom right hand corner of the 2M×2N input block.

9. The image processor of claim 7 , wherein the fixed configuration comprises one of the following pixel configurations:

(a) a 2×2 block with the upper left corner containing an G pixel, the upper right corner containing a R pixel, the lower left corner containing a B pixel and the lower right corner containing a G pixel; or

(b) a 2×2 block with the upper left corner containing a G pixel, the upper right corner containing a B pixel, the lower left corner containing a R pixel, and the lower right corner containing a G pixel;

in which case the first and second triangles are formed so that an hypotenuse of each of the triangles run from a bottom left hand corner of the 2M×2N input block to a top right hand corner of the 2M×2N input block.

10. An image processing system, comprising:

an image sensor; and

an image processor to process data from the image sensor, the image processor comprising a central processing unit (CPU) core; and a scaling engine coupled to the CPU core, the scaling engine capable of performing a method of scaling down a Bayer domain image made up of a number of 2×basic units, each having a Red (R) pixel, a Blue (B) pixel, and two green (G) pixels arranged in a fixed configuration and replicated throughout the image, the method comprising:

partitioning the image into 2M×2N input blocks, where M and N are integers greater than or equal to 1;

for each 2M×2N input block,

averaging a selection of R pixels in the block to produce a R pixel in a scaled down image corresponding to the Bayer domain image;

averaging a selection of B pixels in the block to produce a B pixel in the scaled down image; and

partitioning the 2M×2N input block into first and second triangular regions, and averaging a selection of pixels in the first triangular region to produce a first G pixel in the scaled down image, and averaging a selection of pixels in the second triangular region to produce a second G pixel in the scaled down image.

11. The image processing system of claim 10 , wherein the fixed configuration comprises one of the following pixel configurations:

(a) a 2×2 block with the upper left corner containing an R pixel, the upper right corner containing a G pixel, the lower left corner containing a G pixel, and the lower right corner containing a B pixel; or

(b) a 2×2 block with the upper left corner containing a B pixel, the upper right corner containing a G pixel, the lower left corner containing a G pixel, and the lower right corner containing an R pixel;

in which case the first and second triangles are formed so that an hypotenuse of each of the triangles run from a top left hand corner of the 2M×2N input block to a bottom right hand corner of the 2M×2N input block.

12. The image processing system of claim 10 , wherein the fixed configuration comprises one of the following pixel configurations:

(a) a 2×2 block with the upper left corner containing an G pixel, the upper right corner containing a R pixel, the lower left corner containing a B pixel, and the lower right corner containing a G pixel; or

(b) a 2×2 block with the upper left corner containing a G pixel, the upper right corner containing a B pixel, the lower left corner containing a R pixel, and the lower right corner containing a G pixel;

in which case the first and second triangles are formed so that an hypotenuse of each of the triangles run from a bottom left hand corner of the 2M×2N input block to a top right hand corner of the 2M×2N input block.

13. A computer readable recordable type medium having stored thereon, a sequence of instructions which when executing by a processing system, cause the processing system to perform a method for scaling down a Bayer domain image made up of a number of 2×2 basic units, each having a Red (R) pixel, a Blue (B) pixel, and two green (G) pixels arranged in a fixed configuration and replicated throughout the image, the method comprising:

partitioning the image into 2M×2N input blocks, where M and N are integers greater than or equal to 1;

for each 2M×2N input block,

averaging a selection of R pixels in the block to produce a R pixel in a scaled down image corresponding to the Bayer domain image;

averaging a selection of B pixels in the block to produce a B pixel in the scaled down image; and

partitioning the 2N×2N input block into first and second triangular regions, and averaging a selection of pixels in the first triangular region to produce a first G pixel in the scaled down image, and averaging a selection of pixels in the second triangular region to produce a second G pixel in the scaled down image.

14. The computer readable recordable type medium of claim 13 , wherein the fixed configuration comprises one of the following pixel configurations:

(a) a 2×2 block with the upper left corner containing an R pixel, the upper right corner containing a G pixel, the lower left corner containing a G pixel, and the lower right corner containing a B pixel; or

(b) a 2×2 block with the upper left corner containing a B pixel, the upper right corner containing a G pixel, the lower left corner containing a G pixel, and the lower right corner containing an R pixel;

in which case the first and second triangles are formed so that an hypotenuse of each of the triangles run from a top left hand corner of the 2M×2N input block to a bottom right hand corner of the 2M×2N input block.

15. The computer readable recordable type medium of claim 13 , wherein the fixed configuration comprises one of the following pixel configurations:

(a) a 2×2 block with the upper left corner containing an G pixel, the upper right corner containing a R pixel, the lower left corner containing a B pixel, and the lower right corner containing a G pixel; or

(b) a 2×2 block with the upper left corner containing a G pixel, the upper right corner containing a B pixel, the lower left corner containing a R pixel, and the lower right corner containing a G pixel;

in which case the first and second triangles are formed so that an hypotenuse of each of the triangles run from a bottom left hand corner of the 2M×2N input block to a top right hand corner of the 2M×2N input block.

16. An image processor, comprising:

a central processing unit (CPU) core; and

a scaling engine coupled to the CPU core, the scaling engine capable of performing a method of scaling down a Bayer domain image to produce a scaled down image comprising a repeating pattern of a 2×2 basic pixel block having four color pixels, the method comprising:

defining an area of support comprising first and second triangular regions in the Bayer domain input image for each color pixel of each 2×2 basic pixel block in the scaled down image, each area of support including pixels of the Bayer domain image that are spatially related to the color pixel; and

generating each color pixel for each 2×2 basic pixel block in the output image by averaging a selection of pixels of the Bayer domain image within the area of support for the color pixel.

17. The image processor of claim 16 , wherein defining the area of support for each G pixel in the 2×2 basic pixel block comprises selecting a diamond shaped area of the Bayer domain image containing pixels that are spatially close to the G pixel.

18. The image processor of claim 16 , wherein the 2×2 basic pixel block comprises a Red (R) pixel, a Blue (B) pixel, and two Green (G) pixels in one of the following pixel configurations:

(a) a 2×2 block with the upper left corner containing an R pixel, the upper right corner containing a G pixel, the lower left corner containing a G pixel, and the lower right corner containing a B pixel; or

(b) a 2×2 block with the upper left corner containing a G pixel, the upper right corner containing a R pixel, the lower left corner containing a B pixel, and the lower right corner containing an G pixel;

(c) a 2×2 block with the upper left corner containing an B pixel, the upper right corner containing a G pixel, the lower left corner containing a G pixel, and the lower right corner containing a R pixel; or

(d) a 2×2 block with the upper left corner containing a G pixel, the upper right corner containing a B pixel, the lower left corner containing a R pixel, and the lower right corner containing an G pixel;

wherein defining the area of support for the R and B pixels in the 2×2 basic pixel block comprises selecting a rectangular area of the Bayer domain image containing pixels that are spatially close to the R and B pixels, respectively.

19. An image processing system, comprising:

an image sensor; and

an image processor to process data from the image sensor, the image processor comprising a central processing unit (CPU) core; and a scaling engine coupled to the CPU core, the scaling engine capable of performing a method for processing a Bayer domain image to produce a scaled down image comprising a repeating pattern of a 2×2 basic pixel block having four color pixels, the method comprising:

defining an area of support comprising first and second triangular regions in the Bayer domain input image for each color pixel of each 2×2 basic pixel block in the scaled down image, each area of support including pixels of the Bayer domain image that are spatially related to the color pixel; and

generating each color pixel for each 2×2 basic pixel block in the output image by averaging a selection of pixels of the Bayer domain image within the area of support for the color pixel.

20. The image processing system of claim 19 , wherein defining the area of support for each G pixel in the 2×2 basic pixel block comprises selecting a diamond shaped area of the Bayer domain image containing pixels that are spatially close to the G pixel.

21. The image processing system of claim 19 , wherein the 2×2 basic pixel block comprises a Red (R) pixel, a Blue (B) pixel, and two Green (G) pixels in one of the following pixel configurations:

(a) a 2×2 block with the upper left corner containing an R pixel, the upper right corner containing a G pixel, the lower left corner containing a G pixel, and the lower right corner containing a B pixel; or

(b) a 2×2 block with the upper left corner containing a G pixel, the upper right corner containing a R pixel, the lower left corner containing a B pixel, and the lower right corner containing an G pixel;

(c) a 2×2 block with the upper left corner containing an B pixel, the upper right corner containing a G pixel, the lower left corner containing a G pixel, and the lower right corner containing a R pixel; or

(d) a 2×2 block with the upper left corner containing a G pixel, the upper right corner containing a B pixel, the lower left corner containing a R pixel, and the lower right corner containing an G pixel;

wherein defining the area of support for the R and B pixels in the 2×2 basic pixel block comprises selecting a rectangular area of the Bayer domain image containing pixels that are spatially close to the R and B pixels, respectively.

22. A computer readable recordable type medium having stored thereon, a sequence of instructions which when executing by a processing system, cause the processing system to perform a method for processing a Bayer domain image to produce a scaled down image comprising a repeating pattern of a 2×2 basic pixel block having four color pixels, the method comprising:

defining an area of support comprising first and second triangular regions in the Bayer domain input image for each color pixel of each 2×2 basic pixel block in the scaled down image, each area of support including pixels of the Bayer domain image that are spatially related to the color pixel; and

generating each color pixel for each 2×2 basic pixel block in the output image by averaging a selection of pixels of the Bayer domain image within the area of support for the color pixel.

23. The computer readable recordable type medium of claim 22 , wherein defining the area of support for each G pixel in the 2×2 basic pixel block comprises selecting a diamond shaped area of the Bayer domain image containing pixels that are spatially close to the G pixel.

24. The computer readable recordable type medium of claim 22 , wherein the 2×2 basic pixel block comprises a Red (R) pixel, a Blue (B) pixel, and two Green (G) pixels in one of the following pixel configurations:

(a) a 2×2 block with the upper left corner containing an R pixel, the upper right corner containing a G pixel, the lower left corner containing a G pixel, and the lower right corner containing a B pixel; or

(b) a 2×2 block with the upper left corner containing a G pixel, the upper right corner containing a R pixel, the lower left corner containing a B pixel, and the lower right corner containing an G pixel;

(c) a 2×2 block with the upper left corner containing an B pixel, the upper right corner containing a G pixel, the lower left corner containing a G pixel, and the lower right corner containing a R pixel; or

(d) a 2×2 block with the upper left corner containing a G pixel, the upper right corner containing a B pixel, the lower left corner containing a R pixel, and the lower right corner containing an G pixel;

wherein defining the area of support for the R and B pixels in the 2×2 basic pixel block comprises selecting a rectangular area of the Bayer domain image containing pixels that are spatially close to the R and B pixels, respectively.

Assignments (5)
SECURITY INTEREST Recorded Jul 31, 2024
From: IMAGINATION TECHNOLOGIES LIMITED
To: FORTRESS INVESTMENT GROUP (UK) LTD
Reel/Frame 068221/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 26, 2013
From: METAGENCE TECHNOLOGIES LIMITED
To: IMAGINATION TECHNOLOGIES LIMITED
Reel/Frame 031683/0028 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 25, 2013
From: NETHRA IMAGING, INC
To: METAGENCE TECHNOLOGIES LIMITED
Reel/Frame 031672/0731 →
SECURITY AGREEMENT Recorded Jun 30, 2010
From: NETHRA IMAGING, INC.
To: ARM LIMITED
Reel/Frame 024611/0288 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 26, 2006
From: WONG, PING WAH
To: NETHRA IMAGING, INC.
Reel/Frame 017524/0766 →
Continuity (1)
Related Publication 20070172117A1 · Jul 26, 2007