JP2007531928A - 改良された動的シーン・ディスクリプタの方法と装置 - Google Patents

改良された動的シーン・ディスクリプタの方法と装置 Download PDF

Info

Publication number
JP2007531928A
JP2007531928A JP2006549751A JP2006549751A JP2007531928A JP 2007531928 A JP2007531928 A JP 2007531928A JP 2006549751 A JP2006549751 A JP 2006549751A JP 2006549751 A JP2006549751 A JP 2006549751A JP 2007531928 A JP2007531928 A JP 2007531928A
Authority
JP
Japan
Prior art keywords
selection
representation
rendering
animation
frame
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2006549751A
Other languages
English (en)
Other versions
JP4559439B2 (ja
Inventor
ピーチー,ダーウィン
Original Assignee
ピクサー
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ピクサー filed Critical ピクサー
Publication of JP2007531928A publication Critical patent/JP2007531928A/ja
Application granted granted Critical
Publication of JP4559439B2 publication Critical patent/JP4559439B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/005General purpose rendering architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/16Indexing scheme for image data processing or generation, in general involving adaptation to the client's capabilities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/61Scene description
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2213/00Indexing scheme for animation
    • G06T2213/04Animation description language

Abstract

アニメーションのフレームのレンダリングを行う方法が、アニメーションのフレームに関連付けされるシーン・ディスクリプタ・データを検索すること(220)を含み、その際、シーン・ディスクリプタ・データが少なくとも1つのオブジェクトを指定し、オブジェクトが当該オブジェクトの第1の表現に対する参照に関連付けされ(230)、かつオブジェクトの第1の表現が第1のレンダリング・オプションに関連付けされるものとし(210)、さらにこの方法は、第1のレンダリング・オプションまたは第2のレンダリング・オプションの選択を受け取ること(240)、その選択が第1のレンダリング・オプションの選択であるとき、オブジェクトの第1の表現をコンピュータ・メモリ内にロードすること(250)、選択が第1のレンダリング・オプションの選択であるとき、オブジェクトの第1の表現を使用してアニメーションのフレームのためにオブジェクトのレンダリングを行うことを含み、それにおいて選択が第2のレンダリング・オプションの選択であるときには、オブジェクトの第1の表現がコンピュータ・メモリ内にロードされない(260)。
【選択図】図2A

Description

本発明は、コンピュータ・アニメーションに関する。より詳細に述べれば、本発明は、複雑なシーンの処理におけるメモリ効率と時間効率のためのテクニックと装置に関する。
ここ数年にわたり、映画製作者は、しばしば空想上の生き物、現実離れした場所、幻想的な物を巻き込む物語りの製作を試みている。それを行う上で映画製作者は、しばしばアニメーション・テクニックを頼り、空想に『命』を与えている。伝統的にアニメーションにおける主要なアプローチには、ドローイング‐ベースのアニメーション・テクニックとストップ・モーション・アニメーション・テクニックの2つがある。
ドローイング‐ベースのアニメーション・テクニックは、20世紀にウォルト・ディズニー等の映画製作者によって磨かれ、『白雪姫』や『ファンタジア』(1940年)等の映画に使用された。このアニメーション・テクニックでは、通常、アーティストたちが透明メディアまたはセル上にアニメーション・イメージを手書き(ペイント)することが必要であった。ペイントの後は、映画の中の1ないしは複数のフレームとして各セルがフィルム上に取り込まれ、すなわち記録される。
ストップ・モーション‐ベースのアニメーション・テクニックは、通常、ミニチュア・セットの組み立て、プロップ、キャラクタを必要とする。映画製作者は、セットを組み立て、プロップを追加し、ミニチュア・キャラクタにポーズを取らせる。アニメータは、すべての配列に満足すると、その特定の配列を用いてフィルムの1ないしは複数のフレームを撮影する。ストップ・モーション・アニメーション・テクニックは、ウィリス・オブライアンとうの映画製作者によって、『キングコング』(1933年)等の映画のために開発された。その後、これらのテクニックは、レイ・ハリーハウゼン等のアニメータによって『猿人ジョー・ヤング』(1948年)や『タイタンの戦い』(1981年)を含む映画のために磨き上げられた。
20世紀後半にコンピュータの可用性が行き渡るとアニメータは、アニメーション・プロセスにおける補助をコンピュータに頼るようになった。これには、コンピュータを使用し、たとえばイメージのペイントによって、あるいはイメージ間イメージング(『トゥイーニング)』等によってドローイング‐ベースのアニメーションを容易にすることが含まれる。またこれには、コンピュータを使用してストップ・モーション・アニメーション・テクニックを増大させることも含まれる。たとえば、コンピュータ・メモリ内の仮想モデルによって物理モデルを表現し、操作することができる。
コンピュータ援用アニメーション(computer aided animation:CAA)業界におけるパイオニア企業の1つはピクサー(Pixar)であった。ピクサーは、CAA用に特別に設計されたコンピューティング・プラットフォームや、現在はRenderMan(登録商標)として知られるアニメーション・ソフトウエアをともに開発した。RenderMan(登録商標)は、アニメーション業界に特に良好に受け入れられ、2つのアカデミー賞(Academy Awards(登録商標))を受賞している。それらの賞の一方は、本件特許出願の発明者が受賞し、他方は科学技術功労賞(Scientific And Engineering Achievement Award(登録商標)(1992年)を受賞している。
RenderMan(登録商標)ソフトウエアは、オブジェクトのグラフィック仕様を変換し、1ないしは複数のイメージへそれらを変換するために使用される。このテクニックは、この業界でレンダリングとして知られる。レンダリング・プロセスの1つの特定の部分が、レンダリングされることになるオブジェクトのグラフィック仕様である。オブジェクトは、イメージ内の幾何学オブジェクト、照明オブジェクト、カメラ・オブジェクト等と呼ぶこともある。このプロセスにおいては、オブジェクトは、あらかじめ定義され、かつあらかじめ指定されたり、手続きテクニックによって定義されたり、これらのテクニックの組み合わせによって定義されることがある。
通常、レンダリングされることになるシーンは、1ないしは複数のアニメータによって指定される(アッセンブルされる)。これらのシーンには、オブジェクト、カメラ・アングル、照明源等々の記述が含まれる。シーンが定義されると、シーン・データがストアされ、かつ/またはシーンがレンダリングされる。その後アニメータは、結果として得られるイメージを見ることができる。レンダリング後のイメージにアニメータが満足しないときには、アニメータがシーン・データの再指定を行い、処理が繰り返される。
上記のテクニックの欠点としては、一般的なシーンには非常に多くのオブジェクトがあり、通常はそれぞれが、アニメータによって設定できる、あるいは設定されなければならない非常に多くのパラメータを有することが挙げられる。したがって、完全なシーンを記述するシーン・データ・ファイル(シーン・ディスクリプタ・ファイルとしても知られる)が一般に非常に大きく(ギガバイト)なる。典型的なシーン・ディスクリプタ・ファイルのサイズが通常大きくなるので、アニメータのコンピュータは充分な量のメモリを有していなければならない。別の欠点としては、シーン・ディスクリプタ・ファイルが一般に大きくなることから、通常、アニメータは、メモリからディスクリプタ・ファイルが再試行される間、待っていなければならない。それに加えて、シーン・ディスクリプタ・ファイルが一般に大きいので、通常、アニメータは、シーンがレンダリングされる間、待っていなければならない。
これらに照らして考えると、今必要とされているものは、アニメータが上記の欠点を伴うことなくシーンを指定する改善されたテクニックである。
本発明は、コンピュータ・アニメーションに関する。より詳細に述べれば、本発明は、コンピュータ・アニメーション用のシーン・データを指定するための改善された方法に関する。本発明の発明者は、異なるアニメータが異なる目的のためにシーンのイメージのレンダリングを行うことを認識した。それに加えて発明者は、シーンのレンダリングを行うとき、それぞれのアニメータにとってシーンのすべての要素が重要となるわけではないことを認識した。一例を挙げれば、あるアニメータがシーン内の照明の位置または質、たとえばオブジェクトの色、テクスチャ、シェーディング等に関心を持っているとき、そのシーン内においてオブジェクトの詳細がどのように表現されるかということについて、そのアニメータが必ずしも関心を持たないこともあり得る。別の例を挙げれば、アニメータは、シーン内のオブジェクトのアニメーションに関心を有しているが、シーン内のオブジェクトの照明またはシェーディングに必ずしも関心を有していないこともある。さらに別の例を挙げれば、アニメータは、シーン内のオブジェクトのレイアウトに関心を有しているが、そのシーン内において詳細なオブジェクトがどのように現れるかについて必ずしも関心を持っていないことがある。さらにまた別の例を挙げれば、アニメータは、シーン内のセットのドレッシングに関心を有するが、必ずしもシーン内のオブジェクトのアニメーションに関心を持っていないことがある。
これらのことを考慮し、本発明の発明者は、シーン・ディスクリプタ・ファイルを組織化するための方法を開発した。より詳細に述べれば、発明者は、オブジェクトの1を超える数のモデル、またはシーン・ディスクリプタ・ファイル内のパラメータを指定する方法を開発した。この出願に記述されている方法は、アニメータが、アニメーション目的に適したオブジェクトのためのモデルを動的に選択することを可能にする。一実施態様においては、選択されるモデルまたは選択されるパラメータのセットが、1ないしは複数の別々のファイルに対するポインタを介して参照される。適切なモデルだけを選択することによって、コンピュータ・メモリ内にロードされるシーンの量が低減され、レンダリングのために必要な時間もまた短縮することができる。
別の実施態様においては、オブジェクトのモデルのためのパラメータを、全フィーチャーについてグローバルに1度で指定することができるが、フィーチャー内の特定のシーケンスについてパラメータがオーバライドされる。それに加えて、以下に述べるとおり、フィーチャー内の特定のショットについて、および/または特定のカメラ・モードについてパラメータがオーバライドされることもある。
いくつかの実施態様においては、選択されるモデルまたは選択されるパラメータのセットを、サブ‐モデルまたはパラメータのサブセットで構成することができる。このタイプの再帰的分解は、後述するとおり、シーン内に使用される冗長データの量を大きく低減するので非常に有利である。別の実施態様においては、シーン・ディスクリプタ・ファイルを、モデル・データにアクセスするためのデータベース・マネジメント・システムおよび/またはソフトウエア・マネジメント・システムとともに機能するように統合することができる。
本発明の1つの側面によれば、アニメーションのフレームのレンダリングを行うための方法が述べられている。このテクニックは、アニメーションのフレームに関連付けされるシーン・ディスクリプタ・データを検索することを含む。その際、シーン・ディスクリプタ・データは少なくとも1つのオブジェクトの第1の仕様を含む。そのオブジェクトの第1の仕様は、第1のレンダリング・オプションに関連付けされ、第1のレンダリング・オプションまたは第2のレンダリング・オプションの選択を受け取り、さらにその選択が第1のレンダリング・オプションの選択であるとき、上記1つのオブジェクトの第1の仕様に応じて上記1つのオブジェクトの第1の表現についてデータベースに問い合わせる。別のプロセスは、選択が第1のレンダリング・オプションの選択であるとき、オブジェクトの第1の表現をコンピュータ・メモリ内にロードすることを含み、かつ選択が第1のレンダリング・オプションの選択であるとき、オブジェクトの第1の表現を使用してアニメーションのフレームのためにオブジェクトのレンダリングを行うことを含む。選択が第2のレンダリング・オプションの選択であるときには、オブジェクトの第1の表現がコンピュータ・メモリ内にロードされない。
本発明の別の側面によれば、アニメーションのフレームのレンダリングを行うための方法が開示されている。このテクニックは、アニメーションのフレームに関連付けされるシーン・ディスクリプタ・データを検索することを含み、その際、シーン・ディスクリプタ・データが少なくとも1つのオブジェクトを指定する。オブジェクトは当該オブジェクトの第1の表現に対する参照に関連付けされ、かつ当該オブジェクトの第2の表現に対する参照に関連付けされる。さらに、オブジェクトの第1の表現は第1のレンダリング・オプションに関連付けされ、オブジェクトの第2の表現は第2のレンダリング・オプションに関連付けされる。追加のテクニックは、第1のレンダリング・オプションまたは第2のレンダリング・オプションの選択を受け取ること、その選択が第1のレンダリング・オプションの選択であるとき、オブジェクトの第1の表現をコンピュータ・メモリ内にロードすること、さらに選択が第1のレンダリング・オプションの選択であるとき、オブジェクトの第1の表現を使用してアニメーションのフレームのためにオブジェクトのレンダリングを行うことを含むことができる。種々の実施態様においては、選択が第2のレンダリング・オプションの選択であるときには、オブジェクトの第1の表現がコンピュータ・メモリ内にロードされない。さらに、オブジェクトの第1の表現が第1の複数のオブジェクトの表現に対する参照を含み、オブジェクトの第2の表現が第2の複数のオブジェクトの表現に対する参照を含む。それに加えて、第1の複数のオブジェクト内の少なくとも1つのオブジェクトが、第2の複数のオブジェクト内にも存在する。
本発明のさらに別の側面によれば、プロセッサを含むコンピュータ・システムのためのコンピュータ・プログラム・プロダクトが述べられている。このコンピュータ・プログラム・プロダクトは、プロセッサにアニメーションのフレームに関連付けされるシーン・ディスクリプタ・データをプログラム・メモリ内に検索するために指示するコードを含む。その際、シーン・ディスクリプタ・データが少なくとも1つのオブジェクトを指定する。また、オブジェクトが当該オブジェクトの第1の表現に対する参照に関連付けされ、オブジェクトの第1の表現が第1のレンダリング・オプションに関連付けされ、オブジェクトが当該オブジェクトの第2の表現に対する参照に関連付けされる。さらに、オブジェクトの第2の表現が第2のレンダリング・オプション、プロセッサに第1のレンダリング・オプションまたは第2のレンダリング・オプションの選択を決定するべく指示するコード、選択が第1のレンダリング・オプションの選択であるとき、オブジェクトの第1の表現をプログラム・メモリ内にロードするべく指示するコード、およびプロセッサに、その選択が第1のレンダリング・オプションの選択であるとき、オブジェクトの第1の表現に応じてアニメーションのフレームのためにオブジェクトのレンダリングを行うべく指示するコードに関連付けされる。種々の実施態様においては、選択が第2のレンダリング・オプションの選択であるときには、オブジェクトの第1の表現がコンピュータ・メモリ内にロードされない。それに加えてこれらのコードは、通常、磁気ディスク、光学ディスク、一連のデータ・パケット等の有形メディア上に存在する。種々の実施態様においては、オブジェクトの第1の表現が第1の複数のオブジェクトの表現に対する参照を含み、オブジェクトの第2の表現が第2の複数のオブジェクトの表現に対する参照を含む。さらに、第1の複数のオブジェクト内の少なくとも1つのオブジェクトが、第2の複数のオブジェクト内にも存在する。
本発明をより完全に理解するため、添付図面を参照する。これらの図面が本発明の範囲における制限ではないこと、本発明の現在記述されている実施態様および現在最良と理解されている態様が添付図面の使用を通じて追加の詳細とともに記述されていることを理解する必要がある。
図1は、本発明の実施形態に従った代表的なコンピュータ・レンダリング・システム100のブロック図である。
この実施形態においては、コンピュータ・システム100が、一般にモニタ110、コンピュータ120、キーボード130、ユーザ入力デバイス140、ネットワーク・インターフェース150等を含む。
この実施形態においてユーザ入力デバイス140は、通常、コンピュータ・マウス、トラックボール、トラック・パッド、ワイヤレス・リモート等として具体化される。一般にユーザ入力デバイス140は、ユーザによるオブジェクト、アイコン、テキスト等のモニタ110上に現れる表示の選択を可能にする。
ネットワーク・インターフェース150の実施形態は、通常、イーサネット(Ethernet)カード、モデム(電話、衛星、ケーブル、ISDN)、(非同期)ディジタル加入者回線(DSL)ユニット等を含む。ネットワーク・インターフェース150は、一般に図示のとおり、コンピュータ・ネットワークに結合される。別の実施形態においては、ネットワーク・インターフェース150が物理的にコンピュータ120のマザーボード上に統合されることもあり、またソフトDSL等のソフトウエア・プログラムとなることもある。
コンピュータ120は、通常、プロセッサ160、ランダム・アクセス・メモリ(RAM)170やディスク・ドライブ180等のメモリ・ストレージ・デバイス、これらのコンポーネントを相互接続するシステム・バス190といった周知のコンピュータ・コンポーネントを含む。
一実施形態においては、コンピュータ120がPC互換コンピュータであり、Intel Corporation(インテル・コーポレーション)のゼオン(XeonTM)等の複数のマイクロプロセッサを有する。さらに、この実施形態におけるコンピュータ120は、通常、ユニックス(UNIX)ベースのオペレーティング・システムを含む。
RAM 170やディスク・ドライブ180は、データ、オーディオ/ビデオ・ファイル、コンピュータ・プログラム、アプレット・インタプリタまたはコンパイラ、バーチャル・マシンのストレージのための有形のメディアの例であり、ここで説明している本発明の実施形態の場合にはそれらに、シーン・ディスクリプタ、フック・ファイル、オブジェクト・データ・ファイル、シェーダ・ディスクリプタ、レンダリング・エンジン、出力イメージ・ファイル、テクスチャ・マップ、置換マップ、オブジェクト材料のスキャッタリング長と吸収データ、データベース等が含まれる。このほかのタイプの有形メディアとしては、フロッピーディスク、リムーバブル・ハードディスク、CD‐ROMやバーコード等の光学ストレージ・メディア、フラッシュ・メモリ等の半導体メモリ、読み出し専用メモリ(ROM)、バッテリ‐バックアップ揮発性メモリ、ネットワーク・ストレージ・デバイス等が挙げられる。
この実施形態においては、コンピュータ・システム100が、ネットワークを介した通信を可能にするHTTP、TCP/IP、RTP/RTSPプロトコル等のソフトウエアを含むこともできる。本発明の代替実施形態においては、ほかの通信ソフトウエアおよび伝送プロトコル、たとえばIPX、UDP等が使用されることもある。
図1は、本発明を具体化することのできるコンピュータ・レンダリング・システムを表している。当業者には容易に明らかになろうが、このほかにも多くのハードウエアやソフトウエア構成が本発明との使用に適している。たとえば、このほかのマイクロプロセッサ、たとえばペンティアム(PentiumTM)またはイタニウム(ItaniumTM)プロセッサ;アドバンスド・マイクロ・デバイセズ・インク(Advanced Micro Devices,Inc.)のオプテロン(OpteronTM)またはアスロンXP(AthlonXPTM)マイクロプロセッサ;さらに、モトローラ・インク(Motorola,Inc.)のパワーPC(PowerPC)G3TM、G4TMマイクロプロセッサ等の使用も企図されている。さらに、このほかのタイプのオペレーティング・システム、たとえばマイクロソフト・コーポレーション(Microsft Corporation)のウインドウズXP(WindowsXP(登録商標))、ウインドウズNT(WindowsNT(登録商標))等のウインドウズ(Windows(登録商標))オペレーティング・システム、サン・マイクロシステムズ(Sun Microsystems)のソラリス(Solaris)、リナクス(LINUX)、ユニックス(UNIX)、アップル・コンピュータ・コーポレーション(Apple Computer Corporation)のマックOS(MAC OS)等の使用も企図されている。
図2A、2Bは、本発明の実施形態に従ったプロセス・フローのブロック図を示している。例示の実施形態の場合には、最初にステップ200においてレンダリングのためのフレームが指定される。本発明の実施形態においては、この指定を特定のフレーム、関連フレームのセット(ショット)、ムービーの部分、ムービー全体等とすることができる。この指定は、名前、番号等の識別子の選択を介して行うことができる。
次に、ステップ210においてレンダリング・オプションが指定される。本発明の一実施形態においては、レンダリング・オプションが、レンダリングの質、レンダリングの目的、アニメーションのタスク等の仕様である。前述したとおり、照明が審美的に満足のゆくものであるか否かの決定、色またはテクスチャの調和の決定、シーンの視覚的配置または構成の再検討等のためにイメージの最終レンダリングを行うことはもとより、そのほかの多くの理由に対してイメージのレンダリングが行われる。したがって、レンダリング・オプションは、イメージのレンダリングが行われる理由に対応する。別の実施形態においては、レンダリング・オプションが、レンダリング後のシーンへ特定のオブジェクトを含めたり、そこから除去すること、レンダリング後のシーンへ特定の照明を含ませたり、そこから除去すること、シーンのレンダリングにおいて特定のカメラを使用すること等を示すことができる。
この実施形態においては、フレームが幾何学的シーン・ディスクリプタに関連付けされている。この幾何学的シーン・ディスクリプタは、通常、シーン内の『オブジェクト』を指定するテキスト・ファイルである。オブジェクトには、照明オブジェクト、カメラ・オブジェクト、幾何学的オブジェクト等が含まれる。これらのオブジェクトは、レンダリングの目的のためのシーンの指定に使用される。さらに詳しくは後述するとおりであるが、異なるオブジェクトは異なる表現を使用して記述され、異なるオブジェクトは、通常、次を含めた異なるプロパティを含む:すなわち、セッティング、パラメータ、定数、属性、アプリケーション・データ等である。
この実施形態においては、シーン・ディスクリプタ・ファイルがシーン内のオブジェクトの位置、オブジェクトの向き、オブジェクトのための色とテクスチャ、オブジェクトのためのプロパティ等を指定する。本発明においては、シーン・ディスクリプタ・ファイルが、『フック・セット』または『フック・ファイル』と呼ばれるテキスト・ファイルになる。単純なフック・ファイルのコンテンツとして、次のような例を挙げることができる。
hook "object1" {object1のプロパティ}
hook "camera1" {camera1のプロパティ}
hook "light1" {light1のプロパティ}
この実施形態では、レンダリングされることになるシーンを指定するシーン・ディスクリプタ・ファイルが、ステップ220においてメモリから取り出される。一実施形態においては、シーン・ディスクリプタ・ファイルがレンダリングされることになるフレームだけに関連付けされること、イメージのショットに関連付けされること、フィーチャーの部分に関連付けされること、あるいはフィーチャー全体に関連付けされること等ができる。
この実施形態の場合、オブジェクトのプロパティを使用してそのオブジェクトのための値を指定することができる。一実施形態においては、たとえばカメラ・オブジェクトの場合にプロパティが:投影のタイプ(たとえば遠近);視野;広さ;位置;アジマス;ピッチ、パン、ロール;アスペクト比;焦点オプション;クロッピング;シフティング;tvアスペクト比、パンとスキャン・オプション、トラック数、クレーン数等を含むことができる。
カメラ・フックの一例を次に示す:
hook "main_cam" {
desc=main_cam: Nemo production camera, aka camera01a;
kind=camera;
filename=stdobj/Camera01a.m; (カメラ・モデルのファイル名)
importance=1;
autoload=1;
active=1;
macro=do_Camera01a(name);
exportvecs=XF CanVec;
importvecs=;
hasSNSAvars=0;
mcat_name=main_cam;
param{ (パラメータ)
projection="perspective";
defFov=45;
defWidth=1;
defCamX=0;
defCamy=0;
defCamz=0;
defAzimuth=0;
defPitch=0;
defPan=0;
defRoll=0;
defNear=20;
defFar=200000;
defAspect=1.85;
focusing="on";
cropping="off";
shifting="off";
panScan="off";
tvAspect=1.33
NumTracks=2;
NumCranes=2;
CameraHeadExtraAvars=1;
doCamMod=0;
camModFunc=NULL;
camModFuncParams=Null;
name="main_cam";
}
別の実施形態においては、照明オブジェクトについては、プロパティが:照明の質、照明のタイプ、照明の形状、照明の色等を含む。必ずしもすべてのカメラ・オブジェクトまたは照明オブジェクトが同一のプロパティをサポートする必要はない。たとえば『大気中の霧の照明』は、独特の霧プロパティを有することができる。照明フックの一例は次のようになる。
hook"LP_Lspt_onPodium" {
use "stdlight/glight01a/glight01a.hook";
king=light;
class=_Clsss_Glight01a;
macro=glight01a(name);
filename=stdlight/glight01a/glight01a.m; (照明モデルのファイル名)
exportvecs=ToPointXfFromPoingSf;
parent=set_lights;
depends_on=;
importvecs=RimObjMat CamMat IntMult ToPointAttachMat FromPointAttachmat;
cues=messhall_prlim_lights.cue;
param { (パラメータ)
name="LP_Lspt_onPodium:;
lightQuality=L_FULL;
lightSource=L_SPOT;
defIllum=1'
lightShape=L_Barn;
lcolor=(0.948905,1.0,0.889);
numGlobalBlokers=0;
numGlobalRods=0;
numGlobalFakes=0;
numGlobalSoftners=0;
numGlobalCookies=0;
numGlobalBarns=0;
shadowmaps=shaderargs("LP_Lkey_fromHole_sm");
}
appl { (アプリケーション・データ)
glightType=glight01a;
lightName=LP_Lspt_onPodium
lightRed=0.948905;
lightBlue=0.889;
lightGreen=1.0;
lightColor=;
shmapsUsed=LP_Lkey_fromHole_sm;
}}
本発明の実施形態においては、幾何学的オブジェクトが、サポートされている任意のイメージング可能なプロパティを実質的に含むことができる。たとえば、1つの幾何学的パラメータを:椅子オブジェクトの脚の数;モンスター・オブジェクトの目玉の数等とすることができる。一例を挙げれば、フック・エントリを次になぞらえることができる。
hook "object1" param {number_of_heads=2}
この実施形態の場合には、シーン内にレンダリングされることになるオブジェクトについて、複数のレンダリング・オプションまたは質の選択をそのオブジェクトのために行うことができる。一例を挙げれば、オブジェクトが『フル』モデル、すなわち完全に指定されたモデルを有すること、オブジェクトが『スタンドイン』モデル、すなわち完全に指定されたモデルより少ないモデルを有すること等が許される。本発明の一実施形態においては、シーン内のすべてのオブジェクトがそれぞれの質の選択に対応するモデルを有することができる。たとえばオブジェクトAとオブジェクトBは、ともに『フル』モデルと『スタンドイン』モデルを有することができる。別の実施形態においては、必ずしもシーン内のすべてのオブジェクトが同一のモデルの選択肢を持たないことになる。たとえば、オブジェクトAは『フル』モデルと『スタンドイン』モデルを有するが、オブジェクトBは単に1つのモデルしか持たないということがあり得る。その種の例においては、そのモデルを『フル』モデルとすることができる。さらに別の例においては、オブジェクトがそれ自体に特有のモデルを有することができる。たとえば、照明オブジェクトは、『ソフト』モデル、『ハード』モデル等を有することができる。別の実施形態においては、これより多くの、あるいはこれより少ないレンダリング・オプション(たとえば、レンダリングの質のオプション)が企図される。たとえば、前述の例を参照すれば、object1のためのフック・ファイルは、次を含むことができる。
hook "object1" {full_model="object1_full.mdl";number_of_legs=4;
standin_model="object1_standin.mdl";number_of_legs=1;
...}
この例からわかるとおり、object1は2つの異なるモデル・ディスクリプタ・ファイル(たとえば、*.mdlファイル)に対するファイル名参照を含む。この実施形態の場合、各モデル・ディスクリプタ・ファイルが業界標準の.mdlファイルであり、それによってobject1がそのシーン内においてどのようにレンダリングされるかが指定される。さらに、.mdlファイルは、通常、あらかじめ定義済みの幾何学的コンポーネント、テクスチャ、色、またはそれらに類似のobject1に関連付けされたものをストアする。別の実施形態においてはモデル・ディスクリプタ・ファイルが、object1について、進行中に生成される幾何学的コンポーネントや進行中に生成されるテクスチャ等を含むことができる。さらに別の実施形態においては、あらかじめ定義済みと進行中に生成されるobject1の側面両方の組み合わせを使用することができる
単純な例示として、2001年にアニメーション化されたフィーチャー、モンスターズ・インク(Monsters, IncorporatedTM)のマイク・ワゾウスキ(Mike WazowskiTM)等のオブジェクトを、上記のテクニックを使用するシーンについて指定することができる。たとえば、フル・モデルとスタンドイン・モデルをシーン・ディスクリプタ・ファイルに含めることができる。最終レンダリング目的のためには、2本の脚を有するマイク・ワゾウスキ(Mike Wazowski)のフル・モデルを取り出し、シーンのレンダリングに使用することができる。しかしながら、照明目的のためであれば、単一の脚を有するマイク・ワゾウスキ(Mike Wazowski)のスタンドイン・モデルを取り出し、シーンのレンダリングに使用することができる。必ずしもすべてのオブジェクトがシーン内においてレンダリングされる必要がないことから、すべてのオブジェクトをメモリ内に検索される必要はない。
図2Aの実施形態を参照すると、シーン・ディスクリプタ・ファイル内において指定された第1のオブジェクトについて、それがメモリ内に検索され、かつそのシーンの中でレンダリングするか否かの決定がステップ230においてなされる。この決定は、通常、選択されたレンダリング・オプションに応じて行われる。一例を挙げれば、レンダリングを、シーン内の背景オブジェクトがどのように見えるかを確かめるためのセットのドレッシングを目的としたものとすることができる。その種の場合においては、フォアグラウンドのオブジェクト(たとえばキャラクタ)のレンダリングを行わなくてもよい。
この実施形態において、シーンのレンダリングにそのオブジェクトが含まれることになる場合には、ステップ240において、そのオブジェクトがそれに関連付けされた1を超える数のモデル・ファイルを有することもある。前述した例に示したとおり、モデルは、『フル』モデルと『スタンドイン』モデルを有することができる。1を超える数のモデルが存在する場合には、ステップ250において、通常、選択されたレンダリング・オプションに応じてレンダリング目的のためにいずれのモデルを使用するかについての決定が行われる。いくつかの実施形態においては、レンダリング・オプションによってオーバライドされない限り『デフォルト』のモデルを決定することができる。モデルだけが指定されている場合には、そのモデルが自動的に選択される。
この実施形態において、オブジェクトが必要とされない場合には、ステップ260にあるとおり、レンダリング目的でそのモデルは使用されない。より詳細に述べれば、モデルがメモリ内にロードされない。その後、ステップ270において、そのシーン・ディスクリプタ・ファイル内の次のオブジェクト(フック)について、通常はすべてのフックの考察が完了するまでこれらの処理が繰り返される。
一実施形態においては、レンダリングのために選択されたオブジェクトが、ステップ280においてメモリ内にロードされる。たとえば、幾何学的オブジェクトの場合には.mdlファイルが検索される;カメラ・オブジェクトの場合には.mファイルが検索される。別の実施形態においては、レンダリングにおいてオブジェクトが必要であると決定されると、オブジェクトは一度に1つロードされる。
次にステップ290において、フック・ファイル内に指定された、ロード済みのオブジェクトのそれぞれに関連付けされたプロパティ(たとえば、パラメータ、定数、属性、およびアプリケーション・データ)がそのオブジェクトに適用される。一実施形態においては、指定されたプロパティを使用してオブジェクトが呼び出され、ステップ280において、インスタンシエートされたオブジェクトが返される。
この実施形態では、続くステップ300において、ロード済みオブジェクトとフック・ファイル内に指定されたプロパティを使用してシーンのレンダリングが行われる。ここで理解する必要があるが、このステップにおけるレンダリングは、正式な高品質レンダリング・プロセスであることもあれば、そうでないこともある。結果として得られるシーンのイメージは、ステップ310においてコンピュータ・メモリとフィルム・メディア等にストアされ、およびその後、続いて、ステップ320において検索され、表示されることができる。
図3A、3Bは、本発明の異なる実施形態を例示している。より詳細に述べると、図3A、3Bは、オブジェクトを指定するため、および/またはオブジェクトにプロパティを提供するための複数のフック・ファイルの使用を例示している。
この実施形態の場合、フィーチャー内の各イメージについて複数のフック・ファイルの存在が許される。したがって、1つのフック・ファイルだけを使用することに代えて、フック・ファイルの組み合わせがオブジェクトやそのオブジェクトのために使用されるプロパティを提供することが可能である。たとえば、種々の実施形態においては、フィーチャー全体のためのフック・ファイル、フィーチャー内のショットの『シーケンス』のためのフック・ファイル、特定の『ショット』(関連シーンのセット)のためのフック・ファイル、特定のシーンのためのフック・ファイルが存在するであろう。したがって、そのシーンに関連付けされている別のフック・ファイルが存在する場合には、図2Aに示されているプロセスをステップ400において繰り返すことができる。
次に、一実施形態においては、第1のフック・ファイルからレンダリングのために選択されたオブジェクトが、ステップ410においてメモリ内にロードされ、第2のフック・ファイルからレンダリングのために選択されたオブジェクトが、ステップ420においてメモリ内にロードされる。
この実施形態の場合、第1のフック・ファイルと第2のフック・ファイル内に指定されており、ロード済みオブジェクトに関連付けされたプロパティ(たとえば、パラメータ、定数、属性、およびアプリケーション・データ)が、ステップ430においてそのオブジェクトに適用される。
この実施形態においては、第2のフック・ファイル内に指定されたオブジェクトのためのプロパティが、第1のフック・ファイル内に指定されたそのオブジェクトのためのプロパティと異なることもある。その場合、第1のフック・ファイル内に指定されたそのオブジェクトのためのプロパティが優勢になる。したがって、第1のフック・ファイルによって指定されていない、第2のフック・ファイル内にストアされたオブジェクトのプロパティだけが、ステップ440においてレンダリング目的のために使用される。これについては、次の例から理解することができる。
フィルム全体フック・ファイルは、以下を含む:
hook "mike" {full_model="mike_full.mdl";
param {number_of_legs=2;}}
シーケンス3フック・ファイルは、以下を含む:
hook "mike" param {number_of_legs=4;}
ショット・フック・ファイルは、以下を含む:
hook "mike" param {skin_color=(0.3,1,0.4);}
最初に、ショット・フック・ファイルが、前述の実施形態に従って処理され、オブジェクト『mike』のレンダリングを行うことが決定される。ここで理解されるとおり、皮膚の色(つまり、skin_color)パラメータがショット・フック・ファイル内において指定されており、したがってこのパラメータが使用される。上記のプロセスの第2のフック・ファイルのための次の繰り返しの間に、シーケンス・フック・ファイルが処理される。シーケンス・フック・ファイルから、『mike』について、追加の脚の数(つまり、number_of_legs)パラメータが4となることが指定される。最後に、上記のプロセスの次の繰り返しの間に、フィルム全体フック・ファイルが処理される。フィルム全体フック・ファイルから、オブジェクト・モデルが、mike_full.mdlとして識別される。それに加えて、脚の数(つまり、number_of_legs)が2として指定される。しかしながら、この実施形態によれば、シーケンス・フック・ファイルのプロパティがフィルム全体に対しての指定すなわち仕様に『勝る』またはそれをオーバライドする。したがって、すべてのパラメータが『Mike』をレンダリングするために『解決』されると、パラメータnumber_of_legs=4とskin_color=(0.3,1,0.4)を伴ってモデル・ファイルmike_full.mdlが検索される。
この実施形態では、解決されたオブジェクトがステップ450においてイメージ内にレンダリングされる;イメージは、ステップ460においてストアされ、ステップ470においてそのイメージが表示される。
上記のコンセプトは、ピクサー(Pixar)のファインディング・ニモ(Finding NemoTM)、モンスターズ・インク(Monsters, Inc.TM)、トイ・ストーリー2(Toy Story 2TM)、バグズ・ライフ(A Bugs LifeTM)を含む長篇映画のために使用され、成功が確認された。
上記のテクニックは、特定のファイル名等とともに特定のコンピュータ・ディスク・ディレクトリ、特定のネットワーク・ディレクトリといった『ハード・コーディング』されたコンピュータ・ロケーションにおいて見つかるオブジェクトの表現を使用している。しかしながら本発明の発明者は、このタイプのオブジェクト・ファイルの『ハード・コーディング』が多くの欠点を有することを認識した。それらの欠点には、ユーザが、オブジェクトに対してコンピュータのディレクトリ構造を理解する必要があることが含まれる。またユーザは、オブジェクトの異なる表現がディレクトリ構造内においてどのように分類され、ストアされるかについて知らなければならない。別の欠点としては、ディレクトリ構造が変化するとき、シーン・ディスクリプタ・ファイルを作成するアニメータは、その種の変化に対して最新であり続けるために常にシーン・ディスクリプタ・ファイルを修正しなければならないことなどが挙げられる。さらに別の欠点を挙げれば、時間の経過とともに、またコンピュータ・システムの移行等に伴って、オブジェクトのディレクトリ構造が改ざんされることがあり、オブジェクトが失われることがある。その結果、最初にシーンのレンダリングが行われてから年月が経過し、ユーザがそのシーンの再レンダリングを試みたとき、オブジェクトが必ずしもすべて見つからないことになる。これらの欠点に対処するため、発明者は追加の実施形態を開発した。
図4は、本発明の別の実施形態を例示している。より詳細に述べれば、図4は、データベースを含む実施形態を例示している。図4は、コンピュータ・システム500、データベース・マネジメント・システム(dbms)510、データベース520を含む。この実施形態の場合、コンピュータ・システム500が、図1について前述した一般的なレンダリング・システムとなる。さらに、データベース・マネジメント・システム510とデータベース520は、オラクル(Oracle)、サイベース(Sybase)等から入力可能な従来的なデータベース・システムとすることができる。
この実施形態においては、dbms 510が、SQLクエリ・ツール等の従来のデータベース・アクセス・メカニズムを含む。種々の実施形態においては、dbms 510が、データベース520に対する組織化されたアクセスを提供する追加のフロント‐エンド・ソフトウエアを含むこともある。一例を示すと、追加のフロント‐エンド・ソフトウエアは、『資産マネジメント』ソフトウエア、すなわちユーザが、構造化されたインターフェースを介してソフトウエア資産のより容易なストアと、その後の検索を行うことを可能にするソフトウエアを含む。本発明の実施形態においては、任意の従来的なソフトウエア資産マネジメント・システムを適合させて、使用することができる。
動作において、コンピュータ・システム500が、前述と類似のシーン・ディスクリプタ・ファイルを検索する。この実施形態の場合、シーン・ディスクリプタ・ファイルは、単純にオブジェクト名(資産名)、特定のサーチ条件、データベース・クエリ、あるいはそれらに類似するものを指定することができる。たとえばすでに示したようなディレクトリ内のファイル名を指定することに代えて、シーン・ディスクリプタ・ファイルは、dbms 510に、一連の鍵となるサーチ条件を指定することができる。それに応答して、この例の場合には、dbms 510がそれらの鍵となるサーチ条件を使用してデータベース520に問い合わせを行い、所望のオブジェクト表現を見つけることができるディレクトリの場所を返す。資産マネジメント・システムが具体化される別の例においては、シーン・ディスクリプタ・ファイルが、所望のオブジェクトに関連付けされた鍵となるサーチ条件を提供することもできる。それに応答して資産マネジメント・システムがデータベース520にアクセスし、所望のオブジェクト表現を返すことができる。
これらの例は、オブジェクト表現が変更されるか更新されたとき、あるいは新しいオブジェクトがシーンに追加されたときなどにおいて、シーン・ディスクリプタ・ファイルのマネージに必要な作業量を大きく低減させることを示している。したがって発明者は、これらの実施形態の利点が、本発明の実施形態の価値を大きく高めるものであると考えている。
図5は、本発明の追加の実施形態を例示している。図5において、600は、当初述べた方法を使用して第1の『スノーマン』オブジェクト610と第2の『スノーマン』オブジェクト620を参照するシーン・ディスクリプタ・ファイルを示す。ここに例示されているとおり、第1のスノーマン・オブジェクトの.mdlファイルと第2のスノーマン・オブジェクトの.mdlファイルが、それらのオブジェクトのレンダリング時にアクセスされる。
また図5には、本発明の別の実施形態を示す630も例示されている。630は、オブジェクト『ナゲット』のコンセプトを示す。この例の場合、オブジェクト・モデルが、より原始的なオブジェクト・モデル(ナゲット)に分解される。たとえば、第1のスノーマン・オブジェクト640と第2のスノーマン・オブジェクト650は、『球』オブジェクト660に対する繰り返しの参照を含む。これからわかるとおり、第1のスノーマン・オブジェクト640は、異なるパラメータを使用して球オブジェクト660を3回にわたって参照し、第2のスノーマン・オブジェクト650は、異なるパラメータを使用して球オブジェクト660を3回にわたって参照する。
本発明の実施形態においては、1を超える数のオブジェクトの分解が実行できることが企図されている。たとえばオブジェクトを第1のセットのオブジェクトに分解し、それらの幾何学的オブジェクトを第2のセットのオブジェクトに分解するといったことができる。また、この分解が照明オブジェクト、カメラ・オブジェクト、幾何学的オブジェクト等に対しても適用できることも企図されている。例示されているとおり、ナゲットの使用は、シーン内のオブジェクト表現の指定のためにストアされ、使用される冗長データのストアを大きく削減する。
本発明の実施形態において、ナゲットのコンセプトは、オブジェクトについての変更を伝播する容易性やその能力を大きく向上させる。たとえば、図5に示されているように、球オブジェクト660が立方体オブジェクト670に変更される場合に、シーン内に取り出したとき、スノーマン・オブジェクト680とスノーマン・オブジェクト690が、球ではなく立方体で作られる。したがって、例示されているとおり、幾何学的なプリミティブに対する単一の変更が、シーン全体に容易に伝播される。
その種の実施形態の別の利点は、依存性分析がオン・ザ・フライで行われることや、ナゲットが必要に応じてメモリ内にロードされることである。たとえば、図5の例においては、アニメータが第2のスノーマン・オブジェクト650をシーン内に含めることを希望するとき、第2のスノーマン・オブジェクト650が球オブジェクト660に依存していることから、球オブジェクト660がメモリ内に自動的にロードされる。
多くの変更または修正が容易に描くことができる。上記の開示に照らせば、当業者は、オブジェクトのナゲットのコンセプトをオリジナルの実施形態と結合できることや、データベースを使用する実施形態と結合できることを認識することになろう。このほかの実施形態の組み合わせもまた企図されている。
本発明の実施形態においては、シーン・ディスクリプタ・ファイルを少なくとも2つのシーンの表現のレンダリングに使用できることが企図されている。言い換えれば、シーン・ディスクリプタ・ファイルは、少なくともフル・レンダリング・オプションと、全体より少ないオブジェクトのレンダリングを行うか、少なくとも1つのオブジェクトを代替表現でレンダリングするレンダリング・オプションを有することが企図されている。一実施形態においては、単一のシーン・ディスクリプタ・テキスト・ファイルを、所望の異なるレンダリング・オプションのために使用することができる。種々の実施形態においては、レンダリング・オプションを定義する任意数の方法が提供され、たとえばアニメータは、コマンド行スイッチ・オプション(たとえば、‐final、‐light、‐setdressing)を介してオプションを指定すること、あるいはグラフィカル・ユーザ・インターフェース内の1ないしは複数のチェック・ボックスを介してオプションを指定すること等が可能になる。さらに、シーンのレンダリングのための任意数の異なる目的、すなわち、たとえばハード照明、ソフト照明、シーンのための異なるカメラ・アングル、異なるテクスチャ等のレンダリング・オプションを思いつくことができる。
ここで理解する必要があるが『レンダリング』は、レンダーマン(RenderMan(登録商標))等のプログラムを使用してシーンの数学的記述からイメージを変換する高品質のプロセスを指していることである。それに加えて『レンダリング』は、シーンの数学的記述の任意のグラフィカルなビジュアル化を指すこと、あるいはピクセルへのジオメトリの任意の変換、たとえば、より低い品質のレンダリング・エンジンを用いた『レンダリング』等を指すこともある。低品質レンダリング・エンジンの例には、GLとGPUのハードウエア・レンダラやソフトウエア・レンダラ等が含まれる。
『アニメータ』という表現は、オブジェクトの『アニメーション化』を適時に行うアニメータを言う。それに加えて『アニメータ』という表現は、考察のため、あるいは何らかのタスクのためにシーンを指定するあらゆるユーザを言う。例を述べれば、アニメータが、シーンのレイアウトを目的としてシーンの異なる表現の考察を希望すること(シーンのデザイナ);キャラクタ・アニメーション、最終アニメーション、ボディ・アニメーションの考察を希望すること(アニメータ);照明の考察を希望すること(照明係)などが考えられる。
これらの加えて上記の実施形態のいくつかにおいては、オブジェクトの代替表現が選択され、メモリ内にロードできることが例示されている。しかしながらここで理解する必要があるが、本発明の実施形態において、オブジェクトの単一表現も企図されており、そのオブジェクトの単一表現がロードされることもあれば、ロードされないこともある。たとえば、キャラクタ・オブジェクトの1つの表現がフック・ファイル内において指定されることがあるが、アニメータが『シーンのデザイン』の考察だけを希望することがある。そのためアニメータが、レンダリング内にそのキャラクタ・オブジェクトを含ませることに関心がないこともあり、その場合にはそのキャラクタ・オブジェクトがメモリ内にロードされない。
本発明のいくつかの実施形態は、アニメータが『ロードされていない』オブジェクトについて作業することを可能にする。より詳細に述べれば、いくつかの実施形態においては、アニメータがオブジェクトをメモリ内にロードすることなく、信頼することのできるオブジェクトのパラメータをフック・ファイルが指定することができる。たとえばフック・ファイルは、オブジェクトのバウンディング・ボックス(1ないしは複数)を指定し、アニメータは、そのオブジェクトを実際にロードすることなく、ロードされていないオブジェクトの周囲にオブジェクトを配置することができる。別の実施形態においては、バウンディング・ボックス(1ないしは複数)の位置、バウンディング・ボックス(1ないしは複数)の向き、オブジェクトの色等の追加の情報が提供される。その種の実施形態は、可能な限り多くのオブジェクトのロードを避けてレンダリング・プロセスを高速化する一方、同時にロードされていないオブジェクトについての情報を提供するので、有利であると考えられる。
この開示を読んだ後であれば、当業者が、このほかの実施形態を思いつくことは可能である。別の実施形態においては、ここに開示されている本発明の組み合わせまたは部分的組み合わせを好適に行うことができる。アーキテクチャのブロック図とフローチャートは、理解を容易にするためにグループ化されている。しかしながらブロックの結合、新しいブロックの追加、ブロックの再配置等が本発明の代替実施形態の中で企図されることを理解する必要がある。
したがって、明細と図面は、限定の意味ではなく例示と考えられるべきである。しかしながらそれらに対する種々の修正と変更は、特許請求の範囲に示されている本発明のより広い精神ならびに範囲から逸脱することなく行うことができる。
本発明の一実施形態に従ったレンダリング・システムを例示したブロック図である。 本発明の実施形態に従ったプロセスのフローを例示したフローチャートである。 本発明の実施形態に従ったプロセスのフローを例示したフローチャートである。 本発明の実施形態に従った例のフローチャートである。 本発明の実施形態に従った例のフローチャートである。 本発明の別の実施形態を例示した説明図である。 本発明の追加の実施形態を例示した説明図である。
符号の説明
100 コンピュータ・システム;コンピュータ・レンダリング・システム、110 モニタ、120 コンピュータ、130 キーボード、140 入力デバイス;ユーザ入力デバイス、150 ネットワーク・インターフェース、160 プロセッサ、170 ランダム・アクセス・メモリ;RAM、180 ディスク・ドライブ、190 システム・バス

Claims (23)

  1. アニメーションのフレームのレンダリングを行う方法であって:
    前記アニメーションのフレームに関連付けされるシーン・ディスクリプタ・データを検索することであって、前記シーン・ディスクリプタ・データが少なくとも1つのオブジェクトを指定することであり、そのオブジェクトはオブジェクトの第1の表現に対する参照に関連付けられ、前記オブジェクトの第1の表現が第1のレンダリング・オプションに関連付けされる、前記検索することと;
    前記第1のレンダリング・オプションまたは第2のレンダリング・オプションの選択を受け取ることと;
    前記選択が前記第1のレンダリング・オプションの選択であるとき、前記オブジェクトの前記第1の表現をコンピュータ・メモリ内にロードすることと;
    前記選択が前記第1のレンダリング・オプションの選択であるとき、前記オブジェクトの前記第1の表現を使用して前記アニメーションのフレームのために前記オブジェクトのレンダリングを行うことと;
    を含み、前記選択が前記第2のレンダリング・オプションの選択であるとき、前記オブジェクトの前記第1の表現がコンピュータ・メモリ内にロードされない、アニメーションのフレームのレンダリングを行う方法。
  2. 前記オブジェクトが、前記オブジェクトの前記第1の表現に対する参照と、前記オブジェクトの第2の表現に対する参照に関連付けされ;
    前記オブジェクトの前記第2の表現が第2のレンダリング・オプションに関連付けされ;かつ、
    前記オブジェクトの前記第2の表現が前記選択が前記第1のレンダリング・オプションの選択であるときコンピュータ・メモリ内にロードされない請求項1に記載の方法。
  3. 前記第1のオブジェクト・データ・ファイル内にストアされる前記データが第1のプロパティを含み;かつ、
    前記シーン・ディスクリプタ・データが前記第1のプロパティのためのデータを含む請求項1項〜第2項のいずれかに記載の方法。
  4. 前記1つのオブジェクトが前記シーン内の幾何学的オブジェクトを含み;かつ、
    前記第1のオブジェクト・データ・ファイル内にストアされる前記データが前記幾何学的オブジェクトの幾何学的記述を含む請求項1〜3のいずれかに記載の方法。
  5. 前記1つのオブジェクトが前記シーン内のカメラ・オブジェクトを含み;かつ、
    前記第1のオブジェクト・データ・ファイル内にストアされる前記データがカメラの視野、カメラの位置、カメラの向き、アスペクト比からなるグループから選択されたデータを含む請求項1〜4のいずれかに記載の方法。
  6. 前記1つのオブジェクトが前記シーン内の照明オブジェクトを含み;かつ、
    前記第1のオブジェクト・データ・ファイル内にストアされる前記データが照明源のタイプ、照明の色、照明源、照明の質、照明の形状からなるグループから選択されたデータを含む請求項1〜5のいずれかに記載の方法。
  7. さらに:
    前記選択が前記第2のレンダリング・オプションの選択であるとき、前記オブジェクトの前記第2の表現が、コンピュータ・メモリ内にロードされ;かつ、
    前記選択が前記第2のレンダリング・オプションの選択であるとき、前記オブジェクトの前記第2の表現を使用して前記アニメーションのフレームのために前記オブジェクトのレンダリングを行うこと;
    を含む請求項2〜6のいずれかに記載の方法。
  8. 前記シーン・ディスクリプタ・データが前記オブジェクトに関連付けされる第1のセットのプロパティも含み;
    本方法が、さらに、前記アニメーションのフレームを含む1を超える数のアニメーションのフレームに関連付けされる追加のシーン・ディスクリプタ・データを検索することを含み、その追加のシーン・ディスクリプタ・データもまた、前記オブジェクトに関連付けされる第2のセットのプロパティを含み;かつ、
    前記アニメーションのフレームのために前記オブジェクトのレンダリングを行うことが、前記選択が前記第1のレンダリング・オプションの選択であるとき、前記オブジェクトの前記第1の表現、前記第1のセットのプロパティ、前記第2のセットのプロパティに応じて前記アニメーションのフレームのために前記オブジェクトのレンダリングを行うことを含む請求項1〜7のいずれかに記載の方法。
  9. 前記オブジェクトに関連付けされる前記第1のセットのプロパティが前記オブジェクトに関連付けされる第1のプロパティのための第1の値を指定し;
    前記オブジェクトに関連付けされる前記第2のセットのプロパティが前記オブジェクトに関連付けされる前記第1のプロパティのための第2の値を指定し;かつ、
    アニメーションのフレーム内において、前記オブジェクトに関連付けされる前記第1のプロパティのための前記第1の値を使用して前記オブジェクトのレンダリングが行われる請求項8に記載の方法。
  10. アニメーションのフレームに関連付けされるシーン・ディスクリプタ・データ、オブジェクトの第1の表現、オブジェクトの第2の表現をストアするように構成されたディスク・メモリであって、前記シーン・ディスクリプタ・データがオブジェクトの前記第1の表現に対する参照、前記オブジェクトの前記第2の表現に対する参照、前記オブジェクトのプロパティのための値を含む前記メモリと;
    プログラム・メモリと;
    前記アニメーションのフレームに関連付けされる前記シーン・ディスクリプタ・データをプログラム・メモリ内に検索するように構成されたプロセッサであって、そのプロセッサが、前記第1のレンダリング・オプションまたは前記第2のレンダリング・オプションの選択を受け取るように構成され、かつ、前記選択が前記第1のレンダリング・オプションの選択であるときプログラム・メモリ内に前記オブジェクトの前記第1の表現をロードするように構成され、さらに前記選択が前記第1のレンダリング・オプションの選択であるとき前記オブジェクトの前記第1の表現に応じて前記アニメーションのフレームのために前記オブジェクトのレンダリングを行うように構成されたプロセッサと;
    を含むコンピュータ・システムであって、前記選択が前記第1のレンダリング・オプションの選択であるとき前記オブジェクトの前記第2の表現がプログラム・メモリ内にロードされない、前記コンピュータ・システム。
  11. 前記プロセッサがさらに、前記選択が前記第2のレンダリング・オプションの選択であるときコンピュータ・メモリ内に前記オブジェクトの前記第2の表現をロードするように構成され;
    前記プロセッサがさらに、前記選択が前記第2のレンダリング・オプションの選択であるとき前記オブジェクトの前記第2の表現を使用して前記アニメーションのフレームのために前記オブジェクトのレンダリングを行うように構成され;かつ、
    前記選択が前記第2のレンダリング・オプションの選択であるとき前記オブジェクトの前記第1の表現がプログラム・メモリ内にロードされない請求項10に記載のコンピュータ・システム。
  12. 前記オブジェクトが幾何学的オブジェクトを含み;かつ、
    前記オブジェクトの前記第1の表現内にストアされる前記データが前記オブジェクトの3次元モデルを含む請求項10又は11に記載のコンピュータ・システム。
  13. 前記オブジェクトがカメラ・オブジェクトを含み;かつ、
    前記カメラ・オブジェクトの前記第1の表現が、カメラの視野、カメラの位置、カメラの向き、アスペクト比からなるグループから選択されたプロパティを含む請求項10項〜第12項のいずれかに記載のコンピュータ・システム。
  14. 前記オブジェクトが照明オブジェクトを含み;かつ、
    前記照明オブジェクトの前記第1の表現が、照明源のタイプ、照明の色、照明源、照明の質、照明の形状からなるグループから選択されたプロパティを含む請求項10〜13のいずれかに記載のコンピュータ・システム。
  15. 前記シーン・ディスクリプタ・データが前記オブジェクトに関連付けされる第1のセットのプロパティのための値を含み;かつ、
    前記選択が前記第1のレンダリング・オプションの選択であるとき、前記オブジェクトの前記第1の表現と前記第1のセットのプロパティのための前記値とに応じて、前記アニメーションのフレームのために前記オブジェクトのレンダリングを行うように、前記プロセッサが構成される請求項10〜14のいずれかに記載のコンピュータ・システム。
  16. 前記ディスク・メモリがさらに、前記アニメーションのフレームに関連付けされる追加のシーン・ディスクリプタ・データであって、前記オブジェクトに関連付けされる第2のセットのプロパティのための値を指定する追加のシーン・ディスクリプタ・データをストアするように構成され;
    前記プロセッサがさらに、前記選択が前記第1のレンダリング・オプションの選択であるとき、前記アニメーションのフレームに関連付けされる前記追加のシーン・ディスクリプタ・データをプログラム・メモリ内に検索するように構成され、かつ前記オブジェクトの前記第1の表現、前記第1のセットのプロパティのための前記値、前記第2のセットのプロパティのための前記値、に応じて前記アニメーションのフレームのために前記オブジェクトのレンダリングを行うように構成される請求項15に記載のコンピュータ・システム。
  17. プロパティが、前記第1のセットのプロパティのための前記値の中で指定される第1の値と、前記第2のセットのプロパティのための前記値の中で指定される第2の値を有し;かつ、
    前記プロセッサが前記プロパティのための前記第1の値に応じて前記アニメーションのフレームのために前記オブジェクトのレンダリングを行うように構成される請求項15または16のいずれかに記載のコンピュータ・システム。
  18. プロセッサを含むコンピュータ・システムのためのコンピュータ・プログラム・プロダクトであって:
    アニメーションのフレームに関連付けされるシーン・ディスクリプタ・データをプログラム・メモリ内に検索するように、前記プロセッサに指示するコードであって、前記シーン・ディスクリプタ・データが少なくとも1つのオブジェクトを指定し、前記オブジェクトが前記オブジェクトの第1の表現に対する参照に関連付けされ、前記オブジェクトの前記第1の表現が第1のレンダリング・オプションに関連付けされる、前記コードと;
    前記第1のレンダリング・オプションまたは第2のレンダリング・オプションの選択を決定するように、前記プロセッサに指示するコードと;
    前記選択が前記第1のレンダリング・オプションの選択であるとき、前記オブジェクトの前記第1の表現をプログラム・メモリ内にロードするように、前記プロセッサに指示するコードと;
    前記選択が前記第1のレンダリング・オプションの選択であるとき、前記オブジェクトの前記第1の表現に応じて前記アニメーションのフレームのために前記オブジェクトのレンダリングを行うように、前記プロセッサに指示するコードと;
    を含み、前記選択が前記第2のレンダリング・オプションの選択であるとき、前記オブジェクトの前記第1の表現がプログラム・メモリ内にロードされることがなく;
    前記コードが有形メディア内に存在する、前記コンピュータ・プログラム・プロダクト。
  19. 前記オブジェクトが前記オブジェクトの前記第1の表現と前記オブジェクトの第2の表現に関連付けされ;
    前記オブジェクトの前記第2の表現が第2のレンダリング・オプションに関連付けされ;かつ、
    前記オブジェクトの前記第2の表現が前記選択が前記第1のレンダリング・オプションの選択であるときプログラム・メモリ内にロードされない請求項18に記載のコンピュータ・プログラム・プロダクト。
  20. さらに:
    前記選択が前記第2のレンダリング・オプションの選択であるとき、前記オブジェクトの前記第2の表現をコンピュータ・メモリ内にロードするように、前記プロセッサに指示するコードと;
    前記選択が前記第2のレンダリング・オプションの選択であるとき、前記オブジェクトの前記第2の表現に応じて前記アニメーションのフレームのために前記オブジェクトのレンダリングを行うように、前記プロセッサに指示するコードと;
    を含み、前記選択が前記第2のレンダリング・オプションの選択であるとき、前記オブジェクトの前記第1の表現がプログラム・メモリ内にロードされない請求項18または19のいずれかに記載のコンピュータ・プログラム・プロダクト。
  21. 前記オブジェクトが幾何学的オブジェクトを含み;
    前記オブジェクトの前記第1の表現が前記オブジェクトの3次元モデルを含む請求項18〜20のいずれかに記載のコンピュータ・プログラム・プロダクト。
  22. 前記オブジェクトがカメラ・オブジェクトを含み;かつ、
    前記カメラ・オブジェクトの前記第1の表現が、カメラの視野、カメラの位置、カメラの向き、アスペクト比からなるグループから選択されたプロパティを含む請求項18項〜第21項のいずれかに記載のコンピュータ・プログラム・プロダクト。
  23. 前記オブジェクトが照明オブジェクトを含み;
    前記照明オブジェクトの前記第1の表現が、照明源のタイプ、照明の色、照明源、照明の質、照明の形状からなるグループから選択されたプロパティを含む請求項18項〜第22項のいずれかに記載のコンピュータ・プログラム・プロダクト。
JP2006549751A 2004-03-26 2004-04-30 改良された動的シーン・ディスクリプタの方法と装置 Expired - Lifetime JP4559439B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/810,487 US7548243B2 (en) 2004-03-26 2004-03-26 Dynamic scene descriptor method and apparatus
PCT/US2004/013626 WO2005104043A1 (en) 2004-03-26 2004-04-30 Improved dynamic scene descriptor method and apparatus

Publications (2)

Publication Number Publication Date
JP2007531928A true JP2007531928A (ja) 2007-11-08
JP4559439B2 JP4559439B2 (ja) 2010-10-06

Family

ID=34989231

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006549751A Expired - Lifetime JP4559439B2 (ja) 2004-03-26 2004-04-30 改良された動的シーン・ディスクリプタの方法と装置

Country Status (7)

Country Link
US (2) US7548243B2 (ja)
EP (1) EP1728218A4 (ja)
JP (1) JP4559439B2 (ja)
CN (1) CN100545869C (ja)
CA (1) CA2539623C (ja)
NZ (1) NZ546016A (ja)
WO (1) WO2005104043A1 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101069213B (zh) * 2004-11-30 2010-07-14 松下电器产业株式会社 场景修饰表现生成装置以及场景修饰表现生成方法
FR2898707B1 (fr) * 2006-03-17 2009-05-15 Streamezzo Sa Procede, dispositif et systeme de gestion d'informations structurees au sein d'une scene graphique
KR100898991B1 (ko) 2006-12-02 2009-05-27 한국전자통신연구원 3차원 그래픽 시스템의 쉐이더 제공 및 변환 장치
USH2253H1 (en) * 2008-06-26 2011-05-03 Pixar Multiple personality articulation for animated characters
US10726634B2 (en) * 2018-05-04 2020-07-28 Microsoft Technology Licensing, Llc Generating and providing platform agnostic scene files in an intermediate format
US20220134222A1 (en) * 2020-11-03 2022-05-05 Nvidia Corporation Delta propagation in cloud-centric platforms for collaboration and connectivity
CN113628321A (zh) * 2021-07-15 2021-11-09 杭州玖欣物联科技有限公司 一种大型工业三维模型渲染的方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11328447A (ja) * 1998-04-03 1999-11-30 Avid Technol Inc 複雑なシ―ンの選択的部分レンダリング自動発生システム
JP2000306120A (ja) * 1999-04-22 2000-11-02 Mitsubishi Electric Corp 分散仮想空間情報管理伝送方法
JP2001202531A (ja) * 1999-10-15 2001-07-27 Hitachi Kokusai Electric Inc 動画像編集方法
JP2002133444A (ja) * 2000-10-20 2002-05-10 Matsushita Electric Ind Co Ltd 映像情報作成装置

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6348921B1 (en) * 1996-04-12 2002-02-19 Ze Hong Zhao System and method for displaying different portions of an object in different levels of detail
US5999194A (en) * 1996-11-14 1999-12-07 Brunelle; Theodore M. Texture controlled and color synthesized animation process
US6058397A (en) * 1997-04-08 2000-05-02 Mitsubishi Electric Information Technology Center America, Inc. 3D virtual environment creation management and delivery system
US6232974B1 (en) * 1997-07-30 2001-05-15 Microsoft Corporation Decision-theoretic regulation for allocating computational resources among components of multimedia content to improve fidelity
US6278448B1 (en) * 1998-02-17 2001-08-21 Microsoft Corporation Composite Web page built from any web content
US6353437B1 (en) * 1998-05-29 2002-03-05 Avid Technology, Inc. Animation system and method for defining and using rule-based groups of objects
US6278466B1 (en) * 1998-06-11 2001-08-21 Presenter.Com, Inc. Creating animation from a video
US6313837B1 (en) * 1998-09-29 2001-11-06 Schlumberger Technology Corporation Modeling at more than one level of resolution
US6559845B1 (en) * 1999-06-11 2003-05-06 Pulse Entertainment Three dimensional animation system and method
US7042454B1 (en) * 1999-10-27 2006-05-09 Hewlett-Packard Development Company, L.P. Method and apparatus for displaying distributed multiresolution scenes
US6400372B1 (en) * 1999-11-29 2002-06-04 Xerox Corporation Methods and apparatuses for selecting levels of detail for objects having multi-resolution models in graphics displays
US6573898B1 (en) * 2000-07-21 2003-06-03 Avid Technology, Inc. Analysis of properties of effects for rendering and caching of media data
EP1191793A3 (en) 2000-09-25 2008-01-23 Monolith Co., Ltd. Animation distributing method, animation distributing server and corresponding system
US6985145B2 (en) * 2001-11-09 2006-01-10 Nextengine, Inc. Graphical interface for manipulation of 3D models
JP2004213641A (ja) * 2002-12-20 2004-07-29 Sony Computer Entertainment Inc 画像処理装置、画像処理方法、情報処理装置、情報処理システム、半導体デバイス、コンピュータプログラム
US7616220B2 (en) * 2003-12-23 2009-11-10 Intel Corporation Spatio-temporal generation of motion blur

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11328447A (ja) * 1998-04-03 1999-11-30 Avid Technol Inc 複雑なシ―ンの選択的部分レンダリング自動発生システム
JP2000306120A (ja) * 1999-04-22 2000-11-02 Mitsubishi Electric Corp 分散仮想空間情報管理伝送方法
JP2001202531A (ja) * 1999-10-15 2001-07-27 Hitachi Kokusai Electric Inc 動画像編集方法
JP2002133444A (ja) * 2000-10-20 2002-05-10 Matsushita Electric Ind Co Ltd 映像情報作成装置

Also Published As

Publication number Publication date
NZ546016A (en) 2008-08-29
CN1864179A (zh) 2006-11-15
EP1728218A1 (en) 2006-12-06
US7839408B2 (en) 2010-11-23
CN100545869C (zh) 2009-09-30
US20090295806A1 (en) 2009-12-03
EP1728218A4 (en) 2007-08-08
US7548243B2 (en) 2009-06-16
CA2539623C (en) 2013-12-17
WO2005104043A1 (en) 2005-11-03
CA2539623A1 (en) 2005-11-03
JP4559439B2 (ja) 2010-10-06
US20050212803A1 (en) 2005-09-29

Similar Documents

Publication Publication Date Title
US20200320299A1 (en) Tagging virtualized content
US7873685B2 (en) System and method for flexible path handling
CA2795739C (en) File format for representing a scene
US7463264B2 (en) Method and system for distributed serverless file management
US7564457B2 (en) Shot shading method and apparatus
US7839408B2 (en) Dynamic scene descriptor method and apparatus
US8612485B2 (en) Deferred 3-D scenegraph processing
WO2005119496A2 (en) Dependency graph-based aggregate asset status reporting methods and apparatus
WO2005116931A1 (en) Automatic pre-render pinning of change isolated assets methods and apparatus
AU2009305105A1 (en) System and method for hybrid solid and surface modeling for computer-aided design environments
US20050253849A1 (en) Custom spline interpolation
WO2005116934A1 (en) Manual component asset change isolation methods and apparatus
US7268784B2 (en) Adaptive caching of animation controls
US8219637B2 (en) Storage management for renderfarm
US20040217961A1 (en) Shot rendering method and apparatus
Stein et al. hare3d-rendering large models in the browser
JP2006525558A (ja) ショット・レンダリングの方法と装置

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090616

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090911

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20100713

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100722

R150 Certificate of patent or registration of utility model

Ref document number: 4559439

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130730

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250