IP Library Granted Patent US 11,188,996
Granted Patent B2
US 11,188,996 · App. 17/067,717 · Granted Nov 30, 2021

Color managed embedding system for embedding signals in color artwork

Inventor: Jerry Allen McMahan, Jr. (Beaverton, OR)
Assignee: Digimarc Corporation
G06T1/0021G01J3/462G01J3/463G06T7/90G06T11/001
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 11,188,996
App. No.
17/067,717
Granted
Nov 30, 2021
Kind
B2
Abstract

The present disclosure relates generally to signal encoding for printed objects such as product packaging, labels and hangtags. One implementation obtains a color image representing CMY color channels, and alters the color image to include an encoded signal by altering values representing CIELAB a* and b*, all the while keeping L* on or within a predetermined tolerance of a contour representing a constant value. Other implementations are provided.

Claims (38)

1. A method of encoding a signal in a color image comprising original Cyan (C), Magenta (M), Yellow (Y) by making signal changes in CIELAB a* and b* while maintaining L* within a predetermined tolerance, said method comprising:

at a color image location being changed, determining gradients of L*, a*, b* with respect to changes in the original CMY;

using determined L* gradient information to find a direction in CMY-space which moves towards a target a*, b* value while keeping L* unchanged within a predetermined tolerance;

using determined a*, b* gradient information to find a scale value for a*, b* in a determined L* gradient direction to reach the target a*, b* value;

applying the found scale value to the original CMY to yield scaled CMY, and using the scaled CMY as replacement values for the original CMY values, the scaled CMY carrying the encoded signal.

2. The method of claim 1 , further comprising, if L* has changed above the predetermined tolerance, using the a*, b* gradient information to find a direction that changes L* while keeping a*, b* unchanged within a predetermined tolerance, and using the L* gradient information to find a scale value of this change to reduce L*.

3. The method of claim 1 in which the target a*, b* value represents an a*, b* value which includes the encoded signal value for an image pixel or group of image pixels.

4. The method of claim 1 in which the color image location being changed comprises an image pixel or group of image pixels.

5. A method of encoding a signal in a color image comprising original Cyan (C), Magenta (M), Yellow (Y) by making signal changes in CIELAB a* and b* while maintaining L* within a predetermined tolerance, said method comprising:

obtaining information representing a contour representing a constant L* for different values of CMY;

at a starting location on the contour represented by an original a*, b*, determining L* gradient information to find a direction in CMY-space which moves towards a target a*, b*, the target a*, b* residing on the contour, in which the original a*, b* corresponds to the original CMY;

determining a scalar representing the distance between the original a*, b* and the target a*, b*; and

applying the determined scalar to the original CMY to yield scaled CMY, the resulting scaled CMY carrying the encoded signal.

6. The method of claim 5 further comprising correcting the scaled CMY values when L* is located off the contour.

7. A method of encoding a signal in a color image comprising original Cyan (C), Magenta (M), Yellow (Y) ink values by making signal changes in CIELAB a* and b* while maintaining L* within a predetermined tolerance, said method comprising:

for an image pixel or group of image pixels, obtaining a target a*, b* value representing the original CMY ink values modulated to include an encoded signal;

estimating gradients of L*, a*, and b* with respect to the original CMY ink values;

determining a plane in CMY-space that is orthogonal to the L* gradient, and then determining a direction vector v within this plane that points toward the target a*, b*;

determining a scalar h_target to scale v to reach the target a*, b* by estimating a change in a*, b*;

determining a minimum scalar h_max to cause any of the original CMY ink values to be either 0% or 100% values;

determining a scalar h, by the requirements: if h_target<h_max, h=h_target or if h_target>=h_max, h=h_max;

determining new ink values as original CMY ink values+h*v;

using the new ink values to represent the original CMY ink values plus an encoded signal at the image pixel or group of image pixels.

8. A non-transitory computer readable medium comprising instructions stored thereon to cause one or more multi-core processors to perform the acts of claim 7 .

9. A non-transitory computer readable medium comprising instructions stored thereon to cause one or more multi-core processors to perform the acts of claim 1 .

10. A non-transitory computer readable medium comprising instructions stored thereon to cause one or more multi-core processors to perform the acts of claim 5 .

11. An image processing method comprising:

obtaining a reflectance value representing an image pixel or group of image pixels at or around 660 nm, the image pixel representing artwork including cyan, magenta, yellow and black channels;

altering the reflectance value according to an information carrying signal, said altering yielding a target reflectance value at or around 660 nm;

changing in a first direction the cyan value of the image pixel or group of image pixels to achieve the target reflectance value, said changing yielding changed pixel color values;

evaluating the luminance (L*) of the changed pixel color values relative to the luminance (L*) of the image pixel or group of image pixels;

changing in a second direction opposite of the first direction the magenta value of the changed pixel color values to minimize a change in luminance (*L) while maintaining the target reflectance value within 0-5%.

12. A method of encoding a signal in a color image comprising:

obtaining first CIELAB L*, a*, b* values representing a color image comprising CMY channels;

generating a local approximation of a L* contour;

determining a direction along the L* contour to introduce a change to carry a signal in the color image;

determining an amount of change using a rate of change in the determined direction;

applying the determined amount to the first CIELAB L*, a*, b* values to achieve second CIELAB L*, a*, b* values, the second CIELAB new L*, a*, b* values carrying the signal.

Assignments (4)
ARTICLES OF CONVERSION Recorded Jun 19, 2026
From: DIGIMARC CORPORATION
To: DIGIMARC LLC
Reel/Frame 075863/0211 →
ARTICLES OF AMENDMENT OFTHE ARTICLES OF ORGANIZATION OF DIGIMARC LLC Recorded Jun 19, 2026
From: DIGIMARC LLC
To: DMRC LLC
Reel/Frame 075863/0266 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 22, 2021
From: MCMAHAN, JERRY ALLEN, JR.
To: DIGIMARC CORPORATION
Reel/Frame 057565/0458 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 3, 2021
From: MCMAHAN, JERRY ALLEN
To: DIGIMARC CORPORATION
Reel/Frame 057382/0269 →
Continuity (7)
Continuation In Part 16703601 · Dec 4, 2019
Provisional Application 63059774 · Jul 31, 2020
Provisional Application 63029297 · May 22, 2020
Provisional Application 63001035 · Mar 27, 2020
Provisional Application 62933042 · Nov 8, 2019
Provisional Application 62914302 · Oct 11, 2019
Related Publication 20210110505A1 · Apr 15, 2021
Cited By (3)
US 12,217,325 US 12,348,693 US 12,363,240