KR101313681B1 - 2 Dimension Barcode and method of decoding the 2 dimension barcode - Google Patents
2 Dimension Barcode and method of decoding the 2 dimension barcode Download PDFInfo
- Publication number
- KR101313681B1 KR101313681B1 KR1020120037354A KR20120037354A KR101313681B1 KR 101313681 B1 KR101313681 B1 KR 101313681B1 KR 1020120037354 A KR1020120037354 A KR 1020120037354A KR 20120037354 A KR20120037354 A KR 20120037354A KR 101313681 B1 KR101313681 B1 KR 101313681B1
- Authority
- KR
- South Korea
- Prior art keywords
- reference marks
- dimensional barcode
- body region
- data
- predetermined
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K7/00—Methods or arrangements for sensing record carriers, e.g. for reading patterns
- G06K7/10—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
- G06K7/14—Methods 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/1404—Methods for optical code recognition
- G06K7/1408—Methods for optical code recognition the method being specifically adapted for the type of code
- G06K7/1417—2D bar codes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K7/00—Methods or arrangements for sensing record carriers, e.g. for reading patterns
- G06K7/10—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
- G06K7/14—Methods 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/1404—Methods for optical code recognition
- G06K7/1439—Methods for optical code recognition including a method step for retrieval of the optical code
- G06K7/1447—Methods 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K7/00—Methods or arrangements for sensing record carriers, e.g. for reading patterns
- G06K7/10—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
- G06K7/14—Methods 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/1404—Methods for optical code recognition
- G06K7/1439—Methods for optical code recognition including a method step for retrieval of the optical code
- G06K7/1456—Methods for optical code recognition including a method step for retrieval of the optical code determining the orientation of the optical code with respect to the reader and correcting therefore
Abstract
2차원 바코드 및 2차원 바코드 디코딩 방법이 개시된다. 상기 2차원 바코드는 다수 개의 엘리멘트를 포함하는 바디 영역, 상기 바디 영역에 포함되며 미리 결정된 복수 개의 엘리멘트로 구성되는 복수의 레퍼런스 마크(Reference Mark), 및 상기 레퍼런스 마크에 기초하여 위치가 계산되는 데이터 엘리멘트를 포함하는 데이터 영역을 포함하며, 상기 복수의 레퍼런스 마크 각각은 미리 결정된 형상을 가지며 상기 복수의 레퍼런스 마크 각각을 구성하는 상기 복수 개의 엘리멘트들은 모두 동일한 정보를 갖도록 표현되는 것을 특징으로 한다.A two-dimensional barcode and a two-dimensional barcode decoding method are disclosed. The two-dimensional barcode includes a body region including a plurality of elements, a plurality of reference marks included in the body region and configured with a plurality of predetermined elements, and a data element whose position is calculated based on the reference mark. And a plurality of reference marks each having a predetermined shape and the plurality of elements constituting each of the plurality of reference marks are represented to have the same information.
Description
본 발명은 2차원 바코드 및 상기 2차원 바코드의 디코딩 방법에 관한 것으로, 보다 상세하게는 데이터를 2차원 부호로 표현할 수 있는 2차원 바코드에 있어서 빠른 속도로 데이터를 판독할 수 있는 2차원 바코드 및 그 디코딩 방법에 관한 것이다.
The present invention relates to a two-dimensional barcode and a method of decoding the two-dimensional barcode, and more particularly, a two-dimensional barcode capable of reading data at a high speed in a two-dimensional barcode capable of representing data in two-dimensional code and its It relates to a decoding method.
2D 바-코드 부호들은 일반적으로 데이터를 2 차원으로 인코딩하는 정사각형 또는 직사각형 패턴들이다. 현재 가장 널리 사용되고 있는 2차원 바코드는 이른바 QR 코드(Quick Response Code)라고 불리우는 2차원 바코드라 할 수 있다.2D bar-code codes are generally square or rectangular patterns that encode data in two dimensions. The most widely used two-dimensional bar code is a two-dimensional bar code called a QR code (Quick Response Code).
도 1은 종래의 QR 코드의 일 예를 나타낸다.1 shows an example of a conventional QR code.
도 1을 참조하면, QR 코드는 일본의 덴소 웨이브사(denso wave) 의해 개발된 "매트릭스 바-코드"의 예이다. 도 1에 도시된 바와 같이, QR 코드는, 정사각형 모양이고, 부호의 세 코너에서 어둡고 밝은 정사각형들이 교대로 중첩된 파인더 패턴(finder pattern)에 의해 데이터가 용이하게 식별 또는 판독될 수 있다. QR 코드에서는 이러한 파인더 패턴을 이용하여 2차원 바코드 내에 포함된 데이터의 위치를 판단하고 판독하게 되므로, 파인더 패턴의 위치를 정확하고 빠르게 검색하는 것이 2차원 바코드를 인식하는데 매우 중요하게 된다.Referring to Fig. 1, the QR code is an example of the "matrix bar-code" developed by the Denso wave company of Japan. As shown in FIG. 1, the QR code is square in shape, and data can be easily identified or read by a finder pattern in which dark and light squares alternately overlap at three corners of the sign. In the QR code, since the position of the data included in the two-dimensional barcode is determined and read using the finder pattern, it is very important to accurately and quickly search the position of the finder pattern.
QR 코드에서는 파인더 패턴을 찾기 위해 일정한 주파수 패턴 즉, 흑과 백이 교대로 소정의 비율(예컨대, 1:1:3:1:1)로 나타나는 패턴을 찾게 되고, 찾아진 패턴을 상기 파인더 패턴으로 인식하게 된다. 이러한 특정 비율을 갖는 주파수 패턴을 찾는 것은 상대적으로 높은 복잡도와 시간을 필요로 하게 되는 문제점이 있다. In the QR code, to find a finder pattern, a certain frequency pattern, that is, a pattern in which black and white alternately appear at a predetermined ratio (for example, 1: 1: 3: 1: 1) is found, and the found pattern is recognized as the finder pattern. Done. Finding a frequency pattern having such a specific ratio has a problem that requires a relatively high complexity and time.
또한, 이러한 일정 비율을 갖는 패턴을 파인더 패턴으로 인식하게 되므로, 실제로 데이터가 기록되는 영역에서 파인더 패턴과 동일한 형태의 패턴을 갖는 패턴이 존재하지 않도록 마스킹(masking)을 해야만 하는 문제점이 있다.In addition, since the pattern having a predetermined ratio is recognized as a finder pattern, there is a problem in that a mask having a pattern having the same pattern as that of the finder pattern does not exist in the area where data is actually recorded.
따라서, 2차원 바코드에 있어서, 데이터의 위치를 판독하기 위해 참조되는 소정의 패턴 또는 마크(예컨대, QR 코드에서의 파인더 패턴 등)를 빠른 시간 내에 간편하고 정확하게 검색할 수 있는 2차원 바코드 및 그 디코딩 방법이 요구된다.Therefore, in the two-dimensional bar code, a two-dimensional bar code and its decoding capable of easily and accurately searching for a predetermined pattern or mark (e.g., a finder pattern in a QR code, etc.) referred to for reading the position of data in a short time. Method is required.
또한, 데이터가 기록되는 영역에서 상기의 패턴 또는 마크(예컨대, QR 코드에서의 파인더 패턴 등)와 동일한 패턴 또는 마크가 발생할 염려가 없는 2차원 바코드 및 그 디코딩 방법이 요구된다.
There is also a need for a two-dimensional barcode and a decoding method thereof in which there is no fear that the same pattern or mark as the above pattern or mark (for example, a finder pattern in a QR code) occurs in an area where data is recorded.
따라서, 본 발명의 실시 예에 따른 2차원 바코드 및 2차원 바코드 디코딩 방법은, 데이터의 위치를 판독하기 위해 참조되는 소정의 패턴 또는 마크(예컨대, QR 코드에서의 파인더 패턴 등, 이하 '레퍼런스 마크')를 빠른 시간 내에 간편하고 정확하게 검색할 수 있는 기술적 사상을 제공하는 것이다.Accordingly, the two-dimensional barcode and the two-dimensional barcode decoding method according to an embodiment of the present invention, a predetermined pattern or mark (for example, a finder pattern in a QR code, etc., referred to as a reference mark for reading the position of the data) ) Is to provide a technical idea that can be searched quickly and easily.
또한, 데이터가 기록되는 영역에서 상기의 레퍼런스 마크와 동일한 패턴 또는 마크가 발생할 염려가 없어서 인코딩의 복잡도가 낮고 잘못된 패턴의 검색이 발생할 확률을 줄일 수 있는 기술적 사상을 제공하는 것이다.In addition, there is no fear that the same pattern or mark as the reference mark is generated in the area where data is recorded, thereby providing a technical idea that the encoding complexity is low and the probability of searching for the wrong pattern can be reduced.
또한, 상기의 레퍼런스 마크를 빠르게 검색하기 위해 미리 설정된 크기의 데이터 블록을 검색하고, 그 데이터 블록 내에서만 상기의 레퍼런스 마크를 찾으므로 빠른 시간 내에 레퍼런스 마크의 검색이 용이한 기술적 사상을 제공하는 것이다.Further, in order to quickly search for the reference mark, a data block having a predetermined size is searched, and the reference mark is found only in the data block, thereby providing a technical idea that makes it easy to search the reference mark in a short time.
또한, 찾아진 레퍼런스 마크의 정확한 위치를 판단하기 위해 상기 레퍼런스 마크의 무게중심을 이용하므로, 레퍼런스 마크의 위치를 비교적 빠르고 용이하게 판단할 수 있고, 그에 따라 데이터의 위치도 빠르고 용이하게 판단할 수 있는 기술적 사상을 제공하는 것이다.
In addition, since the center of gravity of the reference mark is used to determine the exact position of the found reference mark, the position of the reference mark can be determined relatively quickly and easily, and thus the position of the data can be determined quickly and easily. It is to provide technical ideas.
상기 기술적 과제를 달성하기 위한 2차원 바코드는 다수 개의 엘리멘트를 포함하는 바디 영역, 상기 바디 영역에 포함되며 미리 결정된 복수 개의 엘리멘트로 구성되는 복수의 레퍼런스 마크(Reference Mark), 및 상기 레퍼런스 마크에 기초하여 위치가 계산되는 데이터 엘리멘트를 포함하는 데이터 영역을 포함하며, 상기 복수의 레퍼런스 마크 각각은 미리 결정된 형상을 가지며 상기 복수의 레퍼런스 마크 각각을 구성하는 상기 복수 개의 엘리멘트들은 모두 동일한 정보를 갖도록 표현되는 것을 특징으로 한다.A two-dimensional barcode for achieving the technical problem is based on a body region including a plurality of elements, a plurality of reference marks included in the body region and composed of a plurality of predetermined elements, and based on the reference mark And a data area including a data element whose position is calculated, wherein each of the plurality of reference marks has a predetermined shape, and the plurality of elements constituting each of the plurality of reference marks are all expressed to have the same information. It is done.
상기 바디 영역은 미리 결정된 상기 다수 개에 의해 미리 결정된 크기를 갖는 것을 특징으로 할 수 있다.The body region may be characterized by having a predetermined size determined by the plurality of predetermined dogs.
상기 2차원 바코드는 상기 복수의 레퍼런스 마크 중 두 개의 레퍼런스 마크 사이에 위치하며, 상기 2차원 바코드의 스케일 정보를 표현하는 적어도 하나의 스케일 엘리멘트를 더 포함할 수 있다.The two-dimensional barcode may be located between two reference marks of the plurality of reference marks, and may further include at least one scale element representing scale information of the two-dimensional barcode.
상기 적어도 하나의 스케일 엘리멘트는 상기 두 개의 레퍼런스 마크 각각의 무게중심들을 연결하는 선상에 위치할 수 있다.The at least one scale element may be located on a line connecting the centers of gravity of each of the two reference marks.
상기 2차원 바코드는 상기 바디 영역 내의 미리 결정된 위치에 존재하며, 상기 2차원 바코드의 바코드 종류에 대한 정보를 표현하는 적어도 하나의 ID 엘리멘트를 더 포함할 수 있다.The two-dimensional barcode is present at a predetermined position within the body region, and may further include at least one ID element representing information on the barcode type of the two-dimensional barcode.
상기 바코드 종류에 대한 정보는 인코딩 정보, 바코드의 데이터 용량, 바디 영역의 모양, 또는 에러 정정 알고리즘의 종류에 대한 정보 중 적어도 하나를 포함할 수 있다.The information on the barcode type may include at least one of encoding information, a data capacity of the barcode, a shape of a body region, and information on a type of an error correction algorithm.
상기 데이터 영역은 상기 바디 영역의 컨투어(contour)에 위치할 수 있다.The data area may be located in a contour of the body area.
상기 기술적 과제를 해결하기 위한 2차원 바코드는 다수 개의 엘리멘트를 포함하는 바디 영역, 상기 바디 영역에 포함되며 미리 결정된 복수 개의 엘리멘트로 구성되는 복수의 레퍼런스 마크(Reference Mark), 및 상기 레퍼런스 마크에 기초하여 위치가 계산되는 데이터 엘리멘트를 포함하는 데이터 영역을 포함하며, 상기 데이터 영역은 상기 바디 영역의 컨투어에 위치하는 것을 특징으로 한다.The 2D barcode for solving the technical problem is based on a body region including a plurality of elements, a plurality of reference marks included in the body region and composed of a plurality of predetermined elements, and based on the reference mark. And a data area including a data element whose position is calculated, wherein the data area is located in the contour of the body area.
상기 기술적 과제를 해결하기 위한 2차원 바코드를 디코딩 하는 방법에 있어서,In the method for decoding a two-dimensional barcode for solving the technical problem,
다수의 엘리멘트(element)들을 포함하는 바디 영역에 포함되고, 동일한 정보를 갖도록 표현된 복수 개의 엘리멘트로 구성되어 특정 형상을 갖는 복수의 레퍼런스 마크를 검색되는 단계, 검색된 복수의 레퍼런스 마크 각각의 위치가 판단되는 단계, 판단된 각각의 무게중심의 위치에 기초하여 데이터 엘리멘트의 위치가 판단되는 단계, 및 판단된 위치에 존재하는 상기 데이터 엘리멘트가 표현하는 데이터가 디코딩되는 단계를 포함한다.Searching for a plurality of reference marks having a specific shape, comprising a plurality of elements included in a body region including a plurality of elements and having the same information, and determining positions of each of the found plurality of reference marks And determining the position of the data element based on the determined position of each center of gravity, and decoding the data represented by the data element existing at the determined position.
상기 검색된 복수의 레퍼런스 마크 각각의 위치가 판단되는 단계는 상기 복수의 레퍼런스 마크 각각의 무게중심의 위치가 판단되는 단계를 포함할 수 있다.The determining of the position of each of the found plurality of reference marks may include determining the position of the center of gravity of each of the plurality of reference marks.
상기 2차원 바코드 디코딩 방법은 미리 정해진 크기의 상기 바디 영역이 검색되는 단계를 더 포함할 수 있다.The two-dimensional barcode decoding method may further include searching for the body region having a predetermined size.
상기 2차원 바코드 디코딩 방법은 상기 미리 정해진 크기를 갖는 블록이 검색되는 단계, 검색된 상기 블록 내의 명암비율이 미리 정해진 범위에 있는지 판단되는 단계, 및 판단결과에 기초하여 상기 바디 영역인지 판단되는 단계를 포함할 수 있다.The two-dimensional barcode decoding method includes searching for a block having the predetermined size, determining whether a contrast ratio within the found block is within a predetermined range, and determining whether the body region is based on a determination result. can do.
상기 2차원 바코드 디코딩 방법은 상기 복수의 레퍼런스 마크 중 두 개의 레퍼런스 마크 사이에 위치하며, 상기 2차원 바코드의 스케일 정보를 표현하는 적어도 하나의 스케일 엘리멘트가 검색되는 단계를 더 포함할 수 있다.The two-dimensional barcode decoding method may further include searching for at least one scale element located between two reference marks among the plurality of reference marks and representing scale information of the two-dimensional barcode.
상기 2차원 바코드 디코딩 방법은 상기 바디 영역 내의 미리 결정된 위치에 존재하며, 상기 2차원 바코드의 바코드 종류에 대한 정보를 표현하는 적어도 하나의 ID 엘리멘트가 검색되는 단계를 더 포함할 수 있다.The two-dimensional barcode decoding method may further include searching for at least one ID element present at a predetermined position in the body region and representing at least one barcode element of the two-dimensional barcode.
상기 판단된 복수의 레퍼런스 마크 각각의 위치에 기초하여 데이터 엘리멘트의 위치가 판단되는 단계는, 상기 판단된 각각의 레퍼런스 마크의 위치에 기초하여 이미지 좌표계와 정규 좌표계 간의 변환행렬이 획득되는 단계 및 획득된 변환행렬과 상기 스케일 정보, 및 상기 바코드 종류에 대한 정보에 기초하여 상기 데이터 엘리멘트의 위치가 판단되는 단계를 포함할 수 있다.The determining of the position of the data element based on the determined position of each of the plurality of reference marks may include obtaining a transformation matrix between an image coordinate system and a normal coordinate system based on the determined position of each reference mark, and The position of the data element may be determined based on the transformation matrix, the scale information, and the information on the barcode type.
상기 기술적 과제를 해결하기 위한 2차원 바코드를 디코딩 하는 방법에 있어서, 다수의 엘리멘트(element)들을 포함하는 바디 영역에 포함되고, 데이터 엘리멘트의 위치를 찾기 위해 참조되는 복수의 레퍼런스 마크가 검색되는 단계, 검색된 복수의 레퍼런스 마크 각각의 위치에 기초하여 이미지 좌표계와 정규화 좌표계 간의 변환행렬이 획득되는 단계, 획득된 변환행렬을 이용하여 상기 바디 영역의 컨투어에 소정의 규칙에 따라 위치하는 데이터 엘리멘트의 이미지 좌표계에서의 위치가 판단되는 단계, 및 판단된 위치에 존재하는 상기 데이터 엘리멘트가 표현하는 데이터가 디코딩되는 단계를 포함한다.In the method for decoding a two-dimensional barcode for solving the technical problem, a step of searching for a plurality of reference marks included in the body region including a plurality of elements, referenced to find the position of the data element, Obtaining a transformation matrix between the image coordinate system and the normalized coordinate system based on the position of each of the retrieved reference marks, and using the obtained transformation matrix, in the image coordinate system of the data element positioned according to a predetermined rule in the contour of the body region by using the obtained transformation matrix Determining a location of the data signal and decoding the data represented by the data element existing at the determined location.
상기 바디 영역의 컨투어의 위치는 상기 바디 영역의 미리 결정된 위치에 존재하는 ID 엘리멘트에 의해 표현되는 정보에 의해 결정될 수 있다. 또한, 상기 소정의 규칙은 상기 복수의 레퍼런스 마크 사이에 위치하는 스케일 엘리멘트에 의해 표현될 수 있다. 상기 2차원 바코드 디코딩 방법은 프로그램을 기록한 컴퓨터 판독 가능한 기록매체에 저장될 수 있다.
The position of the contour of the body region may be determined by information represented by an ID element existing at a predetermined position of the body region. In addition, the predetermined rule may be represented by a scale element positioned between the plurality of reference marks. The two-dimensional barcode decoding method may be stored in a computer-readable recording medium recording a program.
본 발명의 실시 예에 따른 2차원 바코드 및 2차원 바코드 디코딩 방법은, 데이터의 위치를 판독하기 위해 참조되는 레퍼런스 마크가 특정 주파수 또는 특정 비율의 패턴을 갖는 것이 아니라 동일한 정보를 갖는 엘리멘트들로 구성되므로 미리 정해진 크기의 블록만 찾으면 되므로 빠른 시간 내에 간편하고 정확하게 상기 레퍼런스 마크를 검색할 수 있는 효과가 있다.In the two-dimensional barcode and the two-dimensional barcode decoding method according to an embodiment of the present invention, since the reference mark referenced to read the position of the data is composed of elements having the same information, rather than having a specific frequency or a specific ratio of patterns. Since only a block of a predetermined size needs to be found, the reference mark can be searched easily and accurately in a short time.
또한, 검색된 상기 레퍼런스 마크의 정확한 위치를 파악하기 위해 상기 레퍼런스 마크의 무게중심을 이용하므로, 상기 레퍼런스 마크가 오염 또는 훼손되는 경우에도 상대적으로 정확하게 상기 레퍼런스 마크의 정확한 위치를 파악할 수 있는 효과가 있다. In addition, since the center of gravity of the reference mark is used to determine the exact position of the searched reference mark, there is an effect that the exact position of the reference mark can be accurately identified even when the reference mark is contaminated or damaged.
또한, 상기 레퍼런스 마크의 무게중심을 판단하기 위해 상기 레퍼런스 마크에 포함된 엘리멘트의 좌표를 산술적으로 연산하기만 하면 되므로, 빠른 시간내에 상기 레퍼런스 마크의 위치를 판단해낼 수 있는 효과가 있다.Further, in order to determine the center of gravity of the reference mark, it is only necessary to arithmetically calculate the coordinates of the elements included in the reference mark, so that the position of the reference mark can be determined quickly.
또한, 상기의 레퍼런스 마크를 빠르게 검색하기 위해 미리 설정된 크기의 데이터 블록을 검색하고, 그 데이터 블록 내에서만 상기의 레퍼런스 마크를 찾으므로 소정의 장치(예컨대, 바코드 리더기)에 의해 인식된 전체 이미지 내에서 상기의 레퍼런스 마크를 검색하는 것에 비해 빠른 시간 내에 레퍼런스 마크를 검색할 수 있는 효과가 있다. In addition, in order to quickly search the reference mark, a data block having a predetermined size is searched, and the reference mark is found only in the data block, so that the entire image recognized by a predetermined device (e.g., a barcode reader) is searched. Compared to searching for the reference mark, the reference mark can be searched quickly.
또한, 데이터가 기록되는 영역(후술할 데이터 영역)에서 상기의 레퍼런스 마크와 동일한 패턴 또는 마크가 발생할 염려가 없어서 인코딩의 복잡도가 낮고 잘못된 패턴의 검색이 발생할 확률을 줄일 수 있는 효과가 있다.
In addition, since there is no fear that the same pattern or mark as the reference mark is generated in the area where data is recorded (data area to be described later), the encoding complexity is low and the probability of searching for the wrong pattern can be reduced.
본 발명의 상세한 설명에서 인용되는 도면을 보다 충분히 이해하기 위하여 각 도면의 간단한 설명이 제공된다.
도 1은 종래의 2차원 바코드의 일 예를 나타내는 도면이다.
도 2는 본 발명의 실시 예에 따른 2차원 바코드의 개략적인 구성을 설명하기 위한 도면이다.
도 3은 본 발명의 실시 예에 따른 2차원 바코드의 세부적인 구성을 설명하기 위한 도면이다.
도 4는 본 발명의 실시 예에 2차원 바코드의 레퍼런스 마크와 엘리멘트를 설명하기 위한 도면이다.
도 5는 본 발명의 실시 예에 따른 2차원 바코드의 디코딩 방법에서 엘리멘트의 위치를 찾는 방식을 설명하기 위한 도면이다.
도 6은 본 발명의 실시 예에 따른 2차원 바코드의 디코딩 방법에서 2차원 바코드에서 레퍼런스 마크를 검색하는 방식을 설명하기 위한 도면이다.
도 7은 본 발명의 실시 예에 따른 2차원 바코드 디코딩 방법을 설명하기 위한 개략적인 플로우 챠트를 나타내는 도면이다.BRIEF DESCRIPTION OF THE DRAWINGS A brief description of each drawing is provided to more fully understand the drawings recited in the description of the invention.
1 is a diagram illustrating an example of a conventional two-dimensional barcode.
2 is a view for explaining a schematic configuration of a two-dimensional barcode according to an embodiment of the present invention.
3 is a view for explaining the detailed configuration of a two-dimensional barcode according to an embodiment of the present invention.
4 is a view for explaining a reference mark and an element of a two-dimensional barcode in an embodiment of the present invention.
5 is a view for explaining a method of finding the position of the element in the decoding method of the two-dimensional bar code according to an embodiment of the present invention.
FIG. 6 is a diagram for describing a method of searching for a reference mark in a 2D barcode in a method of decoding a 2D barcode according to an exemplary embodiment of the present invention.
FIG. 7 is a schematic flowchart illustrating a two-dimensional barcode decoding method according to an exemplary embodiment of the present invention. Referring to FIG.
본 발명과 본 발명의 동작상의 이점 및 본 발명의 실시에 의하여 달성되는 목적을 충분히 이해하기 위해서는 본 발명의 바람직한 실시 예를 예시하는 첨부 도면 및 첨부 도면에 기재된 내용을 참조하여야만 한다.In order to fully understand the present invention, operational advantages of the present invention, and objects achieved by the practice of the present invention, reference should be made to the accompanying drawings and the accompanying drawings which illustrate preferred embodiments of the present invention.
또한, 본 명세서에 있어서는 어느 하나의 구성요소가 다른 구성요소로 데이터를 '전송'하는 경우에는 상기 구성요소는 상기 다른 구성요소로 직접 상기 데이터를 전송할 수도 있고, 적어도 하나의 또 다른 구성요소를 통하여 상기 데이터를 상기 다른 구성요소로 전송할 수도 있는 것을 의미한다. Also, in this specification, when any one element 'transmits' data to another element, the element may transmit the data directly to the other element, or may be transmitted through at least one other element And may transmit the data to the other component.
반대로 어느 하나의 구성요소가 다른 구성요소로 데이터를 '직접 전송'하는 경우에는 상기 구성요소에서 다른 구성요소를 통하지 않고 상기 다른 구성요소로 상기 데이터가 전송되는 것을 의미한다.Conversely, when one element 'directly transmits' data to another element, it means that the data is transmitted to the other element without passing through another element in the element.
이하, 첨부한 도면을 참조하여 본 발명의 바람직한 실시 예를 설명함으로써, 본 발명을 상세히 설명한다. 각 도면에 제시된 동일한 참조부호는 동일한 부재를 나타낸다.BEST MODE FOR CARRYING OUT THE INVENTION Hereinafter, the present invention will be described in detail with reference to the preferred embodiments of the present invention with reference to the accompanying drawings. Like reference symbols in the drawings denote like elements.
도 2는 본 발명의 실시 예에 따른 2차원 바코드의 개략적인 구성을 설명하기 위한 도면이다.2 is a view for explaining a schematic configuration of a two-dimensional barcode according to an embodiment of the present invention.
먼저, 도 2를 참조하면, 본 발명의 실시 예에 따른 2차원 바코드는 도 2와 같은 형상을 가질 수 있다. 물론, 도 2와 같은 형태 외에도 본 발명의 기술적 사상을 적용할 수 있는 모든 형태로 구현될 수도 있다. 또한, 도 2와 같은 형태의 2차원 바코드가 소정의 각도로 회전된 형태를 가질 수도 있다.First, referring to FIG. 2, a two-dimensional barcode according to an embodiment of the present invention may have a shape as shown in FIG. 2. Of course, in addition to the form as shown in Figure 2 may be implemented in any form to which the technical spirit of the present invention can be applied. In addition, the two-dimensional barcode of the form as shown in Figure 2 may have a form rotated at a predetermined angle.
본 발명의 실시 예에 따른 2차원 바코드를 좀 더 구체적으로 살펴보면, 본 발명의 실시 예에 따른 2차원 바코드는 바디 영역(100) 및 데이터 영역(200)을 포함한다. 상기 바디 영역(100)은 다수 개의 엘리멘트를 포함한다. 상기 바디 영역(100)에 포함된 각각의 엘리멘트는 미리 결정된 형상(예컨대, 정사각형)을 가질 수 있다. 또한, 상기 바디 영역(100)에는 복수 개의 레퍼런스 마크(예컨대, 110, 120, 130)가 포함될 수 있다. 상기 레퍼런스 마크(예컨대, 110, 120, 130)는 각각 미리 결정된 복수 개의 엘리멘트로 구성될 수 있다. 도 2b에서는 상기 레퍼런스 마크(예컨대, 110, 120, 130) 각각은 3×3 개의 엘리멘트로 구성되는 경우를 일 예로 나타낸다. 상기 바디 영역(100)에 포함되는 엘리멘트는 미리 결정된 형상(예컨대, 정사각형)을 가지며, 상기 레퍼런스 마크(예컨대, 110, 120, 130) 각각 역시 미리 결정된 형상을 가진다. 상기 레퍼런스 마크(예컨대, 110, 120, 130) 각각은 미리 결정된 개수의 엘리멘트로 구성되므로, 상기 레퍼런스 마크(예컨대, 110, 120, 130)는 미리 결정된 형상(예컨대, 정사각형)을 갖는 미리 결정된 개수(예컨대, 9개)의 엘리멘트로 구현될 수 있는 형상을 갖는다. 일반적으로 상기 레퍼런스 마크(예컨대, 110, 120, 130) 각각은 소정의 판독장치(예컨대, 스캐너, 바코드 리더장치)에 의해 읽어져서, 데이터가 기입된 엘리멘트의 위치를 판단하는데 참조될 수 있다. 따라서, 본 발명의 실시 예에 따른 2차원 바코드에 기록된 데이터를 정확하고 빠르게 판독하기 위해서는 상기 판독장치(미도시)에 의해 읽혀진 소정 크기의 형상이 상기 레퍼런스 마크(예컨대, 110, 120, 130)인지 아닌지 여부를 빠른 시간 내에 파악하는 것이 중요할 수 있다. 따라서, 상기 레퍼런스 마크(예컨대, 110, 120, 130) 미리 결정된 형상(예컨대, 정사각형)을 갖는 미리 결정된 개수(예컨대, 9개)의 엘리멘트로 구현될 수 있는 형상 중 대칭적인 형상을 갖는 것이 더 빠른 성능을 보일 수 있지만, 본 발명의 권리범위가 이에 한정되지는 않는다. 또한, 후술할 바와 같이 본 발명의 실시 예에 따른 2차원 바코드 디코딩 방법은 상기 레퍼런스 마크(예컨대, 110, 120, 130)를 각각 검색한 후, 검색된 상기 레퍼런스 마크(예컨대, 110, 120, 130)의 무게중심의 위치를 판단하게 되는데, 이를 위해서도 상기 레퍼런스 마크(예컨대, 110, 120, 130) 각각은 대칭적인 형상을 갖는 것이 더 빠른 성능을 보일 수 있다. 이하에서는 상기 엘리멘트가 정사각형의 형태를 가지면, 상기 레퍼런스 마크(예컨대, 110, 120, 130) 역시 정사각형의 형태를 가지는 경우를 일 예로 설명하지만, 본 발명의 권리범위는 본 명세서에서 기술되는 기술적 사상을 구현할 수 있는 모든 형태의 엘리멘트 및/또는 레퍼런스 마크를 포함할 수 있음을 본 발명의 기술분야의 평균적 전문가는 용이하게 추론할 수 있을 것이다.Looking at the two-dimensional barcode according to an embodiment of the present invention in more detail, the two-dimensional barcode according to an embodiment of the present invention includes a
상기 바디 영역(100)에는 상기 레퍼런스 마크(예컨대, 110, 120, 130)이외에도 적어도 하나의 스케일 엘리멘트(예컨대, 140, 141) 및/또는 적어도 하나의 ID 엘리멘트(예컨대, 150, 151)이 더 포함될 수 있다. The
상기 적어도 하나의 스케일 엘리멘트(예컨대, 140, 141)는 상기 2차원 바코드의 스케일 정보를 표현하는 엘리멘트일 수 있다. 예컨대, 상기 적어도 하나의 스케일 엘리멘트(예컨대, 140, 141)는 미리 정해진 특정 위치 예컨대, 두 개의 레퍼런스 마크(예컨대, 110, 120, 130) 각각의 무게중심들을 연결하는 선상에 위치에 존재할 수 있다. 따라서, 상기 선상에서 상기 적어도 하나의 스케일 엘리멘트(예컨대, 140, 141)가 어떠한 위치에 있는지에 따라 상기 2차원 바코드에 포함된 엘리멘트 각각의 크기 및/또는 데이터 영역(200)에 포함된 엘리멘트들 중에서 데이터 엘리멘트가 기록된 간격 등을 파악할 수 있다. The at least one scale element (eg, 140, 141) may be an element representing scale information of the two-dimensional barcode. For example, the at least one scale element (eg, 140, 141) may exist at a predetermined position, for example, on a line connecting the centers of gravity of each of the two reference marks (eg, 110, 120, 130). Accordingly, among the elements included in the size and / or
도 3은 본 발명의 실시 예에 따른 2차원 바코드의 세부적인 구성을 설명하기 위한 도면이다.3 is a view for explaining the detailed configuration of a two-dimensional barcode according to an embodiment of the present invention.
도 3에 도시된 바와 같이, 상기 바디 영역(100)에 포함된 복수의 레퍼런스 마크(예컨대, 110, 120, 130) 중 어느 두 개의 레퍼런스 마크(예컨대, 110, 120) 각각의 무게중심(111, 131)을 연결하는 선 상에 적어도 하나의 스케일 엘리멘트(예컨대, 140, 141)이 존재할 수 있다. 만약, 도 3에서 흰색은 0을 나타내고, 검은색은 1을 나타낸다면, 상기 선 상에 기록된 정보는 "0101"이 될 수 있다. 따라서, 상기 2차원 바코드는 데이터 영역(200)에 포함된 엘리멘트들 중 어느 한 데이터 엘리멘트를 기준으로 한 엘리멘트씩 건너서 데이터 엘리멘트가 있음을 나타낼 수 있다. As illustrated in FIG. 3, the center of
또한, 구현 예에 따라 상기 스케일 엘리멘트(예컨대, 140, 141)는 상기 2차원 바코드에 포함된 엘리멘트의 크기 또는 서로 연속된 엘리멘트 간의 간격을 파악하는데에도 사용될 수 있다. 예컨대, 어느 두 개의 레퍼런스 마크(예컨대, 110, 120)(또는 무게중심(111, 131)) 사이의 거리는 미리 정해져 있을 수 있다. 그리고 상기 스케일 엘리멘트(예컨대, 140, 141)는 도 3에 도시된 바와 같이 한 엘리멘트씩 건너서 기록되도록 미리 설정되어 있다면, 미리 정해진 레퍼런스 마크(예컨대, 110, 120)(또는 무게중심(111, 131)) 사이의 거리와 그 사이에 존재하는 스케일 엘리멘트(예컨대, 140, 141)의 개수를 파악함으로써 상기 레퍼런스 마크(예컨대, 110, 120)(또는 무게중심(111, 131))에 총 몇 개의 엘리멘트가 있는지를 파악할 수 있다. 따라서, 어느 하나의 엘리멘트의 크기 또는 하나의 엘리멘트에서 다음 엘리멘트 까지의 거리가 파악될 수 있다. In addition, according to an embodiment, the scale elements (eg, 140 and 141) may be used to determine the size of the elements included in the two-dimensional barcode or the spacing between successive elements. For example, the distance between any two reference marks (eg, 110, 120) (or the center of
상기 레퍼런스 마크(예컨대, 110, 120, 130)각 도 2 내지 도 3에 도시된 바와 같이 3개 존재하는 경우, 상기 적어도 하나의 스케일 엘리멘트는 제1레퍼런스 마크(110)와 제2레퍼런스 마크(120) 사이에 일정 개(예컨대, 140, 141) 존재할 수 있다, 상기 제1레펀스 마크(110)와 제3레퍼런스 마크(130) 사이에 일정 개(예컨대, 142, 143) 존재할 수 있다. When there are three reference marks (eg, 110, 120, and 130) as shown in FIGS. 2 to 3, the at least one scale element includes the
상기 ID 엘리멘트(예컨대, 150, 151)는 본 발명의 실시 예에 따른 2차원 바코드의 바코드 종류에 대한 정보를 표현할 수 있다. 상기 바코드 종류에 대한 정보는, 상기 데이터 영역(200)에 기록된 데이터의 인코딩 종류에 대한 정보, 상기 2차원 바코드의 데이터 용량 또는 크기, 상기 바디 영역(100)의 모양, 및/또는 상기 2차원 바코드가 사용하는 에러 정정 알고리즘에 대한 정보 중 적어도 하나를 포함할 수 있다. The ID elements (eg, 150 and 151) may express information on a barcode type of a two-dimensional barcode according to an embodiment of the present invention. The barcode type information may include information on an encoding type of data recorded in the
인코딩 종류에 대한 정보는 널리 알려진 바와 같이 데이터를 바이너리 데이터로 표현할 수 있는 여러 종류의 인코딩 알고리즘의 종류 중 상기 2차원 바코드가 사용하는 인코딩 종류에 대한 정보를 포함할 수 있다.The information on the encoding type may include information on the encoding type used by the two-dimensional barcode among various types of encoding algorithms capable of representing data as binary data, as is well known.
또한, 상기 2차원 바코드의 데이터 용량 또는 크기는 본 발명의 실시 예에 따른 2차원 바코드는 여러 종류의 크기를 가질 수 있는데, 판독장치(미도시)에 의해 현재 읽혀지고 있는 상기 2차원 바코드는 어떤 크기를 갖는지에 대한 정보가 상기 ID 엘리멘트(예컨대, 150, 151)에 의해 표현될 수 있다. In addition, the data capacity or size of the two-dimensional barcode may have a variety of sizes of the two-dimensional barcode according to an embodiment of the present invention, the two-dimensional barcode currently being read by a reader (not shown) Information about whether it has a size may be represented by the ID elements (eg, 150, 151).
또한, 본 발명의 실시 예에 따른 2차원 바코드는 도 2 또는 도 3에 도시된 바와는 다른 형태의 다양한 형상 또는 모양을 가질 수도 있다. 예컨대, 삼각형이나 원형 등의 다양한 폐곡선 또는 폴리곤의 형태를 가질 수 있는데, 상기 2차원 바코드의 형상 즉, 바디 영역(100)의 모양에 대한 정보도 상기 ID 엘리멘트(예컨대, 150, 151)에 의해 표현될 수 있다.In addition, the two-dimensional barcode according to an embodiment of the present invention may have various shapes or shapes different from those shown in FIG. 2 or 3. For example, it may have various closed curves or polygons such as triangles or circles, and information about the shape of the two-dimensional barcode, that is, the shape of the
또한, 상기 2차원 바코드는 오염 또는 훼손에 의해 데이터 영역(200)에 기록되는 데이터가 손실될 수 있는데, 이를 복원하기 위해 소정의 에러 정정 알고리즘을 위한 에러 정정 데이터가 상기 데이터 영역(200)에 더 기록될 수 있다. 에러 정정 알고리즘 역시 다양한 종류가 있는데, 이 중 상기 2차원 바코드에서 사용하는 에러 정정 알고리즘에 대한 정보가 상기 ID 엘리멘트(예컨대, 150, 151)에 의해 표현될 수 있다. In addition, the data recorded in the
구현 예에 따라 상기 ID 엘리멘트(예컨대, 150, 151)에 의해 표현되는 바코드 종류에 대한 정보 즉, 인코딩 정보, 바코드의 데이터 용량, 바디 영역의 모양, 및/또는 에러 정정 알고리즘의 종류에 대한 정보는 하나의 셋트로 표현될 수 있다. 예컨대, ID 엘리멘트(예컨대, 150, 151)는 상기 바디 영역(100)내의 미리 지정된 위치에 존재할 수 있는데, ID 엘리멘트(예컨대, 150, 151)가 2 개이고, 판독장치(미도시)를 통해 미리 지정된 위치에 있는 엘리멘트 즉, ID 엘리멘트(예컨대, 150, 151)의 값을 읽은 결과 "11"인 경우, "11"에 대응되는 바코드의 종류 즉, 인코딩 정보, 바코드의 데이터 용량, 바디 영역의 모양, 및 에러 정정 알고리즘의 종류에 대한 정보가 미리 상기 판독장치(미도시)에 저장되어 있을 수 있다. 상기 판독장치(미도시)가 네트워크에 연결되어 소정의 데이터 처리시스템과 데이터 통신이 가능한 경우에는 상기 데이터 처리시스템에 상기 "11"에 대응되는 바코드의 종류가 저장되어 있을 수도 있다.According to an embodiment, the information on the barcode type represented by the ID elements (eg, 150 and 151), that is, the encoding information, the data capacity of the barcode, the shape of the body region, and / or the type of the error correction algorithm may be It can be expressed as a set. For example, ID elements (eg, 150, 151) may be present at a predetermined location within the
따라서, 본 발명의 실시 예들 중 하나의 2차원 바코드 디코딩 방법에 의하면 소정의 판독장치(미도시)가 상기 레퍼런스 마크(예컨대, 110, 120, 130)를 검색하고, 검색된 상기 레퍼런스 마크(예컨대, 110, 120, 130) 사이에 존재하는 스케일 엘리멘트(예컨대, 140, 141)를 검색하여 엘리멘트의 크기 또는 간격을 파악한 후, 파악된 정보를 이용하여 ID 엘리멘트(예컨대, 150, 151)의 값 또는 데이터 영역(200)에 존재하는 데이터 엘리멘트들의 값을 판독할 수 있다.Therefore, according to the two-dimensional barcode decoding method of one of the embodiments of the present invention, a predetermined reading device (not shown) searches for the reference marks (eg, 110, 120, 130), and the retrieved reference marks (eg, 110). The size or spacing of the elements by searching for the scale elements (eg, 140 and 141) existing between the
상기 레퍼런스 마크(예컨대, 110, 120, 130)각 도 2 내지 도 3에 도시된 바와 같이 3개 존재하는 경우, 상기 적어도 하나의 ID 엘리멘트는 제1레퍼런스 마크(110)와 제2레퍼런스 마크(120) 사이에 일정 개(예컨대, 150, 151) 존재할 수 있다, 상기 제1레펀스 마크(110)와 제3레퍼런스 마크(130) 사이에 일정 개(예컨대, 152, 153) 존재할 수 있다. When there are three reference marks (eg, 110, 120, and 130) as shown in FIGS. 2 to 3, the at least one ID element includes the
한편, 상기 데이터 영역(200)은 상기 2차원 바코드에 의해 기록된 데이터의 값을 표현하는 데이터 엘리멘트(예컨대, 10, 11)이 포함되는 영역일 수 있다. 본 발명의 실시 예에 따른 상기 데이터 영역(200)은 상기 바디 영역(100)의 컨투어에 위치할 수 있다. 즉, 상기 바디 영역(100)의 외곽선을 따라 존재할 수 있다. 상기 데이터 영역(200)은 도 2 내지 도 3에 도시된 바와 같이 하나의 엘리멘트 폭 만을 가질 수도 있지만, 복수 개의 엘리멘트 폭을 가지도록 구현될 수도 있다. 바람직하게는 상기 레퍼런스 마크(예컨대, 110, 120, 130) 각각의 폭(예컨대, 3개의 엘리멘트 폭) 보다는 작은 폭(예컨대, 2 개의 엘리멘트 폭)을 가지도록 구현되는 것이 바람직할 수 있다. 따라서, 상기 데이터 영역(200)에 특별한 필터링 또는 매스킹을 하지 않고 데이터를 기입하더라도 상기 레퍼런스 마크(예컨대, 110, 120, 130)와 동일한 형태의 패턴 또는 모양이 나타나지 않을 수 있다.The
또한, 상기 데이터 영역(200)이 상기 바디 영역(100)의 컨투어에 존재하게 되는 경우, 상기 바디 영역(100)에는 레퍼런스 마크(예컨대, 110, 120, 130), 스케일 엘리멘트(예컨대, 140, 141), ID 엘리멘트(예컨대, 150, 151) 등과 같은 특별한 정보를 제외하고는 데이터가 기입되지 않을 수 있다. 따라서, 데이터 용량이 미리 정해진 본 발명의 실시 예에 따른 2차원 바코드는 상기 바디 영역(100)의 크기가 미리 결정될 수 있고, 상기 바디 영역(100)에 포함된 동일한 종류의 엘리멘트의 개수도 미리 결정될 수 있게 된다. 예컨대, 흰색 엘리멘트가 '0'을 나타내고, 검은색엘리멘트가 '1'을 나타내도록 구현되는 본 발명의 실시 예에 따른 2차원 바코드에서는 도 2 내지 도 3에 도시된 바와 같이 상기 바디 영역(100)에는 검은색 엘리멘트는 한정된 개수 만이 존재하고, 나머지는 모두 흰색 엘리멘트를 갖게 된다. 따라서, 본 발명의 실시 예에 따른 2차원 바코드의 바디 영역(100)은 미리 결정된 일정한 크기를 가지면서도, 그 안에 존재하는 동일한 정보를 표현하는 엘리멘트(예컨대, 흰색 엘리멘트)의 개수 또는 동일한 정보를 표현하는 엘리멘트들로 이루어지는 형상의 크기 역시 일정할 수 있는 특징이 있다. 따라서, 후술할 바와 같이 본 발명의 실시 예에 따른 2차원 바코드 디코딩 방법에 의하면, 판독장치(미도시)에 의해 스캐닝 된 이미지에서 동일한 색(실질적으로 색은 다르지만 동일한 정보로 처리되는 색)을 가지고, 일정한 크기를 갖는 블록을 검색할 수 있다. 그리고, 상기 블록이 상기 2차원 바코드의 바디 영역(100)인지를 판단할 수 있는데, 이때 상기 블록 내에 명암비율이 미리 정해진 수치 범위에 있는지를 판단함으로써 상기 블록이 상기 2차원 바코드의 바디 영역(100)인지를 판단할 수 있다. In addition, when the
이에 비해 도 1에 도시된 바와 같은 종래의 2차원 바코드는 일정한 크기 또는 개수의 동일한 정보를 표현하는 엘리멘트가 존재할 수가 없게 되는데, 이는 종래의 2차원 바코드에는 본 발명의 실시 예에 따른 바디 영역(100)에 대응되는 영역에 데이터가 기입되기 때문에, 기입되는 데이터의 종류에 따라 상기 동일한 정보를 표현하는 엘리멘트(예컨대, 흰색 엘리멘트)의 개수가 달라질 수 밖에 없다. On the contrary, in the conventional two-dimensional barcode as shown in FIG. 1, an element representing the same information of a certain size or number cannot exist, which is a
따라서, 본 발명의 실시 예에 따른 2차원 바코드 디코딩 방법에 의하면, 스캐닝된 이미지 전체에서 먼저 상기 블록의 존재 유무만을 판단하면 되고, 존재하는 경우에만 상기 블록 내에서 필요한 패턴(예컨대, 레퍼런스 마크(예컨대, 110, 120, 130))을 검색하면 되는 효과가 있다. 하지만, 종래의 2차원 바코드의 경우에는 스캐닝된 이미지 전체를 엘리멘트 단위로 일일이 스캐닝하여야 레퍼런스 마크(예컨대, 파인더 패턴)를 검색할 수 있으므로 레퍼런스 마크 검색이 늦게 되고, 그에 따라 데이터의 디코딩 속도도 늦을 수 있다. 더욱이 종래의 2차원 바코드는 레퍼런스 마크가 특정 주파수 패턴(예컨대, 1:1:3:1:1의 흑백 폭 비율)을 가지므로, 상기 특정 주파수 패턴을 갖는지 아닌지를 판단하는데 오래 시간이 걸릴 수 있고, 상기 특정 주파수 패턴인지 아닌지 판단 자체에 오류가 발생할 수도 있다. 또한, 레퍼런스 마크(예컨대, 파인더 패턴)가 일부만 오염이나 훼손되더라도 레퍼런스 마크로 인식되지 못하게 될 확률이 높아지게 된다. 하지만, 본 발명의 실시 예에 따른 2차원 바코드에서는 레퍼런스 마크(예컨대, 110, 120, 130)는 특정 주파수 패턴 또는 특정 명암 비율을 갖는 형태가 아니라 단순히 동일한 색(동일한 정보로 처리되는 색)을 갖는 특정 크기의 형태만을 검색하면 되므로, 레퍼런스 마크(예컨대, 110, 120, 130) 자체의 검색이 상대적으로 매우 빠른 시간에 수행될 수 있다. 또한, 상술한 바와 같이 판독장치(미도시)에 의해 스캐닝된 이미지 전체 중 검색된 상기 블록 내에서만 상기 레퍼런스 마크(예컨대, 110, 120, 130)가 있는지 여부를 판단하면 되므로 더욱 효과적일 수 있다. 또한, 후술할 바와 같이 검색된 상기 레퍼런스 마크(예컨대, 110, 120, 130)의 정확한 위치를 무게중심을 이용하여 판단하는 경우, 계산이 용이할 뿐만 아니라 일부의 오염 또는 훼손이 있더라도 위치 판단에 오류 발생이 적어질 수 있는 효과가 있다.Therefore, according to the two-dimensional barcode decoding method according to an embodiment of the present invention, it is only necessary to first determine the existence of the block in the entire scanned image, and only if it exists, a pattern (eg, a reference mark (for example, , 110, 120, 130)). However, in the case of the conventional two-dimensional barcode, the reference mark (for example, a finder pattern) can be searched by scanning the entire scanned image one by one, and thus the reference mark search is slowed, and thus the decoding speed of data may be slowed. have. Furthermore, conventional two-dimensional barcodes may take a long time to determine whether or not the reference mark has a specific frequency pattern (eg, a monochrome width ratio of 1: 1: 3: 1: 1). In addition, an error may occur in the determination itself whether or not the specific frequency pattern. In addition, even if only part of the reference mark (for example, the finder pattern) is contaminated or damaged, the probability of not being recognized as the reference mark increases. However, in the two-dimensional bar code according to an embodiment of the present invention, the reference marks (eg, 110, 120, and 130) may not have a specific frequency pattern or a specific contrast ratio but simply have the same color (the color processed with the same information). Since only a shape of a specific size needs to be searched, a search of a reference mark (eg, 110, 120, 130) itself may be performed at a relatively very fast time. In addition, as described above, it may be more effective since it is necessary to determine whether the reference mark (eg, 110, 120, 130) exists only in the block searched among the images scanned by the reading apparatus (not shown). In addition, when determining the exact position of the searched reference mark (for example, 110, 120, 130) using the center of gravity as described below, not only the calculation is easy but also an error occurs in the position determination even if there is some contamination or damage. This has the effect of being less.
또한, 데이터 엘리멘트들(예컨대, 10, 11)이 상기 바디 영역(100)의 컨투어에 위치하는 경우, 즉, 상기 컨투어에 데이터가 기입되는 경우, 바디 영역(100)의 xy 축의 크기가 조금만 늘어나도 데이터 영역(200)이 많이 늘어나게 되는 효과가 있다. 또한, 컨투어에 데이터가 기입되는 경우, 데이터가 기입될 때, 레퍼런스 마크(예컨대, 110, 120, 130)와 동일한 패턴이 기입되는지 여부를 일일이 검색할 필요가 없게 된다. 물론, 이때에는 컨투어의 폭이 레퍼런스 마크(예컨대, 110, 120, 130)의 폭보다 좁은 것이 바람직하다.In addition, when data elements (eg, 10 and 11) are located in the contour of the
도 4는 본 발명의 실시 예에 2차원 바코드의 레퍼런스 마크와 엘리멘트를 설명하기 위한 도면이다.4 is a view for explaining a reference mark and an element of a two-dimensional barcode in an embodiment of the present invention.
도 3 및 도 4를 참조하면, 본 발명의 실시 예에 따른 2차원 바코드에 포함된 레퍼런스 마크(예컨대, 110, 120, 130)는 동일한 정보(예컨대, 흑색에 대응되는 정보)를 갖는 복수 개(예컨대, 9개)의 엘리멘트로 구성될 수 있다. 또한, 상기 레퍼런스 마크(예컨대, 110, 120, 130)는 미리 결정된 특정 형상(예컨대, 정사각형)을 갖도록 설정될 수 있다. 상기 특정 형상은 전술한 바와 같이 대칭적 형상(예컨대, 상하 좌우 대칭)을 갖는 것이 무게중심의 위치를 판단하는데 효과적일 수 있다. 3 and 4, a plurality of reference marks (eg, 110, 120, and 130) included in a two-dimensional bar code according to an embodiment of the present invention have the same information (eg, information corresponding to black). For example, it may consist of nine elements. In addition, the reference marks (eg, 110, 120, 130) may be set to have a predetermined specific shape (eg, square). The specific shape may have an symmetrical shape (eg, up, down, left and right symmetry) as described above, which may be effective in determining the position of the center of gravity.
본 발명의 실시 예에 따른 2차원 바코드 디코딩 방법은 상기 2차원 바코드의 레퍼런스 마크(예컨대, 110, 120, 130)를 검색하고, 검색된 레퍼런스 마크(예컨대, 110, 120, 130)의 위치를 판단하기 위해 검색된 레퍼런스 마크(예컨대, 110, 120, 130)의 무게중심(예컨대, 111, 121, 131)의 위치를 판단할 수 있다. 무게중심(예컨대, 111, 121, 131)의 위치를 판단하기 위해서는 상기 레퍼런스 마크(예컨대, 110, 120, 130) 내에 위치한 좌표들을 산술적으로 평균하면 용이하게 획득할 수 있으므로 빠른 시간 내에 상대적으로 정확한 상기 레퍼런스 마크(예컨대, 110, 120, 130)의 위치를 얻을 수 있다. 또한, 상기 레퍼런스 마크(예컨대, 110, 120, 130)의 위치를 정확하게 계산하여야 정확한 데이터의 디코딩이 가능해지는데, 무게중심(예컨대, 111, 121, 131)을 이용하여 위치를 계산하는 경우, 상기 레퍼런스 마크(예컨대, 110, 120, 130)가 일부 오염되거나 훼손되더라도 상대적으로 정확하게 상기 위치를 계산할 수 있는 효과가 있다.In the 2D barcode decoding method according to an exemplary embodiment of the present invention, a reference mark (eg, 110, 120, 130) of the 2D barcode is searched, and the position of the retrieved reference mark (eg, 110, 120, 130) is determined. For example, the position of the center of gravity (eg, 111, 121, 131) of the searched reference marks (eg, 110, 120, 130) may be determined. In order to determine the position of the center of gravity (eg, 111, 121, 131), arithmetic average of coordinates located in the reference mark (eg, 110, 120, 130) can be easily obtained, so that the relatively accurate The positions of the reference marks (eg, 110, 120, 130) can be obtained. In addition, it is possible to accurately decode data only by accurately calculating the positions of the reference marks (eg, 110, 120, and 130). In the case of calculating the position using a center of gravity (eg, 111, 121, and 131), the reference Even if the marks (eg, 110, 120, 130) are partially contaminated or damaged, there is an effect of calculating the position relatively accurately.
이처럼 각각의 레퍼런스 마크(예컨대, 110, 120, 130)의 무게중심(예컨대, 111, 121, 131)의 위치를 정확하게 찾아야만, 상기 2차원 바코드의 각각의 엘리멘트의 위치를 정확하게 찾을 수 있게 되는데 이는 도 5에서 설명하도록 한다.As such, the position of each element of the two-dimensional barcode can be accurately found only by accurately finding the position of the center of gravity (eg, 111, 121, 131) of each reference mark (eg, 110, 120, and 130). It will be described in FIG.
도 5는 본 발명의 실시 예에 따른 2차원 바코드의 디코딩 방법에서 엘리멘트의 위치를 찾는 방식을 설명하기 위한 도면이다.5 is a view for explaining a method of finding the position of the element in the decoding method of the two-dimensional bar code according to an embodiment of the present invention.
도 5를 참조하면, 본 발명의 실시 예에 따른 2차원 바코드 디코딩 방법을 위해서 소정의 판독장치(미도시)를 통해 스캐닝된 이미지 좌표계(300)가 도 5에 도시된 바와 같을 수 있다. 그러면, 스캐닝 된 이미지 계(300)는 소정의 변환행렬에 의해 정규 좌표계(310)로 변환될 수 있다. 따라서, 상기 이미지 좌표계(300)에서 상기 정규 좌표계(310)로 또는 상기 정규 좌표계(310)에서 상기 이미지 좌표계(300)로의 변환행렬(f)을 구할 수 있으면, 데이터 엘리멘트들(예컨대, 10, 11)이 위치한 데이터 영역(200)의 위치를 상기 이미지 좌표계(300)에서 정확하게 알 수 있다. 또한, 상기 스케일 엘리멘트(예컨대, 140, 141)를 판독하여 얻은 스케일 정보에 따라, 실제 데이터가 기록된 데이터 엘리멘트들(예컨대, 10, 11)이 정확히 상기 이미지 좌표계(300)에서 어떠한 위치에 존재하는지를 정확히 판단할 수 있다. 또는 기타 필요한 다양한 엘리멘트의 위치를 정확하게 판단할 수도 있다. 이처럼 상기 변환행렬(f)을 구하면, 구해진 변환행렬(f)과 스케일 정보, 및/또는 바코드 종류에 대한 정보(즉, 바코드의 크기 또는 모양)를 이용하여 정규 좌표계(310)에서 미리 정해진 특정 위치에 존재하는 엘리멘트가 판독장치(미도시)를 통해 획득된 상기 이미지 좌표계(300)에서 어떠한 위치에 존재하는지를 알 수 있고, 따라서 해당 위치에 있는 엘리멘트의 값을 판독하여 정확하게 데이터를 읽을 수 있다.Referring to FIG. 5, an image coordinate
상기 변환행렬(f)을 유니크(unique) 하게 획득하기 위해서는 3개 이상의 레퍼런스 마크(예컨대, 110, 120, 130)가 존재하는 것이 바람직할 수 있다. 만약 2개의 레퍼런스 마크(예컨대, 110, 120)만 존재한다면, 상응하는 변환행렬(f)은 2개 존재할 수 있게 된다. 따라서, 레퍼런스 마크(예컨대, 110, 120, 130)는 3개 이상인 것이 바람직할 수 있다. In order to uniquely obtain the transformation matrix f, three or more reference marks (eg, 110, 120, and 130) may be present. If only two reference marks (eg, 110 and 120) exist, two corresponding transformation matrices may exist. Therefore, it may be desirable to have three or more reference marks (eg, 110, 120, 130).
예컨대, 이미지 좌표계(300)에서 획득된 무게중심(예컨대, 111, 121, 131)들의 좌표가 각각 (x1, y1), (x2, y2), (x3, y3)이고, 정규 좌표계(310)에서 미리 정해진 무게중심들 각각의 좌표가 (X1, Y1), (X2, Y2), (X3, Y3)라면, 이미지 좌표계(300)의 각각의 무게중심(예컨대, 111, 121, 131)들의 좌표를 상기 정규 좌표계(310)의 무게중심들 각각으로 변환하는 유니크 한 변환행렬을 획득할 수 있다.For example, the coordinates of the centers of gravity (eg, 111, 121, and 131) obtained in the image coordinate
이를 수식으로 나타내면 먼저, 이미지 좌표계(300)에서 정규 좌표계로의 변환은 다음과 같은 수식으로 표현될 수 있다.If this is expressed as an equation, the conversion from the image coordinate
수학식 1에서 a, b, c, d, e, f를 구하면 상기 유니크 한 변환행렬을 획득할 수 있다. 이를 위해, 수학식 1을 다른 형태로 표현하면 상기 변환행렬은 다음과 같이 표현될 수 있다.By obtaining a, b, c, d, e, and f in
수학식 2에 이미지 좌표계(300)에서 획득된 무게중심(예컨대, 111, 121, 131)들의 좌표들 각각 (x1, y1), (x2, y2), (x3, y3)과, 정규 좌표계(310)에서 미리 정해진 무게중심들 각각의 좌표 (X1, Y1), (X2, Y2), (X3, Y3)를 대입하면 다음과 같을 수 있다.Equation 2 (x1, y1), (x2, y2), (x3, y3) and coordinates of the center of gravity (for example, 111, 121, 131) obtained in the image coordinate
수학식 3을 변환하면, 다음과 같이 a, b, c, d, e, f 각각을 구할 수 있다.By converting Equation 3, each of a, b, c, d, e, and f can be obtained as follows.
따라서, 수학식 4를 이용해 a, b, c, d, e, f 각각을 구하면 유니크한 변환 행행렬(f)를 구할 수 있다. 또한 변환행렬(f)을 이용하여 본 발명의 실시 예에 따른 2차원 바코드는 정확하게 디코딩될 수 있다.Therefore, if each of a, b, c, d, e, and f is obtained using Equation 4, a unique transform matrix f can be obtained. In addition, the two-dimensional barcode according to an embodiment of the present invention can be correctly decoded using the transformation matrix f.
도 6은 본 발명의 실시 예에 따른 2차원 바코드의 디코딩 방법에서 2차원 바코드에서 레퍼런스 마크를 검색하는 방식을 설명하기 위한 도면이다.FIG. 6 is a diagram for describing a method of searching for a reference mark in a 2D barcode in a method of decoding a 2D barcode according to an exemplary embodiment of the present invention.
도 6을 참조하여 본 발명의 실시 예에 따른 2차원 바코드 디코딩 방법에 의해 2차원 바코드에서 레퍼런스 마크를 검색하는 방식을 설명하면, 전술한 바와 같이 본 발명의 실시 예에 따른 2차원 바코드는 동일한 정보를 표현하는 엘리멘트들의 모임인 바디 영역(100)을 포함하고 있으므로, 소정의 판독장치(미도시) 또는 이와 연결된 소정의 데이터 처리 시스템(미도시)은 상기 판독장치(미도시)에 의해 스캐닝 된 이미지에서 일정 크기의 형상 또는 엘리멘트들의 모임인 블록을 먼저 검색할 수 있다. Referring to FIG. 6, a method of searching for a reference mark in a 2D barcode by a 2D barcode decoding method according to an embodiment of the present invention will be described. As described above, the 2D barcode according to the embodiment of the present invention has the same information. Since it includes a
이때 상기 일정 크기의 형상은 도 6a 내지 도 6c와 같이 다양한 형상을 가지고 있을 수 있는데, 이는 실제로 본 발명의 실시 예에 따른 2차원 바코드가 다양한 형상을 가질 수 있기 때문이다. 또한, ID 엘리멘트(예컨대, 150, 151)를 판독하기 전까지는 현재 판독하고자 하는 2차원 바코드가 어떠한 형상을 가진 바코드인지 알 수 없기 때문에 일단은 형상과는 무관하게 미리 결정된 크기를 갖는 소정의 형상 또는 엘리멘트 블록을 검색할 수 있다. 이때 미리 결정된 크기는 하나가 아니라, 본 발명의 실시 예에 따른 2차원 바코드가 가질 수 있는 여러 개의 크기일 수 있다. 또한, 스캐닝된 이미지 내에서 2차원 바코드가 아니지만 우연히 상기 미리 결정된 크기의 형상이 있을 수도 있음은 물론이다.In this case, the predetermined size may have various shapes as shown in FIGS. 6A to 6C, since the two-dimensional barcode according to the embodiment of the present invention may have various shapes. In addition, since it is not possible to know what shape the two-dimensional barcode to be read is until the ID element (for example, 150 or 151) is read, a predetermined shape having a predetermined size regardless of the shape or You can search for element blocks. In this case, the predetermined size may not be one, but may be a plurality of sizes that the two-dimensional barcode according to an embodiment of the present invention may have. It is also understood that although there is no two-dimensional barcode in the scanned image, there may be accidentally shaped the predetermined size.
따라서, 본 발명의 실시 예에 따른 2차원 바코드 디코딩 방법은 레퍼런스 마크(예컨대, 110, 120, 130)를 검색하기 위해 일단 상기 미리 결정된 크기의 블록을 스캐닝된 이미지 내에서 먼저 검색할 수 있다. 검색된 결과는 도 6a, 도 6b, 또는 도 6c 중 어느 하나일 수 있다.Accordingly, the 2D barcode decoding method according to an embodiment of the present invention may first search the block of the predetermined size within the scanned image to search for reference marks (eg, 110, 120, and 130). The search result may be one of FIG. 6A, 6B, or 6C.
먼저, 검색된 블록이 도 6a인 경우를 일 예로 살펴보면, 판독장치(또는 이와 연결된 데이터 처리시스템)는 도 6a와 같이 검색된 상기 블록 내에 위치한 각각의 엘리멘트 또는 화소들 전체의 명암비율(또는 데이터 비율)이 미리 결정된 수치 범위내에 있는지를 판단할 수 있다. 예컨대, 흰색(밝은색) 즉, 밝은 엘리멘트는 0을 표현하고, 검은색(어두운색) 즉, 어두운 엘리멘트는 1을 표현할 수 있는데, 도 3에서 도시된 바와 같이 본 발명의 실시 예에 따른 2차원 바코드는 바디 영역(100)의 컨투어에 데이터 엘리멘트들(예컨대, 10, 11)이 존재하고, 바디 영역(100)의 내부에는 미리 결정된 특정 엘리멘트들(예컨대, 레퍼런스 마크(예컨대, 110, 120, 130), 스케일 엘리멘트(예컨대, 140, 141), ID 엘리멘트(예컨대, 150, 151))만이 소정의 데이터(예컨대, 1)을 표현하도록 인쇄되거나 디스플레이될 수 있다. 따라서, 바디 영역(100)만을 보면 바디 영역(100)에 포함된 전체 엘리멘트들 중에서 검은색(어두운 색) 엘리멘트들의 비율과 흰색(밝은 색) 엘리멘트들의 비율은 바디 영역(100)의 크기가 일정한 경우, 항상 일정한 비율을 갖게 될 수 있다. First, referring to FIG. 6A, the read block (or a data processing system connected thereto) may have a contrast ratio (or data rate) of all elements or pixels located in the searched block as shown in FIG. 6A. It can be determined whether it is within a predetermined numerical range. For example, a white (light) color, that is, a bright element may represent 0, and a black (dark) color, ie, a dark element, may represent 1, as shown in FIG. 3. The barcode has data elements (e.g., 10, 11) in the contour of the
따라서, 상기 판독장치(미도시)는 검색된 블록 내에 위치한 화소 또는 엘리멘트들이 표현하는 색(명암, 또는 데이터)의 비율을 계산해보고, 계산된 비율이 미리 설정된 수치범위 내인지를 판단할 수 있다. 예컨대, 도 6a와 같은 블록이 검색되었다고 하더라도, 상기 블록 내에는 모두 동일한 색 또는 명암을 갖는 화소 또는 엘리멘트가 존재하므로 상기 판독장치는 상기 블록(도 6a)은 2차원 바코드가 아니라고 판단할 수 있다. 따라서, 상기 블록(도 6a) 내에서는 레퍼런스 마크(예컨대, 110, 120, 130)의 검색을 수행하지 않을 수 있다. Accordingly, the reading apparatus (not shown) may calculate a ratio of colors (contrast, or data) represented by pixels or elements located in the searched block, and determine whether the calculated ratio is within a preset numerical range. For example, even if a block such as FIG. 6A is searched, since the pixels or elements having the same color or contrast all exist within the block, the reading apparatus may determine that the block (FIG. 6A) is not a two-dimensional barcode. Accordingly, the search of the reference marks (eg, 110, 120, 130) may not be performed in the block (FIG. 6A).
검색된 도 6b도 마찬가지로 미리 결정된 크기의 블록으로써 상기 판독장치에 의해 검색될 수 있지만, 미리 설정된 명암비율을 만족하지 않으므로 상기 판독장치는 상기 블록(도 6b)는 2차원 바코드가 아니라고 판단할 수 있다. 따라서, 상기 블록(도 6b)내에서는 레퍼런스 마크(예컨대, 110, 120, 130)의 검색을 수행할 필요가 없게 된다.Similarly, the retrieved Fig. 6B can be retrieved by the reading apparatus as a block of a predetermined size as well, but the reading apparatus can determine that the block (Fig. 6B) is not a two-dimensional bar code because it does not satisfy a preset contrast ratio. Thus, there is no need to perform a search for reference marks (eg, 110, 120, 130) in the block (FIG. 6B).
한편, 상기 판독장치가 도 6c에 도시된 바와 같은 블록을 검색할 수 있다. 검색한 후 상기 블록(도 6c) 내에 위치한 화소 또는 엘리멘트의 명암비율을 계산한 결과, 미리 결정된 범위 내에 해당한다고 판단할 수 있다. 그러면, 상기 판독장치는 상기 블록(도 6c)을 본 발명의 실시 예에 따른 2차원 바코드라고 판단할 수 있다. 그러면, 상기 판독장치는 상기 블록(도 6c) 내에서 상기 레퍼런스 마크(예컨대, 110, 120, 130)를 검색할 수 있다. 즉, 판독장치에 의해 스캐닝된 이미지 내에 2차원 바코드가 여러 개 존재하지 않는 이상, 상기 블록(도 6c)내에서만 상기 레퍼런스 마크(예컨대, 110, 120, 130)를 검색할 수 있다.On the other hand, the reading device can search for a block as shown in Fig. 6C. After the search, the contrast ratio of the pixel or element positioned in the block (FIG. 6C) is calculated, and it may be determined that it is within a predetermined range. Then, the reading apparatus may determine that the block (Fig. 6c) is a two-dimensional bar code according to an embodiment of the present invention. The reading device may then search for the reference marks (eg, 110, 120, 130) in the block (FIG. 6C). That is, unless there are several two-dimensional barcodes in the image scanned by the reading apparatus, the reference marks (eg, 110, 120, 130) may be searched only in the block (FIG. 6C).
이처럼 본 발명의 실시 예에 따른 2차원 바코드 디코딩 방법에 의하면, 먼저 일정한 크기를 갖는 블록을 검색하고 이를 이용하여 레퍼런스 마크(예컨대, 110, 120, 130)를 검색하게 되는데, 스캐닝된 이미지에서 일정한 크기의 블록을 검색하는 것은 비교적 용이하고 빠른 시간 내에 수행될 수 있고, 블록이 존재하지 않으면 레퍼런스 마크(예컨대, 110, 120, 130)를 검색할 필요가 없게 된다. 또한, 블록이 존재하면 해당 블록내의 명암비율이 소정의 범위 내인지를 판단하게 되는데, 이도 매우 빠른 시간 내에 수행될 수 있다. 왜냐하면 스캐닝된 이미지는 특정 명암 즉, 쓰레솔드(threshold) 값을 기준으로 이진화(binarization)될 수 있고, 이진화된 이미지를 기준으로 블록의 검색 및 명암비율의 계산이 수행될 수 있기 때문이다.As described above, according to the 2D barcode decoding method according to an embodiment of the present invention, a block having a predetermined size is first searched and a reference mark (for example, 110, 120, 130) is searched using the same. Searching for a block of may be performed relatively easily and quickly, and if there is no block there is no need to search for reference marks (
결국, 블록의 검색, 검색된 블록이 본 발명의 실시 예에 따른 2차원 바코드인지 여부의 판단(소정의 명암비율을 통해) 후, 레퍼런스 마크(예컨대, 110, 120, 130)를 검색하게 되면 종래의 특정 패턴을 갖는 레퍼런스 마크를 검색하기 위해 일일이 스캐닝된 이미지를 화소단위 또는 엘리멘트 단위로 스캐닝 해가면서 판독하는 것에 비해 상대적으로 매우 빠른 레퍼런스 마크(예컨대, 110, 120, 130)의 검색이 가능할 수 있다. 더욱이 본 발명의 실시 예에 따른 레퍼런스 마크는 종래의 2차원 바코드에서의 레퍼런스 마크(예컨대, 파인더 패턴)와는 달리 특정 패턴을 갖는 것이 아니라, 동일한 정보를 갖는 일정 크기의 형상이므로 검색의 효율성은 더욱 증가될 수 있다.As a result, after searching for a block and determining whether the searched block is a two-dimensional barcode according to an embodiment of the present invention (through a predetermined contrast ratio), if a reference mark (eg, 110, 120, 130) is searched, In order to search for a reference mark having a specific pattern, it is possible to search a reference mark (eg, 110, 120, 130) which is relatively very fast as compared to scanning the scanned image by pixel or element. Furthermore, unlike reference marks (eg, finder patterns) in the conventional two-dimensional bar code, the reference mark according to an embodiment of the present invention does not have a specific pattern, but a shape of a certain size having the same information, so that the search efficiency is further increased. Can be.
도 7은 본 발명의 실시 예에 따른 2차원 바코드 디코딩 방법을 설명하기 위한 개략적인 플로우 챠트를 나타내는 도면이다.FIG. 7 is a schematic flowchart illustrating a two-dimensional barcode decoding method according to an exemplary embodiment of the present invention. Referring to FIG.
도 7을 참조하면, 본 발명의 실시 예에 따른 2차원 바코드 디코딩 방법은 복수의 레퍼런스 마크(예컨대, 110, 120, 130)를 검색하고(S120), 검색된 레퍼런스 마크(예컨대, 110, 120, 130)의 위치를 판단한 후(S130), 판단된 레퍼런스 마크(예컨대, 110, 120, 130)의 위치에 따라 데이터 영역(200)에 포함된 데이터 엘리멘트들(예컨대, 10, 11)의 위치를 판단하게 된다(S160). 그리고 판단된 위치에 존재하는 데이터 엘리멘트들(예컨대, 10, 11)을 판독하여 데이터를 디코딩할 수 있다(S170).Referring to FIG. 7, in the two-dimensional barcode decoding method according to an embodiment of the present invention, a plurality of reference marks (eg, 110, 120, and 130) are searched (S120), and the retrieved reference marks (eg, 110, 120, and 130). ), After determining the position (S130), to determine the position of the data elements (eg, 10, 11) included in the
상기 레퍼런스 마크(예컨대, 110, 120, 130)를 검색하기 위해, 상술한 바와 같이 상기 판독장치는 일정 크기를 갖는 블록을 검색할 수 있다(S100). 만약, 검색되는 블록이 없으면 상기 판독장치는 2차원 바코드가 없다고 판단하게 되고, 프로세스를 종료할 수 있다. 만약, 검색되는 블록이 있으면, 상기 블록 내의 명암비율이 소정의 범위 내인지를 판단할 수 있다(S110). 그 결과 상기 범위 내가 아니면 스캐닝된 이미지에서 다시 블록 검색을 계속하여 수행하고(S100), 상기 범위 내이면 상기 블록 내에서 상기 레퍼런스 마크(예컨대, 110, 120, 130)의 검색을 수행할 수 있다(S120).In order to search the reference marks (eg, 110, 120, 130), as described above, the reading apparatus may search for a block having a predetermined size (S100). If there is no block to be searched, the reading apparatus determines that there is no two-dimensional bar code and may terminate the process. If there is a block to be searched, it may be determined whether the contrast ratio in the block is within a predetermined range (S110). As a result, if it is not within the range, the block search may be continuously performed on the scanned image again (S100), and if it is within the range, the search for the reference marks (eg, 110, 120, 130) may be performed within the block ( S120).
또한, 검색된 레퍼런스 마크(예컨대, 110, 120, 130)의 정확한 위치를 판단하기 위해(S130), 상기 판독장치는 검색된 상기 레퍼런스 마크(예컨대, 110, 120, 130)의 무게중심(예컨대, 111, 121, 131)을 구할 수 있는데, 상기 무게중심(예컨대, 111, 121, 131)을 구하기 위해서는 상기 레퍼런스 마크(예컨대, 110, 120, 130)내의 화소 또는 엘리멘트의 좌표 값을 산술적으로 계산하면 되므로 매우 빠른 시간내에 무게중심(예컨대, 111, 121, 131)의 위치가 판단될 수 있는 효과가 있다. In addition, in order to determine the exact position of the retrieved reference marks (eg, 110, 120, 130) (S130), the reading apparatus may determine the center of gravity of the retrieved reference marks (eg, 110, 120, 130) (eg, 111, 121, 131 can be obtained. In order to obtain the center of gravity (eg, 111, 121, 131), arithmetic calculations of coordinates of pixels or elements within the reference mark (eg, 110, 120, 130) can be performed. There is an effect that the position of the center of gravity (eg, 111, 121, 131) can be determined within a short time.
상기 무게중심(예컨대, 111, 121, 131)의 위치가 판단되면, 도 5에서 설명한 바와 같이 변환행렬(f)가 획득될 수 있음은 물론이다(S131).When the positions of the centers of gravity (eg, 111, 121, 131) are determined, the transformation matrix f may be obtained as described with reference to FIG. 5 (S131).
또한, 도 2 내지 도 3에서 설명한 바와 같이 무게중심(예컨대, 111, 121, 131)의 위치가 판단되면, 상기 판독장치는 이를 이용하여 어느 두 개의 무게중심(예컨대, 111, 121또는 111, 131) 사이에 위치하는 적어도 하나의 스케일 엘리멘트(예컨대, 140, 141)를 판독하여 상기 2차원 바코드의 스케일 정보를 획득할 수 있다(S140).Also, when the position of the center of gravity (eg, 111, 121, 131) is determined as described with reference to FIGS. 2 to 3, the reading apparatus uses the two centers of gravity (eg, 111, 121, 111, 131). Scale information of the two-dimensional barcode may be obtained by reading at least one scale element (for example, 140 and 141) positioned between (S140).
또한, 상기 스케일 정보가 획득되면, 상기 판독장치는 획득된 변환행렬(f)과 상기 스케일 정보를 이용하여 미리 정해진 위치가 이미지 좌표계(300) 즉, 현재 스캐닝된 이미지 내에서 어느 위치에 해당하는지를 판단할 수 있다.In addition, when the scale information is obtained, the reading apparatus uses the obtained transformation matrix f and the scale information to determine which position in the image coordinate
따라서, 상기 판독장치는 상기 바디 영역(100) 내의 미리 정해진 위치에 존재하는 ID 엘리멘트(예컨대, 150, 151)를 판독하여, 바코드 종류 정보를 획득할 수 있다(S150).Accordingly, the reading apparatus may obtain barcode type information by reading ID elements (eg, 150 and 151) existing at predetermined positions in the body region 100 (S150).
바코드 종류정보가 획득되면, 현재 판독하고 있는 바코드의 형태 또는 크기를 정확하게 알 수 있으므로, 데이터 영역(200)이 이미지 좌표계(300)에서 어디에 있는지를 판단하고, 이를 판독할 수 있다(S160). 또한, 데이터 영역(200)에 포함된 엘리멘트들 중 데이터 엘리멘트들(예컨대, 10, 11)이 어떠한 것인지에 대한 정보는 상기 스케일 정보를 통해 획득할 수도 있다(S170).When the barcode type information is obtained, since the shape or size of the barcode being read can be accurately known, it is possible to determine where the
상기 데이터 엘리멘트들(예컨대, 10, 11)이 판독되면, 상기 바코드 종류 정보에 의해 알 수 있는 에러 정정 알고리즘의 종류에 따라 에러 정정이 수행될 수도 있고, 인코딩 알고리즘의 종류에 상응하는 디코딩 알고리즘을 이용하여 데이터의 디코딩이 수행될 수 있다.When the data elements (eg, 10 and 11) are read, error correction may be performed according to the type of error correction algorithm known by the bar code type information, and a decoding algorithm corresponding to the type of encoding algorithm is used. Decoding of the data can be performed.
본 발명의 실시 예에 따른 2차원 바코드 디코딩 방법은 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록 장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 하드 디스크, 플로피 디스크, 광 데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어, 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한, 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 그리고 본 발명을 구현하기 위한 기능적인(functional) 프로그램, 코드 및 코드 세그먼트들은 본 발명이 속하는 기술분야의 프로그래머들에 의해 용이하게 추론될 수 있다.2D barcode decoding method according to an embodiment of the present invention can be implemented as a computer-readable code on a computer-readable recording medium. A computer-readable recording medium includes all kinds of recording apparatuses in which data that can be read by a computer system is stored. Examples of the computer-readable recording medium include a ROM, a RAM, a CD-ROM, a magnetic tape, a hard disk, a floppy disk, an optical data storage device, and the like in the form of a carrier wave (for example, . In addition, the computer-readable recording medium may be distributed over network-connected computer systems so that computer readable codes can be stored and executed in a distributed manner. And functional programs, codes, and code segments for implementing the present invention can be easily inferred by programmers skilled in the art to which the present invention pertains.
본 발명은 도면에 도시된 일 실시 예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시 예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 등록청구범위의 기술적 사상에 의해 정해져야 할 것이다.
While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it is to be understood that the invention is not limited to the disclosed embodiments, but, on the contrary, is intended to cover various modifications and equivalent arrangements included within the spirit and scope of the appended claims. Therefore, the true technical protection scope of the present invention will be defined by the technical spirit of the appended claims.
Claims (19)
상기 바디 영역에 포함되며 미리 결정된 복수 개의 엘리멘트로 구성되는 복수의 레퍼런스 마크(Reference Mark); 및
상기 레퍼런스 마크에 기초하여 위치가 계산되는 데이터 엘리멘트를 포함하는 데이터 영역을 포함하며,
상기 복수의 레퍼런스 마크 각각은,
미리 결정된 형상을 가지며 상기 복수의 레퍼런스 마크 각각을 구성하는 상기 복수 개의 엘리멘트들은 모두 동일한 정보를 갖도록 표현되며,
상기 데이터 영역은,
상기 바디 영역의 컨투어(contour)에 위치하며 상기 컨투어의 폭은 상기 레퍼런스 마크의 폭보다 좁은 것을 특징으로 하는 2차원 바코드.
A body region comprising a plurality of elements;
A plurality of reference marks included in the body region and composed of a plurality of predetermined elements; And
A data area including a data element whose position is calculated based on the reference mark,
Each of the plurality of reference marks,
The plurality of elements having a predetermined shape and constituting each of the plurality of reference marks are all expressed to have the same information.
The data area,
Located in a contour of the body region (contour) and the width of the contour is characterized in that the narrower than the width of the reference mark.
미리 결정된 상기 다수 개에 의해 미리 결정된 크기를 갖는 것을 특징으로 하는 2차원 바코드.
The method of claim 1, wherein the body region,
And a predetermined size determined by the plurality of predetermined ones.
상기 복수의 레퍼런스 마크 중 두 개의 레퍼런스 마크 사이에 위치하며,
상기 2차원 바코드의 스케일 정보를 표현하는 적어도 하나의 스케일 엘리멘트를 더 포함하는 2차원 바코드.
The method of claim 1, wherein the two-dimensional barcode,
Located between two reference marks of the plurality of reference marks,
And at least one scale element representing scale information of the two-dimensional barcode.
상기 두 개의 레퍼런스 마크 각각의 무게중심들을 연결하는 선상에 위치하는 2차원 바코드.
The method of claim 3, wherein the at least one scale element,
A two-dimensional barcode positioned on a line connecting centers of gravity of each of the two reference marks.
상기 바디 영역 내의 미리 결정된 위치에 존재하며,
상기 2차원 바코드의 바코드 종류에 대한 정보를 표현하는 적어도 하나의 ID 엘리멘트를 더 포함하는 2차원 바코드.
The method of claim 1, wherein the two-dimensional barcode,
Present at a predetermined location within the body region,
And at least one ID element representing information on a barcode type of the two-dimensional barcode.
다수의 엘리멘트(element)들을 포함하는 바디 영역에 포함되고, 동일한 정보를 갖도록 표현된 복수 개의 엘리멘트로 구성되어 특정 형상을 갖는 복수의 레퍼런스 마크가 검색되는 단계;
검색된 복수의 레퍼런스 마크 각각의 위치가 판단되는 단계;
판단된 상기 복수의 레퍼런스 마크 각각의 위치에 기초하여 상기 바디 영역의 컨투어(contour) -상기 컨투어의 폭은 상기 레퍼런스 마크의 폭보다 좁음-에 위치하는 데이터 엘리멘트의 위치가 판단되는 단계; 및
판단된 위치에 존재하는 상기 데이터 엘리멘트가 표현하는 데이터를 디코딩하는 단계를 포함하는 2차원 바코드 디코딩 방법.
In the method of decoding a two-dimensional barcode,
Retrieving a plurality of reference marks having a specific shape by being composed of a plurality of elements included in a body region including a plurality of elements and represented to have the same information;
Determining positions of each of the retrieved plurality of reference marks;
Determining a position of a data element located in a contour of the body region, wherein the width of the contour is narrower than the width of the reference mark, based on the determined positions of the plurality of reference marks; And
And decoding the data represented by the data element existing at the determined position.
상기 복수의 레퍼런스 마크 각각의 무게중심의 위치가 판단되는 단계를 포함하는 2차원 바코드 디코딩 방법.
The method of claim 9, wherein the determining of the position of each of the found plurality of reference marks comprises:
Determining the position of the center of gravity of each of the plurality of reference marks.
미리 정해진 크기의 상기 바디 영역이 검색되는 단계를 더 포함하는 2차원 바코드 디코딩 방법.
The method of claim 9, wherein the two-dimensional barcode decoding method,
And retrieving the body region of a predetermined size.
상기 미리 정해진 크기를 갖는 블록이 검색되는 단계;
검색된 상기 블록 내의 명암비율이 미리 정해진 범위에 있는지 판단되는 단계; 및
판단결과에 기초하여 상기 바디 영역인지가 판단되는 단계를 포함하는 2차원 바코드 디코딩 방법.
The method of claim 11, wherein the two-dimensional barcode decoding method,
Searching for a block having the predetermined size;
Determining whether a contrast ratio in the found block is within a predetermined range; And
And determining whether or not the body region is based on a determination result.
상기 복수의 레퍼런스 마크 중 두 개의 레퍼런스 마크 사이에 위치하며, 상기 2차원 바코드의 스케일 정보를 표현하는 적어도 하나의 스케일 엘리멘트가 검색되는 단계를 더 포함하는 2차원 바코드 디코딩 방법.
The method of claim 9, wherein the two-dimensional barcode decoding method,
And searching for at least one scale element located between two reference marks of the plurality of reference marks and representing scale information of the two-dimensional barcode.
상기 바디 영역 내의 미리 결정된 위치에 존재하며, 상기 2차원 바코드의 바코드 종류에 대한 정보를 표현하는 적어도 하나의 ID 엘리멘트가 검색되는 단계를 더 포함하는 2차원 바코드 디코딩 방법.
The method of claim 13, wherein the two-dimensional barcode decoding method,
And retrieving at least one ID element present at a predetermined position within the body region and representing at least one ID element representing information about a barcode type of the two-dimensional barcode.
상기 판단된 각각의 레퍼런스 마크의 위치에 기초하여 이미지 좌표계와 정규 좌표계 간의 변환행렬이 획득되는 단계; 및
획득된 변환행렬과 상기 스케일 정보, 및 상기 바코드 종류에 대한 정보에 기초하여 상기 데이터 엘리멘트의 위치가 판단되는 단계를 포함하는 2차원 바코드 디코딩 방법.
The method of claim 14, wherein the determining of the position of the data element based on the position of each of the plurality of reference marks comprises:
Obtaining a transformation matrix between an image coordinate system and a normal coordinate system based on the determined position of each reference mark; And
And determining the position of the data element based on the obtained conversion matrix, the scale information, and the information on the barcode type.
미리 결정된 다수 개의 엘리멘트를 포함하며 미리 결정된 크기를 갖는 바디 영역에 포함되고, 데이터 엘리멘트의 위치를 찾기 위해 참조되는 복수의 레퍼런스 마크가 검색되는 단계;
검색된 복수의 레퍼런스 마크 각각의 위치에 기초하여 이미지 좌표계와 정규화 좌표계 간의 변환행렬이 획득되는 단계;
획득된 변환행렬을 이용하여 상기 바디 영역의 컨투어-상기 컨투어의 폭은 상기 레퍼런스 마크의 폭보다 좁음-에 소정의 규칙에 따라 위치하는 데이터 엘리멘트의 이미지 좌표계에서의 위치가 판단되는 단계; 및
판단된 위치에 존재하는 상기 데이터 엘리멘트가 표현하는 데이터가 디코딩되는 단계를 포함하는 2차원 바코드 디코딩 방법.
In the method of decoding a two-dimensional barcode,
Searching for a plurality of reference marks included in a body region having a predetermined number of elements and having a predetermined size and referenced to locate a data element;
Obtaining a transformation matrix between an image coordinate system and a normalized coordinate system based on positions of each of the retrieved plurality of reference marks;
Determining a contour in the image coordinate system of a data element positioned according to a predetermined rule on the contour of the body region using the obtained transformation matrix, wherein the width of the contour is smaller than the width of the reference mark; And
And decoding the data represented by the data element existing at the determined position.
A computer-readable recording medium having recorded thereon a program for performing the method according to any one of claims 9 to 16.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020120037354A KR101313681B1 (en) | 2012-04-10 | 2012-04-10 | 2 Dimension Barcode and method of decoding the 2 dimension barcode |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020120037354A KR101313681B1 (en) | 2012-04-10 | 2012-04-10 | 2 Dimension Barcode and method of decoding the 2 dimension barcode |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020100117996 Division | 2010-11-25 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20120056803A KR20120056803A (en) | 2012-06-04 |
KR101313681B1 true KR101313681B1 (en) | 2013-10-02 |
Family
ID=46608873
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020120037354A KR101313681B1 (en) | 2012-04-10 | 2012-04-10 | 2 Dimension Barcode and method of decoding the 2 dimension barcode |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101313681B1 (en) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6279830B1 (en) | 1998-09-03 | 2001-08-28 | Denso Corporation | Two-dimensional code, reading and producing method and recording medium storing related software |
KR100414524B1 (en) | 2002-10-31 | 2004-01-16 | 주식회사 아이콘랩 | Two-dimensional Code having superior decoding property which is possible to control the level of error correcting codes, and method for encoding and decoding the same |
KR100828539B1 (en) | 2005-09-20 | 2008-05-13 | 후지제롯쿠스 가부시끼가이샤 | Detection method of two dimensional code, detection device thereof, and storage medium having detection program storaged therein |
-
2012
- 2012-04-10 KR KR1020120037354A patent/KR101313681B1/en active IP Right Grant
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6279830B1 (en) | 1998-09-03 | 2001-08-28 | Denso Corporation | Two-dimensional code, reading and producing method and recording medium storing related software |
KR100414524B1 (en) | 2002-10-31 | 2004-01-16 | 주식회사 아이콘랩 | Two-dimensional Code having superior decoding property which is possible to control the level of error correcting codes, and method for encoding and decoding the same |
KR100828539B1 (en) | 2005-09-20 | 2008-05-13 | 후지제롯쿠스 가부시끼가이샤 | Detection method of two dimensional code, detection device thereof, and storage medium having detection program storaged therein |
Also Published As
Publication number | Publication date |
---|---|
KR20120056803A (en) | 2012-06-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11455482B2 (en) | Systems and methods for decoding two-dimensional matrix symbols with incomplete or absent fixed patterns | |
US8215564B2 (en) | Method and system for creating and using barcodes | |
CN102880850B (en) | A kind of method of Quick Response Code batch scanning and scanning device | |
CN100390807C (en) | Trilateral poly-dimensional bar code easy for omnibearing recognition and reading method thereof | |
KR101821087B1 (en) | Two-dimensional code, and two-dimensional-code analysis system | |
WO2015174192A1 (en) | Two-dimensional code, two-dimensional-code analysis system, and two-dimensional-code generation system | |
JP2007317184A (en) | Two-dimensional bar code, and encoding and decoding method thereof | |
US20140144991A1 (en) | Robust decoding of color barcode printed with extremely small data cells | |
CA3045391C (en) | Method for detection and recognition of long-range high-density visual markers | |
CN112329496B (en) | Rectangular two-dimensional code identification method and device and electronic equipment | |
US11861451B2 (en) | Method for chip collection and method for chip positioning | |
WO2016121126A1 (en) | Two-dimensional code, two-dimensional code read device, and encoding method | |
KR101313681B1 (en) | 2 Dimension Barcode and method of decoding the 2 dimension barcode | |
US9129171B2 (en) | Code reading device and code reading method | |
CN109977715B (en) | Two-dimensional code identification method based on contour identification and two-dimensional code | |
CN110033065B (en) | Narrow strip two-dimensional code, and generating and identifying method, device and equipment of narrow strip two-dimensional code | |
CN113822092B (en) | Method and apparatus for positioning position detection pattern, electronic device, and medium | |
JP2007094584A (en) | Method for detecting two dimensional code, detecting device, and detecting program | |
US11308634B2 (en) | Unsupervised anchor handling for machine vision system | |
CN114611540A (en) | One-dimensional code image area identification method based on digital image processing and electronic equipment | |
CN108388825B (en) | Fast response code searching method and device | |
CN109359645B (en) | AGV encoding marker, detection method and computer readable storage medium | |
KR100701292B1 (en) | Image code and method and apparatus for recognizing thereof | |
JP2015232873A (en) | Two-dimensional code, analysis system of two-dimensional code, and production system of two-dimensional code | |
CN115908373A (en) | Positioning graph detection method and device of quick response code |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A107 | Divisional application of patent | ||
A201 | Request for examination | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20160926 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20170828 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20190919 Year of fee payment: 7 |