Generating and reading optical codes with variable density to adapt for visual quality and reliability
AssigneeDigimarc Corporation
InventorsBrett A. Bradley, Vojtech Holub, Hugh L. Brunk
Life of this patent
Estimating the term…
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.
Claims18
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.
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.
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.
Dependencies are inferred from the claim text.