IP Library Granted Patent US 11,954,930
Granted Patent B2
US 11,954,930 · App. 17/666,401 · Granted Apr 9, 2024

Decoding 1D-barcodes in digital capture systems

Inventors: Brett A. Bradley (Portland, OR); Tomas Filler (Beaverton, OR); Vojtech Holub (Portland, OR)
Assignee: Digimarc Corporation
G06V30/224G06F18/24G06T7/0012G06V10/42H04N19/44H04N19/90H04N19/93
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,954,930
App. No.
17/666,401
Granted
Apr 9, 2024
Kind
B2
Abstract

The present disclosure relates to advanced image signal processing technology including: i) rapid localization for machine-readable indicia including, e.g., 1-D and 2-D barcodes; and ii) barcode reading and decoders. One claim recites: an image processing method comprising: obtaining 2-dimensional (2D) image data representing a 1-dimensional (1D) barcode within a first image area; generating a plurality of scanlines across the first image area; for each of the plurality of scanlines, synchronizing the scanline, including decoding an initial set of numerical digits represented by the scanline, in which said synchronizing provides a scale estimate for the scanline; using a path decoder to decode remaining numerical digits within the scanline, the path decoder decoding multiple numerical digits in groups, in which the scale estimate is adapted as the remaining numerical digits are decoded; and providing decoded numerical digits as an identifier represented by the scanline. Of course, other combinations and claims are described within the present disclosure.

Claims (33)

1. An image processing method comprising:

obtaining 2-dimensional (2D) image data representing a 1-dimensional (1D) barcode within a first image area;

generating a plurality of scanlines across the first image area;

for each of the plurality of scanlines,

synchronizing the scanline, including decoding an initial set of numerical digits represented by the scanline, in which said synchronizing provides a scale estimate for the scanline;

using a path decoder to decode remaining numerical digits within the scanline, the path decoder decoding multiple numerical digits in groups, in which the scale estimate is adapted as the remaining numerical digits are decoded; and

providing decoded numerical digits as an identifier represented by the scanline.

2. The image processing method of claim 1 further comprising determining a mode for all scanline identifiers, and outputting an identifier with the highest mode as the 1D barcode identifier if the mode meets a predetermined threshold.

3. The image processing method of claim 1 in which the first image area is determined through a detection process comprising a classifier-based localization and an orientation classifier.

4. The image processing method of claim 1 in which the 2D image data representing a 1D barcode within the first image area comprises image data from a first frame, in which said method further comprises repeating all acts for scanlines from a seco nd image area

comprising image data from a second and subsequent frame, in which scanline identifiers must correspond between the first frame and the second and subsequent frame before a 1D barcode identifier can be validated.

5. The image processing method of claim 1 in which the path decoder is configured as a Viterbi decoder.

6. A non-transitory computer readable medium comprising instructions stored therein that when executed by one or more multi-core processors cause the one or more multi-core processors to perform:

obtaining 2-dimensional (2D) image data representing a 1-dimensional (1D) barcode within a first image area;

generating a plurality of scanlines across the first image area;

for each of the plurality of scanlines,

synchronizing the scanline, including decoding an initial set of numerical digits represented by the scanline, in which said synchronizing provides a scale estimate for the scanline;

using a path decoder to decode remaining numerical digits within the scanline, the path decoder decoding multiple numerical digits in groups, in which the scale estimate is adapted as the remaining numerical digits are decoded; and

providing decoded numerical digits as an identifier represented by the scanline.

7. The non-transitory computer readable medium of claim 6 further comprising instructions that when executed by the one or more multi-core processors cause the one or more multi-core processors to perform: determining a mode for all scanline identifiers, and outputting an identifier with the highest mode as the 1D barcode identifier if the mode meets a predetermined threshold.

8. The non-transitory computer readable medium of claim 6 in which the first image area is determined through a detection process comprising a classifier-based localization and an orientation classifier.

9. The non-transitory computer readable medium of claim 6 in which the 2D image data representing a 1D barcode within the first image area comprises image data from a first frame, further comprising instructions that when executed by the one or more multi-core processors cause the one or more multi-core processors to perform: repeating all acts for scanlines from a second image area comprising image data from a second and subsequent frame, in which scanline identifiers must correspond between the first frame and the second and subsequent frame before a 1D barcode identifier can be validated.

10. The non-transitory computer readable medium of claim 6 in which the path decoder is configured as a Viterbi decoder.

11. An image processing apparatus comprising:

an input to obtain 2-dimensional (2D) image data representing a 1-dimensional (1D) barcode within a first image area;

means for generating a plurality of scanlines across the first image area;

means for synchronizing for each of the plurality of scanlines, including decoding an initial set of numerical digits represented by each of the plurality of scanlines, in which said synchronizing provides a scale estimate for each of the plurality of scanlines;

a path decoder for decoding remaining numerical digits within each of the plurality of scanlines, the path decoder decoding multiple numerical digits in groups, in which the scale estimate is adapted as the remaining numerical digits are decoded; and

means for providing decoded numerical digits as an identifier for each of the plurality of scanlines.

12. The image processing apparatus of claim 11 further comprising means for determining a mode for scanline identifiers, and means for communicating

an identifier with a highest mode as the 1D barcode identifier if the highest mode meets a predetermined threshold.

13. The image processing apparatus of claim 11 in which the first image area is determined by means for detecting which utilizes classifier-based localization and an orientation classifier.

14. The image processing apparatus of claim 11 in which the 2D image data representing a 1D barcode within the first image area comprises image data from a first frame, in which said image processing apparatus further operates all components for scanlines from a second image area comprising image data from a second and subsequent frame, in which scanline identifiers must correspond between the first frame and the second and subsequent frame before a 1D barcode identifier can be validated.

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 Feb 8, 2022
From: BRADLEY, BRETT A.; FILLER, TOMAS; HOLUB, VOJTECH
To: DIGIMARC CORPORATION
Reel/Frame 058930/0218 →
Continuity (6)
Continuation 16265698 · Feb 1, 2019
Continuation 15094925 · Apr 8, 2016
Provisional Application 62315600 · Mar 30, 2016
Provisional Application 62181673 · Jun 18, 2015
Provisional Application 62146133 · Apr 10, 2015
Related Publication 20220392244A1 · Dec 8, 2022