KR20050028040A - 도트 패턴을 이용한 정보 입출력 방법 - Google Patents

도트 패턴을 이용한 정보 입출력 방법 Download PDF

Info

Publication number
KR20050028040A
KR20050028040A KR1020057000970A KR20057000970A KR20050028040A KR 20050028040 A KR20050028040 A KR 20050028040A KR 1020057000970 A KR1020057000970 A KR 1020057000970A KR 20057000970 A KR20057000970 A KR 20057000970A KR 20050028040 A KR20050028040 A KR 20050028040A
Authority
KR
South Korea
Prior art keywords
dot
information
dot pattern
dots
data
Prior art date
Application number
KR1020057000970A
Other languages
English (en)
Other versions
KR100591300B1 (ko
Inventor
요시다 켄지
Original Assignee
요시다 켄지
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 요시다 켄지 filed Critical 요시다 켄지
Priority to KR1020057000970A priority Critical patent/KR100591300B1/ko
Publication of KR20050028040A publication Critical patent/KR20050028040A/ko
Application granted granted Critical
Publication of KR100591300B1 publication Critical patent/KR100591300B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/14Image acquisition
    • G06V30/144Image acquisition using a slot moved over the image; using discrete sensing elements at predetermined points; using automatic curve following means

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Biology (AREA)
  • Evolutionary Computation (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • General Engineering & Computer Science (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Multimedia (AREA)
  • Editing Of Facsimile Originals (AREA)

Abstract

본 발명은 인쇄물 등에 표시되는 도트 패턴의 각 도트에 다른 기능을 부여함으로써 그 도트 패턴의 정보화에 있어서 방향성을 인식하여 신속하게 정보화할 수 있는 동시에 도트의 배치상태에 대한 에러를 확인할 수 있으며, 안전성을 더욱 높이는 것을 목적으로 한다. 따라서, 본 발명은 인쇄물 등의 매체면에 복수의 격자 도트(4)를 직사각형 모양으로 배치하여 블록을 만들고, 그것을 규칙적이고 연속적으로 배치하며, 이 직사각형 모양으로 배치된 격자 도트(4)의 블록안에 있는 1개의 격자 도트(4)를 일정한 방향으로 벗어나 배치된 도트를 키 도트(2)라 하고, 키 도트(2)를 대표점으로 키 도트(2)의 주변에 배치되는 동시에 4점의 격자 도트(4)로 둘러싸인 중심을 가상점으로 하며, 이것을 시점으로 방향 벡터에 의하여 표현되는 종점에 다양한 정보를 인식시키는 정보 도트(3)를 도트 코드 생성 알고리즘에 의하여 소정의 규칙에 따라 복수 배열하여 도트 패턴(1)을 생성하고, 도트 패턴(1)을 카메라를 통햐 화상 데이터로 받아들여 그것을 디지털화하여 구한 수치를 통해 정보, 프로그램을 출력시킨다.

Description

도트 패턴을 이용한 정보 입출력 방법 {METHOD FOR INPUTTING AND OUTPUTTING INFORMATION USING DOT PATTERN}
본 발명은 인쇄물 등에 형성된 도트 패턴 정보를 광학적으로 해독함으로써 다양한 정보나 프로그램을 입출력시키는 도트 패턴을 이용한 정보 입출력 방법에 관한 것이다.
종래부터 인쇄물 등에 인쇄된 바코드를 해독하고 음성 등의 정보를 출력시키는 정보출력 방법이 제안되었다. 예를들면, 기억수단에 키(key) 정보와 일치하는 정보를 기억시켜 두고, 바코드 리더로 해독된 키(key)를 통해 검색된 정보 등을 출력하는 방법이 제안되었다.
또한, 많은 정보나 프로그램을 출력할 수 있도록 미세한 도트를 소정의 법칙으로 배열한 도트 패턴을 생성하고, 인쇄물 등에 인쇄된 도트 패턴을 카메라를 통해 화상 데이터로 받아들여서 디지털화하여 음성정보를 출력하는 기술도 제안되었다.
그러나, 상기된 종래의 바코드를 이용하여 음성 등을 출력하는 방법은 인쇄물 등에 인쇄된 바코드가 눈에 거슬린다는 문제점을 가지고 있다. 또한, 바코드가 크게 지면의 일부를 점유하고 있는데, 이 바코드가 커지면 일부분의 문장이나 단락 또는 사진, 그림, 그래픽 등 화상 속에 등장하는 의미있는 캐릭터나 대상물들에 알기 쉽게 다수의 바코드를 할당하는 것이 레이아웃상 불가능하다는 문제점을 가지고 있다.
도트 패턴을 카메라를 통해 화상 데이터로 받아들이고, 그 화상 데이터를 무채색의 256 계조(gradation)로 디지털화하여 도트를 인식하기 쉽게 만들기 위하여 계조의 변화를 미분하고 도트의 가장자리를 날카롭게 한다. 다음에 256 계조의 데이터를 흰색과 검은 색으로 이치화한다. 이렇게 이치화함에 따라 도트를 지면에 인쇄할 때에 인쇄의 오류나 번짐, 화소화했을 경우의 오류가 원인이 되어 도트의 인쇄 에러가 발생한다. 기존에는 이러한 인쇄 에러를 패리티 체크(parity check)로 에러 확인을 하였다. 그러나, 이러한 에러 확인에는 도트마다 인쇄 에러를 확인하는 것이 아니라 복수의 도트에서 얻어진 데이터 집합체에 대하여 에러를 확인해야 하는대, 어느 도트에 인쇄 에러가 발생했는지를 확인할 수 없다는 점과 카메라의 촬상 범위를 넓게 확보하지 않으면 안 된다는 문제점을 안고 있다.
또한, 렌즈의 비뚤어짐이나 경사로 인한 촬상, 지면의 신축성, 매체표면의 굴곡, 인쇄시의 비뚤어짐에 의해 촬영한 도트 패턴에 왜곡이 발생하고, 이것을 보완하기 위하여 고도의 기술력이 필요하다는 문제점을 안고 있다.
본 발명은 이와 같은 문제점을 해결하기 위해서 창안된 것이다. 즉, 본 발명의 목적은 인쇄물 등에 표시되는 도트 패턴의 각 도트에 다른 기능을 부여함으로써 다량의 데이터를 도트 패턴으로 정의하고, 그 도트 패턴의 정보화에 있어서 방향성을 인식하여 신속하게 정보화할 수 있게 하는 동시에 도트의 배치상태에 대한 에러를 확인할 수 있으며, 또한 안전성을 높일 수 있는 도트 패턴을 이용한 정보 입출력 방법을 제공하는 것에 그 목적이 있다.
도 1은 본 발명의 도트 패턴의 일예를 나타낸 설명도이다.
도 2는 도트 패턴의 정보 도트의 일예를 나타낸 확대도이다.
도 3(a), (b)는 키 도트를 중심으로 배치된 정보 도트를 나타낸 설명도이다.
도 4는 정보 도트 및 거기에 정의된 데이터의 비트 표시예로, 다른 형태를 나타낸 것이다.
도 5는 정보 도트 및 거기에 정의된 데이터의 비트 표시예로, (a)는 도트를 2개, (b)는 도트를 4개 및 (c)는 도트를 5개 배치한 것을 나타낸 것이다.
도 6은 도트 패턴의 변형예를 나타낸 것으로, (a)는 정보 도트 6개 배치형, (b)는 정보 도트 9개 배치형, (c)는 정보 도트 12개 배치형, (d)는 정보 도트 36개 배치형에 대한 개략적인 도면이다.
도 7(a), (b)는 정보 도트의 에러를 확인하는 방법을 설명하기 위하여 정보 도트 I1에서 I16까지를 병렬시킨 상태를 나타낸 설명도이다.
도 8은 하위 비트로 「0」을 할당하여 정보 도트의 에러를 확인하는 방법을 설명한 도면이다.
도 9는 하위 비트로 「1」을 할당하여 정보 도트의 에러를 확인하는 방법을 설명한 도면이다.
도 10은 하위 비트로 「0」과 「1」을 서로 할당하여 정보 도트의 에러를 확인하는 방법을 설명한 도면이다.
도 11은 정보 도트의 안전성에 대해 설명하기 위하여 정보 도트 I1에서 I16까지를 병렬시킨 상태를 나타낸 설명도이다.
도 12는 키 도트의 배치위치를 변경한 도트 패턴의 다른 배치예를 나타낸 정면도이다.
도 13은 더미 도트(dummy 도트)를 나타낸 것으로, (a)는 더미 도트의 설명도, (b)는 인쇄물의 일예, (c)는 인쇄물의 영역 및 (d)는 더미 도트로 마스크의 경계를 규제하고 있는 도트 패턴의 배치예를 나타낸 설명도이다.
도 14(a)는 정보 도트를 입력하는 순번을 나타낸 설명도이고, (b)는 도트 패턴을 해독하여 X, Y 좌표값을 산정하는 방법을 나타낸 설명도이다.
도 15는 규칙을 배제한 도트 패턴 생성 방법을 나타낸 설명도로, 도트 패턴인 정보 블록을 나타낸 것이다.
도 16은 규칙성을 배제한 도트 패턴 생성 방법을 나타낸 설명도로, 도트 패턴에 기록된 데이터 블록을 나타낸 것이다.
도 17은 카메라의 단면도이다.
도 18은 카메라의 촬상 범위를 나타낸 설명도이다.
도 19는 4 블록의 정보 도트를 나타낸 설명도이다.
도 20은 카메라에 의한 촬상 중심 위치와 서브 블록의 입력순서를 나타낸 설명도이다.
도 21은 카메라에 의한 촬상 중심 위치와 서브 블록의 입력순서를 나타낸 설명도이다.
도 22는 카메라에 의한 촬상 중심 위치와 서브 블록의 입력순서를 나타낸 설명도이다.
도 23은 카메라에 의한 촬상 중심 위치와 서브블록의 입력순서를 나타낸 설명도이다.
본 발명에 따르면, 인쇄물 등의 매체면에 복수의 격자 도트(4)를 직사각형 모양으로 배치하여 블록으로 하고, 해당 블록을 규칙적이고 연속적으로 배치하며, 해당 블록안에 있는 하나의 격자 도트(4)를 일정한 방향으로 벗어나 배치된 도트를 키 도트(2)라 하고, 상기 키 도트(2)를 대표점으로 해당 키 도트(2)의 주변에 배치되는 동시에 4점의 격자 도트(4)로 둘러싸인 중심을 가상점으로 하며, 이것을 시점으로 벡터에 의해 표현되는 종점에 다양한 정보를 인식시키는 정보 도트(3)를 도트 코드 생성 알고리즘에 의하여 소정의 규칙에 따라 복수 배열하여 도트 패턴(1)을 생성하고, 상기 도트 패턴(1)을 구성하는 블록을 카메라를 통해 화상 데이터로 받아들이고, 그것을 디지털화하여 구한 수치에서 정보, 프로그램을 출력시키는 것을 특징으로 하는 도트 패턴을 이용한 정보 입출력 방법이 제공된다.
상기 카메라를 통해 상기 도트 패턴(1)의 키 도트(2)의 방향을 인식하고, 그 방향을 기준으로 벡터의 종점에 배치된 도트를 정보 도트(3)라 한다. 상술된 정보 도트(3)를 격자 도트(4)의 가상점을 중심으로 복수 표시할 수 있다.
상기 구성의 정보, 프로그램 출력방법에서는 정보출력장치, 컴퓨터, PDA 또는 휴대전화 등을 이용하여 인쇄물 등의 매체에 형성된 도트 패턴(1)을 카메라를 통해 화상 데이터로 받아들인다. 카메라가 이러한 도트 패턴(1)에 소정의 규칙에 따라 인쇄된 도트를 인식하고, 그것을 디지털화하여 구한 수치를 통하여 정보 및 프로그램을 출력시킨다.
특히, 도트 패턴(1)을 카메라를 통해 화상 데이터로 받아들이고, 격자 도트(4)를 인식하여 키 도트(2)를 추출하고, 키 도트(2)에서 방향성을 인식하여 그 방향을 파라미터로 사용할 수 있다. 다음에 이 키 도트(2)의 주위에 배치된 정보 도트(3)를 추출함에 따라 신속하게 정보 및 프로그램을 출력시킬 수 있다.
도트 패턴(1)에 격자 도트(4)를 배치하고 있기 때문에 카메라로 이 도트 패턴(1)을 화상데이터로 받아들일 때, 렌즈의 비뚤어짐이나 경사에 의한 촬영, 지면의 신축성, 매체표면의 굴곡, 인쇄할 때의 비뚤어짐을 교정할 수 있다. 구체적으로는 왜곡된 4점의 격자 도트(4)를 원래의 정방형으로 교환하는 보완용 함수
(Xn, Yn)=f(X'n, Y'n)를 구하고,
그 동일한 함수로 정보 도트를 보완하여 정확한 정보 도트(3)의 벡터를 구한다.
상기 정보 도트(3)로 정의되는 데이터를 비트 표시하는 경우, 에러 확인에 이용하기 위하여 상기 정보 도트(3) 1개중 1비트에 용장성(冗長性)을 갖도록 하고, 해당 정보 도트 In에서 얻어지는 데이터의 상위 비트와 정보 도트 In+1에서 얻어지는 하위 비트를 동일하게 취급함에 따라, 상기 정보 도트(3)가 상기 매체면에 표시된 상태에서 그 정보 도트 In에서 얻어지는 데이터의 상위 비트와 정보 도트 In+1에서 얻어지는 데이터의 하위 비트가 동일하지 않은 경우에 상기 정보 도트(3)는 적정 위치에 표시되지 않는 것으로 판정한다.
상기 정보 도트(3)를 에러 확인에 이용하기 위하여 하위 비트에 「0」또는 「1」을 할당함에 따라, 상기 정보 도트(3)가 상기 매체면에 표시된 상태에서 해당 정보 도트(3)가 배치되는 위치에 인접한 다른 데이터를 갖는 정보 도트(3)가 배치되는 위치로 벗어나 있는 경우에 해당 정보 도트(3)는 적정 위치에 표시되지 않은 것으로 판정한다.
상기 키 도트(2)의 방향을 상방향으로 정하고, 그 방향의 정보 도트(3)로 정의되는 데이터를 「0」으로 하며, 상기 정보 도트(3)를 등간격 8방향의 임의의 방향에 배치하는 동시에 에러 확인을 실시하기 위하여 하위 비트에 「0」을 할당함에 따라, 상기 정보 도트(3)가 매체면에 표시된 상태에서 해당 정보 도트(3)가 가상점을 중심으로 상하 또는 좌우방향 이외의 경사방향에 위치할 때에 해당 정보 도트 (3)는 적정 위치에 표시되지 않은 것으로 판정한다.
상기 키 도트(2)의 방향을 상방향으로 정하고, 그 방향의 정보 도트(3)로 정의되는 데이터를 「0」으로 하며, 상기 정보 도트(3)를 등간격 8방향의 임의의 방향에 배치하는 동시에 에러 확인을 실시하기 위하여 하위 비트에 「1」을 할당함에 따라, 상기 정보 도트(3)가 매체면에 표시된 상태에서 해당 정보 도트(3)가 가상점을 중심으로 경사방향 이외의 상하 또는 좌우 방향에 위치할 때에 해당 정보 도트(3)는 적정 위치에 표시되지 않은 것으로 판정하는 것을 특징으로 한다.
상기 정보 도트(3)의 에러 확인을 실시하고 모든 정보 도트(3)를 배치하기 위하여 하위 비트에 「0」과 「1」을 교대로 할당하는 것이 바람직하다.
이에 따라 도트 패턴(1)의 정보 도트(3)가 매체면에서의 인쇄 오류, 해당 매체의 신축, 화소화했을 때의 오류에 따라 인접방향으로 벗어나서 입력되는지 아닌지 에러를 확인할 수 있다. 특히, 정보 도트(3)가 가상점을 중심으로 한 동심원상의 회전방향에서 벗어나 입력되는 경우에는 에러를 100% 확인할 수 있다.
상기 도트 패턴(1)의 정보 도트 In에 정의된 데이터 Kn을 암호화하여 눈으로 읽을 수 없도록 하기 위하여, 상기 데이터 Kn에 대하여 함수 f로 표현된 연산을 실시하고, In=f(Kn)을 도트 패턴(1)으로 표현하며, 상기 도트 패턴(1)을 카메라를 통해 화상 데이터로 받아들여 데이터 Kn을 Kn=f-1(In)에 따라 구한다.
상기 도트 패턴(1)의 규칙성을 없애고 상기 정보 도트(3)의 데이터를 눈으로 읽을 수 없도록 하기 위하여, 인접한 2열의 정보 도트(3)의 차이를 정보 도트(3)에서 정의하는 데이터로 규정하고,
인접한 앞선 열의 정보 도트 Im에서 정의할 데이터 Kn을 가산함으로써 구해지는 정보 도트 In에 따라 도트 패턴(1)을 생성하여 배치한다.
이에 따라 매체면에 인쇄된 도트 패턴(1)을 눈으로 읽는 것이 불가능하기 때문에 안전성을 높일 수 있다. 또한, 상술한 도트 패턴(1)을 매체면에 인쇄했을 때, 정보 도트(3)가 무작위로 배치되어 모양이 없어지며 도트 패턴을 눈에 띄지 않게 할 수 있다.
상기 도트 패턴(1)에서 정보가 없는 영역을 정의하기 위하여 또는 영역과 영역의 경계에서 경계를 넘는 다른 데이터를 받아들이지 않도록 하기 위하여, 데이터가 정의되지 않은 더미(dummy) 도트(5)로, 4점의 격자 도트(4)의 중심위치에 도트를 배치할 수 있다.
상기 도트 패턴(1)을 카메라를 통해 화상 데이터로 받아들일 때에, 정보의 대표점인 키 도트(2)의 위치에서 X, Y 좌표값을 산정한 후, 해당 키 도트(2)에서 얻어지는 도트 패턴(1)의 방향과 인접한 대표점의 X, Y 좌표값의 증가값 및 촬상 중심에서 X, Y 좌표값이 산정된 키 도트(2)까지의 거리로부터 좌표값을 보완함에 따라, 촬상 중심의 X, Y 좌표값을 산정한다.
상기 도트 패턴(1)의 블록을 카메라를 통해 화상 데이터로 받아들일 때에 각 블록에 동일한 데이터가 정의되는 영역 또는 X, Y 좌표값이 정의되는 영역에 대하여, 상기 카메라의 촬상 중심의 주위에 있는 정보 도트(3)부터 읽기 시작하여 순차 정보 도트(3)를 읽고, 1블록 분량에 상당하는 정보 도트(3)를 해독함에 따라 상기 카메라의 촬상 중심에서 최소한의 영역으로 도트 패턴(1)을 해독하고, 촬상 중심 위치에서의 데이터를 산정한다.
상기 도트 패턴(1)을 카메라를 통해 화상 데이터로 받아들일 때에, 정보 도트(3)에 대하여 일부 에러가 발생한 경우, 해당 정보 도트(3)에 상당하는 가장 가까운 정보 도트(3)를 읽어 에러 수정한다.
상기 블록을 서브 블록으로 분할하고, 각 서브 블록에 각각 독립된 정보를 부여함에 따라, 상기 카메라의 촬상 중심에서 상기 블록 단위보다 작은 영역으로 도트 패턴(1)을 해독하고, 또한 각 서브 블록마다 에러 확인 및 에러 수정을 실시한다.
이하, 본 발명의 바람직한 실시 형태를 도면을 참조하여 설명하도록 한다.
도 1은 본 발명의 도트 패턴에 대한 일예를 나타낸 설명도이다. 도 2는 도트 패턴의 정보 도트 및 거기에 정의된 데이터의 비트 표시의 일예를 나타낸 확대도이다. 도 3(a), (b)는 키 도트를 중심으로 배치된 정보 도트를 나타낸 설명도이다.
본 발명의 도트 패턴을 이용한 정보 입출력 방법은 도트 패턴(1)의 생성과, 그 도트 패턴(1)의 식별과, 이 도트 패턴(1)에서 정보 및 프로그램을 출력하는 수단으로 이루어진다. 즉, 도트 패턴(1)을 카메라를 통해 화상 데이터로 받아들여 먼저 격자 도트를 추출하고, 다음에 본래 격자 도트가 있는 위치에서 도트가 겹쳐지지 않도록 함으로써 키 도트(2)를 추출하고, 다음에 정보 도트(3)를 추출하여 디지털화하며 정보영역을 추출하여 정보의 수치화를 도모하고, 그 수치정보에 따라 이 도트 패턴(1)에서 정보 및 프로그램을 출력시킨다. 예를 들면, 이 도트 패턴(1)에서 음성 등의 정보나 프로그램을 정보 출력 장치, 컴퓨터, PDA 또는 휴대전화 등으로 출력시킨다.
본 발명의 도트 패턴(1)의 생성은 도트 코드 생성 알고리즘에 따라 음성 등의 정보를 인식시키기 위하여 미세한 도트, 즉 키 도트(2), 정보 도트(3), 격자 도트(4)를 소정의 규칙에 따라 배열한다. 도 1에 나타낸 바와 같이, 정보를 나타내는 도트 패턴(1)의 블록은 키 도트(2)를 중심으로 5x5의 격자 도트(4)를 배치하고, 4점의 격자 도트(4)로 둘러싸인 중심의 가상점 주위에 정보 도트(3)를 배치한다. 이 블록에는 임의의 수치정보가 정의된다. 또한, 도 1의 예시에서는 도트 패턴(1)의 블록(두꺼운 선의 내부)을 4개 병렬시킨 상태를 나타내고 있다. 단, 도트 패턴(1)은 물론 4블록으로 한정되지 않는다.
하나의 블록에 하나의 대응하는 정보 및 프로그램을 출력시키고, 또는 복수의 블록에 하나의 대응하는 정보 및 프로그램을 출력시킬 수 있다.
카메라를 통해 이 도트 패턴(1)을 화상 데이터로 받아들일 때에 그 카메라 렌즈의 비뚤어짐이나 경사 때문에 생기는 촬상, 지면의 신축성, 매체표면의 굴곡, 인쇄할 때의 비뚤어짐을 교정할 수 있다. 구체적으로, 왜곡된 4점의 격자 도트(4)를 원래의 정방형으로 변환하는 보완용 함수 (Xn, Yn)=f(X'n, Y'n)를 구하고, 그 동일한 함수로 정보 도트를 보완하여 정확한 정보 도트(3)의 벡터를 구한다.
도트 패턴(1)에 격자 도트(4)를 배치하면 이 도트 패턴(1)을 카메라로 찍은 화상 데이터의 카메라로 인한 비뚤어짐을 보완할 수 있기 때문에 왜곡 비율이 높은 렌즈를 부착한 보급형 카메라로 도트 패턴(1)의 화상 데이터를 찍는 경우에도 정확하게 인식할 수 있다. 또한, 도트 패턴(1)의 면에 대하여 카메라를 비스듬히 하여 해독하더라도 그 도트 패턴(1)을 정확하게 인식할 수 있다.
키 도트(2)는, 도 1에 나타낸 바와 같이 직사각형 모양으로 배치된 격자 도트(4)의 대략 중심위치에 있는 1개의 격자 도트(4)에서 일정방향으로 벗어나 배치되는 도트이다. 이 키 도트(2)는 정보 도트(3)를 나타내는 1블록의 도트 패턴(1)의 대표점이다. 예를 들면, 도트 패턴(1)의 블록 중심의 격자 도트(4)에서 상방으로 0.2mm 벗어나 있다. 정보 도트(3)가 X, Y 좌표값을 나타낼 경우에 키 도트(2)를 하방으로 0.2mm 벗어난 위치가 좌표점이 된다. 단, 이 수치는 여기에 한정되지 않으며 도트 패턴(1)의 블록 크기에 따라 변할 수 있다.
정보 도트(3)는 다양한 정보를 인식시키는 도트이다. 이 정보 도트(3)는 키 도트(2)를 대표점으로 하여 그 주변에 배치되는 동시에 4점의 격자 도트(4)로 둘러싸인 중심을 가상점으로 하여 이것을 시점으로 하는 벡터로 표현되는 종점에 배치된다. 예를 들면, 이 정보 도트(3)는 격자 도트(4)로 둘러싸여 있는데, 도 2에 나타낸 바와 같이 그 가상점에서 0.2mm 떨어진 도트는 벡터로 표현되는 방향과 길이를 갖기 때문에 시계방향으로 45도씩 회전시켜 8방향으로 배치하면 3비트를 표현할 수 있다. 따라서, 1블록의 도트 패턴(1)으로 3비트x16개=48비트를 표현할 수 있다.
또한, 도면의 예시에서는 8방향으로 배치하여 3비트를 표현하고 있지만, 여기에 국한되지 않으며 16방향으로 배치하여 4비트를 표현하는 것도 가능하고 다양하게 변경할 수도 있다.
키 도트(2), 정보 도트(3) 또는 격자 도트(4)의 도트 두께는 겉보기와 지질에 대한 인쇄의 정밀도, 카메라의 해상도 및 최적 디지털화를 고려하여 0.1mm 정도가 바람직하다.
또한, 촬상 면적에 대한 필요한 정보량과 각종 도트(2,3,4)의 오인을 고려하여 격자 도트(4)의 간격은 가로 세로 1mm 전후가 바람직하다. 격자 도트(4) 및 정보 도트(3)와의 오인을 고려하여 키 도트(2)의 차이는 격자 간격의 20% 전후가 바람직하다.
이 정보 키 도트(3)와 4점의 격자 도트(4)로 둘러싸인 가상점과의 간격은 인접한 가상점간의 거리의 15∼30% 정도의 간격이 바람직하다. 정보 도트(3)와 가상점 사이의 거리가 이 간격보다 멀면 도트 끼리가 커다란 덩어리로 인식되기 쉬워 도트 패턴(1)으로 보기 어렵다. 반대로 정보 도트(3)와 가상점 사이의 거리가 이 간격보다 가까우면 인접한 임의의 가상점을 중심으로 하는 벡터 방향성을 갖는 정보 도트(3)에 대한 인정이 곤란하다.
예를 들면 정보 도트(3)는, 도 3(a)에 나타낸 바와 같이 키 도트(2)를 중심으로 시계방향으로 I1에서 I16가 배치된 격자 간격이 1mm인 4mm x 4mm로 3비트 x 16 = 48비트를 표현한다.
또한, 블록내에 각각 독립된 정보내용을 가지며 다른 정보 내용에 영향받지 않는 서브 블록을 다시 설치할 수 있다. 도 3(b)은 이것을 도면으로 예시한 것으로, 4개의 정보 도트로 구성된 서브 블록 [I1, I2, I3, I4], [I5, I6, I7, I8], [I9, I10, I11, I12], [I13, I14, I15, I 16]은 각각 독립된 데이터(3비트x4=12비트)가 정보 도트로 전개된다. 이처럼 서브 블록을 설치함으로써 이후에 서술할 에러 확인을 서브 블록 단위로 쉽게 실시할 수 있다.
정보 도트(3)의 벡터 방향(회전방향)은 30도∼90도 마다 균등하게 정하는 것이 바람직하다.
도 4는 정보 도트 및 거기에 정의된 데이터의 비트 표시예로, 다른 형태를 나타낸 것이다.
또한, 정보 도트(3)에 대하여 격자 도트(4)로 둘러싸인 가상점에서 장, 단의 2종류를 사용하여 벡터방향을 8방향으로 하면 4비트를 표현할 수 있다. 이때 긴 쪽이 인접한 가상점간의 거리의 25∼30%정도, 짧은 쪽은 15∼20% 정도가 바람직하다. 단, 길고 짧은 정보 도트(3)의 중심간격은 이러한 도트의 직경보다 긴 것이 바람직하다.
4점의 격자 도트(4)로 둘러싸인 정보 도트(3)는 겉보기를 고려하여 1도트가 바람직하다. 그러나, 외관을 무시하고 정보량을 많게 하고자 할 경우에는 1벡터마다 1비트를 할당하여 정보 도트(3)를 복수의 도트로 표현함으로써, 많은 양의 정보를 가질 수 있다. 예를 들면, 동심원 8방향의 벡터로는 4점의 격자 도트(4)로 둘러싸인 정보 도트(3)로 28의 정보를 표현할 수 있고, 1블록의 정보 도트 16개로 2128이 된다.
도 5는 정보 도트 및 그것으로 정의되는 데이터의 비트 표시예로, (a)는 도트를 2개, (b)는 도트를 4개 및 (c)는 도트를 5개 배치한 것을 나타낸 것이다.
도 6은 도트 패턴의 변형예를 나타낸 것으로, (a)는 정보 도트 6개 배치형, (b)는 정보 도트 9개 배치형, (c)는 정보 도트 12개 배치형, (d)는 정보 도트 36개 배치형의 개략적인 도면이다.
도 1과 도 3에 나타낸 도트 패턴(1)은 1블록에 16개(4x4)의 정보 도트(3)를 배치한 예를 나타내고 있다. 그러나, 이 정보 도트(3)는 1블록에 16개 배치되는 것으로 한정되지 않으며 다양하게 변경할 수 있다. 예를 들면, 필요로 하는 정보량의 대소 또는 카메라의 해상도에 따라 정보 도트(3)를 1블록에 6개(2x3) 배치한 것(a), 정보 도트(3)를 1블록에 9개(3x3) 배치한 것(b), 정보 도트(3)를 1블록에 12개(3x4) 배치한 것(c), 또는 정보 도트(3)를 1블록에 36개(6x6) 배치한 것(d)이 있다.
도 7(a), (b)는 정보 도트의 에러를 확인하는 방법을 설명하기 위하여 정보 도트 I1에서 I16까지를 병렬시킨 상태를 나타낸 설명도이다.
상기된 정보 도트(3)의 1개의 3비트중 1비트에 용장성(冗長性)을 갖도록 하고, 정보 도트 In에서 얻어지는 데이터의 상위 비트와 정보 도트 In+1에서 얻어지는 데이터의 하위 비트를 동일하게 취급하면 정보 도트(3)가 인쇄물 등의 매체면에 표시된 상태에서 그 정보 도트 In에서 얻어지는 데이터의 상위 비트와 정보 도트 In+1에서 얻어지는 데이터의 하위 비트가 동일하지 않은 경우에 정보 도트(3)는 적정위치에 표시되지 않은 것으로 판정한다.
또한, 도 7(b)는 정보 도트를 서브 블록 단위로 에러를 확인하는 방법을 설명하기 위하여 정보 도트 I1에서 I16까지 병렬시킨 상태를 나타낸 설명도이다.
도 7(b)에 나타낸 에러 확인 방식은 도 7(a)와 마찬가지로 1비트에 용장성을 갖도록 하고, 4개의 정보 도트(3)로 구성된 [I1, I2, I3, I4], [I5, I6, I7, I8], [I9, I10, I11, I12], [I13, I14, I15, I 16] 각각의 독립된 데이터(3비트x4=12비트)단위로 에러를 확인하는 방식이다.
따라서, 도트 패턴(1)의 정보 도트(3)가 인쇄물 등의 매체면에 대한 인쇄 오류, 매체면의 신축, 화소화했을 때의 오류에 의해 인접하는 다른 데이터를 갖는 정보 도트(3)가 배치될 위치에서 벗어나 입력되는지 아닌지 그 에러를 100% 확인할 수 있다.
도 8은 하위 비트에 「0」을 할당하여 정보 도트의 에러를 확인하는 방법을 설명한 도면이다.
정보 도트(3)의 하위 비트에 「0」 또는 「1」을 할당하여 에러 확인에 이용할 수 있다. 정보 도트(3)가 매체면에 표시된 상태에서 정보 도트(3)가 가상점을 중심으로 인접한 다른 데이터를 갖는 정보 도트가 배치될 위치로 이 정보 도트(3)가 정적위치에 표시되지 않은 것으로 판정할 수 있다.
예를 들면, 키 도트(2)의 방향을 상방향으로 정하고 그 방향의 정보 도트(3)에 정의되는 데이터를 「0」으로 하며 정보 도트(3)를 8방향의 임의의 방향에 배치하는 동시에 에러 확인에 이용하기 위하여 하위 비트에 「0」을 할당한다. 즉, 하위 비트에 「0」을 할당한 정보 도트(3)는 항상 가상점을 중심으로 상하 또는 좌우 방향에 위치한다. 따라서, 이 정보 도트(3)가 경사방향에 위치할 때는 적정위치에 표시되지 않은 것으로 판정할 수 있다.
도 9는 하위 비트에 「1」을 할당하여 정보 도트의 에러를 확인하는 방법에 대한 설명도이다.
키 도트(2)의 방향을 상방향으로 정하고 그 방향의 정보 도트(3)에 정의되는 데이터를 「0」으로 하며 정보 도트(3)를 8방향의 임의의 방향에 배치하는 동시에 하위 비트에 「0」을 할당하여 정보 도트(3)의 에러를 확인하는 것도 가능하다. 즉, 하위 비트에 「1」을 할당한 정보 도트(3)는 항상 가상점을 중심으로 경사방향에 위치한다. 따라서, 이 정보 도트(3)가 상하 또는 좌우 방향에 위치할 때는 적정 위치에 표시되지 않은 것으로 판정할 수 있다.
도 10은 하위 비트에 「0」과 「1」을 교대로 할당하여 정보 도트의 에러를 확인하는 방법에 대한 설명도이다.
1개의 정보 도트(3)를 배치하는 동시에 에러 확인에 이용하기 위하여 하위 비트에 「0」과 「1」을 교대로 할당하면 이 정보 도트(3)의 에러를 확인하는 것도 가능하다. 이 에러 확인방식은 상하, 좌우 또는 45도 경사방향에서 교대로 정보 도트가 생성되어 도트 패턴의 규칙성을 제거할 수 있다. 즉, 하위 비트에 「0」과 「1」을 교대로 할당한 정보 도트(3)는 항상 가상점을 중심으로 상하, 좌우 또는 45도 경사방향에 위치한다. 따라서, 이 정보 도트(3)가 상하, 좌우 또는 45도 경사방향 이외의 방향에 위치할 때는 적정위치에 표시되지 않은 것으로 판정한다. 이와 같이 정보 도트(3)가 가상점을 중심으로 회전방향에서 벗어나 입력되는 에러를 확실히 확인할 수 있다.
또한, 정보 도트(3)를 8방향(45도 간격) 또는 장·단으로 했을 때에(도 4 참조) 4비트중 하위 1비트를 「0」또는 「1」로 하면 근접한 3점(동심원±45도 회전 위치 2점+장·단측 1점)의 도트 위치에서 벗어난 경우 그것을 에러로 볼 수 있으며, 에러를 100% 확인할 수 있다.
도 11은 정보 도트의 안전성에 대해서 설명하기 위하여 정보 도트 I1에서 I16까지를 병렬시킨 상태를 나타낸 설명도이다.
예를 들면, 도트 패턴(1)의 데이터를 눈으로 읽을 수 없도록 하기 위하여 정보 도트(3)의 In에 대해 함수 f(Kn)으로 표현된 연산을 실시하고, In=Kn+Rn을 도트 패턴(1)으로 표현하며, 도트 패턴 In을 입력한 후 Kn=In-Rn을 구한다.
또는, 도트 패턴(1)의 데이터를 눈으로 읽을 수 없도록 하기 위하여 키 도트(2)를 대표점으로 복수의 정보 도트(3)를 일렬로 배치하고, 또한 이 일렬을 복수 열로 배치하여 인접한 2열에 대한 데이터의 차이를 정보 도트(3)의 데이터로 상정하면 각 블록의 도트 패턴(1)의 규칙성이 없어지도록 각 정보 도트(3)를 배치할 수 있다.
이로 인해 매체면에 인쇄된 도트 패턴(1)을 눈으로 읽을 수 없기 때문에 안전성을 높일 수 있다. 또한, 상술된 도트 패턴(1)을 매체면에 인쇄했을 때에 정보 도트(3)가 무작위로 배치되어 모양이 없어지고 도트 패턴을 눈에 띄지 않게 할 수 있다.
도 12는 키 도트의 배치위치를 변경한 도트 패턴의 다른 배치예를 나타낸 설명도이다.
키 도트(2)를 반드시 직사각형 모양으로 배치된 격자 도트(4)의 블록 중심에 배치할 필요는 없다. 예를 들면, 격자 도트(4)의 블록의 구석에 배치할 수 있다. 이때에는 정보 도트(3)가 키 도트(2)를 기점으로 병렬되도록 배치하는 것이 바람직하다.
도 13은 더미(dummy) 도트를 나타낸 것으로, (a)는 더미 도트의 설명도, (b)는 인쇄물의 일예, (c)는 인쇄물의 영역 및 (d)는 더미 도트에서 마스크의 경계를 규제하고 있는 도트 패턴의 배치예를 나타낸 설명도이다.
4점의 격자 도트(4)의 중심위치에 도트를 배치하고, 정보가 주어지지 않은 도트로서 더미 도트(5)를 정의한다(도 13(a)). 이 더미 도트(5)는 수치 데이터 또는 X, Y 좌표값이 정의된 영역과 영역의 경계나 수치 데이터 또는 X, Y 좌표값이 정의되지 않은 영역에 사용할 수 있다.
예를 들면, 도 13(b)에 나타낸 바와 같이 인쇄물에 곰, 하마와 태양이라는 세가지 종류의 무늬를 인쇄하고, 이 세가지 그림에 대응하는 영역을 도 13(c)에 나타낸 것처럼 마스크1, 마스크2, 마스크3과 같이 배치한다. 도 13(d)에 나타낸 바와 같이 마스크1, 마스크2의 경계에 더미 도트(5)를 배치한다.
또한, 더미 도트(5)를 경계로 사용하는 경우에 대응하는 위치의 블록 전체를 더미 도트(5)로 할 필요는 없으며, 경계를 나타내기 위한 최소한의 도트를 더미 도트로 하면 된다.
또한, 마스크 이외의 영역에 더미 도트를 배치하여 정보가 정의되지 않은 영역을 설치할 수 있다.
도트 패턴(1)을 카메라를 통해 화상 데이터로 받아들일 때에 정보의 대표점인 키 도트(2)의 위치에서 X. Y 좌표값을 산정한 후, 키 도트(2)에서 얻어지는 도트 패턴(1)의 방향과 인접한 대표점에서의 X, Y 좌표값의 증가치 및 촬상 중심에서 X, Y 좌표값이 산정된 키 도트(2)까지의 거리에서 좌표값을 보완하여 촬상 중심의 X, Y 좌표값을 산정한다.
또는, 도트 패턴(1)의 블록을 카메라를 통해 화상 데이터로 받아들일 때에 각 블록에 동일한 데이터가 정의되어 있는 영역, 또는 X, Y 좌표값이 정의되어 있는 영역에 대하여 카메라가 촬상 중심의 주위에 있는 정보 도트(3)로부터 읽기 시작하고, 순차 정보 도트(3)을 읽고, 1블록 분량에 해당하는 정보 도트(3)를 해독하여 카메라의 촬상 중심에서 최소한의 영역으로 도트 패턴(1)을 해독하고 촬상 중심위치에 대하여 데이터를 산정한다.
도 14(a)는 도트 패턴을 읽고 X, Y 좌표값을 산정하는 방법을 나타낸 설명도이다.
도면에 나타낸 바와 같이, 구할 X, Y 좌표값은 카메라의 촬상 중심에 있는 블록의 X, Y 좌표값으로 한다. X, Y 좌표값은, 블록마다 증가된 값이 X방향(오른쪽 방향), Y방향(상방향)에 +1로 정해지면 다른 블록에서 입력된 정보 도트를 보완할 필요가 있다. 또한, X 좌표값을 나타내는 K8 K7 K6 K5(i16 i15 i14 i13 i12 i11 i10 i9 )와 Y 좌표값을 나타내는 K4 K3 K2 K1(i8 i7 i6 i5 i4 i3 i2 i1)이 보완 대상이 되고, 그 외의 K16∼K3(i32∼i17)은 어느 블록에서도 동일한 값을 나타내어 보완할 필요는 없다.
이러한 계산은 다음의 수식1에 따라 구한다. [ ] 안의 계산에 따라 자리수가 높아져도 [ ] 이전의 비트열에 영향을 주지 않는 것으로 한다. 정보 도트 I중에서 에러 확인 비트를 제외한 것을 K라고 한다.
<수식 1>
11I11이 시작점인 경우(카메라의 촬상 중심)
X 좌표 = 11K8·11K7·11K6·21 K5
Y 좌표 = 12K4·12K3·12K2·[22 K1+1]
11I15이 시작점인 경우(카메라의 촬상 중심)
X 좌표 = 12K8·12K7·12K6·22 K5-1
Y 좌표 = 12K4·12K3·12K2·[22 K1+1]
12I3이 시작점인 경우(카메라의 촬상 중심)
X 좌표 = 12K8·12K7·12K6·22 K5
Y 좌표 = 12K4·12K3·12K2·[22 K1+1]
12I7이 시작점인 경우(카메라의 촬상 중심)
X 좌표 = 12K8·12K7·12K6·22 K5
Y 좌표 = 12K4·12K3·12K2·[22 K1+1]
11I12이 시작점인 경우(카메라의 촬상 중심)
X 좌표 = 11K8·11K7·21K6·21 K5
Y 좌표 = 12K4·12K3·[22K2·22 K1+1]
11I16이 시작점인 경우(카메라의 촬상 중심)
X 좌표 = 12K8·12K7·22K6·22 K5-1
Y 좌표 = 12K4·12K3·[22K2·22 K1+1]
12I4이 시작점인 경우(카메라의 촬상 중심)
X 좌표 = 12K8·12K7·22K6·22 K5
Y 좌표 = 12K4·12K3·[22K2·22 K1+1]
12I8이 시작점인 경우(카메라의 촬상 중심)
X 좌표 = 12K8·12K7·22K6·22 K5
Y 좌표 = 12K4·12K3·[22K2·22 K1+1]
21I9이 시작점인 경우(카메라의 촬상 중심)
X 좌표 = 11K8·21K7·21K6·21 K5
Y 좌표 = 12K4·[22K3·22K2·22 K1+1]-1
21I13이 시작점인 경우(카메라의 촬상 중심)
X 좌표 = 12K8·22K7·22K6·22 K5-1
Y 좌표 = 12K4·[22K3·22K2·22 K1+1]-1
22I1이 시작점인 경우(카메라의 촬상 중심)
X 좌표 = 12K8·22K7·22K6·22 K5
Y 좌표 = 12K4·[22K3·22K2·22 K1+1]-1
22I5이 시작점인 경우(카메라의 촬상 중심)
X 좌표 = 12K8·22K7·22K6·22 K5
Y 좌표 = 12K4·[22K3·22K2·22 K1+1]-1
21I10이 시작점인 경우(카메라의 촬상 중심)
X 좌표 = 21K8·21K7·21K6·21 K5
Y 좌표 = 22K4·22K3·22K2·22 K1
21I14이 시작점인 경우(카메라의 촬상 중심)
X 좌표 = 22K8·22K7·22K6·22 K5-1
Y 좌표 = 22K4·22K3·22K2·22 K1
22I2이 시작점인 경우(카메라의 촬상 중심)
X 좌표 = 22K8·22K7·22K6·22 K5
Y 좌표 = 22K4·22K3·22K2·22 K1
(16) 22I6이 시작점인 경우(카메라의 촬상 중심)
X 좌표 = 22K8·22K7·22K6·22 K5
Y 좌표 = 22K4·22K3·22K2·22 K1
도트 패턴(1)을 카메라를 통해 화상 데이터로 받아들일 때에 정보 도트(3)에 에러가 발생한 경우에 정보 도트(3)에 가장 가까운 정보 도트(3)를 해독하고, 에러를 수정함에 따라 카메라의 촬상 중심에서 최소한의 영역으로 도트 패턴(1)을 해독할 수 있다.
상술된 정보 취득 방법을 이용하여 XY 좌표를 사용하는 타블렛(tablet)이나 디지타이저(digitizer), 입력 인터페이스를 실현할 수 있다. 예를 들면, 타블렛(tablet)이나 디지타이저(digitizer)는 도트 패턴(1)이 인쇄된 투명 시트를 대상물에 겹쳐두고 카메라로 촬영하여 도트 패턴(1)의 XY 좌표값을 입력한다.
도 15는 규칙성을 배제한 도트 패턴 생성 방법을 나타낸 설명도로, 도트 패턴인 정보 블록을 나타낸 것이다. 도 16은 규칙성을 배제한 도트 패턴 생성 방법을 나타낸 것으로, 도트 패턴에 기록된 데이터 블록을 나타낸 설명도이다.
먼저, 도 15에 나타낸 바와 같이 in은 1비트의 데이터를 의미하고, rn은 i2n x 2 + i2n-1로 나타낸다. 또한, αIn = αrn x 2 + 0, αI'n = αrm x 2 + 1로 나타내고 에러 확인 비트를 부가한다. α는 블록의 가로방향으로의 병렬을 나타내는 수치이다.
도 16에 나타낸 바와 같이 Cn은 1비트가 기록되는 데이터이다.
또한, αKm은 C2m x 2 + C2m-1로 나타낸다. α는 블록의 가로방향으로의 병렬을 나타내는 수치이다.
αKm에서 다음의 수식 2에 의하여 구할 αrm을 사용하여 위의 정의에 따라 도트 패턴(1)이라는 정보 블록(3)을 생성한다. 이것에 따라 도트 패턴(1)은 가로방향에 대하여 규칙성을 배제할 수 있다.
<수식 2>
αr1=α-1r13+αK1 αr 5=αr1+αK5 αr9=α r5+αK9 αr13=αr9+ αK13
αr2=α-1r14+αK2 αr6= αr2+αK6 αr10=αr6 +αK10 αr14=αr10+αK 14
αr3=α-1r15+αK3 αr7= αr3+αK7 αr11=αr7 +αK11 αr15=αr11+αK 15
αr4=α-1r16+αK4 αr 8=αr4+αK8 αr12=α r8+αK12 αr16=αr12+ αK16
α=1일 때 0r13, 0r14, 0r15, 0 r16으로 초기값을 부여한다. 이것을 βR이라 한다. β는 블록의 세로방향으로 병렬된 상태를 나타내는 수치이다. βR은 동일한 값이 아니라 불규칙한 수열에 의한 값이 부여됨에 따라 도트 패턴은 세로방향에 대해서도 규칙성이 배제된다.
도 17에서 도 23은 카메라를 통해 서브 블록으로 구성된 1블록에 해당하는 도트 패턴을 해독하는 방법을 나타낸 설명도이다.
카메라를 수납하는 통은 10mm 전후이며 도트 패턴의 촬영범위를 직경 10mm로 하면 4mm x 4mm의 도트 패턴(1)의 블록 부분(I1∼I16)을 해독하기 위해서 최대 의 촬영범위가 필요하다. 이것을 해소하기 위하여 1블록을 구성하는 키 도트의 주변에 배치된 정보 도트 16개를 순차적으로 해독하는 것이 아니라 다른 정보 도트와 독립적인 정보를 갖는 4개의 정보 도트 마다(1/4 블록) 해독을 실시한다. 이에 따라 촬상 범위에서 떨어져 있는 1/4 블록의 정보 도트를 촬상 범위 안에 있는 다른 블록의 대응하는 정보 도트(1/4 블록)를 입력하여 1블록 분량의 정보를 촬영범위인 직경 10mm이내로 입력 가능하다.
상기의 방법에 따라 입력된 모든 1/4블록중에서 에러가 발생하는 경우에는 다른 블록의 대응하는 정보 도트(1/4블록)를 입력하여 에러를 수정한다.
도 20은 카메라의 촬상 중심이 B1 블록의 I8을 나타낸 것으로, 촬상 중심에서 가장 가까운 B1블록의 [I1∼I16]을 입력한다.
도 21은 카메라의 촬상 중심이 B1 블록의 I5를 나타낸 것으로, 카메라 중심에서 가장 가까운 B1블록의 [I1, I2, I3, I4], [I5. I6, I7, I8]과 B2 블록의 [I9, I10, I11, I12], [I13, I14, I15, I 16]을 입력한다.
도 22는 카메라의 촬상 중심이 B1 블록의 I6을 나타낸 것으로, 중심에서 가장 가까운 B1 블록의 [I5. I6, I7, I8]과 B2 블록의 [I9 , I10, I11, I12], B3 블록의 [I13, I14, I15, I16], B4 블록의 [I1, I2 , I3, I4]를 입력한다.
도 23은 카메라의 촬상 중심이 B1 블록의 I7을 나타낸 것으로, 중심에서 가장 가까운 B1 블록의 [I5. I6, I7, I8], [I9, I 10, I11, I12]와 B4블록의 [I1, I2, I3, I4], [I13, I14, I15, I16]을 입력한다.
도 20∼도 23에서 입력된 도트 패턴에 에러가 발생한 경우, 대체하여 입력 가능한 1/4 블록의 도트 패턴이 모두 최대 8군데이다.
상기된 바와 같은 본 발명의 도트 패턴(1)을 그림책, 텍스트 등의 인쇄물에 인쇄하고, 카메라를 통해 화상 데이터로 받아들여 이것을 디지털화하여 구한 수치에 따라 컴퓨터, 정보출력장치, PDA 또는 휴대전화 등으로 이것에 대응하는 정보, 프로그램을 출력시킨다.
또한, 본 발명은 상기된 발명의 실시 형태에 한정되지 않으며 도트 패턴(1)의 각 도트(2,3,4)에 다른 기능을 부여함으로써 다수의 데이터를 도트 패턴으로 정의하고, 방향성을 인식하여 신속하게 정보화함에 따라 소정의 정보나 프로그램을 출력시켜 다양하게 사용할 수 있다면 상술된 형태에 국한되지 않으며 본 발명의 요지를 일탈하지 않는 범위에서 다양하게 변경할 수 있다.
상술된 바와 같이 본 발명의 도트 패턴을 이용한 정보 입출력 방법은 도트 패턴을 카메라를 통해, 먼저 격자 도트를 인식하여 키 도트를 추출하고 이 키 도트에서 방향성을 인식하여 그 방향을 파라미터로 사용할 수 있다. 다음에 이 키 도트의 주위에 배치된 정보 도트를 추출함에 따라 신속하게 정보 및 프로그램을 출력시킬 수 있다.
또한, 도트 패턴에 격자 도트를 배치하기 때문에 카메라가 이 도트 패턴을 화상 데이터로서 받아들일 때에 그 카메라 렌즈의 비뚤어짐이나 경사로 생기는 촬상, 지면의 신축성, 매체표면의 굴곡, 인쇄시 비뚤어지게 촬영된 도트 패턴에 대한 왜곡을 교정할 수 있다.
또한, 도트의 배치상황에 대한 에러를 확인할 수 있으며, 안전성을 한층 더 높일 수 있다.

Claims (15)

  1. 인쇄물 등의 매체면에 복수의 격자 도트(4)를 직사각형 모양으로 배치하여 블록으로 하고,
    해당 블록을 규칙적이고 연속적으로 배치하며,
    해당 블록안에 있는 하나의 격자 도트(4)를 일정한 방향으로 벗어나 배치된 도트를 키 도트(2)라 하고,
    상기 키 도트(2)를 대표점으로 해당 키 도트(2)의 주변에 배치되는 동시에 4점의 격자 도트(4)로 둘러싸인 중심을 가상점으로 하며, 이것을 시점으로 벡터에 의해 표현되는 종점에 다양한 정보를 인식시키는 정보 도트(3)를 도트 코드 생성 알고리즘에 의하여 소정의 규칙에 따라 복수 배열하여 도트 패턴(1)을 생성하고,
    상기 도트 패턴(1)을 구성하는 블록을 카메라를 통해 화상 데이터로 받아들이고, 그것을 디지털화하여 구한 수치에서 정보, 프로그램을 출력시키는 것을 특징으로 하는 도트 패턴을 이용한 정보 입출력 방법.
  2. 청구항 1에 있어서, 상기 카메라를 통해 상기 도트 패턴(1)의 키 도트(2)의 방향을 인식하고, 그 방향을 기준으로 벡터의 종점에 배치된 도트를 정보 도트(3)로 하는 것을 특징으로 하는 도트 패턴을 이용한 정보 입출력 방법.
  3. 청구항 1에 있어서, 상기 정보 도트(3)를 상기 격자 도트(4)의 가상점을 중심으로 복수 표시하는 것을 특징으로 하는 도트 패턴을 이용한 정보 입출력 방법.
  4. 청구항 1에 있어서, 상기 정보 도트(3)로 정의되는 데이터를 비트 표시하는 경우, 에러 확인에 이용하기 위하여 상기 정보 도트(3) 1개중 1비트에 용장성(冗長性)을 갖도록 하고, 해당 정보 도트 In에서 얻어지는 데이터의 상위 비트와 정보 도트 In+1에서 얻어지는 하위 비트를 동일하게 취급함에 따라,
    상기 정보 도트(3)가 상기 매체면에 표시된 상태에서 그 정보 도트 In에서 얻어지는 데이터의 상위 비트와 정보 도트 In+1에서 얻어지는 데이터의 하위 비트가 동일하지 않은 경우에 상기 정보 도트(3)는 적정 위치에 표시되지 않는 것으로 판정하는 것을 특징으로 하는 도트 패턴을 이용한 정보 입출력 방법.
  5. 청구항 1에 있어서, 상기 정보 도트(3)를 에러 확인에 이용하기 위하여 하위 비트에 「0」또는 「1」을 할당함에 따라,
    상기 정보 도트(3)가 상기 매체면에 표시된 상태에서 해당 정보 도트(3)가 배치되는 위치에 인접한 다른 데이터를 갖는 정보 도트(3)가 배치되는 위치로 벗어나 있는 경우에 해당 정보 도트(3)는 적정 위치에 표시되지 않은 것으로 판정하는 것을 특징으로 하는 도트 패턴을 이용한 정보 입출력 방법.
  6. 청구항 5에 있어서, 상기 키 도트(2)의 방향을 상방향으로 정하고, 그 방향의 정보 도트(3)로 정의되는 데이터를 「0」으로 하며, 상기 정보 도트(3)를 등간격 8방향의 임의의 방향에 배치하는 동시에 에러 확인을 실시하기 위하여 하위 비트에 「0」을 할당함에 따라,
    상기 정보 도트(3)가 매체면에 표시된 상태에서 해당 정보 도트(3)가 가상점을 중심으로 상하 또는 좌우방향 이외의 경사방향에 위치할 때에 해당 정보 도트 (3)는 적정 위치에 표시되지 않은 것으로 판정하는 것을 특징으로 하는 도트 패턴을 이용한 정보 입출력 방법.
  7. 청구항 5에 있어서, 상기 키 도트(2)의 방향을 상방향으로 정하고, 그 방향의 정보 도트(3)로 정의되는 데이터를 「0」으로 하며, 상기 정보 도트(3)를 등간격 8방향의 임의의 방향에 배치하는 동시에 에러 확인을 실시하기 위하여 하위 비트에 「1」을 할당함에 따라,
    상기 정보 도트(3)가 매체면에 표시된 상태에서 해당 정보 도트(3)가 가상점을 중심으로 경사방향 이외의 상하 또는 좌우 방향에 위치할 때에 해당 정보 도트(3)는 적정 위치에 표시되지 않은 것으로 판정하는 것을 특징으로 하는 도트 패턴을 이용한 정보 입출력 방법.
  8. 청구항 5에 있어서, 상기 정보 도트(3)의 에러 확인을 실시하고 모든 정보 도트(3)를 배치하기 위하여 하위 비트에 「0」과 「1」을 교대로 할당하는 것을 특징으로 하는 도트 패턴을 이용한 정보 입출력 방법.
  9. 청구항 1에 있어서, 상기 도트 패턴(1)의 정보 도트 In에 정의된 데이터 Kn을 암호화하여 눈으로 읽을 수 없도록 하기 위하여,
    상기 데이터 Kn에 대하여 함수 f로 표현된 연산을 실시하고,
    In=f(Kn)을 도트 패턴(1)으로 표현하며,
    상기 도트 패턴(1)을 카메라를 통해 화상 데이터로 받아들이고 데이터 Kn을 Kn=f-1(In)에 따라 구하는 것을 특징으로 하는 도트 패턴을 이용한 정보 입출력 방법.
  10. 청구항 1에 있어서, 상기 도트 패턴(1)의 규칙성을 없애고 상기 정보 도트(3)의 데이터를 눈으로 읽을 수 없도록 하기 위하여,
    인접한 2열의 정보 도트(3)의 차이를 정보 도트(3)에서 정의하는 데이터로 규정하고,
    인접한 앞선 열의 정보 도트 Im에서 정의할 데이터 Kn을 가산함으로써 구해지는 정보 도트 In에 따라 도트 패턴(1)을 생성하여 배치하는 것을 특징으로 하는 도트 패턴을 이용한 정보 입출력 방법.
  11. 청구항 1에 있어서, 상기 도트 패턴(1)에서 정보가 없는 영역을 정의하기 위하여 또는 영역과 영역의 경계에서 경계를 넘는 다른 데이터를 받아들이지 않도록 하기 위하여,
    데이터가 정의되지 않은 더미(dummy) 도트(5)로, 4점의 격자 도트(4)의 중심위치에 도트를 배치하는 것을 특징으로 하는 도트 패턴을 이용한 정보 입출력 방법.
  12. 청구항 1에 있어서, 상기 도트 패턴(1)을 카메라를 통해 화상 데이터로 받아들일 때에,
    정보의 대표점인 키 도트(2)의 위치에서 X, Y 좌표값을 산정한 후,
    해당 키 도트(2)에서 얻어지는 도트 패턴(1)의 방향과 인접한 대표점의 X, Y 좌표값의 증가값 및 촬상 중심에서 X, Y 좌표값이 산정된 키 도트(2)까지의 거리로부터 좌표값을 보완함에 따라,
    촬상 중심의 X, Y 좌표값을 산정을 하는 것을 특징으로 하는 도트 패턴을 이용한 정보 입출력 방법.
  13. 청구항 1에 있어서, 상기 도트 패턴(1)의 블록을 카메라를 통해 화상 데이터로 받아들일 때에 각 블록에 동일한 데이터가 정의되는 영역 또는 X, Y 좌표값이 정의되는 영역에 대하여,
    상기 카메라의 촬상 중심의 주위에 있는 정보 도트(3)부터 읽기 시작하여 순차 정보 도트(3)를 읽고,
    1블록 분량에 상당하는 정보 도트(3)를 해독함에 따라 상기 카메라의 촬상 중심에서 최소한의 영역으로 도트 패턴(1)을 해독하고, 촬상 중심 위치에서의 데이터를 산정하는 것을 특징으로 하는 도트 패턴을 이용한 정보 입출력 방법.
  14. 청구항 1에 있어서, 상기 도트 패턴(1)을 카메라를 통해 화상 데이터로 받아들일 때에,
    정보 도트(3)에 대하여 일부 에러가 발생한 경우, 해당 정보 도트(3)에 상당하는 가장 가까운 정보 도트(3)를 읽어 에러 수정을 하는 것을 특징으로 하는 도트 패턴을 이용한 정보 입출력 방법.
  15. 청구항 1에 있어서, 상기 블록을 서브 블록으로 분할하고, 각 서브 블록에 각각 독립된 정보를 부여함에 따라,
    상기 카메라의 촬상 중심에서 상기 블록 단위보다 작은 영역으로 도트 패턴(1)을 해독하고, 또한 각 서브 블록마다 에러 확인 및 에러 수정을 실시하는 것을 특징으로 하는 도트 패턴을 이용한 정보 입출력 방법.
KR1020057000970A 2005-01-18 2003-03-17 도트 패턴을 이용한 정보 입출력 방법 KR100591300B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020057000970A KR100591300B1 (ko) 2005-01-18 2003-03-17 도트 패턴을 이용한 정보 입출력 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020057000970A KR100591300B1 (ko) 2005-01-18 2003-03-17 도트 패턴을 이용한 정보 입출력 방법

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020067003179A Division KR100591301B1 (ko) 2006-02-15 2003-03-17 도트 패턴을 이용한 정보 입출력 방법

Publications (2)

Publication Number Publication Date
KR20050028040A true KR20050028040A (ko) 2005-03-21
KR100591300B1 KR100591300B1 (ko) 2006-06-20

Family

ID=37385105

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020057000970A KR100591300B1 (ko) 2005-01-18 2003-03-17 도트 패턴을 이용한 정보 입출력 방법

Country Status (1)

Country Link
KR (1) KR100591300B1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100952568B1 (ko) * 2009-04-15 2010-04-12 (주) 씨이엔 점 패턴 분석을 통한 코드 생성 방법과 이를 위한 기록매체
KR100964069B1 (ko) * 2006-04-14 2010-06-16 소닉스 테크놀러지 컴퍼니 리미티드 그래픽 인디케이터
US10614333B2 (en) 2015-10-19 2020-04-07 Sonix Technology Co., Ltd. Method for reading graphical indicator, indicator structure and electronic apparatus thereof

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9857363B2 (en) 2011-10-06 2018-01-02 Ingibio, Ltd. Membrane sensor capable of sequentially changing reaction condition by single sample injection
WO2018151367A1 (ko) * 2017-02-20 2018-08-23 상명대학교서울산학협력단 교육용 교재의 그래픽 표시방법

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100964069B1 (ko) * 2006-04-14 2010-06-16 소닉스 테크놀러지 컴퍼니 리미티드 그래픽 인디케이터
KR100989319B1 (ko) * 2006-04-14 2010-10-25 소닉스 테크놀러지 컴퍼니 리미티드 그래픽 인디케이터
KR101007348B1 (ko) * 2006-04-14 2011-01-13 소닉스 테크놀러지 컴퍼니 리미티드 그래픽 인디케이터
KR100952568B1 (ko) * 2009-04-15 2010-04-12 (주) 씨이엔 점 패턴 분석을 통한 코드 생성 방법과 이를 위한 기록매체
US10614333B2 (en) 2015-10-19 2020-04-07 Sonix Technology Co., Ltd. Method for reading graphical indicator, indicator structure and electronic apparatus thereof

Also Published As

Publication number Publication date
KR100591300B1 (ko) 2006-06-20

Similar Documents

Publication Publication Date Title
JP3706385B2 (ja) ドットパターンを用いた情報入出力方法
EP1876552B1 (en) Information input/output method using dot pattern
JP5848464B2 (ja) 二次元コード、二次元コードの作成システムおよび解析プログラム
US20130020386A1 (en) Information input output method using dot pattern
JP5791826B2 (ja) 二次元コード
KR100591300B1 (ko) 도트 패턴을 이용한 정보 입출력 방법
KR100591301B1 (ko) 도트 패턴을 이용한 정보 입출력 방법
KR100860110B1 (ko) 도트 패턴을 이용한 정보 입출력 방법
RU2323476C2 (ru) Способ ввода и вывода информации посредством использования шаблона микропятен
JP3858051B6 (ja) ドットパターンを用いた情報入出力方法
CA2811129C (en) Information input and output method by use of dot pattern
CN117273044A (zh) 一种点阵图、点阵图构建方法及识别点阵图的方法
AU2016200846A1 (en) Printed Material Printed with a Dot Pattern

Legal Events

Date Code Title Description
A201 Request for examination
A302 Request for accelerated examination
E902 Notification of reason for refusal
A107 Divisional application of patent
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20130612

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20140612

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20150611

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20160613

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20170612

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20180614

Year of fee payment: 13

FPAY Annual fee payment

Payment date: 20191212

Year of fee payment: 14