Color printer calibration with improved color mapping linearity

Abstract: In a color printer calibration process, a color printer (30) is driven with a set of printer signals (C p ,M p ,Y p ,K p ) selected to print a set of color samples throughout a printer gamut. A color measuring device (70) measures the colorimetric response at each sample, to derive a mapping of printer signals to colorimetric responses (R p ,G p ,B p ) of the printer. From the colorimetric responses, a preprocessing step is used to increase the number of measurements, using linear interpolation between local responses whereby the number of colorimetric responses to be mapped is increased. Then, a lookup table (140) mapping colorimetric values to printer signals is generated, at regular intervals throughout the printer gamut, to produce a regular interval set of interpolated colorimetric values (C x ,M x ,Y x ), derived from the measured colorimetric values and the linearly interpolated values using a distance-weighted averaging method. The look up table is stored in a color conversion memory (150; Fig.3) for use in converting color definitions from a first color space to the printer color space.

Description: The present invention is directed towards compiling lookup tables representative of printer characteristics, to enable the conversion of colors defined in a first color space to colors defined in the printer color space, and more particularly to a method of making such table more linear. The generation of color documents can be thought of as a two step process: first, the generation of the image by means of scanning an original document with a color image input terminal or scanner or, alternatively, creating a color image on a work station operated in accordance with a color image creation program; and secondly, printing of that image with a color printer in accordance with the colors defined by the scanner or computer generated image. Scanner output is commonly transformed to a color space of tristimulus values, i.e., RGB (red-green-blue). Commonly, these values are a linear transformation of the standard XYZ coordinates of CIE color space, or a corrected transform of those values. In the case of computer generated images, colors defined by the user at the user interface of a workstation can be defined initially in color space of tristimulus values. These colors are defined independently of any particular device, and accordingly reference is made to the information as being "device independent". Printers have an output which can be defined as existing in a color space called CMYK (cyan-magenta-yellow-key or black) which is uniquely defined for the printer by its capabilities and colorants. Printers operate by the addition of multiple layers of ink or colorant in layers to a page. The response of the printer tends to be relatively non-linear. These colors are defined for a particular device, and accordingly reference is made to the information as being "device dependent". Thus, while a printer receives information in a device independent color space, it must convert that information to print in a device dependent color space, which reflects the gamut or possible range of colors of the printer. The desirability of operating in a device independent color space with subsequent conversion to a device dependent color space is well known, as shown by US-A-4,500,919 to Schreiber and US-A-2,790,844 to Neugebauer, and US-A-4,275,413 to Sakamoto. There are many methods of conversion between color spaces, all of which begin with the measurement of printer response to certain input values. Commonly, a printer is driven with a set of input values reflecting color samples throughout the printer gamut, the color samples are printed in normal operation of the printer. As previously noted, most printers have non-linear response characteristics. In US-A-4,275,413, the information derived is placed into lookup tables, stored in a memory, perhaps ROM memory or RAM memory where the lookup table relates input color space to output color space. The lookup table is commonly a three dimensional table since color is defined with three variables. In RGB space, at a scanner or computer, space can be defined as three dimensional with black at the origin of a three dimensional coordinate system 0, 0, 0, and white at the maximum of a three dimensional coordinate system which an 8-bit system, would be located at 255, 255, 255. Each of the three axes radiating from the origin point therefore respectively define red, green, and blue. A similar construct can be made for the printer, with axes representing cyan, magenta, and yellow. In the 8-bit system suggested, there will be, however, over 16 million possible colors (256 3 ). There are clearly too many values for a 1:1 mapping of RGB to CMY. Accordingly, as proposed in US-A-4,275,413, only a relatively small number of samples are used to do the mapping from RGB to CMY, perhaps on the order of 1,000. Therefore, the lookup tables consist of a set of values which could be said to be the intersections for corners of a set of cubes mounted on top of one another. Colors falling within each cubic volume can be interpolated from the measured values, through many methods including tri-linear interpolation, tetrahedral interpolation, polynomial interpolation, linear interpolation, and any other interpolation method depending on the desired speed and accuracy of the result. In US-A-5121196 the color values measured from a number of color patches are augmented by a number of supplementary colors, interpolated from the value of the closest color. It would be very easy to index device dependent color values or specifications to device independent color specifications, but that is not the requirement. Instead, device independent specifications must be mapped to device dependent specifications. Several problems arise. Of course, the primary problem is that the printer response is not a linear response. A second problem is that the color space, and therefore the coordinates defined in the color space must be maintained as a uniform grid, for maximum efficiency of some interpolation methods, particularly for tetrahedral interpolation, a very desirable method of interpolation. Accordingly a three dimensional lookup table (LUT) may be constructed which puts device independent input values into a predictable grid pattern. One method of accomplishing this requirement is by an interpolation process which derives a value at a desired location as a function of all (or a significant set) of measured color values weighted in accordance with the formula: Where C is the color value at a given point in color space, i, j, k is each measured point in color space d i,j,k is the distance from a given point to each i, j, k P i,j,k is a color value at i, j, k. This method of interpolation is known as Shepard's Method (See, for example "Shepard's Method of 'Metric Interpolation' to Bivariate and Multivariate Interpolation" by W. Gordon and J. Wixom, Mathematics of Computation, Vol. 32, No. 141, January 1978, pp. 253-264 and papers by Laihanen which teach the use of 1/d**4 for color correction). Shepard's Method suggests that the difference between an asked-for color which was directed to a printer and the printed color can be thought of as a vector which maps a device independent color to a device dependent color. Then, for any other device independent point in color space which is desired, that point can be thought of as a vector quantity, derived by averaging over the space all the known vectors, each vector weighted by a function which decreases its effect on the desired color vector as that vector is further and further away from the color correction vector being calculated. In one useful formula, each vector is weighted by a function of (1/d 4 ). Other weighting functions are also possible, and the weighting function can vary throughout the color space. However, a problem referred to as "scalloping" occurs at the interpolated values. With reference to Figure 1, a simplified example is given, where, given vectors A, B, C, D, E, known by measurement, a new interpolated vector F located between A and B is obtained by averaging all the vectors, weighted by the Shepard's Method. The result is that, the interpolated vector differs from what would likely be a more probable value based on vectors A and B, due to the contributions of vectors C, D, E, even though they are some distance away. This problem is also pointed out by P. Lancaster et al., "Surfaces Generated by Moving Least Squares Methods", Mathematics of Computation, Vol. 32, No. 155, July 1981, pp.141-158 page 148-149, where the problem is referred to as "dimpling". US-A-4,929,978 discloses a colour correction method for a digital copier in which a set of colour patches of respectively different sample colours is printed using a set of printing data values, and the colour patches are scanned and analysed to obtain colour patch input data values. Each of all of the possible input colour data values that can be produced by the scanner/analyser section of the copier is then related to one of the colour patch input data values which is closest thereto in a 3-dimensional colour space. Each of these possible input colour data values is thereby related to an appropriate colour printing value, whereby a colour correction table can be generated which provides correction accuracy that is independent of non-linearity of colour printing characteristics. In accordance with the invention there is provided a method of linearizing interpolated values in a color space transform look up table derived from printer calibration measurements, to derive an improved color space transformation. In accordance with one aspect of the invention, in a color printer calibration process, a color printer is driven with a set of printer signals selected to print a set of color samples throughout a printer gamut in a device dependent color space. A color measuring device measures the colorimetric response at each sample in a device independent color space, to derive a mapping of required printer signals to colorimetric responses of the printer. From the colorimetric responses, a preprocessing step is used to increase the number of measurements, using linear interpolation between local responses whereby the number of colorimetric responses to be mapped is increased. Then, a lookup table mapping colorimetric values to required printer signals is generated, at regular intervals throughout the printer gamut, to produce a regular interval set of interpolated colorimetric values, derived from the measured colorimetric values and the linearly interpolated values using a distance-weighted averaging method. The look up table is stored in a color conversion memory for use in converting color definitions from a first device independent color space to the printer's device dependent color space. The described method allows a decrease in the scalloping effect by creating a new data value within the colorimetric value interval. The interpolation process will use both the original set of measured data and the expanded set of interpolated data. The new combined set will be more dense, and thus more localized, i.e., there is more likely to be an input data value near one of the regular interval interpolated values. In accordance with another aspect of the invention, greater or lesser numbers of linear interpolated values may be generated through different regions of the gamut, reflecting the nature of accuracy in interpolation within the gamut region. Thus, for example, finer sampling (more linear interpolated values) may be desired in the darker colored regions, while courser sampling (fewer linearly interpolated values) may be desired in the lighter colored regions. In another example, finer sampling (more linear interpolated values) may be desired in the saturated color regions, while courser sampling (fewer linearly interpolated values) may be desired in the non-saturated color regions. In accordance with another aspect of the present invention, we provide a method of calibrating a color printer (30), the color printer responsive to printer signals (Cp, Mp, Yp, Kp) to deposit printer colorants on a medium in accordance with printer signals received, the method including the steps of: operating the color printer (30) with printer signals selected to cause the printer to print color samples on the medium in a device dependent color space; measuring a colorimetric response at each color sample printed on the medium, and producing a colorimetric signal indicative thereof, mapped to a corresponding printer signal, said colorimetric signals dispersed through a gamut of the printer at irregular intervals in a device independent color space; preprocessing the colorimetric signals to increase the number thereof with interpolated signals, generating each interpolated signal as an interpolated function of a plurality of spatially proximate colorimetric signals; characterised by including the steps of: mapping the increased number of colorimetric signals to required printer signals, using an interpolation process to produce a regular interval dispersal of colorimetric signals through said device independent color space, each interpolated colorimetric signal being mapped to a corresponding required printer signal and derived from both the proximate and non-proximate colorimetric signals in the increased number of colorimetric signals; and storing the mapping in a color conversion memory (140) for use in converting color definitions from said device independent color space to the required printer signals suitable for producing a corresponding response at the color printer in said device dependent color space. Figure 1 is a one-dimensional example of the problem of scalloping addressed by the present invention; Figures 2 and 3 together illustrate an overall system block diagram showing a color printing system in which the present invention might find use; Figure 4 illustrates the mapping of the regular interval device dependent values to irregular intervals of device independent or colorimetric values; Figure 5 shows the increasing of colorimetric samples by linear interpolation; and Figure 6 illustrates a linear grid mapping to measured samples, illustrating that data will be derived for the grid intersection points. For the purpose of carrying out the present invention, the reader is referred to the following documents: US-A-4,500,919 to Schreiber for its teachings of a color conversion system converting information from RGB to CMYK; US-A-4,275,413 to Sakamoto for its teachings of tetrahedral interpolation between first and second color spaces; and US-A-2,790,844 to Neugebauer disclosing the desirability of defining an image in a first standard color space prior to conversion of the image coordinates to a second printer based coordinate system. The following articles are also hereby incorporated by reference: Po-Chieh Hung, "Tetrahedral Division Technique Applied to Colorimetric Calibration for Imaging Media", Annual Meeting IS&T, NJ, May, 1992, pp. 419-422; Po-Chieh Hung, "Colorimetric Calibration for Scanners and Media", SPIE, Vol. 1448, Camera and Input Scanner System, (1991); Sigfredo I. Nin, et al., "Printing CIELAB Images on a CMYK Printer Using Tri-Linear Interpolation", SPIE Proceedings, Vol. 1670, 1992, pp. 316-324; William J. Gordon et al., "Shepard's Method of 'Metric Interpolation' to Bivariate and Multivariate Interpolation", Mathematics of Computation, Vol. 32, No. 141, January 1978, pp. 253-264; P. Lancaster et al., "Surfaces Generated by Moving Least Squares Methods", Mathematics of Computation, Vol. 32, No. 155, July 1981, pp.141-158; Pekka Laihanen, "Colour Reproduction Theory Based on the Principles of Colour Science", Advances in Printing Science and Technology, W. H. Banks ed., Pentech Press, London, 1988, pp. 1-36; Pekka Laihanen, "Optimization of Digital Color Reproduction on the Basis of Visual Assessment of Reproduced Images", Proceedings of the SID, Vol 30. No. 3, 1989, pp. 183-190; and Donald Shepard, "A two-dimensional interpolation function for irregularly-spaced data," Proceedings-1968 ACM National Conference, pp. 517-524. A basic system for carrying out the present invention is shown in Figure 2. In a system, a scanner 10, such as perhaps the color scanner available in the Xerox® 5775™ digital color copiers, which can be calibrated to produce a set of digital colorimetric or device independent data describing a scanned image 12, which, by definition can be defined in terms of the colorimetric R o ,G o ,B o space. Resulting from the scanning operation is a set of scanner image signals R s , G s , B s , defined in device dependent scanner terms. Incorporated into the scanner or another processing path is a post-scanning processor 14, which provides correction of scanner image signals R s , G s , B s to colorimetric terms, R c , G c , B c , typically digital in nature. The values may be in terms of CIE color space (r,g,b), or the L*a*b* luminance-chrominance space (LC 1 C 2 ). A color space transform, indicated by block 20, such as that described in US-A-4,275,413, is used to convert the device independent data to device dependent data. The output of color space transform 20 is the image defined in terms of a device dependent space, or colorant driving signal C p , M p , Y p , K p that will be used to drive a printer 30. In one possible example, the colorant values represent the relative amounts of cyan, magenta, yellow, and black toners that are to be deposited over a given area in an electrophotographic printer, such as, again, Xerox® 5775™ digital color copiers. The printed output image may be said to be defined in terms of R p ,G p ,B p , which are hoped to have a relationship with R o ,G o ,Bo such that the printed output image has a color that is colorimetrically similar to the original image, although that similarity is ultimately dependent upon the gamut of the printing device. As described in US-A-5,305,119 to Rolleston, black addition for under color removal and gray balance processing may also be combined into the color space transform element. Although these features are not required, they are desirable and are illustrated herein. When we refer to colorimetric spaces, we are referring to spaces which are transforms of CIE XYZ space (1931). When we refer to device dependent space, we refer to a color space which is defined only in terms of operation of the device using it. While many color spaces have three dimensions, it is possible to have color spaces with less than three dimensions or more than three dimensions. With reference now to Figure 3, and color space transformation and color correction 20, initially, R c , G c , B c color signals are directed to an interpolation device 140, which includes a three dimensional lookup table stored in a device memory 150 such as a RAM or other addressable memory device, which will meet speed and memory requirements for a particular device. Color signals R c , G c , B c are processed to generate address entries to the table which stores a set of transform coefficients with which the R c , G c , B c may be processed to convert them to C x , M x , Y x colorant signals or any multi-dimensional output color space including but not limited to CMYK or spectral data. Values which are not mapped may be determined through interpolation. It will no doubt be recognized that there are many methods of providing a transform from device independent data to device dependent data, with US-A-4,275,413 describing one method, which itself can be varied. Once a conversion table is established, a method of interpolation referred to as tri-linear or cubic interpolation may also be used to calculate output values from the limited set of input values. To create the table, a set of color patches are created, preferably including determined linearization and black addition. This is done by printing and measuring about 1000 to 4000 patches of printer colors distributed throughout the color space, i.e., a large set of printer driving signals are generated, in varying densities of combinations of C,M,Y,K, and used to drive the printer. The color of each patch is measured, using a spectrophotometer to determine color in terms of R c ,B c ,G c . The measured colors of these patches are used to build a three dimensional lookup table (LUT) relating R c ,B c ,G c defined colors to C x M x Y x defined colors. Conversions that do not include mapped and measured points may be interpolated or extrapolated. Reference is made to United States Patent No. US-A-5416613 to Rolleston entitled, "Color Printer Calibration Test Pattern", filed October 29, 1993, which shows and describes one suitable calibration test pattern for this purpose. With reference again to Figure 2, a calibration image is conveniently stored in a device memory such as calibration ROM 60, RAM, floppy or the like, or are generated on the fly with a predetermined generation function. Signals stored therein are directed to the printer under the control of printer controller 65. Densitometer or spectrophotometer 70 is used to scan the calibration target and produce R o G o B o signal values as a function of sensed density, representing the colors of each scanned patch. Interpatch correlation processor 80 reads the responses provided from densitometer 70 for each location in the calibration target and correlates the response with the input CMY signals, so that an R c G c B c to CMY mapping is generated. With reference to Figure 4, the derived mapping is illustrated for a two dimensional example. Readily seen is that the regular interval, device dependent grid, reflecting printer signals used to drive the printer, maps on a one-to-one basis with measured colorimetric or device independent values reflecting the actual print obtained. In accordance with the invention, and with reference to Figure 2, LUT processor 100 receives data from interpatch correlation 80, and uses a linear interpolation function to generate additional data in the intervals between sampled data. LUT processor 100 may be responsive to operator or knowledge-based commands to generate more data in selected portions of the gamut. One possible interpolation method may be to average measured values. With reference now to Figure 5, with the original grids now shown in phantom, we illustrate the addition of linearly interpolated points on each grid, to increase the number of samples between two points in the regular grid to derive a third color P i,j,k or: P i,j,k = (C 2 M 2 Y 2 ) + (C 1 M 1 Y 1 ) 2 Thus we can also say for device independent space that for the corresponding color Q: Q i,j,k = (R 2 B 2 G 2 ) + (R 1 B 1 G 1 ) 2 Where C N M N Y N is a printer signal triplet defining a point N in device dependent color space, and R N B N G N is a colorimetric triplet defining a corresponding point N in device independent color space. This process is iterated until there is a satisfactory number of samples within the gamut or any selected portion thereof. It will be noted in Figure 5 that the number of colors was not increased throughout the entire grid. It will no doubt be appreciated that while we have shown an example interpolated color as merely the average of the closest two colors, more complex functions might be used, and more colors may be used for the interpolation. It will additionally be appreciated that since the process is iterative, it may occur that one of the colors from which interpolation has been made, may be a previously derived interpolated point. In accordance with another aspect of the invention, greater or lesser numbers of linear interpolated values may be generated through different regions of the gamut, reflecting the nature of accuracy in interpolation within the gamut region. Thus, for example, finer sampling (more linear interpolated values) may be desired in the darker colored regions, while courser sampling (fewer linearly interpolated values) may be desired in the lighter colored regions. In another example, finer sampling (more linear interpolated values) may be desired in the saturated color regions, while courser sampling (fewer linearly interpolated values) may be desired in the non-saturated color regions. With a larger set of samples now available, the device independent values may be mapped to the device dependent space. With reference to Figure 6, a linear grid will be overlaid on the measured samples, illustrating that data will be derived at the grid intersection points. One method of accomplishing this requirement is by an interpolation process which derives a value at a desired location as a function of all (or a significant set) of measured color values weighted in accordance with the formula: Where C is the color value at a given point in color space, i, j, k is each measured point in color space d i,j,k is the distance from a given point to each i, j, k P i,j,k is a color value at i, j, k. This method of interpolation is known as Shepard's Method (See, for example "Shepard's Method of 'Metric Interpolation' to Bivariate and Multivariate Interpolation" by W. Gordon and J. Wixom, Mathematics of Computation, Vol. 32, No. 141, January 1978, pp. 253-264 and papers by Laihanen which teach the use of 1/d**4 for color correction). Shepard's Method suggests that the difference between an asked-for color which was directed to a printer and the printed color can be thought of as a vector which maps a device independent color to a device dependent color. Then, for any other device independent point in color space which is desired, that point can be thought of as a vector quantity, derived by averaging over the space all the known vectors, each vector weighted by a function which decreases its effect on the desired color vector as that vector is further and further away from the color correction vector being calculated. In one useful formula, each vector is weighted by a function of (1/d 4 ). Other weighting functions are also possible, and the weighting function can vary throughout the color space. Another process useful in this step is inverse tetrahedral inversion transformation method described at Po-Chieh Hung, "Tetrahedral Division Technique Applied to Colorimetric Calibration for Imaging Media", Annual Meeting IS&T, NJ, May, 1992, pp. 419-422; Po-Chieh Hung, "Colorimetric Calibration for Scanners and Media", SPIE, Vol. 1448, Camera and Input Scanner System, (1991). With the lookup table derived, it may be stored in LUT and interpolation 140, for use in converting device independent values received from image creators to device dependent printer signals. It will no doubt be appreciated that while we have shown the use of the invention in the conversion of a device independent color space to a device dependent color space, the invention applies equally as well to conversions to any transformation from a first space to a second, device independent or device dependent.

