US 7768682 B2 Abstract A multi-dimensional printer profile look-up table for color correction is generated. First, an initial estimate for a black (K) component in a four-color color space for received color signals in the device independent color space is generated by using a three-dimensional parametric function. Next, initial estimates for the three non-black color components of the four-color color space are generated from the generated initial estimate for the black (K) component and the received color signals. Then, a printer profile including a map that maps the device independent color space to the four-color color space is generated using the generated initial estimates for the black (K) and the three non-black color components in the four-color color space.
Claims(15) 1. A method for generating a multi-dimensional printer profile look-up table for color correction, the method comprising the steps of:
receiving color signals defining a plurality of nodes in a device independent color space; and
for each of the nodes:
generating, by a processor without user interaction and using the received color signals in the device independent color space and a K-function, an initial estimate for a black (K) component in a four-color color space for the received color signals in the device independent color space, the K-function being defined as:
where
and L
_{o}, η, β, and α are predetermined values;
generating initial estimates for the non-black components in the four-color color space from the generated initial estimate for the black (K) component and the received color signals in the device independent color space, and generating a printer profile comprising a map that maps the device independent color space to the four-color color space using the generated initial estimates for the black (K) and the non-black components in the four-color color space. 2. The method according to
receiving input color signals;
determining the color space of the input color signals; and
if the input color signals are determined to not be in the device independent color space, translating the input color signals into the device independent color space.
3. The method according to
4. The method according to
optimizing the K-function parameters by tuning the K-function parameters by minimizing
where W
_{i}, is the weight for each color, K_{i}, is the desired amount of black (K) component for the color described by L*a*b*_{i}, and k(L*a*b*_{i},) is the amount of black (K) indicated by the K-function.5. The method according to
6. The method according to
inverting a printer model comprising a 3-D look-up table (LUT) by using the generated initial estimate for the black (K) component and by using one of iterative automatic spot color editor (ASCE) processing and moving matrix algorithm processing, the printer model modeling a printer that converts values in the four-color color space into the device independent color space.
7. The method according to
updating the printer model using measurements with profile patches.
8. The method according to
(a) printing a patch using the generated non-black components and the black (K) component;
(b) measuring non-black components and black (K) components of the printed patch;
(c) calculating change in values between the generated non-black components and the generated black (K) components and the measured non-black components and the measured black (K) components of the printed patch;
(d) generating new non-black components and black (K) components for the node; and
(e) determining, using the calculated change in values between the generated non-black and black (K) components and the measured non-black and black (K) components of the printed patch, whether further iteration is required, and if so, returning to step (a).
9. The method according to
10. The method according to
11. The method according to
12. The method according to
generating an ICC profile from the map that maps the device independent color space to the four-color color space.
13. The method according to
refining the map that maps the device independent color space to the four-color color space by iterative automatic spot color editor (ASCE) processing on a printer.
14. An apparatus for generating a multi-dimensional printer profile look-up table for color correction, the apparatus comprising:
an input module configured to receive color signals defining a plurality of nodes in a device independent color space;
a black component estimation module configured to generate, for each of the nodes defined by the received color signals, without user interaction and using the received color signals in the device independent color space and a K-function, an initial estimate for a black (K) component in four-color color space for the received color signals in the device independent color space, the K-function being defined as:
where
and L
_{o}, η,β, and α are predetermined values;
a non-black estimation module configured to generate, for each of the nodes defined by the received color signals, initial estimates for non-black components in the four-color color space from the generated initial estimate for the black (K) component and the received color signals in the device independent color space; and
a printer profile generation module configured to generate a printer profile comprising a map that maps the device independent color space to the four-color color space using the generated initial estimates for the black (K) and the non-black components in the four-color color space.
15. A method for generating a multi-dimensional printer profile look-up table for color correction, the method comprising the steps of:
receiving color signals defining a plurality of nodes in a device independent color space; and
for each of the nodes:
generating, by a processor without user interaction and using the received color signals in the device independent color space and a K-function, an initial estimate for a black (K) component in a four-color color space for the received color signals in the device independent color space, the K-function being defined as:
where
where L
_{o}, a_{o}, b_{0}, η, β, and α are predetermined values;
generating initial estimates for the non-black components in the four-color color space from the generated initial estimate for the black (K) component and the received color signals in the device independent color space, and
generating a printer profile comprising a map that maps the device independent color space to the four-color color space using the generated initial estimates for the black (K) and the non-black components in the four-color color space.
Description In image production systems that produce images on a recording medium, such as printers, photocopiers, facsimile machines and other xerographic devices, it is desired to control, as closely as possible, the actual perceived color of the output images. One known method to optimize image color output is to provide a look-up-table (LUT) that translates received color signals into optimized color signals for printing, for example, on a printer. It is known, for example, that in three-color spaces, such as a Cyan-Magenta-Yellow (CMY) color space, gray color is made up of equal, or near-equal amounts of each one of the colors of the three-color space. Each color in a three-color space which is made up of non-negligible amounts of all three primary colors of the color space can be viewed as having a gray component. Expanding the three-color space to include Black (K) allows then, for most colors in the color space, for a black (K) component to be added in substitution for the gray component. In such a solution, a three-input, four-output LUT is needed. Adding black (K) as a fourth color in this manner usually saves cost, as black (K) ink is usually cheaper than colored ink, and allows more colors to be produced than were achievable with the original three primary colors. Controlled amount of black addition is considered useful for high quality printing. Having black gives better stability to prints in the presence of print variables (relative humidity, temperature, material latitude etc.,). Increased gamut for dark colors, as in DC8000, is also achieved with the addition of black toner. One major disadvantage in adding black is the excessive black in flesh tones, sky tones and other important tone scales can make these tone scales appear dirty/grainy or non-uniform with black toner. However, some key colors (e.g., flesh tones and sky tones) are sensitive to the addition of black and may not be perceived as optimal if too much black is added. The replacement of the inherent gray component of colors in a three-color space with a fourth, black (K) component is called gray component replacement (GCR) or under color removal (UCR). UCR is usually used when colors are near the neutral axis, such as, for example, the L* axis in L*a*b* space or the C=M=Y axis in CMY color space. GCR is similar to UCR, but can be used with colors throughout the color gamut, not just near or at neutral axes. The use of GCR and UCR is known to facilitate the production of pleasing color outputs, optimal gamut, and to improve constraints on area coverage. Traditionally, determination of the black (K) component in a target color system was done in an ad hoc way by experienced practitioners. This method has the disadvantages of requiring experienced personnel, being generally irreproducible, being costly, and being time-consuming. Another method used to transform colors in a three-dimensional color space, such as CMY color space, to a four-color color space, such as CMYK color space, is to determine the black (K) component by a one dimensional function that relates the black (K) component as a one-dimensional function of the other components. In the CMY color space, for example, the function K=min (C, M, Y) can be used. This method has the disadvantages of not producing sufficiently optimized colors for the entire color gamut, especially for specialized, or key, colors such as, for example, skin tones. In another method, a flexible method for estimating the black (K) component comprises (1) determining a maximum black (K) component, (2) adjusting the black (K) component amounts based on chroma, and (3) determining the other color components. In examples of this method, disclosed in U.S. Pat. No. 5,502,579 to Kita et al. (Kita '529) and U.S. Pat. No. 5,636,290 to Kita et al. (Kita '290), input image signals are transformed by a four-input-three output controller to L*a*b* color space. The disclosure of each of Kita '529 and Kita '290 is incorporated herein by reference in its entirety. A chroma determining means determines chroma signal C* from a* and b*. A UCR ratio calculation means calculates an UCR ratio α from the chroma signal C*. The L*a*b* and UCR ratio α are then converted into the CMYK output. This method also has the disadvantages of not producing sufficiently optimized colors for the entire color gamut. In another method, disclosed in U.S. Pat. No. 6,744,531 to Mestha et al. (Mestha), incorporated herein by reference in its entirety, consistent output across multiple devices is obtained. For a given device, received device independent image data are stored as target image data and also converted by a data adjustment subsystem to printable image data based on the color space of the device. The printable image data is printed. An image sensor senses the printed image data and outputs detected device independent image data to the data adjustment subsystem. The data adjusting subsystem compares the detected device independent image data with the stored target image data and, based on the comparison, determines adjustment factors that are used to conform the printable image data output by the data adjusting subsystem to colors mandated by the device independent image data. In R. Bala, “Device Characterization”, Chapter 5, Digital Color Imaging Handbook, Gaurav Sharma Ed., CRC Press, 2003, several methods for determining the black (K) component are reviewed. One method is black addition in which the black (K) component is calculated as a function of a scaled inverse of L*. In another method, the black (K) component is calculated as a function of the minimum value of the other color components, such as C, M, and Y for the CMY color space. In a third method, a three input-four output transform, subject to imposed constraints, is used to calculate the black (K) component. The constraints placed on the transform include requiring the sum of the color component values at a node to be less than a threshold. For example, in CMYK color space, C+M+Y+K would be constrained to be less than a threshold. A second constraint is to constrain K to be a subset of the range between the minimum and maximum allowed K values. Another method is discussed in (1) R. Balasubramanian, R. Eschbach, “Design of UCR and GCR strategies to reduce moiré in color printing”, IS&T PICS Conference, pp. 390-393 (1999) and (2) R. Balasubramanian, R. Eschbach, “Reducing multi-separation color moiré via a variable undercolor removal and gray-component replacement strategy”, Journ. Imaging Science & Technology, vol. 45, no. 2, pp. 152-160, March/April, 2001. A UCR/GCR strategy is proposed that is optimized to reduce moiré. In this method, the UCR/GCR strategy is to characterize moiré as a function of the color components and to select optimized output color components when the moiré function is minimized. A method for generating a multi-dimensional printer profile look-up table for color correction includes receiving color signals comprising a plurality of nodes in a device independent color space; and, for each of the nodes: (1) generating, by a processor without user interaction and using the received color signals in the device independent color space, an initial estimate for a black (K) component in CMYK color space for the received color signals in the device independent color space, (2) generating initial estimates for cyan (C), magenta (M), and yellow (Y) components in the CMYK color space from the generated initial estimate for the black (K) component and the received color signals in the device independent color space, and (3) generating a printer profile comprising a map that maps the device independent color space to the CMYK color space using the generated initial estimates for the black (K), the cyan (C), the magenta (M), and the yellow (Y) components in the CMYK color space. An apparatus for generating a multi-dimensional printer profile look-up table for color correction includes (1) an input module configured to receive color signals comprising a plurality of nodes in a device independent color space; (2) a black component estimation module configured to, for each of the nodes defined by the received color signals, generate, without user interaction and using the received color signals in the device independent color space, an initial estimate for a black (K) component in CMYK color space for the received color signals in the device independent color space; (3) a CMY estimation module configured to generate initial estimates for cyan (C), magenta (M), and yellow (Y) components in the CMYK color space from the generated initial estimate for the black (K) component and the received color signals in the device independent color space; and (4) a printer profile generation module configured to generate a printer profile comprising a map that maps the device independent color space to the CMYK color space using the generated initial estimates for the black (K), the cyan (C), the magenta (M), and the yellow (Y) components in the CMYK color space. FIB. Embodiments disclose explicit control of the black (K) component to be printed by determining the required black (K) component as a function of the requested color that is specified in a three-dimensional device independent color space. In preferred embodiments, the device independent color space is an isoperceptive color space (that is, a color space which exhibits distances between colors proportional to the distances between the colors as perceived by human eyes). More preferably, the device independent and isoperceptive color space developed by the Commission internationale de l'éclairage, the international authority on light, illumination, color, and color spaces, in 1973, the L*a*b* color space or CIELAB L*a*b*, can be used. The function used to generate the black (K) component can be a parametric multi-dimensional function and is referred to herein as the K-function or K-restricted profiling. The K-function produces first estimated values for the black (K) component based on the requested colors as specified in the device independent color space such as L*a*b*. The first estimated values for the black (K) component are then used to produce first estimated values for the other color component values in a target color space, for example, for Cyan (C), Magenta (M), and Yellow (Y), if the four-color color space of Cyan-Magenta-Yellow-Black (CMYK) is used. The first estimated values for the other color components in the target color space are determined from the first estimated values of the black (K) component and the requested colors specified in the device independent color space. In embodiments, the first estimated values for the black (K) component and the other color components are then refined by an iterative procedure using a printer model. In other embodiments, the first estimated values for the black (K) component and the other color components can be refined on an actual printer using the K-function directly on the printer. The disclosed methods and apparatus provide a flexible device independent color space to black (K) function that provides desired control in the neutral and off-neutral regions of the target color space. The disclosed methods and apparatus further provide optimization of the mapping of colors from the device independent color space to the target color space by using a control algorithm, such as a three input-four output control algorithm, such as when producing a map, by inversion, from L*a*b* color space to CMYK color space, which produces accurate colors while optimally satisfying the constraints of the explicit K-function in most, if not all, of the regions of the target color space. The disclosed methods and apparatus further provide constraints on smoothness of the estimated black (K) values as a function of the device independent color space in those regions where the actual black (K) values must depart from the explicitly specified black (K) values in order to achieve the requested colors. The disclosed methods and apparatus are especially useful for determining accurate amounts of the black (K) component for neutral colors or fleshtone/skintone colors. The initial estimate for the black (K) component in the target color space includes generating the initial estimate for the black (K) component using a K-function. Preferably, the K-function is a parametric multi-dimensional function able to adjust the amount of black (K) component needed in different regions of the target color space. When the CIELAB L*a*b* color space is used as the device independent color space, the K-function is defined by the function: L -
- (1) K−>1 when L*−>0 so that maximum value of K is used at the dark end of the color space.
- (2) The function is symmetrical with respect to a* and b*, and K increases when the color is away from the neutral zone.
- (3) K−>0 when L*−>L
_{0}. Since L_{0 }is selected to be around 100, small amount of black will be used near the white. Parameter L_{0 }affects the middle part of the curve near the neutral region, which is the place where most colors require adjustment to obtain pleasing appearance. Typical values used for α, β, and η are: α=0.01, β=1.5, and η=0.5. Such values are used, for example, for the iGen3 color gamut. A large value of α gives strong dependence of K on a* and b*, while a small value of α means that K is mostly determined by luminosity. The parameter η determines the shape of the K-function curve at small L*. Larger value of η means the K-function curve is more rounded at small L*. The parameter β determines the shape of the K-function in the middle range of L*.
In cases, as the gamut boundary is approached, the valid K that can result in the requested L*a*b* value may have to deviate significantly from the black (K) value produced by application of equations (1) and (2). This can cause a big jump in the black (K) values between adjacent nodes in the resulting LUT, which, in turn, can cause artifacts during otherwise smooth transitions in images. One solution to this problem is to: (1) visit the nodes of the LUT that are closest to the gamut boundary (where big deviations between the specified and achievable black (K) values are expected); (2) solve for the color component values at each of these nodes of the LUT using any of the inversion techniques mentioned herein; and then (3) for a given node (e.g., node N), if there is a big difference between the final black (K) value at N and the initial estimate for the K value at a neighboring node of the LUT that has yet to be visited, adjust the initial K value at the neighboring node to fall within some pre-specified difference from the final K value for node N. In embodiments, the black (K) component for a node yet to be visited can be constrained to be within a threshold value of the black (K) component of a previously finalized adjacent node. In further embodiments, the initial estimate for the black (K) component for a node can be constrained to be a weighted average of the black (K) components of previously finalized, adjacent nodes. For comparison with current GCR/UCR strategy, In other embodiments, where the CIELAB L*a*b* color space is the device independent color space, the K-function is defined as: This function has the following properties: -
- (1) K→1 when L*→0 so that the maximum value for the black (K) component is used at the dark end of the color space.
- (2) The function is symmetrical with respect to a*−a
_{0 }and b*−b_{0}, and K increases when the color is away from the neutral zone. The values a_{0 }and b_{0 }can be a function of L*. For example, if a_{0 }and b_{0 }are selected to be zero when L*=100, and one linearly interpolates to the a*, b*, and L* values at the gamut point, C=M=Y=255and K=0, the k-function in equation (3) will be symmetrical around this new axis (e.g., the brown axis). - (3) K→0 when L*→L
_{0}. Because K→0 when L*→100 for all image apparatus, L_{0 }is chosen to be around 100. Because L_{0 }is selected to be around 100 in embodiments, very small amounts of the black (K) component will be used near white areas.
To set the parameters of equations (3) and (4), the information of the boundary of the color gamut of the target color space can be used, for which the solution of the mapping between the device independent color space and selected subsets of the target color space is unique. In a system where the device independent color space is the L*a*b* color space and the target color space is the CMYK color space, the solution of the mappings between the L*a*b* color space and CMY, CMK, CYK, and MYK color space subsets are unique. Other color information, such as the skin tone, sky color, etc. that are visually important can also be included in the optimization of the parameters of the K-function. Because the target color space would comprehend hundreds or thousands of colors, there is a need to systematically tune the parameters of the K-function in order to obtain the best possible fit between the amounts of black (K) desired for the colors of interest, such as colors on the gamut boundary, skin tones, etc., and the amount of black (K) obtained from the K-function. In embodiments, the K-function parameters are tuned by the following procedure (described in relation to a system in which the device independent color space is the L*a*b* color space and the target color space is the CMYK color space): (1) Define a list of desired black (K (2) Tune the parameters of the K-function by minimizing (3) Perform a fine tuning of the parameters around the local region found in step (2) above using a brute force approach. Once the initial estimates for the black (K) components are generated, these values are used to generate initial estimates for the other colors of the target color system. Thus, in a system where the target color space is the CMYK color space, the initial values for the cyan (C), the magenta (M), and the yellow (Y) components need to be estimated. In such systems where the target color space is a four color space, the initial estimates for the three non-black values can be generated by using a three-input three-output control loop to iteratively calculate the initial estimate of the component values. For example, the initial estimates for the non-black components of the target color system can be generated by inverting a printer model comprising a 3-D look-up table (LUT) by using the generated initial estimate for the black (K) component and by using one of iterative automatic spot color editor (ASCE) processing and moving matrix algorithm processing, the printer model modeling a printer that converts values in the target color space into the device independent color space. In embodiments, the printer model is updated using measurements with profile patches. For example, for the CMYK color space as the target color space, updating the printer model includes, for each of a selected number of the nodes can include: (a) printing a patch using the generated cyan (C), magenta (M), yellow (Y), and black (K) components; (b) measuring cyan (C), magenta (M), yellow (Y), and black (K) components of the printed patch; (c) calculating change in values between the generated cyan (C), magenta (M), yellow (Y), and black (K) components and the measured cyan (C), magenta (M), yellow (Y), and black (K) components of the printed patch; (d) generating new cyan (C), magenta (M), yellow (Y), and black (K) components for the node; and (e) determining, using the calculated change in values between the generated cyan (C), magenta (M), yellow (Y), and black (K) components and the measured cyan (C), magenta (M), yellow (Y), and black (K) components of the printed patch, whether further iteration is required, and if so, returning to step (a). Once the initial estimated values for the colors of the target color system are generated, the initial estimated color component values are used to generate a map that maps the device independent color space to the target color space. In embodiments, this process is implemented by a three-input four-output feedback controller using a printer profile for an actual four-input three-output printer. Further, the three-input four-output feedback controller can use one of multiple input multiple output state feedback and model predictive feedback. In variations, generating the map that maps the device independent color space to the target color space begins at nodes closest to boundaries of the printer gamut and thereafter progresses to nodes closer to the neutral axis. Once the final values for the target color space are computed by any of the methods or apparatus disclosed above, these values can be used to generate an ICC profile from the map that maps the device independent color space to the target color space. Alternatively, once a map that maps the device independent color space to the CMYK color space is generated, the map can be refined by iterative automatic spot color editor (ASCE) processing on a printer. In embodiments, semi-real-time processing can be implemented using the profiling processes disclosed herein to enable the printer look-up-table to be calibrated in response to printer drift. Patent Citations
Non-Patent Citations
Referenced by
Classifications
Legal Events
Rotate |