(57)【要約】【課題】秘匿性が高く、暗号化や復号の手間も少ない二次元コードを提供する。【解決手段】所定長さの暗号化キーから暗号化マスクパターンを生成するとともに、明色のモジュール４ａと暗色のモジュール４ｂとをマトリクス状に配置してなる二次元コード１について、データコード語と誤り訂正コード語が記録されるデータコード領域１４を、前記暗号化マスクパターンとＸＯＲ演算させて、一部モジュール４の色を反転させてなる暗号化を実行する。【選択図】図１
2015212934.tif 000002
【特許請求の範囲】
【請求項１】
明色のモジュールと暗色のモジュールとをマトリクス状に配置してなる二次元コードであって、
少なくともデータコード語と誤り訂正コード語が記録されるデータコード領域に対して、暗号化マスクパターンとＸＯＲ演算させて、一部モジュールの色を反転させてなる暗号化が行われており、
前記暗号化マスクパターンは、所定長さの暗号化キーから所定の方法で生成されたものであることを特徴とする二次元コード。
【請求項２】
前記誤り訂正コード語はリードソロモン符号であり、
前記データコード領域は、８個以上のモジュールによって構成されるシンボル単位で誤り訂正コード語を用いて誤り訂正可能に構成されており、
前記暗号化マスクパターンを用いた暗号化では、前記データコード領域の略全てのシンボルについて、１つ以上のモジュールの色が反転されていることを特徴とする請求項１に記載の二次元コード。
【請求項３】
４種類以上の色で配色されることにより、及び／又は、微細な領域に細分化されることにより、２ビット以上を記憶可能なモジュールをマトリクス状に配置してなるものであり、
複数のモジュールによって構成され、２セット以上のデータを記憶するデータコード領域を備え、
該データコード領域を構成する各モジュールは、各セットのデータを１ビットずつ記憶するよう構成されており、
少なくとも１セットのデータに対して、暗号化マスクパターンとＸＯＲ演算させて、ビットパターンの一部を反転させる暗号化が行われており、
前記暗号化マスクパターンは、所定長さの暗号化キーから所定の方法で生成されたものであることを特徴とする多値化二次元コード。
【請求項４】
明色のモジュールと暗色のモジュールとをマトリクス状に配置してなり、データコード語と誤り訂正コード語が記録されるデータコード領域を備える二次元コードの生成方法であって、
所定長さの暗号化キーから前記データコード領域と重なり得る暗号化マスクパターンを生成するステップと、
該暗号化マスクパターンを前記データコード領域と重ねてＸＯＲ演算することにより、前記データコード領域の一部モジュールの色を反転させるステップと
を備えることを特徴とする二次元コードの生成方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のモジュールによって構成される二次元コードに関する。
【背景技術】
【０００２】
二次元コードにあって、現在普及しているものは、基本単位となるモジュールに明色又は暗色を割り当てて情報を記録している。こうした明暗の二次元コードは規格が統一されており、規格化された二次元コードであれば、携帯電話等の読取装置でデータを読み取って、誰でも記録された内容を知り得るように構成されている。
【０００３】
また、代表的な二次元コードであるＱＲコード（登録商標）では、モジュールの明暗パターンの読取りを容易にするマスク処理を行っている。このマスク処理は符号化領域（形式情報及び型番情報を除く）で、データを表すパターンとマスクパターンとで順にＸＯＲ演算による明暗変換を行う処理である。マスクパターンは８種類用意されており、全てのマスクパターンをデータパターンとＸＯＲ演算し、その中で、最も読取容易となるマスクパターンが採用される。
【０００４】
また、二次元コードのデータを限られた者しか読み取ることができないように、記録するデータを暗号化することが提案されている。現在、暗号化の手法として採用されているのは、二次元コードに記憶すべきデータを暗号鍵で暗号化してから二次元コードに記憶させておき、二次元コードの読取りにより得られる暗号化データを、復号鍵を知る者のみが復号できるようにする手法である。
【０００５】
また、発明者は、１つのモジュールに２ビット以上のデータを記憶可能とした多値化二次元コードを提案している。具体的には、モジュールを微細な領域（サブモジュール）に細分して、サブモジュール単位で配色してなる多値化二次元コードを提案している（例えば、非特許文献１）。また、モジュールを４種類以上の色で配色した多値化二次元コードも提案している（例えば、非特許文献２）。かかる多値化二次元コードに記憶されるデータは、１セットの汎用データと１セット以上の専用データとからなる。汎用データは、モジュールの明暗二値パターンよって記憶されるものであり、既存の二次元コードリーダーでも読取可能である。専用データは、モジュールの微細領域の明暗パターンや、多種類の配色パターンによって記憶されるものであり、専用の二次元コードリーダーでのみ読取可能である。
【０００６】
また、上記の多値化二次元コードにあっては、個々のモジュールに記録可能な２ビット以上のデータを、複数セットの１ビットデータに読み替える符号化テーブル方式が提案されている。この符号化テーブル方式では、多値化二次元コードの生成時に用いた符号化テーブルを、復号する側が共有していなければ、正しく復号することができない。このため、多値化二次元コードでは、かかる符号化テーブルを暗号の共通鍵として使用できる。
【先行技術文献】
【特許文献】
【０００７】
【非特許文献１】第１１回情報科学技術フォーラム講演論文集ＤＶＤ  ５７１〜５７８頁  発行所：電子情報通信学会  ２０１２年８月２１日発行
【非特許文献２】コンピュータセキュリティシンポジウム２０１２論文集ＣＤ  ３０９〜３１６頁  発行所：情報処理学会  ２０１２年１０月２３日発行
【発明の概要】
【発明が解決しようとする課題】
【０００８】
ところで、上記従来の暗号方式は、データを暗号化する処理と、暗号化したデータから二次元コードを生成する処理とが分離している。また、二次元コードの読取処理と、読み取った暗号化データを復号する処理も分離している。このため、従来の暗号方式では、二次元コードの生成処理や読取処理とは別に、暗号化・復号プログラムが必要で、二次元コードの作成が煩雑となる。また、暗号化データ自体は、汎用の暗号解読プログラムで解読を試みることができる。
【０００９】
また、上記多値化二次元コードにおいて、符号化テーブルを用いた暗号方式では、１つのモジュールに記憶し得るビット数が少ない場合、符号化テーブルが簡単なものになってしまうため、ラウンドロビン攻撃に対して脆弱となり、秘匿性が不十分となる。
【００１０】
本発明はかかる現状に鑑みて為されたものであり、秘匿性が高く、暗号化や復号の手間も少ない二次元コード及び多値化二次元コードの提供を目的とする。
【課題を解決するための手段】
【００１１】
本発明は、明色のモジュールと暗色のモジュールとをマトリクス状に配置してなる二次元コードであって、少なくともデータコード語と誤り訂正コード語が記録されるデータコード領域に対して、暗号化マスクパターンとＸＯＲ演算させて、一部モジュールの色を反転させてなる暗号化が行われており、前記暗号化マスクパターンは、所定長さの暗号化キーから所定の方法で生成されたものであることを特徴とする二次元コードである。
【００１２】
かかる構成にあっては、二次元コードの生成時に行われる通常のマスク処理と同様のＸＯＲ演算によって暗号化・復号が可能であるため、個別の暗号化プログラムを用いる従来構成に比べて、二次元コードの生成時や読取時の手間が少ないという利点がある。また、本発明の二次元コードでは、適度な長さの暗号化キーを使用すれば、ラウンドロビン攻撃に耐え得るほど多くの暗号化マスクパターンを生成できるため、十分な秘匿性を確保できる。また、本発明では、暗号化キーがわからなければ、二次元コードからデータを読み取ることができないため、汎用の暗号解読プログラムを用いた暗号解読が困難であるという利点もある。
【００１３】
本発明にあって、前記誤り訂正コード語はリードソロモン符号であり、前記データコード領域は、８個以上のモジュールによって構成されるシンボル単位で誤り訂正コード語を用いて誤り訂正可能に構成されており、前記暗号化マスクパターンを用いた暗号化では、前記データコード領域の略全てのシンボルについて、１つ以上のモジュールの色が反転されていることが提案される。
【００１４】
リードソロモン符号を用いた誤り訂正機能では、読み誤りが生じたシンボルが全体の３０％までであれば、誤りを訂正して正しいデータを読み取り可能である。このため、暗号化マスクパターンによってモジュールの色が全く反転していないシンボルが多い場合は、暗号化マスクパターンによる暗号化が、誤り訂正機能によって復号される可能性がある。しかしながら、１つのシンボルに含まれる８個以上のモジュールの色を、１／２の確率でランダムに反転させれば、９９％以上の確率で１個以上のモジュールの色を反転させることができるため、かかる構成では、ランダムに生成した暗号化マスクパターンを用いた場合でも、データコード領域を構成する略全てのシンボルで１個以上のモジュールの色を反転させることが可能となる。したがって、かかる構成によれば、不規則な暗号化マスクパターンを用いて暗号化したデータが、リードソロモン符号を用いた誤り訂正機能によって復号されるおそれがなくなる。
【００１５】
本発明の別の態様として、４種類以上の色で配色されることにより、及び／又は、微細な領域に細分化されることにより、２ビット以上を記憶可能なモジュールをマトリクス状に配置してなるものであり、複数のモジュールによって構成され、２セット以上のデータを記憶するデータコード領域を備え、該データコード領域を構成する各モジュールは、各セットのデータを１ビットずつ記憶するよう構成されており、少なくとも１セットのデータに対して、暗号化マスクパターンとＸＯＲ演算させて、ビットパターンの一部を反転させる暗号化が行われており、前記暗号化マスクパターンは、所定長さの暗号化キーから所定の方法で生成されたものであることを特徴とする多値化二次元コードが提案される。
【００１６】
かかる構成にあっては、多値化二次元コードに記憶するデータの暗号化や復号は、上述のように、通常のマスク処理と同様のＸＯＲ演算によって暗号化・復号が可能であるため、比較的簡単にデータを暗号化し、復号することができる。また、上述のように、適度な長さの暗号化キーを使用すれば、ラウンドロビン攻撃に耐え得るほど多くの暗号化マスクパターンを生成できるため、十分な秘匿性を確保できる。
【００１７】
また、本発明の別の態様は、明色のモジュールと暗色のモジュールとをマトリクス状に配置してなり、データコード語と誤り訂正コード語が記録されるデータコード領域を備える二次元コードの生成方法であって、所定長さの暗号化キーから前記データコード領域と重なり得る暗号化マスクパターンを生成するステップと、該暗号化マスクパターンを前記データコード領域と重ねてＸＯＲ演算することにより、前記データコード領域の一部モジュールの色を反転させるステップとを備えることを特徴とする二次元コードの生成方法である。かかる方法によれば、上述のように、秘匿性が高い二次元コードを容易に生成可能となる。
【発明の効果】
【００１８】
以上に述べたように、本発明の二次元コード及び多値化二次元コードは、秘匿性が高く、暗号化や復号の手間も少ないものとなる。また、本発明の二次元コードの生成方法によれば、データの秘匿性が高い二次元コードを容易に生成できる。
【図面の簡単な説明】
【００１９】
【図１】（ａ）は実施例１の二次元コード１の概略図であり、（ｂ）は実施例１の二次元コード１の各領域を機能別に模様分けして示す説明図である。
【図２】（ａ）は実施例２の多値化二次元コード２の概略図であり、（ｂ）は実施例２の多値化二次元コード２の各領域を機能別に模様分けして示す説明図である。
【図３】１６種類の基準色の内容を示す図表である。
【図４】（ａ）は実施例２の多値化二次元コード２であり、（ｂ）は実施例２の多値化二次元コード２と互換性を有するＱＲコード３である。
【図５】実施例２の多値化二次元コード２の生成方法を示すフローチャートである。
【図６】符号化処理の処理内容を示すフローチャートである。
【図７】実施例２に係る符号化テーブルを示す図表である。
【発明を実施するための形態】
【００２０】
本発明の実施形態を、以下の実施例に従って説明する。
【実施例１】
【００２１】
本実施例の二次元コード１は、ＱＲコード（登録商標）に本発明を適用したものであり、基本的な構成はＱＲコードと共通している。具体的には、図１（ａ）に示すように、二次元コード１は、正方形のモジュール４を、縦横に２１個ずつマトリクス状に配置してなるものである。二次元コード１のモジュール４は、明色（白色）に配色された明色モジュール４ａと、暗色（黒色）に配色された暗色モジュール４ｂとからなる。図１（ｂ）に示すように、二次元コード１は、機能パターン７と符号化領域８とからなる。機能パターン７は、モジュール４の配色パターンが予め定められている領域であり、二次元コード１の光学的読取りを補助する位置検出パターン１１、分離パターン１２、タイミングパターン１３などによって構成される。また、符号化領域８は、各モジュール４の配色パターンによってデータを記録する領域であり、データコード語及び誤り訂正コード語が記録されるデータコード領域１４と、形式情報及び型番情報を示すコードが配置される形式情報コード領域１５とによって構成される。データコード領域１４は８個のモジュールからなるシンボル１６に区画されており、１つのシンボル１６の明暗パターンによって１つのデータコード語又は誤り訂正語が記録されるよう構成される。誤り訂正コード語はシンボル単位で誤り訂正可能なリードソロモン符号である。これらの構成は、ＱＲコードのＪＩＳ規格（ＪＩＳ  Ｘ  ０５１０：２００４）に準拠したものであるため詳細な説明は省略する。
【００２２】
データコード領域１４には、通常マスク処理と暗号化マスク処理の二種類のマスク処理が施されている。通常マスク処理は、二次元コードの読出を容易とすることを目的とするものであり、ＱＲコードで実施されているマスク処理と同じものである。すなわち、通常マスク処理では、８種類の生成条件から明色と暗色のモジュールからなる８つのマスクパターンを生成し、いずれかのマスクパターンをデータコード領域１４と重ねて、ＸＯＲ演算によるモジュール４の色反転を行う。具体的には、マスクパターンの「１（暗色）」と重なる箇所について、データコード領域１４のモジュール４を「０（明色）」から「１（暗色）」、または「１（暗色）」から「０（明色）」に変換する。使用するマスクパターンは、シミュレーションの結果、読取容易性の評価が最良であったものに決定される。かかるマスク処理は、ＱＲコードのＪＩＳ規格（ＪＩＳ  Ｘ  ０５１０：２００４）に準拠したものであるため詳細な説明は省略する。
【００２３】
暗号化マスク処理は、ランダムに生成された２５６ビットの暗号化キーから暗号化マスクパターンを生成し、当該マスクパターンをデータコード領域１４と重ねてＸＯＲ演算を行って、データコード領域１４の一部モジュール４の色を反転させる。具体的には、暗号化マスクパターンの「１（暗色）」と重なる箇所について、データコード領域１４のモジュール４を「０（明色）」から「１（暗色）」、または「１（暗色）」から「０（明色）」に変換する。暗号化マスクパターンは、暗号化キーのビットパターンを、処理対象のデータコード領域１４の形状と一致するようにマトリクス状に配列することで生成される。本実施例の二次元コード１は、データコード領域１４が、２０８ビット（８ビット×２６シンボル）であるため、暗号化キーの先頭から２０８ビットを所定の順序でマトリクス状に配列することで暗号化マスクパターンが生成される。データコード領域１４が２５６ビット以上である場合は、暗号化キーのビットパターンを繰り返し使用することで、暗号化マスクパターンを生成する。
【００２４】
以下に、本実施例の二次元コード１の生成方法を具体的に説明する。
上述のように、本実施例の二次元コード１は、本発明をＱＲコードに適用したものであり、二次元コード１の生成方法は、既存のＱＲコードの生成方法に、暗号化マスク処理を組み込むことによって実現される。具体的には、二次元コード１は、以下の（１）〜（４）のステップを経ることで生成できる。
【００２５】
（１）データの準備及び圧縮
二次元コード１に収容するデータを種別（英数、漢字、バイナリー）に応じて圧縮し、８ビット単位のデータコード語を生成する。
（２）誤り訂正コード語の生成
データコード語の８ビットを１シンボルとして、リードソロモン符号を算出して誤り訂正コード語を生成する。
（３）暗号化マスク処理
上述のように、暗号化キーをデータコード領域１４に合わせてマトリクス状に配置することで、暗号化マスクパターンを生成する。生成済みの暗号化キーがない場合は、２５６ビットのビットパターンをランダムに生成して暗号化キーとして使用する。そして、そして、生成した暗号化マスクパターンとデータコード領域１４と重ねてＸＯＲ演算を行い、データコード領域１４の色（ビットパターン）を一部モジュール４で反転させる。
（４）通常マスク処理
上述のように、８種類のマスクパターンから最適なマスクパターンを生成し、当該マスクパターンと、暗号化マスク処理をした後のデータコード領域１４とを重ねてＸＯＲ演算を行い、データコード領域１４の色（ビットパターン）を部分的に反転させる。また、かかる通常マスク処理で仕様したマスクパターンの種別を、形式情報コード領域１５に追加する。
【００２６】
以上のように、かかる二次元コード１の生成方法では、通常マスク処理の前に、暗号化マスクパターンをデータコード領域１４とＸＯＲ演算することによってデータを暗号化する。このように、かかる生成方法は、二次元コードの生成過程で通常マスク処理と類似の方法で、データを暗号化するため、二次元コードの生成前にデータを暗号化する従来方法に比べて、データの暗号化と二次元コード生成に要する演算量を減少させることができる。
【００２７】
次に、本実施例の二次元コード１の読取方法について説明する。
本実施例の二次元コード１の読取方法は、既存のＱＲコードの生成方法に、暗号化マスクパターンによる暗号化を復号する暗号化マスク復号処理を組み込むことによって実現される。具体的には、二次元コード１は、以下の（１）〜（６）のステップを経ることで読み取ることができる。
（１）画像入力、画像抽出
撮像装置によって、二次元コード１を含む画像を撮像し、二次元コード１に含まれる機能パターン７を基に二次元コード１を検出し、二次元コード１の画像を抽出する。
（２）モジュール色の識別
二次元コード１の画像から、符号化領域８の各モジュール４の画像を切り出し、モジュール４の色の識別を行い、符号化領域８の全てのモジュール４の色データを得る。
（３）通常マスク復号処理
形式情報コード領域１５に記録された種類のマスクパターンを、データコード領域１４と重ね合わせてＸＯＲ演算を行う。かかる処理により、上記通常マスク処理で反転されたデータコード領域１４の色（ビットパターン）を復元する。
（４）暗号化マスク復号処理
暗号化キーをデータコード領域１４に合わせてマトリクス状に配置することで、暗号化マスクパターンを生成する。かかる処理では、二次元コード１の生成時に使用した暗号化キーを用いて、暗号化マスク処理の時と同一の暗号化マスクパターンを生成することが必要である。そして、生成した暗号化マスクパターンとデータコード領域１４と重ねてＸＯＲ演算を行う。かかる処理により、上記暗号化マスク処理で反転されたデータコード領域１４の色（ビットパターン）を復元する。
（５）誤り訂正処理
データコード領域１４のビットパターンについて、リードソロモン符号の誤り訂正処理を行い、誤りがあれば訂正する。
（６）データコード語の復号
データコード語を種別（英数、漢字、バイナリー）に合わせて復号し、収容されたデータを復元する。
【００２８】
以上のように、かかる二次元コード１の読取方法では、通常マスク復号処理の後に、暗号化マスクパターンをデータコード領域１４とＸＯＲ演算することによって暗号化されたデータを復号する。このように、かかる読取方法は、二次元コードの読取過程で通常マスク復号処理と類似の方法で、データを復号するため、二次元コードの読取後に暗号化データを復号する従来方法に比べて、二次元コードの読取りと、暗号化データの復号に要する演算量を減少させることができる。
【００２９】
上述のように、暗号化マスクパターンは、暗号化キーのランダムなビットパターンから生成されるため、データコード領域１４の個々のモジュールの色が、暗号化マスクパターンとのＸＯＲ演算で反転する確率は１／２である。したがって、暗号化マスク処理で、１つのシンボルに含まれる８個のモジュール４の色が反転されず全て維持される確率は１／２５６となり、本実施例では、暗号化マスク処理によって、平均９９％以上のシンボルは、少なくとも１個のモジュール４の色が反転することとなる。したがって、本実施例の二次元コード１は、上記暗号化マスク復号処理をすることなく、データコード語の復号を試みた場合、誤り訂正処理において、略全てのシンボルで読み誤りが発生することとなる。ＱＲコードの誤り訂正機能は、最大の訂正能力の場合でも、全体の略３０％以上のシンボルに誤りが生じると訂正不能となるため、暗号化マスク復号処理を省いて、通常のＱＲコードと同様の読取方法を行った場合は、誤り訂正処理で訂正不能となって読取処理が途中終了することとなる。このように、暗号化マスク処理では、データコード領域１４を構成する略全てのシンボル１６で１個以上のモジュール４の色が反転するため、暗号化マスク処理による暗号化が、誤り訂正機能によって訂正されることはない。
【００３０】
また、上述のように、暗号化マスク復号処理をすることなく、既存の二次元コードの読取方法で、本実施例の二次元コード１の読取りを試みた場合、誤り訂正処理で誤り訂正機能を上回る誤りが検知されて、二次元コード１の読取りが途中終了してしまう。従来の暗号化方法であれば、既存の二次元コードの読取方法で暗号化データが得られるため、汎用の暗号解読プログラムで暗号化データの復号を試みることができるが、本実施例では、暗号化マスク復号処理をしなければ、データを読み出すことができないため、汎用の暗号解読プログラムによる攻撃に強いという利点がある。
【００３１】
また、本実施例の二次元コード１にあって、暗号化マスク処理で用いる暗号化マスクパターンは、２２０８通り存在する。これはラウンドロビン攻撃によって正しい暗号化マスクパターンを適用される可能性は無視できるほど小さい。なお、二次元コード１は、リードソロモン符号による誤り訂正機能を備えているため、完全に正しい暗号化マスクパターンでなくても、誤り訂正機能により復号できる場合があるが、２２０８通りの暗号化マスクパターンであれば、誤り訂正機能の影響を加味しても、十分な計量的安全性を確保できる。なお、本実施例は、データコード領域１４の容量が２０８ビットであるため、暗号化マスクパターンが２２０８通りであるが、暗号化キーは２５６ビットであるため、データコード領域の容量が２５６ビット以上の二次元コードの場合は、２２５６通りの暗号化マスクパターンを適用できるため、計量的安全性はさらに高くなる。このように、本実施例の二次元コード１は十分な秘匿性を有している。
【００３２】
また、上記二次元コード１の読取処理では、誤り訂正処理をパスしてデータコード語が復号されるのは、リードソロモン符号の誤り訂正で誤りを検出しなかった場合と、検出した誤りを訂正できた場合である。ここで、本実施例の二次元コード１に対して、暗号化キーを順次試していくラウンドロビン攻撃を行った場合、暗号化マスクパターンとは異なるマスクパターンを適用した場合でも、誤り訂正処理をパスして、元データと異なるデータが復号される場合が存在する。本実施例の二次元コード１では、訂正能力を最も高く設定する場合でも、データコード領域１４に、２７２とおり（９シンボル＝７２ビット）のデータコード語を記録可能であるため、ラウンドロビン攻撃では、正しいデータ以外にも、２７２−１とおりのデータが復号される可能性がある。このように、本実施例の二次元コード１では、暗号化キーを順次試すラウンドロビン攻撃を試みたとしても、誤ったデータが復号される可能性が非常に高いため、正しいデータが復号がなされる可能性が極めて低く、安全性が高い。この安全性は、正しい復号解を得るのに莫大な時間かかる計算量的安全性に基づくものではなく、パターンマスク手法の情報理論的安全性である。
【実施例２】
【００３３】
本実施例は、多値化二次元コード２に本発明を適用したものである。
本実施例の多値化二次元コード２は、ＱＲコード（登録商標）と互換性を有するものである。具体的には、図２（ａ）に示すように、多値化二次元コード２は、正方形のモジュール４を、縦横に２１個ずつマトリクス状に配置してなるものである。この二次元コード１のモジュール４は、明色と暗色のみで構成されるものではないが、その基本構造は、ＱＲコードに準拠したものとなっている。すなわち、図２（ｂ）に示すように、二次元コード１は、ＱＲコードと同様に、機能パターン７と符号化領域８とからなる。そして、機能パターン７は、位置検出パターン１１、分離パターン１２、タイミングパターン１３などによって構成され、また、符号化領域８は、データコード領域１４と形式情報コード領域１５とによって構成される。そして、データコード領域１４は８個のモジュールからなるシンボル１６に区画されており、１つのシンボル１６の明暗パターンによって１つのデータコード語又は、リードソロモン符号である誤り訂正語が記録されるよう構成される。これらの構成は、実施例１の二次元コード１と同じであり、また、ＱＲコードのＪＩＳ規格（ＪＩＳ  Ｘ  ０５１０：２００４）に準拠したものであるため詳細な説明は省略する。
【００３４】
モノクロ画像であるため図２（ａ）では十分に表されていないが、多値化二次元コード２を構成する各モジュール４は、ＲＧＢ値の異なる複数種類の基準色のいずれかに配色される。図３に示すように、本実施例では、基準色は１６種類存在し、各基準色に対して、２進数表記で００００から１１１１までの基準色コードが付されている。１６種類の基準色のうち８種類は明色基準色に分類され、その他の８種類は、暗色基準色に分類される。明色基準色は全て輝度が０．７５以上であり、暗色基準色は、全て輝度が０．２５以下である。すなわち、輝度０．７５が本発明に係る明色閾値に相当し、輝度０．２５が本発明に係る暗色閾値に相当する。既存一般のＱＲコード用の読取装置は、ＱＲコードの読取時に、反射率や輝度の値に基づいて、各モジュールが白色（明色）と黒色（暗色）のいずれであるかを判定するだけであるから、既存一般の読取装置では、高輝度の明色基準色で配色されたモジュールは、白色（明色）と識別される明色モジュール４ａとなり、低輝度の暗色基準色で配色されたモジュールは、黒色（暗色）と識別される暗色モジュール４ｂとなる。本実施例では、明色モジュール４ａと暗色モジュール４ｂの輝度差を０．５以上と大きな値にすることにより、ＱＲコード用の読取装置が、明色モジュール４ａと暗色モジュール４ｂとを確実に識別できるようにしている。
【００３５】
上述のように、ＱＲコード用の読取装置は、各モジュール４が明色と暗色のいずれであるかだけを識別するが、基準色の識別機能を備えた専用の読取装置（以下、専用読取装置という）を用いた場合は、各モジュール４の配色を識別することができる。本実施例では、図３に示すように、各基準色間のＲＧＢ値の差が大きくなるように１６種類の基準色を選択し、これにより、専用読取装置が各モジュール４がいずれの基準色であるかを正確に識別し得るようにしている。
【００３６】
このように、本実施例の多値化二次元コード２にあっては、符号化領域８の各モジュール４が１６種類の基準色で配色されるため、明暗二色の二次元コードでは１モジュール当たり１ビットの情報しか記録できないのに対し、本実施例の多値化二次元コード２では１モジュール当たり４ビットの情報を記録できる。ここで、本実施例にあって、各モジュール４が明色基準色と暗色基準色のいずれであるかは、ＱＲコード用の読取装置でも識別可能であり、また、各モジュール４が明色基準色と暗色基準色のうち、どの基準色であるかは、ＱＲコード用の読取装置では識別できない。このため、本実施例にあっては、各モジュール４が、明色基準色と暗色基準色のいずれであるかの情報によって、ＱＲコード用の読取装置でも読取可能な汎用データを記録し、各モジュール４が、明色基準色と暗色基準色のうち、どの基準色であるかの情報によって、専用読取装置でしか読み取ることのできない専用データを記録している。
【００３７】
具体的には、汎用データは、ＱＲコードの規格にしたがった二次元コードの情報であり、符号化領域８に、明色基準色と暗色基準色とによる明暗二値のパターンとして記録される。かかる多値化二次元コード２をＱＲコード用の読取装置に読み取らせた場合、当該読取装置は、各モジュール４の色を詳細に識別することなく、明色モジュール４ａを白色（明色）と、暗色モジュール４ｂを黒色（暗色）と識別し、通常のＱＲコードの読取処理によって、汎用データが復号される。図４（ａ）は、本実施例の多値化二次元コード２であり、図４（ｂ）は、図４（ａ）の多値化二次元コード２にあって、明色基準色を全て白塗りとし、暗色基準色を全て黒塗りとして得られたＱＲコード３である。このＱＲコード３は、モジュールの明暗二値パターンによって多値化二次元コード２と同じ汎用データを記録したものであるから、ＱＲコード用の読取装置で図４の多値化二次元コード２とＱＲコード３とを読み取った場合には、いずれも同じ汎用データが読み取られることとなる。すなわち、本実施例の多値化二次元コード２は、ＱＲコード用の読取装置に対しては、ＱＲコードの同等品として機能し得るものであり、ＱＲコードと互換性を有するものとなっている。
【００３８】
汎用データが各モジュール４の明暗二値のパターンとして記録されるのに対し、専用データは、符号化領域８にあって、各モジュール４が明色基準色と暗色基準色のうち、どの基準色であるかの情報によって記録される。明色基準色と暗色基準色は、夫々８種類ずつ存在するため、専用データは、モジュール４ごとに３ビット記録することができる。すなわち、本実施例の多値化二次元コード２には、汎用データの３倍の容量の専用データを記憶できる。汎用データの記憶容量は、同じモジュール数のＱＲコード３の記憶容量と同じであるから、本実施例の多値化二次元コード２では、ＱＲコードの４倍の記憶密度が実現される。
【００３９】
また、本実施例では、多値化二次元コード２に、３セットの専用データを記録し得るよう構成されている。３セットの専用データの情報は、符号化領域８の異なるモジュール４に記録されるのではなく、符号化領域８の各モジュール４に重複するように記録される。具体的には、符号化領域８の各モジュール４に専用データを３ビット記録し得るところ、各モジュール４に、各セットの専用データが、１ビットずつ計３ビット記録される。すなわち、多値化二次元コード２に専用データを１セット記録する場合は、当該専用データが各モジュール４に１ビットずつ記録される。また、３セットの専用データを多値化二次元コード２に記録する場合は、各モジュール４に、１ビットの専用データが３セット分（３ビット）記録されることとなる。ここで、本実施例の多値化二次元コード２にあっては、各セットの専用データについて、暗号化マスクパターンを用いた暗号化が行われている。かかる専用データの記録態様は、多値化二次元コード２の生成方法によって詳述する。
【００４０】
以下に、上記多値化二次元コード２の生成方法について説明する。
図５は、上記多値化二次元コード２を生成するフローチャートである。まず、ステップＳ１００では、多値化二次元コード２に記録すべきデータセットの準備を行う。データセットとは、１セットの汎用データＤＳ０と、１〜３セットの専用データＤＳ１、ＤＳ２，ＤＳ３である。
【００４１】
次のステップＳ１１０では、汎用データＤＳ０について、通常のＱＲコードの生成手続に則って二次元コード化し、ＱＲコードの配色パターンに相当するコードＡ０を生成する。すなわち、このコードＡ０は、汎用データＤＳ０を記録するＱＲコード３（図３（ｂ参照））の情報そのものであり、このコードＡ０には、機能パターン７及び符号化領域８を構成する各モジュール４の明暗二値パターンが含まれる。この手続は、ＱＲコードの手続であるため、詳細な説明は省略する。
【００４２】
次のステップＳ１２０，Ｓ１３０では、専用データＤＳ１，ＤＳ２，ＤＳ３について、上記実施例１の二次元コード１の生成手続に則って二次元コード化し、二次元コードの配色パターンに相当するコードＡ１，Ａ２，Ａ３を夫々生成する。すなわち、このコードＡ１，Ａ２，Ａ３は、専用データＤＳ１，ＤＳ２，ＤＳ３を記録する実施例１の二次元コードの情報そのものである。したがって、各専用データＤＳ１，ＤＳ２，ＤＳ３は、かかるステップＳ１２０，Ｓ１３０において、実施例１で説明した暗号化マスク処理によって暗号化される。なお、各専用データＤＳ１，ＤＳ２，ＤＳ３を暗号化する暗号化マスク処理では、夫々異なる暗号化キーから生成された暗号化マスクパターンが用いられる。また、コードＡ１，Ａ２，Ａ３の生成時には、上記コードＡ０と合成し得るように、コードＡ０と同じバージョンのＱＲコードの規格に沿うようにする。専用データＤＳ１，ＤＳ２，ＤＳ３のコード化は、上記実施例１の二次元コード１の生成方法と同じであるため、詳細な説明は省略する。
【００４３】
ステップＳ１３０までの手続によって、１セットの汎用データＤＳ０と、１〜３セットの専用データＤＳ１，ＤＳ２，ＤＳ３とを夫々記録する、データ上の二次元コードＡ０，Ａ１，Ａ２，Ａ３が得られる。上述のように、これらの二次元コードＡ０〜Ａ３は、夫々の機能パターンと符号化領域が重なり合うように同一バージョンで生成される。これらの二次元コードＡ０〜Ａ３について、重なり合うモジュールごとに夫々の色を合成し、上記多値化二次元コード２のモジュール４の配色パターンに変換するのがステップＳ２００の符号化処理である。
【００４４】
符号化処理Ｓ２００では、二次元コードＡ０，Ａ１，Ａ２，Ａ３を合成することにより、多値化二次元コード２の各モジュール４の配色を決定する。具体的には、生成する多値化二次元コード２の一辺のモジュール数をＮとすると、多値化二次元コード２全体では、Ｎ２個のモジュール４が存在し、二次元コードＡ０，Ａ１，Ａ２，Ａ３にも、Ｎ２個のモジュールの配色パターンが存在する。このＮ２個のモジュール４全てについての配色を１つずつ決定する。より具体的には、ＱＲコードの、縦のモジュールのインデックスをＩ，横のモジュールのインデックスをＪとすると、Ｉ＝１からＮ、Ｊ＝１からＮまでの組合せで全てのモジュールを表現できる。Ｉ，Ｊで示されるモジュールの色をＣ（Ｉ，Ｊ）で表現する。また、コードをＡ０，Ａ１，Ａ２，Ａ３をＫで示すとすると、Ｃ（Ｉ，Ｊ，Ｋ）で示すことが可能となる。ここで、Ｋは０から３である。
【００４５】
図６は、符号化処理の処理内容を示したフローチャートである。ステップＳ２１０では、ＩとＪで指定されるモジュール４について、それが機能パターン７を構成するモジュール４であるか否かを判定する。そして、機能パターン７を構成するモジュール４であると判定した場合は、ステップＳ２２０で、当該モジュール４の位置に基づいて配色を決定する。一方、符号化領域８を構成するモジュール４であると判定した場合は、次のステップＳ２３０で二次元コードＡ０〜Ａ３の配色パターンを読み込む。具体的には、Ｃ（Ｉ，Ｊ，Ｋ）（Ｋは０から３）の配色データを読み込み、各モジュールが０か１（白か黒）かを識別する。次に、ステップＳ２４０では、二次元コードＡ０，Ａ１，Ａ２，Ａ３の当該モジュールの配色パターンを結合する。具体的には、４セットの二次元コードＡ０，Ａ１，Ａ２，Ａ３を記録する場合は、例えば白白黒白（００１０）のように、各セットの当該モジュールの色の組合せを作る。この４つの色の組合せが、１個のモジュール４に記録する汎用データ及び専用データの記録単位となる。次に、ステップＳ２５０では、モジュール４の配色を決定するための符号化テーブルの選択を行う。符号化テーブルは、図６に示すように、モジュール４に記録するデータと当該モジュール４の基準色コードとを１対１に対応付けしたものである。この符号化テーブルは、常に同じものを使用することもできるが、対応付けの異なる複数種類の符号化テーブルを選択的に用いて、使用した符号化テーブルの内容を知る者を制限することで、専用データの秘匿性を高めることができる。そして、ステップＳ２６０では、選択した符号化テーブルを用いて、記録単位となる４つの色の組合せからモジュール４の配色を決定する。ステップＳ２７０では、すべてのモジュール４について、上記の処理が完了したかを判定し、すべてのモジュール４の処理が完了した場合は符号化処理を終了する。
【００４６】
このように、本実施例の多値化二次元コード２は、汎用データＤＳ０及び専用データＤＳ１，ＤＳ２，ＤＳ３を夫々二次元コード化し、データ上の二次元コードＡ０，Ａ１，Ａ２，Ａ３を合成して多値化二次元コード２の配色を決定することによって生成される。ここで、専用データＤＳ１、ＤＳ２，ＤＳ３については、二次元コードＡ１，Ａ２，Ａ３に変換する際に、実施例１と同様の暗号化マスク処理によって暗号化されるため、かかる生成方法によれば、実施例１の二次元コード１の生成方法と同様に、少ない演算量で、専用データＤＳ１、ＤＳ２，ＤＳ３を暗号化できるという利点がある。
【００４７】
次に、本実施例の多値化二次元コード２を専用読取装置で読み取る際の読取方法を説明する。
多値化二次元コード２は、以下の（１）〜（６）のステップを経ることで読み取ることができる。
（１）画像入力、画像抽出
撮像装置によって、多値化二次元コード２を含む画像を撮像し、多値化二次元コード２に含まれる機能パターン７を基に多値化二次元コード２を検出し、多値化二次元コード２の画像を抽出する。
（２）モジュール色の識別
多値化二次元コード２の画像から、符号化領域８の各モジュール４の画像を切り出し、モジュール４が１６種類のどの基準色であるかを識別し、符号化領域８の全てのモジュール４の色データを得る。
（３）色の復号
予め記憶された復号テーブルに基づいて、識別した各モジュール４の基準色を４ビットのデータに復号する。復号テーブルは、多値化二次元コード２の生成時に使用した符号化テーブル（図７参照）と略同内容のものであり、かかる復号テーブルによって、各モジュール４の基準色コードは、黒黒白黒（１１０１）などの、モジュール単位で記録された４つの色の組合せ（ビットパターン）に変換される。
（４）データの結合
モジュール４ごとに復号した４ビットのデータをデータセットごとに結合して、各データセットのデータＤＳ０〜ＤＳ３をコード化した二次元コードＡ０〜Ａ３を得る。
（５）専用データの復号
専用データを記録する二次元コードＡ１，Ａ２，Ａ３を、実施例１の二次元コード１の読取方法と同様にして、専用データＤＳ１、ＤＳ２，ＤＳ３に復号する。すなわち、かかるステップにおいて、暗号化マスク復号処理が実行されることにより、暗号化マスクパターンによって暗号化された専用データＤＳ１、ＤＳ２，ＤＳ３が復号される。なお、上述のように、専用データＤＳ１、ＤＳ２，ＤＳ３は、異なる暗号化キーから生成された暗号化マスクパターンを用いて暗号化されているため、３セット全ての専用データＤＳ１、ＤＳ２，ＤＳ３を復号するためには、二次元コードＡ１，Ａ２，Ａ３の生成時に使用した、３種類の暗号化キーの情報が必要となる。
（６）汎用データの復号
汎用データを記録するＱＲコードＡ０を、通常のＱＲコードの復号手順にしたがって汎用データＤＳ０に復号しする。
【００４８】
このように、本実施例の多値化二次元コード２は、専用読取装置によって、各モジュール４が１６種類の基準色のいずれであるかを識別し、各モジュール４に記憶された４ビットのデータを結合して得られるデータ上の二次元コードＡ０，Ａ１，Ａ２，Ａ３を個々に復号することにより、全てのセットのデータＤＳ０、ＤＳ１、ＤＳ２，ＤＳ３を読み取ることができる。
【００４９】
また、本実施例にあっては、専用データを記録する二次元コードＡ１，Ａ２，Ａ３は、実施例１の二次元コード１と同様に、暗号化マスク処理によってデータコード領域１４に記録されるデータが暗号化されているため、暗号化マスク処理で用いた暗号化キーがなければ専用データＤＳ１、ＤＳ２，ＤＳ３を読み取ることはできない。暗号化マスク処理による暗号化は実施例１で述べたように十分な秘匿性を有しているため、かかる多値化二次元コード２に記録された専用データＤＳ１、ＤＳ２，ＤＳ３は高い秘匿性を有している。
【００５０】
なお、本発明の実施形態は、上記実施例の形態に限定されず適宜変更可能である。例えば、上記実施例は、最も一般的なＱＲコードに本発明を適用した例であるが、本発明はＱＲコード以外の二次元コードにも適用可能である。また、上記実施例の多値化二次元コード２は、モジュールを多種類の基準色で配色したものであるが、本発明は、モジュールを微細な領域に細分して、サブモジュール単位で配色する多値化二次元コードにも適用できる。
【００５１】
また、上記実施例では、暗号化マスク処理で、１セットの暗号化マスクパターンをデータコード領域１４と重ねてＸＯＲ演算を行っているが、かかる方法に替えて、複数の暗号化キーから複数セットの暗号化マスクパターンを生成し、各暗号化マスクパターンをデータコード領域１４に重ねて順番にＸＯＲ演算を行うようにしてもよい。かかる構成とすれば、暗号化マスク処理で用いた複数の暗号化キーを特定し、かつ、ＸＯＲ演算を行った順序も特定しなければ、データを復号できないため、暗号強度を高めることができる。
【００５２】
また、実施例２の多値化二次元コード２では、複数セットの専用データについて、夫々異なる暗号化キーを用いて暗号化マスク処理を行っているが、かかる構成では、利用者が複数セットの専用データを復号するためには、複数の暗号化キーを所持しなければならず、専用データのセット数（層数）が増大すると、暗号化キーの管理が煩雑になる。そこで、多数の専用データセットについて、セット毎に異なる暗号化キーで暗号化マスク処理を行う場合は、各暗号化マスク処理で使用する複数の暗号化キーをまとめて暗号化した暗号化キーデータを生成し、当該暗号化キーデータを多値化二次元コードの所定領域に記録することが提案される。かかる構成とすれば、複数の暗号化キーを所持していなくても、暗号化キーデータを復号するための一つの復号キーさえ所持していれば、暗号化マスク処理で暗号化された各データを復号できるため、暗号キーの管理が容易となる。
【符号の説明】
【００５３】
１  二次元コード
２  多値化二次元コード
３  ＱＲコード
４  モジュール
４ａ  明色モジュール
４ｂ  暗色モジュール
７  機能パターン
８  符号化領域
１１  位置検出パターン
１２  分離パターン
１３  タイミングパターン
１４  データコード領域
１５  形式情報コード領域
１６  シンボル
【図１】
2015212934.tif 000003
【図２】
2015212934.tif 000004
【図３】
2015212934.tif 000005
【図４】
2015212934.tif 000006
【図５】
2015212934.tif 000007
【図６】
2015212934.tif 000008
【図７】
2015212934.tif 000009