(57)【要約】【課題】映像コンテンツを同期させる楽曲の開始から終了までの音楽データが入力されていなくても、大規模な動きデータベースを利用して楽曲に合わせた映像コンテンツを生成することができる。【解決手段】モーショングラフの各ノードにおいて楽曲との同期可能性を示すメタデータを算出するメタデータ構築装置１０と、映像コンテンツ生成対象楽曲の音楽データが再生順に所定量ずつ入力され、入力された音楽データから音楽特徴量を取得する音楽解析部２２と、モーショングラフ上で、所定量の音楽データの音楽特徴量に対応する動き特徴量を有するノード群の中で該ノード群の最終ノードが一定の同期可能性を有するノード群を連結できるパスとして探索する最適パス探索部２４と、探索したパスに応じた動きデータと音楽データとを対応付ける同期情報を生成する同期部２５と、同期情報に基づいて映像データを生成する映像データ生成部２７とを備える。【選択図】図１
2011204113.tif 000002
【特許請求の範囲】
【請求項１】
映像コンテンツに適用可能なモーションキャプチャデータから抽出した特徴量に基づいて、ノード、エッジおよびエッジの重みを含むモーショングラフを構築するモーショングラフ構築部と、
前記モーショングラフの各ノードにおいて楽曲との同期可能性を示すメタデータを算出するメタデータ構築部と、
映像コンテンツ生成対象楽曲の音楽データが再生順に所定量ずつ入力され、入力された当該所定量の音楽データから音楽特徴量を取得する音楽解析部と、
前記モーショングラフ上で、前記所定量の音楽データの音楽特徴量に対応する動き特徴量を有するノード群の中で該ノード群の最終ノードが一定の同期可能性を有するノード群を連結できるパスとして探索する最適パス探索部と、
前記最適パス探索部が探索した前記パスに応じた前記動きデータと前記所定量の音楽データとを対応付ける同期情報を生成する同期部と、
前記同期情報に基づいて、前記所定量の音楽データとともに再生される映像データを生成する映像データ生成部と、
を備えたことを特徴とする映像コンテンツ生成システム。
【請求項２】
前記メタデータ構築部は、
前記映像コンテンツに適用可能なモーションキャプチャデータから抽出した特徴量のうち同じ動き特徴量を有するフレームのノードと当該ノードの連結性を示すエッジとから構成されるモーショングラフに含まれるノード毎に、当該ノードの後に連結することができるノード数に応じたウェートを算出するウェート算出手段を有する
ことを特徴とする請求項１に記載の映像コンテンツ生成システム。
【請求項３】
前記ウェート算出手段は、前記ノードの後に連結することができるノード数がゼロになるノードと、前記ノードの後に連結することができるノード数が無限大になるノードとを算出し、上記二種のノードから他のノードのウェートを推定する
ことを特徴とする請求項２に記載の映像コンテンツ生成システム。
【請求項４】
前記最適パス探索部は、前記モーショングラフ上で、前記所定量の音楽データの音楽特徴量に対応する動き特徴量を有するノード群を連結するパスであって、最後のノードのウェートが一定量以上であるパスを探索する
ことを特徴とする請求項１から請求項３のいずれか１項に記載の映像コンテンツ生成システム。
【請求項５】
前記最適パス探索部は、前記モーショングラフ上で、前記所定量の音楽データの音楽特徴量に対応する動き特徴量を有するノード群を連結するパスであって、頭の一部のパスのみを決定する
ことを特徴とする請求項１から請求項３のいずれか１項に記載の映像コンテンツ生成システム。
【請求項６】
前記音楽解析部は、前記最適パス探索部の計算時間と音楽のデータレートによって、音楽データの所定量を決定する
ことを特徴とする請求項１から請求項５のいずれか１項に記載の映像コンテンツ生成システム。
【請求項７】
入力された映像コンテンツ生成対象楽曲の音楽データを記憶する記憶部
を備え、
前記音楽解析部は、次処理で用いる前記音楽データの所定量を、前記記憶部の最大記憶容量またはユーザによる記憶量の指定のうち少ない方のデータ量であって、今回の処理で前記映像データ生成部が生成した映像データの再生時間内に処理可能なデータ量とする
ことを特徴とする請求項６に記載の映像コンテンツ生成システム。
【請求項８】
映像コンテンツに適用可能なモーションキャプチャデータから抽出した特徴量のうち同じ動き特徴量を有するフレームのノードと当該ノードの連結性を示すエッジとから構成されるモーショングラフに含まれるノード毎に、当該ノードの後に連結することができるノード数に応じたウェートを算出するウェート算出手段
を有することを特徴とするメタデータ構築装置。
【請求項９】
前記ウェート算出手段は、前記ノードの後に連結することができるノード数がゼロになるノードと、前記ノードの後に連結することができるノード数が無限大になるノードとを算出し、上記二種のノードから他のノードのウェートを推定する
ことを特徴とする請求項８に記載のメタデータ構築装置。
【請求項１０】
映像コンテンツに適用可能なモーションキャプチャデータから抽出した特徴量のうち同じ動き特徴量を有するフレームのノードと当該ノードの連結性を示すエッジとから構成されるモーショングラフと、前記モーショングラフに含まれるノード毎に、当該ノードの後に連結することができるノード数に応じたウェートとを取得する取得部と、
映像コンテンツ生成対象楽曲の音楽データが再生順に所定量ずつ入力され、入力された当該所定量の音楽データから音楽特徴量を取得する音楽解析部と、
前記モーショングラフ上で、前記ウェートに基づいて前記所定量の音楽データの音楽特徴量に対応する動き特徴量を有するノード群を連結するパスを探索する最適パス探索部と、
前記最適パス探索部が探索した前記パスに応じた前記動きデータと前記所定量の音楽データとを対応付ける同期情報を生成する同期部と、
前記同期情報に基づいて、前記所定量の音楽データとともに再生される映像データを生成する映像データ生成部と、
を備えたことを特徴とする映像コンテンツ生成装置。
【請求項１１】
前記最適パス探索部は、前記モーショングラフ上で、前記所定量の音楽データの音楽特徴量に対応する動き特徴量を有するノード群を連結するパスであって、最後のノードのウェートが一定量以上であるパスを探索する
ことを特徴とする請求項１０に記載の映像コンテンツ生成装置。
【請求項１２】
前記最適パス探索部は、前記モーショングラフ上で、前記所定量の音楽データの音楽特徴量に対応する動き特徴量を有するノード群を連結するパスであって、頭の一部のパスのみを決定する
ことを特徴とする請求項１０に記載の映像コンテンツ生成装置。
【請求項１３】
前記音楽解析部は、前記最適パス探索部の計算時間と音楽のデータレートによって、音楽データの所定量を決定する
ことを特徴とする請求項１０から請求項１２のいずれか１項に記載の映像コンテンツ生成装置。
【請求項１４】
入力された映像コンテンツ生成対象楽曲の音楽データを記憶する記憶部
を備え、
前記音楽解析部は、次処理で用いる前記音楽データの所定量を、前記記憶部の最大記憶容量またはユーザによる記憶量の指定のうち少ない方のデータ量であって、今回の処理で前記映像データ生成部が生成した映像データの再生時間内に処理可能なデータ量とする
ことを特徴とする請求項１３に記載の映像コンテンツ生成装置。
【請求項１５】
映像コンテンツに適用可能なモーションキャプチャデータから抽出した特徴量に基づいて、ノード、エッジおよびエッジの重みを含むモーショングラフを構築するモーショングラフ構築部と、
前記モーショングラフの各ノードにおいて楽曲との同期可能性を示すメタデータを算出するメタデータ構築部と、
映像コンテンツ生成対象楽曲の音楽データが再生順に所定量ずつ入力され、入力された当該所定量の音楽データから音楽特徴量を取得する音楽解析部と、
前記モーショングラフ上で、前記所定量の音楽データの音楽特徴量に対応する動き特徴量を有するノード群の中で該ノード群の最終ノードが一定の同期可能性を有するノード群を連結できるパスとして探索する最適パス探索部と、
前記最適パス探索部が探索した前記パスに応じた前記動きデータと前記所定量の音楽データとを対応付ける同期情報を生成する同期部と、
前記同期情報に基づいて、前記所定量の音楽データとともに再生される映像データを生成する映像データ生成部と、
を備えたことを特徴とする携帯端末。
【請求項１６】
映像コンテンツに適用可能なモーションキャプチャデータから抽出した特徴量に基づいて、ノード、エッジおよびエッジの重みを含むモーショングラフを構築するモーショングラフ構築部と、
前記モーショングラフの各ノードにおいて楽曲との同期可能性を示すメタデータを算出するメタデータ構築部と、
映像コンテンツ生成対象楽曲の音楽データが再生順に所定量ずつ入力され、入力された当該所定量の音楽データから音楽特徴量を取得する音楽解析部と、
前記モーショングラフ上で、前記所定量の音楽データの音楽特徴量に対応する動き特徴量を有するノード群の中で該ノード群の最終ノードが一定の同期可能性を有するノード群を連結できるパスとして探索する最適パス探索部と、
前記最適パス探索部が探索した前記パスに応じた前記動きデータと前記所定量の音楽データとを対応付ける同期情報を生成する同期部と、
前記同期情報に基づいて、前記所定量の音楽データとともに再生される映像データを生成する映像データ生成部と、
前記所定量の音楽データと、当該所定量の音楽データとともに再生される映像データとを配信する配信部と、
を備えたことを特徴とする映像コンテンツ配信装置。
【請求項１７】
映像コンテンツに適用可能なモーションキャプチャデータから抽出した特徴量のうち同じ動き特徴量を有するフレームのノードと当該ノードの連結性を示すエッジとから構成されるモーショングラフに含まれるノード毎に、当該ノードの後に連結することができるノード数に応じたウェートを算出するウェート算出ステップ
をコンピュータに実行させるためのコンピュータプログラム。
【請求項１８】
映像コンテンツに適用可能なモーションキャプチャデータから抽出した特徴量のうち同じ動き特徴量を有するフレームのノードと当該ノードの連結性を示すエッジとから構成されるモーショングラフと、前記モーショングラフに含まれるノード毎に、当該ノードの後に連結することができるノード数に応じたウェートとを取得する取得ステップと、
映像コンテンツ生成対象楽曲の音楽データが再生順に所定量ずつ入力され、入力された当該所定量の音楽データから音楽特徴量を取得する音楽解析ステップと、
前記モーショングラフ上で、前記ウェートに基づいて前記所定量の音楽データの音楽特徴量に対応する動き特徴量を有するノード群を連結するパスを探索する最適パス探索ステップと、
前記最適パス探索ステップで探索した前記パスに応じた前記動きデータと前記所定量の音楽データとを対応付ける同期情報を生成する同期ステップと、
前記同期情報に基づいて、前記所定量の音楽データとともに再生される映像データを生成する映像データ生成ステップと、
をコンピュータに実行させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、映像コンテンツ生成システム、メタデータ構築装置、映像コンテンツ生成装置、携帯端末、映像コンテンツ配信装置及びコンピュータプログラムに関する。
【背景技術】
【０００２】
近年、音楽に合わせてコンピュータ・グラフィックス（ＣＧ）オブジェクトを表示させる技術として、例えば、演奏家が音楽を演奏すると、音楽との所定のマッピングのパタンに従って、ＣＧモデルが動くようになる技術が提案されている。
【０００３】
特許文献１では、ＣＧオブジェクトの時系列に対して、音楽データの静的属性または動的属性をもとにして描画情報（視点情報、光源情報）を再設定する。そして、音楽データをＣＧオブジェクト表示と同期して再生している。又、特許文献２に記載のモーション作成装置では、複数のモーションにおいて人体姿勢が類似する２つのフレーム間を連結した有向性グラフとしてモーションデータベースを構築し、その複数のモーションの中から、音楽データから取得したビート特徴成分と相関を有する動き特徴成分をもつモーションを選択している。また、非特許文献１に記載の技術では、事前に独自なデータ構造を生成し、音楽を入力すると、Dynamic Programming（動的計画法）でより高速な同期ができる。
【０００４】
音楽解析手法としては、非特許文献２に記載の技術が知られている。非特許文献２の技術によれば、発音成分、コードの変化、打楽器の発音時刻などを推定してビート間隔及びビート構造を取得している。動き解析手法としては、非特許文献３に記載の技術が知られている。非特許文献３の技術によれば、動きビートの変化や発生時刻を推定してビート間隔及びビート構造を取得している。
非特許文献４には、モーショングラフ（Motion Graphs）を用いて新たな動きデータを生成する技術が開示されている。
非特許文献５には、パス探索技術として、ある始点からダイナミックプログラミング（dynamic programming）で最適なパスを探索する技術が開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００５−５６１０１号公報
【特許文献２】特開２００７−１８３８８号公報
【非特許文献】
【０００６】
【非特許文献１】徐建鋒、高木幸一、米山暁夫、“動きのビート・盛り上がり情報に基づく音楽に同期したダンス生成手法”、2009年度映像メディア処理シンポジウム (IMPS)、I-04-01,2009年10月7日
【非特許文献２】M.Goto，“An Audio-based Real-time Beat Tracking System for Music With or Without Drum-sounds”，Journal of New Music Research，Vol．30，No．2，pp．159-171，2001
【非特許文献３】T.Kim，S.I.Park，S.Y.Shin，“Rhythmic-Motion Synthesis Based on Motion-Beat Analysis”，ACM Transaction on Graphics，Vol.22，Issue 3，2003（SIGGRAPH 2003），pp．392-401
【非特許文献４】L.Kovar，M.Gleicher，and F.Pighin，“Motion Graphs”，ACM Transaction on Graphics，Vol.21，Issue 3，2002（SIGGRAPH 2002），pp．473-482
【非特許文献５】Cormen，Thomas H.; Leiserson，Charles E.，Rivest，Ronald L. (1990). Introduction to Algorithms (2st ed.). MIT Press and McGraw-Hill. ISBN 0-262-03141-8. pp. 323-69
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかし、上述した特許文献１記載の従来技術では、ある楽曲に対してＣＧアニメーションを作成する際、ＣＧオブジェクトの時系列がその楽曲の音楽の変化にそぐわない場合には、楽曲に合致したＣＧアニメーションを作成することが難しいという問題がある。又、特許文献２記載の従来技術では、一般に利用可能な膨大な数の動きデータに対して、人体姿勢が類似する２つのフレーム間を連結した有向性グラフとしてモーションデータベースを構築することは、現実的に難しいという問題がある。このため、実際のモーション作成対象の楽曲に基づいて選択された動きデータを対象にして、動きデータ間を連結することが望ましい。
【０００８】
非特許文献４記載の従来技術では、モーショングラフの構築と最適なパスの探索に要する計算量が膨大である。また、元々のモーション構造を考慮しないで構築されたモーショングラフを使用すると、元々のモーション構造が壊れる可能性がある。例えば、激しい動きとゆっくりの動き間で遷移すると、動きの突然の変化のために、不自然な動き又は不一致な動きが生まれる可能性がある。
【０００９】
非特許文献１記載の従来技術では、曲の開始から終了までの音楽データが入力されていなければ、音楽データとＣＧオブジェクトとを同期させることができないという問題がある。そのため、例えばストリーミング配信される曲に合致したＣＧアニメーションをリアルタイムに生成することは困難である。
【００１０】
本発明は、このような事情を考慮してなされたもので、その目的は、映像コンテンツを同期させる楽曲の開始から終了までの音楽データが入力されていなくても、大規模な動きデータベースを利用して楽曲に合わせた映像コンテンツを生成することができる映像コンテンツ生成システム、メタデータ構築装置、映像コンテンツ生成装置、携帯端末、映像コンテンツ配信装置及びコンピュータプログラムを提供することにある。
【課題を解決するための手段】
【００１１】
本発明は、映像コンテンツに適用可能なモーションキャプチャデータから抽出した特徴量に基づいて、ノード、エッジおよびエッジの重みを含むモーショングラフを構築するモーショングラフ構築部と、前記モーショングラフの各ノードにおいて楽曲との同期可能性を示すメタデータを算出するメタデータ構築部と、映像コンテンツ生成対象楽曲の音楽データが再生順に所定量ずつ入力され、入力された当該所定量の音楽データから音楽特徴量を取得する音楽解析部と、前記モーショングラフ上で、前記所定量の音楽データの音楽特徴量に対応する動き特徴量を有するノード群の中で該ノード群の最終ノードが一定の同期可能性を有するノード群を連結できるパスとして探索する最適パス探索部と、前記最適パス探索部が探索した前記パスに応じた前記動きデータと前記所定量の音楽データとを対応付ける同期情報を生成する同期部と、前記同期情報に基づいて、前記所定量の音楽データとともに再生される映像データを生成する映像データ生成部と、を備えたことを特徴とする映像コンテンツ生成システムである。
【００１２】
また、本発明の映像コンテンツ生成システムにおいて、前記メタデータ構築部は、前記映像コンテンツに適用可能なモーションキャプチャデータから抽出した特徴量のうち同じ動き特徴量を有するフレームのノードと当該ノードの連結性を示すエッジとから構成されるモーショングラフに含まれるノード毎に、当該ノードの後に連結することができるノード数に応じたウェートを算出するウェート算出手段を有することを特徴とする。
【００１３】
また、本発明の映像コンテンツ生成システムにおいて、前記ウェート算出手段は、前記ノードの後に連結することができるノード数がゼロになるノードと、前記ノードの後に連結することができるノード数が無限大になるノードとを算出し、上記二種のノードから他のノードのウェートを推定することを特徴とする。
【００１４】
また、本発明の映像コンテンツ生成システムにおいて、前記最適パス探索部は、前記モーショングラフ上で、前記所定量の音楽データの音楽特徴量に対応する動き特徴量を有するノード群を連結するパスであって、最後のノードのウェートが一定量以上であるパスを探索することを特徴とする。
【００１５】
また、本発明の映像コンテンツ生成システムにおいて、前記最適パス探索部は、前記モーショングラフ上で、前記所定量の音楽データの音楽特徴量に対応する動き特徴量を有するノード群を連結するパスであって、頭の一部のパスのみを決定することを特徴とする。
【００１６】
また、本発明の映像コンテンツ生成システムにおいて、前記音楽解析部は、前記最適パス探索部の計算時間と音楽のデータレートによって、音楽データの所定量を決定することを特徴とする。
【００１７】
また、本発明は、入力された映像コンテンツ生成対象楽曲の音楽データを記憶する記憶部を備え、前記音楽解析部は、次処理で用いる前記音楽データの所定量を、前記記憶部の最大記憶容量またはユーザによる記憶量の指定のうち少ない方のデータ量であって、今回の処理で前記映像データ生成部が生成した映像データの再生時間内に処理可能なデータ量とすることを特徴とする映像コンテンツ生成システムである。
【００１８】
また、本発明は、映像コンテンツに適用可能なモーションキャプチャデータから抽出した特徴量のうち同じ動き特徴量を有するフレームのノードと当該ノードの連結性を示すエッジとから構成されるモーショングラフに含まれるノード毎に、当該ノードの後に連結することができるノード数に応じたウェートを算出するウェート算出手段を有することを特徴とするメタデータ構築装置である。
【００１９】
また、本発明のメタデータ構築装置において、前記ウェート算出手段は、前記ノードの後に連結することができるノード数がゼロになるノードと、前記ノードの後に連結することができるノード数が無限大になるノードとを算出し、上記二種のノードから他のノードのウェートを推定することを特徴とする。
【００２０】
また、本発明は、映像コンテンツに適用可能なモーションキャプチャデータから抽出した特徴量のうち同じ動き特徴量を有するフレームのノードと当該ノードの連結性を示すエッジとから構成されるモーショングラフと、前記モーショングラフに含まれるノード毎に、当該ノードの後に連結することができるノード数に応じたウェートとを取得する取得部と、映像コンテンツ生成対象楽曲の音楽データが再生順に所定量ずつ入力され、入力された当該所定量の音楽データから音楽特徴量を取得する音楽解析部と、前記モーショングラフ上で、前記ウェートに基づいて前記所定量の音楽データの音楽特徴量に対応する動き特徴量を有するノード群を連結するパスを探索する最適パス探索部と、前記最適パス探索部が探索した前記パスに応じた前記動きデータと前記所定量の音楽データとを対応付ける同期情報を生成する同期部と、前記同期情報に基づいて、前記所定量の音楽データとともに再生される映像データを生成する映像データ生成部と、を備えたことを特徴とする映像コンテンツ生成装置である。
【００２１】
また、本発明の映像コンテンツ生成装置において、前記最適パス探索部は、前記モーショングラフ上で、前記所定量の音楽データの音楽特徴量に対応する動き特徴量を有するノード群を連結するパスであって、最後のノードのウェートが一定量以上であるパスを探索することを特徴とする。
【００２２】
また、本発明の映像コンテンツ生成装置において、前記最適パス探索部は、前記モーショングラフ上で、前記所定量の音楽データの音楽特徴量に対応する動き特徴量を有するノード群を連結するパスであって、頭の一部のパスのみを決定することを特徴とする。
【００２３】
また、本発明の映像コンテンツ生成装置において、前記音楽解析部は、前記最適パス探索部の計算時間と音楽のデータレートによって、音楽データの所定量を決定することを特徴とする。
【００２４】
また、本発明は、入力された映像コンテンツ生成対象楽曲の音楽データを記憶する記憶部を備え、前記音楽解析部は、次処理で用いる前記音楽データの所定量を、前記記憶部の最大記憶容量またはユーザによる記憶量の指定のうち少ない方のデータ量であって、今回の処理で前記映像データ生成部が生成した映像データの再生時間内に処理可能なデータ量とすることを特徴とする。
【００２５】
また、本発明は、映像コンテンツに適用可能なモーションキャプチャデータから抽出した特徴量に基づいて、ノード、エッジおよびエッジの重みを含むモーショングラフを構築するモーショングラフ構築部と、前記モーショングラフの各ノードにおいて楽曲との同期可能性を示すメタデータを算出するメタデータ構築部と、映像コンテンツ生成対象楽曲の音楽データが再生順に所定量ずつ入力され、入力された当該所定量の音楽データから音楽特徴量を取得する音楽解析部と、前記モーショングラフ上で、前記所定量の音楽データの音楽特徴量に対応する動き特徴量を有するノード群の中で該ノード群の最終ノードが一定の同期可能性を有するノード群を連結できるパスとして探索する最適パス探索部と、前記最適パス探索部が探索した前記パスに応じた前記動きデータと前記所定量の音楽データとを対応付ける同期情報を生成する同期部と、前記同期情報に基づいて、前記所定量の音楽データとともに再生される映像データを生成する映像データ生成部と、を備えたことを特徴とする携帯端末である。
【００２６】
また、本発明は、映像コンテンツに適用可能なモーションキャプチャデータから抽出した特徴量に基づいて、ノード、エッジおよびエッジの重みを含むモーショングラフを構築するモーショングラフ構築部と、前記モーショングラフの各ノードにおいて楽曲との同期可能性を示すメタデータを算出するメタデータ構築部と、映像コンテンツ生成対象楽曲の音楽データが再生順に所定量ずつ入力され、入力された当該所定量の音楽データから音楽特徴量を取得する音楽解析部と、前記モーショングラフ上で、前記所定量の音楽データの音楽特徴量に対応する動き特徴量を有するノード群の中で該ノード群の最終ノードが一定の同期可能性を有するノード群を連結できるパスとして探索する最適パス探索部と、前記最適パス探索部が探索した前記パスに応じた前記動きデータと前記所定量の音楽データとを対応付ける同期情報を生成する同期部と、前記同期情報に基づいて、前記所定量の音楽データとともに再生される映像データを生成する映像データ生成部と、前記所定量の音楽データと、当該所定量の音楽データとともに再生される映像データとを配信する配信部と、を備えたことを特徴とする映像コンテンツ配信装置である。
【００２７】
また、本発明は、映像コンテンツに適用可能なモーションキャプチャデータから抽出した特徴量のうち同じ動き特徴量を有するフレームのノードと当該ノードの連結性を示すエッジとから構成されるモーショングラフに含まれるノード毎に、当該ノードの後に連結することができるノード数に応じたウェートを算出するウェート算出ステップをコンピュータに実行させるためのコンピュータプログラムである。
【００２８】
また、本発明は、映像コンテンツに適用可能なモーションキャプチャデータから抽出した特徴量のうち同じ動き特徴量を有するフレームのノードと当該ノードの連結性を示すエッジとから構成されるモーショングラフと、前記モーショングラフに含まれるノード毎に、当該ノードの後に連結することができるノード数に応じたウェートとを取得する取得ステップと、映像コンテンツ生成対象楽曲の音楽データが再生順に所定量ずつ入力され、入力された当該所定量の音楽データから音楽特徴量を取得する音楽解析ステップと、前記モーショングラフ上で、前記ウェートに基づいて前記所定量の音楽データの音楽特徴量に対応する動き特徴量を有するノード群を連結するパスを探索する最適パス探索ステップと、前記最適パス探索ステップで探索した前記パスに応じた前記動きデータと前記所定量の音楽データとを対応付ける同期情報を生成する同期ステップと、前記同期情報に基づいて、前記所定量の音楽データとともに再生される映像データを生成する映像データ生成ステップと、をコンピュータに実行させるためのコンピュータプログラムである。
【発明の効果】
【００２９】
本発明によれば、映像コンテンツを同期させる楽曲の開始から終了までの音楽データが入力されていなくても、大規模な動きデータベースを利用して楽曲に合わせた映像コンテンツを生成することができるという効果が得られる。
【図面の簡単な説明】
【００３０】
【図１】本発明の一実施形態に係る映像コンテンツ生成システム１の構成を示すブロック図である。
【図２】人体スケルトン型動きデータの定義例である。
【図３】図１に示す動き解析部１１の構成を示すブロック図である。
【図４】図１に示すビート抽出部３１の構成を示すブロック図である。
【図５】図４に示すビート抽出部３１に係るデータ分割処理の概念図である。
【図６】図４に示すビート抽出部３１に係る主成分座標連結処理を説明するための概念図である。
【図７】図４に示すビート抽出部３１に係る正弦近似処理の概念図である。
【図８】本発明の一実施形態に係るモーショングラフの構成方法の全体の流れを示す概念図である。
【図９】本発明の一実施形態に係るモーショングラフ生成方法の流れを示す概念図である。
【図１０】本発明の一実施形態に係るジョイント毎に予め定めた重みを示した図である。
【図１１】本発明の一実施形態の双方向エッジに係るブレンディング処理の概念図である。
【図１２】本発明の一実施形態に係るブレンディング処理を説明する概念図である。
【図１３】本発明の一実施形態に係るループを特定する処理手順を示したフローチャートである。
【図１４】本発明の一実施形態に係るストリーミング方式で配信される楽曲データと、生成した映像データの流れを示した概念図である。
【図１５】本発明の一実施形態に係る同期処理の処理時間と、同期処理により生成した映像コンテンツの再生時間との関係を示した概略図である。
【図１６】本発明の一実施形態に係る同期処理の処理時間と、同期処理により生成した映像コンテンツの再生時間との関係を示した概略図である。
【図１７】本発明の一実施形態に係る動きのフレームレートを調整する処理の概念図である。
【図１８】本発明の一実施形態に係る同期処理の対象となる一定時間再生分の音楽データと、同期処理により選択したパスとの関係を示した概略図である。
【発明を実施するための形態】
【００３１】
以下、図面を参照し、本発明の実施形態について説明する。
図１は、本発明の一実施形態に係る映像コンテンツ生成システム１の構成を示すブロック図である。図１において、映像コンテンツ生成システム１は、メタデータ構築装置１０と、映像コンテンツ生成装置２０とを含む。メタデータ構築装置１０と、映像コンテンツ生成装置２０とは通信可能なネットワーク（図示せず）で接続されており、互いにデータの送受信を行うことができる。メタデータ構築装置１０は、動き解析部１１と、データベース１２とを有する。映像コンテンツ生成装置２０は、音楽データ記憶部２１と、音楽解析部２２と、音楽解析データ記憶部２３と、最適パス探索部２４と、同期部２５と、同期情報記憶部２６と、映像データ生成部２７と、映像コンテンツ記憶部２８と、再生部２９とを有する。
【００３２】
映像コンテンツ生成装置２０には、映像コンテンツ生成対象の楽曲の音楽データが楽曲ファイル３からストリーミング配信される。
【００３３】
動きデータベース２は、一般に利用可能な動きデータ（映像コンテンツに適用可能なモーションキャプチャデータ）を多数蓄積している。メタデータ構築装置１０および映像コンテンツ生成装置２０は、動きデータベース２から動きデータを入力する。本実施形態では、人の動きデータを扱い、人の動きデータとして、図２に例示されるように定義された人体スケルトン型動きデータを用いる。
【００３４】
図２は、人の動きデータの定義例の概略図であり、人のスケルトン型動きデータ（人体スケルトン型動きデータ）の定義例である。人体スケルトン型動きデータは、人の骨格を基に、骨及び骨の連結点（ジョイント）を用い、一ジョイントを根（ルート）とし、ルートからジョイント経由で順次連結される骨の構造を木（ツリー）構造として定義される。図２には、人体スケルトン型動きデータの定義の一部分のみを示している。図２において、ジョイント１００は腰の部分であり、ルートとして定義される。ジョイント１０１は左腕の肘の部分、ジョイント１０２は左腕の手首の部分、ジョイント１０３は右腕の肘の部分、ジョイント１０４は右腕の手首の部分、ジョイント１０５は左足の膝の部分、ジョイント１０６は左足の足首の部分、ジョイント１０７は右足の膝の部分、ジョイント１０８は右足の足首の部分、である。
【００３５】
スケルトン型動きデータは、スケルトン型対象物の各ジョイントの動きを記録したデータであり、スケルトン型対象物としては人体や動物、ロボットなどが適用可能である。スケルトン型動きデータとしては、各ジョイントの位置情報や角度情報、速度情報、加速度情報などが利用可能である。ここでは、人体スケルトン型動きデータとして、人体スケルトンの角度情報と加速度情報を例に挙げて説明する。
【００３６】
人体スケルトン型角度情報データは、人の一連の動きを複数の姿勢（ポーズ）の連続により表すものであり、人の基本ポーズ（neutral pose）を表す基本ポーズデータと、実際の人の動きの中の各ポーズを表すポーズ毎のフレームデータとを有する。基本ポーズデータは、基本ポーズのときのルートの位置及び各ジョイントの位置、並びに各骨の長さなどの情報を有する。基本ポーズデータにより基本ポーズが特定される。フレームデータは、基本ポーズからの移動量をジョイント毎に表す。ここでは、移動量として角度情報を利用する。各フレームデータにより、基本ポーズに対して各移動量が加味された各ポーズが特定される。これにより、各フレームデータによって特定される各ポーズの連続により、人の一連の動きが特定される。なお、人体スケルトン型角度情報データは、人の動きをカメラ撮影した映像からモーションキャプチャ処理によって作成したり、或いは、キーフレームアニメーションの手作業によって作成したりすることができる。
人体スケルトン型加速度情報データは、人の各ジョイントの加速度をポーズ毎のフレームデータと複数のポーズの連続により表すものである。なお、人体スケルトン型加速度情報データは、加速度計で記録したり、映像や動きデータから算出したりすることができる。
【００３７】
なお、本実施形態に係る以下の説明においては、人体スケルトン型動きデータのことを単に「動きデータ」と称する。
【００３８】
以下、図１に示される映像コンテンツ生成システム１に含まれるメタデータ構築装置１０の各部について順次説明する。
【００３９】
［動き解析部］
動き解析部１１は、動きデータベース２から動きデータを取得し、取得した動きデータを解析して動き特徴量を取得し、取得した動き特徴量をデータベース１２に格納する。動き解析部１１は、動きデータベース２に蓄積される全ての動きデータを対象にする。この動き解析部１１の処理は、実際に映像コンテンツを生成する段階の前に、事前の準備段階として行われる。
【００４０】
図３は、図１に示す動き解析部１１の構成を示すブロック図である。図３において、動き解析部１１は、ビート抽出部３１、ビート情報記憶部３２、盛り上がり算出部３３、盛り上がり情報記憶部３４及びモーショングラフ生成部３５を有する。本実施形態では、モーショングラフ生成部３５がモーショングラフ構築部およびメタデータ構築部として動作する。
【００４１】
［ビート抽出部］
ビート抽出部３１は、入力された動きデータからビート時刻を検出する。ここで、動きデータのビート時刻は反復的な動きの方向又は強度が変化する時刻である、と定義する。例えば、ダンスなどの動きでは拍子を打つタイミングが相当する。ビート抽出部３１は、入力された動きデータを短時間の動きデータに分割し、分割した動き区間から主成分分析によってビート時刻を検出する。
【００４２】
以下、本実施形態のビート抽出部３１によるビート時刻検出処理について説明する。図４は、図３に示すビート抽出部３１の構成を示すブロック図である。図４において、ビート抽出部３１は、物理量変換部３１１、データ分割部３１２、短時間主成分分析部３１３、主成分座標連結部３１４、ビート推定部３１５及び後処理部３１６を有する。
【００４３】
［物理量変換部］
物理量変換部３１１は、入力された動きデータにおいて、時刻ｔにおけるジョイント相対位置を算出する。ジョイント相対位置は、ルートに対するジョイントの相対的な位置である。
【００４４】
ここで、ジョイント相対位置の算出方法を説明する。
まず、人体スケルトン型角度情報データ内の基本ポーズデータとフレームデータを用いて、ジョイント位置を算出する。基本ポーズデータは、基本ポーズのときのルートの位置及び各ジョイントの位置、並びに各骨の長さなど、基本ポーズを特定する情報を有する。フレームデータは、ジョイント毎に、基本ポーズからの移動量の情報を有する。ここでは、移動量として角度情報を利用する。この場合、時刻ｔにおけるｋ番目のジョイントの位置ｐｋ（ｔ）は、（１）式および（２）式により算出される。ｐｋ（ｔ）は３次元座標で表される。なお、時刻ｔはフレームデータの時刻である。本実施形態では、時刻ｔを単に「フレームインデックス」として扱う。これにより、時刻ｔは、０，１，２，・・・，Ｔ−１の値をとる。Ｔは、動きデータに含まれるフレームの個数である。
【００４５】
【数１】
2011204113.tif 000003
【００４６】
【数２】
2011204113.tif 000004
【００４７】
但し、０番目（ｉ＝０）のジョイントはルートである。Ｒａｘｉｓｉ−１，ｉ（ｔ）は、ｉ番目のジョイントとその親ジョイント（「ｉ−１」番目のジョイント）間の座標回転マトリックスであり、基本ポーズデータに含まれる。各ジョイントにはローカル座標系が定義されており、座標回転マトリックスは親子関係にあるジョイント間のローカル座標系の対応関係を表す。Ｒｉ（ｔ）は、ｉ番目のジョイントのローカル座標系におけるｉ番目のジョイントの回転マトリックスであり、フレームデータに含まれる角度情報である。Ｔｉ（ｔ）は、ｉ番目のジョイントとその親ジョイント間の遷移マトリックスであり、基本ポーズデータに含まれる。遷移マトリックスは、ｉ番目のジョイントとその親ジョイント間の骨の長さを表す。
【００４８】
次いで、時刻ｔにおける、ルートに対するｋ番目のジョイントの相対位置（ジョイント相対位置）ｐ’ｋ（ｔ）を（３）式により算出する。
【００４９】
【数３】
2011204113.tif 000005
【００５０】
但し、ｐｒｏｏｔ（ｔ）は時刻ｔにおけるルート（０番目のジョイント）の位置（ｐ０（ｔ））である。
【００５１】
これにより、時刻ｔのフレーム「ｘ（ｔ）」は、「ｘ（ｔ）＝｛ｐ’１（ｔ），ｐ’２（ｔ），・・・，ｐ’Ｋ（ｔ）｝」と表される。但し、Ｋは、ルートを除いたジョイントの個数である。
【００５２】
［データ分割部］
データ分割部３１２は、ジョイント相対位置データを、一定時間の区間に分割する。データ分割部３１２は、各ジョイントのジョイント相対位置データ「ｐ’ｋ（ｔ）」に対して、それぞれデータ分割処理を行う。図５にデータ分割処理の概念を示す。データ分割処理では、ジョイント相対位置データを一定時間（一定数のフレーム分に対応）の区間に分割する。分割区間の長さは、適宜、設定可能である。分割区間の長さは、例えば、１フレーム当たりの時間の６０倍である。
【００５３】
［短時間主成分分析部］
短時間主成分分析部３１３は、データ分割部３１２によって分割されたジョイント相対位置データに対し、各区間で主成分分析処理を行う。ここで、時刻ｔのフレーム「ｘ（ｔ）」を用いて、一区間のデータ「Ｘ」を「Ｘ＝｛ｘ（ｔ１），ｘ（ｔ２），・・・，ｘ（ｔＮ）｝と表す。但し、Ｎは区間長（区間内に含まれるフレームの個数）である。Ｘは、Ｍ行Ｎ列の行列である（但し、Ｍ＝３×Ｋ）。
【００５４】
主成分分析処理では、Ｘに対して主成分分析処理を行い、Ｘを主成分空間へ変換する。
【００５５】
ここで、主成分分析方法を説明する。
まず、（４）式により、Ｘから平均値を除いたＮ行Ｍ列の行列Ｄを算出する。
【００５６】
【数４】
2011204113.tif 000006
【００５７】
次いで、（５）式により、Ｎ行Ｍ列の行列Ｄに対して特異値分解（Singular Value Decomposition）を行う。
【００５８】
【数５】
2011204113.tif 000007
【００５９】
但し、Ｕは、Ｎ行Ｎ列のユニタリ行列である。Σは、Ｎ行Ｍ列の負でない対角要素を降順にもつ対角行列であり、主成分空間の座標の分散を表す。Ｖは、Ｍ行Ｍ列のユニタリ行列であり、主成分に対する係数（principal component）である。
【００６０】
次いで、（６）式により、Ｎ行Ｍ列の行列Ｄを主成分空間へ変換する。Ｍ行Ｎ列の行列Ｙは、主成分空間の座標を表す。
【００６１】
【数６】
2011204113.tif 000008
【００６２】
短時間主成分分析部３１３は、区間毎に、主成分空間の座標を表す行列（主成分座標行列）Ｙと、主成分に対する係数の行列（主成分係数行列）Ｖをメモリに保存する。
【００６３】
なお、元空間の座標を表す行列Ｘと主成分座標行列Ｙは、（６）式と（７）式により相互に変換することができる。
【００６４】
【数７】
2011204113.tif 000009
【００６５】
また、上位のｒ個の主成分によって、（８）式により変換することができる。
【００６６】
【数８】
2011204113.tif 000010
【００６７】
但し、Ｖｒは、主成分係数行列Ｖ内の上位のｒ個の行から成るＭ行ｒ列の行列である。Ｙｒは、主成分座標行列Ｙ内の上位のｒ個の列から成るｒ行Ｎ列の行列である。Ｘ〜は、復元されたＭ行Ｎ列の行列である。
【００６８】
なお、元空間の一部の自由度だけを主成分分析処理することも可能である。例えば、足の動きだけでビートを表現することができる場合には、足に関するジョイント相対位置データのみから生成したＭ’行Ｎ列の行列Ｘ’に対して、（４）式、（５）式及び（６）式により主成分分析処理を行う。
【００６９】
［主成分座標連結部］
主成分座標連結部３１４は、各区間の主成分の座標を、時系列に沿って連結する。この主成分座標連結部３１４が行う主成分座標連結処理では、連続する２つの区間の境界部分において、主成分の座標が滑らかに連結されるように、主成分の座標を調整する。
【００７０】
図６に、本実施形態に係る主成分座標連結処理を説明するための概念図を示す。本実施形態では、時系列に従って、先頭の区間から順番に主成分座標連結処理を行ってゆく。図６において、ある区間（前区間）までの主成分座標連結処理が終了している。そして、その前区間に対して、次の区間（当区間）を連結するための主成分座標連結処理を行う。この主成分座標連結処理では、前区間の主成分座標に対し、当区間の主成分座標が滑らかに連結されるように、当区間の主成分座標を調整する。この主成分座標の調整処理では、主成分選択ステップによって選択された当区間の主成分座標（元座標）に対し、符号反転又は座標シフトを行う。
【００７１】
ここで、主成分座標連結処理を説明する。
【００７２】
主成分座標連結ステップＳ１１：当区間の主成分の座標（第１主成分の元座標）Ｙ１に対し、当区間の主成分係数行列Ｖから、第１主成分に対する係数Ｖ１を取得する。さらに、メモリに保存されている前区間の主成分係数行列Ｖから、第１主成分に対する係数Ｖ１ｐｒｅを取得する。
【００７３】
主成分座標連結ステップＳ１２：当区間に係る第１主成分に対する係数Ｖ１と前区間に係る第１主成分に対する係数Ｖ１ｐｒｅとの関係に基づいて、当区間に係る第１主成分の元座標を符号反転するか否かを判定する。この符号反転の判定は、（９）式により行う。（９）式による判定の結果、符号反転する場合には、当区間の第１主成分の元座標Ｙ１に対して符号反転を行うと共に、当区間の主成分係数行列Ｖに対しても符号反転を行う。一方、（９）式による判定の結果、符号反転しない場合には、当区間の第１主成分の元座標Ｙ１及び当区間の主成分係数行列Ｖともに、そのままの値を主成分座標連結ステップＳ１２の処理結果とする。
【００７４】
【数９】
2011204113.tif 000011
【００７５】
但し、Ｙ１は、当区間で選択された主成分の座標（第１主成分の元座標）である。Ｖは、当区間の主成分係数行列である。Ｖ１は、当区間に係る第１主成分に対する係数である。Ｖ１ｐｒｅは、前区間に係る第１主成分に対する係数である。（Ｖ１・Ｖｋｐｒｅ）は、Ｖ１とＶ１ｐｒｅの内積である。Ｙ１’は、当区間で選択された主成分の座標（第１主成分の元座標）Ｙ１に対する主成分座標連結ステップＳ１２の処理結果である。Ｖ’は、当区間の主成分係数行列Ｖに対する主成分座標連結ステップＳ１２の処理結果である。
【００７６】
主成分座標連結ステップＳ１３：主成分座標連結ステップＳ１２の処理結果の主成分座標Ｙ１’に対し、座標シフトを行う。具体的には、（１０）式により座標シフトを行う。この場合、前区間の主成分座標行列Ｙから、前区間の第ｔＮフレームにおける第１主成分の座標Ｙ１ｐｒｅ（ｔＮ）を取得する。
【００７７】
【数１０】
2011204113.tif 000012
【００７８】
但し、Ｙ１’（ｔ１）は、ステップＳ１２の処理結果の主成分座標Ｙ１’のうち、第ｔ１フレームの座標である。Ｙ１”（ｔ２）は、（１０）式の最初の計算式の計算結果の座標Ｙ１”のうち、第ｔ２フレームの座標である。
（１０）式の最初の計算式の計算結果の座標Ｙ１”に対し、第ｔ１フレームの座標Ｙ１”（ｔ１）をＹ１ｏｐｔ（ｔ１）に置き換える。この置き換え後の座標Ｙ１”が、座標シフト結果の座標である。
【００７９】
主成分座標連結ステップＳ１４：当区間において、主成分座標連結ステップＳ１２の処理結果の座標Ｙ１’に対して、主成分座標連結ステップＳ１３の処理結果の座標Ｙ１ｏｐｔ（ｔ１）を反映する。これにより、当区間の主成分座標は、前区間の主成分座標に対して滑らかに連結されるものとなる。
【００８０】
主成分座標連結部３１４は、上記した主成分座標連結処理を最初の区間から最後の区間まで行う。これにより、連結後の全区間の主成分座標「ｙ（ｔ）、ｔ＝０，１，２，・・・，Ｔ−１」が求まる。但し、Ｔは、動きデータに含まれるフレームの個数である。
【００８１】
［ビート推定部］
ビート推定部３１５は、主成分座標連結部３１４によって算出された連結後の全区間の主成分座標ｙ（ｔ）から、極値ｂ（ｊ）を算出する。この算出結果の極値ｂ（ｊ）がビートに対応する。ビートの集合Ｂは、（１１）式で表される。
【００８２】
【数１１】
2011204113.tif 000013
【００８３】
但し、Ｊは、ビートの個数である。
【００８４】
なお、ビートの集合の算出は、上記した方法以外の方法でも可能である。
例えば、ビート推定部３１５は、主成分座標連結部３１４によって算出された連結後の全区間の主成分座標から自己相関値を算出し、該自己相関値の極値ｂ（ｊ）をビートに対応するものとして算出することができる。
また、ビート推定部３１５は、主成分座標連結部３１４によって、連結後の隣区間の主成分係数から算出した内積（（９）式によるもの）の自己相関値を算出し、該自己相関値の極値ｂ（ｊ）をビートに対応するものとして算出することができる。
【００８５】
［後処理部］
後処理部３１６は、ビート推定部３１５によって算出されたビート集合Ｂから、ビート時刻を検出する。
【００８６】
ここで、ビート時刻検出処理を説明する。
まず、ビート集合Ｂ内の各極値間を、（１２）式により正弦曲線（sinusoid）で近似する。
【００８７】
【数１２】
2011204113.tif 000014
【００８８】
但し、ｓｊ−１（ｔ）は、（ｊ−１）番目の極値ｂ（ｊ−１）からｊ番目の極値ｂ（ｊ）までの区間の正弦近似値である。ｔはフレームに対応する時刻であり、「ｔ＝０，１，２，・・・，Ｔ−１」である。Ｔは、動きデータに含まれるフレームの個数である。
【００８９】
図７に、（１２）式による正弦近似処理の概念図を示す。図７において、１番目の極値ｂ（１）から２番目の極値ｂ（２）までの区間ａ１（ｊ＝２の場合の区間）は、ｓ１（ｔ）で近似される。同様に、２番目の極値ｂ（２）から３番目の極値ｂ（３）までの区間ａ２（ｊ＝３の場合の区間）はｓ２（ｔ）で近似され、３番目の極値ｂ（３）から４番目の極値ｂ（４）までの区間ａ３（ｊ＝４の場合の区間）はｓ３（ｔ）で近似され、４番目の極値ｂ（４）から５番目の極値ｂ（５）までの区間ａ４（ｊ＝５の場合の区間）はｓ４（ｔ）で近似される。
【００９０】
次いで、正弦近似値「ｓｊ−１（ｔ）、ｊ＝２，３，・・・，Ｊ」に対してフーリエ変換を行う。そのフーリエ変換処理には、所定のＦＦＴポイント数Ｌのハン窓を用いたＦＦＴ（Fast Fourier Transform）演算器を使用する。そして、そのフーリエ変換の結果に基づいて、該フーリエ変換に係る周波数範囲のうちから最大の成分を有する周波数（最大成分周波数）ｆｍａｘを検出する。そして、ビート間隔ＴＢを「ＴＢ＝Ｆｓ÷ｆｍａｘ」なる計算式により算出する。但し、Ｆｓは、１秒当たりのフレーム数である。
【００９１】
次いで、正弦近似値「ｓｊ−１（ｔ）、ｊ＝２，３，・・・，Ｊ」と、（１３）式で定義される基準値「ｓ’（ｔ）」との間の最大相関初期位相を（１４）式により算出する。
【００９２】
【数１３】
2011204113.tif 000015
【００９３】
【数１４】
2011204113.tif 000016
【００９４】
次いで、（１５）式により、ビート時刻ｅｂ（ｊ）の集合ＥＢを算出する。但し、ＥＪは、ビート時刻ｅｂ（ｊ）の個数である。
【００９５】
【数１５】
2011204113.tif 000017
【００９６】
以上が本実施形態のビート抽出部３１によるビート時刻検出処理の説明である。
【００９７】
ビート抽出部３１は、上述のビート時刻検出方法によって、動きデータからビート時刻ｅｂ（ｊ）の集合ＥＢを算出する。さらに、ビート抽出部３１は、（１６）式により、動きのテンポを算出する。動きのテンポは、１分間当たりのビートの個数である。ここでは、１秒当たりのフレーム数は１２０である。
【００９８】
【数１６】
2011204113.tif 000018
【００９９】
但し、ＴＢはビート間隔（秒）である。
【０１００】
ビート抽出部３１は、各動きデータについて、ビート時刻ｅｂ（ｊ）の集合ＥＢとテンポをビート情報記憶部３２に格納する。このとき、ビート抽出部３１が主成分分析処理を行った区間（主成分分析区間）とビート時刻ｅｂ（ｊ）の対応関係を表す情報もビート情報記憶部３２に格納する。これにより、あるビート時刻がどの主成分分析区間に属するのかが分かる。
【０１０１】
［盛り上がり算出部］
盛り上がり算出部３３は、各動きデータについて、主成分分析区間ごとに、（１７）式により、動きの盛り上がりを算出する。
【０１０２】
【数１７】
2011204113.tif 000019
【０１０３】
但し、Σは当該区間の主成分分析処理における負でない固有値を降順にもつ対角行列であり、主成分空間の座標の分散を表す。tr()は、対角行列の対角成分の和（matrix trace）である。
【０１０４】
盛り上がり算出部３３は、各動きデータについて、各主成分分析区間の盛り上がりを盛り上がり情報記憶部３４に格納する。
【０１０５】
［モーショングラフ生成部］
モーショングラフ生成部３５は、各動きデータの、ビート時刻ｅｂ（ｊ）の集合ＥＢ、テンポ及び盛り上がりを用いて、モーショングラフを生成する。モーショングラフについては非特許文献４に開示されている。モーショングラフは、ノード（頂点）群とノード間の連結関係を表すエッジ（枝）群とエッジの重みから構成される。エッジには双方向と単方向の２種類がある。
【０１０６】
図８は、本実施形態に係るモーショングラフの構成方法の全体の流れを示す概念図である。
動きデータベース２内の動きデータは、ジャンル別に分類される。動きデータベース２内の動きデータのジャンルは、予め設定される。そのジャンル分けは動きの特徴によって行われる。各動きデータには、所属するジャンルを示す情報が付加されている。モーショングラフ生成部３５は、動きデータに付加されたジャンル情報によって、動きデータのジャンルを判別する。図８の例では、動きデータベース２内の動きデータは、ｎ個のジャンルデータベース（ジャンル１ＤＢからジャンルｎＤＢ）に分類される。
【０１０７】
モーショングラフ生成部３５は、同じジャンルに属する動きデータについて、さらに、（１８）式で算出される値ｉにより分類する。図８の例では、ジャンル２に属する動きデータは、ｍ個のテンポデータベース（テンポ１ＤＢからテンポｍＤＢ）に分類される。
【０１０８】
【数１８】
2011204113.tif 000020
【０１０９】
但し、ＱＴｅｍｐｏはテンポの区間の長さである。ＴｅｍｐｏＭｏｔｉｏｎは分類対象の動きデータに係るテンポである。ＴｅｍｐｏＭｏｔｉｏｎｍｉｎは分類対象のジャンル内で最小のテンポである。
【０１１０】
モーショングラフ生成部３５は、同じジャンルに属する動きデータについて、さらに（１８）式の算出値ｉで分類されたテンポデータベース毎に、モーショングラフを生成する。
【０１１１】
図９は、本実施形態に係るモーショングラフ生成方法の流れを示す概念図である。以下、図９を参照して、あるジャンルのあるテンポデータベース（テンポｉＤＢ）のモーショングラフを生成する手順を説明する。
【０１１２】
［ビートフレーム抽出ステップ］
まず、ビートフレーム抽出ステップでは、テンポｉＤＢに属する全ての動きデータから、ビート時刻に該当するフレーム（ビートフレーム）を全て抽出する。この抽出されたビートフレームの集合をＦｉＡＬＬＢと表す。
【０１１３】
［連結性算出ステップ］
次いで、連結性算出ステップでは、集合ＦｉＡＬＬＢに含まれる全ビートフレームを対象とした全てのペアについて、（１９）式又は（２０）式により距離を算出する。あるビートフレームＦｉＢとあるビートフレームＦｊＢとの距離をｄ（ＦｉＢ，ＦｊＢ）と表す。
【０１１４】
【数１９】
2011204113.tif 000021
【０１１５】
但し、ｑｉ，ｋはビートフレームＦｉＢのｋ番目のジョイントの四元数（quaternion）である。ｗｋはｋ番目のジョイントに係る重みである。重みｗｋは予め設定される。例えば、重みｗｋの例としては図１０に示すとおりである。図１０はジョイント毎に予め定めた重みを示した図である。図示する例では、Right and Left Hipの重みは1.0000である。また、Right and Left Kneeの重みは0.0901である。また、Right and Left Shoulderの重みは0.7884である。また、Right and Left Elbowの重みは0.0247である。
【０１１６】
【数２０】
2011204113.tif 000022
【０１１７】
但し、ｐｉ，ｋはビートフレームＦｉＢのｋ番目のジョイントのルートに対する相対位置のベクトルである。つまり、ｐｉ，ｋは、ルートの位置と方向は考えずに算出したビートフレームＦｉＢのｋ番目のジョイントの位置のベクトルである。
【０１１８】
なお、ビートフレーム間の距離は、対象ビートフレームにおけるポーズを構成する各ジョイントの位置、速度、加速度、角度、角速度、角加速度などの物理量の差分の重み付き平均として算出することができる。
【０１１９】
次いで、連結性算出ステップでは、（２１）式により、連結性を算出する。あるビートフレームＦｉＢとあるビートフレームＦｊＢとの連結性をｃ（ＦｉＢ，ＦｊＢ）と表す。
【０１２０】
【数２１】
2011204113.tif 000023
【０１２１】
但し、ｄ（ＦｉＢ）はビートフレームＦｉＢの前フレームと後フレームの間の距離である（（１９）式又は（２０）式と同様の計算式で算出する）。ＴＨは予め設定される閾値である。
【０１２２】
連結性ｃ（ＦｉＢ，ＦｊＢ）が１である場合、ビートフレームＦｉＢのポーズとビートフレームＦｊＢのポーズは似ていると判断できる。連結性ｃ（ＦｉＢ，ＦｊＢ）が０である場合、ビートフレームＦｉＢのポーズとビートフレームＦｊＢのポーズは似ているとは判断できない。
【０１２３】
［モーショングラフ構築ステップ］
次いで、モーショングラフ構築ステップでは、まず、集合ＦｉＡＬＬＢに含まれる全ビートフレームをそれぞれ、モーショングラフのノードに設定する。従って、モーショングラフのノード数の初期値は、集合ＦｉＡＬＬＢに含まれるビートフレームの個数に一致する。
【０１２４】
次いで、連結性ｃ（ＦｉＢ，ＦｊＢ）が１である場合、ビートフレームＦｉＢのノードとビートフレームＦｊＢのノードの間に双方向のエッジを設ける。連結性ｃ（ＦｉＢ，ＦｊＢ）が０である場合には、ビートフレームＦｉＢのノードとビートフレームＦｊＢのノードの間に双方向のエッジを設けない。
【０１２５】
次いで、同じ動きデータの中で隣接するビートフレーム間には、単方向のエッジを設ける。単方向のエッジは、時間的に前のビートフレームのノードから後のビートフレームのノードへ向かう。
【０１２６】
次いで、双方向のエッジに対する重みを算出する。ビートフレームＦｉＢのノードとビートフレームＦｊＢのノードの間の双方向エッジに対する重みは、（２２）式により算出する。
【０１２７】
【数２２】
2011204113.tif 000024
【０１２８】
但し、ｒｄは（２１）式で算出したものである。
【０１２９】
次いで、単方向のエッジに対する重みを算出する。ビートフレームＦｉＢのノードとビートフレームＦｊＢのノードの間の単方向エッジに対する重みは、次の（ａ），（ｂ）のいずれかの方法で値を決定する。
（ａ）ビートフレームＦｉＢとビートフレームＦｊＢが同じ主成分分析区間に属する場合、当該主成分分析区間の盛り上がりを重みに用いる。
（ｂ）ビートフレームＦｉＢとビートフレームＦｊＢが異なる主成分分析区間に属する場合、ビートフレームＦｉＢが属する主成分分析区間の盛り上がりとビートフレームＦｊＢが属する主成分分析区間の盛り上がりを平均した値を重みに用いる。
【０１３０】
次いで、双方向エッジの両端のノード（ビートフレーム）に係る動きデータに対して、ブレンディング（blending）処理を行う。ブレンディング処理は、双方向エッジの方向ごとに、それぞれ行う。従って、一つの双方向エッジに対して、図１１（１），（２）に示されるように、２つのブレンディング処理を行うことになる。図１１は、ビートフレームｉのノードとビートフレームｊのノードの間の双方向エッジに係るブレンディング処理の概念図である。図１１（１）はビートフレームｉのノードからビートフレームｊのノードへ向かう方向に係るブレンディング処理を表し、図１１（２）はビートフレームｊのノードからビートフレームｉのノードへ向かう方向に係るブレンディング処理を表す。
【０１３１】
図１２は、ブレンディング処理を説明する概念図であり、図１１（１）に対応している。ここでは、図１２を参照し、図１１（１）に示されるビートフレームｉのノードからビートフレームｊのノードへ向かう方向に係るブレンディング処理を例に挙げて説明する。
【０１３２】
ブレンディング処理では、ビートフレームｉを有する動きデータ１とビートフレームｊを有する動きデータ２に対して、動きのつながりが不自然にならないように、両者の動きデータの接続部分を混合した補間データ（ブレンディング動きデータ）１＿２を生成する。本実施形態では、一定時間分のフレームを使用しクォータニオンによる球面線形補間を利用して連結部分を補間する。具体的には、動きデータ１と動きデータ２を接続する接続区間（区間長ｍ、但し、ｍは所定値）のブレンディング動きデータ１＿２を、動きデータ１のうち最後の区間長ｍのデータ１＿ｍと動きデータ２のうち最初の区間長ｍのデータ２＿ｍを用いて生成する。このとき、接続区間の区間長ｍに対する接続区間の先頭からの距離ｕの比（ｕ／ｍ）に応じて、データ１＿ｍのうち距離ｕに対応するフレームｉとデータ２＿ｍのうち距離ｕに対応するフレームｊを混合する。具体的には、（２３）式および（２４）式により、ブレンディング動きデータ１＿２を構成する各フレームを生成する。なお、（２３）式は、ある一つの骨についての式となっている。
【０１３３】
【数２３】
2011204113.tif 000025
【０１３４】
【数２４】
2011204113.tif 000026
【０１３５】
但し、ｍはブレンディング動きデータ１＿２を構成するフレーム（ブレンディングフレーム）の総数（所定値）、ｕはブレンディングフレームの先頭からの順番（１≦ｕ≦ｍ）、ｑはｕ番目のブレンディングフレームにおける骨の四元数、ｑｉ（ｋ，ｕ）はフレームｉにおける第ｕフレームの第ｋ骨の四元数、ｑｊ（ｋ，ｕ）はフレームｊにおける第ｕフレームの第k骨の四元数、ｑｂ（ｋ，ｕ）はブレンディングフレームにおける第ｕフレームの第k骨の四元数である。但し、ルートにはブレンディングを行わない。なお、（２４）式はslerp（spherical linear interpolation）の算出式である。
【０１３６】
ブレンディング動きデータ１＿２は、動きデータ１と動きデータ２の接続部分のデータとする。
【０１３７】
次いで、ノードのウェート（ノードの重み、楽曲との同期可能性を示すメタデータ）を算出する。ノードのウェートは、自ノードの後に連結することができるノードの数を示す。ノードのウェートにより、ノードをＴＹＰＥ１、ＴＹＰＥ２、ＴＹＰＥ３の三種類に分類することができる。
【０１３８】
ＴＹＰＥ１に分類されるノードは、自ノードの後に無限大にノードを連結することができるノードである。ＴＹＰＥ１に分類されるノードのウェートは無限大である。例えば、ループに含まれているノードや、ループに含まれているノードを連結することができるノードは、このループに含まれているノードを自ノードの後に連結することができるので、無限大にノードを連結することができる。
【０１３９】
ＴＹＰＥ２に分類されるノードは、末端ノードおよび付属ノードである。末端ノードは、自ノードの後にノードを連結することができないノードである。例えば、双方向エッジと片方向エッジとが無いノードである。末端ノードのウェートは０である。付属ノードは、片方向エッジのみが末端ノードあるいは付属ノードに連結するノードである。付属ノードのウェートは、子供ノード（自ノードの直後に連結しているノード）のウェートに１を加算した値である。
【０１４０】
ＴＹＰＥ３に分類されるノードは、ＴＹＰＥ１およびＴＹＰＥ２の何れにも分類されないノードである。ＴＹＰＥ３に分類されるノードは、後述する同期処理では使用しない。
【０１４１】
例えば、図９に示したノード９０１〜９２１のうち、ＴＹＰＥ１に分類されるノードは、ノード９０１〜９０６，９０８〜９１３，９１５〜９１７である。これらのノードのウェートは無限大である。また、ノード９０１〜９２１のうち、ＴＹＰＥ２に分類されるノードは、ノード９０７，９１４，９１８〜９２１である。ノード９０７，９１４は末端ノードであり、ウェートは０である。ノード９１８〜９２０は付属ノードであり、ノード９２０のウェートは１であり、ノード９１９のウェートは２であり、ノード９１８のウェートは３である。
【０１４２】
ここで、ノードのウェートの算出処理を説明する。
【０１４３】
ノードウェート算出ステップＳ２１：モーショングラフのノードのうち、ループに含まれているノードや、ループに含まれているノードを連結することができるノードをＴＹＰＥ１のノードに特定する。その後、ノードウェート算出ステップＳ２２の処理を行う。
【０１４４】
ノードウェート算出ステップＳ２１において、例えば、図１３に示す処理を行い、ループを特定する。
（ステップＳ１０１）全てのノードの色を「白」とする。その後、ステップＳ１０２の処理に進む。
（ステップＳ１０２）当ノードｕの色を「グレー」とする。その後、ステップＳ１０３の処理に進む。
（ステップＳ１０３）子ノードｖがある場合にはステップＳ１０６の処理に進み、それ以外の場合にはステップＳ１０４の処理に進む。
（ステップＳ１０４）当ノードｕの色を「黒」とする。その後、ステップＳ１０５の処理に進む。
（ステップＳ１０５）当ノードｕを親ノードとする。その後、ステップＳ１０３の処理に戻る。
（ステップＳ１０６）ノードｖの色が「白」である場合にはステップＳ１０７の処理に進み、それ以外の場合にはステップＳ１０９の処理に進む。
（ステップＳ１０７）ノードｖの親をノードｕとする。その後、ステップＳ１０８の処理に進む。
（ステップＳ１０８）当ノードｕをノードｖとする。その後、ステップＳ１０２の処理に戻る。
（ステップＳ１０９）ループがあると判定し、処理を終了する。
【０１４５】
ノードウェート算出ステップＳ２２：ＴＹＰＥ１に分類されるノードを除いたモーショングラフのノードのうち、末端ノードおよび付属ノードを特定し、これらのノードをＴＹＰＥ２に分類されるノードと特定する。その後、ノードウェート算出ステップＳ２３の処理を行う。
【０１４６】
ノードウェート算出ステップＳ２３：モーショングラフのノードのうち、ＴＹＰＥ１とＴＹＰＥ２に分類されるノードを除いたノードをＴＹＰＥ３に分類されるノードと特定する。その後、ノードウェート算出処理を終了する。
【０１４７】
以上のモーショングラフ構築ステップによって、あるジャンルのあるテンポデータベース（テンポｉＤＢ）のモーショングラフのデータが生成される。モーショングラフデータは、モーショングラフが有するノード（ビートフレーム）の情報と、ノード間のエッジ（双方向エッジまたは単方向エッジ）の情報（エッジの重みを含む）と、双方向エッジに対応する２方向分のブレンディング動きデータと、ノードのウェートとを有する。
【０１４８】
モーショングラフ生成部３５は、各ジャンルのテンポデータベースごとに生成したモーショングラフデータをデータベース１２に格納する。これにより、データベース１２には、各ジャンルのテンポデータベースごとに、モーショングラフデータが格納される。
【０１４９】
以上がメタデータ構築装置１０に係る説明である。メタデータ構築装置１０の処理はオフラインで実行され、データベース１２が構築される。このデータベース１２を用いて、映像コンテンツ生成装置２０のオンライン処理が行われる。以下、映像コンテンツ生成装置２０のオンライン処理を説明する。
【０１５０】
映像コンテンツ生成装置２０は、ストリーミング方式で配信される映像コンテンツ生成対象の楽曲の音楽データに同期した映像データを生成し、音楽データと映像データとを再生する。図１４は、ストリーミング方式で配信される音楽データと、生成した映像データの流れを示した概念図である。映像コンテンツ生成装置２０は、ストリーミング方式で配信される音楽データを音楽データ記憶部２１（back-buffer）に蓄積する。そして、映像コンテンツ生成装置２０は、一定時間（例えば、１０秒間）再生分の音楽データを音楽データ記憶部２１（back-buffer）に蓄積した場合、この音楽データに同期した映像データを生成し、この音楽データと、生成した映像データとを映像コンテンツ記憶部２８（front-buffer）に記憶する（同期処理を行う）。そして、映像コンテンツ生成装置２０は、映像コンテンツ記憶部２８（front-buffer）が記憶する音楽データと映像データとを再生しながら、再度一定時間再生分の音楽データを音楽データ記憶部２１（back-buffer）に蓄積した場合、この音楽データに対する同期処理を行う。
【０１５１】
このように、映像コンテンツ生成装置２０は、音楽データと映像データとを再生しつつ、音楽データの配信が完了するまで、音楽データを一定時間再生分蓄積した場合に同期処理を行う。従って、一曲分の音楽データの配信が完了するまで待機することなく、音楽データと、この音楽データに同期した映像データとを再生することができる。
【０１５２】
また、同期処理の処理時間が一定時間再生分の「一定時間」よりも短い場合には、最初に同期処理を行った後、待ち時間なく（リアルタイムで）音楽データと映像データとを再生することができる。
【０１５３】
図１５は、同期処理の処理時間と、同期処理により生成した映像コンテンツ（音楽データと、この音楽データに同期した映像データ）の再生時間との関係を示した概略図である。図示する例では、同期処理の処理時間として領域１５０１〜１５０３が示されており、同期処理により生成した映像コンテンツの再生時間として領域１５０４〜１５０６が示されている。コンテンツ生成装置２０は、領域１５０１の時間において同期処理により生成した映像コンテンツを領域１５０４の時間において再生する。また、コンテンツ生成装置２０は、領域１５０４の時間において映像コンテンツを再生しつつ、領域１５０２の時間において、同期処理により映像コンテンツを生成する。そして、コンテンツ生成装置２０は、領域１５０２の時間において同期処理により生成した映像コンテンツを領域１５０５の時間において再生する。以下、音楽データのストリーミング方式による配信が完了するまで、映像コンテンツ生成装置２０は、同様に同期処理と再生とを行う。
【０１５４】
なお、映像コンテンツの再生時間よりも同期処理の処理時間の方が短い場合、図１５に示したように同期処理を行う間（例えば、領域１５０１と領域１５０２との間や、領域１５０２と領域１５０３との間）に待ち時間が発生するため、映像コンテンツの再生時間に合わせて「一定時間」を変動させるようにしてもよい。
【０１５５】
図１６は、「一定時間」を変動させた場合における、同期処理の処理時間と、同期処理により生成した映像コンテンツ（音楽データと、この音楽データに同期した映像データ）の再生時間との関係を示した概略図である。図示する例では、同期処理の処理時間として領域１６０１〜１６０３が示されており、同期処理により生成した映像コンテンツの再生時間として領域１６０４〜１６０６が示されている。コンテンツ生成装置２０は、領域１６０１の時間において同期処理により生成した映像コンテンツを領域１６０４の時間において再生している。また、コンテンツ生成装置２０は、領域１６０４の時間において映像コンテンツを再生しつつ、領域１６０２の時間において、同期処理により映像コンテンツを生成している。このように、同期処理を行う領域１６０２の時間を、映像コンテンツを再生する領域１６０４の時間と同じ時間となるように、「一定時間」を長くすることで、同期処理を行う間（例えば、領域１６０１と領域１６０２との間や、領域１６０２と領域１６０３との間）の待ち時間が無くなる。また、「一定時間」を長くすることで、同期処理によって生成される映像コンテンツの長さも長くなる。図示する例では領域１６０４よりも領域１６０５の方が長く、また、領域１６０５よりも領域１６０６の方が長い。
【０１５６】
以下、図１に示される映像コンテンツ生成システム１に含まれる映像コンテンツ生成装置２０の各部について順次説明する。
【０１５７】
［音楽データ記憶部］
映像コンテンツ生成装置２０には、映像コンテンツ生成対象の楽曲の音楽データが、ストリーミング方式で楽曲ファイル３から配信（入力）される。音楽データ記憶部２１は、ストリーミング方式で配信される音楽データを蓄積（記憶）する。
【０１５８】
［音楽解析部］
音楽解析部２２は、音楽データ記憶部２１が一定時間再生分の音楽データを記憶した場合、この音楽データを音楽データ記憶部２１から読み出して解析することにより音楽特徴量を取得する。本実施形態では、非特許文献２に記載の技術を用いて、一定時間再生分の音楽データから、ビート間隔及びビート時刻を取得する。また、本実施形態では（２５）式により、一定時間再生分の音楽データの盛り上がりを算出する。
【０１５９】
【数２５】
2011204113.tif 000027
【０１６０】
但し、ｓ（Ｉ，ｊ）は楽曲の第j channelの第ｉ個信号であり、Ｎ（ｋ）は第k segmentの楽曲信号の数であり、Ｗは固定長さ（例えば、２）であり、Ｉ（ｋ）は第k segmentの盛り上がりである。
【０１６１】
さらに、音楽解析部２２は、（２６）式により、音楽のテンポを算出する。音楽のテンポは、１分間当たりのビートの個数である。
【０１６２】
【数２６】
2011204113.tif 000028
【０１６３】
但し、ＴＢｍｕｓｉｃはビート間隔（秒）である。
音楽解析部２２は、一定時間再生分の音楽データのビート間隔、ビート時刻、テンポおよび盛り上がりを音楽特徴量として音楽解析データ記憶部２１２に格納する。また、音楽解析部２２は、一定時間再生分の音楽データを映像コンテンツ記憶部２８に格納する。
【０１６４】
［最適パス探索部］
まず、最適パス探索部２４は、メタデータ構築装置１０が有するデータベース１２内のモーショングラフデータの中から、映像コンテンツ生成対象の楽曲に合ったモーショングラフデータを選択する。この選択では、映像コンテンツ生成対象の楽曲に合ったジャンルのモーショングラフデータの中から、映像コンテンツ生成対象の楽曲のテンポに合ったモーショングラフデータを選択する。映像コンテンツ生成対象の楽曲に合ったジャンルは、利用者から入力してもらう、又は予め設定しておく。
【０１６５】
具体的には、最適パス探索部２４は、音楽解析部２２が解析した音楽のテンポと該選択したジャンルのモーショングラフデータの中で最小のテンポを上記（１８）式にあてはめて計算を行う。次いで、最適パス探索部２４は、利用者から入力された又は予め設定されたジャンルのモーショングラフデータの中から、その（１８）式の算出値ｉに対応するモーショングラフデータを選択する。
【０１６６】
次いで、最適パス探索部２４は、選択したモーショングラフデータと、音楽解析部２２が解析した（音楽解析データ記憶部２３が記憶する）音楽特徴量とを用いて、モーショングラフのノードを連結する最適なパスを探索する。以下、最適パスの探索方法を説明する。
【０１６７】
［始点選択ステップ］
始点選択ステップでは、モーショングラフ内のノードから、映像コンテンツの動きの始点となるノードの候補（始点候補ノード）を選択する。始点候補ノードには、モーショングラフ内のノードであって、各動きデータの最初のビートフレームに対応するノードを全て抽出する。従って、始点候補ノードは、通常、複数ある。
【０１６８】
［最適パス探索ステップ］
次いで、最適パス探索ステップでは、モーショングラフ上の始点候補ノードからの最適パスを始点候補ノード毎に探索し、各始点候補ノードに係る最適パスの中から最小コストのパスを選択する。このパス探索方法には、非特許文献５に記載されるパス探索技術を用いる。非特許文献５に記載されるパス探索技術は、ある始点からダイナミックプログラミングで最適なパスを探索するものである。以下、最適パス探索ステップの詳細を説明する。
【０１６９】
まず、ある始点候補ノードｕからモーショングラフ上の全てのノードｉまでの各パスのコストを（２７）式により初期化する。この操作を第０回の最短パス算出操作と呼ぶ。
【０１７０】
【数２７】
2011204113.tif 000029
【０１７１】
但し、ＩｎｉｔＳは複数の始点の集合である。
【０１７２】
次いで、第１回目以降の第ｋ回の最短パス算出操作では、（２８）式により、始点候補ノードｕからモーショングラフ上の全てのノードｖまでの最適パスのコストを算出する。
【０１７３】
【数２８】
2011204113.tif 000030
【０１７４】
但し、Ｖはモーショングラフ上のノードの集合である。ｓｈｏｒｔｅｓｔＰａｔｈ（ｖ，ｋ）は、第ｋ回の最短パス算出操作による、始点候補ノードｕからノードｖまでの最適パスのコストである。ｅｄｇｅＣｏｓｔ（ｉ，ｖ）はノードｉからノードｖまでのエッジコストである。エッジコストの計算式は（３０）式である。
【０１７５】
この（２８）式を用いた第１回目以降の最短パス算出操作は、第Ｋ回まで繰り返し行う。但し、Ｋは映像コンテンツ生成対象である一定時間再生分の音楽データに含まれるビート数である。一定時間再生分の音楽データに含まれるビート数Ｋは、一定時間再生分の音楽データのビート時刻の総数に等しい。一定時間再生分の音楽データのビート時刻は、音楽解析データ記憶部２１２に格納されているので、その格納数を数えることによってビート数Ｋを求めることができる。
【０１７６】
上記（２７）式および（２８）式を用いた最短パス算出操作を、全ての始点候補ノードに対してそれぞれに行う。次いで、全ての始点候補ノードに係る第Ｋ回の最短パス算出操作結果から、（２９）式により、最小コストのパスを選択する。
【０１７７】
【数２９】
2011204113.tif 000031
【０１７８】
ｓｈｏｒｔｅｓｔＰａｔｈ（ｖ，Ｋ）は、第Ｋ回の最短パス算出操作による、始点候補ノードｕからノードｖまでの最適パスのコストである。ｓｈｏｒｔｅｓｔＰａｔｈ（Ｋ）は、最小コストのパス（始点ノードｕから終点ノードｖまでのパス）のコストである。
【０１７９】
但し、ＴＨは音楽が終了するまでのビート数である。ＴＨの推定方法としては、例えば、１秒間に含まれるビート数を算出し、音楽が終了するまでの残り時間（終了までの音楽の長さ）を、１秒間に含まれるビート数で割ることで推定する方法がある。なお、音楽が終了するまでのビート数（音楽の長さ）が分からなければ、ＴＨを無限大に設定する。
【０１８０】
（２９）式より、最小コストのパスに含まれるノードのウェートｗ（ｖ）は、音楽が終了されるまでのビート数以上である条件（条件ｗ（ｖ）＞＝ＴＨ）を満たすので、音楽の途中で動きデータの連続性が途切れることが無くなる。例えば、音楽が終了するまでのビート数ＴＨが不明の場合、最小コストのパスに含まれるノードのウェートは、常に無限大である。
【０１８１】
エッジコストは、（３０）式により、毎回計算される。
【０１８２】
【数３０】
2011204113.tif 000032
【０１８３】
最適パス探索ステップでは、上記（２９）式によって選択された最小コストのパスを探索結果の最適パスとする。この最適パスに含まれるＫ個のノードは、１個の始点ノードｕと、（Ｋ−２）個の経由ノードｉと、１個の終点ノードｖである。ここで、始点候補ノードは、通常、複数あるので、上記探索結果の最適パスは始点候補ノードの数と同じ数だけある。それら最適パスの中から、コストが一番小さいパスとその始点を最終結果の最適パスとして選択する。この最終結果の最適パスに含まれるＫ個のノードは、１個の最適始点ノードｕｏｐｔと、（Ｋ−２）個の経由ノードｉｏｐｔと、１個の終点ノードｖｏｐｔである。
【０１８４】
［同期部］
同期部２５は、最適パス探索部２４が探索した最適パスに従って、動きデータと音楽データを対応付ける同期情報を生成する。以下、同期情報生成方法の詳細を説明する。
【０１８５】
まず、最適パス探索部２４が探索した最適パスに含まれるＫ個のノード（１個の始点ノードｕｏｐｔと、（Ｋ−２）個の経由ノードｉｏｐｔと、１個の終点ノードｖｏｐｔ）に対応するＫ個のビートフレーム（１個の始点ビートフレームと、（Ｋ−２）個の経由ビートフレームと、１個の終点ビートフレーム）について、最適パスの順番で隣り合うビートフレーム間の時間を求める。さらに、各隣接ビートフレーム間のフレームレートを求める。また、映像コンテンツ生成対象の楽曲のＫ個のビートについて、時間的に隣り合うビート間の時間を求める。
【０１８６】
次いで、楽曲のビート間隔に動きのビート間隔を等しくするように、（３１）式により、動きのフレームレートを増減させる調整を行う。図１７に、動きのフレームレートを調整する処理の概念図を示す。（３１）式は、ｎ番目のビートフレームと（ｎ＋１）番目のビートフレームの間のフレームレートを算出するための計算式である（但し、ｎは１から（Ｋ−１）までの自然数である）。
【０１８７】
【数３１】
2011204113.tif 000033
【０１８８】
但し、ｔｍｏｔｉｏｎｎｏｄｅ２は隣接ビートフレームのうち先のビートフレームの時刻、ｔｍｏｔｉｏｎｎｏｄｅ１は該隣接ビートフレームのうち後のビートフレームの時刻である。ｔｍｕｓｉｃｎｏｄｅ２は楽曲の隣接ビートのうち先のビートの時刻、ｔｍｕｓｉｃｎｏｄｅ１は該隣接ビートのうち後のビートの時刻である。ｒａｔｅ＿ｏｌｄは元のフレームレートである。ｒａｔｅ＿ｎｅｗは調整後のフレームレートである。
【０１８９】
同期部２５は、上記した同期情報生成方法によって、映像コンテンツの動きの始点となる１個の始点ビートフレームと、映像コンテンツの動きの終点となる１個の終点ビートフレームと、始点ビートフレームから終点ビートフレームに至るまでに経由する（Ｋ−２）個の経由ビートフレームと、各隣接ビートフレーム間の調整後のフレームレートとを得る。同期部２５は、始点ビートフレームの情報と経由ビートフレームの情報と終点ビートフレームの情報と調整後のフレームレートの情報と該ビートフレーム間のブレンディング動きデータを同期情報として同期情報記憶部２６に格納する。なお、ブレンディング動きデータは、最適パス探索部２４の探索結果の最適パスに沿った方向のデータのみでよい。
【０１９０】
［映像データ生成部］
映像データ生成部２７は、同期情報記憶部２６に格納された同期情報に基づいて、映像コンテンツ生成対象の楽曲の音楽データとともに再生される映像データを生成する。具体的には、始点ビートフレームから経由ビートフレームを経由して終点ビートフレームに至るまでに必要な動きデータを動きデータベース２から取得する。
【０１９１】
次いで、取得した動きデータ間を連結する部分（双方向エッジに対応する部分）に対してブレンディング動きデータで置換する。このとき、動きデータの連結部分において、動きデータのルート座標と方向の平行移動を行う。動きデータが連結される際に各動きデータのルート座標は、各動きデータに独自のローカル座標のままである。このままでは、連結後の動きデータの再生画像は、ルート座標が整合されていないために、スムーズな動きにならない。このため、動きデータの連結部分において、後の動きデータのルート座標を前の動きデータの最後のフレームで表現している位置へオフセットする。これにより、動きデータの連結部分における補間処理を行い、連結後の動きデータの再生画像がスムーズな動きとなるようにする。同様に、動きデータが連結される際に各動きデータのルート方向は、後の動きデータのルート方向を前の動きデータの最後のフレームで表現している方向へオフセットする。
【０１９２】
次いで、連結された動きデータに対して、各隣接ビートフレーム間の調整後のフレームレートの情報を付加する。映像データ生成部２７は、この生成した映像データを、既に格納されている一定時間再生分の音楽データに関連付けて、映像コンテンツ記憶部２８に格納する。
【０１９３】
［再生部］
再生部２９は、映像コンテンツ記憶部２８に関連付けて格納された映像データと、映像コンテンツ生成対象の楽曲の一定時間再生分の音楽データとを、ともに再生する。このとき、再生部２９は、映像データに付加されたフレームレートの情報に従って、隣接ビートフレーム間のフレームレートを設定する。これにより、映像データと音楽データは、互いのビートが同期して再生される。なお、再生部２９は、映像コンテンツ生成装置２０とは独立した装置であってもよい。
【０１９４】
なお、上述した例では、映像コンテンツ生成装置２０は、一定時間再生分の音楽データ毎に、順次同期処理を行う例を示したが、これに限らない。例えば、図１８に示すように、同期処理を行う時間間隔を短くして、同じ再生部分を含む音楽データについて同期処理を行うようにしてもよい。
【０１９５】
図１８は、同期処理の対象となる一定時間再生分の音楽データと、同期処理により選択されたパスとの関係を示した概略図である。図示する例では、時刻ａにおいて、ストリーミング配信された一定時間再生分の音楽データの再生部分の時間として領域１８０１が示されている。また、時刻ｂにおいて、ストリーミング配信された一定時間再生分の音楽データの再生部分の時間として領域１８０２が示されている。また、時刻ｃにおいて、ストリーミング配信された一定時間再生分の音楽データの再生部分の時間として領域１８０１が示されている。また、時刻ａにおいて、ストリーミング配信された一定時間再生分の音楽データに基づいた同期処理により選択したパス１８０４が示されている。また、時刻ｂにおいて、ストリーミング配信された一定時間再生分の音楽データに基づいた同期処理により選択したパス１８０５が示されている。
【０１９６】
本実施形態では、音楽データはストリーミング方式により配信される。そのため、同期処理を行う時間間隔を短くすることで、新たに配信された音楽データに基づいてパスを選択することができるため、より関連性が高い映像データを生成するためのパスを選択することができる。
【０１９７】
なお、本実施形態に係るメタデータ構築装置１０および映像コンテンツ生成装置２０は、専用のハードウェアにより実現されるものであってもよく、あるいはパーソナルコンピュータ等のコンピュータシステムにより構成され、図１に示されるメタデータ構築装置１０および映像コンテンツ生成装置２０の各部の機能を実現するためのプログラムを実行することによりその機能を実現させるものであってもよい。
【０１９８】
また、そのメタデータ構築装置１０および映像コンテンツ生成装置２０には、周辺機器として入力装置、表示装置等が接続されるものとする。ここで、入力装置とはキーボード、マウス等の入力デバイスのことをいう。表示装置とはＣＲＴ（Cathode Ray Tube）や液晶表示装置等のことをいう。
また、上記周辺機器については、メタデータ構築装置１０および映像コンテンツ生成装置２０に直接接続するものであってもよく、あるいは通信回線を介して接続するようにしてもよい。
【０１９９】
また、図１に示すメタデータ構築装置１０および映像コンテンツ生成装置２０が行う各ステップを実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより、映像コンテンツ生成処理を行ってもよい。なお、ここでいう「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含むものであってもよい。
また、「コンピュータシステム」は、ＷＷＷシステムを利用している場合であれば、ホームページ提供環境（あるいは表示環境）も含むものとする。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、フラッシュメモリ等の書き込み可能な不揮発性メモリ、ＤＶＤ（Digital Versatile Disk）等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。
【０２００】
さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ（例えばＤＲＡＭ（Dynamic Random Access Memory））のように、一定時間プログラムを保持しているものも含むものとする。
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク（通信網）や電話回線等の通信回線（通信線）のように情報を伝送する機能を有する媒体のことをいう。
また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル（差分プログラム）であっても良い。
【０２０１】
以上、本発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の設計変更等も含まれる。
例えば、携帯端末が、メタデータ構築装置１０の各部と、映像コンテンツ生成装置２０の各部とを備える構成としてもよい。また、メタデータ構築装置１０の各部と、映像コンテンツ生成装置２０の各部と、映像コンテンツ記憶部２８に記憶されている音楽データと映像データとを携帯端末などの他の装置に配信する配信部とを備えた映像コンテンツ配信装置として構成してもよい。
また、上述した実施形態では人の動きデータを扱ったが、本発明は各種の物体の動きデータに適用することができる。ここで、物体とは、人、動物、植物その他の生物、及び、生物以外の物（ロボット等）を含む。
【０２０２】
また、本発明は、３次元コンテンツの生成に利用することができる。
【符号の説明】
【０２０３】
１・・・映像コンテンツ生成システム、２・・・動きデータベース、３・・・楽曲ファイル、１０・・・メタデータ構築装置、１１・・・動き解析部、１２・・・データベース、２０・・・映像コンテンツ生成装置、２１・・・音楽データ記憶部、２２・・・音楽解析部、２３・・・音楽解析データ記憶部、２４・・・最適パス探索部、２５・・・同期部、２６・・・同期情報記憶部、２７・・・映像データ生成部、２８・・・映像コンテンツ記憶部、２９・・・再生部、３１・・・ビート抽出部、３２・・・ビート情報記憶部、３３・・・盛り上がり算出部、３４・・・盛り上がり情報記憶部、３５・・・モーショングラフ生成部、３１１・・・物理量変換部、３１２・・・データ分割部、３１３・・・短時間主成分分析部、３１４・・・主成分座標連結部、３１５・・・ビート推定部、３１６・・・後処理部
【図１】
2011204113.tif 000034
【図２】
2011204113.tif 000035
【図３】
2011204113.tif 000036
【図４】
2011204113.tif 000037
【図５】
2011204113.tif 000038
【図６】
2011204113.tif 000039
【図７】
2011204113.tif 000040
【図８】
2011204113.tif 000041
【図９】
2011204113.tif 000042
【図１０】
2011204113.tif 000043
【図１１】
2011204113.tif 000044
【図１２】
2011204113.tif 000045
【図１３】
2011204113.tif 000046
【図１４】
2011204113.tif 000047
【図１５】
2011204113.tif 000048
【図１６】
2011204113.tif 000049
【図１７】
2011204113.tif 000050
【図１８】
2011204113.tif 000051