説明

物体、画像データおよび画像データ伝送方法

【課題】 精度よく認識することのできる2次元コードを提供することを目的とする。
【解決手段】 本発明の2次元コードは、所定の形状を有する基準セル100と、それぞれを2次元配置することでコードデータを構成する複数の多辺形セル106と、複数の多辺形セル106が2次元配置される領域を取り囲むように配置される複数のコーナーセル104とを備える。基準セル100、多辺形セル106、コーナーセル104の少なくとも一つのセルは、他のセルと異なる色を付けられる。この2次元コードが撮像装置により撮像されると、画素値の範囲を設定することで各セルを抽出でき、2次元コードの読み取り精度を向上できる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、複数のセルを2次元配置することでコードデータを表現する技術に関し、特にコードデータを有する物体、コードデータを表示装置に表示させるための画像データ、およびその画像データを伝送する方法に関する。
【背景技術】
【0002】
近年、2次元コードをカメラで撮像してコードデータを認識し、そのコードデータに対応付けられた所定の処理を実行させる技術が普及している。1次元バーコードと比較すると、2次元コードの方がコード化できる情報量が多く、現在では様々な種類の2次元コードが登場するようになっている。2次元コードのコードデータは、画像データから効率よく且つ正確に読み取られる必要がある。このような状況をふまえて、従来、2次元コードの画像認識に関する技術を提案するものがある(例えば、特許文献1参照)。
【特許文献1】特開2000−82108号公報
【発明の開示】
【発明が解決しようとする課題】
【0003】
画像データの解像度が高ければ、2次元コードの情報量を多く取得でき、コードデータの高い認識率を実現することができる。しかしながら、カメラによっては解像度の低いものもあり、そのような場合であっても、コードデータの認識率を高めることが好ましい。
本発明は、精度よく認識することのできる2次元コードを提供することを目的とする。
【課題を解決するための手段】
【0004】
上記課題を解決するために、本発明のある態様は、所定の形状を有する基準セルと、それぞれを2次元配置することでコードデータを構成する複数の多辺形セルと、複数の多辺形セルが2次元配置される領域を取り囲むように配置される複数のコーナーセルとを備え、基準セル、多辺形セル、コーナーセルの少なくとも一つのセルは、他のセルと異なる色を付けられる物体を提供する。この物体はカードなどの2次元的なオブジェクトであってもよく、また3次元オブジェクトであってもよい。また、方形セルおよびコーナーセルは、物体上に印刷されていてもよく、また刻印されていてもよい。これらのセルは、撮像装置により撮像されることが可能な状態で存在すればよい。
【0005】
本発明の別の態様は、2次元コードを表示装置に表示させるためのデータフォーマットにしたがって生成された画像データであって、所定の形状を有する基準セルを表示装置上の所定の位置に表示させるためのデータと、基準セルに対して定められる領域の範囲内で複数の多辺形セルを表示させるためのデータと、領域を取り囲む座標位置に複数のコーナーセルを表示させるためのデータとを備え、基準セル、多辺形セル、コーナーセルの少なくとも一つのセルの色が、他のセルの色と異なるように設定されている画像データを提供する。
【0006】
本発明のさらに別の態様は、2次元コードを表示装置に表示させるためのデータフォーマットにしたがって生成された画像データを伝送する方法であって、伝送する画像データが、所定の形状を有する基準セルを表示装置上の所定の位置に表示させるためのデータと、基準セルに対して定められる領域の範囲内で複数の多辺形セルを表示させるためのデータと、領域を取り囲む座標位置に複数のコーナーセルを表示させるためのデータとを備え、基準セル、多辺形セル、コーナーセルの少なくとも一つのセルの色が、他のセルの色と異なるように設定されている画像データ伝送方法を提供する。
【0007】
本発明のさらに別の態様は、フレーム画像に含まれるオブジェクト画像を認識する画像解析装置に関する。当該オブジェクト画像は、所定の形状を有する基準セルと、基準セルとは異なる色を付けられた複数のコーナーセルとを有して構成される。この態様の画像解析装置は、RGBの画素値の範囲を設定して、フレーム画像を2進数のビット表現に変換する2値化処理部と、フレーム画像の2値化データから基準セルを検出する第1検出部と、フレーム画像の2値化データからコーナーセルを検出する第2検出部とを備える。2値化処理部は、基準セル用のRGBの画素値の範囲を設定して、設定した画素値の範囲内にある画素を抽出してフレーム画像の2値化処理を行い、その2値化データをもとに第1検出部が基準セルを検出する。また2値化処理部は、コーナーセル用のRGBの画素値の範囲を設定して、設定した画素値の範囲内にある画素を抽出してフレーム画像の2値化処理を行い、その2値化データをもとに第2検出部がコーナーセルを検出する。
【0008】
本発明のさらに別の態様は、フレーム画像に含まれるオブジェクト画像を認識する方法に関する。当該オブジェクト画像は、所定の形状を有する基準セルと、基準セルとは異なる色を付けられた複数のコーナーセルとを有して構成される。この態様のオブジェクト認識方法は、基準セル用のRGBの画素値の範囲を設定し、設定した画素値の範囲内にある画素を抽出して、フレーム画像から基準セルを検出するステップと、コーナーセル用のRGBの画素値の範囲を設定し、設定した画素値の範囲内にある画素を抽出して、フレーム画像からコーナーセルを検出するステップとを備える。
【0009】
なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、記録媒体、コンピュータプログラムなどの間で変換したものもまた、本発明の態様として有効である。
【発明の効果】
【0010】
本発明によると、精度よく認識することのできる2次元コードを提供することができる。
【発明を実施するための最良の形態】
【0011】
図1は、本発明の実施例にかかるゲームシステム1の構成を示す。ゲームシステム1は、撮像装置2、画像処理装置10および出力装置6を備える。画像処理装置10は、画像解析装置20およびゲーム装置30を備える。画像解析装置20およびゲーム装置30は別装置として構成されてもよいが、一体として構成されてもよい。撮像装置2は、CCD撮像素子またはMOS撮像素子などから構成されるビデオカメラであり、例えば320画素×240画素の解像度を有する。撮像装置2は実空間を所定の周期で撮像して、周期ごとのフレーム画像を生成する。撮像領域5は撮像装置2により撮像される範囲であり、撮像装置2の高さや向きを調整することで、撮像領域5の位置や大きさが調整される。ゲームプレイヤは、撮像領域5において、実オブジェクトであるゲームカード4を指で動かす。ゲームカード4は、自身を一意に識別するための2次元コードを有して構成される。
【0012】
出力装置6は、表示装置であるディスプレイ7を有する。出力装置6は、さらにスピーカ(図示せず)を有して構成されてもよい。基本的に画像処理装置10は、撮像装置2により撮像されたフレーム画像をディスプレイ7に表示させ、その際に、ゲームカード4上に仮想オブジェクトであるキャラクタを重畳するように表示制御する。プレイヤは、ディスプレイ7を見ることで、ゲームカード4が撮像領域5に入っているか容易に確認でき、入っていない場合には、ゲームカード4の位置をずらしたり、また撮像装置2の向きを調整して、撮像装置2にゲームカード4を撮像させるようにする。
【0013】
実施例のゲームアプリケーションでは、プレイヤがゲームカード4に対して所定の操作を施すことにより、キャラクタを動作させる。このゲームアプリケーションの性質上、プレイヤにゲームカード4とキャラクタとの一体性を認識させることが好ましく、そのため、キャラクタの画像を、ゲームカード4に重ね合わせて表示させている。撮像領域5内でゲームカード4をゆっくりと移動させると、キャラクタは、ゲームカード4の上に乗った状態を維持しながら、ゲームカード4の動きに追従して一緒に移動する。
【0014】
以上のキャラクタの動きは、画像処理装置10により制御される。まず、画像解析装置20は、撮像装置2において取得されたフレーム画像から、ゲームカード4の画像情報を抽出する。さらに、画像解析装置20は、ゲームカード4の画像情報から、ゲームカード4に印刷された2次元コードを抽出する。このとき、画像解析装置20は、ゲームカード4の2次元コードから、ゲームカード4の空間における位置情報、方向情報、距離情報などを決定する。
【0015】
後述するが、画像解析装置20は、フレーム画像中のゲームカード4の画像における基準セルおよび4隅のコーナーセルを用いて、撮像装置2とゲームカード4との距離やゲームカード4の向きなどを計算して求める。これにより、キャラクタは、ゲームカード4上にて前方を向くように表示制御される。また、2次元コードにおける複数の方形セルの配列から、ゲームカード4のコードデータを取得する。
【0016】
図1では、ゲームカード4が台3に単に置かれている状態を示しているが、ゲームカード4は、例えば台3に対して斜めに傾けられたり、また台3よりも上に持ち上げられたりしてもよい。画像解析装置20は、ゲームカード4が傾斜された状態、または、台3からの高さを変化された状態を画像解析により認識する機能をもつ。画像解析装置20において画像解析された結果は、ゲーム装置30に送られる。なお、撮像装置2において撮像されたフレーム画像が、ゲーム装置30に送られて、ゲーム装置30側で画像解析を行ってもよい。この場合、画像処理装置10は、ゲーム装置30のみで構成されることになる。
【0017】
ゲーム装置30は、画像解析装置20における画像解析結果をもとに、ディスプレイ7の表示画面上で、キャラクタをゲームカード4の上に位置するように表示制御する。キャラクタは、ゲームカード4から抽出したコードデータに対応付けられて、ゲームシーンごとに適宜割り当てられてもよい。この場合、ゲームシーンが切り替わると、表示されるキャラクタも切り替わることになる。
【0018】
図2は、ゲームカードの表面に印刷した2次元コードを示す。ゲームカード4の表面には、複数の所定形状をもつ多角形セルが所定の配列規則にしたがって2次元的に配置されている。具体的に、ゲームカード4の2次元コードは、撮像装置2により撮像された画像データからゲームカード4の認識処理を行うための基準となる基準セル100、複数の方形セル106を2次元配置することでコードデータを構成するコードデータ部分102、コードデータ部分102を取り囲むように配置される複数のコーナーセル104a、104b、104c、104d(以下、総称する場合は、「コーナーセル104」と呼ぶ)を備えている。コードデータ部分102およびコーナーセル104は、2次元コードにおけるコード部110に存在している。
【0019】
基準セル100、方形セル106およびコーナーセル104は、それぞれ所定の形状を有して構成される。図2に示す2次元コードでは、各セルが黒色に塗りつぶされて存在している。図2において、領域108は、複数の方形セル106が連結して構成されたものであり、他の方形セル106とともにコードデータを構成している。実施例のゲームカード4が複数存在する場合に、基準セル100およびコーナーセル104の配置および大きさは共通とされ、コードデータ部分102における方形セル106の配列により、ゲームカード4を一意に特定することができる。
【0020】
以下に、本実施例における2次元コードの詳細を説明する。正方形状の方形セル106の1辺を1ブロックとすると、基準セル100は、7ブロック分の横方向の長辺と1.5ブロック分の縦方向の短辺で形成される長方形状のセル(エレメント)として構成される。実施例において、縦1ブロックと横1ブロックで形成される正方形状の領域をブロック領域と呼ぶ。
【0021】
コードデータ部分102は、7ブロック×7ブロックで囲まれる領域に形成される。この領域の一辺は、基準セル100の長辺に平行であり且つ長辺から1ブロック離れた位置に配置される。図示のように、コード部110は、8ブロック×8ブロックで囲まれる領域であり、コードデータ部分102は、コード部110が形成される領域に含まれる。実際に方形セル106が配置される領域は、7ブロック×7ブロックで囲まれる領域の4隅における2ブロック×2ブロックの領域を除いた部分とする。すなわち、4隅の2ブロック×2ブロックの領域には方形セル106を配置させないこととし、したがって、(7×7−2×2×4)=33のブロック領域に方形セル106が配置されて、コードデータを構成する。
【0022】
コーナーセル104aは、コード部110の左上隅の領域に配置される。この左上隅の領域は、コードデータ部分102として7ブロック×7ブロックで囲まれる領域の左上隅の2ブロック×2ブロックの領域の範囲内であってよく、またその範囲内からはみ出してもよい。図示の例では、コーナーセル104aが、コードデータ部分102における左上隅の2ブロック×2ブロックの領域から縦に0.5ブロック分、横に0.5ブロック分だけはみ出して配置されている。すなわち、コーナーセル104aは、コード部110において2.5ブロック×2.5ブロックで囲まれる左上隅の領域に存在している。同様に、コーナーセル104bはコード部110の右上隅の領域に配置され、コーナーセル104cはコード部110の右下隅の領域に配置され、コーナーセル104dはコード部110の左下隅の領域に配置される。図示の例では、各コーナーセル104は方形に形成され、具体的には1辺を1.5ブロック分の長さとする正方形のセルとして形成されている。
【0023】
コードデータ部分102は、1ブロック領域を1ビットとすると、合計で33ビット分の情報をコード化することができる。この33ビット中、9ビット分は、コードデータが、正しいコードデータであることを確かめるためのチェックデータを構成する。従って、コードデータ部分102には、24ビット分の情報がコード化されている。
【0024】
方形セル106は、コードデータを表現する重要なエレメントであり、画像解析装置20において正確に画像認識される必要がある。そのためには、全ての方形セル106を大きく形成することが理想的であるが、当然のことながらゲームカード4の大きさには制約があり、方形セル106を大きくすることは、それだけコードデータ部分102を構成する方形セル106の数を減じる結果となる。これは情報のビット数を減らすことに相当し、好ましくない。
【0025】
以上のことから、本実施例において、コーナーセル104は、方形セル106よりも大きな面積を有して構成される。後述するが、本実施例の画像解析装置20において、4隅のコーナーセル104は、コードデータ部分102を検出するために利用される。逆に言えば、4隅のコーナーセル104を検出できなければ、方形セル106を検出することもできないため、この2次元コードでは、方形セル106よりもコーナーセル104をまず確実に認識する必要がある。4隅のコーナーセル104を方形セル106よりも大きく形成することで、4隅のコーナーセル104の認識率を高めることができる。
【0026】
画像解析装置20は、フレーム画像中の基準セル100の候補を抽出して所定の基準を満たすものを基準セル100として仮定し、その仮定した基準セル100の近傍に4つのコーナーセル104が存在しているか否かを判定する。4つのコーナーセル104を認識すると、画像解析装置20は、4つのコーナーセル104により囲まれた領域、すなわちコードデータ部分102における方形セル106の配置を読み取り、コードデータを取得する。これにより、仮定した基準セル100が真の基準セル100であったことが判断され、ゲームカード4を認識することができる。画像解析装置20は、撮像装置2を基準(原点)とするゲームカード4の仮想3次元座標系における位置と方向を計算して求める。
【0027】
図3は、画像解析装置の構成を示す。画像解析装置20は、フレーム画像取得部40、実オブジェクト抽出部42および状態決定部44を備える。実オブジェクト抽出部42は、2値化処理部50、基準セル検出部52、コード部検出部54、検証処理部56を備える。本実施例における画像解析装置20の処理機能は、CPU、メモリ、メモリにロードされたプログラムなどによって実現され、ここではそれらの連携によって実現される構成を描いている。プログラムは、画像解析装置20に内蔵されていてもよく、また記録媒体に格納された形態で外部から供給されるものであってもよい。したがってこれらの機能ブロックがハードウエアのみ、ソフトウエアのみ、またはそれらの組合せによっていろいろな形で実現できることは、当業者に理解されるところである。図示の例では、画像解析装置20のCPUが、フレーム画像取得部40、実オブジェクト抽出部42、状態決定部44としての機能をもつ。
【0028】
フレーム画像取得部40が、撮像装置2にて撮像された実空間のフレーム画像を取得する。撮像装置2は、周期的にフレーム画像を取得し、好適には1/60秒間隔でフレーム画像を生成する。
【0029】
実オブジェクト抽出部42は、フレーム画像から実オブジェクト画像、すなわちゲームカード4の画像を抽出する。具体的に、2値化処理部50がフレーム画像を2進数のビット表現に変換して、フレーム画像の情報をビットのオンとオフで表現する。基準セル検出部52は、フレーム画像の2値化データから、基準セル100を検出する。基準セル100を検出すると、コード部検出部54が、基準セル100の位置をもとにコード部110を検出し、検証処理部56が、コード部110に含まれるコードデータの検証処理を行う。
【0030】
状態決定部44は、設定した座標系における実オブジェクトの状態を決定し、具体的には、ゲームカード4の位置、方向および撮像装置2からの距離を決定する。状態決定部44において決定された位置情報、方向情報、距離情報は、2次元コードから取得されたコードデータにそれぞれ関連付けされて、ゲーム装置30に送られる。なお、複数のゲームカード4が撮像領域5に存在する場合には、それぞれのゲームカード4ごとに、位置情報、方向情報、距離情報、コードデータが関連付けされてゲーム装置30に送られる。また、ゲームシステム1では、撮像装置2により撮像されたフレーム画像をディスプレイ7に表示させるため、フレーム画像自体もゲーム装置30に送られる。ゲーム装置30は、コードデータに対応付けられたキャラクタを読み出し、3次元の仮想空間においてゲームカード4とキャラクタとを重畳させて表示させる。
【0031】
図4は、2次元コードの認識処理の処理手順を示すフローチャートである。2次元コードが撮像装置2により撮像され、その結果得られた1フレーム分の画像データが、フレーム画像取得部40により取得される。2値化処理部50は、画像データに対して2値化処理を行う(S10)。2値化処理では、所定の閾値より大きい輝度を保持する画素の画素値が"0"に符号化され、表示上、その画素は白色とされる。以下においては、このように、画素値が"0"に符号化された画素を、白色画素と称する。一方、閾値以下の輝度値を保持する画素の画素値は、"1"に符号化され、表示上、その画素は黒色とされる。以下においては、このように、画素値が"1"に符号化された画素を、黒色画素と称する。2値化処理部50は、黒色画素が連続して存在する領域を1つの連結領域としてまとめ、抽出された複数の黒色画素連結領域に対して、番号を1から順に昇順で設定(ラベリング)する(S12)。例えば、ラベリングの番号は、連結領域として抽出した順すなわち特定した順に設定されてもよい。番号は、その座標データとともにRAM(図示せず)に記憶させる。図2に示す2次元コードを利用すると、コーナーセル104が方形セル106よりも大きく表示されているため、コーナーセル104を黒色画素連結領域として検出できる確率および座標位置の精度を高くすることができる。
【0032】
基準セル検出部52は、今回対象とする画像データより前に実行された2次元コード認識処理において、認識された2次元コードの表示上の位置、例えば、基準セル100の中央点が、RAMに記憶されているか否かを判定する(S14)。前フレームにおける基準セル100の中央点がRAMに記憶されている場合(S14のY)、記憶されている位置を基準セル検出処理の開始点として設定する(S16)。前の画像フレームにおいて基準セル100が検出されている場合、今回の画像フレームにおいてもゲームカード4の位置は大きく変化していないことが多いため、前フレームの基準セル100の中央点を利用することで、今回のフレームにおいて効率的に基準セル100を検出することが可能となる。一方、2次元コードの位置がRAMに記憶されていない場合(S14のN)、基準セル検出部52は、ディスプレイ7の表示上の中心点を基準セル検出処理の開始点に設定する(S18)。開始点を設定した後、基準セル検出部52は、基準セル100の検出処理を実行する(S20)。
【0033】
図5は、基準セルの検出処理を示すフローチャートである。なお、本フローにて示す画素数は撮像装置2の解像度などに依存し、ここでは理解を容易にするため、一例としての画素数を示すこととする。まず、基準セル検出部52は、図4のS12においてラベリングした黒色画素連結領域の総数Mを読み出し、カウンタの値jを1に初期設定する(S100)。次に、図4のS16またはS18において設定した開始点から、ディスプレイ7の画面上を左回りの渦巻の軌跡に沿って、黒色画素連結領域を探索し、始めに検出した黒色画素連結領域を基準セル候補領域として選択する(S102)。基準セル検出部52は、選択した基準セル候補領域の縁部分を抽出して、短辺および長辺を決定する(S104)。
【0034】
基準セル検出部52は、短辺が所定画素数、例えば20画素以上の画素で構成されているか否かを判定する(S106)。短辺は1.5ブロック分の長さで構成されているが、短辺が20画素より少ない画素で構成されている基準セル100である場合、1ブロックの長さは、さらに少ない数の画素から構成されることとなる。そのため、2次元コードにおける最小の構成要素である方形セル106の一辺は約13画素以下となり、撮像装置2で適切に撮像することはできない。このことより、短辺が20画素より少ない画素で構成されていると判定された場合(S106のN)、S102で選択された黒色画素連結領域は、基準セル100ではないと判断することとし、S116に進む。
【0035】
短辺が20画素以上の画素で構成されていると判定された場合(S106のY)、基準セル検出部52は、基準セル候補領域の長辺が所定画素数、例えば300画素以下の画素で構成されているか否かを判定する(S108)。例えば、長辺が300画素より多い画素で構成されている基準セル100であるとすると、長辺の長さが7に対して1の割合で求められる1ブロックの長さが大きくなり、基準セル100から、8.5ブロック分離れて位置する右下コーナーセル104cおよび左下コーナーセル104dが、撮像装置2にて撮像されなくなる。このことより、長辺が300画素より多い画素で構成されていると判定された場合(S108のN)、S102で選択された黒色画素連結領域は、基準セル100ではないと判断することとし、S116に進む。
【0036】
長辺が300画素以下の画素で構成されていると判定された場合(S108のY)、基準セル検出部52は、基準セル候補領域の黒色画素の総数が、20画素以上かつ1500画素未満であるか否かを判定する(S110)。黒色画素の総数が20画素未満の場合(S110のN)、短辺が20画素より少ない画素で構成された場合と同様の問題が発生し、また、1500画素以上である場合(S110のN)、長辺が300画素より多い画素で構成された場合と同様の問題が発生する。したがって、これらの場合には、基準セル候補領域が基準セル100である可能性が小さいと判断することとし、S116に進む。
【0037】
基準セル候補領域の黒色画素の総数が20画素以上かつ1500画素未満である場合(S110のY)、基準セル検出部52が、基準セル候補領域の方形らしさを判定する(S112)。方形らしさは、既述した特許文献1に記載されるように、基準セル候補領域のモーメントをもとに求められる。方形でないと判定する場合(S112のN)、基準セル候補領域が基準セル100でないと判断することとし、S116に進む。方形であると判定される場合(S112のY)、基準セル検出部52は、基準セル候補領域を基準セル100として設定し(S114)、基準セル候補領域とされた黒色画素連結領域のラベリング番号を、RAMに記憶させる。このようにして、基準セル100を検出することができる。画像データ中に1枚のゲームカード4しか含まれていない場合、基準セル100を検出した時点で、基準セルの検出処理を終了する。一方、ゲームカード4が複数含まれている可能性がある場合には、S116に進む。
【0038】
基準セル検出部52は、カウント値jが基準セル候補領域の総数Mに等しいか否かを判定する(S116)。カウント値jが総数Mに達していない場合(S116のN)、カウント値jを1インクリメントして(S118)、S102のステップに戻る。一方、カウント値jが総数Mに達すると(S116のY)、この基準セル検出処理を終了する。
【0039】
図4に戻って、S20の基準セル検出処理において基準セル100が検出されない場合(S22のN)、ゲームカード4の存在を確認できないため、2次元コードの認識処理を終了する。一方、基準セル100が検出されると(S22のY)、コード部検出処理が実行される(S24)。
【0040】
図6は、コード部の検出処理を示すフローチャートである。まず、コード部検出部54は、図5のS114において設定された基準セル100の総数Nを読み出し、カウンタの値kを1に初期設定する(S200)。なお、S114において設定した基準セル100には、設定した順に番号をふっているものとする。続いて、図4のS12においてラベリングした黒色画素連結領域の総数Mを読み出し、カウンタの値jを1に初期設定する(S202)。コード部検出部54は、カウント値jに対応する番号の黒色画素連結領域を検出し、それを左下隅のコーナーセル候補領域として選択する(S204)。
【0041】
次に、コード部検出部54は、選択した左下隅コーナーセル候補領域が、図4のS20において検出してカウント値kに対応する番号の基準セル100に対して予め設定された探索範囲内に存在するか否かを判定する(S206)。基準セル100と左下隅のコーナーセル104dとの位置関係は図2に示すように予め定められているため、基準セル100の座標データから、左下隅コーナーセルを探索する範囲を絞ることが可能である。なお、基準セル100は横長の矩形状を有するため、長辺側を挟んで対向する2つの位置に探索範囲を設定することが可能となる。探索範囲内に存在しない場合(S206のN)、その黒色画素連結領域は左下コーナーセル104dではないと判断され、S232に進む。探索範囲内に存在する場合(S206のY)、その黒色画素連結領域を左下コーナーセル104dとして設定する(S208)。
【0042】
左下コーナーセル104を設定した後、コード部検出部54は、黒色画素連結領域の番号をカウントする他のカウンタの値lを1に初期設定する(S210)。コード部検出部54は、カウント値lに対応する番号の黒色画素連結領域を検出し、それを右下隅のコーナーセル候補領域として選択する(S212)。
【0043】
次に、コード部検出部54は、S208で設定した左下コーナーセル104dの画素数(面積)と、S212で選択した右下コーナーセル候補領域の画素数(面積)の比を算出し、その比(面積比)が例えば1/6以上または6倍以下であるか否かを判定する(S214)。コーナーセル104は撮像装置2からの距離に応じて取得される画素数が変化する。具体的に、撮像装置2に近ければ大きい面積を有し、離れれば面積は小さくなる。そのため、コーナーセル同士であっても画像データ中の面積は異なるケースが想定される。しかしながら、例えば左下コーナーセルと右下コーナーセルの比が1/6より小さく、または6倍よりも大きくなるようなケース(S214のN)は通常想定しえないため、これらは一つの2次元コードにおけるコーナーセルであるとみなすことはできず、S226に進む。
【0044】
面積比が例えば1/6以上、6倍以下である場合(S214のY)、コード部検出部54は、左下コーナーセル104dの中心点と、S212で選択した右下コーナーセル候補領域の中心点の距離が所定の条件を満たすか否かを判定する(S216)。ここで所定の条件とは、中心点同士の距離が例えば基準セル100の長辺の長さに近似していることであってもよい。所定の条件が成立しなければ(S216のN)、S226にすすみ、所定の条件が成立すると(S216のY)、コード部検出部54は、その黒色画素連結領域を右下コーナーセル104cとして設定する(S218)。
【0045】
以上のように左下コーナーセル104d、右下コーナーセル104cを設定すると、コード部検出部54が、設定した基準セル100、左下コーナーセル104d、右下コーナーセル104cを、ディスプレイ7の画面上のX軸方向およびY軸方向にアフィン変換する(S220)。なお、1ブロックの長さは、S20で設定した基準セル100の長辺または短辺の長さに基づいて算出される。コード部検出部54は、アフィン変換して得られた画像から、コード部110の領域に含まれる黒色画素連結領域をセルとしてマッピングし、コードマップを生成する(S222)。
【0046】
コード部検出部54は、生成したコードマップのセルのうち、4隅のコーナーセル104を検出し、その周りの3ブロック領域が、白色画素とされているか否かを判定する(S224)。コーナーセル104の周囲の3ブロック領域が白色画素で構成されている場合(S224のY)、そのコードマップを2次元コードのコード部110と設定して(S230)、S236に進む。コーナーセル104の周囲の3ブロック領域が白色画素でない場合、S226に進む。
【0047】
S226では、カウント値lが黒色画素連結領域の総数Mに等しいか否かを判定し、カウント値lがMに等しければ(S226のY)、S232に進み、等しくなければ(S226のN)、カウント値lを1インクリメントして(S228)、S212に戻る。
【0048】
S232では、カウント値jが黒色画素連結領域の総数Mに等しいか否かを判定し、カウント値jがMに等しければ(S232のY)、S236に進み、等しくなければ(S232のN)、カウント値jを1インクリメントして(S234)、S204に戻る。
【0049】
S236では、カウント値kが設定した基準セル100の総数Nに等しいか否かを判定し、カウント値kがNに等しくなければ(S236のN)、カウント値kを1インクリメントして(S238)、S202に戻る。これにより、画像データにおいて複数の2次元コードを探索することが可能となる。カウント値kがNに等しくなると(S236のY)、以上により、コード部110の検出処理が終了する。
【0050】
図4に戻って、S24のコード部検出処理においてコード部110が検出されない場合(S26のN)、2次元コードの存在を確認できないため、2次元コードの認識処理を終了する。一方、コード部110が検出されると(S26のY)、コードデータの検証処理が実行される(S28)。
【0051】
図7は、コードデータの検証処理を示すフローチャートである。既述したように、33ビットのコードデータ中、所定のアルゴリズムで生成された9ビットのチェックデータと、24ビットの情報データとが存在し、この処理ではチェックデータを用いて、コードデータを検証する。以下では、所定のアルゴリズムで生成したチェックデータを、そのアルゴリズムに基づいてコードデータからチェックデータを生成して照合することで、コードデータを検証する処理を行う。
【0052】
まず、検証処理部56は、後のステップであるS304、S308で算出される基準値を、1ビット右方向にシフトする回数をカウントするカウンタの値pを1に初期設定する(S300)。次に、検証処理部56は、コード部110のコードマップから、コードデータおよびチェックデータの値を算出する(S302)。
【0053】
検証処理部56は、算出したコードデータの値(ビットストリーム)と、0xFFFFFFとの排他的論理和演算を行い(S304)、その結果得られた値(ビットストリーム)を基準値(基準ビットストリーム)とする。基準ビットストリームのLSB(Least Significant Bit)に"1"が立っているか否かを判定し(S306)、"1"が立っていないと判定した場合(S306のN)、検証処理部56は、基準値(基準ビットストリーム)と、0x8408との排他的論理和演算を行い(S308)、その結果得られた値(ビットストリーム)を新たな基準値(基準ビットストリーム)とし、S310に進む。LSBに"1"がたっている場合(S306のY)、同様にS310に進む。
【0054】
検証処理部56は、S304またはS308において算出した基準値(基準ビットストリーム)を1ビットだけ右にシフトさせ(S310)、カウント値pが、予め定めたシフト回数である24に等しいか否かを判定する(S312)。p=24ではないと判定した場合(S312のN)、カウント値pを1だけインクリメントした後(S314)、S306に戻る。
【0055】
p=24であると判定した場合(S312のY)、算出されたビットストリームと、0x1FFとの論理積演算を行う(S316)。検証処理部56は、論理積演算より得られ値が、算出したチェックデータの値と等しいか否かを判定し(S318)、等しいと判定した場合(S318のY)、図4のS24で検出されたコード部110が、2次元コードとして適正なパターンであるとし、2次元コードのコード部110を確定する(S320)。チェックコードと等しくなければ(S318のN)、コード部110の読み取りに誤りがあったことを判定して、コードデータの検証処理を終了する。なお、図7では1つのコード部110の検証処理のみを示しているが、複数のコード部110が検出されている場合は、それぞれについてこの検証処理を実行する。
【0056】
図4に戻って、S28のコードデータ検出処理においてコード部110が確定されない場合(S30のN)、2次元コードの存在を確認できないため、2次元コードの認識処理を終了する。一方、コード部110が確定されると(S30のY)、コードデータの値、すなわち、2次元コードの値を、例えばRAMに記憶させ、保持し(S32)、2次元コードの認識処理を終了する。
【0057】
以下に、3次元座標系におけるゲームカード4の位置および方向の求め方について説明する。ゲームカード4の仮想3次元座標系の位置および方向を求めるために、本実施例では、撮像装置2の画角、スクリーン解像度、4つのコーナーセル104のスクリーン座標位置、実際のコーナーセル104間の距離を利用する。なお、スクリーンとは、撮像装置2により撮像された画像を表示するディスプレイ7の画面である。
【0058】
(ステップ1)
まず、視点からスクリーン投影面までの距離を求める。ここでは、カメラの画角とスクリーン解像度により、視点からスクリーン投影面までの距離を求める。
カメラの水平方向の画角:θ
スクリーンの水平方向の解像度:W
視点からスクリーン投影面までの距離:P
とすると、以下の計算式が成り立つ。
P=(W×0.5)/tan(θ×0.5)
【0059】
(ステップ2)
次に、視点から各コーナーセル104に伸びる3次元ベクトルを求める。
コーナーセルのスクリーン座標位置:SX、SY
視点からスクリーン投影面までの距離:P
コーナーセルへ伸びる3次元ベクトル:V
とすると、以下の計算式が成り立つ。
V=(SX,SY,P)
なお、スクリーン座標位置は、スクリーンの中央を原点としている。
【0060】
(ステップ3)
視点と、隣り合う2つのコーナーセルの3点が形成する平面の法線ベクトルを求める。この法線ベクトルは、合計で4つ生成される。
視点からコーナーセル104aへ伸びる3次元ベクトル:V1
視点からコーナーセル104bへ伸びる3次元ベクトル:V2
視点からコーナーセル104cへ伸びる3次元ベクトル:V3
視点からコーナーセル104dへ伸びる3次元ベクトル:V4
視点とコーナーセル104a、104bが形成する平面の法線ベクトル:S12
視点とコーナーセル104b、104cが形成する平面の法線ベクトル:S23
視点とコーナーセル104c、104dが形成する平面の法線ベクトル:S34
視点とコーナーセル104d、104aが形成する平面の法線ベクトル:S41
とすると、以下の計算式が成り立つ。
S12=V1×V2
S23=V2×V3
S34=V3×V4
S41=V4×V1
なお、「×」は、外積を指す。
【0061】
(ステップ4)
続いて、ゲームカード4の3次元上での方向(座標軸)を求める。ステップ3で求めた4つの法線ベクトルをもとに、カードの座標軸が求まる。
カードのローカル座標X軸(カード表面に対して左右方向):VX
カードのローカル座標Y軸(カード表面に対して貫く方向):VY
カードのローカル座標Z軸(カード表面に対して上下方向):VZ
とすると、以下の計算式が成り立つ。
VX=S12×S34
VZ=S23×S41
VY=VZ×VX
【0062】
(ステップ5)
最後に、ゲームカード4の3次元上での位置を求める。ステップ4では、ゲームカード4のローカル座標変換マトリクスを求めたが、現実のコーナーセル間の距離が分かれば、カードの位置は容易に求められる。コーナーセル104aの3次元座標位置を変数として表現すると、その変数を使ってコーナーセル104b、104c、104dの3次元座標位置を表すことができる。4つのコーナーセルのスクリーン座標位置は判明しているため、これらの計算式の連立方程式を解くことで、ゲームカード4の3次元座標位置を特定できる。
【0063】
以上の実施例に示したように、図2に示す2次元コードを利用することで、コード部110におけるコーナーセル104の認識率を高めることができるとともに、2次元座標系におけるコーナーセル104の座標位置を正確に求めることが可能となる。具体的には、コーナーセル104を大きく形成することで、コーナーセル104の中心位置を正確に求めることができるため、ゲームカード4の位置を正確に特定できる。また、複数のコーナーセル104の中心位置を正確に求めることで、基準セル100とコーナーセル104との位置関係を正確に把握して、アフィン変換の精度を高めることができ、ゲームカード4の位置やゲームカード4が向いている方向などを正確に特定できる。
【0064】
図8は、ゲームカードの表面に印刷した2次元コードの別の例を示す。ゲームカード4の表面には、所定の形状を有する基準セル100およびコード部110が配置されている。図2の2次元コードと比較すると、図8に示す2次元コードでは、コードデータ部分102を取り囲む複数のコーナーセル104a、104b、104c、104dが円形に形成されている。既述したように、コーナーセル104の2次元座標位置は、コーナーセル104の中心点により特定される。コーナーセル104が丸い形状を有することで、撮像装置2に対するゲームカード4の向きによらず、撮像装置2により撮像されるコーナーセル104の形状は変化しない。そのため、撮像装置2に対する向きによって、コーナーセル104の中心点が変わらず、したがって安定して中心点を取得することが可能となる。これにより、既述したように、ゲームカード4の位置情報、方向情報、距離情報を正確に求めることが可能となる。なお、方形セル106を丸く形成してもよい。また、コーナーセル104を円形にするだけでなく、図2に関して説明したように、方形セル106に対して大きく形成することで、コーナーセル104の座標位置をさらに高精度に求めることが可能となる。
【0065】
図9は、ゲームカードの表面に印刷した2次元コードのさらに別の例を示す。ゲームカード4の表面には、基準セル100およびコード部110が配置されている。図2の2次元コードと比較すると、図9に示す2次元コードでは、所定の形状を有する基準セル100、それぞれ2次元配置することでコードデータを構成する複数の方形セル106、コードデータ部分102の領域を取り囲むように配置される複数のコーナーセル104の少なくとも1つのセルが、他のセルと異なる色を付けられる。例えば、基準セル100に赤色、方形セル106に緑色、コーナーセル104に青色とそれぞれのセルに異なる色を割り当ててもよい。なお、ここで割り当てる色は、撮像装置2において取り込んで、所定の輝度閾値を基準として2値化できる色であればよく、必ずしも人間の目に可視であることは要求されない。使用する撮像装置2の撮像特性が予め分かっている場合は、その特性に合わせてセルを色づけしてもよい。
【0066】
本実施例の2次元コードの認識処理では、図4のS20に示すように、まず基準セル100を検出することが条件となる。2次元コードの認識処理全体のなかでも、この基準セル検出処理の負荷は高く、したがって、画像データ中から基準セル100を効率的に抽出できることが好ましい。そこで、複数種類のセルのうち、少なくとも基準セル100には、方形セル106およびコーナーセル104とは異なる色をつけることが好ましい。
【0067】
撮像装置2の受光面の前面にはRGBのカラーフィルタが配置されており、フレーム画像ごとに、RGBのそれぞれの画素値が256階調で表現されたデータとして記録される。この例において、2値化処理部50が、2値化処理するためのRGBの画素値の範囲を設定する機能をもつ。基準セル100が赤色で塗りつぶされている場合、図4のS10の2値化処理において、2値化処理部50が、基準セル用のRGBの画素値の範囲を設定する。例えば、2値化処理部50は、赤色(R)の画素値の範囲を200〜255、緑色(G)の画素値の範囲を0〜100、青色(B)の画素値の範囲を0〜100と設定する。この設定に基づいて、2値化処理部50は、この範囲内にあるRGBの複合画素を抽出して、その画素値を"1"に符号化する。例えば、R画素値が225、G画素値が30、B画素値が50となる複合画素の画素値は"1"に符号化され、2値画像としての色が黒色に設定される。一方、RGBの画素値がこれらの範囲内にない複合画素の画素値は"0"に符号化され、2値画像としての色が白色に設定される。このように、赤色の画素を画像データから抽出することで、図4のS12において、2値画像において黒色画素となる連結領域をラベリングすることができる。黒色画素として抽出する画素を画像データにおいて特定の色、ここでは赤色のものに限定することで、抽出するノイズの数を少なくでき、基準セル検出部52は、フレーム画像の2値化データから基準セル100を検出する時間を短縮できる。
【0068】
なお、画素値はカラーフィルタ特性の影響を受けるため、カラーフィルタの特性も加味した画素値の範囲設定を行うために、ゲームカード4を台3に配置した状態で、基準セル100の赤色の画素値を調査してもよい。これにより、撮像装置2において取得される基準セル100のRGBの画素値を特定することができ、特定した画素値に若干のマージンを与えた範囲で2値化処理を行うことで、検出する黒色画素連結領域の数を飛躍的に少なくすることが可能となる。特に、ゲームシステム1においては、リアルタイムで処理することが好ましいため、基準セル100を効率的に抽出できることには、大きなメリットがある。
【0069】
なお、他の種類のセル、例えばコーナーセル104、方形セル106に色づけを施した場合も同様である。コーナーセル104を青色とする場合、図4のS10において、2値化処理部50が、コーナーセル用のRGBの画素値の範囲を設定する。例えば、2値化処理部50は、赤色(R)の画素値の範囲を0〜100、緑色(G)の画素値の範囲を0〜100、青色(B)の画素値の範囲を200〜255と設定する。この設定に基づいて、2値化処理部50は、この範囲内にあるRGBの複合画素を抽出して、その画素値を"1"に符号化する。例えば、R画素値が20、G画素値が30、B画素値が240となる複合画素の画素値は"1"に符号化され、2値画像としての色が黒色に設定される。一方、RGBの画素値がこれらの範囲内にない複合画素の画素値は"0"に符号化され、2値画像としての色が白色に設定される。このように、青色の画素を画像データから抽出することで、図4のS12において、2値画像において黒色画素となる連結領域をラベリングすることができる。
【0070】
このように、青色の強い画像を黒色画像に変換する2値化処理を行ってから、S12において黒色画素連結領域としてラベリングされたものを、コード部検出部54が、図6のフローに示すコーナーセル候補領域として選択するために利用する。黒色画素として抽出する画素を画像データにおいて特定の色、ここでは青色のものに限定することで、抽出するノイズの数を少なくでき、コード部検出部54は、フレーム画像の2値化データからコーナーセル104を検出する時間を短縮できる。方形セル106を緑色とした場合は、図4のS10において緑色の強い画像を黒色画像に変換する2値化処理を行ってから、S12において黒色画素連結領域としてラベリングされたものを、図6のS222のコードマップ生成処理に利用する。3種類のセルに異なる色づけをした場合、2値化処理をする回数が増えることになるが、2値化処理した後の連結領域を探索する処理量が大幅に低減されるため、全体的な効率化を実現できる。
【0071】
図9に示した2次元コードは、色づけしたセルを有しており、色づけしたセルは、大きく形成されてもよく、また図8に示すように、丸く形成されてもよい。
【0072】
図10は、実施例における画像データの伝送システムを示す。画像データ伝送システム200は、画像データを生成する画像データ生成装置201、画像データを送信する送信局204、送信された画像データを受信する端末装置202を有して構成される。端末装置202は、受信した画像データを表示するための表示装置203を有する。画像データ伝送システム200は、無線通信によりデータを伝送しているが、有線通信によりデータを伝送するものであってもよい。
【0073】
画像データ生成装置201は、上述した2次元コード、すなわち図2、図8および図9に関して説明した2次元コードの画像データを、端末装置202の表示装置203に表示させるためのデータフォーマットにしたがって生成する。画像データ生成装置201は、図2に示す2次元コードの画像データとして、複数の方形セルを表示装置203上の所定の座標位置に表示させるためのデータと、所定の座標位置に表示される複数の方形セルを取り囲む座標位置に複数のコーナーセルを表示させるためのデータを生成してもよい。画像データ生成装置201は、表示装置203上で、コーナーセルが方形セルよりも大きく表示されるように、コーナーセルと方形セルのデータを設定する。
【0074】
画像データ生成装置201は、図8に示す2次元コードの画像データとして、複数の方形セルを表示装置203上の所定の座標位置に表示させるためのデータと、所定の座標位置に表示される複数の方形セルを取り囲む座標位置に複数のコーナーセルを表示させるためのデータを生成してもよい。画像データ生成装置201は、コーナーセルが丸い形状に表示されるように、コーナーセルのデータを設定する。
【0075】
画像データ生成装置201は、図9に示す2次元コードの画像データとして、所定の形状を有する基準セルを表示装置上の所定の位置に表示させるためのデータと、基準セルに対して定められる領域の範囲内で複数の多辺形セルを表示させるためのデータと、領域を取り囲む座標位置に複数のコーナーセルを表示させるためのデータを生成してもよい。画像データ生成装置201は、基準セル、多辺形セル、コーナーセルの少なくとも一つのセルの色が、他のセルの色と異なるように設定する。
【0076】
送信局204は、画像データ生成装置201により生成された画像データを、端末装置202に送信する。画像データは、端末装置202において解凍可能な形式で圧縮されていることが好ましく、また端末装置202におけるブラウザ機能などにより表示されるデータフォーマットで作成されている必要がある。送信局204は、例えばセルごとの画像データを表示座標位置に対応付けて送信することで、データ送信量を削減することが可能となる。端末装置202は、表示装置203上に2次元コードを表示する。図1のゲームシステム1において、ユーザは、表示装置203に表示された2次元コードを、ゲームカード4の代わりに使用して、撮像装置2により読み取らせることができる。これにより、ユーザは、ゲームカード4を有していなくても、画像データを端末装置202にダウンロードすることで、ゲームシステム1に参加することができる。
【0077】
以上、本発明を実施例をもとに説明した。この実施例は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
【図面の簡単な説明】
【0078】
【図1】実施例にかかるゲームシステムの構成を示す図である。
【図2】ゲームカードの表面に印刷した2次元コードを示す図である。
【図3】画像解析装置の構成を示す図である。
【図4】2次元コードの認識処理の処理手順を示すフローチャートである。
【図5】基準セルの検出処理を示すフローチャートである。
【図6】コード部の検出処理を示すフローチャートである。
【図7】コードデータの検証処理を示すフローチャートである。
【図8】ゲームカードの表面に印刷した2次元コードの別の例を示す図である。
【図9】ゲームカードの表面に印刷した2次元コードのさらに別の例を示す図である。
【図10】実施例における画像データの伝送システムを示す図である。
【符号の説明】
【0079】
1・・・ゲームシステム、2・・・撮像装置、4・・・ゲームカード、6・・・出力装置、7・・・ディスプレイ、10・・・画像処理装置、20・・・画像解析装置、30・・・ゲーム装置、40・・・フレーム画像取得部、42・・・実オブジェクト抽出部、44・・・状態決定部、50・・・2値化処理部、52・・・基準セル検出部、54・・・コード部検出部、56・・・検証処理部、100・・・基準セル、102・・・コードデータ部分、104・・・コーナーセル、106・・・方形セル、108・・・領域、110・・・コード部、200・・・画像データ伝送システム、201・・・画像データ生成装置、202・・・端末装置、203・・・表示装置、204・・・送信局。

