IP Library Granted Patent US 7,683,948
Granted Patent B2
US 7,683,948 · App. 11/095,447 · Granted Mar 23, 2010

System and method for bad pixel replacement in image processing

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,683,948
App. No.
11/095,447
Granted
Mar 23, 2010
Kind
B2
Abstract

A system and method is provided for processing a digital image. The system and method processes image data by replacing bad pixel data in the digital image. Specifically, the system and method replaces bad pixel data in the image data by comparing each pixel to selected neighboring pixels, including pixels of other colors in some cases, and determining if the pixel is likely corrupt, such as from a detective pixel. Corrupted pixels are then replaced using averages, means, maximums, or other statistical functions of select nearby pixels.

Claims (61)

1. A method of processing a digital image in a processor tangibly embodying a program of instructions to perform method steps, the method comprising the steps of:

receiving image data defining the image, the image data including a plurality of pixels, the plurality of pixels including a plurality of green pixels, a plurality of red pixels, and a plurality of blue pixels;

determining for each pixel if the pixel is likely corrupt by comparing each pixel to a plurality of neighboring pixels, wherein the step of determining for each pixel if the pixel is likely corrupt by comparing each pixel to a plurality of neighboring pixels comprises:

for each of the plurality of green pixels:

determining if the green pixel exceeds a plurality of green-neighboring pixels by a first green threshold difference;

determining if the green pixel is less than the plurality of green-neighboring pixels by a second green threshold difference;

for each of the plurality of red pixels:

determining if the red pixel exceeds a plurality of red-neighboring pixels by a first red threshold difference;

determining if the red pixel is less than the plurality of red-neighboring pixels by a second red threshold difference;

determining if an area around the red pixel is locally flat by determining a maximum difference in neighboring green pixels and comparing the maximum difference in neighboring green pixels to a first local flatness threshold;

determining if the area of the red pixel is locally dark by determining a brightness in neighboring green pixels and comparing the brightness to a first brightness threshold; and

for each of the plurality of blue pixels:

determining if the blue pixel exceeds a pair of a plurality of blue-neighboring pixels by a first blue threshold difference;

determining if the blue pixel is less than a pair of the plurality blue-neighboring pixels by a second blue threshold difference;

determining if an area around the blue pixel is locally flat by determining a maximum difference in neighboring green pixels and comparing the maximum difference in neighboring green pixels to a second local flatness threshold;

determining if the area of the blue pixel is locally dark by determining a brightness in neighboring green pixels and comparing the brightness to a second brightness threshold; and

replacing each pixel determined to be likely corrupt with a statistical function of a plurality of nearby pixels.

2. The method of claim 1 wherein the step of replacing each pixel determined to be likely corrupt with a statistical function of a plurality of nearby pixels comprises replacing the pixel with an average of the plurality of nearby pixels.

3. The method of claim 1 wherein the step of replacing each pixel determined to be likely corrupt with a statistical function of a plurality of nearby pixels comprises replacing the pixel with a maximum of the plurality of nearby pixels.

4. The method of claim 1 wherein the step of replacing each pixel determined to be likely corrupt with a statistical function of a plurality of nearby pixels comprises replacing the pixel with a mean of the plurality of nearby pixels.

5. The method of claim 1

wherein the step of replacing each pixel determined to be likely corrupt with a statistical function of a plurality of nearby pixels comprises replacing each green pixel determined to be likely corrupt with an average of a plurality of nearby pixels.

6. The method of claim 5 wherein the plurality of green-neighboring pixels comprise four closest green pixels and wherein the step of replacing each pixel determined to be likely corrupt with a statistical function of a plurality of nearby pixels comprises replacing green pixels determined to be likely corrupt with an average of the four closest green pixels.

7. The method of claim 1

wherein the step of replacing each pixel determined to be likely corrupt with a statistical function of a plurality of nearby pixels comprises replacing each red pixel determined to be likely corrupt with a statistical function of a plurality of nearby pixels.

8. The method of claim 7 wherein the plurality of red-neighboring pixels comprise two green pixels and two red pixels and wherein the step of replacing each pixel determined to be likely corrupt with a statistical function of a plurality of nearby pixels comprises replacing red pixels determined to be likely corrupt with a mean of two green pixels and two red pixels.

9. The method of claim 7 wherein the statistical function of a plurality of nearby pixels comprises a maximum of the plurality of nearby pixels if the red pixel exceeds the plurality of neighboring pixels by the first red threshold difference, and wherein the statistical function of a plurality of nearby pixels comprises a maximum of the plurality of nearby pixels if the red pixel exceeds the plurality of neighboring pixels by the first red threshold difference and if the red pixel is in a locally flat area or a locally dark area, and wherein the statistical function of a plurality of nearby pixels comprises a mean the plurality of nearby pixels if the red pixel is less than the plurality neighboring pixels by the second red threshold difference, and wherein the statistical function of a plurality of nearby pixels comprises a mean of the plurality of nearby pixels if the red pixel is less than the plurality neighboring pixels by the second red threshold difference and if the red pixel is in a locally flat area.

