以下、本発明の実施形態を図面に基づいて説明する。以下に説明する実施の形態は、運動を支援するための運動コンテンツを生成する運動コンテンツ生成システムに本発明を適用した実施形態である。運動コンテンツは、運動を支援するための映像及び音声を含む。例えば、映像は、運動動作を表す映像であり、音声は、運動動作の内容を説明する音声である。
[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は、例えば、スポーツ施設、会社、利用者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に対するデータの書き込み及び読み出しを行う。ネットワーク通信部30は、配信サーバ2がネットワーク10に接続するための制御を行う。HDD37には、OSや各種制御プログラム等が記憶されている。
データベース3は、本願発明のレッスン記憶手段の一例である。データベース3には、運動映像、楽曲データ、実行履歴テーブル等が登録される。運動映像は、所定の拍数又は所定の長さで実行される運動を、1つの運動の単位と規定した運動動作を行うフィギュア83をディスプレイに映し出す動画である。運動映像は、本発明における映像の一例である。複数の運動映像が、後述する出力端末5により順に再生されることにより、運動レッスンが実行される。運動レッスンは、複数の運動を一連で行うことにより構成される。本実施形態において、運動レッスンを構成する一連の運動を例えばコリオグラフィーという。また、運動レッスンを構成する一連の運動の各運動を例えばミニコリオという。ミニコリオは、本発明の運動の一例である。データベース3には、運動映像が、ミニコリオごとに、ミニコリオIDと対応付けて登録される。ミニコリオIDは、ミニコリオを識別可能な識別情報である。ミニコリオIDは、本発明の運動識別情報の一例である。本実施形態におけるミニコリオは、例えば、健康の増進、体力の増強、筋力の強化等のために行われる運動である有酸素運動、無酸素運動、ストレッチ等の体操の動作と、楽曲に合わせて踊るために楽曲に対して振り付けられた踊りの動作との何れかの内容を示す1又は複数の運動で構成される運動動作である。ミニコリオごとに、構成される運動の数は異なっていてもよい。ミニコリオを構成する運動動作は、例えば、運動コンテンツ生成システム1の管理者が設定する。実行履歴テーブルの詳細は、後述にて説明する。
楽曲データは、スピーカ64により楽曲を出力するための演奏データである。楽曲データは、例えば、MIDI(Musical Instrument Digital Interface)形式のデータである。楽曲データは、楽曲を識別可能な識別情報である楽曲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に出力する。音声出力部63は、CPU51の制御に基づいて音声信号をモニタ57に出力する。ディスクドライブ58は、記録媒体59に対するデータの書き込み及び読み出しを行う。信号受信部65は、リモコン66から出力される信号を受信する。リモコン66は、操作者42が出力端末5を操作するためのものである。
HDD7は、本発明の運動記憶手段の一例である。HDD7には、配信サーバ2からダウンロードされた楽曲データ、運動映像等のデータが記憶される。また、HDD7には、マッチ度テーブル、許容度テーブル等が記憶される。運動映像は、ミニコリオごとに、ミニコリオIDと対応付けて記憶される。マッチ度テーブル、許容度テーブルの詳細は、後述にて説明する。なお、これらHDD7に記憶される情報は、何れも出力端末5が配信サーバ2からダウンロードしてもよい。
図1に示す出力端末5のHDD7には、更に、OS、運動支援プログラム等の各種プログラム等が記憶されている。運動支援プログラムは、利用者41の運動を支援するためのプログラムである。運動支援プログラムは、コンピュータとしてのCPU51に、希望受付ステップ、レッスン決定ステップ、適性度決定ステップ、提示ステップ、レッスン受付ステップを少なくとも実行させる。また、運動支援プログラムが実行されることにより、ディスプレイ67には、運動映像が表示される。
各種プログラムは、例えば、配信サーバ2等のサーバからネットワーク10を介してダウンロードされるようにしてもよい。また、各種プログラムは、記録媒体59に記録されてディスクドライブ58を介して読み込まれるようにしてもよい。
出力端末5は、モニタ57と接続可能である。モニタ57は、複数のスピーカ64とディスプレイ67とを備える表示装置である。出力端末5がモニタ57へ映像信号を出力することにより、ディスプレイ67に運動映像等が表示される。ディスプレイ67は、本発明の表示手段の一例である。出力端末5がモニタ57へ音声信号を出力することにより、スピーカ64により楽曲等が出力される。
CPU51は、スピーカ64から出力される楽曲と、ディスプレイ67に表示されるフィギュア83の動きとが同期するように、運動映像の信号を出力する。これにより、スピーカ64から出力される楽曲に同期して運動動作を行うフィギュア83がディスプレイ67に表示される。楽曲と運動映像とを出力することは、運動コンテンツを出力することの一例である。利用者41は、楽曲を聴きながら、ディスプレイ67に表示されるフィギュア83を見て、運動を行うことができる。こうして、利用者41は運動レッスンを行う。本実施形態では、運動レッスンにおいて行われる複数の運動動作の種類及び運動順序を定めたメニュー情報又はリスト情報を、運動メニューとする。運動メニューの構成の詳細は、後述する。出力端末5のCPU51は、運動メニューに従って、楽曲と運動動作を示す運動映像とを順に出力し、運動レッスンを実行させる。また、操作者42は、リモコン66等を用いて出力端末5を操作することができる。利用者41と操作者42とは同一人物であってもよい。施設4がスポーツ施設である場合、操作者42は、例えば、インストラクターであってもよい。
次に、出力端末5のHDD7に記憶されるマッチ度テーブル、許容度テーブルを、図2を用いて説明する。出力端末5は、利用者41により指定された条件に応じた2以上の運動レッスンを、利用者41が実行する運動レッスンの候補として提示する。マッチ度テーブル、許容度テーブルは、実行する運動レッスンの候補を決定するために用いられる。
[1−3.マッチ度テーブルの構成]
図2(A)は、HDD7に記憶されるマッチ度テーブルの一例を示す図である。マッチ度テーブルは、複数の運動目的それぞれに対するミニコリオのマッチ度を定義するテーブルである。図2(A)に示すように、マッチ度テーブルには、複数種類のミニコリオを示す複数のミニコリオIDが記憶されている。例えば、マッチ度テーブルには、「AERO_A」〜「AERO_J」が記憶されている。図2(A)に示すマッチ度テーブルには、説明の便宜上、エアロビクスのジャンルのミニコリオのミニコリオIDのみが記憶されている。しかしながら、マッチ度テーブルには、エアロビクス以外のジャンルのミニコリオのミニコリオIDも記憶されてもよい。
また、図2(A)に示すように、マッチ度テーブルには複数の目的IDが記憶される。例えばマッチ度テーブルには、目的ID「持久力をつける」、「パワーをつける」、「ストレス発散」、「肩腰背中をスッキリ」等が記憶される。
更に、マッチ度テーブルには、ミニコリオIDごとに、複数の目的IDそれぞれについて、ミニコリオの適性度を示すマッチ度が対応付けて記憶される。例えば1.00〜5.00の範囲でマッチ度が定められる。マッチ度の値が高いほど目的IDに対するミニコリオの適性度が高いことを示す。例えば、ミニコリオID「AERO_A」の目的ID「持久力をつける」についてのマッチ度は、「4」である。ミニコリオID「AERO_A」の目的ID「パワーをつける」についてのマッチ度は、「2.83」である。ミニコリオID「AERO_A」の目的ID「ストレス発散」についてのマッチ度は、「3」である。ミニコリオID「AERO_A」の目的ID「肩腰背中をスッキリ」についてのマッチ度は、「1.83」である。
更に、マッチ度テーブルには、ミニコリオIDごとに運動時間が記憶される。運動時間は、ミニコリオIDが示すミニコリオを実行するのに要する時間である。
ミニコリオのマッチ度は、例えば、ミニコリオごとに、身体部位の動きに基づいて運動ジャンルに応じた適性から決定される。具体的には、運動映像を予め解析して、運動動作中の各身体部位の動きを検知することにより、決定される。また、マッチ度は、運動コンテンツ生成システム1の管理者等が設定する場合や、配信サーバ2等の情報処理装置が、自動で決定してもよい。マッチ度は、言い換えれば、或るミニコリオが或る運動目的にどれほど適合するか或いはどれほど適切であるか等を示す値である。マッチ度が高いミニコリオであるほど、レッスン目的に対して効果が高いミニコリオである。
[ 1−4.許容度テーブル]
次に、HDD7に記憶される許容度テーブルを説明する。図2(B)は、許容度テーブルの一例を示す図である。
許容度テーブルには、希望レッスン時間と実際に運動レッスンに要するレッスン時間との相違時間の複数段階の許容範囲を示す複数の許容度段階語が記憶されている。レッスン時間は、運動レッスンを構成する複数のミニコリオの運動時間の合計である。希望レッスン時間は、運動レッスンの実行に要する時間として利用者41が希望する時間である。許容度テーブルには、例えば許容度段階語「おおよそ」、「ざっと」、「ほぼほぼ」、「ほぼ」、「ピッタリ」が記憶される。許容度段階語は、利用者41が希望するレッスン時間と実際に運動レッスンに要するレッスン時間とがどの程度まで離れても利用者41が許容するかを言葉で示す。
また、許容度テーブルには、許容度段階語ごとに最大相違時間が記憶される。最大相違時間は、利用者41が希望するレッスン時間と実際に運動レッスンの実行に要するレッスン時間との相違時間として利用者41が許容する最大値を示す。例えば、許容度段階語「おおよそ」に対応して最大相違時間「20秒」が定められる。許容度段階語「おおよそ」が利用者41により指定された場合、希望するレッスン時間との差が0秒〜20秒の範囲内のレッスン時間を利用者41が許容することを示す。許容度段階語「ざっと」に対応して最大相違時間「10秒」が定められる。許容度段階語「ほぼほぼ」に対応して最大相違時間「5秒」が定められる。許容度段階語「ほぼ」に対応して最大相違時間「2秒」が定められる。許容度段階語「ピッタリ」に対応して最大相違時間「1秒」が定められる。
許容度テーブルには、最大相違時間の代わりに、希望レッスン時間に対して、希望レッスン時間と実際に運動レッスンに要するレッスン時間との相違時間の割合が記憶されてもよい。例えば、許容度段階語「おおよそ」に対応して割合「20%」が定められる。希望レッスン時間として240秒が利用者41により指定され、許容度段階語「おおよそ」が利用者41により指定された場合、最大相違時間は48秒である。従って、希望するレッスン時間との差が0秒〜48秒の範囲内のレッスン時間を利用者41が許容する。許容度段階語「ざっと」に対応して割合「10%」が定められる。許容度段階語「ほぼほぼ」に対応して割合「5%」が定められる。許容度段階語「ほぼ」に対応して割合「2%」が定められる。許容度段階語「ピッタリ」に対応して割合「1%」が定められる。
[2.運動レッスンの提示]
利用者41が実行する運動レッスンの候補の提示方法を、図3及び図4を用いて説明する。
運動レッスンを行う際に利用者41が重視する条件は、利用者41の状況によって変化する場合がある。例えば、希望レッスン時間内に運動レッスンが終了することを利用者41が重視する場合がある。また、希望レッスン時間を厳守するよりも、運動目的の達成のためにより高い運動効果が得られることを利用者41が重視する場合がある。出力端末5は、利用者41の状況に応じた2以上の運動レッスンを提示する。
最初に、出力端末5は、提示する運動レッスンの条件として、運動目的、希望レッスン時間、相違時間の許容範囲を利用者41から受け付ける。出力端末5は、例えば運動目的の選択肢として、マッチ度テーブルに記憶された複数の目的IDに対応する複数の運動目的をディスプレイ67に表示する。利用者41は、表示された複数の運動目的のうち何れかの運動目的を選択する。
希望レッスン時間は、運動レッスンの実行に要する時間として利用者41が希望する時間である。例えば利用者41が数値で希望レッスン時間を入力してもよい。或いは出力端末5が、希望レッスン時間の選択肢として、複数のレッスン時間をディスプレイ67に表示してもよい。利用者41は、表示された複数のレッスン時間のうち何れかのレッスン時間を希望レッスン時間として選択してもよい。
相違時間の許容範囲は、希望レッスン時間と実際に運動レッスンに要する時間との相違時間として利用者41が許容する範囲である。出力端末5は、レッスン時間が、希望レッスン時間から相違時間の許容範囲内にある運動レッスンを利用者41に提示可能である。相違時間の許容範囲は、範囲種別と許容度段階語とを含んでもよい。範囲種別として、「時間内」及び「時間前後」の何れかを利用者41は選択可能である。範囲種別「時間内」は、レッスン時間が、希望レッスン時間−許容度段階語に対応する最大相違時間〜希望レッスン時間の範囲内である運動レッスンを利用者41が許容することを示す。範囲種別「時間前後」は、レッスン時間が、希望レッスン時間−許容度段階語に対応する最大相違時間〜希望レッスン時間+許容度段階語に対応する最大相違時間の範囲内である運動レッスンを利用者41が許容することを示す。出力端末5は、範囲種別の選択肢として、「時間内」及び「時間前後」をディスプレイ67に表示する。利用者41は、表示された範囲種別「時間内」及び「時間前後」のうち何れかの範囲種別を選択する。利用者41は、運動レッスンが希望レッスン時間内で終わることを厳守することを重視する場合、範囲種別「時間内」を選択することができる。例えば、会社の昼休みの時間内で運動レッスンを行う場合、利用者41は範囲種別「時間内」を選択してもよい。利用者41は、運動レッスンが希望レッスン時間内で終わることよりも、運動目的の達成のためにより高い運動効果が得られることを重視する場合、範囲種別「時間前後」を選択することができる。例えば、自宅で運動レッスンを行う場合、利用者41は範囲種別「時間前後」を選択してもよい。自宅では、利用者41は運動レッスンを行う時間の都合を付けやすい。なお、範囲種別を選択する代わりに、利用者41が会社にいるか又は自宅にいるか等を選択可能なように、出力端末5が機能してもよい。
出力端末5は、許容度段階語の選択肢として、許容度テーブルに記憶された複数の許容度段階語をディスプレイ67に表示する。利用者41は、表示された複数の許容度段階語のうち何れかの許容度段階語を選択する。利用者41は、実際の運動レッスンに要するレッスン時間と希望時間との相違時間をどの程度許容するかに応じた許容度段階語を選択することができる。複数の許容度段階語から何れかの許容度段階語を選択することで、ユーザは直感的に、希望レッスン時間と実際のレッスン時間との相違時間の許容範囲を直感的に指定することができる。なお、許容度段階語を選択する代わりに、利用者41が最大相違時間、又は希望レッスン時間に対する相違時間の割合を入力可能なように、出力端末5が機能してもよい。
出力端末5は、運動時間の合計が、利用者41から受け付けられた希望レッスン時間から、利用者41から受け付けられた相違時間の許容範囲内である複数のミニコリオの組み合わせを示す複数のミニコリオIDの組み合わせを、レッスン情報としてマッチ度テーブルから複数決定する。複数のミニコリオの組み合わせが、運動レッスンを構成する。また、複数のミニコリオの組み合わせの運動時間の合計が、複数のミニコリオの組み合わせにより構成される運動レッスンのレッスン時間である。複数のミニコリオIDの組み合わせを、レッスン情報という。
先ず、出力端末5は、レッスン最小時間及びレッスン最大時間を決定する。レッスン最小時間及びレッスン最大時間は、利用者41が許容するレッスン時間の範囲を示す。レッスン最小時間がレッスン時間の許容範囲の下限値であり、レッスン最大時間がレッスン時間の許容範囲の上限値である。出力端末5は、マッチ度テーブルから、利用者41から受け付けられた許容度段階語に対応する最大相違時間を取得する。利用者41から受け付けられた範囲種別が「時間内」である場合、出力端末5は、希望レッスン時間から最大相違時間を減算することにより、レッスン最小時間を計算する。また出力端末5は、希望レッスン時間をレッスン最大時間として決定する。利用者41から受け付けられた範囲種別が「時間前後」である場合、出力端末5は、希望レッスン時間から最大相違時間を減算することにより、レッスン最小時間を計算する。また出力端末5は、希望レッスン時間に最大相違時間を加算することにより、レッスン最大時間を計算する。
出力端末5は、各ミニコリオIDに対応する運動時間をマッチ度テーブルから取得する。そして、出力端末5は、運動時間の合計が、レッスン最小時間からレッスン最大時間までの範囲内となる複数のミニコリオの組み合わせを複数決定する。組み合わせを構成するミニコリオの数は、例えば予め設定されている。本実施形態において、組み合わせを構成するミニコリオの数は3である。しかしながら、組み合わせを構成するミニコリオの数は2であってもよいし、4以上であってもよい。
出力端末5は、決定された複数のレッスン情報のそれぞれについて、レッスン情報に含まれる複数のミニコリオIDに対応するマッチ度のうち、利用者41から受け付けられた運動目的を示す目的IDに対応するマッチ度に基づいて、レッスン情報が示す運動レッスンの運動目的に対するマッチ度を決定する。例えば、出力端末5は、レッスン情報に含まれるミニコリオIDごとに、ミニコリオIDと、受け付けられた運動目的を示す目的IDとに対応するマッチ度を、マッチ度テーブルから取得する。出力端末5は、取得したマッチ度の平均値を、運動目的に対する運動レッスンのマッチ度として計算する。なお出力端末5は、平均値ではなく、中央値等を運動レッスンのマッチ度として計算してもよい。
出力端末5は、決定された複数のレッスン情報が示す複数の運動レッスンのうち2以上の運動レッスンを、実行する運動レッスンの候補として、決定されたマッチ度とレッスン時間とに関連付けて提示する。例えば、出力端末5は、運動レッスンごとに、レッスン名、マッチ度及びレッスン時間をディスプレイ67に表示する。これにより、利用者41が許容するレッスン時間の範囲内で、レッスン時間及びマッチ度の少なくとも一方が異なる2以上の運動レッスンが提示される。そのため、利用者41は、レッスン時間と運動目的に対する運動効果とのうちで重視する条件のバランスを考慮しながら、実行する運動レッスンを選択することができる。例えばレッスン時間を重視する場合、利用者41は、レッスン時間が希望レッスン時間内である運動レッスン又はレッスン時間が希望レッスン時間に相対的に近い運動レッスンを選択すればよい。運動効果を重視する場合、利用者41は、運動目的に対するマッチ度が相対的に高い運動レッスンを選択すればよい。
出力端末5は、決定された複数のレッスン情報に対応する複数の運動レッスンを全て提示してもよい。或いは、提示される運動レッスンの数は予め設定されてもよい。或いは、出力端末5は、運動目的に対するマッチ度が所定値以上である運動レッスンのみを提示してもよい。本実施形態において、出力端末5は、運動目的に対するマッチ度が高い運動レッスンから優先的に提示する。これにより、運動効果が相対的に高い運動レッスンを利用者41が選択することができる。また、本実施形態において、提示される運動レッスンの数は3である。しかしながら、提示される運動レッスンの数は2であってもよいし、4以上であってもよい。
利用者41が範囲種別「時間前後」を指定した場合、出力端末5は、決定された複数のレッスン情報が示す複数の運動レッスンの中から、レッスン時間が希望レッスン時間内である第1レッスンと、レッスン時間が希望レッスン時間よりも長く且つ希望レッスン時間から最大相違時間内であって、なお且つ第1レッスンよりも運動目的に対するマッチ度が高い第2レッスンを提示してもよい。希望レッスン時間の厳守を重視する場合、利用者41は第1レッスンを選択し、希望レッスン時間の厳守よりも運動効果を重視する場合、利用者41は第2レッスンを選択することができる。
出力端末5は、提示された2以上の運動レッスンのうち何れかの運動レッスンの選択を利用者41から受け付ける。そして、出力端末5は、選択された運動レッスンに対応する運動コンテンツを再生する。これにより、出力端末5は、スピーカ64により楽曲を出力させるとともに、出力される楽曲に同期して、選択された運動レッスンをフィギュア83が行う運動映像をディスプレイ67に表示させる。
次に、利用者41が実行する運動レッスンの候補の提示方法の具体例を説明する。図3(A)乃至図3(C)は、範囲種別「時間内」が指定された場合の例を示す。図3(A)は、利用者41により指定された条件の一例を示す図である。図3(A)に示す例では、利用者41は、希望レッスン時間「240秒」、範囲種別「時間内」、許容度段階語「ほぼほぼ」、運動目的「持久力をつける」を指定した。図2(B)において、許容度段階語「ほぼほぼ」に対応する最大相違時間は「5秒」である。範囲種別が「時間内」であるので、レッスン最小時間は235秒であり、レッスン最大時間は240秒である。
図3(B)は、レッスン時間が、希望レッスン時間から相違時間の許容範囲内にある運動レッスンのリストの一例を示す図である。レッスン時間が235秒から240秒までの範囲内にある運動レッスンとして、出力端末5は、レッスン1〜レッスン10を決定した。例えば、レッスン1は、図3(B)に示すように、ミニコリオID「AERO_A」、「AERO_C」、及び「AERO_J」が示す3個のミニコリオで構成される。図2(A)において、ミニコリオID「AERO_A」に対応する運動時間は「76秒」であり、ミニコリオID「AERO_C」に対応する運動時間は「80秒」であり、ミニコリオID「AERO_J」に対応する運動時間は「79秒」である。従って、運動時間の合計は、235秒である。この235秒は、レッスン1のレッスン時間となる。また、図2(A)において、ミニコリオID「AERO_A」と「持久力をつける」とに対応するマッチ度は「4」であり、ミニコリオID「AERO_C」と「持久力をつける」とに対応するマッチ度は「4」であり、ミニコリオID「AERO_J」と「持久力をつける」とに対応するマッチ度は「3.17」である。従って、マッチ度の平均値は3.72である。この3.72が、運動目的「持久力をつける」に対するレッスン1のマッチ度である。
図3(B)において、運動目的「持久力をつける」について、レッスン1のマッチ度は「3.72」、レッスン2のマッチ度は「3.83」、レッスン3のマッチ度は「3.89」、レッスン4のマッチ度は「3.83」、レッスン5のマッチ度は「3.61」、レッスン6のマッチ度は「3.67」、レッスン7のマッチ度は「3.56」、レッスン8のマッチ度は「3.5」、レッスン9のマッチ度は「3.78」、レッスン10のマッチ度は「3.56」である。従って、レッスン3のマッチ度が最も高く、レッスン2及び4のマッチ度が2番目に高い。マッチ度が同一である運動レッスンが複数存在する場合、出力端末5は、マッチ度が同一である複数の運動レッスンのうち、レッスン時間が希望レッスン時間に近い運動レッスンから優先的に提示してもよい。レッスン2のレッスン時間は237秒であり、レッスン4のレッスン時間は235秒である。従って、レッスン2のレッスン時間の方が、レッスン4のレッスン時間よりも希望レッスン時間に近い。そのため、レッスン2の方がレッスン4よりも優先的に提示される。
図3(C)は、運動レッスンの表示画面の一例を示す図である。図3(C)に示すように、レッスン3、2及び4が、それぞれのレッスン時間及び運動目的「持久力」に対するマッチ度とともに表示される。レッスン3の優先順位は1位であり、レッスン2の優先順位は2位であり、レッスン4の優先順位は3位である。例えば優先順位が高い運動レッスンから順に画面の上方から下方へ向かって並べて表示される。
図3(D)乃至図3(F)は、範囲種別「時間前後」が指定された場合の例を示す。図3(D)は、利用者41により指定された条件の一例を示す図である。図3(D)に示す例では、利用者41は、希望レッスン時間「240秒」、範囲種別「時間前後」、許容度段階語「ほぼほぼ」、運動目的「持久力をつける」を指定した。図2(B)において、許容度段階語「ほぼほぼ」に対応する最大相違時間は「5秒」である。範囲種別が「時間前後」であるので、レッスン最小時間は235秒であり、レッスン最大時間は245秒である。
図3(E)は、レッスン時間が、希望レッスン時間から相違時間の許容範囲内にある運動レッスンのリストの一例を示す図である。レッスン時間が235秒から245秒までの範囲内にある運動レッスンとして、出力端末5は、レッスン1〜レッスン18を決定した。レッスン1〜レッスン10は、図3(B)に示すレッスン1〜レッスン10と同一である。レッスン11〜レッスン18は、レッスン時間が希望レッスン時間より長く且つ希望レッスン時間から許容範囲内にある運動レッスンである。すなわち、レッスン11〜レッスン18のレッスン時間は、241秒〜245秒の範囲内にある。例えば、レッスン11は、図3(D)に示すように、ミニコリオID「AERO_A」、「AERO_B」、「AERO_D」が示す3個のミニコリオで構成される。図2(A)において、ミニコリオID「AERO_A」に対応する運動時間は「76秒」であり、ミニコリオID「AERO_B」に対応する運動時間は「90秒」であり、ミニコリオID「AERO_D」に対応する運動時間は「77秒」である。従って、運動時間の合計は、243秒である。この243秒は、レッスン11のレッスン時間となる。また、図2(A)において、ミニコリオID「AERO_A」と「持久力をつける」とに対応するマッチ度は「4」であり、ミニコリオID「AERO_B」と「持久力をつける」とに対応するマッチ度は「4.33」であり、ミニコリオID「AERO_D」と「持久力をつける」とに対応するマッチ度は「3.83」である。従って、マッチ度の平均値は4.06である。この4.06が、運動目的「持久力をつける」に対するレッスン11のマッチ度である。
図3(D)において、運動目的「持久力をつける」について、レッスン11のマッチ度は「4.06」、レッスン12のマッチ度は「3.72」、レッスン13のマッチ度は「3.78」、レッスン14のマッチ度は「3.83」、レッスン15のマッチ度は「3.78」、レッスン16のマッチ度は「3.72」、レッスン17のマッチ度は「3.56」、レッスン18のマッチ度は「3.5」である。従って、レッスン11のマッチ度が1番目に高く、レッスン3のマッチ度が2番目に高く、レッスン14のマッチ度が3番目に高い。
図3(F)は、運動レッスンの表示画面の一例を示す図である。図3(F)に示すように、レッスン11、3及び14が、それぞれのレッスン時間及び運動目的「持久力」に対するマッチ度とともに表示される。レッスン11の優先順位は1位であり、レッスン3の優先順位は2位であり、レッスン14の優先順位は3位である。レッスン3は、レッスン時間が希望レッスン時間内である第1レッスンである。レッスン14は、レッスン時間が希望レッスン時間よりも長く且つ希望レッスン時間から最大相違時間内であって、なお且つレッスン3よりも運動目的に対するマッチ度が高い第2レッスンである。
出力端末5は、運動目的、希望レッスン時間及び相違時間の許容範囲に加えて、利用者41からユーザIDを受け付けてもよい。ユーザIDは、利用者41を識別する識別情報である。ユーザIDは、本発明のユーザ識別情報の一例である。例えば、利用者41は、ユーザIDを入力する。出力端末5は、提示された2以上の運動レッスンの中から何れかの運動レッスンが利用者41に選択された場合、受け付けられた運動目的を示す目的ID、希望レッスン時間、相違時間の許容範囲、ユーザID、及び選択された運動レッスンのレッスン情報を対応付けて、実行履歴として実行履歴テーブルに記憶させてもよい。実行履歴テーブルは、例えばデータベース3に格納される。実行履歴テーブルに記憶される実行履歴は、目的ID、希望レッスン時間、相違時間の許容範囲、ユーザID及びレッスン情報を少なくとも含む。実行履歴は、更に、選択された運動レッスンの実行日時、選択された運動レッスンのレッスン時間、及び選択された運動レッスンの運動目的に対するマッチ度を含んでもよい。
出力端末5は、利用者41から新たに運動目的、希望レッスン時間、相違時間の許容範囲、及びユーザIDを受け付けたとき、受け付けられた運動目的、希望レッスン時間、及びユーザIDと一致する運動目的、希望レッスン時間、及びユーザIDに対応するレッスン情報が実行履歴テーブルに記憶されているかを判定してもよい。或いは、出力端末5は、受け付けられた運動目的、希望レッスン時間、及びユーザIDと一致する運動目的、希望レッスン時間、及びユーザIDに対応し、且つ受け付けられた相違時間の許容範囲と異なる相違時間の許容範囲に対応するレッスン情報が実行履歴テーブルに記憶されているかを判定してもよい。このレッスン情報を、対象レッスン情報という。対象レッスン情報が示す運動レッスンを、対象レッスンという。対象レッスン情報が実行履歴テーブルに記憶されているとき、出力端末5は、対象レッスン情報に含まれる複数のミニコリオIDのうち一部のミニコリオIDを、マッチ度テーブルに記憶された異なるミニコリオIDに入れ替えて、新たなレッスン情報を1又は複数生成してもよい。新たなレッスン情報を、一部変更レッスン情報という。一部変更レッスン情報が示す運動レッスンを、一部変更レッスンという。出力端末5は、レッスン時間が、希望レッスン時間から新たに受け付けられた相違時間の許容範囲内にある一部変更レッスン情報を生成する。出力端末5は、生成した一部変更レッスン情報が示す一部変更レッスンの中から、受け付けられた運動目的に対するマッチ度が、対象レッスンに対応するマッチ度よりも高い一部変更レッスンを決定してもよい。そして、出力端末5は、決定した一部変更レッスンを提示してもよい。
利用者41は、毎回同一の運動目的及び希望レッスン時間を指定して運動レッスンを実行する傾向がある一方で、運動レッスンを実行する状況によって相違時間の許容範囲を変更する場合がある。例えば上述したように、利用者41が会社にいる場合、利用者41は範囲種別「時間内」を選択し、利用者41が自宅にいる場合、利用者41は範囲種別「時間前後」を選択する場合がある。利用者41が相違時間の許容範囲を変更して運動レッスンを復習しようとする場合、過去に実行した運動レッスンと全く同じ運動レッスンを実行するよりも、運動レッスンを構成する複数のミニコリオのうち一部のミニコリオを別のミニコリオに入れ替えることにより、運動目的に対する運動効果を高めた方が、利用者41が満足する運動レッスンを行うことができる蓋然性がある。
出力端末5は、利用者41から今回受け付けられた範囲種別及び許容度段階語のうち少なくとも何れか一方が、実行履歴テーブルに記憶されたものと異なる場合に、一部変更レッスンを提示してもよい。利用者41から今回受け付けられた希望レッスン時間、範囲種別及び許容度段階語に対応するレッスン時間の許容範囲を、今回のレッスン時間の許容範囲とし、実行履歴テーブルに記憶された希望レッスン時間、範囲種別及び許容度段階語に対応するレッスン時間の許容範囲を、過去のレッスン時間の許容範囲とする。出力端末5は、例えば今回のレッスン時間の許容範囲が過去のレッスン時間の許容範囲を含む場合、今回のレッスン時間の許容範囲の一部と過去のレッスン時間の許容範囲の一部とが重複する場合、今回のレッスン時間の許容範囲と過去のレッスン時間の許容範囲とが全く重複しない場合に、一部変更レッスンを提示してもよい。本実施形態においては、新たに受け付けられた範囲種別が「時間前後」であり、実行履歴テーブルに記憶されている範囲種別が「時間内」であって、且つ新たに受け付けられた許容度段階語と実行履歴テーブルに記憶されている許容度段階語が同一である場合に、出力端末5は一部変更レッスンを提示する。
運動レッスンを構成する複数のミニコリオのうち別のミニコリオに入れ替えられるミニコリオの数は予め設定されてもよい。例えば、入れ替えられるミニコリオの数は1個であってもよいし、2個以上であってもよい。また、運動レッスンを構成する複数のミニコリオの数に対して、入れ替えられるミニコリオの数の割合が予め設定されてもよい。例えば、入れ替えられるミニコリオの数の割合は、運動レッスンを構成するミニコリオの数の2分の1、3分の1等であってもよい。
出力端末5は、決定された複数の一部変更レッスン情報が示す複数の一部変更レッスンの中から、レッスン時間が希望レッスン時間内である第1一部変更レッスンと、レッスン時間が希望レッスン時間よりも長く且つ希望レッスン時間から最大相違時間内であって、なお且つ第1一部変更レッスンよりも運動目的に対するマッチ度が高い第2一部変更レッスンを提示してもよい。第2一部変更レッスンをディスプレイ67に表示させるとき、出力端末5は、第2一部変更レッスンに関連付けて注意メッセージを表示させてもよい。例えば、「指定時間をオーバーしますが、より目的にマッチします」等の注意メッセージが表示されてもよい。提示される第1一部変更レッスンの数及び第2一部変更レッスンの数は予め設定されてもよい。本実施形態においては、第1一部変更レッスンの数は3であり、第2一部変更レッスンの数は1である。出力端末5は、運動目的に対するマッチ度が高い一部変更レッスンを優先的に提示してもよい。また、出力端末5は、第1一部変更レッスンを第2一部変更レッスンよりも優先的に提示してもよい。
次に、利用者41が実行する運動レッスンの候補としての一部変更レッスンの提示方法の具体例を説明する。図4(A)は、利用者41により指定された条件の一例を示す図である。図4(A)に示すように、例えば会社に設置された出力端末5に対して、利用者41は、希望レッスン時間「240秒」、範囲種別「時間内」、許容度段階語「ほぼほぼ」、運動目的「持久力をつける」、及びユーザID「USER1」を指定した。これに応じて、出力端末5は、図3(C)に示すように、レッスン3、2及び4を提示する。ここで、利用者41は、レッスン4を選択した。出力端末5は、利用者41のユーザID、希望レッスン時間「240秒」、範囲種別「時間内」、許容度段階語「ほぼほぼ」、運動目的「持久力をつける」、レッスン4のレッスン情報、レッスン時間及び運動目的「持久力をつける」に対するマッチ度を実行履歴テーブルに記憶させる。図4(B)は、実行履歴テーブルに記憶されたレッスン情報、レッスン時間及びマッチ度の一例を示す図である。図4(B)に示すように、レッスン4は、ミニコリオID「AERO_B」、「AERO_D」、「AERO_E」の3個のミニコリオで構成されている。レッスン4のレッスン時間は「235秒」である。レッスン4の運動目的「持久力をつける」に対するマッチ度は「3.83」である。出力端末5は、レッスン4に対応する運動コンテンツを再生する。
図4(C)は、利用者41により指定された条件の一例を示す図である。レッスン4の実行後、利用者41は、例えば自宅に設置された出力端末5に対して、図4(C)に示すように、希望レッスン時間「240秒」、範囲種別「時間前後」、許容度段階語「ほぼほぼ」、運動目的「持久力をつける」、及びユーザID「USER1」を指定した。図4(A)と図4(C)との間で、運動目的、レッスン時間、許容度段階語、ユーザIDが一致し、範囲種別が異なる。
そこで、出力端末5は、実行履歴テーブルに記憶されたレッスン4のレッスン情報に含まれる一部のミニコリオIDを別のミニコリオIDに変更した一部変更レッスン情報を生成する。そして、出力端末5は、一部変更レッスン情報の中から、運動目的「持久力をつける」に対するマッチ度がレッスン4のマッチ度よりも高い一部変更レッスン情報を決定する。新たに指定された条件に対応するレッスン時間の許容範囲は、235秒〜245秒である。従って、出力端末5は、レッスン時間が235秒〜245秒の範囲内となる一部変更レッスン情報を生成する。図4(D)は、一部変更レッスンのリストの一例を示す図である。図4(D)において、レッスン3、5、8、9、11及び16が一部変更レッスンである。レッスン3、5、8、9、11及び16は、レッスン4を構成するミニコリオのうち3分の1のミニコリオが入れ替えられた運動レッスンである。例えば、レッスン3は、ミニコリオID「AERO_B」、「AERO_C」、「AERO_E」の3個のミニコリオで構成されている。図4(D)において、レッスン3のレッスン時間は「238秒」、レッスン5のレッスン時間は「237秒」、レッスン8のレッスン時間は「235秒」、レッスン9のレッスン時間は「238秒」、レッスン11のレッスン時間は「243秒」、レッスン16のレッスン時間は「241秒」である。また、運動目的「持久力をつける」について、レッスン3のマッチ度は「3.89」、レッスン5のマッチ度は「3.61」、レッスン8のマッチ度は「3.5」、レッスン9のマッチ度は「3.78」、レッスン11のマッチ度は「4.06」、レッスン16のマッチ度は「3.72」である。
レッスン3、5、8、9、11及び16のうち、レッスン3及びレッスン11のマッチ度が、レッスン4のマッチ度よりも高い。また、レッスン3のレッスン時間は希望レッスン時間内である。レッスン11のレッスン時間は希望レッスン時間よりも長い。また、レッスン11のマッチ度はレッスン3のマッチ度よりも高い。そのため、出力端末5は、レッスン時間が希望レッスン時間内であるレッスン3、9及び5を第1一部変更レッスンに決定する。また、出力端末5は、レッスン11を第2一部変更レッスンに決定する。一部変更レッスンを決定することにより、運動レッスンの一部のレッスンを変更することができる。これにより、ユーザは、繰り返し運動レッスンを行う場合に、運動レッスンが変化するため、運動レッスンに慣れつつ、運動レッスンに飽きることが無く、継続して運動を行うことができる。
図4(E)は、運動レッスンの表示画面の一例を示す図である。図4(E)に示すように、レッスン3、9、5及び11が、それぞれのレッスン時間及び運動目的「持久力」に対するマッチ度とともに表示される。レッスン3の優先順位は1位であり、レッスン9の優先順位は2位であり、レッスン5の優先順位は3位であり、レッスン11の優先順位は11位である。また、レッスン11に関連付けて、注意メッセージが表示される。
[3.運動コンテンツ生成システム1の動作]
次に、図5乃至図9を参照して、出力端末5の動作を説明する。図5は、出力端末5のCPU51のメイン処理の一例を示すフローチャートである。例えば、出力端末5の電源がONとされると、CPU51は、メイン処理を実行する。図5に示すように、CPU51は、キーボード61等の操作に基づき電源OFFが要求されたか否かを判定する(ステップS1)。このとき、CPU51は、電源OFFが要求されていないと判定した場合には(ステップS1:NO)、ステップS2に進む。ステップS2において、CPU51は、利用者41によるリモコン66等の操作に基づいて、運動目的、希望レッスン時間、範囲種別、許容度段階語及びユーザIDで構成される条件が指定されたか否かを判定する。このとき、CPU51は、条件が指定されていないと判定した場合には(ステップS2:NO)、ステップS1に進む。一方、CPU51は、条件が指定されたと判定した場合には(ステップS2:YES)、ステップS3に進む。
ステップS3において、CPU51は、レッスン提示処理を実行する。図6及び図7は、出力端末5のCPU51のレッスン提示処理の一例を示すフローチャートである。図6に示すように、CPU51は、今回指定されたユーザIDに紐付けられた実行履歴が存在するか否かを判定する(ステップS11)。例えば、CPU51は、指定されたユーザIDを含む実行履歴要求を配信サーバ2へ送信する。配信サーバ2は、データベース3に記憶されている実行履歴テーブルから、指定されたユーザIDを含む1又は複数の実行履歴を取得する。そして、配信サーバ2は、取得した実行履歴を出力端末5へ送信する。指定されたユーザIDを含む実行履歴が実行履歴テーブルに記憶されていない場合、配信サーバ2は、エラー応答を出力端末5へ送信する。出力端末5は、配信サーバ2から実行履歴を受信した場合、指定されたユーザIDに紐付けられた実行履歴が存在すると判定する(ステップS11:YES)。この場合、CPU51は、ステップS12に進む。一方、出力端末5は、配信サーバ2からエラー応答を受信した場合、指定されたユーザIDに紐付けられた実行履歴が存在しないと判定する(ステップS11:NO)。この場合、CPU51は、ステップS13に進む。
ステップS12において、CPU51は、配信サーバ2から受信した実行履歴の中に、今回選択された運動目的、希望レッスン時間及び許容度種別と一致する運動目的、希望レッスン時間及び許容度種別を含む実行履歴があるか否かを判定する。このとき、CPU51は、今回選択された運動目的、希望レッスン時間及び許容度種別と一致する運動目的、希望レッスン時間及び許容度種別を含む実行履歴があると判定した場合には(ステップS12:YES)、ステップS20に進む。一方、CPU51は、今回選択された運動目的、希望レッスン時間及び許容度種別と一致する運動目的、希望レッスン時間及び許容度種別を含む実行履歴がないと判定した場合には(ステップS12:NO)、ステップS13に進む。
ステップS13において、CPU51は、レッスン基準時間を、選択された希望レッスン時間に設定する。次いで、CPU51は、選択された許容度段階語に基づいて、最大相違時間を決定する(ステップS14)。例えば、CPU51は、許容度テーブルから許容度段階語に対応する最大相違時間を取得する。許容度テーブルに、希望時間に対する相違時間の割合が記憶されている場合、CPU51は、許容度テーブルから許容度段階語に対応する割合を取得する。そして、CPU51は、選択された希望レッスン時間に、取得した割合を乗算して、最大相違時間を計算する。
次いで、CPU51は、範囲種別として「時間内」が選択されたか否かを判定する(ステップS15)。このとき、CPU51は、「時間内」が選択されたと判定した場合には(ステップS15:YES)、ステップS16に進む。ステップS16において、CPU51は、レッスン最大時間をレッスン基準時間に設定して、ステップS18に進む。一方、CPU51は、「時間内」が選択されていないと判定した場合には(ステップS15:NO)、ステップS17に進む。ステップS17において、CPU51は、レッスン基準時間に最大相違時間を加算して、レッスン最大時間を計算する。そして、CPU51は、ステップS18に進む。
ステップS18において、CPU51は、レッスン基準時間から最大相違時間を減算して、レッスン最小時間を計算する。次いで、CPU51は、マッチ度テーブルから、3種類のミニコリオIDの組み合わせを全て生成する。そして、CPU51は、生成した全ての組み合わせを含むミニコリオ組み合わせリストを生成する(ステップS19)。
次いで、CPU51は、図7に示すように、ミニコリオ組み合わせリストから、何れかの組み合わせを選択する(ステップS31)。次いで、CPU51は、選択された組み合わせに含まれる各ミニコリオIDに対応する運動時間をマッチ度テーブルから取得する。そして、CPU51は、取得した運動時間の合計を、レッスン時間として計算する(ステップS32)。
次いで、CPU51は、計算したレッスン時間がレッスン最小時間よりも短いか否かを判定する(ステップS33)。このとき、CPU51は、レッスン時間がレッスン最小時間よりも短いと判定した場合には(ステップS33:YES)、ステップS36に進む。一方、CPU51は、レッスン時間がレッスン最小時間よりも短くはないと判定した場合には(ステップS33:NO)、ステップS34に進む。ステップS34において、CPU51は、計算したレッスン時間がレッスン最大時間よりも長いか否かを判定する。このとき、CPU51は、レッスン時間がレッスン最大時間よりも長いと判定した場合には(ステップS34:YES)ステップS36に進む。一方、CPU51は、レッスン時間がレッスン最大時間よりも長くはないと判定した場合には(ステップS34:NO)、ステップS35に進む。ステップS35において、CPU51は、選択された組み合わせを、時間範囲内組み合わせに決定して、ステップS36に進む。
ステップS36において、CPU51は、選択された組み合わせを、ミニコリオ組み合わせリストから削除する。次いで、CPU51は、ミニコリオ組み合わせリストに、ミニコリオIDの組み合わせがまだ残っているか否かを判定する(ステップS37)。このとき、CPU51は、ミニコリオIDの組み合わせが残っていると判定した場合には(ステップS37:YES)、ステップS31に進む。一方、CPU51は、ミニコリオIDの組み合わせが残っていないと判定した場合には(ステップS37:NO)、ステップS38に進む。
ステップS38において、CPU51は、少なくとも1つの時間範囲内組み合わせが存在するか否かを判定する。このとき、CPU51は、時間範囲内組み合わせが1つも存在しないと判定した場合には(ステップS38:NO)、ステップS39に進む。ステップS39において、CPU51は、エラーメッセージをディスプレイ67に表示して、レッスン提示処理を終了させる。一方、CPU51は、少なくとも1つの時間範囲内組み合わせが存在すると判定した場合には(ステップS38:YES)、ステップS40に進む。
ステップS40において、CPU51は、全ての時間範囲内組み合わせを含む時間範囲内組み合わせリストを生成する。次いで、CPU51は、時間範囲内組み合わせリストに含まれる各時間範囲内組み合わせに対応する運動レッスンの運動目的に対する組み合わせ目的マッチ度を計算する(ステップS41)。例えば、CPU51は、時間範囲内組み合わせごとに、時間範囲内組み合わせに含まれる各ミニコリオIDに対応するマッチ度のうち、選択された運動目的に対応するマッチ度を、マッチ度テーブルから取得する。次いで、CPU51は、取得したマッチ度の平均値を、組み合わせ目的マッチ度として計算する。
次いで、CPU51は、組み合わせ目的マッチ度が高い時間範囲内組み合わせの順に、優先順位を決定する(ステップS42)。組み合わせ目的マッチ度が同一である時間範囲内組み合わせが複数存在する場合、CPU51は、これらの時間範囲内組み合わせにおいては、レッスン時間がレッスン基準時間から近い時間範囲内組み合わせの順に、優先順位を決定する。
次いで、CPU51は、時間範囲内組み合わせリストに含まれる時間範囲内組み合わせの中から、優先順位が高い時間範囲内組み合わせの順に、時間範囲内組み合わせに対応する運動レッスンを、実行する運動レッスンの候補として所定数ディスプレイ67に表示させる(ステップS43)。このとき、CPU51は、運動レッスンごとに、レッスン名、レッスン時間及び組み合わせ目的マッチ度を関連付けて表示する。そして、CPU51は、ステップS44に進む。
図6に示すように、ステップS20において、CPU51は、今回選択された範囲種別が「時間前後」であるか否かを判定する。このとき、CPU51は、範囲種別が「時間前後」であると判定した場合には(ステップS20:YES)、ステップS21に進む。一方、CPU51は、範囲種別が「時間前後」ではないと判定した場合には(ステップS20:NO)、ステップS22に進む。
ステップS21において、CPU51は、今回選択された運動目的、希望レッスン時間及び許容度種別と一致する運動目的、希望レッスン時間及び許容度種別を含む実行履歴に含まれる範囲種別が「時間内」であるか否かを判定する。このとき、CPU51は、範囲種別が「時間内」であると判定した場合には(ステップS21:YES)、ステップS23に進む。一方、CPU51は、範囲種別が「時間内」ではないと判定した場合には(ステップS21:NO)、ステップS22に進む。
ステップS22において、CPU51は、今回選択された運動目的、希望レッスン時間及び許容度種別と一致する運動目的、希望レッスン時間及び許容度種別を含む実行履歴に含まれるレッスン情報が示す運動レッスンを提示する。例えば、CPU51は、実行履歴に含まれるレッスン名、レッスン時間及びマッチ度をディスプレイ67に表示する。そして、CPU51は、ステップS44に進む。
ステップS23において、CPU51は、過去の実行履歴の利用を選択するか否かを問い合わせるメッセージをディスプレイ67に表示する。そして、CPU51は、利用者41によるリモコン66の操作に基づいて、過去の実行履歴の利用が利用者41により選択されたか否かを判定する。このとき、CPU51は、過去の実行履歴の利用が選択されたと判定した場合には(ステップS23:YES)、ステップS24に進む。一方、CPU51は、過去の実行履歴の利用が選択されていないと判定した場合には(ステップS23:NO)、ステップS13に進む。
ステップS24において、CPU51は、一部変更レッスン提示処理を実行する。図8及び図9は、出力端末5のCPU51の一部変更レッスン提示処理の一例を示すフローチャートである。図8に示すように、CPU51は、レッスン基準時間を、選択された希望レッスン時間に設定する(ステップS51)。次いで、CPU51は、選択された許容度段階語に基づいて、最大相違時間を決定する(ステップS52)。
次いで、CPU51は、レッスン基準時間に最大相違時間を加算して、レッスン最大時間を計算する(ステップS53)。次いで、CPU51は、レッスン基準時間から最大相違時間を減算して、レッスン最小時間を計算する(ステップS54)。次いで、CPU51は、今回選択された運動目的、希望レッスン時間及び許容度種別と一致する運動目的、希望レッスン時間及び許容度種別を含む実行履歴からレッスン情報を取得する。CPU51は、レッスン情報に含まれるミニコリオIDの組み合わせの一部を、マッチ度テーブルに記憶されている異なるミニコリオIDに入れ替えたミニコリオIDの組み合わせを全て生成する。そして、CPU51は、生成した全ての組み合わせを含むミニコリオ組み合わせリストを生成する(ステップS55)。
次いで、CPU51は、ミニコリオ組み合わせリストから、何れかの組み合わせを選択する(ステップS56)。次いで、CPU51は、選択された組み合わせに含まれる各ミニコリオIDに対応する運動時間をマッチ度テーブルから取得する。そして、CPU51は、取得した運動時間の合計を、レッスン時間として計算する(ステップS57)。
次いで、CPU51は、計算したレッスン時間がレッスン最小時間よりも短いか否かを判定する(ステップS58)。このとき、CPU51は、レッスン時間がレッスン最小時間よりも短いと判定した場合には(ステップS58:YES)、ステップS61に進む。一方、CPU51は、レッスン時間がレッスン最小時間よりも短くはないと判定した場合には(ステップS58:NO)、ステップS59に進む。ステップS59において、CPU51は、計算したレッスン時間がレッスン最大時間よりも長いか否かを判定する。このとき、CPU51は、レッスン時間がレッスン最大時間よりも長いと判定した場合には(ステップS59:YES)ステップS61に進む。一方、CPU51は、レッスン時間がレッスン最大時間よりも長くはないと判定した場合には(ステップS59:NO)、ステップS60に進む。ステップS60において、CPU51は、選択された組み合わせを、時間範囲内組み合わせに決定して、ステップS61に進む。
ステップS61において、CPU51は、選択された組み合わせを、ミニコリオ組み合わせリストから削除する。次いで、CPU51は、ミニコリオ組み合わせリストに、ミニコリオIDの組み合わせがまだ残っているか否かを判定する(ステップS62)。このとき、CPU51は、ミニコリオIDの組み合わせが残っていると判定した場合には(ステップS62:YES)、ステップS56に進む。一方、CPU51は、ミニコリオIDの組み合わせが残っていないと判定した場合には(ステップS62:NO)、ステップS71に進む。
図9に示すように、ステップS71において、CPU51は、少なくとも1つの時間範囲内組み合わせが存在するか否かを判定する。このとき、CPU51は、時間範囲内組み合わせが1つも存在しないと判定した場合には(ステップS71:NO)、ステップS72に進む。一方、CPU51は、少なくとも1つの時間範囲内組み合わせが存在すると判定した場合には(ステップS71:YES)、ステップS73に進む。
ステップS72において、CPU51は、実行履歴に含まれるレッスン情報が示す運動レッスンを提示して、一部変更レッスン提示処理を終了させる。
ステップS73において、CPU51は、全ての時間範囲内組み合わせを含む時間範囲内組み合わせリストを生成する。次いで、CPU51は、時間範囲内組み合わせリストに含まれる各時間範囲内組み合わせが示す運動レッスンの運動目的に対する組み合わせ目的マッチ度を計算する(ステップS74)。
次いで、CPU51は、組み合わせ目的マッチ度が高い時間範囲内組み合わせの順に、優先順位を決定する(ステップS75)。組み合わせ目的マッチ度が同一である時間範囲内組み合わせが複数存在する場合、CPU51は、これらの時間範囲内組み合わせにおいては、レッスン時間がレッスン基準時間から近い時間範囲内組み合わせの順に、優先順位を決定する。
次いで、CPU51は、今回選択された運動目的、希望レッスン時間及び許容度種別と一致する運動目的、希望レッスン時間及び許容度種別を含む実行履歴からマッチ度を取得する。そして、CPU51は、時間範囲内組み合わせリストに、組み合わせ目的マッチ度が、実行履歴から取得されたマッチ度よりも高い時間範囲内組み合わせが存在するか否かを判定する(ステップS76)。このとき、CPU51は、組み合わせ目的マッチ度が、実行履歴から取得されたマッチ度よりも高い時間範囲内組み合わせが存在すると判定した場合には(ステップS76:YES)、ステップS77に進む。一方、CPU51は、組み合わせ目的マッチ度が、実行履歴から取得されたマッチ度よりも高い時間範囲内組み合わせが存在しないと判定した場合には(ステップS76:NO)、ステップS78に進む。
ステップS77において、CPU51は、組み合わせ目的マッチ度が、実行履歴から取得されたマッチ度よりも高い時間範囲内組み合わせの中に、レッスン時間がレッスン基準時間よりも長い時間範囲内組み合わせが存在するか否かを判定する。このとき、CPU51は、レッスン時間がレッスン基準時間よりも長い時間範囲内組み合わせが存在すると判定した場合には(ステップS77:YES)、ステップS79に進む。一方、CPU51は、レッスン時間がレッスン基準時間よりも長い時間範囲内組み合わせが存在しないと判定した場合には(ステップS77:NO)、ステップS78に進む。
ステップS78において、CPU51は、時間範囲内組み合わせリストに含まれる時間範囲内組み合わせの中から、優先順位が高い時間範囲内組み合わせの順に、時間範囲内組み合わせに対応する一部変更レッスンを、実行する運動レッスンの候補として所定数ディスプレイ67に表示させる。このとき、CPU51は、運動レッスンごとに、レッスン名、レッスン時間及び組み合わせ目的マッチ度を関連付けて表示する。そして、CPU51は、一部変更レッスン提示処理を終了させる。
ステップS79において、CPU51は、時間範囲内組み合わせリストに含まれる時間範囲内組み合わせのうち、レッスン時間が希望レッスン時間内である時間範囲内組み合わせの中から、優先順位が高い時間範囲内組み合わせの順に、時間範囲内組み合わせに対応する第1一部変更レッスンを、実行する運動レッスンの候補として所定数ディスプレイ67に表示させる。同時に、CPU51は、組み合わせ目的マッチ度が、実行履歴から取得されたマッチ度よりも高い時間範囲内組み合わせのうち、レッスン時間がレッスン基準時間よりも長い時間範囲内組み合わせに対応する第2一部変更レッスンを、実行する運動レッスンの候補としてディスプレイ67に表示させる。このとき、CPU51は、運動レッスンごとに、レッスン名、レッスン時間及び組み合わせ目的マッチ度を関連付けて表示する。また、CPU51は、第2一部変更レッスンに関連付けて注意メッセージを表示させる。そして、CPU51は、一部変更レッスン提示処理を終了させる。
一部変更レッスン提示処理を終えると、CPU51は、ステップS44に進む。図7に示すように、ステップS44において、CPU51は、利用者41によるリモコン66等の操作に基づいて、表示された運動レッスンのうち何れかの運動レッスンが選択されたか否かを判定する。このとき、CPU51は、何れの運動レッスンも選択されていないと判定した場合には(ステップS44:NO)、ステップS44の判定を再度実行する。一方、CPU51は、何れかの運動レッスンが選択されたと判定した場合には(ステップS44:YES)、レッスン提示処理を終了させる。
レッスン提示処理を終えると、CPU51は、図5に示すように、運動コンテンツを再生する(ステップS4)。先ず、CPU51は、選択された運動レッスンに対応するミニコリオIDの組み合わせを、レッスン情報として、時間範囲内組み合わせリスト又は実行履歴から取得する。次いで、CPU51は、順序番号iを1に設定する。次いで、CPU51は、レッスン情報からi番目のミニコリオIDを取得する。また、CPU51は、i番目のミニコリオIDが示すミニコリオの実行に対応する楽曲の楽曲IDを取得する。例えば、マッチ度テーブルには、各ミニコリオIDに対応付けて楽曲IDが記憶されてもよい。この場合、CPU51は、i番目のミニコリオIDに対応する楽曲IDをマッチ度テーブルから取得する。CPU51は、取得した楽曲IDに対応する楽曲データに基づいて、音声信号を音声出力部63に出力する。また、CPU51は、取得したミニコリオIDに対応する運動映像の静止画像を順次生成して表示制御部56に出力する。i番目のミニコリオIDに対応するミニコリオの運動映像の出力を終えると、CPU51は、順序番号iが、レッスン情報に含まれるミニコリオIDの数未満であるか否かを判定する。順序番号iがミニコリオIDの数未満である場合、CPU51は、順序番号iに1を加算する。そして、CPU51は、上述と同様に、順序番号iに対応するミニコリオの運動映像及び楽曲を出力させる。順序番号iがミニコリオIDの数未満ではない場合、CPU51は、運動コンテンツの再生を終了させる。
次いで、CPU51は、指定された運動目的を示す目的ID、希望レッスン時間、相違時間の許容範囲、ユーザID、選択された運動レッスンのレッスン情報、選択された運動レッスンの実行日時、選択された運動レッスンのレッスン時間、及び選択された運動レッスンの組み合わせ目的マッチ度を含む実行履歴を実行履歴テーブルに記憶させる(ステップS5)。例えば、CPU51は、実行履歴を配信サーバ2へ送信する。配信サーバ2は、受信された実行履歴を、データベース3の実行履歴テーブルに記憶させる。
ステップS5を終えると、CPU51は、ステップS1に進む。ステップS1において、CPU51は、電源OFFが要求されたと判定した場合には(ステップS1:YES)、メイン処理を終了させる。
以上説明したように、本実施形態によれば、CPU51が、運動目的と、希望レッスン時間と、相違時間の許容範囲とを受け付ける。また、CPU51が、運動時間の合計が、希望レッスン時間から相違時間の許容範囲内である複数のミニコリオを識別する複数のミニコリオIDの組み合わせをレッスン情報として複数決定する。また、CPU51が、決定された複数のレッスン情報のそれぞれについて、運動目的に対する運動レッスンのマッチ度を決定する。また、CPU51が、決定された複数のレッスン情報が示す複数の運動レッスンのうち2以上の運動レッスンを、実行する運動レッスンの候補として、マッチ度とレッスン時間とに関連付けて提示する。また、CPU51が、提示された2以上の運動レッスンのうち何れかの運動レッスンの選択を受け付ける。従って、利用者41は、提示された情報を見ることで、レッスン時間と運動効果とのバランスを考慮しながら、実行する運動レッスンを選択することができる。
上記実施形態において、CPU51によるステップS31の処理により選択されたミニコリオ組み合わせについて、ステップS33〜ステップS38の処理において時間範囲内組み合わせが存在すると判断された結果、ステップS40の処理において作成された時間範囲内組み合わせリストの各組み合わせに対し、ステップS41の処理において組合せ目的マッチ度が定められていた。しかしながら、組合せ目的マッチ度の決定は、時間範囲内の組み合わせが存在すると判断される前に、行われてもよい。例えば、ステップS31において選択されたミニコリオの組み合わせについて、時間範囲内であるか否かに関わらず、時間範囲内であるか否かを判断する前に、組み合わせ目的マッチ度を決定してもよい。組み合わせ目的マッチ度を決定した後のミニコリオの組み合わせについて、時間範囲内であるか否かが判断され、時間範囲内組み合わせリストが作成されてもよい。
なお、上記実施形態においては、本発明の情報処理装置が出力端末5に適用されていた。しかしながら、本発明の情報処理装置が配信サーバ2に適用されてもよい。例えば、配信サーバ2が、利用者41により指定された運動目的、希望レッスン時間、相違時間の許容範囲等を出力端末5から受け付けてもよい。そして、配信サーバ2が、レッスン時間が、希望レッスン時間から相違時間の許容範囲内である運動レッスンを複数決定し、決定された複数の運動レッスンのうち2以上の運動レッスンのリストを出力端末5へ送信することによって、実行する運動レッスンの候補を提示してもよい。また、本発明の情報処理装置が出力端末5及び配信サーバ2に適用されてもよい。そして、出力端末5及び配信サーバ2は協働して処理を行ってもよい。