(57)【要約】【課題】２次元コードの設置面積を拡大せずに、２次元コードの読み取り情報に変化を加えることができる２次元コードの処理装置を提供する。【解決手段】２次元コードおよびそれに上書きされたサインを撮影手段１１で撮影した撮影画像から、コード色を抽出することでコード画像を生成し、サイン色を抽出することでサイン画像を生成する撮影画像色分け手段１４１と、前記コード画像から２次元コードを検出してコードデータおよび２次元コード形状情報を抽出するコード検出手段１４２と、前記サイン画像から、前記２次元コード形状情報を用いてサインを検出し、サインの特徴とそれに対応付けられたサイン識別番号からなる特徴量データベース手段１４４を用いて、サイン識別番号を抽出するサイン検出手段１４３と、前記抽出されたコードデータおよびサイン識別番号を用いて、読み取り情報を生成する読み取り情報生成手段１４５とを備えた。【選択図】図１
2008027157.tif 000002
【特許請求の範囲】
【請求項１】
２次元コードと、該２次元コードの色であるコード色以外の色であるサイン色で該２次元コード内に上書きされたサインとを読み取り、得られたデータを組み合わせ処理する２次元コードの処理装置であって、
２次元コードを撮影し、撮影画像を生成する撮影手段と、
前記撮影画像から、コード色を抽出することでコード画像を生成し、サイン色を抽出することでサイン画像を生成する撮影画像色分け手段と、
前記コード画像から２次元コードを検出し、該２次元コードに含まれるコードデータおよび２次元コード形状情報を抽出するコード検出手段と、
前記サイン画像から、前記２次元コード形状情報を用いてサインを検出し、サインの特徴とそれに対応付けられたサイン識別番号からなる特徴量データベース手段を用いて、該サインを識別するサイン識別番号を抽出するサイン検出手段と、
前記抽出されたコードデータおよびサイン識別番号を用いて、読み取り情報を生成する読み取り情報生成手段と
を備えることを特徴とする２次元コードの処理装置。
【請求項２】
前記コードデータが、さらにサイン検出のためのサイン検出補助情報を保持し、
前記サイン検出手段は、前記サイン画像から、前記２次元コード形状情報および前記サイン検出補助情報を用いて、サインを検出することを特徴とする請求項１に記載の２次元コードの処理装置。
【請求項３】
前記コードデータがサイン識別番号を鍵として用いる所定の方式により暗号化されており、
前記読み取り情報生成手段が、前記サイン検出手段により抽出されたサイン識別番号を用いて、前記暗号化されたコードデータを復号し、読み取り情報を生成することを特徴とする請求項１又は２に記載の２次元コードの処理装置。
【請求項４】
前記コードデータが要素識別番号が割り振られた所定数の要素情報から構成され、
前記読み取り情報生成手段が、前記サイン識別番号に対応する要素識別番号を算出し、該要素識別番号に対応する要素情報をコードデータから抽出し、読み取り情報を生成することを特徴とする請求項１乃至３に記載の２次元コードの処理装置。
【請求項５】
所定の情報処理を実行するための命令情報を生成するために、
前記コードデータは所定の情報処理を実行させるための命令文を含み、
前記サインは、前記命令文に関連する付加情報として扱われる命令文字であり、
前記読み取り情報生成手段が、サイン識別番号とそれに対応付けられた文字の種類を識別する文字コード情報から成るサインデータベース手段によって、前記サイン検出手段により抽出されたサイン識別番号を文字コード情報に変換し、該文字コード情報を元に命令文字を特定し、
前記命令文と命令文字を結合し命令情報を読み取り情報として生成することを特徴とする請求項１又は２に記載の２次元コードの処理装置。
【請求項６】
２次元コードと、該２次元コードの色であるコード色以外の色であるサイン色で該２次元コード内に上書きされたサインとを読み取り、得られたデータを組み合わせ処理する２次元コードの処理方法であって、
撮影手段が、２次元コードを撮影し、撮影画像を生成する撮影ステップと、
撮影画像色分け手段が、前記撮影画像から、コード色を抽出することでコード画像を生成し、サイン色を抽出することでサイン画像を生成する撮影画像色分けステップと、
コード検出手段が、前記コード画像から２次元コードを検出し、該２次元コードに含まれるコードデータおよび２次元コード形状情報を抽出するコード検出ステップと、
サイン検出手段が、前記サイン画像から、前記２次元コード形状情報を用いてサインを検出し、サインの特徴とそれに対応付けられたサイン識別番号からなる特徴量データベース手段を用いて、該サインを識別するサイン識別番号を抽出するサイン検出ステップと、
読み取り情報生成手段が、前記抽出されたコードデータおよびサイン識別番号を用いて、読み取り情報を生成する読み取り情報生成ステップと
を備えることを特徴とする２次元コードの処理方法。
【請求項７】
前記コードデータが、さらにサイン検出のためのサイン検出補助情報を保持し、
前記サイン検出ステップは、前記サイン画像から、前記２次元コード形状情報および前記サイン検出補助情報を用いて、サインを検出することを特徴とする請求項６に記載の２次元コードの処理方法。
【請求項８】
前記コードデータがサイン識別番号を鍵として用いる所定の方式により暗号化されており、
前記読み取り情報生成ステップが、前記サイン検出手段により抽出されたサイン識別番号を用いて、前記暗号化されたコードデータを復号し、読み取り情報を生成することを特徴とする請求項６又は７に記載の２次元コードの処理方法。
【請求項９】
前記コードデータが要素識別番号が割り振られた所定数の要素情報から構成され、
前記読み取り情報生成ステップが、前記サイン識別番号に対応する要素識別番号を算出し、該要素識別番号に対応する要素情報をコードデータから抽出し、読み取り情報を生成することを特徴とする請求項６乃至８に記載の２次元コードの処理方法。
【請求項１０】
所定の情報処理を実行するための命令情報を生成するために、
前記コードデータは所定の情報処理を実行させるための命令文を含み、
前記サインは、前記命令文に関連する付加情報として扱われる命令文字であり、
前記読み取り情報生成ステップが、サイン識別番号とそれに対応付けられた文字の種類を識別する文字コード情報から成るサインデータベース手段によって、前記サイン検出手段により抽出されたサイン識別番号を文字コード情報に変換し、該文字コード情報を元に命令文字を特定し、前記命令文と命令文字を結合し命令情報を読み取り情報として生成することを特徴とする請求項６又は７に記載の２次元コードの処理方法。
【請求項１１】
請求項６乃至１０のいずれかに記載の２次元コードの処理方法をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、２次元コード認識およびサイン認識による情報取得技術に係り、２次元コードの処理装置、２次元コードの処理方法およびこの方法のプログラムに関する。
【背景技術】
【０００２】
ＱＲコードに代表される２次元コードは従来のバーコードよりも情報容量が大きく、ＵＲＬなどの文字列情報も保持できる。ＱＲコードの読み取り機能を持ったカメラ付き携帯電話が普及し、読み取った情報を元にネットワーク上のサービスにアクセスするといった仕組みが一般的になっている。
【０００３】
一方、印刷した２次元コードは１種類のデータしか情報を読み取ることができないという問題点がある。自分の電話番号とメールアドレスを埋め込んだ２次元コードを印刷した名刺を渡す場合、渡す相手によって教えたい番号やアドレスが異なることがある。
【０００４】
例えば、緊密に連絡を取らなければならない相手には、固定電話の電話番号だけではなく、普段は教えない携帯電話の番号を教えたり、プライベートでも付き合いが始まりそうな相手には、携帯電話のメールアドレスを追加で教えたりしたいという利用例が考えられる。この問題を解決する手法として、印刷した２次元コードに対して、読み取り前に何らかの手法で変化を与え、読み取り結果を変化させる手法がある。
【０００５】
従来のデータを読み込む基本部分と、カメラの画角の中で指で隠したりするための拡張部分からなるＡｃｔｉｖｅ  ＣｙｂｅｒＣｏｄｅがある。この手法は、下記非特許文献１に開示されているように、特定の拡張部分を撮影時に指で隠すことで、２次元コードから読み取った情報に変化を加えることができる。この手法によれば、メールアドレスと電話番号が基本部分に埋め込まれ、拡張部分を隠すパターンによって読み取る情報が異なるように設計された２次元コードを作成することができる。
【０００６】
また、サイン認識技術と２次元コードとを組み合わせる手法を応用することもできる。この手法によれば、２次元コードと、該コード周囲へ追記されたサインとを同時に読み取り、得られた情報を組み合わせてコードを読み取るシステムを構築することができる。例えば、メールアドレスと電話番号が埋め込まれた２次元コードの下に「メール」と書いて、２次元コードと書き込まれたサインを同時に読み取ると２次元コードに埋め込まれた情報の中からメールアドレスのみを読み取る仕組みを実現することができる。
【０００７】
尚、画像中の任意の点が実世界の２次元コードのどの点に対応するかを計算する技術については、従来例えば下記非特許文献２に開示されている。
【０００８】
また、画像を分割した各領域毎に、エッジの出現頻度からなるエッジヒストグラムを作成するコンピュータ画像処理については、従来例えば下記非特許文献３に開示されている。
【０００９】
また、バーコード・二次元コードについては、従来例えば下記非特許文献４に開示されている。
【非特許文献１】綾塚  祐二，暦本  純一“Ａｃｔｉｖｅ  ＣｙｂｅｒＣｏｄｅ：直接操作できる二次元コード”ｉｎ  ＷＩＳＳ２００５，Ｄｅｃ．２００５，日本ソフトウェア科学会，ｐｐ．３−８
【非特許文献２】高橋章，石井郁夫，牧野秀夫，中静真，“ＶＲインタフェースのための単眼による長方形マーカー一高精度実時間推定法”，３次元画像コンファレンス’９６，１９９６，ｐｐ．１６７−１７２
【非特許文献３】田村秀幸，“コンピュータ画像処理”，２００２／１２，オーム社，ｐｐ．１９０
【非特許文献４】平本純也，“知っておきたいバーコード・二次元コードの知識”：日本工業出版，２００１／０５
【発明の開示】
【発明が解決しようとする課題】
【００１０】
前記Ａｃｔｉｖｅ  ＣｙｂｅｒＣｏｄｅは、２次元コードの拡張部分を指で隠すパターンが限られるため、多様な読み取り結果の変化パターンを実現することが難しい。
【００１１】
また前記サイン認識技術と２次元コードを組み合わせる手法は、認識可能なサインの種類に対応した多様な変化パターンを実現することができる。しかし、サインの認識に失敗すると読み取ることができないため、サインの認識率向上が課題となる。
【００１２】
Ａｃｔｉｖｅ  ＣｙｂｅｒＣｏｄｅは、変化を加えるために指で隠す拡張部分を従来の２次元コードに追加する。従って、従来の２次元コード単体と比較し、拡張部分を設置するだけの領域を必要とする。また、多様な変化パターンを実現するには、より大きな拡張部分の設置領域を必要とする問題点がある。同様に２次元コードとサイン認識技術を組み合わせる手法も、追記のために２次元コードの周囲に余白を追加する必要がある。
【００１３】
多様なアプリケーションを実現するために２次元コードから読み取る情報に多様な変化を加えられることが望ましい。また、読み取り精度が高いことが望ましい。さらに、２次元コードは無意味な幾何模様であるため、紙媒体に占める面積が小さいことが望ましい。サイン認識技術を利用する手法は、多様な読み取り情報の変化パターンを実現することができる。しかし、サインの認識精度向上の課題、紙面に占めるコードの設置面積が増大する問題があった。
【００１４】
本発明は上記の点に鑑みてなされたものでその目的は、２次元コードの設置面積を拡大せずに、２次元コードの読み取り情報に変化を加えることができる２次元コードの処理装置、２次元コードの処理方法およびこの方法のプログラムを提供することにある。
【課題を解決するための手段】
【００１５】
上記課題を解決するための請求項１に記載の２次元コードの処理装置は、２次元コードと、該２次元コードの色であるコード色以外の色であるサイン色で該２次元コード内に上書きされたサインとを読み取り、得られたデータを組み合わせ処理する２次元コードの処理装置であって、２次元コードを撮影し、撮影画像を生成する撮影手段と、前記撮影画像から、コード色を抽出することでコード画像を生成し、サイン色を抽出することでサイン画像を生成する撮影画像色分け手段と、前記コード画像から２次元コードを検出し、該２次元コードに含まれるコードデータおよび２次元コード形状情報を抽出するコード検出手段と、前記サイン画像から、前記２次元コード形状情報を用いてサインを検出し、サインの特徴とそれに対応付けられたサイン識別番号からなる特徴量データベース手段を用いて、該サインを識別するサイン識別番号を抽出するサイン検出手段と、前記抽出されたコードデータおよびサイン識別番号を用いて、読み取り情報を生成する読み取り情報生成手段とを備えることを特徴としている。
【００１６】
また請求項６に記載の２次元コードの処理方法は、２次元コードと、該２次元コードの色であるコード色以外の色であるサイン色で該２次元コード内に上書きされたサインとを読み取り、得られたデータを組み合わせ処理する２次元コードの処理方法であって、撮影手段が、２次元コードを撮影し、撮影画像を生成する撮影ステップと、撮影画像色分け手段が、前記撮影画像から、コード色を抽出することでコード画像を生成し、サイン色を抽出することでサイン画像を生成する撮影画像色分けステップと、コード検出手段が、前記コード画像から２次元コードを検出し、該２次元コードに含まれるコードデータおよび２次元コード形状情報を抽出するコード検出ステップと、サイン検出手段が、前記サイン画像から、前記２次元コード形状情報を用いてサインを検出し、サインの特徴とそれに対応付けられたサイン識別番号からなる特徴量データベース手段を用いて、該サインを識別するサイン識別番号を抽出するサイン検出ステップと、読み取り情報生成手段が、前記抽出されたコードデータおよびサイン識別番号を用いて、読み取り情報を生成する読み取り情報生成ステップとを備えることを特徴としている。
【００１７】
上記構成において、２次元コードの設置面積を拡大せず、且つ２次元コードの読み取り情報に変化を加えることができる。また２次元コード形状情報を用いてサインを検出しているため、サインの認識精度が向上する。
【００１８】
また請求項２に記載の２次元コードの処理装置は、前記コードデータが、さらにサイン検出のためのサイン検出補助情報を保持し、前記サイン検出手段は、前記サイン画像から、前記２次元コード形状情報および前記サイン検出補助情報を用いて、サインを検出することを特徴としている。
【００１９】
また請求項７に記載の２次元コードの処理方法は、前記コードデータが、さらにサイン検出のためのサイン検出補助情報を保持し、前記サイン検出ステップは、前記サイン画像から、前記２次元コード形状情報および前記サイン検出補助情報を用いて、サインを検出することを特徴としている。
【００２０】
上記構成において、サイン検出補助情報によって２次元コードの読み取り時のサインの検出対象が絞り込まれ、２次元コードの読み取り速度および精度が向上する。
【００２１】
また請求項３に記載の２次元コードの処理装置は、前記コードデータがサイン識別番号を鍵として用いる所定の方式により暗号化されており、前記読み取り情報生成手段が、前記サイン検出手段により抽出されたサイン識別番号を用いて、前記暗号化されたコードデータを復号し、読み取り情報を生成することを特徴としている。
【００２２】
また請求項８に記載の２次元コードの処理方法は、前記コードデータがサイン識別番号を鍵として用いる所定の方式により暗号化されており、前記読み取り情報生成ステップが、前記サイン検出手段により抽出されたサイン識別番号を用いて、前記暗号化されたコードデータを復号し、読み取り情報を生成することを特徴としている。
【００２３】
また請求項４に記載の２次元コードの処理装置は、前記コードデータが要素識別番号が割り振られた所定数の要素情報から構成され、前記読み取り情報生成手段が、前記サイン識別番号に対応する要素識別番号を算出し、該要素識別番号に対応する要素情報をコードデータから抽出し、読み取り情報を生成することを特徴としている。
【００２４】
また請求項９に記載の２次元コードの処理方法は、前記コードデータが要素識別番号が割り振られた所定数の要素情報から構成され、前記読み取り情報生成ステップが、前記サイン識別番号に対応する要素識別番号を算出し、該要素識別番号に対応する要素情報をコードデータから抽出し、読み取り情報を生成することを特徴としている。
【００２５】
上記構成において、上書きするサインによって、２次元コードから読み取る情報を選ぶことができる。
【００２６】
また請求項５に記載の２次元コードの処理装置は、所定の情報処理を実行するための命令情報を生成するために、前記コードデータは所定の情報処理を実行させるための命令文を含み、前記サインは、前記命令文に関連する付加情報として扱われる命令文字であり、前記読み取り情報生成手段が、サイン識別番号とそれに対応付けられた文字の種類を識別する文字コード情報から成るサインデータベース手段によって、前記サイン検出手段により抽出されたサイン識別番号を文字コード情報に変換し、該文字コード情報を元に命令文字を特定し、前記命令文と命令文字を結合し命令情報を読み取り情報として生成することを特徴としている。
【００２７】
また請求項１０に記載の２次元コードの処理方法は、所定の情報処理を実行するための命令情報を生成するために、前記コードデータは所定の情報処理を実行させるための命令文を含み、前記サインは、前記命令文に関連する付加情報として扱われる命令文字であり、前記読み取り情報生成ステップが、サイン識別番号とそれに対応付けられた文字の種類を識別する文字コード情報から成るサインデータベース手段によって、前記サイン検出手段により抽出されたサイン識別番号を文字コード情報に変換し、該文字コード情報を元に命令文字を特定し、前記命令文と命令文字を結合し命令情報を読み取り情報として生成することを特徴としている。
【００２８】
上記構成において、上書きするサインによって、２次元コードに埋め込まれた命令文に命令文字を加えた読み取り情報を得ることができ、これによって所定の情報処理を実行させることができる。
【００２９】
また請求項１１に記載のプログラムは、請求項６乃至１０のいずれかに記載の２次元コードの処理方法をコンピュータに実行させるためのプログラムとしたことを特徴としている。
【００３０】
より具体的には、紙面に占めるコードの設置面積の増大を防ぐため、撮影画像色分け手段は、２次元コードの色以外で該２次元コード内に上書きされたサインと該２次元コードとを色で分別し、それぞれ認識する。
【００３１】
サインの認識精度を向上させるため、コード検出手段は、２次元コードに含まれるコードデータおよび２次元コード形状情報を抽出し、サイン検出手段は、前記２次元コード形状情報を用いてサインの歪みを補整し、サインを認識する。
【００３２】
またサイン検出手段は、サインの特徴とそれに対応付けられたサイン識別番号からなる特徴量データベース手段を用いて、サイン識別番号を抽出する。
【００３３】
さらに、サインの認識精度および速度を向上させるため、コード検出手段は、あらかじめ２次元コードに埋め込まれた検出の対象となるサインを示唆するサイン検出補助情報を抽出し、サイン検出手段は、該サイン検出補助情報を用いて、検出するサインの対象を絞り込み、サイン識別番号を検出する。
【００３４】
２次元コードの多様な読み取り情報の変化パターンのひとつとして、２次元コードの暗号化を実現するため、読み取り情報生成手段は、あらかじめ暗号化されて２次元コードに埋め込まれたコードデータを、サイン識別番号によって復号し、読み取り情報として生成する。
【００３５】
２次元コードの多様な読み取り情報の変化パターンのひとつとして、２次元コードに埋め込まれた複数の情報の中から所望の情報のみを読み取る機能を実現するため、読み取り情報生成手段は、サイン識別番号を用いて、複数の要素情報を持つコードデータの中から所望の要素情報を選択し、埋め込まれた複数の情報の中から特定の項目のみを読み取り情報として生成する。
【００３６】
２次元コードの多様な読み取り情報の変化パターンのひとつとして、２次元コードに埋め込まれた情報には、所定の情報処理を実行させるための命令文を含み、サインをその命令文に関連する付加情報として扱われる命令文字、例えば命令引数情報として読み取ることによって既定の情報処理を実行できる仕組みを実現するため、読み取り情報生成手段は、サイン識別番号に応じた命令引数情報とコードデータに応じた命令文を結合し、読み取り情報を生成する。
【発明の効果】
【００３７】
（１）請求項１〜１１に記載の発明によれば、２次元コードの設置面積を拡大せずに、２次元コードの読み取り情報に変化を加えることができる。また２次元コード形状情報を用いてサインを検出しているため、サインの認識精度を向上させることができる。また特定のサインを上書きしなければ読み取ることのできない２次元コードを提供することができる。
（２）請求項２，６に記載の発明によれば、サイン検出補助情報によって２次元コードの読み取り時のサインの検出対象を絞り込むことができ、これによって、２次元コードの読み取り速度および精度を向上させることができる。
（３）請求項４，９に記載の発明によれば、上書きするサインによって、２次元コードから読み取る情報を選ぶことができる。
（４）請求項５，１０に記載の発明によれば、上書きするサインによって、２次元コードに埋め込まれた命令文に付加情報として扱われる命令文字を加えた読み取り情報を得ることができ、これによって所定の情報処理を実行させることができる。
【００３８】
すなわち、例えば命令文としてＷｅｂのＣＧＩを実行するＵＲＬおよびアンケートの質問項目を表す情報を用い、該質問項目の質問に対する回答をサイン（命令文字）として上書きするように構成すれば、質問項目にその回答を付加した読み取り情報を得ることができ、自動的にアンケートの結果を回収しＷｅｂ上に登録することが可能となる。
【発明を実施するための最良の形態】
【００３９】
以下、図面を参照しながら本発明の実施の形態を説明するが、本発明は下記の実施形態例に限定されるものではない。
【００４０】
（実施例１）ルート・基本実施例・（請求項１，３，６，８に該当）
本実施例は、暗号化されたメールアドレスが埋め込まれた２次元コードと、該２次元コードの内部に上書きされたサインとを、携帯電話のカメラで読み取り、該メールアドレスを取得するものである。その概要を図１に示す。
（２次元コードとサイン）
本実施例では、２次元コードにＱＲコードを用いた。ＱＲコードは、白色と黒色で名刺に印刷される。ＱＲコードには、例えば図４に示すように、ａという文字に割り当てられた０１２３４５というサイン識別番号で暗号化されたメールアドレス、ｈｏｇｅ＠ｈｏｇｅ．ｃｏｍが埋め込まれている。
（暗号化）
暗号化には、０１２３４５を秘密鍵としたＤＥＳ方式を用いる。これ以外にも公開鍵暗号手法ＲＳＡ等を用いて構成することも可能である。
【００４１】
本実施例では、ＱＲコードに赤色のペンでサインを上書きした例である。図４は、Ｑ黒色と白色で構成されたＱＲコードに赤色でａという文字のサインを加えた例を示している。
（装置構成）
本実施例の２次元コードの処理装置の構成について図１とともに説明する。携帯電話１０は、撮影手段１１としてデジタルカメラを備え、表示手段１２として液晶モニタを備え、入力手段１３としていくつかのボタンを備え、汎用計算手段１４としてＣＰＵを備える。
【００４２】
前記汎用計算手段１４は、撮影手段１１から得られる撮影画像から色情報に基づきコード画像とサイン画像を生成する撮影画像色分け手段１４１と、コード画像からコードデータと２次元コード形状情報を抽出するコード検出手段１４２と、サイン画像からサイン識別番号を抽出するサイン検出手段１４３と、サイン画像で算出されるサイン特徴量ベクトルと、それに対応するサイン識別番号からなる特徴量データベース手段１４４と、コードデータとサイン識別番号を用いてメールアドレスである読み取り情報を生成する読み取り情報生成手段１４５とを備える。
【００４３】
コード検出手段１４２は、本実施例で用いられるＱＲコードを検出し、その撮影画像中の位置、形状およびコードデータを抽出するＱＲコード検出手段１４２１と、該位置および形状からサイン画像を補整するための２次元コード形状情報を算出する形状情報算出手段１４２２を備える。
【００４４】
サイン検出手段１４３は、前記２次元コード形状情報を用いてサイン画像中のサイン画像を正対画像に変換するサイン画像補整手段１４３１と、サイン画像中の各画素の４種類のエッジ方向を検出するエッジ特徴量算出手段１４３２と、サイン画像を１６分割した領域毎に４種類のエッジ方向の度数分布を算出し特徴量ベクトルを算出する特徴量ベクトル算出手段１４３３と、算出した特徴量ベクトルを用いて特徴量データベース手段１４４の中からもっとも似た特徴量ベクトルのサイン識別番号を取得するサイン識別番号判断手段１４３４とを備える。
【００４５】
読み取り情報生成手段１４５は、サイン識別番号を文字列情報として利用しコードデータからメールアドレスを復号するコードデータ復号手段１４５１を備える。
（処理方法）
次に本実施例における処理の流れを図２のフローチャートとともに説明する。
（撮影）
ユーザは、ＱＲコード上にサインをし、該ＱＲコードを携帯電話１０の撮影手段１１で撮影する（ステップＳ１，Ｓ２）。
（撮影画像色分けステップ）
撮影手段１１によって生成された撮影画像から、撮影画像色分けステップＳ３において、図３に示すようにコード画像とサイン画像が生成される。撮影画像の彩度と色相を抽出し、彩度の低い画素をさらに２値化しコード画像を生成し、彩度が高く色相が赤色に近い画素だけを抽出し、サイン画像を生成する。
（コード検出ステップ・形状情報算出ステップ）
コード検出手段１４２は、生成された前記コード画像から、ＱＲコードを検出し、コードデータおよび画像中のＱＲコードの四隅の位置を抽出する（コード検出ステップＳ４のＱＲコード検出ステップＳ４１、形状情報算出ステップＳ４２）。
【００４６】
ＱＲコードの四隅の点は、図５に示すように、ＱＲコードの座標系から見ると一つの平面に属しているため、該ＱＲコードの四隅の点の画像中での座標がわかれば、近似したカメラパラメータを算出することができる。この性質を利用し、撮影画像中のＱＲコードを正対から撮影した画像に補整することができる。
【００４７】
すなわち、画像正規化行列を導出し、その行列の計算式を整理して下記に示す式（１）を求め、該式（１）によって、画像中の任意の点が実世界のＱＲコードのどの点に対応するかを計算することが可能なため、図３に示すようにサイン画像から正対画像に補整することができる（非特許文献２を参考）。
【００４８】
【数１】
2008027157.tif 000003
【００４９】
コード検出手段１４２は、前記画像正規化行列を２次元コード形状情報として、サイン検出手段１４３に送信し、コードデータを読み取り情報生成手段１４５へ送信する。
（サイン検出ステップ・サイン画像補整ステップ）
サイン検出手段１４３のサイン画像補整手段１４３１は、まずコード検出手段１４２から受信した２次元コード形状情報に含まれる画像正規化行列を利用し、前記式（１）に基づき、図３のような補整されたサイン画像を生成する（サイン検出ステップＳ５のサイン画像補整ステップＳ５１）。
（エッジ特徴量算出ステップ）
エッジ特徴量算出手段１４３２は、エッジ特徴量算出ステップＳ５２において、サイン画像を２値化し、さらにサイン画像から４方向のエッジを検出する。エッジの検出には、ｓｏｂｅｌオペレータを利用する。エッジは、斜め方向２種類、縦方向、横方向の合計４種類に識別する。エッジ特徴量は各画素毎に算出される。サイン画像を縦横４つずつに等分割し、１６個の領域に分け、各領域毎の４種類のエッジの出現頻度からなるエッジヒストグラムを作成する（例えば非特許文献３を参考）。
（特徴ベクトル算出ステップ）
サイン画像から算出される上記エッジヒストグラムは、１６個の領域毎の４種類のエッジの出現頻度からなり、サイン画像１枚当たり６４種類の値を持つ。これをひとつのベクトルとし、６４次元の特徴量ベクトルとして保存する（特徴量ベクトル算出ステップＳ５３）。
（サイン識別番号判断ステップ）
前記特徴量データベース手段１４４のデータテーブルは例えば図６のように構成され、データテーブルは文字の識別番号テーブルと、特徴量ベクトルテーブルからなる。このデータは、サインとして認識される文字毎に、エッジヒストグラムを作成し、１つの文字毎に１つの特徴量ベクトルを算出したものである。サイン識別番号判断手段１４３４は、この該特徴量データベース手段１４４からもっとも適したサイン識別番号を引き出す（サイン識別番号判断ステップＳ５４）。
【００５０】
サイン識別番号判断手段１４３４は、前記特徴量ベクトル算出手段１４３３で得られた特徴量ベクトルともっとも似た特徴量ベクトルを持つサイン識別番号を算出する。本実施例では、ここで特徴量ベクトルの内積角および距離を用いて判断する。サイン識別番号判断手段１４３４は、判断した前記サイン識別番号を読み取り情報生成手段１４５へ送信する。
（読み取り情報生成ステップ・コードデータ復号ステップ）
読み取り情報生成ステップＳ６は、前記コードデータを前ステップ（Ｓ５４）で生成したサイン識別番号で復号化し（コードデータ復号ステップＳ６１）、その結果を、表示手段１２の液晶モニタに表示し（ステップＳ７）、処理を終了する。書き込まれたサインが暗号化に用いられたのものではなかった場合、表示される結果は、メールアドレスとはならない。
（実施例２）（請求項２，７に該当）
本実施例では、実施例１と同様に２次元コードにＱＲコードを用いる。該ＱＲコードは、図７に示すように、ａという文字に割り当てられた０１２３４５というサイン識別番号で暗号化されたメールアドレス、ｈｏｇｅ＠ｈｏｇｅ．ｃｏｍに該当するコードデータと、この暗号化に用いられた該サイン識別番号を示唆するサイン検出補助情報が埋め込まれている。本実施例では、サイン検出補助情報は、検出対象となる候補のサイン識別情報がシステム独自のキーで暗号化される。
【００５１】
図８は本実施例の２次元コードの処理装置の構成を示し、図１と同一部分は同一符号をもって示している。図８において図１と異なる点は、コード検出手段１４２にサイン検出補助情報抽出手段１４２３を設けた点にあり、その他の部分は図１と同一に構成されている。
【００５２】
次に本実施例における処理の流れを図９のフローチャートとともに説明する。尚図９において図２と同一部分は同一符号をもって示し、その説明は省略する。
【００５３】
（サイン検出補助情報抽出ステップ）
サイン検出補助情報が固定長のデータであることを利用し、ＱＲコード検出手段１４２１によりコードデータと該サイン検出補助情報を分離、抽出する（ステップＳ４３）。既定の本システム専用のコードで復号され、サイン検出補助情報０１２×××を取得する。サイン検出補助情報は、２次元コード形状情報とともにサイン検出手段１４３へ送信される。
（サイン識別番号判断ステップ）
サイン検出補助情報は、サイン識別番号判断手段１４３４において、サイン識別番号判断ステップ（ステップＳ５４）時に利用される。サイン検出補助情報０１２×××は、上書きされうるサイン識別番号が０１２０００〜０１２９９９であることを示す。サイン識別番号判断手段１４３４は、このサイン識別番号を持つ特徴量データベースのデータテーブルから、算出された特徴量ベクトルにもっとも似た特徴量ベクトルを前記実施例１の手法で検索し、サイン識別番号を判断する。
（実施例３）（請求項４，９に該当）
本実施例では、前記実施例と同様に２次元コードにＱＲコードを用いる。本実施例は、ユーザがＱＲコード内部にサインを上書きすることで、ＱＲコードに埋め込まれたいくつかのデータを選択し、読み出すことができるシステムを構成した。本実施例におけるＱＲコードは、図１０に示すようにデリミタで区切られたメールアドレスの情報が埋め込まれている。データは、一番上のｈｏｇｅ＠ｈｏｇｅ．ｃｏ．ｊｐが業務用メールアドレス、二番目が携帯電話のメールアドレス、三番目がプライベートのメールアドレスとなっている。
【００５４】
本実施例の読み取り情報生成手段１４５は、図１１に示すように、コードデータからインデックス（要素識別番号）を取得し、取得した該インデックスが、前記サイン識別番号に対応するかを判断するインデックス判断手段１４５２と、コードデータから前記手段１４５２によって判断されたデータを取得するデータ取得手段１４５３とを備える。
【００５５】
尚図１１は本実施例の読み取り情報生成手段１４５のみの構成を示しているが、その他の部分は図１と同様に構成されている。
【００５６】
次に本実施例における処理の流れを図１２のフローチャートとともに説明する。尚図１２は図２における読み取り情報生成ステップＳ６以降の処理フローを示しており、それ以前の処理については図２と同様に実行される。
（読み取り情報生成ステップ）
読み取り情報生成ステップＳ６は、前記コード検出手段１４２からコードデータを、前記サイン検出手段１４３からサイン識別番号を各々取得する。コードデータからデリミタで区切られたメールアドレスデータを読み出し、含まれるメールアドレスの数に応じたメールアドレスのインデックスを作成する。
【００５７】
次に、前記サイン識別番号に該当するメールアドレスがあるかを前記インデックスの中から検索し、判断する（インデックス判断ステップＳ６２）、サイン識別番号に該当するメールアドレスが前記インデックスの中にある場合、コードデータの中から該サイン識別番号に該当するメールアドレスを取得する（データ取得ステップＳ６３）。そしてステップＳ８においてデータが取得できたか否かを判定し、データが取得できた場合は、表示手段１２にその読み取り結果を表示する。
（実施例４）（実施例３の変形例）
本実施例では、前記実施例と同様に２次元コードにＱＲコードを用いる。本実施例では、ユーザはＱＲコードにサインを加えることで、ＱＲコードに埋め込まれたいくつかのデータを選択し、読み出すことができるシステムを構成した。
【００５８】
本実施例におけるＱＲコードは、図１３に示すように、暗号化されたいくつかのデータからなるコードデータが埋め込まれている。それぞれのデータは、異なるキーで暗号化され、デリミタで区切られてコードデータに埋め込まれている。データは、前記実施例３と同様に一番上のｈｏｇｅ＠ｈｏｇｅ．ｃｏ．ｊｐが業務用メールアドレス、二番目が携帯電話のメールアドレス、三番目がプライベートのメールアドレスとなっている。
【００５９】
本実施例の読み取り情報生成手段１４５は、図１４に示すように、コードデータを取得し、前記サイン識別番号によってコードデータの各ブロック（本件例では１〜３）を復号する選択復号化手段１４５４を備える。
【００６０】
尚図１４は本実施例の読み取り情報生成手段１４５のみの構成を示しているが、その他の部分は図１と同様に構成されている。
【００６１】
次に本実施例における処理の流れを図１５のフローチャートとともに説明する。尚図１５は図２における読み取り情報生成ステップＳ６以降の処理フローを示しており、それ以前の処理については図２と同様に実行される。
（読み取り情報生成ステップ）
読み取り情報生成ステップＳ６は、前記コード検出手段１４２からコードデータを、前記サイン検出手段１４３からサイン識別番号を各々取得する。コードデータをデリミタを元にブロックごとに分け、該サイン識別番号でひとつずつ復号化する（選択復合化ステップＳ６４）。各ブロックごとの復号化の結果が、メールアドレスに必須の＠マークが含まれるか、メールアドレスを構成するときの禁則文字が含まれていないかを検証することで正確に復号化されたかを確認し（ステップＳ９）、メールアドレスが復号化されたと判断された場合、該当するブロックを復号した結果をデータとして取得し、表示手段１２にその読み取り結果を表示する。
（実施例５）（請求項５，１０に該当）
本実施例では、前記実施例と同様に２次元コードにＱＲコードを用い、図１６〜図１８に示すように、自動的にアンケートの回答をＷｅｂ上に登録できるシステムを構成した）。
【００６２】
本実施例のＱＲコードは、図１６に示すように、ＷｅｂのＣＧＩを実行するＵＲＬ（命令文）がコードデータとして埋め込まれている。ユーザは、アンケートの回答を設問毎に用意されたＱＲコードの中に数字で書き込み、回答する（付加情報として扱われる命令文字）。アンケート実施者は、各ＱＲコードを読み取っていくだけで、自動的にＷｅｂのＣＧＩプログラムを通してアンケートの結果を回収することができる。本実施例によれば、従来のＨＴＭＬフォーム等で提供されるＷｅｂアンケートと紙を利用したアンケートを簡単に統合したシステムを提供することができる。
（コードデータとＣＧＩ）
ＱＲコードのコードデータは、ＣＧＩを実行するためのパスで構成されている。ＣＧＩは、ネットワーク上のサーバ手段上で提供されており、第一引数のｑｕｅｓｔｉｏｎと第二引数のａｎｓで構成されている。ｑｕｅｓｔｉｏｎ＝１は設問１を示している。ＣＧＩは、図１７に示すように、ｑｕｅｓｔｉｏｎとａｎｓからなるアンケート回答データベース手段１５を備え、携帯電話がＵＲＬを通じてＣＧＩにアクセスすると、ＵＲＬに応じてアンケート回答データベース手段１５を更新する。例えば、ｈｔｔｐ：／／ｗｗｗ．ｈｏｇｅ．ｃｏｍ／ｃｇｉ／ｅｘｅ．ｃｇｉ？ｑｕｅｓｔｉｏｎ＝３＆ａｎｓ＝５である場合、アンケート回答データベース手段１５にｑｕｅｓｔｉｏｎ＝３、ａｎｓ＝５の要素を追加する。尚図１７において図１と同一部分は同一符号をもって示している。
【００６３】
本実施例の読み取り情報生成手段１４５は、ＣＧＩにアクセスするためのＵＲＬを生成するＵＲＬ生成手段１４５５を備える。携帯電話端末（携帯電話１０）は、ネットワーク上に備えられたＣＧＩと通信するための通信手段１６を備え、サインの文字コードを判別するサインデータベース手段１７を備える。その他の部分については図１と同様に構成されている。
【００６４】
次に本実施例における処理の流れを図１８のフローチャートとともに説明する。図１８において図２と同一部分は同一符号をもって示しており、ステップＳ１〜Ｓ５は図２で述べた処理と同一の処理が行われる。
（読み取り情報生成ステップ・サイン文字コード判定ステップ）
サイン検出手段１４３から得られたサイン識別番号に基づき、サインデータベース手段１７を検索し、サインに対応する文字コードを判定し、サイン文字情報を得る（ステップＳ６５）。次にサイン文字情報が示している文字がアンケートの回答として有効な１〜５までの数字かを判定する（ステップＳ６６）。そうでなければ、これは無効回答となり、処理は終了する。
（ＵＲＬ生成ステップ）
ＵＲＬ生成手段１４５５は、コードデータからＵＲＬの先頭部分を生成する。そして、上記で得られた前記サイン文字情報をａｎｓ＝の後に付加し、ＣＧＩアクセス用のＵＲＬ情報を生成する（ステップＳ６７）。読み取り情報生成手段１４５は、ここで得られたＵＲＬ情報を通信手段１６に送信し、ＣＧＩにアクセスする（ステップＳ１０）。
（データベース更新ステップ・通知ステップ）
ＣＧＩは、通信手段１６を通じ、携帯電話端末（携帯電話１０）からＵＲＬ情報を受け取る。受け取ったなかから、例えばｑｕｅｓｔｉｏｎ＝４とａｎｓ＝２を抽出し、アンケート回答データベース手段１５に（ｑｕｅｓｔｉｏｎ，ａｎｓ）＝（４，２）のデータを追加、更新する（ステップＳ１１）。次に携帯電話端末の通信手段１６に処理の終了を通知し（ステップＳ１２）、アンケートの回答を終了する。
【００６５】
尚、前記各処理により得られたデータ（サイン識別番号等）は、例えばメモリに格納して使用するように構成しても良い。
【００６６】
本発明の２次元コードの処理方法は、前記図１〜図１８で述べた各処理を実行するものである。
【００６７】
また、前記２次元コードの処理方法ををコンピュータに実行させるためのプログラムを構築するものである。
【００６８】
また前記プログラムを記録した記録媒体を、システム、又は装置に供給し、そのシステム又は装置のＣＰＵ（ＭＰＵ）が記録媒体に格納されたプログラムを読み出し実行することも可能である。この場合記録媒体から読み出されたプログラム自体が上記実施形態の機能を実現することになり、このプログラムを記録した記録媒体としては、例えば、ＣＤ−ＲＯＭ，ＤＶＤ−ＲＯＭ，ＣＤ−Ｒ，ＣＤ−ＲＷ，ＭＯ及びＨＤＤ等がある。
【００６９】
以上、本発明を実施形態例に基づき具体的に説明したが、本発明は上述の実施例に限定されるものではなく、下記のように幅広く応用することができる。
（変形例１）コードは他のコードも利用可能
本実施例では、ＱＲコードを２次元コードとして利用したが、サイバーコード、ＡＲＴｏｏｌｋｉｔ、ＤａｔａＭａｔｒｉｘなどの２次元コードを利用して構成することも可能である（非特許文献４を参考）。
（変形例２）コードの色を工夫することにより、欠損させずに処理可能
前記実施例では、白色と黒色の２次元コードの上に赤色でサインを書き込むように構成している。これによって従来から使われている２次元コードを利用できるという特徴がある。しかし、２値化時に黒色の方が他の色よりも強く画像に現れてしまうため、前記サイン画像生成時にサインが２次元コードの黒色部分によって欠損するという可能性がある。これに対して、より強固なサインの読み取りを実現するために、２次元コード自体を黒色以外の色と白色で構成し、サインを黒色で書き込むように構成することで、サインの検出精度の高い２次元コードの読み取り装置および方法を提供することができる。
（変形例３）サーバサイドでも処理可能
前記実施例では、あらゆるステップを携帯電話の汎用計算手段１４上で実行しているが、これに限らず、ネットワーク上に前記汎用計算手段１４で行われるすべての処理を行う２次元コード読み取り処理手段を設置し、携帯電話１０は、撮影画像を該手段に送信する手段と、読み取り情報を受け取る手段のみを備えるように構成することも可能である。
（変形例４）認識の手法
前記実施例では、サインの検出のため、エッジの分布から算出する特徴量ベクトルを利用しているが、これは、他の手法を用いても構成することができる。
（変形例５）認識の方向
２次元コードは上下左右が判別できるため、書き込まれたサインが横向きなのか、縦向きなのかを区別することができ、識別可能なサインの種類を増やすことができる。前記実施例では、サインの方向を認識対象としていなかったが、サインの方向を認識し、区別可能なサイン識別番号を拡張することも可能である。
【図面の簡単な説明】
【００７０】
【図１】本発明の実施形態例（実施例１）の装置の構成図。
【図２】本発明の実施形態例（実施例１）の全体の処理を示すフローチャート。
【図３】本発明の実施形態例（実施例１）におけるＱＲコード本体、撮影画像、コード画像、サイン画像、補整済みのコード画像を示す説明図。
【図４】本発明の実施形態例（実施例１）における暗号化されたメールアドレスのデータ構造図。
【図５】本発明の実施形態例（実施例１）におけるコード画像の補整のようすを示す説明図。
【図６】本発明の実施形態例（実施例１）における特徴量データベース手段のデータテーブルの構成図。
【図７】本発明の実施形態例（実施例２）における暗号化されたメールアドレスのデータ構造を表す説明図。
【図８】本発明の実施形態例（実施例２）の装置の構成図。
【図９】本発明の実施形態例（実施例２）の処理を示すフローチャート。
【図１０】本発明の実施形態例（実施例３）におけるコードデータの構成を表す説明図。
【図１１】本発明の実施形態例（実施例３）の装置の要部の構成図。
【図１２】本発明の実施形態例（実施例３）の要部の処理を示すフローチャート。
【図１３】本発明の実施形態例（実施例４）におけるコードデータの構成を表す説明図。
【図１４】本発明の実施形態例（実施例４）の装置の要部の構成図。
【図１５】本発明の実施形態例（実施例４）の要部の処理を示すフローチャート。
【図１６】本発明の実施形態例（実施例５）で用いるアンケート用紙の例を示す説明図。
【図１７】本発明の実施形態例（実施例５）の装置の構成図。
【図１８】本発明の実施形態例（実施例５）の全体の処理を示すフローチャート。
【符号の説明】
【００７１】
１０…携帯電話、１１…撮影手段、１２…表示手段、１３…入力手段、１４…汎用計算手段、１５…アンケート回答データベース手段、１６…通信手段、１７…サインデータベース手段、１４１…撮影画像色分け手段、１４２…コード検出手段、１４３…サイン検出手段、１４４…特徴量データベース手段、１４５…読み取り情報生成手段。
【図１】
2008027157.tif 000004
【図２】
2008027157.tif 000005
【図３】
2008027157.tif 000006
【図４】
2008027157.tif 000007
【図５】
2008027157.tif 000008
【図６】
2008027157.tif 000009
【図７】
2008027157.tif 000010
【図８】
2008027157.tif 000011
【図９】
2008027157.tif 000012
【図１０】
2008027157.tif 000013
【図１１】
2008027157.tif 000014
【図１２】
2008027157.tif 000015
【図１３】
2008027157.tif 000016
【図１４】
2008027157.tif 000017
【図１５】
2008027157.tif 000018
【図１６】
2008027157.tif 000019
【図１７】
2008027157.tif 000020
【図１８】
2008027157.tif 000021