JP2018156666A - 曲面ビューポート上に頂点の投影を近似することによる、グラフィックス処理における画面位置に基づく有効解像度の変化 - Google Patents

曲面ビューポート上に頂点の投影を近似することによる、グラフィックス処理における画面位置に基づく有効解像度の変化 Download PDF

Info

Publication number
JP2018156666A
JP2018156666A JP2018082884A JP2018082884A JP2018156666A JP 2018156666 A JP2018156666 A JP 2018156666A JP 2018082884 A JP2018082884 A JP 2018082884A JP 2018082884 A JP2018082884 A JP 2018082884A JP 2018156666 A JP2018156666 A JP 2018156666A
Authority
JP
Japan
Prior art keywords
projection
primitive
vertices
subsection
screen space
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2018082884A
Other languages
English (en)
Other versions
JP6712366B2 (ja
Inventor
エヴァン サーニー、マーク
Evan Cerny Mark
エヴァン サーニー、マーク
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.)
Sony Interactive Entertainment America LLC
Original Assignee
Sony Interactive Entertainment America LLC
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 Sony Interactive Entertainment America LLC filed Critical Sony Interactive Entertainment America LLC
Publication of JP2018156666A publication Critical patent/JP2018156666A/ja
Priority to JP2020022730A priority Critical patent/JP6903183B2/ja
Application granted granted Critical
Publication of JP6712366B2 publication Critical patent/JP6712366B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformation in the plane of the image
    • G06T3/40Scaling the whole image or part thereof
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/017Head mounted
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/017Head mounted
    • G02B27/0172Head mounted characterised by optical features
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/60Memory management
    • 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
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/50Lighting effects
    • G06T15/80Shading
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/10Constructive solid geometry [CSG] using solid primitives, e.g. cylinders, cubes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/20Finite element generation, e.g. wire-frame surface description, tesselation
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/0101Head-up displays characterised by optical features
    • G02B2027/0123Head-up displays characterised by optical features comprising devices increasing the field of view
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/36Level of detail

Abstract

【課題】高品質かつ効率的にレンダリングされたグラフィックスを広視野表示デバイスに提示する。【解決手段】グラフィックス処理において、仮想空間におけるシーンに関する一つ以上の頂点を表すデータを受信する。表示デバイスの画面空間への頂点の投影を実行する。投影は、頂点の投影を曲面ビューポートにおいて近似する。頂点にプリミティブアセンブリを実行して、画面空間における頂点の投影から画面空間内の一つ以上のプリミティブを生成する。一つ以上のプリミティブに走査変換を実行して、一つ以上のプリミティブのうちの対応するプリミティブの部分である、複数個の画素のうちの一つ以上の画素を決定する。次に、対応するプリミティブの部分である一つ以上の画素に画素値を割り当てる画素処理を実行することによって完成フレームを生成する。完成フレームを、メモリに保存するまたは表示デバイスに表示することができる。【選択図】図4B

Description

