맨위로가기

범용 상품 부호

"오늘의AI위키"는 AI 기술로 일관성 있고 체계적인 최신 지식을 제공하는 혁신 플랫폼입니다.
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.

1. 개요

범용 상품 부호(UPC)는 상품에 부착되어 상품을 식별하는 데 사용되는 바코드 형식이다. 1970년대에 개발되어 소매업에서 널리 사용되었으며, 다양한 종류가 존재한다. UPC-A는 가장 일반적인 형태로 12자리 숫자로 구성되며, 상품의 제조업체 코드와 제품 코드를 포함한다. UPC-E는 UPC-A의 축약형으로 6자리 코드를 사용하며, UPC-2와 UPC-5는 각각 잡지 판과 권장 소매 가격을 나타내는 보조 코드이다. UPC는 검사 숫자를 사용하여 데이터 입력 오류를 감지하며, EAN-13은 UPC-A의 상위 집합으로, 국가 코드를 포함한다.

더 읽어볼만한 페이지

  • 제품 분류 - 스톡 키핑 유닛
    스톡 키핑 유닛(SKU)은 상품의 특징을 나타내는 문자와 숫자의 조합으로, 최소 재고 관리 단위이며, 재고 관리, 판매 분석, 물류 관리에 활용된다.
  • 바코드 - QR 코드
    QR 코드는 1994년 일본 덴소 웨이브가 개발한 2차원 바코드로, 기존 바코드보다 많은 정보를 저장하고 오류 정정 기능이 있으며, 자동차 부품 관리에서 시작하여 다양한 분야에서 활용되지만 악성 QR 코드에 의한 피해에도 주의해야 한다.
  • 바코드 - 코드 39
    코드 39는 9개의 요소로 구성된 바와 스페이스 조합으로 문자를 표현하는 바코드 형식으로, 스캔이 용이하고 신뢰성이 높지만 코드 길이가 길어 고밀도 정보 표현에는 부적합하며, 표준 방식과 풀 ASCII 방식으로 나뉜다.
  • 체크섬 알고리즘 - MD5
    MD5는 로널드 리베스트 교수가 개발한 128비트 해시 값 생성 암호화 해시 함수이나, 보안 취약점으로 인해 현재는 보안이 중요한 분야에서는 사용이 중단되었다.
  • 체크섬 알고리즘 - 순환 중복 검사
    순환 중복 검사(CRC)는 데이터 전송 또는 저장 시 오류 검출을 위해 데이터를 다항식으로 간주하고 생성 다항식으로 나눈 나머지를 검사 값으로 사용하여 오류를 감지하는 기술이다.
범용 상품 부호
기본 정보
UPC-A 바코드
UPC-A 바코드
종류바코드
개발 시기1973년
개발자조지 J. 로러
기술 정보
사용 분야소매
표준GS1
자릿수고정 길이, 숫자 전용 (UPC-A: 12자리, UPC-E: 6자리)
특징
장점빠른 스캔 속도
높은 정확도
재고 관리 효율성 증대
단점제한된 정보량
바코드 손상 시 인식 불가
종류
UPC-A12자리 숫자
가장 일반적인 형태
UPC-E6자리 숫자
UPC-A의 축소 버전
작은 상품에 적합
UPC-22자리 추가 코드
정기 간행물 등에 사용
UPC-55자리 추가 코드
서적 등에 사용
관련 기술
EANEAN (European Article Number)
QR 코드QR 코드 (Quick Response Code)

2. 역사

1932년 월리스 플린트가 천공 카드를 이용한 자동 계산대 시스템을 제안했다. 1949년 버나드 실버와 노먼 조셉 우드랜드는 과녁 스타일 코드를 개발하고 특허를 출원했다.[3][15]

1960년대와 1970년대 초, 북미 철도에서는 다색 바코드를 사용한 철도 차량 추적 시스템을 실험했지만, 이 시스템은 폐기되고 자동 장비 식별(AEI) 시스템으로 대체되었다.[4]

1973년, 식료품 업계의 여러 무역 협회가 통일 상품 코드 협의회(UPCC)를 결성하여 맥킨지 앤 컴퍼니의 래리 러셀과 톰 윌슨의 도움을 받아 통일 상품 코드(UPC)의 숫자 형식의 기초를 정의했다.[5] 여러 기술 회사들이 협의회에 기호 표현에 대한 대안을 제시했고, 기호 선택 위원회는 조지 J. 로러가 설계한 IBM 제안을 구현하기로 결정했다. 다만, 사람이 읽을 수 있는 영역의 글꼴은 약간 수정되었다.

