(57)【要約】【課題】表示媒体の向きが変化しても複雑な画像処理アルゴリズムを用いることなく安定したコード認識処理を行えるようにする。【解決手段】探索対象の画像データ中から二次元コードを認識する復号する際に、先ず探索対象の画像データ中からスケール用スクウェア画像ＳＳを認識してその一辺の長さを計算する。次に、この計算された一辺の長さをスケール基準値としてシンボルテンプレートのサイズを調整し、このサイズ調整されたシンボルテンプレートをもとに上記探索対象の画像データ中から切り出し用シンボル部ＳＳ，ＳＥを認識する。そして、上記認識された切り出し用シンボル部ＳＳ，ＳＥをもとにデータ記述部ＤＴの存在範囲を推定し、この推定された存在範囲に含まれるデータ記述部の候補画像に対しチェックパターンＣＰによる正当性の判定を行ったのち、当該データ記述部ＤＴ記述されたコードデータを復号する。【選択図】      図６
2006236135.tif 000002
【特許請求の範囲】
【請求項１】
複数のセルを二次元配列したコードデータ記述部と当該コードデータ記述部の位置を示す位置検出用パターン部とを備える二次元コードと、当該二次元コードのスケール基準を定義するスケール情報がそれぞれ表示された媒体を撮像して得られる媒体画像データに対し、画像処理を行って前記二次元コードを認識する二次元コード認識装置であって、
前記媒体画像データ中から前記スケール情報を検出する手段と、
前記検出されたスケール情報をもとに、前記二次元コードのスケール基準値を算出する手段と、
前記算出されたスケール基準値をもとにサイズが調整されたテンプレート情報を生成する手段と、
前記生成されたテンプレート情報をもとに、前記媒体画像データ中から前記位置検出用パターン部を検出する手段と、
前記媒体画像データ中における前記位置検出用パターン部の検出位置をもとに、前記コードデータ記述部の存在範囲を推定する手段と、
前記媒体画像データ中における前記推定された存在範囲から前記コードデータ記述部を検出する手段と、
前記検出されたコードデータ記述部に記述されたコードデータを復号する手段と
を具備することを特徴とする二次元コード認識装置。
【請求項２】
前記位置検出用パターン部が、前記コードデータ記述部の存在方向を形状により表す方向指示パターンを有する場合に、
前記コードデータ記述部の存在範囲を推定する手段は、前記位置検出用パターン部の検出位置及び前記方向指示パターンの形状をもとに、前記コードデータ記述部の存在範囲を推定することを特徴とする請求項１記載の二次元コード認識装置。
【請求項３】
前記位置検出パターンが固有の色に設定されている場合に、
前記位置検出用パターン部を検出する手段は、前記サイズが調整されたテンプレート情報と、前記固有の色とに基づいて、前記媒体画像データ中から前記位置検出用パターン部を検出することを特徴とする請求項１記載の二次元コード認識装置。
【請求項４】
前記コードデータ記述部が、二次元コードの正当性を表すチェックパターンを含む場合に、
前記コードデータを復号する手段は、
前記検出されたコードデータ記述部に含まれるチェックパターンをもとに二次元コードの正当性を判定する手段と、
前記正当性の判定の結果、二次元コードの正当性が確認された場合に、前記検出されたコードデータ記述部に記述されたコードデータを復号する手段と
を備えることを特徴とする請求項１記載の二次元コード認識装置。
【請求項５】
前記コードデータ記述部が、二次元配列された複数のセルを第１及び第２の色のいずれかに設定することによりコードデータを表現している場合に、
前記コードデータを復号する手段は、前記検出されたコードデータ記述部の各セルの色を判定することによりコードデータを復号することを特徴とする請求項１記載の二次元コード認識装置。
【請求項６】
複数のセルを二次元配列したコードデータ記述部と当該コードデータ記述部の位置を示す位置検出用パターン部とを備える二次元コードと、当該二次元コードのスケール基準を定義するスケール情報がそれぞれ表示された媒体を撮像して得られる媒体画像データに対し、プロセッサにより画像処理を行って前記二次元コードを認識する二次元コード認識装置で使用されるプログラムであって、
前記媒体画像データ中から前記スケール情報を検出する処理と、
前記検出されたスケール情報をもとに、前記二次元コードのスケール基準値を算出する処理と、
前記位置検出用パターン部のテンプレート情報を取り込む処理と、
前記算出されたスケール基準値をもとに、前記テンプレート情報のサイズを調整する処理と、
前記サイズが調整されたテンプレート情報をもとに、前記媒体画像データ中から前記位置検出用パターン部を検出する処理と、
前記媒体画像データ中における前記位置検出用パターン部の検出位置をもとに、前記コードデータ記述部の存在範囲を推定する処理と、
前記媒体画像データ中における前記推定された存在範囲から前記コードデータ記述部を検出する処理と、
前記検出されたコードデータ記述部に記述されたコードデータを復号する処理と
を、前記プロセッサに実行させることを特徴とするプログラム。
【請求項７】
前記位置検出用パターン部が、前記コードデータ記述部の存在方向を形状により表す方向指示パターンを有する場合に、
前記コードデータ記述部の存在範囲を推定する処理は、前記位置検出用パターン部の検出位置及び前記方向指示パターンの形状をもとに、前記コードデータ記述部の存在範囲を推定することを特徴とする請求項６記載のプログラム。
【請求項８】
前記位置検出パターンが固有の色に設定されている場合に、
前記位置検出用パターン部を検出する処理は、前記サイズが調整されたテンプレート情報と、前記固有の色とに基づいて、前記媒体画像データ中から前記位置検出用パターン部を検出することを特徴とする請求項６記載のプログラム。
【請求項９】
前記コードデータ記述部が、二次元コードの正当性を表すチェックパターンを含む場合に、
前記コードデータを復号する処理は、
前記検出されたコードデータ記述部に含まれるチェックパターンをもとに二次元コードの正当性を判定する処理と、
前記正当性の判定の結果、二次元コードの正当性が確認された場合に、前記検出されたコードデータ記述部に記述されたコードデータを復号する処理と
を、前記プロセッサに実行させることを特徴とする請求項１記載のプログラム。
【請求項１０】
前記コードデータ記述部が、二次元配列された複数のセルを第１及び第２の色のいずれかに設定することによりコードデータを表現している場合に、
前記コードデータを復号する処理は、前記検出されたコードデータ記述部の各セルの色を判定することによりコードデータを復号することを特徴とする請求項１記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、例えば意見集約法を採用した会議やワークショップを支援するシステムにおいて、意見が記載されたカードに表示される二次元コードを認識するための二次元コード識別装置とそのプログラムに関する。
【背景技術】
【０００２】
会議やワークショップの場において利用される意見集約法の１つとして、ＫＪ法が知られている。ＫＪ法は、ブレーンストーミング等で出されたアイディアや意見、又は各種調査の現場から収集された雑多な情報を１つずつ小さなカード（紙切れ）に書き込み、それらのカードの中から内容の近いもの同士を集めてグループ化してゆく作業の中で、テーマの解決に役立つヒントやひらめきを生み出していこうとするものである。
【０００３】
ＫＪ法の基本的な手順を以下に示す。はじめに、参加者は発想したアイディアや収集した情報などのデータを１つずつ１枚の小さなカードに書き込んでいく。次に、作成したカード群を机などに並べて、カードに書かれたデータが同類の内容であるカード同士を集めグループを作成する。また、作成した各グループには、その内容を要約した表札をつける。カードのグループ編成は、まず、小グループを作り、次に小グループを同士で中グループを、さらに中グループ同士で大グループを作成していく。このようにＫＪ法を使用すると、カードのグループ編成を繰り返しながら様々な意見を集約して、テーマ解決に役立つヒントを導き出すことが可能である。
【０００４】
ところで、最近上記ＫＪ法を使用した会議やワークショップにおいて、意見集約のプロセスを記録し、この記録された情報を後にバーチャル会議等に再利用する試みがなされている。プロセスの記録手法としては、例えばビデオカメラを使用してカードのグループ化作業の過程を撮像し、この撮像された画像データから各カードの移動履歴を検出し記録するものが使用される。その際、各カードにはカードを識別するためのコードを印刷しておき、撮像された画像データに対し画像処理を行って上記コードを認識することにより各カードの移動履歴を検出するようにしている。なお、コードとしては、汎用の１次元バーコードや、水平及び垂直方向に情報を持つＱＲコード等の２次元コードが使用される（例えば、非特許文献１を参照。）。
【０００５】
【非特許文献１】http://www.keyence.co.jp/barcode/2jigenbasic/chishiki4.html
【発明の開示】
【発明が解決しようとする課題】
【０００６】
ところが、上記ＫＪ法を使用した会議やワークショップにおいて、机又は壁に配置される各カードの向きは区々であり、しかもこの向きはカードが移動されるごとに変化する。このため、既存のバーコードを使用した従来のシステムでは、カードの向きによってはバーコードを正しく認識できなくなるおそれがある。また、正確に認識するために、例えばカードの向きに応じて画像データに対し傾き補正を行った上でバーコードの認識処理を行うことも考えられるが、このようにするとバーコードの認識処理に複雑なアルゴリズムと多くの処理時間を必要とするという別の問題を生じる。
【０００７】
この発明は、上記事情に着目してなされたもので、その目的とするところは、表示媒体の向きが変化しても複雑な画像処理アルゴリズムを用いることなく安定したコード認識処理を行えるようにし、特に意見集約プロセスの記録過程に使用する場合に好適な二次元コード認識装置とそのプログラムを提供することにある。
【課題を解決するための手段】
【０００８】
上記目的を達成するためにこの発明に係わる二次元コード認識装置とそのプログラムは、複数のセルを二次元配列したコードデータ記述部と当該コードデータ記述部の位置を示す位置検出用パターン部とを備える二次元コードと、当該二次元コードのスケール基準を定義するスケール情報がそれぞれ表示された媒体を撮像して得られる媒体画像データに対し、画像処理を行って上記二次元コードを認識する際に、  
先ず上記媒体画像データ中から上記スケール情報を検出して、この検出されたスケール情報をもとに上記二次元コードのスケール基準値を算出する。そして、この算出されたスケール基準値をもとにサイズが調整されたテンプレート情報を生成し、この生成されたテンプレート情報をもとに、上記媒体画像データ中から上記位置検出用パターン部を検出する。次に、上記媒体画像データ中における上記位置検出用パターン部の検出位置をもとに上記コードデータ記述部の存在範囲を推定し、上記媒体画像データ中における上記推定された存在範囲から上記コードデータ記述部を検出して、この検出されたコードデータ記述部に記述されたコードデータを復号するようにしたものである。
【０００９】
したがってこの発明によれば、コードデータ記述部の位置を示す位置検出用パターン部が先ず検出され、この検出された位置検出用パターン部を利用してコードデータ記述部が認識される。このため、二次元コードを含む画像データから画像処理により二次元コードを認識する際に、二次元コードの向きが任意の方向に回転していても、画像データに対し傾き補正等を行うことなくコードデータ記述部を高い確率で検出し、そのコードデータを復号することが可能となる。このため、複雑な画像処理アルゴリズムを用いることなく、簡単かつ短時間に効率良く二次元コードを認識できる。
【００１０】
しかも、上記位置検出用パターン部の検出に先立ち、媒体画像データ中からスケール情報が検出され、これをもとに二次元コードのスケール基準値が算出される。そして、この算出されたスケール基準値をもとにサイズが調整されたテンプレート情報が生成され、この生成されたテンプレート情報をもとに上記位置検出用パターン部の検出が行われる。このため、位置検出用パターン部を迅速かつ確実に検出することが可能となる。
【００１１】
またこの発明は、上記位置検出用パターン部がコードデータ記述部の存在方向を形状により表す方向指示パターンを有する場合に、コードデータ記述部の存在範囲を推定する際に、上記位置検出用パターン部の検出位置及び上記方向指示パターンの形状をもとにコードデータ記述部の存在範囲を推定することを特徴とする。  
したがって、位置検出用パターン部が検出されると、その方向指示パターンの形状をもとにコードデータ記述部の存在範囲が推定される。このため、例えばＱＲコードのように位置検出用のパターンを備えていても方向指示機能を持たないものに比べ、コードデータ記述部の存在位置を簡単かつ迅速に推定することが可能となる。
【００１２】
さらにこの発明は、位置検出パターンが固有の色に設定されている場合に、位置検出用パターン部を検出する際に、媒体画像データ中から上記固有の色に基づいて位置検出用パターン部を検出することを特徴とする。  
このようにすると、媒体画像データ中に位置検出パターンと類似する形状の画像パターンが含まれている場合でも、色を考慮することで位置検出パターンをより一層正確に検出することが可能となる。
【００１３】
さらにこの発明は、コードデータ記述部が二次元コードの正当性を表すチェックパターンを含む場合に、コードデータを復号する際に、先ず上記チェックパターンをもとに二次元コードの正当性を判定する。そして、この正当性の判定の結果、二次元コードの正当性が確認された場合に、コードデータ記述部に記述されたコードデータを復号するようにすることを特徴とする。  
このようにすると、例えば画像雑音等の影響により媒体画像データ中にコードデータ記述部と類似する画像パターンが存在した場合に、これを即時コードデータ記述部として誤認識しないようにすることができる。
【００１４】
さらにこの発明は、コードデータ記述部が二次元配列された複数のセルを第１及び第２の色のいずれかに設定することによりコードデータを表現している場合に、コードデータを復号する際に、コードデータ記述部の各セルの色を判定することによりコードデータを復号することも特徴とする。  
このようにすると、一次元バーコードのようにコード幅を高精度に識別する必要がなく、比較的簡単な画像認識処理によりコードを正確に認識することができる。
【発明の効果】
【００１５】
以上述べたようにこの発明によれば、二次元コードを見つけ出して復号する際に、先ず位置検出用パターン部を検出し、この検出された位置検出用パターン部をもとにコードデータ記述部の存在範囲を推定して、この推定された範囲からコードデータ記述部を検出して復号処理するようにしたことによって、表示媒体の向きが変化しても複雑な画像処理アルゴリズムを用いることなく安定したコード認識処理を行うことができ、特に意見集約プロセスの記録過程に使用する場合に好適な二次元コード認識装置とそのプログラムを提供することができる。
【発明を実施するための最良の形態】
【００１６】
以下、図面を参照してこの発明の実施形態を説明する。  
図１は、この発明に係わる二次元コードの用途の一つである会議支援システムの概略構成図である。このシステムは、サーバ装置ＳＶにボード撮像装置ＶＩ及びカード撮像装置ＣＡを信号ケーブルを介して接続すると共に、上記サーバ装置ＳＶに対しユーザ端末ＰＣ１〜ＰＣｋを通信ネットワークＮＷを介して接続可能としたものである。通信ネットワークＮＷは、例えばインターネットやＬＡＮ（Local Area Network）により構成される。
【００１７】
サーバ装置ＳＶは、会議情報管理装置としての機能を備えたもので、上記ボード撮像装置ＶＩにより撮像された映像データをケーブルを介して取り込む機能と、上記カード撮像装置ＣＡにより撮像された画像データをケーブルを介して取り込む機能とを備える。
【００１８】
ユーザ端末ＰＣ１〜ＰＣｋはパーソナル・コンピュータにより構成され、表示装置とキーボードやマウスなどの入力装置を備えている。これらのユーザ端末ＰＣ１〜ＰＣｋは、通信ネットワークＮＷを介して上記サーバ装置ＳＶと通信を行い、会議の閲覧者たるユーザが配信された会議情報をバーチャルな環境で閲覧するために使用する。
【００１９】
図２は、図１に示すシステムにおける会議情報の記録の様子を示す図である。同図において、ボード１は机上または壁等に備えられ、このボード１上においてＫＪ法等による意見集約のプロセスが実行される。このプロセスは、例えば意見を記入したカード２１〜２ｉをボード１上に配置し、これらのカード２１〜２ｉを参加者がボード１上で手操作により移動させることで、記入された意見の近いもの同士のグループを構成することにより行われる。ボード１は、市販のホワイトボードや模造紙等でも良いし、会場の壁や机をそのまま利用しても構わない。
【００２０】
カード２１〜２ｉには、意見記入エリアとカード識別エリアとが設けられる。意見記入エリアは、会議参加者がペン等を用いて意見を記載する領域である。カード識別エリアには二次元コードが表示される。二次元コードは、カードごとに固有の個別識別情報（以下、カードＩＤと呼称する）を含み、カードに予め印刷される。なお、カード２１〜２ｉは、ペンなどの筆記具を用いて意見が記入できるものであれば形状及び材質には制限はなく、例えば市販されている粘着剤付きの付箋紙などが利用できる。
【００２１】
ボード撮像装置ＶＩは例えば動画の撮像が可能なビデオカメラからなり、意見集約が行われるボード１全体を時間経過にしたがって撮像する。そして、この撮像により得られるボード映像データとディジタル音声データを、例えばＤＶケーブル等を介してサーバ装置ＳＶへ送る。
【００２２】
図３は、ボード映像データの一例を示すもので、このボード画像データにはボード１上に配置された複数のカード２１〜２ｉの画像データと、後述するスケール用スクウェア画像ＳＳが含まれる。各カード２１〜２ｉの画像データには当該カード画像を識別するための二次元コードが含まれており、上記スケール用スクウェア画像ＳＳはこの二次元コードを認識するために使用される。上記ボード画像データにおいて使用されるスケール用スクウェア画像は、二次元コードの長辺方向の長さを一辺とする正方形画像により構成される。
【００２３】
カード撮像装置ＣＡは例えばディジタルスチルカメラにより構成され、カード２１〜２ｉを一枚ずつ撮像する。そして、この撮像により得られたカード画像データを、例えばＵＳＢケーブルなどを介してサーバ装置ＳＶへ送る。カード画像データには、１枚のカードに記載された意見などを表す画像と、カードを識別するための二次元コードと、この二次元コードの認識に使用するスケール用スクウェア画像が含まれる。このカード映像データにおいて使用されるスケール用スクウェア画像は、上記二次元コードの短辺方向の長さを一辺とする正方形画像により構成される。
【００２４】
サーバ装置ＳＶは、二次元コード認識装置としての機能も備える。すなわち、サーバ装置ＳＶは、上記ボード撮像装置ＶＩから送られたボード映像データ、およびカード撮像装置ＣＡから送られたカード画像データをそれぞれ記憶する。そして、この記憶されたカード画像データを読み出し、カード識別エリアに表示された二次元コードを画像認識処理により認識してカードＩＤを解読する。
【００２５】
次にサーバ装置ＳＶは、ボード映像データとカード画像データに含まれるカードＩＤを比較し、一致する場合にボード映像データ上のカードの位置を検出する。そして、検出されたカードの位置情報を移動履歴情報としてサーバ装置ＳＶが備えるメモリに記憶する。このように記憶されたカードの移動履歴情報とカード画像データから会議情報データを再構成し、ユーザ端末ＰＣ１〜ＰＣｋに対して配信する。
【００２６】
ところで、上記カード２１〜２ｉのカード識別エリアに表示される二次元コードは、次のように構成される。図４はその構成を示すものである。  
すなわち、二次元コードは、複数のセルを二次元配列したデータ記述部ＤＴと、その両端部に配置される切り出し用シンボル部ＳＳ，ＳＥとから構成される。データ記述部ＤＴは正方形をなす複数のセルを二次元配列したもので、チェックパターン領域と、データ領域とに分けられる。チェックパターン領域には、図５に示すように予め定められたチェックパターンＣＰが挿入される。チェックパターンＣＰは、二次元コードを認識する際にその正当性を判定するために使用される。データ領域にはカードＩＤが挿入される。例えば、各セルはそれぞれカードＩＤを構成するコードデータの各ビットに割り当てられ、ビット値に応じて白又は黒に設定される。
【００２７】
切り出し用シンボル部ＳＳ，ＳＥは、二次元コードを認識する際にカード２１〜２ｉ上における上記データ記述部ＤＴの位置を見つけるためのもので、データ記述部ＤＴの存在方向を指し示す方向指示パターンを形成する。この方向指示パターンは、例えば図４に示すようにパターン形状が「逆コ型」と「コ型」を組み合わせたものからなる。なお、切り出し用シンボル部ＳＳ，ＳＥの方向指示パターンのパターン形状は「逆コ型」及び「コ型」に限定されるものではなく、「＜型」と「＞型」とを組み合わせたものや、「→」と「←」とを組み合わせたもの等、データ記述部ＤＴの存在方向を指し示すものであれば任意の形状の組み合わせを使用できる。なお、上記方向指示パターンを固有の色で着色するようにしてもよい。この固有の色には、会議支援システムにおいてカードで使用されない色が選ばれる。
【００２８】
さて、上記二次元コードを認識するための装置は次のように構成される。図５は、二次元コード認識機能を備えるサーバ装置ＳＶの機能構成を示すブロック図である。  
すなわち、サーバ装置ＳＶは、マイクロプロセッサなどの中央処理ユニット（ＣＰＵ：Central Processing Unit）１１を備える。このＣＰＵ１１には、バス１２を介してデータメモリ１３およびプログラムメモリ１４及びデータメモリ１４が接続され、さらにカメラ入力インタフェース（カメラ入力Ｉ／Ｆ）１５、ビデオ入力Ｉ／Ｆ１６、作成装置入力Ｉ／Ｆ１７及び出力インタフェース（出力Ｉ／Ｆ）１８が接続されている。
【００２９】
カメラ入力Ｉ／Ｆ１５は、ＣＰＵ１１の制御の下で、カード撮像装置ＣＡからケーブルを介して送られるカード画像データを取り込む。ビデオ入力Ｉ／Ｆ１６は、ＣＰＵ１１の制御の下で、ボード撮像装置ＶＩからケーブルを介して送られるボード画像データを取り込む。なお、上記カード画像データ及びボード画像データは、磁気ディスクや光ディスク、メモリカード等の外部記憶媒体から読み込むことも可能である。
【００３０】
作成装置入力Ｉ／Ｆ１７にはケーブルを介してコード作成装置ＡＳが接続される。コード作成装置ＡＳは、各カードカード２１〜２ｉに表示するための二次元コードを作成するもので、作成された二次元コードに対応するシンボルテンプレート情報及びコード属性データを出力する。作成装置入力Ｉ／Ｆ１７は、上記コード作成装置ＡＳから出力されるシンボルテンプレート情報及びコード属性データを取り込む。出力Ｉ／Ｆ１８にはディスプレイ１９が接続される。出力Ｉ／Ｆ１８は、ＣＰＵ１１の制御の下、二次元コードの復号結果等をディスプレイ１９に表示させる。
【００３１】
データメモリ１４は、ハードディスクやフラッシュメモリからなり、探索画像記憶エリア１４ａと、シンボルテンプレート情報記憶エリア１４ｂと、コード属性データ記憶エリア１４ｃとを備えている。探索画像記憶エリア１４ａには、上記カメラ入力Ｉ／Ｆ１５を介して取り込まれたカード画像データと、ビデオ入力Ｉ／Ｆ１６を介して取り込まれたボード画像データが記憶される。
【００３２】
シンボルテンプレート情報記憶エリア１４ｂには、上記作成装置入力Ｉ／Ｆ１７を介して取り込まれたシンボルテンプレート情報が記憶される。コード属性データ記憶エリア１４ｃには、同じく上記作成装置入力Ｉ／Ｆ１７を介して取り込まれたコード属性データが記憶される。
【００３３】
プログラムメモリ１３には、この発明を実現するためのアプリケーション・プログラムとして、探索画像入力制御プログラム１３ａと、スケール用スクウェア認識プログラム１３ｂと、テンプレートサイズ制御プログラム１３ｃと、切り出しシンボル探索プログラム１３ｄと、データ記述範囲特定プログラム１３ｅと、チェックビット解析プログラム１３ｆと、コードデータ復号プログラム１３ｇが格納される。
【００３４】
探索画像入力制御プログラム１３ａは、カード撮像装置ＣＡから送られるカード画像データ及びボード撮像装置ＶＩから送られるボード画像データをそれぞれカメラ入力Ｉ／Ｆ１５及びビデオ入力Ｉ／Ｆ１６を介して取り込み、この取り込まれた各画像データを上記探索画像記憶エリア１４ａに記憶させる。
【００３５】
スケール用スクウェア認識プログラム１３ｂは、探索対象画像である上記ボード画像データ及びカード画像データ中からスケール用スクウェアの画像データＳＳを認識する。このときスケール用スクウェアとしては、二次元コードの長辺方向の長さを一辺とする第１の正方形画像と、二次元コードの短辺方向の長さを一辺とする第２の正方形画像とが用意されており、上記ボード画像データ中からは上記第１の正方形画像を、一方上記カード画像データ中からは上記第２の正方形画像をそれぞれ認識する。スケール用スクウェアの認識手法としては、画像処理技術の一つである特徴抽出（ブロブ解析）が用いられ、正方形の特徴が抽出される。またスケール用スクウェア認識プログラム１３ｂは、上記抽出された第１及び第２の正方形の一辺の長さをそれぞれ計算する。この正方形の一辺の長さは、正方形の頂点の座標から三平方の定理を用いて算出される。
【００３６】
テンプレートサイズ制御プログラム１３ｃは、上記シンボルテンプレート情報記憶エリア１４ｂからシンボルテンプレート情報を読み出し、上記スケール用スクウェア認識プログラム１３ｂにより算出された正方形の一辺の長さをスケール基準として、上記シンボルテンプレート情報のサイズを調整する。
【００３７】
切り出しシンボル探索プログラム１３ｄは、上記探索画像記憶エリア１４ａに記憶されたボード画像データ又はカード画像データから二次元コードの切り出しシンボル部ＳＳ，ＳＥを探索するもので、上記サイズ調整されたシンボルテンプレートを利用したパターンマッチングにより上記切り出しシンボル部ＳＳ，ＳＥを検出する。
【００３８】
データ記述範囲特定プログラム１３ｅは、上記切り出しシンボル探索プログラム１３ｄにより検出された切り出しシンボル部ＳＳ，ＳＥの位置座標と、方向指示パターンのパターン形状とをもとに、二次元コードのデータ記述部ＤＴが存在する範囲を推定する。そして、この推定された範囲からデータ記述部ＤＴの候補を抽出する。
【００３９】
チェックビット解析プログラム１３ｆは、上記データ記述範囲特定プログラム１３ｅにより抽出されたデータ記述部ＤＴの候補についてそれぞれチェックパターンＣＰをもとに正当性を判定する。この二次元コードの正当性の判定は、画像雑音等の影響による二次元コードの誤認識を未然に回避するために行われる。
【００４０】
コードデータ復号プログラム１３ｇは、上記チェックビット解析プログラム１３ｆにより正当性が確認された二次元コードのデータ記述部ＤＴに対し、各セルに記載された白と黒のパターンを２進数のコードデータに復号し、さらにこの２進数のコードデータを１０進数のカードＩＤに変換する。
【００４１】
次に、以上のように構成されたサーバ装置ＳＶにおける二次元コードの認識処理動作を説明する。図７はその制御手順と制御内容を示すフローチャートである。  
カード画像データ及びボード画像データの取り込みが終了すると、サーバ装置ＳＶはＣＰＵ１１により二次元コードの探索対象となる画像データを探索画像記憶エリア１４ａから読み出す。そして、この状態で先ずステップ７ａによりスケール用スクウェア認識プログラム１３ｂを実行し、例えばブロブ解析を用いることにより、上記読み出された画像データ中から正方形からなるスケール用スクウェア画像ＳＳの認識を行う。
【００４２】
例えば、上記ボード画像データからは二次元コードの長辺方向の長さを一辺とする第１の正方形画像を認識し、一方上記カード画像データからは二次元コードの短辺方向の長さを一辺とする第２の正方形画像を認識する。そして、この認識したスケール用スクウェア画像ＳＳの一辺の長さを、正方形の頂点の座標から三平方の定理を用いて算出する。
【００４３】
次に、サーバ装置ＳＶのＣＰＵ１１は、ステップ７ｂによりテンプレートサイズ制御プログラム１３ｃを実行し、予めコード作成装置ＡＳから取り込んでおいたシンボルテンプレート情報をシンボルテンプレート情報記憶エリア１４ｂから読み出す。そして、ステップ７ｃにおいて、上記読み出されたシンボルテンプレート情報に含まれるシンボル間距離（図９に示すａ）と、上記ステップ７ａで算出されたスケール用スクウェア画像ＳＳの一辺の長さとをもとに、シンボルテンプレートのサイズを調整する。このサイズ調整は、上記シンボルテンプレート情報に含まれるシンボル形状及びシンボル間距離に対し、ｂ／ａを乗ずることにより行われる。図９及び図１０にその処理の様子を示す。このサイズ調整により、シンボルテンプレートは、探索画像データ中に存在する二次元コードの切り出しシンボル部ＳＳ，ＳＥと同一サイズに設定される。
【００４４】
次にＣＰＵ１１は、ステップ７ｄにより切り出しシンボル探索プログラム１３ｄを実行し、上記サイズ調整されたシンボルテンプレートを用いて、探索対象の画像データ中から切り出しシンボル部ＳＳ，ＳＥの探索を行う。この探索処理は、上記シンボルテンプレートと探索対象の画像データとの間でパターンマッチングを行うことによりなされる。
【００４５】
さて、そうして切り出しシンボル部ＳＳ，ＳＥが見つかると、続いてＣＰＵ１１はステップ７ｅによりデータ記述範囲特定プログラム１３ｅを実行し、切り出しシンボル部ＳＳ，ＳＥの位置座標と方向指示パターンの形状をもとに、データ記述部ＤＴの存在範囲を推定する。例えば、図１１（ａ）に示すように、切り出しシンボル部ＳＳ，ＳＥ間に挟まれる領域で、かつ切り出しシンボル部ＳＳ，ＳＥにそれぞれ接する１セル分のマージンを除いた範囲をデータ記述部ＤＴの存在範囲として推定する。この存在範囲はデータ記述部ＤＴとして認識される。そして、コード属性データ記憶エリア１４ｃに記憶されている１セルのサイズにｂ／ａを乗じたサイズをもとに、上記推定された範囲を図１１（ｂ）に示すように分割する。この分割された小範囲が二次元コードのセルとして認識される。
【００４６】
次にＣＰＵ１１は、ステップ７ｆによりチェックビット解析プログラム１３ｆを実行し、チェックパターンＣＰを検出してデータ記述部ＤＴの候補の正当性を判定する。例えば、図１１（ｃ）に示すようにデータ記述部ＤＴの左端にある２×２の４セルをチェックパターンＣＰとして抽出し、この４セルの白黒のパターンを判定する。そして、図１１（ｃ）に示すように４セルのうち左上のセルのみが黒でその他の３セルが白であれば、当該チェックパターンＣＰは正しいと判定され、これにより探索されたデータ記述部ＤＴの候補の正当性は保証される。したがって、画像雑音等の影響による二次元コードの認識誤りを未然に回避できる。
【００４７】
上記チェックパターンＣＰの判定において二次元コードの正当性が確認されると、ＣＰＵ１１はステップ７ｇからステップ７ｈに移行する。そして、このステップ７ｈにおいてコードデータ復号プログラム１３ｇを実行する。図８はその処理手順及び処理内容を示すフローチャートである。
【００４８】
すなわち、ＣＰＵ１１は先ずステップ８ａにより、上記抽出されたデータ記述部ＤＴから上記チェックパターンＣＰを除外してデータ記述範囲を特定する。次に、ステップ８ｂにより、上記特定されたデータ記述範囲内における分割された複数のセルのうち、最右下のセルをコードデータの最下位桁に対応するセルとして選択し、この選択した初期位置のセルについてステップ８ｃによりその輝度値から白か黒かを判定する。
【００４９】
続いてステップ８ｄにより、上記選択されたセルの左隣のセルを選択し、この選択したセルについて上記ステップ８ｃにより白か黒かを判定する。以後同様に、ステップ８ｄによりセルの選択位置を右から左方向へ、さらには下側の行から上側の行へ順次移動させながら、ステップ８ｃにおいてセルごとに白か黒かを判定する。
【００５０】
そうしてすべてのセルについての白／黒の判定が終了すると、ＣＰＵ１１はステップ８ｅからステップ８ｆに移行し、ここで上記各セルの判定結果をもとに２進数コードを生成する。例えば、白を“０”に、黒を“１”にそれぞれ変換する。そして、この生成された２進数コードをステップ８ｇにより１０進数コードに変換し、この変換された１０進数コードをステップ８ｈによりカードＩＤとしてデータメモリ１４に保存する。最後にＣＰＵ１１は、ステップ７ｉにおいて、上記保存されたカードＩＤを出力Ｉ／Ｆ１８を介してディスプレイ１９へ出力し表示させる。
【００５１】
以上述べたようにこの実施形態では、探索対象の画像データ中から二次元コードを認識する復号する際に、先ず探索対象の画像データ中からスケール用スクウェア画像ＳＳを認識してその一辺の長さを計算する。次に、この計算された一辺の長さをスケール基準値としてシンボルテンプレートのサイズを調整し、このサイズ調整されたシンボルテンプレートをもとに上記探索対象の画像データ中から切り出し用シンボル部ＳＳ，ＳＥを認識する。そして、上記認識された切り出し用シンボル部ＳＳ，ＳＥをもとにデータ記述部ＤＴの存在範囲を推定し、この推定された存在範囲に含まれるデータ記述部の候補画像に対しチェックパターンＣＰによる正当性の判定を行ったのち、当該データ記述部ＤＴ記述されたコードデータを復号するようにしている。
【００５２】
したがって、データ記述部ＤＴの位置を示す切り出し用シンボル部ＳＳ，ＳＥが先ず検出され、この検出された切り出し用シンボル部ＳＳ，ＳＥを利用してデータ記述部ＤＴが認識される。このため、二次元コードを含む画像データから画像処理により二次元コードを認識する際に、二次元コードの向きが任意の方向に回転していても、画像データに対し傾き補正等を行うことなくコードデータ記述部を高い確率で検出し、そのコードデータを復号することが可能となる。このため、複雑な画像処理アルゴリズムを用いることなく、簡単かつ短時間に効率良く二次元コードを認識できる。
【００５３】
しかも、上記切り出し用シンボル部ＳＳ，ＳＥの検出に先立ち、探索対象の画像データ中からスケール用スクウェア画像ＳＳが検出され、この画像ＳＳをもとに二次元コードのスケール基準値が算出される。そして、この算出されたスケール基準値をもとにサイズ調整されたシンボルテンプレートが生成され、この生成されたシンボルテンプレートをもとに上記切り出し用シンボル部ＳＳ，ＳＥの検出が行われる。このため、切り出し用シンボル部ＳＳ，ＳＥを迅速かつ確実に検出することが可能となる。
【００５４】
また、上記スケール用スクウェア画像ＳＳとして、二次元コードの長辺方向の長さを一辺とする第１の正方形画像と、二次元コードの短辺方向の長さを一辺とする第２の正方形画像とを用意し、ボード画像データ中から二次元コードを認識する場合には上記第１の正方形画像を使用し、一方カード画像データ中から二次元コードを認識する場合には上記第２の正方形画像を使用するようにしている。このため、多数の二次元コードが小さいサイズで含まれているボード画像データ中からでも、また比較的大きいサイズの二次元コードが１個だけ含まれているカード画像データ中からでも、二次元コードを効率良くかつ正確に認識することが可能となる。
【００５５】
さらにこの実施形態では、切り出し用シンボル部ＳＳ，ＳＥにデータ記述部ＤＴの存在方向を形状により表す方向指示パターンを備え、この方向指示パターンの形状をもとにコードデータ記述部の存在範囲を推定するようにしている。したがって、例えばＱＲコードのように位置検出用のパターンを備えていても方向指示機能を持たないものに比べ、コードデータ記述部の存在位置を簡単かつ迅速に推定することが可能となる。
【００５６】
さらに、切り出し用シンボル部ＳＳ，ＳＥを固有の色に設定しておくと、切り出し用シンボル部ＳＳ，ＳＥを検出する際に、上記固有の色に基づいて切り出し用シンボル部ＳＳ，ＳＥを認識することも可能となる。このため、探索対象の画像データ中に切り出し用シンボル部ＳＳ，ＳＥと類似する形状の画像パターンが含まれている場合でも、上記色を判定条件の一つとして使用することで切り出し用シンボル部ＳＳ，ＳＥをより一層正確にかつ迅速に検出することが可能となる。
【００５７】
さらにこの実施形態では、データ記述部ＤＴに二次元コードの正当性を表すチェックパターンＣＰを含め、コードデータを復号する際に先ず上記チェックパターンＣＰをもとに二次元コードの正当性を判定し、二次元コードの正当性が確認された場合にデータ記述部ＤＴに記述されたコードデータを復号するようにしている。このため、例えば画像雑音等の影響により媒体画像データ中にデータ記述部ＤＴと類似する画像パターンが存在した場合に、これをデータ記述部として誤認識しないようにすることができ、認識率を向上させることができる。
【００５８】
なお、この発明は上記実施形態に限定されるものではない。例えば、前記実施形態ではデータ記述部ＤＴの左右に切り出し用シンボル部ＳＳ，ＳＥを配置する場合を例にとって説明したが、データ記述部ＤＴの上下に切り出し用シンボル部ＳＳ，ＳＥを配置するようにしてもよい。また、切り出し用シンボル部における方向指示パターンの形状と固有色についても、任意に設定できる。さらに、データ記述部の各セルの色についても白と黒に限定されるものではなく、白と青や白と赤など、その他の色の組み合わせを使用できる。
【００５９】
その他、データ記述部を構成するセルの数やサイズ、二次元配列の構成、第１及び第２の位置検出用パターンのサイズや形状、データ記述部に対する配置位置、二次元コードの認識手順とその内容、スケール用スクウェア及びシンボルテンプレートの構成とその認識方法などについても、この発明の要旨を逸脱しない範囲で種々変形して実施できる。
【００６０】
要するにこの発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合せにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態に亘る構成要素を適宜組み合せてもよい。
【図面の簡単な説明】
【００６１】
【図１】この発明に係わる二次元コードの用途の一つである会議支援システムの一実施形態を示す概略構成図。
【図２】図１に示すシステムにおける会議情報の記録の様子を示す図。
【図３】図１に示すシステムで使用されるカードの構成を示す図。
【図４】この発明の一実施形態に係わる二次元コードの構成を示す図。
【図５】図４に示した二次元コードに設定されるチェックパターンの一例を示す図。
【図６】この発明に係わる二次元コード認識装置の一実施形態であるサーバ装置の構成を示す機能ブロック図。
【図７】図６に示したサーバ装置による二次元コード認識手順と内容を示すフローチャート。
【図８】図７に示したフローチャート中におけるデータ復号処理の手順と内容を示すフローチャート。
【図９】コード作成装置において作成されるスケール用スクウェアの一例を示す図。
【図１０】カードの撮像画像データから検出されるスケール用スクウェアの一例を示す図。
【図１１】コードデータの復号手順を説明するための図。
【符号の説明】
【００６２】
ＳＶ…サーバ装置、ＶＩ…ボード撮像装置、ＣＡ…カード撮像装置、通信ネットワーク…ＮＷ、ＰＣ１〜ＰＣｋ…ユーザ端末、１…ボード、２１〜２ｉ…カード、２１Ａ…意見記入エリア、２１Ｂ…２次元コード記入エリア、ＡＳ…二次元コード作成装置、ＤＴ…データ記述部、ＳＳ，ＳＥ…切り出し用シンボル部、ＳＳ…スケール用スクウェア、１１…ＣＰＵ、１２…バス、１３…プログラムメモリ、１３ａ…探索画像入力制御プログラム、１３ｂ…スケール用スクウェア認識プログラム、１３ｃ…テンプレートサイズ制御プログラム、１３ｄ…切り出しシンボル探索プログラム、１３ｅ…データ記述範囲特定プログラム、１３ｆ…チェックビット解析プログラム、１３ｇ…コードデータ復号プログラム、１４…データメモリ、１４ａ…探索画像記憶エリア、１４ｂ…シンボルテンプレート情報記憶エリア、１４ｃ…コード属性データ記憶エリア、１５…カメラ入力Ｉ／Ｆ、１６…ビデオ入力Ｉ／Ｆ、１７…作成装置入力Ｉ／Ｆ、１８…出力Ｉ／Ｆ、１９…ディスプレイ。
【図１】
2006236135.tif 000003
【図２】
2006236135.tif 000004
【図３】
2006236135.tif 000005
【図４】
2006236135.tif 000006
【図５】
2006236135.tif 000007
【図６】
2006236135.tif 000008
【図７】
2006236135.tif 000009
【図８】
2006236135.tif 000010
【図９】
2006236135.tif 000011
【図１０】
2006236135.tif 000012
【図１１】
2006236135.tif 000013