【特許請求の範囲】
【請求項1】
所定の形状を有する基準セルと、
それぞれを2次元配置することでコードデータを構成する複数の多辺形セルと、
複数の多辺形セルが2次元配置される領域を取り囲むように配置される複数のコーナーセルと、
を備え、
前記基準セル、前記多辺形セル、前記コーナーセルの少なくとも一つのセルは、他のセルと異なる色を付けられることを特徴とする物体。
【請求項2】
前記基準セルは、前記多辺形セルおよび前記コーナーセルとは異なる色をつけられることを特徴とする請求項1に記載の物体。
【請求項3】
2次元コードを表示装置に表示させるためのデータフォーマットにしたがって生成された画像データであって、
所定の形状を有する基準セルを表示装置上の所定の位置に表示させるためのデータと、
前記基準セルに対して定められる領域の範囲内で複数の多辺形セルを表示させるためのデータと、
前記領域を取り囲む座標位置に複数のコーナーセルを表示させるためのデータとを備え、
前記基準セル、前記多辺形セル、前記コーナーセルの少なくとも一つのセルの色が、他のセルの色と異なるように設定されていることを特徴とする画像データ。
【請求項4】
2次元コードを表示装置に表示させるためのデータフォーマットにしたがって生成された画像データを伝送する方法であって、伝送する前記画像データが、
所定の形状を有する基準セルを表示装置上の所定の位置に表示させるためのデータと、
前記基準セルに対して定められる領域の範囲内で複数の多辺形セルを表示させるためのデータと、
前記領域を取り囲む座標位置に複数のコーナーセルを表示させるためのデータとを備え、
前記基準セル、前記多辺形セル、前記コーナーセルの少なくとも一つのセルの色が、他のセルの色と異なるように設定されていることを特徴とする画像データ伝送方法。
【請求項5】
フレーム画像に含まれるオブジェクト画像を認識する画像解析装置であって、当該オブジェクト画像は、所定の形状を有する基準セルと、前記基準セルとは異なる色を付けられた複数のコーナーセルとを有して構成されており、
RGBの画素値の範囲を設定して、フレーム画像を2進数のビット表現に変換する2値化処理部と、
フレーム画像の2値化データから基準セルを検出する第1検出部と、
フレーム画像の2値化データからコーナーセルを検出する第2検出部とを備え、
前記2値化処理部は、前記基準セル用のRGBの画素値の範囲を設定して、設定した画素値の範囲内にある画素を抽出してフレーム画像の2値化処理を行い、その2値化データをもとに第1検出部が基準セルを検出し、
また前記2値化処理部は、前記コーナーセル用のRGBの画素値の範囲を設定して、設定した画素値の範囲内にある画素を抽出してフレーム画像の2値化処理を行い、その2値化データをもとに第2検出部がコーナーセルを検出することを特徴とする画像解析装置。
【請求項6】
フレーム画像に含まれるオブジェクト画像を認識する方法であって、当該オブジェクト画像は、所定の形状を有する基準セルと、前記基準セルとは異なる色を付けられた複数のコーナーセルとを有して構成されており、
前記基準セル用のRGBの画素値の範囲を設定し、設定した画素値の範囲内にある画素を抽出して、前記フレーム画像から前記基準セルを検出するステップと、
前記コーナーセル用のRGBの画素値の範囲を設定し、設定した画素値の範囲内にある画素を抽出して、前記フレーム画像から前記コーナーセルを検出するステップと、
を備えることを特徴とするオブジェクト認識方法。
【請求項7】
コンピュータに、フレーム画像に含まれるオブジェクト画像を認識させるプログラムであって、当該オブジェクトは、所定の形状を有する基準セルと、前記基準セルとは異なる色を付けられた複数のコーナーセルとを有して構成されており、
前記基準セル用のRGBの画素値の範囲を設定させ、設定した画素値の範囲内にある画素を抽出させて、前記フレーム画像から前記基準セルを検出させる機能と、
前記コーナーセル用のRGBの画素値の範囲を設定させ、設定した画素値の範囲内にある画素を抽出させて、前記フレーム画像から前記コーナーセルを検出させる機能と、
を実現させるためのプログラム。


【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate


【公開番号】特開2006−113853(P2006−113853A)
【公開日】平成18年4月27日(2006.4.27)
【国際特許分類】
【出願番号】特願2004−301310(P2004−301310)
【出願日】平成16年10月15日(2004.10.15)
【出願人】(395015319)株式会社ソニー・コンピュータエンタテインメント (871)
【Fターム(参考)】