Methods for background and noise suppression in binary to grayscale image conversion

Information

  • Patent Application
  • 20080037044
  • Publication Number
    20080037044
  • Date Filed
    August 08, 2006
    18 years ago
  • Date Published
    February 14, 2008
    16 years ago
Abstract
One embodiment is a method for suppressing background inaccuracies in binary to grayscale image conversion. A binary image is converted to a grayscale image using a neighbor map. An image enhancement function is applied to the grayscale image to supress background inaccuracies in the grayscale image. Another embodiment is method for converting a binary pixel of a binary image to a grayscale pixel of a grayscale image and suppressing noise in the grayscale image using selective filtering of the binary image. Another embodiment is a method for converting a binary image to a first grayscale image and suppressing noise in the first grayscale image to produce a noise suppressed grayscale image using selective filtering of the grayscale image.
Description

BRIEF DESCRIPTION OF THE DRAWINGS


FIG. 1 is a flowchart showing a method for converting a binary pixel of a binary image to a grayscale pixel of a grayscale image and suppressing background inaccuracies in the grayscale image, in accordance with an embodiment.



FIG. 2 is an exemplary 3×3 neighbor map, in accordance with an embodiment.



FIG. 3 is schematic diagram showing a system for converting a binary pixel of a binary image to a grayscale pixel of a grayscale image and suppressing noise in the grayscale image using selective filtering of the binary image, in accordance with an embodiment.



FIG. 4 is a flowchart showing a method for converting a binary pixel of a binary image to a grayscale pixel of a grayscale image and suppressing noise in the grayscale image using selective filtering of the binary image, in accordance with an embodiment.



FIG. 5 is schematic diagram showing a system for converting a binary image to a first grayscale image and suppressing noise in the first grayscale image to produce a noise suppressed grayscale image using selective filtering of the first grayscale image, in accordance with an embodiment.



FIG. 6 is schematic diagram showing a method for converting a binary image to a first grayscale image and suppressing noise in the first grayscale image to produce a noise suppressed grayscale image using selective filtering of the first grayscale image, in accordance with an embodiment.





Before one or more embodiments are described in detail, one skilled in the art will appreciate that an embodiment is not limited in its application to the details of construction, the arrangements of components, and the arrangement of steps set forth in the following detailed description or illustrated in the drawings. An embodiment is capable of being practiced or being carried out in various ways. Also, it is to be understood that the phraseology and terminology used herein is for the purpose of description and should not be regarded as limiting.


DETAILED DESCRIPTION

Restoration of gray values in an image from one bit values can be accomplished in many ways. In one of the ways, a filter is applied to the image to determine the gray value from the local low frequency content of a neighborhood of image pixels. A second method is to use a look up table (LUT) to convert the one bit values in a neighborhood of image pixels into a gray value as described in the '159 patent.


The LUT approach restores gray well, but often the tone scale is not perfectly reproduced. This is especially evident in the light background areas of an image or in black areas like the inside of large black text. For example, if there are any one bit values in a white background, the derived LUT will yield an eight bit value that is not perfectly white. This causes an image with a white background to have a visible background that is not perfectly white. A white background that is not perfectly white contains background inaccuracies.


In one embodiment, a TRC is used in conjunction with a LUT in a one bit to eight bit conversion process in order to adjust tone characteristics and suppress background inaccuracies. The TRC is used to adjust the tone scale to compensate for background inaccuracies in the LUT conversion. This tone scale adjustment can include, for example, making very light values completely white.


The TRC is used to eliminate background that is produced by the LUT conversion in the white areas of an image. The TRC adjusts the lightness in the lighter areas of the image. As described in the '502 patent the TRC is an image enhancement function. This image enhancement function can be a continuous or a discontinuous function. One exemplary discontinuous image enhancement function is an image enhancement function that makes all grayscale values less than or equal to 250 equal to their original values and all grayscale values greater than 250 equal to 255.



FIG. 1 is a flowchart showing a method 100 for converting a binary pixel of a binary image to a grayscale pixel of a grayscale image and suppressing background inaccuracies in the grayscale image, in accordance with an embodiment.


In step 110 of method 100, a binary image is inputted or scanned. The binary image is inputted or scanned by a printer, for example. The binary image can also be retrieved from a memory, or from a network location.


In step 120, a binary pixel of the binary image is associated with a neighbor map. A neighbor map refers to those pixels in proximity to the binary pixel selected. It can include those pixels bordering the selected pixel, or it may include a broader range. An exemplary neighbor map is shown in FIG. 2.