10. The method of claim 1

wherein the step of replacing each pixel determined to be likely corrupt with a statistical function of a plurality of nearby pixels comprises replacing each blue pixel determined to be likely corrupt with a statistical function of a plurality of nearby pixels.

11. The method of claim 10 wherein the plurality of blue-neighboring pixels comprise four blue pixels, and wherein the step of replacing each pixel determined to be likely corrupt with a statistical function of a plurality of nearby pixels comprises replacing blue pixels determined to be likely corrupt with a mean of four blue pixels.

12. The method of claim 10 wherein the statistical function of a plurality of nearby pixels comprises a maximum of the plurality of nearby pixels if the blue pixel exceeds the plurality of neighboring pixels by the first blue threshold difference and if the blue pixel is in a locally flat area or a locally dark area, and wherein the statistical function of a plurality of nearby pixels comprises a mean of the plurality of nearby pixels if the blue pixel is less than the plurality neighboring pixels by the second blue threshold difference and if the blue pixel is in a locally flat area, and wherein the statistical function of a plurality of nearby pixels comprises a mean of the plurality of nearby pixels if the blue pixel is less than the plurality neighboring pixels by the second blue threshold difference and if the blue pixel is in a locally flat area and if the blue pixel is in a locally dark area.

13. A method of processing an a digital image in a digital camera, the method comprising the steps of:

generating image data defining the image with the digital camera, the image data including a plurality of pixels;

for each green pixel in the plurality of pixels, replacing likely corrupt green pixels by:

determining if a green pixel exceeds first selected green-neighboring pixels by a first green threshold difference and replacing the green pixel with an average of first selected green-nearby pixels if the green pixel exceeds the first selected green-neighboring pixels by the first green threshold difference; and

determining if the green pixel is less than second selected green-neighboring pixels by a second green threshold difference and replacing the green pixel with an average of selected green-nearby pixels if the green pixel is less than the second selected green-neighboring pixels by the second green threshold difference; and

for each red pixel in the plurality of pixels, replacing likely corrupt red pixels by:

determining if a red pixel exceeds first selected red-neighboring pixels by a first red threshold difference and replacing the red pixel with a maximum of first selected red-nearby pixels if the red pixel exceeds the first selected red-neighboring pixels by the first red threshold difference; and

determining if the red pixel exceeds second selected red-neighboring pixels by a second red threshold difference and determining if the red pixel is in a locally flat area and determining if the red pixel is in a locally dark area and replacing the red pixel with a maximum of second selected red-nearby pixels if the red pixel exceeds the second selected red-neighboring pixels by the second red threshold difference and if the red pixel is in a locally flat area or a locally dark area; and

determining if the red pixel is less than third selected red-neighboring pixels by a third red threshold difference and replacing the red pixel with a mean of third selected red-nearby pixels if the red pixel is less than the third selected red-neighboring pixels by the third red threshold difference; and

determining if the red pixel is less than fourth selected red-neighboring pixels by a fourth red threshold difference and determining if the red pixel is in a locally flat area and replacing the red pixel with a mean of fourth selected red-nearby pixels if the red pixel is less than the fourth selected red-neighboring pixels by the fourth red threshold difference and if the red pixel is in a locally flat area; and

for each blue pixel in the plurality of pixels, replacing likely corrupt blue pixels by:

determining if a blue pixel exceeds any pair of first selected blue-neighboring pixels by a first blue threshold difference determining if the blue pixel is in a locally flat area and determining if the blue pixel is in a locally dark area and replacing the blue pixel with a mean of first selected blue-nearby pixels if the blue pixel exceeds the first selected blue-neighboring pixels by the first blue threshold difference and if the blue pixel is in a locally flat area or a locally dark area; and

determining if the blue pixel is less than second selected blue-neighboring pixels by a second blue threshold difference and determining if the blue pixel is in a locally flat area and replacing the blue pixel with a mean of second selected blue-nearby pixels if the blue pixel is less than the second selected blue-neighboring pixels by the second blue threshold difference and if the blue pixel is in a locally flat area; and

determining if the pixel is less than third selected blue-neighboring pixels by a third blue threshold difference and determining if the blue pixel is in a locally flat area and determining if the blue pixel is in a locally dark area and replacing the blue pixel with a mean of third selected blue-nearby pixels if the blue pixel is less than the third selected blue-neighboring pixels by the third blue threshold difference if the blue pixel is in a locally flat area and in a locally dark area.

