(57)【特許請求の範囲】
【請求項１】
２次元的に配置した複数のセルに表示された色彩の組み合わせによりビット列が表現された２次元コードに関し、当該２次元コードを含む画像データから前記ビット列を復元する２次元コード復元プログラムであって、
前記セルは、セル毎に周囲を空白領域で囲まれて配置されたマークによって表示され、当該マークを形成するマーク領域、及び、当該マーク領域を囲む空白領域の各々から、各領域の色彩を構成する色成分の階調を取得すること、
前記マーク領域の階調と前記空白領域の階調との間の差を求める判定式を利用すると共に、当該判定式において前記階調の係数を指定するパラメータを有し、当該パラメータに適用される値を複数の水準から選定すること、
前記判定式に前記パラメータの値を適用して、前記マーク領域の階調を当該マーク領域を囲む空白領域の階調で補正し、前記セルの表示を判定すること、
を特徴とする２次元コード復元プログラム。
【請求項２】
予め定めた色彩で表示された複数の参照セルのマーク領域、及び、空白領域の各々から、各領域の色彩を構成する色成分の階調を取得すること、
前記参照セルから取得した複数の色成分におけるマーク領域、及び、空白領域の階調を同時に利用して、前記セルに対して色成分の有無を個別に判定すること、
を特徴とする請求項１に記載の２次元コード復元プログラム。
【請求項３】
２次元的に配置した複数のセルの表示によりビット列が表現された２次元コードに関し、当該２次元コードを含む画像データから前記ビット列を復元する２次元コード復元プログラムであって、
前記セルは、セル毎に周囲を空白領域で囲まれて配置されたマークによって表示され、当該マークを形成するマーク領域、及び、当該マーク領域を囲む空白領域の各々から階調を取得すること、
前記マーク領域の階調と前記空白領域の階調との間の差を求める判定式を利用すると共に、当該判定式において前記階調の係数を指定するパラメータを有し、当該パラメータに適用される値を複数の水準から選定すること、
前記判定式に前記パラメータの値を適用して、前記マーク領域の階調を当該マーク領域を囲む空白領域の階調で補正し、前記セルの表示を判定すること、
前記セルの判定で得られたビット列に対して、当該ビット列に付与された冗長性を用いてエラーを検出するエラー検出手段を有し、当該エラー検出手段によりエラーが検出された場合に、前記パラメータに適用される値を変更して前記セルの判定を繰り返すこと、
を特徴とする２次元コード復元プログラム。
【請求項４】
２次元的に配置した複数のセルの表示によりビット列が表現された２次元コードに関し、当該２次元コードを含む画像データから前記ビット列を復元する、ネットワークに接続されたサーバであって、
前記セルのマーク領域、及び、当該マーク領域を囲む空白領域の各々から階調を取得し、前記マーク領域の階調と前記空白領域の階調との間の差を求める判定式を利用すると共に、当該判定式において前記階調の係数を指定するパラメータを有し、当該パラメータの値を用いて、前記マーク領域の階調を当該マーク領域を囲む空白領域の階調で補正し、前記セルの表示を判定するセル判定手段と、
前記ビット列の復元におけるエラーを検出するエラー検出手段と、
前記エラー検出手段によりエラーが検出された場合に、前記パラメータに適用される値を変更して、前記セル判定手段におけるセルの判定を繰り返すプロセス制御手段と、
を有することを特徴とする２次元コード復元サーバ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像表示装置のディスプレイに表示された、もしくは、画像形成装置からシート状記録媒体や固形物表面に出力された２次元コードを、撮像装置により撮像して画像データを取得した後、コンピュータを用いて解析することで、前記２次元コードに表現されたビット列を復元することを可能とした、２次元コード復元プログラム、及び、当該プログラムを実行する２次元コード復元サーバ、に関する。
【背景技術】
【０００２】
２次元コードは、一般に、格子状に配列した複数のセルと、その周囲に配置した位置決めシンボルによって構成され、平面上にビット列を表現する。通常、セルは白色の平面上に想定され、黒色のデータマークが印されたマークセルと、データマークが印されずに白色が露出した空白セルの２種類で構成される。これにより、セルの表示によって配置のパターンを形成してビット列を表現する。例えば、マークセルを１に、空白セルを０に対応させて、１と０によるビット列を表現する。
このように表示された２次元コードに対し、光学的な撮像装置を用いて画像データを取得し、当該画像データを解析することでビット列を復元することが可能となる。解析にはコンピュータを用い、画像データ上のセルの位置を求め、その位置でセルの表示を判定する。これにより、明らかになったセルの表示を基に、２次元コードに表現された前記ビット列を復元することができる。
【０００３】
セルの位置は、特定の位置に固定して表示された位置決めシンボルや位置決めマークを基準にして算出することができる。例えば、検出された２以上の位置決めシンボル／位置決めマーク間の距離と角度から、画像データ中の２次元コードのサイズと傾きを求め、これを基に各セルの位置を算出する方法が知られている（非特許文献１、特許文献３）。
セルの表示は、セルの概ね中心位置における階調（又は濃度）の値から判定する方法が知られている（非特許文献１）。この方法では、セルの中心画素の階調を事前に用意されたしきい値と比較して、しきい値より階調が高い（濃度が高い）セルをマークセル、階調が低い（濃度が低い）セルを空白セルと見なすことができる。
しきい値は、所定の領域に参照用の画像を表示しておき、その画像の階調を基に算出する方法が知られている（特許文献１）。この方法を用いると、しきい値の信頼性が上がるため判定精度が向上する。
【０００４】
近年、従来のモノクロ２次元コードを発展させたものとしてカラー２次元コードが提案されている（特許文献１）。カラー２次元コードでは、セルの表示を複数種類の色彩で表現することにより、白色と黒色の２種類だけからなるモノクロ２次元コードに比べ、ビット列を高密度に表示することが可能となる。
【０００５】
２次元コードでは、従来のバーコードに比べ、ビット列の表示密度を向上させることが可能となった。すなわち、限られた表示範囲において、所望の容量を持つビット列が表示できるようになった。この特徴から、近年、２次元コードは多方面で利用されている。
例えば、文字情報、画像情報、音声情報、暗号情報、コンピュータ上の命令コード、等のデジタル情報を、２次元コードとして画像表示装置上に表示し、撮像装置で読み取ることに使われる。また、前記デジタル情報を、用紙などのシート状記録媒体や、電子部品などの固形物表面に記録すること、等に使われる。
【０００６】
２次元コードを効率的に利用する方法として、データベースのレコード番号に対応して用意されたビット列を表現する技術が公開されている（特許文献２）。この場合、対象とするデジタル情報は、２次元コードに埋め込まれるのではなく、前記ビット列に関連付け、サーバを介してネットワーク上で保存・管理される。これにより、扱うことが可能な容量は、２次元コードの表示面積に制限されなくなり、上記のデジタル情報の他、動画情報等を含む大容量な情報を対象とすることが可能となる。
また、２次元コードに表現されるビット列に対し、所定の変換を施す技術が公開されている（特許文献２）。すなわち、例えば、暗号化処理を施すことで、第三者による不正な読み取りを防止できる。また、誤り訂正符号を用いることで、セル表示の誤判定により生じる読取エラーを抑制できる。
【０００７】
【特許文献１】ＷＯ２００４／０９７７１７
【特許文献２】特開２００７−０２６４２７号公報
【特許文献３】特開２００７−０２６４２８号公報
【非特許文献１】ＪＩＳ  Ｘ０５１０  ２次元コードシンボル−ＱＲコード（登録商標）−基本仕様書
【発明の開示】
【発明が解決しようとする課題】
【０００８】
コンピュータの処理速度の向上や、記憶媒体の容量増加などの技術進歩により、近年、従来に比べて大容量のデジタル情報が扱われるようになった。また、通信技術の進歩にともない、デジタル情報を簡便に送受信できるネットワーク環境が整ってきた。特に、携帯機器を用いた無線通信において、通信速度の向上とその普及率の増加は目覚しいものがある。これにより、時間的、及び、地理的な条件に縛られることなく、様々な場面において情報をやり取りすることが可能となってきた。
上述の背景により、２次元コードに対してもビット列を高密度に表示することが求められている。同時に、多様な状況に対応しながら、確実にビット列を復元することが求められている。
上記により、我々の周囲に存在するデジタル情報を、より簡便に、更に快適に取り扱うことが望まれている。
【０００９】
２次元コードを高密度に表示するため単位面積あたりのセル数を増加すると、個々のセルのサイズが小さくなり、セルの表示が不明確になり易い。この場合、セル表示の誤判定による復元エラーが生じ易くなる。
また、セルの表示にカラーを用いると、表示の種類が増える代わり、マーク有無の２種類だけを判定するモノクロの場合に比べて誤判定が生じ易くなる。その要因は複数考えられるが、その一例としては、複数の色成分の組合せによりセルの表示を構成する場合に、２次元コード復元時に得られる画像データ中の各々の色成分において、他の色成分の作用を受けて色彩が変動する現象が挙げられる。
２次元コードを復元する際に取得する画像データ中の２次元コードは、入出力条件に起因して乱れを含む可能性があり、その場合、復元エラーが生じ易くなる。画像の乱れの原因としては、２次元コード出力時において、例えば、出力装置による出力位置のずれ、出力濃度のずれ、表示面の湾曲、等がある。また、２次元コード入力時において、例えば、入力装置が持つ光学的な歪み、入力階調のずれ、入力時の撮像角度の傾き、焦点ぼけ、等がある。
【００１０】
本発明は、上記の点に鑑みてなされたものであり、２次元コードに表現されたビット列を、多様な状況に対応しながら確実に復元することを可能にした、２次元コード復元プログラム、及び、復元サーバ、を提供する。これにより、我々の周囲に存在するデジタル情報を、簡便・快適に取り扱うことを可能にする。
【課題を解決するための手段】
【００１１】
本発明に係る請求項１に記載の２次元コード復元プログラムは、２次元的に配置した複数のセルに表示された色彩の組み合わせによりビット列が表現された２次元コードに関し、当該２次元コードを含む画像データから前記ビット列を復元する２次元コード復元プログラムであって、前記セルは、セル毎に周囲を空白領域で囲まれて配置されたマークによって表示され、当該マークを形成するマーク領域、及び、当該マーク領域を囲む空白領域の各々から、各領域の色彩を構成する色成分の階調を取得すること、前記マーク領域の階調と前記空白領域の階調との間の差を求める判定式を利用すると共に、当該判定式において前記階調の係数を指定するパラメータを有し、当該パラメータに適用される値を複数の水準から選定すること、前記判定式に前記パラメータの値を適用して、前記マーク領域の階調を当該マーク領域を囲む空白領域の階調で補正し、前記セルの表示を判定すること、を特徴とする。
【００１２】
セルの判定において、画像データを構成する複数の色成分を同時に利用して、セルの表示を構成する各々の色成分の有無を個別に判定する場合に、当該判定に対して前記パラメータを適用し、複数の水準から選定すると良い。パラメータとしては、例えば、判定に利用される判定式の係数を用いると良い。
【００１３】
判定に利用される指標としては、マーク領域の階調Ｄｍと空白領域の階調Ｄｖの差を利用すると良い。また、前記パラメータとしては、差を求める式の係数を用いて、それらの比重を指定すると良い。例えば、指標を（Ｄｍ−Ｐ・Ｄｖ）として、パラメータＰに複数の水準（０〜１．０）を用意すると良い。
【００１４】
本発明に係る請求項２に記載の２次元コード復元プログラムは、予め定めた色彩で表示された複数の参照セルのマーク領域、及び、空白領域の各々から、各領域の色彩を構成する色成分の階調を取得すること、前記参照セルから取得した複数の色成分におけるマーク領域、及び、空白領域の階調を同時に利用して、前記セルに対して色成分の有無を個別に判定すること、を特徴とする。
【００１５】
参照セルに表示される色彩は、セルの表示に利用される全ての表示に対して用意されることが好ましい。例えば、シアン、マゼンタ、イエローの色成分の組合せで各セルが表示される場合、白色、シアン、マゼンタ、イエロー、レッド、グリーン、ブルー、黒色、の参照セルを用意すると良い。その際、黒色で表示された位置決め用のマーク等、他の用途で利用されるセルと兼ねていても良い。
【００１６】
本発明に係る請求項３に記載の２次元コード復元プログラムは、２次元的に配置した複数のセルの表示によりビット列が表現された２次元コードに関し、当該２次元コードを含む画像データから前記ビット列を復元する２次元コード復元プログラムであって、前記セルは、セル毎に周囲を空白領域で囲まれて配置されたマークによって表示され、当該マークを形成するマーク領域、及び、当該マーク領域を囲む空白領域の各々から階調を取得すること、前記マーク領域の階調と前記空白領域の階調との間の差を求める判定式を利用すると共に、当該判定式において前記階調の係数を指定するパラメータを有し、当該パラメータに適用される値を複数の水準から選定すること、前記判定式に前記パラメータの値を適用して、前記マーク領域の階調を当該マーク領域を囲む空白領域の階調で補正し、前記セルの表示を判定すること、前記セルの判定で得られたビット列に対して、当該ビット列に付与された冗長性を用いてエラーを検出するエラー検出手段を有し、当該エラー検出手段によりエラーが検出された場合に、前記パラメータに適用される値を変更して前記セルの判定を繰り返すこと、を特徴とする。
【００１７】
誤り検出には、公知の符号化技術である誤り訂正符号を利用すると良い。例えば、ＢＣＨ符号や拡張ＢＣＨ符号、リードソロモン符号等を用いると良い。この場合、２次元コードを解読して得られるビット列に誤りが含まれても、一定範囲であれば訂正可能である。
また、元データにおいて、所定のビットに固定した値（固定ビット）を設けておくことで、復元で得られるデータを検証して誤りを検出しても良い。例えば、元データの最初の数ビットを全て０に固定すると良い。この場合、固定ビットのビット数を増やすほど検出レベルが向上する。例えば、固定ビットとして、４〜２０ビット程度のビット数を割り当てると良い。
【００１８】
エラーが検出された場合は、解読プロセスを中断してパラメータの値を変更すると良い。エラーが検出されない場合は、解読プロセスを中断しなくて良い。解読プロセスが一定回数以上繰り返された場合には、プロセスを中断してエラーを出力すると良い。
【００１９】
パラメータとしては、セルの表示の判定に関するものに適用すると良い。例えば、各々のセルにおける各色成分の有無の判定に利用される判定式の係数に適用すると良い。また、例えば、セルの判定に利用される指標として、セルのマーク領域の階調を周囲の空白領域の階調で補正する際の係数に適用すると良い。
【００２０】
本発明に係る請求項４に記載の２次元コード復元サーバは、２次元的に配置した複数のセルの表示によりビット列が表現された２次元コードに関し、当該２次元コードを含む画像データから前記ビット列を復元する、ネットワークに接続されたサーバであって、前記セルのマーク領域、及び、当該マーク領域を囲む空白領域の各々から階調を取得し、前記マーク領域の階調と前記空白領域の階調との間の差を求める判定式を利用すると共に、当該判定式において前記階調の係数を指定するパラメータを有し、当該パラメータの値を用いて、前記マーク領域の階調を当該マーク領域を囲む空白領域の階調で補正し、前記セルの表示を判定するセル判定手段と、前記ビット列の復元におけるエラーを検出するエラー検出手段と、前記エラー検出手段によりエラーが検出された場合に、前記パラメータに適用される値を変更して、前記セル判定手段におけるセルの判定を繰り返すプロセス制御手段と、を有することを特徴とする。
【００２１】
本発明の構成要素であるプログラムは、コンピュータ上で実行されるプログラム、すなわちソフトウェアであることが好ましい。また、これを実現するために用意された専用のハードウェアであっても良く、更には、これらソフトウェアとハードウェアの組み合せであっても良い。
【００２２】
プログラムを実行するコンピュータとしては、一般的に普及したもので良く、パーソナルコンピュータ、ワークステーション、メインフレームなどのコンピュータの他、携帯電話やＰＤＡなどの電子機器に搭載したコンピュータであってもよい。また、このプログラムを実行するために特別に用意されたコンピュータであってもよい。
【００２３】
本発明の別の構成要素であるサーバは、ネットワークに接続されたサーバであって、クライアント端末からの要求に応じて所定の動作を実行すると良い。当該サーバとしては、一般的に普及したもので良く、セキュリティやバックアップ等、一般にサーバに期待される機能を備えていることが好ましい。
【発明の効果】
【００２４】
本発明に係る請求項１〜３に記載の２次元コード復元プログラム、及び、請求項４に記載の２次元コード復元サーバによれば、画像に適した解読が可能となる。これにより、ビット列を正確に復元することが可能となる。
【発明を実施するための最良の形態】
【００２５】
以下、本発明を実現するための好適な形態について記述する。ただし、以下の記述は、本発明の一形態であってこれに限定されるものではない。
【００２６】
＜装置構成＞
本形態を実現する装置は、図１に示されるように、サーバＭ０１、コンテンツ登録装置Ｍ０２、２次元コード取得装置Ｍ０３、で構成される。これらの装置は、ネットワークへの通信手段を備える。
サーバＭ０１、コンテンツ登録装置Ｍ０２、２次元コード取得装置Ｍ０３としては、一般に利用されている既存の装置を用いると良い。本形態において、コンテンツ登録装置Ｍ０２として、ＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）を用いた。また、２次元コード取得装置Ｍ０３として、撮像機能を有する携帯端末（カメラ付携帯端末）を用いた。ただし、コンテンツ登録装置Ｍ０２として携帯端末を用いていも良い。また、２次元コード取得装置Ｍ０３として画像入力機能を備えたＰＣを用いても良い。
サーバＭ０１は、複数のユーザからの要求に応じて、複数の動作を同時に処理することが可能である。本形態において、サーバＭ０１は、１台のサーバ装置によって、複数の役割（２次元コードの発行、復元、データベースの管理、等）を実行した。ただし、複数のサーバ装置を用意して、複数の役割を分散させて実現しても良い。すなわち、本発明のサーバは、２台以上のサーバ装置で構成されたサーバ群を含む。
【００２７】
＜想定される使用形態＞
本形態において、２次元コードを利用して、ネットワーク上で複数のユーザが電子データからなるコンテンツを共有する。例えば、ユーザＡがコンテンツをサーバに登録すると同時に２次元コードを発行し、後に、別のユーザＢが２次元コードを復元することで前記コンテンツを特定して取得する。
ユーザＡ、Ｂは上記の場合に限定されるものではなく、例えば、ある状況では、複数のユーザＢがサーバに登録された同一のコンテンツを取得する。また、他の状況では、ユーザＡ、Ｂは同一人物であり、自分で登録したコンテンツを後に取得する。
【００２８】
＜対象とするコンテンツ＞
本形態におけるコンテンツは、文字情報、画像情報（静止画及び動画）、音声情報、等の限定されない形式による電子データを対象とする。
文字情報としては、例えばＵＲＬ（Ｕｎｉｆｏｒｍ  Ｒｅｓｏｕｃｅ  Ｌｏｃａｔｏｒ）、個人データ（住所・氏名・電話番号）、メモ書き、メール文書、等の任意の書式で記述されたテキストデータを指す。テキストデータは、ＥＵＣコードや、ＳｈｉｆｔＪｉｓコード、ユニコード、等の文字コードで表される。
画像情報としては、例えば、ｊｐｅｇやビットマップ等のデータ形式の静止画データを指す。また、例えば、ｍｐｅｇやｗｍｖ、ａｖｉ等のデータ形式の動画データを指す。音声情報としては、例えば、ｍｐ３やｗａｖ等のデータ形式の音楽データを指す。
上記以外の例として、特定のアプリケーションにより作成された電子データを対象とする。例えば、ワープロソフトで作成されたデータや、表計算ソフトで作成されたデータ、スケジュール管理ソフトで作成されたデータ、等を指す。また、ＩＤやパスワード等の認証データや、暗号化されたビット列である暗号データ、コンピュータ上の命令コード（実行形式のプログラム）、を対象とする。
【００２９】
＜コンテンツに対する動作＞
本形態において、ユーザＡはコンテンツを登録する際に、２次元コード復元時の動作を選定する。選定された動作は、動作種別としてサーバＭ０１のデータベースに記録される。当該動作種別は、２次元コード復元時に参照され、サーバＭ０１上のプログラムを介して実行される。
表１に本形態で用意した複数の動作種別と、各動作種別に割り当てた番号（動作種別番号）の例を示す。本形態の動作種別は、コンテンツの種類ごとに想定される動作を予め用意した。その際、同じ種類のコンテンツに対して複数の動作種別を設けた。
【表１】
0005356702.tif 000002
以下、本形態において用意した複数の動作の例を記述する。個別に記述された動作種別は、組み合わせて実行されても良い。
【００３０】
＜動作の第１例：携帯端末に送信＞
本形態の動作の第１例は、サーバＭ０１は、２次元コード取得装置Ｍ０３である携帯端末にコンテンツを送信する（Ａ０００）。
例えば、コンテンツが文字情報の場合、ユーザＢは、携帯端末のディスプレイに表示させて読み取る（A００１）。また、記述されたＵＲＬを指定して、携帯端末からアクセスする（Ａ００２）。
コンテンツが画像情報（静止画）の場合、携帯端末のディスプレイに画像を表示する（Ａ０１１）。動画の場合は、動画データを再生する（Ａ０２１）。音声情報の場合、携帯端末で音楽データを再生する（Ａ０３１）。
【００３１】
＜動作の第２例：サーバ内で処理＞
本形態の動作の第２例は、サーバＭ０１は、当該サーバＭ０１内でコンテンツの登録を行う。
本形態において、ユーザＢは、サーバＭ０１内にホームページを有し、当該ホームページにコンテンツを登録する。その後、ユーザＢは、ホームページにアクセスして利用する。
コンテンツが文字情報の場合、例えば、記述されたＵＲＬを、ホームページのブックマークリストに登録する（Ａ１０２）。また、記述された個人情報（住所・氏名・電話番号）を、ホームページのアドレス帳に登録する（Ａ１０３）。
コンテンツが画像情報の場合、画像（静止画）をホームページのアルバムに登録する（Ａ１１１）。また、音声情報の場合、音楽データをホームページの音楽リストに登録する（Ａ１３１）。
【００３２】
＜動作の第３例：他サーバに送信＞
本形態の動作の第３例は、サーバＭ０１は、他サーバＭ１１にコンテンツを送信する。
第３例において、ユーザＢのホームページはサーバＭ１１で管理される。当該サーバＭ１１は、サーバＭ０１とは異なる管理主体（例えば、一般のネットワークサービスプロバイダ）によって管理される場合を想定した。
サーバＭ０１は、コンテンツと同時に動作種別をサーバＭ１１に送信する。サーバＭ１１は、当該動作種別を参照し、第２例と同様の動作を処理する。すなわち、サーバＭ１１上のホームページへのブックマーク登録（Ａ２０２）や、アドレス帳登録（Ａ２０３）、アルバム登録（Ａ２１１）、音楽登録（Ａ２３１）、等を行う。
【００３３】
＜データベース＞
データベースは、行をレコード、列をフィールドとするテーブル形式で構成され、各レコードに複数のフィールドを設けて情報を記録する。本形態のデータベースは、汎用的な言語であるＳＱＬで記述した。また、一般に普及したアプリケーションであるＳＱＬｉｇｈｔを利用した。ただし、アプリケーションとしては、ＭｙＳＱＬや、ＰｏｓｔｇｒｅＳＱＬ、Ｏｒａｃｌｅ、等を用いても良い。
本形態で使用するデータベースの例を表２に示す。本形態におけるデータベースは、レコード番号、ヘッダ番号、動作種別、保存アドレス、ステータス、を記録するフィールドを有する。
【表２】
0005356702.tif 000003
【００３４】
レコード番号のフィールドは、レコード番号（Ｄ００）を記録した。本形態では２進数列のビット列を記録した。ただし、１０進数により記録しても良い。
ヘッダ番号のフィールドはヘッダ番号（Ｄ１０）を記録した。
動作種別のフィールドは、２次元コードが復元された後のコンテンツに対する動作の種別を記録した（表１）。
保存アドレスのフィールドは、コンテンツの保存アドレスを記録した。当該保存アドレスは、サーバＭ０１内のストレージ領域や、サーバＭ０１からアクセス可能な他サーバ内のストレージ領域を対象とする。
ステータスのフィールドは、２次元コードの発行・停止状況を記録しておく。これにより、本形態では、ステータス＝「１」は復元可、ステータス＝「０」は不可とした。ステータス＝「１」（復元可）は、２次元コードを発行し、かつ、停止していない場合に記録した。２次元コードを発行していない場合、及び、発行後に停止した場合は、ステータス＝「０」（復元不可）とした。２次元コード発行後の停止は、使用期限等、使用する際の制約に基づいて実施される。
データベースには、上記以外のフィールドを設けても良い。これにより、例えば、コンテンツの登録日や有効期限等の日時情報を記録する。また，例えば、ログ情報を記録しても良い。更に、例えば、コンテンツに関係するファイル／フォルダの保存アドレスを記録しても良い。
【００３５】
＜２次元コードの表示形態＞
本形態で使用した２次元コード１０１の全体像を図２に示す。本形態において、セルは表示面に正方格子状に配列され、８×８セル配列とした。ただし、セル数は８×８セルに限定されるものではなく、例えば、１２×１２セル等であっても良い。
２次元コード１０１（図２）における、位置決めマーク０２０、及び、参照マーク０３０、の配置を図３に表示した。図３に示されるように、位置決めマーク０２０と参照マーク０３０は、予め定められたセル位置に、常に同一の色彩で表示される。一方、データマーク０１０は、生成される２次元コードごとに変動して表示される。すなわち、点線枠で示された各セル（データセル）に、ビット列に応じたカラーのデータマークが表示される。
ただし、セルの配列形状やマークの形状は上記に限定されない。例えば、セル配列は、縦と横で異なるセル数からなる長方形状でもよい。また、例えば、セル配列を六角格子状としてもよい。また、マークの形状を円形としても良い。
【００３６】
＜データマーク＞
単一の色成分における２次元コードの一部を、図４に拡大して表示した。図４に示されるように、各色成分のセルは、マークを有するセル（マークセル００１）、又は、マークを有しないセル（空白セル００２）の何れかで表現される。カラーのマークは、各色成分のマーク有無を組み合わせることで形成される。
各セル００１及び００２は、図５に示されるように、マークが表示される領域（マーク領域００３）と、マーク表示されない領域（空白領域００４）で構成される。各セルのデータマークは、本形態のように周囲に空隙を設けて表示されることで、隣接するセルのデータマークから分離される。
【００３７】
データマークによるセルの表示は、セルを評価しながら全体を走査し、所望の表示を選定した。セルの評価は、一部のセルの集合を対象として実施した。
本形態では、図６に示されるように、連続して配置された２セル（横方向、縦方向）から、カラー表示の組み合わせを取得して点数付けを行った。表３に、本形態の点数付け（２セル）を示す。表３の行、列に示される色彩（Ｗ、Ｃ、Ｍ、Ｙ、Ｒ、Ｇ、Ｂ、Ｋ）は、図６の２セル（１０Ｐ、０１０Ｑ）におけるカラー表示に対応する。
【表３】
0005356702.tif 000004
本形態では、同時に、２次元コードの上下左右の辺上に位置する各１セルから、カラー表示を取得して点数付けを行った。表４に、本形態で使用した点数付け（１セル）を示す。
【表４】
0005356702.tif 000005
本形態において、２次元コード全体の検証は、横方向／縦方向の２セル（図６）、及び、辺上の１セルから取得した点数を合計し、当該合計が少ない表示を好適と見なした。
表３の点数付けを利用することにより、セルの表示が黒色となるのを避けた。特に、連続した２セルが両方とも黒色となるのを避けた。同様に、セルの表示が白色となるのを避けた。特に、連続した２セルが両方とも白色となるのを避けた。また、黒色や白色以外でも連続した２セルが同色になるのを避けた。
表４の点数付けを利用することにより、辺上のセルの表示が白色となるのを避けた。同様に、辺上のセルの表示が黒色となるのを避けた。
【００３８】
＜位置決めマーク＞
位置決めマーク０２０は、２次元コードの位置の基準として、特定のセルに固定されて表示される。位置決めマーク０２０は複数存在することが好ましく、本形態では、図３に示されるように、四角形からなるコード領域の四隅にそれぞれ配置した。位置決めマーク０２０の画像パターンは、データマークと同一形状・同一サイズとした。
本形態において、位置決めマーク０２０は黒色に、周囲の空白領域は白色に、各々表示した。すなわち、位置決めマークは、出力装置が持つ全ての色成分に対して、周囲の空白領域との間にコントラストを設けて表示した。
【００３９】
＜参照マーク＞
参照マーク０３０は、セル表示を判定する際の参照情報を取得するため、特定のセルに所定の色彩で表示される。本形態において、図３に示されるように、コード領域の四隅付近に、白色０３０Ｗ、シアン０３０Ｃ、マゼンタ０３０Ｍ、イエロー０３０Ｙ、レッド０３０Ｒ、グリーン０３０Ｇ、ブルー０３０Ｂ、の参照マークを表示した。その際、参照マーク０３０は、位置決めマークと同様、データマークと同形状・同サイズの画像パターンとした。
本形態において、黒色の参照マークは特に表示しなかった。ただし、本形態の位置決めマーク０２０は、データマークと同形状・同サイズであり、位置決めマーク０２０が参照マークを兼ねた。黒色の参照マークを表示する場合には、前記位置決めマークと同形状・同サイズ・同色の画像パターンとすると良い。
【００４０】
＜お化粧マーク＞
お化粧マークは、該当セルにおける他の色成分のマーク有無に応じて表示を決定した。また、周囲のセルの表示の組合せに応じて表示を決定した。表示の決定は、お化粧マーク有／無を想定して各々評価を行い、好適な方を選定した。
本形態において、お化粧マークを有するセルと当該セルに隣接したセルの表示の組合せを、表３に示されるテーブルを用いて点数付けした。当該点数付けは、隣接する上下左右のセルに対して行い、点数を足し合わせて合計が少ない方を好適と見なした。隣接セルは、図６に示されるように、横方向、又は、縦方向に連続して配置され、カラー表示の組み合わせを取得して評価した。
ただし、お化粧マークの有無は、周囲のセルを評価せずに選定することも可能である。例えば、該当セルにおいて、他の色成分が存在する場合を「マーク無し」に、何れの色成分も存在しない場合を「マーク有り」に選定しても良い。
本形態では、図７に示されるように、データセルの一部対してお化粧マークを割り当てた。これにより、データマークと混在して、お化粧マーク同士の隣接を避けて配置した。その際、お化粧マークは、同一セルにおいて単一の色成分だけを割り当てた。また、複数の色成分に対して概ね均等に割り当てた。本形態では、計１８のお化粧マークを、シアン成分０４０Ｃ、マゼンタ成分０４０Ｍ、イエロー成分０４０Ｙ、に各々６ずつ割り当てた。これらの色成分は、面内に分散させて配置した。
【００４１】
＜特定カラーに対する階調補正＞
セルに表示されるマークに対し、特定のカラーに対して階調の補正を施した。当該補正は、該当セルのカラー表示に応じて階調を決定した。すなわち、同一セルにおける他の色成分のマーク有無から決定した。表５に、各々の色彩に対して、本形態で利用した色成分ごとの階調を示す。
【表５】
0005356702.tif 000006
本形態では、周囲の空白領域（白色）に対比して目立ち難い色彩（白色、イエロー、等）に補正を施し、階調を高い方向に一定の割合変化させた。表５に示されるように、セルの表示が白色の場合、当該セルの各色成分の階調を１０％高くして補正した。すなわち、白色における（シアン，マゼンタ，イエロー）成分の階調（０，０，０）を、（０．１，０．１，０．１）とした。同様に、セルの表示がイエローの場合、イエロー以外の色成分の階調を１０％を高くして、イエローの階調（０，０，１）を、（０．１，０．１，１）とした。
他セルの表示に対比して目立ち易い色彩（黒色、等）に補正を施し、階調を低い方向に変化させることも有効である。例えば、セルの表示が黒色の場合、各色成分の階調を、５％〜２０％程度低くして補正しても良い。例えば、黒色の階調（１，１，１）を各色成分で１０％低くして、（０．９，０．９，０．９）とすると良い。
【００４２】
＜２次元コード発行／復元プロセス＞
本形態を実現するプロセスは、２次元コードの発行を処理する２次元コード発行プロセス、及び、２次元コードの復元を処理する２次元コード復元プロセス、で構成される。
２次元コード発行プロセスでは、コンテンツ登録装置Ｍ０２を操作するユーザＡからの要求により、サーバＭ０１のストレージ領域にコンテンツを保存する。その際、サーバＭ０１において、コンテンツの保存アドレスに関連付けられた２次元コード１００を発行し、当該関連付けをデータベース（表２）を用いて管理する。ユーザＡは、２次元コード１００を受信後、目的に応じて利用する。
２次元コード復元プロセスでは、ユーザＢは、２次元コード取得装置Ｍ０３を用いて２次元コード１００の画像データを取得し、サーバＭ０１に送信する。サーバＭ０１は、受信した画像データを解析した後、前記データベースを参照して、２次元コード１００に関連付けられたコンテンツを特定する。特定されたコンテンツは、ユーザＢによって利用される。
【００４３】
＜２次元コード発行プロセス＞
本形態における２次元コード発行プロセス２００を図８に示す。本形態の２次元コード発行プロセス２００は、データ入力部２１０、２次元コード生成部２２０、２次元コード出力部２３０、により構成される。
【００４４】
＜データ入力部＞
データ入力部２１１は、ビット列を取得し、２次元コード生成部２２０に入力する。本形態のデータ入力部２１０は、データ入力手段２１１で構成される（図８）。データ入力手段２１１は、サーバＭ０１において予め用意したプログラムを実行することで実現した。本形態で扱うビット列は、コンピュータが扱う情報の最小単位であるビットの集合（ビット列）である。
本形態のデータ入力手段２１１は、前記ビット列として、データベースのレコード番号Ｄ００を取得する。レコード番号Ｄ００は、データベースのレコードを特定する。
本形態において、レコード番号Ｄ００は、ビット列を小さい番号から順に生成し、データベースに割り当てて記録する。その後、２次元コード発行の際に、未使用のレコード番号Ｄ００を順に選択する。発行される２次元コードは、レコード番号Ｄ００と関連付けられることで、データベースを用いて管理される。
【００４５】
＜２次元コード生成部＞
２次元コード生成部２２０は、データ入力部２１０から受け渡されたビット列を基に、２次元コードの画像データを作成する。その後、当該画像データを２次元コード出力部２３０に受け渡す。
本形態の２次元コード生成部２２０は、図８に示されるように、データ変換手段２２１、エンコード手段２２２、画像作成手段２２３、画像変換手段２２４、で構成される。これらの手段は、サーバＭ０１において、予め用意したプログラムを実行することで実現した。
以下、データ変換手段２２１、エンコード手段２２２、画像作成手段２２３、画像変換手段２２４、について記述する。
【００４６】
＜データ変換手段＞
データ変換手段２２１では、データベースのレコード番号Ｄ００を基に、２次元コードに埋め込むコードデータＤ２０を取得する。図９に、レコード番号Ｄ００を変換してコードデータＤ２０を取得する一連のフローを示した。以下、当該フローについて記述する。
【００４７】
［冗長ビット付与Ｃ００］
レコード番号Ｄ００（１０進）は、２進ビット列に変換された後、処理Ｃ００を介して冗長ビットが付加され、データＤ０１が生成される。本形態では、当該冗長ビットを、複数のセル表示の候補に対して割り当てた。セル表示として選定されたビット列は、データベース１２０に記録される。付加される冗長ビットは一定の桁数からなり、本形態では、当該冗長ビットに、データＤ０１の上位１０ビットを割り当てた。
［暗号化Ｃ０１］
データＤ０１は、暗号化処理Ｃ０１が施され、データＤ０２が生成される。本形態において、暗号技術としては、標準暗号化方式であるＤＥＳ（Ｄａｔａ  Ｅｎｃｒｙｐｔｉｏｎ  Ｓｔａｎｄａｒｄ）や、トリプルＤＥＳ、ＡＥＳ（Ａｄｖａｎｃｅｄ  Ｅｎｃｒｙｐｔｉｏｎ  Ｓｔａｎｄａｒｄ）、等を利用すると良い。
［誤り訂正符合Ｃ０２］
データＤ０２は、誤り訂正符号化処理Ｃ０２が施され、データＤ０３が生成される。本形態において、誤り訂正符号としては、ＢＣＨ（Ｂｏｓｅ−Ｃｈａｕｄｈｕｒｉ−Ｈｏｃｑｕｅｎｇｈｅｍ）符号や、拡張ＢＣＨ符号、リードソロモン符号、等を利用すると良い。誤り訂正符号は、全体の符号ビット数ｎ、情報ビット数ｋ、ハミング距離の最小値ｄ、に対して予め定められた組合せ（ｎ，ｋ，ｄ）で用意される。
［ビット位置変換Ｃ０３］
データＤ０３は、ビット位置変換処理Ｃ０３が施され、データＤ０４が生成される。当該処理では、データＤ０３の各ビット位置を入れ替えた。本形態のビット位置変換は、複数の変換規則を用意し、ヘッダ番号Ｄ１０と対応付けてサーバＭ０１に記憶した。ビット位置の変換規則としては、所定のランダム化アルゴリズムを利用してランダム化した。
【００４８】
［ヘッダ番号Ｄ１０］
ヘッダ番号Ｄ１０は、ビット位置変換処理Ｃ０３で用いた変換規則を特定する。ただし、本形態では、ヘッダ番号Ｄ１０の一部のビットを変換規則の識別に割り当てた。残りのビットは、バージョン番号の管理に割り当て、将来の拡張性を確保するため固定した。
［暗号化Ｃ１１］
ヘッダ番号Ｄ１０は、暗号化処理Ｃ１１が施され、データＤ１１が生成される。本形態において、暗号化処理Ｃ１１としては、公知の技術である共通鍵暗号化処理を施した。
［誤り訂正符号Ｃ１２］
データＤ１１は、誤り訂正符号化処理Ｃ１２が施され、データＤ１２が生成される。
【００４９】
［データ結合Ｃ２０］
上記プロセスを通して取得されたデータＤ０４、及び、データＤ１２は結合され、コードデータＤ２０が取得される。本形態において、前記２つのビット列の結合において、各ビット位置をランダムに割り当てた。ただし、結合規則は固定され、サーバＭ０１に記憶した。
【００５０】
＜エンコード手段＞
エンコード手段２２２では、データ変換手段２２１により得られるコードデータＤ２０を基に、各セルのカラー表示を決定する。本形態におけるセル表示決定の概念図を図１０に示す。
図１０において、コードデータＤ２０の各ビットを、予め定めた規則により、シアン、マゼンタ、イエローの各色成分に分配した。また、色成分ごとにビットをセルに割り当て、各セルのマーク有り／無しを決定した。その際、各ビットの「１」を「マーク有り」に、「０」を「マーク無し」に対応させた。
その後、各色成分のマーク有無（１１０Ｃ、１１０Ｍ、１１０Ｙ）を重ね合わせ、各セルのカラー表示（１１０）を決定した。すなわち、シアンＣ、マゼンタＭ、イエローＹの色成分を組み合わせることで、シアンＣ、マゼンタＭ、イエローＹの他、レッドＲ（＝Ｍ＋Ｙ）、グリーンＧ（＝Ｃ＋Ｙ）、ブルーＢ（＝Ｃ＋Ｍ）、及び、黒色Ｋ（＝Ｃ＋Ｍ＋Ｙ）を決定した。また、何れの色成分も有しない白色Ｗを決定した。
【００５１】
エンコード手段２２２では、セルの表示に対して複数の候補を抽出した。また、予め定めた選定規則を用いて、抽出された複数の候補から好適なものを選定した。その際、前記選定には、一般に公開されない規則を利用した。選定された表示を特定するビット列は、データＤ０１の所定ビットに記録されるとともに、データベース１２０の該当レコードに記録した（図８）。
また、エンコード手段２２２では、予め定められたデータセルの一部において、お化粧マークの表示を決定した。すなわち、該当セルにおける他の色成分、及び／又は、周囲のセルの表示に応じて、お化粧マークの有無を決定した。
【００５２】
２次元コードは、セルの表示によってビット列（コードデータＤ２０）を表現する。その際、コードデータＤ２０のビット数は、（コードデータのビット数）＝（全セル数−位置決めセル数−参照セル数）×（色成分の数）−（お化粧マークの数）、として定めた。
本形態では、２次元コードの全体６４セル（＝８×８セル）のうち、位置決めマーク０２０に４セル（４箇所）を、参照マーク０３０に７セル（Ｗ、Ｃ、Ｍ、Ｙ、Ｒ、Ｇ、Ｂ）を各々割り当て、データセルに５３セルを割り当てた。
コードデータＤ２０に対しては、３色成分を組み合わせて最大１５９ビット（＝５３セル×３色成分）の割り当てが可能となる。ただし、本形態においては、お化粧マークに一部のビット（１８ビット）を割り当て、コードデータＤ２０に対して１４１ビット（＝１５９ビット−１８ビット）を割り当てた。
【００５３】
＜画像形成手段＞
画像形成手段２２３では、エンコード手段２２２で得られた各セルのカラー表示を基に、２次元配列（Ｒｏｗ，Ｃｏｌｕｍｎ）の画素で構成された画像データを作成する。本形態においては、５０×５０画素の画像データを作成した。
画像データ中の各画素は、（シアンＣ，マゼンタＭ，イエローＹ）の色成分の値０〜１を有し、当該色成分の組み合わせによりカラーを表現した。例えば、各画素において、シアンは（１，０，０）、レッドは（０，１，１）、黒色は（１，１，１）、として表現した。
本形態の単一の色成分（シアンＣ）に関する画像データの例として、図１１にマークセル００１Ｃを表示した。本形態のマークセル００１Ｃは、図１１に示されるように、５×５画素で構成され、中央の３×３画素をマーク領域００３Ｃ、マーク領域の周囲１画素領域を空白領域００４Ｃ、とした。各画素００６には、マーク領域に「１」を、空白領域に「０」を、各々割り当てた。
【００５４】
画像形成手段２２３において、特定の色彩を有するセルに対して、マーク領域００３の各色成分の階調に補正を施した。本形態では、白色、及び、イエローのセルを対象として補正した。その際、対象のセルは、各色成分の有無の組合せを検証することで検出した。本形態では、検出したセルに対して、表５に示された所定の規則を用いて各画素の階調を設定した。
本形態においては、白色のセル（０，０，０）のマーク領域は、各色成分の値を（０．1，０．１，０．１）とした。また、イエローのセル（０，０，１）は、各色成分の値を（０．１，０．１，１）とした。
図１２に、白色、及び、イエローのセルにおいて、マークを含まない単一の色成分（シアンＣ）の例を表示した。図１２に示されるように、白色、及び、イエローのセル（空白セル００２Ｃ）においては、マーク領域の階調に補正を施し、階調０．１を割り当てた。
【００５５】
＜画像変換手段＞
画像変換手段２２４では、画像形成手段２２３で得られた画像データを、一般に普及した画像形式に変換する。本形態では、ＧＩＦ形式に変換した。ただし、画像形式として、ＰＰＭ（Ｐｏｒｔａｂｌｅ  Ｐｉｘ  Ｍａｐ）形式や、ビットマップ形式、Ｊｐｅｇ形式、ＧＩＦ形式、等でも良い。
上記画像形式では、一般に、色成分ごとに多段階の階調値を有し、（レッドＲ，グリーンＧ，ブルーＢ）の色成分でカラーを表現する。本形態では、ＲＧＢ２４ビットカラー（ＲＧＢ各色２５６階調表現）の画像形式に変換した。
【００５６】
各画素の値は、例えば、シアン（１，０，０）は（０，２５５，２５５）に、レッド（０，１，１）は（０，０，２５５）に、黒色（１，１，１）は（０，０，０）に、各々変換した。また、色彩調整を行った白色（０．１，０．１，０．１）は（２２９，２２９，２２９）に、イエロー（０．１，０．１，１）は（２２９，２２９，０）に変換した。
単一の色成分（シアンＣ）に関する図１１の例では、各画素におけるＣＭＹ成分の値は、ＲＧＢ成分の階調に変換される。すなわち、マーク領域はシアン成分「１」からレッド成分「０」に、空白領域はシアン成分「０」からレッド成分「２５５」に、各々変換される。また、空白セルの色彩補正（シアン成分）に関する図１２の例において、マーク領域はシアン成分「０．１」からレッド成分「２２９」に変換される。
【００５７】
＜２次元コード出力部＞
２次元コード出力部２３０は、２次元コード生成部２２０で作成された２次元コードの画像データを、コンテンツ登録装置Ｍ０２に送信して出力する。
本形態の２次元コード出力部２３０は、図８に示されるように、２次元コード出力手段２３１で構成される。２次元コード出力手段２３１は、サーバＭ０１において、予め用意したプログラムを実行することで実現した。また、２次元コード出力手段２３１の通信には、既存の通信技術を利用した。
【００５８】
本形態において、ユーザＡは、コンテンツ登録装置Ｍ０２で受信した２次元コードを、特に限定されない形態により表示させる。
本形態において、２次元コードは、コンピュータに接続された画像表示装置に表示される場合を想定した。また、画像形成装置により、シート状記録媒体や固形物表面に出力して表示される場合を想定した。
【００５９】
画像表示装置は、通常、発光体の発光により画素を表現して画像を形成する。本形態の画像表示装置として、液晶ディスプレイ（例えば、１６０ｄｐｉ、ＲＧＢ３２ビットカラー）が好適である。また、ＣＲＴ（Ｃｈａｔｈｏｄｅ  Ｒａｙ  Ｔｕｂｅ）方式のディスプレイや、プラズマディスプレイ、等でも良い。
例えば、ＷＥＢページに２次元コードを表示してネット上に公開し、アクセスしたＰＣのディスプレイに表示される。また、例えば、テレビ放映の映像に２次元コードの表示領域を設けることで、テレビのディスプレイに表示される。
【００６０】
画像形成装置は、通常、記録媒体にインクやトナーを出力して画素を表現し、画像を形成する。本形態の画像形成装置として、インクジェット方式による出力機（例えば、６００ｄｐｉ）が好適である。また、電子写真方式による出力機や、印刷機、等でも良い。
例えば、ＰＣに備えられたインクジェットプリンタを用いて、２次元コードは用紙に出力される。また、例えば、印刷機を用いて、チラシや名刺、包装紙、等の印刷物に出力される。更に、例えば、製造された固形製品の表面に出力されても良い。
【００６１】
＜２次元コード発行フロー＞
本形態の２次元コード発行プロセスにおいて、サーバＭ０１、及び、コンテンツ登録装置Ｍ０２、における動作と、当該装置間でなされる通信の例を、以下、図１３を用いて説明する。
【００６２】
Ｓ１０１：サーバＭ０１は、コンテンツ登録装置Ｍ０２からのアクセスを待ち受ける。
Ｓ１０２：コンテンツ登録装置Ｍ０２は、ユーザＡの指示によりサーバＭ０１のＵＲＬ（Ｗｅｂページ）にアクセスする。
Ｓ１０３：サーバＭ０１は、コンテンツ登録装置Ｍ０２からのアクセスに対して、入力画面を返す。
Ｓ１０４：ユーザＡは入力画面において、コンテンツの指定と当該コンテンツに対する動作種別の選択を行う。コンテンツ登録装置Ｍ０２は、コンテンツ及び動作種別をサーバＭ0１に送信する。
Ｓ１０５：サーバＭ０１は、受信したコンテンツをストレージ領域に保存する。また、データベースのレコードを割り当て、コンテンツの保存アドレス（例えば「ｆｉｌｅ：／／ｓｔｏｒａｇｅ／００…０１」）、及び、選択された動作種別を、所定のフィールドに格納する。
Ｓ１０６：サーバＭ０１は、前記レコードのレコード番号Ｄ００をコードデータＤ２０に変換し、当該コードデータを表現した２次元コードの画像データを生成する。また、当該画像データをコンテンツ登録装置Ｍ０２に送信する。サーバＭ０１による当該動作は、前記２次元コード発行プロセスにより実現される。
Ｓ１０７：コンテンツ登録装置Ｍ０２は２次元コードの画像データを受信した後、ユーザＡは、当該２次元コードを表示させて利用する。
【００６３】
サーバＭ０１、及び、コンテンツ登録装置Ｍ０２の通信プロトコルは特に限定されない。本形態はＨＴＴＰで実現しており、Ｓ１０１にはｈｔｔｐデーモン（ｈｔｔｐサービス）を、Ｓ１０２とＳ１０３にはＧＥＴ命令とその応答を、それぞれ用いた。Ｓ１０４とＳ１０６にはＰＯＳＴ命令とその応答を用いた。また、Ｓ１０３で返される入力画面は、ＨＴＭＬ（及びＪＡＶＡ（登録商標）スクリプト等）により記述した。Ｓ１０５とＳ１０６は、サーバ側のＣＧＩプログラムやサーブレットにより実現した。
【００６４】
＜２次元コード復元プロセス＞
本形態における２次元コードの復元プロセス３００を図１４に示す。本形態の２次元コード復元プロセス３００は、２次元コード入力部３１０、２次元コード解読部３２０、データ出力部３３０、により構成される。
【００６５】
＜２次元コード入力部＞
２次元コード入力部３１０は、２次元コードの画像データを２次元コード取得装置Ｍ０３から受信して取得し、２次元コード解読部３２０に受け渡す。
本形態の２次元コード入力部３１０は、図１４に示されるように、２次元コード入力手段３１１で構成される。２次元コード入力手段３１１は、サーバＭ０１において、予め用意したプログラムを実行することで実現した。
本形態の画像データは、２次元コード取得装置Ｍ０３を用いてユーザＢにより取得された後、ネットワークを介してサーバＭ０１に送信される。サーバＭ０１は受信した画像データを、サーバＭ０１内のメモリに記憶する。サーバＭ０１と２次元コード取得装置Ｍ０３との通信には、既存の通信技術を利用した。
【００６６】
＜２次元コード取得装置＞
本形態の２次元コード取得装置Ｍ０３は、ＣＣＤ（Ｃｈａｒｇｅｄ  Ｃｏｕｐｌｅｄ  Ｄｅｖｉｃｅ）を用いてデジタル画像を取得する。２次元コード取得装置Ｍ０３としては、カメラ機能（例えば、２４０×３２０画素、ＲＧＢ２４ビットカラー）を備えた携帯端末が好適である。また、２次元コード取得装置Ｍ０３としては、フラットベットスキャナ（例えば、６００ｄｐｉ、ＲＧＢ２４ビットカラー）であっても良い。
携帯端末のカメラで撮像された場合には、２次元コードの画像データは、当該携帯端末の通信手段を用いて送信されると良い。また、フラッドベットスキャナでスキャンされた場合には、当該フラットベットスキャナに接続されたＰＣの通信手段を用いて送信されると良い。
【００６７】
＜取得される画像データ＞
本形態で扱う画像データは、２次元コードの発行プロセス２００と同様、各画素が複数の色成分で構成され、多段階の階調を有する。これにより、例えば、（レッドＲ，グリーンＧ，ブルーＢ）の加法混色でカラーを表現する。本形態では、Ｊｐｅｇ形式や、ＧＩＦ形式、ＰＰＭ形式、ビットマップ形式、等の限定されない画像形式を対象とした。
単一の色成分（レッドＲ）に関する画像データ（２５６階調）の例を、図１５に表示した。図１５において、マークセル００１Ｒを表示した。
画像データ中のマークセル００１Ｒは、図１５に示されるように、入出力時のノイズの影響により２次元コード生成時の画像（図１１）からの変動を有する。これにより、各画素００７において、マーク領域：２８〜１２８程度、空白領域：１０２〜２０４程度、の階調からなる。
【００６８】
＜２次元コード解読部＞
２次元コード解読部３２０は、２次元コード入力部３１０で取得した画像データにおいて２次元コードを解読する。その後、解読して得られたビット列をデータ出力部３３０に受け渡す。
本形態の２次元コード解読部３２０は、図１４に示されるように、画像変換手段３２１、位置決め手段３２２、セル判定手段３２３、デコード手段３２４、データ変換・検証手段３２５、で構成される。各手段は、サーバＭ０１において、予め用意したプログラムを実行して実現した。
以下、画像変換手段３２１、位置決め手段３２２、セル判定手段３２３、デコード手段３２４、データ変換・検証手段３２５、について記述する。
【００６９】
＜画像変換手段＞
画像変換手段３２１は、２次元コード入力部３１０から入力された画像データを、位置決め手段３２２とセル判定手段３２３の解析に適した画像に変換する。当該変換により、位置決め手段３２２で利用する位置決め用画像データ、及び、セル判定手段３２３で利用するセル判定用画像データ、を取得する。得られた画像データは、サーバＭ０１のメモリ領域に記憶した。
【００７０】
セル判定用画像データは、各画素において、ＣＭＹ成分の０〜１の値で表した。例えば、変換前の画像データがＲＧＢ２４ビットカラー表現の場合、各色成分（レッドＲ，グリーンＧ，ブルーＢ）の２５６階調を、（シアンＣ，マゼンタＭ，イエローＹ）の０〜１の値に変換した。
当該変換は、数１に表される数式を用いて実施した。数１は、画素（Ｒｏｗ，Ｃｏｌｕｍｎ）における各色成分の値の変換を意味する。
【数１】
0005356702.tif 000007
単一の色成分（レッドＲ）に関する図１５の例では、各画素におけるＲＧＢ成分の階調は、ＣＭＹ成分の値に変換され、マーク領域：０．５〜０．９程度、空白領域：０．２〜０．６程度、となる。
【００７１】
位置決め用画像データは、前記セル判定用画像データに更に処理を施した。これにより、各画素において、複数の色成分から最大の値を選択し、１つの値を保持するようにした。例えば、各画素（シアンＣ，マゼンタＭ，イエローＹ）から、変換後は唯一つの最大値Ｄに変換した。
当該変換は、数２に表される数式を用いて実施した。数２において、Ｍａｘ（ｘ，ｙ，ｚ）は、３つの値（ｘ，ｙ，ｚ）から最大の値を選択する関数である。
【数２】
0005356702.tif 000008
【００７２】
＜位置決め手段＞
位置決め手段３２２は、画像変換手段３２１から入力された位置決め用画像データにおいて位置決めマークを検出し、２次元コードの位置を特定する。
本形態の位置決め手段３２２は、図１６に示されるように、コード領域抽出Ｐ１０１、画像情報取得Ｐ１０２、コード領域走査Ｐ１０３、位置決めマーク選定Ｐ１０４、の各ステップで構成される。これらのステップを実現する手段として、サーバＭ０１に実行プログラムを用意した。
以下、位置決め手段３２２の各ステップについて記述する。
【００７３】
＜コード領域抽出Ｐ１０１＞
コード領域抽出Ｐ１０１のステップでは、画像データから２次元コード全体を含む領域を抽出する。その際、画像変換手段３２１で得られた位置決め用画像データに対して処理を行った。本形態のコード領域抽出Ｐ１０１は、以下の方法により実施した。
【００７４】
コード領域は、格子状に配置したセル上のマークと空白領域とでコントラストを有する。一方、コード領域の周囲に存在する空白領域では、前記コントラストが低いと想定される。これにより、マーク領域／空白領域のコントラストが高いコード領域と、低い空白領域とで構成される領域を抽出する。
本形態では、コード領域の判定に数３を用いた。
【数３】
0005356702.tif 000009
数３において、Ｖｃ、及び、Ｖｓは、各々コード領域、周囲の空白領域におけるマーク領域／空白領域のコントラストの大きさを意味する。数３により、指標Ｊｃが大きい領域を所望のコード領域と見なした。
数３におけるＰ１は、位置決めパラメータであり、プロセス制御手段３２６により管理される。
Ｖｃ、及び、Ｖｓは、図１７（拡大図）に示されるように、セル領域として想定される領域から複数の階調を取得して算出した。これにより、マーク領域０３１、及び、空白領域０３２（マーク間の中間）の画素から階調を取得した。ＤｍａｘとＤｍｉｎは、セル領域０３０から取得した階調の最大値と最小値を表す。また、関数Ｆｍｃ（）は、コード領域のセル（計６４セル）に対する平均を意味する。同様に、関数Ｆｍｓ（）は、周囲１セル幅で想定した空白領域のセル（計３６セル）に対する平均を意味する。
【００７５】
コード領域は、数３の指標Ｊｃを算出しながら画像データを走査し、当該Ｊｃが最も大きい領域を抽出した。その際、図１７のセルの想定サイズを縮小／拡大することで、画像データ中の２次元コードの表示サイズに対応した。抽出されたコード領域は、４隅（左上、右上、左下、右下）の画素位置を指定して他ステップの処理に用いた。
【００７６】
＜画像情報取得Ｐ１０２＞
画像情報取得Ｐ１０２のステップでは、コード領域抽出Ｐ１０１のステップで抽出された領域から画像情報を取得する。その際、画像情報取得Ｐ１０２の処理は、画像変換手段３２１で得られた位置決め用画像データに対して行った。本形態の画像情報取得Ｐ１０2は、以下の方法により実施した。
【００７７】
本形態の画像情報は、前記コード領域を対象として階調分布を求め、この分布を基に算出した。本形態における階調分布の例を図１８に示す。図１８において、横軸は階調を、縦軸は各階調の頻度を示す。本形態では、階調の刻みは０．０２とし、例えば、階調０．５の頻度は０．５０〜０．５２の範囲に含まれる。
図１８に示されるように、通常、階調の分布には、マーク領域と空白領域に対応する２つのピークが存在する。本形態の画像情報は、各ピークの階調を求め、マーク領域の指標Ｍｍ、及び、空白領域の指標Ｍｖ、を定めた。
【００７８】
＜コード領域走査Ｐ１０３＞
コード領域走査Ｐ１０３のステップでは、コード領域抽出Ｐ１０１のステップで抽出された領域を走査し、位置決めマークの画像パターンを検出する。その際、コード領域走査Ｐ１０３の処理は、画像変換手段３２１で得られた位置決め用画像データに対して行った。本形態のコード領域走査Ｐ１０３は、以下の方法により実施した。
【００７９】
コード領域走査Ｐ１０３は、図１９に示されるように、照合パターン００８を用いて照合しながら画像データを走査する。その際、照合された画像の判定行い、適合する場合に代表画素の位置を記憶する。本形態では、代表画素として、想定されるマーク領域の左上の画素を選んだ。これにより、画像データ中の画像パターンを検出していく。これらの一連のプロセスは、図２０のフローチャートに示した手順により実施した。
照合パターン００８は、マーク領域とその周囲の空白領域で構成される。本形態の照合パターン００８としては、３×３画素のマーク領域の周囲に１画素の空白領域を想定した全体で５×５画素のパターンを用いた（図１９）。
【００８０】
照合された画像の判定は、マーク領域と空白領域の各領域から階調の平均（Ｄｍ、及び、Ｄｖ）を算出し、これらを判定式（数４）に代入して行った。すなわち、判定式（数４）を満たす場合に、所望の画像パターンに適合すると見なした（図２１）。
【数４】
0005356702.tif 000010
平均Ｄの算出には、公知の計算式であるＤ＝Σｄｉ／ｎ、を用いた。ただし、ｎは画素数、ｉは画素番号、ｄｉは画素ｉの階調、Σは各領域における画素の和、を意味する。
Ｍｍ及びＭｖは、画像データに応じた変数で、画像情報取得Ｐ１０２のステップで得られた画像情報（Ｍｍ、及び、Ｍｖ）を利用した。
Ｓｍ及びＳｖは、許容レベルを表す変数で、本形態では、ＭｍとＭｖを用いて「Ｓｍ＝Ｓｖ＝Ｍｍ−Ｍｖ」とした。
巣４におけるＰ２は、位置決めパラメータであり、プロセス制御手段３２６により管理される。
【００８１】
＜位置決めマーク選定Ｐ１０４＞
位置決めマーク選定Ｐ１０４のステップでは、コード領域走査Ｐ１０3のステップで検出されたマークの中から位置決めマークを選出する。これにより、特定された位置を位置データとして取得する。本形態において、位置決めマーク選定Ｐ１０４は、以下の方法により実施した。
【００８２】
本形態の位置決めマーク０２０は、図３に示されるように、四角形からなるコード領域の４隅に配置する。位置決めマーク選定Ｐ１０４は、コード領域走査Ｐ１０３のステップで取得された位置決めマークを含む検出位置の集合から４隅の配置を選出する。
４隅の選出において、図２２に示されるように、検出位置を通る傾き「−１」（Ｃｏｌｕｍｎ軸から１３５度）、及び、傾き「１」（Ｃｏｌｕｍｎ軸から４５度）の直線（Ｌ１〜Ｌ４）を想定し、検出位置の集合からＲｏｗ軸切片が最小／最大の配置を選定した。
図２２において、「（Ｒｏｗ座標）＋（Ｃｏｌｕｍｎ座標）」が最小となる直線Ｌ１から左上位置０２１を、「（Ｒｏｗ座標）−（Ｃｏｌｕｍｎ座標）」が最小となる直線Ｌ２から右上位置０２２を、「（Ｒｏｗ座標）−（Ｃｏｌｕｍｎ座標）」が最大となる直線Ｌ３から左下位置０２３を、「（Ｒｏｗ座標）＋（Ｃｏｌｕｍｎ座標）」が最大となる直線Ｌ４から右下位置０２４を、各々選出した。
【００８３】
本形態の位置データは、選出された４隅の位置決めマークの画素位置からなる。すなわち、図２２において、左上位置０２１（Ｒｔｌ，Ｃｔｌ）、右上位置０２２（Ｒｔｒ，Ｃｔｒ）、左下位置０２３（Ｒｂｌ，Ｃｂｌ）、右下位置０２４（Ｒｂｒ，Ｃｂｒ）、を位置データとした。
【００８４】
＜セル判定手段＞
セル判定手段３２３は、画像変換手段３２１から入力されたセル判定用画像データにおいて、位置決め手段３２２で取得した位置データを利用して、各セルの表示を判定して特定する。
本形態のセル判定手段３２３は、図２３に示されるように、セル領域算出Ｐ２０１、セル領域走査Ｐ２０２、参照情報取得・検証Ｐ２０３、セル表示判定Ｐ２０４、の各ステップで構成される。これらのステップを実現する手段として、サーバＭ０１に実行プログラムを用意した。
【００８５】
＜セル領域算出Ｐ２０１＞
セル領域算出Ｐ２０１のステップでは、位置決め手段３２２で取得した位置データを用いて、各セル領域を算出する。本形態のセル領域算出Ｐ２０１は、以下の方法により実施した。
【００８６】
格子状に配列したセルに対し、まず、４隅の位置決めマーク間を結ぶ線分をセル数で等分し、４隅を結ぶ辺上に配置されたセル領域を算出した。次に、対辺のセル同士を結ぶ線分を、Ｒｏｗ方向、及び、Ｃｏｌｕｍｎ方向に算出して、格子内部に配置されたセル領域を算出した。その際、セル領域の指定は、セル領域内の左上位置を代表画素とした。また、四捨五入して整数とした。
【００８７】
＜セル領域走査Ｐ２０２＞
セル領域走査Ｐ２０２のステップでは、画像データにおいて各セル領域を走査することで、色成分ごとにセルの階調を取得する。その際、セル領域として、セル領域算出Ｐ２０１のステップで取得した領域を用いた。本形態のセル領域走査Ｐ２０２は、以下の方法により実施した。
【００８８】
本形態のセル領域走査Ｐ２０２は、位置決め手段３２１におけるコード領域走査Ｐ１０３ステップと同様、照合パターン００８を用いて照合しながら走査した（図１９）。これにより、各セルのマーク位置を検出した。また、検出されたマーク位置において、セルのマーク有無を判定するための指標（セル指標）を取得した。
本形態では、前記セル指標を色成分ごとに取得した。すなわち、（シアンＣ，マゼンタＭ，イエローＹ）のセル指標を取得した。その際、マーク位置の検出には数５を用い、セル指標（Ｊｍｃ，Ｊｍｍ，Ｊｍｙ）を取得した。得られたセル指標（Ｊｍｃ，Ｊｍｍ，Ｊｍｙ）は、サーバＭ０１のメモリ領域に記憶した。
【数５】
0005356702.tif 000011
Ｄｍ、及び、Ｄｖは、各々マーク領域、空白領域における階調の平均である。これらを用いて、色成分ごとに（Ｄｍ−Ｐ３×Ｄｖ）が最大の位置をマーク位置とした。
数５におけるＰ３は、セル判定パラメータであり、プロセス制御手段３２６により管理される。
【００８９】
走査範囲としては、セル領域算出Ｐ２０１ステップから想定されるマーク位置を中心として、Ｒｏｗ方向、及び、Ｃｏｌｕｍｎ方向に、隣接マークまでの距離の１／２の範囲を対象とした。また、セル領域の走査は、色成分ごとに実施した。
セル領域走査Ｐ２０２に関する一連のプロセスを、図２４のフローチャートに示した。図２４に示されるように、各色成分のセル指標を全てのデータセルから取得した。
【００９０】
＜参照情報取得・検証Ｐ２０３＞
参照情報取得・検証Ｐ２０３のステップでは、予め表示が固定されたセルから参照情報を取得する。その際、セル領域走査Ｐ２０２のステップで取得したセル指標を利用した。また、取得した参照情報を検証し、想定される２次元コードの妥当性を評価した。
本形態の参照情報の取得は、セル領域走査Ｐ２０２で位置を決定するステップと、当該位置においてセル階調を取得し、参照情報として取得するステップ（参照情報取得・検証Ｐ２０３）と、を別のステップに分けて実施した。
本形態の参照情報取得・検証Ｐ２０３は、以下の方法により実施した。
【００９１】
本形態において、参照情報を取得する際には、参照マーク０３０、及び、位置決めマーク０２０、のセル指標を利用した（図３）。これにより、参照マーク（０３０Ｗ、０３０Ｃ、０３０Ｍ、０３０Ｙ、０３０Ｒ、０３０Ｇ、０３０Ｂ）から、白色Ｒｗ、シアンＲｃ、マゼンタＲｍ、イエローＲｙ、レッドＲｒ、グリーンＲｇ、ブルーＲｂ、の参照情報を取得した。また、位置決めマーク（０２０）からは、黒色Ｒｋの参照情報を取得した。
取得する参照情報は、複数の色成分のセル指標で構成される。本形態においては、例えば、ある色成分の参照マークＲｘから（Ｒｘｃ，Ｒｘｍ，Ｒｘｙ）として、ＣＭＹ成分の値を取得した。取得した参照情報は、サーバＭ０１のメモリ領域に記憶した。
図２５において、各ＣＭＹ成分の値を軸として構成されるＣＭＹ色空間に、参照情報（Ｒｗ，Ｒｃ，Ｒｍ，Ｒｙ，Ｒｒ，Ｒｇ，Ｒｂ，Ｒｋ）をプロットした。入出力時の影響を受けた参照情報は、図２５に示されるように、各頂点を結ぶ立体図形が正立方体とはならずに歪みを有する。
【００９２】
本形態において、参照情報の検証は、画像データが保持する各色成分において、参照情報（Ｒｗ，Ｒｃ，Ｒｍ，Ｒｙ，Ｒｒ，Ｒｇ，Ｒｂ，Ｒｋ）の階調が適正であるか評価した。
表６に、各色成分に対して、該当する色成分の有／無の組合せを、それ以外の色成分の有／無が共通となるように分類して表示した。
【表６】
0005356702.tif 000012
表７に、表６における各色成分の有／無の組合せに対して、当該色成分を有する参照情報と、有しない参照情報と間の階調差を示した。参照情報が適正である場合には、表７に示された各々の指標（階調差）は正の値をとる。
【表７】
0005356702.tif 000013
本形態では、想定される２次元コードとして、表７の指標が全て正である場合を「適正」、１つでも負が存在する場合を「不適」、と判断した。また、評価により「不適」と判断された場合は、位置決めエラーＥ２−1とした。
セル判定手段３２３の参照情報取得・検証Ｐ２０３のステップで検出されたエラーは、プロセス制御手段３４１に出力した。
【００９３】
＜セル表示判定Ｐ２０４＞
セル表示判定Ｐ２０４のステップは、各セルを判定して表示を特定する。その際、セル領域走査Ｐ２０２のステップ取得したセル指標、及び、参照情報取得・検証Ｐ２０３のステップで取得した参照情報を利用した。
本形態のセル表示の判定は、セル領域走査Ｐ２０２で位置を決定するステップと、当該位置においてセル階調を取得し、表示を判定するステップ（セル表示判定Ｐ２０４）と、を別のステップに分けて実施した。
本形態のセル表示判定Ｐ２０４は、以下の方法により実施した。
【００９４】
セルの判定は、各セルにおいてセル指標を判定式（数６）に代入して行った。これにより、色成分ごとにマークの有無を判定した。すなわち、判定式：数６のＪｄにおいて、Ｊｄ≧０の場合には、該当する色成分のマークが存在すると見なした。また、Ｊｄ＜０の場合はマークが存在しないと見なした。
【数６】
0005356702.tif 000014
数６において、変数（ｘ，ｙ，ｚ）に対して、各色成分のセル指標（Ｊｍｃ，Ｊｍｍ，Ｊｍｙ）を代入する。ただし、変数ｘには判定する色成分の値を、変数ｙとｚには他の色成分の値を、各々対応させて代入した。表８に、判定の対象となる色成分ごとに、変数（ｘ，ｙ，ｚ）と対応する色成分との関係を示す。
【表８】
0005356702.tif 000015
【００９５】
数６のｂ，ｃ，ｄは、判定の対象となる色成分ごとに、参照情報（Ｒｗ，Ｒｃ，Ｒｍ，Ｒｙ，Ｒｒ，Ｒｇ，Ｒｂ，Ｒｋ）を用いて算出した。
（ｘｉ，ｙｉ，ｚｉ）は、表６に示された組合せにより、判定の対象となる色成分の有／無で分類された２つの参照情報を基に算出した。Σは、表６に示された４つ全ての組合せに対して和を計算した。
数７に、（ｘｉ，ｙｉ，ｚｉ）の算出に利用した数式を示す。
【数７】
0005356702.tif 000016
数７において、（ｘ１ｉ，ｙ１ｉ，ｚ１ｉ）は判定の対象となる色成分を有する参照情報Ｒ１を、（ｘ０ｉ，ｙ０ｉ，ｚ０ｉ）は前記色成分を有しない参照情報Ｒ０を、各々代入した。ただし、（ｘ１ｉ，ｙ１ｉ，ｚ１ｉ）、及び、（ｘ０ｉ，ｙ０ｉ，ｚ０ｉ）は、変数（ｘ，ｙ，ｚ）と同様、表８の関係を用いて取得した。
数７におけるＰ４は、セル判定パラメータであり、プロセス制御手段３２６により管理される。
【００９６】
以下、本形態の判定式である数６について記述する。図２６は、参照情報を頂点とする立体図形（図２５）と、数６の判定面（Ｊｄ＝０）との関係を、ＣＭＹ色空間に表示した例である。図２６の判定面は、Ｃ成分のマーク有無を判定するものであり、セル指標がＣ成分の軸方向正側（Ｊｄ≧０）にプロットされる場合をマーク有り、負側（Ｊｄ＜０）の場合をマーク無しと判定する。
図２６の判定面は、表８に示される組合せにより、判定する色成分の有無で参照情報を２つの集合に分類する。これは同時に、図２６の判定面が、他の色成分の組合せが同じ４組（Ｒｗ，Ｒｃ）、（Ｒｙ，Ｒｇ）、（Ｒｍ，Ｒｂ）、（Ｒｒ，Ｒｋ）の各２点間を結ぶ線分と交わる（Ｉ１、Ｉ２、Ｉ３、Ｉ４）ことを意味する。
判定面は、図２６に示されるような平面の場合に限定されない。例えば、２次曲面でも良く、その場合の判定式は２次式となる。
【００９７】
セル表示判定Ｐ２０４に関する一連のプロセスを、図２７のフローチャートに示した。図２７に示されるように、セル表示の判定は、色成分ごとに全てのデータセルに対して行った。
【００９８】
＜デコード手段＞
デコード手段３２４は、セル判定手段３２３で特定されたセルの表示を、予め定められた規則に基づいてビット列に復元する。ビット列への復元は、エンコード手段２２１と逆の処理を施すことで実現した。本形態におけるビット列復元の概念図を図２８に示す。
図２８において、色成分ごとに特定されたセル表示（１１０Ｃ、１１０Ｍ、１１０Ｙ）に対し、「マーク有り」を「１」に、「マーク無し」を「０」に、各々対応させた。その際、エンコード手段２２１で用いた割り当て規則を利用し、逆のプロセスによりコードデータＤ２０を取得した。
【００９９】
＜データ変換・検証手段＞
データ変換・検証手段３２５は、デコード手段３２４で取得したコードデータＤ２０から、データベースのレコード番号Ｄ００を取得する。データ変換・検証手段３２５は、データ変換手段２２２と逆の処理を施すことで実現した（図９）。ただし、コードデータＤ２０は、データエラーを含む可能性がある。
【０１００】
データＤ０３は、コードデータＤ２０に対してデータ分離（Ｃ２０）、ビット位置復号（Ｃ０３）して取得され、データエラーを含む可能性がある。当該データＤ０３に対し、誤り訂正符号の復号化処理（Ｃ０２）が施され、データＤ０２が取得される。これにより、データＤ０３のエラーは誤り訂正が施される。また、エラーが訂正不能の場合、誤り検出が施される。エラーが訂正不能で誤り検出がなされた場合、データエラーとして検出する。本形態においては、当該データエラーは、セル判定エラーＥ３−１とした。
データＤ０２は、暗号の復号化処理（Ｃ０１）が施され、データＤ０１が取得される。取得されたデータＤ０１は、２次元コード発行時に付加した冗長ビットを利用してデータエラーを検証する。本形態においては、データベース１２０に記録されたビット列と、ビット列Ｄ０１の上位１０ビットとの一致を検証した。冗長ビットが一致しない場合は、データエラーとして誤り検出する。
データ変換・検証手段３２５において検出されたエラーは、プロセス制御手段３４１に出力した。
【０１０１】
＜データ出力部＞
データ出力部３３０は、２次元コード解読部３２０で得られたビット列を出力する。本形態において、データベース１２０のレコード番号Ｄ００を、データベース１２０の管理プログラムに出力した。また、出力したレコード番号Ｄ００をデータベース１２０と照合し、不整合がある場合にエラーとして検出した。
本形態のデータ出力部３３０は、図１４に示されるように、データ出力手段３３１で構成される。データ出力手段３３１は、サーバＭ０１において、予め用意したプログラムを実行することで実現した。データ出力手段３３１における２次元コードの解読とデータベースの管理は、異なるコンピュータで処理しても良く、この場合、コンピュータ間で情報を送受信する。その際の通信には、既存の通信技術を利用する。
【０１０２】
データベース１２０の管理プログラムは、データベースを検索してレコード番号Ｄ００に一致するレコードを抽出する。これにより、当該レコードに記述されたアドレスを参照し、保存されたコンテンツを特定する。その後、コンテンツは、２次元コード取得装置Ｍ０３に送信する等、前記レコードに記述された動作種別（表１）に応じた動作が施される。
動作の第１例：携帯端末に送信（表１：Ａ０００）の例では、コンテンツをメール機能を用いて返信した。コンテンツは、２次元コード取得装置Ｍ０３である携帯端末が受信した後、ディスプレイに表示される等してユーザに利用される。また、一般のデジタル情報として、ユーザによる加工や、他の装置への転送、等が施されても良い。
【０１０３】
データベースの検索により抽出されたレコードにおいて、不整合が存在する場合にはエラーとして検出した。本形態の不整合は、表２に示されるようにデータベースに２次元コードのステータス（１＝「復元可」、０＝「不可」）を記録するフィールドを設け、レコードごとに管理した。
本形態のデータベースは、総レコード数のうちステータス＝「１」（復元可）のレコード数を制限した。これにより、少なくとも１０ビット以上のレコードをステータス＝「０」（復元不可）とした。この場合、エラー検出が可能となり、レコード管理のセキュリティが確保される。
データ出力手段３３１で検出されたエラーは、プロセス制御手段３４１に出力した。
【０１０４】
＜プロセス制御部＞
プロセス制御部３４０は、復元プロセスで検出されたエラーの処理を制御する。その際、解析パラメータを変更して復元プロセスを繰り返すことで、エラー回避を試みる。エラー回避不能の場合は、２次元コードを送信した２次元コード取得装置Ｍ０３にエラーを出力する。
本形態のプロセス制御部３４０は、図１４に示されるように、プロセス制御手段３４１で構成される。プロセス制御手段３４１は、サーバＭ０１において、予め用意したプログラムを実行することで実現した。
【０１０５】
本形態におけるエラーは、２次元コード入力手段３１１、セル判定手段３２３、データ変換・検証手段３２５、データ出力手段３３１、で検出される。表９は、前記エラーにおける、エラー種別とその判定条件、エラー事由、エラーに対する処理、を表示する。本形態のプロセス制御手段３４１は、表９に示されるように、エラー種別ごとに定められた処理を行う。
【表９】
0005356702.tif 000017
本形態の解析パラメータである、位置決めパラメータ、及び、セル判定パラメータには複数の水準を用意した（表１０）。
【表１０】
0005356702.tif 000018
【０１０６】
エラー種別として位置決めエラーＥ２−１が検出された場合、位置決めパラメータを変更して、再度、位置決め手段３２１による位置決めを実施する。位置決めパラメータとしては、位置決め手段３２１において、コード領域抽出Ｐ１０１ステップの数３におけるＰ１、及び、コード領域走査Ｐ１０３ステップの数４におけるＰ２、を用いた。
画像データ中の２次元コードの回転角度を検証するため、回転角度Ｐ０を、位置決めパラメータとして用いた。すなわち、水準１の場合は回転させず、水準２の場合は時計方向に９０°、水準３の場合は１８０°、水準４の場合は２７０°、時計回りに回転させて、それぞれの参照情報を評価した。本形態のように、位置決めマークが回転対称に配置された場合であっても、前記参照セルの表示を回転対称とならない（回転非対称）ように配置し、かつ、２次元コード復元時に参照セルを検証することにより、画像データ中の２次元コードの回転方向を特定することを可能とする。
【０１０７】
図２９に、セル判定手段３２３において位置決めエラーＥ２−１が検出された場合のフローチャートを示す。位置決めの繰返しは、位置決めエラーＥ２−１が検出されない、若しくは、予め定めたフローが終了するまで繰り返される。これにより、位置決めエラーＥ２−１が検出されない場合は、デコード手段３２４以降のプロセスに入る。一方、フローが終了した場合は、復元プロセスを停止してエラーを出力する。
表１１に、位置決めパラメータ（Ｐ１及びＰ２）の設定順序を表示した。ただし、位置決めパラメータＰ０の水準１〜４の繰返しは、表１１の設定（繰返し順1〜５）の各々に対して適用した。本形態においては、表１１に示された一連の設定（繰返し順１〜５）が終了した場合は、位置決めの繰返しを終了とした。
【表１１】
0005356702.tif 000019
【０１０８】
エラー種別としてセル判定エラーＥ３−１が検出された場合、セル判定パラメータを変更して、再度、セル判定手段３２３によるセル判定を実施する。セル判定パラメータとしては、セル判定手段３２３において、セル領域走査Ｐ２０２ステップの数５におけるＰ３、及び、セル表示判定Ｐ２０４ステップの数７におけるＰ４、を用いた。
【０１０９】
図３０に、データ変換・検証手段３２５においてセル判定エラーＥ３−１が検出された場合のフローチャートを示す。セル判定の繰返しは、セル判定エラーＥ３−１が検出されない、若しくは、予め定めたフローが終了するまで繰り返される。これにより、セル判定エラーＥ３−１が検出されない場合は、データ出力手段３３１以降のプロセスに入る。一方、フローが終了した場合は、復元プロセスを停止してエラーを出力する。
表１２に、セル判定パラメータ（Ｐ3及びＰ4）の設定順序を表示した。本形態においては、表１２に示された一連の設定（繰返し順１〜５）が終了した場合は、セル判定の繰返しを終了とした。
【表１２】
0005356702.tif 000020
【０１１０】
本形態のプロセス制御手段３４１は、エラー回避不能の場合にはエラーを出力する。その際、表９の「エラー種別」、及び／又は、「エラー事由」を、２次元コード取得装置Ｍ０３に対して送信した。更に、エラー種別がＥ３−１（セル判定エラー）の場合は、エラーを解析してその結果を送信した。
エラー要因の解析には、表１３の判定条件を用いた。判定条件を満たす場合に、表９の「エラー要因」、及び／又は、「撮像アドバイス」、を取得した。
【表１３】
0005356702.tif 000021
エラー要因の解析（表１３の判定条件）には、位置決めマークの位置（４箇所）、及び、参照情報、等を用いた。これらの値は、予め復元プロセスで取得してメモリ領域に記憶した。ただし、黒色マークの階調（黒色の参照情報）は、本形態の場合は位置決めマークから取得した。また、コード領域の周囲に存在する空白領域から階調を取得し、「空白領域の階調」とした。
表１３におけるエラー判定は、「順位」に示された番号順に行った。条件が一致した時点でエラー解析のプロセスを終了し、エラー要因を特定した。
【０１１１】
本形態において、プロセス制御手段３４１で取得したエラー情報（エラー種別、エラー事由、エラー要因、撮像アドバイス）は、２次元コード取得装置Ｍ０３である携帯端末に送信した。送信されたエラー情報は、携帯端末に付属するディスプレイにテキスト表示される。これにより、携帯端末を操作するユーザは、エラー情報を参照し、エラーに対する対処を決定する。
エラー解析により「エラー要因」、及び／又は、「撮像アドバイス」が取得された場合、ユーザはエラー情報を参照して再び２次元コードを撮像する。この場合、ユーザによりエラー要因は修正され、２次元コードが復元可能となる。
本形態の「撮像アドバイス」としては、撮像時におけるカメラと２次元コードとの間の距離（ズーム機能を含む）、撮像角度、撮像時の明るさ（フラッシュや表示装置の発光レベルを含む）、撮像時の焦点（マクロモードを含む）、等に関することを記述した。
【０１１２】
＜２次元コード復元フロー＞
本形態の２次元コード復元プロセスにおいて、サーバＭ０１、及び、２次元コード取得装置Ｍ０３である携帯端末における動作と、当該装置間でなされる通信の例を、以下、図３１を用いて説明する。ただし、図３１の例では、動作種別としてコンテンツを携帯端末Ｍ０３に送信する場合を想定した。
【０１１３】
Ｓ２０１：サーバＭ０１は携帯端末Ｍ０３からのアクセスを待ち受ける。
Ｓ２０２：ユーザＢは撮像機能を有する携帯端末Ｍ０３で、２次元コードを撮像する。
Ｓ２０３：携帯端末Ｍ０３は、２次元コードの画像データをサーバＭ０１に送信する。
Ｓ２０４：サーバＭ０１は、受信した画像データの２次元コードを解読し、データベース１２０のレコード番号を取得する。解読不能の場合は、ステップＳ２０６において、携帯端末Ｍ０３にエラー情報を送信する。
Ｓ２０５：前記レコード番号のレコードにアクセスして、動作種別とコンテンツの保存アドレスを取得する。
Ｓ２０６：保存アドレスのコンテンツを携帯端末Ｍ０３に送信する。解読エラーの場合は、コンテンツではなくエラー情報を送信する。
Ｓ２０７：エラー情報を基に、携帯端末Ｍ０３にエラー内容を表示する。その際、特定された場合は、復元プロセスにおけるエラー要因、及び／又は、撮像アドバイスを表示する。
Ｓ２０８：コンテンツが特定された場合（エラーなし）は、携帯端末Ｍ０３はコンテンツを取得し、ユーザＢはこれを目的に応じて活用する。
Ｓ２０９：解読不能となりコンテンツが特定されない場合（エラーあり）は、ユーザＢは、携帯端末Ｍ０３に表示されたエラー内容を確認する。その際、特定された場合には、エラー要因、及び／又は、撮像アドバイスを参照して２次元コードを撮像し（Ｓ２０２）、再び、上記のフローを繰り返す。
【０１１４】
本形態において、サーバＭ０１と携帯端末Ｍ０３との間のデータ送受信は、携帯端末Ｍ０３が備えるメール機能を利用し、電子メールにて行った。
サーバＭ０１は、電子メールを受信することで、２次元コードの画像データ、及び、携帯端末Ｍ０３のメールアドレスを取得する。例えば、２次元コードの解読により特定したコンテンツを携帯端末Ｍ０３に出力する場合には、取得したメールアドレスに宛ててメール送信した。
携帯端末Ｍ０３のメール機能は、携帯端末Ｍ０３に一般に備えられたメール送受信手段を用いた。一般に、メール本文の他、ファイルを添付する機能を有し、２次元コードの画像データや、電子データであるコンテンツを送受信した。受信したメールは、携帯端末Ｍ０３に備えられたメーラーを用いて、タイトル、日付、等が一覧表示される。
コンテンツがテキストデータの例では、メール本文に前記テキストデータを挿入した。例えば、ＷＥＢアドレスをユーザＢに送信する場合、メール本文に当該ＷＥＢアドレスを記載した。ユーザＢは、これを指定して携帯端末からアクセス可能となる。
【０１１５】
本形態のサーバＭ０１は、ＳＭＴＰ（Ｓｉｍｐｌｅ  Ｍａｉｌ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）、及び、ＰＯＰ（Ｐｏｓｔ  Ｏｆｆｉｃｅ  Ｐｒｏｔｏｃｏｌ）を利用したメールサーバ機能を備える。
サーバＭ０１は、メール受信に際し、不正なメールを削除するフィルタリング処理を行った。本形態のフィルタリング処理として、携帯データ通信事業者以外から送信されたメールは排除した。その際、判定はメールアドレスから行った。また、不正アドレスリストに登録されたメールアドレスからのメールも排除した。更に、添付された画像データの画像形式、及び／又は、サイズ（例えば、形式：ＪＰＥＧ、サイズ：１０Ｋバイト〜１Ｍバイト）が適切でない場合は排除した。
【図面の簡単な説明】
【０１１６】
【図１】装置構成を示す図である。
【図２】２次元コードを示す図である。
【図３】２次元コードのセル配置を示す図である。
【図４】２次元コードの一色成分の一部領域を示す図である。
【図５】マークセルを示す図である。
【図６】連続した２セル（横方向、縦方向）を示す図である。
【図７】お化粧マークに割り当てられたセルを示す図である。
【図８】２次元コード発行プロセスを示す図である。
【図９】データ変換フローを示す図である。
【図１０】セル表示決定の概念図を示す図である。
【図１１】画像データのマークセル（一色成分）を示す図である。
【図１２】画像データの空白セル（一色成分）を示す図である。
【図１３】２次元コード発行プロセスの装置間の通信を示す図である。
【図１４】２次元コード復元プロセスを示す図である。
【図１５】画像データのマークセル（一色成分）を示す図である。
【図１６】位置決め手段を構成するステップを示す図である。
【図１７】コード領域抽出の際に階調を取得する位置を示す図である。
【図１８】コード領域における階調分布の例を示す図である。
【図１９】照合パターンの照合による画像の走査を示す図である。
【図２０】コード領域走査のフローチャートを示す図である。
【図２１】判定式による判定の領域を示す図である。
【図２２】位置決めマーク選定の直線を示す図である。
【図２３】セル判定手段を構成するステップを示す図である。
【図２４】セル領域走査のフローチャートを示す図である。
【図２５】ＣＭＹ色空間における参照情報のプロットを示す図である。
【図２６】ＣＭＹ色空間における判定面を示す図である。
【図２７】セル表示判定のフローチャートを示す図である。
【図２８】ビット列復元の概念図を示す図である。
【図２９】位置決めエラー検出時のフローチャートを示す図である。
【図３０】セル判定エラー検出時のフローチャートを示す図である。
【図３１】２次元コード復元プロセスの装置間の通信を示す図である。
【符号の説明】
【０１１７】
００１…マークセル、００２…空白セル
００３…マーク領域、００４…空白領域
００８…照合パターン
０１０…データマーク
０１０Ｃ、０１０Ｍ、０１０Ｙ…データマーク（シアン、マゼンタ、イエロー）
０１０Ｒ、０１０Ｇ、０１０Ｂ…データマーク（レッド、グリーン、ブルー）
０１０Ｋ、０１０Ｗ…データマーク（黒色、白色）
０２０…位置決めマーク
０３０…参照マーク
０３０Ｃ、０３０Ｍ、０３０Ｙ…参照マーク（シアン、マゼンタ、イエロー）
０３０Ｒ、０３０Ｇ、０３０Ｂ…参照マーク（レッド、グリーン、ブルー）
０３０Ｋ、０３０Ｗ…参照マーク（黒色、白色）
０４０…お化粧マーク
０４０Ｃ、０４０Ｍ、０４０Ｙ…お化粧マーク（シアン、マゼンタ、イエロー）
０４０Ｒ、０４０Ｇ、０４０Ｂ…お化粧マーク（レッド、グリーン、ブルー）
０４０Ｋ、０４０Ｗ…お化粧マーク（黒色、白色）
１００…２次元コード、１０１…２次元コード（８×８セル）
１２０…データベース
２００…２次元コード発行プロセス
２１０…データ入力部、２１１…データ入力手段
２２０…２次元コード生成部
２２１…データ変換手段、２２２…エンコード手段
２２３…画像作成手段、２２４…画像変換手段
２３０…２次元コード出力部、２３１…２次元コード出力手段
３００…２次元コード復元プロセス
３１０…２次元コード入力部、３１１…２次元コード入力手段
３２０…２次元コード解読部
３２１…画像変換手段、３２２…位置決め手段、３２３…セル判定手段
３２４…デコード手段、３２５…データ変換・検証手段
３３０…データ出力部、３３１…データ出力手段
Ｍ０１…サーバ
Ｍ０２…コンテンツ登録装置
Ｍ０３…２次元コード取得装置
【図１】
0005356702.tif 000022
【図４】
0005356702.tif 000023
【図５】
0005356702.tif 000024
【図６】
0005356702.tif 000025
【図８】
0005356702.tif 000026
【図９】
0005356702.tif 000027
【図１０】
0005356702.tif 000028
【図１２】
0005356702.tif 000029
【図１３】
0005356702.tif 000030
【図１４】
0005356702.tif 000031
【図１６】
0005356702.tif 000032
【図１７】
0005356702.tif 000033
【図１８】
0005356702.tif 000034
【図２０】
0005356702.tif 000035
【図２１】
0005356702.tif 000036
【図２２】
0005356702.tif 000037
【図２３】
0005356702.tif 000038
【図２４】
0005356702.tif 000039
【図２５】
0005356702.tif 000040
【図２６】
0005356702.tif 000041
【図２７】
0005356702.tif 000042
【図２８】
0005356702.tif 000043
【図２９】
0005356702.tif 000044
【図３０】
0005356702.tif 000045
【図３１】
0005356702.tif 000046
【図２】
0005356702.tif 000047
【図３】
0005356702.tif 000048
【図７】
0005356702.tif 000049
【図１１】
0005356702.tif 000050
【図１５】
0005356702.tif 000051
【図１９】
0005356702.tif 000052