説明

3Dイメージ表示画面上で3Dシーンをレンダリングするコンピュータ・グラフィックス・プロセッサおよび方法

3DシーンのN個のビューをレンダリングするレンダラを有するコンピュータ・グラフィックス・プロセッサを提供する。N個のビューのすべてについて前記3Dシーンのプリミティブの表面にわたって表面グリッドをトラバースするラスタライザSSRを含む前記レンダラ。さらに、前記レンダラは、ラスタライザSSの出力の色を決定し、シェーディングされた色サンプルをそのスクリーン座標と共に転送するシェーダ手段PPSと、N個のビューのうちの1つに従って前記シェーダ手段PPSによって決定されたシェーディングされた色サンプルをそれぞれが再サンプリングするN個のスクリーン空間リサンプラSSRとを含む。これは、表面トラバーサル、テクスチャ・フェッチ、およびシェーディング計算が、N個の異なるビューについて1回だけ実行されるので、はるかに効率的である。結果としてシェーディングされた色が、すべてのビューについて再利用される。さらに、プリミティブの表面にわたってすべてのグリッドをトラバースする能力は、より高いレンダリング自由度をもたらす。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、3DシーンのN個のビューをレンダリングする、コンピュータ・グラフィックス・プロセッサおよび方法に関する。
【背景技術】
【0002】
最近、3Dイメージ表示画面で3Dイメージおよび3Dシーンを提供することに高い関心があった。3Dイメージングが、カラー・イメージングの後に、イメージングにおける次の大きい改革になると信じられている。イメージを表示するのに必要な情報(データ)は、3Dモデルの入力およびビューポイントの入力を含むレンダラによってレンダリングされる。基本的に、3次元の印象は、ステレオ・ペア(見る人の2つの目に向けられる2つの異なるイメージ)、ホログラフ技法、またはディスプレイ内の複数プレーンを使用することによって作成され得る。
【0003】
ステレオ・イメージを作成する複数の形がある。イメージは、2Dディスプレイ上で時間多重化されてもよいが、これは、見る人が、たとえばLCDシャッタを有する眼鏡をかけることを必要とする。ステレオ・イメージが同時に表示される時に、ヘッド・マウント・ディスプレイを使用することによって、または偏光眼鏡を使用することによって(イメージが、次いで、直交する偏光を用いて作られる)、イメージが、適当な目に向けられ得る。観察者がかける眼鏡は、効果的に、ビューをそれぞれの目に経路指定する。眼鏡内のシャッタまたは偏光子が、フレーム・レートに同期化されて、この経路指定を制御する。フリッカを防ぐために、2次元の同等のイメージに関して、フレーム・レートを2倍にするか、解像度を半分にしなければならない。そのようなシステムの不利益は、2つのイメージが、限られた「周囲を見る」能力だけをもたらすことである。さらに、効果を得るためには眼鏡をかけなければならない。これは、眼鏡をかけることに慣れていない観察者にとって不愉快であり、追加の眼鏡が必ずしもぴたりと合わないので、既に眼鏡をかけている人にとって潜在的に問題である。
【0004】
見る人の目の近くではなく、たとえば米国特許第5969850号に示されているように、2つのステレオ・イメージが、視差バリア(parallax barrier)等の分割する画面によって表示画面で分割されることも可能である。表示画面のビューは、3Dイメージを見るために特殊な眼鏡が不要であるという意味でオートステレオスコピック(auto−stereoscopic)であり、しばしば、空間内の固定された位置の1人の見る人だけについて機能する。しかし、視域(viewing zone)は非常に狭い。視域の外では、観察者は、複数のイメージまたはステレオ反転を見、非常に不愉快なビューになる。実際には、これは、多くの応用例で、たとえば居間で、視域が小さすぎ、見る人が、3Dイメージを見られるようになるために1特定の場所に位置しなければならないことを意味する。
【0005】
したがって、N個のビューすなわち表示画面上の多数のビューを提供できる表示装置を有するシステムに向かう傾向がある。そのような装置は、複数の見る人について、比較的大きい視角から可視の表示画面に3Dイメージを提供することができる。
【0006】
イメージ、特に3Dゲーミングを表示するために、レンダラが使用される。レンダラは、イメージに関するデータをレンダリングしなければならない。単純なステレオ表示すなわち、視点の個数N=2の場合に、レンダラは、2つのイメージに関するデータをレンダリングしなければならないが、より複雑な3D、たとえばオートステレオスコピック表示の場合に、ビューの個数は、実質的に増え、現在はN〜10になりつつあり、将来の3D表示について、N〜100になることが期待され、これは、レンダラが、ますます多くのビューを、したがってますます多くのデータを供給することを必要とする。レンダラは、表示装置自体の一部としても良く、あるいは、表示装置のまたは表示装置のためのアドレッシング手段用の入力としてイメージ装置に供給されるイメージ情報を供給する独立型の装置としてもよい。これに関して、多数のビュー情報を生成しなければならないだけではなく、好ましくはイメージの品質が各視点について実質的に等しいことが最も重要である。
【0007】
現在のレンダリング技法は、3Dモデルおよび別々のビューの視点に基づいて前記別々のビューごとのイメージ情報すなわちデータをレンダリングするレンダを使用する。そのような方法は、N=2の3Dイメージングに有用であるが、ますます増加する個数の視点に関するそのような実装は、視野を広げ、多数の異なる視点からのイメージが見られることを可能とするために、高い速度で実質的に等しい画質を有する多数の視点を必要とし、高い度合の詳細をレンダリングしなければならない。
【0008】
図6に、基本的な立体視装置の問題を示す。正しい視域内に位置しない見る人は、混乱している。視域は、非常に狭い。視域の外では、観察者は、複数のイメージまたはステレオ反転を見、非常に不愉快なビューになる。実際には、これは、多くの応用例で、たとえば居間で、視域が小さすぎ、見る人が、何かを見られるようになるだけのために1特定の場所に位置しなければならないことを意味する。
【0009】
視差ディスプレイは、複数の同時に見る人を可能とする、異なる見る位置について3Dシーンの異なる透視図(イメージ)の固定された組を示すタイプのマルチビュー・ディスプレイである。
【0010】
視差ディスプレイが表示できるビューの個数(N)は、表すことのできる3D画質および全体的な奥行き範囲を決定する。画質は、隣接ビューがより似ている時に高まる。これは、見る人の頭の動きに関する滑らかな(現実的な)遠近法の遷移をもたらす。さらに、2つの隣接するビューは、ほとんどの場合にわずかにオーバーラップしている。これは、ビューの類似性が減る場合に「二重輪郭像発生(double contouring)」または(ゴースト発生(ghosting))が増えることを意味する。しかし、より多くの奥行きはビューの間のより大きい不一致(より少ない類似性)を必要とするので、隣接ビューの類似性は、これらのビューが貢献できる奥行きの量を制限する。
【0011】
したがって、多数の透視図(N)という要件は、それらを生成するコスト効率の良い手段を要求する。
【0012】
1つの解決策は、3D記述からすべてのビューを生成することである。これによって、非常に異なる角度からの視点が可能になる。複数のビューのすべてを生成することの高価な変形が、別々のグラフィックス・パイプライン(多分異なるPCまたは他の装置にさえ配置される)を使用することである。これは、グラフィックス・パイプラインの間の同期化と、すべてのモデル・データおよびテクスチャ・データのパイプラインにまたがる複製を必要とする。
【0013】
しかし、1つの変形は、レンダリング・パイプラインの一部だけを複製することである。伝統的な逆マッピング・レンダリング・パイプライン(inverse mapping rendering pipeline)を図7に示す。図7には、訪問されるピクセルのプログラマブル頂点およびピクセル・シェーディングを特徴とする逆マッピング・レンダリング・パイプラインの最後のステージのアーキテクチャが示されている。プログラマブル・ピクセル・シェーダPPSは、各ピクセル位置で使用可能な属性を使用して、局所的な表面の色を計算することができる。テクスチャ・データが必要な時には、テクスチャ空間リサンプラTSRが、テキスト座標を与えられてテクスチャ・メモリTMからテクスチャ・サンプルを入手するのに使用される。これらのテクスチャ座標は、ラスタライザSSRから受け取られた補間された座標および前のテクスチャ・フェッチ(いわゆる依存テクスチャリング(dependent texturing))および/または計算からの結果に基づいて、ピクセル・シェーダPPSによって生成される。ピクセルの表面の色がPPSによって決定された後に、結果のピクセル・フラグメントが、エッジ・アンチエイリアシングおよび陰面消去(EAA&HSR)ユニットに送られる。通常、このユニットは、陰面消去にZバッファを使用し、エッジ・アンチエイリアシングにマルチサンプリング(関連するサブサンプル・バッファおよびダウン・サンプル論理を用いる)を使用する。ダウン・サンプリングは、すべてのプリミティブが(通常はボックスの)プレフィルタを使用してレンダリングされた時に、サブサンプルを最終的なピクセル解像度の色に組み合わせるために適用される。
【0014】
頂点シェーダPVSは、レンダリングされなければならないプリミティブの頂点ごとに、ピクセル・シェーダPPS用のデータを変更し、セットアップすることができる。頂点シェーダによってラスタライザ・セットアップRSに供給されるデータに、通常、拡散色および/またはスペキュラ色などの属性と、テクスチャ座標と、(同次)スクリーン座標と、時々、表面法線またはシェーディング処理に必要な他のデータなどの余分なデータとが含まれる。これらの属性は、スクリーン空間ラスタライザSSに提供され、スクリーン空間ラスタライザSSは、ラスタ化処理用の駆動変数として頂点属性からのスクリーン座標を選択することによって、スクリーンごとのプリミティブの射影内にあるピクセルを、スキャン・ライン・アルゴリズムを使用してトラバースする。
【0015】
そのようなパイプラインで、ラスタライザは、画面上のシーン内のプリミティブ(三角形など)の射影をトラバースする。この射影は、すべてのビューについて異なる。したがって、ラスタライザSS(セットアップRSを含む)およびパイプライン内でその後にあるすべてのものが、ビューごとに複製される必要がある。したがって、ラスタライザ・セットアップRS、スクリーン空間ラスタライザSSR、テクスチャ空間リサンプラTSR、PPSおよびTSR?、エッジ・アンチエイリアシングおよび陰面消去EAA&HSRユニット、ならびにフレーム・バッファFBが、ビューごとに複製される。これは、ハードウェア(多数の複製)、メモリ帯域幅(テクスチャ・データがすべてのパイプライン複製について独立にフェッチされる)、および処理要件(ピクセル・シェーディング計算が、ビューごとに複製され、実行される)に関して高価である。
【発明の開示】
【発明が解決しようとする課題】
【0016】
したがって、本発明の目的は、過度の計算能力の必要なしに実質的に等しい画質のN個のイメージをレンダリングすることを可能にするシステムおよび方法を提供することである。
【課題を解決するための手段】
【0017】
この目的は、請求項1によるコンピュータ・グラフィックス・プロセッサ、請求項9による3DイメージのN個のビューをレンダリングする方法、および請求項14によるコンピュータ・プログラムによって解決される。
【0018】
したがって、3DイメージのN個のビューをレンダリングするレンダラを有するコンピュータ・グラフィックス・プロセッサが提供される。N個のビューのすべてについて前記3Dイメージのプリミティブの表面にわたって表面グリッドをトラバースするラスタライザSSを含む前記レンダラ。さらに、前記レンダラは、ラスタライザSSの出力から色を決定し、N個のビューのうちの1つに従ってシェーダ手段PPSによって決定されたシェーディングされた色サンプルをそれぞれが再サンプリングするN個のスクリーン空間リサンプラSSRに、シェーディングされた色サンプルをそのスクリーン座標と共に転送する前記シェーダ手段PPSを含む。
【0019】
表面トラバーサル、テクスチャ・フェッチ、およびシェーディング計算が、N個の異なるビューについて1回だけ実行されるので、この実装ははるかに効率的である。結果のシェーディングされた色が、すべてのビューについて再利用される。さらに、プリミティブの表面にわたってすべてのグリッドをトラバースする能力は、より高いレンダリング自由度をもたらす。
【0020】
本発明の一態様によれば、前記コンピュータ・グラフィックス・プロセッサは、さらに、テクスチャ・マップを保管するテクスチャ・メモリTMを含む。前記表面グリッドは、前記プリミティブに関連付けられ前記テクスチャ・メモリTMに保管されたテクスチャ・マップから導出される。表面グリッドとしてテクスチャ・マップに関連付けられたグリッドの使用は、テクスチャ・グリッド上のテクスチャ・サンプルの入手が再サンプリングを必要としないので、有利である。
【0021】
本発明のもう1つの態様によれば、テクスチャ・メモリTMに保管されたテクスチャ・マップのうちの1つに関連するグリッドが、a)前記テクスチャ・マップが独立にアドレッシングされ、b)前記テクスチャ・マップが2Dテクスチャに基づき、かつc)頂点のテクスチャ座標がデジェネレート・プリミティブ(degenerate primitive)を構成しない場合に、表面グリッドとして選択される。
【0022】
本発明のもう1つの態様によれば、前記テクスチャ・メモリTMに保管された複数のテクスチャ・マップが前記3つの要件a)〜c)を満足する場合に、テクスチャ空間内で最大の面積を有するテクスチャ・マップが、選択される。このテクスチャは、潜在的に最も多い詳細および最も高い周波数を有するテクスチャであり、テクスチャ空間再サンプリング処理が不必要なブラーおよびエイリアシングを生じさせ得るので、このテクスチャに関するテクスチャ空間再サンプリング処理で回避されることが最善のテクスチャである。
【0023】
本発明のもう1つの態様によれば、前記コンピュータ・グラフィックス・プロセッサは、さらに、表示画面をアドレッシングする手段を含む。前記レンダラは、アドレッシング手段に供給されるイメージ情報をレンダリングするための、3Dモデルの入力および少なくとも1つの視点の入力を有する。レンダラは、色情報およびZ値を有するスタック層S1、S2、およびS3を有する主視点Zスタック91および94の形の、オブジェクトをレンダリングするための3Dモデル用および主視点用の入力を有する初期部分70を含む。さらに、レンダラは、初期ステージによって生成された主視点Zスタック(91、94)から追加視点用のZスタック97がその中で構成されるZスタック・コンストラクタと、zスタック97からイメージ情報79を生成する後続イメージ情報オクルージョン・セマンティックス・ステージ(further image information occlusion semantics stage)とを含む。
【0024】
したがって、少数の比較的離れたビューだけが、N個のスクリーン空間リサンプラによって生成され得ると同時に、少数のzスタックが、中間の近いビューを生成するのに使用される。したがって、複数の主視点が存在しても良く、これらの主視点のそれぞれは、それ自体のSSRによって生成され得る。
【0025】
本発明は、3DイメージのN個のビューをレンダリングする方法にも関する。前記3Dイメージのプリミティブの表面の表面グリッドが、N個のすべてのビューについてトラバースされる。ラスタライザSSの出力の色が生成され、シェーディングされた色サンプルが、そのスクリーン座標と一緒に転送される。前記シェーダ手段PPSによって決定されるシェーディングされた色サンプルが、N個のビューごとに再サンプリングされる。
【0026】
本発明は、表面トラバーサル、テクスチャ・フェッチ、およびシェーディング計算を1回だけ実行するという発送に基づく。結果のシェーディングされた色が、次いで、N個のビューのすべてについて再利用される。
【0027】
本発明の上記および他の態様は、下で説明する実施形態から明白であり、この実施形態を参照して説明される。
【0028】
図面は、原寸通りに描かれてはいない。一般に、同一の構成要素は、複数の図面で同一の符号によって示される。
【発明を実施するための最良の形態】
【0029】
図1に、好ましい実施形態である、本発明の第1の実施形態によるマルチビュー・レンダリングの順方向マッピング・パイプライン(forward mapping pipeline)の図を示す。このレンダリング・パイプライン、特にそのバックエンドに、プログラマブル頂点シェーダPVS、ラスタライザ・セットアップ・ユニットRS、表面空間ラスタライザSS、テクスチャ・メモリTM、テクスチャ空間リサンプラTSR、プログラマブル・ピクセル・シェーダPPS、スクリーン空間リサンプラSSR、エッジ・アンチエイリアシング・ユニットEAA、陰面消去ユニットHSR、およびフレーム・バッファFBが含まれる。
【0030】
まず、レンダリング・パイプラインの動作を、単一ビューに関して説明する。本発明によるハイブリッド・レンダリング・パイプライン・アーキテクチャは、逆マッピング・ピクセル・シェーディング・アーキテクチャおよび順方向マッピング・パイプラインの組合せに基づく。
【0031】
プログラマブル頂点シェーダPVS(たとえば、Erick Lindholm,Mark J.Kilgard,and Henry Moreton、「A user−programmable vertex engine」、in Proceedings Siggraph 2001、149〜158頁、2001年8月に記載の)は、レンダリングされるプリミティブの頂点ごとにプログラマブル・ピクセル・シェーダPPS用のデータを変更し、セットアップするように適応される。プログラマブル頂点シェーダPVSによってラスタライザSSに供給される(補間のために)データに、通常、拡散色および/またはスペキュラ色などの属性と、テクスチャ座標と、(同次)スクリーン座標と、時々、表面法線またはシェーディング処理に必要な他のデータなどの余分なデータとが含まれる。
【0032】
アンチエイリアシング・ユニットEAAおよび陰面消去ユニットHSRは、陰面消去にZバッファを使用し、エッジ・アンチエイリアシングにマルチサンプリング(関連するサブサンプル・バッファおよびダウン・サンプル論理を用いる)を使用する。
【0033】
前述の順方向テクスチャ・マッピング・アーキテクチャでは、テクスチャ・サンプルが、スクリーン空間リサンプラ・ステージSSRの後の共通のスクリーン・ピクセル・グリッド上でのみ入手可能である。また、ラスタライザは、1時に1つのグリッドだけをトラバースすることができ、したがって、ラスタ化が、順方向マッピング・アーキテクチャのようにテクスチャ・グリッド上で行われ、マルチテクスチャリングがイネーブルされている時には、ラスタライザは、多数のテクスチャのうちの1つのテクスチャを選択しなければならず、関連するグリッドごとにプリミティブをトラバースする。複数のテクスチャは、マルチパスの形で処理され得、その結果、これらの複数のテクスチャが、スクリーン・ピクセル・グリッドに再サンプリングされた後に組み合わされ得るようになる。しかし、この動作は、EAA&HSRユニット内のフラグメント・バッファを混雑させる。また、この動作は、依存テクスチャリングなどの高度な特徴を除外するか、または環境マッピングされたバンプ・マッピング(各グリッド位置でのバンプ・マップ情報が、環境マップがインデクシングされる場所を決定し、おそらくは環境マップからプリミティブ表面およびスクリーンへの1対多順方向マッピングをもたらす)などの逆方向の性質のテクスチャ・モードを除外する。本発明によれば、スクリーン予備リサンプラSSRが、これらの問題を回避するために、プリミティブに関連する1つのテクスチャ・マップだけがあるかのようにテクスチャ・サンプルをマッピングできることが確実になる。このために、表面色のシェーディングは、スクリーン空間再サンプリング処理の前に実行されなければならない。
【0034】
表面空間ラスタライザSSは、「表面グリッド」上すなわち、プリミティブの表面の2Dパラメータ化を提供する座標系内のグリッド上でプリミティブをトラバースする。テクスチャ・マップに関連するグリッドは、そのような表面グリッドを提供し、好ましくは表面グリッドとして使用される(テクスチャ・グリッドごとにテクスチャ・サンプルを入手することが再サンプリングを必要としないので)。しかし、テクスチャ・マップが存在しない場合に、またはたとえばテクスチャが1Dもしくは3Dである時に、別のグリッドが選択されてもよい。属性は、各グリッド位置に関連する遠近法的にマッピングされたスクリーン座標(順方向テクスチャ・マッピングの場合のように)を除いて、このグリッド上で線形に補間され得る。表面空間ラスタライザSSは、属性(副テクスチャ座標を含む)をこのグリッド上の位置に対して補間する。次いで、ピクセル・シェーダPPSが、この表面グリッド内のグリッド位置で属性を操作し、プリミティブに関連する副テクスチャがある場合に、ピクセル・シェーダPPSは、標準テクスチャ空間リサンプラTSRを用いる逆マッピングを使用して、これらのテクスチャから色を入手する。表面グリッドが、テクスチャ・マップから選択された場合に、この「主」テクスチャ・ステージに関するテクセルのフェッチは、順方向マッピング・パイプラインからの4Dミップマップ再構成処理によって実行され得る。この処理は、軸合わせされた異方性フィルタリングの形であり、異方性フィルタリングは、しばしば、標準テクスチャ空間リサンプラ内で使用可能である。フェッチされたテクスチャ・サンプルおよび他の属性は、ピクセル・シェーダ・プログラムによって、現在のグリッド位置の表面色を計算するのに使用され得る。表面グリッド上のサンプルがシェーディングされたならば、スクリーン空間リサンプラSSRが、その色をスクリーン・ピクセルにスプラッティング(splat)するのに使用され、ここで、EAA&HSRユニットが、異なるプリミティブからの寄与を組み合わせることができる。
【0035】
表面空間ラスタライザSSに、余分な第1パイプライン・ステージ(通常のセットアップ・ステージおよびトラバーサル・ステージの次)が含まれ、この余分な第1パイプライン・ステージで、表面グリッドが決定される。これは、通常のラスタライザ・セットアップの前に行われる。
【0036】
表面グリッドは、テクスチャ・マップのうちの1つから導出され得、その結果、このテクスチャ・マップは、テクスチャ空間リサンプラTSRによって再サンプリングされる必要がなくなる(4Dミップマッピングからの場合を除く)。したがって、グリッド・セットアップ・ステージは、プリミティブに関連するテクスチャ・メモリTMに保管されたテクスチャ・マップを検査することができる。テクスチャ・マップが表面グリッドを供給するのに適格であるためには、そのテクスチャ・マップが、3つの要件を満足しなければならない。第1に、そのテクスチャ・マップは、依存してアドレッシングされてはならない。第2に、そのテクスチャ・マップは、2Dテクスチャでなければならない(1Dテクスチャおよび3Dテクスチャは、2Dサーフェスのトラバースに適していない)。第3に、頂点でのテクスチャ座標が、デジェネレート・プリミティブ(たとえば、すべてのテクスチャ座標が1直線に並び、効果的に1Dテクスチャが生じる)を構成してはならない。
【0037】
複数のテクスチャが適格である場合に、グリッド・セットアップ・ステージは、テクスチャ空間内で最大の面積を有するテクスチャを選択する。このテクスチャは、潜在的に最も多い詳細および最も高い周波数を有するテクスチャである(このテクスチャは、テクスチャ空間再サンプリング処理が不必要なブラーおよびエイリアシングを生じさせ得るので、このテクスチャに関するテクスチャ空間再サンプリング処理で回避されることが最善のテクスチャである)。
【0038】
適格なテクスチャが使用可能でない場合(たとえば、単純なグーロー・シェーディングされるプリミティブの場合)に、プリミティブの表面のダミー・グリッドが、各頂点にダミー「テクスチャ座標」を割り当てることによって、ラスタライザがトラバースするために選択され得る。次いで、このダミー・グリッドが、テクスチャ座標であるかのように(これらの座標のテクスチャ・フェッチがディスエーブルされることを除いて)ラスタライザによってトラバースされる。利益は、この表面での結果の線形補間が、遠近法的に正しいグーロー・シェーディングを提供することである。さらなる情報については、Baoquan Chen,Frank Dachille,and Arie Kaufman、「Forward image mapping」、in Proceedings of IEEE Visualization’99、89〜96頁、1999年10月を参照されたい。ダミー・テクスチャ座標として各頂点にxおよびyのスクリーン座標を割り当てることが、代替選択肢である。「テクセル」をスクリーンにマッピングする時に、まだ各頂点の同次wが考慮に入れられるので、この選択が、ラスタライザがスクリーン・ピクセルをトラバースすることを意味しないことに留意されたい。もう1つの選択肢(三角形などの平面の表面に関する)は、回転される表面の法線が視点空間(eye space)z軸に位置合せされるように、視点空間で3D頂点座標を回転し、次いで、各頂点のダミー・グリッド座標として、回転された視点空間のxy座標を選択することである。
【0039】
プリミティブの表面でグリッドをトラバースする能力は、大きい自由を与える。この自由は、たとえば、スクリーンへの特定のテクスチャ・グリッドのマッピングに関連する場合があるすべてのボトルネック問題およびせん断問題を回避するのに使用され得る。この自由は、非平面プリミティブをトラバースするのに使用され得る(表面パラメータ化によって決定される2Dグリッドを介するベジエ・パッチのトラバースおよびスクリーンに表面色を直接にスプラッティングするための順方向マッピングの使用など)。この自由は、モーション・ブラーを効率的に実装するために1Dフィルタがラスタ化方向に沿って適用され得るようにするために、プリミティブの動きの方向のラスタライザにも使用され得る。
【0040】
プログラマブル「ピクセル」シェーダPPSおよびテクスチャ空間リサンプラTSR(これらは、複数のテクスチャが存在する場合にテクスチャ・サンプルの直列または並列のフェッチのために、1つまたは複数があってもよい)は、伝統的なパイプライン内のプログラマブル・ピクセル・シェーダPPSおよびテクスチャ空間リサンプラTSRに対応する。ピクセル・シェーダPPSは、1つの位置の、テクスチャ座標およびスクリーン座標を含む(補間された)属性の組を受け取る。テクスチャ座標は、シェーディング・プログラムと共に、テクスチャ空間リサンプラTSRを介してテクスチャ・マップのどこをインデクシングするかを決定する。シェーダは、テクスチャ空間リサンプラTSRに送る前にテクスチャ座標を変更して、伝統的なパイプラインの場合と正確に同一の形で依存テクスチャリングを実装することもできる。
【0041】
プログラマブル・シェーダPPSは、シェーディングされた色を、それに関連するスクリーン座標と一緒にスクリーン空間リサンプラSSRに渡す。これらの色および座標は、一般に整数ではなく、伝統的なピクセル・シェーダ・パイプライン内のピクセル・シェーダが、スーパーサンプリングを実行する時にサブピクセル・スクリーン位置を受け取ることができる形に似ている。
【0042】
したがって、シェーディングされた色は、1つの位置に関する計算の結果であり、ラスタライザSSによってトラバースされるグリッドに依存しない。これは、既存シェーダ・プログラムが、本発明によるアーキテクチャ上で走行するために変更される必要がないことを意味する。表面空間でプログラマブル・シェーディングを実行することには、利益と不利益がある。順方向マッピングによって可能にされる高品質アンチエイリアシングの次の主要な利益は、透視マッピングに関する関心事項の分離である。テクスチャ空間リサンプラTSRは、現在、スクリーンへの透視マッピングを扱う必要がない。ほとんどの場合に、テクスチャ空間リサンプラTSRは、テクスチャ・グリッドの間のアフィン変換を実行するのに使用される。標準的なバイリニア/トライリニア・プローブ・ベース・テクスチャ空間リサンプラは、透視マッピングに必要なより一般的な形状のフットプリントより、そのようなアフィン・マッピングに必要なフィルタ・フットプリントをより良く近似することができ、したがって、この再サンプリング処理からの品質は、より高くなる。
【0043】
スクリーン空間リサンプラSSRだけが、透視再サンプリングを扱う必要があり、透視再サンプリングは、表面グリッド上のシェーディングされるサンプルに1回だけ適用される。不利益は、我々が最終的なピクセルの約2倍の表面サンプルを有するので、伝統的なピクセル・シェーディング・パイプラインの場合より多数のサンプルがシェーディングされることである。これは、各方向で1と2の間の縮小(minification)係数を維持する(したがって、我々は、1ピクセルあたり約1.5×1.5倍の表面サンプルを有する)ミップマッピングに起因する。しかし、高品質アンチエイリアシングは、サブピクセル詳細がまだ最終的なイメージに寄与し、これによって画質がさらに改善されることを確実にする。
【0044】
もう1つの不利益は、副テクスチャが、現在、2回再サンプリングされ(テクスチャ空間リサンプラTSRによって1回、スクリーン空間リサンプラSSRによってもう1回)、これが余分なぼけを導入する場合があることとすることができる。これは、最終的な詳細が1回だけ再サンプリングされることを保証するために、好ましくは最高の詳細を有するテクスチャ・マップが主テクスチャとして選択される理由である。副テクスチャは、一部の余分なブラーがそれに関して非常に顕著ではないより小さい縮小(または、たとえばライト・マップの場合に通常そうであるように、拡大)を有する。スクリーン空間リサンプラSSRは、高品質な鮮明度拡張フィルタ(sharpness enhancement filter)に関する使用も可能にし、これも、鮮明なイメージを維持するのを助けることができる。
【0045】
ピクセル・シェーディング処理から生じるシェーディングされた色サンプルは、そのスクリーン座標と一緒にスクリーン空間リサンプラSSRに転送される。スクリーン空間リサンプラSSRは、これらの色サンプルを(一般に非整数ピクセル位置に置かれている)を、表示に必要な整数ピクセル位置に再サンプリングする。より大きいプリミティブをレンダリングするかより幅広いプレフィルタを使用する時に、1Dフィルタを使用する2パス手法が、2Dフィルタ・カーネルを直接使用することより効率的である。また、1Dリサンプラは、DCリップルを避けるのに再正規化が必要でなくなるように、構成され得る。2パス・フィルタは、たとえばボトルネック問題およびせん断問題を軽減するために余分のセットアップを必要とする。代替案は、スプラッティングを実行するのに2D再サンプル・カーネルを使用することである。
【0046】
複数ビュー・レンダリングを可能にするために、レンダリング・パイプラインの一部だけが、N個の異なるビューをレンダリングするために複製される。複製されなければならない部分の選択を、これから詳細に説明する。
【0047】
上で述べたように、表面空間ラスタライザSSは、プリミティブの表面でグリッドをトラバースし、このプリミティブは、その表面のビューおよびラスタライザSSによってトラバースされる表面のピクセル・シェーダPPSによって決定される色と(主として)独立である。したがって、プリミティブの表面の表面グリッドは、その表面のビューと独立なので、表面トラバーサルおよびシェーディング計算は、複製される必要がない。単に、計算された表面色を特定のビューにマッピングするスクリーン空間リサンプラSSRと、それに続くエッジ・アンチエイリアシングおよび陰面消去(EAA&HSR)ユニットおよびフレーム・バッファFBとが、ビューを正しくレンダリングするために、ビューごとに複製される必要がある。
【0048】
ラスタライザ・セットアップは、スクリーン空間リサンプラのためのセットアップ計算(透視マッピングおよび裏面カリング(backface culling)用)も実行するので、ラスタライザ・セットアップの諸部分も、複製される必要がある。特に、ラスタライザ・セットアップのうちで、スクリーン空間へのマッピングを実行するのに使用される変数を初期化する部分が、ビューごとにマッピングをセットアップするために複製され、すべての裏面カリング・アルゴリズムが、どのビューでも可視でない時に限って(多分2つの極値に基づいて)プリミティブをカリングするように変更される必要がある。
【0049】
そのような複製は、表面トラバーサル、テクスチャ・フェッチ、およびシェーディング計算が1回だけ実行されるのではるかに効率的なので、特に有利である。結果のシェーディングされた色が、すべてのビューについて再利用される。
【0050】
しかし、この複製は、視点に独立なシェーディング計算(多数のシェーディング計算についてそうである)についてのみ働く。視点に独立でない場合には、中央ビューの視点が、近似として使用され得る。シェーディングは、中央ビューについて実行され得、その結果、中心から外れたビューが、近似を構成するようになる。
【0051】
複数ビューのレンダリングのもう1つの結果は、ラスタライザが、すべてのビューに十分に高い解像度でプリミティブの表面をトラバースする必要があることである。言い換えると、ビューのいずれかが必要とする最高の解像度が、ラスタライザの解像度を決定する。したがって、ラスタ化コストおよびシェーディング・コストは、1つのビューだけをレンダリングする場合よりわずかに高いが、ビューごとの別々のラスタ化およびシェーディングよりはるかに低い。
【0052】
この解決策は、既知のワープ解決策と組み合わされ得る。1つのビューおよびそのビューの深さマップを与えられれば、隣接ビューは、ワープ技法を介して生成され得る。これは、シーンが1回だけレンダリングされるので非常に効率的であるが、最初のビューと生成されるビューの間の角度が大きくなる時により顕著になるアーチファクトを導入する。言い換えると、本パイプラインが、必要な視角のすべてを含む限られた個数のビューを生成するのに使用され得る。次いで、ワープが、これらのレンダリングされたビューのうちの最も近いビュー(1つまたは2つ)から中間ビューを生成するのに使用される。
【0053】
図2に、本発明の第2の実施形態による表示装置のレンダラ(レンダリング・パイプ)62を示す。レンダラ62に、主視点のZスタックを生成する第1部分70が含まれる。この部分に、この例では、主視点の入力63および3Dモデルの入力61が含まれる。すべてのジオメトリ(オブジェクトの形状および形態)が、主視点に従ってジオメトリ・トランスフォーマ71内で変換され、そのデータがピクセライザ72内でピクセル化される、すなわち、すべてのオブジェクトが、X、Y、Z、色(RGB)、およびおそらくはα(透明または不透明)値を有するピクセルに変換され、テクスチャが、テクスチャライザ73で追加される。主視点DOF(被写界深度)が、DOFレンダラ74で追加される。これは、主視点に関連するデータについて行われる。したがって、これは、追加の視点の個数N−1とかかわりなく、主視点について1回だけ行われる。
【0054】
その後、主視点のデータ(下で説明するようにZスタックの形の)が、3Dレンダリング・ステージ75で基礎として使用され、3Dレンダリング・ステージ75は、残りのN−1個の追加視点に関連するデータの入力を有し、N−1個の追加視点に関するN−1個のZスタックを出力としてレンダリングする。オクルージョン・セマンティクス・ステージ76で、N−1個の追加視点zスタック内のデータ(主視点のZスタック内のデータと一緒に)が、Zトレーシングによって、N個の異なる視点からのN個のイメージのためのN個のフレーム・バッファに変換される。通常は最大の量の計算能力を必要とするこの処理の第1部分(ステップ74を含んでステップ74まで)が、主視点だけについて行われるので、計算要件は、比較的少ない。結果の主視点Zスタック(この例ではDOFを伴う)が、他のすべての視点の基礎である。
【0055】
本発明の第2の実施形態による方法およびシステムは、N個の高品質ビューの効率的な計算を可能にするが、フレーム/Zバッファに基づく既存の方法は、低品質のビューだけを提供し、完全に独立なN個のビューを生成することに基づく既存の方法は、効率的でない。
【0056】
図3に、さらに、異なる視点に関するZスタックおよびフレーム・バッファの構成を示す。3Dモデル80に、すべての情報すなわち、すべてのオブジェクトおよびその相互方位が含まれる。フル3Dモデルから、主視点の3層Zスタック81が作られる。これは、図3に概略的に示されているzスタック・コンストラクタによって行われ、このzスタック・コンストラクタは、要素を含む(この例では)3つのシーケンシャル・バッファの階層構造を構成し、この階層構造では、要素ごとに(この例では)、Z値、I値(色を表す)、アルファ値(不透明係数αを表す)が保管される。基本的に、zスタックの第1スタックに、視点から最初に見えるすべての要素のRGB(色情報)およびz座標(およびおそらくはアルファ情報も、およびおそらくさらなる情報も)が含まれる。したがって、zスタックの第1層に、最初に見られるオブジェクトおよびこれらのオブジェクトの諸部分すなわち、視点に最も近い要素が含まれる。したがって、この例では、zスタックの第1層S1に、中央線I−Iに沿って、オブジェクトDの諸部分、オブジェクトAの諸部分、およびオブジェクトFの外縁が含まれ、第2層S2に、同一の線に沿って、オブジェクトBおよびCの諸部分、オブジェクトFの諸部分、およびオブジェクトAの諸部分(オブジェクトDの後ろの部分)が含まれ、第3層に、オブジェクトFの諸部分(オブジェクトBおよびCの後ろの部分)およびオブジェクトEが含まれる。主視点から見られた時に最初に、2番目に、または3番目に見られるオブジェクトであるという事実に起因して、1つの同一のオブジェクトが、zスタック内の複数の層の一部を形成してもよいことに留意されたい。Zスタックを構成した後に、フレーム・バッファが構成されても良く、このフレーム・バッファに、基本的に、第1スタック内で表示されるすべてのオブジェクトが不透明の場合に、zスタックの第1スタックS1のデータが含まれる。オブジェクトが透明性を有する(すなわち、αの値が0(不透明)から1(完全に透明)までの範囲である場合にアルファ数が1未満である)場合に、次いで、イメージ・バッファに、めいめいの層S1からS3までからのデータの組合せが含まれる。イメージ・バッファ82からのデータが、直接にまたはさらなる処理の後にのいずれかで、3Dディスプレイに送られる。この図の部分Bに、元の3Dモデルを構成する異なるオブジェクトAからEのすべてに関するデータをまだ少なくとも含むフレーム・バッファ82に最終的になる3Dモデル80が示されている。フレーム・バッファ82から始めて、オブジェクトAの後ろのB、C、およびEオブジェクトの形が、オブジェクトB、C、およびEのうちでフレーム・バッファ内で可視の部分を基礎として推測されなければならない場合に、ある範囲まで、異なるビューのイメージを生成することが可能である。しかし、これは必ず可能なわけではない。
【0057】
これを例示するために、図3の部分Cは、オブジェクトDが現在はオブジェクトAの後ろに置かれている点だけが、図3の部分Bに示された状況と異なる。zスタック81’は、オブジェクトDを示す要素がもはや第1層S1の一部ではなく層S2の一部を形成するという点で、この変更を反映する。イメージ・バッファ82’には、もはやオブジェクトDの痕跡が含まれず、オブジェクトDは、単に、もはやフレーム・バッファ82’内に存在しない。主視点のイメージ・バッファ(またはフレーム・バッファ)82’に基づいて、異なる視点のイメージを生成することができるが、これらのイメージには、イメージ・バッファ82’にオブジェクトDに関する情報(要素)が存在しないという単純な理由から、オブジェクトDを含めることができない。前のイメージを基礎として、そのようなオブジェクトが存在しなければならない、または、最もありそうなことに存在すると推論できる場合であって、そのオブジェクトの実際の位置および/または形を推測しなければならない。しかし、異なる視点から、オブジェクトDが可視であってもよい。この問題に関する解決策は、追加の視点ごとにzスタックを計算すること(ステップ61〜73(74))すなわち、視点ごとに完全に別々のレンダリング・パイプを使用することであろう。しかし、これは、非常に多くの計算能力を必要とする。しかし、本発明の基礎は、この例のオブジェクトDなどの「隠れ」オブジェクトに関する情報が、主視点に関する3層またはそれ以上の一般的にn層のzスタック81’に存在することである。主視点のzスタック81’を使用することによって、フォアグラウンド・オブジェクトの後ろにある複数のオブジェクトを記憶することが可能になる。これによって、ディスプレイに送られる最終的なイメージが同一ピクセルに位置する複数のオブジェクトを示す場合であっても、半透明オブジェクトの正しいレンダリングも可能になる。この手法では、まず、フル3Dモデル内のすべてのシーン・オブジェクトが、zスタックにレンダリングされる。次いで、ここでZトレース法として採用された単一の良く知られた処理が、ディスプレイに送られるフレーム・バッファまたはイメージ・バッファをzスタックから抽出する。出力イメージ情報は、単純なプロトコルに従ってzスタックからピクセルごとに構成される。すべてのオブジェクトが不透明オブジェクトである場合に、zスタックの第1層だけがコピーされる。透明オブジェクトについて、複数の層がマージされてもよい。
【0058】
図4に、DOFレンダリング・ブロックおよび3Dレンダリング・ブロックの内部構造の例を示す。これらのブロックのそれぞれが、追加バッファ・スタックを有し、この追加バッファ・スタックに、前のステージからの結果が保管される。さらに、これらのブロックの両方が、オブジェクト抽出ユニットして採用された新しいユニットを有する。
【0059】
テクスチャ・ステージの出力(基本的に3Dモデル)は、zスタック91でレンダリングされる第1zスタック・コンストラクタにある。このzスタック91は、主ビューポート用に作られる。主ビューzスタック91は、オブジェクト抽出92の出発点として使用される。オブジェクト抽出とは、同一オブジェクトに属する要素がzスタック91から抽出される手順である。図3からわかるように、オブジェクトは、複数の層S1からS3にわたって分布してもよい。オブジェクト抽出ユニットは、スタックを検索し、オブジェクトを再アセンブルする。オブジェクトの再アセンブルは、同一オブジェクトの要素が、RGB値、Z値、および/または不透明さなど、共通の特性を有するという事実を利用することによって行われ得る。
【0060】
この例では、オブジェクト抽出の後に、主視点のデータが、DOFレンダリングされる(93)。DOF(被写界深度)レンダリングがなければ、すべてのオブジェクトが、同一の鮮明さでイメージングされるはずである。しかし、これは不自然なイメージになる。自然なイメージでは、イメージが鮮明である焦点の場(field of focus)があり、したがって、見る人から、それより近いか遠いオブジェクトは、ぼける。ぼけは、たとえば、オブジェクト抽出とそれに続くテクスチャおよびオブジェクトのエッジのデフォーカスによってすなわち、オブジェクト内で空間的にテクスチャを再分配し、強度の一部をオブジェクト境界の外に転送し、かつ/またはオブジェクトの最外周部分を半透明にすることによって行われ得る。DOFレンダリング・ステージは、その目的のためにブラー・ユニットを有する。DOFユニットの結果は、やはり、主視点に関する、多少ぼけたピントはずれオブジェクトおよび焦点面内の鮮明なオブジェクトを含むzスタック94である。DOFブラーリングは、この好ましい実施形態では、主視点のzスタック91内のデータに対して実行される。これは、DOFブラーリングに必要な計算能力が、この場合に、主視点イメージだけについて必要になるので好ましい。厳密に言って、DOFのブラーリング効果に関するより良い性能は、DOFブラーリングが各すべての視点について行われる時に得られ得る。しかし、追加の視点に関するDOFは、主視点のDOFから全くまたはほとんど変化せず、したがって、好ましい実施形態では、DOFが、主視点のzスタック91に対して実行される。DOFブラーリングされたオブジェクトは、主視点の新しいzスタック94に再アセンブルされる。このzスタック94が、オブジェクト・エクストラクタ95の入力であり、このオブジェクト・エクストラクタ95が、オブジェクトを抽出する。抽出されたオブジェクトは、N個の残りの視点ごとに、主視点とめいめいの視点の間の差に従ってシフタ96内でシフトされる。次いで、シフトされたオブジェクトが、新しいzスタックに再アセンブルされ(zスタック・コンストラクタ97内で)、N−1個のzスタックがもたらされる。最後に、3Dレンダリング・ステージが、zトレース・ユニット(98)を有する。本発明の枠組みの中で、主要な点は、追加の視点ごとに、主視点のzスタック91を基礎として、追加視点用のzスタック97が構成されることである。オブジェクト・エクストラクタ95は、任意選択である。しかし、オブジェクト抽出は、非常に有用な概念である。主視点の最初のzスタック91のデータが、追加視点のzスタックを構成するために変換される時に、相対的に小さいオブジェクト(たとえば、小さい角度で見られるオブジェクト)は、実質的にサイズを増やされてもよい。変換が、ピクセルごとに行われる時に、サイズを増やされたオブジェクト(たとえば、3ピクセルから10ピクセルに)は、必ず、欠けているピクセルを有する。この欠けているピクセルは、たとえば、オブジェクト抽出および再構成すなわち、どのピクセルがグループを形成するかを見つけ、ピクセルのそのグループ内の穴(1つまたは複数)の存在を検出し、その穴の中の要素にあてはまる値(RGB、Z)をできる限り良く決定し、その穴を埋め、これによってそのグループの中間の欠けている要素を再構成し、これによってオブジェクトを「修理」することによって再構成されてもよい。これは、シフト動作(ステージ96)の後に行われ得る。しかし、次いで、再構成処理ステップが、N−1回すなわち、シフト・ステップ96から生じるzスタックごとにすなわち、追加視点のzスタック96ごとに(説明を単純にするために、さまざまな方法ステップの結果は、本明細書で、時々、特定のステップに属する符号を与えられる)繰り返されなければならない。オブジェクトをシフトする96前にオブジェクト抽出95を実行することによって、オブジェクト抽出を1回だけすなわち主視点zスタック94に対して行う必要があり、これによって、この手順の複雑さが減り、速度が高まる。
【0061】
計算される視点の個数および主視点に関するその位置/方位は、固定されても良く、あるいは、好ましくは、ディスプレイから受け取るデータに依存してもよい。システムに、追加視点に関するデータの入力(図2を参照されたい)が含まれることが好ましい。zスタック・コンストラクタ75が、追加視点のデータを構成する。zスタック・コンストラクタ75は、それを自動的に行っても良く、その場合に、zスタック・コンストラクタ75は、たとえば、オートステレオスコピック装置内にあり得るビューと同数すなわちすべての可能な表示装置をカバーする大きい個数のzスタック95を構成することができる。これは、多数の追加視点zスタックを構成することを必要とする。しかし、システムに、追加視点zスタック・コンストラクタに追加視点に関するデータを供給する入力が含まれることが好ましい。表示装置のタイプに応じて、追加視点の個数が変化してもよい。追加視点に関する特定のデータ(個数および/または主視点に関する位置/方位)を供給する入力を設けることによって、zスタック・コンストラクタは、要件に従って追加視点zスタックを提供することができ、効率が高まる。単純な実施形態で、追加視点に関するデータは、生成されるべきビューの個数および最大視角範囲とすることができる。
【0062】
第2の実施形態で、システムに、ユーザに対応する視点を確立する手段、またはユーザの視点に対応するデータを供給される手段を含めてもよい。たとえば、複数のプレイヤが3Dゲームに参加する時に、ゴーグル、ヘッド・ホン、光線銃、バッジなどの使用は、そのような属性が、たとえば赤外線センサまたは超音波センサによって表示装置に関するそのような属性の位置を確立する手段を用いて提供される場合に、システムが、表示装置の表示画面に関するプレイヤの正確な位置または近似位置を確立することを可能にすることができる。そのような情報を追加zスタック・コンストラクタに供給することが、他の視点のデータが処理されないか、より低い精度または更新レートで処理されている間に、高い精度または更新レートでプレイヤに対応する視点を処理することを可能にする。これは、実際に関係する視点すなわち、プレイヤに関連する視点に関する、コストの増加を必要としない、速度および画質のかなりの向上を可能とする。
【0063】
図5に、第2の実施形態による方法を示す。主視点のDOFブラーリングされたzスタック94が、オブジェクト・エクストラクタに供給される。この例では、オブジェクトが、家H、2つの小屋S1およびS2、穴(たとえば、開かれている扉d)がある塀Fe、大きい木T、ならびに森Fである。主視点(VP1すなわち視点1)のzスタック94から、オブジェクトが、オブジェクト抽出95で抽出される。オブジェクトが、シフトされる(基本的に、x、y、z値が変更されるが、これらの値は、主視点および関連する追加視点を基礎として簡単に計算され得る)。新しいzスタック97が、新しいシフトされたオブジェクト・データを基礎として計算される。zスタック97は、追加ビュー(VP2すなわち視点2)に関するイメージ・バッファの基礎である。最初の視点(VP1)では、森の一部が、開口dを介して可視であったが、シフトされた視点(VP2)では、木(T)の一部が、塀の開口を介して可視である。したがって、この例では、木Tの一部が、追加ビューに関して塀の開口を介して可視であることが概略的に示されている。VP2のzスタックは、主視点(VP1)のzスタックおよび単純なシフト演算を基礎として計算され、したがって、高速に、多数のビューについて行われ得る。
【0064】
本発明の第2の実施形態は、新しいイメージをN回レンダリングすることと比較して大きく減らされた、追加ビューのイメージを生成するための計算能力要件で追加ビューのイメージを生成することを可能とするが、速度の増加が、代償と引き換えであることに留意されたい。zスタック層に、複数の層、この例では3つの層が含まれる。3つを超えるオブジェクトが、互いの後ろに位置決めされる場合に、オブジェクトのうちのいくつかが、主視点から4番目、5番目などに見られるオブジェクトなので、zスタック層に存在しなくなる。したがって、データの消失が発生する場合がある。好ましくは、zスタックに2層から5層、最も好ましくは3層から4層が含まれる。zスタックの層が多ければ、データの消失の可能性が減るが、必要な計算能力が高くなる。本発明人は、最良の妥協が、示された範囲の層数すなわち、2〜5、好ましくは3〜4、最も好ましくは3でもよいことを認めた。
【0065】
オブジェクト(たとえば、家の側壁)が、主視点から見られた時に1つだけまたは少数のピクセルだけを占める方位である時に、データのさらなる消失が発生する場合がある。その場合に、ビューの他の点からビューに分け与えることができる詳細の量は、存在するとしても非常に限られている。
【0066】
第2の実施形態では、レンダラに、色情報(RGB)およびZ値を含むスタック層を含むn個の主視点Zスタックの形の、オブジェクトをレンダリングするための3Dモデル用および複数のn個の主視点用の入力を有する初期部分が含まれ、レンダラに、さらに、初期ステージによって生成されたn個の主視点Zスタックから、N−n個の追加視点のZスタックがその中で構成される、Zスタック・コンストラクタ(ただし、N≫n)と、Zスタックからイメージ情報を生成する後続イメージ情報オクルージョン・セマンティックス・ステージとが含まれる。
【0067】
n個の主視点を有することの利益は、これが、追加視点内のオブジェクトを構成するための最良の主視点の選択が可能とすることである。この選択は、どの主視点に、最高の詳細を有するオブジェクトすなわち、最も多くの要素によって表されるオブジェクトが含まれるかに基づく。また、たとえばn個の主視点でのオブジェクトの表現の補間によって、組合せが作られ得る。ほとんどの現在の3Dディスプレイでは、水平に周囲を見る機能性を可能とするために、水平線上に配置された視点位置を有するN個のビューが必要である。次いで、好ましくはn=2である。
【0068】
第1ステージに必要な計算能力は、2倍になるが、続くステージに関して、必要な計算能力は、事実上同一になる。n=2主視点は、左右の端の視点として選択され得る。このように、各追加視点に必要なものより多くの詳細を有する各オブジェクトが、2つの主ビューのうちの1つで表されることが保証される。
【0069】
同様に、将来の3Dディスプレイが、垂直に周囲を見る機能性を提供するために、水平位置および垂直位置のグリッドに配置されたN=NxNy個のビューを提供してもよい。次いで、好ましくは、n=4であり、主視点は、グリッドの4つの角すなわち、左上、右上、左下、および右下に対応する。
【0070】
Zスタックの有限の水平次元および垂直次元に起因して、データのさらなる消失が発生する場合がある。オブジェクトは、各Zスタック内で異なる位置を有するので、いくつかの視点について、オブジェクトがもはやZスタックに存在せず、視野から消えることが発生する場合がある。オブジェクトが、ちょうど主視点の境界上にあり、追加視点での構成がディスエーブルされることが発生する場合がある。これは、上で説明した、n個の主視点を有する方法によって解決され得る。オブジェクトが、主視点のうちの1つで可視でない場合に、次いで、そのオブジェクトが他の主視点のうちの1つで可視である可能性が非常に高い。n=1が使用される時に、好ましい他の解決策は、すべての追加Zスタックがその最初の次元を維持しながら、Q個の余分の要素だけ主Zスタックの水平(およびまたは垂直)次元を増やすことである。これは、主Zスタックに、追加視点についてのみビュー内にシフトされるオブジェクトが含まれることを保証する。この場合に、主視点フレーム・バッファは、最初の増やされないサイズも有する。おそらく、増やされた次元の解決策とn個の主視点の解決策との間での組合せが使用される。
【0071】
データのさらなる消失が、主視点から追加視点へのオブジェクトの再サンプリングに起因して発生する場合がある。これは、たとえば、水平方向および/または垂直方向で2つ多い要素だけ増やされた解像度を有する主視点を有することによって解決されてもよい。このようにして、データ消失が無視できるものになる。n個の主視点を用いる解決策の中で、良く知られたスーパーレゾリューション(super−resolution)技法によってn個の通常解像度Zスタックからより高い解像度でオブジェクトを抽出することが可能である場合がある。しかし、これのための現在の技法は、すべての状況、たとえばn個の主視点に、あるオブジェクトの正確に同一の情報が含まれるデジェネレートの場合の性能を保証しない。解像度増加方法は、すべての状況での性能を保証する。
【0072】
第3の実施形態によれば、第2の実施形態によるレンダラは、第1の実施形態のレンダリング・パイプラインと組み合わされ得る。この両方の実施形態が、1シーン上の複数のビューを効率的に生成するために関係する。第2の実施形態によるレンダラは、第1の実施形態によるレンダリング・パイプラインより多少少ない、グラフィックス・パイプライン内の構成要素の複製を必要とするが、後者は、視点の間の角度が大きくなった時により良く働く。
【0073】
基本的に、第1の実施形態によるパイプラインでは、SSRから後のすべてのものが複製されるが、第2の実施形態によるパイプラインでは、zスタックから後のすべてのものが複製される。
【0074】
第3の実施形態によれば、第1および第2の実施形態の好ましい組合せは、第1の実施形態による方法を使用して、少数の適度に離れたビューだけを生成し、第2の実施形態の方法に従って少数のzスタックを生成することであり、これらのzスタックは、中間の近くのビューを生成するのに使用され得る。
【0075】
第2の実施形態によるパイプラインでの限られた個数のzスタック層に起因するデータの消失は、第1の実施形態によるパイプラインを使用する時に、基本的にすべてのビューがそれ自体のバッファを有するので、回避され得る。このバッファは、フルzスタックである必要はなく、エッジ・アンチエイリアシングが不要な場合には単純なzバッファとすることができる。
【0076】
データのさらなる消失が、第2の実施形態による主視点から追加視点へのオブジェクトの再サンプリングに起因して発生する場合があるが、これは、第1の実施形態に従って実行される、表面から各ビューへの直接の再サンプリングによって解決され得る。
【0077】
第1および第2の実施形態を組み合わせるもう1つの可能性は、第1の実施形態で説明したワープ技法の代わりに第2の実施形態によるレンダラを使用することである。
【0078】
第1および第2の実施形態の組合せに基づくもう1つの実施形態によれば、第2の実施形態のzスタックが、第1の実施形態のEAA&HSRユニット内に置かれる。そのようなシステムでは、図1のSSRとEAA&HSRの諸部分とが、複製されない。これは、より少ないハードウェアの費用がかかるが、図1のパイプラインと比較してzスタックから各ビューへの余分な再サンプリング・ステップが導入されるので、Zスタックを有しない、より低い画質をもたらす場合があるEAA&HSRに関連する。
【0079】
上で述べた実施形態が、本発明を制限するのではなく例示することと、当業者が添付請求項の範囲から外れずに多数の代替実施形態を設計できることに留意されたい。請求項では、括弧の間に置かれたすべての符号が、その請求項を制限するものと解釈されてはならない。単語「comprising」は、請求項に列挙されたもの以外の要素またはステップの存在を排除しない。要素の前の単語「a」または「an」は、複数のそのような要素の存在を排除しない。複数の手段を列挙した装置請求項において、複数のこれらの手段が、ハードウェアの1つの同一の品目によって実施され得る。ある手段が相互に異なる従属請求項に記載されているという単なる事実は、これらの手段の組合せが有利に使用され得ないことを示さない。
【0080】
さらに、請求項のすべての符号は、その請求項の範囲を制限するものと解釈されてはならない。
【図面の簡単な説明】
【0081】
【図1】第1の実施形態によるマルチビュー・レンダリングの順方向マッピング・パイプラインを示す図である。
【図2】第2の実施形態による表示装置および方法のレンダ・パイプを概略的に示す図である。
【図3】図2の表示装置および方法のレンダ・パイプの詳細を示す図である。
【図4】図2によるレンダ・パイプおよび方法の詳細を示す図である。
【図5】図2による方法のさらなる詳細を示す図である。
【図6】基本的な視差バリア・ディスプレイで出会う問題を示す図である。
【図7】マルチビュー・レンダリングの逆マッピング・パイプラインを示す図である。