14. The method of claim 13 wherein the plurality of red-nearby pixels comprise two green pixels and two red pixels.

15. A processor, tangibly embodying a program of instructions to perform method steps for digital image processing, comprising the machine executed steps of:

receiving image data defining the image, the image data including a plurality of pixels;

for each green pixel in the plurality of pixels, replacing likely corrupt green pixels by:

determining if a green pixel exceeds first selected green-neighboring pixels by a first green threshold difference and replacing the green pixel with an average of first selected green-nearby pixels if the green pixel exceeds the first selected green-neighboring pixels by the first green threshold difference; and

determining if the green pixel is less than second selected green-neighboring pixels by a second green threshold difference and replacing the green pixel with an average of selected green-nearby pixels if the green pixel is less than the second selected green-neighboring pixels by the second green threshold difference; and

for each red pixel in the plurality of pixels, replacing likely corrupt red pixels by:

determining if a red pixel exceeds first selected red-neighboring pixels by a first red threshold difference and replacing the red pixel with a maximum of first selected red-nearby pixels if the red pixel exceeds the first selected red-neighboring pixels by the first red threshold difference; and

determining if the red pixel exceeds second selected red-neighboring pixels by a second red threshold difference and determining if the red pixel is in a locally flat area and determining if the red pixel is in a locally dark area and replacing the red pixel with a maximum of second selected red-nearby pixels if the red pixel exceeds the second selected red-neighboring pixels by the second red threshold difference and if the red pixel is in a locally flat area or a locally dark area; and

determining if the red pixel is less than third selected red-neighboring pixels by a third red threshold difference and replacing the red pixel with a mean of third selected red-nearby pixels if the red pixel is less than the third selected red-neighboring pixels by the third red threshold difference; and

determining if the red pixel is less than fourth selected red-neighboring pixels by a fourth red threshold difference and determining if the red pixel is in a locally flat area and replacing the red pixel with a mean of fourth selected red-nearby pixels if the red pixel is less than the fourth selected red-neighboring pixels by the fourth red threshold difference and if the red pixel is in a locally flat area; and

for each blue pixel in the plurality of pixels, replacing likely corrupt blue pixels by:

determining if a blue pixel exceeds any pair of first selected blue-neighboring pixels by a first blue threshold difference determining if the blue pixel is in a locally flat area and determining if the blue pixel is in a locally dark area and replacing the blue pixel with a mean of first selected blue-nearby pixels if the blue pixel exceeds the first selected blue-neighboring pixels by the first blue threshold difference and if the blue pixel is in a locally flat area or a locally dark area; and

determining if the blue pixel is less than second selected blue-neighboring pixels by a second blue threshold difference and determining if the blue pixel is in a locally flat area and replacing the blue pixel with a mean of second selected blue-nearby pixels if the blue pixel is less than the second selected blue-neighboring pixels by the second blue threshold difference and if the blue pixel is in a locally flat area; and

determining if the pixel is less than third selected blue-neighboring pixels by a third blue threshold difference and determining if the blue pixel is in a locally flat area and determining if the blue pixel is in a locally dark area and replacing the blue pixel with a mean of third selected blue-nearby pixels if the blue pixel is less than the third selected blue-neighboring pixels by the third blue threshold difference if the blue pixel is in a locally flat area and in a locally dark area.

16. The processor of claim 15 wherein the plurality of red-nearby pixels comprise two green pixels and two red pixels.

