(57)【特許請求の範囲】
【請求項１】
楽曲の基準の第１再生速度と、前記楽曲を示す楽曲情報とを対応付けて記憶する第１記憶手段と、
設定された第２再生速度を取得する第１取得手段と、
前記第２再生速度に従って、前記第１記憶手段に記憶された前記楽曲情報を音声出力手段により出力させる第１制御手段と、
前記第１制御手段が前記音声出力手段により前記楽曲情報を出力させているとき、ユーザの身体までの距離を検出する検出手段であって、前記検出手段からの距離を検出する検出手段により検出された距離に応じて、前記ユーザの動きを示す動作情報を所定時間ごとに取得する第２取得手段と、
前記第１記憶手段に記憶された前記第１再生速度と、前記第１取得手段により取得された前記第２再生速度とに基づいて、前記第２再生速度に従って前記楽曲情報が出力される場合に、前記第２取得手段により取得された前記動作情報が示す動作が行われる動作時間を決定する決定手段であって、前記所定時間を、前記第１再生速度に従って前記楽曲情報が出力される場合の時間に変換することにより前記動作時間を決定する決定手段と、
前記第２取得手段により取得された前記動作情報と、前記決定手段により決定された前記動作時間とを対応付けて第２記憶手段に記憶させる第２制御手段と、
前記第２記憶手段に記憶された前記動作情報及び前記動作時間と、前記第１制御手段により出力された前記楽曲情報を識別する識別情報とを対応付けて、所定のサーバ装置へ送信する送信手段と、
設定された第３再生速度を取得する第３取得手段と、
前記サーバ装置から、前記動作情報、前記動作時間及び前記識別情報を取得する第４取得手段と、
前記第３取得手段により取得された前記第３再生速度に従って、前記第４取得手段により取得された前記識別情報が示す前記楽曲情報を前記音声出力手段により出力させる第３制御手段と、
前記第３制御手段が前記音声出力手段により前記楽曲情報を出力させているとき、前記第３取得手段により取得された前記第３再生速度と、前記第４取得手段により取得された前記動作時間とに従って、前記第４取得手段により取得された前記動作情報が示す動作が行われる映像を示す映像情報を表示手段に表示させる第４制御手段と、
を備え、
前記決定手段は、前記第２再生速度の前記第１再生速度に対する倍率を、前記所定時間に掛けて前記時間を算出し、算出された前記時間を前回決定された前記動作時間に加算して、前記動作時間を決定し、
前記第４制御手段は、前記第３制御手段が前記音声出力手段により前記楽曲情報の出力を開始させてから経過した時間に、前記第３再生速度の前記第１再生速度に対する倍率を掛けて算出される時間が、前記第４取得手段により取得された前記動作時間になったとき、前記動作時間に対応する前記動作情報が示す動作が行われる映像を示す前記映像情報を表示させる
ことを特徴とする情報処理装置。
【請求項２】
前記情報処理装置は、映像を撮影可能な撮像手段と接続可能であり、
前記第１制御手段が前記音声出力手段により前記楽曲情報を出力させる場合、前記撮像手段による撮影が許可されているかを判定する判定手段と、
前記判定手段により前記撮影が許可されていると判定された場合、前記撮像手段により撮影された映像を示す第２映像情報を取得する第５取得手段と、
前記第５取得手段により取得された前記第２映像情報を、前記第１制御手段により出力された前記楽曲情報の前記識別情報とを対応付けて、前記サーバ装置へ送信する第２送信手段と、
を更に備え、
前記第２取得手段は、前記判定手段により前記撮影が許可されていると判定されなかった場合、前記動作情報を取得することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
ユーザを識別するユーザ識別情報を取得する第６取得手段を更に備え、
前記送信手段は、前記動作情報、前記動作時間及び前記識別情報と、前記第６取得手段により取得された前記ユーザ識別情報とを対応付けて、前記サーバ装置へ送信し、
前記第４取得手段は、前記動作情報及び前記動作時間と、仮想物の外観を示す外観情報であって、前記動作情報に対応する前記ユーザ識別情報に対応付けられた外観情報を、前記サーバ装置から取得し、
前記第４制御手段は、前記第４取得手段により取得された前記外観情報に基づいて、前記外観情報が示す外観を有する前記仮想物により前記動作情報が示す動作が行われる映像を示す前記映像情報を表示させることを特徴とする請求項１又は２に記載の情報処理装置。
【請求項４】
前記第３制御手段が前記音声出力手段により前記楽曲情報を出力させているとき、前記第３再生速度が変更されたかを判定する第２判定手段を更に備え、
前記第４制御手段は、前記第２判定手段により前記第３再生速度が変更されたと判定された場合、変更された前記第３再生速度と前記第４取得手段により取得された前記動作時間とに従って、前記映像情報を表示させることを特徴とする請求項１乃至３の何れか１項に記載の情報処理装置。
【請求項５】
前記第１制御手段が前記音声出力手段により前記楽曲情報を出力させているとき、前記第２再生速度が変更されたかを判定する第３判定手段を更に備え、
前記決定手段は、前記第３判定手段により前記第２再生速度が変更されたと判定された場合、前記第１記憶手段に記憶された前記第１再生速度と、変更された前記第２再生速度とに基づいて、前記動作時間を決定することを特徴とする請求項１乃至４の何れか１項に記載の情報処理装置。
【請求項６】
前記第１制御手段が前記音声出力手段により前記楽曲情報を出力させているとき、前記情報処理装置と接続可能な音声入力手段から歌唱音声を示す音声情報を取得する第６取得手段を更に備え、
前記送信手段は、前記動作情報、前記動作時間、前記識別情報、及び前記第６取得手段により取得された前記音声情報を対応付けて前記サーバ装置へ送信し、
前記第４取得手段は、前記動作情報、前記動作時間、及び前記送信手段により送信された前記音声情報が示す歌唱音声の音量に基づいて前記サーバ装置により決定された効果情報であって、前記楽曲の歌詞を表示するときの映像効果を示す効果情報を取得し、
前記第４制御手段は、前記第４取得手段により取得された前記効果情報に従って、前記歌詞を前記表示手段に表示させることを特徴とする請求項１乃至５の何れか１項に記載の情報処理装置。
【請求項７】
前記第１制御手段が前記音声出力手段により前記楽曲情報を出力させているとき、前記情報処理装置と接続可能な音声入力手段から歌唱音声を示す音声情報を取得する第６取得手段を更に備え、
前記送信手段は、前記動作情報、前記動作時間、前記識別情報、及び前記第６取得手段により取得された前記音声情報を対応付けて前記サーバ装置へ送信し、
前記第４取得手段は、前記動作情報、前記動作時間及び前記音声情報を取得し、
前記第４取得手段により取得された前記音声情報が示す歌唱音声の音量に基づいて、前記楽曲の歌詞を表示するときの映像効果を示す効果情報を決定する第２決定手段を更に備え、
前記第４制御手段は、前記第２決定手段により決定された前記効果情報に従って、前記歌詞を前記表示手段に表示させることを特徴とする請求項１乃至５の何れか１項に記載の情報処理装置。
【請求項８】
設定された第２再生速度を取得する第１取得ステップと、
前記第２再生速度に従って、楽曲の基準の第１再生速度と、前記楽曲を示す楽曲情報とを対応付けて記憶する第１記憶手段に記憶された前記楽曲情報を音声出力手段により出力させる第１制御ステップと、
前記第１制御ステップが前記音声出力手段により前記楽曲情報を出力させているとき、ユーザの身体までの距離を検出する検出手段であって、前記検出手段からの距離を検出する検出手段により検出された距離に応じて、前記ユーザの動きを示す動作情報を所定時間ごとに取得する第２取得ステップと、
前記第１記憶手段に記憶された前記第１再生速度と、前記第１取得ステップにより取得された前記第２再生速度とに基づいて、前記第２再生速度に従って前記楽曲情報が出力される場合に、前記第２取得ステップにより取得された前記動作情報が示す動作が行われる動作時間を決定する決定ステップであって、前記所定時間を、前記第１再生速度に従って前記楽曲情報が出力される場合の時間に変換することにより前記動作時間を決定する決定ステップと、
前記第２取得ステップにより取得された前記動作情報と、前記決定ステップにより決定された前記動作時間とを対応付けて第２記憶手段に記憶させる第２制御ステップと、
前記第２記憶手段に記憶された前記動作情報及び前記動作時間と、前記第１制御ステップにより出力された前記楽曲情報を識別する識別情報とを対応付けて、所定の第２情報処理装置へ送信する送信ステップと、
設定された第３再生速度を取得する第３取得ステップと、
前記第２情報処理装置から、前記動作情報、前記動作時間及び前記識別情報を取得する第４取得ステップと、
前記第３取得ステップにより取得された前記第３再生速度に従って、前記第４取得ステップにより取得された前記識別情報が示す前記楽曲情報を前記音声出力手段により出力させる第３制御ステップと、
前記第３制御ステップが前記音声出力手段により前記楽曲情報を出力させているとき、前記第３取得ステップにより取得された前記第３再生速度と、前記第４取得ステップにより取得された前記動作時間とに従って、前記第４取得ステップにより取得された前記動作情報が示す動作が行われる映像を示す映像情報を表示手段に表示させる第４制御ステップと、
をコンピュータに実行させ、
前記決定ステップは、前記第２再生速度の前記第１再生速度に対する倍率を、前記所定時間に掛けて前記時間を算出し、算出された前記時間を前回決定された前記動作時間に加算して、前記動作時間を決定し、
前記第４制御ステップは、前記第３制御ステップが前記音声出力手段により前記楽曲情報の出力を開始させてから経過した時間に、前記第３再生速度の前記第１再生速度に対する倍率を掛けて算出される時間が、前記第４取得ステップにより取得された前記動作時間になったとき、前記動作時間に対応する前記動作情報が示す動作が行われる映像を示す前記映像情報を表示させる
ことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ユーザが楽曲を聴きながら行う動作を支援するためのコンテンツを出力する技術分野に関する。
【背景技術】
【０００２】
例えば、特許文献１には、カラオケで歌唱するユーザの映像を撮影し、撮影された映像の中の顔部分の領域にキャラクタの画像を合成した合成映像をサーバ装置にアップロードする技術が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１２−７８５２６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ユーザが楽曲を聴きながらダンスなどの動作を楽しむ場合がある。このとき、ユーザが行った動作の様子を記録してサーバ装置等にアップロードしておき、アップロードされた動作の映像を後で見ながら楽曲に合わせて動作を行いたいという要望がある。この場合に、従来技術のように、ユーザの映像を一般的なカメラで撮影し、撮影された映像を楽曲に合わせて表示するとする。しかしながら、楽曲の再生速度をユーザが変更可能である場合、撮影時の再生速度と映像の表示時の再生速度とが異なる場合がある。この場合、単に映像の表示開始のタイミングと楽曲の出力開始のタイミングとを合わせるだけであるため、映像と楽曲とを適切に同期させることが難しい場合がある。
【０００５】
本発明は、以上の点に鑑みてなされたものであり、楽曲の再生速度が変更された場合であっても、動作を示す映像と楽曲とを適切に同期させることを可能とする情報処理装置及びプログラムを提供することを課題とする。
【課題を解決するための手段】
【０００６】
上記課題を解決するために、請求項１に記載の発明は、楽曲の基準の第１再生速度と、前記楽曲を示す楽曲情報とを対応付けて記憶する第１記憶手段と、設定された第２再生速度を取得する第１取得手段と、前記第２再生速度に従って、前記第１記憶手段に記憶された前記楽曲情報を音声出力手段により出力させる第１制御手段と、前記第１制御手段が前記音声出力手段により前記楽曲情報を出力させているとき、ユーザの身体までの距離を検出する検出手段であって、前記検出手段からの距離を検出する検出手段により検出された距離に応じて、前記ユーザの動きを示す動作情報を所定時間ごとに取得する第２取得手段と、前記第１記憶手段に記憶された前記第１再生速度と、前記第１取得手段により取得された前記第２再生速度とに基づいて、前記第２再生速度に従って前記楽曲情報が出力される場合に、前記第２取得手段により取得された前記動作情報が示す動作が行われる動作時間を決定する決定手段であって、前記所定時間を、前記第１再生速度に従って前記楽曲情報が出力される場合の時間に変換することにより前記動作時間を決定する決定手段と、前記第２取得手段により取得された前記動作情報と、前記決定手段により決定された前記動作時間とを対応付けて第２記憶手段に記憶させる第２制御手段と、前記第２記憶手段に記憶された前記動作情報及び前記動作時間と、前記第１制御手段により出力された前記楽曲情報を識別する識別情報とを対応付けて、所定のサーバ装置へ送信する送信手段と、設定された第３再生速度を取得する第３取得手段と、前記サーバ装置から、前記動作情報、前記動作時間及び前記識別情報を取得する第４取得手段と、前記第３取得手段により取得された前記第３再生速度に従って、前記第４取得手段により取得された前記識別情報が示す前記楽曲情報を前記音声出力手段により出力させる第３制御手段と、前記第３制御手段が前記音声出力手段により前記楽曲情報を出力させているとき、前記第３取得手段により取得された前記第３再生速度と、前記第４取得手段により取得された前記動作時間とに従って、前記第４取得手段により取得された前記動作情報が示す動作が行われる映像を示す映像情報を表示手段に表示させる第４制御手段と、を備え、前記決定手段は、前記第２再生速度の前記第１再生速度に対する倍率を、前記所定時間に掛けて前記時間を算出し、算出された前記時間を前回決定された前記動作時間に加算して、前記動作時間を決定し、前記第４制御手段は、前記第３制御手段が前記音声出力手段により前記楽曲情報の出力を開始させてから経過した時間に、前記第３再生速度の前記第１再生速度に対する倍率を掛けて算出される時間が、前記第４取得手段により取得された前記動作時間になったとき、前記動作時間に対応する前記動作情報が示す動作が行われる映像を示す前記映像情報を表示させることを特徴とする。
【０００９】
請求項２に記載の発明は、前記情報処理装置は、映像を撮影可能な撮像手段と接続可能であり、前記第１制御手段が前記音声出力手段により前記楽曲情報を出力させる場合、前記撮像手段による撮影が許可されているかを判定する判定手段と、前記判定手段により前記撮影が許可されていると判定された場合、前記撮像手段により撮影された映像を示す第２映像情報を取得する第５取得手段と、前記第５取得手段により取得された前記第２映像情報を、前記第１制御手段により出力された前記楽曲情報の前記識別情報とを対応付けて、前記サーバ装置へ送信する第２送信手段と、を更に備え、前記第２取得手段は、前記判定手段により前記撮影が許可されていると判定されなかった場合、前記動作情報を取得することを特徴とする。
【００１０】
請求項３に記載の発明は、ユーザを識別するユーザ識別情報を取得する第６取得手段を更に備え、前記送信手段は、前記動作情報、前記動作時間及び前記識別情報と、前記第６取得手段により取得された前記ユーザ識別情報とを対応付けて、前記サーバ装置へ送信し、前記第４取得手段は、前記動作情報及び前記動作時間と、仮想物の外観を示す外観情報であって、前記動作情報に対応する前記ユーザ識別情報に対応付けられた外観情報を、前記サーバ装置から取得し、前記第４制御手段は、前記第４取得手段により取得された前記外観情報に基づいて、前記外観情報が示す外観を有する前記仮想物により前記動作情報が示す動作が行われる映像を示す前記映像情報を表示させることを特徴とする。
【００１１】
請求項４に記載の発明は、前記第３制御手段が前記音声出力手段により前記楽曲情報を出力させているとき、前記第３再生速度が変更されたかを判定する第２判定手段を更に備え、前記第４制御手段は、前記第２判定手段により前記第３再生速度が変更されたと判定された場合、変更された前記第３再生速度と前記第４取得手段により取得された前記動作時間とに従って、前記映像情報を表示させることを特徴とする。
【００１２】
請求項５に記載の発明は、前記第１制御手段が前記音声出力手段により前記楽曲情報を出力させているとき、前記第２再生速度が変更されたかを判定する第３判定手段を更に備え、前記決定手段は、前記第３判定手段により前記第２再生速度が変更されたと判定された場合、前記第１記憶手段に記憶された前記第１再生速度と、変更された前記第２再生速度とに基づいて、前記動作時間を決定することを特徴とする。
【００１３】
請求項６に記載の発明は、前記第１制御手段が前記音声出力手段により前記楽曲情報を出力させているとき、前記情報処理装置と接続可能な音声入力手段から歌唱音声を示す音声情報を取得する第６取得手段を更に備え、前記送信手段は、前記動作情報、前記動作時間、前記識別情報、及び前記第６取得手段により取得された前記音声情報を対応付けて前記サーバ装置へ送信し、前記第４取得手段は、前記動作情報、前記動作時間、及び前記送信手段により送信された前記音声情報が示す歌唱音声の音量に基づいて前記サーバ装置により決定された効果情報であって、前記楽曲の歌詞を表示するときの映像効果を示す効果情報を取得し、前記第４制御手段は、前記第４取得手段により取得された前記効果情報に従って、前記歌詞を前記表示手段に表示させることを特徴とする。
【００１４】
請求項７に記載の発明は、前記第１制御手段が前記音声出力手段により前記楽曲情報を出力させているとき、前記情報処理装置と接続可能な音声入力手段から歌唱音声を示す音声情報を取得する第６取得手段を更に備え、前記送信手段は、前記動作情報、前記動作時間、前記識別情報、及び前記第６取得手段により取得された前記音声情報を対応付けて前記サーバ装置へ送信し、前記第４取得手段は、前記動作情報、前記動作時間及び前記音声情報を取得し、前記第４取得手段により取得された前記音声情報が示す歌唱音声の音量に基づいて、前記楽曲の歌詞を表示するときの映像効果を示す効果情報を決定する第２決定手段を更に備え、前記第４制御手段は、前記第２決定手段により決定された前記効果情報に従って、前記歌詞を前記表示手段に表示させることを特徴とする。
【００１５】
請求項８に記載の発明は、設定された第２再生速度を取得する第１取得ステップと、前記第２再生速度に従って、楽曲の基準の第１再生速度と、前記楽曲を示す楽曲情報とを対応付けて記憶する第１記憶手段に記憶された前記楽曲情報を音声出力手段により出力させる第１制御ステップと、前記第１制御ステップが前記音声出力手段により前記楽曲情報を出力させているとき、ユーザの身体までの距離を検出する検出手段であって、前記検出手段からの距離を検出する検出手段により検出された距離に応じて、前記ユーザの動きを示す動作情報を所定時間ごとに取得する第２取得ステップと、前記第１記憶手段に記憶された前記第１再生速度と、前記第１取得ステップにより取得された前記第２再生速度とに基づいて、前記第２再生速度に従って前記楽曲情報が出力される場合に、前記第２取得ステップにより取得された前記動作情報が示す動作が行われる動作時間を決定する決定ステップであって、前記所定時間を、前記第１再生速度に従って前記楽曲情報が出力される場合の時間に変換することにより前記動作時間を決定する決定ステップと、前記第２取得ステップにより取得された前記動作情報と、前記決定ステップにより決定された前記動作時間とを対応付けて第２記憶手段に記憶させる第２制御ステップと、前記第２記憶手段に記憶された前記動作情報及び前記動作時間と、前記第１制御ステップにより出力された前記楽曲情報を識別する識別情報とを対応付けて、所定の第２情報処理装置へ送信する送信ステップと、設定された第３再生速度を取得する第３取得ステップと、前記第２情報処理装置から、前記動作情報、前記動作時間及び前記識別情報を取得する第４取得ステップと、前記第３取得ステップにより取得された前記第３再生速度に従って、前記第４取得ステップにより取得された前記識別情報が示す前記楽曲情報を前記音声出力手段により出力させる第３制御ステップと、前記第３制御ステップが前記音声出力手段により前記楽曲情報を出力させているとき、前記第３取得ステップにより取得された前記第３再生速度と、前記第４取得ステップにより取得された前記動作時間とに従って、前記第４取得ステップにより取得された前記動作情報が示す動作が行われる映像を示す映像情報を表示手段に表示させる第４制御ステップと、をコンピュータに実行させ、前記決定ステップは、前記第２再生速度の前記第１再生速度に対する倍率を、前記所定時間に掛けて前記時間を算出し、算出された前記時間を前回決定された前記動作時間に加算して、前記動作時間を決定し、前記第４制御ステップは、前記第３制御ステップが前記音声出力手段により前記楽曲情報の出力を開始させてから経過した時間に、前記第３再生速度の前記第１再生速度に対する倍率を掛けて算出される時間が、前記第４取得ステップにより取得された前記動作時間になったとき、前記動作時間に対応する前記動作情報が示す動作が行われる映像を示す前記映像情報を表示させることを特徴とする。
【発明の効果】
【００１６】
請求項１又は８に記載の発明によれば、楽曲の再生速度が変更された場合であっても、動作を示す映像と楽曲とを適切に同期させることができる。
【００１７】
請求項２に記載の発明によれば、ユーザが自分の映像を許可しない場合であっても、ユーザが行った動作の映像を表示することができる。
【００１８】
請求項３に記載の発明によれば、ユーザが所望する外観で仮想物が動作する映像を表示することができる。
【００１９】
請求項４に記載の発明によれば、動作が行われる映像を表示しているときに再生速度が変更された場合であっても、映像と楽曲とを適切に同期させることができる。
【００２０】
請求項５に記載の発明によれば、ユーザの動作を記録しているときに再生速度が変更された場合であっても、映像と楽曲とを適切に同期させることができる。
【００２１】
請求項６又は７に記載の発明によれば、動作が行われる映像を表示しているときに、ユーザの動作を記録したときの歌唱音声の音量に応じた演出を行うことができる。
【図面の簡単な説明】
【００２２】
【図１】一実施形態のカラオケシステムＳの概要構成例を示す図である。
【図２】動作記録時間と記録フレーム数との関係の一例を示す図である。
【図３】カラオケ装置２の制御部２１におけるメイン処理の処理例を示すフローチャートである。
【図４】カラオケ装置２の制御部２１における楽曲再生・動作記録処理の処理例を示すフローチャートである。
【図５】（Ａ）は、カラオケ装置２の制御部２１における記録処理の処理例を示すフローチャートであり、（Ｂ）は、管理サーバ４の制御部４１におけるエフェクト制御データ生成処理の処理例を示すフローチャートである。
【図６】カラオケ装置２の制御部２１における楽曲・動作映像再生処理の処理例を示すフローチャートである。
【発明を実施するための形態】
【００２３】
以下、本発明の実施形態を図面に基づいて説明する。なお、以下に説明する実施の形態は、例えばカラオケ店舗において利用されるカラオケシステムに対して、本発明を適用した場合の実施形態である。
【００２４】
［１．カラオケシステムの構成及び動作の概要］
始めに、図１を参照して、本実施形態のカラオケシステムの構成の概要を説明する。図１は、本実施形態のカラオケシステムＳの概要構成例を示す図である。図１に示すように、カラオケシステムＳは、選曲装置１、カラオケ装置２、ビデオカメラ３ａ、距離画像カメラ３ｂ、及び管理サーバ４を含んで構成される。距離画像カメラ３ｂは、本発明の撮像手段の一例である。カラオケ装置２は、本発明の情報処理装置の一例である。管理サーバ４は、本発明の第２情報処理装置の一例である。選曲装置１、カラオケ装置２、ビデオカメラ３ａ及び距離画像カメラ３ｂは、例えば、カラオケ店舗のカラオケルーム（客室）に設置される。選曲装置１は、例えば赤外線により同室内のカラオケ装置２と通信可能になっている。選曲装置１及びカラオケ装置２は、例えばＬＡＮ（Local Area Network）を介して互いに通信可能になっている。選曲装置１及びカラオケ装置２は、ＬＡＮ及びルータを介してネットワークＮＷに接続される。ネットワークＮＷは、例えば、インターネット、携帯通信網、及びゲートウェイ等により構成される。管理サーバ４は、ネットワークＮＷに接続される。選曲装置１及びカラオケ装置２は、ネットワークＮＷを介して管理サーバ４と通信可能になっている。選曲装置１とビデオカメラ３ａ及び距離画像カメラ３ｂとは接続可能である。例えば、ＵＳＢ（Universal Serial Bus）ケーブル等を用いて接続されてもよいし、ＬＡＮを介して接続されてもよい。
【００２５】
選曲装置１は、カラオケ装置２に向けて選曲を要求する専用のリモコンである。選曲装置１は、カラオケ店舗の客室を利用するユーザがカラオケ楽曲を予約するために用いられる。カラオケ楽曲とは、基となる楽曲のボーカルパート又はギターなどの所定パートを除いた曲である。また、選曲装置１は、カラオケ楽曲の再生速度を設定するためにも用いられる。再生速度は、例えば、カラオケ楽曲を再生する速度を示すテンポである。例えば、カラオケ楽曲を予約するときやカラオケ楽曲が再生されているときに、再生速度の設定や変更が可能である。選曲装置１は、ユーザにより選曲されたカラオケ楽曲の楽曲再生要求をカラオケ装置２へ送信する。また、選曲装置１は、カラオケ店舗の客室を利用するユーザがカラオケサービスへログインするためにも用いられる。ログインの際、ユーザは選曲装置１にユーザＩＤを入力する。ユーザＩＤは、ユーザを識別可能な識別情報である。ユーザＩＤは、本発明のユーザ識別情報の一例である。
【００２６】
ビデオカメラ３ａは、動画を撮影可能なカメラである。ビデオカメラ３ａは、ユーザが楽曲に合わせて動作をする姿を撮影するために用いられる。ビデオカメラ３ａは、可視光線を受光するＣＣＤイメージセンサを備える。ビデオカメラ３ａが備えるＣＣＤイメージセンサは、受光された可視光線に対応する画素値を出力する。ビデオカメラ３ａは、出力された画素値を含む静止画データを生成し、静止画データをカラオケ装置２へ送信する。静止画データは、動画を構成する静止画のデータである。
【００２７】
距離画像カメラ３ｂは、距離画像を撮影可能なカメラである。距離画像は、距離画像カメラ３ｂから被写体までの距離を画素ごとに表す画像である。距離画像カメラ３ｂは、ユーザが楽曲に合わせて行う動作を検出するために用いられる。具体的に、距離画像カメラ３ｂは、距離画像カメラ３ｂが設置された位置からユーザの複数の身体部位までの距離を検出する。例えば、距離画像カメラ３ｂは、被写体までの距離を示す画素値を画素ごとに示す距離画像データを生成し、距離画像データをカラオケ装置２へ送信する。距離画像カメラ３ｂは、所定のフレームレートで距離画像を撮影し、距離画像を撮影するごとに距離画像データを送信する。距離画像カメラ３ｂは、例えば、赤外線を発光するＬＥＤ（light-emitting diode）と、赤外線を受光するＣＣＤイメージセンサを備えてもよい。この場合、距離画像カメラ３ｂは、例えば、ＬＥＤから発光された赤外線が被写体に反射してＣＣＤイメージセンサに受光されるまでの時間を計測する。そして、距離画像カメラ３ｂは、計測した時間に基づいて、被写体までの距離を画素ごとに決定する。また、距離画像カメラ３ｂは、例えば、複数のＣＣＤイメージセンサを備えるステレオカメラであってもよい。この場合、距離画像カメラ３ｂは、複数のＣＣＤイメージセンサで撮影した複数の画像に基づいて被写体までの距離を画素ごとに計算し、距離画像データを生成してもよい。また、例えば、ビデオカメラ３ａと距離画像カメラ３ｂの代わりに、動画及び距離画像の両方の撮影が可能な一台のカメラがカラオケ装置２に接続されてもよい。
【００２８】
カラオケ装置２は、ユーザにより選曲されたカラオケ楽曲を再生する演奏装置である。カラオケ装置２は、カラオケ楽曲ごとに、楽曲ＩＤ及び楽曲データを対応付けて記憶する。楽曲ＩＤは、カラオケ楽曲を識別可能な識別情報である。例えば、楽曲ＩＤは、楽曲番号であってもよい。楽曲データは、本発明の楽曲情報の一例である。楽曲データは、スピーカによりカラオケ楽曲を出力するための演奏データである。スピーカは、本発明の音声出力手段の一例である。楽曲データは、例えば、ＭＩＤＩ（Musical Instrument Digital Interface）データ、生演奏の音をＰＣＭ（Pulse Code Modulation）等で符号化したデータ等がある。本実施形態においては、楽曲データとしてＭＩＤＩデータを用いる場合を例として説明する。楽曲データは、例えば基準再生速度を含む。基準再生速度は、本発明の第１再生速度の一例である。基準再生速度は、カラオケ楽曲のオリジナルの再生速度である。カラオケ装置２は、選曲装置１から楽曲再生要求を受信すると、楽曲の予約を受け付ける。楽曲再生要求は、選曲された楽曲の楽曲ＩＤ、選曲したユーザのユーザＩＤ及びユーザにより設定された再生速度が含まれる。ユーザが再生速度を基準再生速度から変更した場合、楽曲再生要求は変更後の再生速度を含む。ユーザが再生速度を基準再生速度から変更しなかった場合、楽曲再生要求は基準再生速度を含む。ユーザにより設定又は変更された再生速度は、本発明の第２再生速度の一例である。カラオケ装置２は、楽曲再生要求に含まれる楽曲ＩＤに対応する楽曲データを、楽曲再生要求に含まれる再生速度に従って再生する。これにより、カラオケ楽曲がスピーカにより出力される。カラオケ楽曲の再生中、カラオケ装置２は、例えば、カラオケ楽曲に対応したプロモーションビデオ等の映像をディスプレイに表示させてもよい。ディスプレイは、本発明の表示手段の一例である。これにより、ディスプレイには、カラオケ楽曲のアーティスト等がカラオケ楽曲に合わせて歌いながらダンスなどの動作を行う映像が表示される。ユーザは、ディスプレイに表示された映像を見ながら動作を行うことができる。
【００２９】
カラオケ楽曲の再生中、カラオケ装置２は、ビデオカメラ３ａにより動画撮影を実行させることができる。これにより、ビデオカメラ３ａは、ユーザが楽曲に合わせて動作をする姿を撮影する。カラオケ装置２は、ビデオカメラ３ａから順次送信されてきた複数の静止画データにより構成される動画データを生成する。カラオケ楽曲の再生が終了すると、カラオケ装置２は、生成した動画データを管理サーバ４へアップロードする。このとき、カラオケ装置２は、動画データ、選曲されたカラオケ楽曲の楽曲ＩＤ、及び選曲したユーザのユーザＩＤを管理サーバ４へ送信する。
【００３０】
管理サーバ４は、動画などの情報を管理するサーバである。管理サーバ４は、カラオケ装置２から送信された動画データ、楽曲ＩＤ及びユーザＩＤを、コンテンツＩＤと対応付けて記憶する。コンテンツＩＤは、動画及び後述する動作映像を識別可能な識別情報である。
【００３１】
カラオケ装置２は、ユーザによる選曲装置１の操作に基づいて、管理サーバ４が記憶した動画データをダウンロードする。そして、カラオケ装置２は、カラオケ楽曲を再生しながら、ダウンロードした動画データを再生する。具体的に、選曲装置１は、例えば動画の一覧を表示し、ユーザは何れかの動画を選択する。このとき、ユーザは、自分が撮影された動画を選択してもよいし、他人が撮影された動画を選択してもよい。選曲装置１は、選択された動画のコンテンツＩＤを含む楽曲・映像再生要求をカラオケ装置２へ送信する。カラオケ装置２は、楽曲・映像再生要求に含まれるコンテンツＩＤを管理サーバ４へ送信する。管理サーバ４は、受信したコンテンツＩＤに対応する動画データ及び楽曲ＩＤをカラオケ装置２へ送信する。カラオケ装置２は、受信した楽曲ＩＤに対応する楽曲と、受信した動画データとを再生する。これにより、楽曲に合わせてユーザが動作を行う動画がディスプレイに表示される。ユーザは、カラオケ楽曲に合わせて歌唱しながら、ディスプレイに表示された動画に合わせて動作を行うことができる。
【００３２】
上述したように、ユーザはカラオケ楽曲の再生速度を基準再生速度から変更することができる。従って、動画の撮影時におけるカラオケ楽曲の再生速度と、動画の再生時におけるカラオケ楽曲の再生速度とが異なる場合がある。この場合、動画の撮影時に設定された再生速度に従ってユーザが動作を行う動画が表示される。そのため、カラオケ楽曲と動画とを適切に同期させて再生すること難しい場合がある。そこで、カラオケ装置２は、カラオケ楽曲を再生しているとき、ビデオカメラ３ａにより動画を撮影させる代わりに、距離画像カメラ３ｂにより、ユーザが楽曲に合わせて行う動作を検出させてもよい。そして、カラオケ装置２は、検出された動作を示す関節三次元座標を取得する。関節三次元座標は、本発明の動作情報の一例である。関節三次元座標は、ユーザの身体部位の三次元空間における位置を示す三次元座標である。カラオケ装置２は、ユーザの複数の身体部位のそれぞれについて、関節三次元座標を取得する。例えば、カラオケ装置２は、両手、両肩、首、腰、両足首、両膝などの関節ごとに、関節三次元座標を取得する。また、カラオケ装置２は、カラオケ楽曲の基準再生速度と、ユーザにより設定された再生速度に基づいて、動作記録時間を決定する。動作記録時間は、本発明の動作時間の一例である。動作記録時間は、カラオケ装置２が基準再生速度に従ってカラオケ楽曲を再生していると仮定した場合に、取得した関節三次元座標が示すユーザの動作が行われる時間を示す。動作記録時間は、カラオケ楽曲の再生開始からの関節三次元座標が取得されたときまでに経過した時間として表される。カラオケ装置２は、各身体部位について取得した関節三次元座標と、決定した動作記録時間を対応付けて関節座標データとして記憶する。こうして、カラオケ装置２は、ユーザの動作を関節座標データとして記録する。カラオケ楽曲を再生しながらユーザの動作を記録することを、楽曲再生・動作記録処理という。楽曲再生・動作記録処理が終了すると、カラオケ装置２は、カラオケ楽曲の再生の開始から終了までに記憶した関節座標データを含むユーザ動作情報を、再生したカラオケ楽曲の楽曲ＩＤ、及び再生したカラオケ楽曲を選曲したユーザのユーザＩＤと対応付けて管理サーバ４へアップロードする。管理サーバ４は、受信したユーザ動作情報、楽曲ＩＤ及びユーザＩＤを、コンテンツＩＤと対応付けて記憶する。
【００３３】
その後、ユーザは、管理サーバ４にユーザ動作情報として記憶された動作の一覧を選曲装置１に表示させる。そして、ユーザは所望の動作を選択する。ユーザは、自分が行った動作を選択してもよいし、他人が行った動作を選択してもよい。選曲装置１は、選択された動作のコンテンツＩＤ、及びユーザにより設定された再生速度を含む楽曲・映像再生要求をカラオケ装置２へ送信する。カラオケ装置２は、楽曲・映像再生要求に含まれるコンテンツＩＤを管理サーバ４へ送信する。管理サーバ４は、受信したコンテンツＩＤに対応するユーザ動作情報及び楽曲ＩＤをカラオケ装置２へ送信する。カラオケ装置２は、受信した楽曲ＩＤに対応する楽曲を、楽曲・映像再生要求に含まれる再生速度に従って再生する。また、カラオケ装置２は、受信したユーザ動作情報に含まれる関節座標データに基づいて、ディスプレイに動作映像を表示させる。動作映像は、本発明の映像情報の一例である。動作映像は、記録された動作を行うフィギュアを映し出した動画である。フィギュアは、例えば、人、動物、仮想上の生き物、ロボット等のかたちをした仮想物である。フィギュアは、三次元仮想空間に配置される。このとき、カラオケ装置２は、楽曲・映像再生要求に含まれる再生速度と、関節座標データに含まれる動画記録時間とに基づいて、カラオケ楽曲に合わせてフィギュアが動作する動作映像をディスプレイに表示させる。これにより、カラオケ装置２は、カラオケ楽曲と動作映像とを適切に同期させる。カラオケ楽曲を再生しながら動作映像をディスプレイに表示させることを、楽曲・動作映像再生処理という。
【００３４】
距離画像データから関節三次元座標を取得する方法について説明する。例えば、機械学習を用いる方法がある。例えば、カラオケシステムＳの管理者は、人間が様々な動作を行う様子を映した多数の距離画像データを用意する。また、管理者は、距離画像データに対応する各身体部位の関節三次元座標を用意する。例えば、管理者が手作業で関節三次元座標を作成してもよい。そして、距離画像データと関節三次元座標の組を教師データとする。距離画像データは例題に相当し、関節三次元座標は解答に相当する。管理者は、教師データを機械学習用の所定の情報処理に入力する。情報処理装置は、教師データを用いて所定の機械学習を実行し、距離画像データから各身体部位の関節三次元座標を推定するための推測モデルの情報を生成する。カラオケ装置２は、生成された推測モデルの情報を予め記憶する。カラオケ装置２は、推測モデルの情報に基づいて、距離画像カメラ３ｂから受信した距離画像データから各身体部位の関節三次元座標を決定する。距離画像データから関節三次元座標を取得する方法については、例えば、２０１１年にIEEE CVPR 2011にてJamie Shottonらにより発表された「Real-Time Human Pose Recognition in Parts from Single Depth Images」に開示されているので、詳しい説明は省略する。なお、距離画像カメラ３ｂが、例えば、距離画像データと推測モデルの情報に基づいて、各身体部位の関節三次元座標を決定してもよい。そして、カラオケ装置２は、距離画像カメラ３ｂから関節三次元座標を取得してもよい。
【００３５】
次に、動作記録時間の決定方法について説明する。カラオケ装置２は、距離画像データに基づいてユーザの身体部位の関節三次元座標を取得するごとに、カラオケ楽曲の基準再生速度と、ユーザにより設定された再生速度に基づいて、動作記録時間を決定する。例えば、カラオケ楽曲の再生が開始されたとき、カラオケ装置２は、動作記録時間を０にリセットする。また、カラオケ装置２は、記録時間倍率を決定する。記録時間倍率は、記録時間倍率＝現在の再生速度／基準再生速度、で計算される。カラオケ楽曲が再生されているときにユーザにより再生速度が変更された場合、カラオケ装置２は、変更後の再生速度に基づいて、記録時間倍率を変更する。
【００３６】
カラオケ楽曲の再生開始からの関節三次元座標が取得されたときまでに実際に経過した時間を、実再生時間という。カラオケ装置２は、例えば、距離画像カメラ３ｂから距離画像データを受信するたびに、前回距離画像データを受信したときの実再生時間から現在の実再生時間まで経過した時間を、実経過時間として計算する。次いで、カラオケ装置２は、基準再生速度に従ってカラオケ楽曲を再生していると仮定した場合に、前回距離画像データを受信したときから現在まで経過した時間を、記録経過時間として計算する。記録経過時間は、記録経過時間＝実経過時間×記録時間倍率、で計算される。
【００３７】
カラオケ装置２は、記録経過時間を動作記録時間に加算して、動作記録時間を更新する。具体例を説明する。図２は、動作記録時間と記録フレーム数との関係の一例を示す図である。記録フレーム数は、カラオケ楽曲の再生開始後に、カラオケ装置２が距離画像カメラ３ｂから受信した距離画像データの数である。距離画像カメラ３ｂは、例えば、３０ｆｐｓのフレームレートで、距離画像を撮影するものとする。また、カラオケ楽曲の基準再生速度は１２０ＢＰＭである。例えば、ユーザは再生速度を１２０ＢＰＭに設定して、カラオケ装置２はカラオケ楽曲の再生を開始したとする。このとき、動作記録時間は０にリセットされる。また、記録時間倍率は１である。その後、カラオケ装置２は、実再生時間が３３．３ミリ秒であるときに、１番目の距離画像データを受信する。記録時間倍率は１であるので、記録経過時間は３３．３ミリ秒である。従って、カラオケ装置２は、実再生時間と同じ３３．３ミリ秒を動作記録時間として決定する。カラオケ装置２は、取得した関節三次元座標と３３．３ミリ秒とを対応付けて、関節座標データとして記憶する。その後、カラオケ装置２は、実再生時間が、６６．７ミリ秒、１００ミリ秒、１３３．３ミリ秒、１６６．７ミリ秒、２００ミリ秒であるときに、それぞれ距離画像データを受信する。カラオケ装置２は、距離画像データを受信するたびに、実再生時間と同じ動作記録時間を決定する。
【００３８】
実再生時間が２００ミリ秒を経過したとき、ユーザは再生速度を１４０ＢＰＭに変更したとする。このときの記録時間倍率は１．１７である。この場合においても、カラオケ装置２は３３．３ミリ秒経過するごとに距離画像データを受信する。実再生時間が２３３．３ミリ秒であるとき、カラオケ装置２は、７番目の距離画像データを受信する。この場合、６番目の距離画像データを受信してから７番目の距離画像データを受信するまでの記録経過時間は、３８．９ミリ秒である。従って、カラオケ装置２は、６番目の距離画像データが取得されたときの動作記録時間である２００ミリ秒に、３８．９ミリ秒を加算する。これにより、カラオケ装置２は、７番目の距離画像データが取得されたときの動作記録時間として２３８．９ミリ秒を計算する。その後も、カラオケ装置２は、距離画像データを受信するごとに、記録経過時間に３８．９ミリ秒を加算して、記録経過時間を更新する。
【００３９】
なお、例えば管理サーバ４が動作記録時間を決定してもよい。この場合、楽曲再生・動作記録処理において、カラオケ装置２は、例えば、距離画像カメラ３ｂから取得した関節三次元座標、関節三次元座標を取得したときの実再生時間、及び現在の再生速度とを対応付けて記憶する。楽曲再生・動作記録処理が終了した後、カラオケ装置２は、記憶しておいた関節三次元座標、実再生時間及び再生速度を管理サーバ４へアップロードする。管理サーバ４は、受信した情報と楽曲の基準再生速度に基づいて、動作記録時間を決定する。
【００４０】
次に、カラオケ楽曲と動作映像の同期方法について説明する。カラオケ装置２は、例えば、ミュージックシーケンサ、３Ｄエンジンを記憶する。ミュージックシーケンサは、楽曲データに基づいてカラオケ楽曲を再生するためのプログラムである。３Ｄエンジンは、三次元仮想空間で動作するフィギュアを二次元平面に投影した動作映像を生成するためのプログラムである。画像を生成する処理は、射影変換、クリッピング、隠面消去、シェーディング、テクスチャマッピング等を含む。なお、ミュージックシーケンサ及び３Ｄエンジンは、プログラムではなく、専用のハードウェアであってもよい。
【００４１】
カラオケ装置２は、ミュージックシーケンサを実行することにより、設定された再生速度と楽曲データとに従って、カラオケ楽曲を再生する。このとき、カラオケ装置２は、設定された再生速度に従ってＭＩＤＩクロックを出力する。ＭＩＤＩクロックは、再生速度に応じた時間間隔で出力されるイベントである。例えば、１拍当たりのＭＩＤＩクロックの数が予め定められている。従って、図２に示すように、再生速度が速くなるほど、ＭＩＤＩクロックが出力される時間間隔が短くなる。例えば、１拍当たりのＭＩＤＩクロックの数が０．３７５であるとする。この場合、再生速度が１２０ＢＰＭであるときには、１秒間に４５回ＭＩＤＩクロックが出力される。また、再生速度が１４０ＢＰＭであるときには、１秒間に５２．５回ＭＩＤＩクロックが出力される。カラオケ装置２は、カラオケ楽曲の再生開始後に出力されたＭＩＤＩクロックの数に基づいて、楽曲再生時間を決定する。楽曲再生時間は、カラオケ装置２が基準再生速度に従ってカラオケ楽曲を再生していると仮定した場合に、カラオケ楽曲の再生開始から経過した時間を示す。具体的に、カラオケ装置２は、基準再生速度に従ってカラオケ楽曲を再生しているときにＭＩＤＩクロックが出力される時間間隔に、出力されたＭＩＤＩクロックの数を乗算する。これにより、カラオケ装置２は、楽曲再生時間を計算する。例えば、基準再生速度でＭＩＤＩクロックが１秒間に４５回出力されるとする。この場合、ＭＩＤＩクロックの出力間隔は２２．２ミリ秒である。ユーザが設定した再生速度が基準再生速度と異なる場合、ＭＩＤＩクロックの出力間隔が変化する。例えば、基準再生速度が１２０ＢＰＭである場合に、ユーザが設定した再生速度が１４０ＢＰＭである場合、ＭＩＤＩクロックの出力間隔は１９ミリ秒である。この場合に、カラオケ楽曲の再生開始からＭＩＤＩクロックが９回出力されている場合、実際に経過した時間は、１７１ミリ秒である。しかしながら、基準再生速度におけるＭＩＤＩクロックの出力間隔は２２．２であるので、楽曲再生時間は２００ミリ秒である。再生時間倍率を、再生時間倍率＝現在の再生速度／基準再生速度、とすると、楽曲再生時間は、実再生時間×再生時間倍率、で計算することができる。カラオケ楽曲が再生中にユーザが再生速度を変更した場合にも、ＭＩＤＩクロックの出力間隔が変化する。この場合も、カラオケ装置２は、カラオケ楽曲の再生開始後に出力されたＭＩＤＩクロックの数に基づいて、楽曲再生時間を決定する。
【００４２】
カラオケ装置２は、管理サーバ４からダウンロードしたユーザ動作情報に含まれる関節座標データの中から、例えば動作記録時間が楽曲再生時間と一致する関節座標データを取得する。カラオケ装置２は、３Ｄエンジンを実行することにより、取得した関節座標データに基づいて、動作映像を構成するフレーム画像を生成して、フレーム画像をディスプレイに表示させる。このように、カラオケ装置２は、ユーザにより設定された再生速度と動作記録時間に基づいて動作映像を表示させる。また、ユーザが再生速度を変更した場合には、変更された再生速度と動作記録時間に基づいて動作映像を表示させる。
【００４３】
カラオケ装置２は、ビデオカメラ３ａによる撮影が許可されているかを判定してもよい。例えば、ユーザは、選曲装置１でカラオケ楽曲を予約するとき、ビデオカメラ３ａによる撮影を許可するか否かを選択してもよい。カラオケ装置２は、ビデオカメラ３ａによる撮影が許可されていると判定した場合、ビデオカメラ３ａにより動画撮影を実行させ、動画データを管理サーバ４へアップロードする。一方、カラオケ装置２は、ビデオカメラ３ａによる撮影が許可されていないと判定した場合、距離画像カメラ３ｂによる距離画像の撮影を実行させ、ユーザ動作情報を管理サーバ４へアップロードする。
【００４４】
カラオケ装置２は、楽曲再生・動作記録処理の際に、ユーザの歌唱音声を録音してもよい。そして、カラオケ装置２は、楽曲・動作映像再生処理の際に、録音された歌唱音声の音量に基づいて、ディスプレイに表示される映像のエフェクトを決定してもよい。例えば、カラオケ装置２は、ディスプレイに表示される歌詞に与えるエフェクトを決定してもよい。エフェクトとして、例えば、歌詞を拡大表示したり、歌詞の色を変化させたりすることなどが挙げられる。また、カラオケ装置２は、ディスプレイに表示されるフィギュアや背景などに与えるエフェクトを決定してもよい。
【００４５】
具体的に、カラオケ装置２は、所定のサンプリング周波数で、マイクから歌唱音声のサンプルデータを取得する。マイクは、本発明の音声入力手段の一例である。サンプルデータは、本発明の音声情報の一例である。また、カラオケ装置２は、カラオケ楽曲の基準再生速度と、ユーザにより設定された再生速度に基づいて、音声記録時間を決定する。音声記録時間は、カラオケ装置２が基準再生速度に従ってカラオケ楽曲を再生していると仮定した場合に、取得されたサンプルデータが示す音声がマイクに入力される時間を示す。音声記録時間の決定方法は、動作記録時間の決定方法と基本的に同様であるため、詳細な説明は省略する。そして、カラオケ装置２は、取得したサンプルデータと音声記録時間とを対応付けて録音データとして記憶する。
【００４６】
図２には、音声記録時間とサンプリング数との関係の一例が示されている。サンプリング数は、カラオケ楽曲の再生開始後に、カラオケ装置２がマイクから受信したサンプルデータの数である。例えば、サンプリング周波数が４８ＫＨｚであるとする。この場合、実再生時間が２００ミリ秒であるとき、カラオケ装置２は、マイクから９６００個目のサンプルデータを取得する。実再生時間が０秒から２００ミリ秒の間における再生速度は１２０ＢＰＭである。１２０ＢＰＭは基準再生速度である。従って、９６００個目のサンプルデータを取得したときの音声記録時間は２００ミリ秒である。実再生時間が２００ミリ秒を経過したとき、再生速度が１４０ＢＰＭに変更される。この場合、記録時間倍率は、１．１７である。実再生時間が３００ミリ秒であるとき、カラオケ装置２は、１４４００個目のサンプルデータを取得する。実再生時間が２００ミリ秒から３００ミリ秒までの実経過時間は１００ミリ秒である。従って記録経過時間は、１１７ミリ秒である。そのため、１４４００個目のサンプルデータを取得したときの音声記録時間は３１７ミリ秒である。
【００４７】
楽曲再生・動作記録処理が終了すると、カラオケ装置２は、ユーザ動作情報とともに、記憶された複数の録音データを含むユーザ音声情報を管理サーバ４へアップロードする。管理サーバ４は、受信したユーザ動作情報及びユーザ音声情報を対応付けて記憶する。管理サーバ４は、ユーザ音声情報に基づいて、エフェクト制御データを生成する。エフェクト制御データは、本発明の効果情報の一例である。エフェクト制御データは、エフェクトを付与するタイミング及び内容を決定するための情報である。エフェクト制御データは、開始時間、持続時間及びエフェクト内容等を含む。開始時間は、エフェクトの付与を開始する再生時間を示す。持続時間は、エフェクトが持続する時間を示す。管理サーバ４は、ユーザ音声情報の各録音データに含まれる歌唱音声のサンプルデータが示す音量と所定の閾値とを、録音データに含まれる音声記録時間の順に比較する。管理サーバ４は、音量が閾値を超えた音声記録時間を開始時間に決定する。また、管理サーバ４は、音量が閾値を超えた音声記録時間から音量が閾値以下になる音声記録時間までの時間を持続時間として決定する。エフェクト内容は、例えば予め設定されてもよい。管理サーバ４は、音量が閾値を超えるごとにエフェクト制御データを生成する。そして、管理サーバ４は、エフェクト制御データをユーザ動作情報に対応付けて記憶する。
【００４８】
楽曲・動作映像再生処理を実行するためにカラオケ装置２が管理サーバ４からユーザ動作情報をダウンロードするとき、ユーザ動作情報に対応するエフェクト制御データもダウンロードする。なお、カラオケ装置２がエフェクト制御データを生成してもよい。例えば、カラオケ装置２がユーザ動作情報をダウンロードするとき、ユーザ動作情報に対応するユーザ音声情報もダウンロードする。そして、カラオケ装置２が、ユーザ音声情報に基づいてエフェクト制御データを生成する。楽曲・動作映像再生処理時、カラオケ装置２は、ダウンロードしたエフェクト制御データのうち開始時間が楽曲再生時間に対応するエフェクト制御データに基づいて、ディスプレイに表示させる映像にエフェクトを付与する処理を実行する。また、カラオケ装置２は、音量に応じてエフェクトを変化させてもよい。例えば、カラオケ装置２は、歌詞を拡大表示する場合、音量が大きいほど拡大率を大きくしてもよい。
【００４９】
カラオケシステムＳは、ディスプレイに表示されるフィギュアの外観をユーザの好みの外観に設定することができるように構成されてもよい。管理サーバ４は、例えばフィギュアの外観を表すテクスチャデータを外観ＩＤと対応付けて記憶する。テクスチャデータは、本発明の外観情報の一例である。テクスチャデータは、テクスチャマッピングに用いられる。フィギュアの外観として、例えば、髪型、服及び靴等がある。例えば、髪型ごと、服ごと及び靴ごとにテクスチャデータが記憶される。テクスチャデータの内容は公知であるため、詳細な説明は省略する。外観ＩＤは、フィギュアの外観を識別可能な情報である。ユーザは、例えば選曲装置１等を操作して、複数の髪型、服及び靴の中から、好みの髪型、服及び靴の組合せを選択する。管理サーバ４は、ユーザに選択された外観に対応する外観ＩＤとユーザのユーザＩＤとを対応付けて記憶する。楽曲・動作映像再生処理を実行するためにカラオケ装置２が管理サーバ４からユーザ動作情報をダウンロードするとき、テクスチャデータもダウンロードする。具体的に、管理サーバ４は、送信するユーザ動作情報に対応するユーザＩＤを取得し、取得したユーザＩＤに対応する外観ＩＤを取得する。そして、管理サーバ４は、外観ＩＤに対応するテクスチャデータをカラオケ装置２へ送信する。カラオケ装置２は、関節座標データ及びテクスチャデータに基づいて、ユーザが予め選択した外観を備えるフィギュアが動作する動作映像をテクスチャマッピングによりディスプレイに表示させる。
【００５０】
［２．各装置の構成］
次に、図１を参照して、カラオケシステムＳに含まれる各装置の構成について説明する。図１は、本実施形態におけるカラオケシステムＳに含まれる各装置の概要構成例を示すブロック図である。
【００５１】
図１（Ａ）は、カラオケ装置２の概要構成例を示すブロック図である。図１（Ａ）に示すように、カラオケ装置２は、制御部２１、記憶部２２、ビデオＲＡＭ２３、映像再生部２４、映像制御部２５、マイク制御部２６、シンセサイザ２７、ミキシングアンプ２８、操作部２９ａ、操作処理部２９ｂ、赤外線受信部２９ｃ、及びＬＡＮ通信部２９ｄ等を備えて構成される。制御部２１は、ＣＰＵ、ＲＯＭ、及びＲＡＭ等により構成される。制御部２１は、時計機能及び計時機能を有する。記憶部２２は、例えば、ハードディスク等により構成される。記憶部２２には、ＯＳ、カラオケ装置処理プログラム、ミュージックシーケンサ、３Ｄエンジン等のプログラムが記憶されている。制御部２１は、ＯＳ及びカラオケ装置処理プログラムを実行することにより、カラオケ装置２全体を統括制御する。カラオケ装置処理プログラムは、管理サーバ４等からダウンロードされてもよいし、記録媒体に記録されてドライブ装置を介して読み込まれるようにしてもよい。制御部２１は、３Ｄエンジンを実行して、関節座標データに基づいてフィギュアの静止画像を順次生成する。生成された静止画像の映像信号を制御部２１がビデオＲＡＭ２３へ順次出力することで、ディスプレイには、動作映像が表示される。制御部２１は、ミュージックシーケンサを実行することにより、設定された再生速度に従って、各種のイベントを発生させる。イベントとして、例えば、ＭＩＤＩクロック、ＭＩＤＩイベント、歌詞イベント、楽曲終了通知イベント等がある。ＭＩＤＩイベントは、楽曲の再生を制御するためのイベントである。制御部２１は、ＭＩＤＩイベントをシンセサイザ２７へ出力する。これにより、制御部２１は、スピーカによりカラオケ楽曲を出力させる。歌詞イベントは、カラオケ楽曲の歌詞を表示させるためのイベントである。歌詞イベントは、例えば、歌詞のテキストデータを含む。楽曲終了通知イベントは、カラオケ楽曲の再生の終了を示すイベントである。また、記憶部２２には、楽曲データが楽曲ＩＤに対応付けて記憶されている。また、記憶部２２には、推測モデルの情報が記憶されている。
【００５２】
シンセサイザ２７は、ＭＩＤＩイベントに基づいて、カラオケ楽曲の音声信号をミキシングアンプ２８へ出力する。マイク制御部２６は、マイクにより集音されたユーザの音声信号をミキシングアンプ２８へ出力する。また、マイク制御部２６は、マイクからの音声信号を所定のサンプリング周波数でサンプリングし、サンプルデータを制御部２１へ出力する。ミキシングアンプ２８は、シンセサイザ２７からの音声信号とマイク制御部２６からの音声信号とをミキシングしてスピーカへ出力する。また、映像信号等はビデオＲＡＭ２３及び映像再生部２４により再生される。そして、映像制御部２５は、再生された映像信号をディスプレイへ出力する。また、制御部２１は、ユーザによる操作部２９ａからの指示を、操作処理部２９ｂを介して受け付ける。また、制御部２１は、赤外線受信部２９ｃを介して、選曲装置１からの各種指令を受信することができる。ＬＡＮ通信部２９ｄは、有線ＬＡＮに接続して通信を行うためのものである。また、記憶部２２には、選曲装置１を用いてカラオケサービスにログインしたユーザのユーザＩＤが記憶される。なお、記憶部２２には、管理サーバ４のＩＰアドレスも記憶されている。
【００５３】
図１（Ｂ）は、管理サーバ４の概要構成例を示すブロック図である。図１（Ｂ）に示すように、管理サーバ４は、制御部４１、記憶部４２、及び通信部４３等を備えて構成される。制御部４１は、ＣＰＵ、ＲＯＭ、及びＲＡＭ等により構成される。記憶部４２は、例えば、ハードディスク等により構成される。記憶部４２には、ＯＳ及びサーバプログラム等が記憶されている。制御部４１は、ＯＳ及びサーバプログラムを実行することにより、管理サーバ４全体を制御する。サーバプログラムは、所定のサーバ装置等からダウンロードされてもよいし、記録媒体に記録されてドライブ装置を介して読み込まれるようにしてもよい。また、記憶部４２には、テクスチャデータが外観ＩＤと対応付けて記憶されている。また、記憶部４２には、フィギュアの外観としてユーザにより選択された外観の外観ＩＤがユーザＩＤと対応付けて記憶される。また、記憶部４２には、カラオケ装置２からアップロードされた動画データが、コンテンツＩＤ、楽曲ＩＤ及びユーザＩＤと対応付けて記憶される。また、記憶部４２には、カラオケ装置２からアップロードされたユーザ動作情報、ユーザ音声データ、楽曲ＩＤ及びユーザＩＤと、管理サーバ４が生成したエフェクト制御データが、コンテンツＩＤと対応付けて記憶される。
【００５４】
［３．カラオケシステムＳの動作］
次に、カラオケシステムＳの動作について説明する。図３は、カラオケ装置２の制御部２１におけるメイン処理の処理例を示すフローチャートである。メイン処理は、例えばカラオケ装置２の電源がＯＮとされたときに開始される。図３に示すように、制御部２１は、選曲装置１から楽曲再生要求を受信したか否かを判定する（ステップＳ１）。楽曲再生要求は、選曲されたカラオケ楽曲の楽曲ＩＤ、選曲したユーザのユーザＩＤ、ユーザが設定した再生速度、撮影許可情報等を含む。撮影許可情報は、ビデオカメラ３ａによる撮影が許可されているか否かを示す。制御部２１は、楽曲再生要求を受信したと判定した場合には（ステップＳ１：ＹＥＳ）、ステップＳ２に進む。一方、制御部２１は、楽曲再生要求を受信していないと判定した場合には（ステップＳ１：ＮＯ）、ステップＳ８に進む。
【００５５】
ステップＳ２において、制御部２１は、楽曲再生要求から楽曲ＩＤ、ユーザＩＤ及び再生速度を取得して記憶部２２に記憶させる。次いで、制御部２１は、楽曲再生要求に含まれる撮影許可情報が撮影が許可を示しているか否かを判定する（ステップＳ３）。このとき、制御部２１は、撮影許可情報が撮影が許可を示していないと判定した場合には（ステップＳ３：ＹＥＳ）、ステップＳ６に進む。一方、制御部２１は、撮影許可情報が撮影が許可を示していないと判定した場合には（ステップＳ３：ＮＯ）、ステップＳ４に進む。ステップＳ４において、制御部２１は、カラオケ再生・動作記録処理を実行する。カラオケ再生・動作記録処理の詳細は後述する。次いで、制御部２１は、カラオケ再生・動作記録処理により記憶部２２に記憶されたユーザ動作情報、ユーザ音声情報、楽曲再生要求から取得された楽曲ＩＤ及びユーザＩＤを対応付けて管理サーバ４へアップロードする（ステップＳ５）。次いで、制御部２１は、ステップＳ１６に進む。管理サーバ４は、受信したユーザ動作情報、ユーザ音声情報、楽曲ＩＤ及びユーザＩＤと、新たに生成したコンテンツＩＤとを対応付けて記憶部４２に記憶させる。
【００５６】
ステップＳ６において、制御部２１は、楽曲再生・撮影処理を実行する。楽曲再生・撮影処理において、制御部２１は、楽曲再生要求から取得された楽曲ＩＤが示すカラオケ楽曲を再生する。また、制御部２１は、ビデオカメラ３ａへ撮影指令を送信することにより、ビデオカメラ３ａによる撮影を実行させる。そして、制御部２１は、ビデオカメラ３ａから動画データを受信して記憶部２２に記憶させる。楽曲再生・撮影処理は公知であるため、詳細な説明は省略する。次いで、制御部２１は、楽曲再生・撮影処理で記憶部２２に記憶された動画データ、楽曲再生要求から取得された楽曲ＩＤ及びユーザＩＤを対応付けて管理サーバ４へアップロードする（ステップＳ７）。次いで、制御部２１は、ステップＳ１６に進む。管理サーバ４は、受信した動画データ、楽曲ＩＤ及びユーザＩＤと、新たに生成したコンテンツＩＤとを対応付けて記憶部４２に記憶させる。
【００５７】
ステップＳ８において、制御部２１は、選曲装置１から楽曲・映像再生要求を受信したか否かを判定する。選曲装置１でユーザが、撮影された動画を選択した場合、楽曲・映像再生要求は、選択された動画のコンテンツＩＤを含む。ユーザが、動作映像を選択した場合、楽曲・映像再生要求は、選択された動作映像のコンテンツＩＤを含む。また、楽曲・映像再生要求は、選択したユーザのユーザＩＤ、ユーザが設定した再生速度等を含む。制御部２１は、楽曲・映像再生要求を受信したと判定した場合には（ステップＳ８：ＹＥＳ）、ステップＳ９に進む。一方、制御部２１は、楽曲再生要求を受信していないと判定した場合には（ステップＳ８：ＮＯ）、ステップＳ１４に進む。
【００５８】
ステップＳ９において、制御部２１は、楽曲・映像再生要求からユーザＩＤ、再生速度及びコンテンツＩＤを取得して記憶部２２に記憶させる。次いで、制御部２１は、カラオケ楽曲の再生及び映像の再生に必要なデータを管理サーバ４から取得する（ステップＳ１０）。具体的に、制御部２１は、楽曲・映像再生要求から取得したコンテンツＩＤを含むデータ要求を送信する。管理サーバ４は、受信したデータ要求に含まれるコンテンツＩＤに対応するユーザ動作情報又は動画データを記憶部４２から検索する。ユーザ動作情報が検索された場合、管理サーバ４は、コンテンツＩＤに対応するユーザ動作情報、エフェクト制御データ、ユーザＩＤ及び楽曲ＩＤを記憶部４２から取得する。また、管理サーバ４は、取得したユーザＩＤに対応する外観ＩＤを記憶部４２から取得する。また、管理サーバ４は、取得した外観ＩＤに対応するテクスチャデータを記憶部４２から取得する。そして、管理サーバ４は、ユーザ動作情報、エフェクト制御データ、楽曲ＩＤ及びテクスチャデータをカラオケ装置２へ送信する。動画データが検索された場合、管理サーバ４は、コンテンツＩＤに対応する動画データ及び楽曲ＩＤを記憶部４２から取得する。そして、管理サーバ４は、取得したデータをカラオケ装置２へ送信する。制御部２１は、管理サーバ４から受信したデータを記憶部２２に記憶させる。なお、エフェクト制御データ及びテクスチャデータは、カラオケ装置２の記憶部２２に予め記憶されていてもよい。この場合、カラオケ装置２は、管理サーバ４からエフェクト制御データ及びテクスチャデータを取得しなくてもよい。
【００５９】
次いで、制御部２１は、管理サーバ４からユーザ動作情報を受信したか否かを判定する（ステップＳ１１）。このとき、制御部２１は、ユーザ動作情報を受信したと判定した場合には（ステップＳ１１：ＹＥＳ）、ステップＳ１２に進む。ステップＳ１２において、制御部２１は、楽曲・動作映像再生処理を実行する。楽曲・動作映像再生処理の詳細は後述する。次いで、制御部２１は、ステップＳ１６に進む。一方、制御部２１は、ユーザ動作情報を受信しなかったと判定した場合には（ステップＳ１１：ＮＯ）、ステップＳ１３に進む。ステップＳ１３において、制御部２１は、楽曲・撮影映像再生処理を実行する。楽曲・撮影映像再生処理において、制御部２１は、管理サーバ４から受信した楽曲ＩＤが示すカラオケ楽曲を再生する。また、管理サーバ４から受信した動画データを再生する。楽曲・撮影映像再生処理は公知であるので、詳細な説明は省略する。次いで、制御部２１は、ステップＳ１６に進む。
【００６０】
ステップＳ１４において、制御部２１は、選曲装置１からログイン要求を受信したか否かを判定する。ログイン要求は、カラオケサービスへのログインの要求を示す。ログイン要求は、ユーザにより入力されたユーザＩＤ、パスワード等を含む。制御部２１は、ログイン要求を受信したと判定した場合には（ステップＳ１４：ＹＥＳ）、ステップＳ１５に進む。ステップＳ１５において、制御部２１は、ログインに必要な処理を実行する。この処理は公知であるため、詳細な説明は省略する。制御部２１は、ログインが成功すると、ログイン要求に含まれるユーザＩＤを記憶部２２に記憶させる。次いで、制御部２１は、ステップＳ１６に進む。一方、制御部２１は、ログイン要求を受信していないと判定した場合には（ステップＳ１４：ＮＯ）、ステップＳ１６に進む。
【００６１】
ステップＳ１６において、制御部２１は、操作部２９ａの操作により電源ＯＦＦが要求されたか否かを判定する。このとき、制御部２１は、電源ＯＦＦが要求されていないと判定した場合には（ステップＳ１６：ＮＯ）、ステップＳ１に進む。一方、制御部２１は、電源ＯＦＦが要求されたと判定した場合には（ステップＳ１６：ＹＥＳ）、メイン処理を終了させる。
【００６２】
図４は、カラオケ装置２の制御部２１における楽曲再生・動作記録処理の処理例を示すフローチャートである。図４に示すように、制御部２１は、楽曲再生・動作記録処理と並行して、記録処理の実行を開始させる（ステップＳ２１）。記録処理において、制御部２１は、距離画像カメラ３ｂへ撮影指令を送信することにより、距離画像カメラ３ｂによる距離画像の撮影を開始させる。また、制御部２１は、関節座標データ及び録音データを記憶部２２に記憶させる。記録処理の詳細は後述する。次いで、制御部２１は、カラオケ楽曲の再生処理を開始をミュージックシーケンサに指示する（ステップＳ２２）。カラオケ楽曲の再生処理において、制御部２１は、楽曲再生要求から取得された楽曲ＩＤに対応する楽曲データに基づいて、カラオケ楽曲を再生する。このとき、制御部２１は、楽曲再生要求から取得された再生速度に従って、カラオケ楽曲を再生する。カラオケ楽曲の再生中に再生速度が変更された場合、制御部２１は、変更後の再生速度に従って、カラオケ楽曲を再生する。
【００６３】
制御部２１は、カラオケ楽曲の再生処理を指示すると、実際にカラオケ楽曲の再生処理が開始されるまで待機する（ステップＳ２３）。例えば、制御部２１は、ミュージックシーケンサから最初のＭＩＤＩクロックが出力されるまで待機する。次いで、制御部２１は、動作記録時間及び音声記録時間を０にリセットして記憶部２２に記憶させる（ステップＳ２４）。また、制御部２１は、楽曲再生要求から取得された再生速度を、楽曲データに含まれる基準再生速度で除算することにより、記録時間倍率を計算する。また、制御部２１は、時計機能から現在時刻を取得する。そして、制御部２１は、取得した時刻を、再生開始時刻としてＲＡＭに記憶させる。
【００６４】
次いで、制御部２１は、ユーザにより再生速度の変更操作がされたか否かを判定する（ステップＳ２５）。ユーザが再生速度の変更操作をすると、選曲装置１は再生速度変更要求をカラオケ装置２へ送信する。再生速度変更要求は、変更後の再生速度を含む。制御部２１は、再生速度変更要求を受信した場合には、再生速度の変更操作がされたと判定する（ステップＳ２５：ＹＥＳ）。この場合、制御部２１は、ステップＳ２６に進む。ステップＳ２６において、制御部２１は、記録時間倍率を変更する。具体的に、制御部２１は、再生速度変更要求に含まれる変更後の再生速度を基準再生速度で除算することにより、記録時間倍率を計算する。次いで、制御部２１は、ステップＳ２７に進む。一方、制御部２１は、再生速度変更要求を受信していない場合には、再生速度の変更操作がされていないと判定する（ステップＳ２５：ＮＯ）。この場合、制御部２１は、ステップＳ２７に進む。
【００６５】
ステップＳ２７において、制御部２１は、ミュージックシーケンサから楽曲終了通知イベントが出力されたか否かを判定する。このとき、制御部２１は、楽曲終了通知イベントが出力されていないと判定した場合には（ステップＳ２７：ＮＯ）、ステップＳ２５に進む。一方、制御部２１は、楽曲終了通知イベントが出力されたと判定した場合には（ステップＳ２７：ＹＥＳ）、楽曲再生・動作記録処理を終了させる。
【００６６】
図５（Ａ）は、カラオケ装置２の制御部２１における記録処理の処理例を示すフローチャートである。図５（Ａ）に示すように、制御部２１は、距離画像カメラ３ｂから距離画像データを受信したか否かを判定する（ステップＳ３１）。このとき、制御部２１は、距離画像データを受信していないと判定した場合には（ステップＳ３１：ＮＯ）、ステップＳ３５に進む。一方、制御部２１は、距離画像データを受信したと判定した場合には（ステップＳ３１：ＹＥＳ）、ステップＳ３２に進む。ステップＳ３２において、制御部２１は、動作記録時間を決定する。具体的に、制御部２１は、時計機能から現在時刻を取得する。次いで、制御部２１は、現在時刻から前回距離画像データを受信したときの時刻を減算することにより、実経過時間を計算する。次いで、制御部２１は、実経過時間に記録時間倍率を掛けることにより、記録経過時間を計算する。次いで、制御部２１は、記憶部２２に記憶されている動作記録時間に記録経過時間を加算することにより、現在の動作記録時間を計算する。そして、制御部２１は、記憶部２２に記憶されている動作記録時間を、計算した動作記録時間で書き換える。次いで、制御部２１は、受信した距離画像データと記憶部２２に記憶されている推測モデルの情報に基づいて、各関節の関節三次元座標を取得する（ステップＳ３３）。次いで、制御部２１は、関節三次元座標と計算した動作記録時間とを対応付けて関節座標データとして記憶部２２に記憶させる（ステップＳ３４）。次いで、制御部２１は、ステップＳ３５に進む。
【００６７】
ステップＳ３５において、制御部２１は、マイク制御部２６から音声のサンプルデータを受信したか否かを判定する。このとき、制御部２１は、サンプルデータを受信していないと判定した場合には（ステップＳ３５：ＮＯ）、ステップＳ３８に進む。一方、制御部２１は、距離画像データを受信したと判定した場合には（ステップＳ３５：ＹＥＳ）、ステップＳ３６に進む。ステップＳ３６において、制御部２１は、音声記録時間を決定する。具体的に、制御部２１は、時計機能から現在時刻を取得する。次いで、制御部２１は、現在時刻から前回距サンプルデータを受信したときの時刻を減算することにより、実経過時間を計算する。次いで、制御部２１は、実経過時間に記録時間倍率を掛けることにより、記録経過時間を計算する。次いで、制御部２１は、記憶部２２に記憶されている音声記録時間に記録経過時間を加算することにより、現在の音声記録時間を計算する。そして、制御部２１は、記憶部２２に記憶されている音声記録時間を、計算した音声記録時間で書き換える。次いで、制御部２１は、サンプルデータと計算した音声記録時間とを対応付けて録音データとして記憶部２２に記憶させる（ステップＳ３７）。次いで、制御部２１は、ステップＳ３８に進む。
【００６８】
ステップＳ３８において、制御部２１は、ミュージックシーケンサから楽曲終了通知イベントが出力されたか否かを判定する。このとき、制御部２１は、楽曲終了通知イベントが出力されていないと判定した場合には（ステップＳ３８：ＮＯ）、ステップＳ３１に進む。一方、制御部２１は、楽曲終了通知イベントが出力されたと判定した場合には（ステップＳ３８：ＹＥＳ）、楽曲再生・動作記録処理を終了させる。
【００６９】
図５（Ｂ）は、管理サーバ４の制御部４１におけるエフェクト制御データ生成処理の処理例を示すフローチャートである。エフェクト制御データ生成処理は、例えば、管理サーバ４がカラオケ装置２から受信したユーザ音声情報をコンテンツＩＤに対応付けて記憶部４２に記憶させたときに開始される。制御部４１は、ユーザ音声情報に含まれるユーザ音声情報を、音声記録時間が早い順に並べ替える。また、制御部４１は、順番Ｎを１に設定する。図５（Ｂ）に示すように、制御部４１は、ユーザ音声情報からＮ番目の録音データを取得する（ステップＳ４１）。次いで、制御部２１は、録音データに含まれるサンプルデータが示す音量が、記憶部４２に記憶されている閾値より大きいか否かを判定する（ステップＳ４２）。このとき、制御部４１は、音量が閾値より大きくはないと判定した場合には（ステップＳ４２：ＮＯ）、ステップＳ４４に進む。一方、制御部４１は、音量が閾値より大きいと判定した場合には（ステップＳ４２：ＹＥＳ）、ステップＳ４３に進む。ステップＳ４３において、制御部４１は、エフェクト制御データを生成する。具体的に、制御部２１は、取得した録音データに含まれる音声記録時間を開始時間に決定する。次いで、制御部４１は、順番Ｎに１を加算する。次いで、制御部４１は、ユーザ音声情報からＮ番目の録音データを取得する。そして、制御部４１は、取得した録音データに含まれるサンプルデータが示す音量が閾値より大きいか否かを判定する。音量が閾値より大きいと判定した場合、制御部４１は、順番Ｎに１を加算してＮ番目の録音データを取得し、録音データに含まれるサンプルデータが示す音量が閾値より大きいか否かを判定する。制御部４１は、音量が閾値より大きくはないと判定するまでこの処理を実行する。音量が閾値より大きくはないと判定した場合、制御部４１は、最後に取得した録音データに含まれる音声記録時間を、エフェクトの終了時間として決定する。次いで、制御部４１は、開始時間から終了時間を減算することにより、持続時間を計算する。また、制御部２１は、例えば、歌詞の拡大表示を示すエフェクト内容を決定する。制御部４１は、開始時間、持続時間及びエフェクト内容を含むエフェクト制御データを、コンテンツＩＤに対応付けて記憶部４２に記憶させる。次いで、制御部４１は、ステップＳ４４に進む。ステップＳ４４において、制御部４１は、順番Ｎに１を加算する。次いで、制御部４１は、ユーザ音声情報の中にＮ番目の録音データがあるか否かを判定する。このとき、制御部４１は、録音データがあると判定した場合には（ステップＳ４４：ＹＥＳ）、ステップＳ４１に進む。一方、制御部４１は、録音データがないと判定した場合には（ステップＳ４４：ＮＯ）、エフェクト制御データ生成処理を終了させる。
【００７０】
図６は、カラオケ装置２の制御部２１における楽曲・動作映像再生処理の処理例を示すフローチャートである。図６に示すように、制御部２１は、楽曲・映像再生リクエストから取得された再生速度をミュージックシーケンサに出力する。これにより、ミュージックシーケンサは、再生速度に応じた時間間隔で、ＭＩＤＩクロックを出力する。また、制御部２１は、三次元仮想空間の所定の位置に所定の姿勢をとったフィギュアの動作映像を生成する。そして、制御部２１は、生成した動作映像をディスプレイに表示させる（ステップＳ５１）。次いで、制御部２１は、選曲装置１から終了要求を受信したか否かを判定する（ステップＳ５２）。カラオケ楽曲の再生の途中でユーザが再生を終了させる操作を行ったとき、選曲装置１はカラオケ装置２へ終了要求を送信する。制御部２１は、終了要求を受信していないと判定した場合には（ステップＳ５２：ＮＯ）、ステップＳ５３に進む。ステップＳ５３において、制御部２１は、ミュージックシーケンサから出力されたＭＩＤＩクロックを取得する。次いで、制御部２１は、ＭＩＤＩクロックに基づいて、現在の楽曲再生時間を計算する（ステップＳ５４）。具体的に、制御部２１は、予め定められた１拍当たりのＭＩＤＩクロックの数を記憶部２２から取得する。次いで、制御部２１は、楽曲データに含まれる基準再生速度に、取得したＭＩＤＩクロックの数を乗算することにより、基準再生速度における１秒当たりのＭＩＤＩクロックの数を計算する。次いで、制御部２１は、基準再生速度における１秒当たりのＭＩＤＩクロックの数の逆数を、ＭＩＤＩクロックの出力間隔として計算する。そして、制御部２１は、カラオケ楽曲の再生開始から出力されたＭＩＤＩクロックの数に出力間隔を乗算することにより、楽曲再生時間を計算する。
【００７１】
次いで、制御部２１は、管理サーバ４から受信したユーザ動作情報から、計算した現在の楽曲再生時間に対応する動作記録時間を含む関節座標データを読み出す（ステップＳ５５）。次いで、制御部２１は、管理サーバ４から受信したエフェクト制御データのうち、計算した現在の楽曲再生時間に対応する開始時間を含むエフェクト制御データを読み出す（ステップＳ５６）。次いで、制御部２１は、楽曲データから、計算した現在の楽曲再生時間に対応するイベントを読み出す（ステップＳ５７）。次いで、制御部２１は、ステップＳ５７において楽曲データの終端が検出されたか否かを判定する（ステップＳ５８）。このとき、制御部２１は、楽曲データの終端が検出されていないと判定した場合には（ステップＳ５８：ＮＯ）、ステップＳ５９に進む。
【００７２】
ステップＳ５９において、制御部２１は、ステップＳ５７において現在の楽曲再生時間に対応するＭＩＤＩイベントがあったか否かを判定する。このとき、制御部２１は、ＭＩＤＩイベントがあったと判定した場合には（ステップＳ５９：ＹＥＳ）、ステップＳ６０に進む。ステップＳ６０において、制御部２１は、読み出したＭＩＤＩイベントをシンセサイザ２７へ出力する。次いで、制御部２１は、ステップＳ６１に進む。一方、制御部２１は、ＭＩＤＩイベントがなかったと判定した場合には（ステップＳ５９：ＮＯ）、ステップＳ６１に進む。  
【００７３】
ステップＳ６１において、制御部２１は、ステップＳ５５において現在の楽曲再生時間に対応する関節座標データがあったか否かを判定する。このとき、制御部２１は、関節座標データがあったと判定した場合には（ステップＳ６１：ＹＥＳ）、ステップＳ６２に進む。ステップＳ６２において、制御部２１は、読み出した関節座標データを３Ｄエンジンへ出力して、フィギュアの姿勢の制御を指示する。３Ｄエンジンを実行する制御部２１は、関節座標データに含まれる各関節三次元座標が示す姿勢をとったフィギュアの静止画像を生成する。このとき、制御部２１は、管理サーバ４から受信したテクスチャデータを用いて、テクスチャマッピングを実行する。これにより、制御部２１は、テクスチャデータが示す外観が与えられたフィギュアの静止画像を生成する。そして、制御部２１は、生成した静止画像の映像信号をビデオＲＡＭ２３へ出力する。これにより、ディスプレイに動作映像が表示される。次いで、制御部２１は、ステップＳ６３に進む。一方、制御部２１は、関節座標データがなかったと判定した場合には（ステップＳ６１：ＮＯ）、ステップＳ６３に進む。  
【００７４】
ステップＳ６３において、制御部２１は、ユーザにより再生速度の変更操作がされたか否かを判定する。このとき、制御部２１は、再生速度の変更操作がされたと判定した場合には（ステップＳ６３：ＹＥＳ）、ステップＳ６４に進む。ステップＳ６４において、制御部２１は、記憶部２１に記憶されている再生時間を、再生速度変更要求に含まれる変更後の再生速度に変更する。また、制御部２１は、変更後の再生速度をミュージックシーケンサに出力する。これにより、ミュージックシーケンサは、変更後の再生速度に応じた時間間隔で、ＭＩＤＩクロックを出力する。次いで、制御部２１は、ステップＳ６５に進む。一方、制御部２１は、再生速度の変更操作がされていないと判定した場合には（ステップＳ６３：ＮＯ）、ステップＳ６５に進む。
【００７５】
ステップＳ６５において、制御部２１は、ステップＳ５５において現在の楽曲再生時間に対応するエフェクト制御データがあったか否かを判定する。このとき、制御部２１は、エフェクト制御データがあったと判定した場合には（ステップＳ６５：ＹＥＳ）、ステップＳ６６に進む。ステップＳ６６において、制御部２１は、読み出したエフェクト制御データを３Ｄエンジンへ出力して、エフェクトの制御を指示する。３Ｄエンジンを実行する制御部２１は、ステップＳ５６で今までに読み出した歌詞イベントのうち、最後に読み出した歌詞イベントを特定する。次いで、制御部２１は、特定した歌詞イベントに含まれる歌詞にエフェクトを付与する処理を実行する。例えば、エフェクト制御データに含まれるエフェクト内容が歌詞の拡大表示を示す場合、制御部２１は、歌詞イベントに含まれる歌詞を拡大表示する静止画を生成する。そして、制御部２１は、フィギュアの動作映像の静止画と歌詞を拡大表示する静止画とを合成する。そして、制御部２１は、合成した静止画の映像信号をビデオＲＡＭ２３へ出力する。映像再生部２４は、ビデオＲＡＭ２３に記憶された映像信号を再生する。映像制御部２５は、再生された映像信号をディスプレイに出力する。これにより、ディスプレイに動画映像が表示されると共に、歌詞が拡大表示される。次いで、制御部２１は、ステップＳ５２に進む。制御部２１は、現在の楽曲再生時間にエフェクト制御データに含まれる持続時間を加算することにより、エフェクトの終了時間を計算する。そして、制御部２１は、楽曲再生時間がエフェクトの終了時間になるまで、エフェクトを付与する処理を継続する。一方、制御部２１は、エフェクト制御データがなかったと判定した場合には（ステップＳ６５：ＮＯ）、ステップＳ５２に進む。
【００７６】
制御部２１は、ステップＳ５２において終了要求を受信したと判定した場合（ステップＳ５２：ＹＥＳ）、又は、ステップＳ５８において楽曲データの終端が検出されたと判定した場合には（ステップＳ５８：ＹＥＳ）、楽曲・動作映像再生処理を終了させる。
【００７７】
以上説明したように、本実施形態によれば、楽曲再生・動作記録処理において、カラオケ装置２の制御部２１が、設定された再生速度に従ってカラオケ楽曲をスピーカにより出力させる。このとき、制御部２１が、距離画像カメラ３ｂにより検出されたユーザの動きを示す関節三次元座標を取得する。また、制御部２１が、基準再生速度と設定された再生速度に基づいて、動作記録時間を決定する。また、制御部２１が、関節三次元座標と動作記録時間を対応付けて関節座標データとして記憶部２２に記憶させる。また、制御部２１が、記憶された関節座標データ及び楽曲ＩＤを管理サーバ４へ送信する。楽曲・動作映像再生処理において、制御部２１が、管理サーバ４から、関節座標データ及び楽曲ＩＤを受信する。また、制御部２１が、設定された再生速度に従って、受信した楽曲ＩＤが示すカラオケ楽曲をスピーカにより出力させる。このとき、制御部２１は、設定された再生速度と関節座標データに含まれる動作時間とに従って、関節座標データに含まれる関節三次元座標が示す動作が行われる映像をディスプレイに表示させる。従って、楽曲の再生速度が変更された場合であっても、動作を示す映像と楽曲とを適切に同期させることができる。
【００７８】
なお、本実施形態においては、カラオケのシステムに本発明が適用されていた。しかしながら、カラオケのシステムと異なるシステムに本発明が適用されてもよい。例えば、ユーザの運動を支援するシステムに、本発明が適用されてもよい。運動を支援するシステムにおいて、ユーザは、複数の運動動作で構成されるレッスンを受ける。このシステムの場合、本発明の情報処理装置は、運動コンテンツを出力するための出力端末に適用される。出力端末のハードウェア構成は、カラオケ装置２のハードウェア構成と同様であってもよい。運動コンテンツは、レッスンごとに存在する。運動コンテンツは、運動映像と楽曲とを含む。運動映像は、三次元仮想空間に配置されたフィギュアが複数の運動動作を行う姿を映し出した動画である。例えば、楽曲を構成する演奏パートごとに予め運動動作が割り当てられている。演奏パートに割り当てられる運動動作は、例えば、演奏パートに対応する踊りの動作であってもよいし、健康の増進、体力の増強、筋力の強化等のための体操の動作であってもよい。楽曲は、例えば複数の演奏パートにより構成される。レッスンを受けるとき、ユーザは、例えば出力端末等を操作して所望のレッスンを選択してもよい。出力端末は、選択されたレッスンに対応する楽曲をスピーカにより出力させる。また、出力端末は、楽曲の出力と同期して、選択されたレッスンに対応する複数の運動動作が行われる運動映像をディスプレイに表示させる。なお、出力端末５は、運動映像ではなく、例えば楽曲に対応したプロモーションビデオ等の映像をディスプレイに表示させてもよい。ユーザは、スピーカから出力される楽曲に合わせて、ディスプレイに表示された映像を見ながら運動動作を行う。このときに、出力端末は、楽曲再生・動作記録処理を実行する。このときの処理内容は、カラオケのシステムの場合と同様であってもよい。これにより、出力端末は、距離画像カメラにより距離画像を撮影させて、関節座標データを記憶する。また、出力端末は、カラオケシステムの場合と同様に、ユーザ動作情報のアップロード、ユーザ動作情報のダウンロード、楽曲・動作映像再生処理等を実行してもよい。
【符号の説明】
【００７９】
１  選曲装置
２  カラオケ装置
３ｂ  距離画像カメラ
４  管理サーバ
Ｓ  カラオケシステム
【図１】
0005935775.tif 000002
【図２】
0005935775.tif 000003
【図３】
0005935775.tif 000004
【図４】
0005935775.tif 000005
【図５】
0005935775.tif 000006
【図６】
0005935775.tif 000007