Color modification on a digital nonlinear editing system
First Claim
1. A system for performing color modification on a color, the color including a first, second and third component, each component defining a value of the color, the system comprising:
- a chroma lookup table having a plurality of entries, each entry corresponding to a luma value and containing chroma coefficients, the chroma coefficients defining color modifications to be applied to the components of the color, wherein, if a first luma value is received, the chroma lookup table generates output chroma coefficients at an output by accessing an entry of the lookup table corresponding to the first luma value and extracting the output coefficients from the entry; and
a first matrix multiplier that receives the output chroma coefficients and at least the first and the second of the components of the color at an input and generates at least a first modified component and second modified component as output, the first matrix multiplier applying matrix multiplication to the first and second components using the output chroma coefficients as coefficients of a matrix.
1 Assignment
0 Petitions
Accused Products
Abstract
A color modification system and method for reducing the number of computations performed on a pixel color. This reduction in computations increases the rate at which color modification may be performed and decreases the effects of rounding errors. Decreasing the effects of rounding errors produces a more accurate color modification, thereby reducing the likelihood of artifacts. The system and method performs color modification on a pixel color, where the color includes a first, second, and third component and each component defines a value of the color. The system includes a chroma lookup table having a plurality of entries. Each entry corresponds to a luma value and contains chroma coefficients. The chroma coefficients define color modifications to be applied to the components of the color. If a luma value is received, the chroma lookup table generates output chroma coefficients at an output. The output coefficients are generated by accessing the entry corresponding to the luma value, and extracting the output coefficients from the entry. The coefficients may include at least four matrix coefficients. The system may include a first matrix multiplier that receives the four matrix coefficients and at least a first and second of the color at an input and generate at least a first modified component and second modified component as output. The first matrix multiplier applies matrix multiplication to the first and second components using the four output chroma coefficients as the coefficients of the matrices. The chroma lookup table may defines a function of luma, and the function may be nonlinear.
147 Citations
22 Claims
-
1. A system for performing color modification on a color, the color including a first, second and third component, each component defining a value of the color, the system comprising:
-
a chroma lookup table having a plurality of entries, each entry corresponding to a luma value and containing chroma coefficients, the chroma coefficients defining color modifications to be applied to the components of the color, wherein, if a first luma value is received, the chroma lookup table generates output chroma coefficients at an output by accessing an entry of the lookup table corresponding to the first luma value and extracting the output coefficients from the entry; and
a first matrix multiplier that receives the output chroma coefficients and at least the first and the second of the components of the color at an input and generates at least a first modified component and second modified component as output, the first matrix multiplier applying matrix multiplication to the first and second components using the output chroma coefficients as coefficients of a matrix.
-
-
2. A system for modifying a color defined by at least a first component, a second component and a third component, the system comprising:
-
a parameter lookup table including a plurality of entries, wherein each entry corresponds to a value of luma and includes one or more color modification parameters defined for the value of luma to be applied to at least one component corresponding to the color other than a luma component corresponding to the color, wherein the parameter lookup table further includes an input to receive a luma value corresponding to the color, logic to access an entry of the plurality of entries, wherein the accessed entry corresponds to the received luma value, and one or more outputs to output the one or more color modification parameters included in the entry, wherein the color modification parameters included in the parameter lookup table are based on one or more functions of luma, wherein at least one of the functions is user-defined, and the system further comprises a user interface having one or more inputs to receive user input from which the at least one user-defined function is generated, one or more luma lookup tables, each luma lookup table defining one of the one or more functions of luma and including a plurality of entries, each entry corresponding to a value of luma and including an output value for the luma value; and
a color modification generator having one or more inputs to receive the output values from the one or more luma lookup tables and having one or more outputs to output the color modification parameters to the parameter lookup table, the color modification generator operative to generate the color modification parameters from the output values.
-
-
3. A system for modifying a color defined by at least a first component, a second component and a third component, the system comprising:
-
a parameter lookup table including a plurality of entries, wherein each entry corresponds to a value of luma and includes one or more color modification parameters defined for the value of luma to be applied to at least one component corresponding to the color other than a luma component corresponding to the color, wherein the parameter lookup table further includes an input to receive a luma value corresponding to the color, logic to access an entry of the plurality of entries, wherein the accessed entry corresponds to the received luma value, and one or more outputs to output the one or more color modification parameters included in the entry, and a first matrix multiplier having one or more inputs to receive the one or more output color modification parameters and the at least one component, logic to modify the at least one component to produce at least one modified component by applying matrix multiplication to the at least one component using the one or more output color modification parameters as one or more coefficients of a first matrix, and one or more outputs to output the at least one modified component. - View Dependent Claims (4, 5, 6)
a second matrix multiplier having one or more inputs to receive the at least one modified component and second-matrix coefficients, logic to apply matrix multiplication to the at least one component using the second-matrix coefficients as coefficients of a second matrix to produce a red component, a blue component, and a green component, and one or more outputs to output the red component, the blue component and the green component.
-
-
5. The system of claim 4, further comprising:
-
an RGB lookup table including a plurality of entries, each entry corresponding to a value of an input RGB component and including a modified RGB component specifying a predefined value resulting from the application of a user-defined function to the value corresponding to the entry, the input RGB component being one of the red, green, or blue color components, wherein the RGB lookup table further includes an input to receive the input RGB component, logic to generate at least one modified RGB component by accessing an entry of the RGB table corresponding to the input RGB component and extracting the modified RGB component included therein, and one or more outputs to output the at least one modified RGB component.
-
-
6. The system of claim 5, further comprising:
a third matrix multiplier including one or more inputs to receive the at least one modified RGB component and third-matrix coefficients, logic to generate at least one modified component corresponding to the color by applying matrix multiplication to the at least one modified RGB component using the third-matrix coefficients as coefficients of a third matrix, and one or more outputs to output the at least one modified component corresponding to the color.
-
7. A method of modifying a color using a color modification system, the color defined by at least a first, second and third component and the system including a parameter lookup table including a plurality of entries, wherein each entry corresponds to a value of luma and includes one or more color modification parameters defined for the value of luma to be applied to at least one component corresponding to the color other than a luma component corresponding to the color, the method comprising:
-
receiving a luma value corresponding to the color;
determining color modification parameters to modify the color by accessing an entry in the coefficient lookup table corresponding to the received luma value, wherein the color modification parameters included in the parameter lookup table are based on one or more functions of luma, wherein at least one of the functions is user-defined according to user input received through a user interface; and
wherein the color modification system further includes one or more lookup tables, each luma lookup table defining one of the one or more functions of luma and including a plurality of entries, each entry corresponding to a value of luma and including an output value for the luma value, the method further comprising;
accessing the output values from the one or more luma lookup, tables; and
generating the color modification parameters for the parameter lookup table from the output values of the one or more luma lookup tables.
-
-
8. A method of modifying a color using a color modification system, the color defined by at least a first, second and third component and the system including a parameter lookup table including a plurality of entries, wherein each entry corresponds to a value of luma and includes one or more color modification parameters defined for the value of luma to be applied to at least one component corresponding to the color other than a luma component corresponding to the color, the method comprising:
-
receiving. a luma value corresponding to the color;
determining color modification parameters to modify the color by accessing an entry in the coefficient lookup table corresponding to the received luma value; and
applying matrix multiplication to the at least one component using the determined color modification parameters as coefficients of a first matrix to produce at least one modified component. - View Dependent Claims (9, 10, 11)
receiving second-matrix coefficients corresponding to user-defined color modifications; and
generating one or more RGB components by applying matrix multiplication to the at least one modified component using the second-matrix coefficients as coefficients of a second matrix.
-
-
10. The method of claim 9, wherein the color modification system further comprises an RGB lookup table having a plurality of entries, each entry corresponding to a value of an RGB component and including a modified RGB component specifying a predefined value resulting from the application of a user-defined function to the value corresponding to the entry, the method further comprising:
for at least one of the generated RGB color components, generating at least one modified RGB component as output by accessing an entry of the RGB lookup table corresponding to the at least one RGB component and extracting the modified RGB component included therein.
-
11. The method of claim 10, further comprising:
-
receiving third-matrix coefficients corresponding to user-defined color modifications; and
generating at least one modified component corresponding to the color by applying matrix multiplication to at least the modified RGB component using the third-matrix coefficients as coefficients of a third matrix.
-
-
12. A system for performing color modification on a digital image including a plurality of pixels, each pixel defined by at least a first, second and third component, the system comprising:
-
a user interface including one or more inputs to receive one or more user-defined color modifications to apply to the digital image, wherein each color modification is specified for a function of luma; and
a color modifier including a parameter lookup table to store modification parameters generated from the one or more color modifications, one or more inputs to receive at least one component corresponding to a pixel of the digital image other than a luma component corresponding to the pixel, and logic to apply the parameter lookup table to the at least one component to produce a modified pixel as output, wherein the modified pixel defines at least a portion of a modified version of the digital image. - View Dependent Claims (13, 14, 15, 16)
a matrix multiplier including one or more first inputs to receive the extracted modification parameters, one or more second inputs to receive the at least one component of the pixel, logic to apply matrix multiplication to the at least one component using the extracted modification parameters as coefficients of a matrix to produce the modified pixel as output.
-
-
16. The system of claim 12, further comprising:
a modification parameter generator to receive the one or more user-defined color modifications as input and to generate the one or more modification parameters as output.
-
17. A method of performing color modification on a digital image including a plurality of pixels, each pixel defined by at least a first, second and third component, using a color modification system comprising a user interface and a parameter lookup table, the method comprising:
-
receiving one or more user-defined color modifications through the user interface to apply to a digital image, wherein each color modification is specified for a function of luma;
storing modification parameters generated from the one or more color modifications in the parameter lookup table;
receiving at least one component corresponding to a pixel of the digital image other than a luma component corresponding to the pixel; and
applying the parameter lookup table to the at least one component to produce a modified pixel as output, wherein the modified pixel defines at least a portion of a modified version of the digital image. - View Dependent Claims (18, 19, 20, 21)
applying matrix multiplication to the at least one component of the pixel using the one or more extracted modification parameters as coefficients of the matrix.
-
-
21. The method of claim 17, further comprising:
generating the modification parameters from the one or more user-defined color modifications.
-
22. An apparatus for modifying a color defined by a first component, a second component and a third component, the apparatus comprising:
-
a parameter lookup table including a plurality of entries, each entry corresponding to a value of luma and including one or more modification parameters specified for the value;
one or more first inputs connected to the parameter lookup table to load the color modification parameters into the entries of the parameter lookup table, the color modifications derived from one or more functions of luma;
a second input connected to the parameter lookup table to receive a luma value corresponding to the color; and
one or more outputs connected to the parameter lookup table for outputting at least one modified component corresponding to the color, the at least one modified component generated by applying the parameter lookup table to at least one component corresponding to the color other than a luma component corresponding to the color.
-
Specification