Assignments (25)
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 11759915 AND REPLACE IT WITH APPLICATION 11759935 PREVIOUSLY RECORDED ON REEL 040925 FRAME 0001. ASSIGNOR(S) HEREBY CONFIRMS THE RELEASE OF SECURITY INTEREST. Recorded Feb 17, 2020
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP, B.V. F/K/A FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 052917/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 11759915 AND REPLACE IT WITH APPLICATION 11759935 PREVIOUSLY RECORDED ON REEL 040928 FRAME 0001. ASSIGNOR(S) HEREBY CONFIRMS THE RELEASE OF SECURITY INTEREST. Recorded Jan 17, 2020
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP B.V.
Reel/Frame 052915/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE APPLICATION 11759915 AND REPLACE IT WITH APPLICATION 11759935 PREVIOUSLY RECORDED ON REEL 037486 FRAME 0517. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT AND ASSUMPTION OF SECURITY INTEREST IN PATENTS. Recorded Dec 10, 2019
From: CITIBANK, N.A.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 053547/0421 →
RELEASE OF SECURITY INTEREST Recorded Sep 10, 2019
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP B.V.
Reel/Frame 050744/0097 →
CORRECTIVE ASSIGNMENT TO CORRECT THE TO CORRECT THE APPLICATION NO. FROM 13,883,290 TO 13,833,290 PREVIOUSLY RECORDED ON REEL 041703 FRAME 0536. ASSIGNOR(S) HEREBY CONFIRMS THE THE ASSIGNMENT AND ASSUMPTION OF SECURITY INTEREST IN PATENTS.. Recorded Feb 20, 2019
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: SHENZHEN XINGUODU TECHNOLOGY CO., LTD.
Reel/Frame 048734/0001 →
CORRECTIVE ASSIGNMENT TO CORRECT THE REMOVE PATENTS 8108266 AND 8062324 AND REPLACE THEM WITH 6108266 AND 8060324 PREVIOUSLY RECORDED ON REEL 037518 FRAME 0292. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT AND ASSUMPTION OF SECURITY INTEREST IN PATENTS. Recorded Feb 1, 2017
From: CITIBANK, N.A.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 041703/0536 →
CORRECTIVE ASSIGNMENT TO CORRECT THE NATURE OF CONVEYANCE LISTED CHANGE OF NAME SHOULD BE MERGER AND CHANGE PREVIOUSLY RECORDED AT REEL: 040652 FRAME: 0180. ASSIGNOR(S) HEREBY CONFIRMS THE MERGER AND CHANGE OF NAME. Recorded Jan 12, 2017
From: FREESCALE SEMICONDUCTOR INC.
To: NXP USA, INC.
Reel/Frame 041354/0148 →
CHANGE OF NAME Recorded Nov 8, 2016
From: FREESCALE SEMICONDUCTOR INC.
To: NXP USA, INC.
Reel/Frame 040652/0180 →
RELEASE OF SECURITY INTEREST Recorded Nov 7, 2016
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP B.V.
Reel/Frame 040928/0001 →
RELEASE OF SECURITY INTEREST Recorded Sep 21, 2016
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: NXP, B.V., F/K/A FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 040925/0001 →
SUPPLEMENT TO THE SECURITY AGREEMENT Recorded Jun 16, 2016
From: FREESCALE SEMICONDUCTOR, INC.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 039138/0001 →
ASSIGNMENT AND ASSUMPTION OF SECURITY INTEREST IN PATENTS Recorded Jan 13, 2016
From: CITIBANK, N.A.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 037518/0292 →
ASSIGNMENT AND ASSUMPTION OF SECURITY INTEREST IN PATENTS Recorded Jan 12, 2016
From: CITIBANK, N.A.
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 037486/0517 →
PATENT RELEASE Recorded Dec 21, 2015
From: CITIBANK, N.A., AS COLLATERAL AGENT
To: FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 037357/0194 →
PATENT RELEASE Recorded Dec 21, 2015
From: CITIBANK, N.A., AS COLLATERAL AGENT
To: FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 037357/0120 →
PATENT RELEASE Recorded Dec 21, 2015
From: CITIBANK, N.A., AS COLLATERAL AGENT
To: FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 037354/0225 →
PATENT RELEASE Recorded Dec 21, 2015
From: CITIBANK, N.A., AS COLLATERAL AGENT
To: FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 037356/0027 →
PATENT RELEASE Recorded Dec 21, 2015
From: CITIBANK, N.A., AS COLLATERAL AGENT
To: FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 037356/0143 →
PATENT RELEASE Recorded Dec 21, 2015
From: CITIBANK, N.A., AS COLLATERAL AGENT
To: FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 037356/0553 →
PATENT RELEASE Recorded Dec 21, 2015
From: CITIBANK, N.A., AS COLLATERAL AGENT
To: FREESCALE SEMICONDUCTOR, INC.
Reel/Frame 037356/0866 →
SECURITY AGREEMENT Recorded Nov 6, 2013
From: FREESCALE SEMICONDUCTOR, INC.
To: CITIBANK, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 031591/0266 →
SECURITY AGREEMENT Recorded Sep 3, 2010
From: FREESCALE SEMICONDUCTOR, INC.
To: CITIBANK, N.A., AS COLLATERAL AGENT
Reel/Frame 024933/0340 →
SECURITY AGREEMENT Recorded Sep 3, 2010
From: FREESCALE SEMICONDUCTOR, INC.
To: CITIBANK, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 024933/0316 →
SECURITY AGREEMENT Recorded Sep 1, 2010
From: FREESCALE SEMICONDUCTOR, INC.
To: CITIBANK, N.A., AS COLLATERAL AGENT
Reel/Frame 024915/0759 →
SECURITY AGREEMENT Recorded Sep 1, 2010
From: FREESCALE SEMICONDUCTOR, INC.
To: CITIBANK, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 024915/0777 →