Hardware-accelerated color data processing
Abstract
Methods for mapping color data having at least one color associated therewith to an output device based on an input device profile and an output device profile, each profile having a tone curve and a color matrix, are provided. In one embodiment, the method includes receiving color data from an input device and determining whether the color data is in a linear space. If it is determined that the color data is not in a linear space, the method further includes applying the tone curve of the input device profile to the color data to convert it into a linear space. The method further includes converting the color(s) associated with the color data from the input linear space to an output linear space by applying the color matrix of the input device profile and the inverse color matrix of the output device profile to create color-converted image data.
Claims
exact text as granted — not AI-modified1 . A method for mapping color data having at least one color associated therewith to an output device based on an input device profile and an output device profile, each of the input device profile and the output device profile having a tone curve and a color matrix, the method comprising:
receiving color data from an input device; determining whether the input color data is in a linear space; if it is determined that the color data is not in a linear space, applying the tone curve of the input device profile to the color data to convert the color data into an input linear space; converting the at least one color from the input linear space to an output linear space by applying the color matrix of the input device profile and the inverse color matrix of the output device profile thereto to create color-converted color data; and mapping the inverse tone curve of the output device profile into the color-converted color data to convert the color-converted color data into mapped color data.
2 . The method of claim 1 , further comprising outputting the mapped color data to the output device.
3 . The method of claim 1 , further comprising determining whether performance or fidelity is more important to the mapping being performed.
4 . The method of claim 3 , wherein if it is determined that performance is more important to the mapping being performed, converting the at least one color from the input linear space to the output linear space by applying the color matrix of the input device profile and the inverse color matrix of the output device profile thereto comprises multiplying the color matrix of the input device profile and the inverse color matrix of the output device profile to create a single color matrix.
5 . The method of claim 1 , wherein at least one of applying the tone curve of the input device profile, converting the at least one color from the input linear space to the output linear space, and mapping the inverse tone curve of the output device profile into the color-converted color data is performed by a Graphics Processing Unit.
6 . The method of claim 1 , wherein at least one of applying the tone curve of the input device profile, converting the at least one color from the input linear space to the output linear space, and mapping the inverse tone curve of the output device profile into the color-converted color data is performed by one of a Micro-Processing Unit and a video Digital to Analog Converter of a graphics card.
7 . One or more computer-readable media having computer-executable instructions for performing the method of claim 1 .
8 . A method for accelerating color data processing utilizing a Central Processing Unit having at least one Color Management Module associated therewith and a Graphics Processing Unit, the method comprising:
receiving an input device profile and an output device profile; determining a tone curve and a color matrix of both the input device profile and the output device profile; and providing the tone curve and the color matrix of the input device profile and the output device profile to the Graphics Processing Unit, wherein the Graphics Processing Unit is capable of mapping color data having at least one color associated therewith from the input device profile to the output device profile utilizing the tone curve and the color matrix of the input and output device profiles.
9 . The method of claim 8 , wherein determining the tone curve and the color matrix of both the input device profile and the output device profile comprises querying the Color Management Module of the Central Processing Unit.
10 . The method of claim 8 , wherein providing the tone curve and the color matrix of the input device profile and the output device profile to the Graphics Processing Unit comprises providing the tone curve and the color matrix of the input device profile and the output device profile to the Graphics Processing Unit, one or more video Digital to Analog Converters, or any combination thereof in High Level Shader Language.
11 . The method of claim 8 , further comprising:
determining the inverse tone curve and the inverse color matrix of at least one of the input device profile and the output device profile; and providing the inverse tone curve and the inverse color matrix of the at least one of the input device profile and the output device profile to the Graphics Processing Unit, one or more video Digital to Analog Converters, or any combination thereof.
12 . The method of claim 11 , wherein determining the inverse tone curve and the inverse color matrix of at least one of the input device profile and the output device profile comprises querying the Color Management Module of the Central Processing Unit.
13 . The method of claim 11 , wherein providing the inverse tone curve and the inverse color matrix of at least one of the input device profile and the output device profile to the Graphics Processing Unit comprises providing the inverse tone curve and the inverse color matrix of the at least one of the input device profile and the output device profile to the Graphics Processing Unit, one or more video Digital to Analog Converters, or any combination thereof in High Level Shader Language.
14 . One or more computer readable media having computer-executable instructions for performing the method of claim 8 .
15 . A system for accelerated processing of color data having at least one color associated therewith based on an input device profile and an output device profile, both the input device profile and the output device profile having a tone curve and a color matrix, the system comprising:
a Graphics Processing Unit, one or more video Digital to Analog Converters, or any combination thereof; a tone curve receiving component for receiving the tone curve of one or both of the input device profile and the output device profile; a color matrix receiving component for receiving the color matrix of one or both of the input device profile and the output device profile; and a color conversion component for converting the at least one color from the color matrix of the input device profile to the color matrix of the output device profile.
16 . The system of claim 15 , wherein the tone curve receiving component is capable of receiving the inverse tone curve of one or both of the input device profile and the output device profile, and wherein the color matrix receiving component is capable of receiving the inverse color matrix of one or both of the input device profile and the output device profile.
17 . The method of claim 15 , further comprising an outputting component for outputting mapped color data to the output device.
18 . The system of claim 15 , further comprising:
a Central Processing Unit having at least one Color Management Module associated therewith; a querying component for querying the Color Management Module of the Central Processing Unit to determine the tone curve and/or inverse tone curve and the color matrix and/or inverse color matrix of at least one of the input device profile and the output device profile; and a providing component for providing the tone curve and/or inverse tone curve and the color matrix and/or inverse color matrix of the at least one of the input device profile and the output device profile to the Graphics Processing Unit, the one or more video Digital to Analog Converters, or any combination thereof.
19 . The system of claim 18 , wherein the color conversion component is capable of multiplying the color matrix of the input device profile and the inverse color matrix of the output device profile to create a single color matrix.
20 . The system of claim 15 , further comprising a Micro-Processing Unit for performing at least one of applying the tone curve of the input device profile, converting the at least one color from the input linear space to the output linear space, and mapping the inverse tone curve of the output device profile into the color-converted color data.Cited by (0)
No later patents cite this yet.
References (0)
No backward citations on record.