Fast interpolation of large color lookup tables
View Patent ↗A method for converting a specified color value from a first color space to a second color space identifies the specified color value in the first color space. A converted color space value is received from a final lookup table. The converted color space value is previously determined as a function of the specified color value and a mid-point interpolation and represents the specified color in the second color space. The converted color space value is stored in a memory device.
1. A method for converting a specified color value from a first color space to a second color space, the method comprising:
identifying the specified color value in the first color space;
receiving a converted color space value from a final lookup table, the converted color space value being previously determined as a function of the specified color value and a non-iterative mid-point interpolation and representing the specified color in the second color space, wherein operations for performing the mid-point interpolation include one or more addition operations and one or more shift operations or division operations; and
storing the converted color space value in a memory device.
2. The method for converting a color value as set forth in claim 1 , further including:
before the receiving step, creating the final lookup table as a function of an initial lookup table, which has a lower resolution relative to the final lookup table and includes a plurality of the conversion values.
3. The method for converting a color value as set forth in claim 1 , wherein the receiving step includes:
for a current color of interest, performing a number of mid-point interpolations, as a function of the resolution of the final lookup table.
4. The method for converting a color value as set forth in claim 3 , wherein the step of performing a mid-point interpolation includes:
determining an anchor vertex, which is defined within the final lookup table, as a function of the current color;
determining a first current vertex, which is defined within the final lookup table, as a function of the current color and the anchor vertex; and
determining a current intermediate color by performing a mid-point interpolation as a function of the anchor and first current vertices.
5. The method for converting a color value as set forth in claim 4 , wherein if more than one mid-point interpolation is performed, the method further includes:
determining a second current vertex, which is defined within the final lookup table, as a function of the current color, the anchor vertex, and the first current vertex; and
determining a second current intermediate color by performing a mid-point interpolation as a function of the second current vertex and one of the anchor and first current vertices.
6. A method for converting a specified color value from a first color space to a second color space, the method comprising:
identifying the specified color value in the first color space;
receiving a converted color space value from a final lookup table, the converted color space value being previously determined as a function of the specified color value and a mid-point interpolation and representing the specified color in the second color space, the receiving step including:
for a current color of interest, performing a number of mid-point interpolations, as a function of the resolution of the final lookup table, the performing a number of mid-point interpolations step including:
determining an anchor vertex, which is defined within the final lookup table, as a function of the current color;
determining a first current vertex, which is defined within the final lookup table, as a function of the current color and the anchor vertex, the steps of determining the anchor vertex and the first current vertex including:
determining a vertex, which is defined within the final lookup table, as a function of a node in the first color space having largest coordinates less than corresponding coordinates of the specified color; and
determining a current intermediate color by performing a mid-point interpolation as a function of the anchor and first current vertices; and
storing the converted color space value in a memory device.
7. A method for converting a specified color value from a first color space to a second color space, the method comprising:
identifying the specified color value in the first color space;
receiving a converted color space value from a final lookup table, the converted color space value being previously determined as a function of the specified color value and a mid-point interpolation and representing the specified color in the second color space; and if the final lookup table is less than a predefined resolution, receiving a plurality of intermediate color space conversion values from the final lookup table, the converted color space value being determined as a function of the intermediate color space conversion values; and
storing the converted color space value in a memory device.
8. The method for converting a color value as set forth in claim 7 , wherein if the predefined resolution is half the resolution of the input colors, the step of receiving the plurality of conversion values from the final lookup table includes:
receiving two conversion values from the final lookup table.
9. A method for producing a pixel value in a final color space, the method comprising:
receiving the pixel value, which is represented in an initial color space, into a processing device;
identifying a transformed pixel value, which represents the pixel value in the final color space, as a function of the pixel value and a non-iterative mid-point interpolation within a predefined lookup table, wherein operations for performing the mid-point interpolation include one or more addition operations and one or more shift operations or division operations;
producing the transformed pixel value in the final color space via an output device.
10. The method for producing a pixel value in a final color space as set forth in claim 9 , wherein the producing step includes:
producing the transformed pixel in a xerographic environment.
11. The method for producing a pixel value in a final color space as set forth in claim 9 , wherein the producing step includes:
producing the transformed pixel via a digital output device.
12. The method for producing a pixel value in a final color space as set forth in claim 9 , wherein the identifying step includes:
performing a number of mid-point interpolations as a function of a resolution of the lookup table.
13. The method for producing a pixel value in a final color space as set forth in claim 9 , wherein the identifying step includes:
determining an anchor vertex, which is defined within the lookup table, as a function of the pixel value;
determining a current vertex, which is defined within the lookup table, as a function of the pixel value and the anchor vertex; and
determining a current intermediate pixel value by performing the mid-point interpolation as a function of the anchor and current vertices.
14. The method for producing a pixel value in a final color space as set forth in claim 13 , wherein the identifying step further includes:
determining a second current vertex, which is defined within the final lookup table, as a function of the current color, the anchor vertex, and the current vertex; and
determining a second current intermediate color by performing a mid-point interpolation as a function of the second current vertex and one of the anchor and first current vertices.
15. A system for producing a specified color in a final color space, comprising:
means for identifying the specified color value in a first color space;
a processing device for receiving a converted color space value from a lookup table, the converted color space value being previously determined as a function of the specified color value and a non-iterative mid-point interpolation and representing the specified color in the final color space, wherein operations for performing the mid-point interpolation include one or more addition operations and one or more shift operations or division operations;
a memory device for storing the converted color space value; and
an output device for producing the converted color space value.
16. The system for producing a pixel value in a final color space as set forth in claim 15 , wherein the converted color space values are previously stored in the lookup table.
17. The system for producing a pixel value in a final color space as set forth in claim 15 , wherein the output device is a xerographic output device.
18. The system for producing a pixel value in a final color space as set forth in claim 15 , wherein the output device is a digital output device.
19. The system for producing a pixel value in a final color space as set forth in claim 15 , wherein the processing device performs the mid-point interpolation as a function of an anchor vertex, which is defined in the lookup table as a function of the pixel value, and a first current vertex which is defined in the lookup table as a function of the pixel value and the anchor vertex, a current intermediate pixel value being determined via the mid-point interpolation as a function of the anchor and first current vertices.
20. The system for producing a pixel value in a final color space as set forth in claim 19 , wherein the processing device performs an additional mid-point interpolation as a function of a second current vertex, which is defined within the lookup table as a function of the current pixel value, the anchor vertex, and the first current vertex; a second current intermediate pixel value being determined via the mid-point interpolation as a function of the second current vertex and one of the anchor vertex and the first current vertex.