Extensible system for color management
First Claim
1. A computer-implemented method for generating a transform performed on a computing device using a color engine, the computer-implemented method comprising:
- identifying a first device model plug-in to a first device model, the first device model plug-in comprising executable code provided as an extension to the color engine by a third party independent of a provider of the color engine;
identifying a first device model profile plug-in to a first device model profile, the first device model profile plug-in comprising data referenced to the first device model;
executing the first in device model plug-in over the data contained in the first device model profile plug-in via the computing device;
executing a first color appearance model over data in a first color appearance model profile via the computing device;
generating a first gamut boundary shell from execution of the first device model plug-in and the first color appearance model; and
generating a transform based on the first gamut boundary shell via the computing device.
1 Assignment
0 Petitions
Accused Products
Abstract
A color engine supports extensibility by allowing plug-ins. The color engine transforms an image file associated with a source device for consumption by a destination device. Within the color engine, a device model operates over a device model profile to generate a gamut boundary shell, which describes the range of colors a device is capable of producing. A color appearance model operates over a color appearance model profile to compensate for external viewing conditions. A gamut map model accepts as input gamut boundary shells describing the source device and the destination device, and operates over a gamut map model profile to generate a transform, which is used to transform the image file for consumption by the destination device. The device model profiles and gamut map model profiles may be extended using XML plug-ins, and the device models and gamut map models may be extended using DLL plug-ins.
15 Citations
19 Claims
-
1. A computer-implemented method for generating a transform performed on a computing device using a color engine, the computer-implemented method comprising:
-
identifying a first device model plug-in to a first device model, the first device model plug-in comprising executable code provided as an extension to the color engine by a third party independent of a provider of the color engine; identifying a first device model profile plug-in to a first device model profile, the first device model profile plug-in comprising data referenced to the first device model; executing the first in device model plug-in over the data contained in the first device model profile plug-in via the computing device; executing a first color appearance model over data in a first color appearance model profile via the computing device; generating a first gamut boundary shell from execution of the first device model plug-in and the first color appearance model; and generating a transform based on the first gamut boundary shell via the computing device. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. One or more computer-readable media storing instructions thereon, the instructions being executable to cause a computer to perform a method of generating a transform using a color engine, the method comprising:
-
providing a first device model profile for a first device; identifying a reference to a first plug-in of a first device model in the first device model profile, wherein the first plug-in of the first device model comprises a third-party provided extension to the color engine; using the first-plug-in of the first device model to generate a first gamut boundary shell via the computer, wherein the first-plug-in of the first device model operates on data from a first plug-in of the first device model profile to generate the first gamut boundary shell; providing a second device model profile for a second device; identifying a reference to a second plug-in of a second device model in the second device model profile, wherein the second plug-in of the second device model comprises a third-party-provided extension to the color engine; using the second plug-in of the second device model to generate a second gamut boundary shell via the computer, wherein the second plug-in of the second device model operates on data from a plug-in of the second device model profile to generate the second gamut boundary shell; and generating a transform based on the first gamut boundary shell and the second gamut boundary shell via the computer. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17)
-
-
18. One or more computer-readable media storing instructions thereon, the instructions being executable to cause a computer to perform a method for transforming image data using a color engine, the method comprising:
-
providing a source device model profile for a source device, the source device model profile describing physical characteristics of the source device; determining via the computer whether the source device model profile references a first plug-in of a first device model provided as an extension to the color engine by a third party that is independent of a provider of the color engine; if the source device model profile references the first plug-in of the first device model, using the first plug-in of the first device model to generate a source gamut boundary shell based on data contained within the source device model profile, wherein the first plug-in of the first device model comprises executable code that operates over the data contained within the source device model profile to generate the source gamut boundary shell; if the source device model profile does not reference the first plug-in of the first device model, using a base-line device model provided as part of the color engine to generate the source gamut boundary shell based on the data contained within the source device model profile, wherein the base-line device model comprises executable code that operates over the data contained within the source device model profile to generate the source gamut boundary shell; providing a destination device model profile for a destination device, the destination device model profile describing physical characteristics of the destination device; determining via the computer whether the destination device model profile references a second plug-in of a second device model provided as an extension to the color engine by a third party that is independent of the provider of the color engine; if the destination device model profile references the second plug-in of the second device model, using the second plug-in of the second device model to generate a destination gamut boundary shell based on data contained within the destination device model profile, wherein the second plug-in of the second device model comprises executable code that operates over the data contained within the destination device model profile to generate the destination gamut boundary shell; if the destination device model profile does not reference the second plug-in of the second device model, using the base-line device model provided as part of the color engine to generate the destination gamut boundary shell based on the data contained within the destination device model profile, wherein the base-line device model comprises executable code that operates over the data contained within the destination device model profile to generate the destination gamut boundary shell; using a gamut map model plug-in of a gamut map model to generate a transform via the computer based on the source gamut boundary shell, the destination gamut boundary shell, and data stored in a gamut map model profile plug-in of a gamut map model profile, wherein the plug-in of the gamut map model comprises executable code that operates over the source gamut boundary shell, the destination gamut boundary shell, and the data stored in the plug-in of the gamut map model profile to generate the transform; and using the transform to convert the image data of an image file via the computer. - View Dependent Claims (19)
-
Specification