【特許請求の範囲】
【請求項1】
3DモデルのN個の2Dイメージを並列にレンダリングするレンダラを有するコンピュータ・グラフィックス・プロセッサであって、
前記レンダラは、
N個のすべてのビューの前記3Dイメージのプリミティブの表面にわたって表面グリッドをトラバースするラスタライザと、
前記ラスタライザの出力の色を決定し、シェーディングされた色サンプルをそのスクリーン座標と共に転送するシェーダ・ユニットと、
前記N個のビューのうちの1つに従って前記シェーダ手段によって決定された前記シェーディングされた色サンプルをそれぞれが再サンプリングするN個のスクリーン空間リサンプラと
を含む、コンピュータ・グラフィックス・プロセッサ。
【請求項2】
テクスチャ・マップを保管するテクスチャ・メモリ
をさらに含み、前記表面グリッドは、前記プリミティブに関連し前記テクスチャ・メモリに保管されるテクスチャ・マップから導出される
請求項1に記載のコンピュータ・グラフィックス・プロセッサ。
【請求項3】
前記テクスチャ・メモリに保管された前記テクスチャ・マップのうちの1つに関連するグリッドは、
前記テクスチャ・マップが独立にアドレッシングされ、
前記テクスチャ・マップが2Dテクスチャに基づき、かつ
頂点でのテクスチャ座標がデジェネレート・プリミティブを構成しない
場合に表面グリッドとして選択される
請求項2に記載のコンピュータ・グラフィックス・プロセッサ。
【請求項4】
前記テクスチャ・メモリに保管された複数のテクスチャ・マップが前記3つの要件a)〜c)を満足する場合に、テクスチャ空間内で最大の面積を有するテクスチャ・マップが選択される
請求項3に記載のコンピュータ・グラフィックス・プロセッサ。
【請求項5】
表示画面をアドレッシングする手段
をさらに含み、
前記レンダラは、前記アドレッシング手段に供給されるイメージ情報をレンダリングするための3Dモデル用の入力および少なくとも1つの視点用の入力を有し、
前記レンダラは、さらに、色情報およびZ値を持つスタック層を有する少なくとも1つの主視点Zスタックの形の、オブジェクトをレンダリングするための3Dモデル用および少なくとも1つの主視点用の入力を有する初期部分を含み、
前記レンダラは、さらに、
初期ステージによって生成された少なくとも1つの主視点Zスタックから追加視点のZスタックがその中で構成されるZスタック・コンストラクタと、zスタックからイメージ情報を生成する後続イメージ情報オクルージョン・セマンティックス・ステージと
を含む、請求項1または2に記載のコンピュータ・グラフィックス・プロセッサ。
【請求項6】
前記レンダラは、さらに、
視点zスタックからオブジェクトを抽出するオブジェクト・エクストラクタ
を含む、請求項5に記載のコンピュータ・グラフィックス・プロセッサ。
【請求項7】
前記オブジェクト・エクストラクタは、少なくとも1つの主視点zスタックからオブジェクトを抽出するように配置される、請求項6に記載のコンピュータ・グラフィックス・プロセッサ。
【請求項8】
前記レンダラは、DOFレンダリング・ステージを含み、
前記DOFレンダリング・ステージは、DOFブラーリングを含む少なくとも1つの主視点zスタックへの前記少なくとも1つの主視点zスタックのDOF処理用に配置される
請求項5に記載のコンピュータ・グラフィックス・プロセッサ。
【請求項9】
3DイメージのN個のビューをレンダリングする方法であって、
N個のすべてのビューの前記3Dイメージのプリミティブの表面にわたって表面グリッドをトラバースするステップと、
ラスタライザの出力の色を決定し、シェーディングされた色サンプルをそのスクリーン座標と共に転送するステップと、
前記N個のビューのそれぞれの前記シェーダ手段によって決定された前記シェーディングされた色サンプルを再サンプリングするステップと
を含む方法。
【請求項10】
テクスチャ・メモリごとにテクスチャ・マップを保管するステップ
をさらに含み、
前記表面グリッドは、前記プリミティブに関連し前記テクスチャ・メモリに保管されるテクスチャ・マップから導出される
請求項9に記載の3DイメージのN個のビューをレンダリングする方法。
【請求項11】
前記テクスチャ・メモリに保管された前記テクスチャ・マップのうちの1つに関連するグリッドは、
前記テクスチャ・マップが独立にアドレッシングされ、
前記テクスチャ・マップが2Dテクスチャに基づき、かつ
頂点でのテクスチャ座標がデジェネレート・プリミティブを構成しない
場合に表面グリッドとして選択される
請求項10に記載の3DイメージのN個のビューをレンダリングする方法。
【請求項12】
前記テクスチャ・メモリに保管された複数のテクスチャ・マップが前記3つの要件a)〜c)を満足する場合に、テクスチャ空間内で最大の面積を有するテクスチャ・マップが選択される
請求項11に記載の3DイメージのN個のビューをレンダリングする方法。
【請求項13】
3DイメージのN個のビューをレンダリングする方法であって、さらに、
3D表示装置のデータおよびアドレッシング手段を供給するステップであって、主視点について、スタック層を含む少なくとも1つの主視点Zスタックの形のオブジェクトが、RGB値およびZ値を用いてレンダリングされる、ステップと、
前記少なくとも1つの主視点Zスタックから追加視点に関するzスタックを構成するステップと、
前記アドレッシング手段に供給されるデータを追加視点に関する前記ZスタックからZトレーシングによって生成するステップと
を含む方法。
【請求項14】
コンピュータで実行される時に請求項9から14のいずれか一項に記載の方法を実行するコンピュータ可読媒体に保管されたプログラム・コード手段を含むコンピュータ・プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate


【公表番号】特表2007−514230(P2007−514230A)
【公表日】平成19年5月31日(2007.5.31)
【国際特許分類】
【出願番号】特願2006−543686(P2006−543686)
【出願日】平成16年12月3日(2004.12.3)
【国際出願番号】PCT/IB2004/052659
【国際公開番号】WO2005/057501
【国際公開日】平成17年6月23日(2005.6.23)
【出願人】(590000248)コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ (12,071)
【Fターム(参考)】