Dismiss
InnovationQ will be updated on Sunday, Oct. 22, from 10am ET - noon. You may experience brief service interruptions during that time.
Browse Prior Art Database

Reading USS-128 Barcodes with a Low Resolution Camera

IP.com Disclosure Number: IPCOM000114726D
Original Publication Date: 1995-Jan-01
Included in the Prior Art Database: 2005-Mar-29
Document File: 2 page(s) / 75K

Publishing Venue

IBM

Related People

Kishi, GT: AUTHOR

Abstract

This article describes how to use a low resolution camera to read USS-128 barcodes. Although the resolution of the camera is not always high enough to determine absolute bar widths, the barcode can be accurately read using a least mean squared error technique.

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

Reading USS-128 Barcodes with a Low Resolution Camera

      This article describes how to use a low resolution camera to
read USS-128 barcodes.  Although the resolution of the camera is not
always high enough to determine absolute bar widths, the barcode can
be accurately read using a least mean squared error technique.

      This article describes how to use a low resolution, camera
based vision system to read a barcode that conforms to the Automatic
Identification Manufacturer's (AIM) Uniform Symbology Specification
(USS) USS-128 (also know as Code 128).  This specific vision system
is used on the IBM* 3495* Tape Library Dataserver (and automated tape
library) to read external tape cartridge labels that use USS-128
barcodes.

      Low resolution in this context means that the image of the
barcode after being digitized by the camera is not directly readable
using the USS-128 definitions for bar widths (i.e., a single unit bar
is n pixels wide, 2 units is 2n pixels, etc.).  This low resolution
could be caused by a number of factors (e.g., pixel aliasing, CCD
element saturation effects, etc.).

      Each character in the barcode is exhaustively searched against
the appropriate character set to find the minimum Mean Squared (MS)
error.  The bars for each character are scaled up to a total of 1100
units (or 100 units per bar).  The MS error for each potential
character that could be represented is calculated and the character
with the minimum MS error is selected.

      A couple of tricks are used to improve performance.  First,
since the barcode used in the 3495 has special limitations, these are
used to our advantage.  The start character can only be one of 3
characters.  The 6 label characters can only be one of 37 (A-Z, 0-9,
blank).  The checksum can be any of 103 characters.  There is only
one stop character.  Therefore the exhaustive search is limited to
only valid combinations of characters by location (instead of 106
characters per locat...