KR20010006507A - 기계-판독 가능한 심볼로지 및 그의 인쇄 및 판독 방법 및 장치 - Google Patents

기계-판독 가능한 심볼로지 및 그의 인쇄 및 판독 방법 및 장치 Download PDF

Info

Publication number
KR20010006507A
KR20010006507A KR1019997009597A KR19997009597A KR20010006507A KR 20010006507 A KR20010006507 A KR 20010006507A KR 1019997009597 A KR1019997009597 A KR 1019997009597A KR 19997009597 A KR19997009597 A KR 19997009597A KR 20010006507 A KR20010006507 A KR 20010006507A
Authority
KR
South Korea
Prior art keywords
symbol
characters
character
symbols
values
Prior art date
Application number
KR1019997009597A
Other languages
English (en)
Inventor
액리에이치.스프라그
위클로프크리스토퍼에이.
Original Assignee
토마스 오. 밀러
인터멕 테크놀로지즈 코포레이션
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US08/842,644 external-priority patent/US6149059A/en
Priority claimed from US08/914,324 external-priority patent/US6012638A/en
Priority claimed from US09/021,608 external-priority patent/US6321986B1/en
Application filed by 토마스 오. 밀러, 인터멕 테크놀로지즈 코포레이션 filed Critical 토마스 오. 밀러
Publication of KR20010006507A publication Critical patent/KR20010006507A/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K19/00Record carriers for use with machines and with at least a part designed to carry digital markings
    • G06K19/06Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
    • G06K19/06009Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking
    • G06K19/06018Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking one-dimensional coding
    • G06K19/06028Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking one-dimensional coding using bar codes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K19/00Record carriers for use with machines and with at least a part designed to carry digital markings
    • G06K19/06Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code

Abstract

전형적인 실시예에서 본 발명의 신규 바 코드 심볼로지는 코드 93과 유사하게 9개의 모듈러스 내에 3개의 바들(및 스페이스들)을 사용한다. 여러 개의 특수 모드 문자들을 포함하는 53개 데이터 문자들이 정의된다. 특정 루틴과 함께 이들 특수 모드 문자들을 사용함으로써, 3개의 기호 문자들은 2개의 8-비트 바이트, 또는 하나의 16비트 워드를 나타낼 수 있다. 결과적으로, 심볼로지는 컴퓨터 프로세싱에 사용하기 위해 8-비트 바이트를 효율적으로 인코딩할 수 있거나, 또는 유니코드 등의 16-비트 문자 세트를 인코딩할 수 있다. 심볼로지는 확장된 채널 해석(ECI) 번호를 인코딩하고, 다중 숫자 압축 모드를 제공하고, 기타 특징들 뿐만 아니라 단일 모드 문자를 사용하는 구축된 부록을 제공한다. 또한, 이 심볼로지는 기호 내에 에러 정정의 사용을 나타내는 특수 형상의 프래그 문자에 의한 에러 정정을 포함한다.

Description

