3Dビデオゲーム・システム
異なった独立VGA又はビデオ・チャネルを介して左−右シーケンスを表示することのできる3Dビデオゲーム・システムは、埋没様式でメモリを共有する表示デバイスを有する。システムは、画像パースペクティブを制御及び妥当性検証し、テクスチャを割り当て、ゲームに参加する各々のオブジェクトに関連づけられた位置、移動、及び局面を照明するビデオゲーム・エンジンを有し、左及び右バックバッファを作成し、画像を作成し、フロントバッファ内で情報を提示する。システムは、オブジェクト画像のxyz座標に関連づけられたデータの情報をリアルタイムで処理することを可能にし、左−右バックバッファのためにRAMを増加し、対応するバックバッファを弁別及び使用することができる。バックバッファの情報は、フロントバッファ又は埋没様式でメモリを共有する追加の独立表示デバイスへ送られる。
【発明の詳細な説明】
【発明の分野】
【0001】
本発明は、3次元テレビ画像の表示に関し、更に具体的には、3次元(3D)画像を観察するため、既存のテレビ、パーソナル・コンピュータ、及びビデオゲーム・システム機器へ容易に組み込まれるハードウェア及びソフトウェア設計に関する。
【発明の背景】
【0002】
映像マンマシン・インタフェースは、広範なアプリケーション、即ち、軍事、生体臨床医学研究、医療撮像、遺伝子操作、空港セキュリティ、娯楽、ビデオゲーム、コンピューティング、及び他の表示システムのために画像を改善しようと常に試みている。
【0003】
3次元(3D)情報は、信頼できる情報をユーザへ提供するリアルな3次元画像を必要とするクリティカル・ミッションで成功を達成するための鍵である。
【0004】
立体映像システムは、2つの異なったパースペクティブ(左及び右)から同じオブジェクトを見る人間の眼の能力に基づいている。脳は両方の画像を混合して深度及び体積の知覚を生じ、この知覚は脳によって距離、サーフェイス、及び体積へ変換される。
【0005】
最新技術において、3D画像を達成するための幾つかの試行が行われた。例えば、次の技術が使用された。
− 赤−青偏光
− 垂直−水平偏光
− 多重化画像眼鏡
− 3D仮想現実システム
− ボリュメトリック・ディスプレイ
− 自動立体ディスプレイ
【0006】
上記技術の全ては、プレゼンテーションの非互換性、副作用、及び現に存在している技術との互換性の欠如を有する。即ち、下記のとおりである。
【0007】
赤−青偏光システムは、観察されるためには、特別のプロジェクタ及び大型ホワイト・スクリーンを必要とする。数分の後、副作用、例えば、頭痛、めまい、及び3次元効果を使用して表示された画像に関連づけられる他の症状が現れ始める。この技術は、シネマ・ディスプレイ・システムで長期間使用されたが、前述した問題に起因して、システムは終局的にマーケットから撤回された。副作用の症状は、左眼及び右眼によって受け取られる内容の大きな差異(一方の眼は青偏光された情報を受け取り、他方の眼は赤偏光された情報を受け取る)によって生じ、視神経及び脳に過剰なストレスを起こす。更に、2つの画像は同時に表示される。観察されるためには、この技術は外部スクリーン及び偏光色眼鏡の使用を必要とする。ユーザが赤−青眼鏡を装着しなければ、3次元効果を観察することはできず、二重ぼけ画像が観察される。
【0008】
水平−垂直偏光システムは、2つのレンズを有する立体カメラによって取られた2つの画像を混合する。左及び右の画像は、それぞれ水平及び垂直偏光を有する。これらのシステムは、幾つかの新しいシネマ劇場、例えばディズニー及びIMAX3D劇場で使用される。この技術は非常に高価なプロダクション・システムを必要とし、特定目的の選択された視聴者へ限定され、したがって活動のマーケット及び分野を縮小する。3次元(3D)コンテンツへの特別の関心が過去3年の間に成長した。例えば、IMAX3D技術によって3Dコンテンツを有するように作成されたTom Hanksの作品及びタイタニックの場合である。この技術も、数分間の表示の後でユーザへ副作用を与え、外部スクリーンを必要とし、偏光眼鏡を使用する。ユーザがこれらの眼鏡を装着しなければ、ぼけ画像が観察されるだけである。
【0009】
多重化画像シャッター眼鏡技術を使用するシステムは、左及び右の画像の1つを遮断することによって画像を切り換えるので、短時間の間遮断された画像は対応する眼に到達することができない。この遮断は(モニタ又はテレビセット内で)画像表示と同期される。ユーザが眼鏡を装着しなければ、ぼけ画像が観察されるだけであり、数分間の後に副作用が明らかになる。この技術は、現在、Mercedes Benz(登録商標)、Ford(登録商標)、及びBoeing(登録商標)社のために、(特に)BARCO SYSTEMSによって提供される。これは、生産ラインで画像をアセンブルする前に画像のプロトタイプを作るため、(シャッター眼鏡を)多重化して3D画像を作り出す一種の「室」を提供することによって行われる。
【0010】
3D仮想現実システム(VR3D)は、コンピュータ・シーンを作り出すコンピュータ・ベースのシステムである。コンピュータ・シーンは、位置インタフェース、例えば、データ・グローブ及び位置検出器によってユーザとインタラクトすることができる。画像は、コンピュータによって生成され、ベクトル、ポリゴン、及び単眼深度再生ベースの画像を使用して、ソフトウェアによって計算された深度及び体積をシミュレートするが、画像は、眼の前に置かれた表示デバイスとしてのヘルメットを使用して呈示され、ユーザは、リアルの世界ではなくコンピュータ中にのみ存在するコンピュータ生成シーン内に埋没される。このコンピュータ生成シーンの名前は「仮想現実」である。このシステムは非常に高価なコンピュータ、例えば、SGI Onyx Computers(登録商標)のSGI Oxygen(登録商標)を必要とする。これらは普通のユーザからは手が届かない。まじめなゲーム及びシミュレーションがこの技術を使用して作成される。この技術は同じVGA又はビデオ・チャネルを介して左−右シーケンスを生成し、ソフトウェアはオン・スクリーン表示時間に60Hzの周波数でビデオ画像を切り換える特別の命令を含む。ビデオゲームのソフトウェア又はプログラムは、グラフィックス・カードと直接インタラクトする。
【0011】
I−Oシステムと呼ばれる技術が存在する。この技術は、左−右多重化システム及び80〜100Hzの周波数で画像を切り換えることによって、双眼スクリーンで多重化画像を表示するが、それでもフリッカが感知される。
【0012】
少数の製造業者だけが、例えば、Perspectra Systemsが、volumetric display systems(登録商標)を作成する。それらは人間の眼の能力を使用して、数ミリ秒及び非常に高速な表示回転の間に画像を保持する。したがって、デバイスは、ピクセルの色をオン及びオフに切り換える対応画像を観察角に従って示す。表示の高速回転に起因して、眼は「浮動画像」を感知することができる。これらのシステムは非常に高価であり(「球面」コストは約50,000米国ドルである)、特別及び十分なソフトウェア及びハードウェアを必要とする。この技術は現在軍事の応用に使用される。
【0013】
自動立体ディスプレイは、頂部から底部へ走る半円筒形ラインを有するモニタであり、前方及び後方画像のみに応用される。これはリアルの第3次元ではなく、2つのパースペクティブ平面におけるシミュレーションにすぎない。Philips(登録商標)は、SEGA(登録商標)と同じように、現在、技術的利点を得るように、この3次元技術を使用している。結果は非常に悪く、50%の解像度損失が存在する。この技術は現在の技術的インフラストラクチャと互換的でなく、ユーザのモニタを全面的に置換する必要がある。この技術のために特別に作成されていないアプリケーションは、ぼけて表示され、現在のインフラストラクチャの非便宜性と全面的に非互換的にされている。3D画像を観察するためには、観察者は約16”(40.64cm)の距離に位置する必要がある。この距離はモニタのサイズに従って変化し、観察者はスクリーン内央を垂直に見て、現実のスクリーンを越えた焦点に照準を固定しなければならない。照準の少しの誤差又は視野角の変化だけで、3次元効果は失われる。
【0014】
最新技術において、この技術の発展に関連する幾つかの特許が存在する。即ち、下記のとおりである。
【0015】
Timothy Van Hookらへ付与された2003年7月15日の米国特許第6,593,929号及び2003年4月29日の米国特許第6,556,197号は、低コスト・ビデオゲーム・システムを参照する。このシステムは3次元世界をモデル化し、それを2次元スクリーンの上に投影することができる。ユーザは、ゲーム・コントローラによって、リアルタイムで画像が交換可能な観察位置に基づくようにする。
【0016】
Claude Comairらへ付与された2003年7月8日の米国特許第6,591,019号は、圧縮及び解凍技術を使用して、コンピュータによって生成される3Dグラフィカル・システムへ行列を変換する。この技術は、行列内のゼロ探察の間に、実数行列を整数行列へ変換することから構成される。圧縮された行列はメモリ内でずっと小さい空間を占め、3Dアニメーションをリアルタイムで効率的に解凍することができる。
【0017】
David Reedへ付与された2003年4月1日の米国特許第6,542,971号は、メモリにアクセスするシステム及び方法を提供する。この方法は、補助メモリの代わりに、メモリへ取り付けられたメモリ空間を有するシステムを使用する。このシステムは、一度データが1つ又は複数の周辺デバイスから入力されると、書き込み及び読み出しを行う。
【0018】
Stephen Moreinへ付与された2002年12月10日の米国特許第6,492,987号は、表現されないオブジェクトの要素を処理する方法及びデバイスを説明する。それは、ピクセル・グループごとに、1つのオブジェクトの少なくとも1つの要素の幾何学的特性を、代表的な幾何学的特性と比較することによってスタートする。オブジェクトの要素を表現する間、新しい代表的な幾何学的特性が決定され、新しい値で更新される。
【0019】
Vimal Parikhらへ付与された2002年9月24日の米国特許第6,456,290号は、使用及び学習プログラムへ応用されるグラフィカル・システム・インタフェースを提供する。特徴は、グラフィック・ラインにバーテックス状況情報を保持させるバーテックスの独特な表現を含み、射影行列及び埋没バッファ・フレーム・コマンドが設定される。
【0020】
ビデオゲームは、或るコンピュータ言語で書かれたソフトウェア・プログラムである。その目的は、現存しない世界をシミュレートし、プレーヤ又はユーザをこの世界内へ入れることである。大部分のビデオゲームは、競争的及び改善的(困難度)環境で視覚及び作業上の敏捷性、パターン解析、及び意思決定を向上することに焦点を置き、高度に芸術的なコンテンツを有する大きなシナリオとして提供される。ゲーム・エンジンとして、大部分のビデオゲームは次の構造に分割される。即ち、ビデオゲーム、関連したグラフィックス及びオーディオ・エンジンを有するゲーム・ライブラリ。グラフィカル・エンジンは2Dソース・コード及び3Dソース・コードを含み、オーディオ・エンジンはエフェクト及びミュージック・コードを含む。言及されたゲーム・エンジンの全てのブロックは、ゲーム・ループと呼ばれる循環様式で実行され、これらのエンジン及びライブラリの各々は、例えば次のように異なった動作に責任を有する。
グラフィックス・エンジン: 画像を一般的に表示する。
2Dソース・コード: 静的画像。「バック」及び「スプライト」がビデオゲーム・スクリーンに現れる。
3Dソース・コード: ダイナミックでリアルタイムのベクトル処理画像であって、独立エンティティとして処理され、コンピュータ生成世界内でxyz座標を有する。
オーディオ・エンジン: サウンドの再生。
エフェクト・コード: 特別のイベント、例えば、爆発、クラッシュ、ジャンプなどが起こるとき。
ミュージック・コード: ビデオゲームの環境に従って通常演奏されるバックグラウンド・ミュージック。
【0021】
これらのブロックの全てを循環様式で実行することは、現在の位置、条件、及びゲーム・メトリクスの妥当性検査を可能にする。この情報の結果として、ビデオゲームを統合する要素が影響を受ける。
【0022】
ゲーム・コンソール用とコンピュータ用に作成されたゲーム・プログラムの差異は、元来、IBM PCは、そ内でプレイするためには作成されなかったことである。皮肉にも、最良のゲームの多くがIBM PC互換技術のもとで実行する。過去のPCを、現在のビデオゲーム及び処理能力と比較すれば、PCは完全に古風であると言うことができる。最初のゲームの作成は、低レベルの処理を行っただけであり(アセンブリ言語)、コンピュータのグラフィックス・カード及びスピーカを直接使用した。状況は変化して、現在のCPUの処理能力及びグラフィックス能力、及びグラフィックス処理アクセラレーションのために特別に設計されたカード(GPU)の作成は、80年代のいわゆるスーパーコンピュータの特性を、はるかに超える程度まで発達した。
【0023】
1996年において、ハードウェア・アクセラレーションと呼ばれるグラフィックス・アクセラレーション・システムが導入された。このシステムは、数学及び行列演算を高速で行って、カード特定通信及びプログラミング言語によってメインCPUの負荷を低減することができるグラフィックス・プロセッサを含む。グラフィックス・プロセッサは、HAL(ハードウェア抽象レイヤ)と呼ばれるレイヤに置かれる。HALは、座標行列及び行列数学演算、例えば、加法、スカラー乗法、及び浮動小数点行列比較によって、リアルタイムのxyz座標に関連づけられたデータの情報処理を可能にする。
【発明の簡単な説明】
【0024】
本発明の目的は、3次元画像表示における技術の非互換性問題を解決することである。
【0025】
本発明の他の目的は、最終ユーザが同じデバイスを使用して、ビデオ画像、コンピュータ・グラフィックス、ビデオゲーム、及びシミュレーションを観察できるようにする多目的技術を提供することである。
【0026】
本発明の追加の目的は、現在の技術によって提供される3次元画像を観察した後に生成される副作用を、数時間の定常使用についても除去する技術を提供することである。
【0027】
本発明の追加の目的は、左眼及び右眼に対応する一対のバッファの作成によるソフトウェア、埋没形式でメモリを共有する追加の独立表示デバイスを有するハードウェア、及びディジタル・ビデオ画像プロセッサにおけるハイテク統合を提供することである。
【0028】
本発明の他の目的は、グラフィックス・プロセス・ユニット又はGPUによって作成された2つのフロントバッファによって、画像を物理的にオン・スクリーンで表示することである。
【0029】
本発明の更なる他の目的は、画像がコンピュータ・グラフィックス・ソフトウェアによって作成されるときでも、高度にリアルな画像の深度及び体積を脳によって知覚することである。
【0030】
本発明の更に他の目的は、高度にリアルなコンピュータ画像を作成するTDVision(登録商標)アルゴリズムを提供することである。
【0031】
本発明の他の目的は、現在の技術的基礎を変更し、光学技術を使用して新しいディジタル撮像プロセスを作成し、右側カメラの観察画を設定することによってリアルな画像の知覚を達成することである。
【0032】
本発明の他の目的は、ディジタル・メディアの収束(convergence)を達成することである。この場合、DVDプレイ・コンピュータ、映画生成ラップトップ、インターネットのビデオ画像伝送能力、及びPC及びビデオゲーム・コンソールをインターネット構造で使用することができる。
【0033】
本発明の他の目的は、新しいアセンブリ言語アルゴリズム、アナログ及びディジタル・ハードウェアを提供して、既存の技術の3D機器へ最良に適応させることである。
【0034】
更に、本発明の他の目的は、3次元映像コンピュータ・システムを提供し、アニメーション、表示、及びソフトウェア・モデリングによって立体画像を生成することである。
【発明の詳細な説明】
【0035】
ビデオゲームは、プログラミング・オプションのセットを含む複数の独立関連論理状態を提供することによってスタートするプロセスである。その場合、各々のプログラミング・オプションは、異なった画像特性に対応する。一般的なプログラム命令は、幾つかのコンピューティング・デバイスによってコードへコンパイルされることができ、各々のデバイスのためにオブジェクト・コードを独立に生成する必要はない。
【0036】
コンピュータ・デバイス、例えば、パーソナル・コンピュータ、ラップトップ、ビデオゲームなどは、中央処理ユニット、メモリ・システム、ビデオ・グラフィカル処理回路、オーディオ処理回路、及び周辺ポートを含む。典型的には、中央ユニットは、表示される画像を参照する幾何学的データを生成するためソフトウェアを処理し、ビデオ・グラフィックス回路へ幾何学的データを提供する。ビデオ・グラフィックス回路は、メモリ・フレームに記憶されるピクセル・データを生成する。情報はメモリ・フレームから表示デバイスへ送られる。上記の要素は、全体としてビデオゲーム・エンジンと呼ばれる。2)。
【0037】
幾つかのゲーム・エンジンは、クエイク・エンジンというゲーム・エンジンを有するクエイク・スリー・アリーナ(Quake III Arena)プログラムのように、サードパーティーへライセンスされる。クエイク・エンジンというゲーム・エンジンは、クエイク・エンジンを使用するボイジャー・エリート・フォース(VOYAGER ELITE FORCE)ゲームへライセンスされた。このようにして、ゲーム開発者は、最初からゲーム・エンジンを開発する必要なしに、ゲーム・メトリクスに集中することができる。最初は、ビデオゲームは、ゲームの主役であった「スプライト」と呼ばれる2次元画像のみを使用した。
【0038】
ビデオゲーム及び技術の大部分は発達して、シミュレートされたオブジェクトを3次元環境又は世界で取り扱い、各々のオブジェクトにxyzの位置特性を与えて、同じ特性を有する他のオブジェクトで取り囲み、(0,0,0)原点を有する世界内で一緒に行動することを可能にした。
【0039】
最初、コンピュータの世界から離れたビデオゲーム・コンソールが、上記デバイスの物理的グラフィックス能力として3Dグラフィックスを組み込む最初のステップを取り、PCで使用されるハードウェアによって後で技術が採用された。通常、ビデオゲーム応用人工知能として知られる環境解析要素も含められる。この要素は、状況、位置、衝突、ゲーム・リスク、及び利点を解析し、この解析に基づいて、ビデオゲームに参加する各々のオブジェクトのために応答アクションを生成する。
【0040】
バックバッファが使用される。バックバッファは、表示される画像がビデオ・カードへ出力されることなく一時的に「描画」されるメモリ・ロケーションである。描画がビデオ・メモリ・スクリーンの上で直接行われると、スクリーン上でフリッカが観察されるであろう。したがって、バックバッファ内で情報が描画されて迅速に処理される。このバックバッファは、通常、ビデオ又はグラフィックス・アクセラレーション・カードの物理的RAMメモリ内に置かれる。
【0041】
ビデオゲーム・アルゴリズムの典型的シーケンスは、次のとおりである。
1)タイトル・スクリーンを表示する。
2)キャラクタ、オブジェクト、テクスチャ、及びサウンドをメモリ内へロードする。
3)一時的処理のためにメモリ・ロケーションを作成する。このロケーションはダブルバッファ又はバックバッファと呼ばれる。
4)バックグラウンドを表示する。
5)ゲームに参加する各々の要素の下で画像を記録する。
6)メモリ(ダブルバッファ)から全ての要素をクリアする。
7)ユーザ入力を検証してプレーヤの位置を更新する。
8)人工知能(AI)によって競争相手の位置を処理する。
9)全ての参加オブジェクトを新しい位置へ移動する。
10)オブジェクトの衝突を検証する。
11)アニメーション・フレームを増分する。
12)バックバッファ・メモリ内にオブジェクトを描画する。
13)バックバッファ・データをスクリーンへ転送する。
14)ユーザがゲームを終了することを望まなければ(ステップ15)、ステップ5へ戻る。
15)メモリから全てのオブジェクトを削除する。
16)ゲームを終了する。
【0042】
ビデオゲーム・コンソールで最も普通に使用されるデバイスは、次のとおりである。即ち、CPU又は中央処理ユニットは、ゲーム・ループ、キーボード、マウス、又はゲーム・デバイス、例えば、ゲームパッド又はジョイスティックからのユーザ入力、及びゲームの人工知能処理を取り扱う。
【0043】
GPU又はグラフィックス・プロセッシング・ユニットは、ポリゴン・モデリング、テクスチャ・マッピング、変換、及び照明シミュレーションを取り扱う。
【0044】
オーディオDSP又はディジタル・シグナル・プロセッサは、バックグラウンド・ミュージック、サウンド・エフェクト、及び3D位置サウンドを取り扱う。
【0045】
グラフィックス・エンジンは、ビデオゲーム・コンソール又はPCのために、パースペクティブを制御及び妥当性検証し、テクスチャ(メタル、スキンなど)を割り当て、ビデオゲームに参加する各々のオブジェクトに関連づけられた位置、移動、及び全ての他の様相を照明する責任を有するゲーム・セクションである。この画像セットは、割り当てられた原点に対して処理され、距離、深度、及び位置のパースペクティブを計算する。この計算は2つのステップで行われるが、関連する数学演算、即ち、オブジェクト平行移動処理(原点からのオフセット)及びオブジェクト回転処理(現在の位置に対する回転角)に起因して、複雑な処理である。
【0046】
重要な注意事項として、最小の画像単位(図3)は「バーテックス」と呼ばれる最小の制御単位から構成される。「バーテックス」はxyz空間内の1つの点を表す。許される最小の幾何学的単位は、空間内で最少の3つの点によって構成された三角形である。三角形をベースとした単位から、マリオ・サンシャイン(Mario Sunshine)キャラクタのような、何千という小さな三角形を含む大きなオブジェクトが形成される。この表現は「メッシュ」と呼ばれ、テクスチャ、色、及びグラフィカル表示特性を各々のメッシュ又は各々の三角形へ関連づけることができる。この情報は3Dグラフィックスと呼ばれる。言及することが非常に重要な事項として、その情報がxyzベクトルによって構成され、その性質に起因して3dグラフィックと呼ばれるときでも、ユーザへの最終的表示は、一般的に、3Dベクトルに基づくコンテンツを使用するフラット・エンジンによって2Dで行われる。3Dベクトルは、ユーザの前方にあるかのようにユーザによって観察され、或る知能的深度及び照明特性を有するように現れるが、脳のためには、空間内で体積を有するようには現れない。
【0047】
最初は、ビデオゲーム・プログラムがグラフィックス・カードと直接に通信して、アクセラレーション及び複雑な数学演算を実行することが必要であった。これは、異なったビデオ・カードをサポートするため、ゲームが実際に書き直されなければならないことを意味した。この問題に直面して、Silicon Graphics(登録商標)は、ハードウェアと直接通信するソフトウェア・レイヤ(OpenGL(登録商標))の開発に焦点を当てた。このソフトウェア・レイヤは、ハードウェアから独立してグラフィカル様相でのみハードウェアと通信することのできる一連の有用な関数及びサブルーチンを有する。Microsoft(登録商標)も、DirecTX 3Dと呼ばれる類似の関数グループを開発した。これはOpenGL(登録商標)と非常に類似しているが、より完全な関数を有する。なぜなら、特に、サウンド・コントロール及びネットワーク・ゲーミング領域を含むからである。
【0048】
これらの関数及びサブルーチンのセットは、グラフィックス・アプリケーション・プログラミング・インタフェース(グラフィックスAPI)と呼ばれる。これらのAPIは、異なったプログラミング言語、特に、C、C++、Visual.Net、C#、及びVisual Basicからアクセス可能である。
【0049】
言及された全ての仮想現実システムは、現在、同じVGA又はビデオ・チャネル・スキームを介して左−右シーケンスを使用し、特別の命令を含むソフトウェアを必要とする。このソフトウェアは、オン・スクリーン表示時間にバックバッファ内でビデオ画像を交替させ、オフセット及びシミュレーション様の角度を使用して公知のオフセット・アルゴリズムを適用する。
【0050】
OpenGL(登録商標)及びDirecTX(登録商標) APIによって提供される関数に加えて、一連のグラフィックス処理関数が、Windows(登録商標)によって提供されてWINDOWS APIと呼ばれるアプリケーション・プログラミング・インタフェース内で利用可能である。
【0051】
これらの技術に基づくビデオゲーム・プログラムの展開は図4で示される。図4には、TDVision(登録商標)社の実現方法によって本出願で開発されたビデオゲーム・ソフトウェアが含まれる。図4は、フローチャートの概略を示す。このフローチャートは、ビデオゲームのために十分なメトリクスを有するソフトウェア実装からスタートする(40)。ソフトウェアは、任意の適切なプログラミング言語(例えば、C、C++、Visual Basic、その他)で開発され(41)、ビデオゲームのソース・コードが作成され(42)、ゲーム論理、オブジェクト特性、サウンド、イベントなどが入力される(43)。(44)ではイベント・セレクタが位置決めされる。イベント・セレクタは、Windows API(45)、OpenGL(46)、又はDirecTX(47)によってこれを行い、最終的にビデオ・ディスプレイへ送られる(48)。
【0052】
これらの全てはソフトウェアを意味する。興味あることは、DirecTXが多くの関数を提供し、Microsoft(登録商標)は、最初に幾つかの関数が特別のハードウェアを必要としたときでも、それを達成したことである。DirecTX API自身は、あたかもハードウェアが実際に存在するかのように、ソフトウェアによってハードウェア特性をエミュレートすることができる。
【0053】
本発明は、OpenGL(登録商標)及びDirecTX(登録商標)技術の使用を最大化及び最適化し、本出願で使用されるTDVisionによって設定される仕様を満たすため、或る特定の特性、アルゴリズム、及びディジタル処理を有するソフトウェアを実現する。
【0054】
ハードウェアに関しては、各々のカードのためにHal及びダイレクト・インタフェースをドライバによって解析することができる。TDVision技術を実現するため、最小の仕様及び要件、及びTDVisionの3Dバイザでリアルな3Dを取得させる可能な技術変化を解析することが必要である。
【0055】
ディスプレイ又は表現システムに関しては、ソフトウェアによって生成されてグラフィック・デバイス・コンテキスト又は画像サーフェイスに記憶される情報は、グラフィックス・カードの最後の段階へ直接送信され、グラフィックス・カードは、(表示モニタに依存して)ディジタル・ビデオ信号をアナログ又はディジタル信号へ変換し、次に画像がオン・スクリーンで表示される。
【0056】
現在の表示方法は、次のとおりである。
ディジタル・コンピュータ信号を有するアナログ・モニタ
ディジタル・モニタ
テレビ信号を有するアナログ・モニタ
3D仮想現実システム。
【0057】
出力タイプはビデオ・カードに依存する。ビデオ・カードは互換性のあるモニタへ接続されなければならない。
【0058】
図4aは、一時的グラフィックス処理のためのメモリ・ロケーション(左及び右バックバッファ)の作成を示す。その場合、基本的には、追加のメモリ・ロケーションが追加される。即ち、(400)で右バッファが設定され、(401)でTDVision技術が存在するかどうかが弁別され、イエスの場合には、(402)で左バッファが設定され、(403)で終了する。TDVision技術が存在しないとき、(403)で処理は終了する。なぜなら、弁別すべきものが存在しないからである。
【0059】
図4bは、左カメラ及び右カメラ画像を弁別及び表示するフローチャートを示す。左観察画は(410)で設定され、画像はカメラ位置の関数として左バックバッファ内に描画される(411)。画像は左スクリーン内に表示され(412)、次に(413)でTDVisionフォーマットを有するかどうかが弁別される。イエスの場合、右観察画位置の座標が計算され(414)、画像は左カメラ位置の関数として右バックバッファ内に描画される(415)。次に、画像は右スクリーン内に表示され(416)、(413)の弁別が必要でなければ、処理は(417)で終了する。画像は現在の最新技術のフォーマットで提供されるので、サブルーチンは最終段階(417)へジャンプして終了する。なぜなら、他の座標を計算して並列情報を表示する必要はないからである。本願の新規な部分は、図5で示されるグラフィックス・プロセッシング・ユニット(GPUハードウェア)及びグラフィックス・エンジン(グラフィックス・エンジン、ソフトウェア)である。
【0060】
ハードウェアの修正は、次のとおりである。
− 左及び右バックバッファのためにRAMを増加する。
− 表示バッファ内で追加の独立表示デバイスを実現するが、埋没様式でメモリを共有するので、それは対応するバックバッファを取る。
【0061】
この場合、バックバッファのRAMメモリ及びビデオ・カードのフロントバッファが十分大きく、左及び右チャネルを同時にサポートすることが必要である。これは、各々が1024x768x4色深度バイトの深度を有する4つのバッファをサポートするため、最少で32MBを有することを必要とする。更に、ビデオ出力信号はデュアルであるか(2つのVGAポート)、多数のモニタを処理する能力を有する。なぜなら、2つの出力表示システム、即ち、選択するため1つはVGAであり1つはSビデオのポートを有するATI RADEON 9500(登録商標)カードの場合だからである。3Dバイザへ接続されるように、左−右チャネルごとに1秒間の表示当たり60フレームを満たすだけのデュアル出力を有するグラフィックス・カードが作成される。これらの出力は、SVGA、Sビデオ、RCA、又はDビデオタイプの出力である。
【0062】
コンピューティング・スキームは、図5で示されるようにTDVコンパイレーションのために修正されて呈示される。即ち、CPU(50)、メモリ・ドライバ(52)、拡張メモリ(52)が示される。このメモリは、オーディオ・ドライバ(53)及びスピーカ(54)、更にディスク・ポート(56)及びユーザとのインタラクティブ要素(57)、例えば、マウス、キーボード、ゲームパッド、及びジョイスティックを制御する入力及び出力ドライバ(55)を導入する。他方では、グラフィックス・ドライバはモニタ(59)及び3次元バイザの3Dバイザ(59b)と直接インタラクトする。
【0063】
グラフィックス・ハードウェア(HAL)に関して具体的には、TDVision技術で変更をコンパイルする必要がある。アプリケーション(500)は情報をグラフィックス・ドライバ(501)へ送り、グラフィックス・ハードウェア・サポートに起因する動作(502)は、TDVision技術で実際に物理的変更をコンパイルされる必要がある。OpenGL及びDirecTXによってTDVision技術を実現するためには、ビデオゲームのソフトウェア・セクション、及び前述したように、幾つかのハードウェア・セクションで修正を行うことが必要である。
【0064】
ソフトウェアに関しては、図6で示されるように、典型的な作業アルゴリズム内へ幾つかの特別の特性、及びTDVisionサブルーチンへの呼び出しを付加する必要がある。
− サーフェイス情報をロードする(600)。
− メッシュ情報をロードする(601)。
− TDVisionバックバッファを作成する(602)。その場合、左バックバッファはメモリ内に作成される。TDVision技術であれば、右バックバッファがメモリ内に作成される。
− 初期座標を適用する(603)。
− ゲーム論理を適用する(604)。
− 妥当性検証及び人工知能(605)。
− 位置の計算(606)。
− 衝突の検証(607)。
− TDVisionバックバッファ内で情報を描画し、オン・スクリーンで表示する(608)。その場合、右カメラ観察画を設定しなければならない。現在の右カメラ・ベクトルの関数として右バックバッファ内に画像を描画し、右スクリーン(フロントバッファ)の上に画像を表示する。TDVision技術であれば、左のペアの座標を計算し、左カメラ観察画を設定し、左カメラの現在のベクトルの関数として左バックバッファ内で画像を描画し、右スクリーン(フロントバッファ)の上に情報を表示する。これはハードウェアの修正を必要とする。
【0065】
こうして、左眼及び右眼に対応する一対のバッファが作成される。これらは、ゲーム・ループ内で評価されたとき、下記で説明されるように、右カメラ(現在)及び左カメラ(SETXYZTDV関数で計算された補数)の各々の映像化に対応するベクトル座標を取得する。
【0066】
言及することが重要な事項として、上記スクリーン出力バッファ又はフロントバッファは、最初からビデオ表示サーフェイス(デバイス・コンテキスト)又は問題のサーフェイス(サーフェイス)へ割り当てられるが、TDVisionの3Dバイザで情報を表示するためには、2つのビデオ出力、即ち、右出力(正規のVGA)及び左出力(追加のVGA、ディジタル補数、又はSビデオ)が物理的に存在し、TDVisionと互換的になることが必要である。例ではDirecTXが使用されるが、同じ処理及びコンセプトをOpenGLフォーマットへ適用することができる。
【0067】
図7は、グラフィカル・アプリケーション通信インタフェースの表示ラインを実行するアルゴリズム(70)の概略を示す。実際には、バーテックス演算(77)と一緒に三角法(72)が使用され、画像が構成され(71)、コマンド(73)、表示リスト(74)、及びテクスチャを画像へ割り当てるメモリ(76)を介してピクセル演算又は画像要素(75)が使用され、結果として表示が演算(79)によってメモリ・フレーム(70F)へ送られる。Windowsソフトウェア(700)は(702)及びグラフィック言語カード(701)と通信し、グラフィック言語カードはグラフィック情報ライブラリを含み、グラフィック情報ライブラリは(703)及び(704)を導入するために有用である。
【0068】
図8は、OpenGLアルゴリズム(80)を使用して、オブジェクトのために左及び右画像を表示するTDVision技術を示す。それはバックバッファをクリアし(81)、バックバッファのためにポインタを取得し(82)、バックバッファをクローズし(83)、シーンを再描画し(84)、バックバッファをオープンし(85)、パックバッファ・ポインタをアンロックし(86)、画像を左表示サーフェイスへ送る。(800)において、それはTDVision技術であるかどうかを弁別し、イエスの場合には、メモリをクリアし(801)、バックバッファのためにポインタを取得し(802)、バックバッファをクローズし(803)、新しいパースペクティブのために座標を取得し(804)、シーンを再描画し(805)、メモリをオープンし(806)、バックバッファ・ポインタをアンロックし(807)、画像を右表示サーフェイスへ送る(808)。
【0069】
図9は、TDVision技術をコンパイルするためビデオ・カードで必要な変更(90)を示す。即ち、正規の左バックバッファ(91)が正規の左一次バックバッファ(92)に先行する。左一次バックバッファは、モニタのVGA出力(95)へ接続され、他のVGA出力を有しなければならない。したがって、それは右一次バックバッファ(94)を受け取ることができる。右一次バックバッファは、先行するTDVision技術バックバッファを有する。左及び右のバックバッファの双方は、バックバッファ(91)及び(93)によって送られた情報を受け取って表示するため、デュアルVGA入力を有する3Dバイザ(96)へ接続可能である。
【0070】
このソフトウェア修正は、Direct X内で次のAPI関数を使用する。
TDVisionバックバッファの作成:
関数の作成 BACKBUFFERTDV()
左バッファ
d3dデバイスの設定 =
d3d.デバイス作成(D3Dアダプタ_デフォルト,_
D3Dデバイスタイプ_HAL,hWndL,_
D3D作成_ソフトウェア_バーテックス処理,
d3dpp)
If ゲームがTDVであれば、then
右バッファ
d3d右デバイスの設定 =
d3d.デバイス作成(D3Dアダプタ_デフォルト,_
D3Dデバイスタイプ_HAL,hWndR,_
D3D作成_ソフトウェア_バーテックス処理,
d3dpp2)
Ifの終了
サブルーチンの終了
TDVisionバックバッファ内で画像を描画する:
関数 DRAWBACKBUFFERTDV()
左シーンを描画する
d3dデバイス.シーンの開始
d3dデバイス.ストリームソースの設定0,ポリゴン1_vb,
長さ(ポリゴン1.v1)
d3dデバイス.プリミティブの描画
D3DPT_三角形リスト,0,1
d3dデバイス.シーンの終了
バックバッファをフロントバッファ、スクリーンへコピーする
D3dデバイス.値0,値0,値0の呈示
’フラグをチェックすることによって、TDVisionプログラムであるかどうかを検証する
IF ゲームがTDVであれば、THEN
’右カメラの座標を計算する
SETXYZTDV()
’右シーンを描画する
d3dデバイス2.シーンの開始
d3dデバイス2.ストリームソース0の設定,
ポリゴン2_vb,長さ(ポリゴン1,v1)
d3dデバイス2.プリミティブの描画
D3DPT_三角形リスト,0,1
d3dデバイス2.シーンの終了
d3dデバイス2.値0,値0,0,値の呈示
サブルーチンの終了
xyzカメラ・ベクトルの修正:
ベクトルカメラソース.z = z位置
D3DX行列ルック AtLH mat観察画,
ベクトルカメラソース,_
ベクトルカメラターゲット, ベクトル作成
(0,1,0)
D3dデバイス2.変換設定 D3DTS_観察画,
mat観察画
ベクトルカメラソース.x = x位置
D3DX行列ルック AtLH mat観察画,
ベクトルカメラソース,_
ベクトルカメラターゲット, ベクトル作成
(0,1,0)
D3dデバイス2.変換設定 D3DTS_観察画,
mat観察画
ベクトルカメラソース.y = y位置
D3DX行列ルック AtLH mat観察画,
ベクトルカメラソース,_
ベクトルカメラターゲット, ベクトル作成
(0,1,0)
D3dデバイス2.変換設定 D3DTS_観察画,
mat観察画
【0071】
こうして、左眼及び右眼に対応する一対のバッファが作成される。これらは、ゲーム・ループ内で評価されたとき、通常の座標変換式によって、右カメラ及び左カメラの映像化に対応するベクトル座標(SETXYZTDV関数で計算された補数)を取得する。
【0072】
言及することが重要な事項として、上記スクリーン出力バッファ又はフロントバッファは、最初からデバイス・コンテキスト又は問題のサーフェイスへ割り当てられるが、TDVisionの3Dバイザ内で情報を表示するためには、2つのビデオ出力、即ち、右出力(正規のVGA)及び左出力(追加のVGA、ディジタル補数、又はSビデオ)が物理的に存在して、TDVisionと互換的であることが必要である。
【0073】
例としてDirecTXを使用したが、図8で示されるOpenGLフォーマットのために同じ処理及びコンセプトを適用することができる。
【0074】
この場合、バックバッファのRAMメモリ及びビデオ・カードのフロントバッファが、左及び右のチャネルを同時にサポートするほど十分に大きいことが必要である。これは、最小で32MBを有して、各々が1024x768x4バイトの色深度を有する4つのバックバッファをサポートする必要がある。前述したように、ビデオ出力信号はデュアル(2つのVGAポート)であるか、複数のモニタを処理する能力を有していなければならない。なぜなら、それはATI RADEON 9500(登録商標)カードの場合だからである。このカードは2つの出力表示システム、即ち、1つのVGA及び1つのSビデオ及び1つのDビデオ・ポートを有し、それらから選択される。
【0075】
グラフィックス・カードが作成される。このカードは、3Dバイザへ接続されるように左−右チャネル当たり1秒間の表示につき60フレームを満たすだけのデュアル出力を有する。これらの出力はSVGA、Sビデオ、RCA、又はDビデオ・タイプの出力であってもよい。
【0076】
したがって、カメラの左及び右のパースペクティブの双方から見た対応画像を得ることができ、ハードウェアは2つの異なった独立ビデオ出力で表示される情報を認識し、リアルタイムの多重化及び表示は行われない。現在、全ての技術は多重化及びソフトウェア・シミュレーションを使用する。本願によって提案される技術では、リアルの情報を取得することができ、3Dバイザを使用する間、2つの異なったパースペクティブから画像を表示することができ、脳は、スクリーン上のフリッカ及び現在の最新技術に関連した作用を起こすことなく、画像が空間内で占める体積を連想する。
【0077】
二次立体カメラの座標計算方法(SETXYZTDV())は、ソフトウェア・プログラムにおけるアニメーション、表示、及びモデリングによって、立体画像を生成する3次元コンピュータ映像システムを取得させる。この方法は、空間座標(x,y,z)を取得させる。この空間座標は、ソフトウェア・プログラムの使用によって立体映像を取得するため、2つのコンピュータ生成仮想映像化カメラへ割り当てられなければならない。ソフトウェア・プログラムは3次元をシミュレートし、オブジェクトの移動によって、又はその時点でコンピュータ生成オブジェクト、例えば、Autocad、Micrografix Simply 3D、3Dmax Studio、Point、Dark Basic、Maya、Marionette、Blender、Excel、Word、Paint、Power、Corel Draw、Photo paint、Photoshopなどによって観察された「仮想カメラ」の移動によって、画像を生成する。しかし、これらのプログラムの全ては、1つの固定又は移動パースペクティブを有する1つのカメラだけを表示するように設計される。
【0078】
座標変換式、即ち、次式によって、追加の3Dモデリング及びアニメーション特性が前のプログラムへ付加される。
x = x’cos φ − y’sin φ
y = x’sin φ + y’cos φ
【0079】
第1のカメラへ直接リンクされた第2又は二次カメラについて、正確な位置が計算される。この手段によって、人間の立体映像パースペクティブをシミュレートする異なったパースペクティブから、2つの同時画像が取得される。この手順は、アルゴリズムによって、二次カメラの位置をリアルタイムで計算し、それを適切な位置に置き、座標変換式を使用して達成されるように、第2のカメラのモデリング画像及び表現を取得し、カメラを原点へ移動し、二次カメラとオブジェクト又は対象との間の角度及び距離が計算され、次に一次カメラ、対象、及び二次カメラが、取得された位置に再配置される。次に、7つのパラメータを知る必要がある。即ち、元の座標系における一次カメラの第1の座標(Xp,Yp,Zp)、第4のパラメータとしての眼の平均分離距離(6.5〜7.0cm)、及びカメラによって観察された対象位置の3つの座標である。
【0080】
出力パラメータは、同じ対象点を観察している二次カメラの座標、即ち(Xs,Ys,Zs)であって、これは下記のステップから取得される。
− 元の座標系における一次カメラの座標(Xp,Yp,Zp)を知る。
対象の座標(xt,yt,zt)を知る。
− 「x」及び「z」座標のみが変換される。なぜなら、カメラの座標及び/又は高さは一定だからである(観察者にとって、映像偏向は存在しない)。
【0081】
一次カメラの座標は(0,ys,0)位置へ移動される。
【0082】
対象も平行移動される。
【0083】
カメラと対象を接続するラインの勾配が計算される。
【0084】
軸と、一次カメラ及び対象を結合するベクトルとの間の角度が作成される。
【0085】
角度計算で特別な考慮を払うため、それが属する象限は逆タンジェント関数によって類別される。
【0086】
座標系の全体を、その軸から、軸とベクトルとの間の同じ角度で回転することによって、新しい座標が取得される。オブジェクトが「z」軸の上に置かれ、新しい座標系の原点に一次カメラが残る新しい座標系が取得される。
【0087】
人間の眼の平均距離位置に二次カメラを置くことによって、二次カメラの座標が取得される。
【0088】
これらの座標は、同じ初期角で回転される。
【0089】
「x」及び「z」オフセットが加えられる。最初、これらは一次カメラを原点へ移動するために減じられた。
【0090】
最後に、これらの2つの新しいXs y Zs座標が二次カメラへ割り当てられ、yp座標が維持される。これは二次カメラへ割り当てられる最終の座標点(Xs,Yp,Zs)の同じ値のために高さを決定する。
【0091】
手順は、Delphi、C、C++、Visual C++、Omnisなどの言語で実現可能であるが、結果は同じになるであろう。
【0092】
このアルゴリズムの一般化されたアプリケーションは、二次カメラの位置をリアルタイムで取得する必要がある任意のプログラムで使用されるであろう。
【0093】
このアルゴリズムは、2次元を処理するが立体映像アプリケーションのために開発された既存のソフトウェアで実現されなければならない。
【0094】
本発明の具体的な実施形態が図示及び説明された。本発明の範囲を逸脱することなく、幾つかの修正又は変更を行い得ることが、当業者に明らかであろう。添付のクレイムは、全ての変更及び修正が本発明の範囲内にあるように前述した情報をカバーすることを意図する。
【図面の簡単な説明】
【0095】
【図1】TDVision(登録商標)ビデオゲームの技術マップを示す。
【図2】従来技術に基づくビデオゲームの主要な構造を示す。
【図3】空間内の或る位置でオブジェクトを構成する本質的な3次元要素を示す。
【図4】OpenGL及びDirecTX API関数技術に基づくビデオゲーム・プログラムの開発概要を示す。
【図4a】左及び右バッファを作成し、更にTDVision技術が使用されているかどうかを弁別するアルゴリズムのブロック図を示す。
【図4b】右カメラ・ベクトルの関数として右バックバッファ内に画像を描画した後に右カメラ観察画を設定するサブルーチンであって、更にTDVision技術フォーマットが使用されているかどうかを弁別するサブルーチンのブロック図を示す。
【図5a】TDVision技術をコンパイルするために必要なグラフィカル・アダプタへの修正のコンピューティング概要のブロック図である。
【図5b】TDVision技術が通信を可能にし、プログラミング言語を含み、画像セットに関連づけられたデータの情報処理を可能にする図を示す。
【図6】TDVisionバックバッファ内に情報を描画し、それをDirecTX 3Dフォーマットでオン・スクリーンに呈示することを可能にするアルゴリズムのブロック図を示す。
【図7a】グラフィカル・アプリケーション通信インタフェースの表示ラインを実行するアルゴリズムの概略を示す。
【図7b】Windowsソフトウェア、グラフィック言語カード等の関係を示す図である。
【図8】OpenGLアルゴリズムを使用し、左及び右バックバッファを介してオン・スクリーン情報を表示するブロック図を示す。
【図9】TDVision技術のために使用されるビデオ・カードで必要な変更を示す。
【発明の分野】
【0001】
本発明は、3次元テレビ画像の表示に関し、更に具体的には、3次元(3D)画像を観察するため、既存のテレビ、パーソナル・コンピュータ、及びビデオゲーム・システム機器へ容易に組み込まれるハードウェア及びソフトウェア設計に関する。
【発明の背景】
【0002】
映像マンマシン・インタフェースは、広範なアプリケーション、即ち、軍事、生体臨床医学研究、医療撮像、遺伝子操作、空港セキュリティ、娯楽、ビデオゲーム、コンピューティング、及び他の表示システムのために画像を改善しようと常に試みている。
【0003】
3次元(3D)情報は、信頼できる情報をユーザへ提供するリアルな3次元画像を必要とするクリティカル・ミッションで成功を達成するための鍵である。
【0004】
立体映像システムは、2つの異なったパースペクティブ(左及び右)から同じオブジェクトを見る人間の眼の能力に基づいている。脳は両方の画像を混合して深度及び体積の知覚を生じ、この知覚は脳によって距離、サーフェイス、及び体積へ変換される。
【0005】
最新技術において、3D画像を達成するための幾つかの試行が行われた。例えば、次の技術が使用された。
− 赤−青偏光
− 垂直−水平偏光
− 多重化画像眼鏡
− 3D仮想現実システム
− ボリュメトリック・ディスプレイ
− 自動立体ディスプレイ
【0006】
上記技術の全ては、プレゼンテーションの非互換性、副作用、及び現に存在している技術との互換性の欠如を有する。即ち、下記のとおりである。
【0007】
赤−青偏光システムは、観察されるためには、特別のプロジェクタ及び大型ホワイト・スクリーンを必要とする。数分の後、副作用、例えば、頭痛、めまい、及び3次元効果を使用して表示された画像に関連づけられる他の症状が現れ始める。この技術は、シネマ・ディスプレイ・システムで長期間使用されたが、前述した問題に起因して、システムは終局的にマーケットから撤回された。副作用の症状は、左眼及び右眼によって受け取られる内容の大きな差異(一方の眼は青偏光された情報を受け取り、他方の眼は赤偏光された情報を受け取る)によって生じ、視神経及び脳に過剰なストレスを起こす。更に、2つの画像は同時に表示される。観察されるためには、この技術は外部スクリーン及び偏光色眼鏡の使用を必要とする。ユーザが赤−青眼鏡を装着しなければ、3次元効果を観察することはできず、二重ぼけ画像が観察される。
【0008】
水平−垂直偏光システムは、2つのレンズを有する立体カメラによって取られた2つの画像を混合する。左及び右の画像は、それぞれ水平及び垂直偏光を有する。これらのシステムは、幾つかの新しいシネマ劇場、例えばディズニー及びIMAX3D劇場で使用される。この技術は非常に高価なプロダクション・システムを必要とし、特定目的の選択された視聴者へ限定され、したがって活動のマーケット及び分野を縮小する。3次元(3D)コンテンツへの特別の関心が過去3年の間に成長した。例えば、IMAX3D技術によって3Dコンテンツを有するように作成されたTom Hanksの作品及びタイタニックの場合である。この技術も、数分間の表示の後でユーザへ副作用を与え、外部スクリーンを必要とし、偏光眼鏡を使用する。ユーザがこれらの眼鏡を装着しなければ、ぼけ画像が観察されるだけである。
【0009】
多重化画像シャッター眼鏡技術を使用するシステムは、左及び右の画像の1つを遮断することによって画像を切り換えるので、短時間の間遮断された画像は対応する眼に到達することができない。この遮断は(モニタ又はテレビセット内で)画像表示と同期される。ユーザが眼鏡を装着しなければ、ぼけ画像が観察されるだけであり、数分間の後に副作用が明らかになる。この技術は、現在、Mercedes Benz(登録商標)、Ford(登録商標)、及びBoeing(登録商標)社のために、(特に)BARCO SYSTEMSによって提供される。これは、生産ラインで画像をアセンブルする前に画像のプロトタイプを作るため、(シャッター眼鏡を)多重化して3D画像を作り出す一種の「室」を提供することによって行われる。
【0010】
3D仮想現実システム(VR3D)は、コンピュータ・シーンを作り出すコンピュータ・ベースのシステムである。コンピュータ・シーンは、位置インタフェース、例えば、データ・グローブ及び位置検出器によってユーザとインタラクトすることができる。画像は、コンピュータによって生成され、ベクトル、ポリゴン、及び単眼深度再生ベースの画像を使用して、ソフトウェアによって計算された深度及び体積をシミュレートするが、画像は、眼の前に置かれた表示デバイスとしてのヘルメットを使用して呈示され、ユーザは、リアルの世界ではなくコンピュータ中にのみ存在するコンピュータ生成シーン内に埋没される。このコンピュータ生成シーンの名前は「仮想現実」である。このシステムは非常に高価なコンピュータ、例えば、SGI Onyx Computers(登録商標)のSGI Oxygen(登録商標)を必要とする。これらは普通のユーザからは手が届かない。まじめなゲーム及びシミュレーションがこの技術を使用して作成される。この技術は同じVGA又はビデオ・チャネルを介して左−右シーケンスを生成し、ソフトウェアはオン・スクリーン表示時間に60Hzの周波数でビデオ画像を切り換える特別の命令を含む。ビデオゲームのソフトウェア又はプログラムは、グラフィックス・カードと直接インタラクトする。
【0011】
I−Oシステムと呼ばれる技術が存在する。この技術は、左−右多重化システム及び80〜100Hzの周波数で画像を切り換えることによって、双眼スクリーンで多重化画像を表示するが、それでもフリッカが感知される。
【0012】
少数の製造業者だけが、例えば、Perspectra Systemsが、volumetric display systems(登録商標)を作成する。それらは人間の眼の能力を使用して、数ミリ秒及び非常に高速な表示回転の間に画像を保持する。したがって、デバイスは、ピクセルの色をオン及びオフに切り換える対応画像を観察角に従って示す。表示の高速回転に起因して、眼は「浮動画像」を感知することができる。これらのシステムは非常に高価であり(「球面」コストは約50,000米国ドルである)、特別及び十分なソフトウェア及びハードウェアを必要とする。この技術は現在軍事の応用に使用される。
【0013】
自動立体ディスプレイは、頂部から底部へ走る半円筒形ラインを有するモニタであり、前方及び後方画像のみに応用される。これはリアルの第3次元ではなく、2つのパースペクティブ平面におけるシミュレーションにすぎない。Philips(登録商標)は、SEGA(登録商標)と同じように、現在、技術的利点を得るように、この3次元技術を使用している。結果は非常に悪く、50%の解像度損失が存在する。この技術は現在の技術的インフラストラクチャと互換的でなく、ユーザのモニタを全面的に置換する必要がある。この技術のために特別に作成されていないアプリケーションは、ぼけて表示され、現在のインフラストラクチャの非便宜性と全面的に非互換的にされている。3D画像を観察するためには、観察者は約16”(40.64cm)の距離に位置する必要がある。この距離はモニタのサイズに従って変化し、観察者はスクリーン内央を垂直に見て、現実のスクリーンを越えた焦点に照準を固定しなければならない。照準の少しの誤差又は視野角の変化だけで、3次元効果は失われる。
【0014】
最新技術において、この技術の発展に関連する幾つかの特許が存在する。即ち、下記のとおりである。
【0015】
Timothy Van Hookらへ付与された2003年7月15日の米国特許第6,593,929号及び2003年4月29日の米国特許第6,556,197号は、低コスト・ビデオゲーム・システムを参照する。このシステムは3次元世界をモデル化し、それを2次元スクリーンの上に投影することができる。ユーザは、ゲーム・コントローラによって、リアルタイムで画像が交換可能な観察位置に基づくようにする。
【0016】
Claude Comairらへ付与された2003年7月8日の米国特許第6,591,019号は、圧縮及び解凍技術を使用して、コンピュータによって生成される3Dグラフィカル・システムへ行列を変換する。この技術は、行列内のゼロ探察の間に、実数行列を整数行列へ変換することから構成される。圧縮された行列はメモリ内でずっと小さい空間を占め、3Dアニメーションをリアルタイムで効率的に解凍することができる。
【0017】
David Reedへ付与された2003年4月1日の米国特許第6,542,971号は、メモリにアクセスするシステム及び方法を提供する。この方法は、補助メモリの代わりに、メモリへ取り付けられたメモリ空間を有するシステムを使用する。このシステムは、一度データが1つ又は複数の周辺デバイスから入力されると、書き込み及び読み出しを行う。
【0018】
Stephen Moreinへ付与された2002年12月10日の米国特許第6,492,987号は、表現されないオブジェクトの要素を処理する方法及びデバイスを説明する。それは、ピクセル・グループごとに、1つのオブジェクトの少なくとも1つの要素の幾何学的特性を、代表的な幾何学的特性と比較することによってスタートする。オブジェクトの要素を表現する間、新しい代表的な幾何学的特性が決定され、新しい値で更新される。
【0019】
Vimal Parikhらへ付与された2002年9月24日の米国特許第6,456,290号は、使用及び学習プログラムへ応用されるグラフィカル・システム・インタフェースを提供する。特徴は、グラフィック・ラインにバーテックス状況情報を保持させるバーテックスの独特な表現を含み、射影行列及び埋没バッファ・フレーム・コマンドが設定される。
【0020】
ビデオゲームは、或るコンピュータ言語で書かれたソフトウェア・プログラムである。その目的は、現存しない世界をシミュレートし、プレーヤ又はユーザをこの世界内へ入れることである。大部分のビデオゲームは、競争的及び改善的(困難度)環境で視覚及び作業上の敏捷性、パターン解析、及び意思決定を向上することに焦点を置き、高度に芸術的なコンテンツを有する大きなシナリオとして提供される。ゲーム・エンジンとして、大部分のビデオゲームは次の構造に分割される。即ち、ビデオゲーム、関連したグラフィックス及びオーディオ・エンジンを有するゲーム・ライブラリ。グラフィカル・エンジンは2Dソース・コード及び3Dソース・コードを含み、オーディオ・エンジンはエフェクト及びミュージック・コードを含む。言及されたゲーム・エンジンの全てのブロックは、ゲーム・ループと呼ばれる循環様式で実行され、これらのエンジン及びライブラリの各々は、例えば次のように異なった動作に責任を有する。
グラフィックス・エンジン: 画像を一般的に表示する。
2Dソース・コード: 静的画像。「バック」及び「スプライト」がビデオゲーム・スクリーンに現れる。
3Dソース・コード: ダイナミックでリアルタイムのベクトル処理画像であって、独立エンティティとして処理され、コンピュータ生成世界内でxyz座標を有する。
オーディオ・エンジン: サウンドの再生。
エフェクト・コード: 特別のイベント、例えば、爆発、クラッシュ、ジャンプなどが起こるとき。
ミュージック・コード: ビデオゲームの環境に従って通常演奏されるバックグラウンド・ミュージック。
【0021】
これらのブロックの全てを循環様式で実行することは、現在の位置、条件、及びゲーム・メトリクスの妥当性検査を可能にする。この情報の結果として、ビデオゲームを統合する要素が影響を受ける。
【0022】
ゲーム・コンソール用とコンピュータ用に作成されたゲーム・プログラムの差異は、元来、IBM PCは、そ内でプレイするためには作成されなかったことである。皮肉にも、最良のゲームの多くがIBM PC互換技術のもとで実行する。過去のPCを、現在のビデオゲーム及び処理能力と比較すれば、PCは完全に古風であると言うことができる。最初のゲームの作成は、低レベルの処理を行っただけであり(アセンブリ言語)、コンピュータのグラフィックス・カード及びスピーカを直接使用した。状況は変化して、現在のCPUの処理能力及びグラフィックス能力、及びグラフィックス処理アクセラレーションのために特別に設計されたカード(GPU)の作成は、80年代のいわゆるスーパーコンピュータの特性を、はるかに超える程度まで発達した。
【0023】
1996年において、ハードウェア・アクセラレーションと呼ばれるグラフィックス・アクセラレーション・システムが導入された。このシステムは、数学及び行列演算を高速で行って、カード特定通信及びプログラミング言語によってメインCPUの負荷を低減することができるグラフィックス・プロセッサを含む。グラフィックス・プロセッサは、HAL(ハードウェア抽象レイヤ)と呼ばれるレイヤに置かれる。HALは、座標行列及び行列数学演算、例えば、加法、スカラー乗法、及び浮動小数点行列比較によって、リアルタイムのxyz座標に関連づけられたデータの情報処理を可能にする。
【発明の簡単な説明】
【0024】
本発明の目的は、3次元画像表示における技術の非互換性問題を解決することである。
【0025】
本発明の他の目的は、最終ユーザが同じデバイスを使用して、ビデオ画像、コンピュータ・グラフィックス、ビデオゲーム、及びシミュレーションを観察できるようにする多目的技術を提供することである。
【0026】
本発明の追加の目的は、現在の技術によって提供される3次元画像を観察した後に生成される副作用を、数時間の定常使用についても除去する技術を提供することである。
【0027】
本発明の追加の目的は、左眼及び右眼に対応する一対のバッファの作成によるソフトウェア、埋没形式でメモリを共有する追加の独立表示デバイスを有するハードウェア、及びディジタル・ビデオ画像プロセッサにおけるハイテク統合を提供することである。
【0028】
本発明の他の目的は、グラフィックス・プロセス・ユニット又はGPUによって作成された2つのフロントバッファによって、画像を物理的にオン・スクリーンで表示することである。
【0029】
本発明の更なる他の目的は、画像がコンピュータ・グラフィックス・ソフトウェアによって作成されるときでも、高度にリアルな画像の深度及び体積を脳によって知覚することである。
【0030】
本発明の更に他の目的は、高度にリアルなコンピュータ画像を作成するTDVision(登録商標)アルゴリズムを提供することである。
【0031】
本発明の他の目的は、現在の技術的基礎を変更し、光学技術を使用して新しいディジタル撮像プロセスを作成し、右側カメラの観察画を設定することによってリアルな画像の知覚を達成することである。
【0032】
本発明の他の目的は、ディジタル・メディアの収束(convergence)を達成することである。この場合、DVDプレイ・コンピュータ、映画生成ラップトップ、インターネットのビデオ画像伝送能力、及びPC及びビデオゲーム・コンソールをインターネット構造で使用することができる。
【0033】
本発明の他の目的は、新しいアセンブリ言語アルゴリズム、アナログ及びディジタル・ハードウェアを提供して、既存の技術の3D機器へ最良に適応させることである。
【0034】
更に、本発明の他の目的は、3次元映像コンピュータ・システムを提供し、アニメーション、表示、及びソフトウェア・モデリングによって立体画像を生成することである。
【発明の詳細な説明】
【0035】
ビデオゲームは、プログラミング・オプションのセットを含む複数の独立関連論理状態を提供することによってスタートするプロセスである。その場合、各々のプログラミング・オプションは、異なった画像特性に対応する。一般的なプログラム命令は、幾つかのコンピューティング・デバイスによってコードへコンパイルされることができ、各々のデバイスのためにオブジェクト・コードを独立に生成する必要はない。
【0036】
コンピュータ・デバイス、例えば、パーソナル・コンピュータ、ラップトップ、ビデオゲームなどは、中央処理ユニット、メモリ・システム、ビデオ・グラフィカル処理回路、オーディオ処理回路、及び周辺ポートを含む。典型的には、中央ユニットは、表示される画像を参照する幾何学的データを生成するためソフトウェアを処理し、ビデオ・グラフィックス回路へ幾何学的データを提供する。ビデオ・グラフィックス回路は、メモリ・フレームに記憶されるピクセル・データを生成する。情報はメモリ・フレームから表示デバイスへ送られる。上記の要素は、全体としてビデオゲーム・エンジンと呼ばれる。2)。
【0037】
幾つかのゲーム・エンジンは、クエイク・エンジンというゲーム・エンジンを有するクエイク・スリー・アリーナ(Quake III Arena)プログラムのように、サードパーティーへライセンスされる。クエイク・エンジンというゲーム・エンジンは、クエイク・エンジンを使用するボイジャー・エリート・フォース(VOYAGER ELITE FORCE)ゲームへライセンスされた。このようにして、ゲーム開発者は、最初からゲーム・エンジンを開発する必要なしに、ゲーム・メトリクスに集中することができる。最初は、ビデオゲームは、ゲームの主役であった「スプライト」と呼ばれる2次元画像のみを使用した。
【0038】
ビデオゲーム及び技術の大部分は発達して、シミュレートされたオブジェクトを3次元環境又は世界で取り扱い、各々のオブジェクトにxyzの位置特性を与えて、同じ特性を有する他のオブジェクトで取り囲み、(0,0,0)原点を有する世界内で一緒に行動することを可能にした。
【0039】
最初、コンピュータの世界から離れたビデオゲーム・コンソールが、上記デバイスの物理的グラフィックス能力として3Dグラフィックスを組み込む最初のステップを取り、PCで使用されるハードウェアによって後で技術が採用された。通常、ビデオゲーム応用人工知能として知られる環境解析要素も含められる。この要素は、状況、位置、衝突、ゲーム・リスク、及び利点を解析し、この解析に基づいて、ビデオゲームに参加する各々のオブジェクトのために応答アクションを生成する。
【0040】
バックバッファが使用される。バックバッファは、表示される画像がビデオ・カードへ出力されることなく一時的に「描画」されるメモリ・ロケーションである。描画がビデオ・メモリ・スクリーンの上で直接行われると、スクリーン上でフリッカが観察されるであろう。したがって、バックバッファ内で情報が描画されて迅速に処理される。このバックバッファは、通常、ビデオ又はグラフィックス・アクセラレーション・カードの物理的RAMメモリ内に置かれる。
【0041】
ビデオゲーム・アルゴリズムの典型的シーケンスは、次のとおりである。
1)タイトル・スクリーンを表示する。
2)キャラクタ、オブジェクト、テクスチャ、及びサウンドをメモリ内へロードする。
3)一時的処理のためにメモリ・ロケーションを作成する。このロケーションはダブルバッファ又はバックバッファと呼ばれる。
4)バックグラウンドを表示する。
5)ゲームに参加する各々の要素の下で画像を記録する。
6)メモリ(ダブルバッファ)から全ての要素をクリアする。
7)ユーザ入力を検証してプレーヤの位置を更新する。
8)人工知能(AI)によって競争相手の位置を処理する。
9)全ての参加オブジェクトを新しい位置へ移動する。
10)オブジェクトの衝突を検証する。
11)アニメーション・フレームを増分する。
12)バックバッファ・メモリ内にオブジェクトを描画する。
13)バックバッファ・データをスクリーンへ転送する。
14)ユーザがゲームを終了することを望まなければ(ステップ15)、ステップ5へ戻る。
15)メモリから全てのオブジェクトを削除する。
16)ゲームを終了する。
【0042】
ビデオゲーム・コンソールで最も普通に使用されるデバイスは、次のとおりである。即ち、CPU又は中央処理ユニットは、ゲーム・ループ、キーボード、マウス、又はゲーム・デバイス、例えば、ゲームパッド又はジョイスティックからのユーザ入力、及びゲームの人工知能処理を取り扱う。
【0043】
GPU又はグラフィックス・プロセッシング・ユニットは、ポリゴン・モデリング、テクスチャ・マッピング、変換、及び照明シミュレーションを取り扱う。
【0044】
オーディオDSP又はディジタル・シグナル・プロセッサは、バックグラウンド・ミュージック、サウンド・エフェクト、及び3D位置サウンドを取り扱う。
【0045】
グラフィックス・エンジンは、ビデオゲーム・コンソール又はPCのために、パースペクティブを制御及び妥当性検証し、テクスチャ(メタル、スキンなど)を割り当て、ビデオゲームに参加する各々のオブジェクトに関連づけられた位置、移動、及び全ての他の様相を照明する責任を有するゲーム・セクションである。この画像セットは、割り当てられた原点に対して処理され、距離、深度、及び位置のパースペクティブを計算する。この計算は2つのステップで行われるが、関連する数学演算、即ち、オブジェクト平行移動処理(原点からのオフセット)及びオブジェクト回転処理(現在の位置に対する回転角)に起因して、複雑な処理である。
【0046】
重要な注意事項として、最小の画像単位(図3)は「バーテックス」と呼ばれる最小の制御単位から構成される。「バーテックス」はxyz空間内の1つの点を表す。許される最小の幾何学的単位は、空間内で最少の3つの点によって構成された三角形である。三角形をベースとした単位から、マリオ・サンシャイン(Mario Sunshine)キャラクタのような、何千という小さな三角形を含む大きなオブジェクトが形成される。この表現は「メッシュ」と呼ばれ、テクスチャ、色、及びグラフィカル表示特性を各々のメッシュ又は各々の三角形へ関連づけることができる。この情報は3Dグラフィックスと呼ばれる。言及することが非常に重要な事項として、その情報がxyzベクトルによって構成され、その性質に起因して3dグラフィックと呼ばれるときでも、ユーザへの最終的表示は、一般的に、3Dベクトルに基づくコンテンツを使用するフラット・エンジンによって2Dで行われる。3Dベクトルは、ユーザの前方にあるかのようにユーザによって観察され、或る知能的深度及び照明特性を有するように現れるが、脳のためには、空間内で体積を有するようには現れない。
【0047】
最初は、ビデオゲーム・プログラムがグラフィックス・カードと直接に通信して、アクセラレーション及び複雑な数学演算を実行することが必要であった。これは、異なったビデオ・カードをサポートするため、ゲームが実際に書き直されなければならないことを意味した。この問題に直面して、Silicon Graphics(登録商標)は、ハードウェアと直接通信するソフトウェア・レイヤ(OpenGL(登録商標))の開発に焦点を当てた。このソフトウェア・レイヤは、ハードウェアから独立してグラフィカル様相でのみハードウェアと通信することのできる一連の有用な関数及びサブルーチンを有する。Microsoft(登録商標)も、DirecTX 3Dと呼ばれる類似の関数グループを開発した。これはOpenGL(登録商標)と非常に類似しているが、より完全な関数を有する。なぜなら、特に、サウンド・コントロール及びネットワーク・ゲーミング領域を含むからである。
【0048】
これらの関数及びサブルーチンのセットは、グラフィックス・アプリケーション・プログラミング・インタフェース(グラフィックスAPI)と呼ばれる。これらのAPIは、異なったプログラミング言語、特に、C、C++、Visual.Net、C#、及びVisual Basicからアクセス可能である。
【0049】
言及された全ての仮想現実システムは、現在、同じVGA又はビデオ・チャネル・スキームを介して左−右シーケンスを使用し、特別の命令を含むソフトウェアを必要とする。このソフトウェアは、オン・スクリーン表示時間にバックバッファ内でビデオ画像を交替させ、オフセット及びシミュレーション様の角度を使用して公知のオフセット・アルゴリズムを適用する。
【0050】
OpenGL(登録商標)及びDirecTX(登録商標) APIによって提供される関数に加えて、一連のグラフィックス処理関数が、Windows(登録商標)によって提供されてWINDOWS APIと呼ばれるアプリケーション・プログラミング・インタフェース内で利用可能である。
【0051】
これらの技術に基づくビデオゲーム・プログラムの展開は図4で示される。図4には、TDVision(登録商標)社の実現方法によって本出願で開発されたビデオゲーム・ソフトウェアが含まれる。図4は、フローチャートの概略を示す。このフローチャートは、ビデオゲームのために十分なメトリクスを有するソフトウェア実装からスタートする(40)。ソフトウェアは、任意の適切なプログラミング言語(例えば、C、C++、Visual Basic、その他)で開発され(41)、ビデオゲームのソース・コードが作成され(42)、ゲーム論理、オブジェクト特性、サウンド、イベントなどが入力される(43)。(44)ではイベント・セレクタが位置決めされる。イベント・セレクタは、Windows API(45)、OpenGL(46)、又はDirecTX(47)によってこれを行い、最終的にビデオ・ディスプレイへ送られる(48)。
【0052】
これらの全てはソフトウェアを意味する。興味あることは、DirecTXが多くの関数を提供し、Microsoft(登録商標)は、最初に幾つかの関数が特別のハードウェアを必要としたときでも、それを達成したことである。DirecTX API自身は、あたかもハードウェアが実際に存在するかのように、ソフトウェアによってハードウェア特性をエミュレートすることができる。
【0053】
本発明は、OpenGL(登録商標)及びDirecTX(登録商標)技術の使用を最大化及び最適化し、本出願で使用されるTDVisionによって設定される仕様を満たすため、或る特定の特性、アルゴリズム、及びディジタル処理を有するソフトウェアを実現する。
【0054】
ハードウェアに関しては、各々のカードのためにHal及びダイレクト・インタフェースをドライバによって解析することができる。TDVision技術を実現するため、最小の仕様及び要件、及びTDVisionの3Dバイザでリアルな3Dを取得させる可能な技術変化を解析することが必要である。
【0055】
ディスプレイ又は表現システムに関しては、ソフトウェアによって生成されてグラフィック・デバイス・コンテキスト又は画像サーフェイスに記憶される情報は、グラフィックス・カードの最後の段階へ直接送信され、グラフィックス・カードは、(表示モニタに依存して)ディジタル・ビデオ信号をアナログ又はディジタル信号へ変換し、次に画像がオン・スクリーンで表示される。
【0056】
現在の表示方法は、次のとおりである。
ディジタル・コンピュータ信号を有するアナログ・モニタ
ディジタル・モニタ
テレビ信号を有するアナログ・モニタ
3D仮想現実システム。
【0057】
出力タイプはビデオ・カードに依存する。ビデオ・カードは互換性のあるモニタへ接続されなければならない。
【0058】
図4aは、一時的グラフィックス処理のためのメモリ・ロケーション(左及び右バックバッファ)の作成を示す。その場合、基本的には、追加のメモリ・ロケーションが追加される。即ち、(400)で右バッファが設定され、(401)でTDVision技術が存在するかどうかが弁別され、イエスの場合には、(402)で左バッファが設定され、(403)で終了する。TDVision技術が存在しないとき、(403)で処理は終了する。なぜなら、弁別すべきものが存在しないからである。
【0059】
図4bは、左カメラ及び右カメラ画像を弁別及び表示するフローチャートを示す。左観察画は(410)で設定され、画像はカメラ位置の関数として左バックバッファ内に描画される(411)。画像は左スクリーン内に表示され(412)、次に(413)でTDVisionフォーマットを有するかどうかが弁別される。イエスの場合、右観察画位置の座標が計算され(414)、画像は左カメラ位置の関数として右バックバッファ内に描画される(415)。次に、画像は右スクリーン内に表示され(416)、(413)の弁別が必要でなければ、処理は(417)で終了する。画像は現在の最新技術のフォーマットで提供されるので、サブルーチンは最終段階(417)へジャンプして終了する。なぜなら、他の座標を計算して並列情報を表示する必要はないからである。本願の新規な部分は、図5で示されるグラフィックス・プロセッシング・ユニット(GPUハードウェア)及びグラフィックス・エンジン(グラフィックス・エンジン、ソフトウェア)である。
【0060】
ハードウェアの修正は、次のとおりである。
− 左及び右バックバッファのためにRAMを増加する。
− 表示バッファ内で追加の独立表示デバイスを実現するが、埋没様式でメモリを共有するので、それは対応するバックバッファを取る。
【0061】
この場合、バックバッファのRAMメモリ及びビデオ・カードのフロントバッファが十分大きく、左及び右チャネルを同時にサポートすることが必要である。これは、各々が1024x768x4色深度バイトの深度を有する4つのバッファをサポートするため、最少で32MBを有することを必要とする。更に、ビデオ出力信号はデュアルであるか(2つのVGAポート)、多数のモニタを処理する能力を有する。なぜなら、2つの出力表示システム、即ち、選択するため1つはVGAであり1つはSビデオのポートを有するATI RADEON 9500(登録商標)カードの場合だからである。3Dバイザへ接続されるように、左−右チャネルごとに1秒間の表示当たり60フレームを満たすだけのデュアル出力を有するグラフィックス・カードが作成される。これらの出力は、SVGA、Sビデオ、RCA、又はDビデオタイプの出力である。
【0062】
コンピューティング・スキームは、図5で示されるようにTDVコンパイレーションのために修正されて呈示される。即ち、CPU(50)、メモリ・ドライバ(52)、拡張メモリ(52)が示される。このメモリは、オーディオ・ドライバ(53)及びスピーカ(54)、更にディスク・ポート(56)及びユーザとのインタラクティブ要素(57)、例えば、マウス、キーボード、ゲームパッド、及びジョイスティックを制御する入力及び出力ドライバ(55)を導入する。他方では、グラフィックス・ドライバはモニタ(59)及び3次元バイザの3Dバイザ(59b)と直接インタラクトする。
【0063】
グラフィックス・ハードウェア(HAL)に関して具体的には、TDVision技術で変更をコンパイルする必要がある。アプリケーション(500)は情報をグラフィックス・ドライバ(501)へ送り、グラフィックス・ハードウェア・サポートに起因する動作(502)は、TDVision技術で実際に物理的変更をコンパイルされる必要がある。OpenGL及びDirecTXによってTDVision技術を実現するためには、ビデオゲームのソフトウェア・セクション、及び前述したように、幾つかのハードウェア・セクションで修正を行うことが必要である。
【0064】
ソフトウェアに関しては、図6で示されるように、典型的な作業アルゴリズム内へ幾つかの特別の特性、及びTDVisionサブルーチンへの呼び出しを付加する必要がある。
− サーフェイス情報をロードする(600)。
− メッシュ情報をロードする(601)。
− TDVisionバックバッファを作成する(602)。その場合、左バックバッファはメモリ内に作成される。TDVision技術であれば、右バックバッファがメモリ内に作成される。
− 初期座標を適用する(603)。
− ゲーム論理を適用する(604)。
− 妥当性検証及び人工知能(605)。
− 位置の計算(606)。
− 衝突の検証(607)。
− TDVisionバックバッファ内で情報を描画し、オン・スクリーンで表示する(608)。その場合、右カメラ観察画を設定しなければならない。現在の右カメラ・ベクトルの関数として右バックバッファ内に画像を描画し、右スクリーン(フロントバッファ)の上に画像を表示する。TDVision技術であれば、左のペアの座標を計算し、左カメラ観察画を設定し、左カメラの現在のベクトルの関数として左バックバッファ内で画像を描画し、右スクリーン(フロントバッファ)の上に情報を表示する。これはハードウェアの修正を必要とする。
【0065】
こうして、左眼及び右眼に対応する一対のバッファが作成される。これらは、ゲーム・ループ内で評価されたとき、下記で説明されるように、右カメラ(現在)及び左カメラ(SETXYZTDV関数で計算された補数)の各々の映像化に対応するベクトル座標を取得する。
【0066】
言及することが重要な事項として、上記スクリーン出力バッファ又はフロントバッファは、最初からビデオ表示サーフェイス(デバイス・コンテキスト)又は問題のサーフェイス(サーフェイス)へ割り当てられるが、TDVisionの3Dバイザで情報を表示するためには、2つのビデオ出力、即ち、右出力(正規のVGA)及び左出力(追加のVGA、ディジタル補数、又はSビデオ)が物理的に存在し、TDVisionと互換的になることが必要である。例ではDirecTXが使用されるが、同じ処理及びコンセプトをOpenGLフォーマットへ適用することができる。
【0067】
図7は、グラフィカル・アプリケーション通信インタフェースの表示ラインを実行するアルゴリズム(70)の概略を示す。実際には、バーテックス演算(77)と一緒に三角法(72)が使用され、画像が構成され(71)、コマンド(73)、表示リスト(74)、及びテクスチャを画像へ割り当てるメモリ(76)を介してピクセル演算又は画像要素(75)が使用され、結果として表示が演算(79)によってメモリ・フレーム(70F)へ送られる。Windowsソフトウェア(700)は(702)及びグラフィック言語カード(701)と通信し、グラフィック言語カードはグラフィック情報ライブラリを含み、グラフィック情報ライブラリは(703)及び(704)を導入するために有用である。
【0068】
図8は、OpenGLアルゴリズム(80)を使用して、オブジェクトのために左及び右画像を表示するTDVision技術を示す。それはバックバッファをクリアし(81)、バックバッファのためにポインタを取得し(82)、バックバッファをクローズし(83)、シーンを再描画し(84)、バックバッファをオープンし(85)、パックバッファ・ポインタをアンロックし(86)、画像を左表示サーフェイスへ送る。(800)において、それはTDVision技術であるかどうかを弁別し、イエスの場合には、メモリをクリアし(801)、バックバッファのためにポインタを取得し(802)、バックバッファをクローズし(803)、新しいパースペクティブのために座標を取得し(804)、シーンを再描画し(805)、メモリをオープンし(806)、バックバッファ・ポインタをアンロックし(807)、画像を右表示サーフェイスへ送る(808)。
【0069】
図9は、TDVision技術をコンパイルするためビデオ・カードで必要な変更(90)を示す。即ち、正規の左バックバッファ(91)が正規の左一次バックバッファ(92)に先行する。左一次バックバッファは、モニタのVGA出力(95)へ接続され、他のVGA出力を有しなければならない。したがって、それは右一次バックバッファ(94)を受け取ることができる。右一次バックバッファは、先行するTDVision技術バックバッファを有する。左及び右のバックバッファの双方は、バックバッファ(91)及び(93)によって送られた情報を受け取って表示するため、デュアルVGA入力を有する3Dバイザ(96)へ接続可能である。
【0070】
このソフトウェア修正は、Direct X内で次のAPI関数を使用する。
TDVisionバックバッファの作成:
関数の作成 BACKBUFFERTDV()
左バッファ
d3dデバイスの設定 =
d3d.デバイス作成(D3Dアダプタ_デフォルト,_
D3Dデバイスタイプ_HAL,hWndL,_
D3D作成_ソフトウェア_バーテックス処理,
d3dpp)
If ゲームがTDVであれば、then
右バッファ
d3d右デバイスの設定 =
d3d.デバイス作成(D3Dアダプタ_デフォルト,_
D3Dデバイスタイプ_HAL,hWndR,_
D3D作成_ソフトウェア_バーテックス処理,
d3dpp2)
Ifの終了
サブルーチンの終了
TDVisionバックバッファ内で画像を描画する:
関数 DRAWBACKBUFFERTDV()
左シーンを描画する
d3dデバイス.シーンの開始
d3dデバイス.ストリームソースの設定0,ポリゴン1_vb,
長さ(ポリゴン1.v1)
d3dデバイス.プリミティブの描画
D3DPT_三角形リスト,0,1
d3dデバイス.シーンの終了
バックバッファをフロントバッファ、スクリーンへコピーする
D3dデバイス.値0,値0,値0の呈示
’フラグをチェックすることによって、TDVisionプログラムであるかどうかを検証する
IF ゲームがTDVであれば、THEN
’右カメラの座標を計算する
SETXYZTDV()
’右シーンを描画する
d3dデバイス2.シーンの開始
d3dデバイス2.ストリームソース0の設定,
ポリゴン2_vb,長さ(ポリゴン1,v1)
d3dデバイス2.プリミティブの描画
D3DPT_三角形リスト,0,1
d3dデバイス2.シーンの終了
d3dデバイス2.値0,値0,0,値の呈示
サブルーチンの終了
xyzカメラ・ベクトルの修正:
ベクトルカメラソース.z = z位置
D3DX行列ルック AtLH mat観察画,
ベクトルカメラソース,_
ベクトルカメラターゲット, ベクトル作成
(0,1,0)
D3dデバイス2.変換設定 D3DTS_観察画,
mat観察画
ベクトルカメラソース.x = x位置
D3DX行列ルック AtLH mat観察画,
ベクトルカメラソース,_
ベクトルカメラターゲット, ベクトル作成
(0,1,0)
D3dデバイス2.変換設定 D3DTS_観察画,
mat観察画
ベクトルカメラソース.y = y位置
D3DX行列ルック AtLH mat観察画,
ベクトルカメラソース,_
ベクトルカメラターゲット, ベクトル作成
(0,1,0)
D3dデバイス2.変換設定 D3DTS_観察画,
mat観察画
【0071】
こうして、左眼及び右眼に対応する一対のバッファが作成される。これらは、ゲーム・ループ内で評価されたとき、通常の座標変換式によって、右カメラ及び左カメラの映像化に対応するベクトル座標(SETXYZTDV関数で計算された補数)を取得する。
【0072】
言及することが重要な事項として、上記スクリーン出力バッファ又はフロントバッファは、最初からデバイス・コンテキスト又は問題のサーフェイスへ割り当てられるが、TDVisionの3Dバイザ内で情報を表示するためには、2つのビデオ出力、即ち、右出力(正規のVGA)及び左出力(追加のVGA、ディジタル補数、又はSビデオ)が物理的に存在して、TDVisionと互換的であることが必要である。
【0073】
例としてDirecTXを使用したが、図8で示されるOpenGLフォーマットのために同じ処理及びコンセプトを適用することができる。
【0074】
この場合、バックバッファのRAMメモリ及びビデオ・カードのフロントバッファが、左及び右のチャネルを同時にサポートするほど十分に大きいことが必要である。これは、最小で32MBを有して、各々が1024x768x4バイトの色深度を有する4つのバックバッファをサポートする必要がある。前述したように、ビデオ出力信号はデュアル(2つのVGAポート)であるか、複数のモニタを処理する能力を有していなければならない。なぜなら、それはATI RADEON 9500(登録商標)カードの場合だからである。このカードは2つの出力表示システム、即ち、1つのVGA及び1つのSビデオ及び1つのDビデオ・ポートを有し、それらから選択される。
【0075】
グラフィックス・カードが作成される。このカードは、3Dバイザへ接続されるように左−右チャネル当たり1秒間の表示につき60フレームを満たすだけのデュアル出力を有する。これらの出力はSVGA、Sビデオ、RCA、又はDビデオ・タイプの出力であってもよい。
【0076】
したがって、カメラの左及び右のパースペクティブの双方から見た対応画像を得ることができ、ハードウェアは2つの異なった独立ビデオ出力で表示される情報を認識し、リアルタイムの多重化及び表示は行われない。現在、全ての技術は多重化及びソフトウェア・シミュレーションを使用する。本願によって提案される技術では、リアルの情報を取得することができ、3Dバイザを使用する間、2つの異なったパースペクティブから画像を表示することができ、脳は、スクリーン上のフリッカ及び現在の最新技術に関連した作用を起こすことなく、画像が空間内で占める体積を連想する。
【0077】
二次立体カメラの座標計算方法(SETXYZTDV())は、ソフトウェア・プログラムにおけるアニメーション、表示、及びモデリングによって、立体画像を生成する3次元コンピュータ映像システムを取得させる。この方法は、空間座標(x,y,z)を取得させる。この空間座標は、ソフトウェア・プログラムの使用によって立体映像を取得するため、2つのコンピュータ生成仮想映像化カメラへ割り当てられなければならない。ソフトウェア・プログラムは3次元をシミュレートし、オブジェクトの移動によって、又はその時点でコンピュータ生成オブジェクト、例えば、Autocad、Micrografix Simply 3D、3Dmax Studio、Point、Dark Basic、Maya、Marionette、Blender、Excel、Word、Paint、Power、Corel Draw、Photo paint、Photoshopなどによって観察された「仮想カメラ」の移動によって、画像を生成する。しかし、これらのプログラムの全ては、1つの固定又は移動パースペクティブを有する1つのカメラだけを表示するように設計される。
【0078】
座標変換式、即ち、次式によって、追加の3Dモデリング及びアニメーション特性が前のプログラムへ付加される。
x = x’cos φ − y’sin φ
y = x’sin φ + y’cos φ
【0079】
第1のカメラへ直接リンクされた第2又は二次カメラについて、正確な位置が計算される。この手段によって、人間の立体映像パースペクティブをシミュレートする異なったパースペクティブから、2つの同時画像が取得される。この手順は、アルゴリズムによって、二次カメラの位置をリアルタイムで計算し、それを適切な位置に置き、座標変換式を使用して達成されるように、第2のカメラのモデリング画像及び表現を取得し、カメラを原点へ移動し、二次カメラとオブジェクト又は対象との間の角度及び距離が計算され、次に一次カメラ、対象、及び二次カメラが、取得された位置に再配置される。次に、7つのパラメータを知る必要がある。即ち、元の座標系における一次カメラの第1の座標(Xp,Yp,Zp)、第4のパラメータとしての眼の平均分離距離(6.5〜7.0cm)、及びカメラによって観察された対象位置の3つの座標である。
【0080】
出力パラメータは、同じ対象点を観察している二次カメラの座標、即ち(Xs,Ys,Zs)であって、これは下記のステップから取得される。
− 元の座標系における一次カメラの座標(Xp,Yp,Zp)を知る。
対象の座標(xt,yt,zt)を知る。
− 「x」及び「z」座標のみが変換される。なぜなら、カメラの座標及び/又は高さは一定だからである(観察者にとって、映像偏向は存在しない)。
【0081】
一次カメラの座標は(0,ys,0)位置へ移動される。
【0082】
対象も平行移動される。
【0083】
カメラと対象を接続するラインの勾配が計算される。
【0084】
軸と、一次カメラ及び対象を結合するベクトルとの間の角度が作成される。
【0085】
角度計算で特別な考慮を払うため、それが属する象限は逆タンジェント関数によって類別される。
【0086】
座標系の全体を、その軸から、軸とベクトルとの間の同じ角度で回転することによって、新しい座標が取得される。オブジェクトが「z」軸の上に置かれ、新しい座標系の原点に一次カメラが残る新しい座標系が取得される。
【0087】
人間の眼の平均距離位置に二次カメラを置くことによって、二次カメラの座標が取得される。
【0088】
これらの座標は、同じ初期角で回転される。
【0089】
「x」及び「z」オフセットが加えられる。最初、これらは一次カメラを原点へ移動するために減じられた。
【0090】
最後に、これらの2つの新しいXs y Zs座標が二次カメラへ割り当てられ、yp座標が維持される。これは二次カメラへ割り当てられる最終の座標点(Xs,Yp,Zs)の同じ値のために高さを決定する。
【0091】
手順は、Delphi、C、C++、Visual C++、Omnisなどの言語で実現可能であるが、結果は同じになるであろう。
【0092】
このアルゴリズムの一般化されたアプリケーションは、二次カメラの位置をリアルタイムで取得する必要がある任意のプログラムで使用されるであろう。
【0093】
このアルゴリズムは、2次元を処理するが立体映像アプリケーションのために開発された既存のソフトウェアで実現されなければならない。
【0094】
本発明の具体的な実施形態が図示及び説明された。本発明の範囲を逸脱することなく、幾つかの修正又は変更を行い得ることが、当業者に明らかであろう。添付のクレイムは、全ての変更及び修正が本発明の範囲内にあるように前述した情報をカバーすることを意図する。
【図面の簡単な説明】
【0095】
【図1】TDVision(登録商標)ビデオゲームの技術マップを示す。
【図2】従来技術に基づくビデオゲームの主要な構造を示す。
【図3】空間内の或る位置でオブジェクトを構成する本質的な3次元要素を示す。
【図4】OpenGL及びDirecTX API関数技術に基づくビデオゲーム・プログラムの開発概要を示す。
【図4a】左及び右バッファを作成し、更にTDVision技術が使用されているかどうかを弁別するアルゴリズムのブロック図を示す。
【図4b】右カメラ・ベクトルの関数として右バックバッファ内に画像を描画した後に右カメラ観察画を設定するサブルーチンであって、更にTDVision技術フォーマットが使用されているかどうかを弁別するサブルーチンのブロック図を示す。
【図5a】TDVision技術をコンパイルするために必要なグラフィカル・アダプタへの修正のコンピューティング概要のブロック図である。
【図5b】TDVision技術が通信を可能にし、プログラミング言語を含み、画像セットに関連づけられたデータの情報処理を可能にする図を示す。
【図6】TDVisionバックバッファ内に情報を描画し、それをDirecTX 3Dフォーマットでオン・スクリーンに呈示することを可能にするアルゴリズムのブロック図を示す。
【図7a】グラフィカル・アプリケーション通信インタフェースの表示ラインを実行するアルゴリズムの概略を示す。
【図7b】Windowsソフトウェア、グラフィック言語カード等の関係を示す図である。
【図8】OpenGLアルゴリズムを使用し、左及び右バックバッファを介してオン・スクリーン情報を表示するブロック図を示す。
【図9】TDVision技術のために使用されるビデオ・カードで必要な変更を示す。
【特許請求の範囲】
【請求項1】
3Dグラフィックス要件コードを処理するグラフィック・エンジンによってビデオ・データ・ストリームを処理することができる3Dビデオゲーム・システムにおいて、
ゲーム・エンジン内でOpenGL(登録商標)又はDirecTX(登録商標)プログラム又はアプリケーションから命令を取ること、
左眼及び右眼に対応する一対のバッファ又は物理メモリ・ラインを作成すること、
左仮想カメラからの画像を左バックバッファ内に表現するか、カメラ位置の関数として左画像を設定すること、
右観察画のために位置座標を計算すること、
左仮想カメラの位置の関数として右バックバッファ内に画像を表現すること、
一時的グラフィックス処理のために別個のメモリ・ロケーション又は左及び右バックバッファを作成し、左バッファとは異なった隣接メモリ・ロケーションに位置する右バッファを設定するとき、余分のメモリ・ロケーションが追加されること、
表示バッファ内に追加の独立表示デバイスを実現し、しかし対応するバックバッファをそれが弁別及び取ることができるように埋没様式でメモリを共有すること、
グラフィックス・エンジンに追加されて、独立した左又は右バックバッファのためにRAMが増加されるグラフィックス・プロセッシング・ユニット、
デュアル・ビデオ出力を有するグラフィックス・カード、
異なったVGA又はビデオ・チャネル内で左又は右画像を生成すること
を備えることを特徴とする3Dビデオゲーム・システム。
【請求項2】
更に、双方の出力バッファをサポートし、出力をビデオ・カードへ与えることなく、シーンの画像セットを一時的及び迅速な仕方で描画するため、ビデオ・カードのバックバッファ又はRAM物理メモリを増加し、表現の前にアプリケーション内で立体のペアを作成することを特徴とする、請求項1に記載の3Dビデオゲーム・システム。
【請求項3】
更に、左バッファが設定されるとき、画像がTDVision(登録商標)に関連するかどうかを弁別してメモリ内に右バッファを設定し、右カメラ観察画を設定し、右カメラ・ベクトルの関数として右バックバッファ内に画像を描画し、右フロントバッファ内に画像を呈示し、左ペアの座標を計算し、左カメラのために観察画を設定し、軸の3D回転及び平行移動によって左カメラ・ベクトルの関数として左バックバッファ内に画像を描画し、深度、体積、又は距離、及びサーフェイス知覚を得るため、TDVision(登録商標)スクリーン内にリアルタイムで情報を表示することを特徴とする、請求項1に記載の3Dビデオゲーム・システム。
【請求項4】
更に、ディジタル・ビデオ・データ・ストリームがリアルタイムのビデオ・データ・ストリームであり、グラフィックス・エンジンがディジタル・ビデオ・ストリームをリアルタイムで表示する制御を含んで、左及び右画像をそれぞれのモニタ内に表示し、ビデオ・ストリームが独立VGA又はビデオ追加表示デバイス(フロントバッファ)内で表示され、該デバイスが埋没様式でメモリを共有し、独立チャネルを介して左及び右シーケンスを表示できることを特徴とする、請求項1に記載の3Dビデオゲーム・システム。
【請求項5】
更に、左バックバッファのために32MBを超えてRAMを増加することを特徴とする、請求項1に記載の3Dビデオゲーム・システム。
【請求項6】
更に、右バックバッファのために32MBを超えてRAMを増加することを特徴とする、請求項1に記載の3Dビデオゲーム・システム。
【請求項7】
更に、対応するバックバッファを弁別及び使用して、完全な画像を独立にオン・スクリーンで表示することを特徴とする、請求項1に記載の3Dビデオゲーム・システム。
【請求項8】
ビデオゲーム・ソフトウェアの実装を備え、該ビデオゲーム・ソフトウェアがプログラミング・インタフェース、例えば、表示サーフェイスへ画像を送るOpenGL(登録商標)及びDirecTX(登録商標)内で一連のグラフィックス処理関数によってユーザ・アクション及びイベントに応答するソース・コード及びゲーム論理を使用して任意のプログラミング言語でプログラムされた3Dビデオゲーム・システムにおいて、
サーフェイス情報をロードし、
メッシュ情報をロードし、
サブルーチンによって左及び右バックバッファを作成し、
初期座標を適用し、
ゲーム論理を適用し、
人工知能を妥当性検証し、
位置を計算し、
衝突を検証し、
左及び右バックバッファ内に情報を描画して、それをオン・スクリーンで呈示し、
ゲーム・ループを評価し、
各々の左又は右カメラの映像化に対応するベクトル座標を取得し、
プログラミング・インタフェース、例えば、OpenGL(登録商標)又はDirecTX(登録商標)内で一連のグラフィックス処理関数によって情報をリアルタイムで表示して画像を表示サーフェイスへ送る
というサブルーチンを備えるTDVision(登録商標)ソフトウェアによって特徴付けられた、3Dビデオゲーム・システム。
【請求項9】
左観察画を作成し、
カメラ位置の関数として左バックバッファ内に描画し、
左フロントバッファ内に画像を表示し、
使用されるフォーマットがTDVision(登録商標)技術であるかどうかを弁別し、
右ペアの座標を計算し、
左カメラ位置の関数としてバックバッファ内に描画し、
右フロントバッファ内に情報を表示する
ことから構成されてTDVision(登録商標)バックバッファ内に描画するステップにより特徴付けられる、請求項8に記載の3Dビデオゲーム・システム。
【請求項10】
バックバッファをクリアし、
バックバッファのためにポインタを取得し、
バックバッファをクローズし、
シーンを再描画し、
バックバッファをオープンし、
バックバッファへのポインタをアンロックし、
使用されるフォーマットがTDVision(登録商標)であるかどうかを弁別し、
左スクリーン内に画像を表示し、
使用されるフォーマットがTDVision(登録商標)であれば、
バックバッファをクリアし、
バックバッファのためにポインタを取得し、
バックバッファをクローズし、
点座標を取得し、
シーンを再描画し、
バックバッファをオープンし、
バックバッファのポインタをアンロックし、
右スクリーン内に画像を表示する
というステップから構成されて、バックバッファからスクリーンへ画像を表示するアルゴリズムの使用により特徴付けられる、請求項8に記載の3Dビデオゲーム・システム。
【請求項11】
立体画像を生成するため3次元コンピュータ映像システムの取得を可能にし、立体映像を取得するため2つの仮想映像化カメラへ割り当てられる空間座標(x,y,z)を座標変換式によって取得する二次立体カメラのために座標を計算し、座標原点に位置する第1のカメラへ直接リンクされる二次カメラの正確な位置を計算し、立体映像を人間へ与える2つの同時的完全画像を、異なったパースペクティブから取得する
というソフトウェアにより特徴付けられる、請求項8に記載の3Dビデオゲーム・システム。
【請求項1】
3Dグラフィックス要件コードを処理するグラフィック・エンジンによってビデオ・データ・ストリームを処理することができる3Dビデオゲーム・システムにおいて、
ゲーム・エンジン内でOpenGL(登録商標)又はDirecTX(登録商標)プログラム又はアプリケーションから命令を取ること、
左眼及び右眼に対応する一対のバッファ又は物理メモリ・ラインを作成すること、
左仮想カメラからの画像を左バックバッファ内に表現するか、カメラ位置の関数として左画像を設定すること、
右観察画のために位置座標を計算すること、
左仮想カメラの位置の関数として右バックバッファ内に画像を表現すること、
一時的グラフィックス処理のために別個のメモリ・ロケーション又は左及び右バックバッファを作成し、左バッファとは異なった隣接メモリ・ロケーションに位置する右バッファを設定するとき、余分のメモリ・ロケーションが追加されること、
表示バッファ内に追加の独立表示デバイスを実現し、しかし対応するバックバッファをそれが弁別及び取ることができるように埋没様式でメモリを共有すること、
グラフィックス・エンジンに追加されて、独立した左又は右バックバッファのためにRAMが増加されるグラフィックス・プロセッシング・ユニット、
デュアル・ビデオ出力を有するグラフィックス・カード、
異なったVGA又はビデオ・チャネル内で左又は右画像を生成すること
を備えることを特徴とする3Dビデオゲーム・システム。
【請求項2】
更に、双方の出力バッファをサポートし、出力をビデオ・カードへ与えることなく、シーンの画像セットを一時的及び迅速な仕方で描画するため、ビデオ・カードのバックバッファ又はRAM物理メモリを増加し、表現の前にアプリケーション内で立体のペアを作成することを特徴とする、請求項1に記載の3Dビデオゲーム・システム。
【請求項3】
更に、左バッファが設定されるとき、画像がTDVision(登録商標)に関連するかどうかを弁別してメモリ内に右バッファを設定し、右カメラ観察画を設定し、右カメラ・ベクトルの関数として右バックバッファ内に画像を描画し、右フロントバッファ内に画像を呈示し、左ペアの座標を計算し、左カメラのために観察画を設定し、軸の3D回転及び平行移動によって左カメラ・ベクトルの関数として左バックバッファ内に画像を描画し、深度、体積、又は距離、及びサーフェイス知覚を得るため、TDVision(登録商標)スクリーン内にリアルタイムで情報を表示することを特徴とする、請求項1に記載の3Dビデオゲーム・システム。
【請求項4】
更に、ディジタル・ビデオ・データ・ストリームがリアルタイムのビデオ・データ・ストリームであり、グラフィックス・エンジンがディジタル・ビデオ・ストリームをリアルタイムで表示する制御を含んで、左及び右画像をそれぞれのモニタ内に表示し、ビデオ・ストリームが独立VGA又はビデオ追加表示デバイス(フロントバッファ)内で表示され、該デバイスが埋没様式でメモリを共有し、独立チャネルを介して左及び右シーケンスを表示できることを特徴とする、請求項1に記載の3Dビデオゲーム・システム。
【請求項5】
更に、左バックバッファのために32MBを超えてRAMを増加することを特徴とする、請求項1に記載の3Dビデオゲーム・システム。
【請求項6】
更に、右バックバッファのために32MBを超えてRAMを増加することを特徴とする、請求項1に記載の3Dビデオゲーム・システム。
【請求項7】
更に、対応するバックバッファを弁別及び使用して、完全な画像を独立にオン・スクリーンで表示することを特徴とする、請求項1に記載の3Dビデオゲーム・システム。
【請求項8】
ビデオゲーム・ソフトウェアの実装を備え、該ビデオゲーム・ソフトウェアがプログラミング・インタフェース、例えば、表示サーフェイスへ画像を送るOpenGL(登録商標)及びDirecTX(登録商標)内で一連のグラフィックス処理関数によってユーザ・アクション及びイベントに応答するソース・コード及びゲーム論理を使用して任意のプログラミング言語でプログラムされた3Dビデオゲーム・システムにおいて、
サーフェイス情報をロードし、
メッシュ情報をロードし、
サブルーチンによって左及び右バックバッファを作成し、
初期座標を適用し、
ゲーム論理を適用し、
人工知能を妥当性検証し、
位置を計算し、
衝突を検証し、
左及び右バックバッファ内に情報を描画して、それをオン・スクリーンで呈示し、
ゲーム・ループを評価し、
各々の左又は右カメラの映像化に対応するベクトル座標を取得し、
プログラミング・インタフェース、例えば、OpenGL(登録商標)又はDirecTX(登録商標)内で一連のグラフィックス処理関数によって情報をリアルタイムで表示して画像を表示サーフェイスへ送る
というサブルーチンを備えるTDVision(登録商標)ソフトウェアによって特徴付けられた、3Dビデオゲーム・システム。
【請求項9】
左観察画を作成し、
カメラ位置の関数として左バックバッファ内に描画し、
左フロントバッファ内に画像を表示し、
使用されるフォーマットがTDVision(登録商標)技術であるかどうかを弁別し、
右ペアの座標を計算し、
左カメラ位置の関数としてバックバッファ内に描画し、
右フロントバッファ内に情報を表示する
ことから構成されてTDVision(登録商標)バックバッファ内に描画するステップにより特徴付けられる、請求項8に記載の3Dビデオゲーム・システム。
【請求項10】
バックバッファをクリアし、
バックバッファのためにポインタを取得し、
バックバッファをクローズし、
シーンを再描画し、
バックバッファをオープンし、
バックバッファへのポインタをアンロックし、
使用されるフォーマットがTDVision(登録商標)であるかどうかを弁別し、
左スクリーン内に画像を表示し、
使用されるフォーマットがTDVision(登録商標)であれば、
バックバッファをクリアし、
バックバッファのためにポインタを取得し、
バックバッファをクローズし、
点座標を取得し、
シーンを再描画し、
バックバッファをオープンし、
バックバッファのポインタをアンロックし、
右スクリーン内に画像を表示する
というステップから構成されて、バックバッファからスクリーンへ画像を表示するアルゴリズムの使用により特徴付けられる、請求項8に記載の3Dビデオゲーム・システム。
【請求項11】
立体画像を生成するため3次元コンピュータ映像システムの取得を可能にし、立体映像を取得するため2つの仮想映像化カメラへ割り当てられる空間座標(x,y,z)を座標変換式によって取得する二次立体カメラのために座標を計算し、座標原点に位置する第1のカメラへ直接リンクされる二次カメラの正確な位置を計算し、立体映像を人間へ与える2つの同時的完全画像を、異なったパースペクティブから取得する
というソフトウェアにより特徴付けられる、請求項8に記載の3Dビデオゲーム・システム。
【図1】
【図2】
【図3】
【図4】
【図6】
【図8】
【図9】
【図2】
【図3】
【図4】
【図6】
【図8】
【図9】
【公表番号】特表2007−528518(P2007−528518A)
【公表日】平成19年10月11日(2007.10.11)
【国際特許分類】
【出願番号】特願2005−512205(P2005−512205)
【出願日】平成15年12月19日(2003.12.19)
【国際出願番号】PCT/MX2003/000112
【国際公開番号】WO2005/059842
【国際公開日】平成17年6月30日(2005.6.30)
【出願人】(506210370)ティディヴィジョン コーポレイション エス.エー. デ シー.ヴィ. (6)
【Fターム(参考)】
【公表日】平成19年10月11日(2007.10.11)
【国際特許分類】
【出願日】平成15年12月19日(2003.12.19)
【国際出願番号】PCT/MX2003/000112
【国際公開番号】WO2005/059842
【国際公開日】平成17年6月30日(2005.6.30)
【出願人】(506210370)ティディヴィジョン コーポレイション エス.エー. デ シー.ヴィ. (6)
【Fターム(参考)】
[ Back to top ]