In step 130, the binary pixel is converted to a grayscale pixel based on the neighbor map. The binary pixel is a one bit value and the grayscale pixel is an eight bit value, for example.


In step 140, an image enhancement function is applied to the grayscale pixel to suppress background inaccuracies in the grayscale image. The image enhancement function is, for example, a tone reproduction curve. Background inaccuracies can include, but are not limited to, spurious gray grayscale values in a white background that should be perfectly white. An image enhancement function can, but is not limited to, suppressing background inaccuracies by making spurious gray grayscale values in a white background completely white grayscale values.


In another embodiment, the image enhancement function is incorporated directly into an LUT conversion method by adjusting the specific output values of the LUT. This embodiment reduces the amount of image processing required.


Methods for converting the binary pixel to a grayscale pixel based on the neighbor map have been described in the '159 patent. These methods include an LUT conversion and a filtering conversion. An exemplary LUT conversion includes comparing the neighbor map to one or more binary patterns of a LUT and assigning a grayscale value corresponding to a binary pattern of the LUT matching the neighbor map to the grayscale pixel. An exemplary filtering conversion includes filtering the neighbor map.



FIG. 2 is an exemplary 3×3 neighbor map 200, in accordance with an embodiment. Map 200 need not be square, as shown, and can have other shapes, such as generally diamond. Pixel 210 of map 200 is the binary pixel being converted. Pixel 210 is shown with a binary value of one. The surrounding eight pixels are the “neighbors” of pixel 210. These surrounding eight pixels are used to determine the grayscale value of pixel 210. Maps similar to map 200 are used to determine the grayscale value of each of the pixels of a binary image. Map 200, therefore, represents a window that is moved from pixel to pixel over the binary image to determine the grayscale value of each pixel from the neighboring pixels captured by the window.


The grayscale value is determined from the window represented by map 200 in a number of ways including LUT conversion and filtering conversion. In an LUT conversion, for example, map 200 is compared to a 3×3 pattern of the LUT to determine the grayscale value of pixel 210. In a filtering conversion, map 200 is passed through a filter to determine the grayscale value of pixel 210.


In addition to suppressing background inaccuracies it is also advantageous to reduce image noise produced during the binary to grayscale conversion. In another embodiment, noise is reduced by filtering the image with a filter that smoothes out the noise. A low-pass filter, for example, removes all abrupt low to high or high to low transition areas essentially blurring or smoothing sharp lines between black and white. Note, however, that the use of a low-pass filter can also smooth out the edges of text that is located in the image. This low-pass filtering of text can reduce the quality of the text.


In order to smooth the image while maintaining the sharpness of the text, in another embodiment the filter is selectively applied in the highlight areas where the noise is most visible. This method uses a filter in conjunction with a LUT in the one bit to eight bit conversion process in order to suppress noise in highlight areas of the image while maintaining sharp edges in text regions. The filter is used to smooth the noise and is selectively used in the highlight areas by determining the lightness value of the pixel being processed. If the value is above a threshold, the filter is applied. If the value is below the threshold value, the LUT value is used without filtering. In general, a transition region of lightness values can be used. In the transition region the final value of the pixel is determined by a weighted combination of the LUT value and the filtered LUT value. This eliminates defects in areas of the image where the lightness is transitioning between a low value and a high value.



FIG. 3 is schematic diagram showing a system 300 for converting a binary pixel of a binary image to a grayscale pixel of a grayscale image and suppressing noise in the grayscale image using selective filtering of the binary image, in accordance with an embodiment. System 300 includes control LUT 310, filter 320, and conversion LUT 330. Filter 320 is used to determine the grayscale values in lighter areas, conversion LUT 330 is used to determine the grayscale values in darker areas, and control LUT 310 is used to determine the lightness or darkness in an area of the binary and assign the contributions of filter 320 and conversion LUT 330 in determining the grayscale value.


A binary image is scanned or input to system 300 by a printer, for example. The binary image can also be retrieved from a memory, or from a network location. Neighbor map 340 is associated with or created for each pixel of the binary image. Neighbor map 340 is converted to a weighting value by control LUT 310, to a first grayscale pixel value by filter 320, and to a second grayscale pixel value by conversion LUT 330. The weighting value, the first grayscale pixel value, and the second grayscale pixel value are created at substantially the same time.