[関連出願の相互参照]
本願は、その内容全体が参照により本明細書に組み込まれる、本出願と同日に出願された「METHOD FOR EFFICIENT CONSTRUCTION OF HIGH RESOLUTION DISPLAY BUFFERS」(代理人整理番号SCEA13055US00)と題されたTobias Berghoffへの同一出願人による同時係属中の米国特許出願第14/246,064号に関連する。
本願は、その内容全体が参照により本明細書に組み込まれる、2014年4月5日に出願された「GRAPHICS PROCESSING ENHANCEMENT BY TRACKING OBJECT AND/OR PRIMITIVE IDENTIFIERS」(代理人整理番号SCEA13056US00)と題されたTobias Berghoffへの同一出願人による同時係属中の米国特許出願第14/246,067号に関連する。
本願は、その内容全体が参照により本明細書に組み込まれる、2014年4月5日に出願された「GRADIENT ADJUSTMENT FOR TEXTURE MAPPING TO NON−ORTHONORMAL GRID」(代理人整理番号SCEA13057US00)と題されたMark Evan Cernyへの同一出願人による同時係属中の米国特許出願第14/246,068号に関連する。
本願は、その内容全体が参照により本明細書に組み込まれる、2014年4月5日に出願された「VARYING EFFECTIVE RESOLUTION BY SCREEN LOCATION BY CHANGING ACTIVE COLOR SAMPLE COUNT WITHIN MULTIPLE RENDER TARGETS」(代理人整理番号SCEA13058US00)と題されたTobias Berghoffへの同一出願人による同時係属中の米国特許出願第14/246,061号に関連する。
本願は、その内容全体が参照により本明細書に組み込まれる、2014年4月5日に出願された「VARYING EFFECTIVE RESOLUTION BY SCREEN LOCATION BY ALTERING RASTERIZATION PARAMETERS」(代理人整理番号SCEA13059US00)と題されたMark Evan Cernyへの同一出願人による同時係属中の米国特許出願第14/246,063号に関連する。
本願は、その内容全体が参照により本明細書に組み込まれる、2014年4月5日に出願された「GRADIENT ADJUSTMENT FOR TEXTURE MAPPING FOR MULTIPLE RENDER TARGETS WITH RESOLUTION THAT VARIES BY SCREEN LOCATION」(代理人整理番号SCEA13061US00)と題されたMark Evan Cernyへの同一出願人による同時係属中の米国特許出願第14/246,062号に関連する。
[技術分野]
本開示の態様は、コンピュータグラフィックスに関する。特に、本開示は、画面位置に基づく解像度の変化に関する。
グラフィックス処理は、一般的に、二つのプロセッサ、中央処理装置(CPU)及びグラフィックスプロセッシングユニット(GPU)の調整を伴う。GPUは、ディスプレイへの出力が意図された、フレームバッファ内の画像の作製を促進するように設計された特殊な電子回路である。GPUは、埋め込みシステム、携帯電話、パーソナルコンピュータ、タブレットコンピュータ、携帯ゲーム機、ワークステーション、及びゲームコンソールに使用される。GPUは、一般的に、コンピュータグラフィックスにおける操作が効率的となるように設計される。GPUは、多くの場合、データの大きなブロックの処理が並行して行われる場合に、アルゴリズムに関して汎用CPUよりもGPUをより有効にする高度並列処理アーキテクチャを有する。
CPUは、GPUに特定のグラフィックス処理タスクを実施させる、例えば、画像において以前のフレームに対して変化した特定のテクスチャをレンダリングすることを命令する、一般に描画コマンドと呼ばれる命令をGPUに送信することができる。これらの描画コマンドは、特定のアプリケーションの仮想環境の状態に対応するグラフィックスレンダリングコマンドを発行するために、グラフィックスアプリケーション・プログラミング・インターフェース(API)を用いてCPUによって調整することができる。
特定のプログラムに関するテクスチャをレンダリングするために、GPUは、仮想環境における視覚を、ディスプレイ上にレンダリングできる画像に変換するための、「グラフィックスパイプライン」における一連の処理タスクを実行することができる。標準的なグラフィックスパイプラインは、仮想空間内の仮想オブジェクトにおける特定のレンダリングまたはシェーディングオペレーション、出力ディスプレイに適切な画素データを生成するための、シーン内の仮想オブジェクトの変換及びラスタライゼーション、及びレンダリングされた画像をディスプレイ上に出力する前の、画素(または、フラグメント)への追加のレンダリングタスクの実行を含むことができる。
画像の仮想オブジェクトは、多くの場合、仮想シーンにおいてオブジェクトの形状を共に構成する、プリミティブとして公知の形状において仮想空間内に表現される。例えば、レンダリングすべき、三次元仮想世界内のオブジェクトは、三次元空間内のそれらの座標において規定された頂点を有し、それによってこれらの多角形がオブジェクトの表面に構成される、一連の異なる三角形のプリミティブに帰することができる。各多角形は、所与の多角形を他の多角形と区別するための、グラフィックス処理システムによって使用できる関連インデックスを有することができる。同様に、各頂点は、所与の頂点を他の頂点と区別するために使用できる関連インデックスを有することができる。グラフィックスパイプラインは、仮想シーンについての視覚を生成し、このデータを、ディスプレイの画素によって複製するのに適切な二次元フォーマットに変換する特定のオペレーションをこれらのプリミティブに実行することができる。本明細書に使用されるグラフィックスプリミティブ情報(または、単に「プリミティブ情報」)という用語は、グラフィックスプリミティブを表すデータを指すのに使用される。そのようなデータは、これらに限定されないが、頂点情報(例えば、頂点位置または頂点インデックスを表すデータ)、及び多角形情報、例えば、多角形インデックス、ならびに特定の頂点を特定の多角形に関連付ける他の情報を含む。
グラフィックスパイプラインの一部として、GPUは、シェーダとして一般に公知のプログラムを実装することによってレンダリングタスクを実行することができる。標準的なグラフィックスパイプラインは、頂点ごとの基準においてプリミティブの特定の性質を操作できる頂点シェーダ、ならびにグラフィックスパイプラインにおいて頂点シェーダからのダウンストリームを動作させ、画素データをディスプレイに伝送する前に、画素ごとの基準において特定の値を操作できる(「フラグメントシェーダ」としても公知の)画素シェーダを含むことができる。フラグメントシェーダは、テクスチャのプリミティブへの適用に関連する値を操作することができる。パイプラインは、頂点シェーダの出力を使用してプリミティブの新規のセットを生成するジオメトリシェーダ、ならびに特定の他の汎用計算タスクを実行するために、GPUによって実装できる計算シェーダ(CS)などの、さまざまなステージにおける他のシェーダもパイプラインに含むことができる。
広視野(FOV)を有するグラフィカル表示デバイスが開発された。そのようなデバイスは、頭部装着型ディスプレイ(HMD)デバイスを含む。HMDデバイスでは、小さな表示デバイスがユーザの頭部に装着される。表示デバイスは、片目(単眼HMD)または各目(両眼HMD)の前にディスプレイオプティックを有する。HMDデバイスは、一般的に、デバイスの向きを感知できるセンサを含み、ユーザの頭部が移動するにつれてディスプレイ光学によって示されるシーンを変化させることができる。従来、広視野ディスプレイにおけるシーンのレンダリングのほとんどのステージは、画面のすべての部分が単位面積当たりに同じ数の画素を有する平面レンダリングによって実行されてきた。
実際的な体験を提供するために、高品質かつ効率的にレンダリングされた、広視野表示デバイスによって提示されるグラフィックスが望ましい。
本開示はこの文脈内に現れる。
本開示の教示は、添付図面と併せて以下の詳細な説明を検討することによって容易に理解することができる。
図1A及び図1Bは、広視野(FOV)ディスプレイの特定のパラメータを図示する略図である。 図1Cは、広視野ディスプレイの種々の部分における種々の立体角を図示する。 図2A〜図2Cは、本開示の態様に従う、種々の広視野ディスプレイの種々の領域における画素の相対的重要度の実施例を図示する。 図2Dは、本開示の態様に従う、FOVディスプレイの画面の種々の領域における種々の画素解像度の実施例を図示する。 本開示の態様に従う、等しい立体角を示す画面小区分の、等面積の対応する小区分への変換を図示する概略図である。 図4Aは、本開示の態様に従うグラフィックス処理システムのブロック図である。 図4Bは、本開示の態様に従うグラフィックス処理パイプラインのブロック図である。 図4Cは、本開示の態様に従う、画面位置に基づいて画素解像度が変化する実施例を図示する概略図である。 図4Dは、本開示の態様に従う、画面位置に基づいて画素解像度が変化する代替的な実施例を図示する概略図である。 本開示の態様に従う、グラフィックスプリミティブの頂点の補正の実施例を図示する概略図である。
以下の詳細な説明は例証する目的のために多くの具体的な詳細を含むが、当業者は、以下の詳細に対する多くの変化及び変更が本発明の範囲内にあることを認識する。それ故に、後述する本発明の例示の実施形態は、一般性を何ら喪失することなく、かつ特許請求の範囲に記載されている発明に制限を課すことなく説明される。
序論
図1A〜図1Cは、大きなFOVディスプレイに伴う今まで認識されてこなかった問題を図示する。図1Aは、90度のFOVディスプレイを図示し、図1Bは、114度のFOVディスプレイを図示する。従来の大きなFOVディスプレイでは、投影面101に対する平面投影を使用して、三次元ジオメトリをレンダリングする。しかしながら、高FOV投影面へのジオメトリのレンダリングが非常に非効率的であることがわかってきた。図1Cを見てわかるように、投影面101のエッジ領域112及び中央領域114は、同じ範囲であるが、観察者103から見ると、非常に異なる立体角を示す。その結果、画面のエッジ付近の画素は、中央付近の画素よりも保持する有意義な情報が遥かに少ない。従来、シーンをレンダリングするときには、これらの領域は同じ数の画素を有し、画面における等しいサイズの領域をレンダリングするのに費やされる時間は等しい。
図2A〜図2Cは、種々のサイズの視野に関する、二次元における大きなFOVディスプレイの種々の部分の相対的重要度を図示する。図2Aは、市松模様が114度の角度の範囲を定める場合の、ビュー方向と垂直の平面市松模様の各々の四角における立体角の相違を表す。言い換えれば、114度のFOVディスプレイにおける従来の平面投影レンダリングの非効率性を表す。図2Bは、90度のFOVディスプレイおける同じ情報を表す。そのような平面投影レンダリングでは、投影において、画像201内のエッジに位置するタイル202及び隅部に位置するタイル203が、中央に位置するタイル204と比較してより小さい立体角に圧縮される。この圧縮、及び画像201における各タイルが画面空間において同じ数の画素を有するという事実の故に、中央タイル204と比較してエッジタイル202のレンダリングにはおおよそ4倍の非効率因子が存在する。このことは、エッジタイル203の従来のレンダリングが、中央タイル204に対して単位立体角当たりおおよそ4倍に等しい処理を伴うことを意味する。隅部タイル203では、非効率因子は、おおよそ8倍である。画像201全体において平均すると、非効率因子は、おおよそ2.5倍である。
非効率性は、FOVのサイズに応じて決まる。例えば、図2Bに示す90度のFOVディスプレイでは、非効率因子は、エッジタイル202のレンダリングではおおよそ2倍であり、隅部タイル203のレンダリングではおおよそ3倍であり、そして画像201全体のレンダリングではおおよそ1.7倍である。
この状況を見る別の方式を図2Cに示し、この図では、画面102が、範囲を定められた単位立体角当たりの画素の観点から大体等しい「重要度」をもつ矩形に分割されている。各矩形は、ディスプレイを通じて見るときの最終画像におおよそ同じ程度寄与する。平面投影がエッジ矩形202及び隅部矩形203の重要度をどの程度歪めるかを見ることができる。実際には、隅部矩形203は、ディスプレイ光学に起因して中央矩形に対して少ししか寄与しない可能性があり、(立体角ごとの画素として表される)画素の視覚濃度を、ディスプレイの中央の方により高くするように選ぶことができる。
前述の観測に基づき、図2Dに示すように、広視野ディスプレイに関する画像210において、中央領域205よりもエッジ領域202、204、206、208により小さい画素密度、かつエッジ領域202、204、206、208よりも隅部領域201、203、207及び209により小さい画素密度を有することが有利となるであろう。基礎的なグラフィカル画像データ若しくはデータフォーマットまたはデータの処理を著しく変更する必要なく、画面全体における画素密度を変化させて同じ効果が得られるように、広視野ディスプレイの画面において従来のグラフィカル画像をレンダリングすることも有利となるであろう。
代替的に、画面空間のエッジ及び隅部に位置する画素が中央に位置する画素と大体同じ立体角を含有する様に、頂点が投影され、プリミティブがレンダリングされた画面空間が球表面の一部を近似した場合に、これは有利となるであろう。
本開示の態様に従い、グラフィックス処理は、頂点の投影を曲面ビューポートにおいて近似するラスタライゼーションステージを利用する。特定の実施態様において、近似された半球画面空間における投影の均等物を、フラット画面空間における従来の投影、それに続いて、等しい立体角を示す画面空間小区分の、等面積の対応する小区分への変換を通じてグラフィックスパイプラインにおいて取得することができる。図3は、例示的なそのような変換を図示する。左側の図面では、平面画面空間1が、大体等しい立体角の矩形の領域に分割される。代替的な実施態様では、画面空間は、非矩形の領域に分割することができる。球面から観測面への中心投影は、(心射図法と呼ばれることもある)直線投影として公知であり、そしてそのような逆の直線投影では、投影面における画素を、球形のビューポート上に等しい立体角の要素に戻すように正確にマッピングする。真逆の直線投影では、垂線及び水平線を直線にマッピングしないので、本開示の態様の特定の実施態様は、代わりに、2軸の逆の直線投影を用いる。これは、右側の図面に示すように、各画面の軸が、大体等しい立体角の各矩形を、変換された画面空間2における対応する四角領域にマッピングする逆正接公式によって変換される。この近似において、変換された画面空間2における四角領域は、フラットである。実施例として、制限的なものではなく、変換は、座標(H,V)における三角形3の頂点を、一定の画素密度空間が次の通りであり得る、座標(H’,V’)における変換された三角形3’の対応する頂点にマッピングする。
例えば、FOV、FOVがラジアンにおける水平及び垂直の視野であり、H’,V’が、逆投影された一定の画素密度空間における正規化された座標(すなわち、FOV全体にわたる範囲[−1〜1]における座標)である場合には、H’,V’を、θ、θ(それぞれ、FOV全体にわたる範囲[−FOV/2〜FOV/2]及び[−FOV/2〜FOV/2]にわたって変化する座標)を消去するための以下の方程式を解くことによって、線形空間における正規化された座標(すなわち、FOV全体にわたる範囲[−1〜1]における座標)H,Vから取得することができる。
H’=θ*2/FOV
V’=θ*2/FOV
H=tan(θ)/tan(FOV/2)
V=tan(θ)/tan(FOV/2)
H’及びV’を解くと次を生じる、
H’=arctan(H*tan(FOV/2))*2/FOV
V’=arctan(V*tan(FOV/2))*2/FOV
この解決策が、HMDレンダリング構成において、画素間のほぼ理想的な立体範囲分布は生成するが、物理的な光学が、可視の視野にわたってHMD表示画素を均等には分布できないことに留意すべきである。その結果、この構成における最も効率的な解決策は、画面範囲への表示画素の理想的なマッピングの決定において、光学によって生じる歪みを考慮する。
従来のラスタライゼーションは平面ビューポートしか対象にできないので、各領域内の頂点は、線形変換を使用しない限りは再マッピングすることができない。故に、そのような場合では、特定の実施態様は、代わりに、次の通りに、この変換の連続的な区分線形近似を頂点に適用する。
一定の画素密度空間において増大する順序で画面範囲境界H’[i]及びV’[j]のセットを選び、前述の変換の逆を使用して、線形画面空間における対応する境界H[i]及びV[j]を算出する。
H[i]=tan(H’[i]*FOV/2)/tan(FOV/2)
V[j]=tan(V’[j]*FOV/2)/tan(FOV/2)
次に、これらの境界を維持する区分線形変換を構築する。
H’=(H[i]<H<H[i+1])となるようなiにおいて、
H’[i]+(H’[i+1]−H’[i])*(H−H[i])/(H[i+1]−H[i])
V’=(V[j]<V<V[j+1])となるようなjにおいて、
V’[j]+(V’[j+1]−V’[j])*(V−V[j])/(V[j+1]−V[j])
H,VからH’,V’へのマッピングは、(前述のi及びjによってインデックスを付けられた)種々の小区分ごとに若干異なるので、オリジナルの画面空間1における三角形3は、湾曲部を有する変換された三角形3’として変換された画面空間2にマッピングされる。しかしながら、結果生じた画像が線形または曲面ディスプレイに帰着するときに、変換が帰着の一部として逆にされ、三角形3’の湾曲部は、明らかな直線に戻るように復元される。
そのような画面空間変換の利点は相当である。例えば、90度FOVでは、画面空間1の面積が1.00である場合には、その結果、この方策では、おおよそ0.62の面積をもつ変換された画面空間2が生じる。対照的に、画面空間1を球面にマッピングできる場合には、変換された画面空間2の面積は、おおよそ0.46となるであろう。近似的に球形のみへの変換であったとしても、変換された画面空間の面積を減少することによって、変換しないよりも遥かに速くグラフィックス処理を行うことができる。
本開示の態様は、図3に関して記述したタイプの画面空間変換を利用して、レンダリングすべき画面空間の面積を効果的に減少することによってGPUの計算負荷を減少する。
本開示の態様に従い、グラフィックスプロセッシングユニット及びメモリを有するグラフィックス処理システムは、次の通りにグラフィックス処理を実行することができる。仮想空間におけるシーンに関する一つ以上の頂点を表すデータを受信する。表示デバイスの画面空間への頂点の投影を実行する。投影は、頂点の投影を曲面ビューポートにおいて近似する。頂点にプリミティブアセンブリを実行して、画面空間における頂点の投影から画面空間内の一つ以上のプリミティブを生成する。一つ以上のプリミティブに走査変換を実行して、一つ以上のプリミティブのうちの対応するプリミティブの部分である、複数個の画素のうちの一つ以上の画素を決定する。次に、対応するプリミティブの部分である一つ以上の画素に画素値を割り当てる画素処理を実行することによって完成フレームを生成する。いくつかの実施態様において、完成フレームを、メモリに保存するまたは表示デバイスに表示することができる。
特定の実施態様において、仮想空間からの頂点をシーンの平面ビューポートにおいて初期に投影することによって、頂点の投影を実行することができる。平面ビューポートは、画面空間の大体等しい立体角に各々が対応する複数個の小区分に再分割される。画面空間座標に変換された各プリミティブに粗いラスタライゼーションを実行して、プリミティブが重なる一つ以上の小区分を決定する。各プリミティブにおいて、プリミティブが重なる各小区分に画面空間補正を実行して、プリミティブの各頂点の座標を、小区分に関連する対応する補正された頂点座標にマッピングする。ここでは、画面空間補正は、プリミティブが重なる各小区分の、曲面ビューポートの複数個の平面の補正された小区分のうちの対応する平面の補正された小区分へのマッピングに相当し、この曲面ビューポートの補正された小区分は、等しい面積を有する。
そのような実施態様では、画面空間補正の実行は、逆正接公式に基づいて導き出された係数を使用した線形変換をプリミティブの一つ以上の頂点の画面空間座標に適用して、対応する補正された頂点を生成することを含むことができる。
そのような実施態様では、補正された小区分ごとに走査変換を実行することができる。ここでは、複数個の小区分のうちの所与の小区分における一つ以上のプリミティブのうちの所与のプリミティブに関して、所与の小区分に関連する所与のプリミティブについての補正された頂点座標を使用して、所与の小区分に位置する所与のプリミティブのその部分に走査変換を実行する。
本開示の態様のいくつかの実施態様において、平面ビューポートの複数個の小区分のうちの小区分は、矩形であっても良い。
本開示の態様のいくつかの実施態様において、頂点の投影、プリミティブアセンブリ及び走査変換は、計算シェーダを用いてソフトウェアに実装される。
本開示の態様のいくつかの代替的な実施態様において、頂点の投影、プリミティブアセンブリ及び走査変換は、ハードウェアに実装される。
本開示の態様のいくつかの実施態様において、表示デバイスは、90度以上の視野によって特徴づけられる。
本開示の態様のいくつかの実施態様において、表示デバイスは、頭部装着型ディスプレイデバイスである。
本開示の態様は、前述の態様に従うグラフィックス処理を実施するように構成された、グラフィックスプロセッシングユニット及びメモリを有するグラフィックス処理システムも含む。
本開示の態様は、実行されたときに、前述の態様に従うグラフィックス処理を実施する、内部に具現化されるコンピュータ実行可能命令を有する非一時的コンピュータ可読媒体も含む。
システム及び装置
本開示の態様は、曲面ビューポート上に頂点の投影を近似することによって、画面位置に基づいて有効画素解像度を変化させるグラフィックス処理を実施するように構成されたグラフィックス処理システムを含む。実施例として、制限的なものではなく、図4Aは、本開示の態様に従うグラフィックス処理を実施するのに使用できるコンピュータシステム400のブロック図を図示する。本開示の態様に従い、システム400は、埋め込みシステム、携帯電話、パーソナルコンピュータ、タブレットコンピュータ、携帯ゲーム機、ワークステーション、ゲームコンソールなどであっても良い。
システム400は、通常、中央プロセッサユニット(CPU)402、グラフィックス・プロセッサ・ユニット(GPU)404、ならびにCPU及びGPUの両方にアクセス可能なメモリ408を含むことができる。CPU402及びGPU404は、各々、一つ以上のプロセッサコア、例えば、単一のコア、二つのコア、四つのコア、八つのコア、またはそれ以上のコアを含むことができる。メモリ408は、例えば、RAM、DRAMなどのアドレス可能メモリを提供する集積回路の形態であっても良い。メモリ408は、グラフィックスリソースを保存し、グラフィックスレンダリングパイプラインに関するデータのグラフィックスバッファ405を一時的に保存できるグラフィックスメモリ428を含むことができる。グラフィックスバッファ405は、例えば、頂点パラメータ値を保存するための頂点バッファVB、頂点インデックスを保存するためのインデックスバッファIB、グラフィックスコンテントの深度値を保存するための深度バッファ(例えば、Z−バッファ)DB、ステンシルバッファSB、ディスプレイに送信すべき完成したフレームを保存するためのフレームバッファFB、及び他のバッファを含むことができる。図4Aに示す実施例では、グラフィックスメモリ428は、メインメモリの一部として示される。代替的な実施態様では、グラフィックスメモリ428は、場合によってはGPU404に一体化された別個のハードウェアコンポーネントであっても良い。
実施例として、制限的なものではなく、CPU402及びGPU404は、データバス409を使用してメモリ408にアクセスできる。場合によっては、システム400に二つ以上の種々のバスを含むことが有用であり得る。メモリ408は、CPU402及びGPU404がアクセスできるデータを含むことができる。GPU404は、グラフィックス処理タスクを並行して実行するように構成された複数個の計算ユニットを含むことができる。各計算ユニットは、ローカルデータ共有などのそれぞれの専用ローカルメモリストアを含むことができる。代替的に、計算ユニットは、その各々が、メモリ408または専用グラフィックスメモリ428にアクセスできる。
CPUは、グラフィックス、コンパイラ及びグラフィックスAPIを利用するアプリケーションを含み得るCPUコード403を実行するように構成できる。グラフィックスAPIは、GPUによって実施されるプログラムに描画コマンドを発行するように構成できる。CPUコード403は、物理学シミュレーション及び他の機能も実装することができる。GPU404は、前述のように動作するように構成できる。特に、GPUは、前述のような計算シェーダCS、頂点シェーダVS及び画素シェーダPSなどのシェーダを実装できるGPUコード403を実行できる。計算シェーダCSと頂点シェーダVSとの間のデータの受け渡しを促進するために、システムは、フレームバッファFBを含み得る一つ以上のバッファ405を含むことができる。GPUコード403は、選択的に、画素シェーダまたはジオメトリシェーダなどの他のタイプのシェーダ(図示せず)も実装することができる。各計算ユニットは、ローカルデータ共有などのそれぞれの専用ローカルメモリストアを含むことができる。GPU404は、グラフィックスパイプラインの一部としてテクスチャをプリミティブに適用するための特定のオペレーションを実行するように構成された一つ以上のテクスチャユニット406を含むことができる。
本開示の特定の態様に従い、CPUコード403及びGPUコード403ならびにシステム400の他の要素は、仮想空間におけるシーンの一つ以上のオブジェクトについての一つ以上の頂点を示す頂点データ432をGPU404が受信するグラフィックスパイプラインを実装するように構成される。頂点データ432は、演算、例えば、CPU402によるCPUコード403の実行によって実施される物理学シミュレーションから生成できる。GPU404は、表示デバイス416の画面空間への頂点の投影を実行する。投影は、頂点の投影を曲面ビューポートにおいて近似する。次に、GPU404は、頂点にプリミティブアセンブリを実行して、画面空間における頂点の投影から画面空間内の一つ以上のプリミティブを生成する。次に、一つ以上のプリミティブに走査変換を実行して、対応するプリミティブの部分である画面空間の画素を決定する。次に、GPU404は、対応するプリミティブの部分である一つ以上の画素に画素値を割り当てる画素処理を実行することによって結果生成される完成フレーム460を生成する。完成フレームは、メモリ408若しくは(例えば、フレームバッファFBにおける)グラフィックスメモリ428に保存する、または表示デバイス416に表示することができる。
画面空間及びグラフィックスパイプラインの他の関連部分における頂点の投影は、ソフトウェアにおいて、例えば、計算シェーダCSとして実装されるフロントエンドによって実行することができる。代替的に、画面空間及びグラフィックスパイプラインの他の関連部分における頂点の投影は、これらの機能を実施するように構成された、特別に設計されたハードウェアコンポーネントHWによって実施できる。
前述の直線逆投影では、計算及びメモリリソースの使用を最適化することによってグラフィックス処理を向上することができる。いくつかの実施態様において、直線逆投影は、光学及びディスプレイ416のFOVに対して静的である。そのような場合、画面小区分ごとの有効画素解像度を、例えば、図4Cに図示するようになるように構成できる。図4Cに示す実施例では、画面416の中央小区分は、完全な解像度を有し、中央から遠い小区分は、次第に低減された解像度を有することが所望される。
本開示の態様は、逆投影が動的である実施態様も含む。例えば、レンダリング効率を改善するために、逆投影を視線追跡と組み合わせて中心窩の解像度を改善することができる。そのような実施態様では、システム400は、ユーザの注視、すなわち、ユーザの眼球が向いているところを追跡し、この情報を、ユーザが見ている対応する画面位置に関連づけるためのハードウェアを含む。そのようなハードウェアの一つの実施例は、表示デバイス416の画面に対する既知の位置にあり、ユーザの概略の方向に向けられたデジタルカメラを含むことができる。デジタルカメラは、ユーザインターフェース418の一部または別個のコンポーネントであっても良い。CPUコード403は、画像解析ソフトウェアを含むことができ、これは、カメラからの画像を解析して、(a)画像内にユーザが居るか否か、(b)ユーザがカメラの方を向いているか否か、(c)ユーザが画面の方を向いているか否か、(d)ユーザの眼球が可視であるか否か、(e)ユーザの頭部と相対的なユーザの眼球の瞳孔の向き、及び(f)カメラと相対的なユーザの頭部の向きを決定することができる。画面に対するカメラの既知の位置及び向き、ユーザの頭部と相対的なユーザの眼球の瞳孔の向き、ならびにカメラと相対的なユーザの頭部の向きから、画像解析ソフトウェアは、ユーザが画面を見ているか否か、そして見ている場合には、ユーザが見ている画面の一部についての画面空間座標を決定することができる。次に、CPUコード403は、これらの画面座標をGPUコード403に送り、これによりGPUコード403は、中心窩部分480を含む一つ以上の小区分(すなわち、ユーザが見ている部分)を決定することができる。次に、GPUコード403は、それに応じて、図4Dに示すように、中心窩部分480を含む一つ以上の小区分における画素解像度が最も高く、中心窩部分から遠い小区分における画素解像度が次第に低減されるように直線逆投影を変更することができる。
いくつかの実施態様において、CPUコード403、GPUコード403及びテクスチャユニット406は、さらに、画面位置依存性の可変画素解像度と併せて、テクスチャマッピングオペレーションについての変更を実施するように構成できる。例えば、画素シェーダPS及びテクスチャユニット406は、画素位置XYごとの一つ以上のテクスチャ座標UVを生成して、一つ以上のテクスチャマッピングオペレーションのための座標セットを提供し、テクスチャ座標UVから勾配値Grを算出し、その勾配値を使用して、プリミティブに適用するための、テクスチャについての詳細度(LOD)を決定するように構成できる。これらの勾配値は、可変解像度ならびにサンプル位置における正規直交性からの逸脱を考慮する為に調節され得る。
実施例として、制限的なものではなく、特別に設計されたハードウェアHW、テクスチャユニット(複数可)406、特定のタイプのシェーダ、及び後述するグラフィックスパイプラインの他の部分は、特定用途向け集積回路(ASIC)、フィールド・プログラマブル・ゲート・アレイ(FPGA)、またはシステムオンチップ(SoCまたはSOC)などの専用ハードウェアによって実装できる。
本明細書に使用され、当業者によって通常理解されるような特定用途向け集積回路(ASIC)は、汎用使用を意図したものではなく、特定の使用向けにカスタマイズされた集積回路である。
本明細書に使用され、当業者によって通常理解されるようなフィールド・プログラマブル・ゲート・アレイ(FPGA)は、製造後に顧客または設計者によって設定される、したがって、「フィールド・プログラマブル」であるように設計された集積回路である。FPGA設定は、通常、ASICに使用されるものに類似するハードウェア記述言語(HDL)を使用して指定される。
本明細書に使用され、当業者によって通常理解されるように、システムオンアチップまたはシステムオンチップ(SoCまたはSOC)は、コンピュータまたは他の電子システムのすべてのコンポーネントを単一チップに集積する集積回路(IC)である。それは、デジタル、アナログ、混合信号及び多くの場合にすべてが単一チップ基板上にある?無線周波数機能を含むことができる。標準的なアプリケーションは、埋め込みシステムの領域に存在する。
標準的なSoCは、以下のハードウェアコンポーネントを含む。
一つ以上のプロセッサコア(例えば、マイクロコントローラ、マイクロプロセッサまたはデジタルシグナルプロセッサ(DSP)コア。
メモリブロック、例えば、リードオンリーメモリ(ROM)、ランダムアクセスメモリ(RAM)、電気的消去可能プログラマブルリードオンリーメモリ(EEPROM)、及びフラッシュメモリ。
発振器または位相ロックループなどのタイミングソース。
カウンタタイマ、リアルタイムタイマまたはパワーオンリセット発電機などの周辺機器。
外部インターフェース、例えば、ユニバーサル・シリアル・バス(USB)、ファイヤーワイヤー、イーサネット(登録商標)、万能非同期送受信機(USART)、シリアル周辺インターフェース(SPI)バスなどの業界標準。
アナログ・デジタル・コンバータ(ADCs)及びデジタル・アナログ・コンバータ(DACs)を含むアナログインターフェース。
電圧レギュレータ及び電源管理回路。
これらのコンポーネントは、所有者のまたは業界標準バスのいずれかによって接続される。ダイレクトメモリアクセス(DMA)コントローラは、外部インターフェースとメモリとの間でデータを直接に送り、プロセッサコアをバイパスすることによってSoCのデータスループットを増大する。
標準的なSoCは、前述のハードウェアコンポーネント、ならびにプロセッサコア(複数可)、周辺機器及びインターフェースを制御する実行可能命令(例えば、ソフトウェアまたはファームウェア)を含む。
いくつかの実施態様において、グラフィックスパイプラインの部分の機能のいくつかまたはすべては、代替的に、例えば、GPU404によって実行される計算シェーダCSとして、ソフトウェアプログラマブル汎用コンピュータプロセッサによって実行される適切に構成されたソフトウェア命令によって実施することができる。そのような命令は、コンピュータ可読媒体、例えば、メモリ408、グラフィックスメモリ428またはストレージデバイス415において具現化することができる。
システム400は、例えば、バス409を通じてシステムの他のコンポーネントと通信できる周知のサポート機能410も含むことができる。そのようなサポート機能は、これらに限定されないが、入出力(I/O)要素411、電源(P/S)412、クロック(CLK)413及びキャッシュ414を含むことができる。キャッシュ414に加えて、GPU404は、それぞれのGPUキャッシュ314Gを含むことができ、このGPUは、GPU404において実行されているプログラムがGPUキャッシュ414Gをリードスルーまたはライトスルーできるように構成できる。
システム400は、レンダリングされたグラフィックス417をユーザに提示するための表示デバイス416を含むことができる。代替的な実施態様では、表示デバイス416は、システム400とともに稼働する別個のコンポーネントである。表示デバイス416は、フラットパネルディスプレイ、頭部装着型ディスプレイ(HMD)、陰極線管(CRT)画面、プロジェクタ、または可視のテキスト、数字、グラフィカルシンボル若しくは画像を表示できる他のデバイスの形態であっても良い。特に有用な実施態様では、ディスプレイ416は、90度以上の視野(例えば、114度以上)をもつ画面を有する広視野(FOV)デバイスである。表示デバイス416は、本明細書に記述したさまざまな技術に従い処理されたレンダリングされたグラフィック画像417(例えば、完成フレーム460)を表示する。
システム400は、選択的に、ディスクドライブ、CD−ROMドライブ、フラッシュメモリ、テープドライブ、またはプログラム及び/若しくはデータを保存する同類のものなどのマスストレージデバイス415を含むことができる。システム400は、選択的に、システム400とユーザとの間の相互作用を促進するユーザインターフェースユニット418も含むことができる。ユーザインターフェース418は、キーボード、マウス、ジョイスティック、ライトペン、ゲームコントローラ、またはグラフィカルユーザインターフェース(GUI)とともに使用できる他のデバイスを含むことができる。システム400は、ネットワーク422を通じてデバイスを他のデバイスと通信させることができるネットワークインターフェース420も含むことができる。ネットワーク422は、例えば、ローカルエリアネットワーク(LAN)、インターネットなどの広域ネットワーク、ブルートゥース(登録商標)ネットワークなどのパーソナル・エリア・ネットワーク、または他のタイプのネットワークであっても良い。これらのコンポーネントは、ハードウェア、ソフトウェア若しくはファームウェア、またはこれらの二つ以上のいくつかの組み合わせにおいて実施することができる。
グラフィックスパイプライン
本開示の態様に従い、システム400は、グラフィックスレンダリングパイプラインの一部を実装するように構成される。図4Bは、本開示の態様に従うグラフィックスレンダリングパイプライン430の実施例を図示する。
レンダリングパイプライン430は、仮想空間(本明細書において「世界空間」とも呼ばれることがある)内に二次元または好ましくは三次元ジオメトリを有するシーンを表現する画像としてグラフィックスをレンダリングするように構成できる。パイプラインの早期のステージは、表示デバイス416に出力するのに適切な離散的ピクチャエレメントのセットとしてシーンが画面空間においてラスタライズ及び変換される前に仮想空間において実行されるオペレーションを含むことができる。パイプライン全体を通じて、グラフィックスメモリ428内に収容されたさまざまなリソースを、パイプラインステージにおいて利用でき、ステージへの入力及び出力を、画像の最終値を決定する前に、グラフィックスメモリ内に収容されたバッファに一時的に保存することができる。
レンダリングパイプラインは、仮想空間内にセットアップされた頂点のセットによって画定された一つ以上の仮想オブジェクトを含み、そしてシーンにおける座標に関して画定されたジオメトリを有する入力データ432に関して動作することができる。パイプラインの早期のステージは、図4Bにおける頂点処理ステージ434として広く分類されたものを含むことができ、これは、仮想空間内のオブジェクトの頂点を処理するためのさまざまな計算を含むことができる。これは、例えば、位置値(例えば、X−Y座標及びZ深度値)、色彩値、照明値、テクスチャ座標などの、シーン内の頂点のさまざまなパラメータ値を操作できる頂点シェーディング計算436を含むことができる。好ましくは、頂点シェーディング計算436は、GPU404の一つ以上のプログラマブル頂点シェーダVSによって実行される。頂点処理ステージは、選択的に、モザイク細工などの追加の頂点処理計算、ならびに選択的に、仮想空間内に新規の頂点及び新規のジオメトリを生成するのに使用できるジオメトリシェーダ計算438を含むことができる。モザイク細工計算は、シーンジオメトリ及びジオメトリシェーディング計算を再分割して、CPUコード403によって実装されるアプリケーションにおけるそれらの初期のセットアップに勝る新規のシーンジオメトリを生成する。頂点処理ステージ434が完了すると、頂点のセットパラメータ値439をその各々が有する頂点のセットによってシーンが画定される。頂点パラメータ値は、テクスチャ座標、接線、照明値、色彩、位置などを含むことができる。
次に、パイプライン430は、シーンジオメトリの画面空間内及び離散的ピクチャエレメントのセット、すなわち、画素への変換に関連するラスタライゼーション処理ステージ440において処理することができる。仮想空間ジオメトリ(三次元であり得る)は、オブジェクトの投影及び仮想空間からシーンのビューイングウィンドウ(または「ビューポート)までの頂点を本質的に計算できるオペレーションを通じて画面空間ジオメトリ(通常、二次元)に変換される。頂点のサブセットは、画面空間におけるプリミティブのセットを規定するようにグループ化される。本開示の態様に従い、ラスタライゼーションステージ440は、頂点の投影を曲面ビューポートにおいて近似する。
本開示の態様に従い、グラフィックスパイプライン430は、ラスタライゼーションステージについてのフロントエンド441を含む。フロントエンドは、ラスタライゼーションステージの一部として、または頂点処理434とラスタライゼーションステージ440との間の中間ステージとして実装できる。図4Bに描写する実施例では、フロントエンド441は、ラスタライゼーションステージ440の一部として示される。しかしながら、本開示の態様は、そのような実施態様に限定されない。特定の実施態様において、フロントエンド441は、全体的にまたは部分的に、GPU404において実行されている計算シェーダCSとして実装される。しかしながら、本開示の態様は、そのような実施態様に限定されない。
フロントエンド441のオペレーション及び本開示の関連する態様は、図4A及び図4Bを参照して理解することができる。
図4Bに描写するラスタライゼーション処理ステージ440は、シーン内の頂点の各セットによって規定されたプリミティブをセットアップできるプリミティブアセンブリオペレーション442を含む。各頂点は、インデックスによって規定することができ、各プリミティブは、これらの頂点インデックスに関して規定でき、これは、グラフィックスメモリ428内のインデックスバッファIB内に保存することができる。プリミティブは、好ましくは、各々の三つの頂点によって画定された三角形を含む。ただし、点プリミティブ、線プリミティブ、及び他の多角形状も含みことができる。プリミティブアセンブリステージ442中、選択的に、特定のプリミティブをカリングすることができる。例えば、そのインデックスが特定のワインディングオーダーを示すそれらのプリミティブをバックフェーシングとみなし、シーンからカリングすることができる。
実施例として、制限的なものではなく、プリミティブが、三次元仮想空間内の、頂点によって画定された三角形の形態である場合には、プリミティブアセンブリは、ディスプレイ416の画面上の各三角形が位置する所を決定する。通常、プリミティブアセンブリユニット442によってクリッピング及び画面空間変換オペレーションが実行される。図5に描写する実施例では、フロントエンド441は、502に示すような各頂点についての画面空間座標を決定する。特定の実施態様において、画面空間座標は、例えば、シーンの平面ビューポート上の、仮想空間内の頂点の位置の初期の投影を計算することによって計算される。平面ビューポートは、複数の小区分に再分割される。各小区分は、例えば、図3に示すように、画面空間の大体等しい立体角に対応する。フロントエンド441は、この処理の一部でバックフェーシングされたプリミティブ510を検出及び除去できるので、画面空間座標に変換された各プリミティブに粗いラスタライゼーションを実行して、プリミティブが重なる一つ以上の小区分を決定する。画面空間に変換された各プリミティブにおいて、フロントエンド441は、プリミティブが重なる各小区分に画面空間補正506を実行して、プリミティブの各頂点の座標を、対応する補正された頂点座標にマッピングする。画面空間補正506は、プリミティブが重なる各小区分の、曲面ビューポートの複数個の平面の補正された小区分のうちの対応する平面の補正された小区分へのマッピングに相当し、この曲面ビューポートの補正された小区分は、等しい面積を有する。
特定の実施態様において、502における頂点座標の補正は、次の通りの、座標(H,V)の頂点の、各小区分についての対応する補正された頂点座標(H’,V’)への区分線形逆正接変換を伴う。
H’=(H[i]<H<H[i+1])となるようなiにおいて、
H’[i]+(H’[i+1]−H’[i])*(H−H[i])/(H[i+1]−H[i])
V’=(V[j]<V<V[j+1])となるようなjにおいて、
V’[j]+(V’[j+1]−V’[j])*(V−V[j])/(V[j+1]−V[j])
式中、H[i]及びV[j]は、増大する順序においてセットとして選択された対応する一定の画素領域空間境界H’[i]及びV’[j]から次の通りに導き出された線形画面空間境界である。
H[i]=tan(H’[i]*FOV/2)/tan(FOV/2)
V[j]=tan(V’[j]*FOV/2)/tan(FOV/2)
特定の実施態様において、物理的な光学を備えたHMD及び類似のディスプレイにおいて、これらの画面境界についての方程式は、各表示画素への等しい立体角の理想的なマッピングからの光学の偏差を考慮して調節できる。
特定の実施態様において、補正された頂点座標は、頂点座標を小区分に関連付ける情報の注釈を付けられる。これらの実施態様において、プリミティブアセンブリステージ442は、補正された頂点座標の注釈を確認して、走査変換444オペレーションにおいて小区分を処理する適切なGPUコンポーネントのみにプリミティブを送信する。走査変換444は、小区分ごとの基準においてのみ各プリミティブを処理する、例えば、各プリミティブは、注釈によって示された小区分においてのみ処理される。
走査変換オペレーション444は、プリミティブを各画素にサンプリングし、サンプルがプリミティブによって含有されたときに、さらなる処理のためにプリミティブからフラグメント(画素と呼ばれることもある)を生成する。走査変換オペレーションは、画面空間座標に変換されたプリミティブを取り込み、そのプリミティブの部分である画素を決定するオペレーションを含む。いくつかの実施態様において、複数のサンプルは、走査変換オペレーション444期間にプリミティブ内に取り込まれ、これはアンチエイリアス処理のために使用できる。特定の実施態様において、種々の画素は、異なるようにサンプリングすることができる。例えば、頭部装着型ディスプレイ(HMDs)などの特定のタイプの表示デバイス416におけるレンダリングの特定の態様を最適化するために、いくつかのエッジ画素のサンプリング密度を中央画素よりも低くすることができる。走査変換444期間にプリミティブから生成されたフラグメント(または「画素」)は、それらを作り出したプリミティブの頂点の頂点パラメータ値439から画素の位置を補間できるパラメータ値を有することができる。ラスタライゼーションステージ440は、パイプラインの後のステージにおけるさらなる処理のための入力として使用できる、これらの補間されたフラグメントパラメータ値449を計算するためのパラメータ補間オペレーション446ステージを含むことができる。
本開示の態様に従い、プリミティブアセンブリ442と走査変換444との間に、画面の種々の小区分が種々の画素解像度を有するという事実を考慮して特定のオペレーションを行う。特定の実施態様において、プリミティブの頂点についての画面位置が既知になると、プリミティブが重なる所定のすべての画面小区分(本明細書において粗いラスタライゼーションタイルまたはスーパータイルと呼ばれることもある)を検出するために、粗いラスタライゼーション443を行うことができる。プリミティブが重なる各小区分において、プリミティブについての頂点位置は、小区分の画素解像度を考慮して調節される。走査変換444及びその後の処理ステージは、関連性のある一つ以上の小区分についての規定の数のアクティブ画素にのみ画素処理を実行することによって最終画素値を生成する。
特定の実施態様において、GPU404は、ソフトウェアにおける小区分と、ハードウェアにおける頂点の投影、プリミティブアセンブリ及び走査変換との間の、プリミティブの粗野な分割を実施するように構成される。いくつかのそのような実施態様において、GPU404は、ソフトウェアにおけるプリミティブ頂点を、ハードウェアに実装されるパレットから画面空間投影及びビューポートをその各々が選択する小区分インデックスに関連付けるように構成される。他のそのような実施態様では、GPU404は、ソフトウェアにおけるプリミティブ頂点インデックスを、ハードウェアに実装されるパレットから画面空間投影及びビューポートをその各々が選択する小区分インデックスに関連付けるように構成される。
グラフィックスパイプライン430は、さらに、補間されたパラメータ値449をさらに操作し、ディスプレイ416における最終画素値にフラグメントがどのようにして寄与するかを決定するさらなるオペレーションを実行するための、図4Bの450に概して示される画素処理オペレーションを含む。本開示の態様に従い、これらのタスクは、従来の様式において実行できる。画素処理タスクは、フラグメントの補間されたパラメータ値449をさらに操作する画素シェーディング計算452を含む。画素シェーディング計算452は、GPU404内のプログラマブル画素シェーダまたは特設ハードウェアによって実行できる。画素シェーダ起動448は、ラスタライゼーション処理ステージ440期間にプリミティブのサンプリングに基づいて起動することができる。画素シェーディング計算452は、グラフィックスメモリ428内の一つ以上のバッファ405に値を出力することができる。レンダーターゲットRTまたは複数ある場合にはマルチプルレンダーターゲット(MRTs)と呼ばれることもある値を、グラフィックスメモリ428内の一つ以上のバッファ405に出力することができる。MRTによって、画素シェーダは、選択的に、その各々が同じ画面寸法であるが、異なる画素フォーマットをもつ可能性もある二つ以上のレンダーターゲットを出力することができる。
画素処理オペレーション450は、通常、一つ以上のシェーダ(例えば、画素シェーダPS、計算シェーダCS、頂点シェーダVSまたは他のタイプのシェーダ)、及びテクスチャユニット406によってある程度実行できるテクスチャマッピングオペレーション454を含む。画素シェーダ計算452は、画面空間座標XYからテクスチャ座標UVを算出することと、テクスチャ座標をテクスチャオペレーション454に送信することと、及びテクスチャデータTXを受信することと、を含む。テクスチャ座標UVは、任意の様式において画面空間座標XYから算出することができるが、典型的には、補間された入力値または時折、以前のテクスチャオペレーションの結果から算出される。勾配Grは、多くの場合、テクスチャユニット406(テクスチャオペレーションハードウェアユニット)によってテクスチャ座標のクワッドから直接に算出されるが、選択的に、デフォルト演算を実行するテクスチャユニット406に依存せずに、画素シェーダ計算452によって明確に算出し、テクスチャオペレーション454に送ることができる。
テクスチャオペレーション456は、画素シェーダPS及びテクスチャユニット406のいくつかの組み合わせによって実行できる以下のステージを含む。第一に、画素位置XYごとの一つ以上のテクスチャ座標UVを生成し、これを使用して、各テクスチャマッピングオペレーションに座標セットを提供する。勾配値Grをテクスチャ座標UVから算出し、これを使用して、プリミティブに適用するための、テクスチャについての詳細度(LOD)を決定する。
画素処理450は、通常、ラスタオペレーション(ROP)として一般に公知のものを含み得るレンダ出力オペレーション456で完結する。ラスタライゼーションオペレーション(ROP)は、単に、マルチプルレンダーターゲット(MRTs)のうちの各レンダーターゲットに1回ずつ、画素ごとに複数回実行される。出力オペレーション456中、選択的に、フラグメントの結合、ステンシルの適用、深度試験、及びサンプル処理タスクごとの特定の処理を含み得る、フレームバッファにおける最終画素値459を決定することができる。最終画素値459は、すべてのアクティブレンダーターゲット(MRTs)についての収集した出力を含む。GPU404は、最終画素値459を使用して完成フレーム460を構成し、これは選択的に、リアルタイムで表示デバイス416の画素に表示できる。
追加の態様
本開示の追加の態様は、
仮想空間におけるシーンに関する一つ以上の頂点を表すデータを受信することと、
複数個の画素を有する表示デバイスの画面空間への頂点の投影であって、頂点の投影を曲面ビューポートにおいて近似する投影を実行することと、
頂点にプリミティブアセンブリを実行して、画面空間における頂点の投影から画面空間内の一つ以上のプリミティブを生成することと、
一つ以上のプリミティブに走査変換を実行して、一つ以上のプリミティブのうちの対応するプリミティブの部分である、複数個の画素のうちの一つ以上の画素を決定することと、
対応するプリミティブの部分である一つ以上の画素に画素値を割り当てる画素処理を実行することによって完成フレームを生成することと、を含むグラフィックス処理方法を含む。
前述の方法のいくつかの実施態様において、完成フレームを、メモリに保存するまたは表示デバイスに表示する。
別の追加の態様は、実行されたときに、前述の方法を実施する、内部に具現化されるコンピュータ実行可能命令を有するコンピュータ可読媒体である。
なおも別の追加の態様は、前述の方法を実施するためのプログラムコード命令を含むことを特徴とする、通信ネットワークからダウンロード可能な、ならびに/またはコンピュータ可読及び/若しくはマイクロプロセッサ実行可能な媒体に保存されたコンピュータプログラム製品である。
さらなる態様は、前述の方法を実施するための、電磁または他の信号伝送コンピュータ可読命令である。
本発明の別の態様は、頂点及び/または画素データを処理して、二つの種々の小区分におけるシーンの部分が、異なる有効画素解像度を有するように、表示デバイスに表示されるシーンのビューポートについての最終画素値を生成するグラフィックス処理方法である。
いくつかの実施態様において、方法は、さらに、ユーザが見ている表示デバイスの画面の一部を決定することと、及びユーザが見ている部分を含む一つ以上の小区分における有効画素解像度が最も高くなるように画素解像度を変化させることと、を含む。
追加の態様は、前述の方法を実施するように構成されたコンピュータグラフィックス装置である。
別の追加の態様は、実行されたときに、前述の方法を実施する、内部に具現化されるコンピュータ実行可能命令を有するコンピュータ可読媒体である。
なおも別の追加の態様は、前述の方法を実施するためのプログラムコード命令を含むことを特徴とする、通信ネットワークからダウンロード可能な、ならびに/またはコンピュータ可読及び/若しくはマイクロプロセッサ実行可能な媒体に保存されたコンピュータプログラム製品である。
さらなる追加の態様は、前述の方法を実施するための、電磁または他の信号伝送コンピュータ可読命令である。
前述は、本発明の好ましい実施形態の完全な記述であるが、さまざまな代替物、変更物及び均等物を使用することができる。故に、本発明の範囲は、均等物の完全な範囲とともに、前の記述を参照して決定すべきではなく、代わりに、添付の特許請求の範囲を参照して決定すべきである。本明細書に記述した任意の特徴は、好ましいか否かにかかわらず、本明細書に記述した任意の他の特徴と組み合わせることができる。以下の特許請求の範囲においては、不定冠詞「A」または「An」は、別な様に明白に記述されていない限り、冠詞に続くアイテムの一つ以上の数量を意味する。添付の特許請求の範囲は、そのような制限が、成句「means for」を使用して所与の特許請求の範囲において明確に説明されていない限り、ミーンズプラスファンクション限定を含むものとして解釈されない。

Claims (33)

  1. グラフィックスプロセッシングユニット及びメモリを有するグラフィックス処理システムを用いたグラフィックス処理方法であって、
    複数個の画素を有する表示デバイス上に仮想空間におけるシーンをレンダリングする前に、前記シーンに対する一つ以上の頂点の画面空間への数学的投影を実行するステップを含み、
    前記数学的投影は、前記頂点をフラットな画面空間へ数学的に投影し、それに続いて、略等しい立体角を示す前記フラットな画面空間の小区分を略等面積の対応する小区分へ変換することによって、前記頂点の曲面ビューポートへの投影を近似し、それによって、レンダリングされるべき前記画面空間の有効面積を減らすものであり、
    前記頂点にプリミティブアセンブリを実行して一つ以上のプリミティブを生成する前に前記数学的投影を実行することが、レンダリングに関連付けられた計算負荷を減少し、
    前記プリミティブを用いて生成された完成フレームを前記メモリに保存するまたは前記完成フレームを前記表示デバイスに表示するステップを含む、方法。
  2. 前記頂点の前記投影を実行するステップが、
    前記シーンの平面ビューポートであって、複数個の小区分に再分割された前記平面ビューポート上に、仮想空間からの前記頂点の初期の投影を計算するステップであって、前記複数個のうちの各小区分が前記画面空間の略等しい立体角に対応する、前記初期の投影を計算するステップと、
    画面空間座標に変換された各プリミティブに粗いラスタライゼーションを実行して、どの一つ以上の小区分が前記プリミティブに重なるかを決定するステップと、
    前記一つ以上のプリミティブの各プリミティブにおいて、前記プリミティブが重なる各小区分に画面空間補正を実行して、前記プリミティブの各頂点の前記座標を、前記小区分に関連する対応する補正された頂点座標にマッピングするステップとを含み、前記画面空間補正が、前記プリミティブが重なる各小区分の、前記曲面ビューポートの複数個の平面の補正された小区分のうちの対応する平面の補正された小区分へのマッピングに相当し、前記曲面ビューポートの前記補正された小区分が等しい面積を有する、請求項1に記載の方法。
  3. 前記画面空間補正を実行するステップが、逆正接公式の区分線形近似を前記プリミティブの一つ以上の頂点の画面空間座標に適用して対応する補正された頂点を生成することを伴う計算を実行するステップを含む、請求項2に記載の方法。
  4. 前記画面空間補正を実行するステップが、表示デバイスにおける物理的な光学によって生成された前記画像歪みの区分線形近似を前記プリミティブの一つ以上の頂点の画面空間座標に適用して対応する補正された頂点を生成することを伴う計算を実行するステップを含む、請求項2に記載の方法。
  5. 前記一つ以上のプリミティブに走査変換を実行して、前記複数個の画素のうちのどの一つ以上の画素が前記一つ以上のプリミティブのうちの対応するプリミティブの部分であるかを決定するステップと、
    前記対応するプリミティブの部分である前記一つ以上の画素に画素値を割り当てる画素処理を実行することによって前記完成フレームを生成するステップとをさらに含み、
    前記走査変換が補正された小区分ごとに実行され、前記複数個の小区分のうちの所与の小区分における前記一つ以上のプリミティブのうちの所与のプリミティブに関して、前記補正された頂点座標を使用して、前記所与の小区分に関連する前記所与のプリミティブについての、前記所与の小区分に位置する前記所与のプリミティブのその部分に走査変換を実行する、請求項2に記載の方法。
  6. 前記平面ビューポートの前記複数個の小区分のうちの前記小区分が矩形である、請求項2に記載の方法。
  7. 前記頂点の前記投影、プリミティブアセンブリ及び走査変換が、計算シェーダを用いてソフトウェアに実装される、請求項1に記載の方法。
  8. 前記頂点の前記投影、プリミティブアセンブリ及び走査変換が、ハードウェアに実装される、請求項1に記載の方法。
  9. ユーザが見ている前記表示デバイスの画面の一部を決定するステップをさらに含み、前記投影が、前記ユーザが見ている前記部分を含む前記画面の一つ以上の小区分における有効画素解像度が最も高くなるように前記有効画素解像度を変化させるように設定された、請求項1に記載の方法。
  10. 前記投影が、所与の光学及び前記表示デバイスの視野に対して静的である、請求項1に記載の方法。
  11. 前記投影が、所与の光学及び前記表示デバイスの視野に対して静的であり、前記投影が、前記画面の一つ以上の中央小区分が完全な有効画素解像度を有し、中央から遠い小区分が、次第に低減された有効画素解像度を有するように設定された、請求項1に記載の方法。
  12. 前記表示デバイスが90度以上の視野によって特徴づけられた、請求項1に記載の方法。
  13. 前記表示デバイスが頭部装着型ディスプレイデバイスである、請求項1に記載の方法。
  14. グラフィックス処理のためのシステムであって、
    グラフィックスプロセッシングユニット(GPU)と、
    メモリとを備え、
    前記GPUが、複数個の画素を有する表示デバイス上に仮想空間におけるシーンをレンダリングする前に、前記シーンに対する一つ以上の頂点の画面空間への数学的投影を実行するように構成され、
    前記数学的投影は、前記頂点をフラットな画面空間へ数学的に投影し、それに続いて、略等しい立体角を示す前記フラットな画面空間の小区分を略等面積の対応する小区分へ変換することによって、前記頂点の曲面ビューポートへの投影を近似し、それによって、レンダリングされるべき前記画面空間の有効面積を減らすものであり、
    前記頂点にプリミティブアセンブリを実行して一つ以上のプリミティブを生成する前に前記数学的投影を実行することが、レンダリングに関連付けられた計算負荷を減少し、
    前記GPUが、前記プリミティブを用いて生成された完成フレームを前記メモリに保存するまたは前記完成フレームを前記表示デバイスに表示するように構成された、システム。
  15. 前記シーンの平面ビューポートであって、複数個の小区分に再分割された前記平面ビューポート上に、仮想空間からの前記頂点の初期の投影を計算することであって、前記複数個のうちの各小区分が前記画面空間の大体等しい立体角に対応する、前記初期の投影を計算することと、
    画面空間座標に変換された各プリミティブに粗いラスタライゼーションを実行して、どの一つ以上の小区分が前記プリミティブに重なるかを決定することと、及び
    前記一つ以上のプリミティブの各プリミティブにおいて、前記プリミティブが重なる各小区分に画面空間補正を実行して、前記プリミティブの各頂点の前記座標を、前記小区分に関連する対応する補正された頂点座標にマッピングすることであって、前記画面空間補正が、前記プリミティブが重なる各小区分の、前記曲面ビューポートの複数個の平面の補正された小区分のうちの対応する平面の補正された小区分へのマッピングに相当する、前記マッピングすることと、によって、前記GPUが前記頂点の前記投影を実行するように構成された、請求項14に記載のシステム。
  16. 前記GPUが、逆正接公式の区分線形近似を前記プリミティブの一つ以上の頂点の画面空間座標に適用して対応する補正された頂点を生成することを伴う計算を実行することによって、前記画面空間補正を実行するように構成された、請求項15に記載のシステム。
  17. 前記GPUが、表示デバイスにおける物理的な光学によって生成された画像歪みの区分線形近似を前記プリミティブの一つ以上の頂点の画面空間座標に適用して対応する補正された頂点を生成することを伴う計算を実行することによって、前記画面空間補正を実行するように構成された、請求項15に記載のシステム。
  18. 前記GPUが、前記一つ以上のプリミティブに走査変換を実行して、前記複数個の画素のうちのどの一つ以上の画素が前記一つ以上のプリミティブのうちの対応するプリミティブの部分であるかを決定するように構成され、
    前記GPUが、前記対応するプリミティブの部分である前記一つ以上の画素に画素値を割り当てる画素処理を実行することによって前記完成フレームを生成するように構成され、
    前記GPUが、補正された小区分ごとに前記走査変換を実行するように構成されており、前記複数個の小区分のうちの所与の小区分における前記一つ以上のプリミティブのうちの所与のプリミティブに関して、前記GPUが、前記所与の小区分に関連する前記所与のプリミティブについての、前記補正された頂点座標を使用して、前記所与の小区分に位置する前記所与のプリミティブのその部分に前記走査変換を実行する、請求項15に記載のシステム。
  19. 前記平面ビューポートの前記複数個の小区分のうちの前記小区分が矩形である、請求項15に記載のシステム。
  20. 前記曲面ビューポートの前記補正された小区分が等しい面積を有する、請求項15に記載のシステム。
  21. 前記平面ビューポートの前記複数個の小区分のうちの前記小区分が矩形である、請求項20に記載のシステム。
  22. 前記GPUが、前記頂点の投影、プリミティブアセンブリ及び走査変換を、計算シェーダを用いてソフトウェアに実装するように構成された、請求項14に記載のシステム。
  23. 前記GPUが、前記頂点の前記投影、プリミティブアセンブリ及び走査変換をハードウェアに実装するように構成された、請求項14に記載のシステム。
  24. 前記GPUが、ソフトウェアにおける小区分と、ハードウェアにおける前記頂点の前記投影、プリミティブアセンブリ及び走査変換との間の、プリミティブの粗野な分割を実施するように構成された、請求項14に記載のシステム。
  25. 前記GPUが、ハードウェアに実装されるパレットから画面空間投影及びビューポートをその各々が選択する小区分インデックスを、ソフトウェアにおけるプリミティブ頂点に関連付けるように構成された、請求項24に記載のシステム。
  26. 前記GPUが、ハードウェアに実装されるパレットから画面空間投影及びビューポートをその各々が選択する小区分インデックスを、ソフトウェアにおけるプリミティブ頂点インデックスに関連付けるように構成された、請求項24に記載のシステム。
  27. 前記表示デバイスをさらに備えた、請求項14に記載のシステム。
  28. 前記表示デバイスが90度以上の視野によって特徴づけられた、請求項14に記載のシステム。
  29. 前記表示デバイスが頭部装着型ディスプレイデバイスである、請求項14に記載のシステム。
  30. 当該システムが、ユーザが見ている前記表示デバイスの画面の一部を決定するように構成されており、前記投影が、前記ユーザが見ている前記部分を含む前記画面の一つ以上の小区分における有効画素解像度が最も高くなるように前記有効画素解像度を変化させるように設定された、請求項14に記載のシステム。
  31. 前記投影が、所与の光学及び前記表示デバイスの視野に対して静的である、請求項14に記載のシステム。
  32. 前記投影が、所与の光学及び前記表示デバイスの視野に対して静的であり、前記投影が、前記画面の一つ以上の中央小区分が完全な有効画素解像度を有し、前記中央から遠い小区分が、次第に低減された有効画素解像度を有するように設定された、請求項14に記載のシステム。
  33. 実行されたときに、請求項1に記載の前記方法を実施する、内部に具現化されるコンピュータ実行可能命令を有する非一時的コンピュータ可読媒体。
JP2018082884A 2014-04-05 2018-04-24 曲面ビューポート上に頂点の投影を近似することによる、グラフィックス処理における画面位置に基づく有効解像度の変化 Active JP6712366B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2020022730A JP6903183B2 (ja) 2014-04-05 2020-02-13 曲面ビューポート上に頂点の投影を近似することによる、グラフィックス処理における画面位置に基づく有効解像度の変化

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14/246,066 2014-04-05
US14/246,066 US9836816B2 (en) 2014-04-05 2014-04-05 Varying effective resolution by screen location in graphics processing by approximating projection of vertices onto curved viewport

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2016559961A Division JP6333405B2 (ja) 2014-04-05 2015-03-23 曲面ビューポート上に頂点の投影を近似することによる、グラフィックス処理における画面位置に基づく有効解像度の変化

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2020022730A Division JP6903183B2 (ja) 2014-04-05 2020-02-13 曲面ビューポート上に頂点の投影を近似することによる、グラフィックス処理における画面位置に基づく有効解像度の変化

Publications (2)

Publication Number Publication Date
JP2018156666A true JP2018156666A (ja) 2018-10-04
JP6712366B2 JP6712366B2 (ja) 2020-06-24

Family

ID=54210196

Family Applications (3)

Application Number Title Priority Date Filing Date
JP2016559961A Active JP6333405B2 (ja) 2014-04-05 2015-03-23 曲面ビューポート上に頂点の投影を近似することによる、グラフィックス処理における画面位置に基づく有効解像度の変化
JP2018082884A Active JP6712366B2 (ja) 2014-04-05 2018-04-24 曲面ビューポート上に頂点の投影を近似することによる、グラフィックス処理における画面位置に基づく有効解像度の変化
JP2020022730A Active JP6903183B2 (ja) 2014-04-05 2020-02-13 曲面ビューポート上に頂点の投影を近似することによる、グラフィックス処理における画面位置に基づく有効解像度の変化

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2016559961A Active JP6333405B2 (ja) 2014-04-05 2015-03-23 曲面ビューポート上に頂点の投影を近似することによる、グラフィックス処理における画面位置に基づく有効解像度の変化

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2020022730A Active JP6903183B2 (ja) 2014-04-05 2020-02-13 曲面ビューポート上に頂点の投影を近似することによる、グラフィックス処理における画面位置に基づく有効解像度の変化

Country Status (6)

Country Link
US (2) US9836816B2 (ja)
EP (2) EP3716216A1 (ja)
JP (3) JP6333405B2 (ja)
KR (1) KR101964611B1 (ja)
TW (1) TWI578266B (ja)
WO (1) WO2015153169A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021015156A (ja) * 2019-07-10 2021-02-12 株式会社ソニー・インタラクティブエンタテインメント 画像表示装置、画像表示システムおよび画像表示方法

Families Citing this family (49)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10783696B2 (en) 2014-04-05 2020-09-22 Sony Interactive Entertainment LLC Gradient adjustment for texture mapping to non-orthonormal grid
US9836816B2 (en) 2014-04-05 2017-12-05 Sony Interactive Entertainment America Llc Varying effective resolution by screen location in graphics processing by approximating projection of vertices onto curved viewport
US9710881B2 (en) 2014-04-05 2017-07-18 Sony Interactive Entertainment America Llc Varying effective resolution by screen location by altering rasterization parameters
US10068311B2 (en) 2014-04-05 2018-09-04 Sony Interacive Entertainment LLC Varying effective resolution by screen location by changing active color sample count within multiple render targets
US9652882B2 (en) 2014-04-05 2017-05-16 Sony Interactive Entertainment America Llc Gradient adjustment for texture mapping for multiple render targets with resolution that varies by screen location
US9495790B2 (en) 2014-04-05 2016-11-15 Sony Interactive Entertainment America Llc Gradient adjustment for texture mapping to non-orthonormal grid
US11302054B2 (en) 2014-04-05 2022-04-12 Sony Interactive Entertainment Europe Limited Varying effective resolution by screen location by changing active color sample count within multiple render targets
WO2015154004A1 (en) 2014-04-05 2015-10-08 Sony Computer Entertainment America Llc Method for efficient re-rendering objects to vary viewports and under varying rendering and rasterization parameters
US9865074B2 (en) 2014-04-05 2018-01-09 Sony Interactive Entertainment America Llc Method for efficient construction of high resolution display buffers
US9760113B2 (en) 2015-02-20 2017-09-12 Sony Interactive Entertainment America Llc Backward compatibility through use of spoof clock and fine grain frequency control
US9704217B2 (en) 2015-04-20 2017-07-11 Intel Corporation Apparatus and method for non-uniform frame buffer rasterization
US11403099B2 (en) 2015-07-27 2022-08-02 Sony Interactive Entertainment LLC Backward compatibility by restriction of hardware resources
US10235219B2 (en) 2015-07-27 2019-03-19 Sony Interactive Entertainment America Llc Backward compatibility by algorithm matching, disabling features, or throttling performance
US9857871B2 (en) 2015-09-04 2018-01-02 Sony Interactive Entertainment Inc. Apparatus and method for dynamic graphics rendering based on saccade detection
US10726619B2 (en) 2015-10-29 2020-07-28 Sony Interactive Entertainment Inc. Foveated geometry tessellation
US9892024B2 (en) 2015-11-02 2018-02-13 Sony Interactive Entertainment America Llc Backward compatibility testing of software in a mode that disrupts timing
WO2017127634A1 (en) 2016-01-22 2017-07-27 Sony Interactive Entertainment Inc Simulating legacy bus behavior for backwards compatibility
KR102455675B1 (ko) 2016-01-22 2022-10-17 주식회사 소니 인터랙티브 엔터테인먼트 하위 호환성을 위한 cpuid 스푸핑
US9972066B1 (en) * 2016-03-16 2018-05-15 Gopro, Inc. Systems and methods for providing variable image projection for spherical visual content
US10915333B2 (en) 2016-03-30 2021-02-09 Sony Interactive Entertainment Inc. Deriving application-specific operating parameters for backwards compatiblity
US10275239B2 (en) 2016-03-30 2019-04-30 Sony Interactive Entertainment Inc. Deriving application-specific operating parameters for backwards compatiblity
US10303488B2 (en) 2016-03-30 2019-05-28 Sony Interactive Entertainment Inc. Real-time adjustment of application-specific operating parameters for backwards compatibility
US10401952B2 (en) 2016-03-31 2019-09-03 Sony Interactive Entertainment Inc. Reducing rendering computation and power consumption by detecting saccades and blinks
US10152819B2 (en) 2016-08-15 2018-12-11 Microsoft Technology Licensing, Llc Variable rate shading
GB2553353B (en) * 2016-09-05 2021-11-24 Advanced Risc Mach Ltd Graphics processing systems and graphics processors
KR102650215B1 (ko) * 2016-10-18 2024-03-21 삼성전자주식회사 영상 처리 방법 및 장치
WO2018134946A1 (ja) * 2017-01-19 2018-07-26 株式会社ソニー・インタラクティブエンタテインメント 画像生成装置、及び画像表示制御装置
US10147227B2 (en) * 2017-02-17 2018-12-04 Microsoft Technology Licensing, Llc Variable rate shading
US10546365B2 (en) * 2017-03-27 2020-01-28 Advanced Micro Devices, Inc. Single pass flexible screen/scale rasterization
CN107146274B (zh) 2017-05-05 2021-06-22 上海兆芯集成电路有限公司 图像数据处理系统、纹理贴图压缩和产生全景视频的方法
US10685473B2 (en) * 2017-05-31 2020-06-16 Vmware, Inc. Emulation of geometry shaders and stream output using compute shaders
CN110770796B (zh) * 2017-06-05 2024-03-15 谷歌有限责任公司 平稳变化的中央凹型渲染
JP6802393B2 (ja) * 2017-06-09 2020-12-16 株式会社ソニー・インタラクティブエンタテインメント 中心窩レンダリングシステムにおける、遅延ライティングの最適化、パーティクルの中心窩適応、及びシミュレーションモデル
US10515466B2 (en) 2017-06-09 2019-12-24 Sony Interactive Entertainment Inc. Optimized deferred lighting in a foveated rendering system
US10460509B2 (en) * 2017-11-07 2019-10-29 Dolby Laboratories Licensing Corporation Parameterizing 3D scenes for volumetric viewing
KR102547943B1 (ko) * 2018-01-05 2023-06-26 삼성디스플레이 주식회사 헤드 마운트 표시 장치
JP2021105749A (ja) * 2018-03-20 2021-07-26 ソニーグループ株式会社 情報処理装置、情報処理方法およびプログラム
US11145108B2 (en) * 2018-03-21 2021-10-12 Nvidia Corporation Uniform density cube map rendering for spherical projections
CN110324601A (zh) * 2018-03-27 2019-10-11 京东方科技集团股份有限公司 渲染方法、计算机产品及显示装置
US11262839B2 (en) 2018-05-17 2022-03-01 Sony Interactive Entertainment Inc. Eye tracking with prediction and late update to GPU for fast foveated rendering in an HMD environment
US10942564B2 (en) 2018-05-17 2021-03-09 Sony Interactive Entertainment Inc. Dynamic graphics rendering based on predicted saccade landing point
JP7217206B2 (ja) 2019-07-10 2023-02-02 株式会社ソニー・インタラクティブエンタテインメント 画像表示装置、画像表示システムおよび画像表示方法
US11508110B2 (en) 2020-02-03 2022-11-22 Sony Interactive Entertainment Inc. System and method for efficient multi-GPU rendering of geometry by performing geometry analysis before rendering
US11514549B2 (en) 2020-02-03 2022-11-29 Sony Interactive Entertainment Inc. System and method for efficient multi-GPU rendering of geometry by generating information in one rendering phase for use in another rendering phase
US11170461B2 (en) 2020-02-03 2021-11-09 Sony Interactive Entertainment Inc. System and method for efficient multi-GPU rendering of geometry by performing geometry analysis while rendering
US11120522B2 (en) 2020-02-03 2021-09-14 Sony Interactive Entertainment Inc. System and method for efficient multi-GPU rendering of geometry by subdividing geometry
US11263718B2 (en) 2020-02-03 2022-03-01 Sony Interactive Entertainment Inc. System and method for efficient multi-GPU rendering of geometry by pretesting against in interleaved screen regions before rendering
US11080814B1 (en) 2020-02-03 2021-08-03 Sony Interactive Entertainment Inc. System and method for efficient multi-GPU rendering of geometry by pretesting against screen regions using prior frame information
US11321800B2 (en) 2020-02-03 2022-05-03 Sony Interactive Entertainment Inc. System and method for efficient multi-GPU rendering of geometry by region testing while rendering

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002260003A (ja) * 2001-03-02 2002-09-13 Hitachi Ltd 映像表示装置
JP2004265413A (ja) * 2003-03-01 2004-09-24 Boeing Co:The ディスプレイの視点に環境の画像を与えるためのシステムおよび方法
JP2008233765A (ja) * 2007-03-23 2008-10-02 Toshiba Corp 画像表示装置および画像表示方法

Family Cites Families (108)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4513317A (en) 1982-09-28 1985-04-23 The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration Retinally stabilized differential resolution television display
US5224208A (en) 1990-03-16 1993-06-29 Hewlett-Packard Company Gradient calculation for texture mapping
US5130794A (en) 1990-03-29 1992-07-14 Ritchey Kurtis J Panoramic display system
US5422653A (en) 1993-01-07 1995-06-06 Maguire, Jr.; Francis J. Passive virtual reality
US5602391A (en) 1995-02-23 1997-02-11 Hughes Electronics Quincunx sampling grid for staring array
US5777913A (en) 1995-12-27 1998-07-07 Ericsson Inc. Resolution enhancement of fixed point digital filters
USH1812H (en) 1997-10-24 1999-11-02 Sun Microsystems, Inc. Method for encoding bounding boxes of drawing primitives to be rendered for multi-resolution supersampled frame buffers
AU2680699A (en) 1998-02-17 1999-08-30 Sun Microsystems, Inc. Estimating graphics system performance for polygons
US6496187B1 (en) 1998-02-17 2002-12-17 Sun Microsystems, Inc. Graphics system configured to perform parallel sample to pixel calculation
JP2002503855A (ja) 1998-02-17 2002-02-05 サン・マイクロシステムズ・インコーポレーテッド 可変解像度スーパーサンプリングによるグラフィックス・システム
US6469700B1 (en) 1998-06-24 2002-10-22 Micron Technology, Inc. Per pixel MIP mapping and trilinear filtering using scanline gradients for selecting appropriate texture maps
US6552723B1 (en) 1998-08-20 2003-04-22 Apple Computer, Inc. System, apparatus and method for spatially sorting image data in a three-dimensional graphics pipeline
JP2000155850A (ja) 1998-11-20 2000-06-06 Sony Corp テクスチャ・マッピング装置及びこれを具備したレンダリング装置、並びに情報処理装置
US6417861B1 (en) 1999-02-17 2002-07-09 Sun Microsystems, Inc. Graphics system with programmable sample positions
US6781606B2 (en) 1999-05-20 2004-08-24 Hewlett-Packard Development Company, L.P. System and method for displaying images using foveal video
US6731298B1 (en) 2000-10-02 2004-05-04 Nvidia Corporation System, method and article of manufacture for z-texture mapping
US6906723B2 (en) 2001-03-29 2005-06-14 International Business Machines Corporation Generating partials for perspective corrected texture coordinates in a four pixel texture pipeline
US6731434B1 (en) 2001-05-23 2004-05-04 University Of Central Florida Compact lens assembly for the teleportal augmented reality system
US7555157B2 (en) 2001-09-07 2009-06-30 Geoff Davidson System and method for transforming graphical images
US7155698B1 (en) 2001-09-11 2006-12-26 The Regents Of The University Of California Method of locating areas in an image such as a photo mask layout that are sensitive to residual processing effects
WO2003032253A2 (en) 2001-10-10 2003-04-17 Sony Computer Entertainment America Inc. System and method for environment mapping
US7081893B2 (en) 2001-10-10 2006-07-25 Sony Computer Entertainment America Inc. System and method for point pushing to render polygons in environments with changing levels of detail
US6738069B2 (en) 2001-12-31 2004-05-18 Intel Corporation Efficient graphics state management for zone rendering
US6906714B2 (en) 2002-06-21 2005-06-14 Intel Corporation Accelerated visualization of surface light fields
US6891548B2 (en) 2002-08-23 2005-05-10 Hewlett-Packard Development Company, L.P. System and method for calculating a texture-mapping gradient
TWI238975B (en) 2003-02-20 2005-09-01 Via Tech Inc Method of performing cubic mapping with texturing
US7336277B1 (en) * 2003-04-17 2008-02-26 Nvidia Corporation Per-pixel output luminosity compensation
JP3966832B2 (ja) 2003-04-28 2007-08-29 株式会社東芝 描画処理装置、及び、描画処理方法
US7495638B2 (en) 2003-05-13 2009-02-24 Research Triangle Institute Visual display with increased field of view
EP1496475B1 (en) * 2003-07-07 2013-06-26 STMicroelectronics Srl A geometric processing stage for a pipelined graphic engine, corresponding method and computer program product therefor
US6967663B1 (en) 2003-09-08 2005-11-22 Nvidia Corporation Antialiasing using hybrid supersampling-multisampling
US8085273B2 (en) 2003-11-19 2011-12-27 Lucid Information Technology, Ltd Multi-mode parallel graphics rendering system employing real-time automatic scene profiling and mode control
US8144156B1 (en) * 2003-12-31 2012-03-27 Zii Labs Inc. Ltd. Sequencer with async SIMD array
US8090383B1 (en) 2004-02-17 2012-01-03 Emigh Aaron T Method and system for charging for a service based on time spent at a facility
CN1930587B (zh) 2004-03-15 2011-05-25 皇家飞利浦电子股份有限公司 图像可视化
US7554538B2 (en) 2004-04-02 2009-06-30 Nvidia Corporation Video processing, such as for hidden surface reduction or removal
US7426724B2 (en) 2004-07-02 2008-09-16 Nvidia Corporation Optimized chaining of vertex and fragment programs
US7425966B2 (en) 2004-10-07 2008-09-16 Nvidia Corporation Pixel center position displacement
US7339594B1 (en) 2005-03-01 2008-03-04 Nvidia Corporation Optimized anisotropic texture sampling
JP4660254B2 (ja) 2005-04-08 2011-03-30 株式会社東芝 描画方法及び描画装置
US7289119B2 (en) 2005-05-10 2007-10-30 Sony Computer Entertainment Inc. Statistical rendering acceleration
US7511717B1 (en) 2005-07-15 2009-03-31 Nvidia Corporation Antialiasing using hybrid supersampling-multisampling
US20070018988A1 (en) 2005-07-20 2007-01-25 Michael Guthe Method and applications for rasterization of non-simple polygons and curved boundary representations
JP2007115293A (ja) * 2005-10-17 2007-05-10 Toshiba Corp 情報記憶媒体、プログラム、情報再生方法、情報再生装置、データ転送方法、及びデータ処理方法
US8300059B2 (en) 2006-02-03 2012-10-30 Ati Technologies Ulc Method and apparatus for selecting a mip map level based on a min-axis value for texture mapping
US8207975B1 (en) 2006-05-08 2012-06-26 Nvidia Corporation Graphics rendering pipeline that supports early-Z and late-Z virtual machines
US7907792B2 (en) 2006-06-16 2011-03-15 Hewlett-Packard Development Company, L.P. Blend maps for rendering an image frame
US7806083B2 (en) * 2006-07-05 2010-10-05 Boss Technology Systems, Inc. Livestock blow dryer with air deflectors
TWI411967B (zh) * 2006-08-11 2013-10-11 Geo Semiconductor Inc 用於顯示器幾何及色彩自動校準及校正之系統與方法
US8406562B2 (en) * 2006-08-11 2013-03-26 Geo Semiconductor Inc. System and method for automated calibration and correction of display geometry and color
WO2008055262A2 (en) 2006-11-02 2008-05-08 Sensics, Inc. Systems and methods for a head-mounted display
US8228328B1 (en) 2006-11-03 2012-07-24 Nvidia Corporation Early Z testing for multiple render targets
US8233004B1 (en) 2006-11-06 2012-07-31 Nvidia Corporation Color-compression using automatic reduction of multi-sampled pixels
US8149242B2 (en) 2006-11-10 2012-04-03 Sony Computer Entertainment Inc. Graphics processing apparatus, graphics library module and graphics processing method
JP5063990B2 (ja) 2006-11-15 2012-10-31 任天堂株式会社 ゲームプログラムおよびゲーム装置
US7876332B1 (en) 2006-12-20 2011-01-25 Nvidia Corporation Shader that conditionally updates a framebuffer in a computer graphics system
US20090033659A1 (en) 2007-07-31 2009-02-05 Lake Adam T Real-time luminosity dependent subdivision
US8044956B1 (en) 2007-08-03 2011-10-25 Nvidia Corporation Coverage adaptive multisampling
US8441497B1 (en) 2007-08-07 2013-05-14 Nvidia Corporation Interpolation of vertex attributes in a graphics processor
US7916155B1 (en) 2007-11-02 2011-03-29 Nvidia Corporation Complementary anti-aliasing sample patterns
JP5050786B2 (ja) 2007-11-05 2012-10-17 富士通セミコンダクター株式会社 描画処理装置、描画処理方法および描画処理プログラム
US8922565B2 (en) 2007-11-30 2014-12-30 Qualcomm Incorporated System and method for using a secondary processor in a graphics system
US8643644B2 (en) 2008-03-20 2014-02-04 Qualcomm Incorporated Multi-stage tessellation for graphics rendering
GB0810311D0 (en) 2008-06-05 2008-07-09 Advanced Risc Mach Ltd Graphics processing systems
US8605087B2 (en) 2008-07-03 2013-12-10 Nvidia Corporation Hybrid multisample/supersample antialiasing
CN102099679A (zh) * 2008-07-16 2011-06-15 雷迪奥米特医学公司 用于使血液样品溶血和用于测量其至少一个参数的设备
WO2010048475A1 (en) 2008-10-23 2010-04-29 Immersion Corporation Systems and methods for ultrasound simulation using depth peeling
GB0819570D0 (en) 2008-10-24 2008-12-03 Advanced Risc Mach Ltd Methods of and apparatus for processing computer graphics
US8780131B2 (en) 2008-12-19 2014-07-15 Xerox Corporation Systems and methods for text-based personalization of images
US20100214294A1 (en) 2009-02-20 2010-08-26 Microsoft Corporation Method for tessellation on graphics hardware
US8330767B2 (en) 2009-03-24 2012-12-11 Advanced Micro Devices, Inc. Method and apparatus for angular invariant texture level of detail generation
US8669999B2 (en) 2009-10-15 2014-03-11 Nvidia Corporation Alpha-to-coverage value determination using virtual samples
US8638342B2 (en) 2009-10-20 2014-01-28 Apple Inc. System and method for demosaicing image data using weighted gradients
US8803902B2 (en) 2009-12-03 2014-08-12 Intel Corporation Computing level of detail for anisotropic filtering
US8116547B2 (en) 2009-12-11 2012-02-14 Aperio Technologies, Inc. Signal to noise ratio in digital pathology image analysis
US8606009B2 (en) 2010-02-04 2013-12-10 Microsoft Corporation High dynamic range image generation and rendering
US8619085B2 (en) 2010-03-08 2013-12-31 Broadcom Corporation Method and system for compressing tile lists used for 3D rendering
EP3923571B1 (en) 2010-07-21 2023-07-19 Dolby Laboratories Licensing Corporation Systems and methods for multi-layered frame-compatible video delivery
WO2012037157A2 (en) 2010-09-13 2012-03-22 Alt Software (Us) Llc System and method for displaying data having spatial coordinates
KR101719485B1 (ko) 2010-09-20 2017-03-27 삼성전자주식회사 그래픽 처리 유닛에서의 사전 픽셀 제거를 위한 장치 및 방법
US8593475B2 (en) 2010-10-13 2013-11-26 Qualcomm Incorporated Systems and methods for dynamic procedural texture generation management
US9122053B2 (en) 2010-10-15 2015-09-01 Microsoft Technology Licensing, Llc Realistic occlusion for a head mounted augmented reality display
US8982136B2 (en) 2011-05-16 2015-03-17 Qualcomm Incorporated Rendering mode selection in graphics processing units
JP5885398B2 (ja) 2011-05-20 2016-03-15 キヤノン株式会社 画像処理装置、画像処理方法
US9019280B2 (en) 2011-07-22 2015-04-28 Qualcomm Incorporated Area-based rasterization techniques for a graphics processing system
KR101926570B1 (ko) * 2011-09-14 2018-12-10 삼성전자주식회사 포스트 프레그먼트 쉐이더를 사용하는 그래픽 처리 방법 및 장치
US10089774B2 (en) 2011-11-16 2018-10-02 Qualcomm Incorporated Tessellation in tile-based rendering
CN103959134B (zh) 2011-11-24 2017-05-10 松下知识产权经营株式会社 头戴式显示器装置
GB2497302B (en) 2011-12-05 2017-04-12 Advanced Risc Mach Ltd Methods of and apparatus for processing computer graphics
US10559123B2 (en) 2012-04-04 2020-02-11 Qualcomm Incorporated Patched shading in graphics processing
US8581929B1 (en) 2012-06-05 2013-11-12 Francis J. Maguire, Jr. Display of light field image data using a spatial light modulator at a focal length corresponding to a selected focus depth
US9495781B2 (en) 2012-06-21 2016-11-15 Nvidia Corporation Early sample evaluation during coarse rasterization
US9424685B2 (en) 2012-07-31 2016-08-23 Imagination Technologies Limited Unified rasterization and ray tracing rendering environments
US9142005B2 (en) 2012-08-20 2015-09-22 Nvidia Corporation Efficient placement of texture barrier instructions
US10134102B2 (en) 2013-06-10 2018-11-20 Sony Interactive Entertainment Inc. Graphics processing hardware for using compute shaders as front end for vertex shaders
US10096079B2 (en) 2013-06-10 2018-10-09 Sony Interactive Entertainment Inc. Fragment shaders perform vertex shader computations
US10102603B2 (en) 2013-06-10 2018-10-16 Sony Interactive Entertainment Inc. Scheme for compressing vertex shader output parameters
US10176621B2 (en) 2013-06-10 2019-01-08 Sony Interactive Entertainment Inc. Using compute shaders as front end for vertex shaders
US10976986B2 (en) 2013-09-24 2021-04-13 Blackberry Limited System and method for forwarding an application user interface
US9652882B2 (en) 2014-04-05 2017-05-16 Sony Interactive Entertainment America Llc Gradient adjustment for texture mapping for multiple render targets with resolution that varies by screen location
US9836816B2 (en) 2014-04-05 2017-12-05 Sony Interactive Entertainment America Llc Varying effective resolution by screen location in graphics processing by approximating projection of vertices onto curved viewport
US9710881B2 (en) 2014-04-05 2017-07-18 Sony Interactive Entertainment America Llc Varying effective resolution by screen location by altering rasterization parameters
US9495790B2 (en) 2014-04-05 2016-11-15 Sony Interactive Entertainment America Llc Gradient adjustment for texture mapping to non-orthonormal grid
WO2015154004A1 (en) 2014-04-05 2015-10-08 Sony Computer Entertainment America Llc Method for efficient re-rendering objects to vary viewports and under varying rendering and rasterization parameters
US9760113B2 (en) 2015-02-20 2017-09-12 Sony Interactive Entertainment America Llc Backward compatibility through use of spoof clock and fine grain frequency control
US10235219B2 (en) 2015-07-27 2019-03-19 Sony Interactive Entertainment America Llc Backward compatibility by algorithm matching, disabling features, or throttling performance
US11403099B2 (en) 2015-07-27 2022-08-02 Sony Interactive Entertainment LLC Backward compatibility by restriction of hardware resources
US9892024B2 (en) 2015-11-02 2018-02-13 Sony Interactive Entertainment America Llc Backward compatibility testing of software in a mode that disrupts timing

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002260003A (ja) * 2001-03-02 2002-09-13 Hitachi Ltd 映像表示装置
JP2004265413A (ja) * 2003-03-01 2004-09-24 Boeing Co:The ディスプレイの視点に環境の画像を与えるためのシステムおよび方法
JP2008233765A (ja) * 2007-03-23 2008-10-02 Toshiba Corp 画像表示装置および画像表示方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021015156A (ja) * 2019-07-10 2021-02-12 株式会社ソニー・インタラクティブエンタテインメント 画像表示装置、画像表示システムおよび画像表示方法
JP7377014B2 (ja) 2019-07-10 2023-11-09 株式会社ソニー・インタラクティブエンタテインメント 画像表示装置、画像表示システムおよび画像表示方法

Also Published As

Publication number Publication date
JP2017515213A (ja) 2017-06-08
WO2015153169A1 (en) 2015-10-08
JP6712366B2 (ja) 2020-06-24
US9836816B2 (en) 2017-12-05
TWI578266B (zh) 2017-04-11
JP2020091890A (ja) 2020-06-11
US10438319B2 (en) 2019-10-08
KR101964611B1 (ko) 2019-04-02
US20150287167A1 (en) 2015-10-08
EP3129975B1 (en) 2020-05-06
KR20160130257A (ko) 2016-11-10
JP6903183B2 (ja) 2021-07-14
US20180089798A1 (en) 2018-03-29
EP3129975A4 (en) 2017-11-08
EP3129975A1 (en) 2017-02-15
TW201601115A (zh) 2016-01-01
JP6333405B2 (ja) 2018-05-30
EP3129975B8 (en) 2020-06-17
EP3716216A1 (en) 2020-09-30

Similar Documents

Publication Publication Date Title
JP6712366B2 (ja) 曲面ビューポート上に頂点の投影を近似することによる、グラフィックス処理における画面位置に基づく有効解像度の変化
JP7004759B2 (ja) 複数のレンダーターゲット内でアクティブカラーサンプルカウントを変更することによりスクリーンの位置によって有効解像度を変動させること
US11301956B2 (en) Varying effective resolution by screen location by altering rasterization parameters
JP2018129051A (ja) スクリーンの位置によって異なる解像度のターゲットの複数レンダリングのテクスチャ・マッピングの傾き調整
US11302054B2 (en) Varying effective resolution by screen location by changing active color sample count within multiple render targets

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180524

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190709

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190925

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: 20200114

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20200203

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200206

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200213

R150 Certificate of patent or registration of utility model

Ref document number: 6712366

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250