(57)【要約】      （修正有）【課題】モーションキャプチャデータから得られたリズム特徴量と楽曲データより得られたリズム特徴量の相関比較の計算処理時間を短縮できるようにする。【解決手段】入力楽曲データの楽曲セグメントのビート情報と該入力楽曲データのビート特徴量と高い相関を示す動きビート特徴量をもつＭｏＣａｐデータを保持する特徴量保持部２と、相関値計算の並列実行手順を登録された相関値計算並列実行手順登録部３と、相関値計算並列実行手順登録部３に登録された相関値計算の並列実行手順に従って、前記特徴量保持部２に保持された楽曲セグメントのビート情報とＭｏＣａｐデータの動きビート特徴量との相関値を並列的に演算する相関値並列計算部４とを具備する。相関値並列計算部４は、楽曲セグメントのビート特徴量とＭｏＣａｐデータの動きビート特徴量との相関値が高くなる相関値を並列的に求める。一例として、ＣＵＤＡを用いて実現できる。【選択図】図１
2010165169.tif 000002
【特許請求の範囲】
【請求項１】
モーションキャプチャデータ（以下、ＭｏＣａｐデータ）から得られるリズム特徴量と楽曲データより得られるリズム特徴量との同期をとるためのＭｏＣａｐデータの同期システムにおいて、
入力楽曲データの楽曲セグメントのビート情報と該入力楽曲データのビート特徴量と高い相関を示す動きビート特徴量をもつＭｏＣａｐデータを保持する特徴量保持部と、
相関値計算の並列実行手順を登録された相関値計算並列実行手順登録部と、
該相関値計算並列実行手順登録部に登録された相関値計算の並列実行手順に従って、前記特徴量保持部に保持された楽曲セグメントのビート情報とＭｏＣａｐデータの動きビート特徴量との相関値を並列的に演算する相関値並列計算部とを具備し、
前記相関値並列計算部は、楽曲セグメントのビート特徴量とＭｏＣａｐデータの動きビート特徴量との相関値が高くなる相関値を並列的に求めることを特徴とするＭｏＣａｐデータの楽曲同期システムにおけるリズムマッチング並列処理装置。
【請求項２】
請求項１に記載のＭｏＣａｐデータの楽曲同期システムにおけるリズムマッチング並列処理装置において、
前記楽曲セグメントのビート情報は、楽曲セグメントをフレームに分割したフレームのビート情報であることを特徴とするＭｏＣａｐデータの楽曲同期システムにおけるリズムマッチング並列処理装置。
【請求項３】
請求項１に記載のＭｏＣａｐデータの楽曲同期システムにおけるリズムマッチング並列処理装置において、
前記相関値計算並列実行手順登録部と相関値並列計算部とは、ＣＵＤＡアーキテクチャで実現されることを特徴とするＭｏＣａｐデータの楽曲同期システムにおけるリズムマッチング並列処理装置。
【請求項４】
コンピュータを、
入力楽曲データの楽曲セグメントをフレーム分割してフレームのビート情報を得る手段と、
ＭｏＣａｐデータのデータベースから前記入力楽曲データのビート特徴量と高い相関を示す動きビート特徴量をもつＭｏＣａｐデータを抽出する手段と、
予め登録されている相関値計算並列実行手順に基づいて、前記フレームのビート情報と前記抽出されたＭｏＣａｐデータの動きビート特徴量との相関値演算を並列的に行う相関値並列演算手段と、
該相関値並列演算手段で求められた相関値に対してしきい値処理を施し、しきい値を満たした部分をＭｏＣａｐデータから分割することで動きセグメントとして出力する手段として機能させるためのＭｏＣａｐデータの楽曲同期システムにおけるリズムマッチング処理のコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はモーションキャプチャデータ（以下、ＭｏＣａｐデータと記す）の楽曲同期システムにおけるリズムマッチング並列処理装置およびそのコンピュータプログラムに関し、特にＭｏＣａｐデータから得られたリズム特徴量と楽曲データより得られたリズム特徴量の同期システムにおいて、各々の特徴量の相関値の自動抽出を行うリズムマッチング処理を並列演算化することで、特徴量の相関比較の計算処理時間を短縮するリズムマッチング並列処理装置およびそのコンピュータプログラムに関する。
【背景技術】
【０００２】
前記ＭｏＣａｐデータの楽曲同期システムは、入力される音楽信号から、例えば該音楽に合った豊かな舞踊動作を生成することを目的とするものであり、典型的には、図４に示すように、楽曲の各セグメントとＭｏＣａｐデータのビート特徴量のマッチングを取り、ＭｏＣａｐデータから複数の動きセグメント候補を前記楽曲の各セグメント毎に抽出する処理（ステップＳ１）と、前記動きセグメント候補に対して連結可能性を調べ、連結した時に自然な動きとなる動きセグメント候補対のみを候補として残す処理（ステップＳ２）と、盛り上がり特徴量とのマッチングを行い、最も相関の高い動きセグメント候補対を出力とする処理（ステップＳ３）とからなる。前記ステップＳ１はリズムマッチング処理と、ステップＳ２は連結可能性の分析処理と、さらにステップＳ３は盛り上がりのマッチング処理と呼ばれることがある。
【０００３】
なお、該ＭｏＣａｐデータの楽曲同期システムに関する従来技術は、例えば下記の非特許文献１，２等に開示されている。
【０００４】
非特許文献１には、次のような技術が開示されている。表現が重要な要因となる舞踊動作を対象として、入力される音楽信号から舞踊の表現に関係する音楽情景を解析し、その結果に合った舞踊動作を生成する手法を提案している。動きデータからは動きのリズムと盛り上がりの特徴量を、音楽データからは楽曲構造解析によってセグメントに分割し、特徴量としてリズム、盛り上がりを抽出する。舞踊動作生成時は、まず構造解析によって得られる音楽セグメント内のリズム成分と高い相関を示す動きの候補セグメントを全て抽出する。そして、最後の盛り上がり成分の相関を求めることで最適な動きセグメントを選択し、連結することで舞踊動作が生成される。
【０００５】
また、非特許文献２には、次のような技術が開示されている。モーションキャプチャによって得られた舞踊動作データを、時系列相関行列を用いて解析する。二つの動作データから得られる時系列相関行列を解析することで、動作間の関係を調べる。まず、二つの動作が類似している場合に表れる時系列相関行列上の特徴に着目し、二つのデータ間の動作類似度を定量的に扱う。これにより、動作データから特定の振りに対応する動作区間を自動的に抽出することが可能になる。次に、同一の舞踊を演じた２人の演者の動作データに対してこの類似性解析を行うことで、演者の動作の差異、すなわち踊りミスや癖を検出できることを示している。
【先行技術文献】
【非特許文献】
【０００６】
【非特許文献１】電子情報通信学会論文誌、Ｄ，情報・システム、Vol.90、No.8(2007/8),2242~2252頁「音楽特徴を考慮した舞踊動作の自動生成」
【非特許文献２】電子情報通信学会論文誌、Ｄ−II，情報・システム、Vol.J88−D-II、No.8(200508011),1652~1661頁「動作データの時系列相関行列による舞踊動作解析」
【発明の概要】
【発明が解決しようとする課題】
【０００７】
従来技術においては、楽曲データと相関性の高い動きデータを自動生成するために、膨大なＭｏＣａｐデータが必要であった。そのため、楽曲データの長さやＭｏＣａｐデータの種類が増すと、パターンマッチングの回数や相関値の演算回数が極端に増えることから、低スペックなＰＣや携帯電話などでは実現が困難であった。
【０００８】
本発明の目的は、前記した課題を解消するために、ＭｏＣａｐデータから得られたリズム特徴量と楽曲データより得られたリズム特徴量の相関比較の計算処理時間を短縮できるＭｏＣａｐデータの楽曲同期システムにおけるリズムマッチング並列処理装置およびそのコンピュータプログラムを提供することにある。
【課題を解決するための手段】
【０００９】
前記した目的を達成するために、本発明は、モーションキャプチャデータ（以下、ＭｏＣａｐデータ）から得られるリズム特徴量と楽曲データより得られるリズム特徴量との同期をとるためのＭｏＣａｐデータの同期システムにおいて、入力楽曲データの楽曲セグメントのビート情報と該入力楽曲データのビート特徴量と高い相関を示す動きビート特徴量をもつＭｏＣａｐデータを保持する特徴量保持部と、相関値計算の並列実行手順を登録された相関値計算並列実行手順登録部と、該相関値計算並列実行手順登録部に登録された相関値計算の並列実行手順に従って、前記特徴量保持部に保持された楽曲セグメントのビート情報とＭｏＣａｐデータの動きビート特徴量との相関値を並列的に演算する相関値並列計算部とを具備し、前記相関値並列計算部は、楽曲セグメントのビート特徴量とＭｏＣａｐデータの動きビート特徴量との相関値が高くなる相関値を並列的に求めるようにした点に特徴がある。
【００１０】
また、コンピュータを、入力楽曲データの楽曲セグメントをフレーム分割してフレームのビート情報を得る手段と、ＭｏＣａｐデータのデータベースから前記入力楽曲データのビート特徴量と高い相関を示す動きビート特徴量をもつＭｏＣａｐデータを抽出する手段と、予め登録されている相関値計算並列実行手順に基づいて、前記フレームのビート情報と前記抽出されたＭｏＣａｐデータの動きビート特徴量との相関値演算を並列的に行う相関値並列演算手段と、該相関値並列演算手段で求められた相関値に対してしきい値処理を施し、しきい値を満たした部分をＭｏＣａｐデータから分割することで動きセグメントとして出力する手段として機能させるためのコンピュータプログラムを提供する点に他の特徴がある。
【発明の効果】
【００１１】
本発明によれば、リズムマッチングを並列的に行うことができるので、リズムマッチングの処理時間を従来方式のそれより大幅に短縮することができるようになる。このため、ＭｏＣａｐデータの楽曲同期システムをリアルタイムで動作させることに、大きく寄与することができる。
【００１２】
また、本発明では、リズムマッチング並列処理はＣＵＤＡの中で行うことができるので、ＣＰＵは該リズムマッチング並列処理の間、他の処理を行うことができ、ＣＰＵの処理効率が向上する。
【図面の簡単な説明】
【００１３】
【図１】本発明のリズムマッチング並列処理装置の概略の構成を示すブロック図である。
【図２】楽曲セグメントのビート特徴量とＭｏＣａｐデータの動きビート特徴量との相関値を並列的に求める処理の説明図である。
【図３】ＣＵＤＡを用いた本発明の一実施例のブロック図である。
【図４】ＭｏＣａｐデータの楽曲同期システムの処理を示すフローチャートである。
【発明を実施するための形態】
【００１４】
以下に、図面を参照して本発明を詳細に説明する。本発明は、図４のステップＳ１のリズムマッチング処理を行う装置に関するものであり、本発明のリズムマッチング並列処理装置の一実施形態を図１のブロック図を参照して以下に説明する。
【００１５】
図示されているように、リズムマッチング並列処理装置は、楽曲データ特徴量変換部１と、特徴量保持部２と、相関値計算並列実行手順登録部３と、相関値並列計算部４と、相関値演算並列計算制御部５と、相関値演算結果取得部６とから構成される。
【００１６】
前記楽曲データ特徴量変換部１は、入力楽曲データを分析し特徴量に変換する。前記特徴量保持部２は、前記入力楽曲データの特徴量とＭｏＣａｐデータ特徴量を保持する。前記相関値計算並列実行手順登録部３は、相関値計算の並列実行手順を登録する。前記相関値並列計算部４は、相関値計算並列実行手順登録部３に登録された相関値計算並列実行手順に従い、特徴量保持部２で保持された入力楽曲データの特徴量とＭｏＣａｐデータ特徴量との相関値計算を行う。前記相関値演算並列計算制御部５は、該相関値並列計算部４から相関値演算結果を出力させる処理を行う。さらに、相関値演算結果取得部６は、相関値並列計算部４から相関値演算結果を取得する。
【００１７】
本実施形態では、図２に示されているように、入力楽曲データＡを楽曲セグメント（ブロック）Ｂ１〜Ｂｎ（ｎは正の整数）に分割し、該楽曲セグメントをさらに複数のフレームＦ１〜Ｆｍ（ｍは正の整数）に分割する。この楽曲セグメント分割は、例えば前記非特許文献１に示されているように、楽曲構造解析によって分割することができる。そして、該楽曲セグメントのビート情報を前記特徴量保持部２に保持する。また、入力楽曲データＡのビート特徴量と高い相関を示す動きビート特徴量をもつＭｏＣａｐデータ（人体スケルトン型動きデータなど）がＭｏＣａｐデータデータベースから抽出される。該ＭｏＣａｐデータはスケールパラメータｓを用いて伸縮可能とされ、該伸縮により例えば１０通りのＭｏＣａｐデータが形成されて前記特徴量保持部２に保持される。
【００１８】
前記相関値並列計算部４では、相関値計算並列実行手順登録部３に登録された相関値計算並列実行手順に従って、前記特徴量保持部２から入力された前記フレームＦ１〜Ｆｍの楽曲情報とＭｏＣａｐデータとの相関値を求める処理、すなわち楽曲セグメントのビート特徴量とＭｏＣａｐデータの動きビート特徴量との相関値が最も高くなるスケールパラメータｓとその時の相関値を求める処理を並列的に行う。該相関値は次の(1)式で求めることができる。なお、この(1)式は、前記非特許文献１にも示されているように周知である。
【００１９】
【数１】
2010165169.tif 000003
【００２０】
上式において、ＦＲｍｕｓｉｃ（ｆ；Ｍ）はセグメントＭのビート情報、ＦＲｍｏｔｉｏｎ（ｆ；Ｍ）は動きのビート情報、ＬmotionはＭｏＣａｐデータの長さ、Ｌmusicは楽曲セグメントＭの長さ、ｆはフレーム、ｆ０はビート相関解析の対象となる部分の開始フレームを示す。
【００２１】
次いで、上記の(1)式で求まった相関値に対してしきい値処理を施し、しきい値を満たした部分をＭｏＣａｐデータから分割することで動きセグメントとする。該しきい値は、予備実験により予め求められる。前記の処理を全ての楽曲セグメントに対して行うことで、各々の楽曲セグメントとビート特徴量が類似した動きセグメントが求められる。
【００２２】
前記相関値並列計算部４は、前記の処理を、前記相関値計算並列実行手順登録部３に登録された相関値計算並列実行手順に従い並列的に行う。該相関値並列計算部４で計算された結果は、前記相関値演算並列計算制御部５の制御により相関値並列計算部４から出力され、前記相関値演算結果取得部６は相関値演算結果を取得する。
【００２３】
例えば、１楽曲セグメント当たりのフレームＦ１〜Ｆｍの数が５００、動きセグメント当たりのフレームＦ１〜Ｆｍの数が１０００とした場合に、ビート相関解析の対象となる部分の開始フレーム位置ｆ０は５００のインデックスを持つ。さらに、ＭｏＣａｐデータの伸縮で１０通りのＭｏＣａｐデータが形成されるとすると、１楽曲セグメント当たりの演算量は前記式を２５０００００回演算する演算量になり、かなり大きな演算量となる。しかもこの演算をリアルタイムに行わなければならないので、従来のＣＰＵあるいはＧＰＧＰＵを用いた演算（例えば、シリアル演算）では数十秒あるいは数分かかることになり、実用的に不具合が生ずる。
【００２４】
そこで、本実施形態では、この並列演算に、ＣＵＤＡと呼ばれるアーキテクチャと該ＣＵＤＡで実行されるプログラムを用いる。該プログラムに従ってＣＵＤＡで実行される本発明のリズムマッチング処理の一実施例を、図３を参照して説明する。
【００２５】
バス１１に、ＣＰＵ１２と、ＲＡＭ、ＲＯＭなどのメモリ１３と、ＣＵＤＡ１４とが接続されている。ＣＵＤＡ１４は、図示されているように、概略、ＧＰＵ（Graphic  Processing  Unit)１４ａ、シェアードメモリ１４ｂ、グローバルメモリ１４ｃ、コンスタントメモリ１４ｄおよびテクスチャメモリ１４ｅから構成される。ＣＰＵ１２はシェアードメモリ１４ｂに直接アクセスすることはできないので、ＧＰＵ１４ａを介してアクセスする。前記グローバルメモリ１４ｃは、ＧＰＵ１４ａおよびシェアードメモリ１４ｂで演算されシェアードメモリ１４ｂに一時蓄積された演算結果のデータを転送されることができ、該転送されたデータはＣＰＵ１２から読み出されることができる。また、コンスタントメモリ１４ｄおよびテクスチャメモリ１４ｅはリードオンリーであり、ＧＰＵ１４ａはＣＰＵ１２から該メモリ１４ｄまたは１４ｅに書き込まれたデータを読み出すことができるだけである。前記シェアードメモリ１４ｂは、図示されているように、複数のスレッド１４ｂ’からなり、該スレッドは演算プログラムを有するローカルメモリと登録部からなる。
【００２６】
前記楽曲データ特徴量変換部１はＣＰＵ１２に相当し、ＣＰＵ１２で求められた楽曲セグメントのビート情報とＭｏＣａｐデータデータベースから抽出された動きビート特徴量とは、前記コンスタントメモリ１４ｄおよび／またはテクスチャメモリ１４ｅに格納される。ＧＰＵ１４ａは、該メモリ１４ｄおよび／または１４ｅに格納されている楽曲セグメントのビート情報とＭｏＣａｐデータデータの動きビート特徴量とを読み出し、シェアードメモリ１４ｂと協働して、楽曲セグメントのビート特徴量とＭｏＣａｐデータの動きビート特徴量との相関値が最も高くなるスケールパラメータｓとその時の相関値を求める処理（前記式(1)の演算処理）を並列的に行う。次いで、求まった相関値に対してしきい値処理を施し、しきい値を満たした部分をＭｏＣａｐデータから分割することで動きセグメントとする。
【００２７】
並列処理により求められた動きセグメントは、一時シェアードメモリ１４ｂの各スレッド１４ｂ’に保持され、該スレッド１４ｂ’からグローバルメモリ１４ｃに転送される。この結果、シェアードメモリ１４ｂは空き状態またはデータを消去してもよい状態になり、次の楽曲セグメントのリズムマッチング並列処理に使うことができるようになる。グローバルメモリ１４ｃに転送されたデータは、ＣＰＵ１２により読み出され、次の処理に供される。例えば、図４のステップＳ２の連結可能性の分析処理に供される。
【００２８】
なお、バス１１に他のＣＵＤＡ１５が接続されていれば、該ＣＵＤＡ１５を用いて他の楽曲のリズムマッチング並列処理を同時に行うことができるようになる。
【００２９】
以上、本発明を好ましい実施形態を用いて説明したが、本発明はこれに限定されず、本発明の趣旨から逸脱しない範囲で種々の変形をすることが可能である。
【符号の説明】
【００３０】
１・・・楽曲データ特徴量変換部、２・・・特徴量保持部、３・・・相関値計算並列実行手順登録部、４・・・相関値並列計算部、５・・・相関値演算並列計算制御部、６・・・相関値演算結果取得部、１１・・・バス、１２・・・ＣＰＵ、１３・・・メモリ、１４，１５・・・ＣＵＤＡ、１４ａ・・・ＧＰＵ、１４ｂ・・・シェアードメモリ、１４ｃ・・・グローバルメモリ、１４ｄ・・・コンスタントメモリ、１４ｅ・・・テクスチャメモリ。
【図１】
2010165169.tif 000004
【図２】
2010165169.tif 000005
【図３】
2010165169.tif 000006
【図４】
2010165169.tif 000007