Abstract:
A method of reducing noise in an image including steps for obtaining a first value for a target pixel, obtaining a respective second value for each neighboring pixel surrounding the target pixel, identifying a spread for the second values, comparing the spread to a threshold value, and, if the spread if below the threshold value, calculating a new value using the second values, and replacing the first value with the new value.

Description:
FIELD OF THE INVENTION 
     The invention relates generally to the field of solid state imager devices, and more particularly to a method and apparatus for noise reduction in a solid state imager device. 
     BACKGROUND OF THE INVENTION 
     Solid state imagers, including charge coupled devices (CCD), CMOS imagers and others, have been used in photo imaging applications. A solid state imager circuit includes a focal plane array of pixel cells, each one of the cells including a photosensor, which may be a photogate, photoconductor or a photodiode having a doped region for accumulating photo-generated charge. 
     One of the most challenging problems for solid state image sensors is noise reduction, especially for sensors with a small pixel size. The effect of noise on image quality increases as pixel sizes continue to decrease and may have a severe impact on image quality. Specifically, noise impacts image quality in smaller pixels because of reduced dynamic range. One of the ways of solving this problem is by improving fabrication processes; the costs associated with such improvements, however, are high. Accordingly, engineers often focus on other methods of noise reduction. One such solution applies noise filters during image processing. There are many complicated noise reduction algorithms which reduce noise in the picture without edge blurring, however, they require huge calculating resources and cannot be implemented in a silicon-on-a-chip application. Most simple noise reduction algorithms blur the edges of the images. 
     Two exemplary methods that may be used for image denoising are briefly discussed herein. The first method includes the use of local smoothing filters, which work by applying a local low-pass filter to reduce the noise component in the image. Typical examples of such filters include averaging, medium and Gaussian filters. One problem associated with local smoothing filters is that they do not distinguish between high frequency components that are part of the image and those created due to noise. As a result, these filters not only remove noise but also blur the edges of the image. 
     A second group of denoising methods work in the spatial frequency domain. These methods typically first convert the image data into a frequency space (forward transform), then filter the transformed image and finally convert the image back into the image space (reverse transform). Typical examples of such filters include DFT filters and wavelength transform filters. The utilization of these filters for image denoising, however, is impeded by the large volume of calculations required to process the image data. Additionally, block artifacts and oscillations may result from the use of these filters to reduce noise. Further, these filters are best implemented in a YUV color space (Y is the luminance component and U and V are the chrominance components). Accordingly, there is a need and desire for an efficient image denoising method and apparatus which do not blur the edges of the image. 
     BRIEF SUMMARY OF THE INVENTION 
     The invention, in various exemplary embodiments, relates to a method and apparatus that allows for image denoising in an imaging device. 
     In accordance with exemplary embodiments of the invention, a method and implementing apparatus for reducing noise in image processing includes steps for obtaining a first value for a target pixel, obtaining a respective second value for each neighboring pixel surrounding the target pixel, identifying a spread for the second values, comparing the spread to a threshold value, and, if the spread if below the threshold value, calculating a new (e.g., average) value using the second values, and replacing the first value with the new value. 
     The exemplary noise filter could be applied either to each color separately in Bayer, Red/Green/Blue (RGB), Cyan/Magenta/Yellow/Key (CMYK), luminance/chrominance (YUV), or other color space. The invention suppresses (or removes) noise introduced by the pixel with digital algorithms without blurring the image. As noise scales with gain, it is possible to scale the correction such that more noise may be suppressed at higher gain levels. Noise suppression will improve both the visual appearance of the image (i.e., smoother surfaces and sharper edges), and later processing such as compression, allowing higher compression ratios. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
       The foregoing and other advantages and features of the invention will be more readily understood from the following detailed description of the invention provided below with reference to the accompanying drawings, in which: 
         FIG. 1  is a top-down view of a conventional microlens and color filter array used in connection with a pixel array; 
         FIG. 2A  depicts an image correction kernel for a red or blue pixel of a pixel array in accordance with the invention; 
         FIG. 2B  depicts a correction kernel for a green pixel of a pixel array in accordance with the invention; 
         FIG. 3  depicts the correction kernel of  FIG. 2A  in more detail; 
         FIG. 4  shows a flowchart of a method for removing pixel noise in accordance with an exemplary method of the invention; 
         FIG. 5  shows a block diagram of an imager constructed in accordance with an exemplary embodiment of the invention; and 
         FIG. 6  shows a processor system incorporating at least one imaging device constructed in accordance with an embodiment of the invention. 
     
    
    
     DETAILED DESCRIPTION OF THE INVENTION 
     In the following detailed description, reference is made to the accompanying drawings, which form a part hereof and show by way of illustration specific embodiments in which the invention may be practiced. These embodiments are described in sufficient detail to enable those skilled in the art to practice the invention, and it is to be understood that other embodiments may be utilized, and that structural, logical, and electrical changes may be made without departing from the spirit and scope of the present invention. The progression of processing steps described is exemplary of the embodiments of the invention; however, the sequence of steps is not limited to that set forth herein and may be changed as is known in the art, with the exception of steps necessarily occurring in a certain order. 
     The term “pixel,” as used herein, refers to a photo-element unit cell containing a photosensor device and associated structures for converting photons to an electrical signal. For purposes of illustration, a small representative three-color pixel array is illustrated in the figures and description herein. However, the invention may be applied to monochromatic imagers as well as to imagers for sensing fewer than three or more than three color components in an array. Accordingly, the following detailed description is not to be taken in a limiting sense, and the scope of the present invention is defined only by the appended claims. 
       FIG. 1  depicts one exemplary conventional color filter array  82 , arranged in a Bayer pattern, covering a pixel array to focus incoming light. It should be understood that, taken alone, a pixel generally does not distinguish one incoming color of light from another and its output signal represents only the intensity of light received, not any identification of color. However, pixels  80 , as discussed herein, are referred to by color (i.e., “red pixel,” “blue pixel,” etc.) when a color filter  81  is used in connection with the pixel array to focus a particular wavelength range of light, corresponding to a particular color, onto the pixels  80 . Accordingly, when the term “red pixel” is used herein, it is referring to a pixel associated with and receiving light through a red color filter; when the term “blue pixel” is used herein, it is referring to a pixel associated with and receiving light through a blue color filter; and when the term “green pixel” is used herein, it is referring to a pixel associated with and receiving light through a green color filter. 
     Figures,  FIGS. 2A and 2B  illustrate parts of pixel arrays  100 ,  110  having an identified target pixel  32   a ,  32   b  that may undergo a corrective method in accordance with the invention. The identified target pixel  32   a  shown in  FIG. 2A  in pixel array  100  may be either a red or a blue pixel. Pixel array  110  shown in  FIG. 2B  has an identified pixel  32   b  that is a green pixel. The invention may also use one kernel applied to four color channels: red pixels, blue pixels, green pixels in a red row, and green pixels in a blue row. 
     In the illustrated examples, it is assumed that the pixel array  100  is associated with a Bayer pattern color filter array  82  ( FIG. 1 ); however, the invention may also be used with other color filter patterns. The color filters  81  focus incoming light of a particular wavelength range onto the underlying pixels  80 . In the Bayer pattern, as illustrated in  FIG. 1 , every other pixel array row consists of alternating red (R) and green (G) colored pixels, while the other rows consist of alternating green (G) and blue (B) color pixels. 
     According to exemplary embodiments of the invention, to denoise pixels, the present invention utilizes signal values of the nearest neighboring pixels of the identified target pixel  32   a ,  32   b . The identified target pixel  32   a ,  32   b  is the pixel currently being processed. The neighboring pixels are collectively referred to herein as an image kernel, shown in  FIGS. 2A and 2B  respectively as kernels  101   a ,  101   b  outlined with a dotted line. A total of eight neighboring pixels are included in each kernel  101   a ,  101   b . It should be noted, that the illustrated correction kernels  101   a ,  101   b  are exemplary, and that other correction kernels may be chosen for pixel arrays using color filter patterns other than the Bayer pattern. In addition, a correction kernel could encompass more or less than eight neighboring pixels, if desired. 
     For kernel  101   a  there are eight pixels (pixels  10 ,  12 ,  14 ,  34 ,  54 ,  52 ,  50 , and  30 ) having the same color as the identified target pixel  32   a . Although it appears that correction kernel  101   a  contains sixteen pixels, it should be noted that half of the pixels are green pixels, whose signals would not be considered for use in the denoising of a red or blue target pixel  32   a . The pixels that make up kernel  101   a  are shown in greater detail in  FIG. 3 . Kernel  101   b  also includes eight pixels (pixels  12 ,  21 ,  23 ,  30 ,  34 ,  41 ,  43 , and  52 ) having the same green color as the identified pixel  32   b.    
     With reference to  FIG. 4 , an exemplary method  200  of the present invention is now described. The method  200  can be carried out by an image processing circuit  280  (described below with reference to  FIG. 5 ). It should be understood that each pixel has a value that represents an amount of light received at the pixel. Although representative of a readout signal from the pixel, the value is a digitized representation of the readout analog signal. These values are represented in the following description as P(pixel) where “P” is the value and “(pixel)” is the pixel number shown in  FIG. 2A  or  2 B. For explanation purposes only, the method  200  is described with reference to the kernel  101   a  and target pixel  32   a  as illustrated in  FIG. 2A . 
     Initially, at step  201 , the target pixel  32   a  being processed is identified. Next, at step  202 , the kernel  101   a  associated with the target pixel  32   a  is selected/identified. After the associated kernel  101   a  is selected, at step  203 , a spread of values P(pixel) of the neighboring pixels  10 ,  12 ,  14 ,  30 ,  34 ,  50 ,  52 ,  54  in kernel  101   a  is calculated. As used in this example, the spread is the absolute value of the difference between the maximum and minimum P(pixel) values for all the neighboring pixels  10 ,  12 ,  14 ,  30 ,  34 ,  50 ,  52 ,  54 . In step  204 , the spread is then compared with a first threshold value. For exemplary purposes only, the first threshold value could be a red threshold value if target pixel  32   a  is a red pixel. If the spread is greater than or equal to the first threshold value, at step  205 , the value P(pixel) for the target pixel  32   a  is maintained and the process is complete for the target pixel  32   a.    
     If, however, the spread is less the first threshold value, at step  206 , the absolute value of the difference between the values P(pixel) for the target pixel  32   a  and each neighboring pixel  10 ,  12 ,  14 ,  30 ,  34 ,  50 ,  52 ,  54  is calculated. At step  207 , for each neighboring pixel  10 ,  12 ,  14 ,  30 ,  34 ,  50 ,  52 ,  54 , the calculated absolute value from step  206  is compared to a second threshold. If the calculated absolute value is less than or equal to the second threshold, the value P(pixel) of the target pixel  32   a  is added to a list of values at step  208 . If, however, the calculated absolute value is greater than the second threshold, then the value P(pixel) of the respective neighboring pixel  10 ,  12 ,  14 ,  30 ,  34 ,  50 ,  52 ,  54  is added to the list of values at step  209 . Subsequently, at step  210 , the average A(pixel) of the values in the list of values is calculated. At step  211 , the value P(pixel) of the target pixel  32   a  is replaced with the calculated average value A(pixel). 
     The method described herein may be carried out on each pixel signal as it is processed. As pixels values are denoised, the values of previously denoised pixels may be used to denoise other pixel values. Thereby, when the method described herein and the values of previously denoised pixels are used to denoise other pixels, the method and apparatus is implemented in a partially recursive manner (pixels are denoised using values from previously denoised pixels). However, the invention is not limited to this implementation and may be implemented in a fully recursive (pixels are denoised using values from other denoised pixels) or non-recursive manner (no pixels having been denoised are used to denoise subsequent pixels). 
     The method  200  described above may also be implemented and carried out, as discussed above, on target pixel  32   b  and associated image correction kernel  101   b . For example, in step  202  kernel  101   b  is selected/identified. After the associated kernel  101   b  is selected for target pixel  32   b , the spread of values of the neighboring pixels  12 ,  21 ,  23 ,  30 ,  34 ,  41 ,  43 ,  52  in kernel  101   b  located around target pixel  32   b  (step  203 ) and the value of target pixel  32   b  are compared to a first threshold (step  204 ). The remaining steps  205 - 211  are carried out as discussed above for the pixels corresponding to kernel  101   b.    
     The above described embodiments may not provide sufficient denoising to remove spurious noise (i.e., noise greater than 6 standard deviations). Accordingly, the invention is better utilized when implemented after the image data has been processed by a filter which will remove spurious noise. 
     The invention is not limited to the above described embodiments. For example, a program embodying the method may be stored on a carrier medium which may include RAM, floppy disk, data transmission, compact disk, etc. and then be executed by an associated processor. For example, the invention may be implemented as a plug-in for existing software applications or it may used on its own. The invention is not limited to the carrier mediums specified herein and the invention may be implemented using any carrier medium as known in the art. 
       FIG. 5  illustrates an exemplary imaging device  300  having an exemplary CMOS pixel array  240 . Row lines of the array  240  are selectively activated by a row driver  245  in response to row address decoder  255 . A column driver  260  and column address decoder  270  are also included in the imaging device  300 . The imaging device  300  is operated by the timing and control circuit  250 , which controls the address decoders  255 ,  270 . The control circuit  250  also controls the row and column driver circuitry  245 ,  260 . 
     A sample and hold circuit  261  associated with the column driver  260  reads a pixel reset signal Vrst and a pixel image signal Vsig for selected pixels of the array  240 . A differential signal (Vrst-Vsig) is produced by differential amplifier  262  for each pixel and is digitized by analog-to-digital converter  275  (ADC). The analog-to-digital converter  275  supplies the digitized pixel signals to an image processor  280  which forms and may output a digital image. The image processor  280  runs a program that is capable of performing the method  200  ( FIG. 4 ) on the digitized signals from the pixel array  240 . Alternatively, processing can be done on the analog output of the pixel array by a hardwired circuit located between the amplifier  262  and ADC  275 . 
       FIG. 6  shows system  1100 , a typical processor system modified to include the imaging device  300  ( FIG. 5 ) of the invention. The system  1100  is exemplary of a system having digital circuits that could include image sensor devices. Without being limiting, such a system could include a computer system, still or video camera system, scanner, machine vision, video phone, and auto focus system, or other imager systems. 
     System  1100 , for example a camera system, generally comprises a central processing unit (CPU)  1102 , such as a microprocessor, that communicates with an input/output (I/O) device  1106  over a bus  1104 . Imaging device  300  also communicates with the CPU  1102  over the bus  1104 . The processor-based system  1100  also includes random access memory (RAM)  1110 , and can include removable memory  1115 , such as flash memory, which also communicate with the CPU  1102  over the bus  1104 . The imaging device  300  may be combined with a processor, such as a CPU, digital signal processor, or microprocessor, with or without memory storage on a single integrated circuit or on a different chip than the processor. 
     While the invention has been described in detail in connection with exemplary embodiments known at the time, it should be readily understood that the invention is not limited to such disclosed embodiments. Rather, the invention can be modified to incorporate any number of variations, alterations, substitutions or equivalent arrangements not heretofore described, but which are commensurate with the spirit and scope of the invention. For example, the methods can be used with pixels in other patterns than the described Bayer pattern, and the correction kernels would be adjusted accordingly. The exemplary noise filter could be applied, for example, either to each color separately in Bayer, Red/Green/Blue (RGB), Cyan/Magenta/Yellow/Key (CMYK), luminance/chrominance (YUV), or other color space. In addition, the invention is not limited to the type of imager device in which it is used. Thus, the invention is not to be seen as limited by the foregoing description, but is only limited by the scope of the appended claims.