1. Field of the Invention
The present invention relates to color processing of image data.
2. Description of the Related Art
With the prevalence of personal computers and work stations, desktop publishing (DTP) and computer-aided design (CAD) are widely used. In such a situation, a color reproduction technique of matching a color reproduced on a monitor by a computer with a color reproduced on a printing medium has become important. For example, DTP operates in a workflow of executing creation, editing, and modification of a color image on a monitor and then causing a color printer to print out the resultant image. In this workflow, it is demanded that the color appearance of an image on the monitor matches that of an output image of the printer.
In order to match the colors between different devices such as a monitor and a printer, a color management system (CMS) is used. A CMS includes a color management module (CMM) and a device profile. The CMS performs a color conversion process which implements color matching of an input image and an output image using a source profile corresponding to an input device and a destination profile corresponding to an output device.
A CMM 10 converts image data in the monitor RGB into, e.g., Lab data in a device independent color space (DIC). Then, the CMM 10 maps the Lab data included in the monitor color gamut indicated by the source profile 11 onto the printer color gamut indicated by the destination profile 12. The CMM 10 further converts the mapped Lab data into image data in the printer RGB. That is, the CMM 10 implements color matching between different devices by performing gamut mapping in the DIC.
In many cases, the calorimetric value of a monitor is measured by bringing a calorimeter close contact with the screen so as to avoid the impact of external light. Likewise, the calorimetric value of an object, such as a printing medium which reflects light, is measured by bringing a calorimeter in close contact with the object so as to avoid the impact of external light. In general, a contact calorimeter can measure colors in a short time.
The colorimetry for a scanner or a printer is performed by measuring the reflected light from a printing medium. On the other hand, the colorimetry for a monitor is performed by measuring the light emitted from the monitor itself. A device such as a monitor is referred to as a device of luminous type, or a light-source color device since it reproduces the color using the light-source color. In contrast to a device of luminous type, a device such as a scanner or a printer is referred to as a device of non-luminous type, or an object color device since it presents a color by the reflected light, that is, it reproduces the color using the object color.
When the color conversion process illustrated in
The color of an output image of a printer printed on a printing medium receives the impact of ambient light on the viewing environment, and the appearance of color changes when the ambient light changes. Therefore, when calorimetric values measured by a contact colorimeter are used in color conversion for a combination of a device of luminous type and a device of non-luminous type, e.g., a monitor as an input device and a printer as an output device, a faithful color matching result cannot always be obtained. In other words, the colorimetric value of a device of luminous type and that of a device of non-luminous type, both measured by a contact colorimeter, cannot be handled equivalently.
When a non-contact colorimeter capable of measurement including the impact of ambient light or the like is used for measuring the color of a device of non-luminous type, it is possible to handle the colorimetric value of a device of luminous type and that of a device of non-luminous type equivalently, and therefore color matching with a high accuracy can be implemented. However, non-contact calorimeters are not widely used as compared to contact calorimeters. In addition, a non-contact calorimeter requires a long measurement time, and therefore efficient color measurement is difficult.
In one aspect, a color processing apparatus comprising a discriminator arranged to discriminate a combination of a device type of a source device and a device type of a destination device, a transformer arranged to transform a calorimetric value of a contact colorimeter into that of a non-contact colorimeter, and a color converter arranged to perform color conversion using colorimetric values of the source device and colorimetric values of the destination device, wherein when the discriminator discriminates that a device of luminous type and a device of non-luminous type are combined, the transformer transforms calorimetric values of the device of non-luminous type measured by the contact colorimeter into those of the non-contact calorimeter, and the color converter performs the color conversion in accordance with a predetermined color matching method using colorimetric values of the device of luminous type measured by the contact calorimeter and the transformed colorimetric values of the device of non-luminous type.
In another aspect, a color processing apparatus comprising an input section arranged to input a profile of a source device, a profile of a destination device, and selection information for a color matching method, a determiner arranged to determine whether or not colorimetric values stored in the profile of the source or destination device to be corrected, based on a combination of device types of the source and destination devices and the selected color matching method, a transformer arranged to transform the colorimetric value stored in the profile of an object color device when the determiner determines that the correction is necessary, and a color converter arranged to perform color conversion using the transformed colorimetric values.
According to these aspects, color matching with a high accuracy can be implemented between a device of luminous type and a device of non-luminous type.
Further features of the present invention will become apparent from the following description of exemplary embodiments with reference to the attached drawings.
A color processing apparatus and method thereof of an embodiment according to the present invention will be described in detail hereinafter with reference to the accompanying drawings.
In
A serial ATA interface (SATA I/F) 303 is an interface which connects the HDD 305 to the system bus 314. A network interface 304 is an interface which connects the color processing apparatus 300 to a network 313. A graphic accelerator 306 is an interface which connects a monitor 307 to the color processing apparatus 300. An output device such as a printer 309 is connected to the USB I/F 308. An input device (not shown) such as a scanner can also be connected to the USB I/F 308.
[Operation of Apparatus]
The operation of the color processing apparatus 300 upon outputting a digital image to the printer 309 is described next.
In accordance with a user's instruction, the CPU 301 starts an image processing application stored in the HDD 305 and controls the graphic accelerator 306 to display the user interface (UI) of the image processing application on the monitor 307.
In accordance with a user's instruction via the UI, the CPU 301 loads image data stored in the HDD 305 to a predetermined area of the memory 302. The CPU 301 controls the graphic accelerator 306 to display an image represented by the image data stored in the memory 302 on the monitor 307.
Note that the image processing application to be executed by the CPU 301 and image data to be loaded by the CPU 301 are not limited to the program and data stored in the HDD 305. They may be a program and data stored in a server connected to the network 313. They may also be a program and data stored in a disk or memory card inserted to a disk drive or reader connected to the USB I/F 308. In the following description, image data to be loaded in the memory 302 is described as image data in which each of R, G, and B colors is represented by unsigned 8-bit data. However, the image data is not limited to this.
Upon receiving via the UI a user's instruction to print the image displayed on the monitor 307, the CPU 301 instructs the printer driver to print the image data stored in the memory 302. The printer driver converts RGB image data into CMYK image data in accordance with the process to be described later. Then, the printer driver transmits the CMYK image data to the printer 309 via the USB I/F 308. The printer 309 prints an image represented by the received CMYK image data on a printing medium.
[Printer Driver]
When printing is instructed, the printer driver reserves a work area in the memory 302 and displays a UI for color matching on the monitor 307 (S401).
When the user operates the UI shown in
The printer driver then determines, from the combination of the selected profiles and color matching method, whether to transform the colorimetric values stored in the profile based on the process to be described later, and transforms the calorimetric values when transformation is necessary (S403). Subsequently, the printer driver creates a color correction lookup table (LUT) (S404). Note that the details of the creation process of the color correction LUT will be described later.
Next, the printer driver converts the RGB image data into fixed-point Jab data with reference to the color correction LUT and stores the converted data in the work area of the memory 302 (S405). This conversion uses, e.g., tetrahedron interpolation.
The printer driver then converts the Jab data into CMYK image data with reference to a color conversion LUT for the printer 309 and stores the converted data in the work area of the memory 302 (S406). Note that the CMYK image data is described as image data in which each of C, M, Y, and K colors is represented by unsigned 8-bit data, but the CMYK image data is not limited to this.
The printer driver transmits the CMYK image data stored in the memory 302 to the printer 309 (S407)
Transformation Process of Colorimetric Value (S403)
The printer driver obtains the information of the source profile, destination profile, and color matching method selected by the user (S701). The printer driver then determines whether the devices corresponding to the source profile and destination profile are a combination of a device of luminous type (light-source color device) and a device of non-luminous type (object color device) (S702). If NO in step S702, transformation of the colorimetric values is considered to be unnecessary, and the transformation process ends.
If YES in step S702, the printer driver determines whether “faithful to appearance” was selected as the color matching method (S703). If NO in step S703, transformation of the calorimetric values is considered to be unnecessary, and the transformation process ends.
When the color matching method is “faithful to appearance” (calorimetric), the printer driver obtains a transformation matrix which is previously stored in the profile of the device of non-luminous type (S704). The transformation matrix is transformation information of a polynomial expression which represents the correspondence relationship between the colorimetric value measured by a contact calorimeter and that measured by a non-contact colorimeter. Note that since the process for printing by the printer 309 is described herein, the transformation matrix is obtained from the printer profile (destination profile) of the device of non-luminous type. For example, when an image read by a scanner is to be displayed on a monitor, the transformation matrix is obtained from the scanner profile (source profile) of the device of non-luminous type.
Next, the printer driver transforms by using the transformation matrix 23 the calorimetric values (e.g., the Lab values) (measured by the contact calorimeter) stored in the profile from which the transformation matrix 23 was obtained. The printer driver stores the transformed colorimetric values (e.g., the Lab values) in the work area of the memory 302 (S705). The transformed calorimetric values are equivalent to the colorimetric values measured by the non-contact calorimeter. The transformed calorimetric values will be referred to as a “pseudo colorimetric values”, hereinafter.
Creation of Color Correction LUT (S404)
The printer driver inputs the calorimetric values of the source profile and destination profile obtained in step S701 or the pseudo calorimetric values obtained from the transformation in step S705 (S801).
The printer driver performs forward conversion of CIECAM02 for the calorimetric values or pseudo calorimetric values input in step S801. In the Jab space serving as an appearance space, the printer driver generates the color gamut information of the input and output devices from the calorimetric values or pseudo colorimetric values (S802).
Next, the printer driver performs gamut mapping in the Jab space for mapping the color gamut of the input device into that of the output device in accordance with the color matching method (S803). As the color matching method, e.g., a color difference minimization method is available. By inverse conversion of CIECAM02 using the appearance parameters of the destination profile (see
Note that the appearance parameters include, as shown in
Generation of Color Gamut Information (S804)
The printer driver obtains the appearance parameters (see
As described above, the information which describes the correspondence relationship between the calorimetric values measured by the contact calorimeter and those measured by the non-contact colorimeter is stored as the transformation matrix in the profile of the device of non-luminous type. When color conversion is to be performed for a combination of the device of luminous type and the device of non-luminous type, the color transformation matrix is used to transform the colorimetric values stored in the profile of the device of non-luminous type to generate a pseudo calorimetric values which are equivalent to the calorimetric values measured by the non-contact calorimeter. The color gamut information of the device of non-luminous type generated from the pseudo colorimetric values considers the ambient light of the viewing environment, and therefore color matching with a high accuracy is implemented. In other words, by calculating, from the calorimetric values measured by the contact colorimeter, the calorimetric values which consider the ambient light of the viewing environment without using the non-contact colorimeter, color matching with a high accuracy is implemented.
The present invention can be applied to a system constituted by a plurality of devices (e.g., host computer, interface, reader, printer) or to an apparatus comprising a single device (e.g., copying machine, facsimile machine).
Further, the present invention can provide a storage medium storing program code for performing the above-described processes to a computer system or apparatus (e.g., a personal computer), reading the program code, by a CPU or MPU of the computer system or apparatus, from the storage medium, then executing the program.
In this case, the program code read from the storage medium realizes the functions according to the embodiments.
Further, the storage medium, such as a floppy disk, a hard disk, an optical disk, a magneto-optical disk, CD-ROM, CD-R, a magnetic tape, a non-volatile type memory card, and ROM can be used for providing the program code.
Furthermore, besides above-described functions according to the above embodiments can be realized by executing the program code that is read by a computer, the present invention includes a case where an OS (operating system) or the like working on the computer performs a part or entire processes in accordance with designations of the program code and realizes functions according to the above embodiments.
Furthermore, the present invention also includes a case where, after the program code read from the storage medium is written in a function expansion card which is inserted into the computer or in a memory provided in a function expansion unit which is connected to the computer, CPU or the like contained in the function expansion card or unit performs a part or entire process in accordance with designations of the program code and realizes functions of the above embodiments.
In a case where the present invention is applied to the aforesaid storage medium, the storage medium stores program code corresponding to the flowcharts described in the 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 such modifications and equivalent structures and functions.
This application claims the benefit of Japanese Patent Application No. 2007-056370, filed Mar. 6, 2007, which is hereby incorporated by reference herein in its entirety.
Number | Date | Country | Kind |
---|---|---|---|
2007-056370 | Mar 2007 | JP | national |