(57)【特許請求の範囲】
【請求項１】
複数の音楽音響信号に対応した複数の音響特徴量の時系列データからなる複数の音響特徴量系列と、前記複数の音楽音響信号に対応した複数の階層的ビート構造の時系列データと、前記複数の音楽音響信号に対応した複数のダンスにそれぞれ対応した複数のダンス動作を骨格モデルの変形の時系列データで表した複数のダンス動作時系列データを記憶するデータ記憶部と、
前記複数の階層的ビート構造の時系列データと前記複数の前記ダンス動作時系列データとに基づいて、前記複数のダンス動作時系列データをそれぞれ所定の分析区間におけるダンス動作の断片として切り出し、併せて前記ダンス動作時系列データ中での前記ダンス動作の断片の時間的順序を決定するダンス動作の断片切り出し部と、前記ダンス動作時系列データ中における時間的順序の情報を伴った複数のダンス動作の断片を集めるダンス動作の断片集積部と、前記複数のダンス動作の断片を複数のダンス語彙に対応するクラスタに配分するクラスタリングを行って、どのようなダンス語彙があるかを求め、同時に複数のダンス動作の断片のそれぞれがどの前記ダンス語彙に対応するクラスタに属するのかを分析し、時間的順序付きダンス語彙を求め、前記時間的順序付きダンス語彙に基づいて、前記ダンス語彙が与えられたときにどのようなダンス動作が生成されるかを決定するダンス語彙からの動作生成モデルを構築するダンス動作のクラスタリング部と、前記時間的順序付きダンス語彙を記憶する時間的順序付きダンス語彙記憶部と前記ダンス語彙からの動作生成モデルを記憶するダンス語彙からの動作生成モデル記憶部とからなる第１の学習部と、
前記複数の音響特徴量系列と前記複数の階層的ビート構造の時系列データとに基づいて、前記複数の音響特徴量系列をそれぞれ前記所定の分析区間における音響特徴量系列の断片として切り出し、併せて前記音響特徴量系列の断片の前記音楽音響信号中での時間的順序を決定する音響特徴量系列の断片切り出し部と、前記音響特徴量系列における時間的順序の情報を伴った複数の前記音響特徴量系列の断片を集める音響特徴量系列の
断片集積部と、前記複数の音響特徴量系列の断片を複数の音響特徴量系列のクラスタに配分するクラスタリングを行って、どのような音響特徴量系列のクラスタがあるかと、前記複数の音響特徴量系列の断片のそれぞれがどの前記音響特徴量系列のクラスタに属するのかを分析し、時間的順序付き音響特徴量系列のクラスタを求め、前記音響特徴量系列のクラスタが与えられたときにどのような音響特徴量系列が生成されるかを決定する前記音響特徴量系列のクラスタからの音響特徴量系列生成モデルを構築する音響特徴量系列のクラスタリング部と、前記時間的順序付き音響特徴量系列のクラスタを記憶する時間的順序付き音響特徴量系列のクラスタ記憶部と前記音響特徴量系列生成モデルを記憶する前記音響特徴量系列のクラスタからの音響特徴量系列生成モデル記憶部とからなる第２の学習部と、
前記時間的順序付きダンス語彙と、ダンス語彙からの動作生成モデルと、前記時間的順序付き音響特徴量系列のクラスタと、前記音響特徴量系列のクラスタからの音響特徴量系列生成モデルとに基づいて、前記時間的順序付き音響特徴量系列のクラスタとダンス語彙の対応関係を分析して音楽とダンスの対応関係の確率モデルを構築して記憶する確率モデル構築部と、
ダンスを生成したい楽曲の音楽音響信号の複数の音響特徴量の時系列データからなる音響特徴量系列とその階層的ビート構造の時系列データを記憶するダンス生成用データ記憶部と、
前記ダンスを生成したい楽曲の音楽音響信号の複数の音響特徴量の時系列データからなる音響特徴量系列と前記階層的ビート構造の時系列データとに基づいて、前記音響特徴量系列を前記所定の分析区間における時間的順序付き音響特徴量系列の断片として切り出して複数の音響特徴量系列の断片を集め、該時間的順序付き複数の音響特徴量系列の断片と前記音楽とダンスの対応関係の確率モデルとに基づいて、尤度を考慮しながら前記複数の時間的順序付き音響特徴量系列の断片に対応したンス語彙の系列を作成し、前記ダンス語彙の系列中の前記ダンス語彙ごとに前記ダンス語彙からの動作生成モデルに基づいて前記分析区間ごとのダンス動作の断片を生成し、生成した複数のダンス動作の断片に基づいて前記ダンスを生成したい楽曲の音楽音響信号に連動した複数のダンス動作を骨格モデルの変形の時系列データで表した複数のダンス動作時系列データとして出力するダンス動作データ生成部とからなるダンス動作データ作成システム。
【請求項２】
前記所定の分析区間は、１小節以上２小節以下の分析区間であり、
前記所定の分析区間が１小節の長さからなるときには、前後二つの前記分析区間はオーバーラップせず、
前記所定の分析区間が１小節より長いときには、前後二つの前記分析区間は一部オーバーラップする請求項１に記載のダンス動作データ作成システム。
【請求項３】
前記骨格モデルの変形の時系列データが、前記骨格モデルの位置座標とクォータニオンである請求項１に記載のダンス動作データ作成システム。
【請求項４】
前記階層的ビート構造が、前記複数の音楽音響信号と前記ダンスを生成したい楽曲の音楽音響信号から分析される、複数の拍と小節線の時刻情報である請求項１に記載のダンス動作データ作成システム。
【請求項５】
前記ダンス動作のクラスタリング部では、前記複数のダンス動作の断片からガウシアンプロセスで前記ダンス語彙を決定し、前記ダンス語彙からの動作生成モデルを構築する請求項１に記載のダンス動作データ作成システム。
【請求項６】
前記ダンス動作のクラスタリング部では、
ダンス動作の断片からなる複数個のダンス語彙に対応するクラスタごとにガウシアンプロセスでダンス語彙からの確率モデルを構築し、確率が最大となるように前記複数のダンス動作の断片を前記複数個のダンス語彙に対応するクラスタへ再配分するクラスタリングを所定回数繰り返して、前記複数のダンス語彙を決定し且つ前記ダンス語彙からのダンス動作の動作生成モデルを構築し、全ての前記ダンス動作の断片について、前記複数の語彙のいずれに属するものかを分析して前記分析結果を得るとともに、前記音楽音響信号のどの分析区間でどの前記ダンス語彙が出現するかの情報を得る請求項５に記載のダンス動作データ作成システム。
【請求項７】
前記音響特徴量系列のクラスタリング部では、複数の音響特徴量系列の断片からガウシアンプロセスで複数の音響特徴量系列のクラスタを決定し、音響特徴量系列のクラスタからの音響特徴量系列生成モデルを構築する請求項１に記載のダンス動作データ作成システム。
【請求項８】
前記音響特徴量系列のクラスタリング部では、前記複数の音響特徴量系列の断片からなる複数の時間的順序付き音響特徴量系列のクラスタごとにガウシアンプロセスで確率モデルを構築し、確率が最大となるように前記複数の音響特徴量系列の断片を前記複数の時間的順序付き音響特徴量系列のクラスタへ再配分するクラスタリングを所定回数繰り返して、前記複数の時間的順序付き音響特徴量系列のクラスタを決定し且つ前記複数の時間的順序付き音響特徴量系列のクラスタからの音響特徴量系列生成モデルを構築する請求項７に記載のダンス動作データ作成システム。
【請求項９】
前記確率モデル構築部は、前記複数の時間的順序付きダンス語彙と前記ダンス語彙からの動作生成モデルとに基づいて、すべての前記ダンス動作の断片について、どのダンス語彙であるかを分析し、どの楽曲のどの分析区間でどのダンス語彙が出現するかを決定し、隣り合う二つの前記ダンス語彙の遷移回数と前記ダンス語彙の出現回数と複数のダンス語彙からの動作生成モデルに基づいて設定するダンス動作の確率的生成モデルを構築するダンス動作の確率的生成モデル構築部と、前記ダンス動作の確率的生成モデルを記憶するダンス動作の確率的生成モデル記憶部と、
どのダンス語彙のもとでどの音響特徴量系列のクラスタが観測されるかを分析して、その分析結果に基づいてあるダンス語彙のもとでどの音響特徴量系列のクラスタが観測されるかの確率モデルを構築し、前記ダンス動作の確率的生成モデル並びに前記音響特徴量の確率的生成モデル及びあるダンス語彙のもとでどの音響特徴量系列のクラスタが観測されるかの確率モデルに基づいて、前記音楽とダンスの対応関係の確率モデルを構築する音楽とダンスの対応関係の確率モデル構築部と、音楽とダンスの対応関係の確率モデル記憶部とにより構成されている請求項１に記載のダンス動作データ作成システム。
【請求項１０】
前記ダンス動作の確率的生成モデル構築部及び前記音楽とダンスの対応関係の確率モデル構築部は、それぞれ隠れマルコフモデルによって構成されている請求項９に記載のダンス動作データ作成システム。
【請求項１１】
前記ダンス動作データ生成部は、前記音楽とダンスの対応関係の確率モデルに基づき、前記時間的順序付き音響特徴量系列の断片に対応したダンス語彙の系列を作成する請求項１に記載のダンス動作データ作成システム。
【請求項１２】
前記ダンス動作データ生成部は、前記音楽とダンスの対応関係の確率モデルに基づき、Viterbiアルゴリズムによって前記複数の音響特徴量系列の断片に対応したダンス語彙の尤度最大の系列を探索する請求項１に記載のダンス動作データ作成システム。
【請求項１３】
前記分析区間が１小節より長く２小節より短い場合において、時系列的に隣り合う２つの前記ダンス動作の断片同士でオーバーラップする１以上の拍のダンス動作を補間して、前記ダンスを生成したい楽曲の音楽音響信号に連動した時系列の前記ダンス動作時系列データとして出力する補間部を備えている請求項１に記載のダンス動作データ作成システム。
【請求項１４】
前記補間部は、線形補間により時系列的に隣り合う２つの前記ダンス動作の断片同士でオーバーラップする１以上の拍のダンス動作を補間する請求項１３に記載のダンス動作データ作成システム。
【請求項１５】
前記ダンス動作データ生成部は、前記ダンス語彙からのダンス動作生成モデルに基づいてサンプリングを行って前記分析区間ごとのダンス動作の断片を生成する請求項１に記載のダンス動作データ作成システム。
【請求項１６】
前記ダンス動作データ生成部は、前記ダンス語彙からのダンス動作生成モデルをガウシアンプロセスで構築した場合において、前記ガウシアンプロセスの平均と分散に基づいて前記分析区間ごとのダンス動作の断片を生成する請求項１に記載のダンス動作データ作成システム。
【請求項１７】
請求項１乃至１６のいずれか１項に記載のダンス動作データ作成システムにより作成した前記複数のダンス動作時系列データに基づいて３次元コンピュータグラフィックスのキャラクタあるいはロボットのダンスを自動生成するダンス自動生成システム。
【請求項１８】
複数の音楽音響信号に対応した複数の音響特徴量の時系列データからなる複数の音響特徴量系列と、前記複数の音楽音響信号に対応した複数の階層的ビート構造の時系列データと、前記複数の音楽音響信号に対応した複数のダンスにそれぞれ対応した複数のダンス動作を骨格モデルの変形の時系列データで表した複数のダンス動作時系列データを用意するステップと、
前記複数の階層的ビート構造の時系列データと前記複数の前記ダンス動作時系列データとに基づいて、前記複数のダンス動作時系列データをそれぞれ所定の分析区間におけるダンス動作の断片として切り出し、併せて前記ダンス動作時系列データ中での前記ダンス動作の断片の時間的順序を決定し、前記ダンス動作時系列データ中における時間的順序の情報を伴ったダンス動作の断片を集め、前記複数のダンス動作の断片を複数のダンス語彙に対応するクラスタに配分するクラスタリングを行って、どのようなダンス語彙があるかと前記複数のダンス動作の断片のそれぞれがどの前記ダンス語彙に対応するクラスタに属するのかを分析し、前記時間的順序付きダンス語彙に基づいて、前記ダンス語彙が与えられたときにどのようなダンス動作が生成されるかを決定するダンス語彙からの動作生成モデルを構築し、前記時間的順序付きダンス語彙をダンス語彙記憶部に記憶させ、前記ダンス語彙からの動作生成モデルを動作生成モデル記憶部に記憶させる第１の学習ステップと、
前記音響特徴量系列と前記層的ビート構造の時系列データとに基づいて、前記複数の音響特徴量系列をそれぞれ前記所定の分析区間における音響特徴量系列の断片として切り出し、併せて前記音響特徴量系列の断片の前記音楽音響信号中での時間的順序を決定し、前記音響特徴量系列における時間的順序の情報を伴った複数の前記音響特徴量系列の断片を集め、前記複数の音響特徴量系列の断片を複数の音響特徴量系列のクラスタに配分するクラスタリングを行って、どのような音響特徴量系列のクラスタがあるかと前記複数の音響特徴量系列の断片のそれぞれがどの前記音響特徴量系列のクラスタに属するのかを分析し、時間的順序付き音響特徴量系列のクラスタを求め、前記音響特徴量系列のクラスタが与えられたときにどのような音響特徴量が生成されるかを決定する音響特徴量系列生成モデルを構築し、前記時間的順序付き音響特徴量系列のクラスタを時間的順序付き音響特徴量系列のクラスタ記憶部に記憶させ、前記音響特徴量系列生成モデルを音響特徴量系列生成モデル記憶部に記憶させる第２の学習ステップと、
前記ダンス語彙からの動作生成モデルと、前記時間的順序付き音響特徴量系列のクラスタと、前記前記音響特徴量系列のクラスタからの音響特徴量系列生成モデルとに基づいて、前記時間的順序付き音響特徴量系列のクラスタとダンス語彙の対応関係を分析して音楽とダンスの対応関係の確率モデルを構築する音楽とダンスの対応関係の確率モデルを構築確率モデル構築ステップと、
ダンスを生成したい楽曲の音楽音響信号の複数の音響特徴量の時系列データからなる音響特徴量系列と階層的ビート構造の時系列データを準備するダンス生成用データ準備ステップと、
前記ダンスを生成したい楽曲の音楽音響信号の複数の音響特徴量の時系列データからなる音響特徴量系列と前記階層的ビート構造の時系列データとに基づいて、前記音響特徴量系列を前記所定の分析区間における時間的順序付き音響特徴量系列の断片として切り出して複数の音響特徴量系列の断片を集め、該時間的順序付き複数の音響特徴量系列の断片と前記音楽とダンスの対応関係の確率モデルとに基づいて、尤度を考慮しながら前記複数の時間的順序付き音響特徴量系列の断片に対応したダンス語彙の系列を作成し、前記ダンス語彙の系列中の前記ダンス語彙ごとに前記ダンス語彙からの動作生成モデルに基づいて前記分析区間ごとのダンス動作の断片を生成し、生成した複数のダンス動作の断片に基づいて前記ダンスを生成したい楽曲の音楽音響信号に連動した複数のダンス動作を骨格モデルの変形の時系列データで表した複数のダンス動作時系列データとして出力するダンス動作データ生成ステップとからなるダンス動作データ作成方法。
【請求項１９】
前記所定の分析区間は、１小節以上２小節以下の分析区間であり、
前記所定の分析区間が１小節の長さからなるときには、前後二つの前記分析区間はオーバーラップせず、
前記所定の分析区間が１小節より長いときには、前後二つの前記分析区間は一部オーバーラップする請求項１８に記載のダンス動作データ作成方法。
【請求項２０】
前記骨格モデルの変形の時系列データが、前記骨格モデルの位置座標とクォータニオンである請求項１８に記載のダンス動作データ作成方法。
【請求項２１】
前記階層的ビート構造が、前記複数の音楽音響信号と前記ダンスを生成したい楽曲の音楽音響信号から分析される、複数の拍と小節線の時刻情報である請求項１８に記載のダンス動作データ作成システム。
【請求項２２】
前記第１の学習ステップにおけるクラスタリングでは、前記複数のダンス動作の断片からガウシアンプロセスで前記ダンス語彙を決定し、前記ダンス語彙からの動作生成モデルを構築する請求項１８に記載のダンス動作データ作成方法。
【請求項２３】
前記第１の学習ステップにおけるクラスタリングでは、ダンス動作の断片からなる複数個のダンス語彙に対応するクラスタごとにガウシアンプロセスでダンス語彙からの動作生成モデルを構築し、確率が最大となるように前記複数のダンス動作の断片を前記複数個のダンス語彙に対応するクラスタへ再配分するクラスタリングを所定回数繰り返して、前記複数のダンス語彙を決定し且つ前記ダンス語彙からのダンス動作の動作生成モデルを構築し、全ての前記ダンス動作の断片について、前記複数の語彙のいずれに属するものかを分析して前記分析結果を得るとともに、前記音楽音響信号のどの分析区間でどの前記ダンス語彙が出現するかの情報を得る請求項２２に記載のダンス動作データ作成システム。
【請求項２４】
前記第２の学習ステップにおけるクラスタリングでは、複数の音響特徴量系列の断片からガウシアンプロセスで複数の音響特徴量系列のクラスタを決定し、音響特徴量系列のクラスタからの音響特徴量系列生成モデルを構築する請求項１８に記載のダンス動作データ作成方法。
【請求項２５】
前記第２の学習ステップでは、前記複数の音響特徴量系列の断片からなる複数の時間的順序付き音響特徴量系列のクラスタごとにガウシアンプロセスで確率モデルを構築し、確率が最大となるように前記複数の音響特徴量系列の断片を前記複数の時間的順序付き音響特徴量系列のクラスタへ再配分するクラスタリングを所定回数繰り返して、前記複数の時間的順序付き音響特徴量系列のクラスタを決定し且つ前記複数の時間的順序付き音響特徴量系列のクラスタからの音響特徴量系列生成モデルを構築する請求項２４に記載のダンス動作データ作成方法。
【請求項２６】
前記確率モデル構築ステップでは、前記複数の時間的順序付きダンス語彙と前記ダンス語彙からの動作生成モデルとに基づいて、すべての前記ダンス動作の断片について、どのダンス語彙であるかを分析し、どの楽曲のどの分析区間でどのダンス語彙が出現するかを決定し、隣り合う二つの前記ダンス語彙の遷移回数と前記ダンス語彙の出現回数と複数のダンス語彙からの動作生成モデルに基づいて設定するダンス動作の確率的生成モデルを構築して、ダンス動作の確率的生成モデル記憶部に記憶させるステップと、
どのダンス語彙のもとでどの音響特徴量系列のクラスタが観測されるかを分析して、その分析結果に基づいてあるダンス語彙のもとでどの音響特徴量系列のクラスタが観測されるかの確率モデルを構築し、前記ダンス動作の確率的生成モデル並びに前記音響特徴量の確率的生成モデル及びあるダンス語彙のもとでどの音響特徴量系列のクラスタが観測されるかの確率モデルに基づいて、前記音楽とダンスの対応関係の確率モデルを構築して、音楽とダンスの対応関係の確率モデル記憶部に記憶させるステップとにより構成されている請求項１８に記載のダンス動作データ作成方法。
【請求項２７】
前記ダンス動作の確率的生成モデルステップ及び前記音楽とダンスの対応関係の確率モデルステップは、それぞれ隠れマルコフモデルを用いる請求項２６に記載のダンス動作データ作成方法。
【請求項２８】
前記ダンス動作データ生成ステップは、前記音楽とダンスの対応関係の確率モデルに基づき、前記時間的順序付き音響特徴量系列の断片に対応したダンス語彙の系列を作成する請求項１８に記載のダンス動作データ作成方法。
【請求項２９】
前記ダンス動作データ生成ステップは、前記音楽とダンスの対応関係の確率モデルに基づき、Viterbiアルゴリズムによって前記複数の音響特徴量系列の断片に対応したダンス語彙の尤度最大の系列を探索する請求項１８に記載のダンス動作データ作成方法。
【請求項３０】
前記分析区間が１小節より長く２小節より短い場合において、時系列的に隣り合う２つの前記ダンス動作の断片同士でオーバーラップする１以上の拍のダンス動作を補間して、前記ダンスを生成したい楽曲の音楽音響信号に連動した時系列の前記複数のダンス動作時系列データとして出力する補間ステップをさらに備えている請求項１８に記載のダンス動作データ作成方法。
【請求項３１】
前記補間ステップは、線形補間により時系列的に隣り合う２つの前記ダンス動作の断片同士でオーバーラップする１以上の拍のダンス動作を補間する請求項３０に記載のダンス動作データ作成方法
【請求項３２】
前記ダンス動作データ生成ステップは、前記ダンス語彙からのダンス動作生成モデルに基づいてサンプリングを行って前記分析区間ごとのダンス動作の断片を生成する請求項１８に記載のダンス動作データ作成方法。
【請求項３３】
前記ダンス動作データ生成ステップは、前記ダンス語彙からのダンス動作生成モデルをガウシアンプロセスで構築した場合において、前記ガウシアンプロセスの平均と分散に基づいて前記分析区間ごとのダンス動作の断片を生成する請求項１８に記載のダンス動作データ作成方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、音楽に連動したダンスを対象に、機械学習に基づいて新たなダンス動作データを自動生成できるダンス動作データ作成システム及びダンス動作データ作成方法に関するものである。
【背景技術】
【０００２】
音楽に連動した３次元（３Ｄ）のコンピュータグラフィックス キャラクタの動作を編集できるソフトウェアMikuMikuDance （ＭＭＤ）［http://www.geocities.jp/higuchuu4］の登場により、ダンス動画はＭＭＤの登場以前より手軽に作成できるようになった。ＭＭＤで用いることができるキャラクタのモデル（姿形や関節の構造など）はインターネット上に多く公開されており、自分自身でモデルをデザインできない人でもモデルを公開する人のおかげでアニメーションを作成できる。またキーフレームと呼ばれる特定の時刻でのキャラクタの姿勢（ポーズ）を編集し、それらキーフレームのポーズ間の補間方法を設定するだけで、一連のキャラクタの動作を作成することができる。
【０００３】
しかしダンス動作データを制作することは依然大変な作業である。第一に音楽に対応したダンス動作データを制作するのが難しいためである。動きが単調にならないよう十分なバリエーションの動作を考える必要がある。また３Ｄキャラクタに対して不自然な動作が容易に設定できてしまうため、自然になるよう配慮して制作する必要がある。第二に、ダンス動作データを入力することに時間がかかるためである。自然な動きにするためには、一曲を通じて多数のキーフレームを設定する必要があり、しかもキーフレームのポーズ間の補間曲線を試行錯誤しながら決めなければならない。少ない操作で自然な動作とするため、センサデバイスKinectなどによる人間の姿勢情報の取得（モーションキャプチャ）を利用することも可能であるが、ダンスが踊れなければ用いることができない問題がある。以上はコンピュータグラフィックスのキャラクタのダンス動作データの制作に限らず、ロボットのダンス動作データの制作でも同様に問題がある。
【０００４】
音楽に連動したダンスを自動生成する従来の研究では、音楽のテンポ［非特許文献１］［非特許文献１３］、ビート検出のための特徴量［非特許文献５］［非特許文献１４］、音高と和音［非特許文献１１］、メロディの概形［非特許文献１２］などがダンスと対応づけて分析され用いられている。また２つ以上の音響特徴量を組み合わせて用いる手法［非特許文献３］や、１曲中の音響特徴量の類似度行列を用いる手法［非特許文献６］がある。隠れマルコフモデル（ＨＭＭ）を用いてあらかじめ収集したダンスの断片と音楽の対応関係をモデル化し、ダンスの断片の接続によってダンス生成を行う手法も提案されている［非特許文献１１］。一方でダンス動作の時系列を分析し、時間的に離れたキーフレーム間の自然な補間や、人間らしい動きを実現する研究も行われている。ＨＭＭ［非特許文献１６］、動的ベイジアンネットワーク（ＤＢＮ）［非特許文献８］、階層的ディリクレ過程隠れマルコフモデル（HDP-HMM）［非特許文献１７］、Kernel Canonical Correlation Analysis（KCCA）［[非特許文献４]、ガウシアンプロセス（GP）を使う方法［非特許文献９］、潜在変数の軌跡のトポロジーを考慮したTopological Gesture Analysis （TGA）［非特許文献１０］［非特許文献１５］が提案されている。またダンス動作ではなく人間の動作一般の研究として、Gaussian Process Dynamical Models （GPDM）［非特許文献１８]、Multi-layer Joint Gait-Pose Manifolds （multi-layer JGPM）［非特許文献２］などを用いて、人間の動作を低次元の空間へ非線形写像によって縮退させて分析・補間する手法が提案されている。
【先行技術文献】
【非特許文献】
【０００５】
【非特許文献１】K. M. Chen, S. T. Shen and S. D. Prior: "Using music and motion analysis to construct 3D animations and visualisations," Digital Creativity Vol. 19, No. 2 (2008)
【非特許文献２】M. Ding and G. Fan: "Multi-layer joint gait-pose manifold for human motion modeling," In Proc. FG 2013  pp. 1{8, (2013).
【非特許文献３】R. Fan, S. Xu and W. Geng: "Example-based automatic music-driven conventional dance motion synthesis," IEEE Transactions on Visualization and Computer Graphics Vol. 18, No. 3 (2012)
【非特許文献４】T. Hirose and T. Taniguchi: "Abstraction multimodal low-dimensional representation from high-dimensional posture information and visual images," Journal of Robotics and Mechatronics Vol. 25, No. 1 (2013).
【非特許文献５】J. W. Kim, H. Fouad, J. L. Sibert and J. K. Hahn: "Perceptually motivated automatic dance motion generation for music," Computer Animation and Virtual Worlds 2009 Vol. 20 (2009), pp. 375-384.
【非特許文献６】M. Lee, L. Lee and J. Park: "Music similarity-based approach to generating dance motion sequence," Multimedia Tools and Applications Vol. 62, No. 3 (2013), pp. 895-912.
【非特許文献７】M. F. Moller: "A scaled conjugate gradient algorithm for fast supervised learning," Neural Networks 6, 4 (1993), pp. 525-533.
【非特許文献８】K. Moon and V. Pavlovic: "Graphical models for human motion modelling. Human Motion," Computational Imaging and Vision Vol. 36 (2008), pp. 159-183.
【非特許文献９】T. Mukai and S. Kuriyama: "Geostatistical Motion Interpolation," In Proc. ACM SIGGRAPH, Vol. 24, No. 3(2005), pp. 1062-1070.
【非特許文献１０】L. Naveda and M. Leman: "The spatiotemporal representation of dance and music gestures using topological gesture analysis (TGA)," Music Perception Vol. 28, No. 1 (2010), pp. 93-111.
【非特許文献１１】F. Ofli, E. Erzin, Y. Yemez and A. M. Tekalp: "Learn2dance: Learning statistical music-to-dance mappings for choreography synthesis," IEEE Transactions on Multimedia Vol. 14, No. 3 (2012).
【非特許文献１２】S. Oore and Y. Akiyama: "Learning to synthesize arm motion to music by example," In Proc. WSCG 2006(2006), pp. 201-208.
【非特許文献１３】C. Panagiotakis, A. Holzapfel, D. Michel and A. Argyros: "A. Beat synchronous dance animation based on visual analysis of human motion and audio analysis of music tempo," In Proc. ISVC 2013 (2013), pp. 118-127.
【非特許文献１４】T. Shiratori, A. Nakazawa and K. Ikeuchi: "Synthesizing dance performance using musical and motion features," In Proc. ICRA 2006 (2006), pp. 3654-3659.
【非特許文献１５】P. Sousa, J. L. Oliveira, L. P. Reis and F. Gouyon: "Humanized robot dancing: Humanoid motion retargeting based in a metrical representation of human dance styles," In Proc. EPIA 2011 (2011), pp. 392-406.
【非特許文献１６】T. Takeda, Y. Hirata and K. Kosuge: "Dance step estimation method based on HMM for dance partner robot,"IEEE Transactions on Industrial Electronics Vol. 54, No. 2 (2007).
【非特許文献１７】T. Taniguchi, K. Hamahata and N. Iwahashi: "Unsupervised segmentation of human motion data using sticky HDP-HMM and MDL-based chunking method for imitation learning," Advanced Robotics Vol. 25, No. 17 (2011).
【非特許文献１８】J. M. Wang, D. J. Fleet and A. Hertzmann: "Gaussian process dynamical models for human motion," IEEE Transactions on Pattern Recognition and Machine Intelligence Vol. 30, No. 2 (2008).
【非特許文献１９】後藤, 吉井, 藤原, M. Mauch, 中野: "Songle：音楽音響信号理解技術とユーザによる謝り訂正に基づく能動的音楽鑑賞サービス," 情報処理学会論文誌, Vol. 54, No. 4 (2013), pp. 1363-1372.
【発明の概要】
【発明が解決しようとする課題】
【０００６】
このように従来の方法では楽曲に連動したダンス動作データが生成されるものの、ダンス動作の時系列を分析し学習データにない新たなダンス動作を自動生成するには至っていない。またダンスや人間の動作の自然な補間を行うためにGP を使う手法が提案されているが、それを用いて楽曲に対してダンス動作データを自動生成できなかった。
【０００７】
そして従来は、ダンス動作の断片を準備し、それを確率モデルなどを用いて音楽に合わせて接続することでダンス自動生成が実現されてきた。しかしダンス動作の断片を切り貼りするのみで、ダンス動作自体の学習・生成手法とはなっておらず、生成結果のバリエーションに限界があった。
【０００８】
本発明の目的は、これらの困難を克服できる、音楽に連動したダンス動作データを自動生成できるダンス動作データ作成システム及びダンス動作データ作成方法を提供することにある。
【課題を解決するための手段】
【０００９】
本発明のダンス動作データ作成システムは、ダンスと音楽の対応関係のみでなく、ダンス動作自体をも学習することで、楽曲に連動した新たなダンス動作を自動生成する。そこで本発明のダンス動作データ作成システムは、データ記憶部と、第１の学習部と、第２の学習部と、確率モデル構築部と、ダンス生成用データ記憶部と、ダンス動作データ生成部とを用いる。
【００１０】
データ生成部は、複数の音楽音響信号に対応した複数の音響特徴量の時系列データからなる複数の音響特徴量系列と、複数の音楽音響信号に対応した複数の階層的ビート構造の時系列データと、複数の音楽音響信号に対応した複数のダンスにそれぞれ対応した複数のダンス動作を骨格モデルの変形の時系列データで表した複数のダンス動作時系列データを記憶する。これらのデータは、すでに作成されて入手可能なものを利用してもよく、新たに音楽音響信号とダンス動作を用いてデータ化してもよい。
【００１１】
第１の学習部は、ダンス動作の断片切り出し部と、ダンス動作の断片集積部と、ダンス動作のクラスタリング部と、時間的順序付きダンス語彙記憶部とダンス語彙からの動作生成モデル記憶部とから構成される。ダンス動作の断片切り出し部は、まず複数の階層的ビート構造の時系列データと複数のダンス動作時系列データとに基づいて、複数のダンス動作時系列データをそれぞれ所定の分析区間におけるダンス動作の断片として切り出し、併せてダンス動作時系列データ中でのダンス動作の断片の時間的順序を決定する。所定の分析区間の定め方は任意であるが、小節及びビート構造を構成する拍を基準にして定めることができる。分析区間を、１小節以上２小節以下の区間と定めると、音楽的に有意味なまとまりである小節とダンス動作の対応関係の学習とそれに基づく小節単位でのダンス動作の生成が可能で、さらに小節ごとの動作同士を滑らかにつなぐ動作も学習・生成できる。ダンス動作の断片集積部は、ダンス動作時系列データ中における時間的順序の情報を伴った複数のダンス動作の断片を集める。そしてダンス動作のクラスタリング部は、複数のダンス動作の断片を複数のダンス語彙に対応するクラスタに配分するクラスタリングを行って、どのようなダンス語彙があるかと、複数のダンス動作の断片のそれぞれがどの前記ダンス語彙に対応するクラスタに属するのかを分析し、時間的順序付きダンス語彙を求める。そして時間的順序付きダンス語彙に基づいて、ダンス語彙が与えられたときにどのようなダンス動作が生成されるかを決定するダンス語彙からの動作生成モデルを構築する。時間的順序付きダンス語彙記憶部は、ダンス動作のクラスタリング部で得た時間的順序付きダンス語彙を記憶する。そしてダンス語彙からの動作生成モデル記憶部は、ダンス動作のクラスタリング部で得たダンス語彙からの動作生成モデルを記憶する。なお本願明細書において、類似した特徴を持つダンス動作の確率的な生成源のことを「ダンス語彙」と呼ぶ。ダンス語彙に対応するクラスタには、１以上のダンス動作の断片が配分される。ここで時間的順序付きダンス語彙における「時間的順序付き」とは、音楽音響信号のどの分析区間で出現するかの情報をダンス語彙が備えていることを意味する。
【００１２】
第２の学習部は、音響特徴量系列の断片の切り出し部と、音響特徴量系列の断片集積部と、音響特徴量系列のクラスタリング部と、時間的順序付き音響特徴量系列のクラスタ記憶部及び音響特徴量系列のクラスタからの音響特徴量系列生成モデル記憶部とから構成される。音響特徴量系列の断片の切り出し部は複数の音響特徴量系列と複数の階層的ビート構造の時系列データとに基づいて、複数の音響特徴量系列をそれぞれ所定の分析区間における音響特徴量系列の断片として切り出し、併せて音響特徴量系列の断片の音楽音響信号中での時間的順序を決定する。音響特徴量系列の断片集積部は、音響特徴量系列における時間的順序の情報を伴った複数の音響特徴量系列の断片を集める。そして音響特徴量系列のクラスタリング部は、複数の音響特徴量系列の断片を複数の音響特徴量系列のクラスタに配分するクラスタリングを行って、どのような音響特徴量系列のクラスタがあるかと、複数の音響特徴量系列の断片のそれぞれがどの音響特徴量系列のクラスタに属するのかを分析し、時間的順序付き音響特徴量系列のクラスタを求める。そして時間的順序付き音響特徴量系列のクラスタに基づいて、音響特徴量系列のクラスタが与えられたときにどのような音響特徴量が生成されるかを決定する音響特徴量系列生成モデルを構築する。時間的順序付き音響特徴量系列のクラスタ記憶部は、音響特徴量系列のクラスタリング部で取得した時間的順序付き音響特徴量系列のクラスタを記憶する。音響特徴量系列生成モデル記憶部は、音響特徴量系列のクラスタリング部で得た音響特徴量系列生成モデルを記憶する。音響特徴量系列のクラスタには、１以上の時間的順序付き音響特徴量系列が含まれる。ここで時間的順序付き音響特徴量系列のクラスタの「時間的順序付き」とは、音楽音響信号のどの分析区間で出現するかの情報を音響特徴量系列クラスタがそれぞれ備えていることを意味する。
【００１３】
確率モデル構築部は、時間的順序付きダンス語彙と、ダンス語彙からの動作生成モデルと、時間的順序付き音響特徴量系列のクラスタと、音響特徴量系列生成モデルとに基づいて、時間的順序付き音響特徴量系列のクラスタとダンス語彙の対応関係を分析して音楽とダンスの対応関係の確率モデルを構築する。
【００１４】
ダンス生成用データ記憶部には、ダンスを生成したい楽曲の音楽音響信号の音響特徴量の時系列データからなる音響特徴量系列とその階層的ビート構造の時系列データが記憶される。このデータは、すでに作成されていて入手可能なデータでもよいし、新たに分析を行って得たデータのいずれでもよい。
【００１５】
ダンス動作データ生成部は、ダンスを生成したい楽曲の音楽音響信号の音響特徴量の時系列データからなる音響特徴量系列と階層的ビート構造の時系列データとに基づいて、音響特徴量系列を所定の分析区間における音響特徴量系列の断片として切り出して複数の時間的順序付き音響特徴量系列の断片を集める。そしてダンス動作データ生成部は、複数の時間的順序付き音響特徴量系列の断片と音楽とダンスの対応関係の確率モデルとに基づいて、尤度を考慮しながら複数の音響特徴量系列の断片に対応したダンス語彙の系列を作成する。さらにダンス動作データ生成部は、ダンス語彙の系列中のダンス語彙ごとにダンス語彙からの動作生成モデルに基づいて分析区間ごとのダンス動作の断片を生成し、生成した複数の時間的順序付きダンス動作の断片に基づいてダンスを生成したい楽曲の音楽音響信号に連動したダンス動作を、骨格モデルの変形の時系列データで表したダンス動作時系列データとして出力する。
【００１６】
本発明によれば、音楽音響信号と対応付いたダンス時系列データと階層的ビート構造の時系列データからダンス動作を学習し、さらにダンス語彙の概念を導入してダンス語彙からのダンス動作の生成モデルを構築し、ダンスを生成したい楽曲の音楽音響信号と階層的ビート構造から得られる複数の時間的順序付き音響特徴量系列の断片と音楽とダンスの対応関係の確率モデルとに基づいて、尤度を考慮しながら複数の音響特徴量系列の断片に対応したダンス語彙の系列を作成し、ダンス語彙の系列中のダンス語彙ごとにダンス語彙からの動作生成モデルに基づいて分析区間ごとの時間的順序付きダンス動作の断片を生成し、生成した複数の時間的順序付きダンス動作の断片に基づいてダンスを生成したい楽曲の音楽音響信号に連動した骨格モデルの変形の時系列データで表わしたダンス動作の時系列データとして出力するので、ダンス制作にかかる多大な時間や労力を要することなく、楽曲に応じた新たなダンス操作を生成することができる。そして本発明によれば、学習のための音楽音響信号と対応付いたダンス時系列データを変えれば、それに伴って異なったダンスを生成することができる。また本発明によれば、同じ楽曲でも、確率モデルの分散に基づき、異なったダンス動作を生成することもできる。
【００１７】
所定の分析区間は、１小節以上２小節以下の分析区間にすることが好ましい。この場合において、所定の分析区間が１小節の長さからなるときには、前後二つの分析区間はオーバーラップさせず、所定の分析区間が１小節より長いときには、前後二つの分析区間を一部オーバーラップさせる。このようにすると小節ごとの動作のつなぎ目を考慮したよりなめらかなダンス動作を生成することができる。
【００１８】
骨格モデルの変形の時系列データが、骨格モデルの位置座標とクォータニオンであるのが好ましい。変形の時系列データをこのように構成すると、人間のダンス動作と同じダンス動作を生成することができる。またＭＭＤなどの３次元コンピュータグラフィックスを扱うソフトウェアやロボットの動作を扱うソフトウェアへの入力にすることができる。
【００１９】
本願明細書において、階層的ビート構造とは、複数の音楽音響信号とダンスを生成したい楽曲の音楽音響信号から分析される、複数の拍と小節線の時刻情報である。
【００２０】
ダンス動作のクラスタリング部では、複数のダンス動作の断片からガウシアンプロセスで複数のダンス語彙を決定し、ダンス語彙からの動作生成モデルを構築することが好ましい。このようにすると複数のダンス動作の断片に共通するダンス動作の特徴を持つ新しいダンス動作を生成可能な確率モデルを構築できる。
【００２１】
具体的に、ダンス動作のクラスタリング部では、複数個のダンス語彙に対応するクラスタごとにガウシアンプロセスで確率モデルを構築する。そして確率が最大となるように複数のダンス動作の断片を複数個のダンス語彙に対応するクラスタへ再配分するクラスタリングを所定回数繰り返して、複数のダンス語彙を決定し且つダンス語彙からのダンス動作の動作生成モデルを生成し、全てのダンス動作の断片について、複数の語彙のいずれに属するものかを分析して分析結果を得るとともに、音楽音響信号のどの分析区間でどのダンス語彙が出現するかの情報を得る。このようにガウシアンプロセスで確率モデルを構築すると、従来の時系列の平均を計算する方法では不可能であった、クラスタに配分された時系列の分散を考慮して確率モデルを構築することが可能になる。
【００２２】
音響特徴量系列のクラスタリング部では、複数の音響特徴量系列の断片からガウシアンプロセスで複数の音響特徴量系列のクラスタを決定し、音響特徴量系列のクラスタからの音響特徴量系列生成モデルを構築することが好ましい。このようにすると複数の音響特徴量系列の断片に共通する特徴を持つ音響特徴量系列を生成可能な確率モデルを構築できる。
【００２３】
具体的に、音響特徴量系列のクラスタリング部では、複数の音響特徴量系列の断片からなる複数の時間的順序付き音響特徴量系列のクラスタごとにガウシアンプロセスで確率モデルを構築する。そして、確率が最大となるように複数の音響特徴量系列の断片を複数の時間的順序付き音響特徴量系列のクラスタへ再配分するクラスタリングを所定回数繰り返して、複数の時間的順序付き音響特徴量系列のクラスタを決定し且つ複数の時間的順序付き音響特徴量系列のクラスタからの音響特徴量系列生成モデルを生成するのが好ましい。このようにガウシアンプロセスで確率モデルを構築すると、従来の時系列の平均を計算する方法では不可能であった、クラスタに配分された時系列の分散を考慮して確率モデルを構築することが可能になる。
【００２４】
確率モデル構築部は、ダンス動作の確率的生成モデル構築部と、前記ダンス動作の確率的生成モデルを記憶する確率的生成モデル記憶部と、音楽とダンスの対応関係の確率モデル構築部と、音楽とダンスの対応関係の確率モデル記憶部とにより構成することができる。ダンス動作の確率的生成モデル構築部は、複数の時間的順序付きダンス語彙とダンス語彙からの動作生成モデルとに基づいて、すべての前記ダンス動作の断片について、どのダンス語彙であるかを分析し、どの楽曲のどの分析区間でどのダンス語彙が出現するかを決定し、隣り合う二つの前記ダンス語彙の遷移回数と前記ダンス語彙の出現回数と複数のダンス語彙からのガウシアンプロセスに基づいて設定するダンス語彙の時系列からダンス動作を生成するダンス動作の確率的生成モデルを構築する。
【００２５】
音楽とダンスの対応関係の確率モデル構築部は、また、どのダンス語彙のもとでどの音響特徴量系列のクラスタが観測されるかを分析して、その分析結果に基づいてあるダンス語彙のもとでどの音響特徴量系列のクラスタが観測されるかの確率モデルを構築し、ダンス動作の確率的生成モデル並びに音響特徴量の確率的生成モデル及びあるダンス語彙のもとでどの音響特徴量系列のクラスタが観測されるかの確率モデルに基づいて、音楽とダンスの対応関係の確率モデルを構築する。このように構築した音楽とダンスの対応関係の確率モデルを用いると、同じダンス語彙に対して複数の音響特徴量系列のクラスタが対応する場合を含めた対応関係を分析し生成に用いることができる。
【００２６】
ダンス動作の確率的生成モデル構築部及び音楽とダンスの対応関係の確率モデル構築部は、それぞれ隠れマルコフモデルによって構成することができる。隠れマルコフモデルを用いると、ダンス動作や音響特徴量系列のような非定常な時系列をモデル化することができる。
【００２７】
ダンス動作データ生成部は、音楽とダンスの対応関係の確率モデルに基づき、時間的順序付き音響特徴量系列の断片に対応したダンス語彙の系列を作成するように構成するのが好ましい。このようにすると、より最適なダンス語彙を求めることができる。
【００２８】
ダンス動作データ生成部は、音楽とダンスの対応関係の確率モデルに基づき、Viterbiアルゴリズムによって複数の音響特徴量系列の断片に対応したダンス語彙の尤度最大の系列を探索する。このようにするとダンス語彙の尤度最大の系列を系列長に比例する計算量で効率的に探索することができる。
【００２９】
分析区間が１小節より長く２小節より短い場合において、時系列的に隣り合う２つのダンス動作の断片同士でオーバーラップする１以上の拍のダンス動作を補間して、ダンスを生成したい楽曲の音楽音響信号に連動したダンス動作時系列データとして出力する補間部を備えているのが好ましい。補間部を設けると、よりスムーズがダンス動作を得ることができる。
【００３０】
なお補間部は、線形補間により時系列的に隣り合う２つのダンス動作の断片同士でオーバーラップする１以上の拍のダンス動作を補間するようにすると、よりスムーズなダンス動作を得ることができる。
【００３１】
ダンス動作データ生成部は、ダンス語彙からのダンス動作生成モデルに基づいてサンプリングを行って分析区間ごとのダンス動作の断片を生成してもよい。ここでサンプリングとは、ダンス語彙からの動作生成モデルを用いて確率の高いダンス動作のサンプルを生成することであり、その方法は任意である。
【００３２】
ダンス動作データ生成部は、ダンス語彙からのダンス動作生成モデルをガウシアンプロセスで構築した場合において、ガウシアンプロセスの平均と分散に基づいて分析区間ごとのダンス動作の断片を生成する。ガウシアンプロセスの平均と分散に基づいて分析区間ごとのダンス動作の断片を生成すると、従来の平均のみによる方法では不可能である、分散に基づいたバリエーションを持つ複数のダンス動作を生成することができる。
【００３３】
本発明のダンス動作データ作成システムにより作成した複数のダンス動作時系列データに基づいて３次元コンピュータグラフィックスのキャラクタあるいはロボットのダンスを自動生成するダンス自動生成システムは、音楽に連動したキャラクタあるいはロボットのダンスを自動生成することができる。
【００３４】
本発明は、音楽に連動したダンス動作データを自動生成できるダンス動作データ作成方法としても把握することができる。
【図面の簡単な説明】
【００３５】
【図１】本発明のダンス動作データ作成システムの実施の形態の一例の構成を示すブロック図である。
【図２】（Ａ）及び（Ｂ）は、図１の第１及び音響特徴量系列のクラスタリング部の構成を示すブロック図である。
【図３】図１に示した実施の形態をコンピュータを用いて実現する場合に、コンピュータにインストールされて図１の各ブロックを実現するために用いるコンピュータプログラムの全体の概略フローチャートである。
【図４】音楽音響信号の分析のためのフローチャートである。
【図５】ダンスのディジタル記録のためのフローチャートである。
【図６】ダンスの学習のためのフローチャートである。
【図７】音楽とダンスの対応関係の学習のためのフローチャートである。
【図８】ダンスの生成のためのフローチャートである。
【図９】ダンスの動作の分析区間への切り出し方を説明するために用いる図である。
【図１０】類似するダンス動作のクラスタと学習されたダンス語彙の一例を示す図である。
【図１１】音楽に連動したダンスのダンス語彙の系列を作成する過程を説明するために用いる図である。
【図１２】本発明で用いる確率モデルの概念を示す図である。
【図１３】ダンス動作の自動生成を説明するために用いる図である。
【発明を実施するための形態】
【００３６】
以下図面を参照して、本発明のダンス動作データ作成システム及びダンス動作データ作成方法の実施の形態について詳細に説明する。図１は、本発明のダンス動作データ作成システムの実施の形態の一例の構成を示すブロック図であり、図２は図１の第１及び音響特徴量系列のクラスタリング部の構成を示すブロック図である。また図３乃至図８は、図１に示した実施の形態を、コンピュータを用いて実現する場合に、コンピュータにインストールされて図１の各ブロックを実現するために用いるコンピュータプログラムの一例の構成を説明するための概略フローチャートである。特に図３は、コンピュータプログラムの全体フローチャートを示しており、図４乃至図８は、図３に示した複数のステップの詳細を示すフローチャートである。なお以下の説明では、図１及び図２に示した実施の形態の説明と併せて図３乃至図８のフローチャートについても説明する。
【００３７】
図１に示す実施の形態のダンスデータ作成システムは、コンピュータ内のプロセッサまたはＣＰＵ（中央演算装置）を用いて演算処理を実行して演算処理部を構成し、コンピュータ内のメモリ内に各記憶部を構成する。
【００３８】
図１に示す実施の形態のダンス動作データ作成システムは、ダンスと音楽の対応関係のみでなく、ダンス動作自体をも学習することで、新たなダンス動作を楽曲に連動して自動生成する。そこでダンス動作データ作成システムは、データ記憶部１と、第１の学習部２と、第２の学習部３と、確率モデル構築部４と、ダンス生成用データ記憶部５と、ダンス動作データ生成部６とを用いる。
【００３９】
［データ記憶部］
データ記憶部１は、複数の音楽音響信号ｃ１〜ｃＤに対応した複数の音響特徴量の時系列データからなる複数の音響特徴量系列を記憶する音響特徴量系列記憶部１１と複数の音楽音響信号ｃ１〜ｃＤに対応した複数の階層的ビート構造の時系列データを記憶する階層的ビート構造の時系列データ記憶部１２と複数の音楽音響信号ｃ１〜ｃＤに対応した複数のダンスｄ１〜ｄＤにそれぞれ対応した複数のダンス動作を時系列の骨格モデルの変形データで表した複数のダンス動作時系列データを記憶するダンス動作時系列データ記憶部１３とを備えている。これらの記憶部１１乃至１３に記憶されたデータは、すでに作成されて入手可能なものを利用してもよく、新たに音楽音響信号とダンス動作を用いてデータ化してもよい。
【００４０】
図３に示すフローチャートでは、楽曲とダンスを学習データとして、複数の音楽音響信号ｃ１〜ｃＤと複数の音楽音響信号ｃ１〜ｃＤに対応した複数のダンスｄ１〜ｄＤのデータを、ステップＳＴ１において順次処理する。ステップＳＴ１では、音楽音響信号ｃ１〜ｃＤを分析して、学習データすべての音響特徴量系列と、複数の音楽音響信号ｃ１〜ｃＤに対応した複数の階層的ビート構造の時系列データを得る（ステップＳＴ１１）。図４は、この処理のためのプログラムのフローチャートを示している。すなわちステップＳＴ１１Ａにおいて、分析フレーム長０．６６sec、０．３３secのオーバーラップで分析フレームごとに特徴量を抽出する。具体的には、例えば、音楽音響信号を分析するために広く用いられているメル周波数ケプストラム係数（MFCC）（１６次元）と、直前の分析区間のMFCCとの差分であるΔMFCC（１６次元）を連ねた３２次元のベクトルを音響特徴量として用いる。これにより曲中の盛り上がり、類似部分（繰り返されるサビなど）、音色の判別をある程度行うことができる。なお本発明は、この特徴量を用いる場合に限定されるものではなく、クロマベクトル、スペクトルフラックス、パワー、非負値行列分解などによる多重音解析結果、楽器音認識結果等を特徴量として用いてもよい。分析フレーム長とオーバーラップの長さも前記の場合に限定されるものではなく、用いる音響特徴量の性質に応じて適切に設定してよい。また本実施の形態では、ステップＳＴ１１Ｂにおいて、ステップＳＴ１１Ａにおいて求めた特徴量から階層的ビート構造の検出を行う。なお本実施の形態では、楽曲のビート（拍）の位置と小節線が、階層的なビート構造として推定される。この階層的なビート構造の推定技術については、前述の［非特許文献１９］に詳しく説明されている。あるいは階層的なビート構造は人手による入力で与えてもよい。
【００４１】
また複数の音楽音響信号ｃ１〜ｃＤに対応した複数のダンスｄ１〜ｄＤの処理は、ダンスのディジタル記録処理（ダンス動作をディジタル処理できる記述に変換する処理）として実行される（ステップＳＴ１２）。３次元（３Ｄ）コンピュータグラフィックス（CG）のキャラクタは広く普及したが、その動作の制作は人手によるものが多い。本実施の形態では、人手による入力及びモーションキャプチャを利用した入力、そして機械学習に基づく入力のいずれによってディジタル記録されたものでも利用できる。
【００４２】
図５は、ダンスのディジタル記録のためのステップＳＴ１２である。例えば、３次元キャラクタのモデルにはボーンと呼ばれる人間の骨格に相当する骨格モデル構造があり、このボーンを平行移動もしくは回転させることでキャラクタを動かすことができる。体の中心を表わすボーンの位置は動きに依存せず固定されたデカルト座標に基づく位置座標（x1;x2;x3）と表現できる。しかし腕や足といったボーンは、他のボーンと接続されているため、位置座標で表すと腕と胴体が離れるなど姿勢として不可能なものが表現されてしまい、ふさわしくない。これらのボーンについては、体の中心に近い方へ接続されているボーン（親ボーン）との接点を中心として、基本姿勢からどれだけ３次元的に回転されたかで表現できる。３次元の回転は回転行列による表現、オイラー角による表現、クォータニオンによる表現がある。本実施の形態では、クォータニオンを用いる。回転行列は３×３の行列であり、単位ベクトルの向きの変化を線形変換で表したときの変換行列である。オイラー角は、３つの軸を事前に決めた順番で中心軸として回転させる角度で３次元回転を表現する方法で(θｘ；θｙ；θｚ)と表せる。クォータニオンＱは回転前後のベクトルの外積(ｑ1；ｑ2；q3)と内積ｑ0 からなる四元数であり、Ｑ＝ｑ0＋ｑ1i ＋ｑ2j ＋ q3k と表わせる。ここでi2 ＝ j2 ＝ k2 ＝ ijk＝−1、ij ＝−ji ＝ k、jk ＝−kj ＝ i、ki ＝−ik ＝ j である。クォータニオンでは４つのパラメータによって姿勢の回転を表わすことができる。クォータニオンは回転行列よりパラメータ数が少なく、またオイラー角の表現の問題である、回転する軸の順番と角度によっては目的の姿勢に導く表現が存在しない場合や、姿勢間を補間する際に大回りとなる軌跡を描いてしまうジンバルロック現象を避けることができる。さらに球面線形補間が簡単に行えるなどの便利な性質がある。本実施の形態では体の動きを表現するために必要な腕、足などの２０本のボーンを用いた。全２０本のボーンのうち、体の中心を表わす３次元座標の３つのパラメータと、残り１９本のボーンの回転を表わすクォータニオンの４つのパラメータを１つのベクトルへと束ねると、７９次元のベクトルとして各時刻でのキャラクタの姿勢を表現することができる。なお使用するボーンの種類と数はこの場合に限定されず、詳細にダンス動作を表わすためにより多くの種類と数を用いてもよい。
【００４３】
［第１の学習部の構成］
図３に示すように、ステップＳＴ１２で変換したダンス動作（学習データのすべてのダンス動作）は、ステップＳＴ２においてダンスの学習として学習処理される。このステップＳＴ２は、図１の実施の形態では、第１の学習部２によって実行される。第１の学習部２は、ダンス動作の断片切り出し部２１と、ダンス動作の断片集積部２２と、ダンス動作のクラスタリング部２３と、時間的順序付きダンス語彙記憶部２４とダンス語彙からの動作生成モデル記憶部２５とから構成される。ダンス動作の断片切り出し部２１は、まず複数の階層的ビート構造の時系列データと複数のダンス動作時系列データとに基づいて、複数のダンス動作時系列データをそれぞれ所定の分析区間におけるダンス動作の断片として切り出し、併せてダンス動作時系列データ中でのダンス動作の断片の時間的順序を決定する。所定の分析区間の定め方は任意であるが、小節及びビート構造を構成する拍を基準にして定めることができる。なお以下の本実施の形態の説明では、分析区間を１．５小節としている。ダンス動作の断片集積部２２は、ダンス動作時系列データ中における複数のダンス動作の断片を集める。そしてダンス動作のクラスタリング部２３は、複数のダンス動作の断片を複数のダンス語彙に対応するクラスタに配分するクラスタリングを行って、どのような時間的順序付きダンス語彙があるかを求め、同時に複数のダンス動作の断片のそれぞれがどのダンス語彙に対応するクラスタに属するのかを分析し、その分析結果から得たどの音楽音響信号のどの分析区間でどのダンス語彙が出現するかの情報に基づいて、ダンス語彙が与えられたときにどのようなダンス動作が生成されるかを決定するダンス語彙からの動作生成モデルを構築する。時間的順序付きダンス語彙記憶部２４は、ダンス動作のクラスタリング部２３で得た時間的順序付きダンス語彙を記憶する。そしてダンス語彙からの動作生成モデル記憶部２５は、ダンス動作のクラスタリング部２３で得たダンス語彙からの動作生成モデルを記憶する。なお類似した特徴を持つダンス動作の確率的な生成源のことを、「ダンス語彙」と呼ぶ。また時間的順序付きダンス語彙における「時間的順序付き」とは、音楽音響信号のどの分析区間で出現するかの情報をダンス語彙それぞれが備えていることを意味する。
【００４４】
以下本発明で採用するダンス動作の切り出し及びダンス語彙について詳しく説明する。楽曲に連動したダンス動作は部分に切り分けて捉えることができる。実際、サビやＡメロの繰り返しや音響特徴が似ている部分では類似した動作が見られることが多い。またより小さな時間単位においても、２つの姿勢が交互に現われるなど繰り返し構造がダンス動作の中に見られる。繰り返されている部分は、その場所の音楽や、それが何回目の繰り返しかに応じて、変化して現われることが多いが、それらが類似しているため、同じ動作から派生して生まれた動作として捉えることができる。このような類似したダンス動作を生成する基本形となるダンス動作の確率的な生成源のことを、「ダンス語彙」と呼ぶ。楽曲中のＡメロの繰り返しにおいて、類似したダンス動作がある場合、それらは類似した共通したダンス語彙から生成されていると捉えることができる。本実施の形態では、楽曲に連動したダンス動作を分析区間へと分割して捉え、分析区間ごとにダンス動作がダンス語彙から確率的に生成されている、という発想で「ダンス語彙からの動作生成モデル」をダンス動作のクラスタリング部２３のクラスタリング結果から設計する。
【００４５】
ダンス語彙をどのような時間的長さで定義すべきかについて説明する。音楽に連動したダンスは音楽の拍の位置に大きく関連しており、時間の単位として、１拍の長さを規準にするのがふさわしい。一般に分析区間が長いほど長い時間的構造を持ったダンス語彙を分析できるが、語彙数が膨大になってしまう欠点がある。本実施の形態では４分の４拍子を仮定し、１小節４拍の中での強拍と、弱拍でどのようにダンス動作が違うのかについて観察できる区分の長さとするため、１小節のダンスを基本単位と考える。その上で新たな提案として、小節の先頭の動作へ前の小節から続く動作も合わせて分析するために、前の小節の３拍目から始まり、その小節の４拍目最後で終る１．５小節の分析区間を用いてダンスを分析する。ダンス動作の分析区間の様子を図９に示す。本実施の形態では、このようにダンス動作が０．５小節分オーバーラップしながら切り出されて分析する方法を採用する。なお、分析するダンスに対応した楽曲によってテンポが異なるため、切り出されるダンスの時間長が異なり、互いに比較するのが不便である。そこで１小節が１．０となるように時間の正規化を行う。
【００４６】
図６には、図１のステップＳＴ２とステップＳＴ３の一部の詳細フローチャートが示されている。ステップＳＴ２１により図１のダンス動作の断片切り出し部２１が構成されている。ステップＳＴ２１では、ダンス動作の断片の集積が得られるとともに、ダンス動作の断片の学習データ中での時間的順序の情報が得られる。そしてステップＳＴ２２及びＳＴ２３により、ダンス動作のクラスタリング部２３が構成されている。ダンス動作のクラスタリング部２３は、図２（Ａ）及び（Ｂ）に示すように構成されている。すなわちダンス動作のクラスタリング部２３では、複数のダンス語彙からガウシアンプロセスでダンス語彙からの動作生成モデルを構築する。そこでダンス動作のクラスタリング部２３では、ダンス動作の断片からなる複数個のダンス語彙に対応するクラスタごとにガウシアンプロセスで確率モデルを構築する。そして確率が最大となるように複数のダンス動作の断片を複数個のダンス語彙クラスタへ再配分するクラスタリングを所定回数（例えば２０回以上）繰り返して、複数のダンス語彙を決定し内部メモリに一時記憶し且つダンス語彙からのダンス動作の動作生成モデルを構築し、全てのダンス動作の断片について、複数の語彙のいずれに属するものかを分析して分析結果を得るとともに、音楽音響信号のどの分析区間でどのダンス語彙が出現するかの情報を得る。この情報は、求められた複数のダンス語彙とともに時間的順序付きダンス語彙記憶部２４に記憶される。また構築されたダンス語彙からのダンス動作の動作生成モデルは、ダンス語彙からの動作生成モデル記憶部２５に記憶される。
【００４７】
［第２の学習部］
第２の学習部３は、音響特徴量系列の断片の切り出し部３１と、音響特徴量系列の断片集積部３２と、音響特徴量系列のクラスタリング部３３と、時間的順序付き音響特徴量系列のクラスタ記憶部３４及び音響特徴量系列のクラスタからの音響特徴量系列生成モデル記憶部３５とから構成される。音響特徴量系列の断片の切り出し部３１は、複数の音響特徴量系列と複数の階層的ビート構造の時系列データとに基づいて、複数の音響特徴量系列をそれぞれ所定の分析区間における音響特徴量系列の断片として切り出し、併せて音響特徴量系列の断片の音楽音響信号中での時間的順序を決定する（図７のステップＳＴ３１）。音響特徴量系列の断片集積部３２は、音響特徴量系列における複数の音響特徴量系列の断片を集める。そして音響特徴量系列のクラスタリング部３３は、複数の音響特徴量系列の断片を複数の音響特徴量系列のクラスタに配分するクラスタリングを行って、どのような音響特徴量系列のクラスタがあるのかを求め、同時に音響特徴量系列の断片のそれぞれがどの音響特徴量系列のクラスタに属するのかを分析し、時間的順序付き音響特徴量系列のクラスタを求め、音響特徴量系列のクラスタが与えられたときにどのような音響特徴量が生成されるかを決定する音響特徴量系列生成モデルを構築する。具体的に、音響特徴量系列のクラスタリング部３３では、複数の音響特徴量系列の断片からガウシアンプロセスで複数の音響特徴量系列のクラスタを決定し、音響特徴量系列のクラスタからの音響特徴量系列生成モデルを構築する。具体的には、複数の音響特徴量系列の断片からなる複数の時間的順序付き音響特徴量系列のクラスタごとにガウシアンプロセスで確率モデルを構築し（図７のステップＳＴ３２）、確率が最大となるように複数の音響特徴量系列の断片を複数の時間的順序付きの音響特徴量系列のクラスタへ再配分する（図７のステップＳＴ３３）クラスタリングを所定回数繰り返して、複数の時間的順序付き音響特徴量系列のクラスタを決定し且つ複数の時間的順序付き音響特徴量系列のクラスタからの音響特徴量系列生成モデルを生成する。時間的順序付き音響特徴量系列のクラスタ記憶部３４は、音響特徴量系列のクラスタリング部３３で取得した時間的順序付き音響特徴量系列のクラスタを記憶する。また音響特徴量系列生成モデル記憶部３５は、音響特徴量系列のクラスタリング
部で得た音響特徴量系列生成モデルを記憶する。ここで時間的順序付き音響特徴量の「時間的順序付き」とは、音楽音響信号のどの分析区間で出現するかの情報を音響特徴量系列のクラスタそれぞれが備えていることを意味する。
【００４８】
［確率モデル構築部］
そして確率モデル構築部４は、時間的順序付きダンス語彙記憶部２４にダンス語彙とともに記憶された、どの楽曲のどの分析区間でどのダンス語彙が出現するかの情報と、ダンス語彙からの動作生成モデル記憶部２５に記憶されたダンス語彙からの動作生成モデルと、時間的順序付き音響特徴量系列のクラスタ記憶部３４に記憶された時間的順序付き音響特徴量系列のクラスタと、音響特徴量クラスタからの音響特徴量系列生成モデル記憶部３５に記憶された音響特徴量系列生成モデルとに基づいて、時間的順序付き音響特徴量系列のクラスタとダンス語彙の対応関係を分析して音楽とダンスの対応関係の確率モデルを構築する。そこで本実施の形態の確率モデル構築部４は、ダンス動作の確率的生成モデル構築部４１と、ダンス動作の確率的生成モデルを記憶するダンス動作の確率的生成モデル記憶部４２と、音楽とダンスの対応関係の確率モデル構築部４３と、音楽とダンスの対応関係の確率モデル記憶部４４とにより構成される。ダンス動作の確率的生成モデル構築部４１は、複数の時間的順序付きダンス語彙とダンス語彙からの動作生成モデルとに基づいて、すべてのダンス動作の断片について、どのダンス語彙であるかを分析し、どの楽曲のどの分析区間でどのダンス語彙が出現するかの情報を出力するダンス動作の確率的生成モデルを構築する（図６のステップＳＴ２４及びステップＳＴ２５）。ダンス動作の確率的生成モデルの構築のために、ステップＳＴ２５Ａでは、隠れマルコフモデル（ＨＭＭ）の遷移確率を学習中の隣り合うダンス語彙の遷移回数により学習し、ステップＳＴ２５Ｂでは、隠れマルコフモデル（ＨＭＭ）の初期確率を学習データ中のダンス語彙の出現回数により学習し、ステップＳＴ２５Ｃでは隠れマルコフモデル（ＨＭＭ）の出力確率をダンス語彙からのダンス動作の生成モデル（ガウシアンプロセス）により設定する。
【００４９】
音楽とダンスの対応関係の確率モデル構築部４３は、どのダンス語彙のもとでどの音響特徴量系列のクラスタが観測されるかを分析して（図７のステップＳＴ３４）、その分析結果に基づいてあるダンス語彙のもとでどの音響特徴量系列のクラスタが観測されるかの確率モデルを構築し、ダンス動作の確率的生成モデルの遷移確率及び初期確率並びに音響特徴量の確率的生成モデル及びあるダンス語彙のもとでどの音響特徴量系列のクラスタが観測されるかの確率モデルに基づいて、音楽とダンスの対応関係の確率モデルを構築する（図７のステップＳＴ３５）。音楽とダンスの対応関係の確率モデルを構築するために、ステップＳＴ３５Ａでは、隠れマルコフモデル（ＨＭＭ）の遷移確率をダンス動作のダンス動作の確率的生成モデルの遷移確率を利用して設定し、ステップＳＴ３５Ｂでは隠れマルコフモデル（ＨＭＭ）の初期確率をダンス動作の確率的生成モデルの初期確立を離京して設定し、隠れマルコフモデル（ＨＭＭ）の出力確率をあるダンス語彙のもとで観測されるかの確率モデル（混合ガウシアンプロセス）によって学習で計算する。同じダンス語彙に対して多様な音響特徴量系列のクラスタが対応する場合を含めた対応関係を分析し生成に用いることができる。
【００５０】
以下、より具体的に図３におけるステップＳＴ１〜ＳＴ３で行っている処理を理論的に説明する。
【００５１】
［ダンス語彙の学習の具体例］
具体的に、ダンス語彙{vk}Kk=1を学習する方法について説明する。ダンスの語彙には自然言語のようなあらかじめ決まった語彙のセットはないので、ダンス動作の類似度に基づいてクラスタリングを行い学習する。最も適切にダンス語彙とダンス動作の対応関係が取れている状態は、ダンス語彙が割り当てられたときの学習データの対数尤度Ｌ（下記参照）が最大になるときである。
【００５２】
Ｌ＝ΣNn=1 logＰ（Ｄ＊｜ｔ＊，ｖ＊；σ，λ）
この状態は、適当なダンス語彙とダンス動作の対応関係の初期状態から、ＥＭアルゴリズムに基づくクラスタリングで求めることができる。クラスタリングは以下の２つのステップの反復により行われる。
【００５３】
E-step：語彙とダンス動作の対応関係をもとに、各語彙vごとにσvとλvを求める。
【００５４】
M-step：データ全体の尤度が最大となるよう、語彙とダンス動作の対応関係を決める。
【００５５】
以下、E-step とM-step のそれぞれの詳細を述べる。
【００５６】
E-step：Ｍ個の分析区間のダンス動作{Ｄ1，… ，ＤM }がダンス語彙v＊であるとわかった場合、ダンス語彙v＊ が与えられたときのダンス動作のダンス語彙からの動作生成モデルを後述する式（６）に基づいて作ることができる。Ｄ にＤ＝［Ｄ1，… ，ＤM］Tを代入し、ｔへ各分析区間において姿勢が観測される時刻の行列ｔ＝［ｔ1，…，ｔM］Tを代入したときの、σとλを変数と見たときの値、すなわち尤度を最大化するようにσとλを求めれば良い。具体的には対数尤度ＬＬ（σ，λ，ｖ＊）＝logＰ（Ｄ＊｜ｔ＊，ｖ＊；σ，λ）を最大化するσｖ＊とλｖ＊を、Scaled Conjugate Gradient ［非特許文献７]などの最適化法によって求める。この尤度は語彙ｖ＊の下で集められたダンス動作から学習して計算されるものであるので、条件にｖ＊が入っている。
【００５７】
M-step： E-step で得られる語彙{vk}Kk=1 に対応する動作生成モデルがあれば、あるダンス動作Ｄ がどの語彙から生成されるものかを、対数尤度最大となる語彙の確率的生成モデルを探索することで調べることができる。すなわち、最も尤もらしいＤを生成する語彙v はv＝argmaxv log（Ｄ＊｜ｔ＊，ｖ；σ，λ）によって求めることができる。
【００５８】
［ダンス語彙に基づくダンス動作の動作生成モデル］
次に、ダンス語彙に基づくダンス動作の動作生成モデルの生成について説明する。先頭からｎ 番目の分析区間のダンス動作Ｄｎが、ダンス語彙ｖｎとして分析することができるとする。ここでＤｎは分析区間中の姿勢を表わすベクトルｄ を束ねた行列［ｄ1，…，ｄs，…ｄS]T である。ｄs は現在の実装では７９次元ベクトルである。Ｓは分析区間中で観測される姿勢の個数である。ダンス動作のデータには一定のフレームレートで時刻ごとの姿勢が記述されるか、時間的にとびとびのキーフレームの時刻ごとの姿勢が記述されている。したがって、分析区間中に含まれる姿勢データの個数Ｓは、楽曲のテンポやキーフレームの詳細な設定され度合いに応じて異なっている可能性がある。分析区間内のダンス動作Ｄｎがダンス語彙ｖｎを元に確率的な揺らぎをもって生成されるとして、確率Ｐ（Ｄｎ｜ｖｎ）を導入する。またダンス語彙は隣り合う分析区間にランダムに連なるわけではなく、ある語彙の後にはどのような語彙が続きそうかという偏りがあると考えられる。そこで語彙から語彙へと遷移する確率Ｐ（ｖｎ｜ｖｎ−１）を導入する。このときＮ個の分析区間のダンス動作｛Ｄｎ｝Nn=1がダンス語彙｛vｎ｝Nn=1から生成される確率は以下のように計算できる。
【数１】
0006313159.tif 000002
【００５９】
ただし、表記の便宜上Ｐ（ｖ１｜ｖ０）＝Ｐ（ｖ1）とした。
【００６０】
以後の式でもインデックスが０となる場合は同様に扱う。これは隠れマルコフモデル（ＨＭＭ）であり、観測がダンス動作、隠れ状態(潜在変数) がダンス語彙である。Ｐ（Ｄｎ｜ｖｎ）を出力確率、Ｐ（ｖｎ｜ｖｎ−１）は遷移確率、Ｐ（ｖ1）を初期確率と呼ぶ。ここでＰ（Ｄｎ｜ｖｎ）はダンス語彙が与えられたときにどのようなダンス動作が出力されるかについての確率モデルであり、これを「ダンス語彙からの動作生成モデル」と呼ぶ。後に設計されるダンス動作からの確率的生成モデルを上記のダンス語彙からのモデルと統合することで、ダンス動作の確率的生成モデルを作ることができる。
【００６１】
［ダンス語彙からの動作生成モデル］
ダンス動作には周期性や拍ごとの動作に対応関係があることから、これらを確率的にモデル化したい。同じダンス語彙として捉えることができる２つの似たダンス動作Ｄ１とＤ２とがあるとき、これら２つの行列に含まれる姿勢を表わすベクトルの個数は同じとは限らない。そこで、Ｄに含まれる姿勢［ｄ1，…，ｄs，…ｄS] を、１小節の長さが１．０となるよう正規化された時刻を変数として、ds＝f（ts）と表せる連続関数ｆを推定する必要がある。ここでts は姿勢dsが分析区間内で観測される時刻（−０．５＜ｔs＜１．０）である。ｆを推定するにあたって、次の２点を仮定する。第一の仮定として、各時刻での姿勢ｄsは、ｆ（ts）の値からガウスノイズが加わって観測されるとする。すなわち下記（２）のように書ける。
【数２】
0006313159.tif 000003
【００６２】
上記式において、Ｎ（０，σ2Ｉ）は平均が零ベクトルで、分散、共分散行列がσ2Ｉ である多次元ガウス分布である。
【００６３】
第二の仮定として、関数f (t) が、適切に選ばれた（非線形）基底関数φj(t)の重み付け和で
【数３】
0006313159.tif 000004
【００６４】
と表現されたとき、重み係数｛ａj｝Jj=1が平均０、分散共分散行列Σpのガウス分布に従い、
【数４】
0006313159.tif 000005
【００６５】
となるとする。このときRepresenter 定理により、基底関数φjが正定値カーネルであるときには、第一の仮定のもとで推定されるｆが式（３）の形を持ち、ＪはＤに含まれる姿勢の数（行列の行数）となることが知られている。本実施の形態では、正定値カーネルとしてＲＢＦカーネル
【数５】
0006313159.tif 000006
【００６６】
を用いた。
【００６７】
これら２つの仮定のもとＰ（Ｄ，ａ)＝Ｐ（Ｄ｜ａ）Ｐ（ａ）を計算し、この同時分布中のａを積分消去すると、分析区間のダンス動作の確率的生成モデルは
【数６】
0006313159.tif 000007
【００６８】
と求まる。これはガウシアンプロセスによるモデル化である。ただしｔは分析区間中で姿勢が観測される時刻を束ねたベクトルｔ＝ (ｔ1，…，ｔs，…，ｔS)T、アルファはベクトルｄの次元数、ＫはＲＢＦカーネルに基づくカーネル行列で（Ｋ）ij ＝k (ｔi；ｔj)＋σ-2δtitj であり、δはクロネッカーのデルタである。
【００６９】
［出力確率・繊維確率・初期確率の学習］
前述の出力確率、すなわちダンス動作Ｄ がダンス語彙ｖから成される確率は、最適化されたモデルパラメータσv とλvを用いて、学習データが与えられたもとでの条件付き確率を以下のように計算すればよい。
【００７０】
なお図１０には、類似するダンス動作のクラスタをガスシアンプロセスで学習して得た学習されたダンス語彙の一例を示してある。
【数７】
0006313159.tif 000008
【００７１】
ただし
【数８】
0006313159.tif 000009
【００７２】
である。ここで式（７）の値は語彙ｖの下で集められたダンス動作から学習して計算されるものであるので、条件にｖが入っている。初期確率と遷移確率は、学習データのすべてのダンス動作について語彙を推定した上で、語彙の出現回数、隣り合う語彙の遷移回数をもとに計算すればよい。
【００７３】
［音楽とダンスの対応関係の確率モデル］
本実施の形態では、ダンス動作の語彙ｖ のもとでの音楽音響信号を分析するため、音響特徴量ＭＦＣＣ＋ΔＭＦＣＣの列についても、ダンス動作の分析区間と同じように、一つの小節の３拍目から今の小節の４拍目までを切り出して分析する。切り出された音響特徴量の列を｛Ｍn｝Nn=1とする。ダンス動作の場合と同様に、音響特徴量にも時間的な構造があり、小節中の特徴量ベクトル同士の相関がダンス動作に関連していると考えられる。そこでＰ（Ｍ｜ｖ）をガウシアンプロセスによってダンス動作の場合と同様にモデル化することを考えた。しかし、同じダンスに対して対応する音響特徴量の列は多様であり、単一の確率分布で表現することはできないと考えられる。そこで複数の確率分布の重み付き和によって確率を計算することを考えた。あらかじめ｛Ｍn｝Nn=1 を、ダンス動作をクラスタリングした場合と同様の操作で、K 個のクラスタ｛ｚk｝Kk=1 に分割しておく。このときＰ（Ｍn｜ｖ）はz を変数に加えて、下記（１１）式のようにかける。
【数９】
0006313159.tif 000010
【００７４】
Ｐ（Ｍn｜ｚ）は音響特徴量系列のクラスタｚ が与えられたときの音響特徴量の列の確率であり、これはクラスタリングによってすでに求まっているガウシアンプロセスに基づいて決定される。Ｐ（ｚ｜ｖn）は、ダンスの語彙が与えられたときの音響特徴量系列のクラスタが出現する確率であり、学習データにおいて、ダンス語彙ごとに、そのダンス語彙と同時にどのような音響特徴量系列のクラスタが観測されたかをカウントすることで求めることができる。上記式（１１）において、Ｐ（Ｍn｜ｚ）はガウシアンプロセスであり、ガウシアンプロセスに重みＰ（ｚ｜ｖn）（ΣzＰ（ｚ｜ｖn）＝１）がかけられているため、これは混合ガウシアンプロセスとなっている。
【００７５】
[ダンス動作の確率的生成モデルとの統合]
あるダンス語彙ｖのもとで、どのようなＭＦＣＣ＋ΔＭＦＣＣが生成されるかの確率に基づいて、ダンス動作の確率的生成モデルと統合し、音楽に連動するダンス動作の確率的生成モデルをつくる。隠れマルコフモデルである上記式（１）にダンス語彙｛ｖn｝Nn=1を導入して変形すると、下記の（１２）式が得られる。この式から、ダンス動作のガウシアンプロセスに基づくモデルと音響特徴量とダンス語彙の関係のモデルを用いて確率が計算できることがわかる。
【００７６】
［音楽に連動したダンスの自動生成のための構成］
図１および図３並びに図８を参照して、音楽に連動したダンスの自動生成のために必要なダンス生成用データ記憶部５とダンス動作データ生成部６について説明する。
【００７７】
ダンス生成用データ記憶部５には、ダンスを生成したい楽曲の音楽音響信号の複数の音響特徴量の時系列データからなる音響特徴量系列とその階層的ビート構造の時系列データが記憶される。このデータは、すでに作成されていて入手可能なデータでもよいし、新たに分析を行って得たデータのいずれでもよい。新たに分析を行ってデータを取得する場合には、データ記憶部１においてデータを取得する場合と同じ処理を行う（図３のステップＳＴ４）。
【００７８】
ダンス動作データ生成部６は、音響特徴量系列の断片切り出し部６１と、音響特徴量系列の断片集積部６２と、ダンス語彙系列作成部６３と、ダンス動作断片生成部６４と、補間部６６と、ダンス動作時系列データ生成部６５とから構成され、図３のステップＳＴ５を実行する。音響特徴量系列の断片切り出し部６１は、ダンスを生成したい楽曲の音楽音響信号の複数の音響特徴量の時系列データからなる音響特徴量系列と階層的ビート構造の時系列データとに基づいて、音響特徴量系列を所定の分析区間における時間的順序付き音響特徴量系列の断片として切り出す（図８のステップＳＴ５１）。音響特徴量系列の断片集積部６２は、音響特徴量系列の断片切り出し部６１によって切り出された時間的順序付き音響特徴量系列を集める。そして音響特徴量系列の断片集積部６２は、複数の時間的順序付き音響特徴量系列の断片を集める。そしてダンス語彙系列作成部６３は、複数の時間的順序付き音響特徴量系列の断片と音楽とダンスの対応関係の確率モデルとに基づいて、尤度を考慮しながら複数の音響特徴量系列の断片に対応したダンス語彙の系列を作成する（図８のステップＳＴ５２およびステップＳＴ５３）。
【００７９】
具体的にダンス語彙系列作成部６３は、Viterbiアルゴリズムによって複数の音響特徴量系列の断片に対応したダンス語彙の尤度最大の系列を探索する。図１１には、ダンス語彙系列作成部６３で実行されている探索動作を概念的に示してある。この探索は次のようにして実行できる。まず音響特徴量系列の断片ごと、すべてのダンス語彙からの出力確率を計算し保存する（ステップＳＴ５２）。図１１の中央部に示した複数のダンス語彙１乃至ダンス語彙Ｋが、音響特徴量系列の断片ごと出力確率を計算して求めたダンス語彙である。そして初期確率と遷移確率にダンス語彙からの出力確率を掛け合わせて尤度最大のダンス語彙の系列を探索する（ステップＳＴ５３）。図１１において、最尤系列」と記載した系列が、尤度最大のダンス語彙の系列である。
【００８０】
ダンス動作の断片生成部６４は、音楽に連動したダンスのダンス語彙の系列（図１１の最下部に示す）中のダンス語彙ごとに、ダンス語彙からの動作生成モデル記憶部２５に記憶されたダンス語彙からの動作生成モデルに基づいて、分析区間ごとのダンス動作の断片を生成する。具体的には、図８におけるステップＳＴ５４において、ダンス語彙ごとにダンス動作の動作生成モデルからサンプリングを行って分析区間（本実施の形態では１．５小節）のダンス動作を生成する。ここでサンプリングとは、分析区間ごとのダンス語彙から、ダンス語彙からのダンス動作生成モデルであるガウシアンプロセスによってダンス動作を生成することを意味する。具体的にはガウシアンプロセスによって決まる骨格モデルの変形の時系列の平均の値に、分散による揺らぎを加えて骨格モデルの変形の時系列データとしてダンス動作を生成する。
【００８１】
そしてダンス動作時系列データ生成部６５は、ダンス動作の断片生成部６４が生成した複数の時間的順序付きダンス動作の断片に基づいて、ダンスを生成したい楽曲の音楽音響信号に連動した複数のダンス動作を骨格モデルの変形の時系列データで表した複数のダンス動作時系列データとして出力する。なお本実施の形態では、ダンス動作時系列データ生成部６５が補間部６６を含んでいる。補間部６６は、分析区間が１小節より長く２小節より短い場合において、時系列的に隣り合う２つのダンス動作の断片同士でオーバーラップする１以上の拍のダンス動作を補間して、ダンス動作時系列データ生成部６５からダンスを生成したい楽曲の音楽音響信号に滑らかに連動した時系列の複数のダンス動作時系列データを出力できるようにしている。なお補間の方法は、任意であるが、線形補間により時系列的に隣り合う２つのダンス動作の断片同士でオーバーラップする１以上の拍［図８のステップＳＴ５５では３拍目及び４拍目］のダンス動作を補間するようにすると、補間に必要な演算量を少なくすることができる。
【００８２】
図１２には本実施の形態における確率モデルの概念が図で示されている。図１２に示すように、ダンス語彙からガウシアンプロセスによってダンス動作と音響特徴量が出力される。そしてダンスと楽曲の対応付いたデータベースから機械学習を行い、任意の楽曲に対してダンス動作を自動生成する。そこで本実施の形態では、隠れマルコフモデルによるダンスと音楽の対応関係のモデル化を行い、ガウシアンプロセスによるダンス動作と音楽特徴量のモデル化により、楽曲とダンスが対応付いた学習データを用いて機械学習を行って楽曲に対して新しいダンス動作を生成する。そこで図１２に示すように、本実施の形態で用いる確率モデルは、音楽の音響特徴量を観測系列とし、類似したダンス同士をまとめた「ダンス語彙」が隠れ状態となる隠れマルコフモデルとなる。音楽の特徴量の出力確率はガウシアンプロセスによって決定され、またダンス動作もガウシアンプロセスによって各隠れ状態から確率的に生成される。そしてダンス動作の自動生成は、楽曲の音響特徴量を観測とした場合の尤度最大のダンス動作を探索する問題として定式化している。
【００８３】
［音楽に連動したダンス動作の具体的な自動生成］
前述の式（１２）により表されるダンス動作のガウシアンプロセスに基づくモデルと音響特徴量とダンス語彙の関係のモデルをもとに、ビートと小節線が推定済みの新しい楽曲に対してダンス動作系列データを生成する場合を例にして説明する。この場合、ダンスの自動生成は与えられた音楽特徴量のもとで尤度最大のダンスを探索する問題として帰着できる。しかし各時刻でのダンス動作を最適化することは困難であるので、ダンス語彙の列｛vｎ｝Nn=1を最適化する問題として解き、得られたダンス語彙の列からダンス動作を生成する２ステップによって自動生成を行う。はじめに、分析区間ごとに与えられた音響特徴量の列｛Ｍn｝Nn=1のもとで、尤度最大のダンス語彙の系列｛v＊ｎ｝Nn=1を求める。
【数１０】
0006313159.tif 000011
【００８４】
これは音響特徴量が観測、ダンス語彙が隠れ状態である隠れマルコフモデル（ＨＭＭ）であり、Viterbi アルゴリズムを用いて解くことができる。次に得られたダンス語彙の列｛v＊ｎ｝Nn=1を用いて、分析区間ごとにダンス動作Ｄnnew を生成する。ダンス語彙ｖnとしてクラスタリングされたダンス動作を集めた行列Ｄ＊ ＝［Ｄ1，…，ＤM］Tを用い、ガウシアンプロセスの各時刻での平均を求めることで生成できる。また、ダンス動作が確率モデルによってモデル化されていることで、学習で得られた分散に基づいて平均値に擾乱を与えて、生成する度に異なったダンス動作を生成することも可能である。最後に、本実施の形態では、各分析区間でダンス語彙から生成されたダンス動作は、各小節の３拍目４拍目で前後の動きがフェードアウト・インするように、線形補間を行い、楽曲全体に連動するダンスを生成する。補間の様子を図１３に示す。図１３に示した補間の様子では、各ダンス語彙からガウシアンプロセスによって生成される１．５小節単位のダンス動作は、３拍目４拍目においてフェードイン・フェードアウトするように加算され、楽曲を通じたダンス動作が生成される。図１３上の図中ではキャラクタの姿がフェードイン・フェードアウトしているが、実際にはキャラクタのボーンの位置・回転が線形補間されることになる。
【００８５】
本実施の形態によって実際にダンス動作が楽曲から生成できるかを確かめた。また自動生成結果と学習データに含まれるダンス動作を比較し、学習データのダンスに基づいて新しい動作を自動生成できていることを確認できた。確認実験では、６０曲のダンスと楽曲が対応付いたデータを用い学習を行った。ダンスのデータはＭＭＤのモーションデータフォーマットｖｍｄによって記述されている。楽曲のビートと小節線は、階層的なビート構造の推定［非特許文献１９］によって求めた後に、その推定誤りを手作業で修正した。０．５小節ずつオーバーラップをさせながら、１．５小節の分析区間長でダンス動作を切り出し、モデルの学習を行った。生成されたダンスは、３Ｄの様々なＣＧキャラクタを用いレンダリングした。
【産業上の利用可能性】
【００８６】
本発明は、楽曲とダンス動作が対応付いた学習データを用いて機械学習を行い、任意の新しい楽曲に連動したダンス動作を自動生成する手法を提案した。学習データ中のダンス動作の断片を切り貼りするのではなく、音楽とダンスの対応関係に加えて、ダンス動作自体をも学習できる確率モデルを設計し、その学習アルゴリズムを導出した。またダンス語彙という概念を導入し、時間を変数とする連続関数によってダンス動作をモデル化したことで、異なるテンポの楽曲などを含む多様な学習データを用いて確率モデルを学習できるようになった。
【符号の説明】
【００８７】
１  データ記憶部
１１  音響特徴量系列記憶部
１２  階層的ビート構造の時系列データ記憶部
１３  ダンス動作時系列データ記憶部
２  第１の学習部
２１  ダンス動作の断片切り出し部
２２  ダンス動作の断片集積部
２３  ダンス動作のクラスタリング部
２４  時間的順序付きダンス語彙記憶部
２５  ダンス語彙からの動作生成モデル記憶部
３  第２の学習部
３１  音響特徴量系列の断片の切り出し部
３２  音響特徴量系列の断片集積部
３３  音響特徴量系列のクラスタリング部
３４  時間的順序付き音響特徴量系列のクラスタ記憶部
３５  モデル記憶部
４  確率モデル構築部
４１  ダンス動作の確率的生成モデル構築部
４２  ダンス動作の確率的生成モデル記憶部
４３  音楽とダンスの対応関係の確率モデル構築部
４４  音楽とダンスの対応関係の確率モデル記憶部
５  ダンス生成用データ記憶部
６  ダンス動作データ生成部
６１  音響特徴量系列の断片切り出し部
６２  音響特徴量系列の断片集積部
６３  ダンス語彙系列作成部
６４  ダンス動作の断片生成部
６５  ダンス動作時系列データ生成部
６６  補間部
【図１】
0006313159.tif 000012
【図２】
0006313159.tif 000013
【図３】
0006313159.tif 000014
【図４】
0006313159.tif 000015
【図５】
0006313159.tif 000016
【図６】
0006313159.tif 000017
【図７】
0006313159.tif 000018
【図８】
0006313159.tif 000019
【図９】
0006313159.tif 000020
【図１０】
0006313159.tif 000021
【図１１】
0006313159.tif 000022
【図１２】
0006313159.tif 000023
【図１３】
0006313159.tif 000024