IP Library Granted Patent US 7,215,440
Granted Patent B2
US 7,215,440 · App. 09/750,552 · Granted May 8, 2007

Fast interpolation of large color lookup tables

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,215,440
App. No.
09/750,552
Granted
May 8, 2007
Kind
B2
Abstract

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.

Claims (57)

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.

Assignments (2)
RELEASE OF SECURITY INTEREST Recorded Sep 7, 2022
From: JPMORGAN CHASE BANK, N.A. AS SUCCESSOR-IN-INTEREST ADMINISTRATIVE AGENT AND COLLATERAL AGENT TO BANK ONE, N.A.
To: XEROX CORPORATION
Reel/Frame 061388/0388 →
RELEASE OF SECURITY INTEREST Recorded Sep 7, 2022
From: JPMORGAN CHASE BANK, N.A. AS SUCCESSOR-IN-INTEREST ADMINISTRATIVE AGENT AND COLLATERAL AGENT TO JPMORGAN CHASE BANK
To: XEROX CORPORATION
Reel/Frame 066728/0193 →