기계-판독 가능한 심볼로지 및 그의 인쇄 및 판독 방법 및 장치{Robust machine-readable symbology and method and apparatus for printing and reading same}
바 코드 심볼로지는 최초로 커모드(Kermode)에 의해 미국 특허 제1,985,035호에 개시되었고, 이후 1930년대에 Westinghouse에 양도된 Young의 미국 특허 제2,020,925호에서 간단히 확대되었다. 이들 초기 심볼로지는 보다 큰 반사율의 소자, 또는 "스페이스"에 의해 분리되는 낮은 반사율의 가지 각색의 단일폭 소자, 또는 "바"를 발생시킴으로써 인쇄되었다. "소자"란 바 또는 스페이스이다. 현재 사용되는 이들 초기 심볼로지 및 많은 "바 코드 심볼로지"는 주어진 기호의 데이터가 하나의 축 또는 방향을 따라 디코딩되기 때문에 "선형 심볼로지"라 칭할 수 있다. 선형 심볼로지 등의 심볼로지는 특정 데이터 문자를 인코딩하도록 유일한 그룹의 패턴을 형성하는 바 및 스페이스를 선택하여 병렬 배열시키는 "기호 문자"로서 "데이터 문자"(예, 인간이 판독 가능한 문자)를 인코딩한다. "데이터 문자"는 인간이 판독 가능한 문자를 포함할 뿐만 아니라, 특정 기능의 데이터를 제공하는 시작, 종료 또는 시프트 문자 등의 특정 기능 문자를 포함한다. 소정의 폭 내의 바 및 스페이스의 각각의 유일한 그룹 또는 패턴은 특정 기호 문자, 및 그에 따른 특정 데이터 문자 또는 문자들을 정의한다.
공지된 U.P.C. 심볼로지는 일반적으로 (7,2) "n,k 코드"로서 기재될 수 있다. "n,k 코드"는 각각의 기호 문자가 "k" 번호의 바 및 스페이스를 갖고, 그의 전체 길이가 "n" 모듈 길이인 심볼로지로서 정의된다. 따라서, U.P.C. 심볼로지는 각각의 기호 문자에 2개의 바 및 2개의 스페이스를 인코딩하고, 각각의 기호 문자는 7 모듈 길이이다. "모듈"은 바 코드 심볼로지에서 가장 좁은 명목상의 폭 유니트의 측정치이다. "명목상"은 인쇄 에러 등과 무관하게, 특정 파라메터의 의도된 값을 언급한다. 통상적인 계수 기술에 따라, 가능한 기호 문자들의 수는 7개의 모듈에서, 트랜지션이 발생할 수 있는 경우 6개의 위치가 존재하고, 2개의 바 및 2개의 스페이스에 대해, 3가지 내부 트랜지션이 존재하는 것을 이해함으로써 발견될 수 있다. 따라서, U.P.C. 심볼로지에 대한 유일한 기호 문자들의 수는 20과 동일하게 단순히 6 선택 3이다. (11,3) 심볼로지인 코드 128 심볼로지에 따라, 252개의 독특한 기호 문자들이 이용된다(10 선택 5).
U.P.C., EAN, 코드 11 및 코다바로서 공지된 바 코드 심볼로지는 단지 숫자 데이터 문자, 및 "+"와 "-" 등의 몇몇 특수 문자를 지원하는 모든 바 코드 심볼로지 표준이다. U.P.C. 심볼로지는 표준 용도에서 공업적으로 채택된 것중에서(소비자 상품), 공업 표준 뿐만 아니라 바 코드 표준이다. 바 코드 표준 코드 39는 개발된 첫 번째 영숫자 바 코드 심볼로지이다. 그러나, 그것은 43개의 문자로 제한된다.
코드 93은 코드 39에 비해 개선된 것이다. 코드 93은 4개의 소자 폭을 사용하는 연속적인 바 코드 심볼로지이다. 각각의 코드 93 기호는 흑색 또는 백색(바 또는 스페이스)일 수 있는 9개의 모듈러스를 갖는다. 코드 93 표준에서 각각의 기호는 3개의 바 및 3개의 스페이스(6개의 소자)를 포함하고, 그의 전체 길이는 9개의 모듈러스 길이이다. 기호당 9개의 모듈러스 및 3개의 바를 갖는 코드 93은 56개의 가능한 문자(8 선택 5)를 갖는 (9,3) 심볼로지이다. 에지-에지 디코딩 이유 때문에, 코드 93 심볼로지 표준은 단지 48개의 독특한 기호를 정의하고, 따라서, 그의 문자 세트 + 시작/종료 코드로 47개 문자를 정의할 수 있다. 47개 문자는 숫자 문자 0-9, 영문자 A-Z, 일부 부가적 기호 및 4개의 시프트 코드를 포함한다.
컴퓨터 업계는 자체의 문자 인코딩 표준, 즉, 정보 교환을 위한 미국 표준 코드(ASCII)를 사용한다. ASCII는 128개의 문자 및 기호를 포함하는 문자 세트를 정의한다. ASCII에서 각각의 문자는 독특한 7-비트 코드로 나타낸다. 코드 39 및 코드 93은 50개의 문자 보다 더 적은 수로 제한되고, 이들 표준은 각각의 ASCII 문자를 유일하게 나타내기에 부적절하다. 그러나, 코드 93에서 4개의 시프트 코드는 이러한 표준이 128개 ASCII 문자 모두를 모호하지 않게 나타낼 수 있게 한다. 한가지 결점은 일련의 2가지 코드 93 기호들이 단일 ASCII 문자를 나타내기 위해 필요하다는 것이다. 따라서, ASCII 문자 세트에서 문자들을 나타내는 바 코드 라벨은 코드 93 문자 세트에서 문자들을 나타내는 라벨의 길이의 2배이다.
코드 128 등의 신규 바 코드 심볼로지 표준은 완전한 ASCII 문자 세트를 인코딩하기 위해 개발되었으나, 이들 표준은 특정 문자를 나타내기 위해 시프트 코드 또는 기타 선행 기호들을 요하는 것을 포함하는 특정 단점을 경험하게 된다. 모든 이들 심볼로지는 전체 ASCII 문자 세트를 처리하기 위해 증가된 처리 시간 및 경비를 필요로 한다.
컴퓨터 업계는 ASCII 문자 세트의 한계를 넘어서 성장하였다. 컴퓨터 시장이 성장함에 따라, ASCII 문자 세트로 정의하지 못하는 부가적인 언어를 지원할 필요성 역시 증가하였다. 신규 문자 세트는 관련된 언어로 문자들의 클러스터를 수용하도록 개발되었다. 원시 7-비트 ASCII 문자 세트는 8비트로 확대됨으로써, 부가적인 128개의 문자 또는 데이터 값을 제공한다. 부가적인 문자에 대해 허용되는 데이터 값의 이와 같이 부가적인 128개 세트("상위 128" 또는 "확장된 ASCII")는 나타낼 관련 로맨스 언어(즉, 불어, 독일어, 스페인어 등)에 존재한다. 8-비트 데이터를 인코딩할 수 있는 유일한 선형 심볼로지는 "강한 시작/종료 문자 및 에러 검출 도식을 이용하는 완전한 문자 세트를 갖는 단일 폭 바 코드 심볼로지(Single Width Bar Code Symbology With Full Character Set Utilizing Robust Start/Stop Characters and Error Detection Scheme)"라는 표제의 발명자들의 미국 특허 제5,619,207호에 기재된 코드 128 및 "코드 53"이다. 코드 28 및 코드 53 모두는 단일 또는 이중 기능 시프트 문자를 사용함으로써 8-비트 데이터를 인코딩하고, 따라서 모든 바이트 값은 데이터 문자가 인코딩되기 전에 분석되어야 하기 때문에, 증가된 처리 시간 및 경비를 요하게 된다.
그러나, 컴퓨터 시장이 국제적으로 성장함에 따라, 훨씬 더 많은 언어들이 문자 세트에 포함될 필요가 있게 되었다. 특히, 아시아의 시장은 컴퓨터 상에서 사용될 수 있는 수천 개의 독특한 문자들을 지원하는 문자 세트를 요구하고 있다. 이들 문자들 각각을 유일하게 정의하기 위해, 16-비트 인코딩 표준이 필요하다.
유니코드(Unicode), JISC-6226-1983 등의 여러 가지 16-비트 인코딩 표준, 및 기타 표준이 현재 개발되고 있다. 유니코드 문자 인코딩 표준은 고정 길이의 균일한 텍스트 및 문자 인코딩 표준이다. 유니코드 표준은 65,536개에 달하는 문자를 포함할 수 있고, 현재 그리스어, 히브루어, 라틴어, 일본어, 중국어, 한국어, 및 대만어를 포함하는 세계의 스크립트 상으로 매핑되는 28,000개 이상의 문자를 포함한다. 유니코드 표준은 ASCII 문자 세트로 모델링되고 있다. 유니코드 문자 코드는 언어와 무관하게 일정하게 16비트 길이이므로, 임의의 언어에서 임의의 문자를 특정하기 위해 어떠한 에스케이프 시퀀스 또는 제어 코드도 필요치 않다. 유니코드 문자 인코딩은 문자들, 영문자들 및 표의 문자들을 동일하게 다룸으로써, 이들이 여러 가지 컴퓨터 용도에 동시적으로 및 동일하게 용이하게 사용될 수 있다. 텍스트를 디스플레이할 수 없거나 또는 인쇄할 수 없는 문자를 나타내기 위해 유니코드 문자 인코딩을 사용하는 컴퓨터 프로그램은 신규 스크립트 또는 문자들이 도입될 때 변경되지 않은 채로 유지될 수 있다.
신규 컴퓨터 오퍼레이팅 시스템은 이와 같이 포괄적인 16-비트 코드 표준, 예를 들면 워싱턴주 레드먼드 소재 마이크로소프트사가 제조한 WINDOWS NT를 지원하기 시작한다. 그러나, 데이터 수집 업계는 컴퓨터 업계와 보조를 맞추는 데 실패하였다. 현재 16-비트 컴퓨터 문자 코드를 바 코드 기호로 용이하게 인코딩하기 위한 어떠한 시스템도 존재하지 않는다. 따라서, 데이터 수집 업계, 특히 바 코드 심볼로지에 있어서 이들 16-비트 컴퓨터 문자 표준을 지원할 필요가 있다.
더욱이, 대부분의 영숫자 바코드 심볼로지는 긴 시리즈의 숫자 또는 하위 케이스의 영문자를 인코딩하기 위해 사용될 때 비능률적이다. 예를 들면, 코드 93을 사용하는 일련의 십진수를 인코딩할 때, 26개의 영문자를 반영하는 26개의 바코드 기호가 사용되지 않는다. 따라서, 이들 영숫자 바 코드 심볼로지가 긴 시리즈의 숫자를 보다 효율적으로 나타내게 할 필요가 있다. 또한, 많은 심볼로지는 에러 정정 특징이 결여되었다.
한기지 공지된 심볼로지인 IPC 심볼로지는 또 다른 기호가 인접한지 여부 및 어떠한 방식으로든지 IPC 기호에 관련된 데이터를 포함하는지 여부를 지시한다. IPC 심볼로지에 대한 데이터 세트에서 패리티 배열은 이와 같이 인접한 기호의 존재를 지시한다. IPC 심볼로지는 U.P.C. 심볼로지 등의 Nniform Code Council(UCC) 용도에 사용된 고정된 폭의 숫자 심볼로지이다. IPC 심볼로지는 고정된 폭이기 때문에 고정된 수의 문자들 만이 하나의 기호 내에서 인코딩될 수 있다. 더욱이, 숫자 데이터 문자들 만이 이러한 기호들에서 인코딩될 수 있다. 결과적으로, IPC 심볼로지는 최소 데이터 수집 용도로만 제한된다.
본 발명은 신규한 기계-판독 가능한 심볼로지 및 그 심볼로지에 따라 기호들을 판독 또는 인쇄하기 위한 장치 및 방법에 관한 것이다.
도 1은 본 발명의 전형적인 실시예에 따라 인쇄 또는 판독되는, 인간이 판독 가능한 문자들과 함께, 바 코드 기호 문자들을 갖는 라벨의 예이고,
도 2는 본 발명의 전형적인 심볼로지에 대한 기호 값들 및 연관된 기호 문자들 및 데이터 문자들을 보여주는 테이블이며,
도 3은 전형적인 기호 문자 포맷을 보여주고,
도 4는 그의 관련된 데이터 문자로 식별된 각각의 기호 문자를 갖는, 도 1의 바 코드 기호를 보여주며,
도 5는 도 2의 심볼로지에 따라 인코딩될 수 있는 완전한 ASCII 데이터 문자를 보여주는 테이블이고,
도 6은 본 발명의 바 코드 기호 인쇄 장치의 블록도이며,
도 7은 전형적인 실시예 하의 바 코드 기호들을 인쇄하기 위한 도 6의 인쇄 장치에 의해 수행되는 기본 단계를 보여주는 전형적인 흐름도이고,
도 8은 본 발명의 바 코드 기호 판독 장치의 블록도이며,
도 9는 전형적인 실시예 하의 바 코드 기호들을 판독하기 위한 도 8의 판독 장치에 의해 수행된 기본 단계들을 보여주는 흐름도이고,
도 10은 에러 정정 문자들을 사용하는 93i 기호의 개략도이며,
도 11은 인접한 짝 기호를 갖는 93i 기호의 개략도이고,
도 12는 93i 기호 및 짝 2차원 기호의 블록도이며,
도 13은 93i 기호 및 짝 RF 태그의 블록도이고,
도 14는 93i 기호 위에 위치된 짝 PDF417 기호와 함께 93i 기호를 보여주며,
도 15는 93i 기호의 우측에 위치된 짝 코드 49 기호와 함께 93i 기호를 보여준다.
본 발명은 상기 문제점들을 해결하고, 부가적인 이익을 제공한다. 본 발명의 일 실시예에서, 그룹 시프트 특징은 하위 케이스의 영문자들, 숫자 문자들 및 기타 하위 ASCII 문자들의 스트링을 예를 들면 이들 하위 케이스의 영문자들/숫자 문자들 10개의 하나의 그룹에 대해 기호 문자당 10.8 모듈 내에서 효율적으로 디코딩될 수 있게 한다.
다른 실시예에 따라, 에러 정정 또는 특수 형상의 프래그는 기호 내의 에러 정정 문자들을 지시하기 위해 사용될 수 있다. 특수 형상의 프래그 문자는 메시지 길이 지시기 문자 이후에 기호의 중앙에 위치된다. 전형적인 실시예에서, 에러 정정을 사용하는 기호는 2개의 에러 또는 3개의 소거가 기호 내에서 정정되게 하는 5개의 에러 정정 문자를 포함한다. 더욱이, 기호의 시작 또는 끝 부분들이 정정될 수 있고, 기호는 절반으로 인코딩될 수 있다.
다른 실시예에서, 심볼로지는 임의의 바이트 값에 대해 균일하게 작용하는 단순한 바이트 코드화 모드를 기재함으로써 8-비트 및 16-비트 데이터를 인코딩하는 복잡한 방법을 피한다. 전형적인 실시예에서, 본 심볼로지는 코드 93 심볼로지과 유사하므로, 기호 문자들은 단지 9개의 모듈러스 길이이다. 3개의 기호 문자들은 2개의 8-비트 바이트를 인코딩한다. 따라서, 하나의 바이트는 바이트 값과 무관하게 약 13.5 모듈을 필요로 한다. 데이터 문자들을 인코딩하기 위한 모듈러스의 수의 추가의 감소는 디지트 또는 베이스 코드 93 데이터 문자들의 스트링 등의 전형적인 심볼로지에 따라 허용된다.
본 발명의 실시예에서, 확장된 채널 해석(ECI) 번호는 공식적으로 인코딩된다. 결과적으로, 판독기가 결합될 수 있는 호스트 컴퓨터 시스템은 이 호스트 컴퓨터에 의해 사용된 기본적인 문자 세트 또는 용도와 무관하게 세계 어느곳에서나 코드된 메시지를 유일하게 디코딩할 수 있다. 16-비트 문자들은 전형적인 심볼로지에 따라 3개의 문자로 나타내며, 다른 모드에서 2개의 8-비트 바이트는 3개의 기호 문자들로 나타낸다. 3개의 기호 문자들 내에 2개의 8-비트 바이트를 나타냄으로써, ISO 시리즈 8859-1-8859-9 등의 비교적 적은 국제 문자 세트 뿐만 아니라 확장된 ASCII 데이터 문자들이 공식적으로 인코딩될 수 있다.
광범위한 의미에서, 본 발명은 복수개의 기호 문자들을 갖는 기계-판독 가능한 심볼로지를 구현한다. 기계-판독 가능한 심볼로지는 적어도 하나의 에러 정정 기호 문자가 기호 문자들의 그룹 내에 존재하는 것을 나타내는 에러 정정 플래그 기호 문자를 포함한다.
또한, 본 발명은 복수개의 기호 문자들을 갖는 기계-판독 가능한 심볼로지를 구현하고, 여기서, 기호 문자들의 그룹은 인쇄 가능한 기호를 형성한다. 기계-판독 가능한 심볼로지는 인쇄 가능한 기호 내의 제1 위치에 제1 기능을 나타내는 특수 형상의 프래그 기호 문자를 포함한다. 특수 형상의 프래그 기호는 인쇄 가능한 기호 내의 제2 위치에 제 2 기능을 지시한다. 더욱이, 심볼로지는 코드 93 시작 및 종료 문자, 및 표준 코드 93 심볼로지에서의 값들 이상의 문자 값들을 갖는 기호를 식별하기 위한 2개의 독특한 시작 및 종료 문자, 에러 정정을 갖는 기호, 및 전형적으로 현재 기호에 인접하거나 또는 그 근처에 위치하는 관련된 또는 짝 기호들을 갖는 기호들의 조합을 사용할 수 있다. 또한, 본 발명은 여러 국면에서 기계-판독 가능한 기호들을 인쇄 및 판독하기 위한 방법 및 장치 및 본 발명의 기타 실시예 및 국면을 구현한다.
본 명세서에 일반적으로 사용된 바와 같이, 하기 정의가 적용된다: "데이터 문자"는 기능 코드, 시프트 코드 등의 판독 불가능한 데이터 뿐만 아니라 기호들, 숫자 문자들, 영문자들 및 표의 문자들을 포함하는 인간이 판독 가능한 문자를 의미하고; "숫자 스트링"은 전형적으로 십진수 디지트 등의 숫자 문자들의 시퀀스를 의미하고; "문자 코드들"은 코드, 전형적으로 숫자를 의미하고, 이는 문자 코드 세트 내의 데이터 문자 및 대응하는 데이터 문자들, 예를 들면 ASCII를 의미하고, 여기서 "8-비트 코드"는 ASCII 표준에서 데이터 문자에 대응하는 확장된 ASCII 코드를 의미하고, "16-비트 코드" 또는 "16-비트 문자 코드"는 유니코드 등의 16-비트 문자 인코딩 표준에서 데이터 문자의 16진수 또는 십진수 표기법을 의미하고; "바 코드 심볼로지"는 데이터 문자 세트를 독특하게 나타내기 위한 기계-판독 가능한 문자들 또는 기호 문자들 세트를 의미하고; "기호 값"은 바 코드 심볼로지에서 데이터 문자를 나타내는 서수 등의 코드를 의미하고; "기호 문자"는 특정 데이터 문자들을 나타내기 위해 바 코드 심볼로지에 사용된 독특한 기하학적 형상 또는 바 또는 스페이스 패턴을 의미하고; "바 코드 표준"은 데이터 수집 용도에 의해 인식되거나 또는 그에 규칙적으로 사용된 바 코드 심볼로지(예, 코드 128, 코드 93)를 의미하고; "카운트"는 바 코드 심볼로지에서 데이터 문자에 대응하는 기호 문자를 판독할 때 사용된 독특한 세트의 전기 신호들을 의미한다.
예를 들면, 16-비트 문자 인코딩 표준 유니코드에서, 데이터 문자 "A"는 16진수 표기법에서 16-비트 코드 "0041"로 나타내고 십진수 표기법에서 "65"로 나타낸다. 데이터 문자 "A"는 바 코드 심볼로지 코드 93에서 "10"의 기호 값을 갖는다. 코드 93에서 기호 값 10은 단일 모듈 폭 스페이스, 단일 모듈 폭 바, 단일 모듈 폭 스페이스, 단일 모듈 폭 바, 및 3개의 모듈 폭 스페이스가 후속하는 2개의 모듈 폭의 패턴을 갖는 기호 문자에 대응한다. 이러한 기호의 인쇄와 연관된 카운트는 일반적으로 각각의 프린터에 대해 독특하고, 열 프린터에 대해, 바들이 프린터를 통해 라벨의 방향에 대해 수직으로 위치된 경우에 그를 지나쳐 시프트된 감열 페이퍼와 같이 프린터의 가열 소자를 적절히 활성화시키기 위해 바들과 스페이스들 간의 트랜지션 사이의 시간격을 나타낼 수 있다. 대안으로, 카운트는 바들이 프린터를 통해 라벨의 방향과 평행할 때 활성화시키기 위한 도트 또는 써멀-프린트 소자를 지시할 수 있다.
일반적으로 본 명세서에서 "93i"라 칭하는 본 발명의 실시예에 따른 신규 바코드 또는 선형 심볼로지는 임의의 16-비트 문자 코드에서 각각의 16-비트 코드를 유일하게 나타내고, ECI 문자를 인코딩할 뿐만 아니라 본 명세서에 상세히 기재된 부가적인 특징을 제공하기 위해 데이터의 바이트 및 워드를 효율적으로 인코딩한다. 도 1은 93i 심볼로지에 따라 인쇄 또는 판독되는 라벨 101의 예를 보여준다. 도 1에 나타낸 바와 같이, 라벨 101은 인쇄된 안간이 판독 가능한 문자들에 대응할 뿐만 아니라 데이터 문자들을 인코딩하는 일련의 바 코드 기호들을 포함한다.
93i 심볼로지는 코드 93과 유사하다. 결과적으로, 93i 심볼로지는 숫자, 영숫자 및 완전한 128 ASCII 문자들을 인코딩한다. 부가적으로, 93i 심볼로지는 확장된 ASCII 문자들 및 16-비트 문자 코드로 나타낸 것들과 같은 모든 국제적 문자 세트를 인코딩한다. 93i 심볼로지는 연속적인 것으로, 아래 기재하는 바와 같이 3개의 바들 및 3개의 스페이스들과 더불어 기호당 6개의 소자를 갖는 기호 구조를 사용한다. 93i 심볼로지에 따른 문자들은 자체-체킹되지 않고, 기호 길이는 가변적이다. 93i 심볼로지는 2개의 기호 체크 문자 또는 임의의 에러 정정 문자를 사용한다. 93i 심볼로지는 비데이터 비용과 동등하게 37 모듈을 사용한다. 중요하게는, 93i 심볼로지는 다음과 같이 데이터 문자 밀도를 허용한다: 즉, 숫자 디지트당 5.4 모듈, 영숫자 데이터에 대해 기호 문자당 9 모듈, 완전한 ASCII 및 확장된 ASCII에 대해 13.5 모듈(ISO8859 8-비트 단일-바이트 코드된 그래픽 문자 세트 표준에 따라 정의됨), 하위 케이스 영문자들 및 기타 하위 ASCII 문자들의 스트링에 대해 10.5 모듈 및 아시아 문자 또는 16-비트 문자 코드 문자들 당 27 모듈. 부가적으로, 본 발명이 심볼로지는 확장된 채널 해석(ECI) 프로토콜(아래 기재됨)을 지원하고, 현존하는 코드 93 심볼로지과 완전히 호환적이다.
도 2는 93i 심볼로지에서 각각의 데이터 문자에 대한 기호 문자 할당을 보여준다. 도 2에서 "값" 칼럼은 각각의 기호 문자에 대한 기호 값을 나타낸다. 본 명세서에 기재된 바와 같이, 기호 값은 체크 또는 에러 정정 문자를 연산하기 위해 사용될 뿐만 아니라, 여러 가지 데이터 압축 방법에도 사용된다. 도 2에서 "문자"는 각각의 기호 문자에 대한 교대하는 바 및 스페이스 패턴을 열거하고, 여기서 "1"은 하나의 모듈에 대응하고, "2"는 2개의 모듈에 대응한다. 각각의 문자는 바로 시작한다. 도 2에서 "데이터" 칼럼은 각각의 기호 문자에 대응하는 베이스 데이터 문자 또는 그 기호 문자의 기능성을 나타낸다. 도 2에 나타낸 바와 같이, 기호 값 00-46, 및 이들의 대응하는 기호 문자들 및 데이터 문자들은 시작 및 종료 기호 문자들 뿐만 아니라 코드 93 심볼로지에서 대응하는 기호 값들, 기호 문자들 및 데이터 문자들과 일치한다.
부가적으로, 93i 심볼로지는 독특한 시작 및 종료 문자들을 사용하고: 즉, 시작 문자는 바 및 스페이스 패턴 2,1,3,1,1,1로 구성되고, 종료 문자는 동일한 바 및 스페이스 패턴으로 구성되지만 말단에 부가적으로 2개의 넓은 바를 포함하는, 즉, 2,1,3,1,1,1,2로 구성된다. 이러한 선택적인 시작 및 종료 문자들은 코드 93 심볼로지로부터 본 발명의 심볼로지를 차별화시키고, 흐릿한 디코딩을 조장하기 위해 문자의 시작 및 종료 시에 넓은 소자를 갖는 문자들을 제공한다. 보다 중요하게는, 2가지 입수 가능한 시작 및 종료 문자들은 4가지 독특한 유형의 기호들이 유효하게 한다.
코드 93 시작 및 종료 문자들 각각으로 시작 및 종료되는 제1 유효 기호 타입은 47 미만의 문자 값을 갖는 모든 기호 문자들을 포함하고, 모든 시프트 문자는 데이터 문자 세트 A, V,..., Z 내의 문자 값이 후속한다. 제2 유효 기호 타입은 코드 93 시작 문자로 시작하고, 46을 초과하는 적어도 하나의 문자 값 또는 A, B, ..., Z 이외의 47 미만의 문자 값이 후속하는 적어도 하나의 시프트 문자, 예를 들면 코드 93에 대해 정의되지 않고, 93i 종료 문자로 종료되는 문자 스트링을 포함한다.
제3 유효 기호 타입은 93i 시작 문자로 시작하고, 93i 심볼로지에 따른 임의의 데이터 문자 조합을 나타내는 기호 문자들의 중앙에 특수 형상의 프래그(아래 기재함)를 포함하고, 코드 93 종료 문자로 종료한다. 제3 유효 기호는 93i 에러 정정된 기호이다. 제4 유형의 유효 기호는 93i 시작 및 종료 문자로 시작 및 종료되고, 임의의 데이터 문자 조합을 포함하지만, 이러한 시작/종료 문자 조합은 짝 기호가 존재하는 것을 지시한다. 예를 들면, 93i 시작 및 종료 문자들을 갖는 93i 기호는 라인 주사 가능한 기호가 93i 기호에 근접하게 또는 그 근처에 위치하는 것을 판독기에 나타내고, 전형적으로 93i 기호 내에 인코딩된 데이터에 연관된 인코딩된 데이터를 포함한다. 짝 기호의 사용은 아래 보다 상세히 기재한다.
하기 테이블은 93i 심볼로지에 따라 시작/종료 문자 조합을 요약한다. 하기 테이블에서 "C93"은 코드 93 시작/종료 문자를 의미하는 한편, "EC"는 에러 정정을 나타낸다.
시작/종료
p 유형 구별되는 특징
문자
C93/C93 코드 93 (46보다 큰 값의 문자 또는 불법적
시프트 조합 없음)
C93/93i 93i (93i 종료 문자 및 적어도 하나의 기타
93i 특수 특징을 가짐)
93i/C93 EC에 따른 93i (93i 시작 문자 및 항상 52 값의 문자를
가짐)
93i/93i 비교에 따른 93i (시작 및 종료 문자들로서 적어도 2개의
93i 문자들을 가짐)
인접한 태그 지시 특징(아래 기재함)은 93i 시작/종료 문자 조합중 어느 것에 의해 사용될 수 있음에 주의하자. 본 명세서에 명확하게 정의되지 않은 모든 문자 조합 또는 모드 값들은 무효이며, 디코딩 오퍼레이션을 실패하게 만든다.
코드 93 심볼로지에서의 값들을 넘는 문자 값들을 갖는 문자들 뿐만 아니라, 93i 심볼로지에 따른 독특한 시작 및 종료 문자들을 사용함으로써, 적어도 2가지 패턴 변화는 표준 코드 93 기호에 따라 93i 기호를 혼동시키는 데 필요하다. 예를 들면, 93i 시작 또는 종료 문자, 및 46보다 큰 값을 갖는 문자는 코드 93 시작/종료 문자 및 46보다 작은 값을 갖는 문자로서 해석되어야 한다. 부가적으로, 체크 문자는 표준 코드 93 기호로서 해석될 93i 기호에 대해 전형적으로 오역될른지 모른다.
코드 93 심볼로지과 달리, 93i 심볼로지는 코드 93 심볼로지에 사용된 47보다는 53 기호 값을 사용한다. 보다 상세하게는, 93i 심볼로지는 기호값 47-52 및 2개의 시작 문자들을 부가한다. 2,1,3,1,1,1의 바 스페이스 바 패턴으로 시작하는 제1 시작 문자는 기호가 93i 기호임을 나타내고, 따라서 기호 값 47-52를 포함할 수 있다. 93i 시작 문자에서 단일 폭 스페이스에 의해 분리된 2개의 넓은 바들을 사용함으로써, 판독기는 단일 폭 스페이스가 분해되었는지 여부를 결정함으로써 기호가 또렷한지 여부를 결정할 수 있다. 판독기가 93i 시작 문자에서 5-폭의 바를 식별하는 경우, 판독기는 1-넓이 스페이스 분해되지 않기 때문에 기호마 마찬가지로 흐릿함을 판단한다.
다른 시작 문자는 코드 93 심볼로지에 대한 시작 기호와 동일하고, 기호가 유일한 유효 코드 93 기호 문자들을 사용하여 인코딩되는 것을 지시한다. 고르게 혼합된 영숫자 메시지에 대해, 상위 케이스 영문자만을 사용함으로써, 코드 93 심볼로지는 가장 효율적인 문자 밀도를 제공하고, 따라서 그러한 메시지에 대해 바람직하다.
도 3에 나타낸 바와 같이, 93i 심볼로지에서 각각의 기호 문자에 대한 기호 문자 구조는 9개의 모듈 내에 3개의 바 및 3개의 스페이스들을 사용한다. 각각의 바 또는 스페이스는 1, 2, 3 또는 4 모듈 폭이다. 코드 93 심볼로지에서와 같이, 93i 심볼로지는 X 치수의 10배와 동일한 최소 폭을 갖는 리딩 안정 존(QZ), 2개의 시작 문자들중의 하나, 데이터 문자들을 인코딩하는 1개 이상의 기호 문자, 2개의 기호 체크 문자("C" 및 "K"라 칭함), 종료 기호 문자 및 꼬리 안정 존을 사용한다. 기호는 이하 고찰되는 바와 같이 기호의 중앙에 에러 정정 또는 특수 기능 플래그 및 메시지 길이 지시기, 및 5개의 에러 정정 문자를 포함할 수 있다. 도 4는 각각의 기호 문자에 대해 대응하는 데이터 문자와 함께, 각각의 기호 문자 간의 짧은 수직 라인으로 나타내는 개개의 기호 문자들로 분석되는 라벨 101(에러 정정 없음)의 기호 문자들을 보여준다.
상기한 바와 같이, 각각의 93i 기호는 종료 기호 문자 직전에 2개의 체크 문자들을 포함한다. 모듈로 53 합은 기호 내의 모든 기호 값에 대한 체크 알고리즘에 따라 사용된다.
코드 93 심볼로지에 의해서와 같이, 체크 문자 "C"는 도 2에 나타낸 바와 같이 가중 시퀀스에 의해 배가된 기호 값들의 곱의 모듈로 합에 기초하여 연산된다. 직전에 선행하는 문자로 시작하는 우측으로부터 좌측으로의(종료 기호 문자로부터 시작 기호 문자로의) 가중 시퀀스는 반복되는 시퀀스 1,2,3,...20,1,2,3,...20, 1,2,...이다. 체크 문자 "K"는 기호 값들과 상이한 가중 시퀀스의 곱의 모듈로 합에 기초하여 생성되고, 여기서, 체크 문자 "C"로 시작하여 우측으로부터 좌측으로의 가중은 반복되는 시퀀스 1,2,3,...15,1,2,3,...15,1,2,...이다. 코드 93 심볼로지에서와 같이, 시작 및 종료 기호 문자들은 체크 문자 산출에 포함되지 않는다.
93i 기호 위에 위치된 짝 PDF417 기호와 함께 93i 기호를 보여주며, 예를 들면, E 4의 기호를 고려하면, 데이터 문자들은 좌측에서 우측으로 9,3,i,[ECI 16], {30908}이고, "[ECI 16]"은 ECI 값 000016을 의미하는 한편, "{30908}"은 유니코드 표준에서 16-비트 코드 30908을 갖는 아시아 문자이다(대략적으로 "MA"로 표명됨). 본 명세서에 일반적으로 사용된 바와 같이, 단독으로 사용된 "기호"라는 용어는 라벨 101에 나타낸 것 등의 기호 문자들의 수집을 의미한다. 숫자 데이터 문자 "9" 및 "3"은 직접적으로 인코딩되는 한편, 데이터 문자 "i"는 시프트 문자에 의해 (아래 기재되는 바와 같이) 인코딩되어야 한다. 본 명세서에 일반적으로 사용되는 바와 같이, 단독으로 사용된 "문자"라는 용어는 데이터 문자 또는 그의 대응하는 기호 값을 의미한다. [ECI 16] 데이터 문자는 2개의 기호 문자들로 형성되는 한편, 아시아 문자(30908)는 아래 고찰되는 워드 모드를 사용한다. 간단히 말하자면, 30908값은 식 (16*432)+(30*43)+34에 따라 인코딩된다. 결과적으로, 데이터를 인코딩하기 위한 기호 문자들의 생성된 스트링에 대한 기호 값들은 [09][03][46][18][47][16][50][16][30][34]이다. 적절히 가중된 상기 체크 문자 알고리즘을 사용함으로써, 우측으로부터 좌측으로 체크 문자 "C"에 대한 연산은 다음과 같다:
"C" = (10x9 + 9x3 + 8x46 + 7x18 + 6x47 + 5x16 + 4x50 + 3x16 + 2x30 + 34) 모드 53
= 1315 모드 53
= 43
마찬가지로, 체크 문자 "K"는 "C"를 포함하는 가중치로부터 산출된다:
"K" = (11x9 + 10x3 + 9x46 + 8x18 + 7x47 + 6x16 + 5x50 + 4x16 + 3x30 + 2x34 + 43) 모드 53
= 1627 모드 53
= 37
상기한 바와 같이, 93i 심볼로지는 여러 가지 특수 문자들을 사용한다. 코드 93 심볼로지에 의해서와 같이, 93i 심볼로지는 도 2에 나타낸 기호 값 43-46을 갖는 4개의 시프트 문자들 [S1]-[S4]를 사용한다. 기호 값 10-35에 선행하는 시프트 문자는 도 5의 테이블에 나타낸 바와 같이 단일의 완전한 ASCII 데이터 문자를 나타낸다. 도 5의 제2 칼럼에서 [S3]A 내지 [S3]ZDML 문자 조합이 유효하고, 지시된 단일 문자들과 연관된 ASCII 문자들을 생성하기 위해 93i 심볼로지에 따라 사용될 수 있다. 예를 들면, 데이터 문자 "Q"는 단일 기호 값 [81] 또는 2개의 기호 값 [S3][81]로 나타낼 수 있다. X, Y 또는 Z를 갖는 문자 쌍들 [S2]는 모두 ASCII 값 DEL(삭제)을 인코딩한다.
시프트 문자 [S1]-[S4]는 0 내지 9 또는 36 내지 46의 기호 값이 후속할 때, 3 내지 23개의 시프트된 문자의 연속적인 스트링 또는 그룹이 특정 초기 시프트 문자에 기초하여 지시된다. 도 5에 나타낸 바와 같이, 문자 스페이스(sp), $, %, +, -, ., / 및 숫자 디지트 0-9는 시프트되지 않으며, 어떠한 시프트된 문자를 제공하기 위해 사용되지 않는다. 따라서, 문자 값들 0-9 및 35-46을 갖는 이러한 문자들은 추가의 기능성, 즉 그룹 시프트 기능을 제공하기 위해 사용될 수 있다. 그룹에서 시프트된 문자들의 수는 하기 테이블에 기초하여 지시된다:
시프트 문자 및 후속 문자 값 후속하여 시프트된 문자들의 수(그룹)
[S?][0] 3
[S?][4] 7
[S?][8] 11
[S?][38] 15
[S?][42] 19
[S?][46] 23
[S?][1] 4
[S?][5] 8
[S?][9] 12
[S?][39] 16
[S?][43] 20
[S?][2] 5
[S?][6] 9
[S?][36] 13
[S?][40] 17
[S?][44] 21
[S?][3] 6
[S?][7] 10
[S?][37] 14
[S?][41] 18
[S?][45] 22
여기서 "[S?]"는 시프트 문자들 [S1]-[S4] 중의 하나에 대응한다. 달리 말하자면, 기호 값 0-9 또는 36-46이 후속하는 4개의 시프트 문자들 [S1]-[S4]중의 하나는 소정의 수의 후속 문자들에 대한 래치 기능을 제공하고, 후속 문자들은 초기 시프트 문자에 기초한 이들의 대응하는 시프트된 값으로 래치된다. 예를 들면, 데이터 "모듈로 53"이 인코딩되는 경우, 기호 값들 "22, 46, 02, 24, 13, 30, 21, 24, 38, 05 및 03"에 대응하는 93i 문자들 "M[S4][S2]모듈로[sp]53"이 사용된다.
단일 시프트 문자는 (1) 선행하는 시프트 문자에 기초한 하나의 후속 문자를 시프트시키거나, 또는 (2) 문자들이 초기의 시프트 문자에 의해 지시된 동일한 세트로 현재 시프트되는 경우, 하나의 후속 문자를 베이스 93i 문자 세트로 시프트시키기 위해 시프트된 문자들의 그룹 내에서 사용될 수 있다. 시프트된 문자들 및 하나의 후속하는 문자의 스트링 내에서 모든 시프트 문자는 표 1의 그룹 길이에 포함된다. "시프트된 스트링" 및 "시프트된 문자"는 도 5의 테이블에 기초한 시프트 문자들 [S1]-[S4] 중의 하나를 사용하여 유도된 데이터 문자들의 스트링 또는 개개의 데이터 문자를 의미한다.
예를 들면, 데이터 메시지 "모듈로 53 매쓰"가 인코딩되는 경우, 다음 93i 문자들이 사용된다:
"M[S4][37]ODULO[sp]53[sp][S4]MATH"
문자 값 [37]은 상기 표 1에 기초하여 하기 14개의 문자들이 도 5의 표에 따라 시프트되는 것에 주의하자. 시프트 문자 [S4]는 14개의 시프트된 문자들의 스트링에 포함되기 때문에, 그룹에서 직후에 후속하는 문자는 시프트되지 않거나, 또는 데이터 문자들의 베이스 93i 세트에 대응한다. 시프트 문자 [S1]-[S3]이 대신에 사용된 경우, 직후에 후속하는 문자는 3개의 시프트 문자들이 사용된 것에 기초하여 도 5의 표에 따라 시프트된다. 문자 값 0-9(데이터 문자들 0-9에 대응함) 또는 문자 값들 36-42(데이터 문자들 ", ., sp, $, /, +, %)이 시프트된 문자들로 둘러싸인 기호에 나타나는 경우에도, 그러한 문자 값들은 시프트된 스트링의 일부로서 직접적으로 인코딩되는 것에 주의하자. 숫자 모드 또는 기능 1(FNC1) 문자 (아래 논의함)는 시프트된 스트링 내에서 사용될 수 있지만, ECI, 바이트 모드 및 워드 모드 문자(아래 논의함)는 사용될 수 없다.
93i 심볼로지는 기호 값 47을 갖는 ECI 문자 [47]을 사용하고, 주어진 기호에서 규정된 의미의 바이트 또는 후속 데이터에 관한 정보를 인코딩한다. AIMI ECI 할당 서류는 ECI 수치 및 이 ECI 수치에 기초한 바이트 또는 데이터의 의미를 할당한다. ECI 수치는 000000 내지 811799 범위이다. 예를 들면, 하나의 ECI 번호는 국제적인 문자 세트의 인코딩을 나타낸다. 93i 심볼로지는 기호 내의 어느 곳에 ECI 번호를 위치하고, 이를 도 2의 기호 값 0-51로부터 선택된 1,2,3 또는 4 기호 값으로 후속시킴으로써 ECI 번호를 인코딩한다.
ASCII 값 92(도 5 참조)를 갖는 역슬래쉬 문자 "\"(역 사선)은 6개의 디지트 ECI 값 전에 전송된다. 역슬래쉬 문자는 기호가 판독될 때 생성된 기호 값들 또는 데이터의 스트링을 수신하는 호스트 컴퓨터 또는 시스템에 대한 에스케이프 문자로서 작용한다. 역슬래쉬 문자가 인코딩된 데이터 내에 놓여야 하는 경우, 2개의 역슬래쉬 문자들은 그 기호 내에서 인코딩되어야 함으로써 호스트는 ECI 값보다는 오히려 단일 역슬래쉬 문자가 바람직함을 알게 된다. 마찬가지로, 2개의 역슬래쉬 문자가 바람직한 경우, 4개의 역슬래쉬 문자가 인코딩되어야 호스트가 2개의 역슬래쉬 문자가 바람직함을 알게 된다. 93i 심볼로지에 따른 ECI 수치의 인코딩 규칙은 아래 표 2에 나타낸다.
요약하자면, ECI 수치 0-899에 대해, 이러한 수치에 후속하는 바이트 또는 데이터는 데이터가 다른 방식으로 압축될 수 있는 경우에 직접적으로 인코딩된다. 예를 들면, ECI 번호 89는 인코딩된 데이터의 특정 유형의 시작을 나타낼 수 있다. 이후에 후속하는 인코딩된 데이터는 압축되면서 직접적으로 인코딩된다. 그러나, 디지트 또는 완전한 ASCII 문자들이 0-899 간의 ECI 번호 후에 인코딩되는 경우, 숫자 모드 또는 바이트 모드(아래 기재됨)는 도 5에 나타낸 바와 같이 하위 128 ASCII 값 및 대응하는 기호 값을 사용하기 위해 사용될 수 있다. ECI 번호가 워드 모드(아래 기재됨)에 따라 인코딩된 데이터 문자들의 스트링 내에 인코딩되는 경우, 그에 매달린 8개의 제로를 갖는 완전한 128 ASCII 값이 사용된다. ECI 번호 900-811799는 이들의 가장 효율적인 모드의 바이트로서 인코딩되고, 워드 모드 문자([50])는 금지된다. 예를 들면, ECI 번호 950에 대해, 93i 기호 값 0-9의 스트링이 인코딩될 필요가 있는 경우, 데이터 문자들의 값이 ECI 950에 의해 특정됨 모드에 따라 사용된 수치에 대응하지 않는 경우조차, 숫자 모드가 사용된다.
아래 표 2는 93i 심볼로지에 따라 ECI 값들을 인코딩하기 위한 규칙을 요약한다. 아래 표 2에서, "div"는 정부 분할 연산자를 의미하는 한편 "mod"는 모듈로 분할 연산자를 의미한다. "C1"은 가장 중요한 위치를 의미하는 한편, "C4"는 가장 중요치 않은 위치를 의미한다.
ECI 값 문자 범위
000000-43 C1 ECI_val C1=0 내지 43
000044-95 C1C2 44ECI_val-44 C1=44C2=0 내지 51
000096-2799 C1C2C3 45(ECI_val-96)div 52(ECI_val-96)mod 52 C1=45C2=0 내지 51C3=0 내지 51
002800-811799 C1C2C3C4 ((ECI_val-2800)div 140608)+46((ECI_val-2800)div2704)mod 53 ((ECI_val-2800)div 52) mod 52(ECI_val-2800)mod 52 C1=46 내지 51C2=0 내지51C3=0 내지 51C4=0 내지 51
예를 들면, 000020의 ECI 값을 인코딩하기 위해, 하기 2개의 문자 스트링들이 사용된다: [47][20] 여기서 [47]은 ECI 기호 값 47이고, [20]은 93i 문자 "K"이다.
002000의 ECI 값을 인코딩하기 위해, 하기 단계들이 3가지 요구되는 문자를 얻는데 후속한다:
[47][45][(ECI_val-96)div 52][(ECI_val-96)mod 52]=
[47][45][1904 div 52][1904 mod 52]=
[47][45][36][32]
마지막으로, 200000의 ECI 값을 인코딩하기 위해, 하기 단계들이 4가지 요구되는 문자를 얻는데 후속한다:
[47][(ECI_val-2801)div 140808+46][(ECI_val-2801)div 2704)mod 52] [(ECI_val-2801)div 52)mod 52][(ECI_val-2801)mod 52]=
[47][197199 div 140808 + 46][197199 div 2704 mod 52] [197199 div 52 mod 52][197199 mod 52]=
[47][1+46][72 mod 52][3792 mod 52][15]=
[47][47][20][48][15]
기호 값 48은 본 명세서에서 "숫자 모드"라 칭하는 코드 93 심볼로지에서 숫자 압축 모들 나타낸다. 숫자 모드에 따라, 5개의 숫자 디지트는 3개의 기호 문자들로 압축된다. 따라서, 5개 이상의 디지트의 시퀀스는 5/3 숫자 모드를 사용하여 압축되어야 한다. 숫자 모드 문자, 기호 값 48은 5/3 숫자 압축 모드로 및 그로부터 벗어나 토글된다. 마찬가지로, 바이트 모드 및 워드 모드 문자들인 기호 값들 49 및 50 각각은 숫자 모드로부터 벗어나도록 사용될 수 있다. 기호가 숫자 모드에서 종료되는 경우, 숫자 모드 배출 문자는 불필요하다.
숫자 모드에 따라 5개의 숫자 디지트는 3개의 기호 문자들로 나타내고, 여기서 기호 문자들 각각은 0-47 범위의 기호 값을 갖는다. 5개의 디지트 숫자 스트링은 하기 수학식에 의해 생성된다.
여기서, A, B 및 C는 93i 기호 값이다. 5보다 크지만 5의 정확한 배수는 아닌 디지트의 스트링들이 인코딩될 때, 하기 4가지 규칙이 적용된다. 첫째, 스트링에서 5의 배수보다 1개 더 많은 디지트가 단일 기호 문자(기호 값 00-09)에 의해 직접적으로 인코딩된다. 둘째, 숫자 스트링이 5의 배수보다 2개 더 많은 디지트를 포함하는 경우, 마지막 7개의 디지트들은 아래 제3 및 제4 규칙에 의해 기재된 바대로 각각 나타내는 바와 같이 3개의 디지트 세트가 후속하는 4개의 디지트 세트로 분리된다. 셋째, 숫자 스트링이 5의 배수보다 3개 더 큰 디지트를 포함하는 경우, 스트링 말단의 3개의 디지트는 하기 수학식에 따라 2개의 기호 문자들로 나타낸다.
다시, 여기서, A 및 B는 93i 기호 값이다. 넷째, 숫자 스트링이 5의 배수보다 4개 이상의 디지트를 포함하는 경우, 마지막 4개의 디지트는 상기 수학식(1)에 따라 3개의 기호 문자들로 인코딩되고, 여기서 수학식(1)에 따라 생성된 값은 100,000과 109,999 사이에 있다. 하기 표 3은 12345 내지 123456789 범위의 전형적인 5,6,7,8,9 및 10 디지트 스트링을 보여주고, 생성된 최적의 기호 값들은 숫자 모드에 따라 결정되었다.
전형적인 데이터 최적의 생성된 기호 값들
12345 [05][17][09]
123456 [05][17][09][06]
1234567 [43][45][02][11][39]
12345678 [05][17][09][14][06]
123456789 [05][17][09][46][16][37]
1234567890 [05][17][09][29][22][18]
ECI 값은 숫자 모드의 일부로서 사용되고, 여기서 기호 값 [47]은 ECI 프로토콜을 야기하지 않고, 대신에 5/3 숫자 압축 방법으로 자체 사용된다. 숫자 모드는 ECI 값이 사용되기 전에 먼저 배출되어야 한다.
기호 값 49는 본 명세서에서 "바이트 모드"라 칭하는 93i 심볼로지에서 바이트 모드를 나타낸다. 바이트 모드에 따라, 93i 심볼로지는 완전한 또는 확장된 ASCII 데이터 또는 스트레이트 바이트 데이터의 스트링들을 효율적으로 인코딩한다. "바이트"는 전형적으로 8-비트 세트의 데이터를 의미한다. 하기 수학식 3에 따라, 더블-바이트, 또는 2개의 8-비트 바이트가 3개의 기호 문자들 각각에 대해 인코딩된다:
여기서, A, B 및 C는 0과 42 사이의 93i 기호 값이다.
수학식 3에 따라 0과 65,535 사이의 조합된 값을 갖는 2개의 바이트는 2개의 기호 문자들로서 인코딩된다(즉, 216=65,536). 65,536 내지 75,535 사이의 수학식 3으로부터 초래되는 값들은 4개의 디지트를 인코딩하는 한편, 75,535 내지 76,535,의 값은 3개의 디지트를 인코딩한다. 결과적으로, 바이트 모드는 바이트 모드에서 숫자 문자들의 스트링을 인코딩하기 위한 정보 밀도를 개선시키기 위해 3- 및 4-디지트 숫자 간결화 방법을 제공한다. 76,536 내지 79,506 사이의 수학식 3으로부터 초래되는 값들은 정의되지 않으며, 판독기가 에러 신호를 디코딩하고 출력하는 데 실패하게 만든다.
숫자 모드에 의해서와 같이, 바이트 모드가 도입되고, 기호 값 49를 갖는 바이트 모드 기호 문자를 사용하여 배출된다. 바이트 모드는 워드 모드 기호 문자(기호 값 50) 또는 숫자 모드 기호 문자(기호 값 48)를 사용함으로써 역시 배출될 수 있다. 부가적으로, 기호 값 43-46을 갖는 시프트 문자 [S1]-[S4]는 판독기가 바이트 모드를 빠져나가게 하고, 다음 문자들에 대한 기호 값들에 128을 부가하게 한다. 따라서, 확장된 ASCII 문자들은 바이트 모드를 빠져나간 후 효율적으로 인코딩될 수 있다. 마찬가지로, 하나의 문자가 기호의 말단에 남겨지면서, 선행하는 문자들이 바이트 모드에 있게 되는 경우, 최종 문자는 그의 기호값+128에서 디코딩된다(확장된 ASCII에서와 마찬가지). 기호가 바이트 모드로 유지되면서 종료되는 경우, 최종 바이트 모드 기호 문자(기호 값 49) 등의 배출 모드 문자는 불필요하다. 2개의 문자들이 기호의 말단에 남겨지는 경우, 2개의 문자들은 바이트 모드가 퇴진된 경우와 같이 이들의 베이스 기호 값에서 디코딩된다.
기호 문자 인코딩 효율을 개선시키기 위한 여러 가지 인코딩 전략은 바이트 모드에서 93i 심볼로지에 따라 허용된다. 예를 들면, 바이트 모드는 2개의 확장된 ASCII 데이터 문자들이 3개의 기호 문자들의 단일 그룹으로서 인코딩될 수 있게 한다. 확장된 ASCII 데이터 문자에 의해 종료되는 완전한 또는 확장된 ASCII 데이터 문자들중 짝수에 대해, 3개의 기호 문자들의 그룹이 93i 심볼로지에서 바이트 모드에 따라 사용된다. 확장된 ASCII 데이터 문자에 의해 종료되는 혼성의 완전한 확장된 ASCII 데이터 문자의 홀수에 대해, 짝수 문자들은 3개의 기호 문자들로 나타내고, 최종(또는 유일한) 데이터 문자가 2가지 방식중 하나로 인코딩된다. 첫째, 최종 기호 문자가 확장된 ASCII 문자인 경우, 이는 도 5의 적절한 시프트 문자로 처리된 완전한 ASCII 문자로서 인코딩된다. 둘째, 최종 문자가 단일의 완전한 ASCII 문자인 경우, 이는 직접적으로 인코딩되고, 바이트 모드 문자가 후속한다. 두 경우, 최종 문자는 128의 기호 값 + 베이스 문자 또는 시프트 문자의 값을 갖는다(도 2에 나타낸 바와 같이 기호 값 00-46).
하기 표 4는 바이트 모드에 따른 여러 가지 스트링의 데이터 문자들의 최적 인코딩을 제공한다. 상기하면, 기호 값 [49]는 바이트 모드 문자를 의미하는 한편, [S?]는 43-46의 기호 값들을 갖는 4가지 시프트 문자들 중의 하나를 나타낸다. 하기 표 4의 3번째 칼럼에서, 문자 "A" 내지 "F"는 도 2의 기호 값 00-42를 갖는 임의의 데이터 문자를 의미한다.
문자 번호 데이터 문자 유형 93i 문자 스트링
111 표준완전한 ASCII확장된 ASCII A[S?]A값에 좌우되어 [43][S?]A 또는 [49]A[49]
23 확장된 ASCII-이어서 퇴진완전/확장되고 이어서 확장된-퇴진 [49]ABC[49][49]ABC[S?]A 또는 [49]ABC A[49]
45 "" [49]ABC DEF[49][49]ABC DEF[S?]A 또는 [49]ABC DEF A[49]
... ... ...
숫자 데이터 문자들의 스트링이 완전한 또는 확장된 ASCII 데이터 문자들 사이에서 인코딩되어야 할 때, 부가적인 인코딩 전략은 기호 문자 밀도를 개선시키기 위해 93i 심볼로지에 따라 이용될 수 있다. 하나 또는 2개의 숫자 데이터 문자들이 완전한 또는 확장된 ASCII 문자들 사이에서 인코딩되는 경우, 1개 또는 2개의 숫자 문자들은 디지트의 수에 따라 도 5에 나타낸 바와 같이 ASCII 값 48 내지 57을 갖는 단일의 완전한 ASCII 문자들로서 처리된다. 3개 내지 9개의 숫자 데이터 문자들이 완전한 및 확장된 ASCII 문자들 사이에서 인코딩되는 경우, 3개 및 4개의 디지트의 그룹은 바이트 모드의 값 65536-75535 및 75536-76535에 따라 압축된다. 달리 말하자면, 바이트 모드는 완전한 또는 확장된 ASCII 문자들의 스트링 내에서 3 내지 9개의 디지트 숫자 스트링에 대한 만족스러운 숫자 압축을 제공한다. 그러나, 10개 이상의 디지트의 스트링에 의해, 바이트 모드는 퇴진되어야 하고, 숫자 모드는 완전한 또는 확장된 ASCII 문자들의 스트링 내에 숫자 모드 문자 [48]을 간단히 제공함으로써 도입된다.
1개, 2개, 3개 또는 4개의 표준 또는 베이스 93i 데이터 문자들이 완전한 또는 확장된 ASCII 문자들 내에서 인코딩되어야 하는 경우, 그러한 베이스 데이터 문자들은 바이트로서 처리된다. 그러나, 5개 이상의 베이스 데이터 문자들이 완전한 또는 확장된 ASCII 문자들의 중앙에서 인코딩되어야 하는 경우, 바이트 모드 문자 [49]를 먼저 인코딩함으로써 바이트 모드에서 벗어나 시프트하고, 직접적으로 5개 이상의 베이스 데이터 문자들을 인코딩하고, 이어서 다른 바이트 모드 문자 [49]에 의해 바이트 모드로 재진입하는 데 보다 효과적이다. 하기 표 5는 완전한 또는 확장된 ASCII 문자들의 스트링 내에 놓인 디지트의 스트링들의 예를 제공한다. 하기 표 5에서, 문자 유형들은 하이픈으로 분리된다.
데이터 문자 번호 및 유형 93i 문자 스트링
2 확장됨/완전 - 1 디지트/베이스 - 1 확장됨2 확장됨/완전 - 1 디지트/베이스 - 2 확장됨2 확장됨/완전 - 2 디지트/베이스 - 1 확장됨2 확장됨/완전 - 2,3,4 디지트/표준 - 2 확장됨...2 확장됨/완전 - 10 디지트 - 2 확장됨2 확장됨/완전 - 8 베이스 - 2 확장됨 [49]ABC DEF[49][49]ABC DEF[S]A 또는 A[49][49]ABC DEF[S]A 또는 A[49][49]ABC DEF GHI[49]...[49]ABC [48] DEFGHI[49]JKL[49][49]ABC[49]DEFGH[49]JKL[49]
기호 값 50은 본 명세서에서 "워드 모드"라 칭하는 93i 심볼로지에서 워드 모드를 나타낸다. 워드 모드에 따라, 3개의 기호 문다들은 이들의 대응하는 3개의 기호 값들이 단일의 16비트 값을 인코딩하도록 그룹화된다. 따라서, 3개의 기호 문자들은 아시아 문자 또는 16-비트 문자 코드들을 인코딩할 수 있다. 65,536개에 이르는 문자 코드들은 상기 수학식 3에 따라 인코딩된다.
워드 모드로부터의 탈출은 워드 모드 문자 [50], 바이트 모드 문자 [49] 또는 숫자 모드 문자 [48]에 의해 수행된다. 부가적으로, 바이트 모드에 의해서와 같이, 단일 베이스 문자 또는 단일 기호 문자 및 워드 모드 문자가 후속하는 시프트 문자 [S1]-[S4]는 워드 모드로부터 탈출하여 단일 문자들의 값에 128을 부가한다. 기호가 워드 모드로 종료되는 경우, 탈출 문자는 불필요하다. 직전에 선행하는 기호 문자들이 워드 모드에 따라 인코딩된 경우, 기호 말단의 2개의 기호 문자들은 이들의 베이스 값으로 디코딩된다. 호스트가 8-비트 어레이 구조를 사용하는 경우, 바이트 모드의 판독기는 2개의 연속적인 바이트를 전송한다. 그러나, 호스트가 16-비트 구조(예, 더블-바이트가 병렬로 처리됨)를 사용하는 경우, 판독기는 워드 모드를 사용하여 16바이트의 단일 더블-바이트 워드를 호스트에 전송할 수 있다.
다시, 워드 모드에 있을 때 93i 심볼로지에서 인코딩 효율을 증가시키기 위한 여러 가지 전략이 허용된다. 예를 들면, 워드 모드에 따라 인코딩된 문자들 내에 포함된 숫자 스트링은 2개의 디지트를 인코딩하는 76,536 내지 76,635를 갖는 스트링을 제외하고, 상기 바이트 모드와 유사한 방식으로 다루어진다. 단일 디지트가 워드 모드 문자들 내에 포함되는 경우, 단일 디지트는 [43]으로 나타내고, 여기서 [43]은 제1 시프트 문자 S1이고, N은 숫자 디지트이다. 워드 모드 문자들 내에 포함된 2개, 3개 또는 4개의 숫자 디지트는 바이트 모드와 동일한 방식으로 적절한 워드 모드 값으로 간단히 나타낸다. 워드 모드 문자들 내에 포함된 5개의 숫자 디지트에 따라, 워드 모드는 퇴진되어야 하고, 숫자 모드는 숫자 모드 문자 [48]을 간단히 인코딩함으로써 도입되어야 한다. 단일 베이스의 완전한 또는 확장된 ASCII 문자가 워드 모드 문자들에 포함될 때, 명확한 워드 모드 문자 값들이 베이스, 확장된 또는 완전한 ASCII 문자들을 나타내기 위해 사용된다. 2개 이상의 완전한 또는 확장된 ASCII 문자들이 워드 모드 문자들 내에 인코딩되는 경우, 워드 모드는 퇴진되어야 하고, 바이트 모드는 바이트 모드 문자 [49]를 다시 간단히 삽입함으로써 도입된다. 하기 표 6은 워드 모드 하의 93i 심볼로지에 따라 디지트 또는 기타 데이터 문자들의 스트링들을 효율적으로 디코딩하는 여러 가지 실시예를 제공한다. 하기 표 6에서, 값 "25543" 및 "18776"은 2가지 상이한 유니코드 16-비트 코드를 의미한다. 제2 칼럼의 문자 유형은 하이픈으로 분리된다.
유형 93i 문자들
2554325543, 1877625543, 3, 1877625543, 3, 7, 1877625543, A, 1877625543, AB, 1877625543, 233, 231, 18776 유니코드유니코드유니코드-디지트-유니코드유니코드-2 dig-유니코드유니코드-Std/바이트-유니코드유니코드-2 Std-유니코드유니코드- 2 바이트-유니코드 [50]ABC[50][50]ABC DEF[50][50]ABC [43] 3DEF[50][50]ABC DEF GHI[50][50]ABC DEF GHI[50][50]ABC[50]AB[50]DEF [50][50]ABC[50]AB[50]DEF [50]
임의의 표준 16-비트 데이터 문자 인코딩 표준, 예를 들면 유니코드, JISC-6226-1983, 빅 파이브(BF) 또는 KSC 5609-1987은 본 발명에 의해 사용될 수 있다. JISC-6226-1983 표준은 한자 및 가다까나 데이터 문자들을 16-비트 코드로 매핑한 일본 공업 표준 문자 세트이다. 이러한 데이터 문자 표준은 상기한 바와 같이 무엇보다도 한자 및 가다까나 데이터 문자들을 포함하는 유니코드와 유사하다. 그러나, JISC--6226-1983 표준에서 각각의 데이터 문자는 유니코드 표준의 등가 데이터 문자에 대해 상이한 16-비트 코드로 할당된다.
기호 값 51은 93i 심볼로지에서 기능 1(FNC1) 문자를 나타낸다. 기호에서 제1, 제2 또는 제3 위치의 FNC1 문자는 관련 업계의 숙련자들에게 공지된 바와 같이 특정 용도 표준에 따른 그러한 기호의 컴플라이언스를 명시한다. FNC1 문자에 선행하는 접두어 문자들의 유효 조합은 0-9, A-Z, 10-99 및 a-z([S4]A-[S4]Z)이다. 제4 도는 후속 위치의 FNC1 문자는 전송된 그룹 분리기(<GS>) 문자에 대응한다. FNC1 문자가 기호 내에 나타나는 한편, 기호가 숫자 모드, 바이트 모드 또는 워드 모드인 경우, FNC1 문자는 숫자 모드, 바이트 모드 또는 워드 모드가 마치 종료되고, 그룹 분리기 <GS> 문자가 전송되고, 이어서 이전의 모드가 재도입된 것으로 해석된다(즉, 숫자, 바이트 또는 워드 모드).
기호가 리딩 스페이스(기호 값 38)에 따라 인쇄되는 경우, 판독기는 리딩 스페이스가 없는 기호에 직면하게 될 때까지, 리딩 스페이스를 갖는 후속 기호들과 함께 판독된 기호를 버퍼에 저장한다. 이 때, 버퍼의 전체적인 내용, 즉, 버퍼 내의 모든 판독된 기호들은 코드 9E 심볼로지에서와 같이 전송된다. 결과적으로, 긴 기호는 여러 개의 작은 기호들로 분할되고 각각의 작은 기호들(최종의 기호 제외)은 리딩 스페이스 데이터 문자를 갖는다. 리딩 스페이스가 이러한 "리딩 스페이스 첨부" 특징을 야기하지 않고, 기호 내의 제1 데이터 문자로서 바람직한 경우, 바이트모드가 사용될 수 있다.
전형적인 디코딩 루틴에 관하여 아래 설명하는 바와 같이, 93i 기호 문자들을 판독하고 디코딩하는 판독기는 시작 또는 종료 문자들 또는 에러 정정 문자들을 전송하지 않는다. 코드 93 심볼로지에 의해서와 같이, 모든 데이터 문자들이 전송되면서, 시프트 문자들 [S1]-[S4] 중의 하나로 시작하는 문자 쌍은 도 5의 단일 ,ASCII 문자 만을 전송시킨다. 93i 심볼로지는 아시아 및 16-비트 문자 코드들을 인코딩할 수 있기 때문에, 판독기는 워드 모드에 있을 때 16-비트 워드를 전송할 것이다. 판독기가 후속하는 완전한 또는 확장된 ASCII 문자들과 함께 기호 내의 워드 모드 문자 [50]에 직면할 때, 판독기는 제2 바이트가 인코딩된 ASCII 데이터를 나타내는 동안 더블-바이트, 즉, 8개의 제로로 구성된 제1 바이트로서 모든 ASCII 값 0-255를 전송한다. 기호가 워드 모드 문자 [50]을 사용하지 않는 경우, 판독기는 더블-바이트를 전송하도록 형성되지 않고, 93i 기호 내의 모든 데이터 문자들은 바이트 모드에 따라서와 같이 바이트로서 판독되고 전송된다. 따라서, 단일 바이트로서 전송된 데이터를 사용함으로써 판독기가 8-비트 구조를 사용하는 경우 93i 심볼로지에 따라 판독기 내에서 보다 효율적인 코드화 및 전송을 자동으로 제공한다. ECI 문자 [47]이 기호 내에 존재할 때, 아래 기재한 바와 같이 1개 이상의 워드 모드 문자들을 포함하는 ECI 데이터 문자들 내에서 만이 아니라 워드 모드 문자에 의해서와 동일한 방법들이 후속한다.
93i 심볼로지는 심볼로지 식별자를 사용하는 것이 바람직하다. 93i 심볼로지에서 심볼로지 식별자는 기호에서 인코딩된 데이터의 특징에 따라 전송된 데이터에 대한 접두어이다. 달리 말하자면, 심볼로지 식별자는 특정 기호 내에 직면되는 심볼로지의 임의의 다른 특징들 뿐만 아니라, 판독기에서 설정되도록 특정 심볼로지의 판독 및 옵션을 보고하기 위한 균일한 방법론이다. AIM USA 심볼로지 식별기 안내서는 심볼로지 식별자를 보다 상세히 기재한다. 판독기는 판독기로부터 전송된 주어진 데이터 메시지에 심볼로지 식별자 접두어를 부가하도록 프로그램될 수 있다. 93i 심볼로지에 대한 특정 심볼로지 식별자는 코드 93에 대한 심볼로지 식별자, 즉 "JG"와 동일하다. 대안으로, 93i 심볼로지는 "Ji" 등의 독특한 심볼로지 식별자를 사용할 수 있다. 문자들의 변경자 데이터 문자는 하기 표 7에 나타낸 하기 규칙에 따라 부가된다.
모드 문자 규칙
0123m456m789AmBCmD-8 디코딩된 코드 93 기호, 즉, 46보다 큰 기호 값들을 갖는 어떠한 데이터 문자들도 기호에 존재하지 않는다.디코딩된 93i 기호, 단일 바이트들이 전송됨(워드 모드 문자는 기호에 존재하지 않는다).제1 위치의 FNC1 문자, 단일 바이트들이 전송됨.선행하는 문자(들)의 바이트 값에 후속하는 제2 위치 또는 제3 위치의 FNC1 문자, 단일 바이트들이 전송됨.디코딩된 93i 기호, 심볼로지 식별자들을 포함하는 더블 바이트들이 전송됨.제1 위치의 FNC1 문자, 더블 바이트들이 전송됨.선행하는 문자(들)의 바이트 값에 후속하는 제2 위치 또는 제3 위치의 FNC1 문자, 더블 바이트들이 전송됨.존재하는 ECI 문자, 바이트들이 전송에 포함된 "\NNNNNN"에 의해 전송되고, 인코딩된 "\" 문자가 배가됨.ECI 값 0-900에 대해, 워드 모드 문자가 존재할 때 ECI 모드 내에서 더블-바이트가 전송되고, 바이트들은 다른 방식으로 전송됨. ECI 값 901-811799에 대해, 워드 모드 문자는 인코딩되지 않고, 모든 문자들은 바이트로서 전송된다.존재하는 ECI 문자, ECI 시퀀스를 포함하는 모든 문자들은 더블 바이트로서 전송된다.제1 위치의 FNC1 문자, ECI 문자가 존재하고, 단일 바이트들이 전송됨.선행하는 문자의 바이트 값에 후속하는 제2 위치 또는 제3 위치의 FNC1 문자, ECI 문자가 존재하고, 단일 바이트들이 전송됨.제1 위치의 FNC1 문자, ECI 문자가 존재하고, 단일 바이트들이 전송됨.선행하는 문자(들)의 바이트 값에 후속하는 제2 위치 또는 제3 위치의 FNC1 문자, ECI 문자가 존재하고, 단일 바이트들이 전송됨.구축된 추가 지원
변경자 문자 "m"은 AIM에 따라 후속하고 등록되는 특정 용도 표준에 대응한다. 변경자 문자 "m"은 FNC1 문자가 제2 또는 제3 위치에 있을 때만 발생한다.
FNC1 문자가 단일 디지트 접두어 문자에 이어 제2 위치에서 인코딩되는 경우, 심볼로지 식별기는 0, ASCII 값 48에 대한 바이트가 후속하고, 전송되는 ASCII 값 48-57을 갖는 인코딩된 디지트가 후속한다. FNC1 문자가 2개의 접두어 디지트에 후속하는 제3 위치에서 인코딩되는 경우, 2개의 디지트의 바이트 값들은 표 7에 따라 심볼로지 식별기 후에 전송된다. FNC1 문자는 상위 케이스 영문자 A-Z 접두어 다음의 제2 위치에서 인코딩되는 경우, 영문자의 단일 바이트, 65-90의 ASCII 값이 심볼로지 식별기에 후속한다. FNC1 문자가 시프트 문자 [S4] 및 상위 케이스의 영문자에 이어 제3 위치에서 인코딩되는 경우, 제1 및 제2 위치의 문자들의 쌍은 심볼로지 식별기에 따라 전송되는 이러한 단일 바이트 값에 의해 ASCII 값 97-122를 갖는 하위 케이스 영문자를 나타낸다.
기호 값 52는 기호 내의 특수 형상의 프래그 문자의 위치에 따라 구축된 첨부 특징 또는 기호 내의 에러 정정 문자들의 사용을 나타내는 특수 형상의 프래그 문자를 나타낸다. 특수 형상의 프래그 문자가 기호의 중앙에 위치되는 경우, 특수 형상의 프래그 문자는 기호 내의 에러 정정 문자들의 사용을 지시한다. 특수 형상의 프래그 문자 직후의 기호는 기호의 메시지 길이를 지시한다. 일반적으로, 93i 심볼로지는 기호 값 0-52를 갖는 5개의 에러 정정 문자들을 사용한다. 93i 심볼로지는 하기 확장 식에 의해 결정되는 다항식을 발생시키는 에러 정정 문자를 갖는 프라임 모듈러스 2 갈로이스 필드 GF(53)에 의한 리드-솔로몬(Reed-Solomon) 에러 정정 방법론을 사용한다:
(x-2)(x-4)(x-8)(x-16)(x-32)
에러 정정을 사용하는 기호들은 시작 및 종료 문자들을 배제하고, 53 기호 문자들의 최대 길이에 이를 수 있다. 93i 심볼로지는 모듈로 53 매쓰를 사용하기 때문에 단지 46개의 데이터 문자들이 에러 정정을 사용하는 기호에 허용되고, 따라서, 53개 이상의 문자들을 갖는 기호가 허용될 수 없다. 5개의 문자들은 에러 정정 문자들에 대응하기 때문에, 2개의 문자들은 메시지 길이 지시자 및 특수 기능 플래그에 대응하고, 단자 46개의 데이터 문자들이 남겨진다.
에러 정정에 의해 기호를 인코딩하기 위해, 프린터, 컴퓨터 또는 기타 장치들은 먼저 최적화된 메시지의 메시지 길이 L을 결정해야 한다(93i 심볼로지에 따라 여러 가지 숫자, 바이트, 워드 및 기타 모드를 고려해야 함). 메시지 길이 L은 시작 및 종료 문자들, 특수 형상의 프래그 문자, 메시지 길이 문자 및 5개의 에러 정정 문자들을 배제하고, 전체 데이터 메시지의 길이를 포함한다. 특수 형상의 프래그 문자는 (L+2)/2의 위치의 문자 다음 위치에 놓인다. 바로 그 다음에 메시지의 길이를 나타내는 기호 값 L-1을 갖는 메시지 길이 문자가 삽입되고, 여기서 메시지 길이는 1 내지 46이다. 대안으로, 메시지 길이 문자는 L의 값을 가질 수 있다. 이후, 프린터, 컴퓨터 또는 장치는 5개의 에러 정정 문자들을 산출하고, 도 10에 나타낸 바와 같이 시작 문자 후에 발생된 5개중 첫 번째 2개의 에러 정정 문자 EC1 및 EC2, 및 종료 문자 이전에 남겨진 3개의 에러 정정 문자 EC3, EC4 및 EC5를 위치시킨다. 생성된 인코딩된 기호는 다음과 같다: 93i 시작 문자, EC1, EC2, 데이터(1 내지 23 데이터 문자들), 특수 형상의 프래그 문자 SFlag, 메시지 길이 문자 MsgLength, 데이터 문자들(0 내지 22 데이터 문자들), EC3, EC4, EC5 및 종료 문자.
에러 정정 문자들을 사용하는 기호의 예는 다음과 같다. 문자 값들 "9, 3, 46, 18, 16, 30 및 34"가 제공되면, 그러한 문자들의 스트링은 L=8의 길이를 갖는다. 결과적으로, 특수 형상의 프래그는 제5 위치 ((8+2)/2=5) 후에, 즉, 제6 위치에 삽입된다. 이후, 메시지 길이 문자가 후속하고 7의 문자 값을 갖는다(즉, 8-1=7). 생성된 인코딩된 메시지는 "9, 3, 46, 18, 50, 52, 7, 16, 30, 34"이고, 하기 다항식을 생성한다:
9x5+ 3x6+ 46x7+ 18x8+ 50x9+ 52x10+ 7x11+ 16x12+ 30x13+ 34x14
다항식은 모듈로 53 연산을 사용하고, 여기서 승산, 제산, 가산 및 감산의 결과는 항상 0 내지 52의 값을 갖는 GF(53) 필드에 놓인다. 정확한 결과를 얻기 위해, 결과가 52보다 큰 경우 적절한 수학적 연산을 수행하고, 결과가 0 내지 52의 필드에 있을 때까지 53을 연속적으로 감산하고, 마찬가지로 결과가 01H다 적은 강우 결과가 그 필드 내에 있을 때까지 53을 가산한다. 예를 들면, 숫자(-123),(-17),(89) 및 (407)은 모두 모듈로 53 연산에 따라 동일하다(36).
모듈러 53 연산을 사용함으로써 발생기 다항식은 x5+ 44x4+ 21x3+ 44x2+ 50x + 39이다. 발생기 다항식을 상기 인코드 다항식(즉, 34x14+ 30x13+ 16x12+ 7x11+ 52x10+ 50x9+ 18x8+ 46x7+ 3x6+ 9x5+ 0x4+ 0x3+ 0x2+ 0x + 0)으로 분할하면, 13x4+ 17x3+ 24x2+ 12x + 28의 나머지 다항식이 초래된다. 계수들의 모듈로 53 여수는 에러 정정 코드 워드 E5-E1이고, 이는 각각 "40, 36, 29, 41 및 25"에 대응한다. 따라서, 최종적으로 인코딩된 스트링은 "25, 41(EC1 및 EC2), 9, 3, 46, 18, 50, 52(특수 형상의 프래그), 7(메시지 길이 문자), 16, 30, 34, 29, 36 및 40(EC3, EC4 및 EC5)"이다.
특수 형상의 프래그 문자 52는 항상 홀수의 데이터 문자들의 정확히 중심 또는 짝수 데이터 문자들에 대한 중심의 좌측에 놓인다. 단지 하나의 데이터 문자에 의해, 에러 정정 문자들 EC1-EC5는 여전히 기호 내에서 분할된다. 예를 들면, 단지 하나의 데이터 문자 "D"를 갖는 기호에 의해, 시작/종료 문자가 없는 인코딩된 기호는 "EC1, EC2, D, [52], [메시지 길이], EC3, EC4, EC5"이다.
93i 심볼로지에 따른 에러 정정은 2개 이하의 잘못된 문자, 잘못된 문자 및 1개 또는 2개의 미싱 문자(소거), 또는 3개 이하의 미싱 문자를 회수할 수 있다. 따라서, 3개의 데이터 문자들을 가리는 단일의 수직 브로드 스트로크가 정정될 수 있다.
더욱이, 특수 형상의 프래그 문자는 중심에 있기 때문에, 93i 심볼로지에 따른 에러 정정 방법은 시작 또는 종료 문자를 포함하여 기호의 시작 또는 종료의 손실 회수를 허용한다. 기호의 중심 내에 특수 형상의 프래그 문자를 제공함으로써, 기호는 절반으로 디코딩될 수 있고, 따라서 그의 수직 여분을 효과적으로 배가시킨다(UPC 심볼로지과 유사한 방식으로).
5개의 에러 정정 문자들은 기호 내에서 2개의 그룹으로 분할되기 때문에(시작 점에 위치된 EC1 및 EC2, 종료 점에 위치된 EC3-EC5), 생성된 기호는 손상에 대한 추가의 면역을 갖는다. 예를 들면, 모든 에러 정정 문자들이 기호의 한쪽 말단에 위치되고, 그 말단이 가려지거나 또는 손상되는 경우, 모든 에러 정정 문자들이 상실될 수 있다.
특수 형상의 프래그 문자 및 메시지 길이 문자는 기호가 기호의 길이에 에러 정정 문자들을 포함하는 것을 나타내는 것 외에 기호에 대한 중요한 데이터를 제공한다. 기호의 중심에 특수 형상의 프래그 문자를 위치함으로써, 판독기는 기호의 한쪽 말단이 손상되거나 또는 미싱된 경우 기호의 중심이 존재하는지를 결정할 수 있다. 메시지 길이 문자 및 나머지 에러 정정 문자들과 함께, 판독기는 그러한 손상에 대해 보상할 수 있다(에러 정정 문자들에 의해 정정될 수 있는 것보다 더 크지 않은 경우). 메시지 길이 문자는 다른 목적들을 위해서 뿐만 아니라 에러 정정을 조장하기 위해 상기한 바와 같이 사용될 수 있는 판독기에 기호의 길이를 용이하게 제공한다.
특수 형상의 프래그 문자(52)는 시작 문자에 이어 제1 위치에 위치될 때, 짝 데이터 캐리어(예, 인접 기호)의 존재를 지시하기 위해 다중행 순서의 집중 또는 구축된 첨부에 대한 단일 문자 플래그로서 사용될 수도 있다. 제1 위치에서 초기 특수 형상의 프래그 문자 후의 1개 이상의 문자 값들은 하나의 수집된 단일 기호를 함께 형성하는 15개 이하의 개별적인 기호들의 그룹의 부재로서 기호를 식별하는 "변경자" 문자 또는 1개 이상의 짝 데이터 캐리어의 디코딩 및 데이터 관리를 보조하기 위한 특정 판독기 명령을 제공하는 인접한 태그 지시 값이다. "태그 지시 값"은 인접한 데이터 캐리어(아래 기재함)에 관한 정보를 명시하는 특수 형상의 프래그 문자에 후속하는 값 8, 14-17, 22-26 및 30-35의 단일 문자이다. "변경자 문자"는 상기 세트에 포함되지 않는 문자 값을 갖는 단일 문자로 9 내지 45이고, 이는 1 내지 5개의 기호들 간의 구축된 첨부 그룹 크기를 지시한다. 달리 말하자면, 현재 기호와 함께 1 내지 5개의 부가적인 기호들은 함께 하나의 큰 기호를 형성한다. 6 내지 47의 문자 값이 후속하는 0 내지 7의 문자 값은 아래 기재된 바와 같이 16 내지 15 기호 간의 그룹 크기를 지시한다.
93i 시작 및 종료 문자들을 사용하는 것 외에, 8의 문자 값을 갖는 태그 지시 값 후에 특수 형상의 프래그 문자 이상의 조합은 그 기호가 짝 라인 주사 가능한 기호(선형 또는 스택된 기호)를 갖는 것을 지시한다. 8의 문자 값을 갖는 태그 지시 값에 후속하는 특수 형상의 프래그 문자는 93i 기호가 에러 정정을 사용하는 것을 지시하기도 한다.
현재 입수할 수 있는 선형 심볼로지과 달리, 93i 기호 및 그의 짝 기호는 데이터의 중복 세트를 인코딩할 수 있다. 예를 들면, 짝 기호는 다른 소정의 데이터 세트 뿐만 아니라 곱 식별 번호, 위치 번호, 구매 순서 번호, 몫(lot) 번호 및 기타 고객 정의 데이터 세트를 인코딩할 수 있다. 이러한 짝 기호들은 전형적으로 그것이 짝인 93i 기호와 관련된 보충 데이터를 인코딩한다. 판독기는 93i 시작 및 종료 문자들을 갖는 93i 기호, 또는 특수 형상의 프래그 문자 및 값 8을 갖는 변경된 문자가 후속하는 93i 시작 문자를 갖는 기호를 스캔하거나 또는 상영할 때, 판독기는 짝 기호가 93i 기호에 근접하게 위치해야 하는 것을 이해하고, 따라서 짝 기호로부터 데이터를 수집하려 시도한다.
예를 들면, 레이저 스캐너를 갖는 판독기에 의해, 레이저 스캐너는 짝 기호로부터 데이터를 스캐너로서 판독하게 된다. 2D 영상기 판독기에 의해, 판독기는 짝 기호의 저장된 영상을 식별하기 위해 그의 영상 메모리를 스캔하거나 또는 짝 기호를 위치하기 위해 93i 기호에 인접한 영역의 디지털 영상을 얻는다. 결과적으로, 짝 기호가 존재하는 것을 인식함으로써, 판독기는 에너지 또는 성능을 소모시키지 않는다.
도 11을 참조하면, 전형적인 93i 기호(200)는 인접한 짝 기호(202)를 포함한다. 짝 기호(202)는 2차원 기호, 특히 PDF417 기호로서 나타난다. "2차원 기호"는 일반적으로 코드 49 및 PDF417 등의 다중행 또는 스택된 심볼로지로부터 또는 코드 원, MaxiCode 및 데이터 매트릭스 등의 영역 심볼로지로부터 선택된 기호를 의미한다. 93i 기호(200)는 특수 형상의 프래그 문자(208) 및 태그 지시값(210) 뿐만 아니라 93i 시작 및 종료 문자(204 및 206) 각각을 포함한다. 레이저 스캐너를 갖는 판독기가 93i 기호(200)를 스캔할 때, 판독기는 인접한 짝 기호(202)가 존재하는 것을 인식하고, 따라서 93i 기호 뿐만 아니라 짝 기호로부터 데이터를 수집하도록 스캐닝을 계속한다. 특수 형상의 프래그 문자(208) 및 태그 지시 값(210)은 아래 기재된 바와 같이 판독기에 대한 부가적인 데이터를 제공한다.
도 14는 93i 기호에 인접하고 그 위에 위치된 짝 PDF417 기호와 함께 전형적인 93i 기호를 나타낸다. 도 15는 짝 코드 49 기호를 갖는 93i 기호를 보여준다. 코드 49 기호는 93i 기호에 대한 안정 존의 우측에 위치된다.
본 명세서에 일반적으로 사용된 바와 같이, "태그" 및 "데이터 캐리어"라는 용어는 데이터를 저장하거나 또는 인코딩하는 기계-판독 가능한 기호 또는 장치를 교환가능하게 의미하도록 사용된다. 예를 들면, 데이터 캐리어 또는 태그는 무선 주파수(RF) 판독 가능한 태그, 선형의 2차원 기호를 포함하는 기계-판독 가능한 기호들 등을 포함한다.
판독기가 인접한 태그 지시 값에 의해 제1 위치의 특수 형상의 프래그 문자를 검출할 때, 태그 지시 값으로부터 정보는 짝 태그를 디코딩하는 데 있어서 판독기를 보조하고, 짝 태그에서 인코딩된 정보를 다루는 것에 관하여 판독기에 대한 안내서를 제공할 수 있다. 값 14를 갖는 태그 지시 값은 판독기 또는 호스트가 판독/기입 루틴에 따라 짝 기호에서 데이터에 따라 93i 기호와 연관된 데이터를 대체하도록 명령한다. 예를 들면, 도 11에서 93i 기호(200)는 판독기 또는 호스트 컴퓨터의 데이터 베이스에 저장된 특정 레코드 또는 파일을 지시하도록 레코드 위치기 명칭을 제공할 수 있다. 태그 지시 값(210)이 문자 값 14를 갖는 경우, 93i 기호(200)는 판독기가 짝 기호(202)에 인코딩된 데이터에 따라 93i 기호에 의해 지시된 레코드를 대체하도록 명령한다. 결과적으로, 93i 기호(200) 및 짝 기호(202)는 외부에 저장된 데이터를 대체할 수 있다.
15의 값을 갖는 태그 지시 값은 판독기 또는 호스트가 93i 기호와 연관된 데이터 레코드의 시점에서 짝 기호에 데이터를 위치하도록 명령하는 한편, 16의 값을 갖는 태그 지시 값은 판독기 또는 호스트가 연관된 데이터 레코드의 말단에 연관된 데이터를 위치하도록 명령한다. 17의 값을 갖는 태그 지시 값은 판독기 또는 호스트가 연관된 데이터를 전송하지 않고, 대신에 판독기의 디스플레이 장치 상에 데이터를 디스플레이 할 수 있게 명령한다. 22-26의 값을 갖는 태그 지시 값들은 93i 기호 근처에 놓인 영역 기호 등의 짝 2차원 기호를 판독기에 나타내는 것 뿐만 아니라 영역 기호의 소정의 정렬 및 위치의 시지를 제공하기도 한다. 영역 기호는 파인더 패턴에 관하여 위치된 규칙적인 다각형의 위치를 전형적으로 사용한다(예, 코드 원, 또는 데이터 매트릭스 MaxiCode). 판독기는 93i 기호에 관한 영역 기호의 특정 정렬을 알기 때문에 영역 기호는 파인더 패턴을 사용하여 피할 수 있고, 따라서 파인더 패턴에 의해 이미 점유된 공간에 추가의 데이터 문자들을 제공한다.
도 11을 참조하면, 태그 지시 값(210)은 짝 기호(202)가 93i 기호(200)의 위에 위치된 것을 판독기에 나타내는 값(22)을 가질 수 있다. 다른 태그 지시 값들은 짝 기호가 93i 기호에 상대적으로 아래, 좌측 또는 우측 또는 일부 다른 위치에 놓이는 것을 지시할 수 있다. 예를 들면, 도 12를 참조하면, 93i 기호(214)는 짝 2차원 기호(216)를 갖는다. 짝 2차원 기호(216)는 93i 기호의 우측 에지(218)가 짝 기호의 좌측 에지(220)와 수직으로 정렬되도록 93i 기호(214)와 함께 명확하게 정렬될 수 있다.
30-35의 값을 갖는 태그 지시 값은 판독기에게 짝 태그가 존재하는 정보를 제공하고, 정보가 어떻게 태그로부터 얻어질 수 있는지에 관한 명령 또는 지시를 제공한다. 예를 들면, 도 13에 나타낸 바와 같이, 짝 태그는 무선 주파수(RF) 태그(226)일 수 있고, 93i 기호(224)의 태그 지시값은 특정 RF 식별(RFID) 코드가 태그에 저장된 데이터를 얻기 위해 사용될 수 있음을 지시한다. 대안으로, 93i 기호(224)에서 인코딩된 데이터는 특정 주파수를 제공하는 것과 같이 RF 태그(226)로부터 데이터를 폴링하거나 또는 얻기 위한 명령을 판독기에 제공할 수 있다.
하기 표는 태그 지시 값들 및 판독기에 대한 이들의 대응하는 지시를 요약한다.
태그 지시 값 판독기에 대한 지시
8 짝 라인 스캔 가능한 기호를 갖는 에러 정정된 선형 기호
14, 15, 16, 17 짝 판독/기입 기호 A, B, C, D
22, 23, 24, 25, 26 짝 파인더 통합된 매트릭스 기호 A,B,C,D,E
30, 31, 32, 33, 34, 35 짝 태그 A,B,C,D,E,F
태그 지시 값은 특정 짝 태그를 지시할 수 있다. 예를 들면, 태그 지시 값 22-26은 PDF417 또는 코드 원 등의 특정 2차원 심볼로지를 지시할 수 있다. 특정 명령은 판독기가 태그 지시 값을 사용하는 것이 미리 결정되는 것이 바람직하고, 그러한 기호들과 직면할 때 모든 판독기가 동일한 오퍼레이션을 수행하도록 표준화될 때 사용하도록 설정된다.
요약하자면, 93i 심볼로지는 짝 기호를 위치시키기 위한 스캐닝/영상화를 계속해야되는지 여부에 관한 명령 등을 판독기에 제공하는 방법을 제공한다. 예를 들면, 93i 심볼로지는 판독기를 제어하는 데이터를 인코딩하기 위해 시작 및(또는) 종료 문자들을 사용하는 방법을 사용한다. 시작 및 종료 문자들의 조합은 4가지 유형의 유효 기호에 대해 제공된다. 이러한 4가지 유형의 유효 기호는 판독기가 에러 정정을 사용해야하는지 여부를 지시함으로써 판독 또는 디코딩 공정을 가속시킨다. 더욱이, 93i 심볼로지는 태그 지시 값들의 사용을 통해 짝 기호 또는 태그로부터 판독기가 데이터를 검색하는 데 보조하는 데이터를 인코딩할 수 있다.
구축된 부록을 지시하기 위해 특수 형상의 프래그 문자에 후속하는 변경자 문자들을 이하 참조하면, 변경자 문자들은 하기 규칙에 기초하여 연산에 의해 발생된다. 제1 문자가 9 내지 45의 문자 값을 갖는 경우, 문자 값은 6비트로 전환되고, 제1의 3개의 비트는 서수 기호 값이고, 제2의 3개의 비트는 그룹 크기이다. 예를 들면 45는 6 비트 101101 또는 5개의 기호들의 그룹에서 벗어난 제5 기호에 대응한다. 제1 변경자 문자가 0 내지 7의 문자 값을 갖고, 그 직후에 후속하는 문자가 6 내지 47의 문자 값을 갖는 경우, 6비트로 변환되는 2개의 문자들은 각각 또는 결합하여 12개의 연산 비트의 단일 스트링을 형성한다. 제1의 3개의 비트 및 8개의 비트는 항상 0 비트인 한편, 4 내지 7개의 비트는 서수 기호 번호를 식별하고, 9 내지 12 비트는 수직된 기호에 대한 그룹 크기를 나타낸다. 예를 들면, 7, 47은 12비트의 2진수 스트링 000111101111에 대응하고, 4 내지 7 비트는 1111이고, 9 내지 12비트는 1111이므로, 15개의 기호들에서 벗어난 15번째 기호를 나타낸다. 다른 실시예로써, 하기 표 8은 93i 심볼로지의 구축된 부록에 따라 변경자 문자의 실시예를 나타낸다.
기호 위치 2진수 스트링 초기 특수 형상의 프래그 문자 후의 변경 문자 값(들)에 대응함
4중의 1 001 100 1100 12
4중의 2 010 100 10100 20
4중의 3 011 100 11100 28
4중의 4 100 100 100100 36
6중의 1 000 0001 0 0110 000000 100110 0,38
6중의 2 000 0010 0 0110 000001 000110 1,6
6중의 3 000 0011 0 0110 000001 100110 1,38
6중의 4 000 0100 0 0110 000010 000110 2,6
6중의 5 000 0101 0 0110 000010 100110 2,38
6중의 6 000 0110 0 0110 000011 100110 3,6
기호들의 그룹이 함께 연결되도록 의도되는 것을 보장하는 데 조력하기 위해, n 문자의 n 후에 2개의 체크 문자가 포함된다. 제1 체크 문자는 기호들의 문자 내의 모든 데이터 문자들의 ASCII 값의 모듈로 43 합으로서 연산된다(특수 형상의 프래그 문자, 변경자 문자, 모드 문자, 체크 또는 에러 정정 문자를 포함함). 마찬가지로, 제2 체크 문자는 제1 체크 문자를 포함하지만 특수 형상의 프래그 문자, 변경자 문자들, 모드 문자들, 에러 정정 문자들 또는 기타 체크 문자들을 배체한 기호들의 그룹 내의 모든 데이터 문자들의 ASCII 값의 모듈로 43 차이로서 연산된다
구축된 첨부 기호들의 그룹에서 각각의 기호는 임의의 순서로 주사되거나 또는 상영될 수 있고, 에러 정정 문자들을 갖는 기호들은 에러 정정 문자들이 결여된 규칙적인 93i 기호와 하께 혼합될 수 있다. 모든 기호들로부터 데이터는 판독기에 버퍼링되고, 캐리지 리턴(CR), 라인 공급(LF) 등의 판독기 내의 임의의 프리- 및 포스트-앰블 인에이블된 문자들에 의해 정정된 순서로 전송된다. 임의로, 판독기는 본 명세서에 설명된 심볼로지 식별자 프로토콜을 사용하여 기개의 기호들을 전송하도록 위치될 수 있다. 그러한 경우에, 적절한 심볼로지 식별자는 더블 디지트 쌍 n중 m이 후속하고, 각각의 기호의 데이터 전송에 매달린다. 예를 들면, 데이터 문자 스트링 "123"이 2개의 기호중의 첫 번째로 존재하고, 데이터 문자 스트링 456이 2개의 기호중 두 번째로 존재하는 경우, 제1 기호에 인코딩된 기호 값들은 "52, 10, 1, 2, 3"이고, 제2 기호에 인코딩된 기호 값들은 "52, 18, 8, 4, 4, 5, 6"이며, 여기서 8=(49+50+51+52+53+54)mod 43이고, 4=(49-50-51-52-53-54)mod 43이다. 판독기로부터 전송된 데이터는 데이터 문자 스트링 1, 2, 3, 4, 5, 6, CR, LF로서 전송된다. 판독기가 개개의 구축된 첨부 기호들을 전송하도록 형성되고, 2개의 기호중의 2번째 것이 먼저 주사된 경우, 판독기는 ASCII 값 시퀀스 "93, 71, 68, 48, 50, 48, 50, 56, 52, 52, 53 및 54"인 "[G, D, 0, 2, 0, 2, 8, 4, 4, 5, 6"을 전송할 수 있다.
대안의 실시예에서, 구축된 첨부 기호의 그룹에서 각각의 기호는 제1 및 제2 체크 문자들 대신에 파일 마커 문자를 포함한다. 구축된 첨부 기호들에서 각각의 기호는 0 내지 42의 기호 값들중 임의의 것으로부터 선택된 동일한 파일 마커 문자를 포함한다(데이터 문자 0 내지 %). 파일 마커는 각각의 기호를 이들의 관련된 그룹에 대응하는 것으로서 식별한다. 따라서 구축된 첨부 기호들의 상이한 그룹의 기호들은 이들의 대응하는 그룹에 따라 그러한 기호들 각각을 식별하는 상이한 파일 마커 문자를 가질 수 있다.
파일 마커 문자들은 프린터가 특정 모드로 도입되지 않고, 일정 시점에서 일정 필드에 하나의 기호를 간단히 인쇄할 수 있기 때문에 프린터가 용이하게 인쇄할 수 있게 한다. 파일 마커 문자는 적절한 심볼로지 식별자가 기호에 포함되거나 또는 호스트 컴퓨터에 대해 수행되는 간단한 소프트웨어 프로그램이 그러한 그룹화를 수행한다고 가정하면, 사용자가 미버퍼 모드에 있는 파일들을 매치시키는 잇점을 갖는다. 파일 마커 문자는 예를 들면 특수 형상의 프래그 문자 후에 위치될 수 있다.
다른 대안적인 실시예에서, 특수 형상의 프래그는 1개 이상의 기호 값들과 함께 사용될 수 있고, 완전한 2차원 기호를 지정하기 위해 여러 가지 개별적인 기호들에 사용될 수 있다. 예를 들면, 플래그는 그의 값이 기호의 위치 및 크기로 구성된 단일 문자가 후속할 수 있다. 1개 이상의 후속 기호 값들과 함께 특수 형상의 프래그 문자(52)는 2차원 기호를 효율적으로 형성하기 위해 2차원 영역 내의 각각의 기호의 정확한 위치를 지시한다. 예를 들면, 4개의 기호들은 함께 2개의 행을 갖는 단일 2차원 기호를 형성할 수 있다. 제1의 후속 기호 값과 함께 특수 형상의 프래그 문자(52)는 하나의 기호가 2차원 기호의 상위-좌측 부분을 형성함을 나타내고 한편, 제2 기호 값을 갖는 특수 형상의 프래그 기호는 다른 44O의 기호들이 2차원 기호의 하위-우측 코너에 대응함을 지시한다. 구축된 첨부된 2차원 기호에서 최종 기호에 대한 체크 문자들은 전체적인 2차원 기호에 대한 체크 문자이다. 제공된 기호는 그 기호가 에러 정정 문자를 포함하는 것을 지시하도록 그 기호의 중심 내 및 구축된 첨부된 특징의 사용을 지시하기 위해 기호의 시작점에서 특수 형상의 프래그 문자 모두를 포함할 수 있다.
도 1의 기호에 기초한 판독기로부터 전송된 데이터의 예가 아래 제공될 수 있다. 도 1의 기호는 스트링 "9, 3, i, ECI, 16, {30908}"을 인코딩하고, 전송된 데이터는 다음과 같을 수 있고:
]G7 9 3i\000016 30908
이는 바이트로 다음과 같다:
93, 71, 55, 57, 51, 105, 92, 48, 48, 48, 48, 49, 54, 120, 128
데이터에 의해 초기에 전송된 심볼로지 식별자 "]G7"은 표 7에 따라 ECI 문자가 존재하고 바이트들이 전송에 포함된 "\NNNNNN" ECI 값에 따라 전송되는 것을 나타내는 변경자 문자 "7"을 포함하는 것에 주의해야 한다. 판독기는 더블 바이트 및 변화되지 않은 더블 바이트 문자로서 모든 단일 바이트를 전송하도록 형성된 경우, 심볼로지 식별자는 "]G8"로 변화될 수 있고, 하기 바이트 시퀀스는 판독기로부터 전송될 수 있다:
0, 93, 0, 71, 0, 56, 0, 57, 0, 51, 0, 105, 0, 92, 0, 48, 0, 48, 0, 48, 0, 48, 0, 49, 0, f, 120, 188
기호는 ECI 문자를 포함하기 때문에, 심볼로지 식별자가 사용되어야 하고, 판독기는 심볼로지 식별자를 전송하지 않고 기호를 디코딩할 수 없다. 그러나, ECI 문자 "\000016"이 기호에서 인코딩되지 않은 경우, 전송된 메시지를 해석하기 위해 판독기로부터 전송된 데이터를 수신하는 호스트에 이를 수 있다. 그러한 경우에, 워드 모드 문자가 기호에 인코딩되는 경우, 판독기는 더블 바이트로서 기호를 전송해야 하고, 심볼로지 식별자가 인에이블된 경우, 정정 접두어는 "]G4"일 수 있다. 마찬가지로, 워드 모드 문자가 기호에 존재하지 않는 경우, 판독기는 더블 바이트로서 모든 단일 바이트 및 변화되지 않은 모든 더블 바이트 문자를 전송하도록 형성되었고, 심볼로지 식별자는 여전히 "]G4"일 수 있다. 결과적으로, 인코드 스트링 "9, 3, i, {30908}"은 다음과 같이 전송될 수 있고:
]G4 9 3 i 30908
이는 바이트로 다음과 같다:
0, 93, 0, 71, 0, 52, 0, 57, 0, 51, 0, 105, 120, 188
도 6은 전형적인 기호 문자 인쇄 장치(100)를 보여준다. 장치(100)는 프린터(102), 중앙 처리 유니트(CPU)(104), 메모리(106), 키보드(107) 및 제2 기억 장치(108)로 구성된다. 프린터(102)는 바 코드 및 인간이 판독 가능한 데이터 문자를 인쇄할 수 있는 것으로 일반적으로 공지된 유형이다. 당업계의 숙련자들은 본 발명에 사용하기 적절한 임의의 인쇄기로부터 선택할 수 있다. CPU(104)는 호스트 컴퓨터 또는 기타 장치 또는 용도에 포트 또는 라인(109)에 의해 전기적으로 결합된다. 메모리(106) 및(또는) 제2 기억 장치(108)에 저장된 루틴을 실행하는(도 7) CPU(104)는 프린터(102)에 전송된 카운트로 16-비트 데이터 문자 코드를 변환시킨다. 프린터(102)는 이들 카운트를 해석하고, 이들을 전형적으로 바 코드 라벨 형태의 인쇄된 기호 문자들로 변환시킨다. "라벨"은 일반적으로 임의의 종이, 천, 플라스틱, 금속 또는 1개 이상의 기호 문자들 및(또는) 그 위에 인쇄되거나 또는 형성된 데이터 문자들을 갖기에 적절한 기타 유연한 강성 물질을 의미한다. 그러나, 관련 업계의 숙련자들은 "라벨"이라는 용어 역시 소비자 상품에 대한 패키징 또는 대상물 상에 형성된 릴리프 등의 대상물 상에 인쇄된 임의의 기호 문자들을 의미함을 인식할 수 있을 것이다. 인쇄된 라벨은 기호 문자들 및 대응하는 인간이 판독 가능한 데이터 문자들 모두를 포함할 수 있다. 도 1의 라벨 101은 본 발명의 실시예에 따라 인쇄 또는 판독된 라벨의 예이다.
도 7은 다중 기호 문자들 및 대응하는 데이터 문자들을 갖는 바 코드 라벨을 인쇄하기 이해 루틴 111에 따라 도 6의 인쇄 장치(100)에 의해 수행되는 전형적인 단계들을 보여준다. 단계(110)에서, 키보드(107)를 사용한 입력 등의 데이터 문자들의 스트링이 선택되거나, 입력되거나, 또는 결정된다. 데이터 문자들의 스트링 역시 호스트 컴퓨터(105)로부터 라인(109)상으로 CPU(104)에 입력될 수 있다. 키가 키보드(107) 상에서 눌려질 때, 키스트로크는 키보드로부터 키보드가 접속된 장치로 전송되는 "스캔 모드"로 변환된다(예, 인쇄 장치(100) 또는 호스트 컴퓨터(105)). 이러한 스캔 코드는 눌려진 키보드의 특정 키를 나타내고, ASCII 또는 유니코드 등의 데이터 문자 세트의 임의의 특정 문자 또는 값과 관련되지 않는다.
단계(112)에서, CPU(104)는 선택된 문자들을 영문자들, 숫자 문자들, 8-비트 바이트, 16-비트 워드 또는 문자들 등의 데이터 문자들의 여러 가지 세트로 분할시킨다. 데이터 분석 기술은 관련 업계에 잘 공지되어 있다. 단계(114)에서, CPU(104)는 시프트 문자 [S1]-[S4], 모드 문자들, 예를 들면 숫자, 바이트 및 워드 모드 문자들 [48], [49] 또는 [50] 등의 임의의 특수 문자들 각각을 정의한다. 부가적으로, 단계(114)에서, CPU(104)는 임의의 ECI 번호가 기호에서 인코딩되는지 여부를 결정한다.
단계(116)에서, CPU(104)는 선택된 데이터 문자들에 기초하여 기호 문자들의 최적의 스트링을 결정한다. 예를 들면, 5개의 연속적인 데이터 문자들이 숫자인 경우, CPU(104)는 숫자 모드가 기호 문자들의 수를 감소시키기 위해 사용되어야 하고, 따라서 생성된 기호의 정보 밀도를 증가시키는 것을 결정한다. 단계(116)에서 CPU(104)는 기호에서 정보 밀도를 증가시키기 위해 위에 재공된 룰 및 제안(표 4-6에 나타낸 바와 같음)을 사용한다.
단계(118)에서, CPU(104)는 각각의 데이터 문자에 대한 기호 값을 결정한다. 데이터 문자들 및 이들의 대응하는 기호 값들의 표는 도 2 및 도의 표 등의 대응한 기호 문자들에 대한 카운트에 따라 제2 기억 장치(108)에 저장되는 것이 바람직하다. 대안으로, 기호 값들은 데이터 문자들에 대한 지식으로부터 자동으로 산출될 수 있다. 단계(118)에서 CPU(104)는 선택된 데이터 문자들을 본 명세서에 규정된 적절한 루틴에 기초하여 도 2의 표로부터 선택된 기호 문자들로 인코딩한다. 예를 들면, CPU(104)가 3개 또는 4개의 디지트의 스트링과 직면하는 경우, 이 CPU(104)는 상기한 바의 수학식(1) 및 (2)을 각각 사용한다. 바이트들이 인코딩되어야 하는 경우, CPU(104)는 수학식(30)을 사용한다.
단계(120)에서, CPU(104)는 기호가 에러 정정 문자들을 사용하는지 여부를 결정한다. 그럴 경우, CPU는 상기한 바와 같이 에러 정정 문자들을 발생시킨다. 대안으로, CPU(104)는 상기 체크 문자 알고리즘을 사용함으로써, 체크 문자 "C" 및 "K"를 발생시킨다. 단계(122)에서, CPU(104)는 인쇄될 기호 문자들의 번호에 부분적으로 기초한 기호들에 대한 적절한 X-차원을 선택한다. 단계(124)에서, CPU(104)는 인간이 판독 가능한 데이터 문자들에 의한 기호의 인쇄 등의 다른 포맷 옵션, 도는 관련 업계의 숙련자들에게 공지된 다른 포맷 옵션을 선택하였다. 단계(126)에서, CPU(104)는 프린터(102)에 적절한 코드 및 기타 신호들을 출력하고, 다시 바 코드 라벨을 형성하기 위해 일련의 기호 문자들(및 가능하게는 데이터 문자들)로서 기호를 인쇄한다.
93i 심볼로지는 도 8에 나타낸 바 코드 판독 장치(140) 등의 바 코드 판독 장치를 사용하여 용이하게 판독될 수 있다. 판독 장치(140)는 표준 바 코드 판독기(142)를 갖는다. 바 코드 판독기(142)는 레이저 스캐너, 래스터라이징 레이저 또는 막대(wand)-기재 광 변환기 등의 전기-광 장치(143)를 포함한다. 대안으로, 판독기(142) 내의 전기-광 장치(143)는 1차원 또는 2차원 CCD, 반도체 어레이, 비디오콘, 또는 수신된 광선을 전기 신호로 변환시킬 수 있는 기타 영역 영사기를 포함할 수 있다. 판독기(142) 내의 전기-광 장치(143)는 LED, 플래쉬 벌브, 적외선 소스 또는 기타 발광 소자 등의 광원을 포함할 수도 있다. 본 명세서에 일반적으로 사용된 바와 같이, "판독기"라는 용어는 바 코드로부터 수신된 변조된 광선을 전기 신호로 변환시킬 수 있는 임의의 장치를 의미한다. 판독기는 당업계의 숙련자들에게 공지된 것으로, 본 발명에 사용하기에 적절한 임의의 이러한 판독기가 선택될 수 있다. 메모리(146) 및 제2 기억 장치(148)가 CPU(144)에 결합된다. 바 코드 판독기(142)에 입력된 데이터는 CPU(144)에 의해 처리되고, 호스트 컴퓨터(147) 또는 기타 장치 또는 용도에 포트 또는 라인(149)에 의해 출력된다. 대안으로 데이터는 무선 링크를 통해 출력될 수 있다.
도 9는 본 발명의 심볼로지로부터 기호 문자들을 갖는 바 코드 기호들을 판독하기 위한 도 8의 판독 장치(140)에 의해 루틴(150)에 따라 수행된 단계들을 보여준다. 단계(151)에서, 바 코드 판독기(142)는 예를 들면 일련의 카운트를 측정함으로써 바 코드 라벨의 기호 문자들을 스캔하고 사영하고, 소자들의 폭을 결정한다. 당업계의 숙련자들에게 공지된 바와 간이, 판독 장치(140) 내의 타이머와 함께 기호 문자들에서 바들 간의 트랜지션은 판독된 기호 문자들의 카운트를 결정한다. 카운트는 다시 주어진 기호에서 소자들의 폭을 결정하기 위해 사용된다. 단계(152)에서, CPU(144)는 기호의 양 측면 상에 안정 존을 위치시키기 위해 카운트를 분석한다.
단계(154)에서, CPU(144)는 6개 소자 폭의 제1 스트링을 나타내는 제1의 6개의 카운트를 선택한다. 단계(156)에서, CPU(144)는 제1의 6개의 카운트를 9로 분할하고, 그 결과를 표준화하여 개개의 소자의 폭을 추정한다. 단계(158)에서, CPU(144)는 시작 문자에 대한 폭의 스트링에 대해 제1의 6개의 소자들의 폭 및 종료 문자에 대한 폭의 역 스트링과 비교한다. 스트링의 최종적인 6개의 소자가 시작 문자로부터 6개의 소자에 대응하지만, 그 역인 경우, CPU(144)는 기호가 역으로 스캔되었음을 인식하고, 따라서 기호가 우측으로부터 좌측으로 판독되는 것을 인식한다(전통적인 좌측에서 우측으로의 반대).
단계(160)에서, CPU(144)는 다음 6개의 소자를 선택하고, 단계(162)에서, 소자들의 합(카운트)을 9로 분할하고, 그 결과를 표준화시킨다. 단계(166)에서, CPU(144)는 라벨이 임의의 부가적인 소자를 포함하는지를 결정하고, 그럴 경우, 모든 기호 문자들이 기호 값들로 변환될 때까지 단계 160 내지 164를 다시 수행하도록 루프는 단계(160)로 복귀된다.
단계(168)에서, CPU(144)는 임의의 무효/디코딩 불가능한 기호 문자들이 발생되었는지 여부를 결정한다. 일부 기호 문자들이 디코딩 불가능한 경우, 루틴 루프는 단계(160)로 복귀되고, CPU(144)는 기호에서 개별적인 소자들에 대한 에지-에지(소자 쌍들) 디코딩 등의 기타 공지된 디코드 방법을 수행한다. 대안으로, 단계(168)에서, CPU(144)는 바-바 또는 스페이스-스페이스 비교 또는 당업계의 숙련자들에게 공지된 인자 R 디코딩 방법을 수행한다.
단계(168)에서, CPU(144)는 기호 문자들이 초점이 맞는지 여부를 검증하거나 또는 결정할 수도 있다. CPU(144)는 CPU가 광범위한 소자들을 인식할 수 있지만 하나의 광범위한 소자들을 인식하는 데 실패할 수 있는지를 결정하기 위해 기호 문자들에 대해 바 코드 판독기(142)에 의해 생성된 신호들을 분석한다. CPU(144)가 1개 이상의 기호 문자들에서 하나의 광범위한 소자들 인식할 수 없는 경우, CPU는 디코드 루틴을 중단하고, 초점이 맞지 않는 데이터를 CPU에 제공하거나 또는 기호가 초점이 맞지 않음을 사용자에게 경고하는 등의 다른 기능을 수행한다. CPU(144)가 충분히 프로그램된 경우, 이것은 본 발명자들의 미국 특허 제5,486,689호, 동 제5,514,858호, 동 제5,539,191호, 및(또는) 1996년 10월 12일자로 출원된 미국 특허 출원 제08/493,669호에 기초하여 초점이 맞지 않는 데이터를 디코딩할 수 있다.
기호가 초점이 맞는 경우, 또는 모든 기호 값들이 유효하도록(즉, 데이터 문자로 맵) CPU(144)가 초점이 맞지 않는 데이터를 디코딩하는 경우, 단계(170)에서, CPU는 적어도 2개의 기호 문자들에 기초한 체크 연산을 수행한다. 대안으로, 기호들이 에러 정정 문자들을 포함하는 경우, CPU(144)는 에러 정정을 사용한다. 체크 문자가 체크되거나 또는 에러 정정이 상기 알고리즘에 따라 수행되는 경우, 단계(171)에서, CPU(144)는 적절한 데이터가 저장되었는지에 좌우되어 메모리(146) 또는 제2 기억장치(148)로부터 적절한 데이터 문자들을 검색함으로써 기호 값들을 룩업 테이블에 기초하여 데이터 문자들로 변환시킨다. 이어서, 데이터 문자들이 CPU(144)에 의해 디스플레이될 수 있거나, 또는 기타 용도에 사용될 수 있거나, 또는 라인(149)을 통해 호스트 컴퓨터(147)에 출력된다. 단계(171)에서, CPU(144)는 숫자 모드, 바이트 모드 및 워드 모드 각각에 대한 기호 값들 48-50 등의 임의의 시프트 또는 모드 기호 값을 해석한다. CPU(144)가 모드 문자들 또는 기타 특수 문자들(기호값 43-52) 중의 하나에 직면할 때, CPU는 상기한 바와 같이 적절한 모드를 도입하거나 또는 기호 값들을 디코딩한다. 대안으로, CPU(144)는 라인(149)을 통해 호스트 컴퓨터(147)에 기호 값들을 단순히 출력하고, 다시 대응하는 데이터 문자로의 변환을 수행한다. 본 발명의 특정 실시 형태 및 실시예를 예시 목적으로 앞서 기재하였지만, 본 발명의 정신 및 범위에서 벗어나지 않는 여러 가지 등가의 변형이 일어날 수 있다. 예를 들면, 메모리(106 또는 146)가 바 코드 라벨의 인코딩, 디코딩, 인쇄 또는 판독을 위해 CPU(104 또는 144)에 의해 요구되는 모든 데이터를 포함하기에 충분히 큰 경우, 제2 기억 장치(108 또는 148)는 불필요하고, 따라서 제거된다. 대안으로, CPU(104 또는 144)에 의해 요구되는 데이터는 제2 기억 장치(108 또는 148)에 포함될 수 있고, 따라서 큰 메모리(106 또는 146)에 대한 필요성 및 이러한 메모리에 대한 필요성을 전체적으로 제거한다. 93i 심볼로과 무관하게, 기호 문자들은 도 2에 관하여 상기한 것보다 데이터 문자들을 차별화시키도록 할당될 수 있다. FNC1 문자 51 또는 특수 형상의 프래그 문자 52는 데이터 문자들의 다른 세트를 인코딩하기 위한 모드로 래치되도록 사용될 수 있다. 예를 들면, 워드 모드 문자 50은 유니코드 문자들을 인코딩하기 위해 사용될 수 있는 한편, 특수 형상의 프래그 문자 52는 기호의 말단에 위치되는 경우 JISC-6226-1983 문자들을 인코딩하기 위해 래치될 수 있다.
대안적인 실시예에서, 93i 심볼로지는 기호 중앙의 특수 형상의 프래그 문자를 생략할 수 있다. 대신에, 문자는 항상 에러 정정 문자들을 사용할 수 있다. 사용자, 프린터 또는 컴퓨터가 보다 짧은 인쇄된 기호를 생성하고자 하는 경우, 에러 정정 문자들은 단순히 억제될 수 있다. 결과적으로, 기호는 5개의 에러 정정 문자들 없이 인쇄된다.
추가의 다른 실시예에서, 93i 심볼로지는 에러 정정 레벨 지시기 문자를 사용할 수 있다. 에러 정정 레벨 지시기 문자는 주어진 기호에 의해 사용된 에러 정정 레벨 또는 그 양을 지시한다. 예를 들면, 에러 정정 레벨 지시기 문자는 기호 내의 3개, 5개 또는 7개의 에러 정정 문자들 각각에 대응하는 3개의 값들중의 하나를 가질 수 있다. 에러 정정 레벨 지시기 문자는 메시지 길이 지시기 문자 후에 특수 형상의 프래그 문자에 근접하게 위치되는 것이 바람직하다.
또 다른 대안적인 실시예에서, 특수 형상의 프래그 문자는 기호의 중심보다 오히려 기호 내의 다른 위치에 위치될 수 있다. 예를 들면, 특수 형상의 프래그 문자는 (L+2)/2에 대응하는 기호의 위치에 위치될 수 있다. 메시지 길이 지시기 문자는 (2L+2)/3의 위치 등의 동일한 공간의 위치에 위치될 수 있다. 물론, 특수 형상의 프래그 및 메시지 길이 지시기 문자는 기호 내의 다른 위치에 위치될 수 있다.
또한, 본 발명은 추가의 잇점 및 기능성을 제공하기 위해 본 명세서에 기재된 미국 특허 및(또는) 특허 출원의 지시를 혼입할 수 있다. 상기 미국 특허 및 특허 출연은 참고 문헌으로서 본 명세서에 기재한다. 본 발명의 특징은 다른 심볼로지에 적용될 수 있다. 예를 들면, 특수 형상의 프래그가 사용은 그러한 문자의 위치에 기초하여 2가지 상이한 기능을 사용하기 위해 바코드 표준 또는 기계-판독 가능한 심볼로지중 임의의 것에 사용될 수 있다. 더욱이, 93i 심볼로지의 국면들은 선형 바 코드 심볼로지로 혼입되는 것으로서 본 명세서이 일반적으로 기재되어 있고; 대안으로, 93i 심볼로지의 이러한 국면은 PDF417 등의 스택된 심볼로지 또는 코드 원 등의 영역 심볼로지에 사용될 수 있다.
상기 상세한 설명에 비추어 본 발명에 대한 이들 변화 및 다른 변화가 이루어질 수 있다. 일반적으로, 하기 특허 청구의 범위에서, 용어들은 본 명세서에 개시된 특정 실시예 및 특허 청구의 범위로 본 발명을 제한시키고자 하는 것으로 해석되지 않고, 8-비트 바이트, 16-비트 문자 코드, ECI 번호 등의 여러 가지 데이터 문자들을 직접적으로 인코딩하기 위한 모든 장치, 방법 및 심볼로지를 포함하는 것으로 해석되어야 한다. 따라서, 본 발명은 개시 내용에 의해 제한되지 않고, 대신에 그의 범위는 하기 특허 청구의 범위에 의해 전체적으로 결정되어야 한다.

