JP2019192212A - 複合コードパターン、生成装置、読み取り装置、方法およびプログラム - Google Patents

複合コードパターン、生成装置、読み取り装置、方法およびプログラム Download PDF

Info

Publication number
JP2019192212A
JP2019192212A JP2018248346A JP2018248346A JP2019192212A JP 2019192212 A JP2019192212 A JP 2019192212A JP 2018248346 A JP2018248346 A JP 2018248346A JP 2018248346 A JP2018248346 A JP 2018248346A JP 2019192212 A JP2019192212 A JP 2019192212A
Authority
JP
Japan
Prior art keywords
code
information
composite
cell
dot
Prior art date
Legal status (The legal status 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 status listed.)
Granted
Application number
JP2018248346A
Other languages
English (en)
Other versions
JP6713610B2 (ja
JP2019192212A5 (ja
Inventor
吉田 健治
Kenji Yoshida
健治 吉田
森井 昌克
Masakatsu Morii
昌克 森井
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
IP Solutions Inc
Original Assignee
IP Solutions Inc
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 IP Solutions Inc filed Critical IP Solutions Inc
Publication of JP2019192212A publication Critical patent/JP2019192212A/ja
Publication of JP2019192212A5 publication Critical patent/JP2019192212A5/ja
Application granted granted Critical
Publication of JP6713610B2 publication Critical patent/JP6713610B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/38Encryption being effected by mechanical apparatus, e.g. rotating cams, switches, keytape punchers
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K1/00Methods or arrangements for marking the record carrier in digital fashion
    • G06K1/12Methods or arrangements for marking the record carrier in digital fashion otherwise than by punching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K1/00Methods or arrangements for marking the record carrier in digital fashion
    • G06K1/12Methods or arrangements for marking the record carrier in digital fashion otherwise than by punching
    • G06K1/121Methods or arrangements for marking the record carrier in digital fashion otherwise than by punching by printing code marks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K19/00Record carriers for use with machines and with at least a part designed to carry digital markings
    • G06K19/06Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
    • G06K19/06009Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking
    • G06K19/06037Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking multi-dimensional coding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K19/00Record carriers for use with machines and with at least a part designed to carry digital markings
    • G06K19/06Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
    • G06K19/06009Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking
    • G06K19/06046Constructional details
    • G06K19/06056Constructional details the marking comprising a further embedded marking, e.g. a 1D bar code with the black bars containing a smaller sized coding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K19/00Record carriers for use with machines and with at least a part designed to carry digital markings
    • G06K19/06Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
    • G06K19/06009Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking
    • G06K19/06046Constructional details
    • G06K19/06075Constructional details the marking containing means for error correction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • G06K7/12Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using a selected wavelength, e.g. to sense red marks and ignore blue marks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • G06K7/14Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using light without selection of wavelength, e.g. sensing reflected white light
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • G06K7/14Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using light without selection of wavelength, e.g. sensing reflected white light
    • G06K7/1404Methods for optical code recognition
    • G06K7/1408Methods for optical code recognition the method being specifically adapted for the type of code
    • G06K7/14172D bar codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0825Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Electromagnetism (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Toxicology (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Power Engineering (AREA)
  • Editing Of Facsimile Originals (AREA)
  • Credit Cards Or The Like (AREA)
  • Character Input (AREA)
  • Image Processing (AREA)

Abstract

【課題】明色と識別されるセルと暗色と識別されるセルとをマトリクス状に配置してなる1次元あるいは2次元の画像において、情報表現からの読み取り困難性を低減しつつ、さらに情報量を増加する。【解決手段】複数のセルが配列形状に配置され、それぞれが所定領域を有し、所定領域にそれぞれが互いに識別可能な2以上の色のいずれかを有することによりデータが定義される第1のコードと、複数のセルの少なくとも一部に前記所定領域を除く領域を有する特定セルを形成し、所定領域を除く領域の所定の位置に配置される識別可能なマークによりデータが定義される第2のコードと、を備えた複合コードとした。【選択図】図5

Description

本発明は、複合コードパターン、生成装置、読み取り装置、方法およびプログラムに関する。
従来から、バーコード等の1次元コード、QRコード(登録商標)等の2次元コード等、画像による様々な情報表現が提案されている。これらの情報表現は、例えば、明色と識別されるセルやスペースと暗色と識別されるセルやバーとをマトリクス状に配置してなる、1次元あるいは2次元の画像が用いられる。
また、例えば、QRコード(登録商標)のセルのうち、少なくも一部のセルが、より微細なサブセルによってマトリクス状に細分化された拡張セルを用いることも提案されている。
特許第6061075号公報 特許第2938338号公報
ところで、これらの情報表現では、明度等の色の要素によって識別可能な2種類以上のセルが配置されてコードの情報が表現される。現在の情報表現では情報量が少ない場合が多々ある。元々、これらの情報表現では、画像が形成される媒体面での単位面積当りの情報量(以下、情報密度)を向上させるため、セルの寸法が小さく設定されている。セルの寸法が小さく設定された情報表現において、高解像度のコード読み取り装置が必要になる。さらに、セルが細分化されると、細分化されたセルの判別が困難になる可能性が大きくなる。
したがって、従来の技術では、明色と識別されるスペースやセルと暗色と識別されるバーやセルとを、配列状に配置してなる、1次元あるいは2次元コードの画像において、セルやスペース/バーの寸法が小さく設定された情報表現において、さらに、情報量を増加させるときに、情報表現からの読み取り困難性に対する配慮がなされていない。そこで、本発明の1つの側面は、1次元あるいは2次元の画像において、コード情報表現からの読み取り困難性を低減しつつ、さらに情報量を増加することを目的とする。
1つの側面では、本発明は、複合コードパターンとして例示できる。本複合コードパターンは、識別可能な2以上の色のいずれかをそれぞれ少なくとも一部の領域に有する複数のセルが配列形状に配置された第1のコードと、前記配置されたセルのいずれか1以上の特定セル内で、マークが配置された第2のコードと、を備えた複合コードパターンである。
本複合コードパターンでは、1次元あるいは2次元コードの画像において、情報表現からの読み取り困難性を低減しつつ、さらに情報量を増加することが可能となる。
QRコードの構造を例示する図である。 情報セルの一部をさらに細分化したサブセルを含むQRコードの構造を例示する図である。 第2のコードをサブセルよりも小さいドットで表現するパターンを例示する図である。 第2のコードの例を示す図である。 第2のコードの例を示す図である。 第2のコードの例を示す図である。 第1のコード内での第2のコードの配置位置について説明する図である。 第1のコード内での第2のコードの配置位置について説明する図である。 第1のコード内での第2のコードの配置位置について説明する図である。 第1のコード内の暗色セルに第2のコードの配置する図である。 第1のコード内での第2のコードの配置位置について説明する図である。 第1のコード内での第2のコードの配置位置について説明する図である。 第1のコード内での第2のコードの配置位置について説明する図である。 第2のコードを形成するセル内のパターンの配置について説明する図である。 第2のコードを形成するセル内のパターンの配置について説明する図である。 第2のコードを形成するセル内のパターンの配置について説明する図である。 第2のコードを形成するセル内のパターンの配置について説明する図である。 第2のコードを形成するセル内のパターンの配置について説明する図である。 第2のコードを形成するセル内のパターンの配置について説明する図である。 線分の先端が仮想点となる線分による第2のコードの例である。 線分の中心が仮想点となる線分による第2のコードの例である。 線分の長さが複数段階に変更された第2のコードの例である。 線分を所定の比率で内分する位置が仮想点となる線分による第2のコードの例である。 QRコードのセル内にドットパターンを配置した複合コードの構成例(1)を示す図である。 QRコードのセル内にドットパターンを配置した複合コードの構成例(2)を示す図である。 QRコードのセル内にドットパターンを配置した複合コードの構成例(3)を示す図である。 QRコードのセル内にドットパターンを配置した複合コードの構成例(4)を示す図である。 QRコードのセル内にドットパターンを配置した複合コードの構成例(5)を示す図である。 QRコードのセル内にドットパターンを配置した複合コードの構成例(6)を示す図である。 QRコードのセル内にドットパターンを配置した複合コードの構成例(7)を示す図である。 QRコードのセル内にドットパターンを配置した複合コードの構成例(8)を示す図である。 実施形態1に係る複合コードによるサービスを提供する情報システムの構成を例示する図である。 情報処理装置のハードウェア構成を例示する図である。 コンテンツサーバによる複合コード生成処理Aを例示するフローチャートである。 ユーザ装置による複合コード読取処理Aを例示するフローチャートである。 セル内の第2のコードの解析処理の詳細を例示するフローチャートである。 実施形態2に係る情報システムの構成を例示する図である。 複合コード生成処理Bを例示するフローチャートである。 複合コード読取処理Bを例示するフローチャートである。 実施形態3における複合コードの読み取り処理を例示するフローチャートである。 印刷された暗色セルとピクセルの関係を例示する図である。 暗色セルに明色のドットを形成した例である。 明色セルに暗色のドットを形成した例である。 バウンディングボックスによるドットの位置の判定方法を例示する図である。 5×5pixelで印刷したセルにドットコードを形成した例である。 7×7pixelで印刷したセルにドットコードを形成した例である。 処理例1の真贋判定のための複合コード生成処理を例示する図である。 処理例1の複合QRコード読み取り・認証処理を例示するフローチャートである。 処理例2の真贋判定のための複合コード生成処理を例示する図である。 処理例2の複合QRコード読み取り・認証処理を例示するフローチャートである。 処理例3の真贋判定のための複合コード生成処理を例示する図である。 処理例3の複合QRコード読み取り・認証処理を例示するフローチャートである。 処理例4の真贋判定のための複合コード生成処理を例示する図である。 処理例4の複合QRコード読み取り・認証処理を例示するフローチャートである。 処理例5の真贋判定のための複合コード生成処理を例示する図である。 処理例5の複合QRコード読み取り・認証処理を例示するフローチャートである。 処理例6の真贋判定のための複合コード生成処理を例示する図である。 処理例6の複合QRコード読み取り・認証処理を例示するフローチャートである。 処理例7の真贋判定のための複合コード生成処理を例示する図である。 処理例7の複合QRコード読み取り・認証処理を例示するフローチャートである。 セル内の情報ドットの配置候補位置を8か所配置した実施例である。 1つのセル内のドットの配置位置8か所を例示する図である。 QRコードの仕様にしたがって求めたセルの中央の座標位置が、セルの本来の中央からずれる画像の例である。 第2のコードの向きとバウンディングボックスを示した図である。 ドットコードが形成された明色セルの例である。 セルを撮像した画像の例である。 セルを撮像した画像の例である。 セルを撮像した画像を2値化した例である。 セルを撮像した画像を2値化した例である。 画像を2値化する処理例である。 情報ドットの中心座標値がバウンディングボックス内に納まっていることを例示する図である。 情報ドットの中心座標値がバウンディングボックス内に納まっていることを例示する図である。 暗色セルのみに基準ドットを配置してドットコードを形成した複合コードの例である。 第1のコードによってセルの中央として求められた座標位置がセルの本来の中央からずれている画像の例である。 複合コードの一部を示した実施例である。 セル内の情報ドットの配置候補位置を設定し、中央に基準ドットを配置した実施例である。 第1のコードによってセルの中央として求められた座標位置がセルの本来の中央からずれている画像の例である。 第2のコードの向きとバウンディングボックスを示した図である。 複合コードの一部を示した実施例である。 第1のコードによってセルの中央として求められた座標位置がセルの本来の中央からずれている画像の例である。 複合コードの一部を示した実施例である。 明色セルを縦横4分割して情報分割セルの配置候補位置と基準ドットを配置した実施例である。 第1のコードによってセルの中央として求められた座標位置がセルの本来の中央からずれている画像の例である。 第2のコードの向きとバウンディングボックスを示した図である。 複合コードの一部を示した実施例である。 明色セルを縦横5分割して情報分割セルの配置候補位置と基準分割セルを配置した実施例である。 第1のコードによってセルの中央として求められた座標位置がセルの本来の中央からずれている画像の例である。 第2のコードの向きとバウンディングボックスを示した図である。 複合コードの一部を示した実施例である。 明色セルを縦横5分割して情報分割セルの配置候補を配置した実施例である。 第1のコードによってセルの中央として求められた座標位置がセルの本来の中央からずれている画像の例である。 第2のコードの向きとバウンディングボックスを示した図である。 情報分割セルの配置候補位置を上下左右に隣り合わないように12か所配置した実施例である。 バウンディングボックスについて示す図である。 バウンディングボックスを移動させた状態を示す図(1)である。 バウンディングボックスを移動させた状態を示す図(2)である。 バウンディングボックスを移動させた状態を示す図(3)である。 バウンディングボックスを移動させた状態を示す図(4)である。 バウンディングボックスを移動させた状態を示す図(5)である。 バウンディングボックスを移動させた状態を示す図(6)である。 バウンディングボックスを移動させた状態を示す図(7)である。 バウンディングボックスを移動させた状態を示す図(8)である。 基準パターンを有する複合コードの実施例である。 基準パターンを2個のセルに分けて配置した複合コードの実施例である。 基準パターンを有する複合コードの実施例である。 明色および/または暗色のセルの所定間隔毎に基準パターンを複数配置した複合コードの実施例である。 基準ドットと基準分割セルによる基準パターンを配置した複合コードの実施例である。 2個のセルに基準分割セルを配置して基準パターンとした複合コードの実施例である。 ディレクションドットを加え、第2のコードの向きを設定した複合コードの実施例である。 基準パターンを構成する基準ドットの配置を変えて、第2のコードの向きを設定した複合コードの実施例である。 所定領域の明暗でセルの明暗を表し、情報ドットを暗色で示した複合コードの一部を示した例である。 所定領域の明暗でセルの明暗を表し、情報ドットを暗色で示した複合コードの一部を示した例である。 (a)は暗色セル内の情報ドットの配置候補位置に番号を設定した例であり、(b)は明色セル内の情報ドットの配置候補位置に番号を設定した例であり、(c)は図113(a)の配置具体例および対応する数値データの例であり、(d)は図113(b)の配置具体例および対応する数値データの例である。 暗色の所定領域の基準点を仮想線で結んで形成した格子を例示する図である。 情報ドット以外の領域をセルの明暗色にした複合コードの一部を示した例である。 所定領域の明暗でセルの明暗を表し、所定領域を除く領域を反対色にした複合コードの一部を示した例である。 明色および暗色の所定領域の基準点を仮想線で結んで形成した格子を例示する図である。 明色および暗色基準セルを配置し、情報ドットを暗色で示した複合コードの一部を示した例である。 バージョン6のQRコードに基準セルを配置した例の図である。 QRコードの読み取り手順を例示するフローチャートである。 (a)は形成されたQRコードの画像であり、(b)は実際に撮像されるQRコードの画像であり、(c)は撮像されたQRコードを2値化した画像であり、(d)はファンダーパターンおよびアライメントパターンの中心座標を示す図であり、(e)はすべてのセルの中心座標を示す図である。 基準セルを基にした格子による基準点の補正方法を例示した図である。 明色および暗色基準セルの基準点を仮想線で結んで形成した格子の一部を例示する図である。 明色および暗色基準セルの基準点を結んだ線を基に形成した格子を例示する図である。 変形所定領域を有する明色基準セルを配置し、情報ドットを暗色で示した複合コードの一部を示した例である。 明色および暗色基準セルの基準点を仮想線で結んで形成した格子の一部を例示する図である。 基準パターンを定義する明色および暗色基準セルを配置し、情報ドットを暗色で示した複合コードの一部を示した例である。 基準パターンを定義する明色および暗色基準セルの基準点を仮想線で結んで形成した格子の一部を例示する図である。 基準パターンを定義する明色および暗色基準セルを配置し、情報ドットを暗色で示した複合コードの一部を示した例である。 基準パターンを定義する明色および暗色基準セルの基準点を仮想線で結んで形成した格子の一部を例示する図である。 所定領域の明暗でセルの明暗を示した複合コードの一部を示した例である。 所定領域の明暗でセルの明暗を示した複合コードの一部を示した例である。 (a)はセルを6x6ピクセルで示した図であり、(b)はセルを2x2ピクセルの区画で示した図であり、(c)は図131(b)の所定領域を暗色に示した図であり、(d)は図131(b)の所定領域を明色に示した図であり、(e)は図131(c)の配置具体例および対応する数値データを示した図であり、(f)は図131(d)の配置具体例および対応する数値データを示した図である。 明色および暗色の所定領域の基準点を仮想線で結んで形成した格子を例示する図である。 暗色基準セルを配置した複合コードの一部を示した例である。 暗色基準セルの基準点を仮想線で結んで形成した格子の一部を例示する図である。 明色および暗色基準セルを配置した複合コードの一部を示した例である。 明色および暗色基準セルの基準点を仮想線で結んで形成した格子の一部を例示する図である。 基準パターンを定義する明色および暗色基準セルを配置した複合コードの一部を示した例である。 基準パターンを定義する明色および暗色基準セルの基準点を仮想線で結んで形成した格子の一部を例示する図である。 変形所定領域を有する暗色基準セルを配置した複合コードの一部を示した例である。 基準パターンを定義する暗色基準セルの基準点を仮想線で結んで形成した格子の一部を例示する図である。 基準パターンを定義する明色および暗色基準セルを配置した複合コードの一部を示した例である。 基準パターンを定義する明色および暗色基準セルの基準点を仮想線で結んで形成した格子の一部を例示する図である。 (a)はセルを6x6ピクセルで示した図であり、(b)はセルを1x2ピクセルの区画で示した図であり、(c)は図143(b)の所定領域を暗色に示した図であり、(d)は図143(b)の所定領域を明色に示した図であり、(e)は図143(c)の配置具体例および対応する数値データを示した図であり、(f)は図143(d)の配置具体例および対応する数値データを示した図である。 セルを8x8ピクセルで示した図である。(a)は所定領域が4x4ピクセルでマーク間に空隙がある例を示す図であり、(b)は(a)の所定領域を暗色に示した図であり、(c)は(a)の所定領域を明色に示した図であり、(d)は所定領域が2x2ピクセルでマーク間に空隙がある例を示す図であり、(e)は(d)の所定領域を暗色に示した図であり、(f)は(d)の所定領域を明色に示した図であり、(g)は変形の所定領域を示す図であり、(h)は(g)の所定領域を暗色に示した図であり、(i)は(g)の所定領域を明色に示した図であり、(j)は所定領域が2x2ピクセルでマーク配置領域を明色領域が囲んでいる図であり、(k)は(j)の所定領域を暗色に示した図であり、(l)は(j)の所定領域を明色に示した図であり、(m)は所定領域が2x2ピクセルでマーク配置領域を所定領域と同色の領域で囲んでいる図であり、(n)は(m)の所定領域を暗色に示した図であり、(o)は(m)の所定領域を明色に示した図であり、(p)は所定領域が4x4ピクセルでマークの配置候補位置が12か所ある例を示す図であり、(q)は(p)の所定領域を暗色に示した図であり、(r)は(p)の所定領域を明色に示した図であり、(s)は所定領域が2x2ピクセルでマークの配置候補位置が12か所ある例を示す図であり、(t)は(s)の所定領域を暗色に示した図であり、(u)は(s)の所定領域を明色に示した図である。 複合コードの生成処理を例示するフローチャートである。 複合コードの読み取り処理を例示するフローチャートである。 複合コードの読み取り処理を例示するフローチャートである。 複合コードの読み取り処理を例示するフローチャートである。 複合コードの読み取り処理を例示するフローチャートである。 時系列複合コードの特定のフレーム中の基準座標の補正方法を例示した図である。 時系列複合コードの表示を示す時間軸(フレーム番号)を横軸にしたグラフである。
以下、図面を参照して、一実施形態に係る情報処理装置について説明する。以下の実施形態の構成は例示であり、本情報処理装置は実施形態の構成には限定されない。
[比較例]
図1に、QRコードの構造を例示する。QRコードは、位置検出パターン(ファインダパターン)、アライメントパターン、タイミングパターン、フォーマット情報、データ及び誤り訂正符号を含む。ファインダパターンは、データの切り出し・傾きなどを検出するときに用いられる。アライメントパターンは、歪みによって生じる各セルの位置ずれを補正するときに用いられる。タイミングパターンは、白セルと黒セルが交互に配置され、シンボル内のモジュール座標を決定するのに使用される。フォーマット情報は、使用されている誤り訂正率とマスクパターンに関する情報を格納する。上記で述べたパターンあるいは情報が配置される領域以外の領域で、図1に斜線で示した領域に、データと誤り訂正符号が配置される。
図2は、情報セルの一部をさらに細分化したサブセルを含むQRコードの構造を例示する。図のように、細分化されたサブセルは、セルを横方向および縦方向にそれぞれ4分割し、1つのセルを16分割した構造を有する。そして、セルが16分割されたサブセルの領域のうち、例えば、4隅のセルおよび中央の4個のセルを除く残り8個のサブセル(図2で、グレーで例示)に暗色を付与することにより、元々明暗1ビットの情報を8箇所、合計8ビットの情報に増加させる。
しかしながら、図2の構成では、サブセルSC1とSC2のように、隣接する2つのサブセルが一体となって1つの同一色の領域となることが生じ得る。また、サブセルSC1とSC3のように、四隅のうちの1点で、2つの暗色の領域が接触することが生じ得る。また、サブセルSC1からSC8のすべてが、隣接するセルに接触している。したがって、サブセルSC1からSC8のいずれかに(例えば、サブセルSCk)、隣接するセルと同一色が指定された場合には、サブセルSCkと、隣接するセルとが一体となって同一色の連続する領域となることが生じ得る。
このように、複数の暗色の領域が接続すると、読み取り分解能の限界では、単独のサブセルと、複数のサブセルの集まりとの識別が困難となる場合がある。一方、サブセルSC1に対して、サブセルSC4からSC8を組み合わせた場合のように、少なくとも1つの明色の領域を挟んで配置された暗色のサブセルの組み合わせによる情報表現では、それぞれ単独の暗色のサブセルが明色の領域で区分され、暗色の領域の輪郭が識別しやすくなる。したがって、少なくとも1つの明色の領域を挟んで配置された複数の暗色のサブセルの組み合わせは、読み取り分解能の限界においても、読み取り困難性が少ないとも言える。しかしながら、このように限定を追加することで、表現可能なビット数が低減する。
例えば、仮に16個のサブセルに暗色の領域と明色の領域を配置する場合、サブセル以外の本来の暗色のセル(QRコードの黒セルなど)と区別するため、上記特許文献1では、暗色のサブセルは、1つのセル内に25%しか配置できないとされている。したがって、16個のサブセルのうち、最大4個のサブセルを暗色のセルとすることができ、定義可能なサブセルの配置の組み合わせは、16161616=1,820+560+120+16=2,516通りとなる。さらに、分割されたサブセルが無い場合を考慮すると、背景が白色の場合(つまり、1個も黒色の分割セルが無い場合)の1通りが追加される。
この追加により、サブセルの配置の組み合わせは、理論上2,517通りとなる。したがって、図2のサブセルによる情報量は、11ビット<16161616+2<12ビットとなる。ただし、上記特許文献1では、情報設定可能なサブセル(可変部)を図2のSC1からSC8の8箇所に限定し、合計70通りの配色パターンによってデータを記録可能としている。上記特許文献1では、このような限定により、QRコードリーダーで拡張セルの色を確実に識別し得るようにしている。
[実施形態1]
本実施形態では上記比較例の問題を改善する情報表現が提案される。
<複合コード>
本実施形態では、QRコードで例示される第1のコードと、第1のコード内のドットパターンで例示される第2コードとによって定義される複合コードによって情報を表現する。本実施形態では、第1のコードとしてQRコードを例示するが、第1のコードがQRコードに限定される訳ではない。第1のコードは、例えば、1次元のバーコードでもよいし、文字列で表現されるコードでもよい。また、本実施形態では、第2のコードとして、ドットパターンで表現されるコードが例示されるが、第2のコードがドットパターンによるコード(ドットコードともいう)に限定される訳ではない。
<第2のコードの構成例>
図3に、第2のコードをサブセルよりも小さいドットで表現するパターンを例示する。以下、第2のコードが設定されるセルを特定セルと呼ぶ。図3の例では、16個のサブセルの中心に、サブセルよりも小さな面積のドットを配置している。すなわち、図3の例では、16個のサブセルの中心が仮想点となっている。そして、仮想点にドットを配置するか、しないかで情報が表現される。ドットがマークの一例である。なお、図3では、サブセルの中心にドットを配置しているが、ドットの位置がサブセルの中心に限定される訳ではない。したがって、図3では、特定セルにおける座標情報を有する位置に1以上の仮想点を任意に設定していると言える。また、図3では、仮想点にドットを配置するか、しないかで情報が表現されるので、仮想点を基にしてマークを配置して数値データが定義されるといえる。
例えば、セルの寸法を0.250mm×0.250mmとすると、16分割されたサブセルの寸法は、0.0625mm×0.0625mmとなる。一方、600dpiの解像度のプリンタで印刷可能な最小寸法は、25.4mm/600=0.042mmであり、ドットは0.042mm×0.042mmであり、印刷時のインクの染みだし等による輪郭の変位を考慮しても、0.050mm×0.050mm未満に収まることが経験的に分かっている。当然であるが、印刷の精度が高ければ、0.042mm×0.042mmに近づくことは言うまでもない。なお、さらに高い解像度、例えば、1200dpiの解像度のプリンタで印刷する場合には、さらに、精細な印刷が可能となる。
図3の例では、セル面積は0.250×0.250=0.0625平方mmとなり、最大8個のドットによる面積は、0.0249×0.0249×3.14×8=0.0156平方mmとなる。この場合、通常の高精度の印刷機でドットを印刷した場合、良好でないケースであっても、セル面積に占めるドットの面積の割合は、24.96%となり、上記特許文献1の25%に概ね近い値となる。したがって、図3のドットパターンでは、161616161616161616=39,203通りのパターンの選択が可能となる。図3のドットパターンは、第1のコードの読取りに障害のないマークということができる。
図2のサブセルと比較した図3のドットの特徴は、ドットとドットの間に、明色の領域が存在することにある。すなわち、上記比較例のように、図2のサブセルの場合には、隣接する2つのサブセル同士、あるいは、サブセルと隣接するセルとの間に同一色が設定され、その結果、同一色の領域が連続し、あるいは一体となる。すると、読み取り分解能の限界では、単独のサブセルと、複数のサブセルの集まりとの識別が困難となる場合がある。一方、図3の構成では、暗色のドットが明色の領域で明瞭に区分され、読み取り分解能の限界でも、暗色のドットの識別がしやすくなる。図3のドットパターンは、マーク同士が接触する配置が除外されているパターンの一例と言える。また、図3のドットパターンでは、マークが、特定セルとその特定セルに隣接するセルとの境界に接触する配置が除外されていると言える。なお、暗色の一例として黒色を例示でき、明色の一例として白色を例示できるが、本実施形態においてコード、パターンあるいはマークに用いる色が、黒色と白色に限定される訳ではない。例えば、暗色のセルが黒色のセルに限定される訳でもなく、明色のセルが白色のセルに限定される訳でもない。
図4に、第2のコードの他の例を示す。図4は、セルを9分割した領域の中心にドットを3行3列で配置した例である。すなわち、図4の例でも、9個のサブセルの中心が仮想点となっている。そして、仮想点にドットを配置するか、しないかで情報が表現される。
今、図3と同様、セルの寸法を0.25mm×0.25mmとし、ドットの直径を0.05mmとすると、ドットとドットとの境界線の間隔は、0.25/3−0.05=0.03mmとなり、図3の場合よりもさらに、ドット間の距離が拡がり、ドットとドットの識別が容易となる。図4の場合も、最大8個のドットを配置したとき、セル面積に占めるドットの面積の割合は、25.12%となり、上記特許文献1の条件に概ね近い値となる。また、図4のドットが表現可能な情報量は、=511通りとなり、概ね9ビットに近づく。図4のドットパターンは、マーク同士が接触する配置が除外されているパターンの一例と言える。また、図4のドットパターンでは、マークが、特定セルとその特定セルに隣接するセルとの境界に接触する配置が除外されていると言える。したがって、図4のドットパターンも、第1のコードの読取りに障害のないマークということができる。
図5は、図4の変形例であり、ドットの配置を3列とし、1列目に3個、2列目に2個、3列目に3個のドットを配置したものである。そして、2列目のドットの行方向位置が1行目と2行目の間、および2行目と3行目の間となるようにドットが配置されている。すなわち、図5の例でも、1列目に3個のサブセルの中心、3列目に3個のサブセル中心、および2列目の1行目と2行目の境界線L1とその境界線に直交するセルの中心を通る縦線(一点鎖線で例示)との交点、および、2列目の2行目と3行目の境界線L2と上記縦線との交点が、それぞれが仮想点となっている。そして、仮想点にドットを配置するか、しないかで情報が表現される。
したがって、図5の場合には、図4よりもさらに、ドット間の距離が拡がり、ドットとドットの識別が容易となる。図5の場合も、最大8個のドットを配置したとき、セル面積に占めるドットの面積の割合は、25.1%となり、上記特許文献1の条件に概ね近い値となる。また、図45のドットが表現可能な情報量は、=256通りとなり、8ビットとなる。図5のドットパターンは、マーク同士が接触する配置が除外されているパターンの一例と言える。また、図5のドットパターンでは、マークが、特定セルとその特定セルに隣接するセルとの境界に接触する配置が除外されていると言える。したがって、図5のドットパターンの、第1のコードの読取りに障害のないマークということができる。
図6に、第2のコードのさらに他の例を示す。図6の例では、1つのセル内に仮想点(X1,Y1)が設定される。仮想点(X1,Y1)は、例えば、セルの左下点を原点(0,0)としたときの座標値で指定される。ただし、仮想点の位置に仮想点を示すマークが付される訳ではない。なお、仮想点の位置に基準点を示すマークを配置してもよい。そして、仮想点を中心に、半径dの仮想的な円周上に、所定の角度θ、例えば、45度間隔で、ドットを配置することで情報を定義できる。この場合、距離dを固定したとすると、ドット数を1個に限定すると、1つの仮想点の周りに3ビット情報を定義できる。また、最大8個のドットを使用する場合に表現可能な情報量は、図5の場合と同様である。したがって、また、図6では、仮想点を基にしてマークを配置して数値データが定義されるといえる。図6のドットパターンは、マーク同士が接触する配置が除外されているパターンの一例と言える。また、図6のドットパターンでは、マークが、特定セルとその特定セルに隣接するセルとの境界に接触する配置が除外されていると言える。また、図6でも、仮想点は、セル内に任意に設定できる。したがって、特定セルにおける座標情報を有する位置に1以上の仮想点を任意に設定していると言える。また、図6のドットパターンは、仮想点を起点としてマークが配置される方向および距離の少なくとも1つにより、数値データの一部が定義される一例と言える。
以上のように、本実施形態では、比較例の1次元のバーコード、あるいは、QRコードのような2次元コードに対して、コードが採用するセルまたはセルを分割したサブセルを暗色で塗りつぶす代わりに、暗色の周囲が明色で囲まれるドットを採用する。このようなドットを例えば明色のセル内に配置することで、比較例のコードよりも高密度で、セル内に第2のコードを定義できる。
なお、読み取り装置の読み取り分解能は様々であるが、一般的には、ドットの面積の合計が特定セルの面積に対して50%前後だと、識別可能な2以上の色(QRコード等の白色と黒色を使用する場合は、白いセルと黒いセル)のどちらであると判定するかが分からないので好ましくない。一般的には、33%以下(3分の1)であれば、特定セルが当該セルであると判定される。25%以下であれば、さらに好ましい。
なお、図3から図6では、暗色の周囲が明色で囲まれるドットを配置する複合コードを例示したが、暗色のセル内に明色のドットを配置する場合も同様である。この場合、明色のドットが暗色の領域で明瞭に区分され、読み取り分解能の限界でも、明色のドットの識別がしやすくなる。
<第1のコード内での第2のコードの配置位置>
以下、図7から図13により、第1のコード内での第2のコードの配置位置について、QRコードを第1のコードとして説明する。ここで、第1のコード内での第2のコードの配置位置とは、第1のコードがQRコードのように、暗色のセルと明色のセルの組み合わせによって情報が表現される場合に、第2のコードが定義されるセル(上述のように特定セルという)の位置をいう。ここで、QRコードを第1のコードとすることは例示であり、第1のコードがQRコードに限定される訳ではない。
本実施の形態のQRコードでは、左上を原点にして水平右方向をx方向、垂直下方向をy方向とし、位置情報(x,y)は、自然数m,nを用いて、x=0,1,2〜m,y=0,1,2〜nのように、表現する。一方、QRコードのデータ(第1のコード)は、右下からスタートしてデータが配置されていく。本実施の形態では、X方向のセル2つ分を基準として、右から左にデータが配置されていく。
図7は、データ及び誤り訂正符号配置領域の明色のセル(図で白いセル)のみに第2のコードを配置した例である。図7で、第2のコードが形成される明色のセルには、1から178の通し番号が付されている。この通し番号は、本実施形態での説明上、各セル内のドットの配置による第2のコードを識別するための符号であって、実際のセルに形成されるパターン(図形形状)ではない。
ただし、この通し番号は、第2のコードが付されるセルに付与されるユニークな識別情報ということができ、例えば、複合コードを生成する生成装置、あるいは、複合コードを読み取る読み取り装置における情報処理で使用される番号として理解できる。番号が付された各セルには、図3から図6で例示されるドットによる第2のコードが形成される。以下、セル内のドットによる第2のコードを表現する形状をドットパターンということにする。図7から図13の各図で、各セルに付される番号は、セル内のドットパターンを識別する番号ということができる。
図7では、第1のコードの配置の順序と同様の順序で第2のコードを配置させたものである。すなわち、QRコードのセルのうち、右下からスタートしてX方向のセル2つ分を横並びにして、最初に右側のセル、次に左側のセルの順で走査し、明色のセル内に暗色のドットによる第2のコードを設定する。第2のコードとしては、例えば、図3から図6のものが例示される。ただし、第2のコードが図3から図6のものに限定される訳ではない。
上述のように、図7の各セルに付された通し番号は、セル内のドットパターンの種類を特定するものではなく、ドットパターンが付されるセルを識別する情報と理解できる。図7の明色のセルのうち、第2のコードが付されるセルは、特定セルと呼ばれるものの一例と言える。また、図7の明色のセルに付与される識別情報は、特定セルインデックスと呼ぶことにする。特定セルインデックスは、上記の走査順で、各セルの座標値と一対一に対応づけられる識別情報である。特定セルインデックスにより順序付けされた数値データが定義された複数の特定セルから形成されるということができる。また、第2のコードの列は、特定セルインデックスにより相互に識別できる複数の特定セルにより形成されるということができる。
なお、複合コード生成時、複合コードの生成装置が、第1のコード、例えば、QRコードのセル走査順と同一の走査順でセルを走査し、ドットパターンによる第2のコードが設定される場合には、複合コードの読み取り装置は、複合コードの生成装置と同一の順序で、セルを走査し、ドットパターンによる第2のコードから情報を復号すればよい。したがって、第1コード、例えば、QRコードのセル走査順と同一の走査順で生成された複合コードは、生成装置から情報を得ることなく、読み取り装置単独で読み取り可能である。読み取り装置が、生成装置と同一の走査順で、特定セルインデックスと、座標とを対応付けすればよいからである。
一方、複合コード生成時、複合コードの生成装置が、第1のコード、例えば、QRコードのセル走査順と異なる走査順でセルを走査し、ドットパターンによる第2のコードが設定される場合には、複合コードの読み取り装置が複合コードから情報を復号するためには、特定セルインデックスと座標値とを対応づける情報が必要となる。以下の実施形態では、特定セルインデックスと座標値とを対応づける情報なしに複合コードの読み取り装置が複合コードから情報を復号する処理例と、読み取り装置が特定セルインデックスと座標値とを対応づける情報を付与されて複合コードから情報を復号する処理例が例示される。
また、特定セルインデックスと座標値とを対応づける情報としては、特定セルインデックスと座標値とを直接対応づける場合と、すべてのセルの座標に基準となるインデックスを付与しておき、特定セルインデックスと基準となるインデックスを対応づけることで、特定セルインデックスと座標値とを間接的に対応づける場合が例示される。
複合コードの読み取りでは、第1のコードの読み取りと第2のコードの読み取りを並行して実行する方法と、第1のコードの読み取りと第2のコードの読み取りを分けて2段階で実行する方法がある。第1のコードの読み取りと第2のコードの読み取りを並行して実行する方法では、第1のコードを形成する1つのセルの明色と暗色の判定後で、次のセルの明色と暗色の判定を行う前に、明色と暗色の判定が終了したセルについて、第2のコードを形成するドットパターンの存否が判定される。そして、ドットパターンが存在するセルに対して、ドットパターンの数値への復号が実行される。そして、所定数のセルを組み合わせた数値の集合単位で数値が統合されて、第2のコードが復号される。
図8は、ファインダパターン周囲の白いセルにも第2のコードを配置した複合コードの配置例である。図8でも、図7と同様、セルの列(紙面に対して上下方向のセルの並び)が2列ずつ組となっている。そして、最初の2列は、下から上方向に走査したとき、左右のセルのうち、右側のセル優先で、明色のセルに通し番号が付されている。例えば、右端2列のうち、最下行では、左側に明色のセルがあるので、通し番号1が付される。また、下から2行目では、暗色のセルしかないので、通し番号が付されない。さらに、例えば、下から8行目では、左右両方のセルが明色であるので、右側のセル優先で通し番号6と7が付される。以下同様である。また、右から3列目と4列目については、上から下にセルが走査され、左右の2つのセルについては、やはり右側のセル優先で、明色のセルに通し番号が付される。
図9は、図1で説明したファインダパターン及びアライメントパターンを含むすべての白いセルに第2のコードを配置した場合である。したがって、図1で説明したファインダパターンの周囲の明色のセル、タイミングパターン内の明色のセル、およびフォーマット情報中の明色のセルも、図7、図8のデータが配置されるセルと同様に、第2のコードが配置される。
図10は、第2のコードが明色のセルだけでなく、暗色のセルに配置する複合コードの例である。この場合も、データ及び誤り訂正符号領域のみでなく、ファインダパターン及びアライメントパターン以外のセルに第2のコードを配置してもよい。また、ファインダパターン及びアライメントパターンを含むすべてのセル(明色のセルと暗色のセル)に第2のコードを配置してもよい。ここで、暗色のセルに第2のコードを配置する場合には、ドットは明色となる。図10では、図5に例示した構成と同様の構成で、特定セルインデックス27の暗色のセルに明色のドットを配置した構成が例示されている。
図11は、第2のコードを構成するセル毎のドットパターンを所定個数の複数セルだけ繰り返した複合コードの配置例である。図11では、1から16の番号でセルの通し番号である特定セルインデックスが繰り返し配置されている。図11では、右下からスタートして、X方向のセル2つ分を基準として、右から左に1〜16の特定セルインデックスに対応するドットパターンが配置されている。このように、所定数の第2のコード(ドットパターン)を繰り返し配置することで、読み取り装置は、第1のコード中の一部(例えば、QRコードの所定数のセル)から、第2のコードを読み取ることが可能となる。図11で例示されるように、所定個数の特セルインデックス(1から16の番号)でひとまとめにされる第2のコードの部分をサブコードと呼ぶ。
図11の複合コードの場合、セル内の第2のコードの種類を示す番号(例えば、1〜16の番号)と、各セルの位置座標(または、各セルの通し番号)とを関連付けるテーブルが複合コードの生成装置側で生成され、読み取り装置に引き渡されるようにすればよい。ただし、第2のコードの配置規則を予め決めておくことで、読み取り装置側で、第2のコードが設定されたセルに生成装置と同一の規則で通し番号(特定セルインデックス)を生成するようにしてもよい。複合コードの読み取り装置は、上記規則にしたがって、各セル内の第2のコードから読み取った値を通し番号順に並べて数値を統合すればよい。
なお、図11のように、所定数の通し番号(特定セルインデックス)が繰り返して各セルに設定される場合に、各セル内の第2のコード自体も、通し番号(特定セルインデックス)の繰り返しに整合していることが確認できるようにしてもよい。例えば、1〜16の特定セルインデックスが付与されるN個(例えば16個)のセルのうち、先頭のセルには、第2のコードの先頭を示すドットパターンを付与し、末尾のセルには、第2のコードの末尾を示すドットパターンを付与してもよい。
図12は、第1のコードの一例であるQRコード内の全ての明色のセルに、所定個数の第2のコードを構成するドットパターンを繰り返し配置した複合コードの配置例である。すなわち、図12は、図11で例示した通し番号(特定セルインデックス)を付与する規則を採用しつつ、全ての明色のセルに第2のコードを配置している。したがって、図12では、図9と同様、QRコード内の全ての明色のセル、すなわち、ファインダパターン、アライメントパターン等の明色のセルに第2のコードを配置可能とされる。
この場合、QRコードの読み取り処理と第2のコードの読み取り処理とを並行して実行させる必要はない。例えば、第1のコードの読み取りが完了後、第2のコードの読み取りを行ってもよい。そこで、複合コードの第2のコード生成時および読み取り時に、左上の原点からスタートして下方向にセルが走査され、走査中に検出された明色セルに1〜16のインデックスが付与される。図12の実施例では、セルの座標がX座標の最小値から最大値へ移動するとともに、Y座標の最大値から最小値へ移動し、さらに最小値から最大値へ順に移動する処理が繰り返される。
さらに、図12では、特定セルインデックスは、最小値(1)から最大値(16)まで順に付与され、次に、最大値(16)から最小値(1)まで付与されている。この場合、複合コードの生成装置は、この特定セルインデックスに対応するドットパターンを各セルに設定し、複合コードを生成する。一方、複合コードの読み取り装置は、生成装置と同一の手順で、特定セルを検索して、生成装置と同一の規則で特定セルインデックスを設定し、複合コード中のセルの順序を決定し、第2のコードを復号すればよい。
ただし、QRコード内の全ての白いセルに配置する場合でも、図7から図10で説明したのと同様に、生成装置は、第1のコードの配置順序(QRコードの走査順)と一致させて第2のコードを配置(特定セルインデックスを設定)してもよい。そして、読み取り装置は、QRコードの読み取り処理と第2のコードの読み取り処理とを並行して実行してもよい。
図13は、QRコードの周辺の余白にドットを配置した複合コードの例である。QRコード内の全ての白いセルに加えて、さらに、クワイエットゾーン(QRコードの周りにある空白の部分)に第2のコードを配置可能としてもよい。また、図13の例では、生成装置および読み取り装置は、セルの移動に伴い、特定セルを検索し、第2のコードが設定された特定セルが見出されると、特定セルインデックスの最小値(1)から最大値(16)の範囲で順に設定する。
<セル内のドットパターンの配置>
図14から図23により、第2のコードを形成するセル内のドットパターンの配置について説明する。図14は、仮想点からの距離と方向で情報を定義するドットパターンの配置例である。仮想点からの距離と方向で情報を定義するドットパターンは、図6で例示されたドットパターンである。
第2のコードは、セル内に仮想点を設定し、仮想点からドットまでの距離dおよび仮想点からドットまでの直線の方向の少なくとも一方で情報を定義する。仮想点の位置は、セルの原点に対して設定される。セルの原点は、例えば、セルの左下点を例示できるが、セルの原点の定義に限定がある訳ではない。図14では、距離dが固定値の場合が例示されている。ただし、距離dとして、複数の値をとることで、情報を定義してもよい。また、図14では、ドットが仮想点の周り(距離d)で、45度単位に配置され、数値データ000から111が定義されている。
なお、セルの方向は、第1のコードで基準となる形状部分、例えば、QRコードのファイダパターン(図1参照)によって決定される。したがって、セル内のドットの仮想点に対して配置される方向は、ファインダパターンで決定される座標軸を基準に設定される。例えば、図14の各セルで、仮想点から右方向の軸を方向の基準とすると、数値000は、方向90度に対応する。また、数値001から数値111は、それぞれ数値000の方向から(例えば、方向90度から)時計回りに、45度単位で回転移動した方向に対応する。
したがって、複合コードを生成する生成装置は、セル内に仮想点を設定し、数値データに対応する距離および方向で定まる位置にドットを形成し、印刷機による印刷、あるいは電子媒体・放送媒体・記憶媒体・通信媒体から画面への出力をすればよい。一方、複合コードを読み取る読み取り装置は、上記第1のコードで基準となる形状部分を基にセル内の仮想点と方向を設定し、仮想点からセル内で検出されたドットに至る距離と方向を認識し、ドットパターンから数値を復号すればよい。
図15は、仮想点上にドットを配置するか、否かによって情報を定義する例である。仮想点上にドットを配置するか、否かによって情報を定義するドットパターンは、例えば、図3から図5で例示されたドットパターンである。
したがって、複合コードを生成する生成装置は、セル内に仮想点を設定し、数値データに対応する仮想点上にドットを形成し、あるいはドットのない画像を形成し、印刷機による印刷、あるいは電子媒体・放送媒体・記憶媒体・通信媒体から画面への出力をすればよい。一方、複合コードを読み取る読み取り装置は、上記第1のコードで基準となる形状部分を基にセル内の仮想点を設定し、それぞれの仮想点でのドットの有無を認識し、ドットパターンから数値を復号すればよい。さらに、記憶媒体上に複合コードを記憶し、それをプログラムが復号化してもよい。つまり、仮想空間上で複合コードを生成・復号化することができる。
図16は、図4に例示した第2のコードでの仮想点の設定例である。図16では、セルを3分割×3分割=9分割した領域の中心に、仮想点(X,Y)が設定される。すでに、図4で述べたように、明色のセルに暗色のドットを配置する場合には、9個の仮想点のうち、最大8個の仮想点にドットを配置することで、セル全体として、明色のセルとして判断され、かつ、仮想点に暗色のドットを配置することができる。
図17は、図5に例示した第2のコードでの仮想点の設定例である。図17では、図16の3行3列の仮想点のうち、中央の列の2つの仮想点の行位置が、第1列の3つの仮想点と第3列の3つの仮想点の行位置の中間位置となるように配置される。
図18は、仮想点位置の変形例である。仮想点位置は、図16、図17に限定されることなく、様々な仮想点を用いることができる。例えば、仮想点位置は、セル内に1個でもよいし、2以上であってもよい。例えば、仮想点位置は、セルの中心およびセルの中心からセルの四隅に向かう対角線上の位置に設けてもよい。また、仮想点をセル内に2個設ける場合には、仮想点は、セルの中心から1本の対角線上で、対角となる2つの隅に近い位置に設けてもよい。さらに、仮想点をセル内に3個設ける場合には、仮想点の1つは、対向するセルの2辺のうち、一方の辺の中点からセルの中心を結ぶ線上の当該一方の辺に近い位置に設け、残りの2つの仮想点は、当該一方の辺に対向する辺の両端に近い位置(対向する辺と対向する辺に直交する辺がなす2つの隅)に設けてもよい。
図19は、ドットパターンによる情報を設定しないことを明示するセル内のドットパターンの例である。例えば、セル内に複数の仮想点を設けた場合、セル中心の仮想点にドットを配置した場合には、情報が未定義であることを意味するようにしてもよい。
図20は、線分の先端が仮想点に位置する線分による第2のコードの例である。すなわち、図14のように仮想点の周りにドットを配置し、距離と方向で情報を定義する代りに、図20のように、仮想点の周りに線分を配置し、線分の長さと方向で情報を定義してもよい。線分がマークの一例である。また、図20の線分のパターンは、マーク同士が接触する配置が除外されているパターンの一例と言える。また、図20の線分のパターンでは、マークが、特定セルとその特定セルに隣接するセルとの境界に接触する配置が除外されていると言える。また、図20では、線分の方向および長さの少なくともいずれかによって数値データの一部を定義することができる。
図21は、線分の中心が仮想点に位置付けられる線分による第2のコードの例である。また、図21でも、線分の方向および長さの少なくともいずれかによって数値データの一部を定義することができる。さらに、図22では、線分の長さが複数段階に変更されており、線分の長さが情報を定義する1つの要素となっている。なお、第2のコードとして線分を配置する場合に、仮想点の位置は、線分の中心に限定される訳ではない。例えば、図23は、線分の中心ではなく、線分を所定の比率で内分する位置(例えば、線分の端から1/3の位置)が仮想点に位置付けられる線分による第2のコードの例である。したがって、図22、あるいは図23でも、線分の方向および長さの少なくともいずれかによって数値データの一部を定義することができる。また、図20から図23では、線分中のいずれかの位置を仮想点上に配置することによって数値データの一部が定義されると言える。
以上のように、図14から図23では、特定セルにおける座標情報を有する位置に1以上の仮想点を任意に設定していると言える。また、図14から図23では、仮想点を基にしてマークを配置して数値データが定義されると言える。なお、上記図14から図23では、明色の領域と暗色の領域によってマークを定義したが、例えば、R(赤)、G(緑)、B(青)のいずれか2つによって、マークを定義してもよい。したがって、図14から図23では、マークの形状、色、仮想点を基にしたマークの配置方法および配置の有無の少なくともいずれか1つにより、数値データの一部が定義される複合コードの一例ということができる。また、図14から図23では、第2のコードは、ドットまたは線分で定義された。しかし、マークの形状は、任意の多角形、または略円形であってもよい。
<QRコードに実際にドットを配置した例>
図24は、第1のコードの例としてのQRコードのセル内にドットパターンを配置した複合コードの構成例(1)を示す図である。構成例(1)では、第2のコードの例として、仮想点からの距離と方向で情報を定義するドットパターンが例示される。仮想点からの距離と方向で情報を定義するドットパターンは、図14で説明した通りである。図24では、QRコードの部分にハッチングパターンで塗りつぶされた暗色の領域と、ハッチングパターンの無い明色の領域が形成されている。また、明色の領域内の概ね中心付近に、プラス(“+”)のマークで、仮想点が例示されている。なお、プラス(“+”)等のマークは、仮想点の位置を図面上に例示するために記載されており、実際の複合コードには、プラス(“+”)等のマークは描画されない。また、仮想点の回りに、概ね45度単位で、ドットが各明色の領域に1つずつ例示されている。
図25は、第1のコードの例としてのQRコードのセル内にドットパターンを配置した複合コードの構成例(2)を示す図である。構成例(2)では、第2のコードの例として、明色の領域内に仮想点が複数設けられ、仮想点上にあるか否かによって情報を定義する。図25では、1つの明色の領域に仮想点が4点設けられているが、本実施形態で、仮想点が4点に限定される訳ではない。
図26は、第1のコードの例としてのQRコードのセル内にドットパターンを配置した複合コードの構成例(3)を示す図である。構成例(3)では、第2のコードの例として、明色の領域内に仮想点が複数設けられ、仮想点上にあるか否かによって情報を定義する。図25では、各明色の領域にドットが1個配置されているが、図26では、1つの明色の領域にドットが0点から3点設けられている。
図27は、第1のコードの例としてのQRコードのセル内にドットパターンを配置した複合コードの構成例(4)を示す図である。構成例(4)では、第2のコードの例として、ドットパターンが定義される特定セルによって仮想点の数やドットの配置方法が異なる。すなわち、特定セルの位置に応じて、仮想点の数、仮想点の配置位置、仮想点に対するドットの配置の仕方を異なるものとしてもよい。仮想点に対するドットの配置の仕方には、例えば、図24のように、仮想点からの距離と方向で情報を定義するドットパターンの配置と、図25、図26のように、仮想点上にあるか否かによって情報を定義するドットパターンの配置が例示される。また、1つの明色の領域内のドットの数は、1個でも、複数でもよい。
いずれにしても、複合コードを生成する生成装置と、複合コードから情報を取得する読み取り装置の間で、セル位置別に、第2のコードの定義の仕方を共通にしておけばよい。また、例えば、図1に例示したフォーマット情報中に、第2のコードの定義の仕方を特定するための情報を組み込んでおけばよい。
図28は、第2のコードの例としてのQRコードのセル内にドットパターンを配置した複合コードの構成例(5)を示す図である。構成例(5)では、第2のコードの例として、暗色の領域に明色のドットを配置することによって情報を定義する。図28では、図26で例示される、明色の領域に暗色のドットを配置したドットパターンに対して、明色と暗色を入れ替えたドットパターンが例示されている。
図29は、第2のコードの例としてのQRコードのセル内にドットパターンを配置した複合コードの構成例(6)を示す図である。構成例(6)では、第2のコードの例として、明色の領域に線分を配置することで情報を定義する。構成例(6)では、図20と同様、線分の先端が仮想点に位置付けられて線分が配置される。
図30は、第2のコードの例としてのQRコードのセル内に線分のパターンを配置した複合コードの構成例(7)を示す図である。構成例(7)では、第2のコードが配置される特定セルによって異なる配置の仕方で線分が配置される。例えば、線分の先端が仮想点となる線分、線分の中心が仮想点となる線分、線分の長さが複数段階に変更され、線分の長さが情報を定義する1つの要素となるもの、線分を所定の比率で内分する位置が仮想点となる線分等を採用することができる。
図31は、第2のコードの例としてのQRコードのセル内に線分のパターンを配置した複合コードの構成例(8)を示す図である。構成例(8)では、第2のコードが配置される特定セルごとに、第2のコードの例として、線分のパターンとドットパターンのいずれかが選択され、配置される。また、線分のパターンの配置の仕方、ドットパターンの配置の仕方が、特定セルごとに規定されている。このような第2のコードの配置の仕方は、複合コードを生成する生成装置と、複合コードを読み取る読み取り装置間で、共通にしておけばよい。
さらに、図24から図31では、図示が省略されているが、明色の領域に定義する第2のコード(図24等)と、暗色の領域に定義する第2のコード(図28)とを組み合わせて複合コードを形成するようにしてもよい。
<システム構成>
図32は、複合コードによるサービスを提供する情報システムの構成を例示する図である。この情報システムは、管理サーバMS1と、コンテンツサーバCS1、CS2と、ユーザ装置UD1とがネットワークN1により接続される。また、この情報システムは、ネットワークN1には接続されないユーザ装置UD2を有するようにしてもよい。
管理サーバMS1は、複合コード生成手段CGMと複合コード解析手段CAMを有する。複合コード生成手段CGMは、入力されたデジタルデータを複合コードに変換する。管理サーバMS1は、例えば、ネットワークN1を通じてコンテンツサーバCS1からデジタルデータを引き渡され、複合コード生成手段CGMにより、複合コードの画像データを生成し、コンテンツサーバCS1に返す。
複合コード解析手段CAMは、入力された複合コードを解析し、元のデジタルデータに変換する。管理サーバMS1は、例えば、ネットワークN1を通じてユーザ装置UD1から複合コードの画像を引き渡され、複合コード解析手段CAMにより、元のデジタルデータを生成し、ユーザ装置UD1に返す。
コンテンツサーバCS1は通信手段CMS1と複合コード出力手段COUT1を有する。コンテンツサーバCS1は様々なコンテンツ、あるいは、サービスをユーザ装置UD1、UD2等に提供する。コンテンツサーバCS1が提供するコンテンツは、例えば、放送媒体、通信媒体である、放送システムあるいは電子情報通信システムを通じてユーザ装置に提供される。コンテンツとしては、画像(静止画あるいは動画)を含むものを例示できる。放送媒体とは、例えば、テレビジョン放送等をいい、電磁波等でコンテンツを配信する媒体である。また、通信媒体とは、例えば、インターネット等をいい、有線あるいは無線のネットワークでコンテンツを配信する媒体である。
コンテンツサーバCS1は、CD、DVD、ブルーレイディスク、USBメモリ等の記録媒体を介してコンテンツをユーザ装置UD1、UD2等に提供することもできる。さらに、コンテンツサーバCS1は、印刷媒体を介して、コンテンツをユーザ装置UD1、UD2等に提供することもできる。印刷媒体としては、例えば、紙、物体の表面等のインクにより画像を形成可能なものが例示される。
コンテンツサーバCS1は、提供するコンテンツに関連するデジタルデータを管理サーバMS1にネットワークN1を通じて転送し、複合コードに変換させる。そして、コンテンツサーバCS1は、管理サーバMS1で変換された複合データを、ネットワークN1を通じて取得し、コンテンツとともに、ユーザ装置UD1、UD2等に提供する。コンテンツに関連するデジタルデータとは、提供されるコンテンツに関連する種々の文字情報、提供されるコンテンツに関連するURL、提供されるコンテンツに関連する識別情報、あるいはアクセスのための認証情報などである。
コンテンツサーバCS2は、通信手段CMS2および複合コード出力手段COUT2に加えて、複合コード生成手段CG2を有する。したがって、コンテンツサーバCS2は、提供するコンテンツに関連するデジタルデータを複合コード生成手段CG2により、複合コードに変換することができる。したがって、コンテンツサーバCS2は、デジタルデータを管理サーバMS1に転送し、複合コードに変換させる必要はない。なお、通信手段CMS2および複合コード出力手段COUT2の機能は、上述したコンテンツサーバCS1の通信手段CMS1および複合コード出力手段COUT1と同様である。なお、コンテンツサーバCS1、CS2としては、例えば、放送局の放送装置と連携する情報処理装置、インターネット上でコンテンツを提供するサーバ、印刷会社その他において印刷装置、プリンタと連携するサーバ、印刷装置に内蔵されたコンピュータ等を例示できる。
ユーザ装置UD1は、通信手段CMU1と、画像入力手段IIN1とを有する。画像入力手段IIN1は、放送媒体であるテレビジョン画面、通信媒体であるウェブコンテンツ上のグラフィックスオブジェクトを含む画面、記録媒体から出力されるグラフィックスオブジェクトを含む画面、あるいは印刷媒体に形成された印刷物から画像を入力する画像入力手段を有する。画像入力手段は、例えば、Charge Coupled Devices(電荷結合素子、CCD)、あるいはmetal−oxide−semiconductor(MOS)イメージセンサ、Complementary metal−oxide−semiconductor(CMOS)イメージセンサ等の撮像デバイスを有するスキャナあるいはカメラ等である。
ユーザ装置UD1は、入力された画像そのもの、あるいは入力された画像中の複合コード部分を管理サーバMS1にネットワークN1を通じて転送し、複合コードでコード化されたデジタルデータを復元させる。そして、ユーザ装置UD1は、得られたデジタルデータとコンテンツサーバCS1、CS2等から提供されるコンテンツとを基に、デジタルデータに対応する処理を実行する。デジタルデータに対応する処理とは、例えば、デジタルデータに基づく、当該コンテンツの妥当性判定、当該コンテンツへのアクセスの可否判定、当該コンテンツのユーザへの提供方法の変形、当該コンテンツに関連する他のコンテンツの提供等である。
ユーザ装置UD2は、画像入力手段IIN2に加えて、複合コード解析手段CA2を有する。ユーザ装置UD2は、複合コード解析手段CA2を用いて、入力された画像から複合コードでコード化されたデジタルデータを復元する。したがって、ユーザ装置UD2は、入力された画像および入力された画像中の複合コード部分を管理サーバMS1に転送し、デジタルデータを復元させる必要はない。そして、ユーザ装置UD2は、得られたデジタルデータとコンテンツサーバCS1、CS2等から提供されるコンテンツとを基に、デジタルデータに対応する処理を実行する。なお、ユーザ装置UD1、UD2としては、パーソナルコンピュータ、タブレット端末、スマートフォン等を例示できる。
図33は、情報処理装置10のハードウェア構成を例示する図である。情報処理装置10は、本実施形態の管理サーバMS1、コンテンツサーバCS1、CS2、ユーザ装置UD1、UD2に適用可能である。情報処理装置10は、CPU11と、主記憶装置12と、外部機器を有し、プログラムにより情報処理を実行する。CPU11はプロセッサともいう。外部機器としては、外部記憶装置13、表示装置14、操作部15、通信インターフェース16、画像入力インターフェース17、画像出力インターフェース18を例示できる。
CPU11は、主記憶装置12に実行可能に展開されたコンピュータプログラムを実行し、情報処理装置10の機能を提供する。主記憶装置12は、CPU11が実行するコンピュータプログラム、CPU11が処理するデータ等を記憶する。主記憶装置12は、Dynamic Random Access Memory(DRAM)、Static Random Access Memory(SRAM)、Read Only Memory(ROM)等である。さらに、外部記憶装置13は、例えば、主記憶装置12を補助する記憶領域として使用され、CPU11が実行するコンピュータプログラム、CPU11が処理するデータ等を記憶する。外部記憶装置13は、ハードディスクドライブ、Solid State Disk(SSD)等である。さらに、情報処理装置10には、着脱可能記憶媒体の駆動装置を設けてもよい。着脱可能記憶媒体は、例えば、ブルーレイディスク、Digital Versatile Disk(DVD)、Compact Disc(CD)、フラッシュメモリカード等である。
表示装置14は、例えば、液晶ディスプレイ、エレクトロルミネッセンスパネル等である。操作部15は、例えば、キーボード、ポインティングデバイス等である。本実施形態では、ポインティングデバイスとしてマウスが例示される。通信インターフェース16は、ネットワークN1上の他の装置とデータを授受する。例えば、CPU11は、通信インターフェース16を通じて、ネットワークN1上の他の装置と通信する。また、通信インターフェース16は、放送装置に接続されてもよい。放送装置は、例えば、デジタルデータをベースバンド信号から、高周波信号に変換し、高周波アンプおよびアンテナを介して、変換された高周波を放送波として送信する。
画像入力インターフェース17には、カメラ、スキャナ等が接続され、各種媒体から画像データを取得する。各種媒体としては、テレビ受像器の画面、コンピュータのディスプレイ、書籍等の印刷物、物体表面に形成された視認可能な絵柄等を例示できる。
画像出力インターフェース18には、印刷装置、プリンタ等が接続され、印刷媒体に画像データを出力する。なお、図33では省略されているが、情報処理装置10は、画像入力インターフェース17を介して接続されるカメラ、スキャナ等を有してもよい。また、情報処理装置10は、画像出力インターフェース18を介して接続される印刷装置、プリンタ等を有してもよい。
さらに、情報処理装置10が管理サーバMS1に適用される場合には、画像入力インターフェース17および画像出力インターフェース18はなくてもよい。また、情報処理装置10がコンテンツサーバCS1、CS2に適用される場合には、画像入力インターフェース17はなくてもよい。さらに、情報処理装置10がユーザ装置に適用される場合には、画像出力インターフェース18はなくてもよい。
<処理フロー>
図34から図36により、本情報システムにおける処理フローを説明する。以下、コンテンツサーバCS1およびCS2を総称して、単にコンテンツサーバCSと呼ぶことにする。すなわち、以下の処理は、コンテンツサーバCS1およびCS2のいずれが実行してもよい。また、ユーザ装置UD1およびUD2を総称して、単にユーザ装置UDと呼ぶことにする。すなわち、以下の処理は、ユーザ装置UD1およびUD2のいずれが実行してもよい。
図34は、コンテンツサーバCSによる複合コード生成処理Aを例示するフローチャートである。複合コード生成処理Aとするのは、図38の複合コード生成処理Bと区別するためである。図34、図38の処理により、コンテンツサーバCSは、複合コード生成装置として処理を実行すると言える。図34の処理では、コンテンツサーバCSは、第1のコードの形状情報を生成する(S11)。例えば、第1のコードがQRコードである場合には、コンテンツサーバCSは、QRコードにおける明色のセルと暗色のセルの配置を決定する。
次に、コンテンツサーバCSは、第2のコードに変換するデジタルデータを入力する(S12)。デジタルデータは、例えば、コンテンツサーバCSが提供するコンテンツに関連する情報である。デジタルデータは、例えば、コンテンツサーバCSが提供するコンテンツに関連付けられた記憶装置から入力される。
次に、コンテンツサーバCSは、デジタルデータを2値符号化する(S13)。すなわち、コンテンツサーバCSは、デジタルデータを2進数の1次元ビット列に変換する。そして、コンテンツサーバCSは、2値符号化されたデータを第1のコードのセル毎のデータに分割する(S14)。すなわち、コンテンツサーバCSは、各セル内のドットパターンで表現可能な最大ビット数で、2値符号化されたデータを区切る。そして、コンテンツサーバCSは、区切られたデータを所定の規則にしたがって、第2のコードを配置可能なセルに割り当てる。
第2のコードを配置可能なセルとは、例えば、第1のコードが明色のセルと暗色のセルの組み合わせによって定義され、暗色のドットによって第2のコードを定義する場合には、明色のセルである。また、第2のコードを配置可能なセルとは、例えば、第1のコードが明色のセルと暗色のセルの組み合わせによって定義され、明色のドットによって第2のコードを定義する場合には、暗色のセルである。コンテンツサーバCSは、例えば、図7、図8から図13等の所定の規則にしたがって、第2のコードを割り当てるセルと、割り当てる順序を決定する。なお、すでに図11に例示したように、コンテンツサーバCSは、第2のコードを形成する前記複数の特定セルを複数回繰り返して形成し、セルを割り当ててもよい。
そして、コンテンツサーバCSは、第2のコードの形状情報を生成する(S15)。すなわち、コンテンツサーバCSは、S14の処理で、セルごとに区切られた2値符号化データをセル内の仮想点を基準に符号化される画像データに変換する。セル内の仮想点を基準に符号化される画像データは、例えば、図3から図6に例示したものである。そして、コンテンツサーバCSは、画像データを出力する(S16)。出力先は、例えば、プリンタ等による印刷媒体、ネットワークN1を介した電子情報配信によるユーザ装置UDの表示装置への出力、放送媒体を通じた配信等である。S11の処理およびS16の処理を実行するコンテンツサーバCSは、第1のコードを生成する第1の生成手段の一例を有するということができる。また、S12からS16の処理を実行するコンテンツサーバCSは、第2の生成手段の一例を有するということができる。したがって、コンテンツサーバCSは、第2の生成手段として、マークが特定セル内に複数個配置される場合には、マーク同士が接触する配置を除外すると言える。また、コンテンツサーバCSは、第2の生成手段として、特定セルとその特定セルに隣接するセルとの境界に接触する配置を除外すると言える。
なお、コンテンツサーバCSがコンテンツサーバCS1である場合には、デジタルデータが管理サーバMS1に転送され、S13からS15の処理は、管理サーバMS1によって実行される。コンテンツサーバCS1は、管理サーバMS1で生成された画像データをプリンタ、ネットワーク上のユーザ装置UD、あるいは放送媒体等に出力すればよい。
図35は、ユーザ装置UDによる複合コード読取処理Aを例示するフローチャートである。複合コード読取処理Aとするのは、図39の複合コード読取処理Bと区別するためである。図35、図39の処理により、ユーザ装置は、複合コード読み取り装置として処理を実行すると言える。図35の処理では、ユーザ装置UDは、画像入力インターフェース17を介して、スキャナあるいはカメラ等から入力される複合コードの画像を入力し、フォーマット、および第1のコードのセルの配置を認識する(S20)。例えば、ユーザ装置UDは、ファインダパターンにより、QRコードの向きを認識し、アライメントパターンにより画像の歪みを補正する。また、ユーザ装置UDは、タイミングパターンにより、セルの配置間隔を認識し、QRコードのデータおよび誤り訂正符号の配置位置を特定する。ユーザ装置UDは、以降、セル毎に、第1のコードの配置順で複合コードを処理する。例えば、ユーザ装置UDは、QRコードの右下隅のセルから上の方向に、右端2列のセルを順次処理し、2列分の処理が完了すると、3列目および4列目のセルについて、上から下に向かって順次処理する。以下、同様に2列ずつデータセルと誤り訂正符号のセルを処理する。以下、セルごとの処理を説明する。
すなわち、ユーザ装置UDは、次のセルの画像を取得し、第1のコードを解析し、明暗を判定する(S21)。次に、ユーザ装置UDは、処理中のセル内に第2のコードが定義されているか否かを判定する(S22)。例えば、ユーザ装置UDは、S20で取得したフォーマットの情報から、仮想点の配置の仕方、および、仮想点に対するドットの配置の仕方を認識し、該当位置にドットが少なくとも1つあるか否かを判定する。そして、セル内に第2のコードが定義されている場合には、セル内の第2のコードを解析する(S23)。なお、第2のコードは、明色のセルに定義されたものでもよい。また、第2のコードは、図10のように暗色のセルに定義されたものでもよい。
そして、ユーザ装置UDは、次のセルが未処理で残っているか否かを判定する(S24)。次のセルが未処理の場合、ユーザ装置UDは、処理をS21に戻す。一方、すべてのセルの処理が完了し、次のセルがない場合、ユーザ装置UDは、第1のコードの明暗判定で得られたビット列から、第1のコードをキャラクタごとに統合した情報を生成する(S25)。例えば、ユーザ装置UDは、明暗判定から得られたビット列をキャラクタに分離し、デジタルデータを生成する(S25)。S20、S21およびS25の処理を実行するユーザ装置UDは、第1のコードから数値データを取得する第1の取得手段を有するといえる。
さらに、ユーザ装置UDは、第2のコードから得られたビット列を基に、デジタルデータを復元する(S26)。例えば、第2のコードが、図11のように、所定個数(例えば、16個)のセルの組み合わせで構成される場合、第1のセルから所定個数分のセルまでのドットパターンによるビット列を統合して、デジタルデータを復元する。S23の処理およびS26の処理を実行するユーザ装置UDは、第2のコードから数値データを取得する第2の取得手段を有するといえる。このとき、ユーザ装置UDは、S14において、コンテンツサーバCSが区切られたデータを、第2のコードを配置可能なセルに割り当てた規則と同一の規則にしたがって、第2のコードの組み合わせ順序を決定する。したがって、S26の処理を実行するユーザ装置UDは、特定セルを順序づける特定セルインデックスを生成する手段の一例を有すると言える。したがって、ユーザ装置UDは、例えば、図11に例示したように、第2のコードを形成する複数の特定セルが複数回繰り返して順序付けて、特定セルインデックスを形成してもよい。
そして、ユーザ装置UDは、第1のコードおよび第2のコードから復元されたデジタルデータに対応する情報処理を実行する(S27)。例えば、ユーザ装置UDは、復元されたデジタルデータにしたがって、コンテンツを表示し、再生し、出力し、加工し、または、コンテンツに関連するデータを追加する等の処理を実行する。ただし、本実施形態において、S27の処理で実行される情報処理に限定がある訳ではない。なお、ユーザ装置UDがユーザ装置UD1である場合には、複合コードはユーザ装置UD1から管理サーバMS1に転送され、S20からS26の処理は、管理サーバMS1によって実行される。ユーザ装置UD1は管理サーバMS1での結果を取得し、S27の処理を実行すればよい。
図36は、セル内の第2のコードの解析処理(図35のS23)の詳細を例示するフローチャートである。以下の処理は、ユーザ装置UDで実行されるものと説明する。しかし、上述のように、ユーザ装置UDがユーザ装置UD1である場合には、以下の処理は、管理サーバMS1で実行される。この処理では、ユーザ装置UDは、セル原点に対する仮想点を特定する(S230)。なお、S230の処理は繰り返し実行されるため、図36では、「次の仮想点」と記載されている。
そして、ユーザ装置UDは、仮想点に対する次のドット位置を推定する(S231)。例えば、図6に例示したように、ドット位置が仮想点からの距離と方向を変えて配置されている場合には、各配置位置が順次推定される。一方、図3から図5のように、ドットが仮想点上に置かれる場合には、仮想点がそのまま推定された位置となる。
そして、ユーザ装置UDは、ドット位置の画素を所定画素数分走査し、画素値の比率VP/VPを算出する(S232)。そして、比率VP/VPが基準値以下か否かを判定する(S233)。ここで、画素とは、スキャンあるいはカメラで取得された画像が画像メモリに保存されたときの画像メモリの配列要素をいう。ここで、VPは、ドット中心として推定される位置の画素値である。VPnは、ドット中心からn画素離れた位置の画素値である。VP/VPが基準値以下の場合、ドット中心として推定される位置の画素値に対して、ドット中心からn画素離れた位置の画素値の比率が十分に小さいことになる。そこで、ユーザ装置UDは、比率VP/VPが基準値以下の場合、ドットの存在を推定する基準値を充足すると判断する。
そして、ユーザ装置UDは、比率がドットの存在を推定する基準値を充足する場合、ドット有りを記録する(S234)。一方、比率がドットの存在を推定する基準値を充足しない場合、つまり、比率VP/VPが基準値以下とならない場合、ユーザ装置UDは、ドットなしを記録する(S235)。
次に、ユーザ装置UDは、仮想点に対するすべてのドット位置の処理を終了したか否かを判定する(S236)。仮想点に対するすべてのドット位置の処理を終了していない場合、ユーザ装置UDは、処理をS230に戻し、同一仮想点に対する次のドット位置を推定する。なお、仮想点上にドットが配置される場合には、S236の判定は不要である。
一方、仮想点に対するすべてのドット位置の処理を終了した場合、ユーザ装置UDは、全仮想点の処理を終了したか否かを判定する(S237)。そして、全仮想点の処理を終了していない場合、ユーザ装置UDは、処理をS230に戻し、次の仮想点の処理を実行する。
また、全仮想点の処理を終了した場合、ユーザ装置UDは、ドット位置に対応するセル内のドットパターンの数値を確定する(S238)。すなわち、ユーザ装置UDは、ドットの配置から復元する数値を決定する。そして、ユーザ装置UDは、セル内のドットパターンの数値とセルの識別情報を保存する(S238)。セルの識別情報は、セルに付せられた通し番号でもよい。また、セルの識別情報は、例えば、QRコードにおけるセルの配置座標でもよい。セルの識別情報は、図11の例では、繰り返し設定される1から所定数(例えば16)までの特定セルインデックスでもよい。また、ユーザ装置UDは、セル内のドットパターンの数値とセルの識別情報と特定セルインデックスを組み合わせて保存してもよい。
<実施形態1の効果>
以上述べたように、本実施形態の情報システムでは、QRコードで例示される第1のコードのセル内に、ドットパターンによる第2のコードを定義した複合コードが採用される。例えば、コンテンツサーバCSが複合コードを生成し、放送媒体、通信媒体、記憶媒体、印刷媒体等の様々な媒体に複合コードを付与し、配布する。
本複合コードは、明色のセル内では、暗色のドットが使用される。このような構成では、セル内でドットとドットが明色の領域で分離される。また、セル内のドットが隣接するセルと明色の領域で分離される。したがって、読み取り装置であるユーザ装置UDは、明瞭に第2のコードを認識できる。その結果、第1のコードによる情報量を増加させ、かつ、安定して復号することが可能となる。例えば、第2のコードが図5の形式の場合、1つのセルにおいて、256通り、8ビットの情報を定義できる。
また、上記実施形態では、ユーザ装置UD2の複合コード解析手段CA2あるいは、管理サーバMS1の複合コード解析手段CAMは、画像入力手段IIN1、IIN2から取得した画像中のドットの存在が推定される位置(例えば、ドット中心と推定される位置)の画素値VPと、ドット中心と推定される位置から所定画素数(n画素)離れた位置の画素値VPとの比率が所定の条件を充足するか否かにしたがって、ドットの存在の有無を判定した。このような画素値の比を用いることで、明色の領域と暗色の領域との境界を精度よく判定できる。上記比率による判定では、例えば、第1のコードの一例として、QRコードの明色と暗色との判定において、全画素の75%以上が暗色画素のセルを暗色のセルとし、全画素の25%以下が暗色画素のセルを明色のセルをと判定する場合と整合する判定を行うことができる。さらに、仮に、ドットの有無を判定すべき領域に、照明のむら、影の影響、あるいは汚れ等が存在する場合でも、画素値の比率を計算することで、ドット中心と推定される位置の画素とドット中心と推定される位置から所定画素数(n画素)離れた位置の画素とにバックグランドの変動が生じても、明色の領域と暗色の領域との境界を精度よく判定できる。
また、上記実施形態では、ユーザ装置UD2の複合コード解析手段CA2および管理サーバMS1の複合コード解析手段CAMの少なくとも一方により、複合コードを解析し、第2のコードから数値を復元できる。したがって、ユーザ装置UD1のように、解析手段CA2を設けなくても、画像入力手段IIN1と通信手段CMU1を有するユーザ装置UD1は、管理サーバMS1との通信により簡易、軽負荷で、複合コードによるサービスをユーザに提供できる。
[実施形態2]
上記実施形態1では、第2のコードの読み取り順は、第1のコードのセルの読み取り順とした。ただし、第2のコードが設定されたセルの読み取り順を第1のコードのセルの読み取り順を異なるものとしてもよい。例えば、図32の情報システムにおいて、複合コードを生成する複合コード生成手段CGM、CG2が2値符号化されたビット列をセル毎のデータに分割する処理(図34のS14)において、第2のコードが設定されたセルの読み取り順を第1のコードとは異なる順とするとともに、その読み取る順を保存するようにしてもよい。例えば、読み取り順は、セルの読み取り順の番号SEQ(k)とセルの中心座標(X,Y)とを対応づけて管理できる。複合コードを生成する管理サーバMS1の複合コード生成手段CGM、あるいはコンテンツサーバCS2の複合コード生成手段CG2は、第2のコードが設定されたセルの読み取り順の番号SEQ(k)とセルの中心座標(X,Y)とを対応づけて保存し、複合コードを読み取るユーザ装置UD1、UD2に引き渡せばよい。
また、例えば、すべてのセルに基準となる通し番号ID(n)を所定の基準で付与し、すべてのセルについて付与される識別情報である通し番号ID(n)と、第2のコードが設定されたセルの読み取り順の番号SEQ(k)との関係として管理できる。複合コードを生成する管理サーバMS1の複合コード生成手段CGM、あるいはコンテンツサーバCS2の複合コード生成手段CGは、セルの読み取り順の番号SEQ(k)と各セルについての通し番号ID(n)とを対応づけて保存し、複合コードを読み取るユーザ装置UD1、UD2に引き渡せばよい。この場合、各セルについての通し番号ID(n)と各セルの中心座標(X,Y)との関係は、事前に規則で決められているものとする。
以下、セルの読み取り順の番号SEQ(k)を特定セルインデックスともいう。また、第2のコードが設定されたセルの読み取り順の番号SEQ(k)とセルの中心座標(X,Y)との関係、あるいは、すべてのセルについて付与される識別情報である通し番号ID(n)と、第2のコードが設定されたセルの読み取り順の番号SEQ(k)との関係をセル読み取り順序情報という。
図37に、実施形態2に係る情報システムの構成を例示する。図のように、この情報システムは、管理サーバMS3と、コンテンツサーバCS3と、ユーザ装置UD3とがネットネットワークN1により接続される。管理サーバMS3は、複合コード生成手段CGMと、特定セルインデックス設定手段CIGMを有する。複合コード生成手段CGMは、複合コードを生成するときに、特定セルインデックス設定手段CIGMにより、セル読み取り順序情報を生成し、セル読み取り順序情報ファイルCIMに保存する。
また、コンテンツサーバCS3は、特定セルインデックス設定手段CIGSを有する。コンテンツサーバCS3は、複合コードを生成するときに、特定セルインデックス設定手段CIGSにより、セル読み取り順序情報を生成し、セル読み取り順序情報ファイルCISに保存する。なお、図37では、省略しているが、本情報システムは、実施形態1のコンテンツサーバCS1を有してもよい。コンテンツサーバCS1は、自身で複合コードを生成する代わりに、複合コードの生成を管理サーバMS3に依頼する。したがって、生成された複合コードに対応するセル読み取り順序情報は、管理サーバMS3のセル読み取り順序情報ファイルCIMに保存される。なお、通信手段CMS3、複合コード出力手段COUT3は実施形態1の通信手段CMS2、複合コード出力手段COUT2と同様であるので、その説明を省略する。
ユーザ装置UD3は、例えば、セル順序読み取り情報を管理サーバMS3またはコンテンツサーバCS3から、ネットワークN1を介して取得し、保持する。ユーザ装置UD3の複合コード解析手段CA3は、セル順序読み取り情報にしたがって、各セルに設定されたドットパターンによる数値を統合することで、第2のコードからデジタルデータを復元する。なお、画像入力手段IIN3、通信手段CMU3は、実施形態1の画像入力手段IIN1、IIN2、通信手段CMU1等と同様であるので、その説明を省略する。
図38は、コンテンツサーバCS3または管理サーバMS3による複合コード生成処理Bを例示するフローチャートである。この処理では、コンテンツサーバCS3は、S14Aの処理において、セル読み取り順序情報を保存する点が図32と相違する。他の手順は、実施形態1と同様であるので、その説明を省略する。S12からS15の処理を実行するコンテンツサーバCS3は、第2のコードを生成する第2の生成手段を有するといえる。
図39は、ユーザ装置UDによる複合コード読取処理Bを例示するフローチャートである。この処理では、ユーザ装置UD3は、S25AおよびS26Aの処理を実行する点で、図35と相違する。すなわち、ユーザ装置UD3は、セル読み取り順序情報をセル読み取り順序情報ファイルCIUから参照する(S25A)。そして、ユーザ装置UD3は、セル読み取り順序情報にしたがって各セル内のドットパターンで指定される数値を統合し、第2のコードによるデジタルデータを復元する(S26A)。なお、ユーザ装置UD3は、セル読み取り順序情報をセル読み取り順序情報ファイルCIUから参照する代わりに、コンテンツサーバCS3または管理サーバMS3にセル読み取り順序情報を生成するように依頼し、生成されたセル読み取り順序情報を参照するようにしてもよい。S22、S23、S25AおよびS26Aの処理を実行するユーザ装置UDは、第2の取得手段を有するといえる。また、S25Aの処理を実行するユーザ装置UD3は、特定セルを順序づける特定セルインデックスを生成するサーバまたは特定セルインデックスを保存するサーバから、特定セルインデックスを取得する手段を有すると言える。また、コンテンツサーバCS3または管理サーバMS3は、特定セルを順序づける特定セルインデックスを生成するサーバまたは特定セルインデックスを保存するサーバの一例と言うことができる
なお、ユーザ装置UD3は、S26Aによる処理を実行するときに、セル読み取り順序情報を管理サーバMS3から取得してもよいし、図39の複合コード読取処理を実行する前に、管理サーバMS3から予めセル読み取り順序情報を取得し、セル読み取り順序情報ファイルCIUに保存しておいてもよい。
以上述べたように、実施形態2では、複合コードを生成するコンテンツサーバCS3または管理サーバMS3により、特定セルインデックスであるセルの読み取り順の番号SEQ(k)とセルの中心座標(X,Y)との関係、あるいは、セルの読み取り順の番号SEQ(k)と各セルについての通し番号ID(n)との関係がセル読み取り順序情報ファイルCIS、CIM等に保存される。セル読み取り順序情報ファイルCIS、CIM等に保存されたセル読み取り順序情報は、ユーザ装置UD3に引き渡され、複合コードの復号時に参照され、ドットパターンの形式で設定されたセルごとの数値が統合され、第2のコードが元のデジタルデータに復元される。したがって、実施形態2の情報システムによれば、第1のコード、例えば、QRコードの読み取り順に依存しない読み取り順序で、第2のコードを形成するドットパターンを各セルに設定でき、復元できる。
このような読み取り順は、事前に規則で定めておいてもよいし、例えば、図1に例示したフォーマット情報あるいは第1のコードのデータ(本文)の中に、読み取り順序の規則を指定する情報を埋め込んでおいてもよい。このような構成とすることで、様々な態様で第2のコードを設定できる。
[実施形態3]
上記実施形態1、2では、第1のコードのセルの読み取りと並行し、各セル内のドットパターンの有無を判定し、第2のコードを復号した。しかし、一旦第1のコードの復号のみを先に実行し、次に2回目に、各セルを走査し、第2のコードからデジタルデータを復元するようにしてもよい。
また、上記実施形態2では、第1のコードのセルの読み取り順と第2のコードのセル読み取り順が異なる場合の処理を例示した。しかし、例えば、第1のコードがQRコードである場合に、仮に、図1に例示したデータ及び誤り訂正符号の読み取り順と、第2のコードがドットパターンで符号化されたセルの読み取り順が同一の場合でも、フォーマット領域、ファインダパターン、タイミングパターン、または、図13に例示したクワイエットゾーン等に第2のコードのドットパターン(または線分のパターン等)を設定する場合には、第2のコードの読み取り順は第1のコードのセルの読み取り順と異なるものとなる。そこで、第2のコードを形成するドットパターン(または線分のパターン等)が設定されるセルによっては、第1のコードのセルの読み取りと並行し、各セル内のドットパターンの有無を判定できない場合もある。
そこで、実施形態3では、複合コードの解析において、第1のコードの解析のためのセルの走査が終了した後、再び複合コードの画像中のセルを上記規則にしたがって走査する処理を例示する。複合コードの解析での第2のコードが埋め込まれたセルの読み取り順以外の実施形態3の他の構成および処理は上記実施形態1と同様である。
実施形態3の構成要素のうち、実施形態1および実施形態2と同一の構成要素については、実施形態1および実施形態2の構成要素が実施形態3に適用されるものとしてその説明を省略する。また、必要に応じて、実施形態1および実施形態2の構成要素を引用する。
なお、上記実施形態2では、第2のコードの読み取り順を第1のコードのセルの読み取り順を異なるものとし、セルの読み取り順の番号SEQ(k)とセルの中心座標(X,Y)との関係、あるいは、セルの読み取り順の番号SEQ(k)と各セルについて通し番号ID(n)との関係がセル読み取り順序情報ファイルCIS、CIM等に保存され、復号時に参照できるようにした。本実施形態では、実施形態2と同様、セル読み取り順序情報が読み取り側のユーザ装置UD3等から参照できるようにしてもよいし、セル読み取り順序情報を読み取り側のユーザ装置UD3等に引き渡さないようにしてもよい。
例えば、図32の情報システムにおいて、複合コードを生成するとき、2値符号化されたビット列をセル毎のデータに分割する処理(図32のS14)において分割されたビット列を割り当てるセルの順序を特定の規則にしたがって決定するものとする。そして、複合コードを解析するときに、同一の規則にしたがって、第2のコードを形成するドットパターンが設定されたセル数値を統合すればよい。したがって、第2のコードの読み取り順が第1のコードのセルの読み取り順と異なるものとしても、必ずしもセル読み取り順序情報が必要な訳ではない。
図40は、実施形態3における複合コードの読み取り処理を例示するフローチャートである。図40の処理は、実施形態2の図39と比較して、S20CおよびS21Cが相違する。すなわち、例えば、ユーザ装置UD3は、まず、第1のコードのすべてのセルの解析を実行する(S20C)。以下、図40の処理は、ユーザ装置UD3が実行するものとして説明するが、ユーザ装置UD3から複合コードを引き渡された管理サーバMS3が以下の処理を実行してもよい。
ユーザ装置UD3等(以下、単にユーザ装置UD)は、画像入力インターフェース17を介して、スキャナあるいはカメラ等から入力される複合コードの画像を入力し、フォーマット、および第1のコードのセルの配置を認識する。例えば、ユーザ装置UDは、ファインダパターンにより、QRコードの向きを認識し、アライメントパターンにより画像の歪みを補正する。また、ユーザ装置UDは、タイミングパターンにより、セルの配置間隔を認識し、QRコードのデータおよび誤り訂正符号の配置位置を特定する。そして、ユーザ装置は、例えば、一般的なQRコードの読み取り順序にしたがって、すべてのセルの明暗を判定する。
次に、ユーザ装置UDは、再度複合コードの全セルを所定の順に走査する。走査順は、例えば、右下のセルから、第1列を上方向に走査し、次に、第2列を下方向に走査し、以降同様に、奇数列を上方向に走査し、偶数列を下方向に走査すればよい。ただし、実施形態3において走査順に限定がある訳ではなく、例えば、左上セルから、奇数行を右方向に、偶数行を左方向に、行毎に走査してもよい。この全セルにおいては、ファインダパターン、アライメントパターン、タイミングパターン、フォーマット、データおよび誤り訂正符号のすべてを走査する。そして、ユーザ装置UDは、次のセルの画像を取得する(S21C)。この処理は、処理の対象に、ファインダパターン、アライメントパターン、タイミングパターン、フォーマット等が含まれる点を除外して、実施形態1、2と同様である。
次に、ユーザ装置UDは、処理中のセル内に第2のコードが定義されているか否かを判定する(S22)。この処理は、判定の対象に、ファインダパターン、アライメントパターン、タイミングパターン、フォーマット等が含まれる点を除外して、実施形態1、2と同様である。そして、セル内に第2のコードが定義されている場合には、セル内の第2のコードを解析する(S23)。この処理も、解析の対象に、ファインダパターン、アライメントパターン、タイミングパターン、フォーマット等が含まれる点を除外して、実施形態1、2と同様である。
そして、ユーザ装置UDは、次のセルが未処理で残っているか否かを判定する(S24)。次のセルが未処理の場合、ユーザ装置UDは、処理をS21に戻す。この処理も、判定の対象に、ファインダパターン、アライメントパターン、タイミングパターン、フォーマット等が含まれる点を除外して、実施形態1、2と同様である。
そして、すべてのセルの処理が完了し、次のセルがない場合、ユーザ装置UDは、第1のコードの明暗判定で得られたビット列から、第1のコードをキャラクタごとに統合した情報を生成する(S25)。この処理は、実施形態1、2と同様である。ただし、S25の処理は、S20Cの処理の中で実行してもよい。
そして、ユーザ装置UDは、セル読み取り順序情報をセル読み取り順序情報ファイルCIUから参照する(S25A)。そして、ユーザ装置UDは、セル読み取り順序情報にしたがって各セル内のドットパターンで指定される数値を統合し、第2のコードによるデジタルデータを復元する(S26A)。S25AおよびS26Aの処理は、処理の対象に、ファインダパターン、アライメントパターン、タイミングパターン、フォーマット等が含まれる点を除外して、実施形態1、2と同様である。以降の処理は、実施形態1、2と同様であるので、その説明を省略する。S22、S23、S25AおよびS26Aの処理を実行するユーザ装置UDは、第2の取得手段を有するといえる。
なお、上述のように、2値符号化されたビット列をセル毎のデータに分割する処理(図34のS14)において分割されたビット列を割り当てるセルの順序を特定の規則にしたがって決定するものとする場合には、S25Aの処理は不要である。すなわち、ユーザ装置UDは、当該規則にしたがって、各セル内のドットパターンで指定される数値を統合し、第2のコードによるデジタルデータを復元すればよい。
以上述べたように、実施形態3によれば、ユーザ装置UD3、管理サーバMS3等は、第1のコード、例えば、QRコードのセル読み取り順と異なる読み取り順序で、第2のコードが設定されたセルから第2のコードを形成するドットパターンを読み取り、複合コードを復号できる。したがって、ファインダパターン、アライメントパターン、タイミングパターン、フォーマット等にドットパターンが形成される場合も、復号が可能となる。
[実施形態4]
上記実施形態1〜実施形態3では、第1のコードのセルの配置に対して、第2のコードが静的に配置され、時間変化しない複合コードが例示された。実施形態4では、第1のコードのセルの配置に対して、第2のコードが時間変化する複合コードが例示される。このような複合コードは、例えば、情報機器のディスプレイ上に表示可能である。例えば、情報機器がフレームごとに固定の第1のコードに、異なる第2のコードを組み合わせてディスプレイ上に表示すればよい。第2のコードは、1フレームごとに異なるものが出力されてもいいし、複数フレーム連続して同一のものが出力されてもよい。第2のコードは、図12から図29に例示したどれであってもよい。
また、同一の第2のコードで、表示される表示期間を変更することで、いわば、パルス幅変調と同様の手順で、情報を定義してもよい。例えば、図12に例示した仮想点からの距離と方向で情報を定義するドットパターンでは、定義される情報量は、3ビットである。しかし、3ビット固定のドットパターンを時間軸方向で、フレームごとにONとOFFさせることで、60ビット/秒程度の情報を1つのセルで送信できる。この場合に、例えば、第1のコード、例えば、QRコードの所定の領域(図1のファインダパターン、アライメントパターン等)も、ONおよびOFFすることで、フレームを同期させるための同期パターンを形成してもよい。読み取り装置は、第1のコードによるフレーム同期にしたがって、第2のコードであるドットパターンをフレームごとに取得すればよい。
さらに、1つの第2のコードが表示される区間が1〜数フレームとすることで、人の目によって視認されにくくすることができる。したがって、人の目には認識されにくい状態で、情報機器のディスプレイから他の情報機器のカメラ、スキャナ等の画像形成装置によって複合コードを取得することができる。
なお、第2のコードの時間変化において、明暗のパターンが複数フレーム以上継続する場合には、画像入力手段(実施形態1の画像入力手段IIN1、IIN2、実施形態3の画像入力手段IIN3等)は複数フレーム分のデータを蓄積することで、同期パターンなしに第2のコードを入力可能である。また、第2のコード自体が、例えば、信号の開始を示す明暗パターンのシーケンスと、信号の終了を示す明暗パターンのシーケンスを有することで、QRコードの所定の領域に同期パターンを形成しなくてもよい。
ここで、複合コードが情報機器のディスプレイに表示される場合について説明する。
第1のコードの一例であるQRコードは視認できることが前提であるため、ディスプレイで任意の時間継続表示する。一方、ディスプレイで映像が表示されている30フレーム/秒では10〜30フレームに付き1〜2フレーム程度、60フレーム/秒では20〜60フレームに付き1〜4フレーム前後だけ第2のコードを表示することにより、視聴者には第2のコードを視認しにくくすることができる。さらに、視認しにくくしたい場合は、ドットの画素色がセルで使用されている識別可能な2以上の色のセルの画素色に対して認識できる範囲で、ドットが視認しにくい画素色を使用すればよい。
[その他の変形例]
上記実施形態1から4では、明色の領域と暗色と領域とによって、第1のコードおよび第2のコードを定義した。そして、生成装置であるコンテンツサーバCS1、CS2、CS32等が複合コードを出力し、読み取り装置であるユーザ装置UD1、UD2、UD3等が複合コードからデジタルデータを復元し、所定の処理を実行した。ここで、暗色の領域は、例えば、黒色の領域であり、明色の領域は、白色の領域である。しかし、複合コードは、明色の領域と暗色によって形成されるものに限定される訳ではない。例えば、R(赤)、G(緑)、B(青)、C(シアン)、M(マゼンダ)、Y(黄)、B(黒)、W(白)のいずれか2色を、第1のコードおよび第2のコードのセルの色に使用してもよい。また、カラーコード情報として、R(赤)、G(緑)、B(青)、C(シアン)、M(マゼンダ)、Y(黄)、B(黒)、W(白)いずれかをセルの色として選択できるようにし、第1のコードおよび第2のコードを定義してもよい。その際、第1のコードを形成するセルと第2のコードを形成するマークの識別は、選択できる色が異なる組み合わせにより可能となる。また、第2のコードに形成するマークがあるか否かで、第2のコードの存在を認識できる。マークが配置されていない第1のコードのセルの色と第2のコードのマークは同色を選択するケースがあってもよい。当然、当該マークは、第2のコードのセルの色と識別できる範囲の色を使用しなければならない。さらに、当該マークは第2のコードのセルの色と識別できる範囲で、当該マークの色をカラーコード情報とすることもできる。複合コードの第1のコードがQRコードである場合は、第1のコードと第2のコードのセルの色は、従来のQRコードリーダーが第1のコードを読み取れる色に限定し、第2のコードのマークの色を、R(赤)、G(緑)、B(青)、C(シアン)、M(マゼンダ)、Y(黄)、B(黒)、W(白)の8色としてもよい。マーク配置位置に取得できる色を8種類とすることにより、1つのマーク配置位置で3bitを定義でき、第2のコードの情報量を3倍に増大できる。なお、印刷媒体の色と第1または第2のコードのマークが形成されたセルのいずれかの色は同一であってもよい。さらに、マークが形成されていない第1のコードのセルの色は、前述のいずれかのマークの色と同一であってもよい。その場合、当該マークの色情報は、4色であれば2bitで00、8色であれば3bitで000としてもよい。当然であるが、複合QRコードリーダー性能により色数を増やし、カラーコード情報を増加させることができることは言うまでもない。例えば、画像識別における符号化変調技術を用いれば、その倍程度の情報量が実現可能となり、カラーマークを使用することにより、6倍の情報量を定義できることになる。
また、上記実施形態1から4では、第1のコードとしてQRコードが例示された。しかし、実施形態1から4において、第1のコードがQRコードに限定される訳ではない。例えば、第1のコードとして、カラーコード、DataMatrix、PDF417を含む2次元コードを利用できる。
[実施形態5]
上記実施形態1〜3では、第1のコードのセルの配置に対して、第2のコードが組合せられた複合コードが例示された。また、実施形態4では、第1のコードのセルの配置に対して、第2のコードが時間変化する時系列複合コードが例示された。本実施形態では、第2のコードの変形例および第2のコードの読み取り方法の変形を例示する。なお、実施形態5で説明される複合コードが実施形態1〜4に適用できることはいうまでもない。また、実施形態5で説明される複合コードの読み取り方法が実施形態1〜4に適用できることはいうまでもない。
(複合QRコードの印刷特性と読み取り方法)
以下、マークとしてドットを使用した実施例を示す。もちろん、マークは略円形、矩形、十字、多角形等、どのような形状であってもよい。なお、以下で示したドットを他のマークに置き換えて使用してもよいことは言うまでもない。
図41に、実施形態5における紙面等の媒体に印刷された暗色セルとピクセルの関係を例示する。図42は、4×4pixelの暗色セルに明色のドットを形成した例である。図43は、4×4pixelの明色セルに暗色のドットを形成した例である。印刷されるQRコードの暗色セルの大きさは、通常、0.17mm〜0.5mmであり、図41のように、1個のセルを4×4pixel以上で印刷することが推奨されている。なお、1ピクセルの形状は矩形または円形いずれでもよい。最低の0.17mmは、一般的な印刷解像度の600dpiで印刷した場合、4×25.4mm/600≒0.17mmとなる。一方、ドットコードでのドットの大きさは、データ上では600dpiのピクセルサイズ、つまり25.4mm/600≒0.042mmである。なお、ドットゲインやインクの膨張、浸透等により膨らんで、ドットの大きさが0.05mm程度になる場合が多々ある。なお、逆にインクの定着が悪く、ドットの大きさが0.04mm程度(しかし、0.03mmを下回ることはない)以下になる場合もある。暗色セルにドットを形成する場合、周辺の暗色印刷部分の膨張により逆に明色ドットは0.03mm程度になる場合がある。ここで、最小セルサイズ(例えば、0.17mm)を最小ピクセル数(4×4)で印刷する暗色セルにドットコードを形成すると、図42のように、暗色セルの中央の4個のピクセルのいずれかを印刷することにより、4通りのドットパターンを形成できる。つまり、1個のセルに対して2bitのドットコードを定義できる。中央の4個のみを対象にしたのは、ドットと同色のセルと隣り合う場合、セルの輪郭の精度が悪いと、ドットを認識しづらくなるため、セルの輪郭の領域に接続するドットの配置を排除するのが望ましいからである。
ドットコードの読取りには複数の方法がある。ドットコードの読取りは、複合コードが撮像された画像がフレームバッファに記憶され、フレームバッファの座標系でドットを認識しその中心位置(座標値)を求めるか、ドット配置候補位置にドットが配置されているかを認識して、ドットの配置パターンにより定義された情報を取得することで行われる。代表的な方法は、下記の2通りである。
(方法1)
方法1は、ドットの中心点を認識する方法である。すなわち、方法1は、撮像した画像からドットを抽出し、ドットの中心座標値を求めてドットの配置パターンを求める。この場合、ドット周辺には、撮像した際にドットを形成する画素の明暗から、明暗の変化率等を閾値としてドットを検出するため、ドットは他のドットや、同色のセルと接触した状態では認識することが困難である。従って、近接するドットの端部から、両ドットを認識できる所定距離を離してドットを配置することが望ましい。
ところで、撮像した画像では、光が側方からQRコードを照らしたり、影や陰影が生じたりして、ドットを抽出するには前述の明暗の変化率を閾値とするのが望ましいが、明暗の変化率を求めるには、隣り合うドットの端部から端部まで少なくとも4ピクセル以上が必要であり、一定の解像度を有するカメラで撮影が必要になる。一方、QRコードの同一色のセルの明暗はセルの位置によって大きく異なる場合があるが、各セル内での変化は殆どない。そこで、明色セルでは、当該セルを撮像したピクセルの明るい方から数個のピクセルの明度の平均値BLAを求め、同時に、ピクセルの暗い方から数個のピクセルの明度の平均値BDAを求める。ΔB=BLA−BDAが所定範囲内に入っていれば、当該セルにはドットが存在しないことが分かり、所定範囲を超えていればドットが存在することになる。その場合のドットを判定する閾値は、α×BDA以下、またはBDA+β×ΔB以下で計算される。暗色セルでは、同様な処理を行い、ドットを判定する閾値は、α×BLA以上、またはBDA+β×ΔB以上で計算される。なお、α、βは、BLA、BDA、ΔBやカメラの性能や撮像画像の特性等によって定まる。
(方法2)
方法2は、画像から得られたドットと、認識対象のドットが形成される所定領域(ドットの配置候補領域)または所定位置(ドットの配置候補位置)との重複部分を求める方法である。方法2は、簡潔には、所定の領域または所定位置にドットが存在するかを判定する方法ということができる。方法2の場合、ドットの中心座標値を求める必要がない。ドットが存在するか否かは、ドットの配置候補領域または配置候補位置を正確に認識できることが重要である。印刷精度がよく、複合QRコード読取り装置の解像度が高ければ、複合コードの読み取り装置は、セルの中心座標値と当該セルの領域が正確に認識できる。そのような場合は、バウンディングボックスと呼ばれる予めドットの候補配置位置(XnS1,YnS1)を中心とした所定の領域にドットの中心位置が含まれるか否か、または当該領域に一定の面積を有するドットの所定の範囲が含まれるか否かで、ドットの配置位置が判定される。あるいは、ドットの候補配置位置(XnS1,YnS1)に、一定の面積を有するドットの一部が重畳しているか否かで認識してもよい。なお、複合QRコードが形成された媒体が平面を形成しない場合や、同媒体に対して、読取り装置が斜め方向から撮影した場合は、セルの中心座標値がずれる場合がある。そのような場合は、求まったセルの中心座標値を、所定の方法で正しいセルの中心座標値に補正するのが望ましい。この方法2は、微細なサブセルによってマトリクス状に細分化された拡張セルが第2のコードを形成する複合コードにおいても、従来よりも精度高い認識を可能にする。その際の最大の条件は、各セルの配置位置が、複合コードが撮像された画像がフレームバッファに記憶され、その座標系において正確な座標値で認識できることである。正確な座標値を取得するためには、基準となる基準マークを設けて、その基準マークはサブセルと接続させないで独立して設け、当該基準マークを抽出し中心座標値を取得することである。その結果、基準マークとサブセルの配置位置の関係によって、サブセルの配置位置を認識できる。
図44は、バウンディングボックスによるドットの位置の判定方法を例示する図である。図44のように、読み取り装置は、セル中心位置から、セルのコーナーに向かって直線を引き、当該直線と重複するドットのピクセルを抽出する。なお、セルの中心位置(座標値)は、大概、第1のコードを読み取ることによって取得することができるが、フレームバッファの座標系とは異なる座標系の座標値で取得した場合は、撮像画像が記憶されたフレームバッファの座標系の座標値に変換する必要が有る。そして、読み取り装置は、ドットと重複した直線上の領域(直線と重複したピクセルの列からなる領域)の中心が、予めドットの候補配置位置(XnS1,YnS1)を中心とした所定の領域以内(バウンディングボックス)に当該座標値が含まれているかで判定すればよい。バウンディングボックスは、ドットのサイズと同程度のセルサイズの25%前後(例えば、20%〜30%程度)の直径を有する円が望ましいが、矩形やその他の形状でもでもよいし、そのサイズも誤認率を想定した誤り訂正のレベルや印刷精度、撮像解像度で適宜定めてよい。なお、ドットが欠けているような場合は重複領域が途中で欠ける場合やインクの飛びもあり、それらを判定することが望ましい。例えば、直線と重複したピクセルの列からなる領域が複数領域に分離する場合が想定される。そのような場合には、読み取り装置は、最大領域をドットの領域とみなせばよい。また、分離した複数領域間の距離が所定値以内の場合に、読み取り装置は、分離した複数領域を1つの連続領域として統合してもよい。
ドット座標値は、直線とドットの重複位置始点(XnS1−1,YnS1−1)および終点の座標値(XnS1−2,YnS1−2)から、式XnS1=(XnS1−2+XnS1−1)/2,YnS1=(YnS1−2+YnS1−1)/2によって、(X,Y)として求められる。この結果、図44の例で、セル内の2本の対角線を用いてドットを検出する場合、1つの対角線に4個のドットの配置位置を設定し認識できるので、1個のセルに対して、2つの対角線で合計8個のドットの配置を設定し、8通り、すなわち3bitを定義することができる。
この8通りは、8個のドットの配置候補位置のいずれか1個だけドットが配置された場合であり、なお、ドットであるか否かの判定用の閾値は、前述の明暗の変化率等や、α×BDAまたはα×BLAやBDA+β×ΔBを使用してもよい。セルの配置位置が一定の精度で認識できれば、バウンディングボックスを当該セルのサイズより若干下回る大きさに設定し、そのバウンディングボックス内でドットを抽出すれば、ドットが接続し隣接する同色のセルの影響を受けない。
QRコードのデータ領域の暗色、明色のセルにドットコードを形成すると、ドットコードの誤り訂正にQRコードと同程度の領域を使用したとしても、図44で示したドット認識の方法を用いて、各セル当たり3bitを定義できるドットコードではQRコードの3倍のデータを複合QRコードに格納できる。仮に、データ領域の明色セルだけにドットコードを形成しても1.5倍程度の情報量を格納できる。なお、ファインダパターン(切り出しシンボル)、アライメントパターン、クワイエットゾーン、タイミングパターン、フォーマット情報を形成するセルにもドットコードを形成でき、QRコードの2倍程度の情報量を格納できる。さらに、データ領域以外の明暗色のセル全てにドットコードを形成すると、当該QRコードの4倍以上の情報を格納できる。なお、これらのドットの配置の違いは、現行の解像度の低いスマートフォンのカメラでも、全く問題なく認識できる。この実施形態では、印刷できる領域が4×4であると仮定しているが、セルの大きさを大きくすれば、ドットの配置パターンはさらに増加させることができる。但し、その場合、高解像度のカメラで撮影・解析することが望ましい。専用の撮像解像度の高い複合QRコードを使用すれば、容易に取得できる情報量を増大できる。
図45は、さらに、ドットコードの情報量を増大させるために、600dpiで1個のセルを5×5pixelで印刷し、セルサイズは5×25.4mm/600≒0.21mmとした実施例である。網で示した4か所は、ドットの形成位置を示している。この4か所にドットを形成するか、否かによって、1個のセルに4bitを定義できる。
図45は、600dpiで1個のセルを、セルを5×5pixelで印刷した例であり、図46は、7×7pixelで印刷した例である。セルが7×7pixelで印刷されるとセルサイズは7×25.4mm/600≒0.30mmとなる。網で示した部分(5×5pixelの4箇所、および7×7pixelの9箇所)は、ドットの形成位置を示している。
セルを7×7pixelで印刷する場合、中央の1ピクセルには、常にドットを形成し、当該セルにはドットコードが形成されていることの指標に使用してもよい。その場合は、1個のセルに8bitが定義される。なお、いずれか1個のピクセルが形成される場合は、8箇所のドットの配置の仕方は、8通り(中央にドットを形成する場合も含めば9通り)となり、1個のセルで3bitが定義される。このドットコードの認識方法としては、読み取り装置は、セルの中心位置を基に、ドットが配置される領域に対してバウンディングボックスを設定して、当該バウンディングボックス内にドットが配置されているかどうかでドットの配置を認識すればよい。バウンディングボックスの大きさは、図45ではドットのサイズと同程度のセルのサイズの20%前後(15〜30%程度)、図46ではセルのサイズの14%前後(10%〜20%程度)の直径または辺を有する円または矩形であるのが望ましい。ドットの具体的な認識方法としては、読み取り装置は、バウンディングボックス内で認識された暗色または明色の割合が所定の比率(例えば、セルの中心位置のずれや印刷の精度を考慮し、50%)を超えた場合に、ドットが配置されていることを判定してもよい。また、読み取り装置は、ドットの中心座標値を求めて、セル内に本来配置されるドットの座標値に最も近い位置のバウンディングボックス内のドットで判定してもよい。なお、ドットであるか否かの判定用の閾値は、前述の明暗の変化率等や、α×BDAまたはα×BLAやBDA+β×ΔBを使用してもよい。
なお、暗色セルに対しても明色ドットにより同様なドットコードが定義できることは言うまでもない。本実施形態では、図45の5×5pixelのセルで4個のピクセルの全てにドットが配置されたとしても、ドットの専有面積は4/(5×5)=16%にしかならず、ドットのサイズが膨らんでも、1.1倍程度(18%増程度)である。また、図46の7×7pixelのセルで9個全てにドットが配置されたとしても、ドットの専有面積は9/(7×7)=18%にしかならず、ドットのサイズが膨らんでも、1.1倍程度(20%程度)である。したがって、ドットコードの存在がQRコードを構成するセルの認識(他色の混入が1/3以下であれば適正に認識できる)に影響を与えることはない。さらに、ドットコードの情報量を増大するには、セルを構成するピクセル数を増加させてドットを配置する位置を増やし、印刷解像度を上げてドットを配置する位置を増やしてもよい。その場合、複合コードの読み取り装置の撮像解像度が十分に高ければ、ドットサイズは小さくしてもよい。その結果、ドットの配置位置を多く設定でき、ドットコードの情報量を増大させることができる。なお、ファインダパターン(切り出しシンボル)、アライメントパターン、クワイエットゾーン、タイミングパターン、フォーマット情報を形成するセルにもドットコードを形成でき、さらに情報量を増大できる。
以上のように、ドットコードをQRコードのセルに形成した複合QRコードは従来と同じ面積で埋め込む情報量を増加することができ、かつ、本来のQRコードの認識への影響を抑制できる技術である。従来技術は、1個のセルを分割して情報量を増加させるものであり、同色で分割セルが隣合わせになった際に認識が困難になり、印刷および撮像が超高解像度で実施されることが前提条件であり汎用性に乏しい。この従来技術に対して、本技術は、低解像度のカメラであっても、周辺が反対色(暗色と明色)であるドットの認識は容易であり、ドットの占める面積が少なくQRコードの認識も確保しつつ、従来技術に対してより多くの情報を付加できるのが大きな特徴である。以上から、一般的に使用されているQRコードを形成する1個のセルで1bitの情報しか定義できないが、複合QRコードでは、1個の明色セルおよび/または暗色セルに形成されるドットコードにより、1個のセルに対して、少なくとも2bit〜8bit程度を定義できる。さらに、後述のカラーコードを使用することにより、現行のスマートフォン等の携帯端末に搭載されたカメラでQRコードの6〜10倍以上の情報を複合QRコード(複合QRコード内に記録されたドットコード)から読み取ることができる。
ドットコードに記録される情報量の大幅な増加により、テキスト情報だけでなく、音声情報や画像情報を格納できる。しかも、複合QRコードに記録された情報は、電話回線やインターネット、無線等の通信を使用しないで、カメラで撮影し、専用のアプリで読み取るだけで取得することができる。これにより、情報の送信中に第三者にハッキングされることを回避させることができ、極めてセキュリティ性の高い記録媒体となる。したがって、複合QRコードによる情報の授受は、従来の通信と比較して個人情報や秘匿情報等の保護に有効である。さらに、複合QRコードによる情報授受では、情報提供者自身のメールアドレスやSNSの個人情報を渡さずに、情報を渡したい相手に提供できる。
(複合QRコード中のドットコードの読み取り方法)
QRコード読取りで最も多く使用されているスマートフォン等、携帯端末のカメラで、最も低い解像度はVGA(640×480)であるが、現在、極めて僅かである。携帯端末のカメラは、年々高解像度になることから、VGAによる問題は、無視してよい。複合QRコードを読み取る際に、撮像した画像からより確実にドットコードであることを認識するには、1個のドットを2×2ピクセル以上で撮像するのが望ましい。そうすれば、撮像されたドットの左右・上下の1ピクセルのずれに対応できる。現在、普及しているスマートフォン等のカメラの解像度は、年々高くなり、少なくとも1920×1080〜2048×1536(300万画素)を超えている。従って、本実施形態では、比較的低解像度の1920×1080ピクセルのスマートフォンを想定し、さらに周辺ののりしろ20%程度設けられると過程する。この仮定では、撮影範囲は、864×864ピクセルであるので、本実施形態の複合QRコードを十分な精度で読み取ることが可能である。図42と図43の複合QRコードでは、1個のセルを8ピクセルで撮像すると、読み取れるセル数は、864/8=108となり、バージョン22、105×105セル、(誤り訂正レベルMで漢字488文字、0.779KB、ドットコードには最大1.558KBを格納可能)までの読取りが可能であり、ドットコードにQRコードの1.5〜2倍程度を格納でき、印刷した場合105×8×25.4/600mm≒35.56までを読み取ることができる。さらに、QRコードの規格では日本語テキストの圧縮はされていない。現在、日本語テキスト圧縮データ技術によりQRコードの3倍の文字数を格納することができる。その結果、488文字×2(ドットコード情報量増加分)×3倍(日本語テキスト圧縮分)=2,928文字を格納できる。図44のような読取り方式を実施すれば、ドットコードには最大2.337KBを格納可能でありQRコードの2〜3倍程度を格納できる。さらに、日本語テキスト圧縮データ技術により4,392文字を格納できる。図45の復号QRコードでは、1個のセルを10×10ピクセルで撮像すると864/10=86、バージョン17、85×85セル(誤り訂正レベルMで漢字310文字、0.504KB、ドットコードには最大2.016KBを格納可能)までの読取りが可能であり、ドットコードにQRコードの3〜4倍程度を格納でき、印刷した場合85×10×25.4/600mm ≒ 35.98mmを一辺とする矩形領域を読み取ることができる。さらに、日本語テキスト圧縮データ技術により3,720文字を格納できる。図46の復号QRコードでは、1個のセルを14×14ピクセルで撮像すると、864/14≒61となり、バージョン11、61×61セル(誤り訂正レベルMで漢字155文字、0.251KB、ドットコードには最大2.008KBを格納可能)まで読み取りが可能であり、ドットコードにQRコードの6〜8倍の情報量を格納でき、印刷した場合61×14×25.4/600mm≒36.15mmを一辺とする矩形領域までを読み取ることができる。さらに、日本語テキスト圧縮データ技術により3,720文字を格納できる。上記では、QRコードの誤り訂正をレベルMとしたが、レベルMは、一般的に多く使用されている誤り訂正レベルであり、当然、誤り訂正レベルLにすれば、更に多くの情報をドットコードに格納できることは言うまでもない。
現在、普及しているスマートフォンのディスプレイ表示の解像度の市場普及率(2017年度)は、375×667ピクセル34.93%、320×568が18.85%、360×640が13.07%、合計で2/3程度が低解像度のディスプレイである。従って、表示領域に10%ののりしろを設けたとしても、288×288の領域にハイブリッドQRコードを表示する必要がある。1)ドットコードの印刷と同様に、図42〜図44の復号QRコードの表示では、1個のセルを4ピクセルで表示することになる。そこで、表示できるセルは、288/4=72となり、バージョン13、69×69セル(誤り訂正レベルMで漢字204文字、0.331KB、ドットコードには最大0.662KBを格納可能)でありQRコードの1.5〜2倍程度を格納できる。さらに、日本語テキスト圧縮データ技術により1,224文字を格納できる。図44のような読取り方式を実施すれば、ドットコードには最大0.993KBを格納可能でありQRコードの2〜3倍程度を格納できる。さらに、日本語テキスト圧縮データ技術により1,836文字を格納できる。図45の復号QRコードでは、1個のセルを5×5ピクセルで表示すると、288/5≒57となりバージョン10,57×57セル(誤り訂正レベルMで漢字131文字、0.213KB、ドットコードには最大0.852KBを格納可能)でありQRコードの3〜4倍程度を格納できる。図46のドットコードでは、1個のセルを7×7ピクセルで表示すると、288/7≒41となりバージョン6、41×41セル(誤り訂正レベルMで漢字65文字、0.106KB、ドットコードには最大0.848KBを格納可能)でありQRコードの6〜8倍程度を格納できる。さらに、日本語テキスト圧縮データ技術により1,560文字を格納できる。しかし、これでは日本語テキストや音声、写真等のコンテンツ情報を格納するには十分ではない。しかし、スマートフォンでのハイブリッドQRコードの表示では、後述のドットコードを時間変化させた時系列ドットコードや、ドット表示をカラー化したカラードットコードにより実施できるため、容易に大容量ハイブリッドQRコードを実現できる。
一方、フルハイビジョンである1080×1920で表示できるスマートフォンが普及していくのは明らかであり、さらにドットコードの情報量を増加させる複合QRコードの表示が可能となる。複合QRコードを表示する領域としては、800×800ピクセルとすると、図41、図42、図43の復号QRコードの表示では、1個のセルを4ピクセルで表示することになる。表示できるセルは、800/4=200となり、バージョン40、177×177セル(誤り訂正レベルMで漢字1,435文字、2.331KB、ドットコードには最大4.662KBを格納可能)つまりQRコードの規格の全てに対応して表示でき、QRコードの1.5〜2倍程度を格納できる。日本語テキスト圧縮データ技術により8,610文字を格納できる。なお、図44のような読取り方式を実施すれば、ドットコードには最大6.993KBを格納可能でありQRコードの2〜3倍程度を格納できる。さらに、日本語テキスト圧縮データ技術により12,915文字を格納できる。図45の復号QRコードでは、1個のセルを5×5ピクセルで表示すると、800/5=160となりバージョン35、157×157セル(誤り訂正レベルMで漢字1,113文字、1.809KB、ドットコードには最大5.427KBを格納可能)でありQRコードの3〜4倍程度を格納できる。さらに、日本語テキスト圧縮データ技術により1,836文字を格納できる。図46のドットコードでは、1個のセルを7×7ピクセルで表示すると、800/7≒114となりバージョン24,113×113セル(誤り訂正レベルMで漢字561文字、0.991KB、ドットコードには最大7.928KBを格納可能)でありQRコードの6〜8倍程度を格納できる。さらに、日本語テキスト圧縮データ技術により13,464文字を格納できる。この大容量複合QRコードを読み取る場合には、現行のスマートフォンの撮影解像度では、一部、読み取ることが難しい場合では、高解像度で撮像・解析できる専用複合QRコードリーダーを用いることが望ましい。上記では、QRコードの誤り訂正をレベルMとしたが、レベルMは、一般的に多く使用されている誤り訂正レベルであり、当然、誤り訂正レベルLにすれば、更に多くの情報をドットコードに格納できることは言うまでもない。
スマートフォンに複合QRコードに表示する場合、異なる複数のドットコードを所定時間ずつ表示することにより多量な情報を生成できる。ハイブリッドQRコードリーダーで点滅するドットコードを読み取る場合、一度だけ、QRコードを読み取るだけで、その後は、ドットコードのみを読み取ることにより高速に処理できる。撮影時の手振れは、タイミングパターンやアライメントパターンの撮像位置の変化を追跡し、その都度、検出したドット位置の補正を行えば、ドットコードを正確に読み取ることができる。実施形態5のようにハイブリッドQRコードをスマートフォンに表示する場合、ドットコードに格納できる1回の情報量は0.85K程度であるが、1〜3秒間にドットコードを12回程度、変化させることにより、10KB程度の情報量を取得することができる。これを写真データで再現すると、スマートフォンで表示した場合、十分に高品質な画像として閲覧でき、7万文字を超えるテキスト情報も送信できる。
QRコードに採用されている誤り訂正符号は、ブロック符号の一種であるリードソロモン符号であるが、ドットコードに採用する誤り訂正符号は、畳み込み符号を用いてもよい。
畳み込み符号はブロック符号とは異なり、データの区切りがなく、1個所のデータをその周辺にばらまき、その情報を使って統計的な方法で復号することから、誤り訂正の性能が高く、拘束長が小さければ高速に処理できる。
ただし、誤り訂正符号は、ドットコードの情報容量や誤り率によって、各種誤り訂正符号と、誤りを推定するため二次情報(輝度情報、時系列および周辺の誤り情報等)を用いた、各種復号法(軟判定復号法を含む)を適用することができる。もちろん、ドットコードに適した他の誤り訂正符号を使用してもよいことは言うまでもない。
これまで大容量QRコードの研究開発が世界中で進められてきたが、いずれも普及に至らなかったのは、セルの中心座標を正確に算出することできず、分割セル等の判定が正確に実施できなかったのが要因と考えられる。さらに、分割セルの情報量を増大させると本来のQRコードの認識率が低下する課題があった。ハイブリッドQRコードは、セル内に面積比の小さなドットコードを形成し、所定間隔毎に基準ドットや基準パターンを配置することにより、それらの課題を解消する画期的な技術である。
[実施形態6]
以下、図47から図56を参照して、実施形態5における真贋判定方法、真贋判定のための情報処理装置、および真贋判定のためのコンピュータプログラムについて説明する。上記実施形態1から4では、複合コードの構成、生成方法、読み取り方法、およびこれらの方法を実施する装置およびコンピュータにこれらの方法を実行させるためのプログラムについて説明した。本実施形態では、複合コードを用いてデジタル情報の真贋判定(あるいはデジタル情報改ざん検知)等に適用した方法、方法を実施する装置、コンピュータにこれらの方法を実行させるためのプログラムについて説明する。
<オフラインによる複合QRコード真贋判定システムの判定手順>
1)ドットコードに暗号化情報を形成する複合QRコードの生成
図47に、真贋判定のための複合コード生成処理を例示する。
(1)図47に例示する複合QRコードの生成では、QRコードのデータ領域に格納された情報を符号化する。ここで、データ領域とは、図1に例示したQRコードのうち、位置検出パターン(ファインダパターン)、アライメントパターン、タイミングパターン、フォーマット情報、及び誤り訂正符号を除く、QRコードで表されるデータ自体をいう。QRコードのデータ領域に格納された情報を符号化する理由は、印刷されたQRコードの印刷時の情報欠落や汚れ、QRコードの撮影状態等で、読み取ったQRコードが、作成時のQRコードとは完全に一致しないことが多々あることである。ディスプレイに表示されたQRコードも、QRコードの撮影状態等で、同様に一致しないことがある。従って、誤り訂正符号を有するQRコードの全部を符号化して、互いの符号化情報を比較しても、意味はない。ここで、符号化とは、ハッシュ関数を用いてデータから不可逆的変換をして符号列を求めることを含む。符号列は平文(署名対象データ)を含み、さらに、ハッシュ関数を用いて符号化された符号化情報はハッシュ値を含んでいる。
(2)ドットコードには、少なくともデータ(暗号化情報を含む)の他、誤り訂正符号やフォーマット情報(格納されたドットコードのタイプ、バージョン等の仕様)等の必要な情報が所定の仕様によって格納される必要がある。
(3)複合QRコードは、厳重に暗号化手段を管理する特定の発行機関が発行するのが望ましい。これにより、ユーザの誰もが利用できる環境を構築できる。なお、ユニークな暗号化手段を有し、特定のユーザが使用する場合は、当該ユーザにサービスを提供する発行者であってもよい。例えば、複合QRコードの発行を要請する発行要請者が、発行機関にURLやデータ(QRコードのデータ領域に格納される情報)を送信する。当該発行要請者は、事前に発行機関が承認した法人、行政その他の組織または個人に限るのが望ましい。発行要請者に対して、複合QRコードの発行を実施するかは、逐次所定の方法で認証するのが望ましい。URL等の公開情報には、発行した複合QRコードや発行要請者を公開して、第三者が評価して信頼性を高めてもよい。第三者は、一般ユーザでもよい。
(4)セキュリティを担保するために、発行機関以外の第三者が複合QRコードを発行できないように、符号化情報を暗号化手段で暗号化する必要がある。符号化情報を暗号化するにはデジタル署名アルゴリズム、つまり署名生成を秘密鍵で生成してもよい。当該デジタル署名アルゴリズムには、SHA256をはじめ各種手法があり、米国商務省配下のNational Institute of Standards and Technology(NIST)で標準化されている。なお、符号化情報を暗号化手段で暗号化した暗号化情報は、デジタル署名であることを含む。
(5)複合QRコード発行要請者から受領したデータ領域に格納された情報(URLに限らない)からQRコードを生成し、暗号化情報は、QRコードで定義される複数のセルから形成されるドットコードのデータ領域に格納される。当該データ領域は物理的に規定されなくても、論理的に規定されてもよい。なお、暗号化情報はQRコードに格納してもよい。
(6)完成した複合QRコードは、発行要請者に送信され、発行要請者は複合QRコードを媒体に形成(印刷、刻印、ディスプレイ等への表示により複合QRコードを認識できるあらゆる方法を含む)して第三者に提供する。
(7)複合QRコードは、第1のコードと、第2のコードのデータ領域に格納されるデータに対して、1個の電子署名(デジタル署名ともいう)または、それぞれのデータに対してそれぞれの電子署名を生成し、当該電子署名を第1または第2のコードのいずれかのデータ領域に格納してもよい。例えば、第1のコードに対して、電子署名を作成し、第2のコードのデータ領域に格納してもよい。また、第2のコードに対して、電子署名を作成し、第1のコードのデータ領域に格納してもよい。第1のコードと第2のコードに対して、1個の電子署名を生成し、当該電子署名を第1コードまたは第2のコードの隣接領域に追加の第1コードまたは追加の第2のコードを格納してもよい。
2)ドットコードに暗号化情報を形成する複合QRコードの読み取り・認証
(1)媒体に形成(印刷、刻印、ディスプレイ等への表示により複合QRコードを認識できるあらゆる方法を含む)された複合QRコードを読み取るには、専用の複合QRコード読取り装置や、専用の複合QRコード読取りアプリをダウンロードインストールしたスマートフォンやタブレット等の情報処理装置を使用することが想定される。
(2)専用の読取り装置または読取りアプリで、複合QRコードを読み取ると、通常のQRコード読取り手順に従って、ファインダパターン(切り出しシンボル)、アライメントパターン、クワイエットゾーン、タイミングパターン、フォーマット情報を読み取ることによって、各セルの中心座標値とセルの大きさとQRコードの向きを認識できる。明暗のみでセルを判定する場合は、撮像したセルの明暗から所定の閾値により2値化画像を生成して、各セルの2値化情報を判定してQRコードを読み取る。ドットコードは、同様な方法でドットを2値化してドットを読み取るが、各セルの判定毎にドットの配置を認識してもよいし、情報が定義された各セルの読取り終了後に、セルに形成されたドットの配置を読み取って、ドットコードを認識してもよい。なお、QRコードの情報量を増大させるため明暗のレベルまたはカラーでセルが形成される場合は、その明度、色相等で段階的にセルに2bit以上の情報をセルに定義してもよい。
(3)次に、読み取ったQRコードのデータ領域に格納された情報(URLに限らない)のみを符号化する。符号化の概念は、1)の(1)に示した通りである。さらに、ドットコードを誤り訂正して読取り、少なくとも暗号化情報を含むデータを取得する。暗号化情報の概念は、1)の(1)に示した通りである。ここで、暗号化情報を復号化手段で復号化情報に復号化する。復号化手段は、デジタル署名における検証アルゴリズムによって署名検証を含み、署名者の公開鍵であってもよい。
(4)最後に、(3)の読み取ったQRコードを符号化手段(例えば、キャッシュ関数)により符号化した符号化情報(例えば、キャッシュ値)と、ドットコードに格納された暗号化情報を復号化手段で復号化した復号化情報(例えば、発行機関においてQRコードが生成された際のキャッシュ値)が一致すれば、当該複合QRコードは、発行機関が発行した複合QRコードであることが認証される。なお、復号化手段には公開鍵が含まれる。ただし、認証方法は、符号化情報と復号化情報との一致・不一致に限定される訳ではない。符号化情報と復号化情報とが所定の関係にあることが確認できればよい。
<オフラインによる複合QRコード真贋判定システムの処理例>
(処理例1)
図47は、真贋判定のための複合QRコード生成方法を例示するフローチャートである。複合コードの生成は、例えば、図32に例示した管理サーバMS1、コンテンツサーバCS1等の情報処理装置(以下、管理サーバMS1で例示)によって実行される。
この処理では、管理サーバMS1は、QRコード用データを基に符号化手段(例:ハッシュ関数)で符号化情報(例:ハッシュ値)を計算する(T11)。ここで、QRコード用データとは、図1に例示したQRコードの構造のうち、データ及び誤り訂正符号の部分にデータとして組み込まれるものをいう。
次に、管理サーバMS1は、T11で計算された符号化情報を暗号化手段で暗号化する(T12)。ここでは、符号化情報を暗号化することを、暗号化情報を計算する、ともいう。より具体的には、T12では、管理サーバMS1は、例えば、秘密鍵と公開鍵のペアを有している。管理サーバMS1は、電子認証局(CA)(又は登録局(RA))に申請して、公開鍵が登録され、公開鍵の証明書と公開鍵に対応する秘密鍵の発行を受けているものとする。管理サーバMS1は、電子認証局(CA)から発行された秘密鍵を用いて符号化情報を暗号化する。上記暗号化手段としては、管理サーバMS1において実行される暗号化処理用モジュールが例示される。
次に、管理サーバMS1は、QRコード用データに誤り訂正を掛けてQRコードを生成する。また、管理サーバMS1は、暗号化情報を含むドットコード用データに誤り訂正を掛けてQRコードのセル内にドットコードを生成する(T13)。T13の処理によって、実施形態1から実施形態3と同様の複合コードが生成される。
そして、管理サーバMS1は、複合QRコードを媒体に形成する(T14)。形成される媒体としては、ディスプレイ等による表示画面も含む。すなわち、図32に例示したように、生成された複合QRコードは、放送媒体、あるいは通信媒体を通じて、リモートのユーザ装置、あるいは、コンテンツサーバに提供される。また、形成された複合QRコードは、記憶媒体に記憶される。また、形成された複合QRコードは、印刷媒体に印刷される。
図48は、複合QRコード読み取り・認証処理を例示するフローチャートである。ここで、複合QRコード読み取り・認証処理を実行する装置は、例えば、図32に例示したユーザ装置UD1、UD2等(以下、単にUD1)である。
この処理では、まず、ユーザ装置UD1は、読取り装置で複合QRコードを読み取る(T21)。ここで、読取り装置は、例えば、複合QRコードの画像を取得する撮像装置である。また、複合QRコードを読み取るとは、媒体上の複合QRコードの画像を撮影し、主記憶装置12(図33参照)または画像メモリに格納し、QRコードとドットコードのそれぞれからデータを取得することをいう。ここで、複合QRコードのうち、QRコードにコード化されたデータをQRコード用データという。また、複合QRコードのうち、ドットコードにコード化されたデータは、T13の処理で生成されたドットコードにコード化された暗号化情報である。
次に、ユーザ装置UD1は、QRコードから取得したQRコード用データを符号化手段(例:ハッシュ関数)で符号化情報(例:ハッシュ値)を計算する(T22)。T22の処理とともに、ユーザ装置UD1は、ドットコードから取得した暗号化情報を復号化手段で復号化情報を計算する(T23)。
次に、ユーザ装置UD1は、符号化情報と復号化情報を照合する(T24)。そして符号化情報と復号化情報とが一致した場合、ユーザ装置UD1は、複合コードによる認証が成功したと判定し、対応する処理を実施する。例えば、ユーザ装置UD1は、複合QRコードのQRコードで指定された処理を実行する(T25)。また、例えば、ユーザ装置UD1は、複合QRコードのQRコードで指定されたURLにアクセスする。また、例えば、ユーザ装置UD1は、複合QRコードのQRコードで指定された情報が正しい情報であるとして、対応する処理を実行する。対応する処理とは、例えば、複合QRコード中のQRコードで指定されるコンテンツの再生、上記QRコードで指定される金融機関口座へのアクセス、上記QRコードで指定されるクレジットカード番号等を用いた処理、複合QRコードが印刷された媒体の真贋判定結果の表示等である。
一方、符号化情報と復号化情報とが一致しない場合、ユーザ装置UD1は、複合コードによる認証が失敗したと判定し、結果をユーザに通知する(T26)。
以上述べたように、処理例1によれば、複合QRコードによって、様々な認証処理、真贋判定処理、改ざん検知処理等を実施できる。上記では、QRコード用データの暗号化情報をドットコードとして埋め込む処理が例示されるが、暗号化情報をQRコードの一部にコード化し、復号化してもよい。
(処理例2)
図49は、ドットコード用データの暗号化情報をQRコードにコード化し、真贋判定のための複合QRコード生成方法を例示するフローチャートである。この処理では、管理サーバMS1は、ドットコード用データを基に符号化手段(例:ハッシュ関数)で符号化情報(例:ハッシュ値)を計算する(T31)。
次に、管理サーバMS1は、符号化情報を基に暗号化手段で暗号化情報を計算する(T32)。次に、管理サーバMS1は、暗号化情報を含むQRコード用データに誤り訂正を掛けてQRコードを生成し、ドットコード用データに誤り訂正を掛けてQRコードのセルにドットコードを生成する(T33)。すなわち、ここでは、管理サーバMS1は、暗号化情報をQRコードに組み込む。そして、複合QRコードを媒体に形成する(T34)。ここで、複合QRコードが形成される媒体としては、ディスプレイ等による表示画面も含み、放送媒体、通信媒体、記憶媒体印刷媒体を含む点は、図47と同様である。
図50は、複合QRコード読み取り・認証処理を例示するフローチャートである。この処理では、ユーザ装置UD1は、読取り装置で複合QRコードを読み取る(T41)。次に、ユーザ装置UD1は、ドットコード用データを符号化手段(例:ハッシュ関数)で符号化情報(例:ハッシュ値)を計算する(T42)。次に、ユーザ装置UD1は、QRコードから取得した暗号化情報を基に、復号化手段で復号化情報を計算する(T43)。
そして、ユーザ装置UD1は、符号化情報と復号化情報を照合する(T44)。そして符号化情報と復号化情報とが一致した場合、ユーザ装置UD1は、複合コードに認証が成功したと判定し、対応する処理を実施する(T45)。例えば、ユーザ装置UD1は、複合QRコードのドットコードで指定された処理を実行する。また、例えば、ユーザ装置UD1は、複合QRコードのドットコードで指定されたURLにアクセスする。また、例えば、ユーザ装置UD1は、複合QRコードのドットコードで指定された情報が正しい情報であるとして、対応する処理を実行する。対応する処理とは、例えば、複合QRコード中のドットコードで指定されるコンテンツの再生、上記ドットコードで指定される金融機関口座へのアクセス、上記ドットコードで指定されるクレジットカード番号等を用いた処理、複合QRコードが印刷された媒体の真贋判定結果の表示等である。
一方、符号化情報と復号化情報とが一致しない場合、ユーザ装置UD1は、複合コードによる認証が失敗したと判定し、結果をユーザに通知する(T46)。
以上述べたように、処理例2によれば、複合QRコードによって、様々な認証処理、真贋判定処理、改ざん検知処理等を実施できる。なお、上記では、管理サーバMS1がドットコード用データの暗号化情報をQRコードに登録して複合コードを形成した。しかし、このような処理に代えて、管理サーバMS1は、第1のドットコード用データの暗号化情報を第2のドットコードに登録して、復号化してもよい。第2のドットコードは、例えば、第1のドットコードが形成されるセルとは異なるセルのドットコードである。
(処理例3)
図51は、QRコード用データを暗号化してドットコードにコード化するとともに、ドットコード用のデータを暗号化してQRコードにコード化し、真贋判定のための複合QRコード生成方法を例示するフローチャートである。
この処理では、管理サーバMS1は、QRコード用データを基に、符号化手段(例:ハッシュ関数)で符号化情報1(例:ハッシュ値)を計算する(T51)。次に、管理サーバMS1は、符号化情報1を基に暗号化手段で暗号化情報1を計算する。すなわち、管理サーバMS1は、符号化情報1を秘密鍵で暗号化する(T52)。
T51、T52の処理とともに、管理サーバMS1は、ドットコード用データを基に、符号化手段(例:ハッシュ関数)で符号化情報2(例:ハッシュ値)を計算する(T53)。次に、管理サーバMS1は、符号化情報2を基に暗号化手段で暗号化情報2を計算する。すなわち、管理サーバMS1は、符号化情報2を秘密鍵で暗号化する(T54)。なお、T54で使用する秘密鍵はT52で使用する秘密鍵と同一の鍵であってもよいし、異なる秘密鍵であってもよい。いずれにしても、秘密鍵に対応する公開鍵で認証が実行される。
次に、管理サーバMS1は、QRコード用データと暗号化情報2をデータとして、誤り訂正を掛けてQRコードを生成する(T55)。さらに、管理サーバMS1は、ドットコード用データと暗号化情報1をデータとして、QRコードのセルに誤り訂正を掛けてドットコードを形成する(T56)。
そして、管理サーバMS1は、複合QRコードを媒体に形成する(T57)。ここで、複合QRコードが形成される媒体としては、ディスプレイ等による表示画面も含み、放送媒体、通信媒体、記憶媒体印刷媒体を含む点は、図47、図49と同様である。
図52は、複合QRコード読み取り・認証処理を例示するフローチャートである。この処理では、ユーザ装置UD1は、QRコードから取得したQRコード用データを基に、符号化手段(例:ハッシュ関数)で符号化情報1(例:ハッシュ値)を計算する(T61)。次に、ユーザ装置UD1は、QRコードから取得した暗号化情報2を基に、復号化手段で復号化情報2を計算する(T62)。すなわち、ユーザ装置UD1は、暗号化情報2を復号化情報2に復号する。
T61、T62の処理とともに、ユーザ装置UD1は、ドットコ−ドから取得したドットコード用データを符号化手段(例:ハッシュ関数)で符号化情報2(例:ハッシュ値)を計算する(T63)。次に、ユーザ装置UD1は、ドットコードから取得した暗号化情報1を基に復号化手段で復号化情報1を計算する(T64)。すなわち、ユーザ装置UD1は、暗号化情報1を復号化情報1に復号する。
次に、ユーザ装置UD1は、各々の符号化情報と復号化情報を照合する(T65)。個々で、照合は、符号化情報1と復号化情報1との照合、および、符号化情報2と復号化情報2との照合をいう。T65で両方の照合が一致する場合、ユーザ装置UD1は、複合コードに認証が成功したと判定し、対応する処理を実施する(T66)。T66の処理は、T25、T44の処理と同様であるので、その詳細を省略する。
一方、T65で両方の照合が一致しない場合、ユーザ装置UD1は、複合コードによる認証が失敗したと判定し、結果をユーザに通知する(T67)。
以上述べたように、処理例3によれば、複合QRコードによって、様々な認証処理、真贋判定処理、改ざん検知処理等を実施できる。なお、上記では、管理サーバMS1がドットコード用データの暗号化情報をQRコードにコード化し、QRコード用データの暗号化情報をドットコードにコード化して複合コードを形成した。しかし、このような処理に代えて、管理サーバMS1は、QRコード用データの暗号化情報はQRコードに、ドットコード用データの暗号情報はドットコードにコード化して、ユーザ装置UD1が両方を復号化するようにしてもよい。
(処理例4)
図53は、QRコード用データとドットコード用データで形成されるデータ列の暗号化情報をドットコードにコード化し、真贋判定のための複合QRコード生成方法を例示するフローチャートである。
この処理では、管理サーバMS1は、QRコード用データとドットコード用データで形成されるデータ列を基に、符号化手段(例:ハッシュ関数)で符号化情報(例:ハッシュ値)を計算する(T71)。
次に、管理サーバMS1は、符号化情報を基に暗号化手段で暗号化情報を計算する(T72)。すなわち、管理サーバMS1は、符号化情報を暗号化情報に暗号化する。次に、管理サーバMS1は、QRコード用データに誤り訂正を掛けてQRコードを生成する。また、管理サーバMS1は、暗号化情報を含むドットコード用データに誤り訂正を掛けてQRコードのセルにドットコードを生成する(T73)。
そして、管理サーバMS1は、複合QRコードを媒体に形成する(T74)。ここで、複合QRコードが形成される媒体としては、ディスプレイ等による表示画面も含み、放送媒体、通信媒体、記憶媒体印刷媒体を含む点は、図47、図49、図51と同様である。
図54は、複合QRコード読み取り・認証処理を例示するフローチャートである。この処理では、ユーザ装置UD1は、読み取り装置で複合QRコードを読み取る(T81)。次に、ユーザ装置UD1は、QRコード用データとドットコード用データをデータ列として符号化手段(例:ハッシュ関数)で符号化情報(例:ハッシュ値)を計算する(T82)。T82の処理とともに、ユーザ装置UD1は、ドットコードから取得した暗号化情報を基に、復号化手段で復号化情報を計算する(T83)。すなわち、ユーザ装置UD1は、暗号化情報を復号化情報に復号する。
次に、ユーザ装置UD1は、符号化情報と復号化情報を照合する(T84)。そして符号化情報と復号化情報とが一致した場合、ユーザ装置UD1は、複合コードによる認証が成功したと判定し、対応する処理を実施する(T85)。T85の処理は、T25、T44、T66の処理と同様であるので、その詳細を省略する。
一方、T85で両方の照合が一致しない場合、ユーザ装置UD1は、複合コードによる認証が失敗したと判定し、結果をユーザに通知する(T86)。
以上述べたように、処理例4によれば、複合QRコードによって、様々な認証処理、真贋判定処理、改ざん検知処理等を実施できる。なお、上記では、管理サーバMS1はQRコード用データとドットコード用データで形成されるデータ列の暗号化情報をドットコードにコード化して複合コードを形成した。しかし、このような処理に代えて、管理サーバMS1は、QRコード用データとドットコード用データで形成されるデータ列の暗号化情報をQRコードにコード化して、ユーザ装置UD1が両方を復号化するようにしてもよい。
(処理例5)
図55は、QRコード用データとドットコード用データで形成されるデータ列の符号化情報をドットコードにコード化する複合QRコード生成方法を例示するフローチャートである。この処理では、秘密鍵と公開鍵は用いられない。この処理では、管理サーバMS1は、QRコード用データとドットコード用データで形成されるデータ列を符号化手段(例:ハッシュ関数)で符号化情報(例:ハッシュ値)を計算する(T91)。次に、管理サーバMS1は、QRコード用データに誤り訂正を掛けてQRコードを生成し、T91で生成した符号化情報を含むドットコード用データに誤り訂正を掛けてQRコードのセルにドットコードを生成する(T92)。
そして、管理サーバMS1は複合QRコードを媒体に形成する(T93)。ここで、複合QRコードが形成される媒体としては、ディスプレイ等による表示画面も含み、放送媒体、通信媒体、記憶媒体印刷媒体を含む点は、図47、図49、図51、図53と同様である。
図56は、複合QRコード読み取り・認証処理を例示するフローチャートである。この処理では、ユーザ装置UD1は、例えば、コンテンツサーバから取得した情報から、読み取り装置で複合QRコードを読み取る(T101)。次に、ユーザ装置UD1は、QRコード用データとドットコード用データをデータ列として符号化手段(例:ハッシュ関数)で符号化情報(例:ハッシュ値)を計算する(T102)。次に、ユーザ装置UD1は、ドットコードから符号化情報(例:ハッシュ値)を取得する(T103)。
次に、ユーザ装置UD1は、計算した符号化情報と取得した符号化情報を照合する(T104)。そして符号化情報と復号化情報とが一致した場合、ユーザ装置UD1は、複合コードによる認証が成功したと判定し、対応する処理を実施する(T105)。T105の処理は、T25、T44、T66、T85の処理と同様であるので、その詳細を省略する。
一方、T105で符号化情報と復号化情報とが一致しない場合、ユーザ装置UD1は、複合コードによる認証が失敗したと判定し、結果をユーザに通知する(T106)。
処理例1から処理例4とは異なり、処理例5では、誤り訂正が正しかったかを確認できる。また、T91とT102で用いられる符号化処理が、管理サーバMS1とユーザ装置UD1だけが特定できる処理である場合には、処理例1から処理例4と同様に、様々な認証処理、真贋判定処理、改ざん検知処理等を実施できる。
図47から図54で説明した電子認証の全てに対して、下記のケースも含み、誤り訂正が正しかったかを認証できる。
・QRコードのデータの符号化情報を暗号化手段で暗号化した暗号化情報を、ドットコードに格納
・QRコードのデータの符号化情報を暗号化手段で暗号化した暗号化情報を、QRコードに格納
・ドットコードのデータの符号化情報を暗号化手段で暗号化した暗号化情報を、QRコードに格納
・ドットコードのデータの符号化情報を暗号化手段で暗号化した暗号化情報を、ドットコードに格納
・QRコードのデータの符号化情報を暗号化手段で暗号化した暗号化情報をドットコードに、ドットコードのデータの符号化情報を暗号化手段で暗号化した暗号化情報をQRコードに、それぞれ格納
・QRコードのデータの符号化情報を暗号化手段で暗号化した暗号化情報をQRコードに、ドットコードのデータの符号化情報を暗号化手段で暗号化した暗号化情報をドットコードに、それぞれ格納
・QRコードのデータと、ドットコードのデータから形成されるデータ列の符号化情報を暗号化手段で暗号化した暗号化情報を、QRコードに格納
・QRコードのデータと、ドットコードのデータから形成されるデータ列の符号化情報を暗号化手段で暗号化した暗号化情報を、ドットコードに格納
同様に、図55および図56で説明した電子認証の全てに対して、下記のケースも含み、誤り訂正が正しかったかを認証できる。
・QRコードのデータの符号化情報をドットコードに格納
・QRコードのデータの符号化情報をQRコードに格納
・ドットコードのデータの符号化情報をQRコードに格納
・ドットコードのデータの符号化情報をドットコードに格納
・QRコードのデータの符号化情報をドットコードに、ドットコードのデータの符号化情報をQRコードに、それぞれ格納
・QRコードのデータの符号化情報をQRコードに、ドットコードのデータの符号化情報をドットコードに、それぞれ格納
・QRコードのデータと、ドットコードのデータから形成されるデータ列の符号化情報を、QRコードに格納
・QRコードのデータと、ドットコードのデータから形成されるデータ列の符号化情報を、ドットコードに格納
<実施形態6の特長と用途>
以下、実施形態6で説明したオフラインによるドットコードに暗号化情報を形成する複合QRコードの特長と用途(認証系とコンテンツ系)を列挙する。
(複合QRコードの特徴例と効果)
複合QRコードは、ネットで認証をしなくても電子認証が可能であり、ネット上でのハッキング等の防止に繋がる。さらに、コンテンツや様々なネット上のサービスを提供するサービス提供業者は、ユーザに複合QRコード読取りアプリさえダウンロードインストールする仕組みを提供すれば、複合QRコードを使用した様々なコンテンツサービスや電子認証のための面倒な管理と費用を要するサーバを運営する必要がない。したがって、サービス提供業者は、継続したユーザへのサービスが安価に提供できる。その他、零細なサービス企業でも、サーバを構築することなく複合QRコードを使用した様々なコンテンツサービスを提供できる。
(翻訳機能の搭載、各国言語データの搭載)
さらに、コンテンツでの利用では、アプリに翻訳・通訳等の出力機能を備えれば、1つのハイブリッドQRコードで取得した様々なコンテンツの世界各国での利用が可能となる。一方、各国語のテキストや少量の音声データや画像を識別できるように媒体に形成された複合QRコードに格納し、アプリに翻訳・通訳機能を搭載していなくても必要な言語のテキスト・画像の表示や音声を再生できる。当然、複合QRコードをディスプレイに表示して、時系列ドットコードやカラードットコードを使用すれば、容量の小さなアニメーションも同様に各国語用のデータにして複合QRコードに格納し、各国のコンテンツを取得できる。
(複合QRコードへのデータ格納の仕方)
複合QRコードは、URL等が格納されたQRコードを、複合QRコードリーダーだけでなく、普及しているQRコードリーダーでも読み取ることができることを特長にしているが、ドットコードの占める面積は最大でも20%以下であり、さらに、従来のQRコードリーダーは、点のような画像はノイズとして扱い無視して、QRコード読取りに支障をきたすことはない。また、データをドットコードに格納し、図49、図50のように、電子署名をQRコードのデータ領域に格納してもよい。なぜなら、ドットコードの方が遥かに多くの情報を格納できる特長を生かせるからである。そこで、容量の小さなURL等のデータはQRコードに格納し、コンテンツ等の容量の大きなデータはドットコードに格納すればよい。さらに、ドットコードのタイプやバージョン、誤り訂正符号のバージョン等のフォーマット情報もQRコードに格納して、ドットコードには少なくともデータと誤り訂正符号を格納して、QRコードにより得られる情報でドットコードを読み取るようにしてもよい。これにより、ドットコードのデータフォーマットを可変にすることができ、汎用性を高めることができる。すなわち、利用分野毎にドットコードのデータフォーマットを定めることができ、どのような複合QRコードリーダーでも適正にドットコードを読み取ることが可能となる。
(様々なチケットとしての用途)
購入したチケット番号等が格納された複合QRコードがチケット販売先から送付され、チケット使用時には、複合QRコード対応アプリがクラウドからの送信により時間変化するワンタイムパスワードをドットコードで表示することにより、入場確認の際に複合QRコード読取り装置で読み取られ、チケットを購入した人だけしか、入場をできないようにできる。さらに、チケット購入者のスマホIDを取得して、当該スマホにワンタイムパスアワードを送信することにより、チケットの転売を防止することもできる。ドットコードにワンタイムパスワードを格納すれば、ドットが変化しても視認しづらいので、ワンタイムパスワードが使用されていることをユーザに意識させないようにできる。一方、QRコードにワンタイムパスワードを格納すれば、QRコードが変化するため、コピー防止を実施していることをユーザに伝え、偽造者に対して抑止効果がある。現行のQRコードは、その内容を誰でも読み取ることができ、誰でも生成することができる。チケットが印刷媒体であって、チケット番号をQRコードに埋め込む場合は、QRコードから読み取った情報を基にリバースエンジニアリングを実施することにより、チケット番号の発行を第三者が実施できる可能性が高い。チケット番号発行手順が分かれば、異なるチケット番号を容易に生成できる。
複合QRコード読取りアプリは、一般に広く提供するが、複合QRコードの生成は、特定の複合QRコード発行機関のみができるようにするか、複合QRコード発行業者に対してのみ、チケット番号として使用する特定のドットコード(限定されたユニークなドットコード)のみを符号化できる複合QRコード生成アプリを提供すればよい。これにより、取得したチケットのチケット番号とは異なるチケット番号の偽造チケットを制作することはできなくなる。なお、世の中に発行される複合QRコードを完全なユニークコードとした場合、特定のユニークなドットコードに限定して符号化できる複合QRコード生成アプリが生成する複合QRコードと、他の生成アプリで生成できる複合QRコードと重複しないようにすればよい。なお、チケットは、イベント参加や施設入場、交通機関利用、食券、行政サービスの利用券等、様々なサービスを取得するためのものである。本実施例では、チケット番号としてユニークなドットコードを符号化できる複合QRコード生成アプリについて記載したが、どのような分野でのどのような利用においても、その都度の契約の下に特定のユニークなドットコードを限定して符号化できる複合QRコード生成アプリを提供するサービスが望ましい。もちろん、複合QRコード発行機関では、常にユニークな複合QRコードを発行する。なお、複合QRコードはQRコードとドットコードとが複合されたコードであり、ドットコードが同一で、QRコードがユニークであっても、ユニークな複合QRコードを生成できることは言うまでもない。
(生体認証での用途)
膨大な本人情報(顔、指紋、虹彩、静脈等の生体情報)を、誤り訂正を掛けてドットコードに登録する。本人情報が改ざんされないように、QRコードまたはドットコードのいずれかに電子署名をする。使用方法は、決済等をする際に、複合QRコードを表示して、それを読取り取得した生体情報と、その場で本人から取得(カメラやセンサーによる顔や指紋、虹彩、静脈情報等の取得)した生体情報が一致するかで、無人でも本人確認ができ、金融決済や重要施設の入室、重要機器の操作が、高セキュリティで実施できる。なお、スマートフォン等の本人情報の登録は、搭載されているカメラで顔や指紋、虹彩を撮影することにより容易に行える。なお、本人情報は、スマートフォンで顔や指紋、虹彩を撮影した生データでもよいし、専用アプリで生データを解析した特徴点データあってもよい。特徴点データの場合はデータ量が小さくなることが利点であるが、当該特徴点データと同じ特徴点を生成する特定の照合システムを使用することが前提となり汎用性に乏しい。生データの場合は、現場で取得された生体情報との照合をどのようなシステムで実施しても構わないことから汎用性に優れている。生データの容量は多量の情報量となり従来のQRコードでは格納できなかったが、複合QRコードでは十分、それらの情報を格納できる。現在の顔認証技術においては、2〜3KBに圧縮された写真で実現できる。
(決済手段、送金手段としての用途)
電子署名をした複合QRコードにクレジットカードやプリペイドカード、キャッシュカード等の金融情報が格納されていれば、極めてセキュリティ性の高い金融決済ができる。さらに、ワンタイムパスワード等もQRコードやドットコードで同時に発行すれば、さらにセキュリティ性は高まる。特に、ドットコードでのパスワードの表示では、大きな情報量のパスワードを発行でき、1秒間に数回以上のワンタイムパスワードの表示が可能であり、ドットが小さいためショルダーハッキングのような盗撮などで盗まれる可能性が極めて低くなる。このような、金融決済の実施例では、店舗側のシステムが購入品の品目や単価、支払い合計額等を印刷した印刷媒体を購入者に提供するか、当該内容をディスプレイに表示すればよい。購入者が表示内容を確認した後、購入者のスマートフォンに金融決済カード情報を表示すると、店舗側のシステムが複合QRコードリーダー(スマートフォンでもよい)で読取り、読み取った金融決済カード情報を基に金融決済サーバに、購入品決済情報を送信する。そして、金融決済サーバは決済承認すると、店舗側のPOSに直ちに通知し、商品の購入が完了する。さらに、購入者のスマートフォンには、購入品決済情報や購入店舗情報等の決済完了情報が送信されてもよい。このように、レシートを発行しないで決済することができ、店舗側はプリンタの運用を無くし、購入者は購入品の情報をデータとして管理できる。また、決済できない場合、クレジットカードの超過利用やプリペイドカード、銀行口座で残金が足りない場合も、それらの情報がスマートフォンに表示されてもよい。
クレジットカードやプリペイドカード、銀行口座等の金融決済の実施例としては、複合QRコードを使用するシステムでは、購入者がスマートフォンに金融決済カード情報を複合QRコードで表示し、店舗側のシステムが複合QRコードリーダー(スマートフォンでもよい)でスマートフォンの表示内容を読取り、読み取った金融決済カード情報を基に、金融決済サーバに購入品決済情報を送信する。そして、金融決済サーバは決済承認すると、決済承認結果を店舗側のPOSに直ちに通知し、商品の購入決済が完了する。さらに、購入者のスマートフォンには、購入品情報や購入店舗情報等の情報が送信され、「決済」、「中止」や「一括払い」「分割払い」等のアイコンが表示され選択して決済してもよい。また、決済できない場合、クレジットカードの超過利用やプリペイドカード、銀行口座で残金が足りない場合も、それらの情報がスマートフォンに表示されてもよい。店舗側のシステムが購入品の品目や単価、支払い合計額等を印刷した印刷媒体を購入者に提供するか、または当該内容をディスプレイに表示して購入者が確認した後、クレジットカード等により決済すればよい。
もう1つの実施例では、店舗側がPOSのディスプレイ(スマートフォンでもよい)に複合QRコードを表示し、購入者が当該複合QRコードを読み取ると、購入品の品目や単価、支払い合計額が表示され、「決済」、「中止」や「一括払い」「分割払い」等のアイコンが表示され選択すると、金融決済サーバにそれらの決済情報が送信され、決済承認されれば店舗側のPOSに直ちに通知され、商品の購入が完了する。プリペイドカードや銀行口座で残金が足りない場合は、残高や不足分等が表示される。なお、カードを相手方に渡さないことは、カードの情報を容易にコピーされないことを意味しており、なりすまし被害を抑えることができる。
(送金処理への適用)
さらに、個人間で送金したい場合、送金者が金額をスマートフォンに入力すると、送金者や金額等の送金情報が登録された複合QRコードが表示される。相手が自身のスマートフォンで読取り、「確認」アイコンをタップすると送金者に通知され、誰に幾ら送金されるかが表示され、「決済」アイコンをタップすると、相手に送金が実施され、個人間の金融取引が成立する。他の方法では、相手のスマートフォンに送金先情報等が登録された複合QRコードを表示させ、送金者のスマホで読み取ると送金先情報が表示され、金額をスマートフォンに入力して、「決済」アイコンをタップすると、相手に送金が実施され個人間の金融取引が成立する。その際、複合QRコードに写真等の本人情報が登録されていれば、着金者の本人確認が容易になる。いずれも、本人以外の第三者が送金できないようにセキュリティを高めるために、「決済」アイコンをタップする際にパスワードを入力してもよい。これらの金融取引に関して、金額、日付以外に‘貸借’や‘贈与’、‘対価’等を分類し、記録に残すこともできる。
(クーポンとしての利用)
ポイントやクーポン、スタンプでの利用では、顧客が特典を獲得する場合に、特典を獲得できる複合QRコードを、特典提供者のシステムがどこにでも形成(印刷まはディスプレイ表示)し、顧客のスマートフォンで読み取ることにより特典を取得できる。また、特典提供者のシステムは、顧客のスマートフォンで表示した複合QRコードを読取り、電話回線やWIFI、ブルーツース等、様々な通信手段で顧客のスマートフォンに特典を付与したり、利用した特典を消込することができる。当該複合QRコードには、通信先の電話番号やアドレス、スマホID、会員番号等を含めてもよい。
(証明証としての利用)
システムが免許証や健康保険証、学生証、社員証、会員カード、パスポート等、本人を確認する場合、本人が当該カードを提示しなくても、それらの情報をドットコードに格納して、本人が複合QRコードをスマートフォンに表示させてもよい。システムは、複合QRコード読取り装置でドットコードを読取り、読取り装置に対して必要な情報を表示させ、本人に生年月日や住所等を告げて貰い、本人であることを確認できる。なお、印刷媒体やディスプレイ等に形成された複合QRコードの読取りは、スマートフォンに搭載した専用アプリケーションによって行うこともできる。特に、写真もドットコードに格納できるので、従来の写真を見ての本人確認も、カードが無くても可能となる。確認を行う相手方のシステムに、それらのカード情報が渡っても、郵便局や病院では、カードをコピーするのが習慣であるが、むしろ、スマートフォン(専用アプリ)による複合QRコードの表示や読取り、専用読取り装置による複合QRコードの読取りでは、読み取ったデータに含まれる写真や生年月日、住所等の一部のみを表示し、その他の情報は非表示にすることによりセキュリティを高めることができる。さらに、読み取った複合QRコードを時間や場所等と共に履歴を、読み取ったシステムがトレースできることからビッグデータとしても利用可能となる。なお、カードを相手方に渡さないことは、カードの情報を容易にコピーされないことを意味しており、なりすまし被害を抑えることができる。
(記録手段としての利用)
医療や法廷での資料から不動産や金融関連の契約等、様々な分野で紙媒体の情報を保存することが義務付けられている。OCRでデジタル化してクラウドに記録し検索すれば、システムはテキスト情報を取得できるが、人が紙媒体を見て、それらの情報を検索するのは面倒である。複合QRコードは、紙媒体数ページ分のテキスト(4,000文字程度、カラードットを使用できれば、1万文字以上)を格納することができ、システムはその場で印刷された複合QRコードを読取り、当該情報を容易に取得できる。複合QRコードの添付は、i)システムがOCRで読み取って得られたデータと共に任意の位置に印刷してもよいし、ii)システムが複合QRコードをシール等に印刷し、原文書や印刷文書に貼り付けられるようにしてもよい。iii)なお、原文書に複合QRコードを印刷する所定の領域(文書近傍または内部)が形成されている場合には、システムは、原文書(原文書への重畳印刷)やOCRにより得られたデータによる印刷文書の当該領域に複合QRコードを印刷してもよい。
さらに、新聞や雑誌、カタログ、チラシ等、様々な活字印刷媒体にハイブリッドQRコードに当該文書等を格納・印刷することにより、インターネットを使用せずとも、記載されている情報や更なる情報を提供することができる。
(情報授受手段として利用)
様々な情報のやり取りにおいても、複合QRコードによって安全性が向上する。例えば、ユーザは、メールアドレスやSNSにおける連絡先を相手に教えることなく、複合QRコードを使用すれば写真や音声、テキスト等を容易に送受信できる。例えば、写真であれば、スマートフォンで閲覧する場合の高品質の写真や10分程度の音声、数万文字以上のテキストを格納できる。テキストの文字数に関しては前述しているのでここでは説明を省くが、音声においては、ADPCM(適応的差分パルス符号化変調)とデータ圧縮技術によって0.3KBPSとなるが、MELP(混合励振線形予測)とデータ圧縮技術によって0.1KBPSで可能となり、ドットコードには最大2KB程度の情報を格納できることから20秒程度の聞き取り可能な音声が格納できる。なお、画像においては、JPEGで2KB程度の写真(人の目による本人確認ができる程度)の写真等のコンテンツを取得できる。さらに、最新の静止画像圧縮技術(BPG、あるいは次世代JPEGであるJPEG XL等)によって顔画像認識に十分耐えうる品質を保持できる。なお、専用の高解像度の複合QRコード読取り装置を使用し、印刷されたQRコードの最大情報量を有するバージョン40、177×177セルに対応する複合QRコードでは、8倍の約24KBバイトの情報を格納できる。赤外線やブルーツース等、スマートフォンで情報をやり取りできる機能も多々あるが、全てのスマートフォンで当該機能が使用できない。しかし、ユーザが複合QRコード読取り専用アプリをスマートフォンにダウンロードインストールをすれば、複合QRコードの表示・読取りは殆どのスマートフォンで利用できるため、普及の可能性が極めて高い。例えば、集合写真を撮った後、複合QRコードを印刷またはディスプレイに表示し、当該複合QRコードを各自が読み取れば、全員がアドレス等を伝えなくても、自身のスマートフォンに集合写真を取得することができる。複合QRコードを印刷しておけば、サーバ等にアップしなくても、卒業アルバム等の記念写真やメッセージを何時でも何処でも永遠に取得できる。これまでは、長年に渡って写真情報を閲覧・ダウンロードできるサーバ環境を運営する必要があったが、本実施形態ではそのような、サーバ管理やコストの無駄を省ける。このような本発明の効果は様々なコンテンツ分野に利用でき、サーバ構築・管理を継続する責任から逃れることができる大きなメリットを有する。正に売り切りのビジネスモデルを展開できる。
なお、スマートフォンその他のシステムが高品質な写真や10分程度の音声、数万文字以上のテキストを格納して、スマートフォンに複合QRコードを表示する際に、例えば、第1のコード(QRコード)の表示を固定し、異なる複数の第2のコード(ドットコード)を所定時間ずつ表示することにより多量な情報を生成できる。読み取り装置が複合QRコードリーダーで点滅する時系列ドットコードを読み取る場合、一度だけ、QRコードを読み取るだけで、その後は、ドットコードのみを読み取ることにより高速に処理できる。撮影時の手振れが生じた場合に、読み取り装置がタイミングパターンやアライメントパターンの撮像位置の変化を追跡し、都度、検出したドット位置の補正を行えば、ドットコードを正確に読み取ることができる。複合QRコードをスマートフォンに表示し、他のスマートフォン等の読み取り装置で当該複合QRコードを読み取る場合、ドットコードに格納できる1回の情報量は0.85K程度であるが、2〜3秒間にドットコードを24回程度、変化させる時系列ドットコードとカラードットコードにより、読み取り装置は、20KB以上の情報量を取得することができる。これを写真データで再現すると、読み取り側のスマートフォンで表示した場合、ユーザは十分に高品質な画像として閲覧でき、表示側のスマートフォンは、7万文字を超えるテキスト情報も送信できる。
(ドットコードのカラー化)
前述のようにドットのカラー化により、複合QRコードの情報量をさらに増大することが可能である。読取り装置ではドットの色をRGBで読み取るため、色の表示が機種毎に異なるどのようなディスプレイでも、少なくとも赤(R)、緑(G)、青(B)、黄(RGの混色)、シアン(GBの混色)、マゼンダ(RBの混色)、黒、白(ドット無し)を識別することができ、それだけで、1ドット当り3bitが増加させることができる。つまり、1セル当りの情報量が3倍になる。現在、符号可変長技術を用いれば、情報量をさらに2倍、つまり6倍程度に増加できる可能性が高い。この結果、システムは、時系列ドットコードの時間変化と併用して、カラードットコードを時間変化させることにより、QRコードの数100倍を超える多量の情報を送信できる。このことから、解像度および色数が小さく尺が短ければ、システムはアニメーションの送信も可能である。システムが複合QRコードを時間変化させるような場合、電子認証の実行は最初の複合QRコードに格納されたコンテンツのみでもよい。さらに、コンテンツ部分を電子認証しないケースが有ってもよい。これらの処理は、アニメーションだけではなく、多量のテキストや高解像度の画像の授受に適用してよい。
(情報取得、情報提供サービスへの適用)
情報取得の実施例としては、例えば、ユーザはサイネージとしてポスター印刷やディスプレイに表示された複合QRコードから、様々な情報を直ぐに取得できる。通常、ユーザは、無線通信回線、有線通信回線、専用回線、あるいはインターネット等の公衆回線等を使用して情報を取得する。しかし、ユーザは様々な媒体上の複合QRコードの読み取りを通じて、そのような通信環境が無くてもどこでも無償で情報を取得できる。さらに、アプリに翻訳・通訳等の出力機能を備えれば、1つの複合QRコードで取得した様々なコンテンツを世界各国の人の利用が可能となる。一方、媒体が各国語のテキストや少量の音声データや画像を識別できるように媒体に形成された複合QRコードに格納し、読み取り装置が媒体から複合QRコードを読み出すことで、アプリに翻訳・通訳機能を搭載していなくても必要な言語のテキスト・画像の表示や音声の再生が可能となる。当然、複合QRコードをディスプレイに表示して、時系列ドットコードやカラードットコードを使用すれば、容量の小さなアニメーションも同様に各国語用のデータにローカライズして複合QRコードに格納することが可能となり、ユーザはインターネットや翻訳アプリを使用せずとも各国のコンテンツを取得できる。
写真取得の実施例としては、プリクラ(登録商標)や証明写真等の撮影ボックスで撮影した自身の写真を複合QRコードに格納させ、撮影ボックスのディスプレイに当該複合QRコードを表示させて、自身のスマートフォンで撮影することにより、写真のデータを取得できる。インターネットにより撮影した写真を提供するサービスがあるが、撮影した写真は個人情報でありインターネットでは漏洩する可能性があるが、複合QRコードにより漏洩を防ぐことができる。高品位の写真を提供するため、カラードットコードや時系列ドットコードを使用するのが望ましい。
音声取得の実施例では、情報提供側のシステムが書籍、雑誌、教科書、絵本、カタログ、チラシ、新聞、ポスター、パッケージ、シール、処方箋等、様々な印刷媒体に、音声情報が格納された複合QRコードを印刷して配布することで、ユーザがスマートフォンで読取り、音声再生できる。なお、スマートフォンで設定された言語で音声情報が再生されてもよいし、他言語を設定して音声情報を再生してもよい。なお、情報提供側のシステムが音声だけでなくテキストや画像等の情報を格納して、ユーザがそれらの情報を取得できることは言うまでもない。さらに、アプリに翻訳・通訳等の出力機能を備えれば、1つの複合QRコードで取得した様々な音声コンテンツの世界各国での利用が可能となる。一方、各国語の音声データを識別できるように媒体に形成された複合QRコードに格納することで、スマートフォン等のシステムは、アプリに翻訳・通訳機能を搭載していなくてもユーザ所望の言語で音声を再生できる。当然、システムが複合QRコードをディスプレイに表示して、時系列ドットコードやカラードットコードを使用すれば、容量の小さなアニメーションも同様に各国語用のデータにして複合QRコードに格納することが可能となり、ユーザは、スマートフォン等の携帯端末で複合QRコードを読み取ることで、各国のコンテンツを取得できる。なお、本実施例では、複合QRコードを媒体に印刷された印刷媒体としているが、様々な媒体に刻印により複合QRコードを生成してもよい。さらに、簡易な点字をドットコードの一部に形成し、格納されている情報を点字で表現してもよい。
(ゲームでの利用)
ゲームの実施例では、ユーザはキャラクタやアイテムが格納された複合QRコードを自身のスマートフォンで表示し、提供する相手のスマートフォンで読み取らせることにより交換ができる。その結果、人と人との対面によるコミュニケーションにより新感覚のゲームが開発できる。また、情報提供側のシステムがキャラクタやアイテムの他、スポーツ選手、芸能人等をカード表面に印刷したトレーディングカードやゲームカードの表面または裏面の少なくともいずれかに複合QRコードを印刷し当該カード特有のテキスト、画像、音声等の情報を格納し、ユーザが取得できるようにしてもよい。さらに、送付者側システムがグリーティングカードに複合QRコードを印刷すると、送付者を撮影した写真や動画、図形、相当量のテキスト等も送付先で取得することができる。ここで、送付者側システムはインターネットに送付する情報を複合QRコードにアップしてもよい。一方、それらの情報を格納した複合QRコードをユーザが印刷できるようにすれば、インターネットを使用せずとも、紙媒体を介して送付者からの情報を送付先で取得できる。但し、印刷された複合QRコードでは、情報量に限りがあるので、動画や高精細の写真は難しいと言える。
(アプリのコード化)
時間変化させる時系列ドットコードやカラードットコードにより、読み取り装置は膨大な情報を取得できることから、アプリを複合QRコードに格納し、ダウンロードすることなく簡便にアプリをインストールすることもできる。すなわち、インターネットを使用できない環境であってもアプリをインストールできるだけでなく、クラウドやサーバに登録し運営することなくアプリを、様々な媒体(紙媒体、放送媒体等)を通じて無経費で継続的に提供できる。正に売り切りのビジネスモデルを展開できる。
(複合QRコード発行システム)
偽物オンラインショッピングやクレジットカード情報のハッキング等、偽装QRコードが多大な被害をもたらしている。
そこで、複合QRコードの公式発行機関を設け、複合QRコード使用者(事前に公式発行機関が承認した使用者)がURL等のデータを公式発行機関に送信すると、ドットコードに電子署名された複合QRコードが生成され使用者に提供される。使用者は、複合QRコードであることを示す認定マーク(認定マークをQRコードの中央に配置してもよい)と共に、その複合QRコードを印刷またはディスプレイに表示して使用する。公式発行機関は、複合QRコードの読取りアプリを無償でユーザに提供する。ユーザは認定マークがあれば、当該アプリで複合QRコードを読取り真贋判定できる。事業モデルは、i)複合QRコード使用者承認手続き、ii)複合QRコード発行、iii)複合QRコードの読取りアプリ使用時の広告費等で課金できる。
個人を特定して電子認証や様々なサービスを享受する場合、個人IDとして公式発行機関より、複合QRコードを発行してもよい。個人ID複合QRコードには、本人の名前、生年月日、住所、写真等、個人の基本情報が登録される。その他、クレジットカード情報や銀行口座、免許証や健康保険証等の証明書の情報を登録してもよい。個人ID複合QRコードリーダーは、公式発行機関が承認した法人に対してのみ提供するようにし、その専用リーダーは使用記録等、厳重に追跡調査ができるように管理してセキュリティを確保すればよい。本人認証では、システムは、名前、生年月日、住所、写真等による確認で済むため、汎用の複合QRコードリーダー(アプリ)を使用して、使用後には、本人情報が直ちに削除され本人情報の漏洩を防ぐようにすればよい。
図47〜図54のフローチャートでは、各種データの符号化情報を暗号化した暗号化情報を複合QRコードに格納して、暗号化された符号化情報に対応するデータの真贋判定の実施を示している。一方、印刷時の情報欠落や汚れ、複合QRコードの撮影状態等で読み取った複合QRコードが、作成時の複合QRコードとは完全に一致しないことが多々ある。ディスプレイに表示された複合QRコードも複合QRコードの撮影状態等で同様に一致しないことがある。そこで、図55〜図56のフローチャートでは、真贋判定は完全にできないものの、誤り訂正符号により、誤り訂正が適正に実施できたかを容易に判定できる方法を示している。
<変形例>
上記図47から図56では、管理サーバMS1が複合QRコードを生成し、ユーザ装置UD1が複合QRコード読み取り・認証処理を実行したが、上記処理は、管理サーバMS1とユーザ装置UD1との関係に限定される訳ではない。すなわち、上記複合QRコード読み取り・認証処理は、管理サーバMS1とコンテンツサーバCS1、CS2等の間で実施してもよい。また、上記複合QRコード読み取り・認証処理は、コンテンツサーバCS1、CS2等と、ユーザ装置UD1、UD2との間で実施してもよい。また、上記複合QRコード読み取り・認証処理は、ユーザ装置UD1とユーザUD2との間で実施してもよい。すなわち、上記複合QRコード読み取り・認証処理は、情報を提供する側とデータを取得する側との間で、複合QRコード中のQRコードで提示される情報の正当性を認証するためのいかなる処理にも適用可能である。
[実施形態7]
以下、図57から図60を参照して、実施形態7におけるオンラインで処理される真贋判定システムを説明する。
<オンラインによる複合QRコード真贋判定システム>
(1)スマートフォンに複合QRコード読取りアプリをダウンロードインストールすると、当該スマートフォンIDを取得でき、認証サーバで逐次、認証するため、どのスマートフォンで何時、複合QRコード読取りアプリを読み取ったかが分かる。さらにGPSと連動すると何処で読み取ったかも分かり、それらのログを取得し、詳細なマーケッティングに使用できる。
(2)認証サーバによる複合QRコードの認証では、必ず認証サーバでの認証が不可欠となることから、認証毎に複合QRコード発行依頼企業に対して、課金ビジネスモデルが展開できる。
(3)複合QRコードから読み取ったハッシュ値と電子署名を認証サーバに送信すると、電子署名を復号して求まるハッシュ値と受信したハッシュ値を照合することにより公開鍵を使用しなくても複合QRコードの真贋判定が可能となる。
(処理例6)
処理例6は、処理例4をオンライン認証に適用した場合の処理である。図57は、QRコード用データとドットコード用デー;タで形成されるデータ列の暗号化情報をドットコードにコード化し、真贋判定のための複合QRコード生成方法を例示するフローチャートである。図57で、複合QRコードを生成するT111、T112、T113、およびT114の処理は、図53のT71からT74と同様である。生成された複合コードは、例えば、管理サーバMS1を介して、ユーザ装置UD1に提供される。
図58は、複合QRコード読み取り・認証処理を例示するフローチャートである。この処理では、ユーザ装置UD1は、読取り装置で複合QRコードを読み取る(T121)。次に、ユーザ装置UD1は、QRコード用データとドットコード用データをデータ列として符号化手段(例:ハッシュ関数)で符号化情報(例:ハッシュ値)を計算し、認証サーバに送信する(T122)。ここで、認証サーバは、例えば、図32に例示した管理サーバMS1、コンテンツサーバCS1等、ネットワークでアクセス可能なサーバ装置である。次に、ユーザ装置UD1は、ドットコードから取得した暗号化情報を認証サーバに送信する(T123)。
次に、認証サーバは、符号化情報と復号化情報を照合する(T124)。そして符号化情報と復号化情報とが一致した場合、認証サーバは、複合コードによる認証が成功したと判定し、対応する処理を実施する(T125)。T125の処理は、T25、T44、T66、T85の処理と同様であるので、その詳細を省略する。
一方、T124で両方の照合が一致しない場合、認証サーバは、複合コードによる認証が失敗したと判定し、結果をユーザに通知する(T126)。
以上述べたように、処理例6によれば、複合QRコードによって、様々な認証処理、真贋判定処理、改ざん検知処理等をオンラインで実施できる。なお、上記では、管理サーバMS1はQRコード用データとドットコード用データで形成されるデータ列の暗号化情報をドットコードにコード化して複合コードを形成した。しかし、このような処理に代えて、管理サーバMS1は、QRコード用データとドットコード用データで形成されるデータ列の暗号化情報をQRコードにコード化して、ユーザ装置UD1が両方を復号化するようにしてもよい。
以上の処理では、認証サーバで行う認証は、秘密鍵を用いて行ってもよい。また、上記では、処理例4と同様に、QRコード用データとドットコード用データで形成されるデータ列の暗号化情報を用いた。しかし、このような処理に代えて、処理例1から処理例3の処理をオンライン認証に適用してもよい。
すなわち、処理例1のように、QRコードの暗号化情報をドットコードにコード化して認証サーバによるオンライン認証に適用してもよい。また、QRコードの暗号化情報をQRコードにコード化して、認証サーバによるオンライン認証に適用してもよい。
また、処理例2のように、ドットコードの暗号化情報をQRコードにコード化して認証サーバによるオンライン認証に適用してもよい。また、ドットコードの暗号化情報をドットコードにコード化して認証サーバによるオンライン認証に適用してもよい。
さらに、処理例3のように、QRコードの暗号化情報1とドットコードの暗号化情報2をそれぞれドットコードとQRコードとにコード化して認証サーバによるオンライン認証に適用してもよい。この場合に、QRコードの暗号化情報1をドットコードにコード化し、ドットコードの暗号化情報2をQRコードにコード化してもよい。逆に、QRコードの暗号化情報1をQRコードにコード化し、ドットコードの暗号化情報2をドットコードにコード化してもよい。また、QRコードとドットコードの暗号化情報をQRコードにコード化してもよい。
(処理例7)
図59は、QRコードとドットコードの符号化情報をQRコードにコード化する処理例である。この処理では、処理例5と同様に、暗号化は行われない。この処理では、複合QRコードを生成するT131、T132、T133の処理は、図55のT91からT93と同様である。生成された複合QRコードは、例えば、管理サーバMS1を介して、ユーザ装置UD1に提供される。
図60は、複合QRコード読み取り・認証処理を例示するフローチャートである。この処理では、ユーザ装置UD1は、読取り装置で複合QRコードを読み取る(T141)。次に、ユーザ装置UD1は、ドットコードから取得した符号化情報(例:ハッシュ値1)、および、読み取ったQRコード用データと読み取ったドットコード用データとで形成されるデータ列を認証サーバに送信する(T142)。
次に、認証サーバは、受信したデータのうち、ユーザ装置UD1で読み取られたQRコード用データとドットコード用データとで形成されるデータ列を符号化し、符号化情報(例:ハッシュ値2)を作成する。そして、ユーザ装置UD1でドットコードから取得した符号化情報(例:ハッシュ値1)と、認証サーバにおいて符号化したデータ列(例:ハッシュ値2)を照合する(T143)。そして符号化情報と復号化情報とが一致した場合、認証サーバは、複合コードによる認証が成功したと判定し、対応する処理を実施する(T144)。T144の処理は、T25、T44、T66、T85、T125の処理と同様であるので、その詳細を省略する。なお、対応する処理は、T25、T44、T66、T85、T125と同様の処理をユーザ装置UD1あるいはユーザ装置UD1がアクセスしているネットワーク上の他のサーバに許容するものでもよい。
一方、T143でハッシュ値1とハッシュ値2が一致しない場合、認証サーバは、複合コードによる認証が失敗したと判定し、結果をユーザに通知する(T145)。すなわち、この場合には、認証サーバは、ユーザ装置UD1あるいはユーザ装置UD1がアクセスしているネットワーク上の他のサーバに対して、T145で実行される処理を許容しない。
本処理例では、秘密の符号化手段で符号化情報を作成し、電子認証すれば、データ作成時の符号化情報の暗号化は必要ない。すなわち、ハッシュ値のみで認証が可能となる。
なお、処理例7のサーバ認証による電子認証は、処理例1から処理例3で説明したオフライン電子認証の全ての下記のケースに適用できる。
すなわち、QRコードの符号化情報を暗号化しないでドットコードにコード化して複合コードを作成し、オンライン認証に用いてもよい。また、QRコードの符号化情報をQRコードにコード化して、複合コードを作成し、オンライン認証に用いてもよい。また、ドットコードの符号化情報をQRコードにコード化して、複合コードを作成し、オンライン認証に用いてもよい。また、ドットコードの符号化情報をドットコードにコード化して、複合コードを作成し、オンライン認証に用いてもよい。また、QRコードとドットコードの符号化情報をドットコードとQRコードにコード化して、複合コードを作成し、オンライン認証に用いてもよい。また、QRコードとドットコードの符号化情報をQRコードとドットコードにコード化して、複合コードを作成し、オンライン認証に用いてもよい。また、QRコードとドットコードの符号化情報をQRコードにコード化して、複合コードを作成し、オンライン認証に用いてもよい。
[実施形態8:複合コードパターン]
上記実施形態1から実施形態7では、QRコードとQRコード中の明色セル(第1の色のセル)中に形成された暗色ドットコード(第2の色のドットコード)および暗色セル(第2の色のセル)中に形成された明色ドットコード(第1の色のドットコード)の少なくとも一方を複合QRコードによる処理が例示された。
しかし、上記実施形態1から7の処理を複合QRコード以外にも適用可能である。例えば、QRコードに代えて、バーコードを用いてもよい。すなわち、バーコードと、バーコードの暗色パターン間の明色部分に暗色のドットを含むドットコードを形成して複合コードとしてもよい。また、バーコードと、バーコードの暗色パターン部分に明色のドットを含むドットコードを形成して複合コードとしてもよい。
また、QRコードおよびバーコードの代わりに、単に、英数字、漢字、片仮名、平仮名等の文字列を用いて、複合コードとしてもよい。すなわち、英数字、漢字、片仮名、平仮名等の文字列の暗色パターン間の明色部分に暗色のドットを含むドットコードを形成して複合コードとしてもよい。また、英数字、漢字、片仮名、平仮名等の文字列の暗色パターン中に明色のドットを含むドットコードを形成して複合コードとしてもよい。また、赤外線による撮像装置を用いる場合には、また、英数字、漢字、片仮名、平仮名等の文字列の暗色パターンを通常の赤外線を吸収しないインクで形成し、ドットコードをカーボンブラック等の赤外線を吸収するインクで形成してもよい。そして、文字列の暗色パターンを可視光で読み取り、ドットコードを赤外線で読み取るようにしてもよい。
そして、バーコードでコード化されたデータを上記実施形態4と同様に、デジタル署名し、ドットコードでコード化すればよい。したがって、読み取り装置は、バーコードあるいは、文字列で提示される情報の正当性を認証することができる。複合コードがバーコードとドットコードで形成される場合には、バーコード読み取り装置とドットコード読み取り装置を使用すればよい。また、文字列とドットコードで形成される場合には、文字列を読み取るOCR(Optical Character Recognition/Reader)装置とドットコード読み取り装置を使用すればよい。
したがって、このような複合コードは、必ずしもQRコードに限定されるものではなく、次のように定義できる。
(複合コードの定義)
複合コードは、識別可能な2以上の色によってパターンがされた第1のコードと、
前記パターンが有する第1の色と識別可能な1以上のマークが配置された第2のコードと、を備えた複合コードパターンであって、
前記第2のコードは、前記第1のコードの少なくとも一部に対応する特定情報を含む複合コードパターン、として定義される。
ここで、識別可能な2以上の色によってパターンがされた第1のコードは、例えば、バーコード、あるいは英数字、漢字、片仮名、平仮名等の文字列である。2以上の色とは、例えば、バーコード、あるいは英数字、漢字、片仮名、平仮名等の文字列の色(1色以上)と、下地の色(媒体面の色)である。1以上のマークが配置された第2のコードとは、上記実施形態1から5に例示したドットコードである。また、第2のコードは、前記第1のコードの少なくとも一部に対応する特定情報を含むとは、実施形態4、5と同様、第2のコードが、第1のコードであるバーコード、あるいは英数字、漢字、片仮名、平仮名等の文字列等で表されるデータをデジタル署名したものであることが例示される。
[実施形態9:デジタル署名の変形]
上記実施形態6〜8では、例えば、秘密鍵で暗号化した暗号化情報と公開鍵で復号し、復号結果が暗号化前の符号化情報(ハッシュ値等)に一致した場合に、認証が成功したと判定された。しかし、実施形態6〜8の処理は、このような処理に限定される訳ではない。例えば、上記のような様々な認証処理、真贋判定処理、改ざん検知処理等において、秘密鍵と公開鍵による認証の他、QRコード等から生成された符号化情報と、符号化情報から作成されたデジタル署名とが所定の関係にあることを判定することで、認証が成功したと判定してもよい。このようなデジタル署名の手順として、Digital Signature Algorithm(DSA)、楕円曲線DSA、ElGamal署名等を用いてもよい。これらのデジタル署名の手順を用いる場合、認証を実行する主体(ユーザ装置UD1、認証サーバ等)は図48のT24のように、符号化情報と復号化情報が一致するか否かを判定する代わりに、デジタル署名の基になる符号化情報と、デジタル署名とが所定の関係にあるか否かが判定される。
[実施形態10]
(複合コードの読み取り精度の向上のための課題)
第1のコードがQRコードの場合では、位置検出パターン(ファインダパターン)でQRコードの領域および向きが定まり、タイミングパターンにより各セルの中央のXY座標値が計算される。しかし、QRコードが形成された媒体面に対してカメラの光軸が垂直でない場合(カメラが媒体に対して傾いている場合)や媒体が湾曲しているような場合では、QRコードが変形して撮像される。その変形の度合いにより、タイミングパターンにより計算される各セルの中央のXY座標値が許容限度を超えてずれて、隣接するセル内の座標値が求まってしまう場合がある。このようなセルの中央のXY座標値のずれが発生すると、セルの明暗の判定が正確に判定できない場合がある。そこで、QRコードでは、アライメントパターンにより、座標値を補正して各セルの中央のXY座標値の精度を高める工夫がなされている。その後、当該座標値の位置や近傍の所定の面積の領域が、明暗のいずれかであるかを判定して、QRコードに格納された数値データを取得する。この場合、中央座標値の精度は、当該セルの明暗が判定できるセル内であればよく、必ずしもセルの中央でなくてもよいレベルである。しかし、第1のコードのセルの中央の座標値を基に、セル内に形成された第2のコードのマークの配置で数値データを取得する場合には、当該マークの配置が適正に認識できる程度の精度が望まれる。そこで、精度を高めるために、第1のコードのセルの中央の座標値を所定の方法で補正するか、別途、第2のコードのマークの形状や配置から求めることが望ましい。
以下に、第2のコードのマークとしてドットを使用した場合のセル中央座標値の計算方法と数値データを取得する過程を説明する。図61は、セル内の情報ドットの配置候補位置を図62に示すように8か所配置した実施例である。図62は、1つのセル内のドットの配置位置を例示する図である。8か所のドットを配置するか否かで8bitの数値データを定義できる。ドットの配置は、同心円上に概ね等間隔(図では、45度毎)に配置されているため、配置位置の精度を確保するためには、2400dpi程度以上の高解像度の印刷機で印刷することにする。図61は、複合コードの一部を示した実施例であり、明色セルのみに情報ドットを配置してドットコードを形成している。なお、図示しないが情報ドットを暗色セルに配置してもよいし、両方に情報ドットを配置してもよい。図63は、QRコードの仕様にしたがって求めたセルの中央の座標位置が、セルの本来の中央からずれる画像の例である。図63の例では、十印で示した位置が第1のコード(図ではQRコード)でセルの中央として求められた座標位置であるが、セルの中央からずれていることが分かる。本実施形態では、このずれた位置を×印で示したセルの適正な中央座標値に補正する方法を説明する。
(セル中央座標値の計算)
1つのセルにおいて、P(X,Y)の十印から上下方向にセルの明暗が変化する境界を検索し、上下方向2個の境界座標値B1U(X,Y1U)とB1D(X,Y1D)を求める。ここで、Y座標の差分値Y1U−Y1Dは、第1のコードで取得したセルサイズと同程度であることから、上下方向1個の明色セルであることが分かり、X1C=X,Y1C=Y1D+(Y1U−Y1D)/2により、上下境界間の中心位置B1C(X1C,Y1C)が求まる。さらに、B1Cを起点に左右方向2個の境界座標値をB1L(X1L,Y1C)とB1R(X1R,Y1C)が求まる。ここで、X1R−X1Lは、第1のコードで取得したセルサイズと同程度であることから、左右方向1個の明色セルであることが分かり、X’1C=X1L+(X1R−X1L)/2とY’1C=Y1Cにより、左右境界間の中心位置B’1C(X’1C,Y’1C)が求まり、×印で示されたセルの中央座標値P’(X’1C,Y’1C)が求まる。
次に、他のセルにおいて、P(X,Y)の十印から上下方向にセルの明暗が変化する境界を検索し、上下方向2個の境界座標値をB2U(X,Y2U)とB2D(X,Y2D)を求める。ここで、Y座標の差分値Y2U−Y2Dは、第1のコードで取得したセルサイズと同程度であることから、上下方向には1個の明色セルであることが分かり、X2C=XとY2C=Y2D+(Y2U−Y2D)/2により、上下境界間の中心位置B2C(X2C,Y2C)が求まる。さらに、B2Cを起点に左右方向2個の境界座標値をB2L(X2L,Y2C)とB2R(X2R,Y2C)を求める。ここで、X2R−X2Lは、第1のコードで取得したセルサイズの2倍程度であることから、左右方向には2個の明色セルであることが分かり、線形補間してX’2C=X2L+(X2R−X2L)×1/4とY’2C=Y2Cにより、左右境界間の中心位置B’2C(X’2C,Y’2C)が求まり、×印で示されたセルの中央座標値P’(X’2C,Y’2C)が求まる。また、同様に線形補間してX’3C=X2L+(X2R−X2L)×3/4とY’3C=Y’2Cにより、P’(X’3C,Y3C)を求めてもよい。なお、前述と同様に、P(X,Y)を基にP’(X’3C,Y3C)を求めてもよい。さらに、P’からP’についても、前述と同様な方法で求めることができる。
(ドットの抽出と数値データの取得)
読み取り装置がドットを抽出しドットの中心点を求め、ドットコードの数値データを取得する方法を図64から図72で説明する。図64は、第2のコードの向き(第2のコードの規則として、向きは第1のコードと同一のものとしてもよい)と補正されたセル中央位置P0からの距離と方向で設定される仮想点P1〜P8を中心としたバウンディングボックスをドットのサイズと同程度で示した図である。この仮想点は第2のコードの規則にしたがった情報ドットの配置候補位置である。読み取り装置は、バウンディングボックス内にドットの中心座標値が含まれるか否かを判定して数値データを取得する。なお、バウンディングボックスの大きさは、隣接するバウンディングボックスと重複しなければ、ドットのサイズよりも大きくしてもよい。印刷精度や撮影環境等が悪く、撮像された画像のドットの中心座標値の精度が悪くても認識可能となる。ただし、大きくなった分だけ、インクの飛び等によるノイズ(エラー印刷)の影響を受ける可能性が高くなる。もちろん、取得するドットの中心座標値の精度が十分確保される場合は、バウンディングボックスの大きさは、ドットのサイズよりも小さくしてもよい。
図65は、例えば、上部ドット配置候補位置を先頭に右回りに桁を上げて2進数で01101001を定義したドットコードが形成された明色セルの例である。図66、図67は、C−MOSセンサー等により、当該セルを撮像した画像の例である。撮像とは、フレームバッファ等の記憶媒体に撮影された画像が記録されたこと、または記録する動作を言う。本画像は、説明を簡略化するために明暗の65段階(明色、黒色を含む)の濃淡で示している。通常は、濃淡のみで撮像する場合、8bitつまり256段階で記録される場合が多い。カラーでは、R、G、B各8bitで1,670万色で撮像される場合が多い。図66〜図69で、縦軸に付された数字1〜15は、画像の画素の行(走査線)を示す番号である。
読み取り装置は、本撮像画像から、ドットを抽出する場合、所定の絶対閾値を下回る濃淡値(例えば、255は白色、0は黒色とした場合に絶対閾値を60とすれば、60以下の濃淡値)の部分をドットであると判定してもよい。その場合、明色セル毎に明色セルのドットを除く所定の範囲の濃淡値の平均値から絶対閾値を設定するのが望ましい。すなわち、明色領域の濃淡値が低い場合は閾値を下げ、濃淡値が高い場合は閾値を上げるように可変にすればよい。その絶対閾値は、明色セルのドットを除く所定の範囲の濃淡値の平均値の例えば、20%〜40%とするのが望ましい。
図70は、画像から得られる濃淡値と絶対閾値との関係から、画像を2値化する処理例である。図で、縦軸は、例えば、図66の画像中の下から4行目の画素の行(走査線12)に対応する画素の明暗値(グレースケール値)であり、横軸は、水平方向に並んだ画素位置を例示する。また、図70で、○印に番号を付した数字は、各画素を識別する符号である。図70では、明色部分の平均値が200でその30%の60(一点鎖線)を絶対閾値とすると、画素(4)と(10)、(11)が2値化されて暗色となり、図69の下から第4行目の画素(ピクセル)のようにドットとして判定される。
一方、図67に示すように、走査線方向に濃淡値を取得して、閾値を明色部分からドット部分への濃淡値の変化率を相対閾値として使用してもよい。当該変化率を顕著にするため、撮像した画像の濃淡値を比較するピクセルを2〜3個程度先のピクセルの濃淡値と比較するのが望ましい。その変化率は、明色のピクセルの濃淡値に対してドットを形成するピクセルの濃淡値を40%〜60%程度以下として相対閾値を設定するのが望ましい。
図70では、走査線12において、比較するピクセル間で1ピクセル空けて、明色領域のピクセルの濃淡値に変化率α=0.5(50%)を乗じた相対閾値を設定し、走査線方向で相対閾値を下回る濃淡値のピクセルの場合は、(1)(0.5×255=127.5)と(3)(102)、(2)(0.5×255=127.5)と(4)(0)、(7)(0.5×255=127.5)と(5)(102)を比較して(3)、(4)、(5)が黒色で2値化され、(8)(0.5×255=127.5)と(10)(51)、(9)(0.5×255=127.5)と(11)(0)を比較して(10)、(11)が黒色で2値化されて、図68のようにドットとして判定される。以上のようにして、グレースケールのピクセルが黒色で2値化される。なお、黒色で2値化されたピクセルが発生した後から走査線方向に濃淡値が変化率を下回るピクセルが連続する場合は、当該ピクセルは黒色で2値化される。対象とするピクセルの濃淡値をBiとすると、i)αBi−n>BかつB<αBi+n、ii)αBi−n>BまたはB<αBi+nの2通りの判定方法がある。nは、対象ピクセルとn個離れたピクセルと比較することを示している。i)は対象とするピクセルBがドットであることを走査線上の左右の両方から相対閾値を満足するものであり、少し狭くドットとして判定される。一方、ii)は対象とするピクセルBがドットであることを走査線上の左右のいずれかからの相対閾値(変化率)を満足するものであり、少し広くドットとして判定される。その結果、図68は、閾値を甘くした場合(絶対閾値を高めか、相対閾値を小さくした場合)の結果である。図69は、閾値を厳しく場合(絶対閾値を低め、相対閾値を大きくした場合)の結果である。いずれの場合であっても、図71、図72のように、情報ドットの中心座標値がバウンディングボックス内に納まっており、読み取り装置(実施形態1から6参照)は、ドットコードで定義された数値データを取得できる。
なお、暗色(または明色)のドットの中心座標値D(Xc,Yc)は、2値化された暗色(または明色)のピクセルから形成されるドットの中心から計算され、暗色(または明色)に2値化されたn個(i=1〜n)のピクセルの座標値をD(X,Y)とすると、X=Σi=1〜n/n、Yc=Σi=1〜n/nで求まる。本計算は、他の実施例のドットの中心座標値の計算にも用いられてよい。
(基準ドットを暗色セルに配置した明色セル中央座標値の計算)
第1のコードで計算されたセル中央座標値を使用しないで、暗色セルに配置した明色の基準ドットから直接的にセル中央座標値を計算する方法を図73、図74で説明する。図73は、図62と同様にセル内の情報ドットの配置候補位置を設定した実施例である。図73においても、図62に示したように、明色セルのみに情報ドットが配置される。ただし、図73では、暗色セルのみに基準ドットを配置してドットコードを形成している。図73では、図示しないが情報ドットを暗色セルに、基準ドットを明色セルに配置してもよい。図73で、暗色セルに配置した明色の基準ドットは、第1のコードから計算された暗色セル内の中央座標値周辺の連続する暗色領域から明色ドットを容易に検索できる。第1のコードから計算された暗色セル内の中央座標値を使用しなくても、暗色領域が連続する領域に明色ドットが存在するかを検索してもよい。
図74は、第1のコードによってセルの中央として求められた座標位置がセルの本来の中央からずれている画像の例である。図74では、十印で示した位置が第1のコードによってセルの中央として求められた座標位置であるが、セルの中央からずれていることが分かる。このずれた位置から、×印で示したセルの適正な中央座標値を求める方法を以下、説明する。
先ず、読み取り装置は、暗色セルに配置した基準ドットの位置を検索する。検索の方法としては、読み取り装置は、第1のコードで求められた暗色セルの中央座標値を起点に周辺の暗色セル内から所定の閾値を用いて、基準ドットの濃淡度の高い領域を検索し、当該領域の中心位置を求め基準ドットの中心座標値としてもよい。次に、基準ドットの中心位置同士を上下・左右方向に仮想の直線で繋いで、その交点の座標を明色セルの中央座標値とする。交点の存在しない明色セルには、他の上下・左右方向で取得した交点から、内挿または外挿して求めればよい。
(基準ドットを明色セルに配置したセル中央座標値の計算)
第2のコードで明色セルの中央に基準ドットを配置し、その基準ドットを検索してセルの中央座標値を計算する方法を図75から図78で説明する。図76は、図62と同様にセル内の情報ドットの配置候補位置を設定し、さらに中央に基準ドットを配置した実施例である。図75は、複合コードの一部を示した実施例であり、明色セルのみに基準ドットと情報ドットを配置してドットコードを形成している。図示しないが基準ドットと情報ドットを暗色セルに配置してもよい。この基準ドットを認識することにより、基準ドットから距離および方向で配置されて数値データが定義される情報ドットの配置をより正確に認識することができる。
図77は、第1のコードによってセルの中央として求められた座標位置がセルの本来の中央からずれている画像の例である。図77では、十印で示した位置が第1のコードでセルの中央として求められた座標位置であるが、セルの中央からずれていることが分かる。このずれた位置から、×印で示したセルの適正な中央座標値を求める方法を以下、説明する。
先ず、読み取り装置は、明色セルに配置した基準ドットの位置を検索する。検索の方法としては、読み取り装置は、選択した第1のコードで求められた明色セルの中央座標値近傍のドットが基準ドットであるかを他の明色セルに配置されたドットとの配置関係から判定する。つまり、読み取り装置は、当該ドットから直線状に所定の間隔で配置されているドットであるか否かを判定すればよい。この条件を満足できない場合は、読み取り装置は、次に近傍のドットで上記条件を満たすかの判定を繰り返し、基準ドットを認識する。一方、読み取り装置は、図63で説明した方法でセル中央座標値を計算し、その座標値に最も近いドットを基準ドットしてもよい。なお、基準ドットを、情報ドットと大きさや形状、色、配置パターン(基準ドットは複数であってもよい)を異ならせることにより、上記のようなセル中心座標値の補正を掛けなくても、読み取り装置は、基準ドットを容易に認識できる。
なお、上記で示した基準ドットは必ずしも、セルの中央に配置されたドットでなくても、基準ドットとして判別できれば、セル内の何処に配置してもよい。図78は、第2のコードの向き(第2のコードの規則として、向きは第1のコードと同一のもととしてもよい)と基準ドットの中心位置P0からの距離と方向で設定される仮想点P1〜P8を中心とした円形のバウンディングボックスをドットのサイズと同程度で示した図である。この仮想点は第2のコードの規則にしたがった情報ドットの配置候補位置である。ここでは、読み取り装置は、バウンディングボックス内にドットの中心座標値が含まれるか否かを判定して数値データを取得する。なお、バウンディングボックスの仕様は図64と同様である。
(基準ドットを明色セルと暗色セルに配置したセル中央座標値の計算)
第2のコードで明色セルと暗色セルの中央に基準ドットを配置し、その基準ドットを検索してセルの中央座標値を計算する方法を図79および図80で説明する。図79は、複合コードの一部を示した実施例であり、明色セルと暗色セルに基準ドットを、明色セルのみに情報ドットを配置してドットコードを形成している。図示しないが情報ドットを暗色セルに配置してもよいし、両方に情報ドットを配置してもよい。暗色セルに配置した明色の基準ドットについては、読み取り装置は、第1のコードから計算された暗色セル内の中央座標値周辺の連続する暗色領域から明色ドットを容易に検索できる。読み取り装置は、第1のコードから計算された暗色セル内の中央座標値を使用しなくても、暗色領域が連続する領域に明色ドットが存在するかを検索すればよい。この基準ドットを認識することにより、基準ドットの中心位置からの距離および方向で配置されて数値データが定義される情報ドットの配置をより正確に認識することができる。
図80は、第1のコードによってセルの中央として求められた座標位置がセルの本来の中央からずれている画像の例である。図80では、十印で示した位置が第1のコードでセルの中央として求められた座標位置であるが、セルの中央からずれていることが分かる。このずれた位置から、×印で示したセルの適正な中央座標値を求める方法を以下、説明する。読み取り装置は、先ず、暗色セルに配置した基準ドットの位置を検索する。検索の方法としては、読み取り装置は、第1のコードで求められた暗色セルの中央座標値を起点に周辺の暗色セル内から所定の閾値を用いて、基準ドットの濃淡度の高い領域を検索し、当該領域の中心位置を求め基準ドットの中心座標値としてもよい。次に、基準ドットの中心位置同士を上下・左右方向に仮想の直線で繋いで、その交点の座標を明色セルの中央座標値とする。交点の存在しない明色セルには、他の上下・左右方向で取得した交点から、内挿または外挿して求めればよい。読み取り装置は、この明色セルの中央座標値近傍のドットを明色セルに配置した基準ドットの位置とする。なお、上記で示した基準ドットは必ずしも、セルの中央に配置されたドットでなくても、基準ドットとして判別できれば、セル内の何処に配置してもよい。
(基準ドットを明色セルに配置したセル中央座標値の計算(情報分割セルの場合))
第2のコードで明色セルの中央に基準ドットを配置し、その基準ドットを検索してセルの中央座標値を計算する方法の他の例を図81から84で説明する。図82は、明色セルを縦横4分割して16個の分割セルを生成し、中央の分割セル4個を除いて情報分割セルの配置候補位置を12か所に配置し、さらに明色セルの中央に基準ドットを配置した実施例である。ここで、図82のように、明色のセル(または暗色のセル)を分割し、基準ドットに接触しない、分割された領域(分割セルともいう)に形成される暗色(暗色のセルに対しては明色)の領域により情報を定義する場合の当該分割された暗色(暗色のセルに対しては明色)の領域を情報分割セルという。
明色セルに含まれる暗色領域を33%以下にした場合に配置できる情報分割セルの数は、(16/3)−1(基準ドット分)=4個であり、1個の明色セルに配置できる情報分割セル数は最大4個であり、定義できる数値データの情報量は、1212121212=794通りの組み合わせがある。つまり、29.63であり、9bit以上の数値データを定義できる。基準ドットは、中央に配置されているため、配置位置の精度を確保するためには、1200dpi程度以上の高解像度の印刷機で印刷することにする。
図81は、複合コードの一部を示した実施例であり、明色セルのみに基準ドットと情報分割セルを配置して分割セルコードを形成している。図示しないが基準ドットと情報分割セルを暗色セルに配置してもよい。この基準ドットを認識することにより、基準ドットの中心位置からの距離および方向で配置されて数値データが定義される情報分割セルの配置を正確に認識することができる。
図83は、第1のコードによってセルの中央として求められた座標位置がセルの本来の中央からずれている画像の例である。図83では、十印で示した位置が第1のコードでセルの中央として求められた座標位置であるが、セルの中央からずれていることが分かる。このずれた位置から、×印で示したセルの適正な中央座標値を求める方法は、図77で説明した通りである。
図84は、第2のコードの向き(第2のコードの規則として、向きは第1のコードと同一のものとしてもよい)と基準ドットの中心位置P0からの距離と方向で設定される仮想点P1〜P8を中心とした矩形のバウンディングボックスを情報分割セルのサイズの50%程度で示した図である。この仮想点は第2のコードの規則にしたがった情報分割セルの配置候補位置である。ここでは、読み取り装置は、バウンディングボックス内に情報分割セルで示される所定比率の暗色領域が含まれるか否かを判定して数値データを取得する。暗色領域の判定方法は、図66〜図70で説明したものと同様である。読み取り装置は、絶対閾値を設定し、バウンディングボックスを形成するピクセル数に対して、絶対閾値を下回る濃淡値のピクセル数が所定比率を超えていれば、情報分割セルとして判別する。印刷精度による基準ドットおよび情報分割セルの大きさに対して、20〜30%程度の印刷ずれを考慮して、所定比率は50〜75%程度以上が望ましい。なお、1個の情報分割セルが隣接するバウンディングボックスに含まれないように、読み取り装置は、バウンディングボックス間を所定距離離れるようにバウンディングボックスの大きさを設定することにする。本実施例では、情報分割セルのサイズの50%で設定しているが、複合コード撮影時のカメラの解像度等を考慮し設定することが望ましい。高解像度であれば、読み取り装置は、バウンディングボックスのサイズを認識時に可変にして、情報分割セルの認識率を高めてもよい。
(基準分割セルを明色セルに配置したセル中央座標値の計算)
第2のコードで明色セルの中央に基準分割セルを配置し、その基準分割セルを検索してセルの中央座標値を計算する方法を図85から図88で説明する。図86は、明色セルを縦横5分割して25個の分割セルを生成し、中央の分割セル9個を除いて情報分割セルの配置候補位置を16か所配置し、さらに中央に基準分割セルを配置した実施例である。図86のように、明色セル(または暗色のセル)を所定数に分割し、その分割された領域のいずれかに形成された暗色(暗色のセルに対しては明色)の領域により基準点を定義する場合の当該基準点を定義する分割された暗色(暗色のセルに対しては明色)の領域を基準分割セルという。同様に、セルを分割し他領域により情報を定義する場合の当該領域を情報分割セルという。
明色セルに含まれる暗色領域を33%以下にした場合に配置できる情報分割セルの数は、(25/3)−1(基準ドット分)=7個であり、1個の明色セルに配置できる情報分割セル数は最大7個であり、定義できる数値データの情報量は、1616161616161616=26,333通りの組み合わせがある。つまり、214.68であり、14bit以上の数値データを定義できる。また、明色セルに含まれる暗色領域を20%以下にした場合に配置できる情報分割セルの数は、(25/5)−1(基準ドット分)=4個であり、1個の明色セルに配置できる情報分割セル数は、最大4個であり、定義できる数値データの情報量は、1616161616=2,517通りの組み合わせがある。つまり、211.30であり、11bit以上の数値データを定義できる。なお、図45に示したように、1つのセルを5×5pixelで印刷することは、600dpiのプリンタでも印刷可能である。
図85は、複合コードの一部を示した実施例であり、明色セルのみに基準分割セルと情報分割セルを配置して分割セルコードを形成している。図示しないが基準分割セルと情報分割セルを暗色セルに配置してもよい。読み取り装置は、この基準分割セルを認識することにより、基準分割セルの中心位置からの距離および方向で配置されて数値データが定義される情報分割セルの配置を正確に認識することができる。
図87は、第1のコードによってセルの中央として求められた座標位置がセルの本来の中央からずれている画像の例である。図87では、十印で示した位置が第1のコードでセルの中央として求められた座標位置であるが、セルの中央からずれていることが分かる。このずれた位置から、×印で示したセルの適正な中央座標値を求める方法を以下に説明する。読み取り装置は、先ず、明色セルに配置した基準分割セルの位置を検索する。検索の方法としては、読み取り装置は、選択した第1のコードで求められた明色セルの中央座標値近傍の分割セルが基準分割セルであるかを他の明色セルに配置された分割セルとの配置関係から判定する。つまり、読み取り装置は、当該分割セルから直線状に所定の間隔で配置されている分割セルであるか否かを判定すればよい。この条件を満足できない場合は、読み取り装置は、次に近傍の分割セルで上記条件を満たすかの判定を繰り返し、基準分割セルを認識する。
一方、図66で説明した方法でセル中央座標値を計算し、その座標値に最も近いセルを基準分割セルとしてもよい。
図88は、第2のコードの向き(第2のコードの規則として、向きは第1のコードと同一のものとしてもよい)と基準分割セルの中心位置P0からの距離と方向で設定される仮想点P1〜P8を中心とした矩形のバウンディングボックスを情報分割セルのサイズの50%程度で示した図である。この仮想点は第2のコードの規則にしたがった情報分割セルの配置候補位置である。ここでは、読み取り装置は、バウンディングボックス内に情報分割セルで示される所定比率の暗色領域が含まれるか否かを判定して数値データを取得する。暗色領域の判定方法は、図66で説明したものと同様である。読み取り装置は、絶対閾値を設定し、バウンディングボックスを形成するピクセル数に対して、絶対閾値を下回る濃淡値のピクセル数が所定比率を超えていれば、情報分割セルとして判別する。読み取り装置は、印刷精度による基準ドットおよび情報分割セルの大きさに対して、20〜30%程度の印刷ずれを考慮して、所定比率は50〜75%程度以上が望ましい。なお、読み取り装置は、1個の情報分割セルが隣接するバウンディングボックスに含まれないように、バウンディングボックス間を所定距離離れるようにバウンディングボックスの大きさを設定する。本実施例では、読み取り装置は、情報分割セルのサイズの50%で設定しているが、複合コード撮影時のカメラの解像度等を考慮し設定することが望ましい。読み取り装置は、取得する画像が十分に高解像度であれば、バウンディングボックスのサイズを認識時に可変にして、情報分割セルの認識率を高めてもよい。
(基準分割セルを暗色セルに配置した明色セル中央座標値の計算)
第1のコードで計算されたセル中央座標値を使用しないで、暗色セルに配置した明色の基準分割セルから直接的にセル中央座標値を計算する方法を図89から図92で説明する。図90は、明色セルを縦横5分割して25個の分割セルを生成し、中央の分割セル1個を除いて情報分割セルの配置候補を24か所配置した実施例である。明色セルに含まれる暗色領域を33%以下にした場合に配置できる情報分割セルの数は、25/3=8個であり、1個の明色セルに配置できる情報分割セル数は、最大8個であり、定義できる数値データの情報量は、242424242424242424=1,271,626通りの組み合わせがある。つまり、220.28であり、20bit以上の数値データを定義できる。また、明色セルに含まれる暗色領域を20%以下にした場合に配置できる情報分割セルの数は、25/5=5個であり、1個の明色セルに配置できる情報分割セル数は、最大5個であり、定義できる数値データの情報量は、242424242424=55,455通りの組み合わせがある。つまり、215.76であり、15bit以上の数値データを定義できる。なお、図45に示したように、600dpiのプリンタで印刷可能である。なお、600dpiよりも高解像度の印刷機で印刷できることは言うまでもない。
図89は、複合コードの一部を示した実施例であり、明色セルのみに情報分割セル、暗色セルのみに基準分割セルを配置して分割セルコードを形成している。図示しないが情報分割セルを暗色セルに、基準分割セルを明色セルに配置してもよい。読み取り装置は、暗色セルに配置した明色の基準分割セルを第1のコードから計算された暗色セル内の中央座標値周辺の連続する暗色領域から明色分割セルを容易に検索できる。読み取り装置は、第1のコードから計算された暗色セル内の中央座標値を使用しなくても、暗色領域が連続する領域に明色分割セルが存在するかを検索してもよい。
図91は、第1のコードによってセルの中央として求められた座標位置がセルの本来の中央からずれている画像の例である。図91では、十印で示した位置が第1のコードでセルの中央として求められた座標位置であるが、セルの中央からずれていることが分かる。このずれた位置から、×印で示したセルの適正な中央座標値を求める方法を以下、説明する。読み取り装置は、先ず、暗色セルに配置した基準分割セルの位置を検索する。検索の方法としては、読み取り装置は、第1のコードで求められた暗色セルの中央座標値を起点に周辺の暗色セル内から所定の閾値を用いて、基準分割セルの濃淡度の高い領域を検索し、当該領域の中心位置を求め基準分割セルの中心座標値としてもよい。次に、読み取り装置は、基準分割セルの中心位置同士を上下・左右方向に仮想の直線で繋いで、その交点の座標値を明色セルの中央座標値とする。読み取り装置は、交点の存在しない明色セルには、他の上下・左右方向で取得した交点から、内挿または外挿して求めればよい。
図92は、第2のコードの向き(第2のコードの規則として、向きは第1のコードと同一のものとしてもよい)とセル中央位置P0からの距離と方向で設定される仮想点P1〜P24を中心とした矩形のバウンディングボックスを情報分割セルのサイズの50%程度で示した図である。この仮想点は第2のコードの規則にしたがった情報分割セルの配置候補位置である。読み取り装置は、バウンディングボックス内に情報分割セルで示される所定率の暗色領域が含まれるか否かを判定して数値データを取得する。暗色領域の判定方法とバウンディングボックスの仕様は、図86から図88で説明した通りである。なお、明色セル中央にも暗色の基準分割セルを配置してもよい。読み取り装置は、暗色セルに配置した基準分割セルにより求まった明色セルの中央座標値近傍の暗色の分割セルを明色セルに配置した基準分割セルの位置として、基準分割セルの中心位置からの距離と方向で設定される仮想点P1〜P24を中心とした矩形のバウンディングボックスとして数値データを取得してもよい。その場合は、明色セル内に配置できる情報分割セル数が1個減り、情報量が減ることになる。
本実施例では、1セルで多量の数値データが定義することができるが、セル中央の座標値が正確に求められることの他、所定のカメラの撮像解像度、印刷精度を確保しなければならない。それらが十分ではない場合は、誤認の発生率が高くなる。それを解消するには誤り訂正符号を多量に形成する必要があるが、大幅に情報量が減ることになる。図93では、図90の情報分割セル候補配置位置を上下左右に隣り合わないように12か所配置した実施例である。これにより、図94のバウンディングボックスで、本来、存在しない位置に情報分割セルを認識した場合は、エラーとする。エラーを認識できれば、誤り訂正符号が少なくて済み、データ格納量を増加することができる。さらに、図95〜図102のように、バウンディングボックスを移動して、本来、分割セルが存在しない位置に分割セルを認識しなくなれば、正しくバウンディングボックスが設定されたことになり、そこで数値データを取得すればよい。ここで得られたバウンディングボックスの移動量は他のセルでも使用できる。なお、図95〜図102のバウンディングボックスの移動は、さらに段階的に移動させてもよい。図90の情報分割セル候補配置位置は、情報分割セル候補配置位置が隣接しなければどのような配置でも構わない。
(複合コード生成処理)
実施形態10における複合コード生成処理は、セルに基準点が設定される点を除いて、実施形態1から実施形態9と同様である。したがって、実施形態10における複合コード生成処理は、図47、図49、図51、図53、図55、図57、図59で例示した処理がそのまま踏襲される。ただし、これらの処理において、管理サーバMS1等は、望ましいセル(すなわち、基準点を設定すべきセル)に基準点を設定すればよい。管理サーバMS1等は、例えば、第2のコードの生成時に、第2のコード内に基準点を含めればよい。
<バウンディングボックスの設定>
セル中央座標値が正確に求まると、数値データを取得するためのバウンディングボックスを正確に設定する必要がある。図64のように、バウンディングボックスの中心となる仮想点P1〜P8は、セル中央位置P0からの距離と方向による幾何学的配置関係により定義される。この幾何学的配置関係は、複合コード読取り装置の記憶媒体や第2のコードから数値データを取得するソフトウェアに記録される。一方、図103では、図61の複合コードの左上の明色セルに示したように、所定の位置のセル内に複数の基準ドットでセル中央位置P0と仮想点P1〜P8による幾何学的配置関係(基準パターン)を形成して認識してもよい。これにより、複合コードをカメラで撮像した画像から直接、基準パターンを取得することができ、より正確にバウンディングボックスを設定でき、数値データを取得することができる。図示しないが、基準パターンは暗色セル(明色基準ドット)でも明暗色の両方に形成してもよい。第1のコードがQRコードの場合では、位置検出パターン(ファインダパターン)やタイミングパターン、アライメントパターン、フォーマット情報が形成される所定のセルに配置してもよい。ここで、セルサイズが0.3×0.3mmの場合、ドットの直径を0.045mmとすると、ドットがセル内に占める割合は、π×(0.045/2)×9/(0.3×0.3)=0.159(15.9%)となり20%以下であり、QRコードの読取りには全く支障がない。しかし、QRコード最小のセルサイズの0.169×0.169mmの場合では、ドットがセル内に占める割合は33%を超えてしまい、QRコードの読取りに支障をきたす。その場合は、基準パターンを上下方向の仮想点と斜め方向の仮想点に分けて、図104のように、図74の複合コードの右上の1段目と2段目の暗色セルにそれぞれ5個の基準ドットにより2種のパターンを形成すればよい。これにより、ドットがセル内に占める割合は、π×(0.045/2)×5/(0.169×0.169)=0.278(27.8%)となり33%以下であり、QRコードの読取りには支障がない。この2種のパターンを合成して基準パターンとして使用すればよい。もちろん、基準パターンを3種以上に分解して複数のセルにパターンを形成してもよいし、暗色セル(明色基準ドット)または明色セル(暗色基準ドット)の少なくともいずれかに配置してもよい。これらの複数の異なるパターンをそれぞれ独立した基準パターンとして、それぞれに対応する異なる配置パターンの情報ドットが形成されたセルに対して、対応するバウンディングボックスを設定して数値データを取得してもよい。
図105では、図77の複合コードに基準パターンを形成した実施例であるが、情報ドットが配置される明色セルには中央にドットが配置されていないため、基準パターンを容易に認識できる。また、明色の基準ドットが中央に配置される暗色セルに基準パターンを形成する場合、基準ドットの数で基準パターンを容易に認識できる。なお、基準パターンは暗色セル(明色基準ドット)でも明暗色の両方に形成してもよい。
図106では、図80の複合コードの明色および/または暗色のセルの所定間隔毎に基準パターンを複数配置した実施例である。これにより、QRコードが変形して撮像されて領域毎に変形の度合いが変化しても、撮像した複数の基準パターンで、その周辺のセルに形成される第2のコードのバウンディングボックスを設定すれば、より正確に数値データを取得することができる。本実施例では、数値データを定義する情報ドットは、セルの中央位置P0が正確に取得できることから中央の基準ドットを配置していないため、基準パターンを容易に認識できる。基準ドットを配置する場合は、予め定められた配置のセルに形成すればよい。なお、図61〜図78および図79〜図92のいずれの実施例でもセルの所定間隔毎に基準パターンを複数配置してもよい。
図107では、図83の複合コードに周辺が暗色セル(または明色セル)で囲まれた暗色セル(または明色セル)内に、図84の中心位置がP0となる明色(または暗色)の基準ドットと、中心位置がP2、P5、P8、P11となる明色(または暗色)の基準分割セルによる基準パターンを形成した実施例である。P2、P5、P8、P11の中心座標値を取得することによりP1、P3、P4、P6、P7、P9、P10、P12の中心位置を補間計算して、仮想点P1〜P12を中心とするバウンディングボックスが設定できる。また、中央の基準ドットを基準分割セルに代えて、図87の複合コードにおいて、同様に基準パターンを形成してもよい。さらに、この基準パターンを形成する基準ドットおよび/または基準分割セルの大きさを同一または認識し易い大きさとし、間隔のみを所定倍数を掛けて形成(相似拡大)し、それらの中心座標値を取得した後に、当該間隔を所定数で除すること(相似縮小)により適切な配置の基準パターンを取得して、セル中央位置からの距離と方向によるバウンディングボックスの中心となる仮想点との幾何学的配置関係を高精度で取得することができる。なお、図61〜図78、図89から図92のいずれの実施例でも同様な形態が可能であることは言うまでもない。
図108では、図91の復号パターンの右上の1段目と2段目の暗色セルにそれぞれ5個の明色の基準分割セルにより2種のパターンを形成した実施例である。右上1段目のパターンには中央と上下・左右方向に基準分割セルが形成され、右上2段目のパターンには中央と斜め方向に基準分割セルが形成されている。先ず、右上1段目のパターンの中央と上下方向に形成された基準分割セルに対しては、図70のように、走査線方向に2値化処理を行い、左右方向に形成された基準分割セルに対しては、垂直方向に2値化処理を行い、図92に示すP10、P14、P18、P22の基準分割セルの中心座標値を求めた後、中央の基準分割セルの中心座標値P0から十字方向の4個の基準分割セルの中心座標値に向かって直交する2本の直線を2等分するP0を通る2本の斜線によって4方向を求める。次に、右上2段目のパターンの中央と斜め方向に形成された基準分割セルに対しては、中央の基準分割セルの中心座標値P0から、右上1段目のパターンで求められた斜め4方向で2値化処理を行い、P12、P16、P20、P24それぞれの基準分割セルの中心座標値を求める。最後に、この2種のパターンを合成して、P0およびP10、P12、P14、P16、P18、P20、P22、P24を基に補間して、P1〜P8、P9、P11、P13、P15、P17、P19、P21、P23を求めて基準パターンとして、バウンディングボックスを設定し数値データを取得すればよい。なお、上記の2値化処理はどのような方法を用いてもよいし、基準パターンを形成するパターンは暗色セル(明色基準分割セル)または明色セル(暗色基準分割セル)の少なくともいずれかに配置してもよい。ここで、基準パターンを形成するパターンの基準分割セルがセル内に占める割合は、セルサイズが0.212×0.212mmの場合、分割セルの辺長を0.045mmとすると、0.045×5/(0.212×0.212)=0.225(22.5%)となり33%以下であり、QRコードの読取りには支障がない。
以上、QRコードが形成された媒体面に対してカメラの光軸が垂直でない場合(カメラが媒体に対して傾いている場合)や媒体が湾曲しているような場合では、QRコードが変形して撮像されるため、補正はしているものの、正確なセル中央の座標値を取得できないため、正確なセル中央の座標値の取得とセル内に形成された基準パターンにより、セルに定義された数値データを誤認なく取得する方法を説明した。ここで、図74、図80、図91、または他の方法では、基準ドットまたは基準分割セルにより格子線を描くことができる。この格子線で囲まれた領域は、当該位置近傍のセルの大きさ・形状を表しており、セルの変形状況を、セル中央位置からの距離と方向によるバウンディングボックスの中心となる仮想点との幾何学的配置関係に反映させてバウンディングボックスの配置を補正し、当該位置近傍の情報ドットや情報分割セルの認識に用いてもよい。これにより、QRコードが変形して撮像されて領域毎に変形の度合いが変化しても、領域毎に格子の形状による補正であり、複合コードに基準パターンを形成することなく、複合コード読取り装置の記憶媒体や第2のコードから数値データを取得するソフトウェアに記録され、幾何学的配置関係を用いて補正すればよい。なお、格子線によるバウンディングボックスの配置の補正は、他の実施例と組み合わせて使用してもよい。さらに、格子線を生成する手段として、明暗のセルの境界を検出して、その境界に沿って格子線を引いてもよい。ただし、印刷の精度やQRコードを撮影した際の撮像画像が回転・変形していると、明暗を示すピクセルの境界部分が凸凹になってしまうため、それらを平滑化または平均化して格子線を形成した方が望ましい。
図示しないが、基準点を示すマークの形状、大きさ、色、向き、配置パターンの少なくともいずれか1つにより、基準点を示すマークが形成されたセルに数値データが定義されてもよい。
<第2のコードの向きの設定>
第2のコードの数値データを取得する際には、第1のコードの向きを使用することを前提にした実施例を示してきた。しかし、QRコードが形成された媒体面に対してカメラの光軸が垂直でない場合(カメラが媒体に対して傾いている場合)や媒体が湾曲しているような場合では、QRコードが変形して撮像されて領域毎に変形の度合いが変化し、セル毎の向きも変化する可能性がある。また、第1のコードとは無関係に、第2のコードのみを取得する場合もある。そこで、第2のコード自身で向きを設定する実施例を説明する。
図109は、図74の複合コードの所定の基準ドットの上方にディレクションドットを加え、第2のコードの向きを設定した実施例である。ディレクションドットの配置は、予め第2のコードの向きとの対応関係を定めておけば、基準ドットに対してどの方向でもよい。ディレクションドットと基準ドットの識別は、セルの中心に有るか否か、または基準ドットを繋ぐことによって形成される格子線上に位置するか否かによって容易に判別できる。また、ディレクションドットは、どのように配置してもいいが、所定間隔で配置することにより、撮像されたQRコードの変形の度合いを反映させて、セルの向きを補正し、正確な数値データの取得を実現する。つまり、セルの向きに合わせて、セル中央位置からの距離と方向によるバウンディングボックスの中心となる仮想点との幾何学的配置関係を回転させてバウンディングボックスの配置を補正し、当該位置近傍の情報ドットや情報分割セルの認識に用いる。なお、上記のディレクションドットを形成したセル中央の基準ドットを削除してもよい。その場合、基準ドットを繋ぐことによって形成される格子線の交点より上方にディレクションドットが位置することによって、容易に向きを認識できる。また、セル内の所定の位置にディレクションドットを形成することにより、第2のコードの向きを設定してもよい。図示しないが、向きを認識できる2個以上のドットの配置によって向きを設定してもよい。さらに、向きの設定はディレクションドットに代えて分割セルを用いてもよいし、マークの形状によって向きを設定できるマークを用いてもよい。また、情報ドットや情報分割セルの形成において、向きを認識できる特定の配置を設定してもよい。
図110は、図104の複合コードに設けた基準パターンを構成する基準ドットの配置を変えて、第2のコードの向きを設定した実施例である。つまり、右上の1段目と2段目の暗色セルにそれぞれ5個の基準ドットで形成した2種のパターンは、いずれも非回転対称であり向きを設定できる。この2種のパターンを合成すると基準パターンが形成されることから、基準パターンに方向機能を付加した実施例となる。図109および図110の実施例は、明色、暗色セルの少なくともいずれかに形成することができ、他の実施例と組み合わせて使用できることは言うまでもない。
[コンピュータが読み取り可能な記録媒体]
コンピュータその他の機械、装置(以下、コンピュータ等)に上記いずれかの機能を実現させるプログラムをコンピュータ等が読み取り可能な記録媒体に記録することができる。そして、コンピュータ等に、この記録媒体のプログラムを読み込ませて実行させることにより、その機能を提供させることができる。
ここで、コンピュータ等が読み取り可能な記録媒体とは、データやプログラム等の情報を電気的、磁気的、光学的、機械的、または化学的作用によって蓄積し、コンピュータ等から読み取ることができる記録媒体をいう。このような記録媒体のうちコンピュータ等から取り外し可能なものとしては、例えばフレキシブルディスク、光磁気ディスク、CD−ROM、CD−R/W、DVD、ブルーレイディスク、DAT、8mmテープ、フラッシュメモリなどのメモリカード等がある。また、コンピュータ等に固定された記録媒体としてハードディスク、ROM(リードオンリーメモリ)等がある。さらに、SSD(Solid State Drive)は、コンピュータ等から取り外し可能な記録媒体としても、コンピュータ等に固定された記録媒体としても利用可能である。
[実施形態11]
下記に示す実施例は、セルが配列状に形成され、少なくともセルには、セルを識別できる色を有する所定領域を設けてその所定領域の色によってデータを定義する第1のコードにおいて、少なくともセルの一部を第2のコードを形成するための特定セルとして、所定領域を除く領域を設けて、当該領域に識別可能なマークを設け、マークの形状や大きさ、向き、色、配置パターン等の有無でデータを定義する複合コードについてのものである。複合コードが第1のコードをベースとするため、第1のコード固有のセルも含まれ、第1のコードと第2のコードとで、向きを同一とする。なお、この実施形態で用いるマークは、実施形態1で用いた情報設定可能なサブセルや情報を定義するドットパターン、実施形態10で用いた情報ドットや情報分割セルなどを含む。前述の実施形態1および10では、第1のコードとして、セルの支配的な色でセルの明暗を識別してデータを定義したが、下記に示す実施例では、主にセルの中央部に配置される所定領域の色をセルの色として識別してデータを取得している。すなわち、所定領域の中央またはセルの中央に、セルの位置情報を座標値で定義づける仮想点として基準点が配置され、その基準点または、基準点を含む小領域(少なくとも所定領域の1部)の色でセルの色が識別される。なお、前述の実施形態1および10において、中央部を所定領域として、セルの色に変更して、マークを識別できるようにしてもよい。さらに、本実施例と組み合わせて用いることができる。また、実施形態1および5、10の様々なマークについても本実施例と組み合わせて用いることができる。ここでは、実施例として基準点の位置やコードの向き、所定領域、マーク、区画などを例示しているが、所定領域内に配置されていれば基準点はどのような位置にあってもよく、コードの向きも第1のコードと第2のコードとで異なってもよく、所定領域やマーク、区画などについては、形成(表示や印刷など)および読み取りができれば、形状や大きさ、向き、色、数、配置位置などがどのようなものであってもよい。なお、区画とは、セルを複数に区画して、所定領域やマークを配置する領域である。そして、複数あった場合は、お互いに、形状や大きさ、向き、色などが異なってもよい。ただし、複数の所定領域の色が異なる場合は、特殊な場合であり当該所定領域の配置を認識しなければならない。その配置と色が認識できれば、その配置と色の組み合わせでさらに多くの情報を格納できる。その際に、第1のコードで読み取る基準点が設けられている所定領域と区別して配置する必要がある。
複合コードでは、第1のコードと第2のコードに付加できる情報量に大きな差があることは言うまでもないが、第1のコードとしてQRコードを用いる場合は、QRコードに形成されたファインダパターン、タイミングパターン、アライメントパターンなどの機能パターンを用いて、QRコードが変形して撮像されても補正を行うことで、各セルの配置位置、つまり、複合コードの向きや各セルの所定領域の基準点の座標値が求まる。さらに、下記の実施例4で定義する基準セルなどを用いることで本来の第1のコードよりも格段に精密な補正を行うことができ、それを基に数値情報が定義されるマークの配置位置を認識し、第2のコードからデータを読み取ることができる。なお、複合コードのセルの位置の補正を行うための要素は、同じコード内にあるのが望ましいが、コードの外側などを含めてどこにあってもよい。さらに、セルを複数に区画化した場合は、区画と区画が接触しないように区画を分離して配置した基準セルとしてもよい。なお、下記に示す実施例1〜16は、構成する要素を互いに組み込んで、どのように組み合わせて使用してもよい。さらに、本実施形態は、実施形態1〜10を構成する要素を組み込んで使用してもよいし、実施形態1〜10は、本実施形態を構成する要素を組み込んで使用してもよい。
(実施例1)
図111は、複合コードの一部の例である。複合コードを形成するセルは、配列状に配置されているが、図112では、複合コードの構成を分かりやすくするために、図3以降の説明で、セル内に情報を定義するためのマークとして、情報ドットや情報分割セル、情報設定可能なサブセル、情報を定義するドットパターン等の名称を用いて数値情報を定義している複合コードで第2のコードを形成するセルを特定セルと称している。特定セル1個毎の区画1−0(1−00および1−01)を実線で示している。この実線は実際の複合コードには描かれない。中央の円形状の所定領域2−0は、暗色領域2−01(黒色)または明色領域2−00(白色)で形成されており、所定領域を除く領域2−1(2−10および2−11)は、いずれも明色領域2−10である。明色領域では、セルの所定領域2−00(白色)と所定領域を除く領域2−10(白色)の境界を明示するため、円形状の点線で示しているが、実際の複合コードにはこの点線は描かれない。所定領域2−0(2−00および2−01)は、特定セルの中央に配置することが望ましいが、形成および読取ができれば、特定セル内のどこにあってもよい。また、所定領域2−0(2−00および2−01)の数は、同一色であれば複数であってもよい。これらの所定領域2−0(2−00および2−01)の色の認識のために、所定領域内に図113(c),(d)の+印で示す基準点を設けて、第1のコードを読み取り、全てのセルの基準点の座標値が計算され、+印で示す基準点の座標値も取得することができる。なお、この+印は複合コードには描かれない。その後、基準点または、基準点を含む小領域(少なくとも所定領域の1部)の色を認識してセルの色識別を行う。この実施例では、黒色の暗色領域2−01と、点線で囲まれた白色の明色領域2−00の2色で第1のコードのデータを定義しているが、所定領域2−0の色を互いに識別できれば、白と黒である必要はない。例えば、セルの所定領域のカラー、明暗のレベル等をコードリーダーで読み取って、互いに識別できればよく、3色以上であってもよい。セル当たり、2色であれば1bit,4色であれば2bit,8色であれば3bitとなる。RGBおよびそれらの内の2色の混合色(C、M、Y)、3色の混合色(W)、いずれも含まない色(B)の計3bitによる8色の場合、つまり、白、黒、赤、緑、青、シアン、マゼンダ、黄色であれば識別が容易である。さらに、白〜グレー〜黒を4段階、赤、緑、青、シアン、マゼンダ、黄色を2段階(明暗、彩度、色相等を異ならせて、互いに識別できる各2色を生成)で形成すれば、6bitの情報を1つのセルで定義できる。
所定領域2−0の形状は、本実施例では円形状であるが、線分、円形、略円形、矩形、多角形や任意の線分や曲線で囲まれた形状であってもよい。また、セルの所定領域2−0は、特定セル1−0と同一の形状と大きさを含んでいてもよい。その場合、特定セル1−0は1色で塗りつぶされることになる。なお、2色による複合コードの生成では、複合コードが形成される媒体の色と識別できる1色のみで印刷でき、媒体の色と合わせて2色をセルの色として識別するようにすれば、コスト的なメリットが高い。図113は、第2のコードによるデータの定義の方法を示している。図113(a)は、所定領域2−0(中央部)が暗色領域2−01であるセルの実施例であり、図113(b)は、所定領域2−0(中央部)が明色領域2−00であるセルの実施例である。いずれでも第1のコードの対応するセルの基準点から円形状のマーク3−0(3−00および3−01)を上下・左右・斜め45度方向に所定間隔を空けて8か所に配置して、それらの配置位置のマークの色によって数値情報を定義している。
本実施例では、特定セル1−0の基準点はセルの中央に配置されているが、セルの色を識別できる位置であれば、基準点は所定領域内のどこに配置されてもよい。その他、所定領域に配置される基準点は、撮影した複合コードが記録されるフレームバッファ(XY座標軸を有する二次元画像一時記憶領域)において、実施形態10の図66〜70の説明のように、2値化されたn個のピクセル(画素)で形成される所定領域2−0の中心座標値(X,Y)を、各ピクセルの中心座標値を(X,Y)として、X=(ΣX,i=1〜n)/n,Y=(ΣY,i=1〜n)/nの図心として計算によって求めてもよい。この基準点または、基準点を含む小領域(少なくとも所定領域の1部)の色を互いに識別可能なセルの色として認識する。しかし、複合コードが形成された媒体が湾曲していたり、複合コードをカメラで斜めに撮影したりして、複合コードが大きく変形する場合があり、第1のコードの読み取りによって算出された基準点の座標値に、撮像された所定領域2−0から求められる基準点の座標値に対してずれが生じる場合がある。それを許容するには、第1のコードの読み取りによって算出された基準点の座標値が所定領域内に含まれるように、所定領域2−0の面積がセルの面積の1/10程度以上であることが望ましい。なお、複合コードの形成面が平面を保持し、カメラで真正面(傾かない)から撮影した場合や、第1のコードの読み取りによってずれて算出された基準点の座標値を所定領域2−0に含まれるように補正すれば、所定領域の面積がセルの面積の1/20程度以上であればよい。補正の方法としては、図113(a),(c)の複合コードでは、所定領域である黒色の暗色領域2−01が白色の明色領域2−10で囲まれていることから、実施形態5および実施形態10で説明する種々のアルゴリズムのいずれかを用いればセルの所定領域2−0が容易に抽出でき、所定領域の基準点を算出することにより正確に補正できる。しかし、図113(b),(d)の複合コードでは、白色の明色領域2−00である所定領域を抽出できないことから、図113(a),(c)の複合コードで算出された所定領域の基準点を基に補間して白色の明色領域2−00である所定領域の基準点を算出してもよい。一方、以下で説明する図116の場合は、所定領域である黒色の暗色領域2−01が白色の明色領域2−10で囲まれており、所定領域である白色の明色領域2−00が黒色の暗色領域2−11で囲まれていることから、特定セルの所定領域2−0が抽出可能であり、どの特定セルでも所定領域2−0の基準点を算出することにより正確に補正できる。
マーク3−0の配置位置は、円形状の実線で示し番号を(1)〜(8)(図では丸付き数字、以下も同様)まで付しているが、実際の複合コードには、円形状の実線や番号は描かれない。また、所定領域2−0およびマーク3−0と特定セル1−0との幾何学的関係を分かりやすくするためにセルの外枠を実線で示しているが、この外枠も実際の複合コードには描かれない。図113(c),(d)の×印で示されたマーク3−0の中心は、特定セル1−0の向き(複合コードの上向き)に対して、右周りで(1)が0度、(2)が45度、(3)が90度、(4)が135度、(5)が180度、(6)が225度、(7)が270度、(8)が315度の方向に、特定セル1−0の基準点から所定間隔(円形点線で示す半径r)を空けて配置している。この円形点線や×印も実際の複合コードには描かれない。以降の実施例でも同様に描かれない。本実施例では、(1)〜(8)のマーク3−0は、それぞれが明色マーク3−00(0:ビット情報=0あるいはOFF、以下のカッコ内も同様)であるか暗色マーク3−01(1:ビット情報=1あるいはON、以下のカッコ内も同様)であるかで、マーク1個で1bitの情報を定義している。明色マーク3−00(0)であるか暗色マーク3−01(1)であるかの判断は、図113(c),(d)で×印の位置の色を認識して識別して行っている。この場合、明色部分は所定領域を除く領域2−10にマーク3−01が配置されていないケースと等価であり、マーク3−01が1個も配置されないケースも情報として定義することができる。1個のセル内にマーク3−0の配置位置が8か所あることから、1個のセルに8bitの情報が定義できる。8bitの情報は、左から(8)、(7)、(6)、(5)、(4)、(3)、(2)、(1)の順にデータ化される。もちろん、この順番はどのように設定してもよい。マーク3−0による情報の定義について、図113(c),図113(d)は、それぞれ図113(a),図113(b)に円形状のマークを配置した実施例であり、図113(c)では、10100011,図113(d)では、11010110の数値情報が定義されている。
本実施例では、第1のコードの読み取りにより、コードの向きを認識して基準点から所定方向に、所定間隔空けて8個配置しているが、所定方向と所定間隔はどのように設定してもよい。また、実施形態1および実施形態10にも例示しているように、セル内のどのような位置に配置してもよい。例えば、本実施例のように、マーク3−0が配置される位置の色を識別するのではなく、互いにユニークとなる配置パターンとコードの向きを数値情報として定義してもよい。
マーク3−0の色は、互いに識別可能な色であれば、前述したセルを識別する所定領域2−0の色のようにどのような色に設定してもよい。つまり、セル当たり、2色であれば1bit,4色であれば2bit,8色であれば3bitとなる。8色の場合、白、黒、赤、緑、青、シアン、マゼンダ、黄色であれば識別が容易である。さらに、白〜グレー〜黒を4段階、赤、緑、青、シアン、マゼンダ、黄色を2段階(明暗、彩度、色相等を異ならせて、互いに識別できる各2色を生成)で形成すれば、6bitの情報を1つのマーク3−0で定義できる。従って、配置位置8か所(3bit)との組み合わせで9bitの数値情報を1つの特定セル1−0で定義できる。なお、マーク3−0として定義できる複数の色は各セル毎に設定してもよい。なぜなら、マーク3−0の色はセル内で互いに識別可能であれば、当該セルの数値情報として定義できるからである。なお、マーク3−0の色の認識方法は、マーク3−0の配置候補におけるマーク内に含まれる中心位置などの座標位置の色を認識する以外に、実施例10に記載された様々なバウンディングボックスのいずれかを使用してもよい。本実施例では、マーク3−0の形状を円形としたが、実施形態1および実施形態10に例示している様々なマークのように、マークの形状(線分、円形、略円形、矩形、多角形や任意の線分や曲線で囲まれた形状)や大きさ、向き等を異ならせて情報を定義してもよい。第2のコードは、マーク3−0の色、形状、大きさ、向きや配置パターンによって、セル毎の数値情報を定義できるが、セル毎に、第2のコードの数値情報の定義の方法が異なっていてもよい。なぜなら、全てのセルには、その位置によってインデックスが設けられており、第1のコードをコードリーダーで読み取ることにより、セルのインデックスを取得することができるからである。第2のコードでは、そのインデックスを有するセル毎の数値情報の定義の方法を予め定めておけばよい。このような数値情報の定義の方法や誤り訂正方法、データ容量、データ圧縮方法、暗号化方法等をデータフォーマット情報として第1のコードに格納して、第1のコードを読み取ることにより、第2のコードのデータフォーマット情報を取得して、第2のコードを読み取るようにしてもよい。このデータフォーマット情報と第1のコードのセルインデックスを基に、第2のコードの特定セルインデックスを作成してもよい。
なお、本実施例も含め、以降の実施例で説明する図に記載されるセルは、全て特定セルとして図示されているが、特定セルを除く図示されていないセルは、特定セルと同様に少なくともセル内に所定領域が形成され、その所定領域は、識別可能な色を有していなければならない。なお、特定セルを除くセルは、所定領域を除く領域を有しないセルを含んでもよい。つまり、従来のQRコード等のように各セル内の全領域が識別可能な色を有していてもよい。
図114は、撮像により本来の位置からずれた位置に検知された基準点を適正な基準点に補正する方法を示している。まず、暗色セルに配置した基準点の位置を、例えば、実施形態5および実施形態10で説明する種々のアルゴリズムのいずれかを用いて求める。次に、基準点同士を上下・左右方向に仮想の直線で繋いで格子線を形成し、その格子点の座標値を明色セルの中央座標値とする。格子点の存在しない明色セルでは、近傍の格子線と略等間隔で内挿または外挿して仮想の格子線を引き、格子点を求めればよい。
本実施例で記載した内容は、実施形態1および実施形態5、実施形態10で説明した複合コードおよびこれ以降に記載する複合コードにも対応させることができる。さらに、それらをどのように組み合わせて用いてもよい。
(実施例2)
図115は、実施例1で示した複合コードの中央の円形状の所定領域2−0が暗色領域2−01(黒色)の場合のセルで所定領域を除く領域2−1を暗色2−11とし、所定領域2−0が明色領域2−00(白色)の場合のセルで所定領域を除く領域2−1を明色2−10とした実施例である。本実施例の特徴は、第1のコードがQRコード等の既存のコードの場合、既存のコードリーダーで読み取れる範囲が広くなることである。例えば、QRコードリーダーは、約半数がセルの中心位置の色を識別する方法を利用し、残り約半数がセル全体の色で識別する方法を利用するが、後者において、セル内で支配的である色を、特定セル1−0の識別可能な色として認識するには、所定以上の面積を有する所定領域2−0でなければならない。図111〜図113で示したQRコード部分の読み取り方法は、セルの所定領域2−0が狭いため、セルの中心位置の色で識別するコードリーダーしか使用できない。本実施例では、マーク3−0部分を除く全領域をセルの色を有する所定領域2−0とすることにより、所定領域2−0の面積を広くでき、既存のQRコードリーダーでQRコード部分を読み取ることができる。所定領域内にセルの色を識別する基準点(セルの中央)を設ければ、前述した両方の読み取り形式でQRコード部分を読み取ることができる。なお、所定領域2−0のセルに対する面積比は、所定領域2−0と所定領域を除く領域2−1の面積が1対1程度ある場合は、どちらの色であるか判別できない。しかし、所定領域2−0の面積と所定領域を除く領域2−1の面積が2対1以上あれば、両者を識別することができる。つまり、所定領域2−0の特定セル1−0に対する面積比が60%以上であれば、セル全体の色で識別するQRコードリーダーでQRコード部分を読み取ることができる。さらに望ましいのは面積比2/3以上あれば、撮影環境が悪くても確実に認識できる。セル全体の色による識別は、セル全体の明度(明暗)や色相(カラー)、彩度(鮮やかさ)で認識してもよい。また、セル内で支配的である色が、所定領域にセルの色の濃度を高めてどれだけ多くのセルの本来の色を含むかで識別してもよい。例えば、2色として白とグレーを使用したときに、グレーのセルの所定領域に黒を使うことによって、セル全体ではグレーのセルとして判定しやすくなる。当然、専用の複合コードリーダーに上記読取り方式を採用してもよい。なお、セルの所定領域を除く領域2−1に配置されたマーク3−0による数値情報の定義の方法は、実施例1で説明した内容と同様である。
撮像により本来の位置からずれた位置に検知された基準点を適正な基準点に補正する方法として、例えば、実施形態5および実施形態10で説明する種々のアルゴリズムのいずれかを用いて、マークの位置を求めることができる。
(実施例3)
複合コードが形成された媒体が湾曲していたり、複合コードをカメラで斜めに撮影したりして、複合コードが大きく変形する場合があり、第1のコードの読み取りによって算出された基準点の座標値が、所定領域の外の座標値となる場合がある。そこで、所定領域から基準点の座標値を算出し、正しい基準点の座標値に補正する必要がある。ところが、図111〜図113では、明色(白色)である所定領域2−00と所定領域を除く領域2−10の境界が認識できないため所定領域2−00を、抽出できない。そこで、図116のように、図111〜図113の明色特定セル1−00の所定領域を除く領域を暗色(黒色)にすれば、所定領域を抽出でき、実施例1と比べてさらに精度よく基準点を算出することができる。この場合は、所定領域2−0と同一色の領域が少なくなるため、セル全体の色で識別するQRコードリーダーで第1のコードを読み取ることが困難になる。
図117は、撮像により本来の位置からずれた位置に検知された基準点を適正な基準点に補正する方法を示している。まず、明色および暗色セルに配置した基準点の位置を、例えば、実施形態5および実施形態10で説明する種々のアルゴリズムのいずれかを用いて求める。次に、基準点同士を上下・左右方向に仮想の直線で繋いで、その交点の座標値を明色および暗色セルの中央座標値とする。
(実施例4)
図118は、所定の位置に配置されたセルにはマーク3−0を配置しないで、セルの所定領域2−0を、所定領域を除く領域2−1(セルと識別できる色と異なる色の領域)で囲むようにした、特定セルの1種である基準セル1−1の実施例である。所定の位置は、コードリーダーに記憶しておいてもよいし、第1のコードに第2のコードのデータフォーマット情報として格納しておいてもよい。このような所定の位置の基準セル1−1の位置情報の格納方法は、後述する実施例5、9、10、12に適用してもよい。本実施例では、上から行番号、左から列番号とした場合、1行1列、1行6列、5行1列、5行6列(コーナーの4か所)の所定の位置に基準セル1−1が配置されている。これにより、基準セルの所定領域2−0を容易に抽出できるようにして、実施例3と同様に、基準点の座標値の補正を行う。1行1列、5行6列の基準セル1−10では、明色の所定領域2−00が所定領域を除く暗色の領域2−11で囲まれ、1行6列、5行1列の基準セル1−11では、暗色の所定領域2−01が所定領域を除く明色の領域2−10で囲まれている。本実施例では、基準セル1−1を配置して、基準セル1−10の所定領域2−00と、他の暗色の所定領域2−01から算出される基準点を基に補間して、明色の所定領域2−00の基準点を算出してセルの識別の精度を向上させている。補間の方法は、算出された基準点同士を仮想の線で格子状に繋ぎ、明色特定セルにおけるそれらの格子点を明色の所定領域2−00の基準点とすればよい。明色の所定領域2−00の基準点が格子点として形成されない場合は、近傍の格子線と略等間隔で内挿または外挿して仮想の格子線を引き、格子点を求め当該明色の所定領域2−00の基準点とすればよい。暗色の所定領域2−01から算出される基準点も用いることができることから、基準セル1−1は、複合コードを形成するセル数にもよるが、10個〜25個前後以上の間隔に配置すれば十分である。
基準セルの基準点は、実施形態5および実施形態10で説明する種々のアルゴリズムのいずれかを用いて求めればよい。
本実施例により、複合コードが形成された媒体が湾曲していたり、複合コードをカメラで斜めに撮影したりして、複合コードが大きく変形しても、基準点の座標値を正確に算出して第1および第2のコードに定義されたデータを正確に算出することができる。なお、本実施例を、QRコード等、既存の二次元コードの認識率を向上させるために適用して、より正確な基準点の座標値を求めてセルの識別に使用してもよい。その場合、基準セルを所定の間隔で配置してもよいし、所定の範囲または全てのセルを基準セルとしてもよい。
図119に、基準セルの配置例として、QRコードのバージョン6(41x41セル)に配置した例を示す。QRコードでは、QRコードの外周にクワイエットゾーン0−0が囲むように設けられ、その内部の左上、右上、左下のコーナーにファインダパターン0−1(それぞれ0−11、0−12、0−13)と、右下近傍から1以上のQRコードの補正のためのアライメントパターン0−3が内部に向けて所定の位置に配置されている。最も端(クワイエットゾーン0−0)に近いアライメントパターン0−3は、端から4セル空けて配置されている。QRコードには、1〜40のバージョン等の格納情報量が設定され、各バージョン毎に、どのように、どのようなデータが配置されかを定める形式情報0−4(データフォーマット情報)が3個のファインダパターン0−1の近傍に設けられている。タイミングパターン0−5は、水平方向には左上のファインダパターン0−11から右上のファインダパターン0−12に、垂直方向には左上のファインダパターン0−11から左下のファインダパターン0−13に向かって、暗色セルから始まり、明色セルと暗色セルが交互に配置されている。また、アライメントパターン0−3とアライメントパターン0−3の間には、バージョンに基づき、11〜25個セルが空けてあり、そのアライメントパターン0−3の配置に対応させると、基準セル1−1については、図119の黒セルで示すように、セル番号(11,11)や(31,11)、(31,31)のように端からおおよそ5〜10個前後、セル番号(11,11)と(31,11)あるいは、(31,11)と(31,31)のように基準セル1−1と基準セル1−1の間は、おおよそ10〜25個前後が妥当である。精度の高い格子線を結ぶために、図のように基準セルを同じ行または列に配置するのが望ましい。精度を上げるためには、間隔を半分程度に縮めて図中の斜線パターンの基準セル1−1‘(21,11)や(31,21)、さらには、基準セル1−1“(21,21)などを加えてもよい。図では、わかりやすくするために基準セルを黒色または斜線パターンで示しているが、実際には基準マークまたは基準パターンを配置したセルである。基準セルは、QRコードのように、固定位置に配置してもよいし、複合コード毎に位置が違っていてもよい。このような基準セル1−1は、前述の特定セルインデックスで認識できるようにするのが望ましい。
図120のフローチャートを用いて、QRコードの読み取り手順の例を説明する。QRコードは、印刷体に形成されるか、または、ディスプレイなどに表示されるが、まず、QRコードリーダーを用いてその画像を撮影する。QRコードリーダーとしては、スマートフォンに搭載したQRコードリーダーアプリでも専用のQRコードリーダーでもよい(U01)。撮影の仕方により、陰影が多少不鮮明となったりするが、各セルの明暗判定をするために、フレームバッファ(XY座標軸を有する二次元画像一時記憶領域)に記録された画像の2値化を行う(U02)。3個のファインダパターン(位置検出パターン)0−1がQRコードの3つの角を占め、QRコードを抽出するのに都合がいいので、その次に、ファインダパターン0−1を探索する。ファインダパターンは、黒:白:黒:白:黒=1:1:3:1:1という特徴的な構成をしているため、これを手掛かりとして、縦、横、斜め方向などのスキャンにより、これらを抽出する。また、1個以上配置されているアライメントパターン0−3についても、黒:白:黒:白:黒=1:1:1:1:1という特徴的な構成を基に、同様にして抽出する(U03)。そして、ファインダパターン0−1とアライメントパターン0−3より、QRコードの切り出しをする。(U04)。3個のファインダパターン0−1および1個以上のアライメントパターン0−1の中心座標値を基にして、セルのサイズや個数、位置が算出され、さらに、各セルの中心座標値が算出される。形式情報0−4と合わせてセルの個数を認識することもできる。ここで、タイミングパターン0−5をセルの配置個数や各セルの座標値の算出に使用してもよい。また、QRコードが変形され撮像された場合、3個のファインダパターン0−1とアライメントパターン0−3の中心座標値を求めることにより、射影変換ですべてのセルの中心を計算することができる。さらに、補正が正しくなされているかをタイミングパターン0−5で確認してもよい。(U05)。約半数のQRコードリーダーでは、中心座標位置の明暗を基にセルの明暗判定を行い、残り約半数のRコードリーダーでは、セルの全体の平均明度(明暗)でセルの明暗判定を行うが、中心座標値が算出されており、セルの区別も明確になっているので、どちらの方式であってもセルの明暗判定が可能である(U06)。全セルの明暗が明確となったところで、データが復号され、情報を取得する(U07)。データ復号の過程として、型番情報の復号(U071)およびマスクパターンの適用(U072)、格納情報の復号(U073)、埋め草コードの除去(U074)などが含まれる。なお、マスクパターンとは、QRコードの読み出しを確実にするために、明暗(白黒)のセルバランスを最適化する処理に用いられるコードパターンのことであり、埋め草コードとは、コード語の数がシンボルの容量に満たない場合に、空のコード語位置を埋める目的で使用するデータを示さない仮のコードのことである。また、これらのデータ復号の過程は、第2のコードで使用してもよい。
QRコードの読み取り方法は、上記に限った方法に限定されることなく、工業規格によって生成されたQRコードをどのような方法で読取り、データを復号してもよい。当然、複合コードの第1のコードとしてQRコードを使用した場合も同様である。
図121には、QRコードの読み取り手順におけるQRコードの各セルの座標値が算出されていく過程を示す。図121(a)は、印刷体に形成されたか、あるいは、ディスプレイなどに表示されたQRコードの画像を示す。図121(b)は、読み取り装置に撮像されたQRコードの画像を示す。このように、撮影の仕方により、陰影が多少不鮮明となったりする。図121(c)は、撮像された画像を2値化したQRコードの画像である。図121(d)は、算出されたファインダパターン0−1とアライメントパターン0−3の中心座標位置を白丸で模式的に示した図である。実際の座標位置は点であり、これらの白丸のような大きさを持たない。また、これらのような白丸は、実際の複合コードには描かれない。図121(e)は、算出された各セルの中心座標位置を、わかりやすくするために、明色セルでは黒丸、暗色セルでは白丸として示した図である。実際の座標位置は点であり、これらの黒丸や白丸のような大きさを持たない。また、これらのような黒丸や白丸は、実際の複合コードには描かれない。
図122は、図119の複合コードの一部を拡大した図であるが、これを用いて基準点の補正方法を示す。基準セルの基準点を求めた後に、格子状に基準点を仮想の線で結んでいく(破線)。次に、横方向の行および縦方向の列の各セルの中央を通るように内分点を求めていき、同じ行または列にある内分点同士をそれぞれ仮想の横線または縦線で結ぶ。このようにして、形成させた格子線の各格子点がそれぞれのセルの基準点として求まる。例えば、基準点と基準点の間に10セル分の距離があるので、基準点Aは、その距離を2/10で内分して求めた基準点A’およびその距離を1/10で内分して求めたA”を通る仮想の内分線の格子点として求まる。
QRコードでは、本来の第1のコードの特性を活かしながら第2のコードで情報を付加するので、第1のコードの機能パターンなどを残しつつ第2のコードによる補正を行うが、新たなコードとして、アライメントパターン0−3などを取り除き、第2のコードを独立したコードとして基準セルなどを用いて補正することも可能である。その場合、補正などに用いるアライメントパターン0−3が5x5の計25セルを必要とするのに対して、基準セルはたったの1セル、つまり、1/25で同等以上の役割が果たせるので、その分、データ領域を増やすことができる。また、アライメントパターン0−3を一部残し、基準セルなどと併用してもよい。この場合、従来のQRコードリーダーでは読めなくなり、新たなコードリーダーが必要となる。
図123および図124により詳しい仮想の格子線の引き方を示している。まず、図123の破線で示すように、基準セルの基準点を仮想の線で繋ぐ。次に、図124の点線で示すように、破線の内挿または外挿によって内分点または外分点を求め、それらの点を繋ぐと、すべてのセルを通る仮想の格子線が形成でき、その格子点により全てのセルの基準点の補正ができる。ここでは、横方向にDの距離で均等に内分し、縦方向にDの距離で内分して縦横の格子線を求めている。なお、基準セルには、通常情報を付加しないが、付加してもよい。その他の特定セルについても、情報を付加しないダミーセルであってもよい。第2のコードのデータが格納情報を下回る情報量であれば、本来、特定セルとして使用しない第1のコードのセルを基準セルとして多く設けて基準点の補正に使用してもよいことは言うまでもない。
(実施例5)
図125は、実施例4の基準セル1−1の所定領域2−0の形状を、向きを定義できる二等辺三角形とした実施例である。撮像された複合コードが大きく変形して正確な向きが認識できなくても、二等辺三角形の所定領域2−0により基準セル1−1における向きが正確に認識できる。なお、基準セル1−1の所定領域2−0の形状は、向きを認識できればどのような形状や大きさでもよい。特定セル1−0の向きのずれは、基準点の座標値のずれよりも少ないため、複合コードを形成するセル数にもよるが、基準セル1−1は10個〜25個前後以上の間隔に配置すれば十分である。また、基準セル1−1の所定領域2−0の基準点は二等辺三角形の図心としてもよい。その場合、所定領域の図心とセルの中心を一致させるのが望ましい。基準点を図心以外に定めた場合でも、その基準点とセルの中心を一致させるのが望ましい。これにより、実施例4と同様に、各セルの基準点の座標値が正確に算出される。なお、この基準セル1−1に所定領域2−0と接触しないようにマーク3−0を配置して数値情報を定義してもよい。他の形状や大きさの所定領域を用いた場合でも、同様である。もちろん、基準点を他の位置に配置してもよい。
基準点は、実施形態5および実施形態10で説明する種々のアルゴリズムのいずれかを用いて求めればよい。図126に格子線の引き方を示しているが、三角形の所定領域の基準点とセルの中央点が一致する場合の例として、まず、破線で示すように、基準セルの基準点を線で繋ぐ。次に、図示しないが、図124と同様に格子点の存在しない行および列では、内挿または外挿によって格子線を形成し格子点を求めればよい。
(実施例6)
図127は、特定セル1−0内における所定領域2−0およびマーク3−0との幾何学的関係を明示した基準パターンを配置した、特定セルの1種である基準セル1−2の実施例である。所定の位置に配置されたセルの所定領域を除く領域2−1に全てのマーク(基準マーク3−1)を配置して、セルの所定領域2−0を、所定領域を除く領域2−1(セルと識別できる色と異なる色の領域)で囲むように形成されている。所定の位置は、コードリーダーに記憶しておいてもよいし、第1のコードに第2のコードのデータフォーマット情報として格納しておいてもよい。このような基準セル1−2の位置情報の格納方法は、後述する実施例7、11、13に適用してもよい。本実施例では、上から行番号、左から列番号とした場合、1行1列、1行6列、5行1列、5行6列(コーナーの4か所)の所定の位置のセルに基準パターンが形成されている。基準パターンを形成する各マーク3−0の中心座標値を算出すれば、撮像された複合コードが大きく変形してマーク3−0の配置位置が本来の位置からずれが生じた場合でも、基準パターンを参照して正確に数値情報を取得できる。基準パターンを含む基準セルを有する複合コードの他の実施例でも同様の処理ができる場合がある。特に、所定領域と所定領域を除く領域とが同じ明色で区別しにくい特定セルのマーク位置の算出方法として、基準点に基づいて形成した格子線を用いた基準点の算出方法を補う方法として有効である。なお、本実施例のマーク3−1の配置位置は、図113(a),図113(b)の(1)〜(8)の配置候補位置と同じであるが、複数のセルに分けてマーク3−1を配置してもよい。例えば、(1)、(3)、(5)、(7)と(2)、(4)、(6)、(8)を異なる近傍のセルに形成し合成して使用することができる。
1行1列、5行6列の基準セルでは、明色の所定領域2−00が所定領域を除く暗色の領域2−11で囲まれて明色基準マーク3−10が配置され、1行6列、5行1列の基準セル1−11では、暗色の所定領域2−01が所定領域を除く明色の領域2−10で囲まれて暗色基準マーク3−11が配置されている。本実施例では、基準パターンの中心に配置された所定領域2−0から算出される基準点と各マーク3−1との幾何学的関係を正確に認識すると共に、基準点も正確に算出できることから、実施例4と同様に基準点の正確な算出も可能となる。なお、基準点に対する各マーク3−0の配置のずれは、基準点の座標値のずれよりも少ないため、基準パターンは、複合コードを形成するセル数にもよるが、10個〜25個前後以上の間隔に配置すれば十分である。
基準点は、実施形態5および実施形態10で説明する種々のアルゴリズムのいずれかを用いて求めればよい。図128に格子線の引き方を示しているが、破線で示すように、基準セルの基準点を線で繋ぐ。次に、図示しないが、図124と同様に格子点の存在しない行および列では、内挿または外挿によって格子線を形成し格子点を求めればよい。なお、基準パターンも補間して、各特定セルの基準点と各マーク3−0の幾何学的関係をさらに正確に求めてもよい。
基準パターンによって構成される基準セルでも、所定領域やマークの形状や大きさ、向き、色、数、配置位置などがどのようなものであってもよい。そして、複数あった場合は、お互いに、形状や大きさ、向き、色などが異なってもよい。また、基準点が認識できれば、所定領域と所定領域を除く領域の色が同じであってもよい。
(実施例7)
図129は、実施例6において、図113(a),図113(b)で示す(1)〜(8)のマークの内、(5)を外した基準パターンを形成した実施例である。本実施例により、マーク3−1の配置パターンはユニーク(非回転対称)となり方向を認識することができ、実施例6と同様に基準パターンに2次元性があるため、実施例6と同様な効果を得ることができる。
基準点は、実施形態5および実施形態10で説明する種々のアルゴリズムのいずれかを用いて求めればよい。図130に格子線の引き方を示しているが、まず、破線で示すように、基準セルの基準点を線で繋ぐ。次に、図示しないが、図124と同様に格子点の存在しない行および列では、内挿または外挿によって格子線を形成し格子点を求めればよい。
(実施例8)
図131は、第2のコードとしてセル内を複数に区画した領域に、所定領域2−0および所定領域を除く領域2−1を形成し、後者にマーク3−0を配置した複合コードの例である。図131およびそれ以降の関連する図において、明色の所定領域を点線で示しているが、実際の複合コードには描かれない。複合コードを形成するセルは、配列状に配置されているが、図132では、複合コードの構成を分かりやすくするために、特定セル1−0(1−00および1−01)1個毎に外枠を実線で示しているが、実際の複合コードには、実線は描かれない。
本実施例では、図133(a)のように、既に過去に多く普及しているスマートフォンの解像度での表示・読み取りや300dpiによるラベル印刷や一般の事務用プリンターの精度を勘案し、1個の特定セルを6×6ピクセル以上で区画して形成するのが望ましい。なお、600dpiで印刷する場合は、12×12ピクセルで形成するのが望ましいが、高精度の印刷機で印刷し、カメラが高解像度であれば6×6ピクセルでも読取り可能である。現行スマートフォンのカメラの一般的な解像度が1980x1080ピクセル(207万画素、フルハイビジョン)以上であることから、これを下限と見なすと、このように生成された複合コードを読み取るには、区画領域の2×2(600dpi、12×12ピクセルで印刷した場合は4×4)を1区画として認識するのが望ましいことから、図131以降の図では、6×6ピクセルの場合を具体例としているが、便宜上、1個のセルを図133(b)のように、3×3で区画して表記する。なお、この区画を示す枠は実際の複合コードには描かれない。なお、昨今のスマートフォンのカメラの解像度は、年々、高解像度になっているので、区画領域の2×1区画(2ピクセル)を1区画としたり、1ピクセルを1区画としたりすれば、それらの区画で所定領域2−0やマーク3−0を形成しても第2のコードとして読み取れる。もちろん、1個のセルを7×7ピクセル,8×8ピクセル,9×9ピクセル,10×10ピクセルなどと大きくしていけば行くほど、多くの情報量を格納できる。その場合、複合コードは大きな面積を有することになる。このように、特定セルの構成は6×6ピクセルに限られることはなく、形成および読み取りができれば、どのような大きさやピクセル数から成り立っていてよいし、また、各区画の形状や大きさもどのようなものであってもよいし、異なる構成の特定セルの組合せであってもよい。
中央の区画内に同一形状で位置する所定領域2−0は、図133(c)では、暗色2−01(黒色)、図133(d)では、明色2−00(白色)で形成されており、所定領域を除く領域2−1は、いずれでも、明色2−10として示している。明色セルでは、セルの所定領域2−00(白色)と所定領域を除く領域2−10(白色)の境界を明示するため、矩形状の点線で示しているが、実際の複合コードにはこの点線は描かれない。これらの所定領域2−0(2−00および2−01)の色の認識のために、所定領域内に図133(c)〜図133(f)の+印で示す基準点を所定領域内に設けて、第1のコードを読み取り、全ての特定セル1−0の基準点の座標値を計算する。その基準点または、基準点を含む小領域(少なくとも所定領域の1部)の色を認識することによりセルの色識別を行う。この実施例では、黒色の暗色所定領域2−01と、点線で囲まれた白色の明色所定領域2−00の2色で第1のコードのデータを定義しているが、所定領域2−0の色を互いに識別できれば、白と黒である必要はない。例えば、カラー、明暗のレベル等でセルの所定領域をコードリーダーで読み取って、互いに識別できればよく、3色以上であってもよい。セル当たり、2色であれば1bit,4色であれば2bit,8色であれば3bitとなる。8色の場合、白、黒、赤、緑、青、シアン、マゼンダ、黄色であれば識別が容易である。さらに、白〜グレー〜黒を4段階、赤、緑、青、シアン、マゼンダ、黄色を2段階(明暗、彩度、色相等を異ならせて、互いに識別できる各2色を生成)で形成すれば、6bitの情報を1つのセルで定義できる。
セルの所定領域は、セルと同一の形状と大きさ、向きであってもよい。その場合、セル1−0は1色で塗りつぶされることになる。なお、2色による複合コードの生成は、複合コードが形成される媒体の色と識別できる1色のみで印刷でき、媒体の色と合わせて2色をセルの色として識別するようにすれば、コスト的なメリットが高い。
図133(c)〜図133(f)は、第2のコードによるデータの定義の方法を示している。図133(c)は、所定領域2−0(中央部)が暗色2−01である特定セル1−0の実施例であり、図133(d)は、所定領域2−0(中央部)が明色2−00であるセルの実施例である。いずれでも、第1のコードのセルの基準点から、マークが配置される区画と同一の形状と大きさのマーク3−0(3−00および3−01)を上下・左右・斜め45度方向に8か所に配置して、それらの配置位置のマークの色によって情報を定義している。特定セル1−0の基準点の座標値は、原則第1のコードにより算出されるが、第2のコードで第2のコードを復号するための基準点の座標値を算出してもよい。さらに、第2のコードで第1のコードを復号するための基準点の座標値を算出してもよい。上記の基準点の座標値の利用は他の実施例で適用してもよい。
本実施例では、特定セル1−0の基準点はセルの中央に配置されているが、セルの色を識別できる位置であれば、基準点は所定領域2−0内のどこに配置されてもよい。この基準点または、基準点を含む小領域(少なくとも所定領域2−0の1部)の色を互いに識別可能なセルの色として認識する。しかし、複合コードが形成された媒体が湾曲していたり、複合コードをカメラで斜めに撮影したりして、複合コードが大きく変形する場合があり、第1のコードの読み取りによって算出された基準点の座標値に、撮像された所定領域2−0から求められる基準点の座標値に対してずれが生じる場合がある。それを許容するには、所定領域内に第1のコードの読み取りによって算出された基準点の座標値が含まれるように、所定領域2−0の面積がセルの面積の1/10程度以上であることが望ましい。なお、複合コードの形成面が平面性を保持し、カメラで真正面(傾かない)から撮影した場合や、第1のコードの読み取りによってずれて算出された基準点の座標値を所定領域2−0に含まれるように基準点の座標値を補正した場合は、所定領域の面積がセルの面積の1/20程度以上であればよい。
図133(c),図133(d)には、マーク3−0の配置候補位置が区画を示す矩形状の実線で示され、番号を(1)〜(8)まで付しているが、実際の複合コードには、この実線や番号は描かれない。また、特定セル1−0との幾何学的関係を分かりやすくするためセルの外枠を実線で示しているが、この外枠も実際の複合コードには描かれない。図133(e),(f)の×印で示されたマーク3−0の中心は、特定セル1−0の向き(複合コードの上向き)に対して、右周りで(1)が0度、(2)が45度、(3)が90度、(4)が135度、(5)が180度、(6)が225度、(7)が270度、(8)が315度の方向に、特定セル1−0の基準点(中心)から所定間隔(上下・左右方向は区画の一辺の長さD,斜め方向は√2D)を空けて位置している。実施例1〜7では、マークを方向と距離で定義される位置に置いたが、ここでは、それとは異なり、方向と距離ともに固定の位置にあると言える。本実施例では、(1)〜(8)のマーク3−0は、それぞれ明色3−00(0:ビット情報=0あるいはOFF、以下のカッコ内も同様)であるか暗色3−01(1:ビット情報=1あるいはON、以下のカッコ内も同様)であるかで、1bitの情報を定義している。明色3−00(0)であるか暗色3−01(1)であるかの判断は、図133(e),(f)で×印の位置の色を認識して識別している。なお、マーク3−0の配置位置にあたる区画の中心の色を認識して色識別してもよい。図133(c),図133(d)の場合、所定領域を除く領域2−10にマーク3−01が配置されていないケースと等価であるが、このようにマーク3−01が1個も配置されないセルも情報として定義することができる。1個のセル内にマーク3−0の配置候補位置が8か所あることから、1個のセルに8bitの情報が定義できる。8bitの情報は、左から(8)、(7)、(6)、(5)、(4)、(3)、(2)、(1)の順にデータ化される。もちろん、この順番はどのように設定してもよい。マーク3−0による情報の定義について、図133(e),図133(f)は、それぞれ図133(c),図133(d)に区画と同じ形状と大きさのマークを区画領域に配置した実施例であるが、図133(e)では、10100011,図133(f)では、11010110の数値情報が定義されている。
なお、区画方法は任意であり、区画の形状は、矩形の他、三角形、多角形や曲線で区画してもよい。また、どのような大きさや向きであってもよい。本実施例では、区画と同一形状のマークが区画を充填するように配置されているが、区画された領域のどこに配置してもよく、形成および読み取りができれば、マークはどんな形状や大きさ、向き、色、数でもよいし、さらに、同一セル内および区画に異なる形状や大きさ、向き、色、数のマークをどこに配置してもよい。
基準点は、実施形態5および実施形態10で説明する種々のアルゴリズムのいずれかを用いて求めればよい。図134に格子線の引き方を示しているが、まず各特定セルの所定領域の基準点を仮想の線で繋ぐ。格子点の存在しないセルでは、仮想の格子線を内挿または外挿して格子点を求めればよい。
(実施例9)
図135は、所定の位置に配置されたセルにはマーク3−0を配置しないで、そのセルの所定領域2−0を、所定領域を除く領域2−1(セルと識別できる色と異なる色の領域)で囲むようにした基準セル1−1の実施例である。所定の位置は、コードリーダーに記憶させてもよいし、第1のコードに第2のコードのデータフォーマット情報として格納しておいてもよい。本実施例では、上から行番号、左から列番号とした場合、1行2列、3行6列、5行2列の所定の位置に基準セル1−11が配置されていることになる。いずれでも、セルの所定領域2−01を、所定領域を除く領域2−10で囲んでいるため、所定領域2−01を容易に抽出して、基準点の正確な座標値を求めて、実施例4と同様に、他の基準点の座標値の補正を行うことができる。この実施例では、暗色の所定領域2−01が配置され、マーク3−0を配置しない暗色特定セル1−01を基準セル1−11としたが、暗色特定セル1−01が必ずしも規則的に配置されるわけではないため、基準セル1−11が偏った配置となる場合もあり、複合コード全体を均一な基準点で補正ができない可能性がある。その欠点を補うのが実施例10である。
基準点は、実施形態5および実施形態10で説明する種々のアルゴリズムのいずれかを用いて求めればよい。図136に格子線の引き方を示しているが、まず、破線で示すように、基準セルの基準点を仮想の線で繋ぐ。次に、図示しないが、図124と同様に交点の存在しない行および列では、内挿または外挿によって仮想の格子線を形成し格子点を求めればよい。
(実施例10)
図137は、図118のように2色の基準セル1−1を所定の規則で配置した実施例である。1行1列、5行6列の基準セル1−10では、明色の所定領域2−00が所定領域を除く暗色の領域2−11で囲まれ、1行6列、5行1列の基準セル1−11では、暗色の所定領域2−01が所定領域を除く明色の領域2−10で囲まれている。従って、実施例9などと同様に、所定領域2−01を容易に抽出して、基準点の正確な座標値を求めことができる。実施例9と比べると、暗色の所定領域2−01から算出される基準点も用いることができることから、基準セル1−1は、複合コードを形成するセル数にもよるが、10個〜25個前後以上の間隔に配置すれば十分である。なお、基準セル1−1は、少なくとも特定セル1−0が配置される行および列に対して、少なくとも複数個配置されるのが望ましい。なぜなら、同じ行方向および列方向の基準セル1−1から算出された基準点を含むように格子線を引けば、その格子点から複合コード内の全ての基準点が正確に算出できるからである。基準セル1−1を矩形上に配置すれば、均一な精度で格子点を算出することも容易である。さらに、多数の特定セル1−0で形成される大型(大容量)の複合コードでは、格子状に基準セル1−1を配置すれば、確実に、複合コードが形成された媒体の湾曲や、複合コードをカメラで斜めに撮影した場合の変形にも追従でき、基準点の座標値を正確に算出して第1および第2のコードに定義されたデータを正確に算出することができる。なお、このような基準点の補正方法は、他の実施例全てに用いることができ、さらに、第2のコードを有しないQRコード等の従来の2次元コードのセルの位置情報の算出にも使用できる。
基準点は、実施形態5および実施形態10で説明する種々のアルゴリズムのいずれかを用いて求めればよい。図138に格子線の引き方を示しているが、まず、破線で示すように、基準セルの基準点を仮想の線で繋ぐ。次に、図示しないが、図124と同様に交点の存在しない行および列では、内挿または外挿によって仮想の格子線を形成し格子点を求めればよい。
(実施例11)
図139は、特定セル1−0内における所定領域2−0およびマーク3−0との幾何学的関係を明示した基準パターンの実施例である。複合コードの所定の位置に配置された基準セル1−2において、i)1行1列と5行6列の基準セルの明色の所定領域1−20の左右・上下の区画に暗色基準マーク3−11,45度斜め方向の区画に明色基準マーク3−10が配置され、基準パターンが基準セル1−20に形成されている。ii)1行6列と5行1列の基準セルの暗色の所定領域1−21の左右・上下の区画に明色基準マーク3−10,45度斜め方向の区画に暗色基準マーク3−11が配置され、基準パターンが基準セル1−21に形成されている。上記、基準セル1−20と基準セル1−21のいずれでも所定領域2−0が矩形であり、周辺との境界を明暗で認識できることから正確に基準点の座標値を算出することができる。すなわち、上下左右に線上で境界を認識してもよいし、ドットを検出する方法でもよい。これにより、撮像された複合コードが大きく変形して第1のコードで算出される基準点の座標値にずれが生じても補正することができる。さらに、所定領域2−0のサイズ(基準マーク3−1と同一サイズ)も正確に認識できることから、所定領域2−0の周辺に配置される明色基準マーク3−10と暗色基準マーク3−11との境界から、それらのマーク3−0の中心座標値を正確に算出することができる。なお、基準点に対する各マーク3−0の配置のずれは、基準点の座標値のずれよりも少ないため、基準パターンは、複合コードを形成するセル数にもよるが、10個〜25個前後以上の間隔に配置すれば十分である。
基準点は、実施形態5および実施形態10で説明する種々のアルゴリズムのいずれかを用いて求めればよい。図140に格子線の引き方を示しているが、まず、破線で示すように、基準セルの基準点を仮想の線で繋ぐ。次に、図示しないが、図124と同様に格子点の存在しない行および列では、内挿または外挿によって仮想の格子線を形成し格子点求めればよい。さらに、基準パターンを定義するマークそれぞれの中心座標値も正確に求まるので、これらについても格子線を引いて補正に用いることができる。つまり、所定の領域以外のマークを用いて精密な補正をすることができる。図128よび図130の例についても、十分に高い解像度があれば、同様に格子線を引くことができる。
(実施例12)
図141は、実施例10の基準セル1−1に、向きが認識できるユニークな形状の所定領域2−01を図133(a)の区画で配置した実施例である。撮像された複合コードが大きく変形して正確な向きが認識できなくても、ユニークな形状の所定領域2−01により基準セル1−1における向きが正確に認識できる。なお、基準セル1−1の所定領域2−01の形状や大きさは、向きを認識できればどのような形状や大きさでもよい。特定セル1−0の向きのずれは、基準点の座標値のずれよりも少ないため、複合コードを形成するセル数にもよるが、基準セル1−1は10個〜25個前後以上の間隔に配置すれば十分である。また、所定領域2−01の基準点は、基準セル1−1の中心とするのが望ましいが、その中心座標値の算出には、実施例1の計算式を補正して用いることができる。補正は、所定領域2−01の形状は、基準セル1−1の中心から上下方向に非対象であり、上部が2ピクセル,下部が4ピクセルで形成されていることから、2/(2+4)=1/3の1/2だけ下方にずれており、1/6ピクセルを加算すればよい。なお、左右対称であるためX座標値は補正の必要はない。本実施例では、所定領域に配置される基準点は、撮影した複合コードが記録されるフレームバッファ(XY座標軸を有する二次元画像一時記憶領域)において、実施形態10の図66〜70の説明のように、2値化されたn個のピクセル(画素)で形成される所定領域2−0の中心座標値(X,Y)を、各ピクセルの中心座標値を(X,Y)として、X=(ΣX,i=1〜n)/n,Yは、所定領域2−01の形状と配置を鑑み1/6ピクセルを加算して、Y=1/6+(ΣY,i=1〜n)/nの計算によって求められる。このように、所定領域2−01がどのような形状・配置であっても、上記の補正によって基準点を求めることができる。
図142に格子線の引き方を示しているが、所定領域の基準点が所定領域の図心ではなく、セルの中心と一致する場合の例として、まず、破線で示すように、基準セルの基準点を仮想の線で繋ぐ。次に、図示しないが、図124と同様に交点の存在しない行および列では、内挿または外挿によって仮想の格子線を形成し格子点を求めればよい。
(実施例13)
図143は、実施例11の基準セル1−2に方向を加えて、特定セル1−0内における所定領域2−0およびマーク3−0との幾何学的関係を明示した基準パターンの実施例である。実施例11と同様に、基準セル1−20と基準セル1−21のいずれでも所定領域2−0が矩形であり、周辺との境界を明暗で認識できることから正確に基準点の座標値を算出することができる。すなわち、上下左右に線上で境界を認識してもよいし、ドットを検出する方法でもよい。実施例11との差異は、i)1行1列と5行6列の基準セルの明色の所定領域1−20の左下45度斜め方向の区画に暗色基準マーク3−11を配置して、方向を示すユニークな基準パターンを形成している点、ii)1行6列と5行1列の基準セルの所定領域1−21の右下45度斜め方向の区画に明色基準マーク3−10を配置して、方向を示すユニークな基準パターンを形成している点にある。本実施例により、マーク3−1の配置パターンはユニーク(非回転対称)であるため、方向を認識することができ、実施例7と同様な効果を得ることができる。
基準点は、実施形態5および実施形態10で説明する種々のアルゴリズムのいずれかを用いて求めればよい。図144に格子線の引き方を示しているが、まず、破線で示すように、基準セルの基準点を仮想の線で繋ぐ。次に、図示しないが、図124と同様に格子点の存在しない行および列では、内挿または外挿によって仮想の格子線を形成し格子点を求めればよい。さらに、基準パターンを定義するマークそれぞれの中心座標値も求まるので、図144と同様にこれらについても格子線を引いて補正に用いることができる。
(実施例14)
現行のスマートフォンなどのコードリーダーは、高解像度であるため、実施例8〜実施例13のマーク3−0の大きさが半分(区画を2x2から1x2)でも十分に検知可能である。図145では、基準点の算出を精度よく行うために、所定領域2−0の大きさを実施例8〜実施例13と同様に2x2の区画でとる一方で、前記マーク3−0を、実施例8〜実施例13と比べて区画数を多くするために、半分の1x2の区画でとった実施例である。ここでは、図145(a)に示すように、図133(a)と同様に、6×6ピクセルを基準としているが、所定領域および各マークの大きさに合わせて1個のセルを区画化した具体例として、図145(b)を表記する。実施例8〜実施例13の場合と同様に、特定セルの構成は6×6ピクセルに限られることはなく、形成および読み取りができれば、どのような大きさでもよいし、縦横異なる区画数でもよいし、また、各区画の形状や大きさ、向きもどのようなものでもよい。また、高い精度で基準点を算出するためには、所定領域がセルの中心の区画を占め、基準点がセルの中心にあるのが望ましいが、形成および読み取りができれば、どこにあってもよい。この具体例では、所定領域として縦横2x2の区画、マークとして縦横1x2の区画をとっているが、形成および読み取りができれば、どのような形状や大きさ、向き、位置でもよい。また、同じコード内でこれらが異なってもよい。この実施例における所定領域の特徴は、実施例8〜実施例13の所定領域の特徴と同様である。
図145(c)〜図145(f)は、第2のコードによるデータの定義の方法を示している。中央の区画内に同一形状で位置する所定領域2−0は、図145(c)では、暗色2−01(黒色)、図145(d)では、明色2−00(白色)で形成されており、所定領域を除く領域2−1は、ここでは、明色2−10として示している。明色セルでは、セルの所定領域2−00(白色)と所定領域を除く領域2−10(白色)の境界を明示するため、矩形状の点線で示しているが、実際の複合コードにはこの点線は描かれない。図145(c)と図145(d)では、いずれでも、第1のコードのセルの基準点から、マークが配置される区画と同一の形状と大きさで、右上から一番目の区画を明色、二番目を暗色として、前者を明色の分離マーク、後者をデータの開始を示す暗色のヘッダーとして配置している。同様に、左下から一番目の区画を明色の分離マーク、二番目を暗色のヘッダーとして配置している。このように一番目に明色区画があるために、それぞれのヘッダーの抽出が容易となっており、データの開始位置が明確となるのみならず、マークの寸法が求まり、さらには各マークの位置などが精度よく認識できる。右側のヘッダーから外側の2列に関して右回りにマークの番号を(1)〜(8)まで付し、さらに左側の列からの続きとして中央の列に(9)〜(12)まで付し、これら12か所のマークの色によって情報を定義している。
本実施例では、特定セル1−0の基準点はセルの中央に配置されているが、セルの色を識別できる位置であれば、基準点は所定領域2−0内のどこに配置されてもよい。
図145(c),図145(d)には、マーク3−0の配置候補位置が区画を示す矩形状の実線で示され、番号を(1)〜(12)まで付しているが、実際の複合コードには、この実線や番号は描かれない。また、特定セル1−0との幾何学的関係を分かりやすくするためセルの外枠を実線で示しているが、この外枠も実際の複合コードには描かれない。
本実施例では、(1)〜(12)のマーク3−0は、それぞれ明色3−00(0:ビット情報=0あるいはOFF、以下のカッコ内も同様)であるか暗色3−01(1:ビット情報=1あるいはON、以下のカッコ内も同様)であるかで、1bitの情報を定義している。明色3−00(0)であるか暗色3−01(1)であるかは、図145(e),(f)のマークの色を認識して識別している。マーク3−01が1個も配置されないセルも情報として定義することができる。1個のセル内にマーク3−0の配置候補位置が12か所あることから、1個のセルに12bitの情報が定義できる。12bitの情報は、マークの番号に従って(12)番目から(1)番目の順にデータ化される。もちろん、この順番はどのように設定してもよい。図145(e),図145(f)は、それぞれ図145(c),図145(d)に区画と同じ形状と大きさのマークを区画領域に配置して情報を定義した実施例であるが、図145(e)では、001010111010,図145(f)では、101101010101の数値情報が定義されている。
図145(e),図145(f)には、さらに、データスキャンの方法の具体例も示されており、まず、右上から左下に向けて対角線に沿ってスキャンする。このスキャンでは、所定領域を対角線に沿って横切るので、所定領域の抽出と基準座標値の正確な算出ができる。さらに、左右両方の明色の分離マークおよび暗色のヘッダーを斜めに横切るので、それぞれの位置およびディメンジョンが求まる。ヘッダー情報が確定したら、次にそれを基にマーク番号に対応するように、右列を上から下へ、左列を下から上へ、そして、中央の列に関しては、まず上から所定領域に向けて、つづいて下から所定領域に向けてスキャンすることで、マークによって定義されるデータを読み取る。ここで挙げた例は、単なる例に過ぎず、形成および読み取りができれば、ヘッダーや分離マークをどこにおいてもよい。また、ヘッダーなどを置かずにデータ用のマークを増やしてもよい。また、マークをどのように配置してもよく、予め決めておけば、読み取る順番が各セルで異なってもよい。
なお、区画方法は任意であり、区画の形状は、矩形の他、三角形、多角形や曲線で区画したものでもよい。また、本実施例では、区画に同一形状のマークが区画を充填するように配置されているが、区画された領域のどこに配置してもよく、形成および読み取りができれば、マークはどんな形状や大きさ、向き、色、数でもよく、さらに、同一セル内に異なる形状や大きさ、向き、色、数のマークを配置してもよい。また、特定セルすべてに情報データが入っている必要はなく、各セル中のマークにダミーマークがあってもよい。
(実施例15)
図146は、第2のコードにおいてセル内を6×6で区画した図133および図145に対して、8×8で区画した場合の所定領域とマークの配置例と情報の定義の方法を示している。図133および図145について説明した内容の内、下記では、重複した説明を省いているが、それらは本実施例でも適用でき、組み合わせて使用してよい。また、これらはあくまでも例であり、本実施形態における複合コードのセルは、これらに限定されない。
図146(a),(d),(g),(j),(m)は、1個のセル内にマーク3−0の配置位置を点線で示した8か所に設けた実施例であり、1個のセルに8bitの情報が定義できる。8bitの情報は、左から(8)、(7)、(6)、(5)、(4)、(3)、(2)、(1)の順に1bitずつ数値化される。図146(p)は、1個の特定セル内の実線太線で示した所定領域2−0にマーク3−0の配置位置を点線で示した12か所に設けた実施例であり、1個の特定セル1−0に12bitの情報が定義できる。12bitの情報は、左から(12)、(11)、(10)、(9)、(8)、(7)、(6)、(5)、(4)、(3)、(2)、(1)の順に1bitずつ数値化される。上記、いずれのマークもスマートフォンの表示および300dpiによる印刷において2×2ピクセルで形成される。なお、600dpiによる印刷では、4×4ピクセルで形成される。なお、セル内の区画を示す実線細線および所定領域2−0を示す実線太線、マーク3−0を示す点線は複合コードには描かれない。
図146(a)〜図146(c)は、マーク3−0同士が接触しないように空隙を設け、所定領域2−0が4×4ピクセルで形成された実施例を示す。所定の方法で空隙を認識することにより、マークの配置を正確に取得できる。空隙の色は、マーク3−01と識別できればどのような色でもよい。空隙とマークの認識方法は複数の方法があるが、実施形態10の図66〜図70や図145(e),図145(f)のように、空隙をまたぐようにして、直線上でマークの色の変化点を取得してマーク3−01を認識してもよい。なお、これまでに説明した他のマークの認識方法を用いてもよいし、組み合わせて認識の精度を上げてもよい。図146(b),図146(c)では、所定領域2−0が所定領域を除く明色の領域2−10で囲まれており、当該領域2−10にマーク3−01が配置されている。これにより、図146(b)では、10011101,図146(c)では、01101010の数値情報が定義されている。なお、本実施例では、所定領域2−0を大きめに配置していることから、多少基準点がずれていても、所定領域2−0に含まれるので、セルの色を識別できる。
図146(d)〜図146(f)は、図146(a)〜図146(c)に対して、さらに、所定領域2−0がマーク3−01と接触しないように空隙を設け、所定領域2−0を2×2ピクセルで形成した実施例を示す。本実施例では、所定領域2−0とマーク3−01との幾何学的配置関係がより明確になり、マーク3−01の認識率を向上させることができる。しかし、所定領域2−01が小さいために基準点がずれていると特定セル1−0の色を誤認する可能性がある。なぜなら、セルの面積に対する所定領域の面積比が4/64=0.0625となり、カメラの光軸が複合コード形成面に対して傾いて撮影がされた場合に、面積比が1/10を下回ると、第1のコードの読み取りによってずれて算出された基準点の座標値が所定領域2−0に含まれなくなり、所定領域2−0の色とは異なる色が認識される場合があるからである。補正の方法としては、基準セル1−1や基準セル1−2を含む実施例9〜13のように補正してもよいし、基準点近傍の色から所定領域2−01を認識して、当該所定領域2−01を基に基準点を補正し、さらに、所定領域2−01とマーク3−01との幾何学的配置関係からマーク3−01を認識してもよい。また、前述の空隙をまたぐようにして、直線上で所定領域2−01の色の変化点を取得して、所定領域2−01を認識してもよい。
図146(g)〜図146(i)は、図146(a)〜図146(c)に設けた空隙部分を含めて形成させた所定領域2−0の実施例である。これにより、所定領域2−0の面積比が、特定セル1−0の面積(ピクセル数)に対して、(4×4+2×8)/(8×8)=1/2となる。若干数値情報が少なくなるが、所定領域2−0と同色のマーク3−0を少なくとも2個配置することにより、所定領域2−0と同色のマーク3−0の和が、特定セル1−0に対して(32+4×2)/64=0.625、すなわち、62.5%となり、セルの面積に対する所定領域の面積比が60%を超えることから、セル全体の色で識別するQRコードリーダーでQRコード部分を読み取ることができる。この場合の特定セル1−0が有する数値情報は、本来8bit=256だが、256−()=247となり僅か9減少するだけである。さらに望ましいのは、同色のマーク3−0を少なくとも3個配置することで、そのことにより、(32+4×3)/64=0.6875となり、面積比が2/3を超えることから、既存のQRコードリーダーでも確実にQRコード部分を読み取ることができる。この場合の特定セル1−0が有する数値情報は、256−()=219であり、大幅な数値情報の減少とはならない。上記により、セルの中心位置の色を識別する約半数の方法と、セル全体の色で識別する残り約半数の方法の両方のQRコードリーダーで、第2のコードの情報量を確保しつつ、複合コードのQRコード部分を読み取ることができ、汎用性が高まる。本実施例では、定義される数値情報において2進数で、マーク3−01は1、マーク3−00は0としているが、所定領域2−0と同色のマーク3−0を1とした場合は、図146(i)では、10010101の数値情報が定義されることになる。
図146(j)〜図146(l)は、当該特定セル1−0が、隣り合う他のセルとマーク3−01が接触しないように空隙を設けて、所定領域2−0が2×2ピクセルで形成された実施例である。これにより、マーク3−01と他のセルとを明確に識別して誤認を防ぐことができる。なお、所定領域2−0が2×2ピクセルで小さいことから、基準点が所定領域2−0に含まれない場合の可能性があるので、図146(d)〜図146(f)の場合と同様な基準点の補正をすることが望ましい。
図146(m)〜図146(o)は、図146(j)〜図146(l)に設けた空隙部分を所定領域2−0と同色の領域として分離させて所定領域2−0を形成させた実施例である。これにより、図146(g)〜図146(i)と同様に、所定領域2−0と同色のマーク3−0を少なくとも2個または3個配置することにより、面積比がそれぞれ62.5%または2/3を超える値となることから、セル全体の色で識別するQRコードリーダーでQRコード部分を読み取ることができる。なお、所定領域2−0と同色のマーク3−0を1とした場合は、図146(i)と同様に、図146(o)では、0010101の数値情報が定義されることになる。本実施例も図146(g)〜図146(i)と同じ数値情報の減少となるが大幅な減少はなく、第2のコードの情報量を確保しつつ、どのようなQRコードリーダーでも複合コードのQRコード部分を読み取ることができ、汎用性が高まる。
図146(p)〜図146(r)では、4×4ピクセルの所定領域2−0の周辺に、マーク3−01を最大12個配置させることが可能であり、マーク3−0を1とした場合は、図146(q)では010101100111,図146(r)では101101011010の数値情報が定義される。所定領域2−0と同色のマーク3−0を1とした場合は、図146(r)は、010010100101の数値情報が定義されることになる。近接した12個のマーク3−0を正確に認識するためには、基準点の座標値と、基準点とマーク3−0との幾何学的配置関係を正確に認識する必要がある。これらの認識方法は、既に実施例に記載したどのような方法で実施してもよい。
図146(s)〜図146(u)では、図146(p)〜図146(r)の所定領域2−0を4×4ピクセルから2×2ピクセルにして、図146(d)〜図146(f)のように所定領域2−0とマーク3−0の間に空隙を設けてもよい。その際、図146(t)では所定領域2−01を除く領域を明色領域2−10とし、図146(u)では所定領域2−00を除く領域を暗色領域2−11とすることにより、所定領域2−0を囲む識別可能な空隙を設けることができる。その結果、本実施例では、所定領域2−0と基準点が正確に認識可能となり、マーク3−0との幾何学的配置関係がより明確になり、マーク3−0の認識率を向上させることができる。このような所定領域2−0を囲む識別可能な空隙は、図146(d)〜図146(f)に適用してもよい。
(複合コード生成手順のフローチャート)
図147のフローチャートを用いて複合コードの生成手順について説明する。例として、第1のコードとしてQRコードを用いる。
図147に示す複合コードの生成手順としては、まず、格納する情報量に応じて、QRコードのバージョンを決め、そのバージョンに基づくセル配列を生成させる。ここで、誤り訂正レベルも決める。誤り訂正レベルは必要に応じて適宜変えればよい(U11)。次に、第1のコードの内のデータ領域(ファインダパターン、ファインダパターンの分離パターン、タイミングパターン、アラインメントパターンなどQRコードの補正等に不可欠な機能パターンやフォーマット情報、型番情報の領域などを除いた領域)のセルを所定数で区画する(U12)。それらのセルに所定領域を設定して、第1のコードのデータを定義する(U13)。そして、第2のコードに格納するデータに基づき特定セルを設定する。なお、第2のコードの特定セルとして使用しないセルは、区画しなくてもよく、所定領域の形状がセルと同一でもよい。つまり従来のQRコードのセルのままでもよい。第2のコードのデータフォーマット情報や特定セルインデックスなどは、読取り装置に含まれていてもよいし、第1のコードに格納してもいいし、第2のコードに格納してもよい。なお、第2のコードのデータフォーマット情報と第1のコードのセルインデックスを基に、第2のコードの特定セルインデックスを作成してもよい。あるいは、所定領域の形状、マークの有無で認識できるようにしてもよい。本来のQRコードの上記機能パターンを形成するセルに、特定セルを配置して第2のコードを格納してもよい(U14)。さらに、特定セルインデックスに従い、データを形成する各セルに定義される数値情報に基づき設定された区画にマークを配置する(U15)。読み取り順序情報を別途格納すれば、読み取り順序を変えてもよい。必要に応じて、基準点や基準パターンを定義する基準セルを配置する。その基準セルにも情報を定義してもよい(U16)。
(複合コードにおける特定情報と特定領域)
実施形態9の(複合コードの定義)に、「第2のコードは、前記第1のコードの少なくとも一部に対応する特定情報を含むとは、実施形態4、5と同様、第2のコードが、第1のコードであるバーコード、あるいは英数字、漢字、片仮名、平仮名等の文字列等で表されるデータをデジタル署名したものであることが例示される。」と記載されていることから明らかなように、特定情報はデジタル署名、つまり暗号化情報を含むことが記載されている。さらに、実施形態6の図47から図54で説明した電子認証の全てに対して、下記のケースも含むことの記載から、暗号化情報を含む特定情報は、QRコードを含む第1のコードおよび、ドットコードを含む第2のコードに格納してもよい。
・QRコードのデータの符号化情報を暗号化手段で暗号化した暗号化情報を、ドットコードに格納
・QRコードのデータの符号化情報を暗号化手段で暗号化した暗号化情報を、QRコードに格納
・ドットコードのデータの符号化情報を暗号化手段で暗号化した暗号化情報を、QRコードに格納
・ドットコードのデータの符号化情報を暗号化手段で暗号化した暗号化情報を、ドットコードに格納
・QRコードのデータの符号化情報を暗号化手段で暗号化した暗号化情報をドットコードに、ドットコードのデータの符号化情報を暗号化手段で暗号化した暗号化情報をQRコードに、それぞれ格納
・QRコードのデータの符号化情報を暗号化手段で暗号化した暗号化情報をQRコードに、ドットコードのデータの符号化情報を暗号化手段で暗号化した暗号化情報をドットコードに、それぞれ格納
・QRコードのデータと、ドットコードのデータから形成されるデータ列の符号化情報を暗号化手段で暗号化した暗号化情報を、QRコードに格納
・QRコードのデータと、ドットコードのデータから形成されるデータ列の符号化情報を暗号化手段で暗号化した暗号化情報を、ドットコードに格納
さらに、特定情報は暗号化情報に限らず、符号化情報を含んでもよく、同様に、実施形態6の図55および図56で説明した電子認証の全てに対して、下記のケースも含むことの記載から、符号化情報を含む特定情報は、QRコードを含む第1のコードおよび、ドットコードを含む第2のコードに格納してもよい。
・QRコードのデータの符号化情報をドットコードに格納
・QRコードのデータの符号化情報をQRコードに格納
・ドットコードのデータの符号化情報をQRコードに格納
・ドットコードのデータの符号化情報をドットコードに格納
・QRコードのデータの符号化情報をドットコードに、ドットコードのデータの符号化情報をQRコードに、それぞれ格納
・QRコードのデータの符号化情報をQRコードに、ドットコードのデータの符号化情報をドットコードに、それぞれ格納
・QRコードのデータと、ドットコードのデータから形成されるデータ列の符号化情報を、QRコードに格納
・QRコードのデータと、ドットコードのデータから形成されるデータ列の符号化情報を、ドットコードに格納
上記のケースに限らず、第2のコードのデータフォーマット情報等、ユーザーが使用する情報(誤り訂正符号を含む)を形成するためのデータ以外の情報を特定情報として第1のコードおよび/または第2のコードに格納してもよい。また、特定情報は、第1および第2のコードの一部の領域に設定された特定領域に格納されるのが望ましい。なお、QRコードを第1のコードとして使用する場合、特定情報の格納に埋め草領域を使用してもよい。以上の特定情報および/または特定領域は、他の実施例と組み合わせて使用してもよい。
(誤り訂正符号化と特定セルへのデータ格納)
ここでの誤り訂正符号化とデータ格納の例を以下に示す。(1)本来のQRコードのデータ格納可能特定セル数を、ファインダパターン0−1やファインダパターンの分離パターン0−2、タイミングパターン0−5、アライメントパターン0−3、形式情報0−4などの引き算により導き出す。例えば、QRコードバージョン2では、375個でそれぞれ8ビットとして使えるので、格納可能な情報量は375バイトである。この場合は、タイミングパターン0−5(16)のセルにも特定セルとしての役割を持たせることで、データ格納可能セル数の375は、全セル数(25x25=625)からファンダーパターン0−1(49x3=147)、分離パターン0−2(15x3=45)、アライメントパターン0−3(25)、形式情報0−4(17+8x2=33)の各セル数の計250を引くことにより求まる。(2)使用するリード・ソロモン符号の個数を計算する。375/255+1=2、よって、各RS符号の符号長は375/2=187となる。(3)所定の割合の符号化率のリード・ソロモン符号で符号化する。GF(2)(n,k,d)=(187,148,40)から、符号化後の情報量は148x2=296バイトとなる。(4)インターリーブを行う。RS1[0],RS2[0],RS1[1],RS2[1],…の順番でデータを並べる。(5)データと同様に誤り訂正符号を、左上から右に向かって、段を下がって同様に左から右に向かって格納していく。すなわち、全体として、左上から右下に向かって格納する。
以上の生成手順の順序はあくまでも例であり、複合コードの生成に支障がない限り、実施する順序を変えてもよい。また、実施形態2や3、6,7で説明されている手順を用いたり、組み合わせて用いたりしてもよい。
この複合コードを印刷物にプリントしたり、スマートフォンなどのディスプレイで表示させたりして利用してもよい。
(複合コード読み取り手順のフローチャート)
図148〜図151のフローチャートを用いて複合コードの読み取り手順について説明する。その複合コードは、印刷されたものでもいいし、スマートフォンなどのディスプレイに表示されたものでもよい。
(読み取り手順A)
図148では、第2のコードによる補正がない場合、つまり、本来の第1のコードによる補正要素のみで第2のコードのデータを取得することが可能な場合で、第1のコードの処理を行った後に第2のコードの処理を行う場合の読み取り手順を図示している。
まず、読取り装置による複合コードの読取りをする(U21)。次に、その複合コードの第1のコードのセル配置を認識し、ついで、基準点を認識する(U22)。そして、第1のコードのセルインデックスに従って所定領域におけるセルの色を認識する(U23)。QRコードのセルインデックスは読取り装置に格納されているが、オリジナルコードの第1のコードである場合は、第1のコードのセルインデックスは、複合コードに格納されていてもいいし、読取り装置に格納されていてもよい。すべての第1のコードのセルの認識が終了するまで同様の処理を行う(U24)。次に、第1のコードの各セルの数値情報から統合情報(データ)を生成する(U25)。そして、第1のコードに対応する情報処理をする。データの中に、第2のコードのデータフォーマット情報などがあれば、以後の第2コードの処理の際に用いる(U26)。第2のコードのデータフォーマット情報に特定セルインデックスがあれば、特定セルインデックスを参照して特定セルかどうかを認識する(U27)。そして、第2のコードの特定セルインデックスに基づいてマークの形状や配置により定義された数値情報を取得する。複合コードのデータフォーマット情報に読み取り順序が規定してあれば、第1のコードの読み取り順序と異なる順序で読み取りをしてもよい(U28)。すべてのセルの読み取りが終了するまで同様の処理を行う(U29)。引き続き、第2のコードのデータフォーマット情報を基に第2のコードの特定セルの数値情報から統合情報(データ)を生成する(U30)。そして、第2のコードに対応する情報処理をする(U31)。
従来のQRコードリーダーを用いて、複合コードの画像を撮影してQRコード部分のデータのみを取得して処理してもよいし、複合コードリーダーで複合コードの画像を読み取ってもよい。
(読み取り手順B)
図149では、第2のコードによる補正がない場合、つまり、本来の第1のコードによる補正要素のみで第2のコードのデータを取得することが可能な図146と同様な場合で、第1のコードのセルの処理中に第2のコードの特定セルの処理を実施する読み取り手順を図示している。
まず、読取り装置による複合コードの読取りをする(U21)。次に、その複合コードの第1のコードのセル配置を認識し、ついで、基準点を認識する(U22)。そして、第1のコードのセルインデックスに従って所定領域におけるセルの色を認識する(U23)。QRコードのセルインデックスは読取り装置に格納されているが、オリジナルコードの第1のコードである場合は、第1のコードのセルインデックスは、複合コードに格納されていてもいいし、読取り装置に格納されていてもよい。各セルについて、第2のコードとして登録された特定セルかどうかを判断する。すなわち、特定セルインデックスを参照して特定セルであるかどうかを認識する(U29A)。そして、第2のコードの特定セルインデックスに基づいてマークの形状や配置により定義された数値情報を取得する(U28)。すべての第1のコードのセルの認識が終了するまで同様の処理を行う(U24)。次に、第1のコードの各セルの数値情報から統合情報(データ)を生成する(U25)。そして、第1のコードに対応する情報処理をする。データの中に、第2のコードのフォーマット情報などがあれば、以後の第2コードの処理の際に用いる(U26)。引き続き、第2のコードのデータフォーマット情報を基に第2のコードの特定セルの数値情報から統合情報(データ)を生成する(U30)。そして、第2のコードに対応する情報処理をする(U31)。
図示しないが、U26とU31は、最後に一緒に実施してよい。
従来のQRコードリーダーを用いて、複合コードの画像を撮影してQRコード部分のデータのみを取得して処理してもよいし、複合コードリーダーで複合コードの画像を読み取ってもよい。
(読み取り手順C)
図150では、先行して第2コードで基準点や基準パターンを定義する基準セルによる補正を行う場合で、図149と同様に第1のコードのセルの処理中にと第2のコードの特定セルの処理を実施する読み取り手順を図示している。
まず、読取り装置による複合コードの読取りをする(U21)。次に、その複合コードの第1のコードのセル配置を認識し、ついで、基準点を認識する(U22)。ここで、所定の領域が配置された第2のコードの基準セルの所定領域を、第1のコードで算出される基準点の近傍から認識し、実施形態5および実施形態10で説明する種々のアルゴリズムのいずれかを用いて、基準点の補正を行う(U32A)。そして、第1のコードのセルインデックスに従って所定領域におけるセルの色を認識する(U23)。QRコードのセルインデックスは読取り装置に格納されているが、オリジナルコードの第1のコードである場合は、第1のコードのセルインデックスは、複合コードに格納されていてもいいし、読取り装置に格納されていてもよい。各セルについて、第2のコードとして登録された特定セルかどうかを判断する。すなわち、特定セルインデックスを参照して特定セルであるかどうかを認識する(U29A)。そして、第2のコードの特定セルインデックスに基づいてマークの形状や配置により定義された数値情報を取得する。基準パターンを含んで当該パターンのマークの形状や配置に基づき数値情報を取得してもよい(U28)。すべての第1のコードのセルの認識が終了するまで同様の処理を行う(U24)。次に、第1のコードの各セルの数値情報から統合情報(データ)を生成する(U25)。そして、第1のコードに対応する情報処理をする。データの中に、第2のコードのフォーマット情報などがあれば、以後の第2コードの処理の際に用いる(U26)。引き続き、第2のコードのデータフォーマット情報を基に第2のコードの特定セルの数値情報から統合情報(データ)を生成する(U30)。そして、第2のコードに対応する情報処理をする(U31)。
図示しないが、U26とU31は、最後に一緒に実施してよい。また、図示しないが、読み取り手順Aと同様に、第1のコードの処理が終了していから第2のコードの処理をしてもよい。
従来のQRコードリーダーを用いて、複合コードの画像を撮影してQRコード部分のデータのみを取得して処理してもよいし、複合コードリーダーで複合コードの画像を読み取ってもよい。
(読み取り手順D)
図151では、第2コードで基準点や基準パターンを定義する基準セルの代わりに、全てが基準点を単独で算出できる配置である特定セルの所定領域内にある基準点を基に補正を行う場合で、第1のコードのセルの処理中に第2のコードの特定セルの処理を実施する読み取り手順を図示している。図112〜図114や図116〜図117を用いて説明しているドットパターンを配置したセルおよび図146(d)〜図146(f)や図146(s)〜図146(u)を用いて説明している区画したセルなどによって構成されている複合コードがその例である。前記ドットパターンを配置したセルでは、所定領域と同一色マークが反対色の領域を介して隔てられており、さらに、所定領域と同一色マークのいずれもセルの境界と接していない。前記区画したセルでは、所定領域と同一色マークが反対色の領域を介して隔てられている。従って、ともに、所定領域の抽出が容易となっており、基準点の補正などもその観点から容易である。前記ドットパターンを配置したセルでは、隔たりのために、前記区画したセルでは、配置候補位置が固定であるため、マークの抽出も容易となっている。なお、第2のコードの所定領域を、第1のコードで算出される基準点の近傍から認識するのが望ましい。
まず、読取り装置による複合コードの読取りをする(U21)。次に、その複合コードの第1のコードのセル配置を認識し、ついで、基準点を認識する(U22)。そして、第1のコードのセルインデックスに従って所定領域におけるセルの色を認識する(U23)。QRコードのセルインデックスは読取り装置に格納されているが、オリジナルコードの第1のコードである場合は、第1のコードのセルインデックスは、複合コードに格納されていてもいいし、読取り装置に格納されていてもよい。各セルについて、第2のコードとして登録された特定セルかどうかを判断する。すなわち、特定セルインデックスを参照して特定セルであるかどうかを認識する(U29A)。ここで、実施形態5および実施形態10で説明する種々のアルゴリズムのいずれかを用いて抽出された特定セルの所定領域に基づき、基準点の補正を行う(U32B)。そして、第2のコードの特定セルインデックスに基づいてマークの形状や配置により定義された数値情報を取得する(U28)。すべての第1のコードのセルの認識が終了するまで同様の処理を行う(U24)。次に、第1のコードの各セルの数値情報から統合情報(データ)を生成する(U25)。そして、第1のコードに対応する情報処理をする。データの中に、第2のコードのデータフォーマット情報などがあれば、以後の第2コードの処理の際に用いる(U26)。引き続き、第2のコードのデータフォーマット情報を基に第2のコードの特定セルの数値情報から統合情報(データ)を生成する(U30)。そして、第2のコードに対応する情報処理をする(U31)。
図示しないが、U26とU31は、最後に一緒に実施してよい。また、図示しないが、読み取り手順Aと同様に、第1のコードの処理が終了していから第2のコードの処理をしてもよい。
従来のQRコードリーダーを用いて、複合コードの画像を撮影してQRコード部分のデータのみを取得して処理してもよいし、複合コードリーダーで複合コードの画像を読み取ってもよい。
以上の読み取り手順の順序はあくまでも例であり、複合コードの読み取りに支障がない限り、実施する順序を変えてもよい。また、実施形態2や3、6,7で説明されている手順を用いたり、組み合わせて用いたりしてもよい。
(実施例16)時系列複合コード
実施例1〜実施例13のように、明色および暗色のいずれにも1セル当たり第2のコードとして8bitの数値情報を定義することにより、第1のコードの8倍以上のデータを格納できるが、第2のコードのみ時間変化する時系列データとすることにより、膨大なデータを格納できる。時系列データを形成するマーク3−0は、時間方向に形状、大きさ、色、配置位置等どのように変化させて情報量を増大させてもよい。ここで、第1のコードを変化させない理由は、第1のコードも変化させても容量を大幅に増加できないことと、従来のQRコードリーダー等で読取りできなくなってしまうからである。さらに、第1のコード内には第2のコード読むための諸々の情報が格納されているため、少なくとも一度だけ第2のコードを読むための諸々の情報(データフォーマット情報)を読み取れば、時間変化する第2のコードを読み取ることができるからである。但し、第1のコードで取得した各セルの基準点座標値を第2のコードで使用する場合は、複合コードをビデオまたは連写で撮影してフレームに複合コードが記録された際に、手振れ等で複合コードの撮像位置がずれる場合があり、ずれた分の補正をする必要がある。補正の方法としては、
i)図152で例示するように、複合コードの番号をi,最終複合コード番号をk,各セルを特定するセル番号をjとすると、先ず、最初に読み取って記録された複合コード(複合コード番号:i=1)の中心座標値(x,y)と回転角(θ)を求める。次に、その後に撮影して記録される複合コード(i=2〜k)毎に、複合コードの中心座標値(x,y)と回転角(θ)を求めると、複合コード(i=1)に対する、以降の複合コード(1<i)の中心座標値の差分Δx=x−x,Δy=y−y,Δθ=θ−θが求まる。ここで、第1のコードで取得した各セルの基準点座標値を()とすると、複合コード(i=1)の中心座標値から各セルの基準点までの距離は、x,xであるから、複合コード番号iのセル番号jの基準点座標値()は、下式により求まる。

なお、手振れは殆どが平面的な移動・回転であり、上式はスマートフォン等の複合コードの表示装置の面に対して複合コード読み取り装置の光軸が傾かないことを前提とした近似式である。さらに、光軸の傾きも考慮に入れる場合は、撮像された複合コードの変形状況(例えば、コーナー4点の座標値から求まる変形)から、補正することもできる。
ii)最初の複合コード(i=1)の後に撮像された複合コード(i=2〜k)毎に第1のコードを読み取って各セルの基準点座標値だけを算出して、第2のコードの各セルの基準点の座標値としてもよい。
iii)フレーム(i=1)の後にフレーム(i=2〜k)毎に撮像された複合コードの第2のコードの基準セルに設けられた基準点や基準パターンに含まれる基準点、さらには、数値情報が格納された特定セルにおいて、算出可能な基準点を基に、実施形態5および実施形態10で説明する種々のアルゴリズムのいずれかを用いて、第2のコードの基準点座標値を求めてもよい。
第2のコードの基準点座標値の補正方法として上記3種を説明したが、これらの基準点座標値として、QRコード等の2次元コードでは、各セルの中心座標値を用いてもよいことは言うまでもない。
図153は、時系列複合コードの表示を示す時間軸(フレーム番号)を横軸にしたグラフであり、1秒間に60フレームを表示している。いずれでも、同じ番号の複合コードを数フレーム表示して、読取り装置で撮影して複数フレームを記録し、その中で良好に撮像された複合コードを読み取るようにしてもよい。図153(a)は、複合コード番号(1)〜(10)で1つのデータを形成している。当該データを形成している10個(k=10)の複合コードは4フレームずつ表示されているが、表示装置のフレームレートと読取り装置のフレームレートおよびその品質により表示フレーム数を設定すればよい。1つのデータを形成する複合コードの個数(k個)は第1のコードに格納し、第2のコードにそれぞれの複合コードの当該番号を格納しておけばよい。これにより、読み取る順番を問わず、どこから撮影しても、k個の複合コードを連続して読み取ることができる。読み取り精度を高めるためにk個の複合コードを2回以上読み取って相互照合してエラーチェックを実施するようにしてもよい。時系列複合コードを表示するのは、1秒間に5〜30フレームであり、時間方向に次に撮像された複合コードの各セルの基準点の位置のずれは極僅かであり、どのセルであるかは複数枚の撮像画像から、その僅かな基準点の移動を追跡して容易に認識できることから、セル番号の特定は難しくない。なお、表示装置のフレームレートをN(現行のスマートフォンのフレームレートNは60フレームが多い)とすると、時系列複合コードの表示回数がMで、M<Nの場合、同じ複合コードはN/Mフレームで連続して表示されることになる。なお、同じ複合コードを連続してLフレームずつ表示するように設定してもよい。図153(a)〜図153(c)のいずれでも、同じ複合コードを連続して、4フレームずつ表示している。図153(b)では、データを形成している10個の複合コードの表示が終了すると、所定フレーム数において、第1のコードのみを表示し第2のコードを表示しないようにしてデータの終了を意味する情報を表示している。その後、データを形成している10個の複合コードが再表示される。この所定フレームには、複合コードとは無縁の画像を入れてもよいし、他の形式でヘッダー等の情報を格納してもよい。但し、この場合は、既存のQRコードリーダーでは読めなくなる。さらに、このデータを形成している複合コードの個数kやk個で形成されるデータの表示回数(何回目に表示しているかなど)などを格納してもよい。なお、この所定のフレームにヘッダーとして第2のコードを含めて、上記の情報の他、エラーチェック用のデータや電子署名のための情報等を格納してもよい。この所定のフレーム数はいずれも4フレームとしているが、読取り可能であればどのように設定してもよいし、複合コード(1)の前にも設定してもよい。なお、この所定フレームをまたいでk個の複合コードを読み取ってもよいことは言うまでもない。図153(c)のように、複合コードを表示させないでコードの変化点を認識できるようダミーコードを配置してもよい。このダミーコードは、単色であることが望ましい。複合コードで使用する色や複合コードの周辺色であれば、なお望ましい。また、第1のコードを継続して認識できるように、第1のコードをダミーコードとして用いてもよい。これにより、撮影時のモーションブラー等を抑制できる場合がある。図153(c)では4フレームであるが、その効果が得られれば、フレーム数は問わない。さらに、その所定フレームに、第1のコードのみを表示させるようにしてもよい。そうすれば、第1のコードがQRコードのような既存の二次元コードであれば、当該二次元コードリーダーでどのようなタイミングでも読み取ることができる。
時系列複合コードの読み取りは、図153のように第2のコードを時間軸上にデータi=1〜kを形成して表示するが、第2のコードの一部または全部を読み取ることができない場合があり、その場合は、時系列データの時間軸上において、フレーム間に相関を持たせ誤り訂正符号化を行うことで形成されたデータを完全に復号することができる。この際に、i)数値情報が格納された特定セルの同じ位置(同じセル番号を有する特定セル)に配置されている1個毎の時系列数値情報に対して、誤り訂正を行ってもよい。つまり、当該セルの時系列数値情報として、時間軸上の所定のフレームにだけ誤り訂正符号を設ける。ii)一方、複数の特定セルに対して、当該セルの時間軸上のフレームの全てに誤り訂正符号を設けてもよい。また、従来の誤り訂正のように、フレーム毎の複合コードの所定の領域に配置される複数の特定セルに対して、当該フレームに定義された第2のコードの誤り訂正符号を設けてもよい。なお、i)とii)および従来の誤り訂正をどのように組み合わせて、誤り訂正符号化を行ってもよい。
以下、実施形態11で説明した複合コードの利用方法の例について説明する。実施形態6、実施形態7および実施形態9で説明した真贋判定や電子署名をはじめとして、利用方法に制限がないことは言うまでもない。
(実施例17)次世代決済システム(1)
店舗側でPOSシステム(スマートフォンやタブレットの簡易POSシステムでもよい)に購入商品を入力すると、ディスプレイに複合コードが表示される。購入者はスマートフォンの決済用専用アプリを起動させて複合コードを読み取ると、購入商品や金額等が表示される。間違いがないことを確認して決済ボタンをタップすると、購入者のスマートフォンには引き落としを可能にする内容の複合コードが表示され、店舗側の複合コードリーダー(専用リーダの他、スマートフォンやタブレット、また、それらに接続されたカメラでもよい)でそれを読み取り、決済会社が承認すると、所定の時期に決済がされる。決済用専用アプリが、常に残高や利用枠を認識していれば、決済可能であるかどうかも含めて電子署名された複合コードにデータを格納して購入者のスマートフォンに表示させることができる。従って、ネットを介した承認等を店舗側のPOSシステムが受け取る必要がなく、災害時やネットに障害がある場合でも決済が可能である。店舗側も対応する専用決済アプリにより、購入者のスマートフォンに表示された複合コードを読み取れば、その場で決済会社に承認を取らなくてもよい。その後に必要情報を基にネットによる決済が実施されてもよい。さらに、セキュリティを強化するため、購入者のスマートフォンに表示された複合コードに本人の顔写真を格納するようにすれば、店舗側は本人確認を同時に実施することもできる。本人の顔写真を所定の時間のみ表示させることで、データが店舗側に残らないようにして個人情報の漏洩を防ぐようにしてもよい。
(実施例18)次世代決済システム(2)
店舗側でPOSシステム(スマートフォンやタブレットの簡易POSシステムでもよい)に購入商品を入力すると、ディスプレイに複合コードが表示される。購入者はスマートフォンの決済用専用アプリを起動させて複合コードを読み取ると、購入商品や金額等が表示される。間違いがないことを確認して決済ボタンをタップすると、複合コードに格納されていた店舗側POSの無線ポイント(アドレス)とWIFIやBLE,BT等で接続され、購入者のスマートフォンから決済情報が送信される。ここで、決済用専用アプリが常に残高や利用枠を認識するようにすれば、購入者のスマートフォンと店舗側POSとをローカルで無線接続することによって、ネットを介した承認等を購入者のスマートフォンで受ける必要がなく、災害時やネットに障害がある場合でも決済を可能にできる。さらに、店舗側POSの無線ポイントもワンタイムパスワードのように毎回、変更させてもよい。変更の方法としては、時間依存にしたり、複数の無線ポイントから使用する無線ポイントをランダムに選択するようにしてもよい。店舗側も対応する専用決済アプリにより、購入者のスマートフォンから送信された決済情報を認証するようにすれば、その場で決済会社に承認を取らなくてもよい。その後に必要情報を基にネットによる決済が実施されてもよい。また、購入者のスマートフォンから店舗側POSの無線ポイント(アドレス)にWIFIやBLE,BT等で接続して決済情報を送信した後に、従来のクレジットカードのように、店舗側POSに接続されたディスプレイに購入者がサインをするようにしてもよい。もちろん、スマートフォンやタブレットのタッチパネルに指やスタイラスペンでサインするようにしてもよい。さらに、実施例17と同様に、複合コードに本人の顔写真を格納し本人確認をするようにしてもよい。
(実施例19)チケット本人確認システム
コンサートやイベント、交通チケット等、様々なチケットにおいて、転売や‘なりすまし’を防止するために、チケット取得時にスマートフォンで本人写真を撮影して、複合コードに取得チケット情報と共に本人写真を格納する。チケット使用時に、チケット発行者側がチケット使用者のスマートフォンに表示された複合コードを読取り、取得チケット情報の認証と、表示された顔写真による本人確認を同時に実施することによって転売や‘なりすまし’を防止できる。第三者がチケットを取得して本人に提供することを許可する場合は、本人写真をその第三者に提供するようにすればよい。また、取得者が本人の場合、自身の撮影済み写真を選択することができる。さらに、チケット使用者の顔の近傍に、複合コードが表示されたスマートフォンを向けた状態で、超高精度のカメラを搭載した複合コードリーダーでチケット使用者の顔と複合コードを同時に読み取ることにより、チケット使用者の顔と複合コードリーダーに格納された顔写真とを顔認証すれば同一人物であるかの確認が自動で可能となる。もちろん、チケット使用者の顔の撮影と複合コードリーダーに格納された顔写真の読み取りは別のデバイスで行ってもよい。顔の照合に替えて、自身の指の腹を撮影して複合コードリーダーに格納しておき、本人の指の腹と複合コードを同時に読み取ることによって指紋の照合をするようにしてもよい。
(実施例20)本人確認アプリ
第三者が本人確認するための専用アプリであり、様々なシーンで第三者が本人確認できるように複合コードに本人の顔写真を格納する。本人確認アプリに本人情報を登録する際に、本人の写真を撮影する他、住民票住所、戸籍、マイナンバー、保険証、免許証、パスポート、学生証、社員証等の所定の個人情報を入力または撮影して登録し、本人であることを、専用アプリ提供機関が承認する。本人写真が掲載された免許証やパスポート等を同時に撮影して、複合コードに格納された本人写真と照合すればなお望ましい。年齢と共に顔が変化し、本人を認識しづらくなる。そこで、定期的に本人の写真を取り直すように、本人確認アプリが音声やテキスト等のアラームで本人に知らせる。その際に、撮影した写真と複合コードに格納されている写真とを照合して、同一人物として承認できない場合は、‘なりすまし’として判断し、本人確認アプリが使用できないようにする。このように、顔の変化を辿るために定期的に本人の写真を撮影して複合コードに格納すれば、第三者が本人であることを確認できない程の顔の変化にはならない。不定期的にも、化粧の変化や整形による大きな顔の変化がある場合でも、本人所有のスマートフォンで自撮りや第三者が撮影した本人の顔写真を本人確認アプリが常に自動的に認識し、顔に大きな変化を検知した場合は、本人の写真を取り直すようにアラームで本人に知らせればよい。さらに、直近の自撮りや第三者が撮影した本人の顔写真を複合コードに格納してもよい。なお、静止画複合コードでは、本人を識別できるレベルのカラー写真を格納することができるが、時系列複合コードではより鮮明なカラー写真や短い動画を格納することができる。
(実施例21)移動情報提供手段
バスや鉄道等の移動手段において、そのルートや駅および近辺の施設、観光等様々な情報を複合コードに格納して、車内や駅に掲示することにより乗客は本来のQRコードには収まり切らない情報を複合コードからスマートフォンで取得することができる。複合コードをディスプレイに表示すれば、移動中の位置も含めて、移動時に変化する天気等の情報も取得することができる。これまでの車内に設置されたディスプレイでの情報提供では、自分の知りたい情報を自分で選択できなかったが、複合コードには様々な情報がリンクされており、スマートフォンを使用して好みの情報を取得することができる。また、タクシーを使用した際も出発地点から到着地点までのルートやタクシー代を複合コードに格納し、タクシー側のディスプレイで表示することにより、乗客は適切なルートで移動したかを確認でき、複合コード決済を適正に実施できる。このサービスが普及することにより、‘ぼられる’ことも抑止できる。乗客側も専用の移動地図アプリと連動させて、どのルートで目的地に移動したいかを複合コードに格納して、運転手の複合コードリーダーで読み取り、ナビによる表示や音声出力により、的確に乗客の希望するルートを運転手に伝えることができる。
本発明にかかる複合コードによれば、第1のコードのみの場合に比べ、第1のコードの領域内に第2のコードを格納することにより、同じコード領域で多量の情報を格納することが可能になる。
例えば、第1のコードがQRコードであり、第2のコードがドットコードである複合コードを印刷した場合には、QRコードのみを印刷した場合と比較して10倍以上、複合コードをスマートフォン等の画面に表示した場合には、ドットコードにカラー情報を付与し時間変化させることにより、QRコードの100倍以上の情報を格納することができる。
多量の情報量を格納できることから、インターネットを使用せずとも、数千文字の和文や写真、音声情報等も格納でき、文書管理からエンターテーメント、教育、観光まで幅広く活用できる。さらに、従来のQRコードリーダーでQRコード、すなわち第1のコー、に格納されたデータを読み取ることができる。
また、本発明にかかる複合コードは、各種の認証に用いることに適している。例えば、電子署名やURLの真贋判定を可能にするQRコードの印刷や、自身が保有するスマートフォンに自身の生体情報を格納したQRコードを表示し、相手方(装置も含む)が読み取ることにより本人確認等が容易にできる。
さらに、現在、QRコードは、その仕様を開示しているため、誰でも発行することが可能となっており、第三者が同一のコードを発行することができる。しかし、本発明にかかる複合コードでは、QRコード等に加えて、秘匿された新たなアルゴリズムでドットコード等のマーク(第2のコード)が形成されるため、ユニークな複合コードを発行することが可能となり、第三者により同一のコードが発行される可能性は極めて低く極めてセキュリティ性が高い。さらに、QRコードは複写や模倣が容易であり、QRコードに格納された情報を、ショルダーハッキング等により意図せぬ第三者に取得されてしまう可能性がある。しかし、複合コードでは、第2のコードは目視しにくく、模倣も困難である。
以上のように、本発明にかかる複合コードは、従来の1次元および2次元コードでは実現できない多くの利点を有している。
<その他の態様>
本実施形態は、さらに以下の態様を含む。
(態様1)
複数のセルが配列形状に配置され、それぞれが所定領域を有し、該所定領域にそれぞれが互いに識別可能な2以上の色のいずれかを有することによりデータが定義される第1のコードと、
前記複数のセルの少なくとも一部に前記所定領域を除く領域を有する特定セルを形成し、該所定領域を除く領域の所定の位置に配置される識別可能なマークによりデータが定義される第2のコードと、
を備えた複合コード。
(態様2)
前記所定の位置における前記マークの配置の有無により前記データが定義される
態様1に記載の複合コード。
(態様3)
前記所定領域は、任意の形状である、
態様1または2に記載の複合コード。
(態様4)
前記複数のセルの内、前記特定セル以外のセルの少なくとも一部が、前記所定領域と該所定領域を除く領域を有し、それぞれが互いに識別可能な色を有する、
態様1〜3のいずれかに記載の複合コード。
(態様5)
前記所定領域は、前記所定領域を除く領域に囲まれ、それぞれが互いに識別可能な色を有する、
態様3に記載の複合コード。
(態様6)
前記複数のセル内の所定領域は、それぞれのセルの色を認識するための基準点を含む、
態様1〜5のいずれかに記載の複合コード。
(態様7)
前記マークの配置位置は、少なくとも前記特定セルおよび該特定セル以外のセルの少なくとも一方の前記基準点を基に設定される、
態様6に記載の複合コード。
(態様8)
前記マークの配置位置は、少なくとも前記特定セルの前記基準点から所定方向に所定間隔を設けて設定される、
態様6に記載の複合コード。
(態様9)
前記基準点として識別可能な前記所定領域から算出された中心座標値を基に、他の前記複数のセルの基準点の座標値が算出される、
態様6に記載の複合コード。
(態様10)
識別可能な前記マークの配置位置と前記基準点および第2のコードの向きを含み形成される基準パターンが前記複数のセルのいずれかに配置される、
態様6〜9のいずれかに記載の複合コード。
(態様11)
前記基準パターンを基に、前記複数のセルの基準点からの前記マークとの幾何学的関係と前記第2のコードの向きを基に、前記データが定義される、
態様10に記載の複合コード。
(態様12)
前記第2のコードの向きは、前記基準パターンを形成するマークの形状、配置および、2以上の大きさの異なるマークのいずれかにより定義される、
態様10または11に記載の複合コード。
(態様13)
前記第2のコードの向きは、前記第1のコードの向きと同一である、
態様6〜12のいずれかに記載の複合コード。
(態様14)
前記基準点は、それぞれの前記セルの中心である、
態様6〜9のいずれかに記載の複合コード。
(態様15)
前記基準点は、それぞれの前記セルの所定領域の中心である、
態様6〜14のいずれかに記載の複合コード。
(態様16)
前記複合コードが撮影されて記憶装置にXY座標軸を有する2次元撮像画像(X,Y)において、n個のピクセルとして2値化された前記所定領域の中心(XC,)は、n個(i=1〜n)のピクセルの座標値をD(X,Y)とすると、X=(ΣX,i=1〜n)/n,Y=(ΣY,i=1〜n)/nである、
態様15に記載の複合コード。
(態様17)
前記所定領域の面積は、それぞれの前記セルの面積の1/10以上である、
態様1〜16のいずれかに記載の複合コード。
(態様18)
前記所定領域の面積は、それぞれの前記セルの面積の1/20以上である、
態様1〜16のいずれかに記載の複合コード。
(態様19)
前記複数のセル内の所定領域の色は、それぞれのセルの色として認識できるだけの所定の面積を有する、
態様1〜18のいずれかに記載の複合コード。
(態様20)
前記それぞれのセルの色は、前記識別可能な2以上の色のいずれかの色の濃度を所定量含むことによって、それぞれが互いに識別可能である、
態様1〜19のいずれかに記載の複合コード。
(態様21)
前記所定領域の面積は、それぞれの前記セルの面積の60%程度以上である、
態様1〜20のいずれかに記載の複合コード。
(態様22)
前記マークの色は、該マークが配置されるそれぞれの前記所定領域と同一色を含む、
態様1〜21のいずれかに記載の複合コード。
(態様23)
前記マークの配置位置は、少なくとも前記特定セルの前記所定領域を除く領域を任意の形状で区画した領域のいずれかに設定される、
態様1〜22のいずれかに記載の複合コード。
(態様24)
前記マークの形状は、前記区画した領域と同一形状であり、該区画した領域内は同一色を有する、
態様23に記載の複合コード。
(態様25)
前記マークは、該マークが配置される前記所定の位置または該所定の位置を含む領域に、前記所定領域が有する色と互いに識別可能な2以上の色のいずれかをそれぞれに有する、
態様1〜24のいずれかに記載の複合コード。
(態様26)
前記第2のコードは、前記マークの形状、大きさ、色、向き、配置パターンの少なくともいずれか1つにより、データが定義される、
態様1〜25のいずれかに記載の複合コード。
(態様27)
前記マークの形状は、任意の形状である、
態様26に記載の複合コード。
(態様28)
前記マークの色は、該マーク同士識別可能な少なくとも赤、緑、青、シアン、マゼンダ、黄、黒、白および前記所定領域の色のいずれかを含む、
態様1〜27のいずれかに記載の複合コード。
(態様29)
前記マークの大きさは所定の距離から視認しづらい大きさのマークである、
態様1〜28のいずれかに記載の複合コード。
(態様30)
前記複合コードは、媒体に形成されるか、電子媒体、放送媒体、記憶媒体または通信媒体等からの出力により表示装置に表示されるか、または電子媒体内にデジタル情報で形成される、
態様1〜29のいずれかに記載の複合コード。
(態様31)
少なくとも前記第2のコードが複数のコードで形成され、
前記複数のコードは、時系列データとして表示装置に時間軸方向に所定の順に表示されるか、または前記媒体の所定の位置に形成される、
態様30に記載の複合コード。
(態様32)
前記時間軸方向に所定の順に表示される複数のコードの間には、非表示の所定時間を含む、
態様31に記載の複合コード。
(態様33)
複数のセルが配列形状に配置され、それぞれが所定領域を有し、該所定領域にそれぞれが互いに識別可能な2以上の色のいずれかを有することによりデータが定義される第1のコードと、
前記複数のセルの少なくとも一部を形成する特定セル内において、前記所定領域を除く領域の所定の位置に配置される識別可能なマークによりデータが定義される第2のコードと、
を備えた複合コードであって、
前記第1のコードおよび前記第2のコードの少なくとも一方に設けられる特定領域には、前記第1のコードおよび前記第2のコードのうちの少なくとも一方のコードのうちの該特定領域を除いた領域の少なくとも一部に対応する特定情報を含む複合コード。
(態様34)
態様1〜32のいずれかに記載の前記マークの少なくとも一つが形成されている、
態様33に記載の複合コード。
(態様35)
前記特定領域を除いた領域の少なくとも一部には、少なくとも氏名、性別、生年月日、住所、戸籍、生体情報等、個人を特定する情報を含む、
態様33または34に記載の複合コード。
(態様36)
前記特定情報は、前記特定領域を除いた少なくとも一部を符号化手段により符号化した符号化情報である、
態様33〜35のいずれかに記載の複合コード。
(態様37)
前記特定情報は、前記符号化情報が、暗号化手段により暗号化された暗号化情報である、
態様36に記載の複合コード。
(態様38)
前記暗号化情報は、復号化手段により、前記符号化情報に復号できる、
態様37に記載の複合コード。
(態様39)
前記特定領域を除いた少なくとも一部には、情報処理装置に前記復号化手段として実行させるためのプログラムが含まれる、
態様38に記載の複合コード。
(態様40)
前記暗号化情報は、前記暗号化手段で秘密鍵を用いて符号化情報を暗号化した情報であり、
前記復号化手段は、公開鍵を用いて前記暗号化情報を復号化する、
態様38または態様39のいずれかに記載の複合コード。
(態様41)
前記符号化手段はハッシュ関数であり、
前記ハッシュ関数により符号化した符号化情報はハッシュ値であり、
前記暗号化手段により暗号化された暗号化情報は暗号化されたハッシュ値であり、
前記暗号化されたハッシュ値は、前記復号化手段により前記ハッシュ値に復号できる、
態様38〜40のいずれかに記載の複合コード。
(態様42)
前記特定情報は、前記少なくとも一方のコードのうちの前記特定領域を除いた少なくとも一部が表す情報または前記符号化情報を基に電子署名手段によって作成された電子署名情報であり、前記電子署名情報は、検証手段により前記少なくとも一方のコードのうちの前記特定領域を除いた少なくとも一部が表す情報と所定の関係にあることが検証可能である、
態様36〜41のいずれかに記載の複合コード。
(態様43)
前記複合コードを明示するためのマーク、グラフィックスまたはテキストの少なくともいずれかが、前記第1のコードの内部に形成された、
態様1〜42のいずれかに記載の複合コード。
(態様44)
態様33〜42のいずれかに記載の複合コードが形成または表示された媒体。
(態様45)
態様33〜42のいずれかに記載の特定領域を除いた少なくとも一部は、前記媒体上に形成された文字および画像の少なくとも一つに対応する情報をデータ化したものであり、該情報の近傍または内部に前記複合コードが形成された、
態様44に記載の媒体。
(態様46)
態様1〜43のいずれかに記載の複合コードに含まれる、
前記第1のコードを取得する第1の取得手段と、
前記第2のコードを取得する第2の取得手段と、
を備える、複合コード読取り装置。
(態様47)
態様6〜18のいずれかに記載の前記所定領域に含まれる基準点を基に、
前記第2のコードが取得される、
態様46に記載の複合コード読取り装置。
(態様48)
前記第1の取得手段で取得した前記セルの基準点を、
前記第2の取得手段で取得した前記基準点の座標値に基づいて補正して、
前記第2のコードを読み取る、
態様47に記載の複合コード読取り装置。
(態様49)
態様10〜12のいずれかに記載の前記基準パターンを用いて、
前記マークの配置候補位置を補正して、
前記第2のコードを読み取る、
態様47または48に記載の複合コード読取り装置。
(態様50)
前記第1のコードおよび前記第2のコードの少なくとも一方には、個人を特定する情報を含み、
前記個人を特定する情報は、少なくとも氏名、性別、生年月日、住所、戸籍、生体情報のいずれかに関する情報である、
態様46〜49のいずれかに記載の複合コード読取り装置。
(態様51)
生体情報を取得する第3の取得手段と、
前記第3の取得手段で取得した生体情報と、
前記個人を特定する情報と照合して、その正否を出力する出力手段と、
を備える態様50に記載の複合コード読取り装置。
(態様52)
前記第1の取得手段、前記第2の取得手段、前記第3の取得手段および前記出力手段の少なくとも一つは、1または複数のプロセッサーの処理によって機能する、
態様51記載の複合コード読取り装置。
(態様53)
態様36に記載の符号化手段と同一の符号化が可能な第2の符号化手段を備え、
態様33〜42のいずれかに記載の特定領域を除いた少なくとも一部を、前記第2の符号化手段により第2の符号化情報に符号化する、
態様46〜52のいずれかに記載の複合コード読取り装置。
(態様54)
復号化手段を備え、
態様37に記載の暗号化手段により暗号化された暗号化情報を、前記復号化手段により、態様36に記載の符号化情報に復号する、
態様46〜53のいずれかに記載の複合コード読取り装置。
(態様55)
公開鍵を有し、
前記暗号化情報は、前記暗号化手段で秘密鍵を用いて符号化情報を暗号化した情報であり、
前記復号化手段は、前記公開鍵を用いて前記暗号化情報を復号化する、
態様54に記載の複合コード読取り装置。
(態様56)
態様53に記載の第2の符号化手段で符号化した第2の符号化情報と、
前記復号化手段で復号した符号化情報と、を照合して態様33に記載の特定情報の正否を判定する、
態様54〜55のいずれかに記載の複合コード読取り装置。
(態様57)
コンピュータが、複数のセルが配列形状に配置され、それぞれが所定領域を有し、該所定領域にそれぞれが互いに識別可能な2以上の色のいずれかを有することによりデータが定義される第1のコードを生成する第1の生成ステップと、
前記複数のセルの少なくとも一部を形成する特定セル内において、前記所定領域を除く領域の所定の位置に配置される識別可能なマークによりデータが定義される第2のコードを生成する第2の生成ステップと、を実行し、
態様1〜43のいずれかに記載の複合コードを生成する、複合コード生成方法。
(態様58)
コンピュータが、複数のセルが配列形状に配置され、それぞれが所定領域を有し、該所定領域にそれぞれが互いに識別可能な2以上の色のいずれかを有することによりデータが定義される第1のコードを取得し、
前記複数のセルの少なくとも一部を形成する特定セル内において、前記所定領域を除く領域の所定の位置に配置される識別可能なマークによりデータが定義される第2のコードを取得する複合コードの読み取り方法であって、
態様1〜43のいずれかに記載の複合コードを読取る複合コード読取り方法。
(態様59)
コンピュータに、複数のセルが配列形状に配置され、それぞれが所定領域を有し、該所定領域にそれぞれが互いに識別可能な2以上の色のいずれかを有することによりデータが定義される第1のコードを生成する第1の生成ステップと、
前記複数のセルの少なくとも一部を形成する特定セル内において、前記所定領域を除く領域の所定の位置に配置される識別可能なマークによりデータが定義される第2のコードを生成する第2の生成ステップと、を実行させる複合コード生成プログラムであって、
態様1〜43のいずれかに記載の複合コードを生成する複合コード生成プログラム。
(態様60)
コンピュータが、複数のセルが配列形状に配置され、それぞれが所定領域を有し、該所定領域にそれぞれが互いに識別可能な2以上の色のいずれかを有することによりデータが定義される第1のコードを取得し、
前記複数のセルの少なくとも一部を形成する特定セル内において、前記所定領域を除く領域の所定の位置に配置される識別可能なマークによりデータが定義される第2のコードを取得する複合コードの読み取りプログラムであって、
態様1〜43のいずれかに記載の複合コードを読取る複合コード読取りプログラム。
(態様61)
複数のセルが配列形状に配置され、それぞれが所定領域を有し、該所定領域にそれぞれが互いに識別可能な2以上の色のいずれかを有することによりデータが定義される第1のコードを生成する第1の生成手段と、
前記複数のセルの少なくとも一部を形成する特定セル内において、前記所定領域を除く領域の所定の位置に配置される識別可能なマークによりデータが定義される第2のコードを生成する第2の生成手段と、
を備えた複合コード生成装置であって、
態様1〜43のいずれかに記載の複合コードを生成する複合コード生成装置。
10 情報処理装置
11 CPU
12 主記憶装置
13 外部記憶装置
14 表示装置
15 操作部
16 通信インターフェース
17 画像入力インターフェース
18 画像出力インターフェース
CS1、CS2 コンテンツサーバ
MS1 管理サーバ
UD1、UD2 ユーザー装置
0−0 クワイエットゾーン
0−1 ファインダパターン(位置検出パターン)
0−11 右上のファインダパターン
0−12 左上のファインダパターン
0−13 右下のファインダパターン
0−2 分離パターン
0−3 アライメントパターン(位置合わせパターン)
0−4 形式情報(フォーマット情報)
0−5 タイミングパターン
1−0 特定セル
1−00 明色の特定セル
1−01 暗色の特定セル
1−1 基準点を定義する基準セル
1−10 基準点を定義する明色の基準セル
1−11 基準点を定義する暗色の基準セル
1−2 基準パターンを定義する基準セル
1−20 基準パターンを定義する明色の基準セル
1−21 基準パターンを定義する暗色の基準セル
2−0 セルの所定領域
2−00 セルの明色所定領域
2−01 セルの暗色所定領域
2−1 セル内の所定領域2−0を除く領域
2−10 セル内の所定領域2−0を除く明色領域
2−11 セル内の所定領域2−0を除く暗色領域
3−0 情報を定義するマーク
3−00 情報を定義する明色マーク
3−01 情報を定義する暗色マーク
3−1 基準パターンを定義するマーク
3−10 基準パターンを定義する明色基準マーク
3−11 基準パターンを定義する暗色基準マーク

Claims (61)

  1. 複数のセルが配列形状に配置され、それぞれが所定領域を有し、該所定領域にそれぞれが互いに識別可能な2以上の色のいずれかを有することによりデータが定義される第1のコードと、
    前記複数のセルの少なくとも一部に前記所定領域を除く領域を有する特定セルを形成し、該所定領域を除く領域の所定の位置に配置される識別可能なマークによりデータが定義される第2のコードと、
    を備えた複合コード。
  2. 前記所定の位置における前記マークの配置の有無により前記データが定義される
    請求項1に記載の複合コード。
  3. 前記所定領域は、任意の形状である、
    請求項1または2に記載の複合コード。
  4. 前記複数のセルの内、前記特定セル以外のセルの少なくとも一部が、前記所定領域と該所定領域を除く領域を有し、それぞれが互いに識別可能な色を有する、
    請求項1〜3のいずれかに記載の複合コード。
  5. 前記所定領域は、前記所定領域を除く領域に囲まれ、それぞれが互いに識別可能な色を有する、
    請求項3に記載の複合コード。
  6. 前記複数のセル内の所定領域は、それぞれのセルの色を認識するための基準点を含む、
    請求項1〜5のいずれかに記載の複合コード。
  7. 前記マークの配置位置は、少なくとも前記特定セルおよび該特定セル以外のセルの少なくとも一方の前記基準点を基に設定される、
    請求項6に記載の複合コード。
  8. 前記マークの配置位置は、少なくとも前記特定セルの前記基準点から所定方向に所定間隔を設けて設定される、
    請求項6に記載の複合コード。
  9. 前記基準点として識別可能な前記所定領域から算出された中心座標値を基に、他の前記複数のセルの基準点の座標値が算出される、
    請求項6に記載の複合コード。
  10. 識別可能な前記マークの配置位置と前記基準点および第2のコードの向きを含み形成される基準パターンが前記複数のセルのいずれかに配置される、
    請求項6〜9のいずれかに記載の複合コード。
  11. 前記基準パターンを基に、前記複数のセルの基準点からの前記マークとの幾何学的関係と前記第2のコードの向きを基に、前記データが定義される、
    請求項10に記載の複合コード。
  12. 前記第2のコードの向きは、前記基準パターンを形成するマークの形状、配置および、2以上の大きさの異なるマークのいずれかにより定義される、
    請求項10または11に記載の複合コード。
  13. 前記第2のコードの向きは、前記第1のコードの向きと同一である、
    請求項6〜12のいずれかに記載の複合コード。
  14. 前記基準点は、それぞれの前記セルの中心である、
    請求項6〜9のいずれかに記載の複合コード。
  15. 前記基準点は、それぞれの前記セルの所定領域の中心である、
    請求項6〜14のいずれかに記載の複合コード。
  16. 前記複合コードが撮影されて記憶装置にXY座標軸を有する2次元撮像画像(X,Y)において、n個のピクセルとして2値化された前記所定領域の中心(XC,)は、n個(i=1〜n)のピクセルの座標値をD(X,Y)とすると、X=(ΣX,i=1〜n)/n,Y=(ΣY,i=1〜n)/nである、
    請求項15に記載の複合コード。
  17. 前記所定領域の面積は、それぞれの前記セルの面積の1/10以上である、
    請求項1〜16のいずれかに記載の複合コード。
  18. 前記所定領域の面積は、それぞれの前記セルの面積の1/20以上である、
    請求項1〜16のいずれかに記載の複合コード。
  19. 前記複数のセル内の所定領域の色は、それぞれのセルの色として認識できるだけの所定の面積を有する、
    請求項1〜18のいずれかに記載の複合コード。
  20. 前記それぞれのセルの色は、前記識別可能な2以上の色のいずれかの色の濃度を所定量含むことによって、それぞれが互いに識別可能である、
    請求項1〜19のいずれかに記載の複合コード。
  21. 前記所定領域の面積は、それぞれの前記セルの面積の60%程度以上である、
    請求項1〜20のいずれかに記載の複合コード。
  22. 前記マークの色は、該マークが配置されるそれぞれの前記所定領域と同一色を含む、
    請求項1〜21のいずれかに記載の複合コード。
  23. 前記マークの配置位置は、少なくとも前記特定セルの前記所定領域を除く領域を任意の形状で区画した領域のいずれかに設定される、
    請求項1〜22のいずれかに記載の複合コード。
  24. 前記マークの形状は、前記区画した領域と同一形状であり、該区画した領域内は同一色を有する、
    請求項23に記載の複合コード。
  25. 前記マークは、該マークが配置される前記所定の位置または該所定の位置を含む領域に、前記所定領域が有する色と互いに識別可能な2以上の色のいずれかをそれぞれに有する、
    請求項1〜24のいずれかに記載の複合コード。
  26. 前記第2のコードは、前記マークの形状、大きさ、色、向き、配置パターンの少なくともいずれか1つにより、データが定義される、
    請求項1〜25のいずれかに記載の複合コード。
  27. 前記マークの形状は、任意の形状である、
    請求項26に記載の複合コード。
  28. 前記マークの色は、該マーク同士識別可能な少なくとも赤、緑、青、シアン、マゼンダ、黄、黒、白および前記所定領域の色のいずれかを含む、
    請求項1〜27のいずれかに記載の複合コード。
  29. 前記マークの大きさは所定の距離から視認しづらい大きさのマークである、
    請求項1〜28のいずれかに記載の複合コード。
  30. 前記複合コードは、媒体に形成されるか、電子媒体、放送媒体、記憶媒体または通信媒体等からの出力により表示装置に表示されるか、または電子媒体内にデジタル情報で形成される、
    請求項1〜29のいずれかに記載の複合コード。
  31. 少なくとも前記第2のコードが複数のコードで形成され、
    前記複数のコードは、時系列データとして表示装置に時間軸方向に所定の順に表示されるか、または前記媒体の所定の位置に形成される、
    請求項30に記載の複合コード。
  32. 前記時間軸方向に所定の順に表示される複数のコードの間には、非表示の所定時間を含む、
    請求項31に記載の複合コード。
  33. 複数のセルが配列形状に配置され、それぞれが所定領域を有し、該所定領域にそれぞれが互いに識別可能な2以上の色のいずれかを有することによりデータが定義される第1のコードと、
    前記複数のセルの少なくとも一部を形成する特定セル内において、前記所定領域を除く領域の所定の位置に配置される識別可能なマークによりデータが定義される第2のコードと、
    を備えた複合コードであって、
    前記第1のコードおよび前記第2のコードの少なくとも一方に設けられる特定領域には、前記第1のコードおよび前記第2のコードのうちの少なくとも一方のコードのうちの該特定領域を除いた領域の少なくとも一部に対応する特定情報を含む複合コード。
  34. 請求項1〜32のいずれかに記載の前記マークの少なくとも一つが形成されている、
    請求項33に記載の複合コード。
  35. 前記特定領域を除いた領域の少なくとも一部には、少なくとも氏名、性別、生年月日、住所、戸籍、生体情報等、個人を特定する情報を含む、
    請求項33または34に記載の複合コード。
  36. 前記特定情報は、前記特定領域を除いた少なくとも一部を符号化手段により符号化した符号化情報である、
    請求項33〜35のいずれかに記載の複合コード。
  37. 前記特定情報は、前記符号化情報が、暗号化手段により暗号化された暗号化情報である、
    請求項36に記載の複合コード。
  38. 前記暗号化情報は、復号化手段により、前記符号化情報に復号できる、
    請求項37に記載の複合コード。
  39. 前記特定領域を除いた少なくとも一部には、情報処理装置に前記復号化手段として実行させるためのプログラムが含まれる、
    請求項38に記載の複合コード。
  40. 前記暗号化情報は、前記暗号化手段で秘密鍵を用いて符号化情報を暗号化した情報であり、
    前記復号化手段は、公開鍵を用いて前記暗号化情報を復号化する、
    請求項38または請求項39のいずれかに記載の複合コード。
  41. 前記符号化手段はハッシュ関数であり、
    前記ハッシュ関数により符号化した符号化情報はハッシュ値であり、
    前記暗号化手段により暗号化された暗号化情報は暗号化されたハッシュ値であり、
    前記暗号化されたハッシュ値は、前記復号化手段により前記ハッシュ値に復号できる、
    請求項38〜40のいずれかに記載の複合コード。
  42. 前記特定情報は、前記少なくとも一方のコードのうちの前記特定領域を除いた少なくとも一部が表す情報または前記符号化情報を基に電子署名手段によって作成された電子署名情報であり、前記電子署名情報は、検証手段により前記少なくとも一方のコードのうちの前記特定領域を除いた少なくとも一部が表す情報と所定の関係にあることが検証可能である、
    請求項36〜41のいずれかに記載の複合コード。
  43. 前記複合コードを明示するためのマーク、グラフィックスまたはテキストの少なくともいずれかが、前記第1のコードの内部に形成された、
    請求項1〜42のいずれかに記載の複合コード。
  44. 請求項33〜42のいずれかに記載の複合コードが形成または表示された媒体。
  45. 請求項33〜42のいずれかに記載の特定領域を除いた少なくとも一部は、前記媒体上に形成された文字および画像の少なくとも一つに対応する情報をデータ化したものであり、該情報の近傍または内部に前記複合コードが形成された、
    請求項44に記載の媒体。
  46. 請求項1〜43のいずれかに記載の複合コードに含まれる、
    前記第1のコードを取得する第1の取得手段と、
    前記第2のコードを取得する第2の取得手段と、
    を備える、複合コード読取り装置。
  47. 請求項6〜18のいずれかに記載の前記所定領域に含まれる基準点を基に、
    前記第2のコードが取得される、
    請求項46に記載の複合コード読取り装置。
  48. 前記第1の取得手段で取得した前記セルの基準点を、
    前記第2の取得手段で取得した前記基準点の座標値に基づいて補正して、
    前記第2のコードを読み取る、
    請求項47に記載の複合コード読取り装置。
  49. 請求項10〜12のいずれかに記載の前記基準パターンを用いて、
    前記マークの配置候補位置を補正して、
    前記第2のコードを読み取る、
    請求項47または48に記載の複合コード読取り装置。
  50. 前記第1のコードおよび前記第2のコードの少なくとも一方には、個人を特定する情報を含み、
    前記個人を特定する情報は、少なくとも氏名、性別、生年月日、住所、戸籍、生体情報のいずれかに関する情報である、
    請求項46〜49のいずれかに記載の複合コード読取り装置。
  51. 生体情報を取得する第3の取得手段と、
    前記第3の取得手段で取得した生体情報と、
    前記個人を特定する情報と照合して、その正否を出力する出力手段と、
    を備える請求項50に記載の複合コード読取り装置。
  52. 前記第1の取得手段、前記第2の取得手段、前記第3の取得手段および前記出力手段の少なくとも一つは、1または複数のプロセッサーの処理によって機能する、
    請求項51記載の複合コード読取り装置。
  53. 請求項36に記載の符号化手段と同一の符号化が可能な第2の符号化手段を備え、
    請求項33〜42のいずれかに記載の特定領域を除いた少なくとも一部を、前記第2の符号化手段により第2の符号化情報に符号化する、
    請求項46〜52のいずれかに記載の複合コード読取り装置。
  54. 復号化手段を備え、
    請求項37に記載の暗号化手段により暗号化された暗号化情報を、前記復号化手段により、請求項36に記載の符号化情報に復号する、
    請求項46〜53のいずれかに記載の複合コード読取り装置。
  55. 公開鍵を有し、
    前記暗号化情報は、前記暗号化手段で秘密鍵を用いて符号化情報を暗号化した情報であり、
    前記復号化手段は、前記公開鍵を用いて前記暗号化情報を復号化する、
    請求項54に記載の複合コード読取り装置。
  56. 請求項53に記載の第2の符号化手段で符号化した第2の符号化情報と、
    前記復号化手段で復号した符号化情報と、を照合して請求項33に記載の特定情報の正否を判定する、
    請求項54〜55のいずれかに記載の複合コード読取り装置。
  57. コンピュータが、複数のセルが配列形状に配置され、それぞれが所定領域を有し、該所定領域にそれぞれが互いに識別可能な2以上の色のいずれかを有することによりデータが定義される第1のコードを生成する第1の生成ステップと、
    前記複数のセルの少なくとも一部を形成する特定セル内において、前記所定領域を除く領域の所定の位置に配置される識別可能なマークによりデータが定義される第2のコードを生成する第2の生成ステップと、を実行し、
    請求項1〜43のいずれかに記載の複合コードを生成する、複合コード生成方法。
  58. コンピュータが、複数のセルが配列形状に配置され、それぞれが所定領域を有し、該所定領域にそれぞれが互いに識別可能な2以上の色のいずれかを有することによりデータが定義される第1のコードを取得し、
    前記複数のセルの少なくとも一部を形成する特定セル内において、前記所定領域を除く領域の所定の位置に配置される識別可能なマークによりデータが定義される第2のコードを取得する複合コードの読み取り方法であって、
    請求項1〜43のいずれかに記載の複合コードを読取る複合コード読取り方法。
  59. コンピュータに、複数のセルが配列形状に配置され、それぞれが所定領域を有し、該所定領域にそれぞれが互いに識別可能な2以上の色のいずれかを有することによりデータが定義される第1のコードを生成する第1の生成ステップと、
    前記複数のセルの少なくとも一部を形成する特定セル内において、前記所定領域を除く領域の所定の位置に配置される識別可能なマークによりデータが定義される第2のコードを生成する第2の生成ステップと、を実行させる複合コード生成プログラムであって、
    請求項1〜43のいずれかに記載の複合コードを生成する複合コード生成プログラム。
  60. コンピュータが、複数のセルが配列形状に配置され、それぞれが所定領域を有し、該所定領域にそれぞれが互いに識別可能な2以上の色のいずれかを有することによりデータが定義される第1のコードを取得し、
    前記複数のセルの少なくとも一部を形成する特定セル内において、前記所定領域を除く領域の所定の位置に配置される識別可能なマークによりデータが定義される第2のコードを取得する複合コードの読み取りプログラムであって、
    請求項1〜43のいずれかに記載の複合コードを読取る複合コード読取りプログラム。
  61. 複数のセルが配列形状に配置され、それぞれが所定領域を有し、該所定領域にそれぞれが互いに識別可能な2以上の色のいずれかを有することによりデータが定義される第1のコードを生成する第1の生成手段と、
    前記複数のセルの少なくとも一部を形成する特定セル内において、前記所定領域を除く領域の所定の位置に配置される識別可能なマークによりデータが定義される第2のコードを生成する第2の生成手段と、
    を備えた複合コード生成装置であって、
    請求項1〜43のいずれかに記載の複合コードを生成する複合コード生成装置。
JP2018248346A 2017-12-29 2018-12-28 複合コード、複合コード生成装置、複合コード読取り装置、生体認証装置、生体認証システム、方法およびプログラム Active JP6713610B2 (ja)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
JP2017255256 2017-12-29
JP2017255256 2017-12-29
JP2018082672 2018-04-23
JP2018082672 2018-04-23
US201862681354P 2018-06-06 2018-06-06
US62/681354 2018-06-06

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2018206168A Division JP6473899B1 (ja) 2017-12-29 2018-10-31 複合コードパターン、生成装置、読み取り装置、方法およびプログラム

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2020070501A Division JP6746158B2 (ja) 2017-12-29 2020-04-09 2次元コード

Publications (3)

Publication Number Publication Date
JP2019192212A true JP2019192212A (ja) 2019-10-31
JP2019192212A5 JP2019192212A5 (ja) 2020-04-16
JP6713610B2 JP6713610B2 (ja) 2020-06-24

Family

ID=65516908

Family Applications (5)

Application Number Title Priority Date Filing Date
JP2018206168A Active JP6473899B1 (ja) 2017-12-29 2018-10-31 複合コードパターン、生成装置、読み取り装置、方法およびプログラム
JP2018248346A Active JP6713610B2 (ja) 2017-12-29 2018-12-28 複合コード、複合コード生成装置、複合コード読取り装置、生体認証装置、生体認証システム、方法およびプログラム
JP2020070501A Expired - Fee Related JP6746158B2 (ja) 2017-12-29 2020-04-09 2次元コード
JP2020104179A Pending JP2020161172A (ja) 2017-12-29 2020-06-17 複合コードパターン、生成装置、読み取り装置、方法およびプログラム
JP2023036801A Pending JP2023060315A (ja) 2017-12-29 2023-03-09 複合コードパターン、生成装置、読み取り装置、方法およびプログラム

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2018206168A Active JP6473899B1 (ja) 2017-12-29 2018-10-31 複合コードパターン、生成装置、読み取り装置、方法およびプログラム

Family Applications After (3)

Application Number Title Priority Date Filing Date
JP2020070501A Expired - Fee Related JP6746158B2 (ja) 2017-12-29 2020-04-09 2次元コード
JP2020104179A Pending JP2020161172A (ja) 2017-12-29 2020-06-17 複合コードパターン、生成装置、読み取り装置、方法およびプログラム
JP2023036801A Pending JP2023060315A (ja) 2017-12-29 2023-03-09 複合コードパターン、生成装置、読み取り装置、方法およびプログラム

Country Status (7)

Country Link
US (1) US11755867B2 (ja)
EP (1) EP3734510A4 (ja)
JP (5) JP6473899B1 (ja)
KR (1) KR20200106510A (ja)
CN (1) CN112352245A (ja)
BR (1) BR112020013344A2 (ja)
WO (1) WO2019132047A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7493859B1 (ja) 2023-12-13 2024-06-03 株式会社フォリオ 二次元コード配布システム及び二次元コード配布方法

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7242370B2 (ja) * 2019-03-26 2023-03-20 東邦ガスネットワーク株式会社 埋設物管理システム
JP6624323B1 (ja) * 2019-03-28 2019-12-25 株式会社セガゲームス 生体情報登録システム
JP6743245B1 (ja) * 2019-06-12 2020-08-19 株式会社バンダイ 識別コード付き玩具
CN114208110B (zh) * 2019-08-28 2024-05-24 索尼半导体解决方案公司 信息处理装置、信息处理方法和程序
JP6931935B2 (ja) * 2019-10-11 2021-09-08 株式会社テララコード研究所 二次元シンボル、及び二次元シンボルの読取方法
CA3102514C (en) * 2020-01-24 2023-09-26 Jostens, Inc. System for managing exploration and consumption of digital content in connection with a physical article
JP7380437B2 (ja) * 2020-06-11 2023-11-15 株式会社デンソー 情報コード、情報コード印刷媒体、情報コード生成装置、情報コード生成プログラム、情報コード生成方法、情報コード読取装置、情報コード読取プログラム、及び情報コード読取方法
KR102443688B1 (ko) * 2020-07-06 2022-09-14 이종찬 매장의 고객 관리 시스템 및 방법
JP2022540973A (ja) * 2020-08-20 2022-09-21 ネオソン インコーポレイテッド バーコードおよびピアレビューの使用によるサプライチェーンのトラッキングおよびトレーシングの方法およびシステム
US11734532B2 (en) * 2020-10-28 2023-08-22 University Of Rochester Two-dimensional bar codes that are both intensity-modulated and orientation-modulated for transmitting sensitive information along with non-sensitive information
CN112651475B (zh) * 2021-01-06 2022-09-23 北京字节跳动网络技术有限公司 二维码显示方法、装置、设备及介质
US11758476B2 (en) * 2021-02-05 2023-09-12 Dell Products L.P. Network and context aware AP and band switching
CN117501276A (zh) * 2021-04-20 2024-02-02 日本发条株式会社 复合二维码、印刷品、信息处理系统和程序
KR102471729B1 (ko) * 2021-05-31 2022-11-28 주식회사 이노파트너즈 로고이미지가 삽입된 큐알코드 및 이의 제작방법
KR102485940B1 (ko) * 2021-05-31 2023-01-10 주식회사 이노파트너즈 이미지가 삽입된 큐알코드 및 이의 제작방법
CN113379351B (zh) * 2021-06-22 2022-10-21 沙师弟(重庆)网络科技有限公司 一种基于区块链的运输订单信息存储方法
CN113988244B (zh) * 2021-10-19 2024-05-10 艾斯芸防伪科技(福建)有限公司 一种防伪点阵生成与校验方法、系统、设备及介质
JPWO2023166636A1 (ja) * 2022-03-02 2023-09-07
KR102562146B1 (ko) * 2022-12-29 2023-08-01 보이스아이 주식회사 컬러코드를 이용하여 입장권한과 신분을 증명하는 방법
CN116700637B (zh) * 2023-05-17 2024-04-19 国能龙源催化剂江苏有限公司 催化剂产品二维码打印方法、装置和电子设备

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06231466A (ja) * 1992-09-28 1994-08-19 Olympus Optical Co Ltd ドットコード及びそれを記録再生するための情報記録再生システム
JP2005222157A (ja) * 2004-02-03 2005-08-18 Gijutsu Transfer Service:Kk 2次元コード,2次元コードの形成装置及び形成方法並びに2次元コードの読取装置及び読取方法

Family Cites Families (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0546743A (ja) * 1991-08-09 1993-02-26 Matsushita Electric Ind Co Ltd 個人識別装置
ATE235720T1 (de) 1992-09-28 2003-04-15 Olympus Optical Co System zur informationswiedergabe für optische punktcode-ablesung von einem aufzeichnungsmedium
US5726435A (en) 1994-03-14 1998-03-10 Nippondenso Co., Ltd. Optically readable two-dimensional code and method and apparatus using the same
JP2938338B2 (ja) 1994-03-14 1999-08-23 株式会社デンソー 二次元コード
US5682467A (en) 1994-09-29 1997-10-28 Xerox Corporation Arbitrating apparatus for controlling selective access of multiple bus masters to a printing system video bus
JP3015687B2 (ja) * 1994-11-01 2000-03-06 東芝テック株式会社 Idカード読取装置
JPH10302034A (ja) 1997-04-24 1998-11-13 N T T Data:Kk 認証システム、カード発行装置、認証装置、認証用カード及び認証方法
JPH11272816A (ja) 1998-03-25 1999-10-08 Toshiba Tec Corp Idカ−ド及び個人認証システム
US6267296B1 (en) * 1998-05-12 2001-07-31 Denso Corporation Two-dimensional code and method of optically reading the same
JP2000076411A (ja) 1998-09-01 2000-03-14 Toppan Printing Co Ltd Idカード及びidカード発行装置並びにidカード読取装置
JP2000030016A (ja) * 1999-04-30 2000-01-28 Olympus Optical Co Ltd 情報記録媒体及び情報再生システム
JP2001052142A (ja) 1999-08-06 2001-02-23 Toshiba Corp Idカード、idカード発行装置ならびにidカード認証装置
US6398117B1 (en) * 2000-01-14 2002-06-04 Hewlett-Packard Co. Method and system for combining bar codes of different encoding dimensions
JP2001256501A (ja) 2000-03-10 2001-09-21 Matsushita Electric Ind Co Ltd 個人認証システム
JP2002140742A (ja) 2000-11-06 2002-05-17 Yoshiomi Yamada チェックシステム及びidカ−ド
JP2002281275A (ja) 2001-03-16 2002-09-27 Fuji Xerox Co Ltd 証明写真および個人認証媒体
JP4011362B2 (ja) 2002-02-15 2007-11-21 浩 近藤 パスポートの偽造防止情報作成システム、パスポート及び偽造パスポート検出システム
JP2004310313A (ja) * 2003-04-04 2004-11-04 Veritec Iconix Ventures Inc 二次元コード化した個人生体情報を含む本人認証用カードおよび二次元コード化した個人生体情報を使用した個人認証方法。
US20050016026A1 (en) 2003-07-21 2005-01-27 Long David William Interchangeable shoe pieces
JP4495935B2 (ja) 2003-09-22 2010-07-07 川澄化学工業株式会社 指紋照合装置及び指紋照合情報共有システム
JP2005204250A (ja) 2004-01-19 2005-07-28 Ricoh Co Ltd 証明書確認方法、証明書確認プログラム及び証明書
US7898642B2 (en) 2004-04-14 2011-03-01 Asml Netherlands B.V. Lithographic apparatus and device manufacturing method
JP2007272320A (ja) 2006-03-30 2007-10-18 Mitsubishi Electric Corp 入場管理システム
KR100924697B1 (ko) 2007-07-11 2009-11-03 삼성전자주식회사 수직자기기록헤드 및 그 제조방법
JP5018382B2 (ja) 2007-10-03 2012-09-05 株式会社デンソーウェーブ 二次元コードおよびその読取装置
JP4998202B2 (ja) 2007-10-23 2012-08-15 日本電気株式会社 携帯通信端末
AU2007254619B2 (en) * 2007-12-21 2010-10-07 Canon Kabushiki Kaisha Barcode removal
JP2010067127A (ja) * 2008-09-12 2010-03-25 Canon Inc 情報処理装置、情報処理装置の制御方法、記憶媒体、及びプログラム
JP5343761B2 (ja) 2009-08-25 2013-11-13 株式会社デンソーウェーブ 光学的情報読取装置、及び光学的情報読取装置を用いた認証システム
KR101701170B1 (ko) * 2009-09-30 2017-02-01 시프트 코. 엘티디. 2차원 코드, 2차원 코드 리더 및 프로그램
US20120138679A1 (en) * 2010-12-01 2012-06-07 Yodo Inc. Secure two dimensional bar codes for authentication
JP5433607B2 (ja) 2011-03-02 2014-03-05 株式会社大都技研 遊技台
US20150235118A1 (en) * 2012-04-26 2015-08-20 Steven J Simske Two-Dimensional Barcodes Having A Plurality of Different Regions
US8997241B2 (en) * 2012-10-18 2015-03-31 Dell Products L.P. Secure information handling system matrix bar code
JP6061075B2 (ja) 2012-10-23 2017-01-18 株式会社テララコード研究所 二次元コード、二次元コードの生成方法、及び二次元コードの読取方法
JP2015052839A (ja) 2013-09-05 2015-03-19 大日本印刷株式会社 電子透かしコードを付与した情報記録体
US9594993B2 (en) * 2013-11-07 2017-03-14 Scantrush Sa Two dimensional barcode and method of authentication of such barcode
JP6375957B2 (ja) 2015-01-16 2018-08-22 株式会社デンソー 充電管理システムおよび読取端末
JP6231233B1 (ja) * 2017-02-23 2017-11-15 株式会社マイクロ・テクニカ コードの画像データを生成する方法、およびコードの真贋判定方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06231466A (ja) * 1992-09-28 1994-08-19 Olympus Optical Co Ltd ドットコード及びそれを記録再生するための情報記録再生システム
JP2005222157A (ja) * 2004-02-03 2005-08-18 Gijutsu Transfer Service:Kk 2次元コード,2次元コードの形成装置及び形成方法並びに2次元コードの読取装置及び読取方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7493859B1 (ja) 2023-12-13 2024-06-03 株式会社フォリオ 二次元コード配布システム及び二次元コード配布方法

Also Published As

Publication number Publication date
CN112352245A (zh) 2021-02-09
JP2019192196A (ja) 2019-10-31
US11755867B2 (en) 2023-09-12
EP3734510A1 (en) 2020-11-04
JP2020123377A (ja) 2020-08-13
WO2019132047A1 (ja) 2019-07-04
US20210103786A1 (en) 2021-04-08
JP2020161172A (ja) 2020-10-01
JP6713610B2 (ja) 2020-06-24
JP6746158B2 (ja) 2020-08-26
JP6473899B1 (ja) 2019-02-27
KR20200106510A (ko) 2020-09-14
BR112020013344A2 (pt) 2020-12-01
EP3734510A4 (en) 2022-04-20
JP2023060315A (ja) 2023-04-27

Similar Documents

Publication Publication Date Title
JP6473899B1 (ja) 複合コードパターン、生成装置、読み取り装置、方法およびプログラム
JP6403085B1 (ja) 複合コードパターン、生成装置、読み取り装置、方法およびプログラム
US9406010B2 (en) Producing, capturing and using visual identification tags for moving objects
JP6486016B2 (ja) 情報コード生成方法、情報コード、及び情報コード利用システム
US9483629B2 (en) Document authentication based on expected wear
US12073285B2 (en) Multi-part code system
KR101710050B1 (ko) 이미지 식별 시스템 및 방법
CN105190659A (zh) 用于智能电话支付和交易的方法和布置
JP2018501588A (ja) 四次元コード及び、四次元コードに基づく画像識別システム及び画像識別方法、四次元コード検索システム及び四次元コード検索方法
EP2937819A1 (en) Information code, method for generating information code, device for reading information code, and system for using information code
CN102034127A (zh) 新型大容量二维条码与系统及其编解码方法和应用
CN100349168C (zh) 一种防伪票据、票据防伪方法及系统
KR20080066871A (ko) 합성 이미지들을 생성 및 링크하는 방법 및 시스템
US10621482B2 (en) Graphic two-dimensional barcode and creating method thereof
JP2006119763A (ja) 鑑定支援システム、鑑定支援方法および鑑定支援プログラム
JP5924035B2 (ja) 情報処理装置及び情報処理プログラム
JP6562136B2 (ja) 情報コード生成方法、情報コード、及び情報コード利用システム
WO2023181102A1 (ja) 画像処理システム、画像処理方法、及びプログラム
WO2023181103A1 (ja) 画像処理システム、画像処理方法、及びプログラム
CN114359921A (zh) 图像识别方法、装置、电子设备及计算机可读存储介质
Kato 2D-barcode for Mobile Devices
JP2013097393A (ja) 手書き文字テキスト化システム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200309

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200309

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20200312

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20200319

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200331

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200410

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20200415

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200416

R150 Certificate of patent or registration of utility model

Ref document number: 6713610

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313114

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313117

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250