[go: up one dir, main page]

JP2000516371A - バーチャルシネマトグラフィの方法及びシステム - Google Patents

バーチャルシネマトグラフィの方法及びシステム

Info

Publication number
JP2000516371A
JP2000516371A JP10510766A JP51076698A JP2000516371A JP 2000516371 A JP2000516371 A JP 2000516371A JP 10510766 A JP10510766 A JP 10510766A JP 51076698 A JP51076698 A JP 51076698A JP 2000516371 A JP2000516371 A JP 2000516371A
Authority
JP
Japan
Prior art keywords
virtual
idiom
cinematography
camera
actor
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.)
Pending
Application number
JP10510766A
Other languages
English (en)
Other versions
JP2000516371A5 (ja
Inventor
マイケル エフ コーエン
リ―ウェイ ヘ
デヴィッド サレシン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Corp
Original Assignee
Microsoft Corp
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 Microsoft Corp filed Critical Microsoft Corp
Publication of JP2000516371A publication Critical patent/JP2000516371A/ja
Publication of JP2000516371A5 publication Critical patent/JP2000516371A5/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/60Methods for processing data by generating or executing the game program
    • A63F2300/66Methods for processing data by generating or executing the game program for rendering three dimensional images
    • A63F2300/6661Methods for processing data by generating or executing the game program for rendering three dimensional images for changing the position of the virtual camera
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/60Methods for processing data by generating or executing the game program
    • A63F2300/66Methods for processing data by generating or executing the game program for rendering three dimensional images
    • A63F2300/6661Methods for processing data by generating or executing the game program for rendering three dimensional images for changing the position of the virtual camera
    • A63F2300/6669Methods for processing data by generating or executing the game program for rendering three dimensional images for changing the position of the virtual camera using a plurality of virtual cameras concurrently or sequentially, e.g. automatically switching between fixed virtual cameras when a character change rooms
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/60Methods for processing data by generating or executing the game program
    • A63F2300/66Methods for processing data by generating or executing the game program for rendering three dimensional images
    • A63F2300/6661Methods for processing data by generating or executing the game program for rendering three dimensional images for changing the position of the virtual camera
    • A63F2300/6684Methods for processing data by generating or executing the game program for rendering three dimensional images for changing the position of the virtual camera by dynamically adapting its position to keep a game object in its viewing frustrum, e.g. for tracking a character or a ball

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Graphics (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Processing Or Creating Images (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • User Interface Of Digital Computer (AREA)
  • Studio Devices (AREA)

Abstract

(57)【要約】 コンピュータによって発生される三次元バーチャル環境における通信が、一般的に映画のために用いられ自動的に適用されるシネマトグラフィの規則によって達成される。翻訳されたシネマトグラフィイベント(38)からカメラビュー仕様が生成される(40)。バーチャルリアリティ及び他の対話型アプリケーションにおいて、バーチャルシネマトグラフィアプリケーションモジュール(VC)(50)と呼ばれるリアルタイムカメラコントローラを用いて、固定視点ショット及び天井にマウントされたカメラについて改善する。VC(50)をインテリジェントエージェントユーザーインターフェースで用いることにより、自然に見えるカメラ位置のエージェントを用いて、ユーザーが自身を見ることができるようになる。

Description

【発明の詳細な説明】 バーチャルシネマトグラフィの方法及びシステム 発明の分野 本発明はコンピュータアニメーションに関する。更に特別には、本発明は、コ ンピュータで動画化される仮想的三次元の環境でイベントを表示するための仕様 の発生に関する。 本発明の背景と要約 インターネットのようなコンピュータネットワークの爆発的な発展により、コ ンピュータのユーザーは、遠隔のサイトから情報をテキスト、グラフィックス並 びにオーディオ及びビデオセグメントの形で取得するための便利な方法を与えら れた。更に、インターネット又は他のネットワーク(例えばイントラネット)に 接続されたコンピュータのユーザーは、コンピュータを利用して、そのネットワ ークに接続された他のコンピュータユーザーとリアルタイムで対話することがで きるようになった。例えば、コンピュータユーザーは、遠隔のコンピュータユー ザーとの動画化されたコンピュータビデオゲームに参加することができる。この ような動画化されたコンピュータビデオゲームのいくつかは、コンピュータで発 生され、コンピュータユーザーが動画化された仮想的キャラクタを制御すること ができる、仮想的三次元(3D)の環境を利用している。 更に、コンピュータユーザーが制御し且つコンピュータユーザーを表す動画化 された3Dバーチャル俳優(時にはアヴァターと呼ばれる)を通して、コンピュ ータユーザーが相互に対話するバーチャル3Dチャット環境が一般的になってい る。この型のチャット環境においては、例えば、各ユーザーが3Dディスプレイ の部屋に入り、この部屋で、バーチャル俳優即ちアヴァターが、ユーザーが相互 に話し合うように動作する。バーチャル俳優は、相互に話し合うコンピュータユ ーザーを3Dディスプレイに表示するように配置される。この型の映像表示は、 通信インターフェースとしてテキストを用いる従来のチャット環境においては不 可能である。 この型のバーチャル3D環境におけるコミュニケーションは、大きな将来性を 持つ一方で多くの問題点を持っている。例えば、ユーザーにとって時には、3D 環境を理解し操作することが困難な場合があり、話し合いたいと考えるコンピュ ータユーザーのバーチャル俳優をシミュレーション環境中で発見することが困難 な場合があり、更に、相互に話し合う全てのユーザーが相互に他の俳優を見出し 得るような俳優の配置を行うことが困難な場合がある。 このような型の問題は、一世紀以上も前に映画が作られるようになって以来、 映画撮影者が直面してきた問題と似ている。何年もの間、映画撮影者は、俳優が よく分かるように且つ効果的に話し合うことを可能にする映画の慣行又は規則を 発展させてきた。これらの映画の規則は、厳密に表現されることは少ないが、極 めて一般的であり観客によって認められ且つよく理解されている。これらのシネ マトグラフィ慣行又は規則は、映画撮影情報を保持するためのカメラ位置、シー ン構成、及び、「ショット間」一致規則を利用する。例えば、観客は、道路と自 動車が中心になっている風景を最初は高い位置から見て、次に低い位置から見る 風景に変わり、続いて自動車の中の人のクローズアップに移るシーンをよく理解 する。 コンピュータグラフィックスの世界では、カメラ位置及びシーン構成を制御す るためのシネマトグラフィ慣行又は規則は殆ど注意を引かなかった。多くのコン ピュータアニメーションシステムが、いくつかのシネマトグラフィの原理をコン ピュータグラフィックスに応用することを試みているが、この応用は、オフライ ン設計を用いて複雑なタスクを説明する教訓的表現を設計するためのアニメーシ ョン設計システム、自然言語コマンドに応答する半自動的俳優の創造、及び、録 画ビデオのライブラリーからのビデオクリップの短いシーケンスの収集に限られ ている。このように応用されてはいるが、これらのシステムは、一般的に、カメ ラ位置又はショット間一致規則(例えば、フレームの左側からシーンを出た俳優 が右側から再び入ることは不一致のように見える)に殆ど又は全く注意を払って いない。 いくつかの対話型アニメーションシステムが、対話型タスクを実行する際に最 良のカメラ位置を見出すことについて説明している。しかし、これらのシステム は、連続したシーンを制作することを企図することはなく、それらの仕様を発展 させる際にシネマトグラフィの規則を応用することもない。 コンピュータによって実行されるバーチャル3Dアプリケーションのための自 動的シネマトグラフィの原理は、従来の映画制作では見られなかった困難な問題 を提示している。映画撮影の種々の規則の非公式な説明が種々のテキストに掲載 されているが、これらは一般的に、コンピュータによって実行し得る公式の言語 で表現できる程正確には定義されていない。それに加えて、コンピュータ上での リアルタイムの自動作像又は「カメラ」制御に対する制約は、それを乗り越える ために人間のディレクタが直面するよりも更に困難なものである。人間のディレ クタは、一般的に前もって合意されている台本に基づいて作業を行い、後でオフ ラインで生のフィルムを編集することができる。これは、リアルタイムで実行さ れる対話型3Dコンピュータアプリケーションでは不可能である。 本発明によれば、自動シネマトグラフィの原理に伴う問題が除去される。本発 明は、自動シネマトグラフィの原理に基づくバーチャル3D環境において、イベ ントを捉えるか又は表現するための、バーチャルシネマトグラフィ方法を含む。 この方法は、特定の時間間隔(例えば1コンピュータクロックチック)中に生起 するイベントの記述の受入れを含む。イベントは、一般的に、例えば(主語、動 詞、目的語)のような選択された形式である。例えばイベント(B、話す、A) は、バーチャル俳優Bがバーチャル俳優Aに話をすることを意味する。受入れら れたイベントが翻訳され、バーチャル俳優を撮るために使用される適当なカメラ の仕様を生成する。 この方法は、カメラモジュール及びシネマトグラフィイディオムの二つの主コ ンポーネントを用いる。カメラモジュールは、一つのシーンにおいて、特定のカ メラの低レベルの幾何学的配置を行うために、及び、各カメラショットが最良の フレームになるようにバーチャル俳優の位置を微妙に変えるために用いられる。 シネマトグラフィイディオムは、カメラショットをシーケンス(例えばアニメー ションシーケンス)に結合するために用いられるシネマトグラフィロジックを記 述する。カメラモジュール及びシネマトグラフィイディオムは、共にバーチャル フィルム及びアニメーションを制作するために用いられる。 この方法は、バーチャルシネマトグラフィアプリケーションモジュール(VC )と称する、自動バーチャルシネマトグラフィのための有限状態マシンに基づく リアルタイムカメラコントローラを実現するために用いられる。VCは、バーチ ャルリアリティー及び他の対話型アプリケーションにおいて、そのようなアプリ ケーションで一般的に用いられる固定視点ショット又は天井にマウントされたカ メラを改善するために使用される。更に、VCは、「インテリジェントエージェ ント」ユーザーインターフェースの改善を助け、自然に見えるカメラ位置にある エージェントを用いてユーザーが自身を見ることができるようにする。 本発明の前述の及び他の特徴並びに利点が、添付の図面を参照して行われる以 下の詳細な説明から、容易に明らかとなろう。 図面の簡単な説明 図1は、本発明の例示的実施例を実行するために用いられるコンピュータシス テムのブロック図である。 図2は、本発明の一実施例のための一メソッドを説明するフロー図である。 図3は、本発明のための一つのシステムのブロック図である。 図4は、「ライン」の概念を説明するブロック図である。 図5は、フィルムシネマトグラフィのためのカメラ位置を説明するブロック図 である。 図6は、拡大カメラショット及び全体カメラショットを説明するブロック図で ある。 図7A及び7Bは、カメラショット中の3人の俳優の配置を説明するブロック 図である。 図8は、会話中の3人の俳優に対して用いられるカメラショットを説明するブ ロック図である。 図9は、apexカメラモジュールを説明するブロック図である。 図10は、closeapexカメラモジュールを説明するブロック図である。 図11は、apex3カメラモジュールを説明するブロック図である。 図12は、externalカメラモジュールを説明するブロック図である。 図13は、external1to2カメラモジュールを説明するブロック図である。 図14は、exclose2カメラモジュールを説明するブロック図である。 図15は、internalカメラモジュールを説明するブロック図である。 図16は、fullカメラモジュールを説明するブロック図である。 図17は、trackingカメラモジュールを説明するブロック図である。 図18は、panningカメラモジュールを説明するブロック図である。 図19は、followカメラモジュールを説明するブロック図である。 図20は、fixedカメラモジュールを説明するブロック図である。 図21は、raisedカメラモジュールを説明するブロック図である。 図22は、groupカメラモジュールを説明するブロック図である。 図23は、subjectiveカメラモジュールを説明するブロック図である。 図24は、「ライン」の位置の変更を説明するブロック図である。 図25は、イディオムのための有限状態マシンを説明するブロック図である。 図26は、他の有限状態マシンを含む状態の有限状態マシンを説明するブロッ ク図である。 図27は、2人の俳優の間の会話のためのイディオムを説明するブロック図で ある。 図28は、3人の俳優の間の会話のためのイディオムを説明するブロック図で ある。 図29は、個別イディオムを生成するための一メソッドを説明するフロー図で ある。 図30は、コンプレックスイディオムを生成するための一メソッドを説明する フロー図である。 図31は、ハイレベルイディオムを生成するための一メソッドを説明するフロ ー図である。 図32は、一つのハイアラーキ的なイディオム構成を説明するブロック図であ る。 図33は、イディオムからバーチャルムービーを制作するための一メソッドを 説明するフロー図である。 図34は、イディオムコーディネートディスプレイシステムを説明するブロッ ク図である。 図35は、バーチャルシネマトグラフィアプリケーションのためのユーザーイ ンターフェースを説明するブロック図である。 好ましい実施例の詳細な説明 図1においては、本発明の例示的実施例のための動作環境は、メモリーシステ ム16、入力デバイス18及び出力デバイス20が接続された少なくとも一つの高速処 理ユニット(CPU)14を含むコンピュータ12を具えるコンピュータシステム10 である。これらの要素はバス構造22によって相互接続される。 図示されているCPU14は、一般的なものであり、計算を実行するためのAL U24、データ及び命令の一時記憶のためのレジスタの集合体26、及び、システム 10の動作を制御するための制御ユニット28を含む。CPU14としては、Digital Equipment,Sun,MIPS,IBM,Motorola,NEC,Intel,Cyrix,AMD,Nexgen及び その他の製品を含むどのような型のプロセッサであってもよい。図には一つのC PU14が示されているが、コンピュータシステム10は複数の処理ユニットを含ん でいてもよい。 メモリーシステム16はメインメモリー30及び二次記憶32を含む。図示されたメ インメモリー30は、高速ランダムアクセスメモリー(RAM)及びリードオンリ ーメモリー(ROM)である。メインメモリー30は、他の追加又は代替の高速メ モリーデバイス又はメモリー回路を含むことができる。二次記憶32は、ROM、 光又は磁気ディスク、有機メモリー又はその他の揮発性又は不揮発性大量記憶シ ステムのように長期間記憶の形をとる。当業者には、メモリー16が種々の他のコ ンポーネント及び/又は他のコンポーネントの組合せを含み得ることが理解され るであろう。 入力及び出力デバイス18、20も同様に一般的である。入力デバイス18は、キー ボード、マウス、ポインティングデバイス、オーディオデバイス(例えばマイク ロホン等)又はコンピュータシステム10への入力となるその他のデバイスを含む ことができる。出力デバイス20は、ディスプレイ、プリンター、オーディオデバ イス(例えばスピーカー等)又はコンピュータシステム10の出力となるその他の デバイスを含むことができる。入力及び出力デバイス18、20は、更に、ネットワ ークコネクション、モデム、又は他のコンピュータシステム又はデバイスと通信 するために用いられるその他のデバイスを含むことができる。 当業者には周知のように、コンピュータシステム10は、更に、オペレーティン グシステム及び少なくとも一つのアプリケーションプログラムを含む。オペレー ティングシステムは、コンピュータシステムの動作及びリソースの割当てを制御 する一組のソフトウェアである。アプリケーションプログラムは、オペレーティ ングシステムを通して利用可能とされたコンピュータリソースを用いてユーザー が希望するタスクを遂行する一組のソフトウェアである。これら両者は図示され たメモリー16に格納されている。 例外の表示を行う場合を除き、コンピュータプログラミングの当業者のプラク ティスに従い、作用及びコンピュータシステム10によって遂行される動作の記号 表示を参照して、本発明を以下に説明する。そのような作用及び動作は、時には コンピュータで実行されるべきものとして参照される。作用及び記号表示される 動作は、CPU14により、電気信号表示の変換又は転化を生じさせるデータビッ トを表す電気信号を取扱うこと、及び、メモリーシステム16のメモリー位置にお いてデータビットを保持し、それによってコンピュータシステムの動作並びに信 号の他の処理を再構成するか又は変更することを含むことが明らかとなろう。デ ータビットが保持されるメモリー位置は、そのデータビットに対応する特定の電 気的、磁気的、光学的、又は有機的性質を有する物理的位置である。 データビットは、更に、コンピュータ12が読取ることができる磁気ディスク、 及びその他の揮発性又は不揮発性大量記憶システムを含む、コンピュータ読取り 可能の媒体上に保持することができる。コンピュータ読取り可能媒体は、コンピ ュータシステム10の専用として具えられているか、又は、ローカル又はリモート として複数の相互接続されたコンピュータシステム10に沿って分布し、共同動作 するか又は相互接続されているコンピュータ読取り可能媒体を含む。 図2に示されるように、本発明の例示的実施例は、バーチャル3D環境で、コ ンピュータが発生するシーンを表現するためのバーチャルシネマトグラフィのメ ソッド34を含む。そのようなバーチャル3D環境は、バーチャルオブジェクト又 はキャラクタの表示映像がコンピュータにより発生され、ディスプレイスクリー ン上に表示される、3D映像空間を表す。シネマトグラフィは「バーチャル」で あり、その映像は、カメラではなくコンピュータの視点、倍率等で生成される。 メソッド34は、特定の時間間隔(例えば1コンピュータクロックチック)に生 起するイベントの記述の受入れ36を含む。一般的にイベントは、例えば(主語、 動詞、目的語)のような選択された形で表現される。例えば、イベント(B、話 す、A)は、バーチャル俳優Bがバーチャル俳優Aに話をすることを意味する。 イベントが翻訳され38、適当なバーチャルカメラの仕様が生成される40。更に、 バーチャル俳優がもっとよいフレームに移動するために、作用のヒントが発生さ れる。 図3は、本発明の例示的実施例のためのシステム44を示す。システム44は、イ ベントの記述並びに静的な幾何学的情報、材料の性質(例えば織物及び陰影)及 び照明の配置を含む他の情報48をバーチャルシネマトグラフィアプリケーション モジュール50に供給する、リアルタイムアプリケーションモジュール46(例えば マルチユーザーチャットアプリケーション、コンピュータビデオゲーム、ビデオ 会議アプリケーション、バーチャルリアリティーアプリケーション等)を含む。 バーチャルシネマトグラフィアプリケーションモジュール50は、バーチャルシネ マトグラフィのためのメソッド34を実行し、バーチャルカメラ情報及びバーチャ ル俳優の取扱い情報52をレンダラーモジュール54に送る。バーチャルシネマトグ ラフィアプリケーションモジュール50は、更に、リアルタイムアプリケーション モジュール46からの情報(例えば、バーチャル俳優の位置)に対する質問56を作 ることができる。レンダラーモジュール54は、例えば、Washington州RedmondのM icrosoft Corporationから入手可能であるDirect3Dのようなグラフィックス及び アニメーションのソフトウェアを含む。しかしながら、他のレンダラーソフトウ ェアを利用することもできる。レンダラーモジュール54は、リアルタイムアプリ ケーションモジュール46から、アニメーションパラメータ58(例えば、静的幾何 学的情報、バーチャル俳優モデル、照明配置等)を受取る。 リアルタイムアプリケーションモジュール46は更に、設計された時間間隔(例 えば、1クロックチック)にユーザーから入力を取込み、バーチャル俳優を適当 に動かし、その結果のアニメーション情報60(例えばバーチャル俳優の位置)を レンダラーモジュール54に返送する。それに加えて、設計された時間間隔に、バ ーチャルシネマトグラフィアプリケーションモジュール50は、バーチャルカメラ の仕様を決定し、それによりバーチャル環境が提供される。バーチャルシネマト グラフィアプリケーションモジュール50は、更に、必要な場合に、バーチャル俳 優の位置及び動作を僅かに変える。フィルムシネマトグラフィ 映画又はフィルムは一般的に、それぞれが通常の連続的な状態又は動作を捉え る一連の複数のシーンからなる。それぞれのシーンは、順番に一又は複数のカメ ラショットから構成される。一つのカメラショットは、カメラの連続的な動作に よって形成される一つの動画セグメントである。一般的に、フィルムは、それぞ れのショットが一般的に1秒から10分の2秒間続く、多数の個別のカメラショ ットを含む。 図4は、大部分の映画で用いられるフィルムのシネマトグラフィ慣行又は規則 を示す。特に、映画の監督は、会話する2人の俳優X64及びY66を結ぶ仮想的な ベクトルである「ライン」62に対して、カメラの位置を決定する。ライン62は更 に、俳優の動作の線68の方向を示すか又は俳優が向いている方向を示す。カメラ 位置70はライン62に対して決定される。 図5に示されるように、ライン62に関して、カメラ位置A72から俳優Y66を撮 影することを「外側逆方向位置」と呼ぶ。この場合、俳優Y66の右側3分の2に 焦点が合うが、左側3分の1は俳優X64の頭部の後側を示す。カメラ位置B74か ら俳優X64を撮影することを「平行カメラ位置」と呼ぶ。この場合、俳優X64の みを示す。カメラ位置C76から俳優X64を撮影すると「内側逆方向位置」が得ら れる。一般的に、C76のカメラ設定においては、俳優X64はショットの左側3分 の2のみを占める。D78の位置からの撮影では、俳優X64及びY66の両者を示す 「頂点位置」ショットが得られる。位置E80からの撮影により、俳優Y66に対す る「内側逆方向位置」が得られる。位置F82からの撮影により、俳優Y66に対す る「平行カメラ位置」が得られる。最後に、位置G84からの撮影は「外側逆方向 位置」と呼ばれる。この場合、このショットの左側3分の2は俳優X64に焦点が 合い、右側3分の1は俳優Y66の頭部の後側を示す。しかしながら、映画監督に より他のカメラ位置も使用される。 映画撮影者は、或る「切取り高さ」が快適な画面を作るがそうでない場合は不 快な結果(例えば俳優を足首でカットした映像は不快である)になることを心得 ている。この分野では、一般的に五つの有用なカメラ距離が存在する。(1)超ク ローズアップビュー、首でカット。(2)クローズアップビュー、胸又は腰でカッ ト。(3)中間ビュー、股又は膝下でカット。(4)全体ビュー、俳優全体を示す。及 び(5)ロングビュー、俳優の遠景を示す。 切取り高さを用いると、特定のクローズアップに対して自然に見える俳優の位 置は、後側から見る場合には共にかなり近いように見える。スクリーン上で自然 に見えるためには、更に、個々のショットで俳優の位置が微妙に異なることが必 要である。例えば、図6に示されるように、ライン62に関する俳優X88及び他の 俳優Y90のクローズアップ86は完全に自然に見える。しかしながら、全体画面92 は、俳優X88とY90が期待されている以上に互いに接近しており、従って、全体 画面92は不快である。 同様に、複数の俳優を含むショットでは、俳優を正しい位置に配置するために 俳優の位置を変えることがしばしば必要になる。図7Aに示されるように、ライ ン62に関して、第1の俳優X94及び第3の俳優Z98を部分的に隠すか又は遮る第 2の俳優Y96が存在する。第3の俳優Z98の位置を変えることにより、第3の俳 優Z98を含むショットを適正に作ることができる。図7Bに示されるように、第 1の俳優X94及び第2の俳優Y96は同一の位置にいるが、第3の俳優Z98が移動 している。しかしながら、第3の俳優Z98の位置をそのままにして第1の俳優X 94及び第2の俳優Y96の位置を動かしても、同様の結果が得られる。フィルムシネマトグラフィにおけるヒューリスティックス 映画撮影者は、良いショットを選択するための極めて多数のヒューリスティッ クス(規則)を明らかにし、良いシーンを制作するために連続的なショットに課 される制約を非公式に明らかにしてきた。極めて重要なヒューリスティックスは 、「ラインを交差させないこと」、「ジャンプカットを避けること」、「導入シ ョットを用いること」、「俳優にリードさせること」、「動作を分けること」及 び「連続的な動作を続けること」を含む。しかしながら、他のヒューリスティッ ク スも用いられる。 「ラインを交差させない」規則により、動いている俳優の連続的なショットが 確実に外見上の運動の方向を維持する。図5に示されるように、最初のショット がライン62の一方から開始されると、他の側への移動を示すために中間的な導入 ショットを用いる場合を除いて、それに続くショットはその側から撮られなけれ ばならない。図5の右方向への俳優Y66の移動は、ライン62の他の側にあるカメ ラにとって左側に移動するように見える。 一つのシーン(即ち一つのカット)中のカメラショットにおける変化は、「ジ ャンプカットを避ける」ために、二つのショット間のサイズ、視野、又は俳優の 数における差異が注意されなければならない。この条件に合致しないカットはジ ャンプカットとして知られており、一般的に愚かな不注意とみられる。 「導入ショットを用いる」規則は、接近ショットに移る前に背景シーンを導入 する。そのシーン中に新しい展開がある場合は、他の背景状況を再導入する。 「俳優にリードさせる」ことにより、俳優が全ての動作を創造し、カメラがそ れを追うようになる。カメラが俳優の前で休止することが少なくなる。 「動作を分ける」規則については、動作を表すシーンが少なくとも二つのショ ットに分けられる。一般的に各ショットは、俳優がスクリーンの半分の範囲を動 くように見えるカットである。カメラと対象との距離の変更はスイッチで行われ る。 「連続的な動作を続ける」規則は、動いている対象がカットを横切る外見上の 速度を一定にしなければならず、更に、動く方向が逆にならないようにすること を示す。カメラショットシーケンス 映画撮影者は、特定の動作を捉えるための原則として、連続的ショットを用い る。例えば3人の俳優の間の会話においては、映画撮影者は、多分3人全体の導 入ショットから始め、その後で、会話をしている2人の俳優の外側逆方向ショッ トに入り、その間時々第3の俳優のリアクションショットを入れるであろう。例 えば、D.Arijonの「Grammer of the Film Language」(Hasting House,New York, 1976)のような文献は、非公式に種々の原則を明らかにし、それと共に、映画撮 影者が一つの原則を他のものより好む場合の状況の検討を行っている。 図8は、3人の俳優の間の会話を描写するための共通の原則を示す。この原則 はD.Arijonの文献の図6.29から得たものであり、3人の俳優の間の会話を描写す る方法を示している。第1ショットは、俳優A102(丸い頭)の肩越しに俳優B104 (八角の頭)及び俳優C106(三角の頭)の方向を向いた外側逆方向ショット100であ る。外側逆方向ショット100の画面は、ボックス108(B104'及びC106'及び俳優 A102'の頭部の後側)に示されている。 第2ショット110及び第3ショット112は、俳優B104及びC106の外側逆方向シ ョットである。これらのショットの画面は、それぞれボックス116及び118に示さ れている。外側逆方向ショット110は、ボックス116で、左側3分の2は俳優C106 '''(三角の頭)の頭部の後側を、右側3分の1は俳優B104'''(八角の頭)を示す 。外側逆方向ショット112は、ボックス118で、右側3分の2は俳優B104'''の頭 部を、左側3分の1は俳優C106'''を示す。第4ショット120は俳優A102''''の 内側逆方向リアクションショットである。ショット120の画面はボックス122に示 されている。俳優A102''''の「後側」に他の俳優がいないので、俳優A102'''' の頭部の前側のみが示されている。これは内側逆方向リアクションショットであ り、頭部の後側は示されていない。 この文献においてArijonは、俳優B104及びC106が俳優A102と会話をしてい る間は、この設定を用いる一般的なシーケンスの編集順序において、第1ショッ ト100(ボックス108)と第4ショット120(ボックス122)との間で変えるべきである としている。俳優B104及びC106が互いに会話を始めると、このシーケンスは、 第2ショット110(ボックス116)と第3ショット112(ボックス118)との間で変える ようにし、時々リアクションショット120(ボックス122)を入れるように変更する 。グループ全体を再導入するために、ショット100を周期的(例えば15秒毎)に 導入する。 シーケンス中にショットを挿入するための原則は広い範囲にわたっているが、 それぞれの映画監督は、小さいサブセットの原則のみに従う傾向がある。個々の 監督によって用いられる特別な原則は、その監督の映画に特定の味又は型を具え させる。本発明の例示的実施例においては、監督の型は、バーチャルシネマトグ ラフィアプリケーションモジュール50(以後VCと称する)でエンコードされる 特定の公式によって表される。アーキテクチャ 上述のフィルムシネマトグラフィの専門的技術は、作用及びコンピュータシス テム10によって遂行される動作の記号表示として、VC50でコンピュータソフト ウェア中にエンコードされる。VC50は、カメラモジュール及びイディオムの二 つの主コンポーネントを含む。カメラモジュールは、バーチャルカメラを実現し それにより、上述し且つ図5に示されるように、種々のカメラ位置を用いてコン ピュータ発生映像を形成する。カメラモジュールは更に、より良いショットとバ ーチャル俳優の動作のスケールの影響を調整するためにバーチャル俳優の位置を 僅かに変える。イディオムは、フィルムについて上述したように、カメラモジュ ールからのショットをシーケンスに結合するために用いられるロジックを記述す る。カメラモジュール 各カメラモジュールは、一次俳優と呼ばれる多数のバーチャル俳優を入力とし て扱う。実際の数はカメラモジュールそれぞれによって異なる。各カメラモジュ ールは、上述の五つの切取り高さに適合するように、バーチャルカメラを俳優か ら特定の距離に位置させる。しかしながら、異なる切取り高さを用いることもで きる。バーチャルカメラ位置は、同様に、俳優をショットの中の特定の部分に位 置させる。それに加えて、カメラモジュールは、ショットを改善するために俳優 の位置を僅かに変えることができる。最終的に、カメラ位置は、上述のライン62 と交差しない規則に従って自動的に選択される。 本発明の例示的な実施例においては、後述のように、19の異なるカメラモジ ュールが具えられている。しかしながら、他の数を用いることもできる。 図9に示されるように、カメラモジュールapex(actor1,actor2)124は、入力と して(actor1及びactor2に対応して)俳優A126及びB128を取り、バーチャルカ メラ130を、第1俳優A126がショットの一方の側の中心にあり、第2俳優B128 がライン62について他方の側の中心にあるように位置させる。カメラの距離は、 丸印で図示されている2人の俳優A126とB128との距離によって決められ る。 図10に示されるように、カメラモジュールcloseapex(actor1,actor2)132は 同様に頂点カメラ位置を実現する。しかしながら、closeapex()カメラモジュー ルとapex()カメラモジュールとは、後者がライン62について常にバーチャルカメ ラ134に対して接近したカメラ距離を用いる点で異なる。より快いショットを作 るために、このカメラモジュール132は、俳優A136とB138とを更に近づくよう に動かすことができる。 図11に示されるように、カメラモジュールapex3(actor1,actor2,actor3)140 は、俳優A142、B144及びC146を正三角形の位置に置く。カメラモジュールape x3()はバーチャルカメラ148をapex()124及びcloseapex()132と同一の相対的位置 に置くが、常に現在ショットに関連するライン62の側から撮影する。 図12に示されるように、カメラモジュールexternal(actor1,actor2)150は、 入力として2人の俳優A152及びB154を取り、バーチャルカメラ156を、第1俳 優A152が第2俳優B154の肩越しに見え、ショットの3分の2を第1俳優A152 が占め、ショットの残りの3分の1を第2俳優B154が占める位置に置く。同様 に、カメラモジュールexternal(actor2,actor1)は、バーチャルカメラ156'を、 第2俳優B154が第1俳優A152の肩越しに見え、ショットの3分の2を第2俳優 B154が占め、ショットの残りの3分の1を第1俳優A152が占める位置に置く。 これらのexternal()カメラモジュール画面は図8のボックス116、118に示されて いる。 2shot(actor1,actor2)カメラモジュール(図示していない)は、externalと同 様であるが、両方の俳優から離れた画面を用いる。 図13に示されるように、カメラモジュールexternal1to2(actor1,actor2,act or3)158は、1人の俳優A160と他の2人の俳優B162及びC164との間の外側カ メラ位置を実現する。external1to2()カメラモジュールは、バーチャルカメラ16 6を、2人の俳優B162及びC164が俳優A160の肩越しに見え、ショットの3分の 2を俳優B162及びC164が占め、ショットの残りを俳優A160が占める位置に置 く。この画面は図8のボックス108に示されている。 図14に示されるように、カメラモジュールexclose2(actor1,actor2,actor3) 168は、バーチャルカメラ170の焦点及び方向を、カメラモジュールexternal1to2 ()158におけるカメラ166と同一の位置にあり、ショットには3人の俳優のうち2 人の俳優のみが見えるように調整する。例えば、俳優B174及びC176がショット 中に見え、俳優A172はショット中に見えない。 図15に示されるように、カメラモジュールinternal(actor1,[actor2])178は 1人又は2人の俳優を含むことができる。2人の俳優A180及びB182が特定され ている場合、カメラ184はexternal()カメラモジュールと同一の視線に沿って配 置されるが、より接近し、視野が狭くなっており、従って第1俳優A180のみが 見え、スクリーンの3分の2を占める。1人の俳優A180が特定されている場合 は、俳優A180が向いている方向に沿ってライン62が設定され、このラインに対 して同一の方向にカメラ位置184'が選択される。 図16に示されるように、full(actor1,theta)カメラモジュール186は、俳優1 88をショットの中心に置く。俳優188までのカメラ距離は俳優188の全体が示され るように調整される。カメラ190の方向と俳優188の方向との間の角度はシータ19 2である。 次の三つの関連するカメラモジュールtracking()、panning()及びfollow()は 俳優が動く時に用いられる。これらは、カメラの位置及び/又は方向を動的に変 えて、所望の俳優の位置を第2の俳優に対してショットの中心に近い位置に保持 するためのカメラの変位を決める点において、上述のようなカメラモジュールと 異なる。上述のカメラモジュールにおいてはカメラ位置は固定されている。カメ ラモジュールtracking()、panning()及びfollow()は、ライン62からカメラ位置 までの距離を決定するために、最小距離及び最大距離の制限を用いる。 図17に示されるように、tracking(actor1,actor2,mindist,maxdist)カメラ モジュール194は、ライン62に直交するライン198に沿ってカメラ196を設定する 。続いて、カメラ196'は、俳優A200'が俳優B202に近づくに連れて、俳優A200 'に対して同一の方向198'を保ちながら俳優A200'と共に移動する。 図18に示されるように、panning(actor1,actor2,mindist,maxdist)カメラモ ジュール204は、ライン62から外れて俳優A2O8の前にカメラ206を設定し、続い て、俳優A208'が俳優B212に近づくに連れて、俳優A208'の移動に従って範 囲210の間で向きを変える。 図19に示されるように、follow(actor1,actor2,mindist,maxdist)カメラモ ジュール214は、tracking()194とpanning()204との両カメラモジュールの動作を 組合せたものである。最初の動作はpanningのカメラ216と同様であるが、俳優A 218が所定の点220を過ぎるとカメラ222が222'のように俳優A218を背後から「追 跡」(即ちtracking)を始め、俳優Aが俳優B224に近づくに連れて俳優A218' を一定の距離で追う。 残余のカメラモジュールは種々の機能を遂行する。図20に示されるように、 fixed(cameraspec)カメラモジュール226は、カメラ230について特定の固定され た位置、方向及び視野228を特定するために用いられる。それは、シーン232の全 体ショットを与えるために用いられる。 図21に示されるように、raised()カメラモジュール234は従前のカメラ位置 に関連して位置決めを行う。新しいカメラ位置236は、L1,H1にある従前のカメ ラ位置238より後退した位置L2及びより高い位置H2にあるが、シーン244につい て従前のカメラ位置238と同一の方向240を有する。 図22に示されるように、group(conversation)カメラモジュール246は、会話 中の全ての俳優248,250,252をカバーする。カメラ254からのgroup()ショットは 、リアルタイムアプリケーションモジュール46から送られる図形情報256(例え ば、境界を定めるボックス)によって決定される。 図23に示されるように、subjective(actor,target)カメラモジュール258は 、カメラ260を俳優の頭部262上の位置に同期させる。俳優の頭部262からみると 、方向は、俳優の頭部262からターゲット266(例えば他の俳優又はシーン中の目 的物)に向かうベクトル264に基づく。 次の三つのカメラモジュールについては、それぞれの機能が容易に分かるので 個々の図としては図示されていない。subjectzoom(actor)カメラモジュールは、 subjective(actor,target)カメラモジュール258に似ているが、時間の経過と共 に及び俳優がシーンを動き回るに連れてカメラ258の焦点距離が長くなる。pov(a ctor)カメラモジュールは、俳優の前面をシミュレートする。このカメラモジュ ールは、俳優の前面の位置及び向きを追跡する。null()カメラモジュールは、カ メラを従前の位置に残す。このカメラモジュールによって、カメラの向きが不変 に保たれる。ラインに関するバーチャルカメラ位置の選択 前述し且つ図4に示されるように、ライン62は、ショット中の2人の俳優64、 66に関して定められている。従って、ライン62それ自体は、ショットからショッ トへ必然的に変化する。フィルムシネマトグラフィの規則は、ライン62が不変に 保たれる場合、カメラ70はライン62の同一の側に留まるべきであることを示して いる。所定の仕様(例えば、俳優1、俳優2)のためのカメラモジュールは、ラ イン62に関し、ライン62の両側の対称位置に対応する二つのインスタンスのうち の一つを記述することができる。一つのショットから次のショットにかけてライ ン62が変化しない場合、特定のインスタンスの選択は簡単なことであり、ライン 62の同一の側のカメラ位置70を選択する。 ライン62が変化する場合は、例えばショットの中で2人の俳優のうちの1人が 位置を変えた場合、選択は容易に決定できない。図24について見ると、本発明 の例示的実施例によれば、新しいライン270に関して選択されたカメラの向き26 8が従前のカメラの向き70に最も近くなるように、特定のインスタンスが選択さ れる。上述のカメラモジュールは、一以上のカメラの向きを選択でき、従前のカ メラの向きに最も近い新しいラインを選択する。しかしながら、現在のラインが 変化した場合には、他のカメラ配向方法を用いることもできる。カメラモジュールの作用の影響 前述したように、カメラモジュールは、ショット中の俳優の動作の位置及びス ケールを定めることによってショットを微妙に改善することができる。リアルタ イムアプリケーション46は一次的には俳優の動作の変更にあるため、VC50によ って行われる変更は、ショット間の連続性を損なわないように微妙なものでなけ ればならない。 例えば、closeapex()カメラモジュール132は、2人の一次俳優の間の距離が或 る最小値より大きい場合には、図6のボックス86に示されているように、それら を近づけるように動く。apex3()カメラモジュール140は、図7Bに示されている ように、ショット中の3人の一次俳優の位置を、どの俳優も他の俳優によっ て隠されないように調整する。いくつかのカメラモジュールは、俳優がスクリー ン上で部分的にのみ見えるか又はそのシーンの他の一次俳優を隠すような状態を 避けるために、複数の俳優を一緒にショットから除くことができる。例えば、in ternal()カメラモジュール178は、図15に示されているように、実際の内側逆 方向ショットで映画撮影が行われるのと同様の方法で、第2の俳優B182をショ ットから除く。 カメラモジュールは更に、俳優の動作のスケールを定める。例えば、俳優がう なずく時に頭が動く程度、又は、俳優が歩く時に足を運ぶ程度である。変更は、 それぞれの俳優についてのパラメータを設定することにより、そのショット中の (一次俳優だけではなく)全ての俳優に適用され、それはレンダラー54が俳優の 動作のスケーリングのために用いることができる。このパラメータの設定のため に一つの機能L(scalequation)が用いられる。この機能は、スクリーン上の俳優 のサイズが減少するに従って単調に増加し、 L=arctan(距離−Dn)・k+1.0 で表される。ここで、Dnは俳優が動作の正規のレベル(例えば1.0)を有する場 所までの距離であり、kはLを0.5と1.5との間にスケールする。カメラモジュールによる閉じ込めの検出 カメラモジュールは、バーチャルカメラを設定する他に一つの付加機能を有す る。それらは、一又は複数の一次俳優がシーン中で閉じ込められた場合(例えば 図7Aの俳優Z98)にそれを検出する機能を有する。閉じ込めの場合、カメラモ ジュールは、閉じ込めカウンターを進めるか、又は閉じ込められた俳優が閉じ込 めの解除された状態になった場合にカウンターをゼロにリセットする。このカウ ンターは、イディオムが別のショットに変更するか否かの決定を行う際に利用す る。例えば、一般的に所定の時間間隔(例えば20時間チック)の間一つのショッ トを続けるイディオムが、閉じ込めが検出された場合に所定の時間間隔より早い 時期にショットの変更を決定することができる。カメラモジュールの利用 図3によれば、或る所定の時間間隔(即ちアニメーションシーケンスの各フレ ーム)で、リアルタイムアプリケーション46が、その時間間隔に起き且つ所望の 俳優に関連するイベントの記述をVC50に送る。イベントは(主語、動詞、目的 語)の形である。例えば、(B、話す、A)イベントは俳優Bが俳優Aに話をす ることを意味し、(A、動く、バー)イベントは俳優Aがバーの方へ動くことを 意味する。主語は俳優であり、一方目的語は、俳優、現在の会話、固定されてい る目的物(例えばバー)又はナルである。本発明の例示的な実施例においては、 動詞は後述するように、グループ(待機する、話す、反応する、見る、加わる、 合図する、動く)のうちの一つである。しかしながら、他の動詞を用いることも でき、イベントの他の形式を用いることもできる。 VC50は、レンダラー54に送るための適切なバーチャルカメラ仕様を生成する ために、現在のイベントに加えてアニメーションの現在の状態(例えば、現在の ショットの継続時間)を用いる。VC50は、バーチャルカメラ仕様を生成するた め、リアルタイムアプリケーション46に対して、種々のバーチャル俳優の特定の 位置及び境界ボックスのような追加の情報を質問する56。境界ボックスは、当業 者が周知のように、バーチャル俳優の全体又は一部を囲むボックスである。VC 50は更に、バーチャル俳優の位置及び動作に微妙な変化を与えることができる。 これは演技ヒントと呼ばれる。バーチャル俳優の位置のどのような変化について もレンダラー54に送られる52。 レンダラー54は、環境についての現在の記述、リアルタイムアプリケーション 46によって送られた俳優のためのアニメーションパラメータ58、及び、VC50に よって送られたアニメーションシーケンス中の一つのシーンを生成するためのカ メラ仕様及び演技ヒント52を用いてシーンを表現する。イディオム VC50は、カメラモジュールに加えてイディオムを用いる。一つのイディオム は、2人のバーチャル俳優の間の会話又は1人の俳優の一つの点から他の点への 移動のような特定の型の状態を捉えるための専門的技術をエンコードする。イデ ィオムは、適切なショットの型、及び、一つのショットから他のショットに移る ための条件を決定する機能を有する。イディオムは更に、2人の会話に第3の人 物が加わる場合のように、状態がそのイディオムの専門的技術の領域の外側には み出す程に変化した時点を決定する。 図25に示されるように、VC50中の一つのイディオムは、階層的有限状態マ シン(FSM)272として実現される。FSM272中の各状態274、276は一又は複 数のカメラモジュールを呼出す。従って、各状態が発生中のアニメーション中に おける個々のショットに対応する。各状態は更に、一つの条件が満足された場合 、FSM272が円弧278-284の一つに沿って他の状態に移るための条件のリストを 含む。例えば、条件Cにより、円弧280に沿って状態1 274から状態2 276へ移る 。その結果、FSM272中の一つの円弧が横切られる時にはいつでも無条件に一 つのカットが発生される。FSMは階層的であり、従って、各状態は、それ自体 、特定のエントリー状態及びエグジット状態を持ち、その状態がエントリーされ る時に実行されるFSMそのものと見ることができる。 図26は、一つの状態がそれ自体である、階層的FSMの例を示す図である。 イディオムA288は、ノード1 290及びノード2 292の二つのノードを有する。二 つのノードは円弧294-300で接続されている。この場合、ノード2 292はペアレン トと呼ばれるFSM302であり、それはイディオムBとして図示されているよう に、四つのチャイルド状態304-310及び円弧312-326を有する。ペアレント状態29 2は、チャイルド状態を含むと否とにかかわらず、他の状態と同様に取扱われる ことに注意すべきである。 イディオムは、以下の記法によって定義される。 DEFINE_IDIOM_IN_ACTION(<名称>) <アクション> END_IDIOM_IN_ACTION DEFINE_IDIOM_OUT_ACTION(<名称>) <アクション> END_IDIOM_OUT_ACTION ここで、<名称>はイディオムの名称(例えば、2人のバーチャル俳優の会話を表 す2Talk)であり、<アクション>はイディオムがエントリーされる時(IN_ACTION) 及びイディオムがエグジットされる(OUT_ACTION)前に、イディオムに対して生起 する動作である。アクションの例はWHEN(talking(A,B)GOTO(1))であり、これは 、バーチャル俳優AとBとが会話する場合にVC5Oがこのイディオムにつ いての有限状態マシン中の状態1に行くことを意味する。アクションは、イディ オムを実現するために用いられる特定のプログラミング言語で書かれる。 イディオムについて各状態に対する有限状態マシン中のアクションは、以下の 記法によって定義される。 DEFINE_STATE_ACTIONS(<名称>) <アクション> END_STATE_ACTION ここで、<名称>はアクションの名称(例えば、各状態に共通のアクションについ てCOMMON、状態1について1)であり、<アクション>はその状態に対して生起す る動作である。 一つのイディオムについての有限状態マシン中の状態は、in-action及びout-a ctionを持つことができる。in-actionは、以下の記法によって定義される。 DEFINE_STATE_IN_ACTIONS(<状態>) <アクション> END_STATE_IN_ACTION ここで<状態>は、in-actionが実行される際の状態の名称であり、<アクション> はin-actionアクションである。in-actionは、一つのイディオムの有限状態マシ ンにおける特定の状態が、それがエントリーされた時に特別な処理を必要とする 場合に用いられる。in-actionは、イディオムの有限状態マシンにおける全部又 は殆どについて不要であり、ナルである場合がある。out-actionは、以下の記法 によって定義される。 DEFINE_STATE_OUT_ACTIONS(<状態>) <アクション> END_STATE_OUT_ACTION ここで〈状態〉は、out-actionが実行される際の状態の名称であり、<アクショ ン>はout-actionアクションである。out-actionは、一つのイディオムの有限状 態マシンにおける特定の状態が、それがエグジットされる時に特別な処理を必要 とする場合に用いられる。out-actionは、イディオムの有限状態マシンにおける 全部又は殆どについて不要であり、ナルである場合がある。 前述のカメラモジュール(例えばexternal()150)はカメラセットアップモジ ュールによって定義される。カメラセットアップモジュールは、以下の記法を有 する。 DEFINE_SETUP_CAMERA(<イディオム>) 〈カメラアクション〉 END_SETUP_CAMERA_MODULES ここで〈イディオム〉はイディオムの名称であり、<カメラアクション>は、その イディオムのためのカメラモジュールをセットアップするためのアクションであ る。本発明の一実施例においては、モジュール作成及びモジュールリンクの二つ の型のカメラセットアップモジュールが用いられる。 MAKE_M0DULE(<モジュール識別子>,<型>,<パラメータリスト>)が、特定のパ ラメータで設計された型の新しいカメラセットアップモジュールを生成し、特定 のモジュール識別番号を与える。LINK_MODULE(<状態>,<モジュール識別子>,< 名称>)が、特定のカメラモジュールと特定の状態とを関連付ける。 本発明の一実施例においては、イディオムコードはプログラミングマクロと同 様にC++プログラミング言語で書かれる。イディオム中で定義されるアクショ ン及び他のステートメントは、C/C++プログラミング記法で書かれる。しか しながら、他のプログラミング言語を用いることもできる。大文字で書かれたキ ーワード(例えばMAKE_M0DULE)は、プログラミングマクロである。しかしなが ら、イディオムはプログラミングマクロを用いずに実現することも可能である。 付録Aは、イディオムを定義するために用いられるプログラミングマクロのリス トである。 イディオムマクロを含むソースコードがコンパイルされると、マクロはCプリ プロセッサでC/C++ソースコードに拡張される(一般的にC++はCプログ ラミング言語の拡張として提供される)。各イディオムマクロの定義は、そのイ ディオムマクロに対する所望のアクションを実際に遂行する、C+十手順に対す る一又は複数のコールを含む。例えば、マクロDEFINE_SETUP_CAMERA_MODULES() は、拡張されてC++ルーチンSetupCameraModules()をコールし、カメラモジュ ールのセットアップを遂行する。 本発明の一実施例においては、状態アクションで用いることができるいくつか のグローバル変数が存在する。それらには、一又は複数の一次俳優が閉じ込めら れている連続時間ユニットの数を表すOccluded、現在の状態における時間チック 又はユニットの数を表すT、全体としてこのイディオムで経過した時間ユニット の全数を表すIdiomT、俳優間の距離(後述する「頭の直径」を単位に計測)を表 すD[A,B]、及び、バーチャル俳優xの境界ボックスの端を、スクリーン座標につ いて表すforwardedge[x]、reaedge[x]、centerline[x]が含まれる。しかしなが ら、他のグローバル変数を用いることもできる。 更に、本発明の一実施例で用いられる、多数の予め定義された制御構造が存在 する。それらには、もう一つの時間ユニットの間同一の状態に留まることを意味 するSTAY、状態xに遷移することを意味するGOTO(X)、元の状態に復帰すること を意味するRETURN、及び、特定のパラメータのリストを走査することによって特 定のイディオムを実行することを意味するCALL(idiom,<パラメータリスト>)が含 まれる。しかしながら、予め定義された他の制御構造を用いることもできる。 イディオムの構成に含まれる概念を例を用いて説明する。第1の例では、2人 のバーチャル俳優の間の会話を描写するためのイディオム、2Talkを説明する。 第2の例では、3人のバーチャル俳優の間の会話を描写するための、更に複雑な イディオム、3Talkを作るために、2Talkイディオムが+primitiveとして用いられ る。2Talkイディオムの例 2Talkイディオムの例は、相互に会話し動作する2人のバーチャル俳優を撮影 するためのメソッドをエンコードする。それは、外側逆方向ショット(72,84)(図 5)のみを用いる。図27は2Talk有限状態マシン328を示す。2Talk手順は、パラ メータとして会話する2人のバーチャル俳優A及びBをとる。それは、四つの状 態330-336を有する。第1状態330は、AがBに話をすることを表すexternalカメ ラモジュール150(図12)を用いる。第2状態332は、逆にBがAに話をする状態 のために用いる。第3及び第4状態334,336は、俳優それぞれのリアクションシ ョットを捉えるためにexternalカメラモジュール150の配置を用いる。 2Talkイディオム328が起動されると、それは、「エントリーポイント」342 と呼ぶ小さい円で始まる二つの初期円弧338,340の一つをたどる。使用される円 弧(338又は340)は、以下のソースコードによって決まる。 DEFINE_IDIOM_IN_ACTION(<2Talk>) WHEN(talking(A,B)) DO(GOTO(1);) WHEN(talking(B,A)) DO(GOTO(2);) END_IDIOM_IN_ACTION このイディオムコードは、AがBに話をするのか又はBがAに話をするのかを テストし、2Talkイディオム中の適切な状態へ、この場合はそれぞれ状態1又は 2(330,332)へ、直ちに遷移する(338,340)。 一つの状態がエントリーされると、それは、その状態についての一組のin-act ionを実行する。2Talkイディオムの例の全ての状態についての場合と同様に、in -actionはしばしばナルである。一つの状態がエントリーされてしまうと、バー チャルカメラの位置決めのためにその状態のカメラモジュール(例えばexternal ()150)がコールされる。続いて、この状態は、所定の時間間隔T(例えば、ク ロックチック毎)で一連のアクションを実行する。これらのアクションは、前述 のように、C++手順の実行を含む。それに加えて、このアクションは、他の状 態への条件遷移(344-358)を行うために用いられる。最後に、状態がエグジット されると、一組のout-actionを実行する。それは2Talkイディオムの場合は同様 にナルである。 2Talkイディオムにおいては、カメラセットアップモジュールが以下のよう に定義される。 DEFINE_SETUP_CAMERA_MODULES(<2Talk>) MAKE_MODULE(1,external,(A,B)) MAKE_MODULE(2,external,(B,A)) LINK_MODULE(1,1,"A talks") LINK_MODULE(2,2,"B talks") LINK_MODULE(3,1,"A reacts") LINK_MODULE(4,2,"B reacts") END_SETUP_CAMERA_MODULES 例えば、MAKE_MODULE(1,external,(A,B))は、2人のバーチャル俳優A及びB を有するexternal()150の型のカメラモジュールを生成し、それに識別番号1を 割当てる。LINK_MODULE(1,1,"A talks")は、MAKE_MODULE(1,external,(A,B))で 定義されたように、状態1がエントリーされると常に俳優Bの肩越しの俳優Aの 外側逆方向ショット(即ち"A talks")が用いられることを意味する。LINK_MODULE (3,1,"Areacts")は、状態3において、MAKE_MODULE(1,external,(A,B))で定義さ れたように、俳優Aが俳優Bとの会話に対して(例えばうなずくことによって) 反応することを意味する。 各状態において実行されるべき最初のアクションコードは、全ての状態に共通 のブロックで特定することができる。これは一次的には、同一の(条件、円弧) の対をそのイディオムの各状態で再特定することを不要にするための便法のメカ ニズムである。しかしながら、イディオムは、全ての状態に共通のブロックなし で用いることもできる。 2Talkイディオムにおける共通のアクションは以下のとおりである。 DEFINE_STATE_ACTIONS(COMMON) WHEN(T<10) DO(STAY;) WHEN(!talking(A,B)&&!talking(B,A)) DO(RETURN;) END_STATE_ACTIONS しかしながら、他の共通アクションを用いることもできる。共通ブロックは、 他の非共通状態と同じ記法で定義される。 最初のステートメント(WHEN(T<O))は、この状態においてそれまでに経過した 合計時間Tが10時間ユニット(例えば10クロックチック)より少ないか否かのチェ ックを開始する。経過時間が10時間ユニットより小さい場合は現在の状態を変更 しない。後述するEXCEPTIONメカニズムは、経過時間のテストに優先して、ショ ットを前もって捉えることができる。ショットが少なくとも10チック続き、A とBとがもはや会話をしない場合は、次に、そのイディオムがそれをコールした イディオムに値を返す。変数Tはどの状態にも受入れられるグローバルな変数で ある。 共通ブロックのアクションコードは、talking(A,B)と呼ばれるドメインに特有 の手順を用いる。これは、現在のイベントリストが(A、話す、B)(即ちバー チャル俳優Aが俳優Bに話をする)を含む場合及びその場合のみ、真値を返す。 上述のコードにおいては、感嘆符"!"がC/C++NOT演算子であり、二重ア ンパーサンド"&&"はC/C++AND演算子である。アクションステートメント は連続的に評価される。従って、早期のステートメントは、コード中の後方にリ ストされているステートメントに優先する。 2Talkイディオム328の状態1 330は、俳優AがBに話をすることを表現するた めに用いられる。共通アクションに加えて、状態1 330において、各時間ユニッ トTに実行されるアクションのリストは以下のとおりである。 DEFINE_STATE_ACTIONS(1) WHEN(talking(B,A)) DO(GOTO(2);) WHEN(T〉30) DO(GOTO(4);) END_STATE_ACTIONS しかしながら、他のアクションを用いることもできる。ここでBがAに話をす る場合、この状態を捉えるためには次に状態2 332への遷移344が必要である。同 一ショット中で1人の俳優が30時間ユニットTを超えて存在する場合は、他の俳 優からのリアクションショットを得るために状態4 336へ遷移356しなければなら ない。 俳優Bが俳優Aに話をする場合を表す状態2 332は完全に対称である。即ち、 コードは、AとBとが入れ替わる(例えば、状態2 332及び4 336(例えば、DO(G OTO(1)及びDO(GOTO(3))の代わりにtalking(A,B)及び状態1 330及び3 334が用い られる)ことを除いて、上述の状態1 330のものと全く同一である。 DEFINE_STATE_ACTIONS(2) WHEN(talking(A,B)) DO(GOTO(1);) WHEN(T>30) DO(GOTO(3);) END_STATE_ACTIONS 状態3 334のためのアクションコードを以下に示す。しかしながら、状態3 334 のために他のアクションを用いることもできる。 DEFINE_STATE_ACTIONS(3) WHEN(talking(A,B)) DO(GOTO(1);) WHEN(talking(B,A)‖T>15) DO(GOTO(2);) END_STATE_ACTIONS ここで俳優AがBに話をする場合、この状態を捉えるためには次に状態1 330 への遷移352が必要である。いま俳優Aが俳優Bに話をする場合、又は"‖"、同 一ショット中で1人の俳優が15時間ユニットTを超えて存在する場合は、状態2 332へ遷移350しなければならない。 状態3 334は、状態営4においてここで用いられるものと同一のカメラモジュー ルを用いて状態1 330へ戻る遷移352を行うことができることに注意すべきである 。この場合には、二つのショットはカットなしに一つのショットに結合される。 最後に、状態4 336は状態3 334と対称である。 DEFINE_STATE_ACTIONS(4) WHEN(talking(A,B)) DO(GOTO(1);) WHEN(talking(B,A)‖T>15) DO(GOTO(2);) END_STATE_ACTIONS out-actionは2Talkイディオム328についてはナルであるので、2Talkイディ オム328は完全に説明された。2Talkイディオムを定義するために、他の状態及び 各状態における他のアクションを用いることもできる。2Talkイディオム328は、 いまや、より高次のイディオム(例えば、3人の俳優の間の会話を取扱うための もの)のためのサブルーチンとして用いることができる。3Talkイディオムの例 3Talkイディオムの例は、2Talkイディオム328から作られる。3人のバーチャ ル俳優の間の会話を取扱う3Talkイディオム360のための有限状態マシンが図28 に示されている。このイディオム360は、Arijonによって記述され図8に図示さ れた3人の俳優の映画的取扱いを実現する。3TalkF SMは、2Talk 328と同様の 型のコンポーネントを有する。それは状態362-368及び状態間の遷移を表す円弧3 70-390を有する。それに加えて、このFSMは後述のようにEXCEPTIONメカニズ ムを用いる。 3Talkイディオムは四つの状態362-368を持つ。1で示す第1状態362は、図8 における第1カメラ位置100に対応する、全体3人の俳優の導入ショットである 。2AND3で示す第2状態364は2Talkイディオム328をコールするペアレント状態で あり、図8におけるカメラ2 110及び3 112に対応する。最後に、4A 366及び4 B 368で示す残りの二つの状態は、第1俳優のリアクションショットを捉える。 これらの二つの状態は図8のカメラショット4 122に対応する。 全四つの状態は、2Talk 328で説明したものと同様のアクションを有する。二 つの状態4A 366及び4B 368は、同一のバーチャルカメラからシーンを撮ると はいえ、3Talkイディオムでは異なる機能を有するので、別個の状態として実現 されている。状態4A 366はシーケンスの初めに又は新しい導入ショットの後で 用いられ、これにより、俳優Aのリアクションショットと共に変わるべき全3人 の俳優のショットが可能になる。対照的に、状態4B 368は、俳優BとCとの間 の双方向の会話が支配的であり、時々俳優Aの反応があり、続いて直ぐにBとC との間の双方向の会話に戻る場合にのみ用いられる。 上記で考察された状態と異なる一つの状態は、2AND3で示す状態364である。第 1に、前記の状態と異なり、状態2AND3 364はin-actionを有する。これは以下の マクロコードで示される。 DEFINE_STATE_IN_ACTION(2and3) REGISTER_EXCEPTION(left_conversation,A,LEFT_CONVERSATION); REGISTER_EXCEPTION(too_long,100,TOO_LONG); REGISTER_EXCEPTION(reacts,A,GET_REACTION); CALL(2Talk,(B,C)); END_STATE_IN_ACTION これらのin-actionは、レイズした時にチャイルドイディオムをエグジットさ せ制御をペアレント状態に戻す多数のEXCEPTI_Nを登録する。 EXCEPTIONを登録するためにはREGISTER_EXCEPTION()マクロが用いられる。各R EGISTER_EXCEPTION(<手順>,<パラメータ><テスト>,<エクセプション名称>)コ マンドが三つのパラメータをとる。即ち、<手順>エクセプションをレイズすべき か否かのテストを呼出す手順の名称;<パラメータ>その機能に送られるパラメー タの任意の組;及び<エクセプション名称>これは列挙型である。例えば REGISTER_EXCEPTION(too_long,100,TOO_LONG); は、パラメータ100(即ち、TOO_LONG時間間隔についてテストするための時間ユ ニットTの数)を有する手順too_long()に対するコールのためにEXCEPTION T00_ LONGを登録する。 状態2AND3 364の最後のin-actionアクション(即ちCALL(2Talk,(B,C))は、2T alkイディオム328を呼出し、俳優B及びCをパラメータとして送る。登録された 全てのエクセプションは、チャイルドイディオムの全ての状態でアクションが実 行される前に非明示的にテストされる。 2Talkイディオム328は、一つのアクションの中でRETURNを実行する場合又は一 つのEXCEPTIONがレイズする場合に復帰する。その時点で制御はペアレント状態 に戻り、そのアクションが実行される。状態2AND3 364についてのアクションは 以下のとおりである。 DEFINE_STATE_ACTIONS(2and3) WHEN(EXCEPTION_RAISED(LEFT_CONVERSATION)) DO(GOTO(1);) WHEN(EXCEPTION_RAISED(TOO_LONG)) DO(GOT0(1);) OTHERWISE DO(GOTO(4b);) END_STATE_ACTION この場合、LEFT_CONVERSATION又はTOO_LONG EXCEPTIONのいずれかがレイズし ている場合に、状態1 362へ戻る遷移378が行われ、他の導入ショットが得られる 。他の場合は、状態1 362へ戻る遷移378が行われ、リアクションショットが行わ れる。 状態2AND3はin-actionに加えてout-actionを有する。新しい状態への遷移が行 われる前に評価された状態2AND3のout-actionは、in-actionによってセットアッ プされたEXCEPTIONを除くために用いられる。out-actionは以下のマクロコード によって示される。 DEFINE_STATE_OUT_ACTION(2and3) DELETE_EXCEPTION(LEFT_CONVERSATION); DELETE_EXCEPTION_RAISED(TOO_LONG); DELETE_EXCEPTION_RAISED(GET-REACTION); END_STATE_OUT_ACTION これらのout-actionは、in-actionに登録され状態2AND3についての状態アクシ ョンで潜在的に実行されるLEFT_CONVERSATION、TOO_LONG及びGET_REACTIONにつ いてのEXCEPTIONSを削除する。イディオムハイアラーキ 本発明の一つの実施例においては、個別イディオムから出発してイディオムハ イアラーキが作られる。図29のフローチャートに示されるように、個別イディ オムを生成するためにメソッド392が用いられる。個別イディオムは、イディオ ムの状態を定義し394、イディオムの定義された状態を見るために用いられるカ メラモジュールを選択することによって、生成される396。次いで一つの定義さ れた状態から他の状態への遷移を含むアクションが定義される398。このメソッ ド392は2Talkイディオム328を生成するために用いられた。2Talkイディオム328 は、図8に示された四つのカメラショット(100,110,112,120)を表す四つの 状態330-336を定義すること394によって生成された。四つの状態330-336は、ext ernal()カメラモジュール150を四つの状態全体を見るように選択すること396に よって見ることができた。従ってアクションは、一つの状態から他の状態への遷 移の原因となる四つの状態について定義された398。 図30のフローチャートに示されるように、メソッド392で個別イディオムが 生成された後、コンプレックスイディオムを生成するために他のメソッド400が 用いられる。コンプレックスイディオムは個別イディオムを生成する場合と同様 の方法で生成される。コンプレックスイディオムの状態が定義される402。一又 は複数の状態について、その状態のアクションを定義するために個別イディオム が選択される404。イディオムの定義された状態を見るために用いられるカメラ モジュールが、個別イディオムが選択されなかった状態について(存在する場合 に)選択される406。定義された状態間の遷移を含むアクションが定義される408 。このメソッド400は、3Talkイディオム360を生成するために用いられた。前述 したように、3Talkは3人のバーチャル俳優が会話することが可能になるイディ オムである。2人のバーチャル俳優の会話のための個別イディオムは既に生成さ れているので(即ち2Talk 328)、2人のバーチャル俳優のみの間の会話を撮るこ とが必要な状態で2Talkイディオムが用いられた。 図31のフローチャートに示されるように、イディオムハイアラーキを生成す るために更に他のメソッド410が用いられる。このメソッド410は、二以上の個別 イディオムを選択し412、コンプレックスイディオムを生成するために選択され た個別イディオムを結合することを含む414。一以上のコンプレックスイディオ ム及び一以上の個別イディオムが選択される416。選択されたコンプレックス及 び個別イディオムが結合されて動詞イディオムが生成される418。動詞イディオ ムは、イディオムハイアラーキのうちでハイレベルイディオムである。例えば動 詞"converse"は、個別2Talkイディオム及び結合された3Talkイディオムの結合に よって生成される。"converse"動詞イディオムにより、external()150カメラシ ョットを用いて2人又は3人のバーチャル俳優の間の会話が可能になる。 図32は、"converse"動詞についてのイディオムハイアラーキ420の一部分を 示す。"converse"動詞422は、3Talkイディオム424と2Talkイディオム426と の結合である。この3Talkイディオム(前述の3Talkイディオム360とは異なる) は、external()及びinternal()カメラモジュール428,430を用い、2Talkイディオ ム426を呼出す。2Talkイディオム426は、external()カメラモジュール428のみを 用いる。他のイディオム動詞も同様のハイアラーキを持つ。このハイアラーキは 、最低レベルにカメラモジュール、カメラモジュールの上に個別イディオム、個 別イディオムの上にコンプレックスイディオム、コンプレックスイディオムの上 に更に動詞イディオムを含む。イディオムハイアラーキを用いる個々のディレクタースタイル 他の動詞イディオム又は他のハイレベルイディオムが、低レベルの個別イディ オムから同様の方法によって生成される。例えば、"move"動詞イディオムは、個 別イディオム1Moveとコンプレックスイディオム2Moveとの結合である。個別イデ ィオム1Moveにより、1人のバーチャル俳優を動かし、カメラモジュールtrackin g()194,panning()204及びfollow()214を用いることができる。コンプレックスイ ディオム2Moveは個別イディオム1Moveから生成され、これにより、2人のバーチ ャル俳優を動かすことができる。メソッド392,400及び410を用いて仮想的に無 限の数のイディオムを生成することができる。本発明の一つの実施例においては 、動詞イディオムは一つの組(idle,converse,react,lookat,join,signal,move) であってもよい。しかしながら、他の動詞を用いることもできる。 動詞イディオム又は他のハイレベルイディオムの組又はライブラリーが生成さ れると、ディレクターが容易にバーチャル俳優を操作してバーチャルムービーを 「撮影」することができる。バーチャルムービーは、実際のフィルムに対して用 いられるテクニック及びカメラアングルと仮想的に同一のテクニック及びカメラ アングルを用いる「ショット」である。動詞イディオムは、同様に容易にカスタ マイズし個々のディレクターのスタイルに合わせることができる。例えば、ディ レクターAは上述のような"converse"動詞イディオムを用いるかも知れない。し かしながら、ディレクターBは自己の個人的なディレクターのスタイルにより2T alkにinternal()カメラモジュール178を用いることを好み、external()カメラモ ジュール150は用いないかも知れない。ディレクターBは、internal()カメラモ ジュール178を用いるために、2Talkイディオムを自己の個人的な好みに合わ せてカスタマイズすることができる。 図33のフローチャートに示されるように、メソッド432は、バーチャルムー ビーを「撮影」する場合に仮想的な監督を行うために、上述のイディオム及びカ メラモジュールを用いる。VCはイベント(主語、動詞、目的語)に基づいて、 動詞イディオムの組(例えばライブラリー)から自動的にイディオム及びランタ イム状態を選択する434。o選択された動詞イディオムを結合して、バーチャルシ ーンを生成する436。このバーチャルシーンを結合してバーチャルムービーを制 作する438。ディレクターは、自己のスタイルによりVCカメラモジュール及び イディオムハイアラーキを用いて自由にバーチャルムービーを制作する。バーチャル俳優のスクリーン上の動作 バーチャル俳優を用いてアニメーションを制作するために用いるビデオスクリ ーン上の動作を捉えることには、特別な問題が存在する。特に、一つのイベント がリアルタイムシステムによってトリガーされる時のみではなく、俳優がスクリ ーン上の或る一定の位置(例えばスクリーンの端)に達した時にも、ショットが 終了することが望ましい場合がある。上述のグローバルな変数forwardedge[x]、 rearedge[x]、centerline[x]は、これらの種類のテストを容易にするために用い られる。 図34に示されるように、これらの変数は、各俳優442の向き及び位置につい てセットアップされているスクリーン座標システム440で計測される。俳優が面 しているスクリーンの端は+1 444になり、俳優の後側の端が−1 446になるよう に定義される。スクリーンのセンターラインはゼロ448である。このようにする と、例えば、forwardedge[x]が1より大きいか否かをテストすることにより、俳 優442がスクリーンの端に達したその時の一つのイディオムにおける状態を決定 することができる。同様に、rearedge[x]が−1より小さいか否かをテストする ことにより、俳優が歩いてスクリーンから完全に出たか否かをテストすることが できる。スクリーン上の動作を捉えるためのイディオムを開発するために、他の メソッド及び座標システムを用いることもできる。パーティアプリケーション 「パーティ」のシミュレーション環境に対して、メソッド34,392,400,410 , 432及びシステム44を適用してきた。図35は、一つのパーティに参加するため に制作されたパーティシミュレータのためのユーザーインターフェース450を示 す。このパーティは、仮想的なバーテンダーがおり、それぞれ二つの仮想的な椅 子があり、一つの像及び他の仮想的な客が存在する二つの仮想的なバーが入って いる仮想的な部屋で開かれる。客は歩き、見回し、互いに会話し、バーに行って 飲み又はバーテンダーと会話し、又は、何もしないでいることができる。 ユーザーは、高度の抽象的観念で1人の主人公のバーチャル俳優452の動作を 制御する。他の俳優454は、ソフトウェアエージェントとして自動的に又はこの パーティの他の参加者によって制御される。特にユーザーは(動詞、目的語)の 対を行使することができ、これは主人公の俳優452を主語として(主語、動詞、 目的語)の三つ組に翻訳される。現在の動詞は、話す、反応する(これにより俳 優が頷く)、行く、飲む(これにより俳優は最も近い位置にある空いた椅子に向 かう)、見回す(これにより俳優は頭を回し、選択した対象物を数秒間眺め、続 いて頭を元に戻す)、及び、休むである。動詞を使用する度に、対応するボタン が押された後間もなく主人公の動作が変わる。パーティの参加者は、会話中の1 人の俳優が会話を止めるのを「礼儀正しく」待ち、その後でそれらの間で会話を 始める。 他のインターフェースボタン456により、1人離れている俳優又は会話中の俳 優が、或る俳優が会話に加わることを望んでいる合図を受入れるか又は拒否する かの「投票」を行うことができる。合図をする動詞は、俳優が動詞行くの対象に 対して短い距離の範囲に近づいた時に無条件に発生される。他のユーザーインタ ーフェースボタン458,460は、バーチャル俳優を操作するための他の機能を有す る。 最大フレームレートに基づいて決定され、一例では5Hzである各時間ユニット において、パーティシミュレータは、関連する(主語、動詞、目的語)の三つ組 のリストを、主人公の個人的なVCに送る。関連する三つ組は、主語又は目的語 として主人公(又は主人公と同一の会話の相手)を含むものである。 パーティシミュレータは、俳優の全ての低レベルの動作を受け持つ。これは、 歩くこと、会話する時の口の動き、及び、会話中に現在の話し手に向くため又は 見回す際に対象の方向に向くための頭の回転を含む。 本発明の一つの実施例においては、パーティシミュレータ、レンダラー54、V C50、及び、リアルタイムアプリケーション46が、Pentiumを具える同一のコン ピュータシステム10上で同時にランするように実現される。本発明の他の実施例 においては、パーティシミュレータ及びシステム44のコンポーネントが、コンピ ュータネットワーク(例えば、インターネット、イントラネット)によって接続 される個別のリモートモジュールとして実現される。インターフェース450のた めのソースコードは、Washington州RedmondのMicrosoft CorporationによるVisu alC++とVisual Basicとの組合せとして実現される。しかしながら、インター フェース450を実現するためには、他のプログラミング言語を用いることもでき る。レンダラー54は、各フレームを発生するために、Washington州RedmondのMic rosoft CorporationからのDirect3D(Rendermorphics)を用いる。しかしながら、 他のレンダラーのためのソフトウェアを用いることもできる。全体のシステムは ほぼ毎秒5時間ユニットのレートでランする。この時間の大半はレンダラー54中 で費やされる。 VC50は、パーティのイベント又は会話についての事前の情報なしに、パーテ ィシミュレータをリアルタイムで設定する場合に対して極めて強いことが証明さ れている。俳優の動作のハイレベルの制御とVC50でエンコードされるイディオ ムレベルの制御との間が良くマッチングしている。 システム44の利用は極めて直観的である。この例示的実施例においては自動的 にカメラ制御が行われるので、ユーザーがカメラを制御する必要はない。ショッ ト及びカットは多くのイベントの情報を含むナレーションを提供する。更に、ユ ーザーの肩越しに見る観客は、ユーザーによって発せられる特定のコマンドを知 らずに容易に動作を追うことができる。 下記のシネマトグラフィの原理は、VC50中で以下のように表される。カメラ のアングル及び動きは、カメラモジュールで捉えらたものである。ラインを交差 させない原理は、カメラモジュールにおける適切なインスタンスの選択である。 ジャンプカットを避ける原理は、イディオム状態が変化する時に、カメラモジュ ール中でイディオム構造の明確な変化(又は変化無し)を行うことである。導入 ショットを用いる原理は、イディオムのハイアラーキを用いることである。俳優 にリードさせる原理は、動作がイディオム中に円弧遷移を生起させるようにする ことである。動作を分ける原理は、イディオム円弧遷移をグローバルなT値によ って条件付けることである。連続的な動作を続ける原理は、カメラモジュールに おけるインスタンスの選択及びイディオムの円弧遷移である。フレームのショッ ト、カメラモジュールの配置、俳優の再配置に対する演技ヒント、及び、スタイ ルは、特定のディレクターによって設計された特定のイディオム及びイディオム ハイアラーキである。 実際の映画製作者によって発展された専門的技術を階層構造的有限状態マシン 中にエンコードすることにより、VC50は、自動的に個々のショット及びこれら のショットのシーケンスのためのカメラ制御を、動作が現れる時に発生する。そ の結果、パーティシミュレータのリアルタイム設定において予め知られていない 出来事に対して極めて強いことが分かる。更に、VC50は、幾何学的な細部を能 率的に取扱う低レベルのカメラモジュールを操作する。即ち、ドメインに依存す るイディオムのハイアラーキが、単純で強く且つスケール可能であるディレクタ ーとしての専門的技術を取込むことを可能にする。更に、VC50は、レンダラー 54に演技ヒントを与える。このヒントは、バーチャルカメラの視野を空にするた めに俳優を故意に去らせること、俳優を微妙に再配置すること、及び、俳優のス クリーン上のサイズに従って場面のスケールを変更することを含む。 VC50は、バーチャルリアリティ及び今日一般的に用いられている他の対話型 アプリケーションにおいて、固定視点のショット又は天井にマウントされたカメ ラを改善するために用いられる。バーチャル3Dチャット環境に関して初歩的に 説明したが、更にVC50は、自然に見えるカメラ位置でエージェントによりユー ザー自身を見ることができるようにすることにより、次世代の「インテリジェン トエージェント」ユーザーインターフェースの改善をも助ける。 バーチャル3Dチャット環境においては、コンピュータユーザーは、コンピュ ータユーザーによって制御され且つコンピュータユーザーを表すアニメーション 化された3Dバーチャル俳優(時にはアヴァターと呼ばれる)を通して互いに会 話する。バーチャル俳優は、3Dの部屋のディスプレイに表示され、複数のユー ザーが互いに会話するように配置される。同様の方法で、VC50は、インテリジ ェントエージェント及び潜在的なコンピュータアプリケーションが配置され且つ 3Dディスプレイ空間中で相互に位置決めされる、「インテリジェントエージェ ント」ユーザーインターフェースを提供することができる。 インテリジェントエージェントは、例えば、ユーザーにソフトウェアアプリケ ーション中で援助又は支援を提供するような種々の状況で用いられる、一般的に 高度に対話型のユーザーインターフェースデバイス(例えば、キャラクタ)であ る。一つの実施例においては、VC50は、インテリジェントエージェントが支援 するか又は表示することができるアプリケーションスクリーンを遮蔽することが ないように、インテリジェントエージェントを位置させることができる。他の実 施例においては、人間であるシステムのユーザーが3Dディスプレイ空間中の仮 想的位置に割当てられ、更に、VC50がその位置を利用して、カメラの視野を構 成し、表示する。 以上に説明されたプログラム、プロセス、及びメソッドは、特別に記載されて いる場合を除いて、特定の型のコンピュータ装置に関するもの又は限定されるも のではないことが理解されるべきである。以上の記載の示唆するところに従い、 種々の型の一般的な又は特化されたコンピュータ装置を用い又は動作を遂行する ことができる。 本発明の原理を適用できる実施例が広い範囲にわたっているという観点から、 上述された実施例は、単に例示のためのものであり、本発明の範囲を限定するも のと解釈されてはならないことが理解されるべきである。ここに、本発明として 全てのそのような実施例及び同等の技術が請求項の範囲及び精神に含まれるよう に本発明の請求項を以下に記載する。
───────────────────────────────────────────────────── フロントページの続き (81)指定国 EP(AT,BE,CH,DE, DK,ES,FI,FR,GB,GR,IE,IT,L U,MC,NL,PT,SE),OA(BF,BJ,CF ,CG,CI,CM,GA,GN,ML,MR,NE, SN,TD,TG),AP(GH,KE,LS,MW,S D,SZ,UG,ZW),EA(AM,AZ,BY,KG ,KZ,MD,RU,TJ,TM),AL,AM,AT ,AU,AZ,BA,BB,BG,BR,BY,CA, CH,CN,CU,CZ,DE,DK,EE,ES,F I,GB,GE,GH,HU,IL,IS,JP,KE ,KG,KP,KR,KZ,LC,LK,LR,LS, LT,LU,LV,MD,MG,MK,MN,MW,M X,NO,NZ,PL,PT,RO,RU,SD,SE ,SG,SI,SK,SL,TJ,TM,TR,TT, UA,UG,UZ,VN,YU,ZW (72)発明者 サレシン デヴィッド アメリカ合衆国 ワシントン州 98103 シアトル エヌ フォーティ エイス ス トリート 1908

Claims (1)

  1. 【特許請求の範囲】 1.バーチャルシネマトグラフィのための方法であって、 予め定められた時間間隔の間に起きるシネマトグラフィイベントを受取るこ と、 受取ったシネマトグラフィイベントをシネマトグラフィロジックを用いて翻 訳すること、及び 翻訳されたシネマトグラフィイベントから、バーチャルシーンを見るために 用いられるカメラビュー仕様を発生すること を含む方法。 2.請求項1に記載の方法をコンピュータに実行させることができる命令を記憶 したコンピュータ読取り可能記憶媒体。 3.請求項1に記載の方法において、カメラビュー仕様が、apex,closeapex,a pex3,external,2long,external1to2,exclose2,internal,full,trackin g,panning,follow,fixed,raised,group,subjective,subjectzoom,pov ,及びnullカメラビュー仕様を含む組から選択された、少なくとも一つの仕様 を含む方法。 4.請求項1に記載の方法において、カメラビュー仕様が、カメラビュー距離を 選択することを含む方法。 5.請求項4に記載の方法において、カメラビュー距離が、超クローズアップビ ュー距離、クローズアップビュー距離、中間ビュー距離、全体ビュー距離、及 び、ロングビュー距離の組から選択された少なくとも一つの距離を含む方法。 6.請求項1に記載の方法において、シネマトグラフィロジックが、フィルムシ ョットを選択するためのフィルムヒューリスティックスを含む方法。 7.請求項6に記載の方法において、フィルムヒューリスティックスが、ライン を交差させないこと、ジャンプカットを避けること、導入ショットを用いるこ と、俳優にリードさせること、動作を分けること、及び、連続的な動作を続け ること、の組から選択された少なくとも一つのヒューリスティックスを含む方 法。 8.請求項1に記載の方法において、シネマトグラフィロジックが、カメラモジ ュール及びシネマトグラフィイディオムを含む方法。 9.請求項1に記載の方法において、更に、シネマトグラフィイベントの中でシ ネマトグラフィキャラクタをカメラビュー仕様に合うように調整することを含 む方法。 10.バーチャルシネマトグラフィのためのシステムであって、 シネマトグラフィイベントを生成し且つユーザーとのインターフェースをと るための、リアルタイムアプリケーションモジュール、 シネマトグラフィイベントを翻訳するバーチャルシネマトグラフィモジュー ル、及び バーチャル環境を提供するためのレンダラーアプリケーションモジュールを 含むシステム。 11.請求項10に記載のシステムにおいて、バーチャルシネマトグラフィモジュ ールが、カメラモジュール及びバーチャルシネマトグラフィイディオムを含む システム。 12.バーチャルシネマトグラフィのための方法であって、 バーチャルカメラビュー仕様を選択すること、 バーチャルカメラビュー距離を選択すること、及び 選択されたバーチャルカメラビュー仕様及びバーチャルカメラビュー距離に 合致するように、バーチャル俳優の配置及び動作を変更すること を含む方法。 13.請求項12に記載の方法をコンピュータに実行させることができる命令を記 憶したコンピュータ読取り可能記憶媒体。 14.請求項12に記載の方法において、バーチャルカメラビュー仕様が、apex, closeapex,apex3,external,2long,external1to2,exclose2,internal,f ull,tracking,panning,follow,fixed,raised,group,subjective,subj ectzoom,pov,及びnullカメラビュー仕様を含む組から選択された、少なくと も一つの仕様を含む方法。 15.請求項12に記載の方法において、カメラビュー距離が、超クローズアップ ビュー距離、クローズアップビュー距離、中間ビュー距離、全体ビュー距離、 及び、ロングビュー距離の組から選択された少なくとも一つの距離を含む方法 。 16.バーチャルシネマトグラフィカメラモジュールを発生する方法であって、 見るためのバーチャルオブジェクトを選択すること、 オブジェクトを見るためにバーチャルカメラ仕様を選択すること、及び バーチャルカメラ仕様をバーチャルオブジェクトにリンクすること を含む方法。 17.請求項16に記載の方法をコンピュータに実行させることができる命令を記 憶したコンピュータ読取り可能記憶媒体。 18.請求項16に記載の方法において、バーチャルカメラビュー仕様が、apex, closeapex,apex3,external,2long,external1to2,exclose2,internal,f ull,tracking,panning,follow,fixed,raised,group,subjective,subj ectzoom,pov,及びnullカメラビュー仕様を含む組から選択された、少なくと も一つの仕様を含む方法。 19.個別バーチャルシネマトグラフィイディオムを生成する方法であって、 一又は複数の個別バーチャルシネマトグラフィイディオム状態を定義するこ と、 定義された各個別バーチャルシネマトグラフィイディオム状態に結合するた め、カメラモジュールを選択すること、及び 定義された複数の個別バーチャルシネマトグラフィイディオム状態間の遷移 を含むイディオムアクションを定義すること を含む方法。 20.請求項19に記載の方法をコンピュータに実行させることができる命令を記 憶したコンピュータ読取り可能記憶媒体。 21.請求項19に記載の方法において、カメラモジュールが、apex,closeapex, apex3,external,2long,external1to2,exclose2,internal,full,tracki ng,panning,follow,fixed,raised,group,subjective, subjectzoom, pov,及びnullカメラモジュールビューを含む組から選択された、少なくとも 一つのビューを含む方法。 22.請求項19に記載の方法において、個別バーチャルシネマトグラフィイディ オムアクションが、エクセプションの登録及びレイジングを含む方法。 23.コンプレックスバーチャルシネマトグラフィイディオムを生成する方法であ って、 一又は複数のコンプレックスバーチャルシネマトグラフィイディオム状態を 定義すること、 一又は複数の定義されたコンプレックスバーチャルシネマトグラフィイディ オム状態について、一又は複数の個別イディオム状態、一又は複数のカメラモ ジュール及び個別イディオムアクションを含む個別バーチャルシネマトグラフ ィイディオムを選択すること、 定義された各バーチャルシネマトグラフィイディオム状態に結合するため、 カメラモジュールを選択すること、及び 定義された複数のコンプレックスバーチャルシネマトグラフィイディオム状 態間の遷移を含むコンプレックスイディオムアクションを定義すること を含む方法。 24.請求項23に記載の方法をコンピュータに実行させることができる命令を記 憶したコンピュータ読取り可能記憶媒体。 25.ハイレベルバーチャルシネマトグラフィイディオムを生成する方法であって 、 それぞれが個別バーチャルシネマトグラフィイディオム状態、カメラモジュ ール及びバーチャルシネマトグラフィ個別イディオムアクションを含む、第1 の組の個別バーチャルシネマトグラフィイディオムを選択すること、 コンプレックスバーチャルシネマトグラフィイディオム状態、カメラモジュ ール及びコンプレックスバーチャルシネマトグラフィイディオムアクションを 含むコンプレックスバーチャルシネマトグラフィイディオムを生成するため、 第1の組の個別バーチャルシネマトグラフィイディオムを結合すること、 第2の組の個別バーチャルシネマトグラフィイディオム及びコンプレックス バーチャルシネマトグラフィイディオムを選択すること、及び ハイレベルバーチャルシネマトグラフィイディオムを生成するため、第2の 組の個別バーチャルシネマトグラフィイディオムとコンプレックスバーチャル シネマトグラフィイディオムとを結合すること を含む方法。 26.請求項25に記載の方法をコンピュータに実行させることができる命令を記 憶したコンピュータ読取り可能記憶媒体。 27.請求項25に記載の方法において、ハイレベルバーチャルシネマトグラフィ イディオムが動詞バーチャルシネマトグラフィイディオムである方法。 28.バーチャルフィルムを制作する方法であって、 一組の動詞バーチャルシネマトグラフィイディオムを選択すること、 複数のバーチャルムービーシーンを生成するため、選択された一組の動詞バ ーチャルシネマトグラフィイディオムを結合すること、及び バーチャルムービーを制作するため、選択されたバーチャルムービーシーン を結合すること を含む方法。 29.請求項28に記載の方法をコンピュータに実行させることができる命令を記 憶したコンピュータ読取り可能記憶媒体。 30.バーチャル監督を行う方法であって、 一又は複数のバーチャルシネマトグラフィイディオム状態、一又は複数のカ メラモジュール及び個別イディオムアクションを含む、一組のバーチャルシネ マトグラフィイディオムを選択すること、 変更された一組のバーチャルシネマトグラフィイディオムを生成するため、 バーチャルシネマトグラフィイディオム中のカメラモジュールを特定のフィル ムディレクタースタイルに基づいて変化させること、 複数のバーチャルムービーシーンを生成するため、変更された一組のバーチ ャルシネマトグラフィイディオムを特定のフィルムディレクタースタイルに基 づいて結合すること、及び バーチャルムービーを制作するため、選択されたバーチャルムービーシーン を結合すること を含む方法。 31.請求項30に記載の方法をコンピュータに実行させることができる命令を記 憶したコンピュータ読取り可能記憶媒体。 32.アニメーションを制作するためのシステムであって、 対話型アニメーションイベントを生成するためのリアルタイムアプリケーシ ョン、 イベントをカメラビュー位置に移動するためのリアルタイムカメラコントロ ーラ、及び カメラビュー位置を用いてバーチャル環境を提供するレンダラー を含むシステム。 33.請求項32に記載のシステムにおいて、対話型アプリケーション及び固定視 点ショットのためのリアルタイムカメラコントローラを具えるシステム。 34.インテリジェントエージェントが支援するアプリケーションスクリーンとコ ンパチブルの、インテリジェントエージェントユーザーインターフェースアシ スタントをカメラビュー位置に配置するためのリアルタイムバーチャルカメラ コントローラ。
JP10510766A 1996-08-02 1997-08-01 バーチャルシネマトグラフィの方法及びシステム Pending JP2000516371A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US08/691,996 US6040841A (en) 1996-08-02 1996-08-02 Method and system for virtual cinematography
US08/691,996 1996-08-02
PCT/US1997/013655 WO1998008192A1 (en) 1996-08-02 1997-08-01 Method and system for virtual cinematography

Publications (2)

Publication Number Publication Date
JP2000516371A true JP2000516371A (ja) 2000-12-05
JP2000516371A5 JP2000516371A5 (ja) 2005-04-07

Family

ID=24778853

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10510766A Pending JP2000516371A (ja) 1996-08-02 1997-08-01 バーチャルシネマトグラフィの方法及びシステム

Country Status (8)

Country Link
US (1) US6040841A (ja)
EP (1) EP0917689B1 (ja)
JP (1) JP2000516371A (ja)
CN (1) CN1319026C (ja)
AU (1) AU4146397A (ja)
CA (1) CA2260837C (ja)
DE (1) DE69734658T2 (ja)
WO (1) WO1998008192A1 (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006526217A (ja) * 2003-03-13 2006-11-16 ソニー ピクチャーズ エンターテインメント アニメーションシステムのためのホイール動作制御入力装置
JP2012003363A (ja) * 2010-06-15 2012-01-05 Konami Digital Entertainment Co Ltd ゲーム装置、ゲーム処理方法、ならびに、プログラム
JP2012024437A (ja) * 2010-07-27 2012-02-09 Konami Digital Entertainment Co Ltd 画像生成装置、画像生成方法、ならびに、プログラム
JP2021007213A (ja) * 2019-06-27 2021-01-21 株式会社ドワンゴ 制御サーバ、配信システム、制御方法及びプログラム
JP2022536510A (ja) * 2019-06-12 2022-08-17 ユニティ アイピーアール エイピーエス ストーリー内のオブジェクトの感情適合性を管理する方法およびシステム

Families Citing this family (52)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1186038A (ja) * 1997-03-03 1999-03-30 Sega Enterp Ltd 画像処理装置、画像処理方法及び媒体並びにゲーム機
IL121178A (en) 1997-06-27 2003-11-23 Nds Ltd Interactive game system
US7159009B2 (en) * 1997-12-17 2007-01-02 Sony Corporation Method and apparatus for automatic sending of e-mail and automatic sending control program supplying medium
JP3594471B2 (ja) 1997-12-19 2004-12-02 株式会社日立製作所 シナリオ表示装置および方法
RU2161871C2 (ru) * 1998-03-20 2001-01-10 Латыпов Нурахмед Нурисламович Способ и система для создания видеопрограмм
US8220017B1 (en) * 1998-04-30 2012-07-10 International Business Machines Corporation System and method for programmatic generation of continuous media presentations
JP3924966B2 (ja) * 1998-11-24 2007-06-06 株式会社セガ ゲーム装置
JP3368226B2 (ja) 1999-03-26 2003-01-20 キヤノン株式会社 情報処理方法及び情報処理装置
US6947044B1 (en) * 1999-05-21 2005-09-20 Kulas Charles J Creation and playback of computer-generated productions using script-controlled rendering engines
US6370597B1 (en) * 1999-08-12 2002-04-09 United Internet Technologies, Inc. System for remotely controlling an animatronic device in a chat environment utilizing control signals sent by a remote device over the internet
US6772195B1 (en) * 1999-10-29 2004-08-03 Electronic Arts, Inc. Chat clusters for a virtual world application
US6384829B1 (en) * 1999-11-24 2002-05-07 Fuji Xerox Co., Ltd. Streamlined architecture for embodied conversational characters with reduced message traffic
US6628287B1 (en) * 2000-01-12 2003-09-30 There, Inc. Method and apparatus for consistent, responsive, and secure distributed simulation in a computer network environment
EP1125608A3 (en) * 2000-01-21 2005-03-30 Sony Computer Entertainment Inc. Entertainment apparatus, storage medium and object display method
EP1125609A3 (en) * 2000-01-21 2005-03-30 Sony Computer Entertainment Inc. Entertainment apparatus, storage medium and object display method
EP1125610A3 (en) 2000-01-21 2004-04-14 Sony Computer Entertainment Inc. Entertainment apparatus, storage medium and operation method of manipulating object
US6784901B1 (en) 2000-05-09 2004-08-31 There Method, system and computer program product for the delivery of a chat message in a 3D multi-user environment
US20020128952A1 (en) * 2000-07-06 2002-09-12 Raymond Melkomian Virtual interactive global exchange
JP2002133444A (ja) * 2000-10-20 2002-05-10 Matsushita Electric Ind Co Ltd 映像情報作成装置
US7016828B1 (en) 2000-10-23 2006-03-21 At&T Corp. Text-to-scene conversion
US7664313B1 (en) * 2000-10-23 2010-02-16 At&T Intellectual Property Ii, L.P. Text-to scene conversion
US6980697B1 (en) 2001-02-01 2005-12-27 At&T Corp. Digitally-generated lighting for video conferencing applications
US6999083B2 (en) * 2001-08-22 2006-02-14 Microsoft Corporation System and method to provide a spectator experience for networked gaming
US7299417B1 (en) * 2003-07-30 2007-11-20 Barris Joel M System or method for interacting with a representation of physical space
US7503006B2 (en) * 2003-09-25 2009-03-10 Microsoft Corporation Visual indication of current voice speaker
US7512883B2 (en) * 2004-06-30 2009-03-31 Microsoft Corporation Portable solution for automatic camera management
JP3877077B2 (ja) * 2004-08-31 2007-02-07 任天堂株式会社 ゲーム装置および画像処理プログラム
US7884848B2 (en) * 2005-05-25 2011-02-08 Ginther Mark E Viewing environment and recording system
US8025572B2 (en) * 2005-11-21 2011-09-27 Microsoft Corporation Dynamic spectator mode
US7632186B2 (en) * 2005-11-21 2009-12-15 Microsoft Corporation Spectator mode for a game
US20070196809A1 (en) * 2006-02-21 2007-08-23 Mr. Prabir Sen Digital Reality Sports, Games Events and Activities in three dimensional and interactive space display environment and information processing medium
US8065623B2 (en) * 2006-05-23 2011-11-22 Krueger International, Inc. Method for designing a customized work area
US9746912B2 (en) 2006-09-28 2017-08-29 Microsoft Technology Licensing, Llc Transformations for virtual guest representation
US8012023B2 (en) * 2006-09-28 2011-09-06 Microsoft Corporation Virtual entertainment
US9526995B2 (en) * 2006-11-22 2016-12-27 Sony Interactive Entertainment America Llc Video game recording and playback with visual display of game controller manipulation
US8508534B1 (en) * 2008-05-30 2013-08-13 Adobe Systems Incorporated Animating objects using relative motion
WO2010008373A1 (en) * 2008-07-14 2010-01-21 Silicon Knights Inc. Apparatus and methods of computer-simulated three-dimensional interactive environments
US20100165123A1 (en) * 2008-12-29 2010-07-01 Microsoft Corporation Data-Driven Video Stabilization
US8274544B2 (en) * 2009-03-23 2012-09-25 Eastman Kodak Company Automated videography systems
US8237771B2 (en) * 2009-03-26 2012-08-07 Eastman Kodak Company Automated videography based communications
US8866898B2 (en) 2011-01-31 2014-10-21 Microsoft Corporation Living room movie creation
EP2600316A1 (en) 2011-11-29 2013-06-05 Inria Institut National de Recherche en Informatique et en Automatique Method, system and software program for shooting and editing a film comprising at least one image of a 3D computer-generated animation
CN103325134A (zh) * 2012-03-23 2013-09-25 天津生态城动漫园投资开发有限公司 一种实时立体动画(2k)创作平台
GB2511668A (en) * 2012-04-12 2014-09-10 Supercell Oy System and method for controlling technical processes
US10304238B2 (en) * 2013-07-23 2019-05-28 National Ict Australia Limited Geo-located activity visualisation, editing and sharing
US10600245B1 (en) * 2014-05-28 2020-03-24 Lucasfilm Entertainment Company Ltd. Navigating a virtual environment of a media content item
EP3345184A1 (en) * 2015-09-02 2018-07-11 THOMSON Licensing Method, apparatus and system for facilitating navigation in an extended scene
CN106780678A (zh) * 2017-02-03 2017-05-31 北京华严世界影业有限公司 一种实时全模拟动画电影制作方法和系统
KR101918853B1 (ko) * 2017-06-28 2018-11-15 민코넷주식회사 게임 리플레이 영상 생성 시스템
CN109420338A (zh) 2017-08-31 2019-03-05 腾讯科技(深圳)有限公司 模拟镜头移动的虚拟场景显示方法及装置、电子设备
CN108551557B (zh) * 2018-04-20 2022-02-08 北京艾沃次世代文化传媒有限公司 后期前置数字虚拟片场系统
WO2023187739A1 (en) * 2022-03-31 2023-10-05 Soul Machines Limited Autonomous virtual cinematography

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5261041A (en) * 1990-12-28 1993-11-09 Apple Computer, Inc. Computer controlled animation system based on definitional animated objects and methods of manipulating same
FR2675977B1 (fr) * 1991-04-26 1997-09-12 Inst Nat Audiovisuel Procede de modelisation d'un systeme de prise de vues et procede et systeme de realisation de combinaisons d'images reelles et d'images de synthese.
WO1993003453A1 (en) * 1991-08-02 1993-02-18 Broderbund Software, Inc. System for interactve performance and animation of prerecorded audiovisual sequences
US5517663A (en) * 1993-03-22 1996-05-14 Kahn; Kenneth M. Animated user interface for computer program creation, control and execution
US5524195A (en) * 1993-05-24 1996-06-04 Sun Microsystems, Inc. Graphical user interface for interactive television with an animated agent
EP0669758B1 (en) * 1993-09-06 2000-03-08 Kabushiki Kaisha Oh-Yoh Keisoku Kenkyusho Time-varying image processor and display device
US5611025A (en) * 1994-11-23 1997-03-11 General Electric Company Virtual internal cavity inspection system
US5644694A (en) * 1994-12-14 1997-07-01 Cyberflix Inc. Apparatus and method for digital movie production
US5659323A (en) * 1994-12-21 1997-08-19 Digital Air, Inc. System for producing time-independent virtual camera movement in motion pictures and other media
US5729471A (en) * 1995-03-31 1998-03-17 The Regents Of The University Of California Machine dynamic selection of one video camera/image of a scene from multiple video cameras/images of the scene in accordance with a particular perspective on the scene, an object in the scene, or an event in the scene

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006526217A (ja) * 2003-03-13 2006-11-16 ソニー ピクチャーズ エンターテインメント アニメーションシステムのためのホイール動作制御入力装置
JP2012003363A (ja) * 2010-06-15 2012-01-05 Konami Digital Entertainment Co Ltd ゲーム装置、ゲーム処理方法、ならびに、プログラム
JP2012024437A (ja) * 2010-07-27 2012-02-09 Konami Digital Entertainment Co Ltd 画像生成装置、画像生成方法、ならびに、プログラム
JP2022536510A (ja) * 2019-06-12 2022-08-17 ユニティ アイピーアール エイピーエス ストーリー内のオブジェクトの感情適合性を管理する方法およびシステム
JP7222121B2 (ja) 2019-06-12 2023-02-14 ユニティ アイピーアール エイピーエス ストーリー内のオブジェクトの感情適合性を管理する方法およびシステム
JP2021007213A (ja) * 2019-06-27 2021-01-21 株式会社ドワンゴ 制御サーバ、配信システム、制御方法及びプログラム
JP7360989B2 (ja) 2019-06-27 2023-10-13 株式会社ドワンゴ 制御サーバ、端末、配信システム、制御方法、情報処理方法、及びプログラム

Also Published As

Publication number Publication date
DE69734658D1 (de) 2005-12-22
US6040841A (en) 2000-03-21
EP0917689B1 (en) 2005-11-16
AU4146397A (en) 1998-03-06
CN1226328A (zh) 1999-08-18
WO1998008192A1 (en) 1998-02-26
CN1319026C (zh) 2007-05-30
EP0917689A4 (en) 2000-05-03
CA2260837C (en) 2004-10-05
CA2260837A1 (en) 1998-02-26
EP0917689A1 (en) 1999-05-26
DE69734658T2 (de) 2006-08-10

Similar Documents

Publication Publication Date Title
JP2000516371A (ja) バーチャルシネマトグラフィの方法及びシステム
He et al. The virtual cinematographer: A paradigm for automatic real-time camera control and directing
AU718608B2 (en) Programmable computer graphic objects
Bares et al. Virtual 3D camera composition from frame constraints
JP3311830B2 (ja) 3次元動画作成装置
Thalmann et al. EG 2007 Course on Populating Virtual Environments with Crowds.
Fu et al. Real-time multimodal human–avatar interaction
Russell et al. Unencumbered virtual environments
EP0797173A1 (en) Virtual environment navigation and interaction apparatus and method
Queiroz et al. An extensible framework for interactive facial animation with facial expressions, lip synchronization and eye behavior
Thalmann The virtual human as a multimodal interface
Park Intelligent camera using a finite-state machine (fsm)
Ballin et al. Personal virtual humans—inhabiting the TalkZone and beyond
KR102893880B1 (ko) 촬영영상을 기반으로 생성된 아바타를 이용한 메타버스 공연 참여방법 및 이를 적용한 메타버스 공연시스템
Cozic et al. Intuitive interaction and expressive cinematography in video games
Nakatsu et al. Construction of interactive movie system for multi-person participation
Kneafsey et al. Camera control through cinematography for virtual environments: A state of the art report
Calderon et al. Architectural Cinematographer: An Initial Approach to Experiential Design in Virtual Worlds
Stüvel et al. Mass population: Plausible and practical crowd simulation
KR20240133521A (ko) 모션 트래킹이 수반되는 3차원 아바타 방송을 수행하는 아바타 라이브 스트리밍 시스템 및 그 방법
JPH10255072A (ja) 感性語を入力することによる自動映像創作方法及びシステム
CN119951140A (zh) 游戏模型编辑方法、装置、存储介质与电子设备
Xue Visual Director System: Intelligent Camera System For Triadic Dynamic 3D Interactive Game Dialogue
POPULATING PERSONAL VIRTUAL HUMANS
Hirtes et al. Production tools for electronic arenas: Event management and content production

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040730

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040730

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070515

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20070814

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20070921

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20070914

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20071022

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071015

A72 Notification of change in name of applicant

Free format text: JAPANESE INTERMEDIATE CODE: A721

Effective date: 20071015

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20071015

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20071127

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080325

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20080218

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20080219

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20080219

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20080529

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20080612

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091030

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100217

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20100702

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20100709

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20100730

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20100804

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100902