Claims (54)

  1. 데이터 문자들을 기계-판독 가능한 기호들로 변환시키는 방법으로서, 각각의 기호는 어두운 형상의 패턴 및 그 형상들 사이에 밝은 스페이스를 가지며,
    복수개의 데이터 문자들에 대응하는 복수개의 문자 코드들을 각각 결정하는 단계로서, 각각의 문자 코드는 8비트를 가지는 단계;
    복수개의 문자 코드들을 복수개의 기호 값들로 변환시키는 단계로서, 복수개의 기호 값들 각각은 256개 미만의 기호 값들의 세트로부터 선택되는 단계; 및
    복수개의 기호 문자들을 인쇄하는 단계로서, 복수개의 기호들은 복수개의 기호 값들 각각에 대응하는 단계를 포함하는 데이터 문자를 기계로 판독 가능한 기호로 변환하는 방법.
  2. 제1항에 있어서, 부가의 기호 문자를 인쇄하는 단계를 추가로 포함하고, 여기서 부가의 기호 문자는 복수개의 기호 문자들이 적어도 하나의 8-비트 바이트에 대응하는 것을 나타내는 방법.
  3. 제1항에 있어서, 부가의 기호 문자를 인쇄하는 단계를 추가로 포함하고, 여기서 부가의 기호 문자는 가까운 기호 문자들의 각각의 그룹이 하나의 16-비트 워드에 대응하는 것을 나타내는 방법.
  4. 제1항에 있어서, 임의의 복수개의 기호 값들이 제1 범위의 값들을 갖는다면 제1 체크 문자 모드를 사용하는 단계;
    임의의 복수개의 기호 값들이 제2 범위의 값들을 갖는다면 제2 체크 문자 모드를 사용하는 단계; 및
    복수개의 기호 값들에 기초한 제1 또는 제2 체크 문자 모드 하에서 최소한 제1 체크 값을 연산하는 단계를 추가로 포함하는 방법.
  5. 데이터 문자들을 기계-판독 가능한 기호들로 변환시키는 방법으로서, 각각의 기호는 어두운 형상의 패턴 및 그 형상들 사이에 밝은 스페이스를 가지며,
    복수개의 데이터 문자들에 대응하는 복수개의 문자 코드들을 각각 결정하는 단계;
    복수개의 문자 코드들을 복수개의 기호 값들로 변환시키는 단계;
    복수개의 기호 값들의 적어도 몇몇에 기초하여 에러 정정 값들을 연산하는 단계; 및
    복수개의 기호 문자들을 인쇄하는 단계를 포함하고, 복수개의 기호들은 복수개의 기호 값들, 에러 정정 값들 및 복수개의 기호 문자들이 적어도 하나의 에러 정정 값에 대응하는 적어도 하나의 기호 문자를 포함하는 것을 나타내는 특수 형상의 프래그 기호 문자에 대응하는 데이터 문자들을 기계-판독 가능한 기호들로 변환시키는 방법.
  6. 제1항 또는 제5항에 있어서, 상기 인쇄 단계는 기호 문자당 3개의 형상 및 9개의 모듈을 갖는 심볼로지로부터 선택된 복수개의 기호 문자들을 인쇄하는 단계를 포함하는 방법.
  7. 제5항에 있어서, 상기 인쇄 단계는 제1 모드를 나타내기 위해 상기 복수개의 기호 문자들의 제1 위치에 특수 형상의 프래그 기호 문자를 인쇄하고, 제2 모드를 나타내기 위해 복수개의 기호 문자들의 제2 위치에 특수 형상의 프래그 기호 문자를 인쇄하고, 여기서 복수개의 기호 문자들은 적어도 하나의 에러 정정 값에 대응하는 적어도 하나의 기호 문자를 포함하는 것을 포함하는 방법.
  8. 제5항에 있어서, 상기 인쇄 단계는 복수개의 기호 문자들의 중심에 가까운 특수 형상의 프래그 기호 문자를 인쇄하는 것을 포함하는 방법.
  9. 제5항에 있어서, 상기 인쇄 단계는 상기 복수개의 기호 문자들에 메시지 길이 기호 문자를 인쇄하는 것을 포함하는 방법.
  10. 제1항 또는 제5항에 있어서,
    제1 번호의 디지트(digit)를 선택하는 단계;
    제1 번호의 디지트를 이 제 1 번호보다 작은 제2 번호의 기호 값으로 변환시키는 단계; 및
    부가적인 기호 문자를 인쇄하는 단계를 포함하고, 여기서, 상기 부가적인 기호 문자는 적어도 제2 번호의 기호 문자가 디지트에 대응하는 것을 나타내는 방법.
  11. 제1항 또는 제5항에 있어서,
    컴퓨터로 해석 가능한 미리 선택된 데이터에 대응하는 번호를 선택하는 단계;
    그 번호를 적어도 하나의 선택된 기호 값으로 변환시키는 단계;
    적어도 하나의 선택된 기호 값에 대응하는 적어도 하나의 선택된 기호 문자를 인쇄하는 단계; 및
    부가적인 기호를 인쇄하는 단계를 추가로 포함하고, 여기서, 부가적인 기호는 적어도 하나의 선택된 기호가 복수개의 미리 정해진 번호들 중 하나에 대응하는 것을 나타내는 방법.
  12. 제1항 또는 제5항에 있어서, 부가적인 기호 문자를 인쇄하는 단계를 추가로 포함하고, 여기서, 부가적인 기호 문자는 복수개의 기호 문자들이 구성된 기호들의 세트 내의 선택된 위치에 대응하는 것을 나타내는 방법.
  13. 제1항 또는 제5항에 있어서, 상기 인쇄 단계는 표준 바 코드 심볼로지로부터 선택된 여러 기호들의 인쇄 단계를 포함하는 방법.
  14. 제1항 또는 제5항에 있어서, 상기 인쇄 단계는 부가적인 기호 문자들을 인쇄하는 것을 포함하고, 여기서 부가적인 기호 문자는 적어도 하나의 짝(companion) 기호가 기호를 형성하는 기호 문자 그룹에 근접하여 존재하는 것을 나타내는 방법.
  15. 바들 사이에 스페이스를 갖는 복수개의 인접하여 위치된 바들을 포함하고, 적어도 3개의 바 및 3개의 스페이스 그룹들은 적어도 50개의 개개의 데이터 문자들중 하나를 정의하고, 각각의 그룹은 각각 제1 폭과 제2 폭의 정수배인 복수개의 상이한 폭으로부터 선택된 적어도 3개의 바 및 3개의 스페이스를 가지며, 각 그룹은 상기 제 1 또는 제 폭의 적어도 9배와 실질적으로 동일한 바 코드 구조.
  16. 제14항에 있어서, 상기 그룹들 중 하나는 바이트 모드 데이터 문자를 나타내고, 여기서 바이트 모드 문자는 후속 그룹들이 8비트를 갖는 적어도 하나의 문자 코드에 대응하는 것을 나타내는 바 코드 구조.
  17. 제14항에 있어서, 그룹들 중의 하나가 워드 모드 데이터 문자를 나타내고, 여기서 워드 모드 데이터 문자는 후속 그룹들이 적어도 하나의 16비트 문자 코드에 대응하는 것을 나타내는 바 코드 구조.
  18. 제14항에 있어서, 상기 그룹들의 일부는 심볼로지 표준으로부터 선택된 그룹과 실질적으로 동일한 바 코드 구조.
  19. 데이터 문자들을 기계-판독 가능한 기호들로 변환시키는 방법으로서, 각각의 기호는 어두운 형상의 패턴 및 그 형상들 사이에 밝은 스페이스를 가지며,
    적어도 2개의 기호 값들로 구성된 기호 값들의 그룹을 선택하는 단계;
    제1 또는 제2 기호 값들을 선택하는 단계로서, 제1 기호 값은 기호 값들의 그룹이 함께 제1 모드에 대응하는 것을 나타내고, 상기 제2 기호 값은 상기 기호 값들의 그룹이 함께 제2 모드에 대응하는 것을 나타내는 단계; 및
    복수개의 기호들을 인쇄하는 단계로서, 상기 복수개의 기호들은 상기 기호 값들의 그룹 및 제1 또는 제2 기호 값에 대응하는 단계를 포함하는 데이터 문자를 기계-판독 가능한 기호들로 변환시키는 방법.
  20. 제18항에 있어서, 그룹을 선택하는 상기 단계는 디지트의 스트링에 대응하는 기호 값들의 그룹을 선택하는 단계를 포함하고, 여기서, 제1 기호 값 또는 제2 기호 값을 선택하는 단계는 제1 숫자 압축 모드 또는 제2 숫자 압축 모드를 선택하는 단계를 포함하는 방법.
  21. 제18항에 있어서, 상기 제1 또는 제2 선택 단계는 제3 기호 값 선택 단계를 포함하고, 여기서 제3 기호 값은 기호 값들의 군이 8비트를 갖는 적어도 하나의 문자 코드에 대응하는 것을 나타내는 방법.
  22. 제18항에 있어서, 상기 제1 또는 제2 선택 단계는 제3 기호 값 선택 단계를 포함하고, 여기서 제3 기호 값은 기호 값들의 그룹이 적어도 하나도 16비트 문자 코드에 대응하는 것을 나타내는 방법.
  23. 제18항에 있어서, 상기 제1 또는 제2 선택 단계는 제3 기호 값 선택 단계를 포함하고, 여기서 제3 기호 값은 기호 값들의 그룹이 컴퓨터로 해석 가능한 미리 선택된 데이터에 대응하는 것을 나타내는 방법.
  24. 제18항에 있어서, 상기 제1 또는 제2 선택 단계는 제3 기호 값을 선택하는 단계를 포함하고, 여기서 제3 기호 값은 적어도 하나의 부가적인 기호 문자가 복수개의 기호들 근처에 존재하는 것을 나타내는 방법.
  25. 제18항에 있어서, 상기 제1 또는 제2 선택 단계는 제3 기호 선택 단계를 포함하고, 여기서, 제3 기호 값은 기호 값들의 그룹이 2차원 기호 내의 선택된 위치에 대응하는 것을 나타내는 방법.
  26. 데이터 문자들을 기계-판독 가능한 기호들로 변환시키는 방법으로서, 각각의 기호는 어두운 형상의 패턴 및 그 형상들 사이에 밝은 스페이스를 가지며,
    적어도 2개의 기호 값들로 구성된 기호 값들의 그룹을 선택하는 단계;
    제1 및 제2 기호 값들을 제공하는 단계로서, 상기 제1 기호 값은 기호 값들의 그룹이 2차원 기호의 일부에 대응하는 것을 나타내고, 상기 제2 기호 값은 2차원 기호 내 기호 값들의 군의 선택된 위치를 나타내는 단계; 및
    기호 값들의 그룹 및 제1 및 제2 기호 값들에 대응하는 복수개의 기호들을 인쇄하는 단계를 포함하는 데이터 문자들을 기계-판독 가능한 기호들로 변환시키는 방법.
  27. 제26항에 있어서, 상기 선택 단계는 2차원 기호에 대해 적어도 하나의 체크 문자를 연산하는 단계를 포함하는 방법.
  28. 표면위에 형성된 바 코드 라벨을 디코딩하는 방법으로서,
    바 코드 라벨로부터 복수개의 기호 문자들 각각을 나타내는 신호를 생성하기 위해 바 코드 라벨을 영사(imaging)하는 단계;
    상기 기호 문자들을 식별하기 위해 상기 신호를 분석하는 단계; 및
    각각의 기호 문자를 대응하는 기호 값으로 변환시키는 단계를 포함하고, 여기서, 복수개의 기호 값들 각각은 256개 미만의 기호 값들의 세트로부터 선택되고, 복수개의 기호 값들은 함께 8비트를 갖는 적어도 하나의 문자 코드를 나타내는 방법.
  29. 제28항에 있어서, 상기 제1 변환 단계는 복수개의 기호 문자들내의 체크 문자들이 체크되는지의 여부를 판정하고, 체크 문자들이 체크되지 않으면 에러 정정 문자를 사용하는 방법.
  30. 제28항에 있어서, 상기 변환 단계는 적어도 하나의 에러 정정 기호 문자가 복수개의 기호 문자들 내에 존재하는 것을 판정하기 전에 복수개의 기호 값들중 미리 정해진 하나가 복수개의 기호 문자들 중앙 근처에 있는지의 여부를 먼저 판정하는 것을 포함하는 방법.
  31. 기계-판독 가능한 기호들을 판독하기 위한 판독기 장치로서,
    복수개의 기호들로부터 반사된 광선을 수신하고, 복수개의 기호 문자들을 나타내는 신호를 생성하는 광 수신기; 및
    신호를 수신하여 복수개의 기호 문자들을 복수개의 기호 값들로 변환시키는 상기 광 수신기에 결합된 프로세서를 포함하고,
    여기서, 복수개의 기호 값들 각각은 256개 미만의 기호 값들의 세트로부터 선택되고, 각각의 기호 값은 복수개의 데이터 문자들중 하나에 대응하고, 복수개의 데이터 문자들의 적어도 일부는 복수개의 문자 코드 각각에 대응하고, 각각의 문자 코드는 8비트인 기계-판독 가능한 기호들을 판독하기 위한 판독기 장치.
  32. 복수개의 기호 문자들을 가지며, 적어도 하나의 에러 정정 기호 문자가 기호 문자들의 그룹 내에 존재하는 것을 나타내는 에러 정정 플래그 기호 문자를 포함하는 기계-판독 가능한 심볼로지.
  33. 제32항에 있어서, 상기 에러 정정 플래그 기호 문자는 기호 문자들의 그룹의 제1 위치에 위치될 때 에러 정정 기호 문자가 존재하는 것을 나타내고, 제2 위치에 위치될 때 기호 문자들의 그룹이 인쇄 가능한 기호들의 세트중의 선택된 것에 대응하는 기계-판독 가능한 심볼로지.
  34. 제32항에 있어서, 상기 에러 정정 플래그 기호 문자는 기호 문자들의 그룹의 중앙에 근접한 위치에 위치되는 기계-판독 가능한 심볼로지.
  35. 제32항에 있어서, 기호 문자들의 상기 그룹에 적어도 하나의 체크 기호 문자를 추가로 포함하고, 이 체크 문자는 적어도 하나의 에러 정정 기호 문자를 발생시키는 에러 정정 알고리즘과 상이한 알고리즘에 기초하여 발생되는 기계-판독 가능한 심볼로지.
  36. 제32항에 있어서, 기호 문자들의 그룹에 메시지 길이 기호 문자를 추가로 포함하고, 여기서, 메시지 길이 기호 문자는 기호 문자들의 그룹에 인코딩될 데이터 문자들의 번호를 나타내는 값을 갖는 기계-판독 가능한 심볼로지.
  37. 제32항에 있어서, 상기 에러 정정 플래그 기호 문자는 바들 사이에 스페이스를 갖는 복수개의 인접하여 위치된 바들을 포함하고, 여기서 바들은 적어도 2개의 폭중 하나를 갖는 기계-판독 가능한 심볼로지.
  38. 제32항에 있어서, 상기 에러 정정 플래그 기호 문자는 바들 사이에 스페이스를 갖는 복수개의 인접하여 위치된 바들을 포함하고, 여기서 스페이스는 2개의 폭중 적어도 하나를 갖는 기계-판독 가능한 심볼로지.
  39. 제32항에 있어서, 에러 정정 플래그 기호 문자는 바들 사이에 스페이스를 갖는 복수개의 인접하여 위치된 바들을 포함하고, 여기서 바들은 적어도 2개의 높이중 하나를 갖는 기계-판독 가능한 심볼로지.
  40. 복수개의 기호 문자들을 갖는 기계-판독 가능한 심볼로지로서, 여기서 기호 문자들의 그룹은 인쇄 가능한 기호를 형성하고, 상기 인쇄 가능한 기호 내의 제1 위치에 위치될 때 에러 정정의 사용을 나타내고, 상기 인쇄 가능한 기호 내의 제2 위치에 위치될 때 제2 기능을 나타내는 특수 형상의 프래그기호 문자를 포함하는 기계-판독 가능한 심볼로지.
  41. 제40항에 있어서, 상기 특수 형상의 프래그기호 문자는 제1 위치에 위치될 때 에러 정정 기호 문자가 기호 문자들의 그룹 내에 존재하는 것을 나타내고, 제2 위치에 위치될 때 기호 문자들의 그룹이 인쇄 가능한 기호들 중 선택된 것에 대응하는 것을 나타내는 기계-판독 가능한 심볼로지.
  42. 제40항에 있어서, 상기 제1 위치는 기호 문자들의 그룹의 중앙에 근접하는 기계-판독 가능한 심볼로지.
  43. 제40항에 있어서, 상기 제2 위치에 위치된 특수 형상의 프래그 기호 문자는 인쇄 가능한 기호들의 세트중의 선택된 것에 대응하고, 여기서 기호 문자들의 그룹은 인쇄 가능한 기호들 세트와 함께 기호 문자들의 그룹을 식별하는 선택된 기호 문자를 포함하는 기계-판독 가능한 심볼로지.
  44. 기계-판독 가능한 기호들을 인쇄하기 위한 프린터 장치에 있어서,
    복수개의 문자 코드들을 복수개의 기호 값들로 변환시키는 프로세서로서, 복수개의 문자 코드들은 복수개의 데이터 문자들 각각에 대응하고, 복수개의 문자 코드들 중 미리 정해진 코드는 적어도 하나의 에러 정정 기호 문자가 인쇄 가능한 기호 내에 위치된 것임을 나타내는 프로세서; 및
    인쇄 가능한 기호로서 복수개의 기호 문자들을 인쇄하는 프로세서에 결합된 프린터 메카니즘으로서, 복수개의 기호 문자들은 복수개의 기호 값에 각각 대응하는 기계-판독 가능한 기호들을 인쇄하기 위한 프린터 장치.
  45. 데이터 문자들의 세트에 대응하는 바 코드 기호 세트로서, 이 바 코드 기호 세트는 바들 사이에 스페이스를 갖는 복수개의 인접하여 위치된 바들을 포함하고, 여기서, 바들 및 스페이스들의 복수개의 그룹은 스택되지 않은 인쇄 가능한 기호들을 형성하고, 인쇄 가능한 기호들에서 바들 및 스페이스들중 적어도 2개의 그룹은 에러 정정 문자인 바 코드 기호 세트.
  46. 제45항에 있어서, 상기 바들 및 스페이스들의 적어도 2개의 그룹은 인쇄 가능한 기호 내에 존재하는 것을 나타내는 바들 및 스페이스들의 소정의 그룹을 추가로 포함하는 바 코드 기호 세트.
  47. 제46항에 있어서, 상기 바들 및 스페이스들의 미리 정해진 그룹은 상기 인쇄 가능한 기호 내의 (L+2)/2 위치에 위치되고, 여기서 L은 상기 인쇄 가능한 기호에 인코딩될 데이터 문자들의 번호인 바 코드 기호 세트.
  48. 제45항에 있어서, 적어도 제1 에러 정정 문자가 인쇄 가능한 기호의 개시부 근방에 위치되고, 적어도 제2 에러 정정 문자가 상기 인쇄 가능한 기호의 말단 근방에 위치되는 바 코드 기호 세트.
  49. 제45항에 있어서, 상기 바들 및 스페이스들의 그룹중 하나는 에러 정정 레벨 지시기 문자를 나타내고, 여기서 에러 정정 레벨 지시기 문자는 인쇄 가능한 기호들의 바들 및 스페이스들의 그룹에 사용된 에러 정정의 레벨을 나타내는 바 코드 기호 세트.
  50. 데이터 문자들의 세트에 대응하는 기계-인쇄 가능한 기호 세트로서, 이 기계-인쇄 가능한 기호 세트는 형상들 사이에 스페이스를 갖는 복수개의 인접하여 위치된 형상들을 포함하고, 여기서, 복수개의 형상들 및 스페이스들의 그룹은 인쇄 가능한 기호를 형성하고, 인쇄 가능한 기호의 형상들 및 스페이스들의 적어도 제1 및 제2 그룹은 제1 및 제2 에러 정정 문자이고, 형상들 및 스페이스들의 제1 및 제2 그룹은 상기 인쇄 가능한 기호 내에 인접하지 않게 위치되는 기계-판독 가능한 기호 세트.
  51. 제50항에 있어서, 기계-판독 가능한 기호들의 세트는 상기 인쇄 가능한 기호의 반대쪽 말단에 위치된 시작 및 종료 문자들을 포함하고, 상기 제1 및 제2 에러 정정 문자들은 시작 및 종료 문자 근방에 각각 위치되는 기계-판독 가능한 기호 세트.
  52. 제50항에 있어서, 상기 인쇄 가능한 기호는 제1 및 제2 에러 정정 문자들을 포함하는 것을 나타내는 형상들 및 스페이스들의 미리 정해진 그룹을 추가로 포함하는 기계-판독 가능한 기호 세트.
  53. 복수개의 기호 문자들을 갖는 기계-인쇄 가능한 심볼로지로서, 이 기계-인쇄 가능한 심볼로지는 적어도 하나의 짝 기호가 기호를 형성하는 기호 문자들의 그룹 근처에 존재하는 것을 나타내는 기호 문자가 존재하는 짝 기호를 포함하는 기계-판독 가능한 심볼로지.
  54. 제53항에 있어서, 상기 짝 기호는 기호 문자들의 그룹에서 적어도 시작 또는 종료 기호 문자인 기계-판독 가능한 심볼로지.
