(57)【要約】【課題】音楽にあったモーションをリアルタイムに作成する。【解決手段】人体画像の複数のモーションを手の止め動作を示すキーフレーム成分と手の動きの盛り上がりを示す動き盛り上がり成分とを関連付けてモーショングラフとしてデータベースに登録しておく。そして、音楽データを入力すると共にそれを解析して音楽のコード変化が生じるビート時刻を抽出してビート特徴成分を設定すると共に音楽に盛り上がりが生じる部分を抽出して音楽盛り上がり成分を設定し、モーショングラフ上の選択可能なパスの中からビート特徴成分とキーフレーム成分との相関値が高いＮ個のパスを選択し（Ｓ３００，Ｓ３１０）、選択したＮ個のパスの中から音楽盛り上がり成分と動き盛り上がり成分との相関値が最大のパスを実行パスに設定して（Ｓ３２０，Ｓ３３０）、ディスプレイに表示出力する。この結果、音楽にあったモーションをリアルタイムに作成できる。【選択図】        図１０
2007018388.tif 000002
【特許請求の範囲】
【請求項１】
音楽にあわせて対象物または対象画像のモーションを作成するモーション作成装置であって、
前記対象物または対象画像の複数のモーションと少なくとも該複数のモーションが各々もつ動きのリズムに関する成分を含む所定の動き特徴成分とを関連付けて記憶する記憶手段と、
音楽データを入力する音楽データ入力手段と、
該入力された音楽データに基づいて少なくとも音楽のリズムに関する成分を含む所定の音楽特徴成分を推定する音楽特徴成分推定手段と、
前記記憶手段に記憶されている複数のモーションのうち、前記推定された音楽特徴成分と相関を有する前記動き特徴成分をもつモーションを選択するモーション選択手段と、
該選択されたモーションを前記対象物または対象画像のモーションとして出力するモーション出力手段と、
を備えるモーション作成装置。
【請求項２】
請求項１記載のモーション作成装置であって、
前記対象物または対象画像は、人体ロボットまたは人体画像であり、
前記記憶手段は、前記動きのリズムに関する成分として前記人体ロボットまたは人体画像における所定部位の所定の止め動作成分を前記複数のモーションに関連付けて記憶する手段であり、
前記音楽特徴成分推定手段は、前記音楽のリズムに関する成分としてビートタイミングを推定する手段であり、
前記モーション選択手段は、前記記憶手段に記憶されている複数のモーションのうち、前記所定の止め動作成分が生じるタイミングが前記推定されたビートタイミングに一致する傾向にあるモーションを選択する手段である
モーション作成装置。
【請求項３】
請求項２記載のモーション作成装置であって、
前記音楽特徴成分推定手段は、前記音楽のリズムに関する成分として、音楽のコードに変化が生じるビートタイミングを推定する手段であり、
前記モーション選択手段は、前記記憶手段に記憶されている複数のモーションのうち、前記所定の止め動作成分が生じるタイミングが前記推定されたコードに変化が生じるビートタイミングに一致する傾向にあるモーションを選択する手段である
モーション作成装置。
【請求項４】
前記所定の止め動作成分は、前記人体ロボットまたは人体画像における所定部位の動作速度が極小近傍となるタイミングで生じるよう予め定められた成分である請求項２または３記載のモーション作成装置。
【請求項５】
請求項１ないし４いずれか記載のモーション作成装置であって、
前記対象物または対象画像は、人体ロボットまたは人体画像であり、
前記記憶手段は、前記所定の動き特徴成分として前記人体ロボットまたは人体画像における所定部位の動きの盛り上がりに関する所定の動き盛り上がり成分を前記複数のモーションに関連付けて記憶する手段であり、
前記音楽特徴成分推定手段は、前記所定の音楽特徴成分として音楽の盛り上がりに関する音楽盛り上がり成分を推定する手段であり、
前記モーション選択手段は、前記記憶手段に記憶されている複数のモーションのうち、前記推定された音楽盛り上がり成分と相関を有する前記動き盛り上がり成分をもつモーションを選択する手段である
モーション作成装置。
【請求項６】
前記所定の動き盛り上がり成分は、前記人体ロボットまたは人体画像における所定部位の動作速度が大きくなるタイミングで生じるよう予め定められた成分である請求項５記載のモーション作成装置。
【請求項７】
前記音楽特徴成分推定手段は、前記入力された音楽データをスペクトル解析して得られる所定周波数領域におけるスペクトルパワーの大きさに基づいて前記音楽盛り上がり成分を推定する手段である請求項５または６記載のモーション作成装置。
【請求項８】
前記人体ロボットまたは人体画像の所定部位は、手部または腕部である請求項２ないし７いずれか記載のモーション作成装置。
【請求項９】
対象物または対象画像の複数のモーションと少なくとも該複数のモーションが各々もつ動きのリズムを含む所定の動き特徴成分とを関連付けて記憶する記憶手段を備えて音楽にあわせて前記対象物または対象画像のモーションを作成するモーション作成装置に用いられるモーション作成方法であって、
（ａ）音楽データを入力し、
（ｂ）該入力された音楽データに基づいて少なくとも音楽のリズムを含む所定の音楽特徴成分を推定し、
（ｃ）前記記憶手段に記憶されている複数のモーションのうち、前記推定された音楽特徴成分と相関を有する前記動き特徴成分をもつモーションを選択し、
（ｄ）該選択されたモーションを前記対象物または対象画像のモーションとして出力する
モーション作成方法。
【請求項１０】
対象物または対象画像の複数のモーションと少なくとも該複数のモーションが各々もつ動きのリズムを含む所定の動き特徴成分とを関連付けて記憶する記憶手段を備えるコンピュータを、音楽にあわせて前記対象物または対象画像のモーションを作成するモーション作成装置として機能させるプログラムであって、
音楽データを入力し、該入力された音楽データに基づいて少なくとも音楽のリズムを含む所定の音楽特徴成分を推定し、前記記憶手段に記憶されている複数のモーションのうち、前記推定された音楽特徴成分と相関を有する前記動き特徴成分をもつモーションを選択し、該選択されたモーションを前記対象物または対象画像のモーションとして出力することを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、音楽にあわせて対象物または対象画像のモーションを作成するモーション作成装置およびモーション作成方法並びにこれらに用いるプログラムに関する。
【背景技術】
【０００２】
近年、コンピュータの高性能化に伴って人体アニメーションを自動的に作成する試みが世界各地で行なわれている。人体アニメーションを作成する手法としては、ダイナミクスシミュレーションによって動作を生成するものや複数のモーションキャプチャーデータを連結して動作を生成するものなどが知られている。
【０００３】
ところで、音楽を聞いてそれにあわせて踊る能力は人に備わった能力である。その際、舞踊者は音楽にあわせて全くゼロの状態から動きを生成しているわけではなく、既存の複数の動きを組み合わせて新たな動きを生成していると考えられる。したがって、上述したモーションキャプチャーデータから複数のモーションパターンを予め作成してデータベースに記憶しておけば、音楽を入力すると共にそれを解析し、解析結果に基づいてデータベースから音楽にあった最適なモーションパターンを選択することによりあたかも音楽を聞きながら人が踊っているかのような人体アニメーションをリアルタイムに作成することも可能となる。ここで、音楽を解析する手法としては、発音成分やそれに関連するパワーの変化などを用いる手法や、発音成分だけではなくコードの変化や打楽器の発音時刻も推定してビート間隔のみならずビート構造の把握も可能な手法（非特許文献１参照）など様々な手法が提案されている。
【非特許文献１】M.Goto, An Audio-based Real-time Beat Tracking System for Music With or Without Drum-sounds, Journal or New Music Research,Vol.30,No.2,pp.159-171(2001).
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、音楽を解析してその特徴を把握したとしても、音楽の特徴にあった動きを選択しなければならないから、モーション（動き）の特徴を解明すると共に音楽の特徴とモーションの特徴との関係を明らかにする必要があり、音楽にあった違和感のない自然なモーションを作成することは必ずしも容易なことではない。こうした問題は、人体アニメーションを作成するものに限られず、たとえば人体ロボットのモーションを作成する場合にも同様の問題として考えることができる。
【０００５】
本発明のモーション作成装置およびモーション作成方法並びにこれらに用いるプログラムは、対象物や対象画像を音楽にあったモーションでより適切に動作させることを目的の一つとする。また、本発明のモーション作成装置およびモーション作成方法並びにこれらに用いるプログラムは、対象物や対象画像を音楽の盛り上がりの程度にあったモーションでより適切に動作させることを目的の一つとする。
【課題を解決するための手段】
【０００６】
本発明のモーション作成装置およびモーション作成方法並びにこれらに用いるプログラムは、上述の目的の少なくとも一部を達成するために以下の手段を採った。
【０００７】
本発明のモーション作成装置は、
音楽にあわせて対象物または対象画像のモーションを作成するモーション作成装置であって、
前記対象物または対象画像の複数のモーションと少なくとも該複数のモーションが各々もつ動きのリズムに関する成分を含む所定の動き特徴成分とを関連付けて記憶する記憶手段と、
音楽データを入力する音楽データ入力手段と、
該入力された音楽データに基づいて少なくとも音楽のリズムに関する成分を含む所定の音楽特徴成分を推定する音楽特徴成分推定手段と、
前記記憶手段に記憶されている複数のモーションのうち、前記推定された音楽特徴成分と相関を有する前記動き特徴成分をもつモーションを選択するモーション選択手段と、
該選択されたモーションを前記対象物または対象画像のモーションとして出力するモーション出力手段と、
を備えることを要旨とする。
【０００８】
この本発明のモーション作成装置では、対象物や対象画像の複数のモーションと少なくともその複数のモーションが各々もつ動きのリズムに関する成分を含む所定の動き特徴成分とを関連付けて記憶しておき、音楽データを入力し、入力された音楽データに基づいて少なくとも音楽のリズムに関する成分を含む所定の音楽特徴成分を推定し、記憶されている複数のモーションのうち推定された音楽特徴成分と相関を有する動き特徴成分をもつモーションを選択し、選択されたモーションを対象物や対象画像のモーションとして出力する。したがって、音楽のリズムと動きのリズムとが相関するモーションで対象物や対象画像を動作させることができる。この結果、音楽にあわせて対象物や対象画像をより適切に動作させることができる。ここで、「対象物」には、人体ロボットや人以外の動物型のロボット，その他のキャラクターロボットなどが含まれ、「対象画像」には、人体画像や人以外の動物画像，その他のキャラクター画像などが含まれる。
【０００９】
こうした本発明のモーション作成装置において、前記対象物または対象画像は、人体ロボットまたは人体画像であり、前記記憶手段は、前記動きのリズムに関する成分として前記人体ロボットまたは人体画像における所定部位の所定の止め動作成分を前記複数のモーションに関連付けて記憶する手段であり、前記音楽特徴成分推定手段は、前記音楽のリズムに関する成分としてビートタイミングを推定する手段であり、前記モーション選択手段は、前記記憶手段に記憶されている複数のモーションのうち、前記所定の止め動作成分が生じるタイミングが前記推定されたビートタイミングに一致する傾向にあるモーションを選択する手段であるものとすることもできる。これは、所定部位の止めの動作が生じるタイミングがビートタイミングにあわせて出現する傾向にあることが確かめられたことに基づく。ここで、「人体ロボットまたは人体画像の所定部位」は、手部または腕部であるものとすることもできる。この態様の本発明のモーション作成装置において、前記音楽特徴成分推定手段は、前記音楽のリズムに関する成分として、音楽のコードに変化が生じるビートタイミングを推定する手段であり、前記モーション選択手段は、前記記憶手段に記憶されている複数のモーションのうち、前記所定の止め動作成分が生じるタイミングが前記推定されたコードに変化が生じるビートタイミングに一致する傾向にあるモーションを選択する手段であるものとすることもできる。これは、特に、所定部位の止めの動作が生じるタイミングが音楽のコードに変化が生じるビートタイミングにあわせて出現する傾向にあることが確かめられたことに基づく。これらの場合、前記所定の止め動作成分は、前記人体ロボットまたは人体画像における所定部位の動作速度が極小近傍となるタイミングで生じるよう予め定められた成分であるものとすることもできる。
【００１０】
また、本発明のモーション作成装置において、前記対象物または対象画像は、人体ロボットまたは人体画像であり、前記記憶手段は、前記所定の動き特徴成分として前記人体ロボットまたは人体画像における所定部位の動きの盛り上がりに関する所定の動き盛り上がり成分を前記複数のモーションに関連付けて記憶する手段であり、前記音楽特徴成分推定手段は、前記所定の音楽特徴成分として音楽の盛り上がりに関する音楽盛り上がり成分を推定する手段であり、前記モーション選択手段は、前記記憶手段に記憶されている複数のモーションのうち、前記推定された音楽盛り上がり成分と相関を有する前記動き盛り上がり成分をもつモーションを選択する手段であるものとすることもできる。こうすれば、音楽が盛り上がっているときとそうでないときとで異なるモーションを選択するから、音楽の盛り上がりにあったモーションで人体ロボットや人体画像をより適切に動作させることができる。この場合、前記所定の動き盛り上がり成分は、前記人体ロボットまたは人体画像における所定部位の動作速度が大きくなるタイミングで生じるよう予め定められた成分であるものとすることもできる。これらの場合、前記音楽特徴成分推定手段は、前記入力された音楽データをスペクトル解析して得られる所定周波数領域におけるスペクトルパワーの大きさに基づいて前記音楽盛り上がり成分を推定する手段であるものとすることもできる。こうすれば、より正確に音楽盛り上がり成分が生じているか否かを推定することができる。
【００１１】
本発明のモーション作成方法は、
対象物または対象画像の複数のモーションと少なくとも該複数のモーションが各々もつ動きのリズムを含む所定の動き特徴成分とを関連付けて記憶する記憶手段を備えて音楽にあわせて前記対象物または対象画像のモーションを作成するモーション作成装置に用いられるモーション作成方法であって、
（ａ）音楽データを入力し、
（ｂ）該入力された音楽データに基づいて少なくとも音楽のリズムを含む所定の音楽特徴成分を推定し、
（ｃ）前記記憶手段に記憶されている複数のモーションのうち、前記推定された音楽特徴成分と相関を有する前記動き特徴成分をもつモーションを選択し、
（ｄ）該選択されたモーションを前記対象物または対象画像のモーションとして出力する
ことを要旨とする。
【００１２】
この本発明のモーション作成方法によれば、対象物や対象画像の複数のモーションと少なくともその複数のモーションが各々もつ動きのリズムに関する成分を含む所定の動き特徴成分とを関連付けて記憶しておき、音楽データを入力し、入力された音楽データに基づいて少なくとも音楽のリズムに関する成分を含む所定の音楽特徴成分を推定し、記憶されている複数のモーションのうち推定された音楽特徴成分と相関を有する動き特徴成分をもつモーションを選択し、選択されたモーションを対象物や対象画像のモーションとして出力する。したがって、音楽のリズムと動きのリズムとが相関するモーションで対象物や対象画像を動作させることができる。この結果、音楽にあわせて対象物や対象画像をより適切に動作させることができる。
【００１３】
本発明のプログラムは、
対象物または対象画像の複数のモーションと少なくとも該複数のモーションが各々もつ動きのリズムを含む所定の動き特徴成分とを関連付けて記憶する記憶手段を備えるコンピュータを、音楽にあわせて前記対象物または対象画像のモーションを作成するモーション作成装置として機能させるプログラムであって、
音楽データを入力し、該入力された音楽データに基づいて少なくとも音楽のリズムを含む所定の音楽特徴成分を推定し、前記記憶手段に記憶されている複数のモーションのうち、前記推定された音楽特徴成分と相関を有する前記動き特徴成分をもつモーションを選択し、該選択されたモーションを前記対象物または対象画像のモーションとして出力することを特徴とする。
【００１４】
この本発明のプログラムでは、このプログラムをコンピュータにインストールすると共に起動することにより、コンピュータを上述したモーション作成装置として機能させることができる。即ち、対象物や対象画像の複数のモーションと少なくともその複数のモーションが各々もつ動きのリズムに関する成分を含む所定の動き特徴成分とを関連付けて記憶しておき、音楽データを入力し、入力された音楽データに基づいて少なくとも音楽のリズムに関する成分を含む所定の音楽特徴成分を推定し、記憶されている複数のモーションのうち推定された音楽特徴成分と相関を有する動き特徴成分をもつモーションを選択し、選択されたモーションを対象物や対象画像のモーションとして出力する。したがって、音楽のリズムと動きのリズムとが相関するモーションで対象物や対象画像を動作させることができる。この結果、音楽にあわせて対象物や対象画像をより適切に動作させることができる。
【発明を実施するための最良の形態】
【００１５】
次に、本発明を実施するための最良の形態を実施例を用いて説明する。
【実施例】
【００１６】
図１は、本発明の一実施形態としてのモーション作成装置２０の構成の概略を示す構成図である。実施例のモーション作成装置２０は、図示するように、汎用のコンピュータにモーション作成処理用のプログラムをインストールすると共に起動することにより図示しないＣＰＵやＲＯＭ，ＲＡＭ，入出力ポートなどのハードウエアとソフトウエアとが一体となって機能するものとして構成されており、その機能ブロックとしては、音楽データを入力する音楽データ入力部２２と、入力した音楽データを解析する処理を行なう音楽データ解析部２４と、音楽データの解析結果に基づいて人体画像のモーションを作成する処理を行なうモーション作成処理部２６と、作成したモーションで人体画像が動作するようディスプレイ２１に表示する処理を行なう表示処理部２８と、人体画像の複数のモーションをモーショングラフとして登録するモーションデータベース（以下、モーションＤＢと呼ぶ）３０とを備える。なお、実施例のモーション作成装置２０は、汎用のコンピュータとして構成されているから、キーボードやマウスなどの入力部なども備えているがそれらの図示については省略した。
【００１７】
図２は、人体画像の一フレームを構成する人体モデルの一例を示す説明図である。人体モデルは、図示するように、人体の向きを示すベクトルＲ（＝｛ｒｘ，ｒｙ，ｒｚ｝）と人体の空間上の位置を示すベクトルｔ（＝｛ｔｘ，ｔｙ，ｔｚ｝）と人体の腰（ｗａｉｓｔ）を中心とした体中心座標系｛Ｒ，ｔ｝における人体モデルの各要素を連結するリンクの向きを示す１７個の姿勢ベクトル（単位ベクトル）ｖ０〜ｖ１６と各リンクの長さを示す９個のスカラー値ｌ０〜ｌ８とからなる人体姿勢Ｓ（ｆ）（ｆはフレーム番号）として構成されている（次式（１）〜（３）参照）。ここで、体中心座標系｛Ｒ，ｔ｝は、腰（ｗａｉｓｔ）の位置を原点としてｚ軸が腰から腹部へ向かう方向，ｙ軸が正面方向，ｘ軸がｚ軸およびｙ軸に直交する方向となるよう定めた。また、スカラー値ｌ０〜ｌ８を９個としているのは右腕ｖ１，ｖ２，ｖ３と左腕ｖ５，ｖ６，ｖ７の長さや右手ｖ４と左手ｖ８の長さ，右足ｖ９，ｖ１０，ｖ１１，ｖ１２と左足ｖ１３，ｖ１４，ｖ１５，ｖ１６の長さを左右同一としたためである。
【００１８】
【数１】
2007018388.tif 000003
【００１９】
図３は、モーションＤＢ３０に登録されるモーショングラフの一例を示す説明図である。モーショングラフは、図示するように、モーションキャプチャーにより取り込まれた複数のモーションデータ（図中にはモーションデータ１〜６と表示）上の各フレームのうち人体姿勢Ｓ（ｆ）が互いに類似する２つのフレーム（ノード）間を連結した有向性グラフとして構成されている。人体姿勢Ｓ（ｆ）が互いに類似するフレーム間の連結は、例えば、モーションデータ１〜６上の任意の２つのフレームに対して次式（４）により相関値を計算し、計算した相関値がしきい値よりも大きいものを人体姿勢ＳA（ｆＡ），ＳB（ｆＢ）が類似しているフレームｆＡ，ｆＢとして決定し、決定した２つのフレームｆＡ，ｆＢ間を次式（５）を含む三次補間の関係式を用いて生成されるフレームによって連結することにより行なうことができる。ここで、式（４）中の右辺第１項は２つのフレームｆＡ，ｆＢ間の姿勢ベクトルｖ（ｆＡ），ｖ（ｆＢ）（ｉは姿勢ベクトルの番号）の相関を示し、右辺第２項は２つのフレームｆＡ，ｆＢ間の姿勢ベクトルｖ（ｆＡ），ｖ（ｆＢ）の微分（動き）の相関を示す。なお、「αｉ」「βｉ」は、定数である。また、式（５）中の「Ｔ」は遷移時間（フレームｆＡ，ｆＢ間に挿入するフレーム数）を示す。式（５）では、姿勢ベクトルｖ（ｆＡ），ｖ（ｆＢ）についてのみ記述したが、ベクトルＲやベクトルｔについても同様の三次補間の関係式を用いることによりフレームｆＡ，ｆＢ間を連結するためのフレームを生成することができる。こうしてモーショングラフを構築すると、モーショングラフ上のノード間を遷移することによりあらゆるパターンのモーションを少ないデータ量で実現することができる。
【００２０】
【数２】
2007018388.tif 000004
【００２１】
また、モーショングラフは、フレーム毎にキーフレーム成分ＭＣｋｅｙｆｒａｍｅと動き盛り上がり成分ＭＣｉｎｔｅｎｓｉｔｙとが関連付けられてモーションＤＢ３０に登録されている。ここで、キーフレーム成分ＭＣｋｅｙｆｒａｍｅは、右手ｖ４，左手ｖ８の動作速度が極小となるフレームをキーフレームｆ，ｆ（ｉ，ｊはキーフレームの番号）としてそれぞれ登録しておき、フレームｆに対してキーフレームｆの時刻を中心とした時間幅Ｋをもたせたガウス関数を適用して得られる値と、フレームｆに対して同様にキーフレームｆの時刻を中心とした時間幅Ｋをもたせたガウス関数を適用して得られる値とを足し合わせたものを設定するものとした（次式（６）参照）。なお、式（６）中の「σ」は分散を示す。キーフレーム成分ＭＣｋｅｙｆｒａｍｅを設定する様子の一例を図４に示す。図示するように、キーフレーム成分ＭＣｋｅｙｆｒａｍｅは、キーフレームｆ，ｆに近いフレームｆほど値が大きくなるよう設定され、その値が大きいほど後述する音楽のリズム（ビート特徴成分ＡＳＣｂｅａｔ）との相関が大きく現われる。これは、踊りの中で手の動きが止まる場面（止め動作）は音楽のリズムにあわせて出現される傾向があることが出願人によって確認されたことに基づく。なお、キーフレーム成分ＭＣｋｅｙｆｒａｍｅに時間的な幅Ｋをもたせているのは、人は音楽のリズムに完全にあわせて踊っているわけではなく、ある程度のズレが生じることがあることを考慮したものである。また、動き盛り上がり成分ＭＣｉｎｔｅｎｓｉｔｙは、フレームｆに対して隣接するキーフレームｆ，ｆ間の中央時刻を中心としてキーフレームｆ，ｆ間の時間幅をもたせたガウス関数を適用して得られる値と、フレームｆに対して同様に隣接するキーフレームｆ，ｆ間の中央時刻を中心としてキーフレームｆ，ｆ間の時間幅をもたせたガウス関数を適用して得られる値とを足し合わせたものを設定するものとした（次式（７）参照）。なお、式（７）中の「ｖ（ｉ）」は隣接するキーフレームｆ，ｆ間における右手ｖ４の最大速度を示し、「ｖ（ｉ）」は左手ｖ８において隣接するキーフレームｆ，ｆ間における左手ｖ８の最大速度を示す。動き盛り上がり成分ＭＣｉｎｔｅｎｓｉｔｙを設定する様子の一例を図５に示す。図示するように、動き盛り上がり成分ＭＣｉｎｔｅｎｓｉｔｙは、隣接するキーフレームｆ，ｆ間の中央時刻（フレーム），隣接するキーフレームｆ，ｆ間の中央時刻（フレーム）に近いフレームｆほど値が大きくなり且つ隣接するキーフレームｆ，ｆ間における右手ｖ４の最大速度ｖ（ｉ），隣接するキーフレームｆ，ｆ間における左手ｖ８の最大速度ｖ（ｉ）が大きいほど大きくなるよう設定され、後述する音楽盛り上がり成分ＡＳＣｉｎｔｅｎｓｉｔｙとの相関が大きく現われる。これは、音楽が盛り上がっているときには手も速く動かされており、そうでないときには手もゆっくりとしか動かされていないことが出願によって確認されたことに基づく。
【００２２】
【数３】
2007018388.tif 000005
【００２３】
次に、こうして構成された実施例のモーション作成装置２０の動作について説明する。図６は、実施例のモーション作成装置２０により実行されるメインルーチンの一例を示すフローチャートである。このルーチンは、操作者によりモーション作成開始の指示がなされたときに所定時間毎（例えば３秒毎）に繰り返し実行される。
【００２４】
メインルーチンが実行されると、モーション作成装置２０のＣＰＵは、まず、音楽データを入力する（ステップＳ１００）。音楽データは、ＷＡＶＥデータやＭＩＤＩデータなどの他の如何なる形式のデータを入力するものとしてもよい。また、音楽データは、音楽ＣＤなどの記録媒体からデータを直接読み込むことにより入力するものとしてもよいし、演奏されている音楽をマイクから取り込むことにより入力するものとしてもよい。続いて、入力した音楽データを解析し（ステップＳ１１０）、その解析結果に基づいてモーションＤＢ３０のモーショングラフから実行パスＰａｔｈｅｘｅｃ（モーショングラフ上の軌跡）を選択することによりモーションを作成し（ステップＳ１２０）、作成したモーションをディスプレイ２１に表示出力する（ステップＳ１３０）。こうしたステップＳ１００〜Ｓ１３０の処理を音楽が終了するまで繰り返し実行して（ステップＳ１４０）、本ルーチンを終了する。
【００２５】
ステップＳ１１０における音楽データの解析は、実施例では、図７に例示する音楽データ解析処理により実行される。音楽データ解析処理は、まず、入力した音楽データをスペクトル解析する（ステップＳ２００）。スペクトル解析は、実施例では、窓関数として音楽データの処理に適していると言われているガウス関数を用いてフーリエ変換することにより行なうものとした。これにより、時間成分ｔ毎，周波数成分ｆ毎のスペクトルパワーｐ（ｔ，ｆ）が導出される。
【００２６】
続いて、スペクトル解析の結果に基づいて入力した音楽のビート間隔とビート時刻とを推定する（ステップＳ２１０）。ビート間隔の推定は、次式（８）により時間成分ｔ毎，周波数成分ｆ毎のスペクトルパワー増分ｄ（ｔ，ｆ）を算出し、次式（９）により全ての周波数成分におけるスペクトルパワー増分ｄ（ｔ，ｆ）を合計してスペクトルパワー増分Ｄ（ｔ）を算出し、式（１０）によりスペクトルパワー増分Ｄ（ｔ）の自己相関関数ＲＤＤ（τ）を求めてそれが最初にピークを示すときの時間τ＿ｐｅａｋを抽出することにより推定することができる。図８に、スペクトルパワー増分ｄ（ｔ，ｆ）を算出する様子を示す。なお、式（８）において前回スペクトルパワーＰｒｅｖＰｏｗに対象とする周波数ｆの上下（ｆ±１）のスペクトルパワーも含めているのは、ある音が発音されているときに必ずしも一定の音程で発音されるわけではなく多少音程が上下することを考慮したことに基づく。式（１０）に示す自己相関関数ＲＤＤ（τ）は、最初にピークが到来する時間τ＿ｐｅａｋがスペクトルパワー増分Ｄ（ｔ）の周期をあらわすから、この時間τ＿ｐｅａｋは発音間隔をあらわし、これをビート間隔とみなすことができる。ビート時刻の推定は、実施例では、まず、推定したビート間隔を周期としたパルスを発生するパルス列Ｐ（ｔ）を設定し、次式（１１）によりパルス列Ｐ（ｔ）と上述したスペクトルパワーの増分Ｄ（ｔ）との相互相関関数ＲＤＰ（τ）を求めてそれが最初にピークを示すときの時間τ＿ｐｅａｋを抽出し、この時間τ＿ｐｅａｋを仮のビート時刻として設定する。式（１１）に示す相互相関関数ＲＤＰ（τ）では、最初にピークが到来する時間τ＿ｐｅａｋだけパルス列Ｐ（ｔ）をずらしたパルス列Ｐ（ｔ＋τ＿ｐｅａｋ）がスペクトルパワーの増分Ｄ（ｔ）と類似することを意味するから、この時間τ＿ｐｅａｋによりある程度のビート時刻を把握することができる。そして、設定した仮のビート時刻を中心とした所定時間幅（例えばビート間隔の１／１０程度の時間幅）でのスペクトルパワー増分Ｄ（ｔ，ｆ）のピークを抽出し、そのピークを示すときの時刻をビート時刻として設定することによりより正確なビート時刻を把握することができる。
【００２７】
【数４】
2007018388.tif 000006
【００２８】
こうしてビート時刻を推定すると、ビート時刻ｔから次のビート時刻ｔ＋１までの周波数成分のヒストグラムＰｈｉｓｔ（ｔ，ｆ）を設定する（ステップＳ２２０）。実施例では、周波数成分ｆ毎にビート時刻ｔから次のビート時刻ｔ＋１まで即ち一拍間を積分区間としてスペクトルパワーｐ（ｔ，ｆ）を時間積分し、その積分値を周波数成分の順に並べたときの積分値のピークを抽出し、抽出したピークをその周波数成分ｆ，ビート時刻ｔにおけるヒストグラムＰｈｉｓｔ（ｔ，ｆ）として設定するものとした。周波数成分のヒストグラムＰｈｉｓｔ（ｔ，ｆ）の一例を図９に示す。
【００２９】
周波数成分のヒストグラムＰｈｉｓｔ（ｔ，ｆ）を設定すると、設定したヒストグラムＰｈｉｓｔ（ｔ，ｆ）に基づいてビート特徴成分ＡＳＣｂｅａｔ（ｔ）を設定する（ステップＳ２３０）。ビート特徴成分ＡＳＣｂｅａｔ（ｔ）の設定は、次式（１２）および次式（１３）を用いて行なわれる。即ち、周波数成分ｆ毎に式（１２）により連続するビート時刻ｔ，ｔ＋１における周波数成分のヒストグラムＰｈｉｓｔ（ｔ，ｆ），Ｐｈｉｓｔ（ｔ＋１，ｆ）の差分Ｐｄｉｆｆ（ｔ，ｆ）をとり、これを式（１３）により周波数成分０〜１ｋＨｚに亘って合計したものをビート特徴成分ＡＳＣｂｅａｔ（ｔ）として設定するものとした。通常、音楽のコードが変わる時刻で小節線（拍節の区切れ）が現われる可能性が高く、また、コードが変わるときには周波数成分が大きく変化しコードが変わらないときには周波数成分もほとんど変化がないことが知られている。したがって、周波数成分のヒストグラムＰｈｉｓｔ（ｔ，ｆ）の時間的な変化の度合いとして算出されるビート特徴成分ＡＳＣｂｅａｔ（ｔ）は、ビート時刻ｔにおけるコードの変化度として考えることができる。
【００３０】
【数５】
2007018388.tif 000007
【００３１】
ビート特徴成分ＡＳＣｂｅａｔ（ｔ）を設定すると、上述した周波数成分のヒストグラムＰｈｉｓｔ（ｔ，ｆ）に基づいて音楽盛り上がり成分ＡＳＣｉｎｔｅｎｓｉｔｙ（ｔ）を設定して（ステップＳ２４０）、本ルーチンを終了する。音楽盛り上がり成分ＡＳＣｉｎｔｅｎｓｉｔｙ（ｔ）の設定は、式（１４）を用いて行なわれる。式（１４）では、可聴領域のメロディラインが４００〜６００Ｈｚ程度と考えられることから、その倍音成分も考慮して周波数成分のヒストグラムＰｈｉｓｔ（ｔ，ｆ）を４００〜１５００Ｈｚにわたって合計したものを音楽盛り上がり成分ＡＳＣｉｎｔｅｎｓｉｔｙ（ｔ）に設定するものとした。音楽盛り上がり成分ＡＳＣｉｎｔｅｎｓｉｔｙ（ｔ）を周波数成分のヒストグラムＰｈｉｓｔ（ｔ，ｆ）に基づいて設定するのは、一般に音楽が盛り上がるにつれて楽曲のメロディーラインのスペクトルパワーも大きくなることに基づく。
【００３２】
【数６】
2007018388.tif 000008
【００３３】
ステップＳ１２０におけるモーション作成処理は、図１０に例示するモーション作成処理により実行される。モーション作成処理では、まず、モーショングラフ上の現在のポイントから選択可能なパスＰａｔｈに沿って現在のビート時刻ｔからＴ時間後（実施例では３秒すなわちフレームレートを１２０Ｈｚとすると３６０フレーム分）までに亘ってビート特徴成分ＡＳＣｂｅａｔ（ｔ＋τ）（０≦τ≦Ｔ）と上述したキーフレーム成分ＭＣｋｅｙｆｒａｍｅとの相関値ＭａｔｃｈＥｖａｌｂｅａｔを次式（１５）を用いて計算し（ステップＳ３００）、選択可能なパスＰａｔｈの中から相関値ＭａｔｃｈＥｖａｌｂｅａｔが大きい順にＮ個（例えば５個）のパスＰａｔｈｂｅａｔを選択する処理を行なう（ステップＳ３１０）。この処理は、相関値ＭａｔｃｈＥｖａｌｂｅａｔがビート特徴成分ＡＳＣｂｅａｔ（ｔ）が生じるポイントとキーフレーム成分ＭＣｋｅｙｆｒａｍｅが生じるポイントとが一致するほど大きな値として計算されることから、音楽のコード変化が生じるビート時刻で手の動きが止まる場面（止め動作）が生じるようにパスＰａｔｈｂｅａｔを選択する処理と言える。
【００３４】
【数７】
2007018388.tif 000009
【００３５】
こうしてＮ個のパスＰａｔｈｂｅａｔを選択すると、Ｎ個のパスＰａｔｈｂｅａｔ毎に音楽盛り上がり成分ＡＳＣｉｎｔｅｎｓｉｔｙ（ｔ＋τ）と上述した動き盛り上がり成分ＭＣｉｎｔｅｎｓｉｔｙ（ｔ＋τ）との相関値を次式（１６）により計算すると共に（ステップＳ３２０）、選択したＮ個のパスＰａｔｈｂｅａｔのうち計算した相関値が最も大きいパスを実行パスＰａｔｈｅｘｅｃに設定して（ステップＳ３３０）、本ルーチンを終了する。
【００３６】
【数８】
2007018388.tif 000010
【００３７】
図１１に、実施例のモーション作成装置２０の実行例を示す。この例では、モーショングラフに関しては、光学式モーションキャプチャーを用いて人体に取り付けられた３３個のマーカの位置データを１２０Ｈｚのサンプリングレートで取り込んで図２に例示する人体モデルに変換したものを用いた。また、音楽データに関しては、４４１００Ｈｚのサンプリングレートに設定して音楽ＣＤからＷＡＶＥデータに変換したものを用いた。さらに、音楽データの周波数成分への変換は、ガウス関数を窓関数としその大きさは１０２４サンプル，シフト数は２５６サンプルにて行なった。図１１の例では、曲名「La Bamba」を用いて実験を行なったが、音楽に良好にマッチするモーションがリアルタイムに作成されていることを確認した。
【００３８】
以上説明した実施例のモーション作成装置２０によれば、人体画像のモーションを構成する各フレームをキーフレーム成分ＭＣｋｅｙｆｒａｍｅに関連付けてモーションＤＢ３０に登録し、音楽データを入力すると共に入力した音楽データを解析してビート特徴成分ＡＳＣｂｅａｔを抽出し、抽出したビート特徴成分ＡＳＣｂｅａｔとキーフレーム成分ＭＣｋｅｙｆｒａｍｅとの相関値ＭａｔｃｈＥｖａｌｂｅａｔが大きいパスＰａｔｈｂｅａｔを選択してモーションを作成して表示出力するから、音楽のリズムにあったより適切なモーションをリアルタイムに作成することができる。しかも、キーフレーム成分ＭＣｋｅｙｆｒａｍｅに加えて動き盛り上がり成分ＭＣｉｎｔｅｎｓｉｔｙも各フレームに関連付けてモーションＤＢ３０に登録し、入力した音楽データから音楽盛り上がり成分ＡＳＣｉｎｔｅｎｓｉｔｙを抽出して動き盛り上がり成分ＭＣｉｎｔｅｎｓｉｔｙと音楽盛り上がり成分ＡＳＣｉｎｔｅｎｓｉｔｙとの相関値が最も大きいパスを選択するから、音楽に盛り上がりの大小にも対応したモーションを作成することができる。
【００３９】
実施例のモーション作成装置２０では、ビート特徴成分ＡＳＣｂｅａｔとキーフレーム成分ＭＣｋｅｙｆｒａｍｅとの相関値ＭａｔｃｈＥｖａｌｂｅａｔが大きいＮ個のパスＰａｔｈｂｅａｔの中から、音楽盛り上がり成分ＡＳＣｉｎｔｅｎｓｉｔｙと動き盛り上がり成分ＭＣｉｎｔｅｎｓｉｔｙとの相関値が最も大きいパスを実行パスＰａｔｈｅｘｅｃに設定するものとしたが、音楽の盛り上がりに関係なく、ビート特徴成分ＡＳＣｂｅａｔとキーフレーム成分ＭＣｋｅｙｆｒａｍｅとの相関値ＭａｔｃｈＥｖａｌｂｅａｔが最も大きいパスを実行パスＰａｔｈｅｘｅｃに設定するものとしてもよい。
【００４０】
実施例のモーション作成装置２０では、音楽のコードに変化が生じるビート時刻が到来するときにキーフレーム成分ＭＣｋｅｙｆｒａｍｅとの相関が大きく現われるようにビート特徴成分ＡＳＣｂｅａｔを設定するものとしたが、コード変化に関係なく、単にビート時刻が到来するときに値がキーフレーム成分ＭＣｋｅｙｆｒａｍｅとの相関が大きく現われるようにビート特徴成分ＡＳＣｂｅａｔを設定するものとしてもよいし、ビートの特徴を示す他の如何なるパラメータを用いてビート特徴成分ＡＳＣｂｅａｔを設定するものとしてもよい。
【００４１】
実施例のモーション作成装置２０では、手ｖ４，ｖ８の動作速度に基づいてキーフレーム成分ＭＣｋｅｙｆｒａｍｅや動き盛り上がり成分ＭＣｉｎｔｅｎｓｉｔｙを設定するものとしたが、手ｖ４，ｖ８に限られず腕ｖ１〜ｖ３，ｖ５〜ｖ７の動作速度に基づいてキーフレーム成分ＭＣｋｅｙｆｒａｍｅや動き盛り上がり成分ＭＣｉｎｔｅｎｓｉｔｙを設定するものとしてもよいし、さらに他の部位の動作速度も考慮するものとしてもよい。
【００４２】
実施例のモーション作成装置２０では、人体画像のモーション（アニメーション）を作成するものとしたが、人体画像に限られず、人体ロボットのモーションの作成に適用するものとしてもよい。また、犬や猫などの人以外の動物画像やその他のアニメキャラクター画像のモーションの作成に適用するものとしても差し支えないし、犬や猫などの人以外の動物型のロボットやその他のキャラクターロボットのモーションの作成に適用するものとしても差し支えない。なお、画像によりモーションを作成する場合、用いる画像は二次元画像であってもよいし三次元画像であってもよい。
【００４３】
以上、本発明を実施するための最良の形態について実施例を用いて説明したが、本発明はこうした実施例に何等限定されるものではなく、本発明の要旨を逸脱しない範囲内において、種々なる形態で実施し得ることは勿論である。
【産業上の利用可能性】
【００４４】
本発明は、アニメーション産業やロボット産業に利用可能である。
【図面の簡単な説明】
【００４５】
【図１】本発明の一実施形態としてのモーション作成装置２０の構成の概略を示す構成図である。
【図２】人体モデルの一例を示す説明図である。
【図３】モーショングラフの一例を示す説明図である。
【図４】キーフレーム成分ＭＣｋｅｙｆｒａｍｅを設定する様子の一例を示す説明図である。
【図５】動き盛り上がり成分ＭＣｉｎｔｅｎｓｉｔｙを設定する様子の一例を示す説明図である。
【図６】実施例のモーション作成装置２０により実行されるメインルーチンの一例を示すフローチャートである。
【図７】音楽データ解析処理の一例を示すフローチャートである。
【図８】スペクトルパワー増分ｄ（ｔ，ｆ）を算出する様子を示す説明図である。
【図９】周波数成分のヒストグラムＰｈｉｓｔ（ｔ，ｆ）の一例を示す説明図である。
【図１０】モーション作成処理の一例を示すフローチャートである。
【図１１】実施例のモーション作成装置２０の実行例を示す説明図である。
【符号の説明】
【００４６】
２０  モーション作成装置、２１  ディスプレイ、２２  音楽データ入力部、２４  音楽データ解析処理部、２６  モーション作成処理部、２８  表示処理部、３０  モーションデータベース（モーションＤＢ）。
【図１】
2007018388.tif 000011
【図４】
2007018388.tif 000012
【図５】
2007018388.tif 000013
【図６】
2007018388.tif 000014
【図７】
2007018388.tif 000015
【図８】
2007018388.tif 000016
【図９】
2007018388.tif 000017
【図１０】
2007018388.tif 000018
【図２】
2007018388.tif 000019
【図３】
2007018388.tif 000020
【図１１】
2007018388.tif 000021