(57)【要約】  【課題】  対象物への反射部材の装着や取付けを行うことなく、撮影により、対象物を検出できる物体検出装置を提供することである。  【解決手段】  スクリーン１５に取付けられ、受けた光を再帰反射する再帰反射シート１７−１〜１７−３，１９−１，１９−２と、これら再帰反射シートを撮像する撮像ユニット７と、撮像により得られた差分画像を解析するＭＣＵ３３と、を備える。ＭＣＵ３３は、差分画像から、プレイヤ２５の足により再帰反射シートが遮蔽された部分に対応する遮蔽領域を検出する。遮蔽領域の検出は、プレイヤ２５の足を検出することに相当する。足が再帰反射シート上に位置する場合、その部分は差分画像に現れず、遮蔽領域となって現れるからである。足への再帰反射シートの装着や取付けを行うことなく、撮影により、足を検出できる。【選択図】  図１
2010169668.tif 000002
【特許請求の範囲】
【請求項１】
実空間中の対象物を検出する物体検出装置であって、
静止物体に取付けられ、受けた光を反射する反射部材と、
前記反射部材を撮像する撮像手段と、
撮像により得られた画像を解析する解析手段と、を備え、
前記解析手段は、前記画像から、前記対象物により前記反射部材が遮蔽された部分に対応する遮蔽領域を検出する検出手段を含む、物体検出装置。
【請求項２】
前記反射部材は、帯状である、請求項１記載の物体検出装置。
【請求項３】
複数の前記反射部材が、前記静止物体に取付けられ、
前記反射部材の各々は、帯状であり、
前記複数の反射部材は、前記静止物体上に互いに平行に配置される、請求項１記載の物体検出装置。
【請求項４】
前記反射部材の厚さ方向の幅は、前記撮像手段からの距離が大きくなるほど太くなるように設定される、請求項３記載の物体検出装置。
【請求項５】
前記反射部材間の距離は、前記撮像手段からの距離が大きくなるほど大きくなるように設定される、請求項３又は４記載の物体検出装置。
【請求項６】
複数の前記反射部材が、前記静止物体に取付けられる、請求項１記載の物体検出装置。
【請求項７】
前記複数の反射部材のうち、少なくとも所定数の反射部材は、二次元状に配置される、請求項６記載の物体検出装置。
【請求項８】
前記複数の反射部材のうち、少なくとも所定数の反射部材は、一次元状に配置される、請求項６記載の物体検出装置。
【請求項９】
前記複数の反射部材は、ユーザがコンピュータに所定コマンドを入力するための反射部材を含む、請求項６から８のいずれかに記載の物体検出装置。
【請求項１０】
前記静止物体は、水平面を含み、
前記反射部材は、前記水平面に取付けられる、請求項１から９のいずれかに記載の物体検出装置。
【請求項１１】
前記静止物体は、床面に配置又は床面である、請求項１０記載の物体検出装置。
【請求項１２】
光を発光して、前記反射部材に向けて前記光を照射する照射手段をさらに備える請求項１から１１のいずれかに記載の物体検出装置。
【請求項１３】
前記反射部材は、受けた光を再帰反射する、請求項１２記載の物体検出装置。
【請求項１４】
前記照射手段は、間欠的に前記光を発光して、前記反射部材に向けて前記光を照射し、
前記検出手段は、前記撮像手段によって、前記光の発光時の撮像により得られた画像と前記光の消灯時の撮像により得られた画像との差分画像から、前記遮蔽領域を検出する、請求項１３記載の物体検出装置。
【請求項１５】
前記照射手段は、赤外光を発光し、
前記撮像手段は、赤外光のみを透過する赤外線フィルタを介して、前記反射部材を撮像する、請求項１２から１４のいずれかに記載の物体検出装置。
【請求項１６】
少なくとも前記反射部材を覆う透明又は半透明の部材をさらに備える請求項１から１５のいずれかに記載の物体検出装置。
【請求項１７】
実空間中の対象物を検出する物体検出手段と、
前記物体検出手段による検出結果に従って情報処理を実行する情報処理手段と、を備え、
前記物体検出手段は、
静止物体に取付けられ、受けた光を反射する反射部材と、
前記反射部材を撮像する撮像手段と、
撮像により得られた画像を解析する解析手段と、を含み、
前記解析手段は、前記画像から、前記対象物により前記反射部材が遮蔽された部分に対応する遮蔽領域を検出する検出手段を含み、
前記情報処理手段は、前記検出手段による検出結果に従って、映像を生成する映像生成手段を含む、インタラクティブシステム。
【請求項１８】
前記映像生成手段は、複数の画面に表示するための複数の前記映像を生成する、請求項１７記載のインタラクティブシステム。
【請求項１９】
前記映像生成手段は、前記複数の画面に映し出される前記複数の映像同士を連動させる、請求項１８記載のインタラクティブシステム。
【請求項２０】
前記映像生成手段は、
前記複数の映像のうちの第１映像を水平面に映し出す手段と、
前記複数の映像のうちの第２映像を垂直面に映し出す手段と、を含む請求項１８又は１９記載のインタラクティブシステム。
【請求項２１】
前記静止物体は、前記水平面を含み、
前記反射部材は、前記水平面に取付けられる、請求項２０記載のインタラクティブシステム。
【請求項２２】
前記静止物体は、床面に配置又は床面である、請求項２１記載のインタラクティブシステム。
【請求項２３】
静止物体に取付けられ、受けた光を反射する反射部材を利用して、実空間中の対象物を検出する物体検出方法であって、
前記反射部材を撮像するステップと、
撮像により得られた画像を解析するステップと、を含み、
解析する前記ステップは、前記画像から、前記対象物により前記反射部材が遮蔽された部分に対応する遮蔽領域を検出するステップを含む、物体検出方法。
【請求項２４】
静止物体に取付けられ、受けた光を反射する反射部材を利用して、実空間中の対象物を検出するステップと、
検出する前記ステップによる検出結果に従って情報処理を実行するステップと、を含み、
検出する前記ステップは、
前記反射部材を撮像するステップと、
撮像により得られた画像を解析するステップと、を含み、
解析する前記ステップは、前記画像から、前記対象物により前記反射部材が遮蔽された部分に対応する遮蔽領域を検出するステップを含み、
情報処理を実行する前記ステップは、前記遮蔽領域を検出する前記ステップによる検出結果に従って、映像を生成するステップを含む、インタラクティブシステム構築方法。
【請求項２５】
請求項２３記載の物体検出方法をコンピュータに実行させるコンピュータプログラム。
【請求項２６】
請求項２４記載のインタラクティブシステム構築方法をコンピュータに実行させるコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、撮像装置からの画像を解析して、対象物を検出する物体検出装置及びその関連技術に関する。
【背景技術】
【０００２】
本件出願人によるゴルフゲームシステムが特許文献１に開示されている。このゴルフゲームシステムは、ゲーム機及びゴルフクラブ型入力装置を含む。ゲーム機のハウジングの内部には撮像装置が収納される。この撮像装置は、イメージセンサと赤外発光ダイオードとを含む。赤外発光ダイオードによって撮像装置の上方の所定範囲に赤外光が間欠的に照射される。したがって、イメージセンサは、その範囲内で移動するゴルフクラブ型入力装置に設けられた反射部材を間欠的に撮影する。このような反射部材のストロボ映像を処理することによって、ゲーム機の入力となる位置や速度等を計算する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００４−８５５２４号
【発明の概要】
【発明が解決しようとする課題】
【０００４】
この従来技術では、反射部材を検知対象物に装着ないしは取り付ける必要がある。例えば、検知対象物が人間である場合、その人間は、反射部材を装着する必要がある。このため、人によっては、反射部材の装着を煩わしく感じる場合もある。特に、検知対象物が幼児の場合、装着を拒否したり、口に入れたり、好ましくない事態が発生し得る。また、反射部材の紛失や品質劣化等もあり得る。
【０００５】
そこで、本発明は、対象物への反射部材の装着や取付けを行うことなく、撮影により、対象物を検出できる物体検出装置及びその関連技術を提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明の第１の観点によれば、物体検出装置は、実空間中の対象物を検出する物体検出装置であって、静止物体に取付けられ、受けた光を反射する反射部材と、前記反射部材を撮像する撮像手段と、撮像により得られた画像を解析する解析手段と、を備え、前記解析手段は、前記画像から、前記対象物により前記反射部材が遮蔽された部分に対応する遮蔽領域を検出する検出手段を含む。
【０００７】
この構成によれば、静止物体に取付けられた反射部材を撮影して、その画像から、対象物による遮蔽領域を検出する。遮蔽領域の検出は、対象物を検出することに相当する。なぜなら、対象物が反射部材上に位置する場合、その部分は画像に現れず、遮蔽領域となって現れるからである。このように、対象物への反射部材の装着や取付けを行うことなく、撮影により、対象物を検出できる。
【０００８】
また、画像上の遮蔽領域の移動を検出することにより、対象物の動きを検出できる。なぜなら、反射部材のある位置から他の位置へ対象物が移動した場合、遮蔽領域もまた、当該ある位置に対応する画像上の位置から当該他の位置に対応する画像上の位置へ移動し、あるいは、ある反射部材から他の反射部材へ対象物が移動した場合、遮蔽領域もまた、当該ある反射部材の像から当該他の反射部材の像へ移動するからである。
【０００９】
例えば、前記反射部材は、帯状である。
【００１０】
この構成によれば、反射部材の長さ方向の対象物の移動を検出できる。なぜなら、反射部材のある位置から他の位置へ対象物が移動した場合、遮蔽領域もまた、当該ある位置に対応する画像上の位置から当該他の位置に対応する画像上の位置へ移動するからである。
【００１１】
また、例えば、複数の前記反射部材が、前記静止物体に取付けられ、前記反射部材の各々は、帯状であり、前記複数の反射部材は、前記静止物体上に互いに平行に配置される。
【００１２】
この構成によれば、反射部材の長さ方向の対象物の移動及び反射部材の長さ方向に垂直な方向の対象物の移動を検出できる。なぜなら、反射部材のある位置から他の位置へ対象物が移動した場合、遮蔽領域もまた、当該ある位置に対応する画像上の位置から当該他の位置に対応する画像上の位置へ移動するからである。また、ある反射部材から他の反射部材へ対象物が移動した場合、遮蔽領域もまた、当該ある反射部材の像から当該他の反射部材の像へ移動するからである。
【００１３】
この場合、前記反射部材の厚さ方向の幅は、前記撮像手段からの距離が大きくなるほど太くなるように設定される。
【００１４】
この構成によれば、比較的低解像度の撮像手段を使用する場合でも、撮像手段からの距離が大きい位置に配置された反射部材の像が認識できない（写り込まない）といった不都合を回避できる。
【００１５】
また、この場合、前記反射部材間の距離は、前記撮像手段からの距離が大きくなるほど大きくなるように設定される。
【００１６】
この構成によれば、比較的低解像度の撮像手段を使用する場合でも、撮像手段からの距離が大きい位置に配置された２つの反射部材の像を区別できないといった不都合を回避できる。
【００１７】
上記物体検出装置において、複数の前記反射部材が、前記静止物体に取付けられる。
【００１８】
この構成によれば、各反射部材への対象物の移動を検出できる。また、遮蔽された反射部材の位置により、対象物の位置を検出できる。
【００１９】
例えば、前記複数の反射部材のうち、少なくとも所定数の反射部材は、二次元状に配置される。
【００２０】
この構成によれば、二次元方向の、対象物の位置や移動を検出できる。
【００２１】
また、例えば、前記複数の反射部材のうち、少なくとも所定数の反射部材は、一次元状に配置されてもよい。
【００２２】
この構成によれば、一次元方向の、対象物の位置や移動を検出できる。
【００２３】
上記物体検出装置において、前記複数の反射部材は、ユーザがコンピュータに所定コマンドを入力するための反射部材を含む。
【００２４】
この構成によれば、ユーザは、この反射部材を遮蔽することにより、所定コマンドを入力できる。この反射部材が遮蔽されたことが画像上で検出された場合に、所定コマンドが入力されたとみなせばよいからである。
【００２５】
上記物体検出装置において、前記静止物体は、水平面を含み、前記反射部材は、前記水平面に取付けられる。
【００２６】
この構成によれば、反射部材の取り付けが容易であり、より確実に固定できる。また、反射部材の加工も少なくて済む。
【００２７】
この場合、前記静止物体は、床面に配置又は床面である。
【００２８】
この構成によれば、例えば、対象物が人間の場合、足の位置及び動きを検出する場合に好適である。
【００２９】
上記物体検出装置は、光を発光して、前記反射部材に向けて前記光を照射する照射手段をさらに備える。
【００３０】
この構成によれば、反射部材が照射光を反射することで、よりはっきりと画像上に写りこみ、より精度良く遮蔽領域を検出できる。
【００３１】
この物体検出装置において、前記反射部材は、受けた光を再帰反射する。
【００３２】
この構成によれば、照射手段と撮像手段とをほぼ同じ位置に配置することにより、より確実に反射部材からの反射光を撮像手段に入力できる。
【００３３】
この物体検出装置において、前記照射手段は、間欠的に前記光を発光して、前記反射部材に向けて前記光を照射し、前記検出手段は、前記撮像手段によって、前記光の発光時の撮像により得られた画像と前記光の消灯時の撮像により得られた画像との差分画像から、前記遮蔽領域を検出する。
【００３４】
この構成によれば、差分を求めるといった簡易な処理で、反射部材からの反射光以外の光によるノイズを極力除去でき、精度良く反射部材の像のみを検出できる。反射部材の像を精度良く検出できるということは、遮蔽領域を精度良く検出できることを意味する。
【００３５】
この物体検出装置において、前記照射手段は、赤外光を発光し、前記撮像手段は、赤外光のみを透過する赤外線フィルタを介して、前記反射部材を撮像する。
【００３６】
この構成によれば、赤外光以外のノイズを簡易に除去できる。
【００３７】
上記物体検出装置は、少なくとも前記反射部材を覆う透明又は半透明の部材をさらに備える。
【００３８】
この構成によれば、反射部材が足で踏まれるものである場合等において、反射部材を保護でき、その耐久性を向上できる。
【００３９】
ここで、反射部材を覆う透明又は半透明の部材は、反射部材を透明又は半透明の物質によりコーティングする場合を含む。
【００４０】
本発明の第２の観点によれば、インタラクティブシステムは、実空間中の対象物を検出する物体検出手段と、前記物体検出手段による検出結果に従って情報処理を実行する情報処理手段と、を備え、前記物体検出手段は、静止物体に取付けられ、受けた光を反射する反射部材と、前記反射部材を撮像する撮像手段と、撮像により得られた画像を解析する解析手段と、を含み、前記解析手段は、前記画像から、前記対象物により前記反射部材が遮蔽された部分に対応する遮蔽領域を検出する検出手段を含み、前記情報処理手段は、前記検出手段による検出結果に従って、映像を生成する映像生成手段を含む。
【００４１】
この構成によれば、上記第１の観点による物体検出装置と同様の構成を含むので、それと同様の効果を奏する。また、映像により、ユーザ（対象物の一種）に情報を提示し、この提示に従って動作するユーザを検出し、その検出結果に基づいて映像を生成できる。つまり、インタラクティブなシステムが構築される。この場合、ユーザの動作を検出する構成は、第１の観点による物体検出装置と同様である。従って、第１の観点による物体検出装置を利用したインタラクティブなシステムを構築できる。なお、ユーザの立場からは、検出されることは、入力を行うことを意味する。
【００４２】
このインタラクティブシステムにおいて、前記映像生成手段は、複数の画面に表示するための複数の前記映像を生成する。
【００４３】
この構成によれば、複数の画面に同時に複数の映像を表示できるので、エンターテインメント性を向上できる。
【００４４】
この場合、前記映像生成手段は、前記複数の画面に映し出される前記複数の映像同士を連動させる。
【００４５】
この構成によれば、臨場感の向上を図ることができる。
【００４６】
このインタラクティブシステムにおいて、前記映像生成手段は、前記複数の映像のうちの第１映像を水平面に映し出す手段と、前記複数の映像のうちの第２映像を垂直面に映し出す手段と、を含む。
【００４７】
この構成によれば、ユーザ（対象物の一種）は、水平面に映し出された映像及び垂直面に映し出された映像を見ながら、身体を動かし、入力を行うことができる。
【００４８】
このインタラクティブシステムにおいて、前記静止物体は、前記水平面を含み、前記反射部材は、前記水平面に取付けられる。
【００４９】
この構成によれば、反射部材の取り付けが容易であり、より確実に固定できる。また、反射部材の加工も少なくて済む。
【００５０】
このインタラクティブシステムにおいて、前記静止物体は、床面に配置又は床面である。
【００５１】
この構成によれば、例えば、対象物が人間の場合、足の位置及び動きを検出する場合、つまり、足を動かして入力を行う場合に好適である。
【００５２】
本発明の第３の観点によれば物体検出方法は、静止物体に取付けられ、受けた光を反射する反射部材を利用して、実空間中の対象物を検出する物体検出方法であって、前記反射部材を撮像するステップと、撮像により得られた画像を解析するステップと、を含み、解析する前記ステップは、前記画像から、前記対象物により前記反射部材が遮蔽された部分に対応する遮蔽領域を検出するステップを含む。
【００５３】
この構成によれば、上記第１の観点による物体検出装置と同様の効果を奏する。
【００５４】
本発明の第４の観点によればインタラクティブシステム構築方法は、静止物体に取付けられ、受けた光を反射する反射部材を利用して、実空間中の対象物を検出するステップと、検出する前記ステップによる検出結果に従って情報処理を実行するステップと、を含み、検出する前記ステップは、前記反射部材を撮像するステップと、撮像により得られた画像を解析するステップと、を含み、解析する前記ステップは、前記画像から、前記対象物により前記反射部材が遮蔽された部分に対応する遮蔽領域を検出するステップを含み、情報処理を実行する前記ステップは、前記遮蔽領域を検出する前記ステップによる検出結果に従って、映像を生成するステップを含む。
【００５５】
この構成によれば、上記第２の観点によるインタラクティブシステムと同様の効果を奏する。
【００５６】
本発明の第５の観点によるコンピュータプログラムは、上記第３の観点による物体検出方法をコンピュータに実行させるコンピュータプログラムである。
【００５７】
この構成によれば、上記第１の観点による物体検出装置と同様の効果を奏する。
【００５８】
本発明の第６の観点によるコンピュータプログラムは、上記第４の観点によるインタラクティブシステム構築方法をコンピュータに実行させるコンピュータプログラムである。
【００５９】
この構成によれば、上記第２の観点によるインタラクティブシステムと同様の効果を奏する。
【００６０】
本発明の第７の観点による記録媒体は、上記第５の観点によるコンピュータプログラムを格納したコンピュータ読み取り可能な記録媒体である。
【００６１】
この構成によれば、上記第１の観点による物体検出装置と同様の効果を奏する。
【００６２】
本発明の第８の観点による記録媒体は、上記第６の観点によるコンピュータプログラムを格納したコンピュータ読み取り可能な記録媒体である。
【００６３】
この構成によれば、上記第２の観点によるインタラクティブシステムと同様の効果を奏する。
【００６４】
本明細書及び特許請求の範囲において、記録媒体には、例えば、フレキシブルディスク、ハードディスク、磁気テープ、光磁気ディスク、ＣＤ（ＣＤ−ＲＯＭ、Ｖｉｄｅｏ−ＣＤを含む）、ＤＶＤ（ＤＶＤ−Ｖｉｄｅｏ、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭを含む）、ＲＯＭカートリッジ、バッテリバックアップ付きのＲＡＭメモリカートリッジ、フラッシュメモリカートリッジ、不揮発性ＲＡＭカートリッジ等を含む。
【００６５】
本発明の新規な特徴は、特許請求の範囲に記載されている。しかしながら、発明そのもの及びその他の特徴と効果は、添付図面を参照して具体的な実施例の詳細な説明を読むことにより容易に理解される。
【図面の簡単な説明】
【００６６】
【図１】本発明の実施の形態によるインタラクティブシステム１の全体構成を示す図である。
【図２】図１のインタラクティブシステム１の電気的構成を示す図である。
【図３】図１のスクリーン１５の説明図である。
【図４】システム起動時における差分画像８９のスキャンの説明図である。
【図５】システム起動中における差分画像８９のスキャンの説明図である。
【図６】（ａ）図１のテレビジョンモニタ５に映し出される画面７１Ｔの例示図である（回答前）。（ｂ）図１のスクリーン１５に映し出される画面７１Ｐの例示図である（回答前）。
【図７】（ａ）図１のテレビジョンモニタ５に映し出される画面７１Ｔの例示図である（回答後）。（ｂ）図１のスクリーン１５に映し出される画面７１Ｐの例示図である（回答後）。
【図８】図２のＭＣＵ３３による撮影処理の流れの一例を示すフローチャートである。
【図９】図２のＭＣＵ３３による起動時検出処理の流れの一例を示すフローチャートである。
【図１０】図９のステップＳ３の垂直端点検出処理の流れの一例を示すフローチャートである。
【図１１】図９のステップＳ５の水平端点検出処理の流れの一例を示すフローチャートである。
【図１２】図２のＭＣＵ３３による起動中検出処理の流れの一例を示すフローチャートである。
【図１３】図１２のステップＳ２０５のキック前処理の流れの一例を示すフローチャートである。
【図１４】図１２のステップＳ２０７の足数判定処理の流れの一例を示すフローチャートである。
【図１５】図１４のステップＳ３２５の幅判定処理の流れの一例を示すフローチャートである。
【図１６】図１２のステップＳ２０９の左右判定処理の流れの一部の一例を示すフローチャートである。
【図１７】図１２のステップＳ２０９の左右判定処理の流れの他の一部の一例を示すフローチャートである。
【図１８】図１２のステップＳ２１１のキック判定処理の流れの一例を示すフローチャートである。
【図１９】図１２のステップＳ２１３のヒット判定処理の流れの一例を示すフローチャートである。
【図２０】図１２のステップＳ２１５のコマンド生成処理の流れの一例を示すフローチャートである。
【図２１】図２のマスタプロセッサ４１による処理の流れの一例を示すフローチャートである。
【図２２】図２のスレイブプロセッサ４５による処理の流れの一例を示すフローチャートである。
【図２３】システム起動時における差分画像８９のスキャンの詳細な説明図である。
【図２４】システム起動中における差分画像８９のスキャンの詳細な説明図である。
【発明を実施するための形態】
【００６７】
以下、本発明の実施の形態について、図面を参照しながら説明する。なお、図中、同一または相当部分については同一の参照符号を付してその説明を援用する。また、本明細書において、数字の後尾に付した「ｈ」は、１６進数であることを示す。
【００６８】
図１は、本発明の実施の形態によるインタラクティブシステム１の全体構成を示す図である。図１を参照して、このインタラクティブシステム１は、制御装置３、テレビジョンモニタ５、撮像ユニット７、プロジェクタ９、スピーカ１１、及びスクリーン１５を備える。制御装置３、テレビジョンモニタ５、撮像ユニット７、プロジェクタ９、及びスピーカ１１は、それぞれ、床面に直立して設置される筐体１３の第５段、第４段、第３段、第２段、及び第１段に設置される。スクリーン１５は、矩形状であり、筐体１３の前方の水平な床面に固定される。プレイヤ（検出対象物）２５は、このスクリーン１５の上にのってプレイする。
【００６９】
ここで、スクリーン１５の筐体１３側をスクリーン１５の上側、その反対側をスクリーンの下側と呼ぶことにする。そうすると、スクリーン１５の下側半分の領域には、帯状の再帰反射シート（再帰反射部材）１７−１，１７−２及び１７−３が互いに平行に、かつ、スクリーン１５の上辺に平行に固定される。また、スクリーン１５には、円形の再帰反射シート（再帰反射部材）１９−１及び１９−２が、再帰反射シート１７−３とスクリーン１５の下辺との間に、再帰反射シート１７−３に沿って固定される。再帰反射シート１７−１〜１７−３並びに１９−１及び１９−２は、受けた光を再帰反射する。
【００７０】
なお、スクリーン１５は、プロジェクタ９からのビデオ映像が投影されると同時に、撮像ユニット７により撮影されるので、被撮影面と呼ぶこともできる。また、スクリーン１５は専用のものを用いてもよいが、床面が平らで、投影されたビデオ映像の内容を容易に認識できるものであれば、床面そのものをスクリーンとして使用することもできる。この場合は、床面が被撮影面となり、床面に再帰反射シート１７−１〜１７−３並びに１９−１及び１９−２が固定される。
【００７１】
ここで、プレイヤ２５は、動く物体であるのに対して、スクリーン１５は固定されるので静止物体と言える。
【００７２】
さて、制御装置３は、インタラクティブシステム１全体の制御を行うと共に、テレビジョンモニタ５に与えるビデオ信号ＶＤ１、プロジェクタ９に与えるビデオ信号ＶＤ２、及びスピーカ１１に与えるオーディオ信号（ボイスを含む。）ＡＵＭを生成する。テレビジョンモニタ５は、制御装置３が生成したビデオ信号ＶＤ１に応じた映像を表示する。プロジェクタ９は、制御装置３が生成したビデオ信号ＶＤ２に応じた映像をスクリーン１５に投影する。
【００７３】
撮像ユニット７は、スクリーン１５を俯瞰し、再帰反射シート１７−１〜１７−３並びに１９−１及び１９−２を撮像する。撮像ユニット７は、赤外光のみを透過する赤外線フィルタ２１及びその周りに配置された４個の赤外発光ダイオード２３を含む。赤外線フィルタ２１の裏側には、後述のイメージセンサ３１が配置される。
【００７４】
赤外発光ダイオード２３は、再帰反射シート１７−１〜１７−３並びに１９−１及び１９−２に対して、間欠的に赤外光を照射する。再帰反射シート１７−１〜１７−３並びに１９−１及び１９−２は、照射された赤外光を再帰反射し、この反射赤外光が、赤外線フィルタ２１を介してイメージセンサ３１に入力される。イメージセンサ３１は、赤外光照射時の画像と非照射時の画像との差分画像を生成する。後述するように、制御装置３は、この差分画像に基づいて、プレイヤ２５の検出処理を実行する。このように、本システム１は、検出装置を含む。検出装置として機能する部分は、主に、制御装置３、撮像ユニット７、及び再帰反射シート１７−１〜１７−３，１９−１，１９−２である。
【００７５】
図２は、図１のインタラクティブシステム１の電気的構成を示す図である。図２を参照して、制御装置３は、マスタプロセッサ４１、外部メモリ４３、スイッチ群５１、スレイブプロセッサ４５、外部メモリ４７、ミキシング回路４９、及び電源スイッチ５３を含む。撮像ユニット７は、ＭＣＵ（Ｍｉｃｒｏ  Ｃｏｎｔｒｏｌｅｒ  Ｕｎｉｔ）３３、イメージセンサ３１、及び赤外発光ダイオード２３を含む。
【００７６】
マスタプロセッサ４１には、外部メモリ４３が接続される。外部メモリ４３は、例えば、フラッシュメモリ、ＲＯＭ、及び／又はＲＡＭ等により構成される。外部メモリ４３は、プログラム領域、画像データ領域、および音声データ領域を含む。プログラム領域には、各種処理（例えば、撮像ユニット７及びスレイブプロセッサ４５の制御、撮像ユニット７からのコマンド等の受け付け、及びプロジェクタ９に与える映像の制御等）をマスタプロセッサ４１に実行させる制御プログラムが格納される。画像データ領域には、ビデオ信号ＶＤ１を生成するために必要な画像データが格納されている。音声データ領域には、ボイス、効果音、及び音楽等のオーディオ信号ＡＵ１を生成するための音声データが格納されている。マスタプロセッサ４１は、プログラム領域の制御プログラムを実行して、画像データ領域の画像データ及び音声データ領域の音声データを読み出し、必要な処理を施して、ビデオ信号（ビデオ映像）ＶＤ１及びオーディオ信号ＡＵ１を生成する。ビデオ信号ＶＤ１及びオーディオ信号ＡＵ１は、それぞれ、プロジェクタ９及びミキシング回路４９に与えられる。
【００７７】
マスタプロセッサ４１は、図示しないが、中央演算処理装置（以下、「ＣＰＵ」と呼ぶ。）、グラフィックスプロセシングユニット（以下、「ＧＰＵ」と呼ぶ。）、サウンドプロセシングユニット（以下、「ＳＰＵ」と呼ぶ。）、ジオメトリエンジン（以下、「ＧＥ」と呼ぶ。）、外部インタフェースブロック、メインＲＡＭ、及びＡ／Ｄコンバータ（以下、「ＡＤＣ」と呼ぶ。）等の各種機能ブロックを具備する。
【００７８】
ＣＰＵは、外部メモリ４３に格納されたプログラムを実行して、各種演算やマスタプロセッサ４１内の各種機能ブロックの制御を行う。グラフィックス処理に関するＣＰＵの処理として、外部メモリ４３に格納されたプログラムを実行して、各オブジェクトの拡大・縮小、回転、及び／又は平行移動のパラメータ、視点座標（カメラ座標）、並びに視線ベクトルの算出等を行う。ここで、１または複数のポリゴン又はスプライトから構成され、同じ拡大・縮小、回転、及び平行移動の変換が適用される単位を「オブジェクト」と呼ぶ。
【００７９】
ＧＰＵは、ポリゴン及びスプライトから構成される三次元イメージをリアルタイムに生成し、アナログのコンポジットビデオ信号ＶＤ１に変換する。ＳＰＵは、ＰＣＭ（ｐｕｌｓｅ  ｃｏｄｅ  ｍｏｄｕｌａｔｉｏｎ）波形データ、アンプリチュードデータ、及びメインボリュームデータを生成し、これらをアナログ乗算して、アナログオーディオ信号ＡＵ１を生成する。ＧＥは、三次元イメージを表示するための幾何演算を実行する。具体的には、ＧＥは、行列積、ベクトルアフィン変換、ベクトル直交変換、透視投影変換、頂点明度／ポリゴン明度計算（ベクトル内積）、及びポリゴン裏面カリング処理（ベクトル外積）などの演算を実行する。
【００８０】
外部インタフェースブロックは、周辺装置（本実施の形態では、スレイブプロセッサ４５、ＭＣＵ３３及びスイッチ群５１）とのインタフェースであり、２４チャンネルのプログラマブルなデジタル入出力（Ｉ／Ｏ）ポートを含む。ＡＤＣは、４チャンネルのアナログ入力ポートに接続され、これらを介して、アナログ入力装置から入力されたアナログ信号をデジタル信号に変換する。メインＲＡＭは、ＣＰＵのワーク領域、変数格納領域、および仮想記憶機構管理領域等として利用される。
【００８１】
さて、スイッチ群５１は、方向キー等の各種操作を行うためのキーを含み、それらのキーステータスがマスタプロセッサ４１に与えられる。マスタプロセッサ４１は、受け取ったキーステータスに応じて処理を実行する。
【００８２】
また、スレイブプロセッサ４５には、外部メモリ４７が接続される。外部メモリ４７は、例えば、フラッシュメモリ、ＲＯＭ、及び／又はＲＡＭ等により構成される。外部メモリ４７は、プログラム領域、画像データ領域、および音声データ領域を含む。プログラム領域には、各種処理（例えば、テレビジョンモニタ５に表示する映像の制御等）をスレイブプロセッサ４５に実行させる制御プログラムが格納される。画像データ領域には、ビデオ信号ＶＤ２を生成するために必要な画像データが格納されている。音声データ領域には、効果音等のオーディオ信号ＡＵ２を生成するための音声データが格納されている。スレイブプロセッサ４５は、プログラム領域の制御プログラムを実行して、画像データ領域の画像データ及び音声データ領域の音声データを読み出し、必要な処理を施して、ビデオ信号（ビデオ映像）ＶＤ２及びオーディオ信号ＡＵ２を生成する。ビデオ信号ＶＤ２及びオーディオ信号ＡＵ２は、それぞれ、テレビジョンモニタ５及びミキシング回路４９に与えられる。
【００８３】
なお、スレイブプロセッサ４５の内部構成は、マスタプロセッサ４１のそれと同じであり、説明を省略する。
【００８４】
また、マスタプロセッサ４１とスレイブプロセッサ４５とは、通信を行い、互いにデータを送受信して、プロジェクタ９に与える映像ＶＤ１とテレビジョンモニタ５に与える映像ＶＤ２との同期（映像内容の）をとる。この場合、プロセッサ４１が、マスタとなって、スレイブとしてのプロセッサ４５を制御する。
【００８５】
さて、ミキシング回路４９は、マスタプロセッサ４１が生成したオーディオ信号ＡＵ１とスレイブプロセッサ４５が生成したオーディオ信号ＡＵ２とを合成し、オーディオ信号ＡＵＭとして、スピーカ１１へ出力する。
【００８６】
また、撮像ユニット７のイメージセンサ３１は、例えば、６４画素×６４画素のＣＭＯＳイメージセンサである。イメージセンサ３１は、ＭＣＵ３３からの制御を受けて動作する。具体的には、次の通りである。イメージセンサ３１は、赤外発光ダイオード２３を間欠的に駆動する。従って、赤外発光ダイオード２３は、間欠的に赤外光を発光する。これにより、再帰反射シート１７−１〜１７−３並びに１９−１及び１９−２には、間欠的に赤外光が照射される。イメージセンサ３１は、赤外光点灯時及び消灯時のそれぞれにおいて、再帰反射シート１７−１〜１７−３並びに１９−１及び１９−２を撮影する。そして、イメージセンサ３１は、赤外光点灯時の画像信号と赤外光消灯時の画像信号との差分画像信号を生成して、ＭＣＵ３３に出力する。差分画像信号を求めることで、再帰反射シート１７−１〜１７−３並びに１９−１及び１９−２からの反射光以外の光によるノイズを極力除去でき、精度良く再帰反射シート１７−１〜１７−３並びに１９−１及び１９−２のみを検出できる。つまり、再帰反射シート１７−１〜１７−３並びに１９−１及び１９−２は、赤外光を再帰反射するので、発光時では、背景に比べ、高い輝度の像として画像に写り込むが、消灯時では、赤外光を受けないので、背景と同様に低い輝度の像として画像に写り込み、差分画像を生成することにより、再帰反射１７−１〜１７−３並びに１９−１及び１９−２の像だけを抽出できるのである。
【００８７】
ＭＣＵ３３は、メモリ３０を有し、このメモリ３０に格納された制御プログラムを実行して、後述のフローチャートに示す処理を実行する。すなわち、ＭＣＵ３３は、イメージセンサ３１からの差分画像を所定の閾値を用いて２値化し、２値化後の差分画像を解析して、プレイヤ２５を検出して、コマンド及び座標（後述）をマスタプロセッサ４１に送信する。マスタプロセッサ４１は、ＭＣＵ３３から受け取ったコマンド及び座標に基づいて、プロジェクタ９に与える映像、スピーカ１１に与える音声、及びスレイブプロセッサ４５を制御する。これらの処理の詳細は後述する。
【００８８】
プロジェクタ９は、マスタプロセッサ４１から与えられたビデオ信号ＶＤ１に基づくビデオ映像をスクリーン１５に投影する。テレビジョンモニタ５は、スレイブプロセッサ４５から与えられたビデオ信号ＶＤ２に基づくビデオ映像を表示する。スピーカ１１は、ミキシング回路４９から与えられたオーディオ信号ＡＵＭに基づく音声を出力する。
【００８９】
図３は、図１のスクリーン１５の説明図である。図３を参照して、スクリーン１５上の再帰反射シート１７−１の幅ｄ１、再帰反射シート１７−２の幅ｄ２、及び再帰反射シート１７−３の幅ｄ３の関係は、ｄ１＜ｄ２＜ｄ３、である。このように、撮像ユニット７（イメージセンサ３１）からの距離が大きくなるほど、帯状の再帰反射シートの幅を大きくする。また、再帰反射シート１７−１と再帰反射シート１７−２との間の距離Ｌ１及び再帰反射シート１７−２と再帰反射シート１７−３との間の距離Ｌ２の関係は、Ｌ１＜Ｌ２、である。このように、撮像ユニット７（イメージセンサ３１）からの距離が大きくなるほど、再帰反射シートの間隔を大きくする。これらの理由は、次の通りである。
【００９０】
まず、説明の便宜のため、撮像ユニット７のイメージセンサ３１の光軸をスクリーン１５に正射影した軸１８を想定する。なお、この軸１８に直交するように、再帰反射シート１７−１〜１７−３が配置される。また、スクリーン１５上で、軸１８に沿った一定長さの線分Ｄを想定する。
【００９１】
撮像ユニット７のイメージセンサ３１は、スクリーン１５を俯瞰する。従って、イメージセンサ３１からの差分画像には、台形歪みが発生する。つまり、矩形のスクリーン１５は、差分画像中では、台形状の像となって写り込む。この場合、台形歪みは、イメージセンサ３１からの距離が大きくなるほど大きくなる。従って、スクリーン１５の上側（イメージセンサ３１に近い側）の線分Ｄの差分画像中の像の長さは、スクリーン１５の下側（イメージセンサ３１に遠い側）の線分Ｄの差分画像中の像の長さより大きくなる。
【００９２】
このため、再帰反射シート１７−１〜１７−３を等間隔で配置すると（Ｌ１＝Ｌ２）、差分画像上では、再帰反射シート１７−２の像と再帰反射シート１７−３の像との間の距離が、再帰反射シート１７−１の像と再帰反射シート１７−２の像との間の距離より短くなってしまう。比較的低解像度（例えば６４画素×６４画素）のイメージセンサ３１を使用する場合、特に再帰反射シート１７−２の像と再帰反射シート１７−３の像とを区別できないことも発生しうる。従って、スクリーン１５上で、距離Ｌ１＜距離Ｌ２とすることにより、低解像度のイメージセンサ３１を使用した場合であっても、差分画像上で、再帰反射シート１７−２の像及び１７−３の像を確実に区別できる。
【００９３】
同様に、再帰反射シート１７−１〜１７−３の幅を等しくすると（ｄ１＝ｄ２＝ｄ３）、台形歪みにより、差分画像上では、再帰反射シート１７−３の像の幅は、再帰反射シート１７−２の像の幅より小さく、再帰反射シート１７−２の像の幅は、再帰反射シート１７−１の像の幅より小さくなる。このため、比較的低解像度（例えば６４画素×６４画素）のイメージセンサ３１を使用する場合、特に再帰反射シート１７−３の像が認識できない（写り込まない）ことも発生しうる。従って、スクリーン１５上で、幅ｄ３＞幅ｄ２＞幅ｄ１、とすることにより、低解像度のイメージセンサ３１を使用した場合であっても、差分画像上で、再帰反射シート１７−３の像を確実に認識できる。また、再帰反射シート１７−２の幅は、再帰反射シート１７−３ほど太くする必要はないが、再帰反射シート１７−１の幅より大きくして（ｄ２＞ｄ１）、認識の確実性を向上している。
【００９４】
次に、撮像ユニット７のＭＣＵ３３によるプレイヤ２５の検出方法を説明する。まず、システム起動時の処理を説明し、その後、システム起動中の処理を説明する。また、説明に用いる差分画像は２値化後のものとする。
【００９５】
図４は、システム起動時における差分画像８９のスキャンの説明図である。図４を参照して、イメージセンサ３１が生成する差分画像８９の左上角を原点とし、水平右方向を正とするＸ軸、及び垂直下方向を正とするＹ軸を想定する。この差分画像８９には、再帰反射シート１７−１，１７−２，１７−３，１９−１及び１９−２にそれぞれ対応する像９０−１，９０−２，９０−３，９２−１及び９２−２が写り込んでいる。
【００９６】
電源スイッチ５３がオンされると、マスタプロセッサ４１の命令により、撮像ユニット７のＭＣＵ３３は、イメージセンサ３１に対して、撮影指示を出す。この撮影指示を受けて、イメージセンサ３１は、撮像処理を開始する。この撮像処理には、赤外発光ダイオード２３の間欠的な駆動、点灯時及び消灯時のそれぞれでの撮影、並びに、点灯時画像と消灯時画像との差分画像の生成を含む。ＭＣＵ３３は、この差分画像を解析して、解析結果（コマンド及び座標）をマスタプロセッサ４１に送信する。
【００９７】
図４に示すように、特に電源投入時（システム起動時）では、ＭＣＵ３３は、マスタプロセッサ４１からの命令で、差分画像８９をスキャンして、像９０−１の最小Ｘ座標Ｂｘ１及び最大Ｘ座標Ｅｘ１、像９０−２の最小Ｘ座標Ｂｘ２及び最大Ｘ座標Ｅｘ２、並びに、像９０−３の最小Ｘ座標Ｂｘ３及び最大Ｘ座標Ｅｘ３を検出し、その内部のメモリに格納する。
【００９８】
これは、次の理由による。プレイ中では、プレイヤ２５が、再帰反射シート１７−１の左端あるいは右端を踏む可能性もある。再帰反射シート１７−２及び１７−３についても同様である。従って、プレイヤ２５がスクリーン１５にのっていない起動時に、各再帰反射シート１７−１〜１７−３の各像９０−１〜９０−３の左端（基準左端）及び右端（基準右端）を予め検出しておく。そして、プレイ中の各像９０−１〜９０−３の左端と、対応する基準左端と、を比較して、プレイヤ２５が左端にのっているか否かを判断し、また、プレイ中の各像９０−１〜９０−３の右端と、対応する基準右端と、を比較して、プレイヤ２５が右端にのっているか否かを判断する。
【００９９】
また、電源投入時（システム起動時）にて、ＭＣＵ３３は、マスタプロセッサ４１からの命令で、差分画像８９をスキャンして、像９０−１の最小Ｙ座標Ｂｙ１及び最大Ｙ座標Ｅｙ１、像９０−２の最小Ｙ座標Ｂｙ２及び最大Ｙ座標Ｅｙ２、並びに、像９０−３の最小Ｙ座標Ｂｙ３及び最大Ｙ座標Ｅｙ３を検出し、その内部のメモリに格納することもできる。
【０１００】
ここで、再帰反射シート１７−１の像９０−１の最小Ｘ座標Ｂｘ１、最大Ｘ座標Ｅｘ１、最小Ｙ座標Ｂｙ１、及び最大Ｙ座標Ｅｙ１で定義される矩形を矩形範囲＃１と呼ぶ。再帰反射シート１７−２の像９０−２の最小Ｘ座標Ｂｘ２、最大Ｘ座標Ｅｘ２、最小Ｙ座標Ｂｙ２、及び最大Ｙ座標Ｅｙ２で定義される矩形を矩形範囲＃２呼ぶ。再帰反射シート１７−３の像９０−３の最小Ｘ座標Ｂｘ３、最大Ｘ座標Ｅｘ３、最小Ｙ座標Ｂｙ３、及び最大Ｙ座標Ｅｙ３で定義される矩形を矩形範囲＃３と呼ぶ。再帰反射シート１９−１及び１９−２に対応する像９２−１及び９２−１を１つの像９０−４と考えたときの像９０−４の最小Ｘ座標、最大Ｘ座標、最小Ｙ座標、及び最大Ｙ座標で定義される矩形を矩形範囲＃４と呼ぶ。
【０１０１】
図５は、システム起動中における差分画像８９のスキャンの説明図である。図５を参照して、この差分画像８９は、プレイヤ２５が再帰反射シート１７−１の上に両足を置いている（両足で踏んでいる）場合の撮影処理で得られたものである。従って、差分画像８９には、像１−０，１−１，１−２，２−０，２−１，２−２，３−０，３−１，３−２，９２−１及び９２−２が写り込んでいる。領域（以下、「遮蔽領域」と呼ぶ。）１−５，１−６，２−５，２−６，３−５及び３−６は、説明の便宜上、ハッチングを施しているが、実際は何も写っていない部分である。
【０１０２】
像１−０，１−１及び１−２は、再帰反射シート１７−１の像である。プレイヤ２５の両足が再帰反射シート１７−１上に置かれているため、その部分の再帰反射シート１７−１が隠れてしまい、隠れていない部分の再帰反射シート１７−１だけが、差分画像８９に写り込んだからである。遮蔽領域１−５は、プレイヤ２５の左足が置かれた部分に対応し、遮蔽領域１−６は、プレイヤ２５の右足が置かれた部分に対応する。つまり、遮蔽領域１−５は、プレイヤ２５の左足であり、遮蔽領域１−６は、プレイヤ２５の右足である。このように、遮蔽領域１−５及び１−６は、プレイヤ２５の両足の位置を示す。
【０１０３】
像２−０，２−１及び２−２は、再帰反射シート１７−２の像である。プレイヤ２５の両足が再帰反射シート１７−１上に置かれているため、再帰反射シート１７−２のうち、両足の陰になっている部分は差分画像８９には写り込まず、陰になっていない部分の再帰反射シート１７−２だけが、差分画像８９に写り込んだからである。遮蔽領域２−５は、プレイヤ２５の左足の陰になっている部分に対応し、遮蔽領域２−６は、プレイヤ２５の右足の陰になっている部分に対応する。
【０１０４】
像３−０，３−１及び３−２は、再帰反射シート１７−３の像である。プレイヤ２５の両足が再帰反射シート１７−１上に置かれているため、再帰反射シート１７−３のうち、両足の陰になっている部分は差分画像８９には写り込まず、陰になっていない部分の再帰反射シート１７−３だけが、差分画像８９に写り込んだからである。遮蔽領域３−５は、プレイヤ２５の左足の陰になっている部分に対応し、遮蔽領域３−６は、プレイヤ２５の右足の陰になっている部分に対応する。
【０１０５】
ここで、この例では、矩形範囲＃１は、再帰反射シート１７−１の像１−０，１−１及び１−２を１つの像と考えたときの最小Ｘ座標ｂｘ１、最大Ｘ座標ｅｘ１、最小Ｙ座標ｂｙ１、及び最大Ｙ座標ｅｙ１で定義される。矩形範囲＃２は、再帰反射シート１７−２の像２−０，２−１及び２−２を１つの像と考えたときの最小Ｘ座標ｂｘ２、最大Ｘ座標ｅｘ２、最小Ｙ座標ｂｙ２、及び最大Ｙ座標ｅｙ２で定義される。矩形範囲＃３は、再帰反射シート１７−３の像３−０，３−１及び３−２を１つの像と考えたときの最小Ｘ座標ｂｘ３、最大Ｘ座標ｅｘ３、最小Ｙ座標ｂｙ３、及び最大Ｙ座標ｅｙ３で定義される。矩形範囲＃４は、起動時と同じである。
【０１０６】
さて、撮像ユニット７のＭＣＵ３３は、システム起動中、つまり、プレイ中において、次の処理を実行する。
【０１０７】
ＭＣＵ３３は、矩形範囲＃１をスキャンして、遮蔽領域１−５及び１−６を検出する。具体的には、ＭＣＵ３３は、矩形範囲（ｂｘ１≦Ｘ≦ｅｘ１、ｂｙ１≦Ｙ≦ｅｙ１）において、輝度値が０の画素であり、しかも、輝度値が１の画素の隣に位置する画素のＸ座標（「隣接Ｘ座標」と呼ぶ。）であって、かつ、矩形範囲（ｂｙ１≦Ｙ≦ｅｙ１）において、Ｘ座標が隣接Ｘ座標と同じである全ての画素の輝度値が０である場合の隣接Ｘ座標、つまり、Ｘ座標ｓｂｘ０，ｓｅｘ０，ｓｂｘ１及びｓｅｘ１を検出し、内部のメモリに格納する。なお、輝度値が１の画素は、写りこんだ像の一部であり、輝度値が０の画素は、像の一部ではなく、何も写りこんでいないことを意味する。
【０１０８】
同様にして、ＭＣＵ３３は、矩形範囲＃２をスキャンして、遮蔽領域２−５及び２−６、つまり、Ｘ座標ｓｂｘ２，ｓｅｘ２，ｓｂｘ３及びｓｅｘ３を検出し、内部のメモリに格納する。また、同様にして、ＭＣＵ３３は、矩形範囲＃３をスキャンして、遮蔽領域３−５及び３−６、つまり、Ｘ座標ｓｂｘ４，ｓｅｘ４，ｓｂｘ５及びｓｅｘ５を検出し、内部のメモリに格納する。
【０１０９】
また、ＭＣＵ３３は、次式により、遮蔽領域１−５の座標（Ｘ１５，Ｙ１５）、遮蔽領域１−６の座標（Ｘ１６，Ｙ１６）、遮蔽領域２−５の座標（Ｘ２５，Ｙ２５）、遮蔽領域２−６の座標（Ｘ２６，Ｙ２６）、及び、遮蔽領域３−５の座標（Ｘ３５，Ｙ３５）、遮蔽領域３−６の座標（Ｘ３６，Ｙ３６）を算出し、内部のメモリに格納する。
【０１１０】
Ｘ１５＝（ｓｂｘ０＋ｓｅｘ０）／２
Ｙ１５＝（ｂｙ１＋ｅｙ１）／２
Ｘ１６＝（ｓｂｘ１＋ｓｅｘ１）／２
Ｙ１６＝（ｂｙ１＋ｅｙ１）／２
Ｘ２５＝（ｓｂｘ２＋ｓｅｘ２）／２
Ｙ２５＝（ｂｙ２＋ｅｙ２）／２
Ｘ２６＝（ｓｂｘ３＋ｓｅｘ３）／２
Ｙ２６＝（ｂｙ２＋ｅｙ２）／２
Ｘ３５＝（ｓｂｘ４＋ｓｅｘ４）／２
Ｙ３５＝（ｂｙ３＋ｅｙ３）／２
Ｘ３６＝（ｓｂｘ５＋ｓｅｘ５）／２
Ｙ３６＝（ｂｙ３＋ｅｙ３）／２
【０１１１】
さらに、ＭＣＵ３３は、ＭＣＵ３３は、矩形範囲＃１に、２つの遮蔽領域１−５及び１−６が存在するか否かを判断する。そして、ＭＣＵ３３は、２つの遮蔽領域１−５及び１−６が存在する場合、遮蔽領域１−５がプレイヤ２５の左足に相当すると判断し、遮蔽領域１−６がプレイヤ２５の右足に相当すると判断して、結果を内部のメモリに格納する。
【０１１２】
ＭＣＵ３３は、矩形範囲＃１に１つの遮蔽領域のみが存在すると判断した場合、後述する第１左右決定処理を実行する。
【０１１３】
また、ＭＣＵ３３は、２つの遮蔽領域１−５及び１−６が存在しないと判断した場合、矩形範囲＃２に、２つの遮蔽領域２−５及び２−６が存在するか否かを判断する。そして、ＭＣＵ３３は、２つの遮蔽領域２−５及び２−６が存在する場合、遮蔽領域２−５がプレイヤ２５の左足に相当すると判断し、遮蔽領域２−６がプレイヤ２５の右足に相当すると判断して、結果を内部のメモリに格納する。
【０１１４】
ＭＣＵ３３は、矩形範囲＃２に１つの遮蔽領域のみが存在すると判断した場合、後述する第１左右決定処理を実行する。
【０１１５】
また、ＭＣＵ３３は、２つの遮蔽領域２−５及び２−６が存在しないと判断した場合、矩形範囲＃３に、２つの遮蔽領域３−５及び３−６が存在するか否かを判断する。そして、ＭＣＵ３３は、２つの遮蔽領域３−５及び３−６が存在する場合、遮蔽領域３−５がプレイヤ２５の左足に相当すると判断し、遮蔽領域３−６がプレイヤ２５の右足に相当すると判断して、結果を内部のメモリに格納する。
【０１１６】
さらに、ＭＣＵ３３は、矩形範囲＃１に１つの遮蔽領域のみが存在し、かつ、矩形範囲＃２に１つの遮蔽領域のみが存在し、かつ、矩形範囲＃３に１つの遮蔽領域のみが存在すると判断した場合、矩形範囲＃１に遮蔽領域が存在せず、かつ、矩形範囲＃２に１つの遮蔽領域のみが存在し、かつ、矩形範囲＃３に１つの遮蔽領域のみが存在すると判断した場合、又は、矩形範囲＃１に遮蔽領域が存在せず、かつ、矩形範囲＃２に遮蔽領域が存在せず、かつ、矩形範囲＃３に１つの遮蔽領域のみが存在すると判断した場合、後述する第２左右決定処理を実行する。
【０１１７】
上記の第１左右決定処理を説明する。ＭＣＵ３３は、矩形範囲＃１に１つの遮蔽領域のみが存在すると判断した場合、その遮蔽領域のＸ座標が、遮蔽領域２−６のＸ座標Ｘ２６よりも遮蔽領域２−５のＸ座標Ｘ２５に近い場合、矩形範囲＃１の遮蔽領域を遮蔽領域１−５とみなし、プレイヤ２５の左足に相当すると判断し、遮蔽領域２−６をプレイヤ２５の右足に相当すると判断して、判断結果を内部のメモリに格納する。一方、ＭＣＵ３３は、矩形範囲＃１の遮蔽領域のＸ座標が、遮蔽領域２−５のＸ座標Ｘ２５よりも遮蔽領域２−６のＸ座標Ｘ２６に近い場合、矩形範囲＃１の遮蔽領域を遮蔽領域１−６とみなし、プレイヤ２５の右足に相当すると判断し、遮蔽領域２−５をプレイヤ２５の左足に相当すると判断して、判断結果を内部のメモリに格納する。
【０１１８】
また、ＭＣＵ３３は、矩形範囲＃２に１つの遮蔽領域のみが存在すると判断した場合、その遮蔽領域のＸ座標が、遮蔽領域３−６のＸ座標Ｘ３６よりも遮蔽領域３−５のＸ座標Ｘ３５に近い場合、矩形範囲＃２の遮蔽領域を遮蔽領域２−５とみなし、プレイヤ２５の左足に相当すると判断し、遮蔽領域３−６をプレイヤ２５の右足に相当すると判断して、判断結果を内部のメモリに格納する。一方、ＭＣＵ３３は、矩形範囲＃２の遮蔽領域のＸ座標が、遮蔽領域３−５のＸ座標Ｘ３５よりも遮蔽領域３−６のＸ座標Ｘ３６に近い場合、矩形範囲＃２の遮蔽領域を遮蔽領域２−６とみなし、プレイヤ２５の右足に相当すると判断し、遮蔽領域３−５をプレイヤ２５の左足に相当すると判断して、判断結果を内部のメモリに格納する。
【０１１９】
上記の第２左右決定処理を説明する。ＭＣＵ３３は、矩形範囲＃１に１つの遮蔽領域のみが存在し、かつ、矩形範囲＃２に１つの遮蔽領域のみが存在し、かつ、矩形範囲＃３に１つの遮蔽領域のみが存在すると判断した場合、矩形範囲＃１の遮蔽領域のＸ方向の長さＡ（（ｓｅｘ０−ｓｂｘ０）又は（ｓｅｘ１−ｓｂｘ１）であるが、この段階では、どちらに相当するか不明である。）と矩形範囲＃２の遮蔽領域のＸ方向の長さＢ（（ｓｅｘ２−ｓｂｘ２）又は（ｓｅｘ３−ｓｂｘ３）であるが、この段階では、どちらに相当するか不明である。）と、を比較する。そして、ＭＣＵ３３は、値Ｂが値（２＊Ａ）より大きい場合、プレイヤ２５の片足が再帰反射シート１７−１に置かれ、他方の片足が再帰反射シート１７−２に置かれているとみなす（この時点で左右は不明）。
【０１２０】
そして、ＭＣＵ３３は、矩形範囲＃２の遮蔽領域をＹ軸に平行な線（つまり、Ｘ座標が当該遮蔽領域のＸ座標に常に等しい直線）で二分し、得られたそれぞれの領域（左領域及び右領域と呼ぶ。）のＸ座標を算出する。具体的には、ＭＣＵ３３は、矩形範囲＃２の遮蔽領域のＸ座標と、当該遮蔽領域の左端座標（ｓｂｘ２又はｓｂｘ３であるが、この段階では、どちらに相当するか不明である。）と、の平均値を求め、これを左領域のＸ座標とする。また、ＭＣＵ３３は、矩形範囲＃２の遮蔽領域のＸ座標と、当該遮蔽領域の右端座標（ｓｅｘ２又はｓｅｘ３であるが、この段階では、どちらに相当するか不明である。）と、の平均値を求め、これを右領域のＸ座標とする。
【０１２１】
そして、ＭＣＵ３３は、矩形範囲＃１の遮蔽領域のＸ座標が、右領域のＸ座標より左領域のＸ座標に近い場合、矩形範囲＃１の遮蔽領域を領域１−５とみなし、プレイヤ２５の左足に相当すると判断し、矩形範囲＃２の遮蔽領域をプレイヤの右足に相当すると判断して、判断結果を内部のメモリに格納する。一方、ＭＣＵ３３は、矩形範囲＃１の遮蔽領域のＸ座標が、左領域のＸ座標より右領域のＸ座標に近い場合、矩形範囲＃１の当該遮蔽領域を領域１−６とみなし、プレイヤ２５の右足に相当すると判断し、矩形範囲＃２の遮蔽領域をプレイヤの左足に相当すると判断して、判断結果を内部のメモリに格納する。
【０１２２】
また、ＭＣＵ３３は、値Ｂが値（２＊Ａ）と等しいか小さい場合、左右が不定と判断して、判断結果を内部のメモリに格納する。
【０１２３】
さらに、ＭＣＵ３３は、矩形範囲＃１に遮蔽領域が存在せず、かつ、矩形範囲＃２に１つの遮蔽領域のみが存在し、かつ、矩形範囲＃３に１つの遮蔽領域のみが存在すると判断した場合、上記と同様にして、左右及び不定の判断を行う。また、ＭＣＵ３３は、矩形範囲＃１に遮蔽領域が存在せず、かつ、矩形範囲＃２に遮蔽領域が存在せず、かつ、矩形範囲＃３に１つの遮蔽領域のみが存在すると判断した場合、不定の判断を行う。
【０１２４】
さて、マスタプロセッサ４１は、ビデオ同期信号に同期して映像を更新する。ビデオ同期信号は、例えば、１／６０秒ごとに生成される。ビデオ同期信号の生成から次のビデオ同期信号の生成までの期間をフレーム期間と呼ぶ。これらについては、スレイブプロセッサ４５についても同じである。
【０１２５】
マスタプロセッサ４１は、ビデオ同期信号が生成される度に、ＭＣＵ３３にリクエスト信号を送信する。ＭＣＵ３３は、このリクエスト信号に応答して、撮像ユニット７への撮影指示及び上記の各種処理を実行する。従って、ＭＣＵ３３は、１フレーム期間に、撮影処理及び上記の各種処理を完了して、次のリクエスト信号を待つ。
【０１２６】
ここで、スクリーン１５及びテレビジョンモニタ５に映し出されるゲーム内容については、後で詳述するが、次の説明の関連部分を簡単に説明する。後述する図６（ｂ）に示すように、２つのボールオブジェクト８１ＬＰ及び８１ＲＰが、スクリーン１５に投影される。この場合、投影されたボールオブジェクト８１ＬＰの左端から再帰反射シート１７−１に下ろした垂線の足に対応する差分画像８９上のＸ座標（左ボール左端Ｘ座標と呼ぶ。）と、投影されたボールオブジェクト８１ＬＰの右端から再帰反射シート１７−１に下ろした垂線の足に対応する差分画像８９上でのＸ座標（左ボール右端Ｘ座標と呼ぶ。）と、を予め算出し、メモリ３０に格納しておく。同様に、投影されたボールオブジェクト８１ＲＰの左端から再帰反射シート１７−１に下ろした垂線の足に対応する差分画像８９上のＸ座標（右ボール左端Ｘ座標と呼ぶ。）と、投影されたボールオブジェクト８１ＲＰの右端から再帰反射シート１７−１に下ろした垂線の足に対応する差分画像８９上でのＸ座標（右ボール右端Ｘ座標と呼ぶ。）と、を予め算出し、メモリ３０に格納しておく。
【０１２７】
さて、ＭＣＵ３３は、プレイヤ２５がスクリーン１５に投影されたボールオブジェクトに対してキック動作を行ったか否かを判断する。具体的には、次の通りである。ＭＣＵ３３は、再帰反射シート１９−１及び１９−２に対応する像９２−１及び９２−２の双方が検出されなかった場合であって、かつ、差分画像８９上の全ての矩形範囲＃１〜＃３に遮蔽領域が検出されなかった場合、内部のメモリに格納された第１キックフラグをオンにする。
【０１２８】
ＭＣＵ３３は、第１キックフラグがオンの場合、プレイヤ２５が再帰反射シート１９−１及び１９−２にそれぞれ左右の足を置いていると判断して、プレイヤの準備が整ったとみなす。再帰反射シート１９−１及び１９−２が左右の足に隠れている場合、差分画像８９に像９２−１及び９２−２が検出されないからである。ただし、プレイヤ２５の両足が、再帰反射シート１７−１，１７−２又は１７−３にある場合にも、再帰反射シート１９−１及び１９−２が陰になって、像９２−１及び９２−１が検出されない場合もある。このため、全ての矩形範囲＃１〜＃３に遮蔽領域が検出されなかったこと、つまり、プレイヤ２５が、再帰反射シート１７−１，１７−２及び１７−３のいずれにも足を置いていないことを、第１キックフラグをオンにするための条件の一つとしている。
【０１２９】
このように、再帰反射シート１９−１及び１９−２は、プレイヤ２５が準備が整ったことを制御装置３に通知するために使用される。このため、再帰反射シート１９−１及び１９−２は、プレイヤ２５から制御装置３へのコマンド入力のための再帰反射シートと言える。
【０１３０】
また、ＭＣＵ３３は、第１キックフラグがオンになった後、差分画像８９上に少なくとも１つの遮蔽領域が検出されたと判断した場合、内部のメモリに格納した第２キックフラグをオンにする。
【０１３１】
さらに、ＭＣＵ３３は、再帰反射シート１７−２にプレイヤ２５の両足が置かれているか否か、つまり、差分画像８９中の矩形範囲＃２に２つの遮蔽領域（２−５及び２−６）が検出されたか否かを判断する。そして、ＭＣＵ３３は、矩形範囲＃２に２つの遮蔽領域が検出されたと判断した場合、第３キックフラグをオンにする。
【０１３２】
そして、さらに、ＭＣＵ３３は、矩形範囲＃１において、２つの遮蔽領域が検出されない状態から、１つの遮蔽領域が検出された状態へ遷移したと判断し、かつ、第３キックフラグがオンの場合、第４キックフラグをオンにする（「第１パターンのキック」と呼ぶ。）。つまり、ＭＣＵ３３は、再帰反射シート１７−２に両足が位置している状態から、再帰反射シート１７−１にいずれか一方の足が位置する状態に遷移したと判断した場合、第４キックフラグをオンにする。
【０１３３】
また、ＭＣＵ３３は、矩形範囲＃１において、１つの遮蔽領域が検出された状態から、２つの遮蔽領域が検出された状態へ遷移したと判断し、かつ、第３キックフラグがオンの場合、第４キックフラグをオンにする（「第２パターンのキック」と呼ぶ。）。つまり、ＭＣＵ３３は、再帰反射シート１７−１に一方の足が位置している状態から、再帰反射シート１７−１に他方の足が位置する状態に遷移したと判断した場合、第４キックラグをオンにする。
【０１３４】
さらに、ＭＣＵ３３は、矩形範囲＃１において、遮蔽領域が検出されない状態から、２つの遮蔽領域が検出された状態へ遷移したと判断し、かつ、第３キックフラグがオンの場合、第４キックフラグをオンにする（「第３パターンのキック」と呼ぶ。）。つまり、ＭＣＵ３３は、再帰反射シート１７−２に両足が位置している状態から、再帰反射シート１７−１に両足が位置する状態に遷移したと判断した場合、第４キックラグをオンにする。
【０１３５】
さらに、ＭＣＵ３３は、矩形範囲＃１に遮蔽領域が検出されない状態であって、矩形範囲＃２において、１つの遮蔽領域が検出された状態から、２つの遮蔽領域が検出された状態へ遷移したと判断し、かつ、第３キックフラグがオンの場合、第４キックフラグをオンにする（「第４パターンのキック」と呼ぶ。）。つまり、ＭＣＵ３３は、再帰反射シート１７−２に片足が位置している状態から、再帰反射シート１７−２に両足が位置する状態に遷移したと判断した場合、第４キックフラグをオンにする。
【０１３６】
第４キックフラグがオンの時、ＭＣＵ３３は、第５キックフラグに関する処理を実行する。具体的には次の通りである。ＭＣＵ３３は、左の遮蔽領域のうち先端の遮蔽領域（左先端遮蔽領域と呼ぶ。）のＸ座標及び右の遮蔽領域のうち先端の遮蔽領域（右先端遮蔽領域と呼ぶ。）のＸ座標に基づいて、プレイヤ２５がスクリーン１５に投影されたボールオブジェクトに対して蹴る動作を行ったか否かを判断する。この場合、「左の先端」とは、左の遮蔽領域のうち、Ｙ座標が最も小さい遮蔽領域を指し（図５の例では、左の遮蔽領域１−５，２−５及び３−５のうち、Ｙ座標が最も小さい遮蔽領域１−５）、「右の先端」とは、右の遮蔽領域のうち、Ｙ座標が最も小さい遮蔽領域を指す（図５の例では、右の遮蔽領域１−６，２−６及び３−６のうち、Ｙ座標が最も小さい遮蔽領域１−６）。
【０１３７】
つまり、ＭＣＵ３３は、左先端遮蔽領域のＸ座標が、左ボール左端Ｘ座標と左ボール右端Ｘ座標との間（左キックレンジと呼ぶ。）に位置する場合、プレイヤ２５がボールオブジェクト８１ＬＰを適切に蹴る動作を行ったとみなして、第５キックフラグを、ボールオブジェクト８１ＬＰが蹴られたことを示す０１ｈに設定する。また、ＭＣＵ３３は、左先端遮蔽領域のＸ座標が左キックレンジに入っていない場合でも、右先端遮蔽領域のＸ座標が左キックレンジに入っている場合は、プレイヤ２５がボールオブジェクト８１ＬＰを適切に蹴る動作を行ったとみなして、第５キックフラグに０１ｈを設定する。
【０１３８】
また、ＭＣＵ３３は、左先端遮蔽領域のＸ座標が、右ボール左端Ｘ座標と右ボール右端Ｘ座標との間（右キックレンジと呼ぶ。）に位置する場合、プレイヤ２５がボールオブジェクト８１ＲＰを適切に蹴る動作を行ったとみなして、第５キックフラグを、ボールオブジェクト８１ＲＰが蹴られたことを示す１０ｈに設定する。また、ＭＣＵ３３は、左先端遮蔽領域のＸ座標が右キックレンジに入っていない場合でも、右先端遮蔽領域のＸ座標が右キックレンジに入っている場合は、プレイヤ２５がボールオブジェクト８１ＲＰを適切に蹴る動作を行ったとみなして、第５キックフラグを１０ｈに設定する。
【０１３９】
さらに、左先端遮蔽領域のＸ座標及び右先端遮蔽のＸ座標のいずれもが、左ヒットレンジに入っておらず、かつ、右ヒットレンジにも入っていない場合は、ＭＣＵ３３は、第５キックフラグを、ボールオブジェクト８１ＬＰ及び８１ＲＰが蹴られなかったことを示す００ｈに設定する。
【０１４０】
さて、ＭＣＵ３３は、マスタプロセッサ４１からの上記のリクエスト信号に応答して、第１キックフラグがオンであることを示す信号（第１コマンドと呼ぶ。）、第２キックフラグ又は第３キックフラグがオンであることを示す信号（第２コマンドと呼ぶ。）、第５キックフラグがオン（０１ｈ又は１０ｈの場合）であることを示す信号（第３コマンドと呼ぶ。）、又は、それらのいずれでもないことを示す信号（第０コマンド）をマスタプロセッサ４１に出力する。
【０１４１】
なお、ＭＣＵ３３は、第２コマンド及び／又は第３コマンドを送信する場合、左先端遮蔽領域のＸＹ座標及び右先端遮蔽領域のＸＹ座標を当該コマンドに付加して送信する。
【０１４２】
さて、次に、スクリーン１５及びテレビジョンモニタ５に映し出されるゲームの内容を説明する。
【０１４３】
図６（ａ）は、図１のテレビジョンモニタ５に映し出される画面７１Ｔの例示図である（回答前）。図６（ｂ）は、図１のスクリーン１５に映し出される画面７１Ｐの例示図である（回答前）である。図７（ａ）は、図１のテレビジョンモニタ５に映し出される画面７１Ｔの例示図である（回答後）。図７（ｂ）は、図１のスクリーン１５に映し出される画面７１Ｐの例示図である（回答後）である。
【０１４４】
図６（ｂ）を参照して、マスタプロセッサ４１は、ＭＣＵ３３から第１コマンドを受信した場合、画面７１Ｐを表すビデオ信号ＶＤ１を生成して、プロジェクタ９に与える。すると、プロジェクタ９は、ビデオ信号ＶＤ１に基づいて、画面７１Ｐの映像をスクリーン１５に投影する。この画面７１Ｐは、出題オブジェクト７９Ｌ及び７９Ｒ、並びに、ボールオブジェクト８１ＬＰ及び８１ＲＰを含む。
【０１４５】
ボールオブジェクト８１ＬＰ及び８１ＲＰは、再帰反射シート１７−１に沿って、所定距離だけ離れて配置されるように、画面７１Ｐ中に配置される。また、出題オブジェクト７９Ｌは、ボールオブジェクト８１ＬＰの直上に配置される。出題オブジェクト７９Ｒは、ボールオブジェクト８１ＲＰの直上に配置される。
【０１４６】
図６（ａ）を参照して、マスタプロセッサ４１は、ＭＣＵ３３から第１コマンドを受信した場合、スレイブプロセッサ４５に対して、画面７１Ｔの生成指示を出す。スレイブプロセッサ４５は、この生成指示を受けて、画面７１Ｔを表すビデオ信号ＶＤ２を生成して、テレビジョンモニタ５に与える。すると、テレビジョンモニタ５は、ビデオ信号ＶＤ２に基づいて、画面７１Ｔの映像を表示する。この画面７１Ｔは、ゴールキーパーオブジェクト７３、ゴールオブジェクト７５及び出題領域７７を含む。スレイブプロセッサ４５は、出題テーブルの中からランダムに選択した英単語を出題領域７７に表示する。
【０１４７】
プレイヤ２５は、画面７１Ｐの出題オブジェクト７９Ｌ及び７９Ｒのうち、画面７１Ｔの出題領域７７の英単語に対応する出題オブジェクトの直下に位置するボールオブジェクト８１ＬＰ又は８１ＲＰを蹴る動作を行う。
【０１４８】
マスタプロセッサ４１は、ＭＣＵ３３からの第３コマンドにより、プレイヤ２５がボールオブジェクト８１ＬＰ又は８１ＲＰを蹴る動作を行ったこと、及び、ボールオブジェクト８１ＬＰ及び８１ＲＰのうち、どのボールオブジェクトに対して蹴る動作を行ったか、を知ることができる。
【０１４９】
マスタプロセッサ４１は、第３コマンドに基づいて、プレイヤ２５が正解に対応するボールオブジェクトを蹴る動作を行ったと判断した場合、つまり、この例では、出題領域７７の英単語が「Ａｐｐｌｅ」であるので、プレイヤ２５が、「りんご」を表す出題オブジェクト７９Ｌの直下のボールオブジェクト８１ＬＰを蹴る動作を行ったと判断した場合、図示は省略したが、ボールオブジェクト８１ＬＰがスクリーン１５の上側に向かって飛んでいく映像を表すビデオ信号ＶＤ１を生成してプロジェクタ９に与える。これに応じて、プロジェクタ９は、ビデオ信号ＶＤ１に対応する映像をスクリーン１５に投影する。また、この場合、図７（ｂ）に示すように、マスタプロセッサ４１は、映像中のボールオブジェクト８１ＬＰが静止していた場所に、正解であることを示す結果オブジェクト８３を配置する。
【０１５０】
また、マスタプロセッサ４１は、ボールオブジェクト８１ＬＰがスクリーン１５の上端に接した時、スレイブプロセッサ４５に対して、ボールオブジェクト８１ＬＴの生成指示を出す。この生成指示を受けて、図７（ａ）に示すように、スレイブプロセッサ４５は、ボールオブジェクト８１ＬＴが画面７１Ｔの下端から出現してゴールオブジェクト７５に向かって移動し、ゴールキーパーオブジェクト７３がボールオブジェクト８１ＬＴに向かってジャンプするがジャンプのタイミングがずれてボールオブジェクト８１ＬＴのキャッチに失敗しゴールする映像を表すビデオ信号ＶＤ２を生成してテレビジョンモニタ５に与える。これに応じて、テレビジョンモニタ５は、ビデオ信号ＶＤ２に対応する映像を表示する。この場合、プレイヤ２５が見たときに、画面７１Ｐのボールオブジェクト８１ＬＰと画面７１Ｔのボールオブジェクト８１ＬＴとの軌道が、滑らかに接続するように、プロセッサ４１及び４５は、それぞれ画面７１Ｔ及び７１Ｐを生成する。
【０１５１】
このような画面７１Ｔ及び７１Ｐを生成して表示することにより、プレイヤ２５は、正解であることを認識でき、また、あたかもボールを蹴ってゴールしたかのような爽快さを感じることができる。
【０１５２】
また、マスタプロセッサ４１は、プレイヤ２５が正解を出したと判断した場合、ボールオブジェクト８１ＬＰの静止位置からの移動と同時に、爽快にボールを蹴ったような音を表すオーディオ信号ＡＵ１を生成する。一方、スレイブプロセッサ４５は、ボールオブジェクト８１ＬＴがゴールオブジェクト７５に到達した時に、あたかもボールがゴールネットに捕らえられたかのような音を表すオーディオ信号ＡＵ２を生成する。
【０１５３】
一方、図示は省略したが、マスタプロセッサ４１は、第３コマンドに基づいて、プレイヤ２５が不正解に対応するボールオブジェクトを蹴る動作を行なったと判断した場合、つまり、この例では、出題領域７７の英単語が「Ａｐｐｌｅ」であるので、プレイヤ２５が、「りんご」を表す出題オブジェクト７９Ｌの直下のボールオブジェクト８１ＬＰではなく、「バナナ」を表す出題オブジェクト７９Ｒの直下のボールオブジェクト８１ＲＰを蹴る動作を行ったと判断した場合、ボールオブジェクト８１ＲＰがスクリーン１５の上側に向かって飛んでいく映像を表すビデオ信号ＶＤ１を生成してプロジェクタ９に与える。これに応じて、プロジェクタ９は、ビデオ信号ＶＤ１に対応する映像をスクリーン１５に投影する。また、この場合、マスタプロセッサ４１は、映像中のボールオブジェクト８１ＲＰが位置していた場所に、不正解であることを示す結果オブジェクトを配置する。
【０１５４】
また、マスタプロセッサ４１は、ボールオブジェクト８１ＲＰがスクリーン１５の上端に接した時、スレイブプロセッサ４５に対して、ボールオブジェクト８１ＲＴの生成指示を出す。この生成指示を受けて、スレイブプロセッサ４５は、ボールオブジェクト８１ＲＴが画面７１Ｔの下端から出現してゴールオブジェクト７５に向かって移動し、ゴールキーパーオブジェクト７３がボールオブジェクト８１ＲＰに向かってタイミング良くジャンプし、ボールオブジェクト８１ＲＴをキャッチする映像を表すビデオ信号ＶＤ２を生成してテレビジョンモニタ５に与える。これに応じて、テレビジョンモニタ５は、ビデオ信号ＶＤ２に対応する映像を表示する。この場合、プレイヤ２５が見たときに、画面７１Ｐのボールオブジェクト８１ＲＰと画面７１Ｔのボールオブジェクト８１ＲＴとの軌道が、滑らかに接続するように、プロセッサ４１及び４５は、それぞれ画面７１Ｔ及び７１Ｐを生成する。
【０１５５】
このような画面７１Ｔ及び７１Ｐを生成して表示することにより、プレイヤ２５は、不正解であることを認識でき、また、あたかもボールを蹴ってゴールできなかったかのような残念さを感じることができる。
【０１５６】
また、マスタプロセッサ４１は、プレイヤ２５が不正解を出したと判断した場合、ボールオブジェクト８１ＲＰの静止位置からの移動と同時に、爽快にボールを蹴ったような音を表すオーディオ信号ＡＵ１を生成する。一方、スレイブプロセッサ４５は、ボールオブジェクト８１ＲＴがゴールキーパーオブジェクト７３にキャッチされた時に、あたかもボールがキャッチされたかのような音を表すオーディオ信号ＡＵ２を生成する。
【０１５７】
ところで、図示は省略したが、図６（ａ）の画面７１Ｔ及び図６（ｂ）の画面７１Ｐが生成される前では、画面７１Ｔの出題領域７７には、英単語は表示されない。また、画面７１Ｐには、出題オブジェクト７９Ｌ及び７９Ｒ並びにボールオブジェクト８１ＬＰ及び８１ＲＰは表示されない。ただし、再帰反射シート１９−１に重なるように左足裏画像及び再帰反射シート１９−２に重なるように右足裏画像を含む画面７１Ｐが生成され投影される。
【０１５８】
そして、マスタプロセッサ４１は、第１コマンドを受信すると、図６（ｂ）の画面７１Ｐを表すビデオ信号ＶＤ１を生成する。同時に、マスタプロセッサ４１は、スレイブプロセッサ４５に対して、図６（ａ）の画面７１Ｔの生成指示を出す。この生成指示を受けて、スレイブプロセッサ４５は、当該画面７１Ｔを表すビデオ信号ＶＤ２を生成する。
【０１５９】
さて、次に、差分画像８９のスキャンの詳細を説明する。この場合、再帰反射シート１７−１〜１７−３、並びに、再帰反射シート１９−１及び１９−２を１つとみなしたときの再帰反射シート１７−４を一般的に表す場合、再帰反射シート１７−ｋ（ｋ＝１，２，３，４）と表記する。再帰反射シート１７−１〜１７−４に対応する矩形範囲＃１〜＃４を一般的に表す場合、矩形範囲＃ｋ（ｋ＝１，２，３，４）と表記する。
【０１６０】
システム起動時において、矩形範囲＃ｋの最小Ｘ座標、最大Ｘ座標、最小Ｙ座標、及び最大Ｙ座標を、それぞれ、Ｂｘ［ｋ］［ｍ］、Ｅｘ［ｋ］［ｍ］、Ｂｙ［ｋ］、及びＥｙ［ｋ］（ｋ＝１，２，３，４）と表記する。要素番号ｍは、１つの矩形範囲＃ｋに含まれる像を表す。従って、システム起動時では、再帰反射シート１７−ｋは踏まれておらず、陰にもなっていないので、ｍ＝０、である。
【０１６１】
システム起動中において、矩形範囲＃ｋの最小Ｘ座標、最大Ｘ座標、最小Ｙ座標、及び最大Ｙ座標を、それぞれ、ｂｘ［ｋ］［ｍ］、ｅｘ［ｋ］［ｍ］、ｂｙ［ｋ］、及びｅｙ［ｋ］（ｋ＝１，２，３，４）と表記する。要素番号ｍは、１つの矩形範囲＃ｋに含まれる像を表す。従って、１つの矩形範囲＃ｋに含まれる像が１つの場合、つまり、再帰反射シート１７−ｋが踏まれていない場合又は陰になっていない場合（遮蔽領域がない場合）はｍ＝０、１つの矩形範囲＃ｋに含まれる像が２つの場合、つまり、再帰反射シート１７−ｋが片足で踏まれている場合又は片足の陰になっている場合（遮蔽領域が１つの場合）はｍ＝０，１、１つの矩形範囲＃ｋに含まれる像が３つの場合、つまり、再帰反射シート１７−ｋが両足で踏まれている場合又は両足の陰になっている場合（遮蔽領域が２つの場合）はｍ＝０，１，２、である。
【０１６２】
踏まれていない時（又は陰になっていない時）の再帰反射シート１７−ｋの像を、像９０−ｋ（ｋ＝１，２，３，４）と表記する。再帰反射シート１７−ｋが片足で踏まれており（又は片足の陰になっており）、１つの矩形範囲＃ｋに含まれる像が２つの場合、左から、像ｋ−０、像ｋ−１と表記し、その時の遮蔽領域を遮蔽領域ｋ−５と表記する。再帰反射シート１７−ｋが両足で踏まれており（又は両足の陰になっており）、１つの矩形範囲＃ｋに含まれる像が３つの場合、左から、像ｋ−０、像ｋ−１、像ｋ−２と表記し、その時の２つの遮蔽領域を遮蔽領域ｋ−５，ｋ−６と表記する。
【０１６３】
図２３は、システム起動時における差分画像８９のスキャンの詳細な説明図である。図２３を参照して、ＭＣＵ３３は、Ｘ座標をインクリメントしながら、Ｘ＝０〜６３まで、差分画像８９をスキャンする（水平スキャン）。そして、ＭＣＵ３３は、Ｙ座標を１つインクリメントする。そして、ＭＣＵ３３は、水平スキャンを実行する。このように、ＭＣＵ３３は、Ｙ座標をインクリメントしながらＹ＝６３まで水平スキャンを実行する。
【０１６４】
なお、差分画像８９は２値化後のものであり、各画素値は、配列Ｄ［ｘ］［ｙ］に代入されているものとする。要素番号ｘは差分画像８９のＸ座標に対応し、要素番号ｙは、差分画像８９のＹ座標に対応する。
【０１６５】
スキャンの際、配列Ｄ［ｘ］［ｙ］に「１」が代入されている場合（つまり、再帰反射シートの像を構成する画素である場合）、配列Ｖ［ｙ］及びＨ［ｘ］に「１」を代入する。一旦、「１」が代入された配列Ｖ［ｙ］及びＨ［ｘ］は「１」が維持される。
【０１６６】
そして、６４×６４画素のスキャンが完了したときにおいて、「１」が代入されている配列Ｖ［ｙ］のうち、要素番号ｙが一番小さい要素番号ｙが、矩形範囲＃ｋを定義する最小Ｙ座標Ｂｙ［ｋ］であり、要素番号ｙが一番大きい要素番号ｙが、矩形範囲＃ｋを定義する最大Ｙ座標Ｅｙ［ｋ］である。また、６４×６４画素のスキャンが完了したときにおいて、「１」が代入されている配列Ｈ［ｘ］のうち、要素番号ｘが一番小さい要素番号ｘが、矩形範囲＃ｋを定義する最小Ｘ座標Ｂｘ［ｋ］［０］であり、要素番号ｘが一番大きい要素番号ｘが、矩形範囲＃ｋを定義する最大Ｘ座標Ｅｘ［ｋ］［０］である。ただし、矩形範囲＃ｋは、再帰反射シート１７−ｋごとに検出される。図２３では、簡略化のため、１つの再帰反射シート１７−ｋに対応する１つの像９０−ｋだけを記載している。
【０１６７】
図２４は、システム起動中における差分画像８９のスキャンの詳細な説明図である。図２４を参照して、ＭＣＵ３３は、起動時と同様に、Ｙ座標をインクリメントしながらＹ＝６３まで水平スキャンを実行する。この場合、配列Ｖ［ｙ］及びＨ［ｘ］へ値を代入する際のアルゴリズムは、起動時と同じである。
【０１６８】
６４×６４画素のスキャンが完了したときにおいて、「１」が代入されている配列Ｖ［ｙ］のうち、要素番号ｙが一番小さい要素番号ｙが、矩形範囲＃ｋを定義する最小Ｙ座標ｂｙ［ｋ］であり、要素番号ｙが一番大きい要素番号ｙが、矩形範囲＃ｋを定義する最大Ｙ座標ｅｙ［ｋ］である。
【０１６９】
また、６４×６４画素のスキャンが完了したときにおいて、「１」が代入されている左端の配列Ｈ［ｘ］のうち、要素番号ｘが一番小さい要素番号ｘが、左端の像ｋ−０の最小Ｘ座標ｂｘ［ｋ］［０］であり、要素番号ｘが一番大きい要素番号ｘが、左端の像ｋ−０の最大Ｘ座標ｅｘ［ｋ］［０］である。６４×６４画素のスキャンが完了したときにおいて、「１」が代入されている中央の配列Ｈ［ｘ］のうち、要素番号ｘが一番小さい要素番号ｘが、中央の像ｋ−１の最小Ｘ座標ｂｘ［ｋ］［１］であり、要素番号ｘが一番大きい要素番号ｘが、中央の像ｋ−１の最大Ｘ座標ｅｘ［ｋ］［１］である。６４×６４画素のスキャンが完了したときにおいて、「１」が代入されている右端の配列Ｈ［ｘ］のうち、要素番号ｘが一番小さい要素番号ｘが、右端の像ｋ−２の最小Ｘ座標ｂｘ［ｋ］［２］であり、要素番号ｘが一番大きい要素番号ｘが、右端の像ｋ−２の最大Ｘ座標ｅｘ［ｋ］［２］である。
【０１７０】
ただし、これらの処理は、再帰反射シート１７−ｋごとに実行されるものである。図２３では、簡略化のため、１つの再帰反射シート１７−ｋに対応する像ｋ−０〜ｋ−２だけを記載している。なお、図２４では、１つの矩形範囲＃ｋに３つの像が存在する例を挙げたが、像が１つ、あるいは、２つの場合もある。また、この例では、矩形範囲＃ｋの最小Ｘ座標は、像ｋ−０の最小Ｘ座標ｂｘ［ｋ］［０］であり、最大Ｘ座標は、像ｋ−２の最大Ｘ座標ｅｘ［ｋ］［２］である。
【０１７１】
なお、起動時と起動中とで、矩形範囲＃ｋの大きさは変化することがある。なぜなら、プレイヤ２５が、再帰反射シート１７−ｋの左端又は右端を踏んでいたり、陰になっていたりする場合もあるからである。
【０１７２】
図８は、図２のＭＣＵ３３による撮影処理の流れの一例を示すフローチャートである。図８を参照して、ステップＳ１００１において、ＭＣＵ３３は、イメージセンサ３１に赤外発光ダイオード２３を点灯させる。ステップＳ１００３にて、ＭＣＵ３３は、イメージセンサ３１に赤外光点灯時の撮影を実行させる。ステップＳ１００５にて、ＭＣＵ３３は、イメージセンサ３１に赤外発光ダイオード２３を消灯させる。ステップＳ１００７にて、ＭＣＵ３３は、イメージセンサ３１に赤外光消灯時の撮影を実行させる。ステップＳ１００９にて、ＭＣＵ３３は、イメージセンサ３１に、赤外光点灯時の画像と赤外光消灯時の画像との差分画像（カメラ画像）を生成及び出力させる。ステップＳ１０１１にて、ＭＣＵ３３は、イメージセンサ３１が生成した差分画像の各画素（輝度値）を所定の閾値と比較して、２値化し、配列Ｄ［ｘ］［ｙ］に代入する。なお、画素が閾値を超えていた場合、再帰反射シートの像を構成する画素とみなして「１」を設定し、それ以外は再帰反射シートの像が写っていないとみなして「０」を設定する。要素番号ｘは差分画像のＸ座標に対応し、要素番号ｙは、差分画像のＹ座標に対応する。
【０１７３】
ステップＳ１０１３にて、ＭＣＵ３３は、マスタプロセッサ４１からリクエスト信号を受信した場合ステップＳ１００１に進み、受信していない場合ステップＳ１０１３に戻る。
【０１７４】
以上のようにして、ＭＣＵ３３の制御に応答して、イメージセンサ３１は、赤外光の点灯時及び消灯時の撮影、つまり、ストロボ撮影を実行する。また、以上の制御により、赤外発光ダイオード２３は、ストロボスコープとして機能する。
【０１７５】
図９は、図２のＭＣＵ３３による起動時検出処理の流れの一例を示すフローチャートである。図９を参照して、ステップＳ１にて、ＭＣＵ３３は、起動時に必要な初期設定を実行する。ステップＳ３にて、ＭＣＵ３３は、２値化された差分画像Ｄ［ｘ］［ｙ］から、矩形範囲＃ｋの最小Ｙ座標及び最大Ｙ座標（垂直端点）を検出する処理を実行する。ステップＳ５にて、ＭＣＵ３３は、２値化された差分画像Ｄ［ｘ］［ｙ］から、矩形範囲＃ｋの最小Ｘ座標及び最大Ｘ座標（水平端点）を検出する処理を実行する。以上のステップＳ３及びＳ５によって、矩形範囲＃ｋが検出される。
【０１７６】
図１０は、図９のステップＳ３の垂直端点検出処理の流れの一例を示すフローチャートである。図１０を参照して、ステップＳ１１にて、ＭＣＵ３３は、変数ｘ、ｙ、ＮＤ、並びに配列Ｖ［］に０をセットする。変数ｘ及びｙのそれぞれは、差分画像のＸ座標及びＹ座標に相当する。
【０１７７】
ステップＳ１３にて、ＭＣＵ３３は、２値化された差分画像を構成する配列Ｄ［ｘ］［ｙ］の値が１か否かを判断し、１の場合ステップＳ１５に進み、それ以外の場合ステップＳ１７に進む。ステップＳ１５では、ＭＣＵ３３は、変数Ｖ［ｙ］に１を代入して、ステップＳ２１に進む。一方、ステップＳ１７では、ＭＣＵ３３は、変数Ｖ［ｙ］にすでに１が格納されているか否か判断し、格納されている場合ステップＳ２１に進み、１が格納されていない場合、ステップＳ１９に進む。ステップＳ１９では、ＭＣＵ３３は、変数Ｖ［ｙ］に０を代入してステップＳ２１に進む。
【０１７８】
ステップＳ２１では、ＭＣＵ３３は、変数ｘを１つインクリメントする。ステップＳ２３にて、ＭＣＵ３３は、変数ｘの値が６４か否かを判断し、６４の場合（１水平スキャン完了）ステップＳ２５に進み、それ以外はステップＳ１３に戻る。
【０１７９】
ステップＳ２５にて、ＭＣＵ３３は、変数ｙを1つインクリメントし、変数ｘに０を代入する。ステップＳ２７にて、ＭＣＵ３３は、変数ｙの値が６４か否かを判断し、６４の場合（全水平スキャン完了）ステップＳ２９に進み、それ以外はステップＳ１３に戻る。
【０１８０】
ステップＳ２９にて、ＭＣＵ３３は、変数ｙ及びｋ、並びに、配列Ｂｙ［］及びＥｙ［］に０をセットする。ステップＳ３１にて、ＭＣＵ３３は、カウンタｋを１つインクリメントする。
【０１８１】
カウンタｋの値は、上述した符号ｋと同じ意味を有する。この点は、後述のフローチャートについても同じである。
【０１８２】
ステップＳ３３にて、ＭＣＵ３３は、変数Ｖ［ｙ］の値が１か否かを判断し、１の場合ステップＳ３５に進み、それ以外の場合ステップＳ３９に進む。
【０１８３】
ステップＳ３５では、ＭＣＵ３３は、変数Ｖ［ｙ−１］の値が０か否かを判断し、０の場合ステップＳ３７に進み、それ以外の場合ステップＳ４５に進む。ステップＳ３７では、ＭＣＵ３３は、変数Ｂｙ［ｋ］にｙの値を代入してステップＳ４５に進む。一方、ステップＳ３９では、ＭＣＵ３３は、変数Ｖ［ｙ−１］の値が１か否かを判断し、１の場合ステップＳ４１に進み、それ以外の場合ステップＳ４５に進む。ステップＳ４１では、ＭＣＵ３３は、変数Ｅｙ［ｋ］にｙ−１を代入する。ステップＳ４３にて、ＭＣＵ３３は、カウンタｋを１つインクリメントしてステップＳ４５に進む。
【０１８４】
ステップＳ４５では、ＭＣＵ３３は、変数ｙを１つインクリメントする。ステップＳ４７にて、ＭＣＵ３３は、変数ｙの値が６４か否かを判断し、６４の場合ステップＳ４９に進み、それ以外はステップＳ３３に戻る。ステップＳ４９では、ＭＣＵ３３は、変数ＮＤに変数ｋの値を代入してリターンする。
【０１８５】
配列Ｂｙ［ｋ］は、矩形範囲＃ｋの最小Ｙ座標であり、配列Ｅｙ［ｋ］は、矩形範囲＃ｋの最大Ｙ座標である。従って、変数ＮＤは、検出された矩形範囲＃ｋの数を表す。矩形範囲は最大で４つ検出される。ただし、再帰反射シート１９−１及び１９−２のそれぞれに足が置かれている場合は、３つの矩形範囲が検出される。
【０１８６】
図１１は、図９のステップＳ５の水平端点検出処理の流れの一例を示すフローチャートである。図１１を参照して、ステップＳ１０１にて、ＭＣＵ３３は、変数ｋ、ｑ、及び、配列Ｒ［］に０をセットする。ステップＳ１０３にて、ＭＣＵ３３は、カウンタｋを１つインクリメントする。ステップＳ１０５にて、ＭＣＵ３３は、変数ｘ及び配列Ｈ［］に０を代入し、また、変数ｙに配列Ｂｙ［ｋ］の値を代入する。
【０１８７】
ステップＳ１０７にて、ＭＣＵ３３は、差分画像を構成する配列Ｄ［ｘ］［ｙ］が１か否かを判断し、１の場合ステップＳ１０９に進み、それ以外の場合ステップＳ１１１に進む。ステップＳ１０９では、ＭＣＵ３３は、変数Ｈ［ｘ］に１を代入して、ステップＳ１１５に進む。一方、ステップＳ１１１では、ＭＣＵ３３は、変数Ｈ［ｘ］にすでに１が格納されているか否か判断し、格納されている場合ステップＳ１１５に進み、１が格納されていない場合ステップＳ１１３に進む。ステップＳ１１３では、ＭＣＵ３３は、変数Ｈ［ｘ］に０を代入してステップＳ１１５に進む。
【０１８８】
ステップＳ１１５では、ＭＣＵ３３は、変数ｘを１つインクリメントする。ステップＳ１１７にて、ＭＣＵ３３は、変数ｘの値が６４か否かを判断し、６４の場合（１水平スキャン完了）ステップＳ１１９に進み、それ以外はステップＳ１０７に戻る。
【０１８９】
ステップＳ１１９にて、ＭＣＵ３３は、変数ｙを１つインクリメントし、また、変数ｘに０を代入する。ステップＳ１２１にて、ＭＣＵ３３は、変数ｙの値が、配列Ｅｙ［ｋ＋１］の値と等しいか否かを判断し、等しい場合ステップＳ１２３に進み、それ以外はステップＳ１０７に戻る。
【０１９０】
ステップＳ１２３では、ＭＣＵ３３は、変数ｘ及びｍ、並びに、配列Ｂｘ［ｋ］［］及びＥｘ［ｋ］［］に０を代入する。ステップＳ１２５では、ＭＣＵ３３は、変数Ｈ［ｘ］の値が１か否かを判断し、１の場合ステップＳ１２７に進み、それ以外の場合ステップＳ１３１に進む。ステップＳ１２７では、ＭＣＵ３３は、配列Ｈ［ｘ−１］の値が０か否かを判断し、０の場合ステップＳ１２９に進み、それ以外はステップＳ１３７に進む。ステップＳ１２９では、ＭＣＵ３３は、配列Ｂｘ［ｋ］［ｍ］に変数ｘの値を代入する。一方、ステップＳ１３１では、ＭＣＵ３３は、配列Ｈ［ｙ−１］の値が１か否かを判断し、１の場合ステップＳ１３３に進み、それ以外はステップＳ１３７に進む。ステップＳ１３３では、ＭＣＵ３３は、配列Ｅｘ［ｋ］［ｍ］にｘ−１を代入する。ステップＳ１３５にて、ＭＣＵ３３は、カウンタｍを１つインクリメントしてステップＳ１３７に進む。
【０１９１】
カウンタｍの値は、上述した符号ｍと同じ意味を有する。この点は、後述のフローチャートについても同じである。
【０１９２】
ステップＳ１３７では、ＭＣＵ３３は、変数ｘの値を１つインクリメントする。ステップＳ１３９にて、ＭＣＵ３３は、変数ｘの値が６４か否かを判断し、６４の場合（１水平スキャン完了）ステップＳ１４１に進み、それ以外はステップＳ１２５に戻る。
【０１９３】
ステップＳ１４１では、ＭＣＵ３３は、配列Ｒ［ｋ］に変数ｍの値を代入する。配列Ｒ［ｋ］の値は、１つの矩形範囲＃ｋに含まれる像の数を示す。ステップＳ１４３にて、ＭＣＵ３３は、変数Ｒ［ｋ］が１か否かを判断し、１の場合ステップＳ１４５に進み、それ以外はステップＳ１４７に進む。ステップＳ１４５では、ＭＣＵ３３は、変数ｑの値を１つインクリメントする。ステップＳ１４７にて、ＭＣＵ３３は、変数ｋの値が３か否かを判断し、３の場合リターンし、それ以外はステップＳ１０３に戻る。なぜなら、像９２−１及び９２−２に対応する矩形範囲＃４の最小Ｘ座標及び最大Ｙ座標は、後の処理で使用しないからである。
【０１９４】
ここで、ステップＳ１４７で肯定判断がされた後の変数ｑの値が３の場合、３つの矩形範囲＃１〜＃３のそれぞれに、１つの像だけが含まれることを意味する。つまり、再帰反射シート１７−１〜１７−３のいずれにも、プレイヤ２５がのっておらず、また、陰にもなっていないことを意味する。
【０１９５】
また、配列Ｂｘ［ｋ］［ｍ］の値は、矩形範囲＃ｋを定義する最小Ｘ座標であり、配列Ｅｘ［ｋ］［ｍ］の値は、矩形範囲＃ｋを定義する最大Ｘ座標である。ただし、起動時では、１つの矩形範囲＃ｋに１つの像のみが存在するので、これらはそれぞれ、Ｂｘ［ｋ］［０］及びＥｘ［ｋ］［０］である。
【０１９６】
図１２は、図２のＭＣＵ３３による起動中検出処理の流れの一例を示すフローチャートである。図１２を参照して、ステップＳ１０１にて、ＭＣＵ３３は、起動中に必要な初期設定を実行する。この初期設定において、後述の第１〜第５キックフラグが初期化される。
【０１９７】
ステップＳ２０１にて、ＭＣＵ３３は、２値化された差分画像Ｄ［ｘ］［ｙ］から、矩形範囲＃ｋのそれぞれに含まれる各像の最小Ｙ座標及び最大Ｙ座標（垂直端点）を検出する。ステップＳ２０１の処理は、図１０の垂直端点検出処理と同様であり、説明を省略する。ただし、図１０において、配列Ｂｙ［ｋ］を配列ｂｙ［ｋ］と、配列Ｅｙ［ｋ］を配列ｅｙ［ｋ］と、読み替える。
【０１９８】
ステップＳ２０３にて、ＭＣＵ３３は、２値化された差分画像Ｄ［ｘ］［ｙ］から、矩形範囲＃ｋのそれぞれに含まれる各像の最小Ｘ座標及び最大Ｘ座標（水平端点）を検出する。ステップＳ２０３の処理は、図１１の水平端点検出処理と同様であり、説明を省略する。ただし、図１１において、配列Ｂｘ［ｋ］［ｍ］を配列ｂｘ［ｋ］［ｍ］と、配列Ｅｘ［ｋ］［ｍ］を配列ｅｘ［ｋ］［ｍ］と、読み替える。
【０１９９】
ステップＳ２０５にて、ＭＣＵ３３は、キック前処理を実行する。ステップＳ２０７にて、ＭＣＵ３３は、スクリーン１５上の足数を判定する処理を実行する。ステップＳ２０９にて、ＭＣＵ３３は、スクリーン１５上のプレイヤ２５の足の左右判定処理を実行する。ステップＳ２１１にて、ＭＣＵ３３は、プレイヤ２５がキック動作を行なったか否かの判定処理を実行する。ステップＳ２１３にて、ＭＣＵ３３は、キック動作が、ボールオブジェクト８１ＬＰ又は８１ＲＰにヒットしたか否かの判定処理を実行する。ステップＳ２１５にて、ＭＣＵ３３は、ステップＳ２０１〜Ｓ２１３の処理結果に基づいて、コマンドＣＤを生成する。
【０２００】
ステップＳ２１７にて、ＭＣＵ３３は、マスタプロセッサ４１からリクエスト信号を受信したか否かを判断し、受信していない場合ステップＳ２１７に戻り、受信した場合ステップＳ２１９に進む。ステップＳ２１９にて、ＭＣＵ３３は、ステップＳ２１５で生成したコマンドＣＤをマスタプロセッサ４１に送信して、ステップＳ２０１に進む。
【０２０１】
図１３は、図１２のステップＳ２０５のキック前処理の流れの一例を示すフローチャートである。図１３を参照して、ステップＳ２５１にて、ＭＣＵ３３は、第３キックフラグがオンか否かを判断し、オンの場合リターンし、オフの場合ステップＳ２５３に進む。ステップＳ２５３にて、ＭＣＵ３３は、第２キックフラグがオンか否かを判断し、オンの場合ステップＳ２５５に進み、オフの場合ステップＳ２６１に進む。
【０２０２】
ステップＳ２５４では、ＭＣＵ３３は、配列Ｒ［１］が１か否かを判断し、つまり、再帰反射シート１７−１に対応する矩形範囲＃２に１つの像のみが含まれるか否かを判断し、１の場合ステップＳ２５５に進み、それ以外はステップＳ２５７に進む。矩形範囲＃１に１つの像のみが含まれるということは、再帰反射シート１７−１にプレイヤ２５がのっておらず、陰にもなっていないことを意味する。
【０２０３】
ステップＳ２５５にて、ＭＣＵ３３は、配列Ｒ［２］の値が３か否かを判断し、つまり、再帰反射シート１７−２に対応する矩形範囲＃２に３つの像が含まれるか否かを判断し、３の場合ステップＳ２５９に進み、それ以外はステップＳ２５７に進む。矩形範囲＃２に３つの像が含まれるということは、再帰反射シート１７−２に両足がのっており（又は、両足の陰になっており）、遮蔽領域が２つ存在することを意味する。従って、ステップＳ２５９では、ＭＣＵ３３は、第３キックフラグをオンにし、第２キックフラグをオフにして、リターンする。また、ステップＳ２５７では、ＭＣＵ３３は、第２キックフラグをオフにしてステップＳ２６３に進む。
【０２０４】
ステップＳ２６１では、ＭＣＵ３３は、第１キックフラグがオンか否かを判断し、オンの場合ステップＳ２６３に進み、オフの場合ステップＳ２６７に進む。ステップＳ２６３では、ＭＣＵ３３は、配列Ｒ［１］,Ｒ［２］及びＲ［３］のうちのどれかが１より大きいか否かを判断し、つまり、再帰反射シート１７−１,１７−２及び１７−３のどれかに、片足又は両足がのっているか否か及び片足又は両足の陰になっているか否かを判断し、肯定判断の場合ステップＳ２６５に進み、それ以外は図１２のステップＳ２１５に進む。ステップＳ２６５では、ＭＣＵ３３は、第２キックフラグをオンにし、第１キックフラグをオフにして、図１２のステップＳ２１５に進む。
【０２０５】
ステップＳ２６７では、ＭＣＵ３３は、変数ＮＤの値が３か否かを判断し、つまり、検出された矩形範囲＃ｋの数が３か否かを判断し、３の場合ステップＳ２６９に進み、それ以外は図１２のステップＳ２１５に進む。矩形範囲＃ｋの数が３ということは、再帰反射シート１９−１及び１９−２の像９２−１及び９２−２が検出されなかったことを意味する。ステップＳ２６９にて、ＭＣＵ３３は、変数ｑの値が３か否かを判断し、つまり、３つの矩形範囲＃１〜＃３のそれぞれに、１つの像だけが含まれるか否かを判断し、３の場合ステップＳ２７１に進み、それ以外は図１２のステップＳ２１５に進む。ステップＳ２７１にて、ＭＣＵ３３は、第１キックフラグをオンにして、図１２のステップＳ２１５に進む。
【０２０６】
図１４は、図１２のステップＳ２０７の足数判定処理の流れの一例を示すフローチャートである。図１４を参照して、ステップＳ３０１にて、ＭＣＵ３３は、変数ｋ及び配列Ｆ［］に０をセットする。ステップＳ３０３にて、ＭＣＵ３３は、カウンタｋを１つインクリメントする。ステップＳ３０５にて、ＭＣＵ３３は、配列Ｒ［ｋ］の値が３か否かを判断し、３の場合ステップＳ３０７に進み、それ以外はステップＳ３０９に進む。ステップＳ３０７では、ＭＣＵ３３は、矩形範囲＃ｋに３つの像が含まれて２つの遮蔽領域（二つの足）が存在することを示す２０ｈを配列Ｆ［ｋ］に代入してステップＳ３４１に進む。
【０２０７】
ステップＳ３０９では、ＭＣＵ３３は、配列Ｂｘ［ｋ］［０］の値（起動時の矩形範囲＃ｋの最小Ｘ座標）と配列ｂｘ［ｋ］［０］の値（現在の矩形範囲＃ｋの最小Ｘ座標）とを比較する。
【０２０８】
ステップＳ３１１にて、ＭＣＵ３３は、配列Ｂｘ［ｋ］［０］の値と配列ｂｘ［ｋ］［０］の値とが等しい場合、つまり、矩形範囲＃ｋに対応する再帰反射シートの左端が踏まれていない場合、ステップＳ３１３に進み、それ以外は、つまり、左端が踏まれている場合ステップＳ３３５に進む。ステップＳ３３５では、ＭＣＵ３３は、配列Ｒ［ｋ］の値が２か否かを判断し、２の場合ステップＳ３３７に進み、それ以外はステップＳ３３９に進む。ステップＳ３３７では、ＭＣＵ３３は、矩形範囲＃ｋに対応する再帰反射シート１７−ｋの左端が踏まれ、かつ、その再帰反射シート１７−ｋの別の場所が踏まれていることを示す２１ｈを配列Ｆ［ｋ］に代入してステップＳ３４１に進む。また、ステップＳ３３９では、ＭＣＵ３３は、矩形範囲＃ｋに対応する再帰反射シート１７−ｋの左端が踏まれ、かつ、その再帰反射シート１７−ｋの別の部位が踏まれていないことを示す１１ｈを配列Ｆ［ｋ］に代入してステップＳ３４１に進む。
【０２０９】
ステップＳ３１３にて、ＭＣＵ３３は、配列Ｒ［ｋ］の値が２か否かを判断し、２の場合ステップＳ３１５に進み、それ以外はステップＳ３２７に進む。ステップＳ３２７では、ＭＣＵ３３は、配列Ｅｘ［ｋ］［０］の値（起動時の矩形範囲＃ｋの最大Ｘ座標）と配列ｅｘ［ｋ］［０］の値（現在の矩形範囲＃ｋの最大Ｘ座標）とを比較する。ステップＳ３２９にて、ＭＣＵ３３は、配列Ｅｘ［ｋ］［０］の値と配列ｅｘ［ｋ］［０］の値とが等しい場合ステップＳ３３３に進み、それ以外はステップＳ３３１に進む。ステップＳ３３３では、ＭＣＵ３３は、矩形範囲＃ｋに対応する再帰反射シー１７−ｋが踏まれていないことを示す００ｈを配列Ｆ［ｋ］に代入する。ステップＳ３３１では、ＭＣＵ３３は、矩形範囲＃ｋに対応する再帰反射シート１７−ｋの右端が踏まれ、かつ、その再帰反射シート１７−ｋの別の場所が踏まれていないことを示す１２ｈを配列Ｆ［ｋ］に代入する。
【０２１０】
ステップＳ３１５では、ＭＣＵ３３は、配列Ｅｘ［ｋ］［０］の値（起動時の矩形範囲＃ｋの最大Ｘ座標）と配列ｅｘ［ｋ］［１］の値（現在の矩形範囲＃ｋの最大Ｘ座標）とを比較する。ステップＳ３１７にて、ＭＣＵ３３は、配列Ｅｘ［ｋ］［０］の値と配列ｅｘ［ｋ］［１］の値とが等しい場合ステップＳ３２１に進み、それ以外はステップＳ３１９に進む。ステップＳ３１９では、ＭＣＵ３３は、矩形範囲＃ｋに対応する再帰反射シート１７−ｋの右端が踏まれ、かつ、その再帰反射シート１７−ｋの別の場所が踏まれていることを示す２２ｈを、配列Ｆ［ｋ］に代入する。
【０２１１】
ステップＳ３２１では、ＭＣＵ３３は、カウンタｋの値が１か否かを判断し、１の場合ステップＳ３２３に進み、それ以外はステップＳ３２５に進む。ステップＳ３２３では、ＭＣＵ３３は、矩形範囲＃１に対応する再帰反射シート１７−１の左端及び右端以外の部分に一本の足が置かれている（あるいは片足の陰になっている）ことを示す１０ｈを配列Ｆ［ｋ］に代入する。ステップＳ３２５では、ＭＣＵ３３は、幅判定処理を実行する。
【０２１２】
ステップＳ３４１では、ＭＣＵ３３は、カウンタｋが３になったか否かを判断し、３の場合リターンし、それ以外はステップＳ３０３に戻る。
【０２１３】
図１５は、図１４のステップＳ３２５の幅判定処理の流れの一例を示すフローチャートである。図１５を参照して、ステップＳ３６１にて、ＭＣＵ３３は、変数Ａに、次式により得られた値を代入する。
【０２１４】
Ａ←ｂｘ［ｋ−１］［１］−ｅｘ［ｋ−１］［０］
【０２１５】
変数ｂｘ［ｋ−１］［１］は、矩形範囲＃ｋの１つ下の矩形範囲＃ｋ−１に含まれる左から二番目の像の最小Ｘ座標であり、変数ｅｘ［ｋ−１］［０］は、矩形範囲＃ｋ−１に含まれる左から一番目の像の最大Ｘ座標である。つまり、変数Ａは、矩形範囲＃ｋ−１に含まれる遮蔽領域の幅である。
【０２１６】
また、ステップＳ３６３にて、ＭＣＵ３３は、変数Ｂに、次式により得られた値を代入する。
【０２１７】
Ｂ←ｂｘ［ｋ］［１］−ｅｘ［ｋ］［０］
【０２１８】
変数ｂｘ［ｋ］［１］は、矩形範囲＃ｋに含まれる左から二番目の像の最小Ｘ座標であり、変数ｅｘ［ｋ］［０］は、矩形範囲＃ｋに含まれる左から一番目の像の最大Ｘ座標である。つまり、変数Ｂは、矩形範囲＃ｋに含まれる遮蔽領域の幅である。
【０２１９】
そして、ステップＳ３６５にて、ＭＣＵ３３は、変数Ｂの値が、変数Ａを２倍した値より大ききか否かを判断し、大きい場合ステップＳ３６７に進み、それ以外はステップＳ３６９に進む。ステップＳ３６７にて、ＭＣＵ３３は、矩形範囲＃ｋに対応する再帰反射シート１７−ｋが近接した両足で踏まれていることを示す２３ｈを変数Ｆ［ｋ］に代入してリターンする。ステップＳ３６９では、ＭＣＵ３３は、１０ｈを変数Ｆ［ｋ］に代入してリターンする。
【０２２０】
ここで、変数Ｆ［ｋ］に設定される内容について整理する。２０ｈは、矩形範囲＃ｋに３つの像が含まれて２つの遮蔽領域（二つの足）が存在することを示す。２１ｈは、矩形範囲＃ｋに対応する再帰反射シート１７−ｋの左端が踏まれ（あるいは陰になり）、かつ、その再帰反射シート１７−ｋの別の場所が踏まれていること（あるいは陰になっていること）を示す。１１ｈは、矩形範囲＃ｋに対応する再帰反射シート１７−ｋの左端が踏まれ（あるいは陰になり）、かつ、その再帰反射シート１７−ｋの別の部位が踏まれていないこと（陰にもなっていないこと）を示す。００ｈは、矩形範囲＃ｋに対応する再帰反射シー１７−ｋが踏まれていないこと（陰にもなっていないこと）を示す。１２ｈは、矩形範囲＃ｋに対応する再帰反射シート１７−ｋの右端が踏まれ（あるいは陰になっており）、かつ、その再帰反射シート１７−ｋの別の場所が踏まれていないこと（陰にもなっていないこと）を示す。２２ｈは、矩形範囲＃ｋに対応する再帰反射シート１７−ｋの右端が踏まれ（あるいは陰になっており）、かつ、その再帰反射シート１７−ｋの別の場所が踏まれていること（あるいは陰になっていること）を示す。１０ｈは、矩形範囲＃１に対応する再帰反射シート１７−１の左端及び右端以外の部分に一本の足が置かれている（あるいは片足の陰になっている）ことを示す。２３ｈは、矩形範囲＃ｋに対応する再帰反射シート１７−ｋが近接した両足で踏まれている（あるいは近接した両足の陰になっている）ことを示す。つまり、両足が近接しているために、本来二つであるべき遮蔽領域が分離されていない状態である。
【０２２１】
図１６及び図１７は、図１３のステップＳ２０９の左右判定処理の流れの一例を示すフローチャートである。図１６を参照して、ステップＳ４０１にて、ＭＣＵ３３は、左右フラグＬＲＦ［］に００ｈをセットする。ステップＳ４０３にて、ＭＣＵ３３は、変数ｋ、並びに、配列ＸＬ［］、ＹＬ［］、ＸＲ［］、ＹＲ［］、ＸＩ［］、及びＹＩ［］に０をセットする。
【０２２２】
ステップＳ４０５にて、ＭＣＵ３３は、カウンタｋを１つインクリメントする。ステップＳ４０７にて、変数ＹＬ［ｋ］及びＹＲ［ｋ］に次式により得られる値を代入する。
【０２２３】
ＹＬ［ｋ］←（Ｂｙ［ｋ］＋Ｅｙ［ｋ］）／２
ＹＲ［ｋ］←（Ｂｙ［ｋ］＋Ｅｙ［ｋ］）／２
【０２２４】
変数ＹＬ［ｋ］は、矩形範囲＃ｋに含まれる、左足に対応する遮蔽領域のＹ座標、つまり、左足のＹ座標である。変数ＹＲ［ｋ］は、矩形範囲＃ｋに含まれる、右足に対応する遮蔽領域のＹ座標、つまり、右足のＹ座標である。
【０２２５】
ステップＳ４０９にて、ＭＣＵ３３は、変数Ｆ［ｋ］の値が２０ｈか否かを判断し、２０ｈの場合ステップＳ４１１に進み、それ以外はステップＳ４１３に進む。ステップＳ４１１では、ＭＣＵ３３は、変数ＸＬ［ｋ］及びＸＲ［ｋ］にそれぞれ次式により得られる値を代入する。
【０２２６】
ＸＬ［ｋ］←（ｅｘ［ｋ］［０］＋ｂｘ［ｋ］［１］）／２
ＸＲ［ｋ］←（ｅｘ［ｋ］［１］＋ｂｘ［ｋ］［２］）／２
【０２２７】
変数ＸＬ［ｋ］は、矩形範囲＃ｋに含まれる、左足に対応する遮蔽領域のＸ座標、つまり、左足のＸ座標である。変数ＸＲ［ｋ］は、矩形範囲＃ｋに含まれる、右足に対応する遮蔽領域のＸ座標、つまり、右足のＸ座標である。
【０２２８】
ステップＳ４１３にて、ＭＣＵ３３は、変数Ｆ［ｋ］の値が２１ｈか否かを判断し、２１ｈの場合ステップＳ４１５に進み、それ以外はステップＳ４１７に進む。ステップＳ４１５では、ＭＣＵ３３は、変数ＸＬ［ｋ］及びＸＲ［ｋ］にそれぞれ次式により得られる値を代入する。
【０２２９】
ＸＬ［ｋ］←（Ｂｘ［ｋ］［０］＋ｂｘ［ｋ］［０］）／２
ＸＲ［ｋ］←（ｅｘ［ｋ］［０］＋ｂｘ［ｋ］［１］）／２
【０２３０】
ステップＳ４１７にて、ＭＣＵ３３は、変数Ｆ［ｋ］の値が２２ｈか否かを判断し、２２ｈの場合ステップＳ４１９に進み、それ以外はステップＳ４２１に進む。ステップＳ４１９では、ＭＣＵ３３は、変数ＸＬ［ｋ］及びＸＲ［ｋ］にそれぞれ次式により得られる値を代入する。
【０２３１】
ＸＬ［ｋ］←（ｅｘ［ｋ］［０］＋ｂｘ［ｋ］［１］）／２
ＸＲ［ｋ］←（ｅｘ［ｋ］［１］＋Ｅｘ［ｋ］［０］）／２
【０２３２】
ステップＳ４２１にて、ＭＣＵ３３は、変数Ｆ［ｋ］の値が２３ｈか否かを判断し、２３ｈの場合ステップＳ４２３に進み、それ以外はステップＳ４２９に進む。ステップＳ４２３では、変数Ｃｘに次式により得られる値を代入する。
【０２３３】
Ｃｘ←（ｅｘ［ｋ］［０］＋ｂｘ［ｋ］［１］）／２
【０２３４】
ステップＳ４２５にて、ＭＣＵ３３は、変数ＸＬ［ｋ］及びＸＲ［ｋ］にそれぞれ次式により得られる値を代入する。
【０２３５】
ＸＬ［ｋ］←（ｅｘ［ｋ］［０］＋Ｃｘ）／２
ＸＲ［ｋ］←（Ｃｘ＋ｂｘ［ｋ］［１］）／２
【０２３６】
ステップＳ４２７では、ＭＣＵ３３は、左右フラグＬＲＦ［ｋ］に、矩形範囲＃ｋに２つの遮蔽領域（つまり、両足）が検出されたことを示す１１ｈを代入する。ステップＳ４２９では、ＭＣＵ３３は、カウンタｋの値が３か否かを判断し、３の場合図１７のステップＳ４５１に進み、それ以外はステップＳ４０５に戻る。
【０２３７】
図１７を参照して、ステップＳ４５１にて、ＭＣＵ３３は、変数ｋに０を代入する。ステップＳ４５３にて、ＭＣＵ３３は、変数ｋを１つインクリメントする。ステップＳ４５５にて、ＭＣＵ３３は、変数Ｆ［ｋ］の値が、１０ｈ、１１ｈあるいは１２ｈであるか否かを判断し、肯定判断の場合ステップＳ４５７に進み、否定判断の場合ステップＳ４９１に進む。ステップＳ４９１にて、ＭＣＵ３３は、変数Ｆ［ｋ］の値が００ｈか否かを判断し、肯定判断の場合ステップＳ４９３に進み、否定判断の場合ステップＳ４９５に進む。ステップＳ４９３では、ＭＣＵ３３は、変数ＹＬ［ｋ］及びＹＲ［ｋ］にそれぞれ０を代入してステップＳ４９５に進む。
【０２３８】
ステップＳ４５７にて、ＭＣＵ３３は、変数Ｆ［ｋ］の値が１０ｈか否かを判断し、１０ｈの場合ステップＳ４５９に進み、それ以外はステップＳ４６１に進む。ステップＳ４５９では、ＭＣＵ３３は、変数Ｔｘに次式により得られる値を代入する。変数Ｔｘは、矩形範囲＃ｋに含まれる１つの遮蔽領域のＸ座標である。
【０２３９】
Ｔｘ←（ｅｘ［ｋ］［０］＋ｂｘ［ｋ］［１］）／２
【０２４０】
ステップＳ４６１では、ＭＣＵ３３は、変数Ｆ［ｋ］の値が１１か否かを判断し、１１ｈの場合ステップＳ４６３に進み、それ以外はステップＳ４６５に進む。ステップＳ４６３では、ＭＣＵ３３は、変数Ｔｘに次式により得られる値を代入する。
【０２４１】
Ｔｘ←（Ｂｘ［ｋ］［０］＋ｂｘ［ｋ］［０］）／２
【０２４２】
ステップＳ４６５では、ＭＣＵ３３は、変数Ｔｘに次式により得られる値を代入する。
【０２４３】
Ｔｘ←（Ｅｘ［ｋ］［０］＋ｅｘ［ｋ］［０］）／２
【０２４４】
ステップＳ４６９にて、ＭＣＵ３３は、変数Ｆ［ｋ＋１］の値が、２０ｈ、２１ｈ、２２ｈ、あるいは２３ｈであるか否かを判断し、肯定判断の場合ステップＳ４７１に進み、否定判断の場合ステップＳ４８５に進む。
【０２４５】
ステップＳ４８５では、ＭＣＵ３３は、変数ＸＩ［ｋ］及びＹＩ［ｋ］にそれぞれ次式により得られる値を代入する。
【０２４６】
ＸＩ［ｋ］←Ｔｘ
ＹＩ［ｋ］←ＹＬ［ｋ］
【０２４７】
変数ＸＩ［ｋ］及びＹＩ［ｋ］は、矩形範囲＃ｋに１つの遮蔽領域のみが存在するが、左右が決定できなかった場合に（左右不定の場合に）、その遮蔽領域のＸＹ座標を代入する変数である。
【０２４８】
ステップＳ４８７では、ＭＣＵ３３は、変数ＹＬ［ｋ］及びＹＲ［ｋ］にそれぞれ０を代入する。ステップＳ４８９にて、ＭＣＵ３３は、左右フラグＬＲＦ［ｋ］に、矩形範囲＃ｋの１つのみの遮蔽領域の左右が不定であることを示すＡＡｈを代入する。
【０２４９】
ステップＳ４７１にて、ＭＣＵ３３は、変数ＣＭ１及びＣＭ２にそれぞれ次式により得られる値を代入する。
【０２５０】
ＣＭ１←｜Ｔｘ−ＸＬ［ｋ＋１］｜
ＣＭ２←｜Ｔｘ−ＸＲ［ｋ＋１］｜
【０２５１】
変数ＣＭ１は、矩形範囲＃ｋの遮蔽領域のＸ座標と、１つ下の矩形範囲＃ｋ＋１の左の遮蔽領域のＸ座標と、の差の絶対値である。変数ＣＭ２は、矩形範囲＃ｋの遮蔽領域のＸ座標と、１つ下の矩形範囲＃ｋ＋１の右の遮蔽領域のＸ座標と、の差の絶対値である。
【０２５２】
ステップＳ４７５にて、ＭＣＵ３３は、変数ＣＭ１の値がＣＭ２の値より小さいか否かを判断し、小さい場合、つまり、矩形範囲＃ｋの遮蔽領域のＸ座標が、矩形範囲＃ｋ＋１の左の遮蔽領域のＸ座標に近い場合、ステップＳ４７７に進み、それ以外は、つまり、矩形範囲＃ｋの遮蔽領域のＸ座標が、矩形範囲＃ｋ＋１の右の遮蔽領域のＸ座標に近い場合、ステップＳ４８１に進む。
【０２５３】
ステップＳ４７７では、ＭＣＵ３３は、変数ＸＬ［ｋ］及びＹＲ［ｋ］にそれぞれ次式により得られる値を代入する。
【０２５４】
ＸＬ［ｋ］←Ｔｘ
ＹＲ［ｋ］←０
【０２５５】
ステップＳ４７９では、ＭＣＵ３３は、フラグＬＲＦ［ｋ］に、矩形範囲＃ｋの１つのみの遮蔽領域が左足に対応することを示す０１ｈを代入する。
【０２５６】
ステップＳ４８１では、ＭＣＵ３３は、変数ＸＲ［ｋ］及びＹＬ［ｋ］にそれぞれ次式により得られる値を代入する。
【０２５７】
ＸＲ［ｋ］←Ｔｘ
ＹＬ［ｋ］←０
【０２５８】
ステップＳ４８３では、ＭＣＵ３３は、フラグＬＲＦ［ｋ］に、矩形範囲＃ｋの１つのみの遮蔽領域が右足に対応することを示す１０ｈを代入する。
【０２５９】
ステップＳ４９５にて、ＭＣＵ３３は、変数ｋの値が３か否かを判断し、３の場合リターンし、それ以外はステップＳ４５３に戻る。
【０２６０】
図１８は、図１３のステップＳ２１１のキック判定処理の流れの一例を示すフローチャートである。図１８を参照して、ステップＳ５５１にて、ＭＣＵ３３は、変数Ｆ［１］が１０ｈ、１１ｈあるいは１２ｈであるか否かを判断し、肯定判断の場合ステップＳ５５３に進み、否定判断の場合ステップＳ５６３に進む。
【０２６１】
ステップＳ５５３にて、ＭＣＵ３３は、前回の変数Ｆ［１］の値が００ｈか否かを判断し、００ｈの場合ステップＳ５５５に進み、それ以外はステップＳ５６３に進む。ステップＳ５５５にて，ＭＣＵ３３は、左右フラグＬＲＦ［１］が０１ｈか否かを判断し、０１ｈの場合ステップＳ５６１に進み、それ以外はステップＳ５５７に進む。ステップＳ５６１にて、ＭＣＵ３３は、第４キックフラグＹＦに１１０１ｈを代入してリターンする。代入値１１０１ｈは、上記の第１パターンのキックが左足でなされたことを示す。
【０２６２】
ステップＳ５５７にて、ＭＣＵ３３は、フラグＬＲＦ［１］が１０ｈか否かを判断し、１０ｈの場合ステップＳ５５９に進み、それ以外はステップＳ５６３に進む。ステップＳ５５９では、ＭＣＵ３３は、第４キックフラグＹＦに１１１０ｈを代入してリターンする。代入値１１１０ｈは、上記の第１パターンのキックが右足でなされたことを示す。
【０２６３】
ステップＳ５６３にて、ＭＣＵ３３は、変数Ｆ［１］が２０ｈ、２１ｈ、２２ｈあるいは２３ｈであるか否かを判断し、肯定判断の場合ステップＳ５６５に進み、否定判断の場合ステップＳ５７９に進む。
【０２６４】
ステップＳ５６５にて、ＭＣＵ３３は、前回の変数Ｆ［１］の値が１０ｈ、１１ｈあるいは１２ｈであるか否かを判断し、肯定判断の場合ステップＳ５６７に進み、否定判断の場合ステップＳ５７５に進む。ステップＳ５６７にて，ＭＣＵ３３は、前回の左右フラグＬＲＦ［１］が０１ｈか否かを判断し、０１ｈの場合ステップＳ５６９に進み、それ以外はステップＳ５７１に進む。ステップＳ５６９にて、ＭＣＵ３３は、第４キックフラグＹＦに２２１０ｈを代入してリターンすする。代入値２２１０ｈは、上記の第２パターンのキックが右足でなされたことを示す。
【０２６５】
ステップＳ５７１にて、ＭＣＵ３３は、前回のフラグＬＲＦ［１］が１０ｈか否かを判断し、１０ｈの場合ステップＳ５７３に進み、それ以外はステップＳ５７９に進む。ステップＳ５７３では、ＭＣＵ３３は、第４キックフラグＹＦに２２０１ｈを代入してリターンする。代入値２２０１ｈは、上記の第２パターンのキックが左足でなされたことを示す。
【０２６６】
ステップＳ５７５では、ＭＣＵ３３は、前回のフラグＬＲＦ［１］が００ｈか否かを判断し、００ｈの場合ステップＳ５７７に進み、それ以外はステップＳ５７９に進む。ステップＳ５７７では、ＭＣＵ３３は、第４キックフラグＹＦに３３１１ｈを代入してリターンする。代入値３３１１ｈは、上記の第３パターンのキックがなされたことを示す。
【０２６７】
ステップＳ５７９にて、ＭＣＵ３３は、変数Ｆ［２］が２０ｈ、２１ｈ、２２ｈあるいは２３ｈであるか否かを判断し、肯定判断の場合ステップＳ５８１に進み、否定判断の場合ステップＳ５９１に進む。
【０２６８】
ステップＳ５８１にて、ＭＣＵ３３は、前回の変数Ｆ［２］の値が１０ｈ、１１ｈあるいは１２ｈであるか否かを判断し、肯定判断の場合ステップＳ５８３に進み、否定判断の場合ステップＳ５９１に進む。ステップＳ５８３にて，ＭＣＵ３３は、前回の左右フラグＬＲＦ［２］が０１ｈか否かを判断し、０１ｈの場合ステップＳ５８５に進み、それ以外はステップＳ５８７に進む。ステップＳ５８５にて、ＭＣＵ３３は、第４キックフラグＹＦに４４１０ｈを代入してリターンすする。代入値４４１０ｈは、上記の第４パターンのキックが右足でなされたことを示す。
【０２６９】
ステップＳ５８７にて、ＭＣＵ３３は、前回のフラグＬＲＦ［２］が１０ｈか否かを判断し、１０ｈの場合ステップＳ５８９に進み、それ以外はステップＳ５９１に進む。ステップＳ５８９では、ＭＣＵ３３は、第４キックフラグＹＦに４４０１ｈを代入してリターンする。代入値４４０１ｈは、上記の第４パターンのキックが左足でなされたことを示す。
【０２７０】
ステップＳ５９１では、ＭＣＵ３３は、第４キックフラグＹＦに００００ｈを代入して図１２のステップＳ２１５に進む。代入値００００ｈは、プレイヤ２５がキックしていないことを示す。
【０２７１】
図１９は、図１３のステップＳ２１３のヒット判定処理の流れの一例を示すフローチャートである。図１９を参照して、ステップＳ６５１にて、ＭＣＵ３３は、第４キックフラグＹＦが１１０１ｈあるいは２２０１ｈか否かを判断し、肯定判断の場合ステップＳ６５３に進み、否定判断の場合はステップＳ６６３に進む。ステップＳ６５３にて、ＭＣＵ３３は、変数ＸＬ［１］の値が左キックレンジ内か否かを判断し、レンジ内の場合ステップＳ６５５に進み、レンジ外の場合ステップＳ６５７に進む。ステップＳ６５５にて、ＭＣＵ３３は、第５キックフラグＧＦに０１ｈを代入してリターンする。代入値０１ｈは、左のボール８１ＬＰをキックしたことを示す。
【０２７２】
ステップＳ６５７にて、ＭＣＵ３３は、変数ＸＬ［１］の値が右キックレンジ内か否かを判断し、レンジ内の場合ステップＳ６５９に進み、レンジ外の場合ステップＳ６６１に進む。ステップＳ６５９では、ＭＣＵ３３は、第５キックフラグＧＦに１０ｈを代入してリターンする。代入値１０ｈは、右のボール８１ＲＰをキックしたことを示す。
【０２７３】
また、ステップＳ６６１では、ＭＣＵ３３は、第５キックフラグＧＦに００ｈを代入してリターンする。代入値００ｈは、空振りを示す。
【０２７４】
ステップＳ６６３にて、ＭＣＵ３３は、第４キックフラグＹＦが１１１０ｈあるいは２２１０ｈか否かを判断し、肯定判断の場合ステップＳ６６５に進み、否定判断の場合はステップＳ６７５に進む。ステップＳ６６５にて、ＭＣＵ３３は、変数ＸＲ［１］の値が左キックレンジ内か否かを判断し、レンジ内の場合ステップＳ６６７に進み、レンジ外の場合ステップＳ６６９に進む。
【０２７５】
ステップＳ６６７にて、ＭＣＵ３３は、第５キックフラグＧＦに０１ｈを代入してリターンする。ステップＳ６６９にて、ＭＣＵ３３は、変数ＸＲ［１］の値が右キックレンジ内か否かを判断し、レンジ内の場合ステップＳ６７３に進み、レンジ外の場合ステップＳ６７１に進む。ステップＳ６７３では、ＭＣＵ３３は、第５キックフラグＧＦに１０ｈを代入してリターンする。また、ステップＳ６７１では、ＭＣＵ３３は、第５キックフラグＧＦに００ｈを代入してリターンする。
【０２７６】
ステップＳ６７５にて、ＭＣＵ３３は、第４キックフラグＹＦが３３１１ｈか否かを判断し、３３１１ｈの場合ステップＳ６７７に進み、それ以外はステップＳ６８９に進む。ステップＳ６７７にて、ＭＣＵ３３は、変数ＡＶに次式により得られる値を代入する。
【０２７７】
ＡＶ←（ＸＬ［１］＋ＸＲ［１］）／２
【０２７８】
ステップＳ６７９にて、ＭＣＵ３３は、変数ＡＶの値が左キックレンジ内か否かを判断し、レンジ内の場合ステップＳ６８１に進み、レンジ外の場合ステップＳ６８３に進む。
【０２７９】
ステップＳ６８１にて、ＭＣＵ３３は、第５キックフラグＧＦに０１ｈを代入してリターンする。ステップＳ６８３にて、ＭＣＵ３３は、変数ＡＶの値が右キックレンジ内か否かを判断し、レンジ内の場合ステップＳ６８７に進み、レンジ外の場合ステップＳ６８５に進む。ステップＳ６８７では、ＭＣＵ３３は、第５キックフラグＧＦに１０ｈを代入してリターンする。また、ステップＳ６８５では、ＭＣＵ３３は、第５キックフラグＧＦに００ｈを代入してリターンする。
【０２８０】
ステップＳ６８９にて、ＭＣＵ３３は、第４キックフラグＹＦが４４０１ｈか否かを判断し、４４０１ｈの場合ステップＳ６９１に進み、それ以外はステップＳ７０１に進む。ステップＳ６９１にて、ＭＣＵ３３は、変数ＸＬ［２］の値が左キックレンジ内か否かを判断し、レンジ内の場合ステップＳ６９３に進み、レンジ外の場合ステップＳ６９５に進む。
【０２８１】
ステップＳ６９３にて、ＭＣＵ３３は、第５キックフラグＧＦに０１ｈを代入してリターンする。ステップＳ６９５にて、ＭＣＵ３３は、変数ＸＬ［２］の値が右キックレンジ内か否かを判断し、レンジ内の場合ステップＳ６９７に進み、レンジ外の場合ステップＳ６９９に進む。ステップＳ６９７では、ＭＣＵ３３は、第５キックフラグＧＦに１０ｈを代入してリターンする。また、ステップＳ６９９では、ＭＣＵ３３は、第５キックフラグＧＦに００ｈを代入してリターンする。
【０２８２】
ステップＳ７０１にて、ＭＣＵ３３は、第４キックフラグＹＦが４４１０ｈか否かを判断し、４４１０ｈの場合ステップＳ７０３に進み、それ以外はステップＳ７１３に進む。ステップＳ７０３にて、ＭＣＵ３３は、変数ＸＲ［２］の値が左キックレンジ内か否かを判断し、レンジ内の場合ステップＳ７０５に進み、レンジ外の場合ステップＳ７０７に進む。
【０２８３】
ステップＳ７０５にて、ＭＣＵ３３は、第５キックフラグＧＦに０１ｈを代入してリターンする。ステップＳ７０７にて、ＭＣＵ３３は、変数ＸＲ［２］の値が右キックレンジ内か否かを判断し、レンジ内の場合ステップＳ７０９に進み、レンジ外の場合ステップＳ７１１に進む。ステップＳ７０９では、ＭＣＵ３３は、第５キックフラグＧＦに１０ｈを代入してリターンする。また、ステップＳ７１１では、ＭＣＵ３３は、第５キックフラグＧＦに００ｈを代入してリターンする。
【０２８４】
図２０は、図１３のステップＳ２１５のコマンド生成処理の流れの一例を示すフローチャートである。図２０を参照して、ステップＳ７５１にて、ＭＣＵ３３は、コマンドＣＤにＡＡＡＡｈをセットする。代入値ＡＡＡＡｈは、第１〜第５キックフラグが全てオフであることを示す。
【０２８５】
ステップＳ７５３にて、ＭＣＵ３３は、第１キックフラグがオンか否かを判断し、オンの場合ステップＳ７５５に進み、オフの場合ステップＳ７５７に進む。ステップＳ７５５にて、ＭＣＵ３３は、コマンドＣＤに、第１キックフラグのオンを示す１１００ｈをセットする。
【０２８６】
ステップＳ７５７にて、ＭＣＵ３３は、第２キックフラグ又は第３キックフラグがオンか否かを判断し、オンの場合ステップＳ７５９に進み、オフの場合ステップＳ７６１に進む。ステップＳ７５９にて、ＭＣＵ３３は、コマンドＣＤに、第２キックフラグ又は第３キックフラグのオンを示す２２００ｈをセットする。
【０２８７】
ステップＳ７６１にて、ＭＣＵ３３は、第５キックフラグＧＦが１０ｈあるいは０１ｈか否かを判断し、肯定判断の場合ステップＳ７６３に進み、否定判断の場合リターンする。ステップＳ７６３にて、ＭＣＵ３３は、第５キックフラグＧＦが１０ｈの場合、コマンドＣＤに、右のボール８１ＲＰが蹴られたことを示す５５１０ｈをセットする。また、ＭＣＵ３３は、第５キックフラグＧＦが０１ｈの場合、コマンドＣＤに、左のボール８１ＬＰが蹴られたことを示す５５０１ｈをセットする。
【０２８８】
ステップＳ７６５では、ＭＣＵ３３は、第３キックフラグ、第４キックフラグＹＦ、及び第５キックフラグＧＦをクリアしてリターンする。
【０２８９】
図２１は、図２のマスタプロセッサ４１による処理の流れの一例を示すフローチャートである。図２１を参照して、ステップＳ８０１にて、マスタプロセッサ４１は、初期設定を実行する。ステップＳ８０３にて、マスタプロセッサ４１は、ＭＣＵ３３へリクエスト信号を送信する。ステップＳ８０５にて、マスタプロセッサ４１は、リクエスト信号に応答したＭＣＵ３３からコマンドＣＤを受信する。ステップＳ８０７にて、マスタプロセッサ４１は、コマンドＣＤがＡＡＡＡｈか否かを判断し、ＡＡＡＡｈの場合ステップＳ８０９に進み、それ以外はステップＳ８２１に進む。
【０２９０】
ステップＳ８０９では、マスタプロセッサ４１は、ヒット後アニメーションを実行中か否かを判断し、実行中の場合ステップＳ８１５に進み、それ以外はステップＳ８１１に進む。ヒット後アニメーションとは、ボール８１ＬＰ又は８１ＲＰが蹴られたと判断されて、ボールがゴールオブジェクト７５に向かって移動し、ゴールキーパーオブジェクト７３がキャッチするか、あるいは、ゴールオブジェクト７５に入るアニメーションである。
【０２９１】
ステップＳ８１１では、マスタプロセッサ４１は、再帰反射シート１９−１及び１９−２の上にそれぞれ足裏画像が投影されるように、２つの足裏画像を設定する。ステップＳ８１３にて、マスタプロセッサ４１は、スレイブプロセッサ４５に対して、ゴールキーパーオブジェクト７３及びゴールオブジェクト７５の生成指示を与える。
【０２９２】
なお、コマンドＣＤがＡＡＡＡｈであり、かつ、ヒット後アニメーションが実行中でないことは、ヒット後アニメーションが終了して、次のプレイの準備状態を示す。あるいは、このことは、最初のプレイの準備状態を示す。このため、プレイヤ２５に、次のプレイ又は最初のプレイを促すため、再帰反射シート１９−１及び１９−２の上に、足裏画像を投影するのである。
【０２９３】
ステップＳ８２１にて、マスタプロセッサ４１は、コマンドＣＤが１１００ｈか否かを判断し、１１００ｈの場合ステップＳ８２３に進み、それ以外はステップＳ８２９に進む。ステップＳ８２３では、マスタプロセッサ４１は、足裏画像を消去する。ステップＳ８２５にて、マスタプロセッサ４１は、出題オブジェクト７９Ｌ及び７９Ｒ及びボールオブジェクト８１ＬＰ及び８１ＲＰを設定する。ステップＳ８２７では、マスタプロセッサ４１は、スレイブプロセッサ４５に対して、出題領域７７に表示する出題の指示を出す。
【０２９４】
なお、ステップＳ８２１で肯定判断がされたことは、第１キックフラグがオンであり、プレイヤがプレイの準備を整えたことを示す。
【０２９５】
ステップＳ８２９にて、マスタプロセッサ４１は、コマンドＣＤが５５１０ｈあるいは５５０１ｈか否かを判断し、肯定判断の場合ステップＳ８３１に進み、否定判断の場合ステップＳ８２３に進む。ステップＳ８２３に進むのは、プレイヤ２５が、未だボールオブジェクト８１ＬＰ及び８１ＲＰのいずれも蹴っていないからである。
【０２９６】
ステップＳ８３１では、マスタプロセッサ４１は、コマンドＣＤに設定された値に従って、プレイヤの回答の正否を判定する。ステップＳ８３３にて、マスタプロセッサ４１は、判定結果に基づいて、結果オブジェクト８３を設定する。ステップＳ８３５にて、マスタプロセッサ４１は、ボールオブジェクトの初速度ベクトルを設定する。ステップＳ８３７にて、マスタプロセッサ４１は、キック音を設定する。
【０２９７】
また、ヒット後アニメーション実行中の場合、ステップＳ８１５にて、マスタプロセッサ４１は、ステップＳ８３３の結果オブジェクト８３を引き続き設定する。ステップＳ８１７にて、マスタプロセッサ４１は、蹴られたボールオブジェクト８１ＬＰ又は８１ＲＰの軌道を計算し設定する。ステップＳ８１９にて、マスタプロセッサ４１は、ボールオブジェクトの位置に応じて、スレイブプロセッサ４５に指示を出す。すなわち、マスタプロセッサ４１は、画面７１Ｐのボールオブジェクトと画面７１Ｔのボールオブジェクトとの軌道が、滑らかに接続するように、座標及び速度ベクトルを、スレイブプロセッサ４５に渡す。
【０２９８】
さて、ステップＳ８３９にて、マスタプロセッサ４１は、ビデオ同期信号による割込み待ちか否かを判断し、割込み待ちの場合ステップＳ８３９に戻り、割込み待ちでない場合、つまり、ビデオ同期信号による割込みが発生した場合はステップＳ８４１に進む。マスタプロセッサ４１は、テップＳ８４１では、設定内容（ステップＳ８１１，Ｓ８１５，Ｓ８１７，Ｓ８２３，Ｓ８２５，Ｓ８３３，Ｓ８３５）に応じて、ビデオ信号ＶＤ１を生成し、画面７１Ｐを更新し、ステップＳ８４３では、設定内容（Ｓ８３７）に応じて、オーディオ信号ＡＵ１を生成して、ステップＳ８０３に戻る。
【０２９９】
図２２は、図２のスレイブプロセッサ４５による処理の流れの一例を示すフローチャートである。図２２を参照して、ステップＳ９０１にて、スレイブプロセッサ４５は、初期設定を実行する。ステップＳ９０３では、スレイブプロセッサ４５は、マスタプロセッサ４１の指示（図２１のステップＳ８１３，Ｓ８１９，Ｓ８２７）に応じて、画像を設定する。ステップＳ９０５にて、スレイブプロセッサ４５は、ステップＳ９０３で設定した画像に応じて、音声を設定する。ステップＳ９０７にて、スレイブプロセッサ４５は、ビデオ同期信号による割込み待ちか否かを判断し、割込み待ちの場合ステップＳ９０７に戻り、割込み待ちでない場合、つまり、ビデオ同期信号による割込みが発生した場合はステップＳ９０９に進む。スレイブプロセッサ４５は、テップＳ９０９では、設定内容（ステップＳ９０３）に従ってビデオ信号ＶＤ２を生成して、画面７１Ｔを更新し、ステップＳ９１１では、設定内容（ステップＳ９０５）に従ってオーディオ信号ＡＵ２を生成して、ステップＳ９０３に戻る。
【０３００】
さて、以上のように、本実施の形態によれば、静止物体（上記ではスクリーン１５）に取付けられた再帰反射シート１７−１〜１７−３，１９−１，１９−２を撮影して、その差分画像から、プレイヤ２５の足による遮蔽領域を検出する。遮蔽領域の検出は、プレイヤ２５の足を検出することに相当する。なぜなら、足が再帰反射シート上に位置する場合（足が再帰反射シートの上を通過する場合において、足がまさに再帰反射シートの上にある場合を含む。）、その部分は差分画像に現れず、遮蔽領域となって現れるからである。このように、プレイヤ２５への再帰反射シートの装着や取付けを行うことなく、撮影により、プレイヤ２５の足を検出できる。
【０３０１】
また、差分画像上の遮蔽領域の移動を検出することにより、足の動きを検出できる。なぜなら、再帰反射シートのある位置から他の位置へ足が移動した場合、遮蔽領域もまた、当該ある位置に対応する画像上の位置から当該他の位置に対応する画像上の位置へ移動し、あるいは、ある再帰反射シートから他の再帰反射シートへ足が移動した場合、遮蔽領域もまた、当該ある再帰反射シートの像から当該他の再帰反射シートの像へ移動するからである。
【０３０２】
特に、本実施の形態では、再帰反射シート１７−１〜１７−３は、帯状である。このため、再帰反射シートの長さ方向（差分画像のＸ方向）の足の移動を検出できる。また、複数の再帰反射シート１７−１〜１７−３が互いに平行に配置される。このため、再帰反射シートの長さ方向に垂直な方向（差分画像のＹ方向）の足の移動を検出できる。
【０３０３】
また、本実施の形態では、再帰反射シート１７−１〜１７−３の厚さ方向の幅は、イメージセンサ３１からの距離が大きくなるほど太くなるように設定される。このため、比較的低解像度のイメージセンサ３１を使用する場合でも、イメージセンサ３１からの距離が大きい位置に配置された再帰反射シート（例えば、１７−３）の像が認識できない（写り込まない）といった不都合を回避できる。
【０３０４】
さらに、再帰反射シート１７−１〜１７−３の互いの間隔は、イメージセンサ３１からの距離が大きくなるほど大きくなるように設定される。このため、比較的低解像度のイメージセンサ３１を使用する場合でも、イメージセンサ３１からの距離が大きい位置に配置された２つの再帰反射シート（例えば、１７−２と１７−３）の像を区別できないといった不都合を回避できる。
【０３０５】
また、本実施の形態では、プレイヤ２５が制御装置３にコマンドを入力するための再帰反射シート１９−１及び１９−２を備える。このため、プレイヤ２５は、この再帰反射シート１９−１及び１９−２を遮蔽することにより、コマンドを入力できる。この再帰反射シート１９−１及び１９−２が遮蔽されたことが差分画像上で検出された場合に、コマンドが入力されたとみなせばよいからである。
【０３０６】
さらに、本実施の形態では、再帰反射シート１７−１〜１７−３，１９−１，１９−２は、水平なスクリーン１５に固定される。このため、再帰反射シートの取り付けが容易であり、より確実に固定できる。また、再帰反射シートの加工も少なくて済む。また、再帰反射シート１７−１〜１７−３，１９−１，１９−２が固定されるスクリーン１５は床面に配置又は床面である。このため、プレイヤ２５の足の位置及び動きを検出する場合、つまり、足を動かして入力を行う場合に好適である。
【０３０７】
さらに、本実施の形態では、赤外発光ダイオード２３は、再帰反射シート１７−１〜１７−３，１９−１，１９−２に、赤外光を照射する。このため、再帰反射シートが照射光を反射することで、よりはっきりと差分画像上に写りこみ、より精度良く遮蔽領域を検出できる。また、再帰反射シート１７−１〜１７−３，１９−１，１９−２は受けた光を再帰反射するので、赤外発光ダイオード２３とイメージセンサ３１とをほぼ同じ位置に配置することにより、より確実に再帰反射シートからの反射光をイメージセンサ３１に入力できる。また、赤外発光ダイオード２３は、間欠的に赤外光を照射し、ＭＣＵ３３は、発光時画像と消灯時画像との差分画像から、遮蔽領域を検出する。このように、差分を求めるといった簡易な処理で、再帰反射シートからの反射光以外の光によるノイズを極力除去でき、精度良く再帰反射シートの像のみを検出できる。再帰反射シートの像を精度良く検出できるということは、遮蔽領域を精度良く検出できることを意味する。さらに、赤外光を照射し、赤外線フィルタ２１を介して、撮像を行うことにより、赤外光以外のノイズを簡易に除去できる。
【０３０８】
さらに、本実施の形態によれば、映像により、プレイヤ２５（対象物の一種）に情報を提示し、この提示に従って動作するプレイヤ２５を検出し、その検出結果に基づいて映像を生成できる。つまり、インタラクティブなシステムが構築される。この場合、プレイヤ２５の動作はこれまで述べてきた新規な手段（方法）で検出される。従って、この新規な手段を利用したインタラクティブなシステムを構築できる。なお、プレイヤ２５の立場からは、検出されることは、入力を行うことを意味する。
【０３０９】
また、本実施形態では、複数の画面（上記ではスクリーン１５及びテレビジョンモニタ５）に表示するための複数の映像（上記では画面７１Ｐ及び７１Ｔ）を生成する。このように、複数の画面に同時に複数の映像を表示できるので、エンターテインメント性を向上できる。この場合、複数の画面に映し出される複数の映像同士を連動させる（上記では、蹴られたボールオブジェクトの軌道が、画面７１Ｐと７１Ｔとの間で滑らかに接続される）。その結果、臨場感の向上を図ることができる。また、画面７１Ｐは、水平なスクリーン１５に映し出され、画面７１Ｔは、垂直なテレビジョンモニタ５に映し出される。その結果、プレイヤ２５（対象物の一種）は、水平面に映し出された映像及び垂直面に映し出された映像を見ながら、身体を動かし、入力を行うことができる。
【０３１０】
なお、本発明は、上記の実施の形態に限られるものではなく、その要旨を逸脱しない範囲で種々の態様において実施することが可能であり、例えば、以下のような変形も可能である。
【０３１１】
（１）再帰反射シート１７−１〜１７−３に代えて、もしくは加えて、二次元状（例えば格子状）に配置された複数の再帰反射シート（例えば円形）をスクリーン１５に固定してもよい。もちろん、各再帰反射シートは任意の形状をとることができる。この場合、二次元方向の、プレイヤ（対象物）の位置や移動を検出できる。
【０３１２】
また、再帰反射シート１７−１〜１７−３に代えて、もしくは加えて、一次元状に配置された再帰反射シート（例えば円形）をスクリーン１５に固定してもよい。もちろん、各再帰反射シートは任意の形状をとることができる。この場合、一次元方向の、プレイヤ（対象物）の位置や移動を検出できる。
【０３１３】
さらに、再帰反射シート１７−１〜１７−３に代えて、もしくは加えて、大きな一枚の再帰反射シート（例えば矩形）をスクリーン１５に固定することもできる。もちろん、再帰反射シートは任意の形状をとることができる。
【０３１４】
（２）差分画像上で、再帰反射シート１７−２の像と再帰反射シート１７−３の像との間の距離が、再帰反射シート１７−１の像と再帰反射シート１７−２の像との間の距離と等しくなるように、距離Ｌ１及びＬ２を設定することが好ましい。
【０３１５】
また、差分画像上で、再帰反射シート１７−１の像の幅と再帰反射シート１７−２の像の幅と再帰反射シート１７−３の像の幅とが、差分画像上で等しくなるように、幅ｄ１，ｄ２及びｄ３を設定することもできる。
【０３１６】
（３）上記では、物体検出装置をインタラクティブシステム１に適用する例を挙げた。しかし、適用例はこれに限定されない。また、上記では、２つの画面７１Ｐ及び７１Ｔを２つのスクリーン１５及び５に表示したが、いずれか一方のみでもよい。また、プロジェクタ９を使用して、スクリーン１５に映像を投影したが、床面にテレビジョンモニタを埋め込むこともできる。逆に、テレビジョンモニタ５に代えて、プロジェクタにより画面７１Ｔを投影してもよい。また、表示装置は、プロジェクタやテレビジョンモニタに限定されず、任意のものを使用できる。上記では、物体検出装置を、映像を提供する装置と組み合わせたが、組合せの対象はこれに限定されない。
【０３１７】
（４）上記では、プレイヤ２５の足を検出したが、検出対象物は、足に限定されず、また、動物（上記では人間）以外の他の物体であってもよい。また、再帰反射シートを水平面に固定したが、対象物に応じて、垂直面に固定したり、水平面及び垂直面のそれぞれに固定してもよい。再帰反射シート１７−１〜１７−３の数は三本に限定されず、それ以外の数でもよい。再帰反射シート１９−１，１９−２についても同様である。
【０３１８】
（５）上記では、ＭＣＵ３３が画像解析を行ったが、マスタプロセッサ４１が差分画像を受け取って解析を行うこともできる。また、上記では、差分画像を２値化した後に、各種処理を実行したが、２値化処理を行いながら各種処理を行うこともできる。また、上記では、遮蔽領域、つまり、足の座標のみを求めたが、足の座標の移動、つまり、足の速度を検出及び算出することもできる。もちろん、足の加速度を検出及び算出することもできる。
【０３１９】
（６）コンテンツは、図６（ａ）、図６（ｂ）、図７（ａ）及び図７（ｂ）に示したものに限定されない。任意のコンテンツを作成できる。上記では、知育を意識したゲームを提供したが、純粋なゲームであってもよいし、教育やスポーツ、その他様々な分野のコンテンツを提供できる。また、メモリカートリッジやＣＤ−ＲＯＭ等のリムーバルメディアにより、コンテンツを実行するコンピュータプログラムや画像等を提供することもできる。また、インターネット等のネットワークから、これらを提供することもできる。
【０３２０】
（７）上記では、左先端遮蔽領域及び右先端遮蔽領域のいずれかが、左ヒットレンジ及び右ヒットレンジのいずれかに入っていれば、ボールオブジェクトを蹴る動作が行われたと判断した。ただし、ヒット判定はこれに限定さない。例えば、左先端遮蔽領域のＸ座標と右先端遮蔽領域のＸ座標との平均値が、左ヒットレンジ及び右ヒットレンジのいずれかに入っていれば、ボールオブジェクトを蹴る動作が行われたと判断することもできる。また、例えば、蹴る動作を行った方の足に対応する先端遮蔽領域のＸ座標が、左ヒットレンジ及び右ヒットレンジのいずれかに入っていれば、ボールオブジェクトを蹴る動作が行われたと判断することもできる。
【０３２１】
（８）スクリーン１５に再帰反射シートを取り付ける代わりに、赤外発光ダイオードのような自発光装置を埋め込むこともできる。この場合は、撮像ユニット７には、赤外発光ダイオード２３は不要である。また、撮像装置は、イメージセンサに限定されず、ＣＣＤなどの他の撮像装置を使用してもよい。
【０３２２】
（９）上記のストロボ撮影（赤外発光ダイオード２３の点滅）及び差分処理は、好適な例を示しただけであって、本発明に必須の要素ではない。つまり、赤外発光ダイオード２３は、点滅させなくてもよいし、また、赤外発光ダイオード２３がなくてもよい。照射する光は赤外光に限られない。
【０３２３】
（１０）上記では、再帰反射シート１７−１〜１７−３，１９−１，１９−２は、プレイヤ２５に踏まれるものであるため、これらを透明又は半透明の部材（例えば、ポリカーボネートやアクリル等の薄い板、あるいはポリエステル等のシートやフィルム）で覆うことにより、保護し耐久性を向上できる。また、再帰反射シートを透明又は半透明の物質でコーティングすることもできる。もちろん、再帰反射シートを固定したスクリーン１５の全体をこれらで保護してもよい。
【０３２４】
（１１）上記では、再帰反射シートをスクリーン１５に固定した。ただし、これは好適な例であり、再帰反射をしない、反射部材（例えば、光を乱反射する部材、鏡面反射する部材）を使用することもできる。
【０３２５】
（１２）上記では、演算装置として、ＭＣＵ３３、マスタプロセッサ４１、及び、スレイブプロセッサ４５を設けた。ただし、これは一例であって、１つのコンピュータにより全ての処理を行なうこともできる。つまり、どの処理をどの演算装置に実行させるかは任意に決定できる。
【０３２６】
（１３）ＭＣＵ３３からマスタプロセッサ４１に与える情報は、上記のものに限定されず、仕様に合わせて、適宜設定できる。
【０３２７】
（１４）遮蔽領域は、再帰反射シートに足が置かれた場合、再帰反射シートに足が置かれなくても足がその上空に位置する場合、あるいは、再帰反射シートが足の陰になる場合に、発生する。従って、上記において、遮蔽領域の原因として、これら全てを列挙していない場合でも、その遮蔽領域は、これらいずれかの場合が発生したことを意味する。
【産業上の利用可能性】
【０３２８】
本発明は、ビデオゲーム等のエンターテインメントの分野、及び、教育の分野などに利用可能である。
【符号の説明】
【０３２９】
１…インタラクティブシステム、３…制御装置、５…テレビジョンモニタ、７…撮像ユニット、９…プロジェクタ、１１…スピーカ、１３…筐体、１５…スクリーン、１７−１〜１７−３，１９−１，１９−２…再帰反射シート。
【０３３０】
以上、本発明を実施例により詳細に説明したが、当業者にとっては、本発明が本願中に説明した実施例に限定されるものではないということは明らかである。本発明は、特許請求の範囲の記載により定まる本発明の趣旨及び範囲を逸脱することなく修正及び変更態様として実施することができる。
【図１】
2010169668.tif 000003
【図２】
2010169668.tif 000004
【図３】
2010169668.tif 000005
【図４】
2010169668.tif 000006
【図５】
2010169668.tif 000007
【図６】
2010169668.tif 000008
【図７】
2010169668.tif 000009
【図８】
2010169668.tif 000010
【図９】
2010169668.tif 000011
【図１０】
2010169668.tif 000012
【図１１】
2010169668.tif 000013
【図１２】
2010169668.tif 000014
【図１３】
2010169668.tif 000015
【図１４】
2010169668.tif 000016
【図１５】
2010169668.tif 000017
【図１６】
2010169668.tif 000018
【図１７】
2010169668.tif 000019
【図１８】
2010169668.tif 000020
【図１９】
2010169668.tif 000021
【図２０】
2010169668.tif 000022
【図２１】
2010169668.tif 000023
【図２２】
2010169668.tif 000024
【図２３】
2010169668.tif 000025
【図２４】
2010169668.tif 000026