(57)【要約】【課題】三次元仮想空間上で運動動作するオブジェクトを映し出した映像を表示部に表示する際に、運動動作の内容に応じて映像の表示倍率を変更することができる運動支援装置、運動支援方法およびプログラムを提供する。【解決手段】レッスンのリストに含まれるモーション情報に基づく運動動作を、第２の三次元仮想空間７９内でフィギュアＡに、終了まで、動作させる。フィギュアＡの動作範囲を示す残像体９３が内接する立方体から、可動範囲を示す撮影枠９４を求める。視点（仮想カメラ８１）から仮想スクリーン８８の位置に撮影枠９４の面９５を投影した投影面９１が仮想スクリーン８８より大きければ、拡大した仮想スクリーン９２を生成する。仮想スクリーン９２内には残像体９３が収まる。【選択図】図６
2011194076.tif 000002
【特許請求の範囲】
【請求項１】
所定の身体部位を動作させる運動の種類を表す複数の運動情報を取得する第１取得手段と、
前記身体部位を備え、前記運動情報が表す運動動作を行うオブジェクトを映し出した映像を、所定の表示部に表示させるときの基準となる基準表示倍率を取得する第２取得手段と、
前記オブジェクトが動作する運動動作の可動範囲を決定する第１決定手段と、
前記可動範囲が、前記表示部の表示範囲内に収まるように、前記オブジェクトを映し出した映像を前記表示部に表示する表示倍率を、前記基準表示倍率を基準に変更する制御を行う表示制御手段と、
を備えることを特徴とする運動支援装置。
【請求項２】
前記オブジェクトを映し出した映像が、前記表示部内で可動する座標情報を取得する第３取得手段をさらに備え、
前記第１決定手段は、前記第３取得手段により取得された前記座標情報に基づいて、前記オブジェクトが動作する運動動作の前記可動範囲を決定することを特徴とする請求項１に記載の運動支援装置。
【請求項３】
前記第１決定手段により決定された前記可動範囲が、基準となる基準範囲よりも大きいか否かを判定する判定手段をさらに備え、
前記表示制御手段は、前記判定手段により前記可動範囲が前記基準範囲よりも大きいと判定された場合に、前記表示倍率を前記基準表示倍率より小さくすることを特徴とする請求項１または２に記載の運動支援装置。
【請求項４】
前記判定手段は、前記第１決定手段により決定された前記可動範囲が前記基準範囲よりも小さいか否かを判定し、
前記表示制御手段は、前記判定手段により前記可動範囲が前記基準範囲よりも小さいと判定された場合に、前記表示倍率を前記基準表示倍率より大きくすること
を特徴とする請求項３に記載の運動支援装置。
【請求項５】
前記第１取得手段により取得される複数の前記運動情報の中から、所望の前記運動情報である所望運動情報を選択する選択手段と、
前記選択手段により選択された前記所望運動情報と、前記所望運動情報が実行される順序を示す運動順序情報とが対応付けられたリストを取得する第４取得手段と、
をさらに備え、
前記第１決定手段は、前記リストに含まれる前記運動順序情報に従い、前記所望運動情報が表す運動動作を前記オブジェクトが動作したときの前記可動範囲を決定し、
前記判定手段は、前記第１決定手段により決定された前記可動範囲が、前記基準範囲より大きいか否か、および前記基準範囲より小さいか否かを判定し、
前記表示制御手段は、前記判定手段により前記可動範囲が前記基準範囲よりも大きいと判定された場合に、前記表示倍率を前記基準表示倍率より大きくし、
前記表示制御手段は、前記判定手段により前記可動範囲が前記基準範囲よりも小さいと判定された場合に、前記表示倍率を前記基準表示倍率より小さくすること
を特徴とする請求項４に記載の運動支援装置。
【請求項６】
三次元仮想空間内に、あらかじめ視線方向および画角が設定され、前記オブジェクトを映しだした映像を撮影する視点と、前記オブジェクトと、を配置する配置手段をさらに備え、
前記表示制御手段は、前記画角を固定したまま前記視点の配置位置を前記視線方向に沿って移動させる制御、または、前記配置位置を固定したまま前記画角を変更する制御を行って、前記表示倍率を制御することを特徴とする請求項３から５のいずれかに記載の運動支援装置。
【請求項７】
前記配置手段により複数の所定の位置のそれぞれに複数の前記視点が配置され、複数の前記視点のうち、所望する１つの前記視点である所望視点を決定する第２決定手段をさらに備え、
前記第２取得手段は、前記第２決定手段によって決定された前記所望視点から前記オブジェクトを映し出した映像を、前記表示部に表示させるときの前記基準表示倍率を取得することを特徴とする請求項６に記載の運動支援装置。
【請求項８】
前記表示制御手段によって前記表示倍率が変更された後に、前記第２決定手段により、現在決定されている前記所望視点とは異なる新たな前記所望視点が決定された場合に、前記判定手段による判定と、前記表示制御手段による前記表示倍率の変更とが、再度実行されることを特徴とする請求項７に記載の運動支援装置。
【請求項９】
前記運動情報は、所定の身体部位を動作させる個別の運動を表すモーション情報を、運動の種類ごとに分類した情報であり、
前記判定手段による判定と、前記表示制御手段による前記表示倍率の変更とは、前記モーション情報ごとに実行されることを特徴とする請求項３から８のいずれかに記載の運動支援装置。
【請求項１０】
コンピュータで実行され、身体部位を備え、所定の前記身体部位を動作させる運動動作を行うオブジェクトを映し出した映像を表示部に表示させることで運動を支援する運動支援方法であって、
所定の身体部位を動作させる運動の種類を表す複数の運動情報を取得する第１取得ステップと、
前記身体部位を備え、前記運動情報が表す運動動作を行うオブジェクトを映し出した映像を、所定の表示部に表示させるときの基準となる基準表示倍率を取得する第２取得ステップと、
前記オブジェクトが動作する運動動作の可動範囲を決定する第１決定ステップと、
前記可動範囲が、前記表示部の表示範囲内に収まるように、前記オブジェクトを映し出した映像を前記表示部に表示する表示倍率を、前記基準表示倍率を基準に変更する制御を行う表示制御ステップと、
を含む運動支援方法。
【請求項１１】
身体部位を備え、所定の前記身体部位を動作させる運動動作を行うオブジェクトを映し出した映像を表示部に表示させる運動支援装置として機能させるためのプログラムであって、
コンピュータに、
所定の身体部位を動作させる運動の種類を表す複数の運動情報を取得する第１取得ステップと、
前記身体部位を備え、前記運動情報が表す運動動作を行うオブジェクトを映し出した映像を、所定の表示部に表示させるときの基準となる基準表示倍率を取得する第２取得ステップと、
前記オブジェクトが動作する運動動作の可動範囲を決定する第１決定ステップと、
前記可動範囲が、前記表示部の表示範囲内に収まるように、前記オブジェクトを映し出した映像を前記表示部に表示する表示倍率を、前記基準表示倍率を基準に変更する制御を行う表示制御ステップと、
を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、三次元仮想空間上で運動動作するオブジェクトを映し出した映像を表示部に表示し、所定の身体部位を動作させる運動を支援する運動支援装置、運動支援方法およびプログラムに関する。
【背景技術】
【０００２】
従来、コンピュータグラフィックス（ＣＧ）により三次元仮想空間上に配置されたオブジェクトが、有酸素運動や無酸素運動を含む運動動作を実行するシステムが開示されている（例えば、特許文献１参照）。ＣＧでは、一般に、三次元仮想空間上にオブジェクトと視点（仮想カメラ）が配置され、仮想カメラによりオブジェクトが撮影され、二次元の映像に変換される。オブジェクトを映し出した映像は、所定の表示部に表示され、このシステムのユーザは、表示された映像においてオブジェクトが行う運動動作を手本に、自らの身体部位を動作させる運動を行う。
【０００３】
ところで、オブジェクトの行う運動動作の内容によって、三次元仮想空間内でオブジェクトの動く範囲（可動範囲）は異なる。例えば、有酸素運動に分類されるサイドステップ運動では、オブジェクトは、三次元仮想空間内で、基準の位置に対して大きく位置移動しながら、身体部位を動作させる運動動作を行う。
【０００４】
オブジェクトを映し出した映像は、通常、基準の表示倍率で表示される。このため、例えば、オブジェクトの可動範囲の大きな運動動作において仮想カメラの向き（視線方向）を固定してしまうと、オブジェクトが映像からはみ出してしまう虞がある。このような場合、三次元仮想空間内で移動するオブジェクトに仮想カメラの視線方向を追従させて撮影した映像を用いてもよい。また、ユーザの要望により、表示倍率を縮小して、可動範囲の全体を映した映像が望まれる場合もある。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００９−１１２７３２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、従来は、ユーザによる装置の操作によって表示倍率の変更が行われており、運動動作の最中や、運動動作の種類が替わるごとに操作する必要が生ずる場合もあり、わずらわしかった。
【０００７】
本発明は、上記の問題点を解決するためになされたものであり、三次元仮想空間上で運動動作するオブジェクトを映し出した映像を表示部に表示する際に、運動動作の内容に応じて映像の表示倍率を変更することができる運動支援装置、運動支援方法およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明の第１態様によれば、所定の身体部位を動作させる運動の種類を表す複数の運動情報を取得する第１取得手段と、前記身体部位を備え、前記運動情報が表す運動動作を行うオブジェクトを映し出した映像を、所定の表示部に表示させるときの基準となる基準表示倍率を取得する第２取得手段と、前記オブジェクトが動作する運動動作の可動範囲を決定する第１決定手段と、前記可動範囲が、前記表示部の表示範囲内に収まるように、前記オブジェクトを映し出した映像を前記表示部に表示する表示倍率を、前記基準表示倍率を基準に変更する制御を行う表示制御手段と、を備える運動支援装置が提供される。
【０００９】
第１態様によれば、表示部に表示される映像の表示倍率を基準表示倍率に対して拡大または縮小する制御が、オブジェクトの運動動作の可動範囲に応じて行われる。この結果、利用者がオブジェクトの行う運動動作に合わせた運動を行っている最中に、表示倍率の変更を、利用者が入力部等により指示する必要がない。よって、利用者の運動実行が妨げられることがない。また、可動範囲を表示部の表示範囲内に確実に収めることができ、オブジェクトを映し出した映像が表示部に表示されたときに、見やすい。
【００１０】
第１態様は、前記オブジェクトを映し出した映像が、前記表示部内で可動する座標情報を取得する第３取得手段をさらに備えてもよい。この場合に、前記第１決定手段は、前記第３取得手段により取得された前記座標情報に基づいて、前記オブジェクトが動作する運動動作の前記可動範囲を決定してもよい。このようにすれば、具体的な座標情報に基づいて、より正確な、可動範囲を得ることができるので、可動範囲を表示部の表示範囲内に、より確実に、収めることができる。
【００１１】
第１態様において、前記第１決定手段により決定された前記可動範囲が、基準となる基準範囲よりも大きいか否かを判定する判定手段をさらに備えてもよい。この場合、前記表示制御手段は、前記判定手段により前記可動範囲が前記基準範囲よりも大きいと判定された場合に、前記表示倍率を前記基準表示倍率より小さくしてもよい。このように、表示部に表示される映像の表示倍率の縮小が、可動範囲に応じて行われる。この結果、利用者がオブジェクトの行う運動動作に合わせた運動を行っている最中に、表示倍率の縮小を、利用者が入力部等により指示する必要がない。よって、利用者の運動実行が妨げられることがない。
【００１２】
第１態様において、前記判定手段は、前記第１決定手段により決定された前記可動範囲が前記基準範囲よりも小さいか否かを判定し、前記表示制御手段は、前記判定手段により前記可動範囲が前記基準範囲よりも小さいと判定された場合に、前記表示倍率を前記基準表示倍率より大きくしてもよい。このように、表示部に表示される映像の表示倍率の拡大が、可動範囲に応じて行われる。この結果、利用者がオブジェクトの行う運動動作に合わせた運動を行っている最中に、表示倍率の拡大を、利用者が入力部等により指示する必要がない。よって、利用者の運動実行が妨げられることがない。
【００１３】
第１態様は、前記第１取得手段により取得される複数の前記運動情報の中から、所望の前記運動情報である所望運動情報を選択する選択手段と、前記選択手段により選択された前記所望運動情報と、前記所望運動情報が実行される順序を示す運動順序情報とが対応付けられたリストを取得する第４取得手段と、をさらに備えてもよい。この場合に第１態様において、前記第１決定手段は、前記リストに含まれる前記運動順序情報に従い、前記所望運動情報が表す運動動作を前記オブジェクトが動作したときの前記可動範囲を決定し、前記判定手段は、前記第１決定手段により決定された前記可動範囲が、前記基準範囲より大きいか否か、および前記基準範囲より小さいか否かを判定し、前記表示制御手段は、前記判定手段により前記可動範囲が前記基準範囲よりも大きいと判定された場合に、前記表示倍率を前記基準表示倍率より大きくし、前記表示制御手段は、前記判定手段により前記可動範囲が前記基準範囲よりも小さいと判定された場合に、前記表示倍率を前記基準表示倍率より小さくしてもよい。
【００１４】
このようにすれば、複数の運動が所望の順序に従って連続して実行される場合であっても、利用者が、運動ごとに、表示部に表示される映像の表示倍率の拡大または縮小の指示を、入力部等により直接入力する必要がない。つまり、運動が切り替わるたびに、表示倍率の変更を行う負担が利用者にかかることがないので、特に、連続した運動の実行を所望する利用者が、運動実行を妨げられることがない。
【００１５】
第１態様は、三次元仮想空間内に、あらかじめ視線方向および画角が設定され、前記オブジェクトを映しだした映像を撮影する視点と、前記オブジェクトと、を配置する配置手段をさらに備えてもよい。この場合に第１態様において、前記表示制御手段は、前記画角を固定したまま前記視点の配置位置を前記視線方向に沿って移動させる制御、または、前記配置位置を固定したまま前記画角を変更する制御を行って、前記表示倍率を制御してもよい。オブジェクトを映し出した映像は、三次元仮想空間内に配置されたオブジェクトを視点から撮影することによって生成されてもよい。このようにすれば、表示倍率の変更を容易に行うことができる。
【００１６】
第１態様は、前記配置手段により複数の所定の位置のそれぞれに複数の前記視点が配置され、複数の前記視点のうち、所望する１つの前記視点である所望視点を決定する第２決定手段をさらに備えてもよい。この場合に、前記第２取得手段は、前記第２決定手段によって決定された前記所望視点から前記オブジェクトを映し出した映像を、前記表示部に表示させるときの前記基準表示倍率を取得してもよい。複数の視点から所望する視点を決定できるようにすることで、より望ましい視点からオブジェクトを映し出した映像を、表示部に表示することができる。
【００１７】
第１態様において、前記表示制御手段によって前記表示倍率が変更された後に、前記第２決定手段により、現在決定されている前記所望視点とは異なる新たな前記所望視点が決定された場合に、前記判定手段による判定と、前記表示制御手段による前記表示倍率の変更とが、再度実行されてもよい。新たな視点が決定されたら、表示倍率の変更を再度行うことで、視点位置の違いによる可動範囲と基準範囲との不一致を確実に解消することができる。
【００１８】
第１態様において、前記運動情報は、所定の身体部位を動作させる個別の運動を表すモーション情報を、運動の種類ごとに分類した情報であり、前記判定手段による判定と、前記表示制御手段による前記表示倍率の変更とは、前記モーション情報ごとに実行されてもよい。表示倍率の変更をモーション情報ごとに行うことで、ひとつひとつの異なる運動ごとに、可動範囲にあわせた基準範囲の調整を行うことができる。
【００１９】
本発明の第２態様によれば、コンピュータで実行され、身体部位を備え、所定の前記身体部位を動作させる運動動作を行うオブジェクトを映し出した映像を表示部に表示させることで運動を支援する運動支援方法であって、所定の身体部位を動作させる運動の種類を表す複数の運動情報を取得する第１取得ステップと、前記身体部位を備え、前記運動情報が表す運動動作を行うオブジェクトを映し出した映像を、所定の表示部に表示させるときの基準となる基準表示倍率を取得する第２取得ステップと、前記オブジェクトが動作する運動動作の可動範囲を決定する第１決定ステップと、前記可動範囲が、前記表示部の表示範囲内に収まるように、前記オブジェクトを映し出した映像を前記表示部に表示する表示倍率を、前記基準表示倍率を基準に変更する制御を行う表示制御ステップと、を含む運動支援方法が提供される。
【００２０】
本発明の第３態様によれば、身体部位を備え、所定の前記身体部位を動作させる運動動作を行うオブジェクトを映し出した映像を表示部に表示させる運動支援装置として機能させるためのプログラムであって、コンピュータに、所定の身体部位を動作させる運動の種類を表す複数の運動情報を取得する第１取得ステップと、前記身体部位を備え、前記運動情報が表す運動動作を行うオブジェクトを映し出した映像を、所定の表示部に表示させるときの基準となる基準表示倍率を取得する第２取得ステップと、前記オブジェクトが動作する運動動作の可動範囲を決定する第１決定ステップと、前記可動範囲が、前記表示部の表示範囲内に収まるように、前記オブジェクトを映し出した映像を前記表示部に表示する表示倍率を、前記基準表示倍率を基準に変更する制御を行う表示制御ステップと、を実行させるプログラムが提供される。
【００２１】
第２態様に係る運動支援方法に従う処理をコンピュータで実行することによって、あるいは、第３態様に係るプログラムを実行してコンピュータを運動支援装置として機能させることで、第１態様と同様の効果を得ることができる。
【図面の簡単な説明】
【００２２】
【図１】出力端末５が含まれる運動支援システム１の構成を示す図である。
【図２】出力端末５の電気的な構成を示すブロック図である。
【図３】三次元仮想空間８０を模式的に示す図である。
【図４】アフィン変換による座標変換について説明するための図である。
【図５】運動支援プログラムのフローチャートである。
【図６】第２の三次元仮想空間７９を模式的に示す図である。
【図７】仮想カメラ８１の画角を求める方法を説明するための図である。
【図８】運動支援プログラムの変形例を示すフローチャートである。
【図９】仮想スクリーン８８の拡大および縮小について説明するための図である。
【発明を実施するための形態】
【００２３】
以下、本発明を具体化した一実施の形態について、運動支援プログラムが実行される出力端末５を運動支援装置の一例とし、図面を参照して説明する。なお、参照する図面は、本発明が採用しうる技術的特徴を説明するために用いられるものであり、記載されている装置の構成、各種処理のフローチャートなどは、それのみに限定する趣旨ではなく、単なる説明例である。
【００２４】
まず、図１を参照し、出力端末５が含まれる運動支援システム１の構成について説明する。運動支援システム１は、例えばインターネット等のネットワーク１０を介して電気的に接続される一つ以上の配信サーバ２と、一つ以上の出力端末５とから構成される。配信サーバ２には、後述するモーションデータを記憶したデータベース２１が接続されている。配信サーバ２は、ネットワーク１０を介し、データベース２１に記憶されたモーションデータを、定期的あるいは要求に応じて出力端末５に配信する。
【００２５】
モーションデータとは、後述する三次元仮想空間８０（図３参照）内に配置されるオブジェクト（人の形をしたフィギュアＡ）に、具体的な運動動作を行わせるためのデータである。モーションデータは、運動情報とモーション情報とに対応づけられている。また、オブジェクト（フィギュアＡ）の各身体部位のローカル座標系８４（後述）に基づく座標データ、同様に各身体部位に対応した細部の座標データ、細部に対応したテクスチャデータなども含まれる。運動情報とは、運動の種類を表す情報である。具体的に、運動情報には、「有酸素運動」、「無酸素運動」、「ストレッチ」、「ヨガ」などが含まれる。また、モーション情報とは、運動情報によって分類される個々の運動を表す情報である。具体的に、例えば「有酸素運動」に分類されるモーション情報には、「マーチ」、「フロントランジ」、「バックランジ」、「サイドステップ」等が含まれる。また、「無酸素運動」に分類されるモーション情報には、「ショルダープレス」、「ハーフスクワット」、「クォータースクワット」等が含まれる。「ストレッチ」に分類されるモーション情報には、「上腕部ストレッチ」、「大腿ストレッチ」、「ふくらはぎストレッチ」等が含まれる。「ヨガ」に分類されるモーション情報には、「かっこうのポーズ」、「太陽礼拝のポーズ」、「英雄のポーズ」等が含まれる。上記したデータベース２１には、各種の運動情報のそれぞれに分類された様々なモーション情報に、それぞれ対応するモーションデータが、蓄積される。
【００２６】
次に、出力端末５は、例えば、周知のパーソナルコンピュータであり、後述する運動支援プログラムがインストールされて実行されることにより、運動支援装置として機能するものである。出力端末５は、例えば、スポーツ施設４などに設置される。出力端末５は、運動支援プログラムの実行に従い、モーションデータに応じた運動動作を行うフィギュアＡを映し出した映像を生成し、後述するモニタ５７の表示部６７に表示する。スポーツ施設４の利用者４１は、表示部６７に表示された映像を手本に、各自の身体部位を動作させる運動を行う。
【００２７】
次に、出力端末５の電気的な構成について説明する。図２に示す、出力端末５は、制御を司るＣＰＵ５１を備えている。ＣＰＵ５１には、バス５４を介して、ＲＯＭ５２、ＲＡＭ５３、入出力（Ｉ／Ｏ）インタフェイス５５が接続されている。ＲＯＭ５２は、ＣＰＵ５１が実行するＢＩＯＳ等のプログラムを記憶する読出し専用の記憶装置である。ＲＡＭ５３は、データを一時的に記憶する読み書き可能な記憶装置である。
【００２８】
入出力インタフェイス５５には、ハードディスクドライブ（ＨＤＤ）７、マルチディスクドライブ５８、ネットワーク通信部６０、表示制御部５６、音声出力部６３、信号受信部６５、キーボード６１およびマウス６２が接続されている。マルチディスクドライブ５８は、例えばＣＤ−ＲＯＭやＤＶＤ−ＲＯＭなど、データが記憶された記憶媒体であるディスクＲＯＭ５９が挿入されると、ディスクＲＯＭ５９からデータやプログラム等の読み込みを行うものである。
【００２９】
記憶装置であるＨＤＤ７には、ディスクＲＯＭ５９から読み出されたプログラムがインストールされる。また、配信サーバ２からネットワーク１０を介して配信されるモーションデータが、運動情報とモーション情報とに対応づけられて記憶される。なお、本実施の形態では、後述する運動支援プログラムがディスクＲＯＭ５９に記憶されて提供されるが、フラッシュＲＯＭなど、その他の記憶媒体に記憶されて提供されてもよい。あるいは、図示しないネットワークインタフェイスを介して接続されるネットワーク上の他の端末から、ダウンロードにより、提供されてもよい。また、ＨＤＤ７には、配信サーバ２から、図示しないデータベースに蓄積された、ＢＰＭ（Ｂｅａｔｓ  Ｐｅｒ  Ｍｉｎｕｔｅ）情報、繰返し情報、楽曲情報なども配信され、蓄積される。詳細についての説明は省略するが、これらの情報は、モーション情報に応じたモーションデータに基づく運動動作をフィギュアＡが行う場合の動作速度、同一動作の繰返し回数、スピーカ６４から出力されるＢＧＭなど、各種要素として用いられる。
【００３０】
表示制御部５６は、後述する運動支援プログラムの実行に従い生成される、フィギュアＡを映し出した映像を、モニタ５７の表示部６７に表示するための描画処理を行う。キーボード６１、マウス６２、リモコン６６は、操作者４２（例えばインストラクターであり、図１に示す。）が、例えば、後述する運動情報やモーション情報の選択や視点の変更など、出力端末５の操作を行う際に用いられる。信号受信部６５は、電波や光など周知の手段を用いてリモコン６６から出力される信号を受信する。音声出力部６３は、オブジェクトＡを映し出した映像に合わせて再生されるＢＧＭや効果音等をスピーカ６４から出力する制御を行う。
【００３１】
次に、図３を参照し、三次元仮想空間８０について説明する。三次元仮想空間８０は、運動支援プログラムの実行に伴いＣＰＵ５１がＲＡＭ５３に確保する所定の記憶エリアに記憶される座標データ等によって構成されるものである。本実施の形態では、理解を容易にするため、座標データ等に基づき定義される仮想的な空間を、三次元仮想空間８０として、例えば図３に示すように、模式的に図に表して説明する。この三次元仮想空間８０内のあらゆるオブジェクトは、ＸＹＺ座標軸に基づく座標データとして定義される。なお、オブジェクトは、本実施の形態においてはフィギュアＡを指すが、他にも、図示しない、バーベルやフロアマット、縄跳び用の縄などの道具類や、フィギュアＡとは異なる人の形をしたフィギュアなども含まれる。
【００３２】
三次元仮想空間８０内において、所定の座標に、オブジェクトとしてのフィギュアＡが配置される。さらに、フィギュアＡの配置位置（座標）を取り巻く２４カ所の定位置に、視点（図中黒角点で示す。）が設けられるものとする。説明を容易にするため、各視点には、それぞれ、仮想カメラ８１（図３ではそのうちの２つを示す。）が配置されたものとする。また、各仮想カメラ８１は、それぞれ、あらかじめ撮影方向８２（視線方向）、画角（垂直画角θ１、水平画角θ２（図４参照）（０°＜θ１＜１８０°、０°＜θ２＜１８０°））、および後述する仮想スクリーン８８（図４参照）の設置位置が設定されているものとする。なお、撮影方向８２は、フィギュアＡの初期の配置位置（後述）に向けられる。そして、仮想カメラ８１で三次元仮想空間８０内を撮影した映像が、後述する、オブジェクトを映し出した画像として用いられることとする。なお、三次元仮想空間８０内に配置されるオブジェクトの数や種類、視点の数は一例であり、任意に増減可能である。また、オブジェクトと視点の配置位置の関係についても任意に設定可能である。
【００３３】
ここで、仮想カメラ８１で三次元仮想空間８０内が撮影され、オブジェクトを映し出した映像が生成される過程について、簡単に説明する。オブジェクトを映し出した映像とは、三次元仮想空間８０内に配置されたオブジェクトが所定の時間ごとに撮影されて二次元の画像に変換され、その画像が、時系列に沿って連続的に表示されたものである。
【００３４】
本実施の形態において、三次元仮想空間８０内に配置されたオブジェクトを二次元の画像に変換する処理は、アフィン変換に基づく一連の座標変換処理によって行われる。アフィン変換とは、二次元の座標変換に使用され、拡大、縮小、反転などの線形変換と平行移動が結合された変換方法である。アフィン変換を用いることで、三次元仮想空間８０内に配置した個々のオブジェクトごとに設定された座標（ローカル座標）を、ワールド座標、ビュー座標、スクリーン座標、デバイス座標に順に変換して二次元の座標とすることができる。これにより、視点からオブジェクトを見た画像が生成され、その画像が連続表示されることで、オブジェクトを映し出した映像として生成される。このアフィン変換による座標変換の具体的な処理については公知である。ゆえに、以下では、三次元仮想空間８０内に配置したオブジェクトの一例としてのフィギュアＡのローカル座標がデバイス座標に変換されるまでの一連の過程の概要を説明する。
【００３５】
図４に示すように、フィギュアＡは、頭、胸、手、足など、要所となる身体部位（図中黒丸点で示す。）が、それぞれ、ＸＹＺ座標軸に基づく座標データとして定義されている。これらの各身体部位の座標は、オブジェクトの基準とする座標（例えば頭の座標）を原点とする位置座標（ローカル座標系８４の座標）で、それぞれ定義されている。なお、身体の細部については、さらにこれらの各身体部位を基準にした座標データで定義され、公知のテクスチャマッピング等によって表現されるが、ここでは簡略化のため、細部についての説明は省略する。
【００３６】
フィギュアＡの各身体部位のローカル座標系８４の座標が、三次元仮想空間８０に設定された基準の位置を原点に、三次元仮想空間８０の全体をＸＹＺ座標軸に基づく座標データで定義されたワールド座標系８５の座標に変換される。また、三次元仮想空間８０内に、フィギュアＡを見る視点（仮想カメラ８１）が設置され、視点の位置がワールド座標系８５の座標で定義される。
【００３７】
三次元仮想空間８０を定義したワールド座標系８５の座標が、視点の位置座標を原点とするビュー座標系８６の座標に変換される。そして、ビュー座標系８６の座標として定義された三次元仮想空間８０内に、平面状の仮想スクリーン８８が定義され、仮想カメラ８１から仮想スクリーン８８を透過させてフィギュアＡを見た画像が、仮想スクリーン８８上に形成される。具体的に、ビュー座標系８６において、フィギュアＡの各身体部位の座標が、仮想カメラ８１（視点）とフィギュアＡの各身体部位とを結ぶ仮想線（図中一点鎖線で示す。）が仮想スクリーン８８と交わる点の座標（スクリーン座標）に変換される。
【００３８】
こうして仮想スクリーン８８上の座標に変換されたフィギュアＡの各身体部位の座標は、この時点ではまだビュー座標系８６において三次元の座標として定義されているので、次に二次元平面の座標に変換される。すなわち、ビュー座標系８６で示される仮想スクリーン８８上の座標（スクリーン座標）が、表示部６７（図１参照）に表示する大きさの、デバイス座標系８７で示される二次元の仮想画面８９上の座標（デバイス座標）に変換される。
【００３９】
以上のアフィン変換によるローカル座標からデバイス座標に変換する一連の座標変換によって、三次元仮想空間８０内に配置された視点から見た、仮想スクリーン８８上にフィギュアＡが映しだされた画像を、仮想画面８９として得ることができる。アフィン変換による座標変換処理は、後述の運動支援プログラムの実行に伴うＣＰＵ５１による行列演算によって行われる。仮想画面８９は、所定の時間ごと（例えば１／３０秒ごと）に生成され、順に表示部６７に表示されることで、オブジェクトを映し出した映像が提供される。
【００４０】
なお、仮想スクリーン８８の大きさを、表示部６７に表示する大きさ（すなわち仮想画面８９の大きさ）に変換する際に、拡大または縮小する倍率が、本発明における「表示倍率」に相当する。また、前述したように、三次元仮想空間８０内に配置された各視点（仮想カメラ８１）には、あらかじめ撮影方向８２（視線方向）、画角（垂直画角θ１、水平画角θ２）、および仮想スクリーン８８の設置位置が設定されている。このデフォルトの状態において、仮想スクリーン８８の大きさを表示部６７に表示する大きさ（仮想画面８９の大きさ）に変換するときの倍率が、本発明における「基準表示倍率」に相当する。上記の表示倍率の変更は、撮影方向８２に沿って仮想カメラ８１を移動させること、あるいは仮想カメラ８１の画角を変更することによってなされる。本実施の形態では、仮想カメラ８１の画角を変更することによって、表示倍率の変更が行われるものとする。また、仮想スクリーン８８の設置位置については変更がないものとし、よって、設置位置の違いによる表示倍率への影響はない。
【００４１】
次に、モーションデータに基づきフィギュアＡが運動動作を行う過程について、簡単に説明する。モーションデータは、対応するモーション情報に応じた動作をフィギュアＡに再現させるためのデータである。モーションデータは、ローカル座標系８４におけるフィギュアＡの各身体部位の位置座標が、時間軸に沿って位置決めされるように、公知の規則に従い表されたデータからなる。詳細については説明を省略するが、モーションデータによれば、例えば、運動動作の開始時のフィギュアＡの頭の位置を基準とした場合において、任意の時間後におけるフィギュアＡの頭の位置の相対的な座標が特定可能となっている。また、フィギュアＡの各身体部位の座標は、上記したように、ローカル座標系８４において、頭の位置を原点にした座標で示されるので、フィギュアＡの頭の位置の座標が決まれば、各身体部位の座標も決まる。
【００４２】
例えば、モーション情報「マーチ」に対応するモーションデータに基づけば、フィギュアＡが三次元仮想空間８０内でその場で足踏み動作を行うように、時間軸に沿って頭の座標が決定され、それに応じて各身体部位の座標が決定される。「マーチ」においては、フィギュアＡの各身体部位の位置の基準となる頭の位置は、三次元仮想空間８０内における位置移動が比較的小さい。一方、例えば、モーション情報「サイドステップ」に対応するモーションデータに基づけば、フィギュアＡが三次元仮想空間８０内で（フィギュアＡを基準に）左右に振幅移動する動作を行うように、上記同様、各身体部位の座標が時間軸に沿って決定される。「サイドステップ」においては、フィギュアＡの各身体部位の位置の基準となる頭の位置は、三次元仮想空間８０内における位置移動が比較的大きい。
【００４３】
このように、三次元仮想空間８０内で、フィギュアＡの頭の位置が移動する範囲は、個々のモーション情報ごとに異なる。また、各身体部位についても、運動動作の内容に応じて、頭の位置に対する相対位置が、大きく移動するものや、あまり移動しないものがある。よって、一つのモーション情報によって表される運動動作が開始されてから終了するまでの間に、フィギュアＡの各身体部位が、三次元仮想空間８０内において存在しうる位置は、モーション情報ごとに異なる。
【００４４】
本実施の形態では、運動支援プログラムに従い、映像の表示倍率が、三次元仮想空間８０内におけるフィギュアＡの各身体部位が存在しうる範囲、すなわち可動範囲に応じて決定される。以下、図１〜図４を適宜参照しながら、図５を参照し、出力端末５にインストールされた運動支援プログラムの動作について説明する。以下、フローチャートの各ステップを「Ｓ」と略記する。
【００４５】
本実施の形態の出力端末５は、運動支援プログラムが実行されることにより、運動支援装置として機能するものである。運動支援装置は、三次元仮想空間８０内にて運動動作を行うオブジェクト（フィギュアＡ）を映し出した映像を、表示部６７に表示することにより、利用者４１が自らの身体部位を動作させる運動を支援する装置である。前述したように、配信サーバ２から定期的あるいは要求に応じて配信されるモーションデータは、出力端末５で実行される、図示しない、受信プログラムによって受信され、ＨＤＤ７に記憶される。運動支援プログラムでは、操作者４２によって選択される運動情報に分類されるモーション情報に対応したモーションデータがＨＤＤ７から読み出され、映像の生成に使用される。
【００４６】
運動支援プログラムが実行されると、初期設定において、ＲＡＭ５３やＨＤＤ７に、運動支援プログラムの各処理に応じた記憶エリアが確保される。また、プログラム内で使用される変数やフラグ、カウンタ等の初期化が行われる。なお、以下の処理はＣＰＵ５１により実行される。
【００４７】
まず、表示部６７に、レッスンの選択を行うための、図示しない選択画面が表示される。レッスンとは、所定の運動目的を達成するため、効果的な複数の運動情報やモーション情報を組み合わせてリスト化し、一連の運動動作が行われるようにしたものである。より具体的に、レッスンは、モーション情報を、図示しない、ＢＰＭ情報、繰返し情報、楽曲情報などと対応付けて、を実行順に並べたリストからなる。
【００４８】
図示しないが、例えば、あるレッスン（例えば第１のレッスン）においては、ウォーミングアップに相当する運動として「無酸素運動」が設定され、メイン運動に相当する運動として「有酸素運動」が設定され、クールダウンに相当する運動として「ストレッチ」が設定されている。さらに、ウォーミングアップの「無酸素運動」では、モーション情報として「ハーフスクワット」と「クォータースクワット」とが順に設定されており、それぞれにＢＰＭ情報、繰返し情報、楽曲情報が対応付けられている。同様に、メイン運動の「有酸素運動」にも、「マーチ」と「フロントランジ」と「バックランジ」とが順に設定されている。そしてクールダウンの「ストレッチ」には、「大腿ストレッチ」と「ふくらはぎストレッチ」とが、同様に、順に設定されている。このような一連のモーション情報をリスト化した第１のレッスンはあらかじめ作成され、他にも、複数種類の様々なレッスンが同様にあらかじめ作成されて、配信サーバ２から配信される。出力端末５のＨＤＤ７には、配信されたレッスン（レッスンの名称とそのリスト）が記憶される。Ｓ１１では、図示しない選択画面において、所望するレッスンの名称が操作者４２によって選択される（Ｓ１１）。なお、レッスンは、操作者４２が、任意の運動情報やモーション情報を組み合わせて作成してもよい。
【００４９】
レッスンが選択されたら、選択されたレッスンのリストに基づき、個々のモーション情報とその実行順がＨＤＤ７から読み出される。さらに、それぞれのモーション情報に対応するＢＰＭ情報、繰返し情報、楽曲情報がＨＤＤ７から読み出される。これらの情報は、ＲＡＭ５３の所定の記憶エリアに記憶される（Ｓ１２）。
【００５０】
次に、配置設定処理が行われる（Ｓ１３）。配置設定処理では、ワールド座標系８５において、オブジェクト（ここではフィギュアＡ）のローカル座標系８４における基準（原点）を三次元仮想空間８０内で配置する位置が設定される。オブジェクトは、モーション情報に対応する運動動作に応じて三次元仮想空間８０内で位置移動を行うため、ここでは、オブジェクトの初期の配置位置が設定される。また、視点、光源（図示外）等の配置位置の座標（ワールド座標データ）も設定される。各視点には、それぞれ仮想カメラ８１（図３参照）が配置され、仮想カメラ８１ごとに、撮影方向８２、画角（垂直画角θ１、水平画角θ２（図４参照））、および仮想スクリーン８８の設置位置が設定される。さらに、複数の視点のうち、映像の生成に使用される１つの視点が、デフォルトとしてあらかじめ設定されているものに決定される。なお、各視点の位置や各仮想カメラ８１の視線方向、画角、仮想スクリーン８８の設置位置について、操作者４２が任意に設定できるようにしてもよい。
【００５１】
配置設定処理がなされたら、上記選択されたレッスンが開始される（Ｓ１４）。ＲＡＭ５３に読み込まれたレッスンのリストに従い、ＨＤＤ７からモーションデータが読み込まれる。オブジェクト（フィギュアＡ）の各身体部位の座標データやテクスチャデータなども読み込まれ、配置設定処理で決定された三次元仮想空間８０内の配置位置にオブジェクト（フィギュアＡ）が配置される。上記したアフィン変換に基づき、オブジェクトの基準の座標（ここでは頭の座標）がローカル座標系８４の座標からワールド座標系８５の座標に変換される。さらに、各身体部位に応じた細部の座標がローカル座標系８４からワールド座標系８５の座標に変換される。また、テクスチャデータの大きさや貼り付ける座標がワールド座標系８５で設定される。これにより、図３に示すように、三次元仮想空間８０内にオブジェクト（フィギュアＡ）が仮想的に配置された状態となる。以後、三次元仮想空間８０内で、フィギュアＡはモーションデータに従い動作される。
【００５２】
次に、基準表示倍率が求められる（Ｓ１６）。配置設定処理で決定された視点の撮影方向８２、画角（垂直画角θ１、水平画角θ２）、および仮想スクリーン８８の設置位置がＲＡＭ５３から読み込まれる。そして、仮想スクリーン８８の大きさが算出される。この仮想スクリーン８８の大きさを、表示部６７に表示される仮想画面８９の大きさと一致させるための拡大または縮小倍率が算出される。求められた倍率が、基準表示倍率としてＲＡＭ５３に記憶される。
【００５３】
次に、運動動作の位置情報が求められる（Ｓ１７）。現在行われているモーション情報のモーションデータがＨＤＤ７から再度読み出され、ＲＡＭ５３の作業用の記憶エリアに記憶される。そして、作業用の記憶エリアに記憶されたモーションデータから、現在までに終了した分のモーションデータが削除される（Ｓ１８）。
【００５４】
次に、位置情報の３Ｄマップ化が行われる（Ｓ１９）。図６に示すように、第２の三次元仮想空間７９がＲＡＭ５３に別途確保され、上記の配置設定処理において決定された視点（仮想カメラ８１）とフィギュアＡとが配置される。そして、Ｓ１８で削除された残りのモーションデータに基づき、第２の三次元仮想空間７９内で、フィギュアＡの運動動作が、そのモーションデータの終了まで行われる。このとき、動作の実行速度や動作間の待ち時間の情報が無視された状態で、モーションデータに基づくフィギュアＡの動作が行われる。換言すると、運動動作の１単位の動作に基づくデータ処理が行われたら、次の動作までのタイミングあわせのための待ち時間（ウエイト）が０の状態で、次の１単位の運動動作に応じたデータ処理が行われる。さらに、フィギュアＡの運動動作の１単位の動作に基づくデータ処理が行われた後、次の１単位の運動動作に基づくデータ処理が行われる際に、前の運動動作の際のデータが削除されない。よって、第２の三次元仮想空間７９内では、現在のモーション情報の終了まで、モーションデータに基づくフィギュアＡの運動動作に基づくデータ処理が、高速（ウエイト０）で行われ、さらに過去のデータが削除されずに、重ねられていく。これにより、現在のモーション情報が終了した時点で、第２の三次元仮想空間７９内には、フィギュアＡが動く範囲を示す、フィギュアＡの残像体９３が形成される（図６参照）。残像体９３は、モーション情報の開始から終了までの間のフィギュアＡの輪郭線を重ねた外観（実際には描画処理は行われず、ＲＡＭ５３上でのデータ処理が行われるだけであり、図６は視覚的なイメージを表したものである。）をなす。この残像体９３は、より詳細には、仮想カメラ８１を原点とするビュー座標系８６の座標データとして求められる。もっとも、簡略化のためには、フィギュアＡの輪郭線ではなく、各身体部位の位置（座標）を、一つのモーション情報の開始から終了まで重ねて示したものを、残像体９３としてもよい。
【００５５】
次に、可動範囲（撮影枠）が求められる（Ｓ２１）。ビュー座標系８６において、視点（仮想カメラ８１）の撮影方向８２に直交する面９５を側面の一つとし、残像体９３が内接する立方体が、撮影枠９４として、三次元仮想空間７９内で形成される。面９５は撮影方向８２に直交する面であり、撮影枠９４の座標から得られる面９５の４つの角部９６の座標をもとに、視点から面９５を見た場合の垂直画角θ３と水平画角θ４とが求められる。
【００５６】
ここで、図７を参照し、視点から面９５を見た場合の画角（垂直画角θ３、水平画角θ４）の求め方について、簡単に説明する。図７は、仮想カメラ８１の設置位置、すなわち視点をＰ１とし、Ｐ１の座標を原点（ｘ，ｙ，ｚ）＝（０，０，０）とするビュー座標系８６において、Ｚ軸方向の座標を０としたものである。また、仮想カメラ８１の撮影方向８２をＸ軸方向とし、撮影方向８２と直交する撮影枠９４の面９５は、撮影枠９４の座標をもとに、視点（Ｐ１）からの距離が、ａの位置に配置されているものとする。ビュー座標系８６において、Ｓ２１で求められた面９５の角部９６（図６参照）の座標から、面９５のＹ軸方向（垂直方向）における両端Ｐ３、Ｐ４の座標を、それぞれ、Ｐ３（ａ，ｂ，０）、Ｐ４（ａ，−ｂ，０）とする。すると、ｔａｎ（θ３／２）＝ｂ／ａであるので、θ３＝２・ａｒｃｔａｎ（ｂ／ａ）として導くことができる。水平画角θ４についても同様にして、面９５の角部９６の座標をもとに、求めることができる。
【００５７】
次いで、図６に示すように、面９５が仮想スクリーン８８の位置に投影された、投影面９１（点線）が形成される。投影面９１の画角は、垂直画角θ３、水平画角θ４ともに面９５と同一である。よって、図７に示すように、仮想カメラ８１から仮想スクリーン８８（図６参照）までの距離をｃとする。投影面９１の垂直方向における両端Ｐ５、Ｐ６の座標は、それぞれ、Ｐ５（ｃ，ｃ・ｔａｎ（θ３／２），０）、Ｐ６（ｃ，−ｃ・ｔａｎ（θ３／２），０）として求めることができる。また、投影面９１の水平方向における両端の座標も、同様にして求めることができる。このようにして得られる座標をもとに、投影面９１の四隅の座標が決まる。三次元仮想空間７９内にて形成される投影面９１を視点から見た場合、残像体９３は投影面９１内に収まる。
【００５８】
次に、撮影範囲が求められる（Ｓ２２）。ここでは、Ｓ１６で算出された、仮想スクリーン８８の初期の大きさが、撮影範囲として求められる。視点の撮影方向８２、画角（垂直画角θ１、水平画角θ２）、および仮想スクリーン８８の設置位置がＲＡＭ５３から読み込まれ、ビュー座標系８６において、仮想スクリーン８８の四隅の座標が求められる。
【００５９】
得られた仮想スクリーン８８の四隅の座標と、投影面９１の四隅の座標との比較により、フィギュアＡの可動範囲（すなわち投影面９１の大きさ）が、撮影範囲（すなわち初期の仮想スクリーン８８の大きさであり、「基準範囲」ともいう。）よりも大きいか否か、判定される（Ｓ２３）。可動範囲が撮影範囲よりも大きければ（Ｓ２３：ＹＥＳ）、撮影範囲が拡大される（Ｓ２４）。図６に示すように、拡大後の仮想スクリーン９２内に投影面９１が収まるように、仮想スクリーン８８が拡大される。これにより、残像体９３が、拡大後の仮想スクリーン９２に収まる。
【００６０】
本実施の形態では、仮想カメラ８１の画角の変更によって、仮想スクリーン８８の拡大または縮小が行われる。拡縮後の仮想スクリーン９２の画角（垂直画角θ５、水平画角θ６）が、投影面９１の画角（垂直画角θ３、水平画角θ４）以上となるように、仮想スクリーン８８の拡大または縮小が行われる。例えば図９に示すように、初期の仮想スクリーン８８（仮想スクリーン８８ａ）の大きさが投影面９１の大きさよりも小さければ、矢印Ｅで示すように、仮想スクリーン８８ａが拡大される。撮影枠９４に内接する残像体９３は、面９５が仮想スクリーン８８の位置に投影された投影面９１にも内接することとなる。よって、拡大後の仮想スクリーン９２が投影面９１の大きさ以上となるように、仮想スクリーン８８ａが拡大される。一方、初期の仮想スクリーン８８（仮想スクリーン８８ｂ）の大きさが投影面９１の大きさよりも小さければ、矢印Ｒで示すように、仮想スクリーン８８ｂが縮小される。縮小後の仮想スクリーン９２が、上記同様、投影面９１の大きさ以上となるように、仮想スクリーン８８ｂが縮小される。
【００６１】
なお、画角の変更は、垂直画角および水平画角の大きさが、同一の比率で、拡大または縮小されて行われる。よって、画角の変更は、θ１：θ２＝θ５：θ６が満たされ、かつ、θ５≧θ３およびθ６≧θ４が満たされ、かつ、θ５＝θ３またはθ６＝θ４が満たされるように行われる。図９に示す、仮想スクリーン９２は、仮想スクリーン８８ａが、画面の縦横比を一定としたまま、すなわち、θ１：θ２＝θ５：θ６を満たしたまま、拡大されたものである。投影面９１の縦横比（θ３：θ４）が、拡大後の仮想スクリーン９２の縦横比（θ５：θ６）と異なる場合、θ５≧θ３が満たされれば、仮想スクリーン９２の縦の大きさが、投影面９１の縦の大きさ以上となる。さらに、θ６≧θ４が満たされることで、仮想スクリーン９２の横の大きさが、投影面９１の横の大きさ以上となる。その上で、θ５＝θ３またはθ６＝θ４が満たされることで、投影面９１の縦または横のいずれか一方の大きさが、仮想スクリーン９２の縦または横の大きさと一致する。よって、投影面９１の大きさは、仮想スクリーン９２に収まる大きさで最大の大きさとなる。図９では、投影面９１の縦の大きさが仮想スクリーン９２の縦の大きさよりも小さいながら、横の大きさが一致した例が示される。図５に戻り、拡縮後の仮想スクリーン９２の大きさは前述したように求められ、表示部６７に表示される仮想画面８９の大きさと一致させるための拡大または縮小倍率が、新たな表示倍率として算出され、ＲＡＭ５３に記憶される。次にＳ４１に進む。
【００６２】
一方、Ｓ２３において、可動範囲が撮影範囲よりも大きくなければ（Ｓ２３：ＮＯ）、Ｓ２６で、可動範囲が撮影範囲よりも小さいか否か、判定される（Ｓ２６）。可動範囲が撮影範囲よりも小さければ（Ｓ２６：ＹＥＳ）、撮影範囲が縮小される（Ｓ２７）。すなわち、仮想スクリーン８８が縮小され、縮小後の仮想スクリーン９２が、上記の条件（θ１：θ２＝θ５：θ６、かつ、θ５≧θ３およびθ６≧θ４、かつ、θ５＝θ３またはθ６＝θ４）を満たすように、生成される。図９に示す、仮想スクリーン９２は、仮想スクリーン８８ｂが、画面の縦横比を一定としたまま、すなわち、θ１：θ２＝θ５：θ６を満たしたまま、縮小された例でもある。投影面９１の大きさが、仮想スクリーン９２に収まる大きさで最大の大きさとなるように、仮想スクリーン８８ｂが縮小されることは、上記同様である。そして上記同様、新たな表示倍率も算出されて、ＲＡＭ５３に記憶される。次にＳ４１に進む。なお、Ｓ２６において、可動範囲が撮影範囲よりも小さくなければ（Ｓ２６：ＮＯ）、可動範囲が撮影範囲と一致するため、そのままＳ４１に進む。
【００６３】
Ｓ４１では、三次元仮想空間８０内で動作が開始されたフィギュアＡを映し出した映像が生成され、モニタ５７の表示部６７に表示されるよう出力が行われる（Ｓ４１）。三次元仮想空間８０内の仮想カメラ８１によってフィギュアＡの撮影が行われる。このときに、三次元仮想空間８０内の仮想スクリーン８８の画角が拡大されて、三次元仮想空間８０内で、拡縮後の仮想スクリーン９２（垂直画角θ５、水平画角θ６）が再現される。上記のアフィン変換により、所定の時間ごと（例えば映像の１フレーム（約１／３０秒）ごと）に、Ｓ２４またはＳ２７で求められた表示倍率に基づき、拡縮後の仮想スクリーン９２から仮想画面８９が生成される。そして生成された仮想画面８９が、順に、表示部６７に表示されることで、オブジェクトを映し出した映像が提供される。
【００６４】
次にＳ４２に進み、フィギュアＡがレッスンのリストに含まれるすべてのモーション情報に対応する運動動作を行っておらず、レッスンが終了しないうちは（Ｓ４２：ＮＯ）、Ｓ４３に進む。Ｓ４３において、現在決定されている視点（仮想カメラ８１）に対する変更指示が、操作者４２によるリモコン６６（あるいはキーボード６１またはマウス６２）から入力されていなければ（Ｓ４３：ＮＯ）、Ｓ４４に進む。Ｓ４４において、フィギュアＡにより現在行われているモーション情報に対応する運動動作がまだ終了していなければ（Ｓ４４：ＮＯ）、Ｓ４１において開始された、オブジェクトを映し出した映像の出力を継続するため、Ｓ４２に戻る。
【００６５】
Ｓ４２〜Ｓ４４が繰り返されるうちに、フィギュアＡにより現在行われているモーション情報に対応する運動動作が終了すれば（Ｓ４４：ＹＥＳ）、リストに含まれる次の実行順のモーション情報に対応した運動動作が開始される（Ｓ４６）。すなわち、次の実行順のモーション情報に対応するモーションデータがＨＤＤ７から読み込まれ、Ｓ１４と同様に、三次元仮想空間８０内に配置されたフィギュアＡが、モーションデータに従い動作される。そしてＳ１６に戻り、上記したＳ１６〜Ｓ４１の処理が実行され、オブジェクトを映し出した映像の出力が行われる。
【００６６】
また、Ｓ４２〜Ｓ４４が繰り返されるうちに、現在決定されている視点（仮想カメラ８１）に対する変更指示が操作者４２によって行われた場合（Ｓ４３：ＹＥＳ）、新たに決定された視点が三次元仮想空間８０内に設置される（Ｓ４７）。そして、Ｓ１６に戻り、上記したＳ１６〜Ｓ４１の処理が実行され、新たに決定された視点からオブジェクトを映し出した映像の出力が行われる。
【００６７】
フィギュアＡがレッスンのリストに含まれるすべてのモーション情報に対応する運動動作を終了し、レッスンが終了したら（Ｓ４２：ＹＥＳ）、表示部６７への映像の出力が停止され（Ｓ４８）、運動支援プログラムの実行が終了される。
【００６８】
以上のように、出力端末５では、表示部６７に表示される映像の表示倍率の拡大または縮小が、可動範囲に応じて行われる。この結果、利用者４１がオブジェクトの行う運動動作に合わせた運動を行っている最中に、表示倍率の拡大または縮小を、利用者４１または操作者４２がリモコン６６あるいはキーボード６１またはマウス６２等により指示する必要がなく、利用者４１の運動実行を妨げることがない。また、撮影範囲の拡大または縮小が行われる際に、可動範囲を確実に撮影範囲内に収めることができるので、オブジェクトを映し出した映像が表示部６７に表示されたときに、見やすい。具体的には、撮影枠９４の面９５の角部９６の座標に基づき、投影面９１の大きさ（画角）が得られ、これをもとに、仮想スクリーン８８の拡大・縮小が行われることによって、表示倍率が求められる。このように、座標情報に基づいて、より正確な、オブジェクトの可動範囲を得ることができるので、可動範囲を表示部６７の表示範囲内に、より確実に、収めることができる。
【００６９】
また、レッスンのリストに含まれるモーション情報が複数あっても、モーション情報ごとに、撮影範囲の拡大または縮小を行うことができる。これにより、利用者４１または操作者４２が、モーション情報ごとに、表示部６７に表示される映像の表示倍率の変更の指示を、リモコン６６あるいはキーボード６１またはマウス６２等により指示する必要がない。つまり、運動が切り替わるたびに、表示倍率の変更を行う負担が利用者４１や操作者４２にかかることがないので、特に、連続した運動の実行を所望する利用者４１が、運動実行を妨げられることがない。また、三次元仮想空間８０内に配置されたオブジェクトを視点から撮影することによって、オブジェクトを映し出した映像を生成することで、撮影範囲の拡大または縮小、ひいては表示倍率の変更を容易に行うことができる。また、視点の変更が可能であり、複数の視点から所望する視点を決定することができるので、より望ましい視点からオブジェクトを映し出した映像を、表示部６７に表示することができる。また、視点が変更されたら、あらためてＳ１６〜Ｓ４１の処理が行われ、可動範囲にあわせた撮影範囲の拡大または縮小が行われるので、視点位置の違いによる可動範囲と撮影範囲との不一致を確実に解消することができる。また、撮影範囲の変更が、モーション情報ごとに行われるので、ひとつひとつの異なる運動ごとに、可動範囲にあわせた撮影範囲の調整を行うことができる。
【００７０】
なお、上記の実施形態に示される運動支援装置の構成は例示であり、本発明は各種の変形が可能なことはいうまでもない。例えば、Ｓ４７で行われる視点の変更について、本実施の形態では、図３に示すように、あらかじめ複数の視点を設け、操作者４２が任意の視点を選択することによって決定されるようにした。すなわち、各視点は、三次元仮想空間８０内で絶対的な配置位置を有し、オブジェクトと各視点との位置関係は、絶対的な位置関係を有する。もちろん、オブジェクトと視点との位置関係が、相対的な位置関係を有するように、オブジェクトを基準とした視点の配置位置を設定できるようにしてもよい。または、視点の位置を、リモコン６６またはキーボード６１あるいはマウス６２による操作で任意に変更できるようにしてもよい。
【００７１】
また、拡縮後の仮想スクリーン９２の大きさは、投影面９１の大きさ以上（θ５≧θ３およびθ６≧θ４、かつ、θ５＝θ３またはθ６＝θ４）となるようにした。拡縮後の仮想スクリーン９２の大きさが、投影面９１の大きさより、所定の大きさ分、大きくなるようにしてもよい。例えば、拡縮後の仮想スクリーン９２の大きさが、投影面９１の大きさの１．１倍となるようにするには、θ５≧１．１×θ３およびθ６≧１．１×θ４、かつ、θ５＝１．１×θ３またはθ６＝１．１×θ４が満たされるようにすればよい。このようにすれば、可動範囲に対し余白を有した撮影範囲を設定することができる。
【００７２】
また、本実施の形態では、出力端末５において、オブジェクトを映し出した映像が生成されて表示部６７に出力された。あらかじめオブジェクトを映し出した映像が、その映像に対応したモーション情報とともに、配信サーバ２から出力端末５に配信されるようにしてもよい。この場合、Ｓ２１で求められる可動範囲は、モーション情報に対応した映像をすべて内部再生（表示部６７に表示させずに再生）し、フレーム単位で変更のあった部分（つまり映像内でオブジェクトが動作した部分）を比較することによって、求めればよい。もっとも、この場合、配信される映像は、オブジェクトの可動範囲が常に映像内に収まるように撮影された映像であることが望ましく、出力端末５では、撮影範囲を小さくする（表示倍率を大きくする）処理を行えばよい。
【００７３】
また、オブジェクトによる三次元仮想空間８０内での運動動作を撮影し、映像化する処理（Ｓ１６〜Ｓ４１）は、配信サーバ２で行ってもよい。この場合、出力端末５から、レッスンのリストや視点位置の変更指示を配信サーバ２に送信し、配信サーバ２で生成された映像を出力端末５が受信して、再生すればよい。
【００７４】
また、Ｓ２４、Ｓ２７では、撮影範囲を拡大または縮小（表示倍率を変更）するため、仮想スクリーン８８の大きさを、画角（θ１，θ２）の大きさを拡大または縮小することによって行った。もちろん、画角（θ１，θ２）を固定し、視点（仮想カメラ８１）の位置を、仮想スクリーン８８の位置に対して撮影方向８２に沿って近づけたり遠ざけたりすることによって、仮想スクリーン８８を拡大または縮小した仮想スクリーン９２を形成してもよい。すなわち、仮想スクリーン８８の画角（θ１，θ２）は、拡縮後の仮想スクリーン９２の画角（θ５，θ６）に対し、θ５＝θ１、θ６＝θ２を満たす。この状態で、仮想カメラ８１と仮想スクリーン８８との距離ｘが小さくなれば、仮想スクリーン８８の縦の長さを示すｘ・ｔａｎθ１の値と、横の長さを示すｘ・ｔａｎθ２の値とが、共に小さくなるため、仮想スクリーン８８に対し、仮想スクリーン９２を縮小することができる。一方、距離ｘが大きくなれば、ｘ・ｔａｎθ５、ｘ・ｔａｎθ６の値が共に大きくなるため、仮想スクリーン８８に対し、仮想スクリーン９２を拡大することができる。
【００７５】
また、オブジェクトの運動動作が激しい場合には、仮想スクリーン８８の拡縮を、投影面９１よりもさらに大きくなるように行ってもよい。つまり、オブジェクトの運動動作が激しい場合、表示倍率を、本実施の形態において小さくされる大きさよりも、さらに小さくしてもよい。具体的には、図８のフローチャートに示すように、Ｓ２４またはＳ２６：ＮＯまたはＳ２６で撮影範囲が決定された後に、Ｓ３１〜Ｓ３３の処理を行い、その後、Ｓ４１で、オブジェクトを映し出した映像を出力すればよい。
【００７６】
図８に示す、運動支援プログラムの変形例では、Ｓ１９におい位置情報の３Ｄマップ化が行われる際に、各身体部位の座標が、映像の１フレームごとに記録される。Ｓ３１では、各身体部位ごとに各フレーム間の座標の移動距離が求められ、各身体部位ごとの移動距離の最大値が、Δ値として求められる（Ｓ３１）。各身体部位のΔ値が、各身体部位ごとにあらかじめ定められた標準値とそれぞれ比較され、すべての身体部位のΔ値がそれぞれ標準値以下であれば（Ｓ３２：ＮＯ）、そのままＳ４１に進む。Δ値が標準値よりも大きい身体部位があれば（Ｓ３２：ＹＥＳ）、Ｓ２２〜Ｓ２７で求められた仮想スクリーン８８あるいは拡縮後の仮想スクリーン９２の画角に対し、それぞれ、指定値が乗算され（Ｓ３３）、Ｓ４１に進む。すなわち、上記した変形例と同様に、可動範囲に対し余白を有した撮影範囲を設定することができる。このようにすれば、オブジェクトの運動動作が激しい場合に、表示倍率をさらに小さくして、オブジェクトを映し出した映像において可動範囲の全体を見渡しやすくすることができる。
【００７７】
また、本実施の形態では、可動範囲が撮影範囲より小さい場合に、撮影範囲を可動範囲に合わせるように、撮影範囲の縮小（表示倍率の拡大）を行った。この場合に、撮影範囲の縮小を、可動範囲よりもさらに小さくしてもよい。このようにすれば、運動動作を行うオブジェクトを映し出した映像において、さらに詳細に、オブジェクトを見ることができる。特に、身体部位の一部を主に動作させる運動の場合、その部分を拡大して見ることができる。
【００７８】
なお、本実施の形態においては、Ｓ１２でレッスン情報を取得するＣＰＵ５１が、「第１取得手段」に相当する。Ｓ１６で、基準表示倍率を求めるＣＰＵ５１が、「第２取得手段」に相当する。Ｓ２１で、可動範囲（撮影枠９４）を求めるＣＰＵ５１が、「第１決定手段」に相当し、撮影枠９４の座標から面９５の４つの角部９６の座標を求めるＣＰＵ５１が、「第３取得手段」に相当する。Ｓ２３およびＳ２６で、可動範囲と基準範囲（撮影範囲）とを比較するＣＰＵ５１が、「判定手段」に相当する。Ｓ２４またはＳ２７で、表示倍率を変更するＣＰＵ５１が、「表示制御手段」に相当する。また、配信サーバ２から、定期的または要求に応じてレッスンのリストを取得するＣＰＵ５１が、「第４取得手段」に相当する。また、上記したように、レッスンのリストを、操作者４２が任意に設定できるようにしてもよく、この場合に操作者４２に、運動情報あるいはモーション情報を表示部６７に提示して、リモコン６６あるいはキーボード６１またはマウス６２等の操作により、所望するものを選択できるようにするＣＰＵ５１が、「選択手段」に相当する。Ｓ１３において配置設定処理を行うＣＰＵ５１が、「配置手段」に相当する。Ｓ４７において、視点位置を、操作者４２の選択する任意の視点位置に決定するＣＰＵ５１が、「第２決定手段」に相当する。
【符号の説明】
【００７９】
２    配信サーバ
５    出力端末
１０    ネットワーク
２１    データベース
４１    利用者
４２    操作者
５７    モニタ
６１    キーボード
６２    マウス
６６    リモコン
６７    表示部
７９    第２の三次元仮想空間
８０    三次元仮想空間
８１    仮想カメラ
８２    撮影方向
８８    仮想スクリーン
８９    仮想画面
９１    投影面
９２    仮想スクリーン
９３    残像体
９４    撮影枠
９５    面
Ａ    フィギュア
【図１】
2011194076.tif 000003
【図２】
2011194076.tif 000004
【図３】
2011194076.tif 000005
【図４】
2011194076.tif 000006
【図５】
2011194076.tif 000007
【図６】
2011194076.tif 000008
【図７】
2011194076.tif 000009
【図８】
2011194076.tif 000010
【図９】
2011194076.tif 000011