(57)【要約】【課題】複数種類の情報を適切にカラー表現することができ、かつ読み取り時に各種類の情報を良好に区別しうる二次元コード及びそのような二次元コードを生成する生成方法を提供する。【解決手段】二次元コード１は、所定種類の第１データと、第１データとは種類の異なる第２データとをデータ記録領域ＡＲ１に記録してなるものである。第１データを構成する第１ビット列は、第１の複数色から選ばれる第１の色配列によって表され、第２データを構成する第２ビット列は、第１の複数色とは色の組み合わせが異なる第２の複数色から選ばれる第２の色配列によって表され、これら第１の色配列及び第２の色配列を統合した統合データがデータ記録領域ＡＲ１に記録されている。更に、第１データと第１の複数色との対応、及び第２データと第２の複数色との対応を特定する色情報が形式情報記録領域ＡＲ３に記録されている。【選択図】図２
2010061181.tif 000002
【特許請求の範囲】
【請求項１】
複数の情報表示単位セルがマトリックス状に配置されてなる二次元コードであって、
所定種類の第１データと、前記第１データとは種類の異なる第２データとを記録するデータ記録領域を有し、
前記第１データを構成する第１ビット列が、第１の複数色から選ばれる色を配列した第１の色配列によって表され、
前記第２データを構成する第２ビット列が、前記第１の複数色とは色の組み合わせが異なる第２の複数色から選ばれる色を配列した第２の色配列によって表され、
前記第１の色配列及び前記第２の色配列を統合した統合データ、又は前記第１の色配列及び前記第２の色配列を個別に表す個別データが、複数の前記情報表示単位セルによって表現されることで前記データ記録領域が構成されており、
更に、前記第１データと前記第１の複数色との対応、及び前記第２データと前記第２の複数色との対応を特定する色情報を記録する色情報記録領域が設けられていることを特徴とする二次元コード。
【請求項２】
前記第１の色配列は、前記第１ビット列を構成するビットデータを１又は複数のビットデータ毎に表すセル対応要素に区分けされ、
前記第２の色配列は、前記第２ビット列を構成するビットデータを１又は複数のビットデータ毎に表すセル対応要素に区分けされ、
前記第１の色配列の各セル対応要素と、前記第２の色配列の各セル対応要素とが対応付けられており、
前記第１の色配列の前記セル対応要素の色と、当該セル対応要素に対応する前記第２の色配列の前記セル対応要素の色とに基づいて、これら対応する両セル対応要素を表す前記情報単位セルのセル色が設定されていることを特徴とする請求項１に記載の二次元コード。
【請求項３】
前記第１データは、前記第２データよりもデータ量が大きく構成され、
前記第１の複数色は、前記第２の複数色よりも色数が多くなるように定められていることを特徴とする請求項１又は請求項２に記載の二次元コード。
【請求項４】
前記第１データは、前記第２データよりもデータ量が大きく構成され、
前記第１の複数色は、前記第２の複数色よりも色数が多くなるように定められており、
前記第１の色配列の各セル対応要素は、前記第１ビット列の複数のビットデータ毎の各データ内容を表しており、
前記第２の色配列の各セル対応要素は、前記第２ビット列の各ビットデータ毎の各データ内容を表していることを特徴とする請求項２に記載の二次元コード。
【請求項５】
前記第１の複数色は、赤色、緑色、青色のいずれか２色と、白色とによって構成され、
前記第２の複数色は、赤色、緑色、青色の内の前記第１の複数色に含まれない１色と、白色とによって構成されることを特徴とする請求項３又は請求項４に記載の二次元コード。
【請求項６】
前記第２データは、前記第１データよりもデータ量が大きく構成され、
前記第２の複数色は、前記第１の複数色よりも色数が多くなるように定められていることを特徴とする請求項１又は請求項２に記載の二次元コード。
【請求項７】
前記第２データは、前記第１データよりもデータ量が大きく構成され、
前記第２の複数色は、前記第１の複数色よりも色数が多くなるように定められており、
前記第１の色配列の各セル対応要素は、前記第１ビット列の各ビットデータ毎の各データ内容を表しており、
前記第２の色配列の各セル対応要素は、前記第２ビット列の複数のビットデータ毎の各データ内容を表していることを特徴とする請求項２に記載の二次元コード。
【請求項８】
前記第１の複数色は、赤色、緑色、青色のいずれか１色と、白色とによって構成され、
前記第２の複数色は、赤色、緑色、青色の内の前記第１の複数色に含まれない２色と、白色とによって構成されることを特徴とする請求項６又は請求項７に記載の二次元コード。
【請求項９】
前記第１の色配列は、前記第１データと、当該第１データの誤り訂正を行うための第１の誤り訂正データとを表すものであり、
前記第２の色配列は、前記第２データと、当該第２データの誤り訂正を行うための第２の誤り訂正データとを表すものであることを特徴とする請求項１から請求項８のいずれか一項に記載の二次元コード。
【請求項１０】
前記第２の色配列によって表される前記第２ビット列は、所定の暗号化処理がなされたデータであり、
前記第１の色配列によって表される前記第１ビット列は、前記所定の暗号化処理がなされていないデータであることを特徴とする請求項１から請求項９のいずれか一項に記載の二次元コード。
【請求項１１】
当該二次元コードは、印刷対象物に印刷されてなるものであり
前記データ記録領域を構成する前記情報表示単位セルにおいて、前記第２の色配列を表す部分が、特定波長の光が照射されたときに特定色を発する発色インクによって印刷されており、
前記データ記録領域は、前記発色インクが前記特定色となったときに前記第２の色配列が表されることを特徴とする請求項１から請求項１０のいずれか一項に記載の二次元コード。
【請求項１２】
当該二次元コードは、印刷対象物に印刷されてなるものであり、
前記色情報記録領域における前記色情報を表す前記情報表示単位セルが、特定波長の光が照射されたときに特定色を発する発色インクによって印刷されており、
前記色情報記録領域は、前記発色インクが前記特定色となったときに前記色情報が表現されることを特徴とする請求項１から請求項１１のいずれか一項に記載の二次元コード。
【請求項１３】
第１データと、第２データとを取得する取得ステップと、
前記第２データに対して所定の暗号化処理を行う暗号化ステップと、
前記第１データと前記第２データのデータ量を比較する比較ステップと、
前記第１データ及び前記第２データのうち、前記比較ステップによってデータ量が多いと判断された一方に対して第１色群を割り当て、データ量が少ないと判断された他方に対して前記一方に割り当てられた前記第１色群よりも色数の少ない第２色群を割り当てる割当ステップと、
前記第１データを構成する第１ビット列を、前記割当ステップによって前記第１データに割り当てられた色群から選ばれる色を配列した第１の色配列によって表し、前記第２データを構成する第２ビット列を、前記第２データに割り当てられた色群から選ばれる色を配列した第２の色配列によって表す色配列決定ステップと、
前記割当ステップによる割り当て結果に基づき、前記第１データに割り当てられた色群と、前記第２データに割り当てられた色群とを特定する色情報を生成する色情報生成ステップと、
前記色配列決定ステップにて決定された前記第１の色配列及び前記第２の色配列を複数の情報表示単位セルによって表したデータ記録領域と、前記色情報生成ステップにて生成された前記色情報を記録する色情報記録領域と、をコード領域内に形成するように二次元コードを生成する二次元コード生成ステップと、
を有することを特徴とする二次元コードの生成方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、二次元コードに関するものである。
【背景技術】
【０００２】
従来より、様々な情報の授受を行う手段として二次元コードが広く提供されている。この二次元コードは、近年では、格納しようとする情報量が増大する傾向にあり、また扱われる情報の種類も多様化する傾向にある。例えば、特許文献１では、二次元コードに情報を格納する一例として、秘匿性のある情報を格納しようとする技術が開示されている。
【特許文献１】再公表特許（国際公開番号ＷＯ ２００４／０９０８０４号公報）
【発明の開示】
【発明が解決しようとする課題】
【０００３】
上記のように二次元コードに格納される情報量は増大する傾向にあるため、近年では、二次元コードを複数色のセルを備えたカラーコードとすることが望まれている。しかしながら、二次元コードをカラーコードとした場合、格納する情報を如何にきめ細かく管理するかが問題となる。
【０００４】
特に、上記のように二次元コードに格納する情報の種類は多様化しているため、単一の二次元コード内に複数種類の情報を格納することが望ましい場合があるが、このように二次元コード内に複数種類の情報を格納し、尚且つ二次元コード全体をカラーコードとして構成する場合、各種類の情報が適切にカラー表現され、且つ読み取り時に各種類の情報が良好に区別される構成が望まれる。
【０００５】
本発明は、上述した課題を解決するためになされたものであり、複数種類の情報を適切にカラー表現することができ、かつ読み取り時に各種類の情報を良好に区別しうる二次元コード及びそのような二次元コードを生成する生成方法を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記目的を達成するため、請求項１の発明は、複数の情報表示単位セルがマトリックス状に配置されてなる二次元コードであって、所定種類の第１データと、前記第１データとは種類の異なる第２データとを記録するデータ記録領域を有し、前記第１データを構成する第１ビット列が、第１の複数色から選ばれる色を配列した第１の色配列によって表され、前記第２データを構成する第２ビット列が、前記第１の複数色とは色の組み合わせが異なる第２の複数色から選ばれる色を配列した第２の色配列によって表され、前記第１の色配列及び前記第２の色配列を統合した統合データ、又は前記第１の色配列及び前記第２の色配列を個別に表す個別データが、複数の前記情報表示単位セルによって表現されることで前記データ記録領域が構成されており、更に、前記第１データと前記第１の複数色との対応、及び前記第２データと前記第２の複数色との対応を特定する色情報を記録する色情報記録領域が設けられていることを特徴とする。
なお、「所定種類の第１データと、前記第１データとは種類の異なる第２データ」とは、「第１データが暗号化処理がなされたデータであり、第２データが暗号化処理がなされていないデータとして構成される例」、「第１データが所定の誤り訂正レベルのデータであり、第２データが第１データよりも誤り訂正レベルの高いデータとして構成される例」、「第１データ及び第２データがいずれも暗号化処理がなされたデータであるが、第１データの暗号化方式と第２データの暗号化方式とが異なる構成とされる例」などを含む概念である。
【０００７】
請求項２の発明は、請求項１に記載の二次元コードにおいて、前記第１の色配列は、前記第１ビット列を構成するビットデータを１又は複数のビットデータ毎に表すセル対応要素に区分けされ、前記第２の色配列は、前記第２ビット列を構成するビットデータを１又は複数のビットデータ毎に表すセル対応要素に区分けされ、前記第１の色配列の各セル対応要素と、前記第２の色配列の各セル対応要素とが対応付けられており、前記第１の色配列の前記セル対応要素の色と、当該セル対応要素に対応する前記第２の色配列の前記セル対応要素の色とに基づいて、これら対応する両セル対応要素を表す前記情報単位セルのセル色が設定されていることを特徴とする。
【０００８】
請求項３の発明は、請求項１又は請求項２に記載の二次元コードにおいて、前記第１データは、前記第２データよりもデータ量が大きく構成され、前記第１の複数色は、前記第２の複数色よりも色数が多くなるように定められていることを特徴とする。
【０００９】
請求項４の発明は、請求項２に記載の二次元コードにおいて、前記第１データは、前記第２データよりもデータ量が大きく構成され、前記第１の複数色は、前記第２の複数色よりも色数が多くなるように定められており、前記第１の色配列の各セル対応要素は、前記第１ビット列の複数のビットデータ毎の各データ内容を表しており、前記第２の色配列の各セル対応要素は、前記第２ビット列の各ビットデータ毎の各データ内容を表していることを特徴とする。
【００１０】
請求項５の発明は、請求項３又は請求項４に記載の二次元コードにおいて、前記第１の複数色は、赤色、緑色、青色のいずれか２色と、白色とによって構成され、前記第２の複数色は、赤色、緑色、青色の内の前記第１の複数色に含まれない１色と、白色とによって構成されることを特徴とする。
【００１１】
請求項６の発明は、請求項１又は請求項２に記載の二次元コードにおいて、前記第２データは、前記第１データよりもデータ量が大きく構成され、前記第２の複数色は、前記第１の複数色よりも色数が多くなるように定められていることを特徴とする。
【００１２】
請求項７の発明は、請求項２に記載の二次元コードにおいて、前記第２データは、前記第１データよりもデータ量が大きく構成され、前記第２の複数色は、前記第１の複数色よりも色数が多くなるように定められており、前記第１の色配列の各セル対応要素は、前記第１ビット列の各ビットデータ毎の各データ内容を表しており、前記第２の色配列の各セル対応要素は、前記第２ビット列の複数のビットデータ毎の各データ内容を表していることを特徴とする。
【００１３】
請求項８の発明は、請求項６又は請求項７に記載の二次元コードにおいて、前記第１の複数色は、赤色、緑色、青色のいずれか１色と、白色とによって構成され、前記第２の複数色は、赤色、緑色、青色の内の前記第１の複数色に含まれない２色と、白色とによって構成されることを特徴とする。
【００１４】
請求項９の発明は、請求項１から請求項８のいずれか一項に記載の二次元コードにおいて、前記第１の色配列は、前記第１データと、当該第１データの誤り訂正を行うための第１の誤り訂正データとを表すものであり、前記第２の色配列は、前記第２データと、当該第２データの誤り訂正を行うための第２の誤り訂正データとを表すものであることを特徴とする。
【００１５】
請求項１０の発明は、請求項１から請求項９のいずれか一項に記載の二次元コードにおいて、前記第２の色配列によって表される前記第２ビット列は、所定の暗号化処理がなされたデータであり、前記第１の色配列によって表される前記第１ビット列は、前記所定の暗号化処理がなされていないデータであることを特徴とする。
【００１６】
請求項１１の発明は、請求項１から請求項１０のいずれか一項に記載の二次元コードにおいて、当該二次元コードは、印刷対象物に印刷されてなるものであり前記データ記録領域を構成する前記情報表示単位セルにおいて、前記第２の色配列を表す部分が、特定波長の光が照射されたときに特定色を発する発色インクによって印刷されており、前記データ記録領域は、前記発色インクが前記特定色となったときに前記第２の色配列が表されることを特徴とする。
【００１７】
請求項１２の発明は、請求項１から請求項１１のいずれか一項に記載の二次元コードにおいて、当該二次元コードは、印刷対象物に印刷されてなるものであり、前記色情報記録領域における前記色情報を表す前記情報表示単位セルが、特定波長の光が照射されたときに特定色を発する発色インクによって印刷されており、前記色情報記録領域は、前記発色インクが前記特定色となったときに前記色情報が表現されることを特徴とする。
【００１８】
請求項１３の発明は、二次元コードの生成方法であって、第１データと、第２データとを取得する取得ステップと、前記第２データに対して所定の暗号化処理を行う暗号化ステップと、前記第１データと前記第２データのデータ量を比較する比較ステップと、前記第１データ及び前記第２データのうち、前記比較ステップによってデータ量が多いと判断された一方に対して第１色群を割り当て、データ量が少ないと判断された他方に対して前記一方に割り当てられた前記第１色群よりも色数の少ない第２色群を割り当てる割当ステップと、前記第１データを構成する第１ビット列を、前記割当ステップによって前記第１データに割り当てられた色群から選ばれる色を配列した第１の色配列によって表し、前記第２データを構成する第２ビット列を、前記第２データに割り当てられた色群から選ばれる色を配列した第２の色配列によって表す色配列決定ステップと、前記割当ステップによる割り当て結果に基づき、前記第１データに割り当てられた色群と、前記第２データに割り当てられた色群とを特定する色情報を生成する色情報生成ステップと、前記色配列決定ステップにて決定された前記第１の色配列及び前記第２の色配列を複数の情報表示単位セルによって表したデータ記録領域と、前記色情報生成ステップにて生成された前記色情報を記録する色情報記録領域と、をコード領域内に形成するように二次元コードを生成する二次元コード生成ステップと、を有することを特徴とする。
【発明の効果】
【００１９】
請求項１の発明は、第１データを構成する第１ビット列が、第１の複数色から選ばれる色を配列した第１の色配列によって表され、第２データを構成する第２ビット列が、第１の複数色とは色の組み合わせが異なる第２の複数色から選ばれる色を配列した第２の色配列によって表されるため、各種類のデータをそれぞれ異なる色の組み合わせによって適切にカラー表現できる。また、第１データと第１の複数色との対応、及び第２データと第２の複数色との対応を特定する色情報を色情報記録領域に記録しているため、読み取り時に色情報記録領域を参照することで第１データ及び第２データがそれぞれどのような色の組み合わせによって表現されているかを把握でき、読み取り時に各種類の情報を良好に区別できるようになる。
【００２０】
請求項２の発明は、第１の色配列が、第１ビット列を構成するビットデータを１又は複数のビットデータ毎に表すセル対応要素に区分けされ、第２の色配列が、第２ビット列を構成する１又は複数のビットデータを１又は複数のビットデータ毎に表すセル対応要素に区分けされている。このようにすれば、第１ビット列及び第２ビット列を複数のセル対応要素によって適切に表現することができる。さらに、第１の色配列の各セル対応要素と、第２の色配列の各セル対応要素とが対応付けられており、第１の色配列のセル対応要素の色と、当該セル対応要素に対応する第２の色配列のセル対応要素の色とに基づいて、これら対応する両セル対応要素を表す情報単位セルのセル色が設定されている。このようにすると、単一の情報単位セルによって第１ビット列及び第２ビット列のいずれのセル対応要素をも表現することができ、複数種類の情報をより少ないセル数で表現できるようになる。
【００２１】
請求項３の発明は、第２データよりも第１データのほうがデータ量が大きく構成され、第２の複数色よりも色数が多くなるように第１の複数色が定められている。このようにすると、データ量が大きい第１データに対し、より多くの色が割り当てられるため、第１データを表現するために必要なセル数を抑えることができ（即ち、少ないセル数でデータ量の大きい第１データをより多く表現できるようになり）、ひいては、２種類のデータをセル数を抑えてより多く格納できるようになる。
【００２２】
請求項４の発明は、第２データよりも第１データのほうがデータ量が大きく構成され、第２の複数色よりも色数が多くなるように第１の複数色が定められており、第１の色配列の各セル対応要素が、第１ビット列の複数のビットデータ毎の各データ内容を表しており、第２の色配列の各セル対応要素が、第２ビット列の各ビットデータ毎の各データ内容を表している。このようにすると、データ量が大きい第１データのセル対応要素数を抑えて第２データのセル対応要素数に近づける、若しくは第２データの対応要素よりも減らすことができ、第１データの第１の色配列及び第２データの第２の色配列を統合した統合データをより少ないセル数で表現することができる。
【００２３】
請求項５の発明は、第１の複数色が、赤色、緑色、青色のいずれか２色と、白色とによって構成され、第２の複数色が、赤色、緑色、青色の内の第１の複数色に含まれない１色と、白色とによって構成されている。このようにすると、データ量が大きい第１データにより多くの色を割り当てる構成を良好に実現できる。
【００２４】
請求項６の発明は、第１データよりも第２データのほうがデータ量が大きく構成され、第１の複数色よりも色数が多くなるように第２の複数色が定められている。このようにすると、データ量が大きい第２データに対し、より多くの色が割り当てられるため、第２データを表現するために必要なセル数を抑えることができ（即ち、少ないセル数でデータ量の大きい第２データをより多く表現できるようになり）、ひいては、２種類のデータをセル数を抑えてより多く格納できるようになる。
【００２５】
請求項７の発明は、第１データよりも第２データのほうがデータ量が大きく構成され、第１の複数色よりも色数が多くなるように第２の複数色が定められており、第１の色配列の各セル対応要素が、第１ビット列の各ビットデータ毎の各データ内容を表しており、第２の色配列の各セル対応要素が、第２ビット列の複数のビットデータ毎の各データ内容を表している。このようにすると、データ量が大きい第２データのセル対応要素数を抑えて第１データのセル対応要素数に近づける、若しくは第１データの対応要素よりも減らすことができ、第１データの第１の色配列及び第２データの第２の色配列を統合した統合データをより少ないセル数で表現することができる。
【００２６】
請求項８の発明は、第１の複数色が、赤色、緑色、青色のいずれか１色と、白色とによって構成され、第２の複数色が、赤色、緑色、青色の内の第１の複数色に含まれない２色と、白色とによって構成されている。このようにすると、データ量が大きい第２データにより多くの色を割り当てる構成を良好に実現できる。
【００２７】
請求項９の発明は、第１の色配列が、第１データと、当該第１データの誤り訂正を行うための第１の誤り訂正データとを表すものとして構成され、第２の色配列が、第２データと、当該第２データの誤り訂正を行うための第２の誤り訂正データとを表すものとして構成されている。このようにすると、二次元コード内に二種類のデータを格納する構成を実現しつつ、第１データ及び第２データのそれぞれで独立して誤り訂正を行うことができるようになる。
【００２８】
請求項１０の発明は、第２の色配列によって表される第２ビット列が、所定の暗号化処理がなされたデータとして構成され、第１の色配列によって表される第１ビット列が、所定の暗号化処理がなされていないデータとして構成されている。このようにすると、暗号化処理がなされたデータと暗号化処理がなされていないデータを単一の二次元コードに含ませ、良好に管理できる。
【００２９】
請求項１１の発明は、データ記録領域を構成する情報表示単位セルにおいて、第２の色配列を表す部分が、特定波長の光が照射されたときに特定色を発する発色インクによって印刷されている。従って、特定波長の光が照射される場合と、されない場合とでデータ記録領域の色状態が変化するようになる。そして、データ記録領域は、発色インクが特定色となったときに第２の色配列が表されるため、第２データについては特定波長の光が照射されたときのみ読み取ることができるようになる。即ち、二種類のデータを格納しつつ第２データのセキュリティ性を効果的に高めうる二次元コードを実現できる。
【００３０】
請求項１２の発明は、色情報記録領域における色情報を表す情報表示単位セルが、特定波長の光が照射されたときに特定色を発する発色インクによって印刷されている。従って、特定波長の光が照射される場合と、されない場合とで色情報記録領域の色状態が変化するようになる。そして、色情報記録領域は、発色インクが特定色となったときに色情報が表現されるため、色情報については特定波長の光が照射されたときのみ読み取ることができるようになる。即ち、特定波長の光が照射されたときのみ第１データと第１の複数色との対応、及び第２データと第２の複数色との対応が特定できるようになり、それ以外の場合には、これら対応を特定できないようにしてセキュリティ性を高めることができる。
【００３１】
請求項１３の発明では、データ量が大きい第１データに対し、より多くの色が割り当てられるため、第１データを表現するために必要なセル数を抑えることができ（即ち、少ないセル数でデータ量の大きい第１データをより多く表現できるようになり）、ひいては、２種類のデータをセル数を抑えてより多く格納できるようになる。更に、割当ステップによる割り当て結果に基づき、第１データに割り当てられた色群と、第２データに割り当てられた色群とを特定する色情報を生成し、その色情報を色情報記録領域に記録している。このようにすると、得られた二次元コードが、第１データ及び第２データがそれぞれどのような色の組み合わせによって表現されているかを把握できる構成となり、読み取り時に各種類の情報を良好に区別できるようになる。
【発明を実施するための最良の形態】
【００３２】
[第１実施形態]
以下、本発明の第１実施形態について、図面を参照して説明する。
図１は、本発明の第１実施形態に係る二次元コードを概略的に例示する概略図である。図２は、図１の二次元コードのデータ記録領域及び形式情報記録領域の各セルに番号を付して説明する説明図である。図３（ａ）は、第１ビット列及び第２ビット列の構成を説明する説明図であり、図３（ｂ）は、第１データを表す第１ビット列の生成方法を説明する説明図である。図４は、第２データよりも第１データのほうがデータ量が大きい場合に、第１データと第２データとを統合してセル色を決定する例を説明する説明図である。図５は、第１の色配列のセル対応要素、第２の色配列のセル対応要素、及び設定されるセル色の対応関係を示す説明図であり、（ａ）は、第１ビット列のデータ量が第２ビット列よりも大きい場合の一例であり、（ｂ）は第２ビット列のデータ量が第１ビット列よりも大きい場合の一例である。図６は、形式情報の構成を例示する説明図である。図７は、図１の二次元コードを生成する生成処理を例示するフローチャートである。図８は、第１データよりも第２データのほうがデータ量が大きい場合に、第１データと第２データとを統合してセル色を決定する例を説明する説明図である。
なお、図１は、データ記録領域及び形式情報記録領域については一部のセル（番号０〜４のセル及び番号２０５〜２０７のセル）のみ具体的セル内容を示しており、他のセルについては領域のみ矩形枠で示し、具体的セル内容は省略している。
【００３３】
図１、図２に示すように、二次元コード１は、複数の情報表示単位セル２（以下単にセル２とも称する）が集合して配置されてなるものであり、全体として矩形状に構成されている。二次元コード１を構成する各セル２はそれぞれ矩形状に構成されており、二次元コード１は、これら矩形状のセル２が２１行２１列に配列されたマトリックス状（即ち２１×２１のマトリックス）となっている。
【００３４】
また、二次元コード１は、予め形状が定められた特定パターンがコード領域の角部に配置されている。図１の例では、ＱＲコード（登録商標）の位置検出パターンと同様の構成、機能を有する位置検出パターンＦＰ１、ＦＰ２，ＦＰ３が、コード領域の３つの角部にそれぞれ配置されている。
【００３５】
また、二次元コード１には、データを記録するデータ記録領域ＡＲ１と、形式情報を記録する形式情報記録領域ＡＲ２、ＡＲ３とが設けられている。データ記録領域ＡＲ１は、符号化したデータを複数のセル２によって表現する領域であり、本実施形態の二次元コード１では、所定種類の第１データと、第１データとは種類の異なる第２データとがデータ記録領域ＡＲ１に記録されている。なお、図２では、データ記録領域ＡＲ１を一点鎖線にて概念的に示しており、形式情報記録領域ＡＲ２、ＡＲ３をハッチングを付して概念的に示している。
【００３６】
第１データ及び第２データは、いずれもビット列で表現されるものであり、第１データについては第１ビット列で表現され、第２データについては第２ビット列で表現されるようになっている。これら第１ビット列及び第２ビット列は、例えば図３（ａ）のように構成されており、以下のように生成される。
【００３７】
例えば、図３（ｂ）に示すように、第１データが「３４５６７８９０」である場合、これをＳ１に示すように、「３４５」「６７８」「９０」と３文字単位で区切り、３文字の文字列を１０ｂｉｔでバイナリ変換する。これにより、「３４５」は、Ｓ２のように「０１０１０１１００１」となり、「６７８」は、Ｓ３のように「１０１０１００１１０」となる。また、残りの２文字の文字列は、７ｂｉｔでバイナリ変換する。これにより、「９０」は、Ｓ４のように「１０１１０１０」となる。そして、これら「０１０１０１１００１」「１０１０１００１１０」「１０１１０１０」をＳ５のように繋ぎ合わせることで、データ部分「３４５６７８９０」のビット列「０１０１０１１００１１０１０１００１１０１０１１０１０」が完成する。さらに、Ｓ６のように、モード指示子として、特定の文字列がセットされたことを示す文字セット指示子「０００１」を先頭に付加すると共に、データ部分の文字数「８」を示す文字数指示子「００００００１０００」をデータ部分のビット列の前に付加し、さらに、データ部分と誤り訂正データとを区切るターミネータ「００００」をデータ部分のビット列の後に付加する。
【００３８】
このようにして、モード指示子、文字数指示子、データ、ターミネータのビット列が完成し、さらに、ターミネータの後にパッドデータと誤り訂正符号が付加される。誤り訂正符号は、公知の様々な誤り訂正方式で生成される符号を採用でき、一例としては、リードソロモン誤り訂正方式によって生成される誤り訂正コード語とすることができる。なお、データに基づき、リードソロモン誤り訂正方式により誤り訂正コード語を生成する方法としては、具体的には、ＪＩＳＸ０５１０：２００４で規定されるＱＲコード（登録商標）の誤り訂正と同様とすることができる。また、バッドデータは、例えばデータを表さないゼロのビットを複数並べた構成とすることができる。
【００３９】
また、誤り訂正符号は、ビット列の最終部分に配置され、誤り訂正符号とターミネータの間にはパッドデータが配置されるようになっている。例えば、Ｓ６のようにモード指示子、文字数指示子、データ、ターミネータのビット列が構成される場合、ターミネータの後にパッドデータが配置され、最後に誤り訂正符号が配置され、これらモード指示子から誤り訂正符号までの全ビットの配列が第１ビット列として構成される。なお、図３（ｂ）では、第１ビット列について具体的に例示したが、第２ビット列についても、第２データに基づいて同様に生成される。
【００４０】
また、二次元コード１は、上記第１ビット列を、第１の複数色から選ばれる色を配列した第１の色配列によって表し、第２ビット列を、第２の複数色から選ばれる色を配列した第２の色配列によって表し、これら第１の色配列及び第２の色配列を統合した統合データを、データ記録領域ＡＲ１に配置される複数の情報表示単位セル２によって表現している。  以下では、第１のビット列及び第２のビット列をセル２によりどのように表現しているかを説明する。
【００４１】
図１の二次元コード１は、図４のように第１データのデータ量が、第２データよりも大きく構成されており、この第１データ及び誤り訂正符号を含んだ第１ビット列の長さが第２データを構成する第２ビット列のほぼ２倍の長さとなっている。
【００４２】
第１の色配列を構成する第１の複数色と、第２の色配列を構成する第２の複数色とは、色の組み合わせが異なっており、データ量の大きい第１データに割り当てられる第１の複数色のほうが、データ量の少ない第２データに割り当てられる第２の複数色よりも色数が多くなっている。具体的には、第１データに割り当てられる第１の複数色が、赤色、緑色、青色のいずれか２色と、白色とによって構成され、第２の複数色が、赤色、緑色、青色の内の第１の複数色に含まれない１色と、白色とによって構成されている。
【００４３】
図４は、その一例として、第１データに対して赤色、緑色、白色を割り当て、第２データに対して、青色、白色を割り当てた例を示している。なお、図４では、第１ビット列が「０００１１０１１１１・・・１００１００」と構成され、第２ビット列が「００１０１・・・０１１」と構成されており、第１ビット列の長さが第２ビット列の２倍の長さである場合に、第１ビット列を赤、緑、白を並べた第１の色配列で表現し、第２ビット列を青、白を並べた第２の色配列で表現している。
【００４４】
図４の例では、第１ビット列を第１の複数色で表現するに際し、まず、第１ビット列を２つのビットごとに区分けする。なお、以下の説明では、区分けされる２つのビットをそれぞれ「割当単位」と称して説明する。図４では、１番目及び２番目のビットを１番目の割当単位とし、３番目、４番目のビットを２番目の割当単位とし、Ｎ−１番目、Ｎ番目のビットをＮ／２番目の割当単位とするように区分けしている。
【００４５】
第１ビット列を２ビット毎の割当単位に区分けした後には、各割当単位ごとに赤、緑、白を割り当てる。具体的には、割当単位の奇数ビットが１であれば当該奇数ビットに赤を割り当て、奇数ビットが０であれば当該奇数ビットに白を割り当てる。また、割当単位の偶数ビットが１であれば当該偶数ビットに緑を割り当て、０であれば偶数ビットに白を割り当てる。つまり、割当単位のビットの並びが「００」であれば「白、白」となり、「１０」であれば「赤、白」となり、「０１」であれば、「白、緑」となり、「１１」であれば、「赤、緑」となる。このようにして第１ビット列の各割当単位がそれぞれ「白、白」「赤、白」「白、緑」「赤、緑」のいずれかで表現され、それら色を並べたものが第１の色配列となる。
【００４６】
一方、第２ビット列を第２の複数色で表現するに際しては、第２ビット列を各ビットごとに区分けする。なお、第２ビット列では区分けされる各ビットがそれぞれ「割当単位」となる。
【００４７】
更に、区分けされた各割当単位に対し（即ち、第２ビット列の各ビットに対し）白又は青を割り当てる。具体的には、第二ビット列の各ビットが「１」か「０」かを判断し、「１」であれば「青」を割り当て、「０」であれば「白」を割り当てている。なお、図４の例では、第２ビット列が、００１０１・・・と続いているため、この場合、第２の色配列は「白」「白」「青」「白」「青」・・・と表される。
【００４８】
なお、上述したように、第１ビット列は、第１データと、当該第１データの誤り訂正を行うための誤り訂正符合（第１の誤り訂正データ）とをバイナリデータで表すものであるため、第１データのみならず、当該第１データの誤り訂正を行うための第１の誤り訂正データについても第１の色配列によって表されることとなる。また、第２のビット列についても、第２データと、当該第２データの誤り訂正を行うための誤り訂正符合（第２の誤り訂正データ）とをバイナリデータで表すものであるため、第２データのみならず、当該第２データの誤り訂正を行うための第２の誤り訂正データについても第２の色配列によって表されることとなる。
【００４９】
また、上記のように構成される第１の色配列及び第２の色配列は、セル対応要素に区分けされるようになっている。このセル対応要素は、第１の色配列及び第２の色配列を上記割当単位毎に分けたものであり、第１の色配列については、割当単位に対応する配色２つずつがセル対応要素となっており、第２の色配列については、割当単位に対応するそれぞれの配色がセル対応要素となっている。このように、第１の色配列の各セル対応要素ａ０〜ａ２０７は、第１ビット列を構成するビットデータの２つのビットデータ毎（即ち割当単位毎）のデータ内容を表しており、第２の色配列のセル対応要素ｂ０〜ｂ２０７は、第２ビット列を構成する各ビットデータ毎のデータ内容を表している。
【００５０】
更に、第１の色配列の各セル対応要素ａ０〜ａ２０７と、第２の色配列の各セル対応要素ｂ０〜ｂ２０７とが対応付けられており、第１の色配列のセル対応要素の色と、当該セル対応要素に対応する第２の色配列のセル対応要素の色とに基づいて、これら対応する両セル対応要素を表す情報表示単位セル２のセル色が設定されている。なお、第１の色配列のセル対応要素を構成する２つの配色と、第２の色配列のセル対応要素を構成する１つの配色とによって単一の情報表示単位セルの色を決定する方法は、様々に考えられるが、本実施形態では、図５（ａ）のように決定されている。
【００５１】
例えば、図４では、第１ビット列の１番目の割当単位（１番目、２番目のビットによって構成される割当単位）に対応して「白、白」という１番目のセル対応要素ａ０が構成されており、この１番目のセル対応要素ａ０（「白、白」）に対し、第２の色配列の１番目のセル対応要素ｂ０（即ち、第２ビット列の１番目の割当単位を表す「白」）が対応付けられている。そして、第１の色配列の１番目のセル対応要素ａ０（「白、白」）と、第２の色配列の１番目のセル対応要素ｂ０（「白」）によって、これら対応する両セル対応要素ａ０、ｂ０を表す情報表示単位セルＳ０のセル色が「白」と設定されている（図５（ａ）も参照）。なお、図４のセルＳ０は、図２でいう１番目のセル（データ記録領域ＡＲ１における番号「０」が付されたセル）に相当し、図１のように１番目のセルが白色として構成されている。
【００５２】
他のセル対応要素でも同様であり、例えば、第１ビット列の５番目の割当単位（９番目、１０番目のビットによって構成される割当単位）によって「赤、緑」という５番目のセル対応要素ａ４が構成されており、この５番目のセル対応要素ａ４（「赤、緑」）に対し、第２の色配列の５番目のセル対応要素ｂ４（即ち、第２ビット列の５番目の割当単位を表す「青」）が対応付けられている。そして、第１の色配列の５番目のセル対応要素ａ４（「赤、緑」）と、第２の色配列の５番目のセル対応要素ｂ４（「青」）によって、これら対応する両セル対応要素ａ４、ｂ４を表す情報表示単位セルＳ４のセル色が「黒」と設定されている（図５（ａ）も参照）。なお、図４のセルＳ４は、図２でいう５番目のセル（データ記録領域ＡＲ１における番号「４」が付されたセル）に相当し、図１のように５番目のセルが黒色として構成されている。
【００５３】
このようにしてデータ記録領域ＡＲ１の各セル２の各セル色が定められている。なお、図１の二次元コードは、上記のような設定方法により、「白」「黒」「赤」「緑」「青」「黄」「シアン」「マゼンタ」の８色の色がされるようになっている。
【００５４】
また、上記二次元コード１は、第２の色配列によって表される第２ビット列が「所定の暗号化処理」がなされたデータとして構成されており、第１の色配列によって表される第１ビット列が「所定の暗号化処理」がなされていないデータとして構成されている。なお、「所定の暗号化処理」とは、ビット列を暗号化しうる技術であれば公知の様々な暗号化技術を採用でき、一例としては、例えば、公知の視覚復号型暗号技術（視覚復号型秘密分散法）を用いて第２ビット列を暗号化する。このようにすると、暗号化されていない第１データに比べて第２データのセキュリティ性が高まることとなる。
【００５５】
なお、第２データは上記暗号化処理がなされており、公開が制限されているため、以下の説明では第２データを「非公開データ」とも称する。一方、第１データは上記暗号化処理がなされておらず、暗号解読情報（例えば鍵情報）の有無にかかわらず公開されるものであるため、以下の説明では、第１データを「公開データ」とも称する。
【００５６】
次に、形式情報記録領域に記録される形式情報について説明する。
二次元コード１の形式情報記録領域ＡＲ２、ＡＲ３には、形式情報が記録されている。この形式情報は、例えば、二次元コード１の型番情報、誤り訂正レベル、誤り訂正符号（ＢＣＨ）などの情報を含んでおり、更に、第１データと第１の複数色との対応、及び第２データと第２の複数色との対応を特定する色情報を含んでいる。
なお、形式情報記録領域ＡＲ２、ＡＲ３は、「色情報記録領域」の一例に相当している。
【００５７】
図６は、形式情報記録領域の一部ＡＲ３の構成を概略的に例示している。
本実施形態に係る二次元コード１は、赤、緑、青のいずれか１色又は２色が第１データ（公開データ）に割り当てられ、残りが第２データ（非公開データ）に割り当てられる取り決めとなっており、このような取り決めを前提として、二次元コード１では具体的にどのように割り当てられているかを、当該二次元コード１の形式情報記録領域ＡＲ３に記録される形式情報によって特定できるようになっている。
【００５８】
具体的には、形式情報記録領域の特定のセル（図６の例では、１１番目のセルｃ１０、１２番目のセルｃ１１、１３番目のセルｃ１２）によって色情報が表されている。例えば、１１番目のｃ１０のセルは、第１データ（公開データ）及び第２データ（非公開データ）のいずれに青色を割り当てるかを示すセルであり、ｃ１０のセルが「０」を示す色（例えば「白」）であれば、青色が第１データに割り当てられていることを示し、ｃ１０のセルが「１」を示す色（例えば「黒」）であれば青色が第２データに割り当てられていることを示している。同様に、ｃ１１のセルは、第１データ（公開データ）及び第２データ（非公開データ）のいずれに緑色を割り当てるかを示すセルであり、ｃ１１のセルが「０」を示す色であれば、緑色が第１データに割り当てられていることを示し、ｃ１１のセルが「１」を示す色であれば緑色が第２データに割り当てられていることを示している。また、ｃ１２のセルは、第１データ（公開データ）及び第２データ（非公開データ）のいずれに赤色を割り当てるかを示すセルであり、ｃ１２のセルが「０」を示す色であれば、赤色が第１データに割り当てられていることを示し、ｃ１２のセルが「１」を示す色であれば赤色が第２データに割り当てられていることを示している。
【００５９】
例えば、図４のように、第１データ（公開データ）に赤、緑が割り当てられ、第２データ（非公開データ）に青が割り当てられる場合、ｃ１１、ｃ１２のセルは「０」を示すものとして構成され、ｃ１０のセルは「１」を示すものとして構成される。従って、ｃ１１、ｃ１２のセルの値が「０」であり、ｃ１０のセルの値が「１」であれば、第１データ（公開データ）に赤、緑が割り当てられ、第２データ（非公開データ）に青が割り当てられていることを特定でき、図５（ａ）のような対応がなされていることを特定できることとなる。つまり、このような色情報を読み取ることで、１番目のセルＳ０から２０８番目のセルＳ２０８までの各セル毎に、第１の色配列のセル対応要素と第２の色配列のセル対応要素とを特定でき、第１ビット列及び第２ビット列をそれぞれ復元できるようになる。
【００６０】
次に、上記二次元コードを生成するための生成方法について説明する。
図７は、図１のような二次元コードを生成するための生成処理の流れを例示するフローチャートである。なお、図７の処理は、ＣＰＵ等の情報処理手段、ＲＯＭ、ＲＡＭ、ＨＤＤ等の記憶手段を有する情報処理装置（例えばパーソナルコンピュータなど）によって実現されるものである。
【００６１】
図７に示す生成処理が開始されると、まず、データ取得処理が行われる（Ｓ１０）。Ｓ１のデータ取得処理は、二次元コードに記録すべき第１データ及び第２データを取得する処理であり、その取得方法は、情報処理装置外部から入力されるこれら情報を取得する方法であってもよく、情報処理装置に予め記憶されているデータを読み出して取得する方法であってもよい。なお、Ｓ１０の処理が「取得ステップ」の一例に相当する。
【００６２】
その後、Ｓ１０で取得した第１データ及び第２データをバイナリデータに変換する処理を行う（Ｓ１１）。なお、第１データや第２データをバイナリデータに変換する方法は上述の通り（図３参照）であり、Ｓ１１では、第１データを含んだ第１ビット列と、第２データを含んだ第２ビット列とがそれぞれ生成される。
【００６３】
Ｓ１１の後には、第２データを暗号化する処理が行われる（Ｓ１２）。第２データの暗号化処理についても上述した通りであり、公知の暗号化技術（例えば、公知の視覚復号型秘密分散法）を用いて第２ビット列が暗号化される。
なお、Ｓ１２の処理が「暗号化ステップ」の一例に相当する。
【００６４】
Ｓ１２の処理の後には、第１ビット列のデータサイズと第２ビット列のデータサイズとを比較する処理が行われる（Ｓ１３）。この処理では、第１ビット列及び第２ビット列のいずれの方がデータ量が大きいかを比較する（即ち、第１データ及び第２データのいずれのほうがデータ量が大きいかを比較する）。そして、その比較結果に基づき、第２ビット列よりも第１ビット列のほうがデータ量が大きいか否かを判断し（Ｓ１４）、第１ビット列のほうが第２ビット列よりもデータ量が大きい場合にはＳ１４にてＹｅｓに進み、第１データに対し赤、緑、青のうちの２色を割り当て、第２データに対して残りの１色を割り当てる（Ｓ１５）。このときに第１データに割り当てられる２色及び第２データに割り当てられる１色は予め決められていてもよく、乱数などを用いてランダムに決定したり、ユーザの指示に応じて決定するといった方法等を用いてもよい。
【００６５】
一方、第１ビット列よりも第２ビット列のほうがデータ量が大きい場合にはＳ１４にてＮｏに進み、第１データに対し赤、緑、青のうちの１色を割り当て、第２データに対して残りの２色を割り当てる（Ｓ１６）。この場合も、第１データに割り当てられる１色及び第２データに割り当てられる２色は予め決められていてもよく、乱数などを用いてランダムに決定したり、ユーザの指示に応じて決定するといった方法等を用いてもよい。
なお、Ｓ１３、Ｓ１４の処理は「比較ステップ」の一例に相当する。また、Ｓ１５及びＳ１６の処理は、「割当ステップ」の一例に相当し、「比較ステップ」に相当するＳ１４によってデータ量が多いと判断された一方に対して第１色群を割り当て、データ量が少ないと判断された他方に対して一方に割り当てられた第１色群よりも色数の少ない第２色群を割り当てる工程とされている。
【００６６】
Ｓ１５又はＳ１６の後には、第１の色配列及び第２の色配列を決定する処理を行う（Ｓ１７）。色配列の決定方法は基本的には上述の通り（図４、図５参照）であり、赤、緑、青のうちの２色が割り当てられたビット列（即ち、データ量が大きいほうのビット列）については、２ビット毎の割当単位に区分けされ、各割当単位ごとに、割り当てられた２色及び白から選ばれる配列が生成される。一方、赤、緑、青のうちの残りの１色が割り当てられたビット列（即ち、データ量が小さいほうのビット列）については、各ビットが割当単位となり、各割当単位ごとに（即ち各ビットごとに）、割り当てられた１色又は白が設定される。
【００６７】
例えば、第１ビット列のほうが第２ビット列よりもデータ量が大きい場合、図４のように第１データに対して赤、緑、白を割り当て、第２データに対して青、白を割り当てる方法を用いることができ、この場合、図４と同様の方法で第１の色配列及び第２の色配列を生成できる。なお、図４の方法はあくまで一例であり、第１データに赤、緑、青のうちの別の２色（例えば、緑、青）を割り当て、第２データにそれ以外の一色（例えば赤）を割り当ててもよい。
【００６８】
また、第２ビット列のほうが第１ビット列よりもデータ量が大きい場合であっても同様に色配列を生成できる。図８は、この場合の色配列の設定方法を例示しており、基本的には、図４で説明した第１の色配列の生成方法と同様の方法で、第２ビット列に対応する第２の色配列を生成し、図４で説明した第２の色配列の生成方法と同様の方法で第１ビット列に対応する第１の色配列を生成している。例えば、第２ビット列については、図８のように、２ビット毎の割当単位に区分けし、各割当単位ごとに赤、緑、白を割り当てた配色を設定している。この場合も、各割当単位について、奇数ビットが１であれば当該奇数ビットに赤を割り当て、奇数ビットが０であれば当該奇数ビットに白を割り当てる。また、各割当単位について、偶数ビットが１であれば当該偶数ビットに緑を割り当て、０であれば偶数ビットに白を割り当てる。つまり、割当単位のビットの並びが「００」であれば「白、白」となり、「１０」であれば「赤、白」となり、「０１」であれば、「白、緑」となり、「１１」であれば、「赤、緑」となる。このようにして第２ビット列の各割当単位がそれぞれ「白、白」「赤、白」「白、緑」「赤、緑」のいずれかで表現され、それら色を並べたものが第２の色配列となる。
【００６９】
また、第１ビット列については、第１ビット列の各ビットを割当単位とし、当該割当単位（第１ビット列の各ビット）に対し白又は青を割り当てるようにして第１の色配列を生成している。具体的には、第１ビット列の各ビットが「１」か「０」かを判断し、「１」であれば「青」を割り当て、「０」であれば「白」を割り当てるようにして第１の色配列を生成する。
なお、Ｓ１７の処理は「色配列決定ステップ」に相当し、第１データを構成する第１ビット列を、「割当ステップ」によって第１データに割り当てられた色群から選ばれる色を配列した第１の色配列によって表し、第２データを構成する第２ビット列を、第２データに割り当てられた色群から選ばれる色を配列した第２の色配列によって表す工程とされている。
【００７０】
Ｓ１７にて第１の色配列及び第２の色配列が生成された後には、データ記録領域の各セル色を決定する処理が行われる（Ｓ１８）。各セル色の決定方法は基本的には上述の通りであり（図４参照）、第１の色配列のセル対応要素の色と、当該セル対応要素に対応する第２の色配列のセル対応要素の色とに基づいて、これら対応する両セル対応要素を表す情報表示単位セル２のセル色を決定する。
【００７１】
例えば、第１ビット列のほうが第２ビット列よりもデータ量が大きいときに各セル色を決定する方法は、図４、図５で示したように、第１の色配列の１番目のセル対応要素ａ０と第２の色配列の１番目セル対応要素ｂ０とに基づいて１番目のセルＳ０のセル色が決定され、同様にして第１の色配列のＮ番目のセル対応要素と第２の色配列のＮ番目セル対応要素とに基づいてＮ番目のセルのセル色が決定される。
【００７２】
また、第２ビット列のほうが第１ビット列よりもデータ量が大きいときに第１の色配列及び第２の色配列に基づいて各セル色を決定する方法も同様であり、図８のように、第１の色配列のＮ番目のセル対応要素と第２の色配列のＮ番目セル対応要素とに基づいてＮ番目のセルのセル色が決定されるといった方法がとられる。この場合の第１の色配列のセル対応要素、第２の色配列のセル対応要素、設定されるセル色の対応関係は図５（ｂ）の通りであり、例えば、図８のように、第１ビット列の１番目のセル対応要素ａ０が「白」であり、第２ビット列の１番目のセル対応要素ｂ０が「白、白」であれば１番目のセル色が「白」と設定される（図５（ｂ）も参照）。或いは、第１ビット列の３番目のセル対応要素ａ２が「青」であり、第２ビット列の３番目のセル対応要素ｂ２が「赤、白」であれば、３番目のセル色は「マゼンタ」と設定される（図５（ｂ）も参照）。
【００７３】
なお、第１データよりも第２データのほうがデータ量が大きく構成され、第２の複数色は、第１の複数色よりも色数が多くなるように定められる場合であっても、コード構成は図１、図２で説明した上述の通りであり、データ記録領域ＡＲ１及び形式情報記録領域ＡＲ３の具体的セル内容のみが上述の例（即ち、第１データの方が第２データよりもデータ量が大きい場合の例）と異なることとなる。具体的セル内容については、第１の色配列の各セル対応要素ａ０〜ａ２０７が、第１ビット列の各ビットデータ毎の各データ内容を表し、第２の色配列の各セル対応要素ｂ０〜ｂ２０７が、第２ビット列の２つのビットデータ毎の各データ内容を表している点が上記の例（第１データの方が第２データよりもデータ量が大きい場合の例）と大きく異なり、これらを統合した統合データがデータ記録領域ＡＲ１の各セル２によって表現されている点は同様である。
【００７４】
Ｓ１８の処理の後には、色情報を生成する処理が行われる（Ｓ１９）。Ｓ１９の処理は「色情報生成ステップ」に相当するものであり、「割当ステップ」に相当するＳ１５又はＳ１６での割り当て結果に基づき、第１データに割り当てられた色群と、第２データに割り当てられた色群とを特定する色情報を生成する。具体的には、図６で説明した通り、形式情報記録領域ＡＲ３の１１〜１３番目のセルｃ１０〜ｃ１２に色情報を記録する。例えば、第１ビット列のほうが第２ビット列よりもデータ量が大きく、図４のように第１データ（公開データ）に赤、緑、白が割り当てられ、第２データ（非公開データ）に青、白が割り当てられる場合、ｃ１２、ｃ１１を、それぞれ「０」を表す構成（例えば白色）とし、ｃ１０を「１」を表す構成（例えば黒色）とする。また、第２ビット列のほうが第１ビット列よりもデータ量が大きく、図８のように第２データ（非公開データ）に赤、緑、白が割り当てられ、第１データ（公開データ）に青、白が割り当てられる場合、ｃ１２、ｃ１１を、それぞれ「１」を表す構成（例えば黒色）とし、ｃ１０を「０」を表す構成（例えば白色）とする。
【００７５】
Ｓ１９の処理の後には、コード領域内に各セルを配置する処理が行われる（Ｓ２０）。Ｓ２０の処理は、「二次元コード生成ステップ」の一例に相当し、「色配列決定ステップ」に相当するＳ１７で決定された第１の色配列及び第２の色配列を複数の情報表示単位セル２によって表したデータ記録領域ＡＲ１と、「色情報生成ステップ」に相当するＳ１９で生成された色情報等を記録する形式情報記録領域ＡＲ２、ＡＲ３と、をコード領域内に形成する。具体的には、データ記録領域ＡＲ１の各セル２の色を、それぞれＳ１８で決定された色で表し、形式情報記録領域ＡＲ２、ＡＲ３の各セル２の色を、それぞれＳ１９で決定された色で表すように二次元コード１の画像データを生成する。なお、この画像データは、二次元コード１を表示画面や印刷装置に出力しうるデータである。
【００７６】
本実施形態によれば例えば以下のような効果を奏する。
本実施形態では、第１データを構成する第１ビット列が、第１の複数色から選ばれる色を配列した第１の色配列によって表され、第２データを構成する第２ビット列が、第１の複数色とは色の組み合わせが異なる第２の複数色から選ばれる色を配列した第２の色配列によって表されるため、各種類のデータをそれぞれ異なる色の組み合わせによって適切にカラー表現できる。また、第１データと第１の複数色との対応、及び第２データと第２の複数色との対応を特定する色情報を形式情報記録領域ＡＲ３（色情報記録領域）に記録しているため、読み取り時に形式情報記録領域ＡＲ３を参照することで第１データ及び第２データがそれぞれどのような色の組み合わせによって表現されているかを把握でき、読み取り時に各種類の情報を良好に区別できるようになる。
【００７７】
また、第１の色配列が、第１ビット列を構成するビットデータを１又は複数のビットデータ毎に表すセル対応要素に区分けされ、第２の色配列が、第２ビット列を構成する１又は複数のビットデータを１又は複数のビットデータ毎に表すセル対応要素に区分けされている。このようにすれば、第１ビット列及び第２ビット列を複数のセル対応要素によって適切に表現することができる。さらに、第１の色配列の各セル対応要素と、第２の色配列の各セル対応要素とが対応付けられており、第１の色配列のセル対応要素の色と、当該セル対応要素に対応する第２の色配列のセル対応要素の色とに基づいて、これら対応する両セル対応要素を表す情報表示単位セル２のセル色が設定されている。このようにすると、単一の情報表示単位セル２によって第１ビット列及び第２ビット列のいずれのセル対応要素をも表現することができ、複数種類の情報をより少ないセル数で表現できるようになる。
【００７８】
また、第２データよりも第１データのほうがデータ量が大きい場合、第２の複数色よりも色数が多くなるように第１の複数色を定めている。このようにすると、データ量が大きい第１データに対し、より多くの色が割り当てられるため、第１データを表現するために必要なセル数を抑えることができ（即ち、少ないセル数でデータ量の大きい第１データをより多く表現できるようになり）、ひいては、２種類のデータをセル数を抑えてより多く格納できるようになる。
更に、第１の色配列の各セル対応要素が、第１ビット列の２つのビットデータ毎の各データ内容を表しており、第２の色配列の各セル対応要素が、第２ビット列の各ビットデータ毎の各データ内容を表している。このようにすると、データ量が大きい第１データのセル対応要素数を抑えて第２データのセル対応要素数に近づける、若しくは第２データの対応要素よりも減らすことができ、第１データの第１の色配列及び第２データの第２の色配列を統合した統合データをより少ないセル数で表現することができる。
【００７９】
また、第２データよりも第１データのほうがデータ量が大きい場合、第１の複数色が、赤色、緑色、青色のいずれか２色と、白色とによって構成され、第２の複数色が、赤色、緑色、青色の内の第１の複数色に含まれない１色と、白色とによって構成されている。このようにすると、データ量が大きい第１データにより多くの色を割り当てる構成を良好に実現できる。
【００８０】
逆に、第１データよりも第２データのほうがデータ量が大きい場合、第１の複数色よりも色数が多くなるように第２の複数色を定めている。このようにすると、データ量が大きい第２データに対し、より多くの色が割り当てられるため、第２データを表現するために必要なセル数を抑えることができ（即ち、少ないセル数でデータ量の大きい第２データをより多く表現できるようになり）、ひいては、２種類のデータをセル数を抑えてより多く格納できるようになる。
この場合、第１の色配列の各セル対応要素が、第１ビット列の各ビットデータ毎の各データ内容を表しており、第２の色配列の各セル対応要素が、第２ビット列の２つのビットデータ毎の各データ内容を表している。このようにすると、データ量が大きい第２データのセル対応要素数を抑えて第１データのセル対応要素数に近づける、若しくは第１データの対応要素数よりも減らすことができ、第１データの第１の色配列及び第２データの第２の色配列を統合した統合データをより少ないセル数で表現することができる。
【００８１】
また、第１データよりも第２データのほうがデータ量が大きい場合、第２の複数色が、赤色、緑色、青色のいずれか２色と、白色とによって構成され、第１の複数色が、赤色、緑色、青色の内の第２の複数色に含まれない１色と、白色とによって構成されている。このようにすると、データ量が大きい第２データにより多くの色を割り当てる構成を良好に実現できる。
【００８２】
また、第１の色配列が、第１データと、当該第１データの誤り訂正を行うための第１の誤り訂正データとを表すものとして構成され、第２の色配列が、第２データと、当該第２データの誤り訂正を行うための第２の誤り訂正データとを表すものとして構成されている。このようにすると、二次元コード内に二種類のデータを格納する構成を実現しつつ、第１データ及び第２データのそれぞれで独立して誤り訂正を行うことができるようになる。
【００８３】
また、第２の色配列によって表される第２ビット列が、所定の暗号化処理がなされたデータとして構成され、第１の色配列によって表される第１ビット列が、所定の暗号化処理がなされていないデータとして構成されている。このようにすると、暗号化処理がなされたデータと暗号化処理がなされていないデータを単一の二次元コードに含ませ、適切に管理できる。
【００８４】
また、上述した二次元コード生成方法によれば、データ量が大きい第１データに対し、より多くの色が割り当てられるため、第１データを表現するために必要なセル数を抑えることができ（即ち、少ないセル数でデータ量の大きい第１データをより多く表現できるようになり）、ひいては、２種類のデータをセル数を抑えてより多く格納できるようになる。更に、「割当ステップ」に相当するＳ１５又はＳ１６（図７）での割り当て結果に基づき、第１データに割り当てられた色群と、第２データに割り当てられた色群とを特定する色情報を生成し、その色情報を形式情報記録領域（色情報記録領域）に記録している。このようにすると、得られた二次元コードにおいて、第１データ及び第２データがそれぞれどのような色の組み合わせによって表現されているかを把握できるようになり、読み取り時に各種類の情報を良好に区別できるようになる。
【００８５】
［第２実施形態］
次に第２実施形態について説明する。図９は、第２実施形態に係る二次元コードを概略的に説明する説明図である。なお、第２実施形態の二次元コード２００は、データ記録領域の内容のみが第１実施形態の二次元コード１と異なり、それ以外は第１実施形態の二次元コード１と同一である。よって、二次元コード１と同一の部分については二次元コード１と同一の符号を付し、詳細な説明は省略する。
【００８６】
図９に示すように、二次元コード２００も、複数の情報表示単位セル２が２１×２１のマトリックス状に配置されてなるものであり、第１実施形態と同様の第１データ及び第２データがデータ記録領域に記録されている。なお、本実施形態でも、第１データは、第１実施形態と同一の第１ビット列によって表現され、第２データも第１実施形態と同一の第２ビット列によって表現されるようになっている。なお、各ビット列の構成は図３（ａ）で示したとおりであり、第１実施形態と同様の方法（図３（ｂ）参照）で生成される。
【００８７】
また、本実施形態でも、第１ビット列は、第１の複数色から選ばれる色を配列した第１の色配列によって表され、第２ビット列は、第１の複数色とは色の組み合わせが異なる第２の複数色から選ばれる色を配列した第２の色配列によって表されている。なお、第１ビット列のほうが第２ビット列よりもデータ量が大きい場合には、図４と同様の方法で第１の色配列が生成されるようになっており、第１ビット列に割り当てられた赤、緑、白によって第１の色配列が構成され、第２ビット列に割り当てられた青、白によって第２の色配列が構成されるようになっている。
【００８８】
また、第２ビット列のほうが第１ビット列よりもデータ量が大きい場合には、図８と同様の方法で第２の色配列が生成されるようになっており、第１ビット列に割り当てられた青、白によって第１の色配列が構成され、第２ビット列に割り当てられた赤、緑、白によって第２の色配列が構成されるようになっている。
【００８９】
二次元コード２００は、上記のように構成される第１の色配列及び第２の色配列をそれぞれ個別に記録している。図９の例では、データ記録領域が、第１の色配列を記録する第１記録領域ＡＲ'と第２の色配列を記録する第２記録領域ＡＲ１"とに分けられており、第１記録領域ＡＲ'は、当該第１記録領域ＡＲ'を構成する複数のセル２によって第１の色配列が個別に表されている。第１の色配列は、第１記録領域ＡＲ'にそのまま表されていてもよく（即ち、第１の色配列を順番に配置して第１記録領域ＡＲ'を構成してもよく）、マスク処理などの所定の変換処理を施した上で記録されていてもよい。また、第２記録領域ＡＲ１"は、当該第２記録領域ＡＲ１"を構成する複数のセル２によって第２の色配列が個別に表されている。第２の色配列も、第２記録領域ＡＲ１"にそのまま表されていてもよく（即ち、第２の色配列を順番に配置して第２記録領域ＡＲ１"を構成してもよく）、マスク処理などの所定の変換処理を施した上で記録されていてもよい。
【００９０】
或いは、第１の色配列と第３の色配列（第１データ及び第２データ以外の第３データを第３の複数色で表した色配列）とを、図４と同様の方法で統合して第１記録領域ＡＲ'に記録し、第２の色配列と第４の色配列（第１データ、第２データ、第３データ以外の第４データを第４の複数色で表した色配列）とを図４と同様の方法で統合して第２記録領域ＡＲ１"に記録してもよい。
【００９１】
いずれも場合も、形式情報記録領域ＡＲ３に色情報が記録されていることで、第１の色配列を構成する複数色及び第２の色配列を構成する複数色を特定でき、第１の色配列によって表される第１データ及び第２の色配列によって表される第２データを良好に解読できる。なお、本実施形態でも、形式情報記録領域ＡＲ３に図６と同様の色情報が記録されている。具体的には、形式情報記録領域ＡＲ３の特定のセル（図６の例では、１１番目のセルｃ１０、１２番目のセルｃ１１、１３番目のセルｃ１２）によって色情報が表されており、赤、緑、青、のそれぞれが、第１データ（公開データ）、第２データ（非公開データ）のいずれに割り当てられているかを特定できるようになっている。
【００９２】
［他の実施形態]
本発明は上記記述及び図面によって説明した実施形態に限定されるものではなく、例えば次のような実施形態も本発明の技術的範囲に含まれる。
【００９３】
上記実施形態では、二次元コード１（図１等）や二次元コード２００（図９）の表示場所は特に限定していないが、これら二次元コード１、２００は、印刷対象物に印刷して用いることができる。この場合、データ記録領域を構成する情報表示単位セル２において、第２の色配列を表す部分を、特定波長の光が照射されたときに特定色を発する発色インク（例えば、紫外線照射によって蛍光発色するインビジブルインク等）によって印刷することができる。
例えば、図９の場合、第２ビット列を表現する第２記録領域ＡＲ１"を上記発色インクによって印刷し、特定波長の光が照射されていないときには第２記録領域ＡＲ１"が正常に現されず、特定波長の光が照射されて発色インクが特定色となったときに第２記録領域ＡＲ１"が正常に表されるように構成することができる。
また、図１の場合、データ記録領域ＡＲ１の少なくとも一部の色（例えば青色）を上記発色インクによって印刷し、特定波長の光が照射されていないときにはデータ記録領域ＡＲ１が正常に現されず、特定波長の光が照射されて発色インクが特定色となったときに、データ記録領域ＡＲ１が正規の構成（上記第１の色配列及び第２の色配列の統合データが正常に表される構成）となるようにしてもよい。
このようにすると、第２の色配列を構成する第２ビット列、或いは第１ビット列及び第２ビット列を統合した統合データが、発色インクが特定色となったとき（即ち、特定波長の光が照射されたとき）のみ読み取ることができるようになる。即ち、少なくとも第２データ（暗号化処理が施された非公開データ）のセキュリティ性をより一層高めることができる。
【００９４】
また、印刷対象物に上記二次元コード１或いは２００を印刷して用いる場合、形式情報記録領域ＡＲ２、ＡＲ３全体、或いは、少なくとも色情報を表す情報表示単位セルを上記発色インク（特定波長の光が照射されたときに特定色を発するインク）によって印刷し、発色インクが特定色となったときに色情報が表現されるように構成することができる。例えば、図６のような形式情報記録領域全体、或いは、色情報を表現する特定セル（図６では、セルｃ１０、ｃ１１、ｃ１２）を、上記発色インクによって印刷し、特定波長の光が照射されていないときには少なくとも色情報を表すセルが正常に表されず、特定波長の光が照射されたときのみ色情報を表すセルが正常に表されるように構成することができる。
このようにすると、発色インクが特定色となったときのみ（即ち、特定波長の光が照射されたときのみ）色情報を読み取ることができ、第１データと第１の複数色との対応、及び第２データと第２の複数色との対応が特定できるようになる。従って、特定波長の光が照射されない限りはこれら対応を特定できず、読み取りが困難となるため、セキュリティ面で有利となる。
【００９５】
上記実施形態では、第２データよりも第１データのほうがデータ量が大きい場合、第１データに赤、緑、白を割り当て、第２データに青、白を割り当てる構成を例示したが、このような場合に第１データ、第２データに割り当てる色の組み合わせはこれに限られない。例えば、第１データに緑、青、白を割り当て、第２データに赤、白を割り当てるようにしてもよく、第１データに赤、緑、青、白、黒、を割り当て、第２データに黄、シアン、マゼンタを割り当てるといった方法などであってもよい。いずれの場合でも、第１データ、第２データにそれぞれどのような色が割り当てられているかを色情報によって特定できるようにしておけば、例えば図５と同様のテーブルを利用して各データを正常に読み取ることができる。
【００９６】
また、第１データよりも第２データのほうがデータ量が大きい場合、第２データに赤、緑、白を割り当て、第１データに青、白を割り当てる構成を例示したが、この場合も、第１データ、第２データに割り当てる色の組み合わせはこれに限られない。例えば、第２データに緑、青、白を割り当て、第１データに赤、白を割り当てるようにしてもよく、第２データに赤、緑、青、白、黒を割り当て、第１データに黄、シアン、マゼンタを割り当てるといった方法などであってもよい。いずれの場合でも、第１データ、第２データにそれぞれどのような色が割り当てられているかを色情報によって特定できるようにしておけば、例えば図５と同様のテーブルを利用して各データを正常に読み取ることができる。
【００９７】
上記実施形態では、セルの配列として２１×２１の正方形状のマトリックスを例示したが、これよりも大きいサイズのマトリックス（例えば２７×２７のマトリックス等）であってもよく、小さいサイズのマトリックス（例えば１５×１５のマトリックス等）であってもよい。また、長方形状のマトリックス（例えば、９×２９のマトリックス等）であってもよい。
【００９８】
上記実施形態では、コード領域内の情報表示単位セルの位置を特定するためのパターンとして位置検出パターンＦＰ１〜ＦＰ３（図１）を例示しているが、位置検出パターンの数や形状はこれ以外であってもよい。例えば、１つの位置検出パターンがコード領域の１つの角部のみに配置される構成であってもよい。
【００９９】
上記実施形態では、暗号化処理がなされていないデータを第１データとし、暗号化処理がなされたデータを第２データとしたが、第１データと第２データの関係はこれに限られない。例えば、第１データが所定の誤り訂正レベルのデータであり、第２データが第１データよりも誤り訂正レベルの高いデータとして構成されていてもよく、第１データ及び第２データをいずれも暗号化処理がなされたデータとし、第１データの暗号化方式と第２データの暗号化方式とを異ならせるようにしてもよい。
【０１００】
上記実施形態では、データ記録領域に２種類のデータが記録された例を示したが、データ記録領域に少なくとも２種類のデータが記録されていれば種類数は３種類以上であってもよい。
【図面の簡単な説明】
【０１０１】
【図１】図１は、本発明の第１実施形態に係る二次元コードを概略的に例示する概略図である。
【図２】図２は、図１の二次元コードのデータ記録領域及び形式情報記録領域の各セルに番号を付して説明する説明図である。
【図３】図３（ａ）は、第１ビット列及び第２ビット列のデータ構成を説明する説明図であり、図３（ｂ）は、第１ビット列の生成方法を例示する説明図である。
【図４】図４は、第２データよりも第１データのほうがデータ量が大きい場合に、第１データと第２データとを統合してセル色を決定する例を説明する説明図である。
【図５】図５は、第１の色配列のセル対応要素、第２の色配列のセル対応要素、及び設定されるセル色の対応関係を示す説明図である。
【図６】図６は、形式情報のデータ構成を例示する説明図である。
【図７】図７は、図１の二次元コードを生成する生成処理を例示するフローチャートである。
【図８】図８は、第１データよりも第２データのほうがデータ量が大きい場合に、第１データと第２データとを統合してセル色を決定する例を説明する説明図である。
【図９】図９は、本発明の第２実施形態に係る二次元コードを概略的に説明する説明図である。
【符号の説明】
【０１０２】
１，２００…二次元コード
２…情報表示単位セル
ＡＲ１…データ記録領域
ＡＲ２，ＡＲ３…形式情報記録領域（色情報記録領域）
【図１】
2010061181.tif 000003
【図２】
2010061181.tif 000004
【図３】
2010061181.tif 000005
【図４】
2010061181.tif 000006
【図５】
2010061181.tif 000007
【図６】
2010061181.tif 000008
【図７】
2010061181.tif 000009
【図８】
2010061181.tif 000010
【図９】
2010061181.tif 000011