(57)【特許請求の範囲】
【請求項１】
１以上の楽曲を示す楽曲情報と対応付けられた複数の運動動作で構成される運動を識別する運動識別情報と、前記運動の順序を示す順序情報とを複数含むレッスン情報を記憶する記憶手段と、
前記レッスン情報の開始指令を受け付ける受付手段と、
前記受付手段により前記開始指令が受け付けられた場合、前記開始指令が受け付けられた前記レッスン情報に含まれる複数の前記順序情報が示す順序に従って、前記運動動作を示す動作情報であって、前記運動が行われる映像を示す映像情報を表示するための動作情報、及び前記運動に対応する前記楽曲情報をダウンロードするダウンロード手段と、
前記ダウンロード手段により前記レッスン情報に含まれる複数の前記運動識別情報が示す複数の運動の何れかの運動に対応する前記動作情報及び前記楽曲情報のダウンロードが完了した場合、ダウンロードが完了した運動に対応する前記映像情報及び前記楽曲情報の出力を開始可能に設定する設定手段と、
前記複数の運動の何れかの運動に対応する前記映像情報の表示及び前記楽曲情報の出力が終了した場合、前記設定手段による設定に基づいて、次の順序の運動に対応する前記動作情報及び前記楽曲情報のダウンロードが完了したかを判定する判定手段と、
前記判定手段によりダウンロードが完了していないと判定された場合、前記次の順序の運動に対応する前記動作情報及び前記楽曲情報のダウンロードに要する時間に応じた行動を促す映像を示す映像情報を表示手段に表示させる制御手段と、
を備えることを特徴とする情報処理装置。
【請求項２】
前記制御手段は、前記ダウンロードに要する時間が所定時間よりも長い場合、所定の運動が行われる映像を示す前記映像情報を表示させ、前記ダウンロードに要する時間が前記所定時間よりも短い場合、運動の待機を促す映像を示す前記映像情報を表示させることを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記複数の運動のうち、他の運動の前記動作情報及び前記楽曲情報よりも優先的に前記動作情報及び前記楽曲情報をダウンロードする運動を決定する決定手段を更に備え、
前記ダウンロード手段は、前記決定手段により決定された運動に対応する前記動作情報及び前記楽曲情報を、前記複数の運動のうち前記決定手段により決定された運動と異なる運動に対応する前記動作情報及び前記楽曲情報よりも前に、ダウンロードすることを特徴とする請求項１又は２に記載の情報処理装置。
【請求項４】
前記ダウンロード手段は、前記決定手段により決定された運動に対応する前記動作情報及び前記楽曲情報を、前記複数の運動のうち最初に実行される運動に対応する前記映像情報の表示及び前記楽曲情報の出力が開始される前にダウンロードすることを特徴とする請求項３に記載の情報処理装置。
【請求項５】
１以上の楽曲を示す楽曲情報と対応付けられた複数の運動動作で構成される運動を識別する運動識別情報と、前記運動の順序を示す順序情報とを複数含むレッスン情報を記憶する記憶手段に記憶された前記レッスン情報の開始指令を受け付ける受付ステップと、
前記受付ステップにより前記開始指令が受け付けられた場合、前記開始指令が受け付けられた前記レッスン情報に含まれる複数の前記順序情報が示す順序に従って、前記運動動作を示す動作情報であって、前記運動が行われる映像を示す映像情報を表示するための動作情報、及び前記運動に対応する前記楽曲情報をダウンロードするダウンロードステップと、
前記ダウンロードステップにより前記レッスン情報に含まれる複数の前記運動識別情報が示す複数の運動の何れかの運動に対応する前記動作情報及び前記楽曲情報のダウンロードが完了した場合、ダウンロードが完了した運動に対応する前記映像情報及び前記楽曲情報の出力を開始可能に設定する設定ステップと、
前記複数の運動の何れかの運動に対応する前記映像情報の表示及び前記楽曲情報の出力が終了した場合、前記設定ステップによる設定に基づいて、次の順序の運動に対応する前記動作情報及び前記楽曲情報のダウンロードが完了したかを判定する判定ステップと、
前記判定ステップによりダウンロードが完了していないと判定された場合、前記次の順序の運動に対応する前記動作情報及び前記楽曲情報のダウンロードに要する時間に応じた行動を促す映像を示す映像情報を表示手段に表示させる制御ステップと、
をコンピュータに実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、運動を支援するための映像及び楽曲を含む運動コンテンツを出力するための情報をダウンロードする技術分野に関する。
【背景技術】
【０００２】
例えば、特許文献１には、複数の運動動作で構成されるレッスンについて、各運動動作の映像を表示するためのモーションデータを端末装置がダウンロードするとき、端末装置が記憶していないモーションデータのみをダウンロードすることが記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１１−１９８０１８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
例えば、フィットネスジムなどの運動施設では、複数の運動で構成されるレッスンが行われる。１つの運動は複数の運動動作で構成されており、例えば、１つの楽曲に対して１つの運動が割り当てられたり、１つの運動に対して複数の楽曲が割り当てられたりする。運動を支援するための運動コンテンツを出力するための情報として、例えば、運動が行われる映像を表示するための動作情報と、出力される楽曲を示す楽曲情報とがある。動作情報及び楽曲情報は更新される可能性があるため、レッスンを開始するたびに、レッスンを構成する複数の運動の動作情報及び楽曲情報をダウンロードすることが望まれる。そこで、レッスンを構成する複数の運動の運動コンテンツを順次出力しながら、各運動ごとに動作情報及び楽曲情報をダウンロードすることが考えられる。このとき、或る運動の運動コンテンツを出力する段階になっても、その運動の動作情報及び楽曲情報のダウンロードが完了していないと、その運動の運動コンテンツを出力することができない。そのため、ユーザは、運動を構成する複数の運動動作を連続して実行することができず、ダウンロードが完了するまでの間、ユーザは何をしてよいか分からない。
【０００５】
本発明は、以上の点に鑑みてなされたものであり、運動コンテンツを出力しながらレッスンを構成する複数の運動の動作情報及び楽曲情報を順次ダウンロードする場合において、運動コンテンツの出力に今必要な動作情報及び楽曲情報のダウンロードが完了していないときに、ユーザが何をしてよいか分からずに待つことを防止することができる情報処理装置及びプログラムを提供することを課題とする。
【課題を解決するための手段】
【０００６】
上記課題を解決するために、請求項１に記載の発明は、１以上の楽曲を示す楽曲情報と対応付けられた複数の運動動作で構成される運動を識別する運動識別情報と、前記運動の順序を示す順序情報とを複数含むレッスン情報を記憶する記憶手段と、前記レッスン情報の開始指令を受け付ける受付手段と、前記受付手段により前記開始指令が受け付けられた場合、前記開始指令が受け付けられた前記レッスン情報に含まれる複数の前記順序情報が示す順序に従って、前記運動動作を示す動作情報であって、前記運動が行われる映像を示す映像情報を表示するための動作情報、及び前記運動に対応する前記楽曲情報をダウンロードするダウンロード手段と、前記ダウンロード手段により前記レッスン情報に含まれる複数の前記運動識別情報が示す複数の運動の何れかの運動に対応する前記動作情報及び前記楽曲情報のダウンロードが完了した場合、ダウンロードが完了した運動に対応する前記映像情報及び前記楽曲情報の出力を開始可能に設定する設定手段と、前記複数の運動の何れかの運動に対応する前記映像情報の表示及び前記楽曲情報の出力が終了した場合、前記設定手段による設定に基づいて、次の順序の運動に対応する前記動作情報及び前記楽曲情報のダウンロードが完了したかを判定する判定手段と、前記判定手段によりダウンロードが完了していないと判定された場合、前記次の順序の運動に対応する前記動作情報及び前記楽曲情報のダウンロードに要する時間に応じた行動を促す映像を示す映像情報を表示手段に表示させる制御手段と、を備えることを特徴とする。
【０００７】
請求項２に記載の発明は、前記制御手段は、前記ダウンロードに要する時間が所定時間よりも長い場合、所定の運動が行われる映像を示す前記映像情報を表示させ、前記ダウンロードに要する時間が前記所定時間よりも短い場合、運動の待機を促す映像を示す前記映像情報を表示させることを特徴とする。
【０００８】
請求項３に記載の発明は、前記複数の運動のうち、他の運動の前記動作情報及び前記楽曲情報よりも優先的に前記動作情報及び前記楽曲情報をダウンロードする運動を決定する決定手段を更に備え、前記ダウンロード手段は、前記決定手段により決定された運動に対応する前記動作情報及び前記楽曲情報を、前記複数の運動のうち前記決定手段により決定された運動と異なる運動に対応する前記動作情報及び前記楽曲情報よりも前に、ダウンロードすることを特徴とする。
【０００９】
請求項４に記載の発明は、前記ダウンロード手段は、前記決定手段により決定された運動に対応する前記動作情報及び前記楽曲情報を、前記複数の運動のうち最初に実行される運動に対応する前記映像情報の表示及び前記楽曲情報の出力が開始される前にダウンロードすることを特徴とする。
【００１０】
請求項５に記載の発明は、１以上の楽曲を示す楽曲情報と対応付けられた複数の運動動作で構成される運動を識別する運動識別情報と、前記運動の順序を示す順序情報とを複数含むレッスン情報を記憶する記憶手段に記憶された前記レッスン情報の開始指令を受け付ける受付ステップと、前記受付ステップにより前記開始指令が受け付けられた場合、前記開始指令が受け付けられた前記レッスン情報に含まれる複数の前記順序情報が示す順序に従って、前記運動動作を示す動作情報であって、前記運動が行われる映像を示す映像情報を表示するための動作情報、及び前記運動に対応する前記楽曲情報をダウンロードするダウンロードステップと、前記ダウンロードステップにより前記レッスン情報に含まれる複数の前記運動識別情報が示す複数の運動の何れかの運動に対応する前記動作情報及び前記楽曲情報のダウンロードが完了した場合、ダウンロードが完了した運動に対応する前記映像情報及び前記楽曲情報の出力を開始可能に設定する設定ステップと、前記複数の運動の何れかの運動に対応する前記映像情報の表示及び前記楽曲情報の出力が終了した場合、前記設定ステップによる設定に基づいて、次の順序の運動に対応する前記動作情報及び前記楽曲情報のダウンロードが完了したかを判定する判定ステップと、前記判定ステップによりダウンロードが完了していないと判定された場合、前記次の順序の運動に対応する前記動作情報及び前記楽曲情報のダウンロードに要する時間に応じた行動を促す映像を示す映像情報を表示手段に表示させる制御ステップと、をコンピュータに実行させることを特徴とする。
【発明の効果】
【００１１】
請求項１又は５に記載の発明によれば、今必要な動作情報及び楽曲情報のダウンロードが完了していないとき、ダウンロードに要する時間に応じた行動を促す映像が表示される。この場合、ユーザは、表示される映像に応じた行動をとればよい。そのため、ユーザが何をしてよいか分からずに待つことを防止することができる。
【００１２】
請求項２に記載の発明によれば、ダウンロードに要する時間が長い場合は所定の運動を行うことで、ユーザが長い間運動しないで手持ちぶさたになることを防止することができる。ダウンロードに要する時間が短い場合、ユーザは短い時間待機すればよい。この場合は、レッスンを構成する運動とは別の所定の運動をあえて行う必要はない。
【００１３】
請求項３に記載の発明によれば、優先的にダウンロードされる運動について、映像情報の表示及び楽曲情報の出力開始が遅延する可能性を低下させることができる。
【００１４】
請求項４に記載の発明によれば、優先的にダウンロードされる運動については、ダウンロードによる遅延なくして、映像情報の表示及び楽曲情報の出力を行うことができる。
【図面の簡単な説明】
【００１５】
【図１】一実施形態の運動コンテンツ生成システム１の概要構成例を示す図である。
【図２】（Ａ）は、ジャンルテーブルの構成例を示す図であり、（Ｂ）は、レッスンテーブルの構成例を示す図であり、（Ｃ）は、運動ユニットテーブルの構成例を示す図であり、（Ｄ）は、レッスン詳細テーブルの構成例を示す図であり、（Ｅ）は、運動レッスンの構成例を示す図である。
【図３】（Ａ）は、残り予測ダウンロード時間別実行処理テーブルの構成例を示す図であり、（Ｂ）は、汎用運動ユニットテーブルの構成例を示す図であり、（Ｃ）は、汎用休憩ユニットテーブルの構成例を示す図である。
【図４】（Ａ）は、事前取得運動ユニットリストの構成例を示す図であり、（Ｂ）は、事前取得運動ユニットリストの生成例を示す図であり、（Ｃ）は、事前取得運動ユニットリストの生成例を示す図である。
【図５】（Ａ）は、出力端末５のＣＰＵ５１のメイン処理の処理例を示すフローチャートであり、（Ｂ）及び（Ｃ）は、それぞれ出力端末５のＣＰＵ５１の事前取得運動ユニットダウンロード処理の処理例を示すフローチャートである。
【図６】出力端末５のＣＰＵ５１の再生処理の処理例を示すフローチャートである。
【図７】出力端末５のＣＰＵ５１の運動ユニットダウンロード処理の処理例を示すフローチャートである。
【発明を実施するための形態】
【００１６】
以下、本発明の実施形態を図面に基づいて説明する。なお、以下に説明する実施の形態は、運動を支援するための運動コンテンツを生成する運動コンテンツ生成システムに本発明を適用した場合の実施形態である。運動コンテンツは、運動を支援するための映像及び音声を含む。
【００１７】
［１．運動コンテンツ生成システム１の構成］
始めに、図１を参照して、本実施形態の運動コンテンツ生成システム１の構成について説明する。図１は、本実施形態の運動コンテンツ生成システム１の概要構成例を示す図である。図１に示すように、運動コンテンツ生成システム１は、配信サーバ２と１つ以上の出力端末５とを含んで構成されている。配信サーバ２と出力端末５とは、ネットワーク１０を介して接続可能になっている。ネットワーク１０は、例えば、インターネットを含む。配信サーバ２には、データベース３が接続されている。データベース３には、運動に関する情報や楽曲に関する情報が登録されている。配信サーバ２は、データベース３に登録されている情報等を、定期的に又は出力端末５からの要求に応じて出力端末５に配信する。
【００１８】
出力端末５は、例えば、施設４に設置される端末装置である。出力端末５は、本発明の情報処理装置の一例である。出力端末５は、施設４の利用者４１により利用される。施設４は、例えば、スポーツ施設であってもよい。利用者４１は、スポーツ施設において、運動レッスンを受ける。運動レッスンは、複数の運動ユニットと複数の楽曲により構成されるレッスンである。運動ユニットは、本発明の運動の一例である。各運動ユニットは、複数の運動動作により構成されている。運動ユニットは、１以上の楽曲と対応付けられる。出力端末５は、例えばパーソナルコンピュータであってもよい。
【００１９】
出力端末５は、モニタ５７と接続可能である。モニタ５７は、複数のスピーカ６４とディスプレイ６７とを備える表示装置であってもよい。この場合、出力端末５は、ディスプレイ６７と接続可能である。ディスプレイ６７は、本発明の表示手段の一例である。また、出力端末５は、スピーカ６４と接続可能である。出力端末５がモニタ５７へ音声信号を出力することにより、スピーカ６４により楽曲等が出力される。出力端末５がモニタ５７へ映像信号を出力することにより、ディスプレイ６７に運動映像等が表示される。運動映像は、本発明の映像情報の一例である。運動映像は、動作を行うフィギュア８３を映し出した動画である。フィギュア８３は、例えば、人、動物、仮想上の生き物、ロボット等のかたちをした仮想物である。フィギュア８３は、三次元仮想空間に配置される。出力端末５は、スピーカ６４から出力される楽曲と、ディスプレイ６７に表示されるフィギュア８３の動きとが同期するように、信号を出力する。楽曲と運動映像とを出力することは、運動コンテンツを出力することの一例である。利用者４１は、楽曲を聴きながら、ディスプレイ６７に表示されるフィギュア８３を見て、運動を行うことができる。操作者４２は、リモコン６６等を用いて出力端末５を操作することができる。利用者４１と操作者４２とは同一人物であってもよい。施設４がスポーツ施設である場合、操作者４２は、例えば、インストラクターであってもよい。
【００２０】
［２．モーションデータ、楽曲データのダウンロード］
上述したように、運動レッスンは複数の運動ユニットと複数の楽曲により構成される。各運動ユニットは、複数の運動動作により構成されている。運動動作は、例えば、身体を鍛えるための動作である。運動動作として、例えば、体操の動作と踊りの動作とがある。体操は、例えば、健康の増進、体力の増強、筋力の強化等のために行われる運動である。体操の種類として、例えば、有酸素運動、無酸素運動、ストレッチ等がある。踊りの動作は、楽曲に合わせて踊るために楽曲に対して振り付けられた動作である。運動ユニットと楽曲とは対応付けられている。例えば、１つの楽曲に対して１つの運動ユニットが割り当てられたり、１つの運動ユニットに対して複数の楽曲が割り当てられたりする。出力端末５は、運動レッスンを構成する複数の運動ユニットの運動映像を、運動ユニットの実行順に従ってディスプレイ６７に表示させる。或る運動ユニットの運動映像が表示されているとき、出力端末５は、その運動ユニットに対応付けられた楽曲をスピーカ６４により出力させる。１つの楽曲に対して１つの運動ユニットが割り当てられている場合、例えば、楽曲は複数の演奏パートで構成されていてもよい。演奏パートとして、例えば、前奏、Ａメロ、Ｂメロ、サビ、間奏又は後奏等がある。例えば、各演奏パートに、楽曲に割り当てられた運動ユニットを構成する各運動動作が割り当てられる。この場合、出力端末５は、楽曲の構成に従った演奏パートの順で楽曲を出力させる。そして、出力端末５は、現在出力されている演奏パートに割り当てられた運動動作の運動映像を表示させる。１つの運動ユニットに対して複数の楽曲が割り当てられている場合、例えば、運動ユニットを構成する複数の運動動作のそれぞれに１つの楽曲が割り当てられてもよい。この場合、楽曲は所定の演奏パートのみで構成されてもよい。例えば、楽曲は、サビ部分のみで構成されてもよいし、Ａメロ及びサビ部分で構成されてもよい。この場合、出力端末５は、運動ユニットを構成する複数の運動動作の運動映像を順次表示させる。このとき、出力端末５は、例えば、現在運動映像が表示されている運動動作に割り当てられた楽曲の所定の演奏パートを繰り返し出力させてもよい。
【００２１】
運動映像を表示するためには、モーションデータが必要である。また、楽曲を出力するためには、楽曲データが必要である。モーションデータは、本発明の動作情報の一例である。モーションデータは、三次元仮想空間におけるフィギュア８３の運動動作を定義するデータである。また、モーションデータは、ディスプレイ６７に表示されるフィギュア８３に運動動作をさせるためのデータである。モーションデータは、運動動作の進行に応じたフィギュア８３の身体の各部の座標を含む。具体的には、モーションデータには、時系列に沿って、運動動作の進行に応じたフィギュア８３の身体部位の座標が含まれる。時系列に沿って、フィギュア８３の身体部位が、モーションデータに従って表示されることで、所定の運動動作を実行するフィギュア８３の映像が、ディスプレイ６７に表示される。モーションデータは、例えば運動動作ごとに作成されてもよい。また、モーションデータは、例えば運動ユニットごとに作成されてもよい。この場合、モーションデータは、運動ユニットを構成する複数の運動動作をフィギュア８３が行う運動映像を表示させるためのデータである。本実施形態では、一例として、運動ユニット単位でモーションデータが作成されているものとする。
【００２２】
楽曲データは、本発明の楽曲情報の一例である。楽曲データは、スピーカ６４により楽曲を出力するための演奏データである。楽曲データは、例えば、ＭＩＤＩ（Musical Instrument Digital Interface）形式のデータであってもよい。楽曲データは、例えば楽曲ごとに作成されてもよい。１つの運動ユニットに複数の楽曲が対応付けられる場合、１つの楽曲データは、例えば、１つの楽曲を出力するためのデータであってもよい。この場合、１つの運動ユニットに複数の楽曲データが対応付けられる。また例えば、１つの楽曲データは、複数の楽曲を出力するためのデータであってもよい。この場合、１つの運動ユニットに１つの楽曲データが対応付けられてもよい。本実施形態では、一例として、１つの運動ユニットに対して１つの楽曲データが対応付けられるものとする。
【００２３】
図１に示すように、モーションデータ及び楽曲データは、データベース３に登録されている。例えば、各モーションデータは、運動ユニットＩＤに対応付けて登録される。運動ユニットＩＤは、運動ユニットを識別可能な識別情報である。本実施形態では、運動ユニットは、モーションデータを識別可能な情報でもある。例えば、楽曲データは、楽曲ＩＤに対応付けて登録される。楽曲ＩＤは、楽曲データを識別可能な情報である。
【００２４】
出力端末５のＨＤＤ７には、例えば、ジャンルテーブル、レッスンテーブル、運動ユニットテーブル、レッスン詳細テーブルが記憶されている。出力端末５は、例えば、これらのテーブルを配信サーバ２から予めダウンロードしておいてもよい。
【００２５】
図２（Ａ）は、ジャンルテーブルの構成例を示す図である。ジャンルテーブルは、運動のジャンルを定義するテーブルである。図２（Ａ）に示すように、ジャンルテーブルには、ジャンルＩＤ及びジャンル名が、ジャンル名ごと登録されている。ジャンルＩＤは、ジャンルを識別可能な識別情報である。図２（Ｂ）は、レッスンテーブルの構成例を示す図である。レッスンテーブルは運動レッスンの基本的な属性を定義するテーブルである。図２（Ｂ）に示すように、レッスンテーブルには、レッスンＩＤ、ジャンルＩＤ及びレッスン名が、運動レッスンごとに登録されている。レッスンＩＤは、レッスンを識別可能な識別情報である。ジャンルＩＤは、レッスンＩＤが示す運動レッスンの運動のジャンルを示す。図２（Ｃ）は、運動ユニットテーブルの構成例を示す図である。運動ユニットテーブルは、運動ユニットを定義するテーブルである。図２（Ｃ）に示すように、運動ユニットテーブルには、運動ユニットＩＤ、運動ユニット名、及びジャンルＩＤが、運動ユニットごとに登録されている。ジャンルＩＤは、運動ユニットＩＤが示す運動ユニットの運動のジャンルを示す。図２（Ｃ）では、便宜上、ジャンルＩＤがＪ１以外のジャンルの運動ユニットの表示を省略している。
【００２６】
図２（Ｄ）は、レッスン詳細テーブルの構成例を示す図である。レッスン詳細テーブルは、運動レッスンを構成する複数の運動ユニット及び運動ユニットの実行順を定義するテーブルである。図２（Ｄ）に示すように、レッスン詳細テーブルには、レッスンＩＤ、レッスン実行順番号、運動ユニットＩＤ及び楽曲ＩＤを格納するレコードが、運動レッスンを構成する運動ユニットごとに登録されている。運動ユニットＩＤは、レッスンＩＤが示す運動レッスンを構成する運動ユニットの１つを示す。運動ユニットＩＤは、本発明の運動識別情報の一例である。基本的に、同一の運動のジャンルに属する運動レッスンのレッスンＩＤと運動ユニットのユーザＩＤとが対応付けて格納される。レッスン実行順番号は、レッスンＩＤが示す運動レッスンを構成する複数の運動ユニットの中で、運動ユニットＩＤが示す運動ユニットが実行される順番を示す。レッスン実行順番号は、本発明の順序情報の一例である。楽曲ＩＤは、運動ユニットＩＤが示す運動ユニットに対応付けられた楽曲データを示す。レッスン詳細テーブルが示す情報を、図２（Ｅ）を用いて具体的に説明する。例えば、レッスンＩＤがＬ１である運動レッスンは、エアロレッスン初級である。エアロレッスン初級は、マーチ・ステップ・Ｖステップ初級と、マーチ・レッグカール・グレイプバイン初級と、休憩１と、マーチ・リピーター・バックランジ初級と、マーチ・マンボステップ・シャッセ初級との５個の運動ユニットで構成されている。マーチ・ステップ・Ｖステップ初級、マーチ・レッグカール・グレイプバイン初級、休憩１、マーチ・リピーター・バックランジ初級、マーチ・マンボステップ・シャッセ初級の順で、複数の運動ユニットが実行される。なお、本実施形態では、便宜上、休憩も運動ユニットであるものとする。この場合の休憩を、休憩ユニットと称する。
【００２７】
データベース３に登録されているモーションデータ及び楽曲データは、例えば運動コンテンツ生成システム１の管理者等により、随時更新される可能性がある。最新のモーションデータ及び楽曲データを用いて運動コンテンツを出力するため、出力端末５は、運動レッスンを開始するたびに、モーションデータ及び楽曲データをダウンロードする。具体的に、出力端末５は、運動レッスンを構成する複数の運動ユニットの実行順に従って、各運動ユニットの運動コンテンツを出力させる。また、出力端末５は、運動コンテンツを出力させながら、運動レッスンを構成する複数の運動ユニットの実行順に従って、各運動ユニットのモーションデータ及び楽曲データをダウンロードする。このような態様では、或る運動ユニットの運動コンテンツを出力させる段階になっても、その運動ユニットのモーションデータ及び楽曲データのダウンロードが完了していない場合がある。この場合、ダウンロードが完了するまでは、出力端末５は、その運動ユニットの運動コンテンツを出力させることができず、ディスプレイ６７において運動映像を表示することができない。そのため、ダウンロードが完了するまで利用者４１が運動しないで待機する時間が発生する。
【００２８】
そこで、或る運動ユニットの運動動作の運動コンテンツの出力が完了したとき、出力端末５は、次の実行順の運動ユニットのモーションデータ及び楽曲データのダウンロードが完了したかを判定する。ダウンロードが完了していない場合、出力端末５は、残り予測ダウンロード時間に応じた行動を促す映像をディスプレイ６７に表示させる。残り予測ダウンロード時間は、次の実行順の運動ユニットのモーションデータ及び楽曲データのダウンロードに要する時間として、出力端末５が算出した時間である。残り予測ダウンロード時間は、現時点からダウンロードに要する時間である。すなわち、残り予測ダウンロード時間は、モーションデータ及び楽曲データ全体のうち現時点で未だダウンロードされていない部分のダウンロードに要する時間である。
【００２９】
例えば、残り予測ダウンロード時間が所定時間よりも長い場合、出力端末５は、汎用運動ユニットの運動映像を表示させる。汎用運動ユニットは、例えば、所定のジャンルの運動動作で構成された運動ユニットである。汎用運動ユニットは、所定のジャンルの運動レッスンで汎用的に行うことができる。利用者４１は、ディスプレイ６７を見ながら汎用運動ユニットを実行すればよいので、利用者４１が長い間運動しないで手持ちぶさたになることを防止することができる。一方、残り予測ダウンロード時間が所定時間よりも短い場合、出力端末５は、待機を促す映像を表示させる。待機を促す映像として、待機画面と休憩指示画面とがある。待機画面として、ディスプレイ６７に、例えば「しばらくお待ちください」、「ローディング中」又は「ダウンロード中」といったメッセージが表示される。休憩指示画面は、休憩を促す映像である。休憩指示画面はとして、例えば、「リラックスしながら休んでください」、「水分を補給して休憩してください」といった指示がディスプレイ６７に表示される。このときの休憩を、便宜上、汎用休憩ユニットと称する。
【００３０】
残り予測ダウンロード時間に応じた行動を促す映像を表示するための情報として、出力端末５のＨＤＤ７には、残り予測ダウンロード時間別実行処理テーブル、汎用運動ユニットテーブル、ジャンル別汎用休憩ユニットテーブル等、汎用運動ユニットのモーションデータが記憶される。出力端末５、例えばこれらのデータを予め配信サーバ２からダウンロードしてもよい。図３（Ａ）は、残り予測ダウンロード時間別実行処理テーブルの構成例を示す図である。残り予測ダウンロード時間別実行処理テーブルは、残り予測ダウンロード時間に応じて出力端末５が如何なる処理を実行するかを定義するテーブルである。図３（Ａ）に示すように、残り予測ダウンロード時間別実行処理テーブルには、タイプ、最短時間、最長時間、及び実行処理情報が登録されている。タイプは、出力端末５が実行する処理を識別可能な識別情報である。実行処理情報は、出力端末５が実行する処理を示す情報である。最短時間と最長時間は、残り予測ダウンロード時間の範囲を示す。図３（Ａ）の例では、残り予測ダウンロード時間が０秒よりも長く且つ１５秒以下である場合、出力端末５は、待機画面を表示させる。この場合のタイプはＧＷである。残り予測ダウンロード時間が１５秒より長く且つ９０秒以下である場合、出力端末５は、休憩指示画面を表示させる。この場合のタイプはＧＢである。残り予測ダウンロード時間が９０秒より長く且つ１８０秒以下である場合、出力端末５は、汎用運動ユニットの運動映像を表示させる。この場合のタイプはＧＵである。残り予測ダウンロード時間が１８０秒より長い場合、出力端末５は、汎用運動ユニットの運動映像を表示させる。更に出力端末５は、現時点で運動コンテンツを出力すべき運動ユニットのモーションデータ及び楽曲データのダウンロードを中止する。そして、出力端末５は、ダウンロードが中止された運動ユニットの次の実行順の運動ユニットのモーションデータ及び楽曲データのダウンロードを開始する。この処理を行う理由は、ダウンロードの遅延により、運動レッスンを構成する運動ユニットを利用者４１が実行しない時間が長くなることを防止するためである。この場合のタイプはＧＵＣである。
【００３１】
図３（Ｂ）は、汎用運動ユニットテーブルの構成例を示す図である。汎用運動ユニットテーブルは、汎用運動ユニットを定義するテーブルである。図３（Ｂ）に示すように、汎用運動ユニットテーブルには、汎用運動ユニットＩＤ、運動ユニット名及びジャンルＩＤが、汎用運動ユニットごとに登録されている。汎用運動ユニットＩＤは、汎用運動ユニットを識別可能な運動ユニットＩＤである。ジャンルＩＤは、汎用運動ユニットの運動のジャンルを示す。図３（Ｃ）は、汎用休憩ユニットテーブルの構成例を示す図である。汎用休憩ユニットテーブルは、汎用休憩ユニットを定義するテーブルである。図３（Ｃ）に示すように、汎用休憩ユニットテーブルには、汎用休憩ユニットＩＤ、休憩ユニット名及びジャンルＩＤが、汎用休憩ユニットごとに登録されている。汎用休憩ユニットＩＤは、汎用休憩ユニットを識別可能な運動ユニットＩＤである。ジャンルＩＤは、汎用休憩ユニットに対応する運動のジャンルを示す。
【００３２】
出力端末５は、運動レッスンを構成する複数の運動ユニットのうち、モーションデータ及び楽曲データを優先的にダウンロードする運動ユニットを１以上決定してもよい。そして、出力端末５は、決定された運動ユニットのモーションデータ及び楽曲データを、他の運動ユニットのモーションデータ及び楽曲データよりも前にダウンロードしてもよい。これにより、モーションデータ及び楽曲データのダウンロードが遅延により、優先的にダウンロードすると決定された運動ユニットの運動コンテンツの出力開始が遅延する可能性を低下させることができる。また、ダウンロードの中止により運動コンテンツが出力されない可能性を低下させることができる。
【００３３】
ここで、出力端末５は、実行順が最初の運動ユニットの運動コンテンツの出力が開始される前に、優先的にダウンロードすると決定された運動ユニットのモーションデータ及び楽曲データをダウンロードしてもよい。この運動ユニットを、事前取得運動ユニットという。この場合、ダウンロードによる遅延なくして、事前取得運動ユニットの運動コンテンツを出力することができる。また、ダウンロードの中止により事前取得運動ユニットの運動コンテンツが出力されないことを防止することができる。
【００３４】
例えば、事前取得運動ユニットは予め設定されていてもよい。図４（Ａ）は、事前取得運動ユニットリストの構成例を示す図である。事前取得運動ユニットリストは、事前取得運動ユニットを示すリスト情報である。図４（Ａ）に示すように、事前取得運動ユニットには、レッスンＩＤ、レッスン実行順番号、運動ユニットＩＤ及び事前取得フラグが、運動ユニットごとに格納される。レッスンＩＤ、レッスン実行順番号、及び運動ユニットＩＤは、レッスン詳細テーブルに格納されているレッスンＩＤ、レッスン実行順番号、及び運動ユニットＩＤのコピーである。事前取得フラグは、運動ユニットＩＤが示す運動ユニットが事前取得運動ユニットであるか否かを示す。図４（Ａ）の例では、レッスン実行順番号１及び５のそれぞれの運動ユニットが事前取得運動ユニットである。事前取得運動ユニットリストは、例えば、データベース３に登録されてもよい。そして、出力端末５は、配信サーバ２から事前取得運動ユニットリストをダウンロードしてもよい。この場合、出力端末５は、事前取得運動ユニットリストの事前取得フラグに基づいて、事前取得運動ユニットを決定する。
【００３５】
また、事前取得運動ユニット数が予め設定されていてもよい。事前取得運動ユニット数は、事前取得運動ユニットの数である。出力端末５は、事前取得運動ユニット数分の事前取得運動ユニットを自動的に決定して、事前取得運動ユニットリストを生成してもよい。例えば、出力端末５は、実行順が早い順に事前取得運動ユニット数分の運動ユニットを、事前取得運動ユニットに決定してもよい。これにより、出力端末５がダウンロードを中止させる可能性を低くすることができる。図４（Ｂ）は、事前取得運動ユニットリストの生成例を示す図である。例えば、事前取得運動ユニット数が２である場合、レッスン実行順番号１及び２のそれぞれの運動ユニットが事前取得運動ユニットに決定される。
【００３６】
また、事前取得割合が予め設定されてもよい。事前取得割合は、運動レッスンを構成する複数の運動ユニットのうち、事前取得運動ユニットの割合を示す。出力端末５は、事前取得割合と運動レッスンを構成する運動ユニットの数に基づいて、事前取得運動ユニットを決定してもよい。運動レッスンを構成する運動ユニットの数を運動ユニット数という。具体的に、出力端末５は、以下の式１及び式２の計算を行う。
【００３７】
事前取得運動ユニット数＝ＲＯＵＮＤ（運動ユニット数×事前取得割合）  ・・・式１
事前取得間隔＝運動ユニット数÷事前取得運動ユニット数  ・・・式２
ＲＯＵＮＤ（）は、四捨五入を示す。事前取得間隔は、事前取得運動ユニット間の実行順の差である。次いで、出力端末５は、以下の式３の計算を行う。
【００３８】
レッスン実行順番号（ｉ）＝ＲＯＵＮＤ（事前取得間隔×ｉ）  ・・・式３
ｉは、１から事前取得運動ユニット数までの何れかの値である。出力端末５は、１から事前取得運動ユニット数までの値を順次ｉに代入して、事前取得運動ユニット数分のレッスン実行順番号（ｉ）を計算する。次いで、出力端末５は、レッスン実行順番号（ｉ）ごとに、以下の式４の計算を行う。
【００３９】
レッスン実行順番号（ｉ）＝レッスン実行順番号（ｉ）−レッスン実行順番号（１）＋１  ・・・式４
これにより、出力端末５は、事前取得運動ユニットの最終的なレッスン実行順番号を決定する。この場合、運動レッスンの開始から終了までの間、事前取得間隔ごとに、確実に運動コンテンツを出力することができる運動ユニットが現れる。そのため、ダウンロードが中止された運動ユニットがあっても、利用者４１は、運動レッスンの開始から終了まで、或る程度まんべんなく運動ユニットを実行することができる。図４（Ｃ）は、事前取得運動ユニットリストの生成例を示す図である。例えば、事前取得割合が０．３であり、運動ユニット数が５であるとする。この場合、事前取得運動ユニット数は２になる。そして、事前取得間隔は２．５になる。１に２．５を掛けて四捨五入すると、レッスン実行順番号は３となり、２に２．５を掛けて四捨五入すると、レッスン実行順番号は５となる。ここで、出力端末５は、レッスン実行順番号３及び５からそれぞれ２を引いて、事前取得運動ユニットの最終的なレッスン実行順番号１及び３を決定する。
【００４０】
なお、例えば配信サーバ２が事前取得運動ユニットリストを生成し、出力端末５は配信サーバ２から事前取得運動ユニットリストをダウンロードしてもよい。
【００４１】
［３．各装置の構成］
次に、図１を参照して、運動コンテンツ生成システムに含まれる各装置の構成について説明する。
【００４２】
［３−１．配信サーバ２の構成］
図１に示すように、配信サーバ２は、ＣＰＵ２１、ＲＯＭ２２、ＲＡＭ２３、バス２４、Ｉ／Ｏインタフェイス２５、表示制御部２６、ディスクドライブ２８、ネットワーク通信部３０及びＨＤＤ３７を備える。ＣＰＵ２１は、バス２４を介して、ＲＯＭ２２、ＲＡＭ２３及びＩ／Ｏインタフェイス２５に接続されている。ＣＰＵ２１は、ＲＯＭ２２やＨＤＤ３７に記憶されプログラムを実行することにより、配信サーバ２の各部を制御する。Ｉ／Ｏインタフェイス２５には、データベース３、表示制御部２６、ディスクドライブ２８、ネットワーク通信部３０、キーボード３１、マウス３２及びＨＤＤ３７が接続されている。ＣＰＵ２１は、Ｉ／Ｏインタフェイス２５を介してデータベース３にアクセスする。表示制御部２６は、ＣＰＵ２１の制御に基づいて映像信号をモニタ２７に出力する。ディスクドライブ２８は、記録媒体２９に対するデータの書き込み及び読み出しを行う。ネットワーク通信部３０は、配信サーバ２がネットワーク１０に接続するための制御を行う。ＨＤＤ３７には、ＯＳや各種制御プログラム等が記憶されている。
【００４３】
データベース３には、楽曲データ、モーションデータ、ジャンルテーブル、レッスンテーブル、運動ユニットテーブル、レッスン詳細テーブル、残り予測ダウンロード時間別実行処理テーブル、汎用運動ユニットテーブル、ジャンル別汎用休憩ユニットテーブルが登録される。また、データベース３には、待機画面データ及び休憩指示画面データが登録される。待機画面データは、例えば、待機画面を示す画像データである。休憩指示画面データは、例えば、休憩指示画面を示す画像データである。休憩指示画面データは、休憩ユニットＩＤと対応付けて登録される。
【００４４】
［３−２．出力端末５の構成］
図１に示すように、出力端末５は、ＣＰＵ５１、ＲＯＭ５２、ＲＡＭ５３、バス５４、Ｉ／Ｏインタフェイス５５、表示制御部５６、ディスクドライブ５８、ネットワーク通信部６０、音声出力部６３、信号受信部６５、及びＨＤＤ７を備える。ＣＰＵ５１は、バス５４を介して、ＲＯＭ５２、ＲＡＭ５３及びＩ／Ｏインタフェイス５５に接続されている。ＣＰＵ５１は、時計機能及びタイマー機能を有する。ＣＰＵ５１は、ＲＯＭ５２やＨＤＤ７に記憶されプログラムを実行することにより、出力端末５の各部を制御する。Ｉ／Ｏインタフェイス５５には、ＨＤＤ７、表示制御部５６、音声出力部６３、ディスクドライブ５８、ネットワーク通信部６０、キーボード６１、マウス６２、及び信号受信部６５が接続されている。表示制御部５６は、ＣＰＵ５１の制御に基づいて映像信号をモニタ５７に出力する。音声出力部６３は、ＣＰＵ５１の制御に基づいて音声信号をモニタ５７に出力する。ディスクドライブ５８は、記録媒体５９に対するデータの書き込み及び読み出しを行う。信号受信部６５は、リモコン６６から出力される信号を受信する。リモコン６６は、操作者４２が出力端末５を操作するためのものである。
【００４５】
ＨＤＤ７は、本発明の記憶手段の一例である。ＨＤＤ７には、配信サーバ２からダウンロードされたジャンルテーブル、レッスンテーブル、運動ユニットテーブル、レッスン詳細テーブル、残り予測ダウンロード時間別実行処理テーブル、汎用運動ユニットテーブル、ジャンル別汎用休憩ユニットテーブル、待機画面データ、休憩指示画面データ、汎用運動ユニットのモーションデータ等のデータが記憶される。
【００４６】
ＨＤＤ７には、更に、ＯＳ、運動支援プログラム、３Ｄエンジン、ミュージックシーケンサ等の各種プログラム等が記憶されている。運動支援プログラムは、出力端末５を動作させるためのプログラムである。運動支援プログラムは、コンピュータとしてのＣＰＵ５１に、受付ステップ、ダウンロードステップ、設定ステップ、判定ステップ、制御ステップを少なくとも実行させる。３Ｄエンジンは、モーションデータに基づいて、三次元仮想空間で運動動作するフィギュア８３を二次元平面に投影した画像を生成するためのプログラムである。画像を生成する処理は、射影変換、クリッピング、隠面消去、シェーディング、テクスチャマッピング等を含む。ＣＰＵ５１は、３Ｄエンジンを実行して、静止画像を順次生成する。生成された静止画像をＣＰＵ５１が表示制御部５６へ順次出力することで、ディスプレイ６７には、運動映像が表示される。
【００４７】
ミュージックシーケンサは、楽曲データを再生するためのプログラムである。ＣＰＵ５１は、ミュージックシーケンサを実行することにより、楽曲データに対応する音声信号を生成する。また、ＣＰＵ５１は、ミュージックシーケンサを実行することにより、各種のイベントを発生させる。イベントとして、例えば、テンポに応じて所定時間間隔で発生するイベントがある。このイベントは、ＭＩＤＩクロックや同期イベントと呼ばれる。また、イベントとして、例えば、演奏パート開始イベントがある。
【００４８】
各種プログラムは、例えば、配信サーバ２等のサーバからネットワーク１０を介してダウンロードされるようにしてもよい。また、各種プログラムは、記録媒体５９に記録されてディスクドライブ５８を介して読み込まれるようにしてもよい。なお、３Ｄエンジンやミュージックシーケンサは、プログラムではなく、専用のハードウェアであってもよい。そして、出力端末５は、ハードウェアとしての３Ｄエンジンやミュージックシーケンサを備えてもよい。
【００４９】
ＣＰＵ５１は、設定されたテンポに従って、楽曲データに対応する音声信号を音声出力部６３へ出力させるとともに、生成した画像に対応する映像信号を表示制御部５６から出力させる。ＣＰＵ５１は、同期イベントに基づいて、楽曲の音声信号の出力タイミングと運動映像の映像信号の出力タイミングとを同期させる。これにより、スピーカ６４から出力される楽曲に同期して運動動作を行うフィギュア８３がディスプレイ６７に表示される。
［４．運動コンテンツ生成システム１の動作］
次に、図５乃至図７を参照して、運動コンテンツ生成システム１の動作を説明する。図５（Ａ）は、出力端末５のＣＰＵ５１のメイン処理の処理例を示すフローチャートである。例えば、操作者４２が、リモコン６６等により、運動レッスンを開始させるための操作を行う。このとき、操作者４２は、複数の運動レッスンの中から実行したい運動レッスンを選択する。すると、リモコン６６は、運動レッスンの開始指令を送信し、ＣＰＵ５１は、信号受信部６５を介して開始指令を受信する。こうして、ＣＰＵ５１は、運動レッスンの開始指令を受け付ける。これにより、ＣＰＵ５１は、メイン処理を開始する。
【００５０】
図５（Ａ）に示すように、ＣＰＵ５１は、操作者４２により選択された運動レッスンの情報を取得する（ステップＳ１）。具体的に、ＣＰＵ５１は、操作者４２が選択した運動レッスンのレッスンＩＤを特定する。次いで、ＣＰＵ５１は、レッスン詳細テーブルから、選択された運動レッスンのレッスンＩＤを格納するレコードを全て取得する。そして、ＣＰＵ５１は、取得したレコードをＲＡＭ５３に記憶させる。また、ＣＰＵ５１は、ＲＡＭ５３に記憶させたレコードの数を、運動ユニット数として計算する。また、ＣＰＵ５１は、各レコードに格納されているレッスン実行順番号に対応付けて、ダウンロードフラグ及び完了フラグをそれぞれＲＡＭ５３に記憶させる。ダウンロードフラグは、モーションデータ及び楽曲データをダウンロードするか否かを示す。完了フラグは、モーションデータ及び楽曲データのダウンロードが完了したか否かを示す。ＣＰＵ５１は、各ダウンロードフラグをＴＲＵＥに設定し、各完了フラグをＦＡＬＳＥに設定する。
【００５１】
次いで、ＣＰＵ５１は、事前取得運動ユニットダウンロード処理を実行する（ステップＳ２）。事前取得運動ユニットダウンロード処理において、ＣＰＵ５１は、事前取得運動ユニットのモーションデータ及び楽曲データをダウンロードする。事前取得運動ユニットダウンロード処理の詳細は後述する。次いで、ＣＰＵ５１は、運動ユニットダウンロード処理を、メイン処理のスレッドとは異なるスレッドで開始させる（ステップＳ３）。運動ユニットダウンロード処理において、ＣＰＵ５１は、運動コンテンツの再生中に、モーションデータ及び楽曲データを順次ダウンロードする。運動ユニットダウンロード処理の詳細は後述する。次いで、ＣＰＵ５１は、再生処理を実行する（ステップＳ４）。再生処理において、ＣＰＵ５１は、運動コンテンツを再生する。再生処理の詳細は後述する。ステップＳ４を終えると、ＣＰＵ５１は、メイン処理を終了させる。
【００５２】
図５（Ｂ）及び図５（Ｃ）は、それぞれ出力端末５のＣＰＵ５１の事前取得運動ユニットダウンロード処理の処理例を示すフローチャートである。図５（Ｂ）は、事前取得運動ユニット数が予め設定されている場合の処理例を示す。図５（Ｃ）は、事前取得割合が予め設定されている場合の処理例を示す。ＣＰＵ５１は、例えば、図５（Ｂ）が示す処理を実行してもよいし、図５（Ｃ）が示す処理を実行してもよい。先ず、図５（Ｂ）が示す処理について説明する。ＣＰＵ５１は、ＨＤＤ７から、予め設定された事前取得運動ユニット数を取得する（ステップＳ１１）。
【００５３】
次いで、ＣＰＵ５１は、事前取得運動ユニットリストを生成する（ステップＳ１２）。具体的に、ＣＰＵ５１は、ＲＡＭ５３に記憶された各レコードからレッスン実行順番号を取得する。そして、ＣＰＵ５１は、レッスン実行順番号が事前取得運動ユニット数の値以下である各レコードに対応付けて、ＴＲＵＥに設定された事前取得フラグをＲＡＭ５３に記憶させる。また、ＣＰＵ５１は、レッスン実行順番号が事前取得運動ユニット数の値よりも大きい各レコードに対応付けて、ＦＡＬＳＥに設定された事前取得フラグをＲＡＭ５３に記憶させる。こうして、ＣＰＵ５１は、事前取得運動ユニットを決定して事前取得運動ユニットリストを生成する。
【００５４】
次いで、ＣＰＵ５１は、事前取得運動ユニットのモーションデータ及び楽曲データをダウンロードする（ステップＳ１３）。具体的に、ＣＰＵ５１は、事前取得フラグがＴＲＵＥであるレコードから、事前取得運動ユニットの運動ユニットＩＤ及び楽曲ＩＤを取得する。次いで、ＣＰＵ５１は、取得した運動ユニットＩＤ及び楽曲ＩＤを含むアップロード要求を配信サーバ２へ送信する。アップロード要求を受信した配信サーバ２のＣＰＵ２１は、アップロード要求から運動ユニットＩＤ及び楽曲ＩＤを取得する。次いで、ＣＰＵ２１は、運動ユニットＩＤに対応するモーションデータをデータベース３から取得して、出力端末５へアップロードする。こうして、出力端末５のＣＰＵ５１は、配信サーバ２からモーションデータをダウンロードし、モーションデータを運動ユニットＩＤ及び事前取得運動ユニットのレッスン実行順番号に対応付けて、ＨＤＤ７に記憶させる。次いで、配信サーバ２のＣＰＵ２１は、楽曲ＩＤに対応する楽曲データをデータベース３から取得して、出力端末５へアップロードする。こうして、出力端末５のＣＰＵ５１は、配信サーバ２から楽曲データをダウンロードし、楽曲データを楽曲ＩＤ及び事前取得運動ユニットのレッスン実行順番号に対応付けて、ＨＤＤ７に記憶させる。ダウンロードが完了すると、ＣＰＵ５１は、事前取得運動ユニットの完了フラグをＴＲＵＥに変更する。完了フラグをＦＡＬＳＥからＴＲＵＥに変更することで、ＣＰＵ５１は、ダウンロードが完了した運動ユニットの運動映像の表示及び楽曲の出力の開始を可能に設定する。ＣＰＵ５１は、モーションデータ及び楽曲データのダウンロードを、事前取得フラグがＴＲＵＥである全てのレコードについて実行する。ステップＳ１３を終えると、ＣＰＵ５１は、事前取得運動ユニットダウンロード処理を終了させる。
【００５５】
次に、図５（Ｃ）が示す処理について説明する。ＣＰＵ５１は、ＨＤＤ７から、予め設定された事前取得割合を取得する（ステップＳ２１）。次いで、ＣＰＵ５１は、事前取得間隔を算出する（ステップＳ２２）。具体的に、ＣＰＵ５１は、前記の式１及び式２を計算する。次いで、ＣＰＵ５１は、運動ユニット数を事前取得運動ユニット数で割ることにより、事前取得間隔を計算する。次いで、ＣＰＵ５１は、事前取得運動ユニットリストを生成する（ステップＳ２３）。具体的に、ＣＰＵ５１は、前記の式３及び式４を計算することにより、事前取得運動ユニットリストのレッスン実行順番号を計算する。次いで、ＣＰＵ５１は、ＲＡＭ５３に記憶された各レコードからレッスン実行順番号を取得する。ＣＰＵ５１は、取得したレッスン実行順番号のうち、事前取得運動ユニットのレッスン実行順番号に対応付けて、ＴＲＵＥに設定された事前取得フラグをＲＡＭ５３に記憶させる。また、ＣＰＵ５１は、事前取得運動ユニットのレッスン実行順番号と異なるレッスン実行順番号に対応付けて、ＦＡＬＳＥに設定された事前取得フラグをＲＡＭ５３に記憶させる。こうして、ＣＰＵ５１は、事前取得運動ユニットを決定して事前取得運動ユニットリストを生成する。
【００５６】
次いで、ＣＰＵ５１は、事前取得運動ユニットのモーションデータ及び楽曲データをダウンロードする（ステップＳ２４）。ステップＳ２４の処理は、図５（Ｂ）に示すステップＳ１３と同様である。ステップＳ２４を終えると、ＣＰＵ５１は、事前取得運動ユニットダウンロード処理を終了させる。
【００５７】
図６は、出力端末５のＣＰＵ５１の再生処理の処理例を示すフローチャートである。図６に示すように、ＣＰＵ５１は、Ｎを運動ユニット数に設定する（ステップＳ３１）。次いで、ＣＰＵ５１は、レッスン実行順番号ｉを１に設定する（ステップＳ３２）。次いで、ＣＰＵ５１は、ｉがＮ以下であるか否かを判定する（ステップＳ３３）。このとき、ＣＰＵ５１は、ｉがＮ以下であると判定した場合には（ステップＳ３３：ＹＥＳ）、ステップＳ３４に進む。ステップＳ３４において、ＣＰＵ５１は、レッスン実行順番号ｉに対応付けられた完了フラグがＴＲＵＥであるか否かを判定する。
【００５８】
このとき、ＣＰＵ５１は、完了フラグがＴＲＵＥであると判定した場合には（ステップＳ３４：ＹＥＳ）、ステップＳ３５に進む。ステップＳ３５において、ＣＰＵ５１は、レッスン実行順番号ｉの運動ユニットの運動映像を表示させるとともに、楽曲を出力させる。具体的に、ＣＰＵ５１は、レッスン実行順番号ｉに対応付けてＨＤＤ７に記憶されているモーションデータに基づいて、運動映像の映像信号を表示制御部５６からディスプレイ６７へ出力させる。また、ＣＰＵ５１は、レッスン実行順番号ｉに対応付けてＨＤＤ７に記憶されている楽曲データに基づいて、楽曲の音声信号を、音声出力部６３からスピーカ６４へ出力させる。映像信号の出力及び音声信号の出力が完了すると、ＣＰＵ５１は、ステップＳ３６に進む。
【００５９】
一方、ＣＰＵ５１は、完了フラグがＴＲＵＥではないと判定した場合には（ステップＳ３４：ＮＯ）、ステップＳ３７に進む。ステップＳ３７において、ＣＰＵ５１は、残り予測ダウンロード時間を取得する。具体的に、ＣＰＵ５１は、レッスン実行順番号ｉに対応付けてＲＡＭ５３に記憶されたモーションデータのデータサイズ及び楽曲データのデータサイズを加算して、総データサイズを計算する。データサイズは、運動ユニットダウンロード処理においてＲＡＭ５３に記憶される。次いで、ＣＰＵ５１は、レッスン実行順番号ｉに対応付けてＨＤＤ７にダウンロードされているモーションデータ及び楽曲データの現時点でのデータサイズを取得する。次いで、ＣＰＵ５１は、総データサイズから現時点でのデータサイズを引くことにより残りダウンロードサイズを計算する。次いで、ＣＰＵ５１は、時計機能から現在時刻を取得する。次いで、ＣＰＵ５１は、モーションデータ及び楽曲データのダウンロード開始時刻から現在時刻までの経過時間を計算する。ダウンロード開始時刻は、運動ユニットダウンロードにおいて、ＲＡＭ５３に記憶される。次いで、ＣＰＵ５１は、現時点でのデータサイズを経過時間で割ることにより、１秒あたりのダウンロードサイズを計算する。次いで、ＣＰＵ５１は、残りダウンロードサイズを、１秒あたりのダウンロードサイズで割ることにより、残り予測ダウンロード時間を計算する。
【００６０】
次いで、ＣＰＵ５１は、残り予測ダウンロード時間別実行処理テーブルから、タイプＧＷに対応する最長時間αを取得する。そして、ＣＰＵ５１は、残り予測ダウンロード時間がα以下であるか否かを判定する（ステップＳ３８）。このとき、ＣＰＵ５１は、残り予測ダウンロード時間がα以下であると判定した場合には（ステップＳ３８：ＹＥＳ）、ステップＳ３９に進む。ステップＳ３９において、ＣＰＵ５１は、ＨＤＤ７に記憶された待機画面データに基づいて、待機画面をディスプレイ６７に表示させる。例えば、ＣＰＵ５１は、残り予測ダウンロード時間が経過するまで待機画面を表示させる。次いで、ＣＰＵ５１は、ステップＳ３４に進む。
【００６１】
一方、ＣＰＵ５１は、残り予測ダウンロード時間がα以下ではないと判定した場合には（ステップＳ３８：ＮＯ）、ステップＳ４０に進む。ステップＳ４０において、ＣＰＵ５１は、残り予測ダウンロード時間別実行処理テーブルから、タイプＧＢに対応する最長時間βを取得する。βの値はαの値よりも大きい。そして、ＣＰＵ５１は、残り予測ダウンロード時間がβ以下であるか否かを判定する。このとき、ＣＰＵ５１は、残り予測ダウンロード時間がβ以下であると判定した場合には（ステップＳ４０：ＹＥＳ）、ステップＳ４１に進む。ステップＳ４１において、ＣＰＵ５１は、休憩指示画面をディスプレイ６７に表示させる。具体的に、ＣＰＵ５１は、選択された運動レッスンのレッスンＩＤに対応するジャンルＩＤを、レッスンテーブルから取得する。次いで、ＣＰＵ５１は、取得したジャンルＩＤに対応する汎用休憩ユニットＩＤを、汎用休憩ユニットテーブルから取得する。取得したジャンルＩＤに対応する汎用休憩ユニットＩＤが複数ある場合、例えば、ＣＰＵ５１は、取得する汎用休憩ユニットＩＤをランダムに決定してもよい。次いで、ＣＰＵ５１は、取得した汎用休憩ユニットＩＤに対応付けてＨＤＤ７に記憶されている休憩指示画面データに基づいて、休憩指示画面を表示させる。ＣＰＵ５１は、例えば、残り予測ダウンロード時間が経過するまで休憩指示画面を表示させる。次いで、ＣＰＵ５１は、ステップＳ３４に進む。
【００６２】
一方、ＣＰＵ５１は、残り予測ダウンロード時間がβ以下ではないと判定した場合には（ステップＳ４０：ＮＯ）、ステップＳ４２に進む。ステップＳ４２において、ＣＰＵ５１は、残り予測ダウンロード時間別実行処理テーブルから、タイプＧＵに対応する最長時間γを取得する。γの値はβの値よりも大きい。そして、ＣＰＵ５１は、残り予測ダウンロード時間がγ以下であるか否かを判定する。このとき、ＣＰＵ５１は、残り予測ダウンロード時間がγ以下であると判定した場合には（ステップＳ４２：ＹＥＳ）、ステップＳ４３に進む。ステップＳ４３において、ＣＰＵ５１は、汎用運動の運動映像をディスプレイ６７に表示させる。具体的に、ＣＰＵ５１は、選択された運動レッスンのレッスンＩＤに対応するジャンルＩＤを、レッスンテーブルから取得する。次いで、ＣＰＵ５１は、取得したジャンルＩＤに対応する汎用運動ユニットＩＤを、汎用運動ユニットテーブルから取得する。取得したジャンルＩＤに対応する汎用運動ユニットＩＤが複数ある場合、例えば、ＣＰＵ５１は、取得する汎用運動ユニットＩＤをランダムに決定してもよい。次いで、ＣＰＵ５１は、取得した汎用運動ユニットＩＤに対応付けてＨＤＤ７に記憶されているモーションデータに基づいて、運動映像の映像信号を表示制御部５６からディスプレイ６７へ出力させる。ＣＰＵ５１は、例えば、残り予測ダウンロード時間が経過するまで、汎用運動の運動映像を表示させる。次いで、ＣＰＵ５１は、ステップＳ３４に進む。
【００６３】
一方、ＣＰＵ５１は、残り予測ダウンロード時間がγ以下ではないと判定した場合には（ステップＳ４２：ＮＯ）、ステップＳ４４に進む。ステップＳ４４において、ＣＰＵ５１は、レッスン実行順番号ｉに対応するダウンロードフラグをＦＡＬＳＥに変更する。次いで、ＣＰＵ５１は、汎用運動の運動映像をディスプレイ６７に表示させる（ステップＳ４５）。ステップＳ４５の処理はステップＳ４３と同様である。ＣＰＵ５１は、例えば、γ秒経過するまで、汎用運動の運動映像を表示させる。次いで、ＣＰＵ５１は、ステップＳ３６に進む。
【００６４】
ステップＳ３６において、ＣＰＵ５１は、レッスン実行順番号ｉに１を加算する。次いで、ＣＰＵ５１は、ステップＳ３３に進む。ステップＳ３３において、ＣＰＵ５１は、ｉがＮ以下ではないと判定した場合には（ステップＳ３３：ＮＯ）、再生処理を終了させる。
【００６５】
図７は、出力端末５のＣＰＵ５１の運動ユニットダウンロード処理の処理例を示すフローチャートである。図７に示すように、ＣＰＵ５１は、Ｎを運動ユニット数に設定する（ステップＳ５１）。次いで、ＣＰＵ５１は、レッスン実行順番号ｊを１に設定する（ステップＳ５２）。次いで、ＣＰＵ５１は、ｊがＮ以下であるか否かを判定する（ステップＳ５３）。このとき、ＣＰＵ５１は、ｊがＮ以下であると判定した場合には（ステップＳ５３：ＹＥＳ）、ステップＳ５４に進む。ステップＳ５４において、ＣＰＵ５１は、時計機能から現在時刻を取得する。次いで、ＣＰＵ５１は、現在時刻をダウンロード開始時刻としてＲＡＭ５３に記憶させる。また、ＣＰＵ５１は、モーションデータ及び楽曲データのそれぞれのダウンロード済データサイズを０に設定する。そして、ＣＰＵ５１は、レッスン実行順番号ｊに対応する完了フラグがＴＲＵＥであるか否かを判定する。このとき、ＣＰＵ５１は、完了フラグがＴＲＵＥであると判定した場合には（ステップＳ５４：ＹＥＳ）、ステップＳ５９に進む。
【００６６】
一方、ＣＰＵ５１は、完了フラグがＴＲＵＥではないと判定した場合には（ステップＳ５４：ＮＯ）、ステップＳ５５に進む。ステップＳ５５において、ＣＰＵ５１は、レッスン実行順番号ｊに対応するダウンロードフラグがＴＲＵＥであるか否かを判定する。このとき、ＣＰＵ５１は、ダウンロードフラグがＴＲＵＥではないと判定した場合には（ステップＳ５５：ＮＯ）、ステップＳ５９に進む。一方、ＣＰＵ５１は、ダウンロードフラグがＴＲＵＥであると判定した場合には（ステップＳ５５：ＹＥＳ）、ステップＳ５６に進む。ステップＳ５６において、ＣＰＵ５１は、レッスン実行順番号ｊの運動ユニットのモーションデータ及び楽曲データを部分的にダウンロードする。具体的に、モーションデータのダウンロード済データサイズが０である場合、ＣＰＵ５１は、レッスン実行順番号ｊに対応する運動ユニットＩＤ及び楽曲ＩＤをＲＡＭ５３から取得する。次いで、ＣＰＵ５１は、取得した運動ユニットＩＤ及び楽曲ＩＤを含むデータサイズ要求を配信サーバ２へ送信する。データサイズ要求を受信した配信サーバ２のＣＰＵ２１は、データサイズ要求から運動ユニットＩＤ及び楽曲ＩＤを取得する。次いで、ＣＰＵ２１は、運動ユニットＩＤに対応するモーションデータのデータサイズをデータベース３から取得する。また、ＣＰＵ２１は、楽曲ＩＤに対応する楽曲データのデータサイズをデータベース３から取得する。次いで、ＣＰＵ２１は、モーションデータ及び楽曲データのデータサイズを出力端末５へ送信する。配信サーバ２からデータサイズを受信した出力端末５のＣＰＵ５１は、これらの情報を、レッスン実行順番号ｊに対応付けてＲＡＭ５３に記憶させる。次いで、ＣＰＵ５１は、レッスン実行順番号ｊに対応する運動ユニットＩＤ、及びモーションデータのダウンロード済サイズを含むモーションデータ部分アップロード要求を配信サーバ２へ送信する。モーションデータ部分アップロード要求を受信した配信サーバ２のＣＰＵ２１は、モーションデータ部分アップロード要求から運動ユニットＩＤ、及びダウンロード済サイズを取得する。次いで、ＣＰＵ２１は、ダウンロード済サイズの値を、モーションデータからデータを読み出す先頭アドレスとする。次いで、ＣＰＵ２１は、運動ユニットＩＤに対応付けてデータベース３に登録されているモーションデータにおいて、ダウンロード済サイズが示すアドレスから所定バイト数のデータを読み出す。そいて、ＣＰＵ２１は、読み出したデータを出力端末５へ送信する。データを受信した出力端末５は、受信したデータを、運動ユニットＩＤ及びレッスン実行順番号ｊに対応付けてＨＤＤ７へ記憶させるとともに、モーションデータのダウンロード済サイズに所定バイト数を加算する。次いで、ＣＰＵ５１は、ステップＳ５７に進む。モーションデータのダウンロード済データサイズが０ではない場合、ＣＰＵ５１は、同様にモーションデータ部分アップロード要求を配信サーバ２へ送信し、配信サーバ２から所定バイト数のデータを受信する。そして、ＣＰＵ５１は、受信したデータをＨＤＤ７に記憶させて、ダウンロード済データサイズを更新する。次いで、ＣＰＵ５１は、ステップＳ５７に進む。モーションデータのダウンロード済データサイズがモーションデータのデータサイズに達している場合、モーションデータのダウンロードが完了している。この場合、ＣＰＵ５１は、楽曲ＩＤ、及び楽曲データのダウンロード済サイズを含む楽曲データ部分アップロード要求を配信サーバ２へ送信する。楽曲データ部分アップロード要求を受信した配信サーバ２のＣＰＵ２１は、楽曲データ部分アップロード要求から楽曲ＩＤ、及びダウンロード済サイズを取得する。次いで、ＣＰＵ２１は、ダウンロード済サイズの値を、楽曲データからデータを読み出す先頭アドレスとする。次いで、ＣＰＵ２１は、楽曲ＩＤに対応付けてデータベース３に登録されている楽曲データにおいて、ダウンロード済サイズが示すアドレスから所定バイト数のデータを読み出す。そいて、ＣＰＵ２１は、読み出したデータを出力端末５へ送信する。データを受信した出力端末５は、受信したデータを楽曲ＩＤ及びレッスン実行順番号ｊに対応付けてＨＤＤ７へ記憶させるとともに、楽曲データのダウンロード済サイズに所定バイト数を加算する。次いで、ＣＰＵ５１は、ステップＳ５７に進む。
【００６７】
ステップＳ５７において、ＣＰＵ５１は、レッスン実行順番号ｊの運動ユニットのモーションデータ及び楽曲データのダウンロードが完了しているか否かを判定する。楽曲データのダウンロード済サイズが、楽曲データのダウンロードサイズに達している場合、ダウンロードが完了している。ＣＰＵ５１は、ダウンロードが完了していないと判定した場合には（ステップＳ５７：ＮＯ）、ステップＳ５５に進む。一方、ＣＰＵ５１は、ダウンロードが完了したと判定した場合には（ステップＳ５７：ＹＥＳ）、ステップＳ５８に進む。ステップＳ５８において、ＣＰＵ５１は、レッスン実行順番号ｊに対応する完了フラグをＴＲＵＥに変更する。これにより、ＣＰＵ５１は、ダウンロードが完了した運動ユニットの運動映像の表示及び楽曲の出力の開始を可能に設定する。次いで、ＣＰＵ５１は、ステップＳ５９に進む。ステップＳ５９において、ＣＰＵ５１は、レッスン実行順番号ｊに１を加算する。次いで、ＣＰＵ５１は、ステップＳ５３に進む。ステップＳ５３において、ＣＰＵ５１は、ｉがＮ以下ではないと判定した場合には（ステップＳ５３：ＮＯ）、運動ユニットダウンロード処理を終了させる。
【００６８】
以上説明したように、本実施形態によれば、ＣＰＵ５１が、レッスンの開始指令が受け付けられたレッスンのレッスン実行順番号が示す順序に従って、モーションデータ及び楽曲データをダウンロードする。また、ＣＰＵ５１が、何れかの運動ユニットに対応するモーションデータ及び楽曲データのダウンロードが完了した場合、ダウンロードが完了した運動ユニットに対応する運動映像及び楽曲の出力を開始可能に設定する。また、ＣＰＵ５１が、何れかの運動ユニットに対応する運動映像の表示及び楽曲の出力が終了した場合、次の順序の運動ユニットに対応するモーションデータ及び楽曲データのダウンロードが完了したかを判定する。そして、ＣＰＵ５１が、ダウンロードが完了していないと判定された場合、次の順序の運動ユニットに対応するモーションデータ及び楽曲データのダウンロードに要する時間に応じた行動を促す映像を表示させる。従って、ユーザが何をしてよいか分からずに待つことを防止することができる。
【符号の説明】
【００６９】
１  運動コンテンツ生成システム
２  配信サーバ
３  データベース
５  出力端末
７  ＨＤＤ
５１  ＣＰＵ
５２  ＲＯＭ
５３  ＲＡＭ
５６  表示制御部
６０  ネットワーク通信部
６３  音声出力部
５７  モニタ
【図１】
0005954314.tif 000002
【図２】
0005954314.tif 000003
【図３】
0005954314.tif 000004
【図４】
0005954314.tif 000005
【図５】
0005954314.tif 000006
【図６】
0005954314.tif 000007
【図７】
0005954314.tif 000008