(57)【要約】【課題】明色と識別されるセルと暗色と識別されるセルとをマトリクス状に配置してなる１次元あるいは２次元の画像において、情報表現からの読み取り困難性を低減しつつ、さらに情報量を増加する。【解決手段】複数のセルが配列形状に配置され、それぞれが所定領域を有し、所定領域にそれぞれが互いに識別可能な２以上の色のいずれかを有することによりデータが定義される第１のコードと、複数のセルの少なくとも一部に前記所定領域を除く領域を有する特定セルを形成し、所定領域を除く領域の所定の位置に配置される識別可能なマークによりデータが定義される第２のコードと、を備えた複合コードとした。【選択図】図５
2020161172.tif 000002
【特許請求の範囲】
【請求項１】
複数のセルが配列形状に配置され、それぞれが所定領域を有し、該所定領域にそれぞれが互いに識別可能な２以上の色のいずれかを有することによりデータが定義される第１のコードと、
前記複数のセルの少なくとも一部に前記所定領域を除く領域を有する特定セルを形成し、該所定領域を除く領域の所定の位置に配置される識別可能なマークによりデータが定義される第２のコードと、
を備えた複合コード。
【請求項２】
前記所定の位置における前記マークの配置の有無により前記データが定義される
請求項１に記載の複合コード。
【請求項３】
前記所定領域は、任意の形状である、
請求項１または２に記載の複合コード。
【請求項４】
前記複数のセルの内、前記特定セル以外のセルの少なくとも一部が、前記所定領域と該所定領域を除く領域を有し、それぞれが互いに識別可能な色を有する、
請求項１〜３のいずれかに記載の複合コード。
【請求項５】
前記所定領域は、前記所定領域を除く領域に囲まれ、それぞれが互いに識別可能な色を有する、
請求項３に記載の複合コード。
【請求項６】
前記複数のセル内の所定領域は、それぞれのセルの色を認識するための基準点を含む、
請求項１〜５のいずれかに記載の複合コード。
【請求項７】
前記マークの配置位置は、少なくとも前記特定セルおよび該特定セル以外のセルの少なくとも一方の前記基準点を基に設定される、
請求項６に記載の複合コード。
【請求項８】
前記マークの配置位置は、少なくとも前記特定セルの前記基準点から所定方向に所定間隔を設けて設定される、
請求項６に記載の複合コード。
【請求項９】
前記基準点として識別可能な前記所定領域から算出された中心座標値を基に、他の前記複数のセルの基準点の座標値が算出される、
請求項６に記載の複合コード。
【請求項１０】
識別可能な前記マークの配置位置と前記基準点および第２のコードの向きを含み形成される基準パターンが前記複数のセルのいずれかに配置される、
請求項６〜９のいずれかに記載の複合コード。
【請求項１１】
前記基準パターンを基に、前記複数のセルの基準点からの前記マークとの幾何学的関係と前記第２のコードの向きを基に、前記データが定義される、
請求項１０に記載の複合コード。
【請求項１２】
前記第２のコードの向きは、前記基準パターンを形成するマークの形状、配置および、２以上の大きさの異なるマークのいずれかにより定義される、
請求項１０または１１に記載の複合コード。
【請求項１３】
前記第２のコードの向きは、前記第１のコードの向きと同一である、
請求項６〜１２のいずれかに記載の複合コード。
【請求項１４】
前記基準点は、それぞれの前記セルの中心である、
請求項６〜９のいずれかに記載の複合コード。
【請求項１５】
前記基準点は、それぞれの前記セルの所定領域の中心である、
請求項６〜１４のいずれかに記載の複合コード。
【請求項１６】
前記複合コードが撮影されて記憶装置にＸＹ座標軸を有する２次元撮像画像（Ｘ，Ｙ）において、ｎ個のピクセルとして２値化された前記所定領域の中心（ＸＣ，ＹＣ）は、ｎ個（ｉ＝１〜ｎ）のピクセルの座標値をＤｉ（Ｘｉ，Ｙｉ）とすると、ＸＣ＝（ΣＸｉ，ｉ＝１〜ｎ）／ｎ，ＹＣ＝（ΣＹｉ，ｉ＝１〜ｎ）／ｎである、
請求項１５に記載の複合コード。
【請求項１７】
前記所定領域の面積は、それぞれの前記セルの面積の１／１０以上である、
請求項１〜１６のいずれかに記載の複合コード。
【請求項１８】
前記所定領域の面積は、それぞれの前記セルの面積の１／２０以上である、
請求項１〜１６のいずれかに記載の複合コード。
【請求項１９】
前記複数のセル内の所定領域の色は、それぞれのセルの色として認識できるだけの所定の面積を有する、
請求項１〜１８のいずれかに記載の複合コード。
【請求項２０】
前記それぞれのセルの色は、前記識別可能な２以上の色のいずれかの色の濃度を所定量含むことによって、それぞれが互いに識別可能である、
請求項１〜１９のいずれかに記載の複合コード。
【請求項２１】
前記所定領域の面積は、それぞれの前記セルの面積の６０％程度以上である、
請求項１〜２０のいずれかに記載の複合コード。
【請求項２２】
前記マークの色は、該マークが配置されるそれぞれの前記所定領域と同一色を含む、
請求項１〜２１のいずれかに記載の複合コード。
【請求項２３】
前記マークの配置位置は、少なくとも前記特定セルの前記所定領域を除く領域を任意の形状で区画した領域のいずれかに設定される、
請求項１〜２２のいずれかに記載の複合コード。
【請求項２４】
前記マークの形状は、前記区画した領域と同一形状であり、該区画した領域内は同一色を有する、
請求項２３に記載の複合コード。
【請求項２５】
前記マークは、該マークが配置される前記所定の位置または該所定の位置を含む領域に、前記所定領域が有する色と互いに識別可能な２以上の色のいずれかをそれぞれに有する、
請求項１〜２４のいずれかに記載の複合コード。
【請求項２６】
前記第２のコードは、前記マークの形状、大きさ、色、向き、配置パターンの少なくともいずれか１つにより、データが定義される、
請求項１〜２５のいずれかに記載の複合コード。
【請求項２７】
前記マークの形状は、任意の形状である、
請求項２６に記載の複合コード。
【請求項２８】
前記マークの色は、該マーク同士識別可能な少なくとも赤、緑、青、シアン、マゼンダ、黄、黒、白および前記所定領域の色のいずれかを含む、
請求項１〜２７のいずれかに記載の複合コード。
【請求項２９】
前記マークの大きさは所定の距離から視認しづらい大きさのマークである、
請求項１〜２８のいずれかに記載の複合コード。
【請求項３０】
前記複合コードは、媒体に形成されるか、電子媒体、放送媒体、記憶媒体または通信媒体等からの出力により表示装置に表示されるか、または電子媒体内にデジタル情報で形成される、
請求項１〜２９のいずれかに記載の複合コード。
【請求項３１】
少なくとも前記第２のコードが複数のコードで形成され、
前記複数のコードは、時系列データとして表示装置に時間軸方向に所定の順に表示されるか、または前記媒体の所定の位置に形成される、
請求項３０に記載の複合コード。
【請求項３２】
前記時間軸方向に所定の順に表示される複数のコードの間には、非表示の所定時間を含む、
請求項３１に記載の複合コード。
【請求項３３】
複数のセルが配列形状に配置され、それぞれが所定領域を有し、該所定領域にそれぞれが互いに識別可能な２以上の色のいずれかを有することによりデータが定義される第１のコードと、
前記複数のセルの少なくとも一部を形成する特定セル内において、前記所定領域を除く領域の所定の位置に配置される識別可能なマークによりデータが定義される第２のコードと、
を備えた複合コードであって、
前記第１のコードおよび前記第２のコードの少なくとも一方に設けられる特定領域には、前記第１のコードおよび前記第２のコードのうちの少なくとも一方のコードのうちの該特定領域を除いた領域の少なくとも一部に対応する特定情報を含む複合コード。
【請求項３４】
請求項１〜３２のいずれかに記載の前記マークの少なくとも一つが形成されている、
請求項３３に記載の複合コード。
【請求項３５】
前記特定領域を除いた領域の少なくとも一部には、少なくとも氏名、性別、生年月日、住所、戸籍、生体情報等、個人を特定する情報を含む、
請求項３３または３４に記載の複合コード。
【請求項３６】
前記特定情報は、前記特定領域を除いた少なくとも一部を符号化手段により符号化した符号化情報である、
請求項３３〜３５のいずれかに記載の複合コード。
【請求項３７】
前記特定情報は、前記符号化情報が、暗号化手段により暗号化された暗号化情報である、
請求項３６に記載の複合コード。
【請求項３８】
前記暗号化情報は、復号化手段により、前記符号化情報に復号できる、
請求項３７に記載の複合コード。
【請求項３９】
前記特定領域を除いた少なくとも一部には、情報処理装置に前記復号化手段として実行させるためのプログラムが含まれる、
請求項３８に記載の複合コード。
【請求項４０】
前記暗号化情報は、前記暗号化手段で秘密鍵を用いて符号化情報を暗号化した情報であり、
前記復号化手段は、公開鍵を用いて前記暗号化情報を復号化する、
請求項３８または請求項３９のいずれかに記載の複合コード。
【請求項４１】
前記符号化手段はハッシュ関数であり、
前記ハッシュ関数により符号化した符号化情報はハッシュ値であり、
前記暗号化手段により暗号化された暗号化情報は暗号化されたハッシュ値であり、
前記暗号化されたハッシュ値は、前記復号化手段により前記ハッシュ値に復号できる、
請求項３８〜４０のいずれかに記載の複合コード。
【請求項４２】
前記特定情報は、前記少なくとも一方のコードのうちの前記特定領域を除いた少なくとも一部が表す情報または前記符号化情報を基に電子署名手段によって作成された電子署名情報であり、前記電子署名情報は、検証手段により前記少なくとも一方のコードのうちの前記特定領域を除いた少なくとも一部が表す情報と所定の関係にあることが検証可能である、
請求項３６〜４１のいずれかに記載の複合コード。
【請求項４３】
前記複合コードを明示するためのマーク、グラフィックスまたはテキストの少なくともいずれかが、前記第１のコードの内部に形成された、
請求項１〜４２のいずれかに記載の複合コード。
【請求項４４】
請求項３３〜４２のいずれかに記載の複合コードが形成または表示された媒体。
【請求項４５】
請求項３３〜４２のいずれかに記載の特定領域を除いた少なくとも一部は、前記媒体上に形成された文字および画像の少なくとも一つに対応する情報をデータ化したものであり、該情報の近傍または内部に前記複合コードが形成された、
請求項４４に記載の媒体。
【請求項４６】
請求項１〜４３のいずれかに記載の複合コードに含まれる、
前記第１のコードを取得する第１の取得手段と、
前記第２のコードを取得する第２の取得手段と、
を備える、複合コード読取り装置。
【請求項４７】
請求項６〜１８のいずれかに記載の前記所定領域に含まれる基準点を基に、
前記第２のコードが取得される、
請求項４６に記載の複合コード読取り装置。
【請求項４８】
前記第１の取得手段で取得した前記セルの基準点を、
前記第２の取得手段で取得した前記基準点の座標値に基づいて補正して、
前記第２のコードを読み取る、
請求項４７に記載の複合コード読取り装置。
【請求項４９】
請求項１０〜１２のいずれかに記載の前記基準パターンを用いて、
前記マークの配置候補位置を補正して、
前記第２のコードを読み取る、
請求項４７または４８に記載の複合コード読取り装置。
【請求項５０】
前記第１のコードおよび前記第２のコードの少なくとも一方には、個人を特定する情報を含み、
前記個人を特定する情報は、少なくとも氏名、性別、生年月日、住所、戸籍、生体情報のいずれかに関する情報である、
請求項４６〜４９のいずれかに記載の複合コード読取り装置。
【請求項５１】
生体情報を取得する第３の取得手段と、
前記第３の取得手段で取得した生体情報と、
前記個人を特定する情報と照合して、その正否を出力する出力手段と、
を備える請求項５０に記載の複合コード読取り装置。
【請求項５２】
前記第１の取得手段、前記第２の取得手段、前記第３の取得手段および前記出力手段の少なくとも一つは、１または複数のプロセッサーの処理によって機能する、
請求項５１記載の複合コード読取り装置。
【請求項５３】
請求項３６に記載の符号化手段と同一の符号化が可能な第２の符号化手段を備え、
請求項３３〜４２のいずれかに記載の特定領域を除いた少なくとも一部を、前記第２の符号化手段により第２の符号化情報に符号化する、
請求項４６〜５２のいずれかに記載の複合コード読取り装置。
【請求項５４】
復号化手段を備え、
請求項３７に記載の暗号化手段により暗号化された暗号化情報を、前記復号化手段により、請求項３６に記載の符号化情報に復号する、
請求項４６〜５３のいずれかに記載の複合コード読取り装置。
【請求項５５】
公開鍵を有し、
前記暗号化情報は、前記暗号化手段で秘密鍵を用いて符号化情報を暗号化した情報であり、
前記復号化手段は、前記公開鍵を用いて前記暗号化情報を復号化する、
請求項５４に記載の複合コード読取り装置。
【請求項５６】
請求項５３に記載の第２の符号化手段で符号化した第２の符号化情報と、
前記復号化手段で復号した符号化情報と、を照合して請求項３３に記載の特定情報の正否を判定する、
請求項５４〜５５のいずれかに記載の複合コード読取り装置。
【請求項５７】
コンピュータが、複数のセルが配列形状に配置され、それぞれが所定領域を有し、該所定領域にそれぞれが互いに識別可能な２以上の色のいずれかを有することによりデータが定義される第１のコードを生成する第１の生成ステップと、
前記複数のセルの少なくとも一部を形成する特定セル内において、前記所定領域を除く領域の所定の位置に配置される識別可能なマークによりデータが定義される第２のコードを生成する第２の生成ステップと、を実行し、
請求項１〜４３のいずれかに記載の複合コードを生成する、複合コード生成方法。
【請求項５８】
コンピュータが、複数のセルが配列形状に配置され、それぞれが所定領域を有し、該所定領域にそれぞれが互いに識別可能な２以上の色のいずれかを有することによりデータが定義される第１のコードを取得し、
前記複数のセルの少なくとも一部を形成する特定セル内において、前記所定領域を除く領域の所定の位置に配置される識別可能なマークによりデータが定義される第２のコードを取得する複合コードの読み取り方法であって、
請求項１〜４３のいずれかに記載の複合コードを読取る複合コード読取り方法。
【請求項５９】
コンピュータに、複数のセルが配列形状に配置され、それぞれが所定領域を有し、該所定領域にそれぞれが互いに識別可能な２以上の色のいずれかを有することによりデータが定義される第１のコードを生成する第１の生成ステップと、
前記複数のセルの少なくとも一部を形成する特定セル内において、前記所定領域を除く領域の所定の位置に配置される識別可能なマークによりデータが定義される第２のコードを生成する第２の生成ステップと、を実行させる複合コード生成プログラムであって、
請求項１〜４３のいずれかに記載の複合コードを生成する複合コード生成プログラム。
【請求項６０】
コンピュータが、複数のセルが配列形状に配置され、それぞれが所定領域を有し、該所定領域にそれぞれが互いに識別可能な２以上の色のいずれかを有することによりデータが定義される第１のコードを取得し、
前記複数のセルの少なくとも一部を形成する特定セル内において、前記所定領域を除く領域の所定の位置に配置される識別可能なマークによりデータが定義される第２のコードを取得する複合コードの読み取りプログラムであって、
請求項１〜４３のいずれかに記載の複合コードを読取る複合コード読取りプログラム。
【請求項６１】
複数のセルが配列形状に配置され、それぞれが所定領域を有し、該所定領域にそれぞれが互いに識別可能な２以上の色のいずれかを有することによりデータが定義される第１のコードを生成する第１の生成手段と、
前記複数のセルの少なくとも一部を形成する特定セル内において、前記所定領域を除く領域の所定の位置に配置される識別可能なマークによりデータが定義される第２のコードを生成する第２の生成手段と、
を備えた複合コード生成装置であって、
請求項１〜４３のいずれかに記載の複合コードを生成する複合コード生成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複合コードパターン、生成装置、読み取り装置、方法およびプログラムに関する。
【背景技術】
【０００２】
従来から、バーコード等の１次元コード、ＱＲコード（登録商標）等の２次元コード等、画像による様々な情報表現が提案されている。これらの情報表現は、例えば、明色と識別されるセルやスペースと暗色と識別されるセルやバーとをマトリクス状に配置してなる、１次元あるいは２次元の画像が用いられる。
【０００３】
また、例えば、ＱＲコード（登録商標）のセルのうち、少なくも一部のセルが、より微細なサブセルによってマトリクス状に細分化された拡張セルを用いることも提案されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特許第６０６１０７５号公報
【特許文献２】特許第２９３８３３８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところで、これらの情報表現では、明度等の色の要素によって識別可能な２種類以上のセルが配置されてコードの情報が表現される。現在の情報表現では情報量が少ない場合が多々ある。元々、これらの情報表現では、画像が形成される媒体面での単位面積当りの情報量（以下、情報密度）を向上させるため、セルの寸法が小さく設定されている。セルの寸法が小さく設定された情報表現において、高解像度のコード読み取り装置が必要になる。さらに、セルが細分化されると、細分化されたセルの判別が困難になる可能性が大きくなる。
【０００６】
したがって、従来の技術では、明色と識別されるスペースやセルと暗色と識別されるバーやセルとを、配列状に配置してなる、１次元あるいは２次元コードの画像において、セルやスペース／バーの寸法が小さく設定された情報表現において、さらに、情報量を増加させるときに、情報表現からの読み取り困難性に対する配慮がなされていない。そこで、本発明の１つの側面は、１次元あるいは２次元の画像において、コード情報表現からの読み取り困難性を低減しつつ、さらに情報量を増加することを目的とする。
【課題を解決するための手段】
【０００７】
１つの側面では、本発明は、複合コードパターンとして例示できる。本複合コードパターンは、識別可能な２以上の色のいずれかをそれぞれ少なくとも一部の領域に有する複数のセルが配列形状に配置された第１のコードと、前記配置されたセルのいずれか１以上の特定セル内で、マークが配置された第２のコードと、を備えた複合コードパターンである。
【発明の効果】
【０００８】
本複合コードパターンでは、１次元あるいは２次元コードの画像において、情報表現からの読み取り困難性を低減しつつ、さらに情報量を増加することが可能となる。
【図面の簡単な説明】
【０００９】
【図１】ＱＲコードの構造を例示する図である。
【図２】情報セルの一部をさらに細分化したサブセルを含むＱＲコードの構造を例示する図である。
【図３】第２のコードをサブセルよりも小さいドットで表現するパターンを例示する図である。
【図４】第２のコードの例を示す図である。
【図５】第２のコードの例を示す図である。
【図６】第２のコードの例を示す図である。
【図７】第１のコード内での第２のコードの配置位置について説明する図である。
【図８】第１のコード内での第２のコードの配置位置について説明する図である。
【図９】第１のコード内での第２のコードの配置位置について説明する図である。
【図１０】第１のコード内の暗色セルに第２のコードの配置する図である。
【図１１】第１のコード内での第２のコードの配置位置について説明する図である。
【図１２】第１のコード内での第２のコードの配置位置について説明する図である。
【図１３】第１のコード内での第２のコードの配置位置について説明する図である。
【図１４】第２のコードを形成するセル内のパターンの配置について説明する図である。
【図１５】第２のコードを形成するセル内のパターンの配置について説明する図である。
【図１６】第２のコードを形成するセル内のパターンの配置について説明する図である。
【図１７】第２のコードを形成するセル内のパターンの配置について説明する図である。
【図１８】第２のコードを形成するセル内のパターンの配置について説明する図である。
【図１９】第２のコードを形成するセル内のパターンの配置について説明する図である。
【図２０】線分の先端が仮想点となる線分による第２のコードの例である。
【図２１】線分の中心が仮想点となる線分による第２のコードの例である。
【図２２】線分の長さが複数段階に変更された第２のコードの例である。
【図２３】線分を所定の比率で内分する位置が仮想点となる線分による第２のコードの例である。
【図２４】ＱＲコードのセル内にドットパターンを配置した複合コードの構成例（１）を示す図である。
【図２５】ＱＲコードのセル内にドットパターンを配置した複合コードの構成例（２）を示す図である。
【図２６】ＱＲコードのセル内にドットパターンを配置した複合コードの構成例（３）を示す図である。
【図２７】ＱＲコードのセル内にドットパターンを配置した複合コードの構成例（４）を示す図である。
【図２８】ＱＲコードのセル内にドットパターンを配置した複合コードの構成例（５）を示す図である。
【図２９】ＱＲコードのセル内にドットパターンを配置した複合コードの構成例（６）を示す図である。
【図３０】ＱＲコードのセル内にドットパターンを配置した複合コードの構成例（７）を示す図である。
【図３１】ＱＲコードのセル内にドットパターンを配置した複合コードの構成例（８）を示す図である。
【図３２】実施形態１に係る複合コードによるサービスを提供する情報システムの構成を例示する図である。
【図３３】情報処理装置のハードウェア構成を例示する図である。
【図３４】コンテンツサーバによる複合コード生成処理Ａを例示するフローチャートである。
【図３５】ユーザ装置による複合コード読取処理Ａを例示するフローチャートである。
【図３６】セル内の第２のコードの解析処理の詳細を例示するフローチャートである。
【図３７】実施形態２に係る情報システムの構成を例示する図である。
【図３８】複合コード生成処理Ｂを例示するフローチャートである。
【図３９】複合コード読取処理Ｂを例示するフローチャートである。
【図４０】実施形態３における複合コードの読み取り処理を例示するフローチャートである。
【図４１】印刷された暗色セルとピクセルの関係を例示する図である。
【図４２】暗色セルに明色のドットを形成した例である。
【図４３】明色セルに暗色のドットを形成した例である。
【図４４】バウンディングボックスによるドットの位置の判定方法を例示する図である。
【図４５】５×５ｐｉｘｅｌで印刷したセルにドットコードを形成した例である。
【図４６】７×７ｐｉｘｅｌで印刷したセルにドットコードを形成した例である。
【図４７】処理例１の真贋判定のための複合コード生成処理を例示する図である。
【図４８】処理例１の複合ＱＲコード読み取り・認証処理を例示するフローチャートである。
【図４９】処理例２の真贋判定のための複合コード生成処理を例示する図である。
【図５０】処理例２の複合ＱＲコード読み取り・認証処理を例示するフローチャートである。
【図５１】処理例３の真贋判定のための複合コード生成処理を例示する図である。
【図５２】処理例３の複合ＱＲコード読み取り・認証処理を例示するフローチャートである。
【図５３】処理例４の真贋判定のための複合コード生成処理を例示する図である。
【図５４】処理例４の複合ＱＲコード読み取り・認証処理を例示するフローチャートである。
【図５５】処理例５の真贋判定のための複合コード生成処理を例示する図である。
【図５６】処理例５の複合ＱＲコード読み取り・認証処理を例示するフローチャートである。
【図５７】処理例６の真贋判定のための複合コード生成処理を例示する図である。
【図５８】処理例６の複合ＱＲコード読み取り・認証処理を例示するフローチャートである。
【図５９】処理例７の真贋判定のための複合コード生成処理を例示する図である。
【図６０】処理例７の複合ＱＲコード読み取り・認証処理を例示するフローチャートである。
【図６１】セル内の情報ドットの配置候補位置を８か所配置した実施例である。
【図６２】１つのセル内のドットの配置位置８か所を例示する図である。
【図６３】ＱＲコードの仕様にしたがって求めたセルの中央の座標位置が、セルの本来の中央からずれる画像の例である。
【図６４】第２のコードの向きとバウンディングボックスを示した図である。
【図６５】ドットコードが形成された明色セルの例である。
【図６６】セルを撮像した画像の例である。
【図６７】セルを撮像した画像の例である。
【図６８】セルを撮像した画像を２値化した例である。
【図６９】セルを撮像した画像を２値化した例である。
【図７０】画像を２値化する処理例である。
【図７１】情報ドットの中心座標値がバウンディングボックス内に納まっていることを例示する図である。
【図７２】情報ドットの中心座標値がバウンディングボックス内に納まっていることを例示する図である。
【図７３】暗色セルのみに基準ドットを配置してドットコードを形成した複合コードの例である。
【図７４】第１のコードによってセルの中央として求められた座標位置がセルの本来の中央からずれている画像の例である。
【図７５】複合コードの一部を示した実施例である。
【図７６】セル内の情報ドットの配置候補位置を設定し、中央に基準ドットを配置した実施例である。
【図７７】第１のコードによってセルの中央として求められた座標位置がセルの本来の中央からずれている画像の例である。
【図７８】第２のコードの向きとバウンディングボックスを示した図である。
【図７９】複合コードの一部を示した実施例である。
【図８０】第１のコードによってセルの中央として求められた座標位置がセルの本来の中央からずれている画像の例である。
【図８１】複合コードの一部を示した実施例である。
【図８２】明色セルを縦横４分割して情報分割セルの配置候補位置と基準ドットを配置した実施例である。
【図８３】第１のコードによってセルの中央として求められた座標位置がセルの本来の中央からずれている画像の例である。
【図８４】第２のコードの向きとバウンディングボックスを示した図である。
【図８５】複合コードの一部を示した実施例である。
【図８６】明色セルを縦横５分割して情報分割セルの配置候補位置と基準分割セルを配置した実施例である。
【図８７】第１のコードによってセルの中央として求められた座標位置がセルの本来の中央からずれている画像の例である。
【図８８】第２のコードの向きとバウンディングボックスを示した図である。
【図８９】複合コードの一部を示した実施例である。
【図９０】明色セルを縦横５分割して情報分割セルの配置候補を配置した実施例である。
【図９１】第１のコードによってセルの中央として求められた座標位置がセルの本来の中央からずれている画像の例である。
【図９２】第２のコードの向きとバウンディングボックスを示した図である。
【図９３】情報分割セルの配置候補位置を上下左右に隣り合わないように１２か所配置した実施例である。
【図９４】バウンディングボックスについて示す図である。
【図９５】バウンディングボックスを移動させた状態を示す図（１）である。
【図９６】バウンディングボックスを移動させた状態を示す図（２）である。
【図９７】バウンディングボックスを移動させた状態を示す図（３）である。
【図９８】バウンディングボックスを移動させた状態を示す図（４）である。
【図９９】バウンディングボックスを移動させた状態を示す図（５）である。
【図１００】バウンディングボックスを移動させた状態を示す図（６）である。
【図１０１】バウンディングボックスを移動させた状態を示す図（７）である。
【図１０２】バウンディングボックスを移動させた状態を示す図（８）である。
【図１０３】基準パターンを有する複合コードの実施例である。
【図１０４】基準パターンを２個のセルに分けて配置した複合コードの実施例である。
【図１０５】基準パターンを有する複合コードの実施例である。
【図１０６】明色および／または暗色のセルの所定間隔毎に基準パターンを複数配置した複合コードの実施例である。
【図１０７】基準ドットと基準分割セルによる基準パターンを配置した複合コードの実施例である。
【図１０８】２個のセルに基準分割セルを配置して基準パターンとした複合コードの実施例である。
【図１０９】ディレクションドットを加え、第２のコードの向きを設定した複合コードの実施例である。
【図１１０】基準パターンを構成する基準ドットの配置を変えて、第２のコードの向きを設定した複合コードの実施例である。
【図１１１】所定領域の明暗でセルの明暗を表し、情報ドットを暗色で示した複合コードの一部を示した例である。
【図１１２】所定領域の明暗でセルの明暗を表し、情報ドットを暗色で示した複合コードの一部を示した例である。
【図１１３】（ａ）は暗色セル内の情報ドットの配置候補位置に番号を設定した例であり、（ｂ）は明色セル内の情報ドットの配置候補位置に番号を設定した例であり、（ｃ）は図１１３（ａ）の配置具体例および対応する数値データの例であり、（ｄ）は図１１３（ｂ）の配置具体例および対応する数値データの例である。
【図１１４】暗色の所定領域の基準点を仮想線で結んで形成した格子を例示する図である。
【図１１５】情報ドット以外の領域をセルの明暗色にした複合コードの一部を示した例である。
【図１１６】所定領域の明暗でセルの明暗を表し、所定領域を除く領域を反対色にした複合コードの一部を示した例である。
【図１１７】明色および暗色の所定領域の基準点を仮想線で結んで形成した格子を例示する図である。
【図１１８】明色および暗色基準セルを配置し、情報ドットを暗色で示した複合コードの一部を示した例である。
【図１１９】バージョン６のＱＲコードに基準セルを配置した例の図である。
【図１２０】ＱＲコードの読み取り手順を例示するフローチャートである。
【図１２１】（ａ）は形成されたQRコードの画像であり、（ｂ）は実際に撮像されるQRコードの画像であり、（ｃ）は撮像されたQRコードを２値化した画像であり、（ｄ）はファンダーパターンおよびアライメントパターンの中心座標を示す図であり、（ｅ）はすべてのセルの中心座標を示す図である。
【図１２２】基準セルを基にした格子による基準点の補正方法を例示した図である。
【図１２３】明色および暗色基準セルの基準点を仮想線で結んで形成した格子の一部を例示する図である。
【図１２４】明色および暗色基準セルの基準点を結んだ線を基に形成した格子を例示する図である。
【図１２５】変形所定領域を有する明色基準セルを配置し、情報ドットを暗色で示した複合コードの一部を示した例である。
【図１２６】明色および暗色基準セルの基準点を仮想線で結んで形成した格子の一部を例示する図である。
【図１２７】基準パターンを定義する明色および暗色基準セルを配置し、情報ドットを暗色で示した複合コードの一部を示した例である。
【図１２８】基準パターンを定義する明色および暗色基準セルの基準点を仮想線で結んで形成した格子の一部を例示する図である。
【図１２９】基準パターンを定義する明色および暗色基準セルを配置し、情報ドットを暗色で示した複合コードの一部を示した例である。
【図１３０】基準パターンを定義する明色および暗色基準セルの基準点を仮想線で結んで形成した格子の一部を例示する図である。
【図１３１】所定領域の明暗でセルの明暗を示した複合コードの一部を示した例である。
【図１３２】所定領域の明暗でセルの明暗を示した複合コードの一部を示した例である。
【図１３３】（ａ）はセルを６ｘ６ピクセルで示した図であり、（ｂ）はセルを２ｘ２ピクセルの区画で示した図であり、（ｃ）は図１３１（ｂ）の所定領域を暗色に示した図であり、（ｄ）は図１３１（ｂ）の所定領域を明色に示した図であり、（ｅ）は図１３１（ｃ）の配置具体例および対応する数値データを示した図であり、（ｆ）は図１３１（ｄ）の配置具体例および対応する数値データを示した図である。
【図１３４】明色および暗色の所定領域の基準点を仮想線で結んで形成した格子を例示する図である。
【図１３５】暗色基準セルを配置した複合コードの一部を示した例である。
【図１３６】暗色基準セルの基準点を仮想線で結んで形成した格子の一部を例示する図である。
【図１３７】明色および暗色基準セルを配置した複合コードの一部を示した例である。
【図１３８】明色および暗色基準セルの基準点を仮想線で結んで形成した格子の一部を例示する図である。
【図１３９】基準パターンを定義する明色および暗色基準セルを配置した複合コードの一部を示した例である。
【図１４０】基準パターンを定義する明色および暗色基準セルの基準点を仮想線で結んで形成した格子の一部を例示する図である。
【図１４１】変形所定領域を有する暗色基準セルを配置した複合コードの一部を示した例である。
【図１４２】基準パターンを定義する暗色基準セルの基準点を仮想線で結んで形成した格子の一部を例示する図である。
【図１４３】基準パターンを定義する明色および暗色基準セルを配置した複合コードの一部を示した例である。
【図１４４】基準パターンを定義する明色および暗色基準セルの基準点を仮想線で結んで形成した格子の一部を例示する図である。
【図１４５】（ａ）はセルを６ｘ６ピクセルで示した図であり、（ｂ）はセルを１ｘ２ピクセルの区画で示した図であり、（ｃ）は図１４３（ｂ）の所定領域を暗色に示した図であり、（ｄ）は図１４３（ｂ）の所定領域を明色に示した図であり、（ｅ）は図１４３（ｃ）の配置具体例および対応する数値データを示した図であり、（ｆ）は図１４３（ｄ）の配置具体例および対応する数値データを示した図である。
【図１４６】セルを８ｘ８ピクセルで示した図である。（ａ）は所定領域が４ｘ４ピクセルでマーク間に空隙がある例を示す図であり、（ｂ）は（ａ）の所定領域を暗色に示した図であり、（ｃ）は（ａ）の所定領域を明色に示した図であり、（ｄ）は所定領域が２ｘ２ピクセルでマーク間に空隙がある例を示す図であり、（ｅ）は（ｄ）の所定領域を暗色に示した図であり、（ｆ）は（ｄ）の所定領域を明色に示した図であり、（ｇ）は変形の所定領域を示す図であり、（ｈ）は（ｇ）の所定領域を暗色に示した図であり、（ｉ）は（ｇ）の所定領域を明色に示した図であり、（ｊ）は所定領域が２ｘ２ピクセルでマーク配置領域を明色領域が囲んでいる図であり、（ｋ）は（ｊ）の所定領域を暗色に示した図であり、（ｌ）は（ｊ）の所定領域を明色に示した図であり、（ｍ）は所定領域が２ｘ２ピクセルでマーク配置領域を所定領域と同色の領域で囲んでいる図であり、（ｎ）は（ｍ）の所定領域を暗色に示した図であり、（ｏ）は（ｍ）の所定領域を明色に示した図であり、（ｐ）は所定領域が４ｘ４ピクセルでマークの配置候補位置が１２か所ある例を示す図であり、（ｑ）は（ｐ）の所定領域を暗色に示した図であり、（ｒ）は（ｐ）の所定領域を明色に示した図であり、（ｓ）は所定領域が２ｘ２ピクセルでマークの配置候補位置が１２か所ある例を示す図であり、（ｔ）は（ｓ）の所定領域を暗色に示した図であり、（ｕ）は（ｓ）の所定領域を明色に示した図である。
【図１４７】複合コードの生成処理を例示するフローチャートである。
【図１４８】複合コードの読み取り処理を例示するフローチャートである。
【図１４９】複合コードの読み取り処理を例示するフローチャートである。
【図１５０】複合コードの読み取り処理を例示するフローチャートである。
【図１５１】複合コードの読み取り処理を例示するフローチャートである。
【図１５２】時系列複合コードの特定のフレーム中の基準座標の補正方法を例示した図である。
【図１５３】時系列複合コードの表示を示す時間軸（フレーム番号）を横軸にしたグラフである。
【発明を実施するための形態】
【００１０】
以下、図面を参照して、一実施形態に係る情報処理装置について説明する。以下の実施形態の構成は例示であり、本情報処理装置は実施形態の構成には限定されない。
【００１１】
［比較例］
図１に、ＱＲコードの構造を例示する。ＱＲコードは、位置検出パターン（ファインダパターン）、アライメントパターン、タイミングパターン、フォーマット情報、データ及び誤り訂正符号を含む。ファインダパターンは、データの切り出し・傾きなどを検出するときに用いられる。アライメントパターンは、歪みによって生じる各セルの位置ずれを補正するときに用いられる。タイミングパターンは、白セルと黒セルが交互に配置され、シンボル内のモジュール座標を決定するのに使用される。フォーマット情報は、使用されている誤り訂正率とマスクパターンに関する情報を格納する。上記で述べたパターンあるいは情報が配置される領域以外の領域で、図１に斜線で示した領域に、データと誤り訂正符号が配置される。
【００１２】
図２は、情報セルの一部をさらに細分化したサブセルを含むＱＲコードの構造を例示する。図のように、細分化されたサブセルは、セルを横方向および縦方向にそれぞれ４分割し、１つのセルを１６分割した構造を有する。そして、セルが１６分割されたサブセルの領域のうち、例えば、４隅のセルおよび中央の４個のセルを除く残り８個のサブセル（図２で、グレーで例示）に暗色を付与することにより、元々明暗１ビットの情報を８箇所、合計８ビットの情報に増加させる。
【００１３】
しかしながら、図２の構成では、サブセルＳＣ１とＳＣ２のように、隣接する２つのサブセルが一体となって１つの同一色の領域となることが生じ得る。また、サブセルＳＣ１とＳＣ３のように、四隅のうちの１点で、２つの暗色の領域が接触することが生じ得る。また、サブセルＳＣ１からＳＣ８のすべてが、隣接するセルに接触している。したがって、サブセルＳＣ１からＳＣ８のいずれかに（例えば、サブセルＳＣｋ）、隣接するセルと同一色が指定された場合には、サブセルＳＣｋと、隣接するセルとが一体となって同一色の連続する領域となることが生じ得る。
【００１４】
このように、複数の暗色の領域が接続すると、読み取り分解能の限界では、単独のサブセルと、複数のサブセルの集まりとの識別が困難となる場合がある。一方、サブセルＳＣ１に対して、サブセルＳＣ４からＳＣ８を組み合わせた場合のように、少なくとも１つの明色の領域を挟んで配置された暗色のサブセルの組み合わせによる情報表現では、それぞれ単独の暗色のサブセルが明色の領域で区分され、暗色の領域の輪郭が識別しやすくなる。したがって、少なくとも１つの明色の領域を挟んで配置された複数の暗色のサブセルの組み合わせは、読み取り分解能の限界においても、読み取り困難性が少ないとも言える。しかしながら、このように限定を追加することで、表現可能なビット数が低減する。
【００１５】
例えば、仮に１６個のサブセルに暗色の領域と明色の領域を配置する場合、サブセル以外の本来の暗色のセル（ＱＲコードの黒セルなど）と区別するため、上記特許文献１では、暗色のサブセルは、１つのセル内に２５％しか配置できないとされている。したがって、１６個のサブセルのうち、最大４個のサブセルを暗色のセルとすることができ、定義可能なサブセルの配置の組み合わせは、１６Ｃ４＋１６Ｃ３＋１６Ｃ２＋１６Ｃ１＝１，８２０＋５６０＋１２０＋１６＝２，５１６通りとなる。さらに、分割されたサブセルが無い場合を考慮すると、背景が白色の場合（つまり、１個も黒色の分割セルが無い場合）の１通りが追加される。
【００１６】
この追加により、サブセルの配置の組み合わせは、理論上２，５１７通りとなる。したがって、図２のサブセルによる情報量は、１１ビット＜１６Ｃ４＋１６Ｃ３＋１６Ｃ２＋１６Ｃ１＋２＜１２ビットとなる。ただし、上記特許文献１では、情報設定可能なサブセル（可変部）を図２のＳＣ１からＳＣ８の８箇所に限定し、合計７０通りの配色パターンによってデータを記録可能としている。上記特許文献１では、このような限定により、ＱＲコードリーダーで拡張セルの色を確実に識別し得るようにしている。
【００１７】
［実施形態１］
本実施形態では上記比較例の問題を改善する情報表現が提案される。
【００１８】
＜複合コード＞
本実施形態では、ＱＲコードで例示される第１のコードと、第１のコード内のドットパターンで例示される第２コードとによって定義される複合コードによって情報を表現する。本実施形態では、第１のコードとしてＱＲコードを例示するが、第１のコードがＱＲコードに限定される訳ではない。第１のコードは、例えば、１次元のバーコードでもよいし、文字列で表現されるコードでもよい。また、本実施形態では、第２のコードとして、ドットパターンで表現されるコードが例示されるが、第２のコードがドットパターンによるコード（ドットコードともいう）に限定される訳ではない。
【００１９】
＜第２のコードの構成例＞
図３に、第２のコードをサブセルよりも小さいドットで表現するパターンを例示する。以下、第２のコードが設定されるセルを特定セルと呼ぶ。図３の例では、１６個のサブセルの中心に、サブセルよりも小さな面積のドットを配置している。すなわち、図３の例では、１６個のサブセルの中心が仮想点となっている。そして、仮想点にドットを配置するか、しないかで情報が表現される。ドットがマークの一例である。なお、図３では、サブセルの中心にドットを配置しているが、ドットの位置がサブセルの中心に限定される訳ではない。したがって、図３では、特定セルにおける座標情報を有する位置に１以上の仮想点を任意に設定していると言える。また、図３では、仮想点にドットを配置するか、しないかで情報が表現されるので、仮想点を基にしてマークを配置して数値データが定義されるといえる。
【００２０】
例えば、セルの寸法を０．２５０ｍｍ×０．２５０ｍｍとすると、１６分割されたサブセルの寸法は、０．０６２５ｍｍ×０．０６２５ｍｍとなる。一方、６００ｄｐｉの解像度のプリンタで印刷可能な最小寸法は、２５．４ｍｍ／６００＝０．０４２ｍｍであり、ドットは０．０４２ｍｍ×０．０４２ｍｍであり、印刷時のインクの染みだし等による輪郭の変位を考慮しても、０．０５０ｍｍ×０．０５０ｍｍ未満に収まることが経験的に分かっている。当然であるが、印刷の精度が高ければ、０．０４２ｍｍ×０．０４２ｍｍに近づくことは言うまでもない。なお、さらに高い解像度、例えば、１２００ｄｐｉの解像度のプリンタで印刷する場合には、さらに、精細な印刷が可能となる。
【００２１】
図３の例では、セル面積は０．２５０×０．２５０＝０．０６２５平方ｍｍとなり、最大８個のドットによる面積は、０．０２４９×０．０２４９×３．１４×８＝０．０１５６平方ｍｍとなる。この場合、通常の高精度の印刷機でドットを印刷した場合、良好でないケースであっても、セル面積に占めるドットの面積の割合は、２４．９６％となり、上記特許文献１の２５％に概ね近い値となる。したがって、図３のドットパターンでは、１６Ｃ８＋１６Ｃ７＋１６Ｃ６＋１６Ｃ５＋１６Ｃ４＋１６Ｃ３＋１６Ｃ２＋１６Ｃ１＋１６Ｃ０＝３９，２０３通りのパターンの選択が可能となる。図３のドットパターンは、第１のコードの読取りに障害のないマークということができる。
【００２２】
図２のサブセルと比較した図３のドットの特徴は、ドットとドットの間に、明色の領域が存在することにある。すなわち、上記比較例のように、図２のサブセルの場合には、隣接する２つのサブセル同士、あるいは、サブセルと隣接するセルとの間に同一色が設定され、その結果、同一色の領域が連続し、あるいは一体となる。すると、読み取り分解能の限界では、単独のサブセルと、複数のサブセルの集まりとの識別が困難となる場合がある。一方、図３の構成では、暗色のドットが明色の領域で明瞭に区分され、読み取り分解能の限界でも、暗色のドットの識別がしやすくなる。図３のドットパターンは、マーク同士が接触する配置が除外されているパターンの一例と言える。また、図３のドットパターンでは、マークが、特定セルとその特定セルに隣接するセルとの境界に接触する配置が除外されていると言える。なお、暗色の一例として黒色を例示でき、明色の一例として白色を例示できるが、本実施形態においてコード、パターンあるいはマークに用いる色が、黒色と白色に限定される訳ではない。例えば、暗色のセルが黒色のセルに限定される訳でもなく、明色のセルが白色のセルに限定される訳でもない。
【００２３】
図４に、第２のコードの他の例を示す。図４は、セルを９分割した領域の中心にドットを３行３列で配置した例である。すなわち、図４の例でも、９個のサブセルの中心が仮想点となっている。そして、仮想点にドットを配置するか、しないかで情報が表現される。
【００２４】
今、図３と同様、セルの寸法を０．２５ｍｍ×０．２５ｍｍとし、ドットの直径を０．０５ｍｍとすると、ドットとドットとの境界線の間隔は、０．２５／３−０．０５＝０．０３ｍｍとなり、図３の場合よりもさらに、ドット間の距離が拡がり、ドットとドットの識別が容易となる。図４の場合も、最大８個のドットを配置したとき、セル面積に占めるドットの面積の割合は、２５．１２％となり、上記特許文献１の条件に概ね近い値となる。また、図４のドットが表現可能な情報量は、９Ｃ８＋９Ｃ７＋９Ｃ６＋９Ｃ５＋９Ｃ４＋９Ｃ３＋９Ｃ２＋９Ｃ１＋９Ｃ０＝５１１通りとなり、概ね９ビットに近づく。図４のドットパターンは、マーク同士が接触する配置が除外されているパターンの一例と言える。また、図４のドットパターンでは、マークが、特定セルとその特定セルに隣接するセルとの境界に接触する配置が除外されていると言える。したがって、図４のドットパターンも、第１のコードの読取りに障害のないマークということができる。
【００２５】
図５は、図４の変形例であり、ドットの配置を３列とし、１列目に３個、２列目に２個、３列目に３個のドットを配置したものである。そして、２列目のドットの行方向位置が１行目と２行目の間、および２行目と３行目の間となるようにドットが配置されている。すなわち、図５の例でも、１列目に３個のサブセルの中心、３列目に３個のサブセル中心、および２列目の１行目と２行目の境界線Ｌ１とその境界線に直交するセルの中心を通る縦線（一点鎖線で例示）との交点、および、２列目の２行目と３行目の境界線Ｌ２と上記縦線との交点が、それぞれが仮想点となっている。そして、仮想点にドットを配置するか、しないかで情報が表現される。
【００２６】
したがって、図５の場合には、図４よりもさらに、ドット間の距離が拡がり、ドットとドットの識別が容易となる。図５の場合も、最大８個のドットを配置したとき、セル面積に占めるドットの面積の割合は、２５．１％となり、上記特許文献１の条件に概ね近い値となる。また、図４５のドットが表現可能な情報量は、８Ｃ８＋８Ｃ７＋８Ｃ６＋８Ｃ５＋８Ｃ４＋８Ｃ３＋８Ｃ２＋８Ｃ１＋８Ｃ０＝２５６通りとなり、８ビットとなる。図５のドットパターンは、マーク同士が接触する配置が除外されているパターンの一例と言える。また、図５のドットパターンでは、マークが、特定セルとその特定セルに隣接するセルとの境界に接触する配置が除外されていると言える。したがって、図５のドットパターンの、第１のコードの読取りに障害のないマークということができる。
【００２７】
図６に、第２のコードのさらに他の例を示す。図６の例では、１つのセル内に仮想点（Ｘ１，Ｙ１）が設定される。仮想点（Ｘ１，Ｙ１）は、例えば、セルの左下点を原点（０，０）としたときの座標値で指定される。ただし、仮想点の位置に仮想点を示すマークが付される訳ではない。なお、仮想点の位置に基準点を示すマークを配置してもよい。そして、仮想点を中心に、半径ｄの仮想的な円周上に、所定の角度θ、例えば、４５度間隔で、ドットを配置することで情報を定義できる。この場合、距離ｄを固定したとすると、ドット数を１個に限定すると、１つの仮想点の周りに３ビット情報を定義できる。また、最大８個のドットを使用する場合に表現可能な情報量は、図５の場合と同様である。したがって、また、図６では、仮想点を基にしてマークを配置して数値データが定義されるといえる。図６のドットパターンは、マーク同士が接触する配置が除外されているパターンの一例と言える。また、図６のドットパターンでは、マークが、特定セルとその特定セルに隣接するセルとの境界に接触する配置が除外されていると言える。また、図６でも、仮想点は、セル内に任意に設定できる。したがって、特定セルにおける座標情報を有する位置に１以上の仮想点を任意に設定していると言える。また、図６のドットパターンは、仮想点を起点としてマークが配置される方向および距離の少なくとも１つにより、数値データの一部が定義される一例と言える。
【００２８】
以上のように、本実施形態では、比較例の１次元のバーコード、あるいは、ＱＲコードのような２次元コードに対して、コードが採用するセルまたはセルを分割したサブセルを暗色で塗りつぶす代わりに、暗色の周囲が明色で囲まれるドットを採用する。このようなドットを例えば明色のセル内に配置することで、比較例のコードよりも高密度で、セル内に第２のコードを定義できる。
【００２９】
なお、読み取り装置の読み取り分解能は様々であるが、一般的には、ドットの面積の合計が特定セルの面積に対して５０％前後だと、識別可能な２以上の色（ＱＲコード等の白色と黒色を使用する場合は、白いセルと黒いセル）のどちらであると判定するかが分からないので好ましくない。一般的には、３３％以下（３分の１）であれば、特定セルが当該セルであると判定される。２５％以下であれば、さらに好ましい。
【００３０】
なお、図３から図６では、暗色の周囲が明色で囲まれるドットを配置する複合コードを例示したが、暗色のセル内に明色のドットを配置する場合も同様である。この場合、明色のドットが暗色の領域で明瞭に区分され、読み取り分解能の限界でも、明色のドットの識別がしやすくなる。
【００３１】
＜第１のコード内での第２のコードの配置位置＞
以下、図７から図１３により、第１のコード内での第２のコードの配置位置について、ＱＲコードを第１のコードとして説明する。ここで、第１のコード内での第２のコードの配置位置とは、第１のコードがＱＲコードのように、暗色のセルと明色のセルの組み合わせによって情報が表現される場合に、第２のコードが定義されるセル（上述のように特定セルという）の位置をいう。ここで、ＱＲコードを第１のコードとすることは例示であり、第１のコードがＱＲコードに限定される訳ではない。
【００３２】
本実施の形態のＱＲコードでは、左上を原点にして水平右方向をｘ方向、垂直下方向をｙ方向とし、位置情報（ｘ，ｙ）は、自然数ｍ，ｎを用いて、ｘ＝０，１，２〜ｍ，ｙ＝０，１，２〜ｎのように、表現する。一方、ＱＲコードのデータ（第１のコード）は、右下からスタートしてデータが配置されていく。本実施の形態では、Ｘ方向のセル２つ分を基準として、右から左にデータが配置されていく。
【００３３】
図７は、データ及び誤り訂正符号配置領域の明色のセル（図で白いセル）のみに第２のコードを配置した例である。図７で、第２のコードが形成される明色のセルには、１から１７８の通し番号が付されている。この通し番号は、本実施形態での説明上、各セル内のドットの配置による第２のコードを識別するための符号であって、実際のセルに形成されるパターン（図形形状）ではない。
【００３４】
ただし、この通し番号は、第２のコードが付されるセルに付与されるユニークな識別情報ということができ、例えば、複合コードを生成する生成装置、あるいは、複合コードを読み取る読み取り装置における情報処理で使用される番号として理解できる。番号が付された各セルには、図３から図６で例示されるドットによる第２のコードが形成される。以下、セル内のドットによる第２のコードを表現する形状をドットパターンということにする。図７から図１３の各図で、各セルに付される番号は、セル内のドットパターンを識別する番号ということができる。
【００３５】
図７では、第１のコードの配置の順序と同様の順序で第２のコードを配置させたものである。すなわち、ＱＲコードのセルのうち、右下からスタートしてＸ方向のセル２つ分を横並びにして、最初に右側のセル、次に左側のセルの順で走査し、明色のセル内に暗色のドットによる第２のコードを設定する。第２のコードとしては、例えば、図３から図６のものが例示される。ただし、第２のコードが図３から図６のものに限定される訳ではない。
【００３６】
上述のように、図７の各セルに付された通し番号は、セル内のドットパターンの種類を特定するものではなく、ドットパターンが付されるセルを識別する情報と理解できる。図７の明色のセルのうち、第２のコードが付されるセルは、特定セルと呼ばれるものの一例と言える。また、図７の明色のセルに付与される識別情報は、特定セルインデックスと呼ぶことにする。特定セルインデックスは、上記の走査順で、各セルの座標値と一対一に対応づけられる識別情報である。特定セルインデックスにより順序付けされた数値データが定義された複数の特定セルから形成されるということができる。また、第２のコードの列は、特定セルインデックスにより相互に識別できる複数の特定セルにより形成されるということができる。
【００３７】
なお、複合コード生成時、複合コードの生成装置が、第１のコード、例えば、ＱＲコードのセル走査順と同一の走査順でセルを走査し、ドットパターンによる第２のコードが設定される場合には、複合コードの読み取り装置は、複合コードの生成装置と同一の順序で、セルを走査し、ドットパターンによる第２のコードから情報を復号すればよい。したがって、第１コード、例えば、ＱＲコードのセル走査順と同一の走査順で生成された複合コードは、生成装置から情報を得ることなく、読み取り装置単独で読み取り可能である。読み取り装置が、生成装置と同一の走査順で、特定セルインデックスと、座標とを対応付けすればよいからである。
【００３８】
一方、複合コード生成時、複合コードの生成装置が、第１のコード、例えば、ＱＲコードのセル走査順と異なる走査順でセルを走査し、ドットパターンによる第２のコードが設定される場合には、複合コードの読み取り装置が複合コードから情報を復号するためには、特定セルインデックスと座標値とを対応づける情報が必要となる。以下の実施形態では、特定セルインデックスと座標値とを対応づける情報なしに複合コードの読み取り装置が複合コードから情報を復号する処理例と、読み取り装置が特定セルインデックスと座標値とを対応づける情報を付与されて複合コードから情報を復号する処理例が例示される。
【００３９】
また、特定セルインデックスと座標値とを対応づける情報としては、特定セルインデックスと座標値とを直接対応づける場合と、すべてのセルの座標に基準となるインデックスを付与しておき、特定セルインデックスと基準となるインデックスを対応づけることで、特定セルインデックスと座標値とを間接的に対応づける場合が例示される。
【００４０】
複合コードの読み取りでは、第１のコードの読み取りと第２のコードの読み取りを並行して実行する方法と、第１のコードの読み取りと第２のコードの読み取りを分けて２段階で実行する方法がある。第１のコードの読み取りと第２のコードの読み取りを並行して実行する方法では、第１のコードを形成する１つのセルの明色と暗色の判定後で、次のセルの明色と暗色の判定を行う前に、明色と暗色の判定が終了したセルについて、第２のコードを形成するドットパターンの存否が判定される。そして、ドットパターンが存在するセルに対して、ドットパターンの数値への復号が実行される。そして、所定数のセルを組み合わせた数値の集合単位で数値が統合されて、第２のコードが復号される。
【００４１】
図８は、ファインダパターン周囲の白いセルにも第２のコードを配置した複合コードの配置例である。図８でも、図７と同様、セルの列（紙面に対して上下方向のセルの並び）が２列ずつ組となっている。そして、最初の２列は、下から上方向に走査したとき、左右のセルのうち、右側のセル優先で、明色のセルに通し番号が付されている。例えば、右端２列のうち、最下行では、左側に明色のセルがあるので、通し番号１が付される。また、下から２行目では、暗色のセルしかないので、通し番号が付されない。さらに、例えば、下から８行目では、左右両方のセルが明色であるので、右側のセル優先で通し番号６と７が付される。以下同様である。また、右から３列目と４列目については、上から下にセルが走査され、左右の２つのセルについては、やはり右側のセル優先で、明色のセルに通し番号が付される。
【００４２】
図９は、図１で説明したファインダパターン及びアライメントパターンを含むすべての白いセルに第２のコードを配置した場合である。したがって、図１で説明したファインダパターンの周囲の明色のセル、タイミングパターン内の明色のセル、およびフォーマット情報中の明色のセルも、図７、図８のデータが配置されるセルと同様に、第２のコードが配置される。
【００４３】
図１０は、第２のコードが明色のセルだけでなく、暗色のセルに配置する複合コードの例である。この場合も、データ及び誤り訂正符号領域のみでなく、ファインダパターン及びアライメントパターン以外のセルに第２のコードを配置してもよい。また、ファインダパターン及びアライメントパターンを含むすべてのセル（明色のセルと暗色のセル）に第２のコードを配置してもよい。ここで、暗色のセルに第２のコードを配置する場合には、ドットは明色となる。図１０では、図５に例示した構成と同様の構成で、特定セルインデックス２７の暗色のセルに明色のドットを配置した構成が例示されている。
【００４４】
図１１は、第２のコードを構成するセル毎のドットパターンを所定個数の複数セルだけ繰り返した複合コードの配置例である。図１１では、１から１６の番号でセルの通し番号である特定セルインデックスが繰り返し配置されている。図１１では、右下からスタートして、Ｘ方向のセル２つ分を基準として、右から左に１〜１６の特定セルインデックスに対応するドットパターンが配置されている。このように、所定数の第２のコード（ドットパターン）を繰り返し配置することで、読み取り装置は、第１のコード中の一部（例えば、ＱＲコードの所定数のセル）から、第２のコードを読み取ることが可能となる。図１１で例示されるように、所定個数の特セルインデックス（１から１６の番号）でひとまとめにされる第２のコードの部分をサブコードと呼ぶ。
【００４５】
図１１の複合コードの場合、セル内の第２のコードの種類を示す番号（例えば、１〜１６の番号）と、各セルの位置座標（または、各セルの通し番号）とを関連付けるテーブルが複合コードの生成装置側で生成され、読み取り装置に引き渡されるようにすればよい。ただし、第２のコードの配置規則を予め決めておくことで、読み取り装置側で、第２のコードが設定されたセルに生成装置と同一の規則で通し番号（特定セルインデックス）を生成するようにしてもよい。複合コードの読み取り装置は、上記規則にしたがって、各セル内の第２のコードから読み取った値を通し番号順に並べて数値を統合すればよい。
【００４６】
なお、図１１のように、所定数の通し番号（特定セルインデックス）が繰り返して各セルに設定される場合に、各セル内の第２のコード自体も、通し番号（特定セルインデックス）の繰り返しに整合していることが確認できるようにしてもよい。例えば、１〜１６の特定セルインデックスが付与されるＮ個（例えば１６個）のセルのうち、先頭のセルには、第２のコードの先頭を示すドットパターンを付与し、末尾のセルには、第２のコードの末尾を示すドットパターンを付与してもよい。
【００４７】
図１２は、第１のコードの一例であるＱＲコード内の全ての明色のセルに、所定個数の第２のコードを構成するドットパターンを繰り返し配置した複合コードの配置例である。すなわち、図１２は、図１１で例示した通し番号（特定セルインデックス）を付与する規則を採用しつつ、全ての明色のセルに第２のコードを配置している。したがって、図１２では、図９と同様、ＱＲコード内の全ての明色のセル、すなわち、ファインダパターン、アライメントパターン等の明色のセルに第２のコードを配置可能とされる。
【００４８】
この場合、ＱＲコードの読み取り処理と第２のコードの読み取り処理とを並行して実行させる必要はない。例えば、第１のコードの読み取りが完了後、第２のコードの読み取りを行ってもよい。そこで、複合コードの第２のコード生成時および読み取り時に、左上の原点からスタートして下方向にセルが走査され、走査中に検出された明色セルに１〜１６のインデックスが付与される。図１２の実施例では、セルの座標がＸ座標の最小値から最大値へ移動するとともに、Ｙ座標の最大値から最小値へ移動し、さらに最小値から最大値へ順に移動する処理が繰り返される。
【００４９】
さらに、図１２では、特定セルインデックスは、最小値（１）から最大値（１６）まで順に付与され、次に、最大値（１６）から最小値（１）まで付与されている。この場合、複合コードの生成装置は、この特定セルインデックスに対応するドットパターンを各セルに設定し、複合コードを生成する。一方、複合コードの読み取り装置は、生成装置と同一の手順で、特定セルを検索して、生成装置と同一の規則で特定セルインデックスを設定し、複合コード中のセルの順序を決定し、第２のコードを復号すればよい。
【００５０】
ただし、ＱＲコード内の全ての白いセルに配置する場合でも、図７から図１０で説明したのと同様に、生成装置は、第１のコードの配置順序（ＱＲコードの走査順）と一致させて第２のコードを配置（特定セルインデックスを設定）してもよい。そして、読み取り装置は、ＱＲコードの読み取り処理と第２のコードの読み取り処理とを並行して実行してもよい。
【００５１】
図１３は、ＱＲコードの周辺の余白にドットを配置した複合コードの例である。ＱＲコード内の全ての白いセルに加えて、さらに、クワイエットゾーン（ＱＲコードの周りにある空白の部分）に第２のコードを配置可能としてもよい。また、図１３の例では、生成装置および読み取り装置は、セルの移動に伴い、特定セルを検索し、第２のコードが設定された特定セルが見出されると、特定セルインデックスの最小値（１）から最大値（１６）の範囲で順に設定する。
【００５２】
＜セル内のドットパターンの配置＞
図１４から図２３により、第２のコードを形成するセル内のドットパターンの配置について説明する。図１４は、仮想点からの距離と方向で情報を定義するドットパターンの配置例である。仮想点からの距離と方向で情報を定義するドットパターンは、図６で例示されたドットパターンである。
【００５３】
第２のコードは、セル内に仮想点を設定し、仮想点からドットまでの距離ｄおよび仮想点からドットまでの直線の方向の少なくとも一方で情報を定義する。仮想点の位置は、セルの原点に対して設定される。セルの原点は、例えば、セルの左下点を例示できるが、セルの原点の定義に限定がある訳ではない。図１４では、距離ｄが固定値の場合が例示されている。ただし、距離ｄとして、複数の値をとることで、情報を定義してもよい。また、図１４では、ドットが仮想点の周り（距離ｄ）で、４５度単位に配置され、数値データ０００から１１１が定義されている。
【００５４】
なお、セルの方向は、第１のコードで基準となる形状部分、例えば、ＱＲコードのファイダパターン（図１参照）によって決定される。したがって、セル内のドットの仮想点に対して配置される方向は、ファインダパターンで決定される座標軸を基準に設定される。例えば、図１４の各セルで、仮想点から右方向の軸を方向の基準とすると、数値０００は、方向９０度に対応する。また、数値００１から数値１１１は、それぞれ数値０００の方向から（例えば、方向９０度から）時計回りに、４５度単位で回転移動した方向に対応する。
【００５５】
したがって、複合コードを生成する生成装置は、セル内に仮想点を設定し、数値データに対応する距離および方向で定まる位置にドットを形成し、印刷機による印刷、あるいは電子媒体・放送媒体・記憶媒体・通信媒体から画面への出力をすればよい。一方、複合コードを読み取る読み取り装置は、上記第１のコードで基準となる形状部分を基にセル内の仮想点と方向を設定し、仮想点からセル内で検出されたドットに至る距離と方向を認識し、ドットパターンから数値を復号すればよい。
【００５６】
図１５は、仮想点上にドットを配置するか、否かによって情報を定義する例である。仮想点上にドットを配置するか、否かによって情報を定義するドットパターンは、例えば、図３から図５で例示されたドットパターンである。
【００５７】
したがって、複合コードを生成する生成装置は、セル内に仮想点を設定し、数値データに対応する仮想点上にドットを形成し、あるいはドットのない画像を形成し、印刷機による印刷、あるいは電子媒体・放送媒体・記憶媒体・通信媒体から画面への出力をすればよい。一方、複合コードを読み取る読み取り装置は、上記第１のコードで基準となる形状部分を基にセル内の仮想点を設定し、それぞれの仮想点でのドットの有無を認識し、ドットパターンから数値を復号すればよい。さらに、記憶媒体上に複合コードを記憶し、それをプログラムが復号化してもよい。つまり、仮想空間上で複合コードを生成・復号化することができる。
【００５８】
図１６は、図４に例示した第２のコードでの仮想点の設定例である。図１６では、セルを３分割×３分割＝９分割した領域の中心に、仮想点（Ｘｉ，Ｙｊ）が設定される。すでに、図４で述べたように、明色のセルに暗色のドットを配置する場合には、９個の仮想点のうち、最大８個の仮想点にドットを配置することで、セル全体として、明色のセルとして判断され、かつ、仮想点に暗色のドットを配置することができる。
【００５９】
図１７は、図５に例示した第２のコードでの仮想点の設定例である。図１７では、図１６の３行３列の仮想点のうち、中央の列の２つの仮想点の行位置が、第１列の３つの仮想点と第３列の３つの仮想点の行位置の中間位置となるように配置される。
【００６０】
図１８は、仮想点位置の変形例である。仮想点位置は、図１６、図１７に限定されることなく、様々な仮想点を用いることができる。例えば、仮想点位置は、セル内に１個でもよいし、２以上であってもよい。例えば、仮想点位置は、セルの中心およびセルの中心からセルの四隅に向かう対角線上の位置に設けてもよい。また、仮想点をセル内に２個設ける場合には、仮想点は、セルの中心から１本の対角線上で、対角となる２つの隅に近い位置に設けてもよい。さらに、仮想点をセル内に３個設ける場合には、仮想点の１つは、対向するセルの２辺のうち、一方の辺の中点からセルの中心を結ぶ線上の当該一方の辺に近い位置に設け、残りの２つの仮想点は、当該一方の辺に対向する辺の両端に近い位置（対向する辺と対向する辺に直交する辺がなす２つの隅）に設けてもよい。
【００６１】
図１９は、ドットパターンによる情報を設定しないことを明示するセル内のドットパターンの例である。例えば、セル内に複数の仮想点を設けた場合、セル中心の仮想点にドットを配置した場合には、情報が未定義であることを意味するようにしてもよい。
【００６２】
図２０は、線分の先端が仮想点に位置する線分による第２のコードの例である。すなわち、図１４のように仮想点の周りにドットを配置し、距離と方向で情報を定義する代りに、図２０のように、仮想点の周りに線分を配置し、線分の長さと方向で情報を定義してもよい。線分がマークの一例である。また、図２０の線分のパターンは、マーク同士が接触する配置が除外されているパターンの一例と言える。また、図２０の線分のパターンでは、マークが、特定セルとその特定セルに隣接するセルとの境界に接触する配置が除外されていると言える。また、図２０では、線分の方向および長さの少なくともいずれかによって数値データの一部を定義することができる。
【００６３】
図２１は、線分の中心が仮想点に位置付けられる線分による第２のコードの例である。また、図２１でも、線分の方向および長さの少なくともいずれかによって数値データの一部を定義することができる。さらに、図２２では、線分の長さが複数段階に変更されており、線分の長さが情報を定義する１つの要素となっている。なお、第２のコードとして線分を配置する場合に、仮想点の位置は、線分の中心に限定される訳ではない。例えば、図２３は、線分の中心ではなく、線分を所定の比率で内分する位置（例えば、線分の端から１／３の位置）が仮想点に位置付けられる線分による第２のコードの例である。したがって、図２２、あるいは図２３でも、線分の方向および長さの少なくともいずれかによって数値データの一部を定義することができる。また、図２０から図２３では、線分中のいずれかの位置を仮想点上に配置することによって数値データの一部が定義されると言える。
【００６４】
以上のように、図１４から図２３では、特定セルにおける座標情報を有する位置に１以上の仮想点を任意に設定していると言える。また、図１４から図２３では、仮想点を基にしてマークを配置して数値データが定義されると言える。なお、上記図１４から図２３では、明色の領域と暗色の領域によってマークを定義したが、例えば、Ｒ（赤）、Ｇ（緑）、Ｂ（青）のいずれか２つによって、マークを定義してもよい。したがって、図１４から図２３では、マークの形状、色、仮想点を基にしたマークの配置方法および配置の有無の少なくともいずれか１つにより、数値データの一部が定義される複合コードの一例ということができる。また、図１４から図２３では、第２のコードは、ドットまたは線分で定義された。しかし、マークの形状は、任意の多角形、または略円形であってもよい。
【００６５】
＜ＱＲコードに実際にドットを配置した例＞
図２４は、第１のコードの例としてのＱＲコードのセル内にドットパターンを配置した複合コードの構成例（１）を示す図である。構成例（１）では、第２のコードの例として、仮想点からの距離と方向で情報を定義するドットパターンが例示される。仮想点からの距離と方向で情報を定義するドットパターンは、図１４で説明した通りである。図２４では、ＱＲコードの部分にハッチングパターンで塗りつぶされた暗色の領域と、ハッチングパターンの無い明色の領域が形成されている。また、明色の領域内の概ね中心付近に、プラス（“＋”）のマークで、仮想点が例示されている。なお、プラス（“＋”）等のマークは、仮想点の位置を図面上に例示するために記載されており、実際の複合コードには、プラス（“＋”）等のマークは描画されない。また、仮想点の回りに、概ね４５度単位で、ドットが各明色の領域に１つずつ例示されている。
【００６６】
図２５は、第１のコードの例としてのＱＲコードのセル内にドットパターンを配置した複合コードの構成例（２）を示す図である。構成例（２）では、第２のコードの例として、明色の領域内に仮想点が複数設けられ、仮想点上にあるか否かによって情報を定義する。図２５では、１つの明色の領域に仮想点が４点設けられているが、本実施形態で、仮想点が４点に限定される訳ではない。
【００６７】
図２６は、第１のコードの例としてのＱＲコードのセル内にドットパターンを配置した複合コードの構成例（３）を示す図である。構成例（３）では、第２のコードの例として、明色の領域内に仮想点が複数設けられ、仮想点上にあるか否かによって情報を定義する。図２５では、各明色の領域にドットが１個配置されているが、図２６では、１つの明色の領域にドットが０点から３点設けられている。
【００６８】
図２７は、第１のコードの例としてのＱＲコードのセル内にドットパターンを配置した複合コードの構成例（４）を示す図である。構成例（４）では、第２のコードの例として、ドットパターンが定義される特定セルによって仮想点の数やドットの配置方法が異なる。すなわち、特定セルの位置に応じて、仮想点の数、仮想点の配置位置、仮想点に対するドットの配置の仕方を異なるものとしてもよい。仮想点に対するドットの配置の仕方には、例えば、図２４のように、仮想点からの距離と方向で情報を定義するドットパターンの配置と、図２５、図２６のように、仮想点上にあるか否かによって情報を定義するドットパターンの配置が例示される。また、１つの明色の領域内のドットの数は、１個でも、複数でもよい。
【００６９】
いずれにしても、複合コードを生成する生成装置と、複合コードから情報を取得する読み取り装置の間で、セル位置別に、第２のコードの定義の仕方を共通にしておけばよい。また、例えば、図１に例示したフォーマット情報中に、第２のコードの定義の仕方を特定するための情報を組み込んでおけばよい。
【００７０】
図２８は、第２のコードの例としてのＱＲコードのセル内にドットパターンを配置した複合コードの構成例（５）を示す図である。構成例（５）では、第２のコードの例として、暗色の領域に明色のドットを配置することによって情報を定義する。図２８では、図２６で例示される、明色の領域に暗色のドットを配置したドットパターンに対して、明色と暗色を入れ替えたドットパターンが例示されている。
【００７１】
図２９は、第２のコードの例としてのＱＲコードのセル内にドットパターンを配置した複合コードの構成例（６）を示す図である。構成例（６）では、第２のコードの例として、明色の領域に線分を配置することで情報を定義する。構成例（６）では、図２０と同様、線分の先端が仮想点に位置付けられて線分が配置される。
【００７２】
図３０は、第２のコードの例としてのＱＲコードのセル内に線分のパターンを配置した複合コードの構成例（７）を示す図である。構成例（７）では、第２のコードが配置される特定セルによって異なる配置の仕方で線分が配置される。例えば、線分の先端が仮想点となる線分、線分の中心が仮想点となる線分、線分の長さが複数段階に変更され、線分の長さが情報を定義する１つの要素となるもの、線分を所定の比率で内分する位置が仮想点となる線分等を採用することができる。
【００７３】
図３１は、第２のコードの例としてのＱＲコードのセル内に線分のパターンを配置した複合コードの構成例（８）を示す図である。構成例（８）では、第２のコードが配置される特定セルごとに、第２のコードの例として、線分のパターンとドットパターンのいずれかが選択され、配置される。また、線分のパターンの配置の仕方、ドットパターンの配置の仕方が、特定セルごとに規定されている。このような第２のコードの配置の仕方は、複合コードを生成する生成装置と、複合コードを読み取る読み取り装置間で、共通にしておけばよい。
【００７４】
さらに、図２４から図３１では、図示が省略されているが、明色の領域に定義する第２のコード（図２４等）と、暗色の領域に定義する第２のコード（図２８）とを組み合わせて複合コードを形成するようにしてもよい。
【００７５】
＜システム構成＞
図３２は、複合コードによるサービスを提供する情報システムの構成を例示する図である。この情報システムは、管理サーバＭＳ１と、コンテンツサーバＣＳ１、ＣＳ２と、ユーザ装置ＵＤ１とがネットワークＮ１により接続される。また、この情報システムは、ネットワークＮ１には接続されないユーザ装置ＵＤ２を有するようにしてもよい。
【００７６】
管理サーバＭＳ１は、複合コード生成手段ＣＧＭと複合コード解析手段ＣＡＭを有する。複合コード生成手段ＣＧＭは、入力されたデジタルデータを複合コードに変換する。管理サーバＭＳ１は、例えば、ネットワークＮ１を通じてコンテンツサーバＣＳ１からデジタルデータを引き渡され、複合コード生成手段ＣＧＭにより、複合コードの画像データを生成し、コンテンツサーバＣＳ１に返す。
【００７７】
複合コード解析手段ＣＡＭは、入力された複合コードを解析し、元のデジタルデータに変換する。管理サーバＭＳ１は、例えば、ネットワークＮ１を通じてユーザ装置ＵＤ１から複合コードの画像を引き渡され、複合コード解析手段ＣＡＭにより、元のデジタルデータを生成し、ユーザ装置ＵＤ１に返す。
【００７８】
コンテンツサーバＣＳ１は通信手段ＣＭＳ１と複合コード出力手段ＣＯＵＴ１を有する。コンテンツサーバＣＳ１は様々なコンテンツ、あるいは、サービスをユーザ装置ＵＤ１、ＵＤ２等に提供する。コンテンツサーバＣＳ１が提供するコンテンツは、例えば、放送媒体、通信媒体である、放送システムあるいは電子情報通信システムを通じてユーザ装置に提供される。コンテンツとしては、画像（静止画あるいは動画）を含むものを例示できる。放送媒体とは、例えば、テレビジョン放送等をいい、電磁波等でコンテンツを配信する媒体である。また、通信媒体とは、例えば、インターネット等をいい、有線あるいは無線のネットワークでコンテンツを配信する媒体である。
【００７９】
コンテンツサーバＣＳ１は、ＣＤ、ＤＶＤ、ブルーレイディスク、ＵＳＢメモリ等の記録媒体を介してコンテンツをユーザ装置ＵＤ１、ＵＤ２等に提供することもできる。さらに、コンテンツサーバＣＳ１は、印刷媒体を介して、コンテンツをユーザ装置ＵＤ１、ＵＤ２等に提供することもできる。印刷媒体としては、例えば、紙、物体の表面等のインクにより画像を形成可能なものが例示される。
【００８０】
コンテンツサーバＣＳ１は、提供するコンテンツに関連するデジタルデータを管理サーバＭＳ１にネットワークＮ１を通じて転送し、複合コードに変換させる。そして、コンテンツサーバＣＳ１は、管理サーバＭＳ１で変換された複合データを、ネットワークＮ１を通じて取得し、コンテンツとともに、ユーザ装置ＵＤ１、ＵＤ２等に提供する。コンテンツに関連するデジタルデータとは、提供されるコンテンツに関連する種々の文字情報、提供されるコンテンツに関連するＵＲＬ、提供されるコンテンツに関連する識別情報、あるいはアクセスのための認証情報などである。
【００８１】
コンテンツサーバＣＳ２は、通信手段ＣＭＳ２および複合コード出力手段ＣＯＵＴ２に加えて、複合コード生成手段ＣＧ２を有する。したがって、コンテンツサーバＣＳ２は、提供するコンテンツに関連するデジタルデータを複合コード生成手段ＣＧ２により、複合コードに変換することができる。したがって、コンテンツサーバＣＳ２は、デジタルデータを管理サーバＭＳ１に転送し、複合コードに変換させる必要はない。なお、通信手段ＣＭＳ２および複合コード出力手段ＣＯＵＴ２の機能は、上述したコンテンツサーバＣＳ１の通信手段ＣＭＳ１および複合コード出力手段ＣＯＵＴ１と同様である。なお、コンテンツサーバＣＳ１、ＣＳ２としては、例えば、放送局の放送装置と連携する情報処理装置、インターネット上でコンテンツを提供するサーバ、印刷会社その他において印刷装置、プリンタと連携するサーバ、印刷装置に内蔵されたコンピュータ等を例示できる。
【００８２】
ユーザ装置ＵＤ１は、通信手段ＣＭＵ１と、画像入力手段ＩＩＮ１とを有する。画像入力手段ＩＩＮ１は、放送媒体であるテレビジョン画面、通信媒体であるウェブコンテンツ上のグラフィックスオブジェクトを含む画面、記録媒体から出力されるグラフィックスオブジェクトを含む画面、あるいは印刷媒体に形成された印刷物から画像を入力する画像入力手段を有する。画像入力手段は、例えば、Ｃｈａｒｇｅ  Ｃｏｕｐｌｅｄ  Ｄｅｖｉｃｅｓ（電荷結合素子、ＣＣＤ）、あるいはｍｅｔａｌ−ｏｘｉｄｅ−ｓｅｍｉｃｏｎｄｕｃｔｏｒ（ＭＯＳ）イメージセンサ、Ｃｏｍｐｌｅｍｅｎｔａｒｙ  ｍｅｔａｌ−ｏｘｉｄｅ−ｓｅｍｉｃｏｎｄｕｃｔｏｒ（ＣＭＯＳ）イメージセンサ等の撮像デバイスを有するスキャナあるいはカメラ等である。
【００８３】
ユーザ装置ＵＤ１は、入力された画像そのもの、あるいは入力された画像中の複合コード部分を管理サーバＭＳ１にネットワークＮ１を通じて転送し、複合コードでコード化されたデジタルデータを復元させる。そして、ユーザ装置ＵＤ１は、得られたデジタルデータとコンテンツサーバＣＳ１、ＣＳ２等から提供されるコンテンツとを基に、デジタルデータに対応する処理を実行する。デジタルデータに対応する処理とは、例えば、デジタルデータに基づく、当該コンテンツの妥当性判定、当該コンテンツへのアクセスの可否判定、当該コンテンツのユーザへの提供方法の変形、当該コンテンツに関連する他のコンテンツの提供等である。
【００８４】
ユーザ装置ＵＤ２は、画像入力手段ＩＩＮ２に加えて、複合コード解析手段ＣＡ２を有する。ユーザ装置ＵＤ２は、複合コード解析手段ＣＡ２を用いて、入力された画像から複合コードでコード化されたデジタルデータを復元する。したがって、ユーザ装置ＵＤ２は、入力された画像および入力された画像中の複合コード部分を管理サーバＭＳ１に転送し、デジタルデータを復元させる必要はない。そして、ユーザ装置ＵＤ２は、得られたデジタルデータとコンテンツサーバＣＳ１、ＣＳ２等から提供されるコンテンツとを基に、デジタルデータに対応する処理を実行する。なお、ユーザ装置ＵＤ１、ＵＤ２としては、パーソナルコンピュータ、タブレット端末、スマートフォン等を例示できる。
【００８５】
図３３は、情報処理装置１０のハードウェア構成を例示する図である。情報処理装置１０は、本実施形態の管理サーバＭＳ１、コンテンツサーバＣＳ１、ＣＳ２、ユーザ装置ＵＤ１、ＵＤ２に適用可能である。情報処理装置１０は、ＣＰＵ１１と、主記憶装置１２と、外部機器を有し、プログラムにより情報処理を実行する。ＣＰＵ１１はプロセッサともいう。外部機器としては、外部記憶装置１３、表示装置１４、操作部１５、通信インターフェース１６、画像入力インターフェース１７、画像出力インターフェース１８を例示できる。
【００８６】
ＣＰＵ１１は、主記憶装置１２に実行可能に展開されたコンピュータプログラムを実行し、情報処理装置１０の機能を提供する。主記憶装置１２は、ＣＰＵ１１が実行するコンピュータプログラム、ＣＰＵ１１が処理するデータ等を記憶する。主記憶装置１２は、Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ（ＤＲＡＭ）、Ｓｔａｔｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ（ＳＲＡＭ）、Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ（ＲＯＭ）等である。さらに、外部記憶装置１３は、例えば、主記憶装置１２を補助する記憶領域として使用され、ＣＰＵ１１が実行するコンピュータプログラム、ＣＰＵ１１が処理するデータ等を記憶する。外部記憶装置１３は、ハードディスクドライブ、Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｉｓｋ（ＳＳＤ）等である。さらに、情報処理装置１０には、着脱可能記憶媒体の駆動装置を設けてもよい。着脱可能記憶媒体は、例えば、ブルーレイディスク、Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ（ＤＶＤ）、Ｃｏｍｐａｃｔ  Ｄｉｓｃ（ＣＤ）、フラッシュメモリカード等である。
【００８７】
表示装置１４は、例えば、液晶ディスプレイ、エレクトロルミネッセンスパネル等である。操作部１５は、例えば、キーボード、ポインティングデバイス等である。本実施形態では、ポインティングデバイスとしてマウスが例示される。通信インターフェース１６は、ネットワークＮ１上の他の装置とデータを授受する。例えば、ＣＰＵ１１は、通信インターフェース１６を通じて、ネットワークＮ１上の他の装置と通信する。また、通信インターフェース１６は、放送装置に接続されてもよい。放送装置は、例えば、デジタルデータをベースバンド信号から、高周波信号に変換し、高周波アンプおよびアンテナを介して、変換された高周波を放送波として送信する。
【００８８】
画像入力インターフェース１７には、カメラ、スキャナ等が接続され、各種媒体から画像データを取得する。各種媒体としては、テレビ受像器の画面、コンピュータのディスプレイ、書籍等の印刷物、物体表面に形成された視認可能な絵柄等を例示できる。
【００８９】
画像出力インターフェース１８には、印刷装置、プリンタ等が接続され、印刷媒体に画像データを出力する。なお、図３３では省略されているが、情報処理装置１０は、画像入力インターフェース１７を介して接続されるカメラ、スキャナ等を有してもよい。また、情報処理装置１０は、画像出力インターフェース１８を介して接続される印刷装置、プリンタ等を有してもよい。
【００９０】
さらに、情報処理装置１０が管理サーバＭＳ１に適用される場合には、画像入力インターフェース１７および画像出力インターフェース１８はなくてもよい。また、情報処理装置１０がコンテンツサーバＣＳ１、ＣＳ２に適用される場合には、画像入力インターフェース１７はなくてもよい。さらに、情報処理装置１０がユーザ装置に適用される場合には、画像出力インターフェース１８はなくてもよい。
【００９１】
＜処理フロー＞
図３４から図３６により、本情報システムにおける処理フローを説明する。以下、コンテンツサーバＣＳ１およびＣＳ２を総称して、単にコンテンツサーバＣＳと呼ぶことにする。すなわち、以下の処理は、コンテンツサーバＣＳ１およびＣＳ２のいずれが実行してもよい。また、ユーザ装置ＵＤ１およびＵＤ２を総称して、単にユーザ装置ＵＤと呼ぶことにする。すなわち、以下の処理は、ユーザ装置ＵＤ１およびＵＤ２のいずれが実行してもよい。
【００９２】
図３４は、コンテンツサーバＣＳによる複合コード生成処理Ａを例示するフローチャートである。複合コード生成処理Ａとするのは、図３８の複合コード生成処理Ｂと区別するためである。図３４、図３８の処理により、コンテンツサーバＣＳは、複合コード生成装置として処理を実行すると言える。図３４の処理では、コンテンツサーバＣＳは、第１のコードの形状情報を生成する（Ｓ１１）。例えば、第１のコードがＱＲコードである場合には、コンテンツサーバＣＳは、ＱＲコードにおける明色のセルと暗色のセルの配置を決定する。
【００９３】
次に、コンテンツサーバＣＳは、第２のコードに変換するデジタルデータを入力する（Ｓ１２）。デジタルデータは、例えば、コンテンツサーバＣＳが提供するコンテンツに関連する情報である。デジタルデータは、例えば、コンテンツサーバＣＳが提供するコンテンツに関連付けられた記憶装置から入力される。
【００９４】
次に、コンテンツサーバＣＳは、デジタルデータを２値符号化する（Ｓ１３）。すなわち、コンテンツサーバＣＳは、デジタルデータを２進数の１次元ビット列に変換する。そして、コンテンツサーバＣＳは、２値符号化されたデータを第１のコードのセル毎のデータに分割する（Ｓ１４）。すなわち、コンテンツサーバＣＳは、各セル内のドットパターンで表現可能な最大ビット数で、２値符号化されたデータを区切る。そして、コンテンツサーバＣＳは、区切られたデータを所定の規則にしたがって、第２のコードを配置可能なセルに割り当てる。
【００９５】
第２のコードを配置可能なセルとは、例えば、第１のコードが明色のセルと暗色のセルの組み合わせによって定義され、暗色のドットによって第２のコードを定義する場合には、明色のセルである。また、第２のコードを配置可能なセルとは、例えば、第１のコードが明色のセルと暗色のセルの組み合わせによって定義され、明色のドットによって第２のコードを定義する場合には、暗色のセルである。コンテンツサーバＣＳは、例えば、図７、図８から図１３等の所定の規則にしたがって、第２のコードを割り当てるセルと、割り当てる順序を決定する。なお、すでに図１１に例示したように、コンテンツサーバＣＳは、第２のコードを形成する前記複数の特定セルを複数回繰り返して形成し、セルを割り当ててもよい。
【００９６】
そして、コンテンツサーバＣＳは、第２のコードの形状情報を生成する（Ｓ１５）。すなわち、コンテンツサーバＣＳは、Ｓ１４の処理で、セルごとに区切られた２値符号化データをセル内の仮想点を基準に符号化される画像データに変換する。セル内の仮想点を基準に符号化される画像データは、例えば、図３から図６に例示したものである。そして、コンテンツサーバＣＳは、画像データを出力する（Ｓ１６）。出力先は、例えば、プリンタ等による印刷媒体、ネットワークＮ１を介した電子情報配信によるユーザ装置ＵＤの表示装置への出力、放送媒体を通じた配信等である。Ｓ１１の処理およびＳ１６の処理を実行するコンテンツサーバＣＳは、第１のコードを生成する第１の生成手段の一例を有するということができる。また、Ｓ１２からＳ１６の処理を実行するコンテンツサーバＣＳは、第２の生成手段の一例を有するということができる。したがって、コンテンツサーバＣＳは、第２の生成手段として、マークが特定セル内に複数個配置される場合には、マーク同士が接触する配置を除外すると言える。また、コンテンツサーバＣＳは、第２の生成手段として、特定セルとその特定セルに隣接するセルとの境界に接触する配置を除外すると言える。
【００９７】
なお、コンテンツサーバＣＳがコンテンツサーバＣＳ１である場合には、デジタルデータが管理サーバＭＳ１に転送され、Ｓ１３からＳ１５の処理は、管理サーバＭＳ１によって実行される。コンテンツサーバＣＳ１は、管理サーバＭＳ１で生成された画像データをプリンタ、ネットワーク上のユーザ装置ＵＤ、あるいは放送媒体等に出力すればよい。
【００９８】
図３５は、ユーザ装置ＵＤによる複合コード読取処理Ａを例示するフローチャートである。複合コード読取処理Ａとするのは、図３９の複合コード読取処理Ｂと区別するためである。図３５、図３９の処理により、ユーザ装置は、複合コード読み取り装置として処理を実行すると言える。図３５の処理では、ユーザ装置ＵＤは、画像入力インターフェース１７を介して、スキャナあるいはカメラ等から入力される複合コードの画像を入力し、フォーマット、および第１のコードのセルの配置を認識する（Ｓ２０）。例えば、ユーザ装置ＵＤは、ファインダパターンにより、ＱＲコードの向きを認識し、アライメントパターンにより画像の歪みを補正する。また、ユーザ装置ＵＤは、タイミングパターンにより、セルの配置間隔を認識し、ＱＲコードのデータおよび誤り訂正符号の配置位置を特定する。ユーザ装置ＵＤは、以降、セル毎に、第１のコードの配置順で複合コードを処理する。例えば、ユーザ装置ＵＤは、ＱＲコードの右下隅のセルから上の方向に、右端２列のセルを順次処理し、２列分の処理が完了すると、３列目および４列目のセルについて、上から下に向かって順次処理する。以下、同様に２列ずつデータセルと誤り訂正符号のセルを処理する。以下、セルごとの処理を説明する。
【００９９】
すなわち、ユーザ装置ＵＤは、次のセルの画像を取得し、第１のコードを解析し、明暗を判定する（Ｓ２１）。次に、ユーザ装置ＵＤは、処理中のセル内に第２のコードが定義されているか否かを判定する（Ｓ２２）。例えば、ユーザ装置ＵＤは、Ｓ２０で取得したフォーマットの情報から、仮想点の配置の仕方、および、仮想点に対するドットの配置の仕方を認識し、該当位置にドットが少なくとも１つあるか否かを判定する。そして、セル内に第２のコードが定義されている場合には、セル内の第２のコードを解析する（Ｓ２３）。なお、第２のコードは、明色のセルに定義されたものでもよい。また、第２のコードは、図１０のように暗色のセルに定義されたものでもよい。
【０１００】
そして、ユーザ装置ＵＤは、次のセルが未処理で残っているか否かを判定する（Ｓ２４）。次のセルが未処理の場合、ユーザ装置ＵＤは、処理をＳ２１に戻す。一方、すべてのセルの処理が完了し、次のセルがない場合、ユーザ装置ＵＤは、第１のコードの明暗判定で得られたビット列から、第１のコードをキャラクタごとに統合した情報を生成する（Ｓ２５）。例えば、ユーザ装置ＵＤは、明暗判定から得られたビット列をキャラクタに分離し、デジタルデータを生成する（Ｓ２５）。Ｓ２０、Ｓ２１およびＳ２５の処理を実行するユーザ装置ＵＤは、第１のコードから数値データを取得する第１の取得手段を有するといえる。
【０１０１】
さらに、ユーザ装置ＵＤは、第２のコードから得られたビット列を基に、デジタルデータを復元する（Ｓ２６）。例えば、第２のコードが、図１１のように、所定個数（例えば、１６個）のセルの組み合わせで構成される場合、第１のセルから所定個数分のセルまでのドットパターンによるビット列を統合して、デジタルデータを復元する。Ｓ２３の処理およびＳ２６の処理を実行するユーザ装置ＵＤは、第２のコードから数値データを取得する第２の取得手段を有するといえる。このとき、ユーザ装置ＵＤは、Ｓ１４において、コンテンツサーバＣＳが区切られたデータを、第２のコードを配置可能なセルに割り当てた規則と同一の規則にしたがって、第２のコードの組み合わせ順序を決定する。したがって、Ｓ２６の処理を実行するユーザ装置ＵＤは、特定セルを順序づける特定セルインデックスを生成する手段の一例を有すると言える。したがって、ユーザ装置ＵＤは、例えば、図１１に例示したように、第２のコードを形成する複数の特定セルが複数回繰り返して順序付けて、特定セルインデックスを形成してもよい。
【０１０２】
そして、ユーザ装置ＵＤは、第１のコードおよび第２のコードから復元されたデジタルデータに対応する情報処理を実行する（Ｓ２７）。例えば、ユーザ装置ＵＤは、復元されたデジタルデータにしたがって、コンテンツを表示し、再生し、出力し、加工し、または、コンテンツに関連するデータを追加する等の処理を実行する。ただし、本実施形態において、Ｓ２７の処理で実行される情報処理に限定がある訳ではない。なお、ユーザ装置ＵＤがユーザ装置ＵＤ１である場合には、複合コードはユーザ装置ＵＤ１から管理サーバＭＳ１に転送され、Ｓ２０からＳ２６の処理は、管理サーバＭＳ１によって実行される。ユーザ装置ＵＤ１は管理サーバＭＳ１での結果を取得し、Ｓ２７の処理を実行すればよい。
【０１０３】
図３６は、セル内の第２のコードの解析処理（図３５のＳ２３）の詳細を例示するフローチャートである。以下の処理は、ユーザ装置ＵＤで実行されるものと説明する。しかし、上述のように、ユーザ装置ＵＤがユーザ装置ＵＤ１である場合には、以下の処理は、管理サーバＭＳ１で実行される。この処理では、ユーザ装置ＵＤは、セル原点に対する仮想点を特定する（Ｓ２３０）。なお、Ｓ２３０の処理は繰り返し実行されるため、図３６では、「次の仮想点」と記載されている。
【０１０４】
そして、ユーザ装置ＵＤは、仮想点に対する次のドット位置を推定する（Ｓ２３１）。例えば、図６に例示したように、ドット位置が仮想点からの距離と方向を変えて配置されている場合には、各配置位置が順次推定される。一方、図３から図５のように、ドットが仮想点上に置かれる場合には、仮想点がそのまま推定された位置となる。
【０１０５】
そして、ユーザ装置ＵＤは、ドット位置の画素を所定画素数分走査し、画素値の比率ＶＰｎ／ＶＰ０を算出する（Ｓ２３２）。そして、比率ＶＰｎ／ＶＰ０が基準値以下か否かを判定する（Ｓ２３３）。ここで、画素とは、スキャンあるいはカメラで取得された画像が画像メモリに保存されたときの画像メモリの配列要素をいう。ここで、ＶＰ０は、ドット中心として推定される位置の画素値である。ＶＰｎは、ドット中心からｎ画素離れた位置の画素値である。ＶＰｎ／ＶＰ０が基準値以下の場合、ドット中心として推定される位置の画素値に対して、ドット中心からｎ画素離れた位置の画素値の比率が十分に小さいことになる。そこで、ユーザ装置ＵＤは、比率ＶＰｎ／ＶＰ０が基準値以下の場合、ドットの存在を推定する基準値を充足すると判断する。
【０１０６】
そして、ユーザ装置ＵＤは、比率がドットの存在を推定する基準値を充足する場合、ドット有りを記録する（Ｓ２３４）。一方、比率がドットの存在を推定する基準値を充足しない場合、つまり、比率ＶＰｎ／ＶＰ０が基準値以下とならない場合、ユーザ装置ＵＤは、ドットなしを記録する（Ｓ２３５）。
【０１０７】
次に、ユーザ装置ＵＤは、仮想点に対するすべてのドット位置の処理を終了したか否かを判定する（Ｓ２３６）。仮想点に対するすべてのドット位置の処理を終了していない場合、ユーザ装置ＵＤは、処理をＳ２３０に戻し、同一仮想点に対する次のドット位置を推定する。なお、仮想点上にドットが配置される場合には、Ｓ２３６の判定は不要である。
【０１０８】
一方、仮想点に対するすべてのドット位置の処理を終了した場合、ユーザ装置ＵＤは、全仮想点の処理を終了したか否かを判定する（Ｓ２３７）。そして、全仮想点の処理を終了していない場合、ユーザ装置ＵＤは、処理をＳ２３０に戻し、次の仮想点の処理を実行する。
【０１０９】
また、全仮想点の処理を終了した場合、ユーザ装置ＵＤは、ドット位置に対応するセル内のドットパターンの数値を確定する（Ｓ２３８）。すなわち、ユーザ装置ＵＤは、ドットの配置から復元する数値を決定する。そして、ユーザ装置ＵＤは、セル内のドットパターンの数値とセルの識別情報を保存する（Ｓ２３８）。セルの識別情報は、セルに付せられた通し番号でもよい。また、セルの識別情報は、例えば、ＱＲコードにおけるセルの配置座標でもよい。セルの識別情報は、図１１の例では、繰り返し設定される１から所定数（例えば１６）までの特定セルインデックスでもよい。また、ユーザ装置ＵＤは、セル内のドットパターンの数値とセルの識別情報と特定セルインデックスを組み合わせて保存してもよい。
【０１１０】
＜実施形態１の効果＞
以上述べたように、本実施形態の情報システムでは、ＱＲコードで例示される第１のコードのセル内に、ドットパターンによる第２のコードを定義した複合コードが採用される。例えば、コンテンツサーバＣＳが複合コードを生成し、放送媒体、通信媒体、記憶媒体、印刷媒体等の様々な媒体に複合コードを付与し、配布する。
【０１１１】
本複合コードは、明色のセル内では、暗色のドットが使用される。このような構成では、セル内でドットとドットが明色の領域で分離される。また、セル内のドットが隣接するセルと明色の領域で分離される。したがって、読み取り装置であるユーザ装置ＵＤは、明瞭に第２のコードを認識できる。その結果、第１のコードによる情報量を増加させ、かつ、安定して復号することが可能となる。例えば、第２のコードが図５の形式の場合、１つのセルにおいて、２５６通り、８ビットの情報を定義できる。
【０１１２】
また、上記実施形態では、ユーザ装置ＵＤ２の複合コード解析手段ＣＡ２あるいは、管理サーバＭＳ１の複合コード解析手段ＣＡＭは、画像入力手段ＩＩＮ１、ＩＩＮ２から取得した画像中のドットの存在が推定される位置（例えば、ドット中心と推定される位置）の画素値ＶＰ０と、ドット中心と推定される位置から所定画素数（ｎ画素）離れた位置の画素値ＶＰｎとの比率が所定の条件を充足するか否かにしたがって、ドットの存在の有無を判定した。このような画素値の比を用いることで、明色の領域と暗色の領域との境界を精度よく判定できる。上記比率による判定では、例えば、第１のコードの一例として、ＱＲコードの明色と暗色との判定において、全画素の７５％以上が暗色画素のセルを暗色のセルとし、全画素の２５％以下が暗色画素のセルを明色のセルをと判定する場合と整合する判定を行うことができる。さらに、仮に、ドットの有無を判定すべき領域に、照明のむら、影の影響、あるいは汚れ等が存在する場合でも、画素値の比率を計算することで、ドット中心と推定される位置の画素とドット中心と推定される位置から所定画素数（ｎ画素）離れた位置の画素とにバックグランドの変動が生じても、明色の領域と暗色の領域との境界を精度よく判定できる。
【０１１３】
また、上記実施形態では、ユーザ装置ＵＤ２の複合コード解析手段ＣＡ２および管理サーバＭＳ１の複合コード解析手段ＣＡＭの少なくとも一方により、複合コードを解析し、第２のコードから数値を復元できる。したがって、ユーザ装置ＵＤ１のように、解析手段ＣＡ２を設けなくても、画像入力手段ＩＩＮ１と通信手段ＣＭＵ１を有するユーザ装置ＵＤ１は、管理サーバＭＳ１との通信により簡易、軽負荷で、複合コードによるサービスをユーザに提供できる。
【０１１４】
［実施形態２］
上記実施形態１では、第２のコードの読み取り順は、第１のコードのセルの読み取り順とした。ただし、第２のコードが設定されたセルの読み取り順を第１のコードのセルの読み取り順を異なるものとしてもよい。例えば、図３２の情報システムにおいて、複合コードを生成する複合コード生成手段ＣＧＭ、ＣＧ２が２値符号化されたビット列をセル毎のデータに分割する処理（図３４のＳ１４）において、第２のコードが設定されたセルの読み取り順を第１のコードとは異なる順とするとともに、その読み取る順を保存するようにしてもよい。例えば、読み取り順は、セルの読み取り順の番号ＳＥＱ（ｋ）とセルの中心座標（Ｘｉ，Ｙｊ）とを対応づけて管理できる。複合コードを生成する管理サーバＭＳ１の複合コード生成手段ＣＧＭ、あるいはコンテンツサーバＣＳ２の複合コード生成手段ＣＧ２は、第２のコードが設定されたセルの読み取り順の番号ＳＥＱ（ｋ）とセルの中心座標（Ｘｉ，Ｙｊ）とを対応づけて保存し、複合コードを読み取るユーザ装置ＵＤ１、ＵＤ２に引き渡せばよい。
【０１１５】
また、例えば、すべてのセルに基準となる通し番号ＩＤ（ｎ）を所定の基準で付与し、すべてのセルについて付与される識別情報である通し番号ＩＤ（ｎ）と、第２のコードが設定されたセルの読み取り順の番号ＳＥＱ（ｋ）との関係として管理できる。複合コードを生成する管理サーバＭＳ１の複合コード生成手段ＣＧＭ、あるいはコンテンツサーバＣＳ２の複合コード生成手段ＣＧは、セルの読み取り順の番号ＳＥＱ（ｋ）と各セルについての通し番号ＩＤ（ｎ）とを対応づけて保存し、複合コードを読み取るユーザ装置ＵＤ１、ＵＤ２に引き渡せばよい。この場合、各セルについての通し番号ＩＤ（ｎ）と各セルの中心座標（Ｘｉ，Ｙｊ）との関係は、事前に規則で決められているものとする。
【０１１６】
以下、セルの読み取り順の番号ＳＥＱ（ｋ）を特定セルインデックスともいう。また、第２のコードが設定されたセルの読み取り順の番号ＳＥＱ（ｋ）とセルの中心座標（Ｘｉ，Ｙｊ）との関係、あるいは、すべてのセルについて付与される識別情報である通し番号ＩＤ（ｎ）と、第２のコードが設定されたセルの読み取り順の番号ＳＥＱ（ｋ）との関係をセル読み取り順序情報という。
【０１１７】
図３７に、実施形態２に係る情報システムの構成を例示する。図のように、この情報システムは、管理サーバＭＳ３と、コンテンツサーバＣＳ３と、ユーザ装置ＵＤ３とがネットネットワークＮ１により接続される。管理サーバＭＳ３は、複合コード生成手段ＣＧＭと、特定セルインデックス設定手段ＣＩＧＭを有する。複合コード生成手段ＣＧＭは、複合コードを生成するときに、特定セルインデックス設定手段ＣＩＧＭにより、セル読み取り順序情報を生成し、セル読み取り順序情報ファイルＣＩＭに保存する。
【０１１８】
また、コンテンツサーバＣＳ３は、特定セルインデックス設定手段ＣＩＧＳを有する。コンテンツサーバＣＳ３は、複合コードを生成するときに、特定セルインデックス設定手段ＣＩＧＳにより、セル読み取り順序情報を生成し、セル読み取り順序情報ファイルＣＩＳに保存する。なお、図３７では、省略しているが、本情報システムは、実施形態１のコンテンツサーバＣＳ１を有してもよい。コンテンツサーバＣＳ１は、自身で複合コードを生成する代わりに、複合コードの生成を管理サーバＭＳ３に依頼する。したがって、生成された複合コードに対応するセル読み取り順序情報は、管理サーバＭＳ３のセル読み取り順序情報ファイルＣＩＭに保存される。なお、通信手段ＣＭＳ３、複合コード出力手段ＣＯＵＴ３は実施形態１の通信手段ＣＭＳ２、複合コード出力手段ＣＯＵＴ２と同様であるので、その説明を省略する。
【０１１９】
ユーザ装置ＵＤ３は、例えば、セル順序読み取り情報を管理サーバＭＳ３またはコンテンツサーバＣＳ３から、ネットワークＮ１を介して取得し、保持する。ユーザ装置ＵＤ３の複合コード解析手段ＣＡ３は、セル順序読み取り情報にしたがって、各セルに設定されたドットパターンによる数値を統合することで、第２のコードからデジタルデータを復元する。なお、画像入力手段ＩＩＮ３、通信手段ＣＭＵ３は、実施形態１の画像入力手段ＩＩＮ１、ＩＩＮ２、通信手段ＣＭＵ１等と同様であるので、その説明を省略する。
【０１２０】
図３８は、コンテンツサーバＣＳ３または管理サーバＭＳ３による複合コード生成処理Ｂを例示するフローチャートである。この処理では、コンテンツサーバＣＳ３は、Ｓ１４Ａの処理において、セル読み取り順序情報を保存する点が図３２と相違する。他の手順は、実施形態１と同様であるので、その説明を省略する。Ｓ１２からＳ１５の処理を実行するコンテンツサーバＣＳ３は、第２のコードを生成する第２の生成手段を有するといえる。
【０１２１】
図３９は、ユーザ装置ＵＤによる複合コード読取処理Ｂを例示するフローチャートである。この処理では、ユーザ装置ＵＤ３は、Ｓ２５ＡおよびＳ２６Ａの処理を実行する点で、図３５と相違する。すなわち、ユーザ装置ＵＤ３は、セル読み取り順序情報をセル読み取り順序情報ファイルＣＩＵから参照する（Ｓ２５Ａ）。そして、ユーザ装置ＵＤ３は、セル読み取り順序情報にしたがって各セル内のドットパターンで指定される数値を統合し、第２のコードによるデジタルデータを復元する（Ｓ２６Ａ）。なお、ユーザ装置ＵＤ３は、セル読み取り順序情報をセル読み取り順序情報ファイルＣＩＵから参照する代わりに、コンテンツサーバＣＳ３または管理サーバＭＳ３にセル読み取り順序情報を生成するように依頼し、生成されたセル読み取り順序情報を参照するようにしてもよい。Ｓ２２、Ｓ２３、Ｓ２５ＡおよびＳ２６Ａの処理を実行するユーザ装置ＵＤは、第２の取得手段を有するといえる。また、Ｓ２５Ａの処理を実行するユーザ装置ＵＤ３は、特定セルを順序づける特定セルインデックスを生成するサーバまたは特定セルインデックスを保存するサーバから、特定セルインデックスを取得する手段を有すると言える。また、コンテンツサーバＣＳ３または管理サーバＭＳ３は、特定セルを順序づける特定セルインデックスを生成するサーバまたは特定セルインデックスを保存するサーバの一例と言うことができる
【０１２２】
なお、ユーザ装置ＵＤ３は、Ｓ２６Ａによる処理を実行するときに、セル読み取り順序情報を管理サーバＭＳ３から取得してもよいし、図３９の複合コード読取処理を実行する前に、管理サーバＭＳ３から予めセル読み取り順序情報を取得し、セル読み取り順序情報ファイルＣＩＵに保存しておいてもよい。
【０１２３】
以上述べたように、実施形態２では、複合コードを生成するコンテンツサーバＣＳ３または管理サーバＭＳ３により、特定セルインデックスであるセルの読み取り順の番号ＳＥＱ（ｋ）とセルの中心座標（Ｘｉ，Ｙｊ）との関係、あるいは、セルの読み取り順の番号ＳＥＱ（ｋ）と各セルについての通し番号ＩＤ（ｎ）との関係がセル読み取り順序情報ファイルＣＩＳ、ＣＩＭ等に保存される。セル読み取り順序情報ファイルＣＩＳ、ＣＩＭ等に保存されたセル読み取り順序情報は、ユーザ装置ＵＤ３に引き渡され、複合コードの復号時に参照され、ドットパターンの形式で設定されたセルごとの数値が統合され、第２のコードが元のデジタルデータに復元される。したがって、実施形態２の情報システムによれば、第１のコード、例えば、ＱＲコードの読み取り順に依存しない読み取り順序で、第２のコードを形成するドットパターンを各セルに設定でき、復元できる。
【０１２４】
このような読み取り順は、事前に規則で定めておいてもよいし、例えば、図１に例示したフォーマット情報あるいは第１のコードのデータ（本文）の中に、読み取り順序の規則を指定する情報を埋め込んでおいてもよい。このような構成とすることで、様々な態様で第２のコードを設定できる。
【０１２５】
［実施形態３］
上記実施形態１、２では、第１のコードのセルの読み取りと並行し、各セル内のドットパターンの有無を判定し、第２のコードを復号した。しかし、一旦第１のコードの復号のみを先に実行し、次に２回目に、各セルを走査し、第２のコードからデジタルデータを復元するようにしてもよい。
【０１２６】
また、上記実施形態２では、第１のコードのセルの読み取り順と第２のコードのセル読み取り順が異なる場合の処理を例示した。しかし、例えば、第１のコードがＱＲコードである場合に、仮に、図１に例示したデータ及び誤り訂正符号の読み取り順と、第２のコードがドットパターンで符号化されたセルの読み取り順が同一の場合でも、フォーマット領域、ファインダパターン、タイミングパターン、または、図１３に例示したクワイエットゾーン等に第２のコードのドットパターン（または線分のパターン等）を設定する場合には、第２のコードの読み取り順は第１のコードのセルの読み取り順と異なるものとなる。そこで、第２のコードを形成するドットパターン（または線分のパターン等）が設定されるセルによっては、第１のコードのセルの読み取りと並行し、各セル内のドットパターンの有無を判定できない場合もある。
【０１２７】
そこで、実施形態３では、複合コードの解析において、第１のコードの解析のためのセルの走査が終了した後、再び複合コードの画像中のセルを上記規則にしたがって走査する処理を例示する。複合コードの解析での第２のコードが埋め込まれたセルの読み取り順以外の実施形態３の他の構成および処理は上記実施形態１と同様である。
【０１２８】
実施形態３の構成要素のうち、実施形態１および実施形態２と同一の構成要素については、実施形態１および実施形態２の構成要素が実施形態３に適用されるものとしてその説明を省略する。また、必要に応じて、実施形態１および実施形態２の構成要素を引用する。
【０１２９】
なお、上記実施形態２では、第２のコードの読み取り順を第１のコードのセルの読み取り順を異なるものとし、セルの読み取り順の番号ＳＥＱ（ｋ）とセルの中心座標（Ｘｉ，Ｙｊ）との関係、あるいは、セルの読み取り順の番号ＳＥＱ（ｋ）と各セルについて通し番号ＩＤ（ｎ）との関係がセル読み取り順序情報ファイルＣＩＳ、ＣＩＭ等に保存され、復号時に参照できるようにした。本実施形態では、実施形態２と同様、セル読み取り順序情報が読み取り側のユーザ装置ＵＤ３等から参照できるようにしてもよいし、セル読み取り順序情報を読み取り側のユーザ装置ＵＤ３等に引き渡さないようにしてもよい。
【０１３０】
例えば、図３２の情報システムにおいて、複合コードを生成するとき、２値符号化されたビット列をセル毎のデータに分割する処理（図３２のＳ１４）において分割されたビット列を割り当てるセルの順序を特定の規則にしたがって決定するものとする。そして、複合コードを解析するときに、同一の規則にしたがって、第２のコードを形成するドットパターンが設定されたセル数値を統合すればよい。したがって、第２のコードの読み取り順が第１のコードのセルの読み取り順と異なるものとしても、必ずしもセル読み取り順序情報が必要な訳ではない。
【０１３１】
図４０は、実施形態３における複合コードの読み取り処理を例示するフローチャートである。図４０の処理は、実施形態２の図３９と比較して、Ｓ２０ＣおよびＳ２１Ｃが相違する。すなわち、例えば、ユーザ装置ＵＤ３は、まず、第１のコードのすべてのセルの解析を実行する（Ｓ２０Ｃ）。以下、図４０の処理は、ユーザ装置ＵＤ３が実行するものとして説明するが、ユーザ装置ＵＤ３から複合コードを引き渡された管理サーバＭＳ３が以下の処理を実行してもよい。
【０１３２】
ユーザ装置ＵＤ３等（以下、単にユーザ装置ＵＤ）は、画像入力インターフェース１７を介して、スキャナあるいはカメラ等から入力される複合コードの画像を入力し、フォーマット、および第１のコードのセルの配置を認識する。例えば、ユーザ装置ＵＤは、ファインダパターンにより、ＱＲコードの向きを認識し、アライメントパターンにより画像の歪みを補正する。また、ユーザ装置ＵＤは、タイミングパターンにより、セルの配置間隔を認識し、ＱＲコードのデータおよび誤り訂正符号の配置位置を特定する。そして、ユーザ装置は、例えば、一般的なＱＲコードの読み取り順序にしたがって、すべてのセルの明暗を判定する。
【０１３３】
次に、ユーザ装置ＵＤは、再度複合コードの全セルを所定の順に走査する。走査順は、例えば、右下のセルから、第１列を上方向に走査し、次に、第２列を下方向に走査し、以降同様に、奇数列を上方向に走査し、偶数列を下方向に走査すればよい。ただし、実施形態３において走査順に限定がある訳ではなく、例えば、左上セルから、奇数行を右方向に、偶数行を左方向に、行毎に走査してもよい。この全セルにおいては、ファインダパターン、アライメントパターン、タイミングパターン、フォーマット、データおよび誤り訂正符号のすべてを走査する。そして、ユーザ装置ＵＤは、次のセルの画像を取得する（Ｓ２１Ｃ）。この処理は、処理の対象に、ファインダパターン、アライメントパターン、タイミングパターン、フォーマット等が含まれる点を除外して、実施形態１、２と同様である。
【０１３４】
次に、ユーザ装置ＵＤは、処理中のセル内に第２のコードが定義されているか否かを判定する（Ｓ２２）。この処理は、判定の対象に、ファインダパターン、アライメントパターン、タイミングパターン、フォーマット等が含まれる点を除外して、実施形態１、２と同様である。そして、セル内に第２のコードが定義されている場合には、セル内の第２のコードを解析する（Ｓ２３）。この処理も、解析の対象に、ファインダパターン、アライメントパターン、タイミングパターン、フォーマット等が含まれる点を除外して、実施形態１、２と同様である。
【０１３５】
そして、ユーザ装置ＵＤは、次のセルが未処理で残っているか否かを判定する（Ｓ２４）。次のセルが未処理の場合、ユーザ装置ＵＤは、処理をＳ２１に戻す。この処理も、判定の対象に、ファインダパターン、アライメントパターン、タイミングパターン、フォーマット等が含まれる点を除外して、実施形態１、２と同様である。
【０１３６】
そして、すべてのセルの処理が完了し、次のセルがない場合、ユーザ装置ＵＤは、第１のコードの明暗判定で得られたビット列から、第１のコードをキャラクタごとに統合した情報を生成する（Ｓ２５）。この処理は、実施形態１、２と同様である。ただし、Ｓ２５の処理は、Ｓ２０Ｃの処理の中で実行してもよい。
【０１３７】
そして、ユーザ装置ＵＤは、セル読み取り順序情報をセル読み取り順序情報ファイルＣＩＵから参照する（Ｓ２５Ａ）。そして、ユーザ装置ＵＤは、セル読み取り順序情報にしたがって各セル内のドットパターンで指定される数値を統合し、第２のコードによるデジタルデータを復元する（Ｓ２６Ａ）。Ｓ２５ＡおよびＳ２６Ａの処理は、処理の対象に、ファインダパターン、アライメントパターン、タイミングパターン、フォーマット等が含まれる点を除外して、実施形態１、２と同様である。以降の処理は、実施形態１、２と同様であるので、その説明を省略する。Ｓ２２、Ｓ２３、Ｓ２５ＡおよびＳ２６Ａの処理を実行するユーザ装置ＵＤは、第２の取得手段を有するといえる。
【０１３８】
なお、上述のように、２値符号化されたビット列をセル毎のデータに分割する処理（図３４のＳ１４）において分割されたビット列を割り当てるセルの順序を特定の規則にしたがって決定するものとする場合には、Ｓ２５Ａの処理は不要である。すなわち、ユーザ装置ＵＤは、当該規則にしたがって、各セル内のドットパターンで指定される数値を統合し、第２のコードによるデジタルデータを復元すればよい。
【０１３９】
以上述べたように、実施形態３によれば、ユーザ装置ＵＤ３、管理サーバＭＳ３等は、第１のコード、例えば、ＱＲコードのセル読み取り順と異なる読み取り順序で、第２のコードが設定されたセルから第２のコードを形成するドットパターンを読み取り、複合コードを復号できる。したがって、ファインダパターン、アライメントパターン、タイミングパターン、フォーマット等にドットパターンが形成される場合も、復号が可能となる。
【０１４０】
［実施形態４］
上記実施形態１〜実施形態３では、第１のコードのセルの配置に対して、第２のコードが静的に配置され、時間変化しない複合コードが例示された。実施形態４では、第１のコードのセルの配置に対して、第２のコードが時間変化する複合コードが例示される。このような複合コードは、例えば、情報機器のディスプレイ上に表示可能である。例えば、情報機器がフレームごとに固定の第１のコードに、異なる第２のコードを組み合わせてディスプレイ上に表示すればよい。第２のコードは、１フレームごとに異なるものが出力されてもいいし、複数フレーム連続して同一のものが出力されてもよい。第２のコードは、図１２から図２９に例示したどれであってもよい。
【０１４１】
また、同一の第２のコードで、表示される表示期間を変更することで、いわば、パルス幅変調と同様の手順で、情報を定義してもよい。例えば、図１２に例示した仮想点からの距離と方向で情報を定義するドットパターンでは、定義される情報量は、３ビットである。しかし、３ビット固定のドットパターンを時間軸方向で、フレームごとにＯＮとＯＦＦさせることで、６０ビット／秒程度の情報を１つのセルで送信できる。この場合に、例えば、第１のコード、例えば、ＱＲコードの所定の領域（図１のファインダパターン、アライメントパターン等）も、ＯＮおよびＯＦＦすることで、フレームを同期させるための同期パターンを形成してもよい。読み取り装置は、第１のコードによるフレーム同期にしたがって、第２のコードであるドットパターンをフレームごとに取得すればよい。
【０１４２】
さらに、１つの第２のコードが表示される区間が１〜数フレームとすることで、人の目によって視認されにくくすることができる。したがって、人の目には認識されにくい状態で、情報機器のディスプレイから他の情報機器のカメラ、スキャナ等の画像形成装置によって複合コードを取得することができる。
【０１４３】
なお、第２のコードの時間変化において、明暗のパターンが複数フレーム以上継続する場合には、画像入力手段（実施形態１の画像入力手段ＩＩＮ１、ＩＩＮ２、実施形態３の画像入力手段ＩＩＮ３等）は複数フレーム分のデータを蓄積することで、同期パターンなしに第２のコードを入力可能である。また、第２のコード自体が、例えば、信号の開始を示す明暗パターンのシーケンスと、信号の終了を示す明暗パターンのシーケンスを有することで、ＱＲコードの所定の領域に同期パターンを形成しなくてもよい。
【０１４４】
ここで、複合コードが情報機器のディスプレイに表示される場合について説明する。
【０１４５】
第１のコードの一例であるＱＲコードは視認できることが前提であるため、ディスプレイで任意の時間継続表示する。一方、ディスプレイで映像が表示されている３０フレーム／秒では１０〜３０フレームに付き１〜２フレーム程度、６０フレーム／秒では２０〜６０フレームに付き１〜４フレーム前後だけ第２のコードを表示することにより、視聴者には第２のコードを視認しにくくすることができる。さらに、視認しにくくしたい場合は、ドットの画素色がセルで使用されている識別可能な２以上の色のセルの画素色に対して認識できる範囲で、ドットが視認しにくい画素色を使用すればよい。
【０１４６】
［その他の変形例］
上記実施形態１から４では、明色の領域と暗色と領域とによって、第１のコードおよび第２のコードを定義した。そして、生成装置であるコンテンツサーバＣＳ１、ＣＳ２、ＣＳ３２等が複合コードを出力し、読み取り装置であるユーザ装置ＵＤ１、ＵＤ２、ＵＤ３等が複合コードからデジタルデータを復元し、所定の処理を実行した。ここで、暗色の領域は、例えば、黒色の領域であり、明色の領域は、白色の領域である。しかし、複合コードは、明色の領域と暗色によって形成されるものに限定される訳ではない。例えば、Ｒ（赤）、Ｇ（緑）、Ｂ（青）、Ｃ（シアン）、Ｍ（マゼンダ）、Ｙ（黄）、Ｂ（黒）、Ｗ（白）のいずれか２色を、第１のコードおよび第２のコードのセルの色に使用してもよい。また、カラーコード情報として、Ｒ（赤）、Ｇ（緑）、Ｂ（青）、Ｃ（シアン）、Ｍ（マゼンダ）、Ｙ（黄）、Ｂ（黒）、Ｗ（白）いずれかをセルの色として選択できるようにし、第１のコードおよび第２のコードを定義してもよい。その際、第１のコードを形成するセルと第２のコードを形成するマークの識別は、選択できる色が異なる組み合わせにより可能となる。また、第２のコードに形成するマークがあるか否かで、第２のコードの存在を認識できる。マークが配置されていない第１のコードのセルの色と第２のコードのマークは同色を選択するケースがあってもよい。当然、当該マークは、第２のコードのセルの色と識別できる範囲の色を使用しなければならない。さらに、当該マークは第２のコードのセルの色と識別できる範囲で、当該マークの色をカラーコード情報とすることもできる。複合コードの第１のコードがＱＲコードである場合は、第１のコードと第２のコードのセルの色は、従来のＱＲコードリーダーが第１のコードを読み取れる色に限定し、第２のコードのマークの色を、Ｒ（赤）、Ｇ（緑）、Ｂ（青）、Ｃ（シアン）、Ｍ（マゼンダ）、Ｙ（黄）、Ｂ（黒）、Ｗ（白）の８色としてもよい。マーク配置位置に取得できる色を８種類とすることにより、１つのマーク配置位置で３ｂｉｔを定義でき、第２のコードの情報量を３倍に増大できる。なお、印刷媒体の色と第１または第２のコードのマークが形成されたセルのいずれかの色は同一であってもよい。さらに、マークが形成されていない第１のコードのセルの色は、前述のいずれかのマークの色と同一であってもよい。その場合、当該マークの色情報は、４色であれば２ｂｉｔで００、８色であれば３ｂｉｔで０００としてもよい。当然であるが、複合ＱＲコードリーダー性能により色数を増やし、カラーコード情報を増加させることができることは言うまでもない。例えば、画像識別における符号化変調技術を用いれば、その倍程度の情報量が実現可能となり、カラーマークを使用することにより、６倍の情報量を定義できることになる。
【０１４７】
また、上記実施形態１から４では、第１のコードとしてＱＲコードが例示された。しかし、実施形態１から４において、第１のコードがＱＲコードに限定される訳ではない。例えば、第１のコードとして、カラーコード、ＤａｔａＭａｔｒｉｘ、ＰＤＦ４１７を含む２次元コードを利用できる。
【０１４８】
［実施形態５］
上記実施形態１〜３では、第１のコードのセルの配置に対して、第２のコードが組合せられた複合コードが例示された。また、実施形態４では、第１のコードのセルの配置に対して、第２のコードが時間変化する時系列複合コードが例示された。本実施形態では、第２のコードの変形例および第２のコードの読み取り方法の変形を例示する。なお、実施形態５で説明される複合コードが実施形態１〜４に適用できることはいうまでもない。また、実施形態５で説明される複合コードの読み取り方法が実施形態１〜４に適用できることはいうまでもない。
【０１４９】
（複合ＱＲコードの印刷特性と読み取り方法）
以下、マークとしてドットを使用した実施例を示す。もちろん、マークは略円形、矩形、十字、多角形等、どのような形状であってもよい。なお、以下で示したドットを他のマークに置き換えて使用してもよいことは言うまでもない。
【０１５０】
図４１に、実施形態５における紙面等の媒体に印刷された暗色セルとピクセルの関係を例示する。図４２は、４×４ｐｉｘｅｌの暗色セルに明色のドットを形成した例である。図４３は、４×４ｐｉｘｅｌの明色セルに暗色のドットを形成した例である。印刷されるＱＲコードの暗色セルの大きさは、通常、０．１７ｍｍ〜０．５ｍｍであり、図４１のように、１個のセルを４×４ｐｉｘｅｌ以上で印刷することが推奨されている。なお、１ピクセルの形状は矩形または円形いずれでもよい。最低の０．１７ｍｍは、一般的な印刷解像度の６００ｄｐｉで印刷した場合、４×２５．４ｍｍ／６００≒０．１７ｍｍとなる。一方、ドットコードでのドットの大きさは、データ上では６００ｄｐｉのピクセルサイズ、つまり２５．４ｍｍ／６００≒０．０４２ｍｍである。なお、ドットゲインやインクの膨張、浸透等により膨らんで、ドットの大きさが０．０５ｍｍ程度になる場合が多々ある。なお、逆にインクの定着が悪く、ドットの大きさが０．０４ｍｍ程度（しかし、０．０３ｍｍを下回ることはない）以下になる場合もある。暗色セルにドットを形成する場合、周辺の暗色印刷部分の膨張により逆に明色ドットは０．０３ｍｍ程度になる場合がある。ここで、最小セルサイズ（例えば、０．１７ｍｍ）を最小ピクセル数（４×４）で印刷する暗色セルにドットコードを形成すると、図４２のように、暗色セルの中央の４個のピクセルのいずれかを印刷することにより、４通りのドットパターンを形成できる。つまり、１個のセルに対して２ｂｉｔのドットコードを定義できる。中央の４個のみを対象にしたのは、ドットと同色のセルと隣り合う場合、セルの輪郭の精度が悪いと、ドットを認識しづらくなるため、セルの輪郭の領域に接続するドットの配置を排除するのが望ましいからである。
【０１５１】
ドットコードの読取りには複数の方法がある。ドットコードの読取りは、複合コードが撮像された画像がフレームバッファに記憶され、フレームバッファの座標系でドットを認識しその中心位置（座標値）を求めるか、ドット配置候補位置にドットが配置されているかを認識して、ドットの配置パターンにより定義された情報を取得することで行われる。代表的な方法は、下記の２通りである。
【０１５２】
（方法１）
方法１は、ドットの中心点を認識する方法である。すなわち、方法１は、撮像した画像からドットを抽出し、ドットの中心座標値を求めてドットの配置パターンを求める。この場合、ドット周辺には、撮像した際にドットを形成する画素の明暗から、明暗の変化率等を閾値としてドットを検出するため、ドットは他のドットや、同色のセルと接触した状態では認識することが困難である。従って、近接するドットの端部から、両ドットを認識できる所定距離を離してドットを配置することが望ましい。
【０１５３】
ところで、撮像した画像では、光が側方からＱＲコードを照らしたり、影や陰影が生じたりして、ドットを抽出するには前述の明暗の変化率を閾値とするのが望ましいが、明暗の変化率を求めるには、隣り合うドットの端部から端部まで少なくとも４ピクセル以上が必要であり、一定の解像度を有するカメラで撮影が必要になる。一方、ＱＲコードの同一色のセルの明暗はセルの位置によって大きく異なる場合があるが、各セル内での変化は殆どない。そこで、明色セルでは、当該セルを撮像したピクセルの明るい方から数個のピクセルの明度の平均値ＢＬＡを求め、同時に、ピクセルの暗い方から数個のピクセルの明度の平均値ＢＤＡを求める。ΔＢＬ＝ＢＬＡ−ＢＤＡが所定範囲内に入っていれば、当該セルにはドットが存在しないことが分かり、所定範囲を超えていればドットが存在することになる。その場合のドットを判定する閾値は、α×ＢＤＡ以下、またはＢＤＡ＋β×ΔＢＬ以下で計算される。暗色セルでは、同様な処理を行い、ドットを判定する閾値は、α×ＢＬＡ以上、またはＢＤＡ＋β×ΔＢＬ以上で計算される。なお、α、βは、ＢＬＡ、ＢＤＡ、ΔＢＬやカメラの性能や撮像画像の特性等によって定まる。
【０１５４】
（方法２）
方法２は、画像から得られたドットと、認識対象のドットが形成される所定領域（ドットの配置候補領域）または所定位置（ドットの配置候補位置）との重複部分を求める方法である。方法２は、簡潔には、所定の領域または所定位置にドットが存在するかを判定する方法ということができる。方法２の場合、ドットの中心座標値を求める必要がない。ドットが存在するか否かは、ドットの配置候補領域または配置候補位置を正確に認識できることが重要である。印刷精度がよく、複合ＱＲコード読取り装置の解像度が高ければ、複合コードの読み取り装置は、セルの中心座標値と当該セルの領域が正確に認識できる。そのような場合は、バウンディングボックスと呼ばれる予めドットの候補配置位置（ＸｎＳ１，ＹｎＳ１）を中心とした所定の領域にドットの中心位置が含まれるか否か、または当該領域に一定の面積を有するドットの所定の範囲が含まれるか否かで、ドットの配置位置が判定される。あるいは、ドットの候補配置位置（ＸｎＳ１，ＹｎＳ１）に、一定の面積を有するドットの一部が重畳しているか否かで認識してもよい。なお、複合ＱＲコードが形成された媒体が平面を形成しない場合や、同媒体に対して、読取り装置が斜め方向から撮影した場合は、セルの中心座標値がずれる場合がある。そのような場合は、求まったセルの中心座標値を、所定の方法で正しいセルの中心座標値に補正するのが望ましい。この方法２は、微細なサブセルによってマトリクス状に細分化された拡張セルが第２のコードを形成する複合コードにおいても、従来よりも精度高い認識を可能にする。その際の最大の条件は、各セルの配置位置が、複合コードが撮像された画像がフレームバッファに記憶され、その座標系において正確な座標値で認識できることである。正確な座標値を取得するためには、基準となる基準マークを設けて、その基準マークはサブセルと接続させないで独立して設け、当該基準マークを抽出し中心座標値を取得することである。その結果、基準マークとサブセルの配置位置の関係によって、サブセルの配置位置を認識できる。
【０１５５】
図４４は、バウンディングボックスによるドットの位置の判定方法を例示する図である。図４４のように、読み取り装置は、セル中心位置から、セルのコーナーに向かって直線を引き、当該直線と重複するドットのピクセルを抽出する。なお、セルの中心位置（座標値）は、大概、第１のコードを読み取ることによって取得することができるが、フレームバッファの座標系とは異なる座標系の座標値で取得した場合は、撮像画像が記憶されたフレームバッファの座標系の座標値に変換する必要が有る。そして、読み取り装置は、ドットと重複した直線上の領域（直線と重複したピクセルの列からなる領域）の中心が、予めドットの候補配置位置（ＸｎＳ１，ＹｎＳ１）を中心とした所定の領域以内（バウンディングボックス）に当該座標値が含まれているかで判定すればよい。バウンディングボックスは、ドットのサイズと同程度のセルサイズの２５％前後（例えば、２０％〜３０％程度）の直径を有する円が望ましいが、矩形やその他の形状でもでもよいし、そのサイズも誤認率を想定した誤り訂正のレベルや印刷精度、撮像解像度で適宜定めてよい。なお、ドットが欠けているような場合は重複領域が途中で欠ける場合やインクの飛びもあり、それらを判定することが望ましい。例えば、直線と重複したピクセルの列からなる領域が複数領域に分離する場合が想定される。そのような場合には、読み取り装置は、最大領域をドットの領域とみなせばよい。また、分離した複数領域間の距離が所定値以内の場合に、読み取り装置は、分離した複数領域を１つの連続領域として統合してもよい。
【０１５６】
ドット座標値は、直線とドットの重複位置始点（ＸｎＳ１−１，ＹｎＳ１−１）および終点の座標値（ＸｎＳ１−２，ＹｎＳ１−２）から、式ＸｎＳ１＝（ＸｎＳ１−２＋ＸｎＳ１−１）／２，ＹｎＳ１＝（ＹｎＳ１−２＋ＹｎＳ１−１）／２によって、（ＸｎＳ１，ＹｎＳ１）として求められる。この結果、図４４の例で、セル内の２本の対角線を用いてドットを検出する場合、１つの対角線に４個のドットの配置位置を設定し認識できるので、１個のセルに対して、２つの対角線で合計８個のドットの配置を設定し、８通り、すなわち３ｂｉｔを定義することができる。
【０１５７】
この８通りは、８個のドットの配置候補位置のいずれか１個だけドットが配置された場合であり、なお、ドットであるか否かの判定用の閾値は、前述の明暗の変化率等や、α×ＢＤＡまたはα×ＢＬＡやＢＤＡ＋β×ΔＢＬを使用してもよい。セルの配置位置が一定の精度で認識できれば、バウンディングボックスを当該セルのサイズより若干下回る大きさに設定し、そのバウンディングボックス内でドットを抽出すれば、ドットが接続し隣接する同色のセルの影響を受けない。
【０１５８】
ＱＲコードのデータ領域の暗色、明色のセルにドットコードを形成すると、ドットコードの誤り訂正にＱＲコードと同程度の領域を使用したとしても、図４４で示したドット認識の方法を用いて、各セル当たり３ｂｉｔを定義できるドットコードではＱＲコードの３倍のデータを複合ＱＲコードに格納できる。仮に、データ領域の明色セルだけにドットコードを形成しても１．５倍程度の情報量を格納できる。なお、ファインダパターン（切り出しシンボル）、アライメントパターン、クワイエットゾーン、タイミングパターン、フォーマット情報を形成するセルにもドットコードを形成でき、ＱＲコードの２倍程度の情報量を格納できる。さらに、データ領域以外の明暗色のセル全てにドットコードを形成すると、当該ＱＲコードの４倍以上の情報を格納できる。なお、これらのドットの配置の違いは、現行の解像度の低いスマートフォンのカメラでも、全く問題なく認識できる。この実施形態では、印刷できる領域が４×４であると仮定しているが、セルの大きさを大きくすれば、ドットの配置パターンはさらに増加させることができる。但し、その場合、高解像度のカメラで撮影・解析することが望ましい。専用の撮像解像度の高い複合ＱＲコードを使用すれば、容易に取得できる情報量を増大できる。
【０１５９】
図４５は、さらに、ドットコードの情報量を増大させるために、６００ｄｐｉで１個のセルを５×５ｐｉｘｅｌで印刷し、セルサイズは５×２５．４ｍｍ／６００≒０．２１ｍｍとした実施例である。網で示した４か所は、ドットの形成位置を示している。この４か所にドットを形成するか、否かによって、１個のセルに４ｂｉｔを定義できる。
【０１６０】
図４５は、６００ｄｐｉで１個のセルを、セルを５×５ｐｉｘｅｌで印刷した例であり、図４６は、７×７ｐｉｘｅｌで印刷した例である。セルが７×７ｐｉｘｅｌで印刷されるとセルサイズは７×２５．４ｍｍ／６００≒０．３０ｍｍとなる。網で示した部分（５×５ｐｉｘｅｌの４箇所、および７×７ｐｉｘｅｌの９箇所）は、ドットの形成位置を示している。
【０１６１】
セルを７×７ｐｉｘｅｌで印刷する場合、中央の１ピクセルには、常にドットを形成し、当該セルにはドットコードが形成されていることの指標に使用してもよい。その場合は、１個のセルに８ｂｉｔが定義される。なお、いずれか１個のピクセルが形成される場合は、８箇所のドットの配置の仕方は、８通り（中央にドットを形成する場合も含めば９通り）となり、１個のセルで３ｂｉｔが定義される。このドットコードの認識方法としては、読み取り装置は、セルの中心位置を基に、ドットが配置される領域に対してバウンディングボックスを設定して、当該バウンディングボックス内にドットが配置されているかどうかでドットの配置を認識すればよい。バウンディングボックスの大きさは、図４５ではドットのサイズと同程度のセルのサイズの２０％前後（１５〜３０％程度）、図４６ではセルのサイズの１４％前後（１０％〜２０％程度）の直径または辺を有する円または矩形であるのが望ましい。ドットの具体的な認識方法としては、読み取り装置は、バウンディングボックス内で認識された暗色または明色の割合が所定の比率（例えば、セルの中心位置のずれや印刷の精度を考慮し、５０％）を超えた場合に、ドットが配置されていることを判定してもよい。また、読み取り装置は、ドットの中心座標値を求めて、セル内に本来配置されるドットの座標値に最も近い位置のバウンディングボックス内のドットで判定してもよい。なお、ドットであるか否かの判定用の閾値は、前述の明暗の変化率等や、α×ＢＤＡまたはα×ＢＬＡやＢＤＡ＋β×ΔＢＬを使用してもよい。
【０１６２】
なお、暗色セルに対しても明色ドットにより同様なドットコードが定義できることは言うまでもない。本実施形態では、図４５の５×５ｐｉｘｅｌのセルで４個のピクセルの全てにドットが配置されたとしても、ドットの専有面積は４／（５×５）＝１６％にしかならず、ドットのサイズが膨らんでも、１．１倍程度（１８％増程度）である。また、図４６の７×７ｐｉｘｅｌのセルで９個全てにドットが配置されたとしても、ドットの専有面積は９／（７×７）＝１８％にしかならず、ドットのサイズが膨らんでも、１．１倍程度（２０％程度）である。したがって、ドットコードの存在がＱＲコードを構成するセルの認識（他色の混入が１／３以下であれば適正に認識できる）に影響を与えることはない。さらに、ドットコードの情報量を増大するには、セルを構成するピクセル数を増加させてドットを配置する位置を増やし、印刷解像度を上げてドットを配置する位置を増やしてもよい。その場合、複合コードの読み取り装置の撮像解像度が十分に高ければ、ドットサイズは小さくしてもよい。その結果、ドットの配置位置を多く設定でき、ドットコードの情報量を増大させることができる。なお、ファインダパターン（切り出しシンボル）、アライメントパターン、クワイエットゾーン、タイミングパターン、フォーマット情報を形成するセルにもドットコードを形成でき、さらに情報量を増大できる。
【０１６３】
以上のように、ドットコードをＱＲコードのセルに形成した複合ＱＲコードは従来と同じ面積で埋め込む情報量を増加することができ、かつ、本来のＱＲコードの認識への影響を抑制できる技術である。従来技術は、１個のセルを分割して情報量を増加させるものであり、同色で分割セルが隣合わせになった際に認識が困難になり、印刷および撮像が超高解像度で実施されることが前提条件であり汎用性に乏しい。この従来技術に対して、本技術は、低解像度のカメラであっても、周辺が反対色（暗色と明色）であるドットの認識は容易であり、ドットの占める面積が少なくＱＲコードの認識も確保しつつ、従来技術に対してより多くの情報を付加できるのが大きな特徴である。以上から、一般的に使用されているＱＲコードを形成する１個のセルで１ｂｉｔの情報しか定義できないが、複合ＱＲコードでは、１個の明色セルおよび／または暗色セルに形成されるドットコードにより、１個のセルに対して、少なくとも２ｂｉｔ〜８ｂｉｔ程度を定義できる。さらに、後述のカラーコードを使用することにより、現行のスマートフォン等の携帯端末に搭載されたカメラでＱＲコードの６〜１０倍以上の情報を複合ＱＲコード（複合ＱＲコード内に記録されたドットコード）から読み取ることができる。
【０１６４】
ドットコードに記録される情報量の大幅な増加により、テキスト情報だけでなく、音声情報や画像情報を格納できる。しかも、複合ＱＲコードに記録された情報は、電話回線やインターネット、無線等の通信を使用しないで、カメラで撮影し、専用のアプリで読み取るだけで取得することができる。これにより、情報の送信中に第三者にハッキングされることを回避させることができ、極めてセキュリティ性の高い記録媒体となる。したがって、複合ＱＲコードによる情報の授受は、従来の通信と比較して個人情報や秘匿情報等の保護に有効である。さらに、複合ＱＲコードによる情報授受では、情報提供者自身のメールアドレスやＳＮＳの個人情報を渡さずに、情報を渡したい相手に提供できる。
【０１６５】
（複合ＱＲコード中のドットコードの読み取り方法）
ＱＲコード読取りで最も多く使用されているスマートフォン等、携帯端末のカメラで、最も低い解像度はＶＧＡ（６４０×４８０）であるが、現在、極めて僅かである。携帯端末のカメラは、年々高解像度になることから、ＶＧＡによる問題は、無視してよい。複合ＱＲコードを読み取る際に、撮像した画像からより確実にドットコードであることを認識するには、１個のドットを２×２ピクセル以上で撮像するのが望ましい。そうすれば、撮像されたドットの左右・上下の１ピクセルのずれに対応できる。現在、普及しているスマートフォン等のカメラの解像度は、年々高くなり、少なくとも１９２０×１０８０〜２０４８×１５３６（３００万画素）を超えている。従って、本実施形態では、比較的低解像度の１９２０×１０８０ピクセルのスマートフォンを想定し、さらに周辺ののりしろ２０％程度設けられると過程する。この仮定では、撮影範囲は、８６４×８６４ピクセルであるので、本実施形態の複合ＱＲコードを十分な精度で読み取ることが可能である。図４２と図４３の複合ＱＲコードでは、１個のセルを８ピクセルで撮像すると、読み取れるセル数は、８６４／８＝１０８となり、バージョン２２、１０５×１０５セル、（誤り訂正レベルＭで漢字４８８文字、０．７７９ＫＢ、ドットコードには最大１．５５８ＫＢを格納可能）までの読取りが可能であり、ドットコードにＱＲコードの１．５〜２倍程度を格納でき、印刷した場合１０５×８×２５．４／６００ｍｍ≒３５．５６までを読み取ることができる。さらに、ＱＲコードの規格では日本語テキストの圧縮はされていない。現在、日本語テキスト圧縮データ技術によりＱＲコードの３倍の文字数を格納することができる。その結果、４８８文字×２（ドットコード情報量増加分）×３倍（日本語テキスト圧縮分）＝２，９２８文字を格納できる。図４４のような読取り方式を実施すれば、ドットコードには最大２．３３７ＫＢを格納可能でありＱＲコードの２〜３倍程度を格納できる。さらに、日本語テキスト圧縮データ技術により４，３９２文字を格納できる。図４５の復号ＱＲコードでは、１個のセルを１０×１０ピクセルで撮像すると８６４／１０＝８６、バージョン１７、８５×８５セル（誤り訂正レベルＭで漢字３１０文字、０．５０４ＫＢ、ドットコードには最大２．０１６ＫＢを格納可能）までの読取りが可能であり、ドットコードにＱＲコードの３〜４倍程度を格納でき、印刷した場合８５×１０×２５．４／６００ｍｍ  ≒  ３５．９８ｍｍを一辺とする矩形領域を読み取ることができる。さらに、日本語テキスト圧縮データ技術により３，７２０文字を格納できる。図４６の復号ＱＲコードでは、１個のセルを１４×１４ピクセルで撮像すると、８６４／１４≒６１となり、バージョン１１、６１×６１セル（誤り訂正レベルＭで漢字１５５文字、０．２５１ＫＢ、ドットコードには最大２．００８ＫＢを格納可能）まで読み取りが可能であり、ドットコードにＱＲコードの６〜８倍の情報量を格納でき、印刷した場合６１×１４×２５．４／６００ｍｍ≒３６．１５ｍｍを一辺とする矩形領域までを読み取ることができる。さらに、日本語テキスト圧縮データ技術により３，７２０文字を格納できる。上記では、ＱＲコードの誤り訂正をレベルＭとしたが、レベルＭは、一般的に多く使用されている誤り訂正レベルであり、当然、誤り訂正レベルＬにすれば、更に多くの情報をドットコードに格納できることは言うまでもない。
【０１６６】
現在、普及しているスマートフォンのディスプレイ表示の解像度の市場普及率（２０１７年度）は、３７５×６６７ピクセル３４．９３％、３２０×５６８が１８．８５％、３６０×６４０が１３．０７％、合計で２／３程度が低解像度のディスプレイである。従って、表示領域に１０％ののりしろを設けたとしても、２８８×２８８の領域にハイブリッドＱＲコードを表示する必要がある。１）ドットコードの印刷と同様に、図４２〜図４４の復号ＱＲコードの表示では、１個のセルを４ピクセルで表示することになる。そこで、表示できるセルは、２８８／４＝７２となり、バージョン１３、６９×６９セル（誤り訂正レベルＭで漢字２０４文字、０．３３１ＫＢ、ドットコードには最大０．６６２ＫＢを格納可能）でありＱＲコードの１．５〜２倍程度を格納できる。さらに、日本語テキスト圧縮データ技術により１，２２４文字を格納できる。図４４のような読取り方式を実施すれば、ドットコードには最大０．９９３ＫＢを格納可能でありＱＲコードの２〜３倍程度を格納できる。さらに、日本語テキスト圧縮データ技術により１，８３６文字を格納できる。図４５の復号ＱＲコードでは、１個のセルを５×５ピクセルで表示すると、２８８／５≒５７となりバージョン１０，５７×５７セル（誤り訂正レベルＭで漢字１３１文字、０．２１３ＫＢ、ドットコードには最大０．８５２ＫＢを格納可能）でありＱＲコードの３〜４倍程度を格納できる。図４６のドットコードでは、１個のセルを７×７ピクセルで表示すると、２８８／７≒４１となりバージョン６、４１×４１セル（誤り訂正レベルＭで漢字６５文字、０．１０６ＫＢ、ドットコードには最大０．８４８ＫＢを格納可能）でありＱＲコードの６〜８倍程度を格納できる。さらに、日本語テキスト圧縮データ技術により１，５６０文字を格納できる。しかし、これでは日本語テキストや音声、写真等のコンテンツ情報を格納するには十分ではない。しかし、スマートフォンでのハイブリッドＱＲコードの表示では、後述のドットコードを時間変化させた時系列ドットコードや、ドット表示をカラー化したカラードットコードにより実施できるため、容易に大容量ハイブリッドＱＲコードを実現できる。
【０１６７】
一方、フルハイビジョンである１０８０×１９２０で表示できるスマートフォンが普及していくのは明らかであり、さらにドットコードの情報量を増加させる複合ＱＲコードの表示が可能となる。複合ＱＲコードを表示する領域としては、８００×８００ピクセルとすると、図４１、図４２、図４３の復号ＱＲコードの表示では、１個のセルを４ピクセルで表示することになる。表示できるセルは、８００／４＝２００となり、バージョン４０、１７７×１７７セル（誤り訂正レベルＭで漢字１，４３５文字、２．３３１ＫＢ、ドットコードには最大４．６６２ＫＢを格納可能）つまりＱＲコードの規格の全てに対応して表示でき、ＱＲコードの１．５〜２倍程度を格納できる。日本語テキスト圧縮データ技術により８，６１０文字を格納できる。なお、図４４のような読取り方式を実施すれば、ドットコードには最大６．９９３ＫＢを格納可能でありＱＲコードの２〜３倍程度を格納できる。さらに、日本語テキスト圧縮データ技術により１２，９１５文字を格納できる。図４５の復号ＱＲコードでは、１個のセルを５×５ピクセルで表示すると、８００／５＝１６０となりバージョン３５、１５７×１５７セル（誤り訂正レベルＭで漢字１，１１３文字、１．８０９ＫＢ、ドットコードには最大５．４２７ＫＢを格納可能）でありＱＲコードの３〜４倍程度を格納できる。さらに、日本語テキスト圧縮データ技術により１，８３６文字を格納できる。図４６のドットコードでは、１個のセルを７×７ピクセルで表示すると、８００／７≒１１４となりバージョン２４，１１３×１１３セル（誤り訂正レベルＭで漢字５６１文字、０．９９１ＫＢ、ドットコードには最大７．９２８ＫＢを格納可能）でありＱＲコードの６〜８倍程度を格納できる。さらに、日本語テキスト圧縮データ技術により１３，４６４文字を格納できる。この大容量複合ＱＲコードを読み取る場合には、現行のスマートフォンの撮影解像度では、一部、読み取ることが難しい場合では、高解像度で撮像・解析できる専用複合ＱＲコードリーダーを用いることが望ましい。上記では、ＱＲコードの誤り訂正をレベルＭとしたが、レベルＭは、一般的に多く使用されている誤り訂正レベルであり、当然、誤り訂正レベルＬにすれば、更に多くの情報をドットコードに格納できることは言うまでもない。
【０１６８】
スマートフォンに複合ＱＲコードに表示する場合、異なる複数のドットコードを所定時間ずつ表示することにより多量な情報を生成できる。ハイブリッドＱＲコードリーダーで点滅するドットコードを読み取る場合、一度だけ、ＱＲコードを読み取るだけで、その後は、ドットコードのみを読み取ることにより高速に処理できる。撮影時の手振れは、タイミングパターンやアライメントパターンの撮像位置の変化を追跡し、その都度、検出したドット位置の補正を行えば、ドットコードを正確に読み取ることができる。実施形態５のようにハイブリッドＱＲコードをスマートフォンに表示する場合、ドットコードに格納できる１回の情報量は０．８５Ｋ程度であるが、１〜３秒間にドットコードを１２回程度、変化させることにより、１０ＫＢ程度の情報量を取得することができる。これを写真データで再現すると、スマートフォンで表示した場合、十分に高品質な画像として閲覧でき、７万文字を超えるテキスト情報も送信できる。
【０１６９】
ＱＲコードに採用されている誤り訂正符号は、ブロック符号の一種であるリードソロモン符号であるが、ドットコードに採用する誤り訂正符号は、畳み込み符号を用いてもよい。
【０１７０】
畳み込み符号はブロック符号とは異なり、データの区切りがなく、１個所のデータをその周辺にばらまき、その情報を使って統計的な方法で復号することから、誤り訂正の性能が高く、拘束長が小さければ高速に処理できる。
【０１７１】
ただし、誤り訂正符号は、ドットコードの情報容量や誤り率によって、各種誤り訂正符号と、誤りを推定するため二次情報（輝度情報、時系列および周辺の誤り情報等）を用いた、各種復号法（軟判定復号法を含む）を適用することができる。もちろん、ドットコードに適した他の誤り訂正符号を使用してもよいことは言うまでもない。
【０１７２】
これまで大容量ＱＲコードの研究開発が世界中で進められてきたが、いずれも普及に至らなかったのは、セルの中心座標を正確に算出することできず、分割セル等の判定が正確に実施できなかったのが要因と考えられる。さらに、分割セルの情報量を増大させると本来のＱＲコードの認識率が低下する課題があった。ハイブリッドＱＲコードは、セル内に面積比の小さなドットコードを形成し、所定間隔毎に基準ドットや基準パターンを配置することにより、それらの課題を解消する画期的な技術である。
【０１７３】
［実施形態６］
以下、図４７から図５６を参照して、実施形態５における真贋判定方法、真贋判定のための情報処理装置、および真贋判定のためのコンピュータプログラムについて説明する。上記実施形態１から４では、複合コードの構成、生成方法、読み取り方法、およびこれらの方法を実施する装置およびコンピュータにこれらの方法を実行させるためのプログラムについて説明した。本実施形態では、複合コードを用いてデジタル情報の真贋判定（あるいはデジタル情報改ざん検知）等に適用した方法、方法を実施する装置、コンピュータにこれらの方法を実行させるためのプログラムについて説明する。
【０１７４】
＜オフラインによる複合ＱＲコード真贋判定システムの判定手順＞
１）ドットコードに暗号化情報を形成する複合ＱＲコードの生成
図４７に、真贋判定のための複合コード生成処理を例示する。
【０１７５】
（１）図４７に例示する複合ＱＲコードの生成では、ＱＲコードのデータ領域に格納された情報を符号化する。ここで、データ領域とは、図１に例示したＱＲコードのうち、位置検出パターン（ファインダパターン）、アライメントパターン、タイミングパターン、フォーマット情報、及び誤り訂正符号を除く、ＱＲコードで表されるデータ自体をいう。ＱＲコードのデータ領域に格納された情報を符号化する理由は、印刷されたＱＲコードの印刷時の情報欠落や汚れ、ＱＲコードの撮影状態等で、読み取ったＱＲコードが、作成時のＱＲコードとは完全に一致しないことが多々あることである。ディスプレイに表示されたＱＲコードも、ＱＲコードの撮影状態等で、同様に一致しないことがある。従って、誤り訂正符号を有するＱＲコードの全部を符号化して、互いの符号化情報を比較しても、意味はない。ここで、符号化とは、ハッシュ関数を用いてデータから不可逆的変換をして符号列を求めることを含む。符号列は平文（署名対象データ）を含み、さらに、ハッシュ関数を用いて符号化された符号化情報はハッシュ値を含んでいる。
【０１７６】
（２）ドットコードには、少なくともデータ（暗号化情報を含む）の他、誤り訂正符号やフォーマット情報（格納されたドットコードのタイプ、バージョン等の仕様）等の必要な情報が所定の仕様によって格納される必要がある。
【０１７７】
（３）複合ＱＲコードは、厳重に暗号化手段を管理する特定の発行機関が発行するのが望ましい。これにより、ユーザの誰もが利用できる環境を構築できる。なお、ユニークな暗号化手段を有し、特定のユーザが使用する場合は、当該ユーザにサービスを提供する発行者であってもよい。例えば、複合ＱＲコードの発行を要請する発行要請者が、発行機関にＵＲＬやデータ（ＱＲコードのデータ領域に格納される情報）を送信する。当該発行要請者は、事前に発行機関が承認した法人、行政その他の組織または個人に限るのが望ましい。発行要請者に対して、複合ＱＲコードの発行を実施するかは、逐次所定の方法で認証するのが望ましい。ＵＲＬ等の公開情報には、発行した複合ＱＲコードや発行要請者を公開して、第三者が評価して信頼性を高めてもよい。第三者は、一般ユーザでもよい。
【０１７８】
（４）セキュリティを担保するために、発行機関以外の第三者が複合ＱＲコードを発行できないように、符号化情報を暗号化手段で暗号化する必要がある。符号化情報を暗号化するにはデジタル署名アルゴリズム、つまり署名生成を秘密鍵で生成してもよい。当該デジタル署名アルゴリズムには、ＳＨＡ２５６をはじめ各種手法があり、米国商務省配下のＮａｔｉｏｎａｌ  Ｉｎｓｔｉｔｕｔｅ  ｏｆ  Ｓｔａｎｄａｒｄｓ  ａｎｄ  Ｔｅｃｈｎｏｌｏｇｙ（ＮＩＳＴ）で標準化されている。なお、符号化情報を暗号化手段で暗号化した暗号化情報は、デジタル署名であることを含む。
【０１７９】
（５）複合ＱＲコード発行要請者から受領したデータ領域に格納された情報（ＵＲＬに限らない）からＱＲコードを生成し、暗号化情報は、ＱＲコードで定義される複数のセルから形成されるドットコードのデータ領域に格納される。当該データ領域は物理的に規定されなくても、論理的に規定されてもよい。なお、暗号化情報はＱＲコードに格納してもよい。
【０１８０】
（６）完成した複合ＱＲコードは、発行要請者に送信され、発行要請者は複合ＱＲコードを媒体に形成（印刷、刻印、ディスプレイ等への表示により複合ＱＲコードを認識できるあらゆる方法を含む）して第三者に提供する。
【０１８１】
（７）複合ＱＲコードは、第１のコードと、第２のコードのデータ領域に格納されるデータに対して、１個の電子署名（デジタル署名ともいう）または、それぞれのデータに対してそれぞれの電子署名を生成し、当該電子署名を第１または第２のコードのいずれかのデータ領域に格納してもよい。例えば、第１のコードに対して、電子署名を作成し、第２のコードのデータ領域に格納してもよい。また、第２のコードに対して、電子署名を作成し、第１のコードのデータ領域に格納してもよい。第１のコードと第２のコードに対して、１個の電子署名を生成し、当該電子署名を第１コードまたは第２のコードの隣接領域に追加の第１コードまたは追加の第２のコードを格納してもよい。
【０１８２】
２）ドットコードに暗号化情報を形成する複合ＱＲコードの読み取り・認証
（１）媒体に形成（印刷、刻印、ディスプレイ等への表示により複合ＱＲコードを認識できるあらゆる方法を含む）された複合ＱＲコードを読み取るには、専用の複合ＱＲコード読取り装置や、専用の複合ＱＲコード読取りアプリをダウンロードインストールしたスマートフォンやタブレット等の情報処理装置を使用することが想定される。
【０１８３】
（２）専用の読取り装置または読取りアプリで、複合ＱＲコードを読み取ると、通常のＱＲコード読取り手順に従って、ファインダパターン（切り出しシンボル）、アライメントパターン、クワイエットゾーン、タイミングパターン、フォーマット情報を読み取ることによって、各セルの中心座標値とセルの大きさとＱＲコードの向きを認識できる。明暗のみでセルを判定する場合は、撮像したセルの明暗から所定の閾値により２値化画像を生成して、各セルの２値化情報を判定してＱＲコードを読み取る。ドットコードは、同様な方法でドットを２値化してドットを読み取るが、各セルの判定毎にドットの配置を認識してもよいし、情報が定義された各セルの読取り終了後に、セルに形成されたドットの配置を読み取って、ドットコードを認識してもよい。なお、ＱＲコードの情報量を増大させるため明暗のレベルまたはカラーでセルが形成される場合は、その明度、色相等で段階的にセルに２ｂｉｔ以上の情報をセルに定義してもよい。
【０１８４】
（３）次に、読み取ったＱＲコードのデータ領域に格納された情報（ＵＲＬに限らない）のみを符号化する。符号化の概念は、１）の（１）に示した通りである。さらに、ドットコードを誤り訂正して読取り、少なくとも暗号化情報を含むデータを取得する。暗号化情報の概念は、１）の（１）に示した通りである。ここで、暗号化情報を復号化手段で復号化情報に復号化する。復号化手段は、デジタル署名における検証アルゴリズムによって署名検証を含み、署名者の公開鍵であってもよい。
【０１８５】
（４）最後に、（３）の読み取ったＱＲコードを符号化手段（例えば、キャッシュ関数）により符号化した符号化情報（例えば、キャッシュ値）と、ドットコードに格納された暗号化情報を復号化手段で復号化した復号化情報（例えば、発行機関においてＱＲコードが生成された際のキャッシュ値）が一致すれば、当該複合ＱＲコードは、発行機関が発行した複合ＱＲコードであることが認証される。なお、復号化手段には公開鍵が含まれる。ただし、認証方法は、符号化情報と復号化情報との一致・不一致に限定される訳ではない。符号化情報と復号化情報とが所定の関係にあることが確認できればよい。
【０１８６】
＜オフラインによる複合ＱＲコード真贋判定システムの処理例＞
（処理例１）
図４７は、真贋判定のための複合ＱＲコード生成方法を例示するフローチャートである。複合コードの生成は、例えば、図３２に例示した管理サーバＭＳ１、コンテンツサーバＣＳ１等の情報処理装置（以下、管理サーバＭＳ１で例示）によって実行される。
【０１８７】
この処理では、管理サーバＭＳ１は、ＱＲコード用データを基に符号化手段（例：ハッシュ関数）で符号化情報（例：ハッシュ値）を計算する（Ｔ１１）。ここで、ＱＲコード用データとは、図１に例示したＱＲコードの構造のうち、データ及び誤り訂正符号の部分にデータとして組み込まれるものをいう。
【０１８８】
次に、管理サーバＭＳ１は、Ｔ１１で計算された符号化情報を暗号化手段で暗号化する（Ｔ１２）。ここでは、符号化情報を暗号化することを、暗号化情報を計算する、ともいう。より具体的には、Ｔ１２では、管理サーバＭＳ１は、例えば、秘密鍵と公開鍵のペアを有している。管理サーバＭＳ１は、電子認証局（ＣＡ）（又は登録局（ＲＡ））に申請して、公開鍵が登録され、公開鍵の証明書と公開鍵に対応する秘密鍵の発行を受けているものとする。管理サーバＭＳ１は、電子認証局（ＣＡ）から発行された秘密鍵を用いて符号化情報を暗号化する。上記暗号化手段としては、管理サーバＭＳ１において実行される暗号化処理用モジュールが例示される。
【０１８９】
次に、管理サーバＭＳ１は、ＱＲコード用データに誤り訂正を掛けてＱＲコードを生成する。また、管理サーバＭＳ１は、暗号化情報を含むドットコード用データに誤り訂正を掛けてＱＲコードのセル内にドットコードを生成する（Ｔ１３）。Ｔ１３の処理によって、実施形態１から実施形態３と同様の複合コードが生成される。
【０１９０】
そして、管理サーバＭＳ１は、複合ＱＲコードを媒体に形成する（Ｔ１４）。形成される媒体としては、ディスプレイ等による表示画面も含む。すなわち、図３２に例示したように、生成された複合ＱＲコードは、放送媒体、あるいは通信媒体を通じて、リモートのユーザ装置、あるいは、コンテンツサーバに提供される。また、形成された複合ＱＲコードは、記憶媒体に記憶される。また、形成された複合ＱＲコードは、印刷媒体に印刷される。
【０１９１】
図４８は、複合ＱＲコード読み取り・認証処理を例示するフローチャートである。ここで、複合ＱＲコード読み取り・認証処理を実行する装置は、例えば、図３２に例示したユーザ装置ＵＤ１、ＵＤ２等（以下、単にＵＤ１）である。
【０１９２】
この処理では、まず、ユーザ装置ＵＤ１は、読取り装置で複合ＱＲコードを読み取る（Ｔ２１）。ここで、読取り装置は、例えば、複合ＱＲコードの画像を取得する撮像装置である。また、複合ＱＲコードを読み取るとは、媒体上の複合ＱＲコードの画像を撮影し、主記憶装置１２（図３３参照）または画像メモリに格納し、ＱＲコードとドットコードのそれぞれからデータを取得することをいう。ここで、複合ＱＲコードのうち、ＱＲコードにコード化されたデータをＱＲコード用データという。また、複合ＱＲコードのうち、ドットコードにコード化されたデータは、Ｔ１３の処理で生成されたドットコードにコード化された暗号化情報である。
【０１９３】
次に、ユーザ装置ＵＤ１は、ＱＲコードから取得したＱＲコード用データを符号化手段（例：ハッシュ関数）で符号化情報（例：ハッシュ値）を計算する（Ｔ２２）。Ｔ２２の処理とともに、ユーザ装置ＵＤ１は、ドットコードから取得した暗号化情報を復号化手段で復号化情報を計算する（Ｔ２３）。
【０１９４】
次に、ユーザ装置ＵＤ１は、符号化情報と復号化情報を照合する（Ｔ２４）。そして符号化情報と復号化情報とが一致した場合、ユーザ装置ＵＤ１は、複合コードによる認証が成功したと判定し、対応する処理を実施する。例えば、ユーザ装置ＵＤ１は、複合ＱＲコードのＱＲコードで指定された処理を実行する（Ｔ２５）。また、例えば、ユーザ装置ＵＤ１は、複合ＱＲコードのＱＲコードで指定されたＵＲＬにアクセスする。また、例えば、ユーザ装置ＵＤ１は、複合ＱＲコードのＱＲコードで指定された情報が正しい情報であるとして、対応する処理を実行する。対応する処理とは、例えば、複合ＱＲコード中のＱＲコードで指定されるコンテンツの再生、上記ＱＲコードで指定される金融機関口座へのアクセス、上記ＱＲコードで指定されるクレジットカード番号等を用いた処理、複合ＱＲコードが印刷された媒体の真贋判定結果の表示等である。
【０１９５】
一方、符号化情報と復号化情報とが一致しない場合、ユーザ装置ＵＤ１は、複合コードによる認証が失敗したと判定し、結果をユーザに通知する（Ｔ２６）。
【０１９６】
以上述べたように、処理例１によれば、複合ＱＲコードによって、様々な認証処理、真贋判定処理、改ざん検知処理等を実施できる。上記では、ＱＲコード用データの暗号化情報をドットコードとして埋め込む処理が例示されるが、暗号化情報をＱＲコードの一部にコード化し、復号化してもよい。
【０１９７】
（処理例２）
図４９は、ドットコード用データの暗号化情報をＱＲコードにコード化し、真贋判定のための複合ＱＲコード生成方法を例示するフローチャートである。この処理では、管理サーバＭＳ１は、ドットコード用データを基に符号化手段（例：ハッシュ関数）で符号化情報（例：ハッシュ値）を計算する（Ｔ３１）。
【０１９８】
次に、管理サーバＭＳ１は、符号化情報を基に暗号化手段で暗号化情報を計算する（Ｔ３２）。次に、管理サーバＭＳ１は、暗号化情報を含むＱＲコード用データに誤り訂正を掛けてＱＲコードを生成し、ドットコード用データに誤り訂正を掛けてＱＲコードのセルにドットコードを生成する（Ｔ３３）。すなわち、ここでは、管理サーバＭＳ１は、暗号化情報をＱＲコードに組み込む。そして、複合ＱＲコードを媒体に形成する（Ｔ３４）。ここで、複合ＱＲコードが形成される媒体としては、ディスプレイ等による表示画面も含み、放送媒体、通信媒体、記憶媒体印刷媒体を含む点は、図４７と同様である。
【０１９９】
図５０は、複合ＱＲコード読み取り・認証処理を例示するフローチャートである。この処理では、ユーザ装置ＵＤ１は、読取り装置で複合ＱＲコードを読み取る（Ｔ４１）。次に、ユーザ装置ＵＤ１は、ドットコード用データを符号化手段（例：ハッシュ関数）で符号化情報（例：ハッシュ値）を計算する（Ｔ４２）。次に、ユーザ装置ＵＤ１は、ＱＲコードから取得した暗号化情報を基に、復号化手段で復号化情報を計算する（Ｔ４３）。
【０２００】
そして、ユーザ装置ＵＤ１は、符号化情報と復号化情報を照合する（Ｔ４４）。そして符号化情報と復号化情報とが一致した場合、ユーザ装置ＵＤ１は、複合コードに認証が成功したと判定し、対応する処理を実施する（Ｔ４５）。例えば、ユーザ装置ＵＤ１は、複合ＱＲコードのドットコードで指定された処理を実行する。また、例えば、ユーザ装置ＵＤ１は、複合ＱＲコードのドットコードで指定されたＵＲＬにアクセスする。また、例えば、ユーザ装置ＵＤ１は、複合ＱＲコードのドットコードで指定された情報が正しい情報であるとして、対応する処理を実行する。対応する処理とは、例えば、複合ＱＲコード中のドットコードで指定されるコンテンツの再生、上記ドットコードで指定される金融機関口座へのアクセス、上記ドットコードで指定されるクレジットカード番号等を用いた処理、複合ＱＲコードが印刷された媒体の真贋判定結果の表示等である。
【０２０１】
一方、符号化情報と復号化情報とが一致しない場合、ユーザ装置ＵＤ１は、複合コードによる認証が失敗したと判定し、結果をユーザに通知する（Ｔ４６）。
【０２０２】
以上述べたように、処理例２によれば、複合ＱＲコードによって、様々な認証処理、真贋判定処理、改ざん検知処理等を実施できる。なお、上記では、管理サーバＭＳ１がドットコード用データの暗号化情報をＱＲコードに登録して複合コードを形成した。しかし、このような処理に代えて、管理サーバＭＳ１は、第１のドットコード用データの暗号化情報を第２のドットコードに登録して、復号化してもよい。第２のドットコードは、例えば、第１のドットコードが形成されるセルとは異なるセルのドットコードである。
【０２０３】
（処理例３）
図５１は、ＱＲコード用データを暗号化してドットコードにコード化するとともに、ドットコード用のデータを暗号化してＱＲコードにコード化し、真贋判定のための複合ＱＲコード生成方法を例示するフローチャートである。
【０２０４】
この処理では、管理サーバＭＳ１は、ＱＲコード用データを基に、符号化手段（例：ハッシュ関数）で符号化情報１（例：ハッシュ値）を計算する（Ｔ５１）。次に、管理サーバＭＳ１は、符号化情報１を基に暗号化手段で暗号化情報１を計算する。すなわち、管理サーバＭＳ１は、符号化情報１を秘密鍵で暗号化する（Ｔ５２）。
【０２０５】
Ｔ５１、Ｔ５２の処理とともに、管理サーバＭＳ１は、ドットコード用データを基に、符号化手段（例：ハッシュ関数）で符号化情報２（例：ハッシュ値）を計算する（Ｔ５３）。次に、管理サーバＭＳ１は、符号化情報２を基に暗号化手段で暗号化情報２を計算する。すなわち、管理サーバＭＳ１は、符号化情報２を秘密鍵で暗号化する（Ｔ５４）。なお、Ｔ５４で使用する秘密鍵はＴ５２で使用する秘密鍵と同一の鍵であってもよいし、異なる秘密鍵であってもよい。いずれにしても、秘密鍵に対応する公開鍵で認証が実行される。
【０２０６】
次に、管理サーバＭＳ１は、ＱＲコード用データと暗号化情報２をデータとして、誤り訂正を掛けてＱＲコードを生成する（Ｔ５５）。さらに、管理サーバＭＳ１は、ドットコード用データと暗号化情報１をデータとして、ＱＲコードのセルに誤り訂正を掛けてドットコードを形成する（Ｔ５６）。
【０２０７】
そして、管理サーバＭＳ１は、複合ＱＲコードを媒体に形成する（Ｔ５７）。ここで、複合ＱＲコードが形成される媒体としては、ディスプレイ等による表示画面も含み、放送媒体、通信媒体、記憶媒体印刷媒体を含む点は、図４７、図４９と同様である。
【０２０８】
図５２は、複合ＱＲコード読み取り・認証処理を例示するフローチャートである。この処理では、ユーザ装置ＵＤ１は、ＱＲコードから取得したＱＲコード用データを基に、符号化手段（例：ハッシュ関数）で符号化情報１（例：ハッシュ値）を計算する（Ｔ６１）。次に、ユーザ装置ＵＤ１は、ＱＲコードから取得した暗号化情報２を基に、復号化手段で復号化情報２を計算する（Ｔ６２）。すなわち、ユーザ装置ＵＤ１は、暗号化情報２を復号化情報２に復号する。
【０２０９】
Ｔ６１、Ｔ６２の処理とともに、ユーザ装置ＵＤ１は、ドットコ−ドから取得したドットコード用データを符号化手段（例：ハッシュ関数）で符号化情報２（例：ハッシュ値）を計算する（Ｔ６３）。次に、ユーザ装置ＵＤ１は、ドットコードから取得した暗号化情報１を基に復号化手段で復号化情報１を計算する（Ｔ６４）。すなわち、ユーザ装置ＵＤ１は、暗号化情報１を復号化情報１に復号する。
【０２１０】
次に、ユーザ装置ＵＤ１は、各々の符号化情報と復号化情報を照合する（Ｔ６５）。個々で、照合は、符号化情報１と復号化情報１との照合、および、符号化情報２と復号化情報２との照合をいう。Ｔ６５で両方の照合が一致する場合、ユーザ装置ＵＤ１は、複合コードに認証が成功したと判定し、対応する処理を実施する（Ｔ６６）。Ｔ６６の処理は、Ｔ２５、Ｔ４４の処理と同様であるので、その詳細を省略する。
【０２１１】
一方、Ｔ６５で両方の照合が一致しない場合、ユーザ装置ＵＤ１は、複合コードによる認証が失敗したと判定し、結果をユーザに通知する（Ｔ６７）。
【０２１２】
以上述べたように、処理例３によれば、複合ＱＲコードによって、様々な認証処理、真贋判定処理、改ざん検知処理等を実施できる。なお、上記では、管理サーバＭＳ１がドットコード用データの暗号化情報をＱＲコードにコード化し、ＱＲコード用データの暗号化情報をドットコードにコード化して複合コードを形成した。しかし、このような処理に代えて、管理サーバＭＳ１は、ＱＲコード用データの暗号化情報はＱＲコードに、ドットコード用データの暗号情報はドットコードにコード化して、ユーザ装置ＵＤ１が両方を復号化するようにしてもよい。
【０２１３】
（処理例４）
図５３は、ＱＲコード用データとドットコード用データで形成されるデータ列の暗号化情報をドットコードにコード化し、真贋判定のための複合ＱＲコード生成方法を例示するフローチャートである。
【０２１４】
この処理では、管理サーバＭＳ１は、ＱＲコード用データとドットコード用データで形成されるデータ列を基に、符号化手段（例：ハッシュ関数）で符号化情報（例：ハッシュ値）を計算する（Ｔ７１）。
【０２１５】
次に、管理サーバＭＳ１は、符号化情報を基に暗号化手段で暗号化情報を計算する（Ｔ７２）。すなわち、管理サーバＭＳ１は、符号化情報を暗号化情報に暗号化する。次に、管理サーバＭＳ１は、ＱＲコード用データに誤り訂正を掛けてＱＲコードを生成する。また、管理サーバＭＳ１は、暗号化情報を含むドットコード用データに誤り訂正を掛けてＱＲコードのセルにドットコードを生成する（Ｔ７３）。
【０２１６】
そして、管理サーバＭＳ１は、複合ＱＲコードを媒体に形成する（Ｔ７４）。ここで、複合ＱＲコードが形成される媒体としては、ディスプレイ等による表示画面も含み、放送媒体、通信媒体、記憶媒体印刷媒体を含む点は、図４７、図４９、図５１と同様である。
【０２１７】
図５４は、複合ＱＲコード読み取り・認証処理を例示するフローチャートである。この処理では、ユーザ装置ＵＤ１は、読み取り装置で複合ＱＲコードを読み取る（Ｔ８１）。次に、ユーザ装置ＵＤ１は、ＱＲコード用データとドットコード用データをデータ列として符号化手段（例：ハッシュ関数）で符号化情報（例：ハッシュ値）を計算する（Ｔ８２）。Ｔ８２の処理とともに、ユーザ装置ＵＤ１は、ドットコードから取得した暗号化情報を基に、復号化手段で復号化情報を計算する（Ｔ８３）。すなわち、ユーザ装置ＵＤ１は、暗号化情報を復号化情報に復号する。
【０２１８】
次に、ユーザ装置ＵＤ１は、符号化情報と復号化情報を照合する（Ｔ８４）。そして符号化情報と復号化情報とが一致した場合、ユーザ装置ＵＤ１は、複合コードによる認証が成功したと判定し、対応する処理を実施する（Ｔ８５）。Ｔ８５の処理は、Ｔ２５、Ｔ４４、Ｔ６６の処理と同様であるので、その詳細を省略する。
【０２１９】
一方、Ｔ８５で両方の照合が一致しない場合、ユーザ装置ＵＤ１は、複合コードによる認証が失敗したと判定し、結果をユーザに通知する（Ｔ８６）。
【０２２０】
以上述べたように、処理例４によれば、複合ＱＲコードによって、様々な認証処理、真贋判定処理、改ざん検知処理等を実施できる。なお、上記では、管理サーバＭＳ１はＱＲコード用データとドットコード用データで形成されるデータ列の暗号化情報をドットコードにコード化して複合コードを形成した。しかし、このような処理に代えて、管理サーバＭＳ１は、ＱＲコード用データとドットコード用データで形成されるデータ列の暗号化情報をＱＲコードにコード化して、ユーザ装置ＵＤ１が両方を復号化するようにしてもよい。
【０２２１】
（処理例５）
図５５は、ＱＲコード用データとドットコード用データで形成されるデータ列の符号化情報をドットコードにコード化する複合ＱＲコード生成方法を例示するフローチャートである。この処理では、秘密鍵と公開鍵は用いられない。この処理では、管理サーバＭＳ１は、ＱＲコード用データとドットコード用データで形成されるデータ列を符号化手段（例：ハッシュ関数）で符号化情報（例：ハッシュ値）を計算する（Ｔ９１）。次に、管理サーバＭＳ１は、ＱＲコード用データに誤り訂正を掛けてＱＲコードを生成し、Ｔ９１で生成した符号化情報を含むドットコード用データに誤り訂正を掛けてＱＲコードのセルにドットコードを生成する（Ｔ９２）。
【０２２２】
そして、管理サーバＭＳ１は複合ＱＲコードを媒体に形成する（Ｔ９３）。ここで、複合ＱＲコードが形成される媒体としては、ディスプレイ等による表示画面も含み、放送媒体、通信媒体、記憶媒体印刷媒体を含む点は、図４７、図４９、図５１、図５３と同様である。
【０２２３】
図５６は、複合ＱＲコード読み取り・認証処理を例示するフローチャートである。この処理では、ユーザ装置ＵＤ１は、例えば、コンテンツサーバから取得した情報から、読み取り装置で複合ＱＲコードを読み取る（Ｔ１０１）。次に、ユーザ装置ＵＤ１は、ＱＲコード用データとドットコード用データをデータ列として符号化手段（例：ハッシュ関数）で符号化情報（例：ハッシュ値）を計算する（Ｔ１０２）。次に、ユーザ装置ＵＤ１は、ドットコードから符号化情報（例：ハッシュ値）を取得する（Ｔ１０３）。
【０２２４】
次に、ユーザ装置ＵＤ１は、計算した符号化情報と取得した符号化情報を照合する（Ｔ１０４）。そして符号化情報と復号化情報とが一致した場合、ユーザ装置ＵＤ１は、複合コードによる認証が成功したと判定し、対応する処理を実施する（Ｔ１０５）。Ｔ１０５の処理は、Ｔ２５、Ｔ４４、Ｔ６６、Ｔ８５の処理と同様であるので、その詳細を省略する。
【０２２５】
一方、Ｔ１０５で符号化情報と復号化情報とが一致しない場合、ユーザ装置ＵＤ１は、複合コードによる認証が失敗したと判定し、結果をユーザに通知する（Ｔ１０６）。
【０２２６】
処理例１から処理例４とは異なり、処理例５では、誤り訂正が正しかったかを確認できる。また、Ｔ９１とＴ１０２で用いられる符号化処理が、管理サーバＭＳ１とユーザ装置ＵＤ１だけが特定できる処理である場合には、処理例１から処理例４と同様に、様々な認証処理、真贋判定処理、改ざん検知処理等を実施できる。
【０２２７】
図４７から図５４で説明した電子認証の全てに対して、下記のケースも含み、誤り訂正が正しかったかを認証できる。
・ＱＲコードのデータの符号化情報を暗号化手段で暗号化した暗号化情報を、ドットコードに格納
・ＱＲコードのデータの符号化情報を暗号化手段で暗号化した暗号化情報を、ＱＲコードに格納
・ドットコードのデータの符号化情報を暗号化手段で暗号化した暗号化情報を、ＱＲコードに格納
・ドットコードのデータの符号化情報を暗号化手段で暗号化した暗号化情報を、ドットコードに格納
・ＱＲコードのデータの符号化情報を暗号化手段で暗号化した暗号化情報をドットコードに、ドットコードのデータの符号化情報を暗号化手段で暗号化した暗号化情報をＱＲコードに、それぞれ格納
・ＱＲコードのデータの符号化情報を暗号化手段で暗号化した暗号化情報をＱＲコードに、ドットコードのデータの符号化情報を暗号化手段で暗号化した暗号化情報をドットコードに、それぞれ格納
・ＱＲコードのデータと、ドットコードのデータから形成されるデータ列の符号化情報を暗号化手段で暗号化した暗号化情報を、ＱＲコードに格納
・ＱＲコードのデータと、ドットコードのデータから形成されるデータ列の符号化情報を暗号化手段で暗号化した暗号化情報を、ドットコードに格納
【０２２８】
同様に、図５５および図５６で説明した電子認証の全てに対して、下記のケースも含み、誤り訂正が正しかったかを認証できる。
・ＱＲコードのデータの符号化情報をドットコードに格納
・ＱＲコードのデータの符号化情報をＱＲコードに格納
・ドットコードのデータの符号化情報をＱＲコードに格納
・ドットコードのデータの符号化情報をドットコードに格納
・ＱＲコードのデータの符号化情報をドットコードに、ドットコードのデータの符号化情報をＱＲコードに、それぞれ格納
・ＱＲコードのデータの符号化情報をＱＲコードに、ドットコードのデータの符号化情報をドットコードに、それぞれ格納
・ＱＲコードのデータと、ドットコードのデータから形成されるデータ列の符号化情報を、ＱＲコードに格納
・ＱＲコードのデータと、ドットコードのデータから形成されるデータ列の符号化情報を、ドットコードに格納
【０２２９】
＜実施形態６の特長と用途＞
以下、実施形態６で説明したオフラインによるドットコードに暗号化情報を形成する複合ＱＲコードの特長と用途（認証系とコンテンツ系）を列挙する。
【０２３０】
（複合ＱＲコードの特徴例と効果）
複合ＱＲコードは、ネットで認証をしなくても電子認証が可能であり、ネット上でのハッキング等の防止に繋がる。さらに、コンテンツや様々なネット上のサービスを提供するサービス提供業者は、ユーザに複合ＱＲコード読取りアプリさえダウンロードインストールする仕組みを提供すれば、複合ＱＲコードを使用した様々なコンテンツサービスや電子認証のための面倒な管理と費用を要するサーバを運営する必要がない。したがって、サービス提供業者は、継続したユーザへのサービスが安価に提供できる。その他、零細なサービス企業でも、サーバを構築することなく複合ＱＲコードを使用した様々なコンテンツサービスを提供できる。
【０２３１】
（翻訳機能の搭載、各国言語データの搭載）
さらに、コンテンツでの利用では、アプリに翻訳・通訳等の出力機能を備えれば、１つのハイブリッドＱＲコードで取得した様々なコンテンツの世界各国での利用が可能となる。一方、各国語のテキストや少量の音声データや画像を識別できるように媒体に形成された複合ＱＲコードに格納し、アプリに翻訳・通訳機能を搭載していなくても必要な言語のテキスト・画像の表示や音声を再生できる。当然、複合ＱＲコードをディスプレイに表示して、時系列ドットコードやカラードットコードを使用すれば、容量の小さなアニメーションも同様に各国語用のデータにして複合ＱＲコードに格納し、各国のコンテンツを取得できる。
【０２３２】
（複合ＱＲコードへのデータ格納の仕方）
複合ＱＲコードは、ＵＲＬ等が格納されたＱＲコードを、複合ＱＲコードリーダーだけでなく、普及しているＱＲコードリーダーでも読み取ることができることを特長にしているが、ドットコードの占める面積は最大でも２０％以下であり、さらに、従来のＱＲコードリーダーは、点のような画像はノイズとして扱い無視して、ＱＲコード読取りに支障をきたすことはない。また、データをドットコードに格納し、図４９、図５０のように、電子署名をＱＲコードのデータ領域に格納してもよい。なぜなら、ドットコードの方が遥かに多くの情報を格納できる特長を生かせるからである。そこで、容量の小さなＵＲＬ等のデータはＱＲコードに格納し、コンテンツ等の容量の大きなデータはドットコードに格納すればよい。さらに、ドットコードのタイプやバージョン、誤り訂正符号のバージョン等のフォーマット情報もＱＲコードに格納して、ドットコードには少なくともデータと誤り訂正符号を格納して、ＱＲコードにより得られる情報でドットコードを読み取るようにしてもよい。これにより、ドットコードのデータフォーマットを可変にすることができ、汎用性を高めることができる。すなわち、利用分野毎にドットコードのデータフォーマットを定めることができ、どのような複合ＱＲコードリーダーでも適正にドットコードを読み取ることが可能となる。
【０２３３】
（様々なチケットとしての用途）
購入したチケット番号等が格納された複合ＱＲコードがチケット販売先から送付され、チケット使用時には、複合ＱＲコード対応アプリがクラウドからの送信により時間変化するワンタイムパスワードをドットコードで表示することにより、入場確認の際に複合ＱＲコード読取り装置で読み取られ、チケットを購入した人だけしか、入場をできないようにできる。さらに、チケット購入者のスマホＩＤを取得して、当該スマホにワンタイムパスアワードを送信することにより、チケットの転売を防止することもできる。ドットコードにワンタイムパスワードを格納すれば、ドットが変化しても視認しづらいので、ワンタイムパスワードが使用されていることをユーザに意識させないようにできる。一方、ＱＲコードにワンタイムパスワードを格納すれば、ＱＲコードが変化するため、コピー防止を実施していることをユーザに伝え、偽造者に対して抑止効果がある。現行のＱＲコードは、その内容を誰でも読み取ることができ、誰でも生成することができる。チケットが印刷媒体であって、チケット番号をＱＲコードに埋め込む場合は、ＱＲコードから読み取った情報を基にリバースエンジニアリングを実施することにより、チケット番号の発行を第三者が実施できる可能性が高い。チケット番号発行手順が分かれば、異なるチケット番号を容易に生成できる。
【０２３４】
複合ＱＲコード読取りアプリは、一般に広く提供するが、複合ＱＲコードの生成は、特定の複合ＱＲコード発行機関のみができるようにするか、複合ＱＲコード発行業者に対してのみ、チケット番号として使用する特定のドットコード（限定されたユニークなドットコード）のみを符号化できる複合ＱＲコード生成アプリを提供すればよい。これにより、取得したチケットのチケット番号とは異なるチケット番号の偽造チケットを制作することはできなくなる。なお、世の中に発行される複合ＱＲコードを完全なユニークコードとした場合、特定のユニークなドットコードに限定して符号化できる複合ＱＲコード生成アプリが生成する複合ＱＲコードと、他の生成アプリで生成できる複合ＱＲコードと重複しないようにすればよい。なお、チケットは、イベント参加や施設入場、交通機関利用、食券、行政サービスの利用券等、様々なサービスを取得するためのものである。本実施例では、チケット番号としてユニークなドットコードを符号化できる複合ＱＲコード生成アプリについて記載したが、どのような分野でのどのような利用においても、その都度の契約の下に特定のユニークなドットコードを限定して符号化できる複合ＱＲコード生成アプリを提供するサービスが望ましい。もちろん、複合ＱＲコード発行機関では、常にユニークな複合ＱＲコードを発行する。なお、複合ＱＲコードはＱＲコードとドットコードとが複合されたコードであり、ドットコードが同一で、ＱＲコードがユニークであっても、ユニークな複合ＱＲコードを生成できることは言うまでもない。
【０２３５】
（生体認証での用途）
膨大な本人情報（顔、指紋、虹彩、静脈等の生体情報）を、誤り訂正を掛けてドットコードに登録する。本人情報が改ざんされないように、ＱＲコードまたはドットコードのいずれかに電子署名をする。使用方法は、決済等をする際に、複合ＱＲコードを表示して、それを読取り取得した生体情報と、その場で本人から取得（カメラやセンサーによる顔や指紋、虹彩、静脈情報等の取得）した生体情報が一致するかで、無人でも本人確認ができ、金融決済や重要施設の入室、重要機器の操作が、高セキュリティで実施できる。なお、スマートフォン等の本人情報の登録は、搭載されているカメラで顔や指紋、虹彩を撮影することにより容易に行える。なお、本人情報は、スマートフォンで顔や指紋、虹彩を撮影した生データでもよいし、専用アプリで生データを解析した特徴点データあってもよい。特徴点データの場合はデータ量が小さくなることが利点であるが、当該特徴点データと同じ特徴点を生成する特定の照合システムを使用することが前提となり汎用性に乏しい。生データの場合は、現場で取得された生体情報との照合をどのようなシステムで実施しても構わないことから汎用性に優れている。生データの容量は多量の情報量となり従来のＱＲコードでは格納できなかったが、複合ＱＲコードでは十分、それらの情報を格納できる。現在の顔認証技術においては、２〜３ＫＢに圧縮された写真で実現できる。
【０２３６】
（決済手段、送金手段としての用途）
電子署名をした複合ＱＲコードにクレジットカードやプリペイドカード、キャッシュカード等の金融情報が格納されていれば、極めてセキュリティ性の高い金融決済ができる。さらに、ワンタイムパスワード等もＱＲコードやドットコードで同時に発行すれば、さらにセキュリティ性は高まる。特に、ドットコードでのパスワードの表示では、大きな情報量のパスワードを発行でき、１秒間に数回以上のワンタイムパスワードの表示が可能であり、ドットが小さいためショルダーハッキングのような盗撮などで盗まれる可能性が極めて低くなる。このような、金融決済の実施例では、店舗側のシステムが購入品の品目や単価、支払い合計額等を印刷した印刷媒体を購入者に提供するか、当該内容をディスプレイに表示すればよい。購入者が表示内容を確認した後、購入者のスマートフォンに金融決済カード情報を表示すると、店舗側のシステムが複合ＱＲコードリーダー（スマートフォンでもよい）で読取り、読み取った金融決済カード情報を基に金融決済サーバに、購入品決済情報を送信する。そして、金融決済サーバは決済承認すると、店舗側のＰＯＳに直ちに通知し、商品の購入が完了する。さらに、購入者のスマートフォンには、購入品決済情報や購入店舗情報等の決済完了情報が送信されてもよい。このように、レシートを発行しないで決済することができ、店舗側はプリンタの運用を無くし、購入者は購入品の情報をデータとして管理できる。また、決済できない場合、クレジットカードの超過利用やプリペイドカード、銀行口座で残金が足りない場合も、それらの情報がスマートフォンに表示されてもよい。
【０２３７】
クレジットカードやプリペイドカード、銀行口座等の金融決済の実施例としては、複合ＱＲコードを使用するシステムでは、購入者がスマートフォンに金融決済カード情報を複合ＱＲコードで表示し、店舗側のシステムが複合ＱＲコードリーダー（スマートフォンでもよい）でスマートフォンの表示内容を読取り、読み取った金融決済カード情報を基に、金融決済サーバに購入品決済情報を送信する。そして、金融決済サーバは決済承認すると、決済承認結果を店舗側のＰＯＳに直ちに通知し、商品の購入決済が完了する。さらに、購入者のスマートフォンには、購入品情報や購入店舗情報等の情報が送信され、「決済」、「中止」や「一括払い」「分割払い」等のアイコンが表示され選択して決済してもよい。また、決済できない場合、クレジットカードの超過利用やプリペイドカード、銀行口座で残金が足りない場合も、それらの情報がスマートフォンに表示されてもよい。店舗側のシステムが購入品の品目や単価、支払い合計額等を印刷した印刷媒体を購入者に提供するか、または当該内容をディスプレイに表示して購入者が確認した後、クレジットカード等により決済すればよい。
【０２３８】
もう１つの実施例では、店舗側がＰＯＳのディスプレイ（スマートフォンでもよい）に複合ＱＲコードを表示し、購入者が当該複合ＱＲコードを読み取ると、購入品の品目や単価、支払い合計額が表示され、「決済」、「中止」や「一括払い」「分割払い」等のアイコンが表示され選択すると、金融決済サーバにそれらの決済情報が送信され、決済承認されれば店舗側のＰＯＳに直ちに通知され、商品の購入が完了する。プリペイドカードや銀行口座で残金が足りない場合は、残高や不足分等が表示される。なお、カードを相手方に渡さないことは、カードの情報を容易にコピーされないことを意味しており、なりすまし被害を抑えることができる。
【０２３９】
（送金処理への適用）
さらに、個人間で送金したい場合、送金者が金額をスマートフォンに入力すると、送金者や金額等の送金情報が登録された複合ＱＲコードが表示される。相手が自身のスマートフォンで読取り、「確認」アイコンをタップすると送金者に通知され、誰に幾ら送金されるかが表示され、「決済」アイコンをタップすると、相手に送金が実施され、個人間の金融取引が成立する。他の方法では、相手のスマートフォンに送金先情報等が登録された複合ＱＲコードを表示させ、送金者のスマホで読み取ると送金先情報が表示され、金額をスマートフォンに入力して、「決済」アイコンをタップすると、相手に送金が実施され個人間の金融取引が成立する。その際、複合ＱＲコードに写真等の本人情報が登録されていれば、着金者の本人確認が容易になる。いずれも、本人以外の第三者が送金できないようにセキュリティを高めるために、「決済」アイコンをタップする際にパスワードを入力してもよい。これらの金融取引に関して、金額、日付以外に‘貸借’や‘贈与’、‘対価’等を分類し、記録に残すこともできる。
【０２４０】
（クーポンとしての利用）
ポイントやクーポン、スタンプでの利用では、顧客が特典を獲得する場合に、特典を獲得できる複合ＱＲコードを、特典提供者のシステムがどこにでも形成（印刷まはディスプレイ表示）し、顧客のスマートフォンで読み取ることにより特典を取得できる。また、特典提供者のシステムは、顧客のスマートフォンで表示した複合ＱＲコードを読取り、電話回線やＷＩＦＩ、ブルーツース等、様々な通信手段で顧客のスマートフォンに特典を付与したり、利用した特典を消込することができる。当該複合ＱＲコードには、通信先の電話番号やアドレス、スマホＩＤ、会員番号等を含めてもよい。
【０２４１】
（証明証としての利用）
システムが免許証や健康保険証、学生証、社員証、会員カード、パスポート等、本人を確認する場合、本人が当該カードを提示しなくても、それらの情報をドットコードに格納して、本人が複合ＱＲコードをスマートフォンに表示させてもよい。システムは、複合ＱＲコード読取り装置でドットコードを読取り、読取り装置に対して必要な情報を表示させ、本人に生年月日や住所等を告げて貰い、本人であることを確認できる。なお、印刷媒体やディスプレイ等に形成された複合ＱＲコードの読取りは、スマートフォンに搭載した専用アプリケーションによって行うこともできる。特に、写真もドットコードに格納できるので、従来の写真を見ての本人確認も、カードが無くても可能となる。確認を行う相手方のシステムに、それらのカード情報が渡っても、郵便局や病院では、カードをコピーするのが習慣であるが、むしろ、スマートフォン（専用アプリ）による複合ＱＲコードの表示や読取り、専用読取り装置による複合ＱＲコードの読取りでは、読み取ったデータに含まれる写真や生年月日、住所等の一部のみを表示し、その他の情報は非表示にすることによりセキュリティを高めることができる。さらに、読み取った複合ＱＲコードを時間や場所等と共に履歴を、読み取ったシステムがトレースできることからビッグデータとしても利用可能となる。なお、カードを相手方に渡さないことは、カードの情報を容易にコピーされないことを意味しており、なりすまし被害を抑えることができる。
【０２４２】
（記録手段としての利用）
医療や法廷での資料から不動産や金融関連の契約等、様々な分野で紙媒体の情報を保存することが義務付けられている。ＯＣＲでデジタル化してクラウドに記録し検索すれば、システムはテキスト情報を取得できるが、人が紙媒体を見て、それらの情報を検索するのは面倒である。複合ＱＲコードは、紙媒体数ページ分のテキスト（４，０００文字程度、カラードットを使用できれば、１万文字以上）を格納することができ、システムはその場で印刷された複合ＱＲコードを読取り、当該情報を容易に取得できる。複合ＱＲコードの添付は、ｉ）システムがＯＣＲで読み取って得られたデータと共に任意の位置に印刷してもよいし、ｉｉ）システムが複合ＱＲコードをシール等に印刷し、原文書や印刷文書に貼り付けられるようにしてもよい。ｉｉｉ）なお、原文書に複合ＱＲコードを印刷する所定の領域（文書近傍または内部）が形成されている場合には、システムは、原文書（原文書への重畳印刷）やＯＣＲにより得られたデータによる印刷文書の当該領域に複合ＱＲコードを印刷してもよい。
【０２４３】
さらに、新聞や雑誌、カタログ、チラシ等、様々な活字印刷媒体にハイブリッドＱＲコードに当該文書等を格納・印刷することにより、インターネットを使用せずとも、記載されている情報や更なる情報を提供することができる。
【０２４４】
（情報授受手段として利用）
様々な情報のやり取りにおいても、複合ＱＲコードによって安全性が向上する。例えば、ユーザは、メールアドレスやＳＮＳにおける連絡先を相手に教えることなく、複合ＱＲコードを使用すれば写真や音声、テキスト等を容易に送受信できる。例えば、写真であれば、スマートフォンで閲覧する場合の高品質の写真や１０分程度の音声、数万文字以上のテキストを格納できる。テキストの文字数に関しては前述しているのでここでは説明を省くが、音声においては、ＡＤＰＣＭ（適応的差分パルス符号化変調）とデータ圧縮技術によって０．３ＫＢＰＳとなるが、ＭＥＬＰ（混合励振線形予測）とデータ圧縮技術によって０．１ＫＢＰＳで可能となり、ドットコードには最大２ＫＢ程度の情報を格納できることから２０秒程度の聞き取り可能な音声が格納できる。なお、画像においては、ＪＰＥＧで２ＫＢ程度の写真（人の目による本人確認ができる程度）の写真等のコンテンツを取得できる。さらに、最新の静止画像圧縮技術（ＢＰＧ、あるいは次世代ＪＰＥＧであるＪＰＥＧ  ＸＬ等）によって顔画像認識に十分耐えうる品質を保持できる。なお、専用の高解像度の複合ＱＲコード読取り装置を使用し、印刷されたＱＲコードの最大情報量を有するバージョン４０、１７７×１７７セルに対応する複合ＱＲコードでは、８倍の約２４ＫＢバイトの情報を格納できる。赤外線やブルーツース等、スマートフォンで情報をやり取りできる機能も多々あるが、全てのスマートフォンで当該機能が使用できない。しかし、ユーザが複合ＱＲコード読取り専用アプリをスマートフォンにダウンロードインストールをすれば、複合ＱＲコードの表示・読取りは殆どのスマートフォンで利用できるため、普及の可能性が極めて高い。例えば、集合写真を撮った後、複合ＱＲコードを印刷またはディスプレイに表示し、当該複合ＱＲコードを各自が読み取れば、全員がアドレス等を伝えなくても、自身のスマートフォンに集合写真を取得することができる。複合ＱＲコードを印刷しておけば、サーバ等にアップしなくても、卒業アルバム等の記念写真やメッセージを何時でも何処でも永遠に取得できる。これまでは、長年に渡って写真情報を閲覧・ダウンロードできるサーバ環境を運営する必要があったが、本実施形態ではそのような、サーバ管理やコストの無駄を省ける。このような本発明の効果は様々なコンテンツ分野に利用でき、サーバ構築・管理を継続する責任から逃れることができる大きなメリットを有する。正に売り切りのビジネスモデルを展開できる。
【０２４５】
なお、スマートフォンその他のシステムが高品質な写真や１０分程度の音声、数万文字以上のテキストを格納して、スマートフォンに複合ＱＲコードを表示する際に、例えば、第１のコード（ＱＲコード）の表示を固定し、異なる複数の第２のコード（ドットコード）を所定時間ずつ表示することにより多量な情報を生成できる。読み取り装置が複合ＱＲコードリーダーで点滅する時系列ドットコードを読み取る場合、一度だけ、ＱＲコードを読み取るだけで、その後は、ドットコードのみを読み取ることにより高速に処理できる。撮影時の手振れが生じた場合に、読み取り装置がタイミングパターンやアライメントパターンの撮像位置の変化を追跡し、都度、検出したドット位置の補正を行えば、ドットコードを正確に読み取ることができる。複合ＱＲコードをスマートフォンに表示し、他のスマートフォン等の読み取り装置で当該複合ＱＲコードを読み取る場合、ドットコードに格納できる１回の情報量は０．８５Ｋ程度であるが、２〜３秒間にドットコードを２４回程度、変化させる時系列ドットコードとカラードットコードにより、読み取り装置は、２０ＫＢ以上の情報量を取得することができる。これを写真データで再現すると、読み取り側のスマートフォンで表示した場合、ユーザは十分に高品質な画像として閲覧でき、表示側のスマートフォンは、７万文字を超えるテキスト情報も送信できる。
【０２４６】
（ドットコードのカラー化）
前述のようにドットのカラー化により、複合ＱＲコードの情報量をさらに増大することが可能である。読取り装置ではドットの色をＲＧＢで読み取るため、色の表示が機種毎に異なるどのようなディスプレイでも、少なくとも赤（Ｒ）、緑（Ｇ）、青（Ｂ）、黄（ＲＧの混色）、シアン（ＧＢの混色）、マゼンダ（ＲＢの混色）、黒、白（ドット無し）を識別することができ、それだけで、１ドット当り３ｂｉｔが増加させることができる。つまり、１セル当りの情報量が３倍になる。現在、符号可変長技術を用いれば、情報量をさらに２倍、つまり６倍程度に増加できる可能性が高い。この結果、システムは、時系列ドットコードの時間変化と併用して、カラードットコードを時間変化させることにより、ＱＲコードの数１００倍を超える多量の情報を送信できる。このことから、解像度および色数が小さく尺が短ければ、システムはアニメーションの送信も可能である。システムが複合ＱＲコードを時間変化させるような場合、電子認証の実行は最初の複合ＱＲコードに格納されたコンテンツのみでもよい。さらに、コンテンツ部分を電子認証しないケースが有ってもよい。これらの処理は、アニメーションだけではなく、多量のテキストや高解像度の画像の授受に適用してよい。
【０２４７】
（情報取得、情報提供サービスへの適用）
情報取得の実施例としては、例えば、ユーザはサイネージとしてポスター印刷やディスプレイに表示された複合ＱＲコードから、様々な情報を直ぐに取得できる。通常、ユーザは、無線通信回線、有線通信回線、専用回線、あるいはインターネット等の公衆回線等を使用して情報を取得する。しかし、ユーザは様々な媒体上の複合ＱＲコードの読み取りを通じて、そのような通信環境が無くてもどこでも無償で情報を取得できる。さらに、アプリに翻訳・通訳等の出力機能を備えれば、１つの複合ＱＲコードで取得した様々なコンテンツを世界各国の人の利用が可能となる。一方、媒体が各国語のテキストや少量の音声データや画像を識別できるように媒体に形成された複合ＱＲコードに格納し、読み取り装置が媒体から複合ＱＲコードを読み出すことで、アプリに翻訳・通訳機能を搭載していなくても必要な言語のテキスト・画像の表示や音声の再生が可能となる。当然、複合ＱＲコードをディスプレイに表示して、時系列ドットコードやカラードットコードを使用すれば、容量の小さなアニメーションも同様に各国語用のデータにローカライズして複合ＱＲコードに格納することが可能となり、ユーザはインターネットや翻訳アプリを使用せずとも各国のコンテンツを取得できる。
【０２４８】
写真取得の実施例としては、プリクラ（登録商標）や証明写真等の撮影ボックスで撮影した自身の写真を複合ＱＲコードに格納させ、撮影ボックスのディスプレイに当該複合ＱＲコードを表示させて、自身のスマートフォンで撮影することにより、写真のデータを取得できる。インターネットにより撮影した写真を提供するサービスがあるが、撮影した写真は個人情報でありインターネットでは漏洩する可能性があるが、複合ＱＲコードにより漏洩を防ぐことができる。高品位の写真を提供するため、カラードットコードや時系列ドットコードを使用するのが望ましい。
【０２４９】
音声取得の実施例では、情報提供側のシステムが書籍、雑誌、教科書、絵本、カタログ、チラシ、新聞、ポスター、パッケージ、シール、処方箋等、様々な印刷媒体に、音声情報が格納された複合ＱＲコードを印刷して配布することで、ユーザがスマートフォンで読取り、音声再生できる。なお、スマートフォンで設定された言語で音声情報が再生されてもよいし、他言語を設定して音声情報を再生してもよい。なお、情報提供側のシステムが音声だけでなくテキストや画像等の情報を格納して、ユーザがそれらの情報を取得できることは言うまでもない。さらに、アプリに翻訳・通訳等の出力機能を備えれば、１つの複合ＱＲコードで取得した様々な音声コンテンツの世界各国での利用が可能となる。一方、各国語の音声データを識別できるように媒体に形成された複合ＱＲコードに格納することで、スマートフォン等のシステムは、アプリに翻訳・通訳機能を搭載していなくてもユーザ所望の言語で音声を再生できる。当然、システムが複合ＱＲコードをディスプレイに表示して、時系列ドットコードやカラードットコードを使用すれば、容量の小さなアニメーションも同様に各国語用のデータにして複合ＱＲコードに格納することが可能となり、ユーザは、スマートフォン等の携帯端末で複合ＱＲコードを読み取ることで、各国のコンテンツを取得できる。なお、本実施例では、複合ＱＲコードを媒体に印刷された印刷媒体としているが、様々な媒体に刻印により複合ＱＲコードを生成してもよい。さらに、簡易な点字をドットコードの一部に形成し、格納されている情報を点字で表現してもよい。
【０２５０】
（ゲームでの利用）
ゲームの実施例では、ユーザはキャラクタやアイテムが格納された複合ＱＲコードを自身のスマートフォンで表示し、提供する相手のスマートフォンで読み取らせることにより交換ができる。その結果、人と人との対面によるコミュニケーションにより新感覚のゲームが開発できる。また、情報提供側のシステムがキャラクタやアイテムの他、スポーツ選手、芸能人等をカード表面に印刷したトレーディングカードやゲームカードの表面または裏面の少なくともいずれかに複合ＱＲコードを印刷し当該カード特有のテキスト、画像、音声等の情報を格納し、ユーザが取得できるようにしてもよい。さらに、送付者側システムがグリーティングカードに複合ＱＲコードを印刷すると、送付者を撮影した写真や動画、図形、相当量のテキスト等も送付先で取得することができる。ここで、送付者側システムはインターネットに送付する情報を複合ＱＲコードにアップしてもよい。一方、それらの情報を格納した複合ＱＲコードをユーザが印刷できるようにすれば、インターネットを使用せずとも、紙媒体を介して送付者からの情報を送付先で取得できる。但し、印刷された複合ＱＲコードでは、情報量に限りがあるので、動画や高精細の写真は難しいと言える。
【０２５１】
（アプリのコード化）
時間変化させる時系列ドットコードやカラードットコードにより、読み取り装置は膨大な情報を取得できることから、アプリを複合ＱＲコードに格納し、ダウンロードすることなく簡便にアプリをインストールすることもできる。すなわち、インターネットを使用できない環境であってもアプリをインストールできるだけでなく、クラウドやサーバに登録し運営することなくアプリを、様々な媒体（紙媒体、放送媒体等）を通じて無経費で継続的に提供できる。正に売り切りのビジネスモデルを展開できる。
【０２５２】
（複合ＱＲコード発行システム）
偽物オンラインショッピングやクレジットカード情報のハッキング等、偽装ＱＲコードが多大な被害をもたらしている。
【０２５３】
そこで、複合ＱＲコードの公式発行機関を設け、複合ＱＲコード使用者（事前に公式発行機関が承認した使用者）がＵＲＬ等のデータを公式発行機関に送信すると、ドットコードに電子署名された複合ＱＲコードが生成され使用者に提供される。使用者は、複合ＱＲコードであることを示す認定マーク（認定マークをＱＲコードの中央に配置してもよい）と共に、その複合ＱＲコードを印刷またはディスプレイに表示して使用する。公式発行機関は、複合ＱＲコードの読取りアプリを無償でユーザに提供する。ユーザは認定マークがあれば、当該アプリで複合ＱＲコードを読取り真贋判定できる。事業モデルは、ｉ）複合ＱＲコード使用者承認手続き、ｉｉ）複合ＱＲコード発行、ｉｉｉ）複合ＱＲコードの読取りアプリ使用時の広告費等で課金できる。
【０２５４】
個人を特定して電子認証や様々なサービスを享受する場合、個人ＩＤとして公式発行機関より、複合ＱＲコードを発行してもよい。個人ＩＤ複合ＱＲコードには、本人の名前、生年月日、住所、写真等、個人の基本情報が登録される。その他、クレジットカード情報や銀行口座、免許証や健康保険証等の証明書の情報を登録してもよい。個人ＩＤ複合ＱＲコードリーダーは、公式発行機関が承認した法人に対してのみ提供するようにし、その専用リーダーは使用記録等、厳重に追跡調査ができるように管理してセキュリティを確保すればよい。本人認証では、システムは、名前、生年月日、住所、写真等による確認で済むため、汎用の複合ＱＲコードリーダー（アプリ）を使用して、使用後には、本人情報が直ちに削除され本人情報の漏洩を防ぐようにすればよい。
【０２５５】
図４７〜図５４のフローチャートでは、各種データの符号化情報を暗号化した暗号化情報を複合ＱＲコードに格納して、暗号化された符号化情報に対応するデータの真贋判定の実施を示している。一方、印刷時の情報欠落や汚れ、複合ＱＲコードの撮影状態等で読み取った複合ＱＲコードが、作成時の複合ＱＲコードとは完全に一致しないことが多々ある。ディスプレイに表示された複合ＱＲコードも複合ＱＲコードの撮影状態等で同様に一致しないことがある。そこで、図５５〜図５６のフローチャートでは、真贋判定は完全にできないものの、誤り訂正符号により、誤り訂正が適正に実施できたかを容易に判定できる方法を示している。
【０２５６】
＜変形例＞
上記図４７から図５６では、管理サーバＭＳ１が複合ＱＲコードを生成し、ユーザ装置ＵＤ１が複合ＱＲコード読み取り・認証処理を実行したが、上記処理は、管理サーバＭＳ１とユーザ装置ＵＤ１との関係に限定される訳ではない。すなわち、上記複合ＱＲコード読み取り・認証処理は、管理サーバＭＳ１とコンテンツサーバＣＳ１、ＣＳ２等の間で実施してもよい。また、上記複合ＱＲコード読み取り・認証処理は、コンテンツサーバＣＳ１、ＣＳ２等と、ユーザ装置ＵＤ１、ＵＤ２との間で実施してもよい。また、上記複合ＱＲコード読み取り・認証処理は、ユーザ装置ＵＤ１とユーザＵＤ２との間で実施してもよい。すなわち、上記複合ＱＲコード読み取り・認証処理は、情報を提供する側とデータを取得する側との間で、複合ＱＲコード中のＱＲコードで提示される情報の正当性を認証するためのいかなる処理にも適用可能である。
【０２５７】
［実施形態７］
以下、図５７から図６０を参照して、実施形態７におけるオンラインで処理される真贋判定システムを説明する。
【０２５８】
＜オンラインによる複合ＱＲコード真贋判定システム＞
（１）スマートフォンに複合ＱＲコード読取りアプリをダウンロードインストールすると、当該スマートフォンＩＤを取得でき、認証サーバで逐次、認証するため、どのスマートフォンで何時、複合ＱＲコード読取りアプリを読み取ったかが分かる。さらにＧＰＳと連動すると何処で読み取ったかも分かり、それらのログを取得し、詳細なマーケッティングに使用できる。
【０２５９】
（２）認証サーバによる複合ＱＲコードの認証では、必ず認証サーバでの認証が不可欠となることから、認証毎に複合ＱＲコード発行依頼企業に対して、課金ビジネスモデルが展開できる。
【０２６０】
（３）複合ＱＲコードから読み取ったハッシュ値と電子署名を認証サーバに送信すると、電子署名を復号して求まるハッシュ値と受信したハッシュ値を照合することにより公開鍵を使用しなくても複合ＱＲコードの真贋判定が可能となる。
【０２６１】
（処理例６）
処理例６は、処理例４をオンライン認証に適用した場合の処理である。図５７は、ＱＲコード用データとドットコード用デー；タで形成されるデータ列の暗号化情報をドットコードにコード化し、真贋判定のための複合ＱＲコード生成方法を例示するフローチャートである。図５７で、複合ＱＲコードを生成するＴ１１１、Ｔ１１２、Ｔ１１３、およびＴ１１４の処理は、図５３のＴ７１からＴ７４と同様である。生成された複合コードは、例えば、管理サーバＭＳ１を介して、ユーザ装置ＵＤ１に提供される。
【０２６２】
図５８は、複合ＱＲコード読み取り・認証処理を例示するフローチャートである。この処理では、ユーザ装置ＵＤ１は、読取り装置で複合ＱＲコードを読み取る（Ｔ１２１）。次に、ユーザ装置ＵＤ１は、ＱＲコード用データとドットコード用データをデータ列として符号化手段（例：ハッシュ関数）で符号化情報（例：ハッシュ値）を計算し、認証サーバに送信する（Ｔ１２２）。ここで、認証サーバは、例えば、図３２に例示した管理サーバＭＳ１、コンテンツサーバＣＳ１等、ネットワークでアクセス可能なサーバ装置である。次に、ユーザ装置ＵＤ１は、ドットコードから取得した暗号化情報を認証サーバに送信する（Ｔ１２３）。
【０２６３】
次に、認証サーバは、符号化情報と復号化情報を照合する（Ｔ１２４）。そして符号化情報と復号化情報とが一致した場合、認証サーバは、複合コードによる認証が成功したと判定し、対応する処理を実施する（Ｔ１２５）。Ｔ１２５の処理は、Ｔ２５、Ｔ４４、Ｔ６６、Ｔ８５の処理と同様であるので、その詳細を省略する。
【０２６４】
一方、Ｔ１２４で両方の照合が一致しない場合、認証サーバは、複合コードによる認証が失敗したと判定し、結果をユーザに通知する（Ｔ１２６）。
【０２６５】
以上述べたように、処理例６によれば、複合ＱＲコードによって、様々な認証処理、真贋判定処理、改ざん検知処理等をオンラインで実施できる。なお、上記では、管理サーバＭＳ１はＱＲコード用データとドットコード用データで形成されるデータ列の暗号化情報をドットコードにコード化して複合コードを形成した。しかし、このような処理に代えて、管理サーバＭＳ１は、ＱＲコード用データとドットコード用データで形成されるデータ列の暗号化情報をＱＲコードにコード化して、ユーザ装置ＵＤ１が両方を復号化するようにしてもよい。
【０２６６】
以上の処理では、認証サーバで行う認証は、秘密鍵を用いて行ってもよい。また、上記では、処理例４と同様に、ＱＲコード用データとドットコード用データで形成されるデータ列の暗号化情報を用いた。しかし、このような処理に代えて、処理例１から処理例３の処理をオンライン認証に適用してもよい。
【０２６７】
すなわち、処理例１のように、ＱＲコードの暗号化情報をドットコードにコード化して認証サーバによるオンライン認証に適用してもよい。また、ＱＲコードの暗号化情報をＱＲコードにコード化して、認証サーバによるオンライン認証に適用してもよい。
【０２６８】
また、処理例２のように、ドットコードの暗号化情報をＱＲコードにコード化して認証サーバによるオンライン認証に適用してもよい。また、ドットコードの暗号化情報をドットコードにコード化して認証サーバによるオンライン認証に適用してもよい。
【０２６９】
さらに、処理例３のように、ＱＲコードの暗号化情報１とドットコードの暗号化情報２をそれぞれドットコードとＱＲコードとにコード化して認証サーバによるオンライン認証に適用してもよい。この場合に、ＱＲコードの暗号化情報１をドットコードにコード化し、ドットコードの暗号化情報２をＱＲコードにコード化してもよい。逆に、ＱＲコードの暗号化情報１をＱＲコードにコード化し、ドットコードの暗号化情報２をドットコードにコード化してもよい。また、ＱＲコードとドットコードの暗号化情報をＱＲコードにコード化してもよい。
【０２７０】
（処理例７）
図５９は、ＱＲコードとドットコードの符号化情報をＱＲコードにコード化する処理例である。この処理では、処理例５と同様に、暗号化は行われない。この処理では、複合ＱＲコードを生成するＴ１３１、Ｔ１３２、Ｔ１３３の処理は、図５５のＴ９１からＴ９３と同様である。生成された複合ＱＲコードは、例えば、管理サーバＭＳ１を介して、ユーザ装置ＵＤ１に提供される。
【０２７１】
図６０は、複合ＱＲコード読み取り・認証処理を例示するフローチャートである。この処理では、ユーザ装置ＵＤ１は、読取り装置で複合ＱＲコードを読み取る（Ｔ１４１）。次に、ユーザ装置ＵＤ１は、ドットコードから取得した符号化情報（例：ハッシュ値１）、および、読み取ったＱＲコード用データと読み取ったドットコード用データとで形成されるデータ列を認証サーバに送信する（Ｔ１４２）。
【０２７２】
次に、認証サーバは、受信したデータのうち、ユーザ装置ＵＤ１で読み取られたＱＲコード用データとドットコード用データとで形成されるデータ列を符号化し、符号化情報（例：ハッシュ値２）を作成する。そして、ユーザ装置ＵＤ１でドットコードから取得した符号化情報（例：ハッシュ値１）と、認証サーバにおいて符号化したデータ列（例：ハッシュ値２）を照合する（Ｔ１４３）。そして符号化情報と復号化情報とが一致した場合、認証サーバは、複合コードによる認証が成功したと判定し、対応する処理を実施する（Ｔ１４４）。Ｔ１４４の処理は、Ｔ２５、Ｔ４４、Ｔ６６、Ｔ８５、Ｔ１２５の処理と同様であるので、その詳細を省略する。なお、対応する処理は、Ｔ２５、Ｔ４４、Ｔ６６、Ｔ８５、Ｔ１２５と同様の処理をユーザ装置ＵＤ１あるいはユーザ装置ＵＤ１がアクセスしているネットワーク上の他のサーバに許容するものでもよい。
【０２７３】
一方、Ｔ１４３でハッシュ値１とハッシュ値２が一致しない場合、認証サーバは、複合コードによる認証が失敗したと判定し、結果をユーザに通知する（Ｔ１４５）。すなわち、この場合には、認証サーバは、ユーザ装置ＵＤ１あるいはユーザ装置ＵＤ１がアクセスしているネットワーク上の他のサーバに対して、Ｔ１４５で実行される処理を許容しない。
【０２７４】
本処理例では、秘密の符号化手段で符号化情報を作成し、電子認証すれば、データ作成時の符号化情報の暗号化は必要ない。すなわち、ハッシュ値のみで認証が可能となる。
【０２７５】
なお、処理例７のサーバ認証による電子認証は、処理例１から処理例３で説明したオフライン電子認証の全ての下記のケースに適用できる。
【０２７６】
すなわち、ＱＲコードの符号化情報を暗号化しないでドットコードにコード化して複合コードを作成し、オンライン認証に用いてもよい。また、ＱＲコードの符号化情報をＱＲコードにコード化して、複合コードを作成し、オンライン認証に用いてもよい。また、ドットコードの符号化情報をＱＲコードにコード化して、複合コードを作成し、オンライン認証に用いてもよい。また、ドットコードの符号化情報をドットコードにコード化して、複合コードを作成し、オンライン認証に用いてもよい。また、ＱＲコードとドットコードの符号化情報をドットコードとＱＲコードにコード化して、複合コードを作成し、オンライン認証に用いてもよい。また、ＱＲコードとドットコードの符号化情報をＱＲコードとドットコードにコード化して、複合コードを作成し、オンライン認証に用いてもよい。また、ＱＲコードとドットコードの符号化情報をＱＲコードにコード化して、複合コードを作成し、オンライン認証に用いてもよい。
【０２７７】
［実施形態８：複合コードパターン］
上記実施形態１から実施形態７では、ＱＲコードとＱＲコード中の明色セル（第１の色のセル）中に形成された暗色ドットコード（第２の色のドットコード）および暗色セル（第２の色のセル）中に形成された明色ドットコード（第１の色のドットコード）の少なくとも一方を複合ＱＲコードによる処理が例示された。
【０２７８】
しかし、上記実施形態１から７の処理を複合ＱＲコード以外にも適用可能である。例えば、ＱＲコードに代えて、バーコードを用いてもよい。すなわち、バーコードと、バーコードの暗色パターン間の明色部分に暗色のドットを含むドットコードを形成して複合コードとしてもよい。また、バーコードと、バーコードの暗色パターン部分に明色のドットを含むドットコードを形成して複合コードとしてもよい。
【０２７９】
また、ＱＲコードおよびバーコードの代わりに、単に、英数字、漢字、片仮名、平仮名等の文字列を用いて、複合コードとしてもよい。すなわち、英数字、漢字、片仮名、平仮名等の文字列の暗色パターン間の明色部分に暗色のドットを含むドットコードを形成して複合コードとしてもよい。また、英数字、漢字、片仮名、平仮名等の文字列の暗色パターン中に明色のドットを含むドットコードを形成して複合コードとしてもよい。また、赤外線による撮像装置を用いる場合には、また、英数字、漢字、片仮名、平仮名等の文字列の暗色パターンを通常の赤外線を吸収しないインクで形成し、ドットコードをカーボンブラック等の赤外線を吸収するインクで形成してもよい。そして、文字列の暗色パターンを可視光で読み取り、ドットコードを赤外線で読み取るようにしてもよい。
【０２８０】
そして、バーコードでコード化されたデータを上記実施形態４と同様に、デジタル署名し、ドットコードでコード化すればよい。したがって、読み取り装置は、バーコードあるいは、文字列で提示される情報の正当性を認証することができる。複合コードがバーコードとドットコードで形成される場合には、バーコード読み取り装置とドットコード読み取り装置を使用すればよい。また、文字列とドットコードで形成される場合には、文字列を読み取るＯＣＲ（Ｏｐｔｉｃａｌ  Ｃｈａｒａｃｔｅｒ  Ｒｅｃｏｇｎｉｔｉｏｎ／Ｒｅａｄｅｒ）装置とドットコード読み取り装置を使用すればよい。
【０２８１】
したがって、このような複合コードは、必ずしもＱＲコードに限定されるものではなく、次のように定義できる。
【０２８２】
（複合コードの定義）
複合コードは、識別可能な２以上の色によってパターンがされた第１のコードと、
前記パターンが有する第１の色と識別可能な１以上のマークが配置された第２のコードと、を備えた複合コードパターンであって、
前記第２のコードは、前記第１のコードの少なくとも一部に対応する特定情報を含む複合コードパターン、として定義される。
【０２８３】
ここで、識別可能な２以上の色によってパターンがされた第１のコードは、例えば、バーコード、あるいは英数字、漢字、片仮名、平仮名等の文字列である。２以上の色とは、例えば、バーコード、あるいは英数字、漢字、片仮名、平仮名等の文字列の色（１色以上）と、下地の色（媒体面の色）である。１以上のマークが配置された第２のコードとは、上記実施形態１から５に例示したドットコードである。また、第２のコードは、前記第１のコードの少なくとも一部に対応する特定情報を含むとは、実施形態４、５と同様、第２のコードが、第１のコードであるバーコード、あるいは英数字、漢字、片仮名、平仮名等の文字列等で表されるデータをデジタル署名したものであることが例示される。
【０２８４】
［実施形態９：デジタル署名の変形］
上記実施形態６〜８では、例えば、秘密鍵で暗号化した暗号化情報と公開鍵で復号し、復号結果が暗号化前の符号化情報（ハッシュ値等）に一致した場合に、認証が成功したと判定された。しかし、実施形態６〜８の処理は、このような処理に限定される訳ではない。例えば、上記のような様々な認証処理、真贋判定処理、改ざん検知処理等において、秘密鍵と公開鍵による認証の他、ＱＲコード等から生成された符号化情報と、符号化情報から作成されたデジタル署名とが所定の関係にあることを判定することで、認証が成功したと判定してもよい。このようなデジタル署名の手順として、Ｄｉｇｉｔａｌ  Ｓｉｇｎａｔｕｒｅ  Ａｌｇｏｒｉｔｈｍ（ＤＳＡ）、楕円曲線ＤＳＡ、ＥｌＧａｍａｌ署名等を用いてもよい。これらのデジタル署名の手順を用いる場合、認証を実行する主体（ユーザ装置ＵＤ１、認証サーバ等）は図４８のＴ２４のように、符号化情報と復号化情報が一致するか否かを判定する代わりに、デジタル署名の基になる符号化情報と、デジタル署名とが所定の関係にあるか否かが判定される。
【０２８５】
［実施形態１０］
（複合コードの読み取り精度の向上のための課題）
第１のコードがＱＲコードの場合では、位置検出パターン（ファインダパターン）でＱＲコードの領域および向きが定まり、タイミングパターンにより各セルの中央のＸＹ座標値が計算される。しかし、ＱＲコードが形成された媒体面に対してカメラの光軸が垂直でない場合（カメラが媒体に対して傾いている場合）や媒体が湾曲しているような場合では、ＱＲコードが変形して撮像される。その変形の度合いにより、タイミングパターンにより計算される各セルの中央のＸＹ座標値が許容限度を超えてずれて、隣接するセル内の座標値が求まってしまう場合がある。このようなセルの中央のＸＹ座標値のずれが発生すると、セルの明暗の判定が正確に判定できない場合がある。そこで、ＱＲコードでは、アライメントパターンにより、座標値を補正して各セルの中央のＸＹ座標値の精度を高める工夫がなされている。その後、当該座標値の位置や近傍の所定の面積の領域が、明暗のいずれかであるかを判定して、ＱＲコードに格納された数値データを取得する。この場合、中央座標値の精度は、当該セルの明暗が判定できるセル内であればよく、必ずしもセルの中央でなくてもよいレベルである。しかし、第１のコードのセルの中央の座標値を基に、セル内に形成された第２のコードのマークの配置で数値データを取得する場合には、当該マークの配置が適正に認識できる程度の精度が望まれる。そこで、精度を高めるために、第１のコードのセルの中央の座標値を所定の方法で補正するか、別途、第２のコードのマークの形状や配置から求めることが望ましい。
【０２８６】
以下に、第２のコードのマークとしてドットを使用した場合のセル中央座標値の計算方法と数値データを取得する過程を説明する。図６１は、セル内の情報ドットの配置候補位置を図６２に示すように８か所配置した実施例である。図６２は、１つのセル内のドットの配置位置を例示する図である。８か所のドットを配置するか否かで８ｂｉｔの数値データを定義できる。ドットの配置は、同心円上に概ね等間隔（図では、４５度毎）に配置されているため、配置位置の精度を確保するためには、２４００ｄｐｉ程度以上の高解像度の印刷機で印刷することにする。図６１は、複合コードの一部を示した実施例であり、明色セルのみに情報ドットを配置してドットコードを形成している。なお、図示しないが情報ドットを暗色セルに配置してもよいし、両方に情報ドットを配置してもよい。図６３は、ＱＲコードの仕様にしたがって求めたセルの中央の座標位置が、セルの本来の中央からずれる画像の例である。図６３の例では、十印で示した位置が第１のコード（図ではＱＲコード）でセルの中央として求められた座標位置であるが、セルの中央からずれていることが分かる。本実施形態では、このずれた位置を×印で示したセルの適正な中央座標値に補正する方法を説明する。
【０２８７】
（セル中央座標値の計算）
１つのセルにおいて、Ｐ１（Ｘ１，Ｙ１）の十印から上下方向にセルの明暗が変化する境界を検索し、上下方向２個の境界座標値Ｂ１Ｕ（Ｘ１，Ｙ１Ｕ）とＢ１Ｄ（Ｘ１，Ｙ１Ｄ）を求める。ここで、Ｙ座標の差分値Ｙ１Ｕ−Ｙ１Ｄは、第１のコードで取得したセルサイズと同程度であることから、上下方向１個の明色セルであることが分かり、Ｘ１Ｃ＝Ｘ１，Ｙ１Ｃ＝Ｙ１Ｄ＋（Ｙ１Ｕ−Ｙ１Ｄ）／２により、上下境界間の中心位置Ｂ１Ｃ（Ｘ１Ｃ，Ｙ１Ｃ）が求まる。さらに、Ｂ１Ｃを起点に左右方向２個の境界座標値をＢ１Ｌ（Ｘ１Ｌ，Ｙ１Ｃ）とＢ１Ｒ（Ｘ１Ｒ，Ｙ１Ｃ）が求まる。ここで、Ｘ１Ｒ−Ｘ１Ｌは、第１のコードで取得したセルサイズと同程度であることから、左右方向１個の明色セルであることが分かり、Ｘ’１Ｃ＝Ｘ１Ｌ＋（Ｘ１Ｒ−Ｘ１Ｌ）／２とＹ’１Ｃ＝Ｙ１Ｃにより、左右境界間の中心位置Ｂ’１Ｃ（Ｘ’１Ｃ，Ｙ’１Ｃ）が求まり、×印で示されたセルの中央座標値Ｐ’１（Ｘ’１Ｃ，Ｙ’１Ｃ）が求まる。
【０２８８】
次に、他のセルにおいて、Ｐ２（Ｘ２，Ｙ２）の十印から上下方向にセルの明暗が変化する境界を検索し、上下方向２個の境界座標値をＢ２Ｕ（Ｘ２，Ｙ２Ｕ）とＢ２Ｄ（Ｘ２，Ｙ２Ｄ）を求める。ここで、Ｙ座標の差分値Ｙ２Ｕ−Ｙ２Ｄは、第１のコードで取得したセルサイズと同程度であることから、上下方向には１個の明色セルであることが分かり、Ｘ２Ｃ＝Ｘ２とＹ２Ｃ＝Ｙ２Ｄ＋（Ｙ２Ｕ−Ｙ２Ｄ）／２により、上下境界間の中心位置Ｂ２Ｃ（Ｘ２Ｃ，Ｙ２Ｃ）が求まる。さらに、Ｂ２Ｃを起点に左右方向２個の境界座標値をＢ２Ｌ（Ｘ２Ｌ，Ｙ２Ｃ）とＢ２Ｒ（Ｘ２Ｒ，Ｙ２Ｃ）を求める。ここで、Ｘ２Ｒ−Ｘ２Ｌは、第１のコードで取得したセルサイズの２倍程度であることから、左右方向には２個の明色セルであることが分かり、線形補間してＸ’２Ｃ＝Ｘ２Ｌ＋（Ｘ２Ｒ−Ｘ２Ｌ）×１／４とＹ’２Ｃ＝Ｙ２Ｃにより、左右境界間の中心位置Ｂ’２Ｃ（Ｘ’２Ｃ，Ｙ’２Ｃ）が求まり、×印で示されたセルの中央座標値Ｐ’２（Ｘ’２Ｃ，Ｙ’２Ｃ）が求まる。また、同様に線形補間してＸ’３Ｃ＝Ｘ２Ｌ＋（Ｘ２Ｒ−Ｘ２Ｌ）×３／４とＹ’３Ｃ＝Ｙ’２Ｃにより、Ｐ’３（Ｘ’３Ｃ，Ｙ３Ｃ）を求めてもよい。なお、前述と同様に、Ｐ３（Ｘ３，Ｙ３）を基にＰ’３（Ｘ’３Ｃ，Ｙ３Ｃ）を求めてもよい。さらに、Ｐ’４からＰ’６についても、前述と同様な方法で求めることができる。
【０２８９】
（ドットの抽出と数値データの取得）
読み取り装置がドットを抽出しドットの中心点を求め、ドットコードの数値データを取得する方法を図６４から図７２で説明する。図６４は、第２のコードの向き（第２のコードの規則として、向きは第１のコードと同一のものとしてもよい）と補正されたセル中央位置Ｐ０からの距離と方向で設定される仮想点Ｐ１〜Ｐ８を中心としたバウンディングボックスをドットのサイズと同程度で示した図である。この仮想点は第２のコードの規則にしたがった情報ドットの配置候補位置である。読み取り装置は、バウンディングボックス内にドットの中心座標値が含まれるか否かを判定して数値データを取得する。なお、バウンディングボックスの大きさは、隣接するバウンディングボックスと重複しなければ、ドットのサイズよりも大きくしてもよい。印刷精度や撮影環境等が悪く、撮像された画像のドットの中心座標値の精度が悪くても認識可能となる。ただし、大きくなった分だけ、インクの飛び等によるノイズ（エラー印刷）の影響を受ける可能性が高くなる。もちろん、取得するドットの中心座標値の精度が十分確保される場合は、バウンディングボックスの大きさは、ドットのサイズよりも小さくしてもよい。
【０２９０】
図６５は、例えば、上部ドット配置候補位置を先頭に右回りに桁を上げて２進数で０１１０１００１を定義したドットコードが形成された明色セルの例である。図６６、図６７は、Ｃ−ＭＯＳセンサー等により、当該セルを撮像した画像の例である。撮像とは、フレームバッファ等の記憶媒体に撮影された画像が記録されたこと、または記録する動作を言う。本画像は、説明を簡略化するために明暗の６５段階（明色、黒色を含む）の濃淡で示している。通常は、濃淡のみで撮像する場合、８ｂｉｔつまり２５６段階で記録される場合が多い。カラーでは、Ｒ、Ｇ、Ｂ各８ｂｉｔで１，６７０万色で撮像される場合が多い。図６６〜図６９で、縦軸に付された数字１〜１５は、画像の画素の行（走査線）を示す番号である。
【０２９１】
読み取り装置は、本撮像画像から、ドットを抽出する場合、所定の絶対閾値を下回る濃淡値（例えば、２５５は白色、０は黒色とした場合に絶対閾値を６０とすれば、６０以下の濃淡値）の部分をドットであると判定してもよい。その場合、明色セル毎に明色セルのドットを除く所定の範囲の濃淡値の平均値から絶対閾値を設定するのが望ましい。すなわち、明色領域の濃淡値が低い場合は閾値を下げ、濃淡値が高い場合は閾値を上げるように可変にすればよい。その絶対閾値は、明色セルのドットを除く所定の範囲の濃淡値の平均値の例えば、２０％〜４０％とするのが望ましい。
【０２９２】
図７０は、画像から得られる濃淡値と絶対閾値との関係から、画像を２値化する処理例である。図で、縦軸は、例えば、図６６の画像中の下から４行目の画素の行（走査線１２）に対応する画素の明暗値（グレースケール値）であり、横軸は、水平方向に並んだ画素位置を例示する。また、図７０で、○印に番号を付した数字は、各画素を識別する符号である。図７０では、明色部分の平均値が２００でその３０％の６０（一点鎖線）を絶対閾値とすると、画素（４）と（１０）、（１１）が２値化されて暗色となり、図６９の下から第４行目の画素（ピクセル）のようにドットとして判定される。
【０２９３】
一方、図６７に示すように、走査線方向に濃淡値を取得して、閾値を明色部分からドット部分への濃淡値の変化率を相対閾値として使用してもよい。当該変化率を顕著にするため、撮像した画像の濃淡値を比較するピクセルを２〜３個程度先のピクセルの濃淡値と比較するのが望ましい。その変化率は、明色のピクセルの濃淡値に対してドットを形成するピクセルの濃淡値を４０％〜６０％程度以下として相対閾値を設定するのが望ましい。
【０２９４】
図７０では、走査線１２において、比較するピクセル間で１ピクセル空けて、明色領域のピクセルの濃淡値に変化率α＝０．５（５０％）を乗じた相対閾値を設定し、走査線方向で相対閾値を下回る濃淡値のピクセルの場合は、（１）（０．５×２５５＝１２７．５）と（３）（１０２）、（２）（０．５×２５５＝１２７．５）と（４）（０）、（７）（０．５×２５５＝１２７．５）と（５）（１０２）を比較して（３）、（４）、（５）が黒色で２値化され、（８）（０．５×２５５＝１２７．５）と（１０）（５１）、（９）（０．５×２５５＝１２７．５）と（１１）（０）を比較して（１０）、（１１）が黒色で２値化されて、図６８のようにドットとして判定される。以上のようにして、グレースケールのピクセルが黒色で２値化される。なお、黒色で２値化されたピクセルが発生した後から走査線方向に濃淡値が変化率を下回るピクセルが連続する場合は、当該ピクセルは黒色で２値化される。対象とするピクセルの濃淡値をＢｉとすると、ｉ）αＢｉ−ｎ＞ＢｉかつＢｉ＜αＢｉ＋ｎ、ｉｉ）αＢｉ−ｎ＞ＢｉまたはＢｉ＜αＢｉ＋ｎの２通りの判定方法がある。ｎは、対象ピクセルとｎ個離れたピクセルと比較することを示している。ｉ）は対象とするピクセルＢｉがドットであることを走査線上の左右の両方から相対閾値を満足するものであり、少し狭くドットとして判定される。一方、ｉｉ）は対象とするピクセルＢｉがドットであることを走査線上の左右のいずれかからの相対閾値（変化率）を満足するものであり、少し広くドットとして判定される。その結果、図６８は、閾値を甘くした場合（絶対閾値を高めか、相対閾値を小さくした場合）の結果である。図６９は、閾値を厳しく場合（絶対閾値を低め、相対閾値を大きくした場合）の結果である。いずれの場合であっても、図７１、図７２のように、情報ドットの中心座標値がバウンディングボックス内に納まっており、読み取り装置（実施形態１から６参照）は、ドットコードで定義された数値データを取得できる。
【０２９５】
なお、暗色（または明色）のドットの中心座標値ＤＣ（Ｘｃ，Ｙｃ）は、２値化された暗色（または明色）のピクセルから形成されるドットの中心から計算され、暗色（または明色）に２値化されたｎ個（ｉ＝１〜ｎ）のピクセルの座標値をＤｉ（Ｘｉ，Ｙｉ）とすると、Ｘｃ＝Σｉ＝１〜ｎＸｉ／ｎ、Ｙｃ＝Σｉ＝１〜ｎＹｉ／ｎで求まる。本計算は、他の実施例のドットの中心座標値の計算にも用いられてよい。
【０２９６】
（基準ドットを暗色セルに配置した明色セル中央座標値の計算）
第１のコードで計算されたセル中央座標値を使用しないで、暗色セルに配置した明色の基準ドットから直接的にセル中央座標値を計算する方法を図７３、図７４で説明する。図７３は、図６２と同様にセル内の情報ドットの配置候補位置を設定した実施例である。図７３においても、図６２に示したように、明色セルのみに情報ドットが配置される。ただし、図７３では、暗色セルのみに基準ドットを配置してドットコードを形成している。図７３では、図示しないが情報ドットを暗色セルに、基準ドットを明色セルに配置してもよい。図７３で、暗色セルに配置した明色の基準ドットは、第１のコードから計算された暗色セル内の中央座標値周辺の連続する暗色領域から明色ドットを容易に検索できる。第１のコードから計算された暗色セル内の中央座標値を使用しなくても、暗色領域が連続する領域に明色ドットが存在するかを検索してもよい。
【０２９７】
図７４は、第１のコードによってセルの中央として求められた座標位置がセルの本来の中央からずれている画像の例である。図７４では、十印で示した位置が第１のコードによってセルの中央として求められた座標位置であるが、セルの中央からずれていることが分かる。このずれた位置から、×印で示したセルの適正な中央座標値を求める方法を以下、説明する。
【０２９８】
先ず、読み取り装置は、暗色セルに配置した基準ドットの位置を検索する。検索の方法としては、読み取り装置は、第１のコードで求められた暗色セルの中央座標値を起点に周辺の暗色セル内から所定の閾値を用いて、基準ドットの濃淡度の高い領域を検索し、当該領域の中心位置を求め基準ドットの中心座標値としてもよい。次に、基準ドットの中心位置同士を上下・左右方向に仮想の直線で繋いで、その交点の座標を明色セルの中央座標値とする。交点の存在しない明色セルには、他の上下・左右方向で取得した交点から、内挿または外挿して求めればよい。
【０２９９】
（基準ドットを明色セルに配置したセル中央座標値の計算）
第２のコードで明色セルの中央に基準ドットを配置し、その基準ドットを検索してセルの中央座標値を計算する方法を図７５から図７８で説明する。図７６は、図６２と同様にセル内の情報ドットの配置候補位置を設定し、さらに中央に基準ドットを配置した実施例である。図７５は、複合コードの一部を示した実施例であり、明色セルのみに基準ドットと情報ドットを配置してドットコードを形成している。図示しないが基準ドットと情報ドットを暗色セルに配置してもよい。この基準ドットを認識することにより、基準ドットから距離および方向で配置されて数値データが定義される情報ドットの配置をより正確に認識することができる。
【０３００】
図７７は、第１のコードによってセルの中央として求められた座標位置がセルの本来の中央からずれている画像の例である。図７７では、十印で示した位置が第１のコードでセルの中央として求められた座標位置であるが、セルの中央からずれていることが分かる。このずれた位置から、×印で示したセルの適正な中央座標値を求める方法を以下、説明する。
【０３０１】
先ず、読み取り装置は、明色セルに配置した基準ドットの位置を検索する。検索の方法としては、読み取り装置は、選択した第１のコードで求められた明色セルの中央座標値近傍のドットが基準ドットであるかを他の明色セルに配置されたドットとの配置関係から判定する。つまり、読み取り装置は、当該ドットから直線状に所定の間隔で配置されているドットであるか否かを判定すればよい。この条件を満足できない場合は、読み取り装置は、次に近傍のドットで上記条件を満たすかの判定を繰り返し、基準ドットを認識する。一方、読み取り装置は、図６３で説明した方法でセル中央座標値を計算し、その座標値に最も近いドットを基準ドットしてもよい。なお、基準ドットを、情報ドットと大きさや形状、色、配置パターン（基準ドットは複数であってもよい）を異ならせることにより、上記のようなセル中心座標値の補正を掛けなくても、読み取り装置は、基準ドットを容易に認識できる。
【０３０２】
なお、上記で示した基準ドットは必ずしも、セルの中央に配置されたドットでなくても、基準ドットとして判別できれば、セル内の何処に配置してもよい。図７８は、第２のコードの向き（第２のコードの規則として、向きは第１のコードと同一のもととしてもよい）と基準ドットの中心位置Ｐ０からの距離と方向で設定される仮想点Ｐ１〜Ｐ８を中心とした円形のバウンディングボックスをドットのサイズと同程度で示した図である。この仮想点は第２のコードの規則にしたがった情報ドットの配置候補位置である。ここでは、読み取り装置は、バウンディングボックス内にドットの中心座標値が含まれるか否かを判定して数値データを取得する。なお、バウンディングボックスの仕様は図６４と同様である。
【０３０３】
（基準ドットを明色セルと暗色セルに配置したセル中央座標値の計算）
第２のコードで明色セルと暗色セルの中央に基準ドットを配置し、その基準ドットを検索してセルの中央座標値を計算する方法を図７９および図８０で説明する。図７９は、複合コードの一部を示した実施例であり、明色セルと暗色セルに基準ドットを、明色セルのみに情報ドットを配置してドットコードを形成している。図示しないが情報ドットを暗色セルに配置してもよいし、両方に情報ドットを配置してもよい。暗色セルに配置した明色の基準ドットについては、読み取り装置は、第１のコードから計算された暗色セル内の中央座標値周辺の連続する暗色領域から明色ドットを容易に検索できる。読み取り装置は、第１のコードから計算された暗色セル内の中央座標値を使用しなくても、暗色領域が連続する領域に明色ドットが存在するかを検索すればよい。この基準ドットを認識することにより、基準ドットの中心位置からの距離および方向で配置されて数値データが定義される情報ドットの配置をより正確に認識することができる。
【０３０４】
図８０は、第１のコードによってセルの中央として求められた座標位置がセルの本来の中央からずれている画像の例である。図８０では、十印で示した位置が第１のコードでセルの中央として求められた座標位置であるが、セルの中央からずれていることが分かる。このずれた位置から、×印で示したセルの適正な中央座標値を求める方法を以下、説明する。読み取り装置は、先ず、暗色セルに配置した基準ドットの位置を検索する。検索の方法としては、読み取り装置は、第１のコードで求められた暗色セルの中央座標値を起点に周辺の暗色セル内から所定の閾値を用いて、基準ドットの濃淡度の高い領域を検索し、当該領域の中心位置を求め基準ドットの中心座標値としてもよい。次に、基準ドットの中心位置同士を上下・左右方向に仮想の直線で繋いで、その交点の座標を明色セルの中央座標値とする。交点の存在しない明色セルには、他の上下・左右方向で取得した交点から、内挿または外挿して求めればよい。読み取り装置は、この明色セルの中央座標値近傍のドットを明色セルに配置した基準ドットの位置とする。なお、上記で示した基準ドットは必ずしも、セルの中央に配置されたドットでなくても、基準ドットとして判別できれば、セル内の何処に配置してもよい。
【０３０５】
（基準ドットを明色セルに配置したセル中央座標値の計算（情報分割セルの場合））
第２のコードで明色セルの中央に基準ドットを配置し、その基準ドットを検索してセルの中央座標値を計算する方法の他の例を図８１から８４で説明する。図８２は、明色セルを縦横４分割して１６個の分割セルを生成し、中央の分割セル４個を除いて情報分割セルの配置候補位置を１２か所に配置し、さらに明色セルの中央に基準ドットを配置した実施例である。ここで、図８２のように、明色のセル（または暗色のセル）を分割し、基準ドットに接触しない、分割された領域（分割セルともいう）に形成される暗色（暗色のセルに対しては明色）の領域により情報を定義する場合の当該分割された暗色（暗色のセルに対しては明色）の領域を情報分割セルという。
【０３０６】
明色セルに含まれる暗色領域を３３％以下にした場合に配置できる情報分割セルの数は、（１６／３）−１（基準ドット分）＝４個であり、１個の明色セルに配置できる情報分割セル数は最大４個であり、定義できる数値データの情報量は、１２Ｃ４＋１２Ｃ３＋１２Ｃ２＋１２Ｃ１＋１２Ｃ０＝７９４通りの組み合わせがある。つまり、２９．６３であり、９ｂｉｔ以上の数値データを定義できる。基準ドットは、中央に配置されているため、配置位置の精度を確保するためには、１２００ｄｐｉ程度以上の高解像度の印刷機で印刷することにする。
【０３０７】
図８１は、複合コードの一部を示した実施例であり、明色セルのみに基準ドットと情報分割セルを配置して分割セルコードを形成している。図示しないが基準ドットと情報分割セルを暗色セルに配置してもよい。この基準ドットを認識することにより、基準ドットの中心位置からの距離および方向で配置されて数値データが定義される情報分割セルの配置を正確に認識することができる。
【０３０８】
図８３は、第１のコードによってセルの中央として求められた座標位置がセルの本来の中央からずれている画像の例である。図８３では、十印で示した位置が第１のコードでセルの中央として求められた座標位置であるが、セルの中央からずれていることが分かる。このずれた位置から、×印で示したセルの適正な中央座標値を求める方法は、図７７で説明した通りである。
【０３０９】
図８４は、第２のコードの向き（第２のコードの規則として、向きは第１のコードと同一のものとしてもよい）と基準ドットの中心位置Ｐ０からの距離と方向で設定される仮想点Ｐ１〜Ｐ８を中心とした矩形のバウンディングボックスを情報分割セルのサイズの５０％程度で示した図である。この仮想点は第２のコードの規則にしたがった情報分割セルの配置候補位置である。ここでは、読み取り装置は、バウンディングボックス内に情報分割セルで示される所定比率の暗色領域が含まれるか否かを判定して数値データを取得する。暗色領域の判定方法は、図６６〜図７０で説明したものと同様である。読み取り装置は、絶対閾値を設定し、バウンディングボックスを形成するピクセル数に対して、絶対閾値を下回る濃淡値のピクセル数が所定比率を超えていれば、情報分割セルとして判別する。印刷精度による基準ドットおよび情報分割セルの大きさに対して、２０〜３０％程度の印刷ずれを考慮して、所定比率は５０〜７５％程度以上が望ましい。なお、１個の情報分割セルが隣接するバウンディングボックスに含まれないように、読み取り装置は、バウンディングボックス間を所定距離離れるようにバウンディングボックスの大きさを設定することにする。本実施例では、情報分割セルのサイズの５０％で設定しているが、複合コード撮影時のカメラの解像度等を考慮し設定することが望ましい。高解像度であれば、読み取り装置は、バウンディングボックスのサイズを認識時に可変にして、情報分割セルの認識率を高めてもよい。
【０３１０】
（基準分割セルを明色セルに配置したセル中央座標値の計算）
第２のコードで明色セルの中央に基準分割セルを配置し、その基準分割セルを検索してセルの中央座標値を計算する方法を図８５から図８８で説明する。図８６は、明色セルを縦横５分割して２５個の分割セルを生成し、中央の分割セル９個を除いて情報分割セルの配置候補位置を１６か所配置し、さらに中央に基準分割セルを配置した実施例である。図８６のように、明色セル（または暗色のセル）を所定数に分割し、その分割された領域のいずれかに形成された暗色（暗色のセルに対しては明色）の領域により基準点を定義する場合の当該基準点を定義する分割された暗色（暗色のセルに対しては明色）の領域を基準分割セルという。同様に、セルを分割し他領域により情報を定義する場合の当該領域を情報分割セルという。
【０３１１】
明色セルに含まれる暗色領域を３３％以下にした場合に配置できる情報分割セルの数は、（２５／３）−１（基準ドット分）＝７個であり、１個の明色セルに配置できる情報分割セル数は最大７個であり、定義できる数値データの情報量は、１６Ｃ７＋１６Ｃ６＋１６Ｃ５＋１６Ｃ４＋１６Ｃ３＋１６Ｃ２＋１６Ｃ１＋１６Ｃ０＝２６，３３３通りの組み合わせがある。つまり、２１４．６８であり、１４ｂｉｔ以上の数値データを定義できる。また、明色セルに含まれる暗色領域を２０％以下にした場合に配置できる情報分割セルの数は、（２５／５）−１（基準ドット分）＝４個であり、１個の明色セルに配置できる情報分割セル数は、最大４個であり、定義できる数値データの情報量は、１６Ｃ４＋１６Ｃ３＋１６Ｃ２＋１６Ｃ１＋１６Ｃ０＝２，５１７通りの組み合わせがある。つまり、２１１．３０であり、１１ｂｉｔ以上の数値データを定義できる。なお、図４５に示したように、１つのセルを５×５ｐｉｘｅｌで印刷することは、６００ｄｐｉのプリンタでも印刷可能である。
【０３１２】
図８５は、複合コードの一部を示した実施例であり、明色セルのみに基準分割セルと情報分割セルを配置して分割セルコードを形成している。図示しないが基準分割セルと情報分割セルを暗色セルに配置してもよい。読み取り装置は、この基準分割セルを認識することにより、基準分割セルの中心位置からの距離および方向で配置されて数値データが定義される情報分割セルの配置を正確に認識することができる。
【０３１３】
図８７は、第１のコードによってセルの中央として求められた座標位置がセルの本来の中央からずれている画像の例である。図８７では、十印で示した位置が第１のコードでセルの中央として求められた座標位置であるが、セルの中央からずれていることが分かる。このずれた位置から、×印で示したセルの適正な中央座標値を求める方法を以下に説明する。読み取り装置は、先ず、明色セルに配置した基準分割セルの位置を検索する。検索の方法としては、読み取り装置は、選択した第１のコードで求められた明色セルの中央座標値近傍の分割セルが基準分割セルであるかを他の明色セルに配置された分割セルとの配置関係から判定する。つまり、読み取り装置は、当該分割セルから直線状に所定の間隔で配置されている分割セルであるか否かを判定すればよい。この条件を満足できない場合は、読み取り装置は、次に近傍の分割セルで上記条件を満たすかの判定を繰り返し、基準分割セルを認識する。
【０３１４】
一方、図６６で説明した方法でセル中央座標値を計算し、その座標値に最も近いセルを基準分割セルとしてもよい。
【０３１５】
図８８は、第２のコードの向き（第２のコードの規則として、向きは第１のコードと同一のものとしてもよい）と基準分割セルの中心位置Ｐ０からの距離と方向で設定される仮想点Ｐ１〜Ｐ８を中心とした矩形のバウンディングボックスを情報分割セルのサイズの５０％程度で示した図である。この仮想点は第２のコードの規則にしたがった情報分割セルの配置候補位置である。ここでは、読み取り装置は、バウンディングボックス内に情報分割セルで示される所定比率の暗色領域が含まれるか否かを判定して数値データを取得する。暗色領域の判定方法は、図６６で説明したものと同様である。読み取り装置は、絶対閾値を設定し、バウンディングボックスを形成するピクセル数に対して、絶対閾値を下回る濃淡値のピクセル数が所定比率を超えていれば、情報分割セルとして判別する。読み取り装置は、印刷精度による基準ドットおよび情報分割セルの大きさに対して、２０〜３０％程度の印刷ずれを考慮して、所定比率は５０〜７５％程度以上が望ましい。なお、読み取り装置は、１個の情報分割セルが隣接するバウンディングボックスに含まれないように、バウンディングボックス間を所定距離離れるようにバウンディングボックスの大きさを設定する。本実施例では、読み取り装置は、情報分割セルのサイズの５０％で設定しているが、複合コード撮影時のカメラの解像度等を考慮し設定することが望ましい。読み取り装置は、取得する画像が十分に高解像度であれば、バウンディングボックスのサイズを認識時に可変にして、情報分割セルの認識率を高めてもよい。
【０３１６】
（基準分割セルを暗色セルに配置した明色セル中央座標値の計算）
第１のコードで計算されたセル中央座標値を使用しないで、暗色セルに配置した明色の基準分割セルから直接的にセル中央座標値を計算する方法を図８９から図９２で説明する。図９０は、明色セルを縦横５分割して２５個の分割セルを生成し、中央の分割セル１個を除いて情報分割セルの配置候補を２４か所配置した実施例である。明色セルに含まれる暗色領域を３３％以下にした場合に配置できる情報分割セルの数は、２５／３＝８個であり、１個の明色セルに配置できる情報分割セル数は、最大８個であり、定義できる数値データの情報量は、２４Ｃ８＋２４Ｃ７＋２４Ｃ６＋２４Ｃ５＋２４Ｃ４＋２４Ｃ３＋２４Ｃ２＋２４Ｃ１＋２４Ｃ０＝１，２７１，６２６通りの組み合わせがある。つまり、２２０．２８であり、２０ｂｉｔ以上の数値データを定義できる。また、明色セルに含まれる暗色領域を２０％以下にした場合に配置できる情報分割セルの数は、２５／５＝５個であり、１個の明色セルに配置できる情報分割セル数は、最大５個であり、定義できる数値データの情報量は、２４Ｃ５＋２４Ｃ４＋２４Ｃ３＋２４Ｃ２＋２４Ｃ１＋２４Ｃ０＝５５，４５５通りの組み合わせがある。つまり、２１５．７６であり、１５ｂｉｔ以上の数値データを定義できる。なお、図４５に示したように、６００ｄｐｉのプリンタで印刷可能である。なお、６００ｄｐｉよりも高解像度の印刷機で印刷できることは言うまでもない。
【０３１７】
図８９は、複合コードの一部を示した実施例であり、明色セルのみに情報分割セル、暗色セルのみに基準分割セルを配置して分割セルコードを形成している。図示しないが情報分割セルを暗色セルに、基準分割セルを明色セルに配置してもよい。読み取り装置は、暗色セルに配置した明色の基準分割セルを第１のコードから計算された暗色セル内の中央座標値周辺の連続する暗色領域から明色分割セルを容易に検索できる。読み取り装置は、第１のコードから計算された暗色セル内の中央座標値を使用しなくても、暗色領域が連続する領域に明色分割セルが存在するかを検索してもよい。
【０３１８】
図９１は、第１のコードによってセルの中央として求められた座標位置がセルの本来の中央からずれている画像の例である。図９１では、十印で示した位置が第１のコードでセルの中央として求められた座標位置であるが、セルの中央からずれていることが分かる。このずれた位置から、×印で示したセルの適正な中央座標値を求める方法を以下、説明する。読み取り装置は、先ず、暗色セルに配置した基準分割セルの位置を検索する。検索の方法としては、読み取り装置は、第１のコードで求められた暗色セルの中央座標値を起点に周辺の暗色セル内から所定の閾値を用いて、基準分割セルの濃淡度の高い領域を検索し、当該領域の中心位置を求め基準分割セルの中心座標値としてもよい。次に、読み取り装置は、基準分割セルの中心位置同士を上下・左右方向に仮想の直線で繋いで、その交点の座標値を明色セルの中央座標値とする。読み取り装置は、交点の存在しない明色セルには、他の上下・左右方向で取得した交点から、内挿または外挿して求めればよい。
【０３１９】
図９２は、第２のコードの向き（第２のコードの規則として、向きは第１のコードと同一のものとしてもよい）とセル中央位置Ｐ０からの距離と方向で設定される仮想点Ｐ１〜Ｐ２４を中心とした矩形のバウンディングボックスを情報分割セルのサイズの５０％程度で示した図である。この仮想点は第２のコードの規則にしたがった情報分割セルの配置候補位置である。読み取り装置は、バウンディングボックス内に情報分割セルで示される所定率の暗色領域が含まれるか否かを判定して数値データを取得する。暗色領域の判定方法とバウンディングボックスの仕様は、図８６から図８８で説明した通りである。なお、明色セル中央にも暗色の基準分割セルを配置してもよい。読み取り装置は、暗色セルに配置した基準分割セルにより求まった明色セルの中央座標値近傍の暗色の分割セルを明色セルに配置した基準分割セルの位置として、基準分割セルの中心位置からの距離と方向で設定される仮想点Ｐ１〜Ｐ２４を中心とした矩形のバウンディングボックスとして数値データを取得してもよい。その場合は、明色セル内に配置できる情報分割セル数が１個減り、情報量が減ることになる。
【０３２０】
本実施例では、１セルで多量の数値データが定義することができるが、セル中央の座標値が正確に求められることの他、所定のカメラの撮像解像度、印刷精度を確保しなければならない。それらが十分ではない場合は、誤認の発生率が高くなる。それを解消するには誤り訂正符号を多量に形成する必要があるが、大幅に情報量が減ることになる。図９３では、図９０の情報分割セル候補配置位置を上下左右に隣り合わないように１２か所配置した実施例である。これにより、図９４のバウンディングボックスで、本来、存在しない位置に情報分割セルを認識した場合は、エラーとする。エラーを認識できれば、誤り訂正符号が少なくて済み、データ格納量を増加することができる。さらに、図９５〜図１０２のように、バウンディングボックスを移動して、本来、分割セルが存在しない位置に分割セルを認識しなくなれば、正しくバウンディングボックスが設定されたことになり、そこで数値データを取得すればよい。ここで得られたバウンディングボックスの移動量は他のセルでも使用できる。なお、図９５〜図１０２のバウンディングボックスの移動は、さらに段階的に移動させてもよい。図９０の情報分割セル候補配置位置は、情報分割セル候補配置位置が隣接しなければどのような配置でも構わない。
【０３２１】
（複合コード生成処理）
実施形態１０における複合コード生成処理は、セルに基準点が設定される点を除いて、実施形態１から実施形態９と同様である。したがって、実施形態１０における複合コード生成処理は、図４７、図４９、図５１、図５３、図５５、図５７、図５９で例示した処理がそのまま踏襲される。ただし、これらの処理において、管理サーバＭＳ１等は、望ましいセル（すなわち、基準点を設定すべきセル）に基準点を設定すればよい。管理サーバＭＳ１等は、例えば、第２のコードの生成時に、第２のコード内に基準点を含めればよい。
【０３２２】
＜バウンディングボックスの設定＞
セル中央座標値が正確に求まると、数値データを取得するためのバウンディングボックスを正確に設定する必要がある。図６４のように、バウンディングボックスの中心となる仮想点Ｐ１〜Ｐ８は、セル中央位置Ｐ０からの距離と方向による幾何学的配置関係により定義される。この幾何学的配置関係は、複合コード読取り装置の記憶媒体や第２のコードから数値データを取得するソフトウェアに記録される。一方、図１０３では、図６１の複合コードの左上の明色セルに示したように、所定の位置のセル内に複数の基準ドットでセル中央位置Ｐ０と仮想点Ｐ１〜Ｐ８による幾何学的配置関係（基準パターン）を形成して認識してもよい。これにより、複合コードをカメラで撮像した画像から直接、基準パターンを取得することができ、より正確にバウンディングボックスを設定でき、数値データを取得することができる。図示しないが、基準パターンは暗色セル（明色基準ドット）でも明暗色の両方に形成してもよい。第１のコードがＱＲコードの場合では、位置検出パターン（ファインダパターン）やタイミングパターン、アライメントパターン、フォーマット情報が形成される所定のセルに配置してもよい。ここで、セルサイズが０．３×０．３ｍｍの場合、ドットの直径を０．０４５ｍｍとすると、ドットがセル内に占める割合は、π×（０．０４５／２）２×９／（０．３×０．３）＝０．１５９（１５．９％）となり２０％以下であり、ＱＲコードの読取りには全く支障がない。しかし、ＱＲコード最小のセルサイズの０．１６９×０．１６９ｍｍの場合では、ドットがセル内に占める割合は３３％を超えてしまい、ＱＲコードの読取りに支障をきたす。その場合は、基準パターンを上下方向の仮想点と斜め方向の仮想点に分けて、図１０４のように、図７４の複合コードの右上の１段目と２段目の暗色セルにそれぞれ５個の基準ドットにより２種のパターンを形成すればよい。これにより、ドットがセル内に占める割合は、π×（０．０４５／２）２×５／（０．１６９×０．１６９）＝０．２７８（２７．８％）となり３３％以下であり、ＱＲコードの読取りには支障がない。この２種のパターンを合成して基準パターンとして使用すればよい。もちろん、基準パターンを３種以上に分解して複数のセルにパターンを形成してもよいし、暗色セル（明色基準ドット）または明色セル（暗色基準ドット）の少なくともいずれかに配置してもよい。これらの複数の異なるパターンをそれぞれ独立した基準パターンとして、それぞれに対応する異なる配置パターンの情報ドットが形成されたセルに対して、対応するバウンディングボックスを設定して数値データを取得してもよい。
【０３２３】
図１０５では、図７７の複合コードに基準パターンを形成した実施例であるが、情報ドットが配置される明色セルには中央にドットが配置されていないため、基準パターンを容易に認識できる。また、明色の基準ドットが中央に配置される暗色セルに基準パターンを形成する場合、基準ドットの数で基準パターンを容易に認識できる。なお、基準パターンは暗色セル（明色基準ドット）でも明暗色の両方に形成してもよい。
【０３２４】
図１０６では、図８０の複合コードの明色および／または暗色のセルの所定間隔毎に基準パターンを複数配置した実施例である。これにより、ＱＲコードが変形して撮像されて領域毎に変形の度合いが変化しても、撮像した複数の基準パターンで、その周辺のセルに形成される第２のコードのバウンディングボックスを設定すれば、より正確に数値データを取得することができる。本実施例では、数値データを定義する情報ドットは、セルの中央位置Ｐ０が正確に取得できることから中央の基準ドットを配置していないため、基準パターンを容易に認識できる。基準ドットを配置する場合は、予め定められた配置のセルに形成すればよい。なお、図６１〜図７８および図７９〜図９２のいずれの実施例でもセルの所定間隔毎に基準パターンを複数配置してもよい。
【０３２５】
図１０７では、図８３の複合コードに周辺が暗色セル（または明色セル）で囲まれた暗色セル（または明色セル）内に、図８４の中心位置がＰ０となる明色（または暗色）の基準ドットと、中心位置がＰ２、Ｐ５、Ｐ８、Ｐ１１となる明色（または暗色）の基準分割セルによる基準パターンを形成した実施例である。Ｐ２、Ｐ５、Ｐ８、Ｐ１１の中心座標値を取得することによりＰ１、Ｐ３、Ｐ４、Ｐ６、Ｐ７、Ｐ９、Ｐ１０、Ｐ１２の中心位置を補間計算して、仮想点Ｐ１〜Ｐ１２を中心とするバウンディングボックスが設定できる。また、中央の基準ドットを基準分割セルに代えて、図８７の複合コードにおいて、同様に基準パターンを形成してもよい。さらに、この基準パターンを形成する基準ドットおよび／または基準分割セルの大きさを同一または認識し易い大きさとし、間隔のみを所定倍数を掛けて形成（相似拡大）し、それらの中心座標値を取得した後に、当該間隔を所定数で除すること（相似縮小）により適切な配置の基準パターンを取得して、セル中央位置からの距離と方向によるバウンディングボックスの中心となる仮想点との幾何学的配置関係を高精度で取得することができる。なお、図６１〜図７８、図８９から図９２のいずれの実施例でも同様な形態が可能であることは言うまでもない。
【０３２６】
図１０８では、図９１の復号パターンの右上の１段目と２段目の暗色セルにそれぞれ５個の明色の基準分割セルにより２種のパターンを形成した実施例である。右上１段目のパターンには中央と上下・左右方向に基準分割セルが形成され、右上２段目のパターンには中央と斜め方向に基準分割セルが形成されている。先ず、右上１段目のパターンの中央と上下方向に形成された基準分割セルに対しては、図７０のように、走査線方向に２値化処理を行い、左右方向に形成された基準分割セルに対しては、垂直方向に２値化処理を行い、図９２に示すＰ１０、Ｐ１４、Ｐ１８、Ｐ２２の基準分割セルの中心座標値を求めた後、中央の基準分割セルの中心座標値Ｐ０から十字方向の４個の基準分割セルの中心座標値に向かって直交する２本の直線を２等分するＰ０を通る２本の斜線によって４方向を求める。次に、右上２段目のパターンの中央と斜め方向に形成された基準分割セルに対しては、中央の基準分割セルの中心座標値Ｐ０から、右上１段目のパターンで求められた斜め４方向で２値化処理を行い、Ｐ１２、Ｐ１６、Ｐ２０、Ｐ２４それぞれの基準分割セルの中心座標値を求める。最後に、この２種のパターンを合成して、Ｐ０およびＰ１０、Ｐ１２、Ｐ１４、Ｐ１６、Ｐ１８、Ｐ２０、Ｐ２２、Ｐ２４を基に補間して、Ｐ１〜Ｐ８、Ｐ９、Ｐ１１、Ｐ１３、Ｐ１５、Ｐ１７、Ｐ１９、Ｐ２１、Ｐ２３を求めて基準パターンとして、バウンディングボックスを設定し数値データを取得すればよい。なお、上記の２値化処理はどのような方法を用いてもよいし、基準パターンを形成するパターンは暗色セル（明色基準分割セル）または明色セル（暗色基準分割セル）の少なくともいずれかに配置してもよい。ここで、基準パターンを形成するパターンの基準分割セルがセル内に占める割合は、セルサイズが０．２１２×０．２１２ｍｍの場合、分割セルの辺長を０．０４５ｍｍとすると、０．０４５２×５／（０．２１２×０．２１２）＝０．２２５（２２．５％）となり３３％以下であり、ＱＲコードの読取りには支障がない。
【０３２７】
以上、ＱＲコードが形成された媒体面に対してカメラの光軸が垂直でない場合（カメラが媒体に対して傾いている場合）や媒体が湾曲しているような場合では、ＱＲコードが変形して撮像されるため、補正はしているものの、正確なセル中央の座標値を取得できないため、正確なセル中央の座標値の取得とセル内に形成された基準パターンにより、セルに定義された数値データを誤認なく取得する方法を説明した。ここで、図７４、図８０、図９１、または他の方法では、基準ドットまたは基準分割セルにより格子線を描くことができる。この格子線で囲まれた領域は、当該位置近傍のセルの大きさ・形状を表しており、セルの変形状況を、セル中央位置からの距離と方向によるバウンディングボックスの中心となる仮想点との幾何学的配置関係に反映させてバウンディングボックスの配置を補正し、当該位置近傍の情報ドットや情報分割セルの認識に用いてもよい。これにより、ＱＲコードが変形して撮像されて領域毎に変形の度合いが変化しても、領域毎に格子の形状による補正であり、複合コードに基準パターンを形成することなく、複合コード読取り装置の記憶媒体や第２のコードから数値データを取得するソフトウェアに記録され、幾何学的配置関係を用いて補正すればよい。なお、格子線によるバウンディングボックスの配置の補正は、他の実施例と組み合わせて使用してもよい。さらに、格子線を生成する手段として、明暗のセルの境界を検出して、その境界に沿って格子線を引いてもよい。ただし、印刷の精度やＱＲコードを撮影した際の撮像画像が回転・変形していると、明暗を示すピクセルの境界部分が凸凹になってしまうため、それらを平滑化または平均化して格子線を形成した方が望ましい。
【０３２８】
図示しないが、基準点を示すマークの形状、大きさ、色、向き、配置パターンの少なくともいずれか１つにより、基準点を示すマークが形成されたセルに数値データが定義されてもよい。
【０３２９】
＜第２のコードの向きの設定＞
第２のコードの数値データを取得する際には、第１のコードの向きを使用することを前提にした実施例を示してきた。しかし、ＱＲコードが形成された媒体面に対してカメラの光軸が垂直でない場合（カメラが媒体に対して傾いている場合）や媒体が湾曲しているような場合では、ＱＲコードが変形して撮像されて領域毎に変形の度合いが変化し、セル毎の向きも変化する可能性がある。また、第１のコードとは無関係に、第２のコードのみを取得する場合もある。そこで、第２のコード自身で向きを設定する実施例を説明する。
【０３３０】
図１０９は、図７４の複合コードの所定の基準ドットの上方にディレクションドットを加え、第２のコードの向きを設定した実施例である。ディレクションドットの配置は、予め第２のコードの向きとの対応関係を定めておけば、基準ドットに対してどの方向でもよい。ディレクションドットと基準ドットの識別は、セルの中心に有るか否か、または基準ドットを繋ぐことによって形成される格子線上に位置するか否かによって容易に判別できる。また、ディレクションドットは、どのように配置してもいいが、所定間隔で配置することにより、撮像されたＱＲコードの変形の度合いを反映させて、セルの向きを補正し、正確な数値データの取得を実現する。つまり、セルの向きに合わせて、セル中央位置からの距離と方向によるバウンディングボックスの中心となる仮想点との幾何学的配置関係を回転させてバウンディングボックスの配置を補正し、当該位置近傍の情報ドットや情報分割セルの認識に用いる。なお、上記のディレクションドットを形成したセル中央の基準ドットを削除してもよい。その場合、基準ドットを繋ぐことによって形成される格子線の交点より上方にディレクションドットが位置することによって、容易に向きを認識できる。また、セル内の所定の位置にディレクションドットを形成することにより、第２のコードの向きを設定してもよい。図示しないが、向きを認識できる２個以上のドットの配置によって向きを設定してもよい。さらに、向きの設定はディレクションドットに代えて分割セルを用いてもよいし、マークの形状によって向きを設定できるマークを用いてもよい。また、情報ドットや情報分割セルの形成において、向きを認識できる特定の配置を設定してもよい。
【０３３１】
図１１０は、図１０４の複合コードに設けた基準パターンを構成する基準ドットの配置を変えて、第２のコードの向きを設定した実施例である。つまり、右上の１段目と２段目の暗色セルにそれぞれ５個の基準ドットで形成した２種のパターンは、いずれも非回転対称であり向きを設定できる。この２種のパターンを合成すると基準パターンが形成されることから、基準パターンに方向機能を付加した実施例となる。図１０９および図１１０の実施例は、明色、暗色セルの少なくともいずれかに形成することができ、他の実施例と組み合わせて使用できることは言うまでもない。
【０３３２】
［コンピュータが読み取り可能な記録媒体］
コンピュータその他の機械、装置（以下、コンピュータ等）に上記いずれかの機能を実現させるプログラムをコンピュータ等が読み取り可能な記録媒体に記録することができる。そして、コンピュータ等に、この記録媒体のプログラムを読み込ませて実行させることにより、その機能を提供させることができる。
【０３３３】
ここで、コンピュータ等が読み取り可能な記録媒体とは、データやプログラム等の情報を電気的、磁気的、光学的、機械的、または化学的作用によって蓄積し、コンピュータ等から読み取ることができる記録媒体をいう。このような記録媒体のうちコンピュータ等から取り外し可能なものとしては、例えばフレキシブルディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ／Ｗ、ＤＶＤ、ブルーレイディスク、ＤＡＴ、８ｍｍテープ、フラッシュメモリなどのメモリカード等がある。また、コンピュータ等に固定された記録媒体としてハードディスク、ＲＯＭ（リードオンリーメモリ）等がある。さらに、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）は、コンピュータ等から取り外し可能な記録媒体としても、コンピュータ等に固定された記録媒体としても利用可能である。
【０３３４】
［実施形態１１］
下記に示す実施例は、セルが配列状に形成され、少なくともセルには、セルを識別できる色を有する所定領域を設けてその所定領域の色によってデータを定義する第１のコードにおいて、少なくともセルの一部を第２のコードを形成するための特定セルとして、所定領域を除く領域を設けて、当該領域に識別可能なマークを設け、マークの形状や大きさ、向き、色、配置パターン等の有無でデータを定義する複合コードについてのものである。複合コードが第１のコードをベースとするため、第１のコード固有のセルも含まれ、第１のコードと第２のコードとで、向きを同一とする。なお、この実施形態で用いるマークは、実施形態１で用いた情報設定可能なサブセルや情報を定義するドットパターン、実施形態１０で用いた情報ドットや情報分割セルなどを含む。前述の実施形態１および１０では、第１のコードとして、セルの支配的な色でセルの明暗を識別してデータを定義したが、下記に示す実施例では、主にセルの中央部に配置される所定領域の色をセルの色として識別してデータを取得している。すなわち、所定領域の中央またはセルの中央に、セルの位置情報を座標値で定義づける仮想点として基準点が配置され、その基準点または、基準点を含む小領域（少なくとも所定領域の１部）の色でセルの色が識別される。なお、前述の実施形態１および１０において、中央部を所定領域として、セルの色に変更して、マークを識別できるようにしてもよい。さらに、本実施例と組み合わせて用いることができる。また、実施形態１および５、１０の様々なマークについても本実施例と組み合わせて用いることができる。ここでは、実施例として基準点の位置やコードの向き、所定領域、マーク、区画などを例示しているが、所定領域内に配置されていれば基準点はどのような位置にあってもよく、コードの向きも第１のコードと第２のコードとで異なってもよく、所定領域やマーク、区画などについては、形成（表示や印刷など）および読み取りができれば、形状や大きさ、向き、色、数、配置位置などがどのようなものであってもよい。なお、区画とは、セルを複数に区画して、所定領域やマークを配置する領域である。そして、複数あった場合は、お互いに、形状や大きさ、向き、色などが異なってもよい。ただし、複数の所定領域の色が異なる場合は、特殊な場合であり当該所定領域の配置を認識しなければならない。その配置と色が認識できれば、その配置と色の組み合わせでさらに多くの情報を格納できる。その際に、第１のコードで読み取る基準点が設けられている所定領域と区別して配置する必要がある。
【０３３５】
複合コードでは、第１のコードと第２のコードに付加できる情報量に大きな差があることは言うまでもないが、第１のコードとしてＱＲコードを用いる場合は、ＱＲコードに形成されたファインダパターン、タイミングパターン、アライメントパターンなどの機能パターンを用いて、ＱＲコードが変形して撮像されても補正を行うことで、各セルの配置位置、つまり、複合コードの向きや各セルの所定領域の基準点の座標値が求まる。さらに、下記の実施例４で定義する基準セルなどを用いることで本来の第１のコードよりも格段に精密な補正を行うことができ、それを基に数値情報が定義されるマークの配置位置を認識し、第２のコードからデータを読み取ることができる。なお、複合コードのセルの位置の補正を行うための要素は、同じコード内にあるのが望ましいが、コードの外側などを含めてどこにあってもよい。さらに、セルを複数に区画化した場合は、区画と区画が接触しないように区画を分離して配置した基準セルとしてもよい。なお、下記に示す実施例１〜１６は、構成する要素を互いに組み込んで、どのように組み合わせて使用してもよい。さらに、本実施形態は、実施形態１〜１０を構成する要素を組み込んで使用してもよいし、実施形態１〜１０は、本実施形態を構成する要素を組み込んで使用してもよい。
【０３３６】
（実施例１）
図１１１は、複合コードの一部の例である。複合コードを形成するセルは、配列状に配置されているが、図１１２では、複合コードの構成を分かりやすくするために、図３以降の説明で、セル内に情報を定義するためのマークとして、情報ドットや情報分割セル、情報設定可能なサブセル、情報を定義するドットパターン等の名称を用いて数値情報を定義している複合コードで第２のコードを形成するセルを特定セルと称している。特定セル１個毎の区画１−０（１−００および１−０１）を実線で示している。この実線は実際の複合コードには描かれない。中央の円形状の所定領域２−０は、暗色領域２−０１（黒色）または明色領域２−００（白色）で形成されており、所定領域を除く領域２−１（２−１０および２−１１）は、いずれも明色領域２−１０である。明色領域では、セルの所定領域２−００（白色）と所定領域を除く領域２−１０（白色）の境界を明示するため、円形状の点線で示しているが、実際の複合コードにはこの点線は描かれない。所定領域２−０（２−００および２−０１）は、特定セルの中央に配置することが望ましいが、形成および読取ができれば、特定セル内のどこにあってもよい。また、所定領域２−０（２−００および２−０１）の数は、同一色であれば複数であってもよい。これらの所定領域２−０（２−００および２−０１）の色の認識のために、所定領域内に図１１３（ｃ），（ｄ）の＋印で示す基準点を設けて、第１のコードを読み取り、全てのセルの基準点の座標値が計算され、＋印で示す基準点の座標値も取得することができる。なお、この＋印は複合コードには描かれない。その後、基準点または、基準点を含む小領域（少なくとも所定領域の１部）の色を認識してセルの色識別を行う。この実施例では、黒色の暗色領域２−０１と、点線で囲まれた白色の明色領域２−００の２色で第１のコードのデータを定義しているが、所定領域２−０の色を互いに識別できれば、白と黒である必要はない。例えば、セルの所定領域のカラー、明暗のレベル等をコードリーダーで読み取って、互いに識別できればよく、３色以上であってもよい。セル当たり、２色であれば１ｂｉｔ，４色であれば２ｂｉｔ，８色であれば３ｂｉｔとなる。ＲＧＢおよびそれらの内の２色の混合色（Ｃ、Ｍ、Ｙ）、３色の混合色（Ｗ）、いずれも含まない色（Ｂ）の計３ｂｉｔによる８色の場合、つまり、白、黒、赤、緑、青、シアン、マゼンダ、黄色であれば識別が容易である。さらに、白〜グレー〜黒を４段階、赤、緑、青、シアン、マゼンダ、黄色を２段階（明暗、彩度、色相等を異ならせて、互いに識別できる各２色を生成）で形成すれば、６ｂｉｔの情報を１つのセルで定義できる。
【０３３７】
所定領域２−０の形状は、本実施例では円形状であるが、線分、円形、略円形、矩形、多角形や任意の線分や曲線で囲まれた形状であってもよい。また、セルの所定領域２−０は、特定セル１−０と同一の形状と大きさを含んでいてもよい。その場合、特定セル１−０は１色で塗りつぶされることになる。なお、２色による複合コードの生成では、複合コードが形成される媒体の色と識別できる１色のみで印刷でき、媒体の色と合わせて２色をセルの色として識別するようにすれば、コスト的なメリットが高い。図１１３は、第２のコードによるデータの定義の方法を示している。図１１３（ａ）は、所定領域２−０（中央部）が暗色領域２−０１であるセルの実施例であり、図１１３（ｂ）は、所定領域２−０（中央部）が明色領域２−００であるセルの実施例である。いずれでも第１のコードの対応するセルの基準点から円形状のマーク３−０（３−００および３−０１）を上下・左右・斜め４５度方向に所定間隔を空けて８か所に配置して、それらの配置位置のマークの色によって数値情報を定義している。
【０３３８】
本実施例では、特定セル１−０の基準点はセルの中央に配置されているが、セルの色を識別できる位置であれば、基準点は所定領域内のどこに配置されてもよい。その他、所定領域に配置される基準点は、撮影した複合コードが記録されるフレームバッファ（ＸＹ座標軸を有する二次元画像一時記憶領域）において、実施形態１０の図６６〜７０の説明のように、２値化されたｎ個のピクセル（画素）で形成される所定領域２−０の中心座標値（ＸＣ，ＹＣ）を、各ピクセルの中心座標値を（Ｘｉ，Ｙｉ）として、ＸＣ＝（ΣＸｉ，ｉ＝１〜ｎ）／ｎ，ＹＣ＝（ΣＹｉ，ｉ＝１〜ｎ）／ｎの図心として計算によって求めてもよい。この基準点または、基準点を含む小領域（少なくとも所定領域の１部）の色を互いに識別可能なセルの色として認識する。しかし、複合コードが形成された媒体が湾曲していたり、複合コードをカメラで斜めに撮影したりして、複合コードが大きく変形する場合があり、第１のコードの読み取りによって算出された基準点の座標値に、撮像された所定領域２−０から求められる基準点の座標値に対してずれが生じる場合がある。それを許容するには、第１のコードの読み取りによって算出された基準点の座標値が所定領域内に含まれるように、所定領域２−０の面積がセルの面積の１／１０程度以上であることが望ましい。なお、複合コードの形成面が平面を保持し、カメラで真正面（傾かない）から撮影した場合や、第１のコードの読み取りによってずれて算出された基準点の座標値を所定領域２−０に含まれるように補正すれば、所定領域の面積がセルの面積の１／２０程度以上であればよい。補正の方法としては、図１１３（ａ），（ｃ）の複合コードでは、所定領域である黒色の暗色領域２−０１が白色の明色領域２−１０で囲まれていることから、実施形態５および実施形態１０で説明する種々のアルゴリズムのいずれかを用いればセルの所定領域２−０が容易に抽出でき、所定領域の基準点を算出することにより正確に補正できる。しかし、図１１３（ｂ），（ｄ）の複合コードでは、白色の明色領域２−００である所定領域を抽出できないことから、図１１３（ａ），（ｃ）の複合コードで算出された所定領域の基準点を基に補間して白色の明色領域２−００である所定領域の基準点を算出してもよい。一方、以下で説明する図１１６の場合は、所定領域である黒色の暗色領域２−０１が白色の明色領域２−１０で囲まれており、所定領域である白色の明色領域２−００が黒色の暗色領域２−１１で囲まれていることから、特定セルの所定領域２−０が抽出可能であり、どの特定セルでも所定領域２−０の基準点を算出することにより正確に補正できる。
【０３３９】
マーク３−０の配置位置は、円形状の実線で示し番号を（１）〜（８）（図では丸付き数字、以下も同様）まで付しているが、実際の複合コードには、円形状の実線や番号は描かれない。また、所定領域２−０およびマーク３−０と特定セル１−０との幾何学的関係を分かりやすくするためにセルの外枠を実線で示しているが、この外枠も実際の複合コードには描かれない。図１１３（ｃ），（ｄ）の×印で示されたマーク３−０の中心は、特定セル１−０の向き（複合コードの上向き）に対して、右周りで（１）が０度、（２）が４５度、（３）が９０度、（４）が１３５度、（５）が１８０度、（６）が２２５度、（７）が２７０度、（８）が３１５度の方向に、特定セル１−０の基準点から所定間隔（円形点線で示す半径ｒ）を空けて配置している。この円形点線や×印も実際の複合コードには描かれない。以降の実施例でも同様に描かれない。本実施例では、（１）〜（８）のマーク３−０は、それぞれが明色マーク３−００（０：ビット情報＝０あるいはＯＦＦ、以下のカッコ内も同様）であるか暗色マーク３−０１（１：ビット情報＝１あるいはＯＮ、以下のカッコ内も同様）であるかで、マーク１個で１ｂｉｔの情報を定義している。明色マーク３−００（０）であるか暗色マーク３−０１（１）であるかの判断は、図１１３（ｃ），（ｄ）で×印の位置の色を認識して識別して行っている。この場合、明色部分は所定領域を除く領域２−１０にマーク３−０１が配置されていないケースと等価であり、マーク３−０１が１個も配置されないケースも情報として定義することができる。１個のセル内にマーク３−０の配置位置が８か所あることから、１個のセルに８ｂｉｔの情報が定義できる。８ｂｉｔの情報は、左から（８）、（７）、（６）、（５）、（４）、（３）、（２）、（１）の順にデータ化される。もちろん、この順番はどのように設定してもよい。マーク３−０による情報の定義について、図１１３（ｃ），図１１３（ｄ）は、それぞれ図１１３（ａ），図１１３（ｂ）に円形状のマークを配置した実施例であり、図１１３（ｃ）では、１０１０００１１，図１１３（ｄ）では、１１０１０１１０の数値情報が定義されている。
【０３４０】
本実施例では、第１のコードの読み取りにより、コードの向きを認識して基準点から所定方向に、所定間隔空けて８個配置しているが、所定方向と所定間隔はどのように設定してもよい。また、実施形態１および実施形態１０にも例示しているように、セル内のどのような位置に配置してもよい。例えば、本実施例のように、マーク３−０が配置される位置の色を識別するのではなく、互いにユニークとなる配置パターンとコードの向きを数値情報として定義してもよい。
【０３４１】
マーク３−０の色は、互いに識別可能な色であれば、前述したセルを識別する所定領域２−０の色のようにどのような色に設定してもよい。つまり、セル当たり、２色であれば１ｂｉｔ，４色であれば２ｂｉｔ，８色であれば３ｂｉｔとなる。８色の場合、白、黒、赤、緑、青、シアン、マゼンダ、黄色であれば識別が容易である。さらに、白〜グレー〜黒を４段階、赤、緑、青、シアン、マゼンダ、黄色を２段階（明暗、彩度、色相等を異ならせて、互いに識別できる各２色を生成）で形成すれば、６ｂｉｔの情報を１つのマーク３−０で定義できる。従って、配置位置８か所（３ｂｉｔ）との組み合わせで９ｂｉｔの数値情報を１つの特定セル１−０で定義できる。なお、マーク３−０として定義できる複数の色は各セル毎に設定してもよい。なぜなら、マーク３−０の色はセル内で互いに識別可能であれば、当該セルの数値情報として定義できるからである。なお、マーク３−０の色の認識方法は、マーク３−０の配置候補におけるマーク内に含まれる中心位置などの座標位置の色を認識する以外に、実施例１０に記載された様々なバウンディングボックスのいずれかを使用してもよい。本実施例では、マーク３−０の形状を円形としたが、実施形態１および実施形態１０に例示している様々なマークのように、マークの形状（線分、円形、略円形、矩形、多角形や任意の線分や曲線で囲まれた形状）や大きさ、向き等を異ならせて情報を定義してもよい。第２のコードは、マーク３−０の色、形状、大きさ、向きや配置パターンによって、セル毎の数値情報を定義できるが、セル毎に、第２のコードの数値情報の定義の方法が異なっていてもよい。なぜなら、全てのセルには、その位置によってインデックスが設けられており、第１のコードをコードリーダーで読み取ることにより、セルのインデックスを取得することができるからである。第２のコードでは、そのインデックスを有するセル毎の数値情報の定義の方法を予め定めておけばよい。このような数値情報の定義の方法や誤り訂正方法、データ容量、データ圧縮方法、暗号化方法等をデータフォーマット情報として第１のコードに格納して、第１のコードを読み取ることにより、第２のコードのデータフォーマット情報を取得して、第２のコードを読み取るようにしてもよい。このデータフォーマット情報と第１のコードのセルインデックスを基に、第２のコードの特定セルインデックスを作成してもよい。
【０３４２】
なお、本実施例も含め、以降の実施例で説明する図に記載されるセルは、全て特定セルとして図示されているが、特定セルを除く図示されていないセルは、特定セルと同様に少なくともセル内に所定領域が形成され、その所定領域は、識別可能な色を有していなければならない。なお、特定セルを除くセルは、所定領域を除く領域を有しないセルを含んでもよい。つまり、従来のＱＲコード等のように各セル内の全領域が識別可能な色を有していてもよい。
【０３４３】
図１１４は、撮像により本来の位置からずれた位置に検知された基準点を適正な基準点に補正する方法を示している。まず、暗色セルに配置した基準点の位置を、例えば、実施形態５および実施形態１０で説明する種々のアルゴリズムのいずれかを用いて求める。次に、基準点同士を上下・左右方向に仮想の直線で繋いで格子線を形成し、その格子点の座標値を明色セルの中央座標値とする。格子点の存在しない明色セルでは、近傍の格子線と略等間隔で内挿または外挿して仮想の格子線を引き、格子点を求めればよい。
【０３４４】
本実施例で記載した内容は、実施形態１および実施形態５、実施形態１０で説明した複合コードおよびこれ以降に記載する複合コードにも対応させることができる。さらに、それらをどのように組み合わせて用いてもよい。
【０３４５】
（実施例２）
図１１５は、実施例１で示した複合コードの中央の円形状の所定領域２−０が暗色領域２−０１（黒色）の場合のセルで所定領域を除く領域２−１を暗色２−１１とし、所定領域２−０が明色領域２−００（白色）の場合のセルで所定領域を除く領域２−１を明色２−１０とした実施例である。本実施例の特徴は、第１のコードがＱＲコード等の既存のコードの場合、既存のコードリーダーで読み取れる範囲が広くなることである。例えば、ＱＲコードリーダーは、約半数がセルの中心位置の色を識別する方法を利用し、残り約半数がセル全体の色で識別する方法を利用するが、後者において、セル内で支配的である色を、特定セル１−０の識別可能な色として認識するには、所定以上の面積を有する所定領域２−０でなければならない。図１１１〜図１１３で示したＱＲコード部分の読み取り方法は、セルの所定領域２−０が狭いため、セルの中心位置の色で識別するコードリーダーしか使用できない。本実施例では、マーク３−０部分を除く全領域をセルの色を有する所定領域２−０とすることにより、所定領域２−０の面積を広くでき、既存のＱＲコードリーダーでＱＲコード部分を読み取ることができる。所定領域内にセルの色を識別する基準点（セルの中央）を設ければ、前述した両方の読み取り形式でＱＲコード部分を読み取ることができる。なお、所定領域２−０のセルに対する面積比は、所定領域２−０と所定領域を除く領域２−１の面積が１対１程度ある場合は、どちらの色であるか判別できない。しかし、所定領域２−０の面積と所定領域を除く領域２−１の面積が２対１以上あれば、両者を識別することができる。つまり、所定領域２−０の特定セル１−０に対する面積比が６０％以上であれば、セル全体の色で識別するＱＲコードリーダーでＱＲコード部分を読み取ることができる。さらに望ましいのは面積比２／３以上あれば、撮影環境が悪くても確実に認識できる。セル全体の色による識別は、セル全体の明度（明暗）や色相（カラー）、彩度（鮮やかさ）で認識してもよい。また、セル内で支配的である色が、所定領域にセルの色の濃度を高めてどれだけ多くのセルの本来の色を含むかで識別してもよい。例えば、２色として白とグレーを使用したときに、グレーのセルの所定領域に黒を使うことによって、セル全体ではグレーのセルとして判定しやすくなる。当然、専用の複合コードリーダーに上記読取り方式を採用してもよい。なお、セルの所定領域を除く領域２−１に配置されたマーク３−０による数値情報の定義の方法は、実施例１で説明した内容と同様である。
【０３４６】
撮像により本来の位置からずれた位置に検知された基準点を適正な基準点に補正する方法として、例えば、実施形態５および実施形態１０で説明する種々のアルゴリズムのいずれかを用いて、マークの位置を求めることができる。
【０３４７】
（実施例３）
複合コードが形成された媒体が湾曲していたり、複合コードをカメラで斜めに撮影したりして、複合コードが大きく変形する場合があり、第１のコードの読み取りによって算出された基準点の座標値が、所定領域の外の座標値となる場合がある。そこで、所定領域から基準点の座標値を算出し、正しい基準点の座標値に補正する必要がある。ところが、図１１１〜図１１３では、明色（白色）である所定領域２−００と所定領域を除く領域２−１０の境界が認識できないため所定領域２−００を、抽出できない。そこで、図１１６のように、図１１１〜図１１３の明色特定セル１−００の所定領域を除く領域を暗色（黒色）にすれば、所定領域を抽出でき、実施例１と比べてさらに精度よく基準点を算出することができる。この場合は、所定領域２−０と同一色の領域が少なくなるため、セル全体の色で識別するＱＲコードリーダーで第１のコードを読み取ることが困難になる。
【０３４８】
図１１７は、撮像により本来の位置からずれた位置に検知された基準点を適正な基準点に補正する方法を示している。まず、明色および暗色セルに配置した基準点の位置を、例えば、実施形態５および実施形態１０で説明する種々のアルゴリズムのいずれかを用いて求める。次に、基準点同士を上下・左右方向に仮想の直線で繋いで、その交点の座標値を明色および暗色セルの中央座標値とする。
【０３４９】
（実施例４）
図１１８は、所定の位置に配置されたセルにはマーク３−０を配置しないで、セルの所定領域２−０を、所定領域を除く領域２−１（セルと識別できる色と異なる色の領域）で囲むようにした、特定セルの１種である基準セル１−１の実施例である。所定の位置は、コードリーダーに記憶しておいてもよいし、第１のコードに第２のコードのデータフォーマット情報として格納しておいてもよい。このような所定の位置の基準セル１−１の位置情報の格納方法は、後述する実施例５、９、１０、１２に適用してもよい。本実施例では、上から行番号、左から列番号とした場合、１行１列、１行６列、５行１列、５行６列（コーナーの４か所）の所定の位置に基準セル１−１が配置されている。これにより、基準セルの所定領域２−０を容易に抽出できるようにして、実施例３と同様に、基準点の座標値の補正を行う。１行１列、５行６列の基準セル１−１０では、明色の所定領域２−００が所定領域を除く暗色の領域２−１１で囲まれ、１行６列、５行１列の基準セル１−１１では、暗色の所定領域２−０１が所定領域を除く明色の領域２−１０で囲まれている。本実施例では、基準セル１−１を配置して、基準セル１−１０の所定領域２−００と、他の暗色の所定領域２−０１から算出される基準点を基に補間して、明色の所定領域２−００の基準点を算出してセルの識別の精度を向上させている。補間の方法は、算出された基準点同士を仮想の線で格子状に繋ぎ、明色特定セルにおけるそれらの格子点を明色の所定領域２−００の基準点とすればよい。明色の所定領域２−００の基準点が格子点として形成されない場合は、近傍の格子線と略等間隔で内挿または外挿して仮想の格子線を引き、格子点を求め当該明色の所定領域２−００の基準点とすればよい。暗色の所定領域２−０１から算出される基準点も用いることができることから、基準セル１−１は、複合コードを形成するセル数にもよるが、１０個〜２５個前後以上の間隔に配置すれば十分である。
【０３５０】
基準セルの基準点は、実施形態５および実施形態１０で説明する種々のアルゴリズムのいずれかを用いて求めればよい。
【０３５１】
本実施例により、複合コードが形成された媒体が湾曲していたり、複合コードをカメラで斜めに撮影したりして、複合コードが大きく変形しても、基準点の座標値を正確に算出して第１および第２のコードに定義されたデータを正確に算出することができる。なお、本実施例を、ＱＲコード等、既存の二次元コードの認識率を向上させるために適用して、より正確な基準点の座標値を求めてセルの識別に使用してもよい。その場合、基準セルを所定の間隔で配置してもよいし、所定の範囲または全てのセルを基準セルとしてもよい。
【０３５２】
図１１９に、基準セルの配置例として、ＱＲコードのバージョン６（４１ｘ４１セル）に配置した例を示す。ＱＲコードでは、ＱＲコードの外周にクワイエットゾーン０−０が囲むように設けられ、その内部の左上、右上、左下のコーナーにファインダパターン０−１（それぞれ０−１１、０−１２、０−１３）と、右下近傍から１以上のＱＲコードの補正のためのアライメントパターン０−３が内部に向けて所定の位置に配置されている。最も端（クワイエットゾーン０−０）に近いアライメントパターン０−３は、端から４セル空けて配置されている。ＱＲコードには、１〜４０のバージョン等の格納情報量が設定され、各バージョン毎に、どのように、どのようなデータが配置されかを定める形式情報０−４（データフォーマット情報）が３個のファインダパターン０−１の近傍に設けられている。タイミングパターン０−５は、水平方向には左上のファインダパターン０−１１から右上のファインダパターン０−１２に、垂直方向には左上のファインダパターン０−１１から左下のファインダパターン０−１３に向かって、暗色セルから始まり、明色セルと暗色セルが交互に配置されている。また、アライメントパターン０−３とアライメントパターン０−３の間には、バージョンに基づき、１１〜２５個セルが空けてあり、そのアライメントパターン０−３の配置に対応させると、基準セル１−１については、図１１９の黒セルで示すように、セル番号（１１，１１）や（３１，１１）、（３１，３１）のように端からおおよそ５〜１０個前後、セル番号（１１，１１）と（３１，１１）あるいは、（３１，１１）と（３１，３１）のように基準セル１−１と基準セル１−１の間は、おおよそ１０〜２５個前後が妥当である。精度の高い格子線を結ぶために、図のように基準セルを同じ行または列に配置するのが望ましい。精度を上げるためには、間隔を半分程度に縮めて図中の斜線パターンの基準セル１−１‘（２１，１１）や（３１，２１）、さらには、基準セル１−１“（２１，２１）などを加えてもよい。図では、わかりやすくするために基準セルを黒色または斜線パターンで示しているが、実際には基準マークまたは基準パターンを配置したセルである。基準セルは、ＱＲコードのように、固定位置に配置してもよいし、複合コード毎に位置が違っていてもよい。このような基準セル１−１は、前述の特定セルインデックスで認識できるようにするのが望ましい。
【０３５３】
図１２０のフローチャートを用いて、ＱＲコードの読み取り手順の例を説明する。ＱＲコードは、印刷体に形成されるか、または、ディスプレイなどに表示されるが、まず、ＱＲコードリーダーを用いてその画像を撮影する。ＱＲコードリーダーとしては、スマートフォンに搭載したＱＲコードリーダーアプリでも専用のＱＲコードリーダーでもよい（Ｕ０１）。撮影の仕方により、陰影が多少不鮮明となったりするが、各セルの明暗判定をするために、フレームバッファ（ＸＹ座標軸を有する二次元画像一時記憶領域）に記録された画像の２値化を行う（Ｕ０２）。３個のファインダパターン（位置検出パターン）０−１がＱＲコードの３つの角を占め、ＱＲコードを抽出するのに都合がいいので、その次に、ファインダパターン０−１を探索する。ファインダパターンは、黒：白：黒：白：黒＝１：１：３：１：１という特徴的な構成をしているため、これを手掛かりとして、縦、横、斜め方向などのスキャンにより、これらを抽出する。また、１個以上配置されているアライメントパターン０−３についても、黒：白：黒：白：黒＝１：１：１：１：１という特徴的な構成を基に、同様にして抽出する（Ｕ０３）。そして、ファインダパターン０−１とアライメントパターン０−３より、ＱＲコードの切り出しをする。（Ｕ０４）。３個のファインダパターン０−１および１個以上のアライメントパターン０−１の中心座標値を基にして、セルのサイズや個数、位置が算出され、さらに、各セルの中心座標値が算出される。形式情報０−４と合わせてセルの個数を認識することもできる。ここで、タイミングパターン０−５をセルの配置個数や各セルの座標値の算出に使用してもよい。また、ＱＲコードが変形され撮像された場合、３個のファインダパターン０−１とアライメントパターン０−３の中心座標値を求めることにより、射影変換ですべてのセルの中心を計算することができる。さらに、補正が正しくなされているかをタイミングパターン０−５で確認してもよい。（Ｕ０５）。約半数のＱＲコードリーダーでは、中心座標位置の明暗を基にセルの明暗判定を行い、残り約半数のＲコードリーダーでは、セルの全体の平均明度（明暗）でセルの明暗判定を行うが、中心座標値が算出されており、セルの区別も明確になっているので、どちらの方式であってもセルの明暗判定が可能である（Ｕ０６）。全セルの明暗が明確となったところで、データが復号され、情報を取得する（Ｕ０７）。データ復号の過程として、型番情報の復号（Ｕ０７１）およびマスクパターンの適用（Ｕ０７２）、格納情報の復号（Ｕ０７３）、埋め草コードの除去（Ｕ０７４）などが含まれる。なお、マスクパターンとは、ＱＲコードの読み出しを確実にするために、明暗（白黒）のセルバランスを最適化する処理に用いられるコードパターンのことであり、埋め草コードとは、コード語の数がシンボルの容量に満たない場合に、空のコード語位置を埋める目的で使用するデータを示さない仮のコードのことである。また、これらのデータ復号の過程は、第２のコードで使用してもよい。
【０３５４】
ＱＲコードの読み取り方法は、上記に限った方法に限定されることなく、工業規格によって生成されたＱＲコードをどのような方法で読取り、データを復号してもよい。当然、複合コードの第１のコードとしてＱＲコードを使用した場合も同様である。
【０３５５】
図１２１には、ＱＲコードの読み取り手順におけるＱＲコードの各セルの座標値が算出されていく過程を示す。図１２１（ａ）は、印刷体に形成されたか、あるいは、ディスプレイなどに表示されたＱＲコードの画像を示す。図１２１（ｂ）は、読み取り装置に撮像されたＱＲコードの画像を示す。このように、撮影の仕方により、陰影が多少不鮮明となったりする。図１２１（ｃ）は、撮像された画像を２値化したＱＲコードの画像である。図１２１（ｄ）は、算出されたファインダパターン０−１とアライメントパターン０−３の中心座標位置を白丸で模式的に示した図である。実際の座標位置は点であり、これらの白丸のような大きさを持たない。また、これらのような白丸は、実際の複合コードには描かれない。図１２１（ｅ）は、算出された各セルの中心座標位置を、わかりやすくするために、明色セルでは黒丸、暗色セルでは白丸として示した図である。実際の座標位置は点であり、これらの黒丸や白丸のような大きさを持たない。また、これらのような黒丸や白丸は、実際の複合コードには描かれない。
【０３５６】
図１２２は、図１１９の複合コードの一部を拡大した図であるが、これを用いて基準点の補正方法を示す。基準セルの基準点を求めた後に、格子状に基準点を仮想の線で結んでいく（破線）。次に、横方向の行および縦方向の列の各セルの中央を通るように内分点を求めていき、同じ行または列にある内分点同士をそれぞれ仮想の横線または縦線で結ぶ。このようにして、形成させた格子線の各格子点がそれぞれのセルの基準点として求まる。例えば、基準点と基準点の間に１０セル分の距離があるので、基準点Ａは、その距離を２／１０で内分して求めた基準点Ａ’およびその距離を１／１０で内分して求めたＡ”を通る仮想の内分線の格子点として求まる。
【０３５７】
ＱＲコードでは、本来の第１のコードの特性を活かしながら第２のコードで情報を付加するので、第１のコードの機能パターンなどを残しつつ第２のコードによる補正を行うが、新たなコードとして、アライメントパターン０−３などを取り除き、第２のコードを独立したコードとして基準セルなどを用いて補正することも可能である。その場合、補正などに用いるアライメントパターン０−３が５ｘ５の計２５セルを必要とするのに対して、基準セルはたったの１セル、つまり、１／２５で同等以上の役割が果たせるので、その分、データ領域を増やすことができる。また、アライメントパターン０−３を一部残し、基準セルなどと併用してもよい。この場合、従来のＱＲコードリーダーでは読めなくなり、新たなコードリーダーが必要となる。
【０３５８】
図１２３および図１２４により詳しい仮想の格子線の引き方を示している。まず、図１２３の破線で示すように、基準セルの基準点を仮想の線で繋ぐ。次に、図１２４の点線で示すように、破線の内挿または外挿によって内分点または外分点を求め、それらの点を繋ぐと、すべてのセルを通る仮想の格子線が形成でき、その格子点により全てのセルの基準点の補正ができる。ここでは、横方向にＤＷの距離で均等に内分し、縦方向にＤＨの距離で内分して縦横の格子線を求めている。なお、基準セルには、通常情報を付加しないが、付加してもよい。その他の特定セルについても、情報を付加しないダミーセルであってもよい。第２のコードのデータが格納情報を下回る情報量であれば、本来、特定セルとして使用しない第１のコードのセルを基準セルとして多く設けて基準点の補正に使用してもよいことは言うまでもない。
【０３５９】
（実施例５）
図１２５は、実施例４の基準セル１−１の所定領域２−０の形状を、向きを定義できる二等辺三角形とした実施例である。撮像された複合コードが大きく変形して正確な向きが認識できなくても、二等辺三角形の所定領域２−０により基準セル１−１における向きが正確に認識できる。なお、基準セル１−１の所定領域２−０の形状は、向きを認識できればどのような形状や大きさでもよい。特定セル１−０の向きのずれは、基準点の座標値のずれよりも少ないため、複合コードを形成するセル数にもよるが、基準セル１−１は１０個〜２５個前後以上の間隔に配置すれば十分である。また、基準セル１−１の所定領域２−０の基準点は二等辺三角形の図心としてもよい。その場合、所定領域の図心とセルの中心を一致させるのが望ましい。基準点を図心以外に定めた場合でも、その基準点とセルの中心を一致させるのが望ましい。これにより、実施例４と同様に、各セルの基準点の座標値が正確に算出される。なお、この基準セル１−１に所定領域２−０と接触しないようにマーク３−０を配置して数値情報を定義してもよい。他の形状や大きさの所定領域を用いた場合でも、同様である。もちろん、基準点を他の位置に配置してもよい。
【０３６０】
基準点は、実施形態５および実施形態１０で説明する種々のアルゴリズムのいずれかを用いて求めればよい。図１２６に格子線の引き方を示しているが、三角形の所定領域の基準点とセルの中央点が一致する場合の例として、まず、破線で示すように、基準セルの基準点を線で繋ぐ。次に、図示しないが、図１２４と同様に格子点の存在しない行および列では、内挿または外挿によって格子線を形成し格子点を求めればよい。
【０３６１】
（実施例６）
図１２７は、特定セル１−０内における所定領域２−０およびマーク３−０との幾何学的関係を明示した基準パターンを配置した、特定セルの１種である基準セル１−２の実施例である。所定の位置に配置されたセルの所定領域を除く領域２−１に全てのマーク（基準マーク３−１）を配置して、セルの所定領域２−０を、所定領域を除く領域２−１（セルと識別できる色と異なる色の領域）で囲むように形成されている。所定の位置は、コードリーダーに記憶しておいてもよいし、第１のコードに第２のコードのデータフォーマット情報として格納しておいてもよい。このような基準セル１−２の位置情報の格納方法は、後述する実施例７、１１、１３に適用してもよい。本実施例では、上から行番号、左から列番号とした場合、１行１列、１行６列、５行１列、５行６列（コーナーの４か所）の所定の位置のセルに基準パターンが形成されている。基準パターンを形成する各マーク３−０の中心座標値を算出すれば、撮像された複合コードが大きく変形してマーク３−０の配置位置が本来の位置からずれが生じた場合でも、基準パターンを参照して正確に数値情報を取得できる。基準パターンを含む基準セルを有する複合コードの他の実施例でも同様の処理ができる場合がある。特に、所定領域と所定領域を除く領域とが同じ明色で区別しにくい特定セルのマーク位置の算出方法として、基準点に基づいて形成した格子線を用いた基準点の算出方法を補う方法として有効である。なお、本実施例のマーク３−１の配置位置は、図１１３（ａ），図１１３（ｂ）の（１）〜（８）の配置候補位置と同じであるが、複数のセルに分けてマーク３−１を配置してもよい。例えば、（１）、（３）、（５）、（７）と（２）、（４）、（６）、（８）を異なる近傍のセルに形成し合成して使用することができる。
【０３６２】
１行１列、５行６列の基準セルでは、明色の所定領域２−００が所定領域を除く暗色の領域２−１１で囲まれて明色基準マーク３−１０が配置され、１行６列、５行１列の基準セル１−１１では、暗色の所定領域２−０１が所定領域を除く明色の領域２−１０で囲まれて暗色基準マーク３−１１が配置されている。本実施例では、基準パターンの中心に配置された所定領域２−０から算出される基準点と各マーク３−１との幾何学的関係を正確に認識すると共に、基準点も正確に算出できることから、実施例４と同様に基準点の正確な算出も可能となる。なお、基準点に対する各マーク３−０の配置のずれは、基準点の座標値のずれよりも少ないため、基準パターンは、複合コードを形成するセル数にもよるが、１０個〜２５個前後以上の間隔に配置すれば十分である。
【０３６３】
基準点は、実施形態５および実施形態１０で説明する種々のアルゴリズムのいずれかを用いて求めればよい。図１２８に格子線の引き方を示しているが、破線で示すように、基準セルの基準点を線で繋ぐ。次に、図示しないが、図１２４と同様に格子点の存在しない行および列では、内挿または外挿によって格子線を形成し格子点を求めればよい。なお、基準パターンも補間して、各特定セルの基準点と各マーク３−０の幾何学的関係をさらに正確に求めてもよい。
【０３６４】
基準パターンによって構成される基準セルでも、所定領域やマークの形状や大きさ、向き、色、数、配置位置などがどのようなものであってもよい。そして、複数あった場合は、お互いに、形状や大きさ、向き、色などが異なってもよい。また、基準点が認識できれば、所定領域と所定領域を除く領域の色が同じであってもよい。
【０３６５】
（実施例７）
図１２９は、実施例６において、図１１３（ａ），図１１３（ｂ）で示す（１）〜（８）のマークの内、（５）を外した基準パターンを形成した実施例である。本実施例により、マーク３−１の配置パターンはユニーク（非回転対称）となり方向を認識することができ、実施例６と同様に基準パターンに２次元性があるため、実施例６と同様な効果を得ることができる。
【０３６６】
基準点は、実施形態５および実施形態１０で説明する種々のアルゴリズムのいずれかを用いて求めればよい。図１３０に格子線の引き方を示しているが、まず、破線で示すように、基準セルの基準点を線で繋ぐ。次に、図示しないが、図１２４と同様に格子点の存在しない行および列では、内挿または外挿によって格子線を形成し格子点を求めればよい。
【０３６７】
（実施例８）
図１３１は、第２のコードとしてセル内を複数に区画した領域に、所定領域２−０および所定領域を除く領域２−１を形成し、後者にマーク３−０を配置した複合コードの例である。図１３１およびそれ以降の関連する図において、明色の所定領域を点線で示しているが、実際の複合コードには描かれない。複合コードを形成するセルは、配列状に配置されているが、図１３２では、複合コードの構成を分かりやすくするために、特定セル１−０（１−００および１−０１）１個毎に外枠を実線で示しているが、実際の複合コードには、実線は描かれない。
【０３６８】
本実施例では、図１３３（ａ）のように、既に過去に多く普及しているスマートフォンの解像度での表示・読み取りや３００ｄｐｉによるラベル印刷や一般の事務用プリンターの精度を勘案し、１個の特定セルを６×６ピクセル以上で区画して形成するのが望ましい。なお、６００ｄｐｉで印刷する場合は、１２×１２ピクセルで形成するのが望ましいが、高精度の印刷機で印刷し、カメラが高解像度であれば６×６ピクセルでも読取り可能である。現行スマートフォンのカメラの一般的な解像度が１９８０ｘ１０８０ピクセル（２０７万画素、フルハイビジョン）以上であることから、これを下限と見なすと、このように生成された複合コードを読み取るには、区画領域の２×２（６００ｄｐｉ、１２×１２ピクセルで印刷した場合は４×４）を１区画として認識するのが望ましいことから、図１３１以降の図では、６×６ピクセルの場合を具体例としているが、便宜上、１個のセルを図１３３（ｂ）のように、３×３で区画して表記する。なお、この区画を示す枠は実際の複合コードには描かれない。なお、昨今のスマートフォンのカメラの解像度は、年々、高解像度になっているので、区画領域の２×１区画（２ピクセル）を１区画としたり、１ピクセルを１区画としたりすれば、それらの区画で所定領域２−０やマーク３−０を形成しても第２のコードとして読み取れる。もちろん、１個のセルを７×７ピクセル，８×８ピクセル，９×９ピクセル，１０×１０ピクセルなどと大きくしていけば行くほど、多くの情報量を格納できる。その場合、複合コードは大きな面積を有することになる。このように、特定セルの構成は６×６ピクセルに限られることはなく、形成および読み取りができれば、どのような大きさやピクセル数から成り立っていてよいし、また、各区画の形状や大きさもどのようなものであってもよいし、異なる構成の特定セルの組合せであってもよい。
【０３６９】
中央の区画内に同一形状で位置する所定領域２−０は、図１３３（ｃ）では、暗色２−０１（黒色）、図１３３（ｄ）では、明色２−００（白色）で形成されており、所定領域を除く領域２−１は、いずれでも、明色２−１０として示している。明色セルでは、セルの所定領域２−００（白色）と所定領域を除く領域２−１０（白色）の境界を明示するため、矩形状の点線で示しているが、実際の複合コードにはこの点線は描かれない。これらの所定領域２−０（２−００および２−０１）の色の認識のために、所定領域内に図１３３（ｃ）〜図１３３（ｆ）の＋印で示す基準点を所定領域内に設けて、第１のコードを読み取り、全ての特定セル１−０の基準点の座標値を計算する。その基準点または、基準点を含む小領域（少なくとも所定領域の１部）の色を認識することによりセルの色識別を行う。この実施例では、黒色の暗色所定領域２−０１と、点線で囲まれた白色の明色所定領域２−００の２色で第１のコードのデータを定義しているが、所定領域２−０の色を互いに識別できれば、白と黒である必要はない。例えば、カラー、明暗のレベル等でセルの所定領域をコードリーダーで読み取って、互いに識別できればよく、３色以上であってもよい。セル当たり、２色であれば１ｂｉｔ，４色であれば２ｂｉｔ，８色であれば３ｂｉｔとなる。８色の場合、白、黒、赤、緑、青、シアン、マゼンダ、黄色であれば識別が容易である。さらに、白〜グレー〜黒を４段階、赤、緑、青、シアン、マゼンダ、黄色を２段階（明暗、彩度、色相等を異ならせて、互いに識別できる各２色を生成）で形成すれば、６ｂｉｔの情報を１つのセルで定義できる。
【０３７０】
セルの所定領域は、セルと同一の形状と大きさ、向きであってもよい。その場合、セル１−０は１色で塗りつぶされることになる。なお、２色による複合コードの生成は、複合コードが形成される媒体の色と識別できる１色のみで印刷でき、媒体の色と合わせて２色をセルの色として識別するようにすれば、コスト的なメリットが高い。
【０３７１】
図１３３（ｃ）〜図１３３（ｆ）は、第２のコードによるデータの定義の方法を示している。図１３３（ｃ）は、所定領域２−０（中央部）が暗色２−０１である特定セル１−０の実施例であり、図１３３（ｄ）は、所定領域２−０（中央部）が明色２−００であるセルの実施例である。いずれでも、第１のコードのセルの基準点から、マークが配置される区画と同一の形状と大きさのマーク３−０（３−００および３−０１）を上下・左右・斜め４５度方向に８か所に配置して、それらの配置位置のマークの色によって情報を定義している。特定セル１−０の基準点の座標値は、原則第１のコードにより算出されるが、第２のコードで第２のコードを復号するための基準点の座標値を算出してもよい。さらに、第２のコードで第１のコードを復号するための基準点の座標値を算出してもよい。上記の基準点の座標値の利用は他の実施例で適用してもよい。
【０３７２】
本実施例では、特定セル１−０の基準点はセルの中央に配置されているが、セルの色を識別できる位置であれば、基準点は所定領域２−０内のどこに配置されてもよい。この基準点または、基準点を含む小領域（少なくとも所定領域２−０の１部）の色を互いに識別可能なセルの色として認識する。しかし、複合コードが形成された媒体が湾曲していたり、複合コードをカメラで斜めに撮影したりして、複合コードが大きく変形する場合があり、第１のコードの読み取りによって算出された基準点の座標値に、撮像された所定領域２−０から求められる基準点の座標値に対してずれが生じる場合がある。それを許容するには、所定領域内に第１のコードの読み取りによって算出された基準点の座標値が含まれるように、所定領域２−０の面積がセルの面積の１／１０程度以上であることが望ましい。なお、複合コードの形成面が平面性を保持し、カメラで真正面（傾かない）から撮影した場合や、第１のコードの読み取りによってずれて算出された基準点の座標値を所定領域２−０に含まれるように基準点の座標値を補正した場合は、所定領域の面積がセルの面積の１／２０程度以上であればよい。
【０３７３】
図１３３（ｃ），図１３３（ｄ）には、マーク３−０の配置候補位置が区画を示す矩形状の実線で示され、番号を（１）〜（８）まで付しているが、実際の複合コードには、この実線や番号は描かれない。また、特定セル１−０との幾何学的関係を分かりやすくするためセルの外枠を実線で示しているが、この外枠も実際の複合コードには描かれない。図１３３（ｅ），（ｆ）の×印で示されたマーク３−０の中心は、特定セル１−０の向き（複合コードの上向き）に対して、右周りで（１）が０度、（２）が４５度、（３）が９０度、（４）が１３５度、（５）が１８０度、（６）が２２５度、（７）が２７０度、（８）が３１５度の方向に、特定セル１−０の基準点（中心）から所定間隔（上下・左右方向は区画の一辺の長さＤ，斜め方向は√２Ｄ）を空けて位置している。実施例１〜７では、マークを方向と距離で定義される位置に置いたが、ここでは、それとは異なり、方向と距離ともに固定の位置にあると言える。本実施例では、（１）〜（８）のマーク３−０は、それぞれ明色３−００（０：ビット情報＝０あるいはＯＦＦ、以下のカッコ内も同様）であるか暗色３−０１（１：ビット情報＝１あるいはＯＮ、以下のカッコ内も同様）であるかで、１ｂｉｔの情報を定義している。明色３−００（０）であるか暗色３−０１（１）であるかの判断は、図１３３（ｅ），（ｆ）で×印の位置の色を認識して識別している。なお、マーク３−０の配置位置にあたる区画の中心の色を認識して色識別してもよい。図１３３（ｃ），図１３３（ｄ）の場合、所定領域を除く領域２−１０にマーク３−０１が配置されていないケースと等価であるが、このようにマーク３−０１が１個も配置されないセルも情報として定義することができる。１個のセル内にマーク３−０の配置候補位置が８か所あることから、１個のセルに８ｂｉｔの情報が定義できる。８ｂｉｔの情報は、左から（８）、（７）、（６）、（５）、（４）、（３）、（２）、（１）の順にデータ化される。もちろん、この順番はどのように設定してもよい。マーク３−０による情報の定義について、図１３３（ｅ），図１３３（ｆ）は、それぞれ図１３３（ｃ），図１３３（ｄ）に区画と同じ形状と大きさのマークを区画領域に配置した実施例であるが、図１３３（ｅ）では、１０１０００１１，図１３３（ｆ）では、１１０１０１１０の数値情報が定義されている。
【０３７４】
なお、区画方法は任意であり、区画の形状は、矩形の他、三角形、多角形や曲線で区画してもよい。また、どのような大きさや向きであってもよい。本実施例では、区画と同一形状のマークが区画を充填するように配置されているが、区画された領域のどこに配置してもよく、形成および読み取りができれば、マークはどんな形状や大きさ、向き、色、数でもよいし、さらに、同一セル内および区画に異なる形状や大きさ、向き、色、数のマークをどこに配置してもよい。
【０３７５】
基準点は、実施形態５および実施形態１０で説明する種々のアルゴリズムのいずれかを用いて求めればよい。図１３４に格子線の引き方を示しているが、まず各特定セルの所定領域の基準点を仮想の線で繋ぐ。格子点の存在しないセルでは、仮想の格子線を内挿または外挿して格子点を求めればよい。
【０３７６】
（実施例９）
図１３５は、所定の位置に配置されたセルにはマーク３−０を配置しないで、そのセルの所定領域２−０を、所定領域を除く領域２−１（セルと識別できる色と異なる色の領域）で囲むようにした基準セル１−１の実施例である。所定の位置は、コードリーダーに記憶させてもよいし、第１のコードに第２のコードのデータフォーマット情報として格納しておいてもよい。本実施例では、上から行番号、左から列番号とした場合、１行２列、３行６列、５行２列の所定の位置に基準セル１−１１が配置されていることになる。いずれでも、セルの所定領域２−０１を、所定領域を除く領域２−１０で囲んでいるため、所定領域２−０１を容易に抽出して、基準点の正確な座標値を求めて、実施例４と同様に、他の基準点の座標値の補正を行うことができる。この実施例では、暗色の所定領域２−０１が配置され、マーク３−０を配置しない暗色特定セル１−０１を基準セル１−１１としたが、暗色特定セル１−０１が必ずしも規則的に配置されるわけではないため、基準セル１−１１が偏った配置となる場合もあり、複合コード全体を均一な基準点で補正ができない可能性がある。その欠点を補うのが実施例１０である。
【０３７７】
基準点は、実施形態５および実施形態１０で説明する種々のアルゴリズムのいずれかを用いて求めればよい。図１３６に格子線の引き方を示しているが、まず、破線で示すように、基準セルの基準点を仮想の線で繋ぐ。次に、図示しないが、図１２４と同様に交点の存在しない行および列では、内挿または外挿によって仮想の格子線を形成し格子点を求めればよい。
【０３７８】
（実施例１０）
図１３７は、図１１８のように２色の基準セル１−１を所定の規則で配置した実施例である。１行１列、５行６列の基準セル１−１０では、明色の所定領域２−００が所定領域を除く暗色の領域２−１１で囲まれ、１行６列、５行１列の基準セル１−１１では、暗色の所定領域２−０１が所定領域を除く明色の領域２−１０で囲まれている。従って、実施例９などと同様に、所定領域２−０１を容易に抽出して、基準点の正確な座標値を求めことができる。実施例９と比べると、暗色の所定領域２−０１から算出される基準点も用いることができることから、基準セル１−１は、複合コードを形成するセル数にもよるが、１０個〜２５個前後以上の間隔に配置すれば十分である。なお、基準セル１−１は、少なくとも特定セル１−０が配置される行および列に対して、少なくとも複数個配置されるのが望ましい。なぜなら、同じ行方向および列方向の基準セル１−１から算出された基準点を含むように格子線を引けば、その格子点から複合コード内の全ての基準点が正確に算出できるからである。基準セル１−１を矩形上に配置すれば、均一な精度で格子点を算出することも容易である。さらに、多数の特定セル１−０で形成される大型（大容量）の複合コードでは、格子状に基準セル１−１を配置すれば、確実に、複合コードが形成された媒体の湾曲や、複合コードをカメラで斜めに撮影した場合の変形にも追従でき、基準点の座標値を正確に算出して第１および第２のコードに定義されたデータを正確に算出することができる。なお、このような基準点の補正方法は、他の実施例全てに用いることができ、さらに、第２のコードを有しないＱＲコード等の従来の２次元コードのセルの位置情報の算出にも使用できる。
【０３７９】
基準点は、実施形態５および実施形態１０で説明する種々のアルゴリズムのいずれかを用いて求めればよい。図１３８に格子線の引き方を示しているが、まず、破線で示すように、基準セルの基準点を仮想の線で繋ぐ。次に、図示しないが、図１２４と同様に交点の存在しない行および列では、内挿または外挿によって仮想の格子線を形成し格子点を求めればよい。
【０３８０】
（実施例１１）
図１３９は、特定セル１−０内における所定領域２−０およびマーク３−０との幾何学的関係を明示した基準パターンの実施例である。複合コードの所定の位置に配置された基準セル１−２において、ｉ）１行１列と５行６列の基準セルの明色の所定領域１−２０の左右・上下の区画に暗色基準マーク３−１１，４５度斜め方向の区画に明色基準マーク３−１０が配置され、基準パターンが基準セル１−２０に形成されている。ｉｉ）１行６列と５行１列の基準セルの暗色の所定領域１−２１の左右・上下の区画に明色基準マーク３−１０，４５度斜め方向の区画に暗色基準マーク３−１１が配置され、基準パターンが基準セル１−２１に形成されている。上記、基準セル１−２０と基準セル１−２１のいずれでも所定領域２−０が矩形であり、周辺との境界を明暗で認識できることから正確に基準点の座標値を算出することができる。すなわち、上下左右に線上で境界を認識してもよいし、ドットを検出する方法でもよい。これにより、撮像された複合コードが大きく変形して第１のコードで算出される基準点の座標値にずれが生じても補正することができる。さらに、所定領域２−０のサイズ（基準マーク３−１と同一サイズ）も正確に認識できることから、所定領域２−０の周辺に配置される明色基準マーク３−１０と暗色基準マーク３−１１との境界から、それらのマーク３−０の中心座標値を正確に算出することができる。なお、基準点に対する各マーク３−０の配置のずれは、基準点の座標値のずれよりも少ないため、基準パターンは、複合コードを形成するセル数にもよるが、１０個〜２５個前後以上の間隔に配置すれば十分である。
【０３８１】
基準点は、実施形態５および実施形態１０で説明する種々のアルゴリズムのいずれかを用いて求めればよい。図１４０に格子線の引き方を示しているが、まず、破線で示すように、基準セルの基準点を仮想の線で繋ぐ。次に、図示しないが、図１２４と同様に格子点の存在しない行および列では、内挿または外挿によって仮想の格子線を形成し格子点求めればよい。さらに、基準パターンを定義するマークそれぞれの中心座標値も正確に求まるので、これらについても格子線を引いて補正に用いることができる。つまり、所定の領域以外のマークを用いて精密な補正をすることができる。図１２８よび図１３０の例についても、十分に高い解像度があれば、同様に格子線を引くことができる。
【０３８２】
（実施例１２）
図１４１は、実施例１０の基準セル１−１に、向きが認識できるユニークな形状の所定領域２−０１を図１３３（ａ）の区画で配置した実施例である。撮像された複合コードが大きく変形して正確な向きが認識できなくても、ユニークな形状の所定領域２−０１により基準セル１−１における向きが正確に認識できる。なお、基準セル１−１の所定領域２−０１の形状や大きさは、向きを認識できればどのような形状や大きさでもよい。特定セル１−０の向きのずれは、基準点の座標値のずれよりも少ないため、複合コードを形成するセル数にもよるが、基準セル１−１は１０個〜２５個前後以上の間隔に配置すれば十分である。また、所定領域２−０１の基準点は、基準セル１−１の中心とするのが望ましいが、その中心座標値の算出には、実施例１の計算式を補正して用いることができる。補正は、所定領域２−０１の形状は、基準セル１−１の中心から上下方向に非対象であり、上部が２ピクセル，下部が４ピクセルで形成されていることから、２／（２＋４）＝１／３の１／２だけ下方にずれており、１／６ピクセルを加算すればよい。なお、左右対称であるためＸ座標値は補正の必要はない。本実施例では、所定領域に配置される基準点は、撮影した複合コードが記録されるフレームバッファ（ＸＹ座標軸を有する二次元画像一時記憶領域）において、実施形態１０の図６６〜７０の説明のように、２値化されたｎ個のピクセル（画素）で形成される所定領域２−０の中心座標値（ＸＣ，ＹＣ）を、各ピクセルの中心座標値を（Ｘｉ，Ｙｉ）として、ＸＣ＝（ΣＸｉ，ｉ＝１〜ｎ）／ｎ，ＹＣは、所定領域２−０１の形状と配置を鑑み１／６ピクセルを加算して、ＹＣ＝１／６＋（ΣＹｉ，ｉ＝１〜ｎ）／ｎの計算によって求められる。このように、所定領域２−０１がどのような形状・配置であっても、上記の補正によって基準点を求めることができる。
【０３８３】
図１４２に格子線の引き方を示しているが、所定領域の基準点が所定領域の図心ではなく、セルの中心と一致する場合の例として、まず、破線で示すように、基準セルの基準点を仮想の線で繋ぐ。次に、図示しないが、図１２４と同様に交点の存在しない行および列では、内挿または外挿によって仮想の格子線を形成し格子点を求めればよい。
【０３８４】
（実施例１３）
図１４３は、実施例１１の基準セル１−２に方向を加えて、特定セル１−０内における所定領域２−０およびマーク３−０との幾何学的関係を明示した基準パターンの実施例である。実施例１１と同様に、基準セル１−２０と基準セル１−２１のいずれでも所定領域２−０が矩形であり、周辺との境界を明暗で認識できることから正確に基準点の座標値を算出することができる。すなわち、上下左右に線上で境界を認識してもよいし、ドットを検出する方法でもよい。実施例１１との差異は、ｉ）１行１列と５行６列の基準セルの明色の所定領域１−２０の左下４５度斜め方向の区画に暗色基準マーク３−１１を配置して、方向を示すユニークな基準パターンを形成している点、ｉｉ）１行６列と５行１列の基準セルの所定領域１−２１の右下４５度斜め方向の区画に明色基準マーク３−１０を配置して、方向を示すユニークな基準パターンを形成している点にある。本実施例により、マーク３−１の配置パターンはユニーク（非回転対称）であるため、方向を認識することができ、実施例７と同様な効果を得ることができる。
【０３８５】
基準点は、実施形態５および実施形態１０で説明する種々のアルゴリズムのいずれかを用いて求めればよい。図１４４に格子線の引き方を示しているが、まず、破線で示すように、基準セルの基準点を仮想の線で繋ぐ。次に、図示しないが、図１２４と同様に格子点の存在しない行および列では、内挿または外挿によって仮想の格子線を形成し格子点を求めればよい。さらに、基準パターンを定義するマークそれぞれの中心座標値も求まるので、図１４４と同様にこれらについても格子線を引いて補正に用いることができる。
【０３８６】
（実施例１４）
現行のスマートフォンなどのコードリーダーは、高解像度であるため、実施例８〜実施例１３のマーク３−０の大きさが半分（区画を２ｘ２から１ｘ２）でも十分に検知可能である。図１４５では、基準点の算出を精度よく行うために、所定領域２−０の大きさを実施例８〜実施例１３と同様に２ｘ２の区画でとる一方で、前記マーク３−０を、実施例８〜実施例１３と比べて区画数を多くするために、半分の１ｘ２の区画でとった実施例である。ここでは、図１４５（ａ）に示すように、図１３３（ａ）と同様に、６×６ピクセルを基準としているが、所定領域および各マークの大きさに合わせて１個のセルを区画化した具体例として、図１４５（ｂ）を表記する。実施例８〜実施例１３の場合と同様に、特定セルの構成は６×６ピクセルに限られることはなく、形成および読み取りができれば、どのような大きさでもよいし、縦横異なる区画数でもよいし、また、各区画の形状や大きさ、向きもどのようなものでもよい。また、高い精度で基準点を算出するためには、所定領域がセルの中心の区画を占め、基準点がセルの中心にあるのが望ましいが、形成および読み取りができれば、どこにあってもよい。この具体例では、所定領域として縦横２ｘ２の区画、マークとして縦横１ｘ２の区画をとっているが、形成および読み取りができれば、どのような形状や大きさ、向き、位置でもよい。また、同じコード内でこれらが異なってもよい。この実施例における所定領域の特徴は、実施例８〜実施例１３の所定領域の特徴と同様である。
【０３８７】
図１４５（ｃ）〜図１４５（ｆ）は、第２のコードによるデータの定義の方法を示している。中央の区画内に同一形状で位置する所定領域２−０は、図１４５（ｃ）では、暗色２−０１（黒色）、図１４５（ｄ）では、明色２−００（白色）で形成されており、所定領域を除く領域２−１は、ここでは、明色２−１０として示している。明色セルでは、セルの所定領域２−００（白色）と所定領域を除く領域２−１０（白色）の境界を明示するため、矩形状の点線で示しているが、実際の複合コードにはこの点線は描かれない。図１４５（ｃ）と図１４５（ｄ）では、いずれでも、第１のコードのセルの基準点から、マークが配置される区画と同一の形状と大きさで、右上から一番目の区画を明色、二番目を暗色として、前者を明色の分離マーク、後者をデータの開始を示す暗色のヘッダーとして配置している。同様に、左下から一番目の区画を明色の分離マーク、二番目を暗色のヘッダーとして配置している。このように一番目に明色区画があるために、それぞれのヘッダーの抽出が容易となっており、データの開始位置が明確となるのみならず、マークの寸法が求まり、さらには各マークの位置などが精度よく認識できる。右側のヘッダーから外側の２列に関して右回りにマークの番号を（１）〜（８）まで付し、さらに左側の列からの続きとして中央の列に（９）〜（１２）まで付し、これら１２か所のマークの色によって情報を定義している。
【０３８８】
本実施例では、特定セル１−０の基準点はセルの中央に配置されているが、セルの色を識別できる位置であれば、基準点は所定領域２−０内のどこに配置されてもよい。
【０３８９】
図１４５（ｃ），図１４５（ｄ）には、マーク３−０の配置候補位置が区画を示す矩形状の実線で示され、番号を（１）〜（１２）まで付しているが、実際の複合コードには、この実線や番号は描かれない。また、特定セル１−０との幾何学的関係を分かりやすくするためセルの外枠を実線で示しているが、この外枠も実際の複合コードには描かれない。
【０３９０】
本実施例では、（１）〜（１２）のマーク３−０は、それぞれ明色３−００（０：ビット情報＝０あるいはＯＦＦ、以下のカッコ内も同様）であるか暗色３−０１（１：ビット情報＝１あるいはＯＮ、以下のカッコ内も同様）であるかで、１ｂｉｔの情報を定義している。明色３−００（０）であるか暗色３−０１（１）であるかは、図１４５（ｅ），（ｆ）のマークの色を認識して識別している。マーク３−０１が１個も配置されないセルも情報として定義することができる。１個のセル内にマーク３−０の配置候補位置が１２か所あることから、１個のセルに１２ｂｉｔの情報が定義できる。１２ｂｉｔの情報は、マークの番号に従って（１２）番目から（１）番目の順にデータ化される。もちろん、この順番はどのように設定してもよい。図１４５（ｅ），図１４５（ｆ）は、それぞれ図１４５（ｃ），図１４５（ｄ）に区画と同じ形状と大きさのマークを区画領域に配置して情報を定義した実施例であるが、図１４５（ｅ）では、００１０１０１１１０１０，図１４５（ｆ）では、１０１１０１０１０１０１の数値情報が定義されている。
【０３９１】
図１４５（ｅ），図１４５（ｆ）には、さらに、データスキャンの方法の具体例も示されており、まず、右上から左下に向けて対角線に沿ってスキャンする。このスキャンでは、所定領域を対角線に沿って横切るので、所定領域の抽出と基準座標値の正確な算出ができる。さらに、左右両方の明色の分離マークおよび暗色のヘッダーを斜めに横切るので、それぞれの位置およびディメンジョンが求まる。ヘッダー情報が確定したら、次にそれを基にマーク番号に対応するように、右列を上から下へ、左列を下から上へ、そして、中央の列に関しては、まず上から所定領域に向けて、つづいて下から所定領域に向けてスキャンすることで、マークによって定義されるデータを読み取る。ここで挙げた例は、単なる例に過ぎず、形成および読み取りができれば、ヘッダーや分離マークをどこにおいてもよい。また、ヘッダーなどを置かずにデータ用のマークを増やしてもよい。また、マークをどのように配置してもよく、予め決めておけば、読み取る順番が各セルで異なってもよい。
【０３９２】
なお、区画方法は任意であり、区画の形状は、矩形の他、三角形、多角形や曲線で区画したものでもよい。また、本実施例では、区画に同一形状のマークが区画を充填するように配置されているが、区画された領域のどこに配置してもよく、形成および読み取りができれば、マークはどんな形状や大きさ、向き、色、数でもよく、さらに、同一セル内に異なる形状や大きさ、向き、色、数のマークを配置してもよい。また、特定セルすべてに情報データが入っている必要はなく、各セル中のマークにダミーマークがあってもよい。
【０３９３】
（実施例１５）
図１４６は、第２のコードにおいてセル内を６×６で区画した図１３３および図１４５に対して、８×８で区画した場合の所定領域とマークの配置例と情報の定義の方法を示している。図１３３および図１４５について説明した内容の内、下記では、重複した説明を省いているが、それらは本実施例でも適用でき、組み合わせて使用してよい。また、これらはあくまでも例であり、本実施形態における複合コードのセルは、これらに限定されない。
【０３９４】
図１４６（ａ），（ｄ），（ｇ），（ｊ），（ｍ）は、１個のセル内にマーク３−０の配置位置を点線で示した８か所に設けた実施例であり、１個のセルに８ｂｉｔの情報が定義できる。８ｂｉｔの情報は、左から（８）、（７）、（６）、（５）、（４）、（３）、（２）、（１）の順に１ｂｉｔずつ数値化される。図１４６（ｐ）は、１個の特定セル内の実線太線で示した所定領域２−０にマーク３−０の配置位置を点線で示した１２か所に設けた実施例であり、１個の特定セル１−０に１２ｂｉｔの情報が定義できる。１２ｂｉｔの情報は、左から（１２）、（１１）、（１０）、（９）、（８）、（７）、（６）、（５）、（４）、（３）、（２）、（１）の順に１ｂｉｔずつ数値化される。上記、いずれのマークもスマートフォンの表示および３００ｄｐｉによる印刷において２×２ピクセルで形成される。なお、６００ｄｐｉによる印刷では、４×４ピクセルで形成される。なお、セル内の区画を示す実線細線および所定領域２−０を示す実線太線、マーク３−０を示す点線は複合コードには描かれない。
【０３９５】
図１４６（ａ）〜図１４６（ｃ）は、マーク３−０同士が接触しないように空隙を設け、所定領域２−０が４×４ピクセルで形成された実施例を示す。所定の方法で空隙を認識することにより、マークの配置を正確に取得できる。空隙の色は、マーク３−０１と識別できればどのような色でもよい。空隙とマークの認識方法は複数の方法があるが、実施形態１０の図６６〜図７０や図１４５（ｅ），図１４５（ｆ）のように、空隙をまたぐようにして、直線上でマークの色の変化点を取得してマーク３−０１を認識してもよい。なお、これまでに説明した他のマークの認識方法を用いてもよいし、組み合わせて認識の精度を上げてもよい。図１４６（ｂ），図１４６（ｃ）では、所定領域２−０が所定領域を除く明色の領域２−１０で囲まれており、当該領域２−１０にマーク３−０１が配置されている。これにより、図１４６（ｂ）では、１００１１１０１，図１４６（ｃ）では、０１１０１０１０の数値情報が定義されている。なお、本実施例では、所定領域２−０を大きめに配置していることから、多少基準点がずれていても、所定領域２−０に含まれるので、セルの色を識別できる。
【０３９６】
図１４６（ｄ）〜図１４６（ｆ）は、図１４６（ａ）〜図１４６（ｃ）に対して、さらに、所定領域２−０がマーク３−０１と接触しないように空隙を設け、所定領域２−０を２×２ピクセルで形成した実施例を示す。本実施例では、所定領域２−０とマーク３−０１との幾何学的配置関係がより明確になり、マーク３−０１の認識率を向上させることができる。しかし、所定領域２−０１が小さいために基準点がずれていると特定セル１−０の色を誤認する可能性がある。なぜなら、セルの面積に対する所定領域の面積比が４／６４＝０．０６２５となり、カメラの光軸が複合コード形成面に対して傾いて撮影がされた場合に、面積比が１／１０を下回ると、第１のコードの読み取りによってずれて算出された基準点の座標値が所定領域２−０に含まれなくなり、所定領域２−０の色とは異なる色が認識される場合があるからである。補正の方法としては、基準セル１−１や基準セル１−２を含む実施例９〜１３のように補正してもよいし、基準点近傍の色から所定領域２−０１を認識して、当該所定領域２−０１を基に基準点を補正し、さらに、所定領域２−０１とマーク３−０１との幾何学的配置関係からマーク３−０１を認識してもよい。また、前述の空隙をまたぐようにして、直線上で所定領域２−０１の色の変化点を取得して、所定領域２−０１を認識してもよい。
【０３９７】
図１４６（ｇ）〜図１４６（ｉ）は、図１４６（ａ）〜図１４６（ｃ）に設けた空隙部分を含めて形成させた所定領域２−０の実施例である。これにより、所定領域２−０の面積比が、特定セル１−０の面積（ピクセル数）に対して、（４×４＋２×８）／（８×８）＝１／２となる。若干数値情報が少なくなるが、所定領域２−０と同色のマーク３−０を少なくとも２個配置することにより、所定領域２−０と同色のマーク３−０の和が、特定セル１−０に対して（３２＋４×２）／６４＝０．６２５、すなわち、６２．５％となり、セルの面積に対する所定領域の面積比が６０％を超えることから、セル全体の色で識別するＱＲコードリーダーでＱＲコード部分を読み取ることができる。この場合の特定セル１−０が有する数値情報は、本来８ｂｉｔ＝２５６だが、２５６−（８Ｃ０＋８Ｃ１）＝２４７となり僅か９減少するだけである。さらに望ましいのは、同色のマーク３−０を少なくとも３個配置することで、そのことにより、（３２＋４×３）／６４＝０．６８７５となり、面積比が２／３を超えることから、既存のＱＲコードリーダーでも確実にＱＲコード部分を読み取ることができる。この場合の特定セル１−０が有する数値情報は、２５６−（８Ｃ０＋８Ｃ１＋８Ｃ２）＝２１９であり、大幅な数値情報の減少とはならない。上記により、セルの中心位置の色を識別する約半数の方法と、セル全体の色で識別する残り約半数の方法の両方のＱＲコードリーダーで、第２のコードの情報量を確保しつつ、複合コードのＱＲコード部分を読み取ることができ、汎用性が高まる。本実施例では、定義される数値情報において２進数で、マーク３−０１は１、マーク３−００は０としているが、所定領域２−０と同色のマーク３−０を１とした場合は、図１４６（ｉ）では、１００１０１０１の数値情報が定義されることになる。
【０３９８】
図１４６（ｊ）〜図１４６（ｌ）は、当該特定セル１−０が、隣り合う他のセルとマーク３−０１が接触しないように空隙を設けて、所定領域２−０が２×２ピクセルで形成された実施例である。これにより、マーク３−０１と他のセルとを明確に識別して誤認を防ぐことができる。なお、所定領域２−０が２×２ピクセルで小さいことから、基準点が所定領域２−０に含まれない場合の可能性があるので、図１４６（ｄ）〜図１４６（ｆ）の場合と同様な基準点の補正をすることが望ましい。
【０３９９】
図１４６（ｍ）〜図１４６（ｏ）は、図１４６（ｊ）〜図１４６（ｌ）に設けた空隙部分を所定領域２−０と同色の領域として分離させて所定領域２−０を形成させた実施例である。これにより、図１４６（ｇ）〜図１４６（ｉ）と同様に、所定領域２−０と同色のマーク３−０を少なくとも２個または３個配置することにより、面積比がそれぞれ６２．５％または２／３を超える値となることから、セル全体の色で識別するＱＲコードリーダーでＱＲコード部分を読み取ることができる。なお、所定領域２−０と同色のマーク３−０を１とした場合は、図１４６（ｉ）と同様に、図１４６（ｏ）では、００１０１０１の数値情報が定義されることになる。本実施例も図１４６（ｇ）〜図１４６（ｉ）と同じ数値情報の減少となるが大幅な減少はなく、第２のコードの情報量を確保しつつ、どのようなＱＲコードリーダーでも複合コードのＱＲコード部分を読み取ることができ、汎用性が高まる。
【０４００】
図１４６（ｐ）〜図１４６（ｒ）では、４×４ピクセルの所定領域２−０の周辺に、マーク３−０１を最大１２個配置させることが可能であり、マーク３−０を１とした場合は、図１４６（ｑ）では０１０１０１１００１１１，図１４６（ｒ）では１０１１０１０１１０１０の数値情報が定義される。所定領域２−０と同色のマーク３−０を１とした場合は、図１４６（ｒ）は、０１００１０１００１０１の数値情報が定義されることになる。近接した１２個のマーク３−０を正確に認識するためには、基準点の座標値と、基準点とマーク３−０との幾何学的配置関係を正確に認識する必要がある。これらの認識方法は、既に実施例に記載したどのような方法で実施してもよい。
【０４０１】
図１４６（ｓ）〜図１４６（ｕ）では、図１４６（ｐ）〜図１４６（ｒ）の所定領域２−０を４×４ピクセルから２×２ピクセルにして、図１４６（ｄ）〜図１４６（ｆ）のように所定領域２−０とマーク３−０の間に空隙を設けてもよい。その際、図１４６（ｔ）では所定領域２−０１を除く領域を明色領域２−１０とし、図１４６（ｕ）では所定領域２−００を除く領域を暗色領域２−１１とすることにより、所定領域２−０を囲む識別可能な空隙を設けることができる。その結果、本実施例では、所定領域２−０と基準点が正確に認識可能となり、マーク３−０との幾何学的配置関係がより明確になり、マーク３−０の認識率を向上させることができる。このような所定領域２−０を囲む識別可能な空隙は、図１４６（ｄ）〜図１４６（ｆ）に適用してもよい。
【０４０２】
（複合コード生成手順のフローチャート）
図１４７のフローチャートを用いて複合コードの生成手順について説明する。例として、第１のコードとしてＱＲコードを用いる。
【０４０３】
図１４７に示す複合コードの生成手順としては、まず、格納する情報量に応じて、ＱＲコードのバージョンを決め、そのバージョンに基づくセル配列を生成させる。ここで、誤り訂正レベルも決める。誤り訂正レベルは必要に応じて適宜変えればよい（Ｕ１１）。次に、第１のコードの内のデータ領域（ファインダパターン、ファインダパターンの分離パターン、タイミングパターン、アラインメントパターンなどＱＲコードの補正等に不可欠な機能パターンやフォーマット情報、型番情報の領域などを除いた領域）のセルを所定数で区画する（Ｕ１２）。それらのセルに所定領域を設定して、第１のコードのデータを定義する（Ｕ１３）。そして、第２のコードに格納するデータに基づき特定セルを設定する。なお、第２のコードの特定セルとして使用しないセルは、区画しなくてもよく、所定領域の形状がセルと同一でもよい。つまり従来のＱＲコードのセルのままでもよい。第２のコードのデータフォーマット情報や特定セルインデックスなどは、読取り装置に含まれていてもよいし、第１のコードに格納してもいいし、第２のコードに格納してもよい。なお、第２のコードのデータフォーマット情報と第１のコードのセルインデックスを基に、第２のコードの特定セルインデックスを作成してもよい。あるいは、所定領域の形状、マークの有無で認識できるようにしてもよい。本来のＱＲコードの上記機能パターンを形成するセルに、特定セルを配置して第２のコードを格納してもよい（Ｕ１４）。さらに、特定セルインデックスに従い、データを形成する各セルに定義される数値情報に基づき設定された区画にマークを配置する（Ｕ１５）。読み取り順序情報を別途格納すれば、読み取り順序を変えてもよい。必要に応じて、基準点や基準パターンを定義する基準セルを配置する。その基準セルにも情報を定義してもよい（Ｕ１６）。
【０４０４】
（複合コードにおける特定情報と特定領域）
実施形態９の（複合コードの定義）に、「第２のコードは、前記第１のコードの少なくとも一部に対応する特定情報を含むとは、実施形態４、５と同様、第２のコードが、第１のコードであるバーコード、あるいは英数字、漢字、片仮名、平仮名等の文字列等で表されるデータをデジタル署名したものであることが例示される。」と記載されていることから明らかなように、特定情報はデジタル署名、つまり暗号化情報を含むことが記載されている。さらに、実施形態６の図４７から図５４で説明した電子認証の全てに対して、下記のケースも含むことの記載から、暗号化情報を含む特定情報は、ＱＲコードを含む第１のコードおよび、ドットコードを含む第２のコードに格納してもよい。
・ＱＲコードのデータの符号化情報を暗号化手段で暗号化した暗号化情報を、ドットコードに格納
・ＱＲコードのデータの符号化情報を暗号化手段で暗号化した暗号化情報を、ＱＲコードに格納
・ドットコードのデータの符号化情報を暗号化手段で暗号化した暗号化情報を、ＱＲコードに格納
・ドットコードのデータの符号化情報を暗号化手段で暗号化した暗号化情報を、ドットコードに格納
・ＱＲコードのデータの符号化情報を暗号化手段で暗号化した暗号化情報をドットコードに、ドットコードのデータの符号化情報を暗号化手段で暗号化した暗号化情報をＱＲコードに、それぞれ格納
・ＱＲコードのデータの符号化情報を暗号化手段で暗号化した暗号化情報をＱＲコードに、ドットコードのデータの符号化情報を暗号化手段で暗号化した暗号化情報をドットコードに、それぞれ格納
・ＱＲコードのデータと、ドットコードのデータから形成されるデータ列の符号化情報を暗号化手段で暗号化した暗号化情報を、ＱＲコードに格納
・ＱＲコードのデータと、ドットコードのデータから形成されるデータ列の符号化情報を暗号化手段で暗号化した暗号化情報を、ドットコードに格納
【０４０５】
さらに、特定情報は暗号化情報に限らず、符号化情報を含んでもよく、同様に、実施形態６の図５５および図５６で説明した電子認証の全てに対して、下記のケースも含むことの記載から、符号化情報を含む特定情報は、ＱＲコードを含む第１のコードおよび、ドットコードを含む第２のコードに格納してもよい。
・ＱＲコードのデータの符号化情報をドットコードに格納
・ＱＲコードのデータの符号化情報をＱＲコードに格納
・ドットコードのデータの符号化情報をＱＲコードに格納
・ドットコードのデータの符号化情報をドットコードに格納
・ＱＲコードのデータの符号化情報をドットコードに、ドットコードのデータの符号化情報をＱＲコードに、それぞれ格納
・ＱＲコードのデータの符号化情報をＱＲコードに、ドットコードのデータの符号化情報をドットコードに、それぞれ格納
・ＱＲコードのデータと、ドットコードのデータから形成されるデータ列の符号化情報を、ＱＲコードに格納
・ＱＲコードのデータと、ドットコードのデータから形成されるデータ列の符号化情報を、ドットコードに格納
【０４０６】
上記のケースに限らず、第２のコードのデータフォーマット情報等、ユーザーが使用する情報（誤り訂正符号を含む）を形成するためのデータ以外の情報を特定情報として第１のコードおよび／または第２のコードに格納してもよい。また、特定情報は、第１および第２のコードの一部の領域に設定された特定領域に格納されるのが望ましい。なお、ＱＲコードを第１のコードとして使用する場合、特定情報の格納に埋め草領域を使用してもよい。以上の特定情報および／または特定領域は、他の実施例と組み合わせて使用してもよい。
【０４０７】
（誤り訂正符号化と特定セルへのデータ格納）
ここでの誤り訂正符号化とデータ格納の例を以下に示す。（１）本来のＱＲコードのデータ格納可能特定セル数を、ファインダパターン０−１やファインダパターンの分離パターン０−２、タイミングパターン０−５、アライメントパターン０−３、形式情報０−４などの引き算により導き出す。例えば、ＱＲコードバージョン２では、３７５個でそれぞれ８ビットとして使えるので、格納可能な情報量は３７５バイトである。この場合は、タイミングパターン０−５（１６）のセルにも特定セルとしての役割を持たせることで、データ格納可能セル数の３７５は、全セル数（２５ｘ２５＝６２５）からファンダーパターン０−１（４９ｘ３＝１４７）、分離パターン０−２（１５ｘ３＝４５）、アライメントパターン０−３（２５）、形式情報０−４（１７＋８ｘ２＝３３）の各セル数の計２５０を引くことにより求まる。（２）使用するリード・ソロモン符号の個数を計算する。３７５／２５５＋１＝２、よって、各ＲＳ符号の符号長は３７５／２＝１８７となる。（３）所定の割合の符号化率のリード・ソロモン符号で符号化する。ＧＦ（２８）（ｎ，ｋ，ｄ）＝（１８７，１４８，４０）から、符号化後の情報量は１４８ｘ２＝２９６バイトとなる。（４）インターリーブを行う。ＲＳ１［０］，ＲＳ２［０］，ＲＳ１［１］，ＲＳ２［１］，…の順番でデータを並べる。（５）データと同様に誤り訂正符号を、左上から右に向かって、段を下がって同様に左から右に向かって格納していく。すなわち、全体として、左上から右下に向かって格納する。
【０４０８】
以上の生成手順の順序はあくまでも例であり、複合コードの生成に支障がない限り、実施する順序を変えてもよい。また、実施形態２や３、６，７で説明されている手順を用いたり、組み合わせて用いたりしてもよい。
【０４０９】
この複合コードを印刷物にプリントしたり、スマートフォンなどのディスプレイで表示させたりして利用してもよい。
【０４１０】
（複合コード読み取り手順のフローチャート）
図１４８〜図１５１のフローチャートを用いて複合コードの読み取り手順について説明する。その複合コードは、印刷されたものでもいいし、スマートフォンなどのディスプレイに表示されたものでもよい。
【０４１１】
（読み取り手順Ａ）
図１４８では、第２のコードによる補正がない場合、つまり、本来の第１のコードによる補正要素のみで第２のコードのデータを取得することが可能な場合で、第１のコードの処理を行った後に第２のコードの処理を行う場合の読み取り手順を図示している。
【０４１２】
まず、読取り装置による複合コードの読取りをする（Ｕ２１）。次に、その複合コードの第１のコードのセル配置を認識し、ついで、基準点を認識する（Ｕ２２）。そして、第１のコードのセルインデックスに従って所定領域におけるセルの色を認識する（Ｕ２３）。ＱＲコードのセルインデックスは読取り装置に格納されているが、オリジナルコードの第１のコードである場合は、第１のコードのセルインデックスは、複合コードに格納されていてもいいし、読取り装置に格納されていてもよい。すべての第１のコードのセルの認識が終了するまで同様の処理を行う（Ｕ２４）。次に、第１のコードの各セルの数値情報から統合情報（データ）を生成する（Ｕ２５）。そして、第１のコードに対応する情報処理をする。データの中に、第２のコードのデータフォーマット情報などがあれば、以後の第２コードの処理の際に用いる（Ｕ２６）。第２のコードのデータフォーマット情報に特定セルインデックスがあれば、特定セルインデックスを参照して特定セルかどうかを認識する（Ｕ２７）。そして、第２のコードの特定セルインデックスに基づいてマークの形状や配置により定義された数値情報を取得する。複合コードのデータフォーマット情報に読み取り順序が規定してあれば、第１のコードの読み取り順序と異なる順序で読み取りをしてもよい（Ｕ２８）。すべてのセルの読み取りが終了するまで同様の処理を行う（Ｕ２９）。引き続き、第２のコードのデータフォーマット情報を基に第２のコードの特定セルの数値情報から統合情報（データ）を生成する（Ｕ３０）。そして、第２のコードに対応する情報処理をする（Ｕ３１）。
【０４１３】
従来のＱＲコードリーダーを用いて、複合コードの画像を撮影してＱＲコード部分のデータのみを取得して処理してもよいし、複合コードリーダーで複合コードの画像を読み取ってもよい。
【０４１４】
（読み取り手順Ｂ）
図１４９では、第２のコードによる補正がない場合、つまり、本来の第１のコードによる補正要素のみで第２のコードのデータを取得することが可能な図１４６と同様な場合で、第１のコードのセルの処理中に第２のコードの特定セルの処理を実施する読み取り手順を図示している。
【０４１５】
まず、読取り装置による複合コードの読取りをする（Ｕ２１）。次に、その複合コードの第１のコードのセル配置を認識し、ついで、基準点を認識する（Ｕ２２）。そして、第１のコードのセルインデックスに従って所定領域におけるセルの色を認識する（Ｕ２３）。ＱＲコードのセルインデックスは読取り装置に格納されているが、オリジナルコードの第１のコードである場合は、第１のコードのセルインデックスは、複合コードに格納されていてもいいし、読取り装置に格納されていてもよい。各セルについて、第２のコードとして登録された特定セルかどうかを判断する。すなわち、特定セルインデックスを参照して特定セルであるかどうかを認識する（Ｕ２９Ａ）。そして、第２のコードの特定セルインデックスに基づいてマークの形状や配置により定義された数値情報を取得する（Ｕ２８）。すべての第１のコードのセルの認識が終了するまで同様の処理を行う（Ｕ２４）。次に、第１のコードの各セルの数値情報から統合情報（データ）を生成する（Ｕ２５）。そして、第１のコードに対応する情報処理をする。データの中に、第２のコードのフォーマット情報などがあれば、以後の第２コードの処理の際に用いる（Ｕ２６）。引き続き、第２のコードのデータフォーマット情報を基に第２のコードの特定セルの数値情報から統合情報（データ）を生成する（Ｕ３０）。そして、第２のコードに対応する情報処理をする（Ｕ３１）。
【０４１６】
図示しないが、Ｕ２６とＵ３１は、最後に一緒に実施してよい。
【０４１７】
従来のＱＲコードリーダーを用いて、複合コードの画像を撮影してＱＲコード部分のデータのみを取得して処理してもよいし、複合コードリーダーで複合コードの画像を読み取ってもよい。
【０４１８】
（読み取り手順Ｃ）
図１５０では、先行して第２コードで基準点や基準パターンを定義する基準セルによる補正を行う場合で、図１４９と同様に第１のコードのセルの処理中にと第２のコードの特定セルの処理を実施する読み取り手順を図示している。
【０４１９】
まず、読取り装置による複合コードの読取りをする（Ｕ２１）。次に、その複合コードの第１のコードのセル配置を認識し、ついで、基準点を認識する（Ｕ２２）。ここで、所定の領域が配置された第２のコードの基準セルの所定領域を、第１のコードで算出される基準点の近傍から認識し、実施形態５および実施形態１０で説明する種々のアルゴリズムのいずれかを用いて、基準点の補正を行う（Ｕ３２Ａ）。そして、第１のコードのセルインデックスに従って所定領域におけるセルの色を認識する（Ｕ２３）。ＱＲコードのセルインデックスは読取り装置に格納されているが、オリジナルコードの第１のコードである場合は、第１のコードのセルインデックスは、複合コードに格納されていてもいいし、読取り装置に格納されていてもよい。各セルについて、第２のコードとして登録された特定セルかどうかを判断する。すなわち、特定セルインデックスを参照して特定セルであるかどうかを認識する（Ｕ２９Ａ）。そして、第２のコードの特定セルインデックスに基づいてマークの形状や配置により定義された数値情報を取得する。基準パターンを含んで当該パターンのマークの形状や配置に基づき数値情報を取得してもよい（Ｕ２８）。すべての第１のコードのセルの認識が終了するまで同様の処理を行う（Ｕ２４）。次に、第１のコードの各セルの数値情報から統合情報（データ）を生成する（Ｕ２５）。そして、第１のコードに対応する情報処理をする。データの中に、第２のコードのフォーマット情報などがあれば、以後の第２コードの処理の際に用いる（Ｕ２６）。引き続き、第２のコードのデータフォーマット情報を基に第２のコードの特定セルの数値情報から統合情報（データ）を生成する（Ｕ３０）。そして、第２のコードに対応する情報処理をする（Ｕ３１）。
【０４２０】
図示しないが、Ｕ２６とＵ３１は、最後に一緒に実施してよい。また、図示しないが、読み取り手順Ａと同様に、第１のコードの処理が終了していから第２のコードの処理をしてもよい。
【０４２１】
従来のＱＲコードリーダーを用いて、複合コードの画像を撮影してＱＲコード部分のデータのみを取得して処理してもよいし、複合コードリーダーで複合コードの画像を読み取ってもよい。
【０４２２】
（読み取り手順Ｄ）
図１５１では、第２コードで基準点や基準パターンを定義する基準セルの代わりに、全てが基準点を単独で算出できる配置である特定セルの所定領域内にある基準点を基に補正を行う場合で、第１のコードのセルの処理中に第２のコードの特定セルの処理を実施する読み取り手順を図示している。図１１２〜図１１４や図１１６〜図１１７を用いて説明しているドットパターンを配置したセルおよび図１４６（ｄ）〜図１４６（ｆ）や図１４６（ｓ）〜図１４６（ｕ）を用いて説明している区画したセルなどによって構成されている複合コードがその例である。前記ドットパターンを配置したセルでは、所定領域と同一色マークが反対色の領域を介して隔てられており、さらに、所定領域と同一色マークのいずれもセルの境界と接していない。前記区画したセルでは、所定領域と同一色マークが反対色の領域を介して隔てられている。従って、ともに、所定領域の抽出が容易となっており、基準点の補正などもその観点から容易である。前記ドットパターンを配置したセルでは、隔たりのために、前記区画したセルでは、配置候補位置が固定であるため、マークの抽出も容易となっている。なお、第２のコードの所定領域を、第１のコードで算出される基準点の近傍から認識するのが望ましい。
【０４２３】
まず、読取り装置による複合コードの読取りをする（Ｕ２１）。次に、その複合コードの第１のコードのセル配置を認識し、ついで、基準点を認識する（Ｕ２２）。そして、第１のコードのセルインデックスに従って所定領域におけるセルの色を認識する（Ｕ２３）。ＱＲコードのセルインデックスは読取り装置に格納されているが、オリジナルコードの第１のコードである場合は、第１のコードのセルインデックスは、複合コードに格納されていてもいいし、読取り装置に格納されていてもよい。各セルについて、第２のコードとして登録された特定セルかどうかを判断する。すなわち、特定セルインデックスを参照して特定セルであるかどうかを認識する（Ｕ２９Ａ）。ここで、実施形態５および実施形態１０で説明する種々のアルゴリズムのいずれかを用いて抽出された特定セルの所定領域に基づき、基準点の補正を行う（Ｕ３２Ｂ）。そして、第２のコードの特定セルインデックスに基づいてマークの形状や配置により定義された数値情報を取得する（Ｕ２８）。すべての第１のコードのセルの認識が終了するまで同様の処理を行う（Ｕ２４）。次に、第１のコードの各セルの数値情報から統合情報（データ）を生成する（Ｕ２５）。そして、第１のコードに対応する情報処理をする。データの中に、第２のコードのデータフォーマット情報などがあれば、以後の第２コードの処理の際に用いる（Ｕ２６）。引き続き、第２のコードのデータフォーマット情報を基に第２のコードの特定セルの数値情報から統合情報（データ）を生成する（Ｕ３０）。そして、第２のコードに対応する情報処理をする（Ｕ３１）。
【０４２４】
図示しないが、Ｕ２６とＵ３１は、最後に一緒に実施してよい。また、図示しないが、読み取り手順Ａと同様に、第１のコードの処理が終了していから第２のコードの処理をしてもよい。
【０４２５】
従来のＱＲコードリーダーを用いて、複合コードの画像を撮影してＱＲコード部分のデータのみを取得して処理してもよいし、複合コードリーダーで複合コードの画像を読み取ってもよい。
【０４２６】
以上の読み取り手順の順序はあくまでも例であり、複合コードの読み取りに支障がない限り、実施する順序を変えてもよい。また、実施形態２や３、６，７で説明されている手順を用いたり、組み合わせて用いたりしてもよい。
【０４２７】
（実施例１６）時系列複合コード
実施例１〜実施例１３のように、明色および暗色のいずれにも１セル当たり第２のコードとして８ｂｉｔの数値情報を定義することにより、第１のコードの８倍以上のデータを格納できるが、第２のコードのみ時間変化する時系列データとすることにより、膨大なデータを格納できる。時系列データを形成するマーク３−０は、時間方向に形状、大きさ、色、配置位置等どのように変化させて情報量を増大させてもよい。ここで、第１のコードを変化させない理由は、第１のコードも変化させても容量を大幅に増加できないことと、従来のＱＲコードリーダー等で読取りできなくなってしまうからである。さらに、第１のコード内には第２のコード読むための諸々の情報が格納されているため、少なくとも一度だけ第２のコードを読むための諸々の情報（データフォーマット情報）を読み取れば、時間変化する第２のコードを読み取ることができるからである。但し、第１のコードで取得した各セルの基準点座標値を第２のコードで使用する場合は、複合コードをビデオまたは連写で撮影してフレームに複合コードが記録された際に、手振れ等で複合コードの撮像位置がずれる場合があり、ずれた分の補正をする必要がある。補正の方法としては、
ｉ）図１５２で例示するように、複合コードの番号をｉ，最終複合コード番号をｋ，各セルを特定するセル番号をｊとすると、先ず、最初に読み取って記録された複合コード（複合コード番号：ｉ＝１）の中心座標値（１ｘ，１ｙ）と回転角（１θ）を求める。次に、その後に撮影して記録される複合コード（ｉ＝２〜ｋ）毎に、複合コードの中心座標値（ｉｘ，ｉｙ）と回転角（ｉθ）を求めると、複合コード（ｉ＝１）に対する、以降の複合コード（１＜ｉ）の中心座標値の差分Δｉｘ＝ｉｘ−１ｘ，Δｉｙ＝ｉｙ−１ｙ，Δｉθ＝ｉθ−１θが求まる。ここで、第１のコードで取得した各セルの基準点座標値を（１ｘｊ，１ｙｊ）とすると、複合コード（ｉ＝１）の中心座標値から各セルの基準点までの距離は、１ｘｊ−１ｘ，１ｙｊ−１ｘであるから、複合コード番号ｉのセル番号ｊの基準点座標値（ｉｘｊ，ｉｙｊ）は、下式により求まる。
2020161172.tif 000003
【０４２８】
なお、手振れは殆どが平面的な移動・回転であり、上式はスマートフォン等の複合コードの表示装置の面に対して複合コード読み取り装置の光軸が傾かないことを前提とした近似式である。さらに、光軸の傾きも考慮に入れる場合は、撮像された複合コードの変形状況（例えば、コーナー４点の座標値から求まる変形）から、補正することもできる。
ｉｉ）最初の複合コード（ｉ＝１）の後に撮像された複合コード（ｉ＝２〜ｋ）毎に第１のコードを読み取って各セルの基準点座標値だけを算出して、第２のコードの各セルの基準点の座標値としてもよい。
ｉｉｉ）フレーム（ｉ＝１）の後にフレーム（ｉ＝２〜ｋ）毎に撮像された複合コードの第２のコードの基準セルに設けられた基準点や基準パターンに含まれる基準点、さらには、数値情報が格納された特定セルにおいて、算出可能な基準点を基に、実施形態５および実施形態１０で説明する種々のアルゴリズムのいずれかを用いて、第２のコードの基準点座標値を求めてもよい。
【０４２９】
第２のコードの基準点座標値の補正方法として上記３種を説明したが、これらの基準点座標値として、ＱＲコード等の２次元コードでは、各セルの中心座標値を用いてもよいことは言うまでもない。
【０４３０】
図１５３は、時系列複合コードの表示を示す時間軸（フレーム番号）を横軸にしたグラフであり、１秒間に６０フレームを表示している。いずれでも、同じ番号の複合コードを数フレーム表示して、読取り装置で撮影して複数フレームを記録し、その中で良好に撮像された複合コードを読み取るようにしてもよい。図１５３（ａ）は、複合コード番号（１）〜（１０）で１つのデータを形成している。当該データを形成している１０個（ｋ＝１０）の複合コードは４フレームずつ表示されているが、表示装置のフレームレートと読取り装置のフレームレートおよびその品質により表示フレーム数を設定すればよい。１つのデータを形成する複合コードの個数（ｋ個）は第１のコードに格納し、第２のコードにそれぞれの複合コードの当該番号を格納しておけばよい。これにより、読み取る順番を問わず、どこから撮影しても、ｋ個の複合コードを連続して読み取ることができる。読み取り精度を高めるためにｋ個の複合コードを２回以上読み取って相互照合してエラーチェックを実施するようにしてもよい。時系列複合コードを表示するのは、１秒間に５〜３０フレームであり、時間方向に次に撮像された複合コードの各セルの基準点の位置のずれは極僅かであり、どのセルであるかは複数枚の撮像画像から、その僅かな基準点の移動を追跡して容易に認識できることから、セル番号の特定は難しくない。なお、表示装置のフレームレートをＮ（現行のスマートフォンのフレームレートＮは６０フレームが多い）とすると、時系列複合コードの表示回数がＭで、Ｍ＜Ｎの場合、同じ複合コードはＮ／Ｍフレームで連続して表示されることになる。なお、同じ複合コードを連続してＬフレームずつ表示するように設定してもよい。図１５３（ａ）〜図１５３（ｃ）のいずれでも、同じ複合コードを連続して、４フレームずつ表示している。図１５３（ｂ）では、データを形成している１０個の複合コードの表示が終了すると、所定フレーム数において、第１のコードのみを表示し第２のコードを表示しないようにしてデータの終了を意味する情報を表示している。その後、データを形成している１０個の複合コードが再表示される。この所定フレームには、複合コードとは無縁の画像を入れてもよいし、他の形式でヘッダー等の情報を格納してもよい。但し、この場合は、既存のＱＲコードリーダーでは読めなくなる。さらに、このデータを形成している複合コードの個数ｋやｋ個で形成されるデータの表示回数（何回目に表示しているかなど）などを格納してもよい。なお、この所定のフレームにヘッダーとして第２のコードを含めて、上記の情報の他、エラーチェック用のデータや電子署名のための情報等を格納してもよい。この所定のフレーム数はいずれも４フレームとしているが、読取り可能であればどのように設定してもよいし、複合コード（１）の前にも設定してもよい。なお、この所定フレームをまたいでｋ個の複合コードを読み取ってもよいことは言うまでもない。図１５３（ｃ）のように、複合コードを表示させないでコードの変化点を認識できるようダミーコードを配置してもよい。このダミーコードは、単色であることが望ましい。複合コードで使用する色や複合コードの周辺色であれば、なお望ましい。また、第１のコードを継続して認識できるように、第１のコードをダミーコードとして用いてもよい。これにより、撮影時のモーションブラー等を抑制できる場合がある。図１５３（ｃ）では４フレームであるが、その効果が得られれば、フレーム数は問わない。さらに、その所定フレームに、第１のコードのみを表示させるようにしてもよい。そうすれば、第１のコードがＱＲコードのような既存の二次元コードであれば、当該二次元コードリーダーでどのようなタイミングでも読み取ることができる。
【０４３１】
時系列複合コードの読み取りは、図１５３のように第２のコードを時間軸上にデータｉ＝１〜ｋを形成して表示するが、第２のコードの一部または全部を読み取ることができない場合があり、その場合は、時系列データの時間軸上において、フレーム間に相関を持たせ誤り訂正符号化を行うことで形成されたデータを完全に復号することができる。この際に、ｉ）数値情報が格納された特定セルの同じ位置（同じセル番号を有する特定セル）に配置されている１個毎の時系列数値情報に対して、誤り訂正を行ってもよい。つまり、当該セルの時系列数値情報として、時間軸上の所定のフレームにだけ誤り訂正符号を設ける。ｉｉ）一方、複数の特定セルに対して、当該セルの時間軸上のフレームの全てに誤り訂正符号を設けてもよい。また、従来の誤り訂正のように、フレーム毎の複合コードの所定の領域に配置される複数の特定セルに対して、当該フレームに定義された第２のコードの誤り訂正符号を設けてもよい。なお、ｉ）とｉｉ）および従来の誤り訂正をどのように組み合わせて、誤り訂正符号化を行ってもよい。
【０４３２】
以下、実施形態１１で説明した複合コードの利用方法の例について説明する。実施形態６、実施形態７および実施形態９で説明した真贋判定や電子署名をはじめとして、利用方法に制限がないことは言うまでもない。
【０４３３】
（実施例１７）次世代決済システム（１）
店舗側でＰＯＳシステム（スマートフォンやタブレットの簡易ＰＯＳシステムでもよい）に購入商品を入力すると、ディスプレイに複合コードが表示される。購入者はスマートフォンの決済用専用アプリを起動させて複合コードを読み取ると、購入商品や金額等が表示される。間違いがないことを確認して決済ボタンをタップすると、購入者のスマートフォンには引き落としを可能にする内容の複合コードが表示され、店舗側の複合コードリーダー（専用リーダの他、スマートフォンやタブレット、また、それらに接続されたカメラでもよい）でそれを読み取り、決済会社が承認すると、所定の時期に決済がされる。決済用専用アプリが、常に残高や利用枠を認識していれば、決済可能であるかどうかも含めて電子署名された複合コードにデータを格納して購入者のスマートフォンに表示させることができる。従って、ネットを介した承認等を店舗側のＰＯＳシステムが受け取る必要がなく、災害時やネットに障害がある場合でも決済が可能である。店舗側も対応する専用決済アプリにより、購入者のスマートフォンに表示された複合コードを読み取れば、その場で決済会社に承認を取らなくてもよい。その後に必要情報を基にネットによる決済が実施されてもよい。さらに、セキュリティを強化するため、購入者のスマートフォンに表示された複合コードに本人の顔写真を格納するようにすれば、店舗側は本人確認を同時に実施することもできる。本人の顔写真を所定の時間のみ表示させることで、データが店舗側に残らないようにして個人情報の漏洩を防ぐようにしてもよい。
【０４３４】
（実施例１８）次世代決済システム（２）
店舗側でＰＯＳシステム（スマートフォンやタブレットの簡易ＰＯＳシステムでもよい）に購入商品を入力すると、ディスプレイに複合コードが表示される。購入者はスマートフォンの決済用専用アプリを起動させて複合コードを読み取ると、購入商品や金額等が表示される。間違いがないことを確認して決済ボタンをタップすると、複合コードに格納されていた店舗側ＰＯＳの無線ポイント（アドレス）とＷＩＦＩやＢＬＥ，ＢＴ等で接続され、購入者のスマートフォンから決済情報が送信される。ここで、決済用専用アプリが常に残高や利用枠を認識するようにすれば、購入者のスマートフォンと店舗側ＰＯＳとをローカルで無線接続することによって、ネットを介した承認等を購入者のスマートフォンで受ける必要がなく、災害時やネットに障害がある場合でも決済を可能にできる。さらに、店舗側ＰＯＳの無線ポイントもワンタイムパスワードのように毎回、変更させてもよい。変更の方法としては、時間依存にしたり、複数の無線ポイントから使用する無線ポイントをランダムに選択するようにしてもよい。店舗側も対応する専用決済アプリにより、購入者のスマートフォンから送信された決済情報を認証するようにすれば、その場で決済会社に承認を取らなくてもよい。その後に必要情報を基にネットによる決済が実施されてもよい。また、購入者のスマートフォンから店舗側ＰＯＳの無線ポイント（アドレス）にＷＩＦＩやＢＬＥ，ＢＴ等で接続して決済情報を送信した後に、従来のクレジットカードのように、店舗側ＰＯＳに接続されたディスプレイに購入者がサインをするようにしてもよい。もちろん、スマートフォンやタブレットのタッチパネルに指やスタイラスペンでサインするようにしてもよい。さらに、実施例１７と同様に、複合コードに本人の顔写真を格納し本人確認をするようにしてもよい。
【０４３５】
（実施例１９）チケット本人確認システム
コンサートやイベント、交通チケット等、様々なチケットにおいて、転売や‘なりすまし’を防止するために、チケット取得時にスマートフォンで本人写真を撮影して、複合コードに取得チケット情報と共に本人写真を格納する。チケット使用時に、チケット発行者側がチケット使用者のスマートフォンに表示された複合コードを読取り、取得チケット情報の認証と、表示された顔写真による本人確認を同時に実施することによって転売や‘なりすまし’を防止できる。第三者がチケットを取得して本人に提供することを許可する場合は、本人写真をその第三者に提供するようにすればよい。また、取得者が本人の場合、自身の撮影済み写真を選択することができる。さらに、チケット使用者の顔の近傍に、複合コードが表示されたスマートフォンを向けた状態で、超高精度のカメラを搭載した複合コードリーダーでチケット使用者の顔と複合コードを同時に読み取ることにより、チケット使用者の顔と複合コードリーダーに格納された顔写真とを顔認証すれば同一人物であるかの確認が自動で可能となる。もちろん、チケット使用者の顔の撮影と複合コードリーダーに格納された顔写真の読み取りは別のデバイスで行ってもよい。顔の照合に替えて、自身の指の腹を撮影して複合コードリーダーに格納しておき、本人の指の腹と複合コードを同時に読み取ることによって指紋の照合をするようにしてもよい。
【０４３６】
（実施例２０）本人確認アプリ
第三者が本人確認するための専用アプリであり、様々なシーンで第三者が本人確認できるように複合コードに本人の顔写真を格納する。本人確認アプリに本人情報を登録する際に、本人の写真を撮影する他、住民票住所、戸籍、マイナンバー、保険証、免許証、パスポート、学生証、社員証等の所定の個人情報を入力または撮影して登録し、本人であることを、専用アプリ提供機関が承認する。本人写真が掲載された免許証やパスポート等を同時に撮影して、複合コードに格納された本人写真と照合すればなお望ましい。年齢と共に顔が変化し、本人を認識しづらくなる。そこで、定期的に本人の写真を取り直すように、本人確認アプリが音声やテキスト等のアラームで本人に知らせる。その際に、撮影した写真と複合コードに格納されている写真とを照合して、同一人物として承認できない場合は、‘なりすまし’として判断し、本人確認アプリが使用できないようにする。このように、顔の変化を辿るために定期的に本人の写真を撮影して複合コードに格納すれば、第三者が本人であることを確認できない程の顔の変化にはならない。不定期的にも、化粧の変化や整形による大きな顔の変化がある場合でも、本人所有のスマートフォンで自撮りや第三者が撮影した本人の顔写真を本人確認アプリが常に自動的に認識し、顔に大きな変化を検知した場合は、本人の写真を取り直すようにアラームで本人に知らせればよい。さらに、直近の自撮りや第三者が撮影した本人の顔写真を複合コードに格納してもよい。なお、静止画複合コードでは、本人を識別できるレベルのカラー写真を格納することができるが、時系列複合コードではより鮮明なカラー写真や短い動画を格納することができる。
【０４３７】
（実施例２１）移動情報提供手段
バスや鉄道等の移動手段において、そのルートや駅および近辺の施設、観光等様々な情報を複合コードに格納して、車内や駅に掲示することにより乗客は本来のＱＲコードには収まり切らない情報を複合コードからスマートフォンで取得することができる。複合コードをディスプレイに表示すれば、移動中の位置も含めて、移動時に変化する天気等の情報も取得することができる。これまでの車内に設置されたディスプレイでの情報提供では、自分の知りたい情報を自分で選択できなかったが、複合コードには様々な情報がリンクされており、スマートフォンを使用して好みの情報を取得することができる。また、タクシーを使用した際も出発地点から到着地点までのルートやタクシー代を複合コードに格納し、タクシー側のディスプレイで表示することにより、乗客は適切なルートで移動したかを確認でき、複合コード決済を適正に実施できる。このサービスが普及することにより、‘ぼられる’ことも抑止できる。乗客側も専用の移動地図アプリと連動させて、どのルートで目的地に移動したいかを複合コードに格納して、運転手の複合コードリーダーで読み取り、ナビによる表示や音声出力により、的確に乗客の希望するルートを運転手に伝えることができる。
【０４３８】
本発明にかかる複合コードによれば、第１のコードのみの場合に比べ、第１のコードの領域内に第２のコードを格納することにより、同じコード領域で多量の情報を格納することが可能になる。
【０４３９】
例えば、第１のコードがＱＲコードであり、第２のコードがドットコードである複合コードを印刷した場合には、ＱＲコードのみを印刷した場合と比較して１０倍以上、複合コードをスマートフォン等の画面に表示した場合には、ドットコードにカラー情報を付与し時間変化させることにより、ＱＲコードの１００倍以上の情報を格納することができる。
【０４４０】
多量の情報量を格納できることから、インターネットを使用せずとも、数千文字の和文や写真、音声情報等も格納でき、文書管理からエンターテーメント、教育、観光まで幅広く活用できる。さらに、従来のＱＲコードリーダーでＱＲコード、すなわち第１のコー、に格納されたデータを読み取ることができる。
【０４４１】
また、本発明にかかる複合コードは、各種の認証に用いることに適している。例えば、電子署名やＵＲＬの真贋判定を可能にするＱＲコードの印刷や、自身が保有するスマートフォンに自身の生体情報を格納したＱＲコードを表示し、相手方（装置も含む）が読み取ることにより本人確認等が容易にできる。
【０４４２】
さらに、現在、ＱＲコードは、その仕様を開示しているため、誰でも発行することが可能となっており、第三者が同一のコードを発行することができる。しかし、本発明にかかる複合コードでは、ＱＲコード等に加えて、秘匿された新たなアルゴリズムでドットコード等のマーク（第２のコード）が形成されるため、ユニークな複合コードを発行することが可能となり、第三者により同一のコードが発行される可能性は極めて低く極めてセキュリティ性が高い。さらに、ＱＲコードは複写や模倣が容易であり、ＱＲコードに格納された情報を、ショルダーハッキング等により意図せぬ第三者に取得されてしまう可能性がある。しかし、複合コードでは、第２のコードは目視しにくく、模倣も困難である。
【０４４３】
以上のように、本発明にかかる複合コードは、従来の１次元および２次元コードでは実現できない多くの利点を有している。
【０４４４】
＜その他の態様＞
本実施形態は、さらに以下の態様を含む。
【０４４５】
（態様１）
複数のセルが配列形状に配置され、それぞれが所定領域を有し、該所定領域にそれぞれが互いに識別可能な２以上の色のいずれかを有することによりデータが定義される第１のコードと、
前記複数のセルの少なくとも一部に前記所定領域を除く領域を有する特定セルを形成し、該所定領域を除く領域の所定の位置に配置される識別可能なマークによりデータが定義される第２のコードと、
を備えた複合コード。
【０４４６】
（態様２）
前記所定の位置における前記マークの配置の有無により前記データが定義される
態様１に記載の複合コード。
【０４４７】
（態様３）
前記所定領域は、任意の形状である、
態様１または２に記載の複合コード。
【０４４８】
（態様４）
前記複数のセルの内、前記特定セル以外のセルの少なくとも一部が、前記所定領域と該所定領域を除く領域を有し、それぞれが互いに識別可能な色を有する、
態様１〜３のいずれかに記載の複合コード。
【０４４９】
（態様５）
前記所定領域は、前記所定領域を除く領域に囲まれ、それぞれが互いに識別可能な色を有する、
態様３に記載の複合コード。
【０４５０】
（態様６）
前記複数のセル内の所定領域は、それぞれのセルの色を認識するための基準点を含む、
態様１〜５のいずれかに記載の複合コード。
【０４５１】
（態様７）
前記マークの配置位置は、少なくとも前記特定セルおよび該特定セル以外のセルの少なくとも一方の前記基準点を基に設定される、
態様６に記載の複合コード。
【０４５２】
（態様８）
前記マークの配置位置は、少なくとも前記特定セルの前記基準点から所定方向に所定間隔を設けて設定される、
態様６に記載の複合コード。
【０４５３】
（態様９）
前記基準点として識別可能な前記所定領域から算出された中心座標値を基に、他の前記複数のセルの基準点の座標値が算出される、
態様６に記載の複合コード。
【０４５４】
（態様１０）
識別可能な前記マークの配置位置と前記基準点および第２のコードの向きを含み形成される基準パターンが前記複数のセルのいずれかに配置される、
態様６〜９のいずれかに記載の複合コード。
【０４５５】
（態様１１）
前記基準パターンを基に、前記複数のセルの基準点からの前記マークとの幾何学的関係と前記第２のコードの向きを基に、前記データが定義される、
態様１０に記載の複合コード。
【０４５６】
（態様１２）
前記第２のコードの向きは、前記基準パターンを形成するマークの形状、配置および、２以上の大きさの異なるマークのいずれかにより定義される、
態様１０または１１に記載の複合コード。
【０４５７】
（態様１３）
前記第２のコードの向きは、前記第１のコードの向きと同一である、
態様６〜１２のいずれかに記載の複合コード。
【０４５８】
（態様１４）
前記基準点は、それぞれの前記セルの中心である、
態様６〜９のいずれかに記載の複合コード。
【０４５９】
（態様１５）
前記基準点は、それぞれの前記セルの所定領域の中心である、
態様６〜１４のいずれかに記載の複合コード。
【０４６０】
（態様１６）
前記複合コードが撮影されて記憶装置にＸＹ座標軸を有する２次元撮像画像（Ｘ，Ｙ）において、ｎ個のピクセルとして２値化された前記所定領域の中心（ＸＣ，ＹＣ）は、ｎ個（ｉ＝１〜ｎ）のピクセルの座標値をＤｉ（Ｘｉ，Ｙｉ）とすると、ＸＣ＝（ΣＸｉ，ｉ＝１〜ｎ）／ｎ，ＹＣ＝（ΣＹｉ，ｉ＝１〜ｎ）／ｎである、
態様１５に記載の複合コード。
【０４６１】
（態様１７）
前記所定領域の面積は、それぞれの前記セルの面積の１／１０以上である、
態様１〜１６のいずれかに記載の複合コード。
【０４６２】
（態様１８）
前記所定領域の面積は、それぞれの前記セルの面積の１／２０以上である、
態様１〜１６のいずれかに記載の複合コード。
【０４６３】
（態様１９）
前記複数のセル内の所定領域の色は、それぞれのセルの色として認識できるだけの所定の面積を有する、
態様１〜１８のいずれかに記載の複合コード。
【０４６４】
（態様２０）
前記それぞれのセルの色は、前記識別可能な２以上の色のいずれかの色の濃度を所定量含むことによって、それぞれが互いに識別可能である、
態様１〜１９のいずれかに記載の複合コード。
【０４６５】
（態様２１）
前記所定領域の面積は、それぞれの前記セルの面積の６０％程度以上である、
態様１〜２０のいずれかに記載の複合コード。
【０４６６】
（態様２２）
前記マークの色は、該マークが配置されるそれぞれの前記所定領域と同一色を含む、
態様１〜２１のいずれかに記載の複合コード。
【０４６７】
（態様２３）
前記マークの配置位置は、少なくとも前記特定セルの前記所定領域を除く領域を任意の形状で区画した領域のいずれかに設定される、
態様１〜２２のいずれかに記載の複合コード。
【０４６８】
（態様２４）
前記マークの形状は、前記区画した領域と同一形状であり、該区画した領域内は同一色を有する、
態様２３に記載の複合コード。
【０４６９】
（態様２５）
前記マークは、該マークが配置される前記所定の位置または該所定の位置を含む領域に、前記所定領域が有する色と互いに識別可能な２以上の色のいずれかをそれぞれに有する、
態様１〜２４のいずれかに記載の複合コード。
【０４７０】
（態様２６）
前記第２のコードは、前記マークの形状、大きさ、色、向き、配置パターンの少なくともいずれか１つにより、データが定義される、
態様１〜２５のいずれかに記載の複合コード。
【０４７１】
（態様２７）
前記マークの形状は、任意の形状である、
態様２６に記載の複合コード。
【０４７２】
（態様２８）
前記マークの色は、該マーク同士識別可能な少なくとも赤、緑、青、シアン、マゼンダ、黄、黒、白および前記所定領域の色のいずれかを含む、
態様１〜２７のいずれかに記載の複合コード。
【０４７３】
（態様２９）
前記マークの大きさは所定の距離から視認しづらい大きさのマークである、
態様１〜２８のいずれかに記載の複合コード。
【０４７４】
（態様３０）
前記複合コードは、媒体に形成されるか、電子媒体、放送媒体、記憶媒体または通信媒体等からの出力により表示装置に表示されるか、または電子媒体内にデジタル情報で形成される、
態様１〜２９のいずれかに記載の複合コード。
【０４７５】
（態様３１）
少なくとも前記第２のコードが複数のコードで形成され、
前記複数のコードは、時系列データとして表示装置に時間軸方向に所定の順に表示されるか、または前記媒体の所定の位置に形成される、
態様３０に記載の複合コード。
【０４７６】
（態様３２）
前記時間軸方向に所定の順に表示される複数のコードの間には、非表示の所定時間を含む、
態様３１に記載の複合コード。
【０４７７】
（態様３３）
複数のセルが配列形状に配置され、それぞれが所定領域を有し、該所定領域にそれぞれが互いに識別可能な２以上の色のいずれかを有することによりデータが定義される第１のコードと、
前記複数のセルの少なくとも一部を形成する特定セル内において、前記所定領域を除く領域の所定の位置に配置される識別可能なマークによりデータが定義される第２のコードと、
を備えた複合コードであって、
前記第１のコードおよび前記第２のコードの少なくとも一方に設けられる特定領域には、前記第１のコードおよび前記第２のコードのうちの少なくとも一方のコードのうちの該特定領域を除いた領域の少なくとも一部に対応する特定情報を含む複合コード。
【０４７８】
（態様３４）
態様１〜３２のいずれかに記載の前記マークの少なくとも一つが形成されている、
態様３３に記載の複合コード。
【０４７９】
（態様３５）
前記特定領域を除いた領域の少なくとも一部には、少なくとも氏名、性別、生年月日、住所、戸籍、生体情報等、個人を特定する情報を含む、
態様３３または３４に記載の複合コード。
【０４８０】
（態様３６）
前記特定情報は、前記特定領域を除いた少なくとも一部を符号化手段により符号化した符号化情報である、
態様３３〜３５のいずれかに記載の複合コード。
【０４８１】
（態様３７）
前記特定情報は、前記符号化情報が、暗号化手段により暗号化された暗号化情報である、
態様３６に記載の複合コード。
【０４８２】
（態様３８）
前記暗号化情報は、復号化手段により、前記符号化情報に復号できる、
態様３７に記載の複合コード。
【０４８３】
（態様３９）
前記特定領域を除いた少なくとも一部には、情報処理装置に前記復号化手段として実行させるためのプログラムが含まれる、
態様３８に記載の複合コード。
【０４８４】
（態様４０）
前記暗号化情報は、前記暗号化手段で秘密鍵を用いて符号化情報を暗号化した情報であり、
前記復号化手段は、公開鍵を用いて前記暗号化情報を復号化する、
態様３８または態様３９のいずれかに記載の複合コード。
【０４８５】
（態様４１）
前記符号化手段はハッシュ関数であり、
前記ハッシュ関数により符号化した符号化情報はハッシュ値であり、
前記暗号化手段により暗号化された暗号化情報は暗号化されたハッシュ値であり、
前記暗号化されたハッシュ値は、前記復号化手段により前記ハッシュ値に復号できる、
態様３８〜４０のいずれかに記載の複合コード。
【０４８６】
（態様４２）
前記特定情報は、前記少なくとも一方のコードのうちの前記特定領域を除いた少なくとも一部が表す情報または前記符号化情報を基に電子署名手段によって作成された電子署名情報であり、前記電子署名情報は、検証手段により前記少なくとも一方のコードのうちの前記特定領域を除いた少なくとも一部が表す情報と所定の関係にあることが検証可能である、
態様３６〜４１のいずれかに記載の複合コード。
【０４８７】
（態様４３）
前記複合コードを明示するためのマーク、グラフィックスまたはテキストの少なくともいずれかが、前記第１のコードの内部に形成された、
態様１〜４２のいずれかに記載の複合コード。
【０４８８】
（態様４４）
態様３３〜４２のいずれかに記載の複合コードが形成または表示された媒体。
【０４８９】
（態様４５）
態様３３〜４２のいずれかに記載の特定領域を除いた少なくとも一部は、前記媒体上に形成された文字および画像の少なくとも一つに対応する情報をデータ化したものであり、該情報の近傍または内部に前記複合コードが形成された、
態様４４に記載の媒体。
【０４９０】
（態様４６）
態様１〜４３のいずれかに記載の複合コードに含まれる、
前記第１のコードを取得する第１の取得手段と、
前記第２のコードを取得する第２の取得手段と、
を備える、複合コード読取り装置。
【０４９１】
（態様４７）
態様６〜１８のいずれかに記載の前記所定領域に含まれる基準点を基に、
前記第２のコードが取得される、
態様４６に記載の複合コード読取り装置。
【０４９２】
（態様４８）
前記第１の取得手段で取得した前記セルの基準点を、
前記第２の取得手段で取得した前記基準点の座標値に基づいて補正して、
前記第２のコードを読み取る、
態様４７に記載の複合コード読取り装置。
【０４９３】
（態様４９）
態様１０〜１２のいずれかに記載の前記基準パターンを用いて、
前記マークの配置候補位置を補正して、
前記第２のコードを読み取る、
態様４７または４８に記載の複合コード読取り装置。
【０４９４】
（態様５０）
前記第１のコードおよび前記第２のコードの少なくとも一方には、個人を特定する情報を含み、
前記個人を特定する情報は、少なくとも氏名、性別、生年月日、住所、戸籍、生体情報のいずれかに関する情報である、
態様４６〜４９のいずれかに記載の複合コード読取り装置。
【０４９５】
（態様５１）
生体情報を取得する第３の取得手段と、
前記第３の取得手段で取得した生体情報と、
前記個人を特定する情報と照合して、その正否を出力する出力手段と、
を備える態様５０に記載の複合コード読取り装置。
【０４９６】
（態様５２）
前記第１の取得手段、前記第２の取得手段、前記第３の取得手段および前記出力手段の少なくとも一つは、１または複数のプロセッサーの処理によって機能する、
態様５１記載の複合コード読取り装置。
【０４９７】
（態様５３）
態様３６に記載の符号化手段と同一の符号化が可能な第２の符号化手段を備え、
態様３３〜４２のいずれかに記載の特定領域を除いた少なくとも一部を、前記第２の符号化手段により第２の符号化情報に符号化する、
態様４６〜５２のいずれかに記載の複合コード読取り装置。
【０４９８】
（態様５４）
復号化手段を備え、
態様３７に記載の暗号化手段により暗号化された暗号化情報を、前記復号化手段により、態様３６に記載の符号化情報に復号する、
態様４６〜５３のいずれかに記載の複合コード読取り装置。
【０４９９】
（態様５５）
公開鍵を有し、
前記暗号化情報は、前記暗号化手段で秘密鍵を用いて符号化情報を暗号化した情報であり、
前記復号化手段は、前記公開鍵を用いて前記暗号化情報を復号化する、
態様５４に記載の複合コード読取り装置。
【０５００】
（態様５６）
態様５３に記載の第２の符号化手段で符号化した第２の符号化情報と、
前記復号化手段で復号した符号化情報と、を照合して態様３３に記載の特定情報の正否を判定する、
態様５４〜５５のいずれかに記載の複合コード読取り装置。
【０５０１】
（態様５７）
コンピュータが、複数のセルが配列形状に配置され、それぞれが所定領域を有し、該所定領域にそれぞれが互いに識別可能な２以上の色のいずれかを有することによりデータが定義される第１のコードを生成する第１の生成ステップと、
前記複数のセルの少なくとも一部を形成する特定セル内において、前記所定領域を除く領域の所定の位置に配置される識別可能なマークによりデータが定義される第２のコードを生成する第２の生成ステップと、を実行し、
態様１〜４３のいずれかに記載の複合コードを生成する、複合コード生成方法。
【０５０２】
（態様５８）
コンピュータが、複数のセルが配列形状に配置され、それぞれが所定領域を有し、該所定領域にそれぞれが互いに識別可能な２以上の色のいずれかを有することによりデータが定義される第１のコードを取得し、
前記複数のセルの少なくとも一部を形成する特定セル内において、前記所定領域を除く領域の所定の位置に配置される識別可能なマークによりデータが定義される第２のコードを取得する複合コードの読み取り方法であって、
態様１〜４３のいずれかに記載の複合コードを読取る複合コード読取り方法。
【０５０３】
（態様５９）
コンピュータに、複数のセルが配列形状に配置され、それぞれが所定領域を有し、該所定領域にそれぞれが互いに識別可能な２以上の色のいずれかを有することによりデータが定義される第１のコードを生成する第１の生成ステップと、
前記複数のセルの少なくとも一部を形成する特定セル内において、前記所定領域を除く領域の所定の位置に配置される識別可能なマークによりデータが定義される第２のコードを生成する第２の生成ステップと、を実行させる複合コード生成プログラムであって、
態様１〜４３のいずれかに記載の複合コードを生成する複合コード生成プログラム。
【０５０４】
（態様６０）
コンピュータが、複数のセルが配列形状に配置され、それぞれが所定領域を有し、該所定領域にそれぞれが互いに識別可能な２以上の色のいずれかを有することによりデータが定義される第１のコードを取得し、
前記複数のセルの少なくとも一部を形成する特定セル内において、前記所定領域を除く領域の所定の位置に配置される識別可能なマークによりデータが定義される第２のコードを取得する複合コードの読み取りプログラムであって、
態様１〜４３のいずれかに記載の複合コードを読取る複合コード読取りプログラム。
【０５０５】
（態様６１）
複数のセルが配列形状に配置され、それぞれが所定領域を有し、該所定領域にそれぞれが互いに識別可能な２以上の色のいずれかを有することによりデータが定義される第１のコードを生成する第１の生成手段と、
前記複数のセルの少なくとも一部を形成する特定セル内において、前記所定領域を除く領域の所定の位置に配置される識別可能なマークによりデータが定義される第２のコードを生成する第２の生成手段と、
を備えた複合コード生成装置であって、
態様１〜４３のいずれかに記載の複合コードを生成する複合コード生成装置。
【符号の説明】
【０５０６】
１０  情報処理装置
１１  ＣＰＵ
１２  主記憶装置
１３  外部記憶装置
１４  表示装置
１５  操作部
１６  通信インターフェース
１７  画像入力インターフェース
１８  画像出力インターフェース
ＣＳ１、ＣＳ２  コンテンツサーバ
ＭＳ１  管理サーバ
ＵＤ１、ＵＤ２  ユーザー装置
０−０  クワイエットゾーン
０−１  ファインダパターン（位置検出パターン）
０−１１  右上のファインダパターン
０−１２  左上のファインダパターン
０−１３  右下のファインダパターン
０−２  分離パターン
０−３  アライメントパターン（位置合わせパターン）
０−４  形式情報（フォーマット情報）
０−５  タイミングパターン
１−０  特定セル
１−００  明色の特定セル
１−０１  暗色の特定セル
１−１    基準点を定義する基準セル
１−１０  基準点を定義する明色の基準セル
１−１１  基準点を定義する暗色の基準セル
１−２  基準パターンを定義する基準セル
１−２０  基準パターンを定義する明色の基準セル
１−２１  基準パターンを定義する暗色の基準セル
２−０  セルの所定領域
２−００  セルの明色所定領域
２−０１  セルの暗色所定領域
２−１  セル内の所定領域２−０を除く領域
２−１０  セル内の所定領域２−０を除く明色領域
２−１１  セル内の所定領域２−０を除く暗色領域
３−０  情報を定義するマーク
３−００  情報を定義する明色マーク
３−０１  情報を定義する暗色マーク
３−１  基準パターンを定義するマーク
３−１０  基準パターンを定義する明色基準マーク
３−１１  基準パターンを定義する暗色基準マーク
【図１】
2020161172.tif 000004
【図２】
2020161172.tif 000005
【図３】
2020161172.tif 000006
【図４】
2020161172.tif 000007
【図５】
2020161172.tif 000008
【図６】
2020161172.tif 000009
【図７】
2020161172.tif 000010
【図８】
2020161172.tif 000011
【図９】
2020161172.tif 000012
【図１０】
2020161172.tif 000013
【図１１】
2020161172.tif 000014
【図１２】
2020161172.tif 000015
【図１３】
2020161172.tif 000016
【図１４】
2020161172.tif 000017
【図１５】
2020161172.tif 000018
【図１６】
2020161172.tif 000019
【図１７】
2020161172.tif 000020
【図１８】
2020161172.tif 000021
【図１９】
2020161172.tif 000022
【図２０】
2020161172.tif 000023
【図２１】
2020161172.tif 000024
【図２２】
2020161172.tif 000025
【図２３】
2020161172.tif 000026
【図２４】
2020161172.tif 000027
【図２５】
2020161172.tif 000028
【図２６】
2020161172.tif 000029
【図２７】
2020161172.tif 000030
【図２８】
2020161172.tif 000031
【図２９】
2020161172.tif 000032
【図３０】
2020161172.tif 000033
【図３１】
2020161172.tif 000034
【図３２】
2020161172.tif 000035
【図３３】
2020161172.tif 000036
【図３４】
2020161172.tif 000037
【図３５】
2020161172.tif 000038
【図３６】
2020161172.tif 000039
【図３７】
2020161172.tif 000040
【図３８】
2020161172.tif 000041
【図３９】
2020161172.tif 000042
【図４０】
2020161172.tif 000043
【図４１】
2020161172.tif 000044
【図４２】
2020161172.tif 000045
【図４３】
2020161172.tif 000046
【図４４】
2020161172.tif 000047
【図４５】
2020161172.tif 000048
【図４６】
2020161172.tif 000049
【図４７】
2020161172.tif 000050
【図４８】
2020161172.tif 000051
【図４９】
2020161172.tif 000052
【図５０】
2020161172.tif 000053
【図５１】
2020161172.tif 000054
【図５２】
2020161172.tif 000055
【図５３】
2020161172.tif 000056
【図５４】
2020161172.tif 000057
【図５５】
2020161172.tif 000058
【図５６】
2020161172.tif 000059
【図５７】
2020161172.tif 000060
【図５８】
2020161172.tif 000061
【図５９】
2020161172.tif 000062
【図６０】
2020161172.tif 000063
【図６１】
2020161172.tif 000064
【図６２】
2020161172.tif 000065
【図６３】
2020161172.tif 000066
【図６４】
2020161172.tif 000067
【図６５】
2020161172.tif 000068
【図６６】
2020161172.tif 000069
【図６７】
2020161172.tif 000070
【図６８】
2020161172.tif 000071
【図６９】
2020161172.tif 000072
【図７０】
2020161172.tif 000073
【図７１】
2020161172.tif 000074
【図７２】
2020161172.tif 000075
【図７３】
2020161172.tif 000076
【図７４】
2020161172.tif 000077
【図７５】
2020161172.tif 000078
【図７６】
2020161172.tif 000079
【図７７】
2020161172.tif 000080
【図７８】
2020161172.tif 000081
【図７９】
2020161172.tif 000082
【図８０】
2020161172.tif 000083
【図８１】
2020161172.tif 000084
【図８２】
2020161172.tif 000085
【図８３】
2020161172.tif 000086
【図８４】
2020161172.tif 000087
【図８５】
2020161172.tif 000088
【図８６】
2020161172.tif 000089
【図８７】
2020161172.tif 000090
【図８８】
2020161172.tif 000091
【図８９】
2020161172.tif 000092
【図９０】
2020161172.tif 000093
【図９１】
2020161172.tif 000094
【図９２】
2020161172.tif 000095
【図９３】
2020161172.tif 000096
【図９４】
2020161172.tif 000097
【図９５】
2020161172.tif 000098
【図９６】
2020161172.tif 000099
【図９７】
2020161172.tif 000100
【図９８】
2020161172.tif 000101
【図９９】
2020161172.tif 000102
【図１００】
2020161172.tif 000103
【図１０１】
2020161172.tif 000104
【図１０２】
2020161172.tif 000105
【図１０３】
2020161172.tif 000106
【図１０４】
2020161172.tif 000107
【図１０５】
2020161172.tif 000108
【図１０６】
2020161172.tif 000109
【図１０７】
2020161172.tif 000110
【図１０８】
2020161172.tif 000111
【図１０９】
2020161172.tif 000112
【図１１０】
2020161172.tif 000113
【図１１１】
2020161172.tif 000114
【図１１２】
2020161172.tif 000115
【図１１３】
2020161172.tif 000116
【図１１４】
2020161172.tif 000117
【図１１５】
2020161172.tif 000118
【図１１６】
2020161172.tif 000119
【図１１７】
2020161172.tif 000120
【図１１８】
2020161172.tif 000121
【図１１９】
2020161172.tif 000122
【図１２０】
2020161172.tif 000123
【図１２１】
2020161172.tif 000124
【図１２２】
2020161172.tif 000125
【図１２３】
2020161172.tif 000126
【図１２４】
2020161172.tif 000127
【図１２５】
2020161172.tif 000128
【図１２６】
2020161172.tif 000129
【図１２７】
2020161172.tif 000130
【図１２８】
2020161172.tif 000131
【図１２９】
2020161172.tif 000132
【図１３０】
2020161172.tif 000133
【図１３１】
2020161172.tif 000134
【図１３２】
2020161172.tif 000135
【図１３３】
2020161172.tif 000136
【図１３４】
2020161172.tif 000137
【図１３５】
2020161172.tif 000138
【図１３６】
2020161172.tif 000139
【図１３７】
2020161172.tif 000140
【図１３８】
2020161172.tif 000141
【図１３９】
2020161172.tif 000142
【図１４０】
2020161172.tif 000143
【図１４１】
2020161172.tif 000144
【図１４２】
2020161172.tif 000145
【図１４３】
2020161172.tif 000146
【図１４４】
2020161172.tif 000147
【図１４５】
2020161172.tif 000148
【図１４６】
2020161172.tif 000149
【図１４７】
2020161172.tif 000150
【図１４８】
2020161172.tif 000151
【図１４９】
2020161172.tif 000152
【図１５０】
2020161172.tif 000153
【図１５１】
2020161172.tif 000154
【図１５２】
2020161172.tif 000155
【図１５３】
2020161172.tif 000156