(57)【要約】【課題】楽曲の音楽の変化に合わせた映像コンテンツを生成する際に、該楽曲に基づいて選択された動きデータを対象にして、動きデータ間を連結することを図る。【解決手段】映像コンテンツ生成対象の楽曲の音楽データを解析してセグメント毎に音楽特徴量を取得する音楽解析部１１と、映像コンテンツに利用可能な動きデータを解析して動き特徴量を取得する動き解析部１３と、音楽データに合致する動きデータを音楽特徴量と動き特徴量に基づいてセグメント毎に選択する動き選択部１５と、音楽データの各セグメントに合わせて該選択された動きデータの長さを調整する動き長さ調整部（動き編集部１７）と、該選択された動きデータに対して動きデータの接続部分を混合した補間データを生成するブレンディング処理部（動き編集部１７）と、を備える。【選択図】図１
2010044484.tif 000002
【特許請求の範囲】
【請求項１】
楽曲の音楽の変化に合わせた映像コンテンツを生成する映像コンテンツ生成装置において、
映像コンテンツ生成対象の楽曲の音楽データを解析してセグメント毎に音楽特徴量を取得する音楽解析部と、
映像コンテンツに利用可能な動きデータを解析して動き特徴量を取得する動き解析部と、
前記音楽データに合致する動きデータを、音楽特徴量と動き特徴量に基づいてセグメント毎に選択する動き選択部と、
前記音楽データの各セグメントに合わせて、前記選択された動きデータの長さを調整する動き長さ調整部と、
前記選択された動きデータに対して、動きデータの接続部分を混合した補間データを生成するブレンディング処理部と、
を備えたことを特徴とする映像コンテンツ生成装置。
【請求項２】
前記動き長さ調整部は、動きデータの長さを伸長又は短縮する場合、
動きデータにおける歩数の合計を算出し、
セグメントの長さに基づいた移動距離を該歩数の合計値で除算し、
該除算結果の値を一歩当たりの移動距離として、動きデータにおける歩幅を補正する、
ことを特徴とする請求項１に記載の映像コンテンツ生成装置。
【請求項３】
前記ブレンディング処理部は、動きデータの接続区間において、接続区間長に対する接続区間の先頭からの距離の比に応じて、先の動きデータと後の動きデータを混合することを特徴とする請求項１に記載の映像コンテンツ生成装置。
【請求項４】
前記音楽データのビート間隔に応じて、映像コンテンツに登場させる登場者数を決定する登場者数決定部を備えたことを特徴とする請求項１に記載の映像コンテンツ生成装置。
【請求項５】
映像コンテンツに登場させるＣＧオブジェクトに対して動きデータを適用し、ＣＧ動きデータを生成するＣＧ動きデータ生成部を備え、
前記ＣＧ動きデータ生成部は、ＣＧオブジェクトに含まれる頂点を動きデータに係る１つ以上の骨に対応させるとともに、動きデータに係るジョイントに対応する頂点は該ジョイントに結合する骨に対応させる、
ことを特徴とする請求項１に記載の映像コンテンツ生成装置。
【請求項６】
映像コンテンツに用いる背景画像を楽曲の歌詞に基づいてデータベースから検索し、背景データを生成する背景データ生成部と、
前記ＣＧ動きデータと背景データを用いて、映像コンテンツを生成する映像データ生成部と、
を備えたことを特徴とする請求項５に記載の映像コンテンツ生成装置。
【請求項７】
楽曲の歌詞に基づいて、ＣＧオブジェクトの顔の表情を形成する表情データを生成する表情データ生成部を備えたことを特徴とする請求項６に記載の映像コンテンツ生成装置。
【請求項８】
ＣＧオブジェクトの口型に関し、楽曲の歌詞の読みに合わせた口型を形成する口型データを生成する口型データ生成部を備えたことを特徴とする請求項６に記載の映像コンテンツ生成装置。
【請求項９】
撮影距離の異なる複数のカメラのうちから、音楽データのビート間隔に応じて、遠距離カメラ、中距離カメラ又は近距離カメラに切り替えるカメラワークを示すカメラワークデータを生成するカメラワークデータ生成部を備え、
前記映像データ生成部は、該カメラワークデータに基づいて、映像コンテンツの画面構図を生成する、
ことを特徴とする請求項６に記載の映像コンテンツ生成装置。
【請求項１０】
楽曲の音楽の変化に合わせた映像コンテンツを生成する映像コンテンツ生成処理を行うためのコンピュータプログラムであって、
映像コンテンツ生成対象の楽曲の音楽データを解析してセグメント毎に音楽特徴量を取得する音楽解析機能と、
映像コンテンツに利用可能な動きデータを解析して動き特徴量を取得する動き解析機能と、
前記音楽データに合致する動きデータを、音楽特徴量と動き特徴量に基づいてセグメント毎に選択する動き選択機能と、
前記音楽データの各セグメントに合わせて、前記選択された動きデータの長さを調整する動き長さ調整機能と、
前記選択された動きデータに対して、動きデータの接続部分を混合した補間データを生成するブレンディング処理機能と、
をコンピュータに実現させることを特徴とするコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、映像コンテンツ生成装置及びコンピュータプログラムに関する。
【背景技術】
【０００２】
従来、音楽に合わせてコンピュータ・グラフィックス（ＣＧ）オブジェクトを表示させる技術として、特許文献１が知られている。特許文献１では、ＣＧオブジェクトの時系列に対して、音楽データの静的属性または動的属性をもとにして描画情報（視点情報、光源情報）を再設定する。そして、音楽データをＣＧオブジェクト表示と同期して再生している。又、特許文献２に記載のモーション作成装置では、複数のモーションにおいて人体姿勢が類似する２つのフレーム間を連結した有向性グラフとしてモーションデータベースを構築し、その複数のモーションの中から、音楽データから取得したビート特徴成分と相関を有する動き特徴成分をもつモーションを選択している。
【０００３】
音楽解析手法としては、非特許文献１に記載の技術が知られている。非特許文献１の技術によれば、発音成分、コードの変化、打楽器の発音時刻などを推定してビート間隔及びビート構造を取得している。
動き解析手法としては、非特許文献２に記載の技術が知られている。非特許文献２の技術によれば、動きビートの変化や発生時刻を推定してビート間隔及びビート構造を取得している。
【０００４】
図１４は、人の動きデータ（モーションデータ）の定義例の概略図である。図１４の例は、人のスケルトン型動きデータ（人体スケルトン型動きデータ）の定義例である。人体スケルトン型動きデータは、人の骨格を基に、骨及び骨の連結点（ジョイント）を用い、一ジョイントを根（ルート）とし、ルートからジョイント経由で順次連結される骨の構造を木（ツリー）構造として定義される。図１４には、人体スケルトン型動きデータの定義の一部分のみを示している。図１４において、ジョイント１００は腰の部分であり、ルートとして定義される。ジョイント１０１は左腕の肘の部分、ジョイント１０２は左腕の手首の部分、ジョイント１０３は右腕の肘の部分、ジョイント１０４は右腕の手首の部分、ジョイント１０５は左足の膝の部分、ジョイント１０６は左足の足首の部分、ジョイント１０７は右足の膝の部分、ジョイント１０８は右足の足首の部分、である。
【０００５】
スケルトン型動きデータは、スケルトン型対象物の各ジョイントの動き（モーション）を記録したデータであり、スケルトン型対象物としては人体や動物、ロボットなどが適用可能である。スケルトン型動きデータとしては、各ジョイントの位置情報や角度情報、速度情報、加速度情報などが利用可能である。ここでは、人体スケルトン型動きデータとして、人体スケルトンの角度情報と加速度情報を例に挙げて説明する。
【０００６】
人体スケルトン型角度情報データは、人の一連の動きを複数の姿勢（ポーズ）の連続により表すものであり、人の基本ポーズ（neutral pose）を表す基本ポーズデータと、実際の人の動きの中の各ポーズを表すポーズ毎のフレームデータとを有する。基本ポーズデータは、基本ポーズのときのルートの位置及び各ジョイントの位置、並びに各骨の長さなどの情報を有する。基本ポーズデータにより基本ポーズが特定される。フレームデータは、基本ポーズからの移動量をジョイント毎に表す。ここでは、移動量として角度情報を利用する。各フレームデータにより、基本ポーズに対して各移動量が加味された各ポーズが特定される。これにより、各フレームデータによって特定される各ポーズの連続により、人の一連の動きが特定される。なお、人体スケルトン型角度情報データは、人の動きをカメラ撮影した映像からモーションキャプチャ処理によって作成したり、或いは、キーフレームアニメーションの手作業によって作成したりすることができる。
人体スケルトン型加速度情報データは、人の各ジョイントの加速度をポーズ毎のフレームデータと複数のポーズの連続により表すものである。なお、人体スケルトン型加速度情報データは、加速度計で記録したり、映像や動きデータから算出したりすることができる。
【特許文献１】特開２００５−５６１０１号公報
【特許文献２】特開２００７−１８３８８号公報
【非特許文献１】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
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかし、上述した特許文献１記載の従来技術では、ある楽曲に対してＣＧアニメーションを作成する際、ＣＧオブジェクトの時系列がその楽曲の音楽の変化にそぐわない場合には、楽曲に合致したＣＧアニメーションを作成することが難しいという問題がある。又、特許文献２記載の従来技術では、一般に利用可能な膨大な数の動きデータに対して、人体姿勢が類似する２つのフレーム間を連結した有向性グラフとしてモーションデータベースを構築することは、現実的に難しいという問題がある。このため、実際のモーション作成対象の楽曲に基づいて選択された動きデータを対象にして、動きデータ間を連結することが望ましい。
【０００８】
本発明は、このような事情を考慮してなされたもので、その目的は、楽曲の音楽の変化に合わせた映像コンテンツを生成する際に、該楽曲に基づいて選択された動きデータを対象にして、動きデータ間を連結することのできる映像コンテンツ生成装置及びコンピュータプログラムを提供することにある。
【課題を解決するための手段】
【０００９】
上記の課題を解決するために、本発明に係る映像コンテンツ生成装置は、楽曲の音楽の変化に合わせた映像コンテンツを生成する映像コンテンツ生成装置において、映像コンテンツ生成対象の楽曲の音楽データを解析してセグメント毎に音楽特徴量を取得する音楽解析部と、映像コンテンツに利用可能な動きデータを解析して動き特徴量を取得する動き解析部と、前記音楽データに合致する動きデータを、音楽特徴量と動き特徴量に基づいてセグメント毎に選択する動き選択部と、前記音楽データの各セグメントに合わせて、前記選択された動きデータの長さを調整する動き長さ調整部と、前記選択された動きデータに対して、動きデータの接続部分を混合した補間データを生成するブレンディング処理部と、を備えたことを特徴とする。
【００１０】
本発明に係る映像コンテンツ生成装置においては、前記動き長さ調整部は、動きデータの長さを伸長又は短縮する場合、動きデータにおける歩数の合計を算出し、セグメントの長さに基づいた移動距離を該歩数の合計値で除算し、該除算結果の値を一歩当たりの移動距離として、動きデータにおける歩幅を補正することを特徴とする。
【００１１】
本発明に係る映像コンテンツ生成装置においては、前記ブレンディング処理部は、動きデータの接続区間において、接続区間長に対する接続区間の先頭からの距離の比に応じて、先の動きデータと後の動きデータを混合することを特徴とする。
【００１２】
本発明に係る映像コンテンツ生成装置においては、前記音楽データのビート間隔に応じて、映像コンテンツに登場させる登場者数を決定する登場者数決定部を備えたことを特徴とする。
【００１３】
本発明に係る映像コンテンツ生成装置においては、映像コンテンツに登場させるＣＧオブジェクトに対して動きデータを適用し、ＣＧ動きデータを生成するＣＧ動きデータ生成部を備え、前記ＣＧ動きデータ生成部は、ＣＧオブジェクトに含まれる頂点を動きデータに係る１つ以上の骨に対応させるとともに、動きデータに係るジョイントに対応する頂点は該ジョイントに結合する骨に対応させることを特徴とする。
【００１４】
本発明に係る映像コンテンツ生成装置においては、映像コンテンツに用いる背景画像を楽曲の歌詞に基づいてデータベースから検索し、背景データを生成する背景データ生成部と、前記ＣＧ動きデータと背景データを用いて、映像コンテンツを生成する映像データ生成部と、を備えたことを特徴とする。
【００１５】
本発明に係る映像コンテンツ生成装置においては、楽曲の歌詞に基づいて、ＣＧオブジェクトの顔の表情を形成する表情データを生成する表情データ生成部を備えたことを特徴とする。
【００１６】
本発明に係る映像コンテンツ生成装置においては、ＣＧオブジェクトの口型に関し、楽曲の歌詞の読みに合わせた口型を形成する口型データを生成する口型データ生成部を備えたことを特徴とする。
【００１７】
本発明に係る映像コンテンツ生成装置においては、撮影距離の異なる複数のカメラのうちから、音楽データのビート間隔に応じて、遠距離カメラ、中距離カメラ又は近距離カメラに切り替えるカメラワークを示すカメラワークデータを生成するカメラワークデータ生成部を備え、前記映像データ生成部は、該カメラワークデータに基づいて、映像コンテンツの画面構図を生成することを特徴とする。
【００１８】
本発明に係るコンピュータプログラムは、楽曲の音楽の変化に合わせた映像コンテンツを生成する映像コンテンツ生成処理を行うためのコンピュータプログラムであって、映像コンテンツ生成対象の楽曲の音楽データを解析してセグメント毎に音楽特徴量を取得する音楽解析機能と、映像コンテンツに利用可能な動きデータを解析して動き特徴量を取得する動き解析機能と、前記音楽データに合致する動きデータを、音楽特徴量と動き特徴量に基づいてセグメント毎に選択する動き選択機能と、前記音楽データの各セグメントに合わせて、前記選択された動きデータの長さを調整する動き長さ調整機能と、前記選択された動きデータに対して、動きデータの接続部分を混合した補間データを生成するブレンディング処理機能と、をコンピュータに実現させることを特徴とする。
これにより、前述の映像コンテンツ生成装置がコンピュータを利用して実現できるようになる。
【発明の効果】
【００１９】
本発明によれば、楽曲の音楽の変化に合わせた映像コンテンツを生成する際に、該楽曲に基づいて選択された動きデータを対象にして、動きデータ間を連結することができるという効果が得られる。
【発明を実施するための最良の形態】
【００２０】
以下、図面を参照し、本発明の実施形態について説明する。
図１は、本発明の一実施形態に係る映像コンテンツ生成装置１の構成を示すブロック図である。図１において、映像コンテンツ生成装置１は、音楽解析部１１、音楽解析データ記憶部１２、動き解析部１３、動き解析データ記憶部１４、動き選択部１５、動き選択データ記憶部１６、動き編集部１７、動き編集データ記憶部１８、ＣＧ動きデータ生成部１９、ＣＧ動きデータ記憶部２０、シーンデータ生成部２１、シーンデータ記憶部２２、映像データ生成部２３及び映像データ記憶部２４を有する。
【００２１】
映像コンテンツ生成装置１には、映像コンテンツ生成対象の楽曲の音楽データが楽曲ファイル２から入力される。
【００２２】
動きデータベース３は、一般に利用可能な動きデータを多数蓄積している。映像コンテンツ生成装置１は、動きデータベース３から動きデータを入力する。本実施形態では、人の動きデータを扱い、人の動きデータとして、図１４に例示されるように定義された人体スケルトン型動きデータを用いる。なお、本実施形態に係る以下の説明においては、人体スケルトン型動きデータのことを単に「動きデータ」と称する。
【００２３】
ＣＧオブジェクトデータベース４は、登場人物の外見のデータとして利用可能な様々なＣＧオブジェクトを蓄積する。ＣＧオブジェクトは、人体スケルトン型動きデータと同様に定義されている。但し、ＣＧオブジェクトは、基本ポーズのみである。
【００２４】
シーン情報データベース５は、シーンの生成に利用可能なシーン情報を蓄積する。シーン情報としては、歌詞、背景の画像、表情テクスチャー、カメラワークパターンなどがある。
【００２５】
再生部２５は、楽曲の音楽データを再生するとともに、映像コンテンツ生成装置１により生成された映像データを画面表示する。
【００２６】
以下、図１に示す映像コンテンツ生成装置１について順次、詳細に説明する。
【００２７】
［音楽解析部］
音楽解析部１１は、映像コンテンツ生成対象の楽曲の音楽データを解析してセグメント毎に音楽特徴量を取得する。音楽解析部１１は、取得した音楽特徴量を音楽解析データ記憶部１２に格納する。本実施形態では、音楽解析部１１は、非特許文献１に記載の技術を用いて、音楽データから、セグメント毎にビート間隔及びビート構造を取得する。図２に音楽解析データ記憶部１２の構成例を示す。図２に示されるように、音楽解析データ記憶部１２は、音楽データの各セグメントに対応する、セグメント番号とセグメントの開始時刻とビート間隔とビート構造を記憶する。
【００２８】
［動き解析部］
動き解析部１３は、動きデータベース３内の動きデータをそれぞれに解析し、各動きデータに係る動き特徴量を取得する。動き解析部１３は、取得した動き特徴量を動き解析データ記憶部１４に格納する。本実施形態では、動き解析部１３は、非特許文献２に記載の技術を用いて、動きデータからビート間隔及びビート構造を取得する。図３に動き解析データ記憶部１４の構成例を示す。図３に示されるように、動き解析データ記憶部１４は、各動きデータに対応する、動きデータの識別情報（動きデータＩＤ）とビート間隔とビート構造を記憶する。
【００２９】
なお、動きデータとして人体スケルトン型角度情報データを利用する場合、人体スケルトン型角度情報データは、ルートの位置や方向と各骨の角度情報を有している。この角度情報は四元数（quaternion）に変更することができる。骨の角速度は、隣接するフレームのデータを取得し、（１）式で算出することができる。この角速度は動きデータの解析等に利用可能である。
【００３０】
【数１】
2010044484.tif 000003
【００３１】
但し、ｑｊ（ｉ）は第ｉフレーム中の第ｊ骨の四元数である。ｈは隣接するフレーム間の時間間隔である。ＡｎｇＶｅｌｊ（ｉ）は第ｉフレーム中の第ｊ骨の角速度である。
【００３２】
［動き選択部］
動き選択部１５は、音楽データの各セグメントに合った動きデータを選択する。動き選択部１５は、音楽解析データ記憶部１２内のセグメント番号毎に、ビート間隔及びビート構造を、動き解析データ記憶部１４内の各動きデータＩＤのビート間隔及びビート構造と比較し、適合する動きデータを選択する。ここで、動き選択部１５は、音楽データのセグメント毎に、音楽データと動きデータ間のビート間隔の距離を計算する。ビート間隔の距離Ｄｂｅａｔは、（２）式で表される。
【００３３】
【数２】
2010044484.tif 000004
【００３４】
但し、ｂｅａｔｉｍｕｓｉｃは音楽データのセグメント内の第ｉ番目のビート間隔（但し、ｉ＜Ｉ、Ｉは音楽データのセグメント内のビートの個数）、ｂｅａｔｊｍｏｔｉｏｎは動きデータ内の第ｊ番目のビート間隔（但し、ｊ＜Ｊ、Ｊは動きデータ内のビートの個数）である。
【００３５】
動き選択部１５は、音楽データのセグメント毎に、ビート間隔の距離Ｄｂｅａｔが最小である動きデータを選択する。なお、セグメントの長さに対して動きデータの長さが足りない場合には、距離Ｄｂｅａｔが短い方から複数を選択してもよい。動き選択部１５は、音楽データの各セグメントに対して選択した動きデータの動きデータＩＤを、該当するセグメント番号に関連付けて動き選択データ記憶部１６に格納する。
【００３６】
又、動き選択部１５は、音楽データのセグメント内のビート間隔に基づいて、当該セグメントにおける登場人数を決定する。登場人数は、（３）式で算出する。
【００３７】
【数３】
2010044484.tif 000005
【００３８】
但し、ＴＨ１＜ＴＨ２。
これにより、楽曲において、音楽的に盛り上がっているセグメント（ビート間隔が閾値ＴＨ１未満）では登場人数が多くなり（（３）式の例では３人）、音楽的にさびしいセグメント（ビート間隔が閾値ＴＨ２以上）では登場人数が少なくなり（（３）式の例では１人）、その中間のセグメント（ビート間隔が閾値ＴＨ１以上ＴＨ２未満）では登場人数が中間（（３）式の例では２人）となる。動き選択部１５は、音楽データの各セグメントに対して決定した登場人数を、該当するセグメント番号に関連付けて動き選択データ記憶部１６に格納する。
【００３９】
図４に動き選択データ記憶部１６の構成例を示す。図４に示されるように、動き選択データ記憶部１６は、音楽データの各セグメントに対応する、セグメント番号とセグメントの開始時刻と動きデータＩＤと登場人数を記憶する。
【００４０】
［動き編集部］
動き編集部１７は、動き選択部１５によって選択された各セグメントに対する動きデータに対して、ブレンディング処理と動きの長さを調整する処理を行う。
【００４１】
（ブレンディング処理）
まず、ブレンディング処理を説明する。
ブレンディング処理では、音楽データ中の隣接する２つのセグメント（セグメント番号が「ｎ−１」と「ｎ」とする）の各動きデータに対して、動きのつながりが不自然にならないように、両者の動きデータの接続部分を混合した補間データ（ブレンディング動きデータ）を生成する。図５に、ブレンディング処理を説明する概念図を示す。音楽データにおいて、セグメント「ｎ−１」とセグメント「ｎ」は隣接しており、セグメント「ｎ」はセグメント「ｎ−１」に続いている。
【００４２】
図５に示されるように、セグメント「ｎ−１」に対して動きデータ（ｎ−１）が選択されている（動き選択データ記憶部１６でセグメント番号「ｎ−１」に関連付けて、動きデータ（ｎ−１）の動きデータＩＤが記憶されている）。同様に、セグメント「ｎ」に対して動きデータｎが選択されている（動き選択データ記憶部１６でセグメント番号「ｎ」に関連付けて、動きデータｎの動きデータＩＤが記憶されている）。
【００４３】
動き編集部１７は、動きデータ（ｎ−１）と動きデータｎを接続する接続区間（区間長ｍ、但し、ｍは所定値）のブレンディング動きデータ（ｎ−１）＿ｎを生成する。動き編集部１７は、動きデータ（ｎ−１）のうち最後の区間長ｍのデータ（ｎ−１）＿ｍと動きデータｎのうち最初の区間長ｍのデータｎ＿ｍを用いて、ブレンディング動きデータ（ｎ−１）＿ｎを生成する。動き編集部１７は、接続区間の区間長ｍに対する接続区間の先頭からの距離ｕの比（ｕ／ｍ）に応じて、データ（ｎ−１）＿ｍのうち距離ｕに対応するフレームｉとデータｎ＿ｍのうち距離ｕに対応するフレームｊを混合する。具体的には、（４）式、（５）式及び（６）式により、ブレンディング動きデータ（ｎ−１）＿ｎを構成する各フレームを生成する。なお、（４）式は、ある一つの骨についての式となっている。
【００４４】
【数４】
2010044484.tif 000006
【００４５】
【数５】
2010044484.tif 000007
【００４６】
【数６】
2010044484.tif 000008
【００４７】
但し、ｍはブレンディング動きデータ（ｎ−１）＿ｎを構成するフレーム（ブレンディングフレーム）の総数（所定値）、ｕはブレンディングフレームの先頭からの順番（１≦ｕ≦ｍ）、ｑはｕ番目のブレンディングフレームにおける骨の四元数、ｑ（ｉ）はフレームｉにおける骨の四元数、ｑ（ｊ）はフレームｊにおける骨の四元数、ｖｅｌはｕ番目のブレンディングフレームにおけるルート速度、ｖｅｌ（ｉ）はフレームｉにおけるルート速度、ｖｅｌ（ｊ）はフレームｊにおけるルート速度である。なお、（６）式はslerp（spherical linear interpolation）の算出式である。
【００４８】
動き編集部１７は、ブレンディング動きデータ（ｎ−１）＿ｎを、動きデータ（ｎ−１）と動きデータｎの接続部分のデータとする。
【００４９】
なお、ブレンディング処理は、一セグメントにおいて、１つの動きデータでは長さが足りない場合に、複数の動きデータ（同一の動きデータであってもよい）を接続するためにも利用することができる。
【００５０】
（動き長さ調整処理）
次に、動き長さ調整処理を説明する。
動き長さ調整処理では、音楽データの各セグメントに合わせて、動きデータの長さを調整する。あるセグメントの長さに対して、選択された動きデータ（１つ又は複数）の長さがびったり一致することは稀であると考えられる。このため、動きデータの長さを調整してセグメントの長さに合わせるようにする。図６、図７に、動き長さ調整処理を説明する概念図を示す。図６は、セグメントの長さに対して、選択された動きデータ（１つ又は複数）の長さが短い場合である。図７は、セグメントの長さに対して、選択された動きデータ（１つ又は複数）の長さが長すぎる場合である。
【００５１】
まず、図６を参照して、セグメントの長さに対して、選択された動きデータ（１つ又は複数）の長さが短い場合を説明する。図６の例では、あるセグメントに対して２つの動きデータｉ，ｊが選択されている。動きデータｉ，ｊの合計の長さは該セグメントの長さよりも短い。従って、動きデータｉと動きデータｊの合計の移動距離では、セグメントの長さに対応する目的地まで到達しない。このため、動き編集部１７は、動きデータｉ，ｊの長さをそれぞれ伸長させて、当該セグメントの長さに合わせる。
【００５２】
動き編集部１７は、セグメントの長さに基づいて移動距離を算出する。セグメントの長さと移動距離の関係は予め設定しておく。次いで、動き編集部１７は、動きデータｉ，ｊにおける歩数の合計を算出する。次いで、動き編集部１７は、移動距離を歩数の合計値で割る。動き編集部１７は、その除算結果の値（距離）を、一歩当たりの移動距離（調整距離ｌ）に設定する。
【００５３】
動き編集部１７は、動きデータｉ，ｊの各々に対して、一歩当たりの移動距離が調整距離ｌになるように、歩幅を補正する。図８に、この歩幅補正処理を説明する概念図を示す。図８には、人の下肢に対応するジョイント及び骨が示されている。人の歩行では、下肢を回転させてかかとを適切な方向に向けてから、かかとを目標位置に配置する。動き編集部１７は、その回転角度θを計算式「θ＝２×ａｒｃｓｉｎ（ｌ／２ｒ）」により算出する。但し、ｒは下肢の回転半径である。
【００５４】
次に、図７を参照して、セグメントの長さに対して、選択された動きデータ（１つ又は複数）の長さが長過ぎる場合を説明する。図７の例では、あるセグメントに対して３つの動きデータｉ，ｊ，ｋが選択されている。動きデータｉ，ｊ，ｋの合計の長さは該セグメントの長さよりも長い。このため、動き編集部１７は、動きデータｉ，ｊ，ｋのうち最後の動きデータｋの後半部分を削除して、当該セグメントの長さに合わせる。
【００５５】
なお、動き編集部１７は、動き長さ調整処理の後に、ブレンディング処理を行う。
【００５６】
又、動き編集部１７は、登場人数が複数である場合、登場人物毎に、動き長さ調整処理及びブレンディング処理を行う。この場合、動き長さ調整処理では、登場人物同士がぶつからないように、歩幅の調整を行う。
【００５７】
動き編集部１７は、動き長さ調整処理及びブレンディング処理が終了した動き編集データを、登場人物毎に、動き編集データ記憶部１８に格納する。図９に、動き編集データ記憶部１８の構成例を示す。動き編集データは、音楽データの長さと同じ長さの動きを有する。
【００５８】
［ＣＧ動きデータ生成部］
ＣＧ動きデータ生成部１９は、ＣＧオブジェクトデータベース４からＣＧオブジェクトを読み出し、ＣＧオブジェクトに対して動き編集データを適用する。ＣＧオブジェクトは、頂点の集まりとして、人物の外見を形成する。ＣＧオブジェクトに対する動き編集データ適用処理では、ＣＧオブジェクトに含まれる頂点は、動きデータに係る１つ以上の骨に対応させる。ジョイントに対応する頂点は該ジョイントに結合する骨に対応させる。ＣＧオブジェクトの頂点に対応させた各骨には、所定の重み付けを行う。例えば、頂点に対応させた骨に関し、頂点の位置と骨の間の距離に応じて、重みを設定する。ＣＧ動きデータ生成部１９は、（７）式により、ＣＧオブジェクトの各頂点の動きデータを算出する。
【００５９】
【数７】
2010044484.tif 000009
【００６０】
但し、ｖは移動前の頂点、ｖ’は移動後の頂点を示す。ｎは当該頂点に関連する骨の個数である。Ｍｉ（ｋ）はｋ番目の骨に係る変換行列、ｗ（ｋ）はｋ番目の骨に対する重みである（但し、Σｋｗ（ｋ）＝１）。
【００６１】
ＣＧ動きデータ生成部１９は、登場人数が複数である場合、登場人物毎に、ＣＧオブジェクトに対する動き編集データ適用処理を行う。この場合、登場人物毎に、ＣＧオブジェクトを変えてもよい。
【００６２】
ＣＧ動きデータ生成部１９は、ＣＧオブジェクトに対する動き編集データ適用処理によって生成したＣＧ動きデータを、登場人物毎に、ＣＧ動きデータ記憶部２０に格納する。図１０に、ＣＧ動きデータ記憶部２０の構成例を示す。ＣＧ動きデータは、音楽データの長さと同じ長さの動きを有するものであって、ＣＧオブジェクトの動きを表す。
【００６３】
［シーンデータ生成部］
シーンデータ生成部２１は、シーン情報データベース５内のシーン情報を用いて、映像コンテンツのシーン生成処理を行う。映像コンテンツのシーン生成処理としては、背景データ生成処理、カメラワークデータ生成処理、表情データ生成処理、口型データ生成処理がある。
【００６４】
（背景データ生成処理）
まず、背景データ生成処理を説明する。
背景データ生成処理では、シーン情報データベース５から楽曲の歌詞を読み出し、歌詞に合った背景画像をシーン情報データベース５から検索する。なお、デフォルトの背景画像は予め設定しておく。デフォルトの背景画像としては、例えば、コンサート会場やライブハウスなどのステージの画像を準備する。そして、楽曲の歌詞に含まれる単語をキーワードとして、シーン情報データベース５内の背景画像を検索する。シーン情報データベース５にはキーワード別に背景画像が格納されている。例えば、雪の風景、雨の風景、桜の風景など、キーワードに対応する風景の画像がシーン情報データベース５に蓄積されている。
【００６５】
シーンデータ生成部２１は、音楽解析部１１の解析結果（つまり、音楽解析データ記憶部１２の内容）に基づいて、セグメント毎に、背景画像を選択する。シーン情報データベース５内の歌詞には楽曲中の時刻が付されている。シーンデータ生成部２１は、歌詞中のキーワードに基づいて検索した背景画像を、当該時刻のセグメントに対応する背景画像として選択する。なお、あるセグメントに関し、キーワードに対応する背景画像がシーン情報データベース５内に存在しなかった場合は、前セグメントの背景画像を選択する。
【００６６】
シーンデータ生成部２１は、セグメント毎に、背景画像（背景データ）をシーンデータ記憶部２２に格納する。図１２に、シーンデータ記憶部２２の構成例を示す。
【００６７】
（カメラワークデータ生成処理）
次に、カメラワークデータ生成処理を説明する。
カメラワークデータ生成処理では、音楽解析部１１の解析結果（つまり、音楽解析データ記憶部１２の内容）に基づいて、セグメント毎に、カメラワークを決定する。カメラワークパターンは、シーン情報データベース５に複数蓄積されている。カメラワークパターンは、カメラのズームインとズームアウトなど、カメラが撮る画面の構図を定義するものであって、構図の一連の流れを有する。図１１に、カメラ配置の例を示す。図１１の例では、３台のカメラ＃１，＃２，＃３が配置されている。カメラ＃１は、全景を撮ることのできる遠距離に配置されている。カメラ＃３は、ＣＧオブジェクトの顔をはっきりと撮ることのできる近距離に配置されている。カメラ＃２は、カメラ＃１とカメラ＃３の中間の位置に配置されている。
【００６８】
図１１のカメラ配置のカメラワークとして、まずカメラ＃１はＣＧオブジェクトを画面中央にとらえる構図で固定し、ズームインとズームアウトのカメラワークを音楽のテンポに合わせて選択させる。シーンデータ生成部２１は、各セグメントのビート間隔及びビート構造に応じて、ズームイン又はズームアウトを選択する。ビート間隔及びビート構造に対応する動作（ズームイン又はズームアウト）は予め設定しておく。
【００６９】
カメラ＃２とカメラ＃３は、シーン情報データベース５内から無作為に一つのカメラワークパターンを選択し、音楽のテンポに合わせて構図の変化のスピードを変える。シーンデータ生成部２１は、各セグメントのビート間隔及びビート構造に応じて、構図の変化のスピードを選択する。ビート間隔及びビート構造に対応する動作（構図の変化のスピードをは予め設定しておく。
【００７０】
カメラ＃１，＃２，＃３の切り替えは、音楽のリズムによって切り替える。例えば、激しいリズム（ビート間隔が比較的短い）の場合はカメラ＃１を選択し、ゆっくりしたリズム（ビート間隔が比較的長い）の場合はカメラ＃２又は＃３を選択する。具体的には、シーンデータ生成部２１は、（８）式により、各セグメントのカメラ距離ｄ（ｔ）を計算し、カメラ＃１，＃２，＃３のうちからカメラ距離ｄ（ｔ）に対応するカメラを選択する。
【００７１】
【数８】
2010044484.tif 000010
【００７２】
但し、ｄ（ｔ）はＣＧオブジェクトからカメラまでの距離（カメラ距離）、ｄｍｉｎはカメラ距離の最小値（所定値）、Ｂｅａｔ（ｔ）はビート間隔、ｋは重み（所定値）である。重みｋはユーザにより設定可能とする。
【００７３】
図１２に示されるように、シーンデータ生成部２１は、セグメント毎に、カメラワークデータをシーンデータ記憶部２２に格納する。
【００７４】
（表情データ生成処理）
次に、表情データ生成処理を説明する。
表情データ生成処理では、歌詞に合った表情テクスチャーをシーン情報データベース５から検索する。表情テクスチャーは、ＣＧオブジェクトの顔の表情を形成する。なお、デフォルトの表情テクスチャーは予め設定しておく。
【００７５】
シーンデータ生成部２１は、カメラワークデータに基づいて、セグメント毎に、表情テクスチャーを決定する。図１１のカメラ配置において、シーンデータ生成部２１は、カメラ＃１が選択されているセグメントでは、表情が見えないので表情テクスチャーを設定しない。一方、カメラ＃２又は＃３が選択されているセグメントでは、当該セグメントの歌詞に含まれるキーワードに対応する表情テクスチャーをシーン情報データベース５から検索し、検索結果の表情テクスチャーを設定する。なお、複数のキーワードがある場合など、表情テクスチャーを絞ることができないセグメントでは、無作為に表情テクスチャーを選択し設定する。
【００７６】
図１２に示されるように、シーンデータ生成部２１は、セグメント毎に、表情テクスチャー（表情データ）をシーンデータ記憶部２２に格納する。
【００７７】
（口型データ生成処理）
次に、口型データ生成処理を説明する。
口型データ生成処理では、歌詞に合った口型データを生成する。口型データは、ＣＧオブジェクトの口の形を形成する。なお、デフォルトの口型データは予め設定しておく。
【００７８】
シーンデータ生成部２１は、歌詞に基づいて、セグメント毎に、口型データを生成する。図１１のカメラ配置において、シーンデータ生成部２１は、カメラ＃１が選択されているセグメントでは、表情が見えないので口型データを設定しない。一方、カメラ＃２又は＃３が選択されているセグメントでは、当該セグメントの歌詞の読みに合わせた口型データを生成する。口型データには歌詞に合わせた描写時刻を含める。シーンデータ生成部２１は、（９）式により、口型のモーフィングデータを算出する。
【００７９】
【数９】
2010044484.tif 000011
【００８０】
但し、Ａ，Ｂは歌詞中の連続する読みの口型である（Ａが先でＢが後）。ｔはＡの読みの時刻からの時間比である。
【００８１】
図１２に示されるように、シーンデータ生成部２１は、セグメント毎に、口型データをシーンデータ記憶部２２に格納する。
【００８２】
なお、ユーザが、背景、カメラワーク、顔の表情などを任意に設定することができるように、シーン情報データベース５内のデータの表示手段、該表示データから任意のデータを指定する指定手段、データの入力手段及び編集手段などを設けてもよい。
【００８３】
［映像データ生成部］
映像データ生成部２３は、ＣＧ動きデータ記憶部２０内のＣＧ動きデータとシーンデータ記憶部２２内のシーンデータを用いて、映像データを生成する。まず、映像データ生成部２３は、シーンデータ内の表情データ及び口型データを各登場人物のＣＧ動きデータに適用する。次いで、映像データ生成部２３は、シーンデータ内のカメラワークデータに基づいて、各登場人物のＣＧ動きデータを用いた画面構図を生成する。次いで、映像データ生成部２３は、シーンデータ内の背景データによる背景画像と各登場人物のＣＧ動きデータを用いた画面構図とを合成する。これにより、実際に表示するための映像データが生成される。映像データ生成部２３は、生成した映像データを映像データ記憶部２４に格納する。
【００８４】
再生部２５は、楽曲の音楽データを再生するとともに、映像コンテンツ生成装置１から映像データ記憶部２４内の映像データを受け取って画面表示する。これにより、楽曲の音楽に合わせてＣＧオブジェクトが動くアニメーション映像が再生される。
【００８５】
なお、本実施形態に係る映像コンテンツ生成装置１は、専用のハードウェアにより実現されるものであってもよく、あるいはパーソナルコンピュータ等のコンピュータシステムにより構成され、図１に示される映像コンテンツ生成装置１の各部の機能を実現するためのプログラムを実行することによりその機能を実現させるものであってもよい。
【００８６】
また、その映像コンテンツ生成装置１には、周辺機器として入力装置、表示装置等が接続されるものとする。ここで、入力装置とはキーボード、マウス等の入力デバイスのことをいう。表示装置とはＣＲＴ（Cathode Ray Tube）や液晶表示装置等のことをいう。
また、上記周辺機器については、映像コンテンツ生成装置１に直接接続するものであってもよく、あるいは通信回線を介して接続するようにしてもよい。
【００８７】
また、図１に示す映像コンテンツ生成装置１の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより、映像コンテンツ生成処理を行ってもよい。なお、ここでいう「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含むものであってもよい。
また、「コンピュータシステム」は、ＷＷＷシステムを利用している場合であれば、ホームページ提供環境（あるいは表示環境）も含むものとする。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、フラッシュメモリ等の書き込み可能な不揮発性メモリ、ＤＶＤ（Digital Versatile Disk）等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。
【００８８】
さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ（例えばＤＲＡＭ（Dynamic Random Access Memory））のように、一定時間プログラムを保持しているものも含むものとする。
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク（通信網）や電話回線等の通信回線（通信線）のように情報を伝送する機能を有する媒体のことをいう。
また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル（差分プログラム）であっても良い。
【００８９】
以上、本発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の設計変更等も含まれる。
例えば、上述した実施形態では人の動きデータを扱ったが、本発明は各種の物体の動きデータに適用することができる。ここで、物体とは、人、動物、植物その他の生物、及び、生物以外の物（ロボット等）を含む。又、スケルトン型動きデータは、人、動物、植物その他の生物、及び、生物以外の物に対して、適用可能である。
【００９０】
なお、音楽解析部１１は、音楽データを解析して、パワーの変化、発音成分又はコードの変化を取得するようにしてもよい。動き選択部１５は、音楽解析部１１の解析結果である、パワーの変化、発音成分又はコードの変化に基づいて、動きデータを選択するようにしてもよい。
【００９１】
また、動き編集部１７は、動き長さ調整処理において、セグメントの長さに対して、選択された動きデータ（１つ又は複数）の長さが長過ぎる場合、図１３に示すように、各動きデータの長さを短縮するようにしてもよい。図１３の例では、あるセグメントに対して３つの動きデータｉ，ｊ，ｋが選択されている。動きデータｉ，ｊ，ｋの合計の長さは該セグメントの長さよりも長い。このため、動き編集部１７は、動きデータｉ，ｊ，ｋをそれぞれに長さを短縮して、当該セグメントの長さに合わせる。
【００９２】
この動き長さ短縮処理では、まず、動き編集部１７は、セグメントの長さに基づいて移動距離を算出する。セグメントの長さと移動距離の関係は予め設定しておく。次いで、動き編集部１７は、動きデータｉ，ｊ，ｋにおける歩数の合計を算出する。次いで、動き編集部１７は、移動距離を歩数の合計値で割る。動き編集部１７は、その除算結果の値（距離）を、一歩当たりの移動距離（調整距離ｌ）に設定する。次いで、動き編集部１７は、動きデータｉ，ｊ，ｋの各々に対して、一歩当たりの移動距離が調整距離ｌになるように、歩幅を補正する。この歩幅補正処理は上述した図８と同様である。
【図面の簡単な説明】
【００９３】
【図１】本発明の一実施形態に係る映像コンテンツ生成装置１の構成を示すブロック図である。
【図２】音楽解析データ記憶部１２の構成例である。
【図３】動き解析データ記憶部１４の構成例である。
【図４】動き選択データ記憶部１６の構成例である。
【図５】本発明の一実施形態に係るブレンディング処理を説明する概念図である。
【図６】本発明の一実施形態に係る動き長さ調整処理を説明する概念図である。
【図７】本発明の一実施形態に係る動き長さ調整処理を説明する概念図である。
【図８】本発明の一実施形態に係る歩幅補正処理を説明する概念図である。
【図９】動き編集データ記憶部１８の構成例である。
【図１０】ＣＧ動きデータ記憶部２０の構成例である。
【図１１】カメラ配置の例である。
【図１２】シーンデータ記憶部２２の構成例である。
【図１３】本発明の他の実施形態に係る動き長さ調整処理を説明する概念図である。
【図１４】人体スケルトン型動きデータの定義例である。
【符号の説明】
【００９４】
１…映像コンテンツ生成装置、２…楽曲ファイル、３…動きデータベース、４…ＣＧオブジェクトデータベース、５…シーン情報データベース、１１…音楽解析部、１２…音楽解析データ記憶部、１３…動き解析部、１４…動き解析データ記憶部、１５…動き選択部（登場者数決定部）、１６…動き選択データ記憶部、１７…動き編集部（動き長さ調整部、ブレンディング処理部）、１８…動き編集データ記憶部、１９…ＣＧ動きデータ生成部、２０…ＣＧ動きデータ記憶部、２１…シーンデータ生成部（背景データ生成部、表情データ生成部、口型データ生成部、カメラワークデータ生成部）、２２…シーンデータ記憶部、２３…映像データ生成部、２４…映像データ記憶部、２５…再生部
【図１】
2010044484.tif 000012
【図２】
2010044484.tif 000013
【図３】
2010044484.tif 000014
【図４】
2010044484.tif 000015
【図５】
2010044484.tif 000016
【図６】
2010044484.tif 000017
【図７】
2010044484.tif 000018
【図８】
2010044484.tif 000019
【図９】
2010044484.tif 000020
【図１０】
2010044484.tif 000021
【図１１】
2010044484.tif 000022
【図１２】
2010044484.tif 000023
【図１３】
2010044484.tif 000024
【図１４】
2010044484.tif 000025