説明

運動支援装置、運動支援方法およびプログラム

【課題】動作の態様が異なる複数のキャラクタの表示において、複数人のユーザの熟練度に応じて優先的に表示するキャラクタを変更することができる運動支援装置、運動支援方法およびプログラムを提供する。
【解決手段】熟練度の異なる複数のアバターA0〜A6を、モニタ2の表示部21に表示する。ユーザU01〜U10は、各自の熟練度に合ったアバターA0〜A6を手本に身体部位を動作させるモーションを行うことがでる。ユーザ間の熟練度が異なっても、熟練度の低いユーザがとまどうことがなく、また、熟練度の高いユーザがもてあますこともない。さらに、より多くのユーザの熟練度に合うアバターA0〜A6を優先的に表示して、全参加ユーザの手本とすることができる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、身体部位を動作させる運動動作を支援する運動支援装置、運動支援方法およびプログラムに関する。
【背景技術】
【0002】
従来、身体部位を動作させる運動動作の映像(運動映像)を、例えばモニタやスクリーンなどの所定の表示部に表示し、ユーザの運動を支援する運動支援装置が知られている。運動映像には、例えば、コンピュータグラフィックス(CG)により生成したキャラクタに運動の模範動作をさせて生成した映像や、熟練者が行う模範動作を撮影した映像などが用いられる。また、運動映像の表示とともに、運動動作に応じたテンポ(動作の節となるタイミング)の楽曲が再生される。ユーザは、運動映像を見習い、楽曲に合わせてタイミングを取りながら運動を行う。
【0003】
運動支援装置は、例えばフィットネスクラブなどのスポーツ施設に設置され、インストラクタによる指導のもとで、ユーザの運動が行われる。また、インストラクタによって、ユーザの運動目的や熟練度に応じて適切な運動動作を組み合わせた運動レッスンが作成される。ユーザは、運動レッスンに従って運動動作を行うことで、効率よくエクササイズを行うことができる。
【0004】
ところで、ユーザの熟練度(例えば経験値)に応じてキャラクタが行う動作の態様を変更するものが知られている(例えば特許文献1参照)。特許文献1では、ユーザの操作によるキャラクタの行動の上達度に応じて経験値(持点)が与えられ、持点に応じてキャラクタの動作パターンが変更される。運動支援装置において、ユーザの熟練度に応じてキャラクタの模範動作の態様が変化すれば、ユーザの運動に対するモチベーションを高めることができる。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2000−140427号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、特許文献1は、キャラクタを操作する一人のユーザを対象としたものであり、スポーツ施設などで複数人のユーザが運動を行う場合には適用することができなかった。
【0007】
本発明は、上記の問題点を解決するためになされたものであり、動作の態様が異なる複数のキャラクタの表示において、複数人のユーザの熟練度に応じて優先的に表示するキャラクタを変更することができる運動支援装置、運動支援方法およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【0008】
本発明の第1態様によれば、仮想空間内で身体部位を動作させる運動動作を行う複数のキャラクタを映し出した運動映像を所定の表示部に表示してユーザの運動を支援する運動支援装置であって、複数の前記キャラクタが行う前記運動動作を表す、少なくとも1種類以上の運動情報と、前記運動情報を組み合わせてなる、少なくとも1種類以上のレッスン情報と、前記ユーザの前記運動動作に対する慣れの度合いを示す熟練度情報と、を記憶する記憶手段と、前記記憶手段から、前記レッスン情報に表される運動レッスンに参加する複数の前記ユーザの前記熟練度情報を取得する第1取得手段と、前記第1取得手段によって取得された前記熟練度情報に基づいて、前記熟練度情報を順位付けした熟練順位を決定する決定手段と、前記決定手段によって決定された前記熟練順位に従って、仮想空間内に配置する複数の前記キャラクタのそれぞれに対し、前記熟練度情報を割り付ける割付手段と、前記割付手段によって前記熟練度情報が割り付けられた前記キャラクタのうち、前記熟練度情報に応じた前記熟練順位が高い側の前記キャラクタほど、前記表示部に優先的に表示されるようにした前記キャラクタの前記運動映像を生成する生成手段と、を備える運動支援装置が提供される。
【0009】
複数のユーザが参加する運動レッスンにおいて、各ユーザの慣れの度合い(以下、「熟練度」ともいう。)が異なっても、熟練度情報が割り付けられた複数のキャラクタを映し出した運動映像を表示することで、ユーザの熟練度に合うキャラクタを手本に運動動作を行うことができる。このため、ユーザ間の熟練度が異なっても、熟練度の低いユーザがとまどうことなく、また、熟練度の高いユーザがもてあますことなく、運動動作を行うことができる。さらに、熟練順位の高いキャラクタを優先的に表示することで、より多くのユーザの熟練度に合うキャラクタを、全参加ユーザの手本とすることができる。
【0010】
本発明の第1態様の前記記憶手段は、仮想空間内に配置する前記キャラクタそれぞれの配置位置を示す位置情報をさらに記憶してもよい。前記位置情報に示される前記キャラクタの配置位置には、前記運動映像の生成において前記表示部に優先的に表示される配置位置を順位付けする位置順位があらかじめ設定されてもよい。前記生成手段は、前記記憶手段の前記位置情報に基づき、前記キャラクタの前記位置順位が高い側の配置位置ほど、前記熟練順位の高い側の前記キャラクタを配置して、前記キャラクタの前記運動映像を生成してもよい。表示部に優先的に表示される配置位置を位置順位で設定すれば、位置順位の高い配置位置に熟練順位の高いキャラクタを配置するだけで、熟練順位の高いキャラクタを、優先的に、表示部に表示することができる。
【0011】
本発明の第1態様において、前記記憶手段は、仮想空間内に配置する複数の前記キャラクタそれぞれの配置位置および前記キャラクタを映し出す視点の視点位置を示す位置情報をさらに記憶してもよい。前記生成手段は、前記記憶手段の前記位置情報に基づき、前記熟練順位の高い側の前記キャラクタほど、前記表示部の中央付近に表示されるように前記視点の前記視点位置を変更して、前記キャラクタの前記運動映像を生成してもよい。熟練順位の高いキャラクタが表示部の中央付近に表示されるように視点位置を変更すれば、キャラクタの配置位置を調整せずとも熟練順位の高いキャラクタを、優先的に、表示部に表示することができる。
【0012】
本発明の第1態様において、前記決定手段は、前記熟練度情報に示される前記慣れの度合いが同じ前記ユーザの数が多い順に前記熟練度情報を順位付けした前記熟練順位を決定してもよい。熟練度の段階が同じであるユーザの数が最も多い段階の熟練度が、熟練順位において最も高い順位となるので、熟練順位の高いキャラクタを優先的に表示すれば、より多くのユーザの熟練度に合うキャラクタを、全参加ユーザの手本とすることができる。
【0013】
本発明の第1態様において、前記決定手段は、前記熟練度情報に示される前記慣れの度合いが同じ前記ユーザの数が同数の前記熟練情報がある場合には、前記慣れの度合いが高い側の前記熟練度情報の前記熟練順位を高くしてもよい。熟練度は運動動作に慣れることによって上達するので、同条件において熟練度の高い側の熟練順位を高くして、その熟練度のキャラクタを優先的に表示することで、熟練度の高い側のキャラクタを手本にして運動動作を行うことができ、熟練度の低い側のキャラクタを手本にして運動動作を行う場合よりも、ユーザの運動動作に対する慣れの度合いをより高めやすい。
【0014】
本発明の第1態様において、前記熟練度情報は、前記運動レッスンに含まれる、少なくとも1種類以上の前記運動動作のそれぞれについて、設けられてもよい。第1態様は、前記決定手段による前記熟練度情報の決定と、前記割付手段による前記熟練度情報の割付と、前記生成手段による前記運動映像の生成とを、前記運動レッスンに含まれる前記運動動作のそれぞれに対して行われるように制御する制御手段をさらに備えてもよい。運動レッスンに含まれる運動動作の種類によってユーザの熟練度が異なっても、運動動作のそれぞれについて熟練順位の高い熟練度のキャラクタを手本として表示すれば、どの運動動作であっても、より多くのユーザの熟練度に合うキャラクタを、全参加ユーザの手本とすることができる。
【0015】
本発明の第1態様は、前記運動レッスンに参加する前記ユーザそれぞれの前記熟練度情報を更新する更新手段をさらに備えてもよい。熟練度情報を更新してユーザの熟練度をより高め、高い熟練度に合ったキャラクタを次の運動レッスンにおいて手本とすることで、運動動作に対するさらなる上達を図ることができる。
【0016】
本発明の第1態様は、前記運動映像に映し出す前記キャラクタの数を取得する第2取得手段をさらに備えてもよい。運動映像に映し出すキャラクタの数を取得することで、運動動作の内容やユーザの数に応じて最適な数のキャラクタを表示部に表示することができる。
【0017】
本発明の第2態様によれば、仮想空間内で身体部位を動作させる運動動作を行う複数のキャラクタの前記運動動作を表す、少なくとも1種類以上の運動情報と、前記運動情報を組み合わせてなる、少なくとも1種類以上のレッスン情報と、ユーザの前記運動動作に対する慣れの度合いを示す熟練度情報と、を記憶する記憶手段と、前記キャラクタを映し出した運動映像を所定の表示部に対し出力する出力手段と、を備えるコンピュータで実行され、前記運動映像を前記表示部に表示して前記ユーザの運動を支援する運動支援方法であって、前記記憶手段から、前記レッスン情報に表される運動レッスンに参加する複数の前記ユーザの前記熟練度情報を取得する第1取得ステップと、前記第1取得ステップによって取得された前記熟練度情報に基づいて、前記熟練度情報を順位付けした熟練順位を決定する決定ステップと、前記決定ステップによって決定された前記熟練順位に従って、仮想空間内に配置する複数の前記キャラクタのそれぞれに対し、前記熟練度情報を割り付ける割付ステップと、前記割付ステップによって前記熟練度情報が割り付けられた前記キャラクタのうち、前記熟練度情報に応じた前記熟練順位が高い側の前記キャラクタほど、前記表示部に優先的に表示されるようにした前記キャラクタの運動映像を生成する生成ステップと、を含む運動支援方法が提供される。
【0018】
本発明の第3態様によれば、仮想空間内で身体部位を動作させる運動動作を行う複数のキャラクタの前記運動動作を表す、少なくとも1種類以上の運動情報と、前記運動情報を組み合わせてなる、少なくとも1種類以上のレッスン情報と、ユーザの前記運動動作に対する慣れの度合いを示す熟練度情報と、を記憶する記憶手段と、前記キャラクタを映し出した運動映像を所定の表示部に対し出力する出力手段と、を備え、前記運動映像を前記表示部に表示して前記ユーザの運動を支援する運動支援装置として機能させるためのプログラムであって、コンピュータに、前記記憶手段から、前記レッスン情報に表される運動レッスンに参加する複数の前記ユーザの前記熟練度情報を取得する第1取得ステップと、前記第1取得ステップによって取得された前記熟練度情報に基づいて、前記熟練度情報を順位付けした熟練順位を決定する決定ステップと、前記決定ステップによって決定された前記熟練順位に従って、仮想空間内に配置する複数の前記キャラクタのそれぞれに対し、前記熟練度情報を割り付ける割付ステップと、前記割付ステップによって前記熟練度情報が割り付けられた前記キャラクタのうち、前記熟練度情報に応じた前記熟練順位が高い側の前記キャラクタほど、前記表示部に優先的に表示されるようにした前記キャラクタの運動映像を生成する生成ステップと、を実行させるプログラムが提供される。
【0019】
第2態様に係る運動支援方法に従う処理をコンピュータで実行することによって、あるいは、第3態様に係るプログラムを実行してコンピュータを運動支援装置として機能させることで、第1態様と同様の効果を得ることができる。
【図面の簡単な説明】
【0020】
【図1】運動支援装置1の全体の構成を模式的に示す図である。
【図2】HDD3の各記憶エリアの概念的な構成を示す図である。
【図3】ユーザ情報テーブル36を示す図である。
【図4】レッスン情報テーブル37を示す図である。
【図5】モーションデータ対応テーブル38を示す図である。
【図6】モーション管理テーブル42を示す図である。
【図7】三次元仮想空間80について説明するための図である。
【図8】運動支援プログラムのフローチャートである。
【図9】レッスン実行処理のフローチャートである。
【発明を実施するための形態】
【0021】
以下、本発明を具体化した一実施の形態について、運動支援装置1を例に、図面を参照して説明する。なお、参照する図面は、本発明が採用しうる技術的特徴を説明するために用いられるものであり、記載されている装置の構成、各種処理のフローチャートなどは、それのみに限定する趣旨ではなく、単なる説明例である。
【0022】
まず、図1を参照し、運動支援装置1の概略的な構成について説明する。図1に示す、運動支援装置1は、例えばフィットネスクラブなどのスポーツ施設4に設置される。運動支援装置1は、モニタ2の表示部21に運動映像を表示して、複数人(本実施の形態では10人)のユーザU01〜U10がそれぞれの身体部位を動作させる運動動作を支援する。
【0023】
運動支援装置1は、後述する運動支援プログラムの実行に従って、運動動作を行う複数のキャラクタ(本実施の形態ではキャラクタの数を7(体)として説明する。以下、「アバター」とよぶ。)A0〜A6を映し出した運動映像を生成し、表示部21に表示する。その際に運動支援装置1は、運動映像の表示に合わせて運動動作のテンポに応じた楽曲を再生する。スポーツ施設4のユーザU01〜U10は、表示部21に表示された運動映像を手本に、楽曲のテンポに合わせ、各自の身体部位を動作させる運動を行う。
【0024】
運動支援装置1は、周知のパーソナルコンピュータ(PC)により構成され、運動支援装置1の制御を司るCPU11を備える。CPU11は、バス14を介し、ROM12、RAM13、入出力(I/O)インタフェイス17が接続されている。ROM12は、CPU11が実行するBIOS等のプログラムを記憶する読出し専用の記憶装置である。RAM13は、データを一時的に記憶する読み書き可能な記憶装置である。
【0025】
入出力インタフェイス17には、ディスクドライブ18、出力制御部15、入力制御部16、およびハードディスクドライブ(HDD)3が、電気的に接続されている。ディスクドライブ18は、例えばCD−ROMやDVD−ROMなど、データが記憶された記憶媒体であるディスクROM19が挿入されると、ディスクROM19からデータやプログラム等の読み込みを行うものである。PCを運動支援装置1として稼働させるためのOSやプログラム等が、ディスクROM19に記憶されて提供される。また、後述する運動支援プログラムも、ディスクROM19に記憶されて提供される。
【0026】
出力制御部15は、運動支援装置1で稼働されるOSやプログラム等の操作画面や、アバターA0〜A6を映し出した運動映像を、スポーツ施設4に設置されるモニタ2の表示部21に表示するための描画処理を行う。また、出力制御部15は、アバターA0〜A6を映し出した運動映像に合わせて再生される楽曲をモニタ2のスピーカ22から出力する制御を行う。
【0027】
入力制御部16は、運動支援装置1の操作を行うマウス23やキーボード24等の入力デバイスが接続される。マウス23やキーボード24は、後述する運動支援プログラムの実行においては、情報の入力やプログラムにおける操作に用いられる。
【0028】
記憶装置であるHDD3には、ディスクROM19から読み出されたOSやプログラム等がインストールされる。なお、OSやプログラム等は、フラッシュROMなど、その他の記憶媒体に記憶されて提供されてもよく、運動支援装置1は、これらの記憶媒体の読取装置を備えてもよい。あるいは、図示しないが、ネットワークインタフェイスを介して接続されるネットワーク上の端末からダウンロードにより提供されてもよい。
【0029】
次に、図2〜図6を参照し、HDD3の記憶エリアの詳細について説明する。図2に示すように、HDD3には、プログラム記憶エリア31、モーションデータ記憶エリア32、テクスチャデータ記憶エリア33、配置位置情報記憶エリア34、および視点位置情報記憶エリア35の各記憶エリアが設けられている。また、HDD3には、データベース用の記憶エリアが設けられ、ユーザ情報テーブル36、およびレッスン情報テーブル37、モーションデータ対応テーブル38、熟練度換算テーブル39、視点位置指定テーブル41、モーション管理テーブル42の各テーブルが関連付けられてデータベースが構築されている。HDD3には、図示しない、その他各種の記憶エリアも設けられている。さらに図示しないが、運動映像とともに再生される楽曲のデータ(MIDIやWAV、MP3等の形式のデータ)も、所定の記憶エリアに記憶されている。
【0030】
プログラム記憶エリア31には、後述する運動支援プログラムや、運動支援プログラムで使用されるデータやフラグの初期値などが記憶される。モーションデータ記憶エリア32には、後述する三次元仮想空間80(図7参照)内に配置されるアバターA0〜A6に、具体的な運動動作(モーション)を行わせるためのモーションデータが記憶される。例えば、その場で足踏みをする運動動作のモーションデータは、アバターA0〜A6に、「右足を上げる」、「右足を下ろす」、「左足を上げる」、「左足を下ろす」という小単位の各動作を順に繰り返して行わせるデータである。モーションデータには、アバターA0〜A6の各身体部位の座標データ、同様に各身体部位に対応した細部の座標データが含まれる。
【0031】
さらに、同一のモーションについて、複数種類のパターンの異なるモーションデータが用意されている。具体的には、モーションごとに6種類のパターンのモーションデータが用意されている。後述するが、ユーザU01〜U10には各モーションに対する熟練度(慣れの度合いを数値化したもの)が設定される。本実施の形態では、5段階の熟練度が設定され、熟練度の各段階に応じた5種類のパターンのモーションデータが用意される。低い熟練度に応じたパターンのモーションデータは、アバターA1〜A6の行う運動動作の動きが、ぎこちない動き(動作の手順を間違えたり動作のタイミングが遅れたりする動き)を示すように構成されたデータである。熟練度の段階が高くなるほど、アバターA1〜A6の行う運動動作の動きがよりスムーズな動き(動作の手順が精確で動作のタイミングが運動のテンポに合う動き)を示すように、各段階のモーションデータが構成されている。また、アバターA0は、模範動作を行う(手本の)アバターとして設定されている。アバターA0の行う運動動作のモーションデータは、アバターA1〜A6に割り当てられるモーションデータとは異なり、その動きが、最もスムーズな動きを示すように構成されている。
【0032】
テクスチャデータ記憶エリア33には、7体のアバターA0〜A6のそれぞれに対応したテクスチャデータが記憶されている。配置位置情報記憶エリア34には、後述する三次元仮想空間80(図7参照)内で、アバターA0〜A6をそれぞれ配置する際の配置位置を示す位置情報(図7における配置位置P0〜P6等の位置座標)が記憶されている。アバターの配置位置を示す位置情報は、アバターの数(本実施の形態では7)に応じてそれぞれ用意されている。視点位置情報記憶エリア35には、運動映像が生成される際に、後述する三次元仮想空間80内で、アバターA0〜A6を撮影するための視点の配置位置を示す位置情報(図7における視点V0,V1,V2等の位置座標)が記憶されている。視点の配置位置の位置情報には、各視点に仮想的に配置される仮想カメラ81(図7参照)の視線方向82や画角などの情報も含まれる。
【0033】
ユーザ情報テーブル36は、図1のユーザU01〜U10を含む、運動支援装置1の利用者のユーザ情報が記録されるテーブルである。図3に示すように、ユーザ情報テーブル36には、ユーザ名と、モーションごとに、そのモーションを過去に行った実行回数と、そのモーションに対する熟練度とが、ユーザIDに関連付けて記憶される。
【0034】
レッスン情報テーブル37は、運動レッスンの種類や内容に応じて運動動作(モーション)を組み合わせた情報を示すテーブルである。図4に示すように、レッスン情報テーブル37には、運動レッスンを表すレッスン情報と、運動レッスンに含まれるモーションを表す運動情報と、モーションを識別するためのモーションIDとが関連付けられている。運動レッスンとは、所定の運動目的を達成するために効果的な1つ以上のモーションを組み合わせ、実行順を指定することで、一連の運動動作が行われるようにしたものである。
【0035】
モーションデータ対応テーブル38は、図5に示すように、モーションごとの熟練度の段階と、モーションデータのパターンとを対応付けたテーブルである。上記したように、本実施の形態では5段階の熟練度が設定されており、各モーションには、各段階のモーションデータをモーションデータ記憶エリア32から読み出すための識別情報(データ名)がそれぞれ対応付けられている。また、アバターA0は手本となるアバターであるので、熟練度「EX(excellent)」として、各モーションにそれぞれ専用のモーションデータが用意されている。
【0036】
熟練度換算テーブル39は、ユーザU01〜U10が、モーションを過去に行った実行回数に基づき、そのモーションに対する熟練度を設定するためのテーブルである。具体的に、実行回数「0〜1」の場合は熟練度「1」、実行回数「2〜3」の場合は熟練度「2」、実行回数「4〜6」の場合は熟練度「3」、実行回数「7〜9」の場合は熟練度「4」、実行回数「10以上」の場合熟練度「5」がそれぞれ対応付けられている。後述する運動支援プログラムにおいて、各ユーザU01〜U10の実行回数が加算される際に、熟練度換算テーブル39が参照されて、熟練度が更新される。
【0037】
視点位置指定テーブル41は、後述する三次元仮想空間80(図7参照)内で、アバターA0〜A6を撮影するための視点を、熟練順位に応じて指定するためのテーブルである。なお、熟練順位とは、後述の運動支援プログラムにおいて、熟練度の段階ごとに、その熟練度を有するユーザの数を集計し、多い順に順位付けしたものでる。運動支援プログラムでは、アバターA0〜A6のすべてを撮影可能な視点と、熟練順位の高いアバターが画面の中央付近に表示される構図で撮影可能な視点とが、運動内容(動作の激しさや経過時間など)に応じて、あるいはオペレータの操作によって、適宜切り替えられて、運動映像が生成される。視点は、例えば図7の三次元仮想空間80の場合、アバターA0〜A6を撮影可能な複数箇所に設定され(図中、各視点を黒四角で示す。)、その視点位置を示す位置情報が視点位置情報記憶エリア35に記憶されている。なお、各視点には、視線方向82および画角が設定された仮想カメラ81が配置されているものとする(図中、そのうちの3つを示す。)。
【0038】
上記したように、配置位置情報記憶エリア34に記憶される配置位置を示す位置情報には、アバターA0〜A6を配置する際の順位を示す、位置順位が設定されている。具体的に、アバターの数が7の場合は、図7の三次元仮想空間80における配置位置P1,P2,・・・,P6の順に、位置順位が設定されている。なお、配置位置P0には、手本となるアバターA0が配置されるため、位置順位の設定からは除外される。配置位置P1,P2は、視点からみた配置位置P0よりもよりも後方の列にて配置位置P0を挟むように位置決めされている。配置位置P3〜P6は、視点からみた配置位置P1,P2よりもさらに後方の列にて、配置位置P1,P2の並びと平行となるように位置決めされている。このように、位置順位の高い配置位置ほど、手本となるアバターA0が配置される配置位置P0に近い位置となる。後述する運動支援プログラムにおいて生成される運動映像では、手本のアバターA0を中心に全アバターA0〜A6が撮影されるため、位置順位の高い配置位置に配置されるアバターほど、優先的に、運動映像に表示される。
【0039】
アバターの数が7の場合、後述する運動支援プログラムでは、図7の三次元仮想空間80において、アバターA1〜A6が、それぞれ、位置順位順に、配置位置P1〜P6に配置される。アバターA1〜A6の熟練度は、熟練順位の高い順に設定される。よって、熟練順位の最も高いアバターA1を中心付近に表示する構図を撮影可能な視点V1が、視点位置指定テーブル41において、アバターの数である7(体)に対して、対応付けられている。
【0040】
上記したように、アバターの配置位置の位置情報は、アバターの数に応じてそれぞれ用意されている。したがって、アバターの数が異なれば、熟練順位の高いアバターの配置位置も、上記の7体の場合とは異なる位置となるため、視点位置も、あらかじめアバターの数に対応付けられて、設定されている。例えば、アバターの数が3の場合に、配置位置P2付近に設定される図示外の配置位置の位置順位が最も高く設定されていれば、その配置位置に配置されるアバターを中心付近に表示する構図を撮影可能な視点V2が、視点として決定されるように、視点位置指定テーブル41において対応付けられている。なお、視点V0は、手本のアバターA0を中心に全アバターA0〜A6を撮影するデフォルトの視点として設定されている。
【0041】
モーション管理テーブル42は、後述する運動支援プログラムの実行において、一時的に作成されて、各種情報が記録されるテーブルである。上記の各テーブルが参照されることにより、運動レッスンに含まれるモーションごとに、各アバターA0〜A6に対して割り当てられるモーションデータや熟練度、テクスチャデータなどの情報が、モーション管理テーブル42に記録される。運動支援プログラムにおいて、このモーション管理テーブル42が作成され、作成されたモーション管理テーブル42に基づいて、運動映像が生成される。
【0042】
次に、運動支援装置1において運動映像が生成される過程について簡単に説明する。運動映像の生成は、以下のように行われる。配置位置情報記憶エリア34の参照によりアバターの数に応じた配置位置P0〜P6の位置情報が読み出され、図7に示す、三次元仮想空間80内に配置位置P0〜P6が設定されて、アバターA0〜A6が配置される。そして、各アバターA0〜A6に、モーションデータに基づく運動動作を行わせる。仮想カメラ81によって運動動作を行うアバターA0〜A6を所定の時間ごとに撮影し、公知のアフィン変換によって、二次元の画像に変換する。運動映像とは、このように運動動作を行うアバターA0〜A6を撮影した画像が、時系列に沿って連続的に表示されたものである。
【0043】
以下、図1〜図7を適宜参照しながら、図8,図9を参照し、運動支援装置1において実行される運動支援プログラムの動作について説明する。以下、フローチャートの各ステップを「S」と略記する。なお、以下の処理はCPU11により実行される。また、プログラムの実行中に一時的に生成されるデータは、RAM13やHDD3に確保されるモーション管理テーブル42、その他データ処理用の記憶エリアに一時的に記憶される。
【0044】
運動支援装置1のオペレータ(ユーザや図示しないインストラクタなど)によって運動支援装置1が操作され、図8に示す、運動支援プログラムの実行が開始されると、図示しない初期設定処理が行われる。初期設定処理では、RAM13に、運動支援プログラムの各処理に応じた記憶エリアが確保される。三次元仮想空間80を仮想的に構築するための記憶エリアも確保される。また、プログラム内で使用される変数(例えば変数M,N,iなど)やフラグ、カウンタ等の初期化が行われる。
【0045】
モニタ2の表示部21に運動支援プログラムの操作画面(図示外)が表示され、オペレータの操作により、運動レッスンに参加するユーザU01〜U10の参加登録が行われる。マウス23やキーボード24による入力、あるいは図示しないカードリーダ等によるユーザカード等の読み込みにより、ユーザ名など、ユーザU01〜U10を特定するための情報が入力される。そして、入力されたユーザU01〜U10の情報をもとに、ユーザ情報テーブル36から、ユーザIDが読み込まれ、RAM13に記憶される(S10)。
【0046】
次に、レッスン情報テーブル37(図4参照)にデータのある各レッスン情報と、それぞれのレッスン情報に含まれる運動情報とが読み込まれる。操作画面において、レッスン情報の一覧が表示され、オペレータにより、所望の運動情報が組み合わされたレッスン情報が選択される。選択されたレッスン情報と、そのレッスン情報に含まれる運動情報とは、モーション管理テーブル42に記録される(S11)。さらに、レッスン情報に含まれる運動情報の数が求められ、変数Mに代入される。また、各運動情報のモーションIDも読み込まれ、モーション管理テーブル42に記録される。
【0047】
操作画面において、オペレータによるサブアバターの数の入力がなされる(S12)。サブアバターとは、手本となるアバターA0を除くアバターの数であり、本実施の形態の場合、6である。入力されたアバターの数に応じたアバターIDが生成される(S13)。手本となるアバターA0用のIDは「0」が規定されており、アバターの数である6を満たすID「1」〜ID「6」が生成され、モーション管理テーブル42に記録される。
【0048】
次に、図9に示す、レッスン実行処理のサブルーチンがコールされる(S15)。図9に示すように、レッスン実行処理では、まず、変数iに1が代入される(S20)。モーション管理テーブル42が参照され、i番目のモーションのモーションIDが読み込まれてRAM13に記憶される(S21)。ユーザ情報テーブル36が参照され、S10でRAM13に記憶された各ユーザIDのそれぞれにおける、i番目のモーションのモーションIDに対応する熟練度が読み込まれ、RAM13に、ユーザIDと対応付けて記憶される(S22)。
【0049】
次に、S22で取得された熟練度の段階ごとに、その熟練度を有するユーザの数が集計される(S23)。例えば、モーションIDがM1であるモーションに対するユーザU01〜U10の熟練度は、順に、「5」「4」「3」「4」「5」「4」「4」「3」「2」「1」である(図3参照)。熟練度の各段階について集計すると、熟練度「5」は2名、「4」は4名、「3」は2名、「2」は1名、「1」は1名となる。
【0050】
集計された熟練度に対し、ユーザ数の多い順に、熟練順位が設定される(S25)。上記の例では、熟練度「4」が4名であり、熟練順位は1位に設定される。熟練度「5」と「3」は共に2名ずつであり、この場合、熟練度の高い方が、熟練順位も高く設定される。よって、熟練度「5」の熟練順位が2位に設定され、熟練度「3」の熟練順位が3位に設定される。同様に、熟練度「2」が4位に設定され、熟練度「1」が5位に設定される。
【0051】
熟練度の熟練順位が設定されたら、S13で生成されたアバターID「1」〜ID「6」に順に、位置順位の順に従う熟練度が設定される(S26)。例えば上記例の場合、アバターID「1」には、熟練順位は1位の熟練度「4」が設定される。同様に、アバターID「2」〜「5」に順に、熟練順位2〜5位の熟練度「5」「3」「2」「1」が設定される。そして、熟練順位は5位までであり、熟練順位の数を超えるアバターには、熟練順位の1位から順に繰り返して設定される。すなわち、アバターID「6」には、熟練順位は1位の熟練度「4」が設定される。なお、上記したようにアバターID「0」は手本となるアバターA0であり、熟練度は「EX」が設定されるため、上記の設定対象から除外される。設定された熟練度は、モーション管理テーブル42に記録される。
【0052】
次に、各アバターA0〜A6に、画像情報が設定される(S27)。テクスチャデータ記憶エリア33から、各アバターA0〜A6に対応するテクスチャデータを識別するための識別情報(データ名)が読み出され、モーション管理テーブル42に記録される。さらに、モーションデータ対応テーブル38から、モーションIDと熟練度とに対応付けられたモーションデータの識別情報が読み出され、モーション管理テーブル42に記録される。
【0053】
配置位置情報記憶エリア34が参照され、S12で入力されたサブアバターの数と、手本となるアバターA0とを合計したアバター全体の数に応じた配置位置を有する位置情報が読み出される(S28)。また、視点位置情報記憶エリア35の参照により、配置位置の位置情報に応じて、熟練順位の高いアバターを中央付近に表示する構図の運動映像を撮影可能な視点(ここでは視点V1)と、デフォルトの視点V0との位置情報が読み出され、モーション管理テーブル42に記録される。そして、RAM13に確保された三次元仮想空間80に、配置位置の位置情報に応じて、各アバターA0〜A6が配置される(S31)。
【0054】
モーション管理テーブル42に基づき、各アバターA0〜A6のテクスチャデータがテクスチャデータ記憶エリア33から読み出され、各アバターA0〜A6に適用される。同様に、モーション管理テーブル42に基づき、各アバターA0〜A6のモーションデータがモーションデータ記憶エリア32から読み出され、各アバターA0〜A6に適用される。そして、デフォルトの視点V0の位置情報が視点位置情報記憶エリア35から読み出され、仮想カメラ81が仮想的に設置される。アバターA0〜A6によるi番目のモーションが実行され、手本のアバターA0を中心に全アバターA0〜A6が表示される運動映像が生成されて、モニタ2の表示部21に表示(再生)される(S32)。
【0055】
運動映像の生成および再生は、i番目のモーションの実行が終了するまで継続される(S33:NO,S36:NO,S33)。モーションの実行中に、オペレータの操作により、視点位置を変更する指示が出された場合には(S33:YES)、モーション管理テーブル42が参照されて、現在の視点V0から変更可能な視点V1の位置情報が読み出される。そして、視点V1に設置された仮想カメラ81により、熟練順位の最も高いアバターA1を中心付近に表示した構図の運動映像が生成され(S35)、S36に進む。
【0056】
i番目のモーションの実行が終了したら(S36:YES)、モーションIDに基づき、ユーザ情報テーブル36において、運動レッスンに参加したユーザU01〜U10それぞれの実行回数が1加算される。このとき、それぞれの熟練度についても、熟練度換算テーブル39の参照により更新される(S37)。
【0057】
ここで、変数iと変数Mとが一致するか否か確認される(S38)。レッスン情報に含まれる運動情報の数を示す変数Mと、実行が終了したばかりのモーションの実行順とが一致しなければ(S38:NO)、次の順番のモーションについてS21〜S37の処理を行うため、変数iをインクリメントして(S40)、S21に戻る。S21〜S40が繰り返されるうちに、変数Mと、変数iとが一致すれば(S38:YES)、運動レッスンに含まれるすべてのモーションの実行が終了したとして、レッスン実行処理を終了して図8のメインルーチンに戻り、S16に進む。
【0058】
操作画面において、オペレータの操作による運動支援プログラムの終了指示がなければ(S16:NO)、S11に戻り、次の運動レッスンを続けて行うため、レッスン情報の一覧が表示される。一方、S16において、オペレータの操作により、運動支援プログラムの終了指示がなされれば(S16:YES)、運動支援プログラムの実行が終了される。
【0059】
以上説明したように、本実施の形態の運動支援装置1では、複数のユーザが参加する運動レッスンにおいて、各ユーザの熟練度が異なっても、熟練度が割り付けられた複数のアバターを映し出した運動映像を表示することで、ユーザの熟練度に合うアバターを手本にモーションを行うことができる。このため、ユーザ間の熟練度が異なっても、熟練度の低いユーザがとまどうことなく、また、熟練度の高いユーザがもてあますことなく、モーションを行うことができる。さらに、熟練順位の高いアバターを優先的に表示することで、より多くのユーザの熟練度に合うアバターを、全参加ユーザの手本とすることができる。
【0060】
また、表示部に優先的に表示される配置位置を位置順位で設定すれば、位置順位の高い配置位置に熟練順位の高いアバターを配置するだけで、熟練順位の高いアバターを、優先的に、表示部に表示することができる。あるいは、熟練順位の高いアバターが表示部の中央付近に表示されるように視点位置を変更すれば、アバターの配置位置を調整せずとも熟練順位の高いアバターを、優先的に、表示部に表示することができる。そして、熟練度の段階が同じであるユーザの数が最も多い段階の熟練度が、熟練順位において最も高い順位となるので、熟練順位の高いアバターを優先的に表示すれば、より多くのユーザの熟練度に合うアバターを、全参加ユーザの手本とすることができる。
【0061】
また、熟練度はモーションに慣れることによって上達するので、同条件において熟練度の高い側の熟練順位を高くして、その熟練度のアバターを優先的に表示することで、熟練度の高い側のアバターを手本にしてモーションを行うことができる。ゆえに、熟練度の低い側のアバターを手本にしてモーションを行う場合よりも、ユーザのモーションに対する慣れの度合いをより高めやすい。また、運動レッスンに含まれるモーションの種類によってユーザの熟練度が異なっても、モーションのそれぞれについて熟練順位の高い熟練度のアバターを手本として表示すれば、どのモーションであっても、より多くのユーザの熟練度に合うアバターを、全参加ユーザの手本とすることができる。
【0062】
また、熟練度情報を更新してユーザの熟練度をより高め、高い熟練度に合ったアバターを次の運動レッスンにおいて手本とすることで、モーションに対するさらなる上達を図ることができる。また、運動映像に映し出すアバターの数を取得することで、モーションの内容やユーザの数に応じて最適な数のアバターを表示部に表示することができる。
【0063】
なお、上記の実施形態に示される運動支援装置1の構成は例示であり、本発明は各種の変形が可能なことは言うまでもない。本実施の形態では、三次元仮想空間80においてモーションを実行するアバターA0〜A6を撮影して運動映像を生成したが、二次元の仮想空間において描画されるアバターを撮影して運動映像を生成してもよい。この場合の視点位置の変更は、運動映像内に表示されるアバターの表示位置を適宜調整することによって行えばよい。また、S12においてサブアバターの数を入力できるようにしたが、サブアバターの数は、あらかじめ決められた所定数であってもよい。
【0064】
本実施の形態では、三次元仮想空間における配置位置には、配置位置に設定された位置順位の順に、アバターがID順に配置された。そして、各アバターに、ID順に、熟練度が、熟練順位の順に設定された。言い換えると、三次元仮想空間にアバターが配置される配置位置に位置順位があり、位置順位の順と熟練順位の順が一致する配置位置のアバターに、熟練順位に応じた熟練度が付与された。すなわち、同じ配置位置に同じテクスチャデータのアバターが配置され、アバターの熟練度が、ユーザの熟練度に基づく熟練順位に応じて変化する形態である。
【0065】
これに限らず、例えば、アバターのIDごとに、あらかじめ、そのアバターの熟練度が設定されていてもよい。この場合、熟練度の熟練順位に従ってアバターが順位付けられることになる。よって、配置位置の位置順位に合わせ、熟練度の熟練順位に従うアバターを配置させてもよい。言い換えると、各アバターにあらかじめ熟練度が設定されており、配置位置の位置順位の順と、熟練順位の順とが一致する熟練度を持ったアバターが、対応する配置位置に配置されてもよい。すなわち、同じ熟練度に同じテクスチャデータのアバターが設定され、アバターの配置位置が、ユーザの熟練度に基づく熟練順位に応じて変化する形態であってもよい。なお、この場合、位置順位の数より熟練順位の数(つまり熟練度の段階数)が少なければ、本実施の形態と同様に、熟練度の段階が高い順に繰り返してアバターの配置を行えばよいが、その際に、重複するアバターのテクスチャデータを別途用意することが望ましい。
【0066】
また、位置順位を設けず、配置位置の位置情報のみを有して、各アバターを各配置位置にランダムに配置させてもよい。この場合、それぞれの配置位置に配置されるアバターが中央付近に表示される構図の運動映像を撮影可能な視点をそれぞれ設定するとよい。そして、熟練順位の高いアバターが画面の中央付近に表示される視点を選択し、その視点から撮影した運動映像を生成すればよい。もちろん、視点の視線方向82や画角は任意に変更できるようにしてもよい。そして、視線方向82と画角の変更によって、熟練順位の高いアバターが画面の中央付近に表示される運動映像を撮影してもよい。
【0067】
また、本実施の形態では、熟練順位の高いアバターが画面の中央付近に表示される視点を選択することで、対象のアバターが優先的に表示されるようにしたが、運動映像に表示される頻度や時間が他のアバターよりも高くあるいは長くなるようにして、対象のアバターが優先的に表示されるようにしてもよい。また、画面の中央付近に表示されなくとも、対象のアバターがズームイン(アップ)で表示されるようにして、あるいは、画面内における表示の占有率を高くして、対象のアバターが優先的に表示されるようにしてもよい。なお、本実施の形態において示したアバターの数やユーザの数は一例であって、その数に限定するものではない。
【0068】
なお、本実施の形態においては、HDD3が、「記憶手段」に相当する。S22でユーザU01〜U10の熟練度を取得するCPU11が、「第1取得手段」に相当する。S25で熟練順位を決定するCPU11が、「決定手段」に相当する。S26でアバターA1〜A6に熟練度を割り付けるCPU11が、「割付手段」に相当する。S32で運動映像を生成するCPU11が、「生成手段」に相当する。S38で変数iと変数Mとを比較して一致しなければS40で変数iをインクリメントしてS21に戻ることにより、S25、S26、S32が繰り返されるように制御するCPU11が、「制御手段」に相当する。S37でユーザU01〜U10の熟練度を更新するCPU11が、「更新手段」に相当する。S12でサブアバターの数を取得するCPU11が、「第2取得手段」に相当する。
【符号の説明】
【0069】
1 運動支援装置
3 HDD
11 CPU
21 表示部
31 プログラム記憶エリア
32 モーションデータ記憶エリア
33 テクスチャデータ記憶エリア
34 配置位置情報記憶エリア
35 視点位置情報記憶エリア
36 ユーザ情報テーブル
37 レッスン情報テーブル
38 モーションデータ対応テーブル
39 熟練度換算テーブル
41 視点位置指定テーブル
42 モーション管理テーブル
80 三次元仮想空間