KR1019997009597A 1997-04-16 1998-04-16 기계-판독 가능한 심볼로지 및 그의 인쇄 및 판독 방법 및 장치 KR20010006507A (ko)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
US08/842,644 US6149059A (en) 1993-11-05 1997-04-16 Bar code symbology capable of encoding bytes, words, 16-bit characters, etc. and method and apparatus for printing and reading same
US08/914,324 US6012638A (en) 1993-11-05 1997-08-19 Machine-readable symbology and method and apparatus for printing and reading same
US08/914,324 1998-02-10
US09/021,608 US6321986B1 (en) 1993-11-05 1998-02-10 Robust machine-readable symbology and method and apparatus for printing and reading same
US08/842,644 1998-02-10
US09/021,608 1998-02-10

Publications (1)

Publication Number Publication Date
KR20010006507A true KR20010006507A (ko) 2001-01-26

Family

ID=27361673

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019997009597A KR20010006507A (ko) 1997-04-16 1998-04-16 기계-판독 가능한 심볼로지 및 그의 인쇄 및 판독 방법 및 장치

Country Status (5)

Country Link
EP (1) EP0976100A2 (ko)
JP (1) JP2002514329A (ko)
KR (1) KR20010006507A (ko)
CN (1) CN1257596A (ko)
WO (1) WO1998047101A2 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100688145B1 (ko) * 2005-04-01 2007-03-02 가부시끼가이샤 도시바 인쇄 장치 및 인쇄 방법

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6149059A (en) 1993-11-05 2000-11-21 Intermec Ip Corporation Bar code symbology capable of encoding bytes, words, 16-bit characters, etc. and method and apparatus for printing and reading same
US6321986B1 (en) 1993-11-05 2001-11-27 Intermec Ip Corporation Robust machine-readable symbology and method and apparatus for printing and reading same
US6422476B1 (en) 1993-11-05 2002-07-23 Intermec Ip Corp. Method, apparatus and character set for encoding and decoding data characters in data carriers, such as RFID tags
US6024289A (en) * 1998-01-22 2000-02-15 Intermec Ip Corporation Method and apparatus for encoding and decoding single byte characters in double byte character set of machine-readable symbologies, such as bar code symbologies
US6012638A (en) * 1993-11-05 2000-01-11 Intermec Ip Corporation Machine-readable symbology and method and apparatus for printing and reading same
US6371375B1 (en) 1995-09-25 2002-04-16 Intermec Ip Corp. Method and apparatus for associating data with a wireless memory device
US7905409B2 (en) * 2005-05-20 2011-03-15 Senshin Capital, Llc Print medium feature encoding and decoding
EP1938483B1 (en) 2005-09-21 2015-07-08 Intermec IP Corp. Stochastic communication protocol method and system for radio frequency identification (rfid) tags based on coalition formation, such as for tag-to-tag communication
EP1818849A3 (en) 2006-02-07 2008-01-02 Murata Kikai Kabushiki Kaisha Image forming device
US8120461B2 (en) 2006-04-03 2012-02-21 Intermec Ip Corp. Automatic data collection device, method and article
CN101908156B (zh) * 2006-04-26 2014-12-31 松翰科技股份有限公司 图像指标结构
CN110569946B (zh) * 2019-09-05 2022-06-10 福州三龙喷码科技有限公司 一种适用于喷码机的qr码生成方法
US11244126B2 (en) 2019-12-19 2022-02-08 Datamax-O'neil Corporation Systems and methods for encoding and decoding data

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09504633A (ja) * 1993-11-05 1997-05-06 インターメック コーポレイション バーコードシンボル表記法を使用する16ビット用及び数値データ収集用装置及び方法
FR2715751A1 (fr) * 1994-01-28 1995-08-04 Canon Research Centre France S Procédé de codage d'informations sous forme de codes à barres, procédé de lecture de ces derniers et dispositifs mettant en Óoeuvre ces procédés.
US5602382A (en) * 1994-10-31 1997-02-11 Canada Post Corporation Mail piece bar code having a data content identifier
US5619027A (en) * 1995-05-04 1997-04-08 Intermec Corporation Single width bar code symbology with full character set utilizing robust start/stop characters and error detection scheme

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100688145B1 (ko) * 2005-04-01 2007-03-02 가부시끼가이샤 도시바 인쇄 장치 및 인쇄 방법

