以下、本発明の実施形態を図面に基づいて説明する。以下に説明する実施の形態は、運動を支援するための運動コンテンツを生成する運動支援システムに本発明を適用した実施形態である。運動コンテンツは、運動を支援するための映像及び音声を含む。
[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は、例えばパーソナルコンピュータである。出力端末5は、モニタ57と接続可能である。モニタ57は、複数のスピーカ64とディスプレイ67とを備える表示装置である。ディスプレイ67は、本発明の表示手段の一例である。
[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に対するデータの書き込み及び読み出しを行う。ネットワーク通信部30は、配信サーバ2がネットワーク10に接続するための制御を行う。HDD37には、OSや各種制御プログラム等が記憶されている。
データベース3には、楽曲データ、モーションデータ等が登録される。楽曲データは、スピーカ64により楽曲を出力するための演奏データである。楽曲は、複数の演奏パートで構成されている。各演奏パートは、1又は複数の楽句で構成されている。楽句として、例えば、前奏、Aメロ、Bメロ、Cメロ、サビ、後奏等が挙げられる。楽曲データは、例えば、MIDI(Musical Instrument Digital Interface)形式のデータであってもよい。データベース3には、楽曲データが楽曲ごとに登録される。例えば、楽曲データ、及び楽曲IDが対応付けてデータベース3に登録される。楽曲IDは、楽曲を識別可能な識別情報である。楽曲IDは、本発明の楽曲識別情報の一例である。モーションデータは、三次元仮想空間に配置されるフィギュア83の運動の動作を定義するデータである。フィギュア83は、例えば、人、ロボット等のかたちをした仮想物である。複数の運動映像が出力端末5により順次再生されることにより、運動レッスンが実行される。本実施形態において、運動レッスンを構成する1又は複数の運動を運動ユニットという。また、運動ユニットを構成する複数の運動を、運動要素という。運動要素は、一連の複数の運動動作で構成されている。運動ユニットを構成する複数の運動要素は連続して実行される。モーションデータは、運動動作の進行に応じたフィギュア83の身体の各部の座標を含む。データベース3には、モーションデータが運動要素ごとに登録される。例えば、モーションデータ及び運動要素IDが対応付けてデータベース3に登録される。運動要素IDは、運動要素を識別可能な識別情報である。運動要素IDは、本発明の運動要素識別情報の一例である。
[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に出力する。これにより、ディスプレイ67に運動映像等が表示される。運動映像は、三次元仮想空間において動作を行うフィギュア83を映し出す動画である。なお、運動映像はフィギュア83の三次元画像であってもよいし二次元画像であってもよい。音声出力部63は、CPU51の制御に基づいて音声信号をモニタ57に出力する。これにより、スピーカ64により楽曲等が出力される。ディスクドライブ58は、記録媒体59に対するデータの書き込み及び読み出しを行う。信号受信部65は、リモコン66から出力される信号を受信する。リモコン66は、操作者42が出力端末5を操作するためのものである。
HDD7は、本発明の記憶手段、第2記憶手段の一例である。記憶手段及び第2記憶手段が同一の記憶デバイスであってもよいし、互いに異なる記憶デバイスであってもよい。HDD7には、配信サーバ2からダウンロードされた楽曲データ、モーションデータ等のデータが記憶される。また、HDD7には、後述するジャンル情報テーブル、テーマ情報テーブル、運動要素情報テーブル、レッスン目的情報テーブル、目的別レッスン情報テーブル、ループ数決定情報テーブル、楽曲情報テーブルが記憶される。これらのテーブルは、例えば配信サーバ2からダウンロードされてもよい。
HDD7には、更に、OS、運動支援プログラム、ミュージックシーケンサ等の各種プログラム等が記憶されている。運動支援プログラムは、利用者41の運動を支援するためのプログラムである。運動支援プログラムは、コンピュータとしてのCPU51に、第1決定ステップ、第2決定ステップ、生成ステップを少なくとも実行させる。
ミュージックシーケンサは、楽曲データを再生するためのプログラムである。CPU51は、ミュージックシーケンサを実行することにより、楽曲データに対応する音声信号を生成し、各種のイベントを発生させる。イベントとして、例えば、テンポに応じて所定時間間隔で発生するイベントがある。
各種プログラムは、例えば、配信サーバ2等のサーバからネットワーク10を介してダウンロードされるようにしてもよい。また、各種プログラムは、記録媒体59に記録されてディスクドライブ58を介して読み込まれるようにしてもよい。
CPU51は、スピーカ64から出力される楽曲と、ディスプレイ67に表示されるフィギュア83の動きとを同期させて、運動映像の信号を出力する。楽曲と運動映像とを出力することは、運動コンテンツを出力することの一例である。利用者41は、楽曲を聴きながら、ディスプレイ67に表示されるフィギュア83を見て運動を行い、運動レッスンを行うことができる。操作者42は、リモコン66等を用いて出力端末5を操作することができる。利用者41と操作者42とは同一人物であってもよい。施設4がスポーツ施設である場合、操作者42は、例えば、インストラクターであってもよい。
[1−3.テーブルの構成]
次に、出力端末5のHDD7に記憶されるジャンル情報テーブル、テーマ情報テーブル、運動要素情報テーブル、レッスン目的情報テーブル、目的別レッスン情報テーブル、ループ数決定情報テーブル、楽曲情報テーブルの構成を、図2及び図3を用いて説明する。
[1−3−1.ジャンル情報テーブルの構成]
図2(A)は、ジャンル情報テーブルの一例を示す図である。ジャンル情報テーブルは、運動ジャンルに関する情報を記憶するテーブルである。ジャンル情報テーブルには、運動ジャンルごとに、ジャンルID及びジャンル名が対応付けて記憶される。ジャンルIDは、運動ジャンルを識別可能な識別情報である。例えば、図2(A)に示すジャンル情報テーブルには、ジャンルID「G1」〜「G3」等が記憶される。ジャンル名は、運動ジャンルの名称であり、例えば、エアロビクス、コンバット、ヨガ等が挙げられる。
[1−3−2.テーマ情報テーブルの構成]
図2(B)は、テーマ情報テーブルの一例を示す図である。本実施形態においては、運動ジャンルごとに、運動ジャンルに属する運動が複数の運動テーマに区分される。図2(B)に示すテーマ情報テーブルは、一例として、運動ジャンル「エアロビクス」のテーマ情報テーブルである。図2(B)に示すテーマ情報テーブルには、区分された運動テーマごとに、テーマID、テーマ名及び運動BPM(Beats Per Minute)等が対応付けて記憶される。運動テーマは、運動の題目である。例えば、運動内容に応じた運動の区分、分類又は種類であってもよい。運動テーマは、例えば、運動ジャンルに属する複数の運動要素の中で、動作内容関連又は類似する複数の運動要素の範囲を示してもよい。テーマIDは、運動テーマを識別可能な識別情報である。テーマIDは、本発明のテーマ識別情報の一例である。テーマ名は、運動テーマの名称である。運動BPMは、運動テーマに対応した運動に適した動作速度をテンポで示す。運動コンテンツの再生時、出力端末5は、運動BPMに従った速度で運動が行われる運動映像をディスプレイ67に表示させる。例えば、図2(B)に示す運動ジャンル「エアロビクス」のテーマ情報テーブルでは、テーマID「G1_T1」〜「G1_T11」、「G2_T1」〜「G2_T8」等が記憶されている。テーマ名に、ウォーミングアップ、クールダウン、ローインパクト1、ローインパクト2、ミッドインパクト1、ミッドインパクト2等が記憶される。運動BPMとして、「90」〜「160」等が記憶される。
なお、テーマIDは、運動テーマが属する運動ジャンルのジャンルIDを含む。従って、テーマIDに基づいて運動ジャンルを識別可能である。例えば、図2(B)に示すテーマ情報テーブルにおいて、テーマID「G1_T1」〜「G1_T11」に含まれる「G1」は、図2(A)のジャンル情報テーブルに示すエアロビクスのジャンルID「G1」を示す。従って、テーマID「G1_T1」〜「G1_T11」は、それぞれエアロビクスに属する運動テーマのテーマIDである。そして、例えば、図2(B)に示すテーマ情報テーブルには、テーマID「G1_T1」、テーマ名「ウォーミングアップ」、及び運動BPM「90」が対応付けて記憶されている。従って、テーマID「G1_T1」は、エアロビクスのウォーミングアップの運動テーマIDであり、エアロビクスのウォーミングアップは90BPMの速度で実行される。
[1−3−3.運動要素情報テーブルの構成]
図2(C)は、運動要素情報テーブルの一例を示す図である。運動要素情報テーブルには、テーマIDごとに、テーマIDが示す運動テーマに属する複数の運動要素の運動要素IDが記憶される。複数の運動要素は、運動要素IDごとに、その運動内容が異なる。具体的には、図2(C)に示すように、運動要素情報テーブルには、運動ID、運動要素ID、テーマID、対応演奏パート種別、運動拍数、接続区分等が対応付けて記憶される。以下、図2(C)の運動要素情報テーブルを用いて、運動ID、運動要素ID、テーマID、対応演奏パート種別、運動拍数、接続区分の対応付けの詳細を説明する。
運動IDは、運動要素の運動テーマ、対応演奏パート種別及び接続区分の組み合わせで運動要素を分類した運動要素の区分を識別可能な識別情報である。例えば、図2(C)に示す運動要素情報テーブルには、テーマID「G1_T1」に対応付けて、運動ID「G1_T1_PS_CN」、「G1_T1_P1_CN」、「G1_T1_P1_CS」、「G1_T1_P2_CN」、「G1_T1_P3_CN」、「G1_T1_P3_CE」、「G1_T1_PE_CN」が記憶される。また例えば、テーマID「G1_T3」に対応付けて、運動ID「G1_T3_PS_CN」、「G1_T3_P1_CN」、「G1_T3_P2_CN」、「G1_T3_P3_CN」、「G1_T3_P3_CE」、「G1_T3_PE_CN」が記憶される。
運動要素IDは、運動要素を識別可能な識別情報である。後述する対応演奏パート種別が「P1」、「P2」又は「P3」である場合、同一の運動IDに対応付けて複数の運動要素IDが運動要素情報テーブルに記憶される。例えば、運動ID「G1_T1_P1_CN」に対応付けて運動要素ID「G1_T1_P1_L32_CN」、「G1_T1_P1_L64_CN」、「G1_T1_P1_L96_CN」が記憶される。また例えば、運動ID「G1_T1_P1_CS」に対応付けて運動要素ID「G1_T1_P1_L32_CS」、「G1_T1_P1_L64_CS」、「G1_T1_P1_L96_CS」が記憶される。
後述する対応演奏パート種別が「PS」、「PE」である場合、運動IDに対応付けて1つの運動要素IDが記憶される。例えば、運動ID「G1_T1_PS_CN」に対応付けて運動要素ID「G1_T1_PS_L32_CN」が記憶され、「G1_T1_PE_CN」に対応付けて運動要素ID「G1_T1_PE_L32_CN」が記憶される。なお、対応演奏パート種別が「PS」、「PE」である運動IDに対応付けて複数の運動要素IDが記憶されてもよい。
テーマIDは、運動要素IDが示す運動要素が属する運動テーマを示す。対応演奏パート種別は、楽曲を構成する複数の演奏パートのうち、運動要素IDが示す運動要素が実行されるときに出力される演奏パートの種類を示す。換言すると、運動要素IDが示す運動要素は、対応演奏パート種別が示す種類の演奏パートに合わせて実行可能な運動要素である。対応演奏パート種別は、本発明の第1種類情報の一例である。対応演奏パート種別として、例えば、「PS」、「P1」、「P2」、「P3」、「PE」の何れかが記憶されてもよい。「PS」は、楽曲を構成する複数の演奏パートのうち最初に演奏される演奏パートを示す。対応演奏パート種別「PS」に対応する運動要素IDが示す運動要素を、開始運動要素という。「P1」、「P2」及び「P3」は、楽曲を構成する複数の演奏パートのうち中間に演奏される演奏パートを示す。中間の演奏パートは、楽曲の最初及び最後以外の順番で演奏される演奏パートである。「P1」、「P2」及び「P3」の何れかの対応演奏パート種別に対応する運動要素IDが示す運動要素を、メイン運動要素という。「PE」は、楽曲を構成する複数の演奏パートのうち最後に演奏される演奏パートを示す。対応演奏パート種別「PE」に対応する運動要素IDが示す運動要素を、終了運動要素という。開始運動要素及び終了運動要素は、本発明の特定運動要素の例である。例えば、図2(C)に示す動要素情報テーブルには、運動要素ID「G1_T1_PS_L32_CN」に対応付けて、対応パート種別「PS」が記憶されている。また、運動要素ID「G1_T1_P1_L32_CN」、「G1_T1_P1_L64_CN」、「G1_T1_P1_L96_CN」、「G1_T1_P1_L32_CS」、「G1_T1_P1_L64_CS」、「G1_T1_P1_L96_CS」にそれぞれ対応付けて、対応パート種別「P1」が記憶されている。また、運動要素ID「G1_T1_P2_L32_CN」、「G1_T1_P2_L64_CN」、「G1_T1_P2_L96_CN」にそれぞれ対応付けて、対応パート種別「P2」が記憶されている。また、運動要素ID「G1_T1_P3_L32_CN」、「G1_T1_P3_L64_CN」、「G1_T1_P3_L96_CN」、「G1_T1_P3_L32_CE」、「G1_T1_P3_L64_CE」、「G1_T1_P3_L96_CE」にそれぞれ対応付けて、対応パート種別「P3」が記憶されている。また、運動要素ID「G1_T1_PE_L32_CN」に対応付けて、対応パート種別「PE」が記憶されている。
運動拍数は、運動要素IDが示す運動要素の一連の運動動作を実行するために要する時間の長さを示す。運動拍数は、本発明の第2拍数情報の一例である。例えば、対応演奏パート種別が「P1」、「P2」又は「P3」である同一の運動IDに対応付けられた複数の運動要素IDに対応付けて、複数の異なる運動拍数が記憶される。例えば、図2(C)に示す運動要素情報テーブルには、運動ID「G1_T1_P1_CS」に対応付けて記憶された運動要素ID「G1_T1_P1_L32_CS」、「G1_T1_P1_L64_CS」、「G1_T1_P1_L96_CS」に対応付けて、運動拍数「32」、「64」、「96」がそれぞれ記憶されている。
接続区分は、運動要素IDが示す運動要素が、テーマIDが示す運動テーマに属する複数の運動要素の中で、何れの運動要素と接続されるかを示す。換言すると、接続区分は、運動要素IDが示す運動要素が何れの運動要素と連続して実行されるかを示す。接続区分は、本発明の接続情報の一例である。接続区分として、例えば「Tn_CN」、「Tn_CS」、「Tn_CE」の何れかが記憶される。「Tn」は、運動テーマIDに応じて決定される。例えば、運動テーマIDがT1である場合、接続区分は、「T1_CN」、「T1_CS」、「T1_CE」の何れかである。「Tn_CN」は、運動要素IDが示す運動要素がメイン運動要素とのみ連続して実行されることを示す。すなわち、運動要素IDが示す運動要素が、何れの開始運動要素および終了運動要素と連続して実行されない。「Tn_CS」は、運動要素IDが示す運動要素が開始運動要素と連続して実行されることを示す。「Tn_CE」は、運動要素IDが示す運動要素が終了運動要素と連続して実行されることを示す。開始運動要素及び終了運動要素の運動要素IDに対応付けて、それぞれ接続区分「Tn_CN」が記憶される。メイン運動要素の運動要素IDに対応付けて、接続区分「Tn_CN」、「Tn_CS」及び「Tn_CE」の何れか1つが記憶される。
運動要素の運動映像を表示させるためのモーションデータは、運動要素ごとに、運動支援システム1の管理者により生成される。管理者は、同一の運動テーマに属する複数の異なる運動要素の開始姿勢及び終了姿勢が共通となるように、各運動要素のモーションデータを作成する。開始姿勢は、運動要素の一連の運動動作の最初の姿勢である。終了姿勢は、運動要素の一連の運動動作の最後の姿勢である。運動テーマ内で共通する開始姿勢及び終了姿勢を、運動テーマの共通姿勢という。本実施形態において、運動テーマの共通姿勢は、例えば一致する姿勢及び類似する姿勢を含んでもよい。なお、開始運動要素の開始姿勢、及び終了運動要素の終了姿勢は運動テーマの共通姿勢と異なっていてもよい。運動要素情報テーブルにおいては、開始姿勢及び終了姿勢の両方が運動テーマの共通姿勢であるメイン運動要素の運動要素IDに対応付けて、接続区分「Tn_CN」が記憶される。例えば、図2(C)に示す運動要素情報テーブルには、運動要素ID「G1_T1_P1_L32_CN」、「G1_T1_P1_L32_CN」、「G1_T1_P1_L64_CN」、「G1_T1_P1_L96_CN」、「G1_T1_P2_L32_CN」、「G1_T1_P2_L64_CN」、「G1_T1_P2_L96_CN」、「G1_T1_P3_L32_CN」、「G1_T1_P3_L64_CN」、「G1_T1_P3_L96_CN」、「G1_T1_PE_L32_CN」にそれぞれ対応付けて、接続区分「T1_CN」が記憶されている。
開始運動要素及び終了運動要素の少なくとも一方においては、一連の運動動作が特殊な場合がある。すなわち、開始運動要素及び終了運動要素の少なくとも一方の運動動作が、メイン運動要素の運動動作と類似しない場合がある。例えば、開始運動要素が特殊な場合、管理者が開始運動要素のモーションデータを作成するとき、開始運動要素の終了姿勢が運動テーマの共通姿勢とは異なってもよい。このとき、管理者は、開始姿勢が開始運動要素の終了姿勢と共通し、且つ終了姿勢が運動テーマの共通姿勢であるメイン運動要素のモーションデータを作成する。このメイン運動要素の運動要素IDに対応付けて、運動要素情報テーブルには接続区分「Tn_CS」が記憶される。例えば、図2(C)に示す動要素情報テーブルには、運動要素ID「G1_T1_P1_L32_CS」、「G1_T1_P1_L64_CS」、「G1_T1_P1_L96_CS」にそれぞれ対応付けて、接続区分「T1_CS」が記憶されている。或る運動テーマの開始運動要素の終了姿勢がその運動テーマの共通姿勢である場合、運動要素情報テーブルには、その運動テーマのテーマID、及び接続区分「Tn_CS」に対応付けられた運動要素IDは記憶されなくてもよい。
また、終了運動要素が特殊な場合、管理者が終了運動要素のモーションデータを作成するとき、終了運動要素の開始姿勢が運動テーマの共通姿勢とは異なってもよい。このとき、管理者は、終了姿勢が終了運動要素の開始姿勢と共通し、且つ開始姿勢が運動テーマの共通姿勢であるメイン運動要素のモーションデータを作成してもよい。このメイン運動要素の運動要素IDに対応付けて、運動要素情報テーブルには接続区分「Tn_CE」が記憶される。例えば、図2(C)に示す動要素情報テーブルには、運動要素ID「G1_T1_P3_L32_CE」、「G1_T1_P3_L64_CE」、「G1_T1_P3_L96_CE」にそれぞれ対応付けて、接続区分「T1_CE」が記憶されている。或る運動テーマの終了運動要素の開始姿勢がその運動テーマの共通姿勢である場合、運動要素情報テーブルには、その運動テーマのテーマID、及び接続区分「Tn_CE」に対応付けられた運動要素IDは記憶されなくてもよい。
[1−3−4.レッスン目的情報テーブルの構成]
図3(A)は、レッスン目的情報テーブルの一例を示す図である。目的情報テーブルには、運動ジャンルごとに運動ジャンルIDが記憶される。さらに、各運動ジャンルIDに対応付けて、レッスン目的ID及びレッスン目的名がレッスン目的ごとに複数記憶される。レッスン目的IDは、レッスン目的を識別可能な識別情報である。レッスン目的名は、レッスン目的の名称である。例えば、図3(A)が示すレッスン目的情報テーブルには、ジャンルID「G1」に対応付けて、レッスン目的ID「G1_A1」及び「G1_A2」が記憶されている。
[1−3−5.目的別レッスン情報テーブルの構成]
図3(B)は、目的別レッスン情報テーブルの一例を示す図である。目的別レッスン情報テーブルには、運動レッスンごとに、レッスンID、ジャンルID、レッスン目的ID及びレッスン情報が対応付けて記憶される。レッスンIDは、運動レッスンを識別可能な識別情報である。ジャンルIDは、運動レッスンで行われる運動の運動ジャンルを示す。レッスン目的IDは、運動レッスンを行う目的を示す。例えば、図3(B)に示す目的別レッスン情報テーブルには、レッスンID「L1」〜「L7」等が記憶され、レッスンID「L1」に対応付けて、ジャンルID「G1」及びレッスン目的ID「G1_A1」が記憶され、レッスンID「L2」に対応付けて、ジャンルID「G1」及びレッスン目的ID「G1_A2」が記憶される。さらに、目的別レッスン情報テーブルのレッスン情報には、運動レッスンを構成する運動ユニットごとに、運動番号、テーマID、テーマ名、楽曲ID、楽曲名が、運動レッスンを構成する運動ユニットごとに対応付けて記憶される。運動番号は、運動ユニットを構成する1又は複数の運動ユニットの中で、運動番号が示す運動ユニットが実行される順番を示す。例えば、図3(B)に示すように、レッスンID「L1」に対応するレッスン情報には、運動番号「1」〜「5」が格納されている。テーマID及びテーマ名は、運動番号が示す順番に実行される運動ユニットの運動テーマを示す。レッスン情報に含まれるテーマID及びテーマ名は、ジャンルIDが示す運動ジャンルに属する運動テーマを示す。例えば、図3(B)に示す目的別レッスン情報テーブルでは、レッスンID「L1」に対応するレッスン情報に、運動番号「1」〜「5」に対応付けて、テーマID「G1_T1」、「G1_T3」、「G1_T4」、「G1_T5」、「G1_T2」がそれぞれ格納されている。楽曲ID及び楽曲名は、運動番号が示す順番の運動ユニットが実行されるときに出力される楽曲の識別情報及び名称を示す。例えば、レッスンID「L1」に対応するレッスン情報には、運動番号「1」〜「5」に対応付けて、楽曲ID「m10001」〜「m10005」がそれぞれ格納されている。
[1−3−6.楽曲情報テーブルの構成]
図3(C)は、楽曲情報テーブルの一例を示す図である。楽曲情報テーブルは、楽曲に関する情報を記憶するテーブルである。具体的に、楽曲情報テーブルには、楽曲ごとに、楽曲ID、楽曲名、BPM、及び楽曲構成情報が対応付けて記憶される。BPMは、楽曲のオリジナルのテンポを示す。楽曲構成情報は、楽曲IDが示す楽曲を構成する複数の演奏パートに関する情報である。楽曲構成情報には、演奏パート番号、演奏パート種別及び演奏拍数が、楽曲を構成する演奏パートごとに格納されている。演奏パート番号は、楽曲を構成する複数の演奏パートの中で再生される順番を示す。例えば、演奏パート番号として、「1」〜「5」が格納される。演奏パート種別は、演奏パート番号が示す演奏パートの種類を示す。演奏パート種別は、本発明の第1種類情報の一例である。例えば、演奏パート番号「1」〜「5」に対応付けて、演奏パート種別「PS」、「P1」、「P2」、「P3」、「PE」がそれぞれ格納されている。本実施形態においては、楽曲を構成する複数の演奏パートの演奏パート種別及び再生される順番が全楽曲で共通している。しかしながら、楽曲を構成する演奏パートの演奏パート種別及び演奏パートの演奏順が、楽曲ごとに異なってもよい。また、例えば1つの楽曲の中に同一の演奏パート種別の演奏パートが複数含まれてもよい。演奏拍数は、演奏パート番号が示す演奏パートの長さを示す。演奏拍数は、本発明の第1拍数情報の一例である。例えば、楽曲ID「m10001」に対応する楽曲構成情報には、演奏パート番号「1」〜「5」に対応付けて、演奏拍数「32」、「32」、「32」、「64」、「32」がそれぞれ格納されている。また、楽曲ID「m10002」に対応する楽曲構成情報には、演奏パート番号「1」〜「5」に対応付けて、演奏拍数「32」、「64」、「32」、「64」、「32」がそれぞれ格納されている。
[1−3−7.ループ数決定情報テーブルの構成]
図3(D)は、ループ数決定情報テーブルの一例を示す図である。ループ数決定情報テーブルは、楽曲を構成する複数の演奏パートのうち、中間の演奏パートを繰り返し演奏する回数を示す情報を記憶するテーブルである。中間の演奏パートを繰り返し演奏する回数をループ数という。具体的に、ループ数決定情報テーブルには、ループ数ごとに、下限BPM、上限BPM及びループ数が対応付けて記憶される。下限BPM及び上限BPMは、対応するループ数が適用される運動BPMの範囲の下限値及び上限値を示す。例えば、図3(D)に示すループ数決定情報テーブルには、下限BPM「0」、上限BPM「90」及びループ数「1」が対応付けて記憶され、下限BPM「91」、上限BPM「160」及びループ数「2」が対応付けて記憶され、下限BPM「160」、上限BPM「−」及びループ数「3」が対応付けて記憶されている。上限BPM「−」は、運動BPMの上限が設定されていないことを示す。
[2.運動ユニット情報の構成]
運動レッスンで行われる各運動ユニットを構成する複数の運動要素を示す情報を、運動ユニット情報という。運動ユニット情報は、出力端末5により運動ユニットごとに生成される。図4(D)及び図4(H)は、運動ユニット情報の一例を示す図である。運動ユニット情報は、複数の再生番号と、複数の演奏パート種別と、複数の拍数と、複数の運動要素IDとを含む。演奏パート種別、拍数及び運動要素IDは、再生番号に対応付けられている。再生番号は、運動ユニットを構成する複数の運動要素の中で、対応する運動要素IDが示す運動要素の運動映像が再生される順番を示す。演奏パート種別は、運動要素IDが示す運動要素の運動映像が表示されるときに出力される演奏パートの種類を示す。図4(D)に示す運動ユニット情報においては、再生番号「1」〜「5」に、演奏パート種別「PS」、「P1」、「P2」、「P3」、「PE」がそれぞれ対応付けられている。また、図4(H)に示す運動ユニット情報においては、再生番号「1」〜「8」に、演奏パート種別「PS」、「P1」、「P2」、「P3」、「P1」、「P2」、「P3」、「PE」がそれぞれ対応付けられている。拍数は、運動要素IDが示す運動要素の運動拍数及び演奏パート種別が示す演奏パートの演奏拍数を示す。図4(D)に示す運動ユニット情報においては、再生番号「1」〜「5」に、拍数「32」、「32」、「32」、「64」、「32」がそれぞれ対応付けられている。また、図4(H)に示す運動ユニット情報においては、再生番号「1」〜「8」に、拍数「32」、「64」、「32」、「64」、「64」、「32」、「64」、「32」がそれぞれ対応付けられている。運動要素IDは、再生番号が示す順番に実行される運動要素を示す。例えば、図4(D)に示す運動ユニット情報においては、再生番号「1」〜「5」に、運動要素ID「G1_T1_PS_L32_CN」、「G1_T1_P1_L32_CS」、「G1_T1_P2_L32_CN」、「G1_T1_P3_L64_CE」、「G1_T1_PE_L32_CN」がそれぞれ対応付けられている。また、図4(H)に示す運動ユニット情報においては、再生番号「1」〜「8」に、運動要素ID「G1_T3_PS_L32_CN」、「G1_T3_P1_L64_CN」、「G1_T3_P2_L32_CN」、「G1_T3_P3_L64_CN」、「G1_T3_P1_L64_CN」、「G1_T3_P2_L32_CN」、「G1_T3_P3_L64_CE」、「G1_T3_PE_L32_CN」がそれぞれ対応付けられている。
出力端末5は、運動レッスン内の或る運動ユニットの運動映像をディスプレイ67により表示させているとき、その運動ユニットに対応付けられた楽曲をスピーカ64により出力させる。このとき、出力端末5は、運動ユニット情報に基づいて、運動コンテンツを再生する。具体的に、出力端末5は、再生番号が示す番号順に従って、複数の運動要素IDが示す複数の運動要素が連続して実行される運動映像をディスプレイ67に表示させる。或る運動要素IDが示す運動要素の運動映像が表示されているとき、出力端末5は、その運動要素IDに対応する演奏パート番号に対応付けられた演奏パート種別の演奏パートをスピーカ64により出力させる。
[3.モーションデータの構成]
上述したように、同一の運動テーマに属する複数の異なる運動要素の開始姿勢及び終了姿勢が共通の姿勢となるように、各運動要素のモーションデータが作成される。例えば、運動要素の一連の運動動作が、前繋ぎ動作、メイン動作、及び後繋ぎ動作で構成されるように、モーションデータが作成されてもよい。前繋ぎ動作、メイン動作、後繋ぎ動作の順に運動要素が実行される。前繋ぎ動作は、運動要素の開始姿勢を含み、後繋ぎ動作は、運動要素の終了姿勢を含む。例えば、同一の運動テーマに属する全ての運動要素において、前繋ぎ動作及び後繋ぎ動作が共通するように、管理者はモーションデータを作成する。また、前繋ぎ動作及び後繋ぎ動作の運動拍数は一致する。運動要素の運動拍数は、例えばメイン動作の運動拍数と後繋ぎ運動動作の拍数の合計である。例えば、前繋ぎ動作及び後繋ぎ動作の運動拍数が4拍である場合において、或る運動要素の運動拍数が32拍であるとき、メイン動作の運動拍数は28拍である。なお、開始運動要素は、例えばメイン動作と後繋ぎ動作のみで構成されてもよいし、終了運動要素は、例えば前繋ぎ動作とメイン動作のみで構成されてもよい。
運動ユニットを構成する複数の運動要素が連続して実行される運動映像をディスプレイ67に表示させる場合、出力端末5は、モーションデータに基づいて、運動要素ごとに前繋ぎ動作、メイン動作、及び後繋ぎ動作が行われる運動映像を表示させる。このとき、出力端末5は、或る運動要素のモーションデータの後繋ぎ動作の定義部分と、その運動要素の次の実行順の運動要素のモーションデータの前繋ぎ動作の定義部分とを合成してもよい。これにより、出力端末5は、2つの運動要素が接続される部分の動作において、前の運動要素の後繋ぎ動作と、次の実行順の運動要素の前繋ぎ動作との中間的な動作が行われる映像を表示させてもよい。或いは、出力端末5は、2つの運動要素が接続される部分の動作については、前の運動要素のモーションデータのみに基づいて、前の運動要素の後繋ぎ動作が行われる映像を表示させてもよいし、次の実行順の運動要素のモーションデータのみに基づいて、次の実行順の運動要素の前繋ぎ動作が行われる映像を表示させてもよい。
[4.運動ユニット情報の生成方法]
運動内容に関連性又は類似性がない複数の運動要素が連続して行われる運動映像がディスプレイ67に表示されるとき、或る実行順の運動要素の終了姿勢と、次の実行順の運動要素の開始姿勢とが合わない場合がある。より具体的には、或る実行順の運動要素の後繋ぎ動作と次の実行順の運動要素の前繋ぎ動作が合わないとする。この場合、運動要素の接続部分で、ディスプレイ67に表示されるフィギュア83の動作が不自然となる。この場合、運動映像を生成するときに、出力端末5が、上述したようなモーションデータの合成を行うことにより、運動映像を生成することが考えられる。これにより、運動要素の接続部分の動作が或る程度滑らかになるかもしれない。しかしながら、前の実行順の運動要素の終了姿勢と次の実行順の運動要素の開始姿勢とが全く異なると、合成処理を施したとしても、運動要素の接続部分で不自然な動作となる場合がある。
そこで、出力端末5は、テーマ情報テーブルに記憶された複数のテーマIDの中から、何れかのテーマIDを、運動レッスンを構成する運動ユニットの運動テーマを示すテーマIDに決定する。この運動テーマを特定テーマという。出力端末5は、特定テーマのテーマIDに対応付けて運動要素情報テーブルに記憶されている複数の運動要素IDの中から何れか複数の運動要素IDを、運動ユニットを構成する複数の運動要素の運動要素IDに決定する。出力端末5は、決定した複数の運動要素IDを含む運動ユニット情報を生成する。そして、出力端末5は、運動ユニット情報に基づいて、決定した複数の運動要素IDが示す複数の運動要素が連続して実行される運動映像をディスプレイ67に表示させる。上述したように、管理者等が各運動要素のモーションデータを作成するとき、同一の運動テーマに属する複数の運動要素の開始姿勢及び終了姿勢は、基本的に複数の運動要素間で共通とする。これにより、出力端末5が、運動ユニット情報に基づいて同一の運動テーマに属する複数の運動要素が連続して実行される運動映像をディスプレイ67に表示させるとき、複数の運動要素の接続部分が自然な映像を出力することができる。
特定テーマのテーマIDを決定するとき、出力端末5は、例えば自動的に特定テーマのテーマIDを決定してもよいし、操作者42によるリモコン66等の操作に基づいて特定テーマのテーマIDを決定してもよい。例えば、本実施形態においては、出力端末5は、レッスン目的情報テーブルに記憶されたレッスン目的IDの中から何れかのレッスン目的IDを、運動レッスンの目的のレッスン目的IDに決定してもよい。このとき、出力端末5は、例えば自動的にレッスン目的IDを決定してもよいし、操作者42によるリモコン66等の操作に基づいてレッスン目的IDを決定してもよい。レッスン目的IDを決定すると、出力端末5は、目的別レッスン情報テーブルから、レッスン目的IDに対応するレッスン情報を取得する。出力端末5は、取得したレッスン情報に含まれるテーマIDを、特定テーマのテーマIDに決定する。
出力端末5は、例えば運動ユニットが実行されるときに出力される楽曲の楽曲IDを決定してもよい。この楽曲を、特定楽曲という。このとき、出力端末5は、例えば自動的に特定楽曲の楽曲IDを決定してもよいし、操作者42によるリモコン66等の操作に基づいて特定楽曲の楽曲IDを決定してもよい。例えば、本実施形態においては、出力端末5は、レッスン目的情報テーブルから、決定したレッスン目的IDに対応するレッスン情報を取得する。出力端末5は、取得したレッスン情報に含まれる楽曲IDを、特定楽曲の楽曲IDに決定する。
実行される複数の運動要素の運動要素IDを決定するとき、出力端末5は、特定楽曲を構成する複数の演奏パートにそれぞれに対応付ける運動要素の運動要素IDを決定してもよい。例えば、出力端末5は、特定楽曲の楽曲IDに対応付けて楽曲情報テーブルに記憶された楽曲情報に含まれる演奏拍数と、特定テーマのテーマIDに対応付けて運動要素情報テーブルに記憶された運動拍数とに基づいて、複数の運動要素IDを決定する。具体的に、出力端末5は、特定楽曲の楽曲情報に含まれる演奏パート番号及び演奏拍数ごとに、特定テーマのテーマIDに対応する複数の運動要素IDの中から、その演奏拍数と一致する運動拍数に対応付けられた運動要素IDを決定する。これにより、楽曲の構成に合った複数の運動要素を決定することができる。
また、出力端末5は、特定楽曲を構成する演奏パートごとに、特定テーマのテーマIDに対応付けて運動要素情報テーブルに記憶された複数の運動要素IDの中から、特定楽曲の楽曲情報に含まれる演奏パート種別と一致する対応演奏パート種別に対応付けて運動要素情報テーブルに記憶された運動要素IDのうち、楽曲情報に含まれる演奏拍数と一致する運動拍数に対応付けられた運動要素IDを決定してもよい。これにより、演奏パート種別に合った運動要素を決定することができる。
図3(C)に示すように、楽曲情報においては、楽曲を構成する複数の演奏パートのうち、最初の演奏パート番号の演奏パートの演奏パート種別は「PS」である。従って、出力端末5は、最初の再生番号の演奏パートに、演奏パート番号と対応付ける運動要素IDとして、開始運動要素の運動要素IDを決定する。また、楽曲を構成する複数の演奏パートのうち、最後の演奏パート番号の演奏パートの演奏パート種別は「PE」である。従って、出力端末5は、最後の再生番号の演奏パートに、演奏パート番号と対応付ける運動要素IDとして、終了運動要素の運動要素IDを決定する。
出力端末5は、開始運動要素と連続して実行される運動要素の運動要素IDとして、例えば接続種別「Tn_PS」に対応付けて運動要素情報テーブルに記憶された運動要素IDを決定してもよい。開始運動要素の終了姿勢が特定テーマの共通姿勢と異なる場合であっても、接続種別「Tn_PS」である運動要素IDが示す運動要素の開始姿勢は、開始運動要素の終了姿勢が共通する。従って、開始運動要素と、開始運動要素に連続して実行される運動要素の接続部分が自然な映像を出力することができる。また、レッスンを行うユーザは、映像を見ながら、運動要素の接続部分が自然な流れで複数の運動要素の運動を行うことができる。また、出力端末5は、例えば終了運動要素と連続して実行される運動要素の運動要素IDとして、接続種別「Tn_PE」に対応付けて運動要素情報テーブルに記憶された運動要素IDを決定してもよい。終了運動要素の開始姿勢が特定テーマの共通姿勢と異なる場合であっても、接続種別「Tn_PE」である運動要素IDが示す運動要素の終了姿勢は、終了運動要素の開始姿勢が共通する。従って、終了運動要素と、終了運動要素に連続して実行される運動要素の接続部分が自然な映像を出力することができる。レッスンを行うユーザは、映像を見ながら、終了運動要素の開始姿勢から自然な流れで終了運動要素の運動を行うことができる。
出力端末5は、例えば、特定テーマのテーマIDに対応付けてテーマ情報テーブルに記憶されている運動BPMに基づいて、特定楽曲の中間の演奏パートが繰り返し再生されるように、特定楽曲の演奏パート構成を変更してもよい。この場合、出力端末5は、演奏パート構成変更後の特定楽曲を構成する各演奏パートに対応付ける運動要素の運動要素IDを決定する。そして、出力端末5は、運動ユニットの運動映像をディスプレイ67に表示させるとき、演奏パート構成変更後の特定楽曲をスピーカ64により出力させる。出力端末5は、例えば運動BPMが速いほど、中間の演奏パートのループ数が多くなるように、ループ数を決定してもよい。すなわち、運動BPMが速いほど、演奏パート構成変更後の特定楽曲を構成する演奏パートの数が多くなる。運動BPMが速いほど楽曲の演奏時間が短くなり、且つ運動ユニットの実行時間も短くなる。そこで、運動BPMが速いほど特定楽曲を構成する演奏パートの数を多くすることで、運動ユニットの実行時間を一定の範囲内に保つことが可能となる。
具体的に、出力端末5は、リピート数決定情報テーブルから、運動BPMに対応するループ数を取得する。そして、出力端末5は、ループ数に基づいて、例えば再生楽曲構成テーブルを生成する。再生楽曲構成テーブルは、演奏パート構成変更後の特定楽曲の構成を示す情報である。例えば、再生楽曲構成テーブルには、演奏パート構成変更後の特定楽曲を構成する演奏パートごとに、再生番号、演奏パート番号、演奏パート種別、及び演奏拍数が対応付けて記憶される。図4(C)は、ループ数が1である場合の再生楽曲構成テーブルの一例を示す図である。図3(D)に示すように、楽曲情報テーブルにおいては、再生番号「1」〜「5」にそれぞれ対応付けて、演奏パート種別「PS」、「P1」、「P2」、「P3」、「PE」が記憶されている。従って、ループ数が1である場合、再生楽曲構成テーブルには、再生番号「1」〜「5」にそれぞれ対応付けて、演奏パート種別「PS」、「P1」、「P2」、「P3」、「PE」が記憶される。図4(G)は、ループ数が2である場合の再生楽曲構成テーブルの一例を示す図である。ループ数が2である場合、再生楽曲構成テーブルには、再生番号「1」〜「8」にそれぞれ対応付けて、演奏パート種別「PS」、「P1」、「P2」、「P3」、「P1」、「P2」、「P3」、「PE」が記憶される。ループ数が3である場合、再生楽曲構成テーブルには、再生番号「1」〜「11」にそれぞれ対応付けて、演奏パート種別「PS」、「P1」、「P2」、「P3」、「P1」、「P2」、「P3」、「P1」、「P2」、「P3」、「PE」が記憶される。
次に、運動ユニット情報の生成の具体例を説明する。例えば、出力端末5は、レッスン目的IDとして、「G1_A1」を決定したとする。出力端末5は、レッスン目的ID「G1_A1」に対応するレッスン情報を、目的別レッスン情報テーブルから取得する。図3(B)に示すように、レッスン目的ID「G1_A1」に対応するレッスン情報には、テーマID「G1_T1」〜「G1_T5」が格納されている。出力端末5は、運動番号の順に、特定テーマのテーマIDを決定する。
図4(A)乃至図4(D)は、特定テーマIDが「G1_T1」である場合の運動ユニット情報の生成方法の一例を示す図である。図4(A)は、特定テーマのテーマ情報の一例を示す図である。図4(B)は、特定楽曲の楽曲情報の一例を示す図である。図4(C)は、再生楽曲構成テーブルの一例を示す図である。図4(D)は、運動ユニット情報の一例を示す図である。
例えば、出力端末5は、図4(A)に示すように、運動番号1に対応するテーマID「G1_T1」を特定テーマのテーマIDに決定したとする。この場合の特定テーマは、エアロビクスのウォーミングアップである。図2(B)に示すように、「G1_T1」に対応付けてテーマ情報テーブルに記憶されている楽曲IDは、「m10001」である。従って、出力端末5は、特定楽曲の楽曲IDとして、「m10001」を決定する。そして、出力端末5は、「m10001」に対応する楽曲情報を楽曲情報テーブルから取得する。また、図4(A)に示すように、テーマID「G1_T1」に対応する運動BPMは90である。図3(C)に示すループ数情報テーブルにおいて、90BPMに対応するループ数は1回である。そのため、図4(C)に示すように、出力端末5は、再生番号と、楽曲情報に含まれる演奏パート番号、演奏パート種別及び演奏拍数と同一の演奏パート種別及び演奏拍数を含む再生楽曲構成テーブルを生成する。
次いで、出力端末5は、運動要素IDを決定する。再生番号1の演奏パートの演奏パート種別はPSであり、演奏拍数は32拍である。従って、出力端末5は、運動要素情報テーブルから、テーマID「G1_T1」、対応演奏パート種別「PS」及び運動拍数「32」に対応する運動要素ID「G1_T1_PS_L32_CN」を決定する。
再生番号2の演奏パートの演奏パート種別はP1であり、演奏拍数は32拍である。また、再生番号2の運動要素は、開始運動要素と連続して実行される。従って、出力端末5は、運動要素情報テーブルから、テーマID「G1_T1」、対応演奏パート種別「P1」、運動拍数「32」、及び接続種別「T1_CS」に対応する運動要素ID「G1_T1_P1_L32_CS」を決定する。
再生番号3の演奏パートの演奏パート種別はP2であり、演奏拍数は32拍である。また、再生番号3の運動要素は、開始運動要素とも終了運動要素とも連続して実行されない。従って、出力端末5は、運動要素情報テーブルから、テーマID「G1_T1」、対応演奏パート種別「P2」、運動拍数「32」、及び接続種別「T1_CN」に対応する運動要素ID「G1_T1_P2_L32_CN」を決定する。
再生番号4の演奏パートの演奏パート種別はP3であり、演奏拍数は64拍である。また、再生番号4の運動要素は、終了運動要素と連続して実行される。従って、出力端末5は、運動要素情報テーブルから、テーマID「G1_T1」、対応演奏パート種別「P3」、運動拍数「64」、及び接続種別「T1_CE」に対応する運動要素ID「G1_T1_P3_L64_CE」を決定する。
再生番号5の演奏パートの演奏パート種別はPEであり、演奏拍数は32拍である。従って、出力端末5は、運動要素情報テーブルから、テーマID「G1_T1」、対応演奏パート種別「PE」、運動拍数「32」に対応する運動要素ID「G1_T1_PE_L32_CN」を決定する。
出力端末5は、決定した各運動要素IDを、再生楽曲構成テーブルの再生番号に対応付けて、図4(D)に示すような運動ユニット情報を生成する。
図4(E)乃至図4(H)は、特定テーマIDが「G1_T3」である場合の運動ユニット情報の生成方法の一例を示す図である。図4(E)は、特定テーマのテーマ情報の一例を示す図である。図4(F)は、特定楽曲の楽曲情報の一例を示す図である。図4(G)は、再生楽曲構成テーブルの一例を示す図である。図4(H)は、運動ユニット情報の一例を示す図である。
出力端末5は、図4(E)に示すように、運動番号2に対応するテーマID「G1_T3」を特定テーマのテーマIDに決定したとする。この場合の特定テーマは、エアロビクスのローインパクト1である。図3(B)に示すように、テーマID「G1_T3」に対応付けてテーマ情報テーブルに記憶されている楽曲IDは、「m10002」である。従って、出力端末5は、楽曲ID「m10002」を特定楽曲の楽曲IDに決定する。そして、出力端末5は、「m10002」に対応する楽曲情報を楽曲情報テーブルから取得する。また、図4(E)に示すように、テーマID「G1_T3」に対応する運動BPMは120BPMである。図3(C)が示すループ数テーブルにおいては、120BPMに対応するループ数は2回である。そのため、出力端末5は、再生番号「1」に、特定楽曲の楽曲情報に対応付けて格納されている演奏パート番号「1」、演奏パート種別「PS」及び演奏拍数「32」を対応付けて再生楽曲構成テーブルに格納する。また、出力端末5は、再生番号「2」に、演奏パート番号「2」、演奏パート種別「P1」及び演奏拍数「64」を対応付けて再生楽曲構成テーブルに格納する。また、出力端末5は、再生番号「3」に、演奏パート番号「3」、演奏パート種別「P2」及び演奏拍数「32」を対応付けて再生楽曲構成テーブルに格納する。また、出力端末5は、再生番号「4」に、演奏パート番号「4」、演奏パート種別「P3」及び演奏拍数「64」を対応付けて再生楽曲構成テーブルに格納する。また、出力端末5は、再生番号「2」〜「4」に対応する演奏パート種別及び演奏拍数を再生楽曲構成テーブルに再度格納する。このとき、出力端末5は、再生番号「5」に、演奏パート番号「2」、演奏パート種別「P1」及び演奏拍数「64」を対応付け、再生番号「6」に、楽曲パート番号「3」、演奏パート種別「P2」及び演奏拍数「32」を対応付け、再生番号「7」に、演奏パート番号「3」、演奏パート種別「P3」及び演奏拍数を対応付ける。また、出力端末5は、特定楽曲の楽曲情報において演奏パート番号「5」と、演奏パート番号「5」に対応付けられている演奏パート種別「PE」及び演奏拍数「32」を、再生番号「8」に対応付けて、再生楽曲構成テーブルに格納する。このようにして、図4(G)に示すような再生楽曲構成テーブルが完成する。
再生番号1の演奏パートの演奏パート種別はPSであり、演奏拍数は32拍である。従って、出力端末5は、運動要素情報テーブルから、テーマID「G1_T3」、対応演奏パート種別「PS」及び運動拍数「32」に対応する運動要素ID「G1_T3_PS_L32_CN」を決定する。
再生番号2の演奏パートの演奏パート種別はP1であり、演奏拍数は64拍である。しかしながら、図2(C)に示す運動要素情報テーブルには、テーマID「G1_T3」、対応演奏パート種別「P1」、運動拍数「64」、及び接続種別「T1_CS」に対応する運動要素IDが記憶されていない。この場合、再生番号1に対応付けられる運動要素ID「G1_T3_PS_L32_CN」が示す開始運動要素の終了姿勢は、テーマID「G1_T3」が示す運動テーマの共通姿勢である。そこで、出力端末5は、接続種別を「T1_CN」に変更する。そして、出力端末5は、運動要素情報テーブルから、テーマID「G1_T3」、対応演奏パート種別「P1」、運動拍数「64」、及び接続種別「T3_CN」に対応する運動要素ID「G1_T3_P1_L64_CN」を決定する。
再生番号3の演奏パートの演奏パート種別はP2であり、演奏拍数は32拍である。従って、出力端末5は、運動要素情報テーブルから、テーマID「G1_T3」、対応演奏パート種別「P2」、運動拍数「32」、及び接続種別「T3_CN」に対応する運動要素ID「G1_T3_P2_L32_CN」を決定する。
再生番号4の演奏パートの演奏パート種別はP3であり、演奏拍数は64拍である。従って、出力端末5は、運動要素情報テーブルから、テーマID「G1_T3」、対応演奏パート種別「P3」、運動拍数「64」、及び接続種別「T3_CN」に対応する運動要素ID「G1_T3_P3_L64_CN」を決定する。
再生番号5の演奏パートの演奏パート種別はP1であり、演奏拍数は64拍である。従って、出力端末5は、運動要素情報テーブルから、テーマID「G1_T3」、対応演奏パート種別「P1」、運動拍数「64」、及び接続種別「T3_CN」に対応する運動要素ID「G1_T3_P1_L64_CN」を決定する。
再生番号6の演奏パートの演奏パート種別はP2であり、演奏拍数は32拍である。従って、出力端末5は、運動要素情報テーブルから、テーマID「G1_T3」、対応演奏パート種別「P2」、運動拍数「32」、及び接続種別「T3_CN」に対応する運動要素ID「G1_T3_P2_L32_CN」を決定する。
再生番号7の演奏パートの演奏パート種別はP3であり、演奏拍数は64拍である。また、再生番号7の運動要素は、終了運動要素と連続して実行される。従って、出力端末5は、運動要素情報テーブルから、テーマID「G1_T3」、対応演奏パート種別「P3」、運動拍数「64」、及び接続種別「T3_CE」に対応する運動要素ID「G1_T3_P3_L64_CE」を決定する。
再生番号8の演奏パートの演奏パート種別はPEであり、演奏拍数は32拍である。従って、出力端末5は、運動要素情報テーブルから、テーマID「G1_T3」、対応演奏パート種別「PE」、運動拍数「32」に対応する運動要素ID「G1_T3_PE_L32_CN」を決定する。
[5.運動支援システム1の動作]
次に、図5及び図6を参照して、出力端末5の動作を説明する。図5(A)は、出力端末5のCPU51のメイン処理の一例を示すフローチャートである。例えば、操作者42が、リモコン66等により、運動レッスンを開始させるための操作を行う。すると、CPU51は、メイン処理を開始する。
図5(A)に示すように、CPU51は、利用者41が行う運動レッスンの運動ジャンルのジャンルIDを取得する(ステップS1)。例えば、CPU51は、ジャンル情報テーブルに記憶されたジャンルID及びジャンル名に基づいて、運動ジャンルの一覧をディスプレイ67に表示させる。操作者42は、リモコン66等を操作することにより、一覧の中から何れかの運動ジャンルを指定する。CPU51は、指定された運動ジャンルのジャンルIDを取得する。次いで、CPU51は、利用者41が行う運動レッスンのレッスン目的のレッスン目的IDを取得する(ステップS2)。例えば、CPU51は、取得したジャンルIDに対応する複数のレッスン目的ID及びレッスン目的名をレッスン目的情報テーブルから取得する。次いで、CPU51は、取得したレッスン目的名に基づいて、レッスン目的の一覧をディスプレイ67に表示させる。操作者42は、リモコン66等を操作することにより、一覧の中から何れかのレッスン目的を指定する。CPU51は、指定されたレッスン目的のレッスン目的IDを取得する。次いで、CPU51は、取得したレッスン目的IDに対応するレッスン情報を目的別レッスン情報テーブルから取得する(ステップS3)。次いで、CPU51は、運動コンテンツ再生処理を実行する(ステップS4)。
図5(B)は、出力端末5のCPU51の運動コンテンツ再生処理の一例を示すフローチャートである。図5(B)に示すように、CPU51は、運動番号iを1に設定する(ステップS11)。次いで、CPU51は、運動番号iが、レッスン情報に含まれるテーマIDの数以下であるか否かを判定する(ステップS12)。このとき、CPU51は、運動番号iがテーマIDの数以下であると判定した場合には(ステップS12:YES)、ステップS13に進む。次いで、CPU51は、運動ユニット生成処理を実行させる。
図5(C)は、出力端末5のCPU51の運動ユニット生成処理の一例を示すフローチャートである。図5(C)に示すように、CPU51は、レッスン情報から運動番号iに対応するテーマIDを取得する。次いで、CPU51は、取得したテーマIDに対応する運動BPMをテーマ情報テーブルから取得する(ステップS21)。また、CPU51は、運動ユニット情報を初期化する。次いで、CPU51は、再生楽曲構成生成処理を実行する(ステップS22)。
図5(D)は、出力端末5のCPU51の再生楽曲構成生成処理の一例を示すフローチャートである。図5(D)に示すように、CPU51は、ループ数を決定する(ステップS31)。具体的に、CPU51は、ループ数決定テーブルに記憶されたループ数の中から、下限BPMがテーマ情報テーブルから取得した運動BPM以下であり、且つ、上限BPMが運動BPM以上であるループ数を取得する。次いで、CPU51は、運動番号iに対応する楽曲IDをレッスン情報から取得する。そして、CPU51は、取得した楽曲IDに対応する楽曲情報を楽曲情報テーブルから取得する(ステップS32)。
次いで、CPU51は、取得した楽曲情報及びループ数に基づいて、再生楽曲構成テーブルを生成する(ステップS33)。先ず、CPU51は、再生楽曲構成テーブルを初期化する。次いで、CPU51は、楽曲情報から演奏パート番号1に対応する演奏パート種別及び拍数を取得し、取得した演奏パート種別、拍数を再生番号1と対応付けて再生楽曲構成テーブルに追加する。次いで、CPU51は、再生番号jを2に設定する。次いで、CPU51は、再生番号jがループ数×(N−2)+1以下であるか否かを判定する。Nは、楽曲を構成する演奏パートの数である。再生番号jがループ数×(N−2)+1以下である場合、CPU51は、再生番号j−2をN−2で割った余りに1を加算することにより、演奏パート番号kを計算する。次いで、出力端末5は、楽曲情報から、演奏パート番号kに対応する演奏パート種別及び拍数を取得し、取得した演奏パート種別、拍数及び再生番号jを対応付けて再生楽曲構成テーブルに追加する。次いで、CPU51は、再生番号jに1を加算する。そして、CPU51は、上述と同様の方法で、演奏パート種別、拍数及び再生番号jを再生楽曲構成テーブルに追加する。再生番号jがループ数×(N−2)+1より大きい場合、CPU51は、楽曲情報から、最後の再生番号に対応する演奏パート種別及び拍数を取得し、取得した演奏パート種別、拍数及び再生番号jを対応付けて再生楽曲構成テーブルに追加する。こうして、再生楽曲構成テーブルが完成する。そして、CPU51は、再生楽曲構成生成処理を終了させる。
再生楽曲構成生成処理を終えると、CPU51は、図5(C)に示すように、運動要素対応付け処理を実行する。図6(A)は、出力端末5のCPU51の運動要素対応付け処理の一例を示すフローチャートである。図6(A)に示すように、CPU51は、再生番号jを1に設定する(ステップS41)。次いで、CPU51は、再生番号jが、再生楽曲構成テーブルに記憶されている演奏パート種別の数の値以下であるか否かを判定する(ステップS42)。このとき、CPU51は、再生番号jが演奏パート種別の数以下であると判定した場合には(ステップS42:YES)、ステップS43に進む。ステップS43において、CPU51は、一運動要素対応付け処理を実行する。
図6(B)は、出力端末5のCPU51の一運動要素対応付け処理の一例を示すフローチャートである。図6(B)に示すように、CPU51は、再生番号jに対応する演奏パートが先頭の演奏パートの次の演奏パートであるか否かを判定する(ステップS51)。例えば、CPU51は、再生番号jが2であるとき、再生番号jに対応する演奏パートが先頭の演奏パートの次の演奏パートであると判定する(ステップS51:YES)。この場合、CPU51は、接続区分をTn_CSに設定して(ステップS52)、ステップS55に進む。Tnは、運動番号iに対応するテーマIDに応じて異なる。一方、CPU51は、再生番号jに対応する演奏パートが先頭の演奏パートの次の演奏パートではないと判定した場合には(ステップS51:NO)、ステップS53に進む。
ステップS53において、CPU51は、再生番号jに対応する演奏パートが最後の演奏パートの直前の演奏パートであるか否かを判定する。例えば、CPU51は、再生番号jが、再生楽曲構成テーブルに記憶されている演奏パート種別の数の値より1小さい場合、再生番号jに対応する演奏パートが最後の演奏パートの直前の演奏パートであると判定する(ステップS53:YES)。この場合、CPU51は、接続区分をTn_CEに設定して(ステップS54)、ステップS55に進む。一方、CPU51は、再生番号jに対応する演奏パートが最後の演奏パートの直前の演奏パートではないと判定した場合には(ステップS54:NO)、ステップS58に進む。
ステップS55において、CPU51は、再生楽曲構成テーブルから再生番号jに対応する演奏パート種別及び演奏拍数を取得する。そしてCPU51は、運動番号iに対応するテーマID、再生番号jに対応する演奏パートの演奏パート種別及び演奏拍数と、ステップS52又はS53で設定された接続区分とに対応する運動要素IDを、運動要素情報テーブルから検索する。次いで、CPU51は、運動要素情報テーブルに、再生番号jに対応する演奏パートの演奏パート種別、演奏拍数、及び設定された接続区分に対応する運動要素IDが存在するか否かを判定する(ステップS56)。このとき、CPU51は、対応する運動要素IDが存在すると判定した場合には(ステップS56:YES)、ステップS57に進む。一方、CPU51は、対応する運動要素IDが存在しないと判定した場合には(ステップS56:NO)、ステップS58に進む。
ステップS57において、CPU51は、検索された運動要素IDを運動要素情報テーブルから取得する。次いで、CPU51は、ステップS60に進む。ステップS58において、CPU51は、接続区分をTn_CNに設定する。次いで、CPU51は、再生楽曲構成テーブルから再生番号jに対応する演奏パート種別及び拍数を取得する。そしてCPU51は、運動番号iに対応するテーマID、再生番号jに対応する演奏パート種別及び拍数と、ステップS58で設定された接続区分とに対応する運動要素IDを運動要素情報テーブルから取得する(ステップS59)。次いで、CPU51は、ステップS60に進む。ステップS60において、CPU51は、ステップS57又はS59で取得された運動要素IDを、再生番号j、再生番号jに対応する演奏パート種別及び演奏拍数に対応付けて運動ユニット情報に追加する。そして、CPU51は、一運動要素対応付け処理を終了させる。
一運動要素対応付け処理を終えると、図6(A)に示すように、CPU51は、再生番号jに1を加算して(ステップS44)、ステップS42に進む。ステップS42において、CPU51は、再生番号jが演奏パート種別の数以下ではないと判定した場合には(ステップS42:NO)、運動要素対応付け処理を終了させる。
運動要素対応付け処理を終えると、CPU51は、図5(C)に示す運動ユニット生成処理を終了させ、図5(B)に示すように、運動番号iの運動ユニットの運動コンテンツを再生する。具体的に、CPU51は、再生番号jを1に設定する。次いで、CPU51は、運動ユニット情報から再生番号jに対応する演奏パート種別を取得する。次いで、CPU51は、運動番号iの楽曲IDに対応する楽曲データに基づいて、演奏パート種別に対応する演奏パートの音声信号を音声出力部64に出力する。このとき、CPU51は、テーマ情報テーブルから取得した運動BPMに従って音声信号を出力する。これにより、運動番号iに対応する特定楽曲の中で、再生番号jに対応する演奏パート種別の演奏パートがスピーカ64により出力される。また、CPU51は、運動ユニット情報から再生番号jに対応する運動要素IDを取得する。次いで、CPU51は、運動要素IDに対応するモーションデータに基づいて、運動要素の一連の運動動作の静止画像を順次生成して静止画像を表示制御部56へ順次出力する。このとき、CPU51は、テーマ情報テーブルから取得した運動BPMに従って静止画像を出力する。これにより、再生番号jに対応する運動要素の一連の運動動作の運動映像がディスプレイ67に表示される。演奏パートの出力及び運動要素の運動映像の表示が終了すると、CPU51は、再生番号jが、運動ユニット情報に含まれる運動要素IDの数の値未満であるか否かを判定する。このとき、再生番号jが運動要素IDの数の値未満である場合、CPU51は、再生番号jに1を加算する。そして、CPU51は、上述と同様に、再生番号jに対応する運動要素の運動映像、演奏パートを出力させる。再生番号jが運動要素IDの数の値未満ではない場合、CPU51は、運動コンテンツの再生を終了させる。
次いで、CPU51は、運動番号iに1を加算して(ステップS15)、ステップS12に進む。ステップS12において、CPU51は、運動番号iがテーマIDの数以下ではないと判定した場合には(ステップS12:NO)、運動コンテンツ再生処理を終了させ、図5(A)に示すメイン処理を終了させる。
以上説明したように、本実施形態によれば、出力端末5が、HDD7に記憶された複数のテーマIDの中から特定テーマのテーマIDを決定する。また、出力端末5が、特定テーマのテーマIDに対応付けてHDD7に記憶された複数の運動要素IDの中から、連続して実行される複数の運動要素の運動IDを決定する。また、出力端末5が、決定された複数の運動IDが示す複数の運動要素が連続して実行される運動映像を表示させる運動ユニット情報を生成する。従って、実行される複数の運動要素の接続部分が自然な映像を出力することができる。
なお、上記実施形態においては、本発明の情報処理装置が出力端末5に適用されていた。しかしながら、本発明の情報処理装置が配信サーバ2に適用されてもよい。例えば、配信サーバ2が、運動ユニット情報を生成してもよい。また例えば、配信サーバ2が、運動ユニット情報に基づいて、音声データ及び動画データを生成してもよい。この場合の音声データは楽曲等を出力するためのデータであり、動画データは運動映像等を表示するためのデータである。運動レッスンが行われるとき、配信サーバ2は、音声データ及び動画データを、例えばストリーミング方式で出力端末5に送信する。これにより、配信サーバ2は、出力端末5により楽曲を出力させ、且つ、運動映像を表示させる。また、本発明の情報処理装置が出力端末5及び配信サーバ2に適用されてもよい。そして、出力端末5及び配信サーバ2は協働して処理を行ってもよい。