IP Library Granted Patent US 7,207,645
Granted Patent B2
US 7,207,645 · App. 10/818,883 · Granted Apr 24, 2007

Printer color correction

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,207,645
App. No.
10/818,883
Granted
Apr 24, 2007
Kind
B2
Abstract

Techniques are disclosed for performing color correction in a color printer. An RGB test image is printed to produce a printed calibration image. Colors in the printed calibration image are measured and compared to expected color values. A color corrector generates a printer lookup table (LUT) based on this comparison. The LUT may be generated based on models of the printer's print engine and previous LUTs. The color corrections are applied to subsequent print jobs to improve the quality of color output. Color measurement and correction may be performed using a closed-loop system contained within the printer that includes a color measurement device (such as a scanner) and a computer.

Claims (505)

1. A computer-implemented method for generating a printer tonescale correction function for use in conjunction with a printer including a print engine, the method comprising steps of:

(A) identifying a plurality of goal color values;

(B) identifying a first plurality of density values provided to the print engine to produce a first printed image;

(C) identifying a plurality of measured color values in the first printed image;

(D) selecting a plurality of weights associated with the plurality of measured color values, wherein the plurality of weights are defined according to a Gaussian weighting function that weights each of the plurality of measured color values C i based on a distance between C i and a corresponding one of the goal color values;

(E) selecting an inverse model of the print engine based on the first plurality of density values, the plurality of measured color values, and the plurality of weights; and

(F) generating the printer tonescale correction function based on the inverse model.

2. The method of claim 1 , further comprising a step of:

(G) applying the printer tonescale correction function to a digital image to produce a second plurality of density values; and

(H) providing the second plurality of density values to the print engine to produce a second printed image.

3. The method of claim 1 , wherein the weight of each of the plurality of measured color values C i is proportional to w(∥C i −P g (DU)∥,σ), wherein P g (DU) comprises the corresponding one of the plurality of goal color values, and wherein w(x,σ)=e −x 2 /σ 2 .

4. The method of claim 1 , wherein the inverse model comprises an inverse model matrix Ĝ as shown in the following equation:

Ĝ ( P g ( DU ))= YWA T ( AWA T ) −1 ,

wherein P g (DU) comprises one of the plurality of goal color values, wherein N is a number of samples in the first printed image, wherein i={1, . . . N}, wherein d i designates the ith one of the plurality of density values, wherein C i designates the ith one of the plurality of measured color values, wherein

Y

=

[

d

1

L

d

N

]

,

wherein

A

=

1

L

1

C

1

L

C

N

,

and

wherein

Y

^

=

G

(

P

g

(

DU

)

)

A

.

5. The method of claim 1 , wherein the step (D) comprises a step of selecting the plurality of weights based on the plurality of measured color values and the plurality of goal color values.

6. A device for generating a printer tonescale correction function for use in conjunction with a printer including a print engine, the device comprising:

first identification means for identifying a plurality of goal color values;

second identification means for identifying a first plurality of density values provided to the print engine to produce a first printed image;

third identification means for identifying a plurality of measured color values in the first printed image;

first selection means for selecting a plurality of weights associated with the plurality of measured color values, wherein the plurality of weights are defined according to a Gaussian weighting function that weights each of the plurality of measured color values C i based on a distance between C i and a corresponding one of the goal color values;

second selection means for selecting an inverse model of the print engine based on the first plurality of density values, the plurality of measured color values, and the plurality of weights; and

means for regenerating the printer tonescale correction function based on the inverse model.

7. The device of claim 6 , further comprising:

means for applying the printer tonescale correction function to a digital image to produce a second plurality of density values; and

means for providing the second plurality of density values to the print engine to produce a second printed image.

8. The device of claim 6 , wherein the weight of each of the plurality of measured color values C i is proportional to w(∥C i −P g (DU)∥,σ), wherein P g (DU) comprises the corresponding one of the plurality of goal color values, and wherein w(x,σ)=e −x 2 /σ 2 .

9. The device of claim 6 , wherein the inverse model comprises an inverse model matrix Ĝ as shown in the following equation:

Ĝ ( P g ( DU ))= YWA T ( AWA T ) −1 ,

wherein P g (DU) comprises one of the plurality of goal color values, wherein N is a number of samples in the first printed image, wherein i={1, . . . N}, wherein d i designates the ith one of the plurality of density values, wherein C i designates the ith one of the plurality of measured color values, wherein

Y

=

[

d

1

L

d

N

]

,

wherein

A

=

1

L

1

C

1

L

C

N

,

and

wherein

Y

^

=

G

(

P

g

(

DU

)

)

A

.

