KR101893520B1 - 2차원 바코드 생성 장치, 2차원 바코드 정보 추출 장치 및 2차원 바코드 생성 방법 - Google Patents

2차원 바코드 생성 장치, 2차원 바코드 정보 추출 장치 및 2차원 바코드 생성 방법 Download PDF

Info

Publication number
KR101893520B1
KR101893520B1 KR1020160173486A KR20160173486A KR101893520B1 KR 101893520 B1 KR101893520 B1 KR 101893520B1 KR 1020160173486 A KR1020160173486 A KR 1020160173486A KR 20160173486 A KR20160173486 A KR 20160173486A KR 101893520 B1 KR101893520 B1 KR 101893520B1
Authority
KR
South Korea
Prior art keywords
pattern
data
metadata
bar code
dimensional barcode
Prior art date
Application number
KR1020160173486A
Other languages
English (en)
Other versions
KR20180070913A (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 KR1020160173486A priority Critical patent/KR101893520B1/ko
Priority to US15/593,481 priority patent/US10152662B2/en
Publication of KR20180070913A publication Critical patent/KR20180070913A/ko
Application granted granted Critical
Publication of KR101893520B1 publication Critical patent/KR101893520B1/ko

Links

Images

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
    • G06K19/06046Constructional details
    • G06K19/06075Constructional details the marking containing means for error correction
    • 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
    • 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/1439Methods for optical code recognition including a method step for retrieval of the optical code
    • G06K7/1447Methods for optical code recognition including a method step for retrieval of the optical code extracting optical codes from image or text carrying said optical code

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)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Image Processing (AREA)

Abstract

2차원 바코드 생성 및 2차원 바코드 정보 추출 장치 및 방법이 개시된다. 본 발명에 따른 2차원 바코드 생성 장치는, 삽입 데이터 및 2차원 바코드에 상응하는 메타 데이터를 생성하는 메타 데이터 생성부, 상기 메타 데이터를 기반으로 상기 삽입 데이터를 변환하여 데이터 블록을 생성하는 데이터 변환부, 상기 메타 데이터와 상기 데이터 블록 각각을 기 정의된 심볼로 치환하여, 메타 데이터 패턴 및 데이터 블록 패턴을 생성하는 패턴 생성부, 그리고 왜곡 보정 패턴, 상기 메타 데이터 패턴 및 상기 데이터 블록 패턴을 포함하는 2차원 바코드를 생성하는 2차원 바코드 생성부를 포함한다.

Description

