# US 12,217,325 B2 · Color managed embedding system for embedding signals in color artwork

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 12,217,325 B2
- Document ID: US12217325B2
- Status: Granted
- Kind: B2
- Application number: 18/496,785
- Filed: 2023-10-27
- Published: 2024-08-01
- Granted: 2025-02-04
- Earliest claimed: 2019-10-11
- Assignees: Digimarc Corporation
- Applicants: Digimarc Corporation
- Inventors: Jerry Allen McMahan, Jr.
- Web page: https://patentgrep.com/patent/US12217325B2

## CPC

- G06T 1/0021: {Image watermarking}
- G06T 1/0028: {Adaptive watermarking, e.g. Human Visual System [HVS]-based watermarking}
- G01J 3/462: {Computing operations in or between colour spaces; Colour management systems}
- G01J 3/463: {Colour matching}
- G06T 7/90: Determination of colour characteristics
- G06T 11/10: Texturing; Colouring; Generation of textures or colours (retouching, inpainting or scratch removal G06T5/77)
- H04N 1/32309: {in colour image data}
- G01J 3/50: using electric radiation detectors
- G06T: IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G01J: MEASUREMENT OF INTENSITY, VELOCITY, SPECTRAL CONTENT, POLARISATION, PHASE OR PULSE CHARACTERISTICS OF INFRARED, VISIBLE OR ULTRAVIOLET LIGHT; COLORIMETRY; RADIATION PYROMETRY (light sources F21, H01J, H01K, H05B; investigating properties of materials by optical means G01N)
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION

## 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

### Claim 1

A non-transitory computer readable medium comprising instructions stored therein that, when executed by one or more processors of a computer system, cause said computer system to perform operations comprising:
accessing a color image comprising original Cyan (C), original Magenta (M), and original Yellow (Y), collectively, original CMY;
obtaining information represent a contour representing a constant L* for different values of the original CMY;
at a starting location on the contour represented by an original CIELAB a*, b* that is associated with the original CMY, determining L* gradient information to find a direction in CMY-space which moves towards a target CIELAB a*, b*, the target CIELAB a*, b* residing on the contour;
determining a scalar representing the distance between the original CIELAB a*, b* and the target CIELAB a*, b*; and
applying the determined scalar to the original CMY to yield a scaled CMY, the scaled CMY carrying the encoded signal, thereby encoding a signal in the color image by making changes in CIELAB a* and b* while maintaining L* within a predetermined tolerance.

### Claim 2 (depends on 1)

The non-transitory computer readable medium of claim 1 further comprising instructions that, when executed by one or more processors of a computer system, cause said computer system to perform an operation comprising: correcting the scaled CMY values when L* is located off the contour.

### Claim 3

An apparatus comprising:
an input to obtain a reflectance value representing an image pixel or group of image pixels within a wavelength range, the image pixel representing artwork including a cyan value, a magenta value, and a yellow value;
means for altering the reflectance value according to an information carrying signal, said means for altering yielding a target reflectance value within the wavelength range;
means for changing, in a first direction, the cyan value to achieve the target reflectance value, said means for changing yielding changed pixel color values;
means for evaluating a luminance (L*) value of the changed pixel color values relative to a luminance (L*) value of the image pixel or group of image pixels;
means for changing, in a second direction opposite of the first direction, a magenta value of the changed pixel color values to minimize a change in luminance (*L) between the luminance (L*) value of the changed pixel color values relative to the luminance (L*) value of the image pixel or group of image pixels while maintaining the target reflectance value within 0-5%.

### Claim 4

A non-transitory computer readable medium storing instructions that, when executed by one or more processors of a computer system, cause said computer system to perform operations comprising:
obtaining original CIELAB L*, a*, b* values representing a color image comprising Cyan (C), Magenta (M) and Yellow (Y) channels;
generating a L* contour;
determining a direction along the L* contour to introduce a change to carry a signal in the color image, said determining a direction yielding a determined direction;
determining an amount of change in the determined direction, said determining an amount yielding a determined amount;
applying the determined amount to achieve new CIELAB L*, a*, b* values, the new CIELAB L*, a*, b* values carrying the signal.

### Claim 5 (depends on 4)

The non-transitory computer readable medium of claim 4 in which said determining an amount of change utilizes a rate of change in the determined direction.

### Claim 6 (depends on 4)

The non-transitory computer readable medium of claim 4 in which said generating generates a local approximation of the L* contour.

### Claim 7 (depends on 4)

The non-transitory computer readable medium of claim 4 further comprising instructions that, when executed by one or more processors of a computer system, cause said computer system to perform an operation comprising: substituting the new CIELAB L*, a*, b* values for the original CIELAB L*, a*, b* values in the color image to carry the signal.

### Claim 8 (depends on 3)

The apparatus of claim 3 in which the wavelength range includes wavelengths at or around 660 nm.

### Claim 9 (depends on 3)

The apparatus of claim 3 in which the image pixel representing artwork includes a cyan value, a magenta value, and a yellow value and a black value.

### Claim 10

An apparatus comprising:
memory for storing original CIELAB L*, a*, b* values representing a color image comprising Cyan (C), Magenta (M) and Yellow (Y) channels;
means for producing a L* contour;
means for determining a direction along the L* contour to introduce a change to carry a signal in the color image, said means for determining a direction yielding a determined direction;
means for establishing an amount of change in the determined direction, said means for establishing an amount yielding an established amount;
means for producing new CIELAB L*, a*, b* values by utilizing the established amount, the new CIELAB L*, a*, b* values carrying the signal.

### Claim 11 (depends on 10)

The apparatus of claim 10 in which said means for establishing an amount of change utilizes a rate of change in the determined direction.

### Claim 12 (depends on 10)

The apparatus of claim 10 in which said means for producing produces a local approximation of the L* contour.

### Claim 13 (depends on 10)

The apparatus of claim 10 further comprising:
means for utilizing the new CIELAB L*, a*, b* values instead of the original CIELAB L*, a*, b* values in the color image to carry the signal.
