(57)【要約】【課題】ポインティングデバイスを自由に手に持ってプレイでき、少ない演算負荷でポインティングデバイスの画面に対するポイント位置や回転や傾き等が検出すること。【解決手段】ポインティングデバイスＧＣと所定面の位置、向き、回転の少なくとも１つに関する相対配置情報を検出する配置情報検出システムである。所定面の外周付近に設置又は設置可能に構成され、時間差をおいて所定の波長の光を発光する複数の発光体１５９と、ポインティングデバイスの位置、向き、回転に連動して位置、向き、回転を変化させて、ポインティングデバイスのポイント方向からの光を受光し、前記発光体の発光する所定の波長の光の受光面における受光位置を特定するための検出値を発光体毎に検出する２次元光位置検出部ＰＳＤと、２次元光位置検出部ＰＳＤの検出値に基づき、ポインティングデバイスと所定面の相対配置情報を演算する配置情報演算部１１２とを含む。【選択図】      図３
2005293089.tif 000002
【特許請求の範囲】
【請求項１】
ポインティングデバイスと所定面の位置、向き、回転の少なくとも１つに関する相対配置情報を検出する配置情報検出システムであって、
所定面の外周付近に設置又は設置可能に構成され、時間差をおいて所定の波長の光を発光する複数の発光体と、
ポインティングデバイスの位置、向き、回転に連動して位置、向き、回転を変化させて、ポインティングデバイスのポイント方向からの光を受光し、前記発光体の発光する所定の波長の光の受光面における受光位置を特定するための検出値を発光体毎に検出する２次元光位置検出部と、
２次元光位置検出部の検出値に基づき、ポインティングデバイスと画面の相対配置情報を演算する配置情報演算部と、
を含む事を特徴とする配置情報検出システム。
【請求項２】
時間差をおいて所定の波長の光を発光する複数の発光体を外周付近に設置した所定面とポインティングデバイスとの位置、向き、回転の少なくとも１つに関する相対配置情報を検出する配置情報検出システムであって、
ポインティングデバイスの位置、向き、回転に連動して位置、向き、回転を変化させて、ポインティングデバイスのポイント方向からの光を受光し、前記発光体の発光する所定の波長の光の受光面における受光位置を特定するための検出値を発光体毎に検出する２次元光位置検出部と、
２次元光位置検出部の検出値に基づき、ポインティングデバイスと画面の相対配置情報を演算する配置情報演算部と、
を含む事を特徴とする配置情報検出システム。
【請求項３】
請求項１乃至２のいずれかにおいて、
ポインティングデバイスが所定の配置状態にある時の２次元光位置検出部の検出値に対応する基準値を記憶する基準値情報記憶部を含み、
前記配置情報演算部は、
前記２次元光位置検出部の検出値と前記基準値に基づき、ポインティングデバイスと所定面の相対配置情報を演算する事を特徴とする配置情報検出システム。
【請求項４】
請求項３において、
前記２次元光位置検出部の検出値に基づき前記基準値を設定する基準値設定部をさらに含むことを特徴とする配置情報検出システム。
【請求項５】
請求項１乃至４のいずれかにおいて、
前記配置情報演算部は、
各発光体の発光タイミング又は発光履歴又は発光順序又は発光時刻に関する発光情報に基づき、各発光体毎に検出された受光位置に対応する発光体を特定する手段を含むことを特徴とする配置情報検出システム。
【請求項６】
請求項１乃至５のいずれかにおいて、
ユーザーの入力によるポインティングイベントが発生した場合に、前記複数の発光体を時間差をおいて１つずつ発光させる発光制御を開始するように制御する手段を含むことを特徴とする配置情報検出システム。
【請求項７】
請求項１乃至６のいずれかにおいて、
前記複数の発光体を所定期間の間、時間差をおいて所定の順番で発光させることを特徴とする配置情報検出システム。
【請求項８】
請求項１乃至７のいずれかにおいて、
前記発光体として２つの発光体を所定面と同一平面上又は所定面と平行に配置された平面上に配置し、
前記配置情報演算部が、
２つの発光体の発光タイミング又は発光履歴又は発光順序又は発光時刻に関する発光情報に基づいて、２次元光位置検出部が連続して検出した２つの受光点に対応する発光体を特定し、
特定された２つの発光体の配置情報及び２次元光位置検出部の検出値に基づき、ポインティングデバイスの位置、回転情報、傾きの少なくとも１つを演算することを特徴とする配置情報検出システム。
【請求項９】
請求項１乃至７のいずれかにおいて、
前記発光体として３つの発光体を所定面と同一平面上又は所定面と平行に配置された平面上に配置し、
前記配置情報演算部が、
３つの発光体の発光タイミング又は発光履歴又は発光順序又は発光時刻に関する発光情報に基づいて、２次元光位置検出部が連続して検出した３つの受光点に対応する発光体を特定し、
特定された３つ発光体の配置情報及び２次元光位置検出部の検出結果に基づき、ポインティングデバイスの位置、回転情報、傾きの少なくとも１つを演算することを特徴とする配置情報検出システム。
【請求項１０】
請求項１乃至７のいずれかにおいて、
前記発光体として４つの発光体を所定面の外周の４角に配置し、
前記相対配置情報演算部は、
２次元光位置検出部の検出値に基づき、ポインティングデバイスの位置、回転情報又は傾きを演算することを特徴とする配置情報検出システム。
【請求項１１】
請求項１乃至１０のいずれかの配置情報検出システムと、
前記配置情報検出システムにより演算されたポインティングデバイス配置情報に基づいてゲーム処理を行うゲーム処理部と、
前記所定面は画像を表示する画面として構成され、前記ゲーム処理部の処理結果に基づいて、前記画面に表示する画像を生成する画像生成部とを含み、
前記ポインティングデバイスは銃を模したシューティングデバイスとして構成され、
前記ゲーム処理部は、
前記配置情報検出システムにより演算されたポインティングデバイスと画面の相対配置情報に基づいてシューティング演算又はヒットチェック演算を行うことを特徴とするゲームシステム。
【請求項１２】
ポインティングデバイスと画面の位置、向き、回転の少なくとも１つに関する相対配置情報を検出するプログラムであって、
ポインティングデバイスの位置、向き、回転に連動して位置、向き、回転を変化させて、ポインティングデバイスのポイント方向からの光を受光し、前記発光体の発光する所定の波長の光の受光面における受光位置を特定するための検出値を発光体毎に検出する２次元光位置検出部の検出値に基づき、ポインティングデバイスと画面の相対配置情報を演算する配置情報演算部と、
前記配置情報に基づいてゲーム処理を行うゲーム処理部と、
前記ゲーム処理部の処理結果に基づいて、画面に表示する画像を生成する画像生成部としてコンピュータを機能させ、
前記ゲーム処理部が、
前記配置情報検出システムにより演算されたポインティングデバイスと画面の相対配置情報に基づいてシューティング演算又はヒットチェック演算を行うことを特徴とするプログラム。
【請求項１３】
コンピュータ読み取り可能な情報記憶媒体であって、請求項１２のプログラムを記憶したことを特徴とする情報記憶媒体。
【請求項１４】
ポインティングデバイスと所定面の位置、向き、回転の少なくとも１つに関する相対配置情報を検出する配置情報検出システムの制御方法であって、
所定面の外周付近に設置又は設置可能に構成され、所定の波長の光を発光する複数の発光体が２つ以上同時に発光しないように微少時間差をおいて発光させるステップと、
ポインティングデバイスの位置、向き、回転に連動して位置、向き、回転を変化させて、ポインティングデバイスのポイント方向からの光を受光し、前記発光体の発光する所定の波長の光の受光面における受光位置を特定するための検出値を発光体毎に検出するステップと、
前記検出値に基づき、ポインティングデバイスと所定面の相対配置情報を演算するステップと、
を含む事を特徴とする配置情報検出システムの制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、配置情報検出システム、ゲームシステム、プログラム、情報記憶媒体及び配置情報検出システムの制御方法に関する。
【背景技術】
【０００２】
従来より、ガン型のコントローラを用いて、プレーヤが擬似的な射撃を楽しむことができる射撃ゲーム装置が知られている。
【特許文献１】特開平８−７１２５２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
上記文献には、ビデオ画面を囲むように４箇所に発光体を配置し、射撃用のガンの銃身にＣＣＤカメラを設けて上記４個の発光体を含む画像を撮影し、ＣＣＤカメラの撮影データをビデオＲＡＭに記録し、ビデオＲＡＭに記録された４個の発光体の画像位置情報に基づいてビデオ画面に対するガンの相対位置、回転角度及び傾きを算出する手法が記載されている。
【０００４】
上記手法によれば、一瞬画面を単一色に変更する必要もなく、ガンを自由に手に持ってプレイでき、ゲームの映像に真っ黒な部分があってもガンの向き、位置、傾きを検出できると共に、画面とガンの距離や、ガンの回転、３次元空間におけるガンの位置を検出できる。
【０００５】
しかし上記手法にはＣＣＤカメラで撮影された画像から発光体の位置座標を検出する必要があるため処理負荷が増大するという問題点があった。
【０００６】
また画面の明るさ等により発光体の位置の検出が困難になるという問題点もあった。
【０００７】
本発明は、以上のような課題に鑑みてなされたものであり、その目的とするところは、ポインティングデバイスを自由に手に持ってプレイでき、少ない演算負荷でポインティングデバイスの画面に対するポイント位置や回転や傾き等が検出可能な配置情報検出システム、ゲーム装置、プログラム及び情報記憶媒体を提供することにある。
【課題を解決するための手段】
【０００８】
（１）本発明は、ポインティングデバイスと所定面の位置、向き、回転の少なくとも１つに関する相対配置情報を検出する配置情報検出システムであって、
所定面の外周付近に設置又は設置可能に構成され、時間差をおいて所定の波長の光を発光する複数の発光体と、
ポインティングデバイスの位置、向き、回転に連動して位置、向き、回転を変化させて、ポインティングデバイスのポイント方向からの光を受光し、前記発光体の発光する所定の波長の光の受光面における受光位置を特定するための検出値を発光体毎に検出する２次元光位置検出部と、
２次元光位置検出部の検出値に基づき、ポインティングデバイスと画面の相対配置情報を演算する配置情報演算部と、
を含む事を特徴とする。
【０００９】
また本発明は、上記各部としてコンピュータを機能させるプログラムに関係する。また本発明は、コンピュータ読み取り可能な情報記憶媒体であって、上記各部としてコンピュータを機能させるプログラムを記憶（記録）した情報記憶媒体に関係する。また本発明は、上記各部として機能する配置情報検出システムの制御方法に関する。
【００１０】
ポインティングデバイスとは、所定面上の位置（又は画面内の標的）等を指示するものであればよく、たとえばガン型コントローラ等のシューティングデバイスでもよい。
【００１１】
発光体は、所定面の外周付近に設置又は設置可能に構成され、赤外線等所定の波長の光を発光するもので、所定の波長の光源や発光素子で構成することができる。
【００１２】
本発明では少なくとも２つ以上の発光体を使用する。２つの発光体を使用する場合には、所定面の外周の長方形の対角線上に位置する２角に配置するようにしてもよい。
【００１３】
３つ以上の発光体を設置する場合には所定面と同一平面上又は所定面と平行に配置された平面と同一平面上に配置するようにしてもよい。
【００１４】
各発光体は、発光を各発光体毎に区別して認識するために時分割で同時に２つ以上発光しないように微少時間差をおいて発光する。微少時間差とは、例えば１フレームの画像が表示される時間１／６０秒を発光体の数で時分割した程度の時間であって、２次元光位置検出部が受光可能な時間として設定する。
【００１５】
２次元光位置検出部はポインティングデバイスに２次元ＰＳＤ（Position  Sensitive
Detector）等で設置することで実現することができる。
【００１６】
２次元ＰＳＤは、受光面（第１の軸（例えばＸ軸方向）と第２の軸（例えばＹ軸方向）で特定される２次元平面）に所定の波長の光が当たると当たった位置に電圧が生じる。これによって生じる電圧降下を利用して受光点の２次元的な位置座標（Ｘ，Ｙ）を特定する。
【００１７】
例えばＸ軸方向の両端をＸ１とＸ２、Ｙ軸方向の両端をＹ１とＹ２とする。Ｘ１とＸ２、Ｙ１とＹ２の間に抵抗を設けた場合、受光点の座標（Ｘ，Ｙ）とすると、Ｘ軸方向の両端Ｘ１、Ｘ２にはＸＸ１とＸＸ２の距離に比例して電圧降下した電圧（電流でもよい）の値が出力される。従ってＸＸ１とＸＸ２の電圧（電流でもよい）差によってＸ１Ｘ２の真ん中からどれくらい離れた所で電圧降下が生じたか判定できる。Ｙについても同様である。
【００１８】
このように検出値として電圧値や電流値が返ってくるので、返ってきた電圧値と初期値を比較することで受光位置（Ｘ，Ｙ）の座標値を得ることができる。
【００１９】
ここにおいて２次元ＰＳＤはスポット光の位置座標を２次元で検出できるもので、例えば受光部の光学系を発光体から到達した光が２次元ＰＳＤ上でスポット光となるように構成してもよい。
【００２０】
ポインティングデバイスと画面の相対配置情報とはポインティングデバイスと画面の位置、向き、回転の少なくとも１つを含み、これらのいずれか１つ又は２つを検出する場合でもよいし、３つすべてを検出する場合でもよい。
【００２１】
本発明によれば、複数の発光体を微少時間差で１つずつ発光させる。システムでは各発光体の発光のタイミングや発光履歴や発光順序や発光時刻に関する情報（発光情報）を把握可能であるため、各受光点に対応する発光体を特定する事ができる。
【００２２】
例えば常時微少時間差で発光している場合には、時刻ｔ１において発光させた発光体の情報を取得し、予め保持している複数の発光体の発光順序に関する情報に基づき特定するようにしてもよい。
【００２３】
また所定のイベント（例えばシューティングイベント等）により発光を開始するように構成し、発光させる順序に従って各受光点を時系列に発光体と対応づける構成にしてもよい。
【００２４】
一般に複数の発光体が常に発光している場合には、検出された受光点の描く形状から受光点と発光体の対応付けを行うことになるが、この場合演算のアルゴリズムが複雑になり演算負荷も増大する。
【００２５】
しかし本発明によれば複数の発光体が２つ以上同時に発光しないように微少時間差を設けて発光させることにより、所定の２次元平面における受光点と発光体との対応付けを少ない演算負荷で容易に行うことができる。
【００２６】
このためポインティングデバイスを自由に手に持ってプレイでき、少ない演算負荷でポインティングデバイスの画面に対するポイント位置や回転や傾き等が検出可能な配置情報検出システム、ゲーム装置、プログラム、情報記憶媒体及び配置情報検出システムの制御方法を提供することができる。
【００２７】
（２）本発明は、時間差をおいて所定の波長の光を発光する複数の発光体を外周付近に設置した所定面とポインティングデバイスとの位置、向き、回転の少なくとも１つに関する相対配置情報を検出する配置情報検出システムであって、
ポインティングデバイスの位置、向き、回転に連動して位置、向き、回転を変化させて、ポインティングデバイスのポイント方向からの光を受光し、前記発光体の発光する所定の波長の光の受光面における受光位置を特定するための検出値を発光体毎に検出する２次元光位置検出部と、
２次元光位置検出部の検出値に基づき、ポインティングデバイスと画面の相対配置情報を演算する配置情報演算部と、
を含む事を特徴とする。
【００２８】
（３）本発明の配置情報検出システム、ゲーム装置、プログラム、情報記憶媒体及び配置情報検出システムの制御方法は、
ポインティングデバイスが所定の配置状態にある時の２次元光位置検出部の検出値に対応する基準値を記憶する基準値情報記憶部を含み、
前記配置情報演算部は、
前記２次元光位置検出部の検出値と前記基準値に基づき、ポインティングデバイスと所定面の相対配置情報を演算する事を特徴とする。
【００２９】
ここにおいて基準値は所定の配置状態にある時の２次元光位置検出部から出力される電圧値や電流値でもよいし、電圧値や電流値から求められる２次元平面内における受光点（発光体の検出位置）の座標値でもよい。
【００３０】
例えば前記２次元光位置検出部の検出結果と前記基準値を比較し、比較結果に基づき、ポインティングデバイスと画面の相対配置情報を演算するようにしてもよい。
【００３１】
基準値は初期設定入力により設定してもよいしデフォルト値で設定しておいてもよい。
【００３２】
例えば基準値情報記憶部が、
前記基準値として、ポインティングデバイスが所定の配置状態にある時の所定の２次元平面における前記複数の発光体の発光する光の受光位置に関する基準受光位置情報を記憶し、
前記配置情報演算部が、
前記２次元光位置検出部の検出値に基づき受光面における前記複数の発光体の発光した光の受光位置を演算し、
基準受光位置と検出受光位置に基づき、ポインティングデバイスと所定面の相対配置情報を演算するようにしてもよい。
【００３３】
（４）本発明の配置情報検出システム、ゲーム装置、プログラム、情報記憶媒体及び配置情報検出システムの制御方法は、
前記２次元光位置検出部の検出値に基づき前記基準値を設定する基準値設定部をさらに含むことを特徴とする。
【００３４】
例えばプレーヤに対し、ポインティングデバイスを前記所定の配置状態にするための指示を出力し、当該指示に対応してポインティングデバイスが配置された時の２次元光位置検出装置の検出値を基準値として設定するようにしてもよいし、当該検出値に基づきに基づき受光面における前記複数の発光体の発光した光の検出受光位置を演算し、当該検出受光位置を基準値として設定するようにしてもよい。
【００３５】
このようにすると各装置毎の微妙な誤差を吸収することができる。
【００３６】
（５）本発明の配置情報検出システム、ゲーム装置、プログラム、情報記憶媒体及び配置情報検出システムの制御方法は、
前記配置情報演算部が、
各発光体の発光のタイミング又は発光履歴又は発光順序又は発光時刻に関する発光情報に基づき、各発光体毎に検出された受光位置に対応する発光体を特定する手段を含むことを特徴とする。
【００３７】
本発明では、複数の発光体を微少時間差で１つずつ発光させる。システムでは各発光体の発光のタイミングや発光履歴（発光位置の変遷）や発光順序や発光時刻に関する発光情報を把握可能であるため各発光体毎に検出された受光位置（各受光点）に対応する発光体を特定する事ができる。
【００３８】
例えば常時微少時間差で発光している場合には、時刻ｔ１において発光させた発光体の情報を取得し、予め保持している複数の発光体の発光順序に関する情報に基づき特定するようにしてもよい。
【００３９】
また所定のイベント（例えばシューティングイベント等）により発光を開始するように構成し、発光させる順序に従って各受光点を時系列に発光体と対応づける構成にしてもよい。
【００４０】
（６）本発明の配置情報検出システム、ゲーム装置、プログラム、情報記憶媒体及び配置情報検出システムの制御方法は、
ユーザーの入力によるポインティングイベントが発生した場合に、前記複数の発光体を時間差をおいて１つずつ発光させる発光制御を開始するように制御する手段を含むことを特徴とする。
【００４１】
ユーザーの入力によるポインティングイベントとは、ポインティングタイミングを指定する入力であり、例えばポインティングデバイスがシューティングデバイスである場合にはそのトリガ入力が該当する。
【００４２】
本発明によれば、予め発光順序を把握可能なので、受光順序にしたがって時系列に受光点と発光体の対応付けを行うことができる。
【００４３】
（７）本発明の配置情報検出システム、ゲーム装置、プログラム、情報記憶媒体及び配置情報検出システムの制御方法は、
前記複数の発光体を所定期間の間、時間差をおいて所定の順番で発光させることを特徴とする。
【００４４】
例えばゲームに適用する場合には、ゲーム開始からゲーム終了までの間常時微少時間差を設け複数の発光体を１つずつ所定の順番で発光させるようにしてもよい。
【００４５】
このようにすると、シューティングイベントが有った場合に発光させる場合に比べ一定した所定面に対する影響が少ない。また常に一定の間隔で発光しているので、複数のプレーヤが同じ画面でゲームを行う時なども、他のプレーヤのシューティングイベントに影響を受けないゲーム環境を提供することができる。
【００４６】
（８）本発明の配置情報検出システム、ゲーム装置、プログラム、情報記憶媒体及び配置情報検出システムの制御方法は、
前記発光体として２つの発光体を所定面と同一平面上又は所定面と平行に配置された平面上に配置し、
前記配置情報演算部が、
２つの発光体の発光タイミング又は発光履歴又は発光順序又は発光時刻に関する発光情報に基づいて、２次元光位置検出部が連続して検出した２つの受光点に対応する発光体を特定し、
特定された２つの発光体の配置情報及び２次元光位置検出部の検出値に基づき、ポインティングデバイスの位置、回転情報、傾きの少なくとも１つを演算することを特徴とする。
【００４７】
（９）本発明の配置情報検出システム、ゲーム装置、プログラム、情報記憶媒体及び配置情報検出システムの制御方法は、
前記発光体として３つの発光体を所定面と同一平面上又は所定面と平行に配置された平面上に配置し、
前記配置情報演算部が、
３つの発光体の発光タイミング又は発光履歴又は発光順序又は発光時刻に関する発光情報に基づいて、２次元光位置検出部が連続して検出した３つの受光点に対応する発光体を特定し、
特定された３つ発光体の配置情報及び２次元光位置検出部の検出結果に基づき、ポインティングデバイスの位置、回転情報、傾きの少なくとも１つを演算することを特徴とする。
【００４８】
（１０）本発明の配置情報検出システム、ゲーム装置、プログラム、情報記憶媒体及び配置情報検出システムの制御方法は、
前記発光体として４つの発光体を所定面の外周の４角に配置し、
前記相対配置情報演算部が、
２次元光位置検出部の検出値に基づき、ポインティングデバイスの位置、回転情報又は傾きを演算することを特徴とする。
【００４９】
（１１）本発明は、上記のいずれかの配置情報検出システムと、
前記配置情報検出システムにより演算されたポインティングデバイス配置情報に基づいてゲーム処理を行うゲーム処理部と、
前記所定面は画像を表示する画面として構成され、前記ゲーム処理部の処理結果に基づいて、前記画面に表示する画像を生成する画像生成部とを含み、
前記ポインティングデバイスは銃を模したシューティングデバイスとして構成され、
前記ゲーム処理部は、
前記配置情報検出システムにより演算されたポインティングデバイスと画面の相対配置情報に基づいてシューティング演算又はヒットチェック演算を行うことを特徴とするゲーム装置に関する。
【００５０】
ここにおいてシューティング演算とは、ポインティングデバイスと画面の相対配置情報に基づいて銃を模したシューティングデバイス（ポインティングデバイス）から仮想的にシューティングされる弾等の弾道や着弾位置を演算すること等である。
【００５１】
またヒットチェック演算とは、ポインティングデバイスと画面の相対配置情報に基づいて銃を模したシューティングデバイス（ポインティングデバイス）から仮想的にシューティングされる弾等と画面内（ゲーム空間内）の標的とのヒットチェックを行うこと等である。
【００５２】
（１２）本発明は、ポインティングデバイスと画面の位置、向き、回転の少なくとも１つに関する相対配置情報を検出するプログラムであって、
ポインティングデバイスの位置、向き、回転に連動して位置、向き、回転を変化させて、ポインティングデバイスのポイント方向からの光を受光し、前記発光体の発光する所定の波長の光の受光面における受光位置を特定するための検出値を発光体毎に検出する２次元光位置検出部の検出値に基づき、ポインティングデバイスと画面の相対配置情報を演算する配置情報演算部と、
前記配置情報に基づいてゲーム処理を行うゲーム処理部と、
前記ゲーム処理部の処理結果に基づいて、画面に表示する画像を生成する画像生成部としてコンピュータを機能させ、
前記ゲーム処理部が、
前記配置情報検出システムにより演算されたポインティングデバイスと画面の相対配置情報に基づいてシューティング演算又はヒットチェック演算を行うことを特徴とする。
【００５３】
（１３）本発明は、コンピュータ読み取り可能な情報記憶媒体であって、上記のプログラムを記憶した情報記憶媒体に関する。
【００５４】
（１４）本発明は、ポインティングデバイスと所定面の位置、向き、回転の少なくとも１つに関する相対配置情報を検出する配置情報検出システムの制御方法であって、
所定面の外周付近に設置又は設置可能に構成され、所定の波長の光を発光する複数の発光体が２つ以上同時に発光しないように微少時間差をおいて発光させるステップと、
ポインティングデバイスの位置、向き、回転に連動して位置、向き、回転を変化させて、ポインティングデバイスのポイント方向からの光を受光し、前記発光体の発光する所定の波長の光の受光面における受光位置を特定するための検出値を発光体毎に検出するステップと、
前記検出値に基づき、ポインティングデバイスと所定面の相対配置情報を演算するステップと、
を含む事を特徴とする。
【発明を実施するための最良の形態】
【００５５】
以下、本実施形態について説明する。なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また本実施形態で説明される構成の全てが、本発明の必須構成要件であるとは限らない。
【００５６】
図１は本実施の形態の配置情報検出システムの一例について説明するためのブロック図である。
【００５７】
１はシューティングゲームのためのゲーム画像（背景画像や標的）が表示される長方形の画面（ＣＲＴ、ディスプレイ、液晶画面でもよい）である。
【００５８】
２Ａ，２Ｂ，２Ｃ，２Ｄは画面１を囲む矩形の頂点（即ち、画面１の４隅の外側で画面の中心から等距離の位置）に配置された赤外線等の発光体である。
【００５９】
３はプレイヤが手に持って操作するポインティングデバイス（例えばシューティングデバイス）の位置、向き、回転に連動して位置、向き、回転を変化させて、ポインティングデバイスのポイント方向からの光を受光し、前記発光体の発光する所定の波長の光の２次元的な受光位置を１つずつ検出する２次元光位置検出センサー（ＰＳＤ）である。２次元光位置検出センサー３は検出された前記発光体の発光する所定の波長の光の２次元的な受光位置に関する２次元位置情報（電流や電圧）を所定のサイクル毎に出力する。
【００６０】
６は２次元位置情報（電流や電圧）から画面１に対するポインティングデバイスの相対位置、傾き、回転角度等を算出する配置情報演算部である。
【００６１】
９は発光体２Ａ〜２Ｄの発光制御を行う発光制御部であり、発光体２Ａ〜２Ｄが同時に２つ以上発光しないように微少時間差で発光させる発光制御を行う。
【００６２】
なお発光制御部９は、プレイヤがシューティングデバイス（ポインティングデバイスの一例）の引き金を引くと４個の発光体２Ａ〜２Ｄを微少時間差で１つずつ発光させる発光制御を開始する制御を行うようにしてもよい。
【００６３】
２次元光位置検出部（ＰＳＤ）３は、微少時間差をおいて所定の順番で１つずつ発光する各発光体が発光した光を順番に受光して検出値である２次元位置情報（電流や電圧）を出力する。
【００６４】
そして配置情報演算部６は、２次元位置情報に基づき、画面１に対するポインティングデバイスの相対位置、回転角度、傾き等を算出する。
【００６５】
図２に本実施形態の配置情報検出システムを含むゲーム装置（画像生成装置）の例を示す。
【００６６】
図２に示すように画面の外周付近に所定の波長の光を発光する複数の発光体２Ａ〜２Ｄを設置する。複数の発光体２Ａ〜２Ｄは同時に２つ以上発光しないように微少時間差で１つずつ発光する。ゲーム中に常時微少時間差で１つずつ発光するように構成してもよいし、プレーヤがガン型コントローラＧＣ（広義にはポインティングデバイス、シューティングデバイス、他の説明でも同様）のトリガを引いたときに微少時間差で１つずつ発光するように構成してもよい。
【００６７】
ガン型コントローラＧＣ（広義にはポインティングデバイス、シューティングデバイス、他の説明でも同様）には、２次元光位置検出センサーＰＳＤが取り付けられており、ガン型コントローラＧＣの銃口の位置、向き、回転に連動して位置、向き、回転を変化させて、ガン型コントローラＧＣの銃口方向からの光を受光し、前記発光体２Ａ〜２Ｄの発光する所定の波長の光の２次元的な受光位置を特定するための検出値を発光体毎に検出する。
【００６８】
プレーヤＰは、ガン型コントローラＧＣ（広義にはポインティングデバイス、シューティングデバイス、他の説明でも同様）を画面１９２の方に向け、標的ＴＧを狙ってトリガを引くと、２次元光位置検出センサーＰＳＤが各発光体毎の検出値を検出する。そして検出値に基づき、ポインティングデバイスと画面の相対配置情報を演算し、当該相対配置情報に基づいてシューティング演算を行う。
【００６９】
即ち、ＴＧにヒットしたか否かをチェックし、ヒットした場合にはそのプレーヤのゲーム成績に得点を加算し、標的のヒット時のモーションを再生する処理などのゲーム処理が行われる。画面１９２には、このゲーム処理に応じたゲーム画像が表示されることになる。
【００７０】
図３に本実施の形態のゲーム装置及び配置情報検出システムの機能ブロック図の例を示す。なお、図３の構成要素の一部を省略する構成としてもよい。
【００７１】
ガン型コントローラＧＣは、発光体の光の２次元的な位置を検出する２次元光位置検出センサーＰＳＤ、プレーヤが発射タイミング（ポインティングタイミング、シューティングタイミング）を指示するトリガ１４、受光部１６を含む。なおこれらの一部を省略する構成としてもよい。
【００７２】
２次元位置光検出センサーＰＳＤは、所定の波長のスポット光の所定の２次元平面における位置座標を特定可能な情報を検出する。検出値は例えば電流値や電圧値で与えられ、ポインティングデバイスの位置、向き、回転に連動して位置、向き、回転を変化させて、ポインティングデバイスのポイント方向からの光を受光し、前記発光体の発光する所定の波長の光の２次元的な受光位置を特定するための検出値を発光体毎に検出する２次元光位置検出部として機能する。
【００７３】
受光部１６に、発光体から到達した光が２次元光位置検出センサーＰＳＤ上でスポット光となるような光学系を設けるようにしてもよい。
【００７４】
複数の発光体１５０は、画面（表示部１９０）の外周付近に設置又は設置可能に構成され、赤外線等の所定の波長の光を発光する発光素子や光源等で実現する。本実施の形態では少なくとも２つ以上の発光体を使用する。
【００７５】
たとえば２つの発光体を画面と同一平面上又は画面と平行に配置された平面上に配置するようにしてもよい。また３つの発光体を画面と同一平面上又は画面と平行に配置された平面上に配置するようにしてもよい。また４つの発光体を画面の外周の４角に配置するようにしてもよい。
【００７６】
発光制御部１４０は、前記複数の発光体が同時に２つ以上発光しないように微少時間差で発光させる発光制御を行う。
【００７７】
前記発光制御部１４０は、ユーザーの入力によるポインティングイベントが発生した場合に、前記複数の発光体を微少時間差で１つずつ発光させる発光制御を開始するように制御するようにしてもよい。
【００７８】
また前記発光制御部１４０は、前記複数の発光体を所定期間の間常時微少時間差をおいて所定の順番で発光させるようにしてもよい。
【００７９】
なお発光体制御部１４０の処理は、ハードウェア回路により実現してもよいし、プロセッサ（ＣＰＵ）上で動作するプログラムにより実現してもよい。
【００８０】
記憶部１７０は、処理部１００や通信部１９６などのワーク領域となるもので、その機能はＲＡＭなどにより実現できる。
【００８１】
記憶部１７０は、ポインティングデバイスが所定の配置状態にある時の２次元光位置検出部の検出値に対応する基準値を記憶する基準値情報記憶部１７２を含むようにしてもよい。
【００８２】
なお前記２次元光位置検出センサーの検出値に基づき基準値が設定されるようにしてもよい。
【００８３】
情報記憶媒体１８０（コンピュータにより読み取り可能な媒体）は、プログラムやデータを格納するものであり、その機能は、光ディスク（ＣＤ、ＤＶＤ）、ハードディスク、或いはメモリ（ＲＯＭ）などのハードウェアにより実現できる。処理部１００は、この情報記憶媒体１８０に格納されるプログラム（データ）に基づいて本実施形態の種々の処理を行う。即ち情報記憶媒体１８０には、本実施形態の各部としてコンピュータを機能させるためのプログラム（各部の処理をコンピュータに実行させるためのプログラム）が記憶される。
【００８４】
画面１９０は本実施形態により生成された画像を出力するものであり、その機能はＣＲＴ、投写型ディスプレイ、或いはＬＣＤなどにより実現できる。音出力部１９２は本実施形態により生成された音を出力するものであり、その機能はスピーカ、或いはヘッドフォンなどにより実現できる。
【００８５】
携帯型情報記憶装置１９４（メモリカードや携帯型ゲーム装置）は、プレーヤの個人データやゲームのセーブデータなどを記憶するものである。通信部１９６は、外部（ホスト装置、他の画像生成システム）との間で通信を行うための各種制御を行うものであり、その機能は、プロセッサ又は通信用ＡＳＩＣなどのハードウェアや、プログラムにより実現できる。
【００８６】
なお本実施形態の各部としてコンピュータを機能させるためのプログラム（データ）は、ホスト装置（サーバー）が有する情報記憶媒体からネットワーク及び通信部１９６を介して情報記憶媒体１８０（記憶部１７０）に配信してもよい。このようなホスト装置（サーバー）の情報記憶媒体の使用も本発明の範囲内に含めることができる。
【００８７】
処理部１００（プロセッサ）は、ガン型コントローラＧＣからの検出値や、発光制御部１４０からの発光体の発光制御情報や、プログラムなどに基づいて、ゲーム処理、画像生成処理、或いは音生成処理などを行う。
【００８８】
処理部１００は、ゲーム処理部１１０、配置情報演算部１１２、基準値設定部１１４、画像生成部１２０、音生成部１３０を含む。なおこれらの一部を省略してもよい。また処理部１００の機能は、各種プロセッサ（ＣＰＵ、ＤＳＰ）やＡＳＩＣ（ゲートアレイ）などのハードウェアや、プログラムにより実現できる。またポイント方向の検出処理や判定処理を処理部１００において行うようにしてもよい。この場合には処理部１００が位置検出部４２、判定部４４を含むことになる。
【００８９】
ゲーム処理部１１０は、ゲーム開始条件が満たされた場合にゲームを開始する処理、ゲームを進行させる処理、キャラクタやマップなどのオブジェクトを配置する処理、オブジェクトを表示する処理、ゲーム結果を演算する処理、或いはゲーム終了条件が満たされた場合にゲームを終了する処理などのゲーム処理を行う。
【００９０】
より具体的にはゲーム処理部１１０は、配置情報演算部１１２によって演算されたシューティングデバイスの配置情報（シューティングデバイスの位置、傾き、回転等）に基づいて、弾道を計算し標的とのヒットチェックを行う。そして弾が標的にヒットしたと判定すると、そのプレーヤのゲーム成績に得点を加算する。また弾がヒットした標的のヒット時モーションを再生する処理などを行う。
【００９１】
配置情報演算部１１２は、２次元光位置検出センサーＰＳＤの検出値に基づき、ポインティングデバイスと画面の相対配置情報を求める。
【００９２】
配置情報演算部１１２は、前記２次元光位置検出センサーＰＳＤの検出値と前記基準値に基づき、ポインティングデバイスと画面の相対配置情報を演算するようにしてもよい。
【００９３】
また配置情報演算部１１２は、各発光体の発光タイミング又は発光履歴又は発光順序又は発光時刻に関する発光情報に基づき、各発光体毎に検出された２次元的な受光位置に対応する発光体を特定するようにしてもよい。
【００９４】
画像生成部１２０は、処理部１００で行われる種々の処理（ゲーム処理）の結果に基づいて描画処理を行い、これにより画像を生成し、画面１９０に出力する。例えば、いわゆる３次元画像を生成する場合には、まず、座標変換、クリッピング処理、或いは透視変換等のジオメトリ処理が行われ、その処理結果に基づいて、プリミティブ面データが作成される。そして、このプリミティブ面データ（描画データ）に基づいて、ジオメトリ処理後のオブジェクト（１又は複数のプリミティブ面）の画像が、描画バッファ（フレームバッファ）に描画される。これにより、オブジェクト空間内において仮想カメラ（所与の視点）から見える画像が生成されるようになる。
【００９５】
音生成部１３０は、処理部１００で行われる種々の処理の結果に基づいて音処理を行い、ＢＧＭ、効果音、又は音声などのゲーム音を生成し、音出力部１９２に出力する。
【００９６】
なお図２、図３では、１人のプレーヤがプレイする場合を例にとり説明したが２人以上のプレーヤがプレイする場合にも本発明は当然に適用できる。
【００９７】
また図２、図３では、ポインティングデバイスがガン型のコントローラである場合を例にとり説明したが、これとは異なる形状や態様のコントローラ（例えばライフル型や剣型のコントローラ）であっても、本発明は適用可能である。
【００９８】
図４（Ａ）（Ｂ）は、本実施の形態の発光体の発光制御について説明するための図である。
【００９９】
図４（Ａ）には長方形の画面の外周の４角付近に配置された４つの発光体２Ａ〜２Ｄが時刻ｔ１→ｔ２→ｔ３→ｔ４と微少時間差をおいて、２Ａ→２Ｂ→２Ｄ→２Ｃの順序で１つずつ発光している様子が示されている。
【０１００】
例えば発光体をすくなくとも所定期間の間常時、微少時間差を設け複数の発光体を１つずつ所定の順番で発光させるようにしてもよいし（ケース１）、ユーザーの入力によるシューティングイベントが発生した場合に、前記複数の発光体を微少時間差で１つずつ発光させるようにしてもよい（ケース２）。
【０１０１】
また図４（Ｂ）は、時刻ｔ１→ｔ２→ｔ３→ｔ４において２次元光位置検出部によって検出された所定の２次元平面における受光点の変遷２ａ→２ｂ→２ｄ→２ｃを示している。
【０１０２】
本実施の形態では、図４（Ａ）に示すように複数の発光体を微少時間差で１つずつ発光させる。システムでは各発光体の発光のタイミングや発光履歴や発光順序や発光時刻に関する発光情報を把握可能であるため、図４（Ｂ）の各受光点２ａ、２ｂ、２ｄ、２ｃに対応する発光体を特定する事ができる。
【０１０３】
例えばケース１の場合、時刻ｔ１において発光させた発光体の情報を取得し、予め保持している複数の発光体の発光順序に関する情報に基づき２ａ、２ｂ、２ｄ、２ｃが２Ａ→２Ｂ→２Ｄ→２Ｃに対応した受光点であると特定してもよい。
【０１０４】
またケース２の場合、発光させる順序は予めシステムで把握しているので、２各受光点２ａ、２ｂ、２ｄ、２ｃを時系列に発光順序にそって発光体と対応づければよい。
【０１０５】
一般に複数の発光体が常に発光している場合には、検出された受光点の描く形状から受光点と発光体の対応付けを行うことになるが、この場合演算のアルゴリズムが複雑になり演算負荷も増大する。しかも長方形に配置された４つの発光体２Ａ〜２Ｄが常に発光している状態であれば、例えば１８０度回転した場合等発光体の位置と検出位置の対応ができない場合がある。
【０１０６】
しかし本実施の形態では複数の発光体を同時に２つ以上発光しないように微少時間差を設けて発光させることにより、所定の２次元平面における受光点と発光体との対応付けを容易に行うことができる。
【０１０７】
また複数の発光体が常に発光している状態では、発光体の数が４個以上でないとシューティングデバイスの傾きや回転を検出することが困難である。ポインティングデバイスを傾けた場合には、発光体の検出位置によって特定される多角形の形状が変形してしまうので、対応付けが困難であるからである。
【０１０８】
また所定の角度でポインティングデバイスを回転させた場合に発光体の検出位置によって特定される多角形の形状が同じになってしまう場合にも対応付けが困難であるからである。
【０１０９】
図５（Ａ）（Ｂ）、図６（Ａ）〜（Ｅ）は、本実施の形態において発光体を２個で構成する場合について説明するための図である。
【０１１０】
２つの発光体２Ａ、２Ｂを用いてポインティングデバイスの画面１に対する配置を検出する場合には、２つの発光体２Ａ、２Ｂを長方形の画面の外周の対角線２５０上に位置する２角付近に配置し、微少時間差で１つずつ発光させ、その位置を検出する。
【０１１１】
図５（Ａ）には長方形の画面の外周の２角付近に配置された２つの発光体２Ａ、２Ｂが時刻ｔ１→ｔ２と微少時間差をおいて、２Ａ→２Ｂの順序で１つずつ発光している様子が示されている。
【０１１２】
例えば発光体をすくなくとも所定期間の間常時、微少時間差を設け複数の発光体を１つずつ所定の順番で発光させるようにしてもよいし（ケース１）、ユーザーの入力によるシューティングイベントが発生した場合に、前記複数の発光体を微少時間差で１つずつ発光させるようにしてもよい（ケース２）。
【０１１３】
また図５（Ｂ）は、時刻ｔ１→ｔ２において２次元光位置検出部によって検出された所定の２次元平面おける受光点の変遷２ａ→２ｂを示している。
【０１１４】
本実施の形態では、図５（Ａ）に示すように複数の発光体を微少時間差で１つずつ発光させる。システムでは各発光体の発光のタイミングや発光履歴や発光順序や発光時刻に関する発光情報を把握可能であるため、図５（Ｂ）の各受光点２ａ、２ｂに対応する発光体を特定する事ができる。
【０１１５】
例えばケース１の場合、時刻ｔ１において発光させた発光体の情報を取得し、予め保持している複数の発光体の発光順序に関する情報に基づき２ａ、２ｂが２Ａ→２Ｂに対応した受光点であると特定してもよい。
【０１１６】
またケース２の場合、発光させる順序は予めシステムで把握しているので、各受光点２ａ、２ｂを時系列に発光順序にそって発光体と対応づければよい。
【０１１７】
一般に２個の発光体が常に発光している場合には、検出された受光点の描く多角形の形状から受光点と発光体の対応付けを行うことになるが、例えば図６（Ａ）のように２つの受光点２６０、２７０が検出された場合には、図６（Ｂ）のように銃口２８０が正常位置にあるケースと、図６（Ｃ）のように銃口２８０が正常位置に対して１８０度回転しているケースが考えられる。
【０１１８】
図６（Ｂ）のケースでは受光点と発光体の対応づけは図６（Ｄ）のようになり）、図６（Ｃ）のケースでは受光点と発光体の対応づけは図６（Ｅ）のようになる。
【０１１９】
この場合、受光点の情報のみでは発光体を特定することができないため、図６（Ｂ）のケースなのか図６（Ｃ）のケースなのか特定できない。
【０１２０】
しかし本実施の形態では複数の発光体を同時に２つ以上発光しないように微少時間差を設けて発光させることにより、発光体が２つの場合でも所定の２次元平面における受光点と発光体との対応付けを容易に行うことができる。従って本実施の形態によれば、発光体が２個の場合にもポインティングデバイスの回転の検出が可能である。
【０１２１】
次に複数の発光体の所定の２次元平面における受光点から画面に対するシューティングデバイスの配置関係を求める手法を図７〜図１４を用いて説明する。
【０１２２】
図７（Ａ）〜（Ｃ）は画面に対するガンの左右方向への平行移動に伴う発光体検出位置の変化を示す説明図である。
【０１２３】
図７（Ａ）は画面と発光体の位置関係を表した図であり、図７（Ｂ）はガン型コントローラの銃口ＧＣ−１〜ＧＣ−７と画面１をＹ軸方向から見た（ＸＺ平面における）位置関係（平面図）を表した図である。
【０１２４】
図７（Ｃ）はガン型コントローラの左右方向の銃口位置の変遷に対応した所定の２次元平面２０における発光体の検出位置の変遷である。
【０１２５】
図７（Ｂ）のように画面１に対してガンの銃口ＧＣ−１〜ＧＣ−７が左右水平方向に移動すると、発光体に対するガンの銃口の位置関係も変化する。
【０１２６】
このため所定の２次元平面（２次元光位置検出装置の位置に対応した仮想的な２次元平面）２０における発光体の検出位置２ａ〜２ｄも図７（Ｃ）の２０−１〜２０−７のように変化する。例えばガンの銃口を次第に右方向へ平行移動させると（図７（Ｂ）の３０参照）、発光体の検出位置２ａ〜２ｄは所定の２次元平面内で次第に左側へ移動する（図７（Ｃ）の３６参照）。逆に、ガンを左方向へ平行移動させると（図７（Ｂ）の３２参照）、発光体の検出位置２ａ〜２ｄは所定の２次元平面内で次第に右側へ移動する（図７（Ｃ）の３８参照）。
【０１２７】
図８（Ａ）〜（Ｃ）は画面に対するガンの上下方向への平行移動に伴う発光体検出位置の変化を示す説明図である。
【０１２８】
図８（Ａ）は画面と発光体の位置関係を表した図であり、図８（Ｂ）はガン型コントローラの銃口ＧＣ−１〜ＧＣ−７と画面１をＸ軸方向から見た（ＹＺ平面における）位置関係（側面図）を表した図である。
【０１２９】
図８（Ｃ）はガン型コントローラの上下方向の銃口位置の変遷に対応した所定の２次元平面２０における発光体の検出位置の変遷である。
【０１３０】
図８（Ｂ）のように画面１に対してガンの銃口ＧＣ−１〜ＧＣ−７が左右水平方向に移動すると、発光体に対するガンの銃口の位置関係も変化する。
【０１３１】
このため所定の２次元平面（２次元光位置検出装置の位置に対応した仮想的な２次元平面）２０における発光体の検出位置２ａ〜２ｄも図８（Ｃ）のように変化する。例えばガンの銃口を次第に下向へ平行移動させると（図８（Ｂ）の４０参照）、発光体の検出位置２ａ〜２ｄは所定の２次元平面内で次第に上側へ移動する（図８（Ｂ）の４６参照）。逆に、ガンを上方向へ平行移動（図８（Ｂ）の４２参照）させると、発光体の検出位置２ａ〜２ｄは所定の２次元平面内で次第に下側へ移動する（図８（Ｃ）の４８参照）。
【０１３２】
図７（Ａ）〜（Ｃ）及び図８（Ａ）〜（Ｃ）に示すように画面に対して平行に配置された平面内でガンの銃口を上下左右に動かした場合、所定の２次元平面２０における発光体の検出位置２ａ〜２ｄとガン型コントローラの銃口位置（ＸＹ軸に関する位置）は所定の関数関係を有するので、所定の２次元平面２０における発光体の検出位置２ａ〜２ｄに基づきガンの銃口の位置（ＸＹ軸に関する位置）を特定することができる。
【０１３３】
従ってガンの銃口（ポインティングデバイス）が所定の配置状態にある時の２次元光位置検出部の検出値に対応する基準値を基準値情報として予め記憶させておき、前記２次元光位置検出部の検出値と前記基準値に基づき、ガンの銃口（ポインティングデバイス）と画面の相対配置情報を演算するようにしてもよい。
【０１３４】
ここにおいて基準値は所定の配置状態にある時の２次元光位置検出部から出力される電圧値や電流値でもよいし、電圧値や電流値から求められる２次元平面内における受光点（発光体の検出位置）の座標値でもよい。
【０１３５】
例えば電圧値や電流値から求められる２次元平面内における受光点（発光体の検出位置）の座標値の変位量から受光点２ａないし２ｄの上下左右への変位量を読み取ることにより、ガンの上下左右への移動量を検出することができる。
【０１３６】
なお基準位置は、ここにおいて基準位置における例えば所定の２次元平面内における発光体の検出位置２ａ〜２ｄに対する上下左右への変移量を演算して、演算結果に基づき、ガンの上下左右への移動量を検出するようにしてもよい。
【０１３７】
なお基準位置は画面中央に対して正面に当たる所定位置としてもよい。
【０１３８】
また基準位置における所定の２次元平面内における発光体の検出位置２ａ〜２ｄは例えばデフォルト値で設定してもよいし、プレーに先立ち各プレーヤに初期設定を行うため入力として例えば画面中央に対して正面に当たる所定位置から画面中央をシューティングした時の発光体の検出位置２ａ〜２ｄを設定してもよい。このようにすると各装置毎の微妙な誤差を吸収することができる。
【０１３９】
図９（Ａ）〜（Ｃ）は画面に対するの奥行き方向へ移動に伴う発光体検出位置の変化を示す説明図である。
【０１４０】
図９（Ａ）は画面と発光体の位置関係を表した図であり、図９（Ｂ）はガン型コントローラの銃口ＧＣ−１〜ＧＣ−３と画面１をＸ軸方向から見た（ＹＺ平面における）位置関係（側面図）を表した図である。
【０１４１】
図９（Ｃ）はガン型コントローラの奥行き方向の銃口位置の変遷に対応した所定の２次元平面２０における発光体の検出位置の変遷である。
【０１４２】
図９（Ｂ）のように画面１に対してガンの銃口ＧＣ−１〜ＧＣ−３が奥行き方向に移動する（画面に対して垂直方向に移動する）と、発光体に対するガンの銃口の位置関係も変化する。
【０１４３】
このため所定の２次元平面（２次元光位置検出装置の位置に対応した仮想的な２次元平面）２０における発光体の検出位置２ａ〜２ｄも図９（Ｃ）のように変化する。例えばガンの銃口を次第に画面１から遠ざかる方向へ移動させると（図９（Ｂ）の６０参照）、発光体の検出位置２ａ〜２ｄの４点を頂点とする長方形は所定の２次元平面内で次第により小さな相似形の長方形となる（図９（Ｃ）の６６参照）。逆に、ガンの銃口を画面に近づける方向に移動させると（図９（Ｂ）の４２参照）、発光体の検出位置２ａ〜２ｄの４点を頂点とする長方形は所定の２次元平面内で次第により大きな相似形の長方形となる（図９（Ｃ）の６８参照）。
【０１４４】
図９（Ａ）〜（Ｃ）に示すように画面に対して奥行き方向に動かした場合、所定の２次元平面２０における発光体の検出位置２ａ〜２ｄの４点を頂点とする長方形の大きさの比率は、ガン型コントローラの銃口位置（Ｚ軸に関する位置）は所定の関数関係を有するので発光体の検出位置２ａ〜２ｄに基づきガンの銃口（Ｚ軸に関する位置）の位置を特定することができる。
【０１４５】
図１０（Ａ）〜（Ｃ）は画面に対する左右方向へ向きの変化に伴う発光体検出位置の変化を示す説明図である。
【０１４６】
図１０（Ａ）は画面と発光体の位置関係を表した図であり、図１０（Ｂ）はガン型コントローラの銃口ＧＣ−１〜ＧＣ−７と画面１をＹ軸方向から見た（ＸＺ平面における）位置関係（平面図）を表した図である。
【０１４７】
図１０（Ｃ）はガン型コントローラの銃口の左右方向へ向きの変化に対応した所定の２次元平面２０における発光体の検出位置の変遷である。
【０１４８】
図１０（Ｂ）のように画面１に対してガンの銃口ＧＣ−１〜ＧＣ−７の向きが左右方向に変化すると、発光体に対するガンの銃口の配置関係も変化する。
【０１４９】
このため所定の２次元平面（２次元光位置検出装置の位置に対応した仮想的な２次元平面）２０における発光体の検出位置２ａ〜２ｄも図１０（Ｃ）のように変化する。例えば、ガンを画面１の真正面に置いた状態でガンの先端が次第に右方向へ向くよう傾けると（図１０（Ｂ）の７０参照）、発光体の検出位置２ａ〜２ｄは所定の２次元平面内で次第に左側へ移動すると同時に、右側の検出位置２ｂと２ｄの間隔が次第に狭くなる（図１０（Ｃ）の７６参照）。また、ガンの先端が次第に左方向へ向くよう傾けると（図１０（Ｂ）の７２参照）、発光体の映像２ａ〜２ｄは所定の２次元平面内で次第に右側へ移動すると同時に、左側の映像２ａと２ｃの間隔が次第に狭くなる（図１０（Ｃ）の７８参照）。
【０１５０】
図１１（Ａ）〜（Ｃ）は画面に対する上下方向へ向きの変化に伴う発光体検出位置の変化を示す説明図である。
【０１５１】
図１１（Ａ）は画面と発光体の位置関係を表した図であり、図１１（Ｂ）はガン型コントローラの銃口ＧＣ−１〜ＧＣ−７と画面１をＸ軸方向から見た（ＹＺ平面における）位置関係（平面図）を表した図である。
【０１５２】
図１１（Ｃ）はガン型コントローラの銃口の上下方向へ向きの変化に対応した所定の２次元平面２０における発光体の検出位置の変遷である。
【０１５３】
図１１（Ｂ）のように画面１に対してガンの銃口ＧＣ−１〜ＧＣ−７の向きが上下方向に変化すると、発光体に対するガンの銃口の配置関係も変化する。
【０１５４】
このため所定の２次元平面（２次元光位置検出装置の位置に対応した仮想的な２次元平面）２０における発光体の検出位置２ａ〜２ｄも図１１（Ｃ）のように変化する。例えば、ガンを画面１の真正面に置いた状態でガンの先端が次第に上方向へ向くよう傾けると（図１１（Ｂ）の８０参照）、発光体の検出位置２ａ〜２ｄは所定の２次元平面内で次第に下側へ移動すると同時に、上側の検出位置２ａと２ｂの間隔が次第に狭くなる（図１１（Ｂ）の８６参照）。ガンを下向きに傾けると（図１１（Ｂ）の８２参照）、発光体の検出位置２ａないし２ｄは所定の２次元平面内で次第に上側へ移動すると同時に、下側の映像２ｃと２ｄの間隔が次第に狭くなる（図１１（Ｃ）の８８参照）。
【０１５５】
図１０（Ａ）〜（Ｃ）及び図１１（Ａ）〜（Ｃ）に示すように画面に対して上下左右方向に動かした場合、所定の２次元平面２０における発光体の検出位置２ａ〜２ｄの４点を頂点とする四角形の形状及び位置は、ガン型コントローラの銃口の傾きと所定の関数関係を有するので発光体の検出位置２ａ〜２ｄに基づきガンの銃口（Ｚ軸に関する位置）の傾きを特定することができる。
【０１５６】
図１２（Ａ）〜（Ｃ）は画面に対する銃口の回転の変化に伴う発光体検出位置の変化を示す説明図である。
【０１５７】
図１２（Ａ）は画面と発光体２Ａ〜２Ｄとガン型コントローラＧＣの銃口をＺ軸方向から見た（ＹＺ平面における）配置関係（平面図）を表した図である。
【０１５８】
図１２（Ｂ）はガン型コントローラＧＣ−１〜ＧＣ−５の基準位置Ｋに対する回転角度θ１〜θ５を表した図であり、図１２（Ｃ）はガン型コントローラの銃口の回転角度θ１〜θ５の変化に対応した所定の２次元平面２０における発光体の検出位置の変遷である。ガンの銃口を画面１の真正面に画面に対して直角に向けたままの状態でガンをその軸中心に次第に時計回り方向に回転させると（図１２（Ａ）の９０、図１２（Ｂ）の９４参照）、発光体の検出位置２ａ〜２ｄは所定の２次元平面内で外枠に対して反時計回り方向に回転する（図１２（Ｃ）の９７参照）。逆に、ガンをその軸中心に次第に反時計回り方向に回転させると（図１２（Ａ）の９２、図１２（Ｂ）の９６参照）、発光体の検出位置２ａ〜２ｄは所定の２次元平面内で外枠に対して時計回り方向に回転する（図１２（Ｃ）の９８参照）。
【０１５９】
図１２（Ａ）〜（Ｃ）に示すように画面に対してガンの銃口を回転させた場合、所定の２次元平面２０における発光体の検出位置２ａ〜２ｄの４点を頂点とする四角形は、２次元平面２０内で外枠に対して同角度で逆回転するため、発光体の検出位置２ａ〜２ｄに基づきガンの銃口（Ｚ軸に関する位置）の回転を特定することができる。
【０１６０】
このように、画面１に対するガン（２次元光位置検出装置）の相対位置、傾き、回転に対応して、所定の２次元平面２０内における発光体の検出位置２ａ〜２ｄの位置が変化するので、検出位置に基づき所定の演算を行なうことにより、画面１に対するガンの相対位置、傾き、回転量等を検出することができる。
【０１６１】
図１３は本実施の形態の処理の流れについて説明するためのフローチャート図である。
【０１６２】
ガン型コントローラからトリガ入力があった場合、以下の処理を行う（ステップＳ１０）。
【０１６３】
まず発光する発光体（例えば赤外線光源）を特定する（ステップＳ１０）。次に２次元光位置検出センサーが所定の波長の光（例えば赤外線）を感知する（ステップＳ３０）。
【０１６４】
次に２次元光位置検出センサーが返す検出値（電流値又は電圧値等）を測定する（ステップＳ４０）。
【０１６５】
次に検出値（電流値又は電圧値等）に基づき所定の２次元平面（２次元光位置検出センサにおける仮想座標）上での位置を決定する（ステップＳ５０）。
【０１６６】
すべての発光体について処理が終了するまで上記ステップＳ２０〜Ｓ５０の処理を繰り返す（ステップＳ６０）。すなわち発光体の数だけ上記ステップＳ２０〜Ｓ５０の処理を繰り返し、各発光体の所定の２次元平面（２次元光位置検出センサにおける仮想座標）上での位置を決定する。
【０１６７】
そして得られたすべての発光体の位置データに基づき、画面に対するガン型コントローラの配置情報を演算する（ステップＳ７０）。
【０１６８】
そしてガン型コントローラの画面に対する配置情報に基づきゲーム空間の標的とのヒットチェック演算を行う（ステップＳ８０）。
【０１６９】
なお本発明は、上記実施形態で説明したものに限らず、種々の変形実施が可能である。
【０１７０】
例えば、明細書又は図面中の記載において広義や同義な用語として引用された用語は、明細書又は図面中の他の記載においても広義や同義な用語に置き換えることができる。
【０１７１】
また、本発明のうち従属請求項に係る発明においては、従属先の請求項の構成要件の一部を省略する構成とすることもできる。また、本発明の１の独立請求項に係る発明の要部を、他の独立請求項に従属させることもできる。
【０１７２】
また、本発明は種々のゲーム（シューティングゲーム、ロボット対戦ゲーム、スポーツゲーム、ロールプレイングゲーム等）に適用できる。
【０１７３】
また本発明は、業務用ゲーム装置、家庭用ゲーム装置、多数のプレーヤが参加する大型アトラクションゲーム装置、シミュレータ、パーソナルコンピュータ等の種々のゲーム装置に適用できる。
【０１７４】
また本実施の形態ではゲーム画像を表示する画面を使用したゲーム装置を例にとり配置情報検出システムの説明をしたがこれに限られない。本発明は画面によらず適用可能である。例えば画面以外のスクリーン、平板、壁の一部等の所定面についてポインティングデバイスのポイント方向を検出する配置情報検出システムも本発明の範囲内である。
【図面の簡単な説明】
【０１７５】
【図１】本実施の形態の配置情報検出システムの一例について説明するためのブロック図である。
【図２】本実施形態の配置情報検出システムを含むゲーム装置（画像生成装置）の例である。
【図３】本実施形態のゲーム装置及び配置情報検出システムの機能ブロック図の例を示す。
【図４】図４（Ａ）（Ｂ）は、本実施の形態の発光体の発光制御について説明するための図である。
【図５】図５（Ａ）（Ｂ）本実施の形態において発光体を２個で構成する場合について説明するための図である。
【図６】図６（Ａ）〜（Ｅ）は、本実施の形態において発光体を２個で構成する場合について説明するための図である。
【図７】図７（Ａ）〜（Ｃ）は画面に対するガンの左右方向への平行移動に伴う発光体検出位置の変化を示す説明図である。
【図８】図８（Ａ）〜（Ｃ）は画面に対するガンの上下方向への平行移動に伴う発光体検出位置の変化を示す説明図である。
【図９】図９（Ａ）〜（Ｃ）は画面に対するの奥行き方向へ移動に伴う発光体検出位置の変化を示す説明図である。
【図１０】図１０（Ａ）〜（Ｃ）は画面に対する左右方向へ向きの変化に伴う発光体検出位置の変化を示す説明図である。
【図１１】図１１（Ａ）〜（Ｃ）は画面に対する上下方向へ向きの変化に伴う発光体検出位置の変化を示す説明図である。
【図１２】図１２（Ａ）〜（Ｃ）は画面に対する銃口の回転の変化に伴う発光体検出位置の変化を示す説明図である。
【図１３】本実施の形態の処理の流れについて説明するためのフローチャート図である。
【符号の説明】
【０１７６】
Ｐ  プレーヤ、ＧＣ  ガン型コントローラ、ＰＳＤ  ２次元光位置検出センサー、１４、１６  受光部、トリガ、１００  処理部、１１０  ゲーム処理部、１１２  配置情報演算部、１１４  基準値設定部、１２０  画像生成部、１３０  音生成部、１４０  発光制御部、１５０  複数の発光体、１７０  記憶部、１７２  基準値情報記憶部、１８０  情報記憶媒体、１９０  表示部、１９２  画面、１９２  音出力部、１９４  携帯型情報記憶装置、１９６  通信部
【図１】
2005293089.tif 000003
【図２】
2005293089.tif 000004
【図３】
2005293089.tif 000005
【図４】
2005293089.tif 000006
【図５】
2005293089.tif 000007
【図６】
2005293089.tif 000008
【図７】
2005293089.tif 000009
【図８】
2005293089.tif 000010
【図９】
2005293089.tif 000011
【図１０】
2005293089.tif 000012
【図１１】
2005293089.tif 000013
【図１２】
2005293089.tif 000014
【図１３】
2005293089.tif 000015