(57)【要約】【課題】２次元コードの所定の領域にデザイン領域を構成し、デザイン領域に所与のデザインを形成しても確実に読み取り可能な２次元コードを提供すること。【解決手段】２次元コードにおいて単一の値として読み取られる領域を形成するビット列を逆変換した逆変換ビット列４４を求め、逆変換ビット列４４を２次元コードのフォーマット情報に基づいて変換して２次元コードを生成することにより、デザイン領域３３を有する特殊２次元コードＳＣを生成する。そして、特殊２次元コードＳＣと所与のデザインデータＤＤとを合成した場合に、デザイン領域３３に対応する所与のデザインデータＤＤの階調値が単一の値として読み取られる階調値となるように、特殊２次元コードＳＣと所与のデザインデータＤＤとを合成する。【選択図】図９
2008152334.tif 000002
【特許請求の範囲】
【請求項１】
２次元コードを生成するためのプログラムであって、
２次元コードのサイズデータと、２次元コードから読み取られるべき原データと、所与のデザインデータとを取得するデータ取得部と、
前記サイズデータと前記原データとに基づいて、前記原データのデータ量に応じた２次元コードのデザイン領域を特定するデザイン領域特定部と、
２次元コードにおいて単一の値として読み取られる領域を構成するビット列を、前記デザイン領域に対応させて２次元コードのフォーマット情報に基づいて逆変換した逆変換ビット列を求めるデザイン領域逆変換部と、
前記原データのビット列と前記逆変換ビット列とを、前記２次元コードのフォーマット情報に基づいて変換した変換後ビット列を求める２次元コードデータ生成部と、
前記変換後ビット列に基づいて、前記デザイン領域が前記単一の値として読み取られる特殊２次元コードを生成する２次元コード生成部と、
前記特殊２次元コードと前記所与のデザインデータとを合成した場合に、前記デザイン領域に対応する前記所与のデザインデータの階調値が前記単一の値として読み取られる階調値となるように、前記特殊２次元コードと前記所与のデザインデータとを合成するデザイン合成部としてコンピュータを機能させることを特徴とするプログラム。
【請求項２】
請求項１において、
前記データ取得部が、
任意の階調値から構成されたデザインデータを取得し、
前記デザイン合成部が、
前記特殊２次元コードの階調値と前記デザインデータの階調値とに基づいて階調値を合成した場合に、前記デザイン領域に対応する前記合成結果の階調値が前記単一の値として読み取られる階調値となるように、階調値を合成することを特徴とするプログラム。
【請求項３】
請求項２において、
前記デザイン合成部が、
前記階調値の合成結果が階調値のとり得る値を超えないように前記階調値を合成することを特徴とするプログラム。
【請求項４】
請求項２、３のいずれかにおいて、
前記デザイン合成部が、
前記単一の値が第１の値である場合に、前記デザイン領域に対応する前記特殊２次元コードの階調値を前記第１の値として読み取られる第１の範囲内で変換し、前記変換した特殊２次元コードの階調値と前記デザインデータの階調値とに基づいて階調値を合成することを特徴とするプログラム。
【請求項５】
請求項４において、
前記デザイン合成部が、
前記変換した特殊２次元コードの階調値と前記デザインデータの階調値とに基づいて階調値を合成した場合に、前記デザイン領域に対応する前記合成結果の階調値が階調値のとり得る値を超えないように前記デザインデータの階調値を変換し、前記変換した特殊２次元コードの階調値と前記変換したデザインデータの階調値とに基づいて階調値を合成することを特徴とするプログラム。
【請求項６】
請求項２、３のいずれかにおいて、
前記デザイン合成部が、
前記単一の値が第２の値である場合に、前記デザイン領域に対応する前記デザインデータの階調値を前記第２の値として読み取られる第２の範囲内の階調値となるように変換し、前記特殊２次元コードの階調値と前記変換したデザインデータの階調値とに基づいて階調値を合成することを特徴とするプログラム。
【請求項７】
請求項６において、
前記デザイン合成部が、
前記特殊２次元コードの階調値のうち前記第１の値として読み取られるべき領域に対応する階調値を前記第１の値として読み取られる第１の範囲内で変換し、前記変換した特殊２次元コードの階調値と前記変換したデザインデータの階調値とに基づいて階調値を合成することを特徴とするプログラム。
【請求項８】
請求項１〜７のいずれかにおいて、
前記逆変換ビット列に基づいて、生成される２次元コードの読み取り誤りを訂正するための誤り訂正データを生成する誤り訂正データ生成部としてコンピュータを更に機能させ、
前記２次元コード生成部が、
前記求められた逆変換ビット列と、前記原データのビット列と、前記誤り訂正データのビット列とを、前記２次元コードのフォーマット情報に基づいて変換した変換後ビット列を求めることを特徴とするプログラム。
【請求項９】
請求項１において、
前記データ取得部が、
任意の階調値から構成されたデザインデータを取得し、
前記デザイン合成部が、
前記デザイン領域に対応する前記デザインデータの階調値を、前記単一の値として読み取られる階調値に変換し、前記変換した階調値から構成されたデザインデータを前記特殊２次元コードの前記デザイン領域に上書きすることを特徴とするプログラム。
【請求項１０】
請求項９において、
前記デザイン合成部が、
前記デザイン領域に対応する前記デザインデータの階調値が、前記単一の値として読み取られる範囲内の階調値でない場合に、前記デザイン領域に対応する前記デザインデータの階調値を前記単一の値として読み取られる階調値に変換することを特徴とするプログラム。
【請求項１１】
２次元コードを生成するためのプログラムであって、
２次元コードのサイズデータと、２次元コードから読み取られるべき原データと、所与のデザインデータとを取得するデータ取得部と、
前記サイズデータと前記原データとに基づいて、前記原データのデータ量に応じた２次元コードのデザイン領域を特定するデザイン領域特定部と、
単一の値から構成されたビット列を前記デザイン領域に対応させて２次元コードのフォーマット情報に基づいて逆変換した逆変換ビット列を求めるデザイン領域逆変換部と、
前記原データのビット列と前記逆変換ビット列とを、前記２次元コードのフォーマット情報に基づいて変換した変換後ビット列を求める２次元コードデータ生成部と、
前記変換後ビット列に基づいて、前記デザイン領域が単一の値として読み取られる特殊２次元コードを生成する２次元コード生成部としてコンピュータを機能させることを特徴とするプログラム。
【請求項１２】
コンピュータ読み取り可能な情報記憶媒体であって、請求項１〜１１のいずれかのプログラムを記憶したことを特徴とする情報記憶媒体。
【請求項１３】
請求項１〜１１のいずれかのプログラムに基づいて生成したことを特徴とする２次元コード。
【請求項１４】
所与の２値化データを表すモジュールが２次元に配置された２次元コードであって、
２次元コードから読み取られるべき原データを表すモジュールが配置された元データ領域と、
２次元コードのサイズデータと前記原データのデータ量とに応じて特定され、単一の値として読み取られるモジュールが配置されたデザイン領域と、
を含み、
前記デザイン領域のモジュールは、
前記単一の値から構成されたビット列を前記デザイン領域に対応させて２次元コードのフォーマット情報に基づいて逆変換した逆変換ビット列を、前記２次元コードのフォーマット情報に基づいて変換した変換後ビット列に基づいて配置されていることを特徴とする２次元コード。
【請求項１５】
請求項１４において、
前記デザイン領域に、前記単一の値として読み取られる階調値から構成されたデザインが描画されていることを特徴とする２次元コード。
【請求項１６】
請求項１３〜１５のいずれかの２次元コードが印刷された印刷物。
【請求項１７】
所与の２値化データを表すモジュールが２次元に配置された２次元コード画像であって、
前記２次元コードから読み取られるべき原データを表すモジュールが配置された元データ領域と、
単一の値を表すモジュールが配置されたデザイン領域と、
を含み、
前記デザイン領域に、前記単一の値として読み取られる階調値から構成された画像が連続的に表示されていることを特徴とする２次元コード画像。
【請求項１８】
所与の２値化データを表すモジュールが２次元に配置された２次元コード画像の表示制御方法であって、
２次元コードから読み取られるべき原データを表すモジュールが配置された元データ領域と、２次元コードのサイズデータと前記原データのデータ量とに応じて特定され、単一の値として読み取られるモジュールが配置されたデザイン領域と、を含み、前記デザイン領域のモジュールは、前記単一の値から構成されたビット列を前記デザイン領域に対応させて２次元コードのフォーマット情報に基づいて逆変換した逆変換ビット列を、前記２次元コードのフォーマット情報に基づいて変換した変換後ビット列に基づいて配置されている特殊２次元コード画像を生成する手順と、
複数の画像を生成する手順と、
前記特殊２次元コード画像と前記複数の画像の各画像とを合成した場合に、前記デザイン領域に対応する前記複数の画像の各画像の階調値が前記単一の値として読み取られる階調値となるように、前記特殊２次元コード画像と前記複数の画像の各画像とを合成し、複数の２次元コード画像を生成する手順と、
前記複数の２次元コード画像を連続的に表示させる手順と、
を含むことを特徴とする２次元コード画像の表示制御方法。
【請求項１９】
所与の２値化データを表すモジュールが２次元に配置された２次元コード画像の表示制御方法であって、
２次元コードから読み取られるべき原データを表すモジュールが配置された元データ領域と、２次元コードのサイズデータと前記原データのデータ量とに応じて特定され、単一の値として読み取られるモジュールが配置されたデザイン領域と、を含み、前記デザイン領域のモジュールは、前記単一の値から構成されたビット列を前記デザイン領域に対応させて２次元コードのフォーマット情報に基づいて逆変換した逆変換ビット列を、前記２次元コードのフォーマット情報に基づいて変換した変換後ビット列に基づいて配置されている特殊２次元コード画像を生成する手順と、
所与の画像を生成する手順と、
前記特殊２次元コード画像と前記所与の画像とを合成した場合に、前記デザイン領域に対応する前記所与の画像の階調値が前記単一の値として読み取られる階調値となるように、前記特殊２次元コード画像と前記所与の画像とを合成し、２次元コード画像を生成する手順と、
前記２次元コード画像を表示部に表示させる手順と、
を表示フレームごとに連続して行うことを特徴とする２次元コード画像の表示制御方法。
【請求項２０】
２次元コード生成システムであって、
２次元コードのサイズデータと、２次元コードから読み取られるべき原データと、所与のデザインデータとを取得するデータ取得部と、
前記サイズデータと前記原データとに基づいて、前記原データのデータ量に応じた２次元コードのデザイン領域を特定するデザイン領域特定部と、
単一の値から構成されたビット列を前記デザイン領域に対応させて２次元コードのフォーマット情報に基づいて逆変換した逆変換ビット列を求めるデザイン領域逆変換部と、
前記原データのビット列と前記逆変換ビット列とを、前記２次元コードのフォーマット情報に基づいて変換した変換後ビット列を求める２次元コードデータ生成部と、
前記変換後ビット列に基づいて、前記デザイン領域が単一の値として読み取られる特殊２次元コードを生成する２次元コード生成部と、
を含むことを特徴とする２次元コード生成システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラム、情報記憶媒体、２次元コード、印刷物、２次元コード画像、２次元コード画像の表示制御方法、２次元コード生成システムに関する。
【背景技術】
【０００２】
従来より、所定のフォーマット情報に基づいて、データを示すモジュールを２次元に配置した２次元コードが知られている。この２次元コードでは、１次元コードに比して狭い領域で多くのデータを読み取らせることができる。このような従来の技術として、例えば特許第２９３８３３８号公報に開示されるものがある。
【特許文献１】特許第２９３８３３８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
かかる２次元コードでは、２次元コードのサイズに対してデータ量が少ない場合には、２次元コード上にデータを示さない領域が発生する。この場合、従来の２次元コードでは、データを示さない領域に所定のフォーマット情報に従ってモジュールを配置する。
【０００４】
しかし、データを示さない領域にモジュールを配置するフォーマット情報は、各種モジュールがデータを示さない領域にバランスよく配置されるように構成されている。従って、生成される２次元コードのモジュールパターンの構成に特徴を持たせて、他の２次元コードと差別化をはかることができなかった。
【０００５】
そこで本発明は、２次元コードのデータを示さない領域などの所定の領域に、単一の値として読み取られるモジュールを配置させることにより所与のデザインを形成するためのデザイン領域を構成し、更にデザイン領域に所与のデザインを形成しても確実に読み取り可能な２次元コードを提供することにある。
【課題を解決するための手段】
【０００６】
（１）本発明は、２次元コードを生成するためのシステムであって、
２次元コードを生成するためのプログラムであって、
２次元コードのサイズデータと、２次元コードから読み取られるべき原データと、所与のデザインデータとを取得するデータ取得部と、
前記サイズデータと前記原データとに基づいて、前記原データのデータ量に応じた２次元コードのデザイン領域を特定するデザイン領域特定部と、
２次元コードにおいて単一の値として読み取られる領域を構成するビット列を、前記デザイン領域に対応させて２次元コードのフォーマット情報に基づいて逆変換した逆変換ビット列を求めるデザイン領域逆変換部と、
前記原データのビット列と前記逆変換ビット列とを、前記２次元コードのフォーマット情報に基づいて変換した変換後ビット列を求める２次元コードデータ生成部と、
前記変換後ビット列に基づいて、前記デザイン領域が前記単一の値として読み取られる特殊２次元コードを生成する２次元コード生成部と、
前記特殊２次元コードと前記所与のデザインデータとを合成した場合に、前記デザイン領域に対応する前記所与のデザインデータの階調値が前記単一の値として読み取られる階調値となるように、前記特殊２次元コードと前記所与のデザインデータとを合成するデザイン合成部とを含む２次元コード生成システムに関係する。
【０００７】
また本発明は、上記各部としてコンピュータを機能させるプログラムに関係する。また本発明は、上記プログラムに基づいて生成された２次元コードに関係する。また本発明は、コンピュータ読み取り可能な情報記憶媒体であって、上記各部としてコンピュータを機能させるプログラムを記憶（記録）した情報記憶媒体に関係する。また本発明は、上記２次元コード生成システム、プログラム、情報記憶媒体を用いて生成された２次元コードが印刷された印刷物に関係する。また本発明は、上記２次元コード生成システム、プログラム、情報記憶媒体を用いて生成された２次元コードとして読み取られる２次元コード画像、２次元コード画像を生成するシステム、プログラム及び情報記憶媒体、２次元コード画像の表示制御方法に関係する。
【０００８】
本発明において「単一の値として読み取られる領域を構成するビット列」とは、例えば「００００・・・」や「１１１１・・・」などのように１ビット単位で単一の値として読み取られるビット列の他、「０１０１０１０１・・・」などのように２ビット単位で単一の値として読み取られるビット列など、複数ビット単位で単一の値として読み取られるビット列も含む。
【０００９】
また本発明において「階調値（色値）」とは、明るさや色を設定するためのパラメータであって、グレイスケールを示すパラメータや、Ｒ・Ｇ・ＢやＹ・Ｃｒ・Ｃｂ、Ｙ・Ｍ・Ｃ・Ｋなどの色成分ごとの明るさを示すパラメータや、色合いを示す色相、鮮やかさを示す彩度、明るさを示す明度などのパラメータ、輝度などのパラメータ等、種々のパラメータとすることができる。即ち２次元コードの読み取りに影響を与える種々のパラメータとすることができる。
【００１０】
また本発明において「合成」とは、特殊２次元コードと所与のデザインデータとを全体的又は部分的に用いて、両者を組合せたデータを生成することをいう。例えば特殊２次元コードと所与のデザインデータの画素ごとの階調値を加算、減算などする他、特殊２次元コードの一部の画素の階調値を所与のデザインデータの一部の画素の階調値に上書きするなど、種々の合成手法とすることができる。
【００１１】
本発明によれば、２次元コードにおいて単一の値として読み取られる領域を形成するビット列を逆変換した逆変換ビット列を求め、逆変換ビット列を２次元コードのフォーマット情報に基づいて変換して２次元コードを生成することにより、２次元コードのフォーマット情報に基づきつつも、例えば白のモジュールのみ或いは黒のモジュールのみなどのように単一の階調値から構成されたデザイン領域を有する特殊２次元コードを生成することができる。そして本発明では、デザイン領域が例えば白のモジュールにより構成されている特殊２次元コードの場合には、白として読み取られる範囲の階調値から構成されたデザインがデザイン領域に形成されるように特殊２次元コードと所与のデザインデータとを合成する。一方、デザイン領域が例えば黒のモジュールにより構成されている特殊２次元コードの場合には、黒として読み取られる範囲の階調値から構成されたデザインがデザイン領域に形成されるように特殊２次元コードと所与のデザインデータとを合成する。
【００１２】
このように本発明では、２次元コードのフォーマット情報に基づきつつも、２次元コードの原データに対応する領域以外の領域に、デザインを形成するためのデザイン領域を構成することができ、かつ、かかるデザイン領域にデザインを形成させても２次元コードの読み取りに影響を与えないようにすることができる。そして特殊２次元コードには、原データの情報が２次元コードのフォーマット情報に基づいて配置されているので、本システム利用者が２次元コードを介して伝達しようとする情報である原データを、２次元コードの読取装置により読み取らせることができる。
【００１３】
こうして本発明によれば、人目を引き付けることができるデザインが形成された２次元コードを、通常の２次元コードの生成手順に準じて簡易に生成することができる。しかも、２次元コードにデザインが形成されていても、通常の２次元コードの生成手順に準じて生成されているので、２次元コードを読取装置により正確に読み取らせることができる。
【００１４】
（２）また本発明に係る２次元コード生成システム、プログラム及び情報記憶媒体では、
前記データ取得部が、
任意の階調値から構成されたデザインデータを取得し、
前記デザイン合成部が、
前記特殊２次元コードの階調値と前記デザインデータの階調値とに基づいて階調値を合成した場合に、前記デザイン領域に対応する前記合成結果の階調値が前記単一の値として読み取られる階調値となるように、階調値を合成するようにしてもよい。
【００１５】
本発明によれば、例えば特殊２次元コードの階調値やデザインデータの階調値に所定の係数を掛けたり所定の階調値を加算或いは減算などして、特殊２次元コードの階調値やデザインデータの階調値を調整して変換することにより、デザイン領域に対応する階調値の合成結果が単一の値として読み取られる階調値となるように合成することができる。更に、変換した特殊２次元コードの階調値とデザインデータの階調値を、互いに加算或いは減算などすることにより、デザイン領域に対応する階調値の合成結果が単一の値として読み取られる階調値となるように合成することができる。
【００１６】
（３）また本発明に係る２次元コード生成システム、プログラム及び情報記憶媒体では、
前記デザイン合成部が、
前記階調値の合成結果が階調値のとり得る値を超えないように前記階調値を合成するようにしてもよい。
【００１７】
本発明によれば、例えば、合成結果の階調値のうち階調値のとり得る値を超えている値を補正するようにしてもよい。この場合には簡易な処理により、特殊２次元コードの階調値とデザインデータの階調値とを合成することができる。
【００１８】
また例えば、合成結果が階調値のとり得る値を超えないような変換手法で特殊２次元コードの階調値やデザインデータの階調値を合成前に変換し、変換後の特殊２次元コードの階調値とデザインデータの階調値とを合成するようにしてもよい。この場合にはデザインデータの本来の階調値を可及的に反映させた階調値から構成されたデザインをデザイン領域に形成することができる。
【００１９】
（４）また本発明に係る２次元コード生成システム、プログラム及び情報記憶媒体では、
前記デザイン合成部が、
前記単一の値が第１の値である場合に、前記デザイン領域に対応する前記特殊２次元コードの階調値を前記第１の値として読み取られる第１の範囲内で変換し、前記変換した特殊２次元コードの階調値と前記デザインデータの階調値とに基づいて階調値を合成するようにしてもよい。
【００２０】
本発明によれば、特殊２次元コードの階調値を変換することにより、デザイン領域に対応する合成結果の階調値が第１の値として読み取られるようにしつつ、デザインデータの本来の階調値を可及的に反映させることができる。
【００２１】
（５）また本発明に係る２次元コード生成システム、プログラム及び情報記憶媒体では、
前記デザイン合成部が、
前記変換した特殊２次元コードの階調値と前記デザインデータの階調値とに基づいて階調値を合成した場合に、前記デザイン領域に対応する前記合成結果の階調値が階調値のとり得る値を超えないように前記デザインデータの階調値を変換し、前記変換した特殊２次元コードの階調値と前記変換したデザインデータの階調値とに基づいて階調値を合成するようにしてもよい。
【００２２】
本発明によれば、デザインデータの階調値を変換することにより、デザイン領域に対応する合成結果の階調値が第１の値として読み取られるようにしつつ、デザインデータの本来の階調値を可及的に反映させることができる。
【００２３】
（６）また本発明に係る２次元コード生成システム、プログラム及び情報記憶媒体では、
前記デザイン合成部が、
前記単一の値が第２の値である場合に、前記デザイン領域に対応する前記デザインデータの階調値を前記第２の値として読み取られる第２の範囲内の階調値となるように変換し、前記特殊２次元コードの階調値と前記変換したデザインデータの階調値とに基づいて階調値を合成するようにしてもよい。
【００２４】
本発明によれば、デザインデータの階調値を変換することにより、デザイン領域に対応する合成結果の階調値が第２の値として読み取られるようにすることができる。
【００２５】
（７）また本発明に係る２次元コード生成システム、プログラム及び情報記憶媒体では、
前記デザイン合成部が、
前記特殊２次元コードの階調値のうち前記第１の値として読み取られるべき領域に対応する階調値を前記第１の値として読み取られる第１の範囲内で変換し、前記変換した特殊２次元コードの階調値と前記変換したデザインデータの階調値とに基づいて階調値を合成するようにしてもよい。
【００２６】
本発明によれば、例えば原データなどに対応する領域のうち、第１の値として読み取られるべき領域に対応する階調値を、第１の値として読み取られるようにしつつ、第２の値として読み取られるデザイン領域の階調値に可及的に近づけた階調値とすることができる。
【００２７】
（８）また本発明に係る２次元コード生成システム、プログラム及び情報記憶媒体では、
前記逆変換ビット列に基づいて、生成される２次元コードの読み取り誤りを訂正するための誤り訂正データを生成する誤り訂正データ生成部としてコンピュータを更に機能させ、
前記２次元コード生成部が、
前記求められた逆変換ビット列と、前記原データのビット列と、前記誤り訂正データのビット列とを、前記２次元コードのフォーマット情報に基づいて変換した変換後ビット列を求めるようにしてもよい。
【００２８】
本発明によれば、デザイン領域を単一の値として読み取られる領域として形成しても、かかるデザイン領域に応じた誤り訂正データにより、読み誤りを訂正することができる。
【００２９】
（９）また本発明に係る２次元コード生成システム、プログラム及び情報記憶媒体では、
前記データ取得部が、
任意の階調値から構成されたデザインデータを取得し、
前記デザイン合成部が、
前記デザイン領域に対応する前記デザインデータの階調値を、前記単一の値として読み取られる階調値に変換し、前記変換した階調値から構成されたデザインデータを前記特殊２次元コードの前記デザイン領域に上書きするようにしてもよい。
【００３０】
本発明によれば、デザイン領域に対応するデザインデータの階調値を、例えば所定の係数を掛けたり所定の階調値を加算或いは減算などして、特殊２次元コードのデザイン領域の階調値と同様に読み取られる階調値に調整して変換し、変換した階調値がそのまま反映されるように特殊２次元コードのデザイン領域に上書きすることにより、デザイン領域に対応する合成結果の階調値が単一の値として読み取られる階調値となるように合成することができる。
【００３１】
（１０）また本発明に係る２次元コード生成システム、プログラム及び情報記憶媒体では、
前記デザイン合成部が、
前記デザイン領域に対応する前記デザインデータの階調値が、前記単一の値として読み取られる範囲内の階調値でない場合に、前記デザイン領域に対応する前記デザインデータの階調値を前記単一の値として読み取られる階調値に変換するようにしてもよい。
【００３２】
本発明によれば、デザイン領域に対応するデザインデータの階調値が、特殊２次元コードのデザイン領域の階調値と同様に読み取られる階調値であれば、変換を行わずにそのまま特殊２次元コードのデザイン領域に上書きすることができるので、デザインデータの本来の階調値を可及的に反映させた階調値から構成されたデザインをデザイン領域に形成することができる。
【００３３】
（１１）また本発明に係る２次元コード生成システム、プログラム及び情報記憶媒体では、
２次元コードを生成するためのプログラムであって、
２次元コードのサイズデータと、２次元コードから読み取られるべき原データと、所与のデザインデータとを取得するデータ取得部と、
前記サイズデータと前記原データとに基づいて、前記原データのデータ量に応じた２次元コードのデザイン領域を特定するデザイン領域特定部と、
単一の値から構成されたビット列を前記デザイン領域に対応させて２次元コードのフォーマット情報に基づいて逆変換した逆変換ビット列を求めるデザイン領域逆変換部と、
前記原データのビット列と前記逆変換ビット列とを、前記２次元コードのフォーマット情報に基づいて変換した変換後ビット列を求める２次元コードデータ生成部と、
前記変換後ビット列に基づいて、前記デザイン領域が単一の値として読み取られる特殊２次元コードを生成する２次元コード生成部とを含むようにしてもよい。
【００３４】
本発明によれば、２次元コードにおいて単一の値として読み取られる領域を形成するビット列を逆変換したビット列を求め、逆変換したビット列を変換して２次元コードを生成することにより、２次元コードのフォーマット情報に基づきつつも、例えば白のモジュールのみ或いは黒のモジュールのみなどのように単一の階調値から構成されたデザイン領域を有する特殊２次元コードを提供することができる。
【００３５】
従って本発明によれば、特殊２次元コードデザイン領域に、２次元コードの読み取りに影響を与えない範囲の階調値から構成されたデザインを形成させることができる。そして特殊２次元コードには、原データの情報が２次元コードのフォーマット情報に基づいて配置されているので、本システム利用者が２次元コードを介して伝達しようとする情報である原データを、２次元コードの読取装置により読み取らせることができる。
【００３６】
こうして本発明によれば、人目を引き付けることができるデザインが形成された２次元コードを、通常の２次元コードの生成手順に準じて簡易に生成することができる。しかも、２次元コードにデザインが形成されていても、通常の２次元コードの生成手順に準じて生成されているので、２次元コードを読取装置により正確に読み取らせることができる。
【００３７】
（１２）また本発明は、
所与の２値化データを表すモジュールが２次元に配置された２次元コードであって、
２次元コードから読み取られるべき原データを表すモジュールが配置された元データ領域と、
２次元コードのサイズデータと前記原データのデータ量とに応じて特定され、単一の値として読み取られるモジュールが配置されたデザイン領域と、
を含み、
前記デザイン領域のモジュールは、
前記単一の値から構成されたビット列を前記デザイン領域に対応させて２次元コードのフォーマット情報に基づいて逆変換した逆変換ビット列を、前記２次元コードのフォーマット情報に基づいて変換した変換後ビット列に基づいて配置されていることを特徴とする２次元コードに関係する。また本発明は、上記２次元コードが印刷された印刷物に関係する。
【００３８】
（１３）また本発明に係る２次元コード、２次元コードが印刷された印刷物は、
前記デザイン領域に、前記単一の値として読み取られる階調値から構成されたデザインが描画されているようにしてもよい。
【００３９】
本発明によれば、２次元コードのデザイン領域にデザインを形成させても２次元コードの読み取りに影響を与えないようにすることができる。
【００４０】
（１４）また本発明は、
所与の２値化データを表すモジュールが２次元に配置された２次元コード画像であって、
前記２次元コードから読み取られるべき原データを表すモジュールが配置された元データ領域と、
単一の値を表すモジュールが配置されたデザイン領域と、
を含み、
前記デザイン領域に、前記単一の値として読み取られる階調値から構成された画像が連続的に表示されていることを特徴とする２次元コード画像に関係する。
【００４１】
（１５）また本発明は、
所与の２値化データを表すモジュールが２次元に配置された２次元コード画像の表示制御方法であって、
２次元コードから読み取られるべき原データを表すモジュールが配置された元データ領域と、２次元コードのサイズデータと前記原データのデータ量とに応じて特定され、単一の値として読み取られるモジュールが配置されたデザイン領域と、を含み、前記デザイン領域のモジュールは、前記単一の値から構成されたビット列を前記デザイン領域に対応させて２次元コードのフォーマット情報に基づいて逆変換した逆変換ビット列を、前記２次元コードのフォーマット情報に基づいて変換した変換後ビット列に基づいて配置されている特殊２次元コード画像を生成する手順と、
複数の画像を生成する手順と、
前記特殊２次元コード画像と前記複数の画像の各画像とを合成した場合に、前記デザイン領域に対応する前記複数の画像の各画像の階調値が前記単一の値として読み取られる階調値となるように、前記特殊２次元コード画像と前記複数の画像の各画像とを合成し、複数の２次元コード画像を生成する手順と、
前記複数の２次元コード画像を連続的に表示させる手順と、
を含むことを特徴とする２次元コード画像の表示制御方法に関係する。
【００４２】
本発明によれば、特殊２次元コード画像のデザイン領域に、２次元コードの読み取りに影響を与えない階調値の画像を合成した２次元コード画像を複数用意しておき、これを連続的に表示させることにより、デザイン領域に動画が表示される２次元コード画像を表示させることができる。これにより本発明によれば、より人目を引き付けることができる２次元コードを提供することができる。しかも本発明では、特殊２次元コードは変化しない画像（静止画）として表示され続けるので、デザイン領域に動画を表示させつつも、２次元コードの読取装置に確実に読み取らせることができる。
【００４３】
（１６）また本発明は、
所与の２値化データを表すモジュールが２次元に配置された２次元コード画像の表示制御方法であって、
２次元コードから読み取られるべき原データを表すモジュールが配置された元データ領域と、２次元コードのサイズデータと前記原データのデータ量とに応じて特定され、単一の値として読み取られるモジュールが配置されたデザイン領域と、を含み、前記デザイン領域のモジュールは、前記単一の値から構成されたビット列を前記デザイン領域に対応させて２次元コードのフォーマット情報に基づいて逆変換した逆変換ビット列を、前記２次元コードのフォーマット情報に基づいて変換した変換後ビット列に基づいて配置されている特殊２次元コード画像を生成する手順と、
所与の画像を生成する手順と、
前記特殊２次元コード画像と前記所与の画像とを合成した場合に、前記デザイン領域に対応する前記所与の画像の階調値が前記単一の値として読み取られる階調値となるように、前記特殊２次元コード画像と前記所与の画像とを合成し、２次元コード画像を生成する手順と、
前記２次元コード画像を表示部に表示させる手順と、
を表示フレームごとに連続して行うことを特徴とする２次元コード画像の表示制御方法に関係する。
【００４４】
本発明によれば、特殊２次元コード画像のデザイン領域に、２次元コードの読み取りに影響を与えない階調値の画像を表示フレームごとに合成しながら連続的に表示させることにより、デザイン領域に動画が表示される２次元コード画像を表示させることができる。これにより本発明によれば、より人目を引き付けることができる２次元コードを提供することができる。しかも本発明では、特殊２次元コードは変化しない画像（静止画）として表示され続けるので、デザイン領域に動画を表示させつつも、２次元コードの読取装置に確実に読み取らせることができる。
【００４５】
（１７）また本発明の２次元コード画像の表示制御方法では、
前記特殊２次元コード画像を生成する手順では、
前記原データのビット列と前記逆変換ビット列とに基づいて生成された、２次元コードの読み取り誤りを訂正するための誤り訂正データに基づいてモジュールが配置された誤り訂正領域を更に含む特殊２次元コード画像を生成するようにしてもよい。
【００４６】
本発明によれば、デザイン領域を単一の値として読み取られる領域として形成し、デザイン領域に動画が表示される２次元コード画像としても、かかるデザイン領域に応じた誤り訂正データにより読み誤りを訂正することができる。
【発明を実施するための最良の形態】
【００４７】
以下、本実施形態について説明する。なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また本実施形態で説明される構成の全てが、本発明の必須構成要件であるとは限らない。
【００４８】
１．２次元コードの構造
図１に、本実施の形態の２次元コード生成システムで生成される２次元コードシンボルの構造の例を示す。本実施の形態では、２次元コードとしてＱＲコード（株式会社デンソーウェーブの登録商標）を用いた例を示すが、本実施の形態により生成できる２次元コードはＱＲコードに限らない。
【００４９】
図１に示すように、本実施の形態の２次元コードシンボル１０は、正方形のモジュールを縦に４５個、横に４５個、計２０２５個正方形状に配列して構成されている。このシンボル１０には、シンボル１０からデータを読み取る際に用いられる位置検出パターン１２と位置合せパターン１３とタイミングパターン１４とが配置されている。そして、位置検出パターン１２と位置合せパターン１３とタイミングパターン１４とが配置されている領域以外の領域として、シンボル１０から読み取られるべきデータのモジュールパターン（符号化パターン）が配置される符号化領域１６が設けられている。
【００５０】
この符号化領域１６には、シンボル１０の型番情報（サイズ情報）の符号化パターンが配置される型番領域１８と、シンボル１０の形式情報（誤り訂正レベル情報、マスク処理パターンに関する情報）の符号化パターンが配置される形式領域２０と、本実施の形態のシステムの利用者が任意に入力可能なデータの符号化パターンが配置されるデータ領域２２とが含まれる。
【００５１】
２．２次元コードの生成処理
図２に、本実施の形態の２次元コード生成システムの処理の流れの一例を示す。まず、ステップＳ１において、２次元コードを生成するための各種データを取得する。
【００５２】
図３に、このデータ取得処理の詳細を示す。まず、ステップＳ２において、入力部への入力情報に基づき、システムの利用者が所望するシンボルの型番情報と形式情報とを取得する。ここで、型番情報には、シンボル１０の大きさを特定するサイズ情報（１〜４０）が含まれている。本実施の形態では、サイズ情報によりシンボル１０を構成するモジュールの数とその配置を特定することができる。また、形式情報には、生成されるシンボルの読み取り誤りを訂正するための誤り訂正アルゴリズムの種類を特定する誤り訂正レベル情報が含まれる。本実施の形態では、誤り訂正レベルがＬ、Ｍ、Ｑ、Ｈの４段階用意されており、誤り訂正レベルに応じて誤り訂正の精度が異なる。
【００５３】
そして、ステップＳ４において、本システム利用者が２次元コードシンボルを介して伝達しようとする情報である原データの文字列を取得する。この原データとしては、例えばＵＲＬやメールアドレス等のネットワークアドレス情報や、種々の管理情報、識別情報、暗号化情報等が入力される。すると、ステップＳ６において、取得した原データの文字列を２次元コードのフォーマット情報に基づいて変換し、原データのビット列を生成する。そして、原データのビット列の最後に原データの終端を示すエンドパターンのビット列を挿入する。このエンドパターンは、２次元コードを読み取った場合に、エンドパターン以降の符号化パターンについては情報として出力する必要がないことを示すものである。
【００５４】
そして、図２のステップＳ１０において、エンドパターンを含む原データのビット列を２次元コードのフォーマット情報に基づいて８ビットコード語（データコード語）に分割する。すると、ステップＳ１２において、取得したサイズ情報、誤り訂正レベル情報に基づき、当該サイズ、誤り訂正レベルが要求するデータコード語数を満たすか否かを判断する。
【００５５】
ここで、要求するデータコード語数を満たさないと判断すると（ステップＳ１２のＮ）、即ち２次元コードのサイズに対して原データのデータ量が少ないと、ステップＳ１４において、データコード語列の後に埋め草コード語を付加する。この埋め草コード語とは、２次元コードのサイズに対して原データのデータ量が少ない場合に、原データを示す符号化パターン以降の符号化領域１６が例えば空白（明モジュール或いは暗モジュールのみ）となると、２次元コードの読み取りに支障がある場合があることを考慮して付加されるものである。本実施の形態では、２次元コードのフォーマットに基づいて、データが空であることを示す所定の符号化パターンが繰返し付加される。
【００５６】
一方、要求するデータコード語数を満たすと判断すると（ステップＳ１２のＹ）、埋め草コード語は付加せずに、ステップＳ１６において、データコード語列を誤り訂正用のブロック数に分割し、ステップＳ１８において、各ブロックに対して誤り訂正コード語を生成する。この誤り訂正コード語とは、２次元コードの読み取り誤りを訂正するための誤り訂正アルゴリズムに用いられる情報の符号化パターンを生成するための所定のビット列単位である。そして、ステップＳ２０において、データコード語列の後に誤り訂正コード語を付加する。
【００５７】
そして、ステップＳ２２において、２次元コードのフォーマット情報に従って各ブロックのデータコード語・誤り訂正コード語をインターリーブにし、必要に応じて残余ビットを付加し、ステップＳ２４において、２次元コードのフォーマット情報に基づいてマトリックスに、位置検出パターン１２、位置合せパターン１３、タイミングパターン１４とともにコード語列に対応させた暗（黒）モジュールと明（白）モジュールとを配置する。
【００５８】
そして、ステップＳ２６において、シンボルの符号化領域１６にマスク処理パターンを適用する。このマスク処理は、ステップＳ２４において符号化領域１６に配置された暗（黒）モジュールと明（白）モジュールとが、バランスよく配置されるようにするための処理である。そして、ステップＳ２８において、ステップＳ２で取得した型番情報の符号化パターンを型番領域１８に配置し、形式情報の符号化パターンを形式領域２０に配置し、シンボルを完成する。
【００５９】
図４に、このようにして生成された２次元コードシンボルの一例を示す。本実施の形態では、各コード語列に対応させた暗（黒）モジュールと明（白）モジュールの配置は、図４に示すシンボル１０の右下隅から開始し、上方向、下方向を交互に走査し、右から左へ配置する。ここで、各コード語列は、原データとそのエンドパターンを示すデータコード語、埋め草コード語、誤り訂正コード語の順に配列されている。従って、シンボル１０の符号化領域１６には、図４に示すように、原データの符号化パターンが配置された原データ領域３０と、埋め草データの符号化パターンが配置された不使用データ領域３２と、誤り訂正コードの符号化パターンが配置された誤り訂正コード領域３４とが形成される。そして２次元コードの読取装置により、２次元コードを構成する各モジュールが２値化データのいずれを示すものであるか、即ち、各モジュールが明（白）モジュールであるか暗（黒）モジュールであるかを読み取ることにより、２次元コードに化体されたビット列を読み出す。
【００６０】
３．特殊２次元コード生成処理
本実施の形態では不使用データ領域３２の符号化パターンは、データが空であることを示しているに過ぎない。従って不使用データ領域３２においては、自由にモジュールを配置しても原データを読み取らせることができる。そこで本実施形態では、不使用データ領域３２となるべき領域を、任意のデザインを施すことができるデザイン領域として利用するために、不使用データ領域３２となるべき領域に明（白）モジュール又は暗（黒）モジュールのいずれか一方のモジュールのみを配置して、無地の領域が構成された２次元コードを生成する。即ち、２次元コードの読み取り装置により２次元コードを読み取った場合に、デザイン領域が、明（白）モジュールに対応する「０」（第１の値）又は暗（黒）モジュールに対応する「１」（第２の値）のいずれか単一の値として読み取られる特殊２次元コードＳＣを生成する。
【００６１】
例えば図５（Ａ）に示す第１の特殊２次元コードＳＣＷの例では、原データ領域３０に続く不使用データ領域３２となるべき領域に、埋め草データの符号化パターンに代えて明（白）モジュールのみが配置され、階調値がＲ，Ｇ，Ｂ＝２５５，２５５，２５５＝白のデザイン領域３３が構成されている。一方、図５（Ｂ）に示す第２の特殊２次元コードＳＣＢの例では、原データ領域３０に続く不使用データ領域３２となるべき領域に、埋め草データの符号化パターンに代えて暗（黒）モジュールのみが配置され、階調値がＲ，Ｇ，Ｂ＝０，０，０＝黒のデザイン領域３３が構成されている。
【００６２】
ここでかかる特殊２次元コードＳＣを生成するためには、デザイン領域３３に単一の値として読み取られるモジュールを配置させるビット列を、原データのビット列（エンドパターンのビット列）の後に接続し、２次元コードのフォーマット情報に基づいて２次元コードを生成すればよい。しかし、本実施の形態では、図２のステップＳ２６のように、２次元コードを生成する際にマスクパターンのビット列とコード語モジュールパターンのビット列とでＸＯＲ演算による変換を行う。従って原データのビット列（エンドパターンのビット列）の後に接続するビット列を、例えば「００００・・・」や「１１１１・・・」などのように単一の値から構成されたビット列としても、そのままではマスクパターンとのＸＯＲ演算により単一の値から構成されないビット列に変換されてしまうため、特殊２次元コードＳＣを生成することはできない。
【００６３】
そこで本実施の形態では、２次元コードを生成する際にマスクパターンとのＸＯＲ演算を行うと単一の値から構成されたビット列に戻るように、単一の値から構成されたビット列をデザイン領域３３に対応させて予め逆変換しておく。即ち本実施の形態では、図２のステップＳ２６でマスクパターンが適用される前に、単一の値から構成されたビット列とマスクパターンのビット列とで予めＸＯＲ演算による変換を行う。
【００６４】
図６に、逆変換処理の流れの一例を示す。まず、図３のステップＳ８までにおいて、サイズ情報・誤り訂正レベル情報・原データを取得して（ステップＳ２、ステップＳ４）、２次元コードのフォーマット情報に基づいて原データのビット列を生成すると（ステップＳ６、ステップＳ８）、図６のステップＳ４０において、サイズ情報、誤り訂正レベル情報、原データのビット列に基づき、デザイン領域３３を特定する。本実施の形態では図４に示すように、原データ領域３０がサイズ情報と原データのデータ量に応じて定まり、誤り訂正データ領域３４がサイズ情報に応じて定まる。よって、サイズ情報と原データのビット列に基づいて原データ領域３０を特定し、サイズ情報に基づいて誤り訂正データ領域３４を特定し、サイズ情報と原データ領域３０と誤り訂正データ領域３４とに基づいて、デザイン領域３３を特定することができる。
【００６５】
するとステップＳ４２において、例えば「００００・・・」や「１１１１・・・」などのように単一の値から構成されたビット列（２次元コードにおいて単一の値として読み取られる領域を構成するビット列）をデザイン領域３３に対応付ける。具体的には単一の値から構成されたビット列の各ビットを、デザイン領域３３の各モジュールの位置（モジュール番号）と対応付ける。そして、ステップＳ４４において、デザイン領域３３に対応付けられた単一の値から構成されたビット列とマスクパターンのビット列とでＸＯＲ演算による変換を行う。
【００６６】
図７は、デザイン領域３３に対応付けて明（白）モジュールに対応する「０」が配列された単一パターン４０（単一の値から構成されたビット列のモジュールパターン）と、マスクパターン４２とでＸＯＲ演算による変換を行って得られる逆変換モジュールパターン４４の例である。図７に示すように、本実施の形態では、単一パターン４０とマスクパターン４２とで、対応するモジュールが同種のモジュールである場合には当該モジュールを暗（黒）モジュールとし（０＋０＝１、１＋１＝１）、異種のモジュールである場合には当該モジュールを明（白）モジュールとする（０＋１＝０、１＋０＝０）。
【００６７】
従って、ＸＯＲ演算による変換を行って得られる逆変換モジュールパターン４４は単一の値として読み取られる領域を構成しないものとなるが、２次元コードを生成する際に再びマスクパターン４２とのＸＯＲ演算を行うと単一パターン４０に戻るものである。こうして本実施形態では、デザイン領域３３に対応する単一パターン４０のビット列をマスクパターン４２のビット列で逆変換した逆変換ビット列を生成する。なお、マスクパターン４２の４隅などのグレーの部分、即ち生成される２次元コードの位置検出パターン１２と位置合せパターン１３とタイミングパターン１４とに対応する機能領域４６には、マスク処理を適用しないようになっている。
【００６８】
そして本実施形態では、このようにして生成した逆変換ビット列を用いて、通常の２次元コードの生成手順に従って２次元コードを生成する。詳細には、図２のステップＳ１０以降において、エンドパターンのビット列を含む原データのビット列と、単一パターン４０の逆変換ビット列とをデータコード語に分割し、ステップＳ１２において、得られたデータコード語列がデータコード語数を満たすか否かを判断する。
【００６９】
ここで、単一パターン４０の逆変換ビット列は、デザイン領域３２のモジュール全てを含んでいる。よって、原データのビット列と逆変換ビット列とからなるデータコード語列は、ステップＳ１２において、データコード語数を満たすと判断される（ステップＳ１２のＹ）。従って、ステップＳ１４で埋め草コード語は付加されず、そのままステップＳ１６〜ステップＳ２４までの２次元コードのフォーマットに基づく処理が行われる。すると、図８の左側のモジュールパターン５２のように、位置検出パターン１２等が配置され、原データのビット列のモジュールパターン４８と、逆変換ビット列のモジュールパターン４４と、それらに対応する誤り訂正コードパターン５０とを含むマスク前パターン５２が生成される。
【００７０】
そして、ステップＳ２６において、マスク前パターン５２にマスクパターン４２を適用すると、逆変換モジュールパターン４４のビット列が変換されて、元の単一パターン４０のビット列に戻る。即ち、図８に示すように、マスク前パターン５２と、マスクパターン４２とでＸＯＲ演算による変換を行うことにより、明（白）モジュールのみの単一パターン４０からデザイン領域３２が構成された特殊２次元コードＳＣＷを生成することができる。
【００７１】
なお図５（Ｂ）に示すような、暗（黒）モジュールのみの単一パターンからデザイン領域３２が構成された特殊２次元コードＳＣＢを生成するためには、図７において明（白）モジュールに対応する「０」がデザイン領域３３に対応付けて配列された単一パターン４０に代えて、暗（黒）モジュールに対応する「１」がデザイン領域３３に対応付けて配列された単一パターンを用いて同様の処理を行えばよい。
【００７２】
こうして、本実施の形態によれば、逆変換モジュールパターン４４を生成しておくことにより、その後は通常の２次元コードの生成手順に従って、デザイン領域３３に単一パターン４０が構成された特殊２次元コードＳＣ（変換後ビット列）を生成することができる。そして、特殊２次元コードＳＣのうち、原データ領域３０には原データのモジュールパターン４８が変換された変換後の原データのモジュールパターン５６が配置されているので、２次元コードの読取装置がこの特殊２次元コードＳＣを読み取ると、本システム利用者が２次元コードシンボルを介して伝達しようとする情報である原データを読み取らせることができる。
【００７３】
また、図８に示すように、左側のマスク前パターン５２の誤り訂正データ領域３４には、原データのモジュールパターン４８と逆変換モジュールパターン４４とに対応する誤り訂正コードパターン５０が配置され、右側の特殊２次元コードＳＣＷの、誤り訂正データ領域３４には、かかる誤り訂正コードパターン５０が変換された変換後の誤り訂正コードパターン５８が配置されているので、原データのモジュールパターン５６と単一パターン４０の読み取り誤りを訂正することができる。なお本実施の形態では、２値化デザインパターン４０は原データのモジュールパターンのエンドパターンの後に付加されているので、デザイン領域３３の単一パターン４０は読取装置に読み取られてもデータは示さない。
【００７４】
また、図８に示すように、特殊２次元コードＳＣＷの中央部には、３つの位置合せパターン１３が配置された機能領域４６がデザイン領域３３に囲まれるようにして存在するが、かかる機能領域４６はデザイン領域３３以外の領域であって、単一のモジュールから構成されるデザイン領域３３には含まれない。ここでこの機能領域４６は、２次元コードのサイズに応じて配置が異なり、２次元コードのサイズによってはデザイン領域３３に対応する領域には機能領域４６が配置されない場合もある。また機能領域４６は、特殊２次元コードＳＣを生成した後に削除することもでき、この場合には機能領域４６であった領域をデザイン領域３３とすることができる。
【００７５】
また、原データのモジュールパターンの後には、エンドパターンのみならず、原データのビット列とデザイン領域３３のビット列とを識別するための識別子を挿入するようにしてもよい。例えば、原データのビット列の最後に分割パターンを挿入するようにしてもよい。この分割パターンは、例えば改行を示すビット列としてもよいし、スペースを示すビット列としてもよい。これによりデザイン領域３３のビット列と原データのビット列とを区別することができる。
【００７６】
また、本実施の形態では、２次元コードを生成する際のマスクパターンによる変換処理を考慮して逆変換を行う例を挙げて説明したが、２次元コードを生成する際に単一パターン４０のビット列に対して他の変換処理が行われる場合には、その変換処理を行うと単一パターン４０のビット列に戻るように、単一パターン４０のビット列を予め逆変換しておく。ここで、逆変換とは、２次元コードを生成する際の変換処理により単一パターン４０のビット列に戻るようなビット列に、単一パターン４０のビット列を変換する処理をいう。例えば本実施の形態では、逆変換処理と、２次元コードを生成する際の変換処理とが、ともにＸＯＲ演算であって同一の変換処理となるものであるが、かかる場合も逆変換の概念に含まれる。
【００７７】
また、図２のステップＳ２６のマスク処理において、複数種類のマスクパターンが適用され、所定の評価関数に基づいて最もバランスよくモジュールが配置されるマスクパターンが選択される場合には、図３のステップＳ２において、マスク処理で適用させるマスクパターンを指定するマスクパターン情報を取得し、当該マスクパターンで図６のステップＳ４４の逆変換処理と、図２のステップＳ２６の変換処理とを行うようにしてもよい。
【００７８】
４．デザインデータ合成処理
そして本実施形態では、上述のようにして生成した特殊２次元コードＳＣと所与のデザインデータとを合成し、デザイン領域３３に所与のデザインが形成されたデザイン２次元コードＤＣを生成する。ここで本実施形態では所与のデザインデータとは、Ｒ・Ｇ・Ｂの各色成分の階調値（色値）が０〜２５５までとり得るいわゆるフルカラーの画像データとすることができる。そしてこのデザインデータは、システム利用者がスキャナ等のハードウェアで取り込んだものや情報記憶媒体に記憶されたもの、画像作成ソフトで作成したものなどとすることができる。
【００７９】
しかし特殊２次元コードＳＣのデザイン領域３３とは、単一の値として読み取られなければならない領域であるので、デザイン領域３３に形成されたデザインの階調値が他の値として読み取られる階調値である場合や、いずれの値であるか明確でない中間的な階調値である場合などでは読み取りエラーが発生してしまい、デザイン２次元コードＤＣからデータを読み取ることができない。そこで本実施形態では、特殊２次元コードＳＣと所与のデザインデータとを合成した場合に、デザイン領域３３に対応する所与のデザインデータの階調値が単一の値として読み取られる階調値となるように、特殊２次元コードＳＣと所与のデザインデータとを合成する。
【００８０】
具体的には本実施形態では、モジュールの階調値がＲ，Ｇ，Ｂ＝０，０，０である場合には、２次元コードの読取装置は当該モジュールを暗（黒）モジュールと判断し、当該モジュールが示す値を「１」として読み取る。また、モジュールの階調値がＲ，Ｇ，Ｂ＝２５５，２５５，２５５である場合には、２次元コードの読取装置は当該モジュールを明（白）モジュールと判断し、当該モジュールが示す値を「０」として読み取る。ここで本実施形態の２次元コードの読取装置は、各モジュールの階調値が厳密に白又は黒に対応する階調値でなくとも、各色成分の階調値の平均値が０から１００程度までの値（グレイスケールにおいて暗めのグレーを示す値）であれば当該モジュールが暗（黒）モジュールであると判断し、１５０程度から２５５までの値（グレイスケールにおいて明るめのグレーを示す値）であれば当該モジュールが明（白）モジュールであると判断することができる。
【００８１】
そこで本実施形態では、デザイン領域３３が暗（黒）モジュールにより構成されている特殊２次元コードＳＣＢの場合には、各色成分の階調値の平均値が確実に暗（黒）モジュールとして読み取られる０〜６３の範囲の階調値から構成されたデザインがデザイン領域３３に形成されるように、特殊２次元コードＳＣＢと所与のデザインデータとを合成する。一方、デザイン領域３３が明（白）モジュールにより構成されている特殊２次元コードＳＣＷの場合には、各色成分の階調値の平均値が確実に明（白）モジュールとして読み取られる１９１〜２５５の範囲の階調値から構成されたデザインがデザイン領域３３に形成されるように、特殊２次元コードＳＣＷと所与のデザインデータとを合成する。このように本実施形態では、デザイン領域３３に、各色成分の階調値の平均値が０〜６３までの階調値、或いは１９１〜２５５までの階調値によりデザインを形成させることにより、２次元コードの読み取りに影響を与えないようにすることができる。
【００８２】
４−１．階調値を加算合成する場合
図９、図１０は、特殊２次元コードＳＣの階調値とデザインデータの階調値とに基づいて階調値を加算合成することにより、特殊２次元コードＳＣと所与のデザインデータとを合成する一例を説明するための図である。
【００８３】
４−１−１．デザイン領域３３が白の場合
図９は、デザイン領域３３が明（白）モジュールにより構成されている特殊２次元コードＳＣＷの階調値と、白色の背景領域ＢＡと赤色のハート形状のハート領域ＨＡとから構成されたデザインデータＤＤの階調値とに基づいて階調値を加算合成する例である。図９の例では、特殊２次元コードＳＣＷのデザイン領域３３の階調値が、色値のとり得る最大値であるＲ，Ｇ，Ｂ＝２５５，２５５，２５５＝白であるので、特殊２次元コードＳＣＷの階調値とデザインデータＤＤの階調値とをそのまま加算合成したとしてもデザイン領域３３の階調値は最大値を超えてしまう。すると本実施形態では、２５５を超える階調値は切り捨てられてしまうので合成結果の階調値は白のままであり、赤色のハート領域ＨＡの階調値がデザイン領域３３の階調値に反映されない。
【００８４】
そこで本実施形態では図９に示すように、まず特殊２次元コードＳＣＷの各色成分の階調値に０．７５という係数を掛けて、特殊２次元コードＳＣＷの各色成分の階調値を全体的に小さくする変換を行い、デザインデータＤＤの階調値を加算合成する余地を空ける。しかし特殊２次元コードＳＣＷの階調値は、明（白）モジュールについては各色成分の階調値の平均値が確実に明（白）モジュールとして読み取られる範囲（第１の範囲）である１９１〜２５５の範囲内となるように変換することが好ましい。そこで本実施形態では、変換後の明（白）モジュールの各色成分の階調値の平均値が１９１〜２５５の範囲内であって、デザインデータＤＤの階調値を合成した場合にデザインデータＤＤの階調値を反映させるために特殊２次元コードＳＣＷの階調値がなるべく小さくなるような係数としている。即ち変換後の特殊２次元コードＳＣＷ´の明（白）モジュールの階調値を（２５５，２５５，２５５）×０．７５＝（１９１，１９１，１９１＝明るいグレー）とし、変換後の特殊２次元コードＳＣＷ´が変換前の特殊２次元コードＳＣＷと同様の値として読み取られるようにしている。なお本実施形態では、変換後の階調値は小数点以下を切り捨てている。
【００８５】
これにより、変換後の特殊２次元コードＳＣＷ´に加算合成されるデザインデータＤＤがいかなる階調値のものであったとしても、明（白）モジュールについての合成結果の各色成分の階調値が１９１を下回ることはないので、確実に明（白）モジュールとして読み取られる。なお暗（黒）モジュールについては各色成分の階調値が０であるので、係数を掛けた後も０のままで変化しない。
【００８６】
一方、デザインデータＤＤについては、変換後の特殊２次元コードＳＣＷ´の階調値とデザインデータＤＤの階調値とに基づいて階調値を合成した場合に、デザイン領域３３に対応する合成結果の各色成分の階調値が２５５（最大値）を超えないようにデザインデータＤＤの階調値を変換する。これにより、最大値を超えた階調値が切り捨てられることなく、合成結果の各色成分の階調値にデザインデータＤＤの各色成分の階調値を可及的に反映させることができる。本実施形態では、変換後の特殊２次元コードＳＣＷ´の各色成分の階調値の最大値が、明（白）モジュールに対応する１９１であるので、デザインデータＤＤの各色成分の階調値が、２５５−１９１＝６４以下となるように、デザインデータＤＤの階調値に０．２５という係数を掛けてデザインデータＤＤの階調値を全体的に小さくする変換を行う。
【００８７】
即ち変換後の特殊２次元コードＳＣＷ´の各色成分の階調値が取り得る最大値と、変換後のデザインデータＤＤ´の各色成分の階調値が取り得る最大値とを加算合成しても２５５を超えないような係数を定めて変換処理を行う。具体的には図９の例では、デザインデータＤＤの階調値のうち白色の背景領域ＢＡの階調値（Ｒ，Ｇ，Ｂ＝２５５，２５５，２５５＝白）を（２５５，２５５，２５５）×０．２５＝（６３，６３，６３＝暗いグレー）として暗いグレーの背景領域ＢＡ´に変換し、赤色のハート領域ＨＡの階調値（Ｒ，Ｇ，Ｂ＝２５５，０，０＝赤）を（２５５，０，０）×０．２５＝（６３，０，０＝暗い赤）として暗い赤色のハート領域ＨＡ´に変換し、デザインデータＤＤをデザインデータＤＤ´に変換している。
【００８８】
そして本実施形態では図９に示すように、変換後の特殊２次元コードＳＣＷ´の階調値と、変換後のデザインデータＤＤ´の階調値とを加算合成し、デザインデータＤＤのデザインがデザイン領域３３に形成されたデザイン２次元コードＤＣＷを生成する。このデザイン２次元コードＤＣＷでは、そのデザイン領域３３には、変換後の特殊２次元コードＳＣＷ´のデザイン領域３３に対応する階調値（Ｒ，Ｇ，Ｂ＝１９１，１９１，１９１＝明るいグレー）と、変換後のデザインデータＤＤ´のうちハート領域ＨＡ´に対応する階調値（Ｒ，Ｇ，Ｂ＝６３，０，０＝暗い赤）とが加算合成され、Ｒ，Ｇ，Ｂ＝２５５，１９１，１９１＝明るい赤乃至ピンク色の階調値から構成されたハート領域ＨＡＷが形成されている。またデザイン領域３３のその他の領域には、変換後の特殊２次元コードＳＣＷ´のデザイン領域３３に対応する階調値（Ｒ，Ｇ，Ｂ＝１９１，１９１，１９１＝明るいグレー）と、変換後のデザインデータＤＤ´のうち背景領域ＢＡ´に対応する階調値（Ｒ，Ｇ，Ｂ＝６３，６３，６３＝暗いグレー）とが加算合成され、Ｒ，Ｇ，Ｂ＝２５５，２５５，２５５＝白の階調値から構成された背景領域ＢＡＷが形成されている。
【００８９】
こうして本実施形態では、確実に明（白）モジュールとして読み取られる範囲である階調値から構成されたデザインがデザイン領域３３に形成されたデザイン２次元コードＤＣＷを生成することができる。
【００９０】
そしてこのデザイン２次元コードＤＣＷのデザイン領域３３以外の領域（原データ領域３０、誤り訂正データ領域３４、機能領域４６）については、明（白）モジュールは、変換後の特殊２次元コードＳＣＷ´の明（白）モジュールに対応する階調値（Ｒ，Ｇ，Ｂ＝１９１，１９１，１９１＝明るいグレー）と、変換後のデザインデータＤＤ´のうちハート形状以外の下地に対応する階調値（Ｒ，Ｇ，Ｂ＝６３，６３，６３＝暗いグレー）とが加算合成され、Ｒ，Ｇ，Ｂ＝２５５，２５５，２５５＝白となっており、確実に明（白）モジュールとして読み取られる範囲の階調値となっている。一方、暗（黒）モジュールは、変換後の特殊２次元コードＳＣＷ´の暗（黒）モジュールに対応する階調値（Ｒ，Ｇ，Ｂ＝０，０，０＝黒）と、変換後のデザインデータＤＤ´のうちハート形状以外の下地に対応する階調値（Ｒ，Ｇ，Ｂ＝６３，６３，６３＝暗いグレー）とが加算合成され、６３，６３，６３＝暗いグレーとなっており、確実に暗（黒）モジュールとして読み取られる範囲の階調値となっている。
【００９１】
こうして本実施形態によれば、特殊２次元コードＳＣＷの階調値とデザインデータＤＤの階調値とに基づいて階調値を加算合成しても、確実に読み取ることができるデザイン２次元コードＤＣＷを生成することができる。
【００９２】
４−１−２．デザイン領域３３が黒の場合
図１０は、デザイン領域３３が暗（黒）モジュールにより構成されている特殊２次元コードＳＣＢの階調値と、白色の背景領域ＢＡと赤色のハート形状のハート領域ＨＡとから構成されたデザインデータＤＤの階調値とに基づいて階調値を加算合成する例である。図１０の例では図９の例と異なり、特殊２次元コードＳＣＢのデザイン領域３３の階調値が階調値のとり得る最小値であるＲ，Ｇ，Ｂ＝０，０，０＝黒であるので、特殊２次元コードＳＣＢの階調値とデザインデータＤＤの階調値とをそのまま加算合成しても階調値がとり得る最大値の２５５を超えることはなく、デザインデータＤＤの階調値を反映させることができる。従って図１０の例では図９の例と異なり、特殊２次元コードＳＣＢの階調値には変換を行う必要がない。
【００９３】
一方、デザインデータＤＤについては、特殊２次元コードＳＣＢの階調値とデザインデータＤＤの階調値とに基づいて階調値を合成した場合に、デザイン領域３３に対応する合成結果の各色成分の階調値の平均値が、確実に暗（黒）モジュールとして読み取られる範囲（第２の範囲）である０〜６３の範囲内の階調値となるように変換する必要がある。即ち、デザインデータＤＤの各色成分の階調値の平均値が、確実に暗（黒）モジュールとして読み取られる範囲（第２の範囲）である０〜６３の範囲内の階調値となるように変換すればよい。そこで本実施形態では、デザインデータＤＤの各色成分の階調値に０．２５という係数を掛けてデザインデータＤＤの各色成分の階調値を全体的に小さくする変換を行う。即ちデザインデータＤＤの階調値のうち白色の背景領域ＢＡの階調値（Ｒ，Ｇ，Ｂ＝２５５，２５５，２５５＝白）を（２５５，２５５，２５５）×０．２５＝（６３，６３，６３＝暗いグレー）として暗いグレーの背景領域ＢＡ´に変換し、赤色のハート領域ＨＡの階調値（Ｒ，Ｇ，Ｂ＝２５５，０，０＝赤）を（２５５，０，０）×０．２５＝（６３，０，０＝暗い赤）として暗い赤色のハート領域ＨＡ´に変換し、デザインデータＤＤをデザインデータＤＤ´に変換している。
【００９４】
そして本実施形態では図１０に示すように、特殊２次元コードＳＣＢの階調値と、変換後のデザインデータＤＤ´の階調値とを加算合成し、デザインデータＤＤのデザインがデザイン領域３３に形成されたデザイン２次元コードＤＣＢを生成する。図１０のデザイン２次元コードＤＣＢでは、そのデザイン領域３３には、特殊２次元コードＳＣＢのデザイン領域３３に対応する階調値（Ｒ，Ｇ，Ｂ＝０，０，０＝黒）と、変換後のデザインデータＤＤ´のうちハート領域ＨＡ´の階調値（Ｒ，Ｇ，Ｂ＝６３，０，０＝暗い赤）とが加算合成され、Ｒ，Ｇ，Ｂ＝６３，０，０＝暗い赤の階調値から構成されたハート領域ＨＡＢが形成されている。またデザイン領域３３のその他の領域には、特殊２次元コードＳＣＢのデザイン領域３３に対応する階調値（Ｒ，Ｇ，Ｂ＝０，０，０＝黒）と、変換後のデザインデータＤＤ´のうち背景領域ＢＡ´の階調値（Ｒ，Ｇ，Ｂ＝６３，６３，６３＝暗いグレー）とが加算合成され、Ｒ，Ｇ，Ｂ＝６３，６３，６３＝暗いグレーの階調値から構成された背景領域ＢＡＢが形成されている。
【００９５】
こうして本実施形態では、確実に暗（黒）モジュールとして読み取られる範囲である階調値から構成されたデザインがデザイン領域３３に形成されたデザイン２次元コードＤＣＢを生成することができる。
【００９６】
そしてこのデザイン２次元コードＤＣＢのデザイン領域３３以外の領域（原データ領域３０、誤り訂正データ領域３４、機能領域４６）では、明（白）モジュールは、特殊２次元コードＳＣＢの明（白）モジュールに対応する階調値（Ｒ，Ｇ，Ｂ＝２５５，２５５，２５５＝白）と、変換後のデザインデータＤＤ´のうち背景領域ＢＡ´の階調値（Ｒ，Ｇ，Ｂ＝６３，６３，６３＝暗いグレー）とが加算合成され、Ｒ，Ｇ，Ｂ＝２５５，２５５，２５５＝白となっており、確実に明（白）モジュールとして読み取られる範囲の階調値となっている。一方、暗（黒）モジュールは、特殊２次元コードＳＣＢの暗（黒）モジュールに対応する階調値（Ｒ，Ｇ，Ｂ＝０，０，０＝黒）と、変換後のデザインデータＤＤ´のうち背景領域ＢＡ´の階調値（Ｒ，Ｇ，Ｂ＝６３，６３，６３＝暗いグレー）とが加算合成され、６３，６３，６３＝暗いグレーとなっており、確実に暗（黒）モジュールとして読み取られる範囲の階調値となっている。
【００９７】
こうして本実施形態によれば、特殊２次元コードＳＣＢの階調値とデザインデータＤＤの階調値とに基づいて階調値を加算合成しても、確実に読み取ることができるデザイン２次元コードＤＣＢを生成することができる。
【００９８】
４−１−３．変形例
なお、デザインデータＤＤに対する変換を行わずに、変換後の特殊２次元コードＳＣＷ´の階調値と、デザインデータＤＤの階調値とを加算合成するようにしてもよい。この場合、合成結果の各色成分の階調値のうち最大値（２５５）を超える値については切り捨てられ、本来のデザインデータＤＤの色分布が変化してしまう部分が発生するが、デザインデータＤＤの本来の階調値をある程度反映させることができる。なおこの場合でも、各色成分の階調値の平均値が大きなデザインデータＤＤ、即ち全体的に明るい色のデザインデータＤＤを選択して適用すれば、本来のデザインデータＤＤの階調値をそのまま反映させることができる。
【００９９】
また、上記係数は読み取りの正確性や、デザインデータＤＤを反映させる程度によって種々の態様で定めることができる。また、階調値の加算合成のみならず、減算合成など種々の合成手法を採用することができる。ここで他の合成手法を採用した場合では、他の合成手法による合成結果の階調値が、所望の単一の値として読み取られる階調値となるように階調値の変換を行ってから階調値の合成を行う。
【０１００】
また、デザインデータＤＤは任意のデザインのものとすることができ、上述の例のようにデザイン領域３３に赤色のハート領域ＨＡなどが納まるようなものでなくともよい。例えば２次元コードの領域全体にわたり赤色のハート領域ＨＡに対応する階調値が合成されるようにしてもよい。この場合には、デザイン領域３３以外の領域に配置されているモジュールについても、デザインデータＤＤの階調値が反映される。そしてかかる場合であっても、上述の合成処理によれば、明（白）モジュールは確実に明（白）モジュールとして読み取られる範囲の階調値とすることができ、暗（黒）モジュールは確実に暗（黒）モジュールとして読み取られる範囲の階調値とすることができ、確実に読み取ることができるデザイン２次元コードＤＣを生成することができる。このように本実施形態のデザイン２次元コードＤＣとは、デザイン領域３３にのみデザインデータＤＤの階調値が反映されるものに限られず、デザインデータＤＤの階調値が反映されてデザインが形成される領域はデザイン２次元コードＤＣの全体に及ぶものである。即ちデザイン領域３３とは、単一の値として読み取られる領域であるためデザインデータＤＤの階調値が反映されやすい領域であるが、本実施形態はデザイン領域３３にのみデザインが形成されるものに限定されない。
【０１０１】
また、特殊２次元コードＳＣとデザインデータＤＤとを、デザイン領域３３についてのみ合成するようにしてもよい。例えば図１１に示すように、特殊２次元コードＳＣＷのデザイン領域３３に対応する階調値のみに０．７５という係数を掛けて特殊２次元コードＳＣＷのデザイン領域３３に対応する階調値のみを小さくする変換を行い、デザインデータＤＤの階調値を加算合成する余地を空けた変換後の特殊２次元コードＳＣＷ´を生成する。そして、デザインデータＤＤについてはデザイン領域３３に対応する領域のみ抽出し、デザイン領域３３に対応するデザインデータＤＤ´の階調値に０．２５という係数を掛け、変換後の特殊２次元コードＳＣＷ´の階調値と、デザイン領域３３に対応する変換後のデザインデータＤＤ´の階調値とを加算合成するようにしてもよい。即ち少なくともデザイン領域３３に対応する領域について、階調値の変換処理や合成処理を行なえばよい。なおこの場合には、デザイン領域３３以外の領域（原データ領域３０、誤り訂正データ領域３４、機能領域４６）には、デザインデータＤＤの階調値は反映されない。
【０１０２】
また、デザイン領域３３が暗（黒）モジュールにより構成されている特殊２次元コードＳＣＢの場合（上記４−１−２）であっても、図１２に示すように、特殊２次元コードＳＣＢの階調値に０．７５という係数を掛けるなどの変換を行うようにしてもよい。即ち特殊２次元コードＳＣＢの階調値のうち原データ領域３０などの明（白）モジュール（第１の値として読み取られるべき領域）に対応する階調値（２５５）を、確実に明（白）モジュールとして読み取られる範囲（第１の範囲）である１９１〜２５５の範囲内で、全体的に小さくする変換を行い、デザインデータＤＤの階調値を加算合成する余地を空ける。そして変換後の特殊２次元コードＳＣＢ´の階調値と変換後のデザインデータＤＤ´の階調値とに基づいて階調値を合成する。これにより、デザイン領域３３以外の領域（原データ領域３０、誤り訂正データ領域３４、機能領域４６）に配置されている明（白）モジュールに、デザインデータＤＤの階調値を反映させたデザイン２次元コードＤＣＢを生成することができる。
【０１０３】
４−２．階調値を上書き合成する場合
また、特殊２次元コードＳＣの階調値とデザインデータＤＤの階調値とに基づいて階調値を加算合成等するのではなく、特殊２次元コードＳＣの一部の領域にデザインデータＤＤの一部の領域についての階調値を上書きすることにより、特殊２次元コードＳＣとデザインデータＤＤとを合成してもよい。
【０１０４】
４−２−１．デザイン領域３３が白の場合
図１３は、デザイン領域３３が明（白）モジュールにより構成されている特殊２次元コードＳＣＷのデザイン領域３３に、白色の背景領域ＢＡと赤色のハート形状のハート領域ＨＡとから構成されたデザインデータＤＤのうちデザイン領域３３に対応する階調値を上書きする例である。図１３の例では、特殊２次元コードＳＣＷとデザインデータＤＤとを合成（上書き）する際には、デザインデータＤＤのデザイン領域３３に対応する階調値がそのまま反映されるので、合成（上書き）前にデザインデータＤＤのデザイン領域３３に対応する各色成分の階調値を、各色成分の階調値の平均値が確実に明（白）モジュールとして読み取られる範囲（第１の範囲）である１９１〜２５５の範囲内の階調値となるように変換する。
【０１０５】
具体的には本実施の形態では図１３に示すように、デザインデータＤＤのうちデザイン領域３３に対応する領域を抽出し、当該領域の階調値に０．２５をかけたデザインデータＤＤ´の階調値と、特殊２次元コードＳＣＷのデザイン領域３３に対応する階調値（白）に０．７５をかけたグレースケールデータＧＤの階調値とを加算合成する。そして図９の例と同様の理論で、デザインデータＤＤの階調値を可及的に反映しつつ確実に明（白）モジュールとして読み取られる、各色成分の階調値の平均値が１９１〜２５５の範囲内の階調値から構成されたデザインデータＤＤ´´を生成する。そして生成したデザインデータＤＤ´´の階調値を、特殊２次元コードＳＣＷのデザイン領域３３に上書きし、デザイン領域３３の階調値がデザインデータＤＤ´´の階調値とされたデザイン２次元コードＤＣＷを生成する。
【０１０６】
４−２−２．デザイン領域３３が黒の場合
図１４は、デザイン領域３３が暗（黒）モジュールにより構成されている特殊２次元コードＳＣＢのデザイン領域３３に、白色の背景領域ＢＡと赤色のハート形状のハート領域ＨＡとから構成されたデザインデータＤＤのうちデザイン領域３３に対応する階調値を上書きする例である。図１４の例では、特殊２次元コードＳＣＢとデザインデータＤＤとを合成（上書き）する前に、デザインデータＤＤのデザイン領域３３に対応する各色成分の階調値を、各色成分の階調値の平均値が確実に暗（黒）モジュールとして読み取られる範囲（第２の範囲）である０〜６３の範囲内の階調値となるように変換する。
【０１０７】
具体的には本実施の形態では図１４に示すように、デザインデータＤＤのうちデザイン領域３３に対応する領域を抽出し、当該領域の階調値に０．２５をかけて、デザインデータＤＤの階調値を可及的に反映しつつ、各色成分の階調値の平均値が確実に暗（黒）モジュールとして読み取られる０〜６３の範囲内の階調値から構成されたデザインデータＤＤ´を生成する。そして生成したデザインデータＤＤ´の階調値を、特殊２次元コードＳＣＢのデザイン領域３３に上書きし、デザイン領域３３の階調値がデザインデータＤＤ´の階調値とされたデザイン２次元コードＤＣＢを生成する。
【０１０８】
５．構成
図１５に本実施形態の２次元コード生成システムの機能ブロック図の例を示す。なお本実施形態の２次元コード生成システムは図１５の構成要素（各部）の一部を省略した構成としてもよい。
【０１０９】
入力部１６０は、生成する２次元コードのサイズ情報等の設定データ、生成した２次元コードから読み取られるべき原データ、生成した特殊２次元コードＳＣと合成するデザインデータＤＤなどを入力するためのものである。その機能は、例えばボタンやレバーの他、入力部と表示部の両方の機能を有するタッチパネル型表示部（パネルに画像が表示されると共に、指やペンで画面を触れたり押すことで情報を入力できる装置）により実現できる。また、スキャナやカメラ等の光学読み取り装置によりデザインデータを入力するようにしてもよい。
【０１１０】
記憶部１７０は、処理部１００などのワーク領域となるもので、その機能はＲＡＭなどのハードウェアにより実現できる。
【０１１１】
情報記憶媒体１８０（コンピュータにより読み取り可能な媒体）は、プログラムやデータなどを格納するものであり、その機能は、光ディスク（ＣＤ、ＤＶＤ）、光磁気ディスク（ＭＯ）、磁気ディスク、ハードディスク、磁気テープ、或いはメモリ（ＲＯＭ）などのハードウェアにより実現できる。処理部１００は、この情報記憶媒体１８０に格納されるプログラム（データ）に基づいて本実施形態の種々の処理を行う。即ち情報記憶媒体１８０には、本実施形態の各部としてコンピュータを機能させるためのプログラム（各部をコンピュータに実現させるためのプログラム）が記憶（記録、格納）される。
【０１１２】
表示部１９０は、本実施形態により生成された画像を出力するものであり、その機能はＣＲＴ、液晶ディスプレイ、プラズマディスプレイ、入力部と表示部の両方の機能を有するタッチパネル型表示部により実現できる。特に本実施形態では、特殊２次元コードＳＣとデザインデータＤＤとを合成する際に、特殊２次元コードＳＣの画像とデザインデータＤＤの画像とを表示する。そして本システムの利用者は、表示部１９０に表示される特殊２次元コードＳＣの画像とデザインデータＤＤの画像とを見ながら両者を合成させるために必要な種々の処理を行う。
【０１１３】
通信部１９６は、外部（例えばホストや他の端末）との間で通信を行うための各種の制御を行うものであり、その機能は、各種プロセッサ又は通信用ＡＳＩＣなどのハードウェアや、プログラムなどにより実現できる。
【０１１４】
なお本実施形態の各部としてコンピュータを機能させるためのプログラム（データ）は、ホスト（サーバー）が有する情報記憶媒体からネットワーク（広域ネットワーク、インターネット）及び通信部１９６を介して情報記憶媒体１８０（記憶部１７０）に配信するようにしてもよい。このようなホスト（サーバー）の情報記憶媒体の使用も本発明の範囲内に含まれる。
【０１１５】
処理部１００（プロセッサ）は、入力部１６０からの入力データやプログラムなどに基づいて、データ表示処理、データ加工処理、データ変換処理、２次元コード生成処理などの各種の処理を行う。この場合、処理部１００は、記憶部１７０内の主記憶部１７２をワーク領域として使用して、各種の処理を行う。この処理部１００の機能は、各種プロセッサ（ＣＰＵ、ＤＳＰ等）又はＡＳＩＣ（ゲートアレイ等）などのハードウェアや、プログラムにより実現できる。
【０１１６】
そして処理部１００は、データ取得部１１０、コードサイズ決定部１１２、デザイン領域特定部１１４、デザイン領域逆変換部１１８、２次元コードデータ生成部１２０、２次元コード生成部１２６、デザイン合成部１２８を含む。なお、処理部１００は、これらの各部（機能ブロック）を全て含む必要はなく、その一部を省略してもよい。
【０１１７】
データ取得部１１０は、入力部１６０への入力情報に基づき、シンボルの型番情報（サイズ情報）と形式情報（誤り訂正レベル情報）とを取得する。また、本システム利用者が２次元コードシンボルを介して伝達しようとする情報である原データ（ネットワークアドレス情報等）を、２次元コードのフォーマットに基づいてビットコード（ビット列）に変換する。
【０１１８】
また、データ取得部１１０は、特殊２次元コードＳＣと合成する所与のデザインデータＤＤを取得する。このデザインデータＤＤは複数の階調値から構成された任意の解像度のデータとすることができ、いわゆるフルカラーの画像データやグレイスケールの画像データなどとすることができる。
【０１１９】
また、コードサイズ決定部１１２を採用し、取得したデザインデータＤＤのサイズ（領域、データ量）に応じて２次元コードのサイズを決定するようにしてもよい。例えば、取得したデザインデータＤＤの領域がデザイン領域３３内に納まるように２次元コードのサイズ情報を決定し、データ取得部１１０が当該サイズ情報を取得するようにしてもよい。この場合、デザイン領域３３のサイズなどに基づいて、デザインデータＤＤを配置可能なデザインデータ領域３３を確保できる２次元コードのサイズ情報を特定するようにしてもよい。
【０１２０】
デザイン領域特定部１１４は、２次元コードのサイズ情報と、原データを変換したビットコードとに基づいて、原データのデータ量に応じた２次元コードのデザイン領域３３を特定する。より詳細には、デザイン領域特定部１１４は、サイズ情報に応じて誤り訂正データ領域３４を特定し、原データに基づいて原データ領域３０を特定し、サイズ情報と誤り訂正データ領域３４と原データ領域３０とに基づいてデザインデータ領域３３を特定する。
【０１２１】
デザイン領域逆変換部１１８は、２次元コードにおいて単一の値として読み取られる領域を構成するビット列を、デザイン領域３３に対応させて２次元コードのフォーマット情報に基づいて逆変換した逆変換ビット列を求める。具体的には、図６及び図６の説明に示す各処理を行って、デザイン領域３３に対応する単一パターンのビット列を逆変換した逆変換ビット列を求める。
【０１２２】
２次元コードデータ生成部１２０は、原データのビット列と逆変換ビット列とを、２次元コードのフォーマット情報に基づいて変換した変換後ビット列を求める。具体的には、図２及び図２の説明に示す各処理を行って２次元コードを生成するための２次元コードデータを生成する。
【０１２３】
特に２次元コードデータ生成部１２０は、誤り訂正データ生成部１２２と位置合せパターン設定部１２４とを含む。この誤り訂正データ生成部１２２は、原データを示すビット列と逆変換ビット列とに基づいて、生成される２次元コードの読み取り誤りを訂正するための誤り訂正データを生成する。また、位置合せパターン設定部１２４は、２次元コードのサイズ情報やフォーマット情報に基づいて、２次元コードの読み取りに用いられる位置合せパターン１３などの機能パターンを配置する。
【０１２４】
また、位置合せパターン設定部１２４は、位置合せパターン１３の省略処理を受け付けるようにしてもよい。例えば、２次元コードを生成する前に設定された情報に基づいて、位置合せパターン１３を配置しないようにしてもよい。また、所定のアルゴリズムにより、例えばデザイン領域３３に対応する領域に含まれる位置合せパターン１３を配置しないようにしてもよい。また、位置合せパターン１３を配置して２次元コードシンボル１０を完成させてから、入力情報に基づいて位置合せパターン１３を削除するようにしてもよい。
【０１２５】
２次元コード生成部１２６は、変換後ビット列（２次元コードデータ）に基づいて、デザイン領域３３が単一の値として読み取られる特殊２次元コードＳＣを生成する。具体的には、２次元コードのサイズ情報や２次元コードのフォーマット情報などに基づいて、変換後ビット列の各ビットに対応する領域に、各ビットの値が「０」の場合には明（白）モジュール（階調値Ｒ，Ｇ，Ｂ＝２５５，２５５，２５５のモジュール）を配置し、「１」の場合には暗（黒）モジュール（階調値Ｒ，Ｇ，Ｂ＝０，０，０のモジュール）を配置する処理を行う。これにより本実施形態では、デザイン領域３３に単一の値として読み取られるモジュール群を配置することができる。
【０１２６】
デザイン合成部１２８は、特殊２次元コードＳＣと所与のデザインデータＤＤとを合成した場合に、デザイン領域３３に対応する所与のデザインデータＤＤの階調値が単一の値として読み取られる階調値となるように、特殊２次元コードＳＣと所与のデザインデータＤＤとを合成する。具体的にはデザイン合成部１２８は、特殊２次元コードＳＣの画像と所与のデザインデータＤＤの画像について、各画像の画素ごとのＲ，Ｇ，Ｂ各色成分の階調値を変換する処理を行う。この階調値の変換処理としては、階調値を所定の数値により加算、減算、乗算、除算などすることや、各画像の階調値や各画像の階調値に基づく階調値を互いに加算、減算、乗算、除算などすることが挙げられる。そしてデザイン合成部１２８は、デザイン領域３３に対応する合成結果の各色成分の階調値の平均値が、デザイン領域３３に配置されたモジュールの階調値として読み取られる範囲の階調値となるように、特殊２次元コードＳＣと所与のデザインデータＤＤとを合成する。
【０１２７】
またデザイン合成部１２８は、デザイン領域３３に対応するデザインデータＤＤの階調値が、単一の値として読み取られる範囲内の階調値でない場合に、デザイン領域３３に対応するデザインデータＤＤの階調値を単一の値として読み取られる階調値に変換するようにしてもよい。具体的にはデザイン合成部１２８は、単一の値が第１の値（白）である場合には、取得したデザインデータＤＤの画素ごとの各色成分の階調値の平均値が、確実に明（白）モジュールとして読み取られる範囲である１９１〜２５５までの値（第１の範囲の値）である場合は階調値の変換処理を行わず、読み誤りのおそれがある中間的な１２８〜１９０までの値（第３の範囲の値）である場合に階調値の変換処理を行う。また単一の値が第２の値（黒）である場合には、取得したデザインデータＤＤの画素ごとの各色成分の階調値の平均値が、確実に暗（黒）モジュールとして読み取られる範囲である０〜６３までの値（第２の範囲の値）である場合は階調値の変換処理を行わず、読み誤りのおそれがある中間的な６４〜１２７までの値（第４の範囲の値）である場合に階調値の変換処理を行う。
【０１２８】
６．２次元コードの利用
本実施の形態で生成されたデザインが形成されたデザイン２次元コードＤＣは、種々の印刷物に印刷してこれを利用することができる。また、テレビ放送やビデオ放映、インターネット、ゲーム機等、種々のメディアを介してモニタ等の表示部に画像表示させることができる。この場合には、本実施の形態で生成されたデザイン２次元コードＤＣの画像データを生成して、表示部に表示させればよい。
【０１２９】
特に、本実施の形態で生成されたデザイン２次元コードＤＣを画像表示させる場合には、デザインデータＤＤを動画とし、デザイン２次元コードＤＣを表示させている表示領域に動画を表示させるようにしてもよい。具体的には、特殊２次元コードＳＣの画像と、動画を構成する各表示フレームの画像とを、本実施形態の手法により合成して複数のデザイン２次元コードＤＣの画像を生成し、これらを連続的に表示させればよい。この場合には例えば、特殊２次元コードＳＣの画像と、動画を構成する各表示フレームの画像とを、予め合成して複数のデザイン２次元コードＤＣの画像を記憶部に記憶させておき、これを連続的に読み出して表示部に表示させるようにしてもよい。また、特殊２次元コードＳＣの画像と、動画を構成する各表示フレームの画像とを、表示フレームごとに合成しながら連続的に表示させるようにしてもよい。
【０１３０】
ここで本実施形態では、特殊２次元コードＳＣは変化しない画像（静止画）として表示させ続けるので、デザイン領域３３に動画を表示させつつも、デザイン２次元コードＤＣを２次元コードの読取装置に確実に読み取らせることができる。こうして本実施形態によれば、より人目を引き付けることができる２次元コードを提供することができる。
【０１３１】
また、本発明は、上記実施形態で説明したものに限らず、種々の変形実施が可能である。例えば、明細書又は図面中の記載において広義や同義な用語として引用された用語は、明細書又は図面中の他の記載においても広義や同義な用語に置き換えることができる。
【０１３２】
また本発明は、ＱＲコードなどのマトリックス式の２次元コードのみならず、スタック式の２次元コードなど、種々の２次元コードに関して適用することができる。その場合には、各２次元コードのフォーマットに応じて各処理を行う。
【図面の簡単な説明】
【０１３３】
【図１】本実施形態の２次元コードの構造の一例を示す図である。
【図２】本実施形態の処理の流れの一例を示すフローチャート図である。
【図３】本実施形態の処理の流れの一例を示すフローチャート図である。
【図４】本実施形態で生成される２次元コードの一例を示す図である。
【図５】図５（Ａ）、（Ｂ）は、本実施形態で生成される特殊２次元コードの一例を示す図である。
【図６】本実施形態の処理の流れの一例を示すフローチャート図である。
【図７】本実施形態のデータ生成処理の一例を説明するための図である。
【図８】本実施形態のデータ生成処理の一例を説明するための図である。
【図９】本実施形態のデータ合成処理の一例を説明するための図である。
【図１０】本実施形態のデータ合成処理の一例を説明するための図である。
【図１１】本実施形態のデータ合成処理の一例を説明するための図である。
【図１２】本実施形態のデータ合成処理の一例を説明するための図である。
【図１３】本実施形態のデータ合成処理の一例を説明するための図である。
【図１４】本実施形態のデータ合成処理の一例を説明するための図である。
【図１５】本実施形態の機能ブロックの一例を示す図である。
【符号の説明】
【０１３４】
ＳＣ  特殊２次元コード、ＳＣＷ  第１の特殊２次元コード、ＳＣＢ  第２の特殊２次元コード、ＤＤ  デザインデータ、１０  ２次元コードシンボル、１３  位置合せパターン、１６  符号化領域、３０  原データ領域、３３  デザイン領域、３４  誤り訂正コード領域、４０  単一パターン、４２  マスクパターン、４４  逆変換モジュールパターン、
５２  マスク前パターン、１００  処理部、１１０  データ取得部、１１２  コードサイズ決定部、１１４  デザイン領域特定部、１１８  デザイン領域逆変換部、１２０  ２次元コードデータ生成部、１２６  ２次元コード生成部、１２８  デザイン合成部、１６０  入力部、１７０  記憶部、１８０  情報記憶媒体、１９０  表示部
【図２】
2008152334.tif 000003
【図３】
2008152334.tif 000004
【図４】
2008152334.tif 000005
【図５】
2008152334.tif 000006
【図６】
2008152334.tif 000007
【図１５】
2008152334.tif 000008
【図１】
2008152334.tif 000009
【図７】
2008152334.tif 000010
【図８】
2008152334.tif 000011
【図９】
2008152334.tif 000012
【図１０】
2008152334.tif 000013
【図１１】
2008152334.tif 000014
【図１２】
2008152334.tif 000015
【図１３】
2008152334.tif 000016
【図１４】
2008152334.tif 000017