(57)【要約】      （修正有）【課題】撮影された入力装置の像が、手及び足のいずれに装着されたものであるかを区別できる検出装置を提供する。【解決手段】手に装着された入力装置３及び足に装着された入力装置５が赤外線フィルタ９の背面側に配置されたイメージセンサにより撮影される。イメージセンサが生成する画像を上半分の領域と下半分の領域とに分割する。上半分の領域に写り込んだ像を手に装着された入力装置３であるとみなし、下半分の領域に写り込んだ像を足に装着された入力装置５であるとみなす。【選択図】図１
0003165368.tif 000002
【実用新案登録請求の範囲】
【請求項１】
少なくともプレイヤの一方の手に装着される、第１反射体を備える第１入力装置、及び、少なくとも前記プレイヤの一方の足に装着される、第２反射体を備える第２の入力装置を検出するための検出装置であって、
前記第１入力装置及び前記第２入力装置を撮影する撮像手段と、
前記撮像手段が生成した画像の第１領域に写り込んだ像を前記第１反射体の像とみなし、当該画像の第２領域に写り込んだ像を前記第２反射体の像とみなす情報処理手段と、を備え、
前記撮像手段が生成する前記画像は、向かい合う第１の辺及び第２の辺を有すると共に、前記第１の辺及び前記第２の辺に垂直な向かい合う第３の辺及び第４の辺を有し、
前記第１領域は、前記第１の辺から前記第２の辺に向かって拡がっており、前記第２領域は、前記第２の辺から前記第１の辺に向かって拡がっており、
前記第１入力装置を装着した腕を曲げた状態で、前記第１入力装置が撮影されたときに、前記第１反射体の像の位置を第１の位置とし、前記プレイヤが前記第１入力装置を装着した腕を伸ばした状態で、前記第１入力装置が撮影されたときに、前記第１反射体の像の位置を第２の位置としたときに、前記第１の辺から前記第２の辺に向かう方向は、前記第２の位置から前記第１の位置に向かう方向であり、前記第２の辺から前記第１の辺に向かう方向は、前記第１の位置から前記第２の位置に向かう方向である、検出装置。
【請求項２】
前記検出装置は、床面に載置され、前記撮像手段の撮像面は、鋭角である所定角度だけ水平面から傾いて固定される、請求項１記載の検出装置。
【請求項３】
前記情報処理手段は、前記第１反射体であるとみなした前記像の位置情報に基づいて、表示装置に第１映像を表示し、かつ、前記第２反射体であるとみなした前記像の位置情報に基づいて、前記表示装置に第２映像を表示する、請求項１又は２記載の検出装置。
【考案の詳細な説明】
【技術分野】
【０００１】
本考案は、プレイヤの手足にそれぞれ装着された、反射体を備えた入力装置を、それらを撮影することによって検出するための検出装置及びその関連技術に関する。
【背景技術】
【０００２】
本件出願人による特許文献１に開示されているゴルフゲームシステムは、ゲーム機及びゴルフクラブ型入力装置を含み、ゲーム機のハウジングの内部には撮像ユニットが収納され、この撮像ユニットは、イメージセンサ及び赤外発光ダイオード等から構成される。赤外発光ダイオードによって撮像ユニットの前方の所定範囲に赤外光が間欠的に照射され、したがって、イメージセンサは、その範囲内で移動するゴルフクラブ型入力装置に設けられた反射体を間欠的に撮影する。このような反射体のストロボ映像を処理することによって、入力装置の動きを検出する。
【０００３】
ところで、特許文献１には、反射体を備えた入力装置をプレイヤの手足に装着して、四肢を利用したダンスゲームを行うことができる旨の記載がある。
【０００４】
【特許文献１】特開２００４−８５５２４号公報
【考案の開示】
【考案が解決しようとする課題】
【０００５】
しかしながら、特許文献１には、撮影された入力装置の像が、手及び足のいずれに装着されたものであるかを区別する手法の記載はない。
【０００６】
そこで、本考案の目的は、撮影された入力装置の像が、手及び足のいずれに装着されたものであるかを区別できる検出装置及びその関連技術を提供することである。
【課題を解決するための手段】
【０００７】
本考案の観点によると、検出装置は、少なくともプレイヤの一方の手に装着される、第１反射体を備える第１入力装置、及び、少なくとも前記プレイヤの一方の足に装着される、第２反射体を備える第２の入力装置を検出するための検出装置であって、前記第１入力装置及び前記第２入力装置を撮影する撮像手段と、前記撮像手段が生成した画像の第１領域に写り込んだ像を前記第１反射体の像とみなし、当該画像の第２領域に写り込んだ像を前記第２反射体の像とみなす情報処理手段と、を備え、前記撮像手段が生成する前記画像は、向かい合う第１の辺及び第２の辺を有すると共に、前記第１の辺及び前記第２の辺に垂直な向かい合う第３の辺及び第４の辺を有し、前記第１領域は、前記第１の辺から前記第２の辺に向かって拡がっており、前記第２領域は、前記第２の辺から前記第１の辺に向かって拡がっており、前記第１入力装置を装着した腕を曲げた状態で、前記第１入力装置が撮影されたときに、前記第１反射体の像の位置を第１の位置とし、前記プレイヤが前記第１入力装置を装着した腕を伸ばした状態で、前記第１入力装置が撮影されたときに、前記第１反射体の像の位置を第２の位置としたときに、前記第１の辺から前記第２の辺に向かう方向は、前記第２の位置から前記第１の位置に向かう方向であり、前記第２の辺から前記第１の辺に向かう方向は、前記第１の位置から前記第２の位置に向かう方向である。
【０００８】
この構成によれば、第１領域及び第２領域を設定することにより、画像に写り込んだ像が、手に装着された第１反射体であるのか、あるいは、足に装着された第２反射体であるのか、を簡易に区別できる。
【０００９】
上記検出装置において、前記検出装置は、床面に載置され、前記撮像手段の撮像面は、鋭角である所定角度だけ水平面から傾いて固定される。
【００１０】
上記検出装置において、前記情報処理手段は、前記第１反射体であるとみなした前記像の位置情報に基づいて、表示装置に第１映像を表示し、かつ、前記第２反射体であるとみなした前記像の位置情報に基づいて、前記表示装置に第２映像を表示する。
【考案を実施するための最良の形態】
【００１１】
以下、本考案の実施の形態について、図面を参照しながら説明する。なお、図中、同一または相当部分については同一の参照符号を付してその説明を援用する。
【００１２】
図１は、本考案の実施の形態によるゲームシステムの全体構成を示すブロック図である。図１に示すように、このゲームシステムは、ゲーム機１、プレイヤの両手にそれぞれ装着される入力装置３、プレイヤの右足に装着される入力装置５、及びテレビジョンモニタ１００を備える。本実施の形態では、このシステムを利用して、バトルゲームを実行する例を挙げる。
【００１３】
ゲーム機１は、床面に載置される。そして、ゲーム機１は、Ａ／Ｖケーブル１０２により、テレビジョンモニタ１００に接続される。さらに、ゲーム機１には、図示していないが、ＡＣアダプタあるいは電池により電源電圧が供給される。
【００１４】
図２（ａ）は、図１の入力装置３の斜視図である。図２（ａ）を参照して、入力装置３は、化学繊維あるいは布製のベルト１１を含む。ベルト１１の表面には、帯状の再帰反射シート１３が取り付けられる。図示しないが、ベルト１１には、ベルクロ（商標）テープが取り付けられている。プレイヤは、このベルクロ（商標）テープにより、手首にベルト１１を装着する。
【００１５】
ここで、プレイヤの右手に装着される入力装置３を入力装置３Ｒ、プレイヤの左手に装着される入力装置３を入力装置３Ｌと表記することもある。また、入力装置３Ｒの再帰反射シート１３を再帰反射シート１３Ｒ、入力装置３Ｌの再帰反射シート１３を再帰反射シート１３Ｌと表記することもある。
【００１６】
図２（ｂ）は、図１の入力装置５の斜視図である。図２（ｂ）を参照して、入力装置５は、化学繊維あるいは布製のベルト１５を含む。ベルト１５には、化学繊維あるいは布製で内部にクッションを備えた円柱状部材１７が取り付けられる。円柱状部材１７の一方の底面には、再帰反射シート１９が取り付けられる。図示しないが、ベルト１５には、ベルクロ（商標）テープが取り付けられている。プレイヤは、このベルクロ（商標）テープにより、足首にベルト１５を装着する。ただし、この場合、再帰反射シート１９が床面を向くように、かつ、円柱状部材１７が外側のくるぶしの側にくるように、ベルト１５が装着される。
【００１７】
図１に戻って、ゲーム機１は、その前面側に、赤外光のみを透過する赤外線フィルタ９が設けられ、さらに、赤外線フィルタ９を囲むように、赤外光を発生する４つの赤外発光ダイオード７が露出している。
【００１８】
図３は、図１のゲーム機１の電気的構成を示す図である。図３に示すように、ゲーム機１は、赤外線フィルタ９の背面側に配置されるイメージセンサ２６、赤外発光ダイオード７、プロセッサ２０、ＲＯＭ（ｒｅａｄ  ｏｎｌｙ  ｍｅｍｏｒｙ）２２、及びバス２４を含む。
【００１９】
プロセッサ２０は、４つの赤外発光ダイオード７を間欠的に駆動して、赤外線フィルタ９の前方に、間欠的に赤外光を照射する。そして、赤外発光ダイオード７からの赤外光は、その照射範囲に入った手の再帰反射シート１３及び／又は足の再帰反射シート１９により反射される。従って、イメージセンサ２６の撮影範囲内に入った再帰反射シート１３及び／又は１９からの反射赤外光は、イメージセンサ２６に入力される。このようにして、イメージセンサ２６により、その撮影範囲内に入った入力装置３及び／又は５が撮影される。赤外光は間欠的に照射されるところ、赤外光の消灯時においても、イメージセンサ２６による撮影処理は行われている。
【００２０】
イメージセンサ２６が出力する点灯時及び消灯時のそれぞれのアナログ画像信号は、プロセッサ２０に内蔵されたＡ／Ｄコンバータ（図示せず）によってデジタル画像信号に変換される。そして、プロセッサ２０は、点灯時のデジタル画像信号と消灯時のデジタル画像信号との差分を求めて、この差分信号（差分画像）ＤＩを基に、入力装置３及び５の動きを検出し、ゲーム処理に反映する。
【００２１】
プロセッサ２０の内部構成を簡単に説明する。プロセッサ２０は、図示しないが、ＣＰＵ（ｃｅｎｔｒａｌ  ｐｒｏｃｅｓｓｉｎｇ  ｕｎｉｔ）、グラフィックスプロセッサ、サウンドプロセッサおよびＤＭＡコントローラ等の各種機能ブロックを含むとともに、アナログ信号を取り込むときに用いられる上記Ａ／Ｄコンバータや、外部の電子回路や電子部品等から入力信号を受け、かつ出力信号をそれらに与える入出力制御回路を含む。イメージセンサ２６や赤外発光ダイオード７は、入出力制御回路を介してＣＰＵにより制御される。
【００２２】
ＣＰＵは、ＲＯＭ２２に格納されたゲームプログラムを実行し、各種演算（入力装置３及び５の動き検出を含む。）を行う。グラフィックスプロセッサやサウンドプロセッサは、ＣＰＵによる演算結果に従って、ＲＯＭ２２に格納された画像データや音声データを読み込んで、ビデオ信号やオーディオ信号を生成し、Ａ／Ｖケーブル１０２に出力する。ビデオ信号およびオーディオ信号は、Ａ／Ｖケーブル１０２によりテレビジョンモニタ１００に与えられ、応じて、テレビジョンモニタ１００に映像が表示され、そのスピーカ（図示せず）から音声が出力される。さらに、プロセッサ２０には、図示しないが内部メモリが設けられ、この内部メモリは、例えば、ＲＡＭ（ｒａｎｄｏｍ  ａｃｃｅｓｓ  ｍｅｍｏｒｙ）により構成される。内部メモリは、ワーキング領域、カウンタ領域、レジスタ領域、テンポラリデータ領域、及び／又はフラグ領域等として利用される。
【００２３】
次に、本考案の特徴の１つである。手足の判別方法について説明する。
【００２４】
図４は、手足の判別方法の説明図である。図４を参照して、プロセッサ２０が生成した差分画像ＤＩに基づいて、手足の判別を行う。なお、この差分画像ＤＩは、イメージセンサ２６が出力した点灯時画像と消灯時画像との差分画像である。
【００２５】
差分画像ＤＩの左上角を原点Ｏとし、水平右方向をＸ軸の正、垂直下方向をＹ軸の正とする。また、座標値の単位はピクセルとする。差分画像ＤＩは、半分よりやや下の所定位置で２分割され、領域３０（右上斜め斜線部）と領域３２（右下斜め斜線部）とが設定される。
【００２６】
ここで、差分画像ＤＩの、Ｘ軸に沿った辺を第１の辺、第１の辺に向かい合う辺を第２の辺、Ｙ軸に沿った辺を第３の辺、第３の辺に向かい合う辺を第４の辺とする。そうすると、領域３０は、第１の辺から第２の辺に向かって拡がっており、領域３２は、第２の辺から第１の辺に向かって拡がっている。
【００２７】
プレイヤが、ゲーム機１の前に起立して、入力装置３を装着した腕を曲げた状態で、入力装置３が撮影されたときに、再帰反射シート１３の像の位置を第１の位置とし、プレイヤが入力装置３を装着した腕を伸ばした状態で、入力装置３が撮影されたときに、再帰反射シート１３の像の位置を第２の位置とする。そうしたときに、差分画像ＤＩの第１の辺から第２の辺に向かう方向は、第２の位置から第１の位置に向かう方向であり、差分画像ＤＩの第２の辺から第１の辺に向かう方向は、第１の位置から第２の位置に向かう方向である。
【００２８】
プレイヤが自分の前方に腕を伸ばす動作（例えばパンチ）が撮影された場合、連続して得られた差分画像ＤＩ上では、再帰反射シート１３が、Ｙ軸の負方向に大きく動いていく。一方、プレイヤが右手を右から左に水平に腕を振る動作（例えば右チョップ）が撮影された場合、連続して得られた差分画像ＤＩ上では、再帰反射シート１３が、Ｘ軸の負方向に大きく動いていく。また、プレイヤが左手を左から右に水平に腕を振る動作（例えば左チョップ）が撮影された場合、連続して得られた差分画像ＤＩ上では、再帰反射シート１３が、Ｘ軸の正方向に大きく動いていく。
【００２９】
再帰反射シート１３は手に装着されるので、これが撮影されたとき、通常、その像は、領域３０に写りこむはずである。従って、プレイヤが、二本の足で起立して、手を振り動かしてゲームを行っているときは、通常、再帰反射シート１３の像は領域３０に存在することになる。一方、再帰反射シート１９は足に装着されるので、これが撮影されたとき、通常、その像は、領域３２に写りこむはずである。従って、プレイヤが、入力装置５を装着した足を蹴り上げたときは、通常、再帰反射シート１９の像は領域３２に存在することになる。なお、再帰反射シート１９は、床面を向いているので、入力装置５を装着した足を蹴り上げないと、再帰反射シート１９は撮影されない。
【００３０】
再帰反射シート１３の像が領域３２に存在したり、再帰反射シート１９の像が領域３０に存在することは、稀であるため、本実施の形態では、差分画像ＤＩの領域３０に写りこんだ像は、入力装置３の再帰反射シート１３であるとみなし、領域３２に写りこんだ像は、入力装置５の再帰反射シート１９であるとみなす。
【００３１】
本実施の形態では、差分画像ＤＩから、再帰反射シート１３Ｌ、１３Ｒ、及び１９のうちの１つ又は２つを抽出する。つまり、差分画像ＤＩに、これら３つが写っていたとしても、抽出するのは、２つである。従って、再帰反射シート１３Ｌ、１３Ｒ、及び１９の全てが、差分画像ＤＩに写りこんでいた場合、領域３２に写りこんだ像、つまり、再帰反射シート１９を優先して抽出する。従って、この場合、再帰反射シート１３Ｌ及び１３Ｒのうちの一方は、捨てられることになる。この詳細は、後述のフローチャートの説明で明らかになる。
【００３２】
図５は、図３のプロセッサ２０が実行する処理の全体的な流れを示すフローチャートである。図５を参照して、電源スイッチ（図示せず）がオンされると、ステップＳ１にて、プロセッサ２０は、システムの初期設定を実行する。この処理で、各種変数や各種カウンタがクリア（０）される。ステップＳ３にて、プロセッサ２０は、ＲＯＭ２２に格納されたアプリケーションプログラムに従った処理を実行する。このアプリケーションプログラムは、複数のプログラムを含む。ステップＳ５にて、プロセッサ２０は、ビデオ同期信号による割り込みが発生するまで待機する。つまり、プロセッサ２０は、ビデオ同期信号による割り込みが発生していない場合は、同じステップＳ５に戻り、ビデオ同期信号による割り込みが発生した場合は、ステップＳ７に進む。例えば、ビデオ同期信号による割り込みは、１／６０秒ごとに発生する。この割り込みに同期して、ステップＳ７及びステップＳ９にて、プロセッサ２０は、テレビジョンモニタ１００に表示する画像を更新すると共に、音声の再生を行う。そして、プロセッサ２０は、ステップＳ３に戻る。
【００３３】
図６は、図５のステップＳ３のアプリケーションプログラムが実行する処理の１つである撮影処理を示すフローチャートである。図６を参照して、ステップＳ２１において、プロセッサ２０は、赤外発光ダイオード７を点灯する。ステップＳ２３で、プロセッサ２０は、イメージセンサ２６から、赤外光点灯時の画像データを取得して、内部メモリに格納する。
【００３４】
ここで、本実施の形態では、イメージセンサ２６の例として、３２ピクセル×３２ピクセルのＣＭＯＳイメージセンサを使用する。従って、イメージセンサ２６からは、画像データとして、３２ピクセル×３２ピクセルのピクセルデータが出力される。このピクセルデータは、Ａ／Ｄコンバータにより、デジタルデータに変換されて、内部メモリ上の二次元配列Ｐ１［Ｘ］［Ｙ］の要素として格納される。
【００３５】
ステップＳ２５で、プロセッサ２０は、赤外発光ダイオード７を消灯する。ステップＳ２７にて、プロセッサ２０は、イメージセンサ２６から、赤外光消灯時の画像データ（３２ピクセル×３２ピクセルのピクセルデータ）を取得して、内部メモリに格納する。この場合、このピクセルデータは、内部メモリ上の二次元配列Ｐ２［Ｘ］［Ｙ］の要素として格納される。
【００３６】
以上のようにして、ストロボ撮影が行われる。イメージセンサ２６が出力する画像を構成する各ピクセルの位置を表す二次元座標系では、水平方向をＸ軸、垂直方向をＹ軸とし、１ピクセルを座標値の１単位とする。本実施の形態では、３２ピクセル×３２ピクセルのイメージセンサ２６を用いているため、Ｘ＝０〜３１、Ｙ＝０〜３１である。この点、上記のように、差分画像ＤＩについても同じである。また、ピクセルデータは輝度値である。
【００３７】
プロセッサ２０は、撮影ルーチンによる撮影結果から、差分画像ＤＩを算出して、差分画像ＤＩから２つの注目点（第１注目点及び第２注目点）を抽出する。ここで、差分画像ＤＩに再帰反射シートが写りこんでいるときは、その部分の輝度値は、他の部分より大きくなるので、経験的に定めた所定の閾値Ｔｈを超える輝度値を持つピクセルの領域を、再帰反射シートの像とする。そして、その像を形成するピクセルのうち、最大輝度値を持つピクセルを再帰反射シートの注目点とする。この点をフローチャートを用いて詳細に説明する。
【００３８】
図７は、図５のステップＳ３のアプリケーションプログラムが実行する処理の１つである注目点抽出処理を示すフローチャートである。図７を参照して、ステップＳ４１にて、プロセッサ２０は、イメージセンサ２６からの、赤外光点灯時のピクセルデータと、赤外光消灯時のピクセルデータと、の差分を算出して、配列Ｄｉｆ［Ｘ］[Ｙ]の要素として格納する。ここで、実施の形態では、３２ピクセル×３２ピクセルのイメージセンサ２６を用いているため、Ｘ＝０〜３１、Ｙ＝０〜３１、である。ステップＳ４３にて、プロセッサ２０は、変数ｎに「０」を代入する。
【００３９】
ステップＳ４５にて、プロセッサ２０は、配列の要素Ｄｉｆ［ｎ］[０]〜Ｄｉｆ［ｎ］[３１]をスキャンして、最大値を検出する。ステップＳ４７にて、プロセッサ２０は、検出した最大値が、所定の閾値Ｔｈより大きい場合は、ステップＳ４９に進み、所定の閾値Ｔｈ以下の場合は、ステップＳ５１に進む。ステップＳ４９では、プロセッサ２０は、配列の要素ｍａｘ［ｎ］として、所定の閾値Ｔｈを超えた最大値を代入する。一方、ステップＳ５１にて、プロセッサ２０は、配列の要素ｍａｘ［ｎ］として、所定値（例えば、「０」）を代入する。
【００４０】
ステップＳ５３では、プロセッサ２０は、変数ｎを１つインクリメントする。ステップＳ５３にて、プロセッサ２０は、変数ｎが「３２」の場合、ステップＳ５７に進み、そうでない場合は、ステップＳ４５に戻る。このようにして、３２ピクセル×３２ピクセルの要素Ｄｉｆ［Ｘ］[Ｙ]に対して、列単位（３２ピクセル）のスキャンを３２回繰り返して、列毎に最大値を求め、配列の要素ｍａｘ[０]〜ｍａｘ[３１]に格納する。そして、ステップＳ５７にて、プロセッサ２０は、２点抽出処理を実行する。
【００４１】
図８は、図７のステップＳ５７の２点抽出処理を示すフローチャートである。図８を参照して、ステップＳ７１にて、プロセッサ２０は、配列の要素ｍａｘ[０]〜ｍａｘ[３１]をスキャンして、最大値を検出する。ステップＳ７３にて、プロセッサ２０は、検出した最大値を持つピクセルの座標を第１注目点の座標として保存する。ステップＳ７５にて、プロセッサ２０は、配列の要素ｍａｘ[０]〜ｍａｘ[３１]のうち、ステップＳ７３で検出した最大値を中心に所定範囲をマスクする。
【００４２】
ステップＳ７７にて、プロセッサ２０は、配列の要素ｍａｘ[０]〜ｍａｘ[３１]のうち、マスクされた所定範囲を除いてスキャンを実行し、最大値を検出する。ステップＳ７９にて、プロセッサ２０は、ステップＳ７７で検出した最大値を持つピクセルの座標を第２注目点の座標として保存する。
【００４３】
ステップＳ８１にて、プロセッサ２０は、Ｘ座標が小さい方を、第１注目点の座標とし、Ｘ座標が大きい方を、第２注目点の座標として、再設定する。つまり、差分画像ＤＩ上で、左の注目点を第１注目点とし、右の注目点を第２注目点とする。ステップＳ８３にて、プロセッサ２０は、第１注目点及び第２注目点の座標をスクリーン座標系に変換する。スクリーン座標系は、テレビジョンモニタ１００への実際の表示に用いられる二次元座標系である。スクリーン座標系では、画面の中心を原点とし、水平右方向をｘ軸の正、垂直下方向をｙ軸の正とする。後述のバトルゲームでは、スクリーン座標系の第１及び第２注目点の座標が処理に使用される。
【００４４】
図９は、図３のプロセッサ２０が実行するゲーム処理の状態遷移図である。図９を参照して、ステップＳ１００では、プロセッサ２０は、プレイヤからの入力に基づいて、敵キャラクタ及びプレイヤキャラクタの選択処理を行う。その後、ステップＳ１０２にて、プロセッサ２０は、敵キャラクタが出現するアニメーションをテレビジョンモニタ１００に表示する。その後、ステップＳ１０４にて、プロセッサ２０は、人物がプレイヤキャラクタへ変身するアニメーションをテレビジョンモニタ１００に表示する。
【００４５】
その後、ステップＳ１０６にて、プロセッサ２０は、バトルゲームのためのインタラクティブな映像をテレビジョンモニタ１００に表示する。プレイヤは、テレビジョンモニタ１００を見ながら、入力装置３及び５が装着された手足を動かして、表示された敵キャラクタを攻撃したり、敵キャラクタの攻撃を回避することができる。つまり、プロセッサ２０は、入力装置３及び５の動きを検出して、検出結果に応じて、敵キャラクタに対する様々な攻撃アニメーションを表示したり、敵の攻撃を回避するアニメーション表示する。
【００４６】
ステップＳ１０８にて、プロセッサ２０は、当該バトルゲームをクリアしたか否かを判断して、クリアの場合ステップＳ１１０に進み、負けの場合ステップＳ１１４に進む。ステップＳ１０８でクリアが判断された後、ステップＳ１１０では、プロセッサ２０は、プレイヤキャラクタが敵キャラクタに止めを刺すアニメーションをテレビジョンモニタ１００に表示する。その後、ステップＳ１１２にて、プロセッサ２０は、プレイヤキャラクタが帰還するアニメーションをテレビジョンモニタ１００に表示して、その終了後、ステップＳ１００に戻る。一方、ステップＳ１０８で負けが判断された後、ステップＳ１１４にて、プロセッサ２０は、プレイヤがゲームを続ける操作を行ったか否かを判断し、ＹＥＳの場合ステップＳ１００に戻り、ＮＯの場合バトルゲームを終了する。
【００４７】
図１０は、図９のステップＳ１１０のバトルゲームで実行されるキック判定処理の流れを示すフローチャートである。図１０を参照して、ステップＳ１２０にて、プロセッサ２０は、第１注目点及び第２注目点のいずれかが、図４の領域（キックエリア）３２に存在するか否かを判断し、存在しない場合、この処理を終了し、存在する場合、プレイヤがキックを行ったとみなして、ステップＳ１２２に進む。
【００４８】
ステップＳ１２２にて、プロセッサ２０は、プレイヤのステートをキックに設定する。ステップＳ１２４にて、プロセッサ２０は、敵キャラクタがプレイヤキャラクタにキックされるアニメーションをテレビジョンモニタ１００に表示する。ステップＳ１２６にて、プロセッサ２０は、第１注目点及び第２注目点の過去及び現在のｘｙ座標をクリアして、この処理を終了する。このように、第１注目点及び第２注目点のいずれかが、図４の領域（キックエリア）３２に存在する場合、領域３０に存在する他方の注目点は無視される。つまり、パンチ及びチョップより、キックが優先される。従って、このキック判定は、後述のパンチ・チョップ・つかみ判定処理の前に実行される。また、このキック判定は、プレイヤのステートが、必殺技のときや、つかみのときは実行されない。さらに、このキック判定により、キックされたとみなしたときは、後述のパンチ・チョップ・つかみ判定処理は実行されない。
【００４９】
図１１及び図１２は、図９のステップＳ１０６のバトルゲームで実行されるパンチ・チョップ・つかみ判定処理の流れを示すフローチャートである。図１１を参照して、ステップＳ１４０にて、プロセッサ２０は、変数ｉに「０」を代入する。ステップＳ１４２にて、プロセッサ２０は、所定ビデオフレーム数分だけ過去のｙ座標データ及び現在のｙ座標データに基づいて、第（ｉ＋１）注目点のｙ方向の移動距離を算出して、配列の要素ｙｄ［ｉ］に代入する。ステップＳ１４４にて、プロセッサ２０は、変数ｉを１つインクリメントする。ステップＳ１４６にて、プロセッサ２０は、変数ｉが「２」か否かを判断して、ＹＥＳの場合ステップＳ１４８に進み、ＮＯの場合ステップＳ１４２に戻る。このようにして、第１注目点のｙ方向の移動距離ｙｄ［０］及び第２注目点のｙ方向の移動距離ｙｄ［１］が算出される。なお、ビデオフレームの更新の度に、第１及び第２注目点の座標が求められる（図５、図７、及び図８参照）。
【００５０】
ステップＳ１４８にて、プロセッサ２０は、移動距離ｙｄ［０］及びｙｄ［１］の双方について、それらの絶対値が閾値ｙＴ１より大、かつ、それらの符合が負、か否かを判断し、これらの条件が満足されている場合、プレイヤが両腕を同時に前方に伸ばしたとみなしてステップＳ１５４に進み、それ以外は、ステップＳ１５０に進む。ステップＳ１５０にて、プロセッサ２０は、移動距離ｙｄ［０］及びｙｄ［１］の一方について、その絶対値が閾値ｙＴ１より大、かつ、その符合が負、か否かを判断し、これらの条件が満足されている場合、プレイヤが一方の腕を前方に伸ばしたとみなしてステップＳ１５２に進み、それ以外は、プレイヤがいずれの腕も前方に伸ばしていないとみなして図１２のステップＳ１６４に進む。
【００５１】
ステップＳ１５２にて、プロセッサ２０は、移動距離ｙｄ［０］及びｙｄ［１］の他方について、つまり、ステップＳ１５０の条件を満足していない方の移動距離について、その絶対値が閾値ｙＴ２（＜ｙＴ１）より大、かつ、その符合が負、か否かを判断し、これらの条件が満足されている場合、プレイヤが他方の腕を前方に伸ばしたとみなしてステップＳ１５４に進み、それ以外は、プレイヤが一方の腕のみを前方に伸ばした（例えばパンチ動作を行った）とみなしてステップＳ１５８に進む。
【００５２】
ステップＳ１５０及びＳ１５２の処理は、プレイヤが同時に両腕を前方に伸ばした場合に限らず、一方の腕が他方の腕より多少遅れて前方に伸ばされた場合でも、プレイヤが同時に両腕を前方に伸ばしたと判断するために設けられる。
【００５３】
従って、ステップＳ１４８又はステップＳ１５２でＹＥＳが判断された後、ステップＳ１５４にて、プロセッサ２０は、プレイヤのステートをつかみに設定する。そして、ステップＳ１５６にて、プロセッサ２０は、プレイヤキャラクタが敵キャラクタをつかむアニメーションをテレビジョンモニタ１００に表示する。
【００５４】
一方、ステップＳ１５２でＮＯが判断された後、ステップＳ１５８にて、プロセッサ２０は、プレイヤキャラクタが敵キャラクタにパンチを打つアニメーションをテレビジョンモニタ１００に表示する。もちろん、プロセッサ２０は、第１注目点の移動距離ｙｄ［０］がステップＳ１５０の条件を満足している場合は左パンチを表示し、第２注目点の移動距離ｙｄ［１］がステップＳ１５０の条件を満足している場合は右パンチを表示する。ステップＳ１６０にて、プロセッサ２０は、プレイヤのステートをパンチに設定する。
【００５５】
ステップＳ１５６又はＳ１６０の後、ステップＳ１６２にて、プロセッサ２０は、第１注目点及び第２注目点の過去及び現在のｘｙ座標をクリアして、この処理を終了する。
【００５６】
図１２を参照して、ステップＳ１６４にて、プロセッサ２０は、変数ｊに「０」を代入する。ステップＳ１６６にて、プロセッサ２０は、所定ビデオフレーム数分だけ過去のｘ座標データ及び現在のｘ座標データに基づいて、第（ｊ＋１）注目点のｘ方向の移動距離を算出して、配列の要素ｘｄ［ｉ］に代入する。ステップＳ１６８にて、プロセッサ２０は、変数ｊを１つインクリメントする。ステップＳ１７０にて、プロセッサ２０は、変数ｊが「２」か否かを判断して、ＹＥＳの場合ステップＳ１７２に進み、ＮＯの場合ステップＳ１６６に戻る。このようにして、第１注目点のｘ方向の移動距離ｘｄ［０］及び第２注目点のｘ方向の移動距離ｘｄ［１］が算出される。なお、ビデオフレームの更新の度に、第１及び第２注目点の座標が求められる（図５、図７、及び図８参照）。
【００５７】
ステップＳ１７２にて、プロセッサ２０は、移動距離ｘｄ［０］について、その絶対値が閾値ｘＴより大、かつ、その符合が正、か否かを判断し、これらの条件が満足されている場合、プレイヤが左腕を水平に左から右に動かした（例えば左チョップ動作を行った）とみなしてステップＳ１７８に進み、それ以外は、ステップＳ１７４に進む。ステップＳ１７８では、プロセッサ２０は、プレイヤキャラクタが敵キャラクタに対して左チョップを与えるアニメーションをテレビジョンモニタ１００に表示する。一方、ステップＳ１７４では、プロセッサ２０は、移動距離ｘｄ［１］について、その絶対値が閾値ｘＴより大、かつ、その符合が負、か否かを判断し、これらの条件が満足されている場合、プレイヤが右腕を水平に右から左に動かした（例えば右チョップ動作を行った）とみなしてステップＳ１７６に進み、それ以外は、この処理を終了する。ステップＳ１７６では、プロセッサ２０は、プレイヤキャラクタが敵キャラクタに対して右チョップを与えるアニメーションをテレビジョンモニタ１００に表示する。
【００５８】
ステップＳ１７８又はステップＳ１７６の後、ステップＳ１８０では、プロセッサ２０は、プレイヤのステートをチョップに設定する。そして、ステップＳ１８２にて、プロセッサ２０は、第１注目点及び第２注目点の過去及び現在のｘｙ座標をクリアして、この処理を終了する。
【００５９】
なお、このパンチ・チョップ・つかみ判定処理は、プレイヤのステートが、キックのときや、必殺技のときや、つかみのときは実行されない。
【００６０】
図１３は、図９のステップＳ１０６のバトルゲームで実行される当たり判定処理の流れを示すフローチャートである。図１３を参照して、ステップＳ２７０にて、プロセッサ２０は、プレイヤのステートをチェックして、ステートがキック又はパンチの場合はステップＳ２７２に進み、ステートがチョップの場合はステップＳ２８０に進み、ステートがつかみの場合ステップＳ２８８に進み、ステートが必殺技の場合ステップＳ２９０に進み、ステートがノーマルの場合この処理を終了する。
【００６１】
ステートがキック又はパンチの場合、ステップＳ２７２にて、プロセッサ２０は、キック又はパンチに対応する注目点（第１注目点及び第２注目点のどちらか）のｘ座標が、敵キャラクタが位置するｘ座標の範囲内か否かを判断し、範囲内の場合は攻撃（キック又はパンチ）がヒットしたとみなしてステップＳ２７４に進み、攻撃がヒットしたときのエフェクトアニメーションを表示する。一方、プロセッサ２０は、範囲外の場合は攻撃が外れたとみなしてステップＳ２７６に進み、攻撃が外れたときのエフェクトアニメーションを表示する。ステップＳ２７４又はＳ２７６の後、ステップＳ２７８では、プロセッサ２０は、プレイヤのステートをノーマルに設定して、この処理を終了する。
【００６２】
ステートがチョップの場合、ステップＳ２８０にて、プロセッサ２０は、チョップに対応する注目点（第１注目点及び第２注目点のどちらか）のｙ座標が、敵キャラクタが位置するｙ座標の範囲内か否かを判断し、範囲内の場合は攻撃（チョップ）がヒットしたとみなしてステップＳ２８２に進み、攻撃がヒットしたときのエフェクトアニメーションを表示する。一方、プロセッサ２０は、範囲外の場合は攻撃が外れたとみなしてステップＳ２８４に進み、攻撃が外れたときのエフェクトアニメーションを表示する。ステップＳ２８２又はＳ２８４の後、ステップＳ２８６では、プロセッサ２０は、プレイヤのステートをノーマルに設定して、この処理を終了する。
【００６３】
ステートがつかみの場合、ステップＳ２８８にて、プロセッサ２０は、投げ判定処理を実行した後、この処理を終了する。ステートがつかみに設定されると、プロセッサ２０は、敵キャラクタがプレイヤキャラクタにつかまれるアニメーション（つかみ画面）を表示する（ステップＳ１５４）。
【００６４】
図１４は、つかみ画面の例示図である。図１４を参照して、このつかみ画面は、敵キャラクタ５０、プレイヤキャラクタの左手５２Ｌ、プレイヤキャラクタの右手５２Ｒ、及び矢印５４を含む。このように、ステートがつかみに設定されると、敵キャラクタ５０がプレイヤキャラクタ５２Ｌ及び５２Ｒにつかまれるアニメーションが表示される。このとき、プレイヤが、入力装置３を装着した両腕を、矢印５４が示す方向に動かすと、敵キャラクタ５０が投げ飛ばされるアニメーションが表示される。この場合の判定が、次に説明する投げ判定である。
【００６５】
なお、バトルゲームでは、プレイヤキャラクタの全体像は表示されず、腕や足の一部のみが必要に応じて表示されるだけである。つまり、プロセッサ２０は、プレイヤの視点で、テレビジョンモニタ１００に映像を表示する。
【００６６】
図１５は、図１３のステップＳ２８８の投げ判定処理の流れを示すフローチャートである。図１５を参照して、ステップＳ２００にて、プロセッサ２０は、変数ｋに「０」を代入する。ステップＳ２０２にて、プロセッサ２０は、所定ビデオフレーム数分だけ過去のｘ座標データ及び現在のｘ座標データに基づいて、第（ｋ＋１）注目点のｘ方向の移動距離を算出して、配列の要素Ｄ［ｋ］に代入する。ステップＳ２０４にて、プロセッサ２０は、変数ｋを１つインクリメントする。ステップＳ２０６にて、プロセッサ２０は、変数ｋが「２」か否かを判断して、ＹＥＳの場合ステップＳ２０８に進み、ＮＯの場合ステップＳ２０２に戻る。このようにして、第１注目点のｘ方向の移動距離Ｄ［０］及び第２注目点のｘ方向の移動距離Ｄ［１］が算出される。なお、ビデオフレームの更新の度に、第１及び第２注目点の座標が求められる（図５、図７、及び図８参照）。
【００６７】
ステップＳ２０８にて、プロセッサ２０は、移動距離Ｄ［０］及びＤ［１］の双方について、それらの絶対値が閾値ＤＴｈ１より大、かつ、それらの向きが矢印５４（図１４参照）の方向と一致するか否かを判断し、これらの条件が満足されている場合、プレイヤが両腕を同時に矢印５４の方向に動かしたとみなしてステップＳ２１４に進み、それ以外は、ステップＳ２１０に進む。ステップＳ２１０にて、プロセッサ２０は、移動距離Ｄ［０］及びＤ［１］の一方について、その絶対値が閾値ＤＴｈ１より大、かつ、その向きが矢印５４（図１４参照）の方向と一致するか否かを判断し、これらの条件が満足されている場合、プレイヤが一方の腕を矢印５４の方向に動かしたとみなしてステップＳ２１２に進み、それ以外は、プレイヤがいずれの腕も矢印５４の方向に動かしていないとみなしてステップＳ２１８に進む。
【００６８】
ステップＳ２１２にて、プロセッサ２０は、移動距離Ｄ［０］及びＤ［１］の他方について、つまり、ステップＳ２１０の条件を満足していない方の移動距離について、その絶対値が閾値ＤＴｈ２（＜ＤＴｈ１）より大、かつ、その向きが矢印５４（図１４参照）の方向と一致するか否かを判断し、これらの条件が満足されている場合、プレイヤが他方の腕を矢印５４の方向に動かしたとみなしてステップＳ２１４に進み、それ以外は、プレイヤが一方の腕のみを矢印５４の方向に動かしたとみなしてステップＳ２１６に進む。
【００６９】
ステップＳ２１６では、プロセッサ２０は、第１注目点及び第２注目点の過去及び現在のｘｙ座標をクリアして、ステップＳ２１８に進む。ステップＳ２１８にて、プロセッサ２０は、ステートがつかみに設定されてから所定時間が経過したか否かを判断し、経過していない場合はステップＳ２００に戻り、経過した場合はステップＳ２２０に進む。そして、ステップＳ２２０にて、プロセッサ２０は、プレイヤキャラクタが敵キャラクタをつかんでいるアニメーションを終了する。つまり、この所定時間内に、ステップＳ２０８又はＳ２１０及びＳ２１２を満足する動作をプレイヤが行わない場合には、つかみ画面は終了し、通常の戦闘画面に戻る。
【００７０】
一方、ステップＳ２０８又はステップＳ２１２でＹＥＳが判断された後、ステップＳ２１４にて、プロセッサ２０は、プレイヤキャラクタが敵キャラクタを投げ飛ばすアニメーションを表示する。ここで、ステップＳ２１２の処理は、プレイヤが同時に両腕を矢印５４の方向に動かした場合に限らず、一方の腕が他方の腕より多少遅れて矢印５４の方向に動かされた場合でも、プレイヤが同時に両腕を矢印５４の方向に動かしたと判断するために設けられる。
【００７１】
ステップＳ２１４又はＳ２２０の後、ステップＳ２２２にて、プロセッサ２０は、第１注目点及び第２注目点の過去及び現在のｘｙ座標をクリアする。そして、ステップＳ２２４にて、プロセッサ２０は、プレイヤのステートをノーマルに設定して、この処理を終了する。
【００７２】
図１３に戻って、ステートが必殺技の場合、ステップＳ２９０にて、プロセッサ２０は、必殺技判定処理を実行した後、この処理を終了する。ステートは、例えば、敵キャラクタの体力値が０であり、かつ、プレイヤキャラクタの必殺パラメータが最大値の場合に、必殺技に設定される。体力値は相手の攻撃を受けると小さくなり、必殺パラメータは、相手の攻撃を受けたり、相手に攻撃を加えたりすることで大きくなる。必殺パラメータは、ステートが必殺技になると０になる。ステートが必殺技に設定されると、プロセッサ２０は、必殺技が発動可能なアニメーション（必殺技画面）を表示する。
【００７３】
図１６は、必殺技画面の例示図である。図１６を参照して、この必殺技画面は、敵キャラクタ５０、プレイヤキャラクタの左手６２Ｌ、プレイヤキャラクタの右手６２Ｒ、左固定アーム６０Ｌ、及び右固定アーム６０Ｒを含む。プロセッサ２０は、左手６２Ｌを第１注目点の動きに連動させるため、プレイヤは、入力装置３Ｌを装着した左手を動かすことで、左手６２Ｌを操作できる。また、プロセッサ２０は、右手６２Ｒを第２注目点の動きに連動させるため、プレイヤは、入力装置３Ｒを装着した右手を動かすことで、右手６２Ｒを操作できる。
【００７４】
プレイヤは、両手を動かして、左手６２Ｌを左固定アーム６０Ｌに重ね、かつ、右手６２Ｒを右固定アーム６０Ｒに重ねることを試みる。左手６２Ｌが左固定アーム６０Ｌに重ねられ、かつ、右手６２Ｒが右固定アーム６０Ｒに重ねられたとき、プロセッサ２０は、必殺技のアニメーションをテレビジョンモニタ１００に表示する。この場合の判定が、次に説明する必殺技判定である。
【００７５】
図１７は、図１３のステップＳ２９０の必殺技判定処理の流れを示すフローチャートである。図１７を参照して、ステップＳ２４０にて、プロセッサ２０は、第１注目点が左固定アーム６０Ｌを含む所定範囲内に存在するか否かを判断し、存在する場合は、左手６２Ｌが左固定アーム６０Ｌに重ねられたとみなしてステップＳ２４２に進み、それ以外はステップＳ２４６に進む。
【００７６】
ステップＳ２４２では、プロセッサ２０は、第２注目点が右固定アーム６０Ｒを含む所定範囲内に存在するか否かを判断し、存在する場合は、右手６２Ｒが右固定アーム６０Ｒに重ねられたとみなしてステップＳ２４４に進み、それ以外はステップＳ２４６に進む。
【００７７】
ステップＳ２４４では、プロセッサ２０は、左手６２Ｌが左固定アーム６０Ｌに重ねられ、かつ、右手６２Ｒが右固定アーム６０Ｒに重ねられたとみなして、必殺技のアニメーションを表示する。
【００７８】
一方、ステップＳ２４０又はステップＳ２４２でＮＯが判断された後、ステップＳ２４６では、プロセッサ２０は、ステートが必殺技に設定されてから所定時間が経過したか否かを判断し、経過していない場合はステップＳ２４０に戻り、経過した場合はステップＳ２４８に進む。つまり、この所定時間内に、ステップＳ２４０及びＳ２４２を満足する動作をプレイヤが行わない場合には、必殺技画面は終了し、通常の戦闘画面に戻る。
【００７９】
ステップＳ２４４又はＳ２４６の後、ステップＳ２４８にて、プロセッサ２０は、ステートをノーマルに設定する。そして、ステップＳ２５０にて、プロセッサは、第１注目点及び第２注目点の過去及び現在のｘｙ座標をクリアして、この処理を終了する。
【００８０】
さて、以上のように、本実施の形態では、差分画像ＤＩを領域３０及び領域３２に分割して、領域３０に含まれる像を入力装置３の再帰反射シート１３の像とみなし、領域３２に含まれる像を入力装置５の再帰反射シート１９の像とみなしている。このように、差分画像ＤＩを領域３０及び領域３２に分割することにより、手に装着された再帰反射シート１３であるのか、足に装着された再帰反射シート１９であるのか、を簡易に区別できる。
【００８１】
また、本実施の形態では、ステートがつかみに設定されているときに、プレイヤが所定の動作をすることにより、画面上の敵キャラクタが投げ飛ばされるアニメーションが表示される。従って、プレイヤは、あたかも実際に敵を投げ飛ばしたかのような体感を得ることができる。
【００８２】
さらに、本実施の形態では、ステートが必殺技に設定されているときに、プレイヤが両手を動かして、プレイヤキャラクタの左手６２Ｌ及び右手６２Ｒを操作して、これらを左固定アーム６０Ｌ及び右固定アーム６０Ｒに重ねることにより、画面上の敵キャラクタに対して必殺技のアニメーションが表示される。従って、プレイヤは、あたかも実際に必殺技を敵に繰り出したかのような体感を得ることができる。
【００８３】
なお、本考案は、上記の実施の形態に限られるものではなく、その要旨を逸脱しない範囲で種々の態様において実施することが可能であり、例えば、以下のような変形も可能である。
【００８４】
（１）再帰反射シートを取り付けた物を入力装置として、これをプレイヤが把持するような構成とすることもできる。
【図面の簡単な説明】
【００８５】
【図１】図１は、本考案の実施の形態によるゲームシステムの全体構成を示すブロック図である。
【図２】図２（ａ）は、図１の入力装置３の斜視図である。図２（ｂ）は、図１の入力装置５の斜視図である。
【図３】図３は、図１のゲーム機１の電気的構成を示す図である。
【図４】図４は、手足の判別方法の説明図である。
【図５】図５は、図３のプロセッサ２０が実行する処理の全体的な流れを示すフローチャートである。
【図６】図６は、図５のステップＳ３のアプリケーションプログラムが実行する処理の１つである撮影処理を示すフローチャートである。
【図７】図７は、図５のステップＳ３のアプリケーションプログラムが実行する処理の１つである注目点抽出処理を示すフローチャートである。
【図８】図８は、図７のステップＳ５７の２点抽出処理を示すフローチャートである。
【図９】図９は、図３のプロセッサ２０が実行するゲーム処理の状態遷移図である。
【図１０】図１０は、図９のステップＳ１０６のバトルゲームで実行されるキック判定処理の流れを示すフローチャートである。
【図１１】図１１は、図９のステップＳ１０６のバトルゲームで実行されるパンチ・チョップ・つかみ判定処理の前半部分の流れを示すフローチャートである。
【図１２】図１２は、図９のステップＳ１０６のバトルゲームで実行されるパンチ・チョップ・つかみ判定処理の後半部分の流れを示すフローチャートである。
【図１３】図１３は、図９のステップＳ１０６のバトルゲームで実行される当たり判定処理の流れを示すフローチャートである。
【図１４】図１４は、投げ画面の例示図である。
【図１５】図１５は、図１３のステップＳ２８８の投げ判定処理の流れを示すフローチャートである。
【図１６】図１６は、必殺技画面の例示図である。
【図１７】図１７は、図１３のステップＳ２９０の必殺技判定処理の流れを示すフローチャートである。
【符号の説明】
【００８６】
１…ゲーム機、３，５…入力装置、７…赤外発光ダイオード、１３，１９…再帰反射シート、２０…プロセッサ、２２…ＲＯＭ、２４…バス、２６…イメージセンサ、３０，３２…領域、ＤＩ…差分画像、１００…テレビジョンモニタ。
【図１】
0003165368.tif 000003
【図２】
0003165368.tif 000004
【図３】
0003165368.tif 000005
【図４】
0003165368.tif 000006
【図５】
0003165368.tif 000007
【図６】
0003165368.tif 000008
【図７】
0003165368.tif 000009
【図８】
0003165368.tif 000010
【図９】
0003165368.tif 000011
【図１０】
0003165368.tif 000012
【図１１】
0003165368.tif 000013
【図１２】
0003165368.tif 000014
【図１３】
0003165368.tif 000015
【図１４】
0003165368.tif 000016
【図１５】
0003165368.tif 000017
【図１６】
0003165368.tif 000018
【図１７】
0003165368.tif 000019