Color management system using measured device data

Managing color data to transform source color image data from a source device into destination color image data for rendering by a destination device, including accessing a source color data file corresponding to the source device, the source color data file containing source device color characteristic data, constructing a source color transform based on the source device color characteristic data contained in the source color data file, and applying the source color transform to the source color image data to transform the source color image data from a source device color space into interim color image data in an interim color space.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to a color management system for transforming color data, wherein the color management system utilizes measured calorimetric data and viewing condition data corresponding to a source device for generating appropriate color transforms for use in a color transformation sequence to transform color image data into a destination device color space. In this manner, a color transform corresponding to the source device is not generated until it is required by a color management system for transforming color image data into a destination device color space.

2. Incorporation by Reference

3. Description of the Related Art

Typically, color management systems provide a means for representing a color image that was produced by a source device on a destination device. The color characteristics of the source device and the destination device for rendering colors is usually different because the devices use different colorants to render the colors, such as a printer and a monitor, or are of different manufacturers such that colors are rendered according to different techniques. To accommodate the different color characteristics of the two different devices, a color management system is typically used to modify the color image data from the source device so that it can be rendered on the destination device so as to produce a color image which appears similar in nature as the color image rendered by the source device.

Many currently-used color management systems, such as those that support the International Color Consortium (ICC) specifications, use data files known as “device color profiles” to store information which reflects the color characteristics corresponding to a specific device.FIG. 1depicts a device color profile1typically used in conventional color management systems. Specifically, the color characteristic information is provided in color transform2which reflects the color characteristics of the source device in relation to a standard, device-independent color space. The color transform can then be used to transform color image data from the source device color space into the device-independent color space as a first step in a comprehensive transformation sequence to ultimately generate color image data in destination device color space for rendering by the destination device. Color profile1also includes gamut boundary descriptor3which describes the gamut boundary of the device.

The color transform of a color profile corresponding to a particular device is typically in the form of color transformation data which is generated by a profile-building program. It should be noted that there are several different types of profile-building programs for generating color transformation data. A profile-building program constructs the color transformation data for a particular device from corresponding sets of input color value data and output color value data in conjunction with data reflecting expected viewing conditions. The corresponding sets of input color value data and output color value data reflect the color rendering characteristics of the device in relation to a standard, device-independent color space. The many different profile-building programs currently in use often utilize different methods and techniques to generate color transformation data, some of which are proprietary. For example, a profile-building program may incorporate a technique for generating color transformation data which produces the best result for a particular device or a particular type of image as determined by the manufacturer or developer of the profile-building program.

The color transformation data built by the profile-building program is then used to transform color data values from a source device color space to a particular, device-independent color space, and visa versa. Therefore, the construction of a color transform involves the selection of a particular color space and a color appearance model. Currently, there are several standard color spaces and color appearance models from which to select. In addition, the specifications for currently known, standard color spaces and color appearance models are in a state of rapid evolution. As a result, there currently exists a great number of profile-building programs for generating color transformation data based on different combinations of standard color spaces and color appearance models; and the number is rapidly increasing. In addition to the different choices of color spaces and color appearance models, there are many different ways to represent color transformation data in a device profile. For example, the color transformation data may be represented in a color look-up table, a polynomial function, or a sequence of single- and/or multi-variate transforms of arbitrary complexity.

To further complicate matters, many color management systems are designed to reduce processing overhead during the transformation of color image data by optimizing the color transformation data in order to increase the speed of the transformation process. The color transformation data is commonly optimized by eliminating a certain amount of unnecessary and/or less important color data as determined by the developer of the profile-building program. In addition, special proprietary functionality may be implemented into the profile-building program in order to provide more accurate color transformation from a source device color space to a destination device color space in order to achieve a preferred reproduction of the color image on the destination device. Therefore, it can be appreciated that the color transformation data contained in device color profiles corresponding to two separate devices may be quite different even though the two devices are very similar in nature, due to the use of two uniquely different profile-building programs to generate the color transformation data contained in each device color profile.

Device color profiles are typically structured in a standardized format in order to allow many different color management systems to use color profiles which were built by many different profile-building programs. The ICC has defined and standardized a color profile format in order to allow for the efficient interchange of color images from one device to another via color management systems. The ICC color profile format, however, is based on the assumption that the originator of the color image data in the source device knows what the best appearance of that color image data on a destination device should be, regardless of the actual destination device subsequently used to render the color image. This assumption is made because the ICC color profile format contains color transformation data which assumes a particular, standard color space and a particular appearance model for mapping (transforming) the color image data into that color appearance space.

