Quantcast

Omnidirectional reading of two-dimensional symbols

Imported: 24 Feb '17 | Published: 06 Jan '04

Stephen J. Shellhammer

USPTO - Utility Patents

Abstract

A method and apparatus for aligning a scan pattern to a two dimensional bar code having parallel rows of codewords. The two dimensional bar code is scanned with a scanning pattern oriented such that a plurality of lines thereof cross the bar code rows. A determination if there is a non-zero angle between at least one of the plurality of lines and the rows by decoding codewords in rows intersected by the at least one line is made and the orientation of the scanning pattern is adjusted to reduce the absolute value of the angle.

Description

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1A is an illustration of a PDF417 bar code symbol being scanned by a laser raster pattern which is aligned with the horizontal rows of the symbol;

FIG. 1B is an illustration of a PDF417 label being scanned by a laser raster pattern which is tilted with respect to the horizontal rows of the symbol;

FIG. 2 is a diagram illustrating the modules and sequence of bars and spaces forming a codeword in the PDF417 format;

FIG. 3 is a block diagram showing the overall structure of a PDF417 symbol;

FIG. 4 is an omnidirectional one-dimensional (1D) scan pattern;

FIG. 5 is a functional block diagram of the preferred embodiment of the present invention;

FIG. 6 is a digital filter implementation of Smoothing Filter Open-Loop observer;

FIG. 7 is a digital filter implementation of Taut Band element (TBE) Open-Loop observer

FIG. 8 is a representation of two line drawn along the Start and Stop patterns of the PDF417 label;

FIG. 9 shows fitting of two lines to the coordinates of the detected Start and Stop patterns;

FIG. 10 shows a closed-loop observer model using an optical feedback;

FIG. 11 shows a scan line crossing PDF417 bar code symbol with a small angular error; and

FIG. 12 is a block diagram of the system for fine tuning the alignment of the scan pattern to a bar code symbol.

Claims

1. A method for aligning a scan pattern to a two dimensional bar code having parallel rows of codewords, comprising the steps of:

2. The method according to claim 1, wherein the bar code has a fixed number of module widths in each codeword and a row height which is a function of the module width and the number of codewords per row encoded therein and wherein the step of determining further comprises determining a magnitude of the angle from the number of codewords per row and the aspect ratio of the row height to the module width.

3. The method according to claim 1, wherein the step of adjusting comprises repeating the step of determining after a delay following the step of adjusting.

4. A method for aligning a scan pattern to a two dimensional bar code having parallel rows of codewords, comprising the steps of:

5. The method according to claim 4, wherein the bar code has a fixed number of module widths in each codeword and a row height which is a function of the module width and the number of codewords per row encoded therein and wherein the step of determining further comprises determining a magnitude of the angle from the number of codewords per row and the aspect ratio of the row height to the module width.

6. The method according to claim 4, wherein the step of adjusting comprises repeating the step of determining after a delay following the step of adjusting.

7. A method for aligning a scan pattern to a two dimensional bar code having parallel rows of codewords, comprising the steps of:

8. A system for aligning a scan pattern to a two dimensional bar code having parallel rows of codewords, comprising: a pattern generator for generating a scanning pattern oriented to scan the two dimensional bar code such that a plurality of scan lines cross the bar code rows; a processor for determining if there is a non-zero angle between at least one of the plurality of lines and the rows by decoding codewords in rows intersected by the at least one line; and an alignment mechanism based upon the determined angle for adjusting the orientation of the scanning pattern generated by the pattern generator to reduce the absolute value of the angle; wherein the bar code has row indicator code words in each row and wherein the processor has a decoder for decoding the row indicator codewords read by the at least one line to determine the slope of the angle therefrom.

9. The system according to claim 8, wherein the bar code has a fixed number of module widths in each codeword and a row height which is a function of the module width and the number of codewords per row encoded therein and wherein the processor determines a magnitude of the angle from the number of codewords per row and the aspect ratio of the row height to the module width.

10. The system according to claim 8, wherein the processor repeats the determination after a delay following the adjustment by the alignment mechanism.

11. A system for aligning a scan pattern to a two dimensional bar code having parallel rows of codewords, comprising:

12. The system according to claim 11, wherein the bar code has a fixed number of module widths in each codeword and a row height which is a function of the module width and the number of codewords per row encoded therein and wherein the processor determines a magnitude of the angle from the number of codewords per row and the aspect ratio of the row height to the module width.

13. The system according to claim 11, wherein the processor repeats the determination after a delay following the adjustment by the alignment mechanism.

14. A system for aligning a scan pattern to a two dimensional bar code having parallel rows of codewords, comprising:

15. A system for aligning a scan pattern to a two dimensional bar code having parallel rows of codewords, comprising: