JP4977712B2 - ディスプレースクリーン上に立体画像をレンダリングするコンピュータグラフィックスプロセッサならびにその方法 - Google Patents

ディスプレースクリーン上に立体画像をレンダリングするコンピュータグラフィックスプロセッサならびにその方法 Download PDF

Info

Publication number
JP4977712B2
JP4977712B2 JP2008543235A JP2008543235A JP4977712B2 JP 4977712 B2 JP4977712 B2 JP 4977712B2 JP 2008543235 A JP2008543235 A JP 2008543235A JP 2008543235 A JP2008543235 A JP 2008543235A JP 4977712 B2 JP4977712 B2 JP 4977712B2
Authority
JP
Japan
Prior art keywords
view
fragment
primitive
graphics processor
computer graphics
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.)
Expired - Fee Related
Application number
JP2008543235A
Other languages
English (en)
Other versions
JP2009517770A (ja
JP2009517770A5 (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.)
Swiftfoot Graphics AB
Original Assignee
Swiftfoot Graphics AB
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 Swiftfoot Graphics AB filed Critical Swiftfoot Graphics AB
Publication of JP2009517770A publication Critical patent/JP2009517770A/ja
Publication of JP2009517770A5 publication Critical patent/JP2009517770A5/ja
Application granted granted Critical
Publication of JP4977712B2 publication Critical patent/JP4977712B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/005General purpose rendering architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/40Filling a planar surface by adding surface attributes, e.g. colour or texture
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • G06T15/20Perspective computation
    • G06T15/205Image-based rendering

Description

本発明は、コンピュータグラフィックスの分野に関する。より具体的に述べると、本発明は、ディスプレースクリーン上に立体画像をレンダリングするコンピュータグラフィックスプロセッサならびに方法に関する。
関連技術
ディスプレースクリーン上に立体(3D)画像を表示することは、より一般的なものになりつつある。立体映像は、たとえば、ステレオイメージ、ホログラフィック技術、あるいは、ディスプレーを複数平面にすること等を用いることによって創り出すことができる。したがって、立体画像は、立体のシーンから創り出された二次元画像のセットであってもよい。すなわち、二次元画像のセットは、立体のインプレッションを集めることにより生成されている。かかるセットは、少なくとも一の画像を含んでいる。
ステレオイメージを創り出すために、異なる方法が存在する。かかるイメージは、たとえば、二次元(2D)表示の時分割であってもよいが、通常、これには、視聴者が特別なメガネ等の属性を身につけることが要求される。ステレオイメージが同時に表示される場合、かかるイメージは、偏向メガネ又は頭装着型ディスプレーを用いて適切な目に誘導することができる。この解決手法の欠点は、通常、2つの画像では、”周囲を見回す(look around)”能力しか創り出すことしかできないことである。また、立体効果を得るためには、視聴者がメガネ又は頭装着型ディスプレーを身につけなければならないことが挙げられる。このことは、視聴者にとって不愉快であろう。
代替的な解決法においては、パララックスバリア(parallax barrier)等の画面を分割する手段によってディスプレースクリーン上で前記ステレオイメージが分割される。かかるディスプレースクリーンは、ディスプレースクリーン上の立体画像を見るために特殊なメガネ又は他の周辺機器を必要としないことを意味する裸眼立体(autostereoscopic)画面であってもよい。しかし、通常、この解決法は、固定した位置における一人の視聴者のためだけに機能する。また、”視野角(viewing zone)”は狭い。”視野角”の外側において、観察者は、複数の画像又はステレオ反転(stereo inversion)を見ることになる。このことは、表示された立体画像の不快な見方に、導かれてしまう。
2005年にマット・ファルによって編集され、アディソン・ウェズレィにより発行された”ジーフォースシリーズ GPUアーキテクチャ(GPU Gems 2)”においてエメット・キルガリフ氏ならびにランディ・フェルナンド氏により、コンピュータグラフィックスプロセッサ(CGP)が提案されている。図1は、かかる従来のCGP10のブロック図を示している。CGP10は、プログラム可能なバーテックスシェーダPVS11を備えてもよい。かかるPVS11は、バーテックス毎の演算を実行するため適用してもよい。かかるバーテックス毎の演算は、図1に示されたCGPパイプライン(CGP pipeline)を介して送られた各バーテックスに適用してもよい。当該バーテックス毎の演算は、たとえば様々なマトリクス変換(たとえば、対象物を活動させ、位置させ、適応させるため)、投影、照明についての演算、スキニング(skinning)、アニメーション、ならびに他のバーテックス毎の演算を含むようにしてもよい。
一般に、PVS11が自身の動作を終えると、バーテックスがスクリーン空間に変換されている。また、他の様々なバーテックス毎のデータ、たとえば、テクスチャ座標、拡散ならびに鏡面反射色と同等の属性(attributes like diffuse and specular color)を、前記バーテックスとともに図1のCGPパイプラインの下方に送るようにしてもよい。次に、頂点を、たとえば、三角形、多角形、線、点、曲面等のプリミティブと呼ばれるグループにしてもよい。
また、CGP10は、ラスタライザ設定ユニットRSU12を備えてもよい。当該RSU12は、たとえば、プリミティブ毎の動作、視認できないプリミティブの除去、画面の可視領域を横切るプリミティブをクリップ、あるいは、ラスタライゼーション等の準備のためのデータについてエッジおよび平面方程式(plane equation)の設定を実行するために適合するようにしてもよい。
また、CGP10は、ラスタライザ13を備えてもよい。かかるラスタライザ13は、どの画素位置(又は、複数のサンプリングが可能な場合は、サンプル)が、各投影されたプリミティブによって覆われるかを判断するため適合するようにしてもよい。これらは、”候補となる画素(candidate pixels)”として考えられるので、通常、これらの画素位置は、”フラグメント”と呼ばれる。なぜなら、これらがカラーバッファ、あるいは、フレームバッファ19内に備えられたデプスバッファ(depth buffer)等の他のバッファ内に行き着くからである。かかるフラグメントは、Zカリングユニット(z-cull unit)14に転送してもよい。保守的なテストを用いることにより、前記Zカリングユニット14は、デプスバッファのコンテンツに関するフラグメントのグループが隠れている(すなわち、既にプリミティブがレンダリングされた)か否かについて判断することが可能となる。これにより、デプス(depth)が読み取られ、場合によっては、テクスチャリングが行われ、隠れたフラグメントについてフラグメントプログラムの実行を回避することが可能となる。これにより性能が向上する。
Zカリングユニット14を通るプリミティブ内部のフラグメントについては、フラグメント処理ユニットFPU15内でフラグメントシェーダプログラムを実行してもよい。たとえば、画素毎の演算ならびにメモリの取り出し(memory fetch)を実行するため、かかるFPU15を適合するようにしてもよい。当該FPU15によって実行される処理を、FPU15に達する全てのフラグメントに適用してもよい。たとえば、テクスチャからのメモリの取り出し、ならびに、テクスチャからの結果を、画素毎の拡散およびスペキュラーシェーディング、あるいは、バンプマッピング等により演算された現実的な照明等の他の演算値との合併を実行するため前記FPUを適合するようにしてもよい。
FPU15により実行されるメモリの取り出しは、画像テクスチャへのアクセスを含んでもよく、これは、通常、テクスチャキャッシュメモリ装置TCM16を介して実行される。これは、テクスチャ帯域についての要求を低くするために実行される。テクスチャキャッシュメモリ装置16においてデータが利用可能でない場合、かかるキャッシュのデータの一部が削除され、たとえば、外部メモリ装置EXM17から取り込むことが可能な所望データに置き換えられる。前記テクスチャキャッシュ16の目標は、通常、外部メモリ17からのメモリの取り出しを少なくすることである。
図1に示す従来のCGP10において、フラグメントは、フラグメント処理ユニットにより、それらがラスタライズされ、”Z−比較兼混合(Z-compare&blend)”ユニットであるZC&B18に送られるような順番で処理がなされるようにする。かかるZC&Bユニット18は、全てのプリミティブがレンダリングがされた場合に、視聴者に最も近い対象物が示されていることを確認するため等のデプスバッファに対するデプステスト(比較)を、各フラグメントについて実行するため適合してもよい。前記ZC&Bユニット18は、たとえばステンシル動作、αブレンディング(alpha blending)等の他のテストを実行するため適合してもよい。最後に、もたらされた色を、フレームバッファ19に書き込んでもよい。かかるフレームバッファ19は、たとえば、カラーバッファ、デプスバッファ、ステンシルバッファ等を備えてもよい。CGPパイプライン10全体を通じて全てのプリミティブが送られると、画像がレンダリングされ、これにより、たとえば、表示画面上への表示準備が整う。
マルチビューシステムを用いることが、ますます一般的になっている。マルチビューシステムは、何人かの視聴者に対して同時にステレオイメージを提供するとともに、比較的大きな視角を提供することが可能である。ビューの数が多ければ多いほど、通常は画質の向上を期待することができる。ディスプレーが表示すことが可能なビューの数(N)によって、画質ならびにディスプレースクリーン上に表すことが出来る運動視差(motion parallax)の全体を決定してもよい。
しかし、図1に示されたCGPパイプラインは、1つのビューのためだけに用いられる。したがって、従来のCGP10がN個の複数のビューのレンダリングのために用いられる場合、同じシーンは、各ビューについて1回、1個1個、N回レンダリングされる。一般に、特定のビューの全てのプリミティブは、次のビューの全てのプリミティブがCGP10全体により処理される前に、CGP10全体によって処理される。このことは、性能の観点からは不利である。たとえば、立体のシーンがレンダリングされる場合、通常、シーンの異なる部分において多くの異なるテクスチャ画像が用いられる。T1およびT2で表される2つのテクスチャが、あるシーンで用いられると仮定する。まず、T1は、プリミティブのセットに適用され、ビュー1のためにレンダリングされ、次に、T2が、他のプリミティブのセットに適用され、ビュー1のためにレンダリングされる。テクスチャは一般に大きく、テクスチャキャッシュメモリ装置は一般に小さいので、ビュー1からのシーンが、ビュー1からのシーンのレンダリングが完了すると、T2からの画素のみがテクスチャキャッシュメモリ装置16内に存することになる。しかし、ビュー2のレンダリングが開始されると、テクスチャT1を有するプリミティブがレンダリングされ、これにより、キャッシュコンテンツ(現在ではテクスチャT2からの画素を備える)を使うことができなくなる。
また、テクスチャデータは、各ビューについてテクスチャキャッシュメモリ装置16から独立して持ってこられるので、従来のCGPは、メモリ帯域の観点からも値の張るものになってしまう。これに代えて、前記CGPは、N個のCGPが並列に用いられよう複製が可能である。しかし、この複製のため、ハードウエアの観点から高価なものになってしまう。さらに、これは、リソースの観点からコストがかかりすぎる。しかも、これは、N個の異なるCGP間の同期が必要となる。
アディソン・ウェズレィ発行 "ジーフォースシリーズ GPUアーキテクチャ(GPU Gems 2)"2005年発行
ランス・ウィリアムスウィリアムス著 "ピラミッド形パラメトリックス"コンピュータグラフィクス(ACM SIGGRAPH83の会報)、1983年発行
トーマス・アケニン−モーラー及びジェイコブ・ストローム著 "みんなためのグラフィックス:携帯電話用のハードウエアラスタライゼーションアーキテクチャ"グラフィックスにおけるACMトランザクション、2003年7月発行
本発明の目的は、改良されたコンピュータグラフィックスプロセッサを提供することである。
第一の側面によると、ディスプレー上に立体画像をレンダリングするコンピュータグラフィックスプロセッサが提供される。かかるコンピュータグラフィックスプロセッサは、プリミティブの投影後に、当該プリミティブのピクセルトラバーサルを実行するよう構成される。また、当該ラスタライザは、一以上のビューについて次のプリミティブのピクセルトラバーサルを実行する前に、複数のビューについて第一のプリミティブのピクセルトラバーサルを実行するよう構成される。
前記ラスタライザは、前記複数のビューの全てのビューについて前記次のプリミティブのピクセルトラバーサルを実行する前に、前記複数のビューの全てのビューについて前記第一のプリミティブのピクセルトラバーサルを実行するよう構成するようにしてもよい。
さらに、前記ラスタライザは、前記第一のプリミティブが完全にトラバースされるまでであって、前記第一のプリミティブと同様の方法により次のプリミティブのピクセルトラバーサルが実行される前に、前記第一のプリミティブのペアであって、当該ペアが画素のグループおよび特定のビューにより定義されたものについてピクセルトラバーサルを実行し、次に、前記第一のプリミティブの他のペア、それに続くペアについてもピクセルトラバーサルを続行するよう構成してもよい。
また、前記ラスタライザは、前記プリミティブの前記ピクセルトラバーサル中に、当該ラスタライザにより前記ペアが処理される順序を決定するため適合される、セレクタに動作可能に接続してもよい。かかるセレクタは、前記複数のビューの各ビューについての効率的な尺度に基づいて、前記順序を決定するよう構成される。また、当該セレクタは、テクスチャ空間における前記テクスチャトラバーサル方向(du、dv)上の画素グループの代表点の前記テクスチャ座標(tui、tvi)を投影することに対応する
Figure 0004977712
に基づいて、効率的な尺度を決定するよう構成され、Miは、ビューiについての効率的な尺度であり、前記画素グループは、ビューiについての次の移動対象であり、次の移動対象について選択されたビューは、ビューkであり、Mkは全てのMiの最も小さい値である。
前記コンピュータグラフィックスプロセッサは、少なくとも第一のビューについて、フラグメントシェーダプログラムを実行することにより、前記少なくとも第一のビューのフラグメントを生成するため適合してもよい。当該コンピュータグラフィックスプロセッサは、さらに、少なくとも第二のビューについて、前記少なくとも第一のビューの前記生成されたフラグメントに基づき、前記少なくとも第二のビューのフラグメントを生成するよう適合してもよい。
前記コンピュータグラフィックスプロセッサは、メモリを備え、前記第一ビューの前記生成されたフラグメントを前記メモリ中に一時的に記憶するよう適合してもよい。
当該第二のビューのフラグメントの位置を、前記第一のビュー内に投影してもよい。前記第二ビューのフラグメントの前記投影された位置の近傍の前記第一のビューのフラグメントが、前記メモリ内に記憶されている場合、前記近傍における前記フラグメントに基づいて前記第二ビューの前記フラグメントを生成してもよい。そうでなければ、前記フラグメントシェーダプログラムを実行することにより、前記第二ビューの前記フラグメントを生成してもよい。
前記コンピュータグラフィックスプロセッサは、前記第二ビューの前記フラグメントについてのテクスチャ座標を生成し、前記第二ビューの前記フラグメントの位置を前記第一ビュー内に投影するため、これらのテクスチャ座標を用いるよう適合してもよい。
当該コンピュータグラフィックスプロセッサは、前記近傍内の前記フラグメントに基づき、前記近傍における前記フラグメントの加重平均として、前記第二ビューの前記フラグメントを生成するよう適合してもよい。
前記近傍内の前記第一ビューの少なくとも2つのフラグメントが前記メモリ内に記憶されている場合に、前記投影された位置に最も近い前記少なくとも2つのフラグメントの前記2つについて直線的補間を実行することにより、前記第二ビューの前記フラグメントを生成してもよい。前記近傍内の前記第一ビューの正確な1つのフラグメントが前記メモリ内に記憶されている場合には、前記正確な1つのフラグメントと同様の前記第二ビューの前記フラグメントを生成してもよい。
その算術平均が前記第二ビューの前記フラグメントの位置である2つの位置を、前記第一のビュー内に投影してもよい。前記投影された位置の近傍の前記第一のビューのフラグメントが、前記メモリ内に記憶されている場合、前記近傍における前記フラグメントに基づいて前記第二ビューの前記フラグメントを生成してもよい。そうでなければ、前記フラグメントシェーダプログラムを実行することにより、当該第二のビューのフラグメントを生成してもよい。
前記コンピュータグラフィックスプロセッサは、一部又は全てのビューのフラグメントを、共通のカラーバッファにおいて重み付けするよう適合してもよい。
第二の側面によると、ディスプレー上に立体画像をレンダリングする方法であって、一以上の次のプリミティブのピクセルトラバーサルを実行する前に、複数のビューについて第一のプリミティブのピクセルトラバーサルを実行するステップを備えた方法が提供される。かかる方法は、一以上の次のプリミティブのピクセルトラバーサルを実行する前に、複数のビューについて第一のプリミティブのピクセルトラバーサルを実行するステップを備えている。
前記実行するステップは、前記複数のビューの全てのビューについての、次のプリミティブのピクセルトラバーサルを実行する前に、前記複数のビューの全てのビューについて、前記第一プリミティブの前記ピクセルトラバーサルを実行するステップを備えてもよい。
また、前記実行するステップは、前記第一のプリミティブが完全にトラバースされるまでであって、前記第一のプリミティブと次のプリミティブのピクセルトラバーサルが実行される前に、前記第一のプリミティブのペアであって、当該ペアが画素のグループおよび特定のビューにより定義されるものについてピクセルトラバーサルを実行し、次に、前記第一のプリミティブの他のペア、それに続くペアについてもピクセルトラバーサルを続行するステップを備えてもよい。
前記方法は、前記プリミティブの前記ピクセルトラバーサル中に、前記ペアが処理される順序を決定するステップを備えてもよい。当該順序を決定するステップは、さらに、前記複数のビューの各ビューについての効率的尺度に基づいて、前記順序を決定するステップ、ならびに、
Figure 0004977712
に基づいて、効率的尺度を決定するステップを備え、ここで、Miは、ビューiについての効率的尺度であり、ここで、(du、dv)は、テクスチャ空間におけるテクスチャトラバーサル方向を表し、(tui、tvi)は、トラバーサルの対象となるビューiの次の画素についての前記テクスチャ空間における座標を表している。

前記方法は、フラグメントシェーダプログラムを実行することにより、少なくとも第一ビューのフラグメントを生成するステップ、ならびに、前記第一ビューの前記生成されたフラグメントに基づき、少なくとも第二ビューのフラグメントを生成するステップを備えてもよい。
第三の側面によると、コンピュータプログラム製品が提供される。かかるコンピュータプログラム製品は、コンピュータ機能を有する電子装置により前記コンピュータプログラムコード手段が動作する場合に、前記第二の側面に基づく方法を実行するためのコンピュータプログラムコード手段を備えている。
第四の側面によると、コンピュータ可読媒体が提供される。かかるコンピュータ可読媒体は、その上に、コンピュータ機能を有する電子装置により前記コンピュータプログラムコード手段が動作する場合に、前記第二の側面に基づく方法を実行するためのコンピュータプログラムコード手段を備えたコンピュータプログラム製品を記憶している。
また、本発明の実施形態は、従属請求項において定義される。
本発明の実施形態は、コンピュータグラフィックスプロセッサを動作させるのに必要とされるメモリ帯域幅を低減することが可能となる。さらに、本発明のいくつかの実施形態は、コンピュータグラフィックスプロセッサにより実行されるフラグメントシェーダプログラムの数を少なくすることができる。
本明細書において用いられる場合の”備えた/備える”という用語は、記載された特徴、整数(integers)、ステップ、あるいは部品の存在ついて特定するためのものであると理解されるべきであるが、一以上の他の特徴、整数、ステップ、部品、あるいは、それらのグループが存在すること又は追加することを排除するためのものでないことが強調されるべきである。
実施形態の詳細な説明
本発明の他の目的、特徴ならびに効果は、以下の実施形態の詳細な説明、添付された図面を参照することから明らかになる。
図2は、本発明の実施形態に基づくコンピュータグラフィクスプロセッサ(CGP)20を示している。かかるCGP20は、一以上のディスプレースクリーン上に立体画像をレンダリングするため用いることができる。また、当該CGP20は、プリミティブの投影後にプリミティブのピクセルトラバーサルを実行するよう構成されたラスタライザ23を備えている。前記プリミティブは、三角形、多角形、線、点、曲面等であってもよい。N個のビューを有するマルチビューシステムにおいて、投影されたプリミティブは、N個のビューの複数それぞれについてスクリーン空間の一部を占めてもよい。また、ピクセルトラバーサルは、ラスタライザ23により実行されるプロセスであり、どの画素位置(あるいは、マルチサンプリングが可能な場合には、サンプル)が、レンダリングされるプリミティブの内側にあるか判断される。
ラスタライザ23は、一以上のビューについての次のプリミティブのピクセルトラバーサルを実行する前に、複数のビューについて第一のプリミティブのピクセルトラバーサルを実行するよう構成するようにしてもよい。また、ラスタライザ23は、N個のビューの全てのビューについての次のプリミティブのピクセルトラバーサルを実行する前に、N個のビューの全てのビューについての前記第一プリミティブのピクセルトラバーサルを実行するよう構成してもよい。さらに、ラスタライザ23は、次のプリミティブのピクセルトラバーサルを実行する前に、全て又は複数のビューについて第一のプリミティブがレンダリングされるまで、”ペア(pair)”についてのピクセルトラバーサルを実行し、それに続いて他のペア、その他のペア等々についてのピクセルトラバーサルを実行しするよう構成してもよい。ここで用いたように、用語”ペア”は、画素のグループかつ特定のビューとして定義されるものと理解されるべきである。上のことを例証するため、プリミティブPは、ディスプレースクリーンに異なるビューを投影するものと仮定する。このビューは、1からNまで列挙される、ここで、Nは、ビューの総計である。各ビューに投影されたプリミティブは、Piと呼ばれ、ここで、iは、ビューの数である。投影されたプリミティブPは、第一ビューがP1と表され、第二ビューがP2と、N番目のビューがPNと表される。本発明のいくつかの実施形態によれば、ピクセルトラバーサル法を実施してもよく、ここで、PNがレンダリングされるまで、P1が、最初に、次に、P2、P3等がレンダリングされる。N個のビュー全てについての第一のプリミティブPがレンダリングされると、同様に、N個のビュー全てについての第二のプリミティブP'等、他のプリミティブについてレンダリングしてもよい。これにより、N近傍のビューについてのレンダリングにおける干渉性を悪用する(exploiting the coherency)効果を得ることが可能となる。たとえば、2つのビューについての互いに隣接する生成された画像は、非常によく似ているので、ここには、たくさんの干渉が存在する。したがって、アクセスされた各フラグメントにフラグメントプログラムを適用するプリミティブをレンダリングする場合、P1をレンダリングする場合に用いられたテクスチャからの画素が、P2、P3等をレンダリングする場合にテクスチャのキャッシュメモリ装置26内に存する可能性が高い。これは、N個の異なるビューがほぼ同様のものであるという事実から生じた結果である。これによりテクスチャメモリの帯域を有効に利用することが可能となる。したがって、性能上の効果を期待することができる。一般に、コンピュータグラフィックスプロセッサにおいて、テクスチャリングは、メモリ帯域を消費する主要なものの1つであるので、このことが言える。
本発明の実施形態であって、2つの異なるビューについてのプリミティブがレンダリングされる場合について以下で説明する。しかし、これは制限的ではなく、例示的に解釈すべきである。このように、以下の推論は、N個のビューを伴うマルチビューシステムであって、ここで、N>2であるものにも適用される。この例においては、2つの異なるビューが、V1およびV2として表されている。図2に示すように、CGP20は、2つのビューV1およびV2についてのバーテックス毎の(per-vertex)演算を実行するため適用される、プログラム可能なバーテックスシェーダPVS21を備えてもよい。ビューのパラメータに依存する演算が複製される必要がある場合がある。しかし、両方のビューについて同じでもよい演算が多く存在しており、これらは1度演算する必要があるだけである。かかる演算は、たとえば、バーテックス毎のディスプレースメントマッピングあるいはディフューズシェーディングを含んでもよい。前記PVS21は、ラスタライザ設定ユニットRSU22に動作可能に接続されてもよい。
当該RSU22は、ラスタライゼーション等に備えて、プリミティブ毎(per-premitive)の動作、視認できないリモートプリミティブ、スクリーンの視認可能な領域を横断するクリッププリミティブを実行、あるいは、データのエッジおよび平面方程式の設定を実行するために採用されている。前記RSU22は、いくつかの演算を複製する必要がある。前記2つのビューV1およびV2について、これは、パフォーマンス向上のため並行に、あるいは、ハードウエアを節約するために逐次行われる。しかし、前記2つのビューの間でシェアしてもよい演算も存在する。かかる演算は、たとえば、投影により変化する頂点(vertices)におけるデプス等を含むようにしてもよい。ビューV1およびV2について特定のプリミティブの設定演算を実行するためにかかるRSU22を採用してもよい。
前記RSU22は、ラスタライザ23に動作可能に接続可能である。ビューV1およびV2の両方についてスクリーン空間に投影された特定のプリミティブ内の画素を探すため、かかるラスタライザ23を採用してもよい。いくつかの実施形態において、ラスタライザ23は、セレクタ30に動作可能に接続可能である。かかるラスタライザ23ならびにセレクタ30は、図2において別のユニットとして示されているが、かかるセレクタ30がラスタライザ23に組み込まれるようにしてもよいことを理解するべきである。ラスタライザ23がどの順番で、ビューV1およびV2についてのプリミティブを処理すればよいのかを判断するため、かかるセレクタ30を採用してもよい。たとえば、セレクタ30によって、再処理される対象としてV1が選択されたと仮定する。セレクタ30によってV1が選択されると、ラスタライザ23は、ビューV1について特定のプリミティブ内で画素あるいは画素グループを探すようにしてもよい。このように、選ばれたビューについて特定のプリミティブ内で画素あるいは画素グループを検索するためにラスタライザ23を採用してもよい。ある実施形態においては、前記2つのビューV1およびV2の各ビューについての効率的な尺度に基づいて、上述の順序を判断するために前記セレクタ30を採用してもよい。このことについての詳細を以下に説明する。一般に、ラスタライザ23により次に処理される画素グループおよび特定のビューを備えるペアを選択するためにセレクタを採用する、と言ってもよい。これにより、ビュー(たとえば、ビューV2)について画素グループを選択し、他のビュー(たとえば、ビューV1)等について画素グループの選択を続けることが可能である。
別の実施形態において、上記効率的尺度Mを更新するため前記セレクタ30を採用してもよい。したがって、新しい画素あるいは画素のグループの処理を開始可能である場合、前記セレクタ30が効率的尺度を更新することができる。次に、セレクタ30は、更新の尺度に基づいて、前記2つのビューのどちらのビューを続けて処理するかを選択可能である。この情報は、ラスタライザ23に送ってもよい。あるビューが選ばれると、ラスタライザ23が、それについてのプリミティブにおいて画素あるいは画素のグループを見つけるようにしてもよい。したがって、まず、ラスタライザ23により第一のビューV1からの一部のプリミティブが処理され、続いて、他のビュー(同じビューの場合もある)からの一部のプリミティブがラスタライザ23によって処理され、それに続いて同様の処理を行うようにしてもよい。したがって、ラスタライザ23が、どの順序でビューV1およびV2についての異なる画素のグループの処理をすべきか、について判断するためセレクタを採用してもよい。セレクタによってなされたかかる判断についての詳細を以下に説明する。
セレクタ30は、特定のビューおよびその画素のグループとして定義されるペアを選び、さらに、他のペアを選択するため採用することも可能である。これを例示するため、ビューV1およびV2についてのプリミティブが三角形で描かれると仮定する。さらに、かかる三角形が、ビューV1について2つの画素グループP1およびQ1を有すると仮定する。ビューV2については、前記三角形が、2つの画素グループP2およびQ2を有すると仮定する。たとえば、Q1およびQ2は、全く同じ画素を有するようにしてもよい。任意の順序(arbitrary order)P1、P2、Q1およびQ2を実行するため前記セレクタを採用してもよい。P1がビューV1と関連するので、P1をペア(画素グループならびにビューから構成される)として見ることができる。同様に、Q1がビューV1と関連するので、Q1をペア(画素グループならびにビューから構成される)として見ることができる。同じことが、ビューV2における画素のグループP2ならびにQ2にも適用可能である。
また、まずビューを、次に画素のグループを選択するためセレクタ30を採用してもよい、ことが理解されるべきである。これに代え、まず、画素のグループを、次に、ビューを選択するためセレクタ30を採用してもよい。単一のビューについては、従来のコンピュータグラフィクスプロセッサと実質的に同様に、コンピュータCGP20を介して検索された画素又は画素グループを転送してもよい。Zカリングユニット24において、Zカリングを実行するようにしてもよい。この後に、フラグメント処理ユニット25におけるフラグメント処理を行ってもよい。かかるフラグメント処理ユニット25は、テクスチャキャッシュメモリ装置26を介してテクスチャにアクセスするため採用してもよい。当該テクスチャキャッシュメモリ装置26は、外部メモリ装置27から情報を取得するために適合させてもよい。次に、ZC&Bユニット(ZC&B-unit)28において、特定の検索された画素あるいは画素グループについての陰面消去(Hidden surface removal)ならびに混合(blending)を実行するようにしてもよい。V1およびV2用の情報を保持するため、複製フレームバッファ29を用いてもよい。
前記セレクタ30によって実行された選択は、異なる方法によって行ってもよい。ある実施形態において、前記セレクタ30は、特定のビューiを用いた処理を続けることによりどれだけ効率的であるか、に基づいて効率的尺度Mを判断するため適合するようにしてもよい。N個のビューの各ビューiは、自身の効率的尺度Miを有しており、ここで、iは、セット{1、2、...N、N−1}の整数である。たとえば、ビューViの処理を続けるためには、効率的尺度Miが小さい方がよい。新たな画素あるいは新しい画素のグループの処理を続ける場合、ビューkについての処理を続けてもよく、ここで、Mは、効率的尺度M、M、...、M の最小値である。
画素あるいは画素グループは、ビューkについて処理され、効率的尺度M を更新してもよい。この実施形態による効率的尺度は、たとえば、テクスチャキャッシュコンテンツ、異なるバッファのアクセスパターン、フラグメントシェーダの実行、あるいは、そのいずれの組み合わせに基づくものであってもよい。
ある実施形態において、前記セレクタ30は、以下の説明に基づいて効率的尺度Mを判断するために適合される。ここでは、地平視差(horizontal parallax)のみ、すなわち、ビュー間のX座標のみが相違すること、が考慮される。しかし、このことは、制限的ではなく、例示的に解釈すべきである。この実施形態において、テクスチャキャッシュメモリ装置26の内容は、N個のビュー全部について同時に表される。ピクセルトラバーサルの間、正規化された遠近的に正しい補正補間条件(normalized perspectively-correct interpolation parameters)(tu、tv)を表すレーショナルベースイズ機能を、各画素について演算してもよい。マックール等(McCool et al.)によると(グラフィックハードウエア2001における、マイケル マックール、クリス ウエールズ、ならびに、ケヴィン ムールによる”増加および階層的なヒルベルト曲線順エッジ方程式による多角形のラスタライゼーション(incremental and hierarchical hilbert order edge equation polygon rasterization)”)によると、前記(tu、tv)座標は、三角形のためのエッジ方程式を用いることにより各画素について演算可能である。他のプリミティブについては、他の方法を用いることもできる。三角形については、E0(x, y)、E1(x, y)、E2(x, y)で表され、(x, y)が画素座標である、3つのエッジ関数が存する。特定の画素について、前記(tu、tv)座標は、以下のように演算される:
tu=E1(x, y)/(E0(x, y) + E1(x, y) + E2(x, y))
tv=E2(x, y)/(E0(x, y) + E1(x, y) + E2(x, y))。
各頂上は、スカラsiであって、i=0、1、2を有しており、ここでは、遠近(perspective)を考慮に入れることにより、三角形にわたってこのスカラー値を補間したいすると仮定する。これは、以下のように実行される:
s(x, y)= (1 - tu - tv)S0 + tu*s1 + tv*s2。
他のテクスチャ座標の他の定義および/又は演算を、我々のアルゴリズムにも適用することが指摘されるべきである。
簡単に表示するため、前記正規化された遠近的に正しい補正補間条件(tu、tv)を、”テクスチャ座標”と呼んでもよく、これらのテクスチャ座標は、たとえば、0.0から1.0の範囲であってもよい。かかる座標系では、(tu、tv)が存する場所は、”テクスチャスペース”と呼ばれる。前記テクスチャ座標は、プリミティブにわたり、遠近中の任意のいずれの属性を補間するため用いてもよい。N個のビューの各ビューならびにプリミティブ内部の各点については、かかる座標が存在する。ビューV1について、前記座標は、(tu1、tv1)と呼ばれ、ビューV2について、前記座標は、(tu2、tv2)等と定義される。
図3a、図3bには、テクスチャキャッシュメモリ装置26を考慮する効率的尺度についての背景が示されている。ビューV1 101ならびにビューV2 102の両方に関するスクリーン空間に投影されたプリミティブが示されている。簡易化のためにステレオシステムのみが示されているが、前記推論が、ビューNのいずれの数にも適用されることが理解されるべきである。一度に一本の水平走査線が考慮される。前記水平走査線上に現れる投影されたプリミティブにおける画素が、図3aに示されている。ビューV1について、これらの画素は、101a、101b、....101mであり、ビューV2について、これらの画素は、102a、102b、....102jである。図3bにおいて、テクスチャ空間においてトラバーサル方向に沿って対応する画素は、ビューV1について201内に、ビューV2について202内に示されるとともに、ビューV1とビューV2の組み合わせが203内に示される。ビューV1の画素は、塗り潰された楕円形で表示され、ビューV2の画素は、図3aおよび図3bにおいて垂直の線で表示される。座標軸uおよびvは、組み合わされたビュー203において示される。見てとれるように、遠近のため、テクスチャ空間において、スクリーン空間における等間隔の標本点が不均等に配されている。しかし、これらは”テクスチャトラバーサル方向”と呼ばれる直線250上に配されている。また用いられる投影のタイプによって、2つのビューV1およびV2は、このテクスチャトラバーサル方向を共有するようにしてもよい。この例において、このことは、地平視差のみを考慮するということの結果である。2つのビューしか有しないシステムについては常に生じることであるが、より多くのビューを有するシステムについては、線上に存するビューの全ての視点が一般に求められている。視点を伴う水平走査線は、ワールドスペースにおける三次元平面と等しく、これらの平面は全てのビューとほぼ等しいので、その平面とプリミティブとの間の交点は、全てのビューと同じである。平面的なプリミティブ(たとえば、三角形)については、平面と三角形との間の交点は、線(全てのビューについて同じ)になり、この線は、テクスチャ空間内の線(テクスチャトラバーサル方向)に突出する。他のプリミティブについて、交点は、全てのビューについて同じになるが、交点の湾曲は、線でなくてもよい。
テクスチャキャッシュメモリ装置26に関しては、テクスチャ空間における、たとえば、組み合わされたビュー203におけるビューV1およびV2の両方からスクリーン空間サンプルを分析することにより、画素を横切るための適切な順序が見つけられる。たとえば、テクスチャトラバーサル方向にサンプルが生じる順に、当該テクスチャトラバーサル方向に沿ってピクセルトラバーサルを実行することにより、高いテクスチャキャッシュ性能を得ることができる。こうするのは、とりわけ以下の理由からである。テクスチャマップがアクセスされると、通常、フィルタ処理済みの色の値は、たとえば、トライリニアミップマッピング(ランス・ウィリアムス著 ”ピラミッド形パラメトリックス(Pyramidal Parametrics)”コンピュータグラフィクス(ACM SIGGRAPH83の会報)、1983年発行、を参照)を用いて所望される。このことは、テクスチャマップからフィルタ処理済みの色を作り出すためテクスチャ座標の周囲の近辺にアクセスがなされ、アクセスされたそれらの画素は、フィルタ処理済みの色を形成するため一緒に重み付けされることを意味する。フィルタ処理済みの色が演算されると、キャッシュは、フィルタ処理済みの色を作り出すためアクセスされたテクスチャからの全ての画素を含むようになる。ここで、アルゴリズムが、テクスチャトラバーサル方向に沿って最も近い点を選択した場合、テクスチャトラバーサル方向に沿って遠く離れた位置に存する点が選ばれた場合と比べ、一般的にはキャッシュの内容を再利用することが可能となる絶好のチャンスである。このことが正しい、ということのシュミレーションが示されている。[du、dv]が、テクスチャトラバーサル方向に沿ったベクトルを示すと仮定する。各ビューiについての効率的尺度Mi は、以下の式で定義することができる:
Figure 0004977712
ここで、(fu、fv)は、テクスチャトラバーサル方向上のテクスチャ座標、たとえば、走査線上の最初の画素のテクスチャ座標である。したがって、Mi は、テクスチャトラバーサル方向において処理される次の画素のテクスチャ座標の投影にすぎない。そこに移動する次のビューは、単純に、効率的尺度Mi が最も小さいビューiである。これにより、テクスチャ空間におけるN個のビュー全てからのスクリーン空間サンプルの順序に対応するトラバーサルの順序を得ることができる。ビューiについて画素がアクセスされていた場合、次の画素についてのテクスチャ座標(tui 、tvi)が決定され、効率的尺度Mi を更新することができる。そこに移動する次のビューは、全てのビューについてのテクスチャトラバーサル方向上の全ての画素(あるいはサンプル)がアクセスされるまで、前述のように選択される。次に、プリミティブ全体、たとえば、全てのビューについてのピクセルトラバーサルが実行されるまで、次の水平走査線ならびにその対応テクスチャトラバーサル方向等が処理される。
i は、処理される画素(あるいはサンプル)の順序を選択するのに用いてもよいスケーラー値であり、これにより、Mi は、様々な方法によって演算可能であることが理解されるべきである。たとえば、各ビューiについての効率的尺度Mi は、以下の式により定義することも可能である。
Figure 0004977712
この式は、(fu、fv)が含まれていない点で上記の式(1)と異なる。しかし、式(1)は、全ての走査線について(fu、fv)が一定であるので、同じ分類の順序を得ることができ、(fu、fv)のみを除去することは、Mi から定数を減じることであり、したがって、分類の順序が同じであってもよい。また、テクスチャトラバーサル方向について最も大きい(絶対値で)コンポーネントを見つけ、前記最大のコンポーネントに対応するtui又はtviのいずれかに基づいて、分類の順序を判断することも可能である。これによっても、同じ分類順序が与えられることがある。
以下には、処理能力を有するシステムに、本発明の実施形態の方法に基づくピクセルトラバーサルを実行させることを意図する疑似コードの例が示されている。ここでは、各走査線が同様に処理されるので、たった1本の走査線しか考慮されていないことに注意すべきである。また、以下の擬似コードは、単なる例示であることを理解するべきである。多くの異なる実施形態が可能であることが明らかであるべきである。
Figure 0004977712
以下に、タイルベース(tiled-based)のピクセルトラバーサル法の一実施形態を示す。ここで用いられるように、タイルは、長方形の画素のセット、あるいは、他の形状の画素のセットであってもよい。上述の走査線ベースのトラバーサル法は、タイルベース毎(per tile basis)として機能するよう拡張してもよい。このことは、図3aならびに図3b中の画素を、画素ではなくタイルとして考慮することにより達成される。スクリーン空間中の長方形のタイルは、通常、テクスチャ空間中の凸四辺形(convex quadrilateral)に突出している。プリミティブが、ラスタデータに変換されたと仮定する。図4において、そのプリミティブを覆うタイルの特定の行が、V1 301ならびにV2 302についてのテクスチャ空間中に突出して示されている。ビューV1について突出しているタイルは、A、B、C、DならびにEと名づけられる。ビューV2について突出しているタイルは、A、B、C、ならびにDと名づけられる。突出しているタイルは、2つのビューについてのテクスチャ空間において同じ領域と重なる。これにより、高いテクスチャキャッシュ性能を得ることができる。このことは、それらがテクスチャトラバーサル方向に沿って現れる順序により、タイルが横切られる場合に特に正しい。実際、これは、同時に1つの画素しか考慮していない前述の実施形態と比較した場合の差となる。まず、各タイルにおけるテクスチャ座標(tuj、tvj)、たとえば、各タイルの中央における座標が演算される。各タイルの中央における座標を用いることは、単に例であり、タイルの他の座標を用いるようにしてもよい。テクスチャトラバーサル方向ベクトル[du、dv]は、2つの近接するタイルの中央におけるテクスチャ座標間の差として得られたベクトルである。[du、dv]は、様々な方法で決定されてもよく、タイルの中央におけるテクスチャ座標を決定することは、多くの選択肢の一つであることが理解されるべきである。また、前記トラバーサル法は、次のタイルの行へ移動する前に、タイルの行でプリミティブが重複する全てのタイルがアクセスされるよう設計される。これに関しては他の選択をすることも可能である。たとえば、前記タイルは、ジグザグの順序で移動するようにしてもよい。すなわち、常に左から右の順番に移動し、タイルの次の行へ下方に移動するのではなく、タイルの現在の行が終わると、前記タイルにジグザグの順序でアクセスすることが可能である。ジグザグの順序において、タイルの行の最後まで達すると、タイルの次の行に移動し、反対側(水平方向)で続行する。これにより、ジグザグと同様のトラバーサル順序が得られる。ジグザグと同様のトラバーサル順序の詳細については、トーマス・アケニン−モーラー及びジェイコブ・ストローム著 ”みんなためのグラフィックス:携帯電話用のハードウエアラスタライゼーションアーキテクチャ”グラフィックスにおけるACMトランザクション、2003年7月発行に詳しい。
また、共通カラーバッファ機能を設けるようにしてもよい。かかる共通カラーバッファ機能は、一部又は全部のビューからのフラグメント出力値を蓄積するため用いても、たとえば、被写界深度(depth-of field)、モーションブラー(motion-blur)、ならびにアンチエイリアスをシミュレートするため用いてもよい。
上述の実施形態について、N個の異なるビューのため生成された画像は、N回複製され又はN回(各ビューについて1回)使用されると、図1の従来のコンピュータグラフィックスプロセッサにより生成された画像に対応することが理解される。したがって、図1で示すコンピュータグラフィックスプロセッサ10と比較して、本発明の実施形態の性能の向上には、画質の劣化が含まれることがない。
以下で説明する他の実施形態によると、他のビューのために生成されたフラグメントに基づいて、いくつかのビューのフラグメントを近似させることにより、さらに性能が向上する。これにより、フラグメントシェーダプログラムの実行回数を低減することができる。追加の性能の向上には、画質が若干低下するというコストを支払わなければならない。
図5は、ある実施形態に基づくCGP50のブロック図である。コンピュータグラフィックスプロセッサ50は、PVS51、RSU52、ラスタライザ53、Zカリングユニット54、FPU55、テクスチャキャッシュメモリ装置56、外部メモリ装置57、ZC&Bユニット58、フレームバッファ59、ならびに、セレクタ60を備えるようにしてもよい。これらのユニットは、図2に示された対応する部品と同様の動作をするよう構成してもよい。また、図5のCGP50は、近似化ユニット61およびシェーダ出力キャッシュ62を備えている。近似化ユニット61およびシェーダ出力キャッシュ62は、一緒になってFPU55からの出力の実質的な再使用を容易にする。
前記近似化ユニット61は、ビューを分類するよう構成してもよい。”正確な(exact)”ならびに”近似する(approximated)”の2つのタイプのビューが用いられる。各々の近似するビューは、正確なビューと関連づけられる。
前記近似化ユニット61は、”正確な”ならびに”近似する”のいずれに分類されているかに基づき、2つの異なるモードで動作するよう構成してもよい。
正確なビューについて、FPU55は、フラグメントシェーダプログラムを実行するため用いられ、さらにグラフィックスパイプラインに伝達される前に、当該フラグメントシェーダプログラムの出力、色、デプス、ステンシル等を、シェーダ出力キャッシュ62に書き込むようにしてもいい。
近似するビューについては、フラグメントシェーダプログラムが前記近似するビューを処理する場合、当該近似するビューと関連する正確なビューにおいてプリミティブを処理する間に集められた情報を、フラグメントシェーダプログラムから得られるであろう出力を近似化するために用いてもよい。近似するビューにおけるプリミティブのフラグメントの座標は、関連づけられた正確なビューの表示平面上にマッピング(投影)される。フラグメント座標の近辺におけるフラグメントシェーダプログラムからの正確なビューの結果が、まだシェーダ出力キャッシュ62に存する場合、近似するビューについてのフラグメントシェーダプログラムの出力は、前記キャッシュで見つけられた、近辺の入力の正確なビューについての当該フラグメントシェーダプログラムの出力をフィルタリングすることにより近似化される。シェーダキャッシュにおいて何ら結果が見つられなかった場合、近似するビューについてもフラグメントシェーダプログラムが実行される。
正確なビュー、ならびに、近似するビューを関連づけるため、テクスチャ座標を用い、マッピングアルゴリズムが提供される。かかるテクスチャ座標は、たとえば、パースペクティブ補正の重心座標(perspective-correct barycentric coordinates)であってもよい。前記アルゴリズムは、近似化されたビューにおけるプリミティブの位置を、関連する正確なビューにマッピングする。
一以上の正確なビューからの最新のフラグメント情報が記憶され、関連する近似するビューについてアクセス可能である場合に、シェーダ出力キャッシュ62が設けられる。
いくつかの実施形態によると、ディスプレースクリーン上に立体画像をレンダリングする方法は、プリミティブの投影がなされた後にプリミティブのピクセルトラバーサルを実行するステップを備えている。かかる方法は、近辺のビューからのフラグメントシェーダプログラムの出力を近似化し、再使用するステップを備えている。
図5の実施形態において、近似化ユニット61は、そのフラグメントがそれに属するペアが、”正確な(exact)”あるいは”近似化された(apprpximated)”のいずれに関連するかに応じて、フラグメントに異なる処理をするよう構成される。前記正確なビューは、複数のビューから選ばれた一以上のビューから構成され、FPU55を用いてフラグメントシェーダプログラムを実行することにより、それらにレンダリングが行われるという意味では同じである。このことから、正確なビューに対しては近似化が行われない。
近似化されたビューは、前記複数のビューの残りのビューとして選択される。各近似化ビューは、正確なビューに関連づけられる。各近似化ビューについて、関連する正確なビューは、通常、ビューというパラメータに関し、前記近似化されたビューに”最も近い”正確なビューである。
本発明の一実施形態によると、正確なビューは、フラグメントシェーダプログラムを実行することによりプリミティブをレンダリングし、かかる実行による出力が、”シェーダ出力”と呼ばれる。可能であれば、近似化されたビューは、正確なビューからのシェーダ出力を再び用い、近似化されたビューについて近似フラグメント出力を生成するため、一又はいくつかのシェーダ出力を一緒に重み付けするようにしてもよい。
現在処理中のフラグメントが、正確なビューに属する場合、FPU55を用いて前記フラグメントシェーダプログラムが実行される。さらにグラフィックスパイプラインに伝達される前に、当該フラグメントシェーダプログラムの出力、色、デプス(depth)、ステンシル(stencil)等を、シェーダ出力キャッシュ62に書き込むようにしてもいい。かかるシェーダ出力キャッシュ62は、オンチップメモリ、フリップフロップのセット専用、又は、オフチップメモリに記憶されたものであっても、あるいは、他のいずれの記憶方法を用いるものであってもよい。
現在処理中のフラグメントが、近似化されたビューに属する場合、関連する正確なビューを処理する間に集められた情報を、近似化ビューのフラグメントシェーダプログラム出力を近似化するために用いてもよい。フラグメント座標は、対応する正確なビューの表示表面上に投影される。これは、近似化ビュー(tuならびに tvと表される)におけるフラグメントについてのパースペクティブ補正の補間パラメータ(perspective-correct interpolation parameters)を用いて、対応する正確なビューにおける三角形の頂点(p、q、ならびにrと表される)の位置を補間することにより実行される。かかる補間は、以下の形式で行ってもよい:
c = (1 - tu - tv)・p + tu・q+tv・r。
これらの演算は、多くの他の異なる方法により実行してもよく、ここで開示されている近似化は、これらと同様に機能することが理解される。
補間された位置cは、正確なビューのコンテクストにおける現在のフラグメントについてのスクリーン空間位置を演算するため投影される。この投影された位置は、投影位置の近辺におけるフラグメントのシェーダ出力についてシェーダ出力キャッシュ62に問い合わせするため用いてもよい。近似化されたビューおよび正確なビューにおけるかかるフラグメントのシェーダ出力は、フィルタカーネルに基づく、近似化されたビューにおけるフラグメントの関係を用いて演算してもよい。また、シェーダ出力キャッシュ62中の2の最も近い隣接対象間の直線的補間を用い、あるいは、近接する範囲に2のフラグメントが見つからない場合、単に最も近い隣接対象を設定することにより、それを演算するようにしてもよい。このことは、たとえば、フラグメントが三角形の端の近辺に存する場合に生じてもよい。
ある実施形態によると、その算術平均が平均化ビューのフラグメントの位置である2つの位置が、正確なビュー内に投影される。投影された位置に近接する正確なビューのフラグメントが、シェーダ出力キャッシュ62中に記憶されると、近接する前記フラグメントに基づいて近似化されたビューのフラグメントが生成される。そうされない場合、フラグメントのシェーダプログラムを実行することにより近似化されたビューのフラグメントが生成される。
あるフラグメントについてのフラグメントシェーダプログラムの出力を近似化する間に、他のプリミティブからのデータの偶発的な使用を回避するため、シェーダ出力キャッシュ62を、プリミティブのレンダリングの間でクリアしてもよい。かかるシェーダ出力キャッシュ62は、ラスタライザ53のトラバーサルの順序がインクリメンタルである、すなわち、できる限り近隣のタイルへ横断する場合、周期的な置き換え戦略(cyclic replacement strategy)を用いるようにしてもよい。この場合、周期的置き換え戦略は、最長時間未使用(LRU)の置き換え戦略として効率的に機能する。他の置き換え戦略を、我々の発明と組み合わせるようにしてもよい。
シェーダ出力キャッシュ62は、独立したフラグメント又はフラグメントのグループとして構成されてもよい。かかるシェーダ出力キャッシュ62は、独立したキャッシュメモリ、あるいは、カラーバッファキャッシュ等の既存のキャッシュメモリを拡張するようにしてもよい。カラーバッファキャッシュを拡張することは、混合が可能な場合に近似化に用いることが出来ないという欠点を有する。
フラグメントの効率的尺度又はペアだけでなく、トラバーサルの順序まで効率的に演算することにより、あるフラグメント又はペアの効率的尺度(Mi)を近似化されたビューについて不利に扱うようにしてもよい。これにより、近似化ビューを効率的に遅延させ、関連するデータを用いて正確なビューによりシェーダ出力キャッシュ62を満たすことが可能になる。この効果は、近似化されたビューが、フラグメントの出力を近似化する可能性が増加するということである。
正確なビューを、あるレンダリングプリミティブから次に変更してもよいことも理解されるべきである。このことは有利である。たとえば、そこでプリミティブの投影領域が最も大きいビューとして正確なビューが選ばれた場合、シュミレーションにおいてより高い性能を達成することができる。
ここで開示される近似化を、累積カラーレンダリング(accumulative color rendering)に用いてもよい。これについて、正確なビューならびに近似化されたビューは、通常、別々のデプスバッファを有しているが、両者は、ともに単一のカラーバッファを共有している。レンダリングの際、出力カラーは、カラーバッファで混合される。このことは、たとえば、領域のデプスを有する単一のビューの画像をレンダリングするために用いることができる。他の可能な用途としては、モーションブラーならびにアンチエイリアスがある。
本発明は、ここで述べた方法および機能の実行を可能にするコンピュータプログラム製品に埋め込んでもよい。前記コンピュータプログラム製品が、コンピュータ機能を有するシステムにおいてロードされ作動する場合に、本発明を実施してもよい。本明細書におけるコンピュータプログラム、ソフトウエアプログラム、プログラム製品又はソフトウエアは、いずれのプログラミング言語により書かれたものであって、処理能力を有するシステムに、直接あるいは他の言語、コード又は表記への変換後に特定の機能を実行させることを意図する命令のセットのコード又は表記のいずれの言い回しをも意味している。
最後に、図2および図5に示すように、RSU22、52、ラスタライザ23、53、Zカリング24、54、FPU25、55、TCM26、56、ならびに、ZC&B28、58は、複製してもよい。これを実施することは本発明に必須ではないが、これにより、いくつかの場合にCGP20、50の性能がさらに向上する。しかし、PVS21、51あるいはEXM27、57については、複製が不要であることに注意すべきである。いずれにせよ、いくつかの実施形態においては、複数のビューを扱うため、PVS21、51に若干の変更を必要とする。
コンピュータグラフィックスプロセッサの使用の際に求められるメモリ周波帯域を低下させることが可能となることは、本発明の実施形態の利点である。上述の近似化されたビューならびに正確なビューを用いる実施形態については、FPU55がフラグメントシェーダプログラムを実行する回数が大幅に減少する、というさらに別の利点がある。フラグメントシェーダプログラムを実行することは、得られる性能を制限することができるので、このことは有利である。
4つの異なるビューからレンダリングされた特定の立体シーンに関するシュミレーションにおいては、従来のコンピュータグラフィックスプロセッサが、通常、テクスチャキャッシュメモリ装置に対し、本発明の実施形態と比べて最大220%以上の帯域を用いていることが示されている。この結果、本発明の実施形態は、コンピュータグラフィックスプロセッサの性能の向上を可能にする。
近似化ならびに正確なビューを用いたCGPのシュミレーションにおいては、得られた画質が高く、近似化されたフラグメントの数も多いことが示されている。画質は、PSNR(ピーク信号対雑音比)を用いて測定することができ、それは、静止画像の圧縮でさえ高い値と考えられる約43dB(デシベル)である。近似化されたビューにおける近似化されたフラグメントの数は、フラグメントのたった5%がフラグメントシェーダプログラム全体を実行することを意味する95%に等しい。
したがって、本発明に基づくコンピュータグラフィックスプロセッサならびに方法のさらなる利点は、過度のメモリ帯域幅を必要とせず、高い画質でディスプレースクリーン上に立体画像を提供することである。これを実行するためには、従来のGPUに対して適度の改良が必要となるのみである。したがって、改良された性能により高画質を可能とするコンピュータグラフィックスプロセッサの追加製造コストは、比較的安価なものである。本発明の実施形態は、携帯電話、携帯コンピュータ等のサイズに制限のある装置として実施されることが好ましい。また、携帯電話等のバッテリーにより駆動される装置として実施される場合、本発明の実施形態が、バッテリーが速く消耗することを回避するための構成を提供してもよい。しかし、本発明の実施形態は上述の装置に限定されない。本発明の実施形態は、デスクトップパーソナルコンピュータ、ラップトップ、ゲームコンソール、立体テレビ、ディスプレー内蔵型メガネを含む他の装置として実施されてもよいが、これらの用途に限定されない。
本発明は、特定の実施形態を参照した上で説明がなされてきた。しかし、本発明の範囲中であれば、上述の説明以外の他の実施形態も可能である。本発明の範囲中であれば、上述のものとは異なる方法のステップであって、ハードウエア又はソフトウエアによって実行されるものを提供してもよい。本発明の異なる特徴ならびにステップを、他の組み合わせに組み込むようにしてもよい。本発明の範囲は、添付された特許請求の範囲によってのみ特定される。
図1は、従来のコンピュータグラフィクスプロセッサのブロック図である。 図2は、本発明の実施形態に基づくコンピュータグラフィクスプロセッサのブロック図である。 図3aは、2つの異なるビューからスクリーンに投影されたプリミティブを示す画素の略図である。 図3bは、図3aのプリミティブについて、テクスチャ横断方向に沿ったテクスチャ空間における画素を示すスクリーンの略図である。 図4は、プリミティブについて、テクスチャ横断方向に沿ったテクスチャ空間における画素のタイルを示すスクリーンの略図である。 図5は、本発明の実施形態に基づくコンピュータグラフィクスプロセッサのブロック図である。

Claims (12)

  1. プリミティブの投影後に、当該プリミティブのピクセルトラバーサルを実行するよう構成されたラスタライザ(23、53)を備えた、ディスプレースクリーン上に立体画像をレンダリングするコンピュータグラフィックスプロセッサ(20、50)であって、
    前記ラスタライザ(23、53)は、一以上のビューについて次のプリミティブのピクセルトラバーサルを実行する前に、複数のビューについて第一のプリミティブのピクセルトラバーサルを実行するよう構成されており、
    前記ラスタライザ(23、53)は、前記第一のプリミティブが完全にトラバースされるまでであって、前記第一のプリミティブと同様の方法により次のプリミティブのピクセルトラバーサルが実行される前に、前記第一のプリミティブのペアであって、当該ペアが画素のグループおよび特定のビューを備えたものについてピクセルトラバーサルを実行し、次に、前記第一のプリミティブの他のペア、それに続くペアについてもピクセルトラバーサルを続行するよう構成されており、
    前記ラスタライザ(23、53)は、前記プリミティブの前記ピクセルトラバーサル中に、当該ラスタライザ(23、53)により前記ペアが処理される順序を決定するため適合される、セレクタ(30、60)に動作可能に接続されること、
    を特徴とするコンピュータグラフィックスプロセッサ。
  2. 請求項1のコンピュータグラフィックスプロセッサ(20、50)において、
    前記ラスタライザ(23、53)は、前記複数のビューの全てのビューについて前記次のプリミティブのピクセルトラバーサルを実行する前に、前記複数のビューの全てのビューについて前記第一のプリミティブのピクセルトラバーサルを実行するよう構成されること、
    を特徴とするコンピュータグラフィックスプロセッサ。
  3. 請求項1または請求項2のコンピュータグラフィックスプロセッサ(20、50)において、
    前記セレクタ(30、60)は、前記複数のビューの各ビューについての効率性尺度(efficiency measure)に基づいて、前記順序を決定するよう構成され、当該セレクタ(30、60)は、テクスチャ空間における前記テクスチャトラバーサル方向(du、dv)上の画素グループの代表点の前記テクスチャ座標(tui、tvi)を投影することに対応する
    Figure 0004977712
    に基づいて、効率性尺度を決定するよう構成され、Miは、ビューiについての効率性尺度であり、前記画素グループは、ビューiについての次の移動対象であり、次の移動対象について選択されたビューは、ビューkであり、Mkは全てのMiの最も小さい値であること、
    を特徴とするコンピュータグラフィックスプロセッサ。
  4. プリミティブの投影後に、当該プリミティブのピクセルトラバーサルを実行するよう構成されたラスタライザ(23、53)を備えた、ディスプレースクリーン上に立体画像をレンダリングするコンピュータグラフィックスプロセッサ(20、50)であって、
    前記ラスタライザ(23、53)は、一以上のビューについて次のプリミティブのピクセルトラバーサルを実行する前に、複数のビューについて第一のプリミティブのピクセルトラバーサルを実行するよう構成されており、
    前記コンピュータグラフィックスプロセッサ(50)は、
    少なくとも第一のビューについて、フラグメントシェーダプログラムを実行することにより、前記少なくとも第一のビューのフラグメントを生成し、
    少なくとも第二のビューについて、前記少なくとも第一のビューの前記生成されたフラグメントに基づき、前記少なくとも第二のビューのフラグメントを生成するよう、適合されたコンピュータグラフィックスプロセッサにおいて、
    前記コンピュータグラフィックスプロセッサ(50)は、メモリ(62)を備えており、
    前記第一ビューの前記生成されたフラグメントを前記メモリ(62)中に一時的に記憶し、
    前記第二のビューについては、前記第二ビューの前記フラグメントの位置を前記第一ビュー内に投影することにより、当該第二のビューのフラグメントの位置を生成し、
    前記第二ビューの前記フラグメントの前記投影された位置の近傍の前記第一のビューのフラグメントが、前記メモリ(62)内に記憶されている場合、前記近傍における前記フラグメントに基づいて前記第二ビューの前記フラグメントを生成し、あるいは、そうではなく、
    前記第二ビューの前記フラグメントについて、前記フラグメントシェーダプログラムを実行することにより、前記第二ビューの前記フラグメントを生成するよう、
    適合されることを特徴とするコンピュータグラフィックスプロセッサ。
  5. 請求項にかかるコンピュータグラフィックスプロセッサ(50)において、
    当該コンピュータグラフィックスプロセッサは、前記第二ビューの前記フラグメントについてのテクスチャ座標を生成し、前記第二ビューの前記フラグメントの位置を前記第一ビュー内に投影するため、これらのテクスチャ座標を用いるよう適合されること、
    を特徴とするコンピュータグラフィックスプロセッサ。
  6. 請求項4または請求項5のコンピュータグラフィックスプロセッサ(50)において、
    当該コンピュータグラフィックスプロセッサ(50)は、前記近傍内の前記フラグメントに基づき、前記近傍における前記フラグメントの加重平均(weighted average)として、前記第二ビューの前記フラグメントを生成するよう適合されること、
    を特徴とするコンピュータグラフィックスプロセッサ。
  7. 請求項4または請求項5のコンピュータグラフィックスプロセッサ(50)において、
    当該コンピュータグラフィックスプロセッサ(50)は、
    前記近傍内の前記第一ビューの少なくとも2つのフラグメントが前記メモリ(62)内に記憶されている場合に、前記投影された位置に最も近い前記少なくとも2つのフラグメントの前記2つについて直線的補間(linear interpolation)を実行することにより、前記第二ビューの前記フラグメントを生成し、あるいは、
    前記近傍内の前記第一ビューの正確な1つのフラグメントが前記メモリ(62)内に記憶されている場合には、前記正確な1つのフラグメントと同様の前記第二ビューの前記フラグメントを生成するよう、
    適合されることを特徴とするコンピュータグラフィックスプロセッサ。
  8. プリミティブの投影後に、当該プリミティブのピクセルトラバーサルを実行するよう構成されたラスタライザ(23、53)を備えた、ディスプレースクリーン上に立体画像をレンダリングするコンピュータグラフィックスプロセッサ(20、50)であって、
    前記ラスタライザ(23、53)は、一以上のビューについて次のプリミティブのピクセルトラバーサルを実行する前に、複数のビューについて第一のプリミティブのピクセルトラバーサルを実行するよう構成されており、
    前記コンピュータグラフィックスプロセッサ(50)は、
    少なくとも第一のビューについて、フラグメントシェーダプログラムを実行することにより、前記少なくとも第一のビューのフラグメントを生成し、
    少なくとも第二のビューについて、前記少なくとも第一のビューの前記生成されたフラグメントに基づき、前記少なくとも第二のビューのフラグメントを生成するよう、適合されたコンピュータグラフィックスプロセッサにおいて、
    前記コンピュータグラフィックスプロセッサは、メモリ(62)を備えており、
    前記第一ビューの前記生成されたフラグメントを前記メモリ(62)中に一時的に記憶し、
    第二のビューについては、その算術平均(arithmetic average)が前記第二ビューの前記フラグメントの位置である2つの位置を、前記第一のビュー内に投影することにより、前記第二ビューのフラグメントを生成し、
    前記投影された位置の近傍の前記第一のビューのフラグメントが、前記メモリ(62)内に記憶されている場合、前記近傍における前記フラグメントに基づいて前記第二ビューの前記フラグメントを生成し、あるいは、そうではなく、
    前記第二ビューの前記フラグメントについて、前記フラグメントシェーダプログラムを実行することにより、当該第二のビューの前記フラグメントを生成するよう、
    適合されることを特徴とするコンピュータグラフィックスプロセッサ。
  9. プリミティブの投影後に、当該プリミティブのピクセルトラバーサルを実行するステップを備えた、ディスプレー上に立体画像をレンダリングする方法であって、
    一以上の次のプリミティブのピクセルトラバーサルを実行する前に、複数のビューについて第一のプリミティブのピクセルトラバーサルを実行するステップを備え、
    前記実行するステップは、前記第一のプリミティブが完全にトラバースされるまでであって、前記第一のプリミティブと次のプリミティブのピクセルトラバーサルが実行される前に、前記第一のプリミティブのペアであって、当該ペアが画素のグループおよび特定のビューを備えたものについてピクセルトラバーサルを実行し、次に、前記第一のプリミティブの他のペア、それに続くペアについてもピクセルトラバーサルを続行するステップを備え、
    さらに、前記プリミティブの前記ピクセルトラバーサル中に、前記ペアが処理される順序を決定するステップを備えたこと、
    を特徴とするディスプレー上に立体画像をレンダリングする方法。
  10. 請求項9のディスプレー上に立体画像をレンダリングする方法において、
    前記実行するステップは、前記複数のビューの全てのビューについて次のプリミティブのピクセルトラバーサルを実行する前に、前記複数のビューの全てのビューについて、前記第一プリミティブの前記ピクセルトラバーサルを実行するステップ、
    を備えたことを特徴とするディスプレー上に立体画像をレンダリングする方法。
  11. 請求項9のディスプレー上に立体画像をレンダリングする方法において、
    前記順序を決定するステップは、前記複数のビューの各ビューについての効率性尺度に基づいて、前記順序を決定するステップ、ならびに、テクスチャ空間における前記テクスチャトラバーサル方向(du、dv)上の画素グループの代表点の前記テクスチャ座標(tui、tvi)を投影することに対応する
    Figure 0004977712
    に基づいて、効率性尺度を決定するステップを備え、Miは、ビューiについての効率性尺度であり、前記画素グループは、ビューiについての次の移動対象であり、次の移動対象について選択されたビューは、ビューkであり、Mkは全てのMiの最も小さい値であること、
    を特徴とするディスプレー上に立体画像をレンダリングする方法。
  12. 請求項9から請求項11のいずれのディスプレー上に立体画像をレンダリングする方法において、
    フラグメントシェーダプログラムを実行することにより、少なくとも第一ビューのフラグメントを生成するステップ、ならびに
    前記少なくとも第一ビューの前記生成されたフラグメントに基づき、少なくとも第二ビューのフラグメント生成するステップ、
    を備えたことを特徴とするディスプレー上に立体画像をレンダリングする方法。
JP2008543235A 2005-12-01 2006-11-29 ディスプレースクリーン上に立体画像をレンダリングするコンピュータグラフィックスプロセッサならびにその方法 Expired - Fee Related JP4977712B2 (ja)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
SE0502641-4 2005-12-01
SE0502641 2005-12-01
US74235705P 2005-12-05 2005-12-05
US60/742,357 2005-12-05
SE0600043-4 2006-01-11
SE0600043 2006-01-11
PCT/SE2006/001365 WO2007064280A1 (en) 2005-12-01 2006-11-29 Computer graphics processor and method for rendering a three-dimensional image on a display screen

Publications (3)

Publication Number Publication Date
JP2009517770A JP2009517770A (ja) 2009-04-30
JP2009517770A5 JP2009517770A5 (ja) 2009-12-10
JP4977712B2 true JP4977712B2 (ja) 2012-07-18

Family

ID=43380188

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008543235A Expired - Fee Related JP4977712B2 (ja) 2005-12-01 2006-11-29 ディスプレースクリーン上に立体画像をレンダリングするコンピュータグラフィックスプロセッサならびにその方法

Country Status (4)

Country Link
US (2) US8803872B2 (ja)
EP (1) EP1960968A4 (ja)
JP (1) JP4977712B2 (ja)
WO (1) WO2007064280A1 (ja)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB0913170D0 (en) 2009-07-28 2009-09-02 Advanced Risc Mach Ltd Graphics processing systems
US9038034B2 (en) 2009-12-22 2015-05-19 Intel Corporation Compiling for programmable culling unit
US9218678B2 (en) * 2011-04-25 2015-12-22 Intel Corporation Multi-view rasterization using an analyticl visibility function
US9183652B2 (en) * 2013-05-15 2015-11-10 Intel Corporation Variable rasterization order for motion blur and depth of field
US10186236B2 (en) * 2013-05-23 2019-01-22 Intel Corporation Universal codec
US9607352B2 (en) * 2014-12-03 2017-03-28 Intel Corporation Prediction based primitive sorting for tile based rendering
US9922449B2 (en) * 2015-06-01 2018-03-20 Intel Corporation Apparatus and method for dynamic polygon or primitive sorting for improved culling
US9959643B2 (en) * 2015-10-29 2018-05-01 Intel Corporation Variable rasterization order for motion blur and depth of field
US10636110B2 (en) * 2016-06-28 2020-04-28 Intel Corporation Architecture for interleaved rasterization and pixel shading for virtual reality and multi-view systems
US10482581B2 (en) * 2017-10-03 2019-11-19 Google Llc System and method for applying antialiasing to images
CN107958480B (zh) * 2017-11-23 2021-04-30 腾讯科技(上海)有限公司 图像渲染方法、装置及存储介质
US10522113B2 (en) 2017-12-29 2019-12-31 Intel Corporation Light field displays having synergistic data formatting, re-projection, foveation, tile binning and image warping technology
CN117689790A (zh) * 2024-01-29 2024-03-12 深圳中微电科技有限公司 基于缓冲区的像素渲染保序方法、系统及存储介质

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6496183B1 (en) * 1998-06-30 2002-12-17 Koninklijke Philips Electronics N.V. Filter for transforming 3D data in a hardware accelerated rendering architecture
JPH10320573A (ja) * 1997-05-22 1998-12-04 Sega Enterp Ltd 画像処理装置及び画像処理方法
US5945997A (en) * 1997-06-26 1999-08-31 S3 Incorporated Block- and band-oriented traversal in three-dimensional triangle rendering
US6771264B1 (en) * 1998-08-20 2004-08-03 Apple Computer, Inc. Method and apparatus for performing tangent space lighting and bump mapping in a deferred shading graphics processor
WO2000011607A1 (en) * 1998-08-20 2000-03-02 Apple Computer, Inc. Deferred shading graphics pipeline processor
US7061486B2 (en) * 1999-09-24 2006-06-13 Sun Microsystems, Inc. Using messaging to manage scene-based rendering
US6714196B2 (en) * 2000-08-18 2004-03-30 Hewlett-Packard Development Company L.P Method and apparatus for tiled polygon traversal
US7154507B1 (en) * 2000-10-02 2006-12-26 Nvidia Corporation System, method and computer program product for texture shading
JP3635051B2 (ja) * 2001-02-01 2005-03-30 株式会社ソニー・コンピュータエンタテインメント 画像生成方法及び装置、画像処理プログラムを記録した記録媒体、画像処理プログラム
JP3746211B2 (ja) * 2001-08-03 2006-02-15 株式会社ソニー・コンピュータエンタテインメント 描画装置、描画方法、描画プログラム、描画プログラムを記録したコンピュータ読み取り可能な記録媒体、及びグラフィックスプロセッサ
US6954204B2 (en) * 2002-07-18 2005-10-11 Nvidia Corporation Programmable graphics system and method using flexible, high-precision data formats
CN100357973C (zh) * 2003-04-15 2007-12-26 皇家飞利浦电子股份有限公司 计算机图形处理器及生成计算机图形图像的方法
EP1542167A1 (en) * 2003-12-09 2005-06-15 Koninklijke Philips Electronics N.V. Computer graphics processor and method for rendering 3D scenes on a 3D image display screen
US7145562B2 (en) * 2004-05-03 2006-12-05 Microsoft Corporation Integration of three dimensional scene hierarchy into two dimensional compositing system

Also Published As

Publication number Publication date
US9269180B2 (en) 2016-02-23
WO2007064280A1 (en) 2007-06-07
US8803872B2 (en) 2014-08-12
JP2009517770A (ja) 2009-04-30
EP1960968A1 (en) 2008-08-27
EP1960968A4 (en) 2016-06-29
US20100328303A1 (en) 2010-12-30
US20140320487A1 (en) 2014-10-30

Similar Documents

Publication Publication Date Title
JP4977712B2 (ja) ディスプレースクリーン上に立体画像をレンダリングするコンピュータグラフィックスプロセッサならびにその方法
US7742060B2 (en) Sampling methods suited for graphics hardware acceleration
US9129443B2 (en) Cache-efficient processor and method of rendering indirect illumination using interleaving and sub-image blur
US7280121B2 (en) Image processing apparatus and method of same
KR100510131B1 (ko) 픽셀 캐쉬 및 이를 이용한 3차원 그래픽 가속 장치 및 방법
US10049486B2 (en) Sparse rasterization
US20120229460A1 (en) Method and System for Optimizing Resource Usage in a Graphics Pipeline
WO2013101150A1 (en) A sort-based tiled deferred shading architecture for decoupled sampling
US10198788B2 (en) Method and system of temporally asynchronous shading decoupled from rasterization
JP2006244426A (ja) テクスチャ処理装置、描画処理装置、およびテクスチャ処理方法
KR20170040698A (ko) 그래픽스 파이프라인을 수행하는 방법 및 장치
US6940515B1 (en) User programmable primitive engine
US6900810B1 (en) User programmable geometry engine
US10192348B2 (en) Method and apparatus for processing texture
Hunt et al. Hierarchical visibility for virtual reality
Hasselgren et al. An Efficient Multi-View Rasterization Architecture.
JP7460641B2 (ja) 光強度画像を生成するための装置及び方法
US7385604B1 (en) Fragment scattering
KR101227155B1 (ko) 저해상도 그래픽 영상을 고해상도 그래픽 영상으로 실시간 변환하는 그래픽 영상 처리 장치 및 방법
US20190295214A1 (en) Method and system of temporally asynchronous shading decoupled from rasterization
Yuan et al. Tile pair-based adaptive multi-rate stereo shading
US20140160124A1 (en) Visible polygon data structure and method of use thereof
US20220319091A1 (en) Post-depth visibility collection with two level binning
Hernández et al. Simple dynamic lod for geometry images
Bender et al. Real-Time Caustics Using Cascaded Image-Space Photon Tracing

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091021

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20091021

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110822

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110912

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20111205

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20111212

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120312

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120402

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120416

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 4977712

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20150420

Year of fee payment: 3

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

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

Free format text: PAYMENT UNTIL: 20150420

Year of fee payment: 3

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees