IP Library Granted Patent US 8,374,433
Granted Patent B2
US 8,374,433 · App. 13/361,868 · Granted Feb 12, 2013

Apparatus, method, and manufacture for correcting color shading in CMOS image sensors

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 8,374,433
App. No.
13/361,868
Granted
Feb 12, 2013
Kind
B2
Abstract

A device for color shading correction is provided. Local color matching is performed as follows. For each pixel of the image that is being color matched, the RGB value is treated as a one-by-three matrix, which is multiplied by a three-by-three matrix that is generated during factory calibration. The matrix product is a one-by-three matrix that is used as the RGB value for the pixel in the color matched image.

Claims (54)

1. A device, comprising:

memory having stored thereon a matrix map; and

a processor being configured to perform actions, including:

receiving a red-green-blue (RGB) image having a plurality of pixels;

performing local color matching on the RGB image to generate a color-matched image, by, for each pixel in the color matching input image:

obtaining a three-by-three matrix from the matrix map;

generating an RGB pixel value at a pixel location in the color-matched image by multiplying an RGB three-tuple pixel value as a one-by-three matrix for that pixel from the RGB image with the three-by-three matrix from the matrix map for the pixel location of the pixel; and

generating an output image from the color-matched image by performing matrix multiplication on each pixel of the color-matched image using a selectable constant three-by-three matrix.

2. The device of claim 1 , wherein obtaining the three-by-three matrix from the matrix map, further comprises: when it is determined that the matrix map does not include a three-by-three matrix at the pixel location, using interpolation to generate the three-by-three matrix for the location based on at least two locations on the matrix map near the pixel location.

3. The device of claim 1 , wherein the matrix map is generated based on a plurality of calibrations on a plurality of sensors used to receive an image in part by:

for each test image within a plurality of test images:

selecting a pixel within a given test image as a reference pixel;

identifying a source color for each pixel as a source color for a location of the pixel;

employing an RGB value at the reference pixel as a target color for the location of the pixel; and

determining the matrix map from a transforming matrix that is configured to match the source color for the location of the pixel to the target color for the location of the pixel.

4. The device of claim 3 , wherein each test image is selected based in part on a plurality of colors to be calibrated.

5. The device of claim 3 , wherein at least one test image is corrected for gray shading or white balance.

6. The device of claim 3 , wherein at least one test image is down-scaled using sparse matrix sampling, with uniform sampling such that a distance between adjacent samples along an axis is constant.

7. The device of claim 1 , wherein obtaining the three-by-three matrix from the matrix map, further comprises extracting from the matrix map the three-by-three matrix at the pixel location.

8. A processor based method, comprising:

storing in memory a matrix map representing a calibration of image receiving sensors; and

performing actions on the processor that includes:

receiving a red-green-blue (RGB) image having a plurality of pixels;

performing local color matching on the RGB image to generate a color-matched image, by, for each pixel in the color matching input image:

obtaining a three-by-three matrix from the matrix map;

generating an RGB pixel value at a pixel location in the color-matched image by multiplying an RGB three-tuple pixel value as a one-by-three matrix for that pixel from the RGB image with the three-by-three matrix for the pixel location of the pixel; and

generating an output image from the color-matched image by performing matrix multiplication on each pixel of the color-matched image using a selectable constant three-by-three matrix.

9. The method of claim 8 , wherein obtaining the three-by-three matrix from the matrix map, further comprises: when it is determined that the matrix map does not include a three-by-three matrix at the pixel location, using interpolation to generate the three-by-three matrix for the location based on at least two locations on the matrix map near the pixel location.

10. The method of claim 8 , wherein the matrix map is generated based on a plurality of calibrations on a plurality of sensors used to receive an image in part by:

for each test image within a plurality of test images:

selecting a pixel within a given test image as a reference pixel;

identifying a source color for each pixel as a source color for a location of the pixel;

employing an RGB value at the reference pixel as a target color for the location of the pixel; and

determining the matrix map from a transforming matrix that is configured to match the source color for the location of the pixel to the target color for the location of the pixel.

11. The method of claim 8 , wherein for each pixel in the color matching input image further performing black level compensation.

12. The method of claim 8 , wherein the matrix map is generated to match a source color for each location of a pixel to a target color for the each location of the pixel.

13. The method of claim 8 , wherein the matrix map is determined from a plurality of test images, and wherein at least one test image is down-scaled using sparse matrix sampling, with uniform sampling such that a distance between adjacent samples along an axis is constant.

14. The method of claim 13 , wherein at least one test image is further corrected for at least one of gray shading or white balance.

15. An article of manufacture including a non-transitory processor-readable device having processor-executable code stored therein, which when executed by one or more processors, enables actions, comprising:

receiving a red-green-blue (RGB) image having a plurality of pixels;

performing local color matching on the RGB image to generate a color-matched image, by, for each pixel in the color matching input image:

obtaining a three-by-three matrix from a matrix map;

generating an RGB pixel value at a pixel location in the color-matched image by multiplying an RGB three-tuple pixel value as a one-by-three matrix for that pixel from the RGB image with the three-by-three matrix for the pixel location of the pixel; and

generating an output image from the color-matched image by performing matrix multiplication on each pixel of the color-matched image using a selectable constant three-by-three matrix.

16. The article of manufacture of claim 15 , wherein for each pixel in the color matching input image further performing black level compensation.

17. The article of manufacture of claim 15 , wherein obtaining the three-by-three matrix from the matrix map, further comprises: when it is determined that the matrix map does not include a three-by-three matrix at the pixel location, using interpolation to generate the three-by-three matrix for the location based on at least two locations on the matrix map near the pixel location.

18. The article of manufacture of claim 15 , wherein the matrix map is generated based on a plurality of calibrations on a plurality of sensors used to receive an image in part by:

for each test image within a plurality of test images:

selecting a pixel within a given test image as a reference pixel;

identifying a source color for each pixel as a source color for a location of the pixel;

employing an RGB value at the reference pixel as a target color for the location of the pixel; and

determining the matrix map from a transforming matrix that is configured to match the source color for the location of the pixel to the target color for the location of the pixel.

19. The article of manufacture of claim 15 , wherein the matrix map is generated based on a calibration of a plurality of sensors used to receive an image.

20. The article of manufacture of claim 15 , wherein the matrix map is generated to match a source color for each location of a pixel to a target color for the each location of the pixel.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 13, 2017
From: QUALCOMM TECHNOLOGIES, INC.
To: QUALCOMM INCORPORATED
Reel/Frame 041694/0336 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 11, 2014
From: CSR TECHNOLOGY INC.
To: QUALCOMM TECHNOLOGIES, INC.
Reel/Frame 033134/0007 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 30, 2012
From: ZORAN CORPORATION
To: CSR TECHNOLOGY INC.
Reel/Frame 027620/0556 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 30, 2012
From: SIMSON, YONATAN SHLOMO; BAXANSKY, ARTEMY
To: ZORAN CORPORATION
Reel/Frame 027620/0646 →