← Back to Patent Explorer
US5786907A Expired / Lapsed US ⏱️ 0.0 years remaining

High speed color compensation system

Assignee: International Business Machines Corp
•
Filing: 1994-12-20
•
Granted: 1998-07-28
•
Expires: 2014-12-20
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A color compensation system maps and translates between colors and colorants with improved speed and accuracy. The invention also contemplates colorant-to-color and colorant-to-colorant translations. In one embodiment, an improved color-to-colorant map is first created by creating a multi-dimensional lattice, then dividing this lattice into sub-lattices of selected sizes. A "nominal" sub-lattice is then constructed for a given colorant. Next, that colorant is expressed as a function of color-dependent component parts, and this relationship is used to construct initial lookup tables to convert the input colors to average colorants. Then, final lookup tables are generated, one for each sub-lattice, to convert average colorants to actual colorants. The above steps are repeated for each colorant. This process effectively creates a high-speed color-to-colorant map. After the improved map is created, it is implemented in a processor, which uses the map during translation. When the processor is conducting a translation, the processor first determines the average value of a selected one of the colorants by processing its input colors with an initial lookup table. Next, the processor identifies the applicable sub-lattice for one of the colorants, and applies the lookup table of the identified sub-lattice to receive the actual colorant. After the processor repeats these steps for the remaining colorants to complete the translation, the resultant colorants may be displayed with an output device.

Inventors

  • 👤 Jeffrey Bruce Lotspiech

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-09 17:57
CPC Classifications
H; H04; H04N; H04N1/00; H04N1/46; H04N1/56; H04N1/60; H04N1/6016; H04N1/6019

Claims Analysis

