IP Library Granted Patent US 7,623,266
Granted Patent B2
US 7,623,266 · App. 11/399,972 · Granted Nov 24, 2009

Gamut mapping with saturation intent

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,623,266
App. No.
11/399,972
Granted
Nov 24, 2009
Kind
B2
Abstract

Techniques for use in gamut mapping processes are presented, including a method for mapping cusp points using hue wheels to obtain a source relative hue angle, and interpolating a lightness value at the source point hue. A maximum chroma value is determined at the source hue and the interpolated lightness, thus defining a source primary cusp point. A primary cusp point for a second color gamut is similarly obtained, and the source primary cusp point is mapped to the destination primary cusp point using a shear mapping technique. Another technique includes performing lightness compression by applying a chroma dependency factor and either a first or second factor, depending on a comparison of a lightness values of a destination point and a second point. Another technique involves performing chroma expansion by comparing chroma extents of source and destination points, and adjusting the chroma of the destination point based on the comparison.

Claims (64)

1. A method for mapping cusp points for use in a gamut mapping process, the method comprising:

inputting a source point having a source hue value in a first color gamut;

obtaining a source hue wheel and a destination hue wheel, each comprising known hue angles for each of primary and secondary color components of the first color gamut and a second color gamut, respectively;

determining a relative position of the source point on the source hue wheel between the primary hue nearest to the source point in the source hue wheel and the secondary hue nearest to the source point in the source hue wheel;

determining a first lightness value for the primary hue nearest to the source point in the source hue wheel and a second lightness value for the secondary hue nearest to the source point in the source hue wheel;

interpolating, utilizing the relative position of the source point as a factor, between the first lightness value and the second lightness value to obtain a first interpolated source lightness value at the hue value of the source point;

determining a first maximum chroma value from the boundary of the first color gamut at the first interpolated source lightness value and the hue value of the source point, wherein the first interpolated source lightness value, the hue value of the source point, and the first maximum chroma value define a source primary cusp point;

determining, in the destination hue wheel, a corresponding relative position between a destination primary hue on the destination hue wheel and a destination secondary hue on the destination hue wheel, corresponding, respectively, to the relative position of the source point on the source hue wheel between the primary hue nearest to the source point in the source hue wheel and the secondary hue nearest to the source point in the source hue wheel, the corresponding relative hue position on the destination hue wheel having a destination hue value in the destination hue wheel;

determining a first destination lightness value for the destination primary hue and a second destination lightness value for the destination secondary hue;

interpolating, utilizing the corresponding relative position as a factor, between the first destination lightness value and the second destination lightness value to obtain a first interpolated destination lightness value at the destination hue value;

determining a first maximum destination chroma value from the boundary of the second gamut at the first interpolated destination lightness value and the destination hue value, wherein the first interpolated destination lightness value, the destination hue value, and the first maximum destination chroma value define a destination primary cusp point;

mapping the source primary cusp point to the destination primary cusp point using a shear mapping technique, and

storing the mapping of the source primary cusp point to the destination primary cusp point in a memory.

2. The method of claim 1 , further comprising:

determining a chroma dependency factor based on a chroma value of a destination point and a chroma value of the destination primary cusp point;

determining, if a lightness value of the destination point is greater than a lightness value of the destination primary cusp point, a first factor based on a maximum lightness value of the second color gamut, and determining a new lightness value of the destination point based on the chroma dependency factor and the first factor; and

determining, if the lightness value of the destination point is not greater then the lightness value of the destination primary cusp point, a second factor based on a minimum lightness value of the second color gamut, and determining the new lightness value of the destination point based on the chroma dependency factor and the second factor.

3. The method of claim 1 , further comprising:

determining a chroma extent at a lightness value and the hue value of the source point in the first color gamut;

determining a chroma extent at a lightness value and the hue value of a destination point in the second color gamut, the destination point having a chroma value;

comparing the chroma extent at the lightness value and the hue value of the source point to the chroma extent at the lightness value and the hue value of the destination point; and

adjusting, if the chroma extent of the destination point is greater than the chroma extent of the source point, the destination point chroma value.

4. A color management module stored on a computer-readable medium that maps cusp points for use in a gamut mapping process,

wherein the mapping of cusp points includes the steps of:

inputting a source point having a source hue value in a first color gamut;

obtaining a source hue wheel and a destination hue wheel, each comprising known hue angles for each of primary and secondary color components of the first color gamut and a second color gamut, respectively;

determining a relative position of the source point on the source hue wheel between the primary hue nearest to the source point in the source hue wheel and the secondary hue nearest to the source point in the source hue wheel;

determining a first lightness value for the primary hue nearest to the source point in the source hue wheel and a second lightness value for the secondary hue nearest to the source point in the source hue wheel;

interpolating, utilizing the relative position of the source point as a factor, between the first lightness value and the second lightness value to obtain a first interpolated source lightness value at the hue value of the source point;

determining a first maximum chroma value from the boundary of the first color gamut at the first interpolated source lightness value and the hue value of the source point, wherein the first interpolated source lightness value, the hue value of the source point, and the first maximum chroma value define a source primary cusp point;

determining, in the destination hue wheel, a corresponding relative position between a destination primary hue on the destination hue wheel and a destination secondary hue on the destination hue wheel, corresponding, respectively, to the relative position of the source point on the source hue wheel between the primary hue nearest to the source point in the source hue wheel and the secondary hue nearest to the source point in the source hue wheel, the corresponding relative hue position on the destination hue wheel having a destination hue value in the destination hue wheel;

