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