System and method for color characterization and transformation

Abstract: A system and method for color characterization and transformation obtain color data representing output of a color imaging system (56; 58), and convert the color data using a color space having a white reference vector (60) that is adjusted during the conversion. The white reference vector can be adjusted according to intensities of the color data being converted. Adjustment of the white reference vector serves to avoid nonuniformities for color imaging systems having different imaging bases, and thereby eliminates, or at least reduces, the amount of empirical adjustment necessary to obtain an acceptable visual match between the color imaging systems.

Description: The present invention relates generally to color imaging technology and, more particularly, to techniques for color characterization and transformation. Since the introduction of the CIE (Commission International de l'Eclairage) color measurement system in the early 1930's, many different color spaces have been proposed for different applications. A color space, also referred to as a color "metric," is essentially a coordinate system by which a color can be quantified. A color space can be used to characterize the color output of a color imaging system relative to other color imaging systems. The process of "characterizing" a color imaging system generally refers to the calculation of a color response function for the particular color imaging system using the coordinates of the color space. The color response function is the mathematical correlation between a range of input color values and measured color values obtained for output generated by the color imaging system in response to such input color values. A color space also facilitates transformation of color values to produce a color output in one color imaging system that matches the color output of a different color imaging system. In terms of imaging science, an "ideal" color space would allow a user to calculate a color mapping between different color imaging systems and to achieve an acceptable color appearance match between such systems without the need for subjective or empirical adjustment by an observer. The term "color appearance" refers to the psychophysical response of an observer to a color under given levels of illumination and under given viewing conditions. Proposed color spaces differ primarily with respect to the parameters expressed on the coordinate axes and the manner in which such parameters are calculated. Common to all color spaces proposed for CIE color systems, however, are the CIE Standard Observer functions. The CIE Standard Observer functions are based on color matching functions and result in a unique set of tristimulus values XYZ for any color measured under specified conditions. The tristimulus values XYZ are calculated from the spectral output of either an additive or subtractive color system convoluted with the response function of either a 2 degree or 10 degree Standard Observer. In the case of reflective hard copy, the spectral reflectance curve is typically convoluted with a standard illuminant to estimate the expected spectral output of the reflective color. One color space that has been the subject of a number of proposals is the CIELAB color space. In this color space, L* represents lightness, a* represents redness-greenness, and b* represents yellowness-blueness. According to the von Kries chromatic-adaptation transform, the proposed L*a*b* color spaces make use of white reference tristimulus data. A description of the von Kries chromatic-adaptation transform can be found in Gunter Wyszecki and W.S. Stiles, Color Science: Concepts and Methods, Quantitative Data and Formulae, section 5.12, John Wiley & Sons, Inc., 1982. In general, the von Kries chromatic-adaptation transform involves dividing the tristimulus values XYZ obtained for a color produced by a particular color imaging system by white reference tristimulus values for the system. For example, the X, Y, and Z tristimulus values of the color under study can be divided, respectively, by the X, Y, and Z tristimulus values for a perfectly diffuse white reflector. The basic concept of the Von Kries approach is to define all colors, both neutral and chromatic, . relative to the "white reference" representing the XYZ tristimulus values of the perfectly diffuse white reflector. Perhaps the most well known of the proposed color spaces is the CIE 1976 CIELAB color space. The equations for the CIELAB color space are as follows: L* = 116(Y/Y n ) 1/3 - 16 a* = 500 [(X/X n ) 1/3 - (Y/Y n ) 1/3 ] b* = 500 [(Y/Y n ) 1/3 - (Z/Z n ) 1/3 ] where X n , Y n , and Z n are the tristimulus values of a perfectly diffuse white reflector under specified viewing conditions. The viewing conditions are determined by (1) the illuminant, e.g., D 50 , and (2) the Standard Observer (2° or 10°). Another proposed L*a*b* color space ("ICPF LAB"), described by the International Color Consortium in section 2.5 of International Color Profile Format (ICPF) Proposal No. ISO/TC 130/WG2 N, June 10, 1994, uses X mw Y mw Z mw , in lieu of X n Y n Z n , where "mw" denotes the media white reference for a particular imaging system. The media white reference refers to either the color of an imaging substrate or the white point produced by a color display. This proposed color space is based on the ColorSync standard developed by Apple Computer. In this color space, the imaging substrate or display serves as the white reference instead of a perfectly diffuse white reflector. With a color printing system, for example, the white reference is the color of the subtractive printing substrate. The media white reference therefore represents the tristimulus XYZ values for the unimaged printing substrate. With a color display, the white reference is the white point produced by an additive phosphor screen or liquid crystal matrix. One color space ("HUNT LAB"), proposed by R.W.G. Hunt, in "Revised colour-appearance model for related and unrelated colours," Color Research and Application, volume 16, 1991, pages 146-165, provides an improved model that addresses incomplete chromatic adaptation. The HUNT LAB color space recognizes that chromatic adaptation does not completely account for changes due to the white reference of a particular color imaging system. The HUNT LAB color space seeks to take such changes into consideration by producing a modified set of white reference tristimulus values using a complex transformation. In "Image Color-Appearance Specification Through Extension of CIELAB," Color Research and Application, volume 18, number 3, June, 1993, pages 178-190, Mark D. Fairchild and Roy S. Berns propose a variation of the HUNT LAB color space, known as "RLAB." The RLAB color space modifies the scaling factors 1/X n , 1/Y n , 1/Z n according to whether the "white reference" is slightly off-white or significantly different from neutral. Specifically, the RLAB color space introduces a fixed correction factor p calculated as a function of X n , Y n , and Z n , where X n , Y n , and Z n denote the "media white" values. In the RLAB color space, the tristimulus values of XYZ are first transformed via matrix multiplication into "long, middle, and short wavelength" tristimulus values L 1 , M 1 and S 1 . The equation for p is based on Y n and on L n , M n , and S n , which in turn are functions of X n , Y n , and Z n . In the RLAB color space, the ratios X/X n , Y/Y n , and Z/Z n become (L 1 p L /L n ), (M 1 p M /M n ),(S 1 p S /Sn). Various comparative tests using human observers have been performed to debate the efficacy of the above color spaces and other color spaces. The existing color spaces discussed above generally are helpful for characterizing relative color within a particular color imaging system, given a particular imaging media and.a particular set of viewing conditions. Such color spaces are less helpful, however, in characterization or color transformation between two different color imaging systems. One problem not addressed by the existing color spaces is the effect of variation in the white references for different color imaging systems due to differences in the imaging substrate or display white point. As an illustration, the CIELAB color space has been observed to produce nonuniformities when used to match color proofing systems having different imaging substrate white references. In particular, the CIELAB color space has been observed to produce severe nonuniformities when mapping from a substantially white imaging base to a somewhat blue-shifted imaging base. The ICPF color space has been observed to produce uniform mapping in light shades of color, but less uniform mapping with more intense colors. Due to such nonuniformity, after a transformation function has been generated to match L*a*b* values between two color imaging systems, it ordinarily will be necessary for a human operator to engage in significant empirical adjustment to obtain an acceptable visual match. The necessary empirical adjustment is extremely labor-intensive and often can require more than a week for completion. In US-A-4 965 663, a method for optically measuring chromatic densities is disclosed wherein three stimulus values of light reflected by a sample an desired and a cyan, a magenta and a yellow density of the sample is determined using said stimulus values derived and three stimulus values of a standard color. In view of the disadvantages associated with existing color spaces, there is a need for an improved color space. In particular, there is a need for a system and method for color characterization and transformation that uses an improved color space capable of avoiding nonuniformities for color imaging systems having different imaging bases. Such a system and method would eliminate, or at least reduce, the amount of empirical adjustment necessary to obtain an acceptable visual match between the different color imaging systems. In a first embodiment, the present invention provides a method for characterizing a color imaging system according to claim 1. The method, in accordance with this first embodiment of the present invention, obtains first color data representing color values output by the color imaging system, and converts the first color data to second color data using a color space having a white reference vector, the color values of which are adjusted during the conversion according to intensities of the color values represented by the first color data. In a second embodiment, the present invention provides a system and method for characterizing a color imaging system. In a further embodiment, the present invention provides a method for performing a color transformation according to claim 4. The method, in accordance with this further embodiment of the present invention, obtains first color data representing output of a first color imaging system, obtains second color data representing output of a second color imaging system, converts the first color data to third color data using a color space, converts the second color data to fourth color data using the color space, adjustsa white reference vector of the color space during the conversion of the first color data according to intensities of the first color data, adjusts the white reference vector of the color space during the conversion of the second color data according to intensities of said second color data, and maps the fourth color data to the third color data to generate color transformation data. The invention will be described in detail in connection with the drawings,in which: Fig. 1 is a functional block diagram of a system for characterizing a color imaging system, in accordance with a first embodiment of the present invention; Fig. 2 is a functional block diagram illustrating the functionality of a system and method for characterizing a color imaging system, in accordance with the first embodiment of the present invention; Fig. 3 is a functional block diagram of a system for performing a color transformation, in accordance with a second embodiment of the present invention; Fig. 4 is a functional block diagram illustrating the functionality of a system and method for performing a color transformation, in accordance with the second embodiment of the present invention; Fig. 5 is a color space plot comparing relative color responses of a color imaging system and target color imaging system after application of a color transformation generated in accordance with the second embodiment of the present invention; Fig. 6 is a color space plot comparing relative color responses of the color imaging system and target color imaging system represented in Fig. 5 after application of a color transformation generated using the CIELAB color space; and Fig. 7 is a color space plot comparing relative color responses of the color imaging system and target color imaging system represented in Fig. 5 after application of a color transformation generated using the ICPF LAB color space. Fig. 1 is a functional block diagram of a system 10 for characterizing a color imaging system, in accordance with a first embodiment of the present invention. This characterization, also commonly referred to as "profiling," can be used to analyze a single color imaging system, or as a basis to transform the color response of the color imaging system to match the color response of another "target" color imaging system. The system 10 of Fig. 1 may be used to implement the steps of a method for characterizing a color imaging system, in accordance with this first embodiment of the present invention. Accordingly, the method of the first embodiment of the present invention will be described in terms of the functionality of system 10. As shown in Fig. 1, system 10 includes a processor 12 that executes a software application program configured to carry out the steps of a method for characterizing a color imaging system, in accordance with this first embodiment of the present invention. The processor 12 can be realized, for example, by a personal computer such as an Apple Macintosh™ or an IBM PC, or by a computer workstation. Alternatively, processor 12 could be realized by a microprocessor that accesses a read-only memory (ROM) into which the application program is loaded. The application program could be embedded in a color management software package, such as that provided with the 3M Rainbow™ color proofing system, commercially available from Minnesota Mining & Manufacturing Company, of St. Paul, Minnesota. The implementation of system 10 and the method via software affords flexibility in development and modification. The system and method alternatively can be implemented by an integrated logic circuit, however, for increased color processing speed. In addition to processor 12, system 10 includes means for obtaining color data representing the output of a color imaging system. Examples of color imaging systems to which system 10 and the method of the present invention can be applied include color printing systems, color display systems, and color projection systems. As shown in Fig. 1, the color data can be obtained directly from a color imaging system via a color detector 14, or by accessing a color data file stored in a color data memory 16. With a printing system, for example, color detector 14 may be configured to measure color values for color patches 18 formed on a printing substrate 20, as shown in Fig. 1. With a color display, color detector 14 may be configured to measure color values produced on a phosphor screen or liquid crystal matrix. Similarly, color detector 14 may be equipped to measure color values produced by a color projection system. As one illustration, color detector 14 could be configured to capture a scene or an animated sequence from a display or projection system, and generate color values representative of the captured imagery. The color detector 14 may comprise, for example, a color measurement system such as a Gretag™ SPM 50 color measurement device, commercially available from Gretag, Inc., of Regensdorf, Switzerland, or a densitometer, such as an X-Rite color densitometer, commercially available from X-Rite, of Grandville, Michigan. For display or projection system applications, color detector 14 alternatively could comprise a video camera or digital camera. The color data obtained by color detector 14 may be loaded into color data memory 16 as a color data file, as indicated by line 22. Alternatively, the color data obtained by color detector 14 could be directly loaded into a memory associated with processor 12, as indicated by line 24. The processor 12 can access the color data file stored in color data memory 16, as indicated by line 26, to obtain color data previously detected by color detector 14. The color data memory 16 may store several color data files for a variety of different color imaging systems. Thus, a system user can direct processor 12, via a user interface associated with system 10, to select one of the various color data files for purposes of characterizing a particular color imaging system of interest to the system user. The color data obtained from either color detector 14 or color data memory 16 preferably represents CIE XYZ tristimulus values for each of a variety of color outputs generated by a color imaging system under study. Alternatively, the color data can be converted to CIE XYZ tristimulus values. In addition, the color data preferably represents color outputs distributed across the color gamut of the color imaging system to thereby provide a broad sampling for purposes of color characterization. Thus, in the case of a printing system, color patches 18 represent various combinations and gradations of colors formed by dye transfer or ink deposition. The CIE XYZ tristimulus values represent the relative amounts of primary color stimuli required to match colors within a CIE color system. The relative values of XYZ are influenced by the power distribution of the illuminant, e.g., D 50 , and the CIE Standard Observer function, e.g., 2° or 10°. As an alternative to CIE XYZ, the color data can be, for example, in the form of RGB data, CMYK density data, or other device dependent data. To characterize the color imaging system, in accordance with the present invention, processor 12 converts the color data obtained from either color detector 14 or color data memory 16 using a color space having a white reference vector that is adjusted during the conversion. Specifically, processor 12 converts the color data into second color data and adjusts the white reference vector of the color space during the conversion according to intensities of the original color data. In the context of the present invention, intensity refers to degree of difference of a color value from the media white or the white point of the color imaging system. The term intensity may refer to both chromatic and achromatic colors. By adjusting the white reference vector, processor 12 produces a modified L*a*b* color space. In accordance with the present invention, the modified L*a*b* color space will be referred to herein as L + a + b + color space. As shown in Fig. 1, processor 12 converts the color data obtained from either color detector 14 or color data memory 16 to produce the L + a + b + color data and stores the resulting L + a + b + color data in an L + a + b + memory 28, as indicated by line 30. The term "white reference vector" refers to the vector defined by the tristimulus values X N , Y N , Z N obtained for a reference associated with the color imaging system. In the CIELAB color space, the white reference vector is fixed and comprises tristimulus values X N , Y N , Z N for a perfectly diffuse white reflector. In the ICPF LAB color space described by the International Color Consortium in section 2.5 of International Color Profile Format (ICPF) Proposal No. ISO/TC 130/WG2 N, June 10, 1994, the white reference vector is fixed and comprises "media white" tristimulus values X mw , Y mw , Z mw for an imaging base associated with the particular color imaging system. With a color printing system, for example, the imaging base is the printing substrate to which colorants will be applied to form an image. With a color display or color projection system, the imaging base is the white point produced by the display or projection system. In the HUNT LAB color space described by R.W.G. Hunt, in "Revised colour-appearance model for related and unrelated colours," Color Research and Application, volume 16, 1991, pages 146-165, the white reference vector also is fixed. In the RLAB color space, described by Fairchild and Berns, in "Image Color-Appearance Specification Through Extension of CIELAB," Color Research and Application, volume 18, number 3, June, 1993, pages 178-190, the white reference vector is fixed and represented by (p L /L n ), (p M /M n ), (p S /S n ), where L n , M n , and S n are "long, middle, and short wavelength" tristimulus values for media white, and p L , p M , and p S are correction factors calculated according to the deviation of the media white from true white. Unlike the proposed L*a*b* color spaces discussed above, the white reference vector for the L + a + b + color space of the present invention is not fixed, but rather is adjusted during color conversion. The imaging base of the color imaging system influences calculation of the white reference, as will be apparent from additional discussion below. However, the white reference vector is adjusted during color conversion according to the intensity of the original color data being converted. Adjustment of the white reference vector based on color intensity, in accordance with the present invention, provides more accurate color characterization over the entire range of a color imaging system. In particular, adjustment of the white reference vector ensures substantial uniformity of the color characterization for both light color shades and more intense colors. Fig. 2 is a functional block diagram illustrating the functionality of system 10 and a method for characterizing a color imaging system, in accordance with the first embodiment of the present invention. The processor 12 can convert the color data obtained from either color detector 14 or color data memory 16 to second color data using any of the existing L*a*b* color spaces, such as CIELAB, RLAB, etc., subject to adjustment of the white reference vector, in accordance with the L + a + b + color space of the present invention. The CIELAB color space will be used, however, for purposes of illustration in describing the functionality of the first embodiment of the present invention. With reference to Fig. 2, color data is first obtained for a particular color imaging system by either detecting color data produced by the color imaging system, as indicated by block 40, or accessing color data in a color data file, as indicated by block 42. The resulting color data, indicated by block 44, comprises an array of CIE XYZ data [(X b , Y b , Z b ) ... (X k , Y k , Z k )]. In the array indicated by block 44, the vector (X b , Y b , Z b ) represents the color data obtained for the imaging base associated with the color imaging system. Thus, the vector (X b , Y b , Z b ) represents either the color of an imaging substrate or the white point produced by a color display or color projection system. The vector (X k , Y k , Z k ) represents the color data obtained for a maximum color output produced by the color imaging system. More explicitly, the value of X k is given by the value of X which satisfies: MAX(ABS(X - X b )) for all values of X measured from all possible colors imaged by the system, where ABS returns the absolute value of the difference value in parentheses, and MAX returns the maximum difference value for all values of X relative to X b . Values of Y k and Z k can be similarly defined. The array indicated by block 44 also will include a number of intermediate vectors distributed across the range of the color imaging system. In Fig. 2, block 46 indicates the white reference vector (X n , Y n , Z n ) for the color imaging system. In the CIELAB color space, the white reference vector (X n , Y n , Z n ) ordinarily would represent the color data obtained for a perfectly diffuse white reflector. In the L + a + b + color space of the present invention, the white reference vector (X n , Y n , Z n ) is calculated as a function of the imaging base vector (X b , Y b , Z b ), and is adjusted according to the particular color data being converted, as indicated by block 48 of Fig. 2. In particular, the white reference vector (X n , Y n , Z n ) is adjusted for each set of color data shown in block 44 according to the intensity of the color data. Adjustment of the white reference vector (X n , Y n , Z n ) results in a new white reference vector (X n ', Y n ', Z n '), as indicated by block 50. The new white reference vector (X n ', Y n ', Z n ') then is used for conversion of the set of color data. Specifically, as indicated by block 52, the new white reference vector (X n ', Y n ', Z n ') is used as the basis for conversion of the set of color data to modified L*a*b* color data. The modified L*a*b* color data is designated as L + a + b + color data in block 54 of Fig. 2. In accordance with the present invention, the white reference vector (X n , Y n , Z n ) can be adjusted to form the new white reference vector (X n ', Y n ', Z n ') according to the following equations: X n ' = X b (1 - SAT(X,Y,Z)) + X n * SAT(X,Y,Z) Y n ' = Y b (1 - SAT(X,Y,Z)) + Y n * SAT(X,Y,Z) Z n' = Z b (1 - SAT(X,Y,Z)) + Z n * SAT(X,Y,Z) where: SAT(X,Y,Z) = MAX((X-X n )/(X k - X n ),(Y-Y n )/(Y k - Y n ), (Z-Z n )/(Z k - Z n )), where X b , Y b , Z b are tristimulus values obtained for an imaging base associated with the color imaging system, and where X k , Y k , Z k are tristimulus values of maximum intensity values for XYZ in the color imaging system. The "MAX" operator in equation [7] returns the maximum value of the parameters enclosed in parentheses, e.g., (X-X n )/ (X k -X n ). For color characterization, the adjusted white reference vector (X n ', Y n ', Z n ') can be applied to the CIELAB equations as follows: L* = 116(Y/Y n ') 1/3 - 16 a* = 500 [(X/X n ') 1/3 - (Y/Y n ') 1/3 ] b* = 500 [(Y/Y n ') 1/3 - (Z/Z n ') 1/3 ] Application of equations [8]-[10] to the color data obtained for the color imaging system, in combination with the adjustment of the white reference vector (X n ', Y n ', Z n ') as in equations [4]-[7], produces a set of color data in L + a + b + space that characterizes the color response of the color imaging system. In practice, the values X k , Y k , Z k in equations [4]-[7] generally can be set to zero for simplicity, because the values of XYZ become very small in the most intense colors, e.g., maximum black. After converting the color data using L + a + b + color space, conventional multi-dimensional interpolation can be performed to produce a more complete characterization of the color imaging system. The application of equations [4]-[7] above to produce the adjusted white reference vector (X n ', Y n ', Z n '), in accordance with the present invention, is based on the following assumptions about the color imaging systems being characterized. First, it is assumed that the white reference vectors (X n , Y n , Z n ) of two different color imaging systems may be different even if the illuminant is the same. With color printing systems, for example, the white reference vectors will be different for images observed on differently colored printing substrates under the same viewing conditions. Similarly, the white reference vectors can be different due to different white points produced by different color displays or color projection systems. Second, it is assumed that the achievable colors of the target color imaging system to be matched are generally within the color gamut of the system which is to be transformed in order to match it, even if the white references are not the same. Thus, if the printing substrates or displays on which two images are formed differ by 6 delta E according to the 1976 CIE definition, it can often be the case that the more intense colors can still be matched to 1 delta E. Third, if the first and second assumptions above are correct, then "partial chromatic adaptation" must be reinterpreted to mean that von Kries-type scaling, as used in the ICPF LAB color space, is appropriate in the lighter shades of color, but is not appropriate in the more intense areas. Thus, regardless of whether one uses CIELAB, ICPF LAB, HUNT LAB, RLAB, or any other color space, the white reference vectors can be different for two different imaging systems in the less intense colors, i.e., close to the white reference of the imaging base, or "media white," but should converge to be substantially the same in the more intense regions of color space. Even if the media are different, such as a display and paper hard copy, substantially the same values for the white reference vectors should be used for the two systems for highly intense colors. The L + a + b + color space of the present invention is constructed to cause conversion of the white reference vector in more intense regions, as is apparent from equations [4]-[6] above. Equations similar to equations [4]-[7] above can be used for other L*a*b* color spaces. For example, the RLAB color space equations can be modified by adjusting the white reference vector (L n , M n , S n ) according to color data intensity as follows: L n = L b (1 - SAT(L,M,S)) + L n * SAT(L,M,S) M n = M b (1 - SAT(L,M,S)) + M n * SAT(L,M,S) S n = S b (1 - SAT(L,M,S)) + S n * SAT(L,M,S), where SAT(L,M,S) = MAX((L-L n )/(L k -L n ), (M-M n )/(M k -M n ), (S-S n ) / (S k -S n )) For simplicity, each of the SAT() equations [7] and [13] above has been represented as a linear function. More complex functions may be desirable, however, to achieve improved visual results. For example, the white reference vector can be adjusted using the following SAT() function: SAT(X,Y,Z) -> F(SAT(X,Y,Z)) where function F() is an nth order polynomial of the form: F(x) = a 0 + a 1 x + a 2 x 2 + ... a nX n . Alternatively, the white reference vector could be adjusted using a SAT() function as follows: SAT(X,Y,Z) -> F(L*, C*) where L* and C* are indicative of levels of lightness and colorfulness, respectively, and are based on powers of 1/γ and differences of powers of 1/γ, where 3 < γ < 4.5 depending on surrounding conditions determined according to the HUNT LAB color space. Fig. 3 is a functional block diagram of a system 32 for performing a color transformation, in accordance with a second embodiment of the present invention. The system 32 substantially corresponds to system 10 of Fig. 1. For example, system 32 includes a processor 12, a color detector 14, and a color data memory 16. The functionality of system 32 also substantially corresponds to that of system 10 of Fig. 1. However, system 32 characterizes two or more different color imaging systems and calculates a mapping between the color imaging systems based on the characterizations. The mapping can be used to generate a color transformation table 34, as indicated by line 36. The color transformation table 34 then can be used to produce a color response on one color imaging system that visually matches the color response on the other, "target" color imaging system. In accordance with this second embodiment of the present invention, color detector 14 is configured to obtain color data representing the output of two or more color imaging systems. As shown in Fig. 3, for example, color detector 14 may be configured to detect color data from color patches 18 formed on a first printing substrate 20 by a first color imaging system and color patches formed on a second printing substrate 38 by a second color imaging system. With different color monitor displays, color detector 14 may be configured to measure color values produced on phosphor screens or liquid crystal matrices associated with the displays. Similarly, color detector 14 may be used to measure color values produced by a different projection system. The color data for the different color imaging systems alternatively can be obtained by accessing color data files stored in color data memory 16. As in the first embodiment, the color data obtained from either color detector 14 or color data memory 16 preferably represents CIE XYZ tristimulus values for each of a variety of color outputs generated by the different color imaging systems. To perform a color transformation, in accordance with the present invention, processor 12 converts the color data obtained for each of the different color imaging systems using the L + a + b + color space of the present invention, in which the white reference vector is adjusted during the conversion. Specifically, processor 12 converts first color data obtained for a first color imaging system using a color space having a white reference vector that is adjusted according to intensities of the first color data, and converts second color data obtained for a second color imaging system using a color space that is adjusted according to intensities of the second color data. As in the first embodiment, adjustment of the white reference vector during conversion of the first color data and the second color data produces modified L*a*b* color spaces for the respective data, referred to herein as L + a + b + color spaces. Fig. 4 is a functional block diagram illustrating the functionality of system 32 and a method for performing a color transformation, in accordance with the second embodiment of the present invention. As shown in Fig. 4, color data is obtained for a first color imaging system, as indicated by block 56, and for a second color imaging system, as indicated by block 58. The resulting color data for the first color imaging system comprises an array of CIE XYZ data [(X b1 , Y b1 , Z b1 ) ... (X k1 , Y k1 , Z k1 )], whereas the color data for the second color imaging system comprises an array of CIE XYZ color data [(X b2 , Y b2 , Z b2 ) ... (X k2 , Y k2 , Z k2 )]. As in the first embodiment, the vector (X b1 , Y b1 , Z b1 ) represents the color data obtained for the imaging base associated with the first color imaging system, and the vector (X b2 , Y b2 , Z b2 ) represents the color data obtained for the imaging base associated with the second color imaging system. Similarly, the vector (X k1 , Y k1 , Z k1 ) represents the color data obtained for a maximum intensity color produced by the first color imaging system, and the vector (X k2 , Y k2 , Z k2 ) represents the color data obtained for a maximum intensity color produced by the second color imaging system. Again, the value of X k1 is given by the value of X 1 which satisfies: MAX(ABS(X 1 - X b )) for all values of X 1 measured from all possible colors imaged by the system, where ABS returns the absolute value of the difference value in parentheses, and MAX returns the maximum difference value for all values of X 1 relative to X b . Values of Y k1 , Z k1 , X k2, Y k2 , and Z k2 can be similarly defined. In Fig. 4, block 60 indicates the white reference vector (X n , Y n , Z n ) for each of the color imaging systems. In the L + a + b + color space of the present invention, the white reference vector (X n , Y n , Z n ) for each color imaging system is calculated as a function of the imaging base vector (X b , Y b , Z b ) for the respective color imaging system, and is adjusted according to the particular color data being characterized, as indicated by block 62 of Fig. 4. In particular, the white reference vector (X n , Y n , Z n ) for the first color imaging system is adjusted according to the intensity of the color data indicated in block 56, whereas the white reference vector (X n , Y n , Z n ) for the second color imaging system is adjusted according to the intensity of the color data indicated in block 58. Adjustment of the white reference vector (X n , Y n , Z n ) for each color imaging system results in new white reference vectors (X n1 ', Y n1 ', Z n1 ') and (X n2 ', Y n2 ', Z n2 '), indicated by blocks 64 and 66, respectively. The new white reference vectors (X n1 ', Y n1 ', Z n1 ') and (X n2 ', Y n2 ', Z n2 ') are used for characterization of the color data for each color imaging system by conversion using the L + a + b + color space, as indicated by block 68. The conversion results in new L + a + b + color data for each of the color imaging systems, as indicated by blocks 70 and 72, respectively. As in the first embodiment, the white reference vector (X n , Y n , Z n ) can be adjusted according to equations [4]-[17] above during conversion to form the new white reference vectors (X n1 ', Y n1 ', Z n1 ') and (X n2 ', Y n2 ', Z n2 '). After the L + a + b + color space data has been produced, multi-dimensional interpolation is performed to complete the characterization of each of the different color imaging systems. As indicated by block 74, processor 12 calculates a mapping between the two different color imaging systems based on the interpolated L + a + b + data. With different color printing systems, for example, the mapping may take the form of CMYK -> C'M'Y'K'. The processor 12 can generate a color transformation table, as indicated by block 76, defined by the calculated mapping for each of a plurality of color intensity levels. The color transformation table can be used to match the output of the first color imaging system to the output of the second color imaging system. The following non-limiting example is provided to further illustrate a system and method for characterizing a color imaging system, as well as a system and method for performing a color transformation, in accordance with the first and second embodiments of the present invention. EXAMPLE A first 6x6x6x6 grid of color patches was generated by a 3M Rainbow™ desktop color proofing system. A second 6x6x6x6 grid of color patches was generated using a 3M Matchprint™ III commercial color proofing system. The grids were measured by a spectrophotometer and the resulting data stored in a color data file. The grids were ordered as a matrix of increasing values of CMYK. In the matrix, all permutations of six gray levels were generated. Spectral data obtained from each patch was converted into CIE XYZ color space using a 2° standard observer and D 50 illuminant. At this point, the CIELAB color space would dictate the use of equations [1], [2], and [3] above to convert the XYZ tristimulus values to L*a*b* color space. The RLAB color space would convert the CIE XYZ values to L R a R b R using several intermediate matrix multiplications. Instead, the L + a + b + color space of the present invention was used, as disclosed herein, by the application of equations [4]-[10] to the CIE XYZ color data. Thus, the values of X n Y n Z n in the CIELAB equations [1]-[3] were replaced by X n 'Y n 'Z n ', as defined in equations [4]-[7]. The new L + a + b + color space was then used to calculate values of L*a*b* for the first and second grids generated by the 3M Rainbow™ and 3M Matchprint™ proofing systems, respectively. Multi-dimensional interpolation was used to create a color profile for each of the two proofing systems, and a CMYK -> C'M'Y'K' mapping was performed with the 3M Matchprint™ system as the target. An example of a suitable mapping technique is described in Stone et al., "Color Gamut Mapping and the Printing of Digital Color Images," ACM Transcripts on Graphics, volume 7, number 4, October 1988, pages 249-292. After slight manual adjustments were made to the resulting color transformation to minimize errors due to measurement noise, uniformity error, etc. a good visual match was achieved. Fig. 5 is a color space plot comparing relative color responses of a 3M Rainbow™ color proofing system and a target 3M Matchprint™ color proofing system after application of a color transformation table generated with the L + a + b + color space of the present invention to the 3M Rainbow™ color proofing system. In Fig. 5, reference numeral 78 indicates the color response of the target 3M Matchprint™ system, whereas reference numeral 80 indicates the color response of the 3M Rainbow™ system subject to the color transformation. As shown in the plot, the color transformation provided good visual results. The remaining errors that can be seen in Fig. 5 are due to errors in the mapping that could be easily fixed with the application of more sophisticated software tools. Nevertheless, the color quality was comparable to the quality of color transformations previously achieved only with the aid of laborious empirical adjustments. Fig. 6 is a color space plot comparing relative color responses of a 3M Rainbow™ color proofing system and a target 3M Matchprint™ color proofing system after application of a color transformation table generated using the conventional CIELAB color space to the 3M Rainbow™ color proofing system. Fig. 6 shows the same spectral data as that shown in Fig. 5 for 3M Rainbow™ and 3M Matchprint™ proofing systems plotted using the CIELAB color space. In Fig. 6, reference numeral 82 indicates the color response of the 3M Matchprint™ system, whereas reference numeral 84 indicates the color response of the 3M Rainbow™ system. Fig. 6 reveals significant differences in the color response for the two systems. The differences are due to the inability of the CIELAB color space to maintain uniformity across the color range when the colors of the imaging bases associated with the two systems differ significantly. For example, Fig. 6 shows a significant shift toward blue in the data obtained for the 3M Rainbow™ system. The shift is due to the blue hue of the printing substrate used in the 3M Rainbow™ system. However, the color of the printing substrate must be used for the white reference vector in the CIELAB color space. Therefore, the mapping procedure must now endeavor to "fix" the blue shift by adding significant amounts of yellow based on empirical observations. Fig. 7 is a color space plot comparing relative color responses of a 3M Rainbow™ color proofing system and a target 3M Matchprint™ color proofing system after application of a color transformation table generated using the ICPF LAB color space to the 3M Rainbow™ color proofing system. In Fig. 7, reference numeral 86 represents the color response of the target 3M Matchprint™ system, whereas reference numeral 88 represents the color response of the 3M Rainbow™ system. As shown in Fig. 7, the colors near the origin show similar values between the two systems. However, colors extending out from the origin are significantly yellow shifted. The shift is due to a shift in the entire color space toward yellow to compensate for referencing all colors to the white reference vector of the imaging base, which is blue-shifted. Analysis of the average of the errors between the 3M Rainbow™ and 3M Matchprint™ proofing systems with the different color spaces described above reveals a systematic difference using the L + a + b + color space of the present invention, a significant blue shift using CIELAB, and a significant yellow shift using the ICPF color space. The average of the errors between the 3M Rainbow™ and 3M Matchprint™ proofing systems using the L + a + b + color space of the present invention were: ΔL* Δa* Δb* -1.15 -0.52 0.18 The average of the errors between the 3M Rainbow™ and 3M Matchprint™ proofing systems using the CIELAB color space were: ΔL* Δa* Δb* -1.30 0.02 -1.96 The average of the errors between the 3M Rainbow™ and 3M Matchprint™ proofing systems using the ICPF color space were: ΔL* Δa* Δb* -0.79 -1.35 3.52 As indicated above, there is a significant shift toward blue or yellow in the highlight or high intensity regions using the CIELAB and ICPF color spaces when comparing two images which appear to be optimally matched in terms of overall color. There is a minimal shift, however, when the L + a + b + color space of the present invention is used. A system and method employing the L + a + b + color space therefore is very effective for performing color transformations between different color imaging systems, and especially between different color imaging systems having different imaging bases or white points.

Claims: A method for characterizing a color imaging system, the method comprising the steps of: obtaining first color data representing color values output by the color imaging system; converting the first color data to second color data using a color space having a white reference vector; adjusting color values of the white reference vector, during the conversion of the first color data to the second color data according to intensities of the color values represented by the first color data. The method of claim 1, wherein the step of converting the first color data includes the step of converting said first color data to L*a*b* data and further includes the steps of: converting the first color data to the L*a*b* data according to the following equation: L* = 116(Y/Y n ) 1/3 - 16, a* = 500 [(X/X n ) 1/3 - (Y/Y n ) 1/3 ], and b* = 500 [(Y/Y n ) 1/3 - (Z/Z n ) 1/3 ], wherein X, Y, Z are tristimulus values for the first color data and X n , Y n , Z n are white reference tristimulus values for the color imaging system; and adjusting the white reference tristimulus values X n , Y n , Z n according to intensities of the tristimulus values X, Y, Z, thereby adjusting said white reference vector of the color space. The method of claim 1, wherein the step of converting the first color data includes the step of converting the first color data to L*a*b* data and further includes the steps of: converting the first color data to the L*a*b* data according to the following equations: L* = 116(Y/Y n ) 1/3 - 16, a* = 500 [(X/X n ) 1/3 - (Y/Y n ) 1/3 ], and and b* = 500 [(Y/Y n ) 1/3 - (Z/Z n ) 1/3 ], wherein X, Y, Z are tristimulus values for the first color data and X n , Y n , Z n are white reference tristimulus values for the color imaging system; and adjusting the white reference tristimulus values X n , Y n , Z n according to the following equations: X' n = X b (1 - SAT(X,Y,Z)) + X n * SAT(X,Y,Z), Y' n = Y b (1 - SAT(X,Y,Z)) + Y n * SAT(X,Y,Z), and Z' n = Z b (1 - SAT(X,Y,Z)) + Z n * SAT(X,Y,Z), wherein: SAT(X,Y,Z) = MAX((X-X n )/(X k -X n ),(Y-Y n )/(Y k -Y n ), (Z-Z n )/(Z k -Z n )), wherein X b , Y b , Z b are tristimulus values for an imaging base associated with the color imaging system, and wherein X k , Y k , Z k are tristimulus values of maximum intensity values for XYZ in the color imaging system. A method for performing a color transformation, the method comprising the steps of: obtaining first color data representing color values output by a first color imaging system; obtaining second color data representing color values output by a second color imaging system; converting the first color data to third color data using a color space having a white reference vector; converting the second color data to fourth color data using a color space having a white reference vector; adjusting color values of the white reference vector, during the conversion of the first color data to the third color data according to intensities of the color values represented by the first color data; adjusting color values of the white reference vector, during the conversion of the second color data to the forth color data according to intensities of the color values represented by the second color data; and mapping the fourth color data to the third color data to generate color transformation data. The method of claim 4, wherein the step of converting the first color data includes the step of converting the first color data to L*a*b* data, and the step of converting the second color data includes the step of converting the second color data to L*a*b* data, and wherein: the step of converting the first color data further includes the steps of: converting the first color data to the L*a*b* data according to the following equation: L* = 116(Y 1 /Y n1 ) 1/3 - 16, a* = 500 [(X 1 /X n1 ) 1/3 - (Y 1 /Y n1 ) 1/3 ], and b* = 500 [(Y 1 /Y n1 ) 1/3 - (Z 1 /Z n1 ) 1/3 ], wherein X 1 , Y 1 , Z 1 are tristimulus values for the first color data, and X n1 , Y n1 , Z n1 are white reference tristimulus values for the first color imaging system, and adjusting the white reference tristimulus values X n1 , Y n1 , Z n1 according to intensities of the tristimulus values X 1 , Y 1 , Z 1 , thereby adjusting the white reference vector of the color space, and the step of converting the second color data further includes the steps of: converting the second color data to the L*a*b* data according to the following equation: L* = 116(Y 2 /Y n2 ) 1/3 - 16, a* = 500 [(X 2 /X n2 ) 1/3 - (Y 2 /Y n2 ) 1/3 ], and b* = 500 [(Y 2 /Y n2 ) 1/3 - (Z 2 /Z n2 ) 1/3 ], wherein X 2 , Y 2 , Z 2 are tristimulus values for the second color data, and X n2 , Y n2 , Z n2 are white reference tristimulus values for the second color imaging system, and adjusting the white reference tristimulus values X n2 , Y n2 , Z n2 according to intensities of the tristimulus values X 2 , Y 2 , Z 2 , thereby adjusting the white reference vector of the color space. The method of claim 4, wherein the step of converting the first color data includes the step of converting the first color data to L*a*b* data, and the step of converting the second color data includes the step of converting the second color data to L*a*b* data, and wherein: the step of converting the first color data further includes the steps of: converting the first color data to the L*a*b* data according to the following equation: L* = 116(Y 1 /Y n1 ) 1/3 - 16, a* = 500 [(X 1 /X n1 ) 1/3 - (Y 1 /Y n1 ) 1/3 ], and b* = 500 [(Y 1 /Y n1 ) 1/3 - (Z 1 /Z n1 ) 1/3 ], wherein X 1 , Y 1, Z 1 are tristimulus values for the first color data, and X n1 , Y n1 , Z n1 are white reference tristimulus values for the first color imaging system, and adjusting the white reference tristimulus values X n1 , Y n1 , Z n1 according to the following equations: X' n1 = X b1 (1 - SAT(X 1 ,Y 1 ,Z 1 )) + X n1 * SAT(X 1 ,Y 1 ,Z 1 ), Y' n1 = Y b1 (1 - SAT(X 1 ,Y 1 ,Z 1 )) + Y n1 * SAT(X 1 ,Y 1 ,Z 1 ), and Z' n1 = Z b1 (1 - SAT(X 1 ,Y 1 ,Z 1 )) + Z n1 * SAT(X 1 ,Y 1 ,Z 1 ), wherein: SAT(X 1 ,Y 1 ,Z 1 ) = MAX((X 1 -X n1 )/(X k1 -X n1 ), (Y 1 -Y n1 )/(Y k1 -Y n1 ), (Z 1 -Z n1 )/(Z k1 -Z n1 )), wherein X b1 , Y b1 , Z b1 are tristimulus values for an imaging base associated with the first color imaging system, and wherein X k1 , Y k1 , Z k1 are tristimulus values of maximum intensity values for XYZ in the first color imaging system, and the step of converting the second color data further includes the steps of: converting the second color data to the L*a*b* data according to the following equation: L* = 116(Y 2 /Y n2 ) 1/3 - 16, a* = 500 [(X 2 /X n2 ) 1/3 - (Y 2 /Y n2 ) 1/3 ], and b* = 500 [(Y 2 /Y n2 ) 1/3 - (Z 2 /Z n2 ) 1/3 ], wherein X 2 , Y 2 , Z 2 are tristimulus values for the second color data, and X n2 , Y n2 , Z n2 are white reference tristimulus values for the second color imaging system, and adjusting the white reference tristimulus values X n2 , Y n2 , Z n2 according to the following equations: X' n2 = X b2 (1 - SAT(X 2 ,Y 2 ,Z 2 )) + X n2 * SAT(X 2 ,Y 2 ,Z 2 ), Y' n2 = Y b2 (1 - SAT(X 2 ,Y 2 ,Z 2 )) + Y n2 * SAT(X 2 , Y 2 , Z 2 ), and Z' n2 = Z b2 (1 - SAT(X 2 ,Y 2 ,Z 2 )) + Z n2 * SAT(X 2 ,Y 2 ,Z 2 ), wherein: SAT(X 2 ,Y 2 ,Z 2 ) = MAX((X 2 -X n2 )/(X k2 -X n2 ), (Y 2 -Y n2 )/(Y k2 -Y n2 ), (Z 2 -Z n2 )/(Z k2 -Z n2 )), wherein X b2 , Y b2 , Z b2 are tristimulus values for an imaging base associated with the second color imaging system, and wherein X k2 , Y k2 , Z k2 are tristimulus values of maximum intensity values for XYZ in the second color imaging system.

Inventors: EDGE CHRISTOPHER J, SOUTER JOHN, EDGE, CHRISTOPHER J., SOUTER, JOHN, Edge, Christopher J., c/o Minnesota Min and Man Co, Souter, John, c/o Minnesota Min and Man Co
Applicants: KODAK POLYCHROME GRAPHICS LLC
Application year: 1996
Main classification: G01J3
IPC codes: G06T11, G01J3, H04N1, H04N9