KR100520427B1 - 2차원 바코드 인코딩/디코딩 시스템 및 그 방법 - Google Patents

2차원 바코드 인코딩/디코딩 시스템 및 그 방법 Download PDF

Info

Publication number
KR100520427B1
KR100520427B1 KR10-2003-0080859A KR20030080859A KR100520427B1 KR 100520427 B1 KR100520427 B1 KR 100520427B1 KR 20030080859 A KR20030080859 A KR 20030080859A KR 100520427 B1 KR100520427 B1 KR 100520427B1
Authority
KR
South Korea
Prior art keywords
barcode
pattern
search
axis
pixels
Prior art date
Application number
KR10-2003-0080859A
Other languages
English (en)
Other versions
KR20050046997A (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 KR10-2003-0080859A priority Critical patent/KR100520427B1/ko
Publication of KR20050046997A publication Critical patent/KR20050046997A/ko
Application granted granted Critical
Publication of KR100520427B1 publication Critical patent/KR100520427B1/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
    • 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
    • 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

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 발명은 온/오프라인(On/Off-Line) 환경하에서 원본 데이터를 대용량의 2차원 바코드(Bar Code)로 생성하는 시스템 및 그 방법과, 상기 생성된 대용량 2차원 바코드로부터 원본 데이터를 복원하는 시스템 및 그 방법에 관한 것이다.
본 발명에 따르면, 다수의 사각 픽셀로 이루어지고, 상기 픽셀의 명암이 교차되는 1차원 패턴으로 형성하는 단계; 상기 1차원 패턴 두개를 직각 이등변 삼각형에서의 직각 양변으로 하여, x축 및 y축 길이가 동일한 이등변 직각 삼각형 구간 내에 두께가 일정한 흑백의 줄무늬가 형성되도록 하는 바코드 검색 패턴 형성 단계; 길이와 폭이 일정한 갯수의 픽셀을 가지는 사각형 모양이고, 중심 픽셀과 나머지 픽셀들간에 흑백의 명암을 가지며, 상기 바코드 검색 패턴의 x축 및 y축 변이 끝나는 지점 및 이들의 교차점에 위치 보정용 마커들을 형성시키는 위치 보정용 마커 형성 단계; 및 2차원 바코드의 높이/너비 및 에러 보정을 위한 부가 데이터의 비율을 포함하고, 자체의 오류 복원을 위한 부가 데이터가 포함된 메타 데이터를 상기 위치 보정용 마커들 사이에 적어도 하나를 형성시키는 메타 데이터 형성 단계; 를 포함하는 것을 특징으로 하는 2차원 바코드 인코딩 방법을 제공한다.

Description

2차원 바코드 인코딩/디코딩 시스템 및 그 방법 {The system and method for 2 dimensional barcode encoding and decoding}
본 발명은 온/오프라인(On/Off-Line) 환경하에서 원본 데이터를 대용량의 2차원 바코드(Bar Code)로 생성하는 시스템 및 그 방법과, 상기 생성된 대용량 2차원 바코드로부터 원본 데이터를 복원하는 시스템 및 그 방법에 관한 것으로서,
특히, 오프라인 환경에서 인쇄를 통하여 인쇄물로 사용 가능하도록 하기 위하여, 원본 데이터를 압축하고 에러 검출 및 정정을 위한 데이터를 부가한 후, 대용량 2차원 바코드로 생성하는 방법 및 대용량 2차원 바코드 형상을 포함하는 바코드 인코딩 시스템과, 상기 인코딩 시스템으로부터 생성된 2차원 바코드가 인쇄된 문서를 스캐너와 카메라와 같은 입력 기기를 통하여 입력받고 상기 2차원 바코드를 검색하여 인식한 후, 보정, 에러 검출 및 정정을 수행하고, 압축을 해제하여 원본 데이터로 복원하는 방법을 포함한 디코딩 시스템에 관한 것이다.
종래에 사용된 1차원 바코드는 많은 양의 데이터를 저장할 수 없다는 한계점이 있다. 한편, 프린터, 스캐너 및 디지털 카메라와 같은 입출력 기기들이 대중적인 보급이 이루어짐으로써, 1차원 바코드에 비하여 보다 많은 데이터를 수록할 수 있는 2차원 바코드에 대한 연구 개발이 활발하게 이루지고 있다. 즉, 다양한 분야에서 2차원 바코드를 이용하여, 종래의 데이터 전달 및 표현의 방법에 있어서, 보다 더 높은 효율성 및 편의성을 도모하는 시도가 이루어지고 있다.
이러한 시도들을 수용할 수 있는 2차원 바코드는 바코드 생성시 그 크기에 제한을 받지 않아야 하며, 단위 면적당 많은 양의 데이터를 저장할 수 있어야 한다. 또한, 2차원 바코드의 복원시, 인식 시간이 빨라야 하며, 복원 능력도 뛰어나야 한다. 위와 같은 조건을 갖추지 못하면, 2차원 바코드는 일부 한정된 분야에서만 사용될 수 밖에 없다는 것은 자명한 사실이다.
종래의 표준 2차원 바코드에 대하여 간략히 살펴 보도록 한다.
도 1a 및 도 1b는 종래의 표준 2차원 바코드 중 맥시 코드를 사용한 2차원 바코드의 인쇄도 및 개념도로서, 이를 설명하면, 다음과 같다.
맥시 코드는 육각형 모듈 오프셋 열의 정방 배열에 의하여 둘러싸인 중앙 파인더 패턴으로 구성되어 있다. 파인더 패턴은 3개의 검은 동심원으로 구성되어 있으며, 방향에 대한 정보는 육각형의 각 모서리에 3개의 모듈로 이루어진 6개의 패턴(원 내부)에 의하여 알 수 있다. 그러나, 이러한 맥시 코드의 경우에는 방향에 대한 패턴 검색시, 6개의 패턴을 모두 검색해야 하기 때문에, 인식 시간이 오래 걸린다는 문제점이 있다.
도 1c는 종래의 표준 2차원 바코드 중 QR 코드를 사용한 2차원 바코드의 인쇄도로서, 이를 설명하면, 다음과 같다.
QR 코드의 파인더 패턴은 심볼(Symbol)의 왼쪽 상단, 오른쪽 상단 및 왼쪽 하단부에 위치하여 있는 세개의 동일한 위치 탐지 패턴으로 구성되어 있다. QR 코드 심볼은 가능한한 빨리 식별이 가능하도록 유사한 패턴들이 심볼 바깥의 지역에 접하는 확률이 낮게끔 우선적으로 인코딩되어 있다. 또한, 파인더 패턴을 구성하는 세개의 위치 탐지 패턴들의 식별은 시야에서 심볼의 위치의 방향을 정확하게 정의한다.
그러나, QR 코드의 경우, 역시 3개의 위치 탐지 패턴을 모두 찾아야 하고, 위치 탐지 패턴 중 하나라도 훼손이 되는 경우, 심볼의 위치와 방향을 정의하기가 어렵다는 문제점이 있다.
이러한 종래의 2차원 바코드 시스템의 문제점을 정리하면, 다음과 같다.
종래의 2차원 바코드는 단위 면적 당 표현할 수 있는 용량이 낮아 대용량을 저장하기 위해서는 바코드가 비례적으로 커져야 한다는 문제점과, 2차원 바코드 인식 시 바코드 탐색 시간이 많이 소요되는 문제점이 있다. 또한, 종래의 2차원 바코드는 생성시 그 크기가 이미 정하여져 있거나 크기 설정이 용이하지 않아 많은 분야에 적용시키기가 어렵다. 따라서, 문서 데이터, 사진 데이터 및 음향 데이터와 같은 대용량의 데이터를 종래의 2차원 바코드로 구현하기가 여려우며, 이러한 이유로 말미암아 종래의 2차원 바코드는 일부 특정 분야에서만 적용되어 왔으며, 다른 분야로의 확대가 용이하지 아니한 실정이다.
상기와 같은 종래 기술의 문제점을 해결하기 위한 본 발명의 목적은 온/오프라인(On/Off-Line) 환경하에서 원본 데이터를 대용량의 2차원 바코드(Bar Code)로 생성하는 시스템 및 그 방법과, 상기 생성된 대용량 2차원 바코드로부터 원본 데이터를 복원하는 시스템 및 그 방법을 제공하기 위한 것이다.
상기한 목적을 달성하기 위하여 본 발명에 따르면, 2차원 바코드의 시작점을 나타내기 위하여 다수의 사각 픽셀로 이루어지고, 상기 픽셀의 명암이 교차되는 1차원 패턴으로 형성하는 2차원 바코드 시작 패턴 형성 단계; 상기 1차원 패턴으로 형성된 2차원 바코드 시작 패턴 두개를 직각 이등변 삼각형에서의 직각 양변으로 하여, x축 및 y축 길이가 동일한 이등변 직각 삼각형 구간 내에 두께가 일정한 흑백의 줄무늬가 형성되도록 하는 2차원 바코드 검색 패턴 형성 단계; 길이와 폭이 일정한 갯수의 픽셀을 가지는 사각형 모양이고, 중심 픽셀과 나머지 픽셀들간에 흑백의 명암을 가지며, 상기 바코드 검색 패턴의 x축 및 y축 변이 끝나는 지점 및 이들의 교차점에 위치 보정용 마커들을 형성시키는 위치 보정용 마커 형성 단계; 및 2차원 바코드의 높이/너비 및 에러 보정을 위한 부가 데이터의 비율을 포함하고, 자체의 오류 복원을 위한 부가 데이터가 포함된 메타 데이터를 상기 위치 보정용 마커들 사이에 적어도 하나를 형성시키는 메타 데이터 형성 단계; 를 포함하는 것을 특징으로 하는 2차원 바코드 인코딩 방법이 제공된다.
또한, 2차원 바코드의 시작점을 나타내기 위하여 다수의 사각 픽셀로 이루어지고, 상기 픽셀의 명암이 교차되는 1차원 패턴으로 형성하는 2차원 바코드 시작 패턴 및 상기 1차원 패턴으로 형성된 2차원 바코드 시작 패턴 두개를 직각 이등변 삼각형에서의 직각 양변으로 하여, x축 및 y축 길이가 동일한 이등변 직각 삼각형 구간 내에 두께가 일정한 흑백의 줄무늬가 형성되도록 하는 바코드 검색 패턴부; 길이와 폭이 일정한 갯수의 픽셀을 가지는 사각형 모양이고, 중심 픽셀과 나머지 픽셀들간에 흑백의 명암을 가지며, 상기 바코드 검색 패턴의 x축 및 y축 변이 끝나는 지점 및 이들의 교차점에 위치 보정용 마커들을 형성시키는 위치 보정용 마커 생성부; 2차원 바코드의 높이/너비 및 에러 보정을 위한 부가 데이터의 비율을 포함하고, 자체의 오류 복원을 위한 부가 데이터가 포함된 메타 데이터를 상기 위치 보정용 마커들 사이에 적어도 하나를 형성시키는 메타 데이터 형성부; 를 포함하는 것을 특징으로 하는 2차원 바코드 인코딩 시스템이 제공된다.
또한, 상기 인코딩된 2차원 바코드 이미지를 읽어들여 바코드 검색 패턴을 검색하여 바코드가 시작하는 위치의 메모리 상의 좌표 및 기울기를 구하는 제 1 단계; 상기 제 1 단계에서 검색된 바코드 검색 패턴의 모서리점인 E1 및 E2를 검색하는 제 2 단계; 상기 바코드 검색 패턴 및 바코드 검색 패턴의 모서리점의 좌표들을 이용하여 위치 보정 마커들의 좌표를 검색하는 제 3 단계; 및 상기 제 3 단계에서 검색된 위치 보정 마커들의 좌표를 이용하여 구간별 데이터 패턴의 좌표, 데이터값 및 메타 데이터를 읽어 들이는 제 4 단계; 를 포함하는 2차원 바코드 디코딩 방법이 제공된다.
또한, 상기 2차원 바코드 이미지를 입력받아 2차원 바코드의 바코드 검색; 패턴을 검색하여 바코드가 시작하는 위치의 좌표 및 기울기를 구하는 바코드 검색 패턴 검색부; 상기 검색된 바코드 검색 패턴의 좌표를 이용하여 바코드 검색 패턴의 모서리점을 구하는 바코드 검색 패턴 모서리점 검색부; 상기 바코드 검색 패턴 및 모서리점의 좌표를 이용하여 위치 보정 마커들의 좌표를 검색하는 위치 보정 마커 검색부; 및 상기 검색된 위치 보정 마커들의 좌표를 참조하여 데이터를 추출하는 데이터 추출부; 를 포함하는 것을 특징으로 하는 2차원 바코드 디코딩 시스템이 제공된다.
보다 더 양호하게는, 상기 2차원 바코드 검색 패턴의 직각 이등변은 상기 바코드 시작 패턴을 동일하게 여러겹 중첩시켜 형성시킨다.
또한, 보다 더 양호하게는, 상기 2차원 바코드 검색 패턴은 형성하고자 하는 2차원 바코드의 좌측 상단에 위치시킨다.
또한, 상기 위치 보정용 마커들은 기록되는 데이터 블록마다 하나씩 정방형 반복 패턴으로 형성시킨다.
또한, 상기 마커들이 바코드의 전체 영역 중 일부분만을 표시할 수 밖에 없을 때, 상기 2차원 바코드 모서리 부분의 어느 구역에도 속하지 아니하는 데이터 패턴 좌표를 처리하기 위하여, 구석 부분 마커를 확장하는 가상 마커(Virtual Marker)를 형성시킨다.
본 발명의 상술한 목적과 여러 가지 장점은 이 기술 분야에 숙련된 사람들에 의하여, 첨부된 도면을 참조하여 후술되는 본 발명의 바람직한 실시예로부터 더욱 명확하게 될 것이다.
이하, 첨부된 도면을 참조하면서 본 발명의 일 실시예에 따른 2차원 바코드 인코딩/디코딩 시스템 및 그 방법을 보다 상세하게 설명하기로 한다.
도 2는 본 발명의 일 실시예에 따른 2차원 바코드 이미지 인코딩 시스템의 블록도로서, 2차원 바코드 이미지 인코딩 시스템은 데이터 압축부(201), 데이터 부가부(203), 메타 데이터 생성부(205), 바코드 검색 패턴 생성부(207), 위치 보정 마커(Marker) 생성부(209), 2차원 바코드 생성부(211) 및 인쇄부(213)를 구비한다.
상기 데이터 압축부(201)에서는 원본 데이터를 입력받으면, 먼저 호프만 코드를 응용한 알고리즘을 이용하여 데이터 압축을 수행하여 원본 데이터를 본래의 용량보다 작은 용량으로 재구성한다.
상기 데이터 부가부(203)는 상기 압축된 데이터에 에러 검출/정정을 목적으로 하는 부가 데이터를 상기 데이터 압축부(201)의 결과물에 부가한다.
상기 메타 데이터 생성부(205)는 인코딩할 데이터를 모두 표현할 수 있는 최소 크기의 바코드 가로 및 세로축의 길이를 계산한 후, 상기 바코드 가로 및 세로 축 길이와 부가 정보량의 비율을 포함하는 메타 데이터를 생성하며, 상기 메타 데이터에는 메타 데이터 자체에 대한 오류 복원을 위한 부가 데이터가 포함되어 있다. 즉, 상기 메타 데이터에는 버젼, 포맷, 부가 데이터, 에러 검출/정정을 위한 정보, 2차원 바코드 너비, 2차원 바코드 높이 등의 정보가 포함되어 있다.
상기 바코드 검색 패턴 생성부(207)에서는 바코드의 특정 영역에 바코드 검색 패턴을 생성하여 표기한다. 이때, 생성되는 특정 영역은 본 발명의 실시예에서는 바코드 좌측 상단을 기준으로 설명한다.
상기 위치 보정 마커 생성부(209)에서는 디코딩시 바코드 이미지의 위치 보정을 위하여 사용될 위치 보정용 마커를 생성한다. 이때, 이들 위치 보정용 마커들은 데이터 블록마다 하나씩 정방형 반복 패턴으로 생성된다.
상기 2차원 바코드 생성부(211)에서는 상술한 내용들을 2차원 바코드화하고, 상기 인쇄부(213)에서는 상기 생성된 2차원 바코드를 인쇄물로 만든다.
도 3은 도 2에 도시된 본 발명의 일 실시예에 따른 2차원 바코드 이미지 인코딩 시스템의 동작을 설명한 흐름도로서, 이를 상세히 설명하면, 다음과 같다.
먼저, 스텝 S301에서, 호프만 코드를 응용한 알고리즘을 이용하여 데이터 압축을 수행하여 원본 데이터를 본래의 용량보다 작은 용량으로 재구성한 후, 인코딩할 데이터를 모두 표현할 수 있는 최소 크기의 바코드의 가로 및 세로축의 길이를 계산한다.
이어서, 스텝 S303에서, 상기 바코드 가로 및 세로축 길이와 부가 정보량의 비율을 포함하는 메타 데이터를 생성하며, 이때, 상기 메타 데이터에는 메타 데이터 자체의 오류 복원을 위한 부가 데이터가 포함된다. 그 후, 스텝 S305에서, 생성할 바코드 이미지를 저장할 비트맵 메모리 공간을 할당하고, 스텝 S307에서, 바코드 좌측 상단에 바코드 검색 패턴을 표기한다.
그리고, 스텝 S309에서, 위치 보정 마커 데이터를 표기한 후, 스텝 S311에서, 바코드 이미지 메모리에 바코드 좌상, 좌하, 우상 및 우하 부분에 동일한 메타 데이터들을 표기하고, 스텝 S313에서, 바코드 이미지 메모리에 압축된 원본 데이터 및 에러 정정을 위한 부가 데이터를 표기함으로써, 2차원 바코드를 생성하게 된다.
도 4a 및 도 4b는 본 발명의 일실시예에 따른 2차원 바코드의 시작 패턴 및 검색 패턴을 보여주는 개념도로서, 도 4a에 표시된 시작 패턴은 도 4b에 표시된 검색 패턴에 포함된다.
이를 상세히 설명하면, 다음과 같다.
먼저, 본 발명의 일 실시예에 따른 바코드 시작 패턴은 바코드의 시작점을 나타내기 위하여 명암이 교차되는 1차원 패턴으로 형성된다.(도 4a) 본 실시예에서는 22 픽셀(Pixel)로 구성하였고, 명암이 교차되는 길이의 비율은 8:2:4:2:2:2로 설계하였으나, 이는 바코드를 설계하는 사람에 따라 임의로 변동될 수 있다.
또한, 본 발명의 일 실시예에 따른 바코드 검색 패턴은 명암이 교차되는 2차원 패턴으로 형성된다.(도 4b) 본 실시예에서는 길이 22 픽셀, 폭 22 픽셀, 두께 2 픽셀이고, 전체 모양은 x와 y의 길이가 동일한 직삼각형 형태이다. 또한, 전체적인 형상을 설명하면 다음과 같다.
바코드 시작 패턴은 도 4b에 도시된 바와 같이 직삼각형 형상으로서 2차원적으로 확장된 패턴이고, 바코드의 좌측 상단에 표기되어 있는 바코드 복원시 스캐닝된 이미지에서 바코드의 좌측 상단 좌표 검색 및 바코드의 회전 정보를 획득하기 위하여 사용된다. 또한, x와 y의 길이가 동일한 직삼각형 구간에 두께가 일정한 검은색과 흰색의 줄무늬가 형성되도록 하였다.
이렇게 바코드 검색 패턴을 형성시킨 것은 일축으로(가령 x 축) 단방향 검색을 수행할 경우 +90도 까지 회전시키더라도 검색이 가능하게끔 하기 위한 목적이다.
도 5는 본 발명의 일 실시예에 따른 2차원 바코드의 위치 보정 마커를 보여주는 개념도로서, 이를 상세히 설명하면, 다음과 같다.
위치 보정 마커는 길이와 폭이 각각 5 픽셀인 정사각형 모양이며, 중심점에 검은색 픽셀이 위치하도록 설계하였다. 또한, 위치 보정용 마커는 2차원 바코드 좌측 상단에 직삼각형 모양으로 표기되어 있는 바코드 검색 패턴의 x와 y변이 끝나는 지점(M1 및 M2) 및 이들의 교차점(M3)에 표기되도록 하였다. 또한, 이렇게 형성된 첫번째 위치 보정용 마커들로부터 x축 및 y축 방향으로 일정 거리만큼 떨어진 지점에 재차 위치 보정용 마커들을 생성한다. 이러한 규칙적인 간격으로 형성되는 위치 보정용 마커는 후술하는 도 6에 자세히 도시되어 있다.
이러한 위치 보정 마커는 바코드 이미지 복원 과정에서 바코드 데이터 패턴 복원시 스캐닝된 이미지로부터 바코드 데이터 패턴의 위치를 획득하기 위하여 사용된다.
도 6은 본 발명의 일 실시예에 따른 2차원 바코드의 메타 데이터를 보여 주는 개념도로서, 이를 상세히 설명하면, 다음과 같다.
메타 데이터는 상술한 바와 같이 바코드의 높이와 너비 및 에러 보정을 위한 부가 데이터의 비율을 포함하며, 본 실시예에서는 동일한 메타 데이터가 2차원 바코드 전체에 걸쳐서 4번 표기되도록 설계하였다.
첫번째 위치는 2차원 바코드 패턴에서 M1 마커와 M3 마커 사이에, 또한, M2 마커와 M3 마커 사이에 표기된다. 두번째 위치는 우측 상단 마커와 우측 상단 마커의 좌측 및 하측 마커 사이에 표기되며, 세번째 위치는 우측 하단 마커와 우측 하단 마커의 좌측 및 상측 마커 사이에 표기되고, 네번째 위치는 좌측 하단 마커와 좌측 하단 마커의 우측 및 상측 마커 사이에 표기된다.
이와 같이 동일한 메타 데이터를 4개나 형성하는 것은 인쇄된 바코드가 훼손되었거나 스캐닝시 잡음 성분이 발생하였을 경우, 4개의 메타 데이터 중 하나의 메타 데이터만 제대로 스캐닝되어도 복원이 가능하도록 설계하였기 때문이다.
한편, 본 실시예에서는 총 4개의 동일한 메타 데이터를 2차원 바코드에 형성하였으나, 바코드 설계자에 따라서는 1개, 2개 또는 3개만 표시하여도 무방하다.
도 7a, 도 7b 및 도 7c는 상술한 바코드 검색 패턴, 위치 보정용 마커 및 메타 데이터가 기재된 2차원 바코드의 코드 이미지가 생성되는 과정을 보여주는 개념도로서, 본 발명의 일 실시예에 따른 2차원 바코드의 코드 이미지를 생성하기 위해서는 먼저 2차원 바코드의 좌측 상단에 바코드 검색 패턴을 생성하고, 그 후, 위치 보정용 마커를 상술한 바와 같이 규칙적으로 나타나도록 생성한 후, 이어서 상기 위치 보정용 마커 사이에 메타 데이터를 추가하게 된다.
한편, 본 명세서에서는 Mrk(n, m)은 X 축으로 n 번째, Y 축으로 m 번째 마커를 의미하고, Mrk(n, m)의 X, Y 좌표는 각각 MrkX(n, m), MrkY(n, m)으로 표기하도록 약속한다.
도 8a는 본 발명의 일 실시예에 따른 2차원 바코드 이미지 디코딩 시스템의 블록도로서, 2차원 바코드 이미지 디코딩 시스템은 바코드 이미지 입력부(851), 바코드 검색 패턴 검색부(853), 바코드 검색 패턴의 모서리점 검색부(855), 위치 보정 마커 검색부(857), 메타 데이터 추출부(859), 데이터 추출부(861), 에러 검출/정정부(863) 및 압축 해제부(865)를 구비한다.
먼저, 상기 바코드 이미지 입력부(851)에서는 인쇄물로 이루어진 2차원 바코드를 스캐너와 카메라와 같은 입력 기기를 사용하여 인쇄된 바코드 이미지를 샘플링하여 바코드 이미지 메모리로 읽어 들인다.
상기 바코드 검색 패턴 검색부(853)에서는 상기 바코드 이미지 메모리에서 바코드의 바코드 검색 패턴을 검색하여 바코드가 시작하는 위치의 메모리상의 좌표 및 기울기를 알아낸다.
상기 바코드 검색 패턴의 모서리점 검색부(855)에서는 상기 바코드 이미지 메모리에서 검색된 바코드 검색 패턴의 좌표를 이용하여 바코드 검색 패턴의 모서리점(E1, E2)의 좌표를 구한다.
상기 위치 보정 마커 검색부(857)에서는 상기 바코드 검색 패턴 및 모서리점의 좌표를 이용하여 위치 보정 마커의 좌표를 검색한다. 위치 보정용 마커는 2차원 바코드에서 여러개 존재하는 바, 2차원 바코드 패턴의 가로 세로 교차점을 시작으로 하여 첫번째 위치 보정용 마커를 검색하고, 상기 검색된 마커를 이용하여 다음 마커를 찾아내게 된다.
상기 메타 데이터 추출부(859)에서는 상기 검색된 위치 보정용 마커들의 좌표를 참조하여 메타 데이터를 추출한다.
상기 데이터 추출부(861)에서는 에러 검출/정정용 부가 데이터가 부가된 원본 압축 데이터를 데이터 블록 패턴에서 추출한다.
상기 에러 검출/정정부(863)에서는 상기 에러 검출/정정용으로 부가된 데이터를 참조하여 에러 검출/정정 과정을 수행한다.
상기 압축 해제부(865)에서는 인코딩 과정에서 압축된 원본 데이터의 압축 해제 과정을 수행함으로써, 최종적으로 원본 데이터를 복원하게 된다.
도 8b는 본 발명의 일 실시예에 따른 2차원 바코드 이미지 디코딩 시스템의 동작을 설명한 흐름도로서, 이를 상세히 설명하면, 다음과 같다.
먼저, 스텝 S801에서, 디코딩하기 위한 바코드 이미지를 읽어 들인다. 이때, 상기 바코드 이미지를 읽어 들이기 위한 도구로는 스캐너 또는 카메라를 사용하며, 인쇄된 바코드 이미지를 샘플링하여 바코드 이미지 메모리로 읽어 들인다.
이어서, 스텝 S803에서, 바코드 검색 패턴을 검색한다. 이때, 상기 바코드 이미지 메모리에서 바코드의 바코드 검색 패턴을 검색하여 바코드가 시작하는 위치의 메모리 상의 좌표 및 기울기를 알아낸다.
그리고, 스텝 S805에서, 바코드 검색 패턴의 모서리점을 검색한다. 이때, 상기 바코드 이미지 메모리에서 검색된 바코드 검색 패턴의 좌표를 이용하여 바코드 검색 패턴의 모서리 E1 및 E2의 좌표를 구한다.
이어서, 스텝 S807에서, 위치 보정 마커의 좌표를 검색한다. 이때, 상기 검색된 바코드 검색 패턴 및 모서리점의 좌표들을 이용하여 첫번째 위치 보정용 마커의 좌표를 검색하고, 검색된 마커를 이용하여 다음 마커를 찾아낸다.
그리고, 스텝 S809에서, 상기 위치 보정 마커를 이용하여 구간별 데이터 패턴의 좌표와 데이터값 등을 읽어 들인 후 종료한다. 이때, 메타 데이터도 같이 추출한다.
도 9는 도 8b에 도시된 바코드 검색 패턴의 검색 과정을 보다 상세하게 도시한 흐름도이고, 도 10a는 X축 순방향 바코드 검색 패턴 검색을 개념적으로 보여주는 도면이며, 도 10b는 X축 역방향 바코드 검색 패턴 검색 과정을 개념적으로 보여주는 도면이고, 도 10c는 Y축 순방향 바코드 검색 패턴 검색 과정을 개념적으로 보여주는 도면이며, 도 10d는 Y축 역방향 바코드 검색 패턴 검색 과정을 개념적으로 보여주는 도면으로서, 이를 상세히 설명하면, 다음과 같다.
먼저, 스텝 S901 내지 S905에서, Y축 방향으로의 행을 의미하는 SY를 초기화한 후, 계속적으로 반복 검색하기 위한 조치를 취하고, 스텝 S907에서, 입력된 이미지 메모리의 SY번째 행에서 X축 순방향으로 검색 패턴이 발견되었는지 여부를 판단한다. 이때, X축 순방향 바코드 검색 패턴의 검색 방법은 흑백으로 교차되는 이미지의 길이 비율이 기설정된 바코드 시작 패턴과 동일한지 여부를 판단함으로써 이루어진다. 본 실시예에서는 상술한 바와 같이 흑백의 길이 비율이 8:2:4:2:2:2:2인 패턴의 시작점을 검색 패턴의 시작점으로 설정한다.(도 4a 참조)
이를 실제 바코드 이미지와 연계하여 나타낸 도면이 도 10a로서, LAB:LBC:LCD:LDE:LEF:LFG:LGH = 8:2:4:2:2:2:2인 패턴이 나타나면, 검색 패턴의 시작점으로 설정함을 보여준다.
상기 스텝 S907에서의 판단 결과, X축 순방향으로 바코드 검색 패턴이 발견되지 아니하면, 스텝 S909에서, 입력된 이미지 메모리의 SY번째 행에서 X축 역방향으로 검색 패턴이 발견되었는지 여부를 판단한다. 이때, X축 역방향 바코드 검색 패턴의 검색 방법은 흑백으로 교차되는 이미지의 길이 비율이 기설정된 바코드 시작 패턴과 동일한지 여부를 판단함으로써 이루어진다. 본 실시예에서는 상술한 바와 같이 흑백의 길이 비율이 2:2:2:2:4:2:8인 패턴의 시작점을 검색 패턴의 시작점으로 설정한다.(도 4a 참조)
이를 실제 바코드 이미지와 연계하여 나타낸 도면이 도 10b로서, RAB:RBC:RCD:RDE:REF:RFG:RGH = 2:2:2:2:4:2:8인 패턴이 나타나면, 검색 패턴의 시작점으로 설정함을 보여준다.
상기 스텝 S909에서의 판단 결과, X축 역방향 검색 패턴이 발견되지 아니하면, Y축 방향으로의 행이 전체 바코드 이미지의 Y 사이즈보다 큰지 여부를 판단하여, 크지 아니하면, 상기 스텝 S905로 복귀하고, 크면, 스텝 S913 및 스텝 S915에서, X축 방향으로의 열을 의미하는 SX를 초기화한 후, 계속적으로 반복 검색하기 위한 조치를 취하고, 스텝 S917에서, 입력된 이미지 메모리의 SX번째 열에서 Y축 순방향으로 검색 패턴이 발견되었는지 여부를 판단한다. 이때, Y축 순방향 바코드 검색 패턴의 검색 방법은 흑백으로 교차되는 이미지의 길이 비율이 기설정된 바코드 시작 패턴과 동일한지 여부를 판단함으로써 이루어진다. 본 실시예에서는 상술한 바와 같이 흑백의 길이 비율이 8:2:4:2:2:2:2인 패턴의 시작점을 검색 패턴의 시작점으로 설정한다.(도 4a 참조)
이를 실제 바코드 이미지와 연계하여 나타낸 도면이 도 10c로서, LAB:LBC:LCD:LDE:LEF:LFG:LGH = 8:2:4:2:2:2:2인 패턴이 나타나면, 검색 패턴의 시작점으로 설정함을 보여준다.
상기 스텝 S917에서의 판단 결과, Y축 순방향으로 바코드 검색 패턴이 발견되지 아니하면, 스텝 S919에서, 입력된 이미지 메모리의 SX번째 열에서 Y축 역방향으로 검색 패턴이 발견되었는지 여부를 판단한다. 이때, Y축 역방향 바코드 검색 패턴의 검색 방법은 흑백으로 교차되는 이미지의 길이 비율이 기설정된 바코드 시작 패턴과 동일한지 여부를 판단함으로써 이루어진다. 본 실시예에서는 상술한 바와 같이 흑백의 길이 비율이 2:2:2:2:4:2:8인 패턴의 시작점을 검색 패턴의 시작점으로 설정한다.(도 4a 참조)
이를 실제 바코드 이미지와 연계하여 나타낸 도면이 도 10d로서, RAB:RBC:RCD:RDE:REF:RFG:RGH = 2:2:2:2:4:2:8인 패턴이 나타나면, 검색 패턴의 시작점으로 설정함을 보여준다.
상기 스텝 S919에서의 판단 결과, Y축 역방향 검색 패턴이 발견되지 아니하면, X축 방향으로의 열이 전체 바코드 이미지의 X 사이즈보다 큰지 여부를 판단하여, 크지 아니하면, 상기 스텝 S915로 복귀하고, 크면, 종료한다.
도 11은 도 8b에 도시된 바코드 검색 패턴의 모서리점 검색 과정을 보다 상세하게 도시한 흐름도이고, 도 12는 바코드 검색 패턴의 모서리점 검색 과정을 실제 바코드 이미지와 연계하여 개념적으로 보여주는 도면으로서, 이를 상세히 설명하면, 다음과 같다.
한편, 도 12에서 사용되는 기호의 정의는 다음과 같다.
P1 : 검색에 성공한 바코드 검색 패턴의 시작점 (X축, Y축 좌표는 P1x, P1y).
P2 : 검색에 성공한 바코드 검색 패턴의 끝점 (X축, Y축 좌표는 P2x, P2y).
P3 : 패턴 검색을 위한 선분 S2와 바코드 시작 패턴 모서리점 검색을 위한 반원 A1이 만나는 점.
P4 : 패턴 검색을 위한 선분 S4와 바코드 시작 패턴 모서리점 검색을 위한 반원 A1이 만나는 점.
L1 : 검색에 성공한 바코드 시작 패턴의 길이.
L2 : 바코드 시작 패턴 모서리점 검색을 위한 반원 A1의 반지름.
A1 : 바코드 시작 패턴 모서리점 검색을 위한 반원이며 반지름은 L2임.
E1 : 바코드 검색 패턴의 첫번째 모서리점 (X축, Y축 좌표는 E1x, E1y).
E2 : 바코드 검색 패턴의 첫번째 모서리점 (X축, Y축 좌표는 E2x, E2y).
S1 : P1과 P2를 지나가는 선
S2, S4 : 바코드 모서리점 검색을 위한 선
S3 : P1과 E1을 지나가는 선
S5 : P1과 E2를 지나가는 선
T1 : S1과 S2 사이의 각도
T2 : S1과 S4 사이의 각도
먼저, 스텝 S1101에서, 검색된 바코드 검색 패턴의 시작점과 끝점을 지나가는 선분 S1과 바코드 모서리 검색을 위한 선분 S2의 각도 T1을 초기화한다. 이때, T1의 단위는 도이다.
그리고, 스텝 S1103에서, P1과 P3 사이에서 시작 패턴이 발견되었는지 여부를 판단하여, 시작 패턴이 발견되었으면, 스텝 S1105에서, 발견된 시작 패턴의 끝점을 E1으로 설정한 후, 스텝 S1107에서, T1의 각도를 늘려 나가도록 한다. 즉, 각도를 늘려 가면서 계속 검색을 수행하는 바, 본 실시예에서는 2도씩 늘려 가는 것으로 설계하였으나, 이는 설계자가 임의로 조절할 수 있다.
그리고, 스텝 S1109에서, 늘려나간 각도가 90도가 넘었는지를 판단하여, 넘지 아니하였으면, 상기 스텝 S1103으로 복귀하고, 넘었으면, 스텝 S1111에서, T2의 각도를 0으로 초기화한다.
이어서, 스텝 S1113에서, P1과 P4 사이에서 시작 패턴이 발견되는지 여부를 판단하여, 발견되면, 스텝 S1115에서, 발견된 시작 패턴의 끝점을 E2로 설정한 후, 스텝 S1117에서, T2의 각도를 줄여 나가도록 한다. 즉, 각도를 줄여 가면서 계속 검색을 수행하는 바, 본 실시예에서는 2도씩 줄여 가는 것으로 설계하였으나, 이는 설계자가 임의로 조절할 수 있다.
그리고, 스텝 S1119에서, 줄여 나간 각도가 90도보다 작은지를 판단하여, 작으면, 종료함으로써, 최종적으로 E1과 E2라는 바코드 검색 패턴의 모서리점을 구할 수 있게 되고, 작지 아니하면, 상기 스텝 S1113으로 복귀한다.
도 13은 도 8b에 도시된 위치 보정용 마커 탐색 과정을 보다 상세히 설명하는 흐름도이고, 도 14는 위치 보정용 마커 검색 과정을 실제 바코드 이미지와 연계하여 개념적으로 보여주는 도면이고, 도 15는 Mrk(1,1) 검색을 위한 SA(1,1)을 설정하기 위한 방법을 실제 바코드 이미지와 연계하여 개념적으로 보여주는 도면으로서, 이를 상세히 설명하면, 다음과 같다.
한편, 사용되는 기호의 정의는 다음과 같다.
DW : 검색된 첫번째 모서리 E1과 바코드 검색 패턴의 시작점 P1 사이의 거리를 의미한다.(E1과 P1 사이의 X축 방향으로의 거리는 DWx, E1과 P1 사이의 Y축 방향으로의 거리는 DWy이다.)
DH : 검색된 두번째 모서리 E2와 바코드 검색 패턴의 시작점 P1 사이의 거리를 의미한다.(E2와 P1 사이의 X축 방향으로의 거리는 DWx, E1과 P1 사이의 Y축 방향으로의 거리는 DWy이다.)
SA(1, 0) : Mrk(1, 0)을 검색하기 위한 마커 검색 구간으로서, SA(1, 0)은 선분 S3와 직각이 되는 직사각형이며, P1과 E1 사이의 거리인 DW에 비례하여 양변의 길이를 도 14와 같이 설정한다.
SA(0, 1) : Mrk(0, 1)을 검색하기 위한 마커 검색 구간으로서, SA(0, 1)은 선분 S5와 직각이 되는 직사각형이며, P1과 E2 사이의 거리인 DH에 비례하여 양변의 길이를 도 14와 같이 설정한다.
먼저, 스텝 S1301에서, 상술한 바와 같이 바코드 검색 패턴의 모서리점을 검색한 후, 스텝 S1303에서, P1, E1 및 E2를 이용하여 도 14에 도시된 바와 같이, 위치 보정 마커 Mrk(1,0) 및 Mrk(0,1)의 검색 구간 SA(1,0) 및 SA(0,1)을 설정한다. 여기에서 검색 구간의 설정 크기를 부연 설명하면, 다음과 같다. SA(1,0)은 선분 S3와 직각이 되는 직사각형이며, P1과 E1 사이의 거리인 DW에 비례하여 양변의 길이를 설정하는 바, 본 실시예에서는 DW * (마커의 가로 픽셀수) / (바코드 시작 패턴의 전체 픽셀수)로 설계하였다. 따라서, DW * 5/22 가 되는 바, 이는 도 4a 및 도 4b에 도시된 바와 같다. 한편, 세로축(Y축) 방향으로는 DW * (마커의 세로 픽셀수 + 바코드 시작 패턴의 두께 픽셀수) / (바코드 시작 패턴의 전체 픽셀수)가 되는 바, DW * 7/22 가 된다.
이어서, 스텝 S1307에서, 위치 보정 마커 Mrk(1,0)와 Mrk(0,1)이 모두 발견되었는지 여부를 판단하여, 발견되었으면, 스텝 S1307에서, Mrk(0,0)의 위치를 설정한다. 이때, 위치 보정 마커의 검색 방법은 명도가 이미지의 평균 명도보다 낮은 점 중 주변의 모든 화소의 명도가 전체 이미지의 명도보다 높은 화소를 찾아서 그 화소의 좌표를 위치 보정 마커의 좌표로 한다.
그리고, Mrk(0,0)의 좌표는 Mrk(0,0)에서 DW * (마커 사이의 가로 간격의 픽셀수) / (바코드 시작 패턴의 전체 픽셀수)만큼 떨어져 있으므로, 다음과 같이 설정한다.
MrkX(0,0) = MrkX(1,0) - DWx * 20/22
MrkY(0,0) = MrkY(1,0) - DWy * 20/22
그리고, 스텝 S1309에서, Mrk(1,1) 검색을 위한 SA(1,1)을 설정한다. 이는 도 15에 도시되어 있듯이, Mrk(0,1)에서 X축으로 DWx * 20/22, Y축으로 DWy * 20/22만큼 떨어진 지점을 중심으로 한 변의 길이가 DW * 5/22이고, 기울기가 S3와 동일한 정사각형을 SA(1,1)로 설정한다.
이어서, 스텝 S1311에서, 상기 SA(1,1)의 검색 구간 내에 위치 보정 마커 Mrk(1,1)이 발견되었는지 여부를 판단하여, 발견되었으면, 스텝 S1313에서, X축 방향으로의 행을 의미하는 IX를 1로 초기화한 후, 스텝 S1315에서, Mrk(IX,0)와 Mrk(IX,1)로부터 SA(IX+1,0)와 SA(IX+1,1)을 설정한다. 이를 부연 설명하면 다음과 같다.
Mrk(IX,0)에서 X축으로 DWx * 20/22, Y축으로 DWy * 20/22만큼 떨어진 지점을 중심으로 한변의 길이가 DW * 5/22이고, 기울기가 S3와 동일한 정사각형을 SA(IX+1,0)으로 설정하고, Mrk(IX,1)에서 X축으로 DWx * 20/22, Y축으로 DWy * 20/22 만큼 떨어진 지점을 중심으로 한 변의 길이가 DW * 5/22이고, 기울기가 S3와 동일한 정사각형을 SA(IX+1,1)로 설정한다.
그리고, 스텝 S1317에서, 상기 설정된 검색 구간 (SA(IX+1,0), SA(IX+1,1)) 내에서 위치 보정 마커 Mrk(IX+1,0)와 Mrk(IX+1,1)을 모두 발견하였는지 여부를 판단하여, 모두 발견되었으면, IX에 1을 더한 후, 상기 스텝 S1315로 복귀하고, 발견되지 아니하였으면, 스텝 S1321에서, Y축 방향으로의 열을 의미하는 IY를 1로 초기화한다.
이어서, 스텝 S1323에서, Mark(0,IY) ~ Mark(IX+1,IY)로부터 SA(0,IY+1) ~ SA(IX+1, IY+1)을 설정한다. 이를 일반화시키면, 발견된 마커 Mrk(n,m)에서 X축으로 DHx * 20/22, Y축으로 DHy * 20/22 만큼 떨어진 지점을 중심으로 한 변의 길이가 DH * 5/22이고, 기울기가 S3와 동일한 정사각형을 SA(n,m+1)로 설정하는 것이다.
그리고, 스텝 S1325에서, 상기 설정된 검색 구간들 내에서 위치 보정 마커 (Mrk(0,IY+1) ~ Mrk(IX+1,IY+1))을 모두 발견하였는지 여부를 판단하여, 모두 발견되었으면, IY에 1을 더한 후, 상기 스텝 S1323으로 복귀한다.
도 16은 위치 보정용 마커를 이용하여 바코드 화소의 위치를 파악하는 것을 보여주는 개념도로서, 상술한 과정을 통하여 위치 보정용 마커들을 검색한 후, 각 구간별 마커의 4개 꼭지점을 중심으로 하여 주변점들의 위치를 추정하게 된다.
도 17은 본 발명의 일 실시예에 따른 위치 보정용 마커를 가상적으로 확장함으로써, 데이터를 더 많이 수록하게끔하는 개념을 보여주는 도면이다.
즉, 2차원 바코드의 크기가 정하여질 때, 규격화된 마커가 상기 2차원 바코드의 외곽 전체를 표시하지 못 하고, 바코드의 일부분만을 표시할 수 밖에 없는 경우가 있다. 이러한 경우에 상기 마커가 포괄하지 못 하는 부분도 데이터를 기록하기 위해서는 가상(Virtual) 마커가 필요한 바, 바코드 모서리 부분의 어느 구역에도 속하지 아니하는 데이터 패턴 좌표를 처리하기 위하여 마커의 규격에 따라 구석 부분 마커를 확장할 수도 있다.
위에서 양호한 실시예에 근거하여 이 발명을 설명하였지만, 이러한 실시예는 이 발명을 제한하려는 것이 아니라 예시하려는 것이다. 이 발명이 속하는 분야의 숙련자에게는 이 발명의 기술사상을 벗어남이 없이 위 실시예에 대한 다양한 변화나 변경 또는 조절이 가능함이 자명할 것이다. 그러므로, 이 발명의 보호범위는 첨부된 청구범위에 의해서 한정될 것이며, 위와 같은 변화예나 변경예 또는 조절예를 모두 포함하는 것으로 해석되어야 할 것이다.
이상과 같이 본 발명에 의하면 기존의 2차원 바코드에 비해, 단위 면적 당 대용량을 저장하는 2차원 바코드를 생성할 수 있으며, 대용량 2차원 바코드를 고속으로 인식할 수 있으며, 대용량 2차원 바코드 일부분의 훼손, 인쇄 불량, 스캐닝 불량 등이 있더라도 인식성이 높아지며, 생성된 대용량 2차원 바코드로부터 원본 복원 능력이 향상되며, 대용량 2차원 바코드 생성시 그 크기를 유연하게 설정할 수 있는 효과가 있다.
도 1a 및 도 1b는 종래의 표준 2차원 바코드 중 맥시 코드를 사용한 2차원 바코드의 인쇄도 및 개념도이고,
도 1c는 종래의 표준 2차원 바코드 중 QR 코드를 사용한 2차원 바코드의 인쇄도이고,
도 2는 본 발명의 일 실시예에 따른 2차원 바코드 이미지 인코딩 시스템의 블록도이고,
도 3은 도 2에 도시된 본 발명의 일 실시예에 따른 2차원 바코드 이미지 인코딩 시스템의 동작을 설명한 흐름도이고,
도 4a 및 도 4b는 본 발명의 일실시예에 따른 2차원 바코드의 시작 패턴 및 검색 패턴을 보여주는 개념도이고,
도 5는 본 발명의 일 실시예에 따른 2차원 바코드의 위치 보정 마커를 보여주는 개념도이고,
도 6은 본 발명의 일 실시예에 따른 2차원 바코드의 메타 데이터를 보여 주는 개념도이고,
도 7a, 도 7b 및 도 7c는 상술한 바코드 검색 패턴, 위치 보정용 마커 및 메타 데이터가 기재된 2차원 바코드의 코드 이미지가 생성되는 과정을 보여주는 개념도이고,
도 8a는 본 발명의 일 실시예에 따른 2차원 바코드 이미지 디코딩 시스템의 블록도이고,
도 8b는 본 발명의 일 실시예에 따른 2차원 바코드 이미지 디코딩 시스템의 동작을 설명한 흐름도이고,
도 9는 도 8b에 도시된 바코드 검색 패턴의 검색 과정을 보다 상세하게 도시한 흐름도이고,
도 10a는 X축 순방향 바코드 검색 패턴 검색을 개념적으로 보여주는 도면이고, 도 10b는 X축 역방향 바코드 검색 패턴 검색 과정을 개념적으로 보여주는 도면이고, 도 10c는 Y축 순방향 바코드 검색 패턴 검색 과정을 개념적으로 보여주는 도면이고, 도 10d는 Y축 역방향 바코드 검색 패턴 검색 과정을 개념적으로 보여주는 도면이고,
도 11은 도 8b에 도시된 바코드 검색 패턴의 모서리점 검색 과정을 보다 상세하게 도시한 흐름도이고,
도 12는 바코드 검색 패턴의 모서리점 검색 과정을 실제 바코드 이미지와 연계하여 개념적으로 보여주는 도면이고,
도 13은 도 8b에 도시된 위치 보정용 마커 탐색 과정을 보다 상세히 설명하는 흐름도이고,
도 14는 위치 보정용 마커 검색 과정을 실제 바코드 이미지와 연계하여 개념적으로 보여주는 도면이고,
도 15는 Mrk(1,1) 검색을 위한 SA(1,1)을 설정하기 위한 방법을 실제 바코드 이미지와 연계하여 개념적으로 보여주는 도면이고,
도 16은 위치 보정용 마커를 이용하여 바코드 화소의 위치를 파악하는 것을 보여주는 개념도이고,
도 17은 본 발명의 일 실시예에 따른 위치 보정용 마커를 가상적으로 확장함으로써, 데이터를 더 많이 수록하게끔 하는 개념을 보여주는 도면이다.

Claims (25)

  1. 2차원 바코드의 시작점을 나타내기 위하여 다수의 사각 픽셀로 이루어지고, 상기 픽셀의 명암이 교차되는 1차원 패턴으로 형성하는 2차원 바코드 시작 패턴 형성 단계;
    상기 1차원 패턴으로 형성된 2차원 바코드 시작 패턴 두개를 직각 이등변 삼각형에서의 직각 양변으로 하여, x축 및 y축 길이가 동일한 이등변 직각 삼각형 구간 내에 두께가 일정한 흑백의 줄무늬가 형성되도록 하는 2차원 바코드 검색 패턴 형성 단계;
    길이와 폭이 일정한 갯수의 픽셀을 가지는 사각형 모양이고, 중심 픽셀과 나머지 픽셀들간에 흑백의 명암을 가지며, 상기 바코드 검색 패턴의 x축 및 y축 변이 끝나는 지점 및 이들의 교차점에 위치 보정용 마커들을 형성시키는 위치 보정용 마커 형성 단계; 및
    2차원 바코드의 높이/너비 및 에러 보정을 위한 부가 데이터의 비율을 포함하고, 자체의 오류 복원을 위한 부가 데이터가 포함된 메타 데이터를 상기 위치 보정용 마커들 사이에 적어도 하나를 형성시키는 메타 데이터 형성 단계;
    를 포함하는 것을 특징으로 하는 2차원 바코드 인코딩 방법.
  2. 제 1 항에 있어서,
    상기 2차원 바코드 검색 패턴의 직각 이등변은 상기 바코드 시작 패턴을 동일하게 여러겹 중첩시켜 형성시킨 것을 특징으로 하는 2차원 바코드 인코딩 방법.
  3. 제 1 항에 있어서,
    상기 2차원 바코드 검색 패턴은 형성하고자 하는 2차원 바코드의 좌측 상단에 위치시키는 것을 특징으로 하는 2차원 바코드 인코딩 방법.
  4. 제 1 항에 있어서,
    상기 위치 보정용 마커들은 기록되는 데이터 블록마다 하나씩 정방형 반복 패턴으로 형성시키는 것을 특징으로 하는 2차원 바코드 인코딩 방법.
  5. 제 1 항에 있어서,
    상기 마커들이 바코드의 전체 영역 중 일부분만을 표시할 수 밖에 없을 때, 상기 2차원 바코드 모서리 부분의 어느 구역에도 속하지 아니하는 데이터 패턴 좌표를 처리하기 위하여, 구석 부분 마커를 확장하는 가상 마커(Virtual Marker)를 상기 2차원 바코드 영역 외부에 형성하는 가상 마커 형성 단계;
    를 더 포함하는 것을 특징으로 하는 2차원 바코드 인코딩 방법.
  6. 2차원 바코드의 시작점을 나타내기 위하여 다수의 사각 픽셀로 이루어지고, 상기 픽셀의 명암이 교차되는 1차원 패턴으로 형성하는 2차원 바코드 시작 패턴 및 상기 1차원 패턴으로 형성된 2차원 바코드 시작 패턴 두개를 직각 이등변 삼각형에서의 직각 양변으로 하여, x축 및 y축 길이가 동일한 이등변 직각 삼각형 구간 내에 두께가 일정한 흑백의 줄무늬가 형성되도록 하는 바코드 검색 패턴부;
    길이와 폭이 일정한 갯수의 픽셀을 가지는 사각형 모양이고, 중심 픽셀과 나머지 픽셀들간에 흑백의 명암을 가지며, 상기 바코드 검색 패턴의 x축 및 y축 변이 끝나는 지점 및 이들의 교차점에 위치 보정용 마커들을 형성시키는 위치 보정용 마커 생성부; 및
    2차원 바코드의 높이/너비 및 에러 보정을 위한 부가 데이터의 비율을 포함하고, 자체의 오류 복원을 위한 부가 데이터가 포함된 메타 데이터를 상기 위치 보정용 마커들 사이에 적어도 하나를 형성시키는 메타 데이터 형성부;
    를 포함하는 것을 특징으로 하는 2차원 바코드 인코딩 시스템.
  7. 제 6 항에 있어서,
    원본 데이터를 입력받으면, 호프만 코드를 응용한 알고리즘을 이용하여 데이터 압축을 수행하여 원본 데이터를 압축시키는 데이터 압축부; 및
    상기 데이터 압축부에서 압축된 데이터에 에러 검출/정정을 목적으로 하는 부가 데이터를 부가하는 데이터 부가부;
    를 더 포함하는 것을 특징으로 하는 2차원 바코드 인코딩 시스템.
  8. 제 6 항에 있어서,
    상기 위치 보정 마커 생성부는 상기 마커들이 바코드의 전체 영역 중 일부분만을 표시할 수 밖에 없을 때, 상기 2차원 바코드 모서리 부분의 어느 구역에도 속하지 아니하는 데이터 패턴 좌표를 처리하기 위하여, 구석 부분 마커를 확장하는 가상 마커(Virtual Marker)를 상기 2차원 바코드 영역 외부에 형성하는 것을 특징으로 하는 2차원 바코드 인코딩 시스템.
  9. 제 1 항에 의하여 인코딩된 2차원 바코드 이미지를 읽어들여 바코드 검색 패턴을 검색하여 바코드가 시작하는 위치의 좌표 및 기울기를 구하는 제 1 단계;
    상기 제 1 단계에서 검색된 바코드 검색 패턴의 모서리점인 E1 및 E2를 검색하는 제 2 단계;
    상기 바코드 검색 패턴 및 바코드 검색 패턴의 모서리점의 좌표들을 이용하여 위치 보정 마커들의 좌표를 검색하는 제 3 단계; 및
    상기 제 3 단계에서 검색된 위치 보정 마커들의 좌표를 이용하여 구간별 데이터 패턴의 좌표, 데이터값 및 메타 데이터를 읽어 들이는 제 4 단계;
    를 포함하는 2차원 바코드 디코딩 방법.
  10. 제 9 항에 있어서,
    상기 제 1 단계는,
    임의의 직교축을 설정한 후, x축 순방향, x축 역방향, y축 순방향, y축 역방향으로 각각 바코드 검색 패턴을 검색하는 것을 특징으로 하는 2차원 바코드 디코딩 방법.
  11. 제 10 항에 있어서,
    기결정된 바코드 시작 패턴이 검색되면, 상기 바코드 시작 패턴의 시작점을 바코드 검색 패턴의 시작점으로 설정하는 것을 특징으로 하는 2차원 바코드 디코딩 방법.
  12. 제 9 항에 있어서,
    상기 제 2 단계는,
    상기 검색된 바코드 검색 패턴의 시작점과 끝점을 지나가는 선분 S1과 바코드 모서리 검색을 위한 선분 S2의 각도 T1을 초기화하는 제 1 서브 단계;
    P1과 P3 사이에서 시작 패턴이 발견되었는지 여부를 판단하여, 시작 패턴이 발견되었으면, 발견된 시작 패턴의 끝점을 E1으로 설정한 후, 상기 T1의 각도를 늘려 나가는 제 2 서브 단계;
    상기 제 2 서브 단계에서 늘려나간 각도가 90도가 넘었는지를 판단하여, 넘지 아니하였으면, 상기 제 2 서브 단계로 복귀하고, 넘었으면, T2의 각도를 0으로 초기화하는 제 3 서브 단계;
    P1과 P4 사이에서 시작 패턴이 발견되는지 여부를 판단하여, 발견되면, 발견된 시작 패턴의 끝점을 E2로 설정한 후, T2의 각도를 줄여 나가는 제 4 서브 단계; 및
    상기 제 4 서브 단계에서 줄여 나간 각도가 90도보다 작은지를 판단하여, 작으면, 종료함으로써, 최종적으로 E1과 E2의 바코드 검색 패턴의 모서리점을 구하는 제 5 서브 단계;
    를 포함하는 것을 특징으로 하는 2차원 바코드 인코딩 방법.
    여기에서 기호에 대한 정의는 다음과 같다.
    P1 : 검색에 성공한 바코드 검색 패턴의 시작점 (X축, Y축 좌표는 P1x, P1y).
    P2 : 검색에 성공한 바코드 검색 패턴의 끝점 (X축, Y축 좌표는 P2x, P2y).
    P3 : 패턴 검색을 위한 선분 S2와 바코드 시작 패턴 모서리점 검색을 위한 반원 A1이 만나는 점.
    P4 : 패턴 검색을 위한 선분 S4와 바코드 시작 패턴 모서리점 검색을 위한 반원 A1이 만나는 점.
    L1 : 검색에 성공한 바코드 시작 패턴의 길이.
    L2 : 바코드 시작 패턴 모서리점 검색을 위한 반원 A1의 반지름.
    A1 : 바코드 시작 패턴 모서리점 검색을 위한 반원이며 반지름은 L2임.
    E1 : 바코드 검색 패턴의 첫번째 모서리점 (X축, Y축 좌표는 E1x, E1y).
    E2 : 바코드 검색 패턴의 첫번째 모서리점 (X축, Y축 좌표는 E2x, E2y).
    S1 : P1과 P2를 지나가는 선
    S2, S4 : 바코드 모서리점 검색을 위한 선
    S3 : P1과 E1을 지나가는 선
    S5 : P1과 E2를 지나가는 선
    T1 : S1과 S2 사이의 각도
    T2 : S1과 S4 사이의 각도
  13. 제 9 항에 있어서,
    상기 제 3 단계는,
    위치 보정 마커 Mrk(1,0) 및 Mrk(0,1)을 검색하기 위한 검색 구간 SA(1,0) 및 SA(0,1)을 설정하는 제 1 서브 단계;
    상기 제 1 서브 단계에서 설정한 검색 구간에서 위치 보정 마커 Mrk(1,0)와 Mrk(0,1)이 모두 발견되었는지 여부를 판단하여, 발견되면, Mrk(0,0)의 위치를 설정하는 제 2 서브 단계;
    위치 보정 마커 Mrk(1,1) 검색을 위한 SA(1,1)을 설정하는 제 3 서브 단계;
    상기 SA(1,1)의 검색 구간 내에 위치 보정 마커 Mrk(1,1)이 발견되었는지 여부를 판단하여, 발견되면, X축 방향으로의 행을 의미하는 IX를 1로 초기화한 후, Mrk(IX,0)와 Mrk(IX,1)로부터 SA(IX+1,0)와 SA(IX+1,1)을 설정하는 제 4 서브 단계;
    상기 설정된 검색 구간 (SA(IX+1,0), SA(IX+1,1)) 내에서 위치 보정 마커 Mrk(IX+1,0)와 Mrk(IX+1,1)을 모두 발견하였는지 여부를 판단하여, 모두 발견되면, IX에 1을 더한 후, 상기 제 4 서브 단계로 복귀하고, 발견되지 아니하면, Y축 방향으로의 열을 의미하는 IY를 1로 초기화하는 제 5 서브 단계;
    Mark(0,IY) ~ Mark(IX+1,IY)로부터 SA(0,IY+1) ~ SA(IX+1, IY+1)을 설정하는 제 6 서브 단계; 및
    상기 제 6 서브 단계에서 설정된 검색 구간들 내에서 위치 보정 마커 (Mrk(0,IY+1) ~ Mrk(IX+1,IY+1))을 모두 발견하였는지 여부를 판단하여, 모두 발견되었으면, IY에 1을 더한 후, 상기 제 6 서브 단계로 복귀하는 제 7 서브 단계;
    를 포함하는 것을 특징으로 하는 2차원 바코드 디코딩 방법.
    여기에서 사용되는 기호의 정의는 다음과 같다.
    DW : 검색된 첫번째 모서리 E1과 바코드 검색 패턴의 시작점 P1 사이의 거리를 의미한다.(E1과 P1 사이의 X축 방향으로의 거리는 DWx, E1과 P1 사이의 Y축 방향으로의 거리는 DWy이다.)
    DH : 검색된 두번째 모서리 E2와 바코드 검색 패턴의 시작점 P1 사이의 거리를 의미한다.(E2와 P1 사이의 X축 방향으로의 거리는 DWx, E1과 P1 사이의 Y축 방향으로의 거리는 DWy이다.)
    SA(1, 0) : Mrk(1, 0)을 검색하기 위한 마커 검색 구간으로서, SA(1, 0)은 선분 S3와 직각이 되는 직사각형이며, P1과 E1 사이의 거리인 DW에 비례하여 양변의 길이를 설정한다.
    SA(0, 1) : Mrk(0, 1)을 검색하기 위한 마커 검색 구간으로서, SA(0, 1)은 선분 S5와 직각이 되는 직사각형이며, P1과 E2 사이의 거리인 DH에 비례하여 양변의 길이를 설정한다.
  14. 제 13 항에 있어서,
    상기 제 1 서브 단계에서의 검색 구간 설정은,
    SA(1,0)은 선분 S3와 직각이 되는 직사각형이며, P1과 E1 사이의 거리인 DW에 비례하여 양변의 길이를 설정하는 것을 특징으로 하는 2차원 바코드 디코딩 방법.
  15. 제 14 항에 있어서,
    상기 SA(1,0)의 가로 길이는 DW * (마커의 가로 픽셀수) / (바코드 시작 패턴의 전체 픽셀수)로 설정하고, 세로 길이는 DW * (마커의 세로 픽셀수 + 바코드 시작 패턴의 두께 픽셀수) / (바코드 시작 패턴의 전체 픽셀수)로 설정하는 것을 특징으로 하는 2차원 바코디 디코딩 방법.
  16. 제 13 항에 있어서,
    상기 제 2 서브 단계에서의 Mrk(0,0)의 위치는,
    MrkX(0,0) = MrkX(1,0) - DWx * (마커 사이의 가로 간격의 픽셀수) / (바코드 시작 패턴의 전체 픽셀수)
    MrkY(0,0) = MrkY(1,0) - DWy * (마커 사이의 가로 간격의 픽셀수) / (바코드 시작 패턴의 전체 픽셀수)
    의 수식에 따라 설정하는 것을 특징으로 하는 2차원 바코드 디코딩 방법.
  17. 제 13 항에 있어서,
    제 3 서브 단계에서 검색 구간 SA(1,1)는,
    Mrk(0,1)에서 X축으로 DWx * (마커 사이의 가로 간격의 픽셀수) / (바코드 시작 패턴의 전체 픽셀수), Y축으로 DWy * (마커 사이의 가로 간격의 픽셀수) / (바코드 시작 패턴의 전체 픽셀수) 만큼 떨어진 지점을 중심으로 한 변의 길이가 DW * (마커의 가로 픽셀수) / (바코드 시작 패턴의 전체 픽셀수)이고, 기울기가 S3와 동일한 정사각형으로 설정하는 것을 특징으로 하는 2차원 바코드 디코딩 방법.
  18. 제 13 항에 있어서,
    제 4 서브 단계에서 검색 구간 SA(IX+1,0)와 SA(IX+1,1)는,
    Mrk(IX,0)에서 X축으로 DWx * (마커 사이의 가로 간격의 픽셀수) / (바코드 시작 패턴의 전체 픽셀수), Y축으로 DWy * (마커 사이의 가로 간격의 픽셀수) / (바코드 시작 패턴의 전체 픽셀수) 만큼 떨어진 지점을 중심으로 한변의 길이가 DW * (마커의 가로 픽셀수) / (바코드 시작 패턴의 전체 픽셀수)이고, 기울기가 S3와 동일한 정사각형을 SA(IX+1,0)으로 설정하고, Mrk(IX,1)에서 X축으로 DWx * (마커 사이의 가로 간격의 픽셀수) / (바코드 시작 패턴의 전체 픽셀수), Y축으로 DWy * (마커 사이의 가로 간격의 픽셀수) / (바코드 시작 패턴의 전체 픽셀수) 만큼 떨어진 지점을 중심으로 한 변의 길이가 DW * (마커의 가로 픽셀수) / (바코드 시작 패턴의 전체 픽셀수)이고, 기울기가 S3와 동일한 정사각형을 SA(IX+1,1)로 설정하는 것을 특징으로 하는 2차원 바코드 디코딩 방법.
  19. 제 9 항에 있어서,
    상기 위치 보정 마커들에는 바코드 모서리 부분의 어느 구역에도 속하지 아니하는 데이터 패턴 좌표를 처리하기 위하여 구석 부분 마커를 확장하는 가상 마커(Virtual Marker)를 포함하는 것을 특징으로 하는 2차원 바코드 디코딩 방법.
  20. 제 1 항에 의한 2차원 바코드 이미지를 입력받아 2차원 바코드의 바코드 검색 패턴을 검색하여 바코드가 시작하는 위치의 좌표 및 기울기를 구하는 바코드 검색 패턴 검색부;
    상기 검색된 바코드 검색 패턴의 좌표를 이용하여 바코드 검색 패턴의 모서리점을 구하는 바코드 검색 패턴 모서리점 검색부;
    상기 바코드 검색 패턴 및 모서리점의 좌표를 이용하여 위치 보정 마커들의 좌표를 검색하는 위치 보정 마커 검색부; 및
    상기 검색된 위치 보정 마커들의 좌표를 참조하여 데이터를 추출하는 데이터 추출부;
    를 포함하는 것을 특징으로 하는 2차원 바코드 디코딩 시스템.
  21. 제 20 항에 있어서,
    상기 검색된 위치 보정 마커들의 좌표를 참조하여 메타 데이터를 추출하는 메타 데이터 추출부;
    를 더 포함하는 것을 특징으로 하는 2차원 바코드 디코딩 시스템.
  22. 제 21 항에 있어서,
    상기 추출된 데이터 및 메타 데이터로부터 에러 검출/정정용 부가 데이터를 참조하여 에러 검출/정정 과정을 수행한 후, 원본 압축 데이터를 추출하는 에러 검출/정정부; 및
    상기 원본 압축 데이터의 압축 해제 과정을 수행함으로써, 원본 데이터를 복원하는 압축 해제부;
    를 더 포함하는 것을 특징으로 하는 2차원 바코드 디코딩 시스템.
  23. 제 20 항에 있어서,
    상기 바코드 검색 패턴 검색부는,
    임의의 직교축을 설정한 후, x축 순방향, x축 역방향, y축 순방향, y축 역방향으로 각각 바코드 검색 패턴을 검색하는 것을 특징으로 하는 2차원 바코드 디코딩 시스템.
  24. 제 20 항에 있어서,
    상기 바코드 검색 패턴 모서리점 검색부는,
    P1과 P3 사이에서 시작 패턴이 발견되었는지 여부를 판단하여, 시작 패턴이 발견되었으면, 발견된 시작 패턴의 끝점을 E1으로 설정하고, P1과 P4 사이에서 시작 패턴이 발견되는지 여부를 판단하여, 발견되면, 발견된 시작 패턴의 끝점을 E2로 설정함으로써, 상기 E1과 E2를 바코드 검색 패턴의 모서리점으로 결정하는 것을 특징으로 하는 2차원 바코드 디코딩 시스템.
    여기에서 사용되는 기호의 정의는 다음과 같다.
    P1 : 검색에 성공한 바코드 검색 패턴의 시작점 (X축, Y축 좌표는 P1x, P1y).
    P3 : 패턴 검색을 위한 선분 S2와 바코드 시작 패턴 모서리점 검색을 위한 반원 A1이 만나는 점.
    P4 : 패턴 검색을 위한 선분 S4와 바코드 시작 패턴 모서리점 검색을 위한 반원 A1이 만나는 점.
    S2, S4 : 바코드 모서리점 검색을 위한 선
  25. 제 20 항에 있어서,
    상기 위치 보정 마커들에는 바코드 모서리 부분의 어느 구역에도 속하지 아니하는 데이터 패턴 좌표를 처리하기 위하여 구석 부분 마커를 확장하는 가상 마커(Virtual Marker)를 포함하는 것을 특징으로 하는 2차원 바코드 디코딩 시스템.
KR10-2003-0080859A 2003-11-15 2003-11-15 2차원 바코드 인코딩/디코딩 시스템 및 그 방법 KR100520427B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR10-2003-0080859A KR100520427B1 (ko) 2003-11-15 2003-11-15 2차원 바코드 인코딩/디코딩 시스템 및 그 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2003-0080859A KR100520427B1 (ko) 2003-11-15 2003-11-15 2차원 바코드 인코딩/디코딩 시스템 및 그 방법

Publications (2)

Publication Number Publication Date
KR20050046997A KR20050046997A (ko) 2005-05-19
KR100520427B1 true KR100520427B1 (ko) 2005-10-11

Family

ID=37246128

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2003-0080859A KR100520427B1 (ko) 2003-11-15 2003-11-15 2차원 바코드 인코딩/디코딩 시스템 및 그 방법

Country Status (1)

Country Link
KR (1) KR100520427B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10152662B2 (en) 2016-12-19 2018-12-11 Electronics And Telecommunications Research Institute Apparatus and method for generating 2D barcode and apparatus for extracting 2D barcode information

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2842076A4 (en) * 2012-04-26 2016-02-17 Hewlett Packard Development Co TWO-DIMENSIONAL BARCODES WITH SEVERAL DIFFERENT REGIONS
KR101801217B1 (ko) 2012-11-13 2017-11-24 교도 인사쯔 가부시키가이샤 이차원 코드
KR101635307B1 (ko) * 2015-01-05 2016-07-08 포항공과대학교 산학협력단 삼각형 식별 장치 및 이를 이용한 삼각형 식별 방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10152662B2 (en) 2016-12-19 2018-12-11 Electronics And Telecommunications Research Institute Apparatus and method for generating 2D barcode and apparatus for extracting 2D barcode information

Also Published As

Publication number Publication date
KR20050046997A (ko) 2005-05-19

Similar Documents

Publication Publication Date Title
KR100560330B1 (ko) 색상 보정이 가능한 대용량 2차원 칼라 바코드인코딩/디코딩 시스템 및 그 방법
Torii et al. 24/7 place recognition by view synthesis
EP3457327B1 (en) Method and apparatus for generating two-dimensional code picture having dynamic effect
US5612524A (en) Identification symbol system and method with orientation mechanism
US7143952B2 (en) Apparatus and methods relating to image coding
KR100414524B1 (ko) 복호 특성이 우수하며 단계별 에러레벨조정이 가능한2차원 코드 및 그 코드의 인코딩 디코딩 방법
JP4284288B2 (ja) パターン認識装置及びその方法
US5825015A (en) Machine readable binary codes
EP2248068B1 (en) Two-dimensional symbol and method for reading same
JP2004070960A (ja) 二次元バーコードの信号化方法、これを行うスキャナ、及び解読方法
CN111275152A (zh) 二维码、二维码的编码方法、解码方法、装置和电子系统
WO2015098241A1 (ja) コード読取装置およびコード読取用プログラム
Zhang et al. Fine localization and distortion resistant detection of multi-class barcode in complex environments
KR100520427B1 (ko) 2차원 바코드 인코딩/디코딩 시스템 및 그 방법
CN113420580B (zh) 用于对二维码进行辅助定位符定位的方法及装置、二维码扫描设备、存储介质
Zhang et al. Fine detection and classification of multi-class barcode in complex environments
TWI430669B (zh) 用於微小碼矩陣的編碼與解碼方法
CN114648768B (zh) 基于图像帧的手写轨迹提取方法、装置、存储介质及设备
Han et al. L-split marker for augmented reality in aircraft assembly
WO2022015297A1 (en) Fiducial location
KR100701292B1 (ko) 이미지 코드 및 그 인식방법과 장치
EP1269396B1 (en) Apparatus and methods relating to images
JP2006331322A (ja) 検索用タグ及びこれを使用した情報検索システム
KR102248885B1 (ko) 복수의 2차원 코드 인식 및 정보 표시 방법
JP3853331B2 (ja) デジタル情報記録方法

Legal Events

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

Payment date: 20120926

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20131004

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20141002

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20151001

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20160909

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20190328

Year of fee payment: 14

FPAY Annual fee payment

Payment date: 20191114

Year of fee payment: 15