(57)【要約】【課題】  ２つのキャラクタの部分に最小限のトポロジ類似性があれば、これらの間でモーションを移転可能にする。【解決手段】  ソース・トポロジ１０２およびターゲット・トポロジ１５２の部分または構造は、部分識別子１１４等とそれぞれのソース・トポロジまたはターゲット・トポロジの部分と関連付けられている機能性記述子１１６とを含むデータ・オブジェクト１１０，１１２等の階層から成る１つ以上の記述ファイル１０６等として表すことができる。ソースおよびターゲット・キャラクタ間においてモーションを移転するために、対応するターゲット部分識別子を有するソース部分識別子の部分集合によって特定されるソース・キャラクタの部分または構造に伴うモーションを判定する。このモーションを、ターゲット・キャラクタ識別子の対応する部分または構造にリターゲットし、添付する。【選択図】      図１
2008052726.tif 000002
【特許請求の範囲】
【請求項１】
ソース・トポロジを有するソース・キャラクタのモーションをターゲット・トポロジを有するターゲット・キャラクタに移転する方法であって、前記ソース・トポロジは前記ターゲット・トポロジとは異なり、前記ソース・キャラクタおよび前記ターゲット・キャラクタは、各々、部分識別子と前記各ソース・トポロジまたはターゲット・トポロジの部分に関連付けられた機能性記述子とを含むデータ・オブジェクトの階層から成る１つ以上の記述ファイルとして表されており、
前記１つ以上のソース記述ファイルの対応するソース・データ・オブジェクトと、前記１つ以上のターゲット記述ファイルのターゲット・データ・オブジェクトとを特定するステップと、
前記対応するソース・データ・オブジェクトによって特定される前記ソース・トポロジの１つ以上の部分から、前記対応するターゲット・データ・オブジェクトによって特定される前記ターゲット・トポロジの１つ以上の部分にモーションをリターゲットするステップと、
前記リターゲットしたモーションを、前記ターゲット・トポロジに添付するステップと、
を備えている、方法。
【請求項２】
請求項１記載の方法において、前記ソース・キャラクタおよび前記ターゲット・キャラクタの少なくとも一方は、骨格構造を有していない、方法。
【請求項３】
請求項１記載の方法において、前記特定するステップは、易変タグを前記対応するデータ・オブジェクトの前記部分識別子に適用することを含む、方法。
【請求項４】
請求項１記載の方法において、前記リターゲットするステップは、前記対応するソース・データ・オブジェクトによって特定される前記ソース・キャラクタの単一部分を、前記対応するターゲット・データ・オブジェクトによって特定される前記ターゲット・キャラクタの複数の部分にモーションをマッピングすることを含む、方法。
【請求項５】
請求項４記載の方法において、
前記単一部分は、二脚ソース・キャラクタの付属肢を備えており、
前記複数の部分は、四脚ターゲット・キャラクタの多数の付属肢を備えている、方法。
【請求項６】
コンピュータ・プログラム製品であって、
コンピュータ読み取り可能媒体と、
前記コンピュータ読み取り可能媒体上に格納されており、コンピュータによって処理されると、ソース・トポロジを有するソース・キャラクタのモーションをターゲット・トポロジを有するターゲット・キャラクタに移転する方法を前記コンピュータに実行するように命令するコンピュータ・プログラム命令と、
を備えており、前記ソース・トポロジは前記ターゲット・トポロジとは異なり、前記ソース・キャラクタおよび前記ターゲット・キャラクタは、各々、部分識別子と前記各ソース・トポロジまたはターゲット・トポロジの部分に関連付けられた機能性記述子とを含むデータ・オブジェクトの階層から成る１つ以上の記述ファイルとして表されており、前記方法が、
前記１つ以上のソース記述ファイルの対応するソース・データ・オブジェクトと、前記１つ以上のターゲット記述ファイルのターゲット・データ・オブジェクトとを特定するステップと、
前記対応するソース・データ・オブジェクトによって特定される前記ソース・トポロジの１つ以上の部分から、前記対応するターゲット・データ・オブジェクトによって特定される前記ターゲット・トポロジの１つ以上の部分にモーションをリターゲットするステップと、
前記リターゲットしたモーションを、前記ターゲット・トポロジに添付するステップと、
を備えている、コンピュータ・プログラム製品。
【請求項７】
請求項６記載のコンピュータ・プログラム製品において、前記ソース・トポロジおよび前記ターゲット・トポロジの少なくとも一方は、骨格構造を有していない、コンピュータ・プログラム製品。
【請求項８】
請求項６記載のコンピュータ・プログラム製品において、前記特定するステップは、易変タグを前記対応するデータ・オブジェクトの前記部分識別子に適用することを含む、コンピュータ・プログラム製品。
【請求項９】
請求項６記載のコンピュータ・プログラム製品において、前記リターゲットするステップは、前記対応するソース・データ・オブジェクトによって特定される前記ソース・キャラクタの単一部分を、前記対応するターゲット・データ・オブジェクトによって特定される前記ターゲット・キャラクタの複数の部分にモーションをマッピングすることを含む、コンピュータ・プログラム製品。
【請求項１０】
請求項９記載のコンピュータ・プログラム製品において、
前記単一部分は、二脚ソース・キャラクタの付属肢を備えており、
前記複数の部分は、四脚ターゲット・キャラクタの多数の付属肢を備えている、コンピュータ・プログラム製品。
【請求項１１】
ソース・トポロジを有するソース・キャラクタのモーションを、ターゲット・トポロジを有するターゲット・キャラクタに移転する方法であって、前記ソース・トポロジは前記ターゲット・トポロジとは異なり、
前記ソース・キャラクタおよび前記ターゲット・キャラクタを、部分識別子と前記各ソース・トポロジまたはターゲット・トポロジの部分に関連付けられた機能性記述子とを含むデータ・オブジェクトの階層から成る１つ以上の記述ファイルとして表すステップと、
前記１つ以上のソース記述ファイルの対応するソース・データ・オブジェクトと、前記１つ以上のターゲット記述ファイルのターゲット・データ・オブジェクトとを特定するステップと、
前記対応するソース・データ・オブジェクトによって特定される前記ソース・トポロジの１つ以上の部分から、前記対応するターゲット・データ・オブジェクトによって特定される前記ターゲット・トポロジの１つ以上の部分にモーションをリターゲットするステップと、
前記リターゲットしたモーションを、前記ターゲット・トポロジに添付するステップと、
を備えている、方法。
【請求項１２】
コンピュータ・プログラム製品であって、
コンピュータ読み取り可能媒体と、
前記コンピュータ読み取り可能媒体上に格納されており、コンピュータによって処理されると、ソース・トポロジを有するソース・キャラクタのモーションを、ターゲット・トポロジを有するターゲット・キャラクタに移転する方法を実行するように前記コンピュータに命令するコンピュータ・プログラム命令と、
を備えており、前記ソース・トポロジは前記ターゲット・トポロジとは異なり、前記方法が、
前記ソース・キャラクタおよび前記ターゲット・キャラクタを、部分識別子と前記各ソース・トポロジまたはターゲット・トポロジの部分に関連付けられた機能性記述子とを含むデータ・オブジェクトの階層から成る１つ以上の記述ファイルとして表すステップと、
前記１つ以上のソース記述ファイルの対応するソース・データ・オブジェクトと、前記１つ以上のターゲット記述ファイルのデータ・オブジェクトとを特定するステップと、
前記対応するソース・データ・オブジェクトによって特定される前記ソース・トポロジの１つ以上の部分から、前記対応するターゲット・データ・オブジェクトによって特定される前記ターゲット・トポロジの１つ以上の部分にモーションをリターゲットするステップと、
前記リターゲットしたモーションを、前記ターゲット・トポロジに添付するステップと、
を備えている、コンピュータ・プログラム製品。
【請求項１３】
コンピュータ・プログラム製品であって、
コンピュータ読み取り可能媒体と、
前記コンピュータ読み取り可能媒体上に格納されており、コンピュータによって処理読み取られると、コンピュータ・グラフィクス・キャラクタのトポロジの１つ以上の部分を、部分識別子と前記コンピュータ・グラフィクス・キャラクタのトポロジの前記１つ以上の部分に関連付けられた機能性記述子とを含むデータ・オブジェクトの階層から成る１つ以上の記述ファイルとして表すように、前記コンピュータが解釈する、ディジタル命令と、
を備えている、コンピュータ・プログラム製品。
【発明の詳細な説明】
【技術分野】
【０００１】
コンピュータ・アニメーションでは、一般に、リグ(rig)および付随するジオメトリによってキャラクタを定義する。このジオメトリは、スキンまたはエンベロープと呼ばれることが多い。リグとは、キャラクタのスケルトンであり、多数の相互接続されたエレメントから成り、１つ以上のアニメーション制御によって補強したり、使いやすくするために制約を付けられており、アニメータの基礎的な作業空間である。リグにおける各エレメントは、その位置、方位、およびスケーリング、ならびにその他のアニメーションまたは表示に特定のプロパティを定義するベクトルによって三次元で定義する。キャラクタの様子を生成するために、リグとジオメトリとの間の関係を制御する種々のアルゴリズムがある。
【背景技術】
【０００２】
アニメーションの外観を与えるために、キャラクタを操作する種々の技法を用いることができる。１つの技法では、逆および順運動学ならびにキャラクタ・リギング技法(character rigging techniques)の組み合わせを用いて、経時的なキャラクタのモーションを記述する一連のキー・フレームを指定する。別の技法では、キャラクタのトポロジから選択したエレメントの経時的な位置および方位を表すモーション・キャプチャ・データを用いる。例えば、生の俳優に取り付けたセンサを用いて、モーションを取り込むことができる。モーション・キャプチャ・データは、生の俳優を表すキャラクタのトポロジを導出するために用いることができる。次いで、モーション・キャプチャ・データを用いて、キャラクタを動画で表現する。他の技法では、制約、スクリプト、または数式(expression)を用いることを含む。
【０００３】
コンピュータ・アニメーションに実在するようなキャラクタのモーションを発生することは、困難な作業である。通例、キャラクタのアニメーションは、手作業で行われ、熟練したアーティストの大量の作業を必要とする。このような手間をかけて最終的に得られるモーション（または、一連のモーション）は、通例、１つの特定のキャラクタ専用となる。アニメータが「同じ」アニメーションを他のキャラクタ上に有したい場合、アニメーションを最初からやり直さなければならないのが通例である。ムービーや次世代ビデオ・ゲームにおけるＣＧ効果の使用増加により、キャラクタ・アニメーションに対する需要が高まるに連れ、コンテンツ制作者はアニメーション再利用、即ち、完成したアニメーションをあるキャラクタから別の異なるキャラクタに自動的に応用するという問題に直面することが増えつつある。
【０００４】
キャラクタ・アニメーション再利用に最も広く用いられている技法は、モーション・リターゲッティング(motion retargeting)と呼ばれるプロセスである。これは、逆運動学および順運動学アルゴリズムを用いて、ソース・キャラクタとターゲット・キャラクタとの間でアニメーションを移転することができる。モーション・リターゲッティング・アルゴリズムは、一般に、ソースおよびターゲット・キャラクタが同じ構造を有し、ターゲット・キャラクタはソース・キャラクタよりも単純な基礎「リグ」を有していなければならない。このような制約により、モーション・リターゲッティングは、構造は同一であるが割合(proportion)が異なるキャラクタ間でないと実行することはできない。例えば、Michael Gleicherによる"Retargeting Motion to New Characters"（新しいキャラクタへのモーションのリターゲッティング）,Proceedings of SIGGRAPH 98, ３３〜４２ページ、１９９８年７月を参照のこと。実際には、モーション・リターゲッティングは、現行の方法の狭い制約のために、モーション・キャプチャ・データを既定のリグ構造にリターゲットすることに制限され、限られた場合に、アニメーションをある既定のリグから他のリグに移動させることに制限される。モーション・リターゲッティング技法は、モーションをソース・リグからターゲット・リグにマッピングするが、その際にこれらのリグを分析し、しかるべき力学計算を適用する。しかしながら、ソースおよびターゲット・リグが異なる場合、二脚のソース・キャラクタから四脚のターゲット・キャラクタに、または骨格構造を全く有していないキャラクタにモーションをマッピングするような場合に、問題が発生する。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
実際には、１つのキャラクタから任意の異なるトポロジの別のキャラクタにモーションを移転できれば望ましいであろう。これには、キャラクタのいずれかまたは双方が有するトポロジに骨格構造が含まれない場合のモーション移転を含む。また、１つのキャラクタ・トポロジのオブジェクト（例えば、骨格造作）から別のキャラクタ・トポロジにおける多数の対応する骨格を有するオブジェクトまたはその他のオブジェクトにモーションを移転することも望ましいであろう。更に、アニメータが難解なモーション・データを操作しなければならない代わりに、アニメータがアニメーション制御を馴染みやすく使用できるように、モーションを移転できれば望ましいであろう。
【課題を解決するための手段】
【０００６】
モーションを異なるトポロジのキャラクタ間で移転できるのは、キャラクタの一方または双方がリグなしであっても（即ち、骨格構造を有していない）、これらのキャラクタが最小限のトポロジ類似性を有する場合である。また、２つのキャラクタの部分間でも、モーションを移転することができ、ソース・トポロジの一部からターゲット・トポロジの多数の関連部分への移転を含むが、これらの部分には最小限のトポロジ類似性がなければならない。キャラクタのトポロジは、リグ付き表現に対する代用として、各々トポロジの部分に対応するラベル付きデータ・オブジェクトの階層配列として編成した１つ以上の記述ファイルとして表すことができる。各データ・オブジェクトは、トポロジの関連部分に対する一意の識別子と、リターゲッティング演算子またはアルゴリズムに対して特定のアクションまたは特性を意味する、付随する機能性記述子とを含むことができる。
【０００７】
具体的には、モーションをソース・キャラクタからターゲット・キャラクタに移転できるのは、ソース・キャラクタのトポロジの部分識別子の部分集合を、ターゲット・キャラクタのトポロジの部分識別子の対応する部分集合に一致させることができる場合である。本発明は、ソースおよびターゲット・キャラクタの付随する記述ファイルにおいて一致する部分識別子の部分集合を有する２つのキャラクタ間であればいずれでも、モーション・リターゲッティングを可能とし、骨格構造を有さないキャラクタも含む。リグレス・リターゲッティングも、ソース・キャラクタのトポロジの一部からターゲット・トポロジの多数の部分へのモーションのリターゲッティングを可能にする。
【０００８】
ソースおよびターゲット・キャラクタ間においてモーションを移転するために、ターゲット・キャラクタ記述ファイルの一意の識別子の部分集合に対応するソース・キャラクタ記述ファイルの識別子の部分集合を特定する。この特定プロセスは、対話形式でユーザが誘導するとよく、あるいはコンピュータ化したリターゲッティング・システムによってキャラクタ評価の間自動的に行うとよい。部分識別子の部分集合に対応するソース・キャラクタの構造に伴うモーションを判定する。このモーションを、ターゲット・キャラクタの部分識別子の対応する部分集合にリターゲットする。次いで、リターゲットしたモーションを、ターゲット・キャラクタ記述ファイルの部分識別子の一致した部分集合に対応するターゲット・キャラクタ・トポロジの構造に添付する。その結果、ターゲット・キャラクタのトポロジの当該部分のアニメーションが、ソース・キャラクタに類似するモーションによって、ターゲット・キャラクタを効果的に動画で表現する。
【０００９】
ターゲット・キャラクタを表すラベル付きデータ・オブジェクトも、ターゲット・キャラクタのアニメーションを制御するアニメーション制御と関連付けることができる。例えば、ソース記述ファイルは、臀部および胸部データ・オブジェクトが、臀部および胸部間を接続する脊椎におけるオブジェクトのアニメーションを制御するように構成することができる。臀部および胸部オブジェクトもターゲット・キャラクタのラベル付きオブジェクトである場合、ソース・キャラクタの対応する臀部および胸部構造から移転させるモーションは、ターゲット・キャラクタの脊椎の構造を動画で表現するために用いることができる。
【００１０】
リグレス・リターゲッティングの一実施形態では、ラベル付きデータ・オブジェクトと関連付けられたキャラクタの部分または構造の方位を表すために、ベクトル・マップの集合を定義する。１つのベクトル・マップは、ソース・キャラクタの部分を表す。別のベクトル・マップは、ターゲット・キャラクタの部分を表す。
【００１１】
ソースおよびターゲット・キャラクタ内部の構造またはエレメントの基準のフレームは異なる場合があるので、これら基準フレーム間の変換を計算する。一実施形態では、ユーザが、グラフィカル・ユーザ・インターフェースの使用により、ソース・キャラクタおよびターゲット・キャラクタを同じポーズに置く。ソースおよびターゲット・キャラクタのラベル付き部分の基準フレーム間の変換を決定する。この変換、ならびにソースおよびターゲット・キャラクタの対応する構造の集合を表すベクトル・マップを用いて、一致する部分識別子と関連付けられているソース・キャラクタの構造のモーションを、ターゲット・キャラクタの一致する部分識別子と関連付けられている対応する構造にリターゲットする。あるいは、ソース・キャラクタの基準フレームと、正規の基準ポーズの基準フレームとの間の変換を計算することもできる。これらの変換は、ソース・キャラクタと共に格納することができる。この変換、ならびにソース・キャラクタおよび正規の基準ポーズの一致する部分識別子に対応する構造の集合を表すベクトル・マップを用いて、ソース・キャラクタの一致する部分識別子の部分集合と関連付けられた構造のモーションを、正規の基準ポーズにリターゲットする。この実施形態では、その結果は、一致する部分識別子に対応するソース・キャラクタの構造のモーションの正規化表現となる。この正規化モーションは、それが対応する正規の基準ポーズの表現と共に格納することができ、こうして異なるキャラクタのために、多くの異なるターゲット・キャラクタに再利用可能なモーションのライブラリまたはデータベースを構築する能力を提供する。同じ種類またはクラスのターゲット・キャラクタの基準フレームと、正規の基準ポーズの基準フレームとの間の別の変換を計算する。この変換は、ターゲット・キャラクタと共に格納することができる。同じ広いクラス（例えば、二脚または四脚）のソース・キャラクタおよびターゲット・キャラクタの集合が与えられれば、これらの変換は、キャラクタのクラス全体で方位を正規化する。次いで、この変換、ならびにターゲット・キャラクタおよび正規の基準ポーズの対応する構造の集合を表すベクトル・マップを用いて、格納した正規化モーションを、一致する部分識別子に対応するターゲット・キャラクタの構造にリターゲットすることができる。
【発明を実施するための最良の形態】
【００１２】
これより図１を参照すると、トポロジ１０２および付随するジオメトリによって、ソース・キャラクタ１００を定義する。種々のアルゴリズムが、トポロジおよびジオメトリ間の関係を制御し、キャラクタの様子を生成する。同様に、トポロジ１５２および付随するジオメトリによってターゲット・キャラクタ１５０を定義する。
【００１３】
ソース・キャラクタにモーションを定義するために、種々の技法を用いることができる。一般に、このような技法は、リギングと呼ばれるプロセスにおいて、１つ以上のアニメーション制御を、トポロジの１つ以上のエレメントと関連付けることを伴う。１つの技法では、逆および順運動学ならびにキャラクタ・リギング技法(character rigging techniques)の組み合わせを用いて、経時的なキャラクタのモーションを記述する一連のキー・フレームを指定する。別の技法では、キャラクタのトポロジから選択したエレメントの経時的な位置および方位を表すモーション・キャプチャ・データを用いる。例えば、生の俳優に取り付けたセンサを用いて、モーションを取り込むことができる。モーション・キャプチャ・データは、生の俳優を表すキャラクタのトポロジを導出するために用いることができる。次いで、モーション・キャプチャ・データを用いて、キャラクタを動画化する。他の技法では、制約、スクリプト、または数式(expression)を用いることを含む。また、ソース・キャラクタから移転したモーションによって、動画で表現する能力を高めるように、ターゲット・キャラクタを装備する(rig)こともできる。
【００１４】
リグレス・リターゲッティング・システムは、ソース・トポロジ１０２およびターゲット・トポロジ１５２を表すために、１つ以上の平文記述ファイル１０６、１０８を採用する。例えば、ソース・キャラクタ・トポロジの一部は、以下の記述ファイルによって表すことができる。
【００１５】
【表１】
2008052726.tif 000003
ソース・キャラクタ１００の右足は、データ・オブジェクト１１０、１１２の階層的配列を含むように定義されており、これらは、ソース・ターゲットへまたはソース・ターゲットからモーションをリターゲットするために、順番に並べなければならない。前述の例では、足は、pelvisという名称のオブジェクトに添付され、right＿thigh、right＿shinおよびright＿footとそれぞれ命名された３つの更に別のオブジェクトを含む。各データ・オブジェクト１１０、１１２は、部分識別子１１４と、ソース・トポロジ１０２の部分と関連付けられている機能性記述子１１６とを含む。機能性記述子（例えば、アンカー、子等）は、リターゲッティング・プロセスにおいて、特定の関係（データ・オブジェクトおよびそれらの関連部分または構造）またはアクションを指定するものとして解釈される。
【００１６】
つまり、ソース・キャラクタ１００およびターゲット・キャラクタ１５０の異なるリグに関するRightLeg記述ファイルがあり、その各々に同様の名称が付けられている場合、リグ自体の構造に頼る必要なく、これらの間でモーションを移転することができる。尚、記述ファイルには、リグの典型的なエレメント（例えば、骨、ジオメトリ、制約等）に対して参照が行われるところがないことを注記しておく。実際、位置および回転が明確に定義されているキャラクタであれば、いずれの部分でもright＿thighという名称を付けることができ、モーション・リターゲッティングに用いることができる。リグの構造において暗示的な階層的な情報を単純な記述テキスト・ファイルに移行させることにより、モーション・リターゲッティング・アルゴリズムは、更に広い種々のオブジェクト上で動作することが可能となる。記述ファイルは、抽象的な暗示リグと見なすことができ、変換してターゲット・リグに再度適用する際に、ソース・リグからモーションを誘導するために用いることができる。
【００１７】
キャラクタが異なるトポロジを有していても、キャラクタが部分識別子１１４、１１８によって特定される最小限のトポロジ類似性を有するのであれば、ソース・キャラクタ・モーション１０４は、ターゲット・キャラクタ１５０に移転することができる。即ち、ソース・キャラクタのトポロジを表す部分識別子の部分集合を、ターゲット・キャラクタのトポロジと関連付けられている部分識別子の部分集合に一致させることができれば、ソース・キャラクタからターゲット・キャラクタにモーションを移転させることができる。これらの部分集合を形成する、一致する部分識別子をここでは「標識部分識別子」(tagged portion identifier)と呼ぶ。同じ標識部分識別子の集合を有する全てのキャラクタ間では、モーションをマッピングすることができる。２つの異なる二脚キャラクタは、表面上に、非常に異なるトポロジを有する可能性がある。しかしながら、これらのキャラクタは、各々、同じ主要骨格構造または部分を有する可能性がある。例えば、いずれの四脚でも、頭、首、胸、腕、脊椎、尻、脚を表すエレメントを有する可能性が高い。ソース・トポロジからターゲット・トポロジにおける構造にモーションを移転することができるのは、それらのそれぞれのトポロジを表す記述ファイルにおいて、一致する部分識別子が存在し、これらのエレメントまたは部分に対応する場合である。
【００１８】
再度図１を参照すると、ユーザは、テキストまたはグラフィカル・ユーザ・インターフェースを通じて、モーション・リターゲッティングを望むソースおよびターゲット・キャラクタと関連付けられているデータ・オブジェクトを特定することができる。即ち、各キャラクタの部分識別子１１４、１１８は、ユーザ入力に応答して、タギング・モジュール１０７、１０９によって、どの識別子が標識部分識別子であるか示すために、標識が付けられる。例えば、ユーザが、キャラクタのトポロジのエレメントまたは一部を選択し、ラベルをそれと関連付けることを可能にするようなユーザ・インターフェースを設けるとよい。異なるトポロジにおいて、標識部分識別子が同一であるトポロジ部分は、モーション移転の主旨上、対応するトポロジ部分またはエレメントと見なすことができる。同様に、ユーザは、ターゲットまたはソース・キャラクタのある部分がモーション変換アルゴリズムによって無視されるべきことを示すこともできる（ここでは、「易変タギング」(mutable tagging)と呼ぶ）。例えば、ユーザは、脚（腕ではない）のモーションを１つのターゲット・キャラクタに移転し、次いでソース・キャラクタの名称を付け直すことなく、脚（腕ではない）のモーションを第２キャラクタに移転することができる。
【００１９】
理想的には、ターゲット・キャラクタの標識部分識別子も、ターゲット・キャラクタのアニメーションを制御するアニメーション制御と関連付ける。例えば、キャラクタは、臀部および胸部エレメントが、臀部および胸部間を接続する脊椎におけるエレメントのアニメーションを制御するように装備するとよい。臀部および胸部エレメントもターゲット・キャラクタの標識部分識別子である場合、ソース・キャラクタの対応する臀部および胸部エレメントから移転するモーションを用いて、ターゲット・キャラクタの脊椎の要素を動画化することができる。
【００２０】
ソースおよびターゲット・キャラクタ間でモーションを移転する際、標識部分識別子に対応するソース・キャラクタの構造または部分と関連付けられているモーション１０４を判定する。即ち、ソース・キャラクタのこのような部分または構造毎にモーション・データ（即ち、アニメーションの各フレームの位置および方位）を、アニメーション制御、モーション・キャプチャ・データ、およびキャラクタを動画化するために用いられるその他のあらゆる情報から導出する。
【００２１】
ソース・キャラクタ１００および標識ターゲット・キャラクタ１５２の標識部分識別子、ならびにモーション１０４を用いて、リターゲッティング・モジュール１２１は、リターゲット・モーション１４０を得るために、モーション１０４をリターゲットする。例えば、従来のモーション・リターゲッティング技法を用いて、標識部分識別子の集合に対応するソース・キャラクタのモーション部分または構造を、ターゲット・キャラクタの対応する部分または構造にリターゲットすることができる。特定的なリターゲッティングの実施形態について、以下に更に詳細に説明する。標識部分識別子に対応するソース・キャラクタ部分と関連付けられているモーション１０４を、フレーム毎に、ターゲット・キャラクタの対応する部分にリターゲットする。
【００２２】
次いで、リターゲット・モーション１４０を、部分識別子が示すターゲット・キャラクタ１５０の部分に添付する。その結果、ターゲット・キャラクタのトポロジを表す標識部分識別子のアニメーションが、ソース・キャラクタのモーションと同様のモーションを有するターゲット・キャラクタを動画で表現する。ターゲット・キャラクタの部分識別子が、ターゲット・キャラクタ・トポロジのその他の部分を操作するアニメーション制御と関連付けられている範囲では、一層使い易いモーション移転を達成することができる。
【００２３】
図２を参照すると、リグレス・リターゲッティングは、更に、骨格構造を有していないキャラクタ１２０（例えば、粒子から成るキャラクタ）にまたはキャラクタ１２０からモーションをリターゲットすることもできる。従来のコンピュータ・グラフィック粒子システム(graphic particle system)では、ユーザは、粒子のモーションの立体的境界に制約を有する粒子のクラウド(cloud)から成るキャラクタを作成し、例えば、粒子の拡散や速度のような特性を、立体内の粒子に割り当てることができる。また、キャラクタの特定のクラウド部分における粒子の一部は、粒子アトラクタ(particle attractor)であると定義することもできる。粒子アトラクタは、定義した粒子クラウドの立体内において粒子アトラクタに向かってまたはその周囲で群をなして動く他の粒子の宛先に誘導する。リグレス・リターゲッティングは、ソース・キャラクタの一部からターゲット・キャラクタの粒子クラウド部分の粒子および／または粒子アトラクタの一部または全てにモーションをマッピングすることができる。例えば、記述ファイルは骨格構造を必要とせず、名称付きデータ構造（部分識別子および機能性記述子を含む）の階層的配列によって表される暗示的情報だけがあればよいので、ソースおよびターゲット記述ファイルそれぞれに一致する部分識別子がある場合、ソース・キャラクタ１２５の右脚部分１２４のモーションを、クラウド粒子キャラクタ１２０の右脚部分１２２にリターゲットすることができる。即ち、ターゲット・キャラクタ１２０の「右脚」部分１２２の粒子および／または粒子アトラクタの一部または全部を、right＿thigh、right＿shin、およびright＿foot記述ファイル・データ・オブジェクトとして表し、ソース・キャラクタ１２５の右脚部分１２４に対応させる。このようにして、骨格構造を有するソース・キャラクタ１２５からのモーションを、ターゲット・キャラクタ部分の対応する粒子（および／または粒子アトラクタ）の一部または全部にリターゲットすることができる。
【００２４】
図３を参照すると、リグレス・リターゲッティングは、同様に、例えば、二脚キャラクタ１２８の左脚のような、ソース・キャラクタの単一部分１２６から、例えば、四脚キャラクタ１３４の右および左前脚１３０Ｒ、１３０Ｌならびに右および左後ろ脚１３２Ｒ、１３２Ｒのような、ターゲット・キャラクタの多数の対応部分へのモーションのリターゲッティングを可能にする。前述のように、ターゲット・キャラクタ１３４の「脚」の骨格構造は、通例、互いに対する関係が既定されており、グラフィック・システムは、実際のようなキャラクタのモーションを達成するために変換を行うことができる。これらの関係は、システムが、例えば、四脚とは完全に同じ脚を有していない可能性もある二脚の左足との間でモーションをリターゲットするために利用することができる。例えば、二脚キャラクタ１２８のpelvisおよびright＿foot部分から、四脚キャラクタ１３４の対応する部分にモーションをリターゲットする場合、四脚キャラクタの骨盤および右足間の所定の関係が、骨盤および右足間の骨格構造のしかるべきモーションを決定することができる。加えて、ソースおよびターゲット・キャラクタのエレメント間における関節の相違を考慮するために（例えば、ソース・キャラクタの関節が、対応するターゲット・キャラクタの関節を有するが、咬合が逆の場合）、極性反転(flipping)のようなスケーリング変換(scaling transformation)も適用することができる。極性反転技法も利用して、ターゲット・キャラクタのモーションを一層実物らしくすることもできる。例えば、二脚キャラクタの左足の前方へのモーションを、四脚の一対の足（左前および右後ろ）への前方モーションとして、そして別の対の足（右前および左後ろ）への後方モーション（即ち、位相はずれ）としてマップすることができる。
【００２５】
これより図４を参照して、図１に示したようなシステムを用いるワークフローの一実施形態を記述するフロー・チャートについて説明する。ソース・キャラクタおよびターゲット・キャラクタがあるとして、これらのキャラクタのトポロジを、ユーザに１つ以上の記述ファイルとして表示する（４００）。記述ファイルは、部分識別子とそれぞれのソース・トポロジまたはターゲット・トポロジの部分と関連付けられている機能性記述子とを含むデータ・オブジェクトの階層から成る。ユーザは、ソースおよびターゲット・キャラクタにおけるどのエレメントまたは部分が互いに対応するのか指示する。この指示は、ソース・キャラクタにおけるデータ・オブジェクトに標識を付け（４０２）、ターゲット・キャラクタにおけるデータ・オブジェクトに標識を付け（４０４）、前述のようにユーザ入力をタギング・モジュールに供給することによって行うことができる。ターゲットおよびソース・キャラクタ双方に標識を付けた後、コンピュータは、ソース・キャラクタの記述ファイルの標識データ・オブジェクトからターゲット・キャラクタの記述ファイルの標識データ・オブジェクトにモーションをリターゲットする（４０６）。モーションをリターゲットした後、リターゲットしたモーションをターゲット・キャラクタに添付する（４０８）。
【００２６】
これより図５を参照して、リターゲッティングの一実施形態についてここで説明する。標識部分識別子によって識別したキャラクタの部分の方位を表すベクトル・マップの集合を定義する。１つのベクトル・マップ５００は、ソース・キャラクタの対応する部分を表す。別のベクトル・マップ５０２は、ターゲット・キャラクタの対応する部分を表す。更に別のベクトル・マップ５０４を用いて、デフォルト方位における正規のトポロジの対応する部分を表すことができる。この正規の対応する部分の集合を表すベクトル・マップは、正規のトポロジを定義すると考えることができ、デフォルト方位は基準ポーズと考えることができる。ソースおよびターゲット・キャラクタの基準フレーム、ならびに正規の基準ポーズは異なる可能性があるので、これら基準フレーム間の変換を計算する。
【００２７】
一実施形態では、ユーザがグラフィカル・ユーザ・インターフェースを通じてソース・キャラクタおよびターゲット・キャラクタを同じポーズに置く。これらソースおよびターゲット・キャラクタの予めわかっている方位を仮定して、ソースおよびターゲット・キャラクタの基準フレーム間のソース対ターゲット変換５０８を、変換計算モジュール５０６によって計算する。直接リターゲッティング・モジュール５１０は、この変換、ならびにソースおよびターゲット・キャラクタの対応する部分の集合を表すベクトル・マップを用いて、標識部分識別子によって識別したソース・キャラクタの対応する部分のモーション５１２を、ターゲット・キャラクタの対応する部分にリターゲットし、リターゲット・モーション５１４を得る。
【００２８】
あるいは、ユーザは、ソース・キャラクタを、正規のトポロジに対する基準ポーズと同じポーズに置いてもよい。ソース・キャラクタの基準フレームと正規のトポロジに対する基準フレームとの間のソース対正規変換５２０を計算すればよい。この変換を、ソース・キャラクタと共に格納するとよい。正規化リターゲッティング・モジュール５２２は、この変換５２０、ならびにソース・キャラクタおよび正規のトポロジの対応する識別部分の集合を表すベクトル・マップを用いて、ソース・キャラクタの対応する識別部分のモーション５１２を、正規のトポロジにリターゲットする。
【００２９】
この実施形態では、ソース・キャラクタの構造または部分のモーション５２４の正規化した表現が得られる。この正規化したモーションは、それが対応する正規のトポロジの表現と共に、例えば、データベース５２６に格納することができる。このように、データベース５２６は、異なるキャラクタのモーションのライブラリまたはデータベースを構築し、多くの異なるターゲット・キャラクタに再利用できるようにする能力を設けることができる。このようなデータベースは、例えば、正規化モーションを選択することにより、そしてターゲット・キャラクタのトポロジを、選択した正規化モーションと関連付けられている正規のトポロジに一致させることによって使用することができる。また、データベースは、ターゲット・キャラクタの選択したエレメントを、データベースにおいて参照した正規の基準ポーズと照合し、ターゲット・キャラクタの選択したエレメントに対応するモーションを特定することによって探索することができる。
【００３０】
正規のトポロジの部分識別子の部分集合に一致させることができる部分識別子の部分集合を有するいずれのターゲット・キャラクタについても、正規化モーションを正規のトポロジからターゲット・キャラクタに移転することができる。ターゲット・キャラクタは、ユーザによってグラフィカル・ユーザ・インターフェースを通じて、正規のトポロジに対する基準ポーズと同じポーズに置かれる。ターゲット・キャラクタの基準フレームと正規のトポロジの基準フレームとの間のターゲット対正規変換５２８を計算する。この変換は、ターゲット・キャラクタと共に格納することができる。同じクラスのソース・キャラクタおよびターゲット・キャラクタの集合を想定すると、これらの変換は、キャラクタのクラス全体で方位を正規化する。間接リターゲッティング・モジュール５３０は、格納した正規化モーションｔ２４を受け取り、変換５２８、ならびにターゲット・キャラクタおよび正規のトポロジの対応する識別部分の集合を表すベクトル・マップを用いて、これを正規のトポロジからターゲット・キャラクタの識別した部分にリターゲットし、リターゲット・モーション５１４が得られる。
【００３１】
これらの実施形態では、種々の基準フレーム間の変換がわかっているのであれば、これらを計算する必要はない。
【００３２】
ここに記載するシステムの種々の構成要素は、汎用コンピュータを用いて、コンピュータ・プログラムとして実現することができる。このようなコンピュータ・システムは、通例、ユーザに情報を表示する出力デバイスと、ユーザからの入力を受ける入力デバイスの双方に接続された主ユニットを含む。主ユニットは、一般に、相互接続機構を通じてメモリ・システムに接続されているプロセッサを含む。入力デバイスおよび出力デバイスも、相互接続機構を通じて、プロセッサおよびメモリ・システムに接続されている。
【００３３】
１つ以上の出力デバイスをコンピュータ・システムに接続することもできる。出力デバイスの例には、陰極線管ディスプレイ（ＣＲＴ）、液晶ディスプレイ（ＬＣＤ）、およびその他のビデオ出力デバイス、プリンタ、モデムのような通信デバイス、ならびにディスクまたはテープのような記憶装置が含まれるが、これらに限定する訳ではない。１つ以上の入力デバイスをコンピュータ・システムに接続することもできる。入力デバイスの例には、キーボード、キーパッド、トラック・ボール、マウス、ペンおよびタブレット、通信デバイス、ならびにデータ入力デバイスが含まれるが、これらに限定する訳ではない。本発明は、コンピュータ・システムと組み合わせて用いられる特定の入力または出力デバイスにも、ここに記載したものにも限定されることはない。
【００３４】
コンピュータ・システムは、コンピュータ・プログラミング言語を用いてプログラム可能な、汎用コンピュータ・システムとすることができる。また、コンピュータ・システムは、特別にプログラムされた、特殊目的ハードウェアとすることもできる。汎用コンピュータ・システムでは、プロセッサは、通例、市販のプロセッサである。また、汎用コンピュータは、通例、オペレーティング・システムを含み、オペレーティング・システムが、他のコンピュータ・プログラムの実行を制御し、スケジューリング、デバッグ、入力／出力制御、アカウンティング、コンパイル、ストレージの割り当て、データ管理、およびメモリ管理、ならびに通信制御および関係するサービスを行う。
【００３５】
メモリ・システムは、通例、コンピュータ読み取り可能媒体を含む。この媒体は、揮発性または不揮発性、書き込み可能または書き込み不可能、および／または書き換え可能または書き換え不可能な場合がある。メモリ・システムは、通例、二進形式でデータを格納する。このようなデータは、マイクロプロセッサが実行するアプリケーション・プログラム、またはディスク上に格納されアプリケーション・プログラムが処理する情報を定義することができる。本発明は、特定のメモリ・システムに限定されることはない。
【００３６】
ここに記載するようなシステムは、ソフトウェアまたはハードウェアまたはファームウェア、あるいはこれら３つの組み合わせで実施することができる。システムの種々のエレメントは、個別であれ組み合わせであれ、コンピュータによる実行のためにコンピュータ読み取り可能媒体上にコンピュータ・プログラム命令が格納されている、１つ以上のコンピュータ・プログラム製品として実施することができる。プロセスの種々のステップは、このようなコンピュータ・プログラム命令を実行するコンピュータによって、行うことができる。コンピュータ・システムは、マルチプロセッサ・コンピュータ・システムでもよく、あるいはコンピュータ・ネットワークを通じて接続されている多数のコンピュータを含むこともできる。図１に示した構成要素は、コンピュータ・プログラムの別個のモジュールでもよく、または別個のコンピュータ上で動作可能な、別個のコンピュータ・プログラムでもよい。これらの構成要素によって生成されるデータは、メモリ・システムに格納するか、またはコンピュータ・システム間で送信することができる。
【００３７】
以上実施形態の一例について説明したが、前述したことは単なる例示であり限定ではなく、一例として提示したにすぎないことは、当業者には明白なはずである。多数の変更やその他の実施形態も、当技術分野における通常技術の１つの範囲内にあり、本発明の範囲内に該当するものとする。
【図面の簡単な説明】
【００３８】
【図１】図１は、ソース・キャラクタからターゲット・キャラクタにモーションを移転するシステムの一実施形態のデータ・フロー図である。
【図２】図２は、ソースおよびターゲット動画キャラクタの一方が骨格構造を有していない場合のキャラクタの図である。
【図３】図３は、ソースおよびターゲット動画キャラクタの一方が二脚クラスであり、他方のキャラクタが四脚クラスである場合のキャラクタの図である。
【図４】図４は、ソース・キャラクタからターゲット・キャラクタへのモーション移転のワークフローの一実施形態を記述するフロー・チャートである。
【図５】図５は、モーション・リターゲッティングの一実施形態を記述するデータ・フロー図である。
【符号の説明】
【００３９】
１００  ソース・キャラクタ
１０２  トポロジ  
１０４  モーション
１０７  タギング・モジュール    
１０８  記述ファイル
１０９  タギング・モジュール    
１２０  キャラクタ
１２１  リターゲッティング・モジュール
１２５  ソース・キャラクタ
１２８  二脚キャラクタ
１３４  四脚キャラクタ
１４０  リターゲット・モーション
１５０  ターゲット・キャラクタ    
１５２  トポロジ
【図１】
2008052726.tif 000004
【図２】
2008052726.tif 000005
【図３】
2008052726.tif 000006
【図４】
2008052726.tif 000007
【図５】
2008052726.tif 000008
【外国語明細書】
2008052726000001.pdf