2차원 바코드 생성 장치, 2차원 바코드 정보 추출 장치 및 2차원 바코드 생성 방법{APPARATUS FOR GENERATING 2D BAR CODE, APPARATUS FOR EXTRACTING OF 2D BAR CODE INFORMATION AND METHOD FOR GENERATING 2D BAR CODE}
본 발명은 2차원 바코드 생성 및 2차원 바코드 정보 추출 기술에 관한 것으로, 특히 기하학적 왜곡에 강인한 2차원 바코드를 생성하고, 2차원 바코드로부터 대용량 데이터를 추출하는 기술에 관한 것이다.
바코드란 컴퓨터가 정보를 읽기 쉽도록 하기 위해 굵기가 다른 검은 막대와 하얀 막대를 조합시켜 문자나 숫자를 코드화한 것을 의미한다. 2차원 바코드는 종래의 1차원 바코드의 데이터 용량 한계를 극복하여, 문자, 숫자, 사진 등 대량의 데이터를 작은 사각형 안에 2차원의 심볼로 고밀도 코드화한 것을 의미한다. 1차원 바코드는 주로 13~14자리의 숫자 데이터를 표시한다. 반면 2차원 바코드는 1000자 이상의 데이터를 포함할 수 있으며, 한국어 및 모든 외국어와 지문을 비롯한 그래픽 정보를 표현할 수 있다.
오늘날, 정보통신기술의 발전으로 전자 문서, 그림 파일 등과 같은 대용량 데이터가 널리 사용되고 있다. 또한, 스마트폰과 같은 사용자 단말기의 대중화로 사용자가 언제 어디서든 원하는 대상을 촬영할 수 있도록 하였다. 이러한 환경하에 디지털 데이터를 코드화 할 수 있는 2차원 바코드 기술의 수요가 높아지고, 실례로 QR 코드, 보이스 코드 등 다양한 2차원 바코드가 사용되고 있다.
그러나 종래 기술에 따른 2차원 바코드 기술들은 대용량 데이터를 포함하기 힘들고, 기하학적 왜곡에 취약하다. 대표적인 2차원 바코드 기술인 QR코드 기술은 스마트폰의 대중화와 함께 일상 생활에서 널리 사용되고 있다. 스마트폰으로 촬영하는 대상에는 필연적으로 다양한 기하학적 왜곡이 발생한다. QR코드 기술은 기하학적 왜곡을 보정하기 위해 바코드 내의 좌상단, 우상단, 우하단에 포지션 심볼을 위치시키고, 이를 이용하여 기하학적 왜곡을 보정하였다.
그러나, QR 코드는 각 데이터 심볼의 최소 크기를 4x4 픽셀 이상으로 권장하여 최대삽입용량은 300DPI 출력물 기준 1cm2 당 약 82 바이트이고, 실제로도 URL 정보를 삽입하는 용도로 주로 사용된다.
또 다른 기술로 한국등록특허 제10-0520427호에 개시된 2차원 바코드 인코딩/디코딩 시스템 및 그 방법은 이등변 직각 삼각형 구간 내에 두께가 일정한 흑백의 줄무늬가 형성되도록 하는 바코드 검색 패턴을 포함하고, 바코드 검색 패턴을 검색한 이후, 인코딩된 데이터를 디코딩 한다. 이때, 해당 기술은 삽입 데이터 량을 높이기 위해 3x3 픽셀로 데이터를 표현한다. 그러나 이 기술은 바코드 검색 패턴의 흑백의 줄무늬의 비율을 이용하여 바코드 검색을 수행하므로 프로젝션과 같은 기하학적 왜곡에 강인성을 가지지 못한다.
이와 같이, 종래의 기술들은 실제 대용량의 정보를 포함하는 2차원 바코드를 생성하고, 기하학적 왜곡이 발생한 2차원 바코드로부터 정보를 추출하는데 그 한계점이 존재한다.
한국 등록 특허 제10-0540879호, 2003년 04월 10일 공개(명칭: 기계로 판독가능한 사각형상의 2차원 바코드 및 이를 생성하고 해석하는 방법)
본 발명의 목적은 기하학적 왜곡에 강인한 대용량 데이터를 포함하는 2차원 바코드를 생성하는 것이다.
또한, 본 발명의 목적은 기하학적 왜곡이 많이 발생하는 촬영 장치를 통하여 촬영된 2차원 바코드 영상으로부터 2차원 바코드에 포함된 대용량 데이터를 추출하는 것이다.
또한, 본 발명의 목적은 전자 문서, 그림 파일 등과 같은 대용량 데이터를 포함하는 2차원 바코드를 생성하고, 생성된 2차원 바코드로부터 대용량 데이터를 추출하는 것이다.
또한, 본 발명의 목적은 2차원 바코드를 이용하여 보안 출력물을 생성할 수 있도록 하는 것이다.
상기한 목적을 달성하기 위한 본 발명에 따른 2차원 바코드 생성 장치는 삽입 데이터 및 2차원 바코드에 상응하는 메타 데이터를 생성하는 메타 데이터 생성부, 상기 메타 데이터를 기반으로 상기 삽입 데이터를 변환하여 데이터 블록을 생성하는 데이터 변환부, 상기 메타 데이터와 상기 데이터 블록 각각을 기 정의된 심볼로 치환하여, 메타 데이터 패턴 및 데이터 블록 패턴을 생성하는 패턴 생성부, 그리고 왜곡 보정 패턴, 상기 메타 데이터 패턴 및 상기 데이터 블록 패턴을 포함하는 2차원 바코드를 생성하는 2차원 바코드 생성부를 포함한다.
이때, 상기 메타 데이터는, 상기 삽입 데이터의 전체 길이, 상기 삽입 데이터의 분할 단위, 상기 분할 단위에 상응하는 오류정정코드, 상기 메타 데이터에 상응하는 오류정정코드 및 상기 2차원 바코드의 블록 크기 중 적어도 어느 하나를 포함할 수 있다.
이때, 상기 데이터 변환부는, 상기 삽입 데이터를 상기 삽입 데이터의 분할 단위로 분할하고, 분할된 상기 삽입 데이터에 상기 분할 단위에 상응하는 오류정정코드 및 인덱스를 삽입하여 상기 데이터 블록을 생성할 수 있다.
이때, 상기 2차원 바코드 생성부는, 상기 2차원 바코드의 행 방향 및 열 방향으로 상기 2차원 바코드의 블록 크기에 상응하는 간격으로 복수개의 상기 왜곡 보정 패턴을 삽입하여, 상기 2차원 바코드를 생성할 수 있다.
이때, 상기 2차원 바코드 생성부는, 상기 2차원 바코드의 최상단 행, 최하단 행, 최좌측 열, 최우측 열 중 적어도 둘 이상에 상기 메타 데이터 패턴을 삽입하여, 상기 2차원 바코드를 생성할 수 있다.
이때, 상기 메타 데이터 패턴은, 상기 왜곡 보정 패턴 사이에 삽입될 수 있다.
이때, 상기 데이터 블록 패턴은, 상기 2차원 바코드의 블록 크기에 상응하는 영역 중에서, 상기 왜곡 보정 패턴 및 상기 메타 데이터 패턴을 제외한 영역에 삽입될 수 있다.
또한, 본 발명의 일실시예에 따른 2차원 바코드 정보 추출 장치는, 왜곡 보정 패턴, 메타 데이터 패턴 및 데이터 블록 패턴으로 구성된 2차원 바코드를 포함하는 영상을 입력받는 영상 획득부, 상기 영상으로부터 상기 2차원 바코드를 추출하는 2차원 바코드 추출부, 상기 2차원 바코드에 포함된 상기 메타 데이터 패턴 및 상기 데이터 블록 패턴의 기하학적 왜곡을 보정하는 왜곡 보정부, 보정된 상기 2차원 바코드로부터 메타 데이터 및 데이터 블록을 추출하는 정보 추출부, 그리고 추출된 상기 메타 데이터 및 상기 데이터 블록을 이용하여 상기 2차원 바코드에 상응하는 삽입 데이터를 재구성하는 데이터 재구성부를 포함한다.
이때, 상기 2차원 바코드 추출부는, 상기 영상에 상응하는 외곽선 계층구조를 이용하여, 상기 영상으로부터 상기 2차원 바코드를 추출할 수 있다.
이때, 상기 왜곡 보정부는, 상기 2차원 바코드에 포함된 상기 왜곡 보정 패턴을 추출하고, 추출된 상기 왜곡 보정 패턴을 이용하여 상기 2차원 바코드의 기하학적 왜곡을 보정할 수 있다.
이때, 상기 왜곡 보정부는, 패턴 매칭 및 외곽선 계층 구조 관계 중 적어도 어느 하나의 방법으로 상기 왜곡 보정 패턴을 추출할 수 있다.
이때, 상기 왜곡 보정부는, 상기 2차원 바코드의 최상단 행, 최하단 행, 최좌측 열, 최우측 열 중 적어도 둘 이상에 삽입된 상기 메타 데이터 패턴 사이의 상관관계를 연산하여, 상기 2차원 바코드의 방향을 보정할 수 있다.
이때, 상기 데이터 재구성부는, 상기 메타 데이터에 포함된 삽입 데이터의 분할 단위를 이용하여, 상기 데이터 블록으로부터 상기 삽입 데이터를 재구성할 수 있다.
또한, 본 발명의 일실시예에 따른 2차원 바코드 생성 장치에 의해 수행되는 2차원 바코드 생성 방법은 삽입 데이터 및 2차원 바코드에 상응하는 메타 데이터를 생성하는 단계, 상기 메타 데이터를 기반으로 상기 삽입 데이터를 변환하여 데이터 블록을 생성하는 단계, 상기 메타 데이터와 상기 데이터 블록 각각을 기 정의된 심볼로 치환하여, 메타 데이터 패턴 및 데이터 블록 패턴을 생성하는 단계, 그리고 왜곡 보정 패턴, 상기 메타 데이터 패턴 및 상기 데이터 블록 패턴을 포함하는 2차원 바코드를 생성하는 단계를 포함한다.
이때, 상기 메타 데이터는, 상기 삽입 데이터의 전체 길이, 상기 삽입 데이터의 분할 단위, 상기 분할 단위에 상응하는 오류정정코드, 상기 메타 데이터에 상응하는 오류정정코드 및 상기 2차원 바코드의 블록 크기 중 적어도 어느 하나를 포함할 수 있다.
이때, 상기 데이터 블록을 생성하는 단계는, 상기 삽입 데이터를 상기 삽입 데이터의 분할 단위로 분할하고, 분할된 상기 삽입 데이터에 상기 분할 단위에 상응하는 오류정정코드 및 인덱스를 삽입하여 상기 데이터 블록을 생성할 수 있다.
이때, 상기 2차원 바코드를 생성하는 단계는, 상기 2차원 바코드의 행 방향 및 열 방향으로 상기 2차원 바코드의 블록 크기에 상응하는 간격으로 복수개의 상기 왜곡 보정 패턴을 삽입하는 단계, 그리고 상기 2차원 바코드의 최상단 행, 최하단 행, 최좌측 열, 최우측 열 중 적어도 둘 이상에 상기 메타 데이터 패턴을 삽입하는 단계를 포함할 수 있다.
이때, 상기 메타 데이터 패턴은, 상기 왜곡 보정 패턴 사이에 삽입되고, 상기 데이터 블록 패턴은, 상기 2차원 바코드의 블록 크기에 상응하는 영역 중에서, 상기 왜곡 보정 패턴 및 상기 메타 데이터 패턴을 제외한 영역에 삽입될 수 있다.
이때, 생성된 상기 2차원 바코드는, 2차원 바코드 정보 추출 장치에 의해 상기 2차원 바코드를 포함하는 영상으로부터 추출되고, 상기 왜곡 보정 패턴을 이용하여 기하학적 왜곡이 보정되며, 보정된 상기 2차원 바코드로부터 추출된 상기 메타 데이터 및 상기 데이터 블록을 이용하여 상기 삽입 데이터로 재구성될 수 있다.
이때, 상기 2차원 바코드는, 상기 메타 데이터 패턴 사이의 상관관계를 기반으로, 방향이 보정될 수 있다.
본 발명에 따르면, 기하학적 왜곡에 강인한 대용량 데이터를 포함하는 2차원 바코드를 생성 할 수 있다.
또한 본 발명에 따르면, 기하학적 왜곡이 많이 발생하는 촬영 장치를 통하여 촬영된 2차원 바코드 영상으로부터 2차원 바코드에 포함된 대용량 데이터를 추출 할 수 있다.
또한 본 발명에 따르면, 전자 문서, 그림 파일 등과 같은 대용량 데이터를 포함하는 2차원 바코드를 생성하고, 생성된 2차원 바코드로부터 대용량 데이터를 추출할 수 있다.
도 1은 본 발명의 일실시예에 따른 2차원 바코드 생성 장치 및 2차원 바코드 정보 추출 장치가 적용되는 환경을 개략적으로 나타낸 도면이다.
도 2는 본 발명의 일실시예에 따른 2차원 바코드 생성 장치의 구성을 나타낸 블록도이다.
도 3은 본 발명의 일실시예에 따른 메타 데이터를 설명하기 위한 예시도이다.
도 4는 본 발명의 일실시예에 따른 데이터 블록을 설명하기 위한 예시도이다.
도 5는 본 발명의 일실시예에 따른 1-비트 심볼을 나타낸 예시도이다.
도 6은 본 발명의 일실시예에 따른 2-비트 심볼을 나타낸 예시도이다.
도 7은 본 발명의 일실시예에 따른 왜곡 보정 패턴을 나타낸 예시도이다.
도 8은 본 발명의 일실시예에 따른 2차원 바코드를 설명하기 위한 도면이다.
도 9는 본 발명의 일실시예에 따른 2차원 바코드를 나타낸 예시도이다.
도 10은 본 발명의 일실시예에 따른 2차원 바코드 정보 추출 장치의 구성을 나타낸 블록도이다.
도 11은 본 발명의 일실시예에 따른 2차원 바코드 생성 방법을 설명하기 위한 순서도이다.
도 12는 본 발명의 일실시예에 따른 2차원 바코드 정보 추출 방법을 설명하기 위한 순서도이다.
도 13은 본 발명의 일실시예에 따른 왜곡 보정 과정을 설명하기 위한 예시도이다.
도 14는 본 발명의 일실시예에 따른 컴퓨터 시스템을 나타낸 블록도이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시 예들을 도면에 예시하고 상세하게 설명하고자 한다.
그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가진 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 본 발명을 설명함에 있어 전체적인 이해를 용이하게 하기 위하여 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.
도 1은 본 발명의 일실시예에 따른 2차원 바코드 생성 장치 및 2차원 바코드 정보 추출 장치가 적용되는 환경을 개략적으로 나타낸 도면이다.
도 1에 도시한 바와 같이, 삽입 데이터(100)를 입력받은 2차원 바코드 생성 장치(200)는 삽입 데이터(100)를 포함하는 2차원 바코드(300)를 생성한다. 그리고 생성된 2차원 바코드(300)는 촬영 장치(400)에 의해 촬영되고, 촬영된 2차원 바코드 영상(500)을 입력받은 2차원 바코드 정보 추출 장치(600)는 2차원 바코드 영상(500)으로부터 삽입 데이터(100)를 추출한다.
여기서, 삽입 데이터(100)는 전자 문서, 그림 파일 등의 대용량 데이터일 수 있다. 그리고 2차원 바코드 생성 장치(200)는 삽입 데이터(100)를 입력받아, 삽입 데이터(100)에 상응하는 2차원 바코드(300)를 생성한다.
2차원 바코드(300)는 삽입 데이터(100)의 크기 및 2차원 바코드 생성 장치(200)의 2차원 바코드 생성에 대한 설정 정보에 따라 크기 및 형태가 다양하게 결정될 수 있다.
그리고 촬영 장치(400)는 카메라, 스캐너, 스마트폰, 적외선 카메라 등의 영상 획득 장치를 의미할 수 있다. 설명의 편의상, 촬영 장치(400)와 2차원 바코드 정보 추출 장치(600)가 별개의 장치로 구현되는 것으로 설명하였으나 이에 한정하지 않고, 2차원 바코드 정보 추출 장치(600)는 촬영 모듈을 구비할 수 있으며, 구비된 촬영 모듈을 이용하여 2차원 바코드(300)를 촬영할 수 있다.
2차원 바코드 영상(500)에는 2차원 바코드(300)가 포함되어 있으며, 2차원 바코드 정보 추출 장치(600)는 입력받은 2차원 바코드 영상(500)으로부터 2차원 바코드(300)를 추출하고, 2차원 바코드에 삽입된 삽입 데이터(100)를 재구성한다.
이하에서는 도 2 내지 도 9를 통하여 본 발명의 일실시예에 따른 2차원 바코드 생성 장치의 구성에 대하여 더욱 상세하게 설명한다. 도 2는 본 발명의 일실시예에 따른 2차원 바코드 생성 장치의 구성을 나타낸 블록도이다.
도 2에 도시한 바와 같이, 2차원 바코드 생성 장치(200)는 메타 데이터 생성부(210), 데이터 변환부(220), 패턴 생성부(230) 및 2차원 바코드 생성부(240)를 포함한다.
먼저, 메타 데이터 생성부(210)는 삽입 데이터 및 2차원 바코드에 상응하는 메타 데이터를 생성한다.
도 3은 본 발명의 일실시예에 따른 메타 데이터를 설명하기 위한 예시도이다.
도 3에 도시한 바와 같이, 메타 데이터는, 삽입 데이터의 전체 길이, 삽입 데이터의 분할 단위, 분할 단위에 상응하는 오류정정코드(Error Correction Code), 메타 데이터에 상응하는 오류정정코드 및 2차원 바코드의 블록 크기 중 적어도 어느 하나를 포함할 수 있다. 특히, 메타 데이터는 메타 데이터에 상응하는 오류정정코드를 포함하여, 왜곡에 강인한 메타 데이터를 생성할 수 있다.
여기서, 삽입 데이터의 분할 단위는 삽입 데이터를 나누는 청크(chunk)의 크기를 의미하며, 메타 데이터는 분할 단위에 상응하는 오류정정코드의 길이를 더 포함할 수 있다.
그리고 데이터 변환부(220)는 메타 데이터를 기반으로 삽입 데이터를 변환하여, 데이터 블록을 생성한다.
이때, 데이터 변환부(220)는 삽입 데이터를 삽입 데이터의 분할 단위로 분할하고, 분할된 삽입 데이터에 분할 단위에 상응하는 오류정정코드 및 인덱스를 삽입하여 데이터 블록을 생성할 수 있다.
도 4는 본 발명의 일실시예에 따른 데이터 블록을 설명하기 위한 예시도이다.
도 4에 도시한 바와 같이, 데이터 블록은 분할 단위로 분할된 삽입 데이터에 분할 단위에 상응하는 인덱스 및 분할 단위에 상응하는 오류정정코드가 부가되어 생성될 수 있다.
다음으로 패턴 생성부(230)는 메타 데이터와 데이터 블록을 각각 기 정의된 심볼로 치환하여, 메타 데이터 패턴 및 데이터 블록 패턴을 생성한다.
도 5는 본 발명의 일실시예에 따른 1-비트 심볼을 나타낸 예시도이고, 도 6은 본 발명의 일실시예에 따른 2-비트 심볼을 나타낸 예시도이다.
도 5와 같이, 제1 심볼(510) 및 제2 심볼(520)은 1 비트의 심볼을 표현한 예이고, 도 6에 도시된 제3 심볼(530) 및 제4 심볼(540)은 2 비트의 심볼을 표현한 예이다.
심볼은 비트열 패턴의 개수에 따라 특정 크기 영역의 중심에 서로 다른 형태를 가지는 심볼의 집합으로 구성될 수 있다. 즉, 심볼은 정해진 길이의 비트열에 상응하는 경우의 수를 기반으로, 특정 크기의 정사각형 영역에서 서로 다른 형태를 가질 수 있다.
이와 같이, 심볼은 서로 다른 형태 및 서로 다른 크기일 수 있으며, 패턴 생성부(230)는 메타 데이터 및 데이터 블록 각각을 심볼로 치환하여, 메타 데이터 패턴 및 데이터 블록 패턴을 생성할 수 있다.
심볼이 도 5 및 도 6에 도시된 바와 같을 수 있다고 예시하였으나, 심볼의 구성은 이에 한정되지 않는다.
마지막으로 2차원 바코드 생성부(240)는 왜곡 보정 패턴, 메타 데이터 패턴 및 데이터 블록 패턴을 포함하는 2차원 바코드를 생성한다.
도 7은 본 발명의 일실시예에 따른 왜곡 보정 패턴을 나타낸 예시도이다.
도 7에 도시한 바와 같이, 왜곡 보정 패턴은 제1 왜곡 보정 패턴(710), 제2 왜곡 보정 패턴(720) 및 제3 왜곡 보정 패턴(730) 등과 같이 표현될 수 있으며, 왜곡 보정 패턴의 종류는 이에 한정되지 않는다.
2차원 바코드 생성 시, 2차원 바코드 생성부(240)는 2차원 바코드의 행 방향 및 열 방향으로 2차원 바코드의 블록 크기의 간격을 두고 기 설정된 개수만큼 왜곡 보정 패턴을 삽입할 수 있다. 이때, 2차원 바코드의 블록 크기는 2차원 바코드의 메타 데이터에 상응하는 크기일 수 있다.
또한, 2차원 바코드 생성부(240)는 2차원 바코드의 최상단 행, 최하단 행, 최좌측 열, 최우측 열 중 적어도 둘 이상에 메타 데이터 패턴을 삽입하여 2차원 바코드를 생성할 수 있다. 특히, 2차원 바코드 생성부(240)는 최상단 행 및 최하단 행 중 적어도 어느 하나의 행에 메타 데이터 패턴을 삽입하고, 최좌측 열 및 최우측 열 중 적어도 어느 하나의 열에 메타 데이터 패턴을 삽입하여 2차원 바코드를 생성할 수 있다.
그리고 2차원 바코드 생성부(240)는 왜곡 보정 패턴 사이에 메타 데이터 패턴을 삽입하여 2차원 바코드를 생성할 수 있다.
또한, 2차원 바코드 생성부(240)는 2차원 바코드의 블록 크기에 상응하는 영역 중에서, 왜곡 보정 패턴 및 메타 데이터 패턴을 제외한 영역에 데이터 블록 패턴을 삽입하여 2차원 바코드를 생성할 수 있다.
도 8은 본 발명의 일실시예에 따른 2차원 바코드를 설명하기 위한 도면이다.
도 8에 도시한 바와 같이, 2차원 바코드의 행 방향 및 열 방향으로 2차원 바코드의 블록 크기의 간격을 두고 4개의 왜곡 보정 패턴(810)이 삽입될 수 있다. 그리고 메타 데이터 패턴(820)은 왜곡 보정 패턴 사이에 삽입될 수 있으며, 도 8과 같이 최상단 행 및 최좌측 열에 메타 데이터 패턴(820)이 삽입될 수 있다. 또한, 데이터 블록 패턴(830)은 2차원 바코드에 상응하는 영역 중에서, 왜곡 보정 패턴(810) 및 메타 데이터 패턴(820)의 영역을 제외한 영역에 삽입될 수 있다.
도 9는 본 발명의 일실시예에 따른 2차원 바코드를 나타낸 예시도이다.
2차원 바코드 생성 장치(200)에 의해 최종적으로 생성된 2차원 바코드(910, 920)는 도 9에 도시된 바와 같을 수 있다. 설명의 편의상 2차원 바코드 생성부(240)가 2차원 바코드의 최상단 행, 최하단 행, 최좌측 열, 최우측 열 중 적어도 둘 이상에 메타 데이터 패턴을 삽입하여 2차원 바코드를 생성하는 것으로 설명하였다.
그러나 이에 한정하지 않고, 2차원 바코드 생성부(240)는 도 9에 도시한 바와 같이 2차원 바코드(910, 920)의 최상단 행, 최하단 행, 최좌측 열, 최우측 열 뿐 아니라, 2차원 바코드(910, 920)의 내부에도 메타 데이터 패턴을 삽입하여 2차원 바코드를 생성할 수 있다.
이하에서는 도 10을 통하여 본 발명의 일실시예에 따른 2차원 바코드 정보 추출 장치의 구성에 대하여 더욱 상세하게 설명한다.
도 10은 본 발명의 일실시예에 따른 2차원 바코드 정보 추출 장치의 구성을 나타낸 블록도이다.
도 10과 같이, 2차원 바코드 정보 추출 장치(600)는 영상 획득부(610), 2차원 바코드 추출부(620), 왜곡 보정부(630), 정보 추출부(640) 및 데이터 재구성부(650)를 포함할 수 있다.
먼저, 영상 획득부(610)는 왜곡 보정 패턴, 메타 데이터 패턴 및 데이터 블록 패턴으로 구성된 2차원 바코드를 포함하는 영상을 입력받는다.
영상 획득부(610)는 카메라, 스캐너, 스마트폰, 적외선 카메라 등의 촬영 장치(영상 획득 장치)로부터, 2차원 바코드를 포함하는 영상을 입력받을 수 있다.
설명의 편의상, 영상 획득부(610)가 2차원 바코드를 포함하는 영상을 입력받는 것으로 설명하였으나 이에 한정하지 않고, 영상 획득부(610)는 2차원 바코드 정보 추출 장치(600)에 구비된 촬영 모듈을 이용하여 직접 2차원 바코드를 촬영할 수 있다. 이때, 2차원 바코드 정보 추출 장치(600)에 구비된 촬영 모듈은 카메라, 스캐너, 스마트폰 및 적외선 카메라 중 적어도 어느 하나의 영상 획득 모듈을 의미할 수 있다.
그리고 2차원 바코드 추출부(620)는 영상으로부터 2차원 바코드를 추출한다.
이때, 2차원 바코드 추출부(620)는 영상에 상응하는 외곽선 계층 구조를 이용하여 영상으로부터 2차원 바코드를 추출할 수 있다. 2차원 바코드 추출부(620)는 외곽선 계층 구조로 나타낸 영상으로부터 점들이 가장 많은 계층을 탐색하는 방법으로, 영상으로부터 2차원 바코드를 추출할 수 있다.
다음으로 왜곡 보정부(630)는 2차원 바코드에 포함된 메타 데이터 패턴 및 데이터 블록 패턴의 기하학적 왜곡을 보정한다. 이때, 왜곡 보정부(630)는 왜곡 보정 패턴 추출 모듈, 방향 보정 모듈, 메타 데이터 패턴 보정 모듈 및 데이터 패턴 보정 모듈을 포함할 수 있다.
왜곡 보정부(630)는 2차원 바코드에 포함된 왜곡 보정 패턴을 추출하고, 추출된 왜곡 보정 패턴을 이용하여 2차원 바코드의 기하학적 왜곡을 보정한다. 이때, 왜곡 보정부(630)는 패턴 매칭 및 외곽선 계층 구조 관계 중 적어도 어느 하나의 방법으로, 왜곡 보정 패턴을 추출할 수 있다. 그리고 왜곡 보정부(630)는 추출된 2차원 바코드를 정사각형 형태로 보정하여, 2차원 바코드의 기하학적 왜곡을 보정할 수 있다.
그리고 왜곡 보정부(630)는 2차원 바코드의 최상단 행, 최하단 행, 최좌측 열, 최우측 열 중 적어도 둘 이상에 삽입된 메타 데이터 패턴 사이의 상관관계를 연산하여, 2차원 바코드의 방향을 보정할 수 있다. 왜곡 보정부(630)는 2차원 바코드의 메타 데이터 패턴 사이의 상관계수를 연산하고, 상관계수가 가장 높은 메타 데이터를 기준으로 기하학적 왜곡을 보정할 보정 방향을 설정할 수 있다.
또한, 왜곡 보정부(630)는 메타 데이터 패턴 및 데이터 블록 패턴 각각의 기하학적 왜곡을 보정할 수 있다.
다음으로 정보 추출부(640)는 2차원 바코드로부터 메타 데이터 및 데이터 블록을 추출한다. 정보 추출부(640)는 기하학적 왜곡이 보정된 2차원 바코드로부터 메타 데이터를 추출하고, 추출된 메타 데이터 정보를 이용하여 데이터 블록을 추출한다.
마지막으로 데이터 재구성부(650)는 추출된 메타 데이터 및 데이터 블록을 이용하여 2차원 바코드에 상응하는 삽입 데이터를 재구성한다. 이때, 데이터 재구성부(650)는 메타 데이터에 포함된 삽입 데이터의 분할 단위를 이용하여 데이터 블록으로부터 삽입 데이터를 재구성할 수 있다.
이하에서는 도 11을 통하여 본 발명의 일실시예에 따른 2차원 바코드 생성 장치에 의해 수행되는 2차원 바코드 생성 방법에 대하여 더욱 상세하게 설명한다.
도 11은 본 발명의 일실시예에 따른 2차원 바코드 생성 방법을 설명하기 위한 순서도이다.
먼저, 2차원 바코드 생성 장치(200)는 심볼을 구성하고, 메타 데이터를 생성한다(S1110).
2차원 바코드 생성 장치(200)는 도 5 및 도 6과 같이, 비트열 패턴의 개수에 따라 특정 크기 영역의 중심에 서로 다른 형태를 가지는 심볼의 집합을 구성할 수 있다. 이때, 2차원 바코드 생성 장치(200)는 정해진 길이의 비트열에 상응하는 경우의 수를 기반으로, 특정 크기의 정사각형 영역에서 서로 다른 형태를 가지도록 심볼을 구성할 수 있다.
그리고 메타 데이터는 삽입 데이터 및 2차원 바코드에 상응하는 메타 데이터를 의미한다. 메타 데이터는 삽입 데이터의 전체 길이, 삽입 데이터의 분할 단위, 분할 단위에 상응하는 오류정정코드, 메타 데이터에 상응하는 오류정정코드 및 2차원 바코드의 블록 크기 중 적어도 어느 하나를 포함할 수 있다.
즉, 2차원 바코드 생성 장치(200)는 삽입 데이터의 전체 크기를 저장하고, 삽입 데이터를 분할하는 단위인 분할 단위(청크)의 크기를 저장하며, 분할 단위에 덧붙이는 오류정정코드의 크기를 저장할 수 있다. 그리고 메타 데이터용 오류정정코드를 덧붙여서 메타 데이터를 생성할 수 있다.
다음으로 2차원 바코드 생성 장치(200)는 메타 데이터를 기반으로 삽입 데이터를 변환하여 데이터 블록을 생성한다(S1120).
2차원 바코드 생성 장치(200)는 삽입 데이터를 메타 데이터에 정의된 분할 단위(청크)로 분할하고, 분할된 삽입 데이터에 분할 단위에 상응하는 오류정정코드 및 인덱스를 삽입하여 데이터 블록을 생성할 수 있다.
그리고 2차원 바코드 생성 장치(200)는 메타 데이터 패턴 및 데이터 블록 패턴을 생성한다(S1130).
2차원 바코드 생성 장치(200)는 메타 데이터와 데이터 블록 각각을 심볼로 치환하여, 메타 데이터 패턴 및 데이터 블록 패턴을 생성한다. 여기서 심볼은 기 정의되어 있는 것일 수 있으며, 2차원 바코드 생성 장치(200)는 S1110 단계에서 메타 데이터를 생성하기 이전에 심볼을 정의하는 단계를 더 수행할 수 있다.
마지막으로 2차원 바코드 생성 장치(200)는 왜곡 보정 패턴, 메타 데이터 패턴 및 데이터 블록 패턴을 포함하는 2차원 바코드를 생성한다(S1140).
2차원 바코드 생성 장치(200)는 2차원 바코드의 행 방향 및 열 방향으로 2차원 바코드의 블록 크기에 상응하는 간격으로 복수 개의 왜곡 보정 패턴을 삽입할 수 있다.
그리고 2차원 바코드 생성 장치(200)는 2차원 바코드의 최상단 행, 최하단 행, 최좌측 열, 최우측 열 중 적어도 둘 이상에 메타 데이터 패턴을 삽입할 수 있다. 이때, 2차원 바코드 생성 장치(200)는 두 개의 왜곡 보정 패턴 사이에 메타 데이터 패턴을 삽입할 수 있다.
특히, 2차원 바코드 생성 장치(200)는 최상단 또는 최하단 행의 왜곡 보정 패턴 사이에 메타 데이터 패턴을 삽입하고, 최좌측 또는 최우측 열의 왜곡 보정 패턴 사이에 메타 데이터 패턴을 삽입할 수 있다.
또한, 2차원 바코드 생성 장치(200)는 2차원 바코드의 블록 크기에 상응하는 영역 중에서 왜곡 보정 패턴 및 메타 데이터 패턴에 상응하는 영역을 제외한 영역에 데이터 블록 패턴을 삽입하여 2차원 바코드를 생성할 수 있다.
설명의 편의상, 2차원 바코드 생성 장치(200)가 왜곡 보정 패턴, 메타 데이터 패턴 및 데이터 블록 패턴을 각각의 영역에 삽입하여 2차원 바코드를 생성하는 것으로 설명하였으나 이에 한정하지 않고, 2차원 바코드를 복수 개의 부분 영역으로 분할하고, 각각의 부분 영역에 왜곡 보정 패턴, 메타 데이터 패턴 및 데이터블록 패턴 중 적어도 어느 하나의 패턴을 삽입하고, 패턴이 삽입된 부분 영역들을 합성하여 하나의 2차원 바코드를 생성할 수도 있다.
이하에서는 도 12를 통하여 본 발명의 일실시예에 따른 2차원 바코드 정보 추출 장치에 의해 수행되는 2차원 바코드 정보 추출 방법에 대하여 더욱 상세하게 설명한다.
도 12는 본 발명의 일실시예에 따른 2차원 바코드 정보 추출 방법을 설명하기 위한 순서도이다.
먼저, 2차원 바코드 정보 추출 장치(600)는 2차원 바코드 영상을 획득하고, 획득한 2차원 바코드 영상으로부터 2차원 바코드를 추출한다(S1210).
2차원 바코드 정보 추출 장치(600)는 왜곡 보정 패턴, 메타 데이터 패턴 및 데이터 블록 패턴으로 구성된 2차원 바코드를 포함하는 영상을 입력받는다. 그리고 입력된 영상으로부터 2차원 바코드를 추출한다. 이때, 2차원 바코드 정보 추출 장치(600)는 영상에 상응하는 외곽선 계층 구조를 기반으로 영상으로부터 2차원 바코드를 추출할 수 있다.
다음으로 2차원 바코드 정보 추출 장치(600)는 2차원 바코드에 포함된 메타 데이터 패턴 및 데이터 블록 패턴의 기하학적 왜곡을 보정한다(S1220).
2차원 바코드 정보 추출 장치(600)는 2차원 바코드에 포함된 왜곡 보정 패턴을 추출하고, 추출된 왜곡 보정 패턴을 이용하여 2차원 바코드의 기하학적 왜곡을 보정할 방향을 탐색한다. 또한, 2차원 바코드 정보 추출 장치(600)는 메타 데이터 패턴 및 데이터 블록 패턴 각각의 기하학적 왜곡을 보정한다.
이때, 2차원 바코드 정보 추출 장치(600)는 패턴 매칭, 외곽선 계층 구조 관계 중 적어도 어느 하나의 방법으로 왜곡 보정 패턴을 추출할 수 있다. 이때, 2차원 바코드 정보 추출 장치(600)는 패턴 매칭 및 외곽선 계층 구조 관계 중 적어도 어느 하나의 방법으로 왜곡 보정 패턴을 추출할 수 있다. 그리고 2차원 바코드 정보 추출 장치(600)는 추출된 왜곡 보정 패턴을 이용하여 2차원 바코드를 정사각형 형태로 보정할 수 있다.
또한, 2차원 바코드 정보 추출 장치(600)는 2차원 바코드의 최상단 행, 최하단 행, 최좌측 열 및 최우측 열 중 적어도 둘 이상에 삽입된 메타 데이터 패턴 사이의 상관관계를 연산하여, 2차원 바코드의 방향을 보정할 수 있다.
도 13은 본 발명의 일실시예에 따른 왜곡 보정 과정을 설명하기 위한 예시도이다.
도 13에 도시한 바와 같이, 추출된 2차원 바코드는 기하학적 왜곡을 포함할 수 있다. 따라서 본 발명의 일실시예에 따른 2차원 바코드 정보 추출 장치(600)는 왜곡 보정 패턴(1310)을 추출하고, 추출된 왜곡 보정 패턴(1310)을 이용하여 2차원 바코드의 기하학적 왜곡을 보정할 수 있다.
기하학적 왜곡이 보정된 정사각형 형태의 2차원 바코드는 본래의 2차원 바코드가 0도, 90도, 180도, 270도 회전된 형태일 수 있다. 예를 들어, 기하학적 왜곡이 보정된 2차원 바코드가 180도 회전되어 있는 경우, 2차원 바코드 정보 추출 장치(600)는 기하학적 왜곡이 보정된 2차원 바코드를 180도 회전하여 본래의 2차원 바코드와 같이 방향을 보정할 수 있다.
이때, 2차원 바코드 정보 추출 장치(600)는 제1 메타 데이터 패턴(1320_a)과 제2 메타 데이터 패턴(1320_b) 사이의 상관계수를 연산하고, 제1 메타 데이터 패턴(1320_a)과 제4 메타 데이터 패턴(1320_d) 사이의 상관계수를 연산하며, 제2 메타 데이터 패턴(1320_b)과 제3 메타 데이터 패턴(1320_c) 사이의 상관계수 및 제3 메타 데이터 패턴(1320_c)과 제4 메타 데이터 패턴(1320_d) 사이의 상관계수를 연산한다.
그리고 2차원 바코드 정보 추출 장치(600)는 연산 결과를 기반으로 상관계수가 가장 높은 메타 데이터를 기준으로 2차원 바코드의 방향을 보정한다. 예를 들어, 도 13에서 제1 메타 데이터 패턴(1320_a)과 제2 메타 데이터 패턴(1320_b) 사이의 상관계수가 가장 높은 경우, 2차원 바코드 정보 추출 장치(600)는 도 13과 같이 2차원 바코드의 방향을 보정할 수 있다.
다시 도 12에 대하여 설명하면, 2차원 바코드 정보 추출 장치(600)는 메타 데이터 및 데이터 블록을 추출한다(S1230).
2차원 바코드 정보 추출 장치(600)는 기하학적 왜곡이 보정된 2차원 바코드로부터 메타 데이터를 추출하고, 추출된 메타 데이터를 이용하여 데이터 블록을 추출한다.
2차원 바코드 정보 추출 장치(600)는 왜곡이 보정된 2차원 바코드의 메타 데이터 패턴으로부터 심볼의 집합을 추출하고, 왜곡이 보정된 2차원 바코드의 데이터 블록 패턴으로부터 심볼의 집합을 추출할 수 있다. 그리고 2차원 바코드 정보 추출 장치(600)는 추출된 심볼과 기 저장된 심볼의 상관 관계를 연산할 수 있다.
2차원 바코드 정보 추출 장치(600)는 상관 관계 연산 결과, 상관 계수가 가장 높은 심볼에 해당하는 비트열의 값으로 삽입 정보를 결정하며, 메타 데이터 비트열로부터 메타 데이터를 추출한다. 또한, 2차원 바코드 정보 추출 장치(600)는 각 데이터 블록의 비트열로부터 분할 단위로 분할된 데이터를 추출한다.
설명의 편의상, 2차원 바코드 정보 추출 장치(600)가 2차원 바코드로부터 메타 데이터 및 데이터 블록을 추출하는 것으로 설명하였으나 이는 2차원 바코드 정보 추출 장치(600)가 2차원 바코드로부터 메타 데이터 패턴 및 데이터 블록 패턴을 추출하고, 심볼을 기반으로 변환하여 메타 데이터 및 데이터 블록을 추출하는 과정을 의미할 수 있다.
마지막으로 2차원 바코드 정보 추출 장치(600)는 삽입 데이터를 재구성한다(S1240).
2차원 바코드 정보 추출 장치(600)는 메타 데이터에 포함된 삽입 데이터의 분할 단위를 기반으로 데이터 블록으로부터 삽입 데이터를 재구성한다.
도 14은 본 발명의 일실시예에 따른 컴퓨터 시스템을 나타낸 블록도이다.
도 14을 참조하면, 본 발명의 실시예는 컴퓨터로 읽을 수 있는 기록매체와 같은 컴퓨터 시스템(1400)에서 구현될 수 있다. 도 14에 도시된 바와 같이, 컴퓨터 시스템(1400)은 버스(1420)를 통하여 서로 통신하는 하나 이상의 프로세서(1410), 메모리(1430), 사용자 입력 장치(1440), 사용자 출력 장치(1450) 및 스토리지(1460)를 포함할 수 있다. 또한, 컴퓨터 시스템(1400)은 네트워크(1480)에 연결되는 네트워크 인터페이스(1470)를 더 포함할 수 있다. 프로세서(1410)는 중앙 처리 장치 또는 메모리(1430)나 스토리지(1460)에 저장된 프로세싱 인스트럭션들을 실행하는 반도체 장치일 수 있다. 메모리(1430) 및 스토리지(1460)는 다양한 형태의 휘발성 또는 비휘발성 저장 매체일 수 있다. 예를 들어, 메모리는 ROM(1431)이나 RAM(1432)을 포함할 수 있다.
따라서, 본 발명의 실시예는 컴퓨터로 구현된 방법이나 컴퓨터에서 실행 가능한 명령어들이 기록된 비일시적인 컴퓨터에서 읽을 수 있는 매체로 구현될 수 있다. 컴퓨터에서 읽을 수 있는 명령어들이 프로세서에 의해서 수행될 때, 컴퓨터에서 읽을 수 있는 명령어들은 본 발명의 적어도 한 가지 태양에 따른 방법을 수행할 수 있다.
이상에서와 같이 본 발명에 따른 2차원 바코드 생성 장치, 2차원 바코드 정보 추출 장치 및 2차원 바코드 생성 방법은 상기한 바와 같이 설명된 실시예들의 구성과 방법이 한정되게 적용될 수 있는 것이 아니라, 상기 실시예들은 다양한 변형이 이루어질 수 있도록 각 실시예들의 전부 또는 일부가 선택적으로 조합되어 구성될 수도 있다.
100: 삽입 데이터 200: 2차원 바코드 생성 장치
210: 메타 데이터 생성부 220: 데이터 변환부
230: 패턴 생성부 240: 2차원 바코드 생성부
300: 2차원 바코드 400: 촬영 장치
500: 2차원 바코드 영상 510: 제1 심볼
520: 제2 심볼 530: 제3 심볼
540: 제4 심볼 600: 2차원 바코드 정보 추출 장치
610: 영상 획득부 620: 2차원 바코드 추출부
630: 왜곡 보정부 640: 정보 추출부
650: 데이터 재구성부 710: 제1 왜곡 보정 패턴
720: 제2 왜곡 보정 패턴 730: 제3 왜곡 보정 패턴
810: 왜곡 보정 패턴 820: 메타 데이터 패턴
830: 데이터 블록 패턴 910, 920: 2차원 바코드
1400: 컴퓨터 시스템 1310: 왜곡 보정 패턴
1320: 메타 데이터 패턴 1330: 데이터 블록 패턴
1410: 프로세서 1420: 버스
1430: 메모리 1431: 롬
1432: 램 1440: 사용자 입력 장치
1450: 사용자 출력 장치 1460: 스토리지
1470: 네트워크 인터페이스 1480: 네트워크