Currently, digital color image data is widely used in computer and networked computing environments, and the use of such color image data is growing rapidly. Color image data corresponding to color images are often archived or placed into stock photography banks for subsequent access and utilization by other users. The use of such color image data by a subsequent user can present significant problems when the subsequent user attempts to transform the color image data into the color space of a destination device for rendering a preferred reproduction of the color image. In addition, the color image data, which is tagged with an ICC color profile corresponding to the source device, may be accessed from a stock photography bank for use by a subsequent user long after the color image data was created. In such a situation, the source color profile may be many revisions old or, if enough time has gone by, the ICC color profile format may no longer be used by color management systems. In such situations, the color image data is effectively unusable by the subsequent user because the subsequent user's color management system cannot interpret the source color profile for use in a transformation sequence. Even if the source color profile can be subsequently used by a color management system, the color transformation data in the color profile may have been based on a standard color space or a color appearance model that is either incompatible or sub-optimal when used in conjunction with color transformation data from the color profile of the destination device.

In addition to the above problems, the representation of the color transformation data in the source device color profile may have been implemented in a particular manner, such as a three-dimensional color look-up table, which is not sufficiently accurate to generate an optimal color transformation sequence. Moreover, even if the source device color profile associated with the color image data and the destination device color profile are fully compatible, a subsequent user of the color image data may wish to generate a different, preferred appearance of the color image, often referred to as a preferred reproduction. Such a preferred reproduction is typically not possible, or is very difficult, when using conventional color profiles because a source device color profile corresponding to the color image data incorporates a particular color space and a particular color appearance model in the color transform.

SUMMARY OF THE INVENTION

The present invention addresses the foregoing problems by providing a color management system for transforming source color image data, wherein the color management system directly accesses and utilizes a source device color data file containing source device color characteristic data and viewing condition data and then constructs an appropriate source color transform for use in a color transformation sequence to transform source color image data into a destination device color space.

According to one embodiment of the invention, a color management system is provided to transform source color image data from a source device into destination color image data for rendering by a destination device. A source color data file corresponding to the source device is accessed, the source color data file containing source device color characteristic data, a source color transform is constructed based on the source device color characteristic data contained in the source color data file, and the source color transform is applied to the source color image data to transform the source color image data from a source device color space into interim color image data in an interim color space.

Preferably, the source color data file is in a predetermined format having tags corresponding to the source device color characteristic data. A set of viewing condition data is preferably also included in corresponding tags of the source color data file. The source color transform is preferably either applied directly to the source color image data or incorporated into a color transformation sequence for application to the source color image data. Preferably, the source device color characteristic data contains measured calorimetric data and corresponding device signal data. In the alternative, the source device color characteristic data represents spectral measurement data corresponding to the source device.

By virtue of this arrangement, a color management system is provided whereby raw calorimetric measurement and device signal data corresponding to a source device is stored in a standardized, formatted color data file for subsequent use by a color management system to generate a source device color transform. In this manner, the color management system is not forced to use a color transform that was originally created when the color image data was generated by the source device. A subsequent user of the color image data is therefore free to use a color management system having a preferred combination of a color space, a color appearance model and a desired set of viewing conditions in order to create a source device color transform. Accordingly, a source device color transform does not have to be created until the color image data is subsequently accessed for use by a subsequent user. In this manner, a set of color image data is associated with a corresponding source color data file that contains color characteristic data of the source device in a well recognized, robust format for use by a variety of current, and not yet known, color management systems.

According to another embodiment of the invention, a color management system is provided for managing color data to transform source color image data from a source device into destination color image data for rendering by a destination device. A source color data file corresponding to the source device is accessed, the source color data file being formatted according to a standard predetermined format and having a plurality of tags containing source device color characteristic data and a set of viewing condition data corresponding to a set of viewing conditions in which the source device color characteristic data was measured. A source color transform is constructed based on the source device color characteristic data and the set of viewing condition data by utilizing an interim color space and a color appearance model, the source color transform for transforming the source color image data from a source device color space into an interim color space. The source color transform is incorporated in a color transformation sequence which is applied to the source color image data to transform the source color image data from the source device color space into a destination device color space.

Preferably, the source color data file is in a predetermined format having tags corresponding to the source device color characteristic data. A set of viewing condition data is preferably also included in corresponding tags of the source color data file. The source color transform is preferably either applied directly to the source color image data or incorporated into a color transformation sequence for application to the source color image data. Preferably, the source device color characteristic data contains measured calorimetric data and corresponding device signal data. In the alternative, the source device color characteristic data contains spectral measurement data corresponding to the source device.

By virtue of this arrangement, a color management system is provided whereby raw calorimetric measurement and device signal data corresponding to a source device is stored in a standardized, formatted color data file for subsequent use by a color management system to generate a source device color transform. In this manner, the color management system is not forced to use a color transform that was originally created when the color image data was generated by the source device. A subsequent user of the color image data is therefore free to use a color management system having a preferred combination of a color space, a color appearance model and a desired set of viewing conditions in order to create a source device color transform. Accordingly, a source device color transform does not have to be created until the color image data is subsequently accessed for use by a subsequent user. In this manner, color image data is identified with a corresponding source color data file that contains color characteristic data of the source device in a well recognized, robust format for use by a variety of current, and not yet known, color management systems.

According to yet another embodiment of the invention, a memory is provided for access by a color management system, the color management system for transforming source color image data from a source device into destination color image data for rendering by a destination device. The memory includes a colorimetric data structure stored in the memory, the calorimetric data structure being formatted according to a predetermined format and containing a set of device color characteristic data elements representing a set of color characteristics of a color device and a set of viewing condition data elements representing a set of viewing conditions of a color device.

Preferably, the calorimetric data structure is in a predetermined format having tags corresponding to the device color characteristic data elements. A set of tags corresponding to the viewing condition data elements is preferably also included. Preferably, the device color characteristic data elements are represented in CIE XYZ color space or a linear transform thereof. In the alternative, the device color characteristic data elements contain spectral measurement data elements representing spectral measurement values corresponding to a color device. The memory having the calorimetric data structure is preferably in the form of a computer-readable medium such as a hard disk, floppy disk, CD-ROM or a file in a file server which is accessible via the internet.

By virtue of this arrangement, raw calorimetric measurement data corresponding to a color device is stored in a standardized, formatted color data file for subsequent use by a color management system to generate a source device color transform. In this manner, a color management system is not forced to use a color transform that was originally created when the color image data was generated in the source device. A subsequent user of the color image data is therefore free to use a color management system having a preferred combination of a color space, a color appearance model and a set of desired viewing conditions in order to create a source device color transform. The aforementioned features provide subsequent users with the ability to control the type of source color transform used in transforming the color image data into another color space. Furthermore, a set of color image data is associated with a corresponding color data file that contains color characteristic data of the source device in a well recognized, robust format for use by a variety of current, and not yet known, color management systems.

Another embodiment of the present invention provides a memory for access by a color management system, the color management system for transforming source color image data from a source device into destination color image data for rendering by a destination device. The memory includes a set of source color image data stored in the memory, and a colorimetric data structure stored in the memory, the calorimetric data structure formatted according to an extended CGATS/IT8 format including a set of tags corresponding to a set of device color characteristic data elements representing a set of measured color characteristics of the source device, and including a set of tags corresponding to a set of viewing condition data elements representing a set of viewing conditions in which the device color characteristic data elements were measured.

Preferably, the device color characteristic data elements are represented in CIE XYZ color space or a linear transform thereof. In the alternative, the device color characteristic data elements contain spectral measurement data elements representing spectral measurement values corresponding to the source device. The memory having the colorimetric data structure is preferably in the form of a computer-readable medium such as a hard disk, floppy disk, CD-ROM or a file in a file server which is accessible via the internet.

By virtue of this arrangement, raw colorimetric measurement data corresponding to a color device is stored in a standardized, formatted color data file for subsequent use by a color management system to generate a source device color transform. In this manner, a color management system is not forced to use a color transform that was originally created when the color image data was generated in the source device. A subsequent user of the color image data is therefore free to use a color management system having a preferred combination of a color space, a color appearance model and a set of desired viewing conditions in order to create a source device color transform. The aforementioned features provide subsequent users with the ability to control the type of source color transform used in transforming the color image data into another color space. Furthermore, a set of color image data is associated with a corresponding color data file that contains color characteristic data of the source device in a well recognized, robust format for use by a variety of current, and not yet known, color management systems.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

The present invention is generally directed to a color management system for transforming source color image data, wherein the color management system directly accesses and utilizes a source device color data file containing source device color characteristic data and viewing condition data and then constructs an appropriate source color transform for use in a color transformation sequence to transform source color image data into a destination device color space. In this manner, source color image data can be archived and an associated source color transform is not constructed until it is subsequently needed by a color management system for transforming the source color image data into a destination device color space. A subsequent user of the archived source color image data can thereby select and/or control the type of color management system used to construct the source color transform based upon a desired combination of a color appearance space, a color appearance model and a desired set of viewing conditions. The present invention may be implemented in an output device driver, such as a printer driver contained in a computing device, or the present invention may be implemented in a color management software application module for use in a general purpose computer. It can be appreciated that the present invention is not limited to the aforementioned embodiments and that the present invention may be implemented in other forms as well.

