IP Library Granted Patent US 11,244,183
Granted Patent B2
US 11,244,183 · App. 16/265,698 · Granted Feb 8, 2022

Decoding 1D-barcodes in digital capture systems

Inventors: Brett A. Bradley (Portland, OR); Tomas Filler (Beaverton, OR); Vojtech Holub (Portland, OR)
Assignee: Digimarc Corporation
G06K9/18G06K9/52G06K9/6267G06T7/0012H04N19/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,244,183
App. No.
16/265,698
Granted
Feb 8, 2022
Kind
B2
Abstract

Technology for constructing a symbol template for use by a 1D barcode decoder. One method includes obtaining a first symbol pattern representing a first symbol, the first symbol pattern comprising a plurality of elements, with each element corresponding to a 1D barcode space or bar, in which the first symbol represents one unique 1D bar (b) and space (s) pattern corresponding to a symbol or digit: 0, 1, 2, 3, 4, 5, 6, 7, 8 or 9; obtaining prefix elements, the prefix elements comprising a subset of second symbol elements from a second symbol pattern which precedes the first symbol from within a scanline of image data, the subset being less than a total number of elements within the second symbol elements; extending the first symbol pattern with the prefix elements to yield an overlapping symbol template for use in correlation-based barcode decoding. Other technology provided as well.

Claims (44)

1. A method for constructing a symbol template for use by a 1-dimensional (1D) barcode decoder, the 1D barcode decoder configured for processing a single frame of image data suspected of including a 1D barcode, said method comprising:

obtaining a first symbol pattern representing a first symbol, the first symbol pattern comprising a plurality of elements, with each element corresponding to a 1D barcode space or bar, in which the first symbol pattern represents one unique 1D bar (b) and space (s) pattern corresponding to a symbol or digit: 0, 1, 2, 3, 4, 5, 6, 7, 8 or 9;

obtaining prefix elements, the prefix elements comprising a subset of a second plurality of elements from a second symbol pattern, in which the second symbol pattern precedes the first symbol pattern from within a scanline of the single frame of image data, the subset being less than a total number of elements within the second plurality of elements, in which the prefix elements comprises 3 or 4 bits of the second symbol pattern;

extending the first symbol pattern with the prefix elements by prepending the 3 or 4 bits of the second symbol pattern to the first symbol pattern to yield an overlapping symbol template;

providing the overlapping symbol template for use in correlation-based barcode decoding by the 1D barcode decoder.

2. The method of claim 1 further comprising:

prior to providing the overlapping symbol template, scaling the overlapping symbol template.

3. The method of claim 1 further comprising:

scaling the overlapping symbol template with multiple different scale values, with each scale value producing a separate scaled template.

4. The method of claim 2 further comprising:

blurring the scaled, overlapping symbol template.

5. The method of claim 3 further comprising:

blurring each of the separate scaled templates to yield a plurality of blurred, scaled templates.

6. The method of claim 5 , in which said method outputs the plurality of blurred, scaled templates as the overlapping symbol template.

7. An apparatus comprising:

One or more memory structures for storing a symbol template, and for storing image data suspected of including a 1D barcode;

one or more multi-core processors configured for:

obtaining a first symbol pattern representing a first symbol, the first symbol pattern comprising a plurality of elements, with each element of the plurality of elements corresponding to a 1D barcode space or bar, in which the first symbol pattern represents one unique 1D bar (b) and space (s) pattern corresponding to a symbol or digit 0, 1, 2, 3, 4, 5, 6, 7, 8 or 9;

obtaining prefix elements, the prefix elements comprising a subset of a second plurality of elements from a second symbol pattern, in which the second symbol pattern precedes the first symbol pattern from within a scanline of a single frame of image data, the subset being less than a total number of elements within the second plurality of elements, in which the prefix elements comprises 3 or 4 bits of the second symbol pattern;

extending the first symbol pattern with the prefix elements by prepending the 3 or 4 bits of the second symbol pattern to the first symbol pattern to yield an overlapping symbol template;

providing the overlapping symbol template for use in correlation-based barcode decoding.

8. The apparatus of claim 7 in which said one or more multi-core processors are configured for, prior to providing the overlapping symbol template, scaling the overlapping symbol template.

9. The apparatus of claim 7 in which said one or more multi-core processors are configured for scaling the overlapping symbol template with multiple different scale values, with each scale value producing a separate scaled template.

10. The apparatus of claim 8 in which said one or more multi-core processors are configured for blurring the scaled, overlapping symbol template.

11. The apparatus of claim 9 in which said one or more multi-core processors are configured for further comprising blurring each of the separate scaled templates to yield a plurality of blurred, scaled templates.

12. The apparatus of claim 11 in which said providing outputs the plurality of blurred, scaled templates as the overlapping symbol template.

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

obtaining a first symbol pattern representing a first symbol, the first symbol pattern comprising a plurality of elements, with each element corresponding to a 1-Dimensional (1D) barcode space or bar, in which the first symbol pattern represents one unique 1D bar (b) and space (s) pattern corresponding to a symbol or digit: 0, 1, 2, 3, 4, 5, 6, 7, 8 or 9;

obtaining prefix elements, the prefix elements comprising a subset of a second plurality of elements from a second symbol pattern, in which the second symbol pattern precedes the first symbol pattern from within a scanline of a single frame of image data, the subset being less than a total number of elements within the second plurality of elements, in which the prefix elements comprises 3 or 4 bits of the second symbol pattern;

extending the first symbol pattern with the prefix elements by prepending the 3 or 4 bits of the second symbol pattern to the first symbol pattern to yield an overlapping symbol template;

providing the overlapping symbol template for use in correlation-based barcode decoding by a 1D barcode decoder configured for processing image data suspected of including a 1D barcode.

14. The non-transitory computer readable medium of claim 13 , in which the instructions further comprise instructions for:

prior to providing the overlapping symbol template, scaling the overlapping symbol template.

15. The non-transitory computer readable medium of claim 13 , in which the instructions further comprise instruction for:

scaling the overlapping symbol template with multiple different scale values, with each scale value producing a separate scaled template.

16. The non-transitory computer readable medium of claim 14 , in which the instructions further comprise instructions for:

blurring the scaled, overlapping symbol template.

17. The non-transitory computer readable medium of claim 15 , in which the instructions further comprises instructions for:

blurring each of the separate scaled templates to yield a plurality of blurred, scaled template.

18. The non-transitory computer readable medium of claim 17 , in which the overlapping symbol template comprises the plurality of blurred, scaled templates.

19. The method of claim 6 further comprising: compressing the plurality of blurred, scaled templates to yield a plurality of compressed, blurred, scaled templates and using the plurality of compressed, blurred, scaled templates as the overlapping symbol template.

20. The apparatus of claim 12 in which said one or more multi-core processors are configured for compressing the plurality of blurred, scaled templates to yield a plurality of compressed, blurred, scaled templates, and in which said providing outputs the plurality of compressed, blurred, scaled templates as the overlapping symbol template.

21. The non-transitory computer readable medium of claim 18 , in which the instructions further comprises instructions for:

compressing the plurality of blurred, scaled templates to yield a plurality of compressed, blurred, scaled templates and using the plurality of compressed, blurred, scaled templates as the overlapping symbol template.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 10, 2021
From: BRADLEY, BRETT A.; FILLER, TOMAS; HOLUB, VOJTECH
To: DIGIMARC CORPORATION
Reel/Frame 058364/0227 →
Continuity (5)
Continuation 15094925 · Apr 8, 2016
Provisional Application 62146133 · Apr 10, 2015
Provisional Application 62181673 · Jun 18, 2015
Provisional Application 62315600 · Mar 30, 2016
Related Publication 20190244043A1 · Aug 8, 2019