10. The device of claim 6 , wherein the first selection means comprises means for selecting the plurality of weights based on the plurality of measured color values and the plurality of goal color values.

11. A computer-implemented method for selecting a value σ for use as a weighting kernel size in a Gaussian weighting function for weighting a plurality of color samples in a printer color calibration process, the method comprising steps of:

(A) selecting initial values for variables σ l and σ h ;

(B) assigning the mean of σ l and σ h to a variable σ m ;

(C) determining whether f D (σ m )<N eff , wherein

N

eff

=

i

=

1

N

w

(

C

i

-

P

g

(

DU

)

,

σ

)

=

f

D

(

σ

)

,

wherein w(x,σ)=e −x 2 /σ 2 , wherein N is the number of the plurality of color samples, wherein C i is the ith one of the plurality of color samples, and wherein P g (DU) comprises a goal color value corresponding to an input digit D;

(D) if f D (σ m )<N eff , assigning the value of σ m to σ l ;

(E) if f D (σ m )<N eff , assigning the value of σ m to σ h ;

(F) if σ h −σ l is greater than a predetermined tolerance, returning to step (B);

(G) otherwise, selecting a value for σ based on the values of N eff , σ l , and σ h .

12. The method of claim 11 , wherein step (G) comprises a step of selecting a value for σ using the equation:

σ

(

D

)

=

σ

l

+

(

N

eff

-

f

D

(

σ

l

)

)

f

D

(

σ

h

)

-

f

D

(

σ

l

)

σ

h

-

σ

l

.

13. A device for selecting a value σ for use as a weighting kernel size in a Gaussian weighting function for weighting a plurality of color samples in a printer color calibration process, the device comprising:

means for selecting initial values for variables σ l , and σ h ;

assignment means for assigning the mean of σ l and σ h to a variable σ m ;

means for determining whether f D (σ m )<N eff , wherein

N

eff

=

i

=

1

N

w

(

C

i

-

P

g

(

DU

)

,

σ

)

=

f

D

(

σ

)

,

wherein w(x,σ)=e −x 2 /σ 2 , wherein N is the number of the plurality of color samples, wherein C i is the ith one of the plurality of color samples, and wherein P g (DU) comprises a goal color value corresponding to an input digit D;

means for assigning the value of σ m to σ l if f D (σ m )<N eff ;

means for assigning the value of σ m to σ h if f D (σ m )≧N eff ;

means for activating the assignment means if σ h −σ l is greater than a predetermined tolerance; and

selection means for selecting a value for σ based on the values of N eff , σ l , and σ h if σ h −σ l is not greater than the predetermined tolerance.

14. The device of claim 13 , wherein the selection means comprises means for selecting a value for σ using the equation:

σ

(

D

)

=

σ

l

+

(

N

eff

-

f

D

(

σ

l

)

)

f

D

(

σ

h

)

-

f

D

(

σ

l

)

σ

h

-

σ

l

.

15. A computer-implemented method for selecting a printer tonescale correction function for use in conjunction with a printer including a print engine, the method comprising steps of:

(A) selecting an estimate of an inverse model of the print engine, the estimate of the inverse model having a constant part and a variable part;

(B) evaluating and storing a value of the constant part of the estimate of the inverse model;

(C) estimating a value of the variable part of the estimate of the inverse model based on a plurality of color values measured from output produced by the print engine; and

(D) selecting the printer tonescale correction function based on the stored value of the constant part of the estimate of the inverse model and the estimated value of the variable part of the estimate of the inverse model; and

wherein C designates an output color of the print engine, wherein E −1 (C) designates the inverse model of print engine, wherein the estimate G(C 0 ) of the inverse model of the print engine is defined as:

G

(

C

0

)

[

1

C

]

,

wherein

G

(

C

0

)

=

[

E

-

1

(

C

0

)

-

E

-

1

(

C

0

)

C

C

0

E

-

1

(

C

0

)

C

]

,

wherein the first component of G(C 0 ) comprises the variable part of the estimate of the inverse model, and wherein the second component of G(C 0 ) comprises the constant part of the estimate of the inverse model.

16. A device for selecting a printer tonescale correction function for use in conjunction with a printer including a print engine, the device comprising:

means for selecting an estimate of an inverse model of the print engine, the estimate of the inverse model having a constant part and a variable part;

means for evaluating and storing a value of the constant part of the estimate of the inverse model;

means for estimating a value of the variable part of the estimate of the inverse model based on a plurality of color values measured from output produced by the print engine; and

means for selecting the printer tonescale correction function based on the stored value of the constant part of the estimate of the inverse model and the estimated value of the variable part of the estimate of the inverse model; and

