Datamatrix
데이터 매트릭스는 전체 256바이트 ASCII 문자 세트에서 3110문자까지 인코딩 할 수 있는 높은 밀도의 2차원 바코드입니다.
DF417 바코드 심볼과 비교하여 데이터 매트릭스 바코드 심볼은 두 차원보다 더 효율적으로 사용할 수 있게 합니다. 따라서 PDF417 심볼보다 높은 데이터 용량을 저장 할 수 있는 2차원 바코드의 최신 제품군에 속합니다.(~3kB vs ~2kB). 심볼은 스캐너가 바코드를 식별하도록 기호의 가장자리에 인식패턴을 가지는 정사각형 격자 위에 만들어져 있습니다. 인식패턴은 코드의 실제 방향과는 관계없이 바코드를 읽는 것을 가능하게 만듭니다.
또한 코드의 물리적 손상을 회복 하기위한 오류정정기능을 포함합니다. 원래 데이터 매트릭스는 복잡한 오류 정정 스키마(ECC)에 사용되었지만, 그것은 훨씬 더 효율적인 오류정정의 리드-솔로몬 유형을 사용하도록 변경되었습니다. 오래된 ECC 버전은 ECC 000 ~ ECC 140사이로 새로운 어플리케이션에 사용할 수 없습니다.
새로운 오류 정정 스키마(리드-솔로몬 코드와 같은)는 ECC 200 스키마로 알려져 있고 현재의 권장 스키마입니다. 기본적으로 라이브러리는 새로운 스키마를 사용 할 것 이지만 이전 ECC 스키마를 사용하기 위한 레거시 어플리케이션 지원도 존재 합니다.
- 머스트에서는 웹 시스템안의 QR 코드와 Datamatrix 코드를 전환에 대한 연구를 하였습니다.
- 본 문서는 코펜하겐 IT 대학의 Datamatrix를 번역한 문서입니다.
데이터 매트릭스 구조
- 아래의 이미지는 파인더 패턴과 동기화 패턴이 어디에 강조되어지는지에 대한 데이터매트릭스의 설명을 보여줍니다.
- 주로 영문 알파벳(ISO-8859/x code tables)을 처리하도록 설계 되었지만,사용자가 준비한 "확장 채널 해석"(ECI) 매커니즘의 사용을 통한 유니코드문자도 지원 합니다.
- ECI 표준 설명에 대해서는 공식 ECI 표준 문서를 참고하시기 바랍니다.
- 데이터 매트릭스 표준은 "미국규격협회(ANSI)"에 의해 표준 심벌러지(symbulogy)로써 채택되어졌고 많은 업계표준협회(예를들어 EIA, SstrongI, AIAG, ATA)는 사용하도록 추천해왔습니다.
라이브러리에서 제공되는 기능
- ECC 200 변종과 이전 ECC 140의 지원
- 출력 형식
- Image
- Postscript
- ASCII
- 모든 추천된 encodation 형식 지원
- ASCII
- C40
- BASE256
- Text
- X12
- 모든 지정된 크기의 상징 지원
- 자동 encodation 선택과 사용자 encodation 선택 둘다 지원
- 자동 심볼크기 선택과 사용자 심볼크기 선택 둘다 지원
- 모듈사이즈 사용자 지정 지원
- 사용자 정의 색상 지정(전경 배경) 지원
- quite zone 사용자 지정 지원
- 특수 이스케이프 시퀀스("제목" - 처리)의 사용을 통한 비 인쇄가능 문자의 쉬운 처리 지원
- 연결된 심볼 지원
- 심볼은 직접 파일에 기록 되어지거나 브라우저에 이미지로 다시 전송되어 질 수 있음.
JpGraph 데이터 매트릭스 구현의 한계
라이브러리의 버전은 매우 전문적이고 encodation 스키마의 제한된 사용 때문에 EDIFACT 표준 압축을 지원하지 않습니다.
표준 데이터매트릭스
- 표준 데이터 매트릭스는 ISO/IEC 16022E 국제표준 안에서 명시되어 있습니다.
ISO 표준기구: http://www.iso.org/ - 데이터 매트릭스 코드에 대한 자세한 정보는 다음의 미국 특허에 의해 이용가능 합니다: 4,939,354; 5,053,609; 5,124,536
미국 특허 사무소 보기 : http://patft.uspto.gov/netahtml/PTO/srchnum.htm
데이터매트릭스 코드의 구조
데이터 매트릭스는 사각형 모양의 2차원 기호입니다.
보통 주어진 데이터를 인코딩하기에 충분한 데이터 용량을 가지는 작은 사이즈로 생성되고, 크기와 심볼의 모양은 보통 자동 또는 사용자에 의해 선택됩니다.
사각형의 심볼은 사각형의 도트들로 구축되는데 그 사각형 도트의 크기인 “모듈” 또한 사용자가 지정 합니다.
- 데이터 매트릭스 사각 심볼은 2가지 기본 형태로 제공합니다.
- 1번째 형태는 모듈의 각 단계 10X10에서 144X144사이의 정사각형과 같습니다.
- 2번째 형태는 8x16에서 16x48 사이즈 사이의 직사각형입니다.
- 데이터 매트릭스 코드를 위한 최대의 용량은 3116개의 숫자 또는 2335개의 영숫자 또는 1555바이트의 이진법 정보입니다.
- 데이터 매트릭스 기호에 들어갈 수 있는 문자의 정확한 개수는 실제 인코딩 (또는 압축) 스키마 사용에 의해 결정되어집니다.
- 간단히 말해서 이것은 일정수의 바이트들에 더 많은 데이터를 적합한 ASCII 문자로 보다 효율적으로 인코딩하도록 사용됩니다.
- 예를들어 오직 숫자 데이터만 있는 경우 각각의 자리마다 하나의 바이트를 사용하는 대신에 두 자리를 잡아서 하나의 바이트에 저장되어집니다. 이런 이유로 배가 된 데이터양은 일정수의 바이트들에 저장될 수 있습니다.
- 1번째 형태는 모듈의 각 단계 10X10에서 144X144사이의 정사각형과 같습니다.
매트릭스 기호 단계
- 데이터를 인코딩하게 되면 데이터 매트릭스 기호 단계를 밟게 됩니다.
- 입력한 문자열(0에서 255사이의 어떠한 ASCII 값을 가질수 있음)은 선택된 인코딩을 사용하거나 인코딩들(이것은 문자열을 통하여 중간방식(mid-way) 인코딩으로 바꿀 수 있음)을 사용하여 인코딩됩니다.
- 만일 데이터가 필요한 경우, 선택된 심볼 크기의 용량을 채우기 위해 공백이 추가됩니다.
- 그 문자열(그리고 가능한 공백)은 인코딩 될 때 인쇄된 기호의 일부가 파괴 되어도 데이터가 회복될 수 있도록 많은 오류 수정 단어들을 더하게 됩니다.
- 마지막으로 인코딩된 데이터와 오류 수정 단어들은 알고리즘의 지정된 표준에 따라 심볼에 배치됩니다.
인코딩 효율
- 여러 압축 스키마는 더 많은 데이터에게 적합한 심볼을 주기 위해서 데이터를 인코딩하는데 사용되어집니다. 실제 데이터에 따라 가능한 한 최대한 많은 압축을 하기 위해서 몇몇의 압축스키마는 사용될 수 있습니다. 기본적으로 6 개의 다른 스키마를 지정합니다. 압축 효율은 아래 표와 같습니다.
- 응용 프로그램 라이브러리의 사용자에 따라 고정 인코딩 모드를 선택할 수도 있지만 일반적으로 가장 작은, 가능한 심볼의 크기의 최고의 라이브러리가 자동으로 주어집니다.
데이터 매트릭스 인코딩 효율 Encodation schema Characters Bits per character ASCII Double digit numerics 4 ASCII 0-127 8 Extended ASCII 128-255 16 C40 Primarily upper-case alphanumeric 5.33 Text Primarily lower-case alphanumeric 5.33 X12 ANSI X12 EDI data set 5.33 EDIFACT ASCII values 32-94 6 Base 256 All byte values 0-255 8
ECC 데이터 매트릭스 부분집합
- 소개에 설명한 것처럼 데이터 매트릭스 심볼의 두가지 부분집합이 있습니다. 그것들은 오류 수정을 위해 데이터 매트릭스 시스템의 초기설치의 대부분을 사용한 매우 복잡한 코드를 사용하고 있습니다. 이러한 매트릭스 시스템은 이전 버전의 ECC-000에서 ECC-140까지 참조하게 됩니다.(그 숫자는 매우 복잡한 수준의 오류 수정 코드를 지정함)
- 첫 번째 부분집합은 일반적으로 ECC-140로써 설명서의 나머지 부분에서 언급되어 집니다.
- 두 번째 부분집합은 ECC-200이 언급되고 Reed-Sulomon 에러 수정 기법을 사용합니다.
- 두 부분집합에 다음과 같은 특성을 가지고 있습니다.
- ECC-000에서 ECC-140까지의 심볼은 각 사각형 측면에 따라 모두 모듈의 홀수를 가지고 있습니다.
- ECC-200 심볼은 각 측면에 모듈의 짝수를 가지고 있습니다. ECC-200은 비평방(non-square) 심볼 크기를 가질 수 있습니다.
- 이런 이유로 인코딩이 사용된 유형은 자동식별(auto-discriminative)입니다. ECC-200 심볼의 최대 데이터 용량은 최대 144 사각 심볼 모듈에서 3,116자리 숫자, 또는 2335개의 영숫자입니다.
- 데이터 매트릭스 심볼의 두가지 유형의 라이브러리 생성을 지원 할지라도 모든 새로운 응용 프로그램이 더욱 현대적인 ECC-200의 부분집합과 표준을 사용하는 것을 추천합니다.
- ECC-140은 현대적인 ECC-200의 부분집합을 다룰 수 없는 업그레이드 되지 않은 오래된 장비인 레거시(legacy) 시스템인 경우에만 사용해야 합니다.
볼러지(Symbulogy) 데이터 용량
- 실제 데이터 용량은 심볼의 크기에 따라 다릅니다.
- 기본적으로 라이브러리는 주어진 문자열과 선택된 인코딩(아마도 자동)을 인코딩 할 가능한 가장 작은 심볼 크기를 선택할 것입니다.
- 아래 표는 데이터 매트릭스 부분집합의 다른 심볼 사이즈를 위한 최대 데이터 용량을 보여줍니다.
데이터 매트릭스 부분집합의 다른 심볼 사이즈를 위한 데이터 용량 Size Numeric capacity Alphanumeric capacity Binary capacity Max Correctable Error/Erasure 10 x 10 6 3 1 2 12 x 12 10 6 3 3 14 x 14 16 10 6 5/7 16 x 16 24 16 10 6/9 18 x 18 36 25 16 7/11 20 x 20 44 31 20 9/15 22 x 22 60 43 28 10/17 24 x 24 72 52 34 12/21 26 x 26 88 64 42 14/25 32 x 32 124 91 60 18/33 36 x 36 172 127 84 21/39 40 x 40 228 169 112 24/45 44 x 44 288 214 142 28/53 48 x 48 348 259 172 34/65 52 x 52 408 304 202 42/78 64 x 64 560 418 278 56/106 72 x 72 736 550 366 72/132 80 x 80 912 682 454 96/180 88 x 88 1152 862 574 112/212 96 x 96 1392 1042 694 136/260 104 x 104 1632 1222 814 168/318 120 x 120 2100 1573 1048 204/390 132 x 132 2608 1954 1302 248/472 144 x 144 3116 2335 1556 310/590 8 x 18 10 6 3 3 8 x 32 20 13 8 5 12 x 26 32 22 14 7/11 12 x 36 44 31 20 9/15 16 x 36 64 46 30 12/21 16 x 48 98 72 47 14/25
관련문서
- 엠큐알
- QR 코드 만들기 : http://www.must.or.kr/ko/service/qrcode.generator/
- QR 코드 솔루션 : 엠큐알