(57)【要約】      （修正有）【課題】省スペースの実現及び操作の自由度の向上を図りながらも、オペレータにより操作される操作物の検出結果を反映した画像をディスプレイ装置に表示できる情報処理装置を提供する。【解決手段】赤外発光ダイオード７により、間欠的に赤外光が照射される剣３を撮像ユニット５により撮影して、剣３の動きを検出する。剣３が振られたことを検知したことをトリガとして、剣３の移動軌跡を表す剣軌跡オブジェクトをディスプレイ装置に表示する。【選択図】図２
2010191980.tif 000002
【特許請求の範囲】
【請求項１】
オペレータに保持されて動きが与えられる操作物を検出した結果に基づいて、ディスプレイ装置に画像を表示させる情報処理装置であって、  複数の反射面を有する前記操作物を撮影する撮像ユニットと、  前記撮像ユニットにより得られた画像を基に、前記反射面の状態情報を算出して、その状態情報に基づいて、前記複数の反射面のいずれの反射面が撮影されたかを判別する状態情報算出ユニットと、  判別された前記反射面に応じて、前記ディスプレイ装置に異なる画像を表示させる画像表示処理ユニットと、を備える情報処理装置。    
【請求項２】
前記状態情報は、前記反射面の面積情報、形状情報、若しくは、形状を表す比率情報、のいずれか、又は、それらの組み合わせ、である、請求項１記載の情報処理装置。    
【請求項３】
オペレータに保持されて動きが与えられる操作物を検出した結果に基づいて、ディスプレイ装置に画像を表示させる情報処理装置であって、  複数の反射面を有する前記操作物を撮影する撮像ユニットと、  前記撮像ユニットにより得られた画像に基づいて、前記反射面ごとの状態情報を算出する状態情報算出ユニットと、  前記複数の反射面の前記状態情報に応じて、画像を表示させる画像表示処理ユニットと、を備える情報処理装置。    
【請求項４】
オペレータに保持されて動きが与えられる操作物の動きを加味した画像をディスプレイ装置に表示させる情報処理装置であって、  反射面を有する前記操作物を撮影する撮像ユニットと、  前記撮像ユニットにより得られた画像を基に、前記反射面の面積情報を算出し、その面積情報が、予め定められた閾値を超えたときに、トリガを発生する面積情報算出ユニットと、  前記トリガに基づいて、所定のオブジェクトを前記ディスプレイ装置に表示する画像表示処理ユニットと、を備える情報処理装置。    
【請求項５】
前記画像表示処理ユニットは、前記反射面の位置情報に応じて、前記所定のオブジェクトを移動し、  前記所定のオブジェクトの色彩は、透明又は半透明である、請求項４記載の情報処理装置。    
【請求項６】
オペレータに保持されて動きが与えられる操作物の動きを加味した画像をディスプレイ装置に表示させる情報処理装置であって、  反射面を有する前記操作物を撮影する撮像ユニットと、  前記撮像ユニットにより得られた画像を基に、前記反射面の状態情報を算出し、その状態情報に基づいて、トリガを発生する状態情報算出ユニットと、  文字列を前記ディスプレイ装置に表示する画像表示処理ユニットと、を備え、  前記画像表示処理ユニットは、前記トリガに基づいて、前記文字列と異なる文字列を前記ディスプレイ装置に表示する、情報処理装置。    
【請求項７】
オペレータに保持されて動きが与えられる操作物の動きを加味した画像をディスプレイ装置に表示させる情報処理装置であって、  反射面を有する前記操作物を撮影する撮像ユニットと、  前記撮像ユニットにより得られた画像を基に、前記反射面の状態情報を算出し、その状態情報に基づいて、トリガを発生する状態情報算出ユニットと、  前記トリガに基づいて、背景画像を更新する画像表示処理ユニットと、を備える情報処理装置。    
【請求項８】
オペレータに保持されて動きが与えられる操作物の動きを加味した画像をディスプレイ装置に表示させる情報処理装置であって、  反射面を有する前記操作物を撮影する撮像ユニットと、  前記撮像ユニットにより得られた画像を基に、前記反射面の位置情報を算出する位置情報算出ユニットと、  カーソルを前記ディスプレイ装置に表示し、かつ、前記反射面の前記位置情報に応じて、前記カーソルを移動させる画像表示処理ユニットと、を備える情報処理装置。    
【請求項９】
前記画像表示処理ユニットは、前記カーソルが所定のオブジェクトに重ねて表示されたときに、その所定のオブジェクトに関連付けられた画像を前記ディスプレイ装置に表示する、請求項８記載の情報処理装置。    
【請求項１０】
前記画像表示処理ユニットは、前記カーソルにより選択された文字を前記ディスプレイ装置に表示する、請求項８記載の情報処理装置。    
【請求項１１】
オペレータに保持されて動きが与えられる操作物の動きを加味した画像をディスプレイ装置に表示させる情報処理装置であって、  反射面を有する前記操作物を撮影する撮像ユニットと、  前記撮像ユニットにより得られた画像を基に、前記反射面の状態情報を算出する状態情報算出ユニットと、  前記反射面の連続した前記状態情報が所定条件を満足したときに、所定のオブジェクトを表示する画像表示処理ユニットと、を備える情報処理装置。    
【請求項１２】
オペレータに保持されて動きが与えられる操作物の動きを加味した画像をディスプレイ装置に表示させる情報処理装置であって、  反射面を有する前記操作物を撮影する撮像ユニットと、  前記撮像ユニットにより得られた画像を基に、前記反射面の状態情報を算出する状態情報算出ユニットと、  前記ディスプレイ装置に、前記状態情報に応じて、画像を表示するとともに、前記操作物の操作方向及び操作タイミングを指示するガイドを表示する画像表示処理ユニットと、を備える情報処理装置。    
【請求項１３】
前記状態情報は、速さ情報、移動方向情報、移動距離情報、速度ベクトル情報、加速度情報、移動軌跡情報、面積情報、若しくは、位置情報、のいずれか、又は、それらの２以上の組み合わせ、である、請求項３、６、７、１１又は１２に記載の情報処理装置。    
【請求項１４】
請求項１記載の情報処理装置のオペレータが操作する操作物であって、  複数の反射面を有する操作物。    
【請求項１５】
請求項３記載の情報処理装置のオペレータが操作する操作物であって、  複数の反射面を有する操作物。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、オペレータに保持されて動きが与えられる操作物を、ストロボスコープを用いて検出した結果に基づいて、ディスプレイ装置に画像を表示す情報処理装置及びその関連技術に関する。
【背景技術】
【０００２】
日本国特開２００３−７９９４３号公報（図１、図３）に記載された従来の画像生成システムについて、図面を用いて説明する。
【特許文献１】特開２００３−７９９４３号公報
【０００３】
図６５は、従来の画像生成システムの説明図である。図６５に示すように、検知面形成枠１０００内に、二次元の検知面１１００が形成される。検知面形成枠１０００の辺ｓｄ１の２つ角部には、センサｓ１，ｓ２が設けられる。
【０００４】
センサｓ１は、発光部及び受光部を有している。発光部は、角度θ１が０度〜９０度の間で赤外線を出力し、受光部は、その戻り光を検知する。被検出物である操作物に反射部材が取り付けられているため、その反射部材により反射された赤外線が、受光部により受光される。センサｓ２についても同様である。
【０００５】
センサｓ１によって受光された結果は、結像ｉｍ１として得られる。センサｓ２によって受光された結果は、結像ｉｍ２として得られる。結像ｉｍ１，ｉｍ２では、被検出物としての操作物が、検知面１１００を横切ると、操作物に遮光されない部分が影となって現れるので、影とならない部分を、角度θ１，θ２として判別できる。センサｓ１，ｓ２が固定されているため、角度θ１，θ２から、操作物が検知面１１００を横切る位置ｐ（ｘ，ｙ）を特定できる。
【０００６】
検知面枠１０００内に形成される検知面１１００の各位置と、画面の各位置と、を一対一に対応付けておくことで、操作物が検知面１１００を横切る位置に対応した画面上での位置を特定できる。
【０００７】
このようにして、操作物の画面上での位置あるいは位置の変化量を求めて、それを画面上のオブジェクトの動きに反映する。
【０００８】
しかしながら、上記のように、従来の画像生成システムでは、検知面枠１０００を形成し、さらに、その両角部にセンサｓ１，ｓ２を配置する必要がある。このため、システムが大掛かりなものとなって、高価になるばかりでなく、広い設置場所が必要となる。従って、この従来のシステムは、一般家庭に向いているとは言い難い。
【０００９】
また、検知面１１００の各位置と、画面の各位置と、を一対一に対応付ける必要があるため、検知面枠１０００の形状を決定する際の制約が大きい。このことも、設置場所が制限される一因となる。
【００１０】
さらに、オペレータは、検知面枠１０００の範囲で、操作物を操作しなければならず、操作物を操作する際の制約が大きい。一方、操作物の操作の制約を小さくしようとすると、検知面枠１０００を大きくしなければならず、設置場所の制限が大きくなるとともに、高価なものとなって、一般家庭での購入が困難となる。
【００１１】
さらに、二次元の検知面１１００を横切るように、操作物を操作しなければならず、このこともまた、操作物を操作する際の制約を大きくする。つまり、二次元の検知面１１００を横切らなければならないので、オペレータは、検知面１１００に垂直なｚ軸方向に操作物を移動させることができなくなって、操作の自由度が小さくなる。上記文献に開示されているように、検知面枠を２つ設けても、この問題を十分に解消することはできない。しかも、検知面枠を増やせば、上記した設置場所の問題及び価格の問題がさらに大きくなり、一般家庭での購入がさらに困難なものとなる。
【発明の概要】
【発明が解決しようとする課題】
【００１２】
そこで、本発明は、省スペースの実現及び操作の自由度の向上を図りながらも、オペレータにより操作される操作物の検出結果を反映した画像をディスプレイ装置に表示できる情報処理装置及びその関連技術を提供することを目的とする。
【課題を解決するための手段】
【００１３】
本発明の第１の形態によると、情報処理装置は、オペレータに保持されて動きが与えられる操作物の動きを加味した画像をディスプレイ装置に表示させる情報処理装置であって、反射面を有する前記操作物に、予め定められた周期で、光を照射するストロボスコープと、前記ストロボスコープの発光時及び消灯時のそれぞれにおいて、前記操作物を撮影して、発光時画像及び消灯時画像を取得する撮像手段と、前記発光時画像と前記消灯時画像との差分信号を生成する差分信号生成ユニットと、前記差分信号を基に、前記操作物の状態情報を算出し、その状態情報に基づいて、第１のトリガを発生する状態情報算出手段と、前記第１のトリガに基づいて、前記操作物の移動軌跡を表現する第１のオブジェクトを前記ディスプレイ装置に表示させる画像表示処理ユニットと、を備える。
【００１４】
この構成によれば、ストロボスコープにより間欠的に光が照射される操作物を撮像手段により撮影して、操作物の状態情報を求めている。このように、実空間に検知面（二次元）を形成することなく、撮像手段の撮影範囲である検知空間（三次元）に存在する操作物の状態情報を取得できる。従って、操作物の操作範囲が二次元平面に制限されることがないため、オペレータによる操作物の操作の制約が小さく、操作の自由度を大きくできる。
【００１５】
また、ディスプレイ装置のスクリーンに対応した検知面を実空間に形成する必要もないため、設置場所の制限を小さくできる（省スペースの実現）。
【００１６】
さらに、操作物の状態情報に基づく第１のトリガにより、操作物の移動軌跡を表現する第１のオブジェクトがディスプレイ装置に表示される。このため、オペレータは、現実に目で見ることができない移動軌跡を、ディスプレイ装置上で見ることができ、操作物を操作した実感をより味合うことができる。
【００１７】
さらに、ディスプレイ装置に表示される仮想世界に、オペレータが操作した操作物の移動軌跡が出現する。このような操作物の移動軌跡の表示を通じて、オペレータは、仮想世界との接触が可能となり、仮想世界をより楽しむことができる。例えば、本発明の情報処理装置をゲーム装置として使用する場合は、オペレータは、あたかも、ディスプレイ装置に表示されるゲーム世界で、ゲームを楽しんでいるような実感を得ることができる。
【００１８】
さらに、発光時画像信号と消灯時画像信号との差分信号を生成するといった簡単な処理のみで、ノイズや外乱の影響を抑えた精度の高い検出が可能であるので、コスト、許容される消費電力等の条件により情報処理装置のパフォーマンスが制限されるシステムの上でも容易に達成が可能である。
【００１９】
ここで、本明細書において、操作物の「操作」とは、操作物を移動させること、又は、操作物を回転させること、等を意味し、スイッチを押下したり、アナログスティックを動かしたり、等は含まない。
【００２０】
上記の情報処理装置において、前記移動軌跡を表現する前記第１のオブジェクトは、帯状オブジェクトであり、前記画像表示処理ユニットは、フレームごとに幅の異なる前記帯状オブジェクトを前記ディスプレイ装置に表示することにより、前記操作物の移動軌跡を表現し、前記帯状オブジェクトの前記幅は、フレームの更新とともに太くなった後、フレームの更新とともに細くなる。
【００２１】
この構成によれば、鋭い閃光が走ったような移動軌跡を表示できる。特に、帯状オブジェクトの色を工夫することで、その効果をより高めることができる。
【００２２】
上記の情報処理装置において、前記画像表示処理ユニットは、第２のオブジェクトを前記ディスプレイ装置に表示し、前記状態情報算出手段は、前記第２のオブジェクトと、前記操作物の移動軌跡を表現する前記第１のオブジェクトと、の位置関係が所定条件を満たしたときに、第２のトリガを発生し、前記画像表示処理ユニットは、前記第２のトリガに基づいて、予め定められたエフェクトを与えた前記第２のオブジェクトを前記ディスプレイ装置に表示する。
【００２３】
この構成によれば、位置関係が所定の条件を満たすように、オペレータが操作物を操作すると、その移動軌跡を表現する第１のオブジェクトを通じて、ディスプレイ装置に表示された、言わば仮想世界の第２のオブジェクトにエフェクトを与えることができる。このため、オペレータは、仮想世界をより一層楽しむことができる。
【００２４】
上記の情報処理装置において、前記状態情報算出手段は、前記操作物の前記状態情報としての速さ情報が、予め定められた第１の閾値を超えてから、予め定められた第２の閾値を下回るまでの、前記操作物の前記状態情報としての位置情報を算出し、あるいは、前記操作物の前記速さ情報が、前記予め定められた第１の閾値を超えてから、前記撮像手段による撮影範囲を超える前までの、前記操作物の前記位置情報を算出し、かつ、前記操作物の前記位置情報の取得回数が３以上の場合に、前記操作物の最初の前記位置情報と、前記操作物の最後の前記位置情報と、に基づいて、前記操作物の移動軌跡を表現する前記第１のオブジェクトの態様を決定し、かつ、前記操作物の前記位置情報の取得回数が３以上の場合に、前記状態情報に基づいて、前記第１のトリガを発生する。
【００２５】
この構成によれば、操作物の位置情報の取得回数、つまり、操作物の検知回数が３以上の場合に、第１のトリガを発生するため、オペレータが意図しない操作により、意図しないときに、第１のオブジェクトが出現することを防止できる。
【００２６】
また、操作物の位置情報の取得回数（操作物の検知回数）が３以上の場合に、操作物の最初の位置情報と最後の位置情報とに基づいて、操作物の移動軌跡を表現する第１のオブジェクトの態様が決定される。このため、操作物の移動軌跡をより的確に反映した第１のオブジェクトの態様を決定できる。
【００２７】
なお、操作物の近接する２つの位置情報に基づいて、第１のオブジェクトの態様を決定すると、例えば、次の不都合がある。オペレータが、自分の感覚で直線的に操作物を移動させた場合でも、実際には、若干の円弧を描いている場合もある。この場合には、当然、撮像手段には、円弧を描くように操作物が撮影される。このときに、近接する２つの位置情報に基づいて、第１のオブジェクトの態様を決定すると、オペレータの感覚とずれた態様の第１のオブジェクトが表示されることになる。
【００２８】
ここで、第１のオブジェクトの態様とは、第１のオブジェクトの角度及び／又は方向等の、表示する第１のオブジェクトの形態のことである。
【００２９】
上記の情報処理装置において、前記状態情報算出手段は、前記操作物の前記状態情報としての面積情報を算出し、その面積情報が、予め定められた第３の閾値を超えたときに、第３のトリガを発生し、前記画像表示処理ユニットは、前記第３のトリガに基づいて、第３のオブジェクトを前記ディスプレイ装置に表示する。
【００３０】
この構成によれば、操作物の広い反射面が撮影されたときに、第３のオブジェクトが表示されることになる。つまり、オペレータが、操作物の広い反射面を撮像手段に向けると、第３のオブジェクトが表示される。従って、単一の操作物の操作により、様々な画像を表示できる。また、様々な画像を表示するために、複数の操作物を用意したり、操作物にスイッチやアナログスティック等を設ける必要もなく、操作物の製造コストを低減できるばかりでなく、操作性をも向上できる。
【００３１】
上記の情報処理装置において、前記画像表示処理ユニットは、文字列を前記ディスプレイ装置に表示し、前記状態情報算出手段は、前記操作物の前記状態情報に基づいて、第４のトリガを発生し、前記画像表示処理ユニットは、前記第４のトリガに基づいて、前記文字列と異なる文字列を前記ディスプレイ装置に表示する。
【００３２】
この構成によれば、操作物の状態情報に基づいて、ディスプレイ装置上に文字列を次々に表示させることができるため、文字列の更新に使用するスイッチやアナログスティック等を操作物に設ける必要もなく、操作物の製造コストを低減できるばかりでなく、操作性をも向上できる。
【００３３】
上記の情報処理装置において、前記状態情報算出手段は、前記操作物の前記状態情報に基づいて、第５のトリガを発生し、前記画像表示処理ユニットは、前記第５のトリガに基づいて、背景画像を更新する。
【００３４】
この構成によれば、操作物の状態情報に基づいて、背景を更新することができるため、背景の更新に使用するスイッチやアナログスティック等を操作物に設ける必要もなく、操作物の製造コストを低減できるばかりでなく、操作性をも向上できる。
【００３５】
上記の情報処理装置において、前記操作物の前記状態情報としての位置情報を補正する補正情報を取得する補正情報取得ユニット、をさらに備え、前記状態情報算出手段は、前記補正情報を用いて、補正後の位置情報を算出する。
【００３６】
この構成によれば、オペレータが操作物を操作する感覚と、状態情報算出手段が算出する操作物の状態情報と、のずれを極力解消できるため、オペレータによる操作物の操作をより的確に反映した画像を表示できる。
【００３７】
上記の情報処理装置において、前記画像表示処理ユニットは、カーソルを前記ディスプレイ装置に表示し、かつ、前記操作物の前記状態情報としての位置情報に応じて、前記カーソルを移動させる。
【００３８】
この構成によれば、操作物の状態情報に基づいて、カーソルを移動することができるため、カーソルの移動に使用するスイッチやアナログスティック等を操作物に設ける必要もなく、操作物の製造コストを低減できるばかりでなく、操作性をも向上できる。
【００３９】
上記の情報処理装置において、前記操作物の前記状態情報に基づいて、予め定められた処理を実行することを確定する。
【００４０】
この構成によれば、操作物の状態情報に基づいて、処理の実行の確定ができるため、処理の実行の確定に使用するスイッチやアナログスティック等を操作物に設ける必要もなく、操作物の製造コストを低減できるばかりでなく、操作性をも向上できる。
【００４１】
上記の情報処理装置において、前記画像表示処理ユニットは、前記カーソルが第４のオブジェクトに重ねて表示されたときに、その第４のオブジェクトに関連付けられた画像を前記ディスプレイ装置に表示する。
【００４２】
この構成によれば、オペレータは、操作物の操作によりカーソルを移動させるだけで、表示されている第４のオブジェクトに関連付けられた画像を表示させることができる。
【００４３】
上記の情報処理装置において、前記画像表示処理ユニットは、前記カーソルにより選択された文字を前記ディスプレイ装置に表示する。
【００４４】
この構成によれば、オペレータは、操作物の操作によりカーソルを移動させて所望の文字を選択するだけで、文字を入力できるため、文字入力に使用するスイッチやアナログスティック等を操作物に設ける必要もなく、操作物の製造コストを低減できるばかりでなく、操作性をも向上できる。
【００４５】
上記の情報処理装置において、前記状態情報算出手段は、前記操作物の前記状態情報に基づいて、第６のトリガを発生し、前記画像表示処理ユニットは、前記第６のトリガに基づいて、前記操作物の動きに応じた第５のオブジェクトを前記ディスプレイ装置に表示する。
【００４６】
この構成によれば、操作物の移動軌跡を表現する第１のオブジェクトと異なった視覚的効果を、オペレータに与えることができる。
【００４７】
上記の情報処理装置において、前記画像表示処理ユニットは、前記第１のトリガが発生してから、所定時間経過後に、前記操作物の移動軌跡を表現する前記第１のオブジェクトを前記ディスプレイ装置に表示する。
【００４８】
この構成によれば、操作物の移動軌跡を表現する第１のオブジェクトを、第１のトリガの発生とほぼ同時（人間の感覚で同時）に表示する場合と比較して、異なった効果を、オペレータに与えることができる。
【００４９】
上記の情報処理装置において、前記画像表示処理ユニットは、前記操作物の連続した前記状態情報が所定条件を満足したときに、第６のオブジェクトを表示する。
【００５０】
この構成によれば、操作物の操作が所定条件を満足したときにのみ、第６のオブジェクトが表示されるため、この所定条件の設定の仕方によって、第６のオブジェクトを表示させるための、オペレータによる操作物の操作を任意にコントロールできる。
【００５１】
上記の情報処理装置において、前記画像表示処理ユニットは、前記操作物の操作方向及び操作タイミングを指示するガイドを表示する。
【００５２】
この構成によれば、オペレータは、情報処理装置が要求する操作物の操作方向及び操作タイミングを視覚的に認識できる。
【００５３】
上記の情報処理装置において、前記操作物の前記状態情報は、速さ情報、移動方向情報、移動距離情報、速度ベクトル情報、加速度情報、移動軌跡情報、面積情報、若しくは、位置情報、のいずれか、又は、それらの２以上の組み合わせ、である。
【００５４】
この構成によれば、オペレータによる操作物の様々な動きに応じたオブジェクトをディスプレイ装置に表示できる。
【００５５】
上記の情報処理装置において、前記第１のトリガに基づいて、スピーカから効果音を発生させる効果音生成ユニット、をさらに備える。
【００５６】
この構成によれば、オペレータに対して、視覚的効果に加えて、聴覚的効果を与えることができる。従って、オペレータは、ディスプレイ装置に表示される仮想世界をより一層楽しむことができる。例えば、オペレータが操作した操作物の移動軌跡が仮想世界に出現すると同時に、効果音を発生させれば、オペレータは、仮想世界をより一層楽しむことができる。
【００５７】
本発明の第２の形態によると、情報処理装置は、オペレータに保持されて動きが与えられる操作物を検出した結果に基づいて、ディスプレイ装置に画像を表示させる情報処理装置であって、複数の反射面を有する前記操作物に、予め定められた周期で、光を照射するストロボスコープと、前記ストロボスコープの発光時及び消灯時のそれぞれにおいて、前記操作物を撮影して、発光時画像及び消灯時画像を取得する撮像手段と、前記発光時画像と前記消灯時画像との差分信号を生成する差分信号生成ユニットと、前記差分信号を基に、前記操作物の状態情報を算出して、その状態情報に基づいて、前記複数の反射面のいずれの反射面が撮影されたかを判別する状態情報算出手段と、判別された前記反射面に応じて、前記ディスプレイ装置に異なる画像を表示させる画像表示処理ユニットと、を備える。
【００５８】
この構成によれば、ストロボスコープにより間欠的に光が照射される操作物を撮像手段により撮影して、操作物の状態情報を求めている。このように、実空間に検知面（二次元）を形成することなく、撮像手段の撮影範囲である検知空間（三次元）に存在する操作物の状態情報を取得できる。従って、操作物の操作範囲が二次元平面に制限されることがないため、オペレータによる操作物の操作の制約が小さく、操作の自由度を大きくできる。
【００５９】
また、ディスプレイ装置のスクリーンに対応した検知面を実空間に形成する必要もないため、設置場所の制限を小さくできる（省スペースの実現）。
【００６０】
さらに、検知された反射面に応じて、異なる画像が表示されるため、単一の操作物を操作するだけで、反射面の数に応じた、異なる画像を表示できる。このため、異なる画像ごとに、対応する操作物を用意したり、スイッチやアナログスティック等を操作物に設けたり、する必要がない。従って、操作物のコストの低減が可能になるとともに、オペレータによる操作物の操作性を向上できる。
【００６１】
さらに、オペレータは、操作物のどの反射面を撮像手段に向けるかによって、所望の画像を表示できる。例えば、本発明の情報処理装置をゲーム装置として使用する場合は、オペレータは、単一の操作物で、様々な画像を表示させることができて、ゲームを円滑に実行できる。
【００６２】
さらに、発光時画像信号と消灯時画像信号との差分信号を生成するといった簡単な処理のみで、ノイズや外乱の影響を抑えた精度の高い検出が可能であるので、コスト、許容される消費電力等の条件により情報処理装置のパフォーマンスが制限されるシステムの上でも容易に達成が可能である。
【００６３】
上記の情報処理装置において、前記状態情報は、前記反射面の面積情報、数情報、形状情報、若しくは、形状を表す比率情報、のいずれか、又は、それらの組み合わせ、である。
【００６４】
この構成によれば、状態情報算出手段は、これらの情報により、操作物のいずれの反射面が撮影されたのかを判別することができる。従って、反射面のサイズ又は形状を異ならせるだけで、いずれの反射面が撮影されたのかを容易に判別できる。特に、面積情報により、反射面を判別する場合は、過った判別を極力減少させることができるだけでなく、処理を容易にできて処理の高速化を図ることができる。
【００６５】
本発明の第３の形態によると、情報処理装置は、オペレータに保持されて動きが与えられる操作物を検出した結果に基づいて、ディスプレイ装置に画像を表示させる情報処理装置であって、複数の反射面を有する前記操作物に、予め定められた周期で、光を照射するストロボスコープと、前記ストロボスコープの発光時及び消灯時のそれぞれにおいて、前記操作物を撮影して、発光時画像及び消灯時画像を取得する撮像手段と、前記発光時画像と前記消灯時画像との差分信号を生成する差分信号生成ユニットと、前記差分信号に基づいて、前記反射面ごとの状態情報を算出する状態情報算出手段と、前記複数の反射面の前記状態情報に応じて、画像を表示させる画像表示処理ユニットと、を備える。
【００６６】
この構成によれば、ストロボスコープにより間欠的に光が照射される操作物を撮像手段により撮影して、操作物の状態情報を求めている。このように、実空間に検知面（二次元）を形成することなく、撮像手段の撮影範囲である検知空間（三次元）に存在する操作物の状態情報を取得できる。従って、操作物の操作範囲が二次元平面に制限されることがないため、オペレータによる操作物の操作の制約が小さく、操作の自由度を大きくできる。
【００６７】
また、ディスプレイ装置のスクリーンに対応した検知面を実空間に形成する必要もないため、設置場所の制限を小さくできる（省スペースの実現）。
【００６８】
さらに、複数の反射面の状態情報に応じて画像を表示するため、単一の反射面の状態情報に応じて画像を表示する場合と比較して、操作物の状態をより反映した画像を表示できる。
【００６９】
さらに、発光時画像信号と消灯時画像信号との差分信号を生成するといった簡単な処理のみで、ノイズや外乱の影響を抑えた精度の高い検出が可能であるので、コスト、許容される消費電力等の条件により情報処理装置のパフォーマンスが制限されるシステムの上でも容易に達成が可能である。
【００７０】
本発明の第４の形態によると、ゲームシステムは、ゲームを行うためのゲームシステムであって、オペレータによって実際に動かされる操作物と、オペレータによって動かされている操作物を撮影するイメージセンサと、ゲームを行う際にディスプレイ装置に接続され、前記イメージセンサからイメージ信号を受け取り、前記ゲームのコンテンツを前記ディスプレイ装置に表示する処理装置と、を備え、前記操作物は、前記イメージセンサによって撮影された前記操作物のイメージに基づいて、前記ゲームにおいて所定の役割を担っており、前記ゲームを行っている際に、前記処理装置によって前記ディスプレイ装置に表示される前記ゲームのコンテンツにおける、前記操作物の移動軌跡の表示は、帯状イメージに簡略化されており、この帯状イメージは、前記オペレータによって動かされる前記操作物の、前記ディスプレイ装置上の表示における移動動跡の少なくとも２点を結ぶものであり、この少なくとも２点は、前記イメージセンサで撮影されたイメージから取得される。
【００７１】
本発明の新規な特徴は、特許請求の範囲に記載されている。しかしながら、発明そのもの及びその他の特徴と効果は、添付図面を参照して具体的な実施例の詳細な説明を読むことにより容易に理解される。
【図面の簡単な説明】
【００７２】
【図１】本発明の実施の形態における情報処理システムの全体構成を示す図である。
【図２】図１の情報処理装置及び剣の拡大図である。
【図３】図２の剣の上面図である。
【図４】図１の剣の他の例の拡大図である。
【図５】図４の剣の上面図である。
【図６】図２の撮像手段の一例を示す図解図である。
【図７】図１の情報処理装置の電気的な構成を示す図である。
【図８】図７の高速プロセッサのブロック図である。
【図９】図７のイメージセンサから高速プロセッサへピクセルデータを取り込む構成及びＬＥＤ駆動回路を示す回路図である。
【図１０】（ａ）図９のイメージセンサが出力するフレームステータスフラグ信号ＦＳＦのタイミング図である。（ｂ）図９のイメージセンサが出力するピクセルデータストローブ信号ＰＤＳのタイミング図である。（ｃ）図９のイメージセンサが出力するピクセルデータＤ（Ｘ，Ｙ）のタイミング図である。（ｄ）図９の高速プロセッサが出力するＬＥＤコントロール信号ＬＥＤＣのタイミング図である。（ｅ）図９の赤外発光ダイオードの点灯状態を示すタイミング図である。（ｆ）図９のイメージセンサの露光期間を示すタイミング図である。
【図１１】（ａ）は、図１０のフレームステータスフラグ信号ＦＳＦの拡大図である。（ｂ）図１０のピクセルデータストローブ信号ＰＤＳの拡大図である。（ｃ）図１０のピクセルデータＤ（Ｘ，Ｙ）の拡大図である。
【図１２】図１のテレビジョンモニタのスクリーンに表示される選択画面の例示図である。
【図１３】図１２の選択画面で「ストーリーモード」の項目オブジェクトが選択されたときのゲーム画面の例示図である。
【図１４】図１２の選択画面で「ストーリーモード」の項目オブジェクトが選択されたときのゲーム画面の他の例示図である。
【図１５】図１２の選択画面で「ストーリーモード」の項目オブジェクトが選択されたときのゲーム画面のさらに他の例示図である。
【図１６】図１２の選択画面で「ストーリーモード」の項目オブジェクトが選択されたときのゲーム画面のさらに他の例示図である。
【図１７】図１２の選択画面で「ストーリーモード」の項目オブジェクトが選択されたときのゲーム画面のさらに他の例示図である。
【図１８】（ａ）図１２の選択画面で「ストーリーモード」の項目オブジェクトが選択されたときのゲーム画面のさらに他の例示図である。（ｂ）図１８（ａ）の更新後のゲーム画面の例示図である。
【図１９】図１２の選択画面で「対戦モード」の項目オブジェクトが選択されたときのゲーム画面の例示図である。
【図２０】図７のＲＯＭに格納されたプログラム及びデータを示す概念図である。
【図２１】（ａ）一般的なイメージセンサにより撮影された、特別な処理を施さない画像の例示図である。（ｂ）図２１（ａ）の画像信号を或る閾値でレベル弁別したときの画像信号の例示図である。（ｃ）赤外フィルタを介したイメージセンサの点灯時の画像信号を或る閾値でレベル弁別したときの画像信号の例示図である。（ｄ）赤外フィルタを介したイメージセンサの消灯時の画像信号を或る閾値でレベル弁別したときの画像信号の例示図である。（ｅ）点灯時の画像信号と消灯時の画像信号との差分信号の例示図である。
【図２２】図７の高速プロセッサが剣のスイングを検出する際の説明図である。
【図２３】（ａ）実施の形態における角度フラグの値と角度との関係図である。（ｂ）実施の形態における方向フラグの値と方向を表す符号との関係図である。（ｃ）実施の形態における角度フラグ及び方向フラグと、スイング情報と、の関係図である。
【図２４】図２３（ｃ）のスイング情報と、剣の操作方向と、の関係図である。
【図２５】図２３（ｃ）のスイング情報とアニメーションテーブル格納位置情報との関係図である。
【図２６】図７のＲＯＭに格納された、剣軌跡オブジェクトをアニメーションするためのアニメーションテーブルの例示図である。
【図２７】図１４の剣軌跡オブジェクトのアニメーションを行うためのオブジェクト画像データの例示図である。
【図２８】図１４の剣軌跡オブジェクトのアニメーションを行うためのオブジェクト画像データの他の例示図である。
【図２９】図１４の剣軌跡オブジェクトのアニメーションを行うためのオブジェクト画像データの他の例示図である。
【図３０】図７の高速プロセッサによるヒット判定の説明図である。
【図３１】図１２の選択画面で「スイング補正」の項目オブジェクトが選択されたときの、スイング補正画面の例示図である。
【図３２】図１の情報処理装置の全体の処理の流れを示すフローチャートである。
【図３３】図３２のステップＳ１の初期設定処理の流れを示すフローチャートである。
【図３４】図３３のステップＳ２０のセンサ初期設定処理の流れを示すフローチャートである。
【図３５】図３４のステップＳ３１のコマンド送信処理の流れを示すフローチャートである。
【図３６】（ａ）図９のレジスタ設定クロックＣＬＫのタイミング図である。（ｂ）図９のレジスタデータのタイミング図である。
【図３７】図３４のステップＳ３３のレジスタ設定処理の流れを示すフローチャートである。
【図３８】図３２のステップＳ７のストーリーモードの流れを示すフローチャートである。
【図３９】図３８のステップＳ６０のピクセルデータ群取得処理の流れを示すフローチャートである。
【図４０】図３９のステップＳ８１のピクセルデータ取得処理の流れを示すフローチャートである。
【図４１】図３８のステップＳ６１の注目領域抽出処理の流れを示すフローチャートである。
【図４２】図３８のステップＳ６２の注目点抽出処理の流れを示すフローチャートである。
【図４３】図３８のステップＳ６３のスイング検出処理の流れを示すフローチャートである。
【図４４】図４３のステップＳ１６６の剣軌跡種類決定処理の流れを示すフローチャートである。
【図４５】図４３のステップＳ１６７の剣軌跡座標算出処理の流れを示すフローチャートである。
【図４６】図３８のステップＳ６４のヒット判定処理の流れを示すフローチャートである。
【図４７】図３８のステップＳ６５の盾検出処理の流れを示すフローチャートである。
【図４８】図３８のステップＳ６６の説明進行処理の流れを示すフローチャートである。
【図４９】図３８のステップＳ６７の前進処理の流れを示すフローチャートである。
【図５０】図３８のステップＳ７０の画像表示処理の流れを示すフローチャートである。
【図５１】図３２のステップＳ５のモード選択処理の流れを示すフローチャートである。
【図５２】図５１のステップＳ３０３のカーソル移動処理の流れを示すフローチャートである。
【図５３】図５１のステップＳ３０４の項目オブジェクト移動処理の流れを示すフローチャートである。
【図５４】図３２のステップＳ６のスイング補正モードの流れを示すフローチャートである。
【図５５】図５４のステップＳ４０４の補正情報取得処理の流れを示すフローチャートである。
【図５６】図６の撮像手段によるストロボスコープ撮影処理の流れを示すフローチャートである。
【図５７】本実施の形態におけるゲーム画面の他の例示図である。
【図５８】本実施の形態におけるゲーム画面のさらに他の例示図である。
【図５９】本実施の形態におけるゲーム画面のさらに他の例示図である。
【図６０】本実施の形態におけるゲーム画面のさらに他の例示図である。
【図６１】（ａ）図１の剣のさらに他の例示図である。（ｂ）図１の剣のさらに他の例示図である。図６１は、図１の剣のさらに他の例示図である。
【図６２】実施の形態における操作物の他の例示図である。
【図６３】実施の形態における第１の反射シートの注目点の座標算出の説明図である。
【図６４】実施の形態における第２の反射シートの注目点の座標算出の説明図である。
【図６５】従来の画像生成システムの説明図である。
【発明を実施するための形態】
【００７３】
以下、本発明の実施の形態について、図面を参照しながら説明する。なお、図中、同一または相当部分については同一の参照符号を付してその説明を援用する。
【００７４】
図１は、本発明の実施の形態における情報処理システムの全体構成を示す図である。図１に示すように、この情報処理システムは、情報処理装置１、操作物３、及び、テレビジョンモニタ９０、を含む。
【００７５】
本実施の形態では、操作物３の１例として、剣型の操作物３（以下、本実施の形態では、「剣３」と呼ぶ。）を挙げている。そして、本実施の形態では、情報処理の１例として、ゲーム処理を挙げる。
【００７６】
情報処理装置１には、ＡＣアダプタ９２により、直流電源電圧が与えられる。ただし、ＡＣアダプタ９２に代えて、電池（図示せず）により、直流電源電圧を与えることもできる。
【００７７】
テレビジョンモニタ９０には、その前面にスクリーン９１が設けられる。テレビジョンモニタ９０と情報処理装置１とは、ＡＶケーブル９３により接続される。
【００７８】
情報処理装置１は、例えば、図１に示すように、テレビジョンモニタ９０の上面に載置される。
【００７９】
図２は、図１の情報処理装置１及び剣３の拡大図である。図３は、図２の剣３の上面図である。
【００８０】
図２に示すように、情報処理装置１のハウジング１１には、撮像手段５が組み込まれる。撮像手段５は、４つの赤外発光ダイオード７及び赤外フィルタ９を含む。赤外発光ダイオード７の発光部は、赤外フィルタ９から露出している。
【００８１】
撮像手段５の赤外発光ダイオード７は、間欠的に赤外光を発光する。赤外発光ダイオード７からの赤外光は、剣３により反射され、赤外フィルタ９の内部に設けられた撮像素子（後述）に入力される。このようにして、剣３が間欠的に撮影される。従って、情報処理装置１は、オペレータ９４により振り動かされた剣３の間欠的な画像信号を取得できる。情報処理装置１は、この画像信号を解析して、その解析結果を、ゲーム処理に反映する。
【００８２】
また、情報処理装置１の背面から、メモリカートリッジ１３を装着することができる。このメモリカートリッジ１３には、ＥＥＰＲＯＭ（ｅｌｅｃｔｒｉｃａｌｌｙ
ｅｒａｓａｂｌｅ ａｎｄ ｐｒｏｇｒａｍｍａｂｌｅ ｒｅａｄ ｏｎｌｙ ｍｅｍｏｒｙ）が内蔵されている（図示せず）。このＥＥＰＲＯＭには、１人でプレイするストーリーモードのゲーム結果を保存することができる。
【００８３】
また、図２及び図３に示すように、剣３の刀身部１５の両面には、反射シート１７が取り付けられる。この反射シート１７により、反射面が形成される。また、剣３の鍔部１９の両面には、半円柱状部材２１が取り付けられる。この半円柱状部材２１の曲面には、反射シート２３が取り付けられる。この反射シート２３により、反射面が形成される。反射シート１７，２３は、例えば、再帰反射シートである。
【００８４】
また、図２に示すように、剣３の柄頭２５には、ストラップ２７が取り付けられる。オペレータ９４は、このストラップ２７を手首に通して、剣３の柄２９を握る。これにより、オペレータ９４が、過って柄２９から手を離した場合でも、剣３が予期せぬ所へ飛んでいくの防止し、安全が図られる。
【００８５】
図４は、図１の剣３の他の例の拡大図である。図５は、図４の剣３の上面図である。図４及び図５の剣３には、図２及び図３の半円柱状部材２１が設けられていない。その代わり、図４及び図５の剣３では、その刃先部に反射シート３１（例えば、再帰反射シート）が取り付けられる。図４及び図５の剣３では、反射シート３１が、図２及び図３の剣３の反射シート２３の機能を果たすことになる。なお、以下では、図２及び図３に示した剣３を用いて説明を行う。
【００８６】
図６は、図２の撮像手段５の一例を示す図解図である。図６に示すように、この撮像手段５は、たとえばプラスチック成型によって形成されるユニットベース４５を含み、このユニットベース４５内には支持筒４７が取り付けられる。支持筒４７の上面には内面が逆円錐形状であるラッパ状の開口４１が形成され、その開口４１の下方の筒状部内部には、いずれもがたとえば透明プラスチックの成型によって形成された凹レンズ４９および凸レンズ５１を含む光学系が設けられ、凸レンズ５１の下方において、撮像素子としてのイメージセンサ４３が固着される。したがって、イメージセンサ４３は、開口４１からレンズ４９および５１を通して入射する光に応じた画像を撮影することができる。
【００８７】
イメージセンサ４３は、低解像度のＣＭＯＳイメージセンサ（たとえば３２ピクセル×３２ピクセル：グレースケール）である。ただし、このイメージセンサ４３は、画素数のもっと多いものでもよいし、ＣＣＤ等の他の素子からなるものであってよい。以下では、イメージセンサ４３が、３２ピクセル×３２ピクセルからなるものとして説明を行う。
【００８８】
また、ユニットベース４５には、光出射方向がいずれも上方向とされた複数（実施の形態では４つ）の赤外発光ダイオード７が取り付けられる。この赤外発光ダイオード７によって、撮像手段５の上方に赤外光が照射される。また、ユニットベース４５の上方には、赤外フィルタ（赤外光のみを透過するフィルタ）９が上記開口４１を覆うように、取り付けられる。そして、赤外発光ダイオード７は後述のように、点灯／消灯（非点灯）が連続的に繰り返されるので、ストロボスコープとして機能する。ただし、「ストロボスコープ」とは、運動体を間欠的に照らす装置の総称である。したがって、上記イメージセンサ４３は、その撮影範囲内で移動する物体、実施の形態では、剣３を撮影することになる。なお、後述する図９に示すように、ストロボスコープは、主に、赤外発光ダイオード７、ＬＥＤ駆動回路８２、及び、高速プロセッサ２００、により構成される。
【００８９】
ここで、撮像手段５は、イメージセンサ４３の受光面が、水平面から所定角度（例えば、９０度）だけ傾くように、ハウジング１１に組み込まれる。また、凹レンズ４９および凸レンズ５１により、イメージセンサ４３の撮影範囲は、例えば、６０度の範囲である。
【００９０】
図７は、図１の情報処理装置１の電気的な構成を示す図である。図７に示すように、情報処理装置１は、イメージセンサ４３、赤外発光ダイオード７、映像信号出力端子６１、音声信号出力端子６３、高速プロセッサ２００、ＲＯＭ（ｒｅａｄ
ｏｎｌｙ ｍｅｍｏｒｙ）６５、及び、バス６７、を含む。
【００９１】
高速プロセッサ２００には、バス６７が接続される。さらに、バス６７には、ＲＯＭ６５が接続される。従って、高速プロセッサ２００は、バス６７を介して、ＲＯＭ６５にアクセスすることができるので、ＲＯＭ６５に格納された制御プログラムをリードして実行でき、また、ＲＯＭ６５に格納された画像データ及び音声データをリードして処理し、映像信号及び音声信号を生成して、映像信号出力端子６１及び音声信号出力端子６３に出力することができる。
【００９２】
また、情報処理装置１の背面にはメモリカートリッジ１３を装着するためのコネクタ（図示せず）が設けられる。従って、高速プロセッサ２００は、バス６７を介して、そのコネクタに装着されたメモリカートリッジ１３に内蔵されるＥＥＰＲＯＭ６９にアクセスできる。これにより、高速プロセッサ２００は、バス６７を介して、ＥＥＰＲＯＭ６９に格納されたデータをリードして、ゲーム処理に利用することができる。
【００９３】
さて、剣３は、赤外発光ダイオード７が発光する赤外光に照射され、その赤外光を反射シート１７，２３で反射する。この反射シート１７，２３からの反射光がイメージセンサ４３によって検知され、したがって、イメージセンサ４３からは反射シート１７，２３の画像信号が出力される。イメージセンサ４３からのこのアナログ画像信号は高速プロセッサ２００に内蔵されたＡ／Ｄコンバータ（後述）によってデジタルデータに変換される。そして、高速プロセッサ２００は、このデジタルデータを解析して、その解析結果をゲーム処理に反映する。
【００９４】
図８は、図７の高速プロセッサ２００のブロック図である。図８に示すように、この高速プロセッサ２００は、中央演算処理装置（ＣＰＵ：ｃｅｎｔｒａｌ
ｐｒｏｃｅｓｓｉｎｇ ｕｎｉｔ）２０１、グラフィックプロセッサ２０２、サウンドプロセッサ２０３、ＤＭＡ（ｄｉｒｅｃｔ ｍｅｍｏｒｙ ａｃｃｅｓｓ）コントローラ２０４、第１バス調停回路２０５、第２バス調停回路２０６、内部メモリ２０７、Ａ／Ｄコンバータ（ＡＤＣ：ａｎａｌｏｇ
ｔｏ ｄｉｇｉｔａｌ ｃｏｎｖｅｒｔｅｒ）２０８、入出力制御回路２０９、タイマ回路２１０、ＤＲＡＭ（ｄｙｎａｍｉｃ ｒａｎｄｏｍ ａｃｃｅｓｓ ｍｅｍｏｒｙ）リフレッシュ制御回路２１１、外部メモリインタフェース回路２１２、クロックドライバ２１３、ＰＬＬ（ｐｈａｓｅ−ｌｏｃｋｅｄ
ｌｏｏｐ）回路２１４、低電圧検出回路２１５、第１バス２１８、及び、第２バス２１９、を含む。
【００９５】
ＣＰＵ２０１は、メモリ（内部メモリ２０７、又は、ＲＯＭ６５）に格納されたプログラムに従い、各種演算やシステム全体の制御を行う。ＣＰＵ２０１は、第１バス２１８及び第２バス２１９のバスマスタであり、それぞれのバスに接続された資源にアクセスが可能である。
【００９６】
グラフィックプロセッサ２０２は、第１バス２１８及び第２バス２１９のバスマスタであり、内部メモリ２０７、又は、ＲＯＭ６５に格納されたデータを基に、映像信号を生成して、映像信号出力端子６１へ出力する。グラフィックプロセッサ２０２は、第１バス２１８を通じて、ＣＰＵ２０１により制御される。また、グラフィックプロセッサ２０２は、ＣＰＵ２０１に対して、割込み要求信号２２０を発生する機能を有する。
【００９７】
サウンドプロセッサ２０３は、第１バス２１８及び第２バス２１９のバスマスタであり、内部メモリ２０７、又は、ＲＯＭ６５に格納されたデータを基に、音声信号を生成して、音声信号出力端子６３へ出力する。サウンドプロセッサ２０３は、第１バス２１８を通じて、ＣＰＵ２０１により制御される。また、サウンドプロセッサ２０３は、ＣＰＵ２０１に対して、割込み要求信号２２０を発生する機能を有する。
【００９８】
ＤＭＡコントローラ２０４は、ＲＯＭ６５及びＥＥＰＲＯＭ６９から、内部メモリ２０７へのデータ転送を司る。また、ＤＭＡコントローラ２０４は、データ転送の完了を通知するために、ＣＰＵ２０１に対する割込み要求信号２２０を発生する機能を有する。ＤＭＡコントローラ２０４は、第１バス２１８及び第２バス２１９のバスマスタである。ＤＭＡコントローラ２０４は、第１バス２１８を通じてＣＰＵ２０１により制御される。
【００９９】
第１バス調停回路２０５は、第１バス２１８の各バスマスタからの第１バス使用要求信号を受け付け調停を行い、各バスマスタへの第１バス使用許可信号を発行する。各バスマスタは、第１バス使用許可信号を受領することによって第１バス２１８に対するアクセスが許可される。ここで、第１バス使用要求信号及び第１バス使用許可信号は、図８では、第１バス調停信号２２２として示されている。
【０１００】
第２バス調停回路２０６は、第２バス２１９の各バスマスタからの第２バス使用要求信号を受け付け、調停を行い、各バスマスタへの第２バス使用許可信号を発行する。各バスマスタは、第２バス使用許可信号を受領することによって第２バス２１９に対するアクセスが許可される。ここで、第２バス使用要求信号及び第２バス使用許可信号は、図８では、第２バス調停信号２２３として示されている。
【０１０１】
内部メモリ２０７は、マスクＲＯＭ、ＳＲＡＭ（ｓｔａｔｉｃ
ｒａｎｄｏｍ ａｃｃｅｓｓ ｍｅｍｏｒｙ）、及び、ＤＲＡＭのうち、必要なものを備える。バッテリによるＳＲＡＭのデータ保持が必要とされる場合、バッテリ２１７が必要となる。ＤＲＡＭが搭載される場合、定期的にリフレッシュと呼ばれる記憶内容保持のための動作が必要とされる。
【０１０２】
ＡＤＣ２０８は、アナログ入力信号をデジタル信号に変換する。このデジタル信号は、第１バス２１８を介してＣＰＵ２０１によってリードされる。また、ＡＤＣ２０８は、ＣＰＵ２０１に対して、割込み要求信号２２０を発生する機能を有する。
【０１０３】
このＡＤＣ２０８が、イメージセンサ４３からのピクセルデータ（アナログ）を受けて、デジタルデータに変換する。
【０１０４】
入出力制御回路２０９は、外部入出力装置や外部の半導体素子との通信等を入出力信号を介して行う。入出力信号は、第１バス２１８を介して、ＣＰＵ２０１からリード／ライトされる。また、入出力制御回路２０９は、ＣＰＵ２０１に対して、割込み要求信号２２０を発生する機能を有する。
【０１０５】
この入出力制御回路２０９から、赤外発光ダイオード７を制御するＬＥＤコントロール信号ＬＥＤＣが出力される。
【０１０６】
タイマ回路２１０は、設定された時間間隔に基づき、ＣＰＵ２０１に対する割込み要求信号２２０を発生する機能を有する。時間間隔等の設定は、第１バス２１８を介してＣＰＵ２０１によって行われる。
【０１０７】
ＤＲＡＭリフレッシュ制御回路２１１は、一定期間毎に第１バス２１８の使用権を無条件に獲得し、ＤＲＡＭのリフレッシュ動作を行う。なお、ＤＲＡＭリフレッシュ制御回路２１１は、内部メモリ２０７がＤＲＡＭを含む場合に設けられる。
【０１０８】
ＰＬＬ回路２１４は、水晶振動子２１６より得られる正弦波信号を逓倍した高周波クロック信号を生成する。
【０１０９】
クロックドライバ２１３は、ＰＬＬ回路２１４より受け取った高周波クロック信号を、各ブロックへクロック信号２２５を供給するのに十分な信号強度へ増幅する。
【０１１０】
低電圧検出回路２１５は、電源電圧Ｖｃｃを監視し、電源電圧Ｖｃｃが一定電圧以下のときに、ＰＬＬ回路２１４のリセット信号２２６、その他のシステム全体のリセット信号２２７を発行する。また、内部メモリ２０７がＳＲＡＭで構成されており、かつ、ＳＲＡＭのバッテリ２１７によるデータ保持が要求される場合、電源電圧Ｖｃｃが一定電圧以下のときに、バッテリバックアップ制御信号２２４を発行する機能を有する。
【０１１１】
外部メモリインタフェース回路２１２は、第２バス２１９をバス６７に接続するための機能を有する。
【０１１２】
ここで、図９〜図１１を参照して、イメージセンサ４３から高速プロセッサ２００へピクセルデータを取り込むための構成を詳細に説明する。
【０１１３】
図９は、図７のイメージセンサ４３から高速プロセッサ２００へピクセルデータを取り込む構成及びＬＥＤ駆動回路を示す回路図である。図１０は、図７のイメージセンサ４３から高速プロセッサ２００へピクセルデータを取り込む際の動作を示すタイミング図である。図１１は、図１０の一部を拡大して示すタイミング図である。
【０１１４】
図９に示すように、イメージセンサ４３は、ピクセルデータＤ（Ｘ，Ｙ）をアナログ信号として出力するタイプのものであるため、このピクセルデータＤ（Ｘ，Ｙ）は高速プロセッサ２００のアナログ入力ポートに入力される。アナログ入力ポートは、この高速プロセッサ２００においてＡＤＣ２０８に接続され、したがって、高速プロセッサ２００は、ＡＤＣ２０８からデジタルデータに変換されたピクセルデータをその内部に取得する。
【０１１５】
上述のアナログピクセルデータＤ（Ｘ，Ｙ）の中点は、イメージセンサ４３の基準電圧端子Ｖｒｅｆに与えられる基準電圧によって決定される。そのため、イメージセンサ４３に関連して例えば低抗分圧回路からなる基準電圧発生回路８１が設けられ、この回路８１から基準電圧端子Ｖｒｅｆに常に一定の大きさの基準電圧が与えられる。
【０１１６】
イメージセンサ４３を制御するための各デジタル信号は、高速プロセッサ２００のＩ／Ｏポートに与えられ、またはそこから出力される。このＩ／Ｏポートは各々入力／出力の制御が可能なデジタルポートであり、この高速プロセッサ２００で入出力制御回路２０９に接続されている。
【０１１７】
詳しく言うと、高速プロセッサ２００の出力ポートからはイメージセンサ４３をリセットするためのリセット信号ｒｅｓｅｔが出力され、イメージセンサ４３に与えられる。また、イメージセンサ４３からは、ピクセルデータストローブ信号ＰＤＳおよびフレームステータスフラグ信号ＦＳＦが出力され、それらの信号が高速プロセッサ２００の入力ポートに与えられる。
【０１１８】
ピクセルデータストローブ信号ＰＤＳは上述の各ピクセルデータＤ（Ｘ，Ｙ）を読み込むための図１０（ｂ）に示すようなストローブ信号である。フレームステータスフラグ信号ＦＳＦはイメージセンサ４３の状態を示すフラグ信号で、図１０（ａ）に示すように、このイメージセンサ４３の露光期間を規定する。つまり、フレームステータスフラグ信号ＦＳＦの図１０（ａ）に示すローレベルが露光期間を示し、図１０（ａ）に示すハイレベルが非露光期間を示す。
【０１１９】
また、高速プロセッサ２００は、イメージセンサ４３の制御レジスタ（図示せず）に設定するコマンド（またはコマンド＋データ）をレジスタデータとしてＩ／Ｏポートから出力するとともに、たとえばハイレベルおよびローレベルを繰り返すレジスタ設定クロックＣＬＫを出力し、それらをイメージセンサ４３に与える。
【０１２０】
なお、赤外発光ダイオードとして、図９に示すように互いに並列接続された４つの赤外発光ダイオード７ａ，７ｂ，７ｃおよび７ｄを用いる。この４つの赤外発光ダイオード７ａ〜７ｄは、上で説明したように、剣３を照らすように、イメージセンサ４３の視点方向と同一方向に赤外光を照射するようにかつイメージセンサ４３を囲むように配置される。ただし、これら個別の赤外発光ダイオード７ａ〜７ｄは、特に区別する必要がある場合を除いて、単に赤外発光ダイオード７と呼ばれる。
【０１２１】
この赤外発光ダイオード７はＬＥＤ駆動回路８２によって、点灯されまたは消灯（非点灯）される。ＬＥＤ駆動回路８２は、イメージセンサ４３から上述のフレームステータスフラグ信号ＦＳＦを受け、このフラグ信号ＦＳＦは、抵抗８３およびコンデンサ８４からなる微分回路８５を通してＰＮＰトランジスタ８６のベースに与えられる。このＰＮＰトランジスタ８６にはさらにプルアップ抵抗８７が接続されていて、このＰＮＰトランジスタ８６のベースは、通常は、ハイレベルにプルアップされている。そして、フレームステータス信号ＦＳＦがローレベルになると、そのローレベルが微分回路８５を経てベースに入力されるため、ＰＮＰトランジスタ８６は、フラグ信号ＦＳＦがローレベル期間にのみオンする。
【０１２２】
ＰＮＰトランジスタ８６のエミッタは抵抗８８および８９を介して接地される。そして、エミッタ抵抗８８および８９の接続点がＮＰＮトランジスタ３１のベースに接続される。このＮＰＮトランジスタ３１のコレクタが各赤外発光ダイオード７ａ〜７ｄのアノードに共通に接続される。ＮＰＮトランジスタ３１のエミッタが別のＮＰＮトランジスタ３３のベースに直接接続される。ＮＰＮトランジスタ３３のコレクタが各赤外発光ダイオード７ａ〜７ｄのカソードに共通接続され、エミッタが接地される。
【０１２３】
このＬＥＤ駆動回路８２では、高速プロセッサ２００のＩ／Ｏポートから出力されるＬＥＤコントロール信号ＬＥＤＣがアクティブ（ハイレベル）でありかつイメージセンサ４３からのフレームステータスフラグ信号ＦＳＦがローレベルである期間にのみ赤外発光ダイオード７が点灯される。
【０１２４】
図１０（ａ）に示すようにフレームステータスフラグ信号ＦＳＦがローレベルになると、そのローレベル期間中（実際には微分回路８５の時定数での遅れがあるが）、ＰＮＰトランジスタ８６がオンする。したがって、図１０（ｄ）に示すＬＥＤコントロール信号ＬＥＤＣが高速プロセッサ２００からハイレベルで出力されると、ＮＰＮトランジスタ３１のベースがハイベルとなり、このトランジスタ３１がオンとなる。トランジスタ３１がオンするとトランジスタ３３はオンとなる。したがって、電源（図９では小さい白丸で示す）から各赤外発光ダイオード７ａ〜７ｄおよびトランジスタ３３を経て電流が流れ、応じて図１０（ｅ）に示すように各赤外発光ダイオード７ａ〜７ｄが点灯される。
【０１２５】
ＬＥＤ駆動回路８２では、このように、図１０（ｄ）のＬＥＤコントロール信号ＬＥＤＣがアクティブでありかつ図１０（ａ）のフレームステータスフラグ信号ＦＳＦがローレベルである期間にのみ赤外発光ダイオード７が点灯されるので、イメージセンサ４３の露光期間（図１０（ｆ）参照）にのみ赤外発光ダイオード７が点灯されることになる。
【０１２６】
したがって、無駄な電力消費を抑制することができる。さらに、フレームステータスフラグ信号ＦＳＦはコンデンサ８４によってカップリングされているので、万一イメージセンサ４３の暴走等によりそのフラグ信号ＦＳＦがローレベルのまま停止した場合でも、一定時間後にはトランジスタ８６は必ずオフされ、赤外発光ダイオード７も一定時間後には必ずオフされる。
【０１２７】
このように、フレームステータス信号ＦＳＦの持続期間を変更することによって、イメージセンサ４３の露光時間を任意にかつ自在に設定または変更することができる。
【０１２８】
さらに、フレームステータス信号ＦＳＦおよびＬＥＤコントロール信号ＬＥＤＣの持続時間や周期を変更することによって、赤外発光ダイオード７すなわちストロボスコープの発光期間、非発光期間、発光／非発光周期などを任意にかつ自在に変更または設定できる。
【０１２９】
先に説明したように、赤外発光ダイオード７からの赤外光によって剣３が照射されると、剣３からの反射光によってイメージセンサ４３が露光される。応じて、イメージセンサ４３から上述のピクセルデータＤ（Ｘ，Ｙ）が出力される。詳しく説明すると、イメージセンサ４３は、上述の図１０（ａ）のフレームステータスフラグ信号ＦＳＦがハイレベルの期間（赤外発光ダイオード７の非点灯期間）に図１０（ｂ）に示すピクセルデータストローブＰＤＳに同期して、図１０（ｃ）に示すようにアナログのピクセルデータＤ（Ｘ，Ｙ）を出力する。
【０１３０】
高速プロセッサ２００では、そのフレームステータスフラグ信号ＦＳＦとピクセルデータストローブＰＤＳとを監視しながら、ＡＤＣ２０８を通じて、デジタルのピクセルデータを取得する。
【０１３１】
ただし、ピクセルデータは、図１１（ｃ）に示すように、第０行，第１行，…第３１行と行順次に出力される。ただし、後に説明するように、各行の先頭の１ピクセルはダミーデータとなる。ここで、イメージセンサ４３の水平方向（横方向、行方向）をＸ軸とし、垂直方向（縦方向、列方向）をＹ軸として、原点を左上の角とする。
【０１３２】
さて、次に、情報処理装置１によるゲーム処理について、具体例を挙げながら説明する。
【０１３３】
図１２は、図１のテレビジョンモニタ９０のスクリーン９１に表示される選択画面の例示図である。オペレータ９４が、情報処理装置１の背面に設けられた電源スイッチ（図示せず）をオンにすると、例えば、図１２に示すような選択画面が表示される。本実施の形態では、選択できる項目の１例として、「ストーリーモードＡ」〜「ストーリーモードＥ」（包括的に表すときは、「ストーリーモード」と表記する。）、「対戦モード」、及び、「スイング補正モード」、を挙げている。
【０１３４】
選択画面には、剣型のカーソル１０１、左移動指示オブジェクト１０３、右移動指示オブジェクト１０５、選択枠１０７、及び、項目オブジェクト１０９、が表示される。オペレータ９４が、剣３を動かすと、その動きに応じて、画面上のカーソル１０１が移動する。このカーソル１０１を、左移動指示オブジェクト１０３に重ねると、項目オブジェクト１０９が、左方向に移動する。同様に、このカーソル１０１を、右移動指示オブジェクト１０５に重ねると、項目オブジェクト１０９が、右方向に移動する。
【０１３５】
このように、オペレータ９４は、剣３によりカーソル１０１を操作して、選択したい項目オブジェクト１０９を、選択枠１０７内に静止させる。オペレータ９４が、剣３を一定速度以上の大きさで振り下ろすと、選択が確定する。すると、情報処理装置１は、選択が確定した項目オブジェクト１０９に対応した処理を実行する。以下、オペレータ９４が選択可能な各項目での処理について、図面を用いて説明する。
【０１３６】
図１３〜図１８（ａ）（ｂ）は、図１２の選択画面で「ストーリーモード」の項目オブジェクト１０９が選択されたときのゲーム画面の例示図である。ストーリーモードでは、スクリーン９１には、図１３示すようなゲーム画面が表示され、オペレータ９４が１人で行うゲーム処理が実行される。このゲーム画面には、ゲームストーリに沿って、敵オブジェクト１１５が表示される。
【０１３７】
また、オペレータ９４が剣３を横方向（水平方向）に振ると、剣３を振ったことがトリガとなって、ゲーム画面には、図１４に示すような横方向の剣軌跡オブジェクト１１７が出現する。剣軌跡オブジェクト１１７は、剣３の実空間での移動軌跡（斬り跡）を表現するオブジェクトである。従って、図示は省略しているが、剣３が斜めに振られると、斜め方向に、剣軌跡オブジェクト１１７が出現し、剣３が縦方向（垂直方向）に振られると、縦方向に、剣軌跡オブジェクト１１７が出現する。
【０１３８】
このような剣軌跡オブジェクト１１７を出現させるには、オペレータ９４は、剣３の刀身部１５の縁を撮像手段５に向けて、一定以上の速度で振る必要がある。つまり、オペレータ９４が、このように剣３を振ると、剣３の半円柱状部材２１の反射シート２３が、撮像手段５により撮像され、その処理結果を基に剣軌跡オブジェクト１１７のトリガが発生する。
【０１３９】
さて、オペレータ９４が剣３を振ったときに出現する剣軌跡オブジェクト１１７の一部が、敵オブジェクト１１５を含む所定範囲内に存在する場合は、図１５に示すように、エフェクト１１９が与えられた敵オブジェクト１２１が表示される。こうすることで、オペレータ９４は、剣軌跡オブジェクト１１７が敵オブジェクト１１５にヒットしたことを判断できる。敵オブジェクト１１５への連続したヒット回数が所定値を超えると、強さ情報が更新され、強さがアップする。強さ情報には、例えば、生命力を表現するライフ情報、及び、使用できる特殊技の数を表現するポイント情報、等が含まれる。このような強さ情報は、例えば、対戦モードを実行するときのために、メモリカートリッジ１３に格納される。
【０１４０】
また、オペレータ９４が、剣３の刀身部１５の側面を撮像手段５に向けると、図１６に示すように、盾オブジェクト１２３が出現する。つまり、剣３の刀身部１５の側面を撮像手段５に向けると、刀身部１５の側面に取り付けられた反射シート１７が撮像手段５により撮影され、その処理結果を基に盾オブジェクト１２３のトリガが発生する。
【０１４１】
この盾オブジェクト１２３は、剣３の刀身部１５の側面を撮像手段５に向けて動かすと、その動きに沿って画面上を移動する。従って、剣３を操作して、盾オブジェクト１２３を動かすことで、敵オブジェクト１２５の攻撃（図１６の例では、炎オブジェクト１２７）を防御できる。つまり、オペレータ９４が、剣３を動かして、盾オブジェクト１２３を移動させ、敵オブジェクト１２５からの炎オブジェクト１２７にタイミングよく盾オブジェクト１２３を重ねることができれば、炎オブジェクト１２７は消滅し、敵オブジェクト１２５の攻撃を防御できる。
【０１４２】
さて、ストーリーモードでは、図１７に示すような、説明オブジェクト１２９が、スクリーン９１に表示される場合がある。この場合、オペレータ９４は、説明オブジェクト１２９の指示に従って、剣３を操作して、ゲームを進める。図１７の例では、オペレータ９４が剣３を振ると、その時表示されていた説明オブジェクト１２９が消滅して、次の説明オブジェクトがスクリーン９１に表示される。つまり、オペレータ９４が、剣３の刀身部１５の縁を撮像手段５に向けて振ると、剣３の半円柱状部材２１の反射シート２３が、撮像手段５により撮影され、その処理結果を基に、説明オブジェクト１２９を次の説明オブジェクトに進めるためのトリガが発生する。
【０１４３】
また、ストーリーモードでは、図１８（ａ）に示すような説明オブジェクト１３２が表示される場合もある。この場合、オペレータ９４が、剣３の刃先部を撮像手段５に向けると、図１８（ｂ）に示すように、オペレータ９４が実空間を前進したような画面が表示される。つまり、オペレータ９４が、剣３の刃先を撮像手段５に向けると、静止した剣３の半円柱状部材２１の反射シート２３が、撮像手段５により撮影され、その処理結果を基に、画面（背景画像）を次に進めるためのトリガが発生する。
【０１４４】
さて次に、対戦モードについて説明する。対戦モードでは、情報処理装置１が、２人のオペレータ９４のそれぞれのメモリカートリッジ１３に格納された強さ情報を読み取り、その強さ情報を前提にして、対戦ゲームが実行される。メモリカートリッジ１３に格納されている強さ情報は、２人のオペレータ９４のそれぞれが、ストーリーモードによるゲームで取得した強さ情報である。情報処理装置１は、２人のオペレータ９４のそれぞれの強さ情報を読み取ると、次のようなゲーム画面を表示する。
【０１４５】
図１９は、図１２の選択画面で「対戦モード」の項目オブジェクト１０９が選択されたときのゲーム画面の例示図である。図１９に示すように、対戦モードのゲーム画面には、生命力を表現するライフ情報１３１ａ，１３１ｂ、使用できる特殊技の数を表現するポイント情報１４１ａ，１４１ｂ、対戦オブジェクト１３３ａ，１３３ｂ、及び、コマンド選択部１３５ａ，１３５ｂ、が表示される。コマンド選択部１３５ａ，１３５ｂには、選択枠１３７ａ，１３７ｂ及びコマンドオブジェクト１３９ａ，１３９ｂが表示される。
【０１４６】
ライフ情報１３１ａ，１３１ｂは、それぞれ、各オペレータ９４のメモリカートリッジ１３から取得したライフ情報である。図１９の例では、残りライフを棒グラフで表現している。ポイント情報１４１ａ，１４１ｂは、それぞれ、各オペレータ９４のメモリカートリッジ１３から取得したポイント情報である。
【０１４７】
２人のオペレータ９４のいずれかが、剣３を振ると、コマンド選択部１３５ａ，１３５ｂのコマンドオブジェクト１３９ａ，１３９ｂが、左方向へ回転する。そして、一方のオペレータ９４が、自分の剣３を振って、コマンド選択部１３５ａで回転しているコマンドオブジェクト１３９ａを静止させる。同様に、他方のオペレータ９４が、自分の剣３を振って、コマンド選択部１３５ｂで回転しているコマンドオブジェクト１３９ｂを静止させる。
【０１４８】
そして、選択枠１３７ａ，１３７ｂ内で静止したコマンドオブジェクト１３９ａ，１３９ｂに従って対戦処理が実行される。図１９の例では、対戦オブジェクト１３３ａは、「無防備」の状態となり、対戦オブジェクト１３３ｂから、「攻撃Ｃ」を受ける。すると、対戦オブジェクト１３３ａのライフ情報１３１ａが減少する。このように、オペレータ９４のそれぞれが静止させたコマンドオブジェクト１３９ａ，１３９ｂに従って、対戦が行われる。
【０１４９】
攻撃のコマンド１３９ａ，１３９ｂの強さは、Ａ、Ｂ、Ｃの順となっている。同様に、防御のコマンド１３９ａ，１３９ｂの強さも、Ａ、Ｂ、Ｃの順となっている。
【０１５０】
強さに差がある攻撃のコマンドが選択された場合、弱いコマンドを選択したほうがダメージを受け、強さの差に応じてライフ情報が減少する。また、強さが同じ攻撃のコマンドが選択された場合、鍔迫り合いとなる。このときは、所定時間内に、より多く剣３を振ったオペレータの対戦オブジェクトが、振りの少ないオペレータの対戦オブジェクトにダメージを与えることができ、ライフを減少させることができる。
【０１５１】
強い攻撃のコマンド及び弱い防御のコマンドが選択された場合、弱い防御のコマンドを選択したほうがダメージを受け、強さの差に応じてライフ情報が減少する。弱い攻撃のコマンド及び強い防御のコマンドが選択された場合、防御側はダメージを受けない。強さが同じ攻撃のコマンド及び防御のコマンドが選択された場合は、両者ダメージを受けない。
【０１５２】
ポイント情報１４１ａ，１４１ｂは、特殊技を使用したら減少する。特殊技は、特殊技のコマンドオブジェクト１３９ａ，１３９ｂを静止させたときに実行される。
【０１５３】
さて、次に、情報処理装置１によるゲーム処理の詳細を説明する。
【０１５４】
図２０は、図７のＲＯＭ６５に格納されたプログラム及びデータを示す概念図である。図２０に示すように、ＲＯＭ６５には、制御プログラム１０２、画像データ１０３、及び、音声データ１０５、が格納される。これらのプログラム及びデータの内容は以下の説明の中で明らかになる。
【０１５５】
図８のＣＰＵ２０１は、イメージセンサ４３が出力したアナログのピクセルデータを変換したデジタルのピクセルデータを取得して、配列Ｐ［Ｘ］［Ｙ］に代入する。なお、上記のように、イメージセンサ４３の水平方向（横方向、行方向）をＸ軸、垂直方向（縦方向、列方向）をＹ軸としている。
【０１５６】
そして、ＣＰＵ２０１は、赤外発光ダイオード７の点灯時のピクセルデータＰ［Ｘ］［Ｙ］と、消灯時のピクセルデータＰ［Ｘ］［Ｙ］と、の差分を算出して、差分データを配列Ｄｉｆ［Ｘ］［Ｙ］に代入する。ここで、図面を用いて、差分を求める効果を説明する。ここで、ピクセルデータは輝度を表す。よって、差分データも輝度を表す。
【０１５７】
図２１（ａ）は、一般的なイメージセンサにより撮影された、特別な処理を施さない画像の例示図、図２１（ｂ）は、図２１（ａ）の画像信号を或る閾値でレベル弁別したときの画像信号の例示図、図２１（ｃ）は、赤外フィルタ９を介したイメージセンサ４３の点灯時の画像信号を或る閾値でレベル弁別したときの画像信号の例示図、図２１（ｄ）は、赤外フィルタ９を介したイメージセンサ４３の消灯時の画像信号を或る閾値でレベル弁別したときの画像信号の例示図、図２１（ｅ）は、点灯時の画像信号と消灯時の画像信号との差分信号の例示図、である。
【０１５８】
上記のように、剣３に赤外光を照射し、赤外フィルタ９を介してイメージセンサ４３に入射した反射赤外光による画像を撮影している。一般的な室内環境で一般的な光源を用いて剣３をストロボスコープ撮影した場合には、一般的なイメージセンサ（図６のイメージセンサ４３に相当する。）には、図２１（ａ）に示すように、剣３による画像以外に、蛍光灯光源、白熱灯光源、太陽光（窓）のような光源だけでなく、室内のすべてのものの画像がすべて写り込む。したがって、この図２１（ａ）の画像を処理して剣３の画像のみを抽出するのは、かなり高速のコンピュータまたはプロセサが必要である。しかしながら、安価が条件の装置ではそのような高性能コンピュータを使えない。そこで種々の処理を行って負担を軽減することが考えられる。
【０１５９】
なお、図２１（ａ）の画像は、本来ならば、白黒の階調により表される画像であるが、その図示を省略している。また、図２１（ａ）〜図２１（ｅ）は、剣３の刀身部１５の縁をイメージセンサに向けた場合の画像であるため、反射シート１７ではなく、反射シート２３が撮影されている。なお、２つの反射シート２３の距離が近いため、通常、２つの反射シート２３は、１点として撮影される。
【０１６０】
さて、図２１（ｂ）は、図２１（ａ）の画像信号を或る閾値でレベル弁別したときの画像信号である。このようなレベル弁別処理は専用のハードウェア回路でも、ソフトウェア的にでも、実行することができるが、いずれの方法によっても、一定以下の光量のピクセルデータをカットするレベル弁別を実行すると、剣３や光源以外の低輝度画像を除去することができる。この図２１（ｂ）の画像では剣３および室内の光源以外の画像の処理を省略でき、したがって、コンピュータの負担を軽減できるが、それでも、光源画像を含む高輝度画像が依然として写り込んでいるので、剣３と他の光源を分別することは難しい。
【０１６１】
そこで、図６に示したように赤外フィルタ９を利用して、イメージセンサ４３に赤外光による画像以外の画像が写らないようにした。それによって、図２１（ｃ）に示すように、赤外光を殆ど含まない蛍光灯光源の画像は除去できる。しかしながら、それでもなお太陽光や白熱灯が画像信号中に含まれてしまう。したがって、更なる負担軽減のために、赤外ストロボスコープの点灯時のピクセルデータと消灯時のピクセルデータとの差分を計算することとした。
【０１６２】
そのため、図２１（ｃ）の点灯時の画像信号のピクセルデータと、図２１（ｄ）の消灯時の画像信号のピクセルデータとの差分を計算した。すると、図２１（ｅ）に示すように、その差分だけの画像が取得できる。この差分データによる画像は、図２１（ａ）と対比すれば明らかなように、剣３によって得られる画像のみを含むことになる。したがって、処理の軽減を図りながらも、剣３の状態情報を取得できる。状態情報とは、例えば、速さ情報、移動方向情報、移動距離情報、速度ベクトル情報、加速度情報、移動軌跡情報、面積情報、若しくは、位置情報、のいずれか、又は、それらの２以上の組み合わせ、等である。
【０１６３】
以上のような理由で、ＣＰＵ２０１は、赤外発光ダイオード７の点灯時のピクセルデータと、消灯時のピクセルデータと、の差分を算出して、差分データを得る。
【０１６４】
ＣＰＵ２０１は算出した差分データＤｉｆ［Ｘ］［Ｙ］を基に、剣３の反射面（反射シート１７，２３）を検出する。具体的には次の通りである。
【０１６５】
イメージセンサ４３は、上記のように、例えば、３２ピクセル×３２ピクセルからなる。ＣＰＵ２０１は、Ｘ方向に３２ピクセル分の差分データをスキャンし、そして、Ｙ座標をインクリメントし、Ｘ方向に３２ピクセル分の差分データをスキャンし、そして、Ｙ座標をインクリメントし、というように、Ｙ座標をインクリメントしながら、Ｘ方向に３２ピクセル分の差分データをスキャンして、所定の閾値Ｔｈより大きい差分データを持つピクセル数をカウントしていく。所定の閾値Ｔｈより大きい差分データを持つピクセルが存在する場合は、反射シート１７又は反射シート２３が検出されたと判断される。
【０１６６】
そして、ＣＰＵ２０１は、所定の閾値Ｔｈを超えた差分データから最大値を求める。最大の差分データを持つピクセルを剣３の注目点とする。従って、注目点のＸ座標及びＹ座標は、最大の差分データを持つピクセルのＸ座標及びＹ座標である。さらに、ＣＰＵ２０１は、イメージセンサ４３上（イメージセンサ４３によるイメージ上）のＸ座標及びＹ座標を、スクリーン９１上（表示画面上）のｘ座標及びｙ座標に変換して、ｘ座標及びｙ座標をそれぞれ配列Ｐｘ［Ｍ］及びＰｙ［Ｍ］に代入する。スクリーン９１には、グラフィックプロセッサ２０２が生成した横２５６画素×縦２２４画素の画像が表示される。従って、スクリーン９１上の位置（ｘ，ｙ）は、スクリーン９１の中心を原点（０，０）として、画素の位置で示される。なお、「Ｍ」は整数であり、Ｍ回目に撮影されたことを意味する。以上のようにして、ＣＰＵ２０１は、剣３の注目点を抽出する。
【０１６７】
ＣＰＵ２０１は、抽出した前回と今回の注目点の座標に基づいて、剣３がスイングされたか否かを判断する。詳細は次の通りである。
【０１６８】
ＣＰＵ２０１は、現在の注目点（Ｍ）の座標（Ｐｘ［Ｍ］，Ｐｙ［Ｍ］）と、前回の注目点（Ｍ−１）の座標（Ｐｘ［Ｍ−１］，Ｐｙ［Ｍ−１］）と、を用いて、次式により、剣３の注目点（Ｍ）の速度ベクトル（Ｖｘ［Ｍ］，Ｖｙ［Ｍ］）を求める。
【０１６９】
Ｖｘ［Ｍ］＝Ｐｘ［Ｍ］−Ｐｘ［Ｍ−１］ …（１）
Ｖｙ［Ｍ］＝Ｐｙ［Ｍ］−Ｐｙ［Ｍ−１］ …（２）
そして、ＣＰＵ２０１は、次式により、剣３の注目点（Ｍ）の速さＶ［Ｍ］を求める。
【０１７０】
Ｖ［Ｍ］＝√（Ｖｘ［Ｍ］２＋Ｖｙ［Ｍ］２） …（３）
ＣＰＵ２０１は、注目点（Ｍ）の速さＶ［Ｍ］と、所定の閾値ＴｈＶと、を比較して、速さＶ［Ｍ］が大きい場合は、剣３が振られたと判断して、スイングフラグをオンにする。
【０１７１】
ＣＰＵ２０１は、剣３のスイング方向を検出する。詳細は次の通りである。
【０１７２】
図２２は、図８のＣＰＵ２０１が剣３のスイング方向を検出する際の説明図である。図２２に示すように、スクリーン９１の中心を原点とし、２５６画素×２５６画素の仮想平面を想定する。仮想平面上の座標は、スクリーン９１上の座標と一致する。この仮想平面の範囲外に、仮想の注目点（０）を設定し、この注目点の座標を、（Ｐｘ［０］，Ｐｙ［０］）とする。
【０１７３】
注目点（１）の速さＶ［１］が所定の閾値ＴｈＶを超えたとする。そして、注目点（２）の速さＶ［２］及び注目点（３）の速さＶ［３］も引き続き、所定の閾値ＴｈＶをこえており、注目点［４］の速さＶ［４］が所定の閾値ＴｈＶ以下になったとする。
【０１７４】
ＣＰＵ２０１は、所定の閾値ＴｈＶを最初に超えた注目点（１）の座標（Ｐｘ［１］，Ｐｙ［１］）と、最初に所定の閾値ＴｈＶ以下になった注目点（４）の座標（Ｐｘ［４］，Ｐｙ［４］）と、に基づいて、剣３のスイング方向を検出する。具体的には、次の通りである。なお、速さが所定の閾値ＴｈＶを最初に超えた注目点（Ｓ）のｘ座標及びｙ座標をそれぞれＰｘ［Ｓ］及びＰｙ［Ｓ］とし、速さが最初に所定の閾値ＴｈＶ以下になった注目点（Ｅ）のｘ座標及びｙ座標をそれぞれＰｘ［Ｅ］及びＰｙ［Ｅ］とする。
【０１７５】
ＣＰＵ２０１は、次式により、これら２点間の距離を求める。
【０１７６】
Ｌｘ＝Ｐｘ［Ｅ］−Ｐｘ［Ｓ］ …（４）
Ｌｙ＝Ｐｙ［Ｅ］−Ｐｙ［Ｓ］ …（５）
そして、距離Ｌｘ，Ｌｙを、所定の閾値ＴｈＶを超えた注目点の数「ｎ」で除算する。図２２の例では、ｎ＝３である。
【０１７７】
ＬｘＡ＝Ｌｘ／ｎ …（６）
ＬｙＡ＝Ｌｙ／ｎ …（７）
なお、ＣＰＵ２０１は、所定の閾値ＴｈＶを最初に超えた注目点（Ｓ）から、イメージセンサ４３の撮影範囲内の注目点（図２２の例では注目点（４））まで、全てが所定の閾値ＴｈＶを超えており、所定の閾値ＴｈＶ以下にならなかった場合は、イメージセンサ４３の撮影範囲外になる直前に抽出された注目点（図２２の例では注目点（４））を注目点（Ｅ）として、この注目点（Ｅ）と所定の閾値ＴｈＶを最初に超えた注目点（Ｓ）と、を基に、式（４）〜式（７）の計算を実行する。なお、この場合、ｎ＝ｎ−１となる。
【０１７８】
次に、ＣＰＵ２０１は、ｘ方向のスイング長の平均値ＬｘＡの絶対値と所定値ｘｒとの間で大小を判断する。また、ＣＰＵ２０１は、ｙ方向のスイング長の平均値ＬｙＡの絶対値と所定値ｙｒとの間で大小を判断する。その判断の結果、ＣＰＵ２０１は、平均値ＬｘＡの絶対値が所定値ｘｒより大きく、平均値ＬｙＡの絶対値が所定値ｙｒより小さい場合は、剣３が横方向（水平方向）に振られたと判断して、角度フラグを対応する値にセットする。
【０１７９】
また、判断の結果、ＣＰＵ２０１は、平均値ＬｘＡの絶対値が所定値ｘｒより小さく、平均値ＬｙＡの絶対値が所定値ｙｒより大きい場合は、剣３が縦方向（垂直方向）に振られたと判断して、角度フラグを対応する値にセットする。また、判断の結果、ＣＰＵ２０１は、平均値ＬｘＡの絶対値が所定値ｘｒより大きく、平均値ＬｙＡの絶対値が所定値ｙｒより大きい場合は、剣３が斜め方向に振られたと判断して、角度フラグを対応する値にセットする。
【０１８０】
さらに、ＣＰＵ２０１は、平均値ＬｘＡの符号を判断して、ｘ方向フラグを対応する値にセットする。また、ＣＰＵ２０１は、平均値ＬｙＡの符号を判断して、ｙ方向フラグを対応する値にセットする。なお、ｘ方向フラグ及びｙ方向フラグを包括して表現するときは、単に方向フラグと呼ぶ。
【０１８１】
ＣＰＵ２０１は、角度フラグ、ｘ方向フラグ、及び、ｙ方向フラグ、にセットされている値に従って、剣３のスイング情報を決定する。剣３のスイング情報は、剣３のスイング方向を表す情報である。このスイング情報により、剣軌跡ブジェクト１１７の種類が決定される。この点の詳細を説明する。
【０１８２】
図２３（ａ）は、角度フラグの値と角度との関係図、図２３（ｂ）は、方向フラグの値と方向を表す符号との関係図、図２３（ｃ）は、角度フラグ及び方向フラグと、スイング情報と、の関係図、である。上記のように、ＣＰＵ２０１は、平均値ＬｘＡ及び平均値ＬｙＡの絶対値と、所定値ｘｒ及び所定値ｙｒと、の間で大小を判断して、図２３（ａ）に示すように、角度フラグをセットする。
【０１８３】
また、上記のように、ＣＰＵ２０１は、平均値ＬｘＡ及び平均値ＬｙＡの符号を判断して、図２３（ｂ）に示すように、ｘ方向フラグ及びｙ方向フラグをセットする。
【０１８４】
さらに、図２３（ｃ）に示すように、ＣＰＵ２０１は、角度フラグ、ｘ方向フラグ、及び、ｙ方向フラグ、にセットされている値から、剣３のスイング情報を決定する。
【０１８５】
図２４は、図２３（ｃ）のスイング情報と、剣３の操作方向と、の関係図である。図２３及び図２４に示すように、スイング情報Ａ０は、剣３が、横方向に、かつ、ｘ軸の正方向（右方向）に操作されたことを意味する。スイング情報Ａ１は、剣３が、横方向に、かつ、ｘ軸の負方向（左方向）に操作されたことを意味する。スイング情報Ａ２は、剣３が、縦方向に、かつ、ｙ軸の正方向（上方向）に操作されたことを意味する。スイング情報Ａ３は、剣３が、縦方向に、かつ、ｙ軸の負方向（下方向）に操作されたことを意味する。スイング情報Ａ４は、剣３が、右上斜め方向に操作されたことを意味する。スイング情報Ａ５は、剣３が、右下斜め方向に操作されたことを意味する。スイング情報Ａ６は、剣３が、左上斜め方向に操作されたことを意味する。スイング情報Ａ７は、剣３が、左下斜め方向に操作されたことを意味する。
【０１８６】
ＣＰＵ２０１は、上記のようにして取得したスイング情報Ａ０〜Ａ７に関連付けられたアニメーションテーブル格納位置情報を登録する（剣軌跡登録：トリガ発生を意味）。アニメーションテーブル格納位置情報は、アニメーションテーブルの格納位置を示す情報である。また、この場合のアニメーションテーブルには、剣軌跡オブジェクト１１７をアニメーションするための様々な情報が含まれている。
【０１８７】
なお、注目点の速さ情報が、所定の閾値ＴｈＶを超えてから、所定の閾値ＴｈＶ以下になるまでの、注目点の数が３以上の場合に、上記のアニメーションテーブル絡納位置情報の登録が行われ、３より小さい場合は、登録は行われない。つまり、注目点の数が、２点以下の場合は、上記登録は行われない。また、所定の閾値ＴｈＶを最初に超えた注目点から、イメージセンサ４３の撮影範囲内の注目点まで、全てが所定の閾値ＴｈＶを超えており、所定の閾値ＴｈＶ以下にならなかった場合も同様に、注目点の数が３以上の場合に、上記のアニメーションテーブル格納位置情報の登録が行われ、３より小さい場合は、登録は行われない。
【０１８８】
図２５は、スイング情報Ａ０〜Ａ７とアニメーションテーブル格納位置情報との関係図である。図２５では、例えば、スイング情報Ａ０，Ａ１とアニメーションテーブル格納位置情報ａｄｄｒｅｓｓ０とが関連付けられている。ここで、アニメーションテーブル格納位置情報は、アニメーションテーブルが格納されている領域の先頭アドレス情報である。
【０１８９】
図２６は、剣軌跡オブジェクト１１７をアニメーションするためのアニメーションテーブルの例示図である。図２６に示すように、アニメーションテーブルは、画像格納位置情報、コマ指定情報、持続フレーム数情報、及び、サイズ情報、からなる。画像格納位置情報は、画像データの格納位置を示す情報である。この画像データは、アニメーションを行うためのものであるため、コマごとのオブジェクト画像データからなる。なお、画像格納位置情報は、最初のコマのオブジェクト画像データが格納されている領域の先頭アドレス情報である。コマ指定情報は、何コマ目のオブジェクト画像データであるかを示す情報である。持続フレーム数情報は、コマ指定情報が指定するコマのオブジェクト画像データを、何フレーム継続して表示するかを示す情報である。サイズ情報は、オブジェクト画像データのサイズを示す情報である。
【０１９０】
ここで、図２６のアニメーションテーブルは、剣軌跡オブジェクト１１７のアニメーションを行うためのものである。従って、例えば、スイング情報Ａ０，Ａ１は、剣３が横方向に振られたことを示す情報であるため、アニメーションテーブル格納位置情報ａｄｄｒｅｓｓ０が示すアニメーションテーブルの画像格納位置情報ａ０は、横方向の剣軌跡を表す剣軌跡オブジェクト１１７の格納位置を示す。
【０１９１】
図２７（ａ）〜図２７（ｍ）は、剣軌跡オブジェクト１１７のアニメーションを行うためのオブジェクト画像データの例示図である。図２７（ａ）〜図２７（ｍ）のそれぞれが、コマに相当する。図２７（ａ）〜図２７（ｍ）に示すように、最初は幅ｗの狭い帯状の画像（剣軌跡オブジェクト１１７）が、コマ（時間ｔ）が進むに従って、幅ｗが広くなり、さらに、コマが進むに従って、幅ｗが小さくなる。この例は、スイング情報Ａ０，Ａ１に対応する図２６の画像格納位置情報ａ０が示す位置に格納された画像データの１例である。なお、画像格納位置情報ａ０は、図２７（ａ）のオブジェクト画像データの先頭アドレスを示す。
【０１９２】
ここで、スプライト及び背景について簡単に説明する。剣軌跡オブジェクト１１７や盾オブジェクト１２３等のオブジェクトは、単数又は複数のスプライトから構成される。プライトは、スクリーン９１のいずれの位置にでも配置可能な１つの矩形の画素集合（例えば、１６画素×１６画素）からなる。一方、背景は、矩形の画素集合（例えば、１６画素×１６画素）の二次元配列からなり、スクリーン９１全体を覆う大きさを持つ（例えば、横２５６画素×縦２５６画素）。スプライトや背景を構成する矩形の画素集合を、キャラクタと呼ぶ。
【０１９３】
図２７（ａ）のオブジェクト画像データを構成する各スプライトの格納位置情報（先頭アドレス）は、剣軌跡オブジェクト１１７の格納位置情報ａ０とスプライトのサイズとから算出される。また、図２７（ｂ）〜図２７（ｍ）の各オブジェクト画像データの格納位置情報（先頭アドレス）は、画像格納位置情報ａ０並びにアニメーションテーブルのコマ指定情報及びサイズ情報から算出される。オブジェクト画像データの各々を構成する各スプライトの格納位置情報（先頭アドレス）は、各オブジェクト画像データの格納位置情報とスプライトのサイズとから算出される。ただし、オブジェクト画像データや各スプライトの格納位置情報を計算で求めるのではなく、アニメーションテーブルに予め持っていてもよい。
【０１９４】
なお、図２７（ａ）〜図２７（ｍ）において、黒く塗りつぶした部分は、透明であることを意味する。また、ハッチングの種類の違いは、色の違いを示している。さらに、この例では、１コマを１フレームだけ表示するため、１３コマを１３フレームで表示する。なお、フレームの更新は、例えば、１／６０秒ごとに行われる。以上のように、コマ（時間ｔ）の進行とともに、剣軌跡オブジェクト１１７の幅ｗを、小→大→小、と変化させることで、剣３が振られたことに応じて、鋭い閃光が走ったような剣軌跡の表現が可能となる。
【０１９５】
図２８（ａ）〜図２８（ｍ）は、剣軌跡オブジェクト１１７のアニメーションを行うためのオブジェクト画像データの他の例示図である。図２８（ａ）〜図２８（ｍ）に示すように、最初は幅ｗの広い帯状の画像（剣軌跡オブジェクト１１７）が、コマ（時間ｔ）が進むに従って、幅ｗが狭くなる。また、最初は短い剣軌跡オブジェクト１１７であるが、コマが進むに従って、長くなり、そして、一定長さになっている。なお、この例は、スイング情報Ａ１に対応する剣軌跡オブジェクト１１７のアニメーションのためのオブジェクト画像データの１例である。従って、剣軌跡画像は、剣３が移動する方向（図２４参照）に対応して右側から出現している。ここで、スイング情報がＡ０の場合は、図２８（ａ）〜図２８（ｍ）のオブジェクト画像データの方向が逆になる。つまり、図２８（ａ）〜図２８（ｄ）においては、剣軌跡画像が左側から出現する。同様に、他のスイング情報Ａ２〜Ａ７に対応するオブジェクト画像データにおいても、剣３が移動する方向（図２４参照）に対応した方向から剣軌跡画像が出現する。
【０１９６】
図２９（ａ）〜図２９（ｍ）は、剣軌跡オブジェクト１１７のアニメーションを行うためのオブジェクト画像データの他の例示図である。図２９（ｆ）〜図２９（ｍ）に示すように、幅ｗの画像（白で表記）に、残像（ハッチングで表記）を付加することもできる。なお、この例は、スイング情報Ａ１に対応する剣軌跡オブジェクト１１７のアニメーションのためのオブジェクト画像データの１例である。従って、剣軌跡画像は、剣３が移動する方向（図２４参照）に対応して右側から出現している。ここで、スイング情報がＡ０の場合は、図２９（ａ）〜図２９（ｍ）のオブジェクト画像データの方向が逆になる。つまり、図２９（ａ）〜図２９（ｄ）においては、剣軌跡画像が左側から出現する。同様に、他のスイング情報Ａ２〜Ａ７に対応するオブジェクト画像データにおいても、剣３が移動する方向（図２４参照）に対応した方向から剣軌跡画像が出現する。
【０１９７】
なお、図２７〜図２９において、剣軌跡画像を白色で表している部分が存在するが、実際には、所望の色（白色含む。）が付される。
【０１９８】
さて、ＣＰＵ２０１は、剣軌跡オブジェクト１１７のスクリーン９１上の座標を算出する。まず、スイング情報が「Ａ０」又は「Ａ１」の例を挙げる。従って、ＣＰＵ２０１は、速さが所定の閾値ＴｈＶを最初に超えた注目点（Ｓ）のｙ座標（Ｐｙ［Ｓ］）と、速さが最初に所定の閾値ＴｈＶ以下になった注目点（Ｅ）のｙ座標（Ｐｙ［Ｅ］）と、を用いて、剣軌跡オブジェクト１１７の中心のｙ座標（ｙｔ）を決定する。つまり、次式の通りである。
【０１９９】
ｙｔ＝（Ｐｙ［Ｓ］＋Ｐｙ［Ｅ］）／２ …（８）
一方、剣軌跡オブジェクト１１７の中心のｘ座標（ｘｔ）は、次式のようになる。
【０２００】
ｘｔ＝０ …（９）
こうすれば、剣軌跡オブジェクト１１７が出現する縦方向（垂直方向）位置は、オペレータ９４による剣３の操作に応じたものとなる。一方、この例では、スイング情報が「Ａ０」又は「Ａ１」であるため、すなわち、剣３が横方向に振られているため、剣軌跡オブジェクト１１７の中心のｘ座標（ｘｔ）は、画面の中心のｘ座標、即ち、「０」とすることが適切である。
【０２０１】
次に、スイング情報が「Ａ２」あるいは「Ａ３」の場合、つまり、剣３が縦方向に振られた場合、を説明する。この場合、速さが所定の閾値ＴｈＶを最初に超えた注目点（Ｓ）のｘ座標をＰｘ［Ｓ］とし、速さが最初に所定の閾値ＴｈＶ以下になった注目点（Ｅ）のｘ座標をＰｘ［Ｅ］とする。そうすると、剣軌跡オブジェクト１１７の中心の座標（ｘｔ，ｙｔ）は、次式のようになる。
【０２０２】
ｘｔ＝（Ｐｘ［Ｓ］＋Ｐｘ［Ｅ］）／２ …（１０）
ｙｔ＝０ …（１１）
こうすれば、剣軌跡オブジェクト１１７が出現する横方向（水平方向）の位置は、オペレータ９４による剣３の操作に応じたものとなる。一方、この例では、スイング情報が「Ａ２」又は「Ａ３」であるため、すなわち、剣３が縦方向に振られているため、剣軌跡オブジェクト１１７の中心のｙ座標（ｙｔ）は、画面の中心のｙ座標、即ち、「０」とすることが適切である。
【０２０３】
次に、スイング情報が「Ａ４」あるいは「Ａ７」の場合、つまり、剣３が斜め右上方向あるいは斜め左下方向に振られた場合、を説明する。この場合、ＣＰＵ２０１は、剣軌跡オブジェクト１１７の中心座標算出のため、次式により、仮の座標（ｘｓ，ｙｓ）を求める。
【０２０４】
ｘｓ＝（Ｐｘ［Ｓ］＋Ｐｘ［Ｅ］）／２ …（１２）
ｙｓ＝（Ｐｙ［Ｓ］＋Ｐｙ［Ｅ］）／２ …（１３）
そして、ＣＰＵ２０１は、座標（ｘｓ，ｙｓ）を通る直線と、スクリーン９１の右下がりの対角線と、の交点座標（ｘＩ，ｙＩ）を求める。この場合の、座標（ｘｓ，ｙｓ）を通る直線は、スクリーン９１の右上がりの対角線と平行な直線である。なお、厳密な交点座標（ｘＩ，ｙＩ）を求める必要は必ずしもない。こうして求めた交点座標（ｘＩ，ｙＩ）を、剣軌跡オブジェクト１１７の中心座標（ｘｔ，ｙｔ）とする。
【０２０５】
スイング情報が「Ａ５」あるいは「Ａ６」の場合、つまり、剣３が斜め右下方向あるいは斜め左上方向に振られた場合、ＣＰＵ２０１は、仮の座標（ｘｓ，ｙｓ）を通る直線と、スクリーン９１の右上がりの対角線と、の交点座標（ｘＩ，ｙＩ）を求める。この場合の、座標（ｘｓ，ｙｓ）を通る直線は、画面の右下がりの対角線と平行な直線である。なお、厳密な交点座標（ｘＩ，ｙＩ）を求める必要は必ずしもない。こうして求めた交点座標（ｘＩ，ｙＩ）を、剣軌跡オブジェクト１１７の中心座標（ｘｔ，ｙｔ）とする。
【０２０６】
なお、ＣＰＵ２０１は、所定の閾値ＴｈＶを最初に超えた注目点（Ｓ）から、イメージセンサ４３の撮影範囲内の注目点（図２２の例では注目点（４））まで、全てが所定の閾値ＴｈＶを超えており、所定の閾値ＴｈＶ以下にならなかった場合は、イメージセンサ４３の撮影範囲外になる直前に抽出された注目点（図２２の例では注目点（４））を注目点（Ｅ）として、この注目点（Ｅ）と所定の閾値ＴｈＶを最初に超えた注目点（Ｓ）と、を基に、式（８）〜式（１３）の計算を実行する。
【０２０７】
次に、剣軌跡オブジェクト１１７が、敵オブジェクト１１５にヒットしたかどうかの判定手法を説明する。
【０２０８】
図３０は、図８のＣＰＵ２０１によるヒット判定の説明図である。図３０に示すように、図２２と同じ仮想平面を想定する。また、スイング情報が「Ａ０」又「Ａ１」の剣軌跡オブジェクト１１７の長手方向の中心線３２７を想定する。さらに、この中心線３２７に中心座標が存在する５つの仮想矩形３２９〜３３７を想定する。ここで、各仮想矩形３２９〜３３７の頂点座標を包括して、座標（ｘｐｑ，ｙｐｑ）と表記する。ここで、「ｐ」は、各仮想矩形３２９〜３３７を示しており、図３０の例では、ｐ＝１〜５、である。また、「ｑ」は、仮想矩形３２９〜３３７の各々において、各頂点を示しており、図３０の例では、ｑ＝１〜４、である。
【０２０９】
一方、ｍ番目（ｍは自然数）の敵オブジェクト１１５の中心座標を中心として、ヒットレンジ３２５を想定する。また、ｍ番目のヒットレンジ３２５の各頂点の座標を、（ｘｍ１，ｙｍ１）、（ｘｍ１，ｙｍ２）、（ｘｍ２，ｙｍ２）、（ｘｍ２，ｙｍ１）、とする。
【０２１０】
ＣＰＵ２０１は、ｘｍ１＜ｘｐｑ＜ｘｍ２、を満たし、かつ、ｙｍ１＜ｙｐｑ＜ｙｍ２、を満たすかどうかを、全ての仮想矩形３２９〜３３７の全ての頂点座標（ｘｐｑ，ｙｐｑ）について判断する。そして、ＣＰＵ２０１は、このような条件を満たした頂点座標（ｘｐｑ，ｙｐｑ）が存在する場合は、ｍ番目の敵オブジェクト１１５に剣軌跡オブジェクト１１７がヒットしたと判定する。つまり、仮想矩形３２９〜３３７のうちのいずれかが、ヒットレンジ３２５と重なった場合は、ヒットしたと判定される。
【０２１１】
上記のような判定が、表示されている全ての敵オブジェクト１１５に対して行われる。また、スイング情報が、「Ａ２」〜「Ａ７」の場合も、「Ａ０」及び「Ａ１」の場合と同様であり、仮想矩形がヒットレンジと重なったかどうかで、ヒット判定がなされる。なお、仮想矩形及びヒットレンジが実際に画像として表示されるわけではなく、あくまでも仮想のものである。
【０２１２】
また、ＣＰＵ２０１は、ヒットと判定したときは、エフェクト１１９を表示するためのヒット登録（トリガ発生を意味）を行う。具体的には、ＣＰＵ２０１は、ヒットしたときのスイング情報「Ａ０」〜「Ａ７」に関連付けられたアニメーションテーブル格納位置情報を登録する。この場合のアニメーションテーブル格納位置情報は、エフェクト１１９のアニメーションを行うためのアニメーションテーブルの格納位置情報である。エフェクト１１９には方向があるため、スイング情報「Ａ０」〜「Ａ７」の各々に対して、アニメーションテーブル格納位置情報が関連付けられている。図１５のエフェクト１１９は、スイング情報「Ａ０」に関連付けられたアニメーションテーブル格納位置情報が示す位置に格納されたアニメーションテーブルに基づく画像である。なお、エフェクト１１９のアニメーションテーブルは、剣軌跡オブジェクト１１７のアニメーションテーブルと同様に、画像格納位置情報、コマ指定情報、持続フレーム数情報、及び、サイズ情報、からなる。
【０２１３】
また、ＣＰＵ２０１は、ヒットと判定したときは、敵オブジェクト１１５の座標を基に、出現させるエフェクト１１９の座標を算出する。なぜなら、エフェクト１１９は、ヒットした敵オブジェクト１１５の位置に出現させるからである。
【０２１４】
次に、盾オブジェクト１２３の制御について説明する。ＣＰＵ２０１は、所定の閾値Ｔｈより大きい差分データを持つピクセル数と、所定の閾値ＴｈＡと、を比較する。そして、ＣＰＵ２０１は、所定の閾値Ｔｈより大きい差分データを持つピクセル数が、所定の閾値ＴｈＡより大きかった場合、反射シート１７、つまり、剣３の刀身部１５の側面、が検出されたと判断する。即ち、所定の閾値Ｔｈより大きい差分データを持つピクセル数が、所定の閾値ＴｈＡより多いということは、赤外光を反射する面積が広いということであるから、検知された反射シートは、面積が小さい反射シート２３ではなく、面積が大きい反射シート１７ということになる。
【０２１５】
ＣＰＵ２０１は、面積の大きい反射シート１７を検出したときは、盾オブジェクト１２３を表示するための盾登録（トリガ発生を意味）を行う。具体的には、ＣＰＵ２０１は、盾オブジェクト１２３のアニメーションのためのアニメーションテーブル格納位置情報を登録する。なお、盾オブジェクト１２３のアニメーションテーブルは、剣軌跡オブジェクト１１７のアニメーションテーブルと同様に、画像格納位置情報、コマ指定情報、持続フレーム数情報、及び、サイズ情報、からなる。
【０２１６】
また、ＣＰＵ２０１は、面積の大きい反射シート１７が最初に検出されたときの注目点の座標を、最初の盾オブジェクト１２３の座標（ｘｓ，ｙｓ）として設定する。
【０２１７】
さらに、ＣＰＵ２０１は、剣３の移動に応じて、盾オブジェクト１２３を移動させるべく、移動後の盾オブジェクト１２３の座標を算出する。具体的には、次の通りである。ここで、移動後の剣３の注目点の座標を（Ｐｘ（Ｍ），Ｐｙ（Ｍ））とする。
【０２１８】
そうすると、ＣＰＵ２０１は、次式により、まず、ｘ方向の移動距離ｌｘ及びｙ方向の移動距離ｌｙを求める。なお、次式において、「Ｎ」は２以上の整数であり、所定値である。
【０２１９】
ｌｘ＝（Ｐｘ［Ｍ］−ｘｓ）／Ｎ …（１４）
ｌｙ＝（Ｐｙ［Ｍ］−ｙｓ）／Ｎ …（１５）
そして、ＣＰＵ２０１は、前回の盾オブジェクト１２３の座標（ｘｓ，ｙｓ）から、この移動距離ｌｘ，ｌｙだけ移動させた座標を移動後の盾オブジェクト１２３の座標（ｘｓ，ｙｓ）とする。つまり、ＣＰＵ２０１は、次式により、移動後の盾オブジェクト１２３の座標を計算する。
【０２２０】
ｘｓ＝ｌｘ＋ｘｓ …（１６）
ｙｓ＝ｌｙ＋ｙｓ …（１７）
次に、説明オブジェクト１２９の制御について説明する。ＣＰＵ２０１は、説明オブジェクト１２９が表示されているときに、剣３が縦方向に振り下ろされた場合は、説明進行登録（トリガ発生を意味）を行う。具体的には、ＣＰＵ２０１は、次の説明オブジェクト１２９を表示するためのアニメーションテーブル格納位置情報を登録する。なお、説明オブジェクト１２９のアニメーションテーブルは、剣軌跡オブジェクト１１７のアニメーションテーブルと同様に、画像格納位置情報、コマ指定情報、持続フレーム数情報、及び、サイズ情報、からなる。ここで、説明オブジェクト１２９のように、アニメーションを行わない静止画の場合は、コマは１つであり、また、持続フレーム数情報として、最大の値を入れておき、さらに、ループするようにしている。こうすることで、アニメーションテーブルを用いて、静止画を表示できる。
【０２２１】
次に、前進制御について説明する。ＣＰＵ２０１は、スクリーン９１に前進を指示する表示がなされている場合に、剣３の注目点が、所定フレーム数の間、スクリーン９１の中心座標を中心にした所定範囲に存在すれば、前進登録（トリガ発生を意味）を行う（図１８（ａ）及び図１８（ｂ）参照）。
【０２２２】
ＣＰＵ２０１は、前進登録がされたことを条件として、仮想空間内を前進した距離に基づいて、背景を更新する。例えば、仮想空間内を一定距離進むたびに背景を更新する。具体的には次の通りである。
【０２２３】
内部メモリ２０７には、背景を構成する全キャラクタ数と同じ要素数の配列が用意される。そして、配列には、対応するキャラクタの格納位置情報（先頭アドレス）が代入される。従って、背景を更新するときは、配列の全要素を更新する。
【０２２４】
次に、カーソル１０１の制御について説明する。ＣＰＵ２０１は、選択画面において、剣３の注目点を検出したときに、カーソル登録（トリガ発生を意味）を行う（図１２参照）。具体的には、ＣＰＵ２０１は、カーソル１０１のアニメーションのためのアニメーションテーブル格納位置情報を登録する。なお、カーソル１０１のアニメーションテーブルは、剣軌跡オブジェクト１１７のアニメーションテーブルと同様に、画像格納位置情報、コマ指定情報、持続フレーム数情報、及び、サイズ情報、からなる。
【０２２５】
また、ＣＰＵ２０１は、剣３の注目点の座標を、最初のカーソル１０１の座標として設定する。さらに、ＣＰＵ２０１は、剣３の移動に応じて、カーソル１０１を移動させるべく、移動後のカーソル１０１の座標を算出する。この算出方法は、移動後の盾オブジェクト１２３の座標の算出方法と同様であり説明を省略する。
【０２２６】
次に、項目オブジェクト１０９の制御について説明する。ＣＰＵ２０１は、選択画面において、左移動指示オブジェクト１０３を中心とした所定範囲Ｒ１あるいは右移動指示オブジェクト１０５を中心とした所定範囲Ｒ２、にカーソル１０１が存在するかどうかを判断する。ＣＰＵ２０１は、カーソル１０１が、所定範囲Ｒ１内に存在する場合、各項目オブジェクト１０９の静止位置のｘ座標から所定値ｖを差し引く。同様に、ＣＰＵ２０１は、カーソル１０１が、所定範囲Ｒ２内に存在する場合、各項目オブジェクト１０９の静止位置のｘ座標に所定値ｖを加える。以上のようにして、移動後の各項目オブジェクト１０９のｘ座標を求める。この場合、ｙ座標は固定である。また、項目オブジェクト１０９が、画面外に移動した場合は、再び右側から出現するように（ループするように）、ｘ座標が設定される。
【０２２７】
また、ＣＰＵ２０１は、項目オブジェクト１０９の登録を行う。具体的には、ＣＰＵ２０１は、項目オブジェクト１０９の表示のためのアニメーションテーブル格納位置情報を登録する。なお、項目オブジェクト１０９のアニメーションテーブルは、剣軌跡オブジェクト１１７のアニメーションテーブルと同様に、画像格納位置情報、コマ指定情報、持続フレーム数情報、及び、サイズ情報、からなる。ただし、説明オブジェクト１２９と同様に、項目オブジェクト１０９のアニメーションは行わない。
【０２２８】
次に、スイング補正について説明する。ＣＰＵ２０１は、ｘ方向の補正情報Ｋｘ及びｙ方向の補正情報Ｋｙを取得する。そして、ＣＰＵ２０１は、注目点の座標（ｘ，ｙ）に、これらの補正情報Ｋｘ，Ｋｙを加味して、注目点の座標（Ｐｘ［Ｍ］，Ｐｙ［Ｍ］）とする。つまり、ＣＰＵ２０１は、Ｐｘ［Ｍ］＝ｘ＋Ｋｘ、Ｐｙ［Ｍ］＝ｙ＋Ｋｙ、とする。以下、補正情報の取得について詳細に説明する。
【０２２９】
図３１は、図１２の選択画面で「スイング補正」の項目オブジェクト１０９が選択されたときの、スイング補正画面の例示図である。図３１に示すように、スクリーン９１のスイング補正画面には、円形オブジェクト１１１及び説明オブジェクト１１３が表示される。オペレータ９４は、説明オプジェクト１１３の説明に従って、画面中心に位置する円形オブジェクト１１１をねらって、剣３を縦（垂直方向）又は横（水平方向）に振る。
【０２３０】
オペレータ９４が、中心と思って剣３を振った場合でも、イメージセンサ４３の向き及び位置と剣３を振る位置との関係により、必ずしも、剣軌跡オブジェクト１１７が、スクリーン９１の中心に表示されるとは限らない。つまり、円形オブジェクト１１１をねらって、剣３を縦に振った場合でも、ｘ方向に所定距離ずれて、剣軌跡オブジェクト１１７が表示されたり、また、円形オブジェクト１１１をねらって、剣３を横に振った場合でも、ｙ方向に所定距離ずれて、剣軌跡オブジェクト１１７が表示されたり、する場合もある。このずれが、補正情報Ｋｘ，Ｋｙであり、これを、剣３の注目点の座標に補正してやれば、オペレータ９４がねらった位置に剣軌跡オブジェクト１１７を出現させることができる。
【０２３１】
ここで、剣３を一振りしたときに、注目点が複数検出される。そうすると、縦振りのときは、各注目点のｘ座標の平均値ｘＡを用いて、Ｋｘ＝ｘｃ−ｘＡ、とする。また、横振りのときは、各注目点のｙ座標の平均値ｙＡを用いて、Ｋｙ＝ｙｃ−ｙＡ、とする。ここで、座標（ｘｃ，ｙｃ）は、スクリーン９１の中心座標（０，０）である。
【０２３２】
さて、これまで説明してきた剣軌跡オブジェクト１１７等の各オブジェクトの座標は、例えば、そのオブジェクトの中心の座標として定義することができる。また、スプライトの座標は、そのスプライトの中心座標として定義することができる。なお、オブジェクトの座標を、例えば、そのオブジェクトを構成する複数のスプライトのうち、左上角のスプライトの中心座標として定義することもできる。
【０２３３】
次に、図１の情報処理装置１の全体の処理の流れを、フローチャートを用いて説明する。
【０２３４】
図３２は、図１の情報処理装置１の全体の処理の流れを示すフローチャートである。図３２に示すように、ステップＳ１にて、ＣＰＵ２０１は、システムの初期設定を実行する。
【０２３５】
ステップＳ２にて、ＣＰＵ２０１は、ゲーム状態をチェックする。ステップＳ３にて、ＣＰＵ２０１は、ゲームが終了したかどうかを判断する。ゲームが終了していない場合は、ＣＰＵ２０１は、ステップＳ４に進み、ゲーム終了の場合は処理を終了する。
【０２３６】
ステップＳ４にて、ＣＰＵ２０１は、現在のステートを判断する。モード選択のステートであれば、ステップＳ５に進み、スイング補正モードであれば、ステップＳ６に進み、ストーリーモードであれば、ステップＳ７に進み、対戦モードであれば、ステップＳ８に進む。なお、ステップＳ８では、ＣＰＵ２０１は、対戦モードのゲーム処理を実行する（図１９参照）。
【０２３７】
ステップＳ９では、ＣＰＵ２０１は、ビデオ同期の割込み待ちかどうかを判断する。本実施の形態では、ＣＰＵ２０１は、テレビジョンモニタ９０の表示画面を更新するため画像データを、垂直ブランキング期間の開始後にグラフィックプロセッサ２０２に与える。従って、表示画面を更新するための演算処理が完了したら、ビデオ同期割込みがあるまで処理を進めないようにしている。
【０２３８】
ステップＳ９で「ＹＥＳ」であれば、即ち、ビデオ同期の割込み待ちであれば（ビデオ同期信号による割り込みがなければ）、同じステップＳ９に戻る。一方、ステップＳ９で「ＮＯ」であれば、即ち、ビデオ同期の割込み待ちでなければ（ビデオ同期信号による割り込みがあれば）、ステップＳ１０に進む。
【０２３９】
ステップＳ１０では、ＣＰＵ２０１は、ステップＳ５〜Ｓ８による処理結果に基づいて、画像表示処理を実行し、その後ステップＳ２に進む。この場合の画像表示処理とは、表示対象の全スプライトの画像情報（各スプライトの格納位置情報及び座標情報）の取得指示および背景表示のための配列の全要素の取得指示をグラフィックプロセッサ２０２に与えることを言う。グラフィックプロセッサ２０２は、これらの情報を取得して、必要な処理を施し、各オブジェクトや背景を表す映像信号を生成する。
【０２４０】
図３３は、図３２のステップＳ１の初期設定処理の流れを示すフローチャートである。図３３に示すように、ステップＳ２０にて、ＣＰＵ２０１は、イメージセンサ４３の初期設定処理を行う。ステップＳ２１にて、ＣＰＵ２０１は、各種フラグ及びカウンタを初期化する。
【０２４１】
ステップＳ２２にて、ＣＰＵ２０１は、タイマ回路２１０を発音のための割込み源としてセットする。この割込み処理により、音声処理が実行されて、テレビジョンモニタ９０のスピーカから、効果音や音楽などの音声が発生される。具体的には次の通りである。
【０２４２】
サウンドプロセッサ２０３は、タイマ割込みに応じたＣＰＵ２０１の指示により、内部メモリ２０７から音声データ１０５の格納位置情報を取得する。
【０２４３】
サウンドプロセッサ２０３は、取得した格納位置情報を基に、ＲＯＭ６５から音声データ１０５を読み出して、必要な処理を施し、効果音や音楽などの音声信号を生成する。サウンドプロセッサ２０３は、生成した音声信号を、音声信号出力端子６３に与える。これにより、テレビジョンモニタ９０のスピーカから、効果音や音楽などの音声が発生される。なお、音声データ１０５には、波形データ（音源データ）、及び／又は、エンベロープデータ、が含まれる。
【０２４４】
例えば、ＣＰＵ２０１は、剣軌跡登録がされた場合に（これをトリガとして）、タイマ割込みに応じて、効果音データの格納位置情報の取得指示を出す。すると、サウンドプロセサ２０３は、その格納位置情報を取得して、ＲＯＭ６５から効果音データを読み出して、効果音の音声信号を生成する。これにより、剣軌跡オブジェクト１１７の出現と同時に、効果音が発生され、オペレータ９４は、剣３を振った実感をより認識できる。
【０２４５】
図３４は、図３３のステップＳ２０のセンサ初期設定処理の流れを示すフローチャートである。図３４に示すように、最初のステップＳ３０では、高速プロセッサ２００は、設定データとして、コマンド“ＣＯＮＦ”を設定する。ただし、このコマンド“ＣＯＮＦ”は、イメージセンサ４３に、高速プロセッサ２００からコマンドを送信する設定モードに入ることを知らせるためのコマンドである。そして、次のステップＳ３１にて、コマンド送信処理を実行する。
【０２４６】
図３５は、図３４のステップＳ３１のコマンド送信処理の流れを示すフローチャートである。図３５に示すように、最初のステップＳ４０では、高速プロセッサ２００は、設定データ（ステップＳ３１の場合はコマンド“ＣＯＮＦ”）をレジスタデータ（Ｉ／Ｏポート）に設定し、次のステップＳ４１でレジスタ設定クロックＣＬＫ（Ｉ／Ｏポート）をローレベルに設定する。その後、ステップＳ４２で規定時間待機した後、ステップＳ４３で、レジスタ設定クロックＣＬＫをハイレベルに設定する。そして、さらにステップＳ４４での規定時間の待機の後、ステップＳ４５でレジスタ設定クロックＣＬＫを再びローレベルに設定する。
【０２４７】
このようにして、図３６に示すように、規定時間の待機を行いながら、レジスタ設定クロックＣＬＫをローレベル，ハイレベルそしてローレベルとすることによって、コマンド（コマンドまたはコマンド＋データ）の送信処理が行われる。
【０２４８】
図３４の説明に戻る。ステップＳ３２では、ピクセルモードを設定するとともに、露光時間の設定を行う。この実施の形態の場合、イメージセンサ４３は先に述べたようにたとえば３２ピクセル×３２ピクセルのＣＭＯＳイメージセンサであるため、設定アドレス“０”のピクセルモードレジスタに３２ピクセル×３２ピクセルであることを示す“０ｈ”を設定する。次のステップＳ３３において、高速プロセッサ２００は、レジスタ設定処理を実行する。
【０２４９】
図３７は、図３４のステップＳ３３のレジスタ設定処理の流れを示すフローチャートである。図３７に示すように、最初のステップＳ５０では、高速プロセッサ２００は、設定データとして、コマンド“ＭＯＶ”＋アドレスを設定し、次のステップＳ５１で、図３５で先に説明したコマンド送信処理を実行して、それを送信する。次にステップＳ５２において、高速プロセッサ２００は、設定データとして、コマンド“ＬＤ”＋データを設定し、次のステップＳ５３でコマンド送信処理を実行して、それを送信する。そして、ステップＳ５４で、高速プロセッサ２００は、設定データとして、コマンド“ＳＥＴ”を設定し、次のステップＳ５５でそれを送信する。なお、コマンド“ＭＯＶ”は制御レジスタのアドレスを送信することを示すコマンドで、コマンド“ＬＤ”はデータを送信することを示すコマンドで、コマンド“ＳＥＴ”はデータをそのアドレスに実際に設定させるためのコマンドである。なお、この処理は、設定する制御レジスタが複数ある場合には、繰り返し実行される。
【０２５０】
図３４の説明に戻る。ステップＳ３４では、設定アドレスを“１”（露光時間設定レジスタのローニブルのアドレスを示す）とし、最大露光時間を示す“ＦＦｈ”のローニブルデータ“Ｆｈ”を設定すべきデータとして設定する。そして、ステップＳ３５で図３７のレジスタ設定処理を実行する。同様にして、ステップＳ３６において、設定アドレスを“２”（露光時間設定レジスタのハイニブルのアドレスを示す）とし、最大露光時間を示す“ＦＦｈ”のハイニブルデータ“Ｆｈ”を設定すべきデータとして設定し、ステップＳ３７でレジスタ設定処理を実行する。
【０２５１】
その後、ステップＳ３８で設定終了を示しかつイメージセンサ４３にデータの出力を開始させるためのコマンド“ＲＵＮ”を設定し、ステップＳ３９で送信する。このようにして、図３３に示すステップＳ２０でのセンサ初期設定処理が実行される。ただし、図３４〜図３７に示す具体例は、使用されるイメージセンサ４３の仕様に応じて、適宜変更され得るものである。
【０２５２】
図３８は、図３２のステップＳ７のストーリーモードの流れを示すフローチャートである。図３８に示すように、ステップＳ６０にて、ＣＰＵ２０１は、ＡＤＣ２０８からデジタルのピクセルデータを取得する。このデジタルのピクセルデータは、イメージセンサ４３からのアナログのピクセルデータが、ＡＤＣ２０８により、デジタルに変換されたものである。
【０２５３】
ステップＳ６１にて、注目領域抽出処理が実行される。具体的には、ＣＰＵ２０１は、赤外発光ダイオード７の発光時のピクセルデータと消灯時のピクセルデータとの差分を算出して、差分データを得る。そして、ＣＰＵ２０１は、その差分データと所定の閾値Ｔｈとを比較して、所定の閾値Ｔｈを超える差分データを持つピクセル数をカウントする。
【０２５４】
ステップＳ６２にて、ＣＰＵ２０１は、所定の閾値Ｔｈを超える差分データから最大値を求め、その最大の差分データを持つピクセルの座標を、剣３の注目点とする。
【０２５５】
ステップＳ６３にて、ＣＰＵ２０１は、オペレータ９４による剣３のスイング動作を検出して、剣３のスイングに応じた剣軌跡オブジェクト１１７を表示するためのトリガを発生する。
【０２５６】
ステップＳ６４にて、ＣＰＵ２０１は、剣軌跡オブジェクト１１７が、敵オブジェクト１１５にヒットしたかどうかを判定して、ヒットしたときに、エフェクト１１９を表示するためのトリガを発生する。
【０２５７】
ステップＳ６５にて、ＣＰＵ２０１は、剣３の刀身部１５の側面に取り付けられた反射シート１７を検知したときに、盾オブジェクト１２３を表示するためのトリガを発生する。
【０２５８】
ステップＳ６６にて、ＣＰＵ２０１は、説明オブジェクト１２９が表示されている場合において、剣３が縦方向に振り下ろされたときに、次の説明オブジェクト１２９を表示するためのトリガを発生する。
【０２５９】
ステップＳ６７にて、ＣＰＵ２０１は、前進指示が表示されている場合において、所定フレーム数の間、剣３の注目点が所定範囲に存在するときに、前進するような背景のアニメーションを行うべく、背景表示のための配列の各要素の更新処理を行う。
【０２６０】
ステップＳ６８にて、ＣＰＵ２０１は、「Ｍ」が所定値「Ｋ」より小さいかどうかを判断する。ＣＰＵ２０１は、「Ｍ」が所定値「Ｋ」以上である場合、ステップＳ６９に進み、「Ｍ」に「０」を代入して、ステップＳ７０に進む。一方、ＣＰＵ２０１は、「Ｍ」が所定値「Ｋ」より小さい場合、ステップＳ６８からステップＳ７０に進む。この「Ｍ」については、後述の説明の中で明らかになる。
【０２６１】
ステップＳ７０では、上記処理結果に基づいて、表示対象の全スプライトの画像情報（各スプライトの格納位置情報や表示位置情報など）を内部メモリ２０７にセットする。
【０２６２】
図３９は、図３８のステップＳ６０のピクセルデータ群取得処理の流れを示すフローチャートである。図３９に示すように、最初のステップＳ８０で、ＣＰＵ２０１は、ピクセルデータ配列の要素番号としてＸに「−１」、Ｙに「０」を設定する。本実施の形態におけるピクセルデータ配列は、Ｘ＝０〜３１、Ｙ＝０〜３１の２次元配列であるが、前述のように各行の先頭ピクセルのデータとしてダミーデータが出力されるので、Ｘの初期値として「−１」が設定される。続くステップＳ８１では、ピクセルデータの取得処理を実行する。
【０２６３】
図４０は、図３９のステップＳ８１のピクセルデータ取得処理の流れを示すフローチャートである。図４０に示すように、最初のステップＳ１００で、ＣＰＵ２０１は、イメージセンサ４３からのフレームステータスフラグ信号ＦＳＦをチェックし、ステップＳ１０１でそのアップエッジ（ローレベルからハイレベルへの）が発生したかどうか判断する。そして、ステップＳ１０１でフラグ信号ＦＳＦのアップエッジを検出すると、次のステップＳ１０２において、ＣＰＵ２０１は、ＡＤＣ２０８に入力されてきたアナログのピクセルデータのデジタルデータへの変換の開始を指示する。その後、ステップＳ１０３でイメージセンサ４３からのピクセルストローブＰＤＳをチェックし、ステップＳ１０４でそのストローブ信号ＰＤＳのローレベルからハイレベルへのアップエッジが発生したかどうか判断する。
【０２６４】
ステップＳ１０４で“ＹＥＳ”が判断されると、ＣＰＵ２０１は、ステップＳ１０５において、Ｘ＝−１かどうか、すなわち先頭ピクセルかどうか判断する。先に述べたように、各行の先頭ピクセルはダミーピクセルとして設定されているので、このステップＳ１０５で“ＹＥＳ”が判断されると、次のステップＳ１０７でそのときのピクセルデータを取得しないで、要素番号Ｘをインクリメントする。
【０２６５】
ステップＳ１０５で“ＮＯ”が判断されると、行の第２番目以降のピクセルデータであるので、ステップＳ１０６およびＳ１０８において、そのときのピクセルデータを取得し、テンポラリレジスタ（図示せず）にそのピクセルデータを格納する。その後、図３９のステップＳ８２に進む。
【０２６６】
図３９のステップＳ８２では、テンポラリレジスタに格納されたピクセルデータをピクセルデータ配列Ｐ［Ｙ］［Ｘ］に代入する。
【０２６７】
続くステップＳ８３でＸをインクリメントする。Ｘが３２に満たない場合、前述のＳ８１からＳ８３の処理を繰り返し実行する。Ｘが３２の場合、すなわちピクセルデータの取得が行の終端に到達した場合には、続くステップＳ８５でＸに「−１」を設定し、ステップＳ８６でＹをインクリメントし、次の行の先頭からピクセルデータの取得処理を繰り返す。
【０２６８】
ステップＳ８７でＹが３２の場合、すなわちピクセルデータの取得がピクセルデータ配列Ｐ［Ｙ］［Ｘ］の終端に到達した場合、図３８のステップＳ６１に進む。
【０２６９】
図４１は、図３８のステップＳ６１の注目領域抽出処理の流れを示すフローチャートである。図４１に示すように、ステップＳ１２０にて、ＣＰＵ２０１は、イメージセンサ４３からの、赤外発光ダイオード７の点灯時のピクセルデータと、赤外発光ダイオード７の消灯時のピクセルデータと、の差分を算出して、差分データを得る。
【０２７０】
ステップＳ１２１にて、ＣＰＵ２０１は、配列Ｄｉｆ［Ｘ］［Ｙ］に、算出した差分データを代入する。ここで、実施の形態では、３２ピクセル×３２ピクセルのイメージセンサ４３を用いているため、Ｘ＝０〜３１、Ｙ＝０〜３１、である。
【０２７１】
ステップＳ１２２にて、ＣＰＵ２０１は、配列Ｄｉｆ［Ｘ］［Ｙ］の要素を所定の閾値Ｔｈと比較する。
【０２７２】
ステップＳ１２３にて、ＣＰＵ２０１は、配列Ｄｉｆ［Ｘ］［Ｙ］の要素が所定の閾値Ｔｈより大きい場合は、ステップＳ１２４に進み、所定の閾値Ｔｈ以下の場合は、ステップＳ１２５に進む。
【０２７３】
ステップＳ１２４にて、ＣＰＵ２０１は、所定の閾値Ｔｈを超えた差分データ（配列Ｄｉｆ［Ｘ］［Ｙ］の要素）の数を計数すべく、カウント値ｃを１つインクリメントする。
【０２７４】
ＣＰＵ２０１は、配列Ｄｉｆ［Ｘ］［Ｙ］の全要素について、所定の閾値Ｔｈとの比較が終了するまで、ステップＳ１２２からステップＳ１２４の処理を繰り返す（ステップＳ１２５）。
【０２７５】
ＣＰＵ２０１は、配列Ｄｉｆ［Ｘ］［Ｙ］の全要素について、所定の閾値Ｔｈとの比較が終了した場合は、ステップＳ１２６にて、カウント値ｃが「０」より大きいかどうかを判断する。
【０２７６】
ＣＰＵ２０１は、カウント値ｃが「０」より大きい場合は、図３８のステップＳ６２に進む。カウント値ｃが「０」より大きいということは、剣３の反射面（反射シート１７，２３）が検出されたことを意味する。
【０２７７】
一方、ＣＰＵ２０１は、カウント値ｃが「０」の場合は、ステップＳ１２７に進む。カウント値ｃが「０」ということは、剣３の反射面（反射シート１７，２３）が検出されなかったことを意味する。つまり、剣３が、撮像手段５の撮影範囲外に存在することを意味する。従って、ステップＳ１２７にて、ＣＰＵ２０１は、剣３が撮影範囲外であることを示すレンジアウトフラグをオンにする。
【０２７８】
図４２は、図３８のステップＳ６２の注目点抽出処理の流れを示すフローチャートである。図４２に示すように、ステップＳ１４０にて、ＣＰＵ２０１は、レンジアウトフラグをチェックする。
【０２７９】
ＣＰＵ２０１は、レンジアウトフラグがオンであれば、図３８のステップＳ６３に進む（ステップＳ１４１）。なぜなら、剣３が撮像手段５の撮影範囲外ならば、注目点の抽出処理を実行する意味はないからである。一方、ＣＰＵ２０１は、レンジアウトフラグがオフであれば、つまり、剣３が検出された場合は、ステップＳ１４２に進む（ステップＳ１４１）。
【０２８０】
ステップＳ１４２にて、ＣＰＵ２０１は、配列Ｄｉｆ［Ｘ］［Ｙ］の要素（差分データ）から、最大値を検出する。
【０２８１】
ステップＳ１４３にて、ＣＰＵ２０１は、「Ｍ」を１つインクリメントする。なお、「Ｍ」は、図３３のステップＳ２１にて「０」に初期化されている。
【０２８２】
ステップＳ１４４にて、ＣＰＵ２０１は、ステップＳ１４２で検出された最大の差分データを持つピクセルの座標（Ｘ，Ｙ）を、スクリーン９１上の座標（ｘ，ｙ）に変換する。つまり、ＣＰＵ２０１は、イメージセンサ４３による画像（３２ピクセル×３２ピクセル）の座標空間から、スクリーン９１（横２５６画素×縦２２４画素）の座標空間への変換を実行する。
【０２８３】
ステップＳ１４５にて、ＣＰＵ２０１は、配列Ｐｘ［Ｍ］に、変換後のｘ座標に補正情報Ｋｘを加えたものを代入し、配列Ｐｙ［Ｍ］に、変換後のｙ座標に補正情報Ｋｙを加えたものを代入する。このようにして、剣３の注目点の座標（Ｐｘ［Ｍ］，Ｐｙ［Ｍ］）が算出される。
【０２８４】
図４３は、図３８のステップＳ６３のスイング検出処理の流れを示すフローチャートである。図４３に示すように、ステップＳ１５０にて、ＣＰＵ２０１は、レンジアウトフラグをチェックする。
【０２８５】
ＣＰＵ２０１は、レンジアウトフラグがオンであれば、ステップＳ１６０に進み、オフであれば、ステップＳ１５２に進む。
【０２８６】
ステップＳ１５２にて、ＣＰＵ２０１は、式（１）及び式（２）により、剣３の注目点（Ｐｘ［Ｍ］，Ｐｙ［Ｍ］）の速度ベクトル（Ｖｘ［Ｍ］，Ｖｙ［Ｍ］）を求める。
【０２８７】
ステップＳ１５３にて、ＣＰＵ２０１は、式（３）により、剣３の注目点（Ｐｘ［Ｍ］，Ｐｙ［Ｍ］）の速さＶ［Ｍ］を求める。
【０２８８】
ステップＳ１５４にて、ＣＰＵ２０１は、剣３の注目点（Ｐｘ［Ｍ］，Ｐｙ［Ｍ］）の速さＶ［Ｍ］と所定の閾値ＴｈＶとを比較して、その大小を判断する。ＣＰＵ２０１は、注目点の速さＶ［Ｍ］が、所定の閾値ＴｈＶを超えていれば、ステップＳ１５５に進み、所定の閾値ＴｈＶ以下の場合は、ステップＳ１６２に進む。
【０２８９】
ステップＳ１５５にて、ＣＰＵ２０１は、スイングフラグをチェックする。
【０２９０】
スイングフラグがオンであれば、ＣＰＵ２０１は、ステップＳ１５９に進み、オフであれば、ステップＳ１５７に進む（ステップＳ１５６）。
【０２９１】
ステップＳ１５７にて、ＣＰＵ２０１は、スイングフラグをオンにする。つまり、速さＶ［Ｍ］が所定の閾値ＴｈＶを超えた場合は、剣３が振られたと判断され、スイングフラグがオンにされる。
【０２９２】
ステップＳ１５８にて、ＣＰＵ２０１は、「Ｓ」に、最初に所定の閾値ＴｈＶを超えた注目点の要素番号「Ｍ」を代入する。
【０２９３】
ステップＳ１５９にて、ＣＰＵ２０１は、剣３を１回振ったときに検出される注目点の数を計数すべく、注目点カウンタｎ（カウント値ｎ）を１つインクリメントする。この場合に計数されるのは、速さが所定の閾値を超えた注目点のみである（ステップＳ１５４）。ステップＳ１５９の後、図３８のステップＳ６４に進む。
【０２９４】
さて、ステップＳ１６２にて、ＣＰＵ２０１は、スイングフラグをチェックする。
【０２９５】
スイングフラグがオンであれば、ＣＰＵ２０１は、ステップＳ１６４に進み、オフであれば、ステップＳ１７１に進む（ステップＳ１６３）。
【０２９６】
スイングフラグがオンであって（ステップＳ１６３）、速さが所定の閾値ＴｈＶ以下である（ステップＳ１５４）ということは、剣３のスイングが終了したことを意味する。従って、ステップＳ１６４にて、ＣＰＵ２０１は、スイング終了フラグをオンにする。
【０２９７】
ステップＳ１６５にて、ＣＰＵ２０１は、「Ｅ」に、最初に所定の閾値ＴｈＶ以下になった注目点の要素番号「Ｍ」を代入する。
【０２９８】
ステップＳ１６６にて、ＣＰＵ２０１は、剣３のスイングに応じた剣軌跡オブジェクト１１７の種類を決定する。
【０２９９】
ステップＳ１６７にて、ＣＰＵ２０１は、表示すべき剣軌跡オブジェクト１１７のスクリーン９１上の座標を算出する。
【０３００】
ステップＳ１６８にて、ＣＰＵ２０１は、ステップＳ１６６で決定した剣軌跡オブジェクト１１７のアニメーションのためのアニメーションテーブル格納位置情報を登録する（剣軌跡登録：トリガに相当）。
【０３０１】
ステップＳ１６９にて、ＣＰＵ２０１は、注目点カウンタｎ（カウント値ｎ）をリセットする。
【０３０２】
ステップＳ１７０にて、ＣＰＵ２０１は、スイングフラグをオフにする。
【０３０３】
さて、ステップＳ１６０にて、ＣＰＵ２０１は、注目点カウンタｎ（カウント値ｎ）を１つデクリメントする。この理由は、後述の図４４で説明する。
【０３０４】
ステップＳ１６１にて、ＣＰＵ２０１は、オンとなっているレンジアウトフラグをオフにする。
【０３０５】
そして、ステップＳ１６２及びＳ１６３を経て、スイングフラグがオンであるということは、注目点の速さが所定の閾値ＴｈＶ以下になる前にレンジアウトしたことを意味する。この場合は、上記したように、レンジアウトする直前の注目点を利用して、剣軌跡オブジェクト１１７の種類及び座標を決定するため、ステップＳ１６４〜ステップＳ１７０の処理が実行される。
【０３０６】
さて、一方、ステップＳ１６３にて、スイングフラグがオフと判断された場合は、ステップＳ１７１において、ＣＰＵ２０１は、注目点カウンタｎ（カウント値ｎ）をリセットする。
【０３０７】
図４４は、図４３のステップＳ１６６の剣軌跡種類決定処理の流れを示すフローチャートである。図４４に示すように、ステップＳ１８０にて、ＣＰＵ２０１は、注目点カウンタｎをチェックする。
【０３０８】
カウント値ｎが「１」より大きい場合は、ステップＳ１８２に進み、カウント値ｎが「１」以下の場合は、ステップＳ１８８に進む（ステップＳ１８１）。つまり、カウント値ｎが２以上、即ち、速さが所定の閾値ＴｈＶより大きい注目点の数が２以上、の場合にステップＳ１８２に進む。さらに、言い換えると、速さが所定の閾値ＴｈＶより大きい注目点の数が２以上の場合は、オペレータ９４が意図しないスイング（誤動作）ではなく、オペレータ９４が意図してスイングしたと判断されて、ステップＳ１８２に進む。
【０３０９】
ステップＳ１８２にて、ＣＰＵ２０１は、式（４）及び式（５）により、スイング長Ｌｘ、Ｌｙを求める。
【０３１０】
ステップＳ１８３にて、ＣＰＵ２０１は、式（６）及び式（７）により、スイング長Ｌｘ、Ｌｙの平均値ＬｘＡ，ＬｙＡを求める。なお、注目点の速さが所定の閾値ＴｈＶ以下になる前にレンジアウトした場合は、上記したように、レンジアウトする直前の注目点を利用して、剣軌跡オブジェクト１１７の種類及び座標を決定する。このときは、注目点カウンタｎの値は、通常の場合より１つ多いため、図４３のステップＳ１６０では、注目点カウンタｎをデクリメントしている。
【０３１１】
ステップＳ１８４にて、ＣＰＵ２０１は、ｘ方向のスイング長Ｌｘの平均値ＬｘＡの絶対値と、所定値ｘｒと、を比較する。また、ＣＰＵ２０１は、ｙ方向のスイング長Ｌｙの平均値ＬｙＡの絶対値と、所定値ｙｒと、を比較する。
【０３１２】
ステップＳ１８５にて、ＣＰＵ２０１は、ステップＳ１８４の結果を基に、角度フラグをセットする（図２３（ａ）参照）。
【０３１３】
ステップＳ１８６にて、ＣＰＵ２０１は、スイング長Ｌｘ，Ｌｙの平均値ＬｘＡ，ＬｙＡの符号を判断する。
【０３１４】
ステップＳ１８７にて、ＣＰＵ２０１は、ステップＳ１８６の結果を基に、方向フラグをセットして（図２３（ｂ）参照）、図４３のステップＳ１６７へ進む。
【０３１５】
さて、ステップＳ１８８にて、ＣＰＵ２０１は、注目点カウンタｎをリセットする。ステップＳ１８９にて、ＣＰＵ２０１は、スイングフラグ及びスイング終了フラグをオフにする。そして、図３８のステップＳ６５に処理が進められる。
【０３１６】
図４５は、図４３のステップＳ１６７の剣軌跡座標算出処理の流れを示すフローチャートである。図４５に示すように、ステップＳ２００にて、ＣＰＵ２０１は、角度フラグ及び方向フラグに基づいて、スイング情報を決定する（図２３（ａ）〜図２３（ｃ）参照）。そして、ＣＰＵ２０１は、スイング情報が「Ａ０」又は「Ａ１」の場合は、ステップＳ２０１に進み、スイング情報が「Ａ２」又は「Ａ３」の場合は、ステップＳ２０２に進み、スイング情報が「Ａ４」〜「Ａ７」の場合は、ステップＳ２０３に進む。
【０３１７】
ステップＳ２０１にて、ＣＰＵ２０１は、式（８）及び式（９）により、剣軌跡オブジェクト１１７の中心座標（ｘｔ，ｙｔ）を求める。
【０３１８】
また、ステップＳ２０２にて、ＣＰＵ２０１は、式（１０）及び式（１１）により、剣軌跡オブジェクト１１７の中心座標（ｘｔ，ｙｔ）を求める。
【０３１９】
また、ステップＳ２０３にて、ＣＰＵ２０１は、式（１２）及び式（１３）により、仮の座標（ｘｓ，ｙｓ）を求めて、これを通る直線と、画面の対角線と、の交点座標（ｘＩ，ｙＩ）を求める。
【０３２０】
そして、ステップＳ２０４にて、ＣＰＵ２０１は、交点座標（ｘＩ，ｙＩ）を、剣軌跡オブジェクト１１７の中心座標（ｘｔ，ｙｔ）とする。
【０３２１】
なお、ステップＳ２０１，Ｓ２０２，Ｓ２０４の後、図４３のステップＳ１６８に進む。
【０３２２】
図４６は、図３８のステップＳ６４のヒット判定処理の流れを示すフローチャートである。図４６に示すように、ステップＳ２１０にて、スイング終了フラグがオフであれば、ステップＳ２１１〜Ｓ２２１の処理をスキップして、図３８のステップＳ６５に進む。なぜなら、スイング終了フラグがオフということは、注目点の速さが所定の閾値以下になったわけでもなく、また、注目点がレンジアウトもしていない、ということであるから、剣３のスイングが未だ確定しておらず、剣軌跡オブジェクト１１７も表示されていないため、敵オブジェクト１１５へのヒット判定を行う必要がないからである。
【０３２３】
さて、ステップＳ２１１とステップＳ２２０との間で、ステップＳ２１２〜ステップＳ２１９の処理が繰り返される。ここで、「ｍ」は、敵オブジェクト１１５の番号を示しており、「ｉ」は、敵オブジェクト１１５の数である。従って、ステップＳ２１２〜ステップＳ２１９の処理が、敵オブジェクト１１５の数だけ繰り返される。つまり、全ての敵オブジェクト１１５に対して、ヒット判定が実行される。
【０３２４】
また、ステップＳ２１２とステップＳ２１９との間で、ステップＳ２１３〜ステップＳ２１８の処理が繰り返される。ここで、「ｐ」は、仮想矩形の番号を示し、「ｊ」は、仮想矩形の数を示す。図３０の例では、ｊ＝５である。従って、ステップＳ２１３〜ステップＳ２１８の処理が、仮想矩形の数だけ繰り返される。つまり、全ての仮想矩形が、敵オブジェクト１１５に重なるかどうかが判断される。なお、上記したように、仮想矩形は、剣軌跡オブジェクト１１７に仮想的に付加された矩形であり、これが敵オブジェクト１１５を含むヒットレンジ３２５と重なれば、ヒットとなる。
【０３２５】
また、ステップＳ２１３とステップＳ２１８との間で、ステップＳ２１４，Ｓ２１５の処理が繰り返される。ここで、「ｑ」は、仮想矩形の頂点の番号を示している。従って、ステップＳ２１５，Ｓ２１６の処理が、仮想矩形の頂点の数だけ繰り返される。つまり、仮想矩形のいずれかの頂点が、敵オブジェクト１１５を含むヒットレンジ３２５に含まれれば、ヒットとなる。
【０３２６】
さて、ステップＳ２１４にて、ＣＰＵ２０１は、仮想矩形の頂点のｘ座標（ｘｐｑ）が、ヒットレンジ３２５のｘ座標の範囲ｘｍ１〜ｘｍ２に入っているかどうかを判断する。範囲内でない場合は、ステップＳ２１８に進み、範囲内の場合は、ステップＳ２１５に進む。
【０３２７】
ステップＳ２１５にて、ＣＰＵ２０１は、仮想矩形の頂点のｙ座標（ｙｐｑ）が、ヒットレンジ３２５のｙ座標の範囲ｙｍ１〜ｙｍ２に入っているかどうかを判断する。範囲内でない場合は、ステップＳ２１８に進み、範囲内の場合は、ステップＳ２１６に進む。
【０３２８】
ステップＳ２１６にて、ＣＰＵ２０１は、敵オブジェクト１１５の座標を基に、エフェクト１１９の座標を算出する。なぜなら、ｘｍ１＜ｘｐｑ＜ｘｍ２、を満たし、かつ、ｙｍ１＜ｙｐｑ＜ｙｍ２、が満たされたということは、剣軌跡オブジェクト１１７が敵オブジェクト１１５にヒットしたということであるから、エフェクト１１９を発生させる必要があるからである。
【０３２９】
ステップＳ２１７にて、ＣＰＵ２０１は、スイング情報Ａ０〜Ａ７を基に、エフェクト１１９のアニメーションのためのアニメーションテーブル格納位置情報を登録する（ヒット登録：トリガに相当）。
【０３３０】
ステップＳ２２１にて、ＣＰＵ２０１は、スイング終了フラグをオフにする。
【０３３１】
図４７は、図３８のステップＳ６５の盾検出処理の流れを示すフローチャートである。図４７に示すように、ステップＳ２３０にて、ＣＰＵ２０１は、注目点カウンタのカウント値ｃと、所定の閾値ＴｈＡと、を比較する。
【０３３２】
ステップＳ２３１にて、ＣＰＵ２０１は、カウント値ｃが、所定の閾値ＴｈＡより大きいと判断した場合、つまり、剣３の刀身部１５の側面に取り付けられた反射シート１７が検出された場合、ステップＳ２３２に進む。
【０３３３】
ステップＳ２３２にて、ＣＰＵ２０１は、式（１４）及び式（１５）により、盾オブジェクト１２３のｘ方向の移動距離ｌｘ及びｙ方向の移動距離ｌｙを求める。
【０３３４】
ステップＳ２３３にて、ＣＰＵ２０１は、式（１６）及び式（１７）により、移動後の盾オブジェクト１２３の座標（ｘｓ，ｙｓ）を求める。
【０３３５】
ステップＳ２３４にて、ＣＰＵ２０１は、盾オブジェクト１２３のアニメーションのためのアニメーションテーブル格納位置情報を登録する（盾登録：トリガに相当）。
【０３３６】
ステップＳ２３５にて、ＣＰＵ２０１は、盾フラグをオンにする。
【０３３７】
ステップＳ２４２にて、ＣＰＵ２０１は、注目点カウンタｃをリセットして、図３８のステップＳ６６に進む。
【０３３８】
さて、ステップＳ２３１にて、ＣＰＵ２０１は、カウント値ｃが、所定の閾値ＴｈＡ以下と判断した場合、つまり、剣３の刀身部１５の側面に取り付けられた反射シート１７が検出されなかった場合、ステップＳ２３６に進む。
【０３３９】
ステップＳ２３６にて、ＣＰＵ２０１は、盾フラグがオンかどうかを判断する。盾フラグがオンならば、ステップＳ２３７に進み、オフならば、ステップＳ２４２に進む。
【０３４０】
ステップＳ２３７にて、ＣＰＵ２０１は、盾消消滅カウンタｅをインクリメントする。
【０３４１】
ステップＳ２３８にて、ＣＰＵ２０１は、盾消滅カウンタｅが、所定値Ｅを下回っているかどうかを判断する。盾消滅カウンタｅが、所定値Ｅを下回っている場合は、ステップＳ２４２に進み、所定値Ｅ以上の場合は、ステップＳ２３９に進む。つまり、ステップＳ２３８では、盾フラグがオンになった後、剣３の側面の反射シート１７が、Ｅ回連続して検出されなかった場合に、盾オブジェクト１２３を消滅させるべく、処理をステップＳ２３９に進める。
【０３４２】
ステップＳ２３９にて、ＣＰＵ２０１は、盾オブジェクト１２３の表示座標をスクリーン９１の範囲外とする（消滅登録）。これにより、スクリーン９１に盾オブジェクト１２３が表示されない。
【０３４３】
ステップＳ２４０にて、ＣＰＵ２０１は、盾フラグをオフにする。ステップＳ２４１にて、ＣＰＵ２０１は、盾消滅カウンタｅをリセットする。
【０３４４】
図４８は、図３８のステップＳ６６の説明進行処理の流れを示すフローチャートである。図４８に示すように、ステップＳ２５０にて、ＣＰＵ２０１は、画面に説明オブジェクト１２９が表示されているかどうかを判断する。説明オブジェクト１２９が表示されていない場合は、ステップＳ２５４に進み、表示されている場合は、ステップＳ２５１に進む。
【０３４５】
ステップＳ２５１にて、ＣＰＵ２０１は、角度フラグ及び方向フラグを参照して、剣３のスイングをチェックする。
【０３４６】
ＣＰＵ２０１は、剣３が縦方向に振り下ろされた（スイング情報が「Ａ３」）場合は、ステップＳ２５３に進み、それ以外では、ステップＳ２５４に進む（ステップＳ２５２）。
【０３４７】
ステップＳ２５３にて、ＣＰＵ２０１は、次の説明オブジェクト１２９を表示するためのアニメーションテーブル格納位置情報を登録する（説明進行登録：トリガに相当）。
【０３４８】
ステップＳ２５４にて、ＣＰＵ２０１は、角度フラグ及び方向フラグをリセットして、図３８のステップＳ６７に処理を進める。
【０３４９】
図４９は、図３８のステップＳ６７の前進処理の流れを示すフローチャートである。図４９に示すように、ステップＳ２６０にて、ＣＰＵ２０１は、スクリーン９１に、前進を指示する説明オブジェクト１３２が表示されているかどうかを判断する。この説明オブジェクト１３２が表示されている場合は、ステップＳ２６１に処理が進められ、表示されていない場合は、図３８のステップＳ６８に処理が進められる。
【０３５０】
ステップＳ２６１にて、ＣＰＵ２０１は、所定フレーム数の間、剣３の注目点が画面の中心座標を中心にした所定範囲に存在するかどうかをチェックする。
【０３５１】
ＣＰＵ２０１は、所定フレーム数の間、剣３の注目点が画面の中心座標を中心にした所定範囲に存在する場合は、ステップＳ２６３へ進み、そうでない場合は、図３８のステップＳ６８に処理が進められる（ステップＳ２６２）。
【０３５２】
ステップＳ２６３にて、ＣＰＵ２０１は、仮想空間内を一定距離進むたびに、背景表示のための配列の全要素を更新する（前進登録）。
【０３５３】
図５０は、図３８のステップＳ７０の画像情報セット処理の流れを示すフローチャートである。図５０に示すように、ステップＳ２７０では、ＣＰＵ２０１は、剣軌跡登録がなされている場合は、剣軌跡オブジェクト１１７に関する画像情報をセットする。具体的には、次の通りである。
【０３５４】
ＣＰＵ２０１は、剣軌跡オブジェクト１１７の中心座標（ｘｔ，ｙｔ）と、剣軌跡オブジェクト１１７のサイズ情報と、スプライトのサイズ情報と、に基づいて、剣軌跡オブジェクト１１７を構成する各スプライトの座標を算出する。
【０３５５】
また、ＣＰＵ２０１は、アニメーションテーブルを参照して、画像格納位置情報、コマ指定情報、及び、サイズ情報、を基に、表示すべき剣軌跡オブジェクト１１７の格納位置情報を算出する。さらに、ＣＰＵ２０１は、スプライトのサイズ情報を基に、表示すべき剣軌跡オブジェクト１１７を構成する各スプライトの格納位置情報を算出する。
【０３５６】
ステップＳ２７１では、ＣＰＵ２０１は、ヒット登録がなされている場合は、エフェクト１１９に関する画像情報をセットする。具体的には、次の通りである。
【０３５７】
ＣＰＵ２０１は、エフェクト１１９の座標と、エフェクト１１９のサイズ情報と、スプライトのサイズ情報と、に基づいて、エフェクト１１９を構成する各スプライトの座標を算出する。
【０３５８】
また、ＣＰＵ２０１は、アニメーションテーブルを参照して、画像格納位置情報、コマ指定情報、及び、サイズ情報、を基に、表示すべきエフェクト１１９の格納位置情報を算出する。さらに、ＣＰＵ２０１は、表示すべきエフェクト１１９を構成する各スプライトの格納位置情報を算出する。
【０３５９】
ステップＳ２７２では、ＣＰＵ２０１は、盾登録がなされている場合は、盾オブジェクト１２３に関する画像情報をセットする。具体的には、次の通りである。
【０３６０】
ＣＰＵ２０１は、盾オブジェクト１２３の中心座標（ｘｓ、ｙｓ）と、盾オブジェクト１２３のサイズ情報と、スプライトのサイズ情報と、に基づいて、盾オブジェクト１２３を構成する各スプライトの座標を算出する。
【０３６１】
また、ＣＰＵ２０１は、アニメーションテーブルを参照して、画像格納位置情報、コマ指定情報、及び、サイズ情報、を基に、表示すべき盾オブジェクト１２３の格納位置情報を算出する。さらに、ＣＰＵ２０１は、表示すべき盾オブジェクト１２３を構成する各スプライトの格納位置情報を算出する。
【０３６２】
ステップＳ２７３では、ＣＰＵ２０１は、スプライトからなる他のオブジェクト（例えば、説明オブジェクト１２９等）に関する画像情報（各スプライトの格納位置情報及び表示座標）をセットする。
【０３６３】
図５１は、図３２のステップＳ５のモード選択処理の流れを示すフローチャートである。図５１に示すように、ステップＳ３００〜ステップＳ３０２の処理は、それぞれ、図３８のステップＳ６０〜ステップＳ６２の処理と同様であり、説明を省略する。
【０３６４】
ステップＳ３０３にて、ＣＰＵ２０１は、カーソル１０１の移動処理を実行する。
【０３６５】
図５２は、図５１のステップＳ３０３のカーソル移動処理の流れを示すフローチャートである。図５２に示すように、ステップＳ３２０にて、ＣＰＵ２０１は、剣３の注目点の座標を基に、カーソル１０１の座標を算出する。
【０３６６】
ステップＳ３２１にて、ＣＰＵ２０１は、カーソル１０１のアニメーションのためのアニメーションテーブル格納位置情報を登録する（カーソル登録）。
【０３６７】
図５１の説明に戻る。ステップＳ３０４にて、ＣＰＵ２０１は、項目オブジェクト１０９の移動処理を実行する。
【０３６８】
図５３は、図５１のステップＳ３０４の項目オブジェクト移動処理の流れを示すフローチャートである。図５３に示すように、ステップＳ３３０にて、ＣＰＵ２０１は、カーソル１０１が、図１２の左移動指示オブジェクト１０３を中心としたレンジＲ１内に存在するかどうかを判断する。ＣＰＵ２０１は、カーソル１０１がレンジＲ１内に存在する場合は、ステップＳ３３１に進み、存在しない場合は、ステップＳ３３２に進む。
【０３６９】
ステップＳ３３１にて、ＣＰＵ２０１は、項目オブジェクト１０９のｘ方向の速さｖｘを「−ｖ」とする。
【０３７０】
一方、ステップＳ３３２にて、ＣＰＵ２０１は、カーソル１０１が、図１２の右移動指示オブジェクト１０５を中心としたレンジＲ２内に存在するかどうかを判断する。ＣＰＵ２０１は、カーソル１０１がレンジＲ２内に存在する場合は、ステップＳ３３４に進み、存在しない場合は、ステップＳ３３３に進む。
【０３７１】
ステップＳ３３４にて、ＣＰＵ２０１は、項目オブジェクト１０９のｘ方向の速さｖｘを「ｖ」とする。
【０３７２】
一方、ステップＳ３３３にて、ＣＰＵ２０１は、項目オブジェクト１０９のｘ方向の速さｖｘを「０」とする。
【０３７３】
ステップＳ３３５にて、ＣＰＵ２０１は、項目オブジェクト１０９のｘ座標に速さｖｘを加えて、項目オブジェクト１０９の移動後のｘ座標とする。
【０３７４】
ステップＳ３３６にて、ＣＰＵ２０１は、項目オブジェクト１０９の表示のためのアニメーションテーブル格納位置情報を登録する（項目オブジェクト登録）。
【０３７５】
図５１の説明に戻る。ステップＳ３０５及びステップＳ３０６の処理は、それぞれ、図３８のステップＳ６８及びステップＳ６９の処理と同様であり、説明を省略する。
【０３７６】
ステップＳ３０７にて、ＣＰＵ２０１は、カーソル１０１に関する画像情報をセットする。具体的には、次の通りである。
【０３７７】
ＣＰＵ２０１は、カーソル１０１の座標と、カーソル１０１のサイズ情報と、スプライトのサイズ情報と、に基づいて、カーソル１０１を構成する各スプライトの座標を算出する。
【０３７８】
また、ＣＰＵ２０１は、アニメーションテーブルを参照して、画像格納位置情報、コマ指定情報、及び、サイズ情報、を基に、表示すべきカーソル１０１の格納位置情報を算出する。さらに、ＣＰＵ２０１は、表示すべきカーソル１０１を構成する各スプライトの格納位置情報を算出する。
【０３７９】
また、ＣＰＵ２０１は、項目オブジェクト１０９に関する画像情報をセットする。具体的には、次の通りである。
【０３８０】
ＣＰＵ２０１は、項目オブジェクト１０９の座標と、項目オブジェクト１０９のサイズ情報と、スプライトのサイズ情報と、に基づいて、項目オブジェクト１０９を構成する各スプライトの座標を算出する。
【０３８１】
また、ＣＰＵ２０１は、アニメーションテーブルを参照して、画像格納位置情報、コマ指定情報、及び、サイズ情報、を基に、表示すべき項目オブジェクト１０９の格納位置情報を算出する。さらに、ＣＰＵ２０１は、表示すべき項目オブジェクト１０９を構成する各スプライトの格納位置情報を算出する。
【０３８２】
図５４は、図３２のステップＳ６のスイング補正モードの流れを示すフローチャートである。図５４に示すように、ステップＳ４００〜ステップＳ４０３の処理は、それぞれ、図３８のステップＳ６０〜ステップＳ６３の処理と同様であり、説明を省略する。
【０３８３】
ステップＳ４０４にて、ＣＰＵ２０１は、補正情報Ｋｘ，Ｋｙを取得する（図３１参照）。
【０３８４】
図５５は、図５４のステップＳ４０４の補正情報取得処理の流れを示すフローチャートである。図５５に示すように、ステップＳ４１０にて、ＣＰＵ２０１は、角度フラグ及び方向フラグに基づいて、スイング情報を決定する（図２３（ａ）〜図２３（ｃ）参照）。そして、ＣＰＵ２０１は、スイング情報が「Ａ０」の場合は、ステップＳ４１１に進み、スイング情報が「Ａ３」の場合は、ステップＳ４１２に進み、スイング情報がそれら以外の場合は、図５４のステップＳ４０５に進む。
【０３８５】
ステップＳ４１１では、剣３が横に振られているため、ＣＰＵ２０１は、ｙ方向の補正情報Ｋｙを求める。
【０３８６】
一方、ステップＳ４１２では、剣３が縦に振られているため、ＣＰＵ２０１は、ｘ方向の補正情報Ｋｘを求める。
【０３８７】
図５４の説明に戻る。ステップＳ４０５，Ｓ４０６の処理は、それぞれ、図３８のステップＳ６８，Ｓ６９の処理と同様であり、説明を省略する。
【０３８８】
ステップＳ４０７にて、ＣＰＵ２０１は、スイング補正画面（図３１参照）を表示するための全スプライトの画像情報をセットする。
【０３８９】
図５６は、撮像手段５によるストロボスコープ撮影処理の流れを示すフローチャートである。ステップＳ５００において、高速プロセッサ２００は、ストロボスコープ撮影のために赤外発光ダイオード７を点灯する。具体的には、図１０に示すＬＥＤコントロール信号ＬＥＤＣをＨレベルとする。その後、ステップＳ５０１で、イメージセンサ４３は、ピクセルデータを出力する。
【０３９０】
ステップＳ５０２において、高速プロセッサ２００は、ストロボスコープ撮影のために赤外発光ダイオード７を消灯する。具体的には、図１０に示すＬＥＤコントロール信号ＬＥＤＣをＬレベルとする。その後、ステップＳ５０３で、イメージセンサ４３は、ピクセルデータを出力する。
【０３９１】
以上の処理がゲームが終了するまで繰り返される（ステップＳ５０４）。
【０３９２】
さて、次に、ゲーム画面の上記以外の例をいくつか挙げる。図５７は、ゲーム画面の他の例示図である。図５７に示すように、このゲーム画面には、人オブジェクト５０１及び動物オブジェクト５０２が表示される。そして、剣３の動きに応じて、カーソル５０３が移動する。このカーソル５０３を人オブジェクト５０１に重ねると、人オブジェクト５０１に関連付けられた説明オブジェクト５００が表示される。一方、図示していないが、オペレータ９４が、剣３を動かして、カーソル５０３を、動物オブジェクト５０２に重ねると、動物オブジェクト５０２に関連付けられた説明オブジェクトが表示される。
【０３９３】
ここで、カーソル５０３の移動処理は、カーソル１０１の移動処理と同様である。そして、カーソル５０２が、人オブジェクト５０１を含む所定範囲内に移動してきた場合、人オブジェクト５０１に関連付けられた説明オブジェクト５００が表示される。動物オブジェクト５０２についても同様である。
【０３９４】
図５８は、ゲーム画面のさらに他の例示図である。図５８に示すように、このゲーム画面には、文字選択部５０５、選択枠５０６、左移動指示オブジェクト１０３、右移動指示オブジェクト１０５、文字表示部５０７、及び、カーソル１０１、が表示される。オペレータ９４が剣３を操作してカーソル１０１を動かし、左移動指示オブジェクト１０３に重ねると、文字選択部５０５の文字が左方向に回転する。一方、右移動指示オブジェクト１０５に重ねると、文字選択部５０５の文字が右方向に回転する。このようにして、ア〜ンまでの文字を選択できる。そして、剣３を、一定以上の速度で縦方向に振り下ろすと、選択枠５０６に入った文字が、文字表示部５０７に表示される。このようにして、オペレータ９４は、剣３を操作して、文字表示部５０７に文字を表示することができる。
【０３９５】
ここで、文字選択部５０５における文字の回転処理は、図１２における項目オブジェクト１０９の回転処理と同様である。
【０３９６】
図５９は、ゲーム画面のさらに他の例示図である。図５９に示すように、このゲーム画面には、斜め方向に炎オブジェクト５１０が表示されている。これは、オペレータ９４が剣３を斜め方向に振ったことに応じて、表示されたものである。つまり、これまでの例では、オペレータ９４が剣３を振ると、その動作に応じた剣軌跡オブジェクト１１７を表示していたが、その代わりに、炎オブジェクト５１０を表示している。炎オブジェクト５１０の表示のためのトリガ発生の処理は、剣軌跡オブジェクト１１７の表示のためのトリガ発生の処理と同様である。また、例えば、炎オブジェクト５１０は、注目点の座標に出現させる。
【０３９７】
図６０は、ゲーム画面のさらに他の例示図である。図６０に示すように、このゲーム画面には、スイングガイド５２０，５２１，５２２および進行バー５２３が表示される。スイングガイド５２０〜５２２においては、切り欠いた方向から剣３を振ることを意味する。オペレータ９４は、進行バー５２３がスイングガイド５２０〜５２２に重なったタイミングで、進行バー５２３が重なったスイングガイド５２０〜５２２が指示する方向から、剣３を振る。図６０の例では、オペレータ９４は、進行バー５２３が重なったスイングガイド５２０が指示するように、左から横方向に、剣３を振る。
【０３９８】
また、オペレータ９４が、進行バー５２３が指示するタイミングで、かつ、スイングガイド５２０〜５２２が指示する方向から、剣３を適正に振ることができれば、特別なオブジェクトを表示するようにすることもできる。
【０３９９】
さて、図６１（ａ）〜図６１（ｃ）は、図１の剣３のさらに他の例示図である。図６１（ａ）に示すように、この剣３の刀身部１５の側面には、図２の反射シート１７に代えて、円形の反射シート５５０及び反射シート５５１が、所定間隔で取り付けられている。従って、２点（反射シート５５０及び反射シート５５１）が検出された場合と、１点（半円柱状部材２１に取り付けられた反射シート２３）が検出された場合と、でその後の処理を異ならせることができる。例えば、ＣＰＵ２０１は、２点検出の場合と、１点検出の場合と、で異なる画像を、グラフィックプロセッサ２０２に表示させる。２点検出については、後で詳細に説明する。なお、一方の半円柱状部材２１に取り付けられた反射シート２３と、他方の半円柱状部材２１に取り付けられた反射シート２３と、は近距離のため、イメージセンサ４３には、１点として撮影される。
【０４００】
また、図６１（ｂ）に示すように、この剣３の刀身部１５の側面には、図２の反射シート１７に代えて、長方形の反射シート５５５が取り付けられている。ＣＰＵ２０１は、検出した反射シートの長辺と短辺との比を求めて、この比が所定値より大きければ、長方形の反射シート５５５が検出されたと判断する。従って、長方形の反射シート５５５が検出された場合と、反射シート２３が検出された場合と、でその後の処理を異ならせることができる。例えば、ＣＰＵ２０１は、検出した反射面に応じて、異なる画像を、グラフィックプロセッサ２０２に表示させる。
【０４０１】
さらに、図６１（ｃ）に示すように、この剣３の刀身部１５の側面には、図２の反射シート１７に代えて、三角形の反射シート５６０が取り付けられている。ＣＰＵ２０１は、検出した反射シートの形状を求めて、三角形であれば、反射シート５６０が検出されたと判断する。従って、三角形の反射シート５６０が検出された場合と、反射シート２３が検出された場合と、でその後の処理を異ならせることができる。例えば、ＣＰＵ２０１は、検出した反射面に応じて、異なる画像を、グラフィックプロセッサ２０２に表示させる。
【０４０２】
なお、図６１（ａ）〜図６１（ｃ）において、半円柱状部材２１及び反射シート２３を剣３に設ける代わりに、図４及び図５の反射シート３１を、剣３の刃先部に設けることもできる。
【０４０３】
上記では、剣型の操作物３を例に挙げた。次に、剣型以外の操作物３の一例を説明する。図６２は、オペレータ９４によって操作される操作物の例示図である。この操作物３は、スティック５７０の両端に球状部材５７１，５７２を取り付けたものである。球状部材５７１，５７２には、反射シート５７５，５７６が取り付けられる。オペレータ９４は、スティック５７０を握って、操作物３を操作する。２つの反射シート５７５，５７６は、所定間隔で取り付けられているため、イメージセンサ４３により、２つの注目点が撮影される。ＣＰＵ２０１は、２つの反射シート５７５，５７６の状態情報を求める。そして、ＣＰＵ２０１は、その２つの反射シート５７５，５７６の状態情報に応じて、グラフィックプロセッサ２０２に画像を表示させる。
【０４０４】
次に、図６１（ａ）及び図６２で実行する２点の抽出処理について説明する。この場合、一方の反射シートを第１の反射シートと呼び、他方の反射シートを第２の反射シートと呼ぶ。
【０４０５】
図６３は、第１の反射シートの注目点（第１注目点）の座標算出の説明図である。図６３に示すように、イメージセンサ４３は、例えば、３２ピクセル×３２ピクセルからなる。ＣＰＵ２０１は、Ｙ方向に３２ピクセル分の差分データをスキャンし、そして、Ｘ座標をインクリメントし、Ｙ方向に３２ピクセル分の差分データをスキャンし、そして、Ｘ座標をインクリメントし、というように、Ｘ座標をインクリメントしながら、Ｙ方向（列方向）に３２ピクセル分の差分データをスキャンしていく。
【０４０６】
この場合、ＣＰＵ２０１は、Ｙ方向にスキャンした３２ピクセル分の差分データから、最大輝度値の差分データを求め、その最大輝度値と所定の閾値Ｔｈとを比較する。そして、ＣＰＵ２０１は、その最大輝度値が所定の閾値Ｔｈより大きい場合は、その値を配列ｍａｘ［ｎ］に代入する。一方、状ＣＰＵ２０１は、その最大輝度値が所定の閾値Ｔｈ以下の場合は、所定値（例えば、「０」）を配列ｍａｘ［ｎ］に代入する。
【０４０７】
ここで、ｎはＸ座標であり、さらに、ＣＰＵ２０１が、最大輝度値を有するピクセルのＹ座標を関連付けて格納することで、後に、最大輝度値を有するピクセルのＸ座標及びＹ座標を取得できる。
【０４０８】
さらに、ＣＰＵ２０１は、配列ｍａｘ［０］〜配列ｍａｘ［３１］をスキャンして、さらにその中の最大値を求める。そして、ＣＰＵ２０１は、その最大値のＸ座標及びＹ座標を、第１の反射シートの注目点の座標（Ｘ１，Ｙ１）として保存する。
【０４０９】
次に、第２の反射シートの注目点（第２注目点）の座標算出について説明する。ＣＰＵ２０１は、配列ｍａｘ［０］〜ｍａｘ［３１］のうちの最大値、つまり、第１の反射シートの注目点の座標（Ｘ１，Ｙ１）に位置するピクセルの差分データ、を中心に所定範囲をマスクする。この点を図面を用いて説明する。
【０４１０】
図６４は、第２の反射シートの注目点の座標算出の説明図である。図６４に示すように、ＣＰＵ２０１は、配列ｍａｘ［０］〜ｍａｘ［３１］のうちの最大値（図６４の例では、Ｘ＝９、Ｙ＝９）を中心に所定範囲をマスク（太枠で囲った部分）する。
【０４１１】
そして、ＣＰＵ２０１は、このマスクした範囲を除いて、配列ｍａｘ［０］〜ｍａｘ［３１］をスキャンする。つまり、この例では、ＣＰＵ２０１は、配列ｍａｘ［０］〜ｍａｘ［６］、及び、配列ｍａｘ［１２］〜ｍａｘ［３１］をスキャンする。
【０４１２】
そして、ＣＰＵ２０１は、そのスキャンした配列ｍａｘ［０］〜ｍａｘ［６］、及び、配列ｍａｘ［１２］〜ｍａｘ［３１］のうちから、最大値を求める。状ＣＰＵ２０１は、求めた最大値のＸ座標及びＹ座標を、第２の反射シートの注目点の座標（Ｘ２，Ｙ２）として保存する。図６４の例では、最大値は、配列ｍａｘ［２２］であり、従って、第２の反射シートの注目点の座標は、Ｘ２＝２２、Ｙ２＝１０、である。なお、図６４の例では、第１の反射シートの注目点の座標は、Ｘ１＝９、Ｙ１＝９、となっている。
【０４１３】
なお、第１注目点及び第２注目点の座標を求める際の最大値の検出は、実際は、スキャンしながら行われる。上記では、説明の便宜のため、スキャンした後に、最大値を求めるように記載している。
【０４１４】
さて、以上のように本実施の形態によれば、ストロボスコープにより間欠的に光が照射される剣３をイメージセンサ４３により撮影して、剣３の状態情報を求めている。このように、実空間に検知面（二次元）を形成することなく、イメージセンサ４３の撮影範囲である検知空間（三次元）に存在する剣３の状態情報を取得できる。従って、剣３の操作範囲が二次元平面に制限されることがないため、オペレータ９４による剣３の操作の制約が小さく、操作の自由度を大きくできる。
【０４１５】
また、テレビジョンモニタ９０のスクリーン９１に対応した検知面を実空間に形成する必要もないため、設置場所の制限を小さくできる（省スペースの実現）。
【０４１６】
さらに、剣３を振ったことに基づくトリガ（剣軌跡登録に相当）により、剣３の移動軌跡を表現する剣軌跡オブジェクト１１７がスクリーン９１に表示される。このため、オペレータ９４は、現実に目で見ることができない移動軌跡を、スクリーン９１上で見ることができ、剣３を振った実感をより味合うことができる。
【０４１７】
この場合、フレームごとに幅の異なる帯状オブジェクトを表示することにより、剣３の移動軌跡を表現する。このときの帯状オブジェクトの幅は、フレームの更新とともに太くなった後、フレームの更新とともに細くなる（図２７〜図２９参照）。
【０４１８】
このため、鋭い閃光が走ったような、剣３の移動軌跡を表示できる。特に、帯状オブジェクトの色を工夫することで、その効果をより高めることができる。
【０４１９】
さらに、スクリーン９１に表示される仮想世界に、オペレータ９４が操作した剣３の移動軌跡が出現するため、このような剣３の移動軌跡の表示を通じて、オペレータ９４は、仮想世界との接触が可能となり、仮想世界をより楽しむことができる。つまり、オペレータ９４は、あたかも、スクリーン９１に表示されるゲーム世界で、ゲームを楽しんでいるような実感を得ることができる。
【０４２０】
さらに、撮像手段５により検知された反射面（例えば、反射シート１７，２３）に応じて、異なる画像（例えば、剣軌跡オブジェクト１１７、盾オブジェクト１２３）が表示されるため、単一の操作物３を操作するだけで、反射面の数に応じた、異なる画像を表示できる。このため、異なる画像ごとに、対応する操作物を用意したり、スイッチやアナログスティック等を操作物に設けたり、する必要がない。従って、操作物３のコストの低減が可能になるとともに、オペレータ９４による操作物３の操作性を向上できる。
【０４２１】
さらに、オペレータ９４は、剣３のどの反射面（例えば、反射シート１７，２３）を撮像手段５に向けるかによって、所望の画像を表示できる（例えば、剣軌跡オブジェクト１１７、盾オブジェクト１２３）。従って、オペレータ９４は、単一の剣３で、様々な画像を表示させることができて、ゲームを円滑に実行できる。
【０４２２】
さらに、ＣＰＵ２０１は、剣３の面積情報（図２〜図５参照）、数情報（図６１（ａ）参照）、形状情報（図６１（ｃ）参照）、若しくは、形状を表す比率情報（図６１（ｂ）参照）、のいずれか、又は、そのうちのいくつかの情報、を算出することができる。従って、これらの情報により、剣３の刀身部の側面の反射シート１７，５５０，５５１，５５５，５６０が撮影されたのか、あるいは、剣３の半円柱状部材２１の反射シート２３／剣３の刃先部の反射シート３１が撮影されたのか、を判別することができる。
【０４２３】
このように、剣３の刀身部１５に取り付ける反射シートのサイズ又は形状を、剣３の半円柱状部材２１あるいは剣３の刃先部に取り付ける反射シートと異ならせるだけで、いずれの反射シートが撮影されたのかを容易に判別できる。特に、剣３の面積情報により、反射シートを判別する場合は、過った判別を極力減少させることができるだけでなく、処理を容易にできて処理の高速化を図ることができる。
【０４２４】
さらに、剣軌跡オブジェクト１１７と敵オブジェクト１１５との位置関係が所定条件を満たしたことに基づくトリガ（エフェクト登録）により、エフェクト１１９が加えられた敵オブジェクト１２１がスクリーン９１に表示される（図１５参照）。
【０４２５】
このように、オペレータ９４の操作に基づいて表示される剣軌跡オブジェクト１１７を通じて、スクリーン９１に表示された、言わば仮想世界の敵オブジェクト１１５にエフェクトを与えることができる。このため、オペレータ９４は、仮想世界をより一層楽しむことができる。
【０４２６】
さらに、ＣＰＵ２０１は、剣３の注目点の数、つまり、剣３の検知回数が３以上の場合に、剣軌跡オブジェクト１１７を表示させるトリガ（剣軌跡登録）を発生するため、オペレータ９４が意図しない操作により、意図しないときに、剣軌跡オブジェクト１１７が出現することを防止できる（図２２参照）。
【０４２７】
さらに、ＣＰＵ２０１は、剣３の注目点の数（剣３の検知回数）が３以上の場合に、剣３の最初の注目点と最後の注目点とに基づいて、剣軌跡オブジェクト１１７の態様（スイング情報）を決定する（図２２〜図２６参照）。このため、剣３の移動軌跡をより的確に反映した剣軌跡オブジェクト１１７の態様を決定できる。
【０４２８】
なお、剣３の近接する２つの注目点に基づいて、剣軌跡オブジェクト１１７の態様を決定すると、例えば、次の不都合がある。オペレータ９４が、自分の感覚で直線的に剣３を移動させた場合でも、実際には、若干の円弧を描いている場合もある。この場合には、当然、イメージセンサ４３には、円弧を描くように剣３が撮影される。このときに、近接する２つの注目点に基づいて、剣軌跡オブジェクト１１７の態様を決定すると、オペレータ９４の感覚とずれた態様の剣軌跡オブジェクト１１７が表示されることになる。例えば、剣３を横に振ったつもりが、斜め方向の剣軌跡オブジェクト１１７が表示されるような事態である。
【０４２９】
さらに、剣３の状態情報に基づくトリガ（説明進行登録に相当）により、スクリーン９１に文字列を次々に表示させることができるため、文字列の更新に使用するスイッチやアナログスティック等を剣３に設ける必要もなく、剣３の製造コストを低減できるばかりでなく、操作性をも向上できる（図１７参照）。
【０４３０】
さらに、剣３の状態情報に基づくトリガ（進行登録に相当）により、背景を更新することができるため、背景の更新に使用するスイッチやアナログスティック等を剣３に設ける必要もなく、剣３の製造コストを低減できるばかりでなく、操作性をも向上できる（図１８参照）。
【０４３１】
さらに、ＣＰＵ２０１は、剣３の位置情報を補正する補正情報Ｋｘ，Ｋｙを取得する。そして、ＣＰＵ２０１は、補正情報Ｋｘ，Ｋｙを用いて、補正後の位置情報を算出する。このため、オペレータ９４が剣３を操作する感覚と、ＣＰＵ２０１が算出する剣３の位置情報と、のずれを極力解消できるため、オペレータ９４による剣３の操作をより的確に反映した画像を表示できる。
【０４３２】
さらに、剣３の位置情報に基づいて、カーソル１０１を移動させることができるため、カーソル１０１の移動に使用するスイッチやアナログスティック等を剣３に設ける必要もなく、剣３の製造コストを低減できるばかりでなく、操作性をも向上できる（図１２参照）。
【０４３３】
さらに、剣３の状態情報に基づいて、予め定められた処理を実行することを確定する。例えば、剣３を一定以上の速さで、縦方向に振り下ろすことで、項目オブジェクト１０９の選択が確定され、選択された項目に応じた処理の実行が開始される（図１２参照）。このように、剣３の状態情報に基づいて、処理の実行の確定ができるため、処理の実行の確定に使用するスイッチやアナログスティック等を剣３に設ける必要もなく、剣３の製造コストを低減できるばかりでなく、操作性をも向上できる。
【０４３４】
さらに、カーソル５０３が人オブジェクト５０１に重なったときに、その人オブジェクト５０１に関連付けられた説明オブジェクト５００が表示される（図５７参照）。このため、オペレータ９４は、剣３の操作によりカーソル５０３を移動させるだけで、表示されている人オブジェクト５０１に関連付けられた画像を表示させることができる。
【０４３５】
さらに、カーソル１０１により選択された文字をスクリーン９１に表示できる（図５８参照）。このため、オペレータ９４は、剣３の操作によりカーソル１０１を移動させて所望の文字を選択するだけで、文字を入力できるため、文字入力に使用するスイッチやアナログスティック等を剣３に設ける必要もなく、剣３の製造コストを低減できるばかりでなく、操作性をも向上できる。
【０４３６】
さらに、剣３の状態情報に基づくトリガにより、剣３の動きに応じた炎オブジェクト５１０をスクリーン９１に表示できる。これにより、剣３の移動軌跡を表現する剣オブジェクト１１７と異なった視覚的効果を、オペレータ９４に与えることができる（図５９参照）。
【０４３７】
さらに、剣軌跡登録が行われてから（トリガが発生してから）、所定時間経過後に（人間の感覚で）、剣３の移動軌跡を表現する剣軌跡オブジェクト１１７をスクリーン９１に表示することもできる。この場合、剣軌跡オブジェクト１１７を、剣軌跡登録（トリガの発生）とほぼ同時（人間の感覚で同時）に表示する場合と比較して、異なった効果を、オペレータ９４に与えることができる。
【０４３８】
さらに、剣３の連続した状態情報が所定条件（例えば、剣３を、縦→横→縦、に連続して振る、等）を満足したときに、所定のオブジェクトを表示することもできる。これにより、剣３の操作が所定条件を満足したときにのみ、所定のオブジェクトが表示されるため、この所定条件の設定の仕方によって、所定のオブジェクトを表示させるための、オペレータ９４による剣３の操作を任意にコントロールできる。
【０４３９】
さらに、剣３の操作方向を指示するガイドオブジェクト５２０〜５２２及び操作タイミングを指示する進行バー５２３を表示することもできる。この場合は、オペレータは、情報処理装置１が要求する剣３の操作方向及び操作タイミングを視覚的に認識できる。
【０４４０】
さらに、ＣＰＵ２０１は、状態情報として、速さ情報、移動方向情報、移動距離情報、速度ベクトル情報、加速度情報、移動軌跡情報、面積情報、若しくは、位置情報、のいずれか、それらのうちのいくつか、又は、それらの全部、を算出できる。このため、オペレータ９４による剣３の様々な動きに応じたオブジェクトをスクリーン９１に表示できる。
【０４４１】
さらに、剣軌跡登録（トリガ）に基づいて、テレビジョンモニタ９０のスピーカから効果音を発生させることができる。このため、オペレータ９４に対して、視覚的効果に加えて、聴覚的効果を与えることができる。従って、オペレータ９４は、スクリーン９１に表示される仮想世界をより一層楽しむことができる。例えば、オペレータ９４が操作した剣３の移動軌跡１１７が仮想世界に出現すると同時に、効果音を発生させれば、オペレータ９４は、仮想世界をより一層楽しむことができる。
【０４４２】
さらに、操作物３の複数の反射シート５７５，５７６の状態情報に応じて画像を表示することもできるため、単一の反射シートの状態情報に応じて画像を表示する場合と比較して、操作物３の状態をより反映した画像を表示できる（図６２参照）。
【０４４３】
さらに、発光時画像信号と消灯時画像信号との差分信号を生成するといった簡単な処理のみで、ノイズや外乱の影響を抑えた精度の高い検出が可能であるので、コスト、許容される消費電力等の条件により情報処理装置１のパフォーマンスが制限されるシステムの上でも容易に達成が可能である。
【０４４４】
なお、本発明は、上記の実施の形態に限られるものではなく、その要旨を逸脱しない範囲で種々の態様において実施することが可能であり、例えば、以下のような変形も可能である。
【０４４５】
（１）実施の形態では、剣型の操作物３を例に挙げたが（図２、図４、図６１）、本発明は、これに限定されない。また、本発明は、図６２の操作物３にも限定されない。つまり、光を反射できる部材（例えば、再帰反射シート）を備えていれば、任意の形状の操作物３を使用できる。
【０４４６】
（２）実施の形態では、図２７〜図２９のアニメーションにより、剣軌跡オブジェクト１１７を表現したが、本発明は、これに限定されない。
【０４４７】
（３）実施の形態では、２種類の反射面（例えば、図２の反射シート１７，２３）を操作物３に設けたが、１種類でもよく、また、３種類以上でもよい。
【０４４８】
（４）図７の高速プロセッサ２００として、任意の種類のプロセッサを使用できるが、本件出願人が既に特許出願している高速プロセッサ（商品名：ＸａｖｉＸ）を用いることが好ましい。この高速プロセッサは、例えば、特開平１０−３０７７９０号公報およびこれに対応するアメリカ特許第６，０７０，２０５号に詳細に開示されている。
【０４４９】
以上、本発明を実施例により詳細に説明したが、当業者にとっては、本発明が本願中に説明した実施例に限定されるものではないということは明らかである。本発明は、特許請求の範囲の記載により定まる本発明の趣旨及び範囲を逸脱することなく修正及び変更態様として実施することができる。従って、本願の記載は、例示説明を目的とするものであり、本発明に対して何ら制限的な意味を有するものではない。
【図１】
2010191980.tif 000003
【図２】
2010191980.tif 000004
【図３】
2010191980.tif 000005
【図４】
2010191980.tif 000006
【図５】
2010191980.tif 000007
【図６】
2010191980.tif 000008
【図７】
2010191980.tif 000009
【図８】
2010191980.tif 000010
【図９】
2010191980.tif 000011
【図１０】
2010191980.tif 000012
【図１１】
2010191980.tif 000013
【図１２】
2010191980.tif 000014
【図１３】
2010191980.tif 000015
【図１４】
2010191980.tif 000016
【図１５】
2010191980.tif 000017
【図１６】
2010191980.tif 000018
【図１７】
2010191980.tif 000019
【図１８】
2010191980.tif 000020
【図１９】
2010191980.tif 000021
【図２０】
2010191980.tif 000022
【図２１】
2010191980.tif 000023
【図２２】
2010191980.tif 000024
【図２３】
2010191980.tif 000025
【図２４】
2010191980.tif 000026
【図２５】
2010191980.tif 000027
【図２６】
2010191980.tif 000028
【図２７】
2010191980.tif 000029
【図２８】
2010191980.tif 000030
【図２９】
2010191980.tif 000031
【図３０】
2010191980.tif 000032
【図３１】
2010191980.tif 000033
【図３２】
2010191980.tif 000034
【図３３】
2010191980.tif 000035
【図３４】
2010191980.tif 000036
【図３５】
2010191980.tif 000037
【図３６】
2010191980.tif 000038
【図３７】
2010191980.tif 000039
【図３８】
2010191980.tif 000040
【図３９】
2010191980.tif 000041
【図４０】
2010191980.tif 000042
【図４１】
2010191980.tif 000043
【図４２】
2010191980.tif 000044
【図４３】
2010191980.tif 000045
【図４４】
2010191980.tif 000046
【図４５】
2010191980.tif 000047
【図４６】
2010191980.tif 000048
【図４７】
2010191980.tif 000049
【図４８】
2010191980.tif 000050
【図４９】
2010191980.tif 000051
【図５０】
2010191980.tif 000052
【図５１】
2010191980.tif 000053
【図５２】
2010191980.tif 000054
【図５３】
2010191980.tif 000055
【図５４】
2010191980.tif 000056
【図５５】
2010191980.tif 000057
【図５６】
2010191980.tif 000058
【図５７】
2010191980.tif 000059
【図５８】
2010191980.tif 000060
【図５９】
2010191980.tif 000061
【図６０】
2010191980.tif 000062
【図６１】
2010191980.tif 000063
【図６２】
2010191980.tif 000064
【図６３】
2010191980.tif 000065
【図６４】
2010191980.tif 000066
【図６５】
2010191980.tif 000067
【手続補正書】
【提出日】平成22年5月6日(2010.5.6)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
オペレータに保持されて動きが与えられる操作物を検出した結果に基づいて、ディスプレイ装置に画像を表示させる情報処理装置であって、  複数の反射面を有する前記操作物を撮影する撮像ユニットと、  前記撮像ユニットにより得られた画像を基に、前記反射面の状態情報を算出して、その状態情報に基づいて、前記複数の反射面のいずれの反射面が撮影されたかを判別する状態情報算出ユニットと、  判別された前記反射面に応じて、前記ディスプレイ装置に異なる画像を表示させる画像表示処理ユニットと、を備える情報処理装置。    
【請求項２】
前記状態情報は、前記反射面の面積情報、形状情報、若しくは、形状を表す比率情報、のいずれか、又は、それらの組み合わせ、である、請求項１記載の情報処理装置。    
【請求項３】
前記反射面は、面積が大きい反射面と、面積が小さい反射面とを含み、  前記状態情報算出ユニットは、前記撮像ユニットにより得られた画像を基に、前記反射面の面積情報を算出し、その面積情報が、予め定められた閾値を超えたときに、前記的面積が大きい反射面が撮影されたと判別し、  前記画像表示処理ユニットは、前記面積が大きい反射面が判別されたことに基づいて、所定のオブジェクトを前記ディスプレイ装置に表示する、請求項１又は２に記載の情報処理装置。    
【請求項４】
前記画像表示処理ユニットは、前記面積が大きい反射面の位置情報に応じて、前記所定のオブジェクトを移動し、  前記所定のオブジェクトの色彩は、透明又は半透明である、請求項３記載の情報処理装置。    
【請求項５】
前記反射面は、面積が大きい反射面と、面積が小さい反射面とを含み、  前記状態情報算出ユニットは、前記撮像ユニットにより得られた画像を基に、前記反射面の面積情報を算出し、その面積情報が、予め定められた閾値を超えたときに、前記面積が大きい反射面が撮影されたと判別し、  前記画像表示処理ユニットは、前記面積が大きい反射面が判別されたことに基づいて、背景画像を更新する、請求項１又は２に記載の情報処理装置。    
【請求項６】
請求項１から５のいずれかに記載の情報処理装置のオペレータが操作する操作物であって、  複数の反射面を有する操作物。