Also Published As

Publication number Publication date
CN1257596A (zh) 2000-06-21
EP0976100A2 (en) 2000-02-02
WO1998047101A9 (en) 1999-03-25
WO1998047101A2 (en) 1998-10-22
JP2002514329A (ja) 2002-05-14
WO1998047101A3 (en) 1999-02-25

Similar Documents

Publication Publication Date Title
US6321986B1 (en) Robust machine-readable symbology and method and apparatus for printing and reading same
US6186406B1 (en) Bar code symbology capable of encoding bytes, words, 16-bit characters, etc. and method and apparatus for printing and reading same
US5939700A (en) Bar code symbology capable of encoding 16-bit characters, and method and apparatus for printing and reading same
US6012638A (en) Machine-readable symbology and method and apparatus for printing and reading same
US6024289A (en) Method and apparatus for encoding and decoding single byte characters in double byte character set of machine-readable symbologies, such as bar code symbologies
EP1016027B1 (en) Distortion resistant double-data correcting color transition barcode and method of generating and using same
CA1311842C (en) Multitrack bar code and associated decoding method
US5619027A (en) Single width bar code symbology with full character set utilizing robust start/stop characters and error detection scheme
US5959285A (en) Two-dimensional bar code symbology using gray code encodation scheme
EP0733991B1 (en) High density two dimensional symbol set
EP0436072B1 (en) Method of decoding bar code symbols from partial scans
US5243655A (en) System for encoding and decoding data in machine readable graphic form
US5557092A (en) Apparatus and method for 16-bit and numeric data collection using bar code symbologies
KR20010006507A (ko) 기계-판독 가능한 심볼로지 및 그의 인쇄 및 판독 방법 및 장치
US7032823B2 (en) Two-dimensional code, methods and apparatuses for generating, displaying and reading the same
US10460223B2 (en) Encoded cells and cell arrays
US20070125861A1 (en) Three dimensional barcode
US6279828B1 (en) One dimensional bar coding for multibyte character
JPH07200719A (ja) バーコード走査のステッチ
US5627358A (en) System and method for reading two-dimensional barcodes
WO1995012863A1 (en) Apparatus and method for 16-bit and numeric data collection using bar code symbologies
US5811787A (en) Two-dimensional bar code symbology using implicit version information encoding
Purcaru et al. 2D Barcode for DNA Encoding
MXPA99009196A (en) Distortion resistant double-data correcting color transition barcode and method of generating and using same

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid