(57)【要約】【課題】軽い処理負荷で高速かつ正確に指示位置を演算することができる指示位置演算システムを提供すること。【解決手段】システム利用者により指示体１６が発光部２２に向けられると、指示体１６に取り付けられた撮像部１８が発光部２２を含む所定領域の画像ＰＡを撮像する。そして、画像ＰＡを構成する各画素の受光情報に基づいて各画素が第１の条件を満たしているか判定し、第１の条件を満たす有効画素を発光部２２に対応する画素として扱って、有効画素の画像における位置から指示体の指示位置を演算する。ここで、第２の条件を満たす有効画素と第２の条件を満たさない有効画素とで、有効画素の識別情報に対する重み付けを異ならせて有効画素の識別情報に基づいて有効画素の代表値を演算する。【選択図】図６
2008198111.tif 000002
【特許請求の範囲】
【請求項１】
指示体の指示位置を演算する指示位置演算システムであって、
発光部と、
撮像した画像の各画素の受光情報を出力する撮像部と、
前記撮像部が取り付けられている指示体と、
前記各画素の受光情報に基づいて、各画素が第１の条件を満たすか否かを判定するとともに、各画素が第２の条件を満たすか否かを判定する判定部と、
前記第１の条件を満たすと判定された有効画素の識別情報に基づいて位置演算を行う演算部と、
を含み、
前記演算部が、
前記第２の条件を満たす有効画素と前記第２の条件を満たさない有効画素とで前記有効画素の識別情報に対する重み付けを異ならせて前記有効画素の識別情報に基づいて前記有効画素の代表値を演算し、前記代表値に基づいて前記位置演算を行うことを特徴とする指示位置演算システム。
【請求項２】
請求項１において、
前記判定部が、
前記受光情報が第１の閾値よりも大きい場合に前記画素が前記第１の条件を満たすと判定し、前記受光情報が前記第１の閾値よりも大きい第２の閾値よりも大きい場合に前記画素が前記第２の条件を満たすと判定し、
前記演算部が、
前記第２の条件を満たす有効画素の識別情報に対する重み付けを前記第２の条件を満たさない有効画素の識別情報に対する重み付けよりも大きくして前記有効画素の識別情報に基づいて前記有効画素の代表値を演算し、前記代表値に基づいて前記位置演算を行うことを特徴とする指示位置演算システム。
【請求項３】
請求項１、２のいずれかにおいて、
前記撮像部が、
撮像した画像の一端側を始点画素、他端側を終点画素として、前記始点画素から前記終点画素までの各画素の受光情報を連続的に出力し、前記指示体の基準姿勢において下方に前記始点画素が配置され上方に前記終点画素が配置される状態で前記指示体に取り付けられ、
前記演算部が、
前記有効画素が前記発光部に対応する画素である場合に前記指示体の指示位置が求められるように、最先に前記第１の条件を満たすと判定された第１の有効画素の識別情報に基づいて前記位置演算を行うことを特徴とする指示位置演算システム。
【請求項４】
請求項３において、
前記演算部が、
前記第１の有効画素を含む所定範囲に判定領域を設定し、前記有効画素のうち前記判定領域に含まれる有効画素の識別情報に基づいて、前記位置演算を行うことを特徴とする指示位置演算システム。
【請求項５】
請求項４において、
前記発光部が、
所定の位置関係を有する複数の発光部から構成され、
前記演算部が、
前記第１の有効画素を含む所定範囲に第１の判定領域を設定するとともに、前記第１の判定領域以外の有効画素であって最先に前記第１の条件を満たすと判定された第２の有効画素を含む所定範囲に第２の判定領域を設定し、前記第１の判定領域に含まれる有効画素の識別情報と、前記第２の判定領域に含まれる有効画素の識別情報とに基づいて、前記位置演算を行うことを特徴とする指示位置演算システム。
【請求項６】
請求項１〜５のいずれかにおいて、
前記発光部に設けられ、前記発光部から水平方向よりも下方の所定範囲の方向に進行する光を遮蔽する遮蔽部を更に含むことを特徴とする指示位置演算システム。
【請求項７】
請求項６において、
前記遮蔽部は、
前記発光部と前記撮像部とが所与の基準位置関係にある場合に、前記撮像部に入射する反射光を前記発光部よりも下方において発生させる方向に前記発光部からの光を進行させない位置に設けられていることを特徴とする指示位置演算システム。
【請求項８】
請求項１〜５のいずれかにおいて、
前記発光部は、
前記発光部と前記撮像部とが所与の基準位置関係にある場合に、前記撮像部に入射する反射光を前記発光部よりも下方において発生させる方向に前記発光部からの光を進行させない方向に向けて設けられていることを特徴とする指示位置演算システム。
【請求項９】
請求項１〜８のいずれかにおいて、
前記指示体に設けられ、前記発光部からの光と同じ波長帯の光を前記撮像部に透過させるフィルタを更に含むことを特徴とする指示位置演算システム。
【請求項１０】
前記発光部が、
所定の位置関係を有する複数の発光部から構成され、
前記演算部が、
前記複数の発光部の各発光部に対応する代表値に基づいて前記位置演算を行うことを特徴とする指示位置演算システム。
【請求項１１】
発光部と、
撮像した画像の各画素の受光情報を出力する撮像部と、
前記撮像部が取り付けられている指示体と、
前記各画素の受光情報に基づいて、各画素が第１の条件を満たすか否かを判定するとともに、各画素が第２の条件を満たすか否かを判定する判定部と、
前記第１の条件を満たすと判定された有効画素の識別情報に基づいて位置演算を行う演算部と、
を含む指示位置演算システム用の指示体であって、
前記演算部が、
前記有効画素のうち前記第２の条件を満たす有効画素と前記第２の条件を満たさない有効画素とで前記有効画素の識別情報に対する重み付けを異ならせて前記有効画素の識別情報に基づいて前記有効画素の代表値を演算し、前記代表値に基づいて前記位置演算を行うことを特徴とする指示位置演算システム用の指示体。
【請求項１２】
指示体の指示位置を演算するゲームシステムであって、
オブジェクトを表示させる表示部と、
前記表示部に対して所与の位置関係にある発光部と、
撮像した画像の各画素の受光情報を出力する撮像部と、
前記撮像部が取り付けられている指示体と、
前記各画素の受光情報に基づいて、各画素が第１の条件を満たすか否かを判定するとともに、各画素が第２の条件を満たすか否かを判定する判定部と、
前記第１の条件を満たすと判定された有効画素の識別情報に基づいて位置演算を行う演算部と、
を含み、
前記演算部が、
前記第２の条件を満たす有効画素と前記第２の条件を満たさない有効画素とで前記有効画素の識別情報に対する重み付けを異ならせて前記有効画素の識別情報に基づいて前記有効画素の代表値を演算し、前記代表値に基づいて前記位置演算を行うことを特徴とするゲームシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、指示位置演算システム、指示体及びゲームシステムに関する。
【背景技術】
【０００２】
従来から、銃型コントローラを用いたシューティングゲームシステムや、ポインティングデバイスを用いたプレゼンテーションシステムなどのように、モニタやスクリーンなどの指示面における指示体の指示位置を演算する指示位置演算システムが知られている。このような指示位置演算システムでは、指示面の近傍に赤外光発光部などを配置し、これを指示体の先端に設けたイメージセンサ（受光センサ）で撮像し、撮像した画像における発光部の位置に基づいて指示体の指示位置を演算している。
【０００３】
このような指示位置演算システムでは、撮像した画像を構成する各画素の受光情報が所定の閾値よりも大きい場合に当該画素が発光部に対応する画素であると判定し、当該画素の位置に基づいて指示体の指示位置を演算する。かかる技術として、例えば特許第２９６１０９７号公報に開示される従来技術がある。
【特許文献１】特許第２９６１０９７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかし従来の指示位置演算システムでは、所定の閾値よりも大きいと判定された画素を一律に扱って位置演算を行っていたため、例えば発光部に対応する画素のうち、発光部の中心部に対応する画素と、発光部の周辺部に対応する画素とを区別することができず、正確に指示体の指示位置を演算することができない場合があった。特にイメージセンサが設けられた指示体が高速に移動すると、イメージセンサが撮像した画像における発光部に対応する画素群が指示体の移動方向に延びるように変形する場合があるが、かかる画素群を発光部に対応する画素として一律に扱って指示体の指示位置を演算すると、正確な演算結果を得られない場合があった。
【０００５】
本発明は以上のような課題に鑑みてなされたものであり、その目的とするところは、軽い処理負荷で高速かつ正確に指示位置を演算することができる指示位置演算システム、指示体及びゲームシステムを提供することにある。
【課題を解決するための手段】
【０００６】
（１）本発明は、
指示体の指示位置を演算する指示位置演算システムであって、
発光部と、
撮像した画像の各画素の受光情報を出力する撮像部と、
前記撮像部が取り付けられている指示体と、
前記各画素の受光情報に基づいて、各画素が第１の条件を満たすか否かを判定するとともに、各画素が第２の条件を満たすか否かを判定する判定部と、
前記第１の条件を満たすと判定された有効画素の識別情報に基づいて位置演算を行う演算部と、
を含み、
前記演算部が、
前記第２の条件を満たす有効画素と前記第２の条件を満たさない有効画素とで前記有効画素の識別情報に対する重み付けを異ならせて前記有効画素の識別情報に基づいて前記有効画素の代表値を演算し、前記代表値に基づいて前記位置演算を行うことを特徴とする指示位置演算システムに関係する。
【０００７】
また本発明は、
発光部と、
撮像した画像の各画素の受光情報を出力する撮像部と、
前記撮像部が取り付けられている指示体と、
前記各画素の受光情報に基づいて、各画素が第１の条件を満たすか否かを判定するとともに、各画素が第２の条件を満たすか否かを判定する判定部と、
前記第１の条件を満たすと判定された有効画素の識別情報に基づいて位置演算を行う演算部と、
を含む指示位置演算システム用の指示体であって、
前記演算部が、
前記有効画素のうち前記第２の条件を満たす有効画素と前記第２の条件を満たさない有効画素とで前記有効画素の識別情報に対する重み付けを異ならせて前記有効画素の識別情報に基づいて前記有効画素の代表値を演算し、前記代表値に基づいて前記位置演算を行うことを特徴とする指示位置演算システム用の指示体に関係する。
【０００８】
本発明において、「画素の識別情報」とは、画像における画素の位置を特定することができる情報であって、例えば画素のアドレスデータやカウント値とすることができる。
【０００９】
本発明では、システム利用者により指示体が発光部に向けられると、指示体に取り付けられた撮像部が発光部を含む所定領域の画像を撮像する。そして、画像を構成する各画素の受光情報に基づいて各画素が第１の条件を満たしているか判定し、第１の条件を満たす有効画素を発光部に対応する画素として扱って、有効画素の画像における位置から指示体の指示位置を演算する。そして本発明によれば、第２の条件を満たす有効画素と第２の条件を満たさない有効画素とで、有効画素の識別情報に対する重み付けを異ならせて有効画素の識別情報に基づいて有効画素の代表値を演算する。
【００１０】
これにより本発明によれば、例えば受光情報が相対的に大きく明るい画素は発光部の中心に近い部分に対応する画素として、有効画素の代表値を演算する際の影響度を高め、受光情報が相対的に小さく暗い画素は発光部の周辺部分に対応する画素として、有効画素の代表値を演算する際の影響度を低めることによって、より正確に指示位置を演算することができる。特に撮像部が設けられた指示体が高速に移動して、撮像部が撮像した画像における発光部に対応する画素群が指示体の移動方向に延びるように変形するような場合であっても、残像に対応する画素については代表値を演算する際の影響度を低めることにより、正確に指示位置を演算することができる。
【００１１】
（２）また本発明に係る指示位置演算システム、指示体では、
前記判定部が、
前記受光情報が第１の閾値よりも大きい場合に前記画素が前記第１の条件を満たすと判定し、前記受光情報が前記第１の閾値よりも大きい第２の閾値よりも大きい場合に前記画素が前記第２の条件を満たすと判定し、
前記演算部が、
前記第２の条件を満たす有効画素の識別情報に対する重み付けを前記第２の条件を満たさない有効画素の識別情報に対する重み付けよりも大きくして前記有効画素の識別情報に基づいて前記有効画素の代表値を演算し、前記代表値に基づいて前記位置演算を行うようにしてもよい。
【００１２】
本発明によれば、受光情報が相対的に大きく明るい画素は発光部の中心に近い部分に対応する画素として、有効画素の代表値を演算する際の影響度を高め、受光情報が相対的に小さく暗い画素は発光部の周辺部分に対応する画素として、有効画素の代表値を演算する際の影響度を低めることによって、より正確に指示位置を演算することができる。
【００１３】
（３）また本発明に係る指示位置演算システム、指示体では、
前記撮像部が、
撮像した画像の一端側を始点画素、他端側を終点画素として、前記始点画素から前記終点画素までの各画素の受光情報を連続的に出力し、前記指示体の基準姿勢において下方に前記始点画素が配置され上方に前記終点画素が配置される状態で前記指示体に取り付けられ、
前記演算部が、
前記有効画素が前記発光部に対応する画素である場合に前記指示体の指示位置が求められるように、最先に前記第１の条件を満たすと判定された第１の有効画素の識別情報に基づいて前記位置演算を行うようにしてもよい。
【００１４】
本発明において「指示体の基準姿勢」とは、予め定められた指示体の姿勢（向き、位置）であって、指示体に取り付けられた撮像部の始点画素が下方に位置し、終点画素が上方に位置する姿勢である。この「指示体の基準姿勢」は指示位置演算システムの態様や指示体の態様に応じて種々の姿勢とすることができ、通常の態様で指示体を用いた場合の平均的な姿勢とすることができる。ここで通常の態様とは、指示体の形状から定まる使用態様や、説明書などによりシステム利用者に告知した使用態様とすることができる。
【００１５】
本発明では、ノイズに対応する画素が存在する場合には、所与の条件を満たす画素が発光部に対応する画素かノイズに対応する画素かを判別しないと、ノイズに対応する画素についても発光部に対応する画素として扱って位置演算を行ってしまう。この場合には、正確に指示位置を演算することができない。
【００１６】
しかし本発明のような指示位置演算システムが設置される状況では、ノイズ発生源は現実空間において発光部よりも上方に存在する場合が多い。例えば発光部を赤外光光源とする場合には、外光が入射してくる窓や白熱電灯なども赤外光光源となるためノイズ発生源となるが、窓や電灯類は発光部よりも上方に存在する場合が多い。よって撮像部が撮像した画像では、発光部よりも上方を撮像した領域にノイズに対応する画素が発生する場合が多い。一方、発光部よりも下方を撮像した領域にはノイズに対応する画素は発生し難い。
【００１７】
そこで本発明ではかかる状況に着目し、指示体の基準姿勢において下方に始点画素が配置され上方に終点画素が配置される状態で、撮像部を指示体に取り付けている。そして、撮像部が撮像した画像の下方に対応する始点画素から各画素の受光情報を連続的に出力する。即ち指示体が基準姿勢にある場合に、ノイズに対応する画素が発生し難い下方に対応する画素から各画素の受光情報を連続的に出力する。
【００１８】
従って本発明では、指示体が基準姿勢であれば、撮像部から受光情報が出力された画素のうち最先に所与の条件を満たすと判定された第１の画素は、ノイズではなく発光部に対応する画素となるので、発光部に対応する画素かノイズに対応する画素かを判定しなくとも、第１の画素を発光部に対応する画素として扱って正確に指示位置を演算することができる。こうして本発明によれば、所与の条件を満たす画素が、発光部に対応する画素かノイズに対応する画素かを判定する必要がなく、軽い処理負荷で高速かつ正確に指示位置を演算することができる。
【００１９】
（４）また本発明に係る指示位置演算システム、指示体では、
前記演算部が、
前記第１の有効画素を含む所定範囲に判定領域を設定し、前記有効画素のうち前記判定領域に含まれる有効画素の識別情報に基づいて、前記位置演算を行うようにしてもよい。
【００２０】
本発明によれば、所定範囲の判定領域に含まれる画素を発光部に対応する画素として扱うことができる。従って、所定範囲の判定領域に含まれる複数の画素の識別情報を用いることによって、より正確に指示位置を演算することができる。
【００２１】
（５）また本発明に係る指示位置演算システム、指示体では、
前記発光部が、
所定の位置関係を有する複数の発光部から構成され、
前記演算部が、
前記第１の有効画素を含む所定範囲に第１の判定領域を設定するとともに、前記第１の判定領域以外の有効画素であって最先に前記第１の条件を満たすと判定された第２の有効画素を含む所定範囲に第２の判定領域を設定し、前記第１の判定領域に含まれる有効画素の識別情報と、前記第２の判定領域に含まれる有効画素の識別情報とに基づいて、前記位置演算を行うようにしてもよい。
【００２２】
本発明では、発光部が例えば第１の発光部と第２の発光部の２つの発光部から構成されている場合には、第１の判定領域に含まれる画素を第１の発光部に対応する画素として扱い、第２の判定領域に含まれる画素を第２の発光部に対応する画素として扱うことができる。更に第３、第４の発光部を有する場合には、第３、第４の判定領域を設定するようにしてもよい。従って本発明によれば、複数の発光部を設けて指示体の指示位置を演算する場合でも、各発光部について複数の画素の識別情報を用いることによって、より正確に指示位置を演算することができる。
【００２３】
（６）また本発明に係る指示位置演算システム、指示体では、
前記発光部に設けられ、前記発光部から水平方向よりも下方の所定範囲の方向に進行する光を遮蔽する遮蔽部を更に含むようにしてもよい。
【００２４】
本発明によれば、例えば発光部と撮像部（指示体）との間にガラステーブルが設置されている場合など、ノイズとなる発光部からの光の反射光を発生させる反射面が発光部の下方に存在する場合であっても、発光部よりも下方から撮像部に入射する反射光の発生を防止することができる。
【００２５】
（７）また本発明に係る指示位置演算システム、指示体では、
前記遮蔽部は、
前記発光部と前記撮像部とが所与の基準位置関係にある場合に、前記撮像部に入射する反射光を前記発光部よりも下方において発生させる方向に前記発光部からの光を進行させない位置に設けられているようにしてもよい。
【００２６】
本発明によれば、発光部と撮像部とが基準位置関係にある場合に、発光部よりも下方から撮像部に入射する反射光の発生を防止することができる。従って本発明によれば、指示位置演算システムの使用用途に応じた基本的な態様にある場合において、発光部よりも下方から撮像部に入射する反射光の発生を確実に防止することができる。
【００２７】
（８）また本発明に係る指示位置演算システム、指示体では、
前記発光部は、
前記発光部と前記撮像部とが所与の基準位置関係にある場合に、前記撮像部に入射する反射光を前記発光部よりも下方において発生させる方向に前記発光部からの光を進行させない方向に向けて設けられているようにしてもよい。
【００２８】
本発明によれば、遮蔽部を設けなくとも発光部を設ける向きにより、発光部と撮像部とが基準位置関係にある場合に、発光部よりも下方から撮像部に入射する反射光の発生を防止することができる。従って本発明によれば発光部を設ける向きにより、指示位置演算システムの使用用途に応じた基本的な態様にある場合において、発光部よりも下方から撮像部に入射する反射光の発生を確実に防止することができる。
【００２９】
（９）また本発明に係る指示位置演算システム、指示体では、
前記指示体に設けられ、前記発光部からの光と同じ波長帯の光を前記撮像部に透過させるフィルタを更に含むようにしてもよい。
【００３０】
本発明によれば、発光部からの光と異なる波長帯の光によるノイズを低減させることにより、より正確に指示位置を演算することができる。
【００３１】
（１０）また本発明に係る指示位置演算システム、指示体では、
前記発光部が、
所定の位置関係を有する複数の発光部から構成され、
前記演算部が、
前記複数の発光部の各発光部に対応する代表値に基づいて前記位置演算を行うようにしてもよい。
【００３２】
本発明によれば、複数の代表値の位置関係を用いて指示位置を演算することにより、より正確に指示位置を演算することができる。
（１１）また本発明は、
指示体の指示位置を演算するゲームシステムであって、
オブジェクトを表示させる表示部と、
前記表示部に対して所与の位置関係にある発光部と、
撮像した画像の各画素の受光情報を出力する撮像部と、
前記撮像部が取り付けられている指示体と、
前記各画素の受光情報に基づいて、各画素が第１の条件を満たすか否かを判定するとともに、各画素が第２の条件を満たすか否かを判定する判定部と、
前記第１の条件を満たすと判定された有効画素の識別情報に基づいて位置演算を行う演算部と、
を含み、
前記演算部が、
前記第２の条件を満たす有効画素と前記第２の条件を満たさない有効画素とで前記有効画素の識別情報に対する重み付けを異ならせて前記有効画素の識別情報に基づいて前記有効画素の代表値を演算し、前記代表値に基づいて前記位置演算を行うことを特徴とするゲームシステムに関係する。
【００３３】
本発明によれば、例えば受光情報が相対的に大きく明るい画素は発光部の中心に近い部分に対応する画素として、有効画素の代表値を演算する際の影響度を高め、受光情報が相対的に小さく暗い画素は発光部の周辺部分に対応する画素として、有効画素の代表値を演算する際の影響度を低めることによって、より正確に指示位置を演算することができるゲームシステムを実現することができる。
【発明を実施するための最良の形態】
【００３４】
以下、本実施形態について説明する。なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また本実施形態で説明される構成の全てが、本発明の必須構成要件であるとは限らない。
【００３５】
１．システム概略
図１は、本実施形態の指示位置演算システムを適用したゲームシステム１０の概略外観図である。本実施形態のゲームシステム１０は、表示画面１１に標的オブジェクトＴＯなどのゲーム画像を表示させる表示部１２と、表示部１２の上部に設けられ、赤外光ＬＥＤ等の赤外光光源を有する２個の発光部１３、１４からなる発光ユニット１５と、プレーヤＰが把持して位置、向きを任意に変更可能であって、表示画面１１上の任意の位置を指示するコントローラ１６（指示体、シューティングデバイス、ポインティングデバイス）と、ゲーム処理等を行うゲーム機１７と、を含む。
【００３６】
本実施形態の発光部１３、１４はその前面に赤外光光源が設けられ、その前面をプレーヤの存在位置方向である表示画面１１の向きに合わせ、表示部１２の上面に所定間隔の距離をおいて固定設置される。そして発光部１３、１４は、光源から赤外光を前面方向に進行させる。
【００３７】
また本実施形態のコントローラ１６は、銃の形状を模して成型されており、表示画面１１に向けられる銃身ＧＢと、銃身ＧＢから延出しプレーヤＰが手で把持するグリップＧＧと、グリップＧＧを把持した手の人差し指で操作可能なトリガＧＴとを有する。そして銃身ＧＢの先端には、ＣＭＯＳセンサなどのイメージセンサ１８（受光部、撮像部）が設けられており、コントローラ１６（銃身ＧＢ）の先端を向けた方向から入射する赤外光（発光部１３、１４が出射する光と同様の波長帯の光）を受光して、これを画像として取得（撮像）する。
【００３８】
ここで本実施形態では、イメージセンサ１８の前面側（コントローラ１６の更に先端側）に、赤外光に対応する波長帯の光（発光部１３、１４からの光と同様の波長の光）のみを透過させるフィルタＦＩを設け、イメージセンサ１８に入射する光が所定の波長帯の光となるようにしている。なおフィルタＦＩを設けずに、赤外光（所定の波長の光）が含まれる所定範囲の波長帯の受光感度特性を有するイメージセンサをイメージセンサ１８として用いるようにしてもよい。
【００３９】
そしてゲームシステム１０は、イメージセンサ１８が撮像した画像における発光部１３、１４の位置情報と、予め設定された基準位置情報とから、発光部１３、１４とコントローラ１６との位置関係を求め、表示画面１１上におけるコントローラ１６の指示位置の情報を演算する。そしてゲームシステム１０は、コントローラ１６のトリガＧＴが引かれたときのコントローラ１６の指示位置が、表示画面１１に表示させた標的オブジェクトＴＯの位置と一致するか否かを判定して、画像の表示制御処理や得点演算処理などのゲーム処理を行う。
【００４０】
図２は、コントローラ１６を表示画面１１に向けたときにイメージセンサ１８が撮像した画像ＰＣ１の一例を示す図である。本実施形態のイメージセンサ１８は、矩形の面上に１７５×１２６の計２２０５０個の受光素子（撮像素子）がマトリクス状に配列されており、１つの受光素子を１つの画素とする画像ＰＣ１を撮像する。本実施形態では画像ＰＣ１は、１／５４秒ごとにコントローラ１６の位置、向きに応じて更新される。そして画像ＰＣ１のうち、発光部１３、１４からの赤外光を撮像した領域である２つの赤外光源領域ＩｒＡ１、ＩｒＡ２の位置情報を用いて、表示画面１１に対するコントローラ１６の指示位置の情報を演算する。本実施形態では、画像ＰＣ１の中心点である原点Ｏをコントローラ１６が指示する点とし、原点Ｏと、画像ＰＣ１における赤外光源領域ＩｒＡ１、ＩｒＡ２と、画像ＰＣ１における表示画面１１に対応する領域である表示画面領域ＤｐＡとの位置関係から、表示画面１１に対するコントローラ１６の指示位置の情報を演算する。
【００４１】
図２の例では、画像ＰＣ１の中央よりもやや上方において、赤外光源領域ＩｒＡ１とＩｒＡ２とを結ぶ直線ｌが画像ＰＣ１の基準線Ｌ（イメージセンサ１８のＸ軸）に対して時計回りにω°回転された状態で、赤外光源領域ＩｒＡ１、ＩｒＡ２が形成されている。従って図２の例では、原点Ｏは表示画面領域ＤｐＡの右下部の所定位置に対応させることができ、表示画面１１上におけるコントローラ１６の指示位置の座標を求めることができる。そして、赤外光源領域ＩｒＡ１、ＩｒＡ２を結ぶ直線ｌの基準線Ｌに対する回転角度ωから、表示画面１１に対するコントローラ１６の指示方向軸回りの回転角度を求めることができる。また、コントローラ１６が表示画面１１と所定距離にあるときの赤外光源領域ＩｒＡ１とＩｒＡ２との基準距離Ｄを予め設定しておくことにより、基準距離Ｄと、図２の例における赤外光源領域ＩｒＡ１とＩｒＡ２との距離ｄとの比に基づき、図２の例における表示画面１１に対するコントローラ１６の距離を求めることができる。
【００４２】
こうして本実施形態では、図１に示すようにプレーヤＰがコントローラ１６を把持しながら手を動かしたり、プレーヤＰ自身が移動することによりコントローラ１６の位置、向きを変化させても、表示画面１１上におけるコントローラ１６の指示位置等の情報を演算することができる。
【００４３】
なお図１の例では、ゲーム機１７とコントローラ１６とがケーブルにより接続されているが、ゲーム機１７とコントローラ１６との間で無線通信により情報を送受信するようにしてもよい。また発光部１３、１４の配置位置は表示部１２の上部のみならず、表示部１２の下部や側部など任意の位置とすることができる。即ちコントローラ１６が表示画面１１を指示した場合にイメージセンサ１８が光を受光できる範囲において、表示部１２に対して所与の位置関係を有する位置であればよい。
【００４４】
２．イメージセンサの構成
次に本実施形態のイメージセンサ１８の構成の詳細について説明する。図３は、イメージセンサ１８が取り付けられたコントローラ１６を真横から見た状態と、イメージセンサ１８を拡大して正面から見た状態とを示す図であり、コントローラ１６に対するイメージセンサ１８の取り付け状態を説明するための図である。図３に示すように本実施形態のイメージセンサ１８は、その受光面ＳＦが銃身ＧＢの指示方向ＢＤに対して直交するようにコントローラ１６に取り付けられている。かつ、イメージセンサ１８のＸ軸（基準線Ｌ）がグリップＧＧの取付方向ＧＤに対して直交するように、コントローラ１６に取り付けられている。
【００４５】
従って、グリップＧＧの取付方向ＧＤを鉛直下方向に向けてプレーヤＰがコントローラ１６を把持すると、指示方向ＢＤとイメージセンサ１８のＸ軸（基準線Ｌ）とが水平となる。そして本実施形態では、このようなグリップＧＧの取付方向ＧＤを鉛直下方向に向けた状態を、コントローラ１６の基準姿勢としている。即ち、銃型をしたコントローラ１６をプレーヤＰが現実の銃を構えるように使用したときのコントローラ１６の平均的な姿勢（向き、使用態様）を、コントローラ１６の基準姿勢としている。
【００４６】
そしてイメージセンサ１８は、矩形の受光面ＳＦ上に配列された１７５×１２６の計２２０５０個の受光素子がそれぞれコントローラ１６の先端を向けた方向から入射する赤外光を受光し、各画素の受光情報を連続的に出力する。するとコントローラ１６は、各画素の受光情報が発光部１３、１４の光量に応じて設定された閾値よりも大きいか否か（所与の条件を満たす有効画素か否か）を判定することにより、各画素が赤外光に対応する画素か否かを判定する。しかし赤外光に対応する画素は、発光部１３、１４に対応する画素だけでなく、発光部１３、１４以外の赤外光光源（発光部１３、１４が出射する光と同様の波長帯の光源）に対応する画素である場合がある。
【００４７】
図４（Ａ）は、表示画面１１の正面側から見た発光部１３、１４の周辺の状況を示す図である。本実施形態のゲーム機１７として家庭用ゲーム機を用い、表示部１２として家庭にあるテレビモニタを用いて、ゲームシステム１０を家庭の部屋などにおいて構成した場合には、発光部１３、１４以外の赤外光光源が存在する場合がある。例えば図４（Ａ）に示すように、外光が入射してくる窓ＷＤや白熱電灯ＷＨなども赤外光光源となるため、窓ＷＤや白熱電灯ＷＨなどを光源とする赤外光をイメージセンサ１８が受光すると、これがノイズとなって正確な指示位置を演算することができなくなる原因となる。
【００４８】
図４（Ｂ）は、図４（Ａ）の状況においてコントローラ１６を基準姿勢にして、表示画面１１に向けたときにイメージセンサ１８が撮像した画像ＰＣ２を示している。図４（Ａ）に示すように、現実空間において窓ＷＤや白熱電灯ＷＨなどは、表示画面１１の上部に配置した発光部１３、１４よりも更に上方に位置する場合が多い。従って図４（Ｂ）に示すように、イメージセンサ１８が撮像した画像ＰＣ２では、発光部１３、１４よりも上方を撮像した領域ＵＡに窓ＷＤによるノイズ領域ＮＡ１や白熱電灯ＷＨによるノイズ領域ＮＡ２に対応する画素が発生する場合が多い。
【００４９】
ここで従来の指示位置演算システムでは、図４（Ｂ）に示す画像ＰＣ２の図中左上隅の画素を始点とし図中右下隅の画素を終点として、上部の行から下部の行へと各行を走査しながら各画素について受光情報を連続的に出力し、各画素が光源に対応する画素か否かを判定していた。即ち従来の指示位置演算システムでは、コントローラ１６の基準姿勢において上方に始点画素が配置され下方に終点画素が配置される状態で、コントローラ１６にイメージセンサ１８が取り付けられていた。このように従来の指示位置演算システムでは、ノイズに対応する画素が発生しやすい上方の画素から各画素について受光情報を連続的に出力していたため、光源に対応する画素には発光部１３、１４に対応する画素の他、ノイズ領域ＮＡ１、ＮＡ２に対応する画素も含まれていた。従って、光源に対応する画素のうち発光部１３、１４に対応する画素とノイズに対応する画素とを判別する処理を必要としていた。
【００５０】
しかし図４（Ｂ）に示すように、発光部１３、１４よりも下方を撮像した領域ＤＡにはノイズに対応する画素は発生し難い。そこでかかる状況に着目し本実施形態では、コントローラ１６の基準姿勢において下方に始点画素ＳＰが配置され上方に終点画素ＥＰが配置される状態で、イメージセンサ１８をコントローラ１６に取り付けている。そしてイメージセンサ１８は、撮像した画像ＰＣ２の図中右下隅の画素を始点画素ＳＰとして始点画素ＳＰから左方向に水平走査し、下端の行の走査が終了すると一行上の行の画素を右端から左方向に水平走査する。こうして下部の行から上部の行へと各行を走査しながら、図中左上隅の終点画素ＥＰまで各画素について受光情報を連続的に出力する。即ちコントローラ１６が基準姿勢にある場合に、ノイズに対応する画素が発生し難い下方に対応する画素から各画素の受光情報を連続的に出力する。
【００５１】
従って本発明では、コントローラ１６が基準姿勢であれば、イメージセンサ１８から受光情報が出力された画素のうち最先に所与の条件を満たすと判定された第１の有効画素ＦＰが発光部１３、１４のいずれかに対応する画素となるので、光源に対応する画素が発光部１３、１４に対応する画素かノイズに対応する画素かを判別しなくとも、第１の有効画素ＦＰを発光部１３、１４に対応する画素として扱って正確に指示位置を演算することができる。こうして本発明によれば、所与の条件を満たす有効画素が、発光部１３、１４に対応する画素かノイズに対応する画素かを判定する必要がなく、軽い処理負荷で高速かつ正確に指示位置を演算することができる。
【００５２】
３．回路構成
図５は、本実施形態のコントローラ１６に実装された指示位置検出部の機能ブロック図が示されている。この指示位置検出部は、イメージセンサ１８と、ＡＳＩＣ２００と、ＭＣＵ３００と、ＵＳＢ４００とを含む。
【００５３】
イメージセンサ１８は、ＭＣＵ３００からイニシャル信号を受信すると初期化され、コントローラ１６の先端を向けた方向から入射する赤外光を受光することにより画素ごとに受光情報を取得して、コントローラ１６の先端を向けた方向の画像を撮像する。本実施形態では、各画素の受光情報（受光量）を００〜ＦＦまでの１６進数２桁により取得する。そして、撮像した画像の一端側を始点画素、他端側を終点画素として、始点画素から終点画素までの各画素の受光情報をＡＳＩＣ２００に連続的に出力する。
【００５４】
またイメージセンサ１８は、ＡＳＩＣ２００の制御部２２０にピクセルクロックと垂直同期信号を出力し、ピクセルカウンタ２３０にピクセルクロックを出力する。これにより制御部２２０とピクセルカウンタ２３０は、イメージセンサ１８の各画素の受光情報の出力タイミングと同期がとられている。
【００５５】
ＡＳＩＣ２００は、判定部２１０と、制御部２２０と、ピクセルカウンタ２３０とを含む。
【００５６】
判定部２１０は、イメージセンサ１８から連続的に出力される各画素の受光情報に基づいて、各画素が所与の条件を満たすか否かを判定する。詳細には判定部２１０は、各画素の受光情報が８０（１６進数２桁）以上である場合に第１の条件を満たすと判定し、受光情報が８０以上の画素が赤外光光源に対応する画素であるとしている。
【００５７】
更に本実施形態では判定部２１０は、各画素が第１の条件を満たすか否かを判定するとともに、第１の条件を満たす有効画素が第２の条件を満たすか否かを判定する。即ち光源に対応する画素を構成する画素群は、画素群の中心が明るく（ブライト）、その周囲に行くに従って輝度が落ちて暗くなる（ダーク）。そこで本実施形態では、有効画素の受光情報がＦ０以上である場合に第２の条件を満たすと判定し、８０〜ＥＦの画素は赤外光光源の周辺部に対応する暗画素であるとし、Ｆ０〜ＦＦの画素は赤外光光源の中心部に対応する明画素であるとしている。
【００５８】
そして判定部２１０は、イメージセンサ１８から連続的に出力される各画素の受光情報が第１の条件を満たしていると判定する間、イネーブル信号を制御部２２０に出力するとともに、各画素の受光情報が第２の条件を満たしている場合には当該画素がブライトであることを示す明信号をＭＣＵ３００のピクセルＦＩＦＯ３４０に出力する。
【００５９】
制御部２２０は、判定部２１０からイネーブル信号を受信している間、ピクセルカウンタ２３０から出力される１５ビットのカウント値の、ピクセルＦＩＦＯ３４０への書き込みを許可する。ここでピクセルカウンタ２３０は、制御部２２０からイメージセンサ１８の垂直同期信号を受信してリセットされ、イメージセンサ１８の始点画素を０とし終点画素の２２０５０まで、各画素の受光情報の出力に同期して１５ビットのカウント値を出力する。従って本実施形態では、受光情報が第１の条件を満たすと判定された有効画素のカウント値がピクセルＦＩＦＯ３４０に書き込まれる。
【００６０】
更にこのとき、判定部２１０から明信号を受信している場合には１５ビットのカウント値の更に上位ビットを０とし、判定部２１０から明信号を受信していない場合には１５ビットのカウント値の更に上位ビットを１として、合計１６ビットのデータをピクセルＦＩＦＯ３４０に書き込む。即ちピクセルＦＩＦＯ３４０には、受光情報が第１の条件を満たすと判定された有効画素のカウント値と、当該有効画素が第２の条件を満たすか否かを示すデータとが１６ビットで表されて格納される。
【００６１】
ＭＣＵ３００は、ピクセルＦＩＦＯ３４０と、光源位置演算部３５０と、指示位置演算部３６０とを含む。
【００６２】
ピクセルＦＩＦＯ３４０は、ＡＳＩＣ２００から出力されたデータに基づいて、１つの有効画素について１６ビットのデータを１２８画素分記憶する。そして、各有効画素の１６ビットのデータを先入れ先出しで光源位置演算部３５０に連続的に出力する。
【００６３】
光源位置演算部３５０は、イメージセンサ１８が初期化されてから最先にピクセルＦＩＦＯ３４０に格納されたデータ、即ち最先に第１の条件を満たすと判定された第１の有効画素のカウント値に基づいて、第１の有効画素を含む所定範囲に第１の判定領域を設定する。そして第１の判定領域以外の画素であって最先に第１の条件を満たすと判定された第２の有効画素のカウント値に基づいて、第２の有効画素を含む所定範囲に第２の判定領域を設定する。そして第１の条件を満たす有効画素のうち、第１の判定領域に含まれる有効画素のカウント値（識別情報）と、第２の判定領域に含まれる有効画素のカウント値とに基づいて位置演算を行う。
【００６４】
図６は、イメージセンサ１８が撮像した画像の一部の拡大図であって、判定領域の代表値の演算について説明するための図である。図６において白色のマスは第１の条件を満たしかつ第２の条件をも満たす有効画素を示し、灰色のマスは第１の条件を満たすが第２の条件は満たさない有効画素を示し、黒色の領域は第１の条件を満たさない無効画素群を示している。図６に示すように、イメージセンサ１８が右下の画素から水平方向に順に走査して各画素の受光情報を出力し、判定部２１０が各画素について第１の条件を判定すると、画素Ｐ１が最先に第１の条件を満たす第１の有効画素と判定される。そしてこの第１の有効画素Ｐ１の１６ビットのデータがピクセルＦＩＦＯ３４０から光源位置演算部３５０に入力されると、光源位置演算部３５０は、図６に示すように第１の有効画素を含む所定範囲の円形領域に第１の判定領域ＪＡ１を設定する。即ち第１の有効画素が発光部１３、１４のいずれかに対応する画素であった場合に、発光部１３、１４のいずれかに対応する他の有効画素が存在すると推定される範囲に第１の判定領域ＪＡ１を設定する。
【００６５】
そしてピクセルＦＩＦＯ３４０から次々に入力されてくる有効画素のカウント値に基づいて、各有効画素が第１の判定領域ＪＡ１に含まれるか否か判定する。そして第１の判定領域ＪＡ１に含まれる有効画素のカウント値に基づいて、第１の判定領域ＪＡ１の代表値（重心座標）を求める。本実施形態では光源位置演算部３５０は、各有効画素のカウント値をイメージセンサ１８が撮像した画像ＰＣにおける各画素の座標値に変換してから、第１の判定領域ＪＡ１の重心座標を求める。
【００６６】
具体的には光源位置演算部３５０は、カウント値（０〜２２０５０のいずれか）をイメージセンサ１８のＸ軸上の画素数である１７５で割った余りを求めることにより、カウント値から当該画素の画像におけるＸ座標を算出し、カウント値を１７５で割った商を求めることにより、カウント値から当該画素の画像におけるＹ座標を算出する。例えば始点画素のカウント値０から、Ｘ＝０ｍｏｄ１７５＝０、Ｙ＝０／１７５＝０のようにして、座標値（０，０）を求める。またカウント値１４３９７から、Ｘ＝１４３９７ｍｏｄ１７５＝４７、Ｙ＝１４３９７／１７５＝８２のようにして、座標値（４７，８２）を求める。
【００６７】
そして光源位置演算部３５０は、第１の判定領域ＪＡ１に含まれる有効画素のＸ座標成分の和を第１の判定領域ＪＡ１に含まれる有効画素数の和で割ることにより、第１の判定領域ＪＡ１の重心座標のＸ座標成分を求める。同様に第１の判定領域ＪＡ１に含まれる有効画素のＹ座標成分の和を第１の判定領域ＪＡ１に含まれる有効画素数の和で割ることにより、第１の判定領域ＪＡ１の重心座標のＹ座標成分を求める。ここで本実施形態では光源位置演算部３５０は、第１の判定領域ＪＡ１に含まれる各有効画素のうち第２の条件を満たす有効画素（明画素）と第２の条件を満たさない有効画素（暗画素）とで各有効画素の座標成分値に対する重み付けを異ならせて各有効画素の座標成分値に基づいて第１の判定領域ＪＡ１の重心座標を演算する。
【００６８】
具体的には光源位置演算部３５０は、明画素の座標成分値と明画素の数については２倍した上で前記演算を行う。例えば図６の例では、Ｘ座標成分値が４５の画素については、画素Ｐ７、画素Ｐ１３の２つの画素が明画素であるので座標成分値４５×２が２倍されて他の座標成分値と加算され、明画素の数２が２倍されて他の画素数と加算される。一方、画素Ｐ１９の１つの画素が暗画素であるので座標成分値４５×１がそのまま他の座標成分値と加算され、明画素の数１がそのまま他の画素数と加算される。こうして他のＸ座標成分値の画素についても同様に演算すると、図６の例における第１の判定領域ＪＡ１の重心座標のＸ成分Ｘ１は、
X1=[2*(45*2+46*3+47*6+48*6+49*5+50*2)+(45+46*2+47+50)]
/[2*(2+3+6+6+5+2)+(1+2+1+1)]
=(2286+234)/(48+5)
=2520/53
=47.547
のようにして求められる。同様にして第１の判定領域ＪＡ１の重心座標のＹ成分Ｙ１は、
Y1=[2*(81+82*3+83*5+84*6+85*5+86*3+87)+(81+82+83+85+86)]
/[2*(1+3+5+6+5+3+1)+(1++1+1+1)]
=(4032+417)/(48+5)
=2520/53
=84.962
のようにして求められる。即ち図６の例における第１の判定領域ＪＡ１の重心座標（Ｘ１，Ｙ１）は、（47.547，84.962）と求めることができる。
【００６９】
更に光源位置演算部３５０は、第１の判定領域ＪＡ１以外の画素であって最先に第１の条件を満たすと判定された第２の有効画素を含む所定範囲に第２の判定領域ＪＡ２を設定し、第２の判定領域ＪＡ２についても第１の判定領域ＪＡ１と同様にして重心座標（Ｘ２，Ｙ２）を演算する。そして第１の判定領域ＪＡ１の重心座標（Ｘ１，Ｙ１）と第２の判定領域ＪＡ２の重心座標（Ｘ２，Ｙ２）とを、指示位置演算部３６０に出力する。
【００７０】
指示位置演算部３６０は、第１の判定領域ＪＡ１の重心座標（Ｘ１，Ｙ１）と第２の判定領域ＪＡ２の重心座標（Ｘ２，Ｙ２）とに基づいて、コントローラ１６の表示画面１１に対する指示位置を演算する。具体的には指示位置演算部３６０は、第１の判定領域ＪＡ１の重心座標（Ｘ１，Ｙ１）と第２の判定領域ＪＡ２の重心座標（Ｘ２，Ｙ２）のうち、画像ＰＣにおいて相対的に左側に位置する座標を、表示部１２の左上部に配置された発光部１３の中心座標として扱い、相対的に右側に位置する座標を、表示部１２の右上部に配置された発光部１４の中心座標として扱って、発光部１３、１４とコントローラ１６との位置関係を求め、コントローラ１６の表示画面１１に対する指示位置を演算する。そして指示位置演算部３６０は、演算した指示位置をＵＳＢ４００に出力する。
【００７１】
ＵＳＢ４００は、ＵＳＢインターフェース４１０と、キーファンクション部４２０とを含む。
【００７２】
ＵＳＢインターフェース４１０は、ＭＣＵ３００から入力された指示位置データをゲーム機１７に出力する。またキーファンクション部４２０は、コントローラ１６のトリガ及びその他の操作キーの操作に基づいて操作信号を出力する。そしてゲーム機１７では、トリガの操作信号が入力されたタイミングにおけるコントローラ１６の指示位置データをゲーム画面（表示画面１１）上における仮想弾の着弾位置として認識し、ターゲットに対する当たり外れの判定などのゲーム演算を行う。
【００７３】
４．位置演算処理の流れ
次に、上述したコントローラ１６における位置演算処理の流れをフローチャートを用いて説明する。図７は、本実施形態の位置演算処理の概略の一例を示すフローチャートである。図７に示すように、まず判定部２１０が、イメージセンサ１８から出力される各画素の受光情報に基づいて、各画素が所与の条件を満たすか否かを判定する（ステップＳ１０）。そして光源位置演算部３５０が、第１の有効画素と第２の有効画素の識別情報に基づいて、２つ光源に対応する２つの判定領域の重心位置演算を行う（ステップＳ１２）。すると指示位置演算部３６０が、２つの判定領域の重心位置に基づいて、コントローラ１６の指示位置を演算する（ステップＳ１４）。そしてコントローラ１６の指示位置をゲーム機１７に出力する（ステップＳ１６）。そして本実施形態では、ステップＳ１０〜ステップＳ１６までの処理を１／５４秒ごとに繰返し行う。
【００７４】
図８は、図７のステップＳ１０の画素判定処理の詳細の一例を示すフローチャートである。図８に示すように、まず判定部２１０が、イメージセンサ１８から画素ごとの受光情報を取得すると（ステップＳ１００）、受光情報が第１の閾値以上（第１の条件を満たす）か判定し（ステップＳ１０２）、第１の閾値以上でない場合には（ステップＳ１０２のＮ）、イメージセンサ１８から他の画素の受光情報を取得する（ステップＳ１００）。一方、第１の閾値以上である場合には（ステップＳ１０２のＹ）、受光情報が第２の閾値以上（第２の条件を満たす）か判定し（ステップＳ１０４）、第１の閾値以上である場合には（ステップＳ１０４のＹ）、１６ビットデータの最上位ビットを属性ビットとして０にする（ステップＳ１０６）。一方、第２の閾値以上でない場合には（ステップＳ１０４のＮ）、１６ビットデータの最上位ビットを属性ビットとして１にする（ステップＳ１０８）。そして属性ビットを最上位ビットとし画素のカウント値を下位１５ビットとした１６ビットのデータをピクセルＦＩＦＯ３４０に格納する（ステップＳ１１０）。そして本実施形態では、ステップＳ１００〜ステップＳ１１０までの処理を、イメージセンサ１８が出力するピクセルクロックに同期して、イメージセンサ１８の各画素について繰返し行う。
【００７５】
図９は、図７のステップＳ１２の光源位置演算処理の詳細の一例を示すフローチャートである。図９に示すように、まず光源位置演算部３５０が、ピクセルＦＩＦＯ３４０から第１の有効画素についての１６ビットのデータを取得すると、下位１５ビットのカウント値をＸ成分の値とＹ成分の値に分解する（ステップＳ２００）。そして、第１の判定領域が設定済みか否か判定する（ステップＳ２０２）。ここで第１の判定領域が設定済みでない場合には（ステップＳ２０２のＮ）、当該画素が第１の有効画素であるとして、第１の有効画素を含む所定範囲の領域に第１の判定領域を設定する（ステップＳ２０４）。
【００７６】
すると１６ビットのデータの最上位ビットが０か否か判定する（ステップＳ２０６）。ここで最上位ビットが０の場合、即ち明画素である場合には（ステップＳ２０６のＹ）、Ｘ成分の値とＹ成分の値と画素数を２倍して（ステップＳ２０８）、レジスタＲＸ１にＸ成分の値を、レジスタＲＹ１にＹ成分の値を、レジスタＲＣ１に画素数をそれぞれ加算する（ステップＳ２１０）。一方、最上位ビットが１の場合、即ち暗画素である場合には（ステップＳ２０６のＮ）、２倍せずにそのままレジスタＲＸ１にＸ成分の値を、レジスタＲＹ１にＹ成分の値を、レジスタＲＣ１に画素数をそれぞれ加算する（ステップＳ２１０）。
【００７７】
そしてイメージセンサ１８の０〜２２０５０の画素（１フレーム分の画素）に含まれる全ての有効画素についてステップＳ２００から始まる各処理を行ったか否か判定し（ステップＳ２１２）、全ての有効画素について各処理を行っていない場合には（ステップＳ２１２のＮ）、ステップＳ２００に戻り、ピクセルＦＩＦＯ３４０から次の画素についての１６ビットのデータを取得し、ステップＳ２００〜ステップＳ２１２までの処理を繰り返す。
【００７８】
ここで次の有効画素については、ステップＳ２０２において第１の判定領域が設定済みであると判定され（ステップＳ２０２のＹ）、当該有効画素の座標値に基づいて当該有効画素が第１の判定領域の範囲内か否か判定する（ステップＳ２１４）。そして当該有効画素が第１の判定領域の範囲内である場合には（ステップＳ２１４のＹ）、ステップＳ２０６〜ステップＳ２１２の各処理を行う。一方、当該有効画素が第１の判定領域の範囲内でない場合には（ステップＳ２１４のＮ）、第２の判定領域が設定済みか否か判定する（ステップＳ２１６）。
【００７９】
ここで第２の判定領域が設定済みでない場合には（ステップＳ２１６のＮ）、当該有効画素が第２の有効画素であるとして、第２の有効画素を含む所定範囲の領域に第２の判定領域を設定する（ステップＳ２１８）。するとステップＳ２２０〜ステップＳ２２４において、第１の判定領域の有効画素についてのステップＳ２０６〜ステップＳ２１０までの処理と同様の処理を行い、レジスタＲＸ２にＸ成分の値を、レジスタＲＹ２にＹ成分の値を、レジスタＲＣ２に有効画素数をそれぞれ加算する（ステップＳ２２４）。
【００８０】
一方ステップＳ２１６において第２の判定領域が設定済みである場合には（ステップＳ２１６のＹ）、当該有効画素の座標値に基づいて当該有効画素が第２の判定領域の範囲内か否か判定する（ステップＳ２２６）。そして当該有効画素が第２の判定領域の範囲内である場合には（ステップＳ２２６のＹ）、ステップＳ２２０〜ステップＳ２２４の各処理を行う。一方、当該有効画素が第２の判定領域の範囲内でない場合には（ステップＳ２２６のＮ）、レジスタへの加算処理は行わず、全ての有効画素について各処理を行ったか判定する（ステップＳ２１２）。
【００８１】
こうして全ての有効画素について各処理を行うと（ステップＳ２１２のＹ）、２つの判定領域についてデータを取得したか否か判定する（ステップＳ２２８）。ここで２つの判定領域についてデータを取得している場合には（ステップＳ２２８のＹ）、レジスタＲＸ１の総和をレジスタＲＣ１の総和で割り、第１の判定領域の重心座標のＸ成分Ｘ１を求め、レジスタＲＹ１の総和をレジスタＲＣ１の総和で割り、第１の判定領域の重心座標のＹ成分Ｙ１を求め、レジスタＲＸ２の総和をレジスタＲＣ２の総和で割り、第２の判定領域の重心座標のＸ成分Ｘ２を求め、レジスタＲＹ２の総和をレジスタＲＣ２の総和で割り、第２の判定領域の重心座標のＹ成分Ｙ２を求める（ステップＳ２３０）。そして第１の判定領域の重心座標（Ｘ１，Ｙ１）と、第２の判定領域の重心座標（Ｘ２，Ｙ２）を指示位置演算部３６０に出力する（ステップＳ２３２）。
【００８２】
一方、２つの判定領域についてデータを取得していない、即ち第１の判定領域についてのデータしか取得していない場合には（ステップＳ２２８のＮ）、コントローラ１６が検出範囲外を指示していることを示す範囲外設定を行い（ステップＳ２３４）、設定情報を指示位置演算部３６０に出力する（ステップＳ２３６）。
【００８３】
こうして指示位置演算部３６０にデータを出力すると、各レジスタと設定した判定領域とを初期化する（ステップＳ２３８）。そしてイメージセンサ１８がイニシャライズされて次のフレームについての第１の有効画素がピクセルＦＩＦＯ３４０から出力される度に、ステップＳ２００〜ステップＳ２３８までの処理を繰り返す。
【００８４】
５．発光部の構成
次に、本実施形態の発光部の構成の詳細について説明する。
【００８５】
５−１．遮蔽部によるノイズ発生防止
図１０（Ａ）は、コントローラ１６を表示画面１１に向けた状態を真横から見た図である。本実施形態では、コントローラ１６と発光部１３、１４との位置関係がある程度の範囲にある場合にイメージセンサ１８が発光部１３、１４からの赤外光を受光できるように、発光部１３、１４には、ある程度の指向性を持ちつつ所与の範囲の方向に赤外光を進行させる光源２２が設けられている。即ち発光部１３、１４は、光源２２の向きとなる中心方向ＣＤを中心として所与の範囲の進行方向に光源２２から赤外光を進行させる。ここで光源２２の中心方向は、例えば光源２２の中心光度方向（最大光度方向）とすることができる。
【００８６】
そして図１０（Ａ）に示すように、例えばゲームシステム１０を家庭の部屋などにおいて構成すると、光源２２とイメージセンサ１８との間に、鏡やガラステーブルなどのように光源２２からの赤外光を反射するようなものが存在する場合がある。すると、光源２２からは所与の範囲の進行方向に光が進行するので、光源２２の位置とは異なる位置（鏡やガラステーブルなどの反射面）に、光源２２からの直接光ＤＬと同様の波長、同様の大きさの反射光ＲＬが発生する場合がある。そしてイメージセンサ１８がかかる反射光ＲＬを受光すると、これがノイズとなって正確な指示位置を演算することができない。
【００８７】
図１１（Ａ）は、図１０（Ａ）の状態においてイメージセンサ１８が撮像した画像ＰＣ３を示している。図１０（Ａ）の状態ではイメージセンサ１８は、光源２２からの直接光ＤＬを受光するとともに反射光ＲＬを受光しているので、図１１（Ａ）に示すように、光源２２に対応する赤外光源領域ＩｒＡ１、ＩｒＡ２の下方に、反射光ＲＬに対応するノイズ領域ＮＡ３、ＮＡ４が発生してしまう。
【００８８】
そこで本実施形態では図１１（Ｂ）に示すように、光源２２（発光部１３、１４）から下方向に進行する光を遮蔽する遮蔽部２４を設けることにより、発光部１３、１４よりも下方における反射光ＲＬの発生を防止している。即ち、光源２２（発光部１３、１４）とイメージセンサ１８（コントローラ１６）とが所与の基準位置関係にある場合にイメージセンサ１８に入射する反射光ＲＬを発生させる方向に光源２２からの直接光ＤＬを進行させない位置に遮蔽部２４を設けている。これにより所与の基準位置関係にある場合に、イメージセンサ１８に光源２２からの直接光ＤＬを受光させつつ、反射光ＲＬを受光させないようにすることができる。
【００８９】
具体的には本実施形態では光源２２とイメージセンサ１８との基準位置関係を、コントローラ１６が前述した基準姿勢にあり、コントローラ１６の位置が、発光部１３、１４から４メートル離れた基準位置にあり、かつコントローラ１６の向きが、光源２２を指示する基準向きにある場合としている。そしてかかる基準位置関係である場合に、イメージセンサ１８の受光範囲である画角θ内に入射する反射光ＲＬを発生させないように、遮蔽部２４の位置、向き、大きさ、形状等を定めている。
【００９０】
ここで本実施形態では基準位置として、ゲームシステム１０が正確な指示位置を演算するために必要な光量（光度、光束）をイメージセンサ１８が光源２２から得ることができる最大距離となる位置を設定し、また基準向きとして、プレーヤがコントローラ１６を表示画面１１に向けてゲームを行う際の平均的な（基本的な）コントローラ１６の向きを設定して、遮蔽部２４の位置、向き、大きさ、形状等を定めている。そして図１０（Ｂ）の例では、光源２２の近傍下方に板状の遮蔽部２４を発光部１３、１４の前面側に延出させて設けている。従って遮蔽部２４によって、光源２２から水平方向よりも下方向に進行する光のうち、水平方向から離れた所定範囲の角度φ内の方向に進行する光を遮蔽することができる。
【００９１】
図１１（Ｂ）は図１０（Ｂ）の状態においてイメージセンサ１８が受光した光、即ち画像データ領域ＰＡに格納された画像データを示している。図１０（Ｂ）の状態ではイメージセンサ１８は、光源２２からの直接光ＤＬは受光するが反射光ＲＬは受光していないので、図１１（Ｂ）に示すように、光源２２に対応する赤外光源領域ＩｒＡ１、ＩｒＡ２の下方には反射光ＲＬに対応するノイズ領域ＮＡ３、ＮＡ４は発生しない。
【００９２】
こうして本実施形態では図１０（Ｂ）に示すように、発光部１３、１４とコントローラ１６との距離が４メートル以内であるゲームプレー範囲において、コントローラ１６が表示画面１１に向けられた場合にイメージセンサ１８に入射する反射光ＲＬを発生させないようにすることができる。ここで図１０（Ｂ）においても一定の反射光ＲＬが発生しているが、かかる反射光ＲＬは、コントローラ１６がゲームプレー範囲の外に位置しない限りイメージセンサ１８に入射しないので問題とならない。
【００９３】
なお、基準位置関係は上述の例に限らず種々の位置関係を設定することができる。例えば基準位置は、光源２２の強さ（正確な指示位置を演算するために必要な光量などを確保できる距離）や配光曲線、ビーム角（所定光量の拡散範囲）に応じて設定することができる。また基準向きは、指示位置演算システムの使用用途に応じて設定することができる。即ち指示体（コントローラ１６）を把持する操作者（プレーヤＰ）の指示面（表示画面１１）に対する基本的な位置に応じて種々の向きに設定することができる。例えば本実施形態の指示位置演算システムをプレゼンテーションシステムに適用した場合には、指示体を操作する操作者はスクリーンなどの指示面に対して正対することは少なく、斜め前などに位置することが多い。しかも操作者よりも上方に配置された指示面（光源）に指示体を向けることが多い。従ってこの場合には基準向きは、例えば指示面の斜め前の位置から上方向を指す向きを基準向きとすることができる。
【００９４】
５−２．遮蔽部の詳細
図１２は、本実施形態の発光ユニット１５を構成する１つの発光部１３（１４）の斜視図である。本実施形態では発光部１３（１４）は、筺体３０の底面３２を表示部１２の上面に固定して設置される。そして筺体３０は前面３４と背面３６とを有し、その前面３４には、前面３４側に赤外光を進行させる３つのＬＥＤ光源２２−１〜２２−３が設けられている。本実施形態では光源２２−１〜２２−３は、光源２２−１〜２２−３の光の進行方向から見て逆三角形の各頂点となるように配置されている。従って光源２２−１〜２２−３とイメージセンサ１８との距離が離れた場合でも、イメージセンサ１８が光源２２−１〜２２−３からの赤外光を所定の面積を有する領域として確実に受光することができる。
【００９５】
また筺体３０の前面３４側には、光源２２−１〜２２−３からの赤外光を透過するカバー３８が設けられており、光源２２−１〜２２−３を保護している。そして筺体３０の前面３４の下端部、即ち光源２２−１〜２２−３の近傍下方には、前面３４から前面３４側に延出する遮蔽部２４が設けられている。本実施形態では遮蔽部２４は、筺体３０と一体成型されており、光源２２−１〜２２−３からの赤外光を透過しない素材が用いられている。従ってこの遮蔽部２４により、光源２２−１〜２２−３から水平方向よりも下方向に進行する光のうち、水平方向から離れた所定範囲の方向に進行する光を遮蔽することができる。
【００９６】
図１３は、図３の発光部１３（１４）を真横から見た図である。図１３に示すように本実施形態では、遮蔽部２４の上面である遮蔽面４０と筺体３０の前面３４とがなす角の角度αが鋭角となっている。従って角度αが直角または鈍角である場合よりも、所定の範囲の方向に進行する光を遮蔽するために必要な、遮蔽部２４の前面３４からの延出距離ｌを小さくすることができる。具体的には本実施形態では、角度αを７０度とし、延出距離ｌを７ｍｍとしている。こうして図１３の例によれば、遮蔽部２４を設けても発光部１３（１４）に突出部材が発生することを避けつつ、しかも発光部１３（１４）の小型化を計ることができる。
【００９７】
５−３．光源の向きによるノイズ防止
以上は、発光部１３、１４の前面に遮蔽部２４を設けることにより、光源２２−１〜２２−３から下方向に進行する光を遮蔽してノイズとなる反射光の発生を防止する例を挙げて説明したが、発光部１３、１４に配置される光源２２−１〜２２−３の向きにより、光源２２−１〜２２−３から下方向に光を進行させないようにしてノイズとなる反射光の発生を防止してもよい。即ち、光源２２（発光部１３、１４）とイメージセンサ１８（コントローラ１６）とが所与の基準位置関係にある場合にイメージセンサ１８に入射する反射光ＲＬを発生させる方向に光源２２からの直接光ＤＬを進行させない方向に、光源２２−１〜２２−３の中心方向ＣＤの向きを向けるようにしてもよい。
【００９８】
図１４には、筺体３０の底面３２を表示部１２の上面に固定して発光部１３（１４）を設置した場合に、光源２２−１〜２２−３の中心方向ＣＤが水平方向（表示部１２の表示画面１１の法線方向）ＨＤに対してβ度上方向に向くように光源２２−１〜２２−３を配置した発光部１３（１４）の例が示されている。図１４の例では、光源２２−１〜２２−３の中心方向ＣＤをβ度上方向に向けたことにより、イメージセンサ１８に入射する反射光を発生させる方向に光源２２からの直接光を進行させないようにしている。従って、図１３の例と同様に、光源２２−１〜２２−３の下方においてノイズとなる反射光の発生を防止することができる。
【００９９】
６．イメージセンサの受光可能範囲
次に、本実施形態のゲームシステム１０においてイメージセンサ１８が光源２２−１〜２２−３からの光を受光することができる受光可能範囲について説明する。本実施形態では、コントローラ１６と発光部１３、１４との位置関係がある程度の範囲にある場合に、イメージセンサ１８が発光部１３、１４からの赤外光を受光できるようにするため、１つの発光部１３（１４）には３個の光源２２−１〜２２−３が、それぞれの中心方向を異ならせて配置されている。
【０１００】
図１５（Ａ）は本実施形態の発光部１３（１４）を正面から見た図であり、図１５（Ｂ）は、発光部１３（１４）を真上から見た図である。図１５（Ａ）に示すように本実施形態の発光部１３（１４）の３個の光源２２−１〜２２−３は、逆三角形の各頂点となるように配置されている。そして最も下方に位置する第１の光源２２−１は、図１５（Ｂ）に示すように、発光部１３（１４）の基準方向ＳＤである第１の方向Ｄ１に、光源２２−１の中心方向ＣＤ１を向けて配置されている。
【０１０１】
ここで本実施形態の発光部１３（１４）では基準方向ＳＤを、コントローラ１６を把持するプレーヤＰの基本的な位置方向である表示画面１１の正面方向としている。即ち、筺体３０の底面３２を表示部１２の上面に固定して発光部１３（１４）を設置した場合に、表示部１２の表示画面１１の法線方向と平行になる方向を基準方向ＳＤとしている。従って本実施形態では、第１の光源２２−１から進行する光によって、プレーヤＰの基本的な位置方向である表示画面１１の正面方向を中心とした所定範囲を、イメージセンサ１８の受光可能範囲とすることができる。
【０１０２】
また、前述したようにイメージセンサ１８は、撮像した画像ＰＣを構成する画素の下部の行から上部の行へと各行を走査しながら各画素について受光情報を連続的に出力するので、画像ＰＣにおける３個の光源２２−１〜２２−３に対応する画素の中では、最も下方に位置する第１の光源２２−１に対応する画素の受光情報を最先に出力する。よって第１の光源２２−１に対応する画素が、最先に所与の条件を満たすと判定される第１の有効画素となる。そして本実施形態では、かかる第１の光源２２−１の中心方向ＣＤ１を表示画面１１の正面方向に向けることにより、第１の有効画素に対応する第１の光源２２−１の最大光度方向を表示画面１１の正面方向（プレーヤＰの基本的な位置方向）としている。従って本実施形態では、プレーヤＰが表示画面１１の正面方向からコントローラ１６を表示画面１１に向けた場合には、最も下方に位置する第１の光源２２−１から進行する光によって確実に第１の有効画素を判定することができる。
【０１０３】
一方、正面（光の進行方向）から見て左側に位置する第２の光源２２−２は、図１５（Ｂ）に示すように、基準方向ＳＤと９０度以内の角度差γで方向が異なる第２の方向Ｄ２に、光源２２−２の中心方向ＣＤ２を向けて配置されている。本実施形態では第２の光源２２−２は、正面から見て基準方向ＳＤから６０度左方向に中心方向ＣＤ２を向けて配置されている。従って本実施形態では、第２の光源２２−２から進行する光によって、表示画面１１の正面方向の左側方向をイメージセンサ１８の受光可能範囲とすることができる。
【０１０４】
また、正面（光の進行方向）から見て右側に位置する第３の光源２２−３は、図１５（Ｂ）に示すように、基準方向ＳＤを対称軸として第２の方向Ｄ２と線対称となる第３の方向Ｄ３に、光源２２−３の中心方向ＣＤ３を向けて配置されている。本実施形態では第３の光源２２−３は、正面から見て基準方向ＳＤから６０度右方向に中心方向ＣＤ３を向けて配置されている。従って本実施形態では、第３の光源２２−３から進行する光によって、表示画面１１の正面方向の右側方向をイメージセンサ１８の受光可能範囲とすることができる。
【０１０５】
なお本実施形態のゲームシステム１０では、プレーヤＰは床面（水平面）に沿って移動するので、第２の方向Ｄ２と第３の方向Ｄ３とは、水平面と平行な方向で互いに向きが異なるようにする態様が好ましい。また下方向に発生する光源２２−１〜２２−３の反射光を防止する必要がある場合には、光源２２−１〜２２−３の中心方向ＣＤ１〜ＣＤ３の向きを水平方向ＨＤよりも５度程度上方に向けるようにしてもよい。
【０１０６】
７．機能ブロック
次に、図１６を用いて本実施形態における指示位置演算システム（ゲームシステム）の構成について説明する。図１６は、本実施形態における指示位置演算システムの機能ブロック図の一例である。なお、本実施形態の指示位置演算システムは、図１６の構成要素（各部）の一部を省略した構成としてもよい。
【０１０７】
操作部１６０は、プレーヤが操作データを入力するためのものである。特に本実施形態では、プレーヤが操作部１６０を把持して操作部１６０自体の位置、向きを任意に変更可能であって、表示画面１１などの指示面上の任意の位置を指示する指示体（コントローラ、シューティングデバイス、ポインティングデバイス）とすることができる。
【０１０８】
また操作部１６０は、プレーヤがＯＮ／ＯＦＦ入力を行うための操作子としてのトリガが設けられている。なおトリガの他に、ボタン、レバー（アナログパッド）、十字キー、ステアリング、マイク、タッチパネル型ディスプレイなどを備えるようにして、種々の操作データを入力できるようにしてもよい。
【０１０９】
また操作部１６０は、撮像部１６２、判定部１６４、演算部１６６を含む。
【０１１０】
撮像部１６２は、ＣＭＯＳセンサやＣＣＤカメラなどのイメージセンサにより実現することができ、撮像した画像の一端側を始点画素、他端側を終点画素として、始点画素から終点画素までの各画素の受光情報を連続的に出力する。ここで撮像部１６２は、ハードウェアの構成により各画素の受光情報を連続的に出力するようにしてもよいし、ソフトウェアによる制御により各画素の受光情報を連続的に出力するようにしてもよい。
【０１１１】
判定部１６４は、各種プロセッサ（ＣＰＵ、ＭＰＵ、ＤＳＰ等）、ＡＳＩＣ（ゲートアレイ等）などのハードウェアや、プログラムにより実現でき、撮像部１６２から連続的に出力される各画素の受光情報に基づいて、各画素が所与の条件を満たすか否かを判定する。
【０１１２】
演算部１６６は、各種プロセッサ（ＣＰＵ、ＭＰＵ、ＤＳＰ等）、ＡＳＩＣ（ゲートアレイ等）などのハードウェアや、プログラムにより実現でき、所与の条件を満たす画素が発光部１３、１４に対応する画素である場合に操作部１６０の指示位置が求められるように、所与の条件を満たす画素の識別情報に基づいて位置演算を行う。
【０１１３】
なお判定部１６４と演算部１６６は、１つのプロセッサなどにより一体的に実現してもよい。また判定部１６４と演算部１６６とを操作部１６０に設けずに、処理部１００の機能として実現するようにしてもよい。
【０１１４】
記憶部１７０は、処理部１００や通信部１９６などのワーク領域となるもので、その機能はＲＡＭ（ＶＲＡＭ）などにより実現できる。そして、本実施形態の記憶部１７０は、ワーク領域として使用される主記憶部１７１と、最終的な表示画像等が記憶されるフレームバッファ１７２と、オブジェクトのモデルデータが記憶されるオブジェクトデータ記憶部１７３と、各オブジェクトデータ用のテクスチャが記憶されるテクスチャ記憶部１７４と、オブジェクトの画像の生成処理時にＺ値が記憶されるＺバッファ１７６と、を含む。なお、これらの一部を省略する構成としてもよい。
【０１１５】
情報記憶媒体１８０（コンピュータにより読み取り可能な媒体）は、プログラムやデータなどを格納するものであり、その機能は、光ディスク（ＣＤ、ＤＶＤ）、光磁気ディスク（ＭＯ）、磁気ディスク、ハードディスク、磁気テープ、或いはメモリ（ＲＯＭ）などにより実現できる。
【０１１６】
この情報記憶媒体１８０には、処理部１００において本実施形態の種々の処理を行うためのプログラム（データ）が記憶されている。即ち、この情報記録媒体１８０には、本実施形態の各部としてコンピュータを機能させるためのプログラム（各部の処理をコンピュータに実行させるためのプログラム）が記憶されている。
【０１１７】
表示部１９０は、本実施形態により生成された画像を出力するものであり、その機能は、ＣＲＴ、ＬＣＤ、タッチパネル型ディスプレイなどにより実現できる。特に本実施形態では、表示部１９０の表示画面の中や、その周辺に、操作部１６０と表示部１９０の表示画面の相対位置を演算するための発光ユニット１５が設けられている。本実施形態ではこの発光ユニット１５の光源として、不可視光を射出する赤外光ＬＥＤを用いている。
【０１１８】
音出力部１９２は、本実施形態により生成された音を出力するものであり、その機能は、スピーカ、或いはヘッドフォンなどにより実現できる。
【０１１９】
携帯型情報記憶装置１９４には、プレーヤの個人データやゲームのセーブデータなどが記憶されるものであり、この携帯型情報記憶装置１９４としては、メモリカードや携帯型ゲーム装置などがある。
【０１２０】
通信部１９６は、外部（例えばホスト装置や他の画像生成システム）との間で通信を行うための各種制御を行うものであり、その機能は、各種プロセッサ又は通信用ＡＳＩＣなどのハードウェアや、プログラムなどにより実現できる。
【０１２１】
なお、本実施形態の各部としてコンピュータを機能させるためのプログラム（データ）は、ホスト装置（サーバー）が有する情報記憶媒体からネットワーク及び通信部１９６を介して情報記憶媒体１８０（記憶部１７０）に配信してもよい。このようなホスト装置（サーバー）の情報記憶媒体の使用も本発明の範囲内に含めることができる。
【０１２２】
処理部１００（プロセッサ）は、操作部１６０からの操作データやプログラムなどに基づいて、ゲーム処理、画像生成処理、或いは音生成処理などの処理を行う。ここで、ゲーム処理としては、ゲーム開始条件が満たされた場合にゲームを開始する処理、ゲームを進行させる処理、キャラクタやマップなどのオブジェクトを配置する処理、オブジェクトを表示する処理、ゲーム結果を演算する処理、或いはゲーム終了条件が満たされた場合にゲームを終了する処理などがある。この処理部１００は記憶部１７０をワーク領域として各種処理を行う。処理部１００の機能は各種プロセッサ（ＣＰＵ、ＤＳＰ等）、ＡＳＩＣ（ゲートアレイ等）などのハードウェアや、プログラムにより実現できる。
【０１２３】
特に、本実施形態の処理部１００は、表示制御部１０４、判定部１０６、評価部１０８、描画処理部１２０、音生成部１３０を含む。なお、これらの一部を省略する構成としてもよい。
【０１２４】
表示制御部１０４は、表示部１９０に表示出力される表示物（オブジェクト）の表示制御を行う。具体的には、表示物（ゲームキャラクタ、背景、標的、車、ボール、アイテム、建物、樹木、柱、壁、マップ）を発生させたり、表示物の表示位置を指示したり、表示物を消滅させたりするなどの表示制御を行う。即ち発生した表示物を表示物リストに登録したり、表示物リストを描画処理部１２０等に転送したり、消滅した表示物を表示物リストから削除したりするなどの表示制御を行う。また表示制御部１０４は、表示画面１１上における操作部１６０の指示位置の情報に基づいて、表示画面１１に指示位置（着弾点）を示す表示物を表示させる。
【０１２５】
判断部１０６は、操作部１６０に設けられた操作子（トリガ）の操作入力に応じて、表示部１９０の表示画面１１上における操作部１６０の指示位置情報と、標的オブジェクトＴＯとの位置関係を判断する。具体的には判定部１０６は、操作子の操作入力を受け付けた時点での指示位置情報に基づいて、指示位置と標的オブジェクトＴＯの表示位置とがヒット（一致、着弾）したか否かを判断する。
【０１２６】
評価部１０８は、ヒット判定の結果に基づいて、操作部１６０の操作に関する評価を行う。具体的には本実施形態では、標的オブジェクトＴＯに着弾した場合に、得点演算を行うなどして、操作者の操作を評価する処理を行う。
【０１２７】
描画処理部１２０は、処理部１００で行われる種々の処理（ゲーム処理）の結果に基づいて描画処理を行い、これにより画像を生成し、表示部１９０に出力する。この場合、描画処理部１２０が生成する画像は、いわゆる２次元画像であってもよいし、３次元画像であってもよい。そして３次元画像を生成する場合には、まず、座標変換（ワールド座標変換、カメラ座標変換）、クリッピング処理、或いは透視変換等のジオメトリ処理が行われ、その処理結果に基づいて、描画データ（プリミティブの頂点の位置座標、テクスチャ座標、色データ、法線ベクトル或いはα値等）が作成される。そして、この描画データ（プリミティブデータ）に基づいて、透視変換後（ジオメトリ処理後）の表示物（１又は複数プリミティブ）を描画バッファ（フレームバッファあるいは中間バッファなどのピクセル単位で画像情報を記憶できるバッファ。ＶＲＡＭ）に描画する。これにより、ゲーム空間内において仮想カメラ（所与の視点）から見える画像が生成される。
【０１２８】
音生成部１３０は、処理部１００で行われる種々の処理の結果に基づいて音処理を行い、ＢＧＭ、効果音、又は音声などのゲーム音を生成し、音出力部１９２に出力する。
【０１２９】
なお、本実施形態の画像生成システムは、１人のプレーヤのみがプレイできるシングルプレーヤモード専用のシステムにしてもよいし、複数のプレーヤがプレイできるマルチプレーヤモードも備えるシステムにしてもよい。
【０１３０】
また、複数のプレーヤがプレイする場合に、これらの複数のプレーヤに提供するゲーム画像やゲーム音を、１つの端末を用いて生成してもよいし、ネットワーク（伝送ライン、通信回線）などで接続された複数の端末（ゲーム機、携帯電話）を用いて分散処理により生成してもよい。
【０１３１】
なお本発明は、上記実施形態で説明したものに限らず、種々の変形実施が可能である。例えば、明細書又は図面中の記載において広義や同義な用語として引用された用語は、明細書又は図面中の他の記載においても広義や同義な用語に置き換えることができる。
【０１３２】
また上述の発光ユニット１５は、２つの発光部１３、１４が独立して構成されているものを例に挙げて説明したが、２つの発光部１３、１４を一体成型して発光ユニット１５を構成するようにしてもよい。例えば発光ユニット１５を横長の棒状部材として形成し、左右端に発光部１３、１４を配置するようにしてもよい。そして、発光部１３、１４間の長さを複数段階で図中矢印方向に伸縮させることができるようにしてもよい。例えば２０インチモニタから５０インチモニタまでの複数種類の大きさのモニタに対応させて、複数段階の長さに設定することができるようにしてもよい。
【０１３３】
また上述の光源２２は、不可視光である赤外光を発光する例を挙げて説明したが、他の不可視光としてもよいし、可視光としてもよい。また不可視光の光源と可視光の光源の双方を設けて、切り替え点灯可能に構成してもよい。特に発光部（光源）と指示体（受光部）との位置関係を初期設定するために、操作者に指示面を指示させる場合には、可視光を出力させるようにしてもよい。
【０１３４】
また本発明は種々の画像生成システムに適用できる。上述の実施形態では、本発明をゲームシステムに適用した場合を例に挙げて説明したが、本発明は、プレゼンテーションシステムなども含む指示位置演算システム、及び指示位置演算システムに用いる指示体にも適用することができる。
【０１３５】
また本発明は、業務用ゲームシステム、家庭用ゲームシステム、多数のプレーヤが参加する大型アトラクションシステム、シミュレータ、マルチメディア端末、ゲーム画像を生成するシステムボード、携帯電話等の種々の画像生成システムに適用できる。
【図面の簡単な説明】
【０１３６】
【図１】本実施形態のシステムの概略外観の一例を示す図。
【図２】本実施形態で撮像された画像の一例を説明するための図。
【図３】本実施形態の指示体と撮像部の一例を説明するための図。
【図４】図４（Ａ）は本実施形態のシステムが設置される状況の一例を説明するための図であり、図４（Ｂ）は本実施形態で撮像された画像の一例を説明するための図である。
【図５】本実施形態の指示体の機能ブロックの一例を示す図。
【図６】本実施形態で撮像された画像の一部の一例を説明するための図。
【図７】本実施形態の処理の一例を示すフローチャート図。
【図８】本実施形態の処理の一例を示すフローチャート図。
【図９】本実施形態の処理の一例を示すフローチャート図。
【図１０】図１０（Ａ）、図１０（Ｂ）は本実施形態の原理の一例を説明するための図。
【図１１】図１１（Ａ）、図１１（Ｂ）は本実施形態で撮像された画像の一例を説明するための図。
【図１２】本実施形態の発光部の概略外観の一例を示す図。
【図１３】本実施形態の発光部の概略外観の一例を示す図。
【図１４】本実施形態の発光部の概略外観の一例を示す図。
【図１５】図１５（Ａ）、図１５（Ｂ）は本実施形態の発光部の概略外観の一例を示す図。
【図１６】本実施形態の機能ブロックの一例を示す図。
【符号の説明】
【０１３７】
Ｐ  プレーヤ、ＴＯ  標的オブジェクト、ＧＢ  銃身、ＧＧ  グリップ、ＧＴ  トリガ、
ＰＡ  画像、ＩｒＡ１・ＩｒＡ２  赤外光源領域、ＤｐＡ  表示画面領域、
ＢＤ  指示方向、ＧＤ  グリップの取付方向、ＳＰ  始点画素、ＥＰ  終点画素、
ＳＦ  受光面、ＮＡ  ノイズ領域、
ＤＬ  直接光、ＲＬ  反射光、ＣＤ  中心方向、ＨＤ  水平方向、ＳＤ  基準方向、
Ｄ１  第1の方向、Ｄ２  第２の方向、Ｄ３  第３の方向、
１１  表示画面、１２  表示部、１３・１４  発光部、１５  発光ユニット、
１６  コントローラ、１７  ゲーム機、１８  イメージセンサ、２２  光源、
２４  遮蔽部、３０  筺体、３２  底面、３４  前面、３６  背面、３８  カバー、
１００  処理部、１０４  表示制御部、１０６  判定部、１０８  評価部、
１６０  操作部、１６２  撮像部、１６４  判定部、１６６  演算部、１７０  記憶部、１９０  表示部
【図１】
2008198111.tif 000003
【図２】
2008198111.tif 000004
【図３】
2008198111.tif 000005
【図４】
2008198111.tif 000006
【図５】
2008198111.tif 000007
【図７】
2008198111.tif 000008
【図８】
2008198111.tif 000009
【図９】
2008198111.tif 000010
【図１０】
2008198111.tif 000011
【図１１】
2008198111.tif 000012
【図１２】
2008198111.tif 000013
【図１３】
2008198111.tif 000014
【図１４】
2008198111.tif 000015
【図１５】
2008198111.tif 000016
【図１６】
2008198111.tif 000017
【図６】
2008198111.tif 000018