IP Library Granted Patent US 12675656
Granted Patent B2
US 12675656 · App. 18/822,371 · Granted Jul 7, 2026

Generating and reading optical codes with variable density to adapt for visual quality and reliability

Inventors: Brett A. Bradley (Portland, OR); Vojtech Holub (Portland, OR); Hugh L. Brunk (Portland, OR)
Assignee: Digimarc Corporation
G06K7/1443G06K7/1447G06K7/1465G06K7/1473
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 12675656
App. No.
18/822,371
Granted
Jul 7, 2026
Kind
B2
Abstract

The parameters of an optical code are optimized to achieve improved signal robustness, reliability, capacity and/or visual quality. An optimization program can determine spatial density, dot distance, dot size and signal component priority to optimize robustness. An optical code generator employs these parameters to produce an optical code at the desired spatial density and robustness. The optical code is merged into a host image, such as imagery, text and graphics of a package or label, or it may be printed by itself, e.g., on an otherwise blank label or carton. A great number of other features and arrangements are also detailed.

Claims (35)

1 . A method of decoding an M-bit payload represented by an optical code depicted in an image, including the acts:

determining geometric registration of the optical code in the image, by reference to a reference signal represented by dots within the optical code, said dots corresponding to extrema in a summed ensemble of plural spatial domain sine waves;

processing data from N locations in the image to determine whether a dot is present at each of said locations, while not similarly processing data from locations between said N locations, where N>M;

producing a P-bit string by reference to presence or absence of the dot at each of said N locations; and

applying said P-bit string to an error-correcting decoder to yield M decoded bits;

wherein by ignoring data from locations between said N locations, misinterpretation of blank areas as data is reduced.

2 . The method of claim 1 in which said processing includes processing data from the N locations in the image to determine whether a dot is present at each of said locations, while not similarly processing data from all locations between said N locations.

3 . The method of claim 1 in which P equals N.

4 . The method of claim 1 in which P equals half of N.

5 . The method of claim 1 in which P equals 1024 and N equals 1024 or 2048.

6 . The method of claim 1 in which M is less than 200.

7 . A non-transitory computer readable medium comprising instructions stored therein that, when executed by one or more processor cores, cause said one or more processor cores to perform the following:

determining geometric registration of an optical code depicted in an image, by reference to a reference signal represented by dots within the optical code, said dots corresponding to extrema in a summed ensemble of plural spatial domain sine waves, in which the optical code represents an M-bit payload, where M is a positive integer;

processing data from N locations in the image to determine whether a dot is present at each of said N locations, while not similarly processing data from locations between said N locations, where N>M and N is a positive integer;

producing a P-bit string by reference to presence or absence of the dot at each of said N locations; and

applying the P-bit string to an error-correcting decoder to yield M decoded bits; wherein by ignoring data from locations between said N locations, misinterpretation of blank areas as data is reduced.

8 . The non-transitory computer readable medium of claim 7 in which said processing includes processing data from the N locations in the image to determine whether a dot is present at each of the N locations, while not similarly processing data from all locations between the N locations.

9 . The non-transitory computer readable medium of claim 7 in which P equals N.

10 . The non-transitory computer readable medium of claim 7 in which P equals half of N.

11 . The non-transitory computer readable medium of claim 7 in which P equals 1024 and N equals 1024 or 2048.

12 . The non-transitory computer readable medium of claim 7 in which M is less than 200.

13 . A system comprising:

an input to receive an image depicting an optical code, the optical code representing an M-bit payload, where M is a positive integer;

one or more processor cores configured for:

determining geometric registration of the optical code in the image, by reference to a reference signal represented by dots within the optical code, said dots corresponding to extrema in a summed ensemble of plural spatial domain sine waves;

processing data from N locations in the image to determine whether a dot is present at each of the N locations, while not similarly processing data from locations between the N locations, where N>M and N is a positive integer;

producing a P-bit string by reference to presence or absence of the dot at each of the N locations; and

applying the P-bit string to an error-correcting decoder to yield M decoded bits;

wherein by ignoring data from locations between said N locations, misinterpretation of blank areas as data is reduced; and

an output for outputting the M decoded bits.

14 . The system of claim 13 in which said processing includes processing data from the N locations in the image to determine whether a dot is present at each of the N locations, while not similarly processing data from all locations between the N locations.

15 . The system of claim 13 in which P equals N.

16 . The system of claim 13 in which P equals half of N.

17 . The system of claim 13 in which P equals 1024 and N equals 1024 or 2048.

18 . The system of claim 13 in which M is less than 200.