(57)【要約】【課題】  コンピュータの処理資源を効率的に用いて、システムの対話式編集または再生をサポートするシステムの能力を高める。【解決手段】  三次元アニメーションを表すオペレータ・グラフを分析し、オペレータ・グラフの内、オペレータが直列的に動作する必要がないサブグラフを特定可能とする。この条件が生ずる可能性があるのは、例えば、２つのオペレータが互いにデータに対して依存しない場合である。この条件は、オペレータが場面における異なるエレメント上で動作しているときに生ずる可能性がある。このようなオペレータは並列に評価することができる。これらのオペレータを特定するために、依存性グラフを作成する。依存性グラフは、どのオペレータの入力が、他のオペレータが供給する出力に依存するかを示す。このグラフを用いると、互いに独立しているオペレータを容易に特定することができる。これらのオペレータは、並列に評価することができる。【選択図】      図１
2008033941.tif 000002
【特許請求の範囲】
【請求項１】
オペレータのグラフによって定義したキャラクタ・アニメーションの処理方法であって、
三次元アニメーションを表すオペレータ・グラフを受け取るステップと、
前記オペレータ・グラフの内、第１オペレータへの入力が第２オペレータの出力から独立しているサブグラフを特定するステップと、
前記第１オペレータおよび前記第２オペレータを並列に評価するステップと、
を備えている、方法。
【請求項２】
請求項１記載の方法であって、更に、
前記オペレータ・グラフの内、第１オペレータが書き込むデータを用いる第２オペレータが、前記第１オペレータが前記データの処理を完了する前に、前記第１オペレータが書き込む前記データを処理し始めることができるサブグラフを特定するステップと、
前記特定したサブグラフ内において、前記第１および第２オペレータをパイプライン状に評価するステップと、
を備えている、方法。
【請求項３】
請求項２記載の方法であって、更に、
前記データの異なるセグメントに対する並列評価のため、特定したサブグラフの複数のインスタンシエーションを作成するステップを備えている、方法。
【請求項４】
請求項１記載の方法であって、更に、オペレータ・グラフが、ユーザが定義する場面に対する変化に応答して変化する場合にのみ、各サブグラフに割り当てられるメモリ領域が変化するように、特定した各サブグラフに関連したメモリを管理するステップを備えている、方法。
【請求項５】
請求項４記載の方法において、メモリを管理するステップは、前記ユーザが定義した前記場面に対する変化による前記オペレータ・グラフの変化に応答する場合を除いて、実行までのレイテンシ時間を短縮するように、サブグラフと、該サブグラフに対する関連したメモリとを不変に、かつ実行の準備を整えて維持することを含む、方法。
【請求項６】
オペレータのグラフによって定義したキャラクタ・アニメーションの処理方法であって、
三次元アニメーションを表すオペレータ・グラフを受け取るステップと、
前記オペレータ・グラフの内、第１オペレータが書き込むデータを用いる第２オペレータが、前記第１オペレータが前記データの処理を完了する前に、前記第１オペレータが書き込む前記データを処理し始めることができるサブグラフを特定するステップと、
前記特定したサブグラフ内において、前記第１および第２オペレータをパイプライン状に評価するステップと、
を備えている、方法。
【請求項７】
請求項６記載の方法であって、更に、
前記データの異なるセグメントに対する並列評価のため、特定したサブグラフの複数のインスタンシエーションを作成するステップを備えている、方法。
【請求項８】
請求項７記載の方法であって、更に、前記オペレータ・グラフが、ユーザが定義する場面に対する変化に応答して変化する場合にのみ、各サブグラフに割り当てられるメモリ領域が変化するように、特定した各サブグラフに関連したメモリを管理するステップを備えている、方法。
【請求項９】
請求項８記載の方法において、メモリを管理するステップは、前記ユーザが定義した前記場面に対する変化による前記オペレータ・グラフの変化に応答する場合を除いて、実行までのレイテンシ時間を短縮するように、サブグラフと、該サブグラフに対する関連したメモリとを不変に、かつ実行の準備を整えて維持することを含む、方法。
【請求項１０】
コンピュータ・プログラム製品であって、
コンピュータ読み取り可能媒体と、
前記コンピュータ読み取り可能媒体上に格納され、コンピュータによって実行されると、オペレータのグラフによって定義したキャラクタ・アニメーションの処理方法を前記コンピュータに実行させるコンピュータ・プログラム命令と、
を備えており、前記方法が、
三次元アニメーションを表すオペレータ・グラフを受け取るステップと、
前記オペレータ・グラフの内、第１オペレータへの入力が第２オペレータの出力から独立しているサブグラフを特定するステップと、
前記第１オペレータおよび前記第２オペレータを並列に評価するステップと、
を備えている、コンピュータ・プログラム製品。
【請求項１１】
請求項１０記載の方法であって、更に、
前記オペレータ・グラフの内、第１オペレータが書き込むデータを用いる第２オペレータが、前記第１オペレータが前記データの処理を完了する前に、前記第１オペレータが書き込む前記データを処理し始めることができるサブグラフを特定するステップと、
前記特定したサブグラフ内において、前記第１および第２オペレータをパイプライン状に評価するステップと、
を備えている、方法。
【請求項１２】
請求項１１記載の方法であって、更に、
前記データの異なるセグメントに対する並列評価のため、特定したサブグラフの複数のインスタンシエーションを作成するステップを備えている、方法。
【請求項１３】
請求項１０記載の方法であって、更に、オペレータ・グラフが、ユーザが定義する場面に対する変化に応答して変化する場合にのみ、各サブグラフに割り当てられるメモリ領域が変化するように、特定した各サブグラフに関連したメモリを管理するステップを備えている、方法。
【請求項１４】
請求項１３記載の方法において、メモリを管理するステップは、前記ユーザが定義した前記場面に対する変化による前記オペレータ・グラフの変化に応答する場合を除いて、実行までのレイテンシ時間を短縮するように、サブグラフと、該サブグラフに対する関連したメモリとを不変に、かつ実行の準備を整えて維持することを含む、方法。    
【請求項１５】
コンピュータ・プログラム製品であって、
コンピュータ読み取り可能媒体と、
前記コンピュータ読み取り可能媒体上に格納され、コンピュータによって実行されると、オペレータのグラフによって定義したキャラクタ・アニメーションの処理方法を前記コンピュータに実行させるコンピュータ・プログラム命令と、
を備えており、前記方法が、
三次元アニメーションを表すオペレータ・グラフを受け取るステップと、
前記オペレータ・グラフの内、第１オペレータが書き込むデータを用いる第２オペレータが、前記第１オペレータが前記データの処理を完了する前に、前記第１オペレータが書き込む前記データを処理し始めることができるサブグラフを特定するステップと、
前記特定したサブグラフ内において、前記第１および第２オペレータをパイプライン状に評価するステップと、
を備えている、方法。
【請求項１６】
請求項１５記載の方法であって、更に、
前記データの異なるセグメントに対する並列評価のため、特定したサブグラフの複数のインスタンシエーションを作成するステップを備えている、方法。
【請求項１７】
請求項１６記載の方法であって、更に、オペレータ・グラフが、ユーザが定義する場面に対する変化に応答して変化する場合にのみ、各サブグラフに割り当てられるメモリ領域が変化するように、特定した各サブグラフに関連したメモリを管理するステップを備えている、方法。
【請求項１８】
請求項１７記載の方法において、メモリを管理するステップは、前記ユーザが定義した前記場面に対する変化による前記オペレータ・グラフの変化に応答する場合を除いて、実行までのレイテンシ時間を短縮するように、サブグラフと、該サブグラフに対する関連したメモリとを不変に、かつ実行の準備を整えて維持することを含む、方法。
【請求項１９】
オペレータのグラフによって定義したキャラクタ・アニメーションの処理方法であって、前記オペレータのグラフは、ユーザが編集している場面を表し、
三次元アニメーションを表すオペレータ・グラフを受け取るステップと、
前記オペレータ・グラフの内、第１オペレータへの入力が第２オペレータの出力から独立しているサブグラフを特定するステップと、
表示データをユーザに供給するために、前記第１オペレータおよび前記第２オペレータを並列に評価するステップと、
前記ユーザによる前記場面に対する変化による前記オペレータ・グラフに対する変化に応答して、前記受け取るステップ、前記特定するステップ、および前記変化したオペレータ・グラフを用いて評価するステップを繰り返すステップと、
を備えている、方法。
【発明の詳細な説明】
【技術分野】
【０００１】
三次元コンピュータ発生アニメーションを作成する際、１つ以上のオブジェクトがある場面を定義するのが通例である。オブジェクトは、スケルトンおよび付随するメッシュ、ＮＵＲＢＳ面、粒子等を用いるように、多数の方法で定義することができる。各オブジェクトの位置、方位、スケール、および／またはその他の特性を、時間の流れに合わせて動画で表現することができる。また、各オブジェクトの表面には、シェーディングまたはレンダリングと呼ばれるプロセスによって、模様を付けてオブジェクトが実物に見えるようにすることもできる。場面の複雑さは、オブジェクトの数、各オブジェクトの複雑さ、およびアニメーションの複雑さによって様々に変化する可能性がある。多数の異なる動作を用いて、様々な異なるタイプの入力場面データを処理して、三次元コンテンツを編集したり、あるいは三次元場面のビューを表す二次元画像（またはそのような画像のシーケンス）を生成する。
【背景技術】
【０００２】
三次元コンピュータ発生アニメーションのオーサリング・システムでは、殆どがオペレータ・グラフの一形式を用いて場面を定義する動作の組み合わせを表す。オペレータ・グラフにおける各ノードは、データ上の動作を表す。オペレータは、場面を定義するいずれのパラメータでも変化させることができる。ノードは、コンピュータ・プログラムの明示的にコード化した機能として実装する動作を表すことができ、あるいは別のオペレータ・グラフによって定義した動作を表すことができる。
【０００３】
これらのオペレータ・グラフは、種々のタイプの三次元データを用いて場面を作成できるように設計されており、三次元データには、ＮＵＲＢＳ面、メッシュ、粒子、スケルトン、特性、制約等を含むが、これらに限定されるのではない。言い換えると、各オペレータは、他のオペレータとは異なる種類のデータ上で動作することができる。オペレータの中には、他のオペレータよりも複雑なものもある。例えば、あるオペレータは単純な変形を実行し、一方他のオペレータは三次元データ間の複雑な制約を定義するという場合もある。その結果、オペレータ・グラフにおける各動作は、通例、他の動作とは独立して行われるが、しかしながら、各動作は、通例、当該動作に可能な並列処理(parallelism)であればいずれでも利用するように実装されている。
【０００４】
したがって、アニメーションを表示するために必要な処理資源は膨大となる。しなしながら、対話式編集には、再生とは異なる要望がある。即ち、編集ツールの方が柔軟性のあるデータを表すので、幾何学的要素の追加、除去および／または修正というような、オペレータ・グラフを修正する対話式変化が可能であるが、再生はデータをメモリにキャッシュし最適化して、視認プロセスによって高速な読み取りアクセスを可能とし、更に効率的な再生のためにオペレータ・グラフのコンパイルを伴うこともある。その結果、編集ツールおよび再生システムは、別々にデータをメモリに配列し、オペレータ・グラフを処理することになる。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
コンピュータ・アーキテクチャが発展した結果、コンピュータが一層強力となり、１つ以上の中央演算装置（ＣＰＵ）、および／または１つ以上のグラフィック処理装置（ＧＰＵ）、および／または１つ以上の物理的処理装置（ＰＰＵ）、および／または１つ以上のセル・プロセッサ（マルチ・コアＣＰＵ）を含む、多くのプロセッサを有するようになった。これらの処理資源はシステムの対話式編集または再生をサポートするシステムの能力を高めるが、これらの資源を効率的に用いることが課題となっている。
【課題を解決するための手段】
【０００６】
三次元アニメーションを表すオペレータ・グラフを分析し、オペレータ・グラフの内、オペレータが直列的に動作する必要がないサブグラフを特定可能とする。このような条件が生ずる可能性があるのは、例えば、２つのオペレータが互いにデータに対して依存しない場合である。この条件は、オペレータが場面における異なるエレメント上で動作しているときに生ずる可能性がある。このようなオペレータは並列に評価することができる。これらのオペレータを特定するために、依存性グラフを作成する。依存性グラフは、どのオペレータの入力が、他のオペレータが供給する出力に依存するかを示す。このグラフを用いると、互いに独立しているオペレータを容易に特定することができる。これらのオペレータは、並列に評価することができる。三次元アニメーション、またはオペレータ・グラフの分析のような、その他のリッチ・メディア(rich media)の対話式編集システムでは、このようなオペレータ・グラフの分析は、アニメーションを変更するときに行われる。依存性グラフの作成および使用によって、場面を変化させつつ、場面の処理高速化が可能となる。
【０００７】
直列化を必要としない他の条件が生ずるのは、例えば、第１オペレータが書いたデータを用いる第２オペレータが、当該第１オペレータが書いたデータを処理し始めることができ、その後にこのデータ処理を第１オペレータが完了する場合である。通例、この条件が生ずるのは、オペレータが同質データ上で動作し、空間変位のような単純な操作を実行するときである。このようなオペレータは、パイプライン状に評価することができ、計算を直列化しなければならない同期点がない。サブグラフのオペレータの多数のインスタンシエーションによっても、データの異なるセグメント上でサブグラフの並列評価が可能となる。
【０００８】
この並列パイプライン動作が可能なのは、アニメーション・オペレータの大部分が、明示的な幾何学的データの動画化した変形であるからである。明示データとは、メッシュ、粒子、またはポイント・クラウド(point cloud)、ＮＵＲＢＳ、骨等のような幾何学的オブジェクトの点または頂点である。このデータの均一性およびこれらの動作における依存性抑制が並列パイプライン処理を可能にする。各動作は、纏まった量のデータ上で内部的に動作することができ、並行処理が可能となる。動作の連鎖において、１つの動作は、通例、データ全ての処理を完了するために、以前の動作を待つ必要がなく、パイプライン動作が可能となる。このように、オペレータを連結して、各オペレータの終了時に同期を取る必要がないオペレータ・シーケンスを生成し、これらの計算を直列化する。
【発明を実施するための最良の形態】
【０００９】
これより図１を参照して、オペレータ・グラフの一例についてここで説明する。このオペレータ・グラフでは、明確化のためにデータも示されている。オペレータ・グラフは、通例、場面要素（メッシュ、骨、粒子等）、パラメータ（位置、角度等）、およびオペレータを含む。オペレータは、パラメータおよびその他の場面要素の値を取り込み、ある種の数学的または幾何学的動作を、オペレータに応じて、実行することにより、場面要素を作成または修正する。オペレータ・グラフの一部は暗示的にそのデータをグラフに対するソース・データとして表し、データがグラフにおけるノードとはならないようにする。
【００１０】
図１において、２つの場面要素１００および１０２が設けられている。各々はポリゴン・メッシュである。並進量（パラメータ）１０４も設けられている。これらのデータは、並進オペレータ１０６への入力である。並進オペレータは、メッシュ１００および１０２をそれぞれ並進パラメータだけ並進させることによって、第１並進ポリゴン・メッシュ１００’および第２並進ポリゴン・メッシュ１０２’を生成する。計算した変形パラメータ１０８および並進ポリゴン・メッシュ１００’は、変形オペレータへの入力であり、変形パラメータ１１０は変形ポリゴン・メッシュ１１２をその出力として生成する。同様に、計算した変形パラメータ１１４および並進ポリゴン・メッシュ１０２’は、変形オペレータ１１６への入力であり、変形オペレータ１１６は、変形ポリゴン・メッシュ１１８をその出力として生成する。このオペレータ・グラフが記述する場面では、２つのオブジェクトが同量だけ並進するが、別個に変形する。オペレータ・グラフにおいて、矢印のある線がオペレータから出ているが、これは書き込み動作を意味する。
【００１１】
図１のオペレータ・グラフを用いると、変形オペレータ１１０のようなオペレータは、コンピュータ・プログラムにおける単一の関数として実装できることがわかる。また、このオペレータ自体が、オペレータ・グラフによって定義されるオペレータの組み合わせを表すことも可能である。このように、オペレータ・グラフは、数段のネスティング「レベル」を有することができ、最上位レベルでは、オペレータ・グラフが実行する動作の内最も抽象的なビュー(view)を表す。一方、各ノードは、オペレータ・グラフによって表すことができる。これらネスティングしたオペレータ・グラフは、最上位レベルのオペレータ・グラフよりも「下」のレベルにあると考えることができる。
【００１２】
オペレータ・グラフを処理するために、各オペレータは直列化または同期を必要とすると仮定する。即ち、各オペレータは、その入力データ全ての処理を完了し、その出力データの全てを書き込んだ後でないと、グラフにおける次のオペレータはその出力データを読み取ることができないと仮定する。これらのサブグラフを識別するためにグラフを横断する(traverse)と、データおよび動作の特質により、サブグラフにおいては、この制限が取り払われて、パイプライン即ち並列動作が可能となる。簡素化の１つでは、オペレータ・グラフの最上位レベルにあるオペレータ・グラフにおける各ノードを直列に評価する。他のオペレータ・グラフによって定義されているノードを処理して、その評価を並列化またはパイプライン化する方法を見出すことができる。
【００１３】
グラフを分析するために、オペレータが実行する書き込み動作を用いて依存性グラフを作成する。即ち、オペレータ・グラフの出力から開始して、グラフを横断して、オペレータ毎に、実行する各動作が、データを作成するのかまたは修正するのか識別する。この書き込み動作は、依存性グラフにおけるノードである。オペレータ・グラフを横断することにより、この書き込み動作の結果を用いる他のオペレータを識別し、依存性グラフにおけるこのノードに接続する。即ち、オペレータがその書き込みを実行するために読み込む入力全て（パラメータおよびその他の場面要素）を特定する。他のオペレータからの１回以上の書き込みが見つかるまで、これらの入力の各々をオペレータ・グラフ全域にわたって辿っていく。これらの書き込みは、オペレータが依存する書き込みである。１つのオペレータが多数の場面要素を書き込むことは可能である。一般にオペレータを多数回並列に走らせることはできないので、所与のオペレータの書き込み全ては順次互いに依存し合う。つまり、２回目の書き込みは最初の書き込みに依存し、３回目の書き込みは２回目の書き込みに依存する等となる。多数の書き込みがあるオペレータでは、各書き込みは、特定の書き込みを実行するために実際に用いる入力のみに依存する。オペレータ・グラフの中にループがある場合、即ち、２つのオペレータの入力が互いの書き込みに依存する場合、依存性グラフを構築するときにこれらのループは壊される。具体的には、依存性グラフを構築するとき、オペレータ・グラフを横断している間、各ノードを訪問する毎にそれに印を付ける。このグラフの１つの経路に沿って進む横断は、オペレータ・グラフにおいて既に訪問したノードに達したときに終了する。
【００１４】
図１に対応する依存性グラフを図２に示す。このグラフでは、矢印は「依存する」ことを意味する。つまり、変形オペレータ１１０が実行する書き込み動作２００は、並進オペレータ１０６が実行する書き込み動作２０２に依存する。並進オペレータ１０６からの書き込み動作２０２は、並進オペレータ１０６が他のメッシュを最初に処理し書き込んだ（２０４）後でなければ、行うことはできない。このように、書き込み動作２０２は書き込み動作２０４に依存する。他の変形オペレータ１１６からの書き込み動作２０６も、書き込み動作２０４の完了に依存する。
【００１５】
依存性グラフを構築した後であれば、次々に動作を実行することができる。最初に、書き込み動作２０２を実行する。次いで、書き込み動作２０４および２００を並列に実行することができる。書き込み動作２０４が終了すると、書き込み２００が未だ終了していなくても、書き込み動作２０６を直ぐに開始することができる。一旦書き込み動作２０６および書き込み動作２００の双方が終了したなら、処理は完了する。
【００１６】
依存性グラフのいずれの部分でも、依存性がなければ、並列に実行することができる。一般に、１つの動作が、終了している他の２つの動作に依存する場合、当該動作が依存する２つの動作は並列に実行し、何らかの同期を取って、双方の動作が完了していることを確実に確かめる。この種の同期は、少なくとも、２つの動作を実行する２つのプロセッサの内部キャッシュを同期させなければならず、そうしなければ得られた性能の向上が事実上帳消しになってしまうので、大きな犠牲を伴う。しかしながら、ある動作が、完了している別の１つの動作のみに依存する場合、同期は必要ない。何故なら、２番目の動作は、単に、同じプロセッサの最初の動作の後に実行するだけであるからである。
【００１７】
場合によっては、オペレータは、後続のオペレータがその出力を処理し始めることができるようにデータを書き込むことができ、したがって、これらのオペレータはパイプライン状にデータを評価し、計算を直列化するために同期点を必要としないこともある。例えば、このような１つの動作が内部でパイプライン状になって、包み込んでいる(enveloping)ことにより、ポリゴン・メッシュが、スケルトンにおける骨の位置に基づいて変形する。メッシュ上の各点は、他のあらゆる点とも独立して位置決めし直すことができる。これは費用がかかるものの非常に普及している動作であるので、内部パイプライニングを用いて、エンベロッピング・オペレータ(enveloping operator)を実装することもできる。
【００１８】
これらのプロセスを想定し、独立した要素の互換性がある集合上で作用するオペレータを接続して構成したサブグラフを特定する。これらのサブグラフは、事実上併合し、依存性グラフにおいては１つのメタ・オペレータとして扱うことができ、併合したオペレータの読み取りおよび書き込み依存性をメタ・オペレータに割り当てる。このメタ・ノードは、内部的に多数の並列動作を管理することができるものとして識別される。
【００１９】
三次元アニメーションまたはその他のリッチ・メディア用の対話式編集システムでは、オペレータ・グラフのこのような分析を行うのは、アニメーションおよび三次元データ・コンテンツを変更するときである。対話式編集の間に依存性グラフを動的に作成し使用することによって、独立したサブグラフが動的に更新されるので、場面を変化させつつ、当該場面の処理を高速化することができる。
【００２０】
各サブグラフを並列に評価し、それ自体のメモリを管理する。各サブグラフに割り当てられるメモリ領域は、当該サブグラフが場面変化によって変化するまでは、変わらない。サブグラフおよびキャッシュは不変量であり、割り当てのためにオペレーティング・システムに戻る必要なく、実行の準備ができているので、演算装置に整列する時間を短縮する。
【００２１】
ここに記載するシステムの種々の構成要素は、汎用コンピュータを用いて、コンピュータ・プログラムとして実現することができる。このようなコンピュータ・システムは、通例、ユーザに情報を表示する出力デバイスと、ユーザからの入力を受ける入力デバイスの双方に接続された主ユニットを含む。主ユニットは、一般に、相互接続機構を通じてメモリ・システムに接続されているプロセッサを含む。入力デバイスおよび出力デバイスも、相互接続機構を通じて、プロセッサおよびメモリ・システムに接続されている。
【００２２】
１つ以上の出力デバイスをコンピュータ・システムに接続することもできる。出力デバイスの例には、陰極線管ディスプレイ（ＣＲＴ）、液晶ディスプレイ（ＬＣＤ）、およびその他のビデオ出力デバイス、プリンタ、モデムのような通信デバイス、ならびにディスクまたはテープのような記憶装置が含まれるが、これらに限定する訳ではない。１つ以上の入力デバイスをコンピュータ・システムに接続することもできる。入力デバイスの例には、キーボード、キーパッド、トラック・ボール、マウス、ペンおよびタブレット、通信デバイス、ならびにデータ入力デバイスが含まれるが、これらに限定する訳ではない。本発明は、コンピュータ・システムと組み合わせて用いられる特定の入力または出力デバイスにも、ここに記載したものにも限定されることはない。
【００２３】
コンピュータ・システムは、コンピュータ・プログラミング言語を用いてプログラム可能な、汎用コンピュータ・システムとすることができる。また、コンピュータ・システムは、特別にプログラムされた、特殊目的ハードウェアとすることもできる。汎用コンピュータ・システムでは、プロセッサは、通例、市販のプロセッサである。また、汎用コンピュータは、通例、オペレーティング・システムを含み、オペレーティング・システムが、他のコンピュータ・プログラムの実行を制御し、スケジューリング、デバッグ、入力／出力制御、アカウンティング、コンパイル、ストレージの割り当て、データ管理、およびメモリ管理、ならびに通信制御および関係するサービスを行う。
【００２４】
メモリ・システムは、通例、コンピュータ読み取り可能媒体を含む。この媒体は、揮発性または不揮発性、書き込み可能または書き込み不可能、および／または書き換え可能または書き換え不可能な場合がある。メモリ・システムは、通例、二進形式でデータを格納する。このようなデータは、マイクロプロセッサが実行するアプリケーション・プログラム、またはディスク上に格納されアプリケーション・プログラムが処理する情報を定義することができる。本発明は、特定のメモリ・システムに限定されることはない。
【００２５】
ここに記載するようなシステムは、ソフトウェアまたはハードウェアまたはファームウェア、あるいはこれら３つの組み合わせで実施することができる。システムの種々のエレメントは、個別であれ組み合わせであれ、コンピュータによる実行のためにコンピュータ読み取り可能媒体上にコンピュータ・プログラム命令が格納されている、１つ以上のコンピュータ・プログラム製品として実施することができる。プロセスの種々のステップは、このようなコンピュータ・プログラム命令を実行するコンピュータによって、行うことができる。コンピュータ・システムは、マルチプロセッサ・コンピュータ・システムでもよく、あるいはコンピュータ・ネットワークを通じて接続されている多数のコンピュータを含むこともできる。本発明は、コンピュータ・プログラムの別個のモジュールを用いて実施することもでき、または別個のコンピュータ上で動作可能な、別個のコンピュータ・プログラムでもよい。これらの構成要素によって生成されるデータは、メモリ・システムに格納するか、またはコンピュータ・システム間で送信することができる。
【００２６】
以上実施形態の一例について説明したが、前述したことは単なる例示であり限定ではなく、一例として提示したにすぎないことは、当業者には明白なはずである。多数の変更やその他の実施形態も、当技術分野における通常技術の１つの範囲内にあり、本発明の範囲内に該当するものとする。
【図面の簡単な説明】
【００２７】
【図１】図１は、アニメーションを作成するために適用する処理を表すオペレータ・グラフの図である。
【図２】図２は、オペレータ・グラフの分析から発生する依存性グラフの図である。
【符号の説明】
【００２８】
１００    元のポリゴン・メッシュ１
１００’  並進ポリゴン・メッシュ１
１０２    元のポリゴン・メッシュ２
１０２’  並進ポリゴン・メッシュ２
１０４    並進量
１０６    並進オペレータ
１０８    計算した変形パラメータ１
１１０    変形オペレータ１
１１２    変形ポリゴン・メッシュ１
１１４    計算した変形パラメータ２
１１６    変形オペレータ２
１１８    変形ポリゴン・メッシュ
【図１】
2008033941.tif 000003
【図２】
2008033941.tif 000004
【外国語明細書】
2008033941000001.pdf