The present invention relates to digital printing. It finds particular application in conjunction with detecting and differentiating neutrals (e.g., grays) from colors in a halftone image and will be described with particular reference thereto. It will be appreciated, however, that the invention is also amenable to other like applications.
At times, it is desirable to differentiate neutral (e.g., gray) pixels from color pixels in an image. One conventional method for detecting neutral pixels incorporates a comparator, which receives sequential digital values corresponding to respective pixels in the image. Each of the digital values is measured against a predetermined threshold value stored in the comparator. If a digital value is greater than or equal to the predetermined threshold value, the corresponding pixel is identified as a color pixel; alternatively, if a digital value is less than the predetermined threshold value, the corresponding pixel is identified as a neutral pixel.
The color pixels are typically rendered on a color printing output device (e.g., a color printer) using the cyan, magenta, yellow, and black (“CMYK”) colorant set. The neutral pixels are typically rendered using merely the black K colorant. Although it is possible to render neutral pixels using a process black created using the cyan, magenta, and yellow (“CMY”) colorants, the CMY colorants are typically more costly than the black K colorant. Therefore, it is beneficial to identify and print the neutral pixels using merely the black K colorant.
The conventional method for differentiating the neutral pixels from the color pixels in an image often fails when evaluating a scanned halftone image. For example, a pixel in the halftoned image may appear as a neutral (i.e., gray) to the naked human eye when, in fact, the pixel represents one dot of a color within a group of pixels forming a process black color using the CMY colorants. Because such pixels are actually being used to represent a process black color, it is desirable to identify those pixels as neutral and render them merely using the black K colorant. However, the conventional method for detecting neutral pixels often identifies such pixels as representing a color, and, consequently, renders those pixels using the CMY colorants.
The present invention provides a new and improved method and apparatus which overcomes the above-referenced problems and others.
A method for classifying pixels into one of a neutral category and a non-neutral category inputs a group of pixels within an image into a memory device. A color of each of the pixels is represented by a respective color identifier. An average color identifier is determined as a function of the color identifiers of the pixels in the group. One of the pixels within the group is classified into one of the neutral category and the non-neutral category as a function of the average color identifier.
In accordance with one aspect of the invention, the group of pixels are input by receiving the color identifiers into the memory device according to a raster format.
In accordance with another aspect of the invention, the pixel in the group is classified by comparing the average color identifier with a threshold color identifier function.
In accordance with another aspect of the invention, the pixels are classified by determining if the average color identifier corresponds to one of a plurality of neutral colors.
In accordance with another aspect of the invention, if the pixel within the group is classified to be in the neutral category, the pixel is rendered as one of a plurality of neutral colors; if the pixel within the group is classified to be in the non-neutral category, the pixel is rendered as one of a plurality of non-neutral colors.
In accordance with another aspect of the invention, an output of the pixels within the group is produced.
In accordance with a more limited aspect of the invention, the output is produced by printing a color associated with the average color identifier, via a color printing device, for each of the pixels within the group.
In accordance with another aspect of the invention, the color identifiers include components of a first color space. Before the determining step, the first color space components of the color identifiers are transformed to a second color space. Furthermore, the classifying step compares the average color identifier in the second color space with a threshold color identifier in the second color space. The threshold color identifier is determined as a function of a position along a neutral axis in the second color space.
One advantage of the present invention is that it reduces the number of pixels which are detected as non-neutral colors, but that are actually used to form a process neutral color.
Another advantage of the present invention is that it reduces the use of CMY colorants.
Still further advantages of the present invention will become apparent to those of ordinary skill in the art upon reading and understanding the following detailed description of the preferred embodiments.
The invention may take form in various components and arrangements of components, and in various steps and arrangements of steps. The drawings are only for purposes of illustrating a preferred embodiment and are not to be construed as limiting the invention.
With reference to
With reference to
a*2+b*2<Tn(L*)
In the preferred embodiment, the function Tn(L*) is represented as a cylinder 32. Therefore, all points in the L*a*b* color space that are within the cylinder 32 are considered neutral colors; furthermore, all points in the L*a*b* color space that are on or outside of the cylinder 32 are considered non-neutral colors. Although the function Tn(L*) is represented in the preferred embodiment as a cylinder, it is to be understood that the function Tn(L*) may take different forms in other embodiments. It is to be understood that although the preferred embodiment is described with reference to determining neutral colors in the L*a*b* colors space, other color spaces are also contemplated.
In an alternate embodiment, neutral colors in the preferred embodiment are determined within the L*C*h* color space, in which C*2=a*2+b*2 (i.e., C* and h* are polar coordinates in the a*,b* plane of the L*a*b* color space). In this case, the close-to-neutral colors are defined by comparing the average color identifier in the L*C*h* space (the chroma C*) with a chroma threshold C*threshold(L*,h*) that is determined as a function of two (2) coordinates, L* and a hue angle h*.
Regardless of what color space is used, neutral colors are defined as those colors surrounding a neutral axis.
With reference to
The rasterized RGB image data stream is stored, in a step A4, into line buffer devices. By way of example, the buffers supply a stream of three (3) consecutive raster lines with pixels of interest in the second stream. The image data is averaged in a step A5, and a current pixel of interest (“POI”) is identified in a step A6. More specifically, the averaging filter in the step A5 computes, at any moment, an average of a sub-group 14 of a specified number of the pixels 12 (e.g., a sub-group of nine (9) pixels 121,1, 121,2, 121,3, 122,1, 122,2, 122,3, 123,1, 123,2, 123,3) within the image 10. The pixel of interest in this example is the pixel 122,2. It is to be understood that every pixel 12 within the image 10 is, in this example, included within nine averaging filters (except for pixels included in single pixel lines along the image edges).
In the preferred embodiment, the smallest averaging filter (i.e., sub-group of pixels) includes the number of pixels in the halftone cell (e.g., the nine (9) pixels 121,1, 121,2, 121,3, 122,1, 122,2, 122,3, 123,1, 123,2, 123,3 in the halftone cell 14). Therefore, the reference numeral 14 is used to designate both the halftone cell and one of the averaging filters. It is to be understood that other sub-groups of pixels (i.e., averaging filters) including a larger number of pixels than included in the halftone screen cell are also contemplated.
In the first path (steps A4–A9), the L*a*b* image data pass to the line buffers to provide a data stream for the averaging filter, which is averaged in the step A4. The POI is identified in the step A6 as 122,2, and an averaged color identifier is produced in the averaging filter 14 in the step A5. For example, each of the nine (9) L* components in the sub-group 14 is averaged; each of the nine (9) a * components in the sub-group 14 is averaged; and each of the nine (9) b* components in the sub-group 14 is averaged. Then, in a step A7, a determination is made, whether:
a*avg2+b*avg2<Tn(L*avg)
If the step A7 determines the averaged components (L*avg, a*avg, b*avg) represent a neutral color, control passes to a step A8 and a tag indicating a neutral color is attached to the POI; in this example to the pixel 122,2. Otherwise control passes to a step A9 for attaching a tag to the POI indicating a non-neutral color. In the preferred embodiment, a neutral color is indicated by a tag of zero (0) and a non-neutral color is indicated by a tag of one (1). Regardless of whether a neutral or non-neutral color is identified, control then passes to a step A10 in the second path of the process (which includes steps A11–A16).
The L*a*b* image is also routed to the second path. In the second path, the L*a*b* image data is processed, in a step A11, by a processing unit 50 and stored in the memory buffer device 42 in a step A12. More specifically, data streams are synchronized in the step A11 in order that the neutral/non-neutral tag is attached to the corresponding POI in the step A10. The proper synchronization is achieved by the buffer memory step A4 in the first path and a buffer image memory step A12 in the second path. Although the preferred embodiment shows the memory buffer unit 42 included within the processing unit 50, it is to be understood that other configurations are also contemplated.
The tag associated with the POI image data is merged, in the step A10, with other tags associated with the POI. For example, if the POI is determined in the step A7 to be of a process neutral color, a tag of zero (0) is added to other tags attached to the POI in the step A10; on the other hand, if the POI is determined in the step A7 to be of a non-process neutral color, a tag of one (1) is added to other tags attached to the POI in the step A10.
The pixel stream is transformed, in a step A13, into the CMYK color space, as a function of the tags associated with the individual pixels. In the preferred embodiment, if the tag associated with a pixel is zero (0) (i.e., if the pixel is identified as a process neutral color), the L*a*b* data is transformed into the CMYK color space using only true black K colorant. On the other hand, if the tag associated with a pixel is one (1) (i.e., if the pixel is identified as a non-process neutral color), the L*a*b* data is transformed into the CMYK color space using all four (4) of the colorants CMYK.
In an alternate embodiment, if the tag associated with the pixel is zero (0) (i.e., if the pixel is identified as a neutral color), the L*a*b* data is transformed utilizing a 100% gray component replacement (“GCR”) approach (i.e., adjust amounts of the process colors to completely replace one of the process colors with a black colorant). On the other hand, if the tag associated with a pixel is one (1) (i.e., if the pixel is identified as a non-neutral color), the RGB data is transformed into the CMYK color space using a variable GCR approach (i.e., adjust amounts of the process colors to partially replace the process colors with a black colorant).
Once the L*a*b* data is transformed into the CMYK color space, the image data for the pixels are stored in the image buffer 42 in a step A14. Then, a determination is made in a step A15 whether all the pixels 12 in the image 10 have been processed. If all the pixels 12 have not been processed, control returns to the step A2; otherwise, control passes to a step A16 for printing the image data for the processed pixels, which are stored in the image buffer, to an output device 52 (e.g., a color printing device such as a color printer or color facsimile machine).
With reference to
As in the first embodiment, the image data, which includes the microsegmentation tag, is then passed to two (2) paths 60, 62 of the method for processing the image to detect process neutral colors. It is to be understood that the tags associated with the POI in the microsegmentation step B4 identify, for particular rendering strategies, whether neutral determination is necessary and, if the POI is part of a halftone, an estimate of the halftone frequency.
Therefore, in the first path 60, the processor 50 examines the microsegmentation tags, in a step B6, to determine if the POI is included within a halftone/contone image. Then, based upon a predetermined rendering strategy, the step B7 determines if it is necessary to identify the POI to be rendered using merely black K colorant. If it is not necessary to make a determination between neutral and non-neutral pixels, control passes to a step B8; otherwise, control passes to a step B9.
In the step B9, the image data associated with the current POI is stored in the image buffer 42. The size of the averaging filter is previously selected in the step B6 according to the detected halftone frequency. The minimum size of the averaging filter is relatively large for a low frequency halftone and relatively smaller for a high frequency halftone. In other words, the minimum size of the averaging filter is determined as a function of the halftone frequency. Therefore, chroma artifacts, which are caused by possible neutral/color misclassifications when a single averaging filter size is used, are minimized.
In a step B11, a determination is made whether:
a*avg2+b*avg2<Tn(L*avg)
In the second path 62, the image data is windowed, in a step B14, according to well known techniques. It suffices for the purpose of this invention to define windowing as the second step of the autosegmentation procedure. In this step, according to predetermined rules, pixels are grouped into continuous domains Then, in the step B8, which receives image data from both the first and second paths, the neutral/non-neutral tags are added, for each pixel, to all other tags.
The image data are transformed, in a step B15, to CMYK color space as a function of the respective tags. More specifically, if the tag indicates the pixels represent a neutral color, the pixels are transformed into the CMYK color space using merely black K colorant; if the tag indicates the pixels represent a non-neutral color, the pixels are transformed into the CMYK color space using each of the four (4) cyan, magenta, yellow, and black colorants. Then, in a step B16, the CMYK image are stored in the image buffer 42.
A determination is made in a step B17 whether all the pixels in the image 10 have been processed. If more pixels remain to be processed, control returns to the step B2; otherwise, control passes to a step B18 to print the pixels in the CMYK color space.
It is to be appreciated that it is also contemplated to use image microsegmentation tags for selecting the averaging filter size wherever a halftone of a specific frequency is detected. Such use of image microsegmentation tags enables the process to proceed with image averaging and neutral detection while the windowing part of the autosegmentation is taking place, thus reducing a timing mismatch and the necessary minimum size of the buffers.
It is also contemplated that neutral detection be performed on a compressed and subsequently uncompressed image. More specifically, the chroma values may be averaged over larger size blocks (e.g., 8×8 pixels). Such averaging has the same beneficial effect on neutral detection as the filtering described in the above embodiments.
The invention has been described with reference to the preferred embodiment. Obviously, modifications and alterations will occur to others upon reading and understanding the preceding detailed description. It is intended that the invention be construed as including all such modifications and alterations insofar as they come within the scope of the appended claims or the equivalents thereof.
Number | Name | Date | Kind |
---|---|---|---|
4811105 | Kinoshita et al. | Mar 1989 | A |
5001653 | Buchanan et al. | Mar 1991 | A |
5032904 | Murai et al. | Jul 1991 | A |
5367339 | Lippincott | Nov 1994 | A |
5392365 | Steinkirchner | Feb 1995 | A |
5406336 | Harlos et al. | Apr 1995 | A |
5479263 | Jacobs et al. | Dec 1995 | A |
5495428 | Schwartz | Feb 1996 | A |
5668890 | Winkelman | Sep 1997 | A |
5673075 | Jacobs et al. | Sep 1997 | A |
5905579 | Katayama et al. | May 1999 | A |
5920351 | Takeshima et al. | Jul 1999 | A |
5956468 | Ancin | Sep 1999 | A |
6038340 | Ancin et al. | Mar 2000 | A |
6249592 | Fan et al. | Jun 2001 | B1 |
6252675 | Jacobs | Jun 2001 | B1 |
6289122 | Karidi | Sep 2001 | B1 |
6307645 | Mantell et al. | Oct 2001 | B1 |
6373483 | Becker et al. | Apr 2002 | B1 |
6377702 | Cooper | Apr 2002 | B1 |
6421142 | Lin et al. | Jul 2002 | B1 |
6473202 | Kanata et al. | Oct 2002 | B1 |
6480624 | Horie et al. | Nov 2002 | B1 |
6529291 | Schweid et al. | Mar 2003 | B1 |
6775032 | Jacobs | Aug 2004 | B2 |
20010030769 | Jacobs | Oct 2001 | A1 |
20020075491 | Bares | Jun 2002 | A1 |
20030179911 | Ho et al. | Sep 2003 | A1 |
20030206307 | Handley et al. | Nov 2003 | A1 |
Number | Date | Country |
---|---|---|
03040078 | Feb 1991 | JP |