1974년 6월 26일, 오하이오주 트로이의 마쉬 슈퍼마켓에서 최초로 UPC 코드가 부착된 리글리 주시 후르츠 껌 10개 묶음(50개)이 스캔되었다.[6] NCR 금전 등록기는 67센트를 기록했다.[7] 이 껌 포장지의 복제품은 워싱턴 D.C.의 스미소니언 협회 국립 미국사 박물관에 전시되었다.[8][9]

머레이 에덴은 UPC 바코드 개발팀의 컨설턴트로 참여하여 기호 선택 및 글꼴 결정에 기여했으며,[10][11] 바코드 리더가 제대로 작동하지 않을 경우를 대비하여 숫자를 아래쪽에 추가하는 아이디어를 냈다.[13][14]

2. 1. IBM의 UPC 개발

1969년 말, 노스캐롤라이나주 리서치 트라이앵글 파크(RTP)의 IBM은 조지 로러에게 슈퍼마켓 스캐너와 라벨 개발을 지시했다. 1970년 말, 허드 바이스터는 IBM 바코드인 델타 B의 문제점(잉크 번짐)을 제시했다.[15]

1971년 중반, 윌리엄 "빌" 크루스는 델타 C라는 새로운 바코드를 발명했다.[15] 델타 C는 잉크 번짐의 영향을 받지 않고, 선의 앞쪽 또는 뒤쪽 가장자리만 사용하여 더 높은 성능을 냈다.

1972년 봄, 바이스터는 한 번의 스캔으로 읽을 수 있는, 모든 막대 너비보다 약간 더 긴 막대가 있는 라벨을 제안했다. 다음날 라벨을 두 부분으로 나누어 막대 길이를 절반으로 줄일 수 있다고 제안했다.

로러는 라벨 세부 사항을 정의하고 제안서를 작성했으며, N.J. 우드랜드가 프로젝트 기획자로 참여했다. 로러의 초기 바코드는 델타 B였으나 라벨 크기가 너무 컸다. 크루스는 델타 C 바코드 사용을 제안하여 라벨 크기를 줄였다.

로러는 크루스에게 스캐너의 라벨 감지 방법에 대한 도움을 요청했다. 그들은 가드 바와 라벨 감지 방법을 정의했고, 가드 바는 반쪽 라벨 식별과 스캐너 임계 회로 학습에도 사용되었다.[16]

1972년 12월 1일, IBM은 미네소타주 로체스터에서 로러의 제안서를 슈퍼마켓 위원회에 제출했다. 크루스는 UPC와 유사한 라벨을 반지 완드로 읽는 실험실 시연을 통해 델타 C 코드의 견고성을 입증했다.

1973년 1월 1일, 크루스는 IBM 고급 기술 그룹으로 복귀하고, 로러는 라벨 책임을 맡았다. 다이모 코퍼레이션의 제안(코드의 문자 독립성)을 IBM 제안에 통합했다.

라벨의 두 부분은 서로 다른 숫자 문자 집합을 사용하기로 결정되었다. 로러는 델타 C 특허 기반 문자 집합을 사용하고, 각 쌍의 막대 너비를 측정하여 문자를 구별했다.

수학자 데이비드 사비르는 심볼의 인쇄 가능성과 신뢰성을 증명하고, 오류 감지 및 수정을 위해 두 자릿수를 추가했다. 홀수/짝수 패리티를 추가하여 스캔 방향 판별 및 오류 감지 능력을 향상시켰다.

다음은 1970년대 초 사용 가능한 적절한 크기의 라벨 표이다.

라벨 유형라벨 치수면적
불스아이(모스 부호)
불스아이(델타 B)
불스아이(델타 A)
바이스터 1차(델타 B)
바이스터 2 절반(델타 B)
바이스터 2 절반(델타 A)
바이스터(델타 C)


3. 구성

