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