以下、本発明の実施形態を図面に基づいて説明する。以下に説明する実施の形態は、運動を支援するための運動コンテンツを生成する運動コンテンツ生成システムに本発明を適用した実施形態である。運動コンテンツは、運動を支援するための映像及び音声を含む。例えば、映像は、運動動作を表す映像であり、音声は、運動動作の内容を説明する音声である。
[1.運動コンテンツ生成システム1の構成]
始めに、図1を参照して、本実施形態の運動コンテンツ生成システム1の構成について説明する。図1は、本実施形態の運動コンテンツ生成システム1の概要構成例を示す図である。運動コンテンツ生成システム1は、配信サーバ2と、1つ以上の出力端末5とを含んで構成される。図1では、一例として、出力端末5を3つ含む構成のコンテンツ生成システム1を示す。図1に示す3つの出力端末5は、それぞれの構成は同じである。そのため、本実施形態では、3つの出力端末5のうち、1つの出力端末5について、図1を用いて詳細を説明する。配信サーバ2と出力端末5とは、インターネット等のネットワーク10を介して接続可能である。配信サーバ2には、データベース3が接続されている。データベース3には、後述する運動に関する情報や楽曲に関する情報が登録されている。配信サーバ2は、データベース3に登録された情報等を、定期的に又は出力端末5からの要求に応じて出力端末5に配信する。
出力端末5は、例えば、施設4に設置される端末装置である。出力端末5は、本発明の情報処理装置の一例である。出力端末5は、例えばパーソナルコンピュータである。
施設4は、1又は複数の利用者41が利用する建物や場所である。例えば施設4は、スポーツ施設、企業の事業所内の部屋や営業所、利用者41の自宅、会館、老人ホーム等である。
[1−1.配信サーバ2の構成]
図1に示すように、配信サーバ2は、CPU21、ROM22、RAM23、バス24、I/Oインタフェイス25、表示制御部26、ディスクドライブ28、ネットワーク通信部30及びHDD37を備える。CPU21は、バス24を介して、ROM22、RAM23及び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に対するデータの書き込み及び読み出しを行う。記録媒体29には、後述するデータベース3に換えて、データベース3に記憶される情報と同様の情報が記憶されるものであってもよい。ネットワーク通信部30は、配信サーバ2がネットワーク10に接続するための制御を行う。HDD37には、OSや各種制御プログラム等が記憶されている。
データベース3には、楽曲データ、モーションデータ等の各種の情報が登録される。楽曲データは、スピーカ64により楽曲の演奏音を出力するための演奏データである。楽曲は、複数の演奏パートで構成されている。各演奏パートは、1又は複数の楽句で構成されている。楽句の例として、Aメロ、Bメロ、サビ、間奏等が挙げられる。本実施形態において、楽曲は、パート1〜パート3の3種類の演奏パートで構成される。例えば、パート1はサビで構成される。パート2はAメロ及びBメロで構成される。パート3は間奏で構成される。楽曲において、各パートは1回又は複数回演奏される。楽曲を構成する演奏パートの種類は2種類以下であってもよいし、4種類以上であってもよい。各演奏パートの長さはカウント数で示される。カウント数は、楽曲の各演奏パートを構成する拍数を意味する。本実施形態において、演奏パートの長さは32カウント以上である。例えば、演奏パートの長さは32カウントの倍数である。楽曲データは、例えば、MIDI(Musical Instrument Digital Interface)形式のデータであってもよい。データベース3には、楽曲データが楽曲ごとに登録される。例えば、楽曲データは、楽曲IDと対応付けてデータベース3に登録される。楽曲IDは、楽曲を識別可能な識別情報である。
モーションデータは、三次元仮想空間に配置されるフィギュア83の運動の動作を定義するデータである。フィギュア83は、例えば、人、ロボット等のかたちをした仮想物である。各モーションデータは、楽曲中の1つの演奏パートが再生されている間にフィギュア83が行う一連の運動動作を定義する情報である。1つの演奏パートが再生されている間に行われる一連の運動動作を、運動パートという。楽曲を構成する全演奏パートが再生される間に行われる複数の運動パートの組み合わせを、運動ユニットという。利用者41が行う運動レッスンは、1又は複数の運動ユニットで構成される。各運動パートは、2種類の運動動作で構成される。運動動作は、運動を構成する最小単位の要素である。運動動作には、健康の増進、体力の増強、筋力の強化等のために行われる運動である有酸素運動、無酸素運動、ストレッチ系等の体操の動作と、楽曲に合わせて踊るために楽曲に対して振り付けられた踊りの動作とがある。例えば、運動パートは、前半部分で、2種類の運動動作のうち一方の運動動作が1又は複数回実行され、後半部分で、2種類の運動動作のうち他方の運動動作が1又は複数回実行される。運動パートを構成する2種類の運動動作は互いに類似する運動動作であってもよい。互いに類似する運動動作とは、例えば動作させる身体部位又は身体部位の動かし方が同一又は類似する運動動作である。また、運動パートは、1種類の運動動作のみで構成されてもよいし、3種類上の運動動作で構成されてもよい。モーションデータは、運動パートを構成する一連の運動動作の進行に応じたフィギュア83の身体の各部の座標を含む。データベース3には、運動パートごとにモーションデータが登録される。例えば、モーションデータ及び運動パートIDが対応付けてデータベース3に登録される。運動パートIDは、運動パートを識別可能な識別情報である。運動パートIDは、本発明の運動識別情報の一例である。運動パートごとに、運動の長さが異なる複数のモーションデータが運動パートIDに対応付けてデータベース3に記憶されてもよい。運動の長さは、例えばカウント数で示される。例えば32カウント、64カウント及び96カウントの何れかに対応するモーションデータがデータベース3に記憶されてもよい。
[1−2.出力端末5の構成]
図1に示すように、出力端末5は、CPU51、ROM52、RAM53、バス54、I/Oインタフェイス55、表示制御部56、ディスクドライブ58、ネットワーク通信部60、音声出力部63、信号受信部65、及びHDD7を備える。CPU51は、バス54を介して、ROM52、RAM53及びI/Oインタフェイス55に接続されている。CPU51は、時計機能及びタイマー機能を有する。CPU51は、ROM52やHDD7に記憶されプログラムを実行することにより、出力端末5の各部を制御する。I/Oインタフェイス55には、HDD7、表示制御部56、音声出力部63、ディスクドライブ58、ネットワーク通信部60、キーボード61、マウス62、及び信号受信部65が接続されている。表示制御部56は、CPU51の制御に基づいて映像信号をモニタ57に出力する。音声出力部63は、CPU51の制御に基づいて音声信号をモニタ57に出力する。ディスクドライブ58は、記録媒体59に対するデータの書き込み及び読み出しを行う。信号受信部65は、リモコン66から出力される信号を受信する。リモコン66は、操作者42が施設端末8を操作するためのものである。
HDD7は、本発明の記憶手段の一例である。HDD7には、配信サーバ2からダウンロードされた楽曲データ、モーションデータ等のデータが記憶される。また、HDD7には、楽曲管理リスト等が記憶される。
また更に、HDD7には、OS、運動支援プログラム、ミュージックシーケンサ等の各種プログラムが記憶されている。運動支援プログラムは、利用者41の運動を支援するためのプログラムである。運動支援プログラムは、コンピュータとしてのCPU51に、種類決定ステップ、特定ステップ、制御ステップ、受付ステップ、レベル決定ステップ、レッスン決定ステップを少なくとも実行させる。また、運動支援プログラムが実行されることにより、ディスプレイ67には、運動映像が表示される。
ミュージックシーケンサは、楽曲データを再生するためのプログラムである。CPU51は、ミュージックシーケンサを実行することにより、楽曲データに対応する音声信号を生成し、各種のイベントを発生させる。イベントとして、例えば、テンポに応じて所定時間間隔で発生するイベントがある。
各種プログラムは、例えば、配信サーバ2等のサーバからネットワーク10を介してダウンロードされるようにしてもよい。また、各種プログラムは、記録媒体59に記録されてディスクドライブ58を介して読み込まれるようにしてもよい。
出力端末5は、モニタ57と接続可能である。モニタ57は、複数のスピーカ64とディスプレイ67とを備える表示装置である。出力端末5がモーションデータに基づいてモニタ57へ映像信号を出力することにより、ディスプレイ67に運動映像等が表示される。運動映像は、動作を行うフィギュア83を映し出した動画である。ディスプレイ67は、本発明の表示手段の一例である。更に、出力端末5がモニタ57へ音声信号を出力することにより、スピーカ64により楽曲の演奏音等が出力される。
CPU51は、スピーカ64から出力される楽曲と、ディスプレイ67に表示されるフィギュア83の動きとが同期するように、運動映像の信号を出力する。これにより、スピーカ64から出力される楽曲に同期して運動動作を行うフィギュア83がディスプレイ67に表示される。楽曲と運動映像とを出力することは、運動コンテンツを出力することの一例である。利用者41は、楽曲を聴きながら、ディスプレイ67に表示されるフィギュア83を見て、運動レッスンを行うことができる。操作者42は、リモコン66等を用いて出力端末5を操作することができる。何れかの利用者41と操作者42とは同一人物であってもよい。
[2.楽曲管理リスト]
次に、出力端末5のHDD7に記憶される楽曲管理リストの構成を、図2を用いて説明する。図2は、楽曲管理リストの一例を示す図である。楽曲管理リストには、複数の運動種類について、運動種類を示す種類情報と、複数の運動パートのそれぞれの運動パートIDと、複数の運動パートIDにそれぞれ対応した運動パートの複数の運動レベルとが記憶される。本実施形態において、楽曲管理リストには、楽曲ごとに、その楽曲が再生されるときに行われる運動ユニットに関する運動ユニット情報が記憶される。運動ユニット情報は、運動ユニットの運動種類を示す種類情報と、運動ユニットを構成する運動パートを、その運動ユニットに対応する楽曲を構成するパート1〜パート3で区分した3種類の運動パートの運動パートIDと、これらの運動パートの運動レベルを含む。運動ユニット情報は、本発明のレッスン情報の一例である。運動ユニット情報により定義される運動ユニットは、実行される運動レッスンの候補である。
運動種類は、運動ユニットで行われる運動の種類である。運動種類として、運動のジャンル及びテーマがある。ジャンルの例として、「ダンス系」、「ストレッチ系」、「筋トレ系」、「格闘系」、「体操系」、「椅子利用系」等が挙げられる。ジャンルは、大別して2つのコースで分類される。コースとして、ノリノリコース及びらくらくコースがある。ノリノリコースは、運動初心者や高年齢者では実行することが難しい運動を含むジャンルを示す。らくらくコースは、高年齢者向けの運動を含むジャンルを示す。ノリノリコースとらくらくコースとは、運動のジャンルによって運動を分類してもよい。例えば、ジャンル「ダンス系」、「ストレッチ系」、「筋トレ系」及び「格闘系」は、ノリノリコースに分類される。ジャンル「体操系」及び「椅子利用系」は、らくらくコースに分類される。
テーマは、運動を行う意図、題目、課題、目的等である。テーマとして、「準備運動」、「二の腕」、「ヒップ」、「脂肪燃焼」、「下半身」、「全身」、「上半身」、「肩こり」、「腰痛予防」、「腹筋」等が挙げられる。「準備運動」は、準備運動を行うことを示す。「二の腕」、「ヒップ」、「下半身」、「全身」、「上半身」、「腹筋」は、特定の身体部位又は全身の運動を行うことを示す。「脂肪燃焼」、「肩こり解消」、「腰痛予防」は、運動の目的を示す。
図2に示すように、楽曲管理リストには、楽曲ごとに、管理番号、ジャンルID、テーマID、その楽曲の楽曲ID、テンポ等が記憶される。管理番号は、楽曲に対応付けた運動ユニットを識別する識別番号である。ジャンルIDは、ジャンルを識別する識別情報である。テーマIDは、テーマを識別する識別情報である。ジャンルID及びテーマIDは、本発明の種類識別情報の一例である。テンポは、楽曲の再生速度を示す。例えば、管理番号「1」に対応して、ジャンルID「ダンス系」、テーマID「準備運動」、楽曲ID「AAA」が登録される。管理番号「2」に対応して、ジャンルID「ダンス系」、テーマID「下半身」、楽曲ID「BBB」が登録される。管理番号「3」に対応して、ジャンルID「ダンス系」、テーマID「二の腕」、楽曲ID「CCC」が登録される。管理番号「4」に対応して、ジャンルID「ダンス系」、テーマID「二の腕」、楽曲ID「DDD」が登録される。管理番号「7」に対応して、ジャンルID「ストレッチ系」、テーマID「全身」、楽曲ID「KKK」が登録される。なお、楽曲管理リストには、ジャンルID及びテーマIDの何れか一方のみが記憶されてもよい。
運動レベルは、運動パートを実行するために利用者41に要求される動作の程度を段階的に示す。運動レベルの例として、難易度、強度、移動範囲レベル等が挙げられる。
難易度は、運動パートを利用者41が実行するときの難しさを示す。運動パートが難しいほど難易度が高い。難易度が高い運動パートであるほど、その運動パートを利用者41が実行することができない可能性が高くなる。具体的に、難易度は、運動パートごとの運動動作の複雑さ、運動動作の速さを複数段階で示す指標である。運動動作の複雑さは、例えば、運動パートごとに、上半身または下半身の動作に割り当てられる運動種類の数により示される。上半身または下半身の動作に割り当てられる運動が1種類である運動パートは、上半身または下半身の動作に割り当てられる運動が2種類以上を組み合わせて行われる運動パートより、低い難易度が設定される。また、例えば、同じ運動動作が行われる運動パートであっても、所定時間内に行う運動動作の回数が多い場合や運動動作の1動作あたりの所要時間が短く設定されている場合は、より高い難易度が設定される。
強度は、運動パートを行う利用者41の身体にかかる負担の大きさ、運動パートの激しさ等を示す。強度が高い運動パートであるほど、その運動パートを利用者41が実行することができない可能性が高くなる。強度は、例えばMETs(Metabolic equivalents)を利用して決定されてもよい。
移動範囲レベルは、運動パートを実行中、前後又は左右等に利用者41が最大限移動する範囲を段階的に示す。利用者41が移動する範囲が広いほど、移動範囲レベルが高い。移動範囲レベルが高い運動パートであるほど、その運動パートを利用者41が実行することができない可能性が高くなる。その理由として、利用者41が運動する場所が狭い場合、移動範囲が広いと、運動の最中、利用者が壁などに接触する可能性があることが一例としてあげられる。また、複数の利用者41が一緒に運動を行う場合、移動範囲が広いと、運動の最中、利用者41が隣の利用者41と接触する可能性があることが、理由の一例としてあげられる。これらの場合、利用者41は思うように運動を行うことができない。
各運動パートの運動レベルは、例えば運動コンテンツ生成システム1の管理者が設定してもよいし、配信サーバ2等がモーションデータを解析することにより自動的に決定してもよい。
本実施形態において、楽曲管理リストには、運動レベルとして難易度及び強度が記憶される。また、各運動パートは2種類の運動動作で構成される。そのため、楽曲管理リストには、運動パートを構成する2種類の運動動作のそれぞれについて、その運動動作の難易度及び強度が記憶される。具体的に、楽曲管理リストには、楽曲ごとに、その楽曲を構成するパート1〜パート3のそれぞれに対応する運動パートの運動パートIDが記憶される。また、楽曲管理リストには、各運動パートIDに対応付けて、運動パートを構成する2種類の運動動作のそれぞれの動作名が記憶される。動作名は、運動動作を識別する名称である。動作名は、本発明の動作識別情報の一例である。また、楽曲管理リストには、各動作名に対応付けて、運動動作の難易度及び強度が記憶される。難易度として、「1」〜「5」の何れかが記憶される。強度として、「1」〜「5」の何れかが記憶される。同一の難易度又は強度の運動動作であっても、異なるジャンルであれば運動動作の内容の難しさ又は激しさが一致せず相違することがあってもよい。例えば、運動動作の内容の難しさ又は激しさとして、運動動作の難易度及び強度とは尺度が異なる柔軟性や俊敏性が、ジャンルに応じた難易度及び強度によって相違するものであってもよい。また、同一の難易度の運動動作であっても、ノリノリコースのジャンルの運動動作は、らくらくコースのジャンルの運動動作よりも柔軟性や俊敏性がより高度なものであってもよい。また、難易度及び強度は、それぞれ4段階以下であってもよいし、6段階以上であってもよい。
図2に示すように、例えば楽曲ID「AAA」に対応して、パート1の運動パートID「D1」、パート2の運動パートID「D2」及びパート3の運動パートID「D3」が記憶される。各運動パートは、2種類の運動動作で構成されている。楽曲管理リストには、1つの運動パートに対応付けて2種類の動作名が記憶される。例えば、運動パートID「D1」に対応付けて、動作名「クラップマーチ」及び「スキップ」が記憶される。動作名「クラップマーチ」に対応付けて、難易度「2」及び強度「2」が記憶される。動作名「スキップ」に対応付けて、難易度「2」及び強度「2」が記憶される。運動パートID「D2」に対応付けて、動作名「前運動」及び「後ろ運動」が記憶される。動作名「前運動」に対応付けて、難易度「1」及び強度「1」が記憶される。動作名「後ろ運動」に対応付けて、難易度「1」及び強度「2」が記憶される。運動パートID「D3」に対応付けて、動作名「胸のアイソレーション」及び「肩回し」が記憶される。動作名「胸のアイソレーション」に対応付けて、難易度「4」及び強度「2」が記憶される。動作名「肩回し」に対応付けて、難易度「2」及び強度「2」が記憶される。なお、運動パートは1種類の運動動作のみで構成されてもよいし、3種類以上の運動動作で構成されてもよい。これらの場合、難易度及び強度は、運動パートを構成する運動動作の種類ごとに記憶される。すなわち、各運動パートには、運動動作の各種類に対応して、運動動作の種類数の分の難易度の数及び強度の数が記憶されている。また、楽曲管理リストには、難易度、強度、移動範囲レベルの何れか1つ又2のみが記憶されてもよい。或いは、楽曲管理リストには、難易度、強度及び移動範囲レベルの全部が記憶されてもよい。
[3.運動レッスンの決定]
楽曲管理リストにおいて、複数の運動種類のそれぞれについて、運動種類に対応する複数の運動パートに対してそれぞれ運動レベルが定義されている。そこで、例えば利用者41が運動レベルを指定し、又はユーザの運動習慣などの情報に基づいて出力端末5が利用者41の運動レベルを決定して、指定又は決定された運動レベル以下の運動パートで構成される運動レッスンを、利用者41が実行する運動レッスンとして決定することは可能ではある。しかしながら、異なる運動種類間で運動パートを比較した場合、運動レベルが同一である運動パートであっても、運動種類によって、動作させる身体部位や身体の動かし方などが異なる。そのため、このようにして決定された運動レッスンは、運動種類によっては利用者41が実行することができない運動パートを含む場合がある。そこで、出力端末5は、実行される運動レッスンの運動種類に対応する複数の運動パートの中から、優先度に基づいて特定される少なくとも1つの運動レベルの運動パートの一部が行われる映像を表示させる。すなわち、出力端末5は、運動映像のサンプルを表示する。これにより、利用者41は、運動パートの一部が行われる運動映像を見ながらその運動映像が示す運動パートの一部の実行を試みることができる。運動レベルが高い運動パートであるほど、その運動パートを利用者が実行することができない可能性が高くなる。出力端末5は、サンプルである運動映像が示す運動パートの一部の実行が可能であることを示す利用者41の選択がされたとき、利用者41が実行可能な運動レベルの複数の運動パートを含む運動レッスンを、実行される運動レッスンに決定する。
具体的に、出力端末5は、利用者41に運動レッスンを実行させるために、複数の運動種類の中から、実行される運動レッスンの運動種類を決定する。例えば、出力端末5は、利用者41から運動種類の選択を受け付けてもよいし、出力端末5が、例えば利用者41の運動履歴や運動習慣などの個人情報から自動的に運動種類を決定してもよい。本実施形態において、出力端末5は、実行される運動レッスンのジャンルを決定する。しかしながら、出力端末5は、テーマのみを決定してもよいし、ジャンルとテーマとの組み合わせを決定してもよい。
出力端末5は、決定された運動種類の種類識別情報に対応付けて楽曲管理リストに記憶されている複数の運動レベルから、所定の基準に基づいて定められる優先度に基づいて、少なくとも優先度が最も高い運動レベルを特定する。複数の運動レベルのそれぞれに優先度が定められる。本実施形態において、出力端末5は、決定されたジャンルのジャンルIDに対応する楽曲IDが示す楽曲の中から、利用者41から、所望の楽曲又は所望のテーマに対応する楽曲の選択を受け付ける。出力端末5は、利用者41により選択された楽曲の楽曲IDに対応付けて楽曲管理リストに記憶されている複数の運動レベルから、運動レベルを特定する。特定する運動レベルは、難易度及び強度の何れであってもよい。或いは、移動範囲レベルを特定する運動レベルとしてもよい。
出力端末5は、決定された運動種類の種類識別情報に対応付けて楽曲管理リストに記憶されている複数の運動パートの運動パートIDの中から、特定した運動レベルに対応する運動パートIDを取得する。出力端末5は、取得した運動パートIDに対応するモーションデータに基づいて、取得した運動パートIDが示す運動パートの一部が行われる運動映像をディスプレイ67に表示させる。出力端末5は、1つの運動レベルが特定されるごとに、特定された運動レベルに対応する運動パートの一部の運動映像を表示させる。運動パートの一部が行われる運動映像の表示を、運動映像のサンプル表示という。このとき、出力端末5は、楽曲管理リストにおいて、取得した運動パートIDに対応する楽曲ID及びパート番号に対応する楽曲の演奏パートをスピーカ64により出力させながら、運動映像のサンプルをディスプレイ67に表示させてもよい。
運動映像のサンプルが表示されている間、又は運動映像のサンプルが表示された後、出力端末5は、利用者41によるリモコン66等の操作に基づき、利用者41から、表示された運動映像のサンプルが示す運動パートの一部の実行が可能であるか否かの選択を受け付ける。出力端末5は、1つの運動レベルが特定されるごとに、特定された運動レベルに対応する運動パートの一部の実行が可能であるか否かの選択を受け付ける。運動映像の表示が終了するまでに利用者41が何らの選択もしなかった場合、出力端末5は、利用者41は実行が不可能であるとの選択を行ったと判定してもよい。
出力端末5は、利用者41から受け付けられた選択に基づいて、実行可能な運動パートの運動レベルを決定する。例えば、出力端末5は、実行不可能であるとの選択が受け付けられた場合、特定された運動レベルは実行不可能な運動レベルであると決定し、実行不可能な運動レベルから、実行可能な最高の運動レベルを決定してもよい。この場合、出力端末5は、例えば、実行不可能な運動レベルより1つ低い運動レベルを、実行可能な最高の運動レベルに決定してもよい。或いは、出力端末5は、実行可能であるとの選択が受け付けられた場合、選択が受け付けられた少なくとも1つの運動レベルのうち最高の運動レベルから、実行可能な最高の運動レベルを決定してもよい。本実施形態において、出力端末5は、楽曲管理リストに定義されている運動ユニットのうち、実行可能な最高の運動レベル以下の運動レベルの運動パートのみを含む運動ユニットの中から、運動レッスンとして利用者41が実行する運動ユニットを選択可能とする。
出力端末5は、それぞれの運動レベルが、実行可能な運動レベルより以下である複数の運動パートIDが示す複数の運動パートで構成される運動レッスンを、実行される運動レッスンに決定する。このとき、出力端末5は、実行可能な最高の運動レベル以下の運動レベルに対応する複数の運動パートIDが示す複数の運動パートで構成される運動レッスンを、実行される運動レッスンに決定してもよい。
出力端末5は、利用者41から受け付けられた選択が、実行可能との選択であるか又は実行不可能との選択であるかに応じて、実行可能な運動レベルを決定するか、又は次に優先度が高い運動レベルを特定する。実行可能との選択であるとき、出力端末5は、実行可能な運動レベルを決定する。実行不可能との選択であるとき、出力端末5は、次に優先度が高い運動位レベルを特定する。出力端末5は、次に優先度が高い運動レベルを特定した場合、特定された次に優先度が高い運動レベルを示す難易度または強度が対応付けられた運動パートの一部の運動映像をサンプル表示させ、利用者41から運動映像のサンプルが示す運動パートの一部の実行が可能であるか否かの選択を受け付ける。
本実施形態の一例として、運動レベルに「1」〜「5」が定義されており、利用者41が選択した楽曲に対応する運動ユニットを構成する運動パートの運動レベルが、運動レベル「1」、「3」、「5」のみである場合の具体的な処理例を説明する。例えば各運動パートは、運動レベルが高いほど、高い優先度が決定されてもよい。従って、例えば、運動レベル「1」、「3」、「5」がそれぞれ対応する3つの運動パートは、運動レベル「5」、「3」、「1」の順に優先度が高い。この場合、出力端末5は、利用者41から実行が可能であることが示す選択を受け付けるまで、運動レベルが高い順に従って、運動パートを提示する。出力端末5は、利用者41により実行が可能であると選択された運動パートの運動レベルを、実行可能な最高の運動レベルに決定する。例えば、運動レベル「5」の運動パートについて実行が可能であると選択された場合、出力端末5は、実行可能な最高の運動レベルを、運動レベル「5」に決定する。また例えば、運動レベル「5」の運動パートについて実行が不可能であると選択された後、運動レベル「3」の運動パートについて実行が可能であると選択された場合、出力端末5は、実行可能な最高の運動レベルを、運動レベル「3」に決定する。或いは、例えば、運動レベル「1」、「3」、「5」の運動パートから構成される運動ユニットについて、運動レベル「5」の運動パートについて実行が不可能であると選択された場合、出力端末5は、実行可能な最高の運動レベルを、運動レベル「3」に決定してもよい。
或いは、運動レベルが低いほど、高い優先度が決定されてもよい。従って、この場合、運動レベル「1」、「3」、「5」の順に優先度が高い。この場合、出力端末5は、利用者41により実行が不可能であるとの選択がされるまで、運動レベルが優先度の高い順、すなわち運動レベルが低い順に従って運動パートを提示する。出力端末5は、利用者41により実行が不可能であると選択された運動パートの運動レベルの直前に、実行が可能であると選択された運動パートの運動レベルを、実行可能な最高の運動レベルに決定する。例えば、運動レベル「1」について実行が可能であると選択された後、運動レベル「3」について実行が不可能であると選択された場合、出力端末5は、実行可能な最高の運動レベルを、運動レベル「1」に決定する。また例えば、運動レベル「1」、「3」及び「5」の全てについて実行が可能であると選択された場合、出力端末5は、実行可能な最高の運動レベルを、運動レベル「5」に決定する。
或いは、出力端末5は、中間の運動レベルを最初に特定してもよい。そして、出力端末5は、中間の運動レベルについて実行が可能であるか否かの選択に応じて、次に提示する運動パートの運動レベルを決定してもよい。具体的に、中間の運動レベルについて実行が可能であると選択された場合、出力端末5は、中間の運動レベルより高い運動レベルを特定する。中間の運動レベルについて実行が不可能であると選択された場合、出力端末5は、中間の運動レベルより低い運動レベルを特定する。例えば、出力端末5は、最初に運動レベル「3」を特定する。運動レベル「3」について実行が可能であると選択された場合、次に運動レベル「5」を特定する。運動レベル「5」の運動パートについて実行が可能であると選択された場合、実行可能な最高の運動レベルを、運動レベル「5」に決定する。運動レベル「5」の運動パートについて実行が不可能であると選択された場合、実行可能な最高の運動レベルを、運動レベル「3」に決定する。運動レベル「3」の運動パートについて実行が不可能であると選択された場合、次に運動レベル「1」を特定する。運動レベル「1」の運動パートについて実行が可能であると選択された場合、実行可能な最高の運動レベルを、運動レベル「1」に決定する。運動レベル「1」の運動パートについて実行が不可能であると選択された場合、現時点で実行可能な運動レベルは存在しない。
出力端末5は、利用者41が実行可能な運動レベルを決定するための指標として、難易度及び強度の何れを特定してもよい。難易度及び強度のうち、利用者41が実行可能な運動レベルとして決定される方の指標が示す運動レベルを、特定レベルという。難易度及び強度のうち、利用者41が実行可能な運動レベルとしては決定されない方の指標が示す運動レベルを、非特定レベルという。例えば、難易度及び強度のうち、利用者41が実行可能な運動レベルとして決定される方の指標を難易度とする場合、特定レベルは難易度を示す運動レベルであり、非特定レベルは強度を示す運動レベルである。本実施形態において、実行される運動レッスンのジャンルとして、ノリノリコースに分類されているジャンルが決定された場合、出力端末5は、特定レベルとして難易度を決定する。実行される運動レッスンのジャンルとして、らくらくコースに分類されているジャンルが決定された場合、出力端末5は、特定レベルとして強度を決定する。
決定されたジャンルID、及び優先度に基づいて特定された特定レベルに対応付けて2以上運動パートIDが楽曲管理リストに記憶されていることがある。この場合、出力端末5は、これら2種類以上の運動パートIDが示す2種類以上の運動パートのうち、相対的に低い非特定レベルに対応する運動パート、又は所定値未満の非特定レベルに対応する運動パートの中から何れかの運動パートを、運動映像のサンプルを表示する運動パートと決定してもよい。これにより、特定レベルの運動パートの一部が実行されるか否かの利用者41の判断又は選択において、非特定レベルの影響を低減して判断または選択させることができる。従って、利用者41が実行可能な運動レベルを適切に決定することができる。すなわち、非特定レベルが比較的高いと、非特定レベルが高いことが原因で、利用者41は運動パートを実行することができないと判断されてしまう可能性がある。例えば、出力端末5は、2種類以上運動パートのうち、非特定レベルが最も低い運動パートを、運動映像をサンプル表示する運動パートに決定してもよい。或いは、出力端末5は、2種類以上運動パートのうち、非特定レベルが1番目に高い運動パートから、非特定レベルが所定番目に高い運動パートまでの2種類以上の運動パートを抽出し、抽出された運動パートの中から、例えばランダムに、運動映像をサンプル表示する運動パートに決定してもよい。或いは、出力端末5は、2種類以上運動パートのうち、非特定レベルが所定値未満である運動パートの中から、例えばランダムに、運動映像をサンプル表示する運動パートに決定してもよい。なお、出力端末5は、非特定レベルにかかわらず、2種類以上の運動パートの中からランダムに運動パートを決定してもよい。
図2及び図3を用いて、実行する運動レッスンの決定方法の一例を説明する。先ず、出力端末5は、利用者41から所望するコースの選択を受け付ける。例えば、利用者41は、ノリノリコースを選択する。すると出力端末5は、ノリノリコースに対応するジャンル・楽曲選択画面をディスプレイ67に表示させる。ジャンル・楽曲選択画面には、ノリノリコースに分類される「ダンス系」、「ストレッチ系」、「筋トレ系」、「格闘系」のそれぞれに対応するボタンが表示される。これらのボタンは、利用者41が所望するジャンルを選択するためのボタンである。また、ジャンル・楽曲選択画面には、現在選択されているジャンルに属する運動ユニットに対応する楽曲のうちの選択可能な楽曲のリストが表示される。楽曲のリストには、楽曲ごとに、楽曲に対応する運動ユニットのテーマ名、楽曲名、アーティスト名等が表示される。利用者41がジャンル「ダンス系」を選択すると、ジャンル・楽曲選択画面には、例えば、図2に示す楽曲「AAA」、「BBB」、「CCC」、「DDD」、「EEE」及び「FFF」を含むリストが表示される。利用者41は、リストの中から所望の楽曲又は所望のテーマに対応する楽曲を選択する。例えば、利用者41は楽曲「BBB」を選択する。図3(A)は、楽曲ID「BBB」に対応する運動ユニット情報の一例を示す。
出力端末5は、楽曲「BBB」に対応する運動ユニット情報に格納されている難易度から、最も優先度が高い難易度を特定する。本実施形態において、出力端末5は、難易度が高い順に運動レベルを特定する。図3(B)は、難易度の特定順序、運動映像がサンプル表示される運動動作、及び実行可能であるかの選択結果の一例を示す。図3(A)に示すように、最も高い難易度は「5」である。従って、出力端末5は、図3(B)に示すように、難易度「5」を特定する。図3(A)に示すように、難易度「5」に対応する運動動作は、運動パート「D6」に含まれる運動動作「アイドルポーズ1」及び「アイドルポーズ2」のうち、「アイドルポーズ2」である。従って、出力端末5は、運動パート「D6」のうち運動動作「アイドルポーズ2」の運動映像を例えば16カウント分、サンプル表示させる。上述したように、演奏パートの長さは32カウント以上であるので、運動パートの長さも32カウント以上である。従って、16カウント分の運動動作「アイドルポーズ2」は運動パート「D6」の一部である。運動映像のサンプルを見た利用者41は、運動動作「アイドルポーズ2」の実行を試みたが、実行することができなかったとする。このとき、利用者41は、運動動作「アイドルポーズ2」は実行不可能であると選択する。
利用者41の選択に応じて、出力端末5は、楽曲「BBB」に対応する運動ユニット情報から、難易度「5」の次に高い難易度を特定する。図3(A)に示すように、難易度「5」の次に高い難易度は「4」である。従って、出力端末5は、図3(B)に示すように、難易度「4」を特定する。図3(A)に示すように、難易度「4」に対応する運動動作は、運動パート「D5」の運動パートに含まれる運動動作「サルサステップ1」及び「サルサステップ2」の両方である。この場合、出力端末5は、強度に基づいて、運動動作「サルサステップ1」及び「サルサステップ2」のうち何れの運動動作の運動映像をサンプル表示するかを決定する。運動動作「サルサステップ1」の強度は「5」であり、運動動作「サルサステップ2」の強度は「3」である。出力端末5は、図3(B)に示すように、これらの強度のうち低い方の強度「3」に対応する運動動作「サルサステップ2」を決定する。出力端末5は、運動パート「D5」のうち運動動作「サルサステップ2」の運動映像を16カウント分、サンプル表示させる。運動映像のサンプルを見た利用者41は、運動動作「サルサステップ2」の実行を試みる。利用者41は、運動動作「サルサステップ2」を実行することができたので、運動動作「サルサステップ2」は実行可能であると選択する。
利用者41の選択に応じて、出力端末5は、実行可能な最高の難易度を「4」に決定する。そこで、出力端末5は、楽曲「AAA」、「BBB」、「CCC」、「DDD」、「EEE」及び「FFF」のうち、難易度「4」よりも高い難易度の運動パートを含む運動ユニットに対応する楽曲を、選択可能な楽曲のリストから削除する。具体的には、上述したように、楽曲「BBB」に対応する運動ユニットは難易度「5」の運動パートを含む。また、図2に示すように、楽曲「DDD」に対応する運動ユニットは難易度「5」の運動パートを含む。楽曲「AAA」、「CCC」、「EEE」及び「FFF」にそれぞれ対応する運動ユニットは、難易度「4」以下の運動パートのみを含む。そのため、出力端末5は、楽曲のリストから、楽曲「BBB」及び「DDD」を削除する。従って、選択可な楽曲のリストは、楽曲「AAA」、「CCC」、「EEE」及び「FFF」を含む。図3(C)は、選択可能な楽曲に対応する運動ユニット情報の一例を示す図である。利用者41は、リストから所望の楽曲を選択する。楽曲「AAA」、「CCC」、「EEE」及び「FFF」に対応する運動ユニットの何れも、利用者41が実行可能な難易度の運動パートのみを含む。そのため、出力端末5は、選択された楽曲に対応する運動ユニットを、実行する運動レッスンに決定する。そして、出力端末5は、実行する運動レッスンの運動コンテンツを再生する。
利用者41が、楽曲「BBB」において、運動動作「アイドルポーズ2」が実行可能であると選択したとする。この場合、実行可能な最高の難易度は「5」である。従って、利用者41は、楽曲「BBB」に対応する運動ユニット実行することができる。そのため、出力端末5は、選択された楽曲「BBB」に対応する運動ユニットを、実行する運動レッスンに決定する。
本実施形態において、出力端末5は、1つの運動ユニットのみで構成される運動レッスンを決定する。しかしながら、出力端末5は、複数の運動ユニットで構成される運動レッスンを決定してもよい。この場合、出力端末5は、利用者41に、複数の楽曲を選択することを可能とする。出力端末5は、選択された複数の楽曲に対応する複数の運動ユニット情報から、運動映像をサンプル表示する運動パートの難易度を特定する。すなわち、出力端末5は、複数の運動ユニットから、運動映像をサンプル表示する運動パートを決定することができる。
[4.運動コンテンツ生成システム1の動作]
次に、図4及び図5を参照して、出力端末5の動作を説明する。図4及び図5は、出力端末5のCPU51の処理の一例を示すフローチャートである。CPU51は、ジャンルごとに、ジャンルIDに対応する全ての運動ユニット情報を楽曲管理リストから抽出する。CPU51は、取得した運動ユニット情報を含む選曲可能リストをジャンルごとに生成する。また、CPU51は、ノリノリコースのジャンルごとに、適切難易度及び不適切難易度をそれぞれ「該当なし」に設定する。また、CPU51は、らくらくコースのジャンルごとに、適切強度及び不適切強度をそれぞれ「該当なし」に設定する。
出力端末5は、例えば利用者41によるリモコン66の操作に基づいて、コースを選択するための画面の表示要求を受け付ける。CPU51は、コースを選択するための画面をディスプレイ67に表示させる。また、CPU51は、ノリノリコースのジャンルのうち、選択中のジャンルを、デフォルトとして「格闘系」に設定する。また、CPU51は、らくらくコースのジャンルのうち、選択中のジャンルを、デフォルトとして「体操系」に設定する。コースを選択するための画面を表示すると、CPU51は、図4及び図5に示す処理を実行する。
図4に示すように、CPU51は、利用者41によるリモコン66の操作に基づいて、利用者41がノリノリコースを選択したか否かを判定する(ステップS1)。このとき、CPU51は、ノリノリコースが選択されたと判定した場合には(ステップS1:YES)、ステップS2に進む。ステップS2において、CPU51は、ノリノリコース用のジャンル・楽曲選択画面をディスプレイ67に表示させる。具体的に、CPU51は、ノリノリコースに分類される複数のジャンルの中から所望のジャンルを選択するための複数のボタンを表示させる。次いで、CPU51は、ノリノリコース用のジャンル・楽曲選択画面に、選択可能な楽曲のリストを表示させる(ステップS3)。具体的に、CPU51は、選択中のジャンルの選曲可能リストから楽曲IDを取得する。CPU51は、取得された楽曲IDごとに、テーマ、楽曲名、アーティスト名等を表示させる。
次いで、CPU51は、利用者41によるリモコン66の操作に基づいて、ノリノリコースのジャンルの中から、利用者41が何れかのジャンルを選択したか否かを判定する(ステップS4)。このとき、CPU51は、何れかのジャンルが選択されたと判定した場合には(ステップS4:YES)、選択中のジャンルを、今回選択されたジャンルに変更して、ステップS3に進む。一方、CPU51は、何れのジャンルも選択されていないと判定した場合には(ステップS4:NO)、ステップS5に進む。
ステップS5において、CPU51は、利用者41によるリモコン66の操作に基づいて、表示されたリスト中の楽曲の中から、利用者41が何れかの楽曲を選択したか否かを判定する。このとき、CPU51は、何れかの楽曲が選択されたと判定した場合には(ステップS5:YES)、ステップS6に進む。一方、CPU51は、何れの楽曲も選択されていないと判定した場合には(ステップS5:NO)、ステップS4に進む。
ステップS6において、CPU51は、楽曲管理リストから、選択された楽曲の楽曲IDに対応する運動ユニット情報に含まれる難易度のうち、最高の難易度を取得する。そして、CPU51は、難易度nを最高の難易度に設定する。次いで、CPU51は、選択された楽曲の楽曲IDに対応する運動ユニット情報に、設定された最高の難易度nに対応する動作名が複数種類含まれるとき、選択された楽曲の楽曲IDに対応する運動ユニット情報から、難易度nに対応する複数種類の動作名のうち、対応する強度が最も低い動作名を抽出する。そして、CPU51は、抽出した動作名に対応する運動パートIDを抽出する(ステップS7)。
次いで、CPU51は、選択中のジャンルの適切難易度が難易度nであるか否かを判定する(ステップS8)。このとき、CPU51は、選択中のジャンルの適切難易度が難易度nであると判定した場合には(ステップS8:YES)、ステップS38に進む。一方、CPU51は、選択中のジャンルの適切難易度が難易度nではないと判定した場合には(ステップS8:NO)、ステップS9に進む。
ステップS9において、CPU51は、抽出された運動パートIDが示す運動パートの一部の運動映像をディスプレイ67にサンプル表示させる。具体的に、CPU51は、抽出された運動パートIDに対応する演奏パートを運動ユニット情報から特定する。次いで、CPU51は、選択された楽曲の楽曲データに基づいて、選択された楽曲において、特定した演奏パートをスピーカ64により出力させる。また、CPU51は、抽出された運動パートIDに対応するモーションデータから、抽出された動作名が示す運動動作に対応するデータを16カウント分抽出する。そして、CPU51は、抽出したデータに基づいて、抽出された運動パートIDが示す運動パートの一部の運動映像を、スピーカ64による演奏パートの出力と同期して、ディスプレイ67に表示させる。このとき、CPU51は、運動ユニット情報に含まれるテンポに従って、スピーカ64により演奏パートを出力させ、且つディスプレイ67に運動映像を表示させる。CPU51は、サンプル表示された運動映像が示す運動パートの実行が可能であるかの選択を促すメッセージをディスプレイ67に表示してもよい。
次いで、CPU51は、利用者41によるリモコン66の操作に基づいて、抽出された運動パートIDが示す運動パートの実行が可能であると利用者41が選択したか否かを判定する(ステップS10)。このとき、CPU51は、実行が可能であると選択されたと判定した場合には(ステップS10:YES)、ステップS16に進む。一方、CPU51は、実行が可能であると選択されなかったと判定した場合には(ステップS10:NO)、ステップS11に進む。
ステップS11において、CPU51は、選択中のジャンルの不適切難易度を難易度nに設定する。次いで、CPU51は、難易度nを1減少させる(ステップS12)。次いで、CPU51は、難易度nが0であるか否かを判定する(ステップS13)。このとき、CPU51は、難易度nが0であると判定した場合には(ステップS13:YES)、ステップS15に進む。一方、CPU51は、難易度nが0ではないと判定した場合には(ステップS13:NO)、ステップS14に進む。
ステップS14において、CPU51は、選択された楽曲の楽曲IDに対応する運動ユニット情報の中に、難易度nに対応する運動パートIDがあるか否かを判定する。このとき、CPU51は、難易度nに対応する運動パートIDがあると判定した場合には(ステップS14:YES)、ステップS7に進む。一方、CPU51は、難易度nに対応する運動パートIDがないと判定した場合には(ステップS14:NO)、ステップS12に進む。
ステップS15において、CPU51は、選択中のジャンルの不適切難易度に基づいて、選択中のジャンルの選曲可能リストを再生成する。具体的に、CPU51は、選曲可能リストから、不適切難易度以上の難易度を含む運動ユニット情報を削除する。これにより、CPU51は選曲可能リストの再生成を行う。次いで、CPU51は、ステップS2に進む。
ステップS16において、CPU51は、選択中のジャンルの適切難易度を難易度nに設定する。次いで、CPU51は、適切難易度が、ステップS7で取得された最高の難易度と一致するか否かを判定する(ステップS17)。このとき、CPU51は、適切難易度が最高の難易度と一致すると判定した場合には(ステップS17:YES)、ステップS38に進む。一方、CPU51は、適切難易度が最高の難易度と一致しないと判定した場合には(ステップS17:NO)、ステップS18に進む。
ステップS18において、CPU51は、選択中のジャンルの適切難易度に基づいて、選択中のジャンルの選曲可能リストを再生成する。具体的に、CPU51は、選曲可能リストから、適切難易度よりも高い難易度を含む運動ユニット情報を削除する。これにより、CPU51は選曲可能リストの再生成を行う。なお、不適切難易度が設定されている場合、CPU51は、適切難易度を用いる代わりに、不適切難易度に基づいて不適切難易度が含まれる運動ユニット情報を除外して選曲可能リストを再生成してもよい。この場合の処理は、ステップS15と同様である。次いで、CPU51は、ステップS2に進む。
ステップS1において、CPU51は、らくらくコースが選択されたと判定した場合には(ステップS1:NO)、ステップS21に進む。図5に示すように、ステップS21において、CPU51は、らくらくコース用のジャンル・楽曲選択画面をディスプレイ67に表示させる。具体的に、CPU51は、らくらくコースに分類される複数のジャンルの中から所望のジャンルを選択するための複数のボタンを表示させる。次いで、CPU51は、らくらくコース用のジャンル・楽曲選択画面に、選択可能な楽曲のリストを表示させる(ステップS22)。
次いで、CPU51は、利用者41によるリモコン66の操作に基づいて、らくらくコースのジャンルの中から、利用者41が何れかのジャンルを選択したか否かを判定する(ステップS23)。このとき、CPU51は、何れかのジャンルが選択されたと判定した場合には(ステップS23:YES)、選択中のジャンルを、今回選択されたジャンルに変更して、ステップS22に進む。一方、CPU51は、何れのジャンルも選択されていないと判定した場合には(ステップS23:NO)、ステップS24に進む。
ステップS24において、CPU51は、利用者41によるリモコン66の操作に基づいて、表示されたリスト中の楽曲の中から、利用者41が何れかの楽曲を選択したか否かを判定する。このとき、CPU51は、何れかの楽曲が選択されたと判定した場合には(ステップS24:YES)、ステップS25に進む。一方、CPU51は、何れの楽曲も選択されていないと判定した場合には(ステップS24:NO)、ステップS23に進む。
ステップS25において、CPU51は、楽曲管理リストから、選択された楽曲の楽曲IDに対応する運動ユニット情報に含まれる強度のうち、最高の強度を取得する。そして、CPU51は、取得した強度kを最高の強度に設定する。次いで、CPU51は、選択された楽曲の楽曲IDに対応する運動ユニット情報に、設定された最高の強度kに対応する動作名が複数種類含まれるとき、選択された楽曲の楽曲IDに対応する運動ユニット情報から、強度kに対応する動作名のうち、対応する難易度が最も低い動作名を抽出する。そして、CPU51は、抽出した動作名に対応する運動パートIDを抽出する(ステップS26)。
次いで、CPU51は、選択中のジャンルの最適強度が強度kであるか否かを判定する(ステップS27)。このとき、CPU51は、選択中のジャンルの最適強度が強度kであると判定した場合には(ステップS27:YES)、ステップS38に進む。一方、CPU51は、選択中のジャンルの最適強度が強度kではないと判定した場合には(ステップS27:NO)、ステップS28に進む。
ステップS28において、CPU51は、抽出された運動パートIDが示す運動パートの一部の運動映像をディスプレイ67に表示させる。この処理はステップS9と同様である。
次いで、CPU51は、利用者41によるリモコン66の操作に基づいて、抽出された運動パートIDが示す運動パートの実行が可能であると利用者41が選択したか否かを判定する(ステップS29)。このとき、CPU51は、実行が可能であると選択されたと判定した場合には(ステップS29:YES)、ステップS35に進む。一方、CPU51は、実行が可能であると選択されなかったと判定した場合には(ステップS29:NO)、ステップS30に進む。
ステップS30において、CPU51は、選択中のジャンルの不適切強度を強度kに設定する。次いで、CPU51は、強度kを1減少させる(ステップS31)。次いで、CPU51は、強度kが0であるか否かを判定する(ステップS32)。このとき、CPU51は、強度kが0であると判定した場合には(ステップS32:YES)、ステップS34に進む。一方、CPU51は、強度kが0ではないと判定した場合には(ステップS32:NO)、ステップS33に進む。
ステップS33において、CPU51は、選択された楽曲の楽曲IDに対応する運動ユニット情報の中に、強度kに対応する運動パートIDがあるか否かを判定する。このとき、CPU51は、強度kに対応する運動パートIDがあると判定した場合には(ステップS33:YES)、ステップS26に進む。一方、CPU51は、強度kに対応する運動パートIDがないと判定した場合には(ステップS33:NO)、ステップS31に進む。
ステップS34において、CPU51は、選択中のジャンルの不適切強度に基づいて、選択中のジャンルの選曲可能リストを再生成する。具体的に、CPU51は、選曲可能リストから、不適切強度以上の強度を含む運動ユニット情報を削除する。これにより、CPU51は選曲可能リストの再生成を行う。次いで、CPU51は、ステップS21に進む。
ステップS35において、CPU51は、選択中のジャンルの適切強度を強度kに設定する。次いで、CPU51は、適切強度が、ステップS26で取得された最高の強度と一致するか否かを判定する(ステップS36)。このとき、CPU51は、適切強度が最高の強度と一致すると判定した場合には(ステップS36:YES)、ステップS38に進む。一方、CPU51は、適切強度が最高の強度と一致しないと判定した場合には(ステップS36:NO)、ステップS37に進む。
ステップS37において、CPU51は、選択中のジャンルの適切強度に基づいて、選択中のジャンルの選曲可能リストを再生成する。具体的に、CPU51は、選曲可能リストから、適切強度よりも高い強度を含む運動ユニット情報を削除する。これにより、CPU51は再生成を行う。なお、不適切強度が設定されている場合、CPU51は、適切強度を用いる代わりに、不適切強度に基づいて不適切強度が含まれる運動ユニット情報を除外して選曲可能リストを再生成してもよい。この場合の処理は、ステップS34と同様である。次いで、CPU51は、ステップS21に進む。
ステップS38において、CPU51は、運動コンテンツの動画データを生成する。具体的に、CPU51は、選択された楽曲の楽曲IDに対応する楽曲データをミュージックシーケンサにより再生させる。このとき、CPU51は、選択された楽曲の楽曲IDに対応する運動ユニット情報に含まれるテンポに従って楽曲データを再生させる。CPU51は、ミュージックシーケンサにより出力される音声信号を、音声データとしてRAM53に記憶させる。また、CPU51は、選択された楽曲の楽曲IDに対応する運動ユニット情報からパート1〜パート3のそれぞれに対応する運動パートIDを取得する。CPU51は、楽曲データを解析して、楽曲を構成する複数の演奏パートの順序及び各演奏パートの長さを特定する。CPU51は、順序番号ONを1に設定する。CPU51は、ON番目の演奏パートに対応する運動パートの運動映像を再生する。具体的に、CPU51は、ON番目の演奏パートに対応する運動パートIDを特定する。CPU51は、特定した運動パートIDに対応するモーションデータのうち、ON番目の演奏パートの長さに対応するモーションデータに基づいて、運動映像を再生する。このとき、CPU51は、選択された楽曲の楽曲IDに対応する運動ユニット情報に含まれるテンポに従って運動映像を再生する。CPU51は、再生した運動映像の動画データをRAM53に記憶させる。CPU51は、順序番号ONは、選択された楽曲を構成する演奏パートの総数と一致するか否かを判定する。順序番号ONが演奏パートの総数と一致しない場合、CPU51は、順序番号ONを1増加させる。CPU51は、上述した方法と同様の方法で、順序番号ONの演奏パートに対応する運動パートの運動映像を再生する。そして、再生された運動映像の動画データを、RAM53に記憶されている動画データに追加する。順序番号ONが演奏パートの総数と一致する場合、CPU51は、RAM53に記憶された動画データと音声データとを多重化して、運動コンテンツの動画データを生成する。運動コンテンツの動画データの形式は、例えばMP4(ISO/IEC 14496-14:2003)等であってもよい。
次いで、CPU51は、生成した運動コンテンツの動画データを再生する(ステップS39)。これにより、選択された楽曲がスピーカ64から出力される。これと同期して、選択された楽曲に対応する運動ユニットの運動映像がディスプレイ67に表示される。
運動コンテンツの動画データの再生が終了すると、CPU51は、選択中のジャンルの選曲可能リストを再生成する(ステップS40)。具体的に、ノリノリコースが選択された場合、CPU51は、選択されたジャンルの不適切難易度に基づいて、選曲可能リストを再生成する。この処理は、ステップS15と同様である。らくらくコースが選択された場合、CPU51は、選択されたジャンルの不適切強度に基づいて、選曲可能リストを再生成する。この処理は、ステップS34と同様である。CPU51は、図4及び図5に示す処理を終了させて、コースを選択するための画面を表示させる。
[5.変形例]
図4及び図5に示す処理例では、利用者41は、ジャンル及び実行したい運動ユニットに対応する楽曲を選択し、出力端末5は、その運動ユニットの中から、運動映像をサンプル表示する運動パートを決定していた。しかしながら、出力端末5は、利用者41が選択したジャンルの全ての運動ユニットの中から、サンプル表示する運動パートを決定してもよい。以降に、その例を説明する。
図6及び図7は、出力端末5のCPU51の処理の一例を示すフローチャートである。CPU51は、ノリノリコースのジャンルごとに、適切難易度を「該当なし」に設定する。また、CPU51は、らくらくコースのジャンルごとに、適切強度を「該当なし」に設定する。出力端末5は、利用者41から、全ジャンルの中から所望のジャンルを選択するための画面の要求を受け付ける。この要求を受け付けたとき、CPU51は、図6及び図7に示す処理を実行する。
図6に示すように、CPU51は、難易度n及び強度kをそれぞれ「5」に設定する(ステップS51)。次いで、CPU51は、ジャンルを選択するための画面をディスプレイ67に表示させる(ステップS52)。例えば、CPU51は、全ジャンルのそれぞれに対応するボタンをディスプレイ67に表示させる。
次いで、CPU51は、利用者41によるリモコン66の操作に基づいて、全ジャンルの中から、利用者41が何れかのジャンルを選択したか否かを判定する(ステップS53)。このとき、CPU51は、何れかのジャンルが選択されたと判定した場合には(ステップS53:YES)、ステップS54に進む。一方、CPU51は、何れのジャンルも選択されていないと判定した場合には(ステップS53:NO)、ステップS53の判定を再度実行する。
ステップS54において、CPU51は、選択されたジャンルに対応するコースがノリノリコースであるか否かを判定する。このとき、CPU51は、選択されたジャンルに対応するコースがノリノリコースであると判定した場合には(ステップS54:YES)、ステップS55に進む。
ステップS55において、CPU51は、楽曲管理リストにおいて、選択されたジャンルのジャンルIDに対応する全ての運動ユニット情報に含まれる動作名のうち、難易度nに対応する動作名が複数種類含まれるとき、難易度nに対応する複数種類の動作名の中から、対応する強度が最も低い動作名を抽出する。そして、CPU51は、抽出した動作名に対応する運動パートIDを抽出する。
次いで、CPU51は、選択されたジャンルの適切難易度が難易度nであるか否かを判定する(ステップS56)。このとき、CPU51は、適切難易度が難易度nであると判定した場合には(ステップS56:YES)、ステップS80に進む。一方、CPU51は、適切難易度が難易度nではないと判定した場合には(ステップS56:NO)、ステップS57に進む。
ステップS57において、CPU51は、抽出された運動パートIDが示す運動パートの一部の運動映像をディスプレイ67にサンプル表示させる。この処理は、図4に示すステップS9と同様である。
次いで、CPU51は、利用者41によるリモコン66の操作に基づいて、抽出された運動パートIDが示す運動パートの実行が可能であると利用者41が選択したか否かを判定する(ステップS58)。このとき、CPU51は、実行が可能であると選択されたと判定した場合には(ステップS58:YES)、ステップS62に進む。一方、CPU51は、実行が可能であると選択されなかったと判定した場合には(ステップS58:NO)、ステップS59に進む。
ステップS59において、CPU51は、難易度nを1減少させる。次いで、CPU51は、難易度nが0であるか否かを判定する(ステップS60)。このとき、CPU51は、難易度nが0であると判定した場合には(ステップS60:YES)、ステップS51に進む。一方、CPU51は、難易度nが0ではないと判定した場合には(ステップS60:NO)、ステップS61に進む。
ステップS61において、CPU51は、選択されたジャンルのジャンルIDに対応する全ての運動ユニット情報の中に、難易度nに対応する運動パートIDがあるか否かを判定する。このとき、CPU51は、難易度nに対応する運動パートIDがあると判定した場合には(ステップS61:YES)、ステップS55に進む。一方、CPU51は、難易度nに対応する運動パートIDがないと判定した場合には(ステップS61:NO)、ステップS59に進む。
ステップS62において、CPU51は、選択されたジャンルの適切難易度を難易度nに設定する。次いで、CPU51は、適切難易度に基づいて、選択中のジャンルの選曲可能リストを生成する(ステップS63)。具体的に、CPU51は、楽曲管理リストから、選択されたジャンルのジャンルIDに対応する運動ユニット情報のうち、適切難易度以下の難易度のみを含む運動ユニット情報を抽出する。そして、CPU51は、抽出した運動ユニット情報を含む選曲可能リストを生成する。次いで、CPU51は、ステップS80に進む。
ステップS54において、CPU51は、選択されたジャンルに対応するコースがらくらくコースであると判定した場合には(ステップS54:NO)、ステップS71に進む。
図7に示すように、ステップS71において、CPU51は、楽曲管理リストにおいて、選択されたジャンルのジャンルIDに対応する全ての運動ユニット情報に含まれる動作名のうち、強度kに対応する動作名が複数種類含まれるとき、強度kに対応する複数種類の動作名の中から、対応する難易度が最も低い動作名を抽出する。そして、CPU51は、抽出した動作名に対応する運動パートIDを抽出する。
次いで、CPU51は、選択されたジャンルの適切強度が強度kであるか否かを判定する(ステップS72)。このとき、CPU51は、適切強度が強度kであると判定した場合には(ステップS72:YES)、ステップS80に進む。一方、CPU51は、適切強度が強度kではないと判定した場合には(ステップS72:NO)、ステップS73に進む。
ステップS73において、CPU51は、抽出された運動パートIDが示す運動パートの一部の運動映像をディスプレイ67にサンプル表示させる。この処理は、図4に示すステップS9と同様である。
次いで、CPU51は、利用者41によるリモコン66の操作に基づいて、抽出された運動パートIDが示す運動パートの実行が可能であると利用者41が選択したか否かを判定する(ステップS74)。このとき、CPU51は、実行が可能であると選択されたと判定した場合には(ステップS74:YES)、ステップS78に進む。一方、CPU51は、実行が可能であると選択されなかったと判定した場合には(ステップS74:NO)、ステップS75に進む。
ステップS75において、CPU51は、強度kを1減少させる。次いで、CPU51は、強度kが0であるか否かを判定する(ステップS76)。このとき、CPU51は、強度kが0であると判定した場合には(ステップS76:YES)、ステップS51に進む。一方、CPU51は、強度kが0ではないと判定した場合には(ステップS76:NO)、ステップS77に進む。
ステップS77において、CPU51は、選択されたジャンルのジャンルIDに対応する全ての運動ユニット情報の中に、強度kに対応する運動パートIDがあるか否かを判定する。このとき、CPU51は、強度kに対応する運動パートIDがあると判定した場合には(ステップS77:YES)、ステップS71に進む。一方、CPU51は、強度kに対応する運動パートIDがないと判定した場合には(ステップS77:NO)、ステップS75に進む。
ステップS78において、CPU51は、選択されたジャンルの適切強度を強度kに設定する。次いで、CPU51は、適切強度に基づいて、選択されたジャンルの選曲可能リストを生成する(ステップS79)。具体的に、CPU51は、楽曲管理リストから、選択されたジャンルのジャンルIDに対応する運動ユニット情報のうち、適切強度以下の強度のみを含む運動ユニット情報を抽出する。そして、CPU51は、抽出した運動ユニット情報を含む選曲可能リストを生成する。
次いで、CPU51は、選択可能な楽曲のリストを表示させる(ステップS80)。具体的に、CPU51は、生成された選曲可能リストに含まれる楽曲IDごとに、テーマ、楽曲名、アーティスト名を表示させる。
次いで、CPU51は、利用者41によるリモコン66の操作に基づいて、表示されたリスト中の楽曲の中から、利用者41が何れかの楽曲を選択したか否かを判定する(ステップS81)。このとき、CPU51は、何れかの楽曲が選択されたと判定した場合には(ステップS81:YES)、ステップS82に進む。一方、CPU51は、何れの楽曲も選択されていないと判定した場合には(ステップS81:NO)、ステップS81の判定を再度実行する。
ステップS82において、CPU51は、運動コンテンツの動画データを生成する。次いで、CPU51は、生成した運動コンテンツの動画データを再生して(ステップS83)、図6及び図7に示す処理を終了させる。ステップS82及びS83の処理は、図5に示すステップS38及びS39と同様である。
以上説明したように、上記実施形態によれば、CPU51が、決定されたジャンルのジャンルIDに対応付けて楽曲管理リストに記憶された複数の運動レベルから、少なくとも優先度が最も高い運動レベルを特定する。また、CPU51が、決定されたジャンルのジャンルIDに対応付けて楽曲管理リストに記憶された複数の運動パートIDのうち、特定された運動レベルに対応する運動パートIDが示す運動パートの一部が行われる運動映像をディスプレイ67に表示させる。CPU51は、表示された運動映像が示す運動パートが実行可能であるか否かの選択を受け付ける。CPU51は、受け付けられた選択に基づいて、実行可能の運動パートの運動レベルを決定する。CPU51は、決定されたジャンルのジャンルIDに対応付けて楽曲管理リストに記憶された複数の運動パートIDのうち、決定した運動レベル以下の運動レベルが対応付けられた複数の運動パートIDが示す運動パートで構成される運動レッスンを、実行される運動レッスンに決定する。従って、ユーザが実行可能な複数の運動パートで構成される運動レッスンを、ジャンルに応じて適切に決定することができる。
なお、上記実施形態においては、本発明の情報処理装置が出力端末5に適用されていた。しかしながら、本発明の情報処理装置が配信サーバ2に適用されてもよい。例えば、データベース3に楽曲管理リストが記憶されてもよい。配信サーバ2は、利用者41の選択に基づいて、実行される運動レッスンの運動種類を決定してもよい。配信サーバ2は、決定した運動種類に基づいて、運動映像をサンプル表示させる運動パートの運動レベルを特定してもよい。配信サーバ2は、運動映像をサンプル表示するための動画データを生成して出力端末5へ配信して、出力端末5に動画データを再生させてもよい。或いは、配信サーバ2は、出力端末5に動画データを生成させてもよい。配信サーバ2は、利用者41によるリモコン66の操作に基づいて、出力端末5から、サンプル表示された運動映像が示す運動パートが実行可能か否かを受け付けてもよい。実行する運動レッスンを決定した場合、配信サーバ2は、決定した運動レッスンの運動コンテンツの動画データを生成して出力端末5へ配信して、動画データを出力端末5に再生させてもよい。或いは、配信サーバ2は、出力端末5に動画データを生成させてもよい。また、本発明の情報処理装置が出力端末5及び配信サーバ2に適用されてもよい。そして、出力端末5及び配信サーバ2は協働して処理を行ってもよい。