UPC-A 바코드는 12자리 숫자 시퀀스와 검은색 막대 및 흰색 공간의 스캔 가능한 스트립으로 구성된다. 스캔 가능한 영역은 SLLLLLLMRRRRRRE 패턴을 따르는데, 여기서 S(시작), M(중간), E(종료)는 가드 패턴이고, L(왼쪽)과 R(오른쪽)은 숫자 섹션이다. 첫 번째 숫자 L은 숫자 시스템을 나타내고, 마지막 숫자 R은 오류 감지 검사 숫자이다. 가드 패턴은 6개의 숫자 그룹을 분리하고 타이밍을 설정한다.[17][18]

UPC-A 바코드에서 각 숫자는 7비트 시퀀스로 표현되며 일련의 대체 막대와 공간으로 변환된다. 녹색으로 보이는 보호 막대는 6개의 숫자를 두 개로 나누면서 타이밍을 조절한다.


막대 및 공간 패턴은 0~9까지 다음과 같이 이루어져 있다.

숫자L 패턴R 패턴길이
0000110111100103211
1001100111001102221
2001001111011002122
3011110110000101411
4010001110111001132
5011000110011101231
6010111110100001114
7011101110001001312
8011011110010001213
9000101111101003112



UPC-A의 x-dimension(단일 모듈 요소의 너비)은 표준 크기에서 0.33mm이다. UPC-A의 표준 심볼 높이는 25.9mm이며, 가드 패턴 막대는 x-dimension의 5배만큼 아래로 연장되어 27.55mm가 된다. UPC-A는 80%에서 200% 사이로 축소하거나 확대할 수 있다. UPC-A 바코드의 각 측면에는 x-dimension의 9배 이상 너비의 여백 영역이 필요하다.[17][18]

4. 인코딩

공간S
(시작)L
(왼쪽 숫자)M
(중간)R
(오른쪽 숫자)E
(종료)여유
공간01234567890123456789

27x250px
10x250px
21x235px
21x235px
21x235px
21x235px
21x235px
21x235px
21x235px
21x235px
21x235px
21x235px
15x250px
21x235px
21x235px
21x235px
21x235px
21x235px
21x235px
21x235px
21x235px
21x235px
21x235px
----


5. 숫자 체계

UPC-A 및 UPC-E 바코드의 수는 바코드 생성에 사용된 표준에 의해 제한된다.

6. 검사 숫자 계산

UPC는 데이터 입력 오류를 감지하기 위해 검사 숫자(마지막 자릿수)를 포함한다. 검사 숫자 방정식은 다음과 같다.[19]

:(3x₁ + x₂ + 3x₃ + x₄ + 3x₅ + x₆ + 3x₇ + x₈ + 3x₉ + x₁₀ + 3x₁₁ + x₁₂) ≡ 0 (mod 10)

UPC-A 검사 숫자는 다음과 같이 계산할 수 있다.

1. 홀수 위치(첫 번째, 세 번째, 다섯 번째, ..., 열한 번째)의 숫자를 더한다.

2. 그 결과에 3을 곱한다.

3. 짝수 위치(두 번째, 네 번째, 여섯 번째, ..., 열 번째)의 숫자 합을 결과에 더한다.

4. 그 결과를 모듈로 10 (즉, 10으로 나눈 나머지)을 구하고, 이를 M이라고 부른다.

5. 만약 M이 0이면, 검사 숫자는 0이다. 그렇지 않으면 검사 숫자는 10 - M이다.

예를 들어, UPC-A 바코드 "03600029145''x''12"에서, ''x''12는 알 수 없는 검사 숫자이고, 다음과 같이 계산할 수 있다.

1. 홀수 위치의 숫자를 더한다(0 + 6 + 0 + 2 + 1 + 5 = 14).

2. 결과에 3을 곱한다(14 × 3 = 42).

3. 짝수 위치의 숫자를 더한다(42 + (3 + 0 + 0 + 9 + 4) = 58).

4. 결과를 모듈로 10으로 구한다(58 mod 10 = 8 = M).

5. M이 0이 아니면, 10에서 M을 뺍니다(10 - 8 = 2).

따라서 검사 숫자 ''x''12는 2이다.

UPC-A는 다음과 같은 오류 검출 능력을 가지고 있다.



다음은 ''UPC-A 바코드의 d-전위 표''이며, d \in \{0, 1, 2, \ldots, 9\}:

