KR20030028777A - 씨알에스 코드 및 이를 생성하고 해석하는 방법 - Google Patents

씨알에스 코드 및 이를 생성하고 해석하는 방법 Download PDF

Info

Publication number
KR20030028777A
KR20030028777A KR1020030003854A KR20030003854A KR20030028777A KR 20030028777 A KR20030028777 A KR 20030028777A KR 1020030003854 A KR1020030003854 A KR 1020030003854A KR 20030003854 A KR20030003854 A KR 20030003854A KR 20030028777 A KR20030028777 A KR 20030028777A
Authority
KR
South Korea
Prior art keywords
code
crs
data
barcode
alpha
Prior art date
Application number
KR1020030003854A
Other languages
English (en)
Other versions
KR100540879B1 (ko
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
Application filed by 김태호 filed Critical 김태호
Priority to KR1020030003854A priority Critical patent/KR100540879B1/ko
Publication of KR20030028777A publication Critical patent/KR20030028777A/ko
Application granted granted Critical
Publication of KR100540879B1 publication Critical patent/KR100540879B1/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/06037Record 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 multi-dimensional coding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K1/00Methods or arrangements for marking the record carrier in digital fashion
    • G06K1/12Methods or arrangements for marking the record carrier in digital fashion otherwise than by punching
    • G06K1/121Methods or arrangements for marking the record carrier in digital fashion otherwise than by punching by printing code marks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • G06K7/14Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using light without selection of wavelength, e.g. sensing reflected white light
    • G06K7/1404Methods for optical code recognition
    • G06K7/1408Methods for optical code recognition the method being specifically adapted for the type of code
    • G06K7/14172D bar codes

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Electromagnetism (AREA)
  • General Health & Medical Sciences (AREA)
  • Toxicology (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Error Detection And Correction (AREA)
  • Printers Characterized By Their Purpose (AREA)

Abstract

본 발명은 CRS-CODE 및 이를 생성하고 해석하는 방법에 관한 것이다.
본 발명에 의한 CRS-CODE는 바코드의 상단 또는 하단에 위치하여 기울어진 각도를 얻어내는 인식자; 개수를 통해 바코드의 크기를 계산하는데 사용하며 또한 바코드 리드의 축을 제대로 잡았는가를 확인하는데도 사용하는 타이밍 셀; 흑과 백의 사각형 점으로 구성되며 이를 통해 컴퓨터 신호로 바꾸는 데이터 영역; 및 데이터의 보호 및 경계의 구분을 위하여 비워두는 보호공백을 포함함을 특징으로 한다.
본 발명에 의하면, 전용프린터 뿐만 아니라 일반가정, 사무실의 프린터로 출력하여 사용이 가능하다. 응용 가능한 분야로는 기존의 바코드가 사용된 모든 분야 뿐 아니라 광범위한 활용이 가능하다. 대표적인 활용분야로는 물류관리, 문서보안, 신분증관리, 위/변조 방지 등이 있다.

Description

씨알에스 코드 및 이를 생성하고 해석하는 방법{CRS-CODE and CRS-CODE encoding and decoding method of the same}
본 발명은 바코드에 관한 것으로, 특히 숫자, 한글, 영문, 특수문자, 이진데이터를 표현할 수 있는 2차원 바코드에 관한 것이다.
일반적으로 바코드는 문자나 숫자를 흑과 백의 막대모양 기호로 조합한 것으로, 컴퓨터가 판독하기 쉽고 데이터를 빠르게 입력하기 위하여 쓰인다.
이것은 광학식 마크판독장치로 자동 판독되어 입력된다. 세계상품코드(UPS:Universe Product Code)를 따르는 상품의 종류를 나타내거나, 슈퍼마켓 등에서 매출정보의 관리(POS:Point Of Sales system) 등에 이용된다.
가격은 별도로 표시되며 도서분류, 신분증명서 등에도 이용된다.
종래 바코드 판독에는 핸드 스캐너가 사용되었으나, 최근에는 레이저식이 주류를 이룬다.
레이저식에서는 판독장치 위에 바코드가 인쇄된 상품을 통과시킴으로써 코드가 자동 판독되어 작업을 능률화할 수 있다.
공장자동화 분야에서는 가공대상물에 바코드 또는 자기카드를 부착시켜 로트(lot) 번호와 물품번호를 인식하여 작업상에 필요한 여러 사항을 파악하는 데 도움이 된다.
코드화 방법은 세계상품코드(UPC:Universal Product Code), CODABAR, MSI, 코드39, 한국공통상품코드(KAN), 일본공통상품코드(JAN) 등 몇 가지가 있다.
일반적으로 사용되는 바코드는 가로 3.73cm, 세로 2.7cm 크기를 표준으로 0.8 ~ 2배까지 축소, 확대할 수 있다.
도 1은 종래의 바코드의 일실시예를 도시한 것이다.
도 1에서 표현 가능한 데이터 형식은 숫자이고, 평균크기는 3cm×1cm, 데이터량은 20캐릭터이다.
본 발명이 이루고자하는 기술적 과제는 숫자, 한글, 영문, 특수문자, 이진데이터를 표현할 수 있는 2차원 바코드를 제공하는 것이다.
도 1은 종래의 일반적인 바코드의 외형을 도시한 것이다.
도 2는 본 발명에 의한 CRS-CODE의 외형을 도시한 것이다.
도 3은 본 발명에 의한 CRS-CODE의 실시예를 도시한 것이다.
도 4는 본 발명에 의한 CRS-CODE를 생성하는 과정을 도시한 순서도이다.
도 5는 본 발명에 의한 CRS-CODE를 해석하는 과정을 도시한 순서도이다.
도 6은 본 발명에 의한 CRS-CODE의 오류의 유형들을 도시한 것이다.
상기 기술적 과제를 해결하기 위한 본 발명에 의한 CRS-CODE는 바코드의 상단 또는 하단에 위치하여 기울어진 각도를 얻어내는 인식자; 개수를 통해 바코드의 크기를 계산하는데 사용하며 또한 바코드 리드의 축을 제대로 잡았는가를 확인하는데도 사용하는 타이밍 셀; 흑과 백의 사각형 점으로 구성되며 이를 통해 컴퓨터 신호로 바꾸는 데이터 영역; 및 데이터의 보호 및 경계의 구분을 위하여 비워두는 보호공백을 포함함을 특징으로 한다.
또한, 데이터 이외에 사용자가 지정한 이미지를 중앙부에 위치하는 사용자 이미지영역을 더 포함함을 특징으로 한다.
또한, 상기 인식자는 PCS(Primary Cutout Symbol)와 SCS(Secondary Cutout Symbol)와 하단 CS를 포함함을 특징으로 한다.
또한, 상기 PCS는 바코드의 좌측상단에, 상기 SCS는 우측상단에 위치함을 특징으로 한다.
또한, 상기 상부 CS는 어느 방향으로 읽어도 같은 비율을 가지며, 이때 정해진 비율을 나타내는 선은 CS의 중심을 통과하게 되므로 이를 이용하여 CS를 찾게되며, 상기 상부의 두 인식자의 중심점을 통해 sin, cos 값을 얻어내며 바코드의 기울어진 각도를 계산함을 특징으로 한다.
또한, 상기 하부 CS는 상기 상부 CS를 통해 그 위치를 유추한 후 가로 세로의 크기가 2인 점을 검사하여 찾게 되며, 4개의 인식자를 통해 바코드의 4 모서리 점의 중심좌표를 구한 후 이미지 프로세싱을 통해 각 데이터를 읽게 됨을 특징으로 한다.
상기 다른 기술적 과제를 해결하기 위한 본 발명에 의한 CRS-CODE 생성방법은 CRS-CODE외형에 맞게 그래픽 파일을 출력하여 2D 바코드를 생성하는 방법에 있어서, (a)데이터를 압축하고, 압축된 데이터를 이진화하는 단계; (b)상기 이진수로 변환된 데이터를 소정의 크기로 구획하는 단계; (c)상기 구획 단위로 이진 데이터를 에러보정 알고리즘을 통해 암호화된 2진수로 바꾸는 단계; (d)상기 이진 데이터의 위치를 재배치시키는 단계; 및 (e)CRS-CODE 외형에 맞추어 그래픽 파일을 출력하는 단계를 포함함을 특징으로 한다.
또한, 상기 (a)단계는 문자, 숫자 및 공백을 그 형태에 맞게 압축하는 CASE BY CASE방법을 이용하는 것을 특징으로 한다.
또한, 상기 문자압축은 실제 사용되지 않는 부분을 통해 8bit 스트림을 7bit 스트림으로 표현하고, 상기 비사용 영역 중 한글과 영문의 공통된 부분은 0과 1이므로, 상기 0과 1을 부호를 표시하는 헤더로 사용함을 특징으로 한다.
또한, 상기 숫자압축은 헤더 + 2code(H2C)를 사용하여, 헤더에 숫자의 자릿수를 표시하고 2개의 숫자를 묶어 하나의 코드화하는 것을 특징으로 한다.
또한, 상기 공백압축은 자기의 고유 자릿수를 가진 텍스트가 자리차지 후 공백이 일반 텍스트 문서에 비해 많이 생기게 되므로 반복횟수를 이용하여 압축하고, 공백 후에 영문 인식자 0이 나오면 반복횟수 헤더로 인식하여 그 뒤 한 캐릭터에 반복되는 횟수를 기록하는 것을 특징으로 한다.
상기 또 다른 기술적 과제를 해결하기 위한 본 발명에 의한 CRS-CODE 해석방법은 CRS-CODE외형에 맞게 그래픽 파일을 출력하여 생성한 2D 바코드를 해석하는방법에 있어서, (a)상기 바코드 리더기에 의해 인식된 CRS-CODE의 데이터영역에서 2진 데이터를 얻는 단계; (b)상기 2진 데이터의 위치를 재배치시키는 단계; (c)상기 재배치된 2진 데이터의 오류를 보정하는 단계; 및 (d)상기 오류가 보정된 2진 데이터의 압축을 해제하는 단계를 포함함을 특징으로 한다.
또한, 상기 (C)단계는 CRS-CODE의 데이터를 집단별로 리드 솔로몬 알고리즘을 적용하여 0%, 10%, 30%의 에러보정 옵션에 따라 코드의 훼손, 낙서, 오염, 등에 의한 오류를 허용범위 안에서 복원함을 특징으로 한다.
또한, 상기 리드 솔로몬 알고리즘은 상기 에러보정 옵션별로 2진 데이터를 소정량을 한 단위로 하여 소정 단위의 정보데이터를 검사 심볼로 만들어 사용하는 것을 특징으로 한다.
또한, 상기 검사심볼은 정보심볼을 유한체의 다항식 형태로 바꾼 후 생성다항식으로 나눗셈을 하여 생긴 나머지 다항식임을 특징으로 한다.
이하, 도면을 참조하여 본 발명을 상세히 설명하기로 한다.
도 2는 본 발명에 의한 CRS-CODE의 외형을 도시한 것으로, 인식자(Cutout Symbol:110), 타이밍 셀(Timing cell:120), 데이터 영역(Data Area:130), 보호공백(Protected Blank Area:140) 및 사용자 이미지영역(User Image Area:150)으로 이루어진다.
인식자(Cutout Symbol:110)는 바코드의 위치와 기울어진 각도를 얻어내기 위한 것으로, PCS(Primary Cutout Symbol)와 SCS(Secondary Cutout Symbol)와 하단 CS를 사용한다.
PCS는 바코드의 좌측상단에, SCS는 우측상단에 위치한다. 이때 인식자는 아래의 그림과 같이 두 개의 사각형을 사용하며 이때 음영의 비율은 다음과 같다.
상부의 CS는 어느 방향으로 읽어도 같은 비율을 가지게 되는데, 이때 정해진 비율을 나타내는 선은 CS의 중심을 통과하게 되므로 이를 이용하여 CS를 찾게된다. 두 인식자의 중심점을 통해 sin, cos 값을 얻어내며 바코드의 기울어진 각도를 계산할 수 있다.
하부의 인식자는 상부인식자를 통해 그 위치를 유추한 후 가로 세로의 크기가 2인 점을 검사하여 찾게 되며, 4개의 인식자를 통해 바코드의 4모서리 점의 중심좌표를 구한 후 이미지 프로세싱을 통해 각 데이터를 읽게 된다.
타이밍 셀(Timing Cell:120)은 개수를 통해 바코드의 크기를 계산하는데 사용하며 또한 바코드 리드의 축을 제대로 잡았는가를 확인하는데도 사용한다.
데이터 영역(Data Area:130)은 흑과 백의 사각형 점으로 구성되며 이를 통해 컴퓨터 신호로 바꾸게 된다.
보호공백(Protected Blank Area:140)은 데이터의 보호 및 경계의 구분을 위하여 비워두는 공백이다.
사용자 이미지영역(User Image Area:150)은 옵션사항으로 데이터 이외에 사용자가 지정한 이미지를 중앙부에 위치시켜 개별성을 줄 수 도 있다.
도 3a 내지 도 3c는 본 발명에 의한 CRS-CODE의 일실시예를 도시한 것이다.
여기서, 도 2a는 사용자 이미지영역 없이 만들어진 CRS-CODE를 나타낸 것이다. 도 2b와 도 2c는 중앙에 사용자 이미지를 사용한 경우로서, 반드시 흑백일 필요는 없으며 음영만 확실하면 된다.
도 4는 본 발명에 의한 CRS-CODE의 생성방법을 도시한 순서도이다.
먼저, 데이터를 압축하고(S410), 압축된 데이터를 이진화하고(S420), 이진수를 일정크기로 구획하고(S430), 상기 구획 단위로 이진 데이터를 에러보정 알고리즘을 적용하여(S440) 암호화된 2진수로 변환하고(S450), 상기 변환된 이진 데이터의 위치를 재배치시킨다(S460).
그리고, 재배열 알고리즘을 통해 암호화된 2진수를 적당히 섞어 CRS-CODE 외형에 맞게 이미지화 시켜(S470), 이를 CRS-CODE의 형식(outform)에 맞추어 그래픽 파일을 만든다. 상기 그래픽 파일을 출력하면 2D바코드가 생성되는 것이다.
본 발명에서는 CRS-CODE의 경우 2D바코드의 특성을 고려하여 'Case by Case'법을 사용하고, 2D 바코드의 경우 그 데이터가 문자, 숫자, 공백으로 나눌 수 있으며 그 형태에 따라 압축하는 방법을 다르게 사용함으로써 데이터를 더욱 고밀도화 시킨다.
(1)문자압축
아스키코드는 0∼127이 쓰이며 한글의 경우 -1∼ -127이 사용되고 있다. 따라서 8bit로 한글과 영문을 모두 표현할 수 있다.
이때 실제로 사용되지 않는 부분은 존재하며 이를 통해 8bit 스트림을 7bit 스트림으로 표현이 가능해진다.
아스키코드의 범위 및 실제 사용범위는 다음 표 1에 나타낸 것과 같다.
범위 실제사용범위
영문 0 ~ 127 32 ~ 126
한글 -1 ~ -127 -2 ~ -127
비 사용 영역중 한글과 영문의 공통된 부분은 0과 1이다. 0과 1을 부호를 표시하는 헤더로 사용할 수 있다.
0을 양수(영문) 1을 음수(한글)의 헤더라고 할 때 그 실시예는 다음과 같이 표현된다.
예) 120,37,-33,-2,-9,92,78.....
0.120,37,1,33,2,9,0,92,78.....
여기서 아스키 코드넘버로만 보면 오히려 코드가 늘어나게 된다.
하지만 127은 2진수로 1111111(7bit)이므로 한 부호당 7byte 이상일 때는 도리어 적은 bit를 소모할 수 있다.
소요되는 비트의 예는 표 2와 같다.
Text Byte 비압축시 압축시
소요bit 소요Matrix 소요bit 소요Matrix
1234 4 32 6*6 35 6*6
abcdefg 7 56 8*8 56 8*8
대한민국 8 64 8*8 63 8*8
대한민국 KOREA 14 112 11*11 112 11*11
코리아파이팅 KoreaFighting1234567890 37 296 18*18 273 17*17
단, 한글만 사용할 경우 스페이스는 영문(32)으로 처리되므로 (0 32 1)이라는 긴 코드가 들어가 도리어 압축율이 낮아진다.
이는 한글의 헤더 1을 이용하여 한글을 사용하던 중 다시 한글 헤더 1이 나오면 스페이스로 인식하게 하여 해결할 수 있다.
(2)수치압축
숫자의 경우 그것을 문자로 보느냐 숫자로 보느냐에 따라서 소요되는 비트가 달라지게 된다.
문자의 경우 한자리에 7비트가 소요되지만 7비트를 10진수로 표현하면 127이므로 7비트로 2자리를 모두 표현이 가능하다.
영문의 경우 0∼31까지의 아스키코드는 사용하지 않으며 0과 1은 부호의 예약어로 쓰이므로 2∼31을 수치로 표현하는 것에 사용할 수 있다.
본 발명에서는 H2C방식을 사용하였다. 즉, 헤더 + 2code(H2C)를 사용한다.
이는 헤더에 숫자의 자릿수를 표시하고 2개의 숫자를 묶어 하나의 코드화하는 방법으로 구현이 쉬우며 숫자가 많을수록 더 큰 효율을 가지며, 숫자를 많이 이용하는 바코드에 유리하다.
단, 그 효율성을 위해서 CRS-CODE에서는 4자리 이상의 숫자에 대해서 H2C를 이용한다.
캐릭터수에 따른 표현 가능한 수치를 나타내면 표 3과 같다.
캐릭터수(7bit) 1 2 3 4 5 6 7
수치(0~) 99 9999 999999 99999999 9999999999 999999999999 99999999999999
그리고, 표 4는 수치 압축 비압축의 비교를 나타낸 것이고, 표 5는 압축과 비압축, 수치압축의 소모성 비교를 나타낸 것이다.
자리수 1 2 3 4 5 6 7 8 9 10 11 12 13
아스키캐릭터수 1 2 3 4 5 6 7 8 9 10 11 12 13
H2code 2 2 3 3 4 4 5 5 6 6 7 7 8
이득코드수 0 0 0 1 1 2 2 3 3 4 4 5 5
이득비트수 0 0 0 7 7 14 14 21 21 28 28 35 35
Text 비압축시소요 bit 압축시소요 bit 수치압축시소요 bit
1234 32 35 28
%%MAG1120010611 001530880108 21100501 서순분 박진익 631029289912650745 15N300 1-029217140-8 박재정 631029289912603614012부산시 진구 가야2동 669-26 12/4 894-6784 11A03502301 05 100 3 311A03550581 100 3 311A03504021 05 100 3 311A03502301 05 100 3 311A03550581 100 3 311A03504021 05 100 3 311A03502301 05 100 3 311A03550581 100 3 311A03504021 05 100 3 311A03502301 05 100 3 311A03550581 100 3 311A03504021 05 100 3 311A03502301 05 100 3 311A03550581 100 3 311A03504021 05 100 3 311A03502301 05 100 3 3 5456 4879 4312
(3)공백압축
바코드에 들어가는 내용에는 일반적인 텍스트가 아닌 구획된, 즉 자기의 고유 자릿수를 가진 텍스트가 사용되게 된다.
따라서 자리차지 후 공백이 일반 텍스트 문서에 비해 많이 생기게 되므로 반복횟수를 통해 소요 비트수를 아낄 수 있다.
CRS-CODE에서는 공백 후에 영문 인식자 0이 나오면 반복횟수 헤더로 인식하여 그 뒤 한 캐릭터에 반복되는 횟수를 기록한다. 단, 반복횟수가 4이상일 때 사용한다.
예) 빈칸 10개(32 32 32 32 32 32 32 32 32 32) -> 32 0 10
이 공백압축을 통해 바코드의 크기가 작아짐은 물론 바코드 자체도 더 조밀해진다. 표 6은 공백이 많은 데이터를 공백 압축 전과 후를 비교한 것이다.
CRS-CODE 크기
공백 압축 전 33*3
공백 압축 후 29*9
바코드 내용 장길수 2-306 019-867-3856 부산 15가 5846SM3 2002000004
도 5는 본 발명에 의한 CRS-CODE의 해석방법을 도시한 순서도이다.
이미지프로세싱을 통해 데이터영역에서 2진 데이터를 얻고(S510), 데이터 위치를 재배치시킨다(S520).
그리고, 리드 솔로몬 알고리즘을 적용하여 오류를 보정하고(S530), case by case법을 통해 압축을 해제하여(S540) 일반데이터로 복원하여 사용한다(S550).
본 발명에서 상기 오류보정을 위한 ECC Algorithm 이란 데이터에 발생하는 오류를 찾아내고 정정하는 알고리즘으로써, 2D바코드와 같이 단독의 데이터를 저장하고 있는 매체에 발생할 수 있는 데이터의 손실이나 오염 등에 의한 왜곡에 대해 보정해 주어야 할 필요가 있다.
도 6은 본 발명에 의한 CRS-CODE의 오류의 유형들을 도시한 것이다.
도 6과 같은 데이터 손실이나 오염들과 같은 오류유형들을 보정하기 위하여 리드 솔로몬 알고리즘을 이용하며 0%(비사용), 10%(RS75), 30%(RS159)의 3가지 옵션을 사용한다.
정보데이타 정보데이타 정보데이타 -> 검사심볼 정보심볼 검사심볼 정보심볼 검사심볼 정보심볼
CRS-CODE는 옵션별로 2진 데이터를 일정량을 한 단위로 하여 일정 단위의 정보데이터를 리드 솔로몬 알고리즘에 적용시켜 검사 심볼을 만들어 사용한다.
옵션 10% 30%
적용코드 RS(7,5) RS(15,9)
기본단위 3비트 4비트
정보단위 5개 9개
생성되는검사심볼 2개 6개
리드솔로몬알고리즘을 적용하기 위해서는 유한체 수학을 사용하여야 하는데, 10%, 30%옵션에 대한 유한체는 각각 GF(8), GF(16)을 사용한다.
이진데이터 한 단위는 유한체의 하나의 변수로 표 9, 표 10과 같이 사용된다. 여기서 표 9는 GF(8)의 원소, 표 10은 GF(16)의 원소를 나타낸다.
유한체변수 다항식표현 이진 데이터
0 0 000
1 1 001
alpha alpha 010
alpha ^{ 2 } alpha ^{ 2 } 100
alpha ^{ 3 } alpha +1 011
alpha ^{ 4 } alpha ^{ 2 } + alpha 110
alpha ^{ 5 } alpha ^{ 2 } + alpha +1 111
alpha ^{ 6 } alpha ^{ 2 } +1 101
alpha ^{ 7 } 1
유한체변수 다항식표현 이진 데이터
0 0 0000
1 1 0001
alpha alpha 0010
alpha ^{ 2 } alpha ^{ 2 } 0100
alpha ^{ 3 } alpha ^{ 3 } 1000
alpha ^{ 4 } alpha +1 0011
alpha ^{ 5 } alpha ^{ 2 } + alpha 0110
alpha ^{ 6 } alpha ^{ 3 } + alpha ^{ 2 } 1100
alpha ^{ 7 } alpha ^{ 3 } + alpha +1 1011
alpha ^{ 8 } alpha ^{ 2 } +1 0101
alpha ^{ 9 } alpha ^{ 3 } + alpha 1010
alpha ^{ 10 } alpha ^{ 2 } + alpha +1 0111
alpha ^{ 11 } alpha ^{ 3 } + alpha ^{ 2 } + alpha 1110
alpha ^{ 12 } alpha ^{ 3 } + alpha ^{ 2 } + alpha +1 1111
alpha ^{ 13 } alpha ^{ 3 } + alpha ^{ 2 } +1 1101
alpha ^{ 14 } alpha ^{ 3 } +1 1001
alpha ^{ 15 } 1 0001
정보심볼을 유한체의 다항식 형태로 바꾼 후 생성다항식으로 나눗셈을 하여 생긴 나머지 다항식이 검사심볼이 된다.
x^{ n-k` } m(x)`=`q(x)`g(x)`+`p(x)
여기서, m(x) : 정보다항식 g(x) : 생성다항식 (차수 n-k)
q(x) : 몫다항식 p(x) : 나머지 다항식 (차수 n-k 미만)
생성 다항식은 옵션에 따라 수학식 2, 3과 같다.
g(x)`=`(x- alpha )(x- alpha ^{ 2 } )`=`x^{ 2 } `+` alpha ^{ 4 } x`+`a^{ 3 } (10% ECC)
g(x)=(x+ alpha )(x+ alpha ^{ 2 } )(x+ alpha ^{ 3 } )(x+ alpha ^{ 4 } )(x+ alpha ^{ 5 } )(x+ alpha ^{ 6 } ) (30% ECC)
=x^{ 6 } + alpha ^{ 10 } x^{ 5 } + alpha ^{ 14 } x^{ 4 } + alpha ^{ 4 } x^{ 3 } + alpha ^{ 6 } x^{ 2 } + alpha ^{ 9 } x+ alpha ^{ 6 }
본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다.
본 발명에 의하면, 전용프린터 뿐 아니라 일반가정, 사무실의 프린터로 출력하여 사용이 가능하다. 응용 가능한 분야로는 기존의 바코드가 사용된 모든 분야 뿐 아니라 광범위한 활용이 가능하다. 대표적인 활용분야로는 물류관리, 문서보안, 신분증관리, 위/변조 방지 등이 있다.

Claims (15)

  1. 바코드의 상단 또는 하단에 위치하여 기울어진 각도를 얻어내는 인식자;
    개수를 통해 바코드의 크기를 계산하는데 사용하며 또한 바코드 리드의 축을 제대로 잡았는가를 확인하는데도 사용하는 타이밍 셀;
    흑과 백의 사각형 점으로 구성되며 이를 통해 컴퓨터 신호로 바꾸는 데이터 영역; 및
    데이터의 보호 및 경계의 구분을 위하여 비워두는 보호공백을 포함함을 특징으로 하는 CRS-CODE.
  2. 제1항에 있어서,
    데이터 이외에 사용자가 지정한 이미지를 중앙부에 위치하는 사용자 이미지영역을 더 포함함을 특징으로 하는 CRS-CODE.
  3. 제1항에 있어서, 상기 인식자는
    PCS(Primary Cutout Symbol)와 SCS(Secondary Cutout Symbol)와 하단 CS를 포함함을 특징으로 하는 CRS-CODE.
  4. 제3항에 있어서, 상기 PCS는 바코드의 좌측상단에, 상기 SCS는 우측상단에 위치함을 특징으로 하는 CRS-CODE.
  5. 제3항에 있어서, 상기 상부 CS는
    어느 방향으로 읽어도 같은 비율을 가지며, 이때 정해진 비율을 나타내는 선은 CS의 중심을 통과하게 되므로 이를 이용하여 CS를 찾게되며, 상기 상부의 두 인식자의 중심점을 통해 sin, cos 값을 얻어내며 바코드의 기울어진 각도를 계산함을 특징으로 하는 CRS-CODE.
  6. 제3항에 있어서, 상기 하부 CS는
    상기 상부 CS를 통해 그 위치를 유추한 후 가로 세로의 크기가 2인 점을 검사하여 찾게 되며, 4개의 인식자를 통해 바코드의 4 모서리 점의 중심좌표를 구한 후 이미지 프로세싱을 통해 각 데이터를 읽게 됨을 특징으로 하는 CRS-CODE.
  7. CRS-CODE외형에 맞게 그래픽 파일을 출력하여 2D 바코드를 생성하는 방법에 있어서,
    (a)데이터를 압축하고, 압축된 데이터를 이진화하는 단계;
    (b)상기 이진수로 변환된 데이터를 소정의 크기로 구획하는 단계;
    (c)상기 구획 단위로 이진 데이터를 에러보정 알고리즘을 통해 암호화된 2진수로 바꾸는 단계;
    (d)상기 이진 데이터의 위치를 재배치시키는 단계; 및
    (e)CRS-CODE 외형에 맞추어 그래픽 파일을 출력하는 단계를 포함함을 특징으로 하는 CRS-CODE 생성 방법.
  8. 제7항에 있어서, 상기 (a)단계는
    문자, 숫자 및 공백을 그 형태에 맞게 압축하는 CASE BY CASE방법을 이용하는 것을 특징으로 하는 CRS-CODE 생성 방법.
  9. 제8항에 있어서, 상기 문자압축은
    실제 사용되지 않는 부분을 통해 8bit 스트림을 7bit 스트림으로 표현하고, 상기 비 사용 영역중 한글과 영문의 공통된 부분은 0과 1이므로, 상기 0과 1을 부호를 표시하는 헤더로 사용함을 특징으로 하는 CRS-CODE 생성 방법.
  10. 제8항에 있어서, 상기 숫자압축은
    헤더 + 2code(H2C)를 사용하여, 헤더에 숫자의 자릿수를 표시하고 2개의 숫자를 묶어 하나의 코드화하는 것을 특징으로 하는 CRS-CODE 생성 방법.
  11. 제8항에 있어서, 상기 공백압축은
    자기의 고유 자릿수를 가진 텍스트가 자리차지 후 공백이 일반 텍스트 문서에 비해 많이 생기게 되므로 반복횟수를 이용하여 압축하고, 공백 후에 영문 인식자 0이 나오면 반복횟수 헤더로 인식하여 그 뒤 한 캐릭터에 반복되는 횟수를 기록하는 것을 특징으로 하는 CRS-CODE 생성 방법.
  12. CRS-CODE외형에 맞게 그래픽 파일을 출력하여 생성한 2D 바코드를 해석하는 방법에 있어서,
    (a)상기 바코드 리더기에 의해 인식된 CRS-CODE의 데이터영역에서 2진 데이터를 얻는 단계;
    (b)상기 2진 데이터의 위치를 재배치시키는 단계;
    (c)상기 재배치된 2진 데이터의 오류를 보정하는 단계; 및
    (d)상기 오류가 보정된 2진 데이터의 압축을 해제하는 단계를 포함함을 특징으로 하는 CRS-CODE 해석 방법.
  13. 제12항에 있어서, 상기 (C)단계는
    CRS-CODE의 데이터를 집단별로 리드 솔로몬 알고리즘을 적용하여 0%, 10%, 30%의 에러보정 옵션에 따라 코드의 훼손, 낙서, 오염, 등에 의한 오류를 허용범위 안에서 복원함을 특징으로 하는 CRS-CODE 해석 방법.
  14. 제13항에 있어서, 상기 리드 솔로몬 알고리즘은
    상기 에러보정 옵션별로 2진 데이터를 소정량을 한 단위로 하여 소정 단위의 정보데이터를 검사 심볼로 만들어 사용하는 것을 특징으로 하는 CRS-CODE 해석 방법.
  15. 제14항에 있어서, 상기 검사심볼은
    정보심볼을 유한체의 다항식 형태로 바꾼 후 생성다항식으로 나눗셈을 하여 생긴 나머지 다항식임을 특징으로 하는 CRS-CODE 해석 방법.
KR1020030003854A 2003-01-21 2003-01-21 기계로 판독가능한 사각형상의 2차원 바코드 및 이를 생성하고 해석하는 방법 KR100540879B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020030003854A KR100540879B1 (ko) 2003-01-21 2003-01-21 기계로 판독가능한 사각형상의 2차원 바코드 및 이를 생성하고 해석하는 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020030003854A KR100540879B1 (ko) 2003-01-21 2003-01-21 기계로 판독가능한 사각형상의 2차원 바코드 및 이를 생성하고 해석하는 방법

Publications (2)

Publication Number Publication Date
KR20030028777A true KR20030028777A (ko) 2003-04-10
KR100540879B1 KR100540879B1 (ko) 2006-01-10

Family

ID=29578425

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020030003854A KR100540879B1 (ko) 2003-01-21 2003-01-21 기계로 판독가능한 사각형상의 2차원 바코드 및 이를 생성하고 해석하는 방법

Country Status (1)

Country Link
KR (1) KR100540879B1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100837887B1 (ko) * 2006-06-19 2008-06-13 김택진 이미지처리를 통한 광학마크 표시카드 판독 방법 및 이를위한 광학마크 표시카드
KR100869964B1 (ko) * 2006-06-13 2008-11-21 손창희 바코드 생성방법
WO2009038876A1 (en) * 2007-09-20 2009-03-26 Microsoft Corporation Techniques for decoding images of barcodes

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101893520B1 (ko) 2016-12-19 2018-08-30 한국전자통신연구원 2차원 바코드 생성 장치, 2차원 바코드 정보 추출 장치 및 2차원 바코드 생성 방법

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100869964B1 (ko) * 2006-06-13 2008-11-21 손창희 바코드 생성방법
KR100837887B1 (ko) * 2006-06-19 2008-06-13 김택진 이미지처리를 통한 광학마크 표시카드 판독 방법 및 이를위한 광학마크 표시카드
WO2009038876A1 (en) * 2007-09-20 2009-03-26 Microsoft Corporation Techniques for decoding images of barcodes
US7886978B2 (en) 2007-09-20 2011-02-15 Microsoft Corporation Techniques for decoding images of barcodes

Also Published As

Publication number Publication date
KR100540879B1 (ko) 2006-01-10

Similar Documents

Publication Publication Date Title
CN100369059C (zh) 一种矩阵式二维条码及其编码解码方法
US5053609A (en) Dynamically variable machine readable binary code and method for reading and producing thereof
US4939354A (en) Dynamically variable machine readable binary code and method for reading and producing thereof
US5124536A (en) Dynamically variable machine readable binary code and method for reading and producing thereof
US5764774A (en) Source data compression and decompression in code symbol printing and decoding
US5126542A (en) Dynamically variable machine readable binary code and method for reading and producing thereof
US6321986B1 (en) Robust machine-readable symbology and method and apparatus for printing and reading same
US5811781A (en) Bar code symbology capable of encoding 16-bit characters, and method and apparatus for printing and reading same
CN102930192B (zh) 安全信息生成和获取方法、及相关装置
US7516904B2 (en) Methods for encoding and decoding information
CN107545289A (zh) 矩阵式二维码的编码方法及解码方法
Hahn et al. Implementation of algorithm to decode two-dimensional barcode PDF-417
Mishra et al. A review on QR code
KR100388061B1 (ko) 4-상태 바코드 인쇄 및 판독 시스템과 그 제어 방법
Tarjan et al. Automatic identification based on 2D barcodes
WO1998047101A9 (en) Robust machine-readable symbology and method and apparatus for printing and reading same
KR100540879B1 (ko) 기계로 판독가능한 사각형상의 2차원 바코드 및 이를 생성하고 해석하는 방법
KR101109510B1 (ko) 2차원 바코드 인식방법
Pavlidis A new paper/computer interface: two-dimensional symbologies
CN101303742A (zh) 微小型汉信码及其符号的生成方法
Subpratatsavee et al. An implementation of a high capacity 2D barcode
Kulkarni et al. Creation and analysis of QR code
EP1695266B1 (en) New data glyph format
CN111209988B (zh) 一种基于可识别彩色图形的大数据共享系统的管理方法
JP3272919B2 (ja) バーコード印字システム

Legal Events

Date Code Title Description
A201 Request for examination
N231 Notification of change of applicant
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20121221

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20131211

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20141210

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20151228

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20171222

Year of fee payment: 13

FPAY Annual fee payment

Payment date: 20181218

Year of fee payment: 14