The inverted weighting value is created by inverter 350. The inverted weighting value is multiplied by the first grayscale pixel value using multiplier 360 producing a first weighted grayscale pixel value. The uninverted weighting value is multiplied by the second grayscale pixel value using multiplier 370 producing a second weighted grayscale pixel value. Finally, the first weighted grayscale pixel value and the second weighted grayscale pixel value are summed by summation 380 to produce a grayscale pixel value.


In system 300, the binary input is sent through conversion LUT 330 and through filter 320 to convert the one bit value to an eight bit value. Filter 320 output and conversion LUT 330 output are weighted according to the weights determined by the control LUT 310. If the eight bit lightness value is high, filter 320 output gets a high weighting value and conversion LUT 330 output gets a low weighting value. If the eight bit lightness value is low, filter 320 output gets a low weighting value, while conversion LUT 330 output gets a high weighting value. This makes the gray output like filter 320 output when the input lightness is high and like conversion LUT 330 output when the input lightness is low.


Control LUT 310 can provide an abrupt change in the weighting value or a gradual change in the weighting value. A binary control LUT 310 provides a weighting value of one for darker regions up to a certain threshold, for example. Beyond that threshold the binary control LUT 310 provides a weighting value of zero, providing an abrupt change in the weighting value and an abrupt change from LUT conversion to filtering. A varying control LUT 310, on the other hand, provides weighting values between zero and one providing a gradual change in weighting values. The use of a varying control LUT 310 helps to remove defects when the lightness switches abruptly from high to low or low to high by allowing contributions from both LUT conversion and filtering.



FIG. 4 is a flowchart showing a method 400 for converting a binary pixel of a binary image to a grayscale pixel of a grayscale image and suppressing noise in the grayscale image using selective filtering of the binary image, in accordance with an embodiment.


In step 410 or method 400, a binary image is inputted or scanned. The binary image is inputted or scanned by a printer, for example. The binary image can also be retrieved from a memory, or from a network location.


In step 420, a binary pixel of the binary image is associated with a neighbor map. The binary pixel is a one bit value.


In step 430, the neighbor map is converted to a weighting value. The weighting value is, for example, a value greater than or equal to zero and less than or equal to one. In another embodiment, the weighting value can be one or zero.


The neighbor map is converted to a weighting value using a control LUT, for example. The neighbor map is compared to one or more binary patterns of the control LUT. A weighting value is produced corresponding to a binary pattern of the control LUT that matches the neighbor map.


In another embodiment, the neighbor map is converted to a weighting value using a threshold value. The values of the neighbor map are summed to produce a neighbor map value. The neighbor map value is compared to the threshold value. One is assigned to the weighting value, if the neighbor map value is greater than the threshold value. Zero is assigned to the weighting value, if the neighbor map value is less than or equal to the threshold value.


In another embodiment, the neighbor map is converted to a weighting value using a threshold value. The values of the neighbor map are summed to produce a neighbor map value. The neighbor map value is compared to the threshold value. Zero is assigned to the weighting value, if the neighbor map value is greater than the threshold value. One is assigned to the weighting value, if the neighbor map value is less than or equal to the threshold value.


In step 440, the neighbor map is filtered to produce a first grayscale pixel value. The first grayscale pixel value is an eight bit value, for example.


In step 450, the neighbor map is compared to one or more binary patterns of a conversion look up table to produce a second grayscale pixel value.


In step 460, an inverted weighting value is multiplied by the first grayscale pixel value to produce a first weighted grayscale pixel value. The inverted weighting value is, for example, the weighting value subtracted from one.


In step 470, the weighting value is multiplied by the second grayscale pixel value to produce a second weighted grayscale pixel value.


In step 480, the first weighted grayscale pixel value and the second weighted grayscale pixel value are summed to produce the grayscale pixel and suppress noise.


In another embodiment, filtering is applied to the grayscale image after it has been assembled using a conversion LUT. Filtering the grayscale image provides another level of smoothing at an additional computation cost. Also, rather than using a “continuous” mixing of the filtered and no-filtered data, the decision to select filtered or non-filtered data is improved by looking at the local grayness value. Filtering is applied only when a grayscale pixel is fully in a highlight region.



FIG. 5 is schematic diagram showing a system 500 for converting a binary image to a first grayscale image and suppressing noise in the first grayscale image to produce a noise suppressed grayscale image using selective filtering of the first grayscale image, in accordance with an embodiment. System 500 includes selector 510, filter 520, and conversion LUT 530. A binary image is scanned or input to system 500 by a printer, for example. The binary image can also be retrieved from a memory, or from a network location. A binary neighbor map 540 is associated with or created for each pixel of the binary image.


