IP Library Granted Patent US 9,807,324
Granted Patent B2
US 9,807,324 · App. 14/972,538 · Granted Oct 31, 2017

Methods for correcting bad pixels and apparatuses using the same

Inventor: Weiman Kong (Beijing, CN)
Assignee: VIA ALLIANCE SEMICONDUCTOR CO., LTD.
H04N5/367H04N5/225H04N5/3675H04N5/378H04N9/045
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 9,807,324
App. No.
14/972,538
Granted
Oct 31, 2017
Kind
B2
Abstract

A method for correcting bad pixels, performed by a processing unit, at least contains: reading a block of a frame; labeling each pixel of the block as a good pixel, a weak pixel, or a bad pixel; detecting a weak-pixel pair from the block, which includes two pixels labeled as weak pixels; re-labeling the pixels of the weak-pixel pair as bad pixels converted from weak pixels; and correcting the pixels labeled as the bad pixels, and the bad pixels converted from weak pixels.

Claims (54)

1. A method for correcting bad pixels, performed by a processing unit, the method comprising:

reading a block of a frame;

labeling each pixel of the block as a good pixel, a weak pixel, or a bad pixel;

detecting a weak-pixel pair from the block, wherein the weak-pixel pair includes two pixels labeled as weak pixels;

re-labeling the pixels of the weak-pixel pair as bad pixels converted from weak pixels; and

correcting the pixels labeled as the bad pixels, and the bad pixels converted from weak pixels,

wherein the step of labeling each pixel of the block as a good pixel, a weak pixel, or a bad pixel is performed according to information indicating a total amount of surrounding pixels of a full-channel block, which significantly differ from said pixel, and a total amount of surrounding pixels of a same-channel block, which significantly differ from said pixel.

2. The method of claim 1 , wherein the frame is a Bayer pattern image, the block comprises m×m full-channel pixels, and the step of labeling each pixel of the block as a good pixel, a weak pixel, or a bad pixel further comprises:

obtaining n×n full-channel pixels surrounding a detected pixel as an inner block and n×n same-channel pixels surrounding the detected channel as an outer block, where m is greater than n;

obtaining a final inner-counter indicating a total amount of surrounding pixels of the inner block, which significantly differ from the detected pixel;

obtaining a final outer-counter indicating a total amount of surrounding pixels of the outer block, which significantly differ from the detected pixel; and

labeling the detected pixel as a good pixel, a weak pixel, or a bad pixel, according to the final inner-counter and the final outer-counter.

3. The method of claim 2 , wherein the step of obtaining the final inner-counter indicating a total amount of surrounding pixels of the inner block, which significantly differ from the detected pixel, further comprises:

using a first inner counter to record a first total amount of the surrounding pixels of the inner block, which positively differ from the detected pixel over a predefined threshold;

using a second inner counter to record a second total amount of the surrounding pixels of the inner block, which negatively differ from the detected pixel over the predefined threshold; and

treating the maximum of the first and second total amounts as the final inner-counter.

4. The method of claim 2 , wherein the step of obtaining the final outer-counter indicating a total amount of surrounding pixels of the outer block, which significantly differ from the detected pixel, further comprises:

using a first outer counter to record a third total amount of the surrounding pixels of the outer block, which positively differ from the detected pixel over a predefined threshold;

using a second outer counter to record a fourth total amount of the surrounding pixels of the outer block, which negatively differ from the detected pixel over the predefined threshold; and

treating the maximum of the third and fourth total amounts as the final outer-counter.

5. The method of claim 2 , further comprising:

determining whether the block comprises a texture; and

labeling the detected pixel as the good pixel when the block comprises the texture.

6. The method of claim 2 , wherein the step of labeling the detected pixel as a good pixel, a weak pixel, or a bad pixel according to the final inner-counter and the final outer-counter further comprises:

labeling the detected pixel as the weak pixel when the final outer-counter is a first value.

7. The method of claim 2 , wherein the step of labeling the detected pixel as a good pixel, a weak pixel, or a bad pixel according to the final inner-counter and the final outer-counter further comprises:

labeling the detected pixel as the bad pixel when the final outer-counter is a second value and the final inner counter is a third value;

labeling the detected pixel as the bad pixel when the final outer-counter is the third value; and

labeling the detected pixel as the good pixel when the final outer-counter equals or is less than the second value,

wherein the second value is less than the third value.

8. The method of claim 1 , wherein the step of detecting a weak-pixel pair from the block further comprises:

obtaining a plurality of pixel flags of the block;

obtaining a labeled block containing n×n full-channel pixels, wherein the detected pixel labeled as the weak pixel is a vertex-location pixel of the labeled block; and

determining that the labeled block comprises the weak-pixel pair when the labeled block comprises only two weak pixels of the same channel.

9. The method of claim 8 , wherein the step of re-labeling the pixels of the weak-pixel pair as bad pixels converted from weak pixels further comprises:

