(57)【要約】      （修正有）【課題】明色と識別されるセルと暗色と識別されるセルとをマトリクス状に配置してなる１次元あるいは２次元の画像において、情報表現からの読み取り困難性を低減しつつ、さらに情報量を増加する。【解決手段】複合コードパターンは、識別可能な２以上の色のいずれかをそれぞれ有する複数のセルが配列形状に配置された第２のコードと、配置されたセルのいずれか１以上の特定セル内で、それぞれの特定セルが有する色と識別可能な１以上のマークが配置された第２のコードと、を備えた複合コードパターンである。そして、第２のコードは、第１のコードの少なくとも一部に対応する特定情報を含んでいる。【選択図】図５
2019192193.tif 000002
【特許請求の範囲】
【請求項１】
識別可能な２以上の色のいずれかをそれぞれ有する複数のセルが配列形状に配置された第１のコードと、
前記配置されたセルのいずれか１以上の特定セル内で、それぞれの特定セルが有する色と識別可能な１以上のマークが配置された第２のコードと、を備えた複合コードパターンであって、
前記１以上のマークの少なくとも１つが、同一色のマークまたはセルと接触する配置が除外されている
複合コードパターン。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複合コードパターン、生成装置、読み取り装置、方法およびプログラムに関する。
【背景技術】
【０００２】
従来から、バーコード等の１次元コード、ＱＲコード（登録商標）等の２次元コード等、画像による様々な情報表現が提案されている。これらの情報表現は、例えば、明色と識別されるセルやスペースと暗色と識別されるセルやバーとをマトリクス状に配置してなる、１次元あるいは２次元の画像が用いられる。
【０００３】
また、例えば、ＱＲコード（登録商標）のセルのうち、少なくも一部のセルが、より微細なサブセルによってマトリクス状に細分化された拡張セルを用いることも提案されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特許第６０６１０７５号公報
【特許文献２】特許第２９３８３３８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところで、これらの情報表現では、明度等の色の要素によって識別可能な２種類以上のセルが配置されてコードの情報が表現される。現在の情報表現では情報量が少ない場合が多々ある。元々、これらの情報表現では、画像が形成される媒体面での単位面積当りの情報量（以下、情報密度）を向上させるため、セルの寸法が小さく設定されている。セルの寸法が小さく設定された情報表現において、高解像度のコード読み取り装置が必要になる。さらに、セルが細分化されると、細分化されたセルの判別が困難になる可能性が大きくなる。
【０００６】
したがって、従来の技術では、明色と識別されるスペースやセルと暗色と識別されるバーやセルとを、配列状に配置してなる、１次元あるいは２次元コードの画像において、セルやスペース/バーの寸法が小さく設定された情報表現において、さらに、情報量を増加させるときに、情報表現からの読み取り困難性に対する配慮がなされていない。そこで、本発明の１つの側面は、１次元あるいは２次元の画像において、コード情報表現からの読み取り困難性を低減しつつ、さらに情報量を増加することを目的とする。
【課題を解決するための手段】
【０００７】
１つの側面では本発明は、複合コードパターンとして例示できる。以降、明色のセルはスペースを含み、暗色のセルはバーを含むものとする。本複合コードパターンは、識別可能な２以上の色のいずれかをそれぞれ有する複数のセルが配列形状に配置された第２のコードと、前記配置されたセルのいずれか１以上の特定セル内で、それぞれの特定セルが有する色と識別可能な１以上のマークが配置された第２のコードと、を備えた複合コードパターンである。そして、少なくとも上記１以上のマークが、同一色のマークまたはセルと接触する配置が除外されている。
【発明の効果】
【０００８】
本複合コードパターンでは、１次元あるいは２次元コードの画像において、情報表現からの読み取り困難性を低減しつつ、さらに情報量を増加することが可能となる。
【図面の簡単な説明】
【０００９】
【図１】ＱＲコードの構造を例示する図である。
【図２】情報セルの一部をさらに細分化したサブセルを含むＱＲコードの構造を例示する図である。
【図３】第２のコードをサブセルよりも小さいドットで表現するパターンを例示する図である。
【図４】第２のコードの例を示す図である。
【図５】第２のコードの例を示す図である。
【図６】第２のコードの例を示す図である。
【図７】第１のコード内での第２のコードの配置位置について説明する図である。
【図８】第１のコード内での第２のコードの配置位置について説明する図である。
【図９】第１のコード内での第２のコードの配置位置について説明する図である。
【図１０】第１のコード内の暗色セルに第２のコードの配置する図である。
【図１１】第１のコード内での第２のコードの配置位置について説明する図である。
【図１２】第１のコード内での第２のコードの配置位置について説明する図である。
【図１３】第１のコード内での第２のコードの配置位置について説明する図である。
【図１４】第２のコードを形成するセル内のパターンの配置について説明する図である。
【図１５】第２のコードを形成するセル内のパターンの配置について説明する図である。
【図１６】第２のコードを形成するセル内のパターンの配置について説明する図である。
【図１７】第２のコードを形成するセル内のパターンの配置について説明する図である。
【図１８】第２のコードを形成するセル内のパターンの配置について説明する図である。
【図１９】第２のコードを形成するセル内のパターンの配置について説明する図である。
【図２０】線分の先端が仮想点となる線分による第２のコードの例である。
【図２１】線分の中心が仮想点となる線分による第２のコードの例である。
【図２２】線分の長さが複数段階に変更された第２のコードの例である。
【図２３】線分を所定の比率で内分する位置が仮想点となる線分による第２のコードの例である。
【図２４】ＱＲコードのセル内にドットパターンを配置した複合コードの構成例（１）を示す図である。
【図２５】ＱＲコードのセル内にドットパターンを配置した複合コードの構成例（２）を示す図である。
【図２６】ＱＲコードのセル内にドットパターンを配置した複合コードの構成例（３）を示す図である。
【図２７】ＱＲコードのセル内にドットパターンを配置した複合コードの構成例（４）を示す図である。
【図２８】ＱＲコードのセル内にドットパターンを配置した複合コードの構成例（５）を示す図である。
【図２９】ＱＲコードのセル内にドットパターンを配置した複合コードの構成例（６）を示す図である。
【図３０】ＱＲコードのセル内にドットパターンを配置した複合コードの構成例（７）を示す図である。
【図３１】ＱＲコードのセル内にドットパターンを配置した複合コードの構成例（８）を示す図である。
【図３２】実施形態１に係る複合コードによるサービスを提供する情報システムの構成を例示する図である。
【図３３】情報処理装置のハードウェア構成を例示する図である。
【図３４】コンテンツサーバによる複合コード生成処理Ａを例示するフローチャートである。
【図３５】ユーザ装置による複合コード読取処理Ａを例示するフローチャートである。
【図３６】セル内の第２のコードの解析処理の詳細を例示するフローチャートである。
【図３７】実施形態２に係る情報システムの構成を例示する図である。
【図３８】複合コード生成処理Ｂを例示するフローチャートである。
【図３９】複合コード読取処理Ｂを例示するフローチャートである。
【図４０】実施形態３における複合コードの読み取り処理を例示するフローチャートである。
【図４１】印刷された暗色セルとピクセルの関係を例示する図である。
【図４２】暗色セルに明色のドットを形成した例である。
【図４３】明色セルに暗色のドットを形成した例である。
【図４４】バウンディングボックスによるドットの位置の判定方法を例示する図である。
【図４５】5×5pixelで印刷したセルにドットコードを形成した例である。
【図４６】7×7pixelで印刷したセルにドットコードを形成した例である。
【図４７】処理例１の真贋判定のための複合コード生成処理を例示する図である。
【図４８】処理例１の複合ＱＲコード読み取り・認証処理を例示するフローチャートである。
【図４９】処理例２の真贋判定のための複合コード生成処理を例示する図である。
【図５０】処理例２の複合ＱＲコード読み取り・認証処理を例示するフローチャートである。
【図５１】処理例３の真贋判定のための複合コード生成処理を例示する図である。
【図５２】処理例３の複合ＱＲコード読み取り・認証処理を例示するフローチャートである。
【図５３】処理例４の真贋判定のための複合コード生成処理を例示する図である。
【図５４】処理例４の複合ＱＲコード読み取り・認証処理を例示するフローチャートである。
【図５５】処理例５の真贋判定のための複合コード生成処理を例示する図である。
【図５６】処理例５の複合ＱＲコード読み取り・認証処理を例示するフローチャートである。
【図５７】処理例６の真贋判定のための複合コード生成処理を例示する図である。
【図５８】処理例６の複合ＱＲコード読み取り・認証処理を例示するフローチャートである。
【図５９】処理例７の真贋判定のための複合コード生成処理を例示する図である。
【図６０】処理例７の複合ＱＲコード読み取り・認証処理を例示するフローチャートである。
【図６１】セル内の情報ドットの配置候補位置を8か所配置した実施例である。
【図６２】１つのセル内のドットの配置配置位置8か所を例示する図である。
【図６３】ＱＲコードの仕様にしたがって求めたセルの中央の座標位置が、セルの本来の中央からずれる画像の例である。
【図６４】第2のコードの向きとバウンディングボックスを示した図である。
【図６５】ドットコードが形成された明色セルの例である。
【図６６】セルを撮像した画像の例である。
【図６７】セルを撮像した画像の例である。
【図６８】セルを撮像した画像を２値化した例である。
【図６９】セルを撮像した画像を２値化した例である。
【図７０】画像を２値化する処理例である。
【図７１】情報ドットの中心座標値がバウンディングボックス内に納まっていることを例示する図である。
【図７２】情報ドットの中心座標値がバウンディングボックス内に納まっていることを例示する図である。
【図７３】暗色セルのみに基準ドットを配置してドットコードを形成した複合コードの例である。
【図７４】第1のコードによってセルの中央として求められた座標位置がセルの本来の中央からずれている画像の例である。
【図７５】複合コードの一部を示した実施例である。
【図７６】セル内の情報ドットの配置候補位置を設定し、中央に基準ドットを配置した実施例である。
【図７７】第1のコードによってセルの中央として求められた座標位置がセルの本来の中央からずれている画像の例である。
【図７８】第2のコードの向きとバウンディングボックスを示した図である。
【図７９】複合コードの一部を示した実施例である。
【図８０】第1のコードによってセルの中央として求められた座標位置がセルの本来の中央からずれている画像の例である。
【図８１】複合コードの一部を示した実施例である。
【図８２】明色セルを縦横4分割して情報分割セルの配置候補位置と基準ドットを配置した実施例である。
【図８３】第1のコードによってセルの中央として求められた座標位置がセルの本来の中央からずれている画像の例である。
【図８４】第2のコードの向きとバウンディングボックスを示した図である。
【図８５】複合コードの一部を示した実施例である。
【図８６】明色セルを縦横5分割して情報分割セルの配置候補位置と基準分割セルを配置した実施例である。
【図８７】第1のコードによってセルの中央として求められた座標位置がセルの本来の中央からずれている画像の例である。
【図８８】第2のコードの向きとバウンディングボックスを示した図である。
【図８９】複合コードの一部を示した実施例である。
【図９０】明色セルを縦横5分割して情報分割セルの配置候補を配置した実施例である。
【図９１】第1のコードによってセルの中央として求められた座標位置がセルの本来の中央からずれている画像の例である。
【図９２】第2のコードの向きとバウンディングボックスを示した図である。
【図９３】情報分割セルの配置候補位置を上下左右に隣り合わないように12か所配置した実施例である。
【図９４】バウンディングボックスについて示す図である。
【図９５】バウンディングボックスを移動させた状態を示す図（１）である。
【図９６】バウンディングボックスを移動させた状態を示す図（２）である。
【図９７】バウンディングボックスを移動させた状態を示す図（３）である。
【図９８】バウンディングボックスを移動させた状態を示す図（４）である。
【図９９】バウンディングボックスを移動させた状態を示す図（５）である。
【図１００】バウンディングボックスを移動させた状態を示す図（６）である。
【図１０１】バウンディングボックスを移動させた状態を示す図（７）である。
【図１０２】バウンディングボックスを移動させた状態を示す図（８）である。
【図１０３】基準パターンを有する複合コードの実施例である。
【図１０４】基準パターンを２個のセルに分けて配置した複合コードの実施例である。
【図１０５】基準パターンを有する複合コードの実施例である。
【図１０６】明色および／または暗色のセルの所定間隔毎に基準パターンを複数配置した複合コードの実施例である。
【図１０７】基準ドットと基準分割セルによる基準パターンを配置した複合コードの実施例である。
【図１０８】２個のセルに基準分割セルを配置して基準パターンとした複合コードの実施例である。
【図１０９】ディレクションドットを加え、第２のコードの向きを設定した複合コードの実施例である。
【図１１０】基準パターンを構成する基準ドットの配置を変えて、第２のコードの向きを設定した複合コードの実施例である。
【発明を実施するための形態】
【００１０】
以下、図面を参照して、一実施形態に係る情報処理装置について説明する。以下の実施形態の構成は例示であり、本情報処理装置は実施形態の構成には限定されない。
［比較例］
【００１１】
図１に、ＱＲコードの構造を例示する。ＱＲコードは、位置検出パターン（ファインダパターン）、アライメントパターン、タイミングパターン、フォーマット情報、データ及び誤り訂正符号を含む。ファインダパターンは、データの切り出し・傾きなどを検出するときに用いられる。アライメントパターンは、歪みによって生じる各セルの位置ずれを補正するときに用いられる。タイミングパターンは、白セルと黒セルが交互に配置され、シンボル内のモジュール座標を決定するのに使用される。フォーマット情報は、使用されている誤り訂正率とマスクパターンに関する情報を格納する。上記で述べたパターンあるいは情報が配置される領域以外の領域で、図１に斜線で示した領域に、データと誤り訂正符号が配置される。
【００１２】
図２は、情報セルの一部をさらに細分化したサブセルを含むＱＲコードの構造を例示する。図のように、細分化されたサブセルは、セルを横方向および縦方向にそれぞれ４分割し、１つのセルを１６分割した構造を有する。そして、セルが１６分割されたサブセルの領域のうち、例えば、４隅のセルおよび中央の４個のセルを除く残り８個のサブセル（図２で、グレーで例示）に暗色を付与することにより、元々明暗２ビットの情報を８箇所、合計８ビットの情報に増加させる。
【００１３】
しかしながら、図２の構成では、サブセルＳＣ１とＳＣ２のように、隣接する２つのサブセルが一体となって１つの同一色の領域となることが生じ得る。また、サブセルＳＣ１とＳＣ３のように、四隅のうちの１点で、２つの暗色の領域が接触することが生じ得る。また、サブセルＳＣ１からＳＣ８のすべてが、隣接するセルに接触している。したがって、サブセルＳＣ１からＳＣ８のいずれかに（例えば、サブセルＳＣｋ）、隣接するセルと同一色が指定された場合には、サブセルＳＣｋと、隣接するセルとが一体となって同一色の連続する領域となることが生じ得る。
【００１４】
このように、複数の暗色の領域が接続すると、読み取り分解能の限界では、単独のサブセルと、複数のサブセルの集まりとの識別が困難となる場合がある。一方、サブセルＳＣ１に対して、サブセルＳＣ４からＳＣ８を組み合わせた場合のように、少なくとも１つの明色の領域を挟んで配置された暗色のサブセルの組み合わせによる情報表現では、それぞれ単独の暗色のサブセルが明色の領域で区分され、暗色の領域の輪郭が識別しやすくなる。したがって、少なくとも１つの明色の領域を挟んで配置された複数の暗色のサブセルの組み合わせは、読み取り分解能の限界においても、読み取り困難性が少ないとも言える。しかしながら、このように限定を追加することで、表現可能なビット数が低減する。
【００１５】
例えば、仮に１６個のサブセルに暗色の領域と明色の領域を配置する場合、サブセル以外の本来の暗色のセル（ＱＲコードの黒セルなど）と区別するため、上記特許文献１では、暗色のサブセルは、１つのセル内に２５％しか配置できないとされている。したがって、１６個のサブセルのうち、最大４個のサブセルを暗色のセルとすることができ、定義可能なサブセルの配置の組み合わせは、１６Ｃ４＋１６Ｃ３＋１６Ｃ２＋１６Ｃ１＝１，８２０＋５６０＋１２０＋１６＝２，５１６通りとなる。さらに、分割されたサブセルが無い場合を考慮すると、背景が白色の場合（つまり、１個も黒色の分割セルが無い場合）の１通り、背景が黒色の場合（つまり、１個も白色のサブセルが無い場合）の１通りが追加される。
【００１６】
この追加により、サブセルの配置の組み合わせは、理論上２，５１７通りとなる。したがって、図２のサブセルによる情報量は、１１ビット＜１６Ｃ４＋１６Ｃ３＋１６Ｃ２＋１６Ｃ１＋２＜１２ビットとなる。ただし、上記特許文献１では、情報設定可能なサブセル（可変部）を図２のＳＣ１からＳＣ８の８箇所に限定し、合計７０通りの配色パターンによってデータを記録可能としている。上記特許文献１では、このような限定により、ＱＲコードリーダーで拡張セルの色を確実に識別し得るようにしている。
［実施形態］
本実施形態では上記比較例の問題を改善する情報表現が提案される。
＜複合コード＞
本実施形態では、ＱＲコードで例示される第１のコードと、第１のコード内のドットパターンで例示される第２コードとによって定義される複合コードによって情報を表現する。本実施形態では、第１のコードとしてＱＲコードを例示するが、第１のコードがＱＲコードに限定される訳ではない。第１のコードは、例えば、１次元のバーコードでもよいし、文字列で表現されるコードでもよい。また、本実施形態では、第２のコードとして、ドットパターンで表現されるコードが例示されるが、第２のコードがドットパターンによるコード（ドットコードともいう）に限定される訳ではない。
＜第２のコードの構成例＞
【００１７】
図３に、第２のコードをサブセルよりも小さいドットで表現するパターンを例示する。以下、第２のコードが設定されるセルを特定セルと呼ぶ。図３の例では、１６個のサブセルの中心に、サブセルよりも小さな面積のドットを配置している。すなわち、図３の例では、１６個のサブセルの中心が仮想点となっている。そして、仮想点にドットを配置するか、しないかで情報が表現される。ドットがマークの一例である。なお、図３では、サブセルの中心にドットを配置しているが、ドットの位置がサブセルの中心に限定される訳ではない。したがって、図３では、特定セルにおける座標情報を有する位置に１以上の仮想点を任意に設定していると言える。また、図３では、仮想点にドットを配置するか、しないかで情報が表現されるので、仮想点を基にしてマークを配置して数値データが定義されるといえる。
【００１８】
例えば、セルの寸法を０．２５ｍｍ×０．２５ｍｍとすると、１６分割されたサブセルの寸法は、０．０６２５ｍｍ×０．０６２５となる。一方、６００ｄｐｉの解像度のプリンタで印刷可能な最小寸法は、２５．４ｍｍ／６００＝０．０４２ｍｍ×０．０４２ｍｍであり、印刷時のインクの染みだし等による輪郭の変位を考慮しても、０．０５ｍｍ×０．０５ｍｍ未満（に収まることが経験的に分かっている。当然であるが、印刷の精度が高ければ、０．０４２ｍｍ×０．０４２ｍｍに近づくことは言うまでもない。なお、さらに高い解像度、例えば、１２００ｄｐｉの解像度のプリンタで印刷する場合には、さらに、精細な印刷が可能となる。
【００１９】
図３の例では、セル面積は０．２５×０．２５＝０．０６２５平方ｍｍとなり、最大８個のドットによる面積は、０．０２４９×０．０２４９×３．１４×８＝０．０１５６平方ｍｍとなる。この場合、通常の高精度の印刷機でドットを印刷した場合、良好でないケースであっても、セル面積に占めるドットの面積の割合は、２４．９６％となり、上記特許文献１の２５％に概ね近い値となる。したがって、図３のドットパターンでは、１６Ｃ４＋１６Ｃ３＋１６Ｃ２＋１６Ｃ１＋２＝２，５１７通りのパターンの選択が可能となる。図３のドットパターンは、第１のコードの読取りに障害のないマークということができる。
【００２０】
図２のサブセルと比較した図３のドットの特徴は、ドットとドットの間に、明色の領域が存在することにある。すなわち、上記比較例のように、図２のサブセルの場合には、隣接する２つのサブセル同士、あるいは、サブセルと隣接するセルとの間に同一色が設定され、その結果、同一色の領域が連続し、あるいは一体となる。すると、読み取り分解能の限界では、単独のサブセルと、複数のサブセルの集まりとの識別が困難となる場合がある。一方、図３の構成では、暗色のドットが明色の領域で明瞭に区分され、読み取り分解能の限界でも、暗色のドットの識別がしやすくなる。図３のドットパターンは、マーク同士が接触する配置が除外されているパターンの一例と言える。また、図３のドットパターンでは、マークが、特定セルと特定セルに隣接するセルとの境界に接触する配置が除外されていると言える。なお、暗色の一例として黒色を例示でき、明色の一例として白色を例示できるが、本実施形態においてコード、パターンあるいはマークに用いる色が、黒色と白色に限定される訳ではない。例えば、暗色のセルが黒色のセルに限定される訳でもなく、明色のセルが白色のセルに限定される訳でもない。
【００２１】
図４に、第２のコードの他の例を示す。図４は、セルを９分割した領域の中心にドットを３行３列で配置した例である。すなわち、図４の例でも、９個のサブセルの中心が仮想点となっている。そして、仮想点にドットを配置するか、しないかで情報が表現される。
【００２２】
今、図３と同様、セルの寸法を０．２５ｍｍ×０．２５ｍｍとし、ドットの直径を０．５ｍｍとすると、ドットとドットとの境界線の間隔は、０．２５／３−０．０５＝０．０３ｍｍとなり、図３の場合よりもさらに、ドット間の距離が拡がり、ドットとドットの識別が容易となる。図４の場合も、最大８個のドットを配置したとき、セル面積に占めるドットの面積の割合は、２５．１２％となり、上記特許文献１の条件に概ね近い値となる。また、図４のドットが表現可能な情報量は、（９Ｃ１＋９Ｃ２＋９Ｃ３＋９Ｃ４）＊２＝（９＋３６＋８４＋１２６）＊２＝５１０通りとなり、概ね９ビットに近づく。図４のドットパターンは、マーク同士が接触する配置が除外されているパターンの一例と言える。また、また、図４のドットパターンでは、マークが、特定セルと特定セルに隣接するセルとの境界に接触する配置が除外されていると言える。したがって、図４のドットパターンも、第１のコードの読取りに障害のないマークということができる。
【００２３】
図５は、図４の変形例であり、ドットの配置を３列とし、１列目に３個、２列目に２個、３列目に３個のドットを配置したものである。そして、２列目のドットの行方向位置が１行目と２行目の間、および２行目と３行目の間となるようにドットが配置されている。すなわち、図５の例でも、１列目に３個９のサブセルの中心、３列目に３個のサブセル中心、および２列目の１行目と２行目の境界線Ｌ１とその境界線に直交するセルの中心を通る縦線（一点鎖線で例示）との交点、および、２列目の２行目と３行目の境界線Ｌ２と上記縦線との交点が、それぞれが仮想点となっている。そして、仮想点にドットを配置するか、しないかで情報が表現される。
【００２４】
したがって、図５の場合には、図４よりもさらに、ドット間の距離が拡がり、ドットとドットの識別が容易となる。図４の場合も、最大８個のドットを配置したとき、セル面積に占めるドットの面積の割合は、２５．１２％となり、上記特許文献１の条件に概ね近い値となる。また、図４のドットが表現可能な情報量は、（８Ｃ１＋８Ｃ２＋８Ｃ３＋８Ｃ４）＊２＝（８＋２８＋５６＋７０）＊２＝３２４通りとなり、７ビット以上８ビット未満となる。図５のドットパターンは、マーク同士が接触する配置が除外されているパターンの一例と言える。また、図５のドットパターンでは、マークが、特定セルと特定セルに隣接するセルとの境界に接触する配置が除外されていると言える。したがって、図５のドットパターンの、第１のコードの読取りに障害のないマークということができる。
【００２５】
図６に、第２のコードのさらに他の例を示す。図６の例では、１つのセル内に仮想点（Ｘ１，Ｙ１）が設定される。仮想点（Ｘ１，Ｙ１）は、例えば、セルの左下点を原点（０，０）としたときの座標値で指定される。ただし、仮想点の位置に仮想点を示すマークが付される訳ではない。なお、仮想点の位置に基準点を示すマークを配置してもよい。そして、仮想点を中心に、半径ｄの仮想的な円周上に、所定の角度θ、例えば、４５度間隔で、ドットを配置することで情報を定義できる。この場合、距離ｄを固定したとすると、ドット数を１個に限定すると、１つの仮想点の周りに３ビット情報を定義できる。また、最大８個のドットを使用する場合に表現可能な情報量は、図５の場合と同様である。したがって、また、図６では、仮想点を基にしてマークを配置して数値データが定義されるといえる。図６のドットパターンは、マーク同士が接触する配置が除外されているパターンの一例と言える。また、図６のドットパターンでは、マークが、特定セルと特定セルに隣接するセルとの境界に接触する配置が除外されていると言える。また、図６でも、仮想点は、セル内に任意に設定できる。したがって、特定セルにおける座標情報を有する位置に１以上の仮想点を任意に設定していると言える。また、図６のドットパターンは、仮想点を起点としてマークが配置される方向および距離の少なくとも1つにより、数値データの一部が定義される一例と言える。
【００２６】
以上のように、本実施形態では、比較例の１次元のバーコード、あるいは、ＱＲコードのような２次元コードに対して、コードが採用するセルまたはセルを分割したサブセルを暗色で塗りつぶす代わりに、暗色の周囲が明色で囲まれるドットを採用する。このようなドットを例えば明色のセル内に配置することで、比較例のコードよりも高密度で、セル内に第２のコードを定義できる。
なお、読み取り装置の読み取り分解能は様々であるが、一般的には、ドットの面積の合計が特定セルの面積に対して５０％前後だと、識別可能な２以上の色（ＱＲコード等の白色と黒色を使用する場合は、白いセルと黒いセル）のどちらであると判定するかが分からないので好ましくない。一般的には、３３％以下（３分の１）であれば、特定セルが当該セルであると判定される。２５％以下であれば、さらに好ましい。
【００２７】
なお、図３から図６では、暗色の周囲が明色で囲まれるドットを配置する複合コードを例示したが、暗色のセル内に明色のドットを配置する場合も同様である。この場合、明色のドットが暗色の領域で明瞭に区分され、読み取り分解能の限界でも、明色のドットの識別がしやすくなる。
＜第１のコード内での第２のコードの配置位置＞
【００２８】
以下、図７から図１１により、第１のコード内での第２のコードの配置位置について、ＱＲコードを第１のコードとして説明する。ここで、第１のコード内での第２のコードの配置位置とは、第１のコードがＱＲコードのように、暗色のセルと明色のセルの組み合わせによって情報が表現される場合に、第２のコードが定義されるセル（上述のように特定セルという）の位置をいう。ここで、ＱＲコードを第１のコードとすることは例示であり、第１のコードがＱＲコードに限定される訳ではない。
【００２９】
本実施の形態のＱＲコードでは、左上を原点にして水平右方向をx方向、垂直下方向をy方向とし、位置情報（x, y）は、自然数 m, nを用いて、x=0,1,2〜m,  y=0,1,2〜n のように、表現する。一方、ＱＲコードのデータ（第１のコード）は、右下からスタートしてデータが配置されていく。本実施の形態では、Ｘ方向のセル２つ分を基準として、右から左にデータが配置されていく。
【００３０】
図７は、データ及び誤り訂正符号配置領域の明色のセル（図で白いセル）のみに第２のコードを配置した例である。図７で、第２のコードが形成される明色のセルには、１から１７８の通し番号が付されている。この通し番号は、本実施形態での説明上、各セル内のドットの配置による第２のコードを識別するための符号であって、実際のセルに形成されるパターン（図形形状）ではない。
【００３１】
ただし、この通し番号は、第２のコードが付されるセルに付与されるユニークな識別情報ということができ、例えば、複合コードを生成する生成装置、あるいは、複合コードを読み取る読み取り装置における情報処理で使用される番号として理解できる。番号が付された各セルには、図３から図６で例示されるドットによる第２のコードが形成される。以下、セル内のドットによる第２のコードを表現する形状をドットパターンということにする。図７から図１１の各図で、各セルに付される番号は、セル内のドットパターンを識別する番号ということができる。
【００３２】
図７では、第１のコードの配置の順序と同様の順序で第２のコードを配置させたものである。すなわち、ＱＲコードのセルのうち、右下からスタートしてＸ方向のセル２つ分を横並びにして、最初に右側のセル、次に左側のセルの順で走査し、明色のセル内に暗色のドットによる第２のコードを設定する。第２のコードとしては、例えば、図３から図６のものが例示される。ただし、第２のコードが図３から図６のものに限定される訳ではない。
【００３３】
上述のように、図７の各セルに付された通し番号は、セル内のドットパターンの種類を特定するものではなく、ドットパターンが付されるセルを識別する情報と理解できる。図５の明色のセルのうち、第２のコードが付されるセルは、特定セルと呼ばれるものの一例と言える。また、図５の明色のセルに付与される識別情報は、特定セルインデックスと呼ぶことにする。特定セルインデックスは、上記の走査順で、各セルの座標値と一対一に対応づけられる識別情報である。特定セルインデックスにより順序付けされた数値データが定義された複数の特定セルから形成されるということができる。また、第２のコードの列は、特定セルインデックスにより相互に識別できる複数の特定セルにより形成されるということができる。
【００３４】
なお、複合コード生成時、複合コードの生成装置が、第１のコード、例えば、ＱＲコードのセル走査順と同一の走査順でセルを走査し、ドットパターンによる第２のコードが設定される場合には、複合コードの読み取り装置は、複合コードの生成装置と同一の順序で、セルを走査し、ドットパターンによる第２のコードから情報を復号すればよい。したがって、第１コード、例えば、ＱＲコードのセル走査順と同一の走査順で生成された複合コードは、生成装置から情報を得ることなく、読み取り装置単独で読み取り可能である。読み取り装置が、生成装置と同一の走査順で、特定セルインデックスと、座標とを対応付けすればよいからである。
【００３５】
一方、複合コード生成時、複合コードの生成装置が、第１のコード、例えば、ＱＲコードのセル走査順と異なる走査順でセルを走査し、ドットパターンによる第２のコードが設定される場合には、複合コードの読み取り装置が複合コードから情報を復号するためには、特定セルインデックスと座標値とを対応づける情報が必要となる。以下の実施形態では、特定セルインデックスと座標値とを対応づける情報なしに複合コードの読み取り装置が複合コードから情報を復号する処理例と、読み取り装置が特定セルインデックスと座標値とを対応づける情報を付与されて複合コードから情報を復号する処理例が例示される。
【００３６】
また、特定セルインデックスと座標値とを対応づける情報としては、特定セルインデックスと座標値とを直接対応づける場合と、すべてのセルの座標に基準となるインデックスを付与しておき、特定セルインデックスと基準となるインデックスを対応づけることで、特定セルインデックスと座標値とを間接的に対応づける場合が例示される。
【００３７】
複合コードの読み取りでは、第１のコードの読み取りと第２のコードの読み取りを並行して実行する方法と、第１のコードの読み取りと第２のコードの読み取りを分けて２段階で実行する方法がある。第１のコードの読み取りと第２のコードの読み取りを並行して実行する方法では、第１のコードを形成する１つのセルの明色と暗色の判定後で、次のセルの明色と暗色の判定を行う前に、明色と暗色の判定が終了したセルについて、第２のコードを形成するドットパターンの存否が判定される。そして、ドットパターンが存在するセルに対して、ドットパターンの数値への復号が実行される。そして、所定数のセルを組み合わせた数値の集合単位で数値が統合されて、第２のコードが復号される。
【００３８】
図８は、ファインダパターン周囲の白いセルにも第２のコードを配置した複合コードの配置例である。図８でも、図７と同様、セルの列（紙面に対して上下方向のセルの並び）が２列ずつ組となっている。そして、最初の２列は、下から上方向に走査したとき、左右のセルのうち、右側のセル優先で、明色のセルに通し番号が付されている。例えば、右端２列のうち、最下行では、左側に明色のセルがあるので、通し番号１が付される。また、下から２行目では、暗色のセルしかないので、通し番号が付されない。さらに、例えば、下から８行目では、左右両方のセルが明色であるので、右側のセル優先で通し番号６と７が付される。以下同様である。また、右から３列目と４列目については、上から下にセルが走査され、左右の２つのセルについては、やはり右側のセル優先で、明色のセルに通し番号が付される。
【００３９】
図９は、図１で説明したファインダパターン及びアライメントパターンを含むすべての白いセルに第２のコードを配置した場合である。したがって、図１で説明したファインダパターンの周囲の明色のセル、タイミングパターン内の明色のセル、およびフォーマット情報中の明色のセルも、図７、図８のデータが配置されるセルと同様に、第２のコードが配置される。
【００４０】
図１０は、第２のコードが明色のセルだけでなく、暗色のセルに配置する複合コードの例である。この場合も、データ及び誤り訂正符号領域のみでなく、ファインダパターン及びアライメントパターン以外のセルに第２のコードを配置してもよい。また、ファインダパターン及びアライメントパターンを含むすべてのセル（明色のセルと暗色のセル）に第２のコードを配置してもよい。ここで、暗色のセルに第２のコードを配置する場合には、ドットは明色となる。図１０では、図５に例示した構成と同様の構成で、特定セルインデックス２７の暗色のセルに明色のドットを配置した構成が例示されている。
【００４１】
図１１は、第２のコードを構成するセル毎のドットパターンを所定個数の複数セルだけ繰り返した複合コードの配置例である。図１１では、１から１６の番号でセルの通し番号である特定セルインデックスが繰り返し配置されている。図１１では、右下からスタートして、Ｘ方向のセル２つ分を基準として、右から左に１〜１６の特定セルインデックスに対応するドットパターンが配置されている。このように、所定数の第２のコード（ドットパターン）を繰り返し配置することで、読み取り装置は、第１のコード中の一部（例えば、ＱＲコードの所定数のセル）から、第２のコードを読み取ることが可能となる。図１１で例示されるように、所定個数の特セルインデックス（１から１６の番号）でひとまとめにされる第２のコードの部分をサブコードと呼ぶ。
【００４２】
図１１の複合コードの場合、セル内の第２のコードの種類を示す番号（例えば、１〜１６の番号）と、各セルの位置座標（または、各セルの通し番号）とを関連付けるテーブルが復号コードの生成装置側で生成され、読み取り装置に引き渡されるようにすればよい。ただし、第２のコードの配置規則を予め決めておくことで、読み取り装置側で、第２のコードが設定されたセルに生成装置と同一の規則で通し番号（特定セルインデックス）を生成するようにしてもよい。複合コードの読み取り装置は、上記規則にしたがって、各セル内の第２のコードから読み取った値を通し番号順に並べて数値を統合すればよい。
【００４３】
なお、図１１のように、所定数の通し番号（特定セルインデックス）が繰り返して各セルに設定される場合に、各セル内の第２のコード自体も、通し番号（特定セルインデックス）の繰り返しに整合していることが確認できるようにしてもよい。例えば、１〜１６の特定セルインデックスが付与されるＮ個（例えば１６個）のセルのうち、先頭のセルには、第２のコードの先頭を示すドットパターンを付与し、末尾のセルには、第２のコードの末尾を示すドットパターンを付与してもよい。
【００４４】
図１２は、第１のコードの一例であるＱＲコード内の全ての明色のセルに、所定個数の第２のコードを構成するドットパターンを繰り返し配置した複合コードの配置例である。すなわち、図１２は、図１１で例示した通し番号（特定セルインデックス）を付与する規則を採用しつつ、全ての明色のセルに第２のコードを配置している。したがって、図１２では、図９と同様、ＱＲコード内の全ての明色のセル、すなわち、ファインダパターン、アライメントパターン等の明色のセルに第２のコードを配置可能とされる。
【００４５】
この場合、ＱＲコードの読み取り処理と第２のコードの読み取り処理とを並行して実行させる必要はない。例えば、第１のコードの読み取りが完了後、第２のコードの読み取りを行ってもよい。そこで、複合コードの第２のコード生成時および読み取り時に、左上の原点からスタートして下方向にセルが走査され、走査中に検出された明色セルに１〜１６のインデックスが付与される。図１２の実施例では、セルの座標がＸ座標の最小値から最大値へ移動するとともに、Ｙ座標の最大値から最小値へ移動し、さらに最小値から最大値へ順に移動する処理が繰り返される。
【００４６】
さらに、図１２では、特定セルインデックスは、最小値（１）から最大値（１６）まで順に付与され、次に、最大値（１６）から最小値（１）まで付与されている。この場合、複合コードの生成装置は、この特定セルインデックスに対応するドットパターンを各セルに設定し、複合コードを生成する。一方、複合コードの読み取り装置は、生成装置と同一の手順で、特定セルを検索して、生成装置と同一の規則で特定セルインデックスを設定し、複合コード中のセルの順序を決定し、第２のコードを復号すればよい。
【００４７】
ただし、ＱＲコード内の全ての白いセルに配置する場合でも、図７から図１０で説明したのと同様に、生成装置は、第１のコードの配置順序（ＱＲコードの走査順）と一致させて第２のコードを配置（特定セルインデックスを設定）してもよい。そして、読み取り装置は、ＱＲコードの読み取り処理と第２のコードの読み取り処理とを並行して実行してもよい。
【００４８】
図１３は、ＱＲコードの周辺の余白にドットを配置した複合コードの例である。ＱＲコード内の全ての白いセルに加えて、さらに、クワイエットゾーン（ＱＲコードの周りにある空白の部分）に第２のコードを配置可能としてもよい。また、図１３の例では、生成装置および読み取り装置は、セルの移動に伴い、特定セルを検索し、第２のコードが設定された特定セルが見出されると、特定セルインデックスの最小値（１）から最大値（１６）の範囲で順に設定する。
＜セル内のドットパターンの配置＞
【００４９】
図１４から図２３により、第２のコードを形成するセル内のドットパターンの配置について説明する。図１４は、仮想点からの距離と方向で情報を定義するドットパターンの配置例である。仮想点からの距離と方向で情報を定義するドットパターンは、図６で例示されたドットパターンである。
【００５０】
第２のコードは、セル内に仮想点を設定し、仮想点からドットまでの距離ｄおよび仮想点からドットまでの直線の方向の少なくとも一方で情報を定義する。仮想点の位置は、セルの原点に対して設定される。セルの原点は、例えば、セルの左下点を例示できるが、セルの原点の定義に限定がある訳ではない。図１４では、距離ｄが固定値の場合が例示されている。ただし、距離ｄとして、複数の値をとることで、情報を定義してもよい。また、図１４では、ドットが仮想点の周り（距離ｄ）で、４５度単位に配置され、数値データ０００から１１１が定義されている。
【００５１】
なお、セルの方向は、第１のコードで基準となる形状部分、例えば、ＱＲコードのファイダパターン（図１参照）によって決定される。したがって、セル内のドットの仮想点に対して配置される方向は、ファインダパターンで決定される座標軸を基準に設定される。例えば、図１４の各セルで、仮想点から右方向の軸を方向の基準とすると、数値０００は、方向９０度に対応する。また、数値００１から数値１１１は、それぞれ数値０００の方向から（例えば、方向９０度から）時計回りに、４５度単位で回転移動した方向に対応する。
【００５２】
したがって、複合コードを生成する生成装置は、セル内に仮想点を設定し、数値データに対応する距離および方向で定まる位置にドットを形成し、印刷機による印刷、あるいは電子媒体・放送媒体・記憶媒体・通信媒体から画面への出力をすればよい。一方、複合コードを読み取る読み取り装置は、上記第１のコードで基準となる形状部分を基にセル内の仮想点と方向を設定し、仮想点からセル内で検出されたドットに至る距離と方向を認識し、ドットパターンから数値を復号すればよい。
【００５３】
図１５は、仮想点上にドットを配置するか、否かによって情報を定義する例である。仮想点上にドットを配置するか、否かによって情報を定義するドットパターンは、例えば、図３から図５で例示されたドットパターンである。
【００５４】
したがって、複合コードを生成する生成装置は、セル内に仮想点を設定し、数値データに対応する仮想点上にドットを形成し、あるいはドットのない画像を形成し、印刷機による印刷、あるいは電子媒体・放送媒体・記憶媒体・通信媒体から画面への出力をすればよい。一方、複合コードを読み取る読み取り装置は、上記第１のコードで基準となる形状部分を基にセル内の仮想点を設定し、それぞれの仮想点でのドットの有無を認識し、ドットパターンから数値を復号すればよい。さらに、記憶媒体上に複合コードを記憶し、それをプログラムが復号化してもよい。つまり、仮想空間上で復号コードを生成・復号化することができる。
【００５５】
図１６は、図４に例示した第２のコードでの仮想点の設定例である。図１６では、セルを３分割×３分割＝９分割した領域の中心に、仮想点（Ｘｉ，Ｙｊ）が設定される。すでに、図４で述べたように、明色のセルに暗色のドットを配置する場合には、９個の仮想点のうち、最大８個の仮想点にドットを配置することで、セル全体として、明色のセルとして判断され、かつ、仮想点に暗色のドットを配置することができる。
【００５６】
図１７は、図５に例示した第２のコードでの仮想点の設定例である。図１７では、図１６の３行３列の仮想点のうち、中央の列の２つの仮想点の行位置が、第１列の３つの仮想点と第３列の３つの仮想点の行位置の中間位置となるように配置される。
【００５７】
図１８は、仮想点位置の変形例である。仮想点位置は、図１６、図１７に限定されることなく、様々な仮想点を用いることができる。例えば、仮想点位置は、セル内に１個でもよいし、２以上であってもよい。例えば、仮想点位置は、セルの中心およびセルの中心からセルの四隅に向かう対角線上の位置に設けてもよい。また、仮想点をセル内に２個設ける場合には、仮想点は、セルの中心から１本の対角線上で、対角となる２つの隅に近い位置に設けてもよい。さらに、仮想点をセル内に３個設ける場合には、仮想点の１つは、対向するセルの２辺のうち、一方の辺の中点からセルの中心を結ぶ線上の当該一方の辺に近い位置に設け、残りの２つの仮想点は、当該一方の辺に対向する辺の両端に近い位置（対向する辺と対向する辺に直交する辺がなす２つの隅）に設けてもよい。
【００５８】
図１９は、ドットパターンによる情報を設定しないことを明示するセル内のドットパターンの例である。例えば、セル内に複数の仮想点を設けた場合、セル中心の仮想点にドットを配置した場合には、情報が未定義であることを意味するようにしてもよい。
【００５９】
図２０は、線分の先端が仮想点に位置する線分による第２のコードの例である。すなわち、図１４のように仮想点の周りにドットを配置し、距離と方向で情報を定義する代りに、図２０のように、仮想点の周りに線分を配置し、線分の長さと方向で情報を定義してもよい。線分がマークの一例である。また、図２０の線分のパターンは、マーク同士が接触する配置が除外されているパターンの一例と言える。また、図２０の線分のパターンでは、マークが、特定セルと特定セルに隣接するセルとの境界に接触する配置が除外されていると言える。また、図２０では、線分の方向および長さの少なくともいずれかによって数値データの一部を定義することができる。
【００６０】
図２１は、線分の中心が仮想点に位置付けられる線分による第２のコードの例である。また、図２１でも、線分の方向および長さの少なくともいずれかによって数値データの一部を定義することができる。さらに、図２２では、線分の長さが複数段階に変更されており、線分の長さが情報を定義する１つの要素となっている。なお、第２のコードとして線分を配置する場合に、仮想点の位置は、線分の中心に限定される訳ではない。例えば、図２３は、線分の中心ではなく、線分を所定の比率で内分する位置（例えば、線分の端から１／３の位置）が仮想点に位置付けられる線分による第２のコードの例である。したがって、図２２、あるいは図２３でも、線分の方向および長さの少なくともいずれかによって数値データの一部を定義することができる。また、図２０から図２３では、線分中のいずれかの位置を仮想点上に配置することによって数値データの一部が定義されると言える。
【００６１】
以上のように、図１４から図２３では、特定セルにおける座標情報を有する位置に１以上の仮想点を任意に設定していると言える。また、図１４から図２３では、仮想点を基にしてマークを配置して数値データが定義されると言える。なお、上記図１４から図２３では、明色の領域と暗色の領域によってマークを定義したが、例えば、Ｒ（赤）、Ｇ（緑）、Ｂ（青）のいずれか２つによって、マークを定義してもよい。したがって、図１４から図２３では、マークの形状、色、仮想点を基にしたマークの配置方法および配置の有無の少なくともいずれか1つにより、数値データの一部が定義される複合コードの一例ということができる。また、図１４から図２３では、第２のコードは、ドットまたは線分で定義された。しかし、マークの形状は、任意の多角形、または略円形であってもよい。
＜ＱＲコードに実際にドットを配置した例＞
【００６２】
図２４は、第１のコードの例としてのＱＲコードのセル内にドットパターンを配置した複合コードの構成例（１）を示す図である。構成例（１）では、第２のコードの例として、仮想点からの距離と方向で情報を定義するドットパターンが例示される。仮想点からの距離と方向で情報を定義するドットパターンは、図１４で説明した通りである。図２４では、ＱＲコードの部分にハッチングパターンで塗りつぶされた暗色の領域と、ハッチングパターンの無い明色の領域が形成されている。また、明色の領域内の概ね中心付近に、プラス（“＋”）のマークで、仮想点が例示されている。なお、プラス（“＋”）等のマークは、仮想点の位置を図面上に例示するために記載されており、実際の複合コードには、プラス（“＋”）等のマークは描画されない。また、仮想点の回りに、概ね４５度単位で、ドットが各明色の領域に１つずつ例示されている。
【００６３】
図２５は、第１のコードの例としてのＱＲコードのセル内にドットパターンを配置した複合コードの構成例（２）を示す図である。構成例（２）では、第２のコードの例として、明色の領域内に仮想点が複数設けられ、仮想点上にあるか否かによって情報を定義する。図２５では、１つの明色の領域に仮想点が４点設けられているが、本実施形態で、仮想点が４点に限定される訳ではない。
【００６４】
図２６は、第１のコードの例としてのＱＲコードのセル内にドットパターンを配置した複合コードの構成例（３）を示す図である。構成例（３）では、第２のコードの例として、明色の領域内に仮想点が複数設けられ、仮想点上にあるか否かによって情報を定義する。図２５では、各明色の領域にドットが１個配置されているが、図２６では、１つの明色の領域にドットが０点から３点設けられている。
【００６５】
図２７は、第１のコードの例としてのＱＲコードのセル内にドットパターンを配置した複合コードの構成例（４）を示す図である。構成例（４）では、第２のコードの例として、ドットパターンが定義される特定セルによって仮想点の数やドットの配置方法が異なる。すなわち、特定セルの位置に応じて、仮想点の数、仮想点の配置位置、仮想点に対するドットの配置の仕方を異なるものとしてもよい。仮想点に対するドットの配置の仕方には、例えば、図２４のように、仮想点からの距離と方向で情報を定義するドットパターンの配置と、図２５、図２６のように、仮想点上にあるか否かによって情報を定義するドットパターンの配置が例示される。また、１つの明色の領域内のドットの数は、１個でも、複数でもよい。
【００６６】
いずれにしても、複合コードを生成する生成装置と、複合コードから情報を取得する読み取り装置の間で、セル位置別に、第２のコードの定義の仕方を共通にしておけばよい。また、例えば、図１に例示したフォーマット情報中に、第２のコードの定義の仕方を特定するための情報を組み込んでおけばよい。
【００６７】
図２８は、第１のコードの例としてのＱＲコードのセル内にドットパターンを配置した複合コードの構成例（５）を示す図である。構成例（５）では、第２のコードの例として、暗色の領域に明色のドットを配置することによって情報を定義する。図２８では、図２６で例示される、明色の領域に暗色のドットを配置したドットパターンに対して、明色と暗色を入れ替えたドットパターンが例示されている。
【００６８】
図２９は、第１のコードの例としてのＱＲコードのセル内にドットパターンを配置した複合コードの構成例（６）を示す図である。構成例（６）では、第２のコードの例として、明色の領域に線分を配置することで情報を定義する。構成例（６）では、図２０と同様、線分の先端が仮想点に位置付けられて線分が配置される。
【００６９】
図３０は、第１のコードの例としてのＱＲコードのセル内に線分のパターンを配置した複合コードの構成例（７）を示す図である。構成例（７）では、第２のコードが配置される特定セルによって異なる配置の仕方で線分が配置される。例えば、線分の先端が仮想点となる線分、線分の中心が仮想点となる線分、線分の長さが複数段階に変更され、線分の長さが情報を定義する１つの要素となるもの、線分を所定の比率で内分する位置仮想点となる線分等を採用することができる。
【００７０】
図３１は、第１のコードの例としてのＱＲコードのセル内に線分のパターンを配置した複合コードの構成例（８）を示す図である。構成例（８）では、第２のコードが配置される特定セルごとに、第２のコードの例として、線分のパターンとドットパターンのいずれかが選択され、配置される。また、線分のパターンの配置の仕方、ドットパターンの配置の仕方が、特定セルごとに規定されている。このような第２のコードの配置の仕方は、複合コードを生成する生成装置と、複合コードを読み取る読み取り装置間で、共通にしておけばよい。
【００７１】
さらに、図２３から図３１では、図示が省略されているが、明色の領域に定義する第２のコード（図２３等）と、暗色の領域に定義する第２のコード（図２８）とを組み合わせて複合コードを形成するようにしてもよい。
＜システム構成＞
【００７２】
図３２は、複合コードによるサービスを提供する情報システムの構成を例示する図である。この情報システムは、管理サーバＭＳ１と、コンテンツサーバＣＳ１、ＣＳ２と、ユーザ装置ＵＤ１とがネットワークＮ１により接続される。また、この情報システムは、ネットワークＮ１には接続されないユーザ装置ＵＤ２を有するようにしてもよい。
【００７３】
管理サーバＭＳ１は、複合コード生成手段ＣＧＭと複合コード解析手段ＣＡＭを有する。複合コード生成手段ＣＧＭは、入力されたデジタルデータを複合コードに変換する。管理サーバＭＳ１は、例えば、ネットワークＮ１を通じてコンテンツサーバＣＳ１からデジタルデータを引き渡され、複合コード生成手段ＣＧＭにより、複合コードの画像データを生成し、コンテンツサーバＣＳ１に返す。
【００７４】
複合コード解析手段ＣＡＭは、入力された複合コードを解析し、元のデジタルデータに変換する。管理サーバＭＳ１は、例えば、ネットワークＮ１を通じてユーザ装置ＵＤ１から複合コードの画像を引き渡され、複合コード解析手段ＣＡＭにより、元のデジタルデータを生成し、ユーザ装置ＵＤ１に返す。
【００７５】
コンテンツサーバＣＳ１は通信手段ＣＭＳ１と複合コード出力手段ＣＯＵＴ１を有する。コンテンツサーバＣＳ１は様々なコンテンツ、あるいは、サービスをユーザ装置ＵＤ１、ＵＤ２等に提供する。コンテンツサーバＣＳ１が提供するコンテンツは、例えば、放送媒体、通信媒体である、放送システムあるいは電子情報通信システムを通じてユーザ装置に提供される。コンテンツとしては、画像（静止画あるいは動画）を含むものを例示できる。放送媒体とは、例えば、テレビジョン放送等をいい、電磁波等でコンテンツを配信する媒体である。また、通信媒体とは、例えば、インターネット等をいい、有線あるいは無線のネットワークでコンテンツを配信する媒体である。
【００７６】
コンテンツサーバＣＳ１は、ＣＤ、ＤＶＤ、ブルーレイディスク、ＵＳＢメモリ等の記録媒体を介してコンテンツをユーザ装置ＵＤ１、ＵＤ２等に提供することもできる。さらに、コンテンツサーバＣＳ１は、印刷媒体を介して、コンテンツをユーザ装置ＵＤ１、ＵＤ２等に提供することもできる。印刷媒体としては、例えば、紙、物体の表面等のインクにより画像を形成可能なものが例示される。
【００７７】
コンテンツサーバＣＳ１は、提供するコンテンツに関連するデジタルデータを管理サーバＭＳ１にネットワークＮ１を通じて転送し、複合コードに変換させる。そして、コンテンツサーバＣＳ１は、管理サーバＭＳ１で変換された複合データを、ネットワークＮ１を通じて取得し、コンテンツとともに、ユーザ装置ＵＤ１、ＵＤ２等に提供する。コンテンツに関連するデジタルデータとは、提供されるコンテンツに関連する種々の文字情報、提供されるコンテンツに関連するＵＲＬ、提供されるコンテンツに関連する識別情報、あるいはアクセスのための認証情報などである。
【００７８】
コンテンツサーバＣＳ２は、通信手段ＣＭＳ２および複合コード出力手段ＣＯＵＴ２に加えて、複合コード生成手段ＣＧ２を有する。したがって、コンテンツサーバＣＳ２は、提供するコンテンツに関連するデジタルデータを複合コード生成手段ＣＧ２により、複合コードに変換することができる。したがって、コンテンツサーバＣＳ２は、デジタルデータを管理サーバＭＳ１に転送し、複合コードに変換させる必要はない。なお、通信手段ＣＭＳ２および複合コード出力手段ＣＯＵＴ２の機能は、上述したコンテンツサーバＣＳ１の通信手段ＣＭＳ１および複合コード出力手段ＣＯＵＴ１と同様である。なお、コンテンツサーバＣＳ１、ＣＳ２としては、例えば、放送局の放送装置と連携する情報処理装置、インターネット上でコンテンツを提供するサーバ、印刷会社その他において印刷装置、プリンタと連携するサーバ、印刷装置に内蔵されたコンピュータ等を例示できる。
【００７９】
ユーザ装置ＵＤ１は、通信手段ＣＭＵ１と、画像入力手段ＩＩＮ１とを有する。画像入力手段ＩＩＮ１は、放送媒体であるテレビジョン画面、通信媒体であるウェブコンテンツ上のグラフィックスオブジェクトを含む画面、記録媒体から出力されるグラフィックスオブジェクトを含む画面、あるいは印刷媒体に形成された印刷物から画像を入力する画像入力手段を有する。画像入力手段は、例えば、Charge Coupled Devices（電荷結合素子、ＣＣＤ）、あるいはmetal-oxide-semiconductor（ＭＯＳ）イメージセンサ、Complementary metal-oxide-semiconductor（ＣＭＯＳ）イメージセンサ等の撮像デバイスを有するスキャナあるいはカメラ等である。
【００８０】
ユーザ装置ＵＤ１は、入力された画像そのもの、あるいは入力された画像中の複合コード部分を管理サーバＭＳ１にネットワークＮ１を通じて転送し、複合コードでコード化されたデジタルデータを復元させる。そして、ユーザ装置ＵＤ１は、得られたデジタルデータとコンテンツサーバＣＳ１、ＣＳ２等から提供されるコンテンツとを基に、デジタルデータに対応する処理を実行する。デジタルデータに対応する処理とは、例えば、デジタルデータに基づく、当該コンテンツの妥当性判定、当該コンテンツへのアクセスの可否判定、当該コンテンツのユーザへの提供方法の変形、当該コンテンツに関連する他のコンテンツの提供等である。
【００８１】
ユーザ装置ＵＤ２は、画像入力手段ＩＩＮ２に加えて、複合コード解析手段ＣＡ２を有する。ユーザ装置ＵＤ２は、複合コード解析手段ＣＡ２を用いて、入力された画像から複合コードでコード化されたデジタルデータを復元する。したがって、ユーザ装置ＵＤ２は、入力された画像および入力された画像中の複合コード部分を管理サーバＭＳ１に転送し、デジタルデータを復元させる必要はない。そして、ユーザ装置ＵＤ２は、得られたデジタルデータとコンテンツサーバＣＳ１、ＣＳ２等から提供されるコンテンツとを基に、デジタルデータに対応する処理を実行する。なお、ユーザ装置ＵＤ１、ＵＤ２としては、パーソナルコンピュータ、タブレット端末、スマートフォン等を例示できる。
【００８２】
図３３は、情報処理装置１０のハードウェア構成を例示する図である。情報処理装置１０は、本実施形態の管理サーバＭＳ１、コンテンツサーバＣＳ１、ＣＳ２、ユーザ装置ＵＤ１、ＵＤ２に適用可能である。情報処理装置１０は、ＣＰＵ１１と、主記憶装置１２と、外部機器を有し、プログラムにより情報処理を実行する。ＣＰＵ１１はプロセッサともいう。外部機器としては、外部記憶装置１３、表示装置１４、操作部１５、通信インターフェース１６、画像入力インターフェース１７、画像出力インターフェース１８を例示できる。
【００８３】
ＣＰＵ１１は、主記憶装置１２に実行可能に展開されたコンピュータプログラムを実行し、情報処理装置１０の機能を提供する。主記憶装置１２は、ＣＰＵ１１が実行するコンピュータプログラム、ＣＰＵ１１が処理するデータ等を記憶する。主記憶装置１２は、Dynamic Random Access Memory（ＤＲＡＭ）、Static Random Access Memory（ＳＲＡＭ）、Read Only Memory（ＲＯＭ）等である。さらに、外部記憶装置１３は、例えば、主記憶装置１２を補助する記憶領域として使用され、ＣＰＵ１１が実行するコンピュータプログラム、ＣＰＵ１１が処理するデータ等を記憶する。外部記憶装置１３は、ハードディスクドライブ、Solid State Disk（ＳＳＤ）等である。さらに、情報処理装置１０には、着脱可能記憶媒体の駆動装置を設けてもよい。着脱可能記憶媒体は、例えば、ブルーレイディスク、Digital Versatile Disk（ＤＶＤ）、Compact Disc（ＣＤ）、フラッシュメモリカード等である。
【００８４】
表示装置１４は、例えば、液晶ディスプレイ、エレクトロルミネッセンスパネル等である。操作部１５は、例えば、キーボード、ポインティングデバイス等である。本実施形態では、ポインティングデバイスとしてマウスが例示される。通信インターフェース１６は、ネットワークＮ１上の他の装置とデータを授受する。例えば、ＣＰＵ１１は、通信インターフェース１６を通じて、ネットワークＮ１上の他の装置と通信する。また、通信インターフェース１６は、放送装置に接続されてもよい。放送装置は、例えば、デジタルデータをベースバンド信号から、高周波信号に変換し、高周波アンプおよびアンテナを介して、変換された高周波を放送波として送信する。
【００８５】
画像入力インターフェース１７には、カメラ、スキャナ等が接続され、各種媒体から画像データを取得する。各種媒体としては、テレビ受像器の画面、コンピュータのディスプレイ、書籍等の印刷物、物体表面に形成された視認可能な絵柄等を例示できる。
【００８６】
画像出力インターフェース１８には、印刷装置、プリンタ等が接続され、印刷媒体に画像データを出力する。なお、図３３では省略されているが、情報処理装置１０は、画像入力インターフェース１７を介して接続されるカメラ、スキャナ等を有してもよい。また、情報処理装置１０は、画像出力インターフェース１８を介して接続される印刷装置、プリンタ等を有してもよい。
【００８７】
さらに、情報処理装置１０が管理サーバＭＳ１に適用される場合には、画像入力インターフェース１７および画像出力インターフェース１８はなくてもよい。また、情報処理装置１０がコンテンツサーバＣＳ１、ＣＳ２に適用される場合には、画像入力インターフェース１７はなくてもよい。さらに、情報処理装置１０がユーザ装置に適用される場合には、画像出力インターフェース１８はなくてもよい。
＜処理フロー＞
【００８８】
図３４から図３６により、本情報システムにおける処理フローを説明する。以下、コンテンツサーバＣＳ１およびＣＳ２を総称して、単にコンテンツサーバＣＳと呼ぶことにする。すなわち、以下の処理は、コンテンツサーバＣＳ１およびＣＳ２のいずれが実行してもよい。また、ユーザ装置ＵＤ１およびＵＤ２を総称して、単にユーザ装置ＵＤと呼ぶことにする。すなわち、以下の処理は、ユーザ装置ＵＤ１およびＵＤ２のいずれが実行してもよい。
【００８９】
図３４は、コンテンツサーバＣＳによる複合コード生成処理Ａを例示するフローチャートである。複合コード生成処理Ａとするのは、図３８の複合コード生成処理Ｂと区別するためである。図３４、図３８の処理により、コンテンツサーバＣＳは、複合コード生成装置として処理を実行すると言える。図３４の処理では、コンテンツサーバＣＳは、第１のコードの形状情報を生成する（Ｓ１１）。例えば、第１のコードがＱＲコードである場合には、コンテンツサーバＣＳは、ＱＲコードにおける明色のセルと暗色のセルの配置を決定する。
【００９０】
次に、コンテンツサーバＣＳは、第２のコードに変換するデジタルデータを入力する（Ｓ１２）。デジタルデータは、例えば、コンテンツサーバＣＳが提供するコンテンツに関連する情報である。デジタルデータは、例えば、コンテンツサーバＣＳが提供するコンテンツに関連付けられた記憶装置から入力される。
【００９１】
次に、コンテンツサーバＣＳは、デジタルデータを２値符号化する（Ｓ１３）。すなわち、コンテンツサーバＣＳは、デジタルデータを２進数の１次元ビット列に変換する。そして、コンテンツサーバＣＳは、２値符号化されたデータを第１のコードのセル毎のデータに分割する（Ｓ１４）。すなわち、コンテンツサーバＣＳは、各セル内のドットパターンで表現可能な最大ビット数で、２値符号化されたデータを区切る。そして、コンテンツサーバＣＳは、区切られたデータを所定の規則にしたがって、第２のコードを配置可能なセルに割り当てる。
【００９２】
第２のコードを配置可能なセルとは、例えば、第１のコードが明色のセルと暗色のセルの組み合わせによって定義され、暗色のドットによって第２のコードを定義する場合には、明色のセルである。また、第２のコードを配置可能なセルとは、例えば、第１のコードが明色のセルと暗色のセルの組み合わせによって定義され、明色のドットによって第２のコードを定義する場合には、暗色のセルである。コンテンツサーバＣＳは、例えば、図７、図８から図１３等の所定の規則にしたがって、第２のコードを割り当てるセルと、割り当てる順序を決定する。なお、すでに図１１に例示したように、コンテンツサーバＣＳは、第２のコードを形成する前記複数の特定セルを複数回繰り返して形成し、セルを割り当ててもよい。
【００９３】
そして、コンテンツサーバＣＳは、第２のコードの形状情報を生成する（Ｓ１５）。すなわち、コンテンツサーバＣＳは、Ｓ１４の処理で、セルごとに区切られた２値符号化データをセル内の仮想点を基準に符号化される画像データに変換する。セル内の仮想点を基準に符号化される画像データは、例えば、図３から図６に例示したものである。そして、コンテンツサーバＣＳは、画像データを出力する（Ｓ１６）。出力先は、例えば、プリンタ等による印刷媒体、ネットワークＮ１を介した電子情報配信によるユーザ装置ＵＤの表示装置への出力、放送媒体を通じた配信等である。Ｓ１１の処理およびＳ１６の処理を実行するコンテンツサーバＣＳは、第１のコードを生成する第１の生成手段の一例を有するということができる。また、Ｓ１２からＳ１６の処理を実行するコンテンツサーバＣＳは、第２の生成手段の一例を有するということができる。したがって、コンテンツサーバＣＳは、第２の生成手段として、マークが特定セル内に複数個配置される場合には、マーク同士が接触する配置を除外すると言える。また、コンテンツサーバＣＳは、第２の生成手段として、特定セルと特定セルに隣接するセルとの境界に接触する配置を除外すると言える。
【００９４】
なお、コンテンツサーバＣＳがコンテンツサーバＣＳ１である場合には、デジタルデータが管理サーバＭＳ１に転送され、Ｓ１３からＳ１５の処理は、管理サーバＭＳ１によって実行される。コンテンツサーバＣＳ１は、管理サーバＭＳ１で生成された画像データをプリンタ、ネットワーク上のユーザ装置ＵＤ、あるいは放送媒体等に出力すればよい。
【００９５】
図３５は、ユーザ装置ＵＤによる複合コード読取処理Ａを例示するフローチャートである。複合コード読取処理Ａとするのは、図３９の複合コード読取処理Ｂと区別するためである。図３５、図３９の処理により、ユーザ装置は、複合コード読み取り装置として処理を実行すると言える。図３５の処理では、ユーザ装置ＵＤは、画像入力インターフェース１７を介して、スキャナあるいはカメラ等から入力される複合コードの画像を入力し、フォーマット、および第１のコードのセルの配置を認識する（Ｓ２０）。例えば、ユーザ装置ＵＤは、ファインダパターンにより、ＱＲコードの向きを認識し、アライメントパターンにより画像の歪みを補正する。また、ユーザ装置ＵＤは、タイミングパターンにより、セルの配置間隔を認識し、ＱＲコードのデータおよび誤り訂正符号の配置位置を特定する。ユーザ装置ＵＤは、以降、セル毎に、第１のコードの配置順で複合コードを処理する。例えば、ユーザ装置ＵＤは、ＱＲコードの右下隅のセルから上の方向に、右端２列のセルを順次処理し、２列分の処理が完了すると、３列目および４列目のセルについて、上から下に向かって順次処理する。以下、同様に２列ずつデータセルと誤り訂正符号のセルを処理する。以下、セルごとの処理を説明する。
【００９６】
すなわち、ユーザ装置ＵＤは、次のセルの画像を取得し、第１のコードを解析し、明暗を判定する（Ｓ２１）。次に、ユーザ装置ＵＤは、処理中のセル内に第２のコードが定義されているか否かを判定する（Ｓ２２）。例えば、ユーザ装置ＵＤは、Ｓ２０で取得したフォーマットの情報から、仮想点の配置の仕方、および、仮想点に対するドットの配置の仕方を認識し、該当位置にドットが少なくとも１つあるか否かを判定する。そして、セル内に第２のコードが定義されている場合には、セル内の第２のコードを解析する（Ｓ２３）。なお、第２のコードは、明色のセルに定義されたものでもよい。また、第２のコードは、図１０のように暗色のセルに定義されたものでもよい。
【００９７】
そして、ユーザ装置ＵＤは、次のセルが未処理で残っているか否かを判定する（Ｓ２４）。次のセルが未処理の場合、ユーザ装置ＵＤは、処理をＳ２１に戻す。一方、すべてのセルの処理が完了し、次のセルがない場合、ユーザ装置ＵＤは、第１のコードの明暗判定で得られたビット列から、第１のコードをキャラクタごとに統合した情報を生成する（Ｓ２５）。例えば、ユーザ装置ＵＤは、明暗判定から得られたビット列をキャラクタに分離し、デジタルデータを生成する（Ｓ２５）。Ｓ２０、Ｓ２１およびＳ２５の処理を実行するユーザ装置ＵＤは、第１のコードから数値データを取得する第１の取得手段を有するといえる。
【００９８】
さらに、ユーザ装置ＵＤは、第２のコードから得られたビット列を基に、デジタルデータを復元する（Ｓ２６）。例えば、第２のコードが、図１１のように、所定個数（例えば、１６個）のセルの組み合わせで構成される場合、第１のセルから所定個数分のセルまでのドットパターンによるビット列を統合して、デジタルデータを復元する。Ｓ２３の処理およびＳ２６の処理を実行するユーザ装置ＵＤは、第２のコードから数値データを取得する第２の取得手段を有するといえる。このとき、ユーザ装置ＵＤは、Ｓ１４において、コンテンツサーバＣＳが区切られたデータを第２のコードを配置可能なセルに割り当てた規則と同一の規則にしたがって、第２のコードの組み合わせ順序を決定する。したがって、Ｓ２６の処理を実行するユーザ装置ＵＤは、特定セルを順序づける特定セルインデックスを生成する手段の一例を有すると言える。したがって、ユーザ装置ＵＤは、例えば、図１１に例示したように、第２のコードを形成する複数の特定セルが複数回繰り返して順序付けて、特定セルインデックスを形成してもよい。
【００９９】
そして、ユーザ装置ＵＤは、第１のコードおよび第２のコードから復元されたデジタルデータに対応する情報処理を実行する（Ｓ２７）。例えば、ユーザ装置ＵＤは、復元されたデジタルデータにしたがって、コンテンツを表示し、再生し、出力し、加工し、または、コンテンツに関連するデータを追加する等の処理を実行する。ただし、本実施形態において、Ｓ２７の処理で実行される情報処理に限定がある訳ではない。なお、ユーザ装置ＵＤがユーザ装置ＵＤ１である場合には、複合コードはユーザ装置ＵＤ１から管理サーバＭＳ１に転送され、Ｓ２０からＳ２６の処理は、管理サーバＭＳ１によって実行される。ユーザ装置ＵＤ１は管理サーバＭＳ１での結果を取得し、Ｓ２７の処理を実行すればよい。
【０１００】
図３６は、セル内の第２のコードの解析処理（図３５のＳ２３）の詳細を例示するフローチャートである。以下の処理は、ユーザ装置ＵＤで実行されるものと説明する。しかし、上述のように、ユーザ装置ＵＤがユーザ装置ＵＤ１である場合には、以下の処理は、管理サーバＭＳ１で実行される。この処理では、ユーザ装置ＵＤは、セル原点に対する仮想点を特定する（Ｓ２３０）。なお、Ｓ２３０の処理は繰り返し実行されるため、図３６では、「次の仮想点」と記載されている。
【０１０１】
そして、ユーザ装置ＵＤは、仮想点に対する次のドット位置を推定する（Ｓ２３１）。例えば、図６に例示したように、ドット位置が仮想点からの距離と方向を変えて配置されている場合には、各配置位置が順次推定される。一方、図３から図５のように、ドットが仮想点上に置かれる場合には、仮想点がそのまま推定された位置となる。
【０１０２】
そして、ユーザ装置ＵＤは、ドット位置の画素を所定画素数分走査し、画素値の比率ＶＰｎ／ＶＰ０を算出する（Ｓ２３２）。そして、比率ＶＰｎ／ＶＰ０が基準値以下か否かを判定する（Ｓ２３３）。ここで、画素とは、スキャンあるいはカメラで取得された画像が画像メモリに保存されたときの画像メモリの配列要素をいう。ここで、ＶＰ０は、ドット中心として推定される位置の画素値である。ＶＰｎは、ドット中心からｎ画素離れた位置の画素値である。ＶＰｎ／ＶＰ０が基準値以下の場合、ドット中心として推定される位置の画素値に対して、ドット中心からｎ画素離れた位置の画素値の比率が十分に小さいことになる。そこで、ユーザ装置ＵＤは、比率ＶＰｎ／ＶＰ０が基準値以下の場合、ドットの存在を推定する基準値を充足すると判断する。
【０１０３】
そして、ユーザ装置ＵＤは、比率がドットの存在を推定する基準値を充足する場合、ドット有りを記録する（Ｓ２３４）。一方、比率がドットの存在を推定する基準値を充足しない場合、つまり、比率ＶＰｎ／ＶＰ０が基準値以下とならない場合、ユーザ装置ＵＤは、ドットなしを記録する（Ｓ２３５）。
【０１０４】
次に、ユーザ装置ＵＤは、仮想点に対するすべてのドット位置の処理を終了したか否かを判定する（Ｓ２３６）。仮想点に対するすべてのドット位置の処理を終了していない場合、ユーザ装置ＵＤは、処理をＳ２３０に戻し、同一仮想点に対する次のドット位置を推定する。なお、仮想点上にドットが配置される場合には、Ｓ２３６の判定は不要である。
【０１０５】
一方、仮想点に対するすべてのドット位置の処理を終了した場合、ユーザ装置ＵＤは、全仮想点の処理を終了したか否かを判定する（Ｓ２３７）。そして、全仮想点の処理を終了していない場合、ユーザ装置ＵＤは、処理をＳ２３０に戻し、次の仮想点の処理を実行する。
【０１０６】
また、全仮想点の処理を終了した場合、ユーザ装置ＵＤは、ドット位置に対応するセル内のドットパターンの数値を確定する（Ｓ２３８）。すなわち、ユーザ装置ＵＤは、ドットの配置から復元する数値を決定する。そして、ユーザ装置ＵＤは、セル内のドットパターンの数値とセルの識別情報を保存する（Ｓ２３８）。セルの識別情報は、セルに付せられた通し番号でもよい。また、セルの識別情報は、例えば、ＱＲコードにおけるセルの配置座標でもよい。セルの識別情報は、図１１の例では、繰り返し設定される１から所定数（例えば１６）までの特定セルインデックスでもよい。また、ユーザ装置ＵＤは、セル内のドットパターンの数値とセルの識別情報と特定セルインデックスを組み合わせて保存してもよい。
＜実施形態１の効果＞
【０１０７】
以上述べたように、本実施形態の情報システムでは、ＱＲコードで例示される第１のコードのセル内に、ドットパターンによる第２のコードを定義した複合コードが採用される。例えば、コンテンツサーバＣＳが複合コードを生成し、放送媒体、通信媒体、記憶媒体、印刷媒体等の様々な媒体に複合コードを付与し、配布する。
【０１０８】
本複合コードは、明色のセル内では、暗色のドットが使用される。このような構成では、セル内でドットとドットが明色の領域で分離される。また、セル内のドットが隣接するセルと明色の領域で分離される。したがって、読み取り装置であるユーザ装置ＵＤは、明瞭に第２のコードを認識できる。その結果、第１のコードによる情報量を増加させ、かつ、安定して復号することが可能となる。例えば、第２のコードが図５の形式の場合、１つのセルにおいて、３２４通り、７ビット以上８ビット未満の情報を定義できる。
【０１０９】
また、上記実施形態では、ユーザ装置ＵＤ２の複合コード解析手段ＣＡ２あるいは、管理サーバＭＳ１の複合コード解析手段ＣＡＭは、画像入力手段ＩＩＮ１、ＩＩＮ２から取得した画像中のドットの存在が推定される位置（例えば、ドット中心と推定される位置）の画素値ＶＰ０と、ドット中心と推定される位置から所定画素数（ｎ画素）離れた位置の画素値Ｖｐｎとの比率が所定の条件を充足するか否かにしたがって、ドットの存在の有無を判定した。このような画素値の比を用いることで、明色の領域と暗色の領域との境界を精度よく判定できる。上記比率による判定では、例えば、第１のコードの一例として、ＱＲコードの明色と暗色との判定において、全画素の７５％以上が暗色画素のセルを暗色のセルとし、全画素の２５％以下が暗色画素のセルを明色のセルをと判定する場合と整合する判定を行うことができる。さらに、仮に、ドットの有無を判定すべき領域に、照明のむら、影の影響、あるいは汚れ等が存在する場合でも、画素値の比率を計算することで、ドット中心と推定される位置の画素とドット中心と推定される位置から所定画素数（ｎ画素）離れた位置の画素とにバックグランドの変動が生じても、明色の領域と暗色の領域との境界を精度よく判定できる。
【０１１０】
また、上記実施形態では、ユーザ装置ＵＤ２の複合コード解析手段ＣＡ２および管理サーバＭＳ１の複合コード解析手段ＣＡＭの少なくとも一方により、複合コードを解析し、第２のコードから数値を復元できる。したがって、ユーザ装置ＵＤ１のように、解析手段ＣＡ２を設けなくても、画像入力手段ＩＩＮ１と通信手段ＣＭＵ１を有するユーザ装置ＵＤ１は、管理サーバＭＳ１との通信により簡易、軽負荷で、複合コードによるサービスをユーザに提供できる。
［実施形態２］
【０１１１】
上記実施形態１では、第２のコードの読み取り順は、第１のコードのセルの読み取り順とした。ただし、第２のコードが設定されたセルの読み取り順を第１のコードのセルの読み取り順を異なるものとしてもよい。例えば、図３２の情報システムにおいて、複合コードを生成する複合コード生成手段ＣＧＭ、ＣＧ２が２値符号化されたビット列をセル毎のデータに分割する処理（図３４のＳ１４）において、第２のコードが設定されたセルの読み取り順を第１のコードとは異なる順とするとともに、その読み取る順を保存するようにしてもよい。例えば、読み取り順は、セルの読み取り順の番号ＳＥＱ（ｋ）とセルの中心座標（Ｘｉ，Ｙｊ）とを対応づけて管理できる。複合コードを生成する管理サーバＭＳ１の複合コード生成手段ＣＧＭ、あるいはコンテンツサーバＣＳ２の複合コード生成手段ＣＧ２は、第２のコードが設定されたセルの読み取り順の番号ＳＥＱ（ｋ）とセルの中心座標（Ｘｉ，Ｙｊ）とを対応づけて保存し、複合コードを読み取るユーザ装置ＵＤ１、ＵＤ２に引き渡せばよい。
【０１１２】
また、例えば、すべてのセルに基準となる通し番号ＩＤ（ｎ）を所定の基準で付与し、すべてのセルについて付与される識別情報である通し番号ＩＤ（ｎ）と、第２のコードが設定されたセルの読み取り順の番号ＳＥＱ（ｋ）との関係として管理できる。複合コードを生成する管理サーバＭＳ１の複合コード生成手段ＣＧＭ、あるいはコンテンツサーバＣＳ２の複合コード生成手段ＣＧは、セルの読み取り順の番号ＳＥＱ（ｋ）と各セルについての通し番号ＩＤ（ｎ）とを対応づけて保存し、複合コードを読み取るユーザ装置ＵＤ１、ＵＤ２に引き渡せばよい。この場合、各セルについての通し番号ＩＤ（ｎ）と各セルの中心座標（Ｘｉ，Ｙｊ）との関係は、事前に規則で決められているものとする。
【０１１３】
以下、セルの読み取り順の番号ＳＥＱ（ｋ）を特定セルインデックスともいう。また、第２のコードが設定されたセルの読み取り順の番号ＳＥＱ（ｋ）とセルの中心座標（Ｘｉ，Ｙｊ）との関係、あるいは、すべてのセルについて付与される識別情報である通し番号ＩＤ（ｎ）と、第２のコードが設定されたセルの読み取り順の番号ＳＥＱ（ｋ）との関係をセル読み取り順序情報という。
【０１１４】
図３７に、実施形態２に係る情報システムの構成を例示する。図のように、この情報システムは、管理サーバＭＳ３と、コンテンツサーバＣＳ３と、ユーザ装置ＵＤ３とがネットネットワークＮ１により接続される。管理サーバＭＳ３は、複合コード生成手段ＣＧＭと、特定セルインデックス設定手段ＣＩＧＭを有する。複合コード生成手段ＣＧＭは、複合コードを生成するときに、特定セルインデックス設定手段ＣＩＧＭにより、セル読み取り順序情報を生成し、セル読み取り順序情報ファイルＣＩＭに保存する。
【０１１５】
また、コンテンツサーバＣＳ３は、特定セルインデックス設定手段ＣＩＧＳを有する。コンテンツサーバＣＳ３は、複合コードを生成するときに、特定セルインデックス設定手段ＣＩＧＳにより、セル読み取り順序情報を生成し、セル読み取り順序情報ファイルＣＩＳに保存する。なお、図３７では、省略しているが、本情報システムは、実施形態１のコンテンツサーバＣＳ１を有してもよい。コンテンツサーバＣＳ１は、自身で複合コードを生成する代わりに、複合コードの生成を管理サーバＭＳ３に依頼する。したがって、生成された複合コードに対応するセル読み取り順序情報は、管理サーバＭＳ３のセル読み取り順序情報ファイルＣＩＭに保存される。なお、通信手段ＣＭＳ３、複合コード出力手段ＣＯＵＴ３は実施形態１の通信手段ＣＭＳ２、複合コード出力手段ＣＯＵＴ２と同様であるので、その説明を省略する。
【０１１６】
ユーザ装置ＵＤ３は、例えば、セル順序読み取り情報を管理サーバＭＳ３またはコンテンツサーバＣＳ３から、ネットワークＮ１を介して取得し、保持する。ユーザ装置ＵＤ３の複合コード解析手段ＣＡ３は、セル順序読み取り情報にしたがって、各セルに設定されたドットパターンによる数値を統合することで、第２のコードからデジタルデータを復元する。なお、画像入力手段ＩＩＮ３、通信手段ＣＭＵ３は、実施形態１の画像入力手段ＩＩＮ１、ＩＩＮ２、通信手段ＣＭＵ１等と同様であるので、その説明を省略する。
【０１１７】
図３８は、コンテンツサーバＣＳ３または管理サーバＭＳ３による複合コード生成処理Ｂを例示するフローチャートである。この処理では、コンテンツサーバＣＳ３は、Ｓ１４Ａの処理において、セル読み取り順序情報を保存する点が図３２と相違する。他の手順は、実施形態１と同様であるので、その説明を省略する。Ｓ１２からＳ１５の処理を実行するコンテンツサーバＣＳ３は、第２のコードを生成する第２の生成手段を有するといえる。
【０１１８】
図３９は、ユーザ装置ＵＤによる複合コード読取処理Ｂを例示するフローチャートである。この処理では、ユーザ装置ＵＤ３は、Ｓ２５ＡおよびＳ２６Ａの処理を実行する点で、図３５と相違する。すなわち、ユーザ装置ＵＤ３は、セル読み取り順序情報をセル読み取り順序情報ファイルＣＩＵから参照する（Ｓ２５Ａ）。そして、ユーザ装置ＵＤ３は、セル読み取り順序情報にしたがって各セル内のドットパターンで指定される数値を統合し、第２のコードによるデジタルデータを復元する（Ｓ２６Ａ）。なお、ユーザ装置ＵＤ３は、セル読み取り順序情報をセル読み取り順序情報ファイルＣＩＵから参照する代わりに、コンテンツサーバＣＳ３または管理サーバＭＳ３にセル読み取り順序情報を生成するように依頼し、生成されたセル読み取り順序情報を参照するようにしてもよい。Ｓ２２、Ｓ２３、Ｓ２５ＡおよびＳ２６Ａの処理を実行するユーザ装置ＵＤは、第２の取得手段を有するといえる。また、Ｓ２５Ａの処理を実行するユーザ装置ＵＤ３は、特定セルを順序づける特定セルインデックスを生成するサーバまたは特定セルインデックスを保存するサーバから、特定セルインデックスを取得する手段を有すると言える。また、コンテンツサーバＣＳ３または管理サーバＭＳ３は、特定セルを順序づける特定セルインデックスを生成するサーバまたは特定セルインデックスを保存するサーバの一例と言うことができる
【０１１９】
なお、ユーザ装置ＵＤ３は、Ｓ２６Ａによる処理を実行するときに、セル読み取り順序情報を管理サーバＭＳ３から取得してもよいし、図３９の複合コード読取処理を実行する前に、管理サーバＭＳ３から予めセル読み取り順序情報を取得し、セル読み取り順序情報ファイルＣＩＵに保存しておいてもよい。
【０１２０】
以上述べたように、実施形態２では、複合コードを生成するコンテンツサーバＣＳ３のまたは管理サーバＭＳ３により、特定セルインデックスであるセルの読み取り順の番号ＳＥＱ（ｋ）とセルの中心座標（Ｘｉ，Ｙｊ）との関係、あるいは、セルの読み取り順の番号ＳＥＱ（ｋ）と各セルについての通し番号ＩＤ（ｎ）との関係がセル読み取り順序情報ファイルＣＩＳ、ＣＩＭ等に保存される。セル読み取り順序情報ファイルＣＩＳ、ＣＩＭ等に保存されたセル読み取り順序情報は、ユーザ装置ＵＤ３に引き渡され、複合コードの復号時に参照され、ドットパターンの形式で設定されたセルごとの数値が統合され、第２のコードが元のデジタルデータに復元される。したがって、実施形態２の情報システムによれば、第１のコード、例えば、ＱＲコードの読み取り順に依存しない読み取り順序で、第２のコードを形成するドットパターンを各セルに設定でき、復元できる。
【０１２１】
このような読み取り順は、事前に規則で定めておいてもよいし、例えば、図１に例示したフォーマット情報あるいは第１のコードのデータ（本文）の中に、読み取り順序の規則を指定する情報を埋め込んでおいてもよい。このような構成とすることで、様々な態様で第２のコードを設定できる。
［実施形態３］
【０１２２】
上記実施形態１、２では、第１のコードのセルの読み取りと並行し、各セル内のドットパターンの有無を判定し、第２のコードを復号した。しかし、一旦第１のコードの復号のみを先に実行し、次に２回目に、各セルを走査し、第２のコードからデジタルデータを復元するようにしてもよい。
【０１２３】
また、上記実施形態２では、第１のコードのセルの読み取り順と第２のコードのセル読み取り順が異なる場合の処理を例示した。しかし、例えば、第１のコードがＱＲコードである場合に、仮に、図１に例示したデータ及び誤り訂正符号の読み取り順と、第２のコードがドットパターンで符号化されたセルの読み取り順が同一の場合でも、フォーマット領域、ファインダパターン、タイミングパターン、または、図１３に例示したクワイエットゾーン等に第２のコードのドットパターン（または線分のパターン等）を設定する場合には、第２のコードの読み取り順は第１のコードのセルの読み取り順を異なるものとなる。そこで、第２のコードを形成するドットパターン（または線分のパターン等）が設定されるセルによっては、第１のコードのセルの読み取りと並行し、各セル内のドットパターンの有無を判定できない場合もある。
【０１２４】
そこで、実施形態３では、複合コードの解析において、第１のコードの解析のためのセルの走査が終了した後、再び複合コードの画像中のセルを上記規則にしたがって走査する処理を例示する。複合コードの解析での第２のコードが埋め込まれたセルの読み取り順以外の実施形態３の他の構成および処理は上記実施形態１と同様である。
【０１２５】
実施形態３の構成要素のうち、実施形態１および実施形態２と同一の構成要素については、実施形態１および実施形態２の構成要素が実施形態３に適用されるものとしてその説明を省略する。また、必要に応じて、実施形態１および実施形態２の構成要素を引用する。
【０１２６】
なお、上記実施形態２では、第２のコードの読み取り順を第１のコードのセルの読み取り順を異なるものとし、セルの読み取り順の番号ＳＥＱ（ｋ）とセルの中心座標（Ｘｉ，Ｙｊ）との関係、あるいは、セルの読み取り順の番号ＳＥＱ（ｋ）と各セルについて通し番号ＩＤ（ｎ）との関係がセル読み取り順序情報ファイルＣＩＳ、ＣＩＭ等に保存され、復号時に参照できるようにした。本実施形態では、実施形態２と同様、セル読み取り順序情報が読み取り側のユーザ装置ＵＤ３等から参照できるようにしてもよいし、セル読み取り順序情報を読み取り側のユーザ装置ＵＤ３等に引き渡さないようにしてもよい。
【０１２７】
例えば、図３２の情報システムにおいて、複合コードを生成するとき、２値符号化されたビット列をセル毎のデータに分割する処理（図３２のＳ１４）において分割されたビット列を割り当てるセルの順序を特定の規則にしたがって決定するものとする。そして、復号コードを解析するときに、同一の規則にしたがって、第２のコードを形成するドットパターンが設定されたセル数値を統合すればよい。したがって、第２のコードの読み取り順が第１のコードのセルの読み取り順と異なるものとしても、必ずしもセル読み取り順序情報が必要な訳ではない。
【０１２８】
図４０は、実施形態３における複合コードの読み取り処理を例示するフローチャートである。図４０の処理は、実施形態２の図３９と比較して、Ｓ２０ＣおよびＳ２１Ｃが相違する。すなわち、例えば、ユーザ装置ＵＤ３は、まず、第１のコードのすべてのセルの解析を実行する（Ｓ２０Ｃ）。以下、図４０の処理は、ユーザ装置ＵＤ３が実行するものとして説明するが、ユーザ装置ＵＤ３から複合コードを引き渡された管理サーバＭＳ３が以下の処理を実行してもよい。
【０１２９】
ユーザ装置ＵＤ３等（以下、単にユーザ装置ＵＤ）は、画像入力インターフェース１７を介して、スキャナあるいはカメラ等から入力される複合コードの画像を入力し、フォーマット、および第１のコードのセルの配置を認識する。例えば、ユーザ装置ＵＤは、ファインダパターンにより、ＱＲコードの向きを認識し、アライメントパターンにより画像の歪みを補正する。また、ユーザ装置ＵＤは、タイミングパターンにより、セルの配置間隔を認識し、ＱＲコードのデータおよび誤り訂正符号の配置位置を特定する。そして、ユーザ装置は、例えば、一般的なＱＲコードの読み取り順序にしたがって、すべてのセルの明暗を判定する。
【０１３０】
次に、ユーザ装置ＵＤは、再度複合コードの全セルを所定の順に走査する。走査順は、例えば、右下のセルから、第１列を上方向に走査し、次に、第２列を下方向に走査し、以降同様に、奇数列を上方向に走査し、偶数列を下方向に走査すればよい。ただし、実施形態３において走査順に限定がある訳ではなく、例えば、左上セルから、奇数行を右方向に、偶数行を左方向に、行毎に走査してもよい。この全セルにおいては、ファインダパターン、アライメントパターン、タイミングパターン、フォーマット、データおよび誤り訂正符号のすべてを走査する。そして、ユーザ装置ＵＤは、次のセルの画像を取得する（Ｓ２１Ｃ）。この処理は、処理の対象に、ファインダパターン、アライメントパターン、タイミングパターン、フォーマット等が含まれる点を除外して、実施形態１、２と同様である。
【０１３１】
次に、ユーザ装置ＵＤは、処理中のセル内に第２のコードが定義されているか否かを判定する（Ｓ２２）。この処理は、判定の対象に、ファインダパターン、アライメントパターン、タイミングパターン、フォーマット等が含まれる点を除外して、実施形態１、２と同様である。そして、セル内に第２のコードが定義されている場合には、セル内の第２のコードを解析する（Ｓ２３）。この処理も、解析の対象に、ファインダパターン、アライメントパターン、タイミングパターン、フォーマット等が含まれる点を除外して、実施形態１、２と同様である。
【０１３２】
そして、ユーザ装置ＵＤは、次のセルが未処理で残っているか否かを判定する（Ｓ２４）。次のセルが未処理の場合、ユーザ装置ＵＤは、処理をＳ２１に戻す。この処理も、判定の対象に、ファインダパターン、アライメントパターン、タイミングパターン、フォーマット等が含まれる点を除外して、実施形態１、２と同様である。
【０１３３】
そして、すべてのセルの処理が完了し、次のセルがない場合、ユーザ装置ＵＤは、第１のコードの明暗判定で得られたビット列から、第１のコードをキャラクタごとに統合した情報を生成する（Ｓ２５）。この処理は、実施形態１、２と同様である。ただし、Ｓ２５の処理は、Ｓ２０Ｃの処理の中で実行してもよい。
【０１３４】
そして、ユーザ装置ＵＤは、セル読み取り順序情報をセル読み取り順序情報ファイルＣＩＵから参照する（Ｓ２５Ａ）。そして、ユーザ装置ＵＤは、セル読み取り順序情報にしたがって各セル内のドットパターンで指定される数値を統合し、第２のコードによるデジタルデータを復元する（Ｓ２６Ａ）。Ｓ２５ＡおよびＳ２６Ａの処理は、処理の対象に、ファインダパターン、アライメントパターン、タイミングパターン、フォーマット等が含まれる点を除外して、実施形態１、２と同様である。以降の処理は、実施形態１、２と同様であるので、その説明を省略する。Ｓ２２、Ｓ２３、Ｓ２５ＡおよびＳ２６Ａの処理を実行するユーザ装置ＵＤは、第２の取得手段を有するといえる。
【０１３５】
なお、上述のように、２値符号化されたビット列をセル毎のデータに分割する処理（図３４のＳ１４）において分割されたビット列を割り当てるセルの順序を特定の規則にしたがって決定するものとする場合には、Ｓ２５Ａの処理は不要である。すなわち、ユーザ装置ＵＤは、当該規則にしたがって、各セル内のドットパターンで指定される数値を統合し、第２のコードによるデジタルデータを復元すればよい。
【０１３６】
以上述べたように、実施形態３によれば、ユーザ装置ＵＤ３、管理サーバＭＳ３等は、第１のコード、例えば、ＱＲコードのセル読み取り順と異なる読み取り順序で、第２のコードが設定されたセルから第２のコードを形成するドットパターンを読み取り、複合コードを復号できる。したがって、ファインダパターン、アライメントパターン、タイミングパターン、フォーマット等にドットパターンが形成される場合も、復号が可能となる。
［実施形態４］
【０１３７】
上記実施形態１〜３では、第１のコードのセルの配置に対して、第２のコードが静的に配置され、時間変化しない複合コードが例示された。実施形態４では、第１のコードのセルの配置に対して、第２のコードが時間変化する複合コードが例示される。このような複合コードは、例えば、情報機器のディスプレイ上に表示可能である。例えば、情報機器がフレームごとに固定の第１のコードに、異なる第２のコードを組み合わせてディスプレイ上に表示すればよい。第２のコードは、１フレームごとに異なるものが出力されてもいいし、複数フレーム連続して同一のものが出力されてもよい。第２のコードは、図１２から図２９に例示したどれであってもよい。
【０１３８】
また、同一の第２のコードで、表示される表示期間を変更することで、いわば、パルス幅変調と同様の手順で、情報を定義してもよい。例えば、図１２に例示した仮想点からの距離と方向で情報を定義するドットパターンでは、定義される情報量は、３ビットである。しかし、３ビット固定のドットパターンを時間軸方向で、フレームごとにＯＮとＯＦＦさせることで、６０ビット／秒程度の情報を１つのセルで送信できる。この場合に、例えば、第１のコード、例えば、ＱＲコードの所定の領域（図１のファインダパターン、アライメントパターン等）も、ＯＮおよびＯＦＦすることで、フレームを同期させるための同期パターンを形成してもよい。読み取り装置は、第１のコードによるフレーム同期にしたがって、第２のコードであるドットパターンをフレームごとに取得すればよい。
【０１３９】
さらに、１つの第２のコードが表示される区間が１〜数フレームとすることで、人の目によって視認されにくくすることができる。したがって、人の目には認識されにくい状態で、情報機器のディスプレイから他の情報機器のカメラ、スキャナ等の画像形成装置によって複合コードを取得することができる。
【０１４０】
なお、第２のコードの時間変化において、明暗のパターンが複数フレーム以上継続する場合には、画像入力手段（実施形態１の画像入力手段ＩＩＮ１、ＩＩＮ２、実施形態３の画像入力手段ＩＩＮ３等）は複数フレーム分のデータを蓄積することで、同期パターンなしに第２のコードを入力可能である。また、第２のコード自体が、例えば、信号の開始を示す明暗パターンのシーケンスと、信号の終了を示す明暗パターンのシーケンスを有することで、ＱＲコードの所定の領域に同期パターンを形成しなくてもよい。
【０１４１】
ここで、複合コードが情報機器のディスプレイに表示される場合について説明する。
第１のコードの一例であるＱＲコードは視認できることが前提であるため、ディスプレイで任意の時間継続表示する。一方、ディスプレイで映像が表示されている３０フレーム／秒では１０〜３０フレームに付き１〜２フレーム程度、６０フレーム／秒では２０〜６０フレームに付き１〜４フレーム前後だけ第２のコードを表示することにより、視聴者には第２のコードを視認しにくくすることができる。さらに、視認しにくくしたい場合は、ドットの画素色がセルで使用されている識別可能な２以上の色のセルの画素色に対して認識できる範囲で、ドットが視認しにくい画素色を使用すればよい。
［その他の変形例］
【０１４２】
上記実施形態１から４では、明色の領域と暗色と領域とによって、第１のコードおよび第２のコードを定義した。そして、生成装置であるコンテンツサーバＣＳ１、ＣＳ２、ＣＳ３２等が複合コードを出力し、読み取り装置であるユーザ装置ＵＤ１、ＵＤ２、ＵＤ３等が複合コードからデジタルデータを復元し、所定の処理を実行した。ここで、暗色の領域は、例えば、黒色の領域であり、明色の領域は、白色の領域である。しかし、複合コードは、明色の領域と暗色によって形成されるものに限定される訳ではない。例えば、Ｒ（赤）、Ｇ（緑）、Ｂ（青）、C（シアン）、M（マゼンダ）、Y（黄）、B（黒）、W（白）のいずれか２色を、第１のコードおよび第２のコードのセルの色に使用してもよい。また、カラーコード情報として、Ｒ（赤）、Ｇ（緑）、Ｂ（青）、C（シアン）、M（マゼンダ）、Y（黄）、B（黒）、W（白）いずれかをセルの色として選択できるようにし、第１のコードおよび第２のコードを定義してもよい。その際、第１のコードを形成するセルと第２のコードを形成するマークの識別は、選択できる色が異なる組み合わせにより可能となる。また、第２のコードに形成するマークがあるか否かで、第２のコードの存在を認識できる。マークが配置されていない第１のコードのセルの色と第２のコードのマークは同色を選択するケースがあってもよい。当然、当該マークは、第２のコードのセルの色と識別できる範囲の色を使用しなければならない。さらに、当該マークは第２のコードのセルの色と識別できる範囲で、当該マークの色をカラーコード情報とすることもできる。複合コードの第１のコードがＱＲコードである場合は、第１のコードと第２のコードのセルの色は、従来のＱＲコードリーダーが第１のコードを読み取れる色に限定し、第２のコードのマークの色を、Ｒ（赤）、Ｇ（緑）、Ｂ（青）、C（シアン）、M（マゼンダ）、Y（黄）、B（黒）、W（白）の８色としてもよい。マーク配置位置に取得できる色を８種類とすることにより、１つのマーク配置位置で３bitを定義でき、第２のコードの情報量を３倍に増大できる。なお、印刷媒体の色と第１または第２のコードのマークが形成されたセルのいずれかの色は同一であってもよい。さらに、マークが形成されていない第1のコードのセルの色は、前述のいずれかのマークの色と同一であってもよい。その場合、当該マークの色情報は、４色であれば2bitで00、８色であれば3bitで000としてもよい。当然であるが、複合ＱＲコードリーダー性能により色数を増やし、カラーコード情報を増加させることができることは言うまでもない。例えば、画像識別における符号化変調技術を用いれば、その倍程度の情報量が実現可能となり、カラーマークを使用することにより、６倍の情報量を定義できることになる。
【０１４３】
また、上記実施形態１から４では、第１のコードとしてＱＲコードが例示された。しかし、実施形態１から４において、第１のコードがＱＲコードに限定される訳ではない。例えば、第１のコードとして、カラーコード、ＤａｔａＭａｔｒｉｘ、ＰＤＦ４１７を含む２次元コードを利用できる。
【０１４４】
［実施形態５］
上記実施形態１〜３では、第１のコードのセルの配置に対して、第２のコードが組合せられた複合コードが例示された。また、実施形態４では、第１のコードのセルの配置に対して、第２のコードが時間変化する時系列複合コードが例示された。本実施形態では、第２のコードの変形例および第２のコードの読み取り方法の変形を例示する。なお、実施形態５で説明される復号コードが実施形態１〜４に適用できることはいうまでもない。また、実施形態４で説明される復号コードの読み取り方法が実施形態１〜４に適用できることはいうまでもない。
【０１４５】
（複合ＱＲコードの印刷特性と読み取り方法）
以下、マークとしてドットを使用した実施例を示す。もちろん、マークは略円形、矩形、十字、多角形等、どのような形状であってもよい。なお、以下で示したドットを他のマークに置き換えて使用してもよいことは言うまでもない。
図４１に、実施形態５における紙面等の媒体に印刷された暗色セルとピクセルの関係を例示する。図４２は、4×4pixelの暗色セルに明色のドットを形成した例である。図４３は、4×4pixelの明色セルに暗色のドットを形成した例である。印刷されるＱＲコードの暗色セルの大きさは、通常、0.17mm〜0.5mmであり、図４１のように、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）で印刷する暗色セルにドットコードを形成すると、図４２のように、暗色セルの中央の4個のピクセルのいずれかを印刷することにより、4通りのドットパターンを形成できる。つまり、1個のセルに対して2bitのドットコードを定義できる。中央の4個のみを対象にしたのは、ドットと同色のセルと隣り合う場合、セルの輪郭の精度が悪いと、ドットを認識しづらくなるため、セルの輪郭の領域に接続するドットの配置を排除するのが望ましいからである。
【０１４６】
ドットコードの読取りには複数の方法がある。ドットコードの読取りは、複合コードが撮像された画像がフレームバッファに記憶され、フレームバッファの座標系でドットを認識しその中心位置（座標値）を求めるか、ドット配置候補位置にドットが配置されているかを認識して、ドットの配置パターンにより定義された情報を取得することで行われる。代表的な方法は、下記の2通りである。
【０１４７】
（方法１）
方法１は、ドットの中心点を認識する方法である。すなわち、方法１は、撮像した画像からドットを抽出し、ドットの中心座標値を求めてドットの配置パターンを求める。この場合、ドット周辺には、撮像した際にドットを形成する画素の明暗から、明暗の変化率等を閾値としてドットを検出するため、ドットは他のドットや、同色のセルと接触した状態では認識することが困難である。従って、近接するドットの端部から、両ドットを認識できる所定距離を離してドットを配置することが望ましい。
【０１４８】
ところで、撮像した画像では、光が側方からＱＲコードを照らしたり、影や陰影が生じたりして、ドットを抽出するには前述の明暗の変化率を閾値とするのが望ましいが、明暗の変化率を求めるには、隣り合うドットの端部から端部まで少なくとも4ピクセル以上が必要であり、一定の解像度を有するカメラで撮影が必要になる。一方、ＱＲコードの同一色のセルの明暗はセルの位置によって大きく異なる場合があるが、各セル内での変化は殆どない。そこで、明色セルでは、当該セルを撮像したピクセルの明るい方から数個のピクセルの明度の平均値BLAを求め、同時に、ピクセルの暗い方から数個のピクセルの明度の平均値BDAを求める。ΔBL= BLA- BDAが所定範囲内に入っていれば、当該セルにはドットが存在しないことが分かり、所定範囲を超えていればドットが存在することになる。その場合のドットを判定する閾値は、α×BDA 以下、または BDA+ β × ΔBL 以下 で計算される。暗色セルでは、同様な処理を行い、ドットを判定する閾値は、α×BLA 以上、または BDA+ β × ΔBL 以上 で計算される。なお、 α , β は、BLA 、 BDA 、 ΔBLやカメラの性能や撮像画像の特性等によって定まる。
【０１４９】
（方法２）
方法２は、画像から得られたドットと、認識対象のドットが形成される所定領域（ドットの配置候補領域）または所定位置（ドットの配置候補位置）との重複部分を求める方法である。方法２は、簡潔には、所定の領域または所定位置にドットが存在するかを判定する方法ということができる。方法２の場合、ドットの中心座標値を求める必要がない。ドットが存在するか否かは、ドットの配置候補領域または配置候補位置を正確に認識できることが重要である。印刷精度がよく、複合ＱＲコード読取り装置の解像度が高ければ、復号コードの読み取り装置は、セルの中心座標値と当該セルの領域が正確に認識できる。そのような場合は、バウンディングボックスと呼ばれる予めドットの候補配置位置 （XnS1, YnS1）を中心とした所定の領域にドットの中心位置が含まれるか否か、または当該領域に一定の面積を有するドットの所定の範囲が含まれるか否かで、ドットの配置位置が判定される。あるいは、ドットの候補配置位置（XnS1, YnS1）に、一定の面積を有するドットの一部が重畳しているか否かで認識してもよい。なお、複合ＱＲコードが形成された媒体が平面を形成しない場合や、同媒体に対して、読取り装置が斜め方向から撮影した場合は、セルの中心座標値がずれる場合がある。そのような場合は、求まったセルの中心座標値を、所定の方法で正しいセルの中心座標値に補正するのが望ましい。この方法２は、微細なサブセルによってマトリクス状に細分化された拡張セルが第２のコードを形成する複合コードにおいても、従来よりも精度高い認識を可能にする。その際の最大の条件は、各セルの配置位置が、複合コードが撮像された画像がフレームバッファに記憶され、その座標系において正確な座標値で認識できることである。正確な座標値を取得するためには、基準となる基準マークを設けて、その基準マークはサブセルと接続させないで独立して設け、当該基準マークを抽出し中心座標値を取得することである。その結果、基準マークとサブセルの配置位置の関係によって、サブセルの配置位置を認識できる。
【０１５０】
図４４は、バウンディングボックスによるドットの位置の判定方法を例示する図である。図４４のように、読み取り装置は、セル中心位置から、セルのコーナーに向かって直線を引き、当該直線と重複するドットのピクセルを抽出する。なお、セルの中心位置（座標値）は、大概、第１のコードを読み取ることによって取得することができるが、フレームバッファの座標系とは異なる座標系の座標値で取得した場合は、撮像画像が記憶されたフレームバッファの座標系の座標値に変換する必要が有る。そして、読み取り装置は、ドットと重複した直線上の領域（直線と重複したピクセルの列からなる領域）の中心が、予めドットの候補配置位置 （XnS1, YnS1）を中心とした所定の領域以内（バウンディングボックス）に当該座標値が含まれているかで判定すればよい。バウンディングボックスは、ドットのサイズと同程度のセルサイズの25%前後（例えば、20%〜30%程度）の直径を有する円が望ましいが、矩形やその他の形状でもでもよいし、そのサイズも誤認率を想定した誤り訂正のレベルや印刷精度、撮像解像度で適宜定めてよい。なお、ドットが欠けているような場合は重複領域が途中で欠ける場合やインクの飛びもあり、それらを判定することが望ましい。例えば、直線と重複したピクセルの列からなる領域が複数領域に分離する場合が想定される。そのような場合には、読み取り装置は、最大領域をドットの領域とみなせばよい。また、分離した複数領域間の距離が所定値以内の場合に、読み取り装置は、分離した複数領域を１つの連続領域として統合してもよい。
【０１５１】
ドット座標値は、直線とドットの重複位置始点（XnS1-1, YnS1-1）および終点の座標値（XnS1-2, YnS1-2）から、式XnS1=（XnS1-2 - XnS1-1 ）／2, YnS1=（YnS1-2 - YnS1-1 ） ／2によって、（XnS1, YnS1）として求められる。この結果、図４４の例で、セル内の２本の対角線を用いてドットを検出する場合、１つの対角線に4個のドットの配置位置を設定し認識できるので、1個のセルに対して、2つの対角線で合計８個のドットの配置を設定し、8通り、すなわち3bitを定義することができる。
【０１５２】
この8通りは、8個のドットの配置候補位置のいずれか1個だけドットが配置された場合であり、なお、ドットであるか否かの判定用の閾値は、前述の明暗の変化率等や、α×BDA またはα×BDLAや BDA+ β × ΔBLを使用してもよい。セルの配置位置が一定の精度で認識できれば、バウンディングボックスを当該セルのサイズより若干下回る大きさに設定し、そのバウンディングボックス内でドットを抽出すれば、ドットが接続し隣接する同色のセルの影響を受けない。
【０１５３】
ＱＲコードのデータ領域の暗色、明色のセルにドットコードを形成すると、ドットコードの誤り訂正にＱＲコードと同程度の領域を使用したとしても、図４４で示したドット認識の方法を用いて、各セル当たり3bitを定義できるドットコードではＱＲコードの3倍のデータを複合ＱＲコードに格納できる。仮に、データ領域の明色セルだけにドットコードを形成しても1.5倍程度の情報量を格納できる。なお、ファインダパターン（切り出しシンボル）、アライメントパターン、クワイエットゾーン、タイミングパターン、フォーマット情報を形成するセルにもドットコードを形成でき、ＱＲコードの2倍程度の情報量を格納できる。さらに、データ領域以外の明暗色のセル全てにドットコードを形成すると、当該ＱＲコードの4倍以上の情報を格納できる。なお、これらのドットの配置の違いは、現行の解像度の低いスマートフォンのカメラでも、全く問題なく認識できる。この実施形態では、印刷できる領域が4×4であると仮定しているが、セルの大きさを大きくすれば、ドットの配置パターンはさらに増加させることができる。但し、その場合、高解像度のカメラで撮影・解析することが望ましい。専用の撮像解像度の高い複合ＱＲコードを使用すれば、容易に取得できる情報量を増大できる。
【０１５４】
図４５は、さらに、ドットコードの情報量を増大させるために、600dpiで1個のセルを5×5pixelで印刷し、セルサイズは5×25.4mm／600 ≒ 0.21mmとした実施例である。網で示した4か所は、ドットの形成位置を示している。この4か所にドットを形成するか、否かによって、1個のセルに4bitを定義できる。
【０１５５】
図４５は、600dpiで1個のセルを、セルを5×5pixelで印刷した例であり、図４６は、7×7pixelで印刷した例である。セルが7×7pixelで印刷されるとセルサイズは7×25.4mm／600 ≒ 0.30mmとなる。網で示した部分（5×5pixelの４箇所、および7×7pixelの９箇所）は、ドットの形成位置を示している。
【０１５６】
セルを7×7pixelで印刷する場合、中央の1ピクセルには、常にドットを形成し、当該セルにはドットコードが形成されていることの指標に使用してもよい。その場合は、 1個のセルに8bitが定義される。なお、いずれか1個のピクセルが形成される場合は、８箇所のドットの配置の仕方は、8通り（中央にドットを形成する場合も含めば9通り）となり、1個のセルで3bitが定義される。このドットコードの認識方法としては、読み取り装置は、セルの中心位置を基に、ドットが配置される領域に対してバウンディングボックスを設定して、当該バウンディングボックス内にドットが配置されているかどうかでドットの配置を認識すればよい。バウンディングボックスの大きさは、図４５ではドットのサイズと同程度のセルのサイズの20%前後（15〜30％程度）、図４６ではセルのサイズの14%前後（10%〜20%程度）の直径または辺を有する円または矩形であるのが望ましい。ドットの具体的な認識方法としては、読み取り装置は、バウンディングボックス内で認識された暗色または明色の割合が所定の比率（例えば、セルの中心位置のずれや印刷の精度を考慮し、50%）を超えた場合に、ドットが配置されていることを判定してもよい。また、読み取り装置は、ドットの中心座標値を求めて、セル内に本来配置されるドットの座標値に最も近い位置のバウンディングボックス内のドットで判定してもよい。なお、ドットであるか否かの判定用の閾値は、前述の明暗の変化率等や、α×BDA またはα×BLAや BDA+ β × ΔBLを使用してもよい。
【０１５７】
なお、暗色セルに対しても明色ドットにより同様なドットコードが定義できることは言うまでもない。本実施形態では、図４５の5×5pixelのセルで4個のピクセルの全てにドットが配置されたとしても、ドットの専有面積は4／（5×5）=16%にしかならず、ドットのサイズが膨らんでも、1.1倍程度（18％増程度）である。また、図４６の7×7pixelのセルで9個全てにドットが配置されたとしても、ドットの専有面積は9／（7×7）=18%にしかならず、ドットのサイズが膨らんでも、1.1倍程度（20％程度）である。したがって、ドットコードの存在が ＱＲコードを構成するセルの認識（他色の混入が1／3以下であれば適正に認識できる）に影響を与えることはない。さらに、ドットコードの情報量を増大するには、セルを構成するピクセル数を増加させてドットを配置する位置を増やし、印刷解像度を上げてドットを配置する位置を増やしてもよい。その場合、複合コードの読み取り装置の撮像解像度が十分に高ければ、ドットサイズは小さくしてもよい。その結果、ドットの配置位置を多く設定でき、ドットコードの情報量を増大させることができる。なお、ファインダパターン（切り出しシンボル）、アライメントパターン、クワイエットゾーン、タイミングパターン、フォーマット情報を形成するセルにもドットコードを形成でき、さらに情報量を増大できる。
【０１５８】
以上のように、ドットコードをＱＲコードのセルに形成した複合ＱＲコードは従来と同じ面積で埋め込む情報量を増加することができ、かつ、本来のＱＲコードの認識への影響を抑制できる技術である。従来技術は、1個のセルを分割して情報量を増加させるものであり、同色で分割セルが隣合わせになった際に認識が困難になり、印刷および撮像が超高解像度で実施されることが前提条件であり汎用性に乏しい。この従来技術に対して、本技術は、低解像度のカメラであっても、周辺が反対色（暗色と明色）であるドットの認識は容易であり、ドットの占める面積が少なくＱＲコードの認識も確保しつつ、従来技術に対してより多くの情報を付加できるのが大きな特徴である。以上から、一般的に使用されているＱＲコードを形成する1個のセルで1bitの情報しか定義できないが、複合ＱＲコードでは、1個の明色セルおよび／または暗色セルに形成されるドットコードにより、1個のセルに対して、少なくとも2bit〜8bit程度を定義できる。さらに、後述のカラーコードを使用することにより、現行のスマートフォン等の携帯端末に搭載されたカメラでＱＲコードの6〜10倍以上の情報を複合ＱＲコード（複合ＱＲコード内に記録されたドットコード）から読み取ることができる。
【０１５９】
ドットコードに記録される情報量の大幅な増加により、テキスト情報だけでなく、音声情報や画像情報を格納できる。しかも、複合ＱＲコードに記録された情報は、電話回線やインターネット、無線等の通信を使用しないで、カメラで撮影し、専用のアプリで読み取るだけで取得することができる。これにより、情報の送信中に第三者にハッキングされることを回避させることができ、極めてセキュリティ性の高い記録媒体となる。したがって、複合ＱＲコードによる情報の授受は、従来の通信と比較して個人情報や秘匿情報等の保護に有効である。さらに、複合ＱＲコードによる情報授受では、情報提供者自身のメールアドレスやSNSの個人情報を渡さずに、情報を渡したい相手に提供できる。
【０１６０】
（複合ＱＲコード中のドットコードの読み取り方法）
ＱＲコード読取りで最も多く使用されているスマートフォン等、携帯端末のカメラで、最も低い解像度はVGA（640×480）であるが、現在、極めて僅かである。携帯端末のカメラは、年々高解像度になることから、VGAによる問題は、無視してよい。複合ＱＲコードを読み取る際に、撮像した画像からより確実にドットコードであることを認識するには、1個のドットを2×2ピクセル以上で撮像するのが望ましい。そうすれば、撮像されたドットの左右・上下の1ピクセルのずれに対応できる。現在、普及しているスマートフォン等のカメラの解像度は、年々高くなり、少なくとも1920×1080〜2048×1536（300万画素）を超えている。従って、本実施形態では、比較的低解像度の1920×1080ピクセルのスマートフォンを想定し、さらに周辺ののりしろ20%程度設けられると過程する。この仮定では、撮影範囲は、864×864ピクセルであるので、本実施形態の複合ＱＲコードを十分な精度で読み取ることが可能である。図４２と図４３の複合ＱＲコードでは、 1個のセルを8ピクセルで撮像すると、読み取れるセル数は、864／8＝108となり、バージョン22、105 ×105セル、（誤り訂正レベルMで漢字488文字、0.779KB、ドットコードには最大1.558KBを格納可能）までの読取りが可能であり、ドットコードにＱＲコードの1.5〜2倍程度を格納でき、印刷した場合105×8×25.4／600mm ≒ 35.56までを読み取ることができる。さらに、ＱＲコードの規格では日本語テキストの圧縮はされていない。現在、日本語テキスト圧縮データ技術によりＱＲコードの3倍の文字数を格納することができる。その結果、488文字×2（ドットコード情報量増加分）×3倍（日本語テキスト圧縮分）=2,928文字を格納できる。図４４のような読取り方式を実施すれば、ドットコードには最大2.337KBを格納可能でありＱＲコードの2〜3倍程度を格納できる。さらに、日本語テキスト圧縮データ技術により4,392文字を格納できる。図４５の復号ＱＲコードでは、1個のセルを10×10ピクセルで撮像すると864／10＝86、バージョン17、85×85セル（誤り訂正レベルMで漢字310文字、0.504KB、ドットコードには最大2.016KBを格納可能）までの読取りが可能であり、ドットコードにＱＲコードの3〜4倍程度を格納でき、印刷した場合85×10×25.4／600mm ≒ 35.98mmを一辺とする矩形領域を読み取ることができる。さらに、日本語テキスト圧縮データ技術により3,720文字を格納できる。図４６の復号ＱＲコードでは、1個のセルを14×14ピクセルで撮像すると、 864／14≒61となり、バージョン11、61×61セル（誤り訂正レベルMで漢字155文字、0.251KB、ドットコードには最大2.008KBを格納可能）まで読み取りが可能であり、ドットコードにＱＲコードの6〜8倍の情報量を格納でき、印刷した場合61×14×25.4／600mm ≒ 36.15mmを一辺とする矩形領域までを読み取ることができる。さらに、日本語テキスト圧縮データ技術により3,720文字を格納できる。上記では、ＱＲコードの誤り訂正をレベルMとしたが、レベルMは、一般的に多く使用されている誤り訂正レベルであり、当然、誤り訂正レベルLにすれば、更に多くの情報をドットコードに格納できることは言うまでもない。
【０１６１】
現在、普及しているスマートフォンのディスプレイ表示の解像度の市場普及率（2017年度）は、375×667ピクセル34.93％、320×568が18.85％、360×640が13.07％、合計で2/3程度が低解像度のディスプレイである。従って、表示領域に10％ののりしろを設けたとしても、288×288の領域にハイブリッドＱＲコードを表示する必要がある。１）ドットコードの印刷と同様に、 図４２〜４４の復号ＱＲコードの表示では、 1個のセルを4ピクセルで表示することになる。そこで、 表示できるセルは、288／4＝72となり、バージョン13、69×69セル（誤り訂正レベルMで漢字204文字、0.331KB、ドットコードには最大0.662KBを格納可能）でありＱＲコードの1.5〜2倍程度を格納できる。さらに、日本語テキスト圧縮データ技術により1,224文字を格納できる。図４４のような読取り方式を実施すれば、ドットコードには最大0.993KBを格納可能でありＱＲコードの2〜3倍程度を格納できる。さらに、日本語テキスト圧縮データ技術により1,836文字を格納できる。図４５の復号ＱＲコードでは、1個のセルを5×5ピクセル で表示すると、288／5≒57となりバージョン10、57×57セル（誤り訂正レベルMで漢字131文字、0.213KB、ドットコードには最大0.852KBを格納可能）でありＱＲコードの3〜4倍程度を格納できる。図４６のドットコードでは、1個のセルを7×7ピクセルで表示すると、288／7≒41となりバージョン6、41×41セル（誤り訂正レベルMで漢字65文字、0.106KB、ドットコードには最大0.848KBを格納可能）でありＱＲコードの６〜８倍程度を格納できる。さらに、日本語テキスト圧縮データ技術により1,560文字を格納できる。しかし、これでは日本語テキストや音声、写真等のコンテンツ情報を格納するには十分ではない。しかし、スマートフォンでのハイブリッドＱＲコードの表示では、後述のドットコードを時間変化させた時系列ドットコードや、ドット表示をカラー化したカラードットコードにより実施できるため、容易に大容量ハイブリッドＱＲコードを実現できる。
一方、フルハイビジョンである1080×1920で表示できるスマートフォンが普及していくのは明らかであり、さらにドットコードの情報量を増加させる複合ＱＲコードの表示が可能となる。複合ＱＲコードを表示する領域としては、800×800ピクセルとすると、図４１,図４２、図４３の復号ＱＲコードの表示では、1個のセルを4ピクセルで表示することになる。表示できるセルは、800／4=200となり、バージョン40、177 × 177セル（誤り訂正レベルMで漢字1,435文字、2.331KB、ドットコードには最大4.662KBを格納可能）つまりＱＲコードの規格の全てに対応して表示でき、ＱＲコードの1.5〜2倍程度を格納できる。日本語テキスト圧縮データ技術により8,610文字を格納できる。なお、図４４のような読取り方式を実施すれば、ドットコードには最大6.993KBを格納可能でありＱＲコードの2〜3倍程度を格納できる。さらに、日本語テキスト圧縮データ技術により12,915文字を格納できる。図４５の復号ＱＲコードでは、1個のセルを5×5ピクセルで表示すると、800／5=160となりバージョン35、157×157セル（誤り訂正レベルMで漢字1,113文字、1.809KB、ドットコードには最大5.427KBを格納可能）でありＱＲコードの3〜4倍程度を格納できる。さらに、日本語テキスト圧縮データ技術により1,836文字を格納できる。図４６のドットコードでは、1個のセルを7×7ピクセルで表示すると、 800／7≒114となりバージョン24、113×113セル（誤り訂正レベルMで漢字561文字、0.991KB、ドットコードには最大7.928KBを格納可能）でありＱＲコードの６〜８倍程度を格納できる。さらに、日本語テキスト圧縮データ技術により13,464文字を格納できる。この大容量複合ＱＲコードを読み取る場合には、現行のスマートフォンの撮影解像度では、一部、読み取ることが難しい場合では、高解像度で撮像・解析できる専用複合ＱＲコードリーダーを用いることが望ましい。上記では、ＱＲコードの誤り訂正をレベルMとしたが、レベルMは、一般的に多く使用されている誤り訂正レベルであり、当然、誤り訂正レベルLにすれば、更に多くの情報をドットコードに格納できることは言うまでもない。
スマートフォンに複合ＱＲコードに表示する場合、異なる複数のドットコードを所定時間ずつ表示することにより多量な情報を生成できる。ハイブリッドＱＲコードリーダーで点滅するドットコードを読み取る場合、一度だけ、ＱＲコードを読み取るだけで、その後は、ドットコードのみを読み取ることにより高速に処理できる。撮影時の手振れは、タイミングパターンやアライメントパターンの撮像位置の変化を追跡し、その都度、検出したドット位置の補正を行えば、ドットコードを正確に読み取ることができる。（５）のようにハイブリッドＱＲコードをスマートフォンに表示する場合、ドットコードに格納できる1回の情報量は0.85K程度であるが、１〜３秒間にドットコードを１2回程度、変化させることにとり、20KB程度の情報量を取得することができる。これを写真データで再現すると、スマートフォンで表示した場合、十分に高品質な画像として閲覧でき、7万文字を超えるテキスト情報も送信できる。
【０１６２】
ＱＲコードに採用されている誤り訂正符号は、ブロック符号の一種であるリードソロモン符号であるが、ドットコードに採用する誤り訂正符号は、畳み込み符号を用いてもよい。
【０１６３】
畳み込み符号はブロック符号とは異なり，データの区切りがなく，1個所のデータをその周辺にばらまき，その情報を使って統計的な方法で復号することから、誤り訂正の性能が高く、拘束長が小さければ高速に処理できる。
【０１６４】
ただし、誤り訂正符号は、ドットコードの情報容量や誤り率によって、各種誤り訂正符号と、誤りを推定するため二次情報（輝度情報、時系列および周辺の誤り情報等）を用いた、各種復号法（軟判定復号法を含む）を適用することができる。もちろん、ドットコードに適した他の誤り訂正符号を使用してもよいことは言うまでもない。
【０１６５】
［実施形態６］
以下、図４７から図６０を参照して、実施形態５における真贋判定方法、真贋判定のための情報処理装置、および真贋判定のためのコンピュータプログラムについて説明する。上記実施形態１から４では、複合コードの構成、生成方法、読み取り方法、およびこれらの方法を実施する装置およびコンピュータにこれらの方法を実行させるためのプログラムについて説明した。本実施形態では、複合コードを用いてデジタル情報の真贋判定（あるいはデジタル情報改ざん検知）等に適用した方法、方法を実施する装置、コンピュータにこれらの方法を実行させるためのプログラムについて説明する。
【０１６６】
＜オフラインによる複合ＱＲコード真贋判定システムの判定手順＞
１）ドットコードに暗号化情報を形成する複合ＱＲコードの生成
図４７に、真贋判定のための複合コード生成処理を例示する。
【０１６７】
（1）図４７に例示する複合ＱＲコードの生成では、ＱＲコードのデータ領域に格納された情報を符号化する。ここで、データ領域とは、図１に例示したＱＲコードのうち、位置検出パターン（ファインダパターン）、アライメントパターン、タイミングパターン、フォーマット情報、及び誤り訂正符号を除く、ＱＲコードで表されるデータ自体をいう。ＱＲコードのデータ領域に格納された情報を符号化する理由は、印刷されたＱＲコードの印刷時の情報欠落や汚れ、ＱＲコードの撮影状態等で、読み取ったＱＲコードが、作成時のＱＲコードとは完全に一致しないことが多々あることである。ディスプレイに表示されたＱＲコードも、ＱＲコードの撮影状態等で、同様に一致しないことがある。従って、誤り訂正符号を有するＱＲコードの全部を符号化して、互いの符号化情報を比較しても、意味はない。ここで、符号化とは、ハッシュ関数を用いてデータから不可逆的変換をして符号列を求めることを含む。符号列は平文（署名対象データ）を含み、さらに、ハッシュ関数を用いて符号化された符号化情報はハッシュ値を含んでいる。
【０１６８】
（2）ドットコードには、少なくともデータ（暗号化情報を含む）の他、誤り訂正符号やフォーマット情報（格納されたドットコードのタイプ、バージョン等の仕様）等の必要な情報が所定の仕様によって格納される必要がある。
【０１６９】
（3）複合ＱＲコードは、厳重に暗号化手段を管理する特定の発行機関が発行するのが望ましい。これにより、ユーザの誰もが利用できる環境を構築できる。なお、ユニークな暗号化手段を有し、特定のユーザが使用する場合は、当該ユーザにサービスを提供する発行者であってもよい。例えば、複合ＱＲコードの発行を要請する発行要請者が、発行機関にURLやデータ（ＱＲコードのデータ領域に格納される情報）を送信する。当該発行要請者は、事前に発行機関が承認した法人、行政その他の組織または個人に限るのが望ましい。発行要請者に対して、複合ＱＲコードの発行を実施するかは、逐次所定の方法で認証するのが望ましい。URL等の公開情報には、発行した複合ＱＲコードや発行要請者を公開して、第三者が評価して信頼性を高めてもよい。第三者は、一般ユーザでもよい。
【０１７０】
（4）セキュリティを担保するために、発行機関以外の第三者が複合ＱＲコードを発行できないように、符号化情報を暗号化手段で暗号化する必要がある。符号化情報を暗号化するにはデジタル署名アルゴリズム、つまり署名生成を秘密鍵で生成してもよい。当該デジタル署名アルゴリズムには、SHA256をはじめ各種手法があり、米国商務省配下のNational Institute of Standards and Technology（NIST）で標準化されている。なお、符号化情報を暗号化手段で暗号化した暗号化情報は、デジタル署名であることを含む。
【０１７１】
（5）複合ＱＲコード発行要請者から受領したデータ領域に格納された情報（URLに限らない）からＱＲコードを生成し、暗号化情報は、ＱＲコードで定義される複数のセルから形成されるドットコードのデータ領域に格納される。当該データ領域は物理的に規定されなくても、論理的に規定されてもよい。なお、暗号化情報はＱＲコードに格納してもよい。
【０１７２】
（6）完成した複合ＱＲコードは、発行要請者に送信され、発行要請者は複合ＱＲコードを媒体に形成（印刷、刻印、ディスプレイ等への表示により複合ＱＲコードを認識できるあらゆる方法を含む）して第三者に提供する。
【０１７３】
（7）複合ＱＲコードは、第１のコードと、第２のコードのデータ領域に格納されるデータに対して、１個の電子署名（デジタル署名ともいう）または、それぞれのデータに対してそれぞれの電子署名を生成し、当該電子署名を第１または第２のコードのいずれかのデータ領域に格納してもよい。例えば、第１のコードに対して、電子署名を作成し、第２のコードのデータ領域に格納してもよい。また、第２のコードに対して、電子署名を作成し、第１のコードのデータ領域に格納してもよい。第１のコードと第２のコードに対して、１個の電子署名を生成し、当該電子署名を第１コードまたは第２のコードの隣接領域に追加の第１コードまたは追加の第２のコードを格納してもよい。
【０１７４】
２）ドットコードに暗号化情報を形成する複合ＱＲコードの読み取り・認証
（1）媒体に形成（印刷、刻印、ディスプレイ等への表示により複合ＱＲコードを認識できるあらゆる方法を含む）された複合ＱＲコードを読み取るには、専用の複合ＱＲコード読取り装置や、専用の複合ＱＲコード読取りアプリをダウンロードインストールしたスマートフォンやタブレット等の情報処理装置を使用することが想定される。
【０１７５】
（2）専用の読取り装置または読取りアプリで、複合ＱＲコードを読み取ると、通常のＱＲコード読取り手順に従って、ファインダパターン（切り出しシンボル）、アライメントパターン、クワイエットゾーン、タイミングパターン、フォーマット情報を読み取ることによって、各セルの中心座標値とセルの大きさとＱＲコードの向きを認識できる。明暗のみでセルを判定する場合は、撮像したセルの明暗から所定の閾値により２値化画像を生成して、各セルの２値化情報を判定してＱＲコードを読み取る。ドットコードは、同様な方法でドットを２値化してドットを読み取るが、各セルの判定毎にドットの配置を認識してもよいし、情報が定義された各セルの読取り終了後に、セルに形成されたドットの配置を読み取って、ドットコードを認識してもよい。なお、ＱＲコードの情報量を増大させるため明暗のレベルまたはカラーでセルが形成される場合は、その明度、色相等で段階的にセルに2bit以上の情報をセルに定義してもよい。
【０１７６】
（3）次に、読み取ったＱＲコードのデータ領域に格納された情報（URLに限らない）のみを符号化する。符号化の概念は、１）の（1）に示した通りである。さらに、ドットコードを誤り訂正して読取り、少なくとも暗号化情報を含むデータを取得する。暗号化情報の概念は、１）の（1）に示した通りである。ここで、暗号化情報を復号化手段で復号化情報に復号化する。復号化手段は、デジタル署名における検証アルゴリズムによって署名検証を含み、署名者の公開鍵であってもよい。
【０１７７】
（4）最後に、（3）の読み取ったＱＲコードを符号化手段（例えば、キャッシュ関数）により符号化した符号化情報（例えば、キャッシュ値）と、ドットコードに格納された暗号化情報を復号化手段で復号化した復号化情報（例えば、発行機関においてＱＲコードが生成された際のキャッシュ値）が一致すれば、当該複合ＱＲコードは、発行機関が発行した複合ＱＲコードであることが認証される。なお、復号化手段には公開鍵が含まれる。ただし、認証方法は、符号化情報と復号化情報との一致・不一致に限定される訳ではない。符号化情報と復号化情報とが所定の関係にあることが確認できればよい。
【０１７８】
＜オフラインによる複合ＱＲコード真贋判定システムの処理例＞
（処理例１）
図４７は、真贋判定のための複合ＱＲコード生成方法を例示するフローチャートである。複合コードの生成は、例えば、図３２に例示した管理サーバＭＳ１、コンテンツサーバＣＳ１等の情報処理装置（以下、管理サーバＭＳ１で例示）によって実行される。
【０１７９】
この処理では、管理サーバＭＳ１は、ＱＲコード用データを基に符号化手段（例：ハッシュ関数）で符号化情報（例：ハッシュ値）を計算する（Ｔ１１）。ここで、ＱＲコード用データとは、図１に例示したＱＲコードの構造のうち、データ及び誤り訂正符号の部分にデータとして組み込まれるものをいう。
【０１８０】
次に、管理サーバＭＳ１は、Ｔ１１で計算された符号化情報を暗号化手段で暗号化する（Ｔ１２）。ここでは、符号化情報を暗号化することを、暗号化情報を計算する、ともいう。より具体的には、Ｔ１２では、管理サーバＭＳ１は、例えば、秘密鍵と公開鍵のペアを有している。管理サーバＭＳ１は、電子認証局（ＣＡ）（又は登録局（ＲＡ））に申請して、公開鍵が登録され、公開鍵の証明書と公開鍵に対応する秘密鍵の発行を受けているものとする。管理サーバＭＳ１は、電子認証局（ＣＡ）から発行された秘密鍵を用いて符号化情報を暗号化する。上記暗号化手段としては、管理サーバＭＳ１において実行される暗号化処理用モジュールが例示される。
【０１８１】
次に、管理サーバＭＳ１は、ＱＲコード用データに誤り訂正を掛けてＱＲコードを生成する。また、管理サーバＭＳ１は、暗号化情報を含むドットコード用データに誤り訂正を掛けてＱＲコードのセル内にドットコードを生成する（Ｔ１３）。Ｔ１３の処理によって、実施形態１から実施形態３と同様の複合コードが生成される。
【０１８２】
そして、管理サーバＭＳ１は、複合ＱＲコードを媒体に形成する（Ｔ１４）。形成される媒体としては、ディスプレイ等による表示画面も含む。すなわち、図３２に例示したように、生成された複合ＱＲコードは、放送媒体、あるいは通信媒体を通じて、リモートのユーザ装置、あるいは、コンテンツサーバに提供される。また、形成された複合ＱＲコードは、記憶媒体に記憶される。また、形成された複合ＱＲコードは、印刷媒体に印刷される。
【０１８３】
図４８は、複合ＱＲコード読み取り・認証処理を例示するフローチャートである。ここで、複合ＱＲコード読み取り・認証処理を実行する装置は、例えば、図３２に例示したユーザ装置ＵＤ１、ＵＤ２等（以下、単にＵＤ１）である。
【０１８４】
この処理では、まず、ユーザ装置ＵＤ１は、読取り装置で複合ＱＲコードを読み取る（Ｔ２１）。ここで、読取り装置は、例えば、複合ＱＲコードの画像を取得する撮像装置である。また、複合ＱＲコードを読み取るとは、媒体上の複合ＱＲコードの画像を撮影し、主記憶装置１２（図３３参照）または画像メモリに格納し、ＱＲコードとドットコードのそれぞれからデータを取得することをいう。ここで、複合ＱＲコードのうち、ＱＲコードにコード化されたデータをＱＲコード用データという。また、複合ＱＲコードのうち、ドットコードにコード化されたデータは、Ｔ１３の処理で生成されたドットコードにコード化された暗号化情報である。
【０１８５】
次に、ユーザ装置ＵＤ１は、ＱＲコードから取得したＱＲコード用データを符号化手段（例：ハッシュ関数）で符号化情報（例：ハッシュ値）を計算する（Ｔ２２）。Ｔ２２の処理とともに、ユーザ装置ＵＤ１は、ドットコードから取得した暗号化情報を復号化手段で復号化情報を計算する（Ｔ２３）。
【０１８６】
次に、ユーザ装置ＵＤ１は、符号化情報と復号化情報を照合する（Ｔ２４）。そして符号化情報と復号化情報とが一致した場合、ユーザ装置ＵＤ１は、複合コードによる認証が成功したと判定し、対応する処理を実施する。例えば、ユーザ装置ＵＤ１は、複合ＱＲコードのＱＲコードで指定された処理を実行する（Ｔ２５）。また、例えば、ユーザ装置ＵＤ１は、複合ＱＲコードのＱＲコードで指定されたＵＲＬにアクセスする。また、例えば、ユーザ装置ＵＤ１は、複合ＱＲコードのＱＲコードで指定された情報が正しい情報であるとして、対応する処理を実行する。対応する処理とは、例えば、複合ＱＲコード中のＱＲコードで指定されるコンテンツの再生、上記ＱＲコードで指定される金融機関口座へのアクセス、上記ＱＲコードで指定されるクレジットカード番号等を用いた処理、複合ＱＲコードが印刷された媒体の真贋判定結果の表示等である。
【０１８７】
一方、符号化情報と復号化情報とが一致しない場合、ユーザ装置ＵＤ１は、複合コードによる認証が失敗したと判定し、結果をユーザに通知する（Ｔ２６）。
【０１８８】
以上述べたように、処理例１によれば、複合ＱＲコードによって、様々な認証処理、真贋判定処理、改ざん検知処理等を実施できる。上記では、ＱＲコード用データの暗号化情報をドットコードとして埋め込む処理が例示されるが、暗号化情報をＱＲコードの一部にコード化し、復号化してもよい。
【０１８９】
（処理例２）
図４９は、ドットコード用データの暗号化情報をＱＲコードにコード化し、真贋判定のための複合ＱＲコード生成方法を例示するフローチャートである。この処理では、管理サーバＭＳ１は、ドットコード用データを基に符号化手段（例：ハッシュ関数）で符号化情報（例：ハッシュ値）を計算する（Ｔ３１）。
【０１９０】
次に、管理サーバＭＳ１は、符号化情報を基に暗号化手段で暗号化情報を計算する（Ｔ３２）。次に、管理サーバＭＳ１は、暗号化情報を含むＱＲコード用データに誤り訂正を掛けてＱＲコードを生成し、ドットコード用データに誤り訂正を掛けてＱＲコードのセルにドットコードを生成する（Ｔ３３）。すなわち、ここでは、管理サーバＭＳ１は、暗号化情報をＱＲコードに組み込む。そして、複合ＱＲコードを媒体に形成する（Ｔ３４）。ここで、複合ＱＲコードが形成される媒体としては、ディスプレイ等による表示画面も含み、放送媒体、通信媒体、記憶媒体印刷媒体を含む点は、図４７と同様である。
【０１９１】
図５０は、複合ＱＲコード読み取り・認証処理を例示するフローチャートである。この処理では、ユーザ装置ＵＤ１は、読取り装置で複合ＱＲコードを読み取る（Ｔ４１）。次に、ユーザ装置ＵＤ１は、ドットコード用データを符号化手段（例：ハッシュ関数）で符号化情報（例：ハッシュ値）を計算する（Ｔ４２）。次に、ユーザ装置ＵＤ１は、ＱＲコードから取得した暗号化情報を基に、復号化手段で復号化情報を計算する（Ｔ４３）。
【０１９２】
そして、ユーザ装置ＵＤ１は、符号化情報と復号化情報を照合する（Ｔ４４）。そして符号化情報と復号化情報とが一致した場合、ユーザ装置ＵＤ１は、複合コードに認証が成功したと判定し、対応する処理を実施する（Ｔ４５）。例えば、ユーザ装置ＵＤ１は、複合ＱＲコードのドットコードで指定された処理を実行する。また、例えば、ユーザ装置ＵＤ１は、複合ＱＲコードのドットコードで指定されたＵＲＬにアクセスする。また、例えば、ユーザ装置ＵＤ１は、複合ＱＲコードのドットコードで指定された情報が正しい情報であるとして、対応する処理を実行する。対応する処理とは、例えば、複合ＱＲコード中のドットコードで指定されるコンテンツの再生、上記ドットコードで指定される金融機関口座へのアクセス、上記ドットコードで指定されるクレジットカード番号等を用いた処理、複合ＱＲコードが印刷された媒体の真贋判定結果の表示等である。
【０１９３】
一方、符号化情報と復号化情報とが一致しない場合、ユーザ装置ＵＤ１は、複合コードによる認証が失敗したと判定し、結果をユーザに通知する（Ｔ４６）。
【０１９４】
以上述べたように、処理例２によれば、複合ＱＲコードによって、様々な認証処理、真贋判定処理、改ざん検知処理等を実施できる。なお、上記では、管理サーバＭＳ１がドットコード用データの暗号化情報をＱＲコードに登録して複合コードを形成した。しかし、このような処理に代えて、管理サーバＭＳ１は、第１のドットコード用データの暗号化情報を第２のドットコードに登録して、復号化してもよい。第２のドットコードは、例えば、第１のドットコードが形成されるセルとは異なるセルのドットコードである。
【０１９５】
（処理例３）
図５１は、ＱＲコード用データを暗号化してドットコードにコード化するとともに、ドットコード用のデータを暗号化してＱＲコードにコード化し、真贋判定のための複合ＱＲコード生成方法を例示するフローチャートである。
【０１９６】
この処理では、管理サーバＭＳ１は、ＱＲコード用データを基に、符号化手段（例：ハッシュ関数）で符号化情報１（例：ハッシュ値）を計算する（Ｔ５１）。次に、管理サーバＭＳ１は、符号化情報１を基に暗号化手段で暗号化情報1を計算する。すなわち、管理サーバＭＳ１は、符号化情報１を秘密鍵で暗号化する（Ｔ５２）。
【０１９７】
Ｔ５１、Ｔ５２の処理とともに、管理サーバＭＳ１は、ドットコード用データを基に、符号化手段（例：ハッシュ関数）で符号化情報２（例：ハッシュ値）を計算する（Ｔ５３）。次に、管理サーバＭＳ１は、符号化情報２を基に暗号化手段で暗号化情報２を計算する。すなわち、管理サーバＭＳ１は、符号化情報２を秘密鍵で暗号化する（Ｔ５４）。なお、Ｔ４で使用する秘密鍵はＴ５２で使用する秘密鍵と同一の鍵であってもよいし、異なる秘密鍵であってもよい。いずれにしても、秘密鍵に対応する公開鍵で認証が実行される。
【０１９８】
次に、管理サーバＭＳ１は、ＱＲコード用データと暗号化情報２をデータとして、誤り訂正を掛けてＱＲコードを生成する（Ｔ５５）。さらに、管理サーバＭＳ１は、ドットコード用データと暗号化情報１をデータとして、ＱＲコードのセルに誤り訂正を掛けてドットコードを形成する（Ｔ５６）。
【０１９９】
そして、管理サーバＭＳ１は、複合ＱＲコードを媒体に形成する（Ｔ５７）。ここで、複合ＱＲコードが形成される媒体としては、ディスプレイ等による表示画面も含み、放送媒体、通信媒体、記憶媒体印刷媒体を含む点は、図４７、図４９と同様である。
【０２００】
図５２は、複合ＱＲコード読み取り・認証処理を例示するフローチャートである。この処理では、ユーザ装置ＵＤ１は、ＱＲコードから取得したＱＲコード用データを基に、符号化手段（例：ハッシュ関数）で符号化情報１（例：ハッシュ値）を計算する（Ｔ６１）。次に、ユーザ装置ＵＤ１は、ＱＲコードから取得した暗号化情報２を基に、復号化手段で復号化情報２を計算する（Ｔ６２）。すなわち、ユーザ装置ＵＤ１は、暗号化情報２を復号化情報２に復号する。
【０２０１】
Ｔ６１、Ｔ６２の処理とともに、ユーザ装置ＵＤ１は、ドットコ-ドから取得したドットコード用データを符号化手段（例：ハッシュ関数）で符号化情報２（例：ハッシュ値）を計算する（Ｔ６３）。次に、ユーザ装置ＵＤ１は、ドットコードから取得した暗号化情報１を基に復号化手段で復号化情報１を計算する（Ｔ６４）。すなわち、ユーザ装置ＵＤ１は、暗号化情報１を復号化情報１に復号する。
【０２０２】
次に、ユーザ装置ＵＤ１は、各々の符号化情報と復号化情報を照合する（Ｔ６５）。個々で、照合は、符号化情報１と復号化情報１との照合、および、符号化情報２と復号化情報２との照合をいう。Ｔ６５で両方の照合が一致する場合、ユーザ装置ＵＤ１は、複合コードに認証が成功したと判定し、対応する処理を実施する（Ｔ６６）。Ｔ６６の処理は、Ｔ２５、Ｔ４４の処理と同様であるので、その詳細を省略する。
【０２０３】
一方、Ｔ６５で両方の照合が一致しない場合、ユーザ装置ＵＤ１は、複合コードによる認証が失敗したと判定し、結果をユーザに通知する（Ｔ６７）。
【０２０４】
以上述べたように、処理例３によれば、複合ＱＲコードによって、様々な認証処理、真贋判定処理、改ざん検知処理等を実施できる。なお、上記では、管理サーバＭＳ１がドットコード用データの暗号化情報をＱＲコードにコード化し、ＱＲコード用データの暗号化情報をドットコードにコード化して複合コードを形成した。しかし、このような処理に代えて、管理サーバＭＳ１は、ＱＲコード用データの暗号化情報はＱＲコードに、ドットコード用データの暗号情報はドットコードにコード化して、ユーザ装置ＵＤ１が両方を復号化するようにしてもよい。
【０２０５】
（処理例４）
図５３は、ＱＲコード用データとドットコード用データで形成されるデータ列の暗号化情報をドットコードにコード化し、真贋判定のための複合ＱＲコード生成方法を例示するフローチャートである。
【０２０６】
この処理では、管理サーバＭＳ１は、ＱＲコード用データとドットコード用データで形成されるデータ列を基に、符号化手段（例：ハッシュ関数）で符号化情報（例：ハッシュ値）を計算する（Ｔ７１）。
【０２０７】
次に、管理サーバＭＳ１は、符号化情報を基に暗号化手段で暗号化情報を計算する（Ｔ７２）。すなわち、管理サーバＭＳ１は、符号化情報を暗号化情報に暗号化する。次に、管理サーバＭＳ１は、ＱＲコード用データに誤り訂正を掛けてＱＲコードを生成する。また、管理サーバＭＳ１は、暗号化情報を含むドットコード用データに誤り訂正を掛けてＱＲコードのセルにドットコードを生成する（Ｔ７３）。
【０２０８】
そして、管理サーバＭＳ１は、複合ＱＲコードを媒体に形成する（Ｔ７４）。ここで、複合ＱＲコードが形成される媒体としては、ディスプレイ等によるの表示画面も含み、放送媒体、通信媒体、記憶媒体印刷媒体を含む点は、図４７、図４９、図５１と同様である。
【０２０９】
図５４は、複合ＱＲコード読み取り・認証処理を例示するフローチャートである。この処理では、ユーザ装置ＵＤ１は、読み取り装置で複合ＱＲコードを読み取る（Ｔ８１）。次に、ユーザ装置ＵＤ１は、ＱＲコード用データとドットコード用データをデータ列として符号化手段（例：ハッシュ関数）で符号化情報（例：ハッシュ値）を計算する（Ｔ８２）。Ｔ８２の処理とともに、ユーザ装置ＵＤ１は、ドットコードから取得した暗号化情報を基に、復号化手段で復号化情報を計算する（Ｔ８３）。すなわち、ユーザ装置ＵＤ１は、暗号化情報を復号化情報に復号する。
【０２１０】
次に、ユーザ装置ＵＤ１は、符号化情報と復号化情報を照合する（Ｔ８４）。そして符号化情報と復号化情報とが一致した場合、ユーザ装置ＵＤ１は、複合コードによる認証が成功したと判定し、対応する処理を実施する（Ｔ８５）。Ｔ８５の処理は、Ｔ２５、Ｔ４４、Ｔ６６の処理と同様であるので、その詳細を省略する。
【０２１１】
一方、Ｔ８５で両方の照合が一致しない場合、ユーザ装置ＵＤ１は、複合コードによる認証が失敗したと判定し、結果をユーザに通知する（Ｔ８６）。
【０２１２】
以上述べたように、処理例４によれば、複合ＱＲコードによって、様々な認証処理、真贋判定処理、改ざん検知処理等を実施できる。なお、上記では、管理サーバＭＳ１はＱＲコード用データとドットコード用データで形成されるデータ列の暗号化情報をドットコードにコード化して複合コードを形成した。しかし、このような処理に代えて、管理サーバＭＳ１は、ＱＲコード用データとドットコード用データで形成されるデータ列の暗号化情報をＱＲコードにコード化して、ユーザ装置ＵＤ１が両方を復号化するようにしてもよい。
【０２１３】
（処理例５）
図５５は、ＱＲコード用データとドットコード用データで形成されるデータ列の符号化情報をドットコードにコード化する複合ＱＲコード生成方法を例示するフローチャートである。この処理では、秘密鍵と公開鍵は用いられない。この処理では、管理サーバＭＳ１は、ＱＲコード用データとドットコード用データで形成されるデータ列を符号化手段（例：ハッシュ関数）で符号化情報（例：ハッシュ値）を計算する（Ｔ９１）。次に、管理サーバＭＳ１は、ＱＲコード用データに誤り訂正を掛けてＱＲコードを生成し、Ｔ９１で生成した符号化情報を含むドットコード用データに誤り訂正を掛けてＱＲコードのセルにドットコードを生成する（Ｔ９２）。
【０２１４】
そして、管理サーバＭＳ１は複合ＱＲコードを媒体に形成する（Ｔ９３）。ここで、複合ＱＲコードが形成される媒体としては、ディスプレイ等によるの表示画面も含み、放送媒体、通信媒体、記憶媒体印刷媒体を含む点は、図４７、図４９、図５１、図５３と同様である。
【０２１５】
図５６は、複合ＱＲコード読み取り・認証処理を例示するフローチャートである。この処理では、ユーザ装置ＵＤ１は、例えば、コンテンツサーバから取得した情報から、読み取り装置で複合ＱＲコードを読み取る（Ｔ１０１）。次に、ユーザ装置ＵＤ１は、ＱＲコード用データとドットコード用データをデータ列として符号化手段（例：ハッシュ関数）で符号化情報（例：ハッシュ値）を計算する（Ｔ１０２）。次に、ユーザ装置ＵＤ１は、ドットコードから符号化情報（例：ハッシュ値）を取得する（Ｔ１０３）。
【０２１６】
次に、ユーザ装置ＵＤ１は、計算した符号化情報と取得した符号化情報を照合する（Ｔ１０４）。そして符号化情報と復号化情報とが一致した場合、ユーザ装置ＵＤ１は、複合コードによる認証が成功したと判定し、対応する処理を実施する（Ｔ１０５）。Ｔ１０５の処理は、Ｔ２５、Ｔ４４、Ｔ６６、Ｔ８５の処理と同様であるので、その詳細を省略する。
【０２１７】
一方、Ｔ１０５で符号化情報と復号化情報とが一致しない場合、ユーザ装置ＵＤ１は、複合コードによる認証が失敗したと判定し、結果をユーザに通知する（Ｔ１０６）。
【０２１８】
処理例１から処理例４とは異なり、処理例５では、誤り訂正が正しかったかを確認できる。また、Ｔ９１とＴ１０２で用いられる符号化処理が、管理サーバＭＳ１とユーザ装置ＵＤ１だけが特定できる処理である場合には、処理例１から処理例４と同様に、様々な認証処理、真贋判定処理、改ざん検知処理等を実施できる。
【０２１９】
図４７から図５４で説明した電子認証の全てに対して、下記のケースも含み、誤り訂正が正しかったかを認証できる。
・ＱＲコードのデータの符号化情報を暗号化手段で暗号化した暗号化情報を、ドットコードに格納
・ＱＲコードのデータの符号化情報を暗号化手段で暗号化した暗号化情報を、ＱＲコードに格納
・ドットコードのデータの符号化情報を暗号化手段で暗号化した暗号化情報を、ＱＲコードに格納
・ドットコードのデータの符号化情報を暗号化手段で暗号化した暗号化情報を、ドットコードに格納
・ＱＲコードのデータの符号化情報を暗号化手段で暗号化した暗号化情報をドットコードに、ドットコードのデータの符号化情報を暗号化手段で暗号化した暗号化情報をＱＲコードに、それぞれ格納
・ＱＲコードのデータの符号化情報を暗号化手段で暗号化した暗号化情報をＱＲコードに、ドットコードのデータの符号化情報を暗号化手段で暗号化した暗号化情報をドットコードに、それぞれ格納
・ＱＲコードのデータと、ドットコードのデータから形成されるデータ列の符号化情報を暗号化手段で暗号化した暗号化情報を、ＱＲコードに格納
・ＱＲコードのデータと、ドットコードのデータから形成されるデータ列の符号化情報を暗号化手段で暗号化した暗号化情報を、ドットコードに格納
【０２２０】
同様に、図５５および図５６で説明した電子認証の全てに対して、下記のケースも含み、誤り訂正が正しかったかを認証できる。
・ＱＲコードのデータの符号化情報をドットコードに格納
・ＱＲコードのデータの符号化情報をＱＲコードに格納
・ドットコードのデータの符号化情報をＱＲコードに格納
・ドットコードのデータの符号化情報をドットコードに格納
・ＱＲコードのデータの符号化情報をドットコードに、ドットコードのデータの符号化情報をＱＲコードに、それぞれ格納
・ＱＲコードのデータの符号化情報をＱＲコードに、ドットコードのデータの符号化情報をドットコードに、それぞれ格納
・ＱＲコードのデータと、ドットコードのデータから形成されるデータ列の符号化情報を、ＱＲコードに格納
・ＱＲコードのデータと、ドットコードのデータから形成されるデータ列の符号化情報を、ドットコードに格納
【０２２１】
＜実施形態６の特長と用途＞
以下、実施形態６で説明したオフラインによるドットコードに暗号化情報を形成する複合ＱＲコードの特長と用途（認証系とコンテンツ系）を列挙する。
【０２２２】
（複合ＱＲコードの特徴例と効果）
複合ＱＲコードは、ネットで認証をしなくても電子認証が可能であり、ネット上でのハッキング等の防止に繋がる。さらに、コンテンツや様々なネット上のサービスを提供するサービス提供業者は、ユーザに複合ＱＲコード読取りアプリさえダウンロードインストールする仕組みを提供すれば、複合ＱＲコードを使用した様々なコンテンツサービスや電子認証のための面倒な管理と費用を要するサーバを運営する必要がない。したがって、サービス提供業者は、継続したユーザへのサービスが安価に提供できる。その他、零細なサービス企業でも、サーバを構築することなく複合ＱＲコードを使用した様々なコンテンツサービスを提供できる。
（翻訳機能の搭載、各国言語データの搭載）
さらに、コンテンツでの利用では、アプリに翻訳・通訳等の出力機能を備えれば、１つのハイブリッドＱＲコードで取得した様々なコンテンツを世界各国での利用が可能となる。一方、各国語のテキストや少量の音声データや画像を識別できるように媒体に形成された複合ＱＲコードに格納し、アプリに翻訳・通訳機能を搭載していなくても必要な言語のテキスト・画像の表示や音声を再生できる。当然、複合ＱＲコードをディスプレイに表示して、時系列ドットコードやカラードットコードを使用すれば、容量の小さなアニメーションも同様に各国語用のデータにして複合ＱＲコードに格納し、各国のコンテンツを取得できる。
【０２２３】
（複合ＱＲコードへのデータ格納の仕方）
複合ＱＲコードは、URL等が格納されたＱＲコードを、複合ＱＲコードリーダーだけでなく、普及しているＱＲコードリーダーでも読み取ることができることを特長にしているが、ドットコードの占める面積は最大でも２０％以下であり、さらに、従来のＱＲコードリーダーは点のような画像はノイズとして扱い無視して、ＱＲコード読取りに支障をきたすことはない。また、データをドットコードに格納し、図４９、図５０のように、電子署名をＱＲコードのデータ領域に格納してもよい。なぜなら、ドットコードの方が遥かに多くの情報を格納できる特長を生かせるからである。そこで、容量の小さなURL等のデータはＱＲコードに格納し、コンテンツ等の容量の大きなデータはドットコードに格納すればよい。さらに、ドットコードのタイプやバージョン、誤り訂正符号のバージョン等のフォーマット情報もＱＲコードに格納して、ドットコードには少なくともデータと誤り訂正符号を格納して、ＱＲコードにより得られる情報でドットコードを読み取るようにしてもよい。これにより、ドットコードのデータフォーマットを可変にすることができ、汎用性を高めることができる。すなわち、利用分野毎にドットコードのデータフォーマットを定めることができ、どのような複合ＱＲコードリーダーでも適正にドットコードを読み取ることが可能となる。
【０２２４】
（様々なチケットとしての用途）
購入したチケット番号等が格納された複合ＱＲコードがチケット販売先から送付され、チケット使用時には、複合ＱＲコード対応アプリがクラウドからの送信により時間変化するワンタイムパスワードをドットコードで表示することにより、入場確認の際に複合ＱＲコード読取り装置で読み取られ、チケットを購入した人だけしか、入場をできないようにできる。さらに、チケット購入者のスマホIDを取得して、当該スマホにワンタイムパスアワードを送信することにより、チケットの転売を防止することもできる。ドットコードにワンタイムパスワードを格納すれば、ドットが変化しても視認しづらいので、ワンタイムパスワードが使用されていることをユーザに意識させないようにできる。一方、ＱＲコードにワンタイムパスワードを格納すれば、ＱＲコードが変化するため、コピー防止を実施していることをユーザに伝え、偽造者に対して抑止効果がある。現行のＱＲコードは、その内容を誰でも読み取ることができ、誰でも生成することができる。チケットが印刷媒体であって、チケット番号をＱＲコードに埋め込む場合は、ＱＲコードから読み取った情報を基にリバースエンジニアリングを実施することにより、チケット番号の発行を第三者が実施できる可能性が高い。チケット番号発行手順が分かれば、異なるチケット番号を容易に生成できる。
複合ＱＲコード読取りアプリは、一般に広く提供するが、複合ＱＲコードの生成は、特定の複合ＱＲコード発行機関のみができるようにするか、複合ＱＲコード発行業者に対してのみ、チケット番号として使用する特定のドットコード（限定されたユニークなドットコード）のみを符号化できる複合ＱＲコード生成アプリを提供すればよい。これにより、取得したチケットのチケット番号とは異なるチケット番号の偽造チケットを制作することはできなくなる。なお、世の中に発行される複合ＱＲコードを完全なユニークコードとした場合、特定のユニークなドットコードに限定して符号化できる複合ＱＲコード生成アプリが生成する複合ＱＲコードと、他の生成アプリで生成できる複合ＱＲコードと重複しないようにすればよい。なお、チケットは、イベント参加や施設入場、交通機関利用、食券、行政サービスの利用券等、様々なサービスを取得するためのものである。本実施例では、チケット番号としてユニークなドットコードを符号化できる複合ＱＲコード生成アプリについて記載したが、どのような分野でのどのような利用においても、その都度の契約の下に特定のユニークなドットコードを限定して符号化できる複合ＱＲコード生成アプリを提供するサービスが望ましい。もちろん、複合ＱＲコード発行機関では、常にユニークな複合ＱＲコードを発行する。なお、複合ＱＲコードはＱＲコードとドットコードとが複合されたコードであり、ドットコードが同一で、ＱＲコードがユニークであっても、ユニークな複合ＱＲコードを生成できることは言うまでもない。
【０２２５】
（生体認証での用途）
膨大な本人情報（顔、指紋、虹彩、静脈等の生体情報）を、誤り訂正を掛けてドットコードに登録する。本人情報が改ざんされないように、ＱＲコードまたはドットコードのいずれかに電子署名をする。使用方法は、決済等をする際に、複合ＱＲコードを表示して、それを読取り取得した生体情報と、その場で本人から取得（カメラやセンサーによる顔や指紋、虹彩、静脈情報等の取得）した生体情報が一致するかで、無人でも本人確認ができ、金融決済や重要施設の入室、重要機器の操作が、高セキュリティで実施できる。なお、スマートフォン等の本人情報の登録は、搭載されているカメラで顔や指紋、虹彩を撮影することにより容易に行える。なお、本人情報は、スマートフォンで顔や指紋、虹彩を撮影した生データでもよいし、専用アプリで生データを解析した特徴点データあってもよい。特徴点データの場合はデータ量が小さくなることが利点であるが、当該特徴点データと同じ特徴点を生成する特定の照合システムを使用することが前提となり汎用性に乏しい。生データの場合は、現場で取得された生体情報との照合をどのようなシステムで実施しても構わないことから汎用性に優れている。生データの容量は多量の情報量となり従来のＱＲコードでは格納できなかったが、複合ＱＲコードでは十分、それらの情報を格納できる。現在の顔認証技術においては、２〜３KBに圧縮された写真で実現できる。
【０２２６】
（決済手段、送金手段としての用途）
電子署名をした複合ＱＲコードにクレジットカードやプリペイドカード、キャッシュカード等の金融情報が格納されていれば、極めてセキュリティ性の高い金融決済ができる。さらに、ワンタイムパスワード等もＱＲコードやドットコードで同時に発行すれば、さらにセキュリティ性は高まる。特に、ドットコードでのパスワードの表示では、大きな情報量のパスワードを発行でき、1秒間に数回以上のワンタイムパスワードの表示が可能であり、ドットが小さいためショルダーハッキングのような盗撮などで盗まれる可能性が極めて低くなる。このような、金融決済の実施例では、店舗側のシステムが購入品の品目や単価、支払い合計額等を印刷した印刷媒体を購入者に提供するか、当該内容をディスプレイに表示すればよい。購入者が表示内容を確認した後、購入者のスマートフォンに金融決済カード情報を表示すると、店舗側のシステムが複合ＱＲコードリーダー（スマートフォンでもよい）で読取り、読み取った金融決済カード情報を基に金融決済サーバに、購入品決済情報を送信する。そして、金融決済サーバは決済承認すると、店舗側のPOSに直ちに通知し、商品の購入が完了する。さらに、購入者のスマートフォンには、購入品決済情報や購入店舗情報等の決済完了情報が送信されてもよい。また、決済できない場合、クレジットカードの超過利用やプリペイドカード、銀行口座で残金が足りない場合も、それらの情報がスマートフォンに表示されてもよい。
【０２２７】
クレジットカードやプリペイドカード、銀行口座等の金融決済の実施例としては、複合ＱＲコードを使用するシステムでは、購入者がスマートフォンに金融決済カード情報を複合ＱＲコードで表示し、店舗側のシステムが複合ＱＲコードリーダー（スマートフォンでもよい）でスマートフォンの表示内容を読取り、読み取った金融決済カード情報を基に、金融決済サーバに購入品決済情報を送信する。そして、金融決済サーバは決済承認すると、決済承認結果を店舗側のPOSに直ちに通知し、商品の購入決済が完了する。さらに、購入者のスマートフォンには、購入品情報や購入店舗情報等の情報が送信され、「決済」、「中止」や「一括払い」「分割払い」等のアイコンが表示され選択して決済してもよい。また、決済できない場合、クレジットカードの超過利用やプリペイドカード、銀行口座で残金が足りない場合も、それらの情報がスマートフォンに表示されてもよい。店舗側のシステムが購入品の品目や単価、支払い合計額等を印刷した印刷媒体を購入者に提供するか、または当該内容をディスプレイに表示して購入者が確認した後、クレジットカード等により決済されすればよい。
もう１つの実施例では、店舗側がPOSのディスプレイ（スマートフォンでもよい）に複合ＱＲコードを表示し、購入者が当該複合ＱＲコードを読み取ると、購入品の品目や単価、支払い合計額が表示され、「決済」、「中止」や「一括払い」「分割払い」等のアイコンが表示され選択すると、金融決済サーバにそれらの決済情報が送信され、決済承認されれば店舗側のPOSに直ちに通知され、商品の購入が完了する。プリペイドカードや銀行口座で残金が足りない場合は、残高や不足分等が表示される。なお、カードを相手方に渡さないことは、カードの情報を容易にコピーされないことを意味しており、なりすまし被害を抑えることができる。
（送金処理への適用）  さらに、個人間で送金したい場合、送金者が金額をスマートフォンに入力すると、送金者や金額等の送金情報が登録された複合ＱＲコードが表示される。相手が自身のスマートフォンで読取り、「確認」アイコンをタップすると送金者に通知され、誰に幾ら送金されるかが表示され、「決済」アイコンをタップすると、相手に送金が実施され、個人間の金融取引が成立する。他の方法では、相手のスマートフォンに送金先情報等が登録された複合ＱＲコードを表示させ、送金者のスマホで読み取ると送金先情報が表示され、金額をスマートフォンに入力して、「決済」アイコンをタップすると、相手に送金が実施され個人間の金融取引が成立する。その際、複合ＱＲコードに写真等の本人情報が登録されていれば、着金者の本人確認を容易に可能となる。いずれも、本人以外の第三者が送金できないようにセキュリティを高めるために、「決済」アイコンをタップする際にパスワードを入力してもよい。これらの金融取引に関して、金額、日付以外に‘貸借’や‘贈与’、‘対価’等を分類し、記録に残すこともできる。
【０２２８】
（クーポンとしての利用）
ポイントやクーポン、スタンプでの利用では、顧客が特典を獲得する場合に、特典を獲得できる複合ＱＲコードを、特典提供者のシステムがどこにでも形成（印刷まはディスプレイ表示）し、顧客のスマートフォンで読み取ることにより特典を取得できる。また、特典提供者のシステムは、顧客のスマートフォンで表示した複合ＱＲコードを読取り、電話回線やWIFI, ブルーツース等、様々な通信手段で顧客のスマートフォンに特典を付与したり、利用した特典を消込することができる。当該複合ＱＲコードには、通信先の電話番号やアドレス、スマホID, 会員番号等を含めてもよい。
【０２２９】
（証明証としての利用）
システムが免許証や健康保険証、学生証、社員証、会員カード、パスポート等、本人を確認する場合、本人が当該カードを提示しなくても、それらの情報をドットコードに格納して、本人が複合ＱＲコードをスマートフォンに表示させてもよい。システムは、複合ＱＲコード読取り装置でドットコードを読取り、読取り装置に対して必要な情報を表示させ、本人に生年月日や住所等を告げて貰い、本人であることを確認できる。なお、印刷媒体やディスプレイ等に形成された複合ＱＲコードの読取りは、スマートフォンに搭載した専用アプリケーションによって行うこともできる。特に、写真もドットコードに格納できるので、従来の写真を見ての本人確認も、カードが無くても可能となる。確認を行う相手方のシステムに、それらのカード情報が渡っても、郵便局や病院では、カードをコピーするのが習慣であるが、むしろ、スマートフォン（専用アプリ）による複合ＱＲコードの表示や読取り、専用読取り装置による複合ＱＲコードの読取りでは、読み取ったデータに含まれる写真や生年月日、住所等の一部のみを表示し、その他の情報は非表示にすることによりセキュリティを高めることができる。さらに、読み取った複合ＱＲコードを時間や場所等と共に履歴を、読み取ったシステムがトレースできることからビッグデータとしても利用可能となる。なお、カードを相手方に渡さないことは、カードの情報を容易にコピーされないことを意味しており、なりすまし被害を抑えることができる。
【０２３０】
（記録手段としての利用）
医療や法廷での資料から不動産や金融関連の契約等、様々な分野で紙媒体の情報を保存することが義務付けられている。OCRでデジタル化してクラウドに記録し検索すれば、システムはテキスト情報を取得できるが、人が紙媒体を見て、それらの情報を検索するのは面倒である。複合ＱＲコードは、紙媒体数ページ分のテキスト（4,000文字程度、カラードットを使用できれば、1万文字以上）を格納することができ、システムはその場で印刷された複合ＱＲコードを読取り、当該情報を容易に取得できる。複合ＱＲコードの添付は、ｉ）システムがOCRで読み取って得られたデータと共に任意の位置に印刷してもよいし、ｉｉ）システムが複合ＱＲコードをシール等に印刷し、原文書や印刷文書に貼り付けられるようにしてもよい。ｉｉｉ）なお、原文書に複合ＱＲコードを印刷する所定の領域（文書近傍または内部）が形成されている場合には、システムは、原文書（原文書への重畳印刷）やOCRにより得られたデータによる印刷文書の当該領域に複合ＱＲコードを印刷してもよい。 
【０２３１】
（情報授受手段として利用）
様々な情報のやり取りにおいても、複合ＱＲコードによって安全性が向上する。例えば、ユーザは、メールアドレスやSNSにおける連絡先を相手に教えることなく、複合ＱＲコードを使用すれば写真や音声、テキスト等を容易に送受信できる。例えば、写真であれば、スマートフォンで閲覧する場合の高品質の写真や10分程度の音声、数万文字以上のテキストを格納できる。テキストの文字数に関しては前述しているのでここでは説明を省くが、音声においては、ADPCM（適応的差分パルス符号化変調）とデータ圧縮技術によって0.3KBPSとなるが、MELP（混合励振線形予測）とデータ圧縮技術によって0.1KBPSで可能となり、ドットコードには最大2KB程度の情報を格納できることから20秒程度の聞き取り可能な音声が格納できる。なお、画像においては、JPEGで2KB程度の写真（人の目による本人確認ができる程度）の写真等のコンテンツを取得できる。さらに、最新の静止画像圧縮技術（BPG,あるいは次世代JPEGであるJPEG XL 等）によって顔画像認識に十分耐えうる品質を保持できる。なお、専用の高解像度の複合ＱＲコード読取り装置を使用し、印刷されたＱＲコードの最大情報量を有するバージョン40、177×177セルに対応する複合ＱＲコードでは、8倍の約24KBバイトの情報を格納できる。赤外線やブルーツース等、スマートフォンで情報をやり取りできる機能も多々あるが、全てのスマートフォンで当該機能が使用できない。しかし、ユーザが複合ＱＲコード読取り専用アプリをスマートフォンにダウンロードインストールをすれば、複合ＱＲコードの表示・読取りは殆どのスマートフォンで利用できるため、普及の可能性が極めて高い。例えば、集合写真を撮った後、複合ＱＲコードを印刷またはディスプレイに表示し、当該複合ＱＲコードを各自が読み取れば、全員がアドレス等を伝えなくても、自身のスマートフォンに集合写真を取得することができる。複合ＱＲコードを印刷しておけば、サーバ等にアップしなくても、卒業アルバム等の記念写真やメッセージを何時でも何処でも永遠に取得できる。これまでは、長年に渡って写真情報を閲覧・ダウンロードできるサーバ環境を運営する必要があったが、本実施形態ではそのような、サーバ管理やコストの無駄を省ける。このような本発明の効果は様々なコンテンツ分野に利用でき、サーバ構築・管理の継続する責任から逃れることができる大きなメリットを有する。正に売り切りのビジネスモデルを展開できる。
なお、スマートフォンその他のシステムが高品質な写真や10分程度の音声、数万文字以上のテキストを格納して、スマートフォンに複合ＱＲコードを表示する際に、例えば、第１のコード（ＱＲコード）の表示を固定し、異なる複数の第２のコード（ドットコード）を所定時間ずつ表示することにより多量な情報を生成できる。読み取り装置が複合ＱＲコードリーダーで点滅する時系列ドットコードを読み取る場合、一度だけ、ＱＲコードを読み取るだけで、その後は、ドットコードのみを読み取ることにより高速に処理できる。撮影時の手振れが生じた場合に、読み取り装置がタイミングパターンやアライメントパターンの撮像位置の変化を追跡し、都度、検出したドット位置の補正を行えば、ドットコードを正確に読み取ることができる。複合ＱＲコードをスマーとフォンに表示し、他のスマートフォン等の読み取り装置で当該複合ＱＲコードを読み取る場合、ドットコードに格納できる1回の情報量は0.85K程度であるが、2〜３秒間にドットコードを24回程度、変化させる時系列ドットコードとカラードットコードにより、読み取り装置は、20KB以上の情報量を取得することができる。これを写真データで再現すると、読み取り側のスマートフォンで表示した場合、ユーザは十分に高品質な画像として閲覧でき、表示側のスマートフォンは、7万文字を超えるテキスト情報も送信できる。
（ドットコードのカラー化）
前述のようにドットのカラー化により、複合ＱＲコードの情報量をさらに増大することが可能である。読取り装置ではドットの色をRGBで読み取るため、色の表示が機種毎に異なるどのようなディスプレイでも、少なくとも赤（R）、緑（G）、青（B）、黄（RGの混色）、シアン（GBの混色）、マゼンダ（RBの混色）、黒、白（ドット無し）を識別することができ、それだけで、1ドット当り３bitが増加させることができる。つまり、1セル当りの情報量が３倍になる。現在、符号可変長技術を用いれば、情報量をさらに２倍、つまり６倍程度に増加できる可能性が高い。この結果、システムは、時系列ドットコードの時間変化と併用して、カラードットコードを時間変化させることにより、ＱＲコードの数100倍を超える多量の情報を送信できる。このことから、解像度および色数が小さく尺が短かければ、システムはアニメーションの送信も可能である。システムが複合ＱＲコードを時間変化させるような場合、電子認証の実行は最初の複合ＱＲコードに格納されたコンテンツのみでもよい。さらに、コンテンツ部分を電子認証しないケースが有ってもよい。これらの処理は、アニメーションだけではなく、多量のテキストや高解像度の画像の授受に適用してしてよい。
【０２３２】
（情報取得、情報提供サービスへの適用）
情報取得の実施例としては、例えば、ユーザはサイネージとしてポスター印刷やディスプレイに表示された複合ＱＲコードから、様々な情報を直ぐに取得できる。通常、ユーザは、無線通信回線、有線通信回線、専用回線、あるいはインターネット等の公衆回線等を使用して情報を取得する。しかし、ユーザは様々な媒体上の複合ＱＲコードの読み取りを通じて、そのような通信環境が無くてもどこでも無償で情報を取得できる。さらに、アプリに翻訳・通訳等の出力機能を備えれば、１つの複合ＱＲコードで取得した様々なコンテンツを世界各国の人の利用が可能となる。一方、媒体が各国語のテキストや少量の音声データや画像を識別できるように媒体に形成された複合ＱＲコードに格納し、読み取り装置が媒体から複合ＱＲコードを読み出すことで、アプリに翻訳・通訳機能を搭載していなくても必要な言語のテキスト・画像の表示や音声の再生が可能となる。当然、複合ＱＲコードをディスプレイに表示して、時系列ドットコードやカラードットコードを使用すれば、容量の小さなアニメーションも同様に各国語用のデータにローカライズして複合ＱＲコードに格納することが可能となり、ユーザはインターネットや翻訳アプリを使用せずとも各国のコンテンツを取得できる。
【０２３３】
写真取得の実施例としては、プリクラ（登録商標）や証明写真等の撮影ボックスで撮影した自身の写真を複合ＱＲコードに格納させ、撮影ボックスのディスプレイに当該複合ＱＲコードを表示させて、自身のスマートフォンで撮影することにより、写真のデータを取得できる。インターネットにより撮影した写真を提供するサービスがあるが、撮影した写真は個人情報でありインターネットでは漏洩する可能性があるが、複合ＱＲコードにより漏洩を防ぐことができる。高品位の写真を提供するため、カラードットコードや時系列ドットコードを使用するのが望ましい。
【０２３４】
音声取得の実施例では、情報提供側のシステムが書籍、雑誌、教科書、絵本、カタログ、チラシ、新聞、ポスター、パッケージ、シール、処方箋等、様々な印刷媒体に、音声情報が格納された複合ＱＲコードを印刷して配布することで、ユーザがスマートフォンで読取り、音声再生できる。なお、スマートフォンで設定された言語で音声情報が再生されてもよいし、他言語を設定して音声情報を再生してもよい。なお、情報提供側のシステムが音声だけでなくテキストや画像等の情報を格納して、ユーザがそれらの情報を取得できることは言うまでもない。さらに、アプリに翻訳・通訳等の出力機能を備えれば、１つの複合ＱＲコードで取得した様々な音声コンテンツの世界各国での利用が可能となる。一方、各国語の音声データを識別できるように媒体に形成された複合ＱＲコードに格納することで、スマートフォン等のシステムは、アプリに翻訳・通訳機能を搭載していなくてもユーザ所望の言語で音声を再生できる。当然、システムが複合ＱＲコードをディスプレイに表示して、時系列ドットコードやカラードットコードを使用すれば、容量の小さなアニメーションも同様に各国語用のデータにして複合ＱＲコードに格納することが可能となり、ユーザは、スマートフォン等の携帯端末で複合ＱＲコードを読み取ることで、各国のコンテンツを取得できる。なお、本実施例では、複合ＱＲコードを媒体に印刷された印刷媒体としているが、様々な媒体に刻印により複合ＱＲコードを生成してもよい。さらに、簡易な点字をドットコードの一部に形成し、格納されている情報を点字で表現してもよい。
（ゲームでの利用）
ゲームの実施例では、ユーザはキャラクタやアイテムが格納された複合ＱＲコードを自身のスマートフォンで表示し、提供する相手のスマートフォンで読み取らせることにより交換ができる。その結果、人と人との対面によるコミュニケーションにより新感覚のゲームが開発できる。また、情報提供側のシステムがキャラクタやアイテムの他、スポーツ選手、芸能人等をカード表面に印刷したトレーディングカードやゲームカードの表面または裏面の少なくともいずれかに複合ＱＲコードを印刷し当該カード特有のテキスト、画像、音声等の情報を格納し、ユーザが取得できるようにしてもよい。さらに、送付者側システムがグリーティングカードに複合ＱＲコードを印刷すると、送付者を撮影した写真や動画、図形、相当量のテキスト等も送付先で取得することができる。ここで、送付者側システムはインターネットに送付する情報を複合ＱＲコードにアップしてもよい。一方、それらの情報を格納した複合ＱＲコードをユーザが印刷できるようにすれば、インターネットを使用せずとも、紙媒体を介して送付者からの情報を送付先で取得できる。但し、印刷された複合ＱＲコードでは、情報量に限りがあるので、動画や高精細の写真は難しいと言える。
【０２３５】
（アプリのコード化）
時間変化させる時系列ドットコードやカラードットコードにより、読み取り装置は膨大な情報を取得できることから、アプリを複合ＱＲコードに格納し、ダウンロードすることなく簡便にアプリをインストールすることもできる。すなわち、インターネットを使用できない環境であってもアプリをインストールできるだけでなく、クラウドやサーバに登録し運営することなくアプリを、様々な媒体（紙媒体、放送媒体等）を通じて無経費で継続的に提供できる。正に売り切りのビジネスモデルを展開できる。
（複合ＱＲコード発行システム）
偽物オンラインショッピングやクレジットカード情報のハッキング等、偽装ＱＲコードが多大な被害をもたらしている。
そこで、複合ＱＲコードの公式発行機関を設け、複合ＱＲコード使用者（事前に公式発行機関が承認した使用者）がURL等のデータを公式発行機関に送信すると、ドットコードに電子署名された複合ＱＲコードが生成され使用者に提供される。使用者は、複合ＱＲコードであることを示す認定マーク（認定マークをＱＲコードの中央に配置してもよい）と共に、その複合ＱＲコードを印刷またはディスプレイに表示して使用する。公式発行機関は、複合ＱＲコードの読取りアプリを無償でユーザに提供する。ユーザは認定マークがあれば、当該アプリで複合ＱＲコードを読取り真贋判定できる。事業モデルは、ｉ）複合ＱＲコード使用者承認手続き、ｉｉ）複合ＱＲコード発行、ｉｉｉ）複合ＱＲコードの読取りアプリ使用時の広告費等で課金できる。
個人を特定して電子認証や様々なサービスを享受する場合、個人IDとして公式発行機関より、複合ＱＲコードを発行してもよい。個人ID複合ＱＲコードには、本人の名前、生年月日、住所、写真等、個人の基本情報が登録される。その他、クレジットカード情報や銀行口座、免許書や健康保険証等の証明書の情報を登録してもよい。個人ID複合ＱＲコードリーダーは、公式発行機関が承認した法人に対してのみ提供するようにし、その専用リーダーは使用記録等、厳重に追跡調査ができるように管理してセキュリティを確保すればよい。本人認証では、システムは、名前、生年月日、住所、写真等による確認で済むため、汎用の複合ＱＲコードリーダー（アプリ）を使用して、使用後には、本人情報が直ちに削除され本人情報の漏洩を防ぐようにすればよい。
【０２３６】
図４７〜５４のフローチャートでは、各種データの符号化情報を暗号化した暗号化情報を複合ＱＲコードに格納して、暗号化された符号化情報に対応するデータの真贋判定の実施を示している。一方、印刷時の情報欠落や汚れ、複合ＱＲコードの撮影状態等で読み取った複合ＱＲコードが、作成時の複合ＱＲコードとは完全に一致しないことが多々ある。ディスプレイに表示された複合ＱＲコードも 複合ＱＲコードの撮影状態等で同様に一致しないことがある。そこで、図５５〜５６のフローチャートでは、真贋判定は完全にできないものの、誤り訂正符号により、誤り訂正が適正に実施できたかを容易に判定できる方法を示している。
【０２３７】
＜変形例＞
上記図４７から図５６では、管理サーバＭＳ１が複合ＱＲコードを生成し、ユーザ装置ＵＤ１が複合ＱＲコード読み取り・認証処理を実行したが、上記処理は、管理サーバＭＳ１とユーザ装置ＵＤ１との関係に限定される訳ではない。すなわち、上記複合ＱＲコード読み取り・認証処理は、管理サーバＭＳ１とコンテンツサーバＣＳ１、ＣＳ２等の間で実施してもよい。また、上記複合ＱＲコード読み取り・認証処理は、コンテンツサーバＣＳ１、ＣＳ２等と、ユーザ装置ＵＤ１、ＵＤ２との間で実施してもよい。また、上記複合ＱＲコード読み取り・認証処理は、ユーザ装置ＵＤ１とユーザＵＤ２との間で実施してもよい。すなわち、上記複合ＱＲコード読み取り・認証処理は、情報を提供する側とデータを取得する側との間で、複合ＱＲコード中のＱＲコードで提示される情報の正当性を認証するためのいかなる処理にも適用可能である。
【０２３８】
［実施形態７］
以下、図５７から図６０を参照して、実施形態７におけるオンラインで処理される真贋判定システムを説明する。
【０２３９】
＜オンラインによる複合ＱＲコード真贋判定システム＞
（1）スマートフォンに複合ＱＲコード読取りアプリをダウンロードインストールすると、当該スマートフォンIDを取得でき、認証サーバで逐次、認証するため、どのスマートフォンで何時、複合ＱＲコード読取りアプリを読み取ったかが分かる。さらにGPSと連動すると何処で読み取ったかも分かり、それらのログを取得し、詳細なマーケッティングに使用できる。
【０２４０】
（2）認証サーバによる複合ＱＲコードの認証では、必ず認証サーバでの認証が不可欠となることから、認証毎に複合ＱＲコード発行依頼企業に対して、課金ビジネスモデルが展開できる。
（3）複合ＱＲコードをから読み取ったハッシュ値と電子署名を認証サーバに送信すると、電子署名を復号して求まるハッシュ値と受信したハッシュ値を照合することにより公開鍵を使用しなくても複合ＱＲコードの真贋判定が可能となる。
【０２４１】
（処理例６）
処理例６は，処理例４をオンライン認証に適用した場合の処理である。図５７は、ＱＲコード用データとドットコード用データで形成されるデータ列の暗号化情報をドットコードにコード化し、真贋判定のための複合ＱＲコード生成方法を例示するフローチャートである。図５７で、複合ＱＲコードを生成するＴ１１１、Ｔ１１２、Ｔ１１３、およびＴ１１４の処理は、図５３のＴ７１からＴ７４と同様である。生成された複合コードは、例えば、管理サーバＭＳ１を介して、ユーザ装置ＵＤ１に提供される。
【０２４２】
図５８は、複合ＱＲコード読み取り・認証処理を例示するフローチャートである。この処理では、ユーザ装置ＵＤ１は、読取り装置で複合ＱＲコードを読み取る（Ｔ１２１）。次に、ユーザ装置ＵＤ１は、ＱＲコード用データとドットコード用データをデータ列として符号化手段（例：ハッシュ関数）で符号化情報（例：ハッシュ値）を計算し、認証サーバに送信する（Ｔ１２２）。ここで、認証サーバは、例えば、図３２に例示した管理サーバＭＳ１、コンテンツサーバＣＳ１等、ネットワークでアクセス可能なサーバ装置である。次に、ユーザ装置ＵＤ１は、ドットコードから取得した暗号化情報を認証サーバに送信する（Ｔ１２３）。
【０２４３】
次に、認証サーバは、符号化情報 と復号化情報を照合する（Ｔ１２４）。そして符号化情報と復号化情報とが一致した場合、認証サーバは、複合コードによる認証が成功したと判定し、対応する処理を実施する（Ｔ１２５）。Ｔ１２５の処理は、Ｔ２５、Ｔ４４、Ｔ６６、Ｔ８５の処理と同様であるので、その詳細を省略する。
【０２４４】
一方、Ｔ１２４で両方の照合が一致しない場合、認証サーバは、複合コードによる認証が失敗したと判定し、結果をユーザに通知する（Ｔ１２６）。
【０２４５】
以上述べたように、処理例６によれば、複合ＱＲコードによって、様々な認証処理、真贋判定処理、改ざん検知処理等をオンラインで実施できる。なお、上記では、管理サーバＭＳ１はＱＲコード用データとドットコード用データで形成されるデータ列の暗号化情報をドットコードにコード化して複合コードを形成した。しかし、このような処理に代えて、管理サーバＭＳ１は、ＱＲコード用データとドットコード用データで形成されるデータ列の暗号化情報をＱＲコードにコード化して、ユーザ装置ＵＤ１が両方を復号化するようにしてもよい。
【０２４６】
以上の処理では、認証サーバで行う認証は、秘密鍵を用いて行ってもよい。また、上記では、処理例４と同様に、ＱＲコード用データとドットコード用データで形成されるデータ列の暗号化情報を用いた。しかし、このような処理に代えて、処理例１から処理例３の処理をオンライン認証に適用してもよい。
【０２４７】
すなわち、処理例１のように、ＱＲコードの暗号化情報をドットコードにコード化して認証サーバによるオンライン認証に適用してもよい。また、ＱＲコードの暗号化情報をＱＲコードにコード化して、認証サーバによるオンライン認証に適用してもよい。
【０２４８】
また、処理例２のように、ドットコードの暗号化情報をＱＲコードにコード化して認証サーバによるオンライン認証に適用してもよい。また、ドットコードの暗号化情報をドットコードにコード化して認証サーバによるオンライン認証に適用してもよい。
【０２４９】
さらに、処理例３のように、 ＱＲコードの暗号化情報１とドットコードの暗号化情報２をそれぞれドットコードとＱＲコードとにコード化して認証サーバによるオンライン認証に適用してもよい。この場合に、ＱＲコードの暗号化情報１をドットコードにコード化し、ドットコードの暗号化情報２をＱＲコードにコード化してもよい。逆に、ＱＲコードの暗号化情報１をＱＲコードにコード化し、ドットコードの暗号化情報２をドットコードにコード化してもよい。また、 ＱＲコードとドットコードの暗号化情報をＱＲコードにコード化してもよい。
【０２５０】
（処理例７）
図５９は、ＱＲコードとドットコードの符号化情報をＱＲコードにコード化する処理例である。この処理では、処理例５と同様に、暗号化は行われない。この処理では、複合ＱＲコードを生成するＴ１３１、Ｔ１３２、Ｔ１３３の処理は、図５５のＴ９１からＴ９３と同様である。生成された複合ＱＲコードは、例えば、管理サーバＭＳ１を介して、ユーザ装置ＵＤ１に提供される。
【０２５１】
図６０は、複合ＱＲコード読み取り・認証処理を例示するフローチャートである。この処理では、ユーザ装置ＵＤ１は、読取り装置で複合ＱＲコードを読み取る（Ｔ１４１）。次に、ユーザ装置ＵＤ１は、ドットコードから取得した符号化情報（例：ハッシュ値１）、および、読み取ったＱＲコード用データと読み取ったドットコード用データとで形成されるデータ列を認証サーバに送信する（Ｔ１４２）。
【０２５２】
次に、認証サーバは、受信したデータのうち、ユーザ装置ＵＤ１で読み取られたＱＲコード用データとドットコード用データとで形成されるデータ列を符号化し、符号化情報（例：ハッシュ値２）を作成する。そして、ユーザ装置ＵＤ１でドットコードから取得した符号化情報（例：ハッシュ値１） と、認証サーバにおいて符号化したデータ列（例：ハッシュ値２）を照合する（Ｔ１４３）。そして符号化情報と復号化情報とが一致した場合、認証サーバは、複合コードによる認証が成功したと判定し、対応する処理を実施する（Ｔ１４４）。Ｔ１４４の処理は、Ｔ２５、Ｔ４４、Ｔ６６、Ｔ８５、Ｔ１２５の処理と同様であるので、その詳細を省略する。なお、対応する処理は、Ｔ２５、Ｔ４４、Ｔ６６、Ｔ８５、Ｔ１２５と同様の処理をユーザ装置ＵＤ１あるいはユーザ装置ＵＤ１がアクセスしているネットワーク上の他のサーバに許容するものでもよい。
【０２５３】
一方、Ｔ１４３でハッシュ値１とハッシュ値２が一致しない場合、認証サーバは、複合コードによる認証が失敗したと判定し、結果をユーザに通知する（Ｔ１４５）。すなわち、この場合には、認証サーバは、ユーザ装置ＵＤ１あるいはユーザ装置ＵＤ１がアクセスしているネットワーク上の他のサーバに対して、Ｔ１４５で実行される処理を許容しない。
【０２５４】
本処理例では、秘密の符号化手段で符号化情報を作成し、電子認証すれば、データ作成時の符号化情報の暗号化は必要ない。すなわち、ハッシュ値のみで認証が可能となる。
【０２５５】
なお、処理例７のサーバ認証による電子認証は、処理例１から処理例３で説明したオフライン電子認証の全ての下記のケースに適用できる。
【０２５６】
すなわち、ＱＲコードの符号化情報を暗号化しないでドットコードにコード化して複合コードを作成し、オンライン認証に用いてもよい。また、ＱＲコードの符号化情報をＱＲコードにコード化して、複合コードを作成し、オンライン認証に用いてもよい。また、ドットコードの符号化情報をＱＲコードにコード化して、複合コードを作成し、オンライン認証に用いてもよい。また、ドットコードの符号化情報をドットコードにコード化して、複合コードを作成し、オンライン認証に用いてもよい。また、ＱＲコードとドットコードの符号化情報をドットコードとＱＲコードにコード化して、複合コードを作成し、オンライン認証に用いてもよい。また、 ＱＲコードとドットコードの符号化情報をＱＲコードとドットコードにコード化して、複合コードを作成し、オンライン認証に用いてもよい。また、ＱＲコードとドットコードの符号化情報をＱＲコードにコード化して、複合コードを作成し、オンライン認証に用いてもよい。
【０２５７】
［実施形態８：複合コードパターン］
上記実施形態１から実施形態７では、ＱＲコードとＱＲコード中の明色セル（第１の色のセル）中に形成された暗色ドットコード（第２の色のドットコード）および暗色セル（第２の色のセル）中に形成された明色ドットコード（第１の色のドットコード）の少なくとも一方を複合ＱＲコードによる処理が例示された。
【０２５８】
しかし、上記実施形態１から７の処理を複合ＱＲコード以外にも適用可能である。例えば、ＱＲコードに代えて、バーコードを用いてもよい。すなわち、バーコードと、バーコードの暗色パターン間の明色部分に暗色のドットを含むドットコードを形成して複合コードとしてもよい。また、バーコードと、バーコードの暗色パターン部分に明色のドットを含むドットコードを形成して複合コードとしてもよい。
【０２５９】
また、ＱＲコードおよびバーコードの代わりに、単に、英数字、漢字、片仮名、平仮名等の文字列を用いて、複合コードとしてもよい。すなわち、英数字、漢字、片仮名、平仮名等の文字列の暗色パターン間の明色部分に暗色のドットを含むドットコードを形成して複合コードとしてもよい。また、英数字、漢字、片仮名、平仮名等の文字列の暗色パターン中に明色のドットを含むドットコードを形成して複合コードとしてもよい。また、赤外線による撮像装置を用いる場合には、また、英数字、漢字、片仮名、平仮名等の文字列の暗色パターンを通常の赤外線を吸収しないインクで形成し、ドットコードをカーボンブラック等の赤外線を吸収するインクで形成してもよい。そして、文字列の暗色パターンを可視光で読み取り、ドットコードを赤外線で読み取るようにしてもよい。
【０２６０】
そして、バーコードでコード化されたデータを上記実施形態４と同様に、デジタル署名し、ドットコードでコード化すればよい。したがって、読み取り装置は、バーコードあるいは、文字列で提示される情報の正当性を認証することができる。複合コードがバーコードとドットコードで形成される場合には、バーコード読み取り装置とドットコード読み取り装置を使用すればよい。また、文字列とドットコードで形成される場合には、文字列を読み取るＯＣＲ（Optical Character Recognition／Reader）装置とドットコード読み取り装置を使用すればよい。
【０２６１】
したがって、このような複合コードは、必ずしもＱＲコードに限定されるものではなく、次のように定義できる。
【０２６２】
（複合コードの定義）
複合コードは、識別可能な２以上の色によってパターンがされた第１のコードと、
前記パターンが有する第１の色と識別可能な１以上のマークが配置された第２のコードと、を備えた複合コードパターンであって、
前記第２のコードは、前記第１のコードの少なくとも一部に対応する特定情報を含む複合コードパターン、として定義される。
【０２６３】
ここで、識別可能な２以上の色によってパターンがされた第１のコードは、例えば、バーコード、あるいは英数字、漢字、片仮名、平仮名等の文字列である。２以上の色とは、例えば、バーコード、あるいは英数字、漢字、片仮名、平仮名等の文字列の色（１色以上）と、下地の色（媒体面の色）である。１以上のマークが配置された第２のコードとは、上記実施形態１から５に例示したドットコードである。また、第２のコードは、前記第１のコードの少なくとも一部に対応する特定情報を含むとは、実施形態４、５と同様、第２のコードが、第１のコードであるバーコード、あるいは英数字、漢字、片仮名、平仮名等の文字列等で表されるデータをデジタル署名したものであることが例示される。
【０２６４】
［実施形態９：デジタル署名の変形］
上記実施形態５〜７では、例えば、秘密鍵で暗号化した暗号化情報と公開鍵で復号し、復号結果が暗号化前の符号化情報（ハッシュ値等）に一致した場合に、認証が成功したと判定された。しかし、実施形態５〜７の処理は、このような処理に限定される訳ではない。例えば、上記のような様々な認証処理、真贋判定処理、改ざん検知処理等において、秘密鍵と公開鍵による認証の他、ＱＲコード等から生成された符号化情報と、符号化情報から作成されたデジタル署名とが所定の関係にあることを判定することで、認証が成功したと判定してもよい。このようなデジタル署名の手順として、Digital Signature Algorithm
（DSA） 、楕円曲線DSA、ElGamal署名等を用いてもよい。これらのデジタル署名の手順を用いる場合、認証を実行する主体（ユーザ装置ＵＤ１、認証サーバ等）は図４８のＴ２４のように、符号化情報 と復号化情報が一致するか否かを判定する代わりに、デジタル署名の基になる符号化情報と、デジタル署名とが所定の関係にあるか否かが判定される。
【０２６５】
［実施形態１０］
（複合コードの読み取り精度の向上のための課題）
第1のコードがQRコードの場合では、位置検出パターン（ファインダパターン）でQRコードの領域および向きが定まり、タイミングパターンにより各セルの中央のXY座標値が計算される。しかし、QRコードが形成された媒体面に対してカメラの光軸が垂直でない場合（カメラが媒体に対して傾いている場合）や媒体が湾曲しているような場合では、QRコードが変形して撮像される。その変形の度合いにより、タイミングパターンにより計算される各セルの中央のXY座標値が許容限度を超えてずれて、隣接するセル内の座標値が求まってしまう場合がある。このようなセルの中央のXY座標値のずれが発生すると、セルの明暗の判定が正確に判定できない場合がある。そこで、QRコードでは、アライメントパターンにより、座標値を補正して各セルの中央のXY座標値の精度を高める工夫がなされている。その後、当該座標値の位置や近傍の所定の面積の領域が、明暗のいずれかであるかを判定して、QRコードに格納された数値データを取得する。この場合、中央座標値の精度は、当該セルの明暗が判定できるセル内であればよく、必ずしもセルの中央でなくてもよいレベルである。しかし、第1のコードのセルの中央の座標値を基に、セル内に形成された第2のコードのマークの配置で数値データを取得する場合には、当該マークの配置が適正に認識できる程度の精度が望まれる。そこで、精度を高めるために、第1のコードのセルの中央の座標値を所定の方法で補正するか、別途、第1のコードのマークの形状や配置から求めることが望ましい。 
【０２６６】
以下に、第2のコードのマークとしてドットを使用した場合のセル中央座標値の計算方法と数値データを取得する過程を説明する。図６１は、セル内の情報ドットの配置候補位置を図６２に示すように8か所配置した実施例である。図６２は、１つのセル内のドットの配置配置位置を例示する図である。8か所のドットを配置するか否かで8bitの数値データを定義できる。ドットの配置は、同心円上に概ね等間隔（図では、45度毎）に配置されているため、配置位置の精度を確保するためには、2400DPI程度以上の高解像度の印刷機で印刷することにする。図６２は、複合コードの一部を示した実施例であり、明色セルのみに情報ドットを配置してドットコードを形成している。なお、図示しないが情報ドットを暗色セルに配置してもよいし、両方に情報ドットを配置してもよい。図６３は、ＱＲコードの仕様にしたがって求めたセルの中央の座標位置が、セルの本来の中央からずれる画像の例である。図６３の例では、十印で示した位置が第1のコード（図ではＱＲコード）でセルの中央として求められた座標位置であるが、セルの中央からずれていることが分かる。本実施形態では、このずれた位置を×印で示したセルの適正な中央座標値に補正する方法を説明する。
【０２６７】
（セル中央座標値の計算 ）
１つのセルにおいて、P1 (X1,Y1)の十印から上下方向にセルの明暗が変化する境界を検索し、上下方向2個の境界座標値B1U(X1,Y1U)とB1D(X1,Y1D)を求める。ここで、Ｙ座標の差分値Y1U- Y1Dは、第1のコードで取得したセルサイズと同程度であることから、上下方向1個の明色セルであることが分かり、X1C =X1, 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’1 (X’1C ,Y’1C)が求まる。
【０２６８】
次に、他のセルにおいて、 P2 (X2,Y2) の十印から上下方向にセルの明暗が変化する境界を検索し、上下方向2個の境界座標値をB2U(X2,Y2U)とB2D(X2,Y2D)を求める。ここで、Ｙ座標の差分値Y2U- Y2Dは、第1のコードで取得したセルサイズと同程度であることから、上下方向には1個の明色セルであることが分かり、 X2C =X2,と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’2 (X’2C ,Y’2C)が求まる。また、同様に線形補間して X’3C =X2L+(X2R- X2L)×3/4とY’3C =Y’2Cにより、 P’3 (X’3C  ,Y3C)を求めてもよい。なお、 前述と同様に、P3 (X3,Y3) を基にP’3 (X’3C  ,Y3C)を求めてもよい。さらに、 P’4からP’6についても、前述と同様な方法で求めることができる。撮像したＱＲコードに補正をかけて矩形化した上で、上記計算による補正を行う方が望ましい。
【０２６９】
（ドットの抽出と数値データの取得）
読み取り装置がドットを抽出しドットの中心点を求め、ドットコードの数値データを取得する方法を図６４から図７２で説明する。図６４は、第2のコードの向き（第2のコードの規則として、向きは第1のコードと同一のものとしてもよい）と補正されたセル中央位置P0からの距離と方向で設定される仮想点P1〜P8を中心としたバウンディングボックスをドットのサイズと同程度で示した図である。この仮想点は第2のコードの規則にしたがった情報ドットの配置候補位置である。読み取り装置は、バウンディングボックス内にドットの中心座標値が含まれるか否かを判定して数値データを取得する。なお、バウンディングボックスの大きさは、隣接するバウンディングボックスと重複しなければ、ドットのサイズよりも大きくしてもよい。印刷精度や撮影環境等が悪く、撮像された画像のドットの中心座標値の精度が悪くても認識可能となる。ただし、大きくなった分だけ、インクの飛び等によるノイズ（エラー印刷）の影響を受ける可能性が高くなる。もちろん、取得するドットの中心座標値の精度が十分確保される場合は、バウンディングボックスの大きさは、ドットのサイズよりも小さくしてもよい。
【０２７０】
図６５は、例えば、上部ドット配置候補位置を先頭に右回りに桁を上げて2進数で01101001を定義したドットコードが形成された明色セルの例である。図６６、図６７は、C-MOSセンサー等により、当該セルを撮像した画像の例である。撮像とは、フレームバッファ等の記憶媒体に撮影された画像が記録されたこと、または記録する動作を言う。本画像は、説明を簡略化するために明暗の６5段階(明色、黒色を含む）の濃淡で示している。通常は、濃淡のみで撮像する場合、8bitつまり256段階で記録される場合が多い。カラーでは、R,G,B各8bitで1,670万色で撮像される場合が多い。図６６〜図６９で、縦軸に付された数字１〜１５は、画像の画素の行（走査線)を示す番号である。
【０２７１】
読み取り装置は、本撮像画像から、ドットを抽出する場合、所定の絶対閾値を下回る濃淡値（例えば、255は白色、0は黒色とした場合に絶対閾値を60とすれば、60以下の濃淡値）の部分をドットであると判定してもよい。その場合、明色セル毎に明色セルのドットを除く所定の範囲の濃淡値の平均値から絶対閾値を設定するのが望ましい。すなわち、明色領域の濃淡値が低い場合は閾値を下げ、濃淡値が高い場合は閾値を上げるように可変にすればよい。その絶対閾値は、明色セルのドットを除く所定の範囲の濃淡値の平均値の例えば、20%〜40%とするのが望ましい。
【０２７２】
図７０は、画像から得られる濃淡値と絶対閾値との関係から、画像を２値化する処理例である。図で、縦軸は、例えば、図６９の画像中の下から４行目の画素の行（走査線１２）に対応する画素の明暗値（グレースケール値）であり、横軸は、水平方向に並んだ画素位置を例示する。また、図７０で、○印に番号を付した数字は、各画素を識別する符号である。図７０では、明色部分の平均値が200でその30%の60（一点鎖線）を絶対閾値とすると、画素（４）と（１０）,（１１）が2値化されて暗色となり、図６９の下から第４行目の画素（ピクセル）のようにドットとして判定される。
【０２７３】
一方、図６７に示すように、走査線方向に濃淡値を取得して、閾値を明色部分からドット部分への濃淡値の変化率を相対閾値として使用してもよい。当該変化率を顕著にするため、撮像した画像の濃淡値を比較するピクセルを２〜3個程度先のピクセルの濃淡値と比較するのが望ましい。その変化率は、明色のピクセルの濃淡値に対してドットを形成するピクセルの濃淡値を40%~60%程度以下として相対閾値を設定するのが望ましい。
【０２７４】
図７０では、走査線12において、比較するピクセル間で1ピクセル空けて、明色領域のピクセルの濃淡値に変化率α=0.5(50%)を乗じた相対閾値を設定し、走査線方向で相対閾値を下回る濃淡値のピクセルの場合は、（１）(0.5×255=127.5)と（３）(102), （２） (0.5×255=127.5)と（４）(0), （７） (0.5×255=127.5)と（５）(102)を比較して（３）,（４）,（５）が黒色で2値化され、（８） (0.5×255=127.5)と（１０）(51), （９） (0.5×255=127.5)と（１１）(0)を比較して（１０）,（１１）が黒色で2値化されて、図６８のようにドットとして判定される。以上のようにして、グレースケールのピクセルが黒色で2値化される。なお、黒色で2値化されたピクセルが発生した後から走査線方向に濃淡値が変化率を下回るピクセルが連続する場合は、当該ピクセルは黒色で2値化される。対象とするピクセルの濃淡値をBiとすると、ｉ)αBi-n＞BiかつBi ＜αBi+n、 ｉｉ)αBi-n＞BiまたはBi ＜αBi+nの２通りの判定方法がある。nは、対象ピクセルとn個離れたピクセルと比較することを示している。ｉ)は対象とするピクセルBiがドットであることを走査線上の左右の両方から相対閾値を満足するものであり、少し狭くドットとして判定される。一方、 ｉｉ)は対象とするピクセルBiがドットであることを走査線上の左右のいずれかからの相対閾値（変化率）を満足するものであり、少し広くドットとして判定される。その結果、図６８は、閾値を甘くした場合（絶対閾値を高めか、相対閾値を小さくした場合）の結果である。図６９は、閾値を厳しく場合（絶対閾値を低め、相対閾値を大きくした場合）の結果である。いずれの場合であっても、図７１、図７２のように、情報ドットの中心座標値がバウンディングボックス内に納まっており、読み取り装置（実施形態１から６参照）は、ドットコードで定義された数値データを取得できる。
【０２７５】
なお、暗色（または明色）のドットの中心座標値DC(Xc,Yc)は、2値化された暗色（または明色）のピクセルから形成されるドットの中心から計算され、暗色（または明色）に2値化されたn個（i=1~n)のピクセルの座標値をDB(Xi,Yi)とすると、Xc＝Σi=1~nXi/n,  Yc＝Σi=1~nYi /n で求まる。本計算は、他の実施例のドットの中心座標値の計算にも用いられてよい。
【０２７６】
（基準ドットを暗色セルに配置した明色セル中央座標値の計算）
第1のコードで計算されたセル中央座標値を使用しないで、暗色セルに配置した明色の基準ドットから直接的にセル中央座標値を計算する方法を図７３、図７４で説明する。図７３は、図６２と同様にセル内の情報ドットの配置候補位置を設定した実施例である。図７３においても、図６２に示したように、明色セルのみに情報ドットが配置される。ただし、図７３では、暗色セルのみに基準ドットを配置してドットコードを形成している。図７３では、図示しないが情報ドットを暗色セルに、基準ドットを明色セルに配置してもよい。図７３で、暗色セルに配置した明色の基準ドットは、第1のコードから計算された暗色セル内の中央座標値周辺の連続する暗色領域から明色ドットを容易に検索できる。第1のコードから計算された暗色セル内の中央座標値を使用しなくても、暗色領域が連続する領域に明色ドットが存在するかを検索してもよい。
【０２７７】
図７４は、第1のコードによってセルの中央として求められた座標位置がセルの本来の中央からずれている画像の例である。図７４では、十印で示した位置が第1のコードによってセルの中央として求められた座標位置であるが、セルの中央からずれていることが分かる。このずれた位置から、×印で示したセルの適正な中央座標値を求める方法を以下、説明する。
【０２７８】
先ず、読み取り装置は、暗色セルに配置した基準ドットの位置を検索する。検索の方法としては、読み取り装置は、第1のコードで求められた暗色セルの中央座標値を起点に周辺の暗色セル内から所定の閾値を用いて、基準ドットの濃淡度の高い領域を検索し、当該領域の中心位置を求め基準ドットの中心座標値としてもよい。次に、基準ドットの中心位置同士を上下・左右方向に仮想の直線で繋いで、その交点の座標を明色セルの中央座標値とする。交点の存在しない明色セルには、他の上下・左右方向で取得した交点から、内挿または外挿して求めればよい。
【０２７９】
（基準ドットを明色セルに配置したセル中央座標値の計算）
第2のコードで明色セルの中央に基準ドットを配置し、その基準ドットを検索してセルの中央座標値を計算する方法を図７５から図７８で説明する。図７６は、図６２と同様にセル内の情報ドットの配置候補位置を設定し、さらに中央に基準ドットを配置した実施例である。図７５は、複合コードの一部を示した実施例であり、明色セルのみに基準ドットと情報ドットを配置してドットコードを形成している。図示しないが基準ドットと情報ドットを暗色セルに配置してもよい。この基準ドットを認識することにより、基準ドットから距離および方向で配置されて数値データが定義される情報ドットの配置をより正確に認識することができる。
【０２８０】
図７７は、第1のコードによってセルの中央として求められた座標位置がセルの本来の中央からずれている画像の例である。図７７では、十印で示した位置が第1のコードでセルの中央として求められた座標位置であるが、セルの中央からずれていることが分かる。このずれた位置から、×印で示したセルの適正な中央座標値を求める方法を以下、説明する。
【０２８１】
先ず、読み取り装置は、明色セルに配置した基準ドットの位置を検索する。検索の方法としては、読み取り装置は、選択した第1のコードで求められた明色セルの中央座標値近傍のドットが基準ドットであるかを他の明色セルに配置されたドットとの配置関係から判定する。つまり、読み取り装置は、当該ドットから直線状に所定の間隔で配置されているドットであるか否かを判定すればよい。この条件を満足できない場合は、読み取り装置は、次に近傍のドットで上記条件を満たすかの判定を繰り返し、基準ドットを認識する。一方、読み取り装置は、図６３で説明した方法でセル中央座標値を計算し、その座標値に最も近いドットを基準ドットしてもよい。なお、基準ドットを、情報ドットと大きさや形状、色、配置パターン（基準ドットは複数であってもよい）を異ならせることにより、上記のようなセル中心座標値の補正を掛けなくても、読み取り装置は、基準ドットを容易に認識できる。
【０２８２】
なお、上記で示した基準ドットは必ずしも、セルの中央に配置されたドットでなくても、基準ドットとして判別できれば、セル内の何処に配置してもよい。図７８は、第2のコードの向き（第2のコードの規則として、向きは第1のコードと同一のもととしてもよい）と基準ドットの中心位置P0からの距離と方向で設定される仮想点P1~P8を中心とした円形のバウンディングボックスをドットのサイズと同程度で示した図である。この仮想点は第2のコードの規則にしたがった情報ドットの配置候補位置である。ここでは、読み取り装置は、バウンディングボックス内にドットの中心座標値が含まれるか否かを判定して数値データを取得する。なお、バウンディングボックスの仕様は図６４と同様である。 
【０２８３】
（基準ドットを明色セルと暗色セルに配置したセル中央座標値の計算）
第2のコードで明色セルと暗色セルの中央に基準ドットを配置し、その基準ドットを検索してセルの中央座標値を計算する方法を図７９および図８０で説明する。図７９は、複合コードの一部を示した実施例であり、明色セルと暗色セルに基準ドットを、明色セルのみに情報ドットを配置してドットコードを形成している。図示しないが情報ドットを暗色セルに配置してもよいし、両方に情報ドットを配置してもよい。暗色セルに配置した明色の基準ドットについては、読み取り装置は、第1のコードから計算された暗色セル内の中央座標値周辺の連続する暗色領域から明色ドットを容易に検索できる。読み取り装置は、第1のコードから計算された暗色セル内の中央座標値を使用しなくても、暗色領域が連続する領域に明色ドットが存在するかを検索すればよい。この基準ドットを認識することにより、基準ドットの中心位置からの距離および方向で配置されて数値データが定義される情報ドットの配置をより正確に認識することができる。
【０２８４】
図８０は、第1のコードによってセルの中央として求められた座標位置がセルの本来の中央からずれている画像の例である。図８０では、十印で示した位置が第1のコードでセルの中央として求められた座標位置であるが、セルの中央からずれていることが分かる。このずれた位置から、×印で示したセルの適正な中央座標値を求める方法を以下、説明する。読み取り装置は、先ず、暗色セルに配置した基準ドットの位置を検索する。検索の方法としては、読み取り装置は、第1のコードで求められた暗色セルの中央座標値を起点に周辺の暗色セル内から所定の閾値を用いて、基準ドットの濃淡度の高い領域を検索し、当該領域の中心位置を求め基準ドットの中心座標値としてもよい。次に、基準ドットの中心位置同士を上下・左右方向に仮想の直線で繋いで、その交点の座標を明色セルの中央座標値とする。交点の存在しない明色セルには、他の上下・左右方向で取得した交点から、内挿または外挿して求めればよい。読み取り装置は、この明色セルの中央座標値近傍のドットを明色セルに配置した基準ドットの位置とする。なお、上記で示した基準ドットは必ずしも、セルの中央に配置されたドットでなくても、基準ドットとして判別できれば、セル内の何処に配置してもよい。
【０２８５】
（基準ドットを明色セルに配置したセル中央座標値の計算（情報分割セルの場合））
第2のコードで明色セルの中央に基準ドットを配置し、その基準ドットを検索してセルの中央座標値を計算する方法の他の例を図８１から８４で説明する。図８２は、明色セルを縦横4分割して16個の分割セルを生成し、中央の分割セル4個を除いて情報分割セルの配置候補位置を12か所に配置し、さらに明色セルの中央に基準ドットを配置した実施例である。ここで、図８２のように、明色のセル（または暗色のセル）を分割し、基準ドットに接触しない、分割された領域（分割セルともいう）に形成される暗色（暗色のセルに対しては明色）の領域により情報を定義する場合の当該分割された暗色（暗色のセルに対しては明色）の領域を情報分割セルという。
【０２８６】
明色セルに含まれる暗色領域を33%以下にした場合に配置できる情報分割セルの数は、（16/3）-1(基準ドット分)=4個であり、1個の明色セルに配置できる情報分割セル数は最大4個であり、定義できる数値データの情報量は、12C4＋ 12C3＋ 12C2＋ 12C1＋ 12C0＝2,554通りの組み合わせがある。つまり、211.32であり、11bit以上の数値データを定義できる。基準ドットは、中央に配置されているため、配置位置の精度を確保するためには、1200DPI程度以上の高解像度の印刷機で印刷することにする。
【０２８７】
図８１は、複合コードの一部を示した実施例であり、明色セルのみに基準ドットと情報分割セルを配置して分割セルコードを形成している。図示しないが基準ドットと情報分割セルを暗色セルに配置してもよい。この基準ドットを認識することにより、基準ドットの中心位置からの距離および方向で配置されて数値データが定義される情報分割セルの配置を正確に認識することができる。
【０２８８】
図８３は、第1のコードによってセルの中央として求められた座標位置がセルの本来の中央からずれている画像の例である。図８３では、十印で示した位置が第1のコードでセルの中央として求められた座標位置であるが、セルの中央からずれていることが分かる。このずれた位置から、×印で示したセルの適正な中央座標値を求める方法は、図７７で説明した通りである。
【０２８９】
図８４は、第2のコードの向き（第2のコードの規則として、向きは第1のコードと同一のものとしてもよい）と基準ドットの中心位置P0からの距離と方向で設定される仮想点P1~P8を中心とした矩形のバウンディングボックスを情報分割セルのサイズの50%程度で示した図である。この仮想点は第2のコードの規則にしたがった情報分割セルの配置候補位置である。ここでは、読み取り装置は、バウンディングボックス内に情報分割セルで示される所定比率の暗色領域が含まれるか否かを判定して数値データを取得する。暗色領域の判定方法は、図６６〜図７０で説明したものと同様である。読み取り装置は、絶対閾値を設定し、バウンディングボックスを形成するピクセル数に対して、絶対閾値を下回る濃淡値のピクセル数が所定比率を超えていれば、情報分割セルとして判別する。印刷精度による基準ドットおよび情報分割セルの大きさに対して、20〜30％程度の印刷ずれを考慮して、所定比率は50~75%程度以上が望ましい。なお、1個の情報分割セルが隣接するバウンディングボックスに含まれないように、読み取り装置は、バウンディングボックス間を所定距離離れるようにバウンディングボックスの大きさを設定することにする。本実施例では、情報分割セルのサイズの50%で設定しているが、複合コード撮影時のカメラの解像度等を考慮し設定することが望ましい。高解像度であれば、読み取り装置は、バウンディングボックスのサイズを認識時に可変にして、情報分割セルの認識率を高めてもよい。
【０２９０】
（基準分割セルを明色セルに配置したセル中央座標値の計算）
第2のコードで明色セルの中央に基準分割セルを配置し、その基準分割セルを検索してセルの中央座標値を計算する方法を図８５から図８８で説明する。図８６は、明色セルを縦横5分割して25個の分割セルを生成し、中央の分割セル9個を除いて情報分割セルの配置候補位置を16か所配置し、さらに中央に基準分割セルを配置した実施例である。図８６のように、明色セル（または暗色のセル）を所定数に分割し、その分割された領域のいずれかに形成された暗色（暗色のセルに対しては明色）の領域により基準点を定義する場合の当該基準点を定義する分割された暗色（暗色のセルに対しては明色）の領域を基準分割セルという。同様に、セルを分割し他領域により情報を定義する場合の当該領域を情報分割セルという。
【０２９１】
明色セルに含まれる暗色領域を33%以下にした場合に配置できる情報分割セルの数は、（25/3）-1(基準ドット分)=7個であり、1個の明色セルに配置できる情報分割セル数は最大7個であり、定義できる数値データの情報量は、 16C7＋16C6＋16C5＋16C4＋16C3＋16C2＋16C1＋16C0＝26,333通りの組み合わせがある。つまり、 214.68であり、14bit以上の数値データを定義できる。また、明色セルに含まれる暗色領域を20%以下にした場合に配置できる情報分割セルの数は、（25/5）-1(基準ドット分)=4個であり、1個の明色セルに配置できる情報分割セル数は、最大4個であり、定義できる数値データの情報量は、16C4＋ 16C3＋16C2＋16C1＋16C0＝ 2,517通りの組み合わせがある。つまり、 211.30であり、11bit以上の数値データを定義できる。 なお、図４５に示したように、１つのセルを5×5pixelで印刷することは、600DPIのプリンタでも印刷可能である。
【０２９２】
図８５は、複合コードの一部を示した実施例であり、明色セルのみに基準分割セルと情報分割セルを配置して分割セルコードを形成している。図示しないが基準分割セルと情報分割セルを暗色セルに配置してもよい。読み取り装置は、この基準分割セルを認識することにより、基準分割セルの中心位置からの距離および方向で配置されて数値データが定義される情報分割セルの配置を正確に認識することができる。
【０２９３】
図８７は、第1のコードによってセルの中央として求められた座標位置がセルの本来の中央からずれている画像の例である。図８７では、十印で示した位置が第1のコードでセルの中央として求められた座標位置であるが、セルの中央からずれていることが分かる。このずれた位置から、×印で示したセルの適正な中央座標値を求める方法を以下に説明する。読み取り装置は、先ず、明色セルに配置した基準分割セルの位置を検索する。検索の方法としては、読み取り装置は、選択した第1のコードで求められた明色セルの中央座標値近傍の分割セルが基準分割セルであるかを他の明色セルに配置された分割セルとの配置関係から判定する。つまり、読み取り装置は、当該分割セルから直線状に所定の間隔で配置されている分割セルであるか否かを判定すればよい。この条件を満足できない場合は、読み取り装置は、次に近傍の分割セルで上記条件を満たすかの判定を繰り返し、基準分割セルを認識する。
【０２９４】
一方、図６６で説明した方法でセル中央座標値を計算し、その座標値に最も近いセルを基準分割セルとしてもよい。
【０２９５】
図８８は、第2のコードの向き（第2のコードの規則として、向きは第1のコードと同一のものとしてもよい）と基準分割セルの中心位置P0からの距離と方向で設定される仮想点P1~P8を中心とした矩形のバウンディングボックスを情報分割セルのサイズの50%程度で示した図である。この仮想点は第2のコードの規則にしたがった情報分割セルの配置候補位置である。ここでは、読み取り装置は、バウンディングボックス内に情報分割セルで示される所定比率の暗色領域が含まれるか否かを判定して数値データを取得する。暗色領域の判定方法は、図 ６６で説明したものと同様である。読み取り装置は、絶対閾値を設定し、バウンディングボックスを形成するピクセル数に対して、絶対閾値を下回る濃淡値のピクセル数が所定比率を超えていれば、情報分割セルとして判別する。読み取り装置は、印刷精度による基準ドットおよび情報分割セルの大きさに対して、20〜30％程度の印刷ずれを考慮して、所定比率は50~75%程度以上が望ましい。なお、読み取り装置は、1個の情報分割セルが隣接するバウンディングボックスに含まれないように、バウンディングボックス間を所定距離離れるようにバウンディングボックスの大きさを設定する。本実施例では、読み取り装置は、情報分割セルのサイズの50%で設定しているが、複合コード撮影時のカメラの解像度等を考慮し設定することが望ましい。読み取り装置は、取得する画像が十分に高解像度であれば、バウンディングボックスのサイズを認識時に可変にして、情報分割セルの認識率を高めてもよい。
【０２９６】
（基準分割セルを暗色セルに配置した明色セル中央座標値の計算）
第1のコードで計算されたセル中央座標値を使用しないで、暗色セルに配置した明色の基準分割セルから直接的にセル中央座標値を計算する方法を図８９から図９２で説明する。図９０は、明色セルを縦横5分割して25個の分割セルを生成し、中央の分割セル1個を除いて情報分割セルの配置候補を24か所配置した実施例である。明色セルに含まれる暗色領域を33%以下にした場合に配置できる情報分割セルの数は、25/3=8個であり、1個の明色セルに配置できる情報分割セル数は、最大8個であり、定義できる数値データの情報量は、 24C8＋ 24C7＋24C6＋24C5＋24C4＋24C3＋24C2＋24C1＋24C0＝1,271,626通りの組み合わせがある。つまり、 220.28であり、20bit以上の数値データを定義できる。また、明色セルに含まれる暗色領域を20%以下にした場合に配置できる情報分割セルの数は、25/5=5個であり、1個の明色セルに配置できる情報分割セル数は、最大5個であり、定義できる数値データの情報量は、 24C5＋24C4＋24C3＋24C2＋24C1＋24C0＝55,455通りの組み合わせがある。つまり、 215.76であり、15bit以上の数値データを定義できる。なお、図？？に示したように、600DPIのプリンタで印刷可能である。なお、600DPIよりも高解像度の印刷機で印刷できることは言うまでもない。
【０２９７】
図８９は、複合コードの一部を示した実施例であり、明色セルのみに情報分割セル、暗色セルのみに基準分割セルを配置して分割セルコードを形成している。図示しないが情報分割セルを暗色セルに、基準分割セルを明色セルに配置してもよい。読み取り装置は、暗色セルに配置した明色の基準分割セルを第1のコードから計算された暗色セル内の中央座標値周辺の連続する暗色領域から明色分割セルを容易に検索できる。読み取り装置は、第1のコードから計算された暗色セル内の中央座標値を使用しなくても、暗色領域が連続する領域に明色分割セルが存在するかを検索してもよい。
【０２９８】
図９１は、第1のコードによってセルの中央として求められた座標位置がセルの本来の中央からずれている画像の例である。図９１では、十印で示した位置が第1のコードでセルの中央として求められた座標位置であるが、セルの中央からずれていることが分かる。このずれた位置から、×印で示したセルの適正な中央座標値を求める方法を以下、説明する。読み取り装置は、先ず、暗色セルに配置した基準分割セルの位置を検索する。検索の方法としては、読み取り装置は、第1のコードで求められた暗色セルの中央座標値を起点に周辺の暗色セル内から所定の閾値を用いて、基準分割セルの濃淡度の高い領域を検索し、当該領域の中心位置を求め基準分割セルの中心座標値としてもよい。次に、読み取り装置は、基準分割セルの中心位置同士を上下・左右方向に仮想の直線で繋いで、その交点の座標値を明色セルの中央座標値とする。読み取り装置は、交点の存在しない明色セルには、他の上下・左右方向で取得した交点から、内挿または外挿して求めればよい。
【０２９９】
図９２は、第2のコードの向き（第2のコードの規則として、向きは第1のコードと同一のものとしてもよい）とセル中央位置P0からの距離と方向で設定される仮想点P1~P24を中心とした矩形のバウンディングボックスを情報分割セルのサイズの50%程度で示した図である。この仮想点は第2のコードの規則にしたがった情報分割セルの配置候補位置である。読み取り装置は、バウンディングボックス内に情報分割セルで示される所定率の暗色領域が含まれるか否かを判定して数値データを取得する。暗色領域の判定方法とバウンディングボックスの仕様は、図８６から図８８で説明した通りである。なお、明色セル中央にも暗色の基準分割セルを配置してもよい。読み取り装置は、暗色セルに配置した基準分割セルにより求まった明色セルの中央座標値近傍の暗色の分割セルを明色セルに配置した基準分割セルの位置として、基準分割セルの中心位置からの距離と方向で設定される仮想点P1~P24を中心とした矩形のバウンディングボックスとして数値データを取得してもよい。その場合は、明色セル内に配置できる情報分割セル数が1個減り、情報量が減ることになる。
本実施例では、１セルで多量の数値データが定義することができるが、セル中央の座標値が正確に求められることの他、所定のカメラの撮像解像度、印刷精度を確保しなければならない。それらが十分ではない場合は、誤認の発生率が高くなる。それを解消するには誤り訂正符号を多量に形成する必要があるが、大幅に情報量が減ることになる。図９３では、図９０の情報分割セル候補配置位置を上下左右に隣り合わないように１２か所配置した実施例である。これにより、図９４のバウンディングボックスで、本来、存在しない位置に情報分割セルを認識した場合は、エラーとする。エラーを認識できれば、誤り訂正符号が少なくて済み、データ格納量を増加することができる。さらに、図９５〜図１０２のように、バウンディングボックスを移動して、本来、分割セルが存在しない位置に分割セルを認識しなくなれば、正しくバウンディングボックスが設定されたことになり、そこで数値データを取得すればよい。ここで得られたバウンディングボックスの移動量は他のセルでも使用できる。なお、図９５〜図１０２のバウンディングボックスの移動は、さらに段階的に移動させてもよい。図９０の情報分割セル候補配置位置は、情報分割セル候補配置位置が隣接しなければどのような配置でも構わない。
【０３００】
（複合コード生成処理）
実施形態１０における複合コード生成処理は、セルに基準点が設定される点を除いて、実施形態１から実施形態９と同様である。したがって、実施形態１０における複合コード生成処理は、図４７、図４９、図５１、図５３、図５５、図５７、図５９で例示した処理がそのまま踏襲される。ただし、これらの処理において、管理サーバＭＳ１等は、望ましいセル（すなわち、基準点を設定すべきセル）に基準点を設定すればよい。管理サーバＭＳ１等は、例えば、第２のコードの生成時に、第２のコード内に基準点を含めればよい。
【０３０１】
＜バウンディングボックスの設定＞
セル中央座標値が正確に求まると、数値データを取得するためのバウンディングボックスを正確に設定する必要がある。図６４のように、バウンディングボックスの中心となる仮想点Ｐ１〜Ｐ８は、セル中央位置Ｐ０からの距離と方向による幾何学的配置関係により定義される。この幾何学的配置関係は、複合コード読取り装置の記憶媒体や第２のコードから数値データを取得するソフトウェアに記録される。一方、図１０３では、図６１の複合コードの左上の明色セルに示したように、所定の位置のセル内に複数の基準ドットでセル中央位置Ｐ０と仮想点Ｐ８による幾何学的配置関係（基準パターン）を形成して認識してもよい。これにより、複合コードをカメラで撮像した画像から直接、基準パターンを取得することができ、より正確にバウンディングボックスを設定でき、数値データを取得することができる。図示しないが、基準パターンは暗色セル（明色基準ドット）でも明暗色の両方に形成してもよい。第１のコードがＱＲコードの場合では、位置検出パターン（ファインダパターン）やタイミングパターン、アライメントパターン、フォーマット情報が形成される所定のセルに配置してもよい。ここで、セルサイズが０．３×０．３ｍｍの場合、ドットの直径を０．０４５ｍｍとすると、ドットがセル内に占める割合は、π×（０．０４５／２）２×９／（０．３×０．３）＝０．１５９（１５．９％）となり２０％以下であり、ＱＲコードの読取りには全く支障がない。しかし、ＱＲコード最小のセルサイズの０．１６９×０．１６９ｍｍの場合では、ドットがセル内に占める割合は３３％を超えてしまい、ＱＲコードの読取りに支障をきたす。その場合は、基準パターンを上下方向の仮想点と斜め方向の仮想点に分けて、図１０４のように、図７４の複合コードの右上の１段目と２段目の暗色セルにそれぞれ５個の基準ドットにより２種のパターンを形成すればよい。これにより、ドットがセル内に占める割合は、π×（０．０４５／２）２×５／（０．１６９×０．１６９）＝０．２７８（２７．８％）となり３３％以下であり、ＱＲコードの読取りには支障がない。この２種のパターンを合成して基準パターンとして使用すればよい。もちろん、基準パターンを３種以上に分解して複数のセルにパターンを形成してもよいし、暗色セル（明色基準ドット）または明色セル（暗色基準ドット）の少なくともいずれかに配置してもよい。これらの複数の異なるパターンをそれぞれ独立した基準パターンとして、それぞれに対応する異なる配置パターンの情報ドットが形成されたセルに対して、対応するバウンディングボックスを設定して数値データを取得してもよい。
【０３０２】
図１０５では、図７７の複合コードに基準パターンを形成した実施例であるが、情報ドットが配置される明色セルには中央にドットが配置されていないため、基準パターンを容易に認識できる。また、明色の基準ドットが中央に配置される暗色セルに基準パターンを形成する場合、基準ドットの数で基準パターンを容易に認識できる。なお、基準パターンは暗色セル（明色基準ドット）でも明暗色の両方に形成してもよい。
【０３０３】
図１０６では、図８０の複合コードの明色および／または暗色のセルの所定間隔毎に基準パターンを複数配置した実施例である。これにより、ＱＲコードが変形して撮像されて領域毎に変形の度合いが変化しても、撮像した複数の基準パターンで、その周辺のセルに形成される第２のコードのバウンディングボックスを設定すれば、より正確に数値データを取得することができる。本実施例では、数値データを定義する情報ドットは、セルの中央位置Ｐ０が正確に取得できることから中央の基準ドットを配置していないため、基準パターンを容易に認識できる。基準ドットを配置する場合は、予め定められた配置のセルに形成すればよい。なお、図６１〜図７８および図７９〜図９２のいずれの実施例でもセルの所定間隔毎に基準パターンを複数配置してもよい。
【０３０４】
図１０７では、図８３の複合コードに周辺が暗色セル（または明色セル）で囲まれた暗色セル（または明色セル）内に、図８４の中心位置がＰ０となる明色（または暗色）の基準ドットと、中心位置がＰ２，Ｐ５，Ｐ８，Ｐ１１となる明色（または暗色）の基準分割セルによる基準パターンを形成した実施例である。Ｐ２，Ｐ５，Ｐ８，Ｐ１１の中心座標値を取得することによりＰ１，Ｐ３，Ｐ４，Ｐ６，Ｐ７，Ｐ１２の中心位置を補間計算して、仮想点Ｐ１〜Ｐ１２を中心とするバウンディングボックスが設定できる。また、中央の基準ドットを基準分割セルに代えて、図８７の複合コードにおいて、同様に基準パターンを形成してもよい。さらに、この基準パターンを形成する基準ドットおよび／または基準分割セルの大きさを同一または認識し易い大きさとし、間隔のみを所定倍数を掛けて形成（相似拡大）し、それらの中心座標値を取得した後に、当該間隔を所定数で除すること（相似縮小）により適切な配置の基準パターンを取得して、セル中央位置からの距離と方向によるバウンディングボックスの中心となる仮想点との幾何学的配置関係を高精度で取得することができる。なお、図６１〜図７８，図８９から図９２のいずれの実施例でも同様な形態が可能であることは言うまでもない。
【０３０５】
図１０８では、図９１の復号パターンの右上の１段目と２段目の暗色セルにそれぞれ５個の明色の基準分割セルにより２種のパターンを形成した実施例である。右上１段目のパターンには中央と上下・左右方向に基準分割セルが形成され、右上２段目のパターンには中央と斜め方向に基準分割セルが形成されている。先ず、右上１段目のパターンの中央と上下方向に形成された基準分割セルに対しては、図７０のように、走査線方向に２値化処理を行い、左右方向に形成された基準分割セルに対しては、垂直方向に２値化処理を行い、図９２に示すＰ１０，Ｐ１４，Ｐ１８，Ｐ２２の基準分割セルの中心座標値を求めた後、中央の基準分割セルの中心座標値Ｐ０から十字方向の４個の基準分割セルの中心座標値に向かって直交する２本の直線を２等分するＰ０を通る２本の斜線によって４方向を求める。次に、右上２段目のパターンの中央と斜め方向に形成された基準分割セルに対しては、中央の基準分割セルの中心座標値Ｐ０から、右上１段目のパターンで求められた斜め４方向で２値化処理を行い、Ｐ１２，Ｐ１６，Ｐ２０，Ｐ２４それぞれの基準分割セルの中心座標値を求める。最後に、この２種のパターンを合成して、Ｐ０およびＰ１０，Ｐ１２，Ｐ１４，Ｐ１６，Ｐ１８，Ｐ２０，Ｐ２２，Ｐ２４を基に補間して、Ｐ１〜Ｐ８，Ｐ９，Ｐ１１，Ｐ１３，Ｐ１５，Ｐ１７，Ｐ１９，Ｐ２１，Ｐ２３を求めて基準パターンとして、バウンディングボックスを設定し数値データを取得すればよい。なお、上記の２値化処理はどのような方法を用いてもよいし、基準パターンを形成するパターンは暗色セル（明色基準分割セル）または明色セル（暗色基準分割セル）の少なくともいずれかに配置してもよい。ここで、基準パターンを形成するパターンの基準分割セルがセル内に占める割合は、セルサイズが０．２１２×０．２１２ｍｍの場合、分割セルの辺長を０．０４５ｍｍとすると、０．０４５２×５／（０．２１２×０．２１２）＝０．２２５（２２．５％）となり３３％以下であり、ＱＲコードの読取りには支障がない。
【０３０６】
以上、ＱＲコードが形成された媒体面に対してカメラの光軸が垂直でない場合（カメラが媒体に対して傾いている場合）や媒体が湾曲しているような場合では、ＱＲコードが変形して撮像されるため補正はしているものの、正確なセル中央の座標値を取得できないため、正確なセル中央の座標値の取得とセル内に形成された基準パターンにより、セルに定義された数値データを誤認なく取得する方法を説明した。ここで、図７４，図８０，図９１、または他の方法では、基準ドットまたは基準分割セルにより格子線を描くことができる。この格子線で囲まれた領域は、当該位置近傍のセルの大きさ・形状を表しており、セルの変形状況を、セル中央位置からの距離と方向によるバウンディングボックスの中心となる仮想点との幾何学的配置関係に反映させてバウンディングボックスの配置を補正し、当該位置近傍の情報ドットや情報分割セルの認識に用いてもよい。これにより、ＱＲコードが変形して撮像されて領域毎に変形の度合いが変化しても領域毎に格子の形状による補正であり、複合コードに基準パターンを形成することなく、複合コード読取り装置の記憶媒体や第２のコードから数値データを取得するソフトウェアに記録され幾何学的配置関係を用いて補正すればよい。なお、格子線によるバウンディングボックスの配置の補正は、他の実施例と組み合わせて使用してもよい。さらに、格子線を生成する手段として、明暗のセルの境界を検出して、その境界に沿って格子線を引いてもよい。ただし、印刷の精度やＱＲコードを撮影した際の撮像画像が回転・変形していると、明暗を示すピクセルの境界部分が凸凹になってしまうため、それらを平滑化または平均化して格子線を形成した方が望ましい。
【０３０７】
図示しないが、基準点を示すマークの形状、大きさ、色、向き、配置パターンの少なくともいずれか１つにより、基準点を示すマークが形成されたセルに数値データが定義されてもよい。
【０３０８】
＜第２のコードの向きの設定＞
第２のコードの数値データを取得する際には、第１のコードの向きを使用することを前提にした実施例を示してきた。しかし、ＱＲコードが形成された媒体面に対してカメラの光軸が垂直でない場合（カメラが媒体に対して傾いている場合）や媒体が湾曲しているような場合では、ＱＲコードが変形して撮像されて領域毎に変形の度合いが変化し、セル毎の向きも変化する可能性がある。また、第１のコードとは無関係に、第２のコードのみを取得する場合もある。そこで、第２のコード自身で向きを設定する実施例を説明する。
【０３０９】
図１０９は、図７４の復号コードの所定の基準ドットの上方にディレクションドットを加え、第２のコードの向きを設定した実施例である。ディレクションドットの配置は、予め第２のコードの向きとの対応関係を定めておけば、基準ドットに対してどの方向でもよい。ディレクションドットと基準ドットの識別は、セルの中心に有るか否か、または基準ドットを繋ぐことによって形成される格子線上に位置するか否かによって容易に判別できる。また、ディレクションドットは、どのように配置してもいいが、所定間隔で配置することにより、撮像されたＱＲコードの変形の度合いを反映させて、セルの向きを補正し、正確な数値データの取得を実現する。つまり、セルの向きに合わせて、セル中央位置からの距離と方向によるバウンディングボックスの中心となる仮想点との幾何学的配置関係を回転させてバウンディングボックスの配置を補正し、当該位置近傍の情報ドットや情報分割セルの認識に用いる。なお、上記のディレクションドットを形成したセル中央の基準ドットを削除してもよい。その場合、基準ドットを繋ぐことによって形成される格子線の交点より上方にディレクションドットが位置することによって、容易に向きを認識できる。また、セル内の所定の位置にディレクションドットを形成することにより、第２のコードの向きを設定してもよい。図示しないが、向きを認識できる３個以上のドットの配置によって向きを設定してもよい。さらに、向きの設定はディレクションドットに代えて分割セルを用いてもよいし、マークの形状によって向きを設定できるマークを用いてもよい。また、情報ドットや情報分割セルの形成において、向きを認識できる特定の配置を設定してもよい。
【０３１０】
図１１０は、図１０４の復号コードに設けた基準パターンを構成する基準ドットの配置を変えて、第２のコードの向きを設定した実施例である。つまり、右上の１段目と２段目の暗色セルにそれぞれ５個の基準ドットで形成した２種のパターンは、いずれも非回転対称であり向きを設定できる。この２種のパターンを合成すると基準パターンが形成されることから、基準パターンに方向機能を付加した実施例となる。図１０９および図１１０の実施例は、明色、暗色セルの少なくともいずれかに形成することができ、他の実施例と組み合わせて使用できることは言うまでもない。
【０３１１】
［コンピュータが読み取り可能な記録媒体］
コンピュータその他の機械、装置（以下、コンピュータ等）に上記いずれかの機能を実現させるプログラムをコンピュータ等が読み取り可能な記録媒体に記録することができる。そして、コンピュータ等に、この記録媒体のプログラムを読み込ませて実行させることにより、その機能を提供させることができる。
【０３１２】
ここで、コンピュータ等が読み取り可能な記録媒体とは、データやプログラム等の情報を電気的、磁気的、光学的、機械的、または化学的作用によって蓄積し、コンピュータ等から読み取ることができる記録媒体をいう。このような記録媒体のうちコンピュータ等から取り外し可能なものとしては、例えばフレキシブルディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ／Ｗ、ＤＶＤ、ブルーレイディスク、ＤＡＴ、８ｍｍテープ、フラッシュメモリなどのメモリカード等がある。また、コンピュータ等に固定された記録媒体としてハードディスク、ＲＯＭ（リードオンリーメモリ）等がある。さらに、ＳＳＤ（Solid State Drive）は、コンピュータ等から取り外し可能な記録媒体としても、コンピュータ等に固定された記録媒体としても利用可能である。
【０３１３】
本発明にかかる複合コードによれば、第１のコードのみの場合に比べ、第１のコードの領域内に第２のコードを格納することにより、同じコード領域で多量の情報を格納することが可能になる。
【０３１４】
例えば、第１のコードがＱＲコードであり、第２のコードがドットコードである複合コードを印刷した場合には、ＱＲコードのみを印刷した場合と比較して１０倍以上、複合コードをスマートフォン等の画面に表示した場合には、ドットコードにカラー情報を付与し時間変化させることにより、ＱＲコードの１００倍以上の情報を格納することができる。  
【０３１５】
多量の情報量を格納できることから、インターネットを使用せずとも、数千文字の和文や写真、音声情報等も格納でき、文書管理からエンターテーメント、教育、観光まで幅広く活用できる。
【０３１６】
また、本発明にかかる複合コードは、各種の認証に用いることに適している。例えば、電子署名やURLの真贋判定を可能にするＱＲコードの印刷や、自身が保有するスマートフォンに自身の生体情報を格納したＱＲコードを表示し、相手方（装置も含む）が読み取ることにより本人確認等が容易にできる。
【０３１７】
さらに、現在、ＱＲコードは、その仕様を開示しているため、誰でも発行することが可能となっており、第三者が同一のコードを発行することができる。しかし、本発明にかかる複合コードでは、ＱＲコード等に加えて、秘匿された新たなアルゴリズムでドットパコード等（第２のコード）が形成されるため、同一のコードが発行される可能性は極めて低く、ユニークな複合コードを発行することが可能となり、極めてセキュリティ性が高い。さらに、ＱＲコードは複写や模倣が容易であり、ＱＲコードに格納された情報を、意図せぬ第三者に取得されてしまう可能性がある。しかし、複合コードパターンでは、第２のコードは目視しにくく、模倣も困難である。
【０３１８】
以上のように、本発明にかかる複合コードは、従来の1次元および2次元コードでは実現できない多くの利点を有している。
【０３１９】
＜その他の態様＞
本実施形態は、さらに以下の態様を含む。
【０３２０】
（態様１）
識別可能な２以上の色のいずれかをそれぞれ有する複数のセルが配列形状に配置された第１のコードと、
前記配置されたセルのいずれか１以上の特定セル内で、それぞれの特定セルが有する色と識別可能な１以上のマークが配置された第２のコードと、を備えた複合コードパターンであって、
前記１以上のマークの少なくとも１つが、同一色のマークまたはセルと接触する配置が除外されている
複合コードパターン。
【０３２１】
（態様２）
前記マークが前記特定セル内に複数個配置される場合には、前記マーク同士が接触する配置が除外されている態様１に記載の複合コードパターン。
【０３２２】
（態様３）
前記複数のセルのうちのいずれか１以上のセルには、基準点を示すマークが形成されている、態様１に記載の複合コードパターン。
【０３２３】
（態様４）
前記基準点を示すマークは、前記セルの中央に形成される、
態様３に記載の複合コードパターン。
【０３２４】
（態様５）
前記複数のセルのうちのいずれか１以上のセルには、前記第２のコードの向きを定義するマークがさらに形成される、
態様３または態様４に記載の複合コードパターン。
【０３２５】
（態様６）
前記第２のコードの向きを定義するマークは、
前記基準点を示すマークが形成される位置からずれて配置されるか、または、
前記基準点を示すマークに加えて、前記基準点を示すマークが形成される位置からずれた位置に配置される、
態様５に記載の複合コードパターン。
【０３２６】
（態様７）
前記基準点を示すマークが形成されたセルのうちのいずれか１以上のセルにおける、２以上の前記基準点を示すマークの配置パターンによって前記第２のコードの向きが定義される、
態様３または態様４に記載の複合コードパターン。
【０３２７】
（態様８）
前記基準点を示すマークが形成されたセルのうちのいずれか１以上のセルにおける、前記基準点を示すマークの形状によって前記第２のコードの向きが定義される、
態様３または態様４に記載の複合コードパターン。
【０３２８】
（態様９）
前記基準点を示すマークの形状、大きさ、色、向き、配置パターンの少なくともいずれか１つにより、前記基準点を示すマークが形成されたセルが有する前記数値データが定義される、態様３〜８のいずれかに記載の複合コードパターン。
【０３２９】
（態様１０）
前記基準点を示すマークは、形状、色、大きさ、配置パターンによって、前記基準点以外のマークと識別される、態様３〜９のいずれかに記載の複合コードパターン。
【０３３０】
（態様１１）
前記形状は、線分、多角形、または略円形である、態様１０に記載の複合コードパターン。
【０３３１】
（態様１２）
前記１以上のマークの全ては、前記特定セルと前記特定セルに隣接する該マークの同一色であるセルとの境界に接触する配置が除外されている態様１または態様２のいずれかに記載の複合コードパターン。
【０３３２】
（態様１３）
前記マークは、前記複合コードパターンを読み取る読み取り装置で前記特定セルが有する色と識別可能であり、かつ、前記第１のコードの読取りに障害のないマークであり、前記複数の特定セル内には、それぞれの特定セルにおける座標情報を有する位置に１以上の仮想点を任意に設定して、所定の生成方法により該仮想点を基にして前記マークを配置して数値データが定義された、態様１〜１２のいずれかに記載の複合コードパターン。
【０３３３】
（態様１４）
前記仮想点は、前記特定セルの中央に設定されている、
態様１３記載の複合コードパターン。
【０３３４】
（態様１５）
前記仮想点上に、基準点を示すマークが形成されている、
態様１３または態様１４記載の複合コードパターン。
【０３３５】
（態様１６）
少なくとも１つの前記特定セルには、前記仮想点を基にして前記数値データが定義されるマークの配置候補位置に配置される複数のマークを含む、基準パターンが形成されている、
態様１３〜１５のいずれかに記載の複合コードパターン。
【０３３６】
（態様１７）
前記第１のコードの読取りに障害のないマークは、特定セル内のマークの面積の合計が、特定セルの面積に対して３３％以内の比率である、
態様１３〜１６のいずれかに記載の複合コードパターン。
【０３３７】
（態様１８）
前記第１のコードの読取りに障害のないマークは、前記特定セル内のマークの面積の合計が、前記特定セルの面積に対して２０％以内の比率である、
態様１３〜１６のいずれかに記載の複合コードパターン。
【０３３８】
（態様１９）
前記仮想点を起点として前記マークが配置される方向および距離の少なくとも1つにより、前記数値データの少なくとも一部が定義される、態様１３に記載の複合コードパターン。
【０３３９】
（態様２０）
前記特定セルには、前記マークの形状、色、前記仮想点を基にした前記マークの配置方法および配置の有無の少なくともいずれか1つにより、該特定セルが有する前記数値データの少なくとも一部が定義される、態様１３に記載の複合コードパターン。
【０３４０】
（態様２１）
前記マークの色は、赤、緑、青、シアン、マゼンダ、黄、黒、白および前記特定セルが形成される領域の下地の色のいずれかを含む、態様１３に記載の複合コードパターン。
【０３４１】
（態様２２）
前記マークの形状はドットである、態様１〜２１のいずれか１項に記載の複合コードパターン。
【０３４２】
（態様２３）
前記マークの形状は、線分、多角形、または略円形である、態様１〜２１のいずれか１項に記載の複合コードパターン。
【０３４３】
（態様２４）
前記線分の方向および長さの少なくともいずれかによって前記数値データの一部が定義される、態様２３記載の複合コードパターン。
【０３４４】
（態様２５）
前記線分中のいずれかの位置を前記仮想点上に配置することによって前記数値データの一部が定義される、態様２３または２４に記載の複合コードパターン。
【０３４５】
（態様２６）
前記第1のコードは、バーコード、ＱＲコード、カラーコード、ＤａｔａＭａｔｒｉｘ、ＰＤＦ４１７のいずれかを含むコードである、態様１〜２５のいずれかに記載の複合コードパターン。
【０３４６】
（態様２７）
前記セルは、暗色のセルと明色のセルを含み、
暗色のセルには明色のマークが配置されるか、明色のセルには暗色のマークが配置されるかの、少なくともいずれかである、態様１〜２６のいずれかに記載の複合コードパターン。
【０３４７】
（態様２８）
前記複合コードパターンは、媒体に印刷または刻印されるか、または、電子媒体、放送媒体、記憶媒体または通信媒体からの出力により表示装置に表示される、態様１〜２７のいずれかに記載の複合コードパターン。
【０３４８】
（態様２９）
前記複合コードパターンは、第１のコードおよび第2のコードの少なくとも一方が複数の時間毎の要素データで形成される時系列データとして表示装置に表示される、
態様１〜２８記載の複合コードパターン。
【０３４９】
（態様３０）
前記要素データの間には、非表示の所定時間を含む、
態様２８または態様２９のいずれかに記載の複合コードパターン。
【０３５０】
（態様３１）
識別可能な２以上の色のいずれかをそれぞれ有する複数のセルが配列形状に配置された第１のコードと、
前記配置されたセルのいずれか１以上の特定セル内で、それぞれの特定セルが有する色と識別可能な１以上のマークが配置された第２のコードと、を備えた複合コードパターンであって、
前記第１のコードおよび前記第２のコードの少なくとも一方に設けられる特定領域には、前記第１のコードおよび前記第２のコードのうちの少なくとも一方のコードのうちの該記特定領域を除いた領域の少なくとも一部に対応する特定情報を含む複合コードパターン。
【０３５１】
（態様３２）
態様１〜３０記載の前記マークの少なくとも一つが形成されている態様２３に記載の複合コードパターン。
【０３５２】
（態様３３）
第１のコードと、
前記第１のコードが配置された範囲の少なくとも一部に重畳して、前記第１のコードと識別可能な１以上のマークが配置された第２のコードと、を備えた複合コードパターンであって、
前記第１のコードおよび前記第２のコードの少なくとも一方に設けられる特定領域には、前記第１のコードおよび前記第２のコードのうちの少なくとも一方のコードのうちの該記特定領域を除いた少なくとも一部に対応する特定情報を含む複合コードパターン。
【０３５３】
（態様３４）
前記第１のコードが配置された範囲の少なくとも一部に重畳して、前記第２のコードと、を備えた、態様３１または態様３２のいずれかに記載の複合コードパターン。
【０３５４】
（態様３５）
前記特定領域を除いた領域の少なくとも一部には、テキストおよび静止画像、動画、プログラムの少なくともいずれかの情報を含む、態様３１〜３４のいずれかに記載の複合コードパターン。
【０３５５】
（態様３６）
前記特定領域を除いた領域の少なくとも一部には、個人を特定する情報を含む、態様３１〜態様３４のいずれかに記載の複合コードパターン。
【０３５６】
（態様３７）
前記個人を特定する情報は、少なくとも氏名、性別、生年月日、住所、戸籍、生体情報のいずれかに関する情報を含む、態様３６に記載の複合コードパターン。
【０３５７】
（態様３８）
前記特定情報は、前記特定領域を除いた少なくとも一部を符号化手段により符号化した符号化情報である、態様３１〜３７のいずれかに記載の複合コードパターン。
【０３５８】
（態様３９）
前記特定情報は、前記符号化情報が、暗号化手段により暗号化された暗号化情報である、態様３８に記載の複合コードパターン。
【０３５９】
（態様４０）
前記暗号化情報は、復号化手段により、前記符号化情報に復号できる、態様３９に記載の複合コードパターン。
【０３６０】
（態様４１）
前記特定領域を除いた少なくとも一部には、情報処理装置に前記復号化手段として実行させるためのプログラムが含まれる、態様４０に記載の複合コードパターン。
【０３６１】
（態様４２）
前記暗号化情報は、前記暗号化手段で秘密鍵を用いて符号化情報を暗号化した情報であり、
前記復号化手段は、公開鍵を用いて前記暗号化情報を復号化する、
態様４０または態様４１のいずれかに記載の複合コードパターン。
【０３６２】
（態様４３）
前記符号化手段はハッシュ関数であり、
前記ハッシュ関数により符号化した符号化情報はハッシュ値であり、
前記暗号化手段により暗号化された暗号化情報は暗号化されたハッシュ値であり、
前記暗号化されたハッシュ値は、前記復号化手段により前記ハッシュ値に復号できる、態様３９〜４２のいずれかに記載の複合コードパターン。
【０３６３】
（態様４４）
前記特定情報は、前記少なくとも一方のコードのうちの前記特定領域を除いた少なくとも一部が表す情報または前記符号化情報を基に電子署名手段によって作成された電子署名情報であり、前記電子署名情報は、検証手段により前記少なくとも一方のコードのうちの前記特定領域を除いた少なくとも一部が表す情報と所定の関係にあることが検証可能である、態様３８に記載の複合コードパターン。
【０３６４】
（態様４５）
前記複合コードパターンには、所定の位置に、該複合コードパターンを明示するための前記マーク、グラフィックスまたはテキストの少なくともいずれかが、前記第１のコードの内部に形成された態様３１〜４４のいずれかに記載の複合コードパターン。
【０３６５】
（態様４６）
態様１〜４５のいずれかに記載の復号コードパターンが形成された媒体。
【０３６６】
（態様４７）
前記特定領域を除いた少なくとも一部は、前記媒体上に形成された文字および画像の少なくとも一つに対応する情報をコード化したものであり、該情報の近傍または内部に前記複合コードパターンが形成された態様４６に記載の媒体。
【０３６７】
（態様４８）
態様１〜４５のいずれかに記載の複合コードパターンに含まれる、前記第１のコードを取得する第１の取得手段と、
前記第２のコードを取得する第２の取得手段と、を備える、複合コードパターン読取り装置。
【０３６８】
（態様４９）
前記第１の取得手段は、前記第２の取得手段を含み、前記第１のコードと前記第２のコードを取得する、
態様４８記載の複合コードパターン読取り装置。
【０３６９】
（態様５０）
態様３〜１０のいずれかに記載の前記基準点を示すマークを基準に、前記第２のコードが取得される、
態様４８または態様４９のいずれかに記載の複合コードパターン読取り装置。
【０３７０】
（態様５１）
前記基準点を示すマークは、前記複数のセルのうちのいずれか１以上のセルの中央に形成され、
前記第１の取得手段で取得した前記セルの中心座標値を、前記第２の取得手段で取得した前記基準点の座標値に基づいて補正する、
態様５０に記載の複合コードパターン読取り装置。
【０３７１】
（態様５２）
態様１６記載の前記仮想点および前記基準パターンを形成するマークを用いて、
前記数値データが定義されるマークの配置候補位置を補正する、
態様５０に記載の複合コードパターン読取り装置。
【０３７２】
（態様５３）
前記第１のコードおよび前記第２のコードの少なくとも一方には、個人を特定する情報を含み、
前記個人を特定する情報は、少なくとも氏名、性別、生年月日、住所、戸籍、生体情報のいずれかに関する情報である、態様４９〜５２のいずれかに記載の複合コードパターン読取り装置。
【０３７３】
（態様５４）
生体情報を取得する第三の取得手段と、
前記第三の取得手段で取得した生体情報と、前記個人を特定する情報と照合して、その正否を出力する出力手段と、を備える態様４４に記載の複合コードパターン読取り装置。
【０３７４】
（態様５５）
前記第一の取得手段、前記第二の取得手段、前記第三の取得手段および前記出力手段の少なくとも一つは、１または複数のプロセッサーの処理によって機能する、
態様５３記載の複合コードパターン読取り装置。
【０３７５】
（態様５６）
前記符号化手段と同一の符号化が可能な第２の符号化手段を備え、
前記特定領域を除いた少なくとも一部を、前記第2の符号化手段により第２の符号化情報に符号化する、態様４９〜５５のいずれかに記載の複合コードパターン読取り装置。
【０３７６】
（態様５７）
復号化手段を備え、
前記暗号化情報を、前記復号化手段により、前記暗号化された符号化情報を前記暗号化される前の符号化情報に復号する、態様４９〜５６のいずれかに記載の複合コードパターン読取り装置。
【０３７７】
（態様５８）
公開鍵を有し、
前記暗号化情報は、前記暗号化手段で秘密鍵を用いて符号化情報を暗号化した情報であり、
前記復号化手段は、前記公開鍵を用いて前記暗号化情報を復号化する、
態様５７に記載の複合コードパターン読取り装置。
【０３７８】
（態様５９）
前記第２の符号化手段で符号化した第２の符号化情報と、
前記復号化手段で復号した符号化情報と、を照合して前記特定コードの正否を判定する、態様５７〜５８のいずれかに記載の複合コードパターン読取り装置。
【０３７９】
（態様６０）
コンピュータが、識別可能な２以上の色のいずれかをそれぞれ有する複数のセルが配列形状に配置された第１のコードを生成する第１の生成ステップと、
前記配置されたセルのいずれか１以上の特定セル内で、それぞれの特定セルが有する色と識別可能な１以上のマークが配置された第２のコードを生成する第２の生成ステップと、を実行し、
態様１〜４５のいずれかに記載の複合コードパターンを生成する、複合コードパターン生成方法。
【０３８０】
（態様６１）
コンピュータが、識別可能な２以上の色のいずれかをそれぞれ有する複数のセルが配列形状に配置された第１のコードから数値データを取得し、
前記配置されたセルのいずれか１以上の特定セル内で、それぞれの特定セルが有する色と識別可能な１以上のマークが配置された第２のコードから数値データを取得する複合コードパターンの読み取り方法であって、
態様１〜４５のいずれかに記載の複合コードパターンを読取る複合コードパターン読取り方法。
【０３８１】
（態様６２）
コンピュータに、識別可能な２以上の色のいずれかをそれぞれ有する複数のセルが配列形状に配置された第１のコードを生成する第１の生成ステップと、
前記配置されたセルのいずれか１以上の特定セル内で、それぞれの特定セルが有する色と識別可能な１以上のマークが配置された第２のコードを生成する第２の生成ステップと、を実行させる複合コードパターン生成プログラムであって、
態様１〜４５のいずれかに記載の複合コードパターンを生成する複合コードパターン生成プログラム。
【０３８２】
（態様６３）
コンピュータが、識別可能な２以上の色のいずれかをそれぞれ有する複数のセルが配列形状に配置された第１のコードから数値データを取得し、
前記配置されたセルのいずれか１以上の特定セル内で、それぞれの特定セルが有する色と識別可能な１以上のマークが配置された第２のコードから数値データを取得する複合コードパターンの読み取りプログラムであって、
態様１〜４５のいずれかに記載の複合コードパターンを読取る複合コードパターン読取りプログラム。
【０３８３】
（態様６４）
識別可能な２以上の色のいずれかをそれぞれ有する複数のセルが配列形状に配置された第１のコードを生成する第１の生成手段と、
前記配置されたセルのいずれか１以上の特定セル内で、それぞれの特定セルが有する色と識別可能な１以上のマークが配置された第２のコードを生成する第２の生成手段と、を備えた複合コードパターン生成装置であって、
態様１〜４５のいずれかに記載の複合コードパターンを生成する複合コードパターン生成装置。
【符号の説明】
【０３８４】
１０  情報処理装置
１１  ＣＰＵ
１２  主記憶装置
１３  外部記憶装置
１４  表示装置
１５  操作部
１６  通信インターフェース
１７  画像入力インターフェース
１８  画像出力インターフェース
ＣＳ１、ＣＳ２  コンテンツサーバ
ＭＳ１  管理サーバ
ＵＤ１、ＵＤ２  ユーザ装置
【図１】
2019192193.tif 000003
【図２】
2019192193.tif 000004
【図３】
2019192193.tif 000005
【図４】
2019192193.tif 000006
【図５】
2019192193.tif 000007
【図６】
2019192193.tif 000008
【図７】
2019192193.tif 000009
【図８】
2019192193.tif 000010
【図９】
2019192193.tif 000011
【図１０】
2019192193.tif 000012
【図１１】
2019192193.tif 000013
【図１２】
2019192193.tif 000014
【図１３】
2019192193.tif 000015
【図１４】
2019192193.tif 000016
【図１５】
2019192193.tif 000017
【図１６】
2019192193.tif 000018
【図１７】
2019192193.tif 000019
【図１８】
2019192193.tif 000020
【図１９】
2019192193.tif 000021
【図２０】
2019192193.tif 000022
【図２１】
2019192193.tif 000023
【図２２】
2019192193.tif 000024
【図２３】
2019192193.tif 000025
【図２４】
2019192193.tif 000026
【図２５】
2019192193.tif 000027
【図２６】
2019192193.tif 000028
【図２７】
2019192193.tif 000029
【図２８】
2019192193.tif 000030
【図２９】
2019192193.tif 000031
【図３０】
2019192193.tif 000032
【図３１】
2019192193.tif 000033
【図３２】
2019192193.tif 000034
【図３３】
2019192193.tif 000035
【図３４】
2019192193.tif 000036
【図３５】
2019192193.tif 000037
【図３６】
2019192193.tif 000038
【図３７】
2019192193.tif 000039
【図３８】
2019192193.tif 000040
【図３９】
2019192193.tif 000041
【図４０】
2019192193.tif 000042
【図４１】
2019192193.tif 000043
【図４２】
2019192193.tif 000044
【図４３】
2019192193.tif 000045
【図４４】
2019192193.tif 000046
【図４５】
2019192193.tif 000047
【図４６】
2019192193.tif 000048
【図４７】
2019192193.tif 000049
【図４８】
2019192193.tif 000050
【図４９】
2019192193.tif 000051
【図５０】
2019192193.tif 000052
【図５１】
2019192193.tif 000053
【図５２】
2019192193.tif 000054
【図５３】
2019192193.tif 000055
【図５４】
2019192193.tif 000056
【図５５】
2019192193.tif 000057
【図５６】
2019192193.tif 000058
【図５７】
2019192193.tif 000059
【図５８】
2019192193.tif 000060
【図５９】
2019192193.tif 000061
【図６０】
2019192193.tif 000062
【図６１】
2019192193.tif 000063
【図６２】
2019192193.tif 000064
【図６３】
2019192193.tif 000065
【図６４】
2019192193.tif 000066
【図６５】
2019192193.tif 000067
【図６６】
2019192193.tif 000068
【図６７】
2019192193.tif 000069
【図６８】
2019192193.tif 000070
【図６９】
2019192193.tif 000071
【図７０】
2019192193.tif 000072
【図７１】
2019192193.tif 000073
【図７２】
2019192193.tif 000074
【図７３】
2019192193.tif 000075
【図７４】
2019192193.tif 000076
【図７５】
2019192193.tif 000077
【図７６】
2019192193.tif 000078
【図７７】
2019192193.tif 000079
【図７８】
2019192193.tif 000080
【図７９】
2019192193.tif 000081
【図８０】
2019192193.tif 000082
【図８１】
2019192193.tif 000083
【図８２】
2019192193.tif 000084
【図８３】
2019192193.tif 000085
【図８４】
2019192193.tif 000086
【図８５】
2019192193.tif 000087
【図８６】
2019192193.tif 000088
【図８７】
2019192193.tif 000089
【図８８】
2019192193.tif 000090
【図８９】
2019192193.tif 000091
【図９０】
2019192193.tif 000092
【図９１】
2019192193.tif 000093
【図９２】
2019192193.tif 000094
【図９３】
2019192193.tif 000095
【図９４】
2019192193.tif 000096
【図９５】
2019192193.tif 000097
【図９６】
2019192193.tif 000098
【図９７】
2019192193.tif 000099
【図９８】
2019192193.tif 000100
【図９９】
2019192193.tif 000101
【図１００】
2019192193.tif 000102
【図１０１】
2019192193.tif 000103
【図１０２】
2019192193.tif 000104
【図１０３】
2019192193.tif 000105
【図１０４】
2019192193.tif 000106
【図１０５】
2019192193.tif 000107
【図１０６】
2019192193.tif 000108
【図１０７】
2019192193.tif 000109
【図１０８】
2019192193.tif 000110
【図１０９】
2019192193.tif 000111
【図１１０】
2019192193.tif 000112