UPC-A 바코드의 ''d''-전위 표
0123456789
10 00 10 20 30 40 50 60 70 80 9
21 11 21 31 41 51 61 71 81 9
32 22 32 42 52 62 72 82 9
43 33 43 53 63 73 83 9
54 44 54 64 74 84 9
65 55 65 75 85 9
76 66 76 86 9
87 77 87 9
98 88 9
109 9
합계1018161412108642


7. 종류 (Variations)

UPC는 일반적으로 UPC-A를 지칭하지만, 그 밖에도 다양한 종류가 있다.

7. 1. UPC-A

UPC는 가장 일반적으로 사용될 때 기술적으로 UPC-A를 지칭한다. UPC-A는 12자리 숫자로 구성된다.[21]

7. 2. UPC-B

UPC-B는 전국 의약품 코드(NDC) 및 전국 보건 관련 품목 코드를 위해 개발된 검사 숫자가 없는 12자리 UPC 버전이다.[21] 11자리 숫자와 1자리 제품 코드로 구성되어 있으며, 일반적으로 사용되지 않는다.[22]

7. 3. UPC-C

UPC-C는 제품 코드와 검사 숫자가 있는 12자리 코드이며, 일반적으로 사용되지 않는다.[22]

7. 4. UPC-D

UPC-D는 가변 길이 코드(12자리 이상)로, 12번째 자릿수가 검사 숫자이다. 이 버전은 일반적으로 사용되지 않는다.[22]

7. 5. UPC-E

UPC-E는 6자리 코드이며, 숫자 시스템 0 또는 1을 사용하는 UPC-A 12자리 코드와 동일하다. 0 억제 방식을 사용하여 코드를 축소한다.[23] UPC-E는 UPC-A 숫자 시스템 0 또는 1에만 해당되며, 숫자 패턴과 패리티 패턴에 따라 UPC-A 코드로 변환된다.

더 작은 포장재에 UPC 바코드를 사용할 수 있도록, 12자리 바코드가 맞지 않는 경우를 위해 UPC의 0 억제 버전인 UPC-E가 개발되었다.[23] 숫자 시스템 숫자, 제조업체 코드의 모든 후행 0 및 제품 코드의 모든 선행 0이 억제(생략)된다. UPC-E는 6자리 코드만 사용하고, 중간 가드 패턴을 사용하지 않으며, 끝 가드 패턴이 ''공백-바-공백-바-공백-바''로 형성된다는 점에서 UPC-A와 다르다. UPC-E 바코드는 SDDDDDDE 패턴을 따른다. 6자리 UPC-E가 12자리 UPC-A와 관련되는 방식은 UPC-E 숫자 패턴과 UPC-E 패리티 패턴에 의해 결정된다. UPC-A 숫자 시스템 0 또는 1에만 해당될 수 있으며, 그 값은 UPC-A 검사 숫자와 함께 인코딩의 UPC-E 패리티 패턴을 결정한다. 제조업체 코드 숫자는 M으로, 제품 코드 숫자는 P로 표시하면 다음과 같다.

마지막 UPC-E 숫자UPC-E 숫자 패턴UPC-A 해당 값사용 가능한 제품 번호
0MMPPP00 또는 1 + MM000-00PPP + 검사 숫자PPP = 000-999
1MMPPP10 또는 1 + MM100-00PPP + 검사 숫자PPP = 000-999
2MMPPP20 또는 1 + MM200-00PPP + 검사 숫자PPP = 000-999
3MMMPP30 또는 1 + MMM00-000PP + 검사 숫자PP = 00-99
4MMMMP40 또는 1 + MMMM0-0000P + 검사 숫자P = 0-9
5MMMMM50 또는 1 + MMMMM-00005 + 검사 숫자5 = P
6MMMMM60 또는 1 + MMMMM-00006 + 검사 숫자6 = P
7MMMMM70 또는 1 + MMMMM-00007 + 검사 숫자7 = P
8MMMMM80 또는 1 + MMMMM-00008 + 검사 숫자8 = P
9MMMMM90 또는 1 + MMMMM-00009 + 검사 숫자9 = P



예를 들어, UPC-E 654321은 인코딩된 숫자의 UPC-E 패리티 패턴에 따라 UPC-A 065100004327 또는 165100004324에 해당할 수 있다.

UPC-A
검사 숫자
UPC-E의 UPC-A에 대한
패리티 패턴
0EEEOOO
1EEOEOO
2EEOOEO
3EEOOOE
4EOEEOO
5EOOEEO
6EOOOEE
7EOEOEO
8EOEOOE
9EOOEOE



