Abstract:
A method and apparatus for digital image processing are provided for controlling chrominance channel overshoot in response to FIR or other enhancement processing. The chrominance values defining the enhanced digital image data for each pixel are compared to corresponding local minimum and maximum chrominance values of the non-enhanced image obtained from the neighborhood of the subject pixel. If an enhanced chrominance value for a subject pixel falls outside the corresponding local minimum/local maximum chrominance range by an overshoot amount, the enhanced chrominance value is adjusted to reduce the overshoot amount. The overshoot amount is adjusted according to a pre-programmed overshoot reduction parameter.

Description:
BACKGROUND OF THE INVENTION 
     The present invention relates to the digital image processing arts. In particular, it relates to enhancement of digital image data, and a method and apparatus for controlling overshoot in the chrominance channel when edge enhancement operations are performed. Thus, the present invention provides a method and apparatus for reducing color fringing due to edge enhancement operations without compromising resulting edge sharpness. 
     A main advantage of digital image reproduction relative to traditional light-lens image reproduction resides in the ability to process the digital image data so as to enhance the appearance of the final output image. For example, digital filtering is often performed to sharpen edges and fine lines for purposes of making an output image more visually appealing. When reducing or scaling-down an image, pre-filtering is often performed prior to sub-sampling for purposes of anti-aliasing. Due to limitations of the filtering algorithm, this filtering operation can blur an image. Also, in color image reproduction, it is a common practice to sub-sample the chrominance information to reduce the number of bits necessary to represent an image. This, too, can result in blurred edges. In either case and others, edge enhancement of the filtered image can be performed to sharpen the final output image. 
     One drawback associated with conventional edge enhancement operations is that the chrominance information can be altered significantly from its original value so that the color of the final output image is altered compared to the original image. This “color fringing” is, obviously, undesirable and must be controlled in order to provide an aesthetically pleasing final image. Heretofore, no effective method and apparatus have been provided for controlling chrominance channel overshoot due to image enhancement operations without compromising edge sharpness. 
     SUMMARY OF THE INVENTION 
     In accordance with the present invention, a new and improved method and apparatus are provided for chrominance channel overshoot control in image enhancement operations. 
     In accordance with a first aspect of the present invention, a method of digital image processing comprises receiving input digital image data defining a plurality of pixels of an input color digital image, the input digital image data including at least a first input chrominance value for each of the pixels of the input image. For each of the pixels of the input digital image, the input digital image data defining the pixel is enhanced based upon the input digital image data defining neighborhood pixels in a spatial neighborhood established about the pixel to obtain enhanced digital image data defining the pixel, the enhanced digital image data including at least a first enhanced chrominance value. For each of the pixels of the input digital image, an overshoot control operation is performed on the enhanced digital image data defining the pixel, the overshoot control operation including: 
     determining first local maximum and first local minimum first input chrominance values in a neighborhood about the pixel; 
     comparing the first enhanced chrominance value to the first local maximum and first local minimum chrominance values to determine if the first enhanced pixel chrominance value is one of: (i) above the first local maximum chrominance value by a first overshoot amount; and, (ii) below the first local minimum chrominance value by a first overshoot amount; 
     if the first enhanced chrominance value of the pixel is above the first local maximum chrominance value, reducing the first enhanced chrominance value to reduce the first overshoot amount; and, 
     if the first enhanced chrominance value of the pixel is below the first local minimum chrominance value, increasing the first enhanced chrominance value to reduce the first overshoot amount. 
     In accordance with another aspect of the present invention, a method of enhancing a color digital image includes, for each of a plurality of pixels defining the color digital image, modifying a first chrominance value of a pixel in response to an enhancement filtering operation to obtain a modified first chrominance value for the pixel. Within a neighborhood of pixels spatially near the pixel, identifying a local minimum and a local maximum first chrominance value of the pixels within the neighborhood. The modified first chrominance value is compared to at least one of the local minimum and local maximum first chrominance values and, if the modified first chrominance value is greater than the local maximum first chrominance value, the modified first chrominance value of the pixel is reduced by a select percentage of the amount by which the modified first chrominance value exceeds the local maximum first chrominance value. If the modified first chrominance value is less than the local minimum first chrominance value, the modified first chrominance value of the pixel is increased by a select percentage of the amount by which the modified first chrominance value is less than said local minimum first chrominance value. 
     In accordance with still another aspect of the present invention, a digital image processing apparatus includes means for receiving input digital image data defining a plurality of pixels of an input color digital image, the input digital image data including an input chrominance value for each of the pixels of the input image. The apparatus also includes means for enhancing the input digital image data defining each of the pixels based upon the input digital image data defining neighborhood pixels in a spatial neighborhood established about each of the pixels to obtain enhanced digital image data defining each of the pixels, the enhanced digital image data including an enhanced chrominance value. A means is provided for performing an overshoot control operation on the enhanced digital image data defining each of the pixels, and includes: 
     means for determining a local maximum and a local minimum input chrominance value in a neighborhood about a select pixel; 
     means for comparing the enhanced chrominance value to the local maximum and local minimum chrominance values to determine if the enhanced pixel chrominance value is one of: (i) above the local maximum chrominance value by an overshoot amount; and, (ii) below the local minimum chrominance value by an overshoot amount; 
     means for reducing the enhanced chrominance value to reduce the overshoot amount if the enhanced chrominance value of the select pixel is above the local maximum chrominance value; and, 
     means for increasing the enhanced chrominance value to reduce the overshoot amount if the enhanced chrominance value of the select pixel is below the local minimum chrominance value. 
     In accordance with yet another aspect of the present invention, a method of controlling chrominance channel overshoot includes receiving a plurality of pixels of digital image data, each pixel defined in terms of an original luminance value and first and second original chrominance values. The digital image data are enhanced to convert each pixel of the image into an enhanced pixel defined in terms of an enhanced luminance value and first and second enhanced chrominance values. Local minimum and local maximum first original chrominance values associated with each enhanced pixel in a select neighborhood about each of the enhanced pixels are determined. Local minimum and local maximum second chrominance values associated with each enhanced pixel in a select neighborhood about each of the enhanced pixels are determined. For each enhanced pixel, the first and second enhanced chrominance values associated with the enhanced pixel are compared to the local maximum and local minimum first and second original chrominance values, respectively, to determine: (i) if the first enhanced chrominance value overshoots one of the local maximum and local minimum first original chrominance values by a first overshoot amount; or (ii) if the second enhanced chrominance value overshoots one of the local maximum and local minimum second original chrominance values by a second overshoot amount. For each enhanced pixel, if the first enhanced chrominance value overshoots one of the local maximum and local minimum first original chrominance values, the first enhanced chrominance value is adjusted to reduce the first overshoot amount. Likewise, for each enhanced pixel, if the second enhanced chrominance value overshoots one of the local maximum and local minimum second original chrominance values, the second enhanced chrominance value is adjusted to reduce the second overshoot amount. 
     One advantage of the present invention is the provision of a method and apparatus for chrominance channel overshoot control during digital image processing enhancement operations. 
     Another advantage of the present invention resides in the provision of a method and apparatus for controlling chrominance channel overshoot resulting from edge enhancement processing wherein color fringing is reduced without compromising edge sharpness. 
     A further advantage of the present invention is found in the provision of a method and apparatus for reducing chrominance channel overshoot using original min/max chrominance values from pixels in the neighborhood surrounding a pixel being processed. 
     Still other benefits and advantages of the present invention will become apparent to those of ordinary skill of the art to which the invention pertains upon reading and understanding the present specification. 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS 
     The present invention may take form in various components and arrangements of components, and in various steps and arrangements of steps, preferred embodiments of which are disclosed herein and illustrated in the accompanying drawings which form a part hereof and wherein: 
     FIG. 1 is a diagrammatic illustration of a digital image processing system formed in accordance with the present invention; 
     FIG. 2 is an illustration of a digital image wherein a portion of the digital image is subject to edge enhancement filtering; 
     FIG. 3 graphically illustrates chrominance channel overshoot and control of same in accordance with the present invention; 
     FIG. 4 is a flow chart that illustrates edge enhancement with chrominance channel overshoot control in accordance with the present invention; 
     FIG. 5 is a block diagram illustrating a chrominance channel overshoot apparatus formed in accordance with the present invention; and 
     FIG. 6 is a block diagram illustrating the overshoot control unit of the apparatus shown in FIG. 5 as used for controlling chrominance channel overshoot in accordance with the present invention. 
    
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS 
     Referring now to the drawings wherein the showings are for purposes of describing preferred embodiments of the invention only and not for purposes of limiting same, a digital image processing system  10  formed in accordance with the present invention is shown in FIG.  1 . An image input unit  12 , such as a scanner, image storage device, and/or computer image generator derives/delivers digital image data in the form of one or more monochromatic separations, wherein the picture elements or pixels of each separation are defined at a depth of d bits per pixel where d is an integer. Accordingly, each pixel of each separation is defined in terms of d bits per pixel (bit depth=d), and each pixel has some gray value between full off and full on. When the digital image data is provided in terms of a single monochromatic separation, the image is monochromatic, for example, so called black-and-white image data. On the other hand, when the digital image data is provided in terms of two or more monochromatic separations, a color image results when the data from the separations is combined, for example, red-green-blue (RGB) separations or cyan-magenta-yellow (CMY) separations. Color digital image data supplied by the image input unit  12  can alternatively be supplied in the form of a luminance-chrominance color space, such as CIELAB or the like, as is well known in the art, and conversion among various color spaces is also contemplated herein. 
     The digital image signals are input from the scanner  12  to an image processing unit  14  wherein digital image processing, such as edge enhancement with chrominance channel overshoot control in accordance with the present invention, is performed. The image processing unit  14  may be provided by any suitable electronic computing apparatus such as a programmed general purpose computer, a dedicated electronic circuit, or any other suitable electronic circuit means. The image processing unit  14  outputs processed digital image data in a suitable format to an image output terminal  16 , such as a storage device, a digital printer, and/or a visual display. Suitable apparatus for digital image input and/or output include the XEROX Document Center 265DC digital imaging system, Pixelcraft 7650 Pro Imager Scanner, XEROX DocuTech Production Printing System scanners, the XEROX 5775 digital color copier, the XEROX 5760 and 5765 Majestik digital color copiers, or any other suitable color digital scanner/copier. Regardless of the depth d at which each pixel is defined, the location of each pixel in each separation bitmap is also defined, typically in terms of a row “n” and a column “m.” 
     FIG. 2 illustrates a color digital image I as derived by the image input terminal  12 . As described above, the image I comprises a plurality of pixels P arranged in m rows and n columns so that each pixel P is uniquely identifiable by a row/column designation mn, e.g., P 22  which represents the pixel P located in the third row and third column. As noted, each pixel P of a color digital image I is defined by several monochromatic gray values or in terms of its luminance and chrominance values depending upon the color space. 
     For convenience and ease of understanding the present invention, the invention will be described in terms of the pixels P being defined in the CIELAB color space. As is generally known in the art, CIELAB is a perceptual color space wherein color is represented in three dimensions according to a lightness value (represented on the L* axis), a redness-greenness value (represented on the a* axis), and a yellowness-blueness value (represented on the b* axis). Thus, the a* and b* chrominance values define first and second chrominance channels for the CIELAB color space. However, those of ordinary skill in the art will certainly recognize that the invention can be carried out in any luminance-chrominance color space and that any other color space, such as RGB, CMYK, or the like is freely convertible into CIELAB or another luminance-chrominance color space. It is not intended that the invention be limited to any particular color space. 
     With continuing reference to FIG. 2, the cross-hatched area F represents a spatial filter as is also well known in the art of digital image processing. In particular, the represented filter F is a finite impulse response (FIR) filter that alters the value of a centrally located subject pixel P based upon the original values of all other neighborhood pixels P, i.e., all other pixels P encompassed by the filter F at a given time. The contribution of each neighborhood pixel to the final value of the subject pixel P varies depending upon the weight assigned to that neighborhood pixel according to the particular filtering operation being performed. 
     As illustrated in FIG. 2, by way of example only, the filter F is an FIR edge enhancement filter of a size that is 5 pixels by 5 pixels (5×5). The central pixel P 22  is the subject pixel, and the remaining pixels P encompassed by the filter are the neighborhood pixels that will be used to alter the value of the subject pixel P 22  for purposes of edge or other enhancement. As is well known, the filter F is applied to each pixel P in the image I for image enhancement operations. The FIR filtering operation, itself, is conventional and does not form a part of the present invention. Thus, any other size/type of FIR or other edge enhancement filter may be used without departing from the overall scope and intent of the present invention. 
     FIG. 3 graphically illustrates chrominance channel overshoot in response to FIR filtering and control of same in accordance with the present invention. The solid line represents chrominance values of the unfiltered image data I for each pixel P, e.g., in the CIELAB color space, the solid line represents either the a* or b* chrominance channel. It can be seen that, in an edge region E of the image I, the chrominance values change from a higher level to a lower level. However, this change in chrominance values is gradual and. the edge region E of the image I is, thus, not well defined or “sharp.” To make the image I more visually appealing, FIR filtering is carried out on the original image I to enhance the edge region E and other edge regions. 
     As is graphically illustrated with a broken line labeled FIR_OUTPUT, after FIR filtering, the transition from a higher chrominance to a lower chrominance in the edge region of the image I is much steeper indicating a much sharper, enhanced edge region E′. However, with reference to the pixel P 22  as an example, its chrominance value has been raised from an original value C 1  to an FIR_OUTPUT value of C 3 . Further, the FIR_OUTPUT chrominance value of the pixel P 22  exceeds a local maximum original chrominance value LOCAL_MAX of pixels P in a neighborhood about the pixel P 22  by an overshoot amount OS. The neighborhood about the pixel P 22  used to identify LOCAL_MAX preferably corresponds to the neighborhood of the filter F, or a subset of same, but may be any other neighborhood in the region of the subject pixel, in this case the pixel P 22 . Accordingly, the chrominance of the pixel P 22  has been altered significantly relative to surrounding pixels, and the appearance of the output image will likewise be altered due to color shift or “fringing” of the pixel P 22 . 
     Similarly, with reference to the pixel P rc , the FIR filtering operation has caused its chrominance value to be reduced from C 4  to an FIR_OUTPUT value C 6 . Also, the FIR_OUTPUT chrominance value is less than a local minimum chrominance value LOCAL_MIN of pixels P in the neighborhood of the pixel P rc  by an overshoot amount OS′. Again, the neighborhood used to locate the local minimum chrominance value LOCAL_MIN preferably corresponds to the neighborhood of the FIR filter, itself, or a subset thereof, but may be any other neighborhood in the region of the subject pixel, in this case the pixel P rc . Thus, the chrominance value of the pixel P rc  has also been altered in a manner that will sharpen the edge E but cause undesired color shift or fringing relative to the appearance of the original image I. 
     With continuing reference to FIG. 3, it is shown that chrominance channel overshoot control in accordance with the present invention attenuates chrominance channel overshoot OS,OS′. The phantom line OSC represents the pixel chrominance values P for the same edge region at E″ after performance of chrominance channel overshoot control in accordance with the present invention. It is shown that, the overshoot OS associated with of the pixel P 22  is reduced by an amount X=OS *f, wherein, f is a programmable overshoot reduction parameter that can be pre-set or that can vary depending upon the characteristics of the input image I and/or the desired aesthetics of the image output to the image output terminal  16 . Likewise, the overshoot OS′ of the pixel P rc  is reduced via overshoot control in accordance with the present invention by an amount X′=OS′*f. However, it is significant to note that the phantom line OSC representing the same edge region at E″ after overshoot control in accordance with the present invention is nearly as steep as the broken line FIR_OUTPUT representing the edge region E′ after FIR edge enhancement. Thus, it can be seen that overshoot control in accordance with the present invention reduces color fringing without significantly compromising edge enhancement or sharpness. 
     In general, chrominance channel overshoot control in accordance with the present invention to obtain a final output chrominance value OSC based upon an input chrominance value FIR_OUTPUT provided after FIR or other edge enhancement operations can be described mathematically by the following: 
     
       
         
               
               
             
           
               
                   
               
             
             
               
                 OS = 
                 FIR_OUTPUT − LOCAL_MAX 
               
               
                 OS′ = 
                 LOCAL_MIN − FIR_OUTPUT 
               
               
                 OSC = 
                 FIR_OUTPUT − f * OS 
               
               
                   
                  if FIR_OUTPUT &gt; LOCAL_MAX; 
               
               
                 OSC = 
                 FIR_OUTPUT + f * OS′ 
               
               
                   
                  if FIR_OUTPUT &lt; LOCAL_MIN; and, 
               
               
                 OSC = 
                 FIR_OUTPUT 
               
               
                   
                  if LOCAL_MIN &lt;= FIR_OUTPUT &lt;= LOCAL_MAX, 
               
               
                   
               
             
          
         
       
     
     again, wherein f is programmable chrominance overshoot reduction parameter as noted above. Thus, the amount of overshoot control varies depending upon the value selected for the parameter f. For example, if f=0.25, the overshoot OS,OS′ will be reduced by 25%. Thus, the effects of the FIR enhancement operation are decreased by 25% to prevent undesired color fringing. It is contemplated within the scope of the present invention to change the value for the overshoot reduction parameter f depending upon whether the overshoot to be attenuated is “positive” (FIR_OUTPUT&gt;LOCAL_MAX) as illustrated in FIG. 3 at OS, or “negative” (FIR_OUTPUT&lt;LOCAL_MIN) as illustrated in FIG. 3 at OS′, as either positive or negative overshoot may be deemed more or less objectionable than the other in certain digital image processing operations. 
     Referring now to FIG. 4, chrominance channel overshoot control in accordance with the present invention is described. A step or means SI receives the digital. image data of an original image I. For each pixel P of the original image, a step or means S 2  enhances the image data defining the pixel P using FIR or other edge enhancement filtering. Also for each pixel P of the original image, a step or means S 3  compares the chrominance of the enhanced data defining the pixel P with original (non-enhanced) LOCAL_MIN/LOCAL_MAX chrominance values of other pixels in a neighborhood about the enhanced pixel P. 
     A step or means S 4  determines if the chrominance of the enhanced pixel is greater than LOCAL_MAX and, if so, a step or means S 5  reduces the chrominance of the enhanced pixel P as described above according to the overshoot reduction parameter f. On the other hand, if the chrominance of the enhanced pixel P is less than LOCAL_MAX, a step or means S 6  determines if the chrominance of the enhanced pixel P is less than LOCAL_MIN and, if so, a step or means S 7  increases the chrominance of the enhanced pixel P as described above according to the overshoot reduction parameter f. 
     FIGS. 5 and 6 diagrammatically illustrate an apparatus specifically adapted for performing edge enhancement with chrominance channel overshoot control in accordance with the present invention. As noted above, those of ordinary skill in the art will recognize that the apparatus illustrated in FIGS. 5 and 6 is preferably the image processing unit  14 , programmed or otherwise configured to provide structure and/or operations necessary for the subject invention. Chrominance input values C such as CIELAB a* and/or b* values, are input to a buffer  40 . Preferably, each chrominance channel a*,b* employs an overshoot control system formed in accordance with the present invention as described herein. 
     An FIR edge enhancement filter  42  performs the edge enhancement step S 2  and a neighborhood min/max detector  44  determines the values for LOCAL_MIN and LOCAL_MAX. An overshoot control unit  50  performs chrominance channel overshoot control in accordance with the present invention, in particular, steps S 3 -S 7 , as appropriate, and supplies the resulting chrominance values OSC as output. 
     With particular reference to FIG. 6, the overshoot control unit  50  includes subtractors  52   a , 52   b , sign extractors  54   a , 54   b , a decoder  56 , and a selector  58  that perform the operations S 3 ,S 4 ,S 6  as appropriate to determine if the chrominance value FIR_OUTPUT for an enhanced pixel P is greater than LOCAL_MAX, less than LOCAL_MIN, or between these values. The overshoot reduction parameter f is preferably preprogrammed stored in a register  60 , and a central processing unit CPU causes same to be input to a multiplier  62 , together with the overshoot data OS,OS′ input from the subtractors  52   a , 52   b  to perform the above-described multiplication of the overshoot reduction parameter f with the overshoot values OS,OS′. An adder  64  adds the result supplied by the multiplier  62  to the enhanced chrominance value FIR_OUTPUT to complete the overshoot control operations S 5 ,S 7  and obtain the output chrominance value OSC. 
     The invention has been described with reference to preferred embodiments. Modifications and alterations will occur to others upon reading and understanding the preceding specification. It is intended that the invention be construed as including all such modifications and alterations insofar as they fall within the scope of the appended claims or equivalents thereof.