Total Claims: 20
Claim 1
Independent Claim 244 words
A method of translating a color of a pixel described by a set of input values compatible with a first machine to a set of output values compatible with a second machine, comprising the steps of: receiving a pixel from the first machine, said pixel including multiple input values, each input value corresponding to a level of a primary color present in the pixel; determining an average output value corresponding to one of the output values by applying an initial lookup table constructed by receiving a multi-dimensional lattice containing an output value for each combination of input values, each output value being positioned by using its input values as multi-dimensional coordinates, dividing the lattice into multiple sub-lattices, averaging corresponding output values of the sub-lattices to produce a nominal sub-lattice, and constructing a lookup table to receive a set of input values and provide a corresponding average output value from the nominal sub-lattice; identifying one of said sub-lattices that corresponds to the input values and applying a final lookup table to the average output value to determine an actual output value, wherein said final lookup table is specific to the identified sub-lattice and functions to apply a previously established best-fit relationship between average output values and actual output values corresponding to the identified sub-lattice; repeating the determining and identifying steps for remaining ones of the set of output values; and storing the pixel in the second machine in accordance with the determined actual output values.
Claim 2
Independent Claim 244 words
A method of translating a color of a pixel described by a set of input values compatible with a first machine to a set of output values compatible with a second machine, comprising the steps of: receiving a pixel from the first machine, said pixel including multiple input values, each input value corresponding to a level of a primary color present in the pixel; determining an average output value corresponding to one of the output values by applying an initial lookup table constructed by receiving a multi-dimensional lattice containing an output value for each combination of input values, each output value being positioned by using its input values as multi-dimensional coordinates, dividing the lattice into multiple sub-lattices, averaging corresponding output values of the sub-lattices to produce a nominal sub-lattice, and constructing a lookup table to receive a set of input values and provide a corresponding average output value from the nominal sub-lattice; identifying one of said sub-lattices that corresponds to the input values and applying a final lookup table to the average output value to determine an actual output value, wherein said final lookup table is specific to the identified sub-lattice and functions to apply a previously established best-fit relationship between average output values and actual output values corresponding to the identified sub-lattice; repeating the determining and identifying steps for remaining ones of the set of output values; and storing the pixel in the second machine in accordance with the determined actual output values.
Claim 3
Dependent Claim 24 words
The method of claim 1, further comprising a step of displaying the pixel at the second machine in accordance with the actual output values.
Claim 4
Independent Claim 183 words
A method of pre-programming a digital processing apparatus to translate pixels, used by a first machine and described by a multi-component set of input values, to a pixel described by a multi-component set of output values compatible with a second machine, comprising the steps of: receiving a multi-dimensional lattice containing a set of output values for each combination of input values, each set of output values being positioned by using its input values as multi-dimensional coordinates; dividing the lattice into multiple sub-lattices; for each component of the set of output values, performing steps comprising: averaging corresponding output values of the sub-lattices to produce a nominal sub-lattice; constructing initial lookup tables to receive a set of input values and to provide a corresponding average output value from the nominal sub-lattice; and for each sub-lattice, constructing a final output table to provide an actual output value upon receipt of an average output value developing and applying a best-fit relationship between average output values and actual output values corresponding to that sub-lattice; and storing the initial and final lookup tables in memory accessible by the processor.
Claim 5
Independent Claim 183 words
A method of pre-programming a digital processing apparatus to translate pixels, used by a first machine and described by a multi-component set of input values, to a pixel described by a multi-component set of output values compatible with a second machine, comprising the steps of: receiving a multi-dimensional lattice containing a set of output values for each combination of input values, each set of output values being positioned by using its input values as multi-dimensional coordinates; dividing the lattice into multiple sub-lattices; for each component of the set of output values, performing steps comprising: averaging corresponding output values of the sub-lattices to produce a nominal sub-lattice; constructing initial lookup tables to receive a set of input values and to provide a corresponding average output value from the nominal sub-lattice; and for each sub-lattice, constructing a final output table to provide an actual output value upon receipt of an average output value developing and applying a best-fit relationship between average output values and actual output values corresponding to that sub-lattice; and storing the initial and final lookup tables in memory accessible by the processor.
Claim 6
Dependent Claim 15 words
The method of claim 3, wherein two or more of the sub-lattices overlap each other.
Claim 7
Dependent Claim 16 words
The method of claim 3, wherein the output values comprise colorants specific to the second machine.
Claim 8
Dependent Claim 16 words
The method of claim 3, wherein the input values comprise colorants specific to the first machine.
Claim 9
Dependent Claim 14 words
The method of claim 3, wherein the input output values comprise machine-independent color representations.
Claim 10
Dependent Claim 19 words
The method of claim 7, wherein the color representations are expressed as a combination of red, blue, and green.
Claim 11
Dependent Claim 35 words
The method of claim 8, wherein each color representation is expressed as a combination of integer values of red, blue, and green, each integer value having a maximum of 255 and a minimum of 0.
Claim 12
Dependent Claim 16 words
The method of claim 3, wherein the output values comprise colorants specific to the second machine.
Claim 13
Dependent Claim 18 words
The method of claim 10, wherein the colorants are expressed as a combination of cyan, magenta, and yellow.
Claim 14
Dependent Claim 26 words
The method of claim 3, wherein the initial lookup tables are constructed using functional approximation techniques to describe average output values in terms of input values.
Claim 15
Dependent Claim 27 words
The method of claim 3, wherein the final lookup tables are constructed using least squares techniques to describe actual output values in terms of average output values.
Claim 16
Dependent Claim 113 words
The method of claim 3, further comprising steps for using the digital processing apparatus to translate a pixel used by the first machine and described by the multi-component set of input values to the multi-component set of output values compatible with the second machine, comprising the steps of: receiving an input pixel described by the multi-component set of input values; identifying the sub-lattice corresponding to the input values; applying appropriate ones of the initial lookup tables to determine a set of average output values; applying final lookup tables specific to the identified sub-lattice to determine a set of actual output values; and storing the set of actual output values in the second machine.
Claim 17
Dependent Claim 190 words
A graphics conversion apparatus, for translating a color of a pixel described by a multi-component set of input values compatible with a first machine to a multi-component set of output values compatible with a second machine, comprising: a memory; a processor programmed to build color compensation tables from a multi-dimensional lattice by performing steps comprising: receiving a multi-dimensional lattice containing a set of output values for each combination of input values, each set of output values being positioned by using its input values as multi-dimensional coordinates; dividing the lattice into multiple sub-lattices; and for each component of the set of output values, performing steps comprising: averaging corresponding output values of the sub-lattices to produce a nominal sub-lattice; constructing initial lookup tables to receive a set of input values and to provide a corresponding average output value from the nominal sub-lattice; for each sub-lattice, constructing a final output table to provide an actual output value upon receipt of an average output value developing and applying a best-fit relationship between average output values and actual output values corresponding to that sub-lattice; and storing the initial and final lookup tables in the memory.
Claim 18
Dependent Claim 190 words
A graphics conversion apparatus, for translating a color of a pixel described by a multi-component set of input values compatible with a first machine to a multi-component set of output values compatible with a second machine, comprising: a memory; a processor programmed to build color compensation tables from a multi-dimensional lattice by performing steps comprising: receiving a multi-dimensional lattice containing a set of output values for each combination of input values, each set of output values being positioned by using its input values as multi-dimensional coordinates; dividing the lattice into multiple sub-lattices; and for each component of the set of output values, performing steps comprising: averaging corresponding output values of the sub-lattices to produce a nominal sub-lattice; constructing initial lookup tables to receive a set of input values and to provide a corresponding average output value from the nominal sub-lattice; for each sub-lattice, constructing a final output table to provide an actual output value upon receipt of an average output value developing and applying a best-fit relationship between average output values and actual output values corresponding to that sub-lattice; and storing the initial and final lookup tables in the memory.
Claim 19
Dependent Claim 254 words
A program storage device readable by a digital processing apparatus and tangibly embodying a program of instructions executable by the digital processing apparatus to perform method steps for processing a pixel used by a first machine for use by a second machine, said method steps comprising: receiving a pixel from the first machine, said pixel including multiple input values, each input value corresponding to a level of a primary color present in the pixel; determining an average output value corresponding to one of the output values by applying an initial lookup table constructed by receiving a multi-dimensional lattice containing an output value for each combination of input values, each output value being positioned by using its input values as multi-dimensional coordinates, dividing the lattice into multiple sub-lattices, averaging corresponding output values of the sub-lattices to produce a nominal sub-lattice, and constructing a lookup table to receive a set of input values and provide a corresponding average output value from the nominal sub-lattice; identifying one of said sub-lattices that corresponds to the input values and applying a final lookup table to the average output value to determine an actual output value, wherein said final lookup table is specific to the identified sub-lattice and functions to apply a previously established best-fit relationship between average output values and actual output values corresponding to the identified sub-lattice; repeating the determining and identifying steps for remaining ones of the set of output values; and storing the pixel in the second machine in accordance with the determined actual output values.
Claim 20
Dependent Claim 254 words
A program storage device readable by a digital processing apparatus and tangibly embodying a program of instructions executable by the digital processing apparatus to perform method steps for processing a pixel used by a first machine for use by a second machine, said method steps comprising: receiving a pixel from the first machine, said pixel including multiple input values, each input value corresponding to a level of a primary color present in the pixel; determining an average output value corresponding to one of the output values by applying an initial lookup table constructed by receiving a multi-dimensional lattice containing an output value for each combination of input values, each output value being positioned by using its input values as multi-dimensional coordinates, dividing the lattice into multiple sub-lattices, averaging corresponding output values of the sub-lattices to produce a nominal sub-lattice, and constructing a lookup table to receive a set of input values and provide a corresponding average output value from the nominal sub-lattice; identifying one of said sub-lattices that corresponds to the input values and applying a final lookup table to the average output value to determine an actual output value, wherein said final lookup table is specific to the identified sub-lattice and functions to apply a previously established best-fit relationship between average output values and actual output values corresponding to the identified sub-lattice; repeating the determining and identifying steps for remaining ones of the set of output values; and storing the pixel in the second machine in accordance with the determined actual output values.

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2001-07-27 2002-01-26 2002-07-28 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2005-07-27 2006-01-26 2006-07-28 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2009-07-27 2010-01-26 2010-07-28 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag