KR20170005006A - 이차원 코드, 이차원 코드의 해석 시스템 - Google Patents

이차원 코드, 이차원 코드의 해석 시스템 Download PDF

Info

Publication number
KR20170005006A
KR20170005006A KR1020167031741A KR20167031741A KR20170005006A KR 20170005006 A KR20170005006 A KR 20170005006A KR 1020167031741 A KR1020167031741 A KR 1020167031741A KR 20167031741 A KR20167031741 A KR 20167031741A KR 20170005006 A KR20170005006 A KR 20170005006A
Authority
KR
South Korea
Prior art keywords
position detection
dimensional code
detection patterns
data
pattern
Prior art date
Application number
KR1020167031741A
Other languages
English (en)
Other versions
KR101821087B1 (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 교도 인사쯔 가부시키가이샤
Publication of KR20170005006A publication Critical patent/KR20170005006A/ko
Application granted granted Critical
Publication of KR101821087B1 publication Critical patent/KR101821087B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K19/00Record carriers for use with machines and with at least a part designed to carry digital markings
    • G06K19/06Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
    • G06K19/06009Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking
    • G06K19/06037Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking multi-dimensional coding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K19/00Record carriers for use with machines and with at least a part designed to carry digital markings
    • G06K19/06Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K19/00Record carriers for use with machines and with at least a part designed to carry digital markings
    • G06K19/06Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
    • G06K19/06009Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking
    • G06K19/06046Constructional details
    • G06K19/06075Constructional details the marking containing means for error correction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K19/00Record carriers for use with machines and with at least a part designed to carry digital markings
    • G06K19/06Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
    • G06K19/06009Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking
    • G06K19/06046Constructional details
    • G06K19/06131Constructional details the marking comprising a target pattern, e.g. for indicating the center of the bar code or for helping a bar code reader to properly orient the scanner or to retrieve the bar code inside of an image

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Image Analysis (AREA)

Abstract

2 진 코드로 나타내는 데이터를 셀화하여, 이차원의 매트릭스상으로 패턴으로서 배치한 장방형의 이차원 코드로서, 장방형의 기본 패턴부를 갖고, 상기 기본 패턴부는, 셀 위치를 특정하기 위한 복수개의 위치 검출 패턴과, 상기 이차원 코드의 사이즈를 나타내는 버전 정보를 포함하고, 상기 버전 정보를 사용하여, 상기 복수개의 위치 검출 패턴 간의 거리를 고정한 상태에서 상기 이차원 코드의 사이즈를 가변으로 설계하는 것이 가능하게 되어 있는 것을 특징으로 하는 이차원 코드.

Description

이차원 코드, 이차원 코드의 해석 시스템{TWO-DIMENSIONAL CODE, AND TWO-DIMENSIONAL-CODE ANALYSIS SYSTEM}
본 발명은, 이차원 코드, 이차원 코드의 해석 시스템에 관한 것이다.
이차원 코드는, 일차원 코드와 비교해 좁은 면적에 많은 정보를 가질 수 있어, 물품 관리나, 휴대전화를 사용한 웹 유도 등 여러 가지 용도에 널리 활용되고 있다. 이차원 코드에는, 보유하는 데이터량에 따라 코드의 크기를 가변으로 할 수 있는 것이 알려져 있다. 이와 같은 이차원 코드를 해석할 때에는, 사전에 코드의 크기, 방향 등이 분명하지 않은 경우가 많아, 이차원 코드의 촬영 화상으로부터 이들 정보를 판별하게 된다.
이차원 코드는, 촬영된 화상의 위치 관계를 검출하기 위해, 소정 형상의 위치 검출 패턴을 갖는다. 위치 검출 패턴은, 이차원 코드 내에서 단독으로 다른 부분과 용이하게 구별 가능한 형상을 갖는다. 해석 시에는, 촬영한 이차원 코드의 화상에 있어서 위치 검출 패턴을 검출하고, 위치 검출 패턴의 위치 관계에 기초하여 변환을 실시한다. 위치 검출 패턴의 검출은, 해석의 기초가 되는 처리이고, 인식 정밀도나, 해석 시간에의 영향이 크다. 따라서, 이차원 코드에 있어 위치 검출 패턴의 형상은, 중요한 요소이다.
종래의 이차원 코드로는, 주로 특허문헌 1 이나 특허문헌 2 에 기재된 코드가 알려져 있다.
또, 이차원 코드에 요구되는 니즈로서 한번에 복수의 코드를 동시에 인식하는 것이 있다. 한번에 복수의 코드를 동시에 인식시키는 것에 대하여, 예를 들어 선반에 이차원 코드를 붙인 동일한 방향의 골판지 상자가 있고, 이들 골판지 상자의 재고 조사를 하는 경우, 골판지 상자의 근처로 가 코드를 하나하나 인식시키는 것보다도, 멀리서 일괄적으로 인식이 가능하면, 작업 능률이 향상된다. 이와 같은 일괄 인식은, 예를 들어 RFID 등을 이용하여 실시하는 것이 알려져 있지만, RFID 는 미디어측에 안테나 등이 필요하여, 미디어가 고비용이 된다. 이에 비하여, 이차원 코드는, 종이에 인자하는 것만으로 사용할 수 있기 때문에, 저비용이다.
일본 공개특허공보 평7-254037호 미국 특허 제5591956호
JIS X 0510 : 2004
특허문헌 2 의 위치 검출 패턴을 1 개만 갖는 이차원 코드 (아즈텍 코드) 에서는, 오염이나 화상 흔들림 때문에 1 개의 위치 검출 패턴을 식별할 수 없으면, 이차원 코드의 해석 불량이라고 되어 버린다. 복수의 코드를 일괄적으로 인식시키는 경우, 모든 코드를 인식할 수 없는 경우에는 모든 코드를 인식할 수 있을 때까지 재촬영하는 경우가 많아, 인식 정밀도가 낮으면 재촬영의 횟수가 증가하여 복수의 코드를 일괄적으로 판독하는 장점이 저해된다. 따라서, 이차원 코드의 복수 인식에는, 단체 (單體) 의 이차원 코드를 판독하는 이상의 코드 판독의 신뢰성이 요망되기 때문에, 위치 검출 패턴을 1 개만 갖는 이차원 코드는 원래 복수 인식에 적합하지 않았다.
이 대책으로서, 위치 검출 패턴을 하나 더 갖게 함으로써 용장화시킨다는 방법이 있지만, 이 경우 후술하는 복수의 위치 검출 패턴을 갖는 코드와 동일한 문제가 발생한다.
특허문헌 1 의 복수의 위치 검출 패턴을 갖는 이차원 코드는, 1 개의 위치 검출 패턴이 오염되어 버려도, 다른 위치 검출 패턴으로 보완할 수 있을 가능성이 있으므로, 인식의 신뢰성을 높이기 쉽다.
여기서, 특허문헌 1 의 이차원 코드를 복수 일괄적으로 인식하고자 하면, 1 화상 내에 복수의 위치 검출 패턴이 찍히기 때문에, 동일 형상의 위치 검출 패턴의 조합이 다수 존재하게 된다. 이 경우, 동일한 이차원 코드에 포함되는 위치 검출 패턴의 조합을 찾아낼 필요가 있다. 복수의 위치 검출 패턴을 포함하는 이차원 코드를, 복수 일괄적으로 인식하는 것을 어렵게 하고 있는 기술적 과제로서 크게 2 점이 있다.
제 1 점은, 위치 검출 패턴 간의 거리에 관한 과제이다. 특허문헌 1 의 코드는, 이차원 코드의 사이즈를 데이터량에 따라 변화시키는 경우, 위치 검출 패턴은 항상 정점에 있기 때문에, 위치 검출 패턴끼리의 거리는 코드의 사이즈에 따라 가변으로 하게 된다. 이것은, 특허문헌 1 을 참조하고 있는 문헌 3 에도 기재되어 있다. 일반적으로, 이차원 코드는 데이터량에 따라 코드의 사이즈를 변화시킬 것이 요구된다. 따라서, 동일한 이차원 코드의 위치 검출 패턴의 조합을 찾아낼 때에, 위치 검출 패턴 간의 거리가 긴 조합, 짧은 조합을 모두 검출해야만 하여, 1 화상에 찍힌 이차원 코드의 개수가 많은 경우, 그 계산량이 방대해진다.
제 2 점은, 위치 검출 패턴의 외형 (윤곽) 에 관한 과제이다. 복수의 동일한 외형의 위치 검출 패턴이, 근거리 또한 동일 방향에 존재하는 경우, 동일한 이차원 코드에 존재하는 위치 검출 패턴의 조합을 찾아내는 것은 곤란하여, 다수의 위치 검출 패턴의 조합으로부터 올바른 코드의 내용이 얻어지는지의 여부를 조사할 것이 요구된다.
이상과 같이, 복수의 코드의 인식에는 복수의 위치 검출 패턴을 갖는 이차원 코드를 사용함으로써 이차원 코드의 판독의 신뢰성이 높아져, 복수 코드를 일괄적으로 인식하는 것에 의한 효율화의 효과가 높아지지만, 단점으로서 해석이 곤란, 해석 가능하다고 해도 해석 시간이 길어진다는 문제가 있었다.
본 발명은, 복수의 위치 검출 패턴을 포함하는 이차원 코드에 있어서, 1 화상 내에 다수의 이차원 코드가 존재하는 경우에도, 위치 검출 패턴의 조합이 동일한 이차원 코드의 것인지 용이하게 판별 가능한 점에서, 일괄적으로 인식하는 이차원 코드의 수가 증가해도 해석 처리에 대한 영향이 적은, 이차원 코드, 및 이차원 코드의 해석 시스템의 실현을 목적으로 한다.
또한, 이차원 코드로서 셀의 색으로부터 정보를 판독하는 컬러 코드가 제안되어 있고, 그 경우 복수의 위치 검출 패턴을 동일한 형상이지만 상이한 색으로 하여, 위치 검출 패턴을 특정하는 것이 생각된다. 그러나, 대다수의 코드 발행 프린터는 흑백 프린터이고, 프린터나 잉크의 상태, 조명을 포함한 외부 환경에 영향을 받기 쉬운 점에서, 정밀도에 염려가 있다. 여기서는, 흑백의 이차원 코드를 예로 들어 설명을 실시한다.
청구항 1 의 발명에서는, 2 진 코드로 나타내는 데이터를 셀화하여, 이차원의 매트릭스상으로 패턴으로서 배치한 장방형의 이차원 코드로서, 장방형의 기본 패턴부를 갖고, 상기 기본 패턴부는, 셀 위치를 특정하기 위한 복수개의 위치 검출 패턴과, 상기 이차원 코드의 사이즈를 나타내는 버전 정보를 포함하고, 상기 버전 정보를 사용하여, 상기 복수개의 위치 검출 패턴 간의 거리를 고정한 상태에서 상기 이차원 코드의 사이즈를 가변으로 설계하는 것이 가능하게 되어 있는 이차원 코드이다.
청구항 2 의 발명에서는, 상기 복수개의 위치 검출 패턴은 서로 외형이 상이한 청구항 1 에 기재된 이차원 코드이다.
청구항 3 의 발명에서는, 상기 기본 패턴부의 외측에 형성되는 주변부를 구비하는 청구항 1 또는 2 에 기재된 이차원 코드이다.
청구항 4 의 발명에서는, 상기 복수개의 위치 검출 패턴 내의 2 개의 위치 검출 패턴의 조합에 대해, 상기 2 개의 위치 검출 패턴의 중심을 잇는 직선이 장방형의 당해 이차원 코드의 외부와의 경계에 교차하는 2 점 간의 거리는, 상기 2 개의 위치 검출 패턴의 중심 간의 거리의 2 배보다 큰 청구항 3 에 기재된 이차원 코드이다.
청구항 5 의 발명에서는, 셀 위치를 특정하기 위한 복수의 위치 검출 패턴을 포함하는 제 1 이차원 코드와, 셀 위치를 특정하기 위한 복수의 위치 검출 패턴을 포함하는 제 2 이차원 코드를, 복수 일괄적으로 촬영한 화상을 해석하는 시스템으로서, 상기 제 1 이차원 코드에 포함되는 위치 검출 패턴과, 상기 제 2 이차원 코드에 포함되는 위치 검출 패턴에 의한, 잘못된 위치 검출 패턴의 조합을 제외하는 제외 수단을 포함하는 이차원 코드의 해석 시스템이다.
청구항 6 의 발명에서는, 상기 제외 수단은, 2 개의 상기 위치 검출 패턴 간의 거리가 소정의 거리가 되지 않는 경우에는, 상기 2 개의 위치 검출 패턴의 조합을, 하나의 이차원 코드에 포함되는 위치 검출 패턴의 조합이 아닌 잘못된 위치 검출 패턴의 조합으로서 제외하는 청구항 5 에 기재된 이차원 코드의 해석 시스템이다.
청구항 7 의 발명에서는, 상기 제외 수단은, 상기 위치 검출 패턴끼리의 외형에 기초하여 조합을 제외하는 수단인 청구항 5 또는 6 에 기재된 이차원 코드의 해석 시스템이다.
본 발명의 이차원 코드는, 위치 검출 패턴을 복수 갖고, 데이터량에 따라 코드의 사이즈를 가변으로 설계 가능하며, 1 화상 중에 복수의 이차원 코드가 존재하도록 촬영한 경우라도, 위치 검출 패턴의 조합이 동일한 이차원 코드에 포함되는 위치 검출 패턴인지 용이하게 판별이 되기 때문에, 해석 처리를 적게 할 수 있다.
도 1 은, 특허문헌 1 에 기재된 정방형의 4 개의 코너 중 3 개의 코너에 3 개의 동일한 형상의 위치 검출 패턴을 배치한 이차원 코드를, 인접하여 4 개 배치한 상태에서 1 화상에 들어가도록 촬영한 경우의 화상을 나타내는 도면이다.
도 2 는, 본 발명의 제 1 실시형태의 이차원 코드를, 도 1 과 마찬가지로 복수 배열한 것이다.
도 3a 는, 본 발명의 제 2 실시형태에 있어서의 위치 검출 패턴의 외형이 모두 상이한 이차원 코드를, 도 1 과 마찬가지로 4 개 배열한 도면이다.
도 3b 는, 도 3a 의 이차원 코드 A 에 있어서의 외형이 모두 상이한 위치 검출 패턴을 나타내는 도면이다.
도 4 는, 제 1 실시형태의 이차원 코드의 구성을 나타내는 도면이다.
도 5a 는, 위치 검출 패턴의 후보 삭감의 효과가 큰 구성에 있어서, 상이한 이차원 코드의 위치 검출 패턴이면 구별하기 위한 조건에 대해 설명하는 도면 (그 1) 이다.
도 5b 는, 위치 검출 패턴의 후보 삭감의 효과가 큰 구성에 있어서, 상이한 이차원 코드의 위치 검출 패턴이면 구별하기 위한 조건에 대해 설명하는 도면 (그 2) 이다.
도 6 은, 도 5b 의 조건을 세로로 긴 장방형의 이차원 코드에 대해 나타내는 도면이다.
도 7a 는, 기본 패턴부의 중심과 이차원 코드의 중심이 어긋난 (상대 이동한) 예를 나타내는 도면 (그 1) 이다.
도 7b 는, 기본 패턴부의 중심과 이차원 코드의 중심이 어긋난 (상대 이동한) 예를 나타내는 도면 (그 2) 이다.
도 8 은, 방향을 특정할 수 있는, 2 개의 위치 검출 패턴을 사용한 이차원 코드를 나타내는 도면이다.
도 9 는, 제 2 실시형태의 이차원 코드의 구성을 나타내는 도면이다.
도 10a 는, 제 2 실시형태의 이차원 코드에 기록되는 데이터 구성예를 나타낸다.
도 10b 는, 제 2 실시형태의 이차원 코드에 기록되는 실 (實) 데이터의 구성예를 나타낸다.
도 11a 는, 이차원 코드의 주변부의 버전에 따른 변화를 설명하는 도면 (그 1) 이다.
도 11b 는, 이차원 코드의 주변부의 버전에 따른 변화를 설명하는 도면 (그 2) 이다.
도 12a 는, 제 2 실시형태의 이차원 코드의 기본 패턴부의 전체 구성을 나타낸다.
도 12b 는, 제 2 실시형태의 이차원 코드의 기본 패턴부의 구성을 나타내는 도면이고, 블록 및 분리 패턴을 나타낸다.
도 13 은, 가로 방향에 대해, 기본 패턴부의 위치를 기본 패턴부 이동 정보로 어떻게 나타내는지 설명하는 도면이다.
도 14 는, 버전 19 × 19 의 이차원 코드에 있어서, 기본 패턴부를 이동시킨 예를 나타낸다.
도 15 는, 버전 4 × 4 의 이차원 코드의 예를 나타내는 도면이다.
도 16 은, 버전 5 × 5 의 이차원 코드의 예를 나타내는 도면이다.
도 17 은, 이차원 코드를 작성하여 제공하는 작성 시스템의 하드웨어 구성을 나타내는 도면이다.
도 18 은, 유저가, 유저 하드웨어를 통하여 시스템 하드웨어에 액세스하고, 원하는 이차원 코드를 작성하는 인코드 처리의 순서를 나타내는 플로우 차트이다.
도 19 는, 실시형태의 이차원 코드를 판독하고, 이차원 코드를 해석하는 이차원 코드 해석 장치의 하드웨어 구성을 나타내는 도면이다.
도 20 은, 유저가 촬영한 이차원 코드를 해석하는 디코드 처리의 순서를 나타내는 플로우 차트이다.
도 21 은, 유저가 촬영한 이차원 코드를 해석하는 디코드 처리의 순서를 나타내는 플로우 차트이다.
도 1 은, 특허문헌 1 에 기재된 정방형의 4 개의 코너 중 3 개의 코너에 3 개의 동일한 형상의 위치 검출 패턴을 배치한 이차원 코드를, 인접하여 4 개 배치한 상태에서 1 화상에 들어가도록 촬영한 경우의 화상을 나타내는 도면이다. 설명용으로 4 개의 이차원 코드는 간략도로서 있다.
도 1 에 나타내는 바와 같이, 이차원 코드 A, B, C, D 가 동일한 방향으로 근접하여 배치되어 있다. 이차원 코드 A 는, 3 개의 위치 검출 패턴 A1, A2, A3 을 갖고, 다른 이차원 코드 B, C, D 도 동일하게 3 개의 위치 검출 패턴을 갖는다. 이차원 코드 A 만이 이차원 코드의 셀수 (버전) 가 상이하고, 위치 검출 패턴 간의 거리가 상이하다. 3 개의 위치 검출 패턴 (A1, A2, A3) 의 위치 관계는, 이차원 코드 A 의 사양에 의한 소정의 위치 관계를 갖고, 다른 3 개의 이차원 코드 B, C, D 의 위치 검출 패턴은 동일한 사양에 의한 위치 관계를 갖는다.
판독 시에는, 위치 검출 패턴의 조합으로서, 도 1 에 있어서 B3-D1 과, C2-D1 과, D1-D2 의 거리를 모두 동일하게 한 경우, (A1, A2, A3), (B1, B2, B3), (C1, C2, C3), (D1, D2, D3) 의 4 개의 조합 외에, 예를 들어 (D1, B3, D2) 나, (A2, C2, D2) 의 조합도 후보로서 검출되게 된다.
이차원 코드의 해석을 실시하는 경우에는, 이차원 코드의 형상에 기초하여 3 개의 위치 검출 패턴을 특정하고, 또한 3 개의 위치 검출 패턴으로부터 셀 좌표를 산출한다. 그리고, 이차원 코드의 3 개의 위치 검출 패턴 이외의 부분의 셀의 값 (명 또는 암) 으로부터 기록된 데이터를 판독한다.
도 1 의 화상예에서는, 12 개의 동일한 형상의 위치 검출 패턴이 존재하고, 위치 검출 패턴의 조합으로서 3 개 선택하지만, 3 개의 조합 중에는 (A1, D1, D3) 과 같이 분명하게 잘못인 조합도 있다. 또, (C2, A2, D2) 와 같이, 위치 검출 패턴끼리의 관계로는 올바르지만, 하나의 이차원 코드에 포함되지 않는 조합이 다수 있다. 그러나, 문헌 3 의 이차원 코드는, 위치 검출 패턴 간의 거리가 모델 (버전) 에 따라 상이하므로, 위치 검출 패턴 간의 거리만으로는 제외할 수 없다. 이 경우, 3 개의 위치 검출 패턴으로부터 산출한 셀의 좌표에 기초하여, 더욱 상세하게 코드 내의 정보로부터 이차원 코드가 있는지 판단할 필요가 있고, 그만큼 해석 처리가 증가하게 된다. 그 때문에, 복수의 위치 검출 패턴의 위치 관계만으로 제외할 수 없는 조합이 많으면, 그만큼 해석 시간이 길어진다는 문제를 발생시킨다.
도 2 는, 본 발명의 제 1 실시형태의 이차원 코드를, 도 1 과 동일하게 복수 배열한 것이다. 본 발명의 제 1 특징은, 코드에 기록하는 정보량을 증가시키기 위해 버전을 바꾸었다고 해도, 위치 검출 패턴 간의 거리가 바뀌지 않는 점에 있다. 즉, 종래의 코드에서는, 도 1 과 같이 형번에 따라 위치 검출 패턴 간의 거리가 상이하므로, 도 1 의 예를 들어 (A2, B2, C2) 의 오검출의 조합을 거리의 정보로부터 제외할 수 없었다. 본 발명의 코드는, 도 2 에 나타낸 바와 같이, 코드에 기록하는 정보가 증가한 경우에 커지는 것은, 후술하는 기본 패턴부 (2) 의 주위에 배치된, 증가한 정보를 기록하는 주변부 (5) 이고, 위치 검출 패턴이 포함되는 기본 패턴부의 치수 및 형상은 항상 고정이다. 그 때문에, 위치 검출 패턴끼리의 거리를 비교하기만 하는 간단한 계산으로, 위치 검출 패턴의 조합의 후보로부터 보다 많은 조합을 제외할 수 있다.
전술한 바와 같이, 위치 검출 패턴의 조합을, 간단한 계산으로 보다 많은 조합을 제외할 수 있기 때문에, 복수의 코드를 인식하는 해석 시간의 단축에 있어서 본 발명의 이차원 코드는 우위성이 있다.
도 3a 는, 본 발명의 제 2 실시형태에 있어서의 위치 검출 패턴의 외형이 모두 상이한 이차원 코드를, 도 1 과 동일하게 4 개 배열한 것이다. 도 3b 는, 도 3a 의 이차원 코드 A 에 있어서의 외형이 모두 상이한 위치 검출 패턴을 나타내는 도면이다. 도 3a 의 위치 검출 패턴 A1 이 도 3b 의 A1 에 대응하고, 도 3a 의 위치 검출 패턴 A2 가 도 3b 의 A2 에 대응하고, 도 3a 의 위치 검출 패턴 A3 이 도 3b 의 A3 에 대응하고, 도 3a 의 위치 검출 패턴 A4 가 도 3b 의 A4 에 대응한다. 이차원 코드 B, C, D 도 동일한 위치 검출 패턴을 갖는다. 본 발명의 제 2 특징은, 1 개의 이차원 코드에 포함되는 복수의 위치 검출 패턴의 외형을 서로 상이한 것으로 함으로써, 위치 검출 패턴의 잘못된 조합 후보를 제외하는 점에 있다. 즉, 종래의 코드에서는, 도 1 의, 예를 들어 (A2, B2, C2, D2) 의 잘못된 조합을 제외할 수 없었다. 그러나, 제 2 실시형태에서는, 도 3 에서 이것에 상당하는 (A2, B2, C2, D2) 의 조합에 있어서, 위치 검출 패턴이 모두 동일한 외형이 되기 때문에, 위치 검출 패턴의 조합으로부터 제외할 수 있다. 이것은, 제 2 실시형태가, 상이한 외형을 갖는 4 개의 위치 검출 패턴이 아니라, 상이한 외형을 갖는 3 개의 위치 검출 패턴이라도, 동일하게 이 위치 검출 패턴의 외형에 기초하여, 잘못된 조합을 제외할 수 있다.
이 경우의 조합을 삭감하는 효과를, 수치로 나타낸다.
도 1 과 같이, 이차원 코드가 4 개 있고, 각각의 코드에 위치 검출 패턴이 3 개 있는 경우, 촬영 화상에 합계 12 개의 위치 검출 패턴이 존재하게 된다. 합계 12 개의 위치 검출 패턴 중 3 개의 조합 모두에 대해 동일한 이차원 코드의 것인지 체크한다고 한다. 이 경우, 조합은 12C3 = 220 과 같이 된다. 만약, 1 개의 이차원 코드에 4 개의 동일한 위치 검출 패턴이 있는 경우에는, 촬영 화상 내의 위치 검출 패턴의 개수는 16 개가 되고, 그 조합은, 16C4 = 1820 과 같이 된다.
이에 대하여, 위치 검출 패턴의 외형이 모두 상이한 경우, 3 개의 위치 검출 패턴에서는, 4C1 × 4C1 × 4C1 = 64 와 같이 되고, 4 개의 위치 검출 패턴에서는, 4C1 × 4C1 × 4C1 × 4C1 = 256 과 같이 되어, 조합의 수가 대폭 줄어드는 것을 알 수 있다.
또한, 설명을 위해, 제 1 실시형태와 제 2 실시형태의 특징을 나누어 설명하지만, 양방의 특징을 구비한 코드도 당연 가능하고, 양방의 특징의 효과에 의해 복수의 코드를 인식하는 처리에 더욱 적합한 코드가 된다.
도 4 는, 제 1 실시형태의 이차원 코드의 일례의 구성을 나타내는 도면이다.
도 4 의 이차원 코드 (1) 는, 2 진 코드로 나타내는 데이터를 셀화하여, 이차원의 매트릭스상으로 패턴으로서 배치한 정방형의 이차원 코드이고, 일정 형상의 정방형의 기본 패턴부 (2) 와, 기본 패턴부 (2) 의 주위에 형성된 주변부 (5) 를 갖는다. 기본 패턴부 (2) 는, 셀 위치를 특정하기 위한 3 개의 위치 검출 패턴 (3A-3C) 을 갖는다. 여기서 일정 형상이란, 치수 및 형상이 고정되어 있다는 의미이다. 이차원 코드 (1) 의 위치 검출 패턴 (3A-3C) 을 제외한 부분은 셀화되어 있고, 셀의 명과 암으로 정보 (데이터) 를 기록한다. 기본 패턴부 (2) 의 위치 검출 패턴 (3A-3C) 을 제외한 부분이 데이터 영역 (4) 이다. 데이터 영역 (4) 은, 스펙 데이터와, 필요에 따라 실데이터를 포함한다. 스펙 데이터는, 기본 패턴부 (2) 의 외측에 형성되는 주변부 (5) 의 크기를 결정하는 버전 정보 등의, 주변부 (5) 의 데이터 배치에 관한 정보를 포함한다. 주변부 (5) 는 실데이터를 포함하고, 데이터 영역 (4) 의 실데이터와 주변부 (5) 의 실데이터가, 이차원 코드의 정보를 나타낸다. 여기서는, 형상이 정방형인 이차원 코드를 예로 들어 설명하지만, 이차원 코드의 형상은 장방형이어도 되고, 장방형에는 정방형도 포함되는 것으로 한다.
위치 검출 패턴 (3A-3C) 은, 특허문헌 1 에 기재된 위치 검출 패턴과 동일하게, 중심에 위치하는 정방형의 암 부분과, 정방형의 암 부분의 주위에 형성된 정방형의 프레임상의 암 부분을 갖고, 사이는 명 부분이다. 도 4 에 있어서, 위치 검출 패턴 (3A) 에 대해, 위치 검출 패턴 (3B) 은 가로 방향에, 위치 검출 패턴 (3C) 는 세로 방향에 인접하고 있다.
위치 검출 패턴의 후보를 제외하는 효과가 큰 구성에 대해 설명한다. 도시와 같이, 위치 검출 패턴 (3A 와 3B) 의 중심 간의 거리는 d1 이고, 위치 검출 패턴 (3A) 과 이차원 코드 (1) 의 좌측의 경계까지의 거리는 d2/2 이며, 위치 검출 패턴 (3B) 과 이차원 코드 (1) 의 우측의 경계까지의 거리는 d2/2 이다. 따라서, 이차원 코드 (1) 의 가로 방향의 폭은, d1 + d2 이다. 실시형태의 이차원 코드 (1) 에서는, d1 < d2 이도록 설정된다. 바꿔 말하면, 위치 검출 패턴 (3A 와 3B) 의 중심을 잇는 직선이 장방형 (정방형) 의 이차원 코드 (1) 의 외부와의 경계에 교차하는 2 점 간의 거리는, 위치 검출 패턴 (3A 와 3B) 의 중심 간의 거리의 2 배보다 크다.
또한 도시하고 있지 않지만, 위치 검출 패턴 (3A 와 3C) 의 중심 간의 거리는 D1 이고, 위치 검출 패턴 (3A) 과 이차원 코드 (1) 의 상측의 경계까지의 거리는 D2/2 이며, 위치 검출 패턴 (3C) 과 이차원 코드 (1) 의 하측의 경계까지의 거리는 D2/2 이다. (여기서는 D = d) 따라서, 이차원 코드 (1) 의 가로 방향의 폭은, D1 + D2 이고, 실시형태의 이차원 코드 (1) 에서는, D1 < D2 이도록 설정되어, 상기 조건이 성립한다.
이차원 코드의 위치 검출 패턴의 중심 간의 거리가 d1 보다 길어지는 경우, 상이한 이차원 코드의 위치 검출 패턴이라고 판단되고 있었지만, 모든 이차원 코드에 대해 d1 < d2 가 성립하는 경우, 다른 이차원 코드와의 위치 검출 패턴의 중심 거리가 d1 이 되는 경우가 존재하지 않게 되기 때문에, 위치 검출 패턴의 조합의 제외가 더욱 용이해진다.
다음으로, 화상 중에서 도 4 의 이차원 코드가 근접하여 존재하는 경우에, 상이한 이차원 코드의 위치 검출 패턴이면 구별하기 위한 조건에 대해 설명한다.
도 5a 및 도 5b 는, 위치 검출 패턴의 후보 삭감의 효과가 큰 구성에 있어서의 조건을 설명하는 도면이다.
도 5a 에 나타내는 바와 같이, 1 개의 이차원 코드의 2 개의 위치 검출 패턴 (3P 및 3Q) 이 있고, 그 중심 간의 거리는 d 라고 한다. 도시와 같이, 위치 검출 패턴 (3P 및 3Q) 을 중심으로 하는 반경 d/2 의 반원과 그 사이를 잇는 장방형으로 이루어지는 타원의 범위에, 다른 이차원 코드가 존재하지 않는다고 한다. 바꿔 말하면, 이 이차원 코드의 외부와의 경계 (주변부의 외부와의 경계) 는, 이 타원의 범위 밖에 있다고 한다. 여기서는, 다른 이차원 코드도 동일한 조건을 갖는다고 한다. 이 경우, 위치 검출 패턴 (3P 및 3Q) 으로부터의 중심 간의 거리가 d 보다 짧은 다른 이차원 코드의 위치 검출 패턴은 존재하지 않는다. 바꿔 말하면, 이차원 코드의 경계를, 복수의 위치 검출 패턴의 모든 조합에 대해 도 5a 의 범위의 외측이 되도록 설정하면, 위치 검출 패턴 간의 거리에 의해, 동일한 이차원 패턴에 속하는 위치 검출 패턴인지의 여부를 판정할 수 있다. 실제로는, 판정의 오차도 고려해, 어느 정도 여유를 갖고 이차원 코드의 경계를 설정하는 것이 필요하다.
정방형의 이차원 코드에 대한 상기 조건은, 도 5b 에 나타내는 바와 같이, 4 개의 위치 검출 패턴 (3A-3C) 의 중심이 장방형의 정점을 이루고, 이차원 코드 (1) 의 외형 (외부와의 경계) 도 상사의 정방형이라고 한다. 이 경우, 가로 방향의 위치 검출 패턴 (3A 와 3B) 의 중심 간 거리를 d1 로 하면, 이차원 코드 (1) 의 가로폭은 d1 + d2 이고, d1 < d2 이다. 세로 방향에 대해서도 동일한 조건이다. 2 방향에서 이 조건을 만족하면, 경사 방향의 위치 검출 패턴 (3S 와 3T) 에 대한 동일한 조건도 만족한다.
지금까지의 설명은, 정방형의 이차원 코드에 대해 실시했지만, 본 발명은 장방형의 이차원 코드여도 된다. 바꿔 말하면, 본 발명에서의 장방형은 정방형을 포함한다.
도 6 은, 도 5b 의 조건을 세로로 긴 장방형의 이차원 코드에 대해 나타내는 도면이다. 가로 방향에 대해서는 도 5b 와 동일하다. 세로 방향에 대해서는, 위치 검출 패턴 (3A 와 3C) 의 중심 간 거리를 D1 로 하면, 이차원 코드 (1) 의 세로폭은 D1 + D2 이고, D1 < D2 이면, 다른 이차원 코드의 위치 검출 패턴과 중심 간의 거리로 구별할 수 있다. 또한, 도 6 의 경우도, 경사 방향에 대해 동일한 조건이 성립한다. 이와 같이, 버전이 바뀌어도 위치 검출 패턴 간 거리를 일정하게 한 다음, 또한 상기 서술한 바와 같은 코드 설계로 함으로써, 더욱 복수의 코드 인식에 적절한 코드가 된다.
지금까지의 설명은, 이차원 코드의 외형과 기본 패턴부가 상사형이고, 복수개의 위치 검출 패턴이 기본 패턴부의 코너에 위치하는 경우를 설명했지만, 본 발명은 이것에 한정되지 않는다. 예를 들어, 복수개의 위치 검출 패턴이 기본 패턴부의 코너에 위치할 필요는 없고, 전술한 조건이 성립한다면 기본 패턴부의 내측의 주변부와의 경계로부터 떨어진 위치에 배치해도 된다.
또, 기본 패턴부의 중심과 이차원 코드의 중심이 일치할 필요는 없다.
도 7a 및 도 7b 는, 기본 패턴부의 중심과 이차원 코드의 중심이 어긋난 (상대 이동한) 예를 나타내는 도면이다.
도 7a 에 나타내는 바와 같이, 정방형의 기본 패턴부 (2) 는, 정방형의 이차원 코드 (1) 에 대해 좌상 (左上) 의 정점이 일치하도록 배치된다. 이 경우도, 가로 방향 및 세로 방향의 위치 검출 패턴 간 거리를 d1 로 하면, 이차원 코드 (1) 의 가로폭 및 세로폭은 d1 + d2 이고, d1 < d2 라는 조건이 충족된다. 이 조건이 충족된다면, 다른 이차원 코드를, 방향을 바꾸지 않고 인접하여 배치한 경우라면, 인접한 다른 이차원 코드의 위치 검출 패턴과의 중심간 거리는 d2 이상이고, 다른 이차원 코드의 위치 검출 패턴과 중심 간의 거리로 구별할 수 있다.
단, 도 7b 에 나타내는 바와 같이, 4 개의 이차원 코드 (1A-1D) 를 각각 90 도씩 상이하도록 회전시켜, 기본 패턴부 (2A-2D) 가 근접하도록 배치하면, 도면에서 1 설명한 바와 같은 상태가 되어, 다른 이차원 코드의 위치 검출 패턴과의 사이에서, 중심 간의 거리로 구별할 수 없게 된다.
그 때문에, 기본 패턴부의 중심과 이차원 코드의 중심이 어긋난 이차원 코드로 하는 경우에는, 인접하여 배치하는 다른 이차원 코드는 동일 방향으로 하도록 제한하여 코드를 배치하는 것이 바람직하다. 또한, 도 7a 에 나타내는 바와 같이, 기본 패턴부와 이차원 코드의 정점이 일치하도록 어긋나게 하는 것이 아니라, 기본 패턴부의 외측의 모든 방향에서 주변부가 존재하도록 어긋나게 한다. 그리고 모든 방향에서 주변부의 폭을 충분히 크게 해, 위치 검출 패턴과 이차원 코드의 경계까지의 거리가, 2 개의 위치 검출 패턴 간의 중심 거리의 1/2 보다 넓게 한다. 이와 같은 구성에 의하면, 도 7b 와 같이 다른 이차원 코드를 회전시켜 인접시켜도, 다른 이차원 코드의 위치 검출 패턴과 중심 간의 거리로 구별할 수 있다.
이상 설명한 예에서는, 3 개의 위치 검출 패턴은 동일한 형상이었지만, 개수는 4 개 이상이어도 되고, 서로 상이한 형상의 위치 검출 패턴을 형성해도 된다.
도 8 은, 방향을 특정할 수 있는, 2 개의 위치 검출 패턴을 사용한 이차원 코드를 나타내는 도면이다.
도 8 의 이차원 코드 (1) 는, 2 개의 상이한 형상의 위치 검출 패턴 (3R 및 3S) 을 갖고, 3R 및 3S 는 방향을 특정할 수 있는 형상인 것이 도 4 의 이차원 코드와 상이하고, 그 이외에는 동일하다. 도 8 의 이차원 코드 (1) 는, 일정 형상의 장방형의 기본 패턴부 (2) 와, 기본 패턴부 (2) 의 주위에 형성된 주변부 (5) 를 갖는다. 기본 패턴부 (2) 는, 셀 위치를 특정하기 위한 2 개의 형상이 상이한 위치 검출 패턴 (3R 및 3S) 을 갖는다. 기본 패턴부 (2) 의 위치 검출 패턴 (3R 및 3S) 을 제외한 부분이 데이터 영역 (4) 이다. 데이터 영역 (4) 은, 스펙 데이터와, 필요에 따라 실데이터를 포함한다. 스펙 데이터는, 기본 패턴 (2) 의 외측에 형성되는 주변부 (5) 의 크기를 결정하는 버전 정보 등의, 주변부 (5) 의 데이터 배치에 관한 정보를 포함한다. 주변부 (5) 는 실데이터를 포함하고, 데이터 영역 (4) 의 실데이터와 주변부 (5) 의 실데이터가, 이차원 코드의 정보를 나타낸다.
도 8 에서도, 위치 검출 패턴 (3R 및 3S) 의 중심 간 거리를 d1 로 하고, 위치 검출 패턴 (3R 및 3S) 의 중심을 잇는 직선이 이차원 코드 (1) 의 외부와의 경계와 교차하는 부분의 거리, 즉 이차원 코드 (1) 의 가로폭을 d1 + d2 로 하면, d1 < d2 의 조건을 만족함으로써, 위치 검출 패턴의 조합의 후보를 선택하는 경우의 후보수를 감소시켜 처리량을 저감할 수 있다. 또한, 도 8 의 위치 검출 패턴 (3R 및 3S) 은, 방향을 특정할 수 있는 형상을 갖고, 형상도 상이하므로, 1 개의 이차원 코드의 2 개의 위치 검출 패턴을 특정하는 것이 더욱 용이해진다.
또한, 위치 검출 패턴 (3R 및 3S) 의 중심으로부터, 이차원 코드의 상측 또는 하측의 경계까지의 거리를 d3 으로 한다. d3 이 d2 이상이면, 상하에 인접해 다른 이차원 코드가 배치되는 경우에도, 거리를 비교함으로써 위치 검출 패턴의 조 (組) 의 후보를 선택하는 경우의 후보수를 감소시킬 수 있다.
도 8 에서는, 방향을 특정할 수 있는 위치 검출 패턴을 사용했지만, 또한 복수개의 위치 검출 패턴의 적어도 일부를 상이한 형상으로 하여, 기본 패턴부의 코너의 위치도 특정할 수 있도록 하는 것이 생각된다. 이와 같이, 제 1 실시형태의 이차원 코드는, 코드의 사이즈를 변화시켜도 위치 검출 패턴 간 거리가 변하지 않기 때문에, 위치 검출 패턴끼리의 거리에 기초하여 오검출을 제외하는 것이 가능하다. 잘못된 위치 검출 패턴의 조합은, 하나의 이차원 코드에 포함되는 위치 검출 패턴의 조합은 아니라고 하여 제외된다. 또, 추가로 위치 검출 패턴 간 거리와, 주변부의 사이즈를 상기 서술한 바와 같이 설계함으로써, 위치 검출 패턴끼리의 거리에 기초하여 오검출을 제외하는 효과는 더욱 증가한다.
다음으로 설명하는 제 2 실시형태는, 코너마다 상이한 위치 검출 패턴을 형성한 이차원 코드이다.
도 9 는, 제 2 실시형태의 이차원 코드의 일례의 구성을 나타내는 도면이다.
제 2 실시형태의 이차원 코드 (10) 는, 2 진 코드로 나타내는 데이터를 셀화하여, 이차원의 매트릭스상으로 패턴으로서 배치한 이차원 코드이며, 일정 형상의 기본 패턴부 (11) 를 갖는다. 기본 패턴부 (11) 는, 셀 위치를 특정하기 위한 위치 검출 패턴 (12A-12D) 과, 스펙 데이터와 실데이터로 이루어지는 결합 데이터를 포함한다. 또, 기본 패턴부에 들어가지 않았던 실데이터는, 주변부 (20) 에 기록한다. 결합 데이터를 나타내는 데이터 구조는, 스펙 데이터와 실데이터의 구분이 명확한 구조로 한다.
도 9 에 있어서, 기본 패턴부 (11) 내의 위치 검출 패턴 (12A-12D) 을 제외한 영역, 즉 참조 번호 13 으로 나타내는 영역은 결합 데이터의 데이터 영역이다. 영역 (13) 에는, 스펙 데이터와 실데이터로 이루어지는 결합 데이터가 기록된다. 영역 (13) 에는, 또한 위치 보정 패턴 및 후술하는 분리 패턴이 필요에 따라 형성된다. 또, 영역 (13) 에는, 결합 데이터의 오류 정정을 실시하는 기본 패턴부 정정 데이터도 기록된다. 스펙 데이터는, 영역 (13) 내의 소정 위치에 기록된다.
스펙 데이터의 데이터량은, 주변부의 사이즈를 결정하는 버전 정보나, 이차원 코드 (10) 에 있어서의 기본 패턴부 (11) 의 위치 정보, 주변부의 오류 정정의 레벨 정보, 공백에 관한 정보 등의 데이터량에 따라 증감한다. 그러나, 스펙 데이터의 데이터량의 변화량은, 데이터 영역 (13) 에 기록할 수 있는 범위 내이다. 영역 (13) 내, 스펙 데이터를 기록한 나머지 부분에 실데이터가 기록된다. 따라서, 기본 패턴부 (11) 내에 기록 가능한 실데이터의 데이터량은, 스펙 데이터의 데이터량에 따라 증감한다. 따라서, 기본 패턴부 (11) 내에 기록되는 실데이터의 데이터량은, 스펙 데이터의 데이터량에 따라 변화하고, 데이터 영역 (13) 이 스펙 데이터로 가득 차는 경우에는, 데이터 영역 (13) 은 실데이터를 포함하지 않는 경우도 있을 수 있다.
주변부 (20) 는, 기본 패턴부 (11) 의 주변 부분이고, 여기에도 실데이터를 기록하는 셀이 존재한다. 스펙 데이터의 증가나, 실데이터의 증가에 의해 실데이터를 기본 패턴부에 다 기록할 수 없는 경우에는, 그 실데이터를 주변부 (20) 에 기록한다.
도 9 에 나타낸 위치 검출 패턴은, 정방형의 프레임 내에 정방형을 갖는 형상의 제 1 위치 검출 패턴 (12A) 과, 제 1 위치 검출 패턴 (12A) 보다 작은 정방형의 프레임 형상의 제 2 위치 검출 패턴 (12D) 과, 장방형의 제 3 위치 검출 패턴 (12B) 및 제 4 위치 검출 패턴 (12C) 을 갖는다. 4 개의 위치 검출 패턴 (12A-12D) 은, 기본 패턴부 (11) 의 네 모퉁이 (4 개의 코너) 에 배치되어 있다. 이 경우, 제 1 위치 검출 패턴 (12A) 과 제 2 위치 검출 패턴 (12D) 은 대각상에 배치되고, 제 3 위치 검출 패턴 (12B) 과 제 4 위치 검출 패턴 (12C) 은 대각상에 배치되며, 제 3 위치 검출 패턴 (12B) 및 제 4 위치 검출 패턴 (12C) 의 장변은 제 1 위치 검출 패턴 (12A) 의 변과 동일한 길이이고, 제 3 위치 검출 패턴 (12B) 및 제 4 위치 검출 패턴 (12C) 의 단변은 제 2 위치 검출 패턴 (12D) 의 변과 동일한 길이이며, 제 3 위치 검출 패턴 (12B) 및 제 4 위치 검출 패턴 (12C) 의 단변의 일방은 제 1 위치 검출 패턴 (12A) 의 변의 연장상에 배치되고, 제 3 위치 검출 패턴 (12B) 및 제 4 위치 검출 패턴 (12C) 의 장변의 일방은 제 2 위치 검출 패턴 (12D) 의 변의 연장상에 배치되는 것이 바람직하다. 도 9 에 나타낸 위치 검출 패턴 (12A-12D) 은, 각각 단독으로 용이하게 식별할 수 있고, 일부의 위치 검출 패턴이 오염 등으로 식별할 수 없는 경우라도, 식별할 수 있던 나머지의 위치 검출 패턴의 조로부터, 이차원 코드에 있어서의 셀의 좌표 위치를 용이하게 구할 수 있다.
위치 검출 패턴 (12A 와 12C 및 12B 와 12D) 의 가로 방향의 중심 간 거리를 d1 로 하면, 이차원 코드의 가로 방향 및 세로 방향의 폭은, d1 + d2 이고, d1 < d2 이다. 이로써, 위치 검출 패턴의 조의 후보를 선택하는 경우의 후보수를 감소시켜 처리량을 저감할 수 있다. 또한, 도 9 의 위치 검출 패턴 (12A-12D) 은, 모두 형상이 상이하므로, 복수의 코드를 인식할 때에 1 개의 이차원 코드의 4 개의 위치 검출 패턴을 특정하여, 이차원 코드 내의 셀 위치의 산출이 용이해진다.
도 10a 는, 제 2 실시형태의 이차원 코드에 기록되는 데이터 구성예를 나타낸다. 도 10b 는, 제 2 실시형태의 이차원 코드에 기록되는 실데이터의 구성예를 나타낸다.
도 10a 에 나타내는 바와 같이, 스펙 데이터는 모두 기본 패턴부 (11) 내에 기억되고, 실데이터는 기본 패턴부 (11) 내의 잔여 부분에 기록되며, 기본 패턴부에 다 들어가지 않는 경우에는, 기본 패턴부의 주위에 형성되는 주변부에 기록된다. 스펙 데이터의 데이터량은 증감하기 때문에, 기본 패턴부 (11) 내의 스펙 데이터와 실데이터의 경계는, 스펙 데이터의 데이터량에 따라 변화한다. 또, 기본 패턴부 (11) 내의 데이터 영역 (13) 을 블록으로 분할하는 경우, 스펙 데이터와 실데이터의 경계가 블록 내에 존재하는 경우가 일어날 수 있다.
스펙 데이터는, 주변부에 있어서의 데이터의 배치에 관한 정보를 나타내는 데이터이다. 스펙 데이터는, 주변부의 사이즈를 결정하는 세로·가로의 버전 정보, 주변부의 오류 정정 데이터의 양이 가변이면 주변부 오류 정정 레벨 정보, 주변부 실데이터를 배치하지 않는 블록을 결정하는 공백 정보 (데이터로서 기능하지 않는 블록의 정보), 및 기본 패턴부 이동 정보 등을 갖는다.
스펙 데이터는, 이차원 코드의 사양을 나타내는 데이터이지만, 기본 패턴부 (11) 가 항상 일정 형상인 경우, 실질적으로 주변부 (20) 의 스펙을 정의하는 것이라 간주할 수 있다.
스펙 데이터는, 발행하는 이차원 코드 (10) 에 의해 데이터량이 증감하여, 주변부에 기록하는 데이터량 및 데이터 배치에 영향을 주는 정보를 갖는다. 한편으로, 스펙 데이터는, 데이터량이 변화하지만, 기본 패턴부 (11) 에 있어서의 스펙 데이터 내의 정보는 미리 정해진 순서로 배치하여 기록된다. 기본 패턴부 (11) 의 데이터 영역 (13) 의 잔여 부분에 실데이터가 기록된다.
특허문헌 1 등에 기재가 있는 QR 코드 (등록상표) 에서는, 촬영 화상으로부터 위치 검출 패턴의 화소수와, 위치 검출 패턴끼리의 거리의 화소수를 계측하고, 그것으로부터 스펙 데이터인 버전 정보를 산출할 수도 있다. 이것을, QR 코드 (등록상표) 의 규격 (JIS X 0510 : 2004) 에 의하면, 참조 복호 알고리즘에 있어서, 임시의 심볼 형번을 구하는 방법으로서 기재되어 있다. 이 버전 정보는, 촬영 화상의 이차원 코드의 형상으로부터 산출하고 있고, 코드를 비스듬하게 위로부터 촬영한 경우나, 잉크가 번진 경우 등에는, 오차가 발생한다. 이차원 코드에는 가혹한 환경하에서의 촬영이나, 열악한 인자에서의 인식도 요구되기 때문에, 이 오차를 발생시키지 않기 위해, 버전 정보 등의 스펙 정보를, 판독에 필요한 용장성과 함께, 이차원 코드에 데이터로서 갖는 것이 바람직하다.
도 10b 에 나타내는 바와 같이, 실데이터는, 메시지 및 메시지를 수식하는 헤더 (메시지 종류 (메시지의 인코드)·메시지 사이즈) 를 합한 세그먼트를, 메시지수만큼 배열한다. 메시지는, 유저가 이차원 코드에 저장하는 데이터이고, 복수의 메시지를 저장할 수 있으며, 메시지마다 세그먼트를 부여한다. 또, 특수한 세그먼트로서 메시지를 포함하지 않는, 종단 (終端) 플래그만이 들어간 세그먼트를 준비하고, 실데이터의 용량이 남은 경우에 종단 플래그의 세그먼트를 배치하고, 그 후에 패딩을 배치한다. 따라서, 종단 플래그는 메시지의 유무를 나타내고, 마지막의 세그먼트의 종단 플래그는 true 이며, 그 이외의 세그먼트의 종단 플래그는 false 이다.
도 10a 에 나타내는, 스펙 데이터와, 실데이터는, 1 블록당의 데이터 용량에 따라 블록 단위로 분할된다. 동일하게 오류 정정 데이터도 블록 단위로 분할한다.
데이터에는 오류 정정 데이터가 첨부된다. 오류 정정 데이터에 리드 솔로몬 부호를 사용한 경우, 오류 정정은 워드 단위로 실시되기 때문에, 1 워드를 1 블록으로 하는 것이 바람직하다. 1 워드가 복수의 블록에 걸치는 경우, 1 개의 블록에 오염이 발생한 경우라도, 그 블록이 관계하는 모든 워드가 오류 정정의 대상이 되어, 정정의 효율이 나빠진다. 정정 원인이 되는 오염이나, 스포트 라이트에 의한 컬러 페이딩은 1 지점에 집중되는 경우가 많지만, 1 워드를 1 블록으로 함으로써 동시에 정정 대상이 되는 데이터를 1 지점으로 모으는 효과가 있어, 효율적인 정정을 가능하게 하여, 코드를 인식시킬 가능성을 높인다.
여기서, 스펙 데이터에 대해 더욱 설명한다. 스펙 데이터의 데이터량은, 주변부의 크기를 결정하는 버전 정보에 의해 증감시킬 수 있다. 즉, 주변부가 작거나, 혹은 존재하지 않는 경우에는 기본 패턴부 내의 스펙 데이터의 양을 적게 하고, 주변부가 큰 경우에는 기본 패턴부 내의 스펙 데이터의 양을 많게 함으로써, 코드의 정보량에 맞춰 스펙 데이터의 데이터량을 증감시킬 수 있다. 종래예와 같은 스펙 데이터의 데이터량을 고정한 경우, 코드의 사이즈가 작은 경우에 코드의 면적당의 스펙 데이터의 데이터량이 차지하는 비율이 커진다는 과제도 있었지만, 본 실시형태에서는 이 문제를 해결 가능하다.
상기와 같이, 스펙 데이터는 버전 정보를 포함하고, 버전 정보에 기초하여 이차원 코드의 크기 (사이즈) 가 결정된다. 예를 들어, 버전 정보로서 코드의 가로의 사이즈를 나타내는 가로 버전 정보와, 코드의 세로의 사이즈를 나타내는 세로 버전 정보라고 하는 2 종류의 데이터가 있으면, 코드는 임의의 사이즈의 장방형이 된다. 이차원 코드는, 버전 정보를 사용하여, 복수개의 위치 검출 패턴 간의 거리를 고정한 상태에서 이차원 코드의 사이즈를 가변으로 설계하는 것이 가능하게 되어 있다.
도 11a 및 도 11b 는, 이차원 코드의 주변부의 버전에 따른 변화를 설명하는 도면이다.
제 2 실시형태의 최소의 사이즈인 이차원 코드 (10) 는, 도 11a 에 나타낸 기본 패턴부 (11) 만을 갖는 최소 사이즈의 코드이고, 기본 패턴부 (11) 만을 갖는 최소 사이즈의 정방형의 이차원 코드를, 버전 가로 1 × 세로 1 이라고 부른다.
제 2 실시형태의 이차원 코드 (10) 는, 주변부 (20) 의 사이즈를 세로 방향 및 가로 방향으로 각각 신장시킬 수 있다. 가로 버전이 2, 세로 버전이 3 인 경우, 버전 가로 2 × 세로 3 으로 표기한다. 이차원 코드 (10) 는, 기본 패턴부와 동일한 형상의 버전 가로 1 × 세로 1 을 기준으로 하여, 버전수와 함께 이차원 코드 전체의 사이즈가 증가한다. 버전이 1 올라갈 때 마다, 사이즈가 1 단위 커진다. 이 예에서는 버전은 1 에서 26 까지 선택 가능하지만, 이것에 한정되는 것은 아니다.
도 11b 에 나타내는 바와 같이, 가로 버전의 증가에서는, 버전수의 증가에 따라 주변부 (20) 의 가로 방향의 사이즈가 좌측 (Y2), 우측 (Y3), 좌측 (Y4), 우측 (Y5) … 이라는 상태로 교대로 1 단위씩 증가한다. 바꿔 말하면, 1 개 증가하는 버전수가 짝수인 경우, 좌측으로 1 단위 추가한다. 동일하게 1 개 증가하는 버전수가 홀수인 경우, 우측으로 1 단위 추가한다. 따라서, 가로 버전이 홀수인 경우에는, 주변부 (20) 의 좌우의 폭은 동일하고, 짝수인 경우에는, 주변부 (20) 의 좌측이 우측보다 1 단위 넓다.
도 11b 에 나타내는 바와 같이, 세로 버전의 증가에서는, 버전수의 증가에 따라 주변부 (20) 의 세로 방향의 사이즈가 상측 (T1), 하측 (T2), 상측 (T3), 하측 (T4) … 이라는 상태로 교대로 1 단위씩 증가한다. 바꿔 말하면, 1 개 증가하는 버전수가 짝수인 경우, 상측에 1 단위 추가한다. 동일하게 1 개 증가하는 버전수가 홀수인 경우, 하측에 1 단위 추가한다. 따라서, 세로 버전이 홀수인 경우에는, 주변부 (20) 의 상하의 폭은 동일하고, 짝수인 경우에는, 주변부 (20) 의 상측이 하측보다 1 단위 넓다.
이 기본 패턴부의 위치는, 기본 패턴부의 이동에 있어서의 기준이 되는 소정의 위치로 한다.
버전의 변화에 의한, 이차원 코드의 사이즈의 변화에 관해서, 1 단위씩 교대로 증가시키는 이외에도, 2 단위 이상을 교대로 증가시키는 경우나, 상하, 좌우로 각각 균등하게 1 단위씩 증가시키는 경우나, 증가를 상과 좌만, 하나 좌만 등 일방 향으로 증가시키는 경우가 있을 수 있다. 또, 버전이 작은 경우에는, 상하 또는 좌우 교대로 1 단위씩 변화시키는 경우가 있다. 버전이 큰 경우에는, 상하 또는 좌우 균등하게 1 단위씩과 같이, 버전에 따라 변화를 주는 경우 등, 여러 가지 방법이 생각된다.
도 12a 는, 제 2 실시형태의 이차원 코드의 기본 패턴부의 전체 구성을 나타낸다. 도 12b 는, 제 2 실시형태의 이차원 코드의 기본 패턴부의 구성을 나타내는 도면이고, 블록 및 분리 패턴을 나타낸다.
제 2 실시형태의 이차원 코드 (10) 는, 도 12b 에 나타내는 바와 같이, 이 예에서는 1 블록은 가로 3 × 세로 3 셀을 포함하고, 분리 스페이스 (16) 는 1 셀의 폭을 갖는다. 기본 패턴부 (11) 는, 파선으로 둘러싼 가로 7 × 세로 7 블록 (가로 27 × 세로 27 셀) 의 사이즈이고, 4 개의 코너에 위치 검출 패턴 (12A-12D) 이 배치된다. 기본 패턴부 (11) 의 위치 검출 패턴 (12A-12D) 이외의 영역이, 기본 패턴부 (11) 의 데이터 영역 (13) 이다. 영역 (13) 중, 기본 패턴부 (11) 의 상측의 가로 7 × 세로 3 블록의 위치 검출 패턴 (12B 및 12D) 이외의 영역 (14) 의 블록 (A1-A11) 이 결합 데이터를 기록하는 블록이고, 기본 패턴부 (11) 의 하측의 가로 7 × 세로 4 블록의 위치 검출 패턴 (12A 및 12C) 이외의 영역의 블록 (B1-B12) 이, 기본 패턴부 (11) 의 영역 (13) 에 기록되는, 결합 데이터의 오류 정정을 실시하는 기본 패턴부 오류 정정 데이터 (워드) 를 기록하는 영역이다.
블록은 가로 3 × 세로 3 셀로 하지만, 이것이 장방형이라도, 가변이라도 상관없다.
또, 셀의 형상을 정방형으로 하고 있지만, 이것에 한정되는 것은 아니다.
또한, 도 12a 의 이차원 코드 (10) 에서는, 각 블록은 분리 패턴 (16) 으로 분리되어 있기 때문에, 4 개의 위치 검출 패턴 (12A-12D) 은, 모두 블록보다 큰 면적을 갖는다. 이로써, 위치 검출 패턴과 동일한 패턴이, 이차원 코드 중에 출현하는 일은 없어져, 위치 검출 패턴의 식별이 용이해진다. 또한, 각 블록 (15) 은 분리 스페이스 (16) 에 의해 분리되어 있기 때문에, 특히 촬영 화상에 흐림·흔들림이 있는 경우의, 각 블록 (15) 에 있어서의 셀의 명암의 판정 정밀도가 향상된다.
도 12a 의 이차원 코드 (10) 의 영역 (13) 에 있어서, 블록 (18) 은 위치 보정 패턴이다. 위치 보정 패턴 (18) 은, 블록 (18) 의 9 개의 셀이 모두 암이지만, 위치 보정 패턴 (18) 의 형상은 이것에 한정되는 것은 아니고, 위치 보정 패턴으로서 식별할 수 있는 것이면 된다.
위치 보정 패턴 (18) 은, 기본 패턴부의 중심 블록을 (CX, CY) 로 했을 때에, (CX + 7N, CY + 7M)(N, M 은 정수, 단, 코드를 초과하지 않는다) 의 블록에 형성하는 것이 바람직하다. 이차원 코드 (10) 의 영역을 벗어난 부분에는, 위치 보정 블록을 배치하지 않는다. 또, 위치 보정 패턴 (18) 은, 공백 블록과 겹치는 경우, 위치 검출 패턴과 겹치는 경우도 배치하지 않는다. 도 12a 에서는, N = M = 0 인 위치 보정 패턴 (18) 을 1 블록에만 형성하고 있다.
위치 보정 패턴을 포함하면 용장성이 높아져, 인식 정밀도 향상을 기대할 수 있다. 위치 검출 패턴 (12A-12D) 의 하나가 오염에 의해 찾아낼 수 없었던 경우, 인식할 수 있던 위치 검출 패턴 3 개로부터 위치 보정 패턴 (18) 의 위치를 추측해, 이것을 찾아낸다. 이 위치 검출 패턴 3 개와 위치 보정 패턴 1 개로부터, 4 개의 점의 조를 파라미터로 하는 이차원 공간의 투영 변환으로부터, 이차원 코드 (10) 의 각 셀의 계산 정밀도가 높아진다. 이와 같이, 도 12a 의 이차원 코드 (10) 는, 위치 보정 패턴 (18) 을 형성함으로써, 이차원 코드 (10) 에 있어서의 셀 위치 검출의 정밀도가 한층 높아진다.
위치 검출 패턴의 배치에는 그 밖에도 각종 조합이 생각된다. 위치 검출 패턴과 위치 보정 패턴의 합계가 5 개이고, 위치 검출 패턴이 3 개 이하인 조합에 대해서는, 모두 4 개의 위치 검출 패턴과 1 개의 위치 보정 패턴의 조합으로부터 오염 등에 대한 내성이 약해지지만, 인식은 가능하다.
위치 검출 패턴과, 위치 보정 패턴은, 셀의 좌표를 특정하기 위해서 사용되지만, 역할이 상이하다. 위치 검출 패턴은, 해석 시에 위치 검출 패턴은 독립적으로 식별할 수 있어, 코드의 내외에서 동일한 형상이 나타나지 않는 것이 바람직하다. 잘못된 위치 검출 패턴을 검출한 경우, 이차원 코드인지의 여부를 판별할 필요가 있어, 해석에 시간이 걸려 버린다. 또, 식별에 시간이 걸리는, 복잡한 형상이나, 코드의 다른 부분과 분리 곤란한 형상이 아닌 것이 바람직하다.
한편으로, 위치 보정 패턴의 검출은, 위치 검출 패턴에 의해 이차원 코드의 위치를 특정한 후에 실시된다. 위치 보정 패턴의 장소도 대략 알고 있는 상태에서, 어느 일정 범위를 탐색함으로써, 위치 보정 패턴을 찾아낸다. 위치 보정 패턴에 의해 셀 좌표의 계산 정밀도를 높여, 이차원 코드가 구부러져 셀이 비균일하게 된 경우에도 인식할 수 있을 가능성을 높이는 것이 가능해진다.
위치 보정 패턴 (18) 은, 실데이터 블록, 오류 정정 부호 블록, 도안이 임베딩되어 있는 경우에는 도안 임베딩 정보 블록 등의 블록의 좌표 보정에 사용하는 목적의 패턴이다. 이차원 코드 (10) 에 있어서의 대략의 좌표는, 위치 검출 패턴 (12A-12D) 으로부터 취득할 수 있지만, 종이의 오염, 구부러짐, 렌즈의 변형, 위치 검출 패턴 취득 시의 어긋남에 의해 데이터 영역의 좌표에 오차가 생기므로, 이것을 보정할 목적으로 형성한다. 위치 보정 패턴 (18) 은, 위치 검출 패턴 (12A-12D) 에 의해 화상 내의 코드의 좌표 관계가 대략적으로 판명되어 있는 것을 전제로 하기 때문에, 위치 검출 패턴 (12A-12D) 과 달리 단체로 다른 노이즈와 구별할 필요가 없기 때문에, 복잡한 형상으로 하지 않아도 된다. 한편으로, 위치 보정 패턴 (18) 은 섬세한 좌표 보정을 하기 쉬운 형상이 바람직하다.
기본 패턴부 (11) 는, 이차원 코드 (10) 의 영역에 대해 중심 부근에 위치하는 것에 한정되지 않고, 중심으로부터 어긋난 위치에 배치할 수도 있다.
도 13 은, 가로 방향에 대해, 기본 패턴부 (11) 의 위치를 기본 패턴부 이동 정보로 어떻게 나타내는지 설명하는 도면이다.
도 13 에 나타내는 바와 같이, 버전 1 일 때에는 기본 패턴부 (11) 뿐이고, 버전이 증가함에 따라 좌측, 우측으로 블록열이 추가된다. 기본 패턴부 (11) 가 이동 가능한 위치는, 버전수로 제한된다. 예를 들어, 버전수가 2 이면, 기본 패턴부 (11) 가 이동 가능한 위치는, 이동하지 않거나, 좌측으로 1 블록열 이동하거나 이다. 버전수가 3 이면, 기본 패턴부 (11) 가 이동 가능한 위치는, 이동하지 않거나, 좌측으로 1 블록열 이동하거나, 우측으로 1 블록열 이동하거나 이다. 바꿔 말하면, 버전수가 1 증가하는 데에 대응하여 기본 패턴부 (11) 가 이동 가능한 위치가 1 개 증가한다는 것이다. 따라서, 기본 패턴부 이동량 정보를 나타내는 데에 필요한 데이터량은, 버전수에 따라 변화한다.
도 13 에 있어서, 가로 방향의 버전수가 6 인 경우에, -3 내지 2 의 숫자는, 기본 패턴부 (11) 의 블록 단위에서의 기본 패턴부 이동량 정보를 나타낸다. 가로 방향의 버전수가, 0 은 이동하지 않는 경우를, 마이너스의 값은 좌측으로의 기본 패턴부 이동량 정보를, 플러스의 값은 우측으로의 기본 패턴부 이동량 정보를 나타낸다.
기본 패턴부 이동 정보는, 이동의 유무를 나타내는, 기본 패턴부 이동 플래그와, 기본 패턴부의 소정 위치로부터의 이동량을 나타내는, 기본 패턴부 이동량 정보로 이루어진다. 여기서의 소정 위치는, 도 11b 의 기본 패턴부의 위치를 나타낸다. 기본 패턴부 이동 플래그는, 1 (이동 있음) 과 0 (이동 없음) 의 상태를 갖는 1 비트의 데이터이고, 1 일 때에만 기본 패턴부 이동량 정보가 있고, 없는 경우에는 기본 패턴부 이동량 정보를 생략할 수 있다. 이로써 기본 패턴부를 이동시키지 않는 경우의 정보를 줄일 수 있고, 이동시키는 경우에만 기본 패턴부 이동량 정보를 스펙 데이터로서 기록한다. 기본 패턴부 이동량 정보는, 기본 패턴부가 이동하지 않는 경우의 기본 패턴부의 위치를 기준으로 한 이동량을 나타낸다.
기본 패턴부가 이동하는 경우, 기본 패턴부 이동 정보로는, 기본 패턴부 이동 플래그가 1 이 되고, 기본 패턴부 이동량 정보로서 가로의 이동량을 나타내는 정보와, 세로의 이동량을 나타내는 정보를 스펙 데이터에 기록한다.
기본 패턴부가 소정 위치로부터 이동하지 않는 경우, 기본 패턴부 이동 플래그를 0 으로 하고, 기본 패턴부 이동량 정보는 생략할 수 있다.
도 14 는, 버전 가로 19 × 세로 19 의 이차원 코드 (10) 에 있어서, 기본 패턴부 (11) 를 이동시킨 예를 나타내는 도면이다.
도 14 에 있어서, 참조 번호 11 은, 이동하고 있지 않은 기본 패턴부 (11) 를 나타내고, 이 경우의 기본 패턴부 위치는, 가로가 0 이고, 세로가 0 이다. 참조 번호 11A 로 나타내는 기본 패턴부 (11) 의 기본 패턴부 위치는, 가로가 -8 이고, 세로가 -8 이다. 참조 번호 11B 로 나타내는 기본 패턴부 (11) 의 기본 패턴부 위치는, 가로가 9 이고, 세로가 -9 이다. 참조 번호 11C 로 나타내는 기본 패턴부 (11) 의 기본 패턴부 위치는, 가로가 -5 이고, 세로가 4 이다. 참조 번호 11D 로 나타내는 기본 패턴부 (11) 의 기본 패턴부 위치는, 가로가 0 이고, 세로가 9 이다. 참조 번호 11E 로 나타내는 기본 패턴부 (11) 의 기본 패턴부 위치는, 가로가 9 이고, 세로가 9 이다.
여기서는 기본 패턴부 이동의 단위를 블록으로 나타냈지만, 셀 단위여도 상관없다.
또, 이동의 단위를 1 이 아니라, 2 보다 큰 값으로 해도 된다. 이 경우, 도 14 의 버전 가로 19 × 세로 19 의 이차원 코드 (10) 에서는, 가로 19 와 같은, 세로 19 와 같은 조합이었지만, 이동의 단위를 2 블록씩으로 함으로써, 가로 9 와 같은, 세로 9 와 같은 조합이 되고, 이로써 스펙 데이터의 정보량을 낮출 수 있다.
또, 기본 패턴부 이동 정보로서, 이차원 코드의 중심으로부터의 이동량을 나타내는 기본 패턴부 이동량 정보를 포함했지만, 기본 패턴부 이동량 정보 대신에 이차원 코드 내의 기본 패턴부의 위치를 나타내는 기본 패턴부 위치 정보를 사용해도 된다.
기본 패턴부 위치 정보는, 코드 좌상 (左上) 의 블록 좌표 (0, 0) 에 기본 패턴부 (11) 의 좌상의 코너가 있는 경우를 기준으로 한 경우의, 기본 패턴부 (11) 의 블록 좌표로 할 수 있다. 예를 들어, 도 16 에서는, 기본 패턴부 (11) 의 좌상의 코너가 블록 좌표 (2, 1) 에 있기 때문에, 기본 패턴부 위치 정보로서 가로로 2 블록, 세로로 1 블록을 나타내는 데이터가, 스펙 데이터에 기록된다.
또, 기본 패턴부 위치 정보의 다른 표현 방법으로서 기본 패턴부의 이동의 패턴을 미리 정의해 두는 방법도 있다. 예를 들어, 기본 패턴부의 이동 패턴으로서 "좌상", "우상", "좌하", "우하" 의 4 가지 미리 정의해 두고, 기본 패턴부 위치 정보로서 2 비트를 갖게 하고, 각각 0-3 의 값을 이동의 패턴에 할당해 둔다. 도 14 의 이차원 코드 (10) 에서는, 기본 패턴부 위치 정보가 나타내는 값이 "좌상" 인 경우에는 가로가 -9 이고, 세로가 -9 가 되고, "우하" 인 경우에는 가로가 9 이고, 세로가 9 가 된다.
이 방법의 이점으로서, 기본 패턴부 이동량 정보를 항상 2 비트로 억제할 수 있어, 스펙 데이터를 작게 할 수 있다.
또한, 상기 이동 패턴에 "가운데" 를 추가한 5 가지로 하고, 추가로 기본 패턴부 이동 플래그를 없앰으로써, 기본 패턴부 이동 정보가 항상 3 비트로 나타내어지게 되어, 적은 정보량으로 기본 패턴부의 이동이 실현될 수 있다.
또, 공백 영역을 코드 내에 형성하는 경우, 이 영역에 관한 정보를, 공백 영역이 있는 경우에는 공백 영역이 있는 것을 나타내는 공백 임베딩 플래그와, 공백 영역에 관한 정보를 나타내는 공백 위치 정보를 스펙 데이터에 포함시킨다. 또, 공백 영역이 없는 경우에는, 공백 영역이 없는 것을 나타내는 공백 임베딩 플래그만을 스펙 데이터에 포함시키고, 공백 영역에 관한 정보를 생략함으로써, 스펙 데이터의 정보량을 줄이는 것이 가능하다. 또한, 공백 영역이 있는 경우의 공백 영역에 관한 정보도 버전 정보에 맞춰 비트수를 증감시킴으로써, 스펙 데이터의 정보량의 효율을 향상시킬 수 있다.
스펙 데이터에는, 주변부 오류 정정 레벨 정보를 갖게 할 수 있다. 주변부 실데이터의 오류 정정량을, 주변부 오류 정정 레벨로서 주변부 오류 정정 레벨 정보에 기록할 수 있도록 한다. 예를 들어, 주변부 오류 정정 레벨은, 10 %, 20 %, 30 %, 40 % 의 4 가지에서 선택시키도록 한다. 이로써, 촬영 조건이 나쁜 환경에서 사용하는 코드를 인식시키는 경우에는 오류 정정 레벨을 올리고, 그렇지 않은 경우에는 낮춘다는 것이 가능해진다. 이 경우, 스펙 데이터에 있어서의 주변부 오류 정정 레벨 정보로서 2 비트를 확보하도록 한다.
주변부 오류 정정 레벨은, 주변부 실데이터의 데이터량에 영향을 주어, 주변부 오류 정정 레벨이 낮으면 데이터량이 많아지고, 주변부 오류 정정 레벨이 크면 데이터량이 적어진다.
주변부 오류 정정 레벨 정보는, 주변부가 존재하지 않는 경우 (버전이 가로 1 × 세로 1) 는 불필요하고, 스펙 데이터로부터 생략할 수 있어, 그만큼 실데이터의 양을 증가시킬 수 있다. 버전 정보와, 공백 정보와, 위치 보정 패턴에 의해, 주변부에서의 데이터를 갖는 블록의 수가 결정된다. 이로써, 주변부의 기록할 수 있는 데이터의 양이 정해진다. 이 주변부의 데이터량과, 주변부 오류 정정 레벨 정보로부터 주변부 실데이터와, 주변부 오류 정정 데이터의 데이터량이 정해진다.
스펙 정보를 나타내는 비트 데이터인 스펙 데이터의, 제 2 실시형태에서의 일례를 나타낸다. 먼저, 가로의 버전 정보가 들어간다. 가로의 버전 정보는 1 에서 26 까지의 값이 되고, 2 내지 9 비트로 나타내어진다. 다음으로, 동일한 방법으로 세로의 버전 정보가 들어간다. 다음으로, 주변부 오류 정정 레벨 정보가 들어간다. 주변부 오류 정정 레벨 정보는 2 비트로 나타내어지고, 4 종류의 주변부 오류 정정 레벨을 취할 수 있다. 주변부 오류 정정 레벨 정보에 관해서는 후술한다. 다음으로, 공백 영역의 유무를 나타내는 공백 임베딩 플래그와, 기본 패턴부의 소정 위치로부터의 이동의 유무를 나타내는 기본 패턴부 이동 플래그가 들어간다. 공백 임베딩 플래그 및 기본 패턴부 이동 플래그는, 1 비트로 나타내어지고, 1 (있음) 이나 0 (없음) 이다. 다음으로, 공백 임베딩 플래그가 1 일 때에는, 공백의 위치를 나타내는 공백 위치 정보가 기본 패턴부 이동 플래그 뒤에 추가된다. 다음으로, 기본 패턴부 이동 플래그가 1 일 때는, 기본 패턴부 이동량 정보가, 공백 임베딩 플래그가 1 일 때에는 공백 위치 정보 뒤에 추가되고, 공백 임베딩 플래그가 0 일 때에는 기본 패턴부 이동 플래그 뒤에 추가된다. 이들 정보 뒤에, 기본 패턴부에 저장 가능한 영역이 남아 있는 경우, 실데이터가 계속해서 저장된다.
이 스펙 정보의 종류나, 차례, 데이터량, 플래그의 취급에 관해서, 상기에 한정되는 것은 아니지만, 인코드와, 디코드에 있어서, 스펙 데이터를 동일한 해석으로 할 필요가 있다.
주변부의 데이터의 배치는, 제 2 실시형태의 일례에서는, 예를 들어 주변부 실데이터를, 좌상으로부터 우 방향으로 차례로 블록마다 기록하고, 1 행 기록이 종료되었다면, 1 블록 아래의 좌로부터 우 방향으로 차례로 기록한다. 주변부 실데이터 뒤에 주변부 오류 정정 데이터를 기록한다. 그 경우에, 기본 패턴부, 공백 영역, 위치 보정 패턴에는 데이터를 기록하지 않는다.
상기는 일례이고, 주변부의 데이터 배치 방법은, 미리 결정되어 있으면 된다.
이하, 제 2 실시형태의 이차원 코드 (10) 에 있어서, 위치 검출 패턴의 조합의 후보의 삭감에 효과적인 버전의 이차원 코드의 실시예를 설명한다.
도 15 는, 버전 가로 4 × 세로 4 의 이차원 코드의 예를 나타내는 도면이다. 가로 방향의 d1 은 18 셀이고, d2 는, 좌측이 11.5 셀, 우측이 9.5 셀이므로, 합계 21 셀이 되고, d1 < d2 가 성립한다. 세로 방향도 동일하게 D1 < D2 가 성립하고, 요컨대 제 2 실시형태의 이차원 코드의 버전이 가로·세로 모두 4 이상인 경우에는, 항상 조건이 성립하여 큰 효과가 얻어진다. 이것은 기본 패턴부가 이동한 경우에도 변하지 않는다.
도 16 은, 버전 5 × 5 의 이차원 코드의 예를 나타내는 도면이다. 도 15 와 동일하게 항상 d1 < d2 와, D1 < D2 가 성립한다.
다음으로, 실시형태의 이차원 코드를 작성하는 처리 (인코드 처리) 에 대해 설명한다.
도 17 은, 이차원 코드를 작성하여 제공하는 작성 시스템의 하드웨어 구성을 나타내는 도면이고, 클라이언트·서버 구성의 예를 나타낸다.
작성 시스템은, 사양을 결정하고 이차원 코드의 작성을 의뢰하는 유저가 조작하는 유저 하드웨어와, 의뢰받은 이차원 코드를 작성하고 제공하는 시스템 하드웨어를 갖는다.
유저 하드웨어는, 컴퓨터 등의 유저 처리 장치 (71) 와, 자기 디스크 등의 기억 장치 (72) 를 갖는다.
시스템 하드웨어는, 컴퓨터 등의 시스템 처리 장치 (75) 와, 자기 디스크 등의 기억 장치 (76) 를 갖는다.
유저 처리 장치 (71) 와 시스템 처리 장치 (75) 는, 통신 회선 등으로 접속되어, 통신 가능하게 구성되어 있다.
여기서는, 인쇄는, 유저측에서 실시하지만, 시스템측이나 다른 인쇄소에서 실시하도록 해도 된다. 이차원 코드를 인쇄하는 매체는 어떠한 것이라도 되고, 예를 들어 종이, 수지판, 케이싱 표면 등이다. 여기서, 매체로서 임베딩하는 도안이 미리 인쇄되어 있는 것이라도 되고, 인쇄되어 있는 임베딩 도안이 이차원 코드의 도안 영역에 들어가도록 세팅한 다음 이차원 코드를 인쇄한다.
인쇄 장치는, 이들 매체에 이차원 코드를 인쇄 가능한 것이면 되고, 예를 들어 간이 프린터, 정밀 프린터, 인쇄 장치 등이며, 흑백 인쇄뿐만 아니라, 컬러 인쇄 가능한 것이라도 된다. 또, 작성한 이차원 코드는, 인쇄하지 않고, 통신 회선을 통하여 유저에 이차원 코드의 데이터로서 송신되어도 된다. 유저는, 필요에 따라 제삼자의 디스플레이 등에, 작성한 이차원 코드를 표시하도록 데이터를 송신한다.
또한, 도 17 은 클라이언트·서버 구성의 작성 시스템의 예를 나타내지만, 작성 시스템은 이것에 한정되지 않고, 예를 들어 클라이언트 PC 상의 인코드 소프트웨어로 발행하고, USB 접속한 프린터로부터 발행하는 구성이나, 핸디 타입의 단말·프린터로부터 발행하는 구성 등, 각종 변형예가 있을 수 있다. 또, 이차원 코드를 작성하는 처리는, 컴퓨터 실행 가능한 프로그램으로서 컴퓨터가 판독 가능한 비일시적인 기억 매체에 기록되어 있어도 된다.
도 18 은, 유저가, 유저 하드웨어를 통하여 시스템 하드웨어에 액세스하고, 원하는 이차원 코드를 작성하는 인코드 처리의 순서를 나타내는 플로우 차트이다.
스텝 S10 에서는, 유저가 인코드의 메인 처리를 개시한다.
스텝 S11 에서는, 유저가 이차원 코드에 기록하는 메시지를 입력한다.
스텝 S12 에서는, 유저가, 이차원 코드의 버전 정보와, 주변부 오류 정정 레벨과, 공백 정보와, 기본 패턴부 이동 정보를 입력한다. 이것에 따라, 유저 처리 장치 (71) 는, 시스템 처리 장치 (75) 에, 입력된 메시지와, 버전 정보와, 주변부 오류 정정 레벨과, 공백 정보와, 기본 패턴부 이동 정보를 통지한다.
스텝 S13 에서는, 시스템측에서, 송신된 정보에 기초하여 기본 패턴부와 주변부의 배치를 결정한다.
스텝 S14 에서는, 송신된 정보에 기초하여 스펙 데이터의 데이터량을 결정한다.
스텝 S15 에서는, 시스템측에서, 송신된 정보에 기초하여 공백 영역의 블록의 배치와 수를 결정한다.
스텝 S16 에서는, 위치 보정 패턴의 블록의 배치와 블록수를 결정한다.
스텝 S17 에서는, 주변부 오류 정정 레벨로부터, 주변부 오류 정정 데이터의 블록수를 결정한다.
스텝 S18 에서는, 이차원 코드에 기록 가능한 실데이터의 사이즈를 결정한다.
스텝 S19 에서는, 이차원 코드 내에서 메시지를 표현하는 데에 필요한 실데이터의 사이즈를 계산한다.
스텝 S20 에서는, S18 에서 구해진 이차원 코드의 데이터 사이즈에, S19 의 실데이터가 들어가는지, 데이터 사이즈가 부족해 들어가지 않는지를 판정하고, 데이터 사이즈가 부족하면, 유저 처리 장치 (71) 에 데이터 사이즈가 부족한 것을 송신하고, 데이터 사이즈가 충분하면 스텝 S22 로 진행한다.
스텝 S21 에서는, 유저 처리 장치 (71) 가 유저에, 입력된 이차원 코드의 형상에서는 입력된 메시지를 표현하는 데에 데이터 사이즈가 부족하다는 에러 발생을 통지하고, 종료한다.
스텝 S22 에서는, 스펙 데이터를 작성한다.
스텝 S23 에서는, 실데이터를 작성한다.
스텝 S24 에서는, 스펙 데이터와 실데이터를 결합한다.
스텝 S25 에서는, 기본 패턴부에 기록 가능한 스펙 데이터와 실데이터, 기본 패턴부에 배치한다.
S26 에서는, 기본 패턴부에 기록된 데이터로부터, 기본 패턴부 오류 정정 데이터를 계산하고, 배치한다.
스텝 S27 에서는, 기본 패턴부에 다 들어가지 않은 실데이터를 주변부 실데이터로서 주변부에 배치한다.
스텝 S28에서는, 주변부 실데이터로부터, 주변부 오류 정정 데이터를 계산하고, 배치한다.
스텝 S29 에서는, 이차원 코드의 정보를, 화상으로서 유저 처리 장치 (71) 에 출력한다.
스텝 S30 에서, 인코드의 메인 처리가 종료된다.
도 19 는, 실시형태의 이차원 코드를 판독하고, 이차원 코드를 해석하는 이차원 코드 해석 장치의 하드웨어 구성을 나타내는 도면이다.
이차원 코드 해석 장치는, 판독부 (80) 와, 컴퓨터 (이차원 코드 해석 처리부)(84) 와, 디스플레이 (85) 와, 통신 인터페이스 (86) 를 갖는다. 판독부 (80) 는, 렌즈 (81) 와, 이미지 센서 (82) 와, 아날로그·디지털 변환기(AD)(83) 를 갖고, 촬영한 이차원 코드의 디지털 화상 데이터를 컴퓨터 (84) 에 출력한다. 도 19 의 이차원 코드 해석 장치는, 널리 사용되고 있고, 최근에는 휴대단말도 이차원 코드 해석 장치와 동일한 기능을 실현하고 있다. 또, 이차원 코드를 해석하는 처리는, 컴퓨터 실행 가능한 프로그램으로서, 컴퓨터가 판독 가능한 비일시적인 기억 매체에 기록되어 있어도 된다.
도 20 및 도 21 은, 유저가 촬영한 이차원 코드를 해석하는 디코드 처리의 순서를 나타내는 플로우 차트이다. 이 디코드 처리는, 1 화면에 복수의 제 2 실시형태의 이차원 코드가 찍혀 있는 경우를 상정하고 있다. 디코드 처리는, 해석 메인 처리와, 정보 인출 처리로 이루어진다. 먼저, 해석 메인 처리를 설명한다.
스텝 S101 에서는, 해석의 메인 처리를 개시한다.
스텝 S102 에서는, 이차원 코드의 촬영 화상을 입력한다.
스텝 S103 에서는, 입력된 촬영 화상의 2 치 화상을 작성한다. 2 치화의 방법은, 입력된 촬영 화상이 RGB 화상 등의 컬러 화상이라면, 일단 그레이 스케일 화상으로 변환하고, 화상 내의 최대 휘도값과 최소 휘도값의 평균을 임계값으로 하여, 임계값 이상이면 명, 미만이면 암으로 한다. 컬러 화상으로부터 그레이 스케일 변환하려면, 각 화소의 RGB 의 값을 사용하여, 휘도 (brightness) = 0.299R + 0.587G + 0.114B 의 변환식에 따라 변환한다. 컬러 화상에 대한 그레이 스케일 화상으로의 변환 방법, 또한 2 치화 화상으로의 변환 방법은, 여러 가지 방법이 제안되어 있고, 상기 변환 방법에 한정되지 않는다.
스텝 S104 에서는, 위치 검출 패턴 후보를 검출한다. 구체적으로는, 2 치화 화상을 주사할 때에, 주사 방향의 가로 방향, 및 세로 방향으로, 암명암, 혹은 암명암명암이, 일정한 비율로 나타내어지는 패턴을 검출한다.
스텝 S105 에서는, 4 종의 위치 검출 패턴의 조합을 작성하고, 검토하지 않은 4 종의 위치 검출 패턴의 조합이 남아 있는지 판정하고, 남아 있으면 스텝 S106 으로 진행하고, 남아 있지 않으면 스텝 S110 으로 진행한다.
스텝 S106 에서는, 2 점의 위치 검출 패턴 사이의 거리가, 적절하지 않은 값이 되는 조합이 1 조라도 있는 경우에는, 올바른 조합이 아니라고 판정할 수 있다. 이와 같이, 위치 검출 패턴끼리의 거리에 기초하여 오검출을 제외한다.
스텝 S107 에서는, 조합한 위치 검출 패턴에 대해, 동일한 이차원 코드의 위치 검출 패턴이라고 하여 정보의 인출을 실시한다. 이 처리에 대해서는, 도 21 을 참조하여 후술한다.
스텝 S108 에서는, 정보 인출에 성공했는지의 결과에 따라, 성공한 경우에는 스텝 S109 로 진행하고, 실패한 경우에는 실패한 위치 검출 패턴의 조합을 제외하는 처리를 실시한 후, 스텝 S105 로 돌아간다.
스텝 S109 에서는, 정보의 인출에 성공한 위치 검출 패턴의 조합을 리스트업 한다.
스텝 S110 에서는, 데이터의 인출에 성공한 이차원 패턴에 사용된 4 개의 위치 검출 패턴 후보를 제외하고, 스텝 S105 로 돌아간다. 또한, 데이터의 인출에 성공한 이차원 패턴의 범위에, 사용하고 있지 않은 위치 검출 패턴 후보가 있는 경우에는, 그것도 후보로부터 제외한다.
스텝 S105 부터 S110 을 반복함으로써, 찍힌 이차원 코드의 위치 검출 패턴 후보의 4 개의 조합에 대해 동일한 이차원 코드의 것인지의 판정이 종료된다.
스텝 S111 에서는, 검토되어 있지 않은 3 개의 위치 검출 패턴 후보의 조합이 남아 있는지 판정하고, 남아 있지 않으면 스텝 S120 으로 진행하고, 남아 있으면 스텝 S112 로 진행한다.
스텝 S112 에서는, 3 개의 위치 검출 패턴 후보로부터 위치 보정 패턴의 위치를 추정한다.
스텝 S113 에서는, 위치 보정 패턴이 있는지 판정하고, 있으면 스텝 S115 로 진행하고, 없으면 스텝 S114 로 진행한다.
스텝 S114 에서는, 3 개의 3 개의 위치 검출 패턴 후보로부터 1 개의 위치 검출 패턴 후보를 보완하고, 스텝 S115 로 진행한다.
스텝 S115 에서는, 2 점의 위치 검출 패턴 간의 거리가, 적절하지 않은 값이 되는 조합이 1 조라도 있는 경우에는, 올바른 조합이 아니라고 판정할 수 있다. 위치 보정 패턴 등으로 보완한 경우에도, 빠져 있는 것이 상정되는 위치 검출 패턴의 좌표를 추정하고, 거리를 검증한다.
스텝 S116 에서는, 조합한 위치 검출 패턴에 대해, 동일한 이차원 코드의 위치 검출 패턴이라고 하여 정보의 인출을 실시한다. 이 처리에 대해서는, 도 21 을 참조하여 후술한다.
스텝 S117 에서는, 정보 인출에 성공했는지의 결과에 따라, 성공한 경우에는 스텝 S118 로 진행하고, 실패한 경우에는 실패한 위치 검출 패턴의 조합을 제외하는 처리를 실시한 후, 스텝 S111 로 돌아간다.
스텝 S118 에서는, 정보의 인출에 성공한 위치 검출 패턴의 조합을 리스트업한다.
스텝 S119 에서는, 데이터의 인출에 성공한 이차원 패턴에 사용된 3 개의 위치 검출 패턴 후보를 제외하고, 스텝 S111 로 돌아간다. 또한, 데이터의 인출에 성공한 이차원 패턴의 범위에, 사용하고 있지 않은 위치 검출 패턴 후보가 있는 경우에는, 그것도 후보로부터 제외한다.
스텝 S111 부터 S119 를 반복함으로써, 찍힌 이차원 코드의 위치 검출 패턴 후보의 3 개의 조합에 대해 동일한 이차원 코드의 것인지의 판정이 종료된다.
스텝 S120 에서는, 리스트업된 위치 검출 패턴의 메시지를 출력하고, 스텝 S121 로 진행한다.
스텝 S121 에서는, 해석 메인 처리를 종료한다.
다음으로 도 21 을 참조하여 스텝 S107 및 S116 의 정보 인출 처리를 설명한다.
스텝 S200 에서 정보 인출 처리를 개시한다.
스텝 S201 에서, 위치 검출 패턴으로부터, 기본 패턴부에 속하는 블록 내의 셀의 좌표를 계산한다.
스텝 S202 에서, 결합 데이터와, 기본 패턴부 오류 정정 데이터를 인출한다.
스텝 S203 에서, 기본 패턴부 오류 정정 데이터에 의한 에러 검출 처리를 실시하고, 에러가 있는 경우에는 스텝 S204 로 진행하고, 에러가 없으면 스텝 S207 로 진행한다.
스텝 S204 에서는, 블록 내의 셀 데이터로부터 오류 정정 가능한지 판정하고, 오류 정정이 불가능하다면 스텝 S205 로 진행하고, 오류 정정이 가능하면 스텝 S206 으로 진행한다.
스텝 S205 에서는, 이차원 코드로부터의 정보의 인출에 실패한 것을 통지하고, 종료한다.
스텝 S206 에서는, 결합 데이터의 오류 정정 처리를 실시한다.
스텝 S207 에서는, 결합 데이터로부터, 스펙 데이터를 인출하고, 이차원 코드의 버전, 주변부 오류 정정 레벨, 공백 정보, 기본 패턴부 이동 정보를 특정한다.
스텝 S208 에서는, 스펙 데이터를 기초로, 기본 패턴부의 주변부의 위치 보정 패턴을 계산한다.
스텝 S209 에서는, 스펙 데이터를 기초로, 주변부의 위치 보정 패턴과, 공백 영역을 제외한 주변부 실데이터와, 주변부 오류 정정 데이터의 블록을 특정한다.
스텝 S210 에서는, 주변부 실데이터와, 주변부 오류 정정 데이터의 블록수의 합계를 계산하고, 이것과 주변부 오류 정정 레벨로부터, 각각의 블록수를 계산한다.
스텝 S211 에서는, 주변부에 속하는 블록 내의 셀의 좌표를 구한다.
스텝 S212 에서는, 주변부 실데이터와 주변부 오류 정정 데이터를 인출한다.
스텝 S213 에서는, 주변부 오류 정정 데이터에 의해 에러를 검출하고, 에러가 있으면 스텝 S214 로 진행하고, 에러가 없으면 스텝 S217 로 진행한다.
스텝 S214 에서는, 오류 정정 가능한지 판정하고, 오류 정정이 불가능하면 스텝 S215 로 진행하고, 오류 정정이 가능하면 스텝 S216 으로 진행한다.
스텝 S215 에서는, 이차원 코드로부터의 정보의 인출에 실패한 것을 통지하고, 종료한다.
스텝 S216 에서는, 데이터의 오류 정정 처리를 실시한다.
스텝 S217 에서는, 기본 패턴부의 데이터로부터 스펙 데이터를 제외한 실데이터와, 주변부의 실데이터를 연결한다.
스텝 S218 에서는, 실데이터를 해석한다.
스텝 S219 에서는, 메시지를 인출한다.
스텝 S220 에서는, 이차원 코드로부터의 정보의 인출에 성공했으므로, 메시지를 표시하고 종료한다.
이상 설명한 제 1, 제 2 실시형태의 이차원 코드에 의하면, 이차원 코드의 사이즈가 상이해도, 기본 패턴부의 셀 위치를 계산하기 위한 복수개의 위치 검출 패턴의 위치 관계는 고정이기 때문에, 복수의 코드를 인식할 때에, 이차원 코드의 사이즈가 상이하면 위치 관계가 상이한 종래의 이차원 코드에 비해 특정하는 것이 용이하다. 또, 코드에 포함되는 위치 검출 패턴이 서로 상이한 형상이기 때문에, 복수의 코드를 인식할 때에, 오검출의 위치 검출 패턴의 조합을 제외하는 것이 가능해진다.
특히, 복수의 코드를 인접하여 배열하도록 1 화상 내에 촬영해 해석하는 경우, 동일한 이차원 코드 내의 위치 검출 패턴끼리의 거리는 고정이고, 주변부가 존재하기 때문에, 다른 이차원 코드의 위치 검출 패턴과의 거리가 길어진다. 그 때문에, 상이한 거리의 조합을 용이하게 제외할 수 있으므로, 올바른 조합인지 판정하는 처리에 있어서의 조합수를 줄일 수 있다. 이것은, 이차원 코드의 형상이 정방형이면, 효과가 크지만, 장방형의 이차원 코드라도, 조합을 줄이는 효과가 얻어진다.
이상, 본 발명의 실시형태를 설명했지만, 기재한 실시형태는 발명을 설명하기 위한 것이고, 당업자에게는 특허 청구의 범위에 있어서 각종 변형예가 있을 수 있는 것이 용이하게 이해 가능하다.
1 : 이차원 코드
2 : 기본 패턴부
3A : 제 1 위치 검출 패턴
3B : 제 2 위치 검출 패턴
3C : 제 3 위치 검출 패턴
4 : 데이터 영역
5 : 주변부
10 : 이차원 코드
11 : 기본 패턴부
12A : 제 1 위치 검출 패턴
12B : 제 3 위치 검출 패턴
12C : 제 4 위치 검출 패턴
12D : 제 2 위치 검출 패턴
13 : 영역
15 : 블록
16 : 분리 패턴
17 : 셀
18 : 위치 보정 패턴

Claims (7)

  1. 2 진 코드로 나타내는 데이터를 셀화하여, 이차원의 매트릭스상으로 패턴으로서 배치한 장방형의 이차원 코드로서,
    장방형의 기본 패턴부를 갖고,
    상기 기본 패턴부는,
    셀 위치를 특정하기 위한 복수개의 위치 검출 패턴과,
    상기 이차원 코드의 사이즈를 나타내는 버전 정보를 포함하고,
    상기 버전 정보를 사용하여, 상기 복수개의 위치 검출 패턴 간의 거리를 고정한 상태에서 상기 이차원 코드의 사이즈를 가변으로 설계하는 것이 가능하게 되어 있는, 이차원 코드.
  2. 제 1 항에 있어서,
    상기 복수개의 위치 검출 패턴은 서로 외형이 상이한, 이차원 코드.
  3. 제 1 항 또는 제 2 항에 있어서,
    상기 기본 패턴부의 외측에 형성되는 주변부를 구비하는, 이차원 코드.
  4. 제 3 항에 있어서,
    상기 복수개의 위치 검출 패턴 내의 2 개의 위치 검출 패턴의 조합에 대해, 상기 2 개의 위치 검출 패턴의 중심을 잇는 직선이 장방형의 당해 이차원 코드의 외부와의 경계에 교차하는 2 점 간의 거리는, 상기 2 개의 위치 검출 패턴의 중심 간의 거리의 2 배보다 큰, 이차원 코드.
  5. 셀 위치를 특정하기 위한 복수의 위치 검출 패턴을 포함하는 제 1 이차원 코드와, 셀 위치를 특정하기 위한 복수의 위치 검출 패턴을 포함하는 제 2 이차원 코드를, 복수 일괄적으로 촬영한 화상을 해석하는 시스템으로서,
    상기 제 1 이차원 코드에 포함되는 위치 검출 패턴과, 상기 제 2 이차원 코드에 포함되는 위치 검출 패턴에 의한, 잘못된 위치 검출 패턴의 조합을 제외하는 제외 수단을 포함하는, 이차원 코드의 해석 시스템.
  6. 제 5 항에 있어서,
    상기 제외 수단은, 2 개의 상기 위치 검출 패턴 간의 거리가 소정의 거리가 되지 않는 경우에는, 상기 2 개의 위치 검출 패턴의 조합을, 하나의 이차원 코드에 포함되는 위치 검출 패턴의 조합이 아닌 잘못된 위치 검출 패턴의 조합으로서 제외하는, 이차원 코드의 해석 시스템.
  7. 제 5 항 또는 제 6 항에 있어서,
    상기 제외 수단은, 상기 위치 검출 패턴끼리의 외형에 기초하여 조합을 제외하는 수단인, 이차원 코드의 해석 시스템.
KR1020167031741A 2014-05-14 2015-04-14 이차원 코드, 이차원 코드의 해석 시스템 KR101821087B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2014100985 2014-05-14
JPJP-P-2014-100985 2014-05-14
PCT/JP2015/061475 WO2015174191A1 (ja) 2014-05-14 2015-04-14 二次元コード、二次元コードの解析システム

Publications (2)

Publication Number Publication Date
KR20170005006A true KR20170005006A (ko) 2017-01-11
KR101821087B1 KR101821087B1 (ko) 2018-01-22

Family

ID=54479735

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020167031741A KR101821087B1 (ko) 2014-05-14 2015-04-14 이차원 코드, 이차원 코드의 해석 시스템

Country Status (9)

Country Link
US (1) US9911072B2 (ko)
EP (2) EP3486839B1 (ko)
JP (1) JP6091708B2 (ko)
KR (1) KR101821087B1 (ko)
CN (3) CN107609624B (ko)
MY (1) MY169881A (ko)
SG (1) SG11201609099WA (ko)
TW (1) TWI574209B (ko)
WO (1) WO2015174191A1 (ko)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101710050B1 (ko) * 2014-10-30 2017-02-24 밍 추이 이미지 식별 시스템 및 방법
JP6785546B2 (ja) * 2015-12-04 2020-11-18 共同印刷株式会社 二次元コードの解析方法、二次元コードの解析装置及び二次元コードを解析するプログラム
CN111291584B (zh) * 2016-07-22 2023-05-02 创新先进技术有限公司 识别二维码位置的方法及其系统
JP2019021165A (ja) * 2017-07-20 2019-02-07 株式会社デンソーウェーブ 二次元コード及び二次元コード読取装置
CN108960000A (zh) * 2018-07-17 2018-12-07 深圳市零点零科技有限公司 一种长条小型二维码识别方法
US10740666B2 (en) * 2018-09-27 2020-08-11 Caleb J. Webster Two-dimensional cryptographic poly-chromatic poly-digital code
US11010651B1 (en) 2018-11-26 2021-05-18 National Technology & Engineering Solutions Of Sandia, Llc Optically configurable charge-transfer materials and methods thereof
CN113420859A (zh) 2019-03-18 2021-09-21 创新先进技术有限公司 二维码、二维码的生成、识别方法、装置及设备
JP7314606B2 (ja) * 2019-04-26 2023-07-26 京セラドキュメントソリューションズ株式会社 画像形成装置
CN113076768B (zh) * 2021-04-08 2023-04-11 中山大学 一种模糊可识别二维码的畸变校正方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07254037A (ja) 1994-03-14 1995-10-03 Nippondenso Co Ltd 二次元コード
US5591956A (en) 1995-05-15 1997-01-07 Welch Allyn, Inc. Two dimensional data encoding structure and symbology for use with optical readers

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5726435A (en) 1994-03-14 1998-03-10 Nippondenso Co., Ltd. Optically readable two-dimensional code and method and apparatus using the same
JP3726395B2 (ja) * 1997-01-30 2005-12-14 株式会社デンソー 2次元コードおよび2次元コードの読取方法
US6267296B1 (en) * 1998-05-12 2001-07-31 Denso Corporation Two-dimensional code and method of optically reading the same
US7020327B2 (en) 2000-05-09 2006-03-28 Colorzip Media, Inc. Machine readable code image and method of encoding and decoding the same
RU2251734C2 (ru) * 2000-05-09 2005-05-10 Колорзип Медиа, Инк. Машиночитаемый код, способ и устройство кодирования и декодирования
US6802450B2 (en) * 2002-08-07 2004-10-12 Shenzhen Syscan Technology Co. Ltd Guiding a scanning device to decode 2D symbols
TW200503433A (en) * 2003-07-11 2005-01-16 Etoms Electronics Corp 2d matrix barcode coding method
CA2586274C (en) * 2004-11-05 2012-07-17 Colorzip Media, Inc. Mixed code, and method and apparatus for generating the same, and method and apparatus for decoding the same
JP4569382B2 (ja) * 2005-05-20 2010-10-27 ブラザー工業株式会社 印刷データ編集装置、印刷データ編集プログラム及び記録媒体
JP4911340B2 (ja) * 2006-02-10 2012-04-04 富士ゼロックス株式会社 二次元コード検出システムおよび二次元コード検出プログラム
JP2008124142A (ja) 2006-11-09 2008-05-29 Dainippon Screen Mfg Co Ltd 位置検出方法、位置検出装置、パターン描画装置及び被検出物
JP5111055B2 (ja) 2007-10-26 2012-12-26 キヤノン株式会社 画像処理装置及び画像処理方法、コンピュータプログラム
JP5136302B2 (ja) * 2008-03-27 2013-02-06 株式会社デンソーウェーブ 二次元コード、二次元コード生成方法、二次元コードを表示させるコンピュータ読み取り可能なプログラム、二次元コードを利用した認証方法、及び二次元コードを利用した情報提供方法
CN101281607B (zh) * 2008-05-20 2011-04-27 方正国际软件(北京)有限公司 一种大信息容量的二维条码系统
JP5120155B2 (ja) * 2008-09-02 2013-01-16 株式会社デンソーウェーブ 情報コード
CN101859397B (zh) * 2009-04-10 2017-06-27 银河联动信息技术(北京)有限公司 二维阵列码
CN102034127A (zh) * 2009-09-28 2011-04-27 上海易悠通信息科技有限公司 新型大容量二维条码与系统及其编解码方法和应用
JP5412465B2 (ja) * 2011-04-27 2014-02-12 京セラドキュメントソリューションズ株式会社 画像処理装置
JP5490058B2 (ja) * 2011-06-08 2014-05-14 キヤノン株式会社 複写禁止情報を含む2次元コードを抽出可能な画像形成装置、その画像形成方法、プログラム
TWI475494B (zh) * 2012-08-13 2015-03-01 Univ Nat Cheng Kung 多重二維條碼讀取方法
CN104123520B (zh) * 2013-04-28 2017-09-29 腾讯科技(深圳)有限公司 二维码扫描方法及装置
JP6150675B2 (ja) * 2013-08-27 2017-06-21 共同印刷株式会社 位置情報表示システム及び方法
CN103699865B (zh) * 2014-01-15 2019-01-25 吴东辉 一种边框图形码

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07254037A (ja) 1994-03-14 1995-10-03 Nippondenso Co Ltd 二次元コード
US5591956A (en) 1995-05-15 1997-01-07 Welch Allyn, Inc. Two dimensional data encoding structure and symbology for use with optical readers

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
JIS X 0510 : 2004

Also Published As

Publication number Publication date
CN106462785B (zh) 2018-09-14
EP3486839B1 (en) 2020-09-09
CN106462785A (zh) 2017-02-22
CN107742146A (zh) 2018-02-27
US20170046606A1 (en) 2017-02-16
TWI574209B (zh) 2017-03-11
SG11201609099WA (en) 2016-12-29
MY169881A (en) 2019-05-31
JP6091708B2 (ja) 2017-03-08
CN107609624A (zh) 2018-01-19
CN107742146B (zh) 2020-12-22
TW201604789A (zh) 2016-02-01
US9911072B2 (en) 2018-03-06
KR101821087B1 (ko) 2018-01-22
EP3144856A1 (en) 2017-03-22
EP3486839A1 (en) 2019-05-22
JPWO2015174191A1 (ja) 2017-04-20
CN107609624B (zh) 2021-07-16
EP3144856B1 (en) 2021-02-24
WO2015174191A1 (ja) 2015-11-19
EP3144856A4 (en) 2018-06-20

Similar Documents

Publication Publication Date Title
KR101821087B1 (ko) 이차원 코드, 이차원 코드의 해석 시스템
KR101770540B1 (ko) 이차원 코드, 이차원 코드의 해석 시스템 및 이차원 코드의 작성 시스템
TWI528293B (zh) QR code
TWI692724B (zh) 二維碼、二維碼之作成系統及解析程式
EP2393037B1 (en) Data matrix decoding chip and decoding method thereof
TWI501159B (zh) QR code
JP2017102841A (ja) 二次元コード、二次元コードの解析方法、二次元コードの解析装置及び二次元コードを解析するプログラム
JP6521709B2 (ja) 二次元コード、二次元コードの解析システム及び二次元コードの作成システム
JP2004334913A (ja) 帳票認識装置及び帳票認識方法

Legal Events

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