KR102450872B1 - 도트 패턴 및 도트 패턴 인식 방법 - Google Patents
도트 패턴 및 도트 패턴 인식 방법 Download PDFInfo
- Publication number
- KR102450872B1 KR102450872B1 KR1020200128002A KR20200128002A KR102450872B1 KR 102450872 B1 KR102450872 B1 KR 102450872B1 KR 1020200128002 A KR1020200128002 A KR 1020200128002A KR 20200128002 A KR20200128002 A KR 20200128002A KR 102450872 B1 KR102450872 B1 KR 102450872B1
- Authority
- KR
- South Korea
- Prior art keywords
- dot
- data
- point
- block
- data blocks
- 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
- G06K19/00—Record carriers for use with machines and with at least a part designed to carry digital markings
- G06K19/06—Record 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/06009—Record 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
-
- 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
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)
- Editing Of Facsimile Originals (AREA)
- Image Processing (AREA)
Abstract
본 개시의 몇몇 실시예에 따른, 대상체에 인쇄된 도트 패턴이 개시된다. 상기 도트 패턴은, 사각형의 복수의 데이터 블록으로 구성된 정보 블록에 포함되고, 상기 정보 블록은, 상기 복수의 데이터 블록 각각의 중심에 배치되는 기준 도트; 상기 정보 블록에 포함된 상기 복수의 데이터 블록 중 어느 블록이 최초로 해석되는 최초 데이터 블록인지를 나타내는 방향 도트가 배치되는 제 1 지점; 상기 정보 블록에 포함된 상기 복수의 데이터 블록의 개수를 나타내는 확장 도트가 배치되는 제 2 지점; 및 상기 복수의 데이터 블록 각각에 포함되고, 1비트(bit)의 데이터를 표현하는 데이터 도트가 배치되는 적어도 하나의 데이터 도트 지점을 포함할 수 있다.
Description
본 개시는 도트 패턴 및 도트 패턴 인식 방법에 관한 것으로, 구체적으로 대상체에 인쇄된 도트 패턴을 인식하는 방법에 관한 것이다.
대상체에 정보를 표현하는 방법으로는 바코드(barcode)와 같은 기술이 존재하고 있다. 이러한 바코드 기술은 일정한 규칙을 갖는 바(bar) 형태의 코드(code)를 대상체에 인쇄하고, 전용 장비를 이용하여 인쇄된 코드를 인식한 후 디지털 처리를 수행하여 정보를 추출하는 기술을 의미한다.
그러나, 바코드 기술은 한정된 면적 안에서 바의 폭을 넓히거나 또는 좁히는 등의 패턴을 통하여 정보를 제공하므로, 단위 면적 당 표현할 수 있는 정보의 양이 다소 적을 수 있다. 이러한 이유로 바코드는 사전에 저장되어 있는 정보를 불러오기 위한 키 정보만을 제공하기도 한다.
한편, 이러한 바코드 기술의 단점을 보완하기 위해 QR 코드와 같은 기술이 공개되어 있다. QR 코드는 격자무늬 패턴으로 정보를 나타내는 매트릭스 형식의 코드로서, 바코드보다 많은 정보를 제공할 수 있다.
그러나, QR 코드는 그 패턴의 복잡성으로 인하여, 정보를 인식하는데 다소 시간이 소요되고 또한, 인식율이 다소 저조하다는 단점이 존재한다. 또한, 패턴의 복잡성으로 인하여 패턴을 생성하는데 소요되는 시간도 증가한다는 단점도 존재한다.
따라서, 대상체에 인쇄되어 빠르게 인식이 가능하고, 데이터의 추출에 소요되는 시간이 줄어들 수 있으면서도 많은 정보를 제공할 수 있는 기술에 대한 수요가 존재한다.
본 개시는 전술한 배경기술에 대응하여 안출된 것으로, 대용량의 데이터를 표현할 수 있는 도트 패턴 및 도트 패턴 인식 방법을 제공하고자 한다.
본 개시의 기술적 과제들은 이상에서 언급한 기술적 과제로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
전술한 바와 같은 과제를 해결하기 위한 본 개시의 일 실시예에 따라, 대상체에 인쇄된 도트 패턴이 개시된다. 상기 도트 패턴은, 사각형의 복수의 데이터 블록으로 구성된 정보 블록에 포함되고, 상기 정보 블록은, 상기 복수의 데이터 블록 각각의 중심에 배치되는 기준 도트; 상기 정보 블록에 포함된 상기 복수의 데이터 블록 중 어느 블록이 최초로 해석되는 최초 데이터 블록인지를 나타내는 방향 도트가 배치되는 제 1 지점; 상기 정보 블록에 포함된 상기 복수의 데이터 블록의 개수를 나타내는 확장 도트가 배치되는 제 2 지점; 및 상기 복수의 데이터 블록 각각에 포함되고, 1비트(bit)의 데이터를 표현하는 데이터 도트가 배치되는 적어도 하나의 데이터 도트 지점; 을 포함할 수 있다.
또한, 상기 제 1 지점은, 상기 기준 도트의 12시 방향에 위치하고, 상기 기준 도트로부터 제 1 거리만큼 이격될 수 있다.
또한, 상기 제 2 지점은, 상기 기준 도트의 9시 방향에 위치하고 상기 기준 도트로부터 제 2 거리만큼 이격될 수 있다.
또한, 상기 제 1 거리는, 상기 제 2 거리보다 짧을 수 있다.
또한, 상기 적어도 하나의 데이터 도트 지점은, 상기 복수의 데이터 블록 각각에 포함된 복수의 가상 대각선 상에 존재하고, 상기 기준 도트로부터 제 3 거리 또는 상기 제 3 거리보다 긴 제 4 거리만큼 이격될 수 있다.
또한, 상기 최초 데이터 블록의 상기 제 2 지점에 상기 확장 도트가 존재하는 경우, 상기 정보 블록에 포함된 상기 복수의 데이터 블록의 개수는 16개이고, 상기 최초 데이터 블록의 상기 제 2 지점에 상기 확장 도트가 존재하지 않는 경우, 상기 정보 블록에 포함된 상기 복수의 데이터 블록의 개수는 8개일 수 있다.
또한, 상기 적어도 하나의 데이터 도트 지점 각각은, 1 바이트 내에 포함된 최상위 비트와 최하위 비트 사이의 복수의 비트 각각과 관련될 수 있다.
또한, 상기 적어도 하나의 데이터 도트 지점은, 상기 기준 도트로부터 상기 제 4 거리만큼 이격되고 좌측 상방에 존재하고 1 바이트(byte)의 최하위 비트에 해당하는 첫번째 비트와 관련된 제 1 데이터 도트 지점; 상기 기준 도트로부터 상기 제 4 거리만큼 이격되고 우측 상방에 존재하고 상기 1 바이트의 두번째 비트와 관련된 제 2 데이터 도트 지점; 상기 기준 도트로부터 상기 제 4 거리만큼 이격되고 우측 하방에 존재하고 상기 1 바이트의 세번째 비트와 관련된 제 3 데이터 도트 지점; 상기 기준 도트로부터 상기 제 4 거리만큼 이격되고 좌측 하방에 존재하고 상기 1 바이트의 네번째 비트와 관련된 제 4 데이터 도트 지점; 상기 기준 도트로부터 상기 제 3 거리만큼 이격되고 좌측 상방에 존재하고 상기 1 바이트의 다섯번째 비트와 관련된 제 5 데이터 도트 지점; 상기 기준 도트로부터 상기 제 3 거리만큼 이격되고 우측 상방에 존재하고 상기 1 바이트의 여섯번째 비트와 관련된 제 6 데이터 도트 지점; 상기 기준 도트로부터 상기 제 3 거리만큼 이격되고 우측 하방에 존재하고 상기 1 바이트의 일곱번째 비트와 관련된 제 7 데이터 도트 지점; 및 상기 기준 도트로부터 상기 제 3 거리만큼 이격되고 좌측 하방에 존재하고 상기 1 바이트의 최상위 비트에 해당하는 여덟번째 비트와 관련된 제 8 데이터 도트 지점; 을 포함할 수 있다.
또한, 상기 복수의 데이터 블록 중 제 1 데이터 블록에 포함된 제 1 기준 도트는, 상기 제 1 데이터 블록과 인접한 제 1 인접 데이터 블록에 포함된 제 2 기준 도트와 제 5 거리만큼 이격되어 있고, 상기 제 1 데이터 블록과 인접한 제 2 인접 데이터 블록에 포함된 제 3 기준 도트와 상기 제 5 거리만큼 이격되어 있을 수 있다.
또한, 컴퓨팅 장치의 프로세서를 이용하여 도트 패턴을 인식하는 방법으로서, 상기 방법은: 도트 패턴이 포함된 이미지를 인식하는 단계; 및 상기 이미지를 분석하여 데이터를 획득하는 단계; 를 포함하고, 상기 도트 패턴은, 사각형의 복수의 데이터 블록으로 구성된 정보 블록에 포함되고, 상기 정보 블록은, 상기 복수의 데이터 블록 각각의 중심에 배치되는 기준 도트; 상기 정보 블록에 포함된 상기 복수의 데이터 블록 중 어느 블록이 최초로 해석되는 최초 데이터 블록인지를 나타내는 방향 도트가 배치되는 제 1 지점; 상기 정보 블록에 포함된 상기 복수의 데이터 블록의 개수를 나타내는 확장 도트가 배치되는 제 2 지점; 및 상기 복수의 데이터 블록 각각에 포함되고, 1비트(bit)의 데이터를 표현하는 데이터 도트가 배치되는 적어도 하나의 데이터 도트 지점; 을 포함할 수 있다.
또한, 상기 이미지를 분석하여 데이터를 획득하는 단계는, 상기 방향 도트에 기초하여 상기 복수의 데이터 블록 중 상기 최초 데이터 블록을 인식하는 단계; 상기 최초 데이터 블록의 상기 제 2 지점에 상기 확장 도트가 존재하는지 여부에 기초하여, 상기 정보 블록의 크기를 인식하는 단계; 및 상기 정보 블록의 크기가 인식된 경우, 상기 정보 블록에 포함된 상기 복수의 데이터 블록 각각에 상기 데이터 도트가 존재하는지 여부 및 상기 데이터 도트가 존재하는 위치에 기초하여 데이터를 획득하는 단계; 를 포함할 수 있다.
또한, 상기 방향 도트에 기초하여 상기 복수의 데이터 블록 중 상기 최초 데이터 블록을 인식하는 단계는, 일정한 간격을 갖는 복수의 도트를 포함하는 적어도 하나의 후보 기준 도트 그룹을 인식하는 단계; 상기 적어도 하나의 후보 기준 도트 그룹 각각에 포함된 상기 복수의 도트 중 첫번째 도트를 후보 기준 도트로 결정하는 단계; 및 상기 후보 기준 도트 각각의 12시 방향으로 제 1 거리만큼 이격된 지점에 상기 방향 도트가 존재하는 데이터 블록을 상기 최초 데이터 블록으로 인식하는 단계; 를 포함할 수 있다.
또한, 상기 첫번째 도트는, 상기 복수의 도트가 횡방향으로 배열된 경우, 상기 복수의 도트 중 좌측 첫번째에 위치하는 도트이고, 상기 복수의 도트가 종방향으로 배열된 경우, 상기 복수의 도트 중 상측 첫번째에 위치하는 도트일 수 있다.
또한, 상기 적어도 하나의 후보 기준 도트 그룹 각각은, 적어도 4개의 도트를 포함할 수 있다.
또한, 상기 이미지를 분석하여 데이터를 획득하는 단계는, 상기 정보 블록에 포함된 상기 복수의 데이터 블록에서 제 1 행에 포함된 4개의 데이터 블록 중 좌측 첫번째 블록을 시작으로 우측 방향으로 분석하여 데이터를 획득하는 단계; 및 상기 제 1 행에 포함된 상기 4개의 데이터 블록에 대한 데이터의 분석이 완료된 경우, 상기 제 1 행의 아래에 존재하는 제 2 행에 포함된 4개의 데이터 블록 중 좌측 첫번째 블록을 시작으로 우측 방향으로 분석하여 데이터를 획득하는 단계; 를 포함할 수 있다.
또한, 도트 패턴이 포함된 이미지를 인식하는 단계는, 상기 복수의 데이터 블록 중 인접한 적어도 두개의 데이터 블록에 포함된 기준 도트 간의 간격을 인식하는 단계; 상기 간격이 기 저장된 간격과 상이한 경우, 상기 이미지를 보정하기 위한 보정율을 산출하는 단계; 및 상기 보정율에 기초하여 보정된 이미지를 생성하는 단계; 를 포함하고, 상기 이미지를 분석하여 데이터를 획득하는 단계는, 상기 보정된 이미지를 분석하여 데이터를 획득하는 단계; 를 포함할 수 있다.
본 개시에서 얻을 수 있는 기술적 해결 수단은 이상에서 언급한 해결 수단들로 제한되지 않으며, 언급하지 않은 또 다른 해결 수단들은 아래의 기재로부터 본 개시가 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
본 개시의 몇몇 실시예에 따르면, 대용량의 데이터를 신속하게 제공할 수 있는 도트 패턴 및 도트 패턴 인식 방법을 제공할 수 있도록 한다.
본 개시에서 얻을 수 있는 효과는 이상에서 언급한 효과로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 본 개시가 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
다양한 양상들이 이제 도면들을 참조로 기재되며, 여기서 유사한 참조 번호들은 총괄적으로 유사한 구성요소들을 지칭하는데 이용된다. 이하의 실시예에서, 설명 목적을 위해, 다수의 특정 세부사항들이 하나 이상의 양상들의 총체적 이해를 제공하기 위해 제시된다. 그러나, 그러한 양상(들)이 이러한 특정 세부사항들 없이 실시될 수 있음은 명백할 것이다. 다른 예시들에서, 공지의 구조들 및 장치들이 하나 이상의 양상들의 기재를 용이하게 하기 위해 블록도 형태로 도시된다.
도 1은 본 개시의 몇몇 실시예에 따른 정보 블록의 일례를 설명하기 위한 도면이다.
도 2는 본 개시의 몇몇 실시예에 따른 데이터 블록의 일례를 설명하기 위한 도면이다.
도 3은 본 개시의 몇몇 실시예에 따른 데이터 도트가 인식되는 순서를 나타내기 위한 도면이다.
도 4는 본 개시의 몇몇 실시예에 따른 적어도 하나의 데이터 도트 지점에 데이터 도트가 배치된 위치에 따라 1 바이트의 데이터가 표현되는 방법의 일례를 설명하기 위한 도면이다.
도 5는 본 개시의 몇몇 실시예에 따른 컴퓨팅 장치가 도트 패턴을 인식하는 방법의 일례를 설명하기 위한 흐름도이다.
도 6은 본 개시의 몇몇 실시예에 따른 컴퓨팅 장치가 데이터를 획득하는 방법의 일례를 설명하기 위한 흐름도이다.
도 7은 본 개시의 몇몇 실시예에 따른 컴퓨팅 장치가 복수의 데이터 블록을 인식하는 방법의 일례를 설명하기 위한 흐름도이다.
도 8은 본 개시의 몇몇 실시예에 따른 컴퓨팅 장치가 복수의 데이터 블록을 인식하는 순서의 일례를 설명하기 위한 도면이다.
도 9는 본 개시의 몇몇 실시예에 따른 컴퓨팅 장치가 정보 블록에 포함된 복수의 데이터 블록 중 최초 데이터 블록을 인식하는 방법의 일례를 설명하기 위한 흐름도이다.
도 10은 본 개시의 몇몇 실시예에 따른 컴퓨팅 장치가 정보 블록에 포함된 복수의 데이터 블록 중 최초 데이터 블록을 인식하는 방법의 일례를 설명하기 위한 도면이다.
도 11은 본 개시의 몇몇 실시예에 따른 컴퓨팅 장치가 보정된 이미지를 생성하는 방법의 일례를 설명하기 위한 흐름도이다.
도 12는 본 개시의 몇몇 실시예에 따른 컴퓨팅 장치가 보정된 이미지를 생성하는 방법의 일례를 설명하기 위한 도면이다.
도 1은 본 개시의 몇몇 실시예에 따른 정보 블록의 일례를 설명하기 위한 도면이다.
도 2는 본 개시의 몇몇 실시예에 따른 데이터 블록의 일례를 설명하기 위한 도면이다.
도 3은 본 개시의 몇몇 실시예에 따른 데이터 도트가 인식되는 순서를 나타내기 위한 도면이다.
도 4는 본 개시의 몇몇 실시예에 따른 적어도 하나의 데이터 도트 지점에 데이터 도트가 배치된 위치에 따라 1 바이트의 데이터가 표현되는 방법의 일례를 설명하기 위한 도면이다.
도 5는 본 개시의 몇몇 실시예에 따른 컴퓨팅 장치가 도트 패턴을 인식하는 방법의 일례를 설명하기 위한 흐름도이다.
도 6은 본 개시의 몇몇 실시예에 따른 컴퓨팅 장치가 데이터를 획득하는 방법의 일례를 설명하기 위한 흐름도이다.
도 7은 본 개시의 몇몇 실시예에 따른 컴퓨팅 장치가 복수의 데이터 블록을 인식하는 방법의 일례를 설명하기 위한 흐름도이다.
도 8은 본 개시의 몇몇 실시예에 따른 컴퓨팅 장치가 복수의 데이터 블록을 인식하는 순서의 일례를 설명하기 위한 도면이다.
도 9는 본 개시의 몇몇 실시예에 따른 컴퓨팅 장치가 정보 블록에 포함된 복수의 데이터 블록 중 최초 데이터 블록을 인식하는 방법의 일례를 설명하기 위한 흐름도이다.
도 10은 본 개시의 몇몇 실시예에 따른 컴퓨팅 장치가 정보 블록에 포함된 복수의 데이터 블록 중 최초 데이터 블록을 인식하는 방법의 일례를 설명하기 위한 도면이다.
도 11은 본 개시의 몇몇 실시예에 따른 컴퓨팅 장치가 보정된 이미지를 생성하는 방법의 일례를 설명하기 위한 흐름도이다.
도 12는 본 개시의 몇몇 실시예에 따른 컴퓨팅 장치가 보정된 이미지를 생성하는 방법의 일례를 설명하기 위한 도면이다.
다양한 실시예들 및/또는 양상들이 이제 도면들을 참조하여 개시된다. 하기 설명에서는 설명을 목적으로, 하나 이상의 양상들의 전반적 이해를 돕기 위해 다수의 구체적인 세부사항들이 개시된다. 그러나, 이러한 양상(들)은 이러한 구체적인 세부사항들 없이도 실행될 수 있다는 점 또한 본 개시의 기술 분야에서 통상의 지식을 가진 자에게 감지될 수 있을 것이다. 이후의 기재 및 첨부된 도면들은 하나 이상의 양상들의 특정한 예시적인 양상들을 상세하게 기술한다. 하지만, 이러한 양상들은 예시적인 것이고 다양한 양상들의 원리들에서의 다양한 방법들 중 일부가 이용될 수 있으며, 기술되는 설명들은 그러한 양상들 및 그들의 균등물들을 모두 포함하고자 하는 의도이다. 구체적으로, 본 명세서에서 사용되는 "실시예", "예", "양상", "예시" 등은 기술되는 임의의 양상 또는 설계가 다른 양상 또는 설계들보다 양호하다거나, 이점이 있는 것으로 해석되지 않을 수도 있다.
이하, 도면 부호에 관계없이 동일하거나 유사한 구성 요소는 동일한 참조 번호를 부여하고 이에 대한 중복되는 설명은 생략한다. 또한, 본 명세서에 개시된 실시예를 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 명세서에 개시된 실시예의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 첨부된 도면은 본 명세서에 개시된 실시예를 쉽게 이해할 수 있도록 하기 위한 것일 뿐, 첨부된 도면에 의해 본 명세서에 개시된 기술적 사상이 제한되지 않는다.
비록 제 1, 제 2 등이 다양한 소자나 구성요소들을 서술하기 위해서 사용되나, 이들 소자나 구성요소들은 이들 용어에 의해 제한되지 않음은 물론이다. 이들 용어들은 단지 하나의 소자나 구성요소를 다른 소자나 구성요소와 구별하기 위하여 사용하는 것이다. 따라서, 이하에서 언급되는 제 1 소자나 구성요소는 본 발명의 기술적 사상 내에서 제 2 소자나 구성요소 일 수도 있음은 물론이다.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있을 것이다. 또 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다.
더불어, 용어 "또는"은 배타적 "또는"이 아니라 내포적 "또는"을 의미하는 것으로 의도된다. 즉, 달리 특정되지 않거나 문맥상 명확하지 않은 경우에, "X는 A 또는 B를 이용한다"는 자연적인 내포적 치환 중 하나를 의미하는 것으로 의도된다. 즉, X가 A를 이용하거나; X가 B를 이용하거나; 또는 X가 A 및 B 모두를 이용하는 경우, "X는 A 또는 B를 이용한다"가 이들 경우들 어느 것으로도 적용될 수 있다. 또한, 본 명세서에 사용된 "및/또는"이라는 용어는 열거된 관련 아이템들 중 하나 이상의 아이템의 가능한 모든 조합을 지칭하고 포함하는 것으로 이해되어야 한다.
또한, "포함한다" 및/또는 "포함하는"이라는 용어는, 해당 특징 및/또는 구성요소가 존재함을 의미하지만, 하나 이상의 다른 특징, 구성요소 및/또는 이들의 그룹의 존재 또는 추가를 배제하지 않는 것으로 이해되어야 한다. 또한, 달리 특정되지 않거나 단수 형태를 지시하는 것으로 문맥상 명확하지 않은 경우에, 본 명세서와 청구범위에서 단수는 일반적으로 "하나 또는 그 이상"을 의미하는 것으로 해석되어야 한다.
더불어, 본 명세서에서 사용되는 용어 "정보" 및 "데이터"는 종종 서로 상호교환 가능하도록 사용될 수 있다.
이하의 설명에서 사용되는 구성 요소에 대한 접미사 "모듈" 및 "부"는 명세서 작성의 용이함만이 고려되어 부여되거나 혼용되는 것으로서 그 자체로 서로 구별되는 의미 또는 역할을 갖는 것은 아니다.
본 개시의 목적 및 효과, 그리고 그것들을 달성하기 위한 기술적 구성들은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 본 개시를 설명하는데 있어서 공지 기능 또는 구성에 대한 구체적인 설명이 본 개시의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 그리고 후술되는 용어들은 본 개시에서의 기능을 고려하여 정의된 용어들로써 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다.
그러나 본 개시는 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있다. 단지 본 실시예들은 본 개시가 완전하도록 하고, 본 개시가 속하는 기술분야에서 통상의 지식을 가진 자에게 개시의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 개시는 청구항의 범주에 의해 정의될 뿐이다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
본 개시에서, 도트 패턴은 대상체에 인쇄될 수 있다. 여기서, 대상체는 종이, 비닐, 포장지, 플라스틱 등 도트 패턴의 인쇄가 가능한 것일 수 있다. 그리고, 컴퓨팅 장치는 도트 패턴을 인식하여 데이터를 획득할 수 있다.
예를 들어, 도트 패턴은 사각형의 복수의 데이터 블록으로 구성된 정보 블록에 포함되어 있을 수 있다. 그리고, 도트 패턴에 포함된 적어도 하나의 도트는 각각 1 비트(bit)의 데이터를 표현할 수 있다.
한편, 컴퓨팅 장치는 정보 블록에 포함된 적어도 하나의 도트의 유무를 확인할 수 있다. 그리고, 적어도 하나의 도트의 유무에 기초하여, 2진수의 지정된 자리에 값을 할당하여 데이터를 생성할 수 있다. 이하, 도 1 내지 도 12를 통해 본 개시에 따른 도트 패턴 및 도트 패턴을 인식하는 방법의 일례에 대해 설명한다.
도 1은 본 개시의 몇몇 실시예에 따른 정보 블록의 일례를 설명하기 위한 도면이다.
도 1을 참조하면, 정보 블록(1000)은 복수의 데이터 블록(100)을 포함할 수 있다. 다만, 상술한 구성 요소들은 정보 블록(1000)을 구현하는데 있어서 필수적인 것은 아니어서, 정보 블록(1000)은 위에서 열거된 구성요소들 보다 많거나, 또는 적은 구성요소들을 가질 수 있다.
복수의 데이터 블록(100) 각각은 사각형 또는 직사각형으로 구현될 수 있다. 그리고, 복수의 데이터 블록(100) 각각은 가로 방향 및 세로 방향으로 조합되어 하나의 정보 블록(1000)으로서 구현될 수 있다.
일례로, 정보 블록(1000)은 4개의 행 및 4개의 열로 조합된 16개의 데이터 블록(100)을 포함할 수 있다. 다만, 이에 한정되는 것은 아니다.
한편, 복수의 데이터 블록(100) 각각에 존재하는 도트 패턴은 데이터를 표현할 수 있다.
구체적으로, 복수의 데이터 블록(100) 각각에 포함된 도트 패턴 중 데이터 도트 각각은 1 비트(bit)의 데이터를 표현할 수 있다. 또한, 복수의 데이터 블록(100) 각각에 포함된 도트 패턴은 데이터 도트가 존재하는 위치에 기초하여, 8 비트의 2진수 데이터를 표현할 수 있다. 즉, 복수의 데이터 블록(100) 각각에 포함된 도트 패턴은 1 바이트(byte)의 데이터를 표현할 수 있다. 다만, 이에 한정되는 것은 아니다. 이하, 복수의 데이터 블록(100) 각각에 포함된 도트 패턴에 대한 내용은 도 2 내지 도 4를 통해 후술한다.
한편, 본 개시에서 정보 블록(1000)은 도트 패턴을 통해 64비트 또는 128 비트의 데이터를 표현할 수 있다.
구체적으로, 정보 블록(1000)에 포함된 복수의 데이터 블록(100) 각각은 도트 패턴을 통해 8 비트의 데이터를 표현할 수 있다. 그리고, 정보 블록(1000)은 8개의 데이터 블록(100)에 포함된 도트 패턴을 통해 64 비트의 데이터를 표현하거나 또는 16개의 데이터 블록(100)에 포함된 도트 패턴을 통해 128 비트의 데이터를 표현할 수 있다.
일례로, 정보 블록(1000)에 포함된 복수의 데이터 블록(100) 중 최초 데이터 블록에는 정보 블록을 구성하는 복수의 데이터 블록(100)의 개수를 나타내는 확장 도트가 존재할 수 있다. 이 경우, 컴퓨팅 장치는 확장 도트가 존재하는지 여부에 기초하여 8개의 데이터 블록(100)에 포함된 도트 패턴을 인식하거나 또는 16개의 데이터 블록(100)에 포함된 도트 패턴을 인식할 수 있다. 이하, 확장 블록과 관련된 내용은 도 2 및 도 10을 통해 후술한다.
한편, 복수의 데이터 블록(100) 중 최초로 해석되는 최초 데이터블록(100a)은 복수의 데이터 블록(100b)에 비해 방향 도트 및 확장 도트를 더 포함할 수 있다. 여기서, 방향 도트는 컴퓨팅 장치가 정보 블록을 이루는 복수의 데이터 블록(100) 중 최초 데이터 블록(100a)을 인식하기 위한 도트일 수 있다. 그리고, 확장 도트는 컴퓨팅 장치가 정보 블록(1000)에 포함된 복수의 데이터 블록(100)의 개수를 인식하기 위한 도트일 수 있다. 이하, 방향 도트 및 확장 도트에 대한 설명은 도 2를 통해 후술한다.
상술한 구성에 따르면, 정보 블록(1000)은 도트 패턴을 통해 64비트 또는 128 비트의 데이터를 제공할 수 있다.
도 2는 본 개시의 몇몇 실시예에 따른 데이터 블록의 일례를 설명하기 위한 도면이다.
도 2의 (a)를 참조하면, 최초 데이터 블록(100a)은 기준 도트(110), 방향 도트(120), 확장 도트(130) 및 데이터 도트(140)를 포함할 수 있다. 여기서, 최초 데이터 블록(100a)은 정보 블록(1000)에 포함된 복수의 데이터 블록(100) 중 최초로 해석되는 블록일 수 있다. 다만, 이에 한정되는 것은 아니다.
기준 도트(110)는 복수의 데이터 블록(100) 각각의 중심에 존재할 수 있다. 즉, 기준 도트(110)는 최초 데이터 블록(100a) 및 최초 데이터 블록이 아닌 복수의 데이터 블록(100b)에 모두 존재할 수 있다. 다만, 이에 한정되는 것은 아니다.
한편, 기준 도트(110)는 정보 블록(1000)에 포함된 도트 패턴 간의 정확한 간격을 제공할 수 있다. 이하, 기준 도트(110)가 정보 블록(1000)에 포함된 도트 패턴 간의 정확한 간격을 제공하는 내용은 도 11 내지 도 12를 통해 후술한다.
한편, 본 개시의 몇몇 실시예에 따르면, 기준 도트(110)는 컴퓨팅 장치가 보정율을 산출하기 위해 이용될 수도 있다. 여기서, 보정율은 컴퓨팅 장치가 도트 패턴을 촬영한 경우 발생하게 되는 이미지 왜곡을 보정하는데 사용되는 값일 수 있다.
구체적으로, 정보 블록(1000)이 촬영된 도트 패턴이 포함된 이미지는 다양한 각도에서 촬영될 수 있다. 이때, 이미지에 포함된 도트 패턴의 간격은 컴퓨팅 장치가 정보 블록(1000)을 촬영하는 각도에 따라 달라질 수 있다. 이 경우, 컴퓨팅 장치는 정보 블록(1000)에 포함된 도트 패턴을 통해 정확한 데이터를 추출하지 못할 수도 있다. 따라서, 컴퓨팅 장치는 기준 도트(110)를 통해 이미지에 대한 보정을 수행할 수 있다. 이하, 보정율에 대한 내용은 도 12를 통해 후술한다.
한편, 본 개시의 몇몇 실시예에 따르면, 복수의 데이터 블록(100) 각각은 가로 및 세로 방향으로 9개의 가상의 선을 포함할 수 있다. 이 경우, 기준 도트(110)는 9개의 가상의 선에 의해 생성되는 교차점 중 정중앙에 위치하는 교차점에 존재할 수 있다. 다만, 이에 한정되는 것은 아니다.
한편, 방향 도트(120)는 정보 블록(1000)에 포함된 복수의 데이터 블록(100) 중 어느 블록이 최초로 해석되는 최초 데이터 블록(100a)인지를 나타낼 수 있다.
따라서, 방향 도트(120)는 복수의 데이터 블록(100) 중 최초 데이터 블록(100a)에만 포함되어 있을 수 있다. 일례로, 도 2의 (b)를 참조하면, 최초 데이터 블록 외 데이터 블록(100b)에는 방향 도트(120)가 포함되어 있지 않을 수 있다. 다만, 이에 한정되는 것은 아니다.
한편, 방향 도트(120)는 최초 데이터 블록(100a) 내에 제 1 지점에 배치될 수 있다. 여기서, 제 1 지점은 기준 도트(110)의 12시 방향에 위치하고, 기준 도트(110)로부터 제 1 거리만큼 이격된 지점일 수 있다. 이 경우, 컴퓨팅 장치가 도트 패턴을 인식함에 있어서, 기준 도트(110)와 방향 도트(120)의 거리가 근접하여 인식을 제대로 하지 못하는 등의 오류가 방지될 수 있다. 또한, 도트 패턴은 대상체에 인식되는 것으로서, 인쇄 장치의 성능이 부족하여 기준 도트(110)와 방향 도트(120)가 겹쳐서 인쇄되는 문제 등도 방지될 수 있다.
한편, 복수의 데이터 블록(100) 각각은 가로 방향으로 9개의 가상의 선을 포함할 수 있다. 또한, 복수의 데이터 블록(100) 각각은 세로 방향으로도 9개의 가상의 선을 포함할 수 있다. 이 경우, 18개의 가상의 선은 복수의 교차점을 형성할 수 있다. 그리고, 방향 도트(120)는 기준 도트(110)가 존재하는 교차점으로부터 12시 방향으로 3번째에 존재하는 교차점 상에 존재할 수 있다. 즉, 방향 도트(120)는 기준 도트(110)로부터 3칸 떨어진 거리에 존재할 수 있다. 다만, 이에 한정되는 것은 아니다.
한편, 확장 도트(130)는 정보 블록(1000)에 포함된 복수의 데이터 블록(100)의 개수를 나타낼 수 있다.
일례로, 확장 도트(130)가 최초 데이터 블록(100a)에 존재하는 경우, 정보 블록(100)에 포함된 복수의 데이터 블록(100)의 개수는 16개일 수 있다. 다른 일례로, 최초 데이터 블록(100a)에 확장 도트(130)가 존재하지 않는 경우, 정보 블록(100)에 포함된 복수의 데이터 블록(100)의 개수는 8개일 수 있다. 다만, 이에 한정되는 것은 아니다.
한편, 확장 도트(130)는 최초 데이터 블록(100a) 내에 제 2 지점에 배치될 수 있다. 여기서, 제 2 지점은 기준 도트(110)의 9시 방향에 위치하고, 기준 도트(110)로부터 제 2 거리만큼 이격된 지점일 수 있다. 이 경우, 컴퓨팅 장치가 도트 패턴을 인식함에 있어서, 기준 도트(110)와 확장 도트(130)의 거리가 근접하여 인식을 제대로 하지 못하는 등의 오류가 방지될 수 있다. 또한, 도트 패턴은 대상체에 인식되는 것으로서, 인쇄 장치의 성능이 부족하여 기준 도트(110)와 방향 도트(130)가 겹쳐서 인쇄되는 문제 등도 방지될 수 있다.
한편, 확장 도트(130)는 복수의 데이터 블록(100) 중 최초 데이터 블록(100a)에만 포함되어 있을 수 있다. 일례로, 도 2의 (b)를 참조하면, 최초 데이터 블록 외 데이터 블록(100b)에는 방향 도트(120)가 포함되어 있지 않을 수 있다. 다만, 이에 한정되는 것은 아니다.
한편, 복수의 데이터 블록(100) 각각은 가로 방향으로 9개의 가상의 선을 포함할 수 있다. 또한, 복수의 데이터 블록(100) 각각은 세로 방향으로도 9개의 가상의 선을 포함할 수 있다. 이 경우, 18개의 가상의 선은 복수의 교차점을 형성할 수 있다. 그리고, 확장 도트(130)는 기준 도트(110)가 존재하는 교차점으로부터 9시 방향으로 4번째에 존재하는 교차점 상에 존재할 수 있다. 즉, 확장 도트(130)는 기준 도트(110)로부터 4칸 떨어진 거리에 존재할 수 있다. 다만, 이에 한정되는 것은 아니다.
한편, 본 개시의 몇몇 실시예에 따르면, 기준 도트(110)와 방향 도트(120) 간의 제 1 거리는 기준 도트(110)와 확장 도트(130) 간의 제 2 거리보다 짧을 수 있다.
이 경우, 정보 블록(1000)이 인쇄된 대상체가 회전하여 컴퓨팅 장치에 안착되더라도, 방향 도트(120)와 확장 도트(130)가 혼동되어 인식되는 일이 방지될 수 있다. 다만, 이에 한정되는 것은 아니다.
한편, 데이터 도트(140)는 복수의 데이터 블록(100) 각각에 포함되고, 1 비트의 데이터를 표현할 수 있다.
구체적으로, 데이터 도트(140)는 적어도 하나의 데이터 도트 지점에 배치될 수 있다. 그리고, 적어도 하나의 데이터 도트 지점 각각은 1 바이트 내에 포함된 최상위 비트와 최하위 비트 사이의 복수의 비트 각각과 관련되어 있을 수 있다. 이 경우, 정보 블록(1000)은 적어도 하나의 데이터 도트 지점에 표현된 데이터 도트(140)를 통해 1 바이트의 데이터를 표현할 수 있다. 이하, 데이터 도트(140)가 적어도 하나의 데이터 도트 지점 각각에 배치된 지점에 따라 복수의 비트 각각을 표현하는 내용은 도 3 내지 도 4를 통해 후술한다.
한편, 복수의 데이터 블록(100) 각각은 가로 방향으로 9개의 가상의 선을 포함할 수 있다. 또한, 복수의 데이터 블록(100) 각각은 세로 방향으로도 9개의 가상의 선을 포함할 수 있다. 이 경우, 18개의 가상의 선은 복수의 교차점을 형성할 수 있다. 그리고, 적어도 하나의 데이터 도트 지점은 기준 도트(110)가 존재하는 교차점으로부터 대각선 방향에 존재하는 교차점 상에 존재할 수 있다. 이때, 적어도 하나의 데이터 도트 지점 각각은 기준 도트(110)로부터 제 3 거리 또는 제 3 거리보다 긴 제 4 거리만큼 이격되어 있을 수 있다. 여기서, 제 3 거리는 기준 도트(110)가 존재하는 교차점으로부터 대각선 방향으로 2번째에 존재하는 교차점까지의 거리일 수 있다. 그리고, 제 4 거리는 기준 도트(110)가 존재하는 교차점으로부터 대각선 방향으로 4번째에 존재하는 교차점까지의 거리일 수 있다. 즉, 데이터 도트(140)는 기준 도트(110)로부터 2칸 떨어진 거리 또는 4칸 떨어진 거리에 존재할 수 있다. 다만, 이에 한정되는 것은 아니다.
한편, 적어도 하나의 데이터 도트 지점 각각은 기준 도트(110)가 존재하는 중심으로부터 제 3 거리만큼 이격됨에 따라 컴퓨팅 장치가 기준 도트(110)와 데이터 도트(140) 간의 거리가 근접하여 인식을 제대로 하지 못하는 등의 오류가 방지될 수 있다. 또한, 적어도 하나의 데이터 도트 지점 각각은 제 3 거리 및 제 4 거리로 이격되어 존재함에 따라, 데이터 도트(140) 간의 거리가 근접하여 인식을 제대로 하지 못하는 등의 오류가 방지될 수 있다. 또한, 인쇄 장치의 성능이 부족하여 복수의 데이터 도트(140)가 겹쳐서 인쇄되는 문제 등도 방지될 수 있다.
상술한 구성에 따르면, 정보 블록(1000)은 기준 도트(110) 및 기준 도트(110)로부터 대각선 방향에 존재하는 데이터 도트(140)를 통해 8 비트의 데이터를 표현할 수 있다.
또한, 정보 블록(1000)은 복수의 데이터 블록(100) 중 최초로 해석되는 최초 데이터 블록(100a)에 존재하는 방향 도트(120) 및 확장 도트(130)를 통해 복수의 데이터 블록(100)을 인식하는 순서 및 복수의 데이터 블록(100)의 개수를 표현할 수 있다. 이때, 방향 도트(120) 및 확장 도트(130)는 최초 데이터 블록(100a)에만 존재하므로, 도트가 최소화될 수 있다. 따라서, 정보 블록(1000)은 컴퓨팅 장치에 의해 인식되는 경우, 신속하게 정보 블록(1000)의 시작과 방향을 탐색할 수 있도록 할 수 있다. 다만, 이에 한정되는 것은 아니다.
한편, 본 개시의 몇몇 실시예에 따르면, 적어도 하나의 데이터 도트 지점 각각은 1 바이트 내에 포함된 최상위 비트와 최하위 비트 사이의 복수의 비트 각각과 관련되어 있을 수 있다. 그리고, 데이터 도트(140)는 적어도 하나의 데이터 도트 지점에 배치되어 1 비트의 데이터를 표현할 수 있다. 이하, 도 3 내지 도 4를 통해 본 개시에 따른 데이터 도트(140)에 대해 설명한다.
도 3은 본 개시의 몇몇 실시예에 따른 데이터 도트가 인식되는 순서를 나타내기 위한 도면이다. 도 4는 본 개시의 몇몇 실시예에 따른 적어도 하나의 데이터 도트 지점에 데이터 도트가 배치된 위치에 따라 1 바이트의 데이터가 표현되는 방법의 일례를 설명하기 위한 도면이다.
도 3을 참조하면, 복수의 데이터 블록(100)은 데이터 도트(140)를 포함할 수 있다. 이때, 데이터 도트(140)는 적어도 하나의 데이터 도트 지점에 배치될 수 있다.
일례로, 제 1 데이터 도트(140a)는 제 1 데이터 도트 지점에 배치될 수 있다. 이때, 제 1 데이터 도트 지점은 기준 도트(110)로부터 제 4 거리만큼 이격되고 좌측 상방에 존재할 수 있다. 그리고, 제 1 데이터 도트 지점은 1 바이트의 최하위 비트에 해당하는 첫번째 비트와 관련될 수 있다.
구체적으로, 도 4를 참조하면, 제 1 데이터 도트 지점은 첫번째 비트와 관련될 수 있다. 일례로, 제 1 데이터 도트 지점에 제 1 데이터 도트(140a)가 배치되었을 수 있다. 이 경우, 첫번째 비트는 숫자 "1" 일수 있다. 다만, 이에 한정되는 것은 아니다.
한편, 제 2 데이터 도트(140b)는 제 2 데이터 도트 지점에 배치될 수 있다. 이때, 제 2 데이터 도트 지점은 기준 도트(110)로부터 제 4 거리만큼 이격되고 우측 상방에 존재하고 1 바이트의 두번째 비트와 관련될 수 있다. 일례로, 제 2 데이터 도트 지점에 제 2 데이터 도트(140b)가 배치되지 않았을 수도 있다. 이 경우, 두번째 비트는 숫자 "0" 일수 있다. 다만, 이에 한정되는 것은 아니다.
한편, 제 3 데이터 도트(140c)는 제 3 데이터 도트 지점에 배치될 수 있다. 이때, 제 3 데이터 도트 지점은 기준 도트(110)로부터 제 4 거리만큼 이격되고 우측 하방에 존재하고 1 바이트의 세번째 비트와 관련될 수 있다. 일례로, 제 3 데이터 도트 지점에 제 3 데이터 도트(140c)가 배치되었을 수 있다. 이 경우, 세번째 비트는 숫자 "1" 일수 있다. 다만, 이에 한정되는 것은 아니다.
한편, 제 4 데이터 도트(140d)는 제 4 데이터 도트 지점에 배치될 수 있다. 이때, 제 4 데이터 도트 지점은 기준 도트(110)로부터 제 4 거리만큼 이격되고 좌측 하방에 존재하고 1 바이트의 네번째 비트와 관련될 수 있다. 일례로, 제 4 데이터 도트 지점에 제 4 데이터 도트(140d)가 배치되었을 수 있다. 이 경우, 네번째 비트는 숫자 "1" 일수 있다. 다만, 이에 한정되는 것은 아니다.
한편, 제 5 데이터 도트(140e)는 제 5 데이터 도트 지점에 배치될 수 있다. 이때, 제 5 데이터 도트 지점은 기준 도트(110)로부터 제 3 거리만큼 이격되고 좌측 상방에 존재하고 1 바이트의 다섯번째 비트와 관련될 수 있다. 일례로, 제 5 데이터 도트 지점에 제 5 데이터 도트(140e)가 배치되지 않았을 수도 있다. 이 경우, 다섯번째 비트는 숫자 "0" 일수 있다. 다만, 이에 한정되는 것은 아니다.
한편, 제 6 데이터 도트(140f)는 제 6 데이터 도트 지점에 배치될 수 있다. 이때, 제 6 데이터 도트 지점은 기준 도트(110)로부터 제 3 거리만큼 이격되고 우측 상방에 존재하고 1 바이트의 여섯번째 비트와 관련될 수 있다. 일례로, 제 6 데이터 도트 지점에 제 6 데이터 도트(140f)가 배치되었을 수 있다. 이 경우, 여섯번째 비트는 숫자 "1" 일수 있다. 다만, 이에 한정되는 것은 아니다.
한편, 제 7 데이터 도트(140g)는 제 7 데이터 도트 지점에 배치될 수 있다. 이때, 제 7 데이터 도트 지점은 기준 도트(110)로부터 제 3 거리만큼 이격되고 우측 하방에 존재하고 1 바이트의 일곱번째 비트와 관련될 수 있다. 일례로, 제 7 데이터 도트 지점에 제 7 데이터 도트(140g)가 배치되었을 수 있다. 이 경우, 일곱번째 비트는 숫자 "1" 일수 있다. 다만, 이에 한정되는 것은 아니다.
한편, 제 8 데이터 도트(140h)는 제 8 데이터 도트 지점에 배치될 수 있다. 이때, 제 8 데이터 도트 지점은 기준 도트(110)로부터 제 3 거리만큼 이격되고 좌측 하방에 존재하고 1 바이트의 여덟번째 비트와 관련될 수 있다. 일례로, 제 8 데이터 도트 지점에 제 8 데이터 도트(140h)가 배치되었을 수 있다. 이 경우, 여덟번째 비트는 숫자 "1" 일수 있다. 다만, 이에 한정되는 것은 아니다.
상술한 일례에 따른, 데이터 도트(140)는 컴퓨팅 장치에 의해 인식되는 경우, 도 3에 도시된 화살표와 같이 시계 방향으로 인식되어 "11101101"과 같은 2진수의 1 바이트의 데이터를 표현할 수 있다.
이때, 제 1 데이터 도트(140a) 내지 제 4 데이터 도트(140d)는 기준 도트(110)로부터 제 4 거리만큼 이격되어 있고, 제 5 데이터 도트(140e) 내지 제 8 데이터 도트(140h)는 기준 도트(110)로부터 제 3 거리만큼 이격되어 있을 수 있다. 따라서, 컴퓨팅 장치가 데이터 도트를 인식하는 동작에 있어서, 데이터 도트(140) 간의 거리가 근접하여 인식을 제대로 하지 못하는 등의 오류가 방지될 수 있다.
한편, 본 개시에서 도트 패턴이 인쇄된 대상체는 컴퓨팅 장치의 프로세서에 의해 인식될 수 있다. 이하, 도 5를 통해 본 개시에 따른 컴퓨팅 장치가 도트 패턴을 인식하는 방법의 일례를 설명한다.
도 5는 본 개시의 몇몇 실시예에 따른 컴퓨팅 장치가 도트 패턴을 인식하는 방법의 일례를 설명하기 위한 흐름도이다.
한편, 도 5를 참조하면, 컴퓨팅 장치의 프로세서는 도트 패턴이 포함된 이미지를 인식할 수 있다(S110).
구체적으로, 프로세서는 대상체가 촬영된 화상 프레임으로부터 도트 패턴이 포함된 이미지를 인식할 수 있다. 다만, 이에 한정되는 것은 아니다.
한편, 본 개시의 몇몇 실시예에 따르면, 컴퓨팅 장치의 프로세서는 복수의 데이터 블록(100) 중 인접한 적어도 두개의 데이터 블록(100)에 포함된 기준 도트(110) 간의 간격을 인식하여, 보정된 이미지를 생성할 수 있다. 이하, 프로세서가 보정된 이미지를 생성하는 방법의 일례는 도 11 내지 도 12를 통해 후술한다.
한편, 컴퓨팅 장치의 프로세서는 이미지를 분석하여 데이터를 획득할 수 있다(S120).
구체적으로, 프로세서는 복수의 데이터 블록(100) 각각에 데이터 도트(140)가 존재하는지 여부 및 데이터 도트(140)가 존재하는 위치에 기초하여 데이터를 획득할 수 있다. 다만, 이에 한정되는 것은 아니다. 이하, 도 6을 통해 프로세서가 이미지를 분석하여 데이터를 획득하는 방법에 대해 좀 더 설명한다.
도 6은 본 개시의 몇몇 실시예에 따른 컴퓨팅 장치가 데이터를 획득하는 방법의 일례를 설명하기 위한 흐름도이다.
도 6을 참조하면, 컴퓨팅 장치의 프로세서는 방향 도트(120)에 기초하여 복수의 데이터 블록(100) 중 최초 데이터 블록(100a)을 인식할 수 있다(S121).
구체적으로, 프로세서는 복수의 데이터 블록(100) 각각의 기준 도트(110)로부터 12시 방향에 위치한 제 1 지점에 방향 도트(120)가 존재하는지 여부를 인식할 수 있다. 그리고, 프로세서는 방향 도트(120)가 존재하는 데이터 블록(100)을 최초 데이터 블록(100a)이라고 인식할 수 있다. 다만, 이에 한정되는 것은 아니다.
한편, 본 개시의 몇몇 실시예에 따르면, 컴퓨팅 장치의 프로세서는 도트 패턴에 포함된 복수의 도트 중 어느 도트가 기준 도트(110) 인지를 인식하지 못할 수도 있다. 이 경우, 프로세서는 일정한 간격을 갖는 복수의 도트로부터 기준 도트(110)를 인식할 수도 있다. 이하, 프로세서가 기준 도트(110)를 인식하는 방법은 도 7을 통해 후술한다.
한편, 컴퓨팅 장치의 프로세서는 최초 데이터 블록(100a)의 제 2 지점에 확장 도트(130)가 존재하는지 여부에 기초하여, 정보 블록(1000)의 크기를 인식할 수 있다(S122).
일례로, 프로세서는 최초 데이터 블록(100a)에 확장 도트(130)가 존재한다고 인식한 경우, 정보 블록(100)에 포함된 복수의 데이터 블록(100)의 개수가 16개라고 인식할 수 있다.
다른 일례로, 프로세서는 최초 데이터 블록(100a)에 확장 도트(130)가 존재하지 않는다고 인식한 경우, 정보 블록(100)에 포함된 복수의 데이터 블록(100)의 개수가 8개라고 인식할 수 있다.
한편, 컴퓨팅 장치의 프로세서는 정보 블록(1000)의 크기가 인식된 경우, 정보 블록(1000)에 포함된 복수의 데이터 블록(100) 각각에 데이터 도트(140)가 존재하는지 여부 및 데이터 도트(140)가 존재하는 위치에 기초하여 데이터를 획득할 수 있다(S123).
구체적으로, 프로세서는 제 1 데이터 도트 지점 내지 제 8 데이터 도트 지점을 시계 방향으로 차례대로 인식할 수 있다. 이때, 프로세서는 데이터 도트 지점 각각에 배치된 데이터 도트(140)에 기초하여, 데이터를 획득할 수 있다. 다만, 이에 한정되는 것은 아니다.
한편, 본 개시에서 컴퓨팅 장치의 프로세서는 최초 데이터 블록(100a)이 인식되고, 최초 데이터 블록(110a)의 데이터를 획득한 경우, 최초 데이터 블록(100a)의 우측 방향에 위치하는 데이터 블록(100a)을 인식할 수 있다. 이하, 도 7 내지 도 8을 통해 프로세서가 정보 블록(100)에 포함된 복수의 데이터 블록(100)을 인식하는 방법에 대해 설명한다.
도 7은 본 개시의 몇몇 실시예에 따른 컴퓨팅 장치가 복수의 데이터 블록을 인식하는 방법의 일례를 설명하기 위한 흐름도이다.
도 7을 참조하면, 컴퓨팅 장치의 프로세서는 정보 블록(100)에 포함된 복수의 데이터 블록(100)에서 제 1 행에 포함된 4개의 데이터 블록(100) 중 좌측 첫번째 블록을 시작으로 우측 방향으로 분석하여 데이터를 획득할 수 있다(S210).
구체적으로, 프로세서는 정보 블록(100)의 제 1 행에 포함된 데이터 블록(100) 중 좌측 첫번째 블록인 제 1 데이터 블록을 분석하여 데이터를 획득할 수 있다. 이때, 제 1 데이터 블록은 최초 데이터 블록(100a)일 수 있다. 그리고, 프로세서는 제 1 데이터 블록의 데이터가 획득된 경우, 제 1 데이터 블록의 우측에 인접한 제 2 데이터 블록을 분석하여 데이터를 획득할 수 있다. 또한, 프로세서는 제 2 데이터 블록의 데이터가 획득된 경우, 제 2 데이터 블록의 우측에 인접한 제 3 데이터 블록을 분석하여 데이터를 획득할 수 있다. 그리고, 프로세서는 제 3 데이터 블록의 데이터가 획득된 경우, 제 3 데이터 블록의 우측에 인접한 제 4 데이터 블록을 분석하여 데이터를 획득할 수 있다. 다만, 이에 한정되는 것은 아니다.
한편, 컴퓨팅 장치의 프로세서는 제 1 행에 포함된 4개의 데이터 블록(100)에 대한 데이터의 분석이 완료된 경우, 제 1 행의 아래에 존재하는 제 2 행에 포함된 4개의 데이터 블록(100) 중 좌측 첫번째 블록을 시작으로 우측 방향으로 분석하여 데이터를 획득할 수 있다(S220).
구체적으로, 프로세서는 정보 블록(100)의 제 2 행에 포함된 데이터 블록(100) 중 좌측 첫번째 블록인 제 5 데이터 블록을 분석하여 데이터를 획득할 수 있다. 그리고, 프로세서는 제 5 데이터 블록의 데이터가 획득된 경우, 제 5 데이터 블록의 우측에 인접한 제 6 데이터 블록을 분석하여 데이터를 획득할 수 있다. 또한, 프로세서는 제 6 데이터 블록의 데이터가 획득된 경우, 제 6 데이터 블록의 우측에 인접한 제 7 데이터 블록을 분석하여 데이터를 획득할 수 있다. 그리고, 프로세서는 제 7 데이터 블록의 데이터가 획득된 경우, 제 7 데이터 블록의 우측에 인접한 제 8 데이터 블록을 분석하여 데이터를 획득할 수 있다. 다만, 이에 한정되는 것은 아니다. 한편, 상술한 제 1 행 및 제 2 행은 본 발명의 설명을 위한 순서를 나타내기 위한 행일 뿐 그 개수가 한정되는 것은 아닐 수 있다.
한편, 본 개시에서, 정보 블록(1000)은 확장 도트(130)의 존재 여부에 따라, 16개의 데이터 블록(100)을 포함하고 있을 수도 있다. 이때, 프로세서는 상술한 순서와 같은 방법으로 복수의 데이터 블록(100)의 데이터를 획득할 수 있다. 이하, 도 8을 통해 프로세서가 복수의 데이터 블록(100)으로부터 데이터를 획득하는 순서의 일례에 대해 좀 더 설명한다.
도 8은 본 개시의 몇몇 실시예에 따른 컴퓨팅 장치가 복수의 데이터 블록을 인식하는 순서의 일례를 설명하기 위한 도면이다.
도 8의 (a)는 정보 블록에 확장 도트가 존재하지 않은 경우 컴퓨팅 장치가 복수의 데이터 블록을 인식하는 순서의 일례를 설명하기 위한 도면이다.
도 8의 (a)를 참조하면, 제 1 정보 블록(1000a)은 복수의 데이터 블록(100)을 포함할 수 있다. 이때, 제 1 정보 블록(1000a)의 좌측 상단에는 최초 데이터 블록(100a)이 포함되어 있을 수 있다. 여기서, 최초 데이터 블록(100a)은 기준 도트(110)의 12시 방향에 위치하고 제 1 거리만큼 이격된 제 1 지점에 방향 도트(120)가 존재하는 블록일 수 있다.
한편, 제 1 정보 블록(1000a)에는 확장 도트(130)가 존재하지 않을 수 있다.
구체적으로, 제 1 정보 블록(1000a)의 최초 데이터 블록(100a)에는 기준 도트(110)의 9시 방향에 위치하고, 제 2 거리만큼 이격된 제 2 지점에 확장 도트(130)가 존재하지 않을 수 있다. 따라서, 제 1 정보 블록(1000a)은 8개의 데이터 블록(100)만 포함할 수 있다. 이 경우, 컴퓨팅 장치의 프로세서는 8개의 데이터 블록(100)에 대한 데이터를 화살표와 같은 순서대로 획득할 수 있다. 다만, 이에 한정되는 것은 아니다.
한편, 컴퓨팅 장치의 프로세서는 제 1 정보 블록(1000a)에 포함된 8개의 데이터 블록(100)에서 데이터의 획득이 완료된 경우, 제 2 정보 블록(1000b)에 포함된 8개의 데이터 블록(100)에서 순서대로 데이터를 획득할 수 있다. 다만, 이에 한정되는 것은 아니다.
한편, 도 8의 (b)는 정보 블록에 확장 도트가 존재하는 경우 컴퓨팅 장치가 복수의 데이터 블록을 인식하는 순서의 일례를 설명하기 위한 도면이다.
도 8의 (b)를 참조하면, 제 3 정보 블록(1000c)은 복수의 데이터 블록(100)을 포함할 수 있다. 이때, 제 3 정보 블록(1000c)의 좌측 상단에는 최초 데이터 블록(100a)이 포함되어 있을 수 있다. 여기서, 최초 데이터 블록(100a)은 기준 도트(110)의 12시 방향에 위치하고 제 1 거리만큼 이격된 제 1 지점에 방향 도트(120)가 존재하는 블록일 수 있다.
한편, 제 3 정보 블록(1000c)에는 확장 도트(130)가 존재할 수 있다.
구체적으로, 제 3 정보 블록(1000c)의 최초 데이터 블록(100a)에는 기준 도트(110)의 9시 방향에 위치하고, 제 2 거리만큼 이격된 제 2 지점에 확장 도트(130)가 존재할 수 있다. 따라서, 제 3 정보 블록(1000c)은 16개의 데이터 블록(100)을 포함할 수 있다. 이 경우, 컴퓨팅 장치의 프로세서는 16개의 데이터 블록(100)에 대한 데이터를 화살표와 같은 순서대로 획득할 수 있다. 다만, 이에 한정되는 것은 아니다.
한편, 본 개시의 몇몇 실시예에 따르면 정보 블록(1000)에 포함된 복수의 데이터 블록(100)의 개수는 확장 도트(130)에 의해 결정되는 것이 아닐 수도 있다.
구체적으로, 정보 블록(1000)은 기본적으로 16개의 데이터 블록(100)을 포함하고 있을 수 있다. 그리고, 확장 도트(130)는 16개의 데이터 블록(100) 중 컴퓨팅 장치가 인식해야 할 개수를 나타내기 위한 도트일 수도 있다. 즉, 정보 블록(1000)은 16개의 데이터 블록(100)을 포함하되, 컴퓨팅 장치가 확장 도트(130)의 존재 여부에 기초하여, 8개의 데이터 블록(100)의 데이터를 획득하거나 또는 16개의 데이터 블록(100)의 데이터를 획득할 수 있다. 다만, 이에 한정되는 것은 아니다.
한편, 본 개시의 몇몇 실시예에 따르면, 정보 블록(1000)은 복수개 구비될 수도 있다. 이 경우, 컴퓨팅 장치의 프로세서는 기준 도트(110) 및 방향 도트(120)에 기초하여 최초 데이터 블록(100a)을 인식할 수 있다. 이하, 도 9 내지 도 10을 통해 본 개시에 따른 프로세서가 최초 데이터 블록(100a)을 인식하는 방법의 일례를 설명한다.
도 9는 본 개시의 몇몇 실시예에 따른 컴퓨팅 장치가 정보 블록에 포함된 복수의 데이터 블록 중 최초 데이터 블록을 인식하는 방법의 일례를 설명하기 위한 흐름도이다. 도 10은 본 개시의 몇몇 실시예에 따른 컴퓨팅 장치가 정보 블록에 포함된 복수의 데이터 블록 중 최초 데이터 블록을 인식하는 방법의 일례를 설명하기 위한 도면이다.
본 개시에서, 컴퓨팅 장치의 프로세서는 정보 블록(1000)에 포함된 방향 도트(120)에 기초하여, 최초 데이터 블록(100a)을 인식할 수 있다. 이때, 프로세서는 방향 도트(120)가 존재하는지 여부를 인식하기 위해서 우선 기준 도트(110)를 인식해야 할 수 있다.
구체적으로, 도 9를 참조하면, 프로세서는 일정한 간격을 갖는 복수의 도트를 포함하는 적어도 하나의 후보 기준 도트 그룹을 인식할 수 있다(S1211).
여기서, 적어도 하나의 후보 기준 도트 그룹 각각은 적어도 4개의 도트를 포함할 수 있다. 이때, 적어도 4개의 도트는 기준 도트(110) 또는 데이터 도트(140)일 수 있다.
예를 들어, 도 10을 참조하면, 프로세서는 일정한 간격을 갖고, 연속적으로 4개가 배치된 도트는 모두 후보 기준 도트 그룹(150)으로 인식할 수 있다. 다만, 이에 한정되는 것은 아니다.
한편, 도 9를 다시 참조하면, 컴퓨팅 장치의 프로세서는 적어도 하나의 후보 기준 도트 그룹(150) 각각에 포함된 복수의 도트 중 첫번째 도트를 후보 기준 도트(160)로 결정할 수 있다(S1212).
일례로, 도 10을 다시 참조하면, 제 1 후보 기준 도트(160a)를 살펴보면, 복수의 도트가 횡방향으로 배열된 경우, 첫번째 도트는 복수의 도트 중 좌측 첫번째에 위치하는 도트일 수 있다.
다른 일례로, 제 2 후보 기준 도트(160b)를 살펴보면, 복수의 도트가 종방향으로 배열된 경우, 첫번째 도트는 복수의 도트 중 상측 첫번째에 위치하는 도트일 수 있다. 다만, 이에 한정되는 것은 아니다.
한편, 도 9를 다시 참조하면, 컴퓨팅 장치의 프로세서는 후보 기준 도트(160) 각각의 12시 방향으로 제 1 거리만큼 이격된 지점에 방향 도트(130)가 존재하는 데이터 블록(100)을 최초 데이터 블록(100a)으로 인식할 수 있다(S1213).
일례로, 도 10을 다시 참조하면, 프로세서는 제 1 후보 기준 도트(160a)의 12시 방향으로 제 1 거리만큼 이격된 지점에 방향 도트(130)가 존재한다고 인식할 수 있다. 이 경우, 프로세서는 제 1 후보 기준 도트(160a)가 존재하는 데이터 블록(100)을 최초 데이터 블록(100a)으로 인식할 수 있다.
다른 일례로, 프로세서는 제 2 후보 기준 도트(160b) 및 제 3 후보 기준 도트(160c)의 12시 방향으로 제 1 거리만큼 이격된 지점에 방향 도트(130)가 존재하지 않는다고 인식할 수 있다. 이 경우, 프로세서는 제 2 후보 기준 도트(160b) 및 제 3 후보 기준 도트(160c) 가 존재하는 데이터 블록(100)은 최초 데이터 블록이 아닌 데이터 블록(100b)라고 인식할 수 있다. 다만, 이에 한정되는 것은 아니다.
한편, 본 개시의 몇몇 실시예에 따르면, 컴퓨팅 장치의 프로세서는 복수의 데이터 블록(100) 중 인접한 적어도 두개의 데이터 블록(100)에 포함된 기준 도트(110) 간의 간격을 인식하여, 보정된 이미지를 생성할 수 있다. 이하, 도 11 내지 도 12를 통해 프로세서가 보정된 이미지를 생성하는 방법에 대해 설명한다.
도 11은 본 개시의 몇몇 실시예에 따른 컴퓨팅 장치가 보정된 이미지를 생성하는 방법의 일례를 설명하기 위한 흐름도이다. 도 12는 본 개시의 몇몇 실시예에 따른 컴퓨팅 장치가 보정된 이미지를 생성하는 방법의 일례를 설명하기 위한 도면이다.
도 11을 참조하면, 컴퓨팅 장치의 프로세서는 복수의 데이터 블록(100) 중 인접한 적어도 두개의 데이터 블록(100)에 포함된 기준 도트(110) 간의 간격을 인식할 수 있다(S111).
구체적으로, 프로세서는 촬영부에 의해 획득된 이미지로부터 복수의 데이터 블록(100) 중 인접한 적어도 두개의 데이터 블록(100)에 포함된 기준 도트(110) 간의 간격을 인식할 수 있다.
한편, 촬영부에 의해 획득된 이미지는 촬영부가 대상체를 촬영하는 각도 및 거리에 따라 도트 패턴의 간격이 상이할 수 있다.
일례로, 촬영부는 도트 패턴이 인쇄된 대상체의 상방에서 대상체를 촬영할 수 있다. 다른 일례로, 촬영부는 도트 패턴이 인쇄된 대상체의 측면에서 대상체를 촬영할 수 있다. 이때, 촬영부가 대상체의 상방에서 대상체를 촬영하여 획득한 이미지와, 대상체의 측면에서 대상체를 촬영하여 획득된 이미지에 포함된 기준 도트(110) 간의 간격은 상이할 수 있다. 따라서, 프로세서는 이미지가 획득된 경우, 이미지를 분석하여 데이터를 획득하기 이전에 복수의 데이터 블록(100) 중 인접한 적어도 두개의 데이터 블록(100)에 포함된 기준 도트(110) 간의 간격을 우선 인식할 수 있다. 다만, 이에 한정되는 것은 아니다.
한편, 컴퓨팅 장치의 프로세서는 간격이 기 저장된 간격과 상이한 경우, 이미지를 보정하기 위한 보정율을 산출할 수 있다(S112).
구체적으로, 도 12를 참조하면, 복수의 데이터 블록(100) 중 제 1 데이터 블록(100c)에 포함된 제 1 기준 도트(110)는 제 1 데이터 블록(100c)과 인접한 제 1 인접 데이터 블록(100d)에 포함된 제 2 기준 도트(110)와 제 5 거리(R)만큼 이격되어 있을 수 있다. 그리고, 제 1 데이터 블록(100c)에 포함된 제 1 기준 도트(110)는 제 1 데이터 블록(100)과 인접한 제 2 인접 데이터 블록(100e)에 포함된 제 3 기준 도트(110)와 제 5 거리(R)만큼 이격되어 있을 수 있다. 즉, 복수의 제 1 기준 도트(110) 간의 제 5 거리(R)는 기 저장되어 있을 수 있다. 그리고, 프로세서는 촬영부를 통해 획득된 이미지에 포함된 기준 도트(110) 간의 간격이 제 5 거리(R)와 상이한 경우, 보정율을 산출할 수 있다. 다만, 이에 한정되는 것은 아니다.
한편, 컴퓨팅 장치의 프로세서는 보정율에 기초하여 보정된 이미지를 생성할 수 있다(S113).
구체적으로, 복수의 데이터 블록(100) 중 인접한 적어도 두개의 데이터 블록(100)에 포함된 기준 도트(110) 간의 간격이 제 5 거리(R)가 되도록 보정된 이미지를 생성할 수 있다. 다만, 이에 한정되는 것은 아니다.
한편, 컴퓨팅 장치의 프로세서는 보정된 이미지가 생성된 경우, 보정된 이미지를 분석하여 데이터를 획득할 수 있다. 다만, 이에 한정되는 것은 아니다.
상술한 구성에 따르면, 기준 도트(110)는 간격이 일정하도록 존재하고 있음으로써, 컴퓨팅 장치가 정보 블록(1000)으로부터 이미지를 획득할 때 발생될 수 있는 왜곡이 보정될 수 있다. 따라서, 컴퓨팅 장치가 정보 블록(1000)으로부터 데이터를 획득할 때 발생할 수 있는 오류도 방지될 수 있다.
도 1 내지 도 12를 통해 살펴본 바에 따르면, 본 발명에 따른 정보 블록(1000)은 기준 도트(110), 방향 도트(120), 확장 도트(130) 및 데이터 도트(140)를 포함할 수 있다. 그리고, 각각의 도트 들은 정보 블록(1000) 내에서 일정한 간격과 기 설정된 위치를 가질 수 있다. 따라서, 컴퓨팅 장치가 정보 블록(1000)으로부터 데이터를 획득하는 과정에 있어서 발생될 수 있는 다양한 오류 등이 방지될 수 있다. 그리고, 컴퓨팅 장치는 최초 데이터 블록(100a)을 인식한 이후에는 복수의 데이터 블록(100) 각각에 포함된 데이터 도트(140)가 존재하는지 여부에 기초하여 데이터를 획득할 수 있으므로, 데이터의 획득을 신속하게 할 수 있다. 다만, 이에 한정되는 것은 아니다.
제시된 실시예들에 대한 설명은 임의의 본 개시의 기술 분야에서 통상의 지식을 가진 자가 본 개시를 이용하거나 또는 실시할 수 있도록 제공된다. 이러한 실시예들에 대한 다양한 변형들은 본 개시의 기술 분야에서 통상의 지식을 가진 자에게 명백할 것이며, 여기에 정의된 일반적인 원리들은 본 개시의 범위를 벗어남이 없이 다른 실시예들에 적용될 수 있다. 그리하여, 본 개시는 여기에 제시된 실시예들로 한정되는 것이 아니라, 여기에 제시된 원리들 및 신규한 특징들과 일관되는 최광의의 범위에서 해석되어야 할 것이다.
Claims (16)
- 대상체에 인쇄된 도트 패턴에 있어서,
상기 도트 패턴은, 사각형의 복수의 데이터 블록으로 구성된 정보 블록에 포함되고,
상기 정보 블록은,
상기 복수의 데이터 블록 각각의 중심에 배치되는 기준 도트;
상기 정보 블록에 포함된 상기 복수의 데이터 블록 중 어느 블록이 최초로 해석되는 최초 데이터 블록인지를 나타내는 방향 도트가 배치되는 제 1 지점;
상기 정보 블록에 포함된 상기 복수의 데이터 블록의 개수를 나타내는 확장 도트가 배치되는 제 2 지점; 및
상기 복수의 데이터 블록 각각에 포함되고, 1비트(bit)의 데이터를 표현하는 데이터 도트가 배치되는 적어도 하나의 데이터 도트 지점을 포함하고,
상기 제 1 지점은,
상기 기준 도트의 12시 방향에 위치하고, 상기 기준 도트로부터 제 1 거리만큼 이격된, 도트 패턴.
- 삭제
- 제 1 항에 있어서,
상기 제 2 지점은,
상기 기준 도트의 9시 방향에 위치하고 상기 기준 도트로부터 제 2 거리만큼 이격된,
도트 패턴.
- 제 3 항에 있어서,
상기 제 1 거리는,
상기 제 2 거리보다 짧은,
도트 패턴.
- 제 4 항에 있어서,
상기 적어도 하나의 데이터 도트 지점은,
상기 복수의 데이터 블록 각각에 포함된 복수의 가상 대각선 상에 존재하고, 상기 기준 도트로부터 제 3 거리 또는 상기 제 3 거리보다 긴 제 4 거리만큼 이격된,
도트 패턴.
- 제 1 항에 있어서,
상기 최초 데이터 블록의 상기 제 2 지점에 상기 확장 도트가 존재하는 경우, 상기 정보 블록에 포함된 상기 복수의 데이터 블록의 개수는 16개이고,
상기 최초 데이터 블록의 상기 제 2 지점에 상기 확장 도트가 존재하지 않는 경우, 상기 정보 블록에 포함된 상기 복수의 데이터 블록의 개수는 8개인,
도트 패턴.
- 제 1 항에 있어서,
상기 적어도 하나의 데이터 도트 지점 각각은,
1 바이트 내에 포함된 최상위 비트와 최하위 비트 사이의 복수의 비트 각각과 관련되는,
도트 패턴.
- 제 5 항에 있어서,
상기 적어도 하나의 데이터 도트 지점은,
상기 기준 도트로부터 상기 제 4 거리만큼 이격되고 좌측 상방에 존재하고 1 바이트(byte)의 최하위 비트에 해당하는 첫번째 비트와 관련된 제 1 데이터 도트 지점;
상기 기준 도트로부터 상기 제 4 거리만큼 이격되고 우측 상방에 존재하고 상기 1 바이트의 두번째 비트와 관련된 제 2 데이터 도트 지점;
상기 기준 도트로부터 상기 제 4 거리만큼 이격되고 우측 하방에 존재하고 상기 1 바이트의 세번째 비트와 관련된 제 3 데이터 도트 지점;
상기 기준 도트로부터 상기 제 4 거리만큼 이격되고 좌측 하방에 존재하고 상기 1 바이트의 네번째 비트와 관련된 제 4 데이터 도트 지점;
상기 기준 도트로부터 상기 제 3 거리만큼 이격되고 좌측 상방에 존재하고 상기 1 바이트의 다섯번째 비트와 관련된 제 5 데이터 도트 지점;
상기 기준 도트로부터 상기 제 3 거리만큼 이격되고 우측 상방에 존재하고 상기 1 바이트의 여섯번째 비트와 관련된 제 6 데이터 도트 지점;
상기 기준 도트로부터 상기 제 3 거리만큼 이격되고 우측 하방에 존재하고 상기 1 바이트의 일곱번째 비트와 관련된 제 7 데이터 도트 지점; 및
상기 기준 도트로부터 상기 제 3 거리만큼 이격되고 좌측 하방에 존재하고 상기 1 바이트의 최상위 비트에 해당하는 여덟번째 비트와 관련된 제 8 데이터 도트 지점;
을 포함하는,
도트 패턴.
- 제 1 항에 있어서,
상기 복수의 데이터 블록 중 제 1 데이터 블록에 포함된 제 1 기준 도트는,
상기 제 1 데이터 블록과 인접한 제 1 인접 데이터 블록에 포함된 제 2 기준 도트와 제 5 거리만큼 이격되어 있고,
상기 제 1 데이터 블록과 인접한 제 2 인접 데이터 블록에 포함된 제 3 기준 도트와 상기 제 5 거리만큼 이격되어 있는,
도트 패턴.
- 컴퓨팅 장치의 프로세서를 이용하여 도트 패턴을 인식하는 방법으로서, 상기 방법은:
도트 패턴이 포함된 이미지를 인식하는 단계; 및
상기 이미지를 분석하여 데이터를 획득하는 단계;
를 포함하고,
상기 도트 패턴은, 사각형의 복수의 데이터 블록으로 구성된 정보 블록에 포함되고,
상기 정보 블록은,
상기 복수의 데이터 블록 각각의 중심에 배치되는 기준 도트;
상기 정보 블록에 포함된 상기 복수의 데이터 블록 중 어느 블록이 최초로 해석되는 최초 데이터 블록인지를 나타내는 방향 도트가 배치되는 제 1 지점;
상기 정보 블록에 포함된 상기 복수의 데이터 블록의 개수를 나타내는 확장 도트가 배치되는 제 2 지점; 및
상기 복수의 데이터 블록 각각에 포함되고, 1비트(bit)의 데이터를 표현하는 데이터 도트가 배치되는 적어도 하나의 데이터 도트 지점을 포함하고,
상기 이미지를 분석하여 데이터를 획득하는 단계는,
상기 방향 도트에 기초하여 상기 복수의 데이터 블록 중 상기 최초 데이터 블록을 인식하는 단계;
상기 최초 데이터 블록의 상기 제 2 지점에 상기 확장 도트가 존재하는지 여부에 기초하여, 상기 정보 블록의 크기를 인식하는 단계; 및
상기 정보 블록의 크기가 인식된 경우, 상기 정보 블록에 포함된 상기 복수의 데이터 블록 각각에 상기 데이터 도트가 존재하는지 여부 및 상기 데이터 도트가 존재하는 위치에 기초하여 데이터를 획득하는 단계;
를 포함하는,
도트 패턴을 인식하는 방법.
- 삭제
- 제 10 항에 있어서,
상기 방향 도트에 기초하여 상기 복수의 데이터 블록 중 상기 최초 데이터 블록을 인식하는 단계는,
일정한 간격을 갖는 복수의 도트를 포함하는 적어도 하나의 후보 기준 도트 그룹을 인식하는 단계;
상기 적어도 하나의 후보 기준 도트 그룹 각각에 포함된 상기 복수의 도트 중 첫번째 도트를 후보 기준 도트로 결정하는 단계; 및
상기 후보 기준 도트 각각의 12시 방향으로 제 1 거리만큼 이격된 지점에 상기 방향 도트가 존재하는 데이터 블록을 상기 최초 데이터 블록으로 인식하는 단계;
를 포함하는,
도트 패턴을 인식하는 방법.
- 제 12 항에 있어서,
상기 첫번째 도트는,
상기 복수의 도트가 횡방향으로 배열된 경우, 상기 복수의 도트 중 좌측 첫번째에 위치하는 도트이고,
상기 복수의 도트가 종방향으로 배열된 경우, 상기 복수의 도트 중 상측 첫번째에 위치하는 도트인,
도트 패턴을 인식하는 방법.
- 제 12 항에 있어서,
상기 적어도 하나의 후보 기준 도트 그룹 각각은,
적어도 4개의 도트를 포함하는,
도트 패턴을 인식하는 방법.
- 제 10 항에 있어서
상기 이미지를 분석하여 데이터를 획득하는 단계는,
상기 정보 블록에 포함된 상기 복수의 데이터 블록에서 제 1 행에 포함된 4개의 데이터 블록 중 좌측 첫번째 블록을 시작으로 우측 방향으로 분석하여 데이터를 획득하는 단계; 및
상기 제 1 행에 포함된 상기 4개의 데이터 블록에 대한 데이터의 분석이 완료된 경우, 상기 제 1 행의 아래에 존재하는 제 2 행에 포함된 4개의 데이터 블록 중 좌측 첫번째 블록을 시작으로 우측 방향으로 분석하여 데이터를 획득하는 단계;
를 포함하는,
도트 패턴을 인식하는 방법.
- 제 10 항에 있어서,
도트 패턴이 포함된 이미지를 인식하는 단계는,
상기 복수의 데이터 블록 중 인접한 적어도 두개의 데이터 블록에 포함된 기준 도트 간의 간격을 인식하는 단계;
상기 간격이 기 저장된 간격과 상이한 경우, 상기 이미지를 보정하기 위한 보정율을 산출하는 단계; 및
상기 보정율에 기초하여 보정된 이미지를 생성하는 단계;
를 포함하고,
상기 이미지를 분석하여 데이터를 획득하는 단계는,
상기 보정된 이미지를 분석하여 데이터를 획득하는 단계;
를 포함하는,
도트 패턴을 인식하는 방법.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200128002A KR102450872B1 (ko) | 2020-10-05 | 2020-10-05 | 도트 패턴 및 도트 패턴 인식 방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200128002A KR102450872B1 (ko) | 2020-10-05 | 2020-10-05 | 도트 패턴 및 도트 패턴 인식 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20220045365A KR20220045365A (ko) | 2022-04-12 |
KR102450872B1 true KR102450872B1 (ko) | 2022-10-05 |
Family
ID=81188135
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020200128002A KR102450872B1 (ko) | 2020-10-05 | 2020-10-05 | 도트 패턴 및 도트 패턴 인식 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102450872B1 (ko) |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3771252B1 (ja) * | 2005-07-01 | 2006-04-26 | 健治 吉田 | ドットパターン |
KR100860110B1 (ko) | 2007-10-11 | 2008-09-25 | 켄지 요시다 | 도트 패턴을 이용한 정보 입출력 방법 |
-
2020
- 2020-10-05 KR KR1020200128002A patent/KR102450872B1/ko active IP Right Grant
Also Published As
Publication number | Publication date |
---|---|
KR20220045365A (ko) | 2022-04-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2849115B1 (en) | Method for decoding matrix-type two-dimensional code | |
US9400951B2 (en) | Dot pattern | |
EP2393037B1 (en) | Data matrix decoding chip and decoding method thereof | |
US8550351B2 (en) | Matrix type two-dimensional barcode decoding chip and decoding method thereof | |
US20130020386A1 (en) | Information input output method using dot pattern | |
CA2519271A1 (en) | Information input and output method by use of dot pattern | |
EP3561729B1 (en) | Method for detecting and recognising long-range high-density visual markers | |
US9575935B2 (en) | Document file generating device and document file generation method | |
CN105426944A (zh) | 方形点阵防伪标签组、以及对其进行识读的方法与系统 | |
JPS63182793A (ja) | 文字切り出し方式 | |
CN103927572B (zh) | 通过编码图块以形成点阵图形的方法与装置 | |
CN111275049A (zh) | 一种文字图像骨架特征描述符获取的方法及装置 | |
CN108182466B (zh) | 一种圆形二维识别码及其扫描识别方法 | |
KR102450872B1 (ko) | 도트 패턴 및 도트 패턴 인식 방법 | |
CN113420580A (zh) | 用于对二维码进行辅助定位符定位的方法及装置、二维码扫描设备、存储介质 | |
US9129171B2 (en) | Code reading device and code reading method | |
JP4541995B2 (ja) | 図形認識方法 | |
JP2020160961A (ja) | 二次元コード読取装置、コンピュータプログラム、及び、二次元コード | |
CN101882211B (zh) | 汉信码条码解码芯片及其解码方法 | |
RU2707320C1 (ru) | Способ распознавания символа на банкноте и сопроцессор для вычислительной системы устройства для обработки банкнот | |
CN109934036B (zh) | 一种通过单一位置探测图形识读qr码的方法和系统 | |
JP6127899B2 (ja) | 画像処理装置及び画像処理プログラム | |
KR20050028040A (ko) | 도트 패턴을 이용한 정보 입출력 방법 | |
CN105373822A (zh) | 一种矩形防伪标签、以及对其进行识读的方法与系统 | |
CN116629290A (zh) | 一种用于一维分布的多条码的解码方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |