| Universal Product Code |
Article Index for Universal |
Website Links For Universal |
Information AboutUniversal Product Code |
| CATEGORIES ABOUT UNIVERSAL PRODUCT CODE | |
| barcodes | |
| checksum algorithms | |
| identifiers | |
| universal identifiers | |
| supply chain management | |
|
CURRENT CODE The UPC Encode s 12 Decimal Digit s as SLLLLLLM'''RRRRRR'''E, where S (start) and E (end) are the Bit pattern 101, M (middle) is the bit pattern 01010 (called guard bars), and each L (left) and R (right) are digits, each one represented by a seven-bit code. This is a total of 95 bits. The bit pattern for each numeral is designed to be as little like the others as possible, and to have no more than four 1s or 0s in order. Both are for Reliability in scanning. The UPC has only Numeral s, with no Letter s or other Character s. The first L digit is the prefix. The last digit R is an Error Correcting Check Digit , allowing some errors in scanning or manual entry to be detected. UPC data structures are a component of GTINs ( Global Trade Item Number s). All of these data structures follow the global GS1 standards. REPRESENTATION In the barcode, each number is represented by two bar and space configurations. One configuration is used in the "L" digits, while another is used in the "R" digits. This is done so that the barcode can be scanned forwards or backwards, and the scanner can determine from which direction the code is being scanned so that it can be registered correctly. If it were not for this, products could easily be registered incorrectly. Each digit in UPC-A has two forms. In European Article Number (EAN) there are two additional forms so that each digit can be encoded using Even or Odd Parity . For instance, the number 6 can be encoded as:
The first and second forms are the One's Complement of each other, as are the third and fourth. Company Prefixes are assigned by a GS1 Member Organization, which is now using longer company codes (with shorter item codes) for smaller companies. To read barcodes yourself without counting one, zero, zero, one..., or having to memorize those, there is an easier "code" to reading barcodes. The bars and spaces in barcodes have four different lengths, or values. A digit in a UPC barcode consists of two spaces and two bars, the lengths of the digit always equalling seven. The lengths can be called 1, 2, 3 and 4. 1 is the thinnest, 2 is twice as wide as 1, 3 is as wide as three 1 bars, and 4 is the widest, equal to four 1 bars, or two 2 bars. For example, suppose the first digit in a barcode, after the 1-0-1 start code, is one. You would see a space 2 long, a bar 2 long, a space 2 long, and a bar 1 long. After the first six digits, there are five 1s (space bar space bar space); this is to make sure the barcode ends in a bar, not a space. After that, the digits on the right start with a bar and end with a space, the inverse of the digits on the left. At the end is the 1-0-1 sequence, which is bar-space-bar again. PREFIXES
By prefixing these with a 0, they become EAN-13 rather than UPC-A. This does not change the Check Digit . All Point-of-sale systems can now understand both equally. CHECK DIGIT CALCULATION See Also: Check digit In the UPC-A system, the check digit is calculated as follows: # Add the digits in the Odd -numbered positions (first, third, fifth, etc.) together and multiply by three. # Add the digits in the Even -numbered positions (second, fourth, sixth, etc.) to the result. # Subtract the result modulo 10 from ten. # The answer modulo 10 is the check digit. For example, a UPC-A barcode (in this case, a UPC for a box of Tissues ) "03600029145X" where ''X'' is the check digit, ''X'' can be calculated by adding the odd-numbered digits (0+6+0+2+1+5 = 14), multiplying by three (14 × 3 = 42), adding the even-numbered digits (42+3+0+0+9+4 = 58), calculating Modulo 10 (58 mod 10 = 8), subtracting from ten (10 - 8 = 2) and making Modulo 10 (2 mod 10 = 2). The check digit is thus 2. ZERO COMPRESSED UPC-E To allow the use of UPC barcodes on smaller packages where a full 12-digit barcode may not fit, a 'zero-compressed' version of UPC was developed called UPC-E. This symbology differs from UPC-A in that it only uses a 6-digit code, does not use middle guard bars, and the end bit pattern (E) becomes 010101. The way in which a 6-digit UPC-E relates to a 12-digit UPC-A is determined by the last (right-hand most) digit. If the UPC-E number is represented by ABCDEX then: For example a UPC-E barcode with the number 654321 would expand to the UPC-A 065100004327. UPC-E check digits are calculated using this expanded string in the same way as used by UPC-A. The resulting check digit is not added to the barcode, however, but is encoded by manipulating the parity of the six digits which are present in the UPC-E - as shown in the following tables: Our example code 654321, therefore, would become 1-1-1 4-1-1-1 1-2-3-1 2-3-1-1 1-4-1-1 2-2-1-2 2-2-2-1 1-1-1-1-1-1. The resulting barcode would look roughly like this: OTHER VARIATIONS UPC is technically UPC-A. Other variants of the UPC code exist.
As the UPC has become technologically obsolete, it is expected that UPC-B and UPC-C will disappear from common use by the 2010s. The UPC-D standard may be modified into EAR 2.0 or be phased out entirely. PRINTING CONSIDERATIONS Dimensions: UPC-A Bar code symbols can be printed at various densities to accommodate variety of printing and scanning processes. The significant dimensional parameter is called X-dimension, the ideal width of single module element. The X-dimension has to be constant in UPC-A symbol. The width of each bar (dark bar) and space (light bar) is determined by multiplying the X-dimension by the module width of each dark bar or light bar (1,2,3, or 4). The X-dimension for the UPC-A at the nominal size is 0.33 mm (0.013 in.). UPC-A can be reduced or magnified in the range of 80% to 200%. Nominal symbol height for UPC-A is 25.9 mm (1.0 in.). In UPC-A the dark bars forming the left, centre, and right Guard Bar Patterns are extended downwards by 5 times X-dimension. This also applies to the bars of the first and the last symbol characters of UPC-A symbol. See illustration. Quiet Zone (Light Margin): The minimum Quiet Zone width required by the UPC-A bar code symbol is 7 x X-dimension. HISTORY Wallace Flint proposed an automated checkout system in 1932 using punch cards.[http://educ.queensu.ca/~compsci/units/encoding/barcodes/history.html] Norman Joseph Woodland patented a bull's-eye style code in 1952 and the first commercial use of barcodes was in 1966. [http://inventors.about.com/library/inventors/blbar_code.htm] In 1970 Logicon Inc. created the Universal Grocery Products Identification Code (UGPIC). In 1970 it was used by Monarch Marking in the United States and Plessey Telecommunications in the United Kingdom . {Link without Title} A group of grocery industry trade associations formed the Uniform Grocery Product Code Council which with consulting firm McKinsey & Company defined the predecessor to the Uniform Product Code. In 1973 George J. Laurer developed the Universal Product Code. See Development of the IBM UPC proposal below.[http://en.wikipedia.org/wiki/Universal_Product_Code#Development_of_the_IBM_UPC_proposal The first item to be placed under a UPC scanner in a Retail store was a 10-pack of Wrigley 's Chewing Gum at a Marsh Supermarket in Troy, Ohio , on June 26 , 1974 .1 Development of the IBM UPC proposal The Delta C patent provides some validation of this article. Only the three engineers involved know the rest of the story. Around 1970 IBM at Research Triangle Park NC assigned George Laurer1 to solve the problem of a Super Market Scanner and label. In February 1971 Heard Baumeister2 joined Laurer then later William Crouse3 joined the effort. After many, many months they had made no progress. They were aware of the RCA Bulls Eye Label that could be scanned with a simple straight line laser scanner but a readable label was far too large. Baumeister suggested the Bull’s Eye could be cut in half and still work but that was not enough. Finally Baumeister proposed that a simple “X” scanner could scan an un-oriented straight bar label if the bars were longer than the distance across all of the bars to be read. This would reduce the label size to about one third that of the Bulls Eye. Then he proposed that the label could be split into two sets of characters to be read separately. This allowed the bars to be shortened by nearly one half or a label of about one sixth that of the Bulls Eye. The UPC Label above shows the general characteristics of Baumeister's proposals. He did not suggest any specific bar code so the image does not attempt to show exact coding of the ten digits required at that time. Also Baumeister's proposal did not include specific guard bars on the sides and center. Laurer proceeded to create a proposal based on Baumeister’s ideas. When he came to actually coding data in the bars he went to the “resident expert” on bar codes who suggested he use his Delta B bar code and gave him equations generated the previous year by Baumeister to calculate the maximum density for a bar code based on the coding technique and printer tolerances. Laurer’s label proved far too large using the Delta B code. Crouse suggested he try his, patent pending Delta C4 code that he developed in early 1971. Delta C read distances from leading to leading and trailing to trailing edges of bars making it much less sensitive to the printer’s ink spreading degradation. Using Baumeister’s equations Delta C yielded a code that was four times more dense than Delta B and three times better than an earlier Delta A code. The result was a label less than 1.5 by 1 inches. Laurer had a viable proposal. Crouse and Laurer worked together to define the guard bars to aid in detecting the label and setting the threshold for detecting marks and spaces. Without the inventions from IBM, both Baumeister and Crouse, and the persistence and proposal effort by Laurer there may not have been a UPC for many years. Baumeister reduced the area by about 6 and Crouse reduced it by another 9 (a little less after margins etc.) for a total of nearby 50 to 1. The following table shows the workable labels, available in the early 1970's, with their sizes. This is assuming a Bull’s eye with the same information and reliable readability. December 1, 1972 Laurer presented his proposal to the Super Market Committee in Rochester Minnesota, the location where IBM would develop the scanner. During the presentation Crouse gave a lab demonstration where he read UPC like labels with a simple wand worn like a ring. In addition to reading regular labels he read the large two page center fold label in the proposal booklet. He then turned to a page showing a photo of labeled items sitting on a table. The labels were small and flawed due to the resolution of the printed photo but the wand read many of them. This demonstration showed the robustness of the code and the proposal was accepted. Laurer continued his career with the UPC. He became known as the inventor of the UPC; without his persistence there might not have been an IBM proposal. Baumeister and Crouse moved on to other activities, Baumeister prior to the Rochester proposal and Crouse immediately after. The UPC label today still contains the properties of the original proposal, especially Baumeister’s contributions. Laurer was pressured into allowing a Delta B bar width measurement to distinguish between two pairs of characters. This was added to allow two sets of digits one for the left side and a different set for the right side. This resulted in a violation of the Delta C requirements that allowed the label to shrink to the present size. As a result, these characters are the most likely to fail. Fortunately, the print quality has been improved to help offset this problem. Baumeister's original "X" scanner was never developed by IBM but served the purpose of showing that a simple scanner could read a simple barcode label. The "oscillating mirors scanner" that was developed had the disadvantage of scanning through curved paths causing distortion of the scan time across the bars and therby reducing the print tolerance. 1 George Laurer had been an IBM manager for fifteen years ending as manager of keyboard technology shortly before his assignment to the Super Market scanner problem. He had a substantial patent record. 2 Heard Baumeister was an exceptional mechanical engineer. He had saved many IBM mechanical projects from disaster. Baumeister generated equations to calculate the maximum density of printed bar codes. He was a skilled optics engineer. He had a substantial patent record. 3 William Crouse was a highly skilled circuit designer. He designed a family of modems used in IBM terminals and banking systems. His capacitive keyboard technology was the basis for nearly all of IBM’s electronic keyboards from 1969 into the 1990’s. Just prior to joining the Super Market Scanner effort he invented a new bar code that, using Baumeister’s equations, increased the print density by 3 and 4 times that of the previous bar codes. He was also actively designing a hand held wand for reading printed bar codes. He had a substantial patent record. 4 '' US Patent 3,723,710 by William G. Crouse and assigned to IBM is the patent describing the Delta C code used to reduce the area of the UPC Label by nearly 9 to 1.'' TECHNICAL NOTES The EAN was developed as a Superset of UPC, adding an extra digit to the beginning so that there would be plenty of numbers for the entire world. The Prefix digit 0 has been reserved for UPC, and in fact the GS1 US Mandate d all retail systems in the United States and Canada be able to recognize both UPC and EAN by January 1 , 2005 . UPC usage notes:
IN POPULAR CULTURE The UPC code has been cited as a symbol of the Biblical Mark Of The Beast , due to the similarity of the guard bars (101 or 01010) to the right code for 6 (1010000) - hence 666.
There is a gaming center in New York City called ''Barcode'' that has been featured in Sex In The City and the opening credits of the television show What I Like About You . SEE ALSO EXTERNAL LINKS
REFERENCES |
|
|