Claims (20)

  1. 삽입 데이터 및 2차원 바코드에 상응하는 메타 데이터를 생성하는 메타 데이터 생성부,
    상기 메타 데이터를 기반으로 상기 삽입 데이터를 변환하여 데이터 블록을 생성하는 데이터 변환부,
    상기 메타 데이터와 상기 데이터 블록 각각을 기 정의된 심볼로 치환하여, 메타 데이터 패턴 및 데이터 블록 패턴을 생성하는 패턴 생성부, 그리고
    왜곡 보정 패턴, 상기 메타 데이터 패턴 및 상기 데이터 블록 패턴을 포함하는 2차원 바코드를 생성하는 2차원 바코드 생성부
    를 포함하고,
    상기 2차원 바코드는
    상기 2차원 바코드의 최상단 행 및 최하단 행 중 적어도 하나의 행에 삽입된 왜곡 보정 패턴들 사이에 상기 메타데이터 패턴이 삽입되고,
    상기 2차원 바코드의 최좌측 열 및 최우측 열 중 적어도 하나의 열에 삽입된 왜곡 보정 패턴들 사이에 상기 메타데이터 패턴이 삽입되고,
    상기 최상단 행, 최하단 행 최좌측 열 및 최우측 열 중 적어도 두 개 이상에 삽입된 메타데이터 패턴들 사이의 상관관계를 이용하여 상기 2차원 바코드의 방향이 보정되는 것을 특징으로 하는 2차원 바코드 생성 장치.
  2. 제1항에 있어서,
    상기 메타 데이터는,
    상기 삽입 데이터의 전체 길이, 상기 삽입 데이터의 분할 단위, 상기 분할 단위에 상응하는 오류정정코드, 상기 메타 데이터에 상응하는 오류정정코드 및 상기 2차원 바코드의 블록 크기 중 적어도 어느 하나를 포함하는 것을 특징으로 하는 2차원 바코드 생성 장치.
  3. 제2항에 있어서,
    상기 데이터 변환부는,
    상기 삽입 데이터를 상기 삽입 데이터의 분할 단위로 분할하고, 분할된 상기 삽입 데이터에 상기 분할 단위에 상응하는 오류정정코드 및 인덱스를 삽입하여 상기 데이터 블록을 생성하는 것을 특징으로 하는 2차원 바코드 생성 장치.
  4. 제2항에 있어서,
    상기 2차원 바코드 생성부는,
    상기 2차원 바코드의 행 방향 및 열 방향으로 상기 2차원 바코드의 블록 크기에 상응하는 간격으로 복수개의 상기 왜곡 보정 패턴을 삽입하여, 상기 2차원 바코드를 생성하는 것을 특징으로 하는 2차원 바코드 생성 장치.
  5. 삭제
  6. 삭제
  7. 제4항에 있어서,
    상기 데이터 블록 패턴은,
    상기 2차원 바코드의 블록 크기에 상응하는 영역 중에서, 상기 왜곡 보정 패턴 및 상기 메타 데이터 패턴을 제외한 영역에 삽입되는 것을 특징으로 하는 2차원 바코드 생성 장치.
  8. 왜곡 보정 패턴, 메타 데이터 패턴 및 데이터 블록 패턴으로 구성된 2차원 바코드를 포함하는 영상을 입력받는 영상 획득부,
    상기 영상으로부터 상기 2차원 바코드를 추출하는 2차원 바코드 추출부,
    상기 2차원 바코드에 포함된 상기 메타 데이터 패턴 및 상기 데이터 블록 패턴의 기하학적 왜곡을 보정하는 왜곡 보정부,
    보정된 상기 2차원 바코드로부터 메타 데이터 및 데이터 블록을 추출하는 정보 추출부, 그리고
    추출된 상기 메타 데이터 및 상기 데이터 블록을 이용하여 상기 2차원 바코드에 상응하는 삽입 데이터를 재구성하는 데이터 재구성부
    를 포함하고,
    상기 2차원 바코드는
    상기 2차원 바코드의 최상단 행 및 최하단 행 중 적어도 하나의 행에 삽입된 왜곡 보정 패턴들 사이에 상기 메타데이터 패턴이 삽입되고,
    상기 2차원 바코드의 최좌측 열 및 최우측 열 중 적어도 하나의 열에 삽입된 왜곡 보정 패턴들 사이에 상기 메타데이터 패턴이 삽입되고,
    상기 최상단 행, 최하단 행 최좌측 열 및 최우측 열 중 적어도 두 개 이상에 삽입된 메타데이터 패턴들 사이의 상관관계를 이용하여 상기 2차원 바코드의 방향이 보정되는 것을 특징으로 하는 2차원 바코드 정보 추출 장치.
  9. 제8항에 있어서,
    상기 2차원 바코드 추출부는,
    상기 영상에 상응하는 외곽선 계층구조를 이용하여, 상기 영상으로부터 상기 2차원 바코드를 추출하는 것을 특징으로 하는 2차원 바코드 정보 추출 장치.
  10. 제9항에 있어서,
    상기 왜곡 보정부는,
    상기 2차원 바코드에 포함된 상기 왜곡 보정 패턴을 추출하고, 추출된 상기 왜곡 보정 패턴을 이용하여 상기 2차원 바코드의 기하학적 왜곡을 보정하는 것을 특징으로 하는 2차원 바코드 정보 추출 장치.
  11. 제10항에 있어서,
    상기 왜곡 보정부는,
    패턴 매칭 및 외곽선 계층 구조 관계 중 적어도 어느 하나의 방법으로 상기 왜곡 보정 패턴을 추출하는 것을 특징으로 하는 2차원 바코드 정보 추출 장치.
  12. 삭제
  13. 제10항에 있어서,
    상기 데이터 재구성부는,
    상기 메타 데이터에 포함된 삽입 데이터의 분할 단위를 이용하여, 상기 데이터 블록으로부터 상기 삽입 데이터를 재구성하는 것을 특징으로 하는 2차원 바코드 정보 추출 장치.
  14. 2차원 바코드 생성 장치에 의해 수행되는 2차원 바코드 생성 방법에 있어서,
    삽입 데이터 및 2차원 바코드에 상응하는 메타 데이터를 생성하는 단계,
    상기 메타 데이터를 기반으로 상기 삽입 데이터를 변환하여 데이터 블록을 생성하는 단계,
    상기 메타 데이터와 상기 데이터 블록 각각을 기 정의된 심볼로 치환하여, 메타 데이터 패턴 및 데이터 블록 패턴을 생성하는 단계, 그리고
    왜곡 보정 패턴, 상기 메타 데이터 패턴 및 상기 데이터 블록 패턴을 포함하는 2차원 바코드를 생성하는 단계
    를 포함하고,
    상기 2차원 바코드는
    상기 2차원 바코드의 최상단 행 및 최하단 행 중 적어도 하나의 행에 삽입된 왜곡 보정 패턴들 사이에 상기 메타데이터 패턴이 삽입되고,
    상기 2차원 바코드의 최좌측 열 및 최우측 열 중 적어도 하나의 열에 삽입된 왜곡 보정 패턴들 사이에 상기 메타데이터 패턴이 삽입되고,
    상기 최상단 행, 최하단 행 최좌측 열 및 최우측 열 중 적어도 두 개 이상에 삽입된 메타데이터 패턴들 사이의 상관관계를 이용하여 상기 2차원 바코드의 방향이 보정되는 것을 특징으로 하는 2차원 바코드 생성 방법.
  15. 제14항에 있어서,
    상기 메타 데이터는,
    상기 삽입 데이터의 전체 길이, 상기 삽입 데이터의 분할 단위, 상기 분할 단위에 상응하는 오류정정코드, 상기 메타 데이터에 상응하는 오류정정코드 및 상기 2차원 바코드의 블록 크기 중 적어도 어느 하나를 포함하는 것을 특징으로 하는 2차원 바코드 생성 방법.
  16. 제15항에 있어서,
    상기 데이터 블록을 생성하는 단계는,
    상기 삽입 데이터를 상기 삽입 데이터의 분할 단위로 분할하고, 분할된 상기 삽입 데이터에 상기 분할 단위에 상응하는 오류정정코드 및 인덱스를 삽입하여 상기 데이터 블록을 생성하는 것을 특징으로 하는 2차원 바코드 생성 방법.
  17. 제15항에 있어서,
    상기 2차원 바코드를 생성하는 단계는,
    상기 2차원 바코드의 행 방향 및 열 방향으로 상기 2차원 바코드의 블록 크기에 상응하는 간격으로 복수개의 상기 왜곡 보정 패턴을 삽입하는 단계, 그리고
    상기 2차원 바코드의 최상단 행, 최하단 행, 최좌측 열, 최우측 열 중 적어도 둘 이상에 상기 메타 데이터 패턴을 삽입하는 단계,
    를 포함하는 것을 특징으로 하는 2차원 바코드 생성 방법.
  18. 제17항에 있어서,
    상기 메타 데이터 패턴은, 상기 왜곡 보정 패턴 사이에 삽입되고,
    상기 데이터 블록 패턴은, 상기 2차원 바코드의 블록 크기에 상응하는 영역 중에서, 상기 왜곡 보정 패턴 및 상기 메타 데이터 패턴을 제외한 영역에 삽입되는 것을 특징으로 하는 2차원 바코드 생성 방법.
  19. 제14항에 있어서,
    생성된 상기 2차원 바코드는,
    2차원 바코드 정보 추출 장치에 의해 상기 2차원 바코드를 포함하는 영상으로부터 추출되고, 상기 왜곡 보정 패턴을 이용하여 기하학적 왜곡이 보정되며, 보정된 상기 2차원 바코드로부터 추출된 상기 메타 데이터 및 상기 데이터 블록을 이용하여 상기 삽입 데이터로 재구성되는 것을 특징으로 하는 2차원 바코드 생성 방법.
  20. 삭제
