(57)【要約】【課題】  ユーザの身体活動を効果的に支援する技術を提供する。【解決手段】  ユーザのアバターを生成する生成部を用いた身体活動支援システムであって、前記生成部からの情報に基づいて、ユーザ・アバターの動作情報を計算する第１計算部と、前記生成部からの情報に基づいて、前記ユーザの身体活動の相手となる相手アバターの動作情報を計算する第２計算部と、前記ユーザ・アバターの動作情報に、前記相手アバターの動作情報を連動させる連動部を備える身体活動支援システム。【選択図】  図１
2020195551.tif 000002
【特許請求の範囲】
【請求項１】
ユーザのアバターを生成する生成部を用いた身体活動支援システムであって、
前記生成部からの情報に基づいて、ユーザ・アバターの動作情報を計算する第１計算部と、
前記生成部からの情報に基づいて、前記ユーザの身体活動の相手となる相手アバターの動作情報を計算する第２計算部と、
前記ユーザ・アバターの動作情報に、前記相手アバターの動作情報を連動させる連動部を備える身体活動支援システム。
【請求項２】
前記ユーザ・アバターの動作情報と、前記ユーザ・アバターの動作情報に連動した前記相手アバターの動作情報を再生する再生部を備える請求項１に記載の身体活動支援システム。
【請求項３】
前記ユーザ・アバターの動作情報に基づいて、前記ユーザ・アバターから仮想物体へのインタラクションを計算する仮想物体動作調整部を備える請求項１に記載の身体活動支援システム。
【請求項４】
前記仮想物体動作調整部は、前記相手アバターの動作情報に基づいて、前記相手アバターから前記仮想物体へのインタラクションを計算する請求項３に記載の身体活動支援システム。
【請求項５】
ユーザのアバターを生成する生成部を用いた身体活動支援システムであって、
前記生成部からの情報に基づいて、ユーザ・アバターの動作情報を計算する第１計算部と、
前記生成部からの情報に基づいて、前記ユーザの身体活動の相手となる相手アバターの動作情報を計算する第２計算部と、
前記ユーザ・アバターの動作情報、及び、前記相手アバターの動作情報に応じて、仮想物体へのインタラクションを計算する仮想物体動作調整部を備える身体活動支援システム。
【請求項６】
ユーザのアバターを生成する生成部を用いた身体活動支援方法であって、
前記生成部からの情報に基づいて、ユーザ・アバターの動作情報を計算し、
前記生成部からの情報に基づいて、前記ユーザの身体活動の相手となる相手アバターの動作情報を計算し、
前記ユーザ・アバターの動作情報に、前記相手アバターの動作情報を連動させる身体活動支援方法。
【請求項７】
ユーザのアバターを生成する生成部を用いた身体活動支援方法であって、
前記生成部からの情報に基づいて、ユーザ・アバターの動作情報を計算し、
前記生成部からの情報に基づいて、前記ユーザの身体活動の相手となる相手アバターの動作情報を計算し、
前記ユーザ・アバターの動作情報、及び、前記相手アバターの動作情報に応じて、仮想物体へのインタラクションを計算する身体活動支援方法。
【請求項８】
ユーザのアバターを生成する生成部を用いた身体活動支援プログラムであって、
前記生成部からの情報に基づいて、ユーザ・アバターの動作情報を計算するステップと、
前記生成部からの情報に基づいて、前記ユーザの身体活動の相手となる相手アバターの動作情報を計算するステップと、
前記ユーザ・アバターの動作情報に、前記相手アバターの動作情報を連動させるステップと、
をコンピュータに実行させる身体活動支援プログラム。
【請求項９】
ユーザのアバターを生成する生成部を用いた身体活動支援プログラムであって、
前記生成部からの情報に基づいて、ユーザ・アバターの動作情報を計算するステップと、
前記生成部からの情報に基づいて、前記ユーザの身体活動の相手となる相手アバターの動作情報を計算するステップと、
前記ユーザ・アバターの動作情報、及び、前記相手アバターの動作情報に応じて、仮想物体へのインタラクションを計算するステップと、
をコンピュータに実行させる身体活動支援プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、アバターを用いてユーザの身体活動を支援する技術に関する。
【背景技術】
【０００２】
ユーザは、ディスプレイに表示された映像を見ながら、ダンスの振り付け、武道の型などの動作練習を行う場合がある。
【０００３】
特許文献１は、撮像装置が投写面に対向するユーザを斜め上方から撮像し、ユーザの動作を撮像した撮像映像と、インストラクターの模範動作を撮像した見本映像を重畳し、重畳した映像を投写面に表示する技術を開示している。ここで、ユーザの撮像映像のサイズと、インストラクターの見本映像のサイズが揃っている。
【０００４】
そして、ユーザの動作がインストラクターの模範動作から乖離している度合い（以下、乖離度という）を判定し、乖離度も投写面に表示する技術も開示している。このような技術は、ユーザが、ユーザ自身の撮像映像、インストラクターの見本映像、及び、乖離度を同時に投写面で見ることができ、乖離度を容易に把握することが可能である。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００９−２７９０４１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１では一連の動作を素早く行うインストラクターの見本映像が表示される。このため、ユーザは見本の動きを見ながら、乖離度が小さくなるように真似をして動こうとしても、そもそもついて行けず、トレーニング効果を得られにくい。
【０００７】
本発明は、このような課題に着目して鋭意研究され完成されたものであり、その目的は、ユーザの身体活動を効果的に支援する技術を提供することにある。
【課題を解決するための手段】
【０００８】
上記課題を解決するために、本発明は、ユーザのアバターを生成する生成部を用いた身体活動支援システムであって、前記生成部からの情報に基づいて、ユーザ・アバターの動作情報を計算する第１計算部と、前記生成部からの情報に基づいて、前記ユーザの身体活動の相手となる相手アバターの動作情報を計算する第２計算部と、前記ユーザ・アバターの動作情報に、前記相手アバターの動作情報を連動させる連動部を備える身体活動支援システムである。
【０００９】
他の本発明は、ユーザのアバターを生成する生成部を用いた身体活動支援システムであって、前記生成部からの情報に基づいて、ユーザ・アバターの動作情報を計算する第１計算部と、前記生成部からの情報に基づいて、前記ユーザの身体活動の相手となる相手アバターの動作情報を計算する第２計算部と、前記ユーザ・アバターの動作情報、及び、前記相手アバターの動作情報に応じて、仮想物体へのインタラクションを計算する仮想物体動作調整部を備える身体活動支援システムである。
【００１０】
他の本発明は、ユーザのアバターを生成する生成部を用いた身体活動支援方法であって、前記生成部からの情報に基づいて、ユーザ・アバターの動作情報を計算し、前記生成部からの情報に基づいて、前記ユーザの身体活動の相手となる相手アバターの動作情報を計算し、前記ユーザ・アバターの動作情報に、前記相手アバターの動作情報を連動させる身体活動支援方法である。
【００１１】
他の本発明は、ユーザのアバターを生成する生成部を用いた身体活動支援方法であって、前記生成部からの情報に基づいて、ユーザ・アバターの動作情報を計算し、前記生成部からの情報に基づいて、前記ユーザの身体活動の相手となる相手アバターの動作情報を計算し、前記ユーザ・アバターの動作情報、及び、前記相手アバターの動作情報に応じて、仮想物体へのインタラクションを計算する身体活動支援方法である。
【００１２】
他の本発明は、ユーザのアバターを生成する生成部を用いた身体活動支援プログラムであって、前記生成部からの情報に基づいて、ユーザ・アバターの動作情報を計算するステップと、前記生成部からの情報に基づいて、前記ユーザの身体活動の相手となる相手アバターの動作情報を計算するステップと、前記ユーザ・アバターの動作情報に、前記相手アバターの動作情報を連動させるステップと、をコンピュータに実行させる身体活動支援プログラムである。
【００１３】
他の本発明は、ユーザのアバターを生成する生成部を用いた身体活動支援プログラムであって、前記生成部からの情報に基づいて、ユーザ・アバターの動作情報を計算するステップと、前記生成部からの情報に基づいて、前記ユーザの身体活動の相手となる相手アバターの動作情報を計算するステップと、前記ユーザ・アバターの動作情報、及び、前記相手アバターの動作情報に応じて、仮想物体へのインタラクションを計算するステップと、をコンピュータに実行させる身体活動支援プログラムである。
【発明の効果】
【００１４】
本発明によれば、ユーザの身体活動を効果的に支援する技術を提供することができる。
【図面の簡単な説明】
【００１５】
【図１】本発明の実施形態に係る身体活動支援システムの機能ブロック図ある。
【図２】本発明の実施形態に係る身体活動支援システムのフローチャート（その１；動作練習モード）である。
【図３】本発明の実施形態に係る身体活動支援システムのフローチャート（その２；一人又は対戦モード）である。
【図４】本発明の第１の実施形態に係るユーザ・アバター及び相手アバターの表示例を示す図である。
【図５】本発明の第１の実施形態に係るユーザの位置データ等に対応する相手・実在物体の位置データ等を算出する方法を説明するための図である。
【図６】本発明の第２の実施形態に係るユーザ・アバター及び相手アバターの表示例を示す図である。
【図７】本発明の第４の実施形態に係るユーザ・アバター及び相手アバターの表示例を示す図である。
【発明を実施するための形態】
【００１６】
図面を参照しながら本発明の実施の形態を説明する。なお、各図において共通する部分には同一の符号を付し、重複した説明は省略する。
【００１７】
（身体活動支援システムの機能ブロック図）
図１は、本発明の実施形態に係る身体活動支援システムの機能ブロック図ある。身体活動支援システム１００は、ユーザ・アバター、相手アバター、及び、実在物体画像を生成し、再生する機能ブロック群と、仮想物体を生成し、再生する機能ブロック群に大きく分けることができる。
【００１８】
まず、ユーザ・アバター、相手アバター、及び、実在物体画像を生成し、再生する機能ブロック群について説明する。ユーザ動作検知装置１１１は、ユーザ（第１ユーザともいう）の動きを検知する装置であり、ユーザに装着した動きセンサ、又は、ユーザの動きを撮影するビデオカメラなどである。相手動作検知装置１２１は、ユーザ（第１ユーザ）の身体活動の相手（第２ユーザともいう）の動きを検知する装置であり、相手に装着した動きセンサ、又は、相手の動きを撮影するビデオカメラなどである。実在物体動作検知装置１３１は、ユーザ又は相手が身体活動を行う際に現実空間で実際に使用する物（対象物、又は、実在物体という）の動きを検知する装置であり、実在物体に装着した動きセンサ、又は、実在物体の動きを撮影するビデオカメラなどである。
【００１９】
人間が装着する動きセンサは、位置、速度、加速度、及び、角度を取得することができる。動きセンサを身体に装着する位置は、例えば、左右の前腕部の肘付近、左右のつま先付近、左右の大腿部の膝付近、背中の中央付近、腰ベルトの背中中央付近、左右の側頭付近である。また、動きセンサの代りに、モーションキャプチャのマーカーを身体に装着して、ビデオカメラで撮影することによっても、人の位置、速度、加速度、及び、角度を取得することができる。また、モーションキャプチャのマーカーを人に装着しないで撮影した動画を画像解析することによって、人の位置、速度、加速度、及び、角度を取得してもよい。さらに、人が身体活動を行う際に現実空間で実際に使用する物（例えば、ゴルフクラブのグリップ）に、動きセンサ、又は、モーションキャプチャのマーカーを装着してもよい。
【００２０】
第１データ記録部１１２は、ユーザ動作検知装置１１１が検知したユーザの動きを記録する。第２データ記録部１２２は、相手動作検知装置１２１が検知した相手の動きを記録する。第３データ記録部１３２は、実在物体動作検知装置１３１が検知した実在物体の動きを記録する。ここで、ユーザ、相手、又は実在物体の動きは、それぞれの動作情報ともいう。
【００２１】
ユーザ・アバター生成部１１３は、第１データ記録部１１２が記録したユーザの動作情報から、ユーザ・アバターを生成することが可能である。ここで、アバターとは、コンピュータ・グラフィックス空間で人間の分身として動作する仮想的な人物をいう。また、ユーザ・アバター生成部１１３は、ユーザ動作検知装置１１１が検知したユーザの動きをリアルタイムに処理し、ユーザ・アバターを生成することも可能である。ここで、ユーザのアバターを生成する生成部は、ユーザ動作検知装置１１１というハードウェアと、第１データ記録部１１２及びユーザ・アバター生成部１１３というソフトウェアで構成されている。そして、ユーザのアバターを生成する生成部は、身体活動支援システム１００と一緒に利用者に納品してもよいし、身体活動支援システム１００には含めない状態で利用者に納品し、利用者側で用意してもよい。すなわち、ユーザのアバターを生成する生成部は身体活動支援システム１００にとって必須の構成とは限らない。同様のことは、相手アバター及び実在物体についてもいえる。
【００２２】
相手アバター生成部１２３は、第２データ記録部１２２が記録した相手の動作情報から、相手アバターを生成することが可能である。また、相手アバター生成部１２３は、相手動作検知装置１２１が検知した相手の動きをリアルタイムに処理し、相手アバターを生成することも可能である。
【００２３】
実在物体画像生成部１３３は、第３データ記録部１３２が記録した実在物体の動作情報から、実在物体画像を生成することが可能である。ここで、実在物体画像とは、現実空間での実在物体に対応するコンピュータ・グラフィックス空間での画像をいう。また、実在物体画像生成部１３３は、実在物体動作検知装置１３１が検知した実在物体の動きをリアルタイムに処理し、実在物体画像を生成することも可能である。
【００２４】
生成されたユーザ・アバター、相手アバター、及び、実在物体画像は、ユーザ連動処理部１４０に入力される。ユーザ連動処理部１４０は、相手アバターの動き、及び／又は、実在物体画像の動きをユーザ・アバターの動きに連動させることが可能である。具体的には、ユーザ連動処理部１４０は、第１計算部１４１と、第２計算部１４２と、第３計算部１４３を備える。第１計算部１４１は、ユーザ・アバターが生成された情報に基づいて、ユーザ・アバターの動作情報を計算する。第２計算部１４２は、ユーザ・アバターが生成された情報に基づいて、相手アバターの動作情報を計算する。第３計算部１４３は、ユーザ・アバターが生成された情報に基づいて、実在物体画像の動作情報を計算する。そして、ユーザ連動処理部１４０は、ユーザ・アバターの動作情報に、相手アバターの動作情報を連動させる。
【００２５】
ユーザ連動処理部１４０によって連動されたユーザ・アバター、相手アバター、及び、実在物体画像それぞれの動きは、ユーザ・アバター再生部１１４、相手アバター再生部１２４、及び、実在物体再生部１３４でそれぞれ再生される。再生されたユーザ・アバター、相手アバター、及び、実在物体は表示装置１５０に表示される。表示装置１５０は、ユーザが装着するヘッド・マウント・ディスプレイ（Ｈｅａｄ  Ｍｏｕｎｔｅｄ  Ｄｉｓｐｌａｙ；ＨＭＤ）、または、ユーザが練習をしながら見られるように設置された平面ディスプレイ等であり、二次元表示でも三次元表示でもよい。
【００２６】
次に、仮想物体を生成し、再生する機能ブロック群について説明する。仮想物体とは、上述した実在物体とは異なり、コンピュータ・グラフィックス空間のみに表示される画像である。すなわち、仮想物体は、実在せず、コンピュータが仮想的に作成した画像である。
【００２７】
仮想物体情報入力装置１６１は、仮想物体の位置や、実在物体との接触に応じた速度及び／又は加速度を設定する入力デバイスである。コンピュータのキーボード等から入力すればよい。
【００２８】
仮想物体設定記録部１６２は、仮想物体情報入力装置１６１から入力された速度・加速度などを記録しておく。仮想物体生成部１６３は、仮想物体の画像を生成し、仮想物体動作調整部１６４へ出力する。
【００２９】
仮想物体動作調整部１６４は、ユーザ連動処理部１４０に連動されたユーザ・アバター、相手アバター、及び、実在物体画像のうち少なくとも１つの動きに応じて、予め仮想物体設定記録部１６２で動きを設定された仮想物体の動作を調整することが可能である。
【００３０】
仮想物体再生部１６５は、仮想物体動作調整部１６４によって調整された仮想物体の動きを再生する。再生された仮想物体は、表示装置１５０に表示される。
【００３１】
上述した機能ブロック群で構成される身体活動支援システム１００は、ソフトウェアとしてコンピュータに実装されていてもよく、その実装形態は限定されない。例えば、パーソナルコンピュータ等のクライアント端末と有線又は無線の通信回線（インターネット回線など）に接続された専用サーバにインストールされた身体活動支援プログラムとして実装されていてもよいし、いわゆるクラウドサービスを利用して実装されていてもよい。
【００３２】
（身体活動支援システムのフローチャート）
図２及び図３は、本発明の実施形態に係る身体活動支援システムについて２種類のフローチャートである。図２は、相手が、ユーザが行う身体活動の熟練者である場合（その１；ユーザが熟練者から動作練習を受ける動作練習モード）のフローチャートである。図３は、ユーザが一人で動作練習をする場合、又はユーザが身体活動を通して相手と競い合う場合（その２；一人又は対戦モード）のフローチャートである。図２と図３の相違点は、図２のＳ１３０（ユーザの動きデータから時刻iを求める）が図３には無い点である。
【００３３】
（フローチャートその１；動作練習モード）
まず、図２について説明する。Ｓ１１０は、リアルタイムに表示するユーザ等のセンサやモーションデータをユーザ動作検知装置１１１等から取得するステップである。また、第１データ記録部１１２等に記録しておいてもよい。
【００３４】
Ｓ１２０は、各生成部が各検知装置や各記録部からの情報に基づいて生成したユーザ・アバター、相手アバター、実在物体画像について、ユーザ連動処理部１４０の第１計算部１４１、第２計算部１４２、第３計算部１４３がそれぞれユーザ・アバターの動きデータ、相手アバターの動きデータ、実在物体画像の動きデータを計算するするステップである。ここで、動きデータとは、所定の時間間隔（時刻１から時刻ｎまで）の位置、速度、加速度、及び／又は角度のデータ（動作情報ともいう）をいう。位置データと角度データの２つから、ユーザ・アバター等がずっと動いているか、又は、一時停止をしているかを計算することができる。
【００３５】
Ｓ１３０は、ユーザ自身が知りたい任意のユーザの動きに相当する時刻ｉを求めるステップである。例えば、ユーザがゴルフクラブを持ってスイングを練習しており、相手がゴルフのレッスンプロ、実在物体がゴルフクラブの場合、ユーザが装着した動きセンサ（図１のユーザ動作検知装置１１１に相当）が、ユーザの動きが一時停止したことを検知すると、ユーザ連動処理部１４０は、ユーザがその一時停止した時の相手（レッスンプロ）アバターの動きを知りたいと判断する。そして、ユーザ連動処理部１４０は、一時停止した時刻ｉを求める。
【００３６】
Ｓ１４０では、その時刻ｉの時の相手（レッスンプロ）アバターの動きデータを求める。この時刻ｉの時の相手（レッスンプロ）アバターの動きデータが、ユーザ・アバターの時刻ｉの時の動きデータに対応する。また、実在物体画像（ユーザが使用しているゴルフクラブ及び相手が使用しているゴルフクラブ）の動きデータを求めてもよい。
【００３７】
Ｓ１５０は、仮想物体の速度・加速度を調整するモードの有無を判断するステップである。例えば、ユーザがゴルフクラブのスイングを練習している場合でも、本実施形態の身体活動支援システムは、ａ）ゴルフクラブの素振りを選択する場合と、ｂ）ゴルフクラブをスイングした結果、仮想物体としてのボールがどのように飛ぶかを仮想空間で確認したい場合のどちらかを選択することが可能である。ユーザは、図１の仮想物体情報入力装置を用いて、このような選択をすることができる。
【００３８】
ａ）素振りの場合は、Ｓ１５０のＮｏに該当する。このため、ユーザ連動処理部１４０は、時刻ｉからのユーザ・アバターの動きに、相手アバターの動きを連動させることができる。また、ユーザ・アバターがスイングするゴルフクラブ（実在物体の画像）、及び、相手アバターがスイングするゴルフクラブ（実在物体の画像）の動きも連動させることができる。
【００３９】
Ｓ１８０は、各再生部によって再生されたユーザ・アバター、相手アバター、及び／又は実在物体の画像を表示装置１５０が表示するステップである。
【００４０】
一方、ｂ）ゴルフクラブをスイングした結果、仮想物体としてのボールがどのように飛ぶかを仮想空間で確認したい場合は、Ｓ１５０のＹｅｓに該当する。この場合、図１の仮想物体動作調整部１６４は、仮想物体の位置データ、及び、実在物体との接触に関するデータを取得する（Ｓ１６０）。
【００４１】
そして、仮想物体動作調整部１６４は、仮想物体の速度及び加速度を決定する（Ｓ１７０）。仮想物体再生部１６５は、決定された速度及び加速度に応じて、仮想物体を再生し、表示装置１５０に表示する（Ｓ１８０）。
【００４２】
（フローチャートその２；一人又は対戦モード）
次に、図３について説明する。Ｓ２１０は、図２のＳ１１０と同様、リアルタイムに表示するユーザ等のセンサやモーションデータをユーザ動作検知装置１１１等から取得するステップである。また、第１データ記録部１１２等に記録しておいてもよい。
【００４３】
Ｓ２２０は、図２のＳ１２０と同様、各生成部が、各検知装置や各記録部からの情報に基づいて、ユーザ・アバター、相手アバター、実在物体画像それぞれの動きデータを生成するステップである。Ｓ２２０では、相手アバターの動きデータを生成することは必須ではない点に留意していただきたい。
【００４４】
Ｓ２３０は、図２のＳ１３０が無く、図２のＳ１４０と異なり、時刻ｉの時のユーザ・アバター及び／又は相手（対戦者）アバターの動きデータを求める。実在物体画像（ユーザが使用している実在物体、及び／又は、相手が対戦に使用している実在物体）の動きデータを求めてもよい。
【００４５】
Ｓ２４０は、図２のＳ１５０と同様、仮想物体の速度・加速度を調整するモードの有無を判断するステップである。Ｓ２５０は、図２のＳ１６０と同様、仮想物体の位置データ、及び、実在物体との接触に関するデータを取得するステップである。Ｓ２６０は、Ｓ１７０と同様、仮想物体の速度及び加速度を決定するステップである。Ｓ２７０は、Ｓ１８０と同様、決定された速度及び加速度に応じて、仮想物体を再生し、表示装置１５０に表示するステップである。
【００４６】
以下では、４つの実施形態を説明する。第１及び第２の実施形態は、図２のフローチャート（その１；動作練習モード）に関する。第３及び第４の実施形態は、図３のフローチャート（その２；一人又は対戦モード）に関する。
【００４７】
（第１の実施形態の構成）
第１の実施形態は、ユーザがゴルフのスイングを練習する場合について説明する。図４は、第１の実施形態に係るユーザ・アバター及び相手アバターの表示例を示す図である。ここで、ｘ軸は人の左足から右足にかけての足幅方向であり、ｙ軸は人の高さ方向であり、ｚ軸は人の背中から腹側への方向である。ユーザ・アバター４１０及びユーザ側の実在物体（ゴルフクラブ）の画像４１１を点線で表示し、相手アバター４２０、及び、相手側の実在物体（ゴルフクラブ）の画像４２１を実線で表示している。
【００４８】
ユーザ・アバター４１０は、ユーザに装着された動きセンサに応じてリアルタイムに動作する。また、ユーザ側の実在物体（ゴルフクラブ）の画像４１１も、ユーザがスイングするゴルフクラブのグリップに装着された動きセンサに応じてリアルタイムに動作する。
【００４９】
一方、相手（ゴルフのレッスンプロ等の熟練者）、及び、相手側の実在物体（ゴルフクラブ）のグリップに装着された動きセンサによって相手の動きは予め記録されている。そして、相手アバター４２０、及び、相手側の実在物体（ゴルフクラブ）の画像４２１は、リアルタイムに動作するユーザ・アバター４１０に連動して動く。
【００５０】
相手アバター４２０がどのようにユーザ・アバター４１０に連動するかについて説明する。図５は、ユーザの位置データ等に対応する相手、及び／又は、実在物体の位置データ等を算出する方法を説明するための図である。
【００５１】
図５のａ）は、ユーザの左手の位置、角度、及び、速度をリアルタイムで測定する場合の数値データの一例である。ｐはｐｏｓｉｔｉｏｎ（位置）、ｒはｒｏｔａｔｉｏｎ（角度）、ｖはｖｅｌｏｃｉｔｙ（速度）を表す。図５のｂ）は、相手（熟練者）の左手の位置群、角度群、及び、速度群をｔ（ｔｉｍｅ；時刻）が１〜ｎまでについて記録されたデータである。各時間の間隔は０．０１秒である。
【００５２】
ゴルフのスイングの場合、熟練者の左手の速度群の中で、ｘ軸の正負が、ユーザの左手のｘ軸と同じものを抜き出す。その中で、図５のｃ−１）で示す数式（ユーザと熟練者の左手の距離）が最小になる、又は、ｃ−２）で示す数式（ユーザと熟練者の左手の角度）が最も近い時刻ｉを求める。
【００５３】
次に、その時刻ｉの時の熟練者の状態（腕の位置や角度など）を求める。これが図２のＳ１４０に相当する。ここで、手だけでなく、体の他の部位や、実在物体との組合せを求めてもよい。
【００５４】
このようにして求めた時刻ｉの時の相手（熟練者）アバターをユーザ・アバター４１０の時刻ｉの時の動きに連動させることが、図１のユーザ連動処理部１４０である。
【００５５】
（第１の実施形態の作用効果）
第１の実施形態によれば、ユーザが身体活動（ゴルフのスイング練習）をする際に、リアルタイムに処理したユーザ・アバターの動きに予め記録した相手（熟練者）アバターの動きを連動して、さらに重ねて再生することができる。このため、ユーザは、ゴルフのスイング練習などの連続的な動作を練習している際に、相手（熟練者）の動きについていきやすく、効果的なトレーニングを行えるという作用効果を有する。
【００５６】
また、ユーザがゴルフのスイング練習をしている最中に、ユーザが好きな所で止めたり、動かしたりするだけで、相手（熟練者）アバターの動きを確認しやすくなるという作用効果も有する。例えば、ユーザが相手（熟練者）のある腕の角度のフォームを確認したいとき、自分の腕をその角度にまで動かすだけで、その腕の角度の相手（熟練者）のフォームを確認することができる。
【００５７】
また、リアルタイムに処理したユーザ・アバターの動きに連動して、所定の時間間隔だけ先に、又は、後に、予め記録した相手（熟練者）アバターの動きをユーザ・アバターの動きに重ねて再生することもできる。この場合、ユーザ・アバター４１０の動きから数フレーム程度先に、又は、後に（遅れて）相手（熟練者）アバターが動くように、所定の時間間隔を調整可能な調整部を設ければ良い。１フレームは約０．０１秒である。
【００５８】
第１の実施形態は、ユーザ・アバター４１０と相手（熟練者）アバター４２０だけを再生表示すれば、ゴルフボールを飛ばさない状態での素振りの練習になる。また、図１の仮想物体調整部１６４が、ユーザ側の実在物体（ゴルフクラブ）の画像４１１、及び、相手（熟練者）の実在物体（ゴルフクラブ）の画像４２１と、それぞれの仮想物体（ゴルフボール）へのインタラクションを計算すれば、仮想物体（ゴルフボール）が飛ぶ弾道の違いをユーザの場合及び相手（熟練者）の場合それぞれについて調整し、再生表示することも可能になる。
【００５９】
また、図４では、ユーザ・アバター４１０は相手アバター４２０を透過せずに、表示している。しかし、これに限られることはなく、相手アバター４２０を半透明に表示すれば、ユーザ・アバター４１０は隠れることなく表示することが可能になる。
【００６０】
（第２の実施形態の構成）
第２の実施形態は、ユーザがけん玉を練習する場合について説明する。図６は、第１の実施形態に係るユーザ・アバター及び相手アバターの表示例を示す図である。図６のａ）はユーザ・アバター６１０、ユーザ側の実在物体（けん玉のけん）の画像６１１、及び、ーザ側の仮想物体（けん玉の玉）６２１を表している。図６のｂ）は相手（熟練者）アバター６２０、相手側の実在物体（けん玉のけん）の画像６２１、及び、相手側の仮想物体（けん玉の玉）６２２を表している。ここで、ユーザ及び相手（熟練者）のけん玉の玉は仮想物体であるため、ユーザ及び相手（熟練者）がけん玉を行う際の現実空間で実際に使用する物ではない点に留意していただきたい。
【００６１】
第２の実施形態も、第１の実施形態と同様、ユーザが身体活動（けん玉の練習）をする際に、リアルタイムに処理したユーザ・アバター６１０の動きに連動して、予め記録した相手（熟練者）アバター６２０の動きをユーザ・アバターの動きに重ねて再生している。さらに、ユーザ側の実在物体（けん玉のけん）の画像６１１、及び、相手側の実在物体（けん玉のけん）の画像６２１と、それぞれの仮想物体（けん玉のたま）６１２及び６２２へのインタラクションを計算すれば、仮想物体（けん玉の玉）が実在物体（けん玉のけん）にうまく着地するかの違いをユーザの場合及び相手（熟練者）の場合それぞれについて計算し、再生表示している。
【００６２】
（第２の実施形態の作用効果）
第２の実施形態によれば、ユーザが身体活動（けん玉の練習）をする際に、リアルタイムに処理したユーザ・アバターの動きに予め記録した相手（熟練者）アバターの動きを連動して、さらに重ねて再生することができる。又は、横に並べて再生表示してもよい。このため、ユーザは、けん玉練習などの連続的な動作を練習している際に、相手（熟練者）の動きについていきやすく、効果的なトレーニングを行えるという作用効果を有する。
【００６３】
また、けん玉の練習の場合、けん玉を単に手だけで動かすのではなく、手と同時に膝も動かすことが重要であることをユーザは自然に学ぶことができる。
【００６４】
（第３の実施形態の構成）
第３の実施形態は、ユーザが一人で（相手アバターを表示せずに）けん玉を練習する場合について説明する。この場合の表示例は、図６のａ）のみを表示し、ｂ）を表示しない場合に相当する。
【００６５】
第３の実施形態のフローチャートは、図３のフローチャート（その２；一人又は対戦モード）に相当する。そして、Ｓ２２０、Ｓ２３０，Ｓ２７０の処理については、相手アバターに関する処理はせずに、ユーザ・アバター、ユーザの実在物体（けん玉のけん）、ユーザの仮想物体（けん玉のたま）について処理を行えばよい。
【００６６】
また、一人で練習するため、ユーザの仮想物体（けん玉のたま）の速度を調整してもよい。例えば、図１の仮想物体設定記録部１６２に「ａｆｔｅｒ  ｈｉｔ  ｂｙ  ｕｓｅｒ：  １／２」と記録しておけば、図１の仮想物体動作調整部１６４は、ユーザの仮想物体（けん玉のたま）の速度を１／２に設定することができる。
【００６７】
（第３の実施形態の作用効果）
第３の実施形態によれば、ユーザはけん玉を練習する際に、実際のけん玉とは異なり、玉の落下速度を調整（遅く）することができ、慌てずに練習することができるという作用効果を有する。このため、動作を確認しながら、単に手だけで動かすのではなく、手と同時に膝も動かすことが重要であることをユーザは自然に学ぶことができる。
【００６８】
（第４の実施形態の構成）
第４の実施形態は、ユーザが卓球の試合をする場合について説明する。図７は、第４の実施形態に係るユーザ・アバター及び相手アバターの表示例を示す図である。６１０はユーザ・アバターを表し、６１１はユーザ側の実在物体（卓球のラケット）の画像を表す。６２０は相手（対戦者）アバターを表し、６２１は相手側の実在物体（卓球のラケット）の画像を表す。６３０は仮想物体である卓球のボールを表し、６３１は仮想物体である卓球台を表し、６３２は仮想物体である卓球台のネットを表し、６３３は仮想物体である境界面を表す。ここで、ｘ軸は仮想物体である卓球台６３１の長手方向であり、ｙ軸は短手方向であり、ｚ軸は高さ方向である。
【００６９】
第４の実施形態では、仮想物体の速度を、仮想物体の位置や状態などによって複数の値に調整される。境界面６３３よりユーザ・アバター６１０側（紙面手前側）では、仮想物体６３０（卓球のボール）の速度は１／６に設定され、境界面６３３より相手アバター６２０側（紙面奥側）では、仮想物体６３０（卓球のボール）の速度は１／２に設定される。このような設定は、図１の仮想物体動作調整部１６４で行われる。具体的には、図１の仮想物体設定記録部１６２に、予め「ＰｏｓｉｔｉｏｎＸ（Ｂａｌｌ）＜ＰｏｓｉｔｉｏｎＸ（Ｂｏｕｎｄａｒｙ）：  １／２」、「ＰｏｓｉｔｉｏｎＸ（Ｂａｌｌ）＞＝ＰｏｓｉｔｉｏｎＸ（Ｂｏｕｎｄａｒｙ）：  １／６」と記録することによって設定する。また、相手アバターが仮想物体（卓球のボール）を打った直後は仮想物体６３０（卓球のボール）の速度を１／６に設定され、ユーザ・アバターが仮想物体（卓球のボール）を打った直後は仮想物体６３０（卓球のボール）の速度を１／２に設定される場合もある。この場合は、図１の仮想物体設定記録部１６２に、予め「ａｆｔｅｒ  ｈｉｔ  ｂｙ  ｃｏｍｐｅｔｉｔｏｒ：  １／６」、「ａｆｔｅｒ  ｈｉｔ  ｂｙ  ｕｓｅｒ：  １／２」と記録することによって設定する。
【００７０】
（第４の実施形態の作用効果）
第４の実施形態によれば、ユーザと対戦者の身体活動（卓球）への習熟度が異なる場合であっても、仮想物体６３０（卓球のボール）の速度調整が容易であるため、互角の試合をすることが可能になるという作用効果を有する。
【００７１】
また、仮想物体６３０（卓球のボール）の速度調整をすることによって、高齢者や若者など世代が異なる人が試合をできたり、また、体の不自由な人と体の健康な人とが試合をできる等、現実空間では難しい対戦競技をすることが可能になるという作用効果も有する。
【００７２】
以上、本発明の実施例（変形例を含む）について説明してきたが、これらのうち、２つ以上の実施例を組み合わせて実施しても構わない。あるいは、これらのうち、１つの実施例を部分的に実施しても構わない。さらには、これらのうち、２つ以上の実施例を部分的に組み合わせて実施しても構わない。例えば、第１の実施形態の場合、相手の動作を予め記録しておく記録部がある。一方、第２の実施形態の場合、記録部が有るケース（予め記録してある熟練者データとの練習）と、無いケース（実人間とのリアルタイム対戦）がある。実人間とのリアルタイム対戦の場合、相手アバターの動作情報を計算すればよい。
【００７３】
また、本発明は、上記発明の実施例の説明に何ら限定されるものではない。特許請求の範囲の記載を逸脱せず、当業者が容易に想到できる範囲で種々の変形態様もこの発明に含まれる。
【符号の説明】
【００７４】
１００  身体活動支援システム
１４０  ユーザ連動処理部
１６４  仮想物体動作調整部
【図１】
2020195551.tif 000003
【図２】
2020195551.tif 000004
【図３】
2020195551.tif 000005
【図４】
2020195551.tif 000006
【図５】
2020195551.tif 000007
【図６】
2020195551.tif 000008
【図７】
2020195551.tif 000009