(57)【要約】【課題】  赤外光発光部を指示対象物の近傍に配置しなくとも指示体の指示位置を演算することができる指示位置演算システム、ゲームシステム及び指示体を提供すること。【解決手段】  指示体１６に取り付けられた出力部２０が出力した出力波ＤＬの反射波ＲＬを検出部２２が検出し、検出した反射波ＲＬに基づいて指示対象物ＰＯと指示体１６との相対的な位置関係を特定する。そして特定した位置関係に基づいて指示対象物ＰＯにおける指示体１６の指示位置を演算する。【選択図】      図４
2008234418.tif 000002
【特許請求の範囲】
【請求項１】
指示体の指示位置を演算する指示位置演算システムであって、
前記指示体に取り付けられ前記指示体の指示方向に所定の出力波を出力する出力部と、
前記指示体に取り付けられ前記出力波の反射波を検出する検出部と、
前記反射波に基づいて、指示対象物と前記指示体との相対的な位置関係を規定する位置関係情報を取得する位置関係情報取得部と、
前記位置関係情報と前記指示体の指示方向を規定する基準方向情報とに基づいて、前記指示対象物における前記指示体の指示位置を演算する指示位置演算部と、
を含むことを特徴とする指示位置演算システム。
【請求項２】
請求項１において、
画像表示領域に所与の画像を表示する表示部と、
前記表示部に表示させる画像を生成する描画処理部と、
を更に含み、
前記位置関係情報取得部が、
前記反射波に基づいて、前記表示部と前記指示体との相対的な位置関係を規定する位置関係情報を取得し、
前記指示位置演算部が、
前記位置関係情報と前記指示体の基準方向情報とに基づいて、前記表示部における前記指示体の指示位置を演算することを特徴とする指示位置演算システム。
【請求項３】
請求項２において、
前記指示体の指示位置を前記表示部の画像表示領域における位置に変換する指示位置変換部を更に含むことを特徴とする指示位置演算システム。
【請求項４】
請求項２、３のいずれかにおいて、
前記表示部における前記画像表示領域の位置を規定する画像表示領域情報を取得する画像表示領域情報取得部を更に含むことを特徴とする指示位置演算システム。
【請求項５】
請求項４において、
前記指示体の向きを前記表示部の画像表示領域の所定位置に向けた上で操作部を操作するように操作者を促す表示を前記表示部に表示させる表示制御部と、
前記操作部からの操作信号を受付ける入力処理部と、
を更に含み、
前記画像表示領域情報取得部が、
前記操作信号を受付けた時点での前記指示体の指示位置に基づいて、前記画像表示領域情報を取得し、
前記指示位置演算部が、
前記画像表示領域情報と前記指示体の基準方向情報とに基づいて、前記画像表示領域における前記指示体の指示位置を演算することを特徴とする指示位置演算システム。
【請求項６】
請求項１〜５のいずれかにおいて、
前記指示体が、
銃の形状を模して形成されており、
前記出力部が、
前記銃の銃口を向けた方向に所定の出力波を出力することを特徴とする指示位置演算システム。
【請求項７】
指示体の指示位置に基づいてゲーム演算を行うゲームシステムであって、
所与の画像を表示する表示部と、
前記指示体に取り付けられ前記指示体の指示方向に所定の出力波を出力する出力部と、
前記指示体に取り付けられ前記出力波の反射波を検出する検出部と、
前記反射波に基づいて、前記表示部と前記指示体との相対的な位置関係を規定する位置関係情報を取得する位置関係情報取得部と、
前記位置関係情報と前記指示体の指示方向を規定する基準方向情報とに基づいて、前記表示部における前記指示体の指示位置を演算する指示位置演算部と、
前記表示部に表示させる画像を生成する描画処理部と、
前記画像における位置と前記指示体の指示位置との一致を判定する判定部と、
前記判定部の判定結果に基づいてゲーム演算を行うゲーム演算部と、
を含むことを特徴とするゲームシステム。
【請求項８】
指示体の指示方向に所定の出力波を出力する出力部と、
前記出力波の反射波を検出する検出部と、
前記反射波に基づいて、指示対象物と前記指示体との相対的な位置関係を規定する位置関係情報を取得する位置関係情報取得部と、
前記位置関係情報と前記指示体の指示方向を規定する基準方向情報とに基づいて、前記指示対象物における前記指示体の指示位置を演算する指示位置演算部と、
を含むことを特徴とする指示体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、指示位置演算システム、ゲームシステム及び指示体に関する。
【背景技術】
【０００２】
従来から、銃型コントローラを用いたシューティングゲームシステムや、ポインティングデバイスを用いたプレゼンテーションシステムなどのように、モニタやスクリーンなどの指示対象物における指示体の指示位置を演算する指示位置演算システムが知られている。このような指示位置演算システムでは、指示対象物の近傍に赤外光発光部などを配置し、これを指示体の先端に設けたイメージセンサ（受光センサ）で撮像し、撮像した画像における赤外光発光部の位置に基づいて指示対象物と指示体との相対的な位置関係を求めることにより、指示対象物における指示体の指示位置を演算している。
【特許文献１】特許第２９６１０９７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかし従来の指示位置演算システムでは、例えば指示対象物として汎用のモニタやスクリーンなどを用いる場合には、赤外光発光部を別途用意してこれを指示対象物の近傍に配置しなければならないという問題があった。
【０００４】
本発明は以上のような課題に鑑みてなされたものであり、その目的とするところは、赤外光発光部を指示対象物の近傍に配置しなくとも指示体の指示位置を演算することができる指示位置演算システム、ゲームシステム及び指示体を提供することにある。
【課題を解決するための手段】
【０００５】
（１）本発明は、
指示体の指示位置を演算する指示位置演算システムであって、
前記指示体に取り付けられ前記指示体の指示方向に所定の出力波を出力する出力部と、
前記指示体に取り付けられ前記出力波の反射波を検出する検出部と、
前記反射波に基づいて、指示対象物と前記指示体との相対的な位置関係を規定する位置関係情報を取得する位置関係情報取得部と、
前記位置関係情報と前記指示体の指示方向を規定する基準方向情報とに基づいて、前記指示対象物における前記指示体の指示位置を演算する指示位置演算部と、
を含むことを特徴とする指示位置演算システムことを特徴とする指示位置演算システムに関係する。
【０００６】
また本発明は、
指示体の指示位置に基づいてゲーム演算を行うゲームシステムであって、
所与の画像を表示する表示部と、
前記指示体に取り付けられ前記指示体の指示方向に所定の出力波を出力する出力部と、
前記指示体に取り付けられ前記出力波の反射波を検出する検出部と、
前記反射波に基づいて、前記表示部と前記指示体との相対的な位置関係を規定する位置関係情報を取得する位置関係情報取得部と、
前記位置関係情報と前記指示体の指示方向を規定する基準方向情報とに基づいて、前記表示部における前記指示体の指示位置を演算する指示位置演算部と、
前記表示部に表示させる画像を生成する描画処理部と、
前記画像における位置と前記指示体の指示位置との一致を判定する判定部と、
前記判定部の判定結果に基づいてゲーム演算を行うゲーム演算部と、
を含むことを特徴とするゲームシステムに関係する。
【０００７】
また本発明は、
指示体の指示方向に所定の出力波を出力する出力部と、
前記出力波の反射波を検出する検出部と、
前記反射波に基づいて、指示対象物と前記指示体との相対的な位置関係を規定する位置関係情報を取得する位置関係情報取得部と、
前記位置関係情報と前記指示体の指示方向を規定する基準方向情報とに基づいて、前記指示対象物における前記指示体の指示位置を演算する指示位置演算部と、
を含むことを特徴とする指示体に関係する。
【０００８】
本発明では、指示体に取り付けられた出力部が出力した出力波の反射波を検出部が検出し、検出した反射波に基づいて指示対象物と指示体との相対的な位置関係を特定する。そして特定した位置関係に基づいて指示対象物における指示体の指示位置を演算する。従って本発明によれば、指示対象物と指示体との相対的な位置関係を特定するための赤外光発光部などの光源を別途用意してこれを指示対象物の近傍に配置する必要がない。このように本発明によれば、指示対象物として汎用のモニタやスクリーンなどを用いて手軽に指示位置演算システムを構成することができる。
【０００９】
（２）また本発明に係る指示位置演算システム、ゲームシステムでは、
画像表示領域に所与の画像を表示する表示部と、
前記表示部に表示させる画像を生成する描画処理部と、
を更に含み、
前記位置関係情報取得部が、
前記反射波に基づいて、前記表示部と前記指示体との相対的な位置関係を規定する位置関係情報を取得し、
前記指示位置演算部が、
前記位置関係情報と前記指示体の基準方向情報とに基づいて、前記表示部における前記指示体の指示位置を演算するようにしてもよい。
【００１０】
本発明によれば、表示部における指示体の指示位置に応じて、表示部に表示させる画像を生成することができる。例えば指示体の指示位置に対応する描画位置に、指示位置を示すマークを表示させたり、指示位置の移動軌跡を表示させたりすることができる。
【００１１】
（３）また本発明に係る指示位置演算システム、ゲームシステムでは、
前記指示体の指示位置を前記表示部の画像表示領域における位置に変換する指示位置変換部を更に含むようにしてもよい。
【００１２】
本発明によれば、指示体の指示位置を画像における位置に変換し、例えば画像における位置と指示体の指示位置との一致に応じて、命中判定などを行うことができる。例えば画像におけるキャラクタなどの位置と指示体の指示位置との一致に応じて、キャラクタが変化する画像を生成することができる。
【００１３】
（４）また本発明に係る指示位置演算システム、ゲームシステムでは、
前記表示部における前記画像表示領域の位置を規定する画像表示領域情報を取得する画像表示領域情報取得部を更に含むようにしてもよい。
【００１４】
本発明によれば、画像表示領域情報を取得することにより、表示部の画像表示領域と指示体との相対的な位置関係を特定することができるので、画像表示領域における指示体の指示位置を正確に演算することができる。
【００１５】
（５）また本発明に係る指示位置演算システム、ゲームシステムでは、
前記指示体の向きを前記表示部の画像表示領域の所定位置に向けた上で操作部を操作するように操作者を促す表示を前記表示部に表示させる表示制御部と、
前記操作部からの操作信号を受付ける入力処理部と、
を更に含み、
前記画像表示領域情報取得部が、
前記操作信号を受付けた時点での前記指示体の指示位置に基づいて、前記画像表示領域情報を取得し、
前記指示位置演算部が、
前記画像表示領域情報と前記指示体の基準方向情報とに基づいて、前記画像表示領域における前記指示体の指示位置を演算するようにしてもよい。
【００１６】
本発明によれば、指示体の向きを、例えば矩形の画像表示領域の少なくとも２隅に向けた上で操作部を操作するように操作者を促す表示を表示部に表示させ、操作信号を受付けた時点での指示体の指示位置を矩形の画像表示領域の２隅の位置であるとして、表示部の画像表示領域を特定することができる。
【００１７】
（６）また本発明に係る指示位置演算システム、ゲームシステムでは、
前記指示体が、
銃の形状を模して形成されており、
前記出力部が、
前記銃の銃口を向けた方向に所定の出力波を出力するようにしてもよい。
【００１８】
本発明によれば、銃の形状を模した指示体を、実物の銃を構えるようにして指示対象物に向けると、銃口を向けた方向に存在する指示対象物における指示体の指示位置を演算することができる。従って本発明によれば、指示体を銃型コントローラとして用いたシューティングゲームシステムを構成することができる。
【発明を実施するための最良の形態】
【００１９】
以下、本実施形態について説明する。なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また本実施形態で説明される構成の全てが、本発明の必須構成要件であるとは限らない。
【００２０】
１．システム概略
図１は、本実施形態の指示位置演算システムを適用したゲームシステム１０の概略外観図である。本実施形態のゲームシステム１０は、表示画面１２に標的オブジェクトＴＯなどのゲーム画像を表示させる表示部１４と、プレーヤＰが把持して位置、向きを任意に変更可能であって、表示画面１２上の任意の位置を指示する指示体１６（コントローラ、シューティングデバイス、ポインティングデバイス）と、ゲーム処理等を行うゲーム機１８と、を含む。
【００２１】
本実施形態の指示体１６は、銃の形状を模して成型されており、表示画面１２に向けられる銃身ＧＢと、銃身ＧＢから延出しプレーヤＰが手で把持するグリップＧＧと、グリップＧＧを把持した手の人差し指で操作可能なトリガＧＴとを有する。そして銃身ＧＢの先端には、指示体１６の指示方向（銃口を向けた方向、銃身ＧＢの先端を向けた方向）に向けて赤外光などの所定の波長の出力波を出力する出力部２０と、出力波の反射波を検出する検出部２２とが設けられている。特に本実施形態では、出力部２０は赤外光を出力する赤外光ＬＥＤにより構成され、検出部２２は赤外光イメージセンサにより構成されている。そして検出部２２は、指示体１６の指示方向から入射する赤外光（出力部２０が出力した赤外光の反射光）を受光面において受光して、これを画像として取得する（撮像する）。
【００２２】
更に指示体１６には、ＡＳＩＣや、ＭＣＵなどで構成される位置関係情報取得部２４と、指示位置演算部２６とが設けられている。位置関係情報取得部２４は、反射波を受光した検出部２２の受光面における受光位置ごとの反射波の位相のずれなどに基づいて、表示部１４などの撮像対象物の画像を撮像対象物の３次元位置情報として取得する。すると指示位置演算部２６は、撮像対象物の３次元位置情報と、指示体１６の指示方向を規定する予め定められた基準方向情報とに基づいて、表示部１４における指示体１６の指示位置を演算する。そしてゲーム機１８は、指示体１６のトリガＧＴが引かれたときの指示体１６の指示位置が、表示画面１２に表示させた標的オブジェクトＴＯの位置と一致するか否かを判定して、画像の表示制御処理や得点演算処理などのゲーム処理を行う。こうして本実施形態では、指示体１６と表示画面１２の画像とを用いたシューティングゲームを実行する。
【００２３】
なお本実施形態の指示体１６では、検出部２２の前面側（指示体１６の更に先端側）に、赤外光に対応する波長帯の光（出力部２０からの光と同様の波長の光）のみを透過させるフィルタを設け、検出部２２が受光する光が所定の波長帯の光となるようにしている。なおフィルタを設けずに、赤外光（所定の波長の光）が含まれる所定範囲の波長帯の受光感度特性を有するイメージセンサを検出部２２として用いるようにしてもよい。
【００２４】
２．本実施形態の手法
次に、本実施形態の指示体１６が、表示部１４などの撮像対象物の画像を３次元の位置情報として取得する原理について説明する。本実施形態では位置関係情報取得部２４が、撮像対象物である表示部１４と指示体１６との相対的な位置関係を規定する情報として距離情報を取得する。
【００２５】
図２は、表示部１４と、表示部１４に向けられた指示体１６とを真横から見た平面図である。図２に示すように本実施形態では、指示体１６の出力部２０が、指示体１６の指示方向に赤外光ＤＬを出力すると、指示体１６の検出部２２が、指示体１６の指示方向からの反射光ＲＬを検出する。ここで反射光ＲＬは、指示体１６の出力部２０から出力された直接光の反射光であるが、指示体１６からの距離が相対的に近い表示部１４で反射した反射光ＲＬ１と、相対的に遠い壁ＷＬで反射した反射光ＲＬ２とでは、検出部２２に到達したときに位相差が発生する。そこで本実施形態の検出部２２は、検出部２２の受光面において受光した反射光ＲＬの位相差を、受光面に配列された受光素子（画素）ごとに検出する（撮像する）。そして位置関係情報取得部２４が、画素ごとの位相差に基づいて、指示体１６の指示方向（撮像領域、画角θ内）に存在する撮像対象物と指示体１６との距離情報を、画素ごとに取得する。
【００２６】
図３は、位置関係情報取得部２４が取得した画素ごとの距離情報を説明するための図である。本実施形態の検出部２２では、矩形の受光面上に受光素子がマトリクス状に配列されているため、位置関係情報取得部２４は、図３に示す矩形の撮像領域ＰＡにマトリクス状に配列される画素ごとに、撮像対象物ＰＯと指示体１６との距離情報を取得する。従って図３に示すように、表示部１４の正面よりやや左斜め上方から指示体１６を表示部１４に向けると、表示部１４の正面ＦＳに対応する画素と、左側面ＬＳに対応する画素と、上面ＵＳに対応する画素と、背景となる壁ＷＬに対応する画素と、床面ＧＳに対応する画素とについて、画素ごとに検出部２２からの距離情報が格納される。即ち、検出部２２から見える撮像対象物ＰＯの表面（検出した反射波が反射した面）に対応する画素ごとの３次元座標値群がメモリ領域に格納される。こうして本実施形態の指示体１６では、撮像対象物ＰＯの画像を３次元位置情報として取得することができる（反射波が反射した検出対象物の３次元形状を規定する３次元形状情報を取得することができる）。
【００２７】
次に、本実施形態の指示体１６が、撮像対象物ＰＯの３次元位置情報に基づいて指示位置を演算する原理について説明する。本実施形態では指示位置演算部２６が、撮像対象物ＰＯの３次元位置情報と、指示体１６の指示方向を規定する基準方向情報とに基づいて、撮像対象物ＰＯ（指示対象物）における指示体１６の指示位置を演算する。
【００２８】
図４は、検出部２２の撮像空間ＰＳと撮像対象物ＰＯの３次元位置情報と基準方向情報との関係を説明するための図である。本実施形態の位置関係情報取得部２４では、図４に示すように、検出部２２の受光面の重心位置ＷＰを原点Ｏとし、受光面の法線ＮをＺ軸とした３次元座標系における座標情報として、撮像空間ＰＳ内にある撮像対象物ＰＯの受光面から見える面の３次元位置情報を取得している。そして、指示体１６の指示方向を規定する基準方向情報を、受光面の法線ＮであるＺ軸（Ｚ軸情報）としている。従って指示位置演算部２６は、３次元座標系におけるＺ軸と撮像対象物ＰＯとの交点、即ち撮像対象物ＰＯの座標値のうちＺ成分が０の座標値を、撮像対象物ＰＯつまり指示対象物である表示部１４における指示体１６の指示位置として求めることができる。
【００２９】
なお本実施形態では１／６０秒ごとに（１／６０秒を１フレームとして）、検出部２２が指示体１６の位置、向きに応じた反射光ＲＬを受光し（リフレッシュし）、指示位置演算部２６が指示体１６の指示位置情報を更新する。
【００３０】
こうして本実施形態の指示体１６は、表示部１４における指示体１６の指示位置を求めることができるが、図４に示すように、撮像対象物ＰＯの座標値のうちいずれの座標値が表示画面１２に対応しているかは、正確に認識することはできない。例えば液晶ディスプレイやプラズマディスプレイなどのフラットディスプレイでは、表示画面と外枠とがほぼ同一平面を形成しているため、撮像対象物ＰＯの３次元の位置情報からでは表示画面１２に対応する領域を特定することができない。
【００３１】
そこで本実施形態では、ゲーム開始前の調節モードにおいて、図５（Ａ）に示すように、指示体１６の向きを表示部１４の表示画面１２（画像表示領域）の右上隅と左下隅に向けた上で指示体１６のトリガＧＴを操作するようにプレーヤを促す表示を表示部１４に表示させ、トリガＧＴが操作された時点での指示体１６の指示位置に基づいて、表示画面１２に対応する領域を正確に特定している。即ち表示画面１２が矩形であることを前提として、図６に示すように、撮像対象物ＰＯにおいて表示画面１２の対角に対応する２点の位置座標Ｃ１、Ｃ２を取得する。そして２点の位置座標Ｃ１、Ｃ２を対角位置とする矩形領域の座標値を、表示部１４における表示画面１２に対応する画像表示領域情報ＤＡとして正確に特定する。
【００３２】
こうして本実施形態では、画像表示領域情報ＤＡにより、表示画面１２と指示体１６との相対的な位置関係を正確に特定することができるので、表示画面１２における指示体１６の指示位置を正確に演算することができる。そして、指示体１６の指示位置の座標値が画像表示領域情報ＤＡに含まれる場合には、指示位置の座標値を描画バッファの描画領域の座標値に変換して、指示体１６の指示位置に対応する描画位置に、仮想弾の着弾位置を示す弾痕マークを正確に表示させたり、標的オブジェクトＴＯに対する命中判定を正確に行うなどすることができる。
【００３３】
なお、ゲーム開始前の調節モードにおいてプレーヤに操作を行わせずに、撮像対象物ＰＯ（表示部１４）の表面の形状から表示画面１２に対応するおよその位置を求めるアルゴリズムを採用し、自動的に表示画面１２に対応する領域を特定するようにしてもよい。例えば、撮像対象物ＰＯ（表示部１４）の表面の形状から、指示体１６（検出部２２）に向いている面を表示画面１２が配置されている正面として判別し、当該面の内側の所定領域を表示画面１２に対応する画像表示領域情報ＤＡとして特定するようにしてもよい。
【００３４】
また、液晶ディスプレイなどの表示画面には、外光の映り込みを防止するために反射防止フィルタなどが設置されている場合が多い。従って出力部２０が出力した光に関しても、表示画面では液晶ディスプレイの枠部（表示画面以外の部分）よりも、出力部２０が出力した光に対する反射光の光量の減衰率が高くなる。そこで検出部２２が検出した撮像対象物ＰＯ（表示部１４）からの反射光のうち、撮像対象物ＰＯ（表示部１４）に対応する領域において反射光の受光量が少ない矩形の領域を表示画面１２に対応する画像表示領域情報ＤＡとして特定するようにしてもよい。
【００３５】
また、ゲーム開始前の調節モードにおいて表示部１４の表示画面１２の光量を多くし、例えば真っ白の画面を表示画面１２に表示させることにより、検出部２２に表示画面１２に対応する画像表示領域情報ＤＡを検出させるようにしてもよい。即ち、ゲーム開始前の調節モードにおいて、検出部２２が検出可能な光を表示画面１２から出力させ、検出部２２が撮像対象物ＰＯ（表示部１４）からの反射光を受光するととともに、表示画面１２からの直接光を受光することにより、撮像対象物ＰＯ（表示部１４）の表面の形状情報を取得するとともに、表示画面１２に対応する画像表示領域情報ＤＡを取得するようにしてもよい。また指示体１６の先端の検出部２２に隣接する位置に、表示画面１２からの直接光を検出可能な撮像部を更に設け、この撮像部が検出した表示画面１２に対応する領域を示す情報と、検出部２２が検出した撮像対象物ＰＯ（表示部１４）の表面の形状情報と、に基づいて、撮像対象物ＰＯ（表示部１４）における表示画面１２に対応する画像表示領域情報ＤＡを検出させるようにしてもよい。
【００３６】
３．機能ブロック
次に、図７を用いて本実施形態における指示位置演算システム（ゲームシステム）の構成について説明する。図７は、本実施形態における指示位置演算システムの機能ブロック図の一例である。なお、本実施形態の指示位置演算システムは、図７の構成要素（各部）の一部を省略した構成としてもよい。
【００３７】
指示体１６は、プレーヤが指示対象物（撮像対象物）を指示するためのものであり、プレーヤが指示体１６を把持して指示体１６自体の位置、向きを任意に変更可能に構成されている。具体的には指示体１６は、表示画面１２などの指示面上の任意の位置を指示するシューティングデバイス、ポインティングデバイスとすることができ、本実施形態では銃型コントローラとされている。
【００３８】
また指示体１６には、プレーヤがＯＮ／ＯＦＦ入力を行うための操作子としてのトリガが設けられている。なおトリガの他に、ボタン、レバー（アナログパッド）、十字キー、ステアリング、マイク、タッチパネル型ディスプレイなどを備えるようにして、種々の操作データを入力できるようにしてもよい。
【００３９】
また指示体１６は、出力部２０、検出部２２、位置関係情報取得部２４、指示位置演算部２６を含む。
【００４０】
出力部２０は、指示体の指示方向に所定の出力波を出力する。具体的には赤外光ＬＥＤなどの発光部や、超音波発生部など、所定波長の出力波を出力するデバイスにより実現できる。
【００４１】
検出部２２は、出力部２０が出力した出力波の反射波を検出する。具体的には赤外光イメージセンサなどの所定波長の反射波を検出するデバイスにより実現できる。
【００４２】
位置関係情報取得部２４は、各種プロセッサ（ＣＰＵ、ＭＰＵ、ＤＳＰ等）、ＡＳＩＣ（ゲートアレイ等）などのハードウェアや、プログラムにより実現でき、検出部２２が検出した反射波に基づいて、指示対象物（撮像対象物）と指示体１６との相対的な位置関係を規定する位置関係情報を取得する。
【００４３】
指示位置演算部２６は、各種プロセッサ、ＡＳＩＣなどのハードウェアや、プログラムにより実現でき、位置関係情報と指示体１６の指示方向を規定する基準方向情報とに基づいて、指示対象物における指示体１６の指示位置を演算する。
【００４４】
なお位置関係情報取得部２４と指示位置演算部２６は、１つのプロセッサなどにより一体的に実現してもよい。また位置関係情報取得部２４と指示位置演算部２６とを指示体１６に設けずに、処理部１００の機能として実現するようにしてもよい。
【００４５】
記憶部１７０は、処理部１００や通信部１９６などのワーク領域となるもので、その機能はＲＡＭ（ＶＲＡＭ）などにより実現できる。そして、本実施形態の記憶部１７０は、ワーク領域として使用される主記憶部１７１と、最終的な表示画像等が記憶される描画バッファ１７２と、オブジェクトのモデルデータが記憶されるオブジェクトデータ記憶部１７３と、各オブジェクトデータ用のテクスチャが記憶されるテクスチャ記憶部１７４と、オブジェクトの画像の生成処理時にＺ値が記憶されるＺバッファ１７６と、を含む。なお、これらの一部を省略する構成としてもよい。
【００４６】
情報記憶媒体１８０（コンピュータにより読み取り可能な媒体）は、プログラムやデータなどを格納するものであり、その機能は、光ディスク（ＣＤ、ＤＶＤ）、光磁気ディスク（ＭＯ）、磁気ディスク、ハードディスク、磁気テープ、或いはメモリ（ＲＯＭ）などにより実現できる。
【００４７】
この情報記憶媒体１８０には、処理部１００において本実施形態の種々の処理を行うためのプログラム（データ）が記憶されている。即ち、この情報記録媒体１８０には、本実施形態の各部としてコンピュータを機能させるためのプログラム（各部の処理をコンピュータに実行させるためのプログラム）が記憶されている。
【００４８】
表示部１４は、本実施形態により生成された画像を出力するものであり、その機能は、ＣＲＴ、ＬＣＤ、タッチパネル型ディスプレイなどにより実現できる。
【００４９】
音出力部１９２は、本実施形態により生成された音を出力するものであり、その機能は、スピーカ、或いはヘッドフォンなどにより実現できる。
【００５０】
携帯型情報記憶装置１９４には、プレーヤの個人データやゲームのセーブデータなどが記憶されるものであり、この携帯型情報記憶装置１９４としては、メモリカードや携帯型ゲーム装置などがある。
【００５１】
通信部１９６は、外部（例えばホスト装置や他の画像生成システム）との間で通信を行うための各種制御を行うものであり、その機能は、各種プロセッサ又は通信用ＡＳＩＣなどのハードウェアや、プログラムなどにより実現できる。
【００５２】
なお、本実施形態の各部としてコンピュータを機能させるためのプログラム（データ）は、ホスト装置（サーバー）が有する情報記憶媒体からネットワーク及び通信部１９６を介して情報記憶媒体１８０（記憶部１７０）に配信してもよい。このようなホスト装置（サーバー）の情報記憶媒体の使用も本発明の範囲内に含めることができる。
【００５３】
処理部１００（プロセッサ）は、指示体１６からの操作データやプログラムなどに基づいて、ゲーム処理、画像生成処理、或いは音生成処理などの処理を行う。ここで、ゲーム処理としては、ゲーム開始条件が満たされた場合にゲームを開始する処理、ゲームを進行させる処理、キャラクタやマップなどのオブジェクトを配置する処理、オブジェクトを表示する処理、ゲーム結果を演算する処理、或いはゲーム終了条件が満たされた場合にゲームを終了する処理などがある。この処理部１００は記憶部１７０をワーク領域として各種処理を行う。処理部１００の機能は各種プロセッサ、ＡＳＩＣなどのハードウェアや、プログラムにより実現できる。
【００５４】
特に、本実施形態の処理部１００は、表示制御部１０４、入力処理部１０６、画像表示領域情報取得部１０８、指示位置変換部１０９、判定部１１０、ゲーム演算部１１２、描画処理部１２０、音生成部１３０を含む。なお、これらの一部を省略する構成としてもよい。
【００５５】
表示制御部１０４は、表示部１４に表示出力される表示物（オブジェクト）の表示制御を行う。具体的には、表示物（ゲームキャラクタ、背景、標的、車、ボール、アイテム、建物、樹木、柱、壁、マップ）を発生させたり、表示物の表示位置を指示したり、表示物を消滅させたりするなどの表示制御を行う。即ち発生した表示物を表示物リストに登録したり、表示物リストを描画処理部１２０等に転送したり、消滅した表示物を表示物リストから削除したりするなどの表示制御を行う。また表示制御部１０４は、表示画面１２上における指示体１６の指示位置の情報に基づいて、表示画面１２に指示位置（着弾点）を示す表示物を表示させる。
【００５６】
特に本実施形態の表示制御部１０４は、ゲーム開始前の調節モードにおいて、指示体１６の向きを表示部１４の表示画面１２の所定位置に向けた上で指示体１６に設けられたトリガ（操作部）を操作するようにプレーヤ（操作者）を促す表示を表示画面１２に表示させる。例えば表示制御部１０４は、文字を表示させることにより直接的に促すようにしてもよいし、所与のキャラクタやマークなどを表示させたり、所定のゲームを実行することにより間接的に促すようにしてもよい。
【００５７】
入力処理部１０６は、トリガ（操作部）からの操作信号を受付け、トリガの操作タイミングを特定する。
【００５８】
画像表示領域情報取得部１０８は、表示部１４における表示画面１２（画像表示領域）の位置を規定する画像表示領域情報を取得する。詳細には本実施形態では、ゲーム開始前の調節モードにおいて、トリガからの操作信号を受付けた時点での指示体１６の指示位置に基づいて、画像表示領域情報を取得する。具体的には例えば、上述したように表示画面１２の対角の２点を狙い撃ちさせるようにしてもよい。また、表示画面１２の中央であると予測される位置に所定のマークを表示させておき、マウスでクリックアンドドラッグを行う要領で、当該マークの位置に指示体１６の指示位置を合わせた上でトリガを引かせ、トリガを引いたまま指示体１６の向きを変えるとマークも追従するように移動させ、マークを表示画面１２の右上隅に移動させるように促すとともに、マークが表示画面１２の右上隅に到達したらトリガを離す（元に戻す）操作を行うように促すことにより、表示画面１２の右上隅の位置と左下隅の位置とを指示位置として特定するようにしてもよい。
【００５９】
また画像表示領域情報取得部１０８は、それほど正確な指示位置が求められていない場合には、検出部２２の撮像対象物である表示部１４の表面の形状などから、表示画面１２に対応する領域を求めるアルゴリズムを採用し、ゲーム開始前の調節モードを省略するようにしてもよい。
【００６０】
指示位置変換部１０９は、指示体１６の指示位置を表示部１４の画像表示領域における位置に変換する。具体的には指示位置変換部１０９は、画像表示領域情報取得部１０８が取得した画像表示領域情報に基づいて、指示位置演算部２６が演算した指示体１６の指示位置座標を描画バッファ１７２の描画領域の位置座標（ピクセル情報）に変換する。
【００６１】
判定部１１０は、表示部１４に表示させる画像における位置と指示体１６の指示位置との一致を判定する。詳細には判定部１１０は、指示体１６に設けられたトリガの操作入力に応じて、表示部１４の画像表示領域における指示体１６の指示位置情報と、標的オブジェクトＴＯとの位置関係を判断する。具体的には判定部１０６は、操作子の操作入力を受け付けた時点での指示位置情報に基づいて、指示位置と標的オブジェクトＴＯの描画位置とがヒット（一致、着弾）したか否かを判断する。
【００６２】
ゲーム演算部１１２は、判定部１１０の判定結果に基づいて種々のゲーム演算を行う。具体的にはゲーム演算部１１２は、標的オブジェクトＴＯに着弾した場合に、得点演算を行うなどして操作者の操作を評価したり、標的オブジェクトＴＯが破壊される画像を表示させるなどの画像演出を行う。
【００６３】
描画処理部１２０は、処理部１００で行われる種々の処理（ゲーム処理）の結果に基づいて描画処理を行い、これにより画像を生成し、表示部１４に出力する。この場合、描画処理部１２０が生成する画像は、いわゆる２次元画像であってもよいし、３次元画像であってもよい。そして３次元画像を生成する場合には、まず、座標変換（ワールド座標変換、カメラ座標変換）、クリッピング処理、或いは透視変換等のジオメトリ処理が行われ、その処理結果に基づいて、描画データ（プリミティブの頂点の位置座標、テクスチャ座標、色データ、法線ベクトル或いはα値等）が作成される。そして、この描画データ（プリミティブデータ）に基づいて、透視変換後（ジオメトリ処理後）の表示物（１又は複数プリミティブ）を描画バッファ（フレームバッファあるいは中間バッファなどのピクセル単位で画像情報を記憶できるバッファ。ＶＲＡＭ）に描画する。これにより、ゲーム空間内において仮想カメラ（所与の視点）から見える画像が生成される。
【００６４】
音生成部１３０は、処理部１００で行われる種々の処理の結果に基づいて音処理を行い、ＢＧＭ、効果音、又は音声などのゲーム音を生成し、音出力部１９２に出力する。
【００６５】
なお、本実施形態の画像生成システムは、１人のプレーヤのみがプレイできるシングルプレーヤモード専用のシステムにしてもよいし、複数のプレーヤがプレイできるマルチプレーヤモードも備えるシステムにしてもよい。
【００６６】
また、複数のプレーヤがプレイする場合に、これらの複数のプレーヤに提供するゲーム画像やゲーム音を、１つの端末を用いて生成してもよいし、ネットワーク（伝送ライン、通信回線）などで接続された複数の端末（ゲーム機、携帯電話）を用いて分散処理により生成してもよい。
【００６７】
４．本実施形態の処理
次に、本実施形態で行われる処理の流れをフローチャートを用いて説明する。図８は、ゲーム開始前に実行される調節モードにおける処理の流れの一例を示すフローチャートである。図８に示すように本実施形態では、まずゲーム開始前にシステムモードを調節モードに設定し（ステップＳ１０）、撮像対象である表示部１４の３次元位置座標を取得する（ステップＳ１２）。そして、表示部１４の３次元位置座標と、指示体１６の基準方向情報（Ｚ軸）とに基づいて、表示部１４における指示体１６の指示位置座標を演算する（ステップＳ１４）。このステップＳ１２とステップＳ１４の処理は、１／６０秒ごとに繰返し行われる。
【００６８】
すると図５に示すような表示を表示画面１２に表示させ、指示体１６の向きを表示部１４の表示画面１２の右上隅と左下隅に向けた上で指示体１６のトリガＧＴを操作するようにプレーヤを促す（ステップＳ１６）。そして最初の操作入力である第１入力を受付けると（ステップＳ１８）、第１入力を受付けた時点での指示体１６の指示位置座標を取得する（ステップＳ２０）。すると、第１入力を受付けた時点での表示部１４の３次元位置座標における第１指示位置座標の位置関係を規定する（ステップＳ２２）。
【００６９】
本実施形態では、第１入力を受付けた時点における表示部１４の３次元位置座標のうち、第１指示位置座標が含まれる面の左上角の座標値を表示部１４の表示面（表示画面１２が含まれる面）のモデル座標系の原点として設定し、第１指示位置座標をモデル座標系の第１の座標値として規定する。ここでこのモデル座標系は、指示体１６の位置、向きが変化して表示部１４の３次元位置座標が更新されると、更新後の３次元位置座標に応じて再設定される。本実施形態では、更新後の３次元位置座標における表示面に対応する面の左上角の座標値を追跡し、当該座標値を更新後のモデル座標系の原点として設定する。
【００７０】
更に２番目の操作入力である第２入力を受付けると（ステップＳ２４）、第２入力を受付けた時点における指示体１６の指示位置座標を取得する（ステップＳ２６）。すると、第２入力を受付けた時点での表示部１４の３次元位置座標における第２指示位置座標の位置関係を規定する（ステップＳ２８）。本実施形態では第２指示位置座標を、上述のようにして設定したモデル座標系の第２の座標値として規定する。そして、モデル座標系の第１の座標値と第２の座標値とを対角位置とする表示面上の矩形領域を特定することにより、表示部１４のモデル座標系において表示画面１２に対応する座標値（画像表示領域情報）として特定する（ステップＳ３０）。
【００７１】
図９は、調節モード後に実行されるゲームモードにおける処理の流れの一例を示すフローチャートである。図９に示すように本実施形態では、まずシステムモードをゲームモードに設定し（ステップＳ４０）、図１に示すような、標的オブジェクトＴＯなどを含むゲーム画像を表示画面１２に表示させる（ステップＳ４２）。すると、撮像対象である表示部１４の３次元位置座標を取得する（ステップＳ４４）。そして、表示部１４の３次元位置座標と、指示体１６の基準方向情報（Ｚ軸）とに基づいて、表示部１４における指示体１６の指示位置座標を演算する（ステップＳ４６）。
【００７２】
そしてトリガからの操作信号を受付け（ステップＳ４８のＹ）、その時点での指示体１６の指示位置座標が、調節モードで設定された表示画面１２に対応する座標値である画像表示領域である場合には（ステップＳ５０のＹ）、指示位置座標を描画バッファ１７２の描画領域の位置座標（ピクセル情報）に変換する（ステップＳ５２）。本実施形態では、上述した表示画面１２に対応する座標値（画像表示領域情報）を介して、指示位置座標を描画領域の位置座標に変換する。そして変換後の指示位置座標（ピクセル情報）とキャラクタの描画位置座標（ピクセル情報）とが一致するか否かを判定（命中判定）し（ステップＳ５４）、一致する場合には（ステップＳ５４のＹ）、標的オブジェクトＴＯが破壊される画像を表示させるなどのヒット処理を行う（ステップＳ５６）。
【００７３】
一方、トリガからの操作信号を受付けた時点での指示体１６の指示位置座標が、表示画面１２に対応する座標値である画像表示領域でない場合には（ステップＳ５０のＮ）、指示体１６が表示画面１２を指示していない旨をプレーヤに表示させるエラー出力を行う（ステップＳ５８）。そして本実施形態では、ステップＳ４２〜ステップＳ５８までの処理を１／６０秒ごとに繰返し行い、画像の更新に合わせて指示体１６の指示位置の演算と命中判定などを行い、指示体１６と表示画面１２の画像とを用いたシューティングゲームを実行する。なお画像更新のフレームレートと指示位置演算のフレームレートは必ずしも一致させる必要はない。
【００７４】
このように本実施形態によれば、指示体１６に取り付けられた出力部２０と検出部２２とにより、表示画面１２などの指示対象物と指示体１６との相対的な位置関係を特定することができるので、指示対象物と指示体１６との相対的な位置関係を特定するための赤外光発光部などの光源を別途用意してこれを指示対象物の近傍に配置する必要がない。従って本実施形態によれば、指示対象物として汎用のモニタやスクリーンなどを用いて手軽に指示位置演算システムを構成することができる。
【００７５】
５．ハードウェア構成
図１０に本実施形態を実現できるハードウェア構成の例を示す。メインプロセッサ９００は、ＣＤ９８２（情報記憶媒体）に格納されたプログラム、通信インターフェース９９０を介してダウンロードされたプログラム、或いはＲＯＭ９５０に格納されたプログラムなどに基づき動作し、ゲーム処理、画像処理、音処理などを実行する。コプロセッサ９０２は、メインプロセッサ９００の処理を補助するものであり、マトリクス演算（ベクトル演算）を高速に実行する。例えばオブジェクトを移動させたり動作（モーション）させる物理シミュレーションに、マトリクス演算処理が必要な場合には、メインプロセッサ９００上で動作するプログラムが、その処理をコプロセッサ９０２に指示（依頼）する。
【００７６】
ジオメトリプロセッサ９０４は、メインプロセッサ９００上で動作するプログラムからの指示に基づいて、座標変換、透視変換、光源計算、曲面生成などのジオメトリ処理を行うものであり、マトリクス演算を高速に実行する。データ伸張プロセッサ９０６は、圧縮された画像データや音データのデコード処理を行ったり、メインプロセッサ９００のデコード処理をアクセレートする。これにより、オープニング画面やゲーム画面において、ＭＰＥＧ方式等で圧縮された動画像を表示できる。
【００７７】
描画プロセッサ９１０は、ポリゴンや曲面などのプリミティブ面で構成されるオブジェクトの描画（レンダリング）処理を実行する。オブジェクトの描画の際には、メインプロセッサ９００は、ＤＭＡコントローラ９７０を利用して、描画データを描画プロセッサ９１０に渡すと共に、必要であればテクスチャ記憶部９２４にテクスチャを転送する。すると描画プロセッサ９１０は、描画データやテクスチャに基づいて、Ｚバッファなどを利用した隠面消去を行いながら、オブジェクトをフレームバッファ９２２に描画する。また描画プロセッサ９１０は、αブレンディング（半透明処理）、デプスキューイング、ミップマッピング、フォグ処理、バイリニア・フィルタリング、トライリニア・フィルタリング、アンチエリアシング、シェーディング処理なども行う。１フレーム分の画像がフレームバッファ９２２に書き込まれるとその画像はディスプレイ９１２に表示される。
【００７８】
サウンドプロセッサ９３０は、多チャンネルのＡＤＰＣＭ音源などを内蔵し、ＢＧＭ、効果音、音声などのゲーム音を生成し、スピーカ９３２を介して出力する。ゲームコントローラ９４２やメモリカード９４４からのデータはシリアルインターフェース９４０を介して入力される。
【００７９】
ＲＯＭ９５０にはシステムプログラムなどが格納される。業務用ゲームシステムの場合にはＲＯＭ９５０が情報記憶媒体として機能し、ＲＯＭ９５０に各種プログラムが格納される。なおＲＯＭ９５０の代わりにハードディスクを利用してもよい。ＲＡＭ９６０は各種プロセッサの作業領域となる。ＤＭＡコントローラ９７０は、プロセッサ、メモリ間でのＤＭＡ転送を制御する。ＤＶＤドライブ９８０は、プログラム、画像データ、或いは音データなどが格納されるＤＶＤ９８２にアクセスする。通信インターフェース９９０はネットワーク（通信回線、高速シリアルバス）を介して外部との間でデータ転送を行う。
【００８０】
なお本実施形態の各部（各手段）の処理は、その全てをハードウェアのみにより実現してもよいし、情報記憶媒体に格納されるプログラムや通信インターフェースを介して配信されるプログラムにより実現してもよい。或いは、ハードウェアとプログラムの両方により実現してもよい。
【００８１】
そして本実施形態の各部の処理をハードウェアとプログラムの両方により実現する場合には、情報記憶媒体には、ハードウェア（コンピュータ）を本実施形態の各部として機能させるためのプログラムが格納される。より具体的には、上記プログラムが、ハードウェアである各プロセッサ９０２、９０４、９０６、９１０、９３０に処理を指示すると共に、必要であればデータを渡す。そして、各プロセッサ９０２、９０４、９０６、９１０、９３０は、その指示と渡されたデータとに基づいて本発明の各部の処理を実現する。
【００８２】
６．変形例
なお本発明は、上記実施形態で説明したものに限らず、種々の変形実施が可能である。例えば、明細書又は図面中の記載において広義や同義な用語として引用された用語は、明細書又は図面中の他の記載においても広義や同義な用語に置き換えることができる。
【００８３】
例えば出力部２０は、指示体１６に設ける他、独立したユニットとして設けてもよい。この場合には、出力部２０を表示部１４に向けて設置して、表示部１４に向けて出力波を出力させ、指示体１６に取り付けられた検出部で反射波を検出するようにしてもよい。
【００８４】
また指示位置演算部２６は、トリガからの操作信号を受付けていない通常状態では指示位置は演算せず、トリガからの操作信号を受付けたときのみ指示位置を演算するようにしてもよい。
【００８５】
また本発明は、業務用ゲームシステム、家庭用ゲームシステム、多数のプレーヤが参加する大型アトラクションシステム、シミュレータ、マルチメディア端末、ゲーム画像を生成するシステムボード、携帯電話等の種々の画像生成システムに適用できる。
【００８６】
また本発明は種々の指示位置演算システムに適用できる。上述の実施形態では、本発明をゲームシステムに適用した場合を例に挙げて説明したが、本発明は、プレゼンテーションシステムなどの種々の指示位置演算システム、及び指示位置演算システムに用いる指示体に適用することができる。
【図面の簡単な説明】
【００８７】
【図１】本実施形態のシステムの概略外観の一例を示す図。
【図２】本実施形態のシステムの原理を説明するための図。
【図３】本実施形態で撮像された画像の一例を説明するための図。
【図４】本実施形態のシステムの原理を説明するための図。
【図５】本実施形態で表示される画像の一例を説明するための図。
【図６】本実施形態で撮像された画像の一例を説明するための図。
【図７】本実施形態のシステムの機能ブロックの一例を示す図。
【図８】本実施形態の処理の一例を示すフローチャート図。
【図９】本実施形態の処理の一例を示すフローチャート図。
【図１０】本実施形態のシステムのハードウェア構成の一例を示す図。
【符号の説明】
【００８８】
Ｐ  プレーヤ、ＴＯ  標的オブジェクト、ＧＢ  銃身、ＧＧ  グリップ、ＧＴ  トリガ、
ＤＬ  出力波、ＲＬ  反射波、ＷＬ  壁、ＰＯ  撮像対象物、ＰＡ  撮像領域、
ＰＳ  撮像空間、ＷＰ  重心位置、Ｎ  法線、Ｃ１・Ｃ２  位置座標、
１０  ゲームシステム、１２  表示画面、１４  表示部、１６  指示体、１８  ゲーム機、
２０  出力部、２２  検出部、２４  位置関係情報取得部、２６  指示位置演算部、
１００  処理部、１０４  表示制御部、１０６  入力処理部、
１０８  画像表示領域情報取得部、１１０  判定部、１１２  ゲーム演算部、
１２０  描画処理部、１３０  音生成部、１７０  記憶部、１８０  情報記憶媒体
【図１】
2008234418.tif 000003
【図２】
2008234418.tif 000004
【図３】
2008234418.tif 000005
【図４】
2008234418.tif 000006
【図５】
2008234418.tif 000007
【図６】
2008234418.tif 000008
【図７】
2008234418.tif 000009
【図８】
2008234418.tif 000010
【図９】
2008234418.tif 000011
【図１０】
2008234418.tif 000012