FIG. 2is a view showing the external appearance of a representative computing system including computing equipment, peripherals and digital devices which may be used in connection with the practice of the present invention. Computing equipment40includes host processor41which comprises a personal computer (hereinafter “PC”), preferably an IBM PC-compatible computer having a windowing environment such as Microsoft Windows 2000, Windows NT, Windows 98 or Windows 95, although it may be a Macintosh or a non-windows-based computer. Provided with computing equipment40are color monitor43including display screen42, keyboard46for entering text data and user commands, and pointing device47. Pointing device47preferably comprises a mouse for pointing and for manipulating objects displayed on display screen42.

Computing equipment40includes a computer-readable memory medium such as computer fixed disk45and/or floppy disk drive44. Floppy disk drive44provides a means whereby computing equipment40can access information, such as image data, computer-executable process steps, application programs, etc. stored on removable memory media. A similar CD-ROM interface (not shown) may be provided for computing equipment40through which computing equipment40can access information stored on removable CD-ROM media.

Printer50is a printer, preferably a color bubble jet printer, which forms color images on a recording medium such as paper or transparencies or the like. The invention is usable with other printers, however, so long as the printer is capable of being interfaced to computing equipment40. In addition, digital color scanner70is provided for scanning documents and images into computing equipment40and digital color camera60is provided for sending digital images to computing equipment40. Of course, computing equipment40may acquire digital image data from other sources such as a digital video camera or from a local area network or the Internet via network interface bus80.

FIG. 3is a detailed block diagram showing the internal architecture of host processor41of computing equipment40. As shown inFIG. 3, host processor41includes central processing unit (CPU)113which interfaces with computer bus114. Also interfacing with computer bus114are fixed disk45, network interface109, random access memory (RAM)116for use as main memory, read only memory (ROM)117, floppy disk interface119, display interface120to monitor43, keyboard interface122to keyboard46, mouse interface123to pointing device47, scanner interface124to scanner70, printer interface125to printer50, and digital camera interface126to digital camera60.

Main memory116interfaces with computer bus114so as to provide RAM storage to CPU113during execution of software programs such as an operating system, application programs and device drivers. More specifically, CPU113loads computer-executable process steps from fixed disk45, another storage device, or some other source such as a network, into a region of main memory116. CPU113then executes the stored process steps from main memory116in order to execute software programs such as an operating system, application programs and device drivers. Data such as color images can be stored in main memory116, where the data can be accessed by CPU113during the execution of computer-executable process steps which use or alter the data.

As also shown inFIG. 3, fixed disk45contains operating system130, which is preferably a windowing operating system although other operating systems may be used, application programs131, such as image processing applications that include a color management module, and plural device drivers, including a digital camera driver132, monitor driver133, printer driver134, scanner driver135, and other device drivers136. Fixed disk45also includes image files137, other files138, device color profiles139, which are discussed in more detail below, device extended IT8 color data files140, which are also discussed in more detail below, and color management module141in which the present invention may be implemented. The functions of color management module141are preferably provided in the form of computer-executable process steps. As mentioned above, the functions of color management module141may be alternatively integrated into an output device driver, such as printer driver134, or into an application program for performing processing of color image data, such as one of application programs131.

FIG. 4is a view for illustrating one embodiment of a color data file according to the present invention. In contrast to the device color profile ofFIG. 1, the color data file depicted inFIG. 4contains raw color characteristic data and viewing condition data corresponding to a color device. In this manner, a subsequent user of an archived color image is not forced to use a previously-generated color transform corresponding to the source device that created the archived color image. Instead, the color data file of the present invention allows a subsequent user of the archived color image to select and use a color management system having a preferred combination of a color space, a color appearance model and a set of desired viewing conditions in order to create a source device color transform for use in transforming the archived color image data into the color space of a particular destination device.

The color data file of the present invention is preferably a formatted file containing tags for the various data elements included therein, including tags for the raw color characteristic data and viewing condition data corresponding to a color device. Currently, a standardized data file format, known as CGATS/IT8, exists for storing color characteristic data corresponding to a color device. The CGATS/IT8 standard includes tags for storing measured calorimetric data corresponding to a color device. For example, the CGATS/IT8 format can be used in a colorimetric measurement scenario in which an array of color patches generated by a color device is measured and the measured calorimetric data corresponding to each color patch is stored in a color data file having the CGATS/IT8 format. In this manner, the colorimetric data is stored in a standardized fashion for future reference and use.

None of the CGATS/IT8 standards provide tags for containing both device control signals of the color device and corresponding measured colorimetric data. For example, it is often desirable to correlate a set of printer input signals to a set of calorimetric data measured from the rendered color image that was generated in response to the printer input signals. These correlated sets of data can then be used to generate a color transform for modeling the printer's color characteristics and capabilities. In this regard, commonly-owned U.S. patent application Ser. No. 09/538,947, entitled “Standardized Device Characterization,” by John S. Haikin, provides an extended CGATS/IT8 format standard which includes tags for containing device control signals of a color device, in addition to the other extensions described therein. In a similar manner, the present invention utilizes extensions to the CGATS/IT8 format including tags for device control signal data as well as tags for viewing condition data. In this manner, the extended CGATS/IT8 format of the present invention contains color characteristic data and viewing condition data corresponding to a color device for use in the subsequent creation of a color transform corresponding to the color device.