"EOEOEO" 패리티 패턴(UPC-A 065100004327)을 가진 UPC-E 654321은 다음과 같이 표현할 수 있다.

: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.

UPC-E 654321의 바코드는 다음과 같다.


7. 6. UPC-2

UPC-2는 잡지나 정기간행물의 판을 나타내는 데 사용되는 2자리 보조 코드이다.[21]

7. 7. UPC-5

UPC-5는 책의 권장 소매 가격을 나타내는 데 사용되는 5자리 UPC 보조 코드이다.[21]

7. 8. EAN-13

EAN-13은 UPC-A의 상위 집합으로 개발되어 모든 UPC-A 번호 앞에 추가 자릿수를 더했다. 이를 통해 고유한 값의 수를 10배 증가시켜 이론적으로 1조 개까지 가능하게 했다. EAN-13 바코드는 제품을 판매하는 회사가 기반을 둔 국가를 나타내는데(제품이 제조된 국가와 동일하지 않을 수도 있다), 코드의 처음 세 자리는 GS1 국가 코드에 따라 결정된다. 모든 UPC-A 코드는 UPC-A 코드 앞에 0 자릿수를 추가하여 해당 EAN-13 코드로 쉽게 변환할 수 있으며, 이는 체크 숫자를 변경하지 않는다. 현재 모든 POS(판매 시점 관리) 시스템은 둘 다 똑같이 이해할 수 있다.

EAN-8은 EAN 바코드의 8자리 변형이다.

참조

[1] 웹사이트 GS1 BARCODE CHART http://www.gs1us.org[...] 2013-04-03
[2] 간행물 Upstream, Downstream: Diffusion and Impacts of the Universal Product Code https://www.journals[...] 2021
[3] 특허 Classifying Apparatus and Method
[4] 간행물 A Brief History of the Bar Code http://connection.eb[...] 2010-03
[5] 웹사이트 Our innovative history – McKinsey firsts https://www.mckinsey[...]
[6] 서적 Punched Cards to Bar Codes: A 200 Year Journey with Descriptions of over 260 Codes Helmers Publishing
[7] 간행물 June 26, 1974: By Gum! There's a New Way to Buy Gum https://www.wired.co[...] 2008-06-26
[8] 간행물 Scanning Species https://harvardmagaz[...]
[9] 웹사이트 The History of the Bar Code https://www.smithson[...] Smithsonian 2015-09-23
[10] 웹사이트 Oral-History: Murray Eden - Engineering and Technology History Wiki https://ethw.org/Ora[...] 1999-11-10
[11] 서적 Technology Applied to the Food Industry: A Preliminary Report https://books.google[...] 1975
[12] 서적 Twenty-Five Years Behind Bars: The Proceedings of the Twenty-Fifth Anniversary of the U.P.C. at the Smithsonian Institution, September 30, 1999 https://books.google[...] Harvard University Wertheim Publications Committee 2001
[13] 웹사이트 Murray Eden, a biomedical engineer with a love of singing, dies in Tucson at 99 https://tucson.com/n[...] 2020-08-18
[14] 웹사이트 Murray Eden https://bradroth.med[...] 2020-04-17
[15] 웹사이트 UPC - The Transformation of Retail https://www.ibm.com/[...] 2012-03-07
[16] 웹사이트 Alumni Hall Of Fame Members http://www.alumni.um[...] The University of Maryland
[17] 웹사이트 Drawing UPC-A Barcodes with C# http://www.codeproje[...] 2005-04-06
[18] 서적 UPC Symbol Specification Manual https://books.google[...] Uniform Code Council
[19] 웹사이트 Barcodes for Pharmaceuticals and Surgical Products https://upcs.com/blo[...] 2022-03-24
[20] 웹사이트 Barcodes for Coupons https://www.simplyba[...]
[21] 웹사이트 NHRIC (National Health Related Items Code) http://www.healthdat[...] U.S. Department of Health & Human Services
[22] 웹사이트 Bar Code 1: A Web Of Information About Bar Code UPC and EAN Bar Code Page https://www.adams1.c[...] 2013-06-20
[23] 웹사이트 UPC-A Symbology – UPC-E background information and UPC-A to UPC-E conversion http://www.barcodeis[...]



본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.

문의하기 : help@durumis.com