Each binary pixel of the binary image is converted to a first grayscale pixel of a first grayscale image based on each binary neighbor map 540 using conversion LUT 530. A grayscale neighbor map (not shown) is created for each first grayscale pixel. Each grayscale neighbor map is converted to a selection value using selector 510. Each grayscale neighbor map is also filtered using filter 520 to produce a second grayscale pixel for each first grayscale pixel. A noise suppressed grayscale image is produced by selecting each noise suppressed grayscale pixel from either the first grayscale pixel or the second grayscale using multiplexer 550. The first grayscale pixel is selected by multiplexer 550 if the selection value of selector 510 is a first selection value. The second grayscale pixel is selected by multiplexer 550 if the selection value of selector 510 is a second selection value.



FIG. 6 is schematic diagram showing a method 600 for converting a binary image to a first grayscale image and suppressing noise in the first grayscale image to produce a noise suppressed grayscale image using selective filtering of the first grayscale image, in accordance with an embodiment.


In step 610 or method 600, a binary image is inputted or scanned. The binary image is inputted or scanned by a printer, for example. The binary image can also be retrieved from a memory, or from a network location.


In step 620, a binary pixel of the binary image is associated with a neighbor map. The binary pixel is a one bit value.


In step 630, each binary pixel of the binary image is converted to a first grayscale pixel of a first grayscale image based on the binary neighbor map. A first grayscale pixel is an eight bit value, for example. The binary image is converted to a first grayscale pixel of a first grayscale image based on the binary neighbor map using an LUT, for example. The binary neighbor map is compared to one or more binary patterns of the LUT. A grayscale value is assigned corresponding to a binary pattern of the LUT matching the binary neighbor map to the each first grayscale pixel.


In step 640, a grayscale neighbor map is created for each first grayscale pixel.


In step 650, each grayscale neighbor map is converted to a selection value.


Each grayscale neighbor map is converted to a selection value using a threshold value, for example. Each first grayscale pixel of each neighbor in the each grayscale neighbor map is compared to a threshold value. The second selection value is assigned to the selection value, if the first grayscale pixel of all neighbors in the grayscale neighbor map are greater than the threshold value.


In another embodiment, each first grayscale pixel of each neighbor in the each grayscale neighbor map is compared to a threshold value. The first selection value is assigned to the selection value, if the first grayscale pixel of all neighbors in the grayscale neighbor map are less than the threshold value.


In step 660, each grayscale neighbor map is filtered to produce a second grayscale pixel. A second grayscale pixel is an eight bit value, for example.


In step 670, a noise suppressed grayscale image is produced by selecting each noise suppressed grayscale pixel as the first grayscale pixel if the selection value is a first selection value and selecting each noise suppressed grayscale pixel as the second grayscale pixel if the each selection value is a second selection value.


It will be appreciated that various of the above-disclosed and other features and functions, or alternatives thereof, may be desirably combined into many other different systems or applications. Various presently unforeseen or unanticipated alternatives, modifications, variations, or improvements therein may be subsequently made by those skilled in the art which are also intended to be encompassed by the following claims.


The claims can encompass embodiments in hardware, software, or a combination thereof.


The word “printer” as used herein encompasses any apparatus, such as a digital copier, bookmaking machine, facsimile machine, multi-function machine, etc. Which performs a print outputting function for any purpose.


Although a monochrome printing apparatus has been described in the Specification, the claims can encompass embodiments that print in color or handle color image data. Thus, the terms gray or grayscale refer to color tone, and not necessarily to gray as between black and white.

