(57)【要約】  【課題】  適切な運動のスピードやペースをプレイヤに伝えることができ、プレイヤの運動のスピードやペースが適切か否かを評価することができる情報処理システム及び情報処理方法を提供する  【解決手段】  テレビジョンモニタ１００に映像を表示し、プレイヤに運動を指示するための情報処理システムであって、画面上に軸２０１を表示する手段と、軸２０１と常に一点で交わる線オブジェクト２０３及び／又は軸２０１と常に一点で交わる線上に配置された玉オブジェクト２０５を表示する手段と、前記オブジェクトを、軸２０１に向かって移動するように表示を制御する。軸２０１とオブジェクト２０３及び／又は２０５との交点の位置が変化するので、プレイヤは当該交点の変化に合わせて運動を行える。【選択図】  図１１
2011067435.tif 000002
【特許請求の範囲】
【請求項１】
表示装置に映像を表示し、プレイヤに運動を指示するための情報処理システムであって、
画面上に所定軸を表示する所定軸表示手段と、
前記所定軸と常に一点で交わる線状のオブジェクト及び／又は前記所定軸と常に一点で交わる線上に配置されたオブジェクトを表示するオブジェクト表示手段と、
前記オブジェクトを、前記所定軸に向かって移動するように表示を制御する手段と、を備える情報処理システム。
【請求項２】
音声を再生する音楽再生手段をさらに備え、
前記オブジェクト表示手段は、前記所定軸と常に一点で交わる線上に配置された前記オブジェクトと前記所定軸とが重なるタイミングの間隔を、前記音声の拍と一致するように前記オブジェクトの表示を制御することを特徴とする、請求項１記載の情報処理システム。
【請求項３】
プレイヤの動き又はプレイヤが動かす道具の動きを検出する検出手段と、
前記検出した動きに応じて、前記所定軸上を移動するカーソルの表示を制御するカーソル制御手段と、をさらに備える、請求項１又は２の何れかに記載の情報処理システム。
【請求項４】
前記検出手段は、プレイヤ又はプレイヤが動かす道具を撮像する撮像手段と、前記撮像手段の撮像結果を解析することによってプレイヤの動き又はプレイヤが動かす道具の動きを解析する撮像結果解析手段と、を備える、請求項３に記載の情報処理システム。
【請求項５】
プレイヤ又はプレイヤが動かす道具に取り付ける再帰反射体と、
前記再帰反射体に対して光を照射する手段と、をさらに備える請求項４に記載の情報処理システム。
【請求項６】
前記検出手段は、加速度センサ、傾きセンサ、振動センサ、回転センサ、ジャイロスコープ及び重力センサのうち、一つまたは任意の組み合わせからなるセンサユニットと、前記センサユニットからの出力によって、プレイヤの動き又はプレイヤが動かす道具の動きを解析するセンサ出力解析手段と、を備える請求項３に記載の情報処理システム。
【請求項７】
表示装置に映像を表示し、プレイヤに運動を指示するための情報処理方法であって、
画面上に所定軸を表示するステップと、
前記所定軸と常に一点で交わる線状のオブジェクト及び／又は前記所定軸と常に一点で交わる線上に配置されたオブジェクトを表示するステップと、
前記オブジェクトを、前記所定軸に向かって移動するように表示を制御するステップと、を含む、情報処理方法。
【請求項８】
音声を再生するステップをさらに含み、
前記表示を制御するステップは、前記所定軸と常に一点で交わる線上に配置された前記オブジェクトと前記所定軸とが重なるタイミングの間隔を、前記音声の拍と一致するように表示を制御することを特徴とする、請求項７記載の情報処理方法。
【請求項９】
プレイヤの動き又はプレイヤが動かす道具の動きを検出するステップと、
前記検出した動きに応じて前記所定軸上を移動するカーソルの表示を制御するステップと、をさらに含む、請求項７又は８の何れかに記載の情報処理方法。
【請求項１０】
前記プレイヤの動き又はプレイヤが動かす道具の動きを検出するステップは、撮像手段を制御してプレイヤ又はプレイヤが動かす道具を撮像するステップと、前記撮像の結果を解析することによって、プレイヤの動き又はプレイヤが動かす道具の動きを解析するステップと、を含む、請求項８に記載の情報処理方法。
【請求項１１】
前記プレイヤの動き又はプレイヤが動かす道具の動きを検出するステップは、プレイヤ又はプレイヤが動かす道具に取り付けられる再帰反射体に対して光を照射するステップをさらに含む、請求項１０に記載の情報処理方法。
【請求項１２】
前記プレイヤの動き又はプレイヤが動かす道具の動きを検出するステップは、加速度センサ、傾きセンサ、振動センサ、回転センサ、ジャイロスコープ及び重力センサのうち、一つまたは任意の組み合わせからなるセンサユニットからの出力を受信するステップと、前記センサユニットからの出力によって、プレイヤの動き又はプレイヤが動かす道具の動きを解析するステップを含む、請求項９に記載の情報処理方法。
【請求項１３】
請求項７から１２の何れか一つに記載の情報処理方法をコンピュータに実行させるコンピュータプログラム。
【請求項１４】
請求項１３に記載のコンピュータプログラムを記憶した情報記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、表示装置に映像を表示して、プレイヤに運動を指示するための情報処理システム、情報処理方法及びそれらの関連技術に関する。
【背景技術】
【０００２】
特許文献１には、表示装置に映像を表示して、ステップ運動のタイミングを指示する方法が開示されている。特許文献１に記載された方法は、足で踏んで操作する４つのボタンに対応した応答オブジェクトと、応答オブジェクト毎に用意された経路に沿って移動する移動オブジェクトとを表示する。そして、この装置は、移動オブジェクトと応答オブジェクトが重なるタイミングによって、各ボタンを踏むタイミングをプレイヤに指示する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特表２００７−５３６９４２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１の装置及び方法は、ステップの位置とタイミングをプレイヤに指示することができる。しかし、ボタンの押し方までは指示されなかった。また、押すタイミングさえ同じであれば、途中の動き方に関係なく、コンピュータはプレイヤに対して同じ評価を行う。
【０００５】
本発明の目的は、適切な運動のスピードやペースをプレイヤに伝えることができ、プレイヤの運動のスピードやペースが適切か否かを評価することができる情報処理システム及び情報処理方法を提供することである。
【課題を解決するための手段】
【０００６】
本発明の第一の観点によれば、情報処理システムは、表示装置に映像を表示し、プレイヤに運動を指示するための情報処理システムであって、画面上に所定軸を表示する所定軸表示手段と、前記所定軸と常に一点で交わる線状のオブジェクト及び／又は前記所定軸と常に一点で交わる線上に配置されたオブジェクトを表示するオブジェクト表示手段と、前記オブジェクトを、前記所定軸に向かって移動するように表示を制御する手段と、を備える。
【０００７】
この構成によれば、表示装置に表示される前記オブジェクトと前記所定軸との交点の位置が時間とともに変化する。このため、プレイヤは当該交点の位置の変化を参考にして運動を行うことができる。例えば交点の高さの変化に合わせてプレイヤの体やプレイヤが動かす道具を動かすように指示することができる。
ここで、前記所定軸と常に一点で交わる線は、周期的な波形を描いた線であってもよい。この構成によれば、前記オブジェクトと前記所定軸との交点の位置の変化も周期的なものとなる。つまり、プレイヤに対して周期的な運動を指示することができる。
【０００８】
この情報処理システムにおいて、音声を再生する音楽再生手段をさらに備え、前記オブジェクト表示手段は、前記所定軸と常に一点で交わる線上に配置された前記オブジェクトと前記所定軸とが重なるタイミングの間隔を、前記音声の拍と一致するように前記オブジェクトの表示を制御するようにしてもよい。
【０００９】
この構成によれば、前記オブジェクトは、音声の拍に合わせて前記所定軸と重なるため、プレイヤに対して一定の速度で動く運動を指示する際に、プレイヤが当該一定の速度を把握しやすくなる。また、プレイヤの運動のリズムが音楽の拍と一致するため、プレイヤは楽しく運動をすることができる。
【００１０】
上記の情報処理システムにおいて、プレイヤの動き又はプレイヤが動かす道具の動きを検出する検出手段と、前記検出した動きに応じて、前記所定軸上を移動するカーソルの表示を制御するカーソル制御手段と、をさらに備えてもよい。
【００１１】
この構成によれば、プレイヤは前記カーソルが前記交点と重なっているかを確かめることで、自分が指示通りに運動できているかを確認することができる。また、運動支援システムは前記カーソルが前記交点と重なっているかを確認することで、プレイヤが指示通りに運動できているかを評価することができる。
この情報処理システムに、前記オブジェクトと前記カーソルとが重なった場合に、演出表示や効果音を発生させる演出制御手段をさらに備えてもよい。この構成によれば、プレイヤが指示通りに運動を行えた場合に、演出表示や効果音が発生するので、プレイヤは楽しみながら運動をおこなうことができる。上記線上に配置されたオブジェクトが上記所定軸と重なるタイミングの間隔が、上記音声の拍と一致するように表示を制御させる場合は、上記演出表示や上記効果音の発生するタイミングが上記音声の拍と一致するため、プレイヤはより運動を楽しむことができる。
【００１２】
前記検出手段は、プレイヤ又はプレイヤが動かす道具を撮像する撮像手段と、前記撮像手段の撮像結果を解析することによってプレイヤの動き又はプレイヤが動かす道具の動きを解析する撮像結果解析手段と、を備えてもよい。
【００１３】
この構成によれば、撮像によって解析したプレイヤの運動に連動したカーソルの制御を実現することができる。
【００１４】
前記検出手段が撮像手段である場合、プレイヤ又はプレイヤが動かす道具に取り付ける再帰反射体と、前記再帰反射体に対して光を照射する手段と、をさらに含むようにしてもよい。
【００１５】
この構成によれば、照射光を反射する再帰反射体が撮像結果に写りこむため、当該再帰反射体の動きを検出することにより、間接的にプレイヤの運動に連動したカーソルの制御を実現することができる。
再帰反射体は照射光を反射し目立つため、撮像結果から再帰反射体の像だけを抽出しやすい。このため、撮像結果から直接プレイヤ又はプレイヤが動かす道具の動きを解析する場合と比較して簡単な処理で、プレイヤの運動に連動したカーソルの制御を実現することができる。
また、照射光を反射する再帰反射体の像は、点灯時に写り、消灯時に写らない。このため、点灯時と消灯時の差分を取ることにより、簡単な処理で精度よく撮像結果から再帰反射体の像だけを抽出しやすくすることができる。
【００１６】
前記検出手段は、加速度センサ、傾きセンサ、振動センサ、回転センサ、ジャイロスコープ及び重力センサのうち、一つまたは任意の組み合わせからなるセンサユニットと、前記センサユニットからの出力によって、プレイヤの動き又はプレイヤが動かす道具の動きを解析するセンサ出力解析手段と、を備えるものであってもよい。
【００１７】
この構成によれば、プレイヤの運動によって変化するセンサユニットからの出力の変化によって、プレイヤの運動に連動したカーソルの制御を実現することができる。
【００１８】
本発明の第二の観点によれば、情報処理方法は、表示装置に映像を表示し、プレイヤに運動を指示するための情報処理方法であって、画面上に所定軸を表示するステップと、前記所定軸と常に一点で交わる線状のオブジェクト及び／又は前記所定軸と常に一点で交わる線上に配置されたオブジェクトを表示するステップと、前記オブジェクトを、前記所定軸に向かって移動するように表示を制御するステップと、を含む。
【００１９】
この情報処理方法において、前記表示を制御するステップは、前記所定軸と常に一点で交わる線上に配置された前記オブジェクトと前記所定軸とが重なるタイミングの間隔を、前記音声の拍と一致するように表示を制御することを特徴とする。
【００２０】
上記の情報処理方法は、プレイヤの動き又はプレイヤが動かす道具の動きを検出するステップと、前記検出した動きに応じて前記所定軸上を移動するカーソルの表示を制御するステップと、をさらに含む。
【００２１】
ここで、前記プレイヤの動き又はプレイヤが動かす道具の動きを検出するステップは、撮像手段を制御してプレイヤ又はプレイヤが動かす道具を撮像するステップと、前記撮像の結果を解析することによって、プレイヤの動き又はプレイヤが動かす道具の動きを解析するステップと、を含む。
【００２２】
前記プレイヤの動き又はプレイヤが動かす道具の動きを検出するステップは、プレイヤ又はプレイヤが動かす道具に取り付けられる再帰反射体に対して光を照射するステップをさらに含む。
【００２３】
または、前記プレイヤの動き又はプレイヤが動かす道具の動きを検出するステップは、加速度センサ、傾きセンサ、振動センサ、回転センサ、ジャイロスコープ及び重力センサのうち、一つまたは任意の組み合わせからなるセンサユニットからの出力を受信するステップと、前記センサユニットからの出力によって、プレイヤの動き又はプレイヤが動かす道具の動きを解析するステップを含む。
【００２４】
以上本発明の第二の観点によれば、本発明の第一の観点による情報処理システムと同様の効果を得られる。
【００２５】
本発明の第二の観点によれば、コンピュータプログラムは、本発明の第２の観点による情報処理方法をコンピュータに実行させるコンピュータプログラムである。
【００２６】
この構成によれば、本発明の第二の観点による情報処理方法と同様の効果を奏する。
【００２７】
本発明の第四の観点によれば、情報記憶媒体は、本発明の第三の観点によるコンピュータプログラムを記憶する情報記憶媒体である。
【００２８】
この構成によれば、本発明の第二の観点による情報処理方法と同様の効果を奏する。
【図面の簡単な説明】
【００２９】
【図１】、本発明の実施の形態による運動支援システム（情報処理システム）の全体構成を示す図
【図２】（ａ）図１のバーベル１に着脱自在に取り付けられる再帰反射体２の説明図（ｂ）再帰反射体２のバーベル１への取り付け方の一例を示す図
【図３】図１のカメラユニット３を搭載したコンピュータ５の説明図
【図４】図３のコンピュータ５の電気的構成を示すブロック図
【図５】差分画像ＤＩの説明図
【図６】図１の運動支援システムが提供する運動メニューの構成の一例を説明する図
【図７】図１のテレビジョンモニタ１００に表示されるセクション開始画面の例示図
【図８】図１のテレビジョンモニタ１００に表示される道具指示画面の例示図
【図９】図１のテレビジョンモニタ１００に表示される調整画面の例示図
【図１０】図１のテレビジョンモニタ１００に表示される運動説明画面の例示図
【図１１】図１のテレビジョンモニタ１００に表示される運動指示画面の例示図
【図１２】図１のテレビジョンモニタ１００に表示される運動指示画面の他の例示図
【図１３】図１のテレビジョンモニタ１００に表示されるインターバル画面の例示図
【図１４】図１のテレビジョンモニタ１００に表示される運動指示画面のさらに他の例示図
【図１５】図１のテレビジョンモニタ１００に表示される運動指示画面のさらに他の例示図
【図１６】プロセッサ６１が実行する処理の全体的な流れを示すフローチャート
【図１７】図１６のステップＳ３のアプリケーションプログラムが実行する処理の１つである撮影処理を示すフローチャート
【図１８】図１６のステップＳ３のアプリケーションプログラムが実行する処理の１つである注目点抽出処理を示すフローチャート
【図１９】図１８のステップＳ５７の２点抽出処理を示すフローチャート
【図２０】プロセッサ６１がプログラムに従って実行する画面表示の、状態遷移図
【図２１】図１６のステップＳ３のアプリケーションで実行されるフラグセット処理の流れを示すフローチャート
【図２２】図１６のステップＳ３のアプリケーションで実行されるオブジェクト描画設定処理の流れを示すフローチャート
【発明を実施するための形態】
【００３０】
以下、本発明の実施の形態について、図面を参照しながら説明する。なお、図中、同一または相当部分については同一の参照符号を付してその説明を援用する。
【００３１】
図１は、本発明の実施の形態による運動支援システム（情報処理システム）の全体構成を示す図である。図１に示すように、この運動支援システムは、バーベル１、カメラユニット３を搭載したコンピュータ５、及びテレビジョンモニタ１００を備える。コンピュータ５は、ＡＶケーブル７により、テレビジョンモニタ１００に接続される。
【００３２】
図２（ａ）は、図１のバーベル１に着脱自在に取り付けられる再帰反射体２の説明図である。図２（ｂ）は、再帰反射体２のバーベル１への取り付け方の一例を示す図である。図２（ａ）を参照して、再帰反射体２は、再帰反射シートに覆われた本体部２１と、本体部２１の両端部に配置された面ファスナー２３とから構成される。本体部２１には柔らかい布製で、ミシン目２５で折り曲げると、丸まって面ファスナー２３で固定できるようになっている。図２（ｂ）に示すように、再帰反射体２は、本体部２１の再帰反射シートが外側を向くように、バー１１の両端（ディスク１３の近く）にまきつけ、面ファスナー２３で固定して使用する。
図１に戻って、再帰反射体２はカメラユニット３によって撮像される。コンピュータ５は撮像結果に応じて、バーベル１の動きを解析・検知することができる。
【００３３】
図３は図１のカメラユニット３を搭載したコンピュータ５の説明図である。図３を参照して、コンピュータ５は平たい直方体形状を有する。コンピュータ５の前面左側には、電源スイッチ５１及びリセットスイッチ５３が設けられる。また、コンピュータ５の表面の前縁近傍には、方向キー５５ａ〜５５ｄが設けられる。さらに、方向キー５５ａの左側には、キャンセルキー５７が設けられ、方向キー５５ｄの右側には、決定キー５９が設けられる。コンピュータ５には、後述のプロセッサ６１及びメモリ６３等が内蔵されている。図示は省略するが、コンピュータ５はＡＣアダプタを有し、外部から電源の供給を受ける。
【００３４】
コンピュータ５の本体上面には、カメラユニット３が取り付けられる。この場合、カメラユニット３の表面が、コンピュータ５の上面に対して所定角度（例えば４０度）傾斜するように取り付けられる。カメラユニット３の表面中央部には、円形の赤外線フィルタ３１が取り付けられ、それを取り囲むように、４個の赤外発光ダイオード３３が配置される。赤外線フィルタ３１は、赤外線以外の光線を遮断する役割を果たす。赤外線フィルタ３１の背面側に後述のイメージセンサ３５が配置される。
【００３５】
図４は、図３のコンピュータ５の電気的構成を示すブロック図である。図４に示すように、コンピュータ５は、プロセッサ６１、イメージセンサ３５、赤外発光ダイオード３３、メモリ６３、ＥＥＰＲＯＭ（ｅｌｅｃｔｒｉｃａｌｌｙ  ｅｒａｓａｂｌｅ  ｐｒｏｇｒａｍｍａｂｌｅ  ｒｅａｄ  ｏｎｌｙ  ｍｅｍｏｒｙ）６５、ＲＴＣ（ｒｅａｌ  ｔｉｍｅ  ｃｌｏｃｋ）６７、及びバス６９（アドレスバス及びデータバスを含む。）を含む。
【００３６】
プロセッサ６１は、バス６９を通じて、メモリ６３にアクセスできる。従って、プロセッサ６１は、メモリ６３に格納されたプログラムを実行でき、また、メモリ６３に格納されたデータをリードして処理することができる。このメモリ６３に、各処理を行うプログラム、画像データ、及び音声データ等が予め格納される。メモリ６３は、例えば、ＲＯＭ（ｒｅａｄ  ｏｎｌｙ  ｍｅｍｏｒｙ）やフラッシュメモリ等の任意のメモリを使用できる。
【００３７】
ＥＥＰＲＯＭ６５は、プロセッサ６１から、クロック信号が与えられると共に、データの読み書きが行われる。ＲＴＣ６７は、水晶発信器（図示せず）に基づいて計時を行い、時刻情報を生成して、プロセッサ６１に与える。
【００３８】
プロセッサ６１の内部構成を簡単に説明する。プロセッサ６１は、図示しないが、中央演算処理装置（以下、「ＣＰＵ」と呼ぶ。）、グラフィックスプロセシングユニット（以下、「ＧＰＵ」と呼ぶ。）、サウンドプロセシングユニット（以下、「ＳＰＵ」と呼ぶ。）、ジオメトリエンジン（以下、「ＧＥ」と呼ぶ。）、外部インタフェースブロック、上記のメモリインタフェース、メインＲＡＭ、及びＡ／Ｄコンバータ（以下、「ＡＤＣ」と呼ぶ。）などを具備する。
ＣＰＵは、メモリ６３に格納されたプログラムを実行して、各種演算やシステム全体の制御を行う。グラフィックス処理に関するＣＰＵの処理として、メモリ６３に格納されたプログラムを実行して、各オブジェクトの拡大・縮小、回転、及び／又は平行移動のパラメータ、視点座標（カメラ座標）、並びに視線ベクトルの算出等を行う。
ここで、１または複数のポリゴン又は１又は複数のスプライトから構成され、同じ拡大・縮小、回転、及び平行移動の変換が適用される単位を「オブジェクト」と呼ぶ。
ＧＰＵは、ポリゴン及びスプライトから構成される三次元イメージをリアルタイムに生成し、アナログのコンポジットビデオ信号に変換する。
ＳＰＵは、ＰＣＭ（ｐｕｌｓｅ  ｃｏｄｅ  ｍｏｄｕｌａｔｉｏｎ）波形データ、アンプリチュードデータ、及びメインボリュームデータを生成し、これらをアナログ乗算して、アナログオーディオ信号を生成する。
ＧＥは、三次元イメージを表示するための幾何演算を実行する。具体的には、ＧＥは、行列積、ベクトルアフィン変換、ベクトル直交変換、透視投影変換、頂点明度／ポリゴン明度計算（ベクトル内積）、及びポリゴン裏面カリング処理（ベクトル外積）などの演算を実行する。
外部インタフェースブロックは、周辺装置とのインタフェースであり、２４チャンネルのプログラマブルなデジタル入出力（Ｉ／Ｏ）ポートを含む。また、後述のカウンタを含む。
ＡＤＣは、４チャンネルのアナログ入力ポートに接続され、これらを介して、アナログ入力装置から入力されたアナログ信号をデジタル信号に変換する。
メインＲＡＭは、ＣＰＵのワーク領域、変数格納領域、および仮想記憶機構管理領域等として利用される。
メモリインタフェースは、バス６９を介して、メモリ６３からのデータの読み出し、及びメモリ６３へのデータの書き込みを司る。また、メモリインタフェースは、ＤＭＡ（Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ）機能も有している。
【００３９】
プロセッサ６１の外部インタフェースブロックは、周辺装置（本実施の形態ではイメージセンサ３５及び赤外発光ダイオード３３）とのインタフェースである。プロセッサ６１のＡＤＣは、アナログ入力装置（本実施の形態ではイメージセンサ３５）から入力されたアナログ信号をデジタル信号に変換する。
【００４０】
プロセッサ６１は、ストロボ撮影を行うべく、４つの赤外発光ダイオード３３を間欠的に駆動し、間欠的に赤外光を発光させる。赤外発光ダイオード３３からの赤外光は、再帰反射体２により反射され、赤外線フィルタ３１を介してイメージセンサ３５に入力される。したがって、イメージセンサ３５からは再帰反射体２含む画像信号（赤外光点灯時）がプロセッサ６１へ出力される。赤外発光ダイオード３３は間欠的に駆動されるので、イメージセンサ３５からは赤外光消灯時の画像信号も出力される。
【００４１】
イメージセンサ３５からのこれらのアナログ画像信号はプロセッサ６１に内蔵されたＡＤＣによってデジタル画像信号に変換される。プロセッサ６１は、赤外光点灯時のデジタル画像信号と消灯時のデジタル画像信号との差分を求めて、この差分信号ＤＩ（差分画像ＤＩ）を基に、再帰反射体２の動き（図１のバーベル１の上下運動に相当）を解析する。このように、差分を求めることで、再帰反射体２からの反射光以外の光によるノイズを極力除去でき、精度良く再帰反射体２を検出できる。
【００４２】
図５は、差分画像ＤＩの説明図である。図５を参照して、この差分画像ＤＩは、再帰反射体２を両端に取り付けたバーベル１がカメラユニット３によって撮像された場合の例である。この実施の形態では、６４×６４ピクセル分の輝度値を出力するイメージセンサ３５を使用している。このため、差分画像ＤＩは、６４×６４ピクセル分の輝度値の集合である。図５の差分画像ＤＩには、周辺より輝度値の高いピクセル領域が２箇所存在している。これらは、赤外光を反射した再帰反射体２の像１１３及び１１５である。プロセッサ６１は、これらの像を用いて再帰反射体２の動きを解析する。（後述）
【００４３】
プロセッサ６１は、再帰反射体２の動きの解析結果に基づいて、その他の演算、グラフィック処理、及びサウンド処理等を実行し、ビデオ信号およびオーディオ信号を出力する。この実施の形態では、プロセッサ６１は、像１１３及び１１５の中で、最も輝度値の高いピクセルをそれぞれ選択し、当該ピクセルの差分画像ＤＩ上での座標の値を処理に利用する。以下、差分画像ＤＩ上の座標を説明する場合、左上角を原点Ｏ、水平右方向をＸ軸の正、垂直下方向をＹ軸の正とし、各ピクセルを１単位とするＸＹ座標として説明する。
【００４４】
プロセッサ６１が生成したビデオ信号およびオーディオ信号は、ＡＶケーブル７を介して、テレビジョンモニタ１００に与えられる。テレビジョンモニタ１００は当該ビデオ信号に従って映像を表示し、当該オーディオ信号に従ってスピーカ（図示せず）から音声を出力する。この運動支援システムは、当該映像及び音声によって、プレイヤに適切な運動指示を与えることを一つの目的としている。
【００４５】
図６は、図１の運動支援システムが提供する運動メニューの構成の一例を説明する図である。図６を参照して、運動支援システムは、運動の単位として、セッション、セクション及びブロックを使用する。１セッションは５つのセクションから構成される。また、１セクションは２０のブロックから構成される。各セクションには、胸、腕、足等、重点的に鍛える体の部位が割り当てられている。１セクションは５分間で、１ブロックは１５秒である。なお、この段落で説明した数字は一例であり、適宜変更が可能である。
【００４６】
図１の運動支援システムのプログラムには、プレイヤが鍛えたい体の部位に応じて様々な運動パターンデータのセットが用意されている。各ブロックには一つ又は複数の運動パターンデータが割り当てられており、プロセッサ６１は運動パターンデータに従って後述する運動指示画面を再生・表示する。プレイヤは当該運動指示画面に従って運動を行う。連続するブロック間で同じ運動パターンデータが割り当てられていることもあれば、異なる運動パターンデータが割り当てられていることもある。また、運動パターンデータではなく、小休止のためのインターバルが割り当てられたブロックもある。ただ、同一のセクションに属するブロックは、全てそのセクションに割り当てられた部位を鍛えるための運動パターンデータが割り当てられる。
【００４７】
プログラム中、セッションは複数用意されており、全身を満遍なく鍛えられるように体の各部位が割り当てられたセクションがセットになったセッションもあれば、特定の部位を集中的に鍛えられるように、特定の部位が割り当てられたセクションが連続するセッションもある。
【００４８】
図示はしないが、プロセッサ６１は、プレイヤが希望するセッションを選択するための画面を表示する。プレイヤの選択に応じて、プロセッサ６１はその日のセッションを決定する。
また、図示はしないが、予めセクション及びブロックが決定された既存セッションの他に、プレイヤがセクション及びブロックを選択して自由に組み立てたフリーセッションモードもある。
さらに、図示はしないが、日替わりでセッションを自動的に決定する機能も用意されている。この場合、セッションのローテーションは、筋肉の超回復を考慮して、同じ部位の筋力トレーニングが毎日連続しないように設定される。
【００４９】
続いて、図を用いて、プロセッサ６１がセッション中にテレビジョンモニタに表示する画面について説明する。
【００５０】
図７は、図１のテレビジョンモニタ１００に表示されるセクション開始画面の例示図である。図７を参照して、プロセッサ６１は、これから始まるセクションに割り当てられた部位、すなわちプレイヤが鍛える部位を表示する。図７は胸が割り当てられたセクションの開始画面である。プロセッサ６１は、胸の部分の色を周りの部位と変え、文字と合わせて胸部のトレーニングが開始されることを表示する。
【００５１】
図８は、図１のテレビジョンモニタ１００に表示される道具指示画面の例示図である。プロセッサ６１は、セクション開始画面に続いて、この道具指示画面を表示する。道具指示画面は、プレイヤが使用する道具と、再帰反射体２の取り付け位置とを表示するための画面である。
【００５２】
図８の例では、プロセッサ６１は、指示部１０１で両端に再帰反射体２を取り付けたバーベル１を使用することを表示し、指示部１０３で５Ｋｇのディスク１３を使用することを表示し、指示部１０５で運動中プレイヤが背中を曲げないようにアドバイスするためのテキストを表示している。
【００５３】
図１の運動支援システムは、バーベル１を使用した運動、バー１１のみを使用した運動（図示せず）、ディスク１３のみを使用した運動（図示せず）、道具を使用しない運動の運動パターンデータを内蔵する。プロセッサ６１が指示部１０３、１０５及び１０７で表示するデータは、これから開始されるセクションの各ブロックに割り当てられた運動パターンデータに含まれる。例えば再帰反射体２の取り付け方や取り付け位置は、運動パターンや使用する道具によってそれぞれ異なる。
【００５４】
図９は、図１のテレビジョンモニタ１００に表示される調整画面の例示図である。この調整画面は、再帰反射体２とカメラユニット３を使用し、プレイヤの動きを検出する場合に、コンピュータ５がプレイヤに対して適切な立ち位置を指示するための画面である。図９を参照して、調整画面はプレイヤ位置キャラクタ１０７、指示位置キャラクタ１０９及び矢印１１１を含む。
【００５５】
プロセッサ６１は、図３のカメラユニット３の撮像結果である図５の差分画像ＤＩから、再帰反射体２の像１１３及び１１５の像のＹ座標をそれぞれ算出し、さらにその平均値Ｙａｖを算出する。
【００５６】
本運動支援システムのプログラムは、プレイヤがカメラユニット３から１．３メートル離れて運動することを想定してプログラミングされている。また、プログラムは、身長Ｈｔセンチメートルのプレイヤが、地面に置かれたカメラユニット３から１．３メートル離れ、図７の道具指示画面で示した持ち方でバーベル１を持った場合のＹ座標の値（以下理想値Ｙｉｄとして説明する）を算出する式を含む。なお、このＹｉｄを算出する式は、運動パターンデータ毎に用意される。なぜならば、同じ道具を使用する運動であっても、道具を使用する位置や動かす量は様々なパターンが存在し、理想値Ｙｉｄも運動パターンによって異なるためである。例えば、バーベル１を上下に動かす運動であっても、腰の高さで動かす場合もあれば、頭の上で動かす運動もある。
これらの理想値Ｙｉｄを算出する式は、予め計測によって決定されたものである。
【００５７】
図示はしないが、本運動支援システムには、プレイヤのプロフィールを設定するオプション画面が存在し、そこでプレイヤは自分の身長を入力する。プロセッサは当該オプション画面で入力された数値を、身長Ｈｔの値として使用し、理想値Ｙｉｄを算出する。
【００５８】
プロセッサ６１は、理想値Ｙｉｄと平均値Ｙａｖとの比によって、プレイヤ位置キャラクタ１０７の画面中の表示位置を決定する。カメラユニット３はコンピュータ５に対して４０度の角度をつけて設けられている。このため、プレイヤがカメラユニット３に近い位置に立つと、像１１３及び像１１５は大きく、差分画像ＤＩ上の上方に写る。つまり、Ｙａｖの値は小さくなる。逆に、プレイヤがカメラユニット３から離れた位置に立つと、像１１３及び像１１５は小さく、差分画像ＤＩ上の下方に写る。つまり、Ｙａｖの値は大きくなる。
【００５９】
プロセッサ６１は、ＹａｖがＹｉｄより大きい場合、プレイヤ位置キャラクタ１０７を指示位置キャラクタ１０９より右側に、ＹａｖがＹｉｄより小さい場合、プレイヤ位置キャラクタ１０７を指示位置キャラクタ１０９より左側に表示する。
プロセッサ６１は矢印１１１の向きによって、プレイヤがカメラユニット３に対して近づくべきか離れるべきかを指示する。
そして、プロセッサ６１は、平均値Ｙａｖと理想値Ｙｉｄとが実質的に等しくなった場合、プレイヤ位置キャラクタ１０７は、指示位置キャラクタ１０９と重ねて表示する。
【００６０】
このようにして、プロセッサ６１は調整画面によって、プレイヤをプログラムが想定する立ち位置（カメラユニット３から１．３メートル離れた位置）に誘導する。プレイヤは、調整画面を見ながら、プレイヤ位置キャラクタ１０７と位置指示キャラクタ１０９とが重なるように、カメラユニット３に対して前後に移動するだけで、プログラムが想定する適切な位置に立つことができる。
プロセッサ６１は、プレイヤ位置キャラクタ１０７と指示位置キャラクタ１０９とが３秒間重なった状態が保たれれば、調整画面を終了し次の画面へと進む。
【００６１】
なお、本システムには、再帰反射体２を利用しない運動パターンも存在する。この場合、プロセッサ６１はコンピュータ５から１．３メートル離れた位置で運動するように表示を行うのみで、上記のようなカメラ位置の調整のための処理は行わない。
【００６２】
図１０は、図１のテレビジョンモニタ１００に表示される運動説明画面の例示図である。プロセッサ６１は、これからプレイヤに指示する運動をアニメーションで表示し、アドバイスをテキストで表示する。
【００６３】
図１１は、図１のテレビジョンモニタ１００に表示される運動指示画面の例示図である。図９の例は、プレイヤに対して、一定の速度で所定の高さまでバーベル１を上げ、同じ速度で元の位置までバーベル１を下ろす運動を指示することを目的とする。
【００６４】
図１１を参照して、プロセッサ６１は、画面右側から左側に線オブジェクト２０３及び線オブジェクト２０３上に一定の間隔で配置された玉オブジェクト２０５ａ及び２０５ｂ（以下まとめて玉オブジェクト２０５と説明する場合がある。）を画面右から画面左に向かって一定の速度でスクロールするように表示を行う。
プロセッサ６１は、波線型の線オブジェクト２０３の各頂点に、玉オブジェクト２０５ｂよりも大きい玉オブジェクト２０５ａを表示する。
【００６５】
線オブジェクト２０５は、軸２０７と常に１点で交わる線である。この図９の画面では、線オブジェクト２０５は正弦波状の線であるため、スクロールによって軸２０７との交点の位置が周期的に変化する。このため、プレイヤは軸２０７と線オブジェクト２０３との交点の位置の変化を目安にバーベルを上下させれば、一定の速度及びリズムでバーベルの上下運動を行うことができる。
【００６６】
また、プロセッサ６１は、カメラユニット３の撮像結果（差分画像ＤＩ）から解析した再帰反射体２の動きに応じて、カーソル２０１を軸２０７上で上下に移動させる。つまり、カーソル２０１の画面１００上での動きは、再帰反射体２の動き（図１１の例ではプレイヤのバーベル１の動き）と連動する。
【００６７】
この実施の形態では、コンピュータ５は地面に置かれ、カメラユニット３は斜上を向いている。このため、バーベル１が上下し、再帰反射体２が上下に移動した場合、差分画像ＤＩ上の再帰反射体２の像１１３及び１１５も上下方向（Ｙ軸方向）に移動する。すなわち、像１１３及び１１５のＹ座標の平均値Ｙａｖの値が変化する。このため、プロセッサ６１は、平均値Ｙａｖの値に基づいて、カーソル２０１を軸２０７上で上下に移動させる。
【００６８】
プレイヤはカーソル２０１が軸２０７と線オブジェクト２０３との交点の位置に来る様にバーベル１を上下させることで、正確に一定の移動量、速度及びリズムでバーベルの上下運動を行うことができる。また、プロセッサ６１は、カーソル２０１が線オブジェクト２０３及び玉オブジェクト２０５と重なっているか否かによって、プレイヤが適切な移動量、速度及びリズムでバーベル運動を行っているかを判定することができる。
【００６９】
再び図１１を参照して、プロセッサ６１は、玉オブジェクト２０５とカーソル２０７が重なった場合、点数を加算する。この時、プロセッサ６１は、効果音を発生させ、カーソル２０１と重なった玉オブジェクト２０５が消滅する演出を行う。後述するが、プロセッサ６１は、ＢＧＭ（バックグラウンドミュージック）の拍と同期して波オブジェクト２０３や玉オブジェクト２０５の出現及び移動量等の描画を制御している。図１１の例では、プロセッサ６１は、ＢＧＭの１拍に１つのペースで玉オブジェクト２０５を表示する。
【００７０】
これによって、カーソル２０１が線オブジェクト２０３及び玉オブジェクト２０５と重なると、上記効果音及び玉オブジェクト２０５の消滅演出がＢＧＭの拍と重なる。プロセッサこれによってプレイヤは運動のリズムを掴むことができ、音と映像を楽しみながら運動を行うことができる。
【００７１】
運動名表示部２０９には、プレイヤが行う運動の名前が表示される。
リズム表示部２１３にはプレイヤが行うべき運動のリズムが表示される。この実施の形態では、「４−４」は、バーベルを８拍で上げ８拍で下げる速度が一定の運動であることを意味する。「４−４」の他にも、２拍で上げ６拍で下げる「１−３」や、６拍で上げ２拍で下げる「３−１」や、２拍で上げて２拍で下げる「１−１」等が用意されている。
手本表示部２１３には、プレイヤが行うべき運動が、手本としてアニメーションによって表示される。図１１の例では、線オブジェクト２０３の頂点（玉オブジェクト２０５ａが配置される点）が軸２０７を通過する際に線オブジェクト２０３が立ち上がりの場合はバーベルを持ち上げるアニメーションが開始され、立ち上がりの場合はバーベルを下ろすアニメーションが開始される。
時間表示部２１７には、１セッションの残り時間がカウントダウンされる。今回の実施の形態では５分間の１セクションを１セッションとしているため、２５分間からカウントダウンされる。
点数表示部２１９には、これまでの点数が表示される。この点数はカーソル２０１が玉オブジェクト２０５と重なる毎に加算される。
運動量表示部２２１には、プレイヤが行った運動量がカロリーとして表示される。
回数表示部２２３には、このセクションにおけるプレイヤが行う上下運動の残り回数を表示している。線オブジェクト２０３一個分が軸２０７を通過すると、自動的に回数がカウントアップされる。撮像結果を解析して実際にプレイヤが運動を行った回数を計測するようにしてもよい。
アイコン表示部２１１は、現在の運動で使用する道具の種類がアイコンとして表示される。図１１の画面では、バーベルを表現したアイコンと、再帰反射体を表現したＲの字のアイコンが表示されている。図示はしないが、本システムでは、バーベル１の他に、バー１１やディスク１３に再帰反射体２を取り付けて使用する運動や、道具も再帰反射体２も使用しない運動を行うモードも用意されているため、モードによってアイコンも異なる。
この段落で説明した各表示部は、他の図で説明する運動指示画面にも表示されるが、役割は同じであるため、以後の図では説明は省略する。
【００７２】
図１２は、図１のテレビジョンモニタ１００に表示される運動指示画面の他の例示図である。図１２を参照して、線オブジェクト２０３は、立ち上がり時が急で、立ち下り時が緩やかな鋸波型の形状をしている。
【００７３】
図１２の運動指示画面も、プレイヤにバーベル１の上下運動を指示するための運動である。但し、図１２の運動指示画面は、２拍で素早くバーベルを上げて、６拍でゆっくりバーベルを下ろす「１−３」の運動をプレイヤに指示する。このように、線オブジェクト２０３の形状又は玉オブジェクト２０５の配置を変える事によって、プレイヤに指示する運動の移動量、速度又はリズム等を変化させることができる。
軸２０７と線オブジェクト２０３との交点の位置の変化量は、プレイヤに指示される運動の移動量に対応する。また、軸２０７と線オブジェクト２０３との交点の位置の変化速度は、プレイヤに指示される運動の速度に対応する。さらに、軸２０７と線オブジェクト２０３との交点の位置の変化の周期性は、プレイヤに指示される運動の周期性に対応する。
【００７４】
図１３は、図１のテレビジョンモニタ１００に表示されるインターバル画面の例示図である。ブロックとブロックとの間に、インターバルが挟まれることがある。このインターバルもブロックの一部であり、運動時間のカウントは進んでいる。画面右上にインターバルの残り時間が表示され、残り時間終了後、再び運動指示画面に遷移する。
【００７５】
プロセッサ６１は、５分間が経過し、インターバルを含め２０ブロック分の運動パターンデータの再生が終了すると、第１セクションを終了し、第２セクションへと移行する。
プロセッサ６１は、第２セクションにおける重点的に鍛える部位、使用する道具、再帰反射体の有無、各ブロックに割り当てられた運動パターンデータ等のデータをメモリ６３から読み出す。そしてプロセッサ６１は、読み出した第２セクションのデータに応じて図７〜図１０で説明したようなセクション開始画面、道具指示画面及び調整画面を表示する。そしてプロセッサ６１は、第２セクションの各ブロックに割り当てられた運動パターンデータに対応した運動指示画面を表示する。
【００７６】
図１４は、図１のテレビジョンモニタ１００に表示される運動指示画面のさらに他の例示図である。図１４の例では、ボールオブジェクト２０５の代わりに、バーオブジェクト２３１ａ及び２３１ｂが表示される。以下バーオブジェクト２３１ａ及び２３１ｂをまとめてバーオブジェクト２３１と説明する場合がある。プロセッサ６１は、プロセッサ６１は、平均値Ｙａｖの変化によって、バーベル１の上下運動を検出するが、カーソル２０１は表示しない。
プロセッサ６１は、線オブジェクト２０１の下向きの頂点にバーオブジェクト２３１ａを、線オブジェクト２０１の上向きの頂点にバーオブジェクト２３１ｂを表示する。
【００７７】
プロセッサ６１は、バーオブジェクト２３１ａが軸２０７を通過すると、「ＵＰ」という音声を再生し、手本表示部２１５にバーベルを上げるアニメーションを開始する。このときに、平均値Ｙａｖの値が所定値以上小さくなると、プロセッサ６１はバーベル１が持ち上げられたと判定し、効果音を鳴らし、点数を加算する。
また、プロセッサ６１は、バーオブジェクト２３１ｂが軸２０７を通過すると、「ＤＯＷＮ」という音声を再生し、手本表示部２１５にバーベルを下ろすアニメーションを開始する。このときに、平均値Ｙａｖの値が所定値以上大きくなると、プロセッサ６１はバーベル１が下げられたと判定し、効果音を鳴らして点数を加算する。
プロセッサ６１は、バーオブジェクト２３１の出現もＢＧＭの拍と同期して軸２０７に到達するように制御する。このため、プレイヤが画面の指示通りに運動を行えば、ＢＧＭのリズムに合わせて効果音が再生される。
【００７８】
図１４の運動指示画面は、プレイヤが仰向けになりバーベル１を上下させる運動を指示するための画面である。このように、プレイヤが常にテレビジョンモニタ５を見るのが難しい体勢での運動を指示する場合、プロセッサ６１は、バーオブジェクト２３１及び音声指示を使用した運動指示画面を表示する。
【００７９】
図１５は、図１のテレビジョンモニタ１００に表示される運動指示画面のさらに他の例示図である。図１４のような運動指示画面は、バーベル１やディスク１３のような道具を使用せず、再帰反射体２をどこにもつけずに行う場合に表示される。図１５の例は、プレイヤに腹筋運動を指示する画面の例である。
【００８０】
プロセッサ６１は、図１１の運動指示画面と同様に、ＢＧＭの拍と同期して線オブジェクト２０３を表示する。しかしプロセッサ６１は、玉オブジェクト２０５やバーオブジェクト２３１に相当するオブジェクトや、カーソル２０１を表示しない。また、図１５の例では、プロセッサ６１は、カメラユニット３による動作解析を行わない。
プロセッサ６１は、線オブジェクト２０１の下向きの頂点が軸２０７を通過した場合、ＵＰという音声を再生し、手本表示部２１５に上体を起こすアニメーションを表示する。また、プロセッサ６１は、線オブジェクト２０１の上向きの頂点が軸２０７を通過した場合、ＤＯＷＮという音声を再生し、手本表示部２１５に上体を下ろすアニメーションを表示する。
プレイヤは音声及び線オブジェクト２０３の動きに従って、ペースを保ちながら腹筋運動を行うことができる。
【００８１】
プロセッサ６１は、このセッションにおける最終セクションである第５セクションが終了すると、結果表示画面（図示せず）に移行する。結果表示画面では、このセッションで鍛えた部位やプレイヤが獲得した点数などが各種方法で表示される。また、その日までの運動記録をグラフ等により表示する。セッションの途中であっても、キャンセルキー５７がプレイヤによって押された場合、プロセッサ６１はセッションを終了し、結果表示画面に移行する。
【００８２】
次に、プロセッサ６１が行う各種処理の一部を、フローチャートを用いて説明する。まず、本システムにおいて、再帰反射体２の動きを検出する処理について説明する。
【００８３】
図１６は、プロセッサ６１が実行する処理の全体的な流れを示すフローチャートである。図１６を参照して、電源スイッチ（図示せず）がオンされると、ステップＳ１にて、プロセッサ６１は、システムの初期設定を実行する。この処理で、各種変数や各種カウンタがクリア（０）される。ステップＳ３にて、プロセッサ６１は、メモリ６３に格納されたアプリケーションプログラムに従った処理を実行する。このアプリケーションプログラムは、複数のプログラムを含む。ステップＳ５にて、プロセッサ６１は、ビデオ同期信号による割り込みが発生するまで待機する。つまり、プロセッサ６１は、ビデオ同期信号による割り込みが発生していない場合は、同じステップＳ５に戻り、ビデオ同期信号による割り込みが発生した場合は、ステップＳ７に進む。例えば、ビデオ同期信号による割り込みは、１／６０秒ごとに発生する。この割り込みに同期して、ステップＳ７及びステップＳ９にて、プロセッサ６１は、テレビジョンモニタ１００に表示する画像を更新すると共に、音声の再生を行う。そして、プロセッサ６１は、ステップＳ３に戻る。
【００８４】
図１７は、図１６のステップＳ３のアプリケーションプログラムが実行する処理の１つである撮影処理を示すフローチャートである。図１７を参照して、ステップＳ２１において、プロセッサ６１は、赤外発光ダイオード３３を点灯する。ステップＳ２３で、プロセッサ６１は、イメージセンサ３５から、赤外光点灯時の画像データを取得して、内部メモリに格納する。
【００８５】
ここで、本実施の形態では、イメージセンサ３５として、６４ピクセル×６４ピクセルのイメージセンサを使用する。従って、イメージセンサ３５からは、画像データとして、６４ピクセル×６４ピクセルのピクセルデータが出力される。このピクセルデータは、Ａ／Ｄコンバータにより、デジタルデータに変換されて、内部メモリ上の二次元配列Ｐ１［Ｘ］［Ｙ］の要素として格納される。
【００８６】
ステップＳ２５で、プロセッサ６１は、赤外発光ダイオード３３を消灯する。ステップＳ２７にて、プロセッサ６１は、イメージセンサ３５から、赤外光消灯時の画像データ（６４ピクセル×６４ピクセルのピクセルデータ）を取得して、内部メモリに格納する。この場合、このピクセルデータは、内部メモリ上の二次元配列Ｐ２［Ｘ］［Ｙ］の要素として格納される。
【００８７】
以上のようにして、ストロボ撮影が行われる。なお、ピクセルデータは各ピクセルの輝度値のことである。よって、差分画像ＤＩも、便宜のために正方形の画像として説明したが、実際は各ピクセルの輝度値である。
【００８８】
プロセッサ６１は、撮影ルーチンによる撮影結果から、差分画像ＤＩを算出して、差分画像ＤＩから２つの注目点（第１注目点及び第２注目点）を抽出する。ここで、差分画像ＤＩに再帰反射体２が写りこんでいるときは、その部分の輝度値は、他の部分より大きくなるので、経験的に定めた所定の閾値Ｔｈを超える輝度値を持つピクセルの領域を、再帰反射シートの像とする。そして、その像を形成するピクセルのうち、最大輝度値を持つピクセルを注目点とする。
【００８９】
図１８は、図１６のステップＳ３のアプリケーションプログラムが実行する処理の１つである注目点抽出処理を示すフローチャートである。図１８を参照して、ステップＳ４１にて、プロセッサ６１は、イメージセンサ３５からの、赤外光点灯時のピクセルデータと、赤外光消灯時のピクセルデータと、の差分を算出して、配列Ｄｉｆ［Ｘ］[Ｙ]の要素として格納する。ここで、実施の形態では、６４ピクセル×６４ピクセルのイメージセンサ３５を用いているため、Ｘ＝０〜６３、Ｙ＝０〜６３、である。ステップＳ４３にて、プロセッサ６１は、変数ｎに「０」を代入する。
【００９０】
ステップＳ４５にて、プロセッサ６１は、配列の要素Ｄｉｆ［ｎ］[０]〜Ｄｉｆ［ｎ］[６３]をスキャンして、最大値を検出する。ステップＳ４７にて、プロセッサ６１は、検出した最大値が、所定の閾値Ｔｈより大きい場合は、ステップＳ４９に進み、所定の閾値Ｔｈ以下の場合は、ステップＳ５１に進む。ステップＳ４９では、プロセッサ６１は、配列の要素ｍａｘ［ｎ］として、所定の閾値Ｔｈを超えた最大値を代入する。一方、ステップＳ５１にて、プロセッサ６１は、配列の要素ｍａｘ［ｎ］として、所定値（例えば、「０」）を代入する。
【００９１】
ステップＳ５３では、プロセッサ６１は、変数ｎを１つインクリメントする。ステップＳ５３にて、プロセッサ６１は、変数ｎが「６４」の場合、ステップＳ５７に進み、そうでない場合は、ステップＳ４５に戻る。このようにして、６４ピクセル×６４ピクセルの要素Ｄｉｆ［Ｘ］[Ｙ]に対して、列単位（６４ピクセル）のスキャンを６４回繰り返して、列毎に最大値を求め、配列の要素ｍａｘ[０]〜ｍａｘ[６４]に格納する。そして、ステップＳ５７にて、プロセッサ６１は、２点抽出処理を実行する。
【００９２】
図１９は、図１８のステップＳ５７の２点抽出処理を示すフローチャートである。図８を参照して、ステップＳ７１にて、プロセッサ６１は、配列の要素ｍａｘ[０]〜ｍａｘ[６３]をスキャンして、最大値を検出する。ステップＳ７３にて、プロセッサ６３は、検出した最大値を持つピクセルの座標を第１注目点の座標として保存する。ステップＳ７５にて、プロセッサ６１は、配列の要素ｍａｘ[０]〜ｍａｘ[６３]のうち、ステップＳ７３で検出した最大値を中心に所定範囲をマスクする。
【００９３】
ステップＳ７７にて、プロセッサ６１は、配列の要素ｍａｘ[０]〜ｍａｘ[６３]のうち、マスクされた所定範囲を除いてスキャンを実行し、最大値を検出する。ステップＳ７９にて、プロセッサ６１は、ステップＳ７７で検出した最大値を持つピクセルの座標を第２注目点の座標として保存する。
【００９４】
ステップＳ８１にて、プロセッサ６１は、Ｘ座標が小さい方を第１注目点の座標とし、Ｘ座標が大きい方を第２注目点の座標として、再設定する。つまり差分画像ＤＩ上で、左の注目点を第１注目点とし、右の注目点を第２注目点とする。ステップＳ８３にて、プロセッサ６１は第１注目点及び第２注目点の座標から、２点のＹ座標の平均値Ｙａｖを算出する。
【００９５】
図２０は、プロセッサ６１がプログラムに従って実行する画面表示の、状態遷移図である。図２０を参照して、プロセッサ６１は、ステップＳ１０１で運動モードかオプションモードかを選択するモード選択画面を表示する。運動モードが選択された場合はステップＳ１０３に進み、オプションモードが選択された場合はステップＳ１０５にオプション画面（図示せず）を表示する。
【００９６】
オプション画面はプレイヤの身長等のデータを入力するための画面である。オプション画面で各種データを入力せず、初期値のままで運動モードを開始しても構わない。しかし、身長等のデータを入力しておくことで、より正確にコンピュータ５にプレイヤの運動を解析させることができる。
【００９７】
ステップＳ１０３で、プロセッサ６１は、セッション選択画面（図示せず）を表示し、プレイヤにその日のセッションを選択させる。そして、プロセッサ６１は、選択されたセッションに含まれる各セクション及びブロックのデータをメモリ６３から読み出す。
【００９８】
ステップＳ１０７へ進み、プロセッサ６１は、図７で説明したようなセクション開始画面を表示する。
ステップＳ１０９に進み、プロセッサ６１は、図８で説明したような道具指示画面を表示する。
ステップＳ１１１に進み、プロセッサ６１は、図９で説明したような調整画面を表示する。
ステップＳ１１３に進み、プロセッサ６１は、図１０で説明したような運動説明画面を表示する。
そして、ステップＳ１１５に進み、プロセッサ６１は、図１１、１２、１４又は１５で説明したような運動指示画面を表示する。この運動指示画面において、ブロック単位で運動パターンの再生が行われる。運動パターンの再生が一つ終了すると、プロセッサ６１は、ステップＳ１１７に進む。
【００９９】
ステップＳ１１７で、プロセッサ１１７は、あるセクションにおける全ブロック分の運動パターンデータの再生が終了したかをチェックする。Ｙｅｓであればプロセッサ６１はステップＳ１１７に進み、ＮｏであればステップＳ１１９に進む。
プロセッサ６１は、ステップＳ１１９で、図１３で説明したインターバル画面を所定時間表示し、ステップＳ１１３に戻って、次の運動パターンデータの再生を開始する。
【０１００】
ステップＳ１１７からステップＳ１１９に進むと、プロセッサ６１はあるセッションにおける全てのセクションの処理が終了したかをチェックする。プロセッサ６１は、ＹｅｓであればステップＳ１２３に進み、ＮｏであればステップＳ１０７に戻って次のセクションの処理を開始する。
ステップＳ１２３に進むと、プロセッサ６１は、プレイヤに続けるか終了するかを選択させ、続ける場合はステップＳ１０１のモード選択画面に戻り、終了する場合は処理を終了する。
【０１０１】
次に、図２１及び図２２を用いて、プロセッサ６１が運動指示画面において、ＢＧＭの拍と合致した線オブジェクト２０３及び玉オブジェクト２０５を表示する処理について説明する。
【０１０２】
図２１は、図１６のステップＳ３のアプリケーションで実行されるフラグセット処理の流れを示すフローチャートである。図２１を参照して、プロセッサ６１は、セッション開始時に、プログラムに内蔵された楽譜データに基づいてＢＧＭを再生する。この際プロセッサ６１は、ＢＧＭの再生に合わせて、ステップＳ１３１で、ＢＧＭの楽譜データ及びテンポデータから、ＢＧＭの拍を取得し、１拍毎に拍フラグを設定する。例えば、ＢＧＭのテンポが１２８ＢＰＭ（Ｂｅａｔ  Ｐｅｒ  Ｍｉｎｕｔｅ）であれば、５分間の１セッションの間に、６４０拍分の拍フラグが設定される。また、拍を基に１小節（例えば４拍分）や１ブロック（３２拍分）の長さも計算され、その終点で小節終了フラグ、ブロック終了フラグが設定される。
【０１０３】
ステップＳ１３３に進んで、プロセッサ６１は、現在のブロックにおいて再生すべき運動パターンデータを、メモリ６３から読み込む。
ステップＳ１３５に進み、プロセッサ６１は、運動パターンデータに従い、ステップＳ１３１で設定した拍フラグに同期させて、運動指示画面を表示するための各種フラグをセットする。
【０１０４】
運動パターンデータとは運動指示画面に含まれる各種表示を行うためのデータである。運動パターンデータは、以下の情報を含む。
「ＩＤ」…運動パターンデータの種類を識別するためのＩＤ番号である。
「ＮＡＭＥ」…運動パターンの名前である。運動名表示部２０９等に表示に使用する。
「ＷＡＶＥ」…線オブジェクト２０３を描画する数を示すデータである。このシステムでは波形の１周期分を単位として線オブジェクト２０３を描画している。
「ＴＹＰＥ」…線オブジェクト２０３上に配置されるオブジェクトのタイプを示すデータである。ボールオブジェクト２０５、バーオブジェクト２３１又は何もなしの３種類を現すコードがある。
「ＲＥＡＤＹ」、「ＧＯ」、「ＮＥＸＴ」、「ＦＩＮＩＳＨ」…画面上にそれぞれの文字を表示するタイミング（何番目の拍フラグか）を示すデータである。ある運動パターンデータの線オブジェクト２０３が出現する前に、「ＲＥＡＤＹ」と「ＧＯ」が表示される。そして、運動パターンデータの再生が終了するときに、「ＮＥＸＴ」が表示される。このとき当該運動パターンデータの再生でそのセクションが終了する場合は、「ＦＩＮＩＳＨ」が表示されるように設定されている。
「ＳＰＥＥＤ  ＣＯＵＮＴ」…前述の「１−１」、「２−２」、「１−３」、「３−１」及び「４−４」の何れかを示すデータである。つまり、「ＳＰＥＥＤ  ＣＯＵＮＴ」のデータに基づいて、描画される線オブジェクト２０３の形状及び玉オブジェクト２０５の配置が決定される。「１−１」は１小節分、「２−２」、「１−３」及び「３−１」は２小節分、「４−４」は４章節分の長さが有る。
【０１０５】
図２２は、図１６のステップＳ３のアプリケーションで実行されるオブジェクト描画設定処理の流れを示すフローチャートである。図２２のフローチャートは、線オブジェクト２０３及び玉オブジェクト２０５を描画する際の処理を説明するものである。
【０１０６】
ステップＳ１５１で、プロセッサ６１は線オブジェクト２０３及び玉オブジェクト２０５とが画面中に表示されているか否かをチェックし、ＹｅｓであればステップＳ１５３に進み、ＮｏであればステップＳ１６３に進む。
【０１０７】
ステップＳ１５３で、プロセッサ６１は、表示中の線オブジェクト２０３及び玉オブジェクト２０５を一定の速度で移動させるための処理を行う。この速度は、画面右端に線オブジェクト２０３及び玉オブジェクト２０５が出現してから６拍目に軸２０７に到達する速度で設定されている。
【０１０８】
ステップＳ１５５に進み、プロセッサ６１は、カーソル２０１と何れかの玉オブジェクト２０５とが重なったか否かをチェックし、ＹｅｓであればステップＳ１５７へ進み、ＮｏであればステップＳ１５９へ進む。
ステップＳ１５７で、プロセッサ６１は、玉オブジェクト２０５が弾けて消滅する演出の設定と、効果音を発生させるように設定し、ステップＳ１５９へ進む。
なお、プロセッサ６１は、図１６のステップＳ７で画像の更新を、ステップＳ９で音声の再生を行うため、ここで言う設定とは、図１６のステップＳ７及びステップＳ９で行われる画像の更新及び音声の再生を決定するための設定である。
【０１０９】
ステップＳ１５９で、プロセッサ６１は、画面左端へ到達したの線オブジェクト２０３又は玉オブジェクト２０５があるかをチェックする。プロセッサ６１は、ＹｅｓであればステップＳ１６１でオブジェクトの表示を消す設定を行ってからステップＳ１６３へ進み、Ｎｏであれば直接ステップＳ１６３に進む。
【０１１０】
ステップＳ１６３で、プロセッサ６１は、運動パターンデータの内、「ＳＰＥＥＤ  ＣＯＵＮＴ」を変更する拍か否かをチェックし、ＹｅｓであればステップＳ１６５へ進み、Ｎｏであればオブジェクト描画設定処理を終了する。
ステップＳ１６５で、プロセッサ６１は、「ＳＰＥＥＤ  ＣＯＵＮＴ」のコードを受け取ると、波オブジェクト２０３一つ分の描画を開始するように設定する。また、プロセッサ６１は、線オブジェクト２０３上に所定の間隔で玉オブジェクト２０５を配置するように設定する。玉オブジェクト２０５は、拍フラグ毎に一つずつ配置される。設定が終了すると、プロセッサ６１はオブジェクト描画設定処理を終了する。
【０１１１】
バーオブジェクト２３１を使用した運動指示画面では、プロセッサ６１は、ほぼ同様のオブジェクト描画設定処理を実行する。但し、カーソル２０１が存在しないので、ステップＳ１５５に相当する処理において、プロセッサ６１は、バーオブジェクト２３１が軸２０７に到達したときに、平均値Ｙａｖの値の変化をチェックし、対応する変化があればステップＳ１５７に相当する演出及び効果音の設定処理を行う。
また、プロセッサ６１は、ステップＳ１６５に相当する処理において、線オブジェクト２０３の描画を設定する際に、その頂点毎に一つずつの割合でバーオブジェクト２３１を配置するように設定する。
【０１１２】
また、線オブジェクト２０３だけを使用する運動指示場面では、プロセッサ６１は、ステップＳ１５５、Ｓ１５７に相当する処理は行わない。
【０１１３】
さて、以上のように、本実施の形態によれば、テレビジョンモニタ１００に表示される線オブジェクト２０３と軸２０７との交点の位置が時間とともに変化する。このため、プレイヤは当該交点の位置の変化を参考にして運動を行うことができる。例えば交点の高さの変化に合わせてプレイヤの体やプレイヤが動かすバーベル１、バー１１又はディスク１３を動かすように指示することができる。
線オブジェクト２０３を波状の線にすることにより、線オブジェクト２０３と軸２０７との交点の位置の変化も周期的なものとなる。つまり、プレイヤに対して周期的な運動を指示することができる。例えば線オブジェクト２０３の頂点が軸２０７に到達するタイミングで腹筋運動やバーベルの上下運動を行うように指示がなされるので、プレイヤは一定のリズムで運動を行える。
【０１１４】
玉オブジェクト２０５又はバーオブジェクト２３１は、ＢＧＭの拍に合わせて軸２０７と重なるため、プレイヤに対して一定の速度で動く運動を指示する際に、プレイヤが当該一定の速度を把握しやすくなる。また、プレイヤの運動のリズムがＢＧＭのリズムと一致するため、プレイヤは楽しく運動をすることができる。
【０１１５】
プレイヤはカーソル２０１が線オブジェクト２０３と軸２０７との交点と重なっているかを確かめることで、自分が指示通りに運動できているかを確認することができる。また、プロセッサ６１はカーソル２０１が上記交点と重なっているかを確認することで、プレイヤが指示通りに運動できているかを評価することができる。
プレイヤが指示通りに運動を行えた場合に、玉オブジェクト２０５が弾ける演出表示や効果音が発生するので、プレイヤは楽しみながら運動をおこなうことができる。
特に、玉オブジェクト２０５が軸２０７と重なるタイミングの間隔が、ＢＧＭの拍と一致するように制御されるので、上記演出表示や上記効果音の発生するタイミングがＢＧＭのリズムと一致し、プレイヤはより運動を楽しむことができる。
【０１１６】
本実施の形態では、カメラユニット３によって、再帰反射体２の動きを検出することにより、間接的にプレイヤの運動に連動したカーソル２０１の制御を実現している。
再帰反射体２は赤外発光ダイオード３３を反射し目立つため、撮像結果から再帰反射体２の像だけを抽出しやすい。このため、撮像結果から直接プレイヤ又はプレイヤが動かす道具の動きを検出する場合と比較して簡単な処理で、プレイヤの運動に連動したカーソル２０１の制御を実現することができる。
また、プロセッサ６１が制御する赤外発光ダイオード３３の点灯時と消灯時の撮像結果の差分を取ることにより、より精度よく撮像結果から再帰反射体２の像だけを抽出しやすくなる。
【０１１７】
なお、本発明は、上記の実施の形態に限られるものではなく、その要旨を逸脱しない範囲で種々の態様において実施することが可能であり、例えば、以下のような変形も可能である。
【０１１８】
（１）上記の実施の形態では、プレイヤ又はプレイヤが動かすバーベル１やディスク１３の動きを検出するために、再帰反射体２、赤外線によるストロボ撮影及び差分処理を使用した。これらは簡単な処理で動きの検出を行うことができる一例であり、本発明に必須の構成要件というわけではない。各種カメラによってプレイヤ又はプレイヤが動かす道具を撮像し、撮像結果を解析して動きを検出する方法は、モーションキャプチャーや画像解析技術、画像から動体のみを検出する技術等、様々な周知技術が存在する。
また、上記実施の形態ではプロセッサ６１がカメラユニット６１からアナログデータを取得し、各種解析を行うことによって再帰反射体２の実空間中の位置に対応したデータであるＸＹ座標を取得していたが、カメラユニットによっては内蔵されたＭＣＵ（Ｍｉｃｒｏ  Ｃｏｍｐｕｔｅｒ  Ｕｎｉｔ）によって被写体の動きを解析し、ＸＹ座標に相当するデータの算出及び出力まで行うようなものも存在するため、そのようなカメラユニットを使用してもよい。つまり、全ての画像解析処理をプロセッサで処理せずに、処理を分散しても構わない。
【０１１９】
（２）また、プレイヤ又はプレイヤが動かす道具の動きを検出する方法は、撮像による解析に限られない。例えば、加速度センサ、傾きセンサ、振動センサ、回転センサ、ジャイロスコープ及び重力センサのうち、一つまたは任意の組み合わせからなるセンサユニットを、プレイヤ又はプレイヤが動かす道具に取り付けたり、道具の場合は予め内蔵させたりしてもよい。そして、センサユニットからの出力に基づいて、プレイヤ又はプレイヤが動かす道具の動きを検出する方法がある。上記のようなセンサユニットによってプレイヤ又はプレイヤが動かす道具の動きを検出する方法は、様々な周知技術が存在する。
【０１２０】
（３）図示はしないが、線オブジェクト２０３は周期的な波型でなくてもよい。例えば、直線の組み合わせからなる非周期的な折れ線型であってもよい。この場合運動パターンデータに線オブジェクト２０３の形状を指定するデータが別途必要である。例えば軸２０７と垂直に交わる直線型の線オブジェクト２０３をスクロールさせた場合、プレイヤに対して、一定時間中軸２０７と線オブジェクト２０３との交点の高さでバーベル１を維持するような運動を指示することができる。
【０１２１】
（４）本実施の形態では、バーベル１、バー１１及びディスク１３等を使用する運動を指示するための運動支援システムを紹介したが、当然本発明は他の道具を使用した運動を指示するための運動支援システムに応用可能である。特に一定のリズムで周期的な運動を行う筋力トレーニングマシンに適している。例えば、上記実施の形態で説明したような運動指示画面を表示しつつ、筋力トレーニングマシンの可動部の動きを各種手段で検出して、それに応じてカーソルを動かすような構成であってもよい。
【０１２２】
（５）上記の実施の形態では、道具を使用しない腹筋運動において、カメラユニット３による動作の解析を行わない例を示した。しかし、道具を使用しない運動であっても、プレイヤの体が動く部位の動きを解析し、解析結果に応じてカーソルを軸上で移動させ、線オブジェクトや玉オブジェクトに相当するものとカーソルとが重なるように運動を指示することは可能である。
【産業上の利用可能性】
【０１２３】
本発明は、プレイヤに対して表示装置に表示する映像を用いて、適切な運動を指示することに利用できる。また、運動の指示以外にも、例えばカーソルをオブジェクトに合わせて動かし、うまく動かせれば演出や効果音が発生するようなビデオゲーム等に応用可能である。
【符号の説明】
【０１２４】
１…バーベル、２…再帰反射体、３…カメラユニット、５…コンピュータ、７…ＡＶケーブル、１００…テレビジョンモニタ、２０１…カーソル、２０３…線オブジェクト、２０５…玉オブジェクト、２３１…バーオブジェクト、２０７…軸、２０９…運動名表示部、２１１…アイコン、２１３…リズム表示部、２１５…手本表示部、２１７…時間表示部、２１９…点数表示部、２２１…運動量表示部、２２３…回数表示部
【図１】
2011067435.tif 000003
【図２】
2011067435.tif 000004
【図３】
2011067435.tif 000005
【図４】
2011067435.tif 000006
【図５】
2011067435.tif 000007
【図６】
2011067435.tif 000008
【図７】
2011067435.tif 000009
【図８】
2011067435.tif 000010
【図９】
2011067435.tif 000011
【図１０】
2011067435.tif 000012
【図１１】
2011067435.tif 000013
【図１２】
2011067435.tif 000014
【図１３】
2011067435.tif 000015
【図１４】
2011067435.tif 000016
【図１５】
2011067435.tif 000017
【図１６】
2011067435.tif 000018
【図１７】
2011067435.tif 000019
【図１８】
2011067435.tif 000020
【図１９】
2011067435.tif 000021
【図２０】
2011067435.tif 000022
【図２１】
2011067435.tif 000023
【図２２】
2011067435.tif 000024