Turning toFIG. 4, a color data file corresponding to the present invention is depicted. It can be seen fromFIG. 4that color data file400is organized in a formatted fashion corresponding to a predetermined format so as to include header portion401, format portion410and data portion420. Header portion401includes a format descriptor to describe the format of color data file400, which in this example is a format for camera color characteristic data. An indication of the originator of the data contained in color data file400is also included as well as a descriptor for describing the data contained therein. Header Portion401also includes a creation date.

Header Portion401further includes NUMBER_OF_FIELDS402which indicates the different types of data provided in color data file400corresponding to each particular color measurement. In this case, NUMBER_OF_FIELDS402has a value of 7 corresponding to the fields for SAMPLE_ID411, RGB data412, and XYZ data413. As illustrated in Format Portion410, SAMPLE_ID411is a field for containing an identification of the particular color sample which is being measured. RGB data412includes red, green and blue data corresponding to device signals for a particular color device being measured. As discussed above, when measuring calorimetric data for a printer, RGB data412represents the three RGB input printer signals for directing the printer to print a color image. XYZ data413includes X, Y and Z components of measured calorimetric data corresponding to a color device. As discussed above, when the color characteristics of a printer are being measured, XYZ data413represents the three measured color values of the printed color image. In the case of a scanner, RGB data412represents output signals from the scanner in response to scanning of a color image, and XYZ data413represents the measured calorimetric data of the color image being scanned. In this manner, both input and output color data corresponding to a color device are provided within one file for subsequent access and used to characterize and/or model the color capabilities of the color device.

Header Portion401also includes WHITE_POINT data430, SURROUND data431, AMBIENT data432, BACKGROUND data433and LUMINANCE_OF_ADAPTING_FIELD data434for representing a set of viewing conditions. Preferably, the viewing conditions represent the viewing conditions measured at the time that the device signal data elements, such as RGB data412, and the measured calorimetric data elements, such as XYZ data413, were recorded. In this manner, the viewing conditions in which the color device was measured can be stored in the same file with the device signal data and measured calorimetric data for future use.

WHITE_POINT data430is a white point colorimetric specification corresponding to the viewing condition white point. AMBIENT data432is an ambient colorimetric specification corresponding to ambient viewing conditions. SURROUND data431corresponds to surround colorimetric specification for representing the remainder of the visual field outside the background surrounding the color sample being measured. BACKGROUND data433corresponds to background colorimetric specification for a background of the color sample being measured. The background commonly includes an area immediately adjacent to the point being measured out to approximately 10 degrees. LUMINANCE_OF_ADAPTING_FIELD434represents an adapting field colorimetric specification corresponding to the state of adaption of a scene in which the sample point is being measured. Such viewing condition measurements are commonly known in the art of color management. The aforementioned array of viewing conditions enables a subsequent user of color data file to properly use the color characteristic data contained in color data file400for constructing a proper characterization of the color device to which color data file400corresponds. For example, if color data file400corresponds to a printer, then RGB data412, XYZ data413, and viewing condition data430to434can be accessed and utilized in order to create a proper color transform for transforming color image data generated by the printer into another color space, such as a profile connection space.

Data portion420of color data file400is seen to have corresponding data values for each of the aforementioned fields described in Format Portion410. Specifically, a row of data in data portion420corresponds to a measured color image sample identified as A01for SAMPLE_ID421. Similarly, device signal data represented by RGB data412is provided in RGB values422, and measured colorimetric data represented by XYZ data413is provided in XYZ data423.

In this embodiment, RGB data412and XYZ data413represent device signal data and measured calorimetric data, respectively. In the alternative, these fields can be used to contain spectral measurement values corresponding to the color device. In addition, viewing condition fields430to434can be used to represent a desired set of viewing conditions in the case that RGB data412and XYZ data413contain spectral measurement values. In this manner, color data file400has the flexibility to represent color characteristic data of a color device in different forms.

