(57)【特許請求の範囲】
【請求項１】
複数の演奏パートで構成される楽曲を示す楽曲情報を記憶する第１記憶手段と、
前記楽曲に専用の運動動作を示す第１動作情報と、前記第１動作情報の繋ぎ属性を示す第１繋ぎ属性情報とを対応付けて記憶する第２記憶手段と、
様々な楽曲で行うことができる複数の汎用の運動動作を示す複数の第２動作情報と、前記複数の動作情報の繋ぎ属性を示す第２繋ぎ属性情報とを対応付けて記憶する第３記憶手段と、
前記複数の演奏パートの何れかの演奏パートに割り当てる候補となる前記第１動作情報を前記第２記憶手段から検索する第１検索手段と、
前記第１検索手段により検索された前記第１動作情報の前記第１繋ぎ属性情報に一致する前記第２繋ぎ属性情報に対応する前記第２動作情報を、前記第１動作情報が検索された演奏パートの前に出力される第１演奏パート及び前記第１動作情報が検索された演奏パートの次に出力される第２演奏パートの少なくとも何れかに割り当てる候補として前記第３記憶手段から検索する第２検索手段と、
前記第１検索手段及び前記第２検索手段の検索結果に基づいて、前記楽曲情報が出力されるときに行われる複数の運動動作を示すリスト情報を生成する生成手段と、
を備えることを特徴とする情報処理装置。
【請求項２】
前記第１検索手段は、前記複数の演奏パートのうち最初に出力される演奏パートに割り当て可能な前記第１動作情報を検索し、
前記第１検索手段により前記第１動作情報が検索されたかを判定する判定手段を更に備え、
前記第１検索手段は、前記判定手段により前記第１動作情報が検索されたと判定されなかった場合、前記最初に出力される演奏パートに割り当て可能な前記第２動作情報を前記第３記憶手段から検索し、
前記第２検索手段は、前記第１検索手段により検索された前記第１動作情報の前記第１繋ぎ属性情報又は前記第２動作情報の前記第２繋ぎ属性情報に一致する前記第２繋ぎ属性情報に対応する前記第２動作情報を、前記最初に出力される演奏パートの次に出力される演奏パートに割り当てる候補として検索することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記第１検索手段は、前記複数の演奏パートのうち前記第１動作情報を割り当て可能な演奏パートを検索し、
前記第２検索手段は、前記第１演奏パート及び前記第２演奏パートのうち前記第１検索手段により検索されなかった演奏パートに割り当てる候補として、前記第１検索手段により検索された前記第１動作情報の前記第１繋ぎ属性情報に一致する前記第２繋ぎ属性情報に対応する前記第２動作情報を検索することを特徴とする請求項１に記載の情報処理装置。
【請求項４】
前記第１動作情報及び前記複数の第２動作情報に対応付けて、運動動作をサポートするナレーションを示すナレーション情報と、前記運動動作の開始から何拍前に前記ナレーション情報を出力するかを示す拍情報とを記憶する第４記憶手段と、
前記第４記憶手段に記憶された前記拍情報に基づいて、前記楽曲情報が出力されているときの前記ナレーション情報の出力のタイミングであって、前記生成手段により生成された前記リスト情報が示す前記複数の運動動作に対応する前記ナレーション情報の出力のタイミングを示すタイミング情報を生成する第２生成手段と、
を更に備えることを特徴とする請求項１乃至３の何れか１項に記載の情報処理装置。
【請求項５】
複数の演奏パートで構成される楽曲を示す楽曲情報を記憶する第１記憶手段に記憶された前記楽曲情報が示す前記楽曲に専用の運動動作を示す第１動作情報と、前記第１動作情報の繋ぎ属性を示す第１繋ぎ属性情報とを対応付けて記憶する第２記憶手段から、前記複数の演奏パートの何れかの演奏パートに割り当てる候補となる前記第１動作情報を検索する第１検索ステップと、
様々な楽曲で行うことができる複数の汎用の運動動作を示す複数の第２動作情報と、前記複数の動作情報の繋ぎ属性を示す第２繋ぎ属性情報とを対応付けて記憶する第３記憶手段から、前記第１検索ステップにより検索された前記第１動作情報の前記第１繋ぎ属性情報に一致する前記第２繋ぎ属性情報に対応する前記第２動作情報を、前記第１動作情報が検索された演奏パートの前に出力される第１演奏パート及び前記第１動作情報が検索された演奏パートの次に出力される第２演奏パートの少なくとも何れかに割り当てる候補として検索する第２検索ステップと、
前記第１検索ステップ及び前記第２検索ステップの検索結果に基づいて、前記楽曲情報が出力されるときに行われる複数の運動動作を示すリスト情報を生成する生成ステップと、
をコンピュータに実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ユーザが楽曲を聴きながら行う運動を支援するための運動コンテンツを出力する技術分野に関する。
【背景技術】
【０００２】
従来、楽曲を構成する複数の演奏パートのそれぞれに運動動作を割り当てる技術が知られている。例えば、特許文献１には、演奏パートの種類に応じた運動種類の運動動作を、演奏パートに割り当てる技術が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１２−６５９６６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
運動コンテンツの生成を効率化するために、各演奏パートに割り当てる運動動作を、予め用意されている複数の運動動作の中から自動的に決定することが考えられる。このとき、楽曲ごとに運動に特徴を持たせるため、楽曲専用の運動動作と汎用の運動動作とを自動的に組み合わせたいという要望がある。しかしながら、従来の技術では、各演奏パートに合う運動動作を割り当てることはできるものの、専用の運動動作と汎用の運動動作との繋がりについては考慮されていなかった。そのため、運動動作の繋がりに違和感のある運動コンテンツが生成されてしまう場合があった。
【０００５】
本発明は、以上の点に鑑みてなされたものであり、運動動作の繋がりが自然になるように各演奏パートに専用の運動動作と汎用の運動動作とを自動的に割り当てることを可能とする情報処理装置及びプログラムを提供することを課題とする。
【課題を解決するための手段】
【０００６】
上記課題を解決するために、請求項１に記載の発明は、複数の演奏パートで構成される楽曲を示す楽曲情報を記憶する第１記憶手段と、前記楽曲に専用の運動動作を示す第１動作情報と、前記第１動作情報の繋ぎ属性を示す第１繋ぎ属性情報とを対応付けて記憶する第２記憶手段と、様々な楽曲で行うことができる複数の汎用の運動動作を示す複数の第２動作情報と、前記複数の動作情報の繋ぎ属性を示す第２繋ぎ属性情報とを対応付けて記憶する第３記憶手段と、前記複数の演奏パートの何れかの演奏パートに割り当てる候補となる前記第１動作情報を前記第２記憶手段から検索する第１検索手段と、前記第１検索手段により検索された前記第１動作情報の前記第１繋ぎ属性情報に一致する前記第２繋ぎ属性情報に対応する前記第２動作情報を、前記第１動作情報が検索された演奏パートの前に出力される第１演奏パート及び前記第１動作情報が検索された演奏パートの次に出力される第２演奏パートの少なくとも何れかに割り当てる候補として前記第３記憶手段から検索する第２検索手段と、前記第１検索手段及び前記第２検索手段の検索結果に基づいて、前記楽曲情報が出力されるときに行われる複数の運動動作を示すリスト情報を生成する生成手段と、を備えることを特徴とする。
【０００７】
請求項２に記載の発明は、前記第１検索手段は、前記複数の演奏パートのうち最初に出力される演奏パートに割り当て可能な前記第１動作情報を検索し、前記第１検索手段により前記第１動作情報が検索されたかを判定する判定手段を更に備え、前記第１検索手段は、前記判定手段により前記第１動作情報が検索されたと判定されなかった場合、前記最初に出力される演奏パートに割り当て可能な前記第２動作情報を前記第３記憶手段から検索し、前記第２検索手段は、前記第１検索手段により検索された前記第１動作情報の前記第１繋ぎ属性情報又は前記第２動作情報の前記第２繋ぎ属性情報に一致する前記第２繋ぎ属性情報に対応する前記第２動作情報を、前記最初に出力される演奏パートの次に出力される演奏パートに割り当てる候補として検索することを特徴とする。
【０００８】
請求項３に記載の発明は、前記第１検索手段は、前記複数の演奏パートのうち前記第１動作情報を割り当て可能な演奏パートを検索し、前記第２検索手段は、前記第１演奏パート及び前記第２演奏パートのうち前記第１検索手段により検索されなかった演奏パートに割り当てる候補として、前記第１検索手段により検索された前記第１動作情報の前記第１繋ぎ属性情報に一致する前記第２繋ぎ属性情報に対応する前記第２動作情報を検索することを特徴とする。
【０００９】
請求項４に記載の発明は、前記第１動作情報及び前記複数の第２動作情報に対応付けて、運動動作をサポートするナレーションを示すナレーション情報と、前記運動動作の開始から何拍前に前記ナレーション情報を出力するかを示す拍情報とを記憶する第４記憶手段と、前記第４記憶手段に記憶された前記拍情報に基づいて、前記楽曲情報が出力されているときの前記ナレーション情報の出力のタイミングであって、前記生成手段により生成された前記リスト情報が示す前記複数の運動動作に対応する前記ナレーション情報の出力のタイミングを示すタイミング情報を生成する第２生成手段と、を更に備えることを特徴とする。
【００１０】
請求項５に記載の発明は、複数の演奏パートで構成される楽曲を示す楽曲情報を記憶する第１記憶手段に記憶された前記楽曲情報が示す前記楽曲に専用の運動動作を示す第１動作情報と、前記第１動作情報の繋ぎ属性を示す第１繋ぎ属性情報とを対応付けて記憶する第２記憶手段から、前記複数の演奏パートの何れかの演奏パートに割り当てる候補となる前記第１動作情報を検索する第１検索ステップと、様々な楽曲で行うことができる複数の汎用の運動動作を示す複数の第２動作情報と、前記複数の動作情報の繋ぎ属性を示す第２繋ぎ属性情報とを対応付けて記憶する第３記憶手段から、前記第１検索ステップにより検索された前記第１動作情報の前記第１繋ぎ属性情報に一致する前記第２繋ぎ属性情報に対応する前記第２動作情報を、前記第１動作情報が検索された演奏パートの前に出力される第１演奏パート及び前記第１動作情報が検索された演奏パートの次に出力される第２演奏パートの少なくとも何れかに割り当てる候補として検索する第２検索ステップと、前記第１検索ステップ及び前記第２検索ステップの検索結果に基づいて、前記楽曲情報が出力されるときに行われる複数の運動動作を示すリスト情報を生成する生成ステップと、をコンピュータに実行させることを特徴とする。
【発明の効果】
【００１１】
請求項１又は５に記載の発明によれば、演奏パートに割り当てられた専用の運動動作の繋ぎ属性と一致する繋ぎ属性を有する汎用の運動動作が、専用の運動動作が割り当てられた演奏パートの前の演奏パート、及び、専用の運動動作が割り当てられた演奏パートの次の演奏パートの少なくとも何れかに割り当てられる。そのため、運動動作の繋がりが自然になるように各演奏パートに専用の運動動作と汎用の運動動作とを自動的に割り当てることができる。
【００１２】
請求項２に記載の発明によれば、演奏パートの出力順に運動動作を割り当てることができる。
【００１３】
請求項３に記載の発明によれば、多くの演奏パートに専用の運動動作を割り当てることができる。
【００１４】
請求項４に記載の発明によれば、運動動作に対応するナレーションを運動動作の開始に先立って出力することができる。
【図面の簡単な説明】
【００１５】
【図１】一実施形態の運動コンテンツ生成システム１の概要構成例を示す図である。
【図２】（Ａ）は、運動動作の構成例を示す図であり、（Ｂ）は、部品ＩＤの割り当て例を示す図である。
【図３】（Ａ）は、汎用部品テーブルの構成例を示す図であり、（Ｂ）は、専用部品テーブルの構成例を示す図であり、（Ｃ）は、繋ぎ動作テーブルの構成例を示す図であり、（Ｄ）は、運動ジャンルテーブルの構成例を示す図であり、（Ｅ）は、ナレーションタイミングファイルの内容の一例を示す図であり、（Ｆ）は、効果音タイミングファイルの内容の一例を示す図である。
【図４】（Ａ）は、楽曲の構成例を示す図であり、（Ｂ）〜（Ｇ）は、部品リスト表の更新過程の一例を示す図である。
【図５】（Ａ）は、出力端末５のＣＰＵ５１のメイン処理の処理例を示すフローチャートであり、（Ｂ）は、出力端末５のＣＰＵ５１の選択情報取得処理の処理例を示すフローチャートであり、（Ｃ）は、出力端末５のＣＰＵ５１の運動情報生成処理の処理例を示すフローチャートであり、（Ｄ）は、出力端末５のＣＰＵ５１の再生処理の処理例を示すフローチャートである。
【図６】出力端末５のＣＰＵ５１の部品リスト生成処理の処理例を示すフローチャートである。
【図７】出力端末５のＣＰＵ５１の部品リスト生成処理の処理例を示すフローチャートである。
【発明を実施するための形態】
【００１６】
以下、本発明の実施形態を図面に基づいて説明する。なお、以下に説明する実施の形態は、運動を支援するための運動コンテンツを生成する運動コンテンツ生成システムに本発明を適用した場合の実施形態である。運動コンテンツは、運動を支援するための映像及び音声を含む。
【００１７】
［１．運動コンテンツ生成システム１の構成］
始めに、図１を参照して、本実施形態の運動コンテンツ生成システム１の構成について説明する。図１は、本実施形態の運動コンテンツ生成システム１の概要構成例を示す図である。図１に示すように、運動コンテンツ生成システム１は、配信サーバ２と１つ以上の出力端末５とを含んで構成されている。配信サーバ２と出力端末５とは、ネットワーク１０を介して接続可能になっている。ネットワーク１０は、例えば、インターネットを含む。配信サーバ２には、データベース３が接続されている。データベース３には、運動に関する情報や楽曲に関する情報が登録されている。配信サーバ２は、データベース３に登録されている情報等を、定期的に又は出力端末５からの要求に応じて出力端末５に配信する。
【００１８】
出力端末５は、例えば、施設４に設置される端末装置である。出力端末５は、本発明の情報処理装置の一例である。出力端末５は、施設４の利用者４１により利用される。施設４は、例えば、スポーツ施設であってもよい。利用者４１は、スポーツ施設において、運動レッスンを受ける。運動レッスンは、複数の運動動作と歌唱により構成されるレッスンである。この場合の出力端末５は、例えばパーソナルコンピュータであってもよい。
【００１９】
出力端末５は、モニタ５７と接続可能である。モニタ５７は、複数のスピーカ６４とディスプレイ６７とを備える表示装置であってもよい。この場合、出力端末５は、ディスプレイ６７と接続可能である。また、出力端末５は、スピーカ６４と接続可能である。出力端末５がモニタ５７へ音声信号を出力することにより、スピーカ６４により楽曲等が出力される。出力端末５がモニタ５７へ映像信号を出力することにより、ディスプレイ６７に運動映像等が表示される。運動映像は、動作を行うフィギュア８３を映し出した動画である。フィギュア８３は、例えば、人、動物、仮想上の生き物、ロボット等のかたちをした仮想物である。フィギュア８３は、三次元仮想空間に配置される。出力端末５は、スピーカ６４から出力される楽曲と、ディスプレイ６７に表示されるフィギュア８３の動きとが同期するように、信号を出力する。楽曲と運動映像とを出力することは、運動コンテンツを出力することの一例である。利用者４１は、楽曲を聴きながら、ディスプレイ６７に表示されるフィギュア８３を見て、運動を行うことができる。操作者４２は、リモコン６６等を用いて出力端末５を操作することができる。利用者４１と操作者４２とは同一人物であってもよい。施設４がスポーツ施設である場合、操作者４２は、例えば、インストラクターであってもよい。
【００２０】
［２．演奏パートに対する運動動作の割り当て］
運動レッスンが行われるときにモニタ５７が出力する運動コンテンツは、少なくとも楽曲と運動映像とを含む。また、運動コンテンツは、ナレーション、効果音等を含んでもよい。ナレーション及び効果音の詳細については後述する。楽曲は、複数の演奏パートで構成される。スピーカ６４から、楽曲の構成に従った演奏パートの順で楽曲が出力される。演奏パートが出力される順序を演奏順という。各演奏パートは、例えば、前奏、Ａメロ、Ｂメロ、サビ、間奏又は後奏等であってもよい。なお、１つの運動レッスンで複数の楽曲が順次スピーカ６４から出力されてもよい。楽曲を構成する各演奏パートに、それぞれ運動動作が割り当てられる。運動動作は、例えば、身体を鍛えるための動作である。運動動作として、例えば、体操の動作と踊りの動作とがある。体操は、例えば、健康の増進、体力の増強、筋力の強化等のために行われる運動である。体操の種類として、例えば、有酸素運動、無酸素運動、ストレッチ等がある。踊りの動作は、楽曲に合わせて踊るために楽曲に対して振り付けられた動作である。出力端末５は、運動コンテンツを出力するとき、スピーカ６４により出力されている演奏パートに割り当てられた運動動作をフィギュア８３が行う運動映像をディスプレイ６７に表示させる。
【００２１】
図１に示すように、データベース３には、モーションデータが登録されている。モーションデータは、三次元仮想空間におけるフィギュア８３の運動動作を定義するデータである。また、モーションデータは、ディスプレイ６７に表示されるフィギュア８３に運動動作をさせるためのデータである。モーションデータは、運動動作の進行に応じたフィギュア８３の身体の各部の座標を含む。具体的には、モーションデータには、時系列に沿って、運動動作の進行に応じたフィギュア８３の身体部位の座標が含まれる。時系列に沿って、フィギュア８３の身体部位が、モーションデータに従って表示されることで、所定の運動動作を実行するフィギュア８３の映像が、ディスプレイ６７に表示される。本実施形態において、出力端末５は、運動映像としてフィギュア８３の三次元画像をディスプレイ６７に表示させる。しかしながら、出力端末５は、フィギュア８３の二次元画像を表示させてもよい。出力端末５は、データベース３に登録されている複数のモーションデータを識別可能なモーションＩＤの中から、各演奏パートに割り当てるモーションＩＤを自動的に決定する。なお、モーションＩＤには、所定の属性を示す属性情報が対応付けられて、所定の記憶手段に記憶される。
【００２２】
運動動作の中には、専用運動動作と汎用運動動作とがある。専用運動動作は、所定の楽曲に専用の運動動作である。つまり、専用運動動作は、所定の楽曲が出力される場合に行うことができる運動動作である。専用運動動作は、例えば、所定の楽曲に合った特有の動作を含んでもよい。例えば、専用運動動作は、所定の楽曲に対応する踊りの動作を含んでもよい。データベース３には、例えば楽曲ごとに、対応する専用運動動作のモーションデータが登録されてもよい。汎用運動動作は、様々な楽曲で行うことができる運動動作である。出力端末５は、楽曲を構成する複数の演奏パートに、専用運動動作と汎用運動動作とを含む複数の運動動作を割り当てることができる。これにより、楽曲ごとに運動に特徴を持たせることができる。その一方で、楽曲を構成する複数の演奏パートの少なくとも１つに対して専用運動動作のモーションデータを作成すればよい。そのため、モーションデータの作成の負担を軽減することができる。
【００２３】
モーションＩＤの属性と、楽曲及び演奏パートの属性とが合えば、基本的にはモーションＩＤをその演奏パートに割り当てることができる。モーションＩＤの属性として、例えば、運動動作の長さを示す拍数、割り当て可能な演奏パートの種別、運動動作のテンポ等がある。楽曲の属性として、例えばテンポ等がある。演奏パートの属性として、例えば拍数、演奏パートの種別等がある。しかしながら、上述したように、汎用運動動作のモーションデータは、様々な楽曲に利用可能なように作成される。そのため、連続する運動動作同士の繋がりが考慮されていないと、運動動作の繋がりに違和感のある運動コンテンツが生成される。例えば、前奏にマーチのモーションＩＤが割り当てられ、前奏の次に演奏されるＡメロに、スクワットのモーションＩＤが割り当てられたとする。この場合、ディスプレイ６７に表示されるフィギュア８３は、前奏でマーチの動作を行う。その後、前奏からＡメロに演奏が切り替わると、フィギュア８３の動作がマーチから急にスクワットに切り替わる。表示されるフィギュア８３を見ながら運動する利用者４１は、マーチからスクワットへ運動動作を自然に移行させることが難しい場合がある。
【００２４】
専用運動動作と汎用運動動作とを組み合わせる場合にも同様の問題がある。仮に、楽曲を構成する複数の演奏パートの全てに専用運動動作のモーションＩＤを割り当てるとするならば、専用運動動作同士が自然に繋がるように、専用運動動作のモーションデータを予め作成すればよい。しかしながら、専用運動動作と汎用運動動作とを組み合わせる場合には、専用運動動作と汎用運動動作との繋がりを考慮する必要がある。
【００２５】
そこで、本実施形態では、運動動作が自然に繋がるように、各モーションデータを示すモーションＩＤに対して繋ぎ属性が定義される。なお、本実施形態は、モーションＩＤと対応付けられた部品ＩＤに対して繋ぎ属性が定義された例を用いて説明する。なお、部品ＩＤではなく、モーションＩＤに対して繋ぎ属性が定義されていても良い。例えば、前繋ぎ動作、メイン動作及び後繋ぎ動作を順次実行するフィギュア８３の映像が表示されるように、各モーションデータが予め作成されてもよい。メイン動作は、モーションデータの中で主に行われる動作である。例えば、メイン動作の拍数は、前繋ぎ動作及び後繋ぎ動作の拍数よりも長い。専用運動動作の場合、メイン動作の中に楽曲専用の動作が含まれる。汎用運動動作の場合、メイン動作は汎用的な動作である。前繋ぎ動作は、モーションデータを示す部品ＩＤまたはモーションＩＤが割り当てられた演奏パートの前の演奏順の演奏パートが出力されているときの最後の部分で行われる運動動作である。後繋ぎ動作は、モーションデータを示す部品ＩＤまたはモーションＩＤが割り当てられた演奏パートの最後の部分で行われる運動動作である。専用運動動作及び汎用運動動作の何れの場合でも、前繋ぎ動作及び後繋ぎ動作は、汎用的な動作である。メイン動作の拍数と後繋ぎ動作の拍数の合計は、部品ＩＤを割り当て可能な演奏パートの拍数に一致する。繋ぎ属性は、部品ＩＤの属性の一種である。また、繋ぎ属性はモーションＩＤの属性の一種であっても良い。繋ぎ属性として、前繋ぎ属性と後繋ぎ属性とがある。前繋ぎ属性は、前繋ぎ動作の内容を示す。後繋ぎ属性は、後繋ぎ動作の内容を示す。例えば、前繋ぎ動作がマーチであり、メイン動作がフロントランジであり、後繋ぎ動作がステップであるとする。この場合、前繋ぎ属性はマーチを示し、後繋ぎ属性はステップを示す。
【００２６】
前繋ぎ動作とメイン動作とが自然に繋がるように、且つ、メイン動作と後繋ぎ動作とが自然に繋がるように、モーションデータが作成される。例えば、インストラクター等の体に、三次元空間における身体部位の座標を取得するための加速度センサを装着させる。例えば、手首、肘、肩、足の付け根、膝、足首等に加速度センサが装着される。インストラクター等は、前繋ぎ動作、メイン動作及び後繋ぎ動作で構成される運動動作を行う。加速度センサが検出する加速度の情報に基づいて、例えば所定の装置が、運動動作が行われるときの各身体部位の座標を所定時間間隔で取得する。そして、取得された座標に基づいて、モーションデータが作成される。所定の装置は、例えば、出力端末５や配信サーバ２等であってもよい。
【００２７】
図２（Ａ）は、フロントランジＡという運動動作の構成例を示す図である。フロントランジＡは、例えば汎用運動動作である。フロントランジＡの前繋ぎ動作、メイン動作及び後繋ぎ動作は、それぞれマーチ、フロントランジ及びステップである。フロントランジＡは、６４拍の演奏パート用の運動動作である。図２（Ａ）の例では、メイン動作のフロントランジの拍数は６０であり、前繋ぎ動作のマーチ及び後繋ぎ動作のステップの拍数はそれぞれ４である。なお、前繋ぎ動作及び後繋ぎ動作の拍数は何拍であってもよい。また、前繋ぎ動作、メイン動作及び後繋ぎ動作は互いに異なる運動動作であってもよい。また、前繋ぎ動作、メイン動作及び後繋ぎ動作のうち少なくとも２つの運動動作が同一の運動動作であってもよい。楽曲を構成する複数の演奏パートのうち演奏順が１番目の演奏パートに割り当てられる部品ＩＤが示すモーションデータは、メイン動作と後繋ぎ動作のみの映像が表示されるように作成されてもよい。また、最後に演奏される演奏パートに割り当てられる部品ＩＤが示すモーションデータは、前繋ぎ動作とメイン動作のみの映像が表示されるように作成されてもよい。
【００２８】
出力端末５は、先ず演奏順が１番目の演奏パートに割り当て可能な部品ＩＤを１番目の演奏パートの割り当て候補として検索する。具体的に、出力端末５は、１番目の演奏パートの属性に一致する属性を有する部品ＩＤを検索する。次いで、出力端末５は、２番目の演奏パートに割り当て可能な部品ＩＤを２番目の演奏パートの割り当て候補として検索する。このとき、出力端末５は、繋ぎ属性を考慮する。具体的に、出力端末５は、１番目の演奏パートに割り当て可能な部品ＩＤの後繋ぎ属性と一致する前繋ぎ属性を有する部品ＩＤであって、且つ、２番目の演奏パートの属性に一致する属性を有する部品ＩＤを検索する。次いで、出力端末５は、３番目の演奏パートに割り当て可能な部品ＩＤを３番目の演奏パートの割り当て候補として検索する。具体的に、出力端末５は、２番目の演奏パートに割り当て可能な部品ＩＤの後繋ぎ属性と一致する前繋ぎ属性を有する部品ＩＤであって、且つ、３番目の演奏パートの属性に一致する属性を有する部品ＩＤを検索する。出力端末５は、４番目以降の演奏パートについても、同様に部品ＩＤを検索する。
【００２９】
各演奏パートに対して割り当て可能な部品ＩＤを検索するとき、出力端末５は、先ず専用運動動作の部品ＩＤの中から割り当て可能な部品ＩＤを割り当て候補として検索する。割り当て可能な専用運動動作の部品ＩＤがない場合、出力端末５は、次に汎用運動動作の部品ＩＤの中から割り当て可能な部品ＩＤを割り当て候補として検索する。つまり、出力端末５は、専用運動動作の部品ＩＤを優先的に割り当てる。具体的に、出力端末５は、演奏パートの属性と一致する属性に対応する専用運動動作の部品ＩＤを検索する。専用運動動作の部品ＩＤが検索された場合、出力端末５は、検索された専用運動動作の部品ＩＤを演奏パートに割り当てる。専用運動動作の部品ＩＤが検索されなかった場合、出力端末５は、演奏パートの属性と一致する属性に対応する汎用運動動作の部品ＩＤを検索する。そして、出力端末５は、検索された汎用運動動作の部品ＩＤを演奏パートに割り当てる。
【００３０】
出力端末５は、各演奏パートに対する部品ＩＤの検索結果に基づいて、部品リストを生成する。部品リストは、運動レッスンの構成を定めた情報である。具体的に、部品リストは、楽曲を構成する複数の演奏パートに合う複数の部品ＩＤを示す。部品リストには、演奏パートごとに、演奏パートＩＤ及び部品ＩＤ等が格納される。演奏パートＩＤは、演奏パートの識別情報である。例えば、演奏パートＩＤは、楽曲を構成する複数の演奏パートの中から識別する演奏パートの演奏順を示してもよい。部品ＩＤは、モーションデータを識別する識別情報である。例えば、部品ＩＤにより運動動作が識別される。部品ＩＤと、部品ＩＤが割り当てられた演奏パートの演奏パートＩＤとが対応付けられて部品リストに格納される。部品ＩＤは、本発明における第１動作情報及び第２動作情報の一例である。例えば部品ＩＤの代わりに、モーションＩＤまたはモーションデータが本発明の第１動作情報及び第２動作情報として用いられてもよい。
【００３１】
図２（Ｂ）は、部品ＩＤの割り当て例を示す図である。図２（Ｂ）において、或る楽曲は、演奏パート１〜３を含む。演奏パート１は演奏順が１番目の演奏パートであり、演奏パート２は演奏順が２番目の演奏パートであり、演奏パート３は演奏順が３番目の演奏パートである。演奏パート１の拍数は３２拍である。出力端末５は、演奏パート１に対して、例えばマーチＢのモーションＩＤと対応付けられた部品ＩＤを割り当てる。マーチＢは３２拍の運動動作である。マーチＢのメイン動作及び後繋ぎ動作は何れもマーチである。従って、マーチＢの部品ＩＤの後繋ぎ属性はマーチを示す。演奏パート２の拍数は６４拍である。出力端末５は、６４拍の運動動作を示すモーションＩＤと対応付けられた部品ＩＤのうち前繋ぎ属性がマーチを示す部品ＩＤを演奏パート２に割り当てる。例えば、図２（Ａ）に示すフロントランジＡの部品ＩＤが割り当てられる。マーチＢの後繋ぎ動作であるマーチと、フロントランジＡの前繋ぎ動作であるマーチとは基本的に同一の動作である。演奏パート３の拍数は３２拍である。フロントランジＡの後繋ぎ属性はステップを示す。出力端末５は、３２拍の運動動作を示すモーションＩＤと対応付けられた部品ＩＤのうち前繋ぎ属性がステップを示す部品ＩＤを演奏パート２に割り当てる。例えば、スクワットＣのモーションＩＤと対応付けられた部品ＩＤが割り当てられる。スクワットＣの前繋ぎ動作及びメイン動作はそれぞれステップ及びスクワットである。フロントランジＡの後繋ぎ動作であるステップと、スクワットＣの前繋ぎ動作であるステップとは基本的に同一の動作である。
【００３２】
図２（Ｂ）が示す割り当て結果に基づいて運動コンテンツが生成されたとする。この場合、運動コンテンツの出力中、演奏パート１の３２拍が出力されている間、出力端末５は、マーチＢのモーションデータに基づいて、フィギュア８３がマーチを行う映像をディスプレイ６７に表示させる。なお、演奏パート１の最後の４拍の間、出力端末５は、フロントランジＡのモーションデータに基づいて、マーチを行う映像をディスプレイ６７に表示させてもよい。また、加速度センサを用いる等により人間の実際の動作からモーションデータを生成した場合、マーチＢの後繋ぎ動作のマーチと、フロントランジＡの前繋ぎ動作のマーチとにずれが生じる場合がある。そこで、出力端末５は、両方のモーションデータを用いて、マーチＢの後繋ぎ動作のマーチとフロントランジＡの前繋ぎ動作のマーチとの中間的な動作を行う映像をディスプレイ６７に表示させてもよい。
【００３３】
次いで、演奏パート２の最初の６０拍が出力されているとき、出力端末５は、フロントランジＡのモーションデータに基づいて、フロントランジを行う映像を表示させる。演奏パート１から演奏パート２に切り替わるとき、マーチからフロントランジに自然に繋がるように、フィギュア８３が表示される。その理由は、マーチＢの部品ＩＤの後繋ぎ属性とフロントランジＡの部品ＩＤの前繋ぎ属性とが同じマーチを示すからである。フロントランジＡのメイン動作であるフロントランジをフィギュア８３が開始するとき、前繋ぎ動作であるマーチからメイン動作であるフロントランジに自然に繋がるように、フロントランジＡのモーションデータが予め作成されている。演奏パート２の最後の４拍が出力されているとき、出力端末５は、例えばフロントランジＡのモーションデータに基づいて、ステップを行う映像を表示させる。次いで、演奏パート３が出力されているとき、出力端末５は、スクワットＣのモーションデータに基づいて、スクワットを行う映像を表示させる。フロントランジからステップに切り替わるとき、及び、ステップからスクワットに切り替わるとき、自然に繋がるようにフィギュア８３が表示される。こうして、フロントランジＡからスクワットＣへ運動動作が自然に繋がる。
【００３４】
次に、部品ＩＤの割り当て及び部品リストの生成に用いられる情報について説明する。部品リストを生成するため、出力端末５のＨＤＤ（ハードディスクドライブ）７には、汎用部品テーブル、専用部品テーブル、繋ぎ動作テーブル、運動ジャンルテーブル等が記憶される。図３（Ａ）は、汎用部品テーブルの構成例を示す図である。部品テーブルは、部品の属性及び繋ぎ属性等を定義するテーブル情報である。汎用部品テーブルは、汎用運動動作に対応する部品テーブルである。汎用部品テーブルには、部品ＩＤ、部品名、演奏パート種別、拍数、運動テンポ、前繋ぎ属性ＩＤ、後繋ぎ属性ＩＤ、ジャンルＩＤ、モーションＩＤ、ナレーションタイミングＩＤ、効果音タイミングＩＤ等が、汎用運動動作の部品ＩＤごとに格納される。
【００３５】
部品ＩＤは、モーションデータを識別可能な識別情報である。部品名は、モーションデータが示す運動動作の名称である。例えば、図３（Ａ）において、汎用１−１という部品名は汎用運動動作１−１を表している。演奏パート種別は、部品ＩＤを割り当て可能な演奏パートの種類である。図３（Ａ）では、演奏パート種別として例えばｐｔｙｐｅ１〜５等が格納される。例えば、ｐｔｙｐｅ１は前奏、ｐｔｙｐｅ２はＡメロ＋サビ、ｐｔｙｐｅ３は間奏、ｐｔｙｐｅ４はＡメロ＋Ｂメロ、ｐｔｙｐｅ５は後奏であってもよい。拍数は、運動動作の長さを示す。
【００３６】
運動テンポは、運動動作を行うテンポである。例えば、運動テンポは予め複数定められている。例えば、所定の拍数の間隔で運動テンポが定められてもよい。図３（Ａ）の例では、１２８ＢＰＭに対応するモーションデータ、１４４ＢＰＭに対応するモーションデータ等が登録されていることが、部品テーブルにより示されている。複数の運動テンポのうち何れかの運動テンポでフィギュア８３が運動動作する映像が表示されるように、各モーションデータは予め作成される。データベース３には、複数の運動テンポのそれぞれに対応するモーションデータが演奏パート種別ごとに登録される。部品テーブルには、モーションデータに対応する運動テンポが格納される。
【００３７】
前繋ぎ属性ＩＤは、前繋ぎ属性を示す識別情報である。後繋ぎ属性ＩＤは、後繋ぎ属性を示す識別情報である。図３（Ｃ）は、繋ぎ動作テーブルの構成例を示す図である。繋ぎ動作テーブルは、繋ぎ属性を定義するテーブル情報である。繋ぎ動作テーブルには、繋ぎ動作ＩＤが格納される。図３（Ｃ）では、繋ぎ動作ＩＤとして例えばｃ１〜ｃ５等が格納される。例えば、ｃ１はマーチであり、ｃ２はステップであり、ｃ３は構えであり、ｃ４はスクワットであり、ｃ５は直立である。汎用部品テーブルに格納される前繋ぎ属性ＩＤ及び後繋ぎ属性ＩＤは、それぞれ本発明における第２繋ぎ属性情報の一例である。なお、１つの部品ＩＤに対して、例えば複数の前繋ぎ属性ＩＤ又は複数の後繋ぎ属性ＩＤが対応付けて格納されてもよい。
【００３８】
ジャンルＩＤは、運動動作が属する運動のジャンルの識別情報である。図３（Ｄ）は、運動ジャンルテーブルの構成例を示す図である。運動ジャンルテーブルは、運動ジャンルを定義するテーブル情報である。運動ジャンルテーブルには、ジャンルＩＤが格納される。図３（Ｄ）では、ジャンルＩＤとして例えばｊ１、ｊ２等が格納される。例えば、ｊ１は有酸素運動であり、ｊ２は調整運動である。汎用部品テーブルに格納されるモーションＩＤは、汎用運動動作のモーションデータの識別情報である。部品ＩＤとモーションＩＤは基本的に一対一で対応する。部品テーブルには、例えば、部品ＩＤとモーションＩＤのうち何れか一方のみが格納されてもよい。ナレーションタイミングＩＤ及び効果音タイミングＩＤについては後述する。
【００３９】
図３（Ｂ）は、専用部品テーブルの構成例を示す図である。専用部品テーブルは、専用運動動作に対応する部品テーブルである。専用部品テーブルには、部品ＩＤ、部品名、楽曲ＩＤ、演奏パート種別、拍数、運動テンポ、前繋ぎ属性ＩＤ、後繋ぎ属性ＩＤ、ジャンルＩＤ、モーションＩＤ、ナレーションタイミングＩＤ、効果音タイミングＩＤ等が、専用運動動作の部品ＩＤごとに格納される。楽曲ＩＤは、専用運動動作が対応する楽曲の識別情報である。専用部品テーブルに格納されるモーションＩＤは、専用運動動作のモーションデータの識別情報である。その他の情報については、汎用部品テーブルに格納される情報と同様である。専用部品テーブルに格納される前繋ぎ属性ＩＤ及び後繋ぎ属性ＩＤは、それぞれ本発明における第１繋ぎ属性情報の一例である。なお、１つの部品ＩＤに対して、例えば複数の前繋ぎ属性ＩＤ又は複数の後繋ぎ属性ＩＤが対応付けて格納されてもよい。
【００４０】
次に、図３（Ａ）及び図３（Ｂ）に示す部品テーブルを用いた場合の部品リストの生成方法について説明する。図４（Ａ）は、楽曲の構成例を示す図である。図４（Ａ）に示すように、楽曲Ｘは演奏パート１〜８で構成されている。出力端末５は、楽曲のテンポに基づいて、運動コンテンツを再生するときの運動テンポを決定する。楽曲は運動テンポに従って出力され、ディスプレイ６７には、運動テンポに従って運動動作するフィギュア８３が表示される。上述したように、予め定められた複数の運動テンポのそれぞれに対応するモーションデータが登録されている。出力端末５は、複数の運動テンポのうち楽曲のテンポに最も近いテンポを、運動コンテンツの再生に用いる運動テンポに決定する。例えば１６ＢＰＭの倍数で運動テンポが定義されており、楽曲Ｘのテンポが１２５ＢＰＭであるとする。この場合、１２８ＢＰＭが、運動コンテンツの再生に用いられる運動テンポとして決定される。また、運動ジャンルが決定される。例えば、操作者４２が運動ジャンルを選択してもよいし、出力端末５が運動ジャンルを決定してもよい。運動ジャンルとして、例えば有酸素運動が選択されたとする。
【００４１】
図４（Ｂ）〜図４（Ｇ）は、部品リスト表の更新過程の一例を示す図である。部品リスト表は、生成中の部品リストを１又は複数格納するテーブル情報である。部品リスト表の各行の情報が部品リストに相当する。部品リスト表の各列は演奏パートに対応する。出力端末５は、部品テーブルから、演奏パート１の属性及び楽曲Ｘの属性に一致する属性に対応する部品ＩＤを検索する。部品テーブルから部品ＩＤを検索することは、部品ＩＤが示すモーションデータをＨＤＤ７から検索することである。演奏パートの属性は演奏パート種別及び拍数であり、演奏パート１の演奏パート種別及び拍数は、ｐｔｙｐｅ１及び３２である。また、楽曲の属性はテンポ及び運動ジャンルであり、楽曲Ｘのテンポ及び運動ジャンルは、１２８ＢＰＭ及び有酸素運動である。従って、出力端末５は、部品テーブルから、ｐｔｙｐｅ１、３２拍、１２８ＢＰＭ及び有酸素運動に対応する部品ＩＤを割り当て候補の部品ＩＤとして検索する。このとき、出力端末５は、先ず専用部品テーブルから検索を行う。しかしながら、専用部品テーブルには、ｐｔｙｐｅ１、３２拍、１２８ＢＰＭ及び有酸素運動に対応する部品ＩＤが格納されていない。そのため、出力端末５は、次に汎用部品テーブルから検索を行う。汎用部品テーブルには、ｐｔｙｐｅ１、３２拍、１２８ＢＰＭ及び有酸素運動に対応する部品ＩＤとして、汎用運動動作１−１〜１−３の部品ＩＤが格納されている。出力端末５は、演奏パート１と検索された部品ＩＤとを対応付けた部品リスト表を生成する。図４（Ｂ）は、演奏パート１の割り当て候補の部品ＩＤを格納した部品リスト表の一例である。図４（Ｂ）に示すように、部品リスト表の１〜３行目の１番目の列に、汎用運動動作１−１〜１−３の部品ＩＤが格納される。
【００４２】
演奏パート２の演奏パート種別及び拍数は、ｐｔｙｐｅ２及び６４である。従って、出力端末５は、先ず専用部品テーブルから、ｐｔｙｐｅ２、６４拍、１２８ＢＰＭ及び有酸素運動に対応する部品ＩＤを割り当て候補の部品ＩＤとして検索する。専用部品テーブルにおいて、専用運動動作１の部品ＩＤが、ｐｔｙｐｅ２、６４拍、１２８ＢＰＭ及び有酸素運動に対応する。このとき、出力端末５は、汎用運動動作１−１〜１−３の後繋ぎ属性ＩＤと一致する前繋ぎ属性ＩＤに対応する部品ＩＤを、それぞれ専用部品テーブルから検索する。汎用運動動作１−１の後繋ぎ属性ＩＤと、専用運動動作１の前繋ぎ属性ＩＤが一致する。そこで、出力端末５は、汎用運動動作１−１の部品ＩＤを格納する行の２番目の列に、専用運動動作１の部品ＩＤを格納する。汎用運動動作１−２の後繋ぎ属性ＩＤと一致する前繋ぎ属性ＩＤに対応する部品ＩＤはない。汎用運動動作１−３の後繋ぎ属性ＩＤと一致する前繋ぎ属性ＩＤに対応する部品ＩＤはない。そのため、出力端末５は、汎用運動動作１−２及び運動動作１−３の部品ＩＤを格納するそれぞれの行を部品リスト表から削除する。すると、図４（Ｃ）に示すように部品リスト表が更新される。
【００４３】
演奏パート３の演奏パート種別及び拍数は、ｐｔｙｐｅ３及び３２である。従って、出力端末５は、部品テーブルから、ｐｔｙｐｅ３、３２拍、１２８ＢＰＭ及び有酸素運動に対応する部品ＩＤを割り当て候補の部品ＩＤとして検索する。このとき、出力端末５は、専用運動動作１の後繋ぎ属性ＩＤと一致する前繋ぎ属性ＩＤに対応する部品ＩＤを部品テーブルから検索する。専用部品テーブルには、ｐｔｙｐｅ３、３２拍、１２８ＢＰＭ及び有酸素運動に対応する部品ＩＤが格納されていない。汎用部品テーブルには、ｐｔｙｐｅ３、３２拍、１２８ＢＰＭ及び有酸素運動に対応する部品ＩＤとして、汎用運動動作３−１及び３−２の部品ＩＤが格納されている。専用運動動作１の後繋ぎ動作ＩＤと、汎用運動動作３−１の前繋ぎ動作ＩＤが一致する。専用運動動作１の後繋ぎ動作ＩＤと、汎用運動動作３−２の前繋ぎ動作ＩＤは一致しない。そこで、出力端末５は、専用運動動作１の部品ＩＤを格納する行の３番目の列に、汎用運動動作３−１の部品ＩＤを格納する。すると、図４（Ｄ）に示すように部品リスト表が更新される。
【００４４】
演奏パート４の演奏パート種別及び拍数は、ｐｔｙｐｅ４及び３２である。従って、出力端末５は、部品テーブルから、ｐｔｙｐｅ４、３２拍、１２８ＢＰＭ及び有酸素運動に対応する部品ＩＤを検索する。このとき、出力端末５は、汎用運動動作３−１の後繋ぎ属性ＩＤと一致する前繋ぎ属性ＩＤに対応する部品ＩＤを部品テーブルから検索する。専用部品テーブルには、ｐｔｙｐｅ４、３２拍、１２８ＢＰＭ及び有酸素運動に対応する部品ＩＤが格納されていない。汎用部品テーブルには、ｐｔｙｐｅ４、３２拍、１２８ＢＰＭ及び有酸素運動に対応する部品ＩＤとして、汎用運動動作４−１及び４−２の部品ＩＤが格納されている。汎用運動動作３−１の後繋ぎ属性ＩＤと、汎用運動動作４−１及び４−２の前繋ぎ属性ＩＤが一致する。そこで、出力端末５は、汎用運動動作１−１、専用運動動作１及び汎用運動動作３−１の部品ＩＤを格納する行を部品リスト表に１つ追加する。出力端末５は、２つの行のうち一方の行の２番目の列に、汎用運動動作４−１の部品ＩＤを格納する。また、出力端末５は、２つの行のうち他方の行の２番目の列に、汎用運動動作４−２の部品ＩＤを格納する。すると、図４（Ｅ）に示すように部品リスト表が更新される。
【００４５】
演奏パート５の演奏パート種別及び拍数は、ｐｔｙｐｅ２及び３２である。ｐｔｙｐｅ２は、演奏パート２の演奏パート種別でもある。つまり、演奏パート５と演奏パート種別が同一である演奏パートに対して、割り当て候補の部品ＩＤが既に検索済みである。この場合、出力端末５は、検索済みの部品ＩＤのみが割り当て候補に決定されるようにする。つまり、出力端末５は、種別が同じ演奏パートが出力されているとき、同じ運動動作が行われるようにする。その理由は、利用者４１に同じ運動動作を繰り返し行わせることにより、運動動作の上達を促進するためである。具体的に、演奏パート２の割り当て候補の前繋ぎ属性ＩＤが、演奏パート４の割り当て候補の後繋ぎ属性ＩＤと一致する場合にのみ、出力端末５は、演奏パート２の割り当て候補を、演奏パート５の割り当て候補に決定する。なお、出力端末５は、前繋ぎ属性ＩＤが、演奏パート４の割り当て候補の後繋ぎ属性ＩＤと一致する部品ＩＤのうち演奏パート２の割り当て候補とは異なる部品ＩＤを、演奏パート５の割り当て候補に決定してもよい。
【００４６】
部品リスト表の１番目の行には、汎用運動動作１−１、専用運動動作１、汎用運動動作３−１、汎用運動動作４−１の部品ＩＤが格納されている。汎用運動動作４−１の後繋ぎ属性ＩＤと専用運動動作１の前繋ぎ属性ＩＤは一致する。そこで、出力端末５は、部品リスト表における１番目の行の５番目の列に、専用運動動作１の部品ＩＤを格納する。部品リスト表の２番目の行には、汎用運動動作１−１、専用運動動作１、汎用運動動作３−１、汎用運動動作４−２の部品ＩＤが格納されている。汎用運動動作４−２の後繋ぎ属性ＩＤと専用運動動作１の前繋ぎ属性ＩＤは一致しない。そこで、出力端末５は、２番目の行を削除する。すると、図４（Ｆ）に示すように部品リスト表が更新される。
【００４７】
出力端末５は、演奏パート６〜８についても、これまでに説明した方法と同様の方法で、部品リスト表を更新する。すると、図４（Ｇ）に示すように部品リスト表が更新される。こうして、楽曲Ｘを構成する複数の演奏パートに合う複数の運動動作を示す部品リストが生成される。図４（Ｇ）に示す部品リスト表の行数は１行である。従って、１つの部品リストが生成されたことになる。部品リスト表の行数が複数行である場合、複数の部品リストが生成されたことになる。この場合、例えば、運動コンテンツの再生に用いる部品リストをユーザが選択してもよいし、出力端末５が自動的に選択してもよい。
【００４８】
［３．ナレーション、効果音の出力タイミング］
出力端末５は、運動コンテンツに、利用者４１の運動動作をサポートするナレーションや効果音等の音声を含めることができる。ナレーションにより、例えば、運動動作が説明されたり、身体の動かし方が指示されたりする。効果音は、例えば運動動作するときの人間の動きに合わせて出力される音等であってもよい。例えば、パンチの動作に合わせて、拳が物に当たる音や拳が風を切る音等が出力されてもよい。また、効果音は、例えば手拍子の音、拍手の音、歓声等であってもよい。
【００４９】
出力端末５のＨＤＤ７には、ナレーションデータ、効果音データ、ナレーションタイミングファイル及び効果音タイミングファイルが記憶される。ナレーションデータは、ナレーションを出力するための音声データである。効果音データは効果音を出力するための音声データである。ナレーションタイミングファイルは、ナレーションの出力タイミングを示すファイルである。ナレーションタイミングファイルは、本発明における拍情報の一例である。効果音タイミングファイルは、効果音の出力タイミングを示すファイルである。運動動作に対応したナレーションデータ、効果音データ、ナレーションタイミングファイル及び効果音タイミングファイルが運動動作ごとに予め作成される。
【００５０】
図３（Ｅ）は、ナレーションタイミングファイルの内容の一例を示す図である。ナレーションタイミングファイルには、拍数とナレーションデータのパスとが対応付けて設定される。拍数は、対応する演奏パートの出力が開始されてから、ナレーションの出力が開始されるまでに経過する拍の数である。拍数が０である場合、出力端末５は、対応する演奏パートの出力の開始と同時にナレーションの出力を開始させる。拍数が正の値である場合、出力端末５は、対応する演奏パートの出力が開始した後、拍数に相当する時間が経過したときにナレーションの出力を開始させる。拍数が負の値である場合、出力端末５は、対応する演奏パートの出力が開始されるよりも拍数に相当する時間前にナレーションの出力を開始させる。負の値が設定される理由は、対応する演奏パートに割り当てられた運動動作が行われる前に、その運動動作に対応するナレーションを出力する必要があるからである。パスは、ＨＤＤ７内におけるナレーションデータの所在を示す文字列である。
【００５１】
図３（Ｅ）の例では、４つのナレーションデータが再生される。先ず、対応する演奏パートの出力の開始の８拍前にナレーションデータ１の再生が開始される。また、対応する演奏パートの出力が開始してから１拍経過後にナレーションデータ２の再生が開始される。また、対応する演奏パートの出力が開始してから９拍経過後にナレーションデータ３の再生が開始される。また、対応する演奏パートの出力が開始してから１３拍経過後にナレーションデータ４の再生が開始される。
【００５２】
図３（Ｆ）は、効果音タイミングファイルの内容の一例を示す図である。効果音タイミングファイルには、拍数と効果音データのパスとが対応付けて設定される。拍数とパスの意味については、ナレーションタイミングファイルの場合と基本的に同様である。効果音タイミングファイルには、例えば、負の値の拍数は設定されなくてもよい。
【００５３】
図３（Ａ）に示す部品テーブルに格納されるナレーションタイミングＩＤは、運動動作に対応するナレーションタイミングファイルの識別情報である。また、部品テーブルに格納される効果音タイミングＩＤは、運動動作に対応する効果音タイミングファイルの識別情報である。
【００５４】
［４．各装置の構成］
次に、図１を参照して、運動コンテンツ生成システムに含まれる各装置の構成について説明する。
【００５５】
［４−１．配信サーバ２の構成］
図１に示すように、配信サーバ２は、ＣＰＵ２１、ＲＯＭ２２、ＲＡＭ２３、バス２４、Ｉ／Ｏインタフェイス２５、表示制御部２６、ディスクドライブ２８、ネットワーク通信部３０及びＨＤＤ３７を備える。ＣＰＵ２１は、バス２４を介して、ＲＯＭ２２、ＲＡＭ２３及びＩ／Ｏインタフェイス２５に接続されている。ＣＰＵ２１は、ＲＯＭ２２やＨＤＤ３７に記憶されプログラムを実行することにより、配信サーバ２の各部を制御する。Ｉ／Ｏインタフェイス２５には、データベース３、表示制御部２６、ディスクドライブ２８、ネットワーク通信部３０、キーボード３１、マウス３２及びＨＤＤ３７が接続されている。ＣＰＵ２１は、Ｉ／Ｏインタフェイス２５を介してデータベース３にアクセスする。表示制御部２６は、ＣＰＵ２１の制御に基づいて映像信号をモニタ２７に出力する。ディスクドライブ２８は、記録媒体２９に対するデータの書き込み及び読み出しを行う。ネットワーク通信部３０は、配信サーバ２がネットワーク１０に接続するための制御を行う。ＨＤＤ３７には、ＯＳや各種制御プログラム等が記憶されている。
【００５６】
データベース３には、楽曲データ、モーションデータ、汎用部品テーブル、専用部品テーブル、繋ぎ動作テーブル、運動ジャンルテーブル、ナレーションデータ、ナレーションタイミングファイル、効果音データ、効果音タイミングファイル、コーラスデータ、歌詞データ、タイトル画像データ等のデータが登録されている。
【００５７】
楽曲データは、スピーカ６４により楽曲を出力するための演奏データである。楽曲データは、例えば、ＭＩＤＩ（Musical Instrument Digital Interface）形式のデータであってもよい。楽曲データは、楽曲ＩＤ、楽曲名、アーティスト名、オリジナルのテンポ、楽曲の演奏パートの構成等の情報を含む。楽曲ＩＤは、楽曲の識別情報である。また、楽曲データは、演奏パートの切り替わりのタイミング等を規定する。例えば、楽曲データがＭＩＤＩ形式のデータである場合、楽曲データには、実際の演奏データとしてのＭＩＤＩイベントに加えて、メタイベントを含めることができる。メタイベントとしては、例えば、演奏パート開始イベント等がある。演奏パート開始イベントは、演奏パートの演奏開始を通知するイベントである。演奏パート開始イベントは、演奏パートのパートＩＤ、演奏パート種別、拍数等を含む。楽曲データは、本発明における楽曲情報の一例である。
【００５８】
モーションデータはモーションＩＤと対応付けて登録される。なお、モーションデータは、例えば部品ＩＤと対応付けて登録されてもよい。ナレーションデータ及び効果音データのデータ形式は、例えば、ＷＡＶ（RIFF waveform Audio Format）、ＡＡＣ（Advanced Audio Coding）、ＭＰ３（MPEG Audio Layer-3）等であってもよい。ナレーションタイミングファイルはナレーションタイミングＩＤと対応付けて登録される。効果音タイミングファイルは効果音タイミングＩＤと対応付けて登録される。
【００５９】
コーラスデータは、コーラスの音声を出力するための音声データである。コーラスデータは、コーラスが対応する楽曲の楽曲ＩＤとコーラスタイミング情報とに対応付けて記憶される。コーラスタイミング情報は、コーラスの出力タイミングを示す。歌詞データは、歌詞のテロップを表示するためのデータである。歌詞データは、例えば、歌詞のテキスト、テキストの表示タイミング等を含む。歌詞データは、歌詞が対応する楽曲の楽曲ＩＤに対応付けて記憶される。タイトル画像データは、楽曲に対応するタイトルの画像を表示するための画像データである。タイトル画像データは、タイトル画像が対応する楽曲の楽曲ＩＤに対応付けて記憶される。
【００６０】
［４−２．出力端末５の構成］
図１に示すように、出力端末５は、ＣＰＵ５１、ＲＯＭ５２、ＲＡＭ５３、バス５４、Ｉ／Ｏインタフェイス５５、表示制御部５６、ディスクドライブ５８、ネットワーク通信部６０、音声出力部６３、信号受信部６５、及びＨＤＤ７を備える。ＣＰＵ５１は、バス５４を介して、ＲＯＭ５２、ＲＡＭ５３及びＩ／Ｏインタフェイス５５に接続されている。ＣＰＵ５１は、時計機能及びタイマー機能を有する。ＣＰＵ５１は、ＲＯＭ５２やＨＤＤ７に記憶されプログラムを実行することにより、出力端末５の各部を制御する。Ｉ／Ｏインタフェイス５５には、ＨＤＤ７、表示制御部５６、音声出力部６３、ディスクドライブ５８、ネットワーク通信部６０、キーボード６１、マウス６２、及び信号受信部６５が接続されている。表示制御部５６は、ＣＰＵ５１の制御に基づいて映像信号をモニタ５７に出力する。音声出力部６３は、ＣＰＵ５１の制御に基づいて音声信号をモニタ５７に出力する。ディスクドライブ５８は、記録媒体５９に対するデータの書き込み及び読み出しを行う。信号受信部６５は、リモコン６６から出力される信号を受信する。リモコン６６は、操作者４２が出力端末５を操作するためのものである。
【００６１】
ＨＤＤ７は、本発明の第１記憶手段、第２記憶手段、第３記憶手段及び第４記憶手段の一例である。なお、第１記憶手段、第２記憶手段、第３記憶手段及び第４記憶手段が同一の記憶デバイスであってもよいし、互いに異なる記憶デバイスであってもよい。ＨＤＤ７には、配信サーバ２から配信された楽曲データ、モーションデータ、汎用部品テーブル、専用部品テーブル、繋ぎ動作テーブル、運動ジャンルテーブル、ナレーションデータ、ナレーションタイミングファイル、効果音データ、効果音タイミングファイル、コーラスデータ、歌詞データ、タイトル画像データ等のデータが記憶される。また、ＨＤＤ７には、生成された部品リストが記憶される。
【００６２】
ＨＤＤ７には、更に、ＯＳ、運動支援プログラム、３Ｄエンジン、ミュージックシーケンサ等の各種プログラム等が記憶されている。運動支援プログラムは、利用者４１の運動を支援するためのプログラムである。運動支援プログラムは、コンピュータとしてのＣＰＵ５１に、第１検索ステップ、第２検索ステップ、生成ステップを少なくとも実行させる。３Ｄエンジンは、モーションデータに基づいて、三次元仮想空間で運動動作するフィギュア８３を二次元平面に投影した画像を生成するためのプログラムである。画像を生成する処理は、射影変換、クリッピング、隠面消去、シェーディング、テクスチャマッピング等を含む。ＣＰＵ５１は、３Ｄエンジンを実行して、静止画像を順次生成する。生成された静止画像をＣＰＵ５１が表示制御部５６へ順次出力することで、ディスプレイ６７には、運動映像が表示される。
【００６３】
ミュージックシーケンサは、楽曲データを再生するためのプログラムである。ＣＰＵ５１は、ミュージックシーケンサを実行することにより、楽曲データに対応する音声信号を生成する。また、ＣＰＵ５１は、ミュージックシーケンサを実行することにより、各種のイベントを発生させる。イベントとして、例えば、テンポに応じて所定時間間隔で発生するイベントがある。このイベントは、ＭＩＤＩクロックや同期イベントと呼ばれる。また、イベントとして、例えば、演奏パート開始イベントがある。
【００６４】
各種プログラムは、例えば、配信サーバ２等のサーバからネットワーク１０を介してダウンロードされるようにしてもよい。また、各種プログラムは、記録媒体５９に記録されてディスクドライブ５８を介して読み込まれるようにしてもよい。なお、３Ｄエンジンやミュージックシーケンサは、プログラムではなく、専用のハードウェアであってもよい。そして、出力端末５は、ハードウェアとしての３Ｄエンジンやミュージックシーケンサを備えてもよい。
【００６５】
ＣＰＵ５１は、設定されたテンポに従って、楽曲データに対応する音声信号を音声出力部６３へ出力させるとともに、生成した画像に対応する映像信号を表示制御部５６から出力させる。ＣＰＵ５１は、同期イベントに基づいて、楽曲の音声信号の出力タイミングと運動映像の映像信号の出力タイミングとを同期させる。これにより、スピーカ６４から出力される楽曲に同期して運動動作を行うフィギュア８３がディスプレイ６７に表示される。
【００６６】
［５．運動コンテンツ生成システム１の動作］
次に、図５及び図６を参照して、運動コンテンツ生成システム１の動作を説明する。図５（Ａ）は、出力端末５のＣＰＵ５１のメイン処理の処理例を示すフローチャートである。例えば、操作者４２が、リモコン６６等により、運動レッスンを開始させるための操作を行う。すると、ＣＰＵ５１は、メイン処理を開始する。
【００６７】
図５（Ａ）に示すように、ＣＰＵ５１は、選択情報取得処理を実行する（ステップＳ１）。選択情報取得処理において、ＣＰＵ５１は、部品リストの生成に必要な情報を取得する。選択情報取得処理の詳細は後述する。次いで、ＣＰＵ５１は、部品リスト生成処理を実行する（ステップＳ２）。部品リスト生成処理において、ＣＰＵ５１は、部品リストを生成する。部品リスト生成処理の詳細は後述する。次いで、ＣＰＵ５１は、運動情報生成処理を実行する（ステップＳ３）。運動情報生成処理おいて、ＣＰＵ５１は、生成された部品リストに基づいて、運動情報を生成する。運動情報は、運動コンテンツを再生するために用いられる情報である。運動情報は、楽曲が出力されているときに、運動コンテンツに含まれる映像や音声の出力を開始するタイミングを示す。運動情報により出力のタイミングが示される映像、音声として、例えば、運動映像、ナレーション、効果音、コーラス、歌詞、タイトル画像等がある。出力するタイミングは、例えば、再生位置で示されてもよい。再生位置は、運動コンテンツに含まれる楽曲の再生が開始されてから経過した時間である。運動情報は、例えば複数のレコードを含む。各レコードは、パス及び再生位置を示す。パスは、映像又は音声の出力に用いられるデータのパスである。映像又は音声の出力に用いられるデータとして、例えば、モーションデータ、ナレーションデータ、効果音データ、コーラスデータ、歌詞データ、タイトル画像データ等がある。再生位置は、映像又は音声が出力されるタイミングを示す。運動情報生成処理の詳細は後述する。次いで、ＣＰＵ５１は、再生処理を実行する（ステップＳ４）。再生処理において、ＣＰＵ５１は、生成された運動情報に基づいて、運動コンテンツを再生する。再生処理の詳細は後述する。ＣＰＵ５１は、ステップＳ４の処理を終えると、メイン処理を終了させる。
【００６８】
図５（Ｂ）は、出力端末５のＣＰＵ５１の選択情報取得処理の処理例を示すフローチャートである。図５（Ｂ）に示すように、ＣＰＵ５１は、楽曲の情報を取得する（ステップＳ１１）。具体的に、ＣＰＵ５１は、運動レッスンに用いる楽曲を決定する。例えば、操作者４２が楽曲を選択して、ＣＰＵ５１が、操作者４２により入力された選択結果を受け付けてもよい。ＣＰＵ５１は、決定された楽曲の楽曲ＩＤを取得する。また、ＣＰＵ５１は、決定された楽曲の楽曲データから、楽曲のオリジナルのテンポと、楽曲を構成する各演奏パートの演奏パート開始イベントとを取得する。
【００６９】
次いで、ＣＰＵ５１は、運動コンテンツの再生に用いる運動テンポを決定する（ステップＳ１２）。例えば、ＣＰＵ５１は、予め定められた複数の運動テンポのうち、楽曲のオリジナルのテンポに最も近いテンポを、運動コンテンツの再生に用いる運動テンポに決定する。例えば、複数の運動テンポがＨＤＤ７に記憶されているとする。ＣＰＵ５１は、ＨＤＤ７から各運動テンポを取得する。ＣＰＵ５１は、取得した運動テンポごとに、運動テンポと楽曲のオリジナルのテンポとの差を計算する。そして、ＣＰＵ５１は、差が最も小さい運動テンポを、運動コンテンツの再生に用いる運動テンポに決定する。
【００７０】
次いで、ＣＰＵ５１は、運動ジャンルを決定する（ステップＳ１３）。例えば、操作者４２が運動ジャンルを選択して、ＣＰＵ５１が選択結果を受け付けてもよい。ＣＰＵ５１は、ステップＳ１３の処理を終えると、選択情報取得処理を終了させる。
【００７１】
図６及び図７は、出力端末５のＣＰＵ５１の部品リスト生成処理の処理例を示すフローチャートである。図６に示すように、ＣＰＵ５１は、演奏順Ｎを１に設定する（ステップＳ４１）。次いで、ＣＰＵ５１は、選択情報取得処理で取得された演奏パート開始イベントに基づいて、演奏順１〜演奏順Ｎ−１の演奏パートの中に、演奏順Ｎの演奏パートと演奏パート種別が同一である演奏パートがあるか否かを判定する（ステップＳ４２）。このとき、ＣＰＵ５１は、演奏順Ｎの演奏パートと演奏パート種別が同一である演奏パートがあると判定した場合には（ステップＳ４２：ＹＥＳ）、ステップＳ６７に進む。一方、ＣＰＵ５１は、演奏順Ｎの演奏パートと演奏パート種別が同一である演奏パートがないと判定した場合には（ステップＳ４２：ＮＯ）、ステップＳ４３に進む。ＣＰＵ５１は、演奏順Ｎが１である場合にもステップＳ４３に進む。
【００７２】
ステップＳ４３において、ＣＰＵ５１は、専用部品テーブルに、選択された楽曲の楽曲ＩＤ及び演奏順Ｎの演奏パートの演奏パート種別に対応する専用運動動作の部品ＩＤが記憶されているか否かを判定する。このとき、ＣＰＵ５１は、対応する専用運動動作の部品ＩＤが記憶されていると判定した場合には（ステップＳ４３：ＹＥＳ）、ステップＳ４４に進む。一方、ＣＰＵ５１は、対応する専用運動動作の部品ＩＤが記憶されていないと判定した場合には（ステップＳ４３：ＮＯ）、ステップＳ６１に進む。
【００７３】
ステップＳ４４において、ＣＰＵ５１は、選択された楽曲の楽曲ＩＤ、選択された運動ジャンル、演奏順Ｎの演奏パートの演奏パート種別、演奏順Ｎの演奏パートの拍数及び決定された運動テンポに一致する楽曲ＩＤ、運動ジャンル、演奏パート種別、拍数及びテンポに対応する部品ＩＤを、専用部品テーブルから検索する。次いで、ＣＰＵ５１は、演奏順Ｎが１よりも大きいか否かを判定する（ステップＳ４５）。このとき、ＣＰＵ５１は、演奏順Ｎが１よりも大きいと判定した場合には（ステップＳ４５：ＹＥＳ）、ステップＳ４６に進む。一方、ＣＰＵ５１は、演奏順Ｎが１より大きくはないと判定した場合には（ステップＳ４５：ＮＯ）、ステップＳ５０に進む。
【００７４】
ステップＳ４６において、ＣＰＵ５１は、部品リスト表の行番号Ｋを１に設定する。次いで、ＣＰＵ５１は、専用部品テーブルに基づいて、ステップＳ４４で検索された部品ＩＤの中から、演奏順Ｎ−１の演奏パートの割り当て候補Ｋの部品ＩＤに対応する後繋ぎ属性ＩＤに一致する前繋ぎ属性ＩＤに対応する部品ＩＤを検索する（ステップＳ４７）。演奏順Ｎ−１の演奏パートの割り当て候補Ｋの部品ＩＤとは、部品リスト表において、Ｋ番目の行のＮ−１番目の列に格納された部品ＩＤである。次いで、ＣＰＵ５１は、行番号Ｋに１を加算する（ステップＳ４８）。次いで、ＣＰＵ５１は、行番号Ｋが行数Ｒ以下であるか否かを判定する（ステップＳ４９）。行数Ｒは、現時点における部品リスト表の行数である。このとき、ＣＰＵ５１は、行番号Ｋが行数Ｒ以下であると判定した場合には（ステップＳ４９：ＹＥＳ）、ステップＳ４７に進む。一方、ＣＰＵ５１は、行番号Ｋが行数Ｒ以下でない、つまり、行番号ＫがＲよりも大きいと判定した場合には（ステップＳ４９：ＮＯ）、ステップＳ５０に進む。
【００７５】
ステップＳ５０において、ＣＰＵ５１は、該当する部品ＩＤが検索されたか否かを判定する。このとき、ＣＰＵ５１は、ステップＳ４４又はＳ４７で部品ＩＤが検索されなかったと判定した場合には（ステップＳ５０：ＮＯ）、ステップＳ６１に進む。一方、ＣＰＵ５１は、演奏順Ｎが１であるときにステップＳ４４で部品ＩＤが検索されたと判定した場合には（ステップＳ５０：ＹＥＳ）、ステップＳ５１に進む。また、ＣＰＵ５１は、演奏順Ｎが２以上であるときにステップＳ４７で部品ＩＤが検索されたと判定した場合にも（ステップＳ５０：ＹＥＳ）、ステップＳ５１に進む。
【００７６】
図７に示すように、ステップＳ６１において、ＣＰＵ５１は、選択された運動ジャンル、演奏順Ｎの演奏パートの演奏パート種別、演奏順Ｎの演奏パートの拍数及び決定された運動テンポに一致する運動ジャンル、演奏パート種別、拍数及びテンポに対応する部品ＩＤを、汎用部品テーブルから検索する。次いで、ＣＰＵ５１は、演奏順Ｎが１よりも大きいか否かを判定する（ステップＳ６２）。このとき、ＣＰＵ５１は、演奏順Ｎが１よりも大きいと判定した場合には（ステップＳ６２：ＹＥＳ）、ステップＳ６３に進む。一方、ＣＰＵ５１は、演奏順Ｎが１よりも大きくはないと判定した場合には（ステップＳ６２：ＮＯ）、ステップＳ５１に進む。
【００７７】
ステップＳ６３において、ＣＰＵ５１は、部品リスト表の行番号Ｋを１に設定する。次いで、ＣＰＵ５１は、汎用部品テーブルに基づいて、ステップＳ６１で検索された部品ＩＤの中から、演奏順Ｎ−１の演奏パートの割り当て候補Ｋの部品ＩＤに対応する後繋ぎ属性ＩＤに一致する前繋ぎ属性ＩＤに対応する部品ＩＤを検索する（ステップＳ６４）。次いで、ＣＰＵ５１は、行番号Ｋに１を加算する（ステップＳ６５）。次いで、ＣＰＵ５１は、行番号Ｋが行数Ｒ以下であるか否かを判定する（ステップＳ６６）。このとき、ＣＰＵ５１は、行番号Ｋが行数Ｒ以下であると判定した場合には（ステップＳ６６：ＹＥＳ）、ステップＳ６４に進む。一方、ＣＰＵ５１は、行番号Ｋが行数Ｒ以下でない、つまり、行番号ＫがＲよりも大きいと判定した場合には（ステップＳ６６：ＮＯ）、ステップＳ５１に進む。
【００７８】
ステップＳ６７において、ＣＰＵ５１は、行番号Ｋを１に設定する。次いで、ＣＰＵ５１は、演奏順Ｎの演奏パートと演奏パート種別が同一である演奏パートに割り当て候補として検索済みの部品ＩＤに対応する情報を取得する（ステップＳ６８）。具体的に、ＣＰＵ５１は、部品リスト表のＫ番目の行において、演奏順Ｎの演奏パートと演奏パート種別が同一である演奏パートに対応する列から、検索済みの部品ＩＤを取得する。次いで、ＣＰＵ５１は、取得された部品ＩＤに対応する前繋ぎ属性ＩＤを部品テーブルから取得する。
【００７９】
次いで、ＣＰＵ５１は、演奏順Ｎ−１の演奏パートの割り当て候補Ｋの部品ＩＤに対応する後繋ぎ属性ＩＤと、検索済みの部品ＩＤに対応する前繋ぎ属性ＩＤとが一致するか否かを判定する（ステップＳ６９）。このとき、ＣＰＵ５１は、後繋ぎ属性ＩＤと前繋ぎ属性ＩＤとが一致すると判定した場合には（ステップＳ６９：ＹＥＳ）、ステップＳ７０に進む。一方、ＣＰＵ５１は、後繋ぎ属性ＩＤと前繋ぎ属性ＩＤとが一致しないと判定した場合には（ステップＳ６９：ＮＯ）、ステップＳ７１に進む。
【００８０】
ステップＳ７０において、ＣＰＵ５１は、部品リスト表において、Ｋ番目の行のＮ番目の列に、ステップＳ６８で取得された検索済みの部品ＩＤを格納する。次いで、ＣＰＵ５１は、ステップＳ７２に進む。ステップＳ７１において、ＣＰＵ５１は、Ｋ番目の行を部品リストから削除する。次いで、ＣＰＵ５１は、ステップＳ７２に進む。ステップＳ７２において、ＣＰＵ５１は、行番号Ｋに１を加算する。次いで、ＣＰＵ５１は、行番号Ｋが行数Ｒ以下であるか否かを判定する（ステップＳ７３）。このとき、ＣＰＵ５１は、行番号Ｋが行数Ｒ以下であると判定した場合には（ステップＳ７３：ＹＥＳ）、ステップＳ６８に進む。一方、ＣＰＵ５１は、行番号Ｋが行数Ｒ以下でない、つまり、行番号Ｋが行数Ｒよりも大きいと判定した場合には（ステップＳ７３：ＮＯ）、ステップＳ５２に進む。
【００８１】
図６に示すように、ステップＳ５１において、ＣＰＵ５１は、部品リスト表を更新する。演奏順Ｎが１である場合、ＣＰＵ５１は、ステップＳ４４又はＳ６１で検索された部品ＩＤを格納する部品リスト表を生成する。演奏順Ｎが２以上である場合、ＣＰＵ５１は、ステップＳ４７又はＳ６４の検索結果に基づいて、部品リスト表を更新する。具体的に、ステップＳ４７又はＳ６４で部品ＩＤが検索された場合、ＣＰＵ５１は、対応する行のＮ番目の列に、検索された部品ＩＤを格納する。１つの行につき複数の部品ＩＤが検索された場合、ＣＰＵ５１は、同一内容の行を部品リスト表に追加する。そして、ＣＰＵ５１は、検索された複数の部品ＩＤを複数の行に格納する。ステップＳ４７又はＳ６４で部品ＩＤが検索されなかった場合、ＣＰＵ５１は、対応する行を部品リストから削除する。ＣＰＵ５１は、ステップＳ５１の処理を終えると、ステップＳ５２に進む。
【００８２】
ステップＳ５２において、ＣＰＵ５１は、行数Ｒを、更新後の部品リスト表の行数に変更する。次いで、ＣＰＵ５１は、演奏順Ｎに１を加算する（ステップＳ５３）。次いで、ＣＰＵ５１は、演奏順Ｎが、選択された楽曲を構成する演奏パートの総数以下であるか否かを判定する（ステップＳ５４）。このとき、ＣＰＵ５１は、は、演奏順Ｎが演奏パートの総数以下であると判定した場合には（ステップＳ５４：ＹＥＳ）、ステップＳ４２に進む。一方、ＣＰＵ５１は、演奏順Ｎが演奏パートの総数以下でない、つまり、演奏順Ｎが演奏パートの総数よりも大きいと判定した場合には（ステップＳ５４：ＮＯ）、ステップＳ５５に進む。ステップＳ５５において、ＣＰＵ５１は、部品リスト表内に生成された部品リストの中から、運動情報の生成に用いられる部品リストを選択する。例えば、操作者４２が選択してもよい。ＣＰＵ５１は、ステップＳ５５の処理を終えると、部品リスト生成処理を終了させる。
【００８３】
図５（Ｃ）は、出力端末５のＣＰＵ５１の運動情報生成処理の処理例を示すフローチャートである。図５（Ｃ）に示すように、ＣＰＵ５１は、部品リストに基づいて、基本運動情報を生成する（ステップＳ２１）。基本運動情報は、運動映像、ナレーション及び効果音のそれぞれの出力が開始されるタイミングを示す運動情報である。基本運動情報は、本発明のタイミング情報の一例である。例えば、ＣＰＵ５１は、運動テンポと、選択情報取得処理で取得された演奏パート開始イベントに含まれる拍数とに基づいて、各演奏パートの再生が開始される再生位置を計算する。次いで、ＣＰＵ５１は、各演奏パートに割り当てられた部品ＩＤを部品リストから取得する。次いで、ＣＰＵ５１は、取得した部品ＩＤに対応するモーションＩＤ、ナレーションタイミングＩＤ及び効果音タイミングＩＤを部品テーブルから取得する。次いで、ＣＰＵ５１は、モーションＩＤに対応するモーションデータのパスを取得する。次いで、ＣＰＵ５１は、各演奏パートについて、演奏パートの再生位置と、演奏パートに割り当てられた部品ＩＤに対応するモーションデータのパスとを含むレコードを部品ＩＤごとに生成する。次いで、ＣＰＵ５１は、ナレーションタイミングＩＤに対応するナレーションタイミングファイルをＨＤＤ７から取得する。次いで、ＣＰＵ５１は、ナレーションタイミングファイルと、演奏パートの再生位置とに基づいて、ナレーションデータの再生が開始される再生位置を計算する。次いで、ＣＰＵ５１は、ナレーションデータの再生位置とナレーションデータのパスとを含むレコードを、ナレーションデータごとに生成する。また、ＣＰＵ５１は、効果音タイミングファイルに基づいて、効果音データの再生位置と効果音データのパスとを含むレコードを、効果音データごとに生成する。この処理内容は、ナレーションデータの場合と基本的に同様である。ＣＰＵ５１は、生成されたこれらのレコードを含む基本運動情報を生成する。
【００８４】
具体例を説明する。例えば、図２（Ｂ）に示すように演奏パート１〜３に部品ＩＤが割り当てられたとする。また、運動テンポは１２８ＢＰＭであるとする。この場合、１拍の長さは、約０．４７秒である。演奏パート１の演奏順は１番目であるため、演奏パート１の出力が開始する再生位置は０秒である。演奏パート２の演奏順は２番目であり、演奏パート１の拍数は３２拍である。従って、演奏パート２の出力が開始する再生位置は約１５．０４秒である。演奏パート３の演奏順は３番目であり、演奏パート２の拍数は６４拍である。従って、演奏パート３の出力が開始するまでに、９６拍が経過する。そのため、演奏パート３の出力が開始する再生位置は約４５．１２秒である。従って、マーチＢ、フロントランジＡ、スクワットＣのモーションデータを用いた運動映像の表示が開始される再生位置は、それぞれ０秒、１５．０４秒、４５．１２秒である。また、図３（Ｅ）に示すナレーションタイミングファイルが、フロントランジＡに対応するファイルであるとする。この場合、演奏パート２の出力が開始される８拍前に、ナレーション１の出力が開始される。従って、ナレーション１の再生が開始される再生位置は約１１．２８秒である。演奏パート２の出力が開始されてから１拍後に、ナレーション２の出力が開始される。従って、ナレーション２の再生が開始される再生位置は１５．５１秒である。演奏パート２の出力が開始されてから９拍後に、ナレーション３の出力が開始される。従って、ナレーション３の再生が開始される再生位置は１９．２７秒である。演奏パート３の出力が開始されてから１３拍後に、ナレーション４の出力が開始される。従って、ナレーション４の再生が開始される再生位置は２１．１５秒である。
【００８５】
次いで、ＣＰＵ５１は、楽曲専用運動情報を生成する（ステップＳ２２）。楽曲専用運動情報は、コーラス、歌詞及びタイトル画像のそれぞれの出力が開始されるタイミングを示す運動情報である。例えば、ＣＰＵ５１は、選択された楽曲の楽曲ＩＤに対応するコーラスデータ、コーラスタイミング情報、歌詞データをＨＤＤ７から取得する。ＣＰＵ５１は、コーラスデータとコーラスタイミング情報に基づいて、コーラスデータの再生が開始される再生位置とコーラスデータのパスとを含むレコードを生成する。また、ＣＰＵ５１は、歌詞データに基づいて、歌詞のテロップの表示が開始される再生位置と歌詞データのパスとを含むレコードを生成する。また、ＣＰＵ５１は、例えば予め設定された再生位置とタイトル画像データのパスとを含むレコードを生成する。ＣＰＵ５１は、これらのレコードを含む楽曲専用運動情報を生成する。
【００８６】
次いで、ＣＰＵ５１は、基本運動情報と楽曲専用運動情報と結合して、最終的な運動情報を生成する（ステップＳ２３）。ＣＰＵ５１は、ステップＳ２３の処理を終えると、運動情報生成処理を終了させる。
【００８７】
図５（Ｄ）は、出力端末５のＣＰＵ５１の再生処理の処理例を示すフローチャートである。図５（Ｄ）に示すように、ＣＰＵ５１は、選択された楽曲のテンポを、オリジナルのテンポから選択情報取得処理で決定された運動テンポに変更する（ステップＳ３１）。
【００８８】
次いで、ＣＰＵ５１は、最終的な運動情報に基づいて運動コンテンツを再生する（ステップＳ３２）。具体的に、ＣＰＵ５１は、時計機能から現在時刻を取得する。ＣＰＵ５１は、取得した現在時刻を楽曲データの再生開始時刻とする。次いで、ＣＰＵ５１は、選択された楽曲の楽曲データに基づいて、ミュージックシーケンサにより楽曲データを再生する。これにより、ＣＰＵ５１は、スピーカ６４により楽曲を出力させる。このとき、ＣＰＵ５１は、選択情報取得処理で決定された運動テンポに従って楽曲を出力させる。
【００８９】
楽曲データの再生を開始すると、ＣＰＵ５１は、楽曲データの再生開始時刻から経過した時間を、楽曲の現在の再生位置として随時更新する。再生位置が更新されるごとに、ＣＰＵ５１は、運動情報から現在の再生位置を含むレコードを検索する。ＣＰＵ５１は、検索されたレコードに応じた処理を行う。例えば、モーションデータのパスを含むレコードが検索された場合、ＣＰＵ５１は、パスに対応するモーションデータに基づいて、運動映像の再生を開始する。このとき、ＣＰＵ５１は、先ずメイン動作の静止画像を順次生成し、静止画像を表示制御部５６へ順次出力する。次いで、ＣＰＵ５１は、後繋ぎ動作の静止画像を順次生成し、静止画像を表示制御部５６へ順次出力する。これにより、ＣＰＵ５１は、ディスプレイ６７に運動映像を表示する。ナレーションデータのパスを含むレコードが検索された場合、ＣＰＵ５１は、パスに対応するナレーションデータの再生を開始する。これにより、ＣＰＵ５１は、スピーカ６４によりナレーションを出力させる。効果音データのパスを含むレコードが検索された場合、ＣＰＵ５１は、パスに対応する効果音データの再生を開始する。これにより、ＣＰＵ５１は、スピーカ６４により効果音を出力させる。コーラスデータのパスを含むレコードが検索された場合、ＣＰＵ５１は、パスに対応するコーラスデータの再生を開始する。歌詞データのパスを含むレコードが検索された場合、ＣＰＵ５１は、パスに対応する歌詞データに基づいて、歌詞のテロップをディスプレイ６７に表示する。タイトル画像データのパスを含むレコードが検索された場合、ＣＰＵ５１は、パスに対応するタイトル画像データに基づいて、タイトル画像をディスプレイ６７に表示する。楽曲データの再生が終了すると、ＣＰＵ５１は、再生処理を終了させる。
【００９０】
以上説明したように、本実施形態によれば、ＣＰＵ５１が、楽曲を構成する複数の演奏パートの何れかの演奏パートに割り当てる候補となる専用運動動作の部品ＩＤを検索する。また、ＣＰＵ５１が、検索された専用運動動作の部品ＩＤの繋ぎ属性に一致する繋ぎ属性に対応する汎用運動動作の部品ＩＤを、専用運動動作の部品ＩＤが割り当て候補として検索された演奏パートの前に出力される演奏パート及び専用運動動作の部品ＩＤが割り当候補として検索された演奏パートの次に出力される演奏パートの少なくとも何れかの割り当て候補として検索する。そのため、運動動作の繋がりが自然になるように各演奏パートに専用の運動動作の部品ＩＤと汎用の運動動作の部品ＩＤとを自動的に割り当てることができる。
【００９１】
次に、変形例について説明する。上記実施形態においては、出力端末５は、演奏順が１番目の演奏パートから演奏順に各演奏パートの割り当て候補となる部品ＩＤを検索していた。しかしながら、出力端末５は、楽曲を構成する複数の演奏パートのうち専用運動動作の部品ＩＤを割り当て可能な演奏パートの全てに対して先に割り当て候補となる専用運動動作の部品ＩＤを検索してもよい。そして、出力端末５は、専用運動動作の部品ＩＤが検索された演奏パートの前に出力される演奏パート、及び、専用運動動作の部品ＩＤが検索された演奏パートの次に出力される演奏パートのうち、専用運動動作の部品ＩＤが検索されなかった演奏パートの割り当て候補として、汎用運動動作の部品ＩＤを検索してもよい。このとき、出力端末５は、専用運動動作の前繋ぎ属性と一致する後繋ぎ属性を有する汎用運動動作の部品ＩＤを、専用運動動作の部品ＩＤが検索された演奏パートの前に出力される演奏パートの割り当て候補として検索する。また、出力端末５は、専用運動動作の後繋ぎ属性と一致する前繋ぎ属性を有する汎用運動動作の部品ＩＤを、専用運動動作の部品ＩＤが検索された演奏パートの次に出力される演奏パートの割り当て候補として検索する。
【００９２】
次に、図３（Ａ）及び図３（Ｂ）に示す部品テーブルを用いた場合の部品リストの生成方法について説明する。運動テンポは１２８ＢＰＭであり、運動ジャンルは有酸素運動であるとする。先ず、出力端末５は、演奏パート１〜８の中から、専用運動動作の部品ＩＤを割り当て可能な演奏パートを全て検索する。具体的に、出力端末５は、各演奏パートについて、演奏パートの属性と一致する属性に対応する専用運動動作の部品ＩＤを専用部品テーブルから検索する。出力端末５が演奏パートの属性と一致する属性に対応する専用運動動作の部品ＩＤが専用部品テーブルに格納されていると判定した場合、その演奏パートに専用運動動作の部品ＩＤが割り当て可能である。出力端末５が演奏パートの属性と一致する属性に対応する専用運動動作の部品ＩＤが専用部品テーブルに格納されていないと判定した場合、その演奏パートに専用運動動作の部品ＩＤは割り当て可能ではない。属性として、例えば演奏パート種別、拍数等がある。演奏パート２及び５に、専用運動動作１及び２の部品ＩＤを割り当て可能である。その他の演奏パートについては、割り当て可能な専用運動動作の部品ＩＤはない。出力端末５は、２番目と５番目の列に専用運動動作１の部品ＩＤを格納した行を含む部品リスト表を生成する。
【００９３】
次に、出力端末５は、例えば、演奏パート１の割り当て候補を検索する。演奏パート２の割り当て候補である専用運動動作１の部品ＩＤの前繋ぎ属性ＩＤと汎用運動動作１−１の部品ＩＤの後繋ぎ属性ＩＤが一致する。そこで、出力端末５は、部品リスト表の１番目の列に汎用運動動作１−１の部品ＩＤを格納する。次に、出力端末５は、例えば、演奏パート３の割り当て候補を検索する。演奏パート２の割り当て候補である専用運動動作１の部品ＩＤの後繋ぎ属性ＩＤと汎用運動動作３−１の部品ＩＤの部品ＩＤの前繋ぎ属性ＩＤが一致する。そこで、出力端末５は、部品リスト表の３番目の列に汎用運動動作３−１の部品ＩＤを格納する。次に、出力端末５は、例えば、演奏パート４の割り当て候補を検索する。演奏パート５の割り当て候補である専用運動動作１の部品ＩＤの前繋ぎ属性ＩＤと汎用運動動作４−１の部品ＩＤの後繋ぎ属性ＩＤが一致する。また、汎用運動動作３−１の部品ＩＤの後繋ぎ属性ＩＤと汎用運動動作４−１の部品ＩＤの前繋ぎ属性ＩＤが一致する。そこで、出力端末５は、部品リスト表の４番目の列に汎用運動動作４−１の部品ＩＤを格納する。次に、出力端末５は、例えば、演奏パート６の割り当て候補を検索する。演奏パート６の演奏パート種別は演奏パート３の演奏パート種別と一致する。また、演奏パート５の割り当て候補である専用運動動作１の部品ＩＤの後繋ぎ属性ＩＤと、演奏パート３の割り当て候補である汎用運動動作３−１の部品ＩＤの前繋ぎ属性ＩＤが一致する。そこで、出力端末５は、部品リスト表の６番目の列に汎用運動動作３−１の部品ＩＤを格納する。出力端末５は、演奏パート７及び８についても同様に割り当て候補を検索する。
【００９４】
なお、上記実施形態においては、本発明の情報処理装置が出力端末５に適用されていた。しかしながら、本発明の情報処理装置が配信サーバ２に適用されてもよい。例えば、配信サーバ２が、部品リストや運動情報を生成してもよい。また、配信サーバ２が、運動情報に基づいて、音声データ及び動画データを生成してもよい。この場合の音声データは、楽曲、ナレーション、効果音、コーラス等を出力するためのデータである。また、動画データは、運動映像、歌詞等を表示するためのデータである。運動レッスンが行われるとき、配信サーバ２は、音声データ及び動画データを、例えばストリーミング方式で出力端末５に送信する。これにより、配信サーバ２は、出力端末５により楽曲を出力させ、且つ、運動映像を表示させる。また、本発明の情報処理装置が出力端末５及び配信サーバ２に適用されてもよい。そして、出力端末５及び配信サーバ２は協働して処理を行ってもよい。
【符号の説明】
【００９５】
１  運動コンテンツ生成システム
２  配信サーバ
３  データベース
５  出力端末
７  ＨＤＤ
５１  ＣＰＵ
５６  表示制御部
６３  音声出力部
【図１】
0005949688.tif 000002
【図２】
0005949688.tif 000003
【図３】
0005949688.tif 000004
【図４】
0005949688.tif 000005
【図５】
0005949688.tif 000006
【図６】
0005949688.tif 000007
【図７】
0005949688.tif 000008