1. Field of the Invention
The present invention relates to an image processor and an image processing method. More particularly, the present invention relates to an image processor configured to decrease color difference caused by individual variations in the ejection characteristics of a plurality of nozzles that eject ink.
2. Description of the Related Art
In print heads used in inkjet printing apparatus, individual variations are sometimes exhibited in the ejection characteristics (i.e., the ejection volume and ejection direction, for example) of a plurality of nozzles, due to manufacturing errors and other factors. When such variation exists, printed images become more susceptible to density unevenness.
In the related art, one established process for decreasing such density unevenness involves using head shading technology such as that disclosed in Japanese Patent Laid-Open No. H10-013674 (1998). Head shading is a technology that corrects image data according to information regarding the ejection characteristics of individual nozzles. By means of such correction, the number of ink dots that are ultimately printed is increased or decreased for each nozzle, and the concentration (density) in the printed image can be made nearly uniform across the nozzles.
However, even when using the head shading technology described above, if a color is reproduced by overlapping two or more kinds of ink, a color difference occurs between the color of an area that is printed by nozzles having an ejection amount that differs from the standard amount and the color that is originally supposed to be printed.
By way of example, consider the case of printing a blue image using nozzles exhibiting standard ejection volumes for cyan ink, and greater-than-standard ejection volumes for magenta ink. In this case, the magenta ink with the greater-than-standard ejection volumes will form dots on the print medium that are larger than the cyan dots. If such a print head is corrected by means of head shading (i.e., an HS process), then magenta will be printed using fewer dots than the standard number of dots. In other words, the number of magenta dots will be less than the number of cyan dots. As a result, the blue image regions will contain a mixture of solid cyan dots of standard size, as well as overlapping dots wherein cyan dots are printed inside larger magenta dots. The coloring in such regions will be different from the coloring in a blue image printed using cyan dots and magenta dots of standard size and number. This occurs because the ratio of the print medium occupied by solid cyan, the ratio occupied by solid magenta, and the ratio occupied by blue resulting from overlapping cyan and magenta, all differ between the above two images.
Such variation in the surface area ratios occupied by respective colors occurs not only because of variation in ejection volume, but also because of variation in ejection direction. In other words, even if density unevenness in solid cyan images or solid magenta images is resolved by the head shading of the related art, the variation in ejection characteristics will still lead to color difference in blue images expressed by overlapping combinations of these colors. Furthermore, since the degree of color difference differs among the regions printed by nozzles with different ejection characteristics, different shades of color are perceived in individual regions that should have the same coloring, which is noticed as color unevenness.
Taking the aforementioned problem into consideration, the object of the present invention is to provide an inkjet printing apparatus, inkjet printing method, image processor and image processing method capable of reducing color difference that occurs when printing an image using a plurality kinds of ink that is caused by variation in ejection characteristics among a plurality of nozzles.
The first aspect of the present invention is an inkjet printing apparatus that prints an image on a printing medium by using a print head, wherein a plurality of nozzle arrays that eject ink of the same color are arranged such that there are joint sections in a direction that differs from the direction that the nozzles are arranged in the nozzle array, and ejecting ink from the nozzles according to input image data, the inkjet printing apparatus comprising: a correction value calculation unit configured to calculate correction values for each nozzle group obtained by dividing up the plurality of nozzles of the print heads in order to correct input image data by reducing color differences among the images printed by the different nozzle groups; wherein the correction value correction unit comprises: a first correction value calculation unit configured to calculate a first correction values as the correction value, the first correction value being used for correcting input image data corresponding to a first nozzle group that prints a patch, based on the color measurement value obtained by measuring a color of a patch printed by first nozzle group that is located at discrete positions among the nozzle groups; and a second calculation unit configured to calculate a second correction value as the correction value, the second correction value being used for correcting the input image data corresponding to a second nozzle group of the plurality of nozzle groups different from the first nozzle group by performing a complementary process based on the first correction value; wherein the second calculation unit performs a different complementary process for a second nozzle group that is located in the joint section and a second nozzle group that is located in a non-joint section that is different from the joint section.
With the present invention, it is possible to suppress degradation of an image that occurs due to variation in printing characteristics of each of a plurality of nozzles.
Further features of the present invention will become apparent from the following description of exemplary embodiments (with reference to the attached drawings).
Hereinafter, embodiments of the present invention will be described in detail and with reference to the drawings.
Printing paper 106 used as a printing medium is conveyed in the y direction that is orthogonal to the x direction in the figure by rotation of a conveying roller 105 (and other rollers not illustrated in the figure) driven by driving force of a drive motor (not illustrated in the figure). While the printing paper 106 is being conveyed, a plurality of printing nozzles in each of the print heads 101 to 104 eject ink according to printing data and at a frequency that corresponds to the conveyance speed of the printing paper 106. By doing so, respective color dots corresponding to the printing data are printed at a specified resolution, and an image is formed on one sheet of printing paper 106.
At a position downstream to the nozzle arrays 101 to 104 in the Y direction, a scanner 107 is disposed, with scanning elements arranged at a predetermined pitch parallel to the nozzle arrays 101 to 104. The scanner 107 is able to scan the image printed by the nozzle arrays 101 to 104, and output the result as multi-valued RGB data.
It should be appreciated that a printing apparatus to which the present invention can be applied is not limited to the full-line type apparatus described above. For example, the present invention may also be applied to a serial type printing apparatus, wherein printing is conducted by scanning the print heads and scanner in the direction orthogonal to the conveying direction of the printing paper.
The host PC 300 primarily includes the following components. The CPU 301 executes processes according to programs stored in the HDD 303 and the RAM 302. The RAM 302 is volatile storage, and temporarily stores programs and data. The HDD 303 is non-volatile storage and similarly stores programs and data. In the present embodiment, the MCS data characteristic to the present invention and hereinafter described is also stored in the HDD 303. The data transfer interface (I/F) 304 controls the sending and receiving of data with respect to the printer 100. The connection protocol used for this sending and receiving of data may be USB, IEEE 1394, or LAN, for example. The keyboard/mouse I/F 305 is an I/F that controls a keyboard, mouse, or other human interface device (HID). Via this I/F, the user is able to input information. The display I/F 306 controls the display of information on a display (not shown).
On the other hand, the printer 100 is constructed mainly having the following elements. As will be described later, a CPU 311 executes processing such as computation, control and judgment according to programs stored in a ROM 313 or RAM 312. In other words, the CPU 311 performs the function of a first calculation unit, second calculation unit and correction value calculation unit of the present invention. The RAM 312 is volatile storage that temporarily stores programs and data. The ROM 313 is nonvolatile store that can store table data and programs that are used in processing described later.
The data transfer I/F 314 controls the sending and receiving of data with respect to the PC 300. The head controller 315 supplies print data to each of the nozzle arrays 101 to 104 illustrated in
The image processing accelerator 316 is hardware that is able to execute image processing faster than the CPU 311. More specifically, the image processing accelerator 316 is configured to read parameters and data relevant to image processing from particular addresses in the RAM 312. When the CPU 311 writes such parameters and data to the particular addresses in the RAM 312, the image processing accelerator 316 is activated, and the data is subjected to predetermined image processing. In the present embodiment, the parameters of a table used by an MCS processor to be hereinafter described are created by a process executed in software by the CPU 311. In contrast, image processing at the time of printing, including the processes of the MCS processor, are executed in hardware by the image processing accelerator 316. It should also be appreciated that the image processing accelerator 316 is not a required component, and that depending on the printer specifications and other factors, both the above process for creating table parameters as well as the image processing may be executed by the CPU 311 alone.
Given the printing system described above, the following will describe embodiments for decreasing color difference caused by individual variations in the ejection characteristics of a plurality of nozzles when printing an image using a plurality of inks.
The eight nozzles 10211 and 10221 of the cyan ink print head 102 are all able to eject a standard volume of ink in a standard direction, and same-size dots are printed at equal intervals on the print medium. In contrast, although the ejection directions are all normal for the eight nozzles of the magenta print head 103, the four nozzles 10311 on the left side of
If image data is corrected by the head shading of the related art when using print heads with such ejection characteristics, then the image data corresponding to the magenta nozzles 10321 will be corrected in a decreasing direction. As a result, dot data (i.e., binary data) specifying whether to print (1) or not print (0) individual dots will be generated such that the number of dots ultimately printed by the magenta nozzles 10321 becomes less than the number of dots printed by the magenta nozzles 10311.
In the HS process, the numbers of printed dots are adjusted to make the following quantities equal to each other: the total surface area of the cyan areas (i.e., dots) 10623; the total surface area of the blue areas 10624; and the total surface area of the magenta areas 10625. Consequently, if the color observed as a result of the combination of the light absorption characteristics of the cyan areas 10623 with the light absorption characteristics of the magenta areas 10625 is equivalent to the color observed as a result of the light absorption characteristics of the blue areas 10624, then those areas will appear to be almost identical in color to the blue areas 10624. As a result, the blue image in the first area on the printing paper 106 will appear to be the same color as the blue image in the second area.
However, in cases where an area is formed by overlapping a plurality of different inks like the blue areas 10624, the color observed as a result of that area's light absorption characteristics will not necessarily match the color observed as a result of the combination of the light absorption characteristics in the respective areas of the plurality of inks. As a result, for the region as a whole, a color will be produced that is deviated from the standard color intended. This in turn causes the blue image in the first area of the printing paper 106 to be perceived as a different color from the blue image in the second area.
Consider also multi-value printing apparatus wherein the dot size can be changed, such as 4-value printing apparatus that print using three-stage dots (large, medium, and small), for example. Such apparatus are also susceptible to individual variations in the largeness of dots at the respective sizes, due to individual variations in ejection volumes among the nozzles. In these cases, color difference might still be produced due to reasons similar to the above, even if correction is performed by means of the head shading of the related art. Consequently, the present invention is not limited to 2-value printing apparatus, and may also be applied to multi-value (larger than 3-value) printing apparatus.
The embodiments of the present invention that will be explained below reduce color difference by performing MCS (Multi Color Shading) that will be explained below on image data comprising groups of a plurality of color signals.
Here, image processing that includes the basic MCS process that will be performed in the embodiments will be explained first based on
As illustrated in
In the image processor 402, first the input color conversion processor 403 takes the input image data received from the input unit 401, and converts the data into image data compatible with the printer's color reproduction range. In the present embodiment, the input image data is data that indicates color coordinates (R, G, B) in a color coordinate space, such as the sRGB space used for expressing color on monitors. By using an established technique availing of such as matrix operations, a 3D LUT, or other processing, the input color conversion processor 403 converts the input image data R, G, and B of 8-bit into image data (R′, G′, B′) in the printer's color reproduction range. This image data is expressed as a color signal made up of three elements. In the present embodiment, the conversion process is conducted using a three-dimensional lookup table (LUT) in conjunction with interpolation operations. Also, in the present embodiment, the resolution of the 8-bit image data handled in the image processor 402 is 600 dpi, whereas the resolution of the binary data obtained by the quantization of the quantization processor 408 is 1200 dpi, as described later.
The MCS (multi-color shading) processor 404 corrects the image data that has been converted by the input color conversion processor 403. As described later, this correction process also uses a correction table made up of a three-dimensional lookup table. By means of this correction process, the color difference described earlier can be reduced, even when there exist individual variations in the ejection characteristics among the nozzles of the print heads at the output unit 909. The specific contents of the table as well as the correction process executed by the MCS processor 904 that uses the table will be described later.
The ink color conversion processor 905 takes the image data containing the 8-bit R, G, and B that were processed by the MCS processor 404, and converts the image data into image data that is in accordance with the color signal data of the inks used by the printer. Since the printer 100 of the present embodiment uses black (K), cyan (C), magenta (M), and yellow (Y) inks, the RGB signal image data is converted into image data made up of 8-bit color signals for K, C, M, and Y, respectively. This color conversion is conducted using a three-dimensional lookup table in conjunction with interpolation operations, similarly to the process executed by the input color conversion processor described above. However, as described earlier, other conversion techniques such as matrix operations may also be used.
The head shading (HS) processor 406 accepts the ink color signal image data as input, and converts the respective 8-bit data for each ink color into ink color signal image data according to the individual ejection volumes of the nozzles that constitute the print heads. In other words, the HS processor 906 conducts a process that is similar to the head shading process of the related art. In the present embodiment, this HS process is conducted using a one-dimensional lookup table.
The TRC (tone reproduction curve) processor 407 takes the image data made up of respective HS-processed 8-bit ink color signals, and for each ink color, the TRC processor 907 corrects the ink color signals in order to adjust the number of dots printed by the output unit 409. Typically, the number of dots printed onto a print medium does not exist in a linear relationship with the optical density realized on the print medium as a result of that number of dots. Consequently, the TRC processor 907 corrects the respective image data of 8-bit signal so as to adjust the number of dots printed onto the print medium in keeping with a linear relationship.
The quantization processor 408 quantizes the 8-bit, 256-value image data for each ink color that was processed by the TRC processor 407, and generates binary data of 1-bit that specify whether to print (1) or not print (0). The configuration of the quantization processor 408 is not particularly limited in the application of the present invention. For example, the quantization processor 408 may be configured to directly convert the 8-bit image data into binary data (dot data), or alternatively, the quantization processor 408 may first quantize the multi-value data into a multi-valued data of several-bit, and then convert the quantized results into the final binary data. The method used for the quantization process may be an error diffusion method, a dithering method, or some other halftoning process.
On the basis of the binary data (dot data) obtained by quantization, the output unit 409 prints by driving the print heads and ejecting ink of respective colors onto a print medium. In the present embodiment, the output unit 409 is realized by means of a printing mechanism provided with the nozzle arrays 101 to 104 illustrated in
First, a process for generating the table parameters illustrated in
After the process for generating table parameters for the MCS processor has begun, first, in step S502, a measurement image (patch) is printed on the printing medium by ejecting ink from all of the nozzles of the print head illustrated in
Hereinafter, a method for printing measurement images will be described in association with
Subsequently, processing similar to that of normal data is performed by the HS processor 406, the TRC processor 407, and the quantization processor 408, and measurement images are printed onto the printing paper 106 by the output unit 409. During this process, the image data for the measurement images expressed with (R, G, B) is converted into image data (C, M, Y, K) for ink color signals by the ink color conversion processor 405. At this point, if one of the image data for the measurement images is R=0, G=0, B=255, for example, then that color signal will be converted into the color signal (K, C, M, Y)=(0, 255, 255, 0) which is a image data indicating cyan and magenta are printed 100% respectively. Subsequently, by means of the processes of the HS processor 406 and thereafter, the image data (K, C, M, Y)=(0, 255, 255, 0) becomes the dot data illustrated in
Herein, X is information indicating nozzle positions, in 4-nozzle units, in the X direction on the nozzle arrays 101 to 104 illustrated in
Similarly to
Referring back to
In this way, a blue measurement image for the lattice point whose device color image data D[X] is (R, G, B)=(0, 0, 255) is printed by the cyan and magenta print heads 102 and 103 illustrated in
In the following description, the first area is taken to be X=1, the second area is taken to be X=2, the first area color information is taken to be B[1]=(R1, G1, B1), and the second area color information is taken to be B[2]=(R2, G2, B2).
In step S504, a color difference quantity T[X] for each area [X] is computed from a target color A=(Rt, Gt, Bt) as well as the color information B[X] acquired in step S503. Herein, the target color A is a target measurement value in a case wherein a (R, G, B)=(0, 0, 255) signal is printed and measured with the printer in the present embodiment. The target color A may also be the actual color result measured by the scanner 107 for an image that has been printed using nozzles with standard ejection volumes.
In other words, the color difference T can be expressed as follows:
Color deviation T[1]=B[1]−A=(R1−Rt,G1−Gt,B1−Bt)
Color deviation T[2]=B[2]−A=(R2−Rt,G2−Gt,B2−Bt)
In the present example, in the first area, both cyan and magenta have standard ejection volumes. For this reason, R1=Rt, G1=Gt, and B1=Bt, and the color difference becomes T[1]=0 generally. In contrast, in the second area, cyan has a standard ejection volume, but magenta has a greater-than-standard ejection volume. For this reason, values different from the target colors (Rt, Gt, Bt) are inevitably detected. By way of example, consider R2<Rt, G2=Gt, and B2=Bt. In this case, the coloration is such that cyan is stronger compared to the standard blue color, and the color difference becomes T[2]=((R2−Rt≠0), 0, 0).
In the next step S505, a correction value T−1[X] is computed from the color difference T[X] for each area [X]. In the present embodiment, correction values are simply obtained using the inverse transform
T
−1
[X]=−T[X]
Consequently, the respective correction values for the first and second areas become
T
−1[1]=−T[1]=A−B[1]=(Rt−R1,Gt−G1,Bt−B1)
T
−1[2]=−T[2]=A−B[2]=(Rt−R2,Gt−G2,Bt−B2)
Herein, since T[1]=0, the correction value for the first area becomes T−1[1]=0. In contrast, since T[2]=((R2−Rt≠0), 0, 0), the correction value for the second area becomes T−1[2]=((Rt−R2≠0), 0, 0). If R2<Rt, then Rt−R2 becomes a positive value, and thus the correction value strengthens red tint to reduce cyan. If the opposite is true and R2>Rt, then Rt−R2 becomes a negative value, and thus the correction value weakens red tint to increase cyan.
In step S506, an equivalent correction value Z−1[X] is computed from the correction value T−1[X] for each area. A equivalent correction value refers to a correction value for taking the correction value T−1[X] that was obtained in the measured color space, and realizing that correction value in the device color space used in the present embodiment. The equivalent correction values are also the table parameters of the MCS processor. For the first area, since the correction value in the color meter space is T−1[1]=0, the equivalent correction value in the device color space is likewise Z−1[1]=0. In contrast, for the second area, a non-zero value is obtained, and in the present example, a correction value that reduces cyan in the device color space is obtained.
Assuming that the color meter space and the device color space match completely, the equivalent correction values become
Z
−1[1]=T−1[1]=−T[1]=A−B[1]=(Rt−R1,Gt−G1,Bt−B1)
Z
−1[2]=T−1[2]=−T[2]=A−B[2]=(Rt−R2,Gt−G2,Bt−B2)
However, the color spaces often do not match in typical situations, and thus color space conversion becomes necessary. At this point, if a linear transformation is possible between the two color spaces, then a matrix transformation like the following or other established techniques can be used to compute equivalent correction values.
Herein, a1 to a9 are transform coefficients for transforming the measured color space into the device color space.
In contrast, if a linear transformation is not possible between the two color spaces, then a three-dimensional lookup table or other established technique may be used to evaluate
Z
−1[1]=F(Rt−R1,Gt−G1,Bt−B1)
Z
−1[2]=F(Rt−R2,Gt−G2,Bt−B2)
wherein F is a function for transforming the measured color space into the device color space, and wherein the transformation relationship of the lookup table is in accordance with this function F.
Also, if the relationship between the correction value T−1 and the equivalent correction value Z−1[X] differ depending on the color, then a three-dimensional lookup table or other established technique may be similarly used to evaluate
Z
−1[1]=F(Rt,Gt,Bt)−F(R1,G1,B1)
Z
−1[2]=F(Rt,Gt,Bt)−F(R2,G2,B2)
wherein F is a function for transforming the measured color space into the device color space.
In so doing, a table parameter for each area [X] corresponding to particular nozzles can be computed with respect to lattice points selected as the colors particularly susceptible to significant color difference. Additionally, the table parameters for lattice points other than the above selected lattice points can be computed by interpolating between the selected lattice points. The method used to compute values by means of interpolation may be an established method, and further description thereof is herein omitted.
The table parameters for each lattice point (i.e., the equivalent correction values Z−1[X]) computed as above are stored in memory for each area [X] and in association with their lattice points (correction parameter configuration). The memory used to store values at this point is herein taken to be the HOD 303 of the host PC in the present embodiment, but may also be non-volatile memory provided inside the printer itself. In either case, the created table parameters are preferably handled so as to not be lost at power off or similar timings. With the above, the calibration process is terminated.
Steps in the process executed by the MCS processor 404 and illustrated in
First, in step S507, the image processing accelerator 316 corrects the device color image data D[X] (i.e., the first color signal) by using the table parameters created as illustrated in
At this point, it is first determined which of the above areas [X] includes the target pixel which is the pixel currently subject to image processing. In other words, the value of X is determined. At this point, although each area [X] corresponds to a region made up of four 1200 dpi nozzles, the pixel resolution in the image processing is 600 dpi. For this reason, each area X corresponds to two pixels in the X direction.
If the value X=n is obtained for the area [X] that contains the target pixel, then by referring to the table entries created with respect to this area [n], an equivalent correction value Z−1[n] can be acquired from the (R, G, B) values expressed by the image data of the target pixel. For example, if the RGB values expressed by the image data of the target pixel represent blue (0, 0, 255), then the equivalent correction value Z−1[n] for blue (0, 0, 255) is obtained with respect to the area [n] as described earlier. The equivalent correction value Z−1[n] is then added to the target pixel image data according to the equation below, and corrected device color image data D′[X] (i.e., the second color signal) is obtained. In other words, the relationship between the first color signal D[X] and the second color signal D′[X] is as follows.
Device color image data D′[1]=D[1]+Z−1[1]
Device color image data D′[2]=D[2]+Z−1[2]
In this example, the equivalent correction value for the first area is Z−1[1]=0. Consequently, D′[1]=D[1], and thus the correction of the image data in the first area is, in effect, not performed by the MCS processor. In contrast, the equivalent correction value for the second area is Z−1[2] ≠0. Consequently, correction is performed by the MCS processor such that cyan is reduced in D′[2] compared to D[2].
In the following step S508, the image processing accelerator 316 takes the device color image data D′[X] obtained in step S507, and performs processing corresponding to the ink color conversion processor 405, the HS processor 406, the TRC processor 407, and the quantization processor 408. Dots are then printed onto the printing paper 106 by the output unit 409 in accordance with the binary data obtained as a result of the above processing.
In the first and second areas actually printed onto printing paper in accordance with D′[1] and D′[2], some degree of inevitable color difference T[X] is produced due to ejection volume variation and other factors, but the resulting color is sufficiently close to the target color A.
Actual coloration in first area=Printed color corresponding to D′[1]+T[1]≈A
Actual coloration in second area=Printed color corresponding to D′[2]+T[2]≈A
Herein, D′[1] is ideally equivalent to the target color A, and T[1] is ideally 0. D′[2] is a blue color which is cyan-reduced color by amount equivalent to T[2] from the target color A, and T[2] is the amount of color difference causing increased cyan. In this way, the blue colors in the first and second areas become nearly the same color, and the color unevenness due to a color difference between the two areas can be reduced.
As described above, the present embodiment is configured such that measurement images (i.e., patches) are printed onto a print medium for colors (i.e., combinations of R, G, and B) that are susceptible to significant color difference, and table parameters are then computed on the basis of the measurement results. Typically, the susceptibility to color difference depends on both (1) the color itself to be printed, and (2) the printing characteristics of the respective inks with respect to the print medium. Regarding (1), there is the issue of, for example, blue color difference being more noticeable than red color difference, even for equivalent variations in ejection volumes. Regarding (2), there are various factors that influence the size and density of dots as well as the coloration of respective inks in overlapping dots. In addition to ejection volumes, such factors can include the ejection direction, the dot shape, the permeability, and the type of print medium, for example.
Meanwhile, it is clear that the degree of color difference for a particular color depends on the combination of the printing characteristics of the inks used to print that color, and does not depend on the printing characteristics of the inks that are not used. In other words, the type and number of related ink colors differs for each pixel, and thus it is possible in some cases that only a single ink will be related to particular pixels, and color difference will not occur.
Also, although the foregoing describes, by way of example, a case where the four magenta nozzles contained in the same area all exhibit greater-than-standard ejection volumes, there is a significant possibility that the ejection characteristics for each nozzle inside a single area will all be different. However, it is still possible to achieve the advantages described above in such cases by acquiring the average color difference for a given area, and processing so as to correct the color difference by means of all four nozzles.
Meanwhile, data that can be expressed by the solid colors of the respective inks used by the printing apparatus is already adjusted in concentration by the ES process, and thus color difference does not occur. Consequently, such colors do not need to be corrected by the MCS processor 404. Such a state will now be specifically described, taking by way of example the case where the measured color space and the device color space match completely.
If the measured color space and the device color space match completely, then the color signal (R=0, G=255, B=255) will be converted to (C=255, M=0, Y=0, K=0) in the ink color conversion processor. Since solid cyan (the C signal) is already suitably adjusted in density by the primary conversion of the HS process, it is better not to further modify the cyan data or add additional color data once the data has been adjusted by the HS process. In other words, in cases where such data exists, the equivalent correction values for the first and second areas should be Z−1[1]=Z−1[2]=0=(0, 0, 0). The above similarly applies to 100% magenta data (R=255, G=0, B=255). In contrast, 100% blue data (R=0, G=0, B=255) is not data that can be expressed with the solid color of one of the inks used by the printing apparatus, and is instead expressed by a combination of cyan ink and magenta ink. Consequently, as already explained with the use of
Z
−1[1]=0=(0,0,0)
Z
−1[2]=T−1[2]=(Rt−R2,Gt−G2,Bt−B2)≠(0,0,0)
in the example illustrated in
In this way, in a three-dimensional RGB space, there exist lattice points that require an MCS process, as well as lattice points that do not require an MCS process, with various degrees of correction depending on the signal value (i.e., the position of the lattice point). Consequently, when it is desirable to suppress color difference across the entire color space, it is desirable to prepare correction signal values for the MCS process with respect to all RGB values expressed using two or more inks. However, printing and measuring patches for all RGB combinations, computing correction values, and preparing space to record the obtained correction values would lead to increased processing load, increased memory requirements, and increased processing time. Thus, it is preferable to select several colors in the RGB space that particularly require color difference correction, print measurement images (patches) with signal values corresponding to those colors, and create a table containing the acquired equivalent correction values for each color, as in the present embodiment. However, in cases where the colors susceptible to significant color difference are not particularly limited, then an embodiment may be configured as illustrated by way of example in
In the table parameter generation method described earlier, table parameters are described as being created by computing the difference between a target color and the color meter results of an actually-printed patch. However, it should be appreciated that the method for generating correction parameters is not limited to the above. For example, from the measured results of the printed patches for each of the lattice points illustrated in
More specifically, the input color conversion processing and MCS processor 411 uses one table that is a combination of a table for the input color conversion processor and a table for the MCS processor. By doing so, it is possible to directly perform correction of color difference of input image data from the input unit 401, and output device color image data for which the color difference has been reduced.
In step S902, a measurement image for correcting color difference is printed on the printing paper based on input color data I[X] that is inputted from the input unit 401. When doing this, only the part that corresponds to the input color conversion processor of the input color conversion process and MCS processor 411 functions, and the MCS process is skipped by way of the bypass path indicated by the dashed line 410. More specifically, the input color conversion processing and MCS processor 411 is constructed such that it can switch between and use two tables. In other words, the input color conversion process and processing by the MCS processor can switch between and use a table having color conversion values W′ as table parameters obtained by process in which the input color conversion process and MCS process is combined, and a table having only the table parameters of the input color conversion process. In addition, when printing a measurement image, processing is switched to only the table for the input color conversion process.
Taking the color conversion coefficient of the input color conversion process according to the table used in printing this measurement image to be the input color conversion value W, the relationship, “device color data D[X]=input color conversion value W (input image data I[X])”, is established. The uniform device color image data D[X] that is obtained in this way is converted to print data by the ink color conversion processor 405, HS processor 406, TRC processor 407 and quantization processor 408 and the output unit 409 prints a measurement image on the printing paper 106 according to the print data.
In step S906 the equivalent color conversion value W′[X] is calculated as a table parameter from the correction value T−1[X] for each area. This value W′[X] is a color conversion value that is a combination of the aforementioned input color conversion value W and the equivalent color correction value Z−1[X]. Calculation of the equivalent color correction value Z−1[X] is the same as in the first embodiment, so an explanation is omitted.
With this first variation as described above, an equivalent color conversion value W′[X] is set in step S906 so that the device color image data D′[X] becomes the same value as in the first embodiment, so that color difference can be reduced in the same way as in the first embodiment. Moreover, the color conversion value W−1[X], which is a combination of the equivalent color correction value Z−1[X] and input color conversion value W, is converted all together by one lookup table, so it is possible to reduce the amount of area prepared for the lookup table and improve the processing speed more than in the first embodiment.
In step S1002, the input color image data I[X] from the input unit 401 bypasses the MCS processor 404 and is converted to device color data D[X] by the input color conversion processor 403. After that, as in
Next, the processing illustrated in
With this variation, by performing the processing of the MCS processor 404 before the processing of the input color conversion processor 403, independence of the modules is improved. For example, the processing can be provided as an expanded function to image processors not having a MCS processor. Moreover, processing can also be moved to the host PC side.
Generating table parameters for the MCS processor and the processing of the MCS processor of this variation are the same as illustrated in
As a result of measuring the color of this kind of patch, correction values that will reduce the magenta color are created as the table parameters for the MCS processor 404 of this variation. By performing this kind of correction, it becomes possible to obtain a printed state as illustrated in
Moreover, in this variation having no HS processor, there is no need to prepare a table for HS processing, and thus processes for HS processing such as ‘printing a pattern’, ‘color measurement’ and ‘calculation of correction parameters’ are not necessary. As a result, it is possible to reduce the amount of memory used as well as the time and cost related to HS processing.
A first embodiment and first thru third variations of that embodiment were explained above; however, the processing in that embodiment and variations is only an example, and any construction can be used as long as the reduction of color difference, which is the effect of the present invention, can be achieved. For example, as long as it is possible to reduce relative color difference among areas, color unevenness, which is the problem the present invention solves, becomes unnoticeable, so correction does not necessarily need to be performed for all areas in order that the values approach the desired color A, which is a fixed value. In other words, a desired color can be set according to color tendencies of individual areas so that variation in coloring of individual areas converges.
In addition, in the embodiment above, one area is taken to be the area of four nozzles, and this area is set as the minimum area for which MCS processing is performed: however, of course the present invention is not limited to this kind of unit of area. An area of more nozzles could be taken to be the unit area, or MCS correction could be performed for one nozzle at a time. Moreover, the number of nozzles included in each individual area does not necessarily need to be the same number, and the number of nozzles included in each area can be appropriately set according to the characteristics of the device.
Furthermore, in the embodiment above, an example was explained wherein MCS processing is performed on image data that is inputted in RGB format, after which the data is converted to image data in CMYK format that corresponds to the ink colors used by the printing apparatus. However, of course the present invention is not limited to this form. In addition to RGB format, the image data that is the object of MCS processing can be in any format such as Luv, LCbCr, LCH and the like.
As explained above, in this embodiment, by performing MCS processing, it basically becomes possible to suppress the occurrence of a color difference that occurs due to variation in the ink ejection characteristics of the print heads. However, in actual MCS processing, there are cases where, due to the construction of the printer or the scanner performance, it is not possible to sufficiently suppress the occurrence of color difference. The construction in which the construction of the printer and scanner is made to differ is explained.
For example, when measuring color in the process illustrated in
First, there is the problem of the performance of the colorimeter. When using a device such as a scanner that scans a printing medium, even though the resolution of the read element array is sufficient, actually when affected by a large range that exceeds the resolution range, the color measurement results may not be adequate. Moreover, using a colorimeter having a high MTF (modulation transfer function) increases the cost, so the colorimeter may not have the resolution necessary for the color, and this also becomes the cause of not being able to obtain adequate color measurement results.
Second, is a problem on the printer side. As was explained above, in basic MCS correction, a long array of nozzles is formed in each print head that is used. However, forming a long nozzle array such as this on one substrate is difficult from the aspects of technology and cost. Therefore, long print heads are now being constructed by arranging a plurality of chips having short nozzle arrays, such as are used in print heads for consumers, into a long print head (hereafter, referred to as a joined head). When using this kind of joined head in a printer, when the joints between the plurality of chips take up a large space, the number of head chips per print head increases, thus increasing the cost. Therefore, it is preferred that the joints between head chips be made as small possible. However, in a joined head, the ink ejection characteristics differ at the joints between head chips and sections other than the joints (non-joint sections). Therefore, in order to detect the difference in ejection characteristics, it is necessary to perform detection by dividing a patch into the patch sections formed by joint sections and patch sections formed by non-joint sections. Therefore, when the joint sections of head chips are set to be narrow, it is accordingly necessary to make the range where color measurement is performed narrow, and as a result, it becomes difficult to perform color measurement in a suitable color measurement area.
For the two reasons described above, it is difficult to perform color measurement of a patch for MCS processing in the minimum unit area necessary for color measurement, and this is a cause that prevents being able to achieve suitable MCS processing. On the other hand, the second embodiment of the present invention is able to suitably set parameters (correction values) to be used in MCS processing, and thus is able to improve the effect of reducing color difference due to MCS processing.
First, in explaining the processing for generating parameters for MCS processing of a first embodiment of the present invention, a print head and scanner that is used in this embodiment is described.
On the other hand, as a colorimeter (scanner) in this embodiment, a measurement aperture for measuring the color of an image corresponds to eight dots that are formed by eight nozzles.
Moreover, in this embodiment, the print head illustrated in
Moreover, the vertical axis in
As described above, when printing a multi-color solid image using a joined head having head chips with different ejection amounts, color difference (color difference or difference in coloring) in an image due to a difference in ejection amount of the chips is noticeable at the joint sections and non-joint sections of the chips. However, in this embodiment, by generating MCS process parameters as will be described below, it is possible to suppress the generation of color difference in an image even when this kind of joined head is used.
One point that is different from the basic MCS processing is that in this embodiment patch measurement locations are reduced. Here, the measurement value (color information), which is obtained by measuring the area [X] corresponding to the nozzles by using the scanner, is taken to be B[X], and the nozzles that correspond to the area having the measurement value are taken to be the color measurement nozzles (first nozzles) Xt. In the nozzle array, nozzles other than the first nozzles correspond to the second nozzles of the present invention.
In
In step 12-2, color measurement of the patch that is printed on the printing paper is performed. In the scanner, a large measurement aperture is formed, so in this embodiment, color measurement is performed for just the area (dots) in the patch, the area corresponding to the plurality of color measurement nozzles Xt that were set beforehand. In other words, color measurement is performed on discrete areas in the patch. More specifically, color measurement is performed on the area that corresponds to the color measurement nozzles Xt, which are X12, X32, X52, . . . . The interval between areas where this color measurement is performed is an array interval of 20 nozzles, so that the measurement value at each area is not affected by other color measurement areas. In the explanation below, an area where color measurement is performed is called a color measurement area.
In step 12-3, as in the basic MCS processing described above, the color difference (color deviation quantity) T[Xo] that corresponds to each color measurement area on the printing paper is calculated based on the target color A that is to be formed on the printing paper and the measurement value (color information) B[X] of each color measurement area on the printing paper.
In step 12-4, also as in the basic MCS processing described above, the correction value T−1[Xo] is calculated based on the color difference T[Xo] of each color measurement area. In
In step 12-5, the correction value T−1[X] for the area (non-joint area) that is printed by nozzles located in non-joint sections of the print head is set based on the correction value T−1[Xo] of the color measurement area. The method for setting this correction value T−1[X] is a process of replacing the correction value of the area X closest to the color measurement area X.
The non-joint sections are the portions that correspond to nozzle numbers 1 to 20 in head chip 1411, nozzle numbers 25 to 40 in head chip 1912 and nozzle numbers 45 to 56 in head chip 1413. For the non-joint area [1] to [20] that is printed by nozzles 1 to 20 located in the non-joint section, the closest color measurement area is area [12] that is printed by nozzle X12. Accordingly, the correction value T−1[12] is set as the correction value (first correction value) for the non-joint area [1] to [20]. Similarly, correction value T−1[32] of area [32] is set as the correction value (first correction value) for non-joint area [25] to [40], and correction value T−1[52] of area [52] is set as the correction value (first correction value) for non-joint area [45] to [56].
In the case, where there is a plurality of color measurement areas inside a non-joint area of the same head chip, the correction values of areas other than the color measurement areas in the non-joint area can be calculated by performing a complementary calculation based on a plurality of correction values that were calculated by the color measurement values of these color measurement areas.
In step 12-6, the correction values (second correction value) for the joint areas that are printed by the joint sections of the print head are calculated. This step calculates the correction value T−1[X] of areas X other than the color measurement area by linear interpolation based on the correction value T−1[Xo] of the color measurement areas closest to both ends of the joint area that is printed by nozzles located in the joint section. In other words, calculates the correction value of the area corresponding to the nozzles (second nozzles) other than first nozzles. For example, the correction value for the joint areas [21] to [24] that correspond to the nozzles having nozzle numbers 21 to 24 that are located in the joint sections of head chips 1411 and 1412 is calculated by linear interpolation based on the correction values for the closest areas [20] and [25] to that joint area. The correction values for the closest areas [20] and [25] have already been calculated in step 12-5, so linear interpolation is performed for the joint area using these correction values. Similarly, the correction value for areas [41] to [99] that correspond to the nozzles having nozzle numbers 91 to 44, which are the joint areas of head chip 1412 and head chip 1413 is calculated by linear interpolation based on the correction values for areas [40] and [45] that are closest to the joint areas.
Furthermore, it is known that the density of image printed by this joint section tends to increase a little more than the density corresponding to the sum of ink ejection amounts of each of the two chips. Therefore, it is necessary to measure in advance the amount of this small shift. In this embodiment, there is a tendency for the printing density in joint sections to be about 10% higher than in non-joint sections. This is considered to be due to assembly error of the head chips, or a small time difference in when the ejected ink lands on the printing medium.
Therefore, when the correction value calculated for a non-joint area is a positive value (correction is in the direction of increasing density), the correction value corresponding to the joint areas is multiplied by 0.9, and when the correction value is negative (correction is in the direction of decreasing density), the correction value is multiplied by 1.1. By doing so, it is possible to obtain a more suitable correction value. By performing the processing described above, it is possible to calculate suitable correction values (parameters) for MCS processing.
Here, the results from performing MCS processing are given in
On the other hand,
In this embodiment, when calculating the correction value for the second nozzles, only the nozzles closest to the second nozzles are used; however, a plurality of nozzles that are adjacent to the second nozzles can also be used. For example, in this embodiment, the correction value for [41] to [44] is calculated by linear interpolation based on correction values for [40] and [45], however, correction values for [38] to [40] and [45] to [47] can also be used.
Moreover, in this embodiment, an example was explained wherein each area division in the nozzle array direction (x direction) is one nozzle. However, it is also possible for a plurality of nozzles to correspond to each area, or in other words a nozzle group comprising one or more nozzles only corresponds to one area. In this case, in the explanation above, the first nozzle corresponds to the first nozzle group, and the second nozzle corresponds to the second nozzle group.
Furthermore, in this embodiment, the correction value for second nozzles that are located in the non-joint section is set by complementary processing that substitutes the correction value for the first nozzle closest to the second nozzles. However, it is also possible to use complementary processing that is different from this, and as a result obtain a different correction value. When doing that, the correction value for a second nozzle that is located in a joint section can be calculated by complementary calculation based on the correction values of the second nozzles in the non-joint section that are closest to the second nozzle, or could be calculated by complementary calculation based on the correction values of first nozzles in the non-joint section that are closest to the second nozzle in the joint section.
In the embodiment above, an example was explained for the case wherein correction values to be used in MCS processing were calculated based on the color measurement values obtained by measuring the color of a multi-color patch; however, the present invention can also be applied to the case wherein correction values to be used in HS processing are calculated by measuring the color of a single-color patch. In other words, the present invention can be applied not only to processing such as MCS processing that eliminates color unevenness as a color difference occurring in an image, but can also be applied to processing such as HS processing that eliminates density unevenness as color difference occurring in an image. When applying the present invention to HS processing, in the flowchart illustrated in
In addition, in the embodiment described above, an example was explained where the joint sections of the head chips in the print head where narrower than the measurement aperture, however, as long as the joint section is within a range in which color measurement can be performed using the measurement aperture, it is possible to make the joint sections wider than in the embodiment above. In this case as well, as in the first embodiment above, by calculating correction values for joint sections and non-joint sections that have different printing characteristics by using two kinds of complementary processing, it is possible to obtain good color correction results in MCS process.
Moreover, the present invention is not limited to the embodiments above, and it is possible to use processing such as weighted average processing or convolution operation as the process for setting a correction value in non-joint areas.
While the present invention has been described with reference to exemplary embodiments, it is to be understood that the invention is not limited to the disclosed exemplary embodiments. The scope of the following claims is to be accorded the broadest interpretation so as to encompass all such modifications and equivalent structures and functions.
This application claims the benefit of Japanese Patent Application No. 2010-225751, filed Oct. 5, 2010, which is hereby incorporated by reference herein in its entirety.
Number | Date | Country | Kind |
---|---|---|---|
2010-225751 | Oct 2010 | JP | national |