It can be appreciated that color data file400can be maintained in a memory area, such as a floppy disk, hard disk, CD-ROM, or a network server for access in a networked computing environment, including the Internet and World Wide Web. Preferably, color data file400is embedded in a color image file containing a set of color image data for representing a color image. In this regard,FIG. 5depicts color image file500in which color data file511is embedded. In particular, color image file500includes header510and color image data512which corresponds to a color image. Header510includes a tag for containing color data file511, color data file511corresponding to a color data file as depicted inFIG. 4. In this manner, color data file511corresponds to the source color device, such as a digital camera or scanner, which generated color image data512. Color image file500therefore provides a convenient package for combining color image data512with the color characteristic and viewing condition data corresponding to the source color device which generated color image data512. It can be appreciated that color image file500is beneficial for storing and archiving color image data such that, regardless of the amount of time elapsed since the generation of color image data512, a subsequent user can access color image file500and then access and utilize the color characteristic data and viewing condition data contained in color data file511to create an appropriate color transform for use in working with color image data512. In this manner, a subsequent user of color image data512is not constrained to using an outdated color transform corresponding to color image data512, or a color transform which produces sub-optical results with the subsequent user's color management system.

FIG. 6provides a detailed block diagram for illustrating the use of a color data file according to the present invention in a color management system. Turning toFIG. 6, it can be seen that source color image file62is accessed from color image archive61for use by a subsequent user. For example, a graphic artist may browse color image archive61and choose source color image file62corresponding to a color image that the graphic artist wishes to use in a composition image. Source color image file62contains color data file63corresponding to a source device as described inFIG. 4and also contains color image data64. In this example, source color image file62corresponds to a source device, and color image data64is in the RGB color space associated with the source device (digital camera or scanner).

Color management module60is then utilized for performing color management of color image data64contained in source color image file62. Specifically, as discussed above, a subsequent user of source color image file62can select and/or control a preferred color management module depending on the color appearance space and color appearance model that the subsequent user wishes to apply to create a source color transform from color data file63. As represented inFIG. 6, color data file63is passed to color transform generator65which is a function of color management module60. Color transform generator65utilizes color appearance space66and color appearance model67in order to construct source color transform68based on the source device color characteristic data and viewing condition data contained in color data file63as depicted inFIG. 4.

In particular, device signal data represented by RGB data and measured colorimetric data represented by XYZ data are accessed from color data file63for use by color transform generator65. In addition, viewing condition data is accessed from color data file63for use in conjunction with the device signal data and measured calorimetric data in order to generate source color transform68for transforming color image data64into color appearance space66. In this example, color appearance space66is a profile connection space. In addition, color appearance model67is used to define the source color transform68. Source color transform68may be represented in the form of a look-up table, or in other forms, such as a polynomial function, a single-variate transform, or a multi-variate transform. In addition, it can be appreciated that color appearance space66can be any one of a number of different types of color appearance spaces such as a CIE Lab color space, or a color space composed of a lightness component, and two orthogonal color components for defining a chroma and a hue, such as Jch and Jab color spaces. The present invention is not limited to the use of the aforementioned color appearance spaces, and it can be appreciated that other color appearance spaces may be used, including other types of device-independent color spaces.

Color transform generator65of color management module60generates source color transform68in accordance with a particular color transform generation method and/or algorithm. It can be appreciated that color management module60may implement any one of a different number of color transform generation methods and/or algorithms. Such color transform generation methods and/or algorithms may include one or more optimization functions for optimizing source color transform68to enable source color transform68to process color image data64in a more efficient fashion, to process color image data64so as to achieve greater accuracy in the reproduction of color image data64, or to process color image data64to achieve a particular preferred reproduction of color image data64.

Source color transform68is then applied to color image data64in order to create interim color image data69, which in this example is in a profile connection space, thereby allowing interim color image data69to be further processed by other color transforms which are also in the profile connection space. Source color transform68can also be stored in a memory such as a floppy, hard disk, CD-ROM or the like for subsequent access by a user in order to reduce subsequent processing of color image data64or of other color image data files generated from the same source device. In the example illustrated inFIG. 6, interim color image data69is further transformed by destination color transform71which was accessed from a typical destination device color profile70. It can be appreciated that destination color transform71may alternatively be generated by color transform generator65if a destination color data file similar to source color data file63exists for the particular destination device. In any event, whether destination color transform71is accessed from destination device color profile70or is generated from color transform generator65, interim color image data69is transformed into destination color image data72. In this example, destination device color profile70corresponds to an ink jet printer, and destination color transform71therefore transforms the color image data into a CMYK color space. Destination color image data72can then be rendered by the destination device, which in this case is a printer.

FIG. 7is a flowchart for explaining one implementation of the color management system and color data file of the present invention as depicted inFIG. 6. In step S701, the source color data file according to the present invention is accessed, either from a separate memory area or from within a source color image file as depicted inFIG. 6. In step S702, the source device color characteristic data, such as device signal data and measured calorimetric data, is extracted along with the viewing condition data from the source color data file. As previously discussed, the measured calorimetric data is preferably in XYZ color space so as to provide compatibility with both current and future color management systems. An appropriate color management module for managing the color image data to be processed is selected in step S703. The color management module can be selected based on a preexisting embedded combination of color appearance space and color appearance model that are desired by a user, or based on the manner in which the color management module constructs a color transform.

Preferably, the color management module allows a user to select from one of many different color appearance spaces and from one of may different color appearance models to create a color transform for optimal color management results (S704). In step S705, a source color transform is constructed based on the color characteristic data and viewing condition data extracted from the source color data file, in addition to the color appearance space and color appearance model utilized by the color management module. Next, it is determined whether the user wishes to save the generated source color transform for future use (S706). If the source color transform is to be saved, it can be stored in a memory area such as a hard disk, floppy, CD-ROM or network server, as discussed above (S707), and flow then passes to step S708. If the source color transform is not to be saved, flow passes to step S708in which it is determined whether or not to apply the source color transform to the source color image data. If the user wishes to apply the source color transform to the source color image data, the source color transform is applied to the source color image data in step S709in order to create interim color image data.

As discussed above, the interim color image data is preferably in a profile connection space to facilitate further color management of the interim color image data. If the source color transform is not to be applied to the source color image data, flow passes to step S713which is the end of the process. If the interim color image data is generated in step S709, flow passes to step S710in which it is determined whether to apply a destination color transform on the interim color image data in order to generate destination color image data for rendering by a destination device, such as a printer. If a destination color transform is not to be applied, flow passes to the end in step S713. If, however, a destination color transform is to be applied, flow passes to step S711in which a destination color transform is applied to the interim color image data, thereby generating destination color image data. As discussed above, a destination color transform may be accessed from a conventional destination device color profile which contains a destination color transform or, in the alternative, a destination color transform may be generated in the same manner as source color transform68ofFIG. 6. In such a situation, a destination color data file similar to source color data file63is accessed and a destination color transform is generated in a manner similar to that described above with respect to steps S701to S705. In either case, the destination color transform is applied in order to create destination color image data.

In step S712, the destination color image data is passed to the destination device, such as a printer, for rendering of a color image. Flow then passes to the end (step S713). In this manner, it can be appreciated that a subsequent user of an archived image file can select an appropriate color management module to construct a source color transform from the color characteristic and viewing condition data contained in the source color data file, thereby achieving preferred and/or optimal color management of the color image data.

FIG. 8provides a detailed block diagram for illustrating the use of a color data file in a color management system according to another embodiment of the present invention. In this embodiment, the color data file is used to construct a color transform which is incorporated into a comprehensive color transformation sequence for application to color image data. Turning toFIG. 8, it can be seen that source color image file82is accessed from color image archive81for use by a user. For example, a graphic artist may browse color image archive81and choose source color image file82corresponding to a color image that the graphic artist wishes to use in a composition image. Source color image file82contains source color data file83as described inFIG. 4and also contains color image data84. In this example, source color image file82corresponds to a scanner, and color image data84is in RGB color space.

Color management module80is then utilized for performing color management of color image data84contained in source color image file82. Specifically, as discussed above, a subsequent user of source color image file82can select and/or control a preferred color management module depending on the color appearance space and color appearance model that the subsequent user wishes to apply to create a source color transform from color data file83. As represented inFIG. 8, color data file83is passed to color transform generator85which is a function of color management module80. Color data processor85utilizes color appearance space86and color appearance model87in order to construct source color transform88based on the device color characteristic data and viewing condition data contained in color data file83as depicted inFIG. 4.

In particular, device signal data represented by RGB data and measured calorimetric data represented by XYZ data from color data file83is accessed for use by color data processor85. In addition, viewing condition data is accessed from color data file83to be used in conjunction with the device signal data and measured colorimetric data in order to generate source color transform88for transforming color image data84into color appearance space86. In this example, color appearance space86is a profile connection space. In addition, color appearance model87is used to define source color transform88. Source color transform88may be represented by a look-up table, and it can be appreciated that source color transform may be provided in other formats, such as a polynomial function, a single-variate transform, or a multi-variate transform. In addition, it can be appreciated that color appearance space86can be any one of a number of different types of color appearance spaces such as a CIE Lab color space, or a color space composed of a lightness component, and two orthogonal color components for defining a chroma and a hue, such as Jch and Jab color spaces. The present invention is not limited to the use of the aforementioned color appearance spaces, and it can be appreciated that other color appearance spaces may be used, including other forms of device-independent color spaces.

Color data processor85of color management module80generates source color transform88in accordance with a particular color transform generation method and/or algorithm. It can be appreciated that color management module80may implement any one of a different number of color transform generation methods and/or algorithms. Such color transform generation methods and/or algorithms may include one or more optimization functions for optimizing source color transform88to enable source color transform88to process color image data84in a more efficient fashion, to process color image data84so as to achieve greater accuracy in the reproduction of color image data84, or to process color image data84to achieve a particular preferred reproduction of color image data84.

