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

US12079684B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-12079684-B2
Application numberUS-202117372179-A
CountryUS
Kind codeB2
Filing dateJul 9, 2021
Priority dateNov 7, 2017
Publication dateSep 3, 2024
Grant dateSep 3, 2024

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

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.

First claim

Opening claim text (preview).

The invention claimed is: 1. A method for decoding a sparse code tile that includes marks, positioned at a subset of locations within a regular array of locations, expressing a plural-bit message, and expressing a reference signal to aid in identifying said regular array of locations, said regular array of locations numbering Q locations, the method comprising the acts: receiving, at a computer system, image data depicting a paper or plastic substrate of a packaging or label material, said substrate including the sparse code tile; said computer system; (a) identifying the regular array of locations in said captured imagery using the reference signal, said identifying yielding an identified regular array; (b) examining image data for marks only at a subset of N predetermined locations, irregularly spaced in said regular array of locations where marks are expected to be located; producing a bit string from marks found at said N predetermined locations; and providing the bit string as input to an error-correcting decoder; and (c) said error-correcting decoder transforming the bit string into an M bit payload message, where 20≤M≤100; wherein M<N<Q, and wherein a majority of said Q locations in the identified regular array of locations are disregarded in producing said bit string that is input to the error-correcting decoder. 2. A method of decoding an M-bit payload represented by an optical code depicted in an image, the optical code comprising marks positioned at a subset of array locations within a regular 2D lattice array of locations in the image, the method including the acts: obtaining, at a computer system, image data depicting a paper or plastic substrate of a packaging or label material, said substrate including the optical code, said computer system: (a) determining geometric registration of the optical code depicted in the image data, by reference to reference spatial frequencies represented by marks within the optical code, said reference spatial frequencies including components that are too high in spatial frequency to be perceptible to humans from a distance of 18 inches with illumination of 85 foot-candles, due to human contrast sensitivity; (b) processing data from a subset of N predetermined, irregularly-spaced array locations where marks are expected to be located within said regular 2D lattice array of locations in the image data, to determine whether a mark is present at each of said N predetermined, irregularly-spaced array locations, while not processing data from array locations between said N predetermined, iregularly-spaced array locations to determine whether a mark is present, where N>M; (c) producing a P-bit string by reference to a presence or an absence of the mark at said N predetermined, iregularly-spaced array locations; and (d) applying said P-bit string to an error-correcting decoder to yield M<P decoded bits; wherein by ignoring data from array locations between said N predetermined, iregularly-spaced array locations, sources of error are minimized. 3. The method of claim 2 that includes determining geometric registration of the optical code in the image data by reference to a reference signal represented by first marks that correspond to extrema in a summed ensemble of plural spatial domain sine waves. 4. The method of claim 2 in which P equals N. 5. The method of claim 2 in which P equals half of N. 6. The method of claim 2 in which P equals 1024 and N equals 1024 or 2048. 7. The method of claim 3 wherein all of said marks within the optical code are said first marks. 8. A method of processing imagery depicting plural markings at respective locations, the method comprising the acts: obtaining, at a computer system, imagery depicting a paper or plastic substrate of a packaging or label material, said substrate including plural the markings, said computer system: (a) identifying, by stored information or by computation, a first set of at least 600 irregularly-spaced candidate marking locations within the imagery where marks are expected to be located; and (b) error-correction decoding a plural-bit payload from the imagery, by reference to markings only at said first set of at least 600 irregularly-spaced candidate marking locations; wherein said error-correction decoding ignores a second set of locations in the imagery, said second set of locations having no location in common with the first set of irregularly-spaced candidate marking locations, said ignoring thereby avoiding a source of noise. 9. The method of claim 8 in which the identifying act comprises: determining a type of machine-readable indicia depicted in the imagery, based on said plural markings; and identifying, based on said determined type of machine-readable indicia, the first set of irregularly-spaced candidate marking locations within the imagery. 10. The method of claim 9 in which the identifying act further includes: transforming the imagery to a spatial frequency domain; determining, from signal peaks in said spatial frequency domain, said type of machine-readable indicia depicted in the imagery. 11. The method of claim 8 in which the identifying comprises recalling said first set of at least 600 irregularly-spaced candidate marking locations from a memory. 12. The method of claim 8 in which said first set of at least 600 irregularly-spaced candidate marking locations are positioned at points in a regular 2D lattice of points, but are irregularly-spaced within said lattice. 13. The method of claim 8 in which a third set of locations in the imagery are all marked, said third set of locations having no location in common with either the first or second sets of locations. 14. The method of claim 1 that includes inputting said P bit string to a Viterbi error-correcting decoder, said Viterbi error-correcting decoder transforming the P bit string into an M bit payload message. 15. The method of claim 1 in which said number P of locations in said regular array of locations numbers is 16,384 locations. 16. The method of claim 1 in which N is 15% or less of P. 17. The method of claim 1 wherein M≥47. 18. The method of claim 14 that includes controlling a point of sale terminal in accordance with the M bit payload message, to charge a shopper a fee based on said M bit payload message. 19. The method of claim 2 in which N is at least 1100. 20. The method of claim 2 in which obtaining said image data comprises obtaining with a digital camera or scanner.

Assignees

Inventors

Classifications

  • extracting optical codes from image or text carrying said optical code · CPC title

  • error correction · CPC title

  • using several successive scans of the optical code · CPC title

  • G06K7/1443Primary

    locating of the code in an image · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US12079684B2 cover?
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 opti…
Who is the assignee on this patent?
Digimarc Corp
What technology area does this patent fall under?
Primary CPC classification G06K7/1443. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Sep 03 2024 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 12 related publications on this page (citations in our corpus or others sharing the same primary CPC).