wherein C designates an output color of the print engine, wherein E −1 (C) designates the inverse model of print engine, wherein the estimate G(C 0 ) of the inverse model of the print engine is defined as:

G(C 0 )[ C 1 , wherein

G ( C 0 )=[ E −1 (C 0 )−∂ E −1 ( C 0 ) C 0 /∂C ∂E −1 ( C 0 )/ ∂C],

wherein the first component of G(C 0 ) comprises the variable part of the estimate of the inverse model, and wherein the second component of G(C 0 ) comprises the constant part of the estimate of the inverse model.

17. A computer-implemented method for generating a printer tonescale correction function for use in conjunction with a printer including a print engine, the method comprising steps of:

(A) identifying a plurality of goal color values;

(B) identifying a first plurality of digits provided to the printer to produce a first printed image;

(C) identifying a first plurality of density values provided to the print engine to produce the first printed image;

(D) identifying a plurality of measured color values in the first printed image;

(E) selecting a weighting function, the weighting function having a regularization parameter that is a function of digit value;

(F) generating, based on the weighting function, a plurality of weights associated with the plurality of measured color values, wherein the plurality of weights are defined according to a Gaussian weighting function that weights each of the plurality of measured color values C i based on a distance between C i and a corresponding one of the goal color values;

(G) selecting an inverse model of the print engine based on the first plurality of density values, the plurality of measured color values, and the plurality of weights; and

(H) generating the printer tonescale correction function based on the inverse model.

18. The method of claim 17 , further comprising a step of:

(I) applying the printer tonescale correction function to a digital image to produce a second plurality of density values; and

(J) providing the second plurality of density values to the print engine to produce a second printed image.

19. The method of claim 17 , wherein the weight of each of the plurality of measured color values C i is proportional to w(∥C i −P g (DU)∥,σ), wherein P g (DU) comprises the corresponding one of the plurality of goal color values, and wherein w(x,σ)=e −x 2 /σ 2 .

20. The method of claim 17 , wherein the inverse model comprises an inverse model matrix Ĝ as shown in the following equation:

Ĝ ( P g ( DU ))= YWA T ( AWA T ) −1 ,

wherein P g (DU) comprises one of the plurality of goal color values, wherein N is a number of samples in the first printed image, wherein i={1, . . . N}, wherein d i designates the ith one of the plurality of density values, wherein C i designates the ith one of the plurality of measured color values, wherein

Y

=

[

d

1

L

d

N

]

,

wherein

A

=

1

L

1

C

1

L

C

N

,

and

wherein

Y

^

=

G

(

P

g

(

D

U

)

)

A

.

21. The method of claim 17 , wherein the step (D) comprises a step of generating the plurality of weights based on the plurality of measured color values and the plurality of goal color values.

22. A device for generating a printer tonescale correction function for use in conjunction with a printer including a print engine, the device comprising:

means for identifying a plurality of goal color values;

means for identifying a first plurality of digits provided to the printer to produce a first printed image;

means for identifying a first plurality of density values provided to the print engine to produce the first printed image;

means for identifying a plurality of measured color values in the first printed image;

means for selecting a weighting function, the weighting function having a regularization parameter that is a function of digit value;

means for generating, based on the weighting function, a plurality of weights associated with the plurality of measured color values, wherein the plurality of weights are defined according to a Gaussian weighting function that weights each of the plurality of measured color values C i based on a distance between C i and a corresponding one of the goal color values;

means for selecting an inverse model of the print engine based on the first plurality of density values, the plurality of measured color values, and the plurality of weights; and

means for generating the printer tonescale correction function based on the inverse model.

23. The device of claim 22 , further comprising:

means for applying the printer tonescale correction function to a digital image to produce a second plurality of density values; and

means for providing the second plurality of density values to the print engine to produce a second printed image.

24. The device of claim 22 , wherein the weight of each of the plurality of measured color values C i is proportional to w(∥C i −P g (DU)∥,σ), wherein P g (DU) comprises the corresponding one of the plurality of goal color values, and wherein w(x,σ)=e −x 2 /σ 2 .

25. The device of claim 22 , wherein the inverse model comprises an inverse model matrix Ĝ as shown in the following equation:

Ĝ ( P g ( DU ))= YWA T ( AWA T ) −1 ,

wherein P g (DU) comprises one of the plurality of goal color values, wherein N is a number of samples in the first printed image, wherein i={1, . . . N}, wherein d i designates the ith one of the plurality of density values, wherein C i designates the ith one of the plurality of measured color values, wherein

Y

=

[

d

1

L

d

N

]

,

wherein

A

=

1

L

1

C

1

L

C

N

,

and

wherein

Y

^

=

G

(

P

g

(

D

U

)

)

A

.

26. The device of claim 22 , wherein the means for generating comprises a step of generating the plurality of weights based on the plurality of measured color values and the plurality of goal color values.

Assignments (7)
MERGER Recorded Jun 18, 2013
From: SENSHIN CAPITAL, LLC
To: INTELLECTUAL VENTURES I LLC
Reel/Frame 030639/0279 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 27, 2008
From: POLAROID CORPORATION
To: SENSHIN CAPITAL, LLC
Reel/Frame 021040/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS Recorded Mar 25, 2008
From: JPMORGAN CHASE BANK, N.A.
To: POLAROID HOLDING COMPANY; POLAROID INTERNATIONAL HOLDING LLC; POLAROID INVESTMENT LLC; POLAROID LATIN AMERICA I CORPORATION; POLAROID NEW BEDFORD REAL ESTATE LLC; POLAROID NORWOOD REAL ESTATE LLC; POLAROID WALTHAM REAL ESTATE LLC; POLAROID CONSUMER ELECTRONICS, LLC, (FORMERLY KNOWN AS PETTERS CONSUMER ELECTRONICS, LLC); POLAROID CONSUMER ELECTRONICS INTERNATIONAL, LLC, (FORMERLY KNOWN AS PETTERS CONSUMER ELECTRONICS INTERNATIONAL, LLC); ZINK INCORPORATED; POLAROID CORPORATION; POLAROID ASIA PACIFIC LLC; POLAROID CAPITAL LLC; PLLAROID EYEWEAR I LLC
Reel/Frame 020733/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS Recorded Jul 20, 2007
From: WILMINGTON TRUST COMPANY
To: POLAROID HOLDING COMPANY; POLAROID CORPORATION; POLAROID CAPITAL LLC; POLAROID ASIA PACIFIC LLC; POLAROID EYEWEAR LLC; POLOROID INTERNATIONAL HOLDING LLC; POLAROID INVESTMENT LLC; POLAROID LATIN AMERICA I CORPORATION; POLAROID NEW BEDFORD REAL ESTATE LLC; POLAROID NORWOOD REAL ESTATE LLC; POLAROID WALTHAM REAL ESTATE LLC; PETTERS CONSUMER BRANDS, LLC; PETTERS CONSUMER BRANDS INTERNATIONAL, LLC; ZINK INCORPORATED
Reel/Frame 019699/0512 →
SECURITY AGREEMENT Recorded May 27, 2005
From: POLAROLD HOLDING COMPANY; POLAROID CORPORATION; POLAROID ASIA PACIFIC LLC; POLAROID CAPITAL LLC; POLAROID EYEWEAR I LLC; POLAROID INTERNATIONAL HOLDING LLC; POLAROID INVESTMENT LLC; POLAROID LATIN AMERICA I CORPORATION; POLAROID NEW BEDFORD REAL ESTATE LLC; POLAROID NORWOOD REAL ESTATE LLC; POLAROID WALTHAM REAL ESTATE LLC; PETTERS CONSUMER BRANDS, LLC; PETTERS CONSUMER BRANDS INTERNATIONAL, LLC; ZINK INCORPORATED
To: WILMINGTON TRUST COMPANY, AS COLLATERAL AGENT
Reel/Frame 016602/0332 →
SECURITY INTEREST Recorded May 27, 2005
From: POLAROID HOLDING COMPANY; POLAROID CORPORATION; POLAROID ASIA PACIFIC LLC; POLAROID CAPITAL LLC; POLAROID EYEWEAR ILLC; POLAROID INTERNATIONAL HOLDING LLC; POLAROID INVESTMENT LLC; POLAROID LATIN AMERICA I CORPORATION; POLAROID NEW BEDFORD REAL ESTATE LLC; POLAROID NORWOOD REAL ESTATE LLC; POLAROID WALTHAM REAL ESTATE LLC; PETTERS CONSUMER BRANDS, LLC; PETTERS CONSUMER BRANDS INTERNATIONAL, LLC; ZINK INCORPORATED
To: JPMORGAN CHASE BANK,N.A,AS ADMINISTRATIVE AGENT
Reel/Frame 016602/0603 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 6, 2004
From: SAQUIB, SUHAIL S.; BUSCH, BRIAN D.; BYBELL, DANIEL P.; DONOVAN, WILLIAM J.; LIN, FELIX J.; THORNTON, JAY E.
To: POLAROID CORPORATION
Reel/Frame 015187/0929 →
Continuity (2)
Provisional Application 6051621700 · Oct 31, 2003
Related Publication 20050093923A1 · May 5, 2005