Color data processor85also generates source gamut description95from source color data file83. In this manner, source color data file83does not need to contain a separate gamut boundary description for the source device. In particular, the device signal data and measured calorimetric data are utilized to generate source gamut boundary description95.

It can be appreciated that source color transform88can be applied to color image data84, as depicted inFIG. 6; however, source color transform can alternatively be incorporated into a comprehensive color transformation sequence, thereby allowing source color image data84to be transformed into destination color image data92. Source color transform88can be stored in a memory such as a floppy, hard disk, CD-ROM or the like for subsequent access and use. In the example illustrated inFIG. 8, destination color transform89is accessed and utilized in conjunction with source color transform88to create transformation sequence91. Destination gamut description96is also accessed and used in conjunction with source gamut description95and a gamut boundary algorithm from color management module80to create gamut transform step97. Gamut transform step97is then incorporated into transformation sequence91. Transformation sequence91is then applied to color image data84to generate destination color image data92for rendering on a destination device, such as a printer. As discussed above, destination color transform89and destination gamut description96can be accessed from a typical destination device color profile90. It can be appreciated that destination color transform91and destination gamut description96may alternatively be generated by color data processor85if a destination color data file similar to source color data file83exists for the particular destination device. In this example, destination device color profile90corresponds to an ink jet printer, and destination color transform89is used to transform color data into a CMYK color space.

FIG. 9is a flowchart for explaining the color management system and color data file according to the embodiment of the present invention as depicted inFIG. 8. In step S901, the source color data file according to the present invention is accessed, either from a separate memory area or from within a source color image file as depicted inFIG. 8. In step S902, the source device color characteristic data, such as device signal data and measured calorimetric data, is extracted, in addition to the viewing condition data, from the source color data file. As previously discussed, the measured colorimetric data is preferably in XYZ color space so as to provide compatibility with both current and future color management systems. An appropriate color management module for managing the color image data to be processed is selected in step S903. The color management module can be selected based upon a preexisting embedded combination of color appearance space and color appearance model that are desired by a user, or can be selected based on the manner in which the color management module constructs a color transform.

Preferably, as depicted in step S904, the color management module allows a user to select from one of many different color appearance spaces and from one of may different color appearance models to create a color transform for optimal color management results. In step S905, a source color transform and a source gamut boundary description are constructed based on the color characteristic data and viewing condition data extracted from the source color data file, in addition to the color appearance space and color appearance model utilized by the color management module. Next, it is determined whether the user wishes to save the generated source color transform and/or source gamut boundary description for future use (S906). If the source color transform and/or source gamut boundary description is to be saved, it is stored in a memory area such as a hard disk, floppy, CD-ROM or network server, as discussed above (S907), and flow then passes to step S908.

Next, a destination color transform and a destination device gamut boundary description are accessed in step S908. As discussed above, the destination color transform and destination gamut boundary description may be accessed from a traditional device color profile or may be generated in the same manner as the source color transform and source gamut boundary description according to steps S901to S905above. The source and destination gamut boundary descriptions are then used in conjunction with a gamut mapping algorithm to create a gamut transformation step for inclusion into the transformation sequence (step S909). The source color transform, the destination color transform and the gamut transformation step are then incorporated into a transformation sequence in step S910. In this manner, a comprehensive color transformation sequence is created for efficient end-to-end processing of color image data. It is then determined in step S911whether to save the transformation sequence for future use. If so, flow passes to step S912in which the transformation sequence is stored in a memory, such as a floppy, hard disk, CD-ROM, network server or the like. In either case, flow passes to step S913in which it is determined whether to apply the transformation sequence to the source color image data. If yes, the transformation sequence is applied to the source color image data to generate destination color image data in step S914. If not, flow passes to the end in step S916. If destination color image data was generated in step S914, the destination color image data is forwarded to the destination device for rendering of a color image (S915). Flow then passes to the end in step S916.

The present invention therefore provides a color data file for storing raw calorimetric measurement and device signal data corresponding to a source device in a standardized, format for subsequent use by a color management system to generate a source color transform. In this manner, a color management system is not forced to use a color transform that was originally created when the color image data was generated by the source device. A subsequent user of the color image data can then use a selected color management system having a preferred combination of a color space, a color appearance model and a desired set of viewing conditions in order to create a source device color transform. Accordingly, a source device color transform does not have to be created until the color image data is subsequently accessed for use by a subsequent user. In this manner, color image data is associated with a corresponding source color data file that contains color characteristic data and viewing condition data of the source device in a well recognized, robust format for use by a variety of current, and not yet known, color management systems.

The invention has been described with respect to particular illustrative embodiments. It is to be understood that the invention is not limited to the above-described embodiments and that various changes and modifications may be made by those of ordinary skill in the art without departing from the spirit and scope of the invention.