IP Library Granted Patent US 11,568,165
Granted Patent B1
US 11,568,165 · App. 16/849,288 · Granted Jan 31, 2023

Methods and arrangements for optical code classification

Inventors: Adnan M. Alattar (Tigard, OR); Vojtech Holub (Lafayette, CO)
Assignee: Digimarc Corporation
G06K7/1447G06K7/1417G06K7/1434G06T1/0021G06T1/0092G06T2201/005
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,568,165
App. No.
16/849,288
Granted
Jan 31, 2023
Kind
B1
Abstract

An optical code reader classifies a code depicted in input imagery, so that appropriate decoding actions can be invoked. This classification may identify, e.g., (a) whether the code is of a continuous tone or sparse mark variety, (b) which one of different reference signals it includes, and (c) which one of different protocols is used in expressing reference and payload signal components of the code. A great variety of other features and technologies are detailed as well.

Claims (27)

1. A method of decoding a payload from imagery depicting a sparse indicia, the sparse indicia comprising a 2D array of locations, some of which are marked and some of which are unmarked, wherein a first set of F locations are marked to indicate locations of reference signal extrema, and a second, different set of V locations are marked, or not, based on whether corresponding elements of a binary signature data string have first or second values, the method comprising the acts:

identifying an ordered set of locations {L1, L2, L3, L4, L5, L6, L7, L8 . . . } in the depicted indicia, said set including said first set of F locations grouped together and said second set of V locations grouped together;

for each location LP in said ordered set of locations, determining an accumulated-dot-contribution value KLP of the locations in the range of locations L1, L2, . . . LP, wherein each location in said set of ordered locations has a cumulative value associated therewith, thereby yielding a data series KL1, KL2, KL3 . . . ; and

identifying, from said data series, which locations in said set of ordered locations form said set of F locations, by discerning a knee point in said series;

wherein, in decoding the payload from the depicted sparse indicia, a decoder can ignore markings at said identified locations, since they are recognized as indicating locations of reference signal extrema rather than corresponding to elements of the binary signature data string, thereby improving decoding accuracy.

2. The method of claim 1 in which the act of identifying the ordered set of locations comprises sorting locations by associated reference signal value.

3. The method of claim 1 that further includes identifying, from said data series, which locations in said set of ordered locations form said set of V locations, by discerning a second knee point in said series.

4. The method of claim 1 in which the identifying act further includes determining a series of slopes from said data series, and identifying two consecutive slopes in said series with a greatest difference therebetween.

5. The method of claim 1 in which the identifying act further includes determining a set of second derivative values from said data series, and identifying a minimum in said set of second derivative values.

6. A system for decoding a payload from imagery depicting a sparse indicia, the sparse indicia comprising a 2D array of locations, some of which are marked and some of which are unmarked, wherein a first set of F locations are marked to indicate locations of reference signal extrema, and a second, different set of V locations are marked, or not, based on whether corresponding elements of a binary signature data string have first or second values, the system including a processor and a memory, the memory containing instructions that configure the processor to perform acts including:

identifying an ordered set of locations {L1, L2, L3, L4, L5, L6, L7, L8 . . . } in the depicted indicia, said set including said first set of F locations grouped together and said second set of V locations grouped together;

for each location LP in said ordered set of locations, determining an accumulated-dot-contribution value KLP of the locations in the range of locations L1, L2, . . . LP, wherein each location in said set of ordered locations has a cumulative value associated therewith, thereby yielding a data series KL1, KL2, KL3 . . . ; and

identifying, from said data series, which locations in said set of ordered locations form said set of F locations, by discerning a knee point in said series;

wherein markings at said identified F locations can be ignored, since they are recognized as indicating locations of reference signal extrema rather than corresponding to elements of the binary signature data string, thereby improving decoding accuracy.

7. The system of claim 6 in which said memory instructions configure the processor to identify the ordered set of locations by acts including sorting locations by associated reference signal value.

8. The system of claim 6 in which said memory instructions configure the processor to identify, from said data series, which locations in said set of ordered locations form said set of V locations, by discerning a second knee point in said series.

9. The system of claim 6 in which said memory instructions configure the processor to identify a series of slopes from said data series, and identify two consecutive slopes in said series with a greatest difference therebetween.

10. The system of claim 6 in which said memory instructions configure the processor to determine a set of second derivative values from said data series, and identify a minimum in said set of second derivative values.

11. A non-transitory computer readable medium containing instructions for configuring a processor to decode a payload from imagery depicting a sparse indicia, the sparse indicia comprising a 2D array of locations, some of which are marked and some of which are unmarked, wherein a first set of F locations are marked to indicate locations of reference signal extrema, and a second, different set of V locations are marked, or not, based on whether corresponding elements of a binary signature data string have first or second values, said instructions including instructions to perform acts including:

identifying an ordered set of locations {L1, L2, L3, L4, L5, L6, L7, L8 . . . } in the depicted indicia, said set including said first set of F locations grouped together and said second set of V locations grouped together;

for each location LP in said ordered set of locations, determining an accumulated-dot-contribution value KLP of the locations in the range of locations L1, L2, . . . LP, wherein each location in said set of ordered locations has a cumulative value associated therewith, thereby yielding a data series KL1, KL2, KL3 . . . ; and

identifying, from said data series, which locations in said set of ordered locations form said set of F locations, by discerning a knee point in said series;

wherein markings at said identified F locations can be ignored, since they are recognized as indicating locations of reference signal extrema rather than corresponding to elements of the binary signature data string, thereby improving decoding accuracy.

12. The computer readable medium of claim 11 in which said instructions configure the processor to identify the ordered set of locations by acts including sorting locations by associated reference signal value.

13. The computer readable medium of claim 11 in which said computer readable medium instructions configure the processor to identify, from said data series, which locations in said set of ordered locations form said set of V locations, by discerning a second knee point in said series.

14. The computer readable medium of claim 11 in which said computer readable medium instructions configure the processor to identify a series of slopes from said data series, and identify two consecutive slopes in said series with a greatest difference therebetween.

15. The computer readable medium of claim 11 in which said instructions configure the processor to determine a set of second derivative values from said data series, and identify a minimum in said set of second derivative values.

Assignments (3)
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 Nov 24, 2020
From: ALATTAR, ADNAN M.; EVANS, ERIC D.; HOLUB, VOJTECH; ALATTAR, OSAMA M.; BRADLEY, BRETT A.
To: DIGIMARC CORPORATION
Reel/Frame 054462/0737 →
Continuity (2)
Provisional Application 62893011 · Aug 28, 2019
Provisional Application 62834260 · Apr 15, 2019
Cited By (1)
US 12,333,624