Barcode -- Bar Code
A barcode (also bar code) is a machine-readable representation of information in a visual format on a surface. Originally barcodes stored data in the widths and spacings of printed parallel lines, but today they also come in patterns of dots, concentric circles, and hidden in images. Barcodes can be read by optical scanners called barcode readers or scanned from an image by special software.
The idea for the barcode was developed by Norman Joseph Woodland and Bernard Silver. In 1948 while graduate students at Drexel University, they developed the idea after hearing the president of a food sales company wishing to be able to automate the checkout process. One of their first ideas was to use Morse code printed out and extended vertically, producing narrow and wide bars. Later, they switched to using a "bulls-eye" type barcode with concentric stripes. The two filed U.S patent 2,612,994 on October 20, 1949 for "Classifying Apparatus and Method". The patent was issued on October 7, 1952.
The first barcode reader was built by Woodland (who was an IBM employee at the time) and Silver in 1952 and included a 500 watt light bulb and a photomultiplier vacuum tube made by RCA for movie sound tracks (which were printed optically on film). This device was not very practical: the output went to an oscilloscope, and the 500 watt bulb nearly set fire to the paper containing their first sample barcode. It was not commercially produced. In 1962 they sold the patent to Philco, which later sold it to RCA. The invention of the laser in 1960 allowed barcode readers to be made much more cheaply, and the development of the integrated circuit made decoding of the scanned barcode practical. Sadly, Silver died in 1963 at age 38 before anything could come of the patent.
In 1972, a Kroger store in Cincinnati experimented with using a bull's-eye barcode reader, with help from RCA. Unfortunately, the bulls-eye barcodes were easy to smudge during printing, and weren't very successful. In the meantime, Woodland at IBM was developing the linear barcode that was adopted on April 3, 1973 as Universal Product Code. On June 26, 1974, the first retail product (a 10 pack of Wrigley's Juicy Fruit chewing gum) was sold using a barcode reader, at Marsh's supermarket in Troy, Ohio. (This pack of gum is now in the Smithsonian's National Museum of American History.)
Barcodes (and other machine readable tags like RFID) are used wherever physical objects need to be tagged with information that is to be processed by computers. Instead of typing strings of data into a terminal, the operator only has to display the code to a barcode reader. They also work well in fully automated environments, such as baggage routing at airports.
The data contained in a barcode varies with the application. In the simplest case, an identification number is used as an index in database where the complete information is kept. The EAN-13 and UPC codes commonly found on retail articles work this way.
In other cases the barcode holds the complete information itself, with no need for an external database. This led to the development of barcode symbologies that can express more than decimal digits, ranging from additionally encoding just the upper case alphabet to the complete ASCII character set and beyond. The drive to encode ever more information in combination with the space requirements of simple barcodes led to the development of matrix codes (a type of 2D barcode), which do not consist of bars but rather a grid of square cells. Stacked barcodes are a compromise between true 2D barcodes and linear codes, and are formed by taking a traditional linear symbology and placing it in an envelope that allows multiple rows.
The mapping between messages and barcodes is called a symbology. The specification of a symbology includes the encoding of the single digits/characters of the message as well as the start and stop markers into bars and space, the size of the quiet zone required to be before and after the barcode as well as the computation of a checksum.
Linear symbologies can be classified mainly by two properties:
- Continuous vs. discrete: Characters in continuous symbologies abut, with one character ending with a space and the next beginning with a bar, or vice versa. Characters in discrete symbologies begin and end with bars; the intercharacter space is ignored, as long as it is not wide enough to look like the code ends.
- Two-width vs. many-width: Bars and spaces in two-width symbologies are wide or narrow; how wide a wide bar is exactly has no significance as long as the symbology requirements for wide bars are adhered to (usually two to three times as wide than a narrow bar). Bars and spaces in many-width symbologies are all multiples of a basic width called the module; most such codes use four widths of 1, 2, 3 and 4 modules.
Stacked symbologies consist of a given linear symbology repeated vertically in multiple rows.
There are a large variety of 2-D symbologies. The most common are matrix codes, which feature square or dot-shaped modules arranged on a grid pattern. 2-D symbologies also come in a variety of other visual formats. Aside from circular patterns, there are several 2-D symbologies which employ steganography by hiding an array of different-sized or -shaped modules within a user-specified image (for example, DataGlyph).
Linear symbologies are optimized to be read by a laser scanner, which sweeps a beam of light across the barcode in a straight line, reading a slice of the barcode light-dark patterns.
Stacked symbologies are also optimized for laser scanning, with the laser making multiple passes across the barcode.
2-D symbologies cannot be read by a laser as there is typically no sweep pattern that can encompass the entire symbol. They must be scanned by a camera capture device.
Types of barcodes
|Plessey||Continuous||Two||Catalogs, store shelves, inventory|
|UPC||Continuous||Many||North America retail|
|Codabar||Discrete||Two||Libraries, blood banks, airbills|
|Interleaved 2 of 5||Continuous||Two||Wholesale, Libraries (NO)|
|CPC Binary||Discrete||Two||Post office|
|Telepen||Continuous||Two||Libraries, etc (UK)|
|Codablock||Stacked 1D barcodes.|
|Code 16K||Based on 1D Code 128.|
|Code 49||Stacked 1D barcodes from Intermec Corp.|
|PDF417||The most common 2D barcode. Public domain.|
|3-DI||Developed by Lynn Ltd.|
|ArrayTag||From ArrayTech Systems.|
|Aztec Code||From Welch Allyn (now Handheld Products). Public domain.|
|Small Aztec Code|
|Bullseye||This was the barcode tested in a Kroger store in Cincinnati. It used concentric bars.|
|Code 1||Public domain.|
|CP Code||From CP Tron, Inc.|
|DataGlyphs||From Xerox PARC.|
|Datamatrix||From RVSI Acuity CiMatrix. Now Public Domain|
|Datastrip Code||From Datastrip, Inc.|
|Dot Code A|
|HueCode||From Robot Design Associates. Uses greyscale or colour.|
|INTACTA.CODE||From INTACTA Technologies, Inc.|
|MaxiCode||Used by United Parcel Service.|
|MiniCode||From Omniplanar, Inc.|
|PDF417||Originated by Symbol Technologies Public Domain.|
|QR Code||From Nippondenso ID Systems. Public domain.|
|SmartCode||From InfoImaging Technologies.|
|Snowflake Code||From Marconi Data Systems, Inc.|
|SpotCode||Circular code from High Energy Magic Ltd.|
|UltraCode||Black-and-white & colour versions. Public domain.|
- Universal Product Code (UPC)
- Inventory control system
- Barcode printer
- Barcode scanner
- Global Trade Item Numbering
- Automating Management Information Systems: Barcode Engineering and Implementation: Harry E. Burke, Thomson Learning, ISBN 0-442-20712-3
- Automating Management Information Systems: Principles of Barcode Applications: Harry E. Burke, Thomson Learning, ISBN 0442206674
- The Bar Code Book: Roger C. Palmer, Helmers Publishing, ISBN 0-911261-09-5, 386 pages
- The Bar Code Manual: Eugene F. Brighan, Thompson Learning, ISBN 0030161738
- Handbook of Bar Coding Systems: Harry E. Burke, Van Nostrand Reinhold Company, ISBN 0-422-21430-8, 219 pages
- Lines of Communication: Craig K. Harmon, Helmers Publishing, ISBN 0-911261-07-9, 425 pages
- Punched Cards to Bar Codes: Benjamin Nelson, Helmers Publishing, ISBN 0-911261-12-5, 434 pages
- Revolution at the Checkout Counter: The Explosion of the Bar Code: Stephen A. Brown, Harvard Univ Press, ISBN 0674767209
History of barcodes
- Barcodes Sweep the World (http://www.barcoding.com/Information/barcode_history.shtml) - A very detailed history (3300+ words).
- History of Barcodes (http://www.basics.ie/History.htm)
- The History of Bar Codes (http://educ.queensu.ca/~compsci/units/encoding/barcodes/history.html)
- Bar Code History (http://www.adams1.com/pub/russadam/history.html)
- Barcodes — The History of Bar Code (http://inventors.about.com/library/inventors/blbar_code.htm)
- BarCode Education » History of Barcodes (http://www.barcode.ro/tutorials/barcodes/history.html)
- The Barcode FAQ (http://azalea.com/FAQ/)
- Barcode Glossary (http://www.barcoding.com/Information/barcode_terms.shtml)
- Barcode.com (http://www.barcode.com) — Information Site
- Free fonts and encoders for Windows (http://grandzebu.net/informatique/codbar-en/codbar.htm)
- Barcode Island (http://www.barcodeisland.com/symbolgy.phtml) — description of many symbologies
- List of 2D symbologies (http://www.adams1.com/pub/russadam/stack.html)
- Golden Age of Barcodes — An Art Exhibition
- ROSISTEM Bar Code » Symbologies & Glossary of Terms (http://www.barcode.ro/tutorials/barcodes/)
- Bar Code Art (http://www.barcodeart.com/)
- Learn more about Barcode Printers (http://www.barcodeprintersonline.com/)
- Online barcode generator (http://barcodesinc.com/generator/) — makes bitmaps
- Online barcode generator (http://www.raise-the-bar.co.uk/cgi-bin/webbarcodegen.pl) — makes scalable vector graphics in PostScript and a number of raster formats including bmp, jpeg and png
- Open source barcode generator in pure PostScript (http://www.terryburton.co.uk/barcodewriter/)