【特許請求の範囲】
【請求項1】
仮想空間内で身体部位を動作させる運動動作を行う複数のキャラクタを映し出した運動映像を所定の表示部に表示してユーザの運動を支援する運動支援装置であって、
複数の前記キャラクタが行う前記運動動作を表す、少なくとも1種類以上の運動情報と、前記運動情報を組み合わせてなる、少なくとも1種類以上のレッスン情報と、前記ユーザの前記運動動作に対する慣れの度合いを示す熟練度情報と、を記憶する記憶手段と、
前記記憶手段から、前記レッスン情報に表される運動レッスンに参加する複数の前記ユーザの前記熟練度情報を取得する第1取得手段と、
前記第1取得手段によって取得された前記熟練度情報に基づいて、前記熟練度情報を順位付けした熟練順位を決定する決定手段と、
前記決定手段によって決定された前記熟練順位に従って、仮想空間内に配置する複数の前記キャラクタのそれぞれに対し、前記熟練度情報を割り付ける割付手段と、
前記割付手段によって前記熟練度情報が割り付けられた前記キャラクタのうち、前記熟練度情報に応じた前記熟練順位が高い側の前記キャラクタほど、前記表示部に優先的に表示されるようにした前記キャラクタの前記運動映像を生成する生成手段と、
を備えることを特徴とする運動支援装置。
【請求項2】
前記記憶手段は、仮想空間内に配置する前記キャラクタそれぞれの配置位置を示す位置情報をさらに記憶し、
前記位置情報に示される前記キャラクタの配置位置には、前記運動映像の生成において前記表示部に優先的に表示される配置位置を順位付けする位置順位があらかじめ設定されており、
前記生成手段は、前記記憶手段の前記位置情報に基づき、前記キャラクタの前記位置順位が高い側の配置位置ほど、前記熟練順位の高い側の前記キャラクタを配置して、前記キャラクタの前記運動映像を生成することを特徴とする請求項1に記載の運動支援装置。
【請求項3】
前記記憶手段は、仮想空間内に配置する複数の前記キャラクタそれぞれの配置位置および前記キャラクタを映し出す視点の視点位置を示す位置情報をさらに記憶し、
前記生成手段は、前記記憶手段の前記位置情報に基づき、前記熟練順位の高い側の前記キャラクタほど、前記表示部の中央付近に表示されるように前記視点の前記視点位置を変更して、前記キャラクタの前記運動映像を生成することを特徴とする請求項1に記載の運動支援装置。
【請求項4】
前記決定手段は、前記熟練度情報に示される前記慣れの度合いが同じ前記ユーザの数が多い順に前記熟練度情報を順位付けした前記熟練順位を決定することを特徴とする請求項1から3のいずれかに記載の運動支援装置。
【請求項5】
前記決定手段は、前記熟練度情報に示される前記慣れの度合いが同じ前記ユーザの数が同数の前記熟練情報がある場合には、前記慣れの度合いが高い側の前記熟練度情報の前記熟練順位を高くすることを特徴とする請求項4に記載の運動支援装置。
【請求項6】
前記熟練度情報は、前記運動レッスンに含まれる、少なくとも1種類以上の前記運動動作のそれぞれについて、設けられており、
前記決定手段による前記熟練度情報の決定と、前記割付手段による前記熟練度情報の割付と、前記生成手段による前記運動映像の生成とを、前記運動レッスンに含まれる前記運動動作のそれぞれに対して行われるように制御する制御手段をさらに備えることを特徴とする請求項1から5のいずれかに記載の運動支援装置。
【請求項7】
前記運動レッスンに参加する前記ユーザそれぞれの前記熟練度情報を更新する更新手段をさらに備えることを特徴とする請求項1から6のいずれかに記載の運動支援装置。
【請求項8】
前記運動映像に映し出す前記キャラクタの数を取得する第2取得手段をさらに備えることを特徴とする請求項1から7のいずれかに記載の運動支援装置。
【請求項9】
仮想空間内で身体部位を動作させる運動動作を行う複数のキャラクタの前記運動動作を表す、少なくとも1種類以上の運動情報と、前記運動情報を組み合わせてなる、少なくとも1種類以上のレッスン情報と、ユーザの前記運動動作に対する慣れの度合いを示す熟練度情報と、を記憶する記憶手段と、
前記キャラクタを映し出した運動映像を所定の表示部に対し出力する出力手段と、
を備えるコンピュータで実行され、前記運動映像を前記表示部に表示して前記ユーザの運動を支援する運動支援方法であって、
前記記憶手段から、前記レッスン情報に表される運動レッスンに参加する複数の前記ユーザの前記熟練度情報を取得する第1取得ステップと、
前記第1取得ステップによって取得された前記熟練度情報に基づいて、前記熟練度情報を順位付けした熟練順位を決定する決定ステップと、
前記決定ステップによって決定された前記熟練順位に従って、仮想空間内に配置する複数の前記キャラクタのそれぞれに対し、前記熟練度情報を割り付ける割付ステップと、
前記割付ステップによって前記熟練度情報が割り付けられた前記キャラクタのうち、前記熟練度情報に応じた前記熟練順位が高い側の前記キャラクタほど、前記表示部に優先的に表示されるようにした前記キャラクタの運動映像を生成する生成ステップと、
を含む運動支援方法。
【請求項10】
仮想空間内で身体部位を動作させる運動動作を行う複数のキャラクタの前記運動動作を表す、少なくとも1種類以上の運動情報と、前記運動情報を組み合わせてなる、少なくとも1種類以上のレッスン情報と、ユーザの前記運動動作に対する慣れの度合いを示す熟練度情報と、を記憶する記憶手段と、
前記キャラクタを映し出した運動映像を所定の表示部に対し出力する出力手段と、
を備え、前記運動映像を前記表示部に表示して前記ユーザの運動を支援する運動支援装置として機能させるためのプログラムであって、
コンピュータに、
前記記憶手段から、前記レッスン情報に表される運動レッスンに参加する複数の前記ユーザの前記熟練度情報を取得する第1取得ステップと、
前記第1取得ステップによって取得された前記熟練度情報に基づいて、前記熟練度情報を順位付けした熟練順位を決定する決定ステップと、
前記決定ステップによって決定された前記熟練順位に従って、仮想空間内に配置する複数の前記キャラクタのそれぞれに対し、前記熟練度情報を割り付ける割付ステップと、
前記割付ステップによって前記熟練度情報が割り付けられた前記キャラクタのうち、前記熟練度情報に応じた前記熟練順位が高い側の前記キャラクタほど、前記表示部に優先的に表示されるようにした前記キャラクタの運動映像を生成する生成ステップと、
を実行させるプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate


【公開番号】特開2012−65942(P2012−65942A)
【公開日】平成24年4月5日(2012.4.5)
【国際特許分類】
【出願番号】特願2010−214830(P2010−214830)
【出願日】平成22年9月27日(2010.9.27)
【出願人】(000005267)ブラザー工業株式会社 (13,856)