US8224109B2ActiveUtilityA1

Method and relative device for estimating white gaussian noise that corrupts a digital image

80
Assignee: BOSCO ANGELOPriority: Oct 6, 2006Filed: Oct 5, 2007Granted: Jul 17, 2012
Est. expiryOct 6, 2026(~0.2 yrs left)· nominal 20-yr term from priority
G06V 10/30G06T 7/90G06T 2207/20021G06T 2207/10024G06T 5/70
80
PatentIndex Score
17
Cited by
23
References
26
Claims

Abstract

A method for estimating the white Gaussian noise level that corrupts a digital image by discriminating homogeneous blocks from blocks containing a textured area and skipping these last blocks when evaluating the noise standard deviation.

Claims

exact text as granted — not AI-modified
1. A method of automatically estimating white Gaussian noise that corrupts a digital image, comprising the steps of:
 a) subdividing the image to be processed in blocks; 
 b) determining a maximum standard deviation of absolute values of differences among pixels of a block; 
 c) for each pixel of the block, performing the steps of:
 c1) calculating absolute values of differences of intensities between the pixel and homogeneous pixels contained in a working window centered on the pixel; 
 c2) comparing the absolute values of differences with a threshold based on the maximum standard deviation of the block; and 
 c3) classifying the pixel as belonging to a homogeneous portion of the image if the absolute values of the differences are all smaller than the threshold; 
 
 d) determining a standard deviation of noise for the block based on pixels classified as belonging to homogeneous portions of the image, wherein pixels which are not classified as homogeneous are not considered in determining the standard deviation of noise for the block; and 
 e) setting a maximum standard deviation of differences between pixels for a successive block to be processed and repeating steps c) through d) for the successive block. 
 
     
     
       2. A method of automatically estimating white Gaussian noise that corrupts a digital image, comprising the steps of:
 a) subdividing the image to be processed in blocks; 
 b) determining a maximum standard deviation of absolute values of differences among pixels of a block; 
 c) for each pixel of the block, performing the steps of:
 c1) calculating absolute values of differences of intensities between the pixel and homogeneous pixels contained in a working window centered on the pixel; 
 c2) comparing the absolute values of differences with a threshold based on the maximum standard deviation of the block; and 
 c3) classifying the pixel as belonging to a homogeneous portion of the image if the absolute values of the differences are all smaller than the threshold; 
 
 d) determining a standard deviation of noise for the block based on pixels classified as belonging to homogenous portions of the image; and 
 e) setting a maximum standard deviation of differences between pixels for a successive block to be processed and repeating steps c) through d) for the successive block, wherein setting the maximum standard deviation of the successive block to be processed comprises setting the maximum standard deviation for the successive block equal to the maximum standard deviation of the previous block. 
 
     
     
       3. The method of  claim 1 , wherein setting the maximum standard deviation for the successive block to be processed comprises multiplying the standard deviation established at point d) for the previous block by a square root of 2. 
     
     
       4. The method according to  claim 1 , wherein step d) comprises:
 d1) storing the absolute values of the differences in respect to the pixel; and 
 d2) estimating the noise standard deviation on the block as a standard deviation of the stored absolute values divided by a square root of two. 
 
     
     
       5. The method according to  claim 1 , wherein said step d) comprises:
 d1) establishing at least a lower threshold σ 0  and an upper threshold σ 1 ; 
 d2) comparing the absolute value of each of said differences with the lower threshold σ 0  and the upper threshold σ 1 ; 
 d3) counting a number of absolute values of said differences that do not exceed said lower threshold; 
 d4) counting a number of absolute values of said differences that do not exceed said upper threshold; 
 d5) counting a number of absolute values of said differences that do not exceed said maximum standard deviation; and 
 d6) estimating said standard deviation by interpolating between said lower and upper threshold as a value divided by the square root of two corresponding to a threshold percentage of the number of absolute values of said differences that do not exceed said maximum standard deviation. 
 
     
     
       6. The method of  claim 5 , wherein said threshold percentage is 68%. 
     
     
       7. The method of  claim 5 , wherein said lower and upper thresholds and said maximum standard deviation are determined based on a bit-depth and of a size of the image. 
     
     
       8. The method of  claim 5 , further comprising the step of limiting the countings carried out at steps d3), d4) and d5) to a maximum value. 
     
     
       9. The method of  claim 5 , comprising the step of establishing the lower threshold σ 0  and the upper threshold σ 1  for the successive block to be processed such that the value corresponding to the threshold percentage is a mean value between the lower and upper thresholds. 
     
     
       10. The method of  claim 1 , further comprising receiving the digital image from a color filter array circuit for Bayer images. 
     
     
       11. The method of  claim 1 , further comprising filtering white Gaussian noise from the image based on the determined standard deviations of noise for the blocks of the image. 
     
     
       12. A non-transitory computer-readable memory medium storing instructions for causing a processor to perform a method, the method comprising:
 dividing a digital image into a plurality of blocks; and 
 for each block of the digital image,
 selecting a threshold control value for the block in the plurality of blocks; 
 comparing intensities of pixels in the block to the threshold control value; 
 selecting a set of pixels in the block based on the comparison; and 
 determining a standard deviation of noise for the block based on the set of selected pixels, without considering pixels excluded from the set of selected pixels, the determining the standard deviation of noise for the block including:
 comparing absolute values of differences of the intensities of pixels in the selected set of pixels and the threshold control value for the block with a lower threshold and an upper threshold; 
 counting a number of absolute values of the differences that are below the lower threshold; 
 counting a number of absolute values of the differences that are below the upper threshold; and 
 counting a number of absolute values differences that are below the threshold control value. 
 
 
 
     
     
       13. The non-transitory computer-readable memory medium of  claim 12  wherein selecting the threshold control value for the block in the plurality of blocks comprises setting the threshold control value equal to a threshold control value of a previous block. 
     
     
       14. A non-transitory computer-readable memory medium storing instructions for causing a processor to perform a method, the method comprising:
 dividing a digital image into a plurality of blocks; 
 for each block of the digital image,
 selecting a threshold control value for the block in the plurality of blocks; 
 comparing intensities of pixels in the block to the threshold control value; 
 selecting a set of pixels in the block based on the comparison; 
 determining a standard deviation of noise for the block based on the set of selected pixels, without considering pixels excluded from the set of selected pixels; and 
 setting a threshold control value for a successive block equal to the determined standard deviation for the block multiplied by a square root of 2. 
 
 
     
     
       15. The non-transitory computer-readable memory medium of  claim 14  wherein determining the standard deviation of noise for the block based on the set of selected pixels comprises:
 comparing absolute values of differences of the intensities of pixels in the selected set of pixels and the threshold control value for the block with a lower threshold and an upper threshold; 
 counting a number of absolute values of the differences that are below the lower threshold; 
 counting a number of absolute values of the differences that are below the upper threshold; and 
 counting a number of absolute values of the differences that are below the threshold control value. 
 
     
     
       16. A system for processing digital images, the system comprising:
 means for dividing an image into a plurality of blocks of pixels; 
 means for selecting pixels in a block of pixels of the plurality based on intensity levels of the pixels in the block of pixels; 
 means for generating an indication of a noise level of the block in the image based on the selected pixels in the block, without considering pixels excluded from the selected pixels; 
 means for generating a filter control signal coupled to the means for generating an indication of the noise level of the block; and 
 means for filtering the image coupled to the means for generating the filter control signal, wherein the means for generating the filter control signal is configured to provide a feedback signal to the means for generating an indication of the noise level of the block. 
 
     
     
       17. A system for processing digital images, the system comprising:
 means for selecting pixels in a block of pixels based on intensity levels of the pixels in the block of pixels; 
 means for generating an indication of a noise level of a block in an image based on the selected pixels in the block; 
 means for generating a filter control signal coupled to the means for generating an indication of the noise level of the block; and 
 means for filtering the image coupled to the means for generating the filter control signal, wherein the means for generating the filter control signal is configured to provide a feedback signal to the means for generating an indication of the noise level of the block. 
 
     
     
       18. The system of  claim 16  wherein the indication of the noise level is an estimated standard deviation of noise for the block. 
     
     
       19. The system of  claim 16 , further comprising a sensor coupled to the means for selecting pixels and the means for filtering the image. 
     
     
       20. An image processor, comprising:
 one or more processing devices configured to implement:
 a noise statistics collector configured to compare pixels in a block of pixels in a digital image to a threshold noise control value, to select pixels in the block of pixels based on the comparison and to generate an indication of a noise level of the block based on the selected pixels, without considering non-selected pixels in the generation of the indication of the noise level of the block; 
 a control signal generator coupled to the noise statistics collector and configured to generate a filter control signal; and 
 a filter coupled to the control signal generator, wherein the control signal generator is further configured to provide a feedback signal to the noise statistics collector. 
 
 
     
     
       21. An image processor, comprising:
 one or more processing devices configured to implement:
 a noise statistics collector configured to compare pixels in a block of pixels in a digital image to a threshold noise control value, to select pixels in the block of pixels based on the comparison and to generate an indication of a noise level of the block based on the selected pixels; 
 a control signal generator coupled to the noise statistics collector and configured to generate a filter control signal; and 
 a filter coupled to the control signal generator, wherein the control signal generator is further configured to provide a feedback signal to the noise statistics collector. 
 
 
     
     
       22. The image processor of  claim 21  wherein the noise statistics collector is configured to adjust the threshold noise control value based on the feedback signal. 
     
     
       23. The method according to  claim 2  wherein step d) comprises:
 d1) storing the absolute values of the differences in respect to the pixel; and 
 d2) estimating the noise standard deviation on the block as a standard deviation of the stored absolute values divided by a square root of two. 
 
     
     
       24. The method according to  claim 2  wherein said step d) comprises:
 d1) establishing at least a lower threshold σ 0  and an upper threshold σ 1 ; 
 d2) comparing the absolute value of each of said differences with the lower threshold σ 0  and the upper threshold σ 1 ; 
 d3) counting a number of absolute values of said differences that do not exceed said lower threshold; 
 d4) counting a number of absolute values of said differences that do not exceed said upper threshold; 
 d5) counting a number of absolute values of said differences that do not exceed said maximum standard deviation; and 
 d6) estimating said standard deviation by interpolating between said lower and upper threshold as a value divided by the square root of two corresponding to a threshold percentage of the number of absolute values of said differences that do not exceed said maximum standard deviation. 
 
     
     
       25. The system of  claim 17  wherein the indication of the noise level is an estimated standard deviation of noise for the block. 
     
     
       26. The system of  claim 17 , further comprising a sensor coupled to the means for selecting pixels and the means for filtering the image.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.