KR1020160173486A 2016-12-19 2016-12-19 2차원 바코드 생성 장치, 2차원 바코드 정보 추출 장치 및 2차원 바코드 생성 방법 KR101893520B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020160173486A KR101893520B1 (ko) 2016-12-19 2016-12-19 2차원 바코드 생성 장치, 2차원 바코드 정보 추출 장치 및 2차원 바코드 생성 방법
US15/593,481 US10152662B2 (en) 2016-12-19 2017-05-12 Apparatus and method for generating 2D barcode and apparatus for extracting 2D barcode information

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160173486A KR101893520B1 (ko) 2016-12-19 2016-12-19 2차원 바코드 생성 장치, 2차원 바코드 정보 추출 장치 및 2차원 바코드 생성 방법

Publications (2)

Publication Number Publication Date
KR20180070913A KR20180070913A (ko) 2018-06-27
KR101893520B1 true KR101893520B1 (ko) 2018-08-30

Family

ID=62561716

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160173486A KR101893520B1 (ko) 2016-12-19 2016-12-19 2차원 바코드 생성 장치, 2차원 바코드 정보 추출 장치 및 2차원 바코드 생성 방법

Country Status (2)

Country Link
US (1) US10152662B2 (ko)
KR (1) KR101893520B1 (ko)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009259220A (ja) 2008-03-18 2009-11-05 Konica Minolta Systems Lab Inc 認証情報を格納するための、印刷文書上の二次元バーコードスタンプの作成と配置
US20160267370A1 (en) * 2013-10-30 2016-09-15 Toppan Tdk Label Co., Ltd. Method for generating two-dimensional barcode, device for generating two-dimensional barcode, method for reading two-dimensional barcode, device for reading two-dimensional barcode, two-dimensional barcode, and program

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6201901B1 (en) * 1998-06-01 2001-03-13 Matsushita Electronic Industrial Co., Ltd. Border-less clock free two-dimensional barcode and method for printing and reading the same
KR100540879B1 (ko) 2003-01-21 2006-01-10 주식회사 코드랩 기계로 판독가능한 사각형상의 2차원 바코드 및 이를 생성하고 해석하는 방법
KR100520427B1 (ko) 2003-11-15 2005-10-11 에이디정보통신 주식회사 2차원 바코드 인코딩/디코딩 시스템 및 그 방법
JP4106377B2 (ja) * 2005-12-16 2008-06-25 インターナショナル・ビジネス・マシーンズ・コーポレーション 不可視情報を抽出するための装置、方法、およびプログラム
JP5023916B2 (ja) * 2007-09-21 2012-09-12 富士ゼロックス株式会社 ホログラム復号装置、及びホログラム復号方法
US8267321B2 (en) * 2008-02-11 2012-09-18 International Business Machines Corporation Enhanced-density barcode
JP5136302B2 (ja) * 2008-03-27 2013-02-06 株式会社デンソーウェーブ 二次元コード、二次元コード生成方法、二次元コードを表示させるコンピュータ読み取り可能なプログラム、二次元コードを利用した認証方法、及び二次元コードを利用した情報提供方法
CN101882210B (zh) * 2010-06-01 2012-06-27 福建新大陆电脑股份有限公司 矩阵式二维条码解码芯片及其解码方法
KR20120057468A (ko) 2010-11-26 2012-06-05 광주과학기술원 모바일 증강현실을 위한 qr 코드 데이터 표현
US9111186B2 (en) * 2011-10-12 2015-08-18 University Of Rochester Color barcodes for mobile applications: a per channel framework
JP5687639B2 (ja) * 2012-02-08 2015-03-18 株式会社東芝 コントローラ、データ記憶装置及びプログラム
US8807434B1 (en) * 2012-08-08 2014-08-19 Google Inc. Techniques for generating customized two-dimensional barcodes
US8798380B1 (en) * 2012-08-08 2014-08-05 Google Inc. Techniques for generating customized two-dimensional barcodes

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009259220A (ja) 2008-03-18 2009-11-05 Konica Minolta Systems Lab Inc 認証情報を格納するための、印刷文書上の二次元バーコードスタンプの作成と配置
US20160267370A1 (en) * 2013-10-30 2016-09-15 Toppan Tdk Label Co., Ltd. Method for generating two-dimensional barcode, device for generating two-dimensional barcode, method for reading two-dimensional barcode, device for reading two-dimensional barcode, two-dimensional barcode, and program

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
QR code-wikipedia, [online] (https://web.archive.org/web/20161216183335/https://en.wikipedia.org/wiki/QR_code#Error_correction)(2016.12.16.)*

Also Published As

Publication number Publication date
US10152662B2 (en) 2018-12-11
US20180174006A1 (en) 2018-06-21
KR20180070913A (ko) 2018-06-27

Similar Documents

Publication Publication Date Title
WO2020192391A1 (zh) 基于ocr的图像转档方法、装置、设备及可读存储介质
US11113781B2 (en) Image-based pose determination
EP0783160A2 (en) A clock free two-dimensional barcode and method for printing and reading the same
TW201710957A (zh) 二維碼的產生方法、解碼方法以及裝置
Kia Document image compression and analysis
US20190130080A1 (en) Watermark embedding and extracting method for protecting documents
JP2008146605A (ja) 画像処理装置及びその制御方法
CN111738898B (zh) 文本数字水印嵌入\提取方法及装置
Uzun et al. Carving orphaned JPEG file fragments
KR102480235B1 (ko) 딥러닝 기반 광학문자인식 장치 및 그 시스템
EP2482231A1 (en) Method for encoding and decoding data on a matrix code symbol
JP4227432B2 (ja) 画像処理方法
KR20190133363A (ko) 워터마크 기반의 이미지 무결성 검증 방법 및 장치
CN100517385C (zh) 图像生成装置和方法、图像处理装置和方法
CN118070252A (zh) Pdf内嵌字体水印嵌入和提取方法及系统
KR101893520B1 (ko) 2차원 바코드 생성 장치, 2차원 바코드 정보 추출 장치 및 2차원 바코드 생성 방법
Liu et al. Toward a two-dimensional barcode with visual information using perceptual shaping watermarking in mobile applications
JP2006146627A (ja) 文書情報検索システム
CN105760913B (zh) 信息记录方法与信息提取方法
CN112233004A (zh) 图像中的数据嵌入和提取
CN113903035A (zh) 一种基于超分辨率多尺度重建的文字识别方法及系统
Lv et al. A novel auxiliary data construction scheme for reversible data hiding in JPEG images
Pamboukian et al. Reversible data hiding and reversible authentication watermarking for binary images
KR101753914B1 (ko) 휴대단말기에서 바코드 생성 및 인식할 수 있는 장치 및 방법
van der Meer et al. JPEG File Fragmentation Point Detection using Huffman Code and Quantization Array Validation

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right