Browse Prior Art Database

Autodiscriminating Bar Code Candidate Select

IP.com Disclosure Number: IPCOM000099895D
Original Publication Date: 1990-Feb-01
Included in the Prior Art Database: 2005-Mar-15
Document File: 7 page(s) / 291K

Publishing Venue

IBM

Related People

Cato, RT: AUTHOR

Abstract

In some bar code scanners, the analog return signal is converted to a series of digital counts corresponding to the width of the bar code bars and spaces. This digital data stream must be continuously checked for the presence of the bar code information. Unfortunately, the data rate is so fast that few, if any, processors can keep up with the data.

This text was extracted from an ASCII text file.
This is the abbreviated version, containing approximately 24% of the total text.

Autodiscriminating Bar Code Candidate Select

       In some bar code scanners, the analog return signal is
converted to a series of digital counts corresponding to the width of
the bar code bars and spaces.  This digital data stream must be
continuously checked for the presence of the bar code information.
Unfortunately, the data rate is so fast that few, if any, processors
can keep up with the data.

      There are two current solutions to this problem.  One solution
is to have a large amount of customized high-speed logic filter the
data before it is given to the processor.  The logic chooses data
with the characteristics of the bar code that it is designed to look
for.  If a bar code candidate is found, the processor is interrupted
and directed to a specific place in memory to get the data.  The
processor then decodes the data.  With this solution, the processor
has access to the raw data.

      A second solution, a variation of the first, is to have the
high-speed logic completely decode the raw data stream. The processor
never sees the raw data, but merely passes the decoded symbol
characters to the communication port and does other housekeeping
chores.  This solution prohibits the use of more sophisticated decode
algorithms and makes any changes to the hardware decode algorithm
very difficult.

      The problem with both of these solutions is that the hardware
must be bar code specific.  If another type of bar code is read,
different hardware has to be used or the hardware has to be
configured differently by the software.

      This disclosure covers a hardware architecture that is
essentially bar code independent.  The only restrictions are that all
the characters of the bar code must have the same number of bars and
spaces and each character must be approximately the same width.  Most
bar codes meet these requirements.  This candidate select
architecture looks for similar character-to-character comparisons
among many different bar/space combinations.
      This form of candidate select is insensitive to noise pulses in
the margin or quiet zone in front of the label because only the label
information itself is being looked for, not the surrounding margin.
This architecture could be even more selective by the addition of a
trailing margin criteria, where noise is not a problem with
peak-following thresholding, but this is not necessary and may not be
desirable on symbols such as the UPC.

      Below are the bar/space combinations that would realistically
be used in bar code characters:
Type 1: 2 bars/2 spaces/no inter-character gap     UPC
Type 2: 3 bars/2 spaces/inter-character gap
Type 3: 3 bars/3 spaces/no inter-character gap     Code 128, Code 93
Type 4: 4 bars/3 spaces/inter-character gap        Codabar
Type 5: 4 bars/4 spaces/no inter-character gap
Type 6: 5 bars/4 spaces/inter-character gap        Code 39
Type 7: 5 bars/5 spaces/no inter-character gap Interleave...