(57)【要約】  【課題】  イメージセンサに設定された解像度の高低に関係なく、実用に足る、指示位置の検出精度を確保できる指示位置検出方法を提供する。  【解決手段】  赤外光の照射時及び非照射時に画面１４に取り付けられたマーカ１２を撮像するステップと、撮像によって得られた両画像の差分画像中のマーカ１２の像を構成するピクセルのうち、最も高い輝度値を持つピクセルの位置情報（Ｘｃ，Ｙｃ）を求めるステップと、そのピクセル及び両側のピクセルの輝度値Ｂｃ，Ｂｌ，Ｂｒに基づき、補間法によって、最も高い輝度値より高い輝度値に対応する位置情報（Ｘｔ，Ｙｔ）を求めるステップと、位置情報（Ｘｔ，Ｙｔ）に基づいて、画面１４上の指し示された位置を特定するステップと、を含む。【選択図】  図３
2007041910.tif 000002
【特許請求の範囲】
【請求項１】
操作者により把持されて対象物上の任意の位置を指し示す指示装置によって指し示された位置を検出する指示位置検出方法であって、
前記対象物に取り付けられたマーカを撮像する撮像ステップと、
撮像によって得られた画像中の前記マーカの像を構成するピクセルのうち、最も高い輝度値を持つピクセルの位置情報を求める第１の位置導出ステップと、
前記最も高い輝度値を持つ前記ピクセルを含む所定数のピクセルの位置情報、及び、その所定数のピクセルの輝度値に基づき、補間法によって、前記最も高い輝度値より高い輝度値に対応する位置情報を求める第２の位置導出ステップと、
前記最も高い輝度値より高い輝度値に対応する前記位置情報に基づいて、前記対象物上の指し示された位置を特定する位置特定ステップと、を含む指示位置検出方法。
【請求項２】
前記補間法による補間式は、放物線を示す式である、請求項１記載の指示位置検出方法。
【請求項３】
前記所定数のピクセルは、前記最も高い輝度値を持つ前記ピクセル及びその両側のピクセルである、請求項１又は２記載の指示位置検出方法。
【請求項４】
撮像によって得られた前記画像は、第１の方向及びその第１の方向に垂直な第２の方向に並んだピクセルの二次元配列からなり、
前記位置情報は、前記第１の方向の成分及び前記第２の方向の成分を含む、請求項１から３記載の指示位置検出方法。
【請求項５】
前記対象物は、矩形領域を含み、前記指示装置は、前記矩形領域上の任意の位置を指し示す、請求項１から４記載の指示位置検出方法。
【請求項６】
前記対象物は、映像を表示する表示装置であり、前記矩形領域は、前記表示装置の画面である、請求項５記載の指示位置検出方法。
【請求項７】
前記対象物には、単一の前記マーカが取り付けられる、請求項１から６記載の指示位置検出方法。
【請求項８】
前記単一のマーカは、アスペクト比が異なる、請求項７記載の指示位置検出方法。
【請求項９】
前記対象物には、２つの前記マーカが取り付けられる、請求項１から６記載の指示位置検出方法。
【請求項１０】
前記矩形領域の所定の辺に沿って２つの前記マーカが取り付けられ、前記２つのマーカ間の距離は、前記所定の辺の長さより短い、請求項９記載の指示位置検出方法。
【請求項１１】
前記２つのマーカ間の距離は、前記所定の辺の長さと実質的に等しい、請求項９記載の指示位置検出方法。
【請求項１２】
前記矩形領域の対角線上又はその延長線上に２つの前記マーカが取り付けられ、前記２つのマーカ間の距離は、前記対角線の長さと実質的に等しい、請求項５又は６記載の指示位置検出方法。
【請求項１３】
前記指示装置が前記対象物上の複数の所定箇所を個々に指し示したときのそれぞれの前記マーカの像に基づいて、前記第１の位置導出ステップ及び前記第２の位置導出ステップによって、前記補間法による前記位置情報を求めるステップをさらに含む請求項１から４記載の指示位置検出方法。
【請求項１４】
前記対象物は、映像を表示する表示装置であり、前記指示装置は、前記表示装置の画面上の任意の位置を指し示し、
前記指示位置検出方法は、
前記表示装置の前記画面の複数の所定箇所の各々にターゲットを表示するステップと、
前記指示装置が前記ターゲットを指し示したときの前記マーカの像に基づいて、前記第１の位置導出ステップ及び前記第２の位置導出ステップによって、前記補間法による前記位置情報を求めるステップと、をさらに含む請求項１から４記載の指示位置検出方法。
【請求項１５】
前記操作者によるトリガが発生したときに、前記第１の位置導出ステップ、前記第２の位置導出ステップ、及び前記位置特定ステップを実行する、請求項１から１４記載の指示位置検出方法。
【請求項１６】
前記指示位置検出方法は、前記マーカに、予め定められた周期で、赤外光を照射するステップをさらに含み、
前記撮像ステップは、
前記赤外光の照射時に、赤外線フィルタを介して前記対象物を撮像して、照射時画像データを取得するステップと、
前記赤外光の非照射時に、前記赤外線フィルタを介して前記対象物を撮像して、非照射時画像データを取得するステップと、
前記照射時画像データと前記非照射時画像データとの差分を求めて、差分画像データを生成するステップと、を含み、
前記第１の位置導出ステップでは、前記差分画像データに基づく差分画像上の前記マーカの像に基づいて、前記位置情報を求め、
前記マーカは、再帰反射体で構成される、請求項１から１５記載の指示位置検出方法。
【請求項１７】
前記マーカは、自発光可能である、請求項１から１６記載の指示位置検出方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、対象物上の指し示された位置を特定可能な指示位置検出方法及びその関連技術に関する。
【背景技術】
【０００２】
特許文献１には、画面位置指示装置が開示されている。これは、表示装置の画面を撮像する撮像装置を有するガン型コントローラを備える。表示装置の画面の４隅にはマークが形成されており、これらのマークを撮像装置により撮像する。そして、得られた撮像画像に写っているマークの検出結果に基づいて、ガン型コントローラによって指し示されている、表示装置の画面上の位置を算出する。
【０００３】
【特許文献１】特開２００３−１４０８３２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、撮像画像に写ったマークの位置検出の精度は、撮像装置の解像度に依存する。つまり、ガン型コントローラによる指示位置の検出精度は、撮像装置の解像度に依存する。このため、比較的高い解像度の撮像装置を使用する必要があり、コストが高くなる。一方、低い解像度の撮像装置を使用すると、指示位置の検出精度が低くなり、実用が困難である。
【０００５】
そこで、本発明は、撮像装置に設定された解像度の高低に関係なく、実用に足る、指示位置の検出精度を確保できる指示位置検出方法及びその関連技術を提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明の形態によると、指示位置検出方法は、操作者により把持されて対象物上の任意の位置を指し示す指示装置によって指し示された位置を検出する指示位置検出方法であって、前記対象物に取り付けられたマーカを撮像する撮像ステップと、撮像によって得られた画像中の前記マーカの像を構成するピクセルのうち、最も高い輝度値を持つピクセルの位置情報を求める第１の位置導出ステップと、前記最も高い輝度値を持つ前記ピクセルを含む所定数のピクセルの位置情報、及び、その所定数のピクセルの輝度値に基づき、補間法によって、前記最も高い輝度値より高い輝度値に対応する位置情報を求める第２の位置導出ステップと、前記最も高い輝度値より高い輝度値に対応する前記位置情報に基づいて、前記対象物上の指し示された位置を特定する位置特定ステップと、を含む。
【０００７】
この構成によれば、最終的に補間法によってマーカの位置を求めているので、撮像装置の解像度を実質的に高くすることができる。このため、撮像装置に設定された解像度の高低に関係なく、実用に足る、指示位置の検出精度を確保できる。
【０００８】
上記指示位置検出方法において、前記補間法による補間式は、放物線を示す式である。この構成によれば、輝度分布に即した補間式となるので、指示位置の検出精度をより向上できる。
【０００９】
上記指示位置検出方法において、前記所定数のピクセルは、前記最も高い輝度値を持つ前記ピクセル及びその両側のピクセルである。この構成によれば、３ピクセルの処理で済むので、処理負荷の軽減を図りながらも、指示位置の特定が可能となる。
【００１０】
上記指示位置検出方法において、撮像によって得られた前記画像は、第１の方向及びその第１の方向に垂直な第２の方向に並んだピクセルの二次元配列からなり、前記位置情報は、前記第１の方向の成分及び前記第２の方向の成分を含む。この構成によれば、第１の方向（例えば、水平方向）及び第２の方向（例えば、垂直方向）の双方において、解像度を実質的に高くできる。
【００１１】
上記指示位置検出方法において、前記対象物は、矩形領域を含み、前記指示装置は、前記矩形領域上の任意の位置を指し示す。前記対象物は、映像を表示する表示装置であり、前記矩形領域は、前記表示装置の画面である。
【００１２】
この構成によれば、画面に表示された映像と、指示装置が指し示す画面上の位置と、の関係に応じて、対応する処理を行うソフトウェア（例えば、シューティングゲームのソフトウェア等）の作成が可能になる。
【００１３】
上記指示位置検出方法において、前記対象物には、単一の前記マーカが取り付けられる。この構成によれば、位置の導出は、１つマーカに対してのみ行えばよいので、処理負荷の軽減を図ることができる。
【００１４】
上記指示位置検出方法において、前記単一のマーカは、アスペクト比が異なる。この構成によれば、光軸周りに回転した撮像装置によりマーカが撮像された場合でも、その回転量を検出できるので、撮像装置の回転を反映した指示位置の特定ができる（回転補正）。このため、指示位置の検出精度をより向上できる。
【００１５】
上記指示位置検出方法において、前記対象物には、２つの前記マーカが取り付けられる。この構成によれば、光軸周りに回転した撮像装置によりマーカが撮像された場合でも、その回転量を検出できるので、上記と同様に回転補正ができる。
【００１６】
この場合、前記矩形領域の所定の辺に沿って２つの前記マーカが取り付けられ、前記２つのマーカ間の距離は、前記所定の辺の長さより短い。この構成によれば、２つのマーカ間の距離が所定の辺の長さと実質的に等しい場合と比べて、２つのマーカの双方が撮像範囲に入りやすくなる。このため、撮像装置が光軸周りに回転したことの検知をより確実に行うことができるので、指示位置の検出精度をより一層向上できる。
【００１７】
一方、前記２つのマーカ間の距離を、前記所定の辺の長さと実質的に等しくできる。この構成によれば、リアルタイムで２つのマーカ間の距離を求めることができるので、撮像装置と対象物との間の距離が変わっても、補正が可能になり（遠近補正）、指示位置の検出精度をより一層向上できる。また、回転補正も可能である。
【００１８】
上記指示位置検出方法において、前記矩形領域の対角線上又はその延長線上に２つの前記マーカが取り付けられ、前記２つのマーカ間の距離は、前記対角線の長さと実質的に等しい。この構成によれば、２つのマーカの像に基づいて、矩形領域のサイズを算出できるので、矩形領域のサイズを計測するための処理及び操作が不要になる。
【００１９】
上記指示位置検出方法は、前記指示装置が前記対象物上の複数の所定箇所を個々に指し示したときのそれぞれの前記マーカの像に基づいて、前記第１の位置導出ステップ及び前記第２の位置導出ステップによって、前記補間法による前記位置情報を求めるステップをさらに含む。
【００２０】
この構成によれば、指示位置を特定するために必要な前処理（キャリブレーション）を、指示位置を特定するための処理と同様の処理により行うことができる。
【００２１】
上記指示位置検出方法において、前記対象物は、映像を表示する表示装置であり、前記指示装置は、前記表示装置の画面上の任意の位置を指し示し、前記指示位置検出方法は、前記表示装置の前記画面の複数の所定箇所の各々にターゲットを表示するステップと、前記指示装置が前記ターゲットを指し示したときの前記マーカの像に基づいて、前記第１の位置導出ステップ及び前記第２の位置導出ステップによって、前記補間法による前記位置情報を求めるステップと、をさらに含む。
【００２２】
この構成によれば、指示位置を特定するために必要な前処理（キャリブレーション）のためのターゲットをそのためだけに表示装置に取り付ける必要もなく、利便性の向上を図ることができる。
【００２３】
上記指示位置検出方法において、前記操作者によるトリガが発生したときに、前記第１の位置導出ステップ、前記第２の位置導出ステップ、及び前記位置特定ステップを実行する。この構成によれば、前記操作者によるトリガが発生したときにのみ、前記対象物上の指し示された位置を特定するので、処理負荷の軽減を図ることができる。
【００２４】
上記指示位置検出方法は、前記マーカに、予め定められた周期で、赤外光を照射するステップをさらに含み、前記撮像ステップは、前記赤外光の照射時に、赤外線フィルタを介して前記対象物を撮像して、照射時画像データを取得するステップと、前記赤外光の非照射時に、前記赤外線フィルタを介して前記対象物を撮像して、非照射時画像データを取得するステップと、前記照射時画像データと前記非照射時画像データとの差分を求めて、差分画像データを生成するステップと、を含み、前記第１の位置導出ステップでは、前記差分画像データに基づく差分画像上の前記マーカの像に基づいて、前記位置情報を求め、前記マーカは、再帰反射体で構成される。
【００２５】
この構成によれば、マーカの像以外のノイズ成分を簡易な処理で除去できる。このため、処理負荷の増大を招くことなく、より精度良くマーカの位置情報を求めることができる。
【００２６】
上記指示位置検出方法において、前記マーカは、自発光可能である。この構成によれば、対象物に対して光を照射することなく、マーカの像を取得できるので、対象物からの反射光が撮像されることを防止できる。
【発明を実施するための最良の形態】
【００２７】
以下、本発明の実施の形態について、図面を参照しながら説明する。なお、図中、同一または相当部分については同一の参照符号を付してその説明を援用する。
【００２８】
図１（ａ）は、本発明の実施の形態におけるガン型コントローラ１の外観斜視図である。図１（ｂ）は、本発明の実施の形態におけるマーカ１２を取り付けたテレビジョンモニタ１０の外観斜視図である。
【００２９】
図１（ａ）に示すように、ガン型コントローラ１の銃口に相当する部分（以下、「銃口」と呼ぶ。）には、円板状の赤外線フィルタ５が取り付けられ、それを囲むように、４つの赤外発光ダイオード３が配置される。赤外線フィルタ５は、赤外光以外の光を遮断し、赤外光のみを透過させる。赤外線フィルタ５の背面側には、後述のイメージセンサ２０が、面平行に配置される。また、ガン型コントローラ１は、トリガスイッチ７を有する。
【００３０】
ガン型コントローラ１は、Ａ／Ｖケーブル（図示せず）により、図１（ｂ）のテレビジョンモニタ１０に接続される。テレビジョンモニタ１０は、液晶テレビ、プラズマテレビ、プロジェクションテレビ、及びブラウン管テレビ等、その形式は問わずいずれでもよい。Ａ／Ｖケーブルは、例えば、ガン型コントローラ１の弾倉底板に相当する部分に接続される。また、ガン型コントローラ１には、図示していないが、電池又はＡＣアダプタにより電源電圧が供給される。
【００３１】
テレビジョンモニタ１０の画面１４の上縁中央部付近であって、画面１４の外側に、円形のマーカ１２が取り付けられる。マーカ１２は、例えば、再帰反射シート等の再帰反射体である。
【００３２】
プレイヤは、ガン型コントローラ１の銃口をテレビジョンモニタ１０に向けて、画面１４上の位置を指し示し、トリガスイッチ７を引く。その時、後述のイメージセンサ２０に撮影されたマーカ１２の位置に基づいて、トリガスイッチ７を引いた時の画面１４上の指し示された位置が特定される。
【００３３】
次に、マーカ１２の位置を算出する手順を説明する。
【００３４】
［マーカ１２の撮影］
ガン型コントローラ１に搭載される後述のマルチメディアプロセッサ２２は、赤外発光ダイオード３を一定周期で間欠的に駆動する。従って、テレビジョンモニタ１０にガン型コントローラ１の銃口が向けられると、テレビジョンモニタ１０に、赤外光が間欠的に照射される。
【００３５】
イメージセンサ２０は、赤外発光ダイオード３の発光時と消灯時の双方において撮影処理を行う。従って、マルチメディアプロセッサ２２は、イメージセンサ２０から、発光時画像データと消灯時画像データを取得する。画像データは、輝度データである。
【００３６】
［差分画像の生成］
マルチメディアプロセッサ２２は、発光時画像データと消灯時画像データとの差分を求めて、差分画像データを生成する。これにより、マーカ１２だけを抽出できる。つまり、差分画像データに基づく差分画像には、マーカ１２だけが写りこむ。この理由を説明する。
【００３７】
赤外光発光時の画像と消灯時の画像とで、輝度値が大きく異なるのは、マーカ１２だけである。なぜなら、マーカ１２が再帰反射体だからである。
【００３８】
詳しくは次の通りである。赤外発光ダイオード３は、赤外線フィルタ５の近傍に配置されているため、再帰反射された赤外光は、赤外線フィルタ５に入射し、さらに背後のイメージセンサ２０に入射する。従って、マーカ１２は、赤外光発光時では赤外光をイメージセンサ２０に向けて反射するため輝度が大きくなり（強く光り）、赤外光消灯時では再帰反射がないため輝度が極端に小さくなる（ほとんど光らない）。
【００３９】
一方、マーカ１２以外の物体は、再帰反射体ではないため、赤外光発光時においても、イメージセンサ２０に向けて強い反射光を返すことはない。つまり、マーカ１２以外の物体は、赤外光発光時と消灯時とで、輝度値に大きな差はない。従って、差分をとることにより、マーカ１２以外の物体の像を除去でき、マーカ１２だけを抽出できるのである。しかも、イメージセンサ２０による撮影は、赤外線フィルタ５を介して行われるので、赤外光以外の光が除去され、差分の効果は一層大きくなる。
【００４０】
以上のように、赤外線フィルタ５を介して差分画像データ（つまり差分画像）を求めることで、処理負荷の増大を招くことなく、マーカ１２からの反射光以外の光によるノイズを極力除去でき、精度良くマーカ１２を検出できる。
【００４１】
なお、テレビジョンモニタ１０の画面１４の更新よりも速いタイミングで、赤外発光ダイオード３の発光と消灯の１サイクルを行えば、差分を求めることで、画面１４の像を除去できる。また、画面１４の像は、必ずしも写りこむとは限らない。
【００４２】
［マーカ１２の位置算出］
図２は、イメージセンサ２０による差分画像ＩＭに写ったマーカ１２の像の例示図である。図２を参照して、イメージセンサ２０による差分画像ＩＭの左下角を原点Ｏとし、単位がイメージセンサ２０のピクセルであるＸＹ座標系を想定する。以下、ＸＹ座標系というときは、この座標系を意味する。また、本実施の形態では、イメージセンサ２０として、３２×３２ピクセルのＣＭＯＳイメージセンサを用いる。
【００４３】
マルチメディアプロセッサ２２は、差分画像ＩＭの全ピクセルをスキャンして、最も輝度値が大きいピクセルを抽出する。図２では、最も輝度値が大きいピクセルの座標を、（Ｘ，Ｙ）＝（Ｘｃ，Ｙｃ）とする。しかしながら、このようにして求めた座標値は、ピクセル単位で算出されるので、本実施の形態のような、低解像度のイメージセンサ２０を使用したのでは、求める座標値の精度が低くなる。当然、マーカ１２の座標値を基に、ガン型コントローラ１により指し示される位置が特定されるため、指示位置特定の精度も低くなる。そこで、以下の補正を行う。
【００４４】
［マーカ１２の位置補正］
図３は、マーカ１２の位置補正の説明図である。図３を参照して、横軸は、図２のＸ座標を示し、縦軸は、ピクセルの輝度値を示す。図２と同様に、最も輝度値が大きいピクセルの座標を、（Ｘ，Ｙ）＝（Ｘｃ，Ｙｃ）とする。また、（Ｘｌ，Ｙｃ）＝（Ｘｃ−１，Ｙｃ）のピクセルの輝度値を「Ｂｌ」、（Ｘｃ，Ｙｃ）のピクセルの輝度値を「Ｂｃ」、（Ｘｒ，Ｙｃ）＝（Ｘｃ＋１，Ｙｃ）のピクセルの輝度値を「Ｂｒ」とする。
【００４５】
本実施の形態では、マルチメディアプロセッサ２２は、放物線の式により、輝度分布を近似する。そして、マルチメディアプロセッサ２２は、放物線ｐｂの頂点に対応するＸ座標Ｘｔを求める。具体的には、マルチメディアプロセッサ２２は、（数１）により、補正値Ｘｄを求める。
【００４６】
【数１】
2007041910.tif 000003
Ｙ座標の補正値Ｙｄも、（数１）を用いて算出される。ただし、（Ｘｃ，Ｙｂ）＝（Ｘｃ，Ｙｃ−１）のピクセルの輝度値を「Ｂｌ」、（Ｘｃ，Ｙｃ）のピクセルの輝度値を「Ｂｃ」、（Ｘｃ，Ｙｕ）＝（Ｘｃ，Ｙｃ＋１）のピクセルの輝度値を「Ｂｒ」とする。
【００４７】
そして、マルチメディアプロセッサ２２は、マーカ１２の位置を（Ｘｔ，Ｙｔ）＝（Ｘｃ＋Ｘｄ，Ｙｃ＋Ｙｄ）とする。
【００４８】
このように、補間式を用いて、輝度分布を近似し、補正値Ｘｄ及びＹｄを求め、補正を行うことで、イメージセンサ２０の解像度を実質的に高くしている。従って、低解像度のイメージセンサ２０を使用する場合であっても、マーカ１２の位置を精度良く求めることができる。マーカ１２の座標値を基に、ガン型コントローラ１により指し示される位置が特定されるため、指示位置特定の精度も向上する。
【００４９】
次に、ガン型コントローラ１による指示位置の特定のための前処理として行われるキャリブレーションについて説明する。
【００５０】
図４は、キャリブレーション画面の説明図である。キャリブレーションを行う際、まず、図４（ａ）に示すように、画面１４の左下隅に第１ターゲットＡが表示される。プレイヤは、ガン型コントローラ１の銃口を第１ターゲットＡに向けて、第１ターゲットＡを指し示し、トリガスイッチ７を引く。
【００５１】
次に、図４（ｂ）に示すように、画面１４の右上隅に第２ターゲットＢが表示される。プレイヤは、ガン型コントローラ１の銃口を第２ターゲットＢに向けて、第２ターゲットＢを指し示し、トリガスイッチ７を引く。
【００５２】
以上で、キャリブレーションのためのプレイヤの操作は終了する。一方において、マルチメディアプロセッサ２２によるキャリブレーション処理が実行される。
【００５３】
図５は、マルチメディアプロセッサ２２によるキャリブレーション処理の説明図である。図５を参照して、図４（ａ）の第１ターゲットＡが指し示されたときに撮影されたマーカ１２の位置ａ（Ｘａ，Ｙａ）、及び、図４（ｂ）の第２ターゲットＢが指し示されたときに撮影されたマーカ１２の位置ｂ（Ｘｂ，Ｙｂ）が、上記のようにして、マルチメディアプロセッサ２２により算出される。
【００５４】
第１ターゲットＡ及びＢは、それぞれ画面１４の左下隅及び右上隅に表示されるので、ＸＹ座標上の線分Ｌは、画面１４の対角線に相当する。つまり、テレビジョンモニタ１０の画面１４は、ＸＹ座標上では、画面Ｓとして表される。
【００５５】
マルチメディアプロセッサ２２は、位置ａ及びｂから、画面Ｓの中心位置ｆ（Ｘｆ，Ｙｆ）、縦サイズＶ２、及び横サイズＨ２を算出する。これにより、マルチメディアプロセッサ２２によるキャリブレーション処理が終了する。
【００５６】
図６は、マルチメディアプロセッサ２２による指示位置特定処理の説明図である。プレイヤが、ガン型コントローラ１により、画面１４上の位置Ｐを指し示したとする。位置Ｐが、画面１４上の右上隅付近である例を挙げる。そうすると、図６（ａ）に示すように、マーカ１２の像の位置ｐ（Ｘｐ，Ｙｐ）は、ＸＹ座標上の画面Ｓ上の左下隅付近になる。
【００５７】
従って、図６（ｂ）に示すように、ガン型コントローラ１により指し示された画面１４上の位置Ｐに相当する画面Ｓ上の位置ｐ＃は、画面Ｓの中心位置ｆを中心として位置ｐを１８０度回転した位置（Ｘ＃，Ｙ＃）となる。そして、ＸＹ座標系の位置ｐ＃をスクリーン座標系の位置Ｐ（画面１４上の指し示された位置Ｐ）に変換する。スクリーン座標系は、テレビジョンモニタ１０の画面１４に表示されるピクセルの位置を表す座標系であり、本実施の形態では、画面１４の中心を原点とする。
【００５８】
具体的には、マルチメディアプロセッサ２２は、Ｘｍ＝Ｘｆ−Ｘｐ、Ｙｍ＝Ｙｆ−Ｙｐを求める。そして、ｘｍ＝Ｘｍ×（２／Ｈ２）×（Ｈ１／２）、ｙｍ＝Ｙｍ×（２／Ｖ２）×（Ｖ１／２）、を求め、（ｘｍ，ｙｍ）を画面１４上の指し示された位置Ｐとする。ここで、画面１４のサイズを横Ｈ１×縦Ｖ１ピクセル、画面Ｓのサイズを横Ｈ２×縦Ｖ２ピクセルとした。
【００５９】
図７は、ガン型コントローラ１の電気的構成を示す図である。図７に示すように、ガン型コントローラ１は、マルチメディアプロセッサ２２、イメージセンサ２０、赤外発光ダイオード３、トリガスイッチ７、ＲＯＭ（ｒｅａｄ  ｏｎｌｙ  ｍｅｍｏｒｙ）２４、及びバス２６を含む。
【００６０】
マルチメディアプロセッサ２２は、バス２６を通じて、ＲＯＭ２４にアクセスできる。従って、マルチメディアプロセッサ２２は、ＲＯＭ２４に格納されたプログラムを実行でき、また、ＲＯＭ２４に格納されたデータをリードして処理することができる。このＲＯＭ２４に、プログラム、画像データ、及び音声データ等が予め格納される。
【００６１】
このマルチメディアプロセッサ２２は、図示しないが、中央演算処理装置（以下、「ＣＰＵ」と呼ぶ。）、グラフィックスプロセシングユニット（以下、「ＧＰＵ」と呼ぶ。）、サウンドプロセシングユニット（以下、「ＳＰＵ」と呼ぶ。）、ジオメトリエンジン（以下、「ＧＥ」と呼ぶ。）、外部インタフェースブロック、メインＲＡＭ、及びＡ／Ｄコンバータ（以下、「ＡＤＣ」と呼ぶ。）などを具備する。
【００６２】
ＣＰＵは、ＲＯＭ２４に格納されたプログラムを実行して、各種演算やシステム全体の制御を行う。グラフィックス処理に関するＣＰＵの処理として、ＲＯＭ２４に格納されたプログラムを実行して、各オブジェクト及び各スプライトの拡大・縮小、回転、及び／又は平行移動のパラメータ、視点座標（カメラ座標）、並びに視線ベクトルの算出等を行う。ここで、１または複数のポリゴンから構成され、同じ拡大・縮小、回転、及び平行移動の変換が適用される単位を「オブジェクト」と呼ぶ。
【００６３】
ＧＰＵは、ポリゴン及びスプライトから構成される三次元イメージをリアルタイムに生成し、アナログのコンポジットビデオ信号に変換する。ＳＰＵは、ＰＣＭ（ｐｕｌｓｅ  ｃｏｄｅ  ｍｏｄｕｌａｔｉｏｎ）波形データ、アンプリチュードデータ、及びメインボリュームデータを生成し、それぞれアナログ信号に変換し、結果をアナログ乗算して、アナログオーディオ信号を生成する。ＧＥは、三次元イメージを表示するための幾何演算を実行する。具体的には、ＧＥは、行列積、ベクトルアフィン変換、ベクトル直交変換、透視投影変換、頂点明度／ポリゴン明度計算（ベクトル内積）、及びポリゴン裏面カリング処理（ベクトル外積）などの演算を実行する。
【００６４】
外部インタフェースブロックは、周辺装置（本実施の形態ではイメージセンサ２０、赤外発光ダイオード３、及びトリガスイッチ７）とのインタフェースであり、２４チャンネルのプログラマブルなデジタル入出力（Ｉ／Ｏ）ポートを含む。ＡＤＣは、４チャンネルのアナログ入力ポートに接続され、これらを介して、アナログ入力装置（本実施の形態ではイメージセンサ２０）から入力されたアナログ信号をデジタル信号に変換する。メインＲＡＭは、ＣＰＵのワーク領域、変数格納領域、および仮想記憶機構管理領域等として利用される。
【００６５】
図７を参照して、テレビジョンモニタ１０に取り付けられたマーカ１２は、赤外発光ダイオード３の赤外光に照射され、その赤外光を再帰反射する。このマーカ１２からの反射光がイメージセンサ２０によって撮影され、したがって、イメージセンサ２０からはマーカ１２の像を含む画像データが出力される。上記のように、マルチメディアプロセッサ２２は、ストロボ撮影のために、赤外発光ダイオード３を間欠的に駆動するので、赤外光消灯時の画像データも出力される。イメージセンサ２０からのこれらのアナログ画像データはマルチメディアプロセッサ２２に内蔵されたＡＤＣによってデジタルデータに変換される。
【００６６】
マルチメディアプロセッサ２２は、イメージセンサ２０からＡＤＣを介して入力されるデジタル画像データから差分画像データＩＭ（差分画像ＩＭ）を生成して、これに基づき、ＸＹ座標上のマーカ１２の位置ｐを求める。これと、キャリブレーションの結果を参照して、ガン型コントローラ１によるスクリーン座標系の指示位置Ｐを求める。
【００６７】
マルチメディアプロセッサ２２は、求めた指示位置Ｐに応じて、演算、グラフィック処理、及びサウンド処理等を実行し、ビデオ信号およびオーディオ信号を出力する。ビデオ信号およびオーディオ信号は、Ａ／Ｖケーブル（図示せず）によりテレビジョンモニタ１０に与えられ、応じて、テレビジョンモニタ１０に映像が表示され、そのスピーカ（図示せず）から音声が出力される。
【００６８】
図８は、マルチメディアプロセッサ２２によるキャリブレーション処理の流れの一例を示すフローチャートである。図８を参照して、ステップＳ１にて、マルチメディアプロセッサ２２は、システムの初期設定を実行する。ステップＳ２にて、マルチメディアプロセッサ２２は、イメージセンサ２０を制御して撮影処理を行う。
【００６９】
図９は、図８のステップＳ２の撮影処理の流れの一例を示すフローチャートである。図９を参照して、ステップＳ３０において、マルチメディアプロセッサ２２は、赤外発光ダイオード３を点灯する。ステップＳ３１で、マルチメディアプロセッサ２２は、イメージセンサ２０から、赤外光点灯時の画像データを取得して、メインＲＡＭに格納する。
【００７０】
ここで、本実施の形態では、イメージセンサ２０は、３２×３２ピクセルの解像度である。従って、イメージセンサ２０からは、画像データとして、３２×３２ピクセルのピクセルデータが出力される。このピクセルデータは、Ａ／Ｄコンバータにより、デジタルデータに変換されて、メインＲＡＭ上の二次元配列Ｐ１［Ｘ］［Ｙ］に格納される。Ｘ＝０〜３１、Ｙ＝０〜３１である。
【００７１】
ステップＳ３２で、マルチメディアプロセッサ２２は、赤外発光ダイオード３を消灯する。ステップＳ３３にて、マルチメディアプロセッサ２２は、イメージセンサ２０から、赤外光消灯時の画像データ（３２×３２ピクセルのピクセルデータ）を取得して、メインＲＡＭに格納する。この場合、赤外光消灯時の画像データは、メインＲＡＭ上の二次元配列Ｐ２［Ｘ］［Ｙ］に格納される。Ｘ＝０〜３１、Ｙ＝０〜３１である。
【００７２】
以上のようにして、ストロボ撮影が行われる。なお、ピクセルデータは、対応するピクセルの輝度データである。
【００７３】
図８に戻って、ステップＳ３にて、マルチメディアプロセッサ２２は、赤外発光ダイオード３の点灯時のピクセルデータ（つまり配列Ｐ１［Ｘ］［Ｙ］の要素）と、赤外発光ダイオード３の消灯時のピクセルデータ（つまり配列Ｐ２［Ｘ］［Ｙ］の要素）と、の差分を算出して、差分データを二次元配列Ｄｉｆ［Ｘ］[Ｙ]に代入する。
【００７４】
ステップＳ４にて、マルチメディアプロセッサ２２は、キャリブレーション終了フラグをチェックして、キャリブレーションが終了した場合はステップＳ１８に進んで、キャリブレーションが終了したことをプレイヤに通知するための画面設定（画像データの格納位置や表示座標の設定など）を行う。一方、終了していない場合はステップＳ５に進む。
【００７５】
ステップＳ５では、マルチメディアプロセッサ２２は、第１ターゲットＡ（図４（ａ）参照）へのシューティングが完了したか否か、つまり、プレイヤがガン型コントローラ１で第１ターゲットＡを指し示しトリガスイッチ７を引いた（オンした）か否か、を判断し、第１ターゲットＡのシューティングが完了している場合は、ステップＳ７に進み、完了していない場合は、ステップＳ６に進む。
【００７６】
ステップＳ６では、マルチメディアプロセッサ２２は、第１ターゲットＡを画面１４に表示するための設定（第１ターゲットＡの画像格納位置や表示座標の設定など）を行う。一方、ステップＳ７では、マルチメディアプロセッサ２２は、第２ターゲットＢを画面１４に表示するための設定（第２ターゲットＢの画像格納位置や表示座標の設定など）を行う。
【００７７】
ステップＳ８では、マルチメディアプロセッサ２２は、トリガスイッチ７が引かれた（オンされた）か否かを判断し、トリガスイッチ７が引かれた場合はステップＳ９に進み、それ以外はステップＳ１５に進む。ステップＳ９にて、マルチメディアプロセッサ２２は、マーカ１２の位置を算出する。
【００７８】
図１０は、図８のステップＳ９のマーカ位置算出処理の流れの一例を示すフローチャートである。図１０を参照して、ステップＳ４０にて、マルチメディアプロセッサ２２は、差分画像データから、最も大きい輝度値のピクセルデータを抽出し、その座標（Ｘｃ，Ｙｃ）を求める。
【００７９】
ステップＳ４１にて、マルチメディアプロセッサ２２は、（数１）により、放物線近似を行い、Ｘ座標の補正値Ｘｄを算出する。ステップＳ４２にて、マルチメディアプロセッサ２２は、原座標Ｘｃに補正値Ｘｄを加算して、加算結果Ｘｔをマーカ１２のＸ座標とする。
【００８０】
Ｙ座標の補正が済んでいないので（ステップＳ４３）、マルチメディアプロセッサ２２は、ステップＳ４１及びＳ４２に進み、補正値Ｙｄを求め、原座標Ｙｃに補正値Ｙｄを加算して、加算結果Ｙｔをマーカ１２のＹ座標とする。そして、図８のルーチンにリターンする。
【００８１】
図８に戻って、ステップＳ１０では、マルチメディアプロセッサ２２は、マーカ１２の位置（Ｘｔ，Ｙｔ）をメインＲＡＭに格納する。
【００８２】
ステップＳ１１では、マルチメディアプロセッサ２２は、第２ターゲットＢ（図４（ｂ）参照）へのシューティングが完了したか否か、つまり、プレイヤがガン型コントローラ１で第２ターゲットＢを指し示しトリガスイッチ７を引いた（オンした）か否か、を判断し、第２ターゲットＢのシューティングが完了している場合は、ステップＳ１２に進み、完了していない場合は、ステップＳ１５に進む。
【００８３】
ステップＳ１２にて、マルチメディアプロセッサ２２は、第１ターゲットＡがシューティングされたときのマーカ１２の位置および第２ターゲットＢがシューティングされたときのマーカ１２の位置に基づいて、差分画像ＩＭ上の画面１４の像Ｓ（図５参照）の中心位置（Ｘｆ，Ｙｆ）及びサイズＶ２，Ｈ２を算出する。そして、ステップＳ１３にて、マルチメディアプロセッサ２２は、像Ｓの中心位置（Ｘｆ，Ｙｆ）及びサイズＶ２，Ｈ２をメインＲＡＭに格納し、ステップＳ１４にて、キャリブレーション終了フラグをオンにする。
【００８４】
ステップＳ１５にて、マルチメディアプロセッサ２２は、ビデオ同期の割込み待ちであれば（ビデオ同期信号による割り込みがなければ）、同じステップＳ１５に戻る。一方、ステップＳ１５で、ビデオ同期信号による割り込みがあれば、ステップＳ１６に進む。
【００８５】
ステップＳ１６では、マルチメディアプロセッサ２２は、テレビジョンモニタ１０に表示される画面（ビデオフレーム）の更新処理を実行し、続くステップＳ１７にて、音楽や効果音を出力するための音声処理を実行し、ステップＳ２に進む。
【００８６】
図１１は、マルチメディアプロセッサ２２によるゲーム処理の流れの一例を示すフローチャートである。図１１を参照して、ステップＳ５０にて、マルチメディアプロセッサ２２は、システムの初期設定を実行する。ステップＳ５１にて、マルチメディアプロセッサ２２は、イメージセンサ２０を制御して撮影処理を行う。この撮影処理は、図８のステップＳ２の撮影処理と同じである。
【００８７】
ステップＳ５２にて、マルチメディアプロセッサ２２は、赤外発光ダイオード３の点灯時のピクセルデータ（つまり配列Ｐ１［Ｘ］［Ｙ］の要素）と、赤外発光ダイオード３の消灯時のピクセルデータ（つまり配列Ｐ２［Ｘ］［Ｙ］の要素）と、の差分を算出して、差分データを二次元配列Ｄｉｆ［Ｘ］[Ｙ]に代入する。この処理は、図８のステップＳ３の処理と同じである。
【００８８】
ステップＳ５３にて、マルチメディアプロセッサ２２は、テレビジョンモニタ１０にターゲット（図示せず）を表示するための設定（ターゲットの画像格納位置及び表示座標の設定など）を行う。ステップＳ５４にて、マルチメディアプロセッサ２２は、トリガスイッチ７が引かれた（オンされた）か否かを判断し、引かれていればステップＳ５５に進み、そうでなければステップＳ６１に進む。
【００８９】
ステップＳ５５にて、マルチメディアプロセッサ２２は、ＸＹ座標上のマーカ１２の位置を算出する。この処理は、図８のステップＳ９の処理と同じである。ステップＳ５６にて、マルチメディアプロセッサ２２は、ステップＳ５５で求めたマーカ１２の位置、ＸＹ座標上の画面Ｓの中心位置（Ｘｆ，Ｙｆ）、画面１４のサイズＶ１，Ｈ１、及び画面ＳのサイズＶ２，Ｈ２に基づいて、プレイヤがガン型コントローラ１により指し示した画面１４上の位置Ｐ（つまり、シューティング位置Ｐ）を算出する。
【００９０】
ステップＳ５７にて、マルチメディアプロセッサ２２は、シューティング位置Ｐが、ターゲットの表示範囲に存在するか否か（つまり、ヒットしたか否か）を判定する。ステップＳ５８では、ヒットの場合はステップＳ６０に進み、ミスの場合はステップＳ５９に進む。
【００９１】
ステップＳ６０では、マルチメディアプロセッサ２２は、ヒット後の処理（加点やエフェクト画像の設定など）を行う。一方、ステップＳ５９では、ミス後の処理（エフェクト画像の設定など）を行う。
【００９２】
そして、マルチメディアプロセッサ２２は、ステップＳ６１〜Ｓ６３の処理を行って、ステップＳ５１に進む。ステップＳ６１〜Ｓ６３の処理は、それぞれ、図８のステップＳ１５〜Ｓ１７と同じである。
【００９３】
さて、上記では、円形状かつ単一のマーカ１２を使用した。しかし、マーカの形状あるいは配置によっては、さらに回転補正を行うことができる。この場合でも、マーカは、再帰反射シート等の再帰反射体である。
【００９４】
図１２は、回転補正の説明図である。図１２（ａ）に示すように、アスペクト比が異なる矩形状のマーカ５０を、テレビジョンモニタ１０に取り付ける。このようなアスペクト比が異なるマーカ５０を使用すると、イメージセンサ２０がその光軸周りに回転したことを検知できる。
【００９５】
ゲーム処理中、プレイヤのガン型コントローラ１の持ち方によっては、キャリブレーション時のイメージセンサ２０の状態に対して、イメージセンサ２０がその光軸周りに回転することもある。この場合、この回転をリアルタイムに考慮した補正ができれば、より精度良く、指示位置の特定が可能になる。
【００９６】
図１２（ｂ）を参照して、キャリブレーション時を基準にして、ゲーム処理中、イメージセンサ２０が、反時計回りに、角度θだけ回転したとする。この場合、マルチメディアプロセッサ２２は、ＸＹ座標系で表されたマーカ５０の位置を、ＸＹ座標系を角度θだけ反時計回りに回転したＵＶ座標系で表す。具体的には、マルチメディアプロセッサ２２は、（数２）により、座標変換を行う（回転補正）。回転角θは、リアルタイムで取得できるので、リアルタイムで回転補正を行うことができる。
【００９７】
【数２】
2007041910.tif 000004
図１２（ｃ）を参照して、２つのマーカ１２を一定間隔だけ離して配置し、これを撮影することによっても、イメージセンサ２０の回転角θを検知できるので、上記同様、回転補正をリアルタイムで行うことができる。なお、キャリブレーションは、いずれか１つのマーカ１２を用いて行う。また、２つのマーカ１２の検出は、例えば、差分画像から最大輝度値のピクセル（１つ目のマーカ１２）を抽出し、さらに、そのピクセルを含む一定範囲をマスクしてから、最大輝度値のピクセル（２つ目のマーカ１２）を抽出することにより行う。
【００９８】
図１２（ｃ）のように、２つのマーカ１２間の距離を、画面１４の辺の長さより短くすることにより、２つのマーカ１２間の距離が画面１４の辺の長さと実質的に等しい場合と比べて（後述の図１３（ａ）参照）、２つのマーカ１２の双方が撮像範囲に入りやすくなる。このため、イメージセンサ２０の回転の検知をより確実に行うことができる。
【００９９】
さて、マーカ１２の配置によっては、さらに、遠近補正を行うことができる。図１３は、遠近補正の説明図である。図１３（ａ）に示すように、マーカ１２を画面１４の左上角近傍に配置し、他方のマーカ１２を画面１４の右上角近傍に配置する。このような配置にすると、キャリブレーション時を基準にして、イメージセンサ２０とテレビジョンモニタ１０との間の遠近を検知できる。なぜなら、イメージセンサ２０が離れた場合は、その程度に応じてＸＹ座標上のマーカ１２間の距離が短くなり、イメージセンサ２０が近づいた場合は、その程度に応じてＸＹ座標上のマーカ１２間の距離が長くなるからである。
【０１００】
ゲーム処理中、ガン型コントローラ１を持ったプレイヤの立ち位置が、キャリブレーション時と異なってくる場合もある。この場合、プレイヤの立ち位置、つまり、イメージセンサ２０の遠近をリアルタイムに考慮した補正ができれば、より一層精度良く、指示位置の特定が可能になる。
【０１０１】
図１３（ｂ）を参照して、ＸＹ座標系において、キャリブレーション時では、画面１４は画面Ｓｃに相当し、イメージセンサ２０がテレビジョンモニタ１０に近づいたときでは、画面１４は画面Ｓｓに相当し、イメージセンサ２０がテレビジョンモニタ１０から離れたときでは、画面１４は画面Ｓｌに相当する。従って、イメージセンサ２０とテレビジョンモニタ１０との距離によって、テレビジョンモニタ１０の画面１４に相当するＸＹ座標上の画面のサイズＶ２，Ｈ２が異なってくる。
【０１０２】
マルチメディアプロセッサ２２は、イメージセンサ２０の遠近を考慮すべく、ＸＹ座標上の画面ＳのサイズＶ２，Ｈ２をリアルタイムで求めることにより、より的確なスクリーン座標系への変換を行うことができるので、画面１４上の指示位置をより一層精度良く求めることができる（遠近補正）。なお、キャリブレーション時のマーカ１２間の距離を基準に、拡大率あるいは縮小率が分かるので、容易に、サイズＶ２，Ｈ２を算出できる。
【０１０３】
さて、次に、マーカ１２の他の配置例を説明する。図１４は、マーカ１２の配置例の説明図である。図１４（ａ）に示すように、マーカ１２を画面１４の右上角の近傍に配置し、他のマーカ１２を画面１４の左下角の近傍に配置する。この場合、キャリブレーションは、いずれか一方のマーカ１２を使用して行う。また、図４と同様に、プレイヤに２点を指し示させてキャリブレーションを行うこともできるが、プレイヤに画面１４の中央を指し示させてキャリブレーションを行うこともできる。なぜなら、マーカ１２が、画面１４の右上角及び左下角に配置されているため、２点の検出を行わなくとも、ＸＹ座標系での画面Ｓのサイズを算出できるからである。ただし、後者の場合は、イメージセンサ２０の光軸周りの回転を検知できないので、回転補正ができない。遠近補正は可能である。また、後者の場合、プレイヤにとってキャリブレーションのための操作が１つ減るので、煩わしさが軽減する。
【０１０４】
図１４（ｂ）を参照して、図１４（ａ）の２つのマーカ１２に加えて、他のマーカ１２を画面１４の右下角の近傍に配置する。この場合、プレイヤに画面１４の中央を指し示させてキャリブレーションを行うだけで、回転補正も可能となる。また、遠近補正も可能である。さらに、ＸＹ座標上の画面Ｓの歪を検出できるので、歪補正を行うことができる。例えば、プレイヤが、画面１４の正面ではなく、斜めの位置でプレイする場合は、ＸＹ座標上の画面Ｓの形状が若干歪むこともあるが、これを考慮して、スクリーン座標系への変換を行うことができ、より一層精度良く指示位置の特定ができる（歪補正）。
【０１０５】
図１４（ｃ）に示すように、４つのマーカ１２を、画面１４の４つの角の近傍に配置する。この場合は、図１４（ｂ）と同様のキャリブレーションで、回転補正、遠近補正及び歪補正が可能になる。
【０１０６】
図１５は、本発明の実施の形態の変形例の説明図である。図１５を参照して、テレビジョンモニタ１０の上面に、発光装置６０を載置する。発光装置６０は、２つの赤外発光ダイオード６２を備えており、常に、赤外光を発光する。発光装置６０は、例えば、電池で駆動する。このように、マーカとして自発光する発光装置６０を設けることで、ガン型コントローラ１の赤外発光ダイオード３が不要になる。また、より鮮明なマーカの像を取得できる。なお、１つの赤外発光ダイオード６２が、１つのマーカに相当する。
【０１０７】
さて、以上のように、本実施の形態によれば、最終的に補間法によってマーカ１２の位置を求めているので、イメージセンサ２０の解像度を実質的に高くすることができる。このため、イメージセンサ２０に設定された解像度の高低に関係なく、実用に足る、指示位置の検出精度を確保できる。しかも、補間式は、放物線を示す式であり、輝度分布に即したものなので、指示位置の検出精度をより向上できる。
【０１０８】
また、本実施の形態では、補間に使用するピクセル数は、３ピクセルであり、必要最小限の数である。さらに、単一のマーカ１２を取り付けているので、位置の導出は、１つマーカ１２に対してのみ行えばよい。さらに、赤外線フィルタ５を介した撮影および差分画像によるマーカ１２の抽出を行っている。よって、処理負荷の増大を招くことなく、精度良くマーカ１２の位置を求めることができる。また、トリガスイッチ７が引かれたときにのみ、画面１４上の指し示された位置を特定するので、これも処理負荷の軽減に寄与する。
【０１０９】
さらに、本実施の形態では、ガン型コントローラ１により指し示す対象として、テレビジョンモニタ１０の画面１４を例に挙げている。従って、画面１４に表示された映像と、ガン型コントローラ１が指し示す画面１４上の位置と、の関係に応じて、対応する処理を行うソフトウェア（例えば、図１１のシューティングゲームのソフトウェア等）の作成が可能になる。
【０１１０】
さらに、本実施の形態では、キャリブレーションの際、プレイヤに指し示させる画面１４上の位置に、第１ターゲットＡ及び第２ターゲットＢを表示する。従って、キャリブレーションのためのターゲットをそのためだけに画面１４上に取り付ける必要もなく、利便性の向上を図ることができる。
【０１１１】
本実施の形態の変形例では、テレビジョンモニタ１０に対して赤外光を照射することなく、マーカ（赤外発光ダイオード６２）の像を取得できるので、画面１４からの反射赤外光が撮像されることを防止できる。その他、実施の形態と同様の効果を奏する。一方、図１（ａ）の構成で、画面１４からの反射赤外光が写りこむ場合は、差分画像ＩＭに、上下に並んだ高輝度領域が存在すると考えられる。よって、このときは、上に位置する高輝度領域がマーカ１２の像と判断する。なぜなら、マーカ１２は、画面１４の上に配置されるからである。
【０１１２】
なお、本発明は、上記の実施の形態に限られるものではなく、その要旨を逸脱しない範囲で種々の態様において実施することが可能であり、例えば、以下のような変形も可能である。
【０１１３】
（１）上記では、円形のマーカ１２を使用したが、マーカ１２の形状は、矩形等、任意の形状をとることができる。回転が認識できる形状であれば、マーカ５０の形状は、図１２（ａ）のものに限られない。マーカ１２及び５０の位置は、図１（ｂ）、図１２（ａ）、図１２（ｃ）、及び図１３（ａ）に示した位置に限定されず、画面１４の周辺の任意の位置に配置できる。画面１４の上に配置することもできる。図１５において、赤外発光ダイオード６２間の距離は任意に設定できる。発光装置６０は、画面１４の周辺の任意の位置に配置できる。赤外発光ダイオード６２は、１つでもよい。１つの赤外発光ダイオード６２を１つのマーカと考えて、各々１つの赤外発光ダイオード６２を有する複数の発光装置を用意し、図１２（ｃ）、図１３（ａ）、及び図１４に示したマーカ１２にならって配置することにより、回転補正、遠近補正、及び歪補正が可能になる。なお、図１５の発光装置６０の使用で、回転補正は可能である。
【０１１４】
（２）上記では、テレビジョンモニタ１０の画面１４上の指し示された位置を求めた。ただし、テレビジョンモニタ１０のような表示装置の画面上の位置だけでなく、ボード、ポスター、壁など、様々な領域上の指し示された位置を特定できる。また、滑らかで平坦な面上の位置の特定に限られない。さらに、指し示す対象は、画面などの矩形のものに限られず、円形など、任意の形状に適用できる。
【０１１５】
（３）上記では、最も高い輝度値のピクセル及びその両側に位置するピクセルに基づいて、補間法による補正値Ｘｄ，Ｙｄの導出を行った。ただし、３ピクセルの情報に限らず、５ピクセル等、任意の数のピクセルの情報を用いて、補間法による補正値の算出を行うことができる。また、補間式は、より高次の式など、放物線の式に限定されない。
【図面の簡単な説明】
【０１１６】
【図１】（ａ）本発明の実施の形態におけるガン型コントローラ１の外観斜視図。（ｂ）本発明の実施の形態におけるマーカ１２を取り付けたテレビジョンモニタ１０の外観斜視図。
【図２】イメージセンサ２０による差分画像ＩＭに写ったマーカ１２の像の例示図。
【図３】マーカ１２の位置補正の説明図。
【図４】キャリブレーション画面の説明図。
【図５】マルチメディアプロセッサ２２によるキャリブレーション処理の説明図。
【図６】マルチメディアプロセッサ２２による指示位置特定処理の説明図。
【図７】ガン型コントローラ１の電気的構成を示す図。
【図８】マルチメディアプロセッサ２２によるキャリブレーション処理の流れの一例を示すフローチャート。
【図９】図８のステップＳ２の撮影処理の流れの一例を示すフローチャート。
【図１０】図８のステップＳ９のマーカ位置算出処理の流れの一例を示すフローチャート。
【図１１】マルチメディアプロセッサ２２によるゲーム処理の流れの一例を示すフローチャート。
【図１２】回転補正の説明図。
【図１３】遠近補正の説明図。
【図１４】マーカ１２の配置例の説明図。
【図１５】本発明の実施の形態による変形例の説明図。
【符号の説明】
【０１１７】
１…ガン型コントローラ、３，６２…赤外発光ダイオード、５…赤外線フィルタ、７…トリガスイッチ、１０…テレビジョンモニタ、１２，５０…マーカ、１４…画面、２０…イメージセンサ、２２…マルチメディアプロセッサ、２４…ＲＯＭ、２６…バス、６０…発光装置。
【図１】
2007041910.tif 000005
【図２】
2007041910.tif 000006
【図３】
2007041910.tif 000007
【図４】
2007041910.tif 000008
【図５】
2007041910.tif 000009
【図６】
2007041910.tif 000010
【図７】
2007041910.tif 000011
【図８】
2007041910.tif 000012
【図９】
2007041910.tif 000013
【図１０】
2007041910.tif 000014
【図１１】
2007041910.tif 000015
【図１２】
2007041910.tif 000016
【図１３】
2007041910.tif 000017
【図１４】
2007041910.tif 000018
【図１５】
2007041910.tif 000019