×この技術を簡単クリック査定この機能をご利用いただくには、会員登録(無料)が必要です。出願した特許の牽制数、引用された数などを知る事ができます。気になる技術や特許をブックマークしておけば、いつでも後から読むことができます。後で印刷するために、公報をPDFでダウンロードできます。会員登録してastamuseを使えば、もっと簡単に便利にお使いいただけます。会員登録(無料)「astamuse」は世界中の挑戦したい社会課題に挑戦し、未来を創る人のプラットフォームです。実時間アプリケーション関連する未来課題-重要な関連分野-※この項目の情報は公開日時点(2019年9月19日)のものです。(14)課題メモリ消費量が少なく且つ高速高精度に変換するスキニング分解高速化技術の提供。この情報を共有FacebookTwitterGoogle+LinkedIn背景スキニング(処理)とは、3次元のオブジェクトを変形させる手法の1つである。静止状態のオブジェクトに対し、オブジェクトを操作するためのボーン(コントロールポイント)及びボーンが各頂点にどれくらいの影響を及ぼすかを示すウェイトマップを設定する。これにより、ボーンの姿勢を操作することで物体全体を変形させることができる。LBS)が広く利用されている。補助骨と呼ばれる冗長なボーンを導入することによってスキンアニメーションの品質を改善するとともに,皮膚や筋肉の隆起などの複雑なスキン変形を表現する技法が実用化されている。一般的にボーンの数はオブジェクトの頂点数よりもずっと小さいため、アニメーションにおける全てのフレームのオブジェクトの頂点座標を記憶しておくよりも、オブジェクトのウェイトマップと各フレームのボーンの姿勢を記憶しておく方が、メモリ消費量の観点から効率的である。スキニング処理は計算コストが低く、ハードウェアで高速化することが出来る。スキニング処理を行う為にはオブジェクトにボーンとそれに対応するウェイトマップ、各フレームにおけるボーンの姿勢を適切に設定する必要があり、アーティストにとって大きな負担となっている。そこで、頂点ベースアニメーションをよりメモリ消費量が少なく演算コストの低いスキンアニメーションへ自動で変換する技術には高い需要がある。頂点ベースアニメーションをスキンアニメーションへ変換する技術は、スキニング分解と呼ばれる。Bones[SSDR]などがあり、SSDRは正確性と応用性の観点から,現在最も注目されている手法の一つである。SSDRによるスキニング分解は線形ブレンドスキニング法の逆問題を解き、オブジェクトの例示データの集合を入力として、各例示データをもっともよく近似するようなスキニングのパラメータ(各ボーンの姿勢、ウェイトマップ)を出力する。具体的には、オブジェクトのアニメーションの1フレームごとの物体の形状を入力とし、それをもっともよく近似するような各ボーンの剛体変換行列を1フレームごとに算出する。ウェイトマップはアニメーション全体で1つのパラメータを算出する。Transformations)工程の3工程からなる。オブジェクトの例示データの似たような動きをしている部分をクラスタリングしてボーンの剛体変換行列の初期値を算出する。Descent法を用いてウェイトマップの更新とボーンの剛体変換行列の更新を繰り返すことで最終的なスキニングのパラメータを算出する。3次元のオブジェクトを変形させる別の手法としてブレンドシェイプがある。これは頂点数や頂点間の接続情報が同じで、形状が異なるモデルを複数用意しておき、それぞれの形をブレンドすることで新しい形状をつくり出す手法である。フェイシャル(顔の表情)のアニメーションを作成する際に広く用いられている。ブレンドシェイプはスキニングと比較し、(実時間で動作させるには)多くの計算量を要するという課題があった。そこで、ブレンドシェイプで作成したアニメーションをスキンアニメーションに変換する技術の需要も増大している。従来のスキニング処理が記載された文献としては、下記の特許文献1及び2が挙げられ、SSDR及びスキニング分解が記載された非特許文献としては下記の非特許文献1が挙げられる。概要メモリ消費量が少なく且つ高速高精度に変換するスキニング分解高速化技術の提供。繰り返して実行させるためのウェイトマップの局所性を考慮したスキニング分解高速化プログラム。請求項6前記[クラスタの割り当て処理工程]において、前記コンピュータに、前記オブジェクトにブレンドシェイプが適用されており、アーティストによってボーンが設定されているかを判断する第1工程と、該第1工程によりオブジェクトにブレンドシェイプが適用されていると判断したとき、あらかじめ設定されているボーン(アーティストが設定したもの等)をもとにクラスタリングを行う第2工程と、該第2工程によりオブジェクトにブレンドシェイプが適用されていないと判断したとき、可動部分が骨格等によりにより定まっているオブジェクトであるか、可動部分が定まっていない大きな変形をするオブジェクトであるかを判定する第3工程と、該第3工程により可動部分が骨格等によりにより定まっているオブジェクトと判定したとき、各クラスタごとに誤差値を計算し、誤差値が閾値以上のクラスタに新たなクラスタを割り当てていく第4工程と、該第3工程により可動部分が定まっていない大きな変形をするオブジェクトと判定したとき、最遠点サンプリング法を用いてボーンの位置を決定した結果をもとにクラスタリングを行う第5工程と、を実行させるための請求項5に記載のウェイトマップの局所性を考慮したスキニング分解高速化プログラム。請求項7前記[システム行列縮小処理工程]において、前記コンピュータに、前記[クラスタの割り当て処理]のクラスタリングの結果を用いて各クラスタ間の隣接情報を構築する第6工程と、前記スキンウェイトを求める頂点が属しているクラスタ番号を取得する第7工程と、該第7工程によりクラスタ番号を取得したクラスタとそのクラスタの第2近傍以内にあるボーンを取得する第8工程と(クラスタのクラスタリング)、該第8工程により取得したボーンのみを対象としてスキンウェイトを算出する第9工程と、該第9工程で算出したスキンウェイトのうち値が大きい上位4つのボーンを取出しそれらに対して再び2次計画問題を解き最終的なスキンウェイトを決定する第10工程と、を実行させるための請求項5に記載のウェイトマップの局所性を考慮したスキニング分解高速化プログラム。)のアニメーションを3Dスキンアニメーションに変換するスキニング分解技術においてウェイトマップの局所性を考慮したスキニング分解高速化方法及び同スキニング分解高速化プログラムに関する。背景技術0002スキニング(処理)とは、3次元のオブジェクトを変形させる手法の1つである。静止状態のオブジェクトに対し、オブジェクトを操作するためのボーン(コントロールポイント)及びボーンが各頂点にどれくらいの影響を及ぼすかを示すウェイトマップを設定する。これにより、ボーンの姿勢を操作することで物体全体を変形させることができる。LBS)が広く利用されている。補助骨と呼ばれる冗長なボーンを導入することによってスキンアニメーションの品質を改善するとともに,皮膚や筋肉の隆起などの複雑なスキン変形を表現する技法が実用化されている。一般的にボーンの数はオブジェクトの頂点数よりもずっと小さいため、アニメーションにおける全てのフレームのオブジェクトの頂点座標を記憶しておくよりも、オブジェクトのウェイトマップと各フレームのボーンの姿勢を記憶しておく方が、メモリ消費量の観点から効率的である。スキニング処理は計算コストが低く、ハードウェアで高速化することが出来る。スキニング処理を行う為にはオブジェクトにボーンとそれに対応するウェイトマップ、各フレームにおけるボーンの姿勢を適切に設定する必要があり、アーティストにとって大きな負担となっている。0003そこで、頂点ベースアニメーションをよりメモリ消費量が少なく演算コストの低いスキンアニメーションへ自動で変換する技術には高い需要がある。頂点ベースアニメーションをスキンアニメーションへ変換する技術は、スキニング分解と呼ばれる。Bones[SSDR]などがあり、SSDRは正確性と応用性の観点から,現在最も注目されている手法の一つである。0004SSDRによるスキニング分解は線形ブレンドスキニング法の逆問題を解き、オブジェクトの例示データの集合を入力として、各例示データをもっともよく近似するようなスキニングのパラメータ(各ボーンの姿勢、ウェイトマップ)を出力する。具体的には、オブジェクトのアニメーションの1フレームごとの物体の形状を入力とし、それをもっともよく近似するような各ボーンの剛体変換行列を1フレームごとに算出する。ウェイトマップはアニメーション全体で1つのパラメータを算出する。Transformations)工程の3工程からなる。オブジェクトの例示データの似たような動きをしている部分をクラスタリングしてボーンの剛体変換行列の初期値を算出する。Descent法を用いてウェイトマップの更新とボーンの剛体変換行列の更新を繰り返すことで最終的なスキニングのパラメータを算出する。図30005また、3次元のオブジェクトを変形させる別の手法としてブレンドシェイプがある。これは頂点数や頂点間の接続情報が同じで、形状が異なるモデルを複数用意しておき、それぞれの形をブレンドすることで新しい形状をつくり出す手法である。フェイシャル(顔の表情)のアニメーションを作成する際に広く用いられている。ブレンドシェイプはスキニングと比較し、(実時間で動作させるには)多くの計算量を要するという課題があった。そこで、ブレンドシェイプで作成したアニメーションをスキンアニメーションに変換する技術の需要も増大している。0006なお、従来のスキニング処理が記載された文献としては、下記の特許文献1及び2が挙げられ、SSDR及びスキニング分解が記載された非特許文献としては下記の非特許文献1が挙げられる。Houston)、2012年、[平成28年12月25日検索]、インターネット<HTTP://GRAPHICS.CS.UH.EDU/BLE/PAPERS/2012SA−SSDR/2012_SA_SSDR_PREPRINT.PDF発明が解決しようとする課題0009前述したSSDRによるスキニング分解は可動部分が骨格等によりにより定まっているオブジェクトに対し誤差の少ないスキニングのパラメータを算出することを可能とするが、可動部分が定まっていない大きな変形をするオブジェクト(例えば布等)に対しては精度が落ちてしまうという問題がある。SSDRはブレンドシェイプで作成したアニメーションは対象としていない。0010また、前述したSSDRによるスキニング分解は設定するボーンの数が増大するにつれて計算量が指数関数的に増大するという問題がある。これはウェイトマップを算出する際に解く2次計画問題のシステム行列の大きさが設定するボーンの数に比例しているためである。変形の大きな物体(布や衣服等)のアニメーションを精度高くスキニングで近似するというような、多数のボーンを設定する必要のある場合にこの問題が顕著に表れる。0011本発明の第1の目的は、変形の大きな物体のアニメーションやブレンドシェイプにも適用可能なウェイトマップの局所性を考慮したスキニング分解高速化方法及び同スキニング分解高速化プログラムを提供することである。0012本発明の第2の目的は、設定するボーンの数が増大しても計算量が爆発的に増大しないウェイトマップの局所性を考慮したスキニング分解高速化方法及び同スキニング分解高速化プログラムを提供することである。繰り返して実行させることを主な特徴とする。本発明は、第1の目的を達成するため、初期化工程の[クラスタの割り当て処理工程]において対象となるオブジェクトに応じて3通りの手法を使い分ける。(1)動物など可動部分が骨格等によりにより定まっているオブジェクトに対しては、各クラスタごとに誤差値を計算し、誤差値が閾値以上のクラスタに新たなクラスタを割り当てていく。はじめはオブジェクト全体を1つのクラスタとする。Sampling)を用いてボーンの位置を決定した結果をもとにクラスタリングを行う。(3)ブレンドシェイプへの応用では、あらかじめ設定されているボーン(アーティストが設定したもの等)をもとにクラスタリングを行う。本発明は、第2の目的を達成するため、初期化工程において、ウェイトマップの計算量を削減する手法を導入する。発明の効果0014本発明によるウェイトマップの局所性を考慮したスキニング分解高速化方法及び同スキニング分解高速化プログラムは、初期化工程において対象となるオブジェクトに応じて3通りの手法を使い分けることで、幅広い対象のアニメーションに対し高精度なスキニング分解を適用することを可能にする。具体的には、クラスタの割り当てを工夫することにより、動物など可動部分が骨格等によりにより定まっているオブジェクトに対してはSSDRよりも高精度なスキニング分解を可能にする。Sampling)を用いることにより、布など可動部分が定まっていない大きな変形をするオブジェクトに対しても高精度なスキニング分解を可能にする。設定されているボーンを用いてSSDRを行う機能を導入することで、ブレンドシェイプへの応用も可能にする。0015また、本発明によるウェイトマップの局所性を考慮したスキニング分解高速化方法及び同スキニング分解高速化プログラムは、ウェイトマップの計算量を削減する手法を導入することで、設定するボーンの数が増大しても計算量が爆発的に増大しないスキニング分解を達成する。具体的には、ウェイトマップの局所性を考慮し、各ボーンのウェイトマップを求める際に、オブジェクト全体のアニメーションでなく、そのボーンの近傍のみのアニメーションを用いて近似的に解を求める。これにより、ウェイトマップを算出する際に解くべき2次計画問題のシステム行列を縮小することを可能にし、設定するボーンの数が増大してもシステム行列をほぼ一定の大きさに保つことが出来る。ウェイトマップを求める際に、アニメーション中の全てのフレームのオブジェクトの形状を用いるのではなく、似たような形状のフレームを間引く工程を導入する。これにより、ウェイトマップを算出するための演算回数そのものを減らすことを可能とする。この2つのアプローチを組み合わせることで、ウェイトマップにおける計算時間を大幅に短縮し、SSDR全体の計算時間を短縮する。提案手法はSSDRの近似解を求める手法であるため、従来のSSDRと比較すると復元誤差が僅かながら大きくなってしまうが、前述のクラスタの割り当て処理の工夫と併せることで高速化と高精度化の両立を可能とする。図面の簡単な説明0016本発明によるウェイトマップの局所性を考慮したスキニング分解高速化方法及び同スキニング分解高速化プログラムを実行するコンピュータシステムの構成例を示す図である。本実施例によるスキニング分解高速化プログラムの動作を説明するための図である。従来技術によるスキニング分解の概要を説明するための図である。]に用いる演算式を説明するための図である。本実施例による[クラスタ割り当て処理工程]の原理を説明するための図である。クラスタの割り当ての際に用いるコスト関数の演算式を説明するための図である。本実施例による[ウェイトマップ更新工程]において解くべき2次計画問題を説明するための図である。説明するための図である。本実施例による[システム行列縮小処理工程]によるシステム行列の変化を説明するための図である。本実施例による[システム行列縮小処理工程]における処理時間短縮効果を説明するための図である。本実施例による[システム行列縮小処理工程]における誤差の変化を説明するための図である。]の原理を説明するための図である。]に用いる演算式及び結果を説明するための図である。実施例0017以下、本発明の一実施例によるウェイトマップの局所性を考慮したスキニング分解高速化方法を適用したスキニング分解高速化プログラムの詳細を図面を参照して説明する。15と、頂点ベースアニメーション情報を格納する頂点ベースアニメーション情報データベース(DB)10と、スキンアニメーション情報を格納するスキンアニメーション情報データベース(DB)11と、前記各部位を制御するCPU20とを備える。図10019本実施例によるスキニング分解高速化プログラムを実行するコンピュータシステムは、後述する処理を実行することによって、アニメーションにおける全てのフレームのオブジェクトの頂点座標を記憶しておく頂点ベースアニメーションを、オブジェクトに設定したボーンの姿勢とそれに対応するウェイトマップから形状を計算するスキンアニメーションに高精度・高速に変換するスキニング分解を実行する。0020なお図1に示した構成例は一例であり、クラスタの割り当て処理部12等の処理部の動作をメモリ17に格納したプログラムによって実行するように構成することや、他の周辺機器等を接続するように構成しても良い。[スキニング分解方法の説明]図10021提案手法は[クラスタの割り当て処理]、[システム行列縮小処理]、[演算回数低減処理]からなる。提案手法はSSDRの初期化工程の拡張であり、従来のフレームワークに容易に組み込むことが出来る。Bones」(http://graphics.cs.uh.edu/ble/papers/2012sa−ssdr/2012_SA_SSDR_preprint.pdf)の手法をそのまま適用する。[クラスタの割り当て処理]図40022まず、従来によるスキニング分解は、可動部分が骨格や関節により定まっているオブジェクトである「馬」の場合、図5(a)に示す如く、この「馬」の全体を1つのクラスタ(静止状態のオブジェクトを構成する複数の頂点をひとかたまりの単位)とみなし、クラスタ内で最もコスト関数の値が大きい部分(図中の○部分)に新しいクラスタを割り当て、以下同様に各クラスタ内で最もコスト関数の値が大きい部分に新しいクラスタを割り当てる作業を繰り返し行っていた。この従来手法の場合、既にコスト関数の値が十分小さく良くクラスタリングされている部分にも新たにクラスタが割り当てられ、無駄なクラスタが生じる課題と、クラスタの数は2の累乗の数で変化していくため、ユーザが好みのクラスタの数を設定できないという課題がある。図50023なお、本出願で述べるクラスタリング(clustering)は2つの意味で用いている。「クラスタの割り当て処理」では、似たような動きをする頂点群をひとまとめにした集合のことであり、具体的には初期化工程において、同じ剛体変換行列が与えられる頂点の集合のことを意味する。[システム行列縮小処理]では、あるクラスタとそのクラスタから第2隣接以内に存在するクラスタの集合を意味する(クラスタのクラスタリング)。コスト関数については後述する。0024このため本発明の[クラスタの割り当て処理]においては、図5(b)に示す如く、全てのクラスタに新たなクラスタを割り当てていくのではなく、コスト関数の値が大きいクラスタ(例えば、コスト関数の値が全体のクラスタの上位n分の1以上の部分、図示例では2以上の部分、図中の○部分)にのみ新たなクラスタを割り当てる手法を採用する。本発明は、はじめは全体を1つのクラスタとみなし、コスト関数の値が上位n分の1のクラスタに新たなクラスタを割り当てていき、クラスタの数が(ユーザが指定した値)×(n/n+1)に達したら1つずつ割り当てる。これにより、本発明は、クラスタを割り当てるべきところにクラスタを割り当てることができ、最終的な復元誤差も減少させることができる。オブジェクトが馬の場合、従来手法ではボーン(図中の○印)が揺れにより稼働量が大きい尻尾や脚の部分に集中するのに対して、本発明では一部に集中せず、稼働する部分全体にボーンを配置することができる。splitting」の(1a)(1b)として図6に示す演算式であり、本発明ではこのコスト関数をそのまま用いる。このコスト関数は、クラスタ内の頂点がどの程度ボーンの動きに追従しているかを表す関数である。ある頂点のコスト関数の値は、スキニング分解によって算出されたパラメータを用いて再構築した形状と例示データの誤差をフレームごとに足し合わせた値と、初期形状においてその頂点が属するクラスタの重心とその頂点の距離の積として求められる。このコスト関数の値が大きいほど、頂点はそれが属するクラスタとは異なるふるまいをする。そこで本発明においては各クラスタ内でコスト関数の値が最大となる頂点を新たなクラスタを割り当てる箇所の候補とする。図60026前記[クラスタの割り当て処理]は、可動部分が骨格等によりにより定まっているオブジェクトに対するものである。sampling(以下、最遠点サンプリング法という。quaternionの考え方に基づき、スキニング分解を行う。本発明では、可動部分が定まっていないオブジェクトに対しては、最遠点サンプリング法を用いてボーンの位置を決定した後、SSDRによりウェイトマップとボーンの剛体変換行列を求めることによって、SADやSSDRよりも高精度にやわらかい物体をスキニングベースのアニメーションに変換する。sampling)とは、静止ポーズのオブジェクトのあるサンプルボーンから最も近いサンプルボーンまでの最小距離が最大になるように、サンプルボーンを空間に配置する手法であり、詳細は、URL<https://www.cs.utah.edu/〜ladislav/kavan07skin.arbitrary/kavan07skin.arbitrary.pdf>に記載されている。0030ブレンドシェイプが適用されたオブジェクトの場合、あらかじめ設定されているボーン(アーティストが設定したもの等)をもとにクラスタリングを行う。Maya(Autodeskは登録商標)のスムーズスキン機能を用いてウェイトマップの初期値を計算しクラスタリングを行った。オブジェクトのボーンと頂点の位置関係からウェイトマップを計算する手法は数多く提案されているため、ここでは各自好みの手法を用いることができる0031このように本実施例による[クラスタの割り当て処理]工程においては、対象となる物体の性質に応じて適切にクラスタの割り当てを行うことによって、幅広い対象のアニメーションに対し高精度なスキニング分解を適用することを可能にする。Map)における2次計画問題のシステム行列の大きさを小さくする[システム行列縮小処理]を説明する。0033まず、従来技術によるウェイトマップ更新工程においては線形ブレンドスキニング法の演算式をスキンウェイト(重み付け)について整理した図7に示す2次計画問題を解く必要がある。この2次計画問題は、制約条件として、スキンウェイトは負にならないこと、各頂点のスキンウェイトは合計すると1になること、各頂点に影響を与えるボーンの数はK(一般的には4)以下であるという条件が加わる。この最適化問題は密なシステム行列に対して解く必要がある。図70034従来手法は、各頂点ごとに全てのボーンに対して2次計画問題を解いてスキンウェイトを算出し、次にスキンウェイトの値が大きい上位4つのボーンを取出し、それらに対して再び2次計画問題を解いて最終的なスキンウェイトを決定する。そのため、2次計画問題のシステム行列の大きさは設定したボーンの数に比例し、設定するボーンの数が大きくなると計算量が爆発的に増大する。0035ここで、図8(a)左側に示す如く、人体モデルに設定された各クラスタに対して、そのクラスタがある注目頂点が属するクラスタの第n近傍クラスタであることを表す値を定義することが出来る。図8(b)左側に矢印で示す如く、表面頂点aの動きは値の小さいクラスタのボーンからの影響を強く受け、値の大きいクラスタ(例えば手)のボーンからの影響はあまり受けない(ウェイトマップの局所性)。スキニングではある頂点に影響を与えるボーンの数は通常K(一般的には4)以下であるため、これら値の大きいボーンからの影響は無視することが出来る。図80036そこで、本発明においてはオブジェクトの各頂点はそこから遠いところにあるボーンの影響は受けないという仮定のもと、スキンウェイトを算出する手法を提案する。手法は[クラスタの割り当て処理]のクラスタリングの結果を用いて各クラスタ間の隣接情報を構築する第1工程と、スキンウェイトを求める頂点が属しているクラスタ番号を取得する第2工程と、該第2工程によりクラスタ番号を取得したクラスタとそのクラスタの第2近傍以内にあるボーンを取得する第3工程と(クラスタのクラスタリング)と、該第3工程により取得したボーンのみを対象としてスキンウェイトを算出する第4工程と、該第4工程で算出したスキンウェイトのうち値が大きい上位4つのボーンを取出しそれらに対して再び2次計画問題を解き最終的なスキンウェイトを決定する第5工程からなる。0037このクラスタのクラスタリングによって、図8(b)左側に示す如く、表面頂点aに対して全てのボーンに対してウェイト演算を行っていた従来手法に対し、図8(b)右側に示す如く、表面頂点aが属するクラスタの第2隣接以内のクラスタのボーンだけに演算対象を制限する。これにより、2次計画問題のシステム行列の大きさを縮小し、設定するボーンの数の依らず一定の大きさに保つことが可能になる。図80038このクラスタのクラスタリングによる効果を次に説明する。本クラスタのクラスタリングによれば、システム行列の要素数は、図9(b)左側に示す如く、従来手法ではシステム行列はボーンの数×ボーンの数の大きさであったものを、図9(b)右側に示す如く各頂点の第2近傍以内のボーンの数×第2近傍以内のボーンの数とすることができ、システム行列の大きさを小さくすることができる([システム行列縮小処理])。図90039この[システム行列縮小処理]によって本発明は処理時間を短縮することができ、例えば、オブジェクトが変位の大きい布の場合、図10(a)に示す如く、図右方に示した従来手法ではボーン数が20以上になると急激にウェイト演算時間(ウェイトマップ更新処理演算時間)が上昇するのに対し、本発明では図左方に示す如くボーン数が20以上になってもウェイト演算時間の増加を抑えることができ、これは図10(b)に示した馬に対するウェイト演算時間及び図10(c)に示した人物顔に対するウェイト演算時間に対しても同様である。図100040また、この[システム行列縮小処理]によれば、ウェイトマップ更新後の復元誤差の増加も抑えることができ、例えば、オブジェクトが変位の大きい布の場合、図11(a)に示す如く、図右方に示した従来手法と図左方に示した本発明と比べても復元誤差が増加せず、これは図11(b)に示した馬に対する復元誤差及び図11(c)に示した復元誤差においても同様である。この工程単独で従来手法よりも精度が高くものではないが、近似的に解を求めても復元誤差はほとんど増加せず、クラスタの割り当て処理の工夫とあわせると従来手法と比較して精度が向上する。[演算回数低減処理]図110041次に、本発明は、[システム行列縮小処理]に続いて、2次計画問題を解く回数を低減するための[演算回数低減処理]を採用する。この[演算回数低減処理]は、アニメーション中にはオブジェクトが繰り返し動作をしたり静止しているシーンが存在することに着目し、これら繰り返し動作及び静止状態のキーフレームに対しては1度だけウェイトマップ更新演算を行うことによって演算回数を低減する(間伐処理)。図12(a)に示す馬が走行するアニメーションにおいては、馬の走行姿勢が類似したフレームが存在することや、図12(b)に示す洋服がなびく形状が類似したフレームが存在する点に着目し、これら繰り返し動作及び静止状態のキーフレームにおけるオブジェクトに対しては1度だけウェイトマップ更新演算対象として選択する。図120042この間伐処理を行うために本発明は、図13(a)に示す如く、アニメーション中のオブジェクト間の姿勢類似度を表す評価関数式を導入し、例えば図13(b)左端に示す馬の首部分のボーンj1に対して右側に示す時刻tのレスト(静止)ポーズからt=t1への変換をRj1t1、t=t2への変換をRj1t2としたとき、Rj1t1とRj1t2との差のフロベニウスノルムの値が所定の閾値以下の場合に2つの姿勢が似ていると評価し、この似ている姿勢のキーフレームに対して1度だけウェイトマップ更新演算対象として選択する。図130043この間伐処理によって図13(c)に示す如く、例えば馬動作のウェイトマップ更新演算対象となるキーフレーム数48をキーフレーム数11に低減することができる。[動作]図130044次に本実施形態によるスキニング分解高速化方法を採用したスキニング分解高速化プログラムの動作を説明する。本実施例によるスキニング分解高速化プログラムは、図1に示すメモリ17に格納され、CPU20が、頂点ベースアニメーション情報をスキンアニメーション情報にスキニング分解するものであって、図2に示す如く、次に述べる各ステップにより初期化工程とスキニング分解工程を実行する。図1図20045前記初期化工程は、次の各ステップにより実行される。(1)ステップS201:頂点ベースアニメーション情報DB10から処理対象の頂点ベースアニメーション情報をメモリに読み込むステップ。(2)ステップS210:前記ステップS201により読み込んだ頂点ベースアニメーション情報の静止オブジェクトに対して、動物など可動部分が骨格等により定まっているオブジェクト、布など可動部分が定まっていない大きな変形をするオブジェクト、ブレンドシェイプで作成したオブジェクト、といったオブジェクトの特性に応じて異なる手法を適用してオブジェクトを操作するためのボーンのクラスタを割り当てる[クラスタの割り当て処理工程]のステップ。0046このステップS210は次のステップにより成る。(3)ステップS211:オブジェクトにブレンドシェイプが適用されており、アーティストによってボーンが設定されているか否かを判定するステップ。(4)ステップS212:前記ステップS211によりオブジェクトにブレンドシェイプが適用されていないと判定したとき、可動部分が骨格等によりにより定まっているオブジェクトであるか、可動部分が定まっていない大きな変形をするオブジェクトであるか否かを判定するステップ。(5)ステップS213:前記ステップS212により可動部分が骨格等により定まっているオブジェクトと判定したとき、各クラスタごとに誤差値を計算し、誤差値が閾値以上のクラスタに新たなクラスタを割り当てていくステップ。はじめはオブジェクト全体を1つのクラスタとする。Sampling)を用いてボーンの位置を決定した結果をもとにクラスタリングを行うステップ。(7)ステップS215:前記ステップS211においてオブジェクトにブレンドシェイプが適用されていると判断したとき、あらかじめ設定されているボーン(アーティストが設定したもの等)をもとにクラスタリングを行うステップ。0047前記ステップS213値ステップS214、ステップS215に続いて本実施例による初期化工程は次のステップを実行する。(8)ステップS220:前記ステップS210により設定したボーンのクラスタに対して、近傍のボーンのクラスタのみをクラスタリングして、ウェイトマップ更新演算における2次計画問題のシステム行列の大きさを縮小し一定の大きさに保つ[システム行列縮小処理工程]のステップ。(9)ステップS230:前記ステップS210により設定したボーンのクラスタに対して、アニメーション中のオブジェクト間の姿勢類似度を表す評価関数式を導入し、繰り返し動作や静止状態のキーフレームにおけるオブジェクトに対しては1度だけウェイトマップ更新演算対象とすることで、ウェイトマップ更新演算回数を制限する[演算回数低減処理]のステップ。0048前記初期化工程に続いて次のスキニング分解工程を実行する。(10)ステップS240:前記ステップS230によりウェイトマップ更新演算対象として選択したアニメーション中のオブジェクトのウェイトマップ更新を行うウェイトマップ更新工程のステップ。0049(12)ステップS260:前記ステップS250に続いて、ユーザが設定した回数だけスキニング分解処理を反復して処理を行ったか否かを判定し、ユーザが設定した回数の処理を行っていないと判定したとき、前記該ウェイトマップ更新工程のステップS220に戻るステップ。(13)ステップS270:前記ステップS260によりユーザが設定した回数だけスキニング分解処理を反復して処理を行ったと判定したとき、スキンアニメーション情報をスキンアニメーション情報DB11に出力するステップ。0050なお、本例においては、ステップS212における可動部分が骨格等によりにより定まっているオブジェクトか可動部分が定まっていない大きな変形をするオブジェクトかの判定は、オペレータが設定して良いし、オブジェクトの外的形状や輪郭によるパターンマッチング等によりCPUが判定しても良い。0051また、ステップS210におけるオブジェクトを操作するためのボーンの設定をオペレータ操作により行っても良い。0052さらに、前記ステップS220では、スキンウェイトの更新演算において第2隣接以内にあるボーンを2次計画問題の計算の対象とする例を説明したが、本発明はこれに限られるものではなく、第n隣接以内にあるボーン(nは整数)を2次計画問題の計算の対象とすることや、単純に距離の近いボーンを2次計画問題の計算の対象としても良い。データ等)を元に構成されています。出典元のデータには一部間違いやノイズがあり、情報の正確さについては保証致しかねます。一時的に、各データの収録範囲や更新周期によって、一部の情報が正しく表示されないことがございます。当サイトの情報を元にした諸問題、不利益等について当方は何ら責任を負いかねることを予めご承知おきのほど宜しくお願い申し上げます。”未来を創るためのプラットフォーム”astamuseは、世界中で未来を創るための「仕組み」を提供するため日々改善を進めています。専門用語を解析し、意味や用法を知ることが出来るキーワード情報そしてこれらの情報を最大限活用することで、挑戦したい社会課題を独自の切り口で編集。社会に大きな変化を起こし、未来を創るために活動し続けるのは容易なことではありません。行う為に必要なサービスの提供を行っていきます。それが私たちの考える“未来を創ること”です。