Abstract:
The present invention reduces noise in digital photographic images based on the assumption that images may be decomposed into two types of regions, smooth regions and edge regions. Smooth regions are areas of the image lacking any sharp detail, such as blue sky. Edge regions are regions containing sharp detail, such as edges and textured regions (such as grass). The present method reduces noise in the smooth regions by a mathematical blurring technique based on least squares regression. The blurring does not degrade the sharpness of the image, because there are no sharp details in the smooth regions. Edge regions are left undisturbed to maintain sharpness, but the noise is less noticeable in those regions than in the smooth regions. The method operates upon the luminance and chrominance component of a digital image.

Description:
This is a continuation of application Ser. No. 07/399,134, filed Aug. 28, 1989, now abandoned. 
    
    
     CROSS-REFERENCE TO RELATED APPLICATION 
     The present application is related to U.S. patent application Ser. No. 399,135, filed on even date with the present application and entitled &#34;A Computer Based Digital Image Noise Reduction Method Based on Overlapping Planar Approximation&#34; by M. Kaplan et al. now U.S. Pat. No. 5,533,149, issued Jul. 2, 1996. The related application bears the Assignee&#39;s Docket No. 54,891. 
     TECHNICAL FIELD OF THE INVENTION 
     The present invention relates to an image data processing method and, more particularly, to a method for reducing noise in digital photographic images based on smoothing, by a blurring technique, the smooth regions of a digital image while maintaining the edge regions undisturbed. 
     BACKGROUND OF THE INVENTION 
     To transform a digital image to a finished print of high quality requires that noise components, introduced because of the transformation of the image from an image medium to electrical signals be reduced and/or eliminated such that the noise does not become discernible to the human eye. 
     One of the methods receiving widespread use in the prior art is related to smoothing the differences between the values of the gray levels of pixels located in neighborhoods. A difficulty associated with this smoothing process is that it not only removes the noise components, hut it also blurs the edges. The edges exist when there is a transition region such as a region containing sharp detail, for example, grass which may define or outline a neighboring region which may he either smooth or sharply detailed. 
     A patent of interest for its teaching of noise reduction in a data processed image is U.S. Pat. No. 4,734,770 entitled &#34;Image Data Processing Method and Device Therefor&#34; by I. Matsuba. The method of that patent treats the first image data set, consisting of a plurality of pixels having values corresponding to their gray level some of which contain noise components, by transforming them into second image data to reduce the noise components appearing in the second image data. The method operates by selecting pixels to be treated and obtaining proposed values (candidate values) which are given to the object pixels based on a stated relationship. A probability function is used to determine whether a pixel in question should be raised to the candidate value or should be maintained at its present value. The probability formula includes the image energy component as one of its terms. A recognition is made for edges of patterns based on energy level comparisons, wherein a high energy level difference between a central and an adjoining pixel would have a high probability of defining an edge. 
     In the present invention a solution to the edge blurring, when performing the smoothing operation, approaches the problem by determining edge regions and by leaving those regions undisturbed or unoperated upon and by applying a smoothing function to the smooth regions so as to reduce noise in those areas. The method has two responsibilities, one to identify whether a pixel belongs to an edge or to a smooth region and, two, to compute a smoothing code value for the pixel if it belongs to a smooth region. Within this application, these two operations are called &#34;segmentation&#34; and &#34;smoothing,&#34; respectively. Both of the aforementioned tasks are accomplished by a least squares fit of a plane to the image, in a neighborhood around the pixel of interest. If the goodness of the fit is small, then in that neighborhood the image is well approximated by a plane, and thus must be a smooth region. Further, the fit provides a smooth estimate for the code value at the pixel of interest which is the value of the fitted plane at the pixel of interest. 
     SUMMARY OF THE INVENTION 
     The present invention method reduces noise (graininess) in digital photographic images by operating on the luminance component of an image and the chrominance components. Generally speaking, this is accomplished by a mathematical generalization from a scalar field to a vector field, with special consideration being given to the characteristics of the human visual system. 
     One preferred method of the present invention for reducing digital image noise is comprised of the steps of forming a signal matrix of pixel values for each primary color of an original image; determining if a pixel belongs to an edge region and if not, computing a smoothing code value from the pixel so as to reduce image noise. 
     To determine if a pixel of interest belongs to an edge region a neighborhood is selected around the pixel and a least squares fit is performed to provide a goodness of fit factor. Next, another least squares fitting plane operation is performed using a matrix to provide an estimated value of the pixel of interest. The above is continued for all neighborhoods around the pixel. All of the estimated values are combined with weights based on the goodness of fit to provide a pixel value. The operation is continued for all pixels in the original image and the pixel values derived therefrom are used to form an output image with reduced digital noise. 
     The image is a mathematical field because it is a function of spatial variables, namely the x and y coordinates of the pixel position in the image. The luminance image is a scalar field, because it is a function having a single value (luminance) at each spatial position (pixel). The full 3-color image (luminance and chrominance) is a vector field, because it has 3 values (red, green, blue) at each spatial position. To provide a mathematical generalization from a scalar field to a vector field, the scalar equations need to be rewritten in the proper form for a vector field. 
     From the foregoing, it can be seen that it is a primary object of the present invention to provide an improved method for removing noise components from the luminance and chrominance of digital image signals without degrading edge values. 
     It is a further object of the present invention to provide an improved smoothing of the pixel values of a digital image in smooth regions while not disturbing edge regions. 
     It is an additional object of the present invention to provide a method for reducing noise in the smooth regions of a digital image by a blurring technique based on a least squares regression applied to luminance and chrominance signals. 
     These and other objects of the present invention will become more apparent from the following description when taken in conjunction with the attached drawings wherein like characters indicate like parts and which drawings form a part of the present description. 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS 
     FIG. 1 is a line diagram illustrating the smoothing of a near edge pixel by a convolution technique. 
     FIG. 2 is a line diagram illustrating the smoothing of a near edge pixel by a least squares technique. 
     FIG. 3 illustrates a square neighborhood of pixel elements with the target pixel being near an edge. 
     FIG. 4 illustrates a matrix of pixels with the smoothed pixels being distanced from an edge on both sides so as to create a channel of unsmoothed pixels surrounding each edge. 
     FIG. 5 illustrates four different blocks of (5×5) neighboring pixels about one target pixel (four quadrant neighborhoods). 
     FIG. 6 illustrates a matrix of pixel elements representing selected neighborhoods for two target pixels on opposite sides of an edge. 
     FIG. 7 represents an overlapping of corresponding neighborhoods for two adjacent target pixels. 
     FIGS. 8A and 8B illustrate a flow chart depicting the method steps of the present invention. 
     FIG. 9 is a verbal flow chart verbally depicting the method steps of the flow chart of FIGS. 8A and 8B. 
    
    
     DESCRIPTION OF THE PREFERRED EMBODIMENT 
     As previously mentioned, the method of the present invention has two major chores. One is to identify whether a target pixel belongs to an edge or a smooth region and the other is to compute a smoothed code value for the pixel if it belongs to the smooth region. The smoothing process can be done by convolution with a smoothing kernel, as is common practice in digital signal processing. But doing the smoothing by least squares provides an advantage. Referring to FIG. 1, wherein the smoothing of a pixel by a convolution is shown requiring the kernel &#34;neighborhood&#34; to be symmetric and centered on the target pixel, to provide an unbiased estimate for the smoothed target pixel. When the target pixel approaches an edge, the neighborhood surrounding the target pixel will project pixel members onto and past the edge surface. A least squares method has no such requirement. 
     Let N kl ,α  be a neighborhood of type α, centered at pixel location (k,l). 
     Let the 3-component vector Z ij  be the color values (red, green, blue vector) and Σ ij  be the 3×3 noise covariance matrix at pixel (i,j). 
     Let X kl ,α 2  be the goodness of fit for the linear least squares regression of a hyper-plane on the neighborhood N kl ,α and let Z ij   kl ,α be the estimate of the regression at pixel location (i,j), where pixel (i, j) is some pixel in the neighborhood N kl ,α. A multi-variate linear least squares regression (which is a standard mathematical technique) of a hyper-plane finds the vector coefficients a, b, c which minimize the fitting error X kl ,α 2  defined by: ##EQU1## and the estimated code value at pixel (i,j) is: 
     
         z.sub.ij.sup.kl,α =a.sub.kl +b.sub.kl i+c.sub.kl j   (2) 
    
     Compute the noise reduced code value at pixel (i,j) as: ##EQU2## where the sums are all kl,α such that pixel (i,j)εN kl ,α. 
     Apply the weighting function, ##EQU3## where W.sub.α  is an empirically chosen weight for each neighborhood type, n.sub.α  is the number of pixels in the neighborhoods ν.sub.α  is the degrees of freedom for the least squares fit (which is the number of pixels in the neighborhood α minues 9, because the vector coefficients a, b, c have a total of 9 components) and r.sub.α  is an empirically chosen rolloff parameter. 
     To further generalize the method, equations 1-4 are rewritten. Two least squares fits must be performed, once for segmentation and again for smoothing, so we must minimize two X 2  &#39;s. ##EQU4## where the matrices M ij   E , M ij   H  are related to the noise covariance matrix as explained later. (Note: in the notation, E stands for &#34;edge,&#34; and H stands for &#34;human visual system,&#34; representing the segmentation and smoothing steps, respectively.) The weights are computed based on the segmentation fit, ##EQU5## and the least squares estimated code values are based on the smoothing fit, 
     
         z.sub.ij.sup.kl,α =a.sub.kl.sup.H +b.sub.kl.sup.H i+c.sub.kl.sup.H j (8) 
    
     The final result is the noise-reduced image code value, ##EQU6## 
     The most likely application of this further generalization would be to define the two weighting matrices as follows: 
     
         M.sub.ij.sup.E =(U.sub.E.sup.† D.sub.E U.sub.E).sup.† Σ.sub.ij.sup.-1 (U.sub.E.sup.† D.sub.E U.sub.E) (10) 
    
     
         M.sub.ij.sup.H =(U.sub.H.sup.† D.sub.H U.sub.H).sup.† Σ.sub.ij.sup.-1 (U.sub.H.sup.† D.sub.H U.sub.H) (11) 
    
     where U E ,U H  are unitary matrices, D E ,D H  are diagonal matrices, and Σ ij  is the noise covariance matrix. The unitary matrices U E ,U H  perform a rotation in vector space, and the diagonal matrices D E ,D H  provide different weights along the different axes in the rotated vector space. Thus, a likely choice would be to select a U H  which rotates into a luminance type space (placing one vector space axis along luminance Y, and another vector space axis along the more important of the two chrominance directions), and D H  which weights the luminance most heavily, and weights the less important of the two chrominance components least. U E ,D E  are selected to rotate into a space which is good for locating edges, with appropriate weights, which may be a luminance space, a principal components space, or some other space. Note that in a principal component space, by definition U diagonalizes the covariance matrix Σ ij , which simplifies the computation. Also, if U E ,D E  are chosen identical to U H ,D H , then equations 5 and 6 become identical and the computational burden is reduced. If D E ,D H  are both the identity matrix, then equations 5-10 reduce back to equations 1-4, regardless of the values of U E ,U H . Thus, rotating the vector space accomplishes nothing, unless the different axes are weighted differently. 
     FIG. 2 illustrates the advantage of utilizing a least squares technique. The target pixel can be located with an off-center neighborhood, thereby permitting the target pixel to approach closer to an edge region. As FIG. 1 shows, a convolution smoothing tends to blur edges, because they &#34;leak&#34; into neighboring pixels. A least squares method can avoid blurring edges by choosing neighborhoods which avoid the edges. 
     Referring to FIG. 3, an algorithm based on the above takes a 5×5 neighborhood centered on each target pixel and performs a least squares fit and, if the value X 2  (X 2  is a sum of squared errors normalized for the standard deviation at each pixel) is below a threshold value, the algorithm replaces the target pixel&#39;s code value by the least squares estimate. This approach is acceptable in the interior of a smooth region but fails for target pixels which are near the border of a smooth region. This failure is caused by the 5×5 neighborhood overlapping the edge or border of the smooth region, which in turn results in a large X 2  that exceeds the threshold value and therefore the pixel of interest is not replaced with the pixel code value or in other words is not smoothed. The result of continuing that process around an edge is shown in FIG. 4 such that a channel or roadway of unsmoothed pixels around an edge line will result. 
     An improvement is achieved by considering several neighborhoods for each target pixel and selecting one of the neighborhoods which results in the most preferred fit. For example, FIGS. 5A through 5D illustrate a target pixel being a corner pixel for four 5×5 neighborhoods. These neighborhoods can be called quadrant neighborhoods and are used to determine the value of X 2  which has the smallest value. This value can then be compared against the threshold value to determine if the pixel value should be replaced with a code value. If none of the neighborhood values is below the threshold then it is assumed that the pixel is truly an edge pixel and a smoothing is not applied to it. If at least one neighborhood value is below the threshold, then the neighborhood with the lowest value is used to compute the smoothed value. 
     In FIG. 6, the selected target pixel neighborhoods, for two target pixels, are shown positioned on opposite sides of an edge. The result of this is that for pixels near an edge, the pixels will be smoothed by incorporating them into neighborhoods entirely on the correct side of the edge. This method provides proper noise reduction right up to the edges (as opposed to leaving bands of noise surrounding the edges), but it also produces an artifact which makes the picture look &#34;blocky&#34;. The artifact is caused because the algorithm has a tendency to use one type of quadrant neighborhood &#34;such as the upper left&#34; for several adjacent target pixels, and then to switch to another type of quadrant neighborhood (such as a lower right) for the next several target pixels, and so on. 
     To eliminate the &#34;blocky&#34; look, all of the neighborhoods containing the target pixel were used. For 5×5 neighborhoods, for each target pixel there are 25 neighborhoods containing the target pixel. This is intended to provide a more continuous behavior, to reduce blocking, because of the larger number of neighborhoods used. 
     Unfortunately, the &#34;blocking&#34; persists even after using all neighborhoods. This was attributed to the fact that for two adjacent target pixels, there are two sets of 25 neighborhoods (one set for each target pixel), and each neighborhood in one set contains mostly the same pixels as several neighborhoods in the other set (for example see FIG. 7). Thus the two sets of least squares fits produce similar results, and when the algorithm selects the neighborhood with the lowest X 2  for each target pixel, it tends to pick nearly identical neighborhoods from each of the two sets of neighborhoods. As the algorithm scans the picture selecting new target pixels, it continues to select similar neighborhoods. Occasionally the selection of neighborhoods flips to a radically different choice, and then this new selection persists over may target pixels. A noticeable blocking artifact is produced where the selection flips. This is basically the same blocking artifact as described above for quadrant neighborhoods. 
     Since the blocking artifact appears to be caused by the instability in the selection of the single best neighborhood for each target pixel, the algorithm was modified to avoid the need to make a selection. Instead of selecting one neighborhood, the algorithm uses all neighborhoods of a target pixel, weighting them according to &#34;goodness,&#34; applying large weight for small X 2  (good fits) and small weight for large X 2  (poor fits). This eliminates the blocking artifact. 
     The weighting function w(α,X 2 ) (equation 4) was originally based on the X 2  probability distribution, which is statistically appropriate when the model surface (a plane) correctly describes the data surface (image), with the fitting error X 2  resulting only from noise and errors in choosing the fitting parameters. However, analysis showed that the fitting errors X 2  were statistically distributed very differently from the X 2  distribution, even in the smooth regions. This indicates that the model surface (plane) is not an adequate description of the data surface (image). This is not surprising, since the data surface has a very curved and irregular shape, even within the smooth regions. To deal with this difficulty, the ad hoc weighting function of equation 4 was substituted for the original X 2  distribution based weighting function. 
     Neighborhood size selection is a remaining factor. The larger the neighborhood, the larger the noise reduction, because many pixels contribute to the smoothing. However, a large neighborhood size is unable to deal with details in the picture smaller than the neighborhood size. This is because for small details there is no neighborhood which fits entirely within the detail, and thus the algorithm considers the detail to be an edge region, and provides no smoothing. This difficulty is dealt with by using neighborhoods of several sizes. The algorithm weights different sized neighborhoods differently, with the result being that large smooth regions of the picture are smoothed primarily by large neighborhoods. Smaller smooth regions are smoothed primarily by smaller neighborhoods, because the large neighborhoods don&#39;t fit within the region, thus have large X 2  and small weight. 
     Finally, it should be noted that the algorithm includes neighborhoods of size 1×1. Although this can be mathematically described simply as 1×1 neighborhoods, the intent and result are somewhat different than for larger neighborhoods--the 1×1 neighborhoods provide the mechanism by which edge regions are permitted to remain unsmoothed. In an edge region, all neighborhoods larger than 1×1 yield large X 2  when the least squares fit is performed. Strictly speaking, it is not possible to fit a 1×1 neighborhood with a plane, because there is only one 3-component data point and nine fitting parameters (making the fit mathematically underdetermined). Instead, a perfect fit is assumed (i.e. the fit estimate of the code value at the single pixel is exactly equal to the original code value, and X 2  =0). The result is that in edge regions, only the 1×1 neighborhoods have small X 2  and are heavily weighted, and they pass the original picture information unsmoothed. 
     Referring now to FIGS. 8A, 8B and 9 in conjunction, from a multi-band original digital image (Blue, Green and Red) a target pixel is selected. For each target pixel, a neighborhood is selected. The total number of neighborhoods for the preferred embodiment is 588. For each neighborhood selection the least squares best fitting plane is computed using the &#34;Edge&#34; matrix (equation 5) to yield the quality of fit X 2 . Additionally, for each neighborhood selection the least squares best fitting plan is computed using the &#34;Human Visual System&#34; matrix (equation 6) to yield the estimated value (z) at the target pixel. The process is iterated for all 588 selected neighborhoods. All 588 estimates (z) are combined with weights based on the quality of fit (X 2 ), according to equation 3 to yield the output image pixel value at the target position. This process is iterated until all pixels in the original image have been processed. 
     This approach generalizes the approach of U.S. patent application Ser. No. 07/349,135 as follows. 
     First, a full noise covariance matrix (Σ ij ) is used, and thus it takes into account correlations of the noise in the different channels. Second, the weights w(α,X 2 ) are computed for all 3 channels together, not independently, and the same weight is used in each of the 3 channels. Computing the weights by combining the channels enhances the ability to recognize edges and textures. Third, it takes into consideration the human visual system. 
     It is desirable to further generalize the equations, to take into consideration the characteristics of the human visual system. The present method is a two step method. First, it segments the image by computing the weights (equations 5,7). Second, it smooths the image code values (equations 6,8,9). There is a significant difference between these two steps that must be considered. The smoothing step computes new image code values, which will be directly observed by the human eye, so special attention is paid to the luminance channel because of its greater significance to the human visual system. 
     On the other hand, the segmentation step represents an effort to locate edges and textures in the image, and does not compute new image code values, and thus luminance is less relevant in the segmentation step. If luminance is significant in the segmentation step, it is for a more subtle reason. The human visual system has evolved into a highly efficient system for understanding the visual world, and thus perhaps its emphasis on the luminance channel is a commentary that when trying to understand a scene, luminance is given extra consideration. 
     While there has been shown what is considered to be the preferred embodiment of the invention, it will be manifest that many changes and modifications may be made therein without departing from the essential spirit of the invention. It is intended, therefore, in the annexed claims, to cover all such changes and modifications that may fall within the true scope of the invention.