obtaining a search block containing m×m full-channel pixels, wherein the detected pixel labeled as the weak pixel is the center of the search block, where m is greater than n; and

re-labeling the pixels of the weak-pixel pair as the bad pixels converted from weak pixels when the pixel flags indicate that the search block comprises only one bad pixel.

10. The method of claim 8 , wherein the step of re-labeling the pixels of the weak-pixel pair as bad pixels converted from weak pixels further comprises:

obtaining a search block containing m×m full-channel pixels, wherein the detected pixel labeled as the weak pixel is the center of the search block, where m is greater than n; and

re-labeling the pixels of the weak-pixel pair as the bad pixels converted from weak pixels when locations of the weak pixels of the weak-pixel pair in conjunction with the location of the bad pixel form a continuity.

11. The method of claim 1 , further comprising:

using a pixel flag to store information regarding each pixel being labeled as a good pixel, a weak pixel, or a bad pixel.

12. An apparatus for correcting bad pixels, comprising:

a camera module controller, coupled to a camera module;

a processing unit, coupled to the camera module controller, obtaining a frame via the camera module controller; reading a block from the frame; labeling each pixel of the block as a good pixel, a weak pixel, or a bad pixel; detecting a weak-pixel pair from the block, wherein the weak-pixel pair includes two pixels labeled as weak pixels; re-labeling the pixels of the weak-pixel pair as bad pixels converted from weak pixels; and correcting the pixels labeled as the bad pixel, and the bad pixels converted from weak pixels,

wherein the processing unit labels each pixel of the block as the good pixel, the weak pixel, or the bad pixel according to information indicating a total amount of surrounding pixels of a full-channel block, which significantly differ from said pixel, and a total amount of surrounding pixels of a same-channel block, which significantly differ from said pixel.

13. The apparatus of claim 12 , wherein the frame is a Bayer pattern image, the block comprises m×m full-channel pixels and the processing unit obtains n×n full-channel pixels surrounding a detected pixel as an inner block and n×n same-channel pixels surrounding the detected channel as an outer block, where m is greater than n; obtains a final inner-counter indicating a total amount of surrounding pixels of the inner block, which significantly differ from the detected pixel; obtains a final outer-counter indicating a total amount of surrounding pixels of the outer block, which significantly differ from the detected pixel; and labels the detected pixel as a good pixel, a weak pixel, or a bad pixel according to the final inner-counter and the final outer-counter.

14. The apparatus of claim 13 , wherein the processing unit further uses a first inner counter to record a first total amount of the surrounding pixels of the inner block, which positively differ from the detected pixel over a predefined threshold; uses a second inner counter to record a second total amount of the surrounding pixels of the inner block, which negatively differ from the detected pixel over the predefined threshold; and treats the maximum of the first and second total amounts as the final inner-counter.

15. The apparatus of claim 13 , wherein the processing unit further uses a first outer counter to record a third total amount of the surrounding pixels of the outer block, which positively differ from the detected pixel over a predefined threshold; uses a second outer counter to record a fourth total amount of the surrounding pixels of the outer block, which negatively differ from the detected pixel over the predefined threshold; and treats the maximum of the third and fourth total amounts as the final outer-counter.

16. The apparatus of claim 13 , wherein the processing unit further determines whether the block comprises a texture; and labels the detected pixel as the good pixel when the block comprises the texture.

17. The apparatus of claim 13 , wherein the processing unit further labels the detected pixel as the weak pixel when the final outer-counter is a first value.

18. The apparatus of claim 13 , wherein the processing unit further labels the detected pixel as the bad pixel when the final outer-counter is a second value and the final inner counter is a third value; labels the detected pixel as the bad pixel when the final outer-counter is the third value; and labels the detected pixel as the good pixel when the final outer-counter equals or is less than the second value, where the second value is less than the third value.

19. The apparatus of claim 12 , wherein the processing unit further obtains a plurality of pixel flags of the block; obtains a labeled block containing n×n full-channel pixels, wherein the detected pixel labeled as the weak pixel is a vertex-location pixel of the labeled block; and determines that the labeled block comprises the weak-pixel pair when the labeled block comprises only two weak pixels of the same channel.

20. The apparatus of claim 19 , wherein the processing unit further obtains a search block containing m×m full-channel pixels, wherein the detected pixel labeled as the weak pixel is the center of the search block, where m is greater than n; and re-labels the pixels of the weak-pixel pair as the bad pixels converted from weak pixels when the pixel flags indicate that the search block comprises only one bad pixel.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 18, 2021
From: SHANGHAI ZHAOXIN SEMICONDUCTOR CO., LTD.
To: GLENFLY TECH CO., LTD.
Reel/Frame 058965/0042 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 17, 2015
From: KONG, WEIMAN
To: VIA ALLIANCE SEMICONDUCTOR CO., LTD.
Reel/Frame 037316/0099 →
Priority Claims (1)
CN 2015 1 0547136 · Aug 31, 2015 · national
Continuity (1)
Related Publication 20170064228A1 · Mar 2, 2017