IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ イマクリエイト株式会社の特許一覧

特許7054276身体活動支援システム、方法、及び、プログラム
<>
  • 特許-身体活動支援システム、方法、及び、プログラム 図1
  • 特許-身体活動支援システム、方法、及び、プログラム 図2
  • 特許-身体活動支援システム、方法、及び、プログラム 図3
  • 特許-身体活動支援システム、方法、及び、プログラム 図4
  • 特許-身体活動支援システム、方法、及び、プログラム 図5
  • 特許-身体活動支援システム、方法、及び、プログラム 図6
  • 特許-身体活動支援システム、方法、及び、プログラム 図7
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-04-05
(45)【発行日】2022-04-13
(54)【発明の名称】身体活動支援システム、方法、及び、プログラム
(51)【国際特許分類】
   A63B 69/00 20060101AFI20220406BHJP
   G06F 3/01 20060101ALI20220406BHJP
   G06F 3/0481 20220101ALI20220406BHJP
【FI】
A63B69/00 A
G06F3/01 510
G06F3/0481
【請求項の数】 8
(21)【出願番号】P 2021090890
(22)【出願日】2021-05-31
(62)【分割の表示】P 2019103324の分割
【原出願日】2019-05-31
(65)【公開番号】P2021142345
(43)【公開日】2021-09-24
【審査請求日】2021-05-31
【早期審査対象出願】
(73)【特許権者】
【識別番号】519124453
【氏名又は名称】イマクリエイト株式会社
(74)【代理人】
【識別番号】100200229
【弁理士】
【氏名又は名称】矢作 徹夫
(72)【発明者】
【氏名】川崎 仁史
【審査官】比嘉 翔一
(56)【参考文献】
【文献】特開2019-012965(JP,A)
【文献】特開2017-076202(JP,A)
【文献】米国特許出願公開第2013/0178960(US,A1)
【文献】特表2000-504854(JP,A)
【文献】特開2017-060891(JP,A)
【文献】国際公開第2017/094356(WO,A1)
【文献】体育館を自由に歩いて別の競技も!?HTC VIVE用卓球ゲーム「Ping Pong League」配信開始, PANORA,2017年02月28日,http://panora.tokyo/21892/
(58)【調査した分野】(Int.Cl.,DB名)
A63B 1/00-71/16
G09B 1/00-29/14
G06T 1/00-19/20
JSTPlus(JDreamIII)
(57)【特許請求の範囲】
【請求項1】
コンピュータ・グラフィックス空間で人間の分身として動作する仮想的な人物である、ユーザのアバターを生成するユーザ・アバター生成部、及び、前記ユーザの身体活動の相手となる相手アバターを生成する相手アバター生成部を用いて、前記ユーザの身体活動を支援する身体活動支援システムであって、
前記ユーザ・アバター生成部からの情報に基づいて、所定の時刻での前記ユーザの体の複数の部位の位置、角度、及び、速度に関するユーザ・アバターの動作情報を計算する第1計算部と、
前記相手アバター生成部からの情報に基づいて、前記所定の時刻での前記相手の体の複数の部位の位置、角度、及び、速度に関する前記相手アバターの動作情報を計算する第2計算部と、
前記ユーザ・アバターの動作情報に、前記相手アバターの動作情報を前記所定の時刻に基づいて連動させる連動部を備える身体活動支援システム。
【請求項2】
前記所定の時刻は、前記ユーザが知りたい前記相手アバターの動きに相当する時刻である請求項1に記載の身体活動支援システム。
【請求項3】
前記所定の時刻での前記ユーザ・アバターの動作情報と、前記所定の時刻での前記ユーザ・アバターの動作情報に連動した前記相手アバターの動作情報を再生する再生部を備える請求項1に記載の身体活動支援システム。
【請求項4】
前記所定の時刻での前記ユーザ・アバターの動作情報に基づいて、前記所定の時刻での前記ユーザ・アバターから仮想物体へのインタラクションを計算する仮想物体動作調整部を備える請求項1に記載の身体活動支援システム。
【請求項5】
前記仮想物体動作調整部は、前記所定の時刻での前記相手アバターの動作情報に基づいて、前記所定の時刻での前記相手アバターから他の仮想物体へのインタラクションを計算する請求項4に記載の身体活動支援システム。
【請求項6】
コンピュータ・グラフィックス空間で人間の分身として動作する仮想的な人物である、ユーザのアバターを生成するユーザ・アバター生成部、及び、前記ユーザの身体活動の相手となる相手アバターを生成する相手アバター生成部を用いて、前記ユーザの身体活動を支援する身体活動支援システムであって、
前記ユーザ・アバター生成部からの情報に基づいて、所定の時刻での前記ユーザの体の複数の部位の位置、角度、及び、速度に関するユーザ・アバターの動作情報を計算する第1計算部と、
前記相手アバター生成部からの情報に基づいて、他の所定の時刻での前記相手の体の複数の部位の位置、角度、及び、速度に関する前記相手アバターの動作情報を計算する第2計算部と、
仮想物体の位置又は状態に応じた前記仮想物体の設定を記録する仮想物体設定記録部と、
前記所定の時刻での前記ユーザ・アバターの動作情報又は前記他の所定の時刻での前記相手アバターの動作情報と、前記仮想物体の設定と、に応じて、前記仮想物体へのインタラクションを計算する仮想物体動作調整部を備える身体活動支援システム。
【請求項7】
コンピュータ・グラフィックス空間で人間の分身として動作する仮想的な人物である、ユーザのアバターを生成するユーザ・アバター生成部、及び、前記ユーザの身体活動の相手となる相手アバターを生成する相手アバター生成部を用いて、前記ユーザの身体活動を支援する身体活動支援プログラムであって、
前記ユーザ・アバター生成部からの情報に基づいて、所定の時刻での前記ユーザの体の複数の部位の位置、角度、及び、速度に関するユーザ・アバターの動作情報を計算するステップと、
前記相手アバター生成部からの情報に基づいて、前記所定の時刻での前記相手の体の複数の部位の位置、角度、及び、速度に関する前記相手アバターの動作情報を計算するステップと、
前記ユーザ・アバターの動作情報に、前記相手アバターの動作情報を前記所定の時刻に基づいて連動させるステップと、
をコンピュータに実行させる身体活動支援プログラム。
【請求項8】
コンピュータ・グラフィックス空間で人間の分身として動作する仮想的な人物である、ユーザのアバターを生成するユーザ・アバター生成部、及び、前記ユーザの身体活動の相手となる相手アバターを生成する相手アバター生成部を用いて、前記ユーザの身体活動を支援する身体活動支援プログラムであって、
前記ユーザ・アバター生成部からの情報に基づいて、所定の時刻での前記ユーザの体の複数の部位の位置、角度、及び、速度に関するユーザ・アバターの動作情報を計算するステップと、
前記相手アバター生成部からの情報に基づいて、他の所定の時刻での前記相手の体の複数の部位の位置、角度、及び、速度に関する前記相手アバターの動作情報を計算するステップと、
仮想物体の位置又は状態に応じた前記仮想物体の設定を記録するステップと、
前記所定の時刻での前記ユーザ・アバターの動作情報又は前記他の所定の時刻での前記相手アバターの動作情報と、前記仮想物体の設定と、に応じて、前記仮想物体へのインタラクションを計算するステップと、
をコンピュータに実行させる身体活動支援プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、アバターを用いてユーザの身体活動を支援する技術に関する。
【背景技術】
【0002】
ユーザは、ディスプレイに表示された映像を見ながら、ダンスの振り付け、武道の型などの動作練習を行う場合がある。
【0003】
特許文献1は、撮像装置が投写面に対向するユーザを斜め上方から撮像し、ユーザの動作を撮像した撮像映像と、インストラクターの模範動作を撮像した見本映像を重畳し、重畳した映像を投写面に表示する技術を開示している。ここで、ユーザの撮像映像のサイズと、インストラクターの見本映像のサイズが揃っている。
【0004】
そして、ユーザの動作がインストラクターの模範動作から乖離している度合い(以下、乖離度という)を判定し、乖離度も投写面に表示する技術も開示している。このような技術は、ユーザが、ユーザ自身の撮像映像、インストラクターの見本映像、及び、乖離度を同時に投写面で見ることができ、乖離度を容易に把握することが可能である。
【先行技術文献】
【特許文献】
【0005】
【文献】特開2009-279041号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、特許文献1では一連の動作を素早く行うインストラクターの見本映像が表示される。このため、ユーザは見本の動きを見ながら、乖離度が小さくなるように真似をして動こうとしても、そもそもついて行けず、トレーニング効果を得られにくい。
【0007】
本発明は、このような課題に着目して鋭意研究され完成されたものであり、その目的は、ユーザの身体活動を効果的に支援する技術を提供することにある。
【課題を解決するための手段】
【0008】
上記課題を解決するために、本発明は、ユーザのアバターを生成する生成部を用いた身体活動支援システムであって、前記生成部からの情報に基づいて、ユーザ・アバターの動作情報を計算する第1計算部と、前記生成部からの情報に基づいて、前記ユーザの身体活動の相手となる相手アバターの動作情報を計算する第2計算部と、前記ユーザ・アバターの動作情報に、前記相手アバターの動作情報を連動させる連動部を備える身体活動支援システムである。
【0009】
他の本発明は、ユーザのアバターを生成する生成部を用いた身体活動支援システムであって、前記生成部からの情報に基づいて、ユーザ・アバターの動作情報を計算する第1計算部と、前記生成部からの情報に基づいて、前記ユーザの身体活動の相手となる相手アバターの動作情報を計算する第2計算部と、前記ユーザ・アバターの動作情報、及び、前記相手アバターの動作情報に応じて、仮想物体へのインタラクションを計算する仮想物体動作調整部を備える身体活動支援システムである。
【0010】
他の本発明は、ユーザのアバターを生成する生成部を用いた身体活動支援方法であって、前記生成部からの情報に基づいて、ユーザ・アバターの動作情報を計算し、前記生成部からの情報に基づいて、前記ユーザの身体活動の相手となる相手アバターの動作情報を計算し、前記ユーザ・アバターの動作情報に、前記相手アバターの動作情報を連動させる身体活動支援方法である。
【0011】
他の本発明は、ユーザのアバターを生成する生成部を用いた身体活動支援方法であって、前記生成部からの情報に基づいて、ユーザ・アバターの動作情報を計算し、前記生成部からの情報に基づいて、前記ユーザの身体活動の相手となる相手アバターの動作情報を計算し、前記ユーザ・アバターの動作情報、及び、前記相手アバターの動作情報に応じて、仮想物体へのインタラクションを計算する身体活動支援方法である。
【0012】
他の本発明は、ユーザのアバターを生成する生成部を用いた身体活動支援プログラムであって、前記生成部からの情報に基づいて、ユーザ・アバターの動作情報を計算するステップと、前記生成部からの情報に基づいて、前記ユーザの身体活動の相手となる相手アバターの動作情報を計算するステップと、前記ユーザ・アバターの動作情報に、前記相手アバターの動作情報を連動させるステップと、をコンピュータに実行させる身体活動支援プログラムである。
【0013】
他の本発明は、ユーザのアバターを生成する生成部を用いた身体活動支援プログラムであって、前記生成部からの情報に基づいて、ユーザ・アバターの動作情報を計算するステップと、前記生成部からの情報に基づいて、前記ユーザの身体活動の相手となる相手アバターの動作情報を計算するステップと、前記ユーザ・アバターの動作情報、及び、前記相手アバターの動作情報に応じて、仮想物体へのインタラクションを計算するステップと、をコンピュータに実行させる身体活動支援プログラムである。
【発明の効果】
【0014】
本発明によれば、ユーザの身体活動を効果的に支援する技術を提供することができる。
【図面の簡単な説明】
【0015】
図1】本発明の実施形態に係る身体活動支援システムの機能ブロック図ある。
図2】本発明の実施形態に係る身体活動支援システムのフローチャート(その1;動作練習モード)である。
図3】本発明の実施形態に係る身体活動支援システムのフローチャート(その2;一人又は対戦モード)である。
図4】本発明の第1の実施形態に係るユーザ・アバター及び相手アバターの表示例を示す図である。
図5】本発明の第1の実施形態に係るユーザの位置データ等に対応する相手・実在物体の位置データ等を算出する方法を説明するための図である。
図6】本発明の第2の実施形態に係るユーザ・アバター及び相手アバターの表示例を示す図である。
図7】本発明の第4の実施形態に係るユーザ・アバター及び相手アバターの表示例を示す図である。
【発明を実施するための形態】
【0016】
図面を参照しながら本発明の実施の形態を説明する。なお、各図において共通する部分には同一の符号を付し、重複した説明は省略する。
【0017】
(身体活動支援システムの機能ブロック図)
図1は、本発明の実施形態に係る身体活動支援システムの機能ブロック図ある。身体活動支援システム100は、ユーザ・アバター、相手アバター、及び、実在物体画像を生成し、再生する機能ブロック群と、仮想物体を生成し、再生する機能ブロック群に大きく分けることができる。
【0018】
まず、ユーザ・アバター、相手アバター、及び、実在物体画像を生成し、再生する機能ブロック群について説明する。ユーザ動作検知装置111は、ユーザ(第1ユーザともいう)の動きを検知する装置であり、ユーザに装着した動きセンサ、又は、ユーザの動きを撮影するビデオカメラなどである。相手動作検知装置121は、ユーザ(第1ユーザ)の身体活動の相手(第2ユーザともいう)の動きを検知する装置であり、相手に装着した動きセンサ、又は、相手の動きを撮影するビデオカメラなどである。実在物体動作検知装置131は、ユーザ又は相手が身体活動を行う際に現実空間で実際に使用する物(対象物、又は、実在物体という)の動きを検知する装置であり、実在物体に装着した動きセンサ、又は、実在物体の動きを撮影するビデオカメラなどである。
【0019】
人間が装着する動きセンサは、位置、速度、加速度、及び、角度を取得することができる。動きセンサを身体に装着する位置は、例えば、左右の前腕部の肘付近、左右のつま先付近、左右の大腿部の膝付近、背中の中央付近、腰ベルトの背中中央付近、左右の側頭付近である。また、動きセンサの代りに、モーションキャプチャのマーカーを身体に装着して、ビデオカメラで撮影することによっても、人の位置、速度、加速度、及び、角度を取得することができる。また、モーションキャプチャのマーカーを人に装着しないで撮影した動画を画像解析することによって、人の位置、速度、加速度、及び、角度を取得してもよい。さらに、人が身体活動を行う際に現実空間で実際に使用する物(例えば、ゴルフクラブのグリップ)に、動きセンサ、又は、モーションキャプチャのマーカーを装着してもよい。
【0020】
第1データ記録部112は、ユーザ動作検知装置111が検知したユーザの動きを記録する。第2データ記録部122は、相手動作検知装置121が検知した相手の動きを記録する。第3データ記録部132は、実在物体動作検知装置131が検知した実在物体の動きを記録する。ここで、ユーザ、相手、又は実在物体の動きは、それぞれの動作情報ともいう。
【0021】
ユーザ・アバター生成部113は、第1データ記録部112が記録したユーザの動作情報から、ユーザ・アバターを生成することが可能である。ここで、アバターとは、コンピュータ・グラフィックス空間で人間の分身として動作する仮想的な人物をいう。また、ユーザ・アバター生成部113は、ユーザ動作検知装置111が検知したユーザの動きをリアルタイムに処理し、ユーザ・アバターを生成することも可能である。ここで、ユーザのアバターを生成する生成部は、ユーザ動作検知装置111というハードウェアと、第1データ記録部112及びユーザ・アバター生成部113というソフトウェアで構成されている。そして、ユーザのアバターを生成する生成部は、身体活動支援システム100と一緒に利用者に納品してもよいし、身体活動支援システム100には含めない状態で利用者に納品し、利用者側で用意してもよい。すなわち、ユーザのアバターを生成する生成部は身体活動支援システム100にとって必須の構成とは限らない。同様のことは、相手アバター及び実在物体についてもいえる。
【0022】
相手アバター生成部123は、第2データ記録部122が記録した相手の動作情報から、相手アバターを生成することが可能である。また、相手アバター生成部123は、相手動作検知装置121が検知した相手の動きをリアルタイムに処理し、相手アバターを生成することも可能である。
【0023】
実在物体画像生成部133は、第3データ記録部132が記録した実在物体の動作情報から、実在物体画像を生成することが可能である。ここで、実在物体画像とは、現実空間での実在物体に対応するコンピュータ・グラフィックス空間での画像をいう。また、実在物体画像生成部133は、実在物体動作検知装置131が検知した実在物体の動きをリアルタイムに処理し、実在物体画像を生成することも可能である。
【0024】
生成されたユーザ・アバター、相手アバター、及び、実在物体画像は、ユーザ連動処理部140に入力される。ユーザ連動処理部140は、相手アバターの動き、及び/又は、実在物体画像の動きをユーザ・アバターの動きに連動させることが可能である。具体的には、ユーザ連動処理部140は、第1計算部141と、第2計算部142と、第3計算部143を備える。第1計算部141は、ユーザ・アバターが生成された情報に基づいて、ユーザ・アバターの動作情報を計算する。第2計算部142は、ユーザ・アバターが生成された情報に基づいて、相手アバターの動作情報を計算する。第3計算部143は、ユーザ・アバターが生成された情報に基づいて、実在物体画像の動作情報を計算する。そして、ユーザ連動処理部140は、ユーザ・アバターの動作情報に、相手アバターの動作情報を連動させる。
【0025】
ユーザ連動処理部140によって連動されたユーザ・アバター、相手アバター、及び、実在物体画像それぞれの動きは、ユーザ・アバター再生部114、相手アバター再生部124、及び、実在物体再生部134でそれぞれ再生される。再生されたユーザ・アバター、相手アバター、及び、実在物体は表示装置150に表示される。表示装置150は、ユーザが装着するヘッド・マウント・ディスプレイ(Head Mounted Display;HMD)、または、ユーザが練習をしながら見られるように設置された平面ディスプレイ等であり、二次元表示でも三次元表示でもよい。
【0026】
次に、仮想物体を生成し、再生する機能ブロック群について説明する。仮想物体とは、上述した実在物体とは異なり、コンピュータ・グラフィックス空間のみに表示される画像である。すなわち、仮想物体は、実在せず、コンピュータが仮想的に作成した画像である。
【0027】
仮想物体情報入力装置161は、仮想物体の位置や、実在物体との接触に応じた速度及び/又は加速度を設定する入力デバイスである。コンピュータのキーボード等から入力すればよい。
【0028】
仮想物体設定記録部162は、仮想物体情報入力装置161から入力された速度・加速度などを記録しておく。仮想物体生成部163は、仮想物体の画像を生成し、仮想物体動作調整部164へ出力する。
【0029】
仮想物体動作調整部164は、ユーザ連動処理部140に連動されたユーザ・アバター、相手アバター、及び、実在物体画像のうち少なくとも1つの動きに応じて、予め仮想物体設定記録部162で動きを設定された仮想物体の動作を調整することが可能である。
【0030】
仮想物体再生部165は、仮想物体動作調整部164によって調整された仮想物体の動きを再生する。再生された仮想物体は、表示装置150に表示される。
【0031】
上述した機能ブロック群で構成される身体活動支援システム100は、ソフトウェアとしてコンピュータに実装されていてもよく、その実装形態は限定されない。例えば、パーソナルコンピュータ等のクライアント端末と有線又は無線の通信回線(インターネット回線など)に接続された専用サーバにインストールされた身体活動支援プログラムとして実装されていてもよいし、いわゆるクラウドサービスを利用して実装されていてもよい。
【0032】
(身体活動支援システムのフローチャート)
図2及び図3は、本発明の実施形態に係る身体活動支援システムについて2種類のフローチャートである。図2は、相手が、ユーザが行う身体活動の熟練者である場合(その1;ユーザが熟練者から動作練習を受ける動作練習モード)のフローチャートである。図3は、ユーザが一人で動作練習をする場合、又はユーザが身体活動を通して相手と競い合う場合(その2;一人又は対戦モード)のフローチャートである。図2図3の相違点は、図2のS130(ユーザの動きデータから時刻iを求める)が図3には無い点である。
【0033】
(フローチャートその1;動作練習モード)
まず、図2について説明する。S110は、リアルタイムに表示するユーザ等のセンサやモーションデータをユーザ動作検知装置111等から取得するステップである。また、第1データ記録部112等に記録しておいてもよい。
【0034】
S120は、各生成部が各検知装置や各記録部からの情報に基づいて生成したユーザ・アバター、相手アバター、実在物体画像について、ユーザ連動処理部140の第1計算部141、第2計算部142、第3計算部143がそれぞれユーザ・アバターの動きデータ、相手アバターの動きデータ、実在物体画像の動きデータを計算するするステップである。ここで、動きデータとは、所定の時間間隔(時刻1から時刻nまで)の位置、速度、加速度、及び/又は角度のデータ(動作情報ともいう)をいう。位置データと角度データの2つから、ユーザ・アバター等がずっと動いているか、又は、一時停止をしているかを計算することができる。
【0035】
S130は、ユーザ自身が知りたい任意のユーザの動きに相当する時刻iを求めるステップである。例えば、ユーザがゴルフクラブを持ってスイングを練習しており、相手がゴルフのレッスンプロ、実在物体がゴルフクラブの場合、ユーザが装着した動きセンサ(図1のユーザ動作検知装置111に相当)が、ユーザの動きが一時停止したことを検知すると、ユーザ連動処理部140は、ユーザがその一時停止した時の相手(レッスンプロ)アバターの動きを知りたいと判断する。そして、ユーザ連動処理部140は、一時停止した時刻iを求める。
【0036】
S140では、その時刻iの時の相手(レッスンプロ)アバターの動きデータを求める。この時刻iの時の相手(レッスンプロ)アバターの動きデータが、ユーザ・アバターの時刻iの時の動きデータに対応する。また、実在物体画像(ユーザが使用しているゴルフクラブ及び相手が使用しているゴルフクラブ)の動きデータを求めてもよい。
【0037】
S150は、仮想物体の速度・加速度を調整するモードの有無を判断するステップである。例えば、ユーザがゴルフクラブのスイングを練習している場合でも、本実施形態の身体活動支援システムは、a)ゴルフクラブの素振りを選択する場合と、b)ゴルフクラブをスイングした結果、仮想物体としてのボールがどのように飛ぶかを仮想空間で確認したい場合のどちらかを選択することが可能である。ユーザは、図1の仮想物体情報入力装置を用いて、このような選択をすることができる。
【0038】
a)素振りの場合は、S150のNoに該当する。このため、ユーザ連動処理部140は、時刻iからのユーザ・アバターの動きに、相手アバターの動きを連動させることができる。また、ユーザ・アバターがスイングするゴルフクラブ(実在物体の画像)、及び、相手アバターがスイングするゴルフクラブ(実在物体の画像)の動きも連動させることができる。
【0039】
S180は、各再生部によって再生されたユーザ・アバター、相手アバター、及び/又は実在物体の画像を表示装置150が表示するステップである。
【0040】
一方、b)ゴルフクラブをスイングした結果、仮想物体としてのボールがどのように飛ぶかを仮想空間で確認したい場合は、S150のYesに該当する。この場合、図1の仮想物体動作調整部164は、仮想物体の位置データ、及び、実在物体との接触に関するデータを取得する(S160)。
【0041】
そして、仮想物体動作調整部164は、仮想物体の速度及び加速度を決定する(S170)。仮想物体再生部165は、決定された速度及び加速度に応じて、仮想物体を再生し、表示装置150に表示する(S180)。
【0042】
(フローチャートその2;一人又は対戦モード)
次に、図3について説明する。S210は、図2のS110と同様、リアルタイムに表示するユーザ等のセンサやモーションデータをユーザ動作検知装置111等から取得するステップである。また、第1データ記録部112等に記録しておいてもよい。
【0043】
S220は、図2のS120と同様、各生成部が、各検知装置や各記録部からの情報に基づいて、ユーザ・アバター、相手アバター、実在物体画像それぞれの動きデータを生成するステップである。S220では、相手アバターの動きデータを生成することは必須ではない点に留意していただきたい。
【0044】
S230は、図2のS130が無く、図2のS140と異なり、時刻iの時のユーザ・アバター及び/又は相手(対戦者)アバターの動きデータを求める。実在物体画像(ユーザが使用している実在物体、及び/又は、相手が対戦に使用している実在物体)の動きデータを求めてもよい。
【0045】
S240は、図2のS150と同様、仮想物体の速度・加速度を調整するモードの有無を判断するステップである。S250は、図2のS160と同様、仮想物体の位置データ、及び、実在物体との接触に関するデータを取得するステップである。S260は、S170と同様、仮想物体の速度及び加速度を決定するステップである。S270は、S180と同様、決定された速度及び加速度に応じて、仮想物体を再生し、表示装置150に表示するステップである。
【0046】
以下では、4つの実施形態を説明する。第1及び第2の実施形態は、図2のフローチャート(その1;動作練習モード)に関する。第3及び第4の実施形態は、図3のフローチャート(その2;一人又は対戦モード)に関する。
【0047】
(第1の実施形態の構成)
第1の実施形態は、ユーザがゴルフのスイングを練習する場合について説明する。図4は、第1の実施形態に係るユーザ・アバター及び相手アバターの表示例を示す図である。ここで、x軸は人の左足から右足にかけての足幅方向であり、y軸は人の高さ方向であり、z軸は人の背中から腹側への方向である。ユーザ・アバター410及びユーザ側の実在物体(ゴルフクラブ)の画像411を点線で表示し、相手アバター420、及び、相手側の実在物体(ゴルフクラブ)の画像421を実線で表示している。
【0048】
ユーザ・アバター410は、ユーザに装着された動きセンサに応じてリアルタイムに動作する。また、ユーザ側の実在物体(ゴルフクラブ)の画像411も、ユーザがスイングするゴルフクラブのグリップに装着された動きセンサに応じてリアルタイムに動作する。
【0049】
一方、相手(ゴルフのレッスンプロ等の熟練者)、及び、相手側の実在物体(ゴルフクラブ)のグリップに装着された動きセンサによって相手の動きは予め記録されている。そして、相手アバター420、及び、相手側の実在物体(ゴルフクラブ)の画像421は、リアルタイムに動作するユーザ・アバター410に連動して動く。
【0050】
相手アバター420がどのようにユーザ・アバター410に連動するかについて説明する。図5は、ユーザの位置データ等に対応する相手、及び/又は、実在物体の位置データ等を算出する方法を説明するための図である。
【0051】
図5のa)は、ユーザの左手の位置、角度、及び、速度をリアルタイムで測定する場合の数値データの一例である。pはposition(位置)、rはrotation(角度)、vはvelocity(速度)を表す。図5のb)は、相手(熟練者)の左手の位置群、角度群、及び、速度群をt(time;時刻)が1~nまでについて記録されたデータである。各時間の間隔は0.01秒である。
【0052】
ゴルフのスイングの場合、熟練者の左手の速度群の中で、x軸の正負が、ユーザの左手のx軸と同じものを抜き出す。その中で、図5のc-1)で示す数式(ユーザと熟練者の左手の距離)が最小になる、又は、c-2)で示す数式(ユーザと熟練者の左手の角度)が最も近い時刻iを求める。
【0053】
次に、その時刻iの時の熟練者の状態(腕の位置や角度など)を求める。これが図2のS140に相当する。ここで、手だけでなく、体の他の部位や、実在物体との組合せを求めてもよい。
【0054】
このようにして求めた時刻iの時の相手(熟練者)アバターをユーザ・アバター410の時刻iの時の動きに連動させることが、図1のユーザ連動処理部140である。
【0055】
(第1の実施形態の作用効果)
第1の実施形態によれば、ユーザが身体活動(ゴルフのスイング練習)をする際に、リアルタイムに処理したユーザ・アバターの動きに予め記録した相手(熟練者)アバターの動きを連動して、さらに重ねて再生することができる。このため、ユーザは、ゴルフのスイング練習などの連続的な動作を練習している際に、相手(熟練者)の動きについていきやすく、効果的なトレーニングを行えるという作用効果を有する。
【0056】
また、ユーザがゴルフのスイング練習をしている最中に、ユーザが好きな所で止めたり、動かしたりするだけで、相手(熟練者)アバターの動きを確認しやすくなるという作用効果も有する。例えば、ユーザが相手(熟練者)のある腕の角度のフォームを確認したいとき、自分の腕をその角度にまで動かすだけで、その腕の角度の相手(熟練者)のフォームを確認することができる。
【0057】
また、リアルタイムに処理したユーザ・アバターの動きに連動して、所定の時間間隔だけ先に、又は、後に、予め記録した相手(熟練者)アバターの動きをユーザ・アバターの動きに重ねて再生することもできる。この場合、ユーザ・アバター410の動きから数フレーム程度先に、又は、後に(遅れて)相手(熟練者)アバターが動くように、所定の時間間隔を調整可能な調整部を設ければ良い。1フレームは約0.01秒である。
【0058】
第1の実施形態は、ユーザ・アバター410と相手(熟練者)アバター420だけを再生表示すれば、ゴルフボールを飛ばさない状態での素振りの練習になる。また、図1の仮想物体調整部164が、ユーザ側の実在物体(ゴルフクラブ)の画像411、及び、相手(熟練者)の実在物体(ゴルフクラブ)の画像421と、それぞれの仮想物体(ゴルフボール)へのインタラクションを計算すれば、仮想物体(ゴルフボール)が飛ぶ弾道の違いをユーザの場合及び相手(熟練者)の場合それぞれについて調整し、再生表示することも可能になる。
【0059】
また、図4では、ユーザ・アバター410は相手アバター420を透過せずに、表示している。しかし、これに限られることはなく、相手アバター420を半透明に表示すれば、ユーザ・アバター410は隠れることなく表示することが可能になる。
【0060】
(第2の実施形態の構成)
第2の実施形態は、ユーザがけん玉を練習する場合について説明する。図6は、第1の実施形態に係るユーザ・アバター及び相手アバターの表示例を示す図である。図6のa)はユーザ・アバター610、ユーザ側の実在物体(けん玉のけん)の画像611、及び、ーザ側の仮想物体(けん玉の玉)621を表している。図6のb)は相手(熟練者)アバター620、相手側の実在物体(けん玉のけん)の画像621、及び、相手側の仮想物体(けん玉の玉)622を表している。ここで、ユーザ及び相手(熟練者)のけん玉の玉は仮想物体であるため、ユーザ及び相手(熟練者)がけん玉を行う際の現実空間で実際に使用する物ではない点に留意していただきたい。
【0061】
第2の実施形態も、第1の実施形態と同様、ユーザが身体活動(けん玉の練習)をする際に、リアルタイムに処理したユーザ・アバター610の動きに連動して、予め記録した相手(熟練者)アバター620の動きをユーザ・アバターの動きに重ねて再生している。さらに、ユーザ側の実在物体(けん玉のけん)の画像611、及び、相手側の実在物体(けん玉のけん)の画像621と、それぞれの仮想物体(けん玉のたま)612及び622へのインタラクションを計算すれば、仮想物体(けん玉の玉)が実在物体(けん玉のけん)にうまく着地するかの違いをユーザの場合及び相手(熟練者)の場合それぞれについて計算し、再生表示している。
【0062】
(第2の実施形態の作用効果)
第2の実施形態によれば、ユーザが身体活動(けん玉の練習)をする際に、リアルタイムに処理したユーザ・アバターの動きに予め記録した相手(熟練者)アバターの動きを連動して、さらに重ねて再生することができる。又は、横に並べて再生表示してもよい。このため、ユーザは、けん玉練習などの連続的な動作を練習している際に、相手(熟練者)の動きについていきやすく、効果的なトレーニングを行えるという作用効果を有する。
【0063】
また、けん玉の練習の場合、けん玉を単に手だけで動かすのではなく、手と同時に膝も動かすことが重要であることをユーザは自然に学ぶことができる。
【0064】
(第3の実施形態の構成)
第3の実施形態は、ユーザが一人で(相手アバターを表示せずに)けん玉を練習する場合について説明する。この場合の表示例は、図6のa)のみを表示し、b)を表示しない場合に相当する。
【0065】
第3の実施形態のフローチャートは、図3のフローチャート(その2;一人又は対戦モード)に相当する。そして、S220、S230,S270の処理については、相手アバターに関する処理はせずに、ユーザ・アバター、ユーザの実在物体(けん玉のけん)、ユーザの仮想物体(けん玉のたま)について処理を行えばよい。
【0066】
また、一人で練習するため、ユーザの仮想物体(けん玉のたま)の速度を調整してもよい。例えば、図1の仮想物体設定記録部162に「after hit by user: 1/2」と記録しておけば、図1の仮想物体動作調整部164は、ユーザの仮想物体(けん玉のたま)の速度を1/2に設定することができる。
【0067】
(第3の実施形態の作用効果)
第3の実施形態によれば、ユーザはけん玉を練習する際に、実際のけん玉とは異なり、玉の落下速度を調整(遅く)することができ、慌てずに練習することができるという作用効果を有する。このため、動作を確認しながら、単に手だけで動かすのではなく、手と同時に膝も動かすことが重要であることをユーザは自然に学ぶことができる。
【0068】
(第4の実施形態の構成)
第4の実施形態は、ユーザが卓球の試合をする場合について説明する。図7は、第4の実施形態に係るユーザ・アバター及び相手アバターの表示例を示す図である。610はユーザ・アバターを表し、611はユーザ側の実在物体(卓球のラケット)の画像を表す。620は相手(対戦者)アバターを表し、621は相手側の実在物体(卓球のラケット)の画像を表す。630は仮想物体である卓球のボールを表し、631は仮想物体である卓球台を表し、632は仮想物体である卓球台のネットを表し、633は仮想物体である境界面を表す。ここで、x軸は仮想物体である卓球台631の長手方向であり、y軸は短手方向であり、z軸は高さ方向である。
【0069】
第4の実施形態では、仮想物体の速度を、仮想物体の位置や状態などによって複数の値に調整される。境界面633よりユーザ・アバター610側(紙面手前側)では、仮想物体630(卓球のボール)の速度は1/6に設定され、境界面633より相手アバター620側(紙面奥側)では、仮想物体630(卓球のボール)の速度は1/2に設定される。このような設定は、図1の仮想物体動作調整部164で行われる。具体的には、図1の仮想物体設定記録部162に、予め「PositionX(Ball)<PositionX(Boundary): 1/2」、「PositionX(Ball)>=PositionX(Boundary): 1/6」と記録することによって設定する。また、相手アバターが仮想物体(卓球のボール)を打った直後は仮想物体630(卓球のボール)の速度を1/6に設定され、ユーザ・アバターが仮想物体(卓球のボール)を打った直後は仮想物体630(卓球のボール)の速度を1/2に設定される場合もある。この場合は、図1の仮想物体設定記録部162に、予め「after hit by competitor: 1/6」、「after hit by user: 1/2」と記録することによって設定する。
【0070】
(第4の実施形態の作用効果)
第4の実施形態によれば、ユーザと対戦者の身体活動(卓球)への習熟度が異なる場合であっても、仮想物体630(卓球のボール)の速度調整が容易であるため、互角の試合をすることが可能になるという作用効果を有する。
【0071】
また、仮想物体630(卓球のボール)の速度調整をすることによって、高齢者や若者など世代が異なる人が試合をできたり、また、体の不自由な人と体の健康な人とが試合をできる等、現実空間では難しい対戦競技をすることが可能になるという作用効果も有する。
【0072】
以上、本発明の実施例(変形例を含む)について説明してきたが、これらのうち、2つ以上の実施例を組み合わせて実施しても構わない。あるいは、これらのうち、1つの実施例を部分的に実施しても構わない。さらには、これらのうち、2つ以上の実施例を部分的に組み合わせて実施しても構わない。例えば、第1の実施形態の場合、相手の動作を予め記録しておく記録部がある。一方、第2の実施形態の場合、記録部が有るケース(予め記録してある熟練者データとの練習)と、無いケース(実人間とのリアルタイム対戦)がある。実人間とのリアルタイム対戦の場合、相手アバターの動作情報を計算すればよい。
【0073】
また、本発明は、上記発明の実施例の説明に何ら限定されるものではない。特許請求の範囲の記載を逸脱せず、当業者が容易に想到できる範囲で種々の変形態様もこの発明に含まれる。
【符号の説明】
【0074】
100 身体活動支援システム
140 ユーザ連動処理部
164 仮想物体動作調整部
図1
図2
図3
図4
図5
図6
図7