determining a first destination lightness value for the destination primary hue and a second destination lightness value for the destination secondary hue;

interpolating, utilizing the corresponding relative position as a factor, between the first destination lightness value and the second destination lightness value to obtain a first interpolated destination lightness value at the destination hue value;

determining a first maximum destination chroma value from the boundary of the second gamut at the first interpolated destination lightness value and the destination hue value, wherein the first interpolated destination lightness value, the destination hue value, and the first maximum destination chroma value define a destination primary cusp point;

mapping the source primary cusp point to the destination primary cusp point using a shear mapping technique, and

storing the mapping of the source primary cusp point to the destination primary cusp point in a memory.

5. A computer-readable medium storing a computer-executable program, the computer-executable program for mapping cusp points for use in a gamut mapping process, and the computer-executable program executable to perform the steps of:

inputting a source point having a source hue value in a first color gamut;

obtaining a source hue wheel and a destination hue wheel, each comprising known hue angles for each of primary and secondary color components of the first color gamut and a second color gamut, respectively;

determining a relative position of the source point on the source hue wheel between the primary hue nearest to the source point in the source hue wheel and the secondary hue nearest to the source point in the source hue wheel;

determining a first lightness value for the primary hue nearest to the source point in the source hue wheel and a second lightness value for the secondary hue nearest to the source point in the source hue wheel;

interpolating, utilizing the relative position of the source point as a factor, between the first lightness value and the second lightness value to obtain a first interpolated source lightness value at the hue value of the source point;

determining a first maximum chroma value from the boundary of the first color gamut at the first interpolated source lightness value and the hue value of the source point, wherein the first interpolated source lightness value, the hue value of the source point, and the first maximum chroma value define a source primary cusp point;

determining, in the destination hue wheel, a corresponding relative position between a destination primary hue on the destination hue wheel and a destination secondary hue on the destination hue wheel, corresponding, respectively, to the relative position of the source point on the source hue wheel between the primary hue nearest to the source point in the source hue wheel and the secondary hue nearest to the source point in the source hue wheel, the corresponding relative hue position on the destination hue wheel having a destination hue value in the destination hue wheel;

determining a first destination lightness value for the destination primary hue and a second destination lightness value for the destination secondary hue;

interpolating, utilizing the corresponding relative position as a factor, between the first destination lightness value and the second destination lightness value to obtain a first interpolated destination lightness value at the destination hue value;

determining a first maximum destination chroma value from the boundary of the second gamut at the first interpolated destination lightness value and the destination hue value, wherein the first interpolated destination lightness value, the destination hue value, and the first maximum destination chroma value define a destination primary cusp point;

mapping the source primary cusp point to the destination primary cusp point using a shear mapping technique, and

storing the mapping of the source primary cusp point to the destination primary cusp point in a memory.

6. An apparatus for mapping cusp points for use in a gamut mapping process, the apparatus comprising:

a memory for storing a program; and

a processor for executing the program to perform the steps of:

inputting a source point having a source hue value in a first color gamut;

obtaining a source hue wheel and a destination hue wheel, each comprising known hue angles for each of primary and secondary color components of the first color gamut and a second color gamut, respectively;

determining a relative position of the source point on the source hue wheel between the primary hue nearest to the source point in the source hue wheel and the secondary hue nearest to the source point in the source hue wheel;

determining a first lightness value for the primary hue nearest to the source point in the source hue wheel and a second lightness value for the secondary hue nearest to the source point in the source hue wheel;

interpolating, utilizing the relative position of the source point as a factor, between the first lightness value and the second lightness value to obtain a first interpolated source lightness value at the hue value of the source point;

determining a first maximum chroma value from the boundary of the first color gamut at the first interpolated source lightness value and the hue value of the source point, wherein the first interpolated source lightness value, the hue value of the source point, and the first maximum chroma value define a source primary cusp point;

determining, in the destination hue wheel, a corresponding relative position between a destination primary hue on the destination hue wheel and a destination secondary hue on the destination hue wheel, corresponding, respectively, to the relative position of the source point on the source hue wheel between the primary hue nearest to the source point in the source hue wheel and the secondary hue nearest to the source point in the source hue wheel, the corresponding relative hue position on the destination hue wheel having a destination hue value in the destination hue wheel;

determining a first destination lightness value for the destination primary hue and a second destination lightness value for the destination secondary hue;

interpolating, utilizing the corresponding relative position as a factor, between the first destination lightness value and the second destination lightness value to obtain a first interpolated destination lightness value at the destination hue value;

determining a first maximum destination chroma value from the boundary of the second gamut at the first interpolated destination lightness value and the destination hue value, wherein the first interpolated destination lightness value, the destination hue value, and the first maximum destination chroma value define a destination primary cusp point;

mapping the source primary cusp point to the destination primary cusp point using a shear mapping technique, and

storing the mapping of the source primary cusp point to the destination primary cusp point in the memory.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2014
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 034542/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 7, 2008
From: CANON KABUSHIKI KAISHA
To: CANON KABUSHIKI KAISHA; MICROSOFT CORPORATION
Reel/Frame 021379/0753 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 7, 2006
From: SLOAN, ROCKLIN J.
To: CANON KABUSHIKI KAISHA
Reel/Frame 017771/0542 →