以下、本発明の実施形態を図面に基づいて説明する。なお、以下に説明する実施の形態は、運動を支援するための運動コンテンツを生成する運動コンテンツ生成システムに本発明を適用した場合の実施形態である。運動コンテンツは、運動を支援するための映像及び音声を含む。
[1.運動コンテンツ生成システム1の構成]
始めに、図1を参照して、本実施形態の運動コンテンツ生成システム1の構成について説明する。図1は、本実施形態の運動コンテンツ生成システム1の概要構成例を示す図である。図1に示すように、運動コンテンツ生成システム1は、配信サーバ2と1つ以上の出力端末5とを含んで構成されている。配信サーバ2と出力端末5とは、ネットワーク10を介して接続可能になっている。ネットワーク10は、例えば、インターネットを含む。配信サーバ2には、データベース3が接続されている。データベース3には、運動に関する情報や楽曲に関する情報が登録されている。楽曲は、複数の演奏パートにより構成されている。配信サーバ2は、データベース3に登録されている情報等を、定期的に又は出力端末5からの要求に応じて出力端末5に配信する。
出力端末5は、例えば、施設4に設置される端末装置である。出力端末5は、本発明の情報処理装置の一例である。出力端末5は、例えばパーソナルコンピュータであってもよい。出力端末5は、施設4の利用者41により利用される。施設4は、例えば、スポーツ施設であってもよい。施設4においては、複数の利用者41が運動レッスンを受ける。運動レッスンは、複数の運動動作から構成される運動のレッスンである。施設4の中には、スタジオ6と個人ブース8とがある。スタジオ6及び個人ブース8のそれぞれに、出力端末5及びモニタ57が設置される。スタジオ6では、インストラクターの指導のもと、利用者41が運動レッスンを受ける。または、スタジオ6では、複数の利用者41が集団で運動レッスンを受けても良い。スタジオ6で行われるレッスンをスタジオレッスンという。スタジオレッスンで行われる複数の運動動作は、本発明の第1の複数の運動動作の一例である。スタジオ6では、複数の利用者41がスタジオレッスンに参加することができる。個人ブース8では、利用者41が単独で運動を行う。つまり、インストラクターの指導がない状態で、利用者41が運度動作を行う。個人ブース8では、1人の利用者41が運動を行ってもよいし、複数の利用者41が運動を行ってもよい。
出力端末5は、モニタ57と接続可能である。モニタ57は、複数のスピーカ64とディスプレイ67とを備える表示装置であってもよい。この場合、出力端末5は、ディスプレイ67と接続可能である。また、出力端末5は、スピーカ64と接続可能である。スピーカ64は、本発明の音声出力手段の一例である。出力端末5がモニタ57へ音声信号を出力することにより、スピーカ64により楽曲等が出力される。ディスプレイ67は、本発明の表示手段の一例である。出力端末5がモニタ57へ映像信号を出力することにより、ディスプレイ67に運動映像等が表示される。運動映像は、運動動作を行うフィギュア83を映し出した動画である。フィギュア83は、例えば、人、動物、仮想上の生き物、ロボット等のかたちをした仮想物である。フィギュア83は、三次元仮想空間に配置される。例えば、三次元仮想空間内の所定の位置に、視点が配置される。また、三次元仮想空間において視点からフィギュア83に向かう視線が設定される。また、三次元仮想空間において視線と垂直に交わる投影面が設定される。出力端末5は、フィギュア83を投影面に投影した映像を、運動映像として生成する。
出力端末5は、スピーカ64から出力される楽曲と、ディスプレイ67に表示されるフィギュア83の動きとが同期するように、信号を出力する。楽曲と運動映像とを出力することは、運動コンテンツを出力することの一例である。利用者41は、スピーカ64により出力される楽曲を聴きながら、ディスプレイ67に表示されるフィギュア83を見て、運動を行うことができる。なお、スタジオレッスンでは、出力端末5により再生された運動コンテンツを視聴しながら利用者41が運動を行ってもよい。あるいは、スタジオレッスンでは、出力端末5が運動コンテンツを再生せずに、利用者41が運動を行ってもよい。何れの場合でも、インストラクターの指導のもとで利用者41は運動を行うことができる。操作者42は、リモコン66等を用いて出力端末5を操作することができる。操作者42は、例えば、インストラクターであってもよい。
[2.予習コンテンツ]
スタジオ6では、様々なスタジオレッスンが行われる。各スタジオレッスンは、予め定められたスケジュールで実行される。例えば、インストラクターが、出力端末5を操作することにより、スタジオレッスンの開催日、開始時間及び終了時間等を設定する。スタジオレッスンが開始する前に、スタジオレッスンの内容に関連する運動を体験したり予習したりしたいという利用者41の要望がある。個人ブース8で、このような運動をスタジオレッスンの前に利用者41が体験することができるように、個人ブース8に設置された出力端末5は、運動コンテンツを再生する。スタジオレッスンの内容に関連する運動を、予習運動という。予習運動の運動コンテンツを予習コンテンツという。運動コンテンツに含まれる運動映像は、フィギュア83が予習運動を行う映像である。予習運動を構成する複数の運動動作は、本発明の第2の複数の運動動作の一例である。スタジオレッスンに関連する予習運動とは、例えば、スタジオレッスンのジャンルと同じジャンルの運動動作で構成される運動であってもよい。出力端末5は、スタジオレッスンの開始時間の所定時間前に、スタジオレッスンに関連する予習コンテンツを再生する。
出力端末5は、スケジュールが決定されたスタジオレッスンについて、予習コンテンツの再生開始時間及び再生終了時間を決定する。例えば、出力端末5は、スタジオレッスンの開始時間から予め設定された第1時間前を再生開始時間とし、スタジオレッスンの開始時間から予め設定された第2時間前を再生終了時間としてもよい。図2は、スタジオレッスン及び予習コンテンツのスケジュールの一例を示す図である。図2は、第1時間が20分、第2時間が5分である場合の例である。例えば、1時間ごとに、スタジオレッスンのスケジュールが決定されているとする。9時から、エアロビクスのスタジオレッスンが開始する。この場合、出力端末5は、エアロビクスの予習コンテンツの再生開始時間を8時40分に決定し、再生終了時間を8時55分に決定する。また、10時から、ヨガのスタジオレッスンが開始する。この場合、出力端末5は、ヨガの予習コンテンツの再生開始時間を9時40分に決定し、再生終了時間を9時55分に決定する。出力端末5は、再生開始時間を決定した後、現在時刻が再生開始時間になったか否かを判定する。そして、出力端末5は、現在時刻が再生開始時間になったと判定した場合、予習コンテンツの再生を開始する。
なお、出力端末5は、例えば予習コンテンツの時間長を取得してもよい。そして、出力端末5は、予習コンテンツの時間長に基づいて、予習コンテンツの再生開始時間を決定してもよい。予習コンテンツの時間長とは、予習コンテンツの運動映像を最初から最後まで表示するために要する時間である。この場合、出力端末5は、スタジオレッスンの開始前に予習コンテンツの再生が終了するように、開始時間を決定する。例えば、第2時間が予め設定される。出力端末5は、スタジオレッスンの開始時間から第2時間及び予習コンテンツの時間長を減算して、再生開始時間を決定する。例えば、第2時間が5分であるとする。また、スタジオレッスンの開始時間が9時であり、予習コンテンツの時間長が10分であるとする。この場合、出力端末5は、再生開始時間として8時45分を決定する。予習コンテンツの時間長が25分である場合、出力端末5は、再生開始時間として8時30分を決定する。時間長は、本発明の第2時間情報の一例である。
出力端末5は、スタジオレッスンの運動と比較して、利用者41が予習運動を習得しやすくなるように、予習コンテンツの運動映像を生成する。例えば、出力端末5は、三次元仮想空間に配置される視点を所定のタイミングで変更してフィギュア83を投影面に映した運動映像を生成してもよい。この場合、利用者41は、フィギュア83が運動する様子を様々な視点から見ることができるので、運動を習得しやすくなる。また、出力端末5は、例えば、スタジオレッスンで運動動作が行われる場合の運動テンポよりも遅いテンポに従って運動動作が行われる運動映像を生成してもよい。運動テンポとは、運動動作を行う速さを示すテンポである。各運動動作には、スタジオレッスンで実行する場合の運動テンポが予め設定されている。この運動テンポを通常運動テンポという。利用者41は、スタジオレッスンで運動する場合の通常の運動テンポよりも遅い運動テンポに従って運動することができる。そのため、運動によって身体にかかる負荷が小さくなるので、ユーザが運動を習得しやすくなる。
また、出力端末5は、予習運動及び予習コンテンツの内容を、スタジオレッスンの属性に基づいて決定してもよい。スタジオレッスンの属性として、例えば、レッスンのジャンル、レッスンの難易度、レッスンの対象の年齢層等がある。難易度は、例えば、スタジオレッスンにおける運動動作の難しさを示す。例えば、インストラクターが、出力端末5を操作することにより属性を設定する。出力端末5は、例えば、スタジオレッスンのジャンル及び難易度に基づいて、予習運動を構成する運動動作を決定してもよい。ジャンルとして、例えば、筋力トレーニング、エアロビクス、格闘技、ヨガ、コアリズム、ストレッチ、太極拳、ダンス等がある。難易度として、例えば、初級、中級及び上級があってもよい。なお、難易度は2段階あってもよいし、4段階以上あってもよい。出力端末5は、スタジオレッスンのジャンルに属する運動動作を、予習運動を構成する運動動作に決定する。また、出力端末5は、スタジオレッスンの難易度と同じ難易度の運動動作を、予習運動を構成する運動動作に決定する。なお、出力端末5は、スタジオレッスンの難易度と同じ難易度の運動動作を、予習運動を構成する複数の運動動作のうち所定割合以上の運動動作に決定してもよい。そして、出力端末5は、スタジオレッスンの難易度と異なる難易度の運動動作を、複数の運動動作のうち残りの運動動作に決定してもよい。出力端末5は、例えば、スタジオレッスンの対象の年齢層に基づいて、予習コンテンツの楽曲を決定してもよい。この場合、出力端末5は、例えば対象の年齢層の人々に適した楽曲を決定する。
また、出力端末5は、例えば、スタジオレッスンのジャンル及び難易度に基づいて、予習運動の運動回数、運動テンポ、視点変更の有無等を決定してもよい。運動回数は、予習運動を実行する回数である。図3は、予習コンテンツの内容のパターンの例を示す図である。例えば、ジャンルがエアロビクス又は格闘である場合と、ダンスである場合と、その他のジャンルである場合とで、予習コンテンツの内容がパターン分けされる。また、難易度ごとに予習コンテンツの内容がパターン分けされる。例えば、運動コンテンツ生成システム1の管理者がパターンを決定してもよい。
エアロビクス又は格闘のスタジオレッスンにおいては、例えば、スタジオレッスンで行われる複数の運動動作をインストラクターが予め決定する。その後、決定された複数の運動動作のそれぞれに、楽曲が割り当てられる。例えば、インストラクターが楽曲を決定してもよいし、出力端末5が自動的に楽曲を決定してもよい。スタジオレッスンの運動コンテンツを再生するとき、出力端末5は、運動動作ごとに、通常運動テンポに従って運動動作が行われる運動映像をディスプレイ67に表示される。このとき、出力端末5は、ディスプレイ67に表示された運動映像が示す運動動作に割り当てられた楽曲を、運動動作の通常テンポに従ってスピーカ64により出力させる。このとき、出力端末5は、楽曲を構成する演奏パートのうち所定の演奏パートのみを出力させてもよい。例えば、サビ部分のみが出力されてもよい。
図3(A)乃至(C)は、ジャンルがエアロビクス又は格闘である場合のパターンである。図3(A)は、初級のパターンであり、図3(B)は、中級のパターンであり、図3(C)は、上級のパターンである。エアロビクス又は格闘において、初級のパターンをパターンA1といい、中級のパターンをパターンA2といい、上級のパターンをパターンA3という。エアロビクス又は格闘の予習コンテンツにおいては、出力端末5は、運動動作単位で運動動作を繰り返し実行することを決定する。また、出力端末5は、予習運動を構成する複数の運動動作のそれぞれに、楽曲を自動的に割り当てる。また、出力端末5は、難易度が低いほど運動回数を多くしてもよい。その理由は、難易度の低いレッスンに参加したいと思う利用者41は運動の技量が低い蓋然性があるからである。技量が低い利用者41による運動の繰り返しを多くすることで、技量を高めることができる。一方、難易度の高いレッスンに参加したいと思う利用者41は運動の技量が高い蓋然性があるため、運動の繰り返しを多くする必要はない。また、出力端末5は、難易度が所定値以下である場合、視点変更ありを決定し、難易度が所定値より高い場合、視点変更なしを決定してもよい。その理由は、技量が低い利用者41が、フィギュア83が運動する様子を様々な視点から見ることで、技量を高めることができる。一方、技量が高い利用者41は、フィギュア83が運動する様子を様々な視点から見る必要がない。
図3(A)に示すように、初級の場合、運動回数は3回である。1回目では、視点切り替えはなく、運動テンポが通常運動テンポよりも下げられる。2回目では、視点切り替えがあり、予習コンテンツのスロー再生が行われる。スロー再生とは、例えば、1回目の運動テンポよりも遅いテンポで予習コンテンツを再生することをいう。つまり、1回目の運動テンポよりも2回目が遅くなる。3回目では、視点切り替えはなく、運動テンポが通常運動テンポとなる。具体例を説明する。例えば、予習運動が運動動作A及びBで構成されているとする。また、運動動作Aに楽曲Cが割り当てられ、運動動作Bに楽曲Dが割り当てられたとする。先ず、運動動作Aの通常テンポよりも遅いテンポに従って、運動動作Aが行われる運動映像が表示され、楽曲Cが出力される。次いで、1回目よりも更に遅いテンポに従って、運動動作Aが行われる運動映像が表示され、楽曲Cが出力される。このとき、視点が所定のタイミングで変更される運動映像が表示される。次いで、運動動作Aの通常テンポに従って、運動動作Aが行われる運動映像が表示され、楽曲Cが出力される。その後、運動動作B及び楽曲Dについても、運動動作A及び楽曲Cと同様に出力される。
図3(B)及び(C)に示すように、中級及び上級の場合、運動回数は2回である。1回目では、視点切り替えはなく、運動テンポが通常運動テンポよりも下げられる。2回目では、視点切り替えはなく、運動テンポが通常運動テンポとなる。図3(A)乃至(C)に示すように、予習運動を複数回繰り返し実行する場合に、初回の運動テンポを通常運動テンポより遅くし、最終回の運動テンポを通常運動テンポとしてもよい。最初は通常のテンポよりも遅いテンポに従って運動することにより、利用者41は、運動に慣れることができる。そして、最後は通常のテンポで運動することにより、利用者41は、通常のテンポでの運動を習得しやすくなる。
ダンスのスタジオレッスンにおいては、例えば、楽曲をインストラクターが予め決定する。その後、決定された楽曲を構成する複数の演奏パートのそれぞれに、運動動作が割り当てられる。例えば、出力端末5が自動的に運動動作を決定してもよい。ダンスの場合、演奏パートに対して割り当て可能な1又は複数の運動動作が予め定められていてもよい。例えば、演奏パートに割り当て可能な運動動作は、例えば、演奏パートに対して振り付けられたダンスの動作であってもよい。スタジオレッスンの運動コンテンツを再生するとき、出力端末5は、楽曲を、楽曲のオリジナルのテンポに従ってスピーカ64により出力させる。このとき、出力端末5は、楽曲の構成に従った演奏パートの順で楽曲を出力させる。例えば、Aメロ、Bメロ、サビ、間奏、Aメロ、Bメロ、サビ等の順で、楽曲が出力されてもよい。楽曲が出力されているとき、出力端末5は、出力されている演奏パートに割り当てられた運動動作が楽曲のオリジナルのテンポに従って運動動作が行われる運動映像をディスプレイ67に表示させる。
図3(D)乃至(F)は、ジャンルがダンスである場合のパターンである。図3(D)は、初級のパターンであり、図3(E)は、中級のパターンであり、図3(F)は、上級のパターンである。ダンスにおいて、初級のパターンをパターンB1といい、中級のパターンをパターンB2といい、上級のパターンをパターンB3という。出力端末5は、例えば、スタジオレッスンの対象の年齢層に基づいて決定された楽曲を構成する演奏パートのうち一部の複数の演奏パートを、予習コンテンツで再生される演奏パートとして決定する。例えば、出力端末5は、スタジオレッスンの難易度に基づいて、演奏パートを決定する。例えば、出力端末5は、楽曲を構成する演奏パートのうち、割り当て可能な運動動作の難易度がスタジオレッスンの難易度と一致する演奏パートを決定してもよい。また、出力端末5は、演奏パート単位で運動動作を繰り返し実行することを決定する。また、出力端末5は、難易度が低いほど運動回数を多くしてもよい。また、出力端末5は、難易度が所定値以下である場合、視点変更ありを決定し、難易度が所定値より高い場合、視点変更なしを決定してもよい。
図3(D)に示すように、初級の場合、運動回数は3回である。1回目では、視点切り替えはなく、運動テンポが楽曲のオリジナルのテンポよりも下げられる。2回目では、視点切り替えがあり、予習コンテンツのスロー再生が行われる。3回目では、視点切り替えはなく、運動テンポが楽曲のオリジナルのテンポとなる。具体例を説明する。例えば、予習コンテンツで再生される楽曲として楽曲Xが決定され、演奏パートして演奏パートE及びFが決定されたとする。また、演奏パートEに運動動作Gが割り当てられ、演奏パートFに運動動作Hが割り当てられたとする。先ず、楽曲Xのオリジナルのテンポよりも遅いテンポに従って、演奏パートEが出力され、運動動作Gが行われる運動映像が表示される。次いで、1回目よりも更に遅いテンポに従って、演奏パートEが出力され、運動動作Gが行われる運動映像が表示される。このとき、視点が所定のタイミングで変更される運動映像が表示される。次いで、楽曲Xのオリジナルのテンポに従って、演奏パートEが出力され、運動動作Gが行われる運動映像が表示される。演奏パートF及び運動動作Hについても、運演奏パートE及び運動動作Gと同様に出力される。
図3(E)及び(F)に示すように、中級及び上級の場合、運動回数は2回である。1回目では、視点切り替えはなく、運動テンポが楽曲のオリジナルのテンポよりも下げられる。3回目では、視点切り替えはなく、運動テンポが楽曲のオリジナルのテンポとなる。
ジャンルがエアロビクス、格闘及びダンスの何れでもないその他のスタジオレッスンにおいては、例えば、エアロビクスや格闘の場合と同様に、運動動作及び楽曲が決定され、運動コンテンツが再生されてもよい。
図3(G)乃至(I)は、ジャンルがその他である場合のパターンである。図3(G)は、初級のパターンであり、図3(H)は、中級のパターンであり、図3(I)は、上級のパターンである。その他のジャンルにおいて、初級のパターンをパターンC1といい、中級のパターンをパターンC2といい、上級のパターンをパターンC3という。その他のジャンルの予習コンテンツにおいては、出力端末5は、運動動作を1回のみ行うことを決定してもよい。つまり、運動回数は1回である。また、出力端末5は、予習運動を構成する複数の運動動作のそれぞれに、楽曲を自動的に割り当てる。また、出力端末5は、難易度に関わらず、運度テンポを通常運動テンポに決定してもよい。その理由は、例えばヨガ、太極拳、筋力トレーニングなど、運度テンポを通常のテンポよりも遅くしても、利用者41の身体にかかる負荷が小さくなるとは限らない場合があるからである。また、出力端末5は、難易度に関わらず、視点変更ありを決定してもよい。なお、上述したパターンは例示である。運動コンテンツ生成システム1の管理者は、パターンを自由に決定してもよい。
出力端末5は、予習運動及び予習コンテンツの内容を決定すると、予習運動情報を生成する。予習運動情報は、本発明の運動情報の一例である。予習運動情報は、予習運動及び予習コンテンツの内容を定めた情報である。また、予習運動情報は、予習コンテンツの運動映像及び楽曲を出力させるための情報である。予習運動情報の詳細は後述する。出力端末5は、予習運動情報に従って予習コンテンツを再生する。なお、例えば、管理サーバ4が、予習コンテンツの再生開始時間を決定し、予習運動情報を生成してもよい。また、管理サーバ4が、予習コンテンツの再生開始時間になったか否かを判定してもよい。この場合、再生開始時間になったと判定したとき、管理サーバ4は、予習運動情報を、個人ブースに設置された出力端末5に送信する。出力端末5は、管理サーバ4から予習運動情報を受信したとき、予習運動情報に基づいて予習コンテンツの再生を実行する。この場合、管理サーバ4は本発明の第1情報処理装置の一例であり、出力端末5は本発明の第2情報処理装置の一例である。
出力端末5は、予習コンテンツの再生開始時間の所定時間前になったとき、予告メッセージをディスプレイ67に表示させてもよい。予告メッセージは、予習コンテンツの再生が開始されることを示す情報である。例えば、「9時からのエアロビクスに対応する予習コンテンツの再生が始まります。」という予告メッセージが表示されてもよい。これにより、利用者41は、予習コンテンツの再生が開始することを予め知ることができる。何時間前に予告メッセージを表示するかを示す第3時間が予め設定されてもよい。
[3.各装置の構成]
次に、図1を参照して、運動コンテンツ生成システムに含まれる各装置の構成について説明する。
[3−1.配信サーバ2の構成]
図1に示すように、配信サーバ2は、CPU21、ROM22、RAM23、バス24、I/Oインタフェイス25、表示制御部26、ディスクドライブ28、ネットワーク通信部30及びHDD(ハードディスクドライブ)37を備える。CPU21は、バス24を介して、ROM22、RAM23、バス24及びI/Oインタフェイス25に接続されている。CPU21は、ROM22やHDD37に記憶されたプログラムを実行することにより、配信サーバ2の各部を制御する。I/Oインタフェイス25には、データベース3、表示制御部26、ディスクドライブ28、ネットワーク通信部30、キーボード31、マウス32及びHDD37が接続されている。CPU21は、I/Oインタフェイス25を介してデータベース3にアクセスする。表示制御部26は、CPU21の制御に基づいて映像信号をモニタ27に出力する。ディスクドライブ28は、記録媒体29に対するデータの書き込み及び読み出しを行う。ネットワーク通信部30は、配信サーバ2がネットワーク10に接続するための制御を行う。HDD37には、OSや各種制御プログラム等が記憶されている。
データベース3には、モーションデータ、楽曲データ、スタジオスケジュール情報等のデータが登録されている。モーションデータは、三次元仮想空間におけるフィギュア83の運動動作を定義するデータである。モーションデータは、ディスプレイ67にフィギュア83の運動動作を表示させるためのデータである。モーションデータは、運動動作の進行に応じたフィギュア83の身体の各部の座標を含む。なお、モーションデータは、2次元平面におけるフィギュア83の運動動作を定義するデータであってもよい。そして、出力端末5は、モーションデータに基づいて、フィギュア83の二次元画像をディスプレイ67に表示させてもよい。モーションデータは、モーション情報、通常運動テンポ、ジャンル情報、難易度、視点情報、予習対応情報と対応付けて登録される。モーション情報は、運動動作を示す識別情報である。モーション情報は、本発明の運動情報の一例である。通常運動テンポは、本発明の第1テンポ情報の一例である。ジャンル情報は、運動動作のジャンルを示す。ジャンル情報がダンスを示す場合、モーションデータは、更に楽曲ID及び演奏パートIDと対応付けられる。楽曲IDは、楽曲の識別情報である。演奏パートIDは、演奏パートの識別情報である。モーションデータに対応付けられた楽曲ID及び演奏パートIDは、運動動作を割り当て可能な楽曲及び演奏パートを示す。演奏パートIDは、本発明のパート情報の一例である。視点情報は、三次元仮想空間に配置される視点を変更して運動映像を生成するために用いられる情報である。視点情報には、視点の三次元仮想空間における座標、視線を示すベクトル情報、視線の変更タイミングを示すタイミング情報が、視点の変更ごとに対応付けて登録される。タイミング情報は、例えば、運動動作の開始から視点を変更するまでに経過する拍数を示す。予習対応情報は、運動動作が予習運動に対応しているか否かを示す。出力端末5は、予習運動に対応する運動動作の中から、予習運動を構成する運動動作を決定することができる。
楽曲データは、スピーカ64により楽曲を出力するための演奏データである。楽曲データは、例えば、MIDI(Musical Instrument Digital Interface)形式のデータであってもよい。楽曲データは、楽曲ID、楽曲名、アーティスト名、オリジナルのテンポ、楽曲の演奏パートの構成、歌詞、年齢層情報等の情報を含む。楽曲IDは、楽曲の識別情報である。オリジナルのテンポは、本発明の第2テンポ情報の一例である。年齢層情報は、楽曲の対象の年齢層を示す。また、楽曲データは、演奏パートの切り替わりのタイミング等を規定する。例えば、楽曲データがMIDI形式のデータである場合、楽曲データには、実際の演奏データとしてのMIDIイベントに加えて、メタイベントを含めることができる。メタイベントとしては、例えば、演奏パート開始イベント等がある。演奏パート開始イベントは、演奏パートの演奏開始を通知するイベントである。演奏パート開始イベントは、演奏パートIDを含む。
スタジオスケジュール情報は、スタジオレッスンのスケジュールを示す情報である。スタジオスケジュール情報は、スタジオレッスンごとに記憶される。スタジオスケジュール情報は、レッスンID、開催日、開始時間及び終了時間、ジャンル情報、難易度、年齢層情報等を含む。レッスンIDは、スタジオレッスンの識別情報である。レッスンIDは、本発明のレッスン情報の一例である。開始時間は、本発明の時間情報の一例である。
[3−2.出力端末5の構成]
図1に示すように、出力端末5は、CPU51、ROM52、RAM53、バス54、I/Oインタフェイス55、表示制御部56、ディスクドライブ58、ネットワーク通信部60、音声出力部63、信号受信部65及びHDD7を備える。CPU51は、バス54を介して、ROM52、RAM53、バス54及びI/Oインタフェイス55に接続されている。CPU51は、時計機能及びタイマー機能を有する。CPU51は、ROM52やHDD7に記憶されたプログラムを実行することにより、出力端末5の各部を制御する。I/Oインタフェイス55には、HDD7、表示制御部56、音声出力部63、ディスクドライブ58、ネットワーク通信部60、キーボード61、マウス62、信号受信部65及びカメラ68が接続されている。表示制御部56は、CPU51の制御に基づいて映像信号をモニタ57に出力する。音声出力部63は、CPU51の制御に基づいて音声信号をモニタ57に出力する。ディスクドライブ58は、記録媒体59に対するデータの書き込み及び読み出しを行う。信号受信部65は、リモコン66から出力される信号を受信する。リモコン66は、操作者42が出力端末5を操作するためのものである。
HDD7は、本発明における記憶手段、第2記憶手段及び第3記憶手段の一例である。なお、第1記憶手段、第2記憶手段及び第3記憶手段が同一の記憶デバイスであってもよいし、互いに異なる記憶デバイスであってもよい。HDD7には、配信サーバ2から配信されたモーションデータ、楽曲データ、スタジオスケジュール情報等が記憶される。また、HDD7には、場所種別が記憶される。場所種別は、出力端末5が、スタジオに設置されているか、個人ブースに設置されているかを示す。また、HDD7には、予習運動情報、予習スケジュール情報、通知スケジュール情報が登録される。
予習運動情報は、予習ID、レッスンID、ジャンル情報、ユニット情報等を含む。予習IDは、予習コンテンツの識別情報である。レッスンIDは、予習運動と関連するスタジオレッスンを示す。ジャンル情報は、予習コンテンツのジャンルを示す。ジャンルがダンスを示す場合、予習運動情報は、更に楽曲IDを含む。楽曲IDは、再生される楽曲を示す。予習運動情報は、予習運動を構成する運動動作の数と運動回数に応じた個数のユニット情報を含む。具体的に、ユニット情報の数=予習運動を構成する運動動作の数×運動回数、である。ユニット情報は、順序番号、モーション情報、運動テンポ及び視点切り替え情報を含む。順序番号は、運動動作が実行される順番を示す。モーション情報は、実行される運動動作を示す。運動テンポは、運動動作が行われるテンポを示す。視点切り替え情報は、視点切り替えの有無を示す。ジャンルがダンスを示す場合、ユニット情報は、演奏パートIDを含む。演奏パートIDは、再生される演奏パートを示す。ジャンルがダンスと異なるジャンルを示す場合、ユニット情報は、楽曲IDを含む。楽曲IDは、再生される楽曲を示す。
予習スケジュール情報は、予習コンテンツの再生スケジュールを示す情報である。予習スケジュール情報は、予習コンテンツごとに記憶される。予習スケジュール情報は、予習ID、再生日、再生開始時間、再生終了時間を含む。
通知スケジュール情報は、予告メッセージの表示のスケジュールを示す情報である。
通知スケジュール情報は、予習コンテンツごとに記憶される。通知スケジュール情報は、予習ID、レッスンID、表示時間を含む。予習IDは、予告メッセージが表示される予習コンテンツを示す。レッスンIDは、予習コンテンツに関連するスタジオレッスンを示す。表示時間は、予告メッセージが表示される時間である。
HDD7には、更に、OS、運動支援プログラム、3Dエンジン、ミュージックシーケンサ等の各種プログラム等が記憶されている。運動支援プログラムは、利用者41の運動を支援するためのプログラムである。運動支援プログラムは、コンピュータとしてのCPU51に、判定ステップと、制御ステップとを少なくとも実行させる。3Dエンジンは、モーションデータに基づいて、三次元仮想空間で運動動作するフィギュア83を二次元平面に投影した画像を生成するためのプログラムである。画像を生成する処理は、射影変換、クリッピング、隠面消去、シェーディング、テクスチャマッピング等を含む。CPU51は、3Dエンジンを実行して、像を順次生成する。CPU51は、順次生成した複数の静止画像から動画データを生成する。CPU51が動画データに含まれる静止画像を表示制御部56へ順次出力することで、ディスプレイ67には、運動映像が表示される。
ミュージックシーケンサは、楽曲データを再生するためのプログラムである。CPU51は、ミュージックシーケンサを実行することにより、楽曲データに対応する音声信号を生成する。また、CPU51は、ミュージックシーケンサを実行することにより、各種のイベントを発生させる。イベントとして、例えば、テンポに応じて所定時間間隔で発生するメッセージがある。このメッセージは、MIDIクロックや同期メッセージと呼ばれる。
各種プログラムは、例えば、配信サーバ2等のサーバからネットワーク10を介してダウンロードされるようにしてもよい。また、各種プログラムは、記録媒体59に記録されてディスクドライブ58を介して読み込まれるようにしてもよい。なお、3Dエンジンやミュージックシーケンサは、プログラムではなく、専用のハードウェアであってもよい。そして、出力端末5は、ハードウェアとしての3Dエンジンやミュージックシーケンサを備えてもよい。
CPU51は、設定されたテンポに従って、楽曲データに対応する音声信号を音声出力部63へ出力させるとともに、生成した画像に対応する映像信号を表示制御部56から出力させる。CPU51は、同期メッセージに基づいて、楽曲の音声信号の出力タイミングと運動映像の映像信号の出力タイミングとを同期させる。これにより、スピーカ64から出力される楽曲に同期して運動動作を行うフィギュア83がディスプレイ67に表示される。
[4.運動コンテンツ生成システム1の動作]
次に、図4及び図5を参照して、運動コンテンツ生成システム1の動作を説明する。図4は、出力端末5のCPU51のスケジュール生成処理の処理例を示すフローチャートである。例えば、インストラクターがスタジオレッスンのスケジュールの作成を開始する操作を行ったときに、スケジュール生成処理が開始される。図4に示すように、インストラクターが、スタジオレッスンID、レッスンの開催日、開始時間及び終了時間、ジャンル情報、難易度、年齢層情報等を、出力端末5を入力する。すると、CPU51は、入力された情報を含むスタジオスケジュール情報をHDD7に記憶させる(ステップS1)。次いで、CPU51は、入力されたジャンル情報がエアロビクス又は格闘を示すか否かを判定する(ステップS2)。このとき、CPU51は、ジャンル情報がエアロビクス又は格闘を示すと判定した場合には(ステップS2:YES)、ステップS3に進む。一方、CPU51は、ジャンル情報がエアロビクス及び格闘の何れも示さないと判定した場合には(ステップS2:NO)、ステップS8に進む。
ステップS3において、CPU51は、入力された難易度が初級であるか否かを判定する。このとき、CPU51は、難易度が初級であると判定した場合には(ステップS3:YES)、ステップS5に進む。一方、CPU51は、難易度が初級ではないと判定した場合には(ステップS3:NO)、ステップS4に進む。ステップS4において、CPU51は、入力された難易度が中級であるか否かを判定する。このとき、CPU51は、難易度が中級であると判定した場合には(ステップS4:YES)、ステップS6に進む。一方、CPU51は、難易度が中級ではないと判定した場合には(ステップS4:NO)、ステップS7に進む。
ステップS5において、CPU51は、パターンA1に従って予習運動情報を生成する。具体的に、CPU51は、新しい予習IDと入力されたジャンル情報を含む予習運動情報を生成する。次いで、CPU51は、入力されたジャンル情報及び難易度に対応するモーション情報をHDD7から所定数検索する。このとき、CPU51は、予習対応情報が予習運動に対応しているモーション情報の中から検索する。また、CPU51は、検索したモーション情報に対応する通常運動テンポをHDD7から取得する。次いで、CPU51は、検索したモーション情報ごとに、運動動作に割り当てられる楽曲の楽曲IDを決定する。例えば、CPU51は、入力された年齢層に対応する楽曲IDのうち、運動動作の通常運動テンポにオリジナルのテンポが近い楽曲の楽曲IDを決定してもよい。次いで、CPU51は、検索したモーション情報ごとに、ユニット情報を3個生成して、予習運動情報に格納する。このとき、CPU51は、各ユニット情報に、順序番号、モーション情報及び楽曲IDを格納する。例えば、運動動作A及びBのモーション情報が検索された場合、運動動作Aに対応する3個のユニット情報に、1〜3の順序番号が格納され、運動動作Bに対応する3個のユニット情報に、4〜6の順序番号が格納される。また、CPU51は、各モーション情報に対応する3個のユニット情報のうち1回目に対応するユニット情報に、視点切り替えなしを示す視点切り替え情報、及び、通常運動テンポよりも遅い運動テンポを格納する。CPU51は、例えば、通常運動テンポから所定値を減算することにより、運動テンポを遅くしてもよい。また、CPU51は、例えば通常運動テンポに所定係数を乗算することにより、運動テンポを遅くしてもよい。この場合の係数は1未満の値である。また、CPU51は、2回目に対応するユニット情報に、視点切り替えありを示す視点切り替え情報、及び、1回目の運動テンポよりも更に遅い運動テンポを格納する。また、CPU51は、3回目に対応するユニット情報に、視点切り替えなしを示す視点切り替え情報、及び、通常運動テンポを格納する。CPU51は、ステップS5を終えると、ステップS19に進む。
ステップS6において、CPU51は、パターンA2に従って予習運動情報を生成する。具体的に、CPU51は、ステップS5の場合と同様に、モーション情報、通常運動テンポ及び楽曲IDを決定する。次いで、CPU51は、検索したモーション情報ごとに、ユニット情報を2個生成し、各ユニット情報に、順序番号、モーション情報及び楽曲IDを格納する。また、CPU51は、2個のユニット情報のうち1回目に対応するユニット情報に、視点切り替えなしを示す視点切り替え情報、及び、通常運動テンポよりも遅い運動テンポを格納する。また、CPU51は、2回目に対応するユニット情報に、視点切り替えなしを示す視点切り替え情報、及び、通常運動テンポを格納する。CPU51は、ステップS6を終えると、ステップS19に進む。
ステップS7において、CPU51は、パターンA3に従って予習運動情報を生成する。難易度が異なることを除き、ステップS7の処理内容はステップS6と同様である。次いで、CPU51は、ステップS19に進む。
ステップS8において、CPU51は、入力されたジャンル情報がダンスを示すか否かを判定する。このとき、CPU51は、ジャンル情報がダンスを示すと判定した場合には(ステップS8:YES)、ステップS9に進む。一方、CPU51は、ジャンル情報がダンスを示さないと判定した場合には(ステップS8:NO)、ステップS14に進む。
ステップS9において、CPU51は、入力された難易度が初級であるか否かを判定する。このとき、CPU51は、難易度が初級であると判定した場合には(ステップS9:YES)、ステップS11に進む。一方、CPU51は、難易度が初級ではないと判定した場合には(ステップS9:NO)、ステップS10に進む。ステップS10において、CPU51は、入力された難易度が中級であるか否かを判定する。このとき、CPU51は、難易度が中級であると判定した場合には(ステップS10:YES)、ステップS12に進む。一方、CPU51は、難易度が中級ではないと判定した場合には(ステップS10:NO)、ステップS13に進む。
ステップS11において、CPU51は、パターンB1に従って予習運動情報を生成する。具体的に、CPU51は、入力された年齢層情報に対応する楽曲ID及び楽曲データをHDD7から一組検索する。次いで、CPU51は、新しい予習ID、入力されたジャンル情報及び検索した楽曲IDを含む予習運動情報を生成する。次いで、CPU51は、楽曲データから、オリジナルのテンポと全ての演奏パートIDを取得する。次いで、CPU51は、各演奏パートIDに対応するモーション情報及び難易度の組をHDD7から検索する。このとき、CPU51は、予習対応情報が予習運動に対応しているモーション情報の中から検索する。次いで、CPU51は、入力された難易度と一致する難易度が検索された演奏パートIDを、再生する演奏パートの演奏パートIDに決定する。また、CPU51は、決定した演奏パートIDに対して検索されたモーション情報を、演奏パートに割り当てる運動動作のモーション情報に決定する。次いで、CPU51は、決定した演奏パートIDごとに、ユニット情報を3個生成して、予習運動情報に格納する。このとき、CPU51は、各ユニット情報に、順序番号、モーション情報及び演奏パートIDを格納する。例えば、演奏パートE及びFの演奏パートIDが決定された場合、演奏パートEに対応する3個のユニット情報に、1〜3の順序番号が格納され、演奏パートFに対応する3個のユニット情報に、4〜6の順序番号が格納される。また、CPU51は、各演奏パートIDに対応する3個のユニット情報のうち1回目に対応するユニット情報に、視点切り替えなしを示す視点切り替え情報、及び、オリジナルのテンポよりも遅い運動テンポを格納する。また、CPU51は、2回目に対応するユニット情報に、視点切り替えありを示す視点切り替え情報、及び、1回目の運動テンポよりも更に遅い運動テンポを格納する。また、CPU51は、3回目に対応するユニット情報に、視点切り替えなしを示す視点切り替え情報、及び、オリジナルのテンポを格納する。CPU51は、ステップS11を終えると、ステップS19に進む。
ステップS12において、CPU51は、パターンB2に従って予習運動情報を生成する。具体的に、CPU51は、ステップS11の場合と同様に、楽曲ID、演奏パートID及びモーション情報を決定する。次いで、CPU51は、決定した演奏パートIDごとに、ユニット情報を2個生成し、CPU51は、各ユニット情報に、順序番号、モーション情報及び演奏パートIDを格納する。また、CPU51は、2個のユニット情報のうち1回目に対応するユニット情報に、視点切り替えなしを示す視点切り替え情報、及び、オリジナルのテンポよりも遅い運動テンポを格納する。また、CPU51は、2回目に対応するユニット情報に、視点切り替えなしを示す視点切り替え情報、及び、オリジナルのテンポを格納する。CPU51は、ステップS12を終えると、ステップS19に進む。
ステップS13において、CPU51は、パターンB3に従って予習運動情報を生成する。難易度が異なることを除き、ステップS13の処理内容はステップS12と同様である。次いで、CPU51は、ステップS19に進む。
ステップS14において、CPU51は、入力された難易度が初級であるか否かを判定する。このとき、CPU51は、難易度が初級であると判定した場合には(ステップS14:YES)、ステップS16に進む。一方、CPU51は、難易度が初級ではないと判定した場合には(ステップS14:NO)、ステップS15に進む。ステップS15において、CPU51は、入力された難易度が中級であるか否かを判定する。このとき、CPU51は、難易度が中級であると判定した場合には(ステップS15:YES)、ステップS17に進む。一方、CPU51は、難易度が中級ではないと判定した場合には(ステップS15:NO)、ステップS18に進む。
ステップS16において、CPU51は、パターンC1に従って予習運動情報を生成する。具体的に、CPU51は、ステップS5の場合と同様に、モーション情報、通常運動テンポ及び楽曲IDを決定する。次いで、CPU51は、検索したモーション情報ごとに、ユニット情報を1個生成して、予習運動情報に格納する。また、CPU51は、ユニット情報に、順序番号、モーション情報、楽曲ID、視点切り替えありを示す視点切り替え情報、及び通常運動テンポを格納する。CPU51は、ステップS16を終えると、ステップS19に進む。
ステップS17において、CPU51は、パターンC2に従って予習運動情報を生成する。ステップS18において、CPU51は、パターンC3に従って予習運動情報を生成する。難易度が異なることを除き、ステップS17及びS18の処理内容はステップS16と同様である。次いで、CPU51は、ステップS19に進む。
ステップS19において、CPU51は、HDD7から予め設定された第1時間、第2時間及び第3時間を取得する。次いで、CPU51は、入力された開始時間から第1時間を減算して、予習コンテンツの再生開始時間を計算する。また、CPU51は、入力された開始時間から第2時間を減算して、予習コンテンツの再生終了時間を計算する。次いで、CPU51は、入力された開催日を再生日に決定する。次いで、CPU51は、予習ID、再生日、再生開始時間及び再生終了時間を含む予習スケジュール情報をHDD7に記憶させる。また、CPU51は、予習コンテンツの再生開始時間から第3時間を減算して、予告メッセージの表示時間を計算する。そして、CPU51は、予習ID、レッスンID及び表示時間を含む通知スケジュール情報をHDD7に記憶させる。CPU51は、ステップS19を終えると、スケジュール生成処理を終了させる。なお、出力端末5は、例えば、予習コンテンツの再生開始時間になったと判定したときに予習運動情報を生成してもよい。
図5は、出力端末5のCPU51の予習コンテンツ再生制御処理の処理例を示すフローチャートである。例えば、予習コンテンツ再生制御処理は、HDD7に記憶された場所種別が個人ブースを示す出力端末5の電源がONとされたときに開始される。予習コンテンツ再生制御処理とスケジュール生成処理とは互いに独立して実行される。予習コンテンツ再生制御処理とスケジュール生成処理とは関連付けられて実行されても良い。図5に示すように、CPU51は、予告メッセージを表示する時間になったか否かを判定する(ステップS21)。具体的に、CPU51は、時計機能から今日の日付及び現在時刻を取得する。次いで、CPU51は、今日が再生日である通知スケジュール情報のうち、表示時間が最も早い通知スケジュール情報をHDD7から検索する。次いで、CPU51は、現在時刻が、検索された通知スケジュール情報に含まれる表示時間を経過しているか否かを判定する。このとき、CPU51は、現在時刻が表示時間を経過していないと判定した場合には、予告メッセージを表示する時間になっていないと判定し(ステップS21:NO)、ステップS23に進む。一方、CPU51は、現在時刻が表示時間を経過していると判定した場合には、予告メッセージを表示する時間になったと判定し(ステップS21:YES)、ステップS22に進む。ステップS22において、CPU51は、検索した通知スケジュール情報に含まれる予習ID、レッスンIDに基づいて、予告メッセージを生成し、予告メッセージをディスプレイ67に表示させる。次いで、CPU51は、検索した通知スケジュール情報をHDD7から削除する。次いで、CPU51は、ステップS21に進む。
ステップS23において、CPU51は、予習コンテンツの再生開始時間になったか否かを判定する。具体的に、CPU51は、今日が再生日である予習スケジュール情報のうち、再生開始時間が最も早い予習スケジュール情報をHDD7から検索する。このとき、CPU51は、各予習スケジュール情報に含まれる再生開始時間のうち、最も小さい値の再生開始時間を、最も早い再生開始時間に決定する。次いで、CPU51は、現在時刻が、検索された予習スケジュール情報に含まれる再生開始時間を経過しているか否かを判定する。このとき、CPU51は、現在時刻が再生開始時間を経過していないと判定した場合には、再生開始時間になっていないと判定し(ステップS23:NO)、ステップS25に進む。一方、CPU51は、現在時刻が再生開始時間を経過していると判定した場合には、再生開始時間になったと判定し(ステップS23:YES)、ステップS24に進む。
ステップS24において、CPU51は、予習コンテンツの再生処理を開始させる。予習コンテンツの再生処理が開始すると、CPU51は、ステップS21に進む。予習コンテンツの再生処理において、CPU51は、検索した予習スケジュール情報に含まれる予習IDに対応する予習運動情報をHDD7から取得する。次いで、CPU51は、検索した予習スケジュール情報をHDD7から削除する。次いで、CPU51は、予習運動情報から順序番号が1であるユニット情報を取得する。取得した予習運動情報に含まれるジャンル情報がダンスを示さない場合、CPU51は、ユニット情報に含まれる楽曲IDに対応する楽曲データに基づいて、楽曲の音声信号を、音声出力部63からスピーカ64へ出力させる。これにより、1番目に実行される運動動作に割り当てられた楽曲がスピーカ64から出力される。予習運動情報に含まれるジャンル情報がダンスを示す場合、CPU51は、予習運動情報に含まれる楽曲IDに対応する楽曲データに基づいて、ユニット情報に含まれる演奏パートIDが示す演奏パート部分の音声信号を、音声出力部63からスピーカ64へ出力させる。これにより、楽曲IDが示す楽曲を構成する演奏パートのうち1番目に出力される演奏パートがスピーカ64から出力される。何れの場合も、CPU51は、ユニット情報に含まれる運動テンポに従って音声信号を出力させる。
また、CPU51は、ユニット情報に含まれるモーション情報に対応するモーションデータに基づいて、運動映像の映像信号を表示制御部56からディスプレイ67へ出力させる。このとき、CPU51は、ユニット情報に含まれる運動テンポに従って映像信号を出力させる。ユニット情報に含まれる視点切り替え情報が視点切り替えありを示す場合、CPU51は、運動映像の映像信号の出力開始から経過した拍数と、モーションデータに対応する視点情報に含まれるタイミング情報に基づいて、視点変更のタイミングを判定する。視点変更のタイミングごとに、CPU51は、視点を変更する。具体的に、CPU51は、視点情報に含まれる視点の座標及び視線のベクトル情報に基づいて、視点及び視線を変更し、視点及び視線に応じて三次元仮想空間に投影面を設定する。そして、CPU51は、フィギュア83が投影面に投影される運動映像の静止画を順次生成する。一方、ユニット情報に含まれる視点切り替え情報が視点切り替えなしを示す場合、CPU51は、予め設定された視点の座標及び視線のベクトル情報をHDD7から取得する。そして、CPU51は、取得した座標及びベクトル情報に基づいて、運動映像の静止画を順次生成する。
予習運動情報に含まれるジャンル情報がダンスを示さない場合、CPU51は、運動映像の映像信号の出力が終了すると、予習運動情報から順序番号が2であるユニット情報を取得する。予習運動情報に含まれるジャンル情報がダンスを示す場合、CPU51は、演奏パートの音声信号の出力が終了すると、予習運動情報から順序番号が2であるユニット情報を取得する。そして、CPU51は、順序番号が1であるユニット情報の場合と同様の処理を実行する。こうして、CPU51は、順序番号に従ってユニット情報を順次取得して予習コンテンツを再生する。
ステップS25において、CPU51は、予習コンテンツの再生終了時間になったか否かを判定する。具体的に、CPU51は、現在時刻が、ステップS23で検索された予習スケジュール情報に含まれる再生終了時間を経過しているか否かを判定する。このとき、CPU51は、現在時刻が再生終了時間を経過していないと判定した場合には、再生終了時間になっていないと判定し(ステップS25:NO)、ステップS27に進む。一方、CPU51は、現在時刻が再生終了時間を経過していると判定した場合には、再生終了時間になったと判定し(ステップS25:YES)、ステップS26に進む。ステップS26において、CPU51は、予習コンテンツの再生処理を終了させる。次いで、CPU51は、ステップS21に進む。
ステップS27において、CPU51は、電源OFFが要求されたか否かを判定する。このとき、CPU51は、電源OFFが要求されていないと判定した場合には(ステップS27:NO)、ステップS21に進む。一方、CPU51は、電源OFFが要求されたと判定した場合には(ステップS27:YES)、予習コンテンツ再生制御処理を終了させる。
以上説明したように、本実施形態によれば、CPU51は、スタジオレッスンの開始時刻の所定時間前になったと判定した場合には、予習コンテンツを再生する。そのため、スタジオレッスンが始まる前に、スタジオレッスンの内容に関連する運動を体験することができる。
なお、上記実施形態においては、本発明の情報処理装置が出力端末5に適用されていた。しかしながら、本発明の情報処理装置が配信サーバ2に適用されてもよい。例えば、配信サーバ2は、予習運動情報に基づいて、楽曲の音声データと運動映像の動画データとを予め生成してもよい。そして、配信サーバ2は、音声データ及び動画データを、例えばストリーミング方式で出力端末5に送信する。これにより、配信サーバ2は、出力端末5により楽曲を出力させ、且つ、運動映像を表示させる。また、本発明の情報処理装置が出力端末5及び配信サーバ2に適用されてもよい。そして、出力端末5及び配信サーバ2は協働して処理を行ってもよい。