Claims
  • 1. A method for converting a binary pixel of a binary image to a grayscale pixel of a grayscale image and suppressing background inaccuracies in the grayscale image, comprising: inputting the binary image;associating the binary pixel with a neighbor map;converting the binary pixel to the grayscale pixel based on the neighbor map; andapplying an image enhancement function to the grayscale pixel to suppress background inaccuracies in the grayscale image.
  • 2. The method of claim 1, wherein the binary pixel comprises a one bit value and the grayscale pixel comprises an eight bit value.
  • 3. The method of claim 1, wherein converting the binary pixel to the grayscale pixel based on the neighbor map comprises: comparing the neighbor map to one or more binary patterns of a look up table; andassigning a grayscale value corresponding to a binary pattern of the look up table matching the neighbor map to the grayscale pixel.
  • 4. The method of claim 1, wherein converting the binary pixel to the grayscale pixel based on the neighbor map comprises filtering the neighbor map.
  • 5. The method of claim 1, wherein the image enhancement function comprises a tone reproduction curve.
  • 6. The method of claim 1, wherein the image enhancement function comprises a continuous function.
  • 7. The method of claim 1, wherein the image enhancement function comprises a discontinuous function.
  • 8. A method for converting a binary pixel of a binary image to a grayscale pixel of a grayscale image and suppressing noise in the grayscale image, comprising: inputting the binary image;associating the binary pixel with a neighbor map;converting the neighbor map to a weighting value;filtering the neighbor map to produce a first grayscale pixel value;comparing the neighbor map to one or more binary patterns of a conversion look up table to produce a second grayscale pixel value;multiplying an inverted weighting value by the first grayscale pixel value to produce a first weighted grayscale pixel value;multiplying the weighting value by the second grayscale pixel value to produce a second weighted grayscale pixel value; andsumming the first weighted grayscale pixel value and the second weighted grayscale pixel value to produce the grayscale pixel and suppress noise.
  • 9. The method of claim 8, wherein the binary pixel comprises a one bit value, the first grayscale pixel value comprises an eight bit value, and the second grayscale pixel value comprises an eight bit value.
  • 10. The method of claim 8, wherein the weighting value comprises a value greater than or equal to zero and less than or equal to one.
  • 11. The method of claim 10, wherein the inverted weighting value comprises the difference between the weighting value and one.
  • 12. The method of claim 8, wherein the weighting value comprises one of one and zero.
  • 13. The method of claim 8, wherein converting the neighbor map to a weighting value comprises: comparing the neighbor map to one or more binary patterns of a control look up table; andproducing a weighting value corresponding to a binary pattern of the control look up table matching the neighbor map.
  • 14. The method of claim 8, wherein converting the neighbor map to a weighting value comprises: summing the values of the neighbor map to produce a neighbor map value;comparing the neighbor map value to a threshold value;assigning one to the weighting value, if the neighbor map value is greater than the threshold value; andassigning zero to the weighting value, if the neighbor map value is less than or equal to the threshold value.
  • 15. The method of claim 8, wherein converting the neighbor map to a weighting value comprises: summing the values of the neighbor map to produce a neighbor map value;comparing the neighbor map value to a threshold value;assigning zero to the weighting value, if the neighbor map value is greater than the threshold value; andassigning one to the weighting value, if the neighbor map value is less than or equal to the threshold value.
  • 16. A method for converting a binary image to a first grayscale image and suppressing noise in the first grayscale image to produce a noise suppressed grayscale image, comprising: inputting the binary image;associating each binary pixel of the binary image with a binary neighbor map;converting the each binary pixel to an each first grayscale pixel of the first grayscale image based on the binary neighbor map;creating an each grayscale neighbor map for the each first grayscale pixel;converting the each grayscale neighbor map to an each selection value;filtering the each grayscale neighbor map to produce an each second grayscale pixel; andproducing the noise suppressed grayscale image by selecting an each noise suppressed grayscale pixel as the each first grayscale pixel if the each selection value is a first selection value and selecting an each noise suppressed grayscale pixel as the each second grayscale pixel if the each selection value is a second selection value.
  • 17. The method of claim 16, wherein the each binary pixel comprises a one bit value, the each first grayscale pixel comprises and eight bit value, and the each second grayscale pixel comprises an eight bit value.
  • 18. The method of claim 16, wherein converting an each binary pixel to an each first grayscale pixel based on the binary neighbor map comprises: comparing the binary neighbor map to one or more binary patterns of a look up table; andassigning a grayscale value corresponding to a binary pattern of the look up table matching the binary neighbor map to the each first grayscale pixel.
  • 19. The method of claim 16, wherein converting the each grayscale neighbor map to an each selection value comprises: comparing the each first grayscale pixel of each neighbor in the each grayscale neighbor map to a threshold value; andassigning the second selection value to the each selection value if the each first grayscale pixel of all neighbors in the each grayscale neighbor map are greater than the threshold value.
  • 20. The method of claim 16, wherein converting the each grayscale neighbor map to an each selection value comprises: comparing the each first grayscale pixel of each neighbor in the each grayscale neighbor map to a threshold value; andassigning the first selection value to the each selection value if the each first grayscale pixel of all neighbors in the each grayscale neighbor map are less than the threshold value.