映像コンテンツ生成装置及びコンピュータプログラム
【課題】楽曲の音楽の変化に合わせた映像コンテンツを生成する際に、該楽曲に基づいて選択された動きデータを対象にして、動きデータ間を連結することを図る。
【解決手段】映像コンテンツ生成対象の楽曲の音楽データを解析してセグメント毎に音楽特徴量を取得する音楽解析部11と、映像コンテンツに利用可能な動きデータを解析して動き特徴量を取得する動き解析部13と、音楽データに合致する動きデータを音楽特徴量と動き特徴量に基づいてセグメント毎に選択する動き選択部15と、音楽データの各セグメントに合わせて該選択された動きデータの長さを調整する動き長さ調整部(動き編集部17)と、該選択された動きデータに対して動きデータの接続部分を混合した補間データを生成するブレンディング処理部(動き編集部17)と、を備える。
【解決手段】映像コンテンツ生成対象の楽曲の音楽データを解析してセグメント毎に音楽特徴量を取得する音楽解析部11と、映像コンテンツに利用可能な動きデータを解析して動き特徴量を取得する動き解析部13と、音楽データに合致する動きデータを音楽特徴量と動き特徴量に基づいてセグメント毎に選択する動き選択部15と、音楽データの各セグメントに合わせて該選択された動きデータの長さを調整する動き長さ調整部(動き編集部17)と、該選択された動きデータに対して動きデータの接続部分を混合した補間データを生成するブレンディング処理部(動き編集部17)と、を備える。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、映像コンテンツ生成装置及びコンピュータプログラムに関する。
【背景技術】
【0002】
従来、音楽に合わせてコンピュータ・グラフィックス(CG)オブジェクトを表示させる技術として、特許文献1が知られている。特許文献1では、CGオブジェクトの時系列に対して、音楽データの静的属性または動的属性をもとにして描画情報(視点情報、光源情報)を再設定する。そして、音楽データをCGオブジェクト表示と同期して再生している。又、特許文献2に記載のモーション作成装置では、複数のモーションにおいて人体姿勢が類似する2つのフレーム間を連結した有向性グラフとしてモーションデータベースを構築し、その複数のモーションの中から、音楽データから取得したビート特徴成分と相関を有する動き特徴成分をもつモーションを選択している。
【0003】
音楽解析手法としては、非特許文献1に記載の技術が知られている。非特許文献1の技術によれば、発音成分、コードの変化、打楽器の発音時刻などを推定してビート間隔及びビート構造を取得している。
動き解析手法としては、非特許文献2に記載の技術が知られている。非特許文献2の技術によれば、動きビートの変化や発生時刻を推定してビート間隔及びビート構造を取得している。
【0004】
図14は、人の動きデータ(モーションデータ)の定義例の概略図である。図14の例は、人のスケルトン型動きデータ(人体スケルトン型動きデータ)の定義例である。人体スケルトン型動きデータは、人の骨格を基に、骨及び骨の連結点(ジョイント)を用い、一ジョイントを根(ルート)とし、ルートからジョイント経由で順次連結される骨の構造を木(ツリー)構造として定義される。図14には、人体スケルトン型動きデータの定義の一部分のみを示している。図14において、ジョイント100は腰の部分であり、ルートとして定義される。ジョイント101は左腕の肘の部分、ジョイント102は左腕の手首の部分、ジョイント103は右腕の肘の部分、ジョイント104は右腕の手首の部分、ジョイント105は左足の膝の部分、ジョイント106は左足の足首の部分、ジョイント107は右足の膝の部分、ジョイント108は右足の足首の部分、である。
【0005】
スケルトン型動きデータは、スケルトン型対象物の各ジョイントの動き(モーション)を記録したデータであり、スケルトン型対象物としては人体や動物、ロボットなどが適用可能である。スケルトン型動きデータとしては、各ジョイントの位置情報や角度情報、速度情報、加速度情報などが利用可能である。ここでは、人体スケルトン型動きデータとして、人体スケルトンの角度情報と加速度情報を例に挙げて説明する。
【0006】
人体スケルトン型角度情報データは、人の一連の動きを複数の姿勢(ポーズ)の連続により表すものであり、人の基本ポーズ(neutral pose)を表す基本ポーズデータと、実際の人の動きの中の各ポーズを表すポーズ毎のフレームデータとを有する。基本ポーズデータは、基本ポーズのときのルートの位置及び各ジョイントの位置、並びに各骨の長さなどの情報を有する。基本ポーズデータにより基本ポーズが特定される。フレームデータは、基本ポーズからの移動量をジョイント毎に表す。ここでは、移動量として角度情報を利用する。各フレームデータにより、基本ポーズに対して各移動量が加味された各ポーズが特定される。これにより、各フレームデータによって特定される各ポーズの連続により、人の一連の動きが特定される。なお、人体スケルトン型角度情報データは、人の動きをカメラ撮影した映像からモーションキャプチャ処理によって作成したり、或いは、キーフレームアニメーションの手作業によって作成したりすることができる。
人体スケルトン型加速度情報データは、人の各ジョイントの加速度をポーズ毎のフレームデータと複数のポーズの連続により表すものである。なお、人体スケルトン型加速度情報データは、加速度計で記録したり、映像や動きデータから算出したりすることができる。
【特許文献1】特開2005−56101号公報
【特許文献2】特開2007−18388号公報
【非特許文献1】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
【非特許文献2】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
【発明の開示】
【発明が解決しようとする課題】
【0007】
しかし、上述した特許文献1記載の従来技術では、ある楽曲に対してCGアニメーションを作成する際、CGオブジェクトの時系列がその楽曲の音楽の変化にそぐわない場合には、楽曲に合致したCGアニメーションを作成することが難しいという問題がある。又、特許文献2記載の従来技術では、一般に利用可能な膨大な数の動きデータに対して、人体姿勢が類似する2つのフレーム間を連結した有向性グラフとしてモーションデータベースを構築することは、現実的に難しいという問題がある。このため、実際のモーション作成対象の楽曲に基づいて選択された動きデータを対象にして、動きデータ間を連結することが望ましい。
【0008】
本発明は、このような事情を考慮してなされたもので、その目的は、楽曲の音楽の変化に合わせた映像コンテンツを生成する際に、該楽曲に基づいて選択された動きデータを対象にして、動きデータ間を連結することのできる映像コンテンツ生成装置及びコンピュータプログラムを提供することにある。
【課題を解決するための手段】
【0009】
上記の課題を解決するために、本発明に係る映像コンテンツ生成装置は、楽曲の音楽の変化に合わせた映像コンテンツを生成する映像コンテンツ生成装置において、映像コンテンツ生成対象の楽曲の音楽データを解析してセグメント毎に音楽特徴量を取得する音楽解析部と、映像コンテンツに利用可能な動きデータを解析して動き特徴量を取得する動き解析部と、前記音楽データに合致する動きデータを、音楽特徴量と動き特徴量に基づいてセグメント毎に選択する動き選択部と、前記音楽データの各セグメントに合わせて、前記選択された動きデータの長さを調整する動き長さ調整部と、前記選択された動きデータに対して、動きデータの接続部分を混合した補間データを生成するブレンディング処理部と、を備えたことを特徴とする。
【0010】
本発明に係る映像コンテンツ生成装置においては、前記動き長さ調整部は、動きデータの長さを伸長又は短縮する場合、動きデータにおける歩数の合計を算出し、セグメントの長さに基づいた移動距離を該歩数の合計値で除算し、該除算結果の値を一歩当たりの移動距離として、動きデータにおける歩幅を補正することを特徴とする。
【0011】
本発明に係る映像コンテンツ生成装置においては、前記ブレンディング処理部は、動きデータの接続区間において、接続区間長に対する接続区間の先頭からの距離の比に応じて、先の動きデータと後の動きデータを混合することを特徴とする。
【0012】
本発明に係る映像コンテンツ生成装置においては、前記音楽データのビート間隔に応じて、映像コンテンツに登場させる登場者数を決定する登場者数決定部を備えたことを特徴とする。
【0013】
本発明に係る映像コンテンツ生成装置においては、映像コンテンツに登場させるCGオブジェクトに対して動きデータを適用し、CG動きデータを生成するCG動きデータ生成部を備え、前記CG動きデータ生成部は、CGオブジェクトに含まれる頂点を動きデータに係る1つ以上の骨に対応させるとともに、動きデータに係るジョイントに対応する頂点は該ジョイントに結合する骨に対応させることを特徴とする。
【0014】
本発明に係る映像コンテンツ生成装置においては、映像コンテンツに用いる背景画像を楽曲の歌詞に基づいてデータベースから検索し、背景データを生成する背景データ生成部と、前記CG動きデータと背景データを用いて、映像コンテンツを生成する映像データ生成部と、を備えたことを特徴とする。
【0015】
本発明に係る映像コンテンツ生成装置においては、楽曲の歌詞に基づいて、CGオブジェクトの顔の表情を形成する表情データを生成する表情データ生成部を備えたことを特徴とする。
【0016】
本発明に係る映像コンテンツ生成装置においては、CGオブジェクトの口型に関し、楽曲の歌詞の読みに合わせた口型を形成する口型データを生成する口型データ生成部を備えたことを特徴とする。
【0017】
本発明に係る映像コンテンツ生成装置においては、撮影距離の異なる複数のカメラのうちから、音楽データのビート間隔に応じて、遠距離カメラ、中距離カメラ又は近距離カメラに切り替えるカメラワークを示すカメラワークデータを生成するカメラワークデータ生成部を備え、前記映像データ生成部は、該カメラワークデータに基づいて、映像コンテンツの画面構図を生成することを特徴とする。
【0018】
本発明に係るコンピュータプログラムは、楽曲の音楽の変化に合わせた映像コンテンツを生成する映像コンテンツ生成処理を行うためのコンピュータプログラムであって、映像コンテンツ生成対象の楽曲の音楽データを解析してセグメント毎に音楽特徴量を取得する音楽解析機能と、映像コンテンツに利用可能な動きデータを解析して動き特徴量を取得する動き解析機能と、前記音楽データに合致する動きデータを、音楽特徴量と動き特徴量に基づいてセグメント毎に選択する動き選択機能と、前記音楽データの各セグメントに合わせて、前記選択された動きデータの長さを調整する動き長さ調整機能と、前記選択された動きデータに対して、動きデータの接続部分を混合した補間データを生成するブレンディング処理機能と、をコンピュータに実現させることを特徴とする。
これにより、前述の映像コンテンツ生成装置がコンピュータを利用して実現できるようになる。
【発明の効果】
【0019】
本発明によれば、楽曲の音楽の変化に合わせた映像コンテンツを生成する際に、該楽曲に基づいて選択された動きデータを対象にして、動きデータ間を連結することができるという効果が得られる。
【発明を実施するための最良の形態】
【0020】
以下、図面を参照し、本発明の実施形態について説明する。
図1は、本発明の一実施形態に係る映像コンテンツ生成装置1の構成を示すブロック図である。図1において、映像コンテンツ生成装置1は、音楽解析部11、音楽解析データ記憶部12、動き解析部13、動き解析データ記憶部14、動き選択部15、動き選択データ記憶部16、動き編集部17、動き編集データ記憶部18、CG動きデータ生成部19、CG動きデータ記憶部20、シーンデータ生成部21、シーンデータ記憶部22、映像データ生成部23及び映像データ記憶部24を有する。
【0021】
映像コンテンツ生成装置1には、映像コンテンツ生成対象の楽曲の音楽データが楽曲ファイル2から入力される。
【0022】
動きデータベース3は、一般に利用可能な動きデータを多数蓄積している。映像コンテンツ生成装置1は、動きデータベース3から動きデータを入力する。本実施形態では、人の動きデータを扱い、人の動きデータとして、図14に例示されるように定義された人体スケルトン型動きデータを用いる。なお、本実施形態に係る以下の説明においては、人体スケルトン型動きデータのことを単に「動きデータ」と称する。
【0023】
CGオブジェクトデータベース4は、登場人物の外見のデータとして利用可能な様々なCGオブジェクトを蓄積する。CGオブジェクトは、人体スケルトン型動きデータと同様に定義されている。但し、CGオブジェクトは、基本ポーズのみである。
【0024】
シーン情報データベース5は、シーンの生成に利用可能なシーン情報を蓄積する。シーン情報としては、歌詞、背景の画像、表情テクスチャー、カメラワークパターンなどがある。
【0025】
再生部25は、楽曲の音楽データを再生するとともに、映像コンテンツ生成装置1により生成された映像データを画面表示する。
【0026】
以下、図1に示す映像コンテンツ生成装置1について順次、詳細に説明する。
【0027】
[音楽解析部]
音楽解析部11は、映像コンテンツ生成対象の楽曲の音楽データを解析してセグメント毎に音楽特徴量を取得する。音楽解析部11は、取得した音楽特徴量を音楽解析データ記憶部12に格納する。本実施形態では、音楽解析部11は、非特許文献1に記載の技術を用いて、音楽データから、セグメント毎にビート間隔及びビート構造を取得する。図2に音楽解析データ記憶部12の構成例を示す。図2に示されるように、音楽解析データ記憶部12は、音楽データの各セグメントに対応する、セグメント番号とセグメントの開始時刻とビート間隔とビート構造を記憶する。
【0028】
[動き解析部]
動き解析部13は、動きデータベース3内の動きデータをそれぞれに解析し、各動きデータに係る動き特徴量を取得する。動き解析部13は、取得した動き特徴量を動き解析データ記憶部14に格納する。本実施形態では、動き解析部13は、非特許文献2に記載の技術を用いて、動きデータからビート間隔及びビート構造を取得する。図3に動き解析データ記憶部14の構成例を示す。図3に示されるように、動き解析データ記憶部14は、各動きデータに対応する、動きデータの識別情報(動きデータID)とビート間隔とビート構造を記憶する。
【0029】
なお、動きデータとして人体スケルトン型角度情報データを利用する場合、人体スケルトン型角度情報データは、ルートの位置や方向と各骨の角度情報を有している。この角度情報は四元数(quaternion)に変更することができる。骨の角速度は、隣接するフレームのデータを取得し、(1)式で算出することができる。この角速度は動きデータの解析等に利用可能である。
【0030】
【数1】
【0031】
但し、qj(i)は第iフレーム中の第j骨の四元数である。hは隣接するフレーム間の時間間隔である。AngVelj(i)は第iフレーム中の第j骨の角速度である。
【0032】
[動き選択部]
動き選択部15は、音楽データの各セグメントに合った動きデータを選択する。動き選択部15は、音楽解析データ記憶部12内のセグメント番号毎に、ビート間隔及びビート構造を、動き解析データ記憶部14内の各動きデータIDのビート間隔及びビート構造と比較し、適合する動きデータを選択する。ここで、動き選択部15は、音楽データのセグメント毎に、音楽データと動きデータ間のビート間隔の距離を計算する。ビート間隔の距離Dbeatは、(2)式で表される。
【0033】
【数2】
【0034】
但し、beatimusicは音楽データのセグメント内の第i番目のビート間隔(但し、i<I、Iは音楽データのセグメント内のビートの個数)、beatjmotionは動きデータ内の第j番目のビート間隔(但し、j<J、Jは動きデータ内のビートの個数)である。
【0035】
動き選択部15は、音楽データのセグメント毎に、ビート間隔の距離Dbeatが最小である動きデータを選択する。なお、セグメントの長さに対して動きデータの長さが足りない場合には、距離Dbeatが短い方から複数を選択してもよい。動き選択部15は、音楽データの各セグメントに対して選択した動きデータの動きデータIDを、該当するセグメント番号に関連付けて動き選択データ記憶部16に格納する。
【0036】
又、動き選択部15は、音楽データのセグメント内のビート間隔に基づいて、当該セグメントにおける登場人数を決定する。登場人数は、(3)式で算出する。
【0037】
【数3】
【0038】
但し、TH1<TH2。
これにより、楽曲において、音楽的に盛り上がっているセグメント(ビート間隔が閾値TH1未満)では登場人数が多くなり((3)式の例では3人)、音楽的にさびしいセグメント(ビート間隔が閾値TH2以上)では登場人数が少なくなり((3)式の例では1人)、その中間のセグメント(ビート間隔が閾値TH1以上TH2未満)では登場人数が中間((3)式の例では2人)となる。動き選択部15は、音楽データの各セグメントに対して決定した登場人数を、該当するセグメント番号に関連付けて動き選択データ記憶部16に格納する。
【0039】
図4に動き選択データ記憶部16の構成例を示す。図4に示されるように、動き選択データ記憶部16は、音楽データの各セグメントに対応する、セグメント番号とセグメントの開始時刻と動きデータIDと登場人数を記憶する。
【0040】
[動き編集部]
動き編集部17は、動き選択部15によって選択された各セグメントに対する動きデータに対して、ブレンディング処理と動きの長さを調整する処理を行う。
【0041】
(ブレンディング処理)
まず、ブレンディング処理を説明する。
ブレンディング処理では、音楽データ中の隣接する2つのセグメント(セグメント番号が「n−1」と「n」とする)の各動きデータに対して、動きのつながりが不自然にならないように、両者の動きデータの接続部分を混合した補間データ(ブレンディング動きデータ)を生成する。図5に、ブレンディング処理を説明する概念図を示す。音楽データにおいて、セグメント「n−1」とセグメント「n」は隣接しており、セグメント「n」はセグメント「n−1」に続いている。
【0042】
図5に示されるように、セグメント「n−1」に対して動きデータ(n−1)が選択されている(動き選択データ記憶部16でセグメント番号「n−1」に関連付けて、動きデータ(n−1)の動きデータIDが記憶されている)。同様に、セグメント「n」に対して動きデータnが選択されている(動き選択データ記憶部16でセグメント番号「n」に関連付けて、動きデータnの動きデータIDが記憶されている)。
【0043】
動き編集部17は、動きデータ(n−1)と動きデータnを接続する接続区間(区間長m、但し、mは所定値)のブレンディング動きデータ(n−1)_nを生成する。動き編集部17は、動きデータ(n−1)のうち最後の区間長mのデータ(n−1)_mと動きデータnのうち最初の区間長mのデータn_mを用いて、ブレンディング動きデータ(n−1)_nを生成する。動き編集部17は、接続区間の区間長mに対する接続区間の先頭からの距離uの比(u/m)に応じて、データ(n−1)_mのうち距離uに対応するフレームiとデータn_mのうち距離uに対応するフレームjを混合する。具体的には、(4)式、(5)式及び(6)式により、ブレンディング動きデータ(n−1)_nを構成する各フレームを生成する。なお、(4)式は、ある一つの骨についての式となっている。
【0044】
【数4】
【0045】
【数5】
【0046】
【数6】
【0047】
但し、mはブレンディング動きデータ(n−1)_nを構成するフレーム(ブレンディングフレーム)の総数(所定値)、uはブレンディングフレームの先頭からの順番(1≦u≦m)、qはu番目のブレンディングフレームにおける骨の四元数、q(i)はフレームiにおける骨の四元数、q(j)はフレームjにおける骨の四元数、velはu番目のブレンディングフレームにおけるルート速度、vel(i)はフレームiにおけるルート速度、vel(j)はフレームjにおけるルート速度である。なお、(6)式はslerp(spherical linear interpolation)の算出式である。
【0048】
動き編集部17は、ブレンディング動きデータ(n−1)_nを、動きデータ(n−1)と動きデータnの接続部分のデータとする。
【0049】
なお、ブレンディング処理は、一セグメントにおいて、1つの動きデータでは長さが足りない場合に、複数の動きデータ(同一の動きデータであってもよい)を接続するためにも利用することができる。
【0050】
(動き長さ調整処理)
次に、動き長さ調整処理を説明する。
動き長さ調整処理では、音楽データの各セグメントに合わせて、動きデータの長さを調整する。あるセグメントの長さに対して、選択された動きデータ(1つ又は複数)の長さがびったり一致することは稀であると考えられる。このため、動きデータの長さを調整してセグメントの長さに合わせるようにする。図6、図7に、動き長さ調整処理を説明する概念図を示す。図6は、セグメントの長さに対して、選択された動きデータ(1つ又は複数)の長さが短い場合である。図7は、セグメントの長さに対して、選択された動きデータ(1つ又は複数)の長さが長すぎる場合である。
【0051】
まず、図6を参照して、セグメントの長さに対して、選択された動きデータ(1つ又は複数)の長さが短い場合を説明する。図6の例では、あるセグメントに対して2つの動きデータi,jが選択されている。動きデータi,jの合計の長さは該セグメントの長さよりも短い。従って、動きデータiと動きデータjの合計の移動距離では、セグメントの長さに対応する目的地まで到達しない。このため、動き編集部17は、動きデータi,jの長さをそれぞれ伸長させて、当該セグメントの長さに合わせる。
【0052】
動き編集部17は、セグメントの長さに基づいて移動距離を算出する。セグメントの長さと移動距離の関係は予め設定しておく。次いで、動き編集部17は、動きデータi,jにおける歩数の合計を算出する。次いで、動き編集部17は、移動距離を歩数の合計値で割る。動き編集部17は、その除算結果の値(距離)を、一歩当たりの移動距離(調整距離l)に設定する。
【0053】
動き編集部17は、動きデータi,jの各々に対して、一歩当たりの移動距離が調整距離lになるように、歩幅を補正する。図8に、この歩幅補正処理を説明する概念図を示す。図8には、人の下肢に対応するジョイント及び骨が示されている。人の歩行では、下肢を回転させてかかとを適切な方向に向けてから、かかとを目標位置に配置する。動き編集部17は、その回転角度θを計算式「θ=2×arcsin(l/2r)」により算出する。但し、rは下肢の回転半径である。
【0054】
次に、図7を参照して、セグメントの長さに対して、選択された動きデータ(1つ又は複数)の長さが長過ぎる場合を説明する。図7の例では、あるセグメントに対して3つの動きデータi,j,kが選択されている。動きデータi,j,kの合計の長さは該セグメントの長さよりも長い。このため、動き編集部17は、動きデータi,j,kのうち最後の動きデータkの後半部分を削除して、当該セグメントの長さに合わせる。
【0055】
なお、動き編集部17は、動き長さ調整処理の後に、ブレンディング処理を行う。
【0056】
又、動き編集部17は、登場人数が複数である場合、登場人物毎に、動き長さ調整処理及びブレンディング処理を行う。この場合、動き長さ調整処理では、登場人物同士がぶつからないように、歩幅の調整を行う。
【0057】
動き編集部17は、動き長さ調整処理及びブレンディング処理が終了した動き編集データを、登場人物毎に、動き編集データ記憶部18に格納する。図9に、動き編集データ記憶部18の構成例を示す。動き編集データは、音楽データの長さと同じ長さの動きを有する。
【0058】
[CG動きデータ生成部]
CG動きデータ生成部19は、CGオブジェクトデータベース4からCGオブジェクトを読み出し、CGオブジェクトに対して動き編集データを適用する。CGオブジェクトは、頂点の集まりとして、人物の外見を形成する。CGオブジェクトに対する動き編集データ適用処理では、CGオブジェクトに含まれる頂点は、動きデータに係る1つ以上の骨に対応させる。ジョイントに対応する頂点は該ジョイントに結合する骨に対応させる。CGオブジェクトの頂点に対応させた各骨には、所定の重み付けを行う。例えば、頂点に対応させた骨に関し、頂点の位置と骨の間の距離に応じて、重みを設定する。CG動きデータ生成部19は、(7)式により、CGオブジェクトの各頂点の動きデータを算出する。
【0059】
【数7】
【0060】
但し、vは移動前の頂点、v’は移動後の頂点を示す。nは当該頂点に関連する骨の個数である。Mi(k)はk番目の骨に係る変換行列、w(k)はk番目の骨に対する重みである(但し、Σkw(k)=1)。
【0061】
CG動きデータ生成部19は、登場人数が複数である場合、登場人物毎に、CGオブジェクトに対する動き編集データ適用処理を行う。この場合、登場人物毎に、CGオブジェクトを変えてもよい。
【0062】
CG動きデータ生成部19は、CGオブジェクトに対する動き編集データ適用処理によって生成したCG動きデータを、登場人物毎に、CG動きデータ記憶部20に格納する。図10に、CG動きデータ記憶部20の構成例を示す。CG動きデータは、音楽データの長さと同じ長さの動きを有するものであって、CGオブジェクトの動きを表す。
【0063】
[シーンデータ生成部]
シーンデータ生成部21は、シーン情報データベース5内のシーン情報を用いて、映像コンテンツのシーン生成処理を行う。映像コンテンツのシーン生成処理としては、背景データ生成処理、カメラワークデータ生成処理、表情データ生成処理、口型データ生成処理がある。
【0064】
(背景データ生成処理)
まず、背景データ生成処理を説明する。
背景データ生成処理では、シーン情報データベース5から楽曲の歌詞を読み出し、歌詞に合った背景画像をシーン情報データベース5から検索する。なお、デフォルトの背景画像は予め設定しておく。デフォルトの背景画像としては、例えば、コンサート会場やライブハウスなどのステージの画像を準備する。そして、楽曲の歌詞に含まれる単語をキーワードとして、シーン情報データベース5内の背景画像を検索する。シーン情報データベース5にはキーワード別に背景画像が格納されている。例えば、雪の風景、雨の風景、桜の風景など、キーワードに対応する風景の画像がシーン情報データベース5に蓄積されている。
【0065】
シーンデータ生成部21は、音楽解析部11の解析結果(つまり、音楽解析データ記憶部12の内容)に基づいて、セグメント毎に、背景画像を選択する。シーン情報データベース5内の歌詞には楽曲中の時刻が付されている。シーンデータ生成部21は、歌詞中のキーワードに基づいて検索した背景画像を、当該時刻のセグメントに対応する背景画像として選択する。なお、あるセグメントに関し、キーワードに対応する背景画像がシーン情報データベース5内に存在しなかった場合は、前セグメントの背景画像を選択する。
【0066】
シーンデータ生成部21は、セグメント毎に、背景画像(背景データ)をシーンデータ記憶部22に格納する。図12に、シーンデータ記憶部22の構成例を示す。
【0067】
(カメラワークデータ生成処理)
次に、カメラワークデータ生成処理を説明する。
カメラワークデータ生成処理では、音楽解析部11の解析結果(つまり、音楽解析データ記憶部12の内容)に基づいて、セグメント毎に、カメラワークを決定する。カメラワークパターンは、シーン情報データベース5に複数蓄積されている。カメラワークパターンは、カメラのズームインとズームアウトなど、カメラが撮る画面の構図を定義するものであって、構図の一連の流れを有する。図11に、カメラ配置の例を示す。図11の例では、3台のカメラ#1,#2,#3が配置されている。カメラ#1は、全景を撮ることのできる遠距離に配置されている。カメラ#3は、CGオブジェクトの顔をはっきりと撮ることのできる近距離に配置されている。カメラ#2は、カメラ#1とカメラ#3の中間の位置に配置されている。
【0068】
図11のカメラ配置のカメラワークとして、まずカメラ#1はCGオブジェクトを画面中央にとらえる構図で固定し、ズームインとズームアウトのカメラワークを音楽のテンポに合わせて選択させる。シーンデータ生成部21は、各セグメントのビート間隔及びビート構造に応じて、ズームイン又はズームアウトを選択する。ビート間隔及びビート構造に対応する動作(ズームイン又はズームアウト)は予め設定しておく。
【0069】
カメラ#2とカメラ#3は、シーン情報データベース5内から無作為に一つのカメラワークパターンを選択し、音楽のテンポに合わせて構図の変化のスピードを変える。シーンデータ生成部21は、各セグメントのビート間隔及びビート構造に応じて、構図の変化のスピードを選択する。ビート間隔及びビート構造に対応する動作(構図の変化のスピードをは予め設定しておく。
【0070】
カメラ#1,#2,#3の切り替えは、音楽のリズムによって切り替える。例えば、激しいリズム(ビート間隔が比較的短い)の場合はカメラ#1を選択し、ゆっくりしたリズム(ビート間隔が比較的長い)の場合はカメラ#2又は#3を選択する。具体的には、シーンデータ生成部21は、(8)式により、各セグメントのカメラ距離d(t)を計算し、カメラ#1,#2,#3のうちからカメラ距離d(t)に対応するカメラを選択する。
【0071】
【数8】
【0072】
但し、d(t)はCGオブジェクトからカメラまでの距離(カメラ距離)、dminはカメラ距離の最小値(所定値)、Beat(t)はビート間隔、kは重み(所定値)である。重みkはユーザにより設定可能とする。
【0073】
図12に示されるように、シーンデータ生成部21は、セグメント毎に、カメラワークデータをシーンデータ記憶部22に格納する。
【0074】
(表情データ生成処理)
次に、表情データ生成処理を説明する。
表情データ生成処理では、歌詞に合った表情テクスチャーをシーン情報データベース5から検索する。表情テクスチャーは、CGオブジェクトの顔の表情を形成する。なお、デフォルトの表情テクスチャーは予め設定しておく。
【0075】
シーンデータ生成部21は、カメラワークデータに基づいて、セグメント毎に、表情テクスチャーを決定する。図11のカメラ配置において、シーンデータ生成部21は、カメラ#1が選択されているセグメントでは、表情が見えないので表情テクスチャーを設定しない。一方、カメラ#2又は#3が選択されているセグメントでは、当該セグメントの歌詞に含まれるキーワードに対応する表情テクスチャーをシーン情報データベース5から検索し、検索結果の表情テクスチャーを設定する。なお、複数のキーワードがある場合など、表情テクスチャーを絞ることができないセグメントでは、無作為に表情テクスチャーを選択し設定する。
【0076】
図12に示されるように、シーンデータ生成部21は、セグメント毎に、表情テクスチャー(表情データ)をシーンデータ記憶部22に格納する。
【0077】
(口型データ生成処理)
次に、口型データ生成処理を説明する。
口型データ生成処理では、歌詞に合った口型データを生成する。口型データは、CGオブジェクトの口の形を形成する。なお、デフォルトの口型データは予め設定しておく。
【0078】
シーンデータ生成部21は、歌詞に基づいて、セグメント毎に、口型データを生成する。図11のカメラ配置において、シーンデータ生成部21は、カメラ#1が選択されているセグメントでは、表情が見えないので口型データを設定しない。一方、カメラ#2又は#3が選択されているセグメントでは、当該セグメントの歌詞の読みに合わせた口型データを生成する。口型データには歌詞に合わせた描写時刻を含める。シーンデータ生成部21は、(9)式により、口型のモーフィングデータを算出する。
【0079】
【数9】
【0080】
但し、A,Bは歌詞中の連続する読みの口型である(Aが先でBが後)。tはAの読みの時刻からの時間比である。
【0081】
図12に示されるように、シーンデータ生成部21は、セグメント毎に、口型データをシーンデータ記憶部22に格納する。
【0082】
なお、ユーザが、背景、カメラワーク、顔の表情などを任意に設定することができるように、シーン情報データベース5内のデータの表示手段、該表示データから任意のデータを指定する指定手段、データの入力手段及び編集手段などを設けてもよい。
【0083】
[映像データ生成部]
映像データ生成部23は、CG動きデータ記憶部20内のCG動きデータとシーンデータ記憶部22内のシーンデータを用いて、映像データを生成する。まず、映像データ生成部23は、シーンデータ内の表情データ及び口型データを各登場人物のCG動きデータに適用する。次いで、映像データ生成部23は、シーンデータ内のカメラワークデータに基づいて、各登場人物のCG動きデータを用いた画面構図を生成する。次いで、映像データ生成部23は、シーンデータ内の背景データによる背景画像と各登場人物のCG動きデータを用いた画面構図とを合成する。これにより、実際に表示するための映像データが生成される。映像データ生成部23は、生成した映像データを映像データ記憶部24に格納する。
【0084】
再生部25は、楽曲の音楽データを再生するとともに、映像コンテンツ生成装置1から映像データ記憶部24内の映像データを受け取って画面表示する。これにより、楽曲の音楽に合わせてCGオブジェクトが動くアニメーション映像が再生される。
【0085】
なお、本実施形態に係る映像コンテンツ生成装置1は、専用のハードウェアにより実現されるものであってもよく、あるいはパーソナルコンピュータ等のコンピュータシステムにより構成され、図1に示される映像コンテンツ生成装置1の各部の機能を実現するためのプログラムを実行することによりその機能を実現させるものであってもよい。
【0086】
また、その映像コンテンツ生成装置1には、周辺機器として入力装置、表示装置等が接続されるものとする。ここで、入力装置とはキーボード、マウス等の入力デバイスのことをいう。表示装置とはCRT(Cathode Ray Tube)や液晶表示装置等のことをいう。
また、上記周辺機器については、映像コンテンツ生成装置1に直接接続するものであってもよく、あるいは通信回線を介して接続するようにしてもよい。
【0087】
また、図1に示す映像コンテンツ生成装置1の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより、映像コンテンツ生成処理を行ってもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものであってもよい。
また、「コンピュータシステム」は、WWWシステムを利用している場合であれば、ホームページ提供環境(あるいは表示環境)も含むものとする。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、フラッシュメモリ等の書き込み可能な不揮発性メモリ、DVD(Digital Versatile Disk)等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。
【0088】
さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ(例えばDRAM(Dynamic Random Access Memory))のように、一定時間プログラムを保持しているものも含むものとする。
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。
また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であっても良い。
【0089】
以上、本発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の設計変更等も含まれる。
例えば、上述した実施形態では人の動きデータを扱ったが、本発明は各種の物体の動きデータに適用することができる。ここで、物体とは、人、動物、植物その他の生物、及び、生物以外の物(ロボット等)を含む。又、スケルトン型動きデータは、人、動物、植物その他の生物、及び、生物以外の物に対して、適用可能である。
【0090】
なお、音楽解析部11は、音楽データを解析して、パワーの変化、発音成分又はコードの変化を取得するようにしてもよい。動き選択部15は、音楽解析部11の解析結果である、パワーの変化、発音成分又はコードの変化に基づいて、動きデータを選択するようにしてもよい。
【0091】
また、動き編集部17は、動き長さ調整処理において、セグメントの長さに対して、選択された動きデータ(1つ又は複数)の長さが長過ぎる場合、図13に示すように、各動きデータの長さを短縮するようにしてもよい。図13の例では、あるセグメントに対して3つの動きデータi,j,kが選択されている。動きデータi,j,kの合計の長さは該セグメントの長さよりも長い。このため、動き編集部17は、動きデータi,j,kをそれぞれに長さを短縮して、当該セグメントの長さに合わせる。
【0092】
この動き長さ短縮処理では、まず、動き編集部17は、セグメントの長さに基づいて移動距離を算出する。セグメントの長さと移動距離の関係は予め設定しておく。次いで、動き編集部17は、動きデータi,j,kにおける歩数の合計を算出する。次いで、動き編集部17は、移動距離を歩数の合計値で割る。動き編集部17は、その除算結果の値(距離)を、一歩当たりの移動距離(調整距離l)に設定する。次いで、動き編集部17は、動きデータi,j,kの各々に対して、一歩当たりの移動距離が調整距離lになるように、歩幅を補正する。この歩幅補正処理は上述した図8と同様である。
【図面の簡単な説明】
【0093】
【図1】本発明の一実施形態に係る映像コンテンツ生成装置1の構成を示すブロック図である。
【図2】音楽解析データ記憶部12の構成例である。
【図3】動き解析データ記憶部14の構成例である。
【図4】動き選択データ記憶部16の構成例である。
【図5】本発明の一実施形態に係るブレンディング処理を説明する概念図である。
【図6】本発明の一実施形態に係る動き長さ調整処理を説明する概念図である。
【図7】本発明の一実施形態に係る動き長さ調整処理を説明する概念図である。
【図8】本発明の一実施形態に係る歩幅補正処理を説明する概念図である。
【図9】動き編集データ記憶部18の構成例である。
【図10】CG動きデータ記憶部20の構成例である。
【図11】カメラ配置の例である。
【図12】シーンデータ記憶部22の構成例である。
【図13】本発明の他の実施形態に係る動き長さ調整処理を説明する概念図である。
【図14】人体スケルトン型動きデータの定義例である。
【符号の説明】
【0094】
1…映像コンテンツ生成装置、2…楽曲ファイル、3…動きデータベース、4…CGオブジェクトデータベース、5…シーン情報データベース、11…音楽解析部、12…音楽解析データ記憶部、13…動き解析部、14…動き解析データ記憶部、15…動き選択部(登場者数決定部)、16…動き選択データ記憶部、17…動き編集部(動き長さ調整部、ブレンディング処理部)、18…動き編集データ記憶部、19…CG動きデータ生成部、20…CG動きデータ記憶部、21…シーンデータ生成部(背景データ生成部、表情データ生成部、口型データ生成部、カメラワークデータ生成部)、22…シーンデータ記憶部、23…映像データ生成部、24…映像データ記憶部、25…再生部
【技術分野】
【0001】
本発明は、映像コンテンツ生成装置及びコンピュータプログラムに関する。
【背景技術】
【0002】
従来、音楽に合わせてコンピュータ・グラフィックス(CG)オブジェクトを表示させる技術として、特許文献1が知られている。特許文献1では、CGオブジェクトの時系列に対して、音楽データの静的属性または動的属性をもとにして描画情報(視点情報、光源情報)を再設定する。そして、音楽データをCGオブジェクト表示と同期して再生している。又、特許文献2に記載のモーション作成装置では、複数のモーションにおいて人体姿勢が類似する2つのフレーム間を連結した有向性グラフとしてモーションデータベースを構築し、その複数のモーションの中から、音楽データから取得したビート特徴成分と相関を有する動き特徴成分をもつモーションを選択している。
【0003】
音楽解析手法としては、非特許文献1に記載の技術が知られている。非特許文献1の技術によれば、発音成分、コードの変化、打楽器の発音時刻などを推定してビート間隔及びビート構造を取得している。
動き解析手法としては、非特許文献2に記載の技術が知られている。非特許文献2の技術によれば、動きビートの変化や発生時刻を推定してビート間隔及びビート構造を取得している。
【0004】
図14は、人の動きデータ(モーションデータ)の定義例の概略図である。図14の例は、人のスケルトン型動きデータ(人体スケルトン型動きデータ)の定義例である。人体スケルトン型動きデータは、人の骨格を基に、骨及び骨の連結点(ジョイント)を用い、一ジョイントを根(ルート)とし、ルートからジョイント経由で順次連結される骨の構造を木(ツリー)構造として定義される。図14には、人体スケルトン型動きデータの定義の一部分のみを示している。図14において、ジョイント100は腰の部分であり、ルートとして定義される。ジョイント101は左腕の肘の部分、ジョイント102は左腕の手首の部分、ジョイント103は右腕の肘の部分、ジョイント104は右腕の手首の部分、ジョイント105は左足の膝の部分、ジョイント106は左足の足首の部分、ジョイント107は右足の膝の部分、ジョイント108は右足の足首の部分、である。
【0005】
スケルトン型動きデータは、スケルトン型対象物の各ジョイントの動き(モーション)を記録したデータであり、スケルトン型対象物としては人体や動物、ロボットなどが適用可能である。スケルトン型動きデータとしては、各ジョイントの位置情報や角度情報、速度情報、加速度情報などが利用可能である。ここでは、人体スケルトン型動きデータとして、人体スケルトンの角度情報と加速度情報を例に挙げて説明する。
【0006】
人体スケルトン型角度情報データは、人の一連の動きを複数の姿勢(ポーズ)の連続により表すものであり、人の基本ポーズ(neutral pose)を表す基本ポーズデータと、実際の人の動きの中の各ポーズを表すポーズ毎のフレームデータとを有する。基本ポーズデータは、基本ポーズのときのルートの位置及び各ジョイントの位置、並びに各骨の長さなどの情報を有する。基本ポーズデータにより基本ポーズが特定される。フレームデータは、基本ポーズからの移動量をジョイント毎に表す。ここでは、移動量として角度情報を利用する。各フレームデータにより、基本ポーズに対して各移動量が加味された各ポーズが特定される。これにより、各フレームデータによって特定される各ポーズの連続により、人の一連の動きが特定される。なお、人体スケルトン型角度情報データは、人の動きをカメラ撮影した映像からモーションキャプチャ処理によって作成したり、或いは、キーフレームアニメーションの手作業によって作成したりすることができる。
人体スケルトン型加速度情報データは、人の各ジョイントの加速度をポーズ毎のフレームデータと複数のポーズの連続により表すものである。なお、人体スケルトン型加速度情報データは、加速度計で記録したり、映像や動きデータから算出したりすることができる。
【特許文献1】特開2005−56101号公報
【特許文献2】特開2007−18388号公報
【非特許文献1】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
【非特許文献2】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
【発明の開示】
【発明が解決しようとする課題】
【0007】
しかし、上述した特許文献1記載の従来技術では、ある楽曲に対してCGアニメーションを作成する際、CGオブジェクトの時系列がその楽曲の音楽の変化にそぐわない場合には、楽曲に合致したCGアニメーションを作成することが難しいという問題がある。又、特許文献2記載の従来技術では、一般に利用可能な膨大な数の動きデータに対して、人体姿勢が類似する2つのフレーム間を連結した有向性グラフとしてモーションデータベースを構築することは、現実的に難しいという問題がある。このため、実際のモーション作成対象の楽曲に基づいて選択された動きデータを対象にして、動きデータ間を連結することが望ましい。
【0008】
本発明は、このような事情を考慮してなされたもので、その目的は、楽曲の音楽の変化に合わせた映像コンテンツを生成する際に、該楽曲に基づいて選択された動きデータを対象にして、動きデータ間を連結することのできる映像コンテンツ生成装置及びコンピュータプログラムを提供することにある。
【課題を解決するための手段】
【0009】
上記の課題を解決するために、本発明に係る映像コンテンツ生成装置は、楽曲の音楽の変化に合わせた映像コンテンツを生成する映像コンテンツ生成装置において、映像コンテンツ生成対象の楽曲の音楽データを解析してセグメント毎に音楽特徴量を取得する音楽解析部と、映像コンテンツに利用可能な動きデータを解析して動き特徴量を取得する動き解析部と、前記音楽データに合致する動きデータを、音楽特徴量と動き特徴量に基づいてセグメント毎に選択する動き選択部と、前記音楽データの各セグメントに合わせて、前記選択された動きデータの長さを調整する動き長さ調整部と、前記選択された動きデータに対して、動きデータの接続部分を混合した補間データを生成するブレンディング処理部と、を備えたことを特徴とする。
【0010】
本発明に係る映像コンテンツ生成装置においては、前記動き長さ調整部は、動きデータの長さを伸長又は短縮する場合、動きデータにおける歩数の合計を算出し、セグメントの長さに基づいた移動距離を該歩数の合計値で除算し、該除算結果の値を一歩当たりの移動距離として、動きデータにおける歩幅を補正することを特徴とする。
【0011】
本発明に係る映像コンテンツ生成装置においては、前記ブレンディング処理部は、動きデータの接続区間において、接続区間長に対する接続区間の先頭からの距離の比に応じて、先の動きデータと後の動きデータを混合することを特徴とする。
【0012】
本発明に係る映像コンテンツ生成装置においては、前記音楽データのビート間隔に応じて、映像コンテンツに登場させる登場者数を決定する登場者数決定部を備えたことを特徴とする。
【0013】
本発明に係る映像コンテンツ生成装置においては、映像コンテンツに登場させるCGオブジェクトに対して動きデータを適用し、CG動きデータを生成するCG動きデータ生成部を備え、前記CG動きデータ生成部は、CGオブジェクトに含まれる頂点を動きデータに係る1つ以上の骨に対応させるとともに、動きデータに係るジョイントに対応する頂点は該ジョイントに結合する骨に対応させることを特徴とする。
【0014】
本発明に係る映像コンテンツ生成装置においては、映像コンテンツに用いる背景画像を楽曲の歌詞に基づいてデータベースから検索し、背景データを生成する背景データ生成部と、前記CG動きデータと背景データを用いて、映像コンテンツを生成する映像データ生成部と、を備えたことを特徴とする。
【0015】
本発明に係る映像コンテンツ生成装置においては、楽曲の歌詞に基づいて、CGオブジェクトの顔の表情を形成する表情データを生成する表情データ生成部を備えたことを特徴とする。
【0016】
本発明に係る映像コンテンツ生成装置においては、CGオブジェクトの口型に関し、楽曲の歌詞の読みに合わせた口型を形成する口型データを生成する口型データ生成部を備えたことを特徴とする。
【0017】
本発明に係る映像コンテンツ生成装置においては、撮影距離の異なる複数のカメラのうちから、音楽データのビート間隔に応じて、遠距離カメラ、中距離カメラ又は近距離カメラに切り替えるカメラワークを示すカメラワークデータを生成するカメラワークデータ生成部を備え、前記映像データ生成部は、該カメラワークデータに基づいて、映像コンテンツの画面構図を生成することを特徴とする。
【0018】
本発明に係るコンピュータプログラムは、楽曲の音楽の変化に合わせた映像コンテンツを生成する映像コンテンツ生成処理を行うためのコンピュータプログラムであって、映像コンテンツ生成対象の楽曲の音楽データを解析してセグメント毎に音楽特徴量を取得する音楽解析機能と、映像コンテンツに利用可能な動きデータを解析して動き特徴量を取得する動き解析機能と、前記音楽データに合致する動きデータを、音楽特徴量と動き特徴量に基づいてセグメント毎に選択する動き選択機能と、前記音楽データの各セグメントに合わせて、前記選択された動きデータの長さを調整する動き長さ調整機能と、前記選択された動きデータに対して、動きデータの接続部分を混合した補間データを生成するブレンディング処理機能と、をコンピュータに実現させることを特徴とする。
これにより、前述の映像コンテンツ生成装置がコンピュータを利用して実現できるようになる。
【発明の効果】
【0019】
本発明によれば、楽曲の音楽の変化に合わせた映像コンテンツを生成する際に、該楽曲に基づいて選択された動きデータを対象にして、動きデータ間を連結することができるという効果が得られる。
【発明を実施するための最良の形態】
【0020】
以下、図面を参照し、本発明の実施形態について説明する。
図1は、本発明の一実施形態に係る映像コンテンツ生成装置1の構成を示すブロック図である。図1において、映像コンテンツ生成装置1は、音楽解析部11、音楽解析データ記憶部12、動き解析部13、動き解析データ記憶部14、動き選択部15、動き選択データ記憶部16、動き編集部17、動き編集データ記憶部18、CG動きデータ生成部19、CG動きデータ記憶部20、シーンデータ生成部21、シーンデータ記憶部22、映像データ生成部23及び映像データ記憶部24を有する。
【0021】
映像コンテンツ生成装置1には、映像コンテンツ生成対象の楽曲の音楽データが楽曲ファイル2から入力される。
【0022】
動きデータベース3は、一般に利用可能な動きデータを多数蓄積している。映像コンテンツ生成装置1は、動きデータベース3から動きデータを入力する。本実施形態では、人の動きデータを扱い、人の動きデータとして、図14に例示されるように定義された人体スケルトン型動きデータを用いる。なお、本実施形態に係る以下の説明においては、人体スケルトン型動きデータのことを単に「動きデータ」と称する。
【0023】
CGオブジェクトデータベース4は、登場人物の外見のデータとして利用可能な様々なCGオブジェクトを蓄積する。CGオブジェクトは、人体スケルトン型動きデータと同様に定義されている。但し、CGオブジェクトは、基本ポーズのみである。
【0024】
シーン情報データベース5は、シーンの生成に利用可能なシーン情報を蓄積する。シーン情報としては、歌詞、背景の画像、表情テクスチャー、カメラワークパターンなどがある。
【0025】
再生部25は、楽曲の音楽データを再生するとともに、映像コンテンツ生成装置1により生成された映像データを画面表示する。
【0026】
以下、図1に示す映像コンテンツ生成装置1について順次、詳細に説明する。
【0027】
[音楽解析部]
音楽解析部11は、映像コンテンツ生成対象の楽曲の音楽データを解析してセグメント毎に音楽特徴量を取得する。音楽解析部11は、取得した音楽特徴量を音楽解析データ記憶部12に格納する。本実施形態では、音楽解析部11は、非特許文献1に記載の技術を用いて、音楽データから、セグメント毎にビート間隔及びビート構造を取得する。図2に音楽解析データ記憶部12の構成例を示す。図2に示されるように、音楽解析データ記憶部12は、音楽データの各セグメントに対応する、セグメント番号とセグメントの開始時刻とビート間隔とビート構造を記憶する。
【0028】
[動き解析部]
動き解析部13は、動きデータベース3内の動きデータをそれぞれに解析し、各動きデータに係る動き特徴量を取得する。動き解析部13は、取得した動き特徴量を動き解析データ記憶部14に格納する。本実施形態では、動き解析部13は、非特許文献2に記載の技術を用いて、動きデータからビート間隔及びビート構造を取得する。図3に動き解析データ記憶部14の構成例を示す。図3に示されるように、動き解析データ記憶部14は、各動きデータに対応する、動きデータの識別情報(動きデータID)とビート間隔とビート構造を記憶する。
【0029】
なお、動きデータとして人体スケルトン型角度情報データを利用する場合、人体スケルトン型角度情報データは、ルートの位置や方向と各骨の角度情報を有している。この角度情報は四元数(quaternion)に変更することができる。骨の角速度は、隣接するフレームのデータを取得し、(1)式で算出することができる。この角速度は動きデータの解析等に利用可能である。
【0030】
【数1】
【0031】
但し、qj(i)は第iフレーム中の第j骨の四元数である。hは隣接するフレーム間の時間間隔である。AngVelj(i)は第iフレーム中の第j骨の角速度である。
【0032】
[動き選択部]
動き選択部15は、音楽データの各セグメントに合った動きデータを選択する。動き選択部15は、音楽解析データ記憶部12内のセグメント番号毎に、ビート間隔及びビート構造を、動き解析データ記憶部14内の各動きデータIDのビート間隔及びビート構造と比較し、適合する動きデータを選択する。ここで、動き選択部15は、音楽データのセグメント毎に、音楽データと動きデータ間のビート間隔の距離を計算する。ビート間隔の距離Dbeatは、(2)式で表される。
【0033】
【数2】
【0034】
但し、beatimusicは音楽データのセグメント内の第i番目のビート間隔(但し、i<I、Iは音楽データのセグメント内のビートの個数)、beatjmotionは動きデータ内の第j番目のビート間隔(但し、j<J、Jは動きデータ内のビートの個数)である。
【0035】
動き選択部15は、音楽データのセグメント毎に、ビート間隔の距離Dbeatが最小である動きデータを選択する。なお、セグメントの長さに対して動きデータの長さが足りない場合には、距離Dbeatが短い方から複数を選択してもよい。動き選択部15は、音楽データの各セグメントに対して選択した動きデータの動きデータIDを、該当するセグメント番号に関連付けて動き選択データ記憶部16に格納する。
【0036】
又、動き選択部15は、音楽データのセグメント内のビート間隔に基づいて、当該セグメントにおける登場人数を決定する。登場人数は、(3)式で算出する。
【0037】
【数3】
【0038】
但し、TH1<TH2。
これにより、楽曲において、音楽的に盛り上がっているセグメント(ビート間隔が閾値TH1未満)では登場人数が多くなり((3)式の例では3人)、音楽的にさびしいセグメント(ビート間隔が閾値TH2以上)では登場人数が少なくなり((3)式の例では1人)、その中間のセグメント(ビート間隔が閾値TH1以上TH2未満)では登場人数が中間((3)式の例では2人)となる。動き選択部15は、音楽データの各セグメントに対して決定した登場人数を、該当するセグメント番号に関連付けて動き選択データ記憶部16に格納する。
【0039】
図4に動き選択データ記憶部16の構成例を示す。図4に示されるように、動き選択データ記憶部16は、音楽データの各セグメントに対応する、セグメント番号とセグメントの開始時刻と動きデータIDと登場人数を記憶する。
【0040】
[動き編集部]
動き編集部17は、動き選択部15によって選択された各セグメントに対する動きデータに対して、ブレンディング処理と動きの長さを調整する処理を行う。
【0041】
(ブレンディング処理)
まず、ブレンディング処理を説明する。
ブレンディング処理では、音楽データ中の隣接する2つのセグメント(セグメント番号が「n−1」と「n」とする)の各動きデータに対して、動きのつながりが不自然にならないように、両者の動きデータの接続部分を混合した補間データ(ブレンディング動きデータ)を生成する。図5に、ブレンディング処理を説明する概念図を示す。音楽データにおいて、セグメント「n−1」とセグメント「n」は隣接しており、セグメント「n」はセグメント「n−1」に続いている。
【0042】
図5に示されるように、セグメント「n−1」に対して動きデータ(n−1)が選択されている(動き選択データ記憶部16でセグメント番号「n−1」に関連付けて、動きデータ(n−1)の動きデータIDが記憶されている)。同様に、セグメント「n」に対して動きデータnが選択されている(動き選択データ記憶部16でセグメント番号「n」に関連付けて、動きデータnの動きデータIDが記憶されている)。
【0043】
動き編集部17は、動きデータ(n−1)と動きデータnを接続する接続区間(区間長m、但し、mは所定値)のブレンディング動きデータ(n−1)_nを生成する。動き編集部17は、動きデータ(n−1)のうち最後の区間長mのデータ(n−1)_mと動きデータnのうち最初の区間長mのデータn_mを用いて、ブレンディング動きデータ(n−1)_nを生成する。動き編集部17は、接続区間の区間長mに対する接続区間の先頭からの距離uの比(u/m)に応じて、データ(n−1)_mのうち距離uに対応するフレームiとデータn_mのうち距離uに対応するフレームjを混合する。具体的には、(4)式、(5)式及び(6)式により、ブレンディング動きデータ(n−1)_nを構成する各フレームを生成する。なお、(4)式は、ある一つの骨についての式となっている。
【0044】
【数4】
【0045】
【数5】
【0046】
【数6】
【0047】
但し、mはブレンディング動きデータ(n−1)_nを構成するフレーム(ブレンディングフレーム)の総数(所定値)、uはブレンディングフレームの先頭からの順番(1≦u≦m)、qはu番目のブレンディングフレームにおける骨の四元数、q(i)はフレームiにおける骨の四元数、q(j)はフレームjにおける骨の四元数、velはu番目のブレンディングフレームにおけるルート速度、vel(i)はフレームiにおけるルート速度、vel(j)はフレームjにおけるルート速度である。なお、(6)式はslerp(spherical linear interpolation)の算出式である。
【0048】
動き編集部17は、ブレンディング動きデータ(n−1)_nを、動きデータ(n−1)と動きデータnの接続部分のデータとする。
【0049】
なお、ブレンディング処理は、一セグメントにおいて、1つの動きデータでは長さが足りない場合に、複数の動きデータ(同一の動きデータであってもよい)を接続するためにも利用することができる。
【0050】
(動き長さ調整処理)
次に、動き長さ調整処理を説明する。
動き長さ調整処理では、音楽データの各セグメントに合わせて、動きデータの長さを調整する。あるセグメントの長さに対して、選択された動きデータ(1つ又は複数)の長さがびったり一致することは稀であると考えられる。このため、動きデータの長さを調整してセグメントの長さに合わせるようにする。図6、図7に、動き長さ調整処理を説明する概念図を示す。図6は、セグメントの長さに対して、選択された動きデータ(1つ又は複数)の長さが短い場合である。図7は、セグメントの長さに対して、選択された動きデータ(1つ又は複数)の長さが長すぎる場合である。
【0051】
まず、図6を参照して、セグメントの長さに対して、選択された動きデータ(1つ又は複数)の長さが短い場合を説明する。図6の例では、あるセグメントに対して2つの動きデータi,jが選択されている。動きデータi,jの合計の長さは該セグメントの長さよりも短い。従って、動きデータiと動きデータjの合計の移動距離では、セグメントの長さに対応する目的地まで到達しない。このため、動き編集部17は、動きデータi,jの長さをそれぞれ伸長させて、当該セグメントの長さに合わせる。
【0052】
動き編集部17は、セグメントの長さに基づいて移動距離を算出する。セグメントの長さと移動距離の関係は予め設定しておく。次いで、動き編集部17は、動きデータi,jにおける歩数の合計を算出する。次いで、動き編集部17は、移動距離を歩数の合計値で割る。動き編集部17は、その除算結果の値(距離)を、一歩当たりの移動距離(調整距離l)に設定する。
【0053】
動き編集部17は、動きデータi,jの各々に対して、一歩当たりの移動距離が調整距離lになるように、歩幅を補正する。図8に、この歩幅補正処理を説明する概念図を示す。図8には、人の下肢に対応するジョイント及び骨が示されている。人の歩行では、下肢を回転させてかかとを適切な方向に向けてから、かかとを目標位置に配置する。動き編集部17は、その回転角度θを計算式「θ=2×arcsin(l/2r)」により算出する。但し、rは下肢の回転半径である。
【0054】
次に、図7を参照して、セグメントの長さに対して、選択された動きデータ(1つ又は複数)の長さが長過ぎる場合を説明する。図7の例では、あるセグメントに対して3つの動きデータi,j,kが選択されている。動きデータi,j,kの合計の長さは該セグメントの長さよりも長い。このため、動き編集部17は、動きデータi,j,kのうち最後の動きデータkの後半部分を削除して、当該セグメントの長さに合わせる。
【0055】
なお、動き編集部17は、動き長さ調整処理の後に、ブレンディング処理を行う。
【0056】
又、動き編集部17は、登場人数が複数である場合、登場人物毎に、動き長さ調整処理及びブレンディング処理を行う。この場合、動き長さ調整処理では、登場人物同士がぶつからないように、歩幅の調整を行う。
【0057】
動き編集部17は、動き長さ調整処理及びブレンディング処理が終了した動き編集データを、登場人物毎に、動き編集データ記憶部18に格納する。図9に、動き編集データ記憶部18の構成例を示す。動き編集データは、音楽データの長さと同じ長さの動きを有する。
【0058】
[CG動きデータ生成部]
CG動きデータ生成部19は、CGオブジェクトデータベース4からCGオブジェクトを読み出し、CGオブジェクトに対して動き編集データを適用する。CGオブジェクトは、頂点の集まりとして、人物の外見を形成する。CGオブジェクトに対する動き編集データ適用処理では、CGオブジェクトに含まれる頂点は、動きデータに係る1つ以上の骨に対応させる。ジョイントに対応する頂点は該ジョイントに結合する骨に対応させる。CGオブジェクトの頂点に対応させた各骨には、所定の重み付けを行う。例えば、頂点に対応させた骨に関し、頂点の位置と骨の間の距離に応じて、重みを設定する。CG動きデータ生成部19は、(7)式により、CGオブジェクトの各頂点の動きデータを算出する。
【0059】
【数7】
【0060】
但し、vは移動前の頂点、v’は移動後の頂点を示す。nは当該頂点に関連する骨の個数である。Mi(k)はk番目の骨に係る変換行列、w(k)はk番目の骨に対する重みである(但し、Σkw(k)=1)。
【0061】
CG動きデータ生成部19は、登場人数が複数である場合、登場人物毎に、CGオブジェクトに対する動き編集データ適用処理を行う。この場合、登場人物毎に、CGオブジェクトを変えてもよい。
【0062】
CG動きデータ生成部19は、CGオブジェクトに対する動き編集データ適用処理によって生成したCG動きデータを、登場人物毎に、CG動きデータ記憶部20に格納する。図10に、CG動きデータ記憶部20の構成例を示す。CG動きデータは、音楽データの長さと同じ長さの動きを有するものであって、CGオブジェクトの動きを表す。
【0063】
[シーンデータ生成部]
シーンデータ生成部21は、シーン情報データベース5内のシーン情報を用いて、映像コンテンツのシーン生成処理を行う。映像コンテンツのシーン生成処理としては、背景データ生成処理、カメラワークデータ生成処理、表情データ生成処理、口型データ生成処理がある。
【0064】
(背景データ生成処理)
まず、背景データ生成処理を説明する。
背景データ生成処理では、シーン情報データベース5から楽曲の歌詞を読み出し、歌詞に合った背景画像をシーン情報データベース5から検索する。なお、デフォルトの背景画像は予め設定しておく。デフォルトの背景画像としては、例えば、コンサート会場やライブハウスなどのステージの画像を準備する。そして、楽曲の歌詞に含まれる単語をキーワードとして、シーン情報データベース5内の背景画像を検索する。シーン情報データベース5にはキーワード別に背景画像が格納されている。例えば、雪の風景、雨の風景、桜の風景など、キーワードに対応する風景の画像がシーン情報データベース5に蓄積されている。
【0065】
シーンデータ生成部21は、音楽解析部11の解析結果(つまり、音楽解析データ記憶部12の内容)に基づいて、セグメント毎に、背景画像を選択する。シーン情報データベース5内の歌詞には楽曲中の時刻が付されている。シーンデータ生成部21は、歌詞中のキーワードに基づいて検索した背景画像を、当該時刻のセグメントに対応する背景画像として選択する。なお、あるセグメントに関し、キーワードに対応する背景画像がシーン情報データベース5内に存在しなかった場合は、前セグメントの背景画像を選択する。
【0066】
シーンデータ生成部21は、セグメント毎に、背景画像(背景データ)をシーンデータ記憶部22に格納する。図12に、シーンデータ記憶部22の構成例を示す。
【0067】
(カメラワークデータ生成処理)
次に、カメラワークデータ生成処理を説明する。
カメラワークデータ生成処理では、音楽解析部11の解析結果(つまり、音楽解析データ記憶部12の内容)に基づいて、セグメント毎に、カメラワークを決定する。カメラワークパターンは、シーン情報データベース5に複数蓄積されている。カメラワークパターンは、カメラのズームインとズームアウトなど、カメラが撮る画面の構図を定義するものであって、構図の一連の流れを有する。図11に、カメラ配置の例を示す。図11の例では、3台のカメラ#1,#2,#3が配置されている。カメラ#1は、全景を撮ることのできる遠距離に配置されている。カメラ#3は、CGオブジェクトの顔をはっきりと撮ることのできる近距離に配置されている。カメラ#2は、カメラ#1とカメラ#3の中間の位置に配置されている。
【0068】
図11のカメラ配置のカメラワークとして、まずカメラ#1はCGオブジェクトを画面中央にとらえる構図で固定し、ズームインとズームアウトのカメラワークを音楽のテンポに合わせて選択させる。シーンデータ生成部21は、各セグメントのビート間隔及びビート構造に応じて、ズームイン又はズームアウトを選択する。ビート間隔及びビート構造に対応する動作(ズームイン又はズームアウト)は予め設定しておく。
【0069】
カメラ#2とカメラ#3は、シーン情報データベース5内から無作為に一つのカメラワークパターンを選択し、音楽のテンポに合わせて構図の変化のスピードを変える。シーンデータ生成部21は、各セグメントのビート間隔及びビート構造に応じて、構図の変化のスピードを選択する。ビート間隔及びビート構造に対応する動作(構図の変化のスピードをは予め設定しておく。
【0070】
カメラ#1,#2,#3の切り替えは、音楽のリズムによって切り替える。例えば、激しいリズム(ビート間隔が比較的短い)の場合はカメラ#1を選択し、ゆっくりしたリズム(ビート間隔が比較的長い)の場合はカメラ#2又は#3を選択する。具体的には、シーンデータ生成部21は、(8)式により、各セグメントのカメラ距離d(t)を計算し、カメラ#1,#2,#3のうちからカメラ距離d(t)に対応するカメラを選択する。
【0071】
【数8】
【0072】
但し、d(t)はCGオブジェクトからカメラまでの距離(カメラ距離)、dminはカメラ距離の最小値(所定値)、Beat(t)はビート間隔、kは重み(所定値)である。重みkはユーザにより設定可能とする。
【0073】
図12に示されるように、シーンデータ生成部21は、セグメント毎に、カメラワークデータをシーンデータ記憶部22に格納する。
【0074】
(表情データ生成処理)
次に、表情データ生成処理を説明する。
表情データ生成処理では、歌詞に合った表情テクスチャーをシーン情報データベース5から検索する。表情テクスチャーは、CGオブジェクトの顔の表情を形成する。なお、デフォルトの表情テクスチャーは予め設定しておく。
【0075】
シーンデータ生成部21は、カメラワークデータに基づいて、セグメント毎に、表情テクスチャーを決定する。図11のカメラ配置において、シーンデータ生成部21は、カメラ#1が選択されているセグメントでは、表情が見えないので表情テクスチャーを設定しない。一方、カメラ#2又は#3が選択されているセグメントでは、当該セグメントの歌詞に含まれるキーワードに対応する表情テクスチャーをシーン情報データベース5から検索し、検索結果の表情テクスチャーを設定する。なお、複数のキーワードがある場合など、表情テクスチャーを絞ることができないセグメントでは、無作為に表情テクスチャーを選択し設定する。
【0076】
図12に示されるように、シーンデータ生成部21は、セグメント毎に、表情テクスチャー(表情データ)をシーンデータ記憶部22に格納する。
【0077】
(口型データ生成処理)
次に、口型データ生成処理を説明する。
口型データ生成処理では、歌詞に合った口型データを生成する。口型データは、CGオブジェクトの口の形を形成する。なお、デフォルトの口型データは予め設定しておく。
【0078】
シーンデータ生成部21は、歌詞に基づいて、セグメント毎に、口型データを生成する。図11のカメラ配置において、シーンデータ生成部21は、カメラ#1が選択されているセグメントでは、表情が見えないので口型データを設定しない。一方、カメラ#2又は#3が選択されているセグメントでは、当該セグメントの歌詞の読みに合わせた口型データを生成する。口型データには歌詞に合わせた描写時刻を含める。シーンデータ生成部21は、(9)式により、口型のモーフィングデータを算出する。
【0079】
【数9】
【0080】
但し、A,Bは歌詞中の連続する読みの口型である(Aが先でBが後)。tはAの読みの時刻からの時間比である。
【0081】
図12に示されるように、シーンデータ生成部21は、セグメント毎に、口型データをシーンデータ記憶部22に格納する。
【0082】
なお、ユーザが、背景、カメラワーク、顔の表情などを任意に設定することができるように、シーン情報データベース5内のデータの表示手段、該表示データから任意のデータを指定する指定手段、データの入力手段及び編集手段などを設けてもよい。
【0083】
[映像データ生成部]
映像データ生成部23は、CG動きデータ記憶部20内のCG動きデータとシーンデータ記憶部22内のシーンデータを用いて、映像データを生成する。まず、映像データ生成部23は、シーンデータ内の表情データ及び口型データを各登場人物のCG動きデータに適用する。次いで、映像データ生成部23は、シーンデータ内のカメラワークデータに基づいて、各登場人物のCG動きデータを用いた画面構図を生成する。次いで、映像データ生成部23は、シーンデータ内の背景データによる背景画像と各登場人物のCG動きデータを用いた画面構図とを合成する。これにより、実際に表示するための映像データが生成される。映像データ生成部23は、生成した映像データを映像データ記憶部24に格納する。
【0084】
再生部25は、楽曲の音楽データを再生するとともに、映像コンテンツ生成装置1から映像データ記憶部24内の映像データを受け取って画面表示する。これにより、楽曲の音楽に合わせてCGオブジェクトが動くアニメーション映像が再生される。
【0085】
なお、本実施形態に係る映像コンテンツ生成装置1は、専用のハードウェアにより実現されるものであってもよく、あるいはパーソナルコンピュータ等のコンピュータシステムにより構成され、図1に示される映像コンテンツ生成装置1の各部の機能を実現するためのプログラムを実行することによりその機能を実現させるものであってもよい。
【0086】
また、その映像コンテンツ生成装置1には、周辺機器として入力装置、表示装置等が接続されるものとする。ここで、入力装置とはキーボード、マウス等の入力デバイスのことをいう。表示装置とはCRT(Cathode Ray Tube)や液晶表示装置等のことをいう。
また、上記周辺機器については、映像コンテンツ生成装置1に直接接続するものであってもよく、あるいは通信回線を介して接続するようにしてもよい。
【0087】
また、図1に示す映像コンテンツ生成装置1の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより、映像コンテンツ生成処理を行ってもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものであってもよい。
また、「コンピュータシステム」は、WWWシステムを利用している場合であれば、ホームページ提供環境(あるいは表示環境)も含むものとする。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、フラッシュメモリ等の書き込み可能な不揮発性メモリ、DVD(Digital Versatile Disk)等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。
【0088】
さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ(例えばDRAM(Dynamic Random Access Memory))のように、一定時間プログラムを保持しているものも含むものとする。
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。
また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であっても良い。
【0089】
以上、本発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の設計変更等も含まれる。
例えば、上述した実施形態では人の動きデータを扱ったが、本発明は各種の物体の動きデータに適用することができる。ここで、物体とは、人、動物、植物その他の生物、及び、生物以外の物(ロボット等)を含む。又、スケルトン型動きデータは、人、動物、植物その他の生物、及び、生物以外の物に対して、適用可能である。
【0090】
なお、音楽解析部11は、音楽データを解析して、パワーの変化、発音成分又はコードの変化を取得するようにしてもよい。動き選択部15は、音楽解析部11の解析結果である、パワーの変化、発音成分又はコードの変化に基づいて、動きデータを選択するようにしてもよい。
【0091】
また、動き編集部17は、動き長さ調整処理において、セグメントの長さに対して、選択された動きデータ(1つ又は複数)の長さが長過ぎる場合、図13に示すように、各動きデータの長さを短縮するようにしてもよい。図13の例では、あるセグメントに対して3つの動きデータi,j,kが選択されている。動きデータi,j,kの合計の長さは該セグメントの長さよりも長い。このため、動き編集部17は、動きデータi,j,kをそれぞれに長さを短縮して、当該セグメントの長さに合わせる。
【0092】
この動き長さ短縮処理では、まず、動き編集部17は、セグメントの長さに基づいて移動距離を算出する。セグメントの長さと移動距離の関係は予め設定しておく。次いで、動き編集部17は、動きデータi,j,kにおける歩数の合計を算出する。次いで、動き編集部17は、移動距離を歩数の合計値で割る。動き編集部17は、その除算結果の値(距離)を、一歩当たりの移動距離(調整距離l)に設定する。次いで、動き編集部17は、動きデータi,j,kの各々に対して、一歩当たりの移動距離が調整距離lになるように、歩幅を補正する。この歩幅補正処理は上述した図8と同様である。
【図面の簡単な説明】
【0093】
【図1】本発明の一実施形態に係る映像コンテンツ生成装置1の構成を示すブロック図である。
【図2】音楽解析データ記憶部12の構成例である。
【図3】動き解析データ記憶部14の構成例である。
【図4】動き選択データ記憶部16の構成例である。
【図5】本発明の一実施形態に係るブレンディング処理を説明する概念図である。
【図6】本発明の一実施形態に係る動き長さ調整処理を説明する概念図である。
【図7】本発明の一実施形態に係る動き長さ調整処理を説明する概念図である。
【図8】本発明の一実施形態に係る歩幅補正処理を説明する概念図である。
【図9】動き編集データ記憶部18の構成例である。
【図10】CG動きデータ記憶部20の構成例である。
【図11】カメラ配置の例である。
【図12】シーンデータ記憶部22の構成例である。
【図13】本発明の他の実施形態に係る動き長さ調整処理を説明する概念図である。
【図14】人体スケルトン型動きデータの定義例である。
【符号の説明】
【0094】
1…映像コンテンツ生成装置、2…楽曲ファイル、3…動きデータベース、4…CGオブジェクトデータベース、5…シーン情報データベース、11…音楽解析部、12…音楽解析データ記憶部、13…動き解析部、14…動き解析データ記憶部、15…動き選択部(登場者数決定部)、16…動き選択データ記憶部、17…動き編集部(動き長さ調整部、ブレンディング処理部)、18…動き編集データ記憶部、19…CG動きデータ生成部、20…CG動きデータ記憶部、21…シーンデータ生成部(背景データ生成部、表情データ生成部、口型データ生成部、カメラワークデータ生成部)、22…シーンデータ記憶部、23…映像データ生成部、24…映像データ記憶部、25…再生部
【特許請求の範囲】
【請求項1】
楽曲の音楽の変化に合わせた映像コンテンツを生成する映像コンテンツ生成装置において、
映像コンテンツ生成対象の楽曲の音楽データを解析してセグメント毎に音楽特徴量を取得する音楽解析部と、
映像コンテンツに利用可能な動きデータを解析して動き特徴量を取得する動き解析部と、
前記音楽データに合致する動きデータを、音楽特徴量と動き特徴量に基づいてセグメント毎に選択する動き選択部と、
前記音楽データの各セグメントに合わせて、前記選択された動きデータの長さを調整する動き長さ調整部と、
前記選択された動きデータに対して、動きデータの接続部分を混合した補間データを生成するブレンディング処理部と、
を備えたことを特徴とする映像コンテンツ生成装置。
【請求項2】
前記動き長さ調整部は、動きデータの長さを伸長又は短縮する場合、
動きデータにおける歩数の合計を算出し、
セグメントの長さに基づいた移動距離を該歩数の合計値で除算し、
該除算結果の値を一歩当たりの移動距離として、動きデータにおける歩幅を補正する、
ことを特徴とする請求項1に記載の映像コンテンツ生成装置。
【請求項3】
前記ブレンディング処理部は、動きデータの接続区間において、接続区間長に対する接続区間の先頭からの距離の比に応じて、先の動きデータと後の動きデータを混合することを特徴とする請求項1に記載の映像コンテンツ生成装置。
【請求項4】
前記音楽データのビート間隔に応じて、映像コンテンツに登場させる登場者数を決定する登場者数決定部を備えたことを特徴とする請求項1に記載の映像コンテンツ生成装置。
【請求項5】
映像コンテンツに登場させるCGオブジェクトに対して動きデータを適用し、CG動きデータを生成するCG動きデータ生成部を備え、
前記CG動きデータ生成部は、CGオブジェクトに含まれる頂点を動きデータに係る1つ以上の骨に対応させるとともに、動きデータに係るジョイントに対応する頂点は該ジョイントに結合する骨に対応させる、
ことを特徴とする請求項1に記載の映像コンテンツ生成装置。
【請求項6】
映像コンテンツに用いる背景画像を楽曲の歌詞に基づいてデータベースから検索し、背景データを生成する背景データ生成部と、
前記CG動きデータと背景データを用いて、映像コンテンツを生成する映像データ生成部と、
を備えたことを特徴とする請求項5に記載の映像コンテンツ生成装置。
【請求項7】
楽曲の歌詞に基づいて、CGオブジェクトの顔の表情を形成する表情データを生成する表情データ生成部を備えたことを特徴とする請求項6に記載の映像コンテンツ生成装置。
【請求項8】
CGオブジェクトの口型に関し、楽曲の歌詞の読みに合わせた口型を形成する口型データを生成する口型データ生成部を備えたことを特徴とする請求項6に記載の映像コンテンツ生成装置。
【請求項9】
撮影距離の異なる複数のカメラのうちから、音楽データのビート間隔に応じて、遠距離カメラ、中距離カメラ又は近距離カメラに切り替えるカメラワークを示すカメラワークデータを生成するカメラワークデータ生成部を備え、
前記映像データ生成部は、該カメラワークデータに基づいて、映像コンテンツの画面構図を生成する、
ことを特徴とする請求項6に記載の映像コンテンツ生成装置。
【請求項10】
楽曲の音楽の変化に合わせた映像コンテンツを生成する映像コンテンツ生成処理を行うためのコンピュータプログラムであって、
映像コンテンツ生成対象の楽曲の音楽データを解析してセグメント毎に音楽特徴量を取得する音楽解析機能と、
映像コンテンツに利用可能な動きデータを解析して動き特徴量を取得する動き解析機能と、
前記音楽データに合致する動きデータを、音楽特徴量と動き特徴量に基づいてセグメント毎に選択する動き選択機能と、
前記音楽データの各セグメントに合わせて、前記選択された動きデータの長さを調整する動き長さ調整機能と、
前記選択された動きデータに対して、動きデータの接続部分を混合した補間データを生成するブレンディング処理機能と、
をコンピュータに実現させることを特徴とするコンピュータプログラム。
【請求項1】
楽曲の音楽の変化に合わせた映像コンテンツを生成する映像コンテンツ生成装置において、
映像コンテンツ生成対象の楽曲の音楽データを解析してセグメント毎に音楽特徴量を取得する音楽解析部と、
映像コンテンツに利用可能な動きデータを解析して動き特徴量を取得する動き解析部と、
前記音楽データに合致する動きデータを、音楽特徴量と動き特徴量に基づいてセグメント毎に選択する動き選択部と、
前記音楽データの各セグメントに合わせて、前記選択された動きデータの長さを調整する動き長さ調整部と、
前記選択された動きデータに対して、動きデータの接続部分を混合した補間データを生成するブレンディング処理部と、
を備えたことを特徴とする映像コンテンツ生成装置。
【請求項2】
前記動き長さ調整部は、動きデータの長さを伸長又は短縮する場合、
動きデータにおける歩数の合計を算出し、
セグメントの長さに基づいた移動距離を該歩数の合計値で除算し、
該除算結果の値を一歩当たりの移動距離として、動きデータにおける歩幅を補正する、
ことを特徴とする請求項1に記載の映像コンテンツ生成装置。
【請求項3】
前記ブレンディング処理部は、動きデータの接続区間において、接続区間長に対する接続区間の先頭からの距離の比に応じて、先の動きデータと後の動きデータを混合することを特徴とする請求項1に記載の映像コンテンツ生成装置。
【請求項4】
前記音楽データのビート間隔に応じて、映像コンテンツに登場させる登場者数を決定する登場者数決定部を備えたことを特徴とする請求項1に記載の映像コンテンツ生成装置。
【請求項5】
映像コンテンツに登場させるCGオブジェクトに対して動きデータを適用し、CG動きデータを生成するCG動きデータ生成部を備え、
前記CG動きデータ生成部は、CGオブジェクトに含まれる頂点を動きデータに係る1つ以上の骨に対応させるとともに、動きデータに係るジョイントに対応する頂点は該ジョイントに結合する骨に対応させる、
ことを特徴とする請求項1に記載の映像コンテンツ生成装置。
【請求項6】
映像コンテンツに用いる背景画像を楽曲の歌詞に基づいてデータベースから検索し、背景データを生成する背景データ生成部と、
前記CG動きデータと背景データを用いて、映像コンテンツを生成する映像データ生成部と、
を備えたことを特徴とする請求項5に記載の映像コンテンツ生成装置。
【請求項7】
楽曲の歌詞に基づいて、CGオブジェクトの顔の表情を形成する表情データを生成する表情データ生成部を備えたことを特徴とする請求項6に記載の映像コンテンツ生成装置。
【請求項8】
CGオブジェクトの口型に関し、楽曲の歌詞の読みに合わせた口型を形成する口型データを生成する口型データ生成部を備えたことを特徴とする請求項6に記載の映像コンテンツ生成装置。
【請求項9】
撮影距離の異なる複数のカメラのうちから、音楽データのビート間隔に応じて、遠距離カメラ、中距離カメラ又は近距離カメラに切り替えるカメラワークを示すカメラワークデータを生成するカメラワークデータ生成部を備え、
前記映像データ生成部は、該カメラワークデータに基づいて、映像コンテンツの画面構図を生成する、
ことを特徴とする請求項6に記載の映像コンテンツ生成装置。
【請求項10】
楽曲の音楽の変化に合わせた映像コンテンツを生成する映像コンテンツ生成処理を行うためのコンピュータプログラムであって、
映像コンテンツ生成対象の楽曲の音楽データを解析してセグメント毎に音楽特徴量を取得する音楽解析機能と、
映像コンテンツに利用可能な動きデータを解析して動き特徴量を取得する動き解析機能と、
前記音楽データに合致する動きデータを、音楽特徴量と動き特徴量に基づいてセグメント毎に選択する動き選択機能と、
前記音楽データの各セグメントに合わせて、前記選択された動きデータの長さを調整する動き長さ調整機能と、
前記選択された動きデータに対して、動きデータの接続部分を混合した補間データを生成するブレンディング処理機能と、
をコンピュータに実現させることを特徴とするコンピュータプログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【公開番号】特開2010−44484(P2010−44484A)
【公開日】平成22年2月25日(2010.2.25)
【国際特許分類】
【出願番号】特願2008−206721(P2008−206721)
【出願日】平成20年8月11日(2008.8.11)
【出願人】(000208891)KDDI株式会社 (2,700)
【Fターム(参考)】
【公開日】平成22年2月25日(2010.2.25)
【国際特許分類】
【出願日】平成20年8月11日(2008.8.11)
【出願人】(000208891)KDDI株式会社 (2,700)
【Fターム(参考)】
[ Back to top ]