This invention pertains to the field of inkjet printing systems, and more particularly to a method for improving productivity by reducing the time required to print an image, while reducing image artifacts associated with the order in which inks are deposited on a receiver medium.
A typical inkjet printer reproduces an image by ejecting small drops of ink from a printhead containing ink nozzles, where the ink drops land on a receiver medium (typically paper) to form ink dots. A typical inkjet printer reproduces a color image by using a set of color inks, usually cyan, magenta, yellow, and black, although many other combinations of ink colors are known to be used in the art.
One attribute of modern inkjet printers is that they typically possess the ability to vary (over some range) the amount of each ink that is deposited at a given location on the page. Inkjet printers with this capability are referred to as “multitone” inkjet printers because they can produce multiple density tones at each location on the page. Some multitone inkjet printers achieve this by varying the volume of the ink drop produced by the nozzle by changing the electrical signals sent to the nozzle or by varying the diameter of the nozzle. See for example U.S. Pat. No. 4,746,935 to Allen, entitled “Multitone ink jet printer and method of operation.” Other multitone inkjet printers produce a variable number of smaller, fixed size droplets that are ejected by the nozzle, all of which are intended to merge together and land at the same location on the page. See for example U.S. Pat. No. 5,416,612 to Ingraham et al., entitled “Apparatus and method for producing color half-tone images.” These techniques allow the printer to vary the size or optical density of a given ink dot, which produces a range of density levels at each location, thereby improving the image quality.
Another common way for a multitone inkjet printer to achieve multiple density levels is to print a small amount of ink at a given location on several different passes of the printhead over that location. This results in the ability to produce a greater number of density levels than the nozzle can fundamentally eject, due to the buildup of ink at the given location over several passes. See, for example, U.S. Pat. No. 5,923,349 to Meyer, entitled “Density-based print masking for photographic-quality ink-jet printing.”
Many inkjet printers employ a printhead having an array of ink nozzles that is passed horizontally over the receiver medium to print the ink drops that form the image in horizontal strips. Each motion of the printhead horizontally across the receiver medium is called a “print pass,” a “print swath,” or simply a “swath.” The receiver medium is then advanced vertically after each pass of the printhead, and the next strip of the image is printed, and so on. The amount of the vertical advance may or may not be equal to the height of the printhead. If the vertical advance is less than the height of the printhead, then the printhead will pass over a given location on the page multiple times, resulting in multiple opportunities to eject ink drops that all land at the same location. Such techniques are commonly referred to as “print masking” or “multi-pass printing”, and are well known in the art. See, for example, commonly-assigned U.S. Pat. No. 7,715,043 to Billow et al., entitled “Multilevel print masking method.” It is also common for the printhead to print in both a left-to-right direction across the page, and a right-to-left direction across the page. This technique is commonly known as “bi-directional” printing, and results in improved print times due to the fact that the printhead does not need to return to the original starting position before the next swath is printed, as it simply prints in the opposite direction as the previous swath. This technique is well known to those skilled in the art.
For inkjet printers that eject a single fixed size ink drop at each location in each pass of the printhead, the number of ink drops destined to be printed at a given location within a strip determines a lower bound on the number of passes of the printhead that are required to complete the printing. The more passes of the printhead that are required to print each strip, the longer the time will be to completely print the page. Thus, to improve customer satisfaction, there is a need to print an image in as little time as possible, using the fewest passes of the printhead over the receiver medium as possible.
U.S. Pat. No. 5,600,353 to Hickman, et al., entitled “Method of transitioning between ink jet printing modes,” describes a method of transitioning back and forth between black print swaths and color print swaths within an image to improve print time.
U.S. Pat. No. 6,257,698 to Bloomberg, et al., entitled “Method of ink jet printing with varying density masking printing and white space skipping for faster paper advancement,” describes a method of switching between a color print mode and a black print mode in an inkjet printer having a color nozzle array and a black nozzle array.
U.S. Pat. No. 6,533,393 to Meyer, et al., entitled “Printer with multiple printmodes per swath,” describes a method of identifying colored regions and monochrome regions within a print, and printing the monochrome regions using fewer passes than the colored regions to improve the print time.
Commonly-assigned U.S. Patent Application Publication 2012/0001975 to Rueby entitled “Efficient data scanning for print mode switching,” describes a method of inspecting raster lines of image data downstream from the current print swath to determine if any colored ink is required or if only black ink is required, and then switching into a grayscale or color print mode accordingly.
Another aspect of inkjet printers is that often different colors can result from depositing the inks in a different order on the page. For example, if a cyan ink drop is printed on top of a magenta ink drop, you get a different color than if a magenta drop is printed on top of a cyan ink drop. This situation often occurs as a result of bi-directional printing. Even though the amount of each colored ink is the same in each case, the different order of deposition causes a different color to be perceived. This effect can be particularly large and visually objectionable when vertically adjacent strips of the image are printed in a single pass but with opposite print directions. This effect is commonly known as “chromatic banding,” and is known in the prior art as a significant problem with inkjet printing systems. Many techniques have been disclosed as attempts to reduce or compensate for chromatic banding. For example, see commonly-assigned U.S. Patent Application Publication 2010/0013878 to Spaulding et al., entitled “Bi-directional print masking;” U.S. Patent Application Publication 2003/0048327 to Serra et al., entitled “Color correction for bi-directional printing in inkjet printers;” U.S. Patent Application Publication 2012/0013665 to Vall et al., entitled “Fluid ejection printing with automatic print mode switching;” U.S. Pat. No. 6,354,692 to Ross, entitled “Method and apparatus for minimizing color hue shifts in bi-directional inkjet printing;” and U.S. Pat. No. 7,054,034 to Underwood, entitled “Printing apparatus and method for generating direction dependent color map.”
There remains a need for reducing print time in a color inkjet printer, without producing objectionable image artifacts, such as chromatic banding.
In accordance with the present invention, there is provided a method of using an inkjet printer to print an input digital image having a plurality of rows and columns of input pixels, each input pixel having an input color specified by input code values for one or more input color channels, wherein the inkjet printer includes a printhead having ink nozzles for printing print image data by ejecting ink drops of one or more ink colors for an array of printer pixels, said inkjet printer being adapted to print horizontal strips of print image data using one or more print passes, comprising:
a) determining print image data for a particular strip responsive to input code values for corresponding input pixels, the print image data providing an indication of a number of ink drops of each ink color to be printed for corresponding printer pixels;
b) determining control channel image data for the particular strip responsive to the input code values for the corresponding input pixels;
c) determining a number of print passes for the particular strip responsive to the determined control channel image data;
d) controlling the inkjet printer to print the particular strip of print image data using the determined number of print passes; and
e) repeating steps a)-d) for each strip required to print the input digital image.
It is an advantage of the present invention that print time is reduced by printing each strip of the image in as few passes as are possible, based on the number of ink drops required for each ink color in each strip.
It is another advantage of the present invention that the number of print passes used to print a strip of the image is determined based on the number of drops of each ink that are required to print each location in the strip, regardless of whether the strip contains colored ink only, black ink only, or a combination of both colored and black inks.
It is yet another advantage that images are reproduced that are substantially free of chromatic banding artifacts, resulting in high print quality and low print time.
Many of the above mentioned prior art techniques improve print time by switching to a faster print mode for black regions, and use a slower print mode to print color regions. This is often accomplished by using a fewer number of print passes for the black regions, and a higher number of print passes for the colored regions. Often, the black regions can be printed using a single drop of black ink, printed in a single pass of the printhead over the page, while the colored ink regions may require more than one drop of a particular color ink, and therefore requires more than one pass of the printhead over a particular location to deposit the required number of colored ink drops in order to achieve the desired color. For example, a particular blue color may require two drops of cyan ink and two drops of magenta ink at each printing location on the page. This blue color would therefore require at least two passes of the printhead over the page to deposit the number of colored ink drops required to reproduce the blue color. However, a lighter shade of blue color might require only one drop of cyan ink and one drop of magenta ink. If a strip of image data contained only this light blue color, it could be printed in a single pass of the printhead over the page, resulting in improved throughput and decreased print time.
There are often many lighter colors (which can be referred to as “lighter colors” or “one pass colors”) that require at most one drop of any of the ink colors, and therefore can be printed in one pass of the printhead. The present invention takes advantage of this aspect such that any strip that contains only lighter colors will print in one pass, regardless of whether the strip contains black, color, or a mixture of black and color information. This is a significant departure from the prior art techniques, which use the presence of color information in a strip to select a slower print mode for that strip.
While the ability to print colored information in a single pass of the printhead provides for a significant print speed advantage (due to fewer passes of the printhead required to print the page), it has been observed for some lighter colors that even though they are capable of being printed in one pass (because they only require at most one drop of any ink color), chromatic banding artifacts can occur due to the inverted ink lay-down order from bi-directional one pass printing. It should be noted that only some of the lighter colors will exhibit objectionable chromatic banding when printed in a one-pass, bi-directional print mode; and not all lighter colors will exhibit objectionable chromatic banding. For example, a cyan color that requires only one drop of cyan ink will not show any chromatic banding, because it does not matter if the strip of the image containing the cyan color is printed left-to-right or right-to-left, since the ink deposition order is the same in either case. However, a green color having one drop of cyan ink and one drop of yellow ink may show objectionable chromatic banding when subsequent strips of the image are printed in alternating print directions. The present invention compensates for this by providing a method for indicating which of the lighter colors will show objectionable levels of chromatic banding, and flagging those colors as requiring more than one pass to print, thereby forcing the printer to print those colors using at least two passes to preserve high image quality. The present invention will now be described in detail herein below.
Turning to
The input digital image 10 is typically provided by an application program running on a computer, but may come from a variety of sources. The input digital image 10 is then processed by a raster image processor 20 to create print image data 30. The raster image processor 20 may be implemented in hardware or software running inside a host computer or inside an inkjet printer, and contains a number of image processing algorithms that are required to convert the input digital image 10 into a form that can be sent to an inkjet printer. These algorithms include resizing, sharpening, color correction, halftoning, and others, and will be familiar to those skilled in the art. The details of the raster image processor 20 that are specific to the present invention will be discussed later.
The print image data 30 has been converted from an input color space, typically RGB, to the color space of the printer's inks, typically cyan, magenta, yellow, and black (CMYK). The invention will apply equally well to any set of colorants, as one skilled in the art will understand. The print image data 30 has also been processed by the raster image processor 20 to reduce the number of density levels from the original 256 levels in the input digital image, down to match the number of printing levels available in the inkjet printer, which is typically on the range of 2-8. The algorithm that performs this bit depth reduction is called generally “halftoning” or “multitoning,” and for illustration purposes it will be assumed that the number of printing levels (i.e., halftone levels) will be 3, corresponding to 0, 1, or 2 ink drops at a given pixel. The halftoning algorithm may take many forms, as will be understood by one skilled in the art, and is not fundamental to the present invention.
The print image data 30 is then processed by a swath generator 40 to create swath image data 50. The swath image data 50 represents the data that is required to be printed by one pass of the printhead, and is conditioned to be sent to an inkjet print engine 60. The swath image data contains binary information that instructs the printer to eject a drop of ink or not for each ink color at each pixel in the swath. The pixels in the swath are stored at the printing resolution, and can thus be referred to as printer pixels. The swath generator 40 contains an algorithm commonly called “print masking” or “shingle masking” that takes a strip of print image data 30 and separates it into a number of swath image data strips, where the number of swath image data strips corresponds to the number of print passes that is desired for the given strip of the image. The details of the print masking algorithm are beyond the scope of the present description, and will be understood by one skilled in the art.
Finally, the swath image data 50 is sent to the inkjet print engine 60, which contains an inkjet printhead having a plurality of ink nozzles for ejecting drops of ink for a set of ink colors, typically cyan, magenta, yellow, and black. For illustration purposes, it is assumed that the ink nozzles can eject a single drop of a fixed size for each of the ink colors at each pixel location in a single pass of the printhead across the page. Typically, the inkjet printhead will have several hundred ink nozzles for each ink color arranged in a vertical column. The spacing between the ink nozzles is such that the height of the printhead is typically 0.5-1.0 inch, which corresponds to the height of a print swath as the printhead is moved horizontally across the page.
Turning now to
The input digital image 10 of
In
The color managed image data 25 shown in
After the halftoned print image data 30 is created by the raster image processor 20 of
Another function of the swath generator 40 is to format the swath image data into horizontal strips that correspond to the height of the printhead as it traverses across the page. These strips can be projected back onto the print image data to identify regions of pixels in the image that get printed together in the same swath. These are shown as image strips 110a-110i in
Turning now to
The color managed image data 25 and the contone control channel image data 230 are processed by an image pipeline processor 240, which contains the remainder of the image pipeline algorithms described earlier, such as resizing, halftoning, etc. An output of the raster image processor 20 is the print image data 30 as described earlier, but also another output is halftone control channel image data 250, which has been halftoned and processed through the image pipeline processor 240 just as if it was another ink channel of the image.
A print mode selection processor 270 then analyzes the halftone control channel image data 250 for each strip of the image to select a print mode 280 that will be used to print the strip. The print mode 280 that is selected for a strip is then passed to the swath generator 40, which uses the selected print mode 280 to process the print image data 30 into the swath image data 50, which is then sent to the inkjet print engine 60 for printing.
The control channel image data is an important feature of the present invention, and a detailed example of how it is used to advantageously control the printing of an inkjet image will now be described. Returning to a discussion of the sample input digital image 10 of
Referring to
Next, referring back to
The print mode selection processor 270 of
For image strips 110a-110e near the top of the image, which include only pixels in the yellow sun region 70, the cyan sky region 80, and the green grass region 90, the halftone control values for every pixel within the image strip 110a-110e has the value “1,” indicating that only one drop of ink is required. Since all pixels within each of these image strips 110a-110e require at most 1 drop of ink of any color, this implies that the image strips 110a-110e can be printed in one pass. Accordingly, the print mode selection processor 270 sets the print mode 280 to a one-pass print mode for these image strips 110a-110e. The swath generator 40 (
In
In this fashion, the present invention prints any image strip that is capable of being printed in one pass with a one-pass print mode, regardless of whether the image strip contains color information, black information, or a mixture of both. This provides for a significant reduction in print time, and an advantage over the prior art methods. Additionally, since the halftone control channel image data 250 is a single channel, the print mode selection processor 270 simply has to analyze a single channel of information to determine if any of the pixels in the strip require two drops of ink. It is not necessary to analyze all of the ink channels, thereby saving calculations and potentially saving more time.
While printing an input digital image 10 according to the method of the present invention provides for faster print times with high image quality, it has been observed that even though some colors are capable of being printed in one pass, chromatic banding artifacts can still be objectionable. For example, consider the green grass region 90 of the input digital image shown in
In some embodiments, chromatic banding artifacts can be substantially reduced by altering the contone control value stored in the color look-up table 210 for colors that are susceptible to chromatic banding to have a higher value (e.g., Q=255). Accordingly, the contone control channel image data 230 that is generated for the input image of
A one-pass color test 305 is used to analyze the nodes of the original color look-up table 300 to identify those corresponding to colors that can be printed using one-pass (i.e., colors where no more than one ink drop is required for any color). In some embodiments, the one-pass color test 305 calculates the number of ink drops required for each of the CMYK color channels. If the maximum number of ink drops for any color channel is no more than one, then the color can be printed in one pass. For any colors that require more than one pass (i.e., at least one color channel requires more than one drop), a set control channel to high value step 340 is used to set a contone control channel value 350 to a high value (e.g., 255), which indicates that more than one pass is required.
For the colors that can be printed with one pass, a print one-pass left-to-right step 310 is used to print a patch having the corresponding color value where the printhead is moved across the page left-to-right. Similarly, a print one-pass right-to-left step 315 is used to print a patch having the corresponding color value where the printhead is moved across the page right-to-left, thereby inverting the laydown order of the inks Chromatic banding will manifest itself as a color difference between the two patches.
Measure printed color steps 320 and 325 are used to measure the printed patches printed in the two directions using an appropriate color measuring device such as a spectrophotometer or a colorimeter, the use of which will be well known to those skilled in the art. In a preferred embodiment, the measured colors are represented in the well-know CIELAB color space, although any color space that represents the patch color for a human observer can be used. Examples of other color encodings that could be used to represent the patch colors would include the CIELUV color space and the CIECAM02 color appearance space.
A compute color difference step 330 is used to compute the perceived color difference between the two measured colors. In a preferred embodiment, the color difference is represented using the well-known CIELAB ΔE*, although any appropriate perceived color difference metric known in the art can alternatively be used. The color difference value represents the perceived color difference that would be observed if the color was printed in a one-pass bi-directional print mode for two subsequent passes printed in opposite directions.
A comparator 335 is used to compare the color difference value against a predefined threshold (e.g., ΔE*=5) to determine if the color difference is objectionable or not. If the color difference is less than or equal to the predefined threshold, then the level of chromatic banding that would result from printing the color in a one-pass bi-directional print mode will not be objectionable. In this case, a set control channel to low value step 345 is used to set the contone control channel value 350 to a low value (e.g., 128). Otherwise, if the comparator 335 determines that the color difference is larger than the predefined threshold, then the level of chromatic banding that will result from printing the color in a one-pass bi-directional print mode will be objectionable, and the set control channel to high value step 340 is used to set the contone control channel value 350 to a high value (e.g., 255). This will force this color to print in two passes to prevent objectionable chromatic banding artifacts from occurring, even though the color could be printed with only one pass.
The color look-up table 210 is then formed by adding the determined contone control channel value 350 as an additional color channel together with the CMYK color channels of the original color look-up table 300. The color look-up table 210 is then used to control the printing of the inkjet image according to the present invention as described above with respect to
The method for determining the contone control channel values 350 described in
The invention has been described in detail with particular reference to certain preferred embodiments thereof, but it will be understood that variations and modifications can be effected within the spirit and scope of the invention. For example, it will be known to one skilled in the art that the invention will apply equally well to inkjet printers using a different set or different number of inks, such as printers that use multiple shades of gray ink, or multiple shades of cyan or magenta inks
The invention will also apply equally well to other printmodes that have higher numbers of passes. For example, the invention will apply to an inkjet printer that can print more than two drops of ink at each image pixel, or prints images in more than two print passes. The invention would apply equally well to select between print modes having two and three passes, for example, or any two print modes having any number of passes. The invention could also be easily extended to select between more than two print modes as well.
Consider the case of a printer that is adapted to print 0, 1, 2 or 3 drops of a particular color ink at each image pixel, and can print in a one-pass print mode, a two-pass print mode, or a three-pass print mode. In such cases, the control channel value stored in the color look-up table 210 (
It will also be known to one skilled in the art that the image processing described within the scope of the invention could be performed on a host computer, or equally well on an embedded CPU or logic within the inkjet printer itself.