(57)【要約】【課題】特定の表現を反映させた動画コンテンツを生成する際に、ロバスト性の向上や非周期的な動きにも適応できることを図る。【解決手段】動きの種類毎に、学習対象の特定の表現のスケルトン動きデータとニュートラルのスケルトン動きデータを用いて、スケルトン動きデータの主成分空間で、該ニュートラルのスケルトン動きデータを該特定の表現のスケルトン動きデータに変換するための変換関数のパラメータを算出する学習部３と、算出されたパラメータを動きの種類毎に記憶する記憶部５と、変換対象の動きの種類のニュートラルのスケルトン動きデータを入力する入力部２と、変換対象の動きの種類に対応する前記算出されたパラメータを用いて、変換関数により、入力されたニュートラルのスケルトン動きデータを主成分空間で、指定された特定の表現のスケルトン動きデータに変換する変換部４、を備える。【選択図】図２
2014115943.tif 000002
【特許請求の範囲】
【請求項１】
動きの種類毎に、学習対象の特定の表現のスケルトン動きデータとニュートラルのスケルトン動きデータを用いて、スケルトン動きデータの主成分空間で、前記ニュートラルのスケルトン動きデータを前記特定の表現のスケルトン動きデータに変換するための変換関数のパラメータを算出する学習部と、
前記算出されたパラメータを動きの種類毎に記憶する記憶部と、
変換対象の動きの種類のニュートラルのスケルトン動きデータを入力する入力部と、
前記変換対象の動きの種類に対応する前記算出されたパラメータを用いて、前記変換関数により、前記入力されたニュートラルのスケルトン動きデータを主成分空間で、指定された特定の表現のスケルトン動きデータに変換する変換部と、
を備えたことを特徴とする動画コンテンツ生成装置。
【請求項２】
前記学習部は、スケルトン動きデータの主成分空間でセグメント毎に線形回帰手法により、空間パラメータおよび時間パラメータを求めることを特徴とする請求項１に記載の動画コンテンツ生成装置。
【請求項３】
前記学習部は、線形回帰手法により前記空間パラメータを算出する際に、主成分座標の微分値を用い、
前記変換部は、前記空間パラメータを用いて前記変換関数により、前記入力されたニュートラルのスケルトン動きデータの主成分座標の微分値に対して変換を行い、該変換された微分値を積分する、
ことを特徴とする請求項２に記載の動画コンテンツ生成装置。
【請求項４】
動きの種類毎に、学習対象の特定の表現のスケルトン動きデータとニュートラルのスケルトン動きデータを用いて、スケルトン動きデータの主成分空間で、前記ニュートラルのスケルトン動きデータを前記特定の表現のスケルトン動きデータに変換するための変換関数のパラメータを算出する学習ステップと、
前記算出されたパラメータを動きの種類毎に記憶する記憶ステップと、
変換対象の動きの種類のニュートラルのスケルトン動きデータを入力する入力ステップと、
前記変換対象の動きの種類に対応する前記算出されたパラメータを用いて、前記変換関数により、前記入力されたニュートラルのスケルトン動きデータを主成分空間で、指定された特定の表現のスケルトン動きデータに変換する変換ステップと、
を含むことを特徴とする動画コンテンツ生成方法。
【請求項５】
動きの種類毎に、学習対象の特定の表現のスケルトン動きデータとニュートラルのスケルトン動きデータを用いて、スケルトン動きデータの主成分空間で、前記ニュートラルのスケルトン動きデータを前記特定の表現のスケルトン動きデータに変換するための変換関数のパラメータを算出する学習ステップと、
前記算出されたパラメータを動きの種類毎に記憶する記憶ステップと、
変換対象の動きの種類のニュートラルのスケルトン動きデータを入力する入力ステップと、
前記変換対象の動きの種類に対応する前記算出されたパラメータを用いて、前記変換関数により、前記入力されたニュートラルのスケルトン動きデータを主成分空間で、指定された特定の表現のスケルトン動きデータに変換する変換ステップと、
をコンピュータに実行させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、動画コンテンツ生成装置、動画コンテンツ生成方法およびコンピュータプログラムに関する。
【背景技術】
【０００２】
近年、携帯端末上で動作する音声対話型のユーザインタフェースが商用化されているが、今後は対話内容だけでなく、「embodied conversational agent」と呼ばれるキャラクタ表示など、よりリッチな表現が可能な動画コンテンツに対するニーズが高まってくると考えられる。また、対話システムにおいて、キャラクタの可愛らしさや親近感を醸成する感情表現が反映されたビジュアルはユーザの満足度向上のために重要な要素であり、感情表現を反映させた動画コンテンツを生成する技術は重要となる。
【０００３】
コンピュータグラフィックスによる動画コンテンツの表示に使用されるコンテンツデータとしては、例えば、スケルトン型の動きデータ（以下、スケルトン動きデータと称する）が知られている。ここでは、人体の姿勢（ポーズ）の動きを表現するデータとして、図５に例示される人体のスケルトン動きデータについて説明する。図５は、人体のスケルトン動きデータの定義例の概略図である。スケルトン動きデータは、人の骨格を基に、骨及び骨の連結点（ジョイント）を用い、一ジョイントを根（ルート）とし、ルートからジョイント経由で順次連結される骨の構造を木（ツリー）構造として定義される。図５には、スケルトン動きデータの定義の一部分のみを示している。図５において、ジョイント１００は腰の部分であり、ルートとして定義される。ジョイント１０１は左腕の肘の部分、ジョイント１０２は左腕の手首の部分、ジョイント１０３は右腕の肘の部分、ジョイント１０４は右腕の手首の部分、ジョイント１０５は左足の膝の部分、ジョイント１０６は左足の足首の部分、ジョイント１０７は右足の膝の部分、ジョイント１０８は右足の足首の部分、ジョイント１０９は鎖骨の部分、ジョイント１１０、１１１は肩の部分、ジョイント１１２は首の部分、ジョイント１１３、１１４は股関節の部分、である。
【０００４】
スケルトン動きデータは、スケルトン型対象物の各ジョイントの動きを記録したデータであり、スケルトン型対象物としては人体や動物、ロボットなどが適用可能である。スケルトン動きデータとしては、各ジョイントの位置情報や角度情報、速度情報、加速度情報などが利用可能である。ここでは、スケルトン動きデータとして、人体スケルトンの角度情報を例に挙げて説明する。
【０００５】
人体スケルトン型角度情報データは、人の一連の動きを複数のポーズの連続により表すものであり、人の基本ポーズ（neutral pose）を表す基本ポーズデータと、実際の人の動きの中の各ポーズを表すポーズ毎のフレームデータとを有する。基本ポーズデータは、基本ポーズのときのルートの位置及び各ジョイントの位置、並びに各骨の長さなどの情報を有する。基本ポーズデータにより基本ポーズが特定される。フレームデータは、基本ポーズからの移動量をジョイント毎に表す。ここでは、移動量として角度情報を利用する。各フレームデータにより、基本ポーズに対して各移動量が加味された各ポーズが特定される。これにより、各フレームデータによって特定される各ポーズの連続により、人の一連の動きが特定される。なお、人体スケルトン型角度情報データは、人の動きをカメラ撮影した映像からモーションキャプチャ処理によって作成したり、或いは、キーフレームアニメーションの手作業によって作成したりすることができる。
【０００６】
従来、特に感情表現が反映されていないニュートラルな動きと、特定の感情表現が反映された動きとの差分を学習させたモデルを作成し、このモデルを使用して、入力されたニュートラルな動きを変換する技術が知られている。例えば、非特許文献１の従来技術では、手首などの「End Effector関節」を対象にして、速度と空間の幅を学習させている。非特許文献２の従来技術では、主成分空間においてサイン関数で近似するモデルを学習させる。
【先行技術文献】
【非特許文献】
【０００７】
【非特許文献１】AMAYA, K., BRUDERLIN, A., AND CALVERT, T. 1996. Emotion from Motion. In Graphics Interface, 222-229.
【非特許文献２】TROJE, N. 2002. Decomposing biological motion: A framework for analysis and synthesis of human gait patterns. In Journal of Vision. 2(5):371-387.
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかし、上述した非特許文献１の従来技術では、各関節の相関性を考慮していないので、ニュートラルな動きと特定の感情表現が反映された動きの対応関係を関節空間でロバスト性を有するように求めることが難しい。また、非特許文献２の従来技術では、歩行などの周期的な動きには対応できるが、お辞儀などの非周期的な動きには不向きである。一般に対話システムでのユーザの動きは非周期的であることが多く、非特許文献２の従来技術では不十分である。
【０００９】
本発明は、このような事情を考慮してなされたもので、特定の表現を反映させた動画コンテンツを生成する際に、ロバスト性の向上や非周期的な動きにも適応できる動画コンテンツ生成装置、動画コンテンツ生成方法およびコンピュータプログラムを提供することを課題とする。
【課題を解決するための手段】
【００１０】
上記の課題を解決するために、本発明に係る動画コンテンツ生成装置は、動きの種類毎に、学習対象の特定の表現のスケルトン動きデータとニュートラルのスケルトン動きデータを用いて、スケルトン動きデータの主成分空間で、前記ニュートラルのスケルトン動きデータを前記特定の表現のスケルトン動きデータに変換するための変換関数のパラメータを算出する学習部と、前記算出されたパラメータを動きの種類毎に記憶する記憶部と、変換対象の動きの種類のニュートラルのスケルトン動きデータを入力する入力部と、前記変換対象の動きの種類に対応する前記算出されたパラメータを用いて、前記変換関数により、前記入力されたニュートラルのスケルトン動きデータを主成分空間で、指定された特定の表現のスケルトン動きデータに変換する変換部と、を備えたことを特徴とする。
【００１１】
本発明に係る動画コンテンツ生成装置において、前記学習部は、スケルトン動きデータの主成分空間でセグメント毎に線形回帰手法により、空間パラメータおよび時間パラメータを求めることを特徴とする。
【００１２】
本発明に係る動画コンテンツ生成装置において、前記学習部は、線形回帰手法により前記空間パラメータを算出する際に、主成分座標の微分値を用い、前記変換部は、前記空間パラメータを用いて前記変換関数により、前記入力されたニュートラルのスケルトン動きデータの主成分座標の微分値に対して変換を行い、該変換された微分値を積分する、ことを特徴とする。
【００１３】
本発明に係る動画コンテンツ生成方法は、動きの種類毎に、学習対象の特定の表現のスケルトン動きデータとニュートラルのスケルトン動きデータを用いて、スケルトン動きデータの主成分空間で、前記ニュートラルのスケルトン動きデータを前記特定の表現のスケルトン動きデータに変換するための変換関数のパラメータを算出する学習ステップと、前記算出されたパラメータを動きの種類毎に記憶する記憶ステップと、変換対象の動きの種類のニュートラルのスケルトン動きデータを入力する入力ステップと、前記変換対象の動きの種類に対応する前記算出されたパラメータを用いて、前記変換関数により、前記入力されたニュートラルのスケルトン動きデータを主成分空間で、指定された特定の表現のスケルトン動きデータに変換する変換ステップと、を含むことを特徴とする。
【００１４】
本発明に係るコンピュータプログラムは、動きの種類毎に、学習対象の特定の表現のスケルトン動きデータとニュートラルのスケルトン動きデータを用いて、スケルトン動きデータの主成分空間で、前記ニュートラルのスケルトン動きデータを前記特定の表現のスケルトン動きデータに変換するための変換関数のパラメータを算出する学習ステップと、前記算出されたパラメータを動きの種類毎に記憶する記憶ステップと、変換対象の動きの種類のニュートラルのスケルトン動きデータを入力する入力ステップと、前記変換対象の動きの種類に対応する前記算出されたパラメータを用いて、前記変換関数により、前記入力されたニュートラルのスケルトン動きデータを主成分空間で、指定された特定の表現のスケルトン動きデータに変換する変換ステップと、をコンピュータに実行させるためのコンピュータプログラムであることを特徴とする。
【発明の効果】
【００１５】
本発明によれば、特定の表現を反映させた動画コンテンツを生成する際に、ロバスト性の向上や非周期的な動きにも適応できるという効果が得られる。
【図面の簡単な説明】
【００１６】
【図１】本発明の概念を説明するための説明図である。
【図２】本発明の一実施形態に係る動画コンテンツ生成装置１の構成を示すブロック図である。
【図３】セグメントの生成例を示すグラフ図である。
【図４】時間軸の正規化例を示すグラフ図である。
【図５】人体のスケルトン動きデータの定義例の概略図である。
【発明を実施するための形態】
【００１７】
以下、図面を参照し、本発明の実施形態について説明する。
【００１８】
はじめに図１を参照して本発明の概念を説明する。本発明では、学習データを用いて変換関数の学習を行う学習段階Ｓ１と、変換関数を用いて動き表現の変換を行う変換段階Ｓ２とを有する。学習段階Ｓ１では、特に感情表現が反映されていないニュートラルな動きデータと、特定の感情表現が反映された動きデータとを用いて変換関数の学習を行う。図１の例では、ニュートラルな動きデータと感情表現１が反映された動きデータとを用いて変換関数ｆ１の学習が行われ、又、ニュートラルな動きデータと感情表現２が反映された動きデータとを用いて変換関数ｆ２の学習が行われる。変換関数ｆ１は、ニュートラルな動きデータに対して感情表現１を反映させるための変換関数である。変換関数ｆ２は、ニュートラルな動きデータに対して感情表現２を反映させるための変換関数である。
【００１９】
次いで、変換段階Ｓ２では、ニュートラルな動きデータに対して、指定された表現を反映させるための変換関数を用いて動き表現の変換が行われる。図１の例では、ニュートラルな動きデータに対して、指定された感情表現１を反映させるための変換関数ｆ１を用いて動き表現の変換が行われ、感情表現１が反映された動きデータが生成されている。又、ニュートラルな動きデータに対して、指定された感情表現２を反映させるための変換関数ｆ２を用いて動き表現の変換が行われ、感情表現２が反映された動きデータが生成されている。
【００２０】
図２は、本発明の一実施形態に係る動画コンテンツ生成装置１の構成を示すブロック図である。図２において、動画コンテンツ生成装置１は、入力部２と学習部３と変換部４と記憶部５と出力部６を備える。
【００２１】
［入力部］
入力部２は、学習用のスケルトン動きデータと、変換用のスケルトン動きデータとを入力する。入力部２は、学習用のスケルトン動きデータを学習部３へ出力し、変換用のスケルトン動きデータを変換部４へ出力する。学習用のスケルトン動きデータおよび変換用のスケルトン動きデータは、動きの種類で区別されている。動きの種類には、例えば、歩く動き、走る動き、跳ねる動き、頷く動き、首を振る動き、ノックする動きなど、様々な種類がある。
【００２２】
学習用のスケルトン動きデータとしては、動きの種類毎に、特定の表現のスケルトン動きデータとニュートラルのスケルトン動きデータとが入力される。表現の種類には、例えば、感情の表現、性別の表現、年齢の表現、地域の表現など、様々な種類がある。感情の表現には、例えば、笑う表現、怒る表現、寂しい表現、落ち込む表現、喜ぶ表現など、様々な表現がある。ニュートラルのスケルトン動きデータは、特に表現が反映されていないスケルトン動きデータである。
【００２３】
変換用のスケルトン動きデータとしては、動きの種類毎に、ニュートラルのスケルトン動きデータが入力される。
【００２４】
また、入力部２は、変換用のスケルトン動きデータに対してどのような表現を反映させるのかを指定する表現指定データを入力する。この表現指定データは変換部４へ出力される。
【００２５】
［学習部］
図２に示されるように、学習部３は、物理量変換部１１と主成分分析部１２とセグメント生成部１３と時間軸正規化部１４と空間軸線形回帰部１５と時間軸線形回帰部１６を有する。学習部３は、動きの種類毎に、特定の表現のスケルトン動きデータとニュートラルのスケルトン動きデータを用いて、スケルトン動きデータの主成分空間でセグメント毎に線形回帰手法により、該ニュートラルのスケルトン動きデータを該特定の表現のスケルトン動きデータに変換するための変換関数のパラメータを算出する。以下、各部１１〜１６について詳細に説明する。なお、学習部３には、入力部２から、動きの種類毎に、特定の表現のスケルトン動きデータとニュートラルのスケルトン動きデータとが入力されるが、特に区別しないときは単にスケルトン動きデータと称する。
【００２６】
［物理量変換部］
物理量変換部１１は、入力されたスケルトン動きデータから、主成分分析部１２に入力するデータを生成する。物理量変換部１１は、スケルトン動きデータが表す動きの期間において、各ジョイントがルートに対してどの位置で動いているのかを算出する。ここでは、スケルトン動きデータの一種である人体スケルトン型角度情報データを用いて、時刻ｔにおけるジョイント相対位置を算出する。ジョイント相対位置は、ルートに対するジョイントの相対的な位置である。
【００２７】
まず、物理量変換部１１は、人体スケルトン型角度情報データ内の基本ポーズデータとフレームデータを用いて、ジョイント位置を算出する。基本ポーズデータは、基本ポーズのときのルートの位置及び各ジョイントの位置、並びに各骨の長さなど、基本ポーズを特定する情報を有する。フレームデータは、ジョイント毎に、基本ポーズからの移動量の情報を有する。ここでは、移動量として角度情報を利用する。この場合、時刻ｔにおけるｋ番目のジョイントの位置ｐｋ（ｔ）は、（１）式および（２）式により算出される。ｐｋ（ｔ）は３次元座標で表される。なお、時刻ｔはフレームデータの時刻である。本実施形態では、時刻ｔを単に「フレームインデックス」として扱う。これにより、時刻ｔは、０，１，２，・・・，Ｔ−１の値をとる。Ｔは、人体スケルトン型角度情報データに含まれるフレームの個数である。
【００２８】
【数１】
2014115943.tif 000003
【００２９】
【数２】
2014115943.tif 000004
【００３０】
但し、０番目（ｉ＝０）のジョイントはルートである。Ｒａｘｉｓｉ−１，ｉ（ｔ）は、ｉ番目のジョイントとその親ジョイント（「ｉ−１」番目のジョイント）間の座標回転マトリックスであり、基本ポーズデータに含まれる。各ジョイントにはローカル座標系が定義されており、座標回転マトリックスは親子関係にあるジョイント間のローカル座標系の対応関係を表す。Ｒｉ（ｔ）は、ｉ番目のジョイントのローカル座標系におけるｉ番目のジョイントの回転マトリックスであり、フレームデータに含まれる角度情報である。Ｔｉ（ｔ）は、ｉ番目のジョイントとその親ジョイント間の遷移マトリックスであり、基本ポーズデータに含まれる。遷移マトリックスは、ｉ番目のジョイントとその親ジョイント間の骨の長さを表す。
【００３１】
次いで、物理量変換部１１は、時刻ｔにおける、ルートに対するｋ番目のジョイントの相対位置（ジョイント相対位置）ｐ’ｋ（ｔ）を（３）式により算出する。
【００３２】
【数３】
2014115943.tif 000005
【００３３】
但し、ｐｒｏｏｔ（ｔ）は時刻ｔにおけるルート（０番目のジョイント）の位置（ｐ０（ｔ））である。
【００３４】
これにより、時刻ｔのフレーム「ｘ（ｔ）」は、「ｘ（ｔ）＝｛ｐ’１（ｔ），ｐ’２（ｔ），・・・，ｐ’Ｋ（ｔ）｝Ｔ」と表される。但し、Ｋは、ルートを除いたジョイントの個数である。Ｔは転置行列を表す。
【００３５】
［主成分分析部］
主成分分析部１２は、物理量変換部１１が生成したジョイント相対位置データに対して、主成分分析処理を行う。ここでは、ある一つの動きの種類Ｓ（例えば、ノックする動き）について、ニュートラルのスケルトン動きデータに関するジョイント相対位置データＸ０Ｓと、ある一つの表現（例えば、怒る表現）のスケルトン動きデータに関するジョイント相対位置データＸ１Ｓとから構成される集合「Ｘ＝｛Ｘ０Ｓ１，Ｘ０Ｓ２，・・・，Ｘ０Ｓｓ，Ｘ１Ｓ１，Ｘ１Ｓ２，・・・，Ｘ１Ｓｓ｝を、主成分分析処理の対象にする。ｓはスケルトン動きデータのインデックスである。また、時刻ｔのフレーム「ｘ（ｔ）」を用いて、一つのジョイント相対位置データ「ＸｅＳ」を「ＸｅＳ＝｛ｘ（ｔ１），ｘ（ｔ２），・・・，ｘ（ｔＬ）｝と表す。但し、ｅは０又は１である。Ｌは、一つのジョイント相対位置データに含まれるフレームの個数である。集合Ｘに含まれる全ジョイント相対位置データのフレーム総数をＮとする。これにより、Ｘは、Ｍ行Ｎ列の行列で表される（但し、Ｍ＝３×Ｋ）。
【００３６】
主成分分析処理では、Ｍ行Ｎ列の行列Ｘに対して主成分分析処理を行い、Ｘを主成分空間へ変換する。なお、主成分分析処理については、例えば、インターネット＜ＵＲＬ：http://en.wikipedia.org/wiki/Principal_components_analysis#Software.2Fsource_code＞に「open source」が公開されており利用可能である。
【００３７】
ここで、主成分分析方法を説明する。
まず、（４）式により、Ｘから平均値を除いたＮ行Ｍ列の行列Ｄを算出する。
【００３８】
【数４】
2014115943.tif 000006
【００３９】
次いで、（５）式により、Ｎ行Ｍ列の行列Ｄに対して特異値分解（Singular Value Decomposition）を行う。なお、特異値分解処理については、例えば、インターネット＜ＵＲＬ：http://www.gnu.org/software/gsl/＞に「open source」が公開されており利用可能である。
【００４０】
【数５】
2014115943.tif 000007
【００４１】
但し、Ｕは、Ｎ行Ｎ列のユニタリ行列である。Σは、Ｎ行Ｍ列の負でない対角要素を降順にもつ対角行列であり、主成分空間の座標の分散を表す。Ｖは、Ｍ行Ｍ列のユニタリ行列であり、主成分に対する係数（principal component）である。
【００４２】
次いで、（６）式により、Ｎ行Ｍ列の行列Ｄを主成分空間へ変換する。Ｍ行Ｎ列の行列Ｙは、主成分空間の座標を表す。
【００４３】
【数６】
2014115943.tif 000008
【００４４】
主成分分析処理では、主成分空間の座標を表す行列（主成分座標行列）Ｙと、主成分に対する係数の行列（主成分係数行列）Ｖを記憶部５に保存する。
【００４５】
なお、元空間の座標を表す行列Ｘと主成分座標行列Ｙは、（６）式と（７）式により相互に変換することができる。
【００４６】
【数７】
2014115943.tif 000009
【００４７】
また、上位のｒ個の主成分によって、（８）式により変換することができる。
【００４８】
【数８】
2014115943.tif 000010
【００４９】
但し、Ｖｒは、主成分係数行列Ｖ内の上位のｒ個の行から成るＭ行ｒ列の行列である。Ｙｒは、主成分座標行列Ｙ内の上位のｒ個の列から成るｒ行Ｎ列の行列である。Ｘ〜は、復元されたＭ行Ｎ列の行列である。
【００５０】
主成分空間の座標Ｙｒは、各スケルトン動きデータに対応し、「Ｙｒ＝｛ＹｒｅＳ１，ＹｒｅＳ２，・・・，ＹｒｅＳｓ｝と表される。そして、（８）式で復元されたＸ〜は、復元後の各スケルトン動きデータに対応し、「Ｘ〜＝｛Ｘ〜ｅＳ１，Ｘ〜ｅＳ２，・・・，Ｘ〜ｅＳｓ｝と表される。
【００５１】
［セグメント生成部］
セグメント生成部１３は、主成分分析部１２により算出された主成分座標行列Ｙのうち、スケルトン動きデータ毎に、一つの主成分座標Ｙｒを用いてセグメントを生成する。例えば、第２主成分座標Ｙ２を用いる。
【００５２】
一スケルトン動きデータに対するセグメントの生成方法としては、当該スケルトン動きデータに関する主成分座標Ｙｒの極値を求め、該極値のフレームをセグメントの境界とする。また、当該スケルトン動きデータに関する最初のフレームと最後のフレームもセグメントの境界とする。但し、一セグメントの長さが短すぎる場合には（一セグメントの長さが規定の長さに満たない場合には）、後ろの境界を削除し、セグメントを長くする。図３は、セグメントの生成例を示すグラフ図である。図３の例は、ノックする動きのスケルトン動きデータに関するものであり、５個のスケルトン動きデータに関する各第２主成分座標Ｙ２がグラフ化されている。図３中の各グラフにおいて、丸印がセグメントの境界である。セグメント生成部１３があるスケルトン動きデータに対して生成したセグメントは、当該スケルトン動きデータにおいて全ての主成分座標に共通である。
【００５３】
［時間軸正規化部］
時間軸正規化部１４は、スケルトン動きデータ毎に、セグメント生成部１３により生成されたセグメントに対して時間軸の正規化を行う。この時間軸の正規化は、一スケルトン動きデータに対して、第１主成分座標から第ｒ主成分座標までそれぞれに行われる。一主成分座標に対する時間軸の正規化方法としては、当該主成分座標において、セグメント毎に、セグメント内のフレーム数がフレーム規定数（例えば、１００フレーム）になるように、主成分座標の値を補間する。なお、この補間処理については、例えば「cubic spline interpolation」と呼ばれる技術が知られており、インターネット＜ＵＲＬ：http://en.wikipedia.org/wiki/Spline_interpolation＞に「open source」が公開されており利用可能である。
【００５４】
そして、セグメント毎に、補間前のフレーム数とフレーム規定数との比率（補間比率）を記憶部５に保存する。図４は、時間軸の正規化例を示すグラフ図である。図４の例は、ノックする動きのスケルトン動きデータに関するものであり、ニュートラルのスケルトン動きデータと怒る表現のスケルトン動きデータについて、５個ずつ、時間軸の正規化後の第２主成分座標Ｙ２がグラフ化されている。時間軸の正規化により、第１主成分座標から第ｒ主成分座標までの各セグメント内のフレーム数は、全てのスケルトン動きデータに対して同じになる。
【００５５】
［空間軸線形回帰部］
空間軸線形回帰部１５は、セグメント毎に線形回帰手法により、ニュートラルのスケルトン動きデータを特定の表現のスケルトン動きデータに変換するための変換関数の空間パラメータを算出する。このとき、空間軸線形回帰部１５は、主成分座標の微分値を用いて、（９）式により線形回帰演算を行う。これは、後述する変換部４での空間軸変換において、セグメント間のつなぎをスムーズにするために、主成分座標の微分値を用いて線形回帰演算を行い、その後、積分する処理に対応したものである。
【００５６】
【数９】
2014115943.tif 000011
【００５７】
但し、ｑｉ（ｔ）は、特定の表現のスケルトン動きデータに関する、ｉ番目のセグメントのｔ番目のフレームにおける第ｊ主成分座標の微分値である。ｋｉ（ｔ）は、ニュートラルのスケルトン動きデータに関する、ｉ番目のセグメントのｔ番目のフレームにおける第ｊ主成分座標の微分値である。
【００５８】
空間軸線形回帰部１５は、上記（９）式を用いた線形回帰演算により、ｉ番目のセグメントに関する空間パラメータａｉ及びｂｉを算出する。空間パラメータａｉ及びｂｉは記憶部５に保存される。
【００５９】
［時間軸線形回帰部］
時間軸線形回帰部１６は、セグメント毎に線形回帰手法により、ニュートラルのスケルトン動きデータを特定の表現のスケルトン動きデータに変換するための変換関数の時間パラメータを算出する。このとき、時間軸線形回帰部１６は、時間軸正規化部１４で算出されて記憶部５に保存されている各セグメントの補間比率を用いて、（１０）式により線形回帰演算を行う。
【００６０】
【数１０】
2014115943.tif 000012
【００６１】
但し、ｔ１ｉは、特定の表現のスケルトン動きデータに関する、ｉ番目のセグメントの補間比率である。ｔ０ｉは、ニュートラルのスケルトン動きデータに関する、ｉ番目のセグメントの補間比率である。
【００６２】
時間軸線形回帰部１６は、上記（１０）式を用いた線形回帰演算により、ｉ番目のセグメントに関する時間パラメータｍ＾ｉを算出する。時間パラメータｍ＾ｉは記憶部５に保存される。
【００６３】
以上が本実施形態に係る学習部３の説明である。学習部３によって、記憶部５には、動きの種類ごと、且つ、特定の表現ごとに、各セグメントｉの空間パラメータａｉ及びｂｉならびに時間パラメータｍ＾ｉが保存される。
【００６４】
［変換部］
図２に示されるように、変換部４は、物理量変換部１１と主成分分析部１２とセグメント生成部１３と時間軸正規化部１４と空間軸変換部２１と時間軸変換部２２と位置空間復元部２３を有する。変換部４には、入力部２から、変換用のスケルトン動きデータおよび表現指定データが入力される。変換用のスケルトン動きデータは、動きの種類毎に、ニュートラルのスケルトン動きデータが入力される。表現指定データは、変換用のスケルトン動きデータに反映させる表現を示す。
【００６５】
変換部４は、変換用のスケルトン動きデータの動きの種類に対応し、且つ、表現指定データにより指定される表現に対応する、記憶部５内の各セグメントｉの空間パラメータａｉ及びｂｉならびに時間パラメータｍ＾ｉを用いて、変換用のスケルトン動きデータを主成分空間でセグメント毎に変換する。
【００６６】
変換部４において、物理量変換部１１、主成分分析部１２、セグメント生成部１３および時間軸正規化部１４は、学習部３の対応する各部１１、１２、１３および１４と同じであるので、説明を省略する。以下、変換部４に係る空間軸変換部２１、時間軸変換部２２および位置空間復元部２３について詳細に説明する。
【００６７】
［空間軸変換部］
空間軸変換部２１は、変換用のスケルトン動きデータの動きの種類に対応し、且つ、表現指定データにより指定される表現に対応する、記憶部５内の各セグメントｉの空間パラメータａｉ及びｂｉを用いて、変換用のスケルトン動きデータを主成分空間でセグメント毎に変換する。このとき、空間軸変換部２１は、主成分座標の微分値を用いて、（１１）式により線形回帰演算を行う。
【００６８】
【数１１】
2014115943.tif 000013
【００６９】
但し、ｑｉ（ｔ）は、表現指定データにより指定される表現が反映されたスケルトン動きデータに関する、ｉ番目のセグメントのｔ番目のフレームにおける第ｊ主成分座標の微分値である。ｋｉ（ｔ）は、変換用のスケルトン動きデータに関する、ｉ番目のセグメントのｔ番目のフレームにおける第ｊ主成分座標の微分値である。ａ＾ｉ、ｂ＾ｉは、変換用のスケルトン動きデータの動きの種類に対応し、且つ、表現指定データにより指定される表現に対応する、記憶部５内のセグメントｉの空間パラメータａｉ、ｂｉである。
【００７０】
空間軸変換部２１は、（１１）式により線形回帰演算で算出した全セグメントの微分値ｑｉ（ｔ）を対象にして積分を行う。この積分演算の初期値には、第１フレームの主成分座標を使用する。このように、主成分座標の微分値を用いて線形回帰演算を行い、その後、積分することにより、セグメント間のつなぎをスムーズにすることができる。
【００７１】
［時間軸変換部］
時間軸変換部２２は、変換用のスケルトン動きデータの動きの種類に対応し、且つ、表現指定データにより指定される表現に対応する、記憶部５内の各セグメントｉの時間パラメータｍ＾ｉを用いて、空間軸変換部２１により算出された主成分座標の積分値をセグメント毎に変換する。このとき、時間軸変換部２２は、（１２）式により補間比率を変換する。
【００７２】
【数１２】
2014115943.tif 000014
【００７３】
但し、ｔ１ｉは、表現指定データにより指定される表現が反映されたスケルトン動きデータに関する、ｉ番目のセグメントの補間比率である。ｔ０ｉは、変換用のスケルトン動きデータに関する、ｉ番目のセグメントの補間比率である。ｍ＾ｉは、変換用のスケルトン動きデータの動きの種類に対応し、且つ、表現指定データにより指定される表現に対応する、記憶部５内のセグメントｉの時間パラメータである。
【００７４】
時間軸変換部２２は、空間軸変換部２１により算出された主成分座標の積分値に対して、（１２）式により算出された補間比率ｔ１ｉで時間軸のダウンサンプリングを行う。このダウンサンプリングには、上記「cubic spline interpolation」技術が利用可能である。
【００７５】
［位置空間復元部］
位置空間復元部２３は、時間軸変換部２２により変換された第１主成分座標から第ｒ主成分座標までを対象にして、上記（８）式により位置空間へ変換する。
【００７６】
上述した実施形態によれば、特定の表現を反映させた動画コンテンツを生成する際に、ロバスト性の向上や非周期的な動きに適応させる効果が得られる。また、ニュートラルのスケルトン動きデータに対して、指定された表現（例えば、特定の感情表現など）を反映させたスケルトン動きデータを自動的に生成することができるので、例えば対話システムなどにおいて、ユーザの満足度向上に寄与することができる。
【００７７】
以上が本実施形態に係る変換部４の説明である。変換部４によって、表現指定データにより指定される表現が変換用のスケルトン動きデータに反映された結果のスケルトン動きデータが得られる。出力部６は、その反映された結果のスケルトン動きデータを出力する。
【００７８】
以上、本発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の設計変更等も含まれる。
【００７９】
また、上述した動画コンテンツ生成装置１を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行するようにしてもよい。なお、ここでいう「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含むものであってもよい。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、フラッシュメモリ等の書き込み可能な不揮発性メモリ、ＤＶＤ（Digital Versatile Disk）等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。
【００８０】
さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ（例えばＤＲＡＭ（Dynamic Random Access Memory））のように、一定時間プログラムを保持しているものも含むものとする。
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク（通信網）や電話回線等の通信回線（通信線）のように情報を伝送する機能を有する媒体のことをいう。
また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル（差分プログラム）であっても良い。
【符号の説明】
【００８１】
１…動画コンテンツ生成装置、２…入力部、３…学習部、４…変換部、５…記憶部、６…出力部、１１…物理量変換部、１２…主成分分析部、１３…セグメント生成部、１４…時間軸正規化部、１５…空間軸線形回帰部、１６…時間軸線形回帰部、２１…空間軸変換部、２２…時間軸変換部、２３…位置空間復元部
【図１】
2014115943.tif 000015
【図２】
2014115943.tif 000016
【図３】
2014115943.tif 000017
【図４】
2014115943.tif 000018
【図５】
2014115943.tif 000019