WO2008014055A2 - Adaptive noise filtering for reducing imager noise in digital image applications - Google Patents

Adaptive noise filtering for reducing imager noise in digital image applications Download PDF

Info

Publication number
WO2008014055A2
WO2008014055A2 PCT/US2007/070704 US2007070704W WO2008014055A2 WO 2008014055 A2 WO2008014055 A2 WO 2008014055A2 US 2007070704 W US2007070704 W US 2007070704W WO 2008014055 A2 WO2008014055 A2 WO 2008014055A2
Authority
WO
WIPO (PCT)
Prior art keywords
determination
value
digital image
under evaluation
phase element
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
PCT/US2007/070704
Other languages
French (fr)
Other versions
WO2008014055A3 (en
Inventor
Clifford S. Hofman
Hesham I. Mahmoud
Anastassios Markas
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Atmel Corp
Original Assignee
Atmel Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Atmel Corp filed Critical Atmel Corp
Publication of WO2008014055A2 publication Critical patent/WO2008014055A2/en
Publication of WO2008014055A3 publication Critical patent/WO2008014055A3/en
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/70Denoising; Smoothing
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/30Noise filtering
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/28Indexing scheme for image data processing or generation, in general involving image processing hardware
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20004Adaptive image processing
    • G06T2207/20012Locally adaptive
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20172Image enhancement details
    • G06T2207/20192Edge enhancement; Edge preservation

Definitions

  • the present invention relates to filtering digital images and specifically to providing filtering for reducing image noise in a digital camera.
  • Digital image acquisition devices inherently introduce noise into an acquired image.
  • the introduction of noise is especially enhanced by the digital acquisition device sensor.
  • Noise not only degrades image quality but reduces efficiency for any subsequent encoding or compression steps .
  • Encoding or compression typically operates in accordance with, for example, an MPEG or JPEG standard or one of a plurality of international standards promulgated by the International Telecommunications Union (ITU) such as the H.263 standard common in videoconferencing.
  • ITU International Telecommunications Union
  • the MPEG, JPEG, and ITU standards are all widely employed in digital imaging devices in contemporary commercial and industrial usage.
  • One class of noise reduction spatial filters applies a non-linear localized spatial filtering technique directly to a digital image.
  • noise reduction filter is a simple sigma filter, described by Jong Sen Lee in the journal article "Digital Image Smoothing and the Sigma Filter,” Computer Vision, Graphics, and Image Processing Vol. 24, p. 255-269, 1983.
  • the sigma noise reduction filter uses a non-linear pixel averaging technique sampled from a rectangular window.
  • the window is comprised of neighboring pixels surrounding a center pixel .
  • Neighboring pixels are either included or excluded from the numerical averaging process based on a difference between one or more neighboring pixels and the center pixel .
  • the small local neighborhood of pixels used by the sigma filter make it simple to implement and relatively effective at removing high spatial frequency components of noise.
  • many noise sources such as Gaussian sources, contain broadband frequency components .
  • Gaussian noise sources exhibit random noise fluctuations over a large range of spatial frequencies.
  • the sigma filter is generally capable of only removing high spatial frequency components of noise and thus has difficulty removing low spatial frequency components associated with Gaussian noise.
  • the low-pass filtering effect of the sigma filter is largely due to the filter operating on only a small local neighborhood of pixels. Therefore, lower spatial frequency components of noise are not removed.
  • a resultant digital image processed with the sigma filter can thus have a mottled appearance, particularly noticeable for sky regions or other continuous-tone regions that have little image structure.
  • Most advanced filters also filter images as a function of spatial resolution.
  • One method of representing a digital image by a series of residual images and a base digital image is described in a journal article entitled, "The Laplacian Pyramid as a Compact Image Code," IEEE Transactions on Communications, Vol. Com-3 1, No. 4, April 1983.
  • the multiresolution method was primarily designed for image compression methodologies, the method has been used in applications for noise reduction filtering.
  • the multiresolution method generally relies on removing noise from a digital image by determining a series of calculation-intensive Discrete Cosine Transform (DCT) coefficients for an image.
  • the calculated DCT coefficients are filtered with a Wiener noise filter and a reduced noise digital image is reconstructed.
  • DCT Discrete Cosine Transform
  • the multiresolution method thus removes noise from the digital image at different spatial frequencies by operating on calculation-intensive DCT coefficients (i.e., residual images) .
  • a wavelet spatial frequency decomposition method has also been employed for the use of removing noise from digital images.
  • U.S. Pat. No. 5,526,446 to Adelson et al discloses a technique which converts an image into a set of coefficients in a multi-scale image decomposition process followed by a modification of each coefficient based on its value and a value of coefficients of related orientation, position, or scale. While the method disclosed by Adelson et al . is capable of removing both low frequency and high frequency noise, the described method must be applied to a set of multi-scale coefficients and cannot be directly applied to a digital image .
  • the present invention is a noise filtering engine for enhancing an applied digital image source.
  • the noise filtering engine includes a data collection phase element, a determination phase element, and an application phase element.
  • the data collection phase element accepts an image from the applied digital image source and determines characteristics of a pixel under evaluation within the digital image source .
  • a determination phase element is coupled to an output of the data collection phase element and determines whether the pixel under evaluation requires filtering. After the determination phase element is completed, a determination is made whether to apply filtering. If so, the image processing continues onto an application phase.
  • An application phase element receives output data from the determination phase element and applies a smoothing function based upon characteristics of the pixel under evaluation. Alternatively, a value of the pixel under evaluation may be replaced by another value, previously calculated. An output of the application phase element is an enhanced digital image.
  • Fig. 1 shows an exemplary kernel containing a pixel under evaluation and neighboring pixels.
  • Fig. 2A is an exemplary noise filtering engine which accepts as the kernel of Fig. 1 from a digital image source as an input and produces an enhanced digital image as an output .
  • Fig. 2B is an exemplary embodiment of a data collection phase element of the noise filtering engine of Fig. 2A.
  • Fig. 2C is an exemplary embodiment of a determination phase element of the noise filtering engine of Fig. 2A.
  • Fig. 2D is an exemplary embodiment of an application phase element of the noise filtering engine of Fig. 2A.
  • a noise filtering engine that removes fixed and random pattern noise from a digital image source.
  • the engine may be implemented, for example, as a subsystem of a hardware-based pipeline for digital image processing.
  • the noise reduction engine may consist of one or more hardware blocks to facilitate high throughput and high-performance operations.
  • the engine has a significant degree of flexibility and programmability allowing, for example, digital camera manufacturers to implement the noise reduction engine in medium to high-end cameras operating with various types of imagers including charge-coupled devices (CCDs) and complimentary metal-oxide semiconductor (CMOS) image sensors .
  • CCDs charge-coupled devices
  • CMOS complimentary metal-oxide semiconductor
  • an exemplary kernel 100 of a pixilated image includes nine pixels of the image comprised of a pixel under evaluation A 0 , surrounded by eight nearest -neighbor pixels B 0 - B 7 .
  • the kernel 100 is not limited to a 3 X 3 matrix of nine pixels.
  • the nine-pixel kernel 100 is merely included as an example of how neighboring pixels B 0 - B 7 may influence or affect filtering of a pixel under evaluation A 0 .
  • a noise filter and method incorporating a series of steps, calculation elements, or algorithms for filtering the pixel under evaluation A 0 is described herein. The noise filter and method can be readily adapted for use into or with microcontroller and microprocessor devices .
  • a digital image source 201 such as acquired directly from a sensor (e.g., a CCD array or CMOS sensor) or from an image file, may be spatially filtered to remove or minimize noise.
  • the digital source image is input to a noise filtering engine 203.
  • the noise filtering engine 203 includes a data collection phase element 205 and a determination phase element 207. After the determination phase element 207, a query 209 is made whether to apply filtering a given pixel under evaluation. If the determination is made to apply filtering, the noise filtering engine 203 continues with an application phase element 211. If either the determination is made not to apply filtering or filtering is applied to the pixel in the application phase element 211, an enhanced digital image 213 is output.
  • a series of filtering algorithms and smoothing filters within the noise filtering engine 203 removes noise without affecting edges or other characteristics that are important contributors to an overall quality of the image.
  • Each of the three main tasks of the noise filtering engine 203, the data collection phase element 205, the determination phase element 207, and the application phase element 211, are discussed separately in detail, infra.
  • various values are computed within the noise filtering engine 203 based on measurements of the eight nearest -neighbor pixels B 0 - B 7 in the kernel 100 (Fig. 1) surrounding the pixel under evaluation A 0 and combined with measurements of A 0 .
  • Various values are also computed based on a measurement of the pixel under evaluation A 0 , independent of measurements of the eight nearest-neighbor pixels B 0 - B 7 . These computed values may be applied to other portions of the algorithm to determine where noise filtering should be applied and where filtering should not apply.
  • measurements and computed values of the eight nearest- neighbor pixels, B 0 - B 7 are compared with the measurement and computed values of the pixel under evaluation A 0 .
  • computed values from the digital image source 201 include determinations of mean (x) 205A, median (Md) 205C, edge presence (Edge) 205F, largest (MaxPix) and smallest
  • MinPix values 205G, and determination of an initial threshold value 205H of one or more pixels within the kernel 100.
  • Each of the determinations may be implemented by combinations or independent applications of hardware, software, or firmware.
  • the various elements of the noise filter may thus be considered to be a circuit, function, or algorithm.
  • Each determination of a computed value is realizable by a skilled artisan applying the equations and relative structure described herein .
  • determination of variance (v) 205B may be accomplished. Also, determination of a target value 205D may be calculated from either the mean or median values. A determination of a weighted measurement value 205E may then be calculated based on the target value. Calculation or determination of each of these values is discussed in detail, infra.
  • Calculation of the mean value, x is accomplished by considering a value, xi, for each pixel in the kernel 100 divided by the number of total samples, n.
  • the mean is simply the arithmetic average
  • M d For a median value, M d/ if the sample (e.g., the kernel 100) under consideration is arranged in order of ascending magnitude, the median, M d , is given by the value
  • median value is simply the middle value of a set of ordered data; when n is even, the median may be taken as the mean of the two central values of the set of ordered data .
  • the edge presence which includes strength and presence of edges, may be implemented by various algorithms and methods known to a person of skill in the art .
  • the largest and smallest values are simply the largest and smallest magnitude values of the pixels within the kernel 100. In a degenerate case where the largest and smallest magnitude values are the same, the difference is zero. In this case, filtering will not occur .
  • the threshold value (Th) is a value used in the determination phase element 207 to calculate an amount of filtering, if any, to apply to a given pixel.
  • the threshold value is a linear modification of an existing pixel value using two programmable coefficients, ⁇ and ⁇ . Values for both coefficients are calculated by higher level application software taking into consideration parameters such as lighting conditions, sensor sensitivity, and user-defined settings.
  • the threshold, Th 0 is determined as
  • Th 0 ⁇ + ⁇ • (pixel value)
  • Th 0 becomes relevant in the determination phase element 207, infra, as a second threshold value is then determined.
  • a variance, v is simply the square of a standard deviation value where the standard deviation and variance are calculated as
  • the additional calculations and/or determinations include a target value 205D, a weighted measurement value 205E, and any ancillary information (not shown) that may be needed for a given pixel.
  • a determination of the target value (target) 205D may simply be chosen to be either the mean or median value. Calculation of both the mean and the median values are described supra. The choice of whether to use the mean value or the median value is user-selectable depending upon application.
  • the weighted measurement value (Meas) is calculated as a weighted difference between the absolute difference between the target value and the current pixel value
  • Meas ⁇ • target — pixel value
  • weighting coefficient ⁇ is another programmable constant.
  • the weighting coefficient ⁇ is calculated by higher level application software taking into consideration parameters such as lighting conditions, sensor sensitivity, and user-defined settings.
  • the ancillary information includes any special information to guide a correct application of filtering and/or smoothing in subsequent steps and defines exclusions for when filtering should not be applied. If the noise filter is applied, the ancillary information also defines how the filter should be applied and which parameters should be applied to the noise filter.
  • a determination 207A is made whether the pixel under evaluation A 0 requires filtering. If filtering should apply, a second determination 207B is then made whether any special provisions for the pixel under evaluation require special application.
  • criteria applied during the special provisions process include : (a) a uniform application of filtering independently of characteristics (Unif) ⁇ b) whether any edges exist on the kernel under examination (Edge)
  • Th n Th 0 • [l + (Edge • d)] • [l + (j Var - e
  • variables d, e, and f refer to results from the steps (d) , (e) , and (f) given supra.
  • the variables d, e, and f are calculated by higher level application software taking into consideration parameters such as lighting conditions, sensor sensitivity, and user-defined settings. Experimentation is required for various system setups to optimize performance under various conditions.
  • a result from the new threshold value determination 207D, Th n , is determined for each pixel under evaluation
  • results from the data collection phase element 205 and the determination phase element 207 are used in the application phase element 211 to filter individual pixels which have been selected as candidates for noise filtering.
  • the application phase element 211 is thus an application of a filtering function that will be applied on the pixel under evaluation.
  • a function magnitude e.g., strong filtering or weak filtering within a given function
  • pixels other than the current pixel under evaluation requiring noise reduction are also filtered. Implementation of various filter types is addressed infra.
  • the application phase element 211 includes the following steps or determinations :
  • a smoothing function is applied 211D that takes into account a distance between the current pixel and the target value .
  • the smoothing function can take several forms, such as: i . simple pixel replacement

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Image Processing (AREA)

Abstract

A noise filtering engine (203) and method that removes fixed and random pattern noise from a digital image source (201). The engine (203) may be implemented, for example, as a subsystem of a hardware -based pipeline for digital image processing or in software or a combination of hardware and software. The noise reduction engine (203) consists of one or more hardware blocks (205, 207, 211) to facilitate high throughput and high-performance operations. The engine has a significant degree of flexibility and programmability allowing, for example, digital camera manufacturers to implement the noise reduction engine (203) in medium to high-end cameras operating with various types of imagers including CCD and CMOS image sensors.

Description

Description
ADAPTIVE NOISE FILTERING FOR REDUCING IMAGER NOISE IN
DIGITAL IMAGE APPLICATIONS
TECHNICAL FIELD
The present invention relates to filtering digital images and specifically to providing filtering for reducing image noise in a digital camera.
BACKGROUND ART
Digital image acquisition devices inherently introduce noise into an acquired image. The introduction of noise is especially enhanced by the digital acquisition device sensor. Noise not only degrades image quality but reduces efficiency for any subsequent encoding or compression steps . Encoding or compression typically operates in accordance with, for example, an MPEG or JPEG standard or one of a plurality of international standards promulgated by the International Telecommunications Union (ITU) such as the H.263 standard common in videoconferencing. The MPEG, JPEG, and ITU standards are all widely employed in digital imaging devices in contemporary commercial and industrial usage. Various approaches exist to remove noise from digital images; however, most methods make use of spatial filtering techniques. One class of noise reduction spatial filters applies a non-linear localized spatial filtering technique directly to a digital image. An example of such a noise reduction filter is a simple sigma filter, described by Jong Sen Lee in the journal article "Digital Image Smoothing and the Sigma Filter," Computer Vision, Graphics, and Image Processing Vol. 24, p. 255-269, 1983. The sigma noise reduction filter uses a non-linear pixel averaging technique sampled from a rectangular window. The window is comprised of neighboring pixels surrounding a center pixel . Neighboring pixels are either included or excluded from the numerical averaging process based on a difference between one or more neighboring pixels and the center pixel . The small local neighborhood of pixels used by the sigma filter make it simple to implement and relatively effective at removing high spatial frequency components of noise. However, many noise sources, such as Gaussian sources, contain broadband frequency components .
Gaussian noise sources exhibit random noise fluctuations over a large range of spatial frequencies. The sigma filter is generally capable of only removing high spatial frequency components of noise and thus has difficulty removing low spatial frequency components associated with Gaussian noise. The low-pass filtering effect of the sigma filter is largely due to the filter operating on only a small local neighborhood of pixels. Therefore, lower spatial frequency components of noise are not removed. A resultant digital image processed with the sigma filter can thus have a mottled appearance, particularly noticeable for sky regions or other continuous-tone regions that have little image structure.
Most advanced filters, such as multiresolution or pyramid methods, also filter images as a function of spatial resolution. One method of representing a digital image by a series of residual images and a base digital image is described in a journal article entitled, "The Laplacian Pyramid as a Compact Image Code," IEEE Transactions on Communications, Vol. Com-3 1, No. 4, April 1983. Although the multiresolution method was primarily designed for image compression methodologies, the method has been used in applications for noise reduction filtering. The multiresolution method generally relies on removing noise from a digital image by determining a series of calculation-intensive Discrete Cosine Transform (DCT) coefficients for an image. The calculated DCT coefficients are filtered with a Wiener noise filter and a reduced noise digital image is reconstructed. The multiresolution method thus removes noise from the digital image at different spatial frequencies by operating on calculation-intensive DCT coefficients (i.e., residual images) . A wavelet spatial frequency decomposition method has also been employed for the use of removing noise from digital images. U.S. Pat. No. 5,526,446 to Adelson et al . discloses a technique which converts an image into a set of coefficients in a multi-scale image decomposition process followed by a modification of each coefficient based on its value and a value of coefficients of related orientation, position, or scale. While the method disclosed by Adelson et al . is capable of removing both low frequency and high frequency noise, the described method must be applied to a set of multi-scale coefficients and cannot be directly applied to a digital image .
Overall, digital image noise is generally exhibited throughout a broad range of spatial frequencies. The sigma filter can effectively remove only the highest spatial frequency components of noise. Other methods may be more effective at removing broadband noise but are computationalIy-intensive and, consequently, slow. Though the known techniques for reducing noise in image sequences are satisfactory in many respects, they are also associated with numerous drawbacks and problems that are bound up with, for example, inadequate performance, processing complexity, and excessive processing costs that make employment of such techniques difficult, especially in portable image acquisition devices such as digital cameras.
SUMMARY OF THE INVENTION
In an exemplary embodiment, the present invention is a noise filtering engine for enhancing an applied digital image source. The noise filtering engine includes a data collection phase element, a determination phase element, and an application phase element.
The data collection phase element accepts an image from the applied digital image source and determines characteristics of a pixel under evaluation within the digital image source . A determination phase element is coupled to an output of the data collection phase element and determines whether the pixel under evaluation requires filtering. After the determination phase element is completed, a determination is made whether to apply filtering. If so, the image processing continues onto an application phase.
An application phase element receives output data from the determination phase element and applies a smoothing function based upon characteristics of the pixel under evaluation. Alternatively, a value of the pixel under evaluation may be replaced by another value, previously calculated. An output of the application phase element is an enhanced digital image. BRIEF DESCRIPTION OF THE DRAWINGS
Fig. 1 shows an exemplary kernel containing a pixel under evaluation and neighboring pixels.
Fig. 2A is an exemplary noise filtering engine which accepts as the kernel of Fig. 1 from a digital image source as an input and produces an enhanced digital image as an output .
Fig. 2B is an exemplary embodiment of a data collection phase element of the noise filtering engine of Fig. 2A.
Fig. 2C is an exemplary embodiment of a determination phase element of the noise filtering engine of Fig. 2A.
Fig. 2D is an exemplary embodiment of an application phase element of the noise filtering engine of Fig. 2A.
DETAILED DESCRIPTION OF THE INVENTION
Described herein is a noise filtering engine that removes fixed and random pattern noise from a digital image source. The engine may be implemented, for example, as a subsystem of a hardware-based pipeline for digital image processing. The noise reduction engine may consist of one or more hardware blocks to facilitate high throughput and high-performance operations. The engine has a significant degree of flexibility and programmability allowing, for example, digital camera manufacturers to implement the noise reduction engine in medium to high-end cameras operating with various types of imagers including charge-coupled devices (CCDs) and complimentary metal-oxide semiconductor (CMOS) image sensors .
With reference to Fig. 1, an exemplary kernel 100 of a pixilated image includes nine pixels of the image comprised of a pixel under evaluation A0, surrounded by eight nearest -neighbor pixels B0 - B7. A skilled artisan will recognize that the kernel 100 is not limited to a 3 X 3 matrix of nine pixels. The nine-pixel kernel 100 is merely included as an example of how neighboring pixels B0 - B7 may influence or affect filtering of a pixel under evaluation A0. A noise filter and method incorporating a series of steps, calculation elements, or algorithms for filtering the pixel under evaluation A0 is described herein. The noise filter and method can be readily adapted for use into or with microcontroller and microprocessor devices .
With reference to Fig. 2A, a digital image source 201, such as acquired directly from a sensor (e.g., a CCD array or CMOS sensor) or from an image file, may be spatially filtered to remove or minimize noise. The digital source image is input to a noise filtering engine 203. The noise filtering engine 203 includes a data collection phase element 205 and a determination phase element 207. After the determination phase element 207, a query 209 is made whether to apply filtering a given pixel under evaluation. If the determination is made to apply filtering, the noise filtering engine 203 continues with an application phase element 211. If either the determination is made not to apply filtering or filtering is applied to the pixel in the application phase element 211, an enhanced digital image 213 is output. A series of filtering algorithms and smoothing filters within the noise filtering engine 203 removes noise without affecting edges or other characteristics that are important contributors to an overall quality of the image. Each of the three main tasks of the noise filtering engine 203, the data collection phase element 205, the determination phase element 207, and the application phase element 211, are discussed separately in detail, infra.
The Data. Collection Phase Element
In an exemplary embodiment, various values (discussed in detail below) are computed within the noise filtering engine 203 based on measurements of the eight nearest -neighbor pixels B0 - B7 in the kernel 100 (Fig. 1) surrounding the pixel under evaluation A0 and combined with measurements of A0. Various values are also computed based on a measurement of the pixel under evaluation A0, independent of measurements of the eight nearest-neighbor pixels B0 - B7. These computed values may be applied to other portions of the algorithm to determine where noise filtering should be applied and where filtering should not apply. In the data collection phase element 205, measurements and computed values of the eight nearest- neighbor pixels, B0 - B7, are compared with the measurement and computed values of the pixel under evaluation A0.
In this embodiment and with reference to Fig. 2B, computed values from the digital image source 201 include determinations of mean (x) 205A, median (Md) 205C, edge presence (Edge) 205F, largest (MaxPix) and smallest
(MinPix) values 205G, and determination of an initial threshold value 205H of one or more pixels within the kernel 100. Each of the determinations may be implemented by combinations or independent applications of hardware, software, or firmware. The various elements of the noise filter may thus be considered to be a circuit, function, or algorithm. Each determination of a computed value is realizable by a skilled artisan applying the equations and relative structure described herein .
Once the mean value has been calculated, as discussed below, determination of variance (v) 205B may be accomplished. Also, determination of a target value 205D may be calculated from either the mean or median values. A determination of a weighted measurement value 205E may then be calculated based on the target value. Calculation or determination of each of these values is discussed in detail, infra.
Calculation of the mean value, x, is accomplished by considering a value, xi, for each pixel in the kernel 100 divided by the number of total samples, n. Thus, in the case of evaluating the mean of the nine values within the kernel 100, the mean is simply the arithmetic average
Figure imgf000009_0001
i 8
X = -9 ∑^x± i=0
For a median value, Md/ if the sample (e.g., the kernel 100) under consideration is arranged in order of ascending magnitude, the median, Md, is given by the value
located at a position of . When n is odd, the
2 median value is simply the middle value of a set of ordered data; when n is even, the median may be taken as the mean of the two central values of the set of ordered data .
The edge presence, which includes strength and presence of edges, may be implemented by various algorithms and methods known to a person of skill in the art .
The largest and smallest values are simply the largest and smallest magnitude values of the pixels within the kernel 100. In a degenerate case where the largest and smallest magnitude values are the same, the difference is zero. In this case, filtering will not occur .
The threshold value (Th) is a value used in the determination phase element 207 to calculate an amount of filtering, if any, to apply to a given pixel. The threshold value is a linear modification of an existing pixel value using two programmable coefficients, α and β . Values for both coefficients are calculated by higher level application software taking into consideration parameters such as lighting conditions, sensor sensitivity, and user-defined settings. Thus, the threshold, Th0, is determined as
Th0 = α + β • (pixel value)
The subscript on Th0 becomes relevant in the determination phase element 207, infra, as a second threshold value is then determined. Once the mean value, x, is determined, a variance, v, is simply the square of a standard deviation value where the standard deviation and variance are calculated as
Figure imgf000010_0001
Alternatively, for computational purposes, v can be more readily determined by either of the following equations
nn —2 nx v = i = l n - 1
Figure imgf000011_0001
Once calculations and determinations are made for values of average, median, edge presence, variance, and largest and smallest values of pixels in the kernel 100, additional calculations and/or determinations are made using results from those calculations. The additional calculations and/or determinations include a target value 205D, a weighted measurement value 205E, and any ancillary information (not shown) that may be needed for a given pixel.
A determination of the target value (target) 205D may simply be chosen to be either the mean or median value. Calculation of both the mean and the median values are described supra. The choice of whether to use the mean value or the median value is user-selectable depending upon application.
The weighted measurement value (Meas) is calculated as a weighted difference between the absolute difference between the target value and the current pixel value
Meas = γ • target — pixel value |
where the weighting coefficient γ is another programmable constant. The weighting coefficient γ is calculated by higher level application software taking into consideration parameters such as lighting conditions, sensor sensitivity, and user-defined settings.
The ancillary information (not shown) includes any special information to guide a correct application of filtering and/or smoothing in subsequent steps and defines exclusions for when filtering should not be applied. If the noise filter is applied, the ancillary information also defines how the filter should be applied and which parameters should be applied to the noise filter.
The Determination Phase Element
With reference to Fig. 2C, a determination 207A is made whether the pixel under evaluation A0 requires filtering. If filtering should apply, a second determination 207B is then made whether any special provisions for the pixel under evaluation require special application. In a specific exemplary embodiment, criteria applied during the special provisions process include : (a) a uniform application of filtering independently of characteristics (Unif) <b) whether any edges exist on the kernel under examination (Edge)
(c) whether the pixel under evaluation is part of an edge (Edge)
(d) whether the variance of the kernel exceeds or is below a certain level (Var)
(e) whether a difference between the target and a value of the pixel under evaluation is either larger or smaller than a certain value; and
(f) what is the relationship of the pixel under evaluation with neighboring pixels An overall result of the process is a binary value which indicates whether the pixel will be filtered or not. Factors determined above are used in determining 207D a new threshold value, Thn
Thn = Th0 • [l + (Edge • d)] • [l + (j Var - e | • d)] • [l + {(MaxPix - MinPix
where the variables d, e, and f refer to results from the steps (d) , (e) , and (f) given supra. A uniform value is applied when d = f = 0. The variables d, e, and f are calculated by higher level application software taking into consideration parameters such as lighting conditions, sensor sensitivity, and user-defined settings. Experimentation is required for various system setups to optimize performance under various conditions.
Methods for experimentation are known to one of skill in the art .
A result from the new threshold value determination 207D, Thn, is determined for each pixel under evaluation
(e.g., in an iterative process, not shown explicitly) .
These results are then used in the application phase element 211.
The Application Phase Element
With continued reference to Fig. 2A, results from the data collection phase element 205 and the determination phase element 207 are used in the application phase element 211 to filter individual pixels which have been selected as candidates for noise filtering. The application phase element 211 is thus an application of a filtering function that will be applied on the pixel under evaluation. In addition to selecting a particular filtering function, a function magnitude (e.g., strong filtering or weak filtering within a given function) is selected as well. In subsequent iterations of the application phase element 211, pixels other than the current pixel under evaluation requiring noise reduction are also filtered. Implementation of various filter types is addressed infra.
With reference to a specific exemplary embodiment of the application phase element 211 of Fig. 2D, if filtering is determined 209 to apply, the application phase element 211 includes the following steps or determinations :
(a) if a value of the current pixel under evaluation is close ("close" is defined by the interpolation equations defined herein) to the target value 211A, the current value is considered noise and the current pixel value is replaced by the target value 2 HB;
(b) if the current pixel value is much different than the target value 211C, the pixel is considered as having "high-information content" (e.g., such as an edge or another strong part of the image) and the current pixel value is preserved; and
(c) for any current pixel value in between those defined by steps (a) and (b) , a smoothing function is applied 211D that takes into account a distance between the current pixel and the target value . The smoothing function can take several forms, such as: i . simple pixel replacement
FilteredPixel = Target
ii . linear interpolation
( Meas i [ Meas |
FilteredPixel = I1 ThnJ Targyet + tτhnj Pxxel iii . quadratic interpolation
Figure imgf000015_0001
IV. n-th degree polynomial approximation
1 - curr
Figure imgf000015_0002
In the quadratic interpolation and the polynomial approximation, "p" may take on any integer value. After the application phase element 211, an enhanced digital image 213 is output.

Claims

Claims
1. A method for filtering noise from an applied digital image source, the method comprising: providing a plurality of pixels from the applied digital image source; sorting groups of the plurality of pixels into one or more input kernels, the one or more input kernels each comprising a pixel under evaluation and surrounding pixels in the kernel; determining characteristics of the pixel under evaluation based on a comparison of the pixel with one or more surrounding pixels comprising at least part of a first of the one or more kernels; determining a mean value of the first kernel; determining a median value of first kernel ; determining a target value based partially on the mean value and the median value of the first kernel; determining an initial threshold value to calculate a magnitude of filtering if a determination is made to apply filtering; determining whether the pixel under evaluation requires filtering; and apply a smoothing function to the pixel under evaluation if a determination is made the pixel requires filtering .
2. The method of claim 1 further comprising: determining whether the pixel under evaluation is part of an image edge,- and determining a maximum pixel value and a minimum pixel value from the first kernel .
3. The method of claim 1 further comprising: determining a variance value based on the mean value of the first kernel; and determining a weighted measurement value based partially on the target value.
4. The method of claim 1 further comprising: calculating a smoothing function; and applying the smoothing function to the pixel under evaluation.
5. The method of claiml further comprising determining whether a value of the pixel under evaluation should be replaced with the target value.
6. A noise filtering engine to enhance an applied digital image source, the engine comprising: a data collection phase element, the data collection phase element configured to accept the applied digital image source and determine characteristics of a pixel under evaluation, the pixel under evaluation being located within the digital image source; a determination phase element coupled to an output of the data collection phase element and configured to determine whether the pixel under evaluation requires filtering; and an application phase element coupled to an output of the determination phase element, the application phase element configured to apply a smoothing function based upon characteristics of the pixel under evaluation, an output of the application phase element being an enhanced digital image.
7. The noise filtering engine of claim 6 wherein the data collection phase element comprises : a mean determination element adapted to receive the applied digital image source and determine a mean value of an input kernel, the input kernel being selected from the applied digital image source and comprising the pixel under evaluation and neighboring pixels; and a median determination element adapted to receive the digital image source and determine a median value of the input kernel.
8. The noise filtering engine of claim 7 wherein the data collection phase element further comprises: a variance determination element coupled to receive an output from the mean determination element and supply a calculated variance value as an input to the determination phase element; a target determination element coupled to receive an output from both the mean determination element and the median determination element; and a weighted measurement value determination element coupled to receive as an input the applied digital image source and an output from the target determination element and supply a weighted measurement value as an input to the determination phase element.
9. The noise filtering engine of claim 6 wherein the data collection phase element comprises: an edge determination element coupled to receive the applied digital image source and to determine whether the pixel under evaluation is part of an edge from an image contained within the digital image source, the edge determination element configured to supply an edge determination value to the determination phase element; a minimum and maximum pixel determination element coupled to receive the applied digital image source and to determine a largest value and a smallest value of pixels contained in the kernel, the minimum and maximum pixel determination element configured to supply the largest value and the smallest value of pixels to the determination phase element; and an initial threshold value determination element coupled to receive the applied digital image source and to determine an initial threshold value of the pixel under evaluation, the initial threshold value determination element configured to supply the initial threshold value to the determination phase element .
10. The noise filtering engine of claim 6 wherein the determination phase element comprises: a special provisions element coupled to an output of the data collection phase; and a determination phase threshold value determination element coupled both to an output of the data collection phase element and to an output of the special provisions element, the determination phase threshold value determination element configured to determine a threshold value of the pixel under evaluation, the determination phase threshold value determination element coupled to supply the initial threshold value to the application phase element .
11. The noise filtering engine of claim 6 wherein the application phase element comprises: a smoothing function element coupled to an output of the determination phase element; and a replacement element to replace a current value of the pixel under evaluation with a target value.
PCT/US2007/070704 2006-07-28 2007-06-08 Adaptive noise filtering for reducing imager noise in digital image applications Ceased WO2008014055A2 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/460,759 2006-07-28
US11/460,759 US20080025630A1 (en) 2006-07-28 2006-07-28 Adaptive noise filtering for reducing imager noise in digital image applications

Publications (2)

Publication Number Publication Date
WO2008014055A2 true WO2008014055A2 (en) 2008-01-31
WO2008014055A3 WO2008014055A3 (en) 2008-06-26

Family

ID=38982165

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2007/070704 Ceased WO2008014055A2 (en) 2006-07-28 2007-06-08 Adaptive noise filtering for reducing imager noise in digital image applications

Country Status (3)

Country Link
US (1) US20080025630A1 (en)
TW (1) TW200821955A (en)
WO (1) WO2008014055A2 (en)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7495806B2 (en) * 2003-03-24 2009-02-24 Hewlett-Packard Development Company, L.P. System and method for compensating for noise in a captured image
KR100866277B1 (en) * 2007-05-02 2008-10-31 주식회사 코아로직 A system and method for removing image noise by edge tracking, and a computer-readable recording medium that includes the program and the method.
KR101168968B1 (en) * 2009-09-14 2012-07-26 순환엔지니어링 주식회사 Detecting and filtering method of random noise signal
CN102170519A (en) * 2010-06-22 2011-08-31 上海盈方微电子有限公司 High-efficient image denoising algorithm and hardware realization apparatus of algorithm
TWI488484B (en) * 2010-08-18 2015-06-11 Silicon Motion Inc Method and apparatus for performing de-noise processing
CN104620282B (en) * 2012-07-16 2018-01-12 菲力尔系统公司 For suppressing the method and system of the noise in image
US9811884B2 (en) 2012-07-16 2017-11-07 Flir Systems, Inc. Methods and systems for suppressing atmospheric turbulence in images
US11113791B2 (en) 2017-01-03 2021-09-07 Flir Systems, Inc. Image noise reduction using spectral transforms
US20240242315A1 (en) * 2023-01-12 2024-07-18 Teledyne Flir Surveillance, Inc. Anomalous pixel processing using adaptive decision-based filter systems and methods

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5526446A (en) * 1991-09-24 1996-06-11 Massachusetts Institute Of Technology Noise reduction system
JP3203290B2 (en) * 1994-03-31 2001-08-27 富士写真フイルム株式会社 Digital electronic still camera and recording method on memory card
US5845017A (en) * 1996-12-17 1998-12-01 Eastman Kodak Company Digital image processing method for degraining of film images using distance weighted averaging of target pixel code values
US6453074B1 (en) * 1997-03-31 2002-09-17 Canon Kabushiki Kaisha System for image decimation including selective filtering
US6181376B1 (en) * 1997-10-14 2001-01-30 Intel Corporation Method of determining missing color values for pixels in a color filter array
US6151415A (en) * 1998-12-14 2000-11-21 Intel Corporation Auto-focusing algorithm using discrete wavelet transform
JP2002142149A (en) * 2000-11-06 2002-05-17 Mega Chips Corp Image processing circuit
US20030222998A1 (en) * 2000-12-20 2003-12-04 Satoru Yamauchi Digital still camera system and method
US7319487B2 (en) * 2002-04-10 2008-01-15 Olympus Optical Co., Ltd. Focusing apparatus, camera and focus position detecting method
US7236190B2 (en) * 2002-10-31 2007-06-26 Freescale Semiconductor, Inc. Digital image processing using white balance and gamma correction
US7173663B2 (en) * 2002-10-31 2007-02-06 Freescale Semiconductor, Inc. Automatic exposure control system for a digital camera

Also Published As

Publication number Publication date
WO2008014055A3 (en) 2008-06-26
US20080025630A1 (en) 2008-01-31
TW200821955A (en) 2008-05-16

Similar Documents

Publication Publication Date Title
WO2008014055A2 (en) Adaptive noise filtering for reducing imager noise in digital image applications
Wang et al. Progressive retinex: Mutually reinforced illumination-noise perception network for low-light image enhancement
US7181082B2 (en) Blur detection system
Cai et al. Linearized Bregman iterations for frame-based image deblurring
Foi et al. Practical Poissonian-Gaussian noise modeling and fitting for single-image raw-data
EP1227437B1 (en) A multiresolution based method for removing noise from digital images
US6937775B2 (en) Method of enhancing the tone scale of a digital image to extend the linear response range without amplifying noise
US7856150B2 (en) Denoise method on image pyramid
Saxena et al. Noises and image denoising techniques: a brief survey
KR101901602B1 (en) Apparatus and method for noise removal in a digital photograph
Ben Abdallah et al. Adaptive noise-reducing anisotropic diffusion filter
Ulbeh et al. Gray image reconstruction
US8131104B2 (en) Method and apparatus for adjusting the contrast of an input image
US20030228064A1 (en) Multiresolution method of spatially filtering a digital image
JP2012256202A (en) Image processing apparatus and method, and program
Sada et al. Image deblurring techniques—a detail review
US20060226337A1 (en) Digital image denoising
JP2010193199A (en) Image processor and image processing method
US7269295B2 (en) Digital image processing methods, digital image devices, and articles of manufacture
US7430334B2 (en) Digital imaging systems, articles of manufacture, and digital image processing methods
JP2010226719A (en) Multifocal plane image acquisition and compression
Mredhula et al. An effective filtering technique for image denoising using probabilistic principal component analysis (PPCA)
Kaur et al. Study of Image Denoising and Its Techniques
Takkar et al. Non Linear Image Enhancement
Bundela et al. Restoration of Single Blur Image Using Blind Deconvolution Method

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 07798282

Country of ref document: EP

Kind code of ref document: A2

NENP Non-entry into the national phase

Ref country code: DE

NENP Non-entry into the national phase

Ref country code: RU

122 Ep: pct application non-entry in european phase

Ref document number: 07798282

Country of ref document: EP

Kind code of ref document: A2