1. Field of the Invention
The present invention relates to a color processing apparatus and a color processing method for converting an input color into an output color within an output color gamut.
2. Description of the Related Art
With recent popularization of personal computers and workstations, desktop publishing (DTP) and computer-aided design (CAD) have come into wide use. Under these circumstances, a color reproduction technology for matching a color displayed on a monitor by a computer with a color reproduced on an output medium has gained in importance. For example, in DTP, a user carries out work based on a flow of creating, editing, and processing a color image on the monitor and outputting a resultant image via a color printer. In this workflow, the user has a strong desire for perceptual matching between the color image on the monitor and the printer output image.
However, in the case of the color reproduction technology, achievement of perceptual matching between the color image on the monitor and the printer output image is difficult. This difficulty arises for the following reason.
In a color monitor, light of a predetermined wavelength is emitted from a fluorescent material to display a color image. On the other hand, in a color printer, light of a predetermined wavelength is absorbed by ink, and a color image is represented by residual reflected light. Such a difference in image display form causes a large difference in color gamut between the color monitor and the color printer. Even in the case of color monitors, color gamuts vary between a liquid crystal monitor and a cathode-ray tube monitor of the electron gun type. Even in the case of color printers, color gamuts vary due to a difference in paper quality or ink composition. Thus, with regard to an image on a color monitor and a color printer output image, or color printer output images output from several types of machines or with plural types of paper qualities, complete matching of colors of these images is difficult in terms of colorimetry.
For such display media different from each other in color gamut, as a technology for absorbing the color gamut difference and perceptually matching display images with each other, a gamut mapping technology for mapping a certain color gamut into another color gamut in a L*a*b* space or a JCh space is available. The following gamut mapping technologies have conventionally been known.
(1) A method for mapping the entire color gamut linearly.
(2) A method for mapping only colors outside a color gamut to the surface of the color gamut.
(3) A method for preserving the original color as much as possible for in-gamut colors, and mapping out of gamut colors to high saturated region of the gamut, for example toward a point on the L axis, to preserve gradation.
However, according to such a conventional gamut mapping technology, optimal mapping is carried out for each printer color gamut. Thus, when the same image is output with printers of different color gamuts, colors of the output image may be different.
Because of a difference in color gamut, apparently, reproduction of a completely identical color cannot be realized. Advisably, however, the color appearance of an output image has to be similar as much as possible.
Japanese Patent Application Laid-Open No. 2004-64668 discusses a method for increasing color identity even when output conditions are different by correcting a target color in an equi-hue direction according to the output condition of a printer.
The method discussed in Japanese Patent Application Laid-Open No. 2004-64668 can increase color identity with respect to an output color gamut. However, as target color data is designed optimal for an input color gamut, if an input color gamut varies, target color data has to be changed for each input color gamut. Accordingly, plural sets of target colors are required. Preparation of a target color beforehand for an optional input color gamut is difficult. As a result, highly accurate color reproduction irrespective of an input color gamut is difficult to be realized.
The present invention is directed to realizing highly accurate target color reproduction even for an optional input color gamut by correcting target color data based on input color gamut information to eliminate a necessity of generating plural sets of target color data.
According to an aspect of the present invention, a color processing apparatus includes a calculation unit configured to calculate a correction value from reference color information in an input color gamut and reference color information in a reference color gamut, a correction unit configured to correct reference target color information in the reference color gamut based on the correction value to calculate target color information, and a color conversion unit configured to convert an input color in the input color gamut into an output color within an output color gamut by using the target color information.
Further features and aspects of the present invention will become apparent from the following detailed description of exemplary embodiments with reference to the attached drawings.
The accompanying drawings, which are incorporated in and constitute a part of the specification, illustrate exemplary embodiments, features, and aspects of the invention and, together with the description, serve to explain the principles of the invention.
Various exemplary embodiments, features, and aspects of the invention will be described in detail below with reference to the drawings.
The image processing system according to the exemplary embodiment includes an image processing apparatus 1, an image display device 2, such as a monitor for displaying an image, and an image output device 4, such as a printer for printing an image. An example configuration of the image processing apparatus 1 will be described below. An image input unit 3 inputs image data displayed on the image display device 2. An image output unit 5 outputs image data to the image output device 4. A color conversion processing unit 6 performs color conversion on image data input by the image input unit 3. A profile storage unit 7 stores profiles of the image display device 2 and the image output device 4. A color gamut information calculation unit 8 calculates color gamut information of a selected profile. A reference color gamut information storage unit 9 stores reference color gamut information. A reference target color information storage unit 11 stores reference target color information corresponding to the reference color gamut information stored in the reference color gamut information storage unit 9. A target color information correction unit 12 corrects the reference target color information based on color gamut information of the image display device 2 and the reference color gamut information.
In step S201, the color gamut information calculation unit 8 obtains the profiles of the image display device 2 and the image output device 4 selected via the color matching setting UI from the profile storage unit 7. Each profile contains, for example, a correspondence between a device value and a colorimetric value as device characteristic information. For example, each profile contains, as device characteristic information, calorimetric values (XYZ values) of a patch corresponding to data that has nine gradations for each of R, G, and B (totally 729 colors).
In step S202, the color gamut information calculation unit 8 calculates color gamut information of the image display device 2 and color gamut information of the image output device 4 based on the profiles of the image display device 2 and the image output device 4 read in step S201. According to an exemplary embodiment, the color gamut information calculation unit 8 generates color gamut information in the L*a*b* color space. First, the color gamut information calculation unit 8 converts calorimetric values (XYZ values) of the profile into L*a*b* values.
The color gamut calculation unit 8 generates and stores, using the convex Hull method, gamut shell information based on a color distribution of a group of the calorimetric values.
The color gamut information calculation unit 8 calculates and stores L*a*b* values of primary colors (red, green, blue, cyan, magenta, and yellow) as primary color information. When device values are RGB values, L*a*b* values of calorimetric values corresponding to the following RGB values are L*a*b* values of the primary colors:
In step S203, the target color information correction unit 12 obtains reference color gamut information from the reference color gamut information storage unit 9. The reference color gamut information contains gamut shell information and primary color information of a reference color gamut. According to an exemplary embodiment, the reference color gamut information is an sRGM color gamut. However, for example, another color gamut, such as an Adobe RGB color gamut or a device color gamut, can be used.
In step S204, the target color information correction unit 12 obtains reference target color information from the reference target color information storage unit 11. The reference target color information indicates, for example, L*a*b* values in a certain printer color gamut whose colors best match six colors of primary color values of the sRGB color gamut. The reference target color information is prestored as table data in the reference target color information storage unit 11. According to an exemplary embodiment, the reference target color information indicates six colors of the primary color values. However, the reference target color information can indicate seven or more colors according to a user's request.
In step S205, the target color information correction unit 12 corrects the reference target color information obtained in step S204 based on the color gamut information of the image display device 2 and the reference color gamut information and supplies the corrected reference target color information to the color conversion processing unit 6. The correction process for the reference target color information in step S205 will be described in further detail below with reference to the flowchart of
In step S206, the color conversion processing unit 6 inputs image data input via the image input unit 3.
In step S207, the color conversion processing unit 6 executes color conversion on the input image data by using the profiles of the image display device 2 and the image output device 4 obtained in step S201 and the target color information supplied from the target color information correction unit 12. The color conversion process in step S207 will be described below with reference to the flowchart of
In step S208, the image output unit 5 supplies the image data color-converted in step S207 to the image output device 4.
The correction process for the reference target color information in step S205 will be described below with reference to the flowchart of
First, in step S601, the target color information correction unit 12 converts L*a*b* values of the primary color information of the image display device 2, the primary color information of the reference color gamut, and the reference target color information into LCh values, in which L indicates a lightness (brightness) component, C indicates a saturation (chroma) component, and h indicates a hue component.
In step S602, the target color information correction unit 12 calculates a difference between the L component of the primary color information of the image display device 2 and the L component of the primary color information of the reference color gamut to correct the reference target color information.
In step S603, the target color information correction unit 12 calculates a difference between a C component of the primary color information of the image display device 2 and a C component of the primary color information of the reference color gamut to correct the reference target color information.
In step S604, the target color information correction unit 12 calculates a difference between an h component of the primary color information of the image display device 2 and an h component of the primary color information of the reference color gamut to correct the reference target color information.
Steps S602 to S604 are carried out for each of the primary colors. In other words, according to an exemplary embodiment, target values are calculated for six colors of red, green, blue, cyan, magenta, and yellow.
The color conversion process in step S207 will be described below with reference to the flowchart of
In step S1004, the color conversion processing unit 6 executes color gamut mapping for the L*a*b* values of each grid point after the target color conversion in step S1003. Since a value after the target color conversion may be outside the image output display color gamut (output color gamut) depending on a shape of the image output device color gamut, all of the grid points have to be mapped within the output color gamut via color gamut mapping to realize color conversion so that colors can be reproduced by the image output device. According to an exemplary embodiment, calorimetric color mapping is used as a color gamut mapping process. The colorimetric color gamut mapping is a method for mapping colors outside the image output device color gamut to closest points of the image output device color gamut while keeping colors within the image output device color gamut as they are. However, the color mapping process carried out in this case is not limited to the calorimetric color gamut mapping. Other methods can be used.
In step S1005, the color conversion processing unit 6 converts the L*a*b* values after the color gamut mapping into XYZ values. In step S1006, the color conversion processing unit 6 converts the XYZ values into device RGB values of the image output device color gamut by using the image output device profile. In step S1007, the color conversion processing unit 6 correlates the device RGB values of the image display device of each grid point obtained in step S1001 with the device RGB values of the image output device color gamut obtained in step S1006 to generate a look-up table (LUT). In step S1008, the color conversion processing unit 6 converts the RGB values of the image input in step S206 into RGB values of the image output device color gamut by using the LUT generated in step S1007. Input RGB values that are not present in the LUT are obtained from surrounding grid points via interpolation, such as tetrahedron interpolation.
The target color conversion process in step S1003 will be described below with reference to the flowchart of
In step S1101, the color conversion processing unit 6 obtains L*a*b* values of each grid point converted in step S1002. In step S1102, the color conversion processing unit 6 calculates a hue of the obtained grid point to obtain pieces of image display device primary color information of forward and backward directions sandwiching the hue. In step S1103, the color conversion processing unit 6 obtains two target values corresponding to the two pieces of primary color information obtained in step S1102.
In step S1104, the color conversion processing unit 6 calculates differences in each primary color between the two pieces of primary color information obtained in step S1102 and the two pieces of corrected target color information obtained in step S1103 and sets the differences as correction amounts. In step S1105, the color conversion processing unit 6 calculates an internal division ratio of an input point hue value with respect to hue values of the two pieces of primary color information. In step S1106, the color conversion processing unit 6 performs interpolation on the correction amounts of the two pieces of primary color information using the internal division ratio to set the interpolated amount as a correction amount at a maximum saturation point in an input point hue. In step S1107, the color conversion processing unit 6 multiplies the correction amount at the maximum saturation point calculated in step S1106 by a ratio between the input point saturation and the maximum saturation point in the input point hue to calculate a correction amount of the input point.
This process is carried out for the purpose of weighting the correction amount by saturation to faithfully reproduce low-saturation colors with little correction.
In step S1108, the color conversion processing unit 6 adds the correction amount obtained in step S1107 to the input point to set a correction value after the target color conversion process.
Thus, according to an exemplary embodiment, based on the reference target color of the reference color gamut, a target color can be calculated according to an optional input color gamut (image display device color gamut). As a result, color processing for realizing a color reproduction suited to the input color gamut can be carried out while taking a color reproduction of the reference color gamut into consideration.
The image processing system according to the exemplary embodiment includes an image processing apparatus 1301, an image display device 1302, such as a monitor for displaying an image, and an image output device 1304, such as a printer for printing an image. An example configuration of the image processing apparatus 1301 will be described below. An image input unit 1303 inputs image data displayed on the image display device 1302. An image output unit 1305 outputs an image via the image output device 1304. A color conversion unit 1306 executes color conversion for the image data input by the image input unit 1303. A profile storage unit 1307 stores profiles of the image display device 1302 and the image output device 1304. A color gamut information calculation unit 1308 calculates color gamut information of a profile selected by a user from the profile storage unit 1307. A reference color gamut information storage unit 1309 sores plural pieces of reference color gamut information. A color gamut information comparison unit 1310 compares the color gamut information calculated by the color gamut information calculation unit 1308 with the reference color gamut information obtained from the reference color gamut information storage unit 1309. A reference target color information storage unit 1311 stores reference target color information corresponding to the reference color gamut information stored in the reference color gamut information storage unit 1309. A target color information switching unit 1312 switches between pieces of reference target color information based on a result of the comparison carried out by the color gamut information comparison unit 1310.
In step S1402, based on the profiles of the image display device 1302 and the image output device 1304 obtained in step S1401, the color gamut information calculation unit 1308 calculates gamut shell information corresponding to each of the image display device 1302 and the image output device 1304 by using a method similar to that of the exemplary embodiment described above. The color gamut information calculation unit 1308 calculates and stores a volume of a color gamut from the gamut shell information.
In step S1403, the color gamut information comparison unit 1310 obtains reference color gamut information from the reference color gamut information storage unit 1309. The reference color gamut information contains gamut shell information of a reference color gamut and volume information of a color gamut.
In step S1404, the color gamut information comparison unit 1310 compares the volume of the color gamut information of the image display device 1302 calculated in step S1402 with a volume of each of plural pieces of reference color gamut information obtained in step S1403, and supplies a result of the comparison to the target color information switching unit 1312. According to an exemplary embodiment, pieces of reference color information are an sRGB color gamut and an AdobeRGB color gamut. However, pieces of reference color gamut information are not limited to these color gamuts.
In step S1405, based on the color gamut information comparison result in step S1404, the target color information switching unit 1312 selects reference target color information corresponding to reference color gamut information whose volume is closest to the volume of the color gamut information of the image display device 1302 from among plural pieces of reference color information corresponding to the plural pieces of reference color gamut information. The target color information switching unit 1312 obtains the selected reference target color information from the reference target color information storage unit 1311.
In step S1406, the color conversion processing unit 1306 inputs the image data input by the image input unit 1303. In step S1407, the color conversion processing unit 1306 executes color conversion similar to that of the above-described exemplary embodiment by using the profiles of the image display device 1302 and the image output device 1304 obtained in step S1401 and the reference target color information supplied from the target color information switching unit 1312. In step S1408, the image output unit 1305 supplies the image data color-converted in step S1407 to the image output device 1304.
According to the present exemplary embodiment, color reproduction of a reference color gamut closer to an input color gamut (image display device color gamut) can be taken into consideration. Thus, higher quality color reproduction can be realized.
According to the first and second exemplary embodiments, the L*a*b* color space is used as a device-independent color space. However, other color spaces, such as a JCh color space calculated by using a model, e.g., CIECAM02 proposed by International Commission on Illumination (CIE), can be used.
Program code (software) for realizing the functions of the exemplary embodiments can be supplied via a network. In this case, the program code of software itself realizes the functions of the exemplary embodiments. The program code may cooperate with an operating system (OS) running on the computer or other application software to realize the functions of the exemplary embodiments.
While the present invention has been described with reference to exemplary embodiments, it is to be understood that the invention is not limited to the disclosed exemplary embodiments. The scope of the following claims is to be accorded the broadest interpretation so as to encompass all modifications, equivalent structures, and functions.
This application claims priority from Japanese Patent Application No. 2007-140562 filed May 28, 2007, which is hereby incorporated by reference herein in its entirety.
Number | Date | Country | Kind |
---|---|---|---|
2007-140562 | May 2007 | JP | national |