Claims: A method of calibrating a color printer (30), the color printer responsive to printer signals (Cp, Mp, Yp, Kp) to deposit printer colorants on a medium in accordance with printer signals received, including the steps of: operating the color printer (30) with printer signals selected to cause the printer to print color samples on the medium in a device dependent color space; measuring a colorimetric response at each color sample printed on the medium, and producing a colorimetric signal indicative thereof, mapped to a corresponding printer signal, said colorimetric signals dispersed through a gamut of the printer at irregular intervals in a device independent color space; preprocessing the colorimetric signals to increase the number thereof with interpolated signals, generating each interpolated signal as an interpolated function of a plurality of spatially proximate colorimetric signals; characterised by including the steps of mapping the increased number of colorimetric signals to required printer signals, using an interpolation process to produce a regular interval dispersal of colorimetric signals through said device independent color space, each interpolated colorimetric signal being mapped to a corresponding required printer signal and derived from both the proximate and non-proximate colorimetric signals in the increased number of colorimetric signals; and storing the mapping in a color conversion memory (140) for use in converting color definitions from said device independent color space to the required printer signals suitable for producing a corresponding response at the color printer in said device dependent color space. The method as defined in claim 1, wherein the preprocessing step interpolated function is a linear interpolation method. The method as defined in claim 2, wherein the linear interpolation method averages a plurality of signals local to the location at which a signal is desired. The method as defined in claim 1, 2 or 3, wherein the method of mapping increased number of colorimetric signals to required printer signals, produces colorimetric signals as a weighted function of required printer signals. The method as defined in claim 4, wherein the weighted function varies with the location of the required printer signals in said device dependent color space. The method as defined in any of claims 1 to 5, wherein the method of mapping increased number of colorimetric signals to required printer signals includes an inverse tetrahedral transformation. A color printer (30) including a calibration system, the color printer responsive to printer signals (Cp, Mp, Yp, Kp) to deposit printer colorants on a medium in accordance with printer signals received, including the steps of: means (65; 60) for operating the color printer (30) with printer signals selected to cause the printer to print color samples on the medium in a device dependent color space; means (70, 80) for measuring a colorimetric response at each color sample printed on the medium, and producing a colorimetric signal (R, G, B) indicative thereof, mapped to a corresponding printer signal, said colorimetric signals are dispersed through a gamut of the printer (30) at irregular intervals in a device independent color space; means (100) for preprocessing the colorimetric signals (R, G, B) to increase the number thereof with interpolated signals, using interpolation between spatially proximate responses; characterised by including means (150) for mapping the increased number of colorimetric signals (R, G, B) to required printer signals (C, M, Y, K), using an interpolation process to produce a regular interval dispersal of colorimetric signals through said device independent color space, each interpolated colorimetric signal being mapped to a corresponding required printer signal and derived from both the proximate and non-proximate colorimetric signals in the increased number of colorimetric signals; means (140) for storing the mapping in a color conversion memory for use in converting color definitions (Rc, Gc, Bc) from said device independent color space to the required printer signals (C, M, Y, K) suitable for producing a corresponding response at the color printer in said device dependent color space. The device as defined in claim 7, wherein the preprocessing means (100) includes means for a linear interpolation function, preferably wherein the linear interpolation function averages a plurality of signals local to the location at which a signal is desired. The device as defined in claim 7 or 8, wherein the means (150) for mapping (1) produces calculated colorimetric signals as a weighted function of required printer signals, wherein the weighted function preferably varies with the location of the required printer signals in said device dependent color space, and/or (2) includes an inverse tetrahedral transformation to calculated new colorimetric signals.

Inventors: ROLLESTON ROBERT J, ROLLESTON, ROBERT J.
Applicants: XEROX CORP, XEROX CORPORATION
Application year: 1995
Main classification: H04N1
IPC codes: H04N1, B41J2, G06T1, G03G15