JP7004645B2 - 中心窩ジオメトリテッセレーション - Google Patents

中心窩ジオメトリテッセレーション Download PDF

Info

Publication number
JP7004645B2
JP7004645B2 JP2018518443A JP2018518443A JP7004645B2 JP 7004645 B2 JP7004645 B2 JP 7004645B2 JP 2018518443 A JP2018518443 A JP 2018518443A JP 2018518443 A JP2018518443 A JP 2018518443A JP 7004645 B2 JP7004645 B2 JP 7004645B2
Authority
JP
Japan
Prior art keywords
screen space
vertex
primitives
tessellated
display device
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.)
Active
Application number
JP2018518443A
Other languages
English (en)
Other versions
JP2018537755A (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.)
Sony Interactive Entertainment Inc
Original Assignee
Sony Interactive Entertainment Inc
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 Inc filed Critical Sony Interactive Entertainment Inc
Publication of JP2018537755A publication Critical patent/JP2018537755A/ja
Application granted granted Critical
Publication of JP7004645B2 publication Critical patent/JP7004645B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • 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/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
    • G06T15/20Perspective computation
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/20Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Graphics (AREA)
  • Geometry (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Architecture (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Image Generation (AREA)

Description

[関連出願の相互参照]
本出願は、2015年10月29日出願のUS特許出願番号第14/927,157号の優先利益を主張し、その内容全体を参照により本明細書に組み込む。
本開示の態様は、コンピュータグラフィックスに関する。詳細には、本開示は、画面上の場所によって解像度を変えることに関する。
コンピュータグラフィックスにおいては、テッセレーションを使用して、あるシーンのオブジェクトを表す(頂点集合と呼ばれることもある)ポリゴンのデータセットを管理し、ポリゴンのデータセットをレンダリングに適した構造に分割する。典型的には、三次元オブジェクトデータは、特に、リアルタイムレンダリングのために三角形にテッセレーションされる。リアルタイムグラフィックスのためのテッセレーションの主な長所は、テッセレーションによって、カメラ距離等の制御パラメータに基づいて、3Dメッシュと3Dメッシュのシルエットエッジに詳細を動的に追加したり、減らしたりすることが可能になることである。
グラフィックス処理には、典型的に、2つのプロセッサ、中央処理装置(CPU)、及び、グラフィックス処理ユニット(GPU)の座標が関与する。GPUは、ディスプレイに出力するためのフレームバッファ内の画像の作成を加速するように設計された専用電子回路である。GPUは、組み込みシステム、携帯電話、パーソナルコンピュータ、タブレットコンピュータ、ポータブルゲームデバイス、ワークステーション、及び、ゲームコンソールで使用される。GPUは、典型的には、コンピュータグラフィックスの操作に効率が良いように設計される。GPUは、高度な並列処理アーキテクチャを有することが多く、高度な並列処理アーキテクチャによって、大きいデータブロックの処理を並列で行うアルゴリズムに関して汎用CPUよりもGPUは有効である。
CPUは、GPUに、一般的に描画コマンドと呼ばれる命令を送信してよい。描画コマンドは、特定のグラフィックス処理タスクを実施するように、例えば、画像の前のフレームに対して変化した特定のテクスチャをレンダリングするように、GPUに命令する。これらの描画コマンドは、特定のアプリケーションの仮想環境の状態に対応するグラフィックスレンダリングコマンドを発するために、グラフィックスアプリケーションプログラミングインタフェース(API)を用いてCPUによって調整されてよい。
特定のプログラムに関するテクスチャをレンダリングするために、GPUは、「グラフィックスパイプライン」で一連の処理タスクを行って、仮想環境の映像をディスプレイ上にレンダリングできる画像に変換してよい。典型的なグラフィックスパイプラインは、仮想空間の仮想オブジェクトに対して一定のレンダリング動作またはシェーディング動作と、シーンの仮想オブジェクトの変換とラスタ化を行って出力表示に適したピクセルデータを生成することと、レンダリングされた画像をディスプレイに出力する前にピクセル(または、フラグメント)に追加のレンダリングタスクを行うことを含んでよい。
画像の仮想オブジェクトは、プリミティブとして知られる形状で仮想空間に記述されることが多い、プリミティブは、まとまって、仮想シーンにオブジェクトの形状を作る。例えば、レンダリングされる三次元仮想世界のオブジェクトは、三次元空間の座標として規定される頂点を有する一連の異なる三角形プリミティブに低減されてよく、それによって、これらのポリゴンは、物体の表面を構成する。各ポリゴンは、所与のポリゴンを他のポリゴンと区別するためにグラフィックス処理システムが使用できる関連付けられたインデックスを有してよい。同様に、各頂点は、所与の頂点を他の頂点と区別するために使用できる関連付けられたインデックスを有してよい。グラフィックスパイプラインは、これらのプリミティブに対して一定の動作を行って、仮想シーンの映像を生成し、このデータをディスプレイのピクセルによる再生に適した二次元フォーマットに変換してよい。本明細書で使用される場合、グラフィックスプリミティブ情報(または、簡単に言うと「プリミティブ情報」)という語は、グラフィックスプリミティブを表すデータを指して使用される。このようなデータは、頂点情報(例えば、頂点位置または頂点インデックスを表すデータ)と、ポリゴン情報、例えば、特定の頂点を特定のポリゴンに関連付けるポリゴンインデックス及び他の情報とを含むが、これらに限らない。
既存の表面細分化ソフトウェア、例えば、OpenSubdiv等のオープンソースソフトウェア、または、一般的に、ジオメトリテッセレーションにおいては、幾何学的プリミティブが、表面を構成し、テッセレーションユニットによって消費される表面は、「パッチ」と呼ばれることがある。この文脈において、「ポリゴン」または、単に「三角形」という語は、テッセレーション動作の出力と、それ以後の処理のための入力とに通常、使用される。
グラフィックスパイプラインの一部として、GPUは、シェーダとして通常、知られるプログラムを実施することによって、レンダリングタスクを行ってよい。典型的なグラフィックスパイプラインは、頂点毎にプリミティブの一定の特性を操作し得る頂点シェーダと、ピクセルシェーダ(「フラグメントシェーダ」としても知られる)とを含んでよい。ピクセルシェーダは、グラフィックスパイプラインにおいて、頂点シェーダよりダウンストリームで動作し、ピクセルデータをディスプレイに送信する前に、ピクセル毎に一定の値を操作してよい。フラグメントシェーダは、テクスチャをプリミティブに適用することに関連する値を操作してよい。パイプラインは、パイプラインの様々な段階に、頂点シェーダの出力を使用して新しいプリミティブ集合を生成するジオメトリシェーダや、GPUによって実施されて一定の他の一般的な計算タスクを行い得る計算シェーダ(CS)等、他のシェーダも含んでよい。
広視野(FOV)を有するグラフィックディスプレイ装置が開発されている。このような装置は、ヘッドマウントディスプレイ(HMD)装置を含む。HMD装置においては、小さいディスプレイ装置がユーザの頭部に着用される。ディスプレイ装置は、片目(単眼HMD)、または、各目(両眼HMD)の前に表示光学素子を有する。HMD装置は、典型的には、センサを含み、センサは、装置の向きを感知でき、ユーザの頭部が動くと、表示光学素子が示すシーンを変化させることができる。従来、広いFOVディスプレイにシーンをレンダリングする段階はほとんど、画面の全ての部分が単位面積当たり同じ数のピクセルを有する平面レンダリングによって行われる。
しかしながら、仮想現実(VR)プログラムのレンダリングは、HMD装置と共に行われることが多く、ユーザが乗り物酔いしないように、従来のフラットスクリーンのレンダリングよりも高いフレームレートを必要とする。VR用のHMDは、没入型体験のために広いFOVでレンダリングされたシーンを見せる光学系を有する。主な注視点の周囲の画面領域は、高い解像度を必要とする一方、主な注視点の外側の領域は、周辺視野によってのみ見られるので、低い解像度を維持してよい、または、あまり詳細を含まなくてよい。この考えをピクセルレベルに適用しようとする研究が行われてきた(Mark Evan Cernyによる同時係属のUS特許出願番号第14/246,066号を参照、同出願は、参照により本明細書に組み込まれる)。しかしながら、テッセレーションと、新規の画面空間テッセレーション因子計算アルゴリズムとを利用することによって、この考えをジオメトリレベルに拡張することが可能である。コンピュータグラフィックスにおいては、テッセレーションを使用して、シーンのオブジェクトを表すポリゴンのデータセット(時には、頂点集合と呼ばれる)を管理し、ポリゴンのデータセットをレンダリングに適した構造に分割する。典型的には、三次元オブジェクトデータは、特に、リアルタイムレンダリングのために、三角形にテッセレーションされる。
リアルタイムグラフィックスのテッセレーションの主要な長所は、カメラ距離等の制御パラメータに基づいて、3Dメッシュと3Dメッシュのシルエットエッジから詳細を動的に追加したり、引いたりするのが可能になることである。
この文脈で、本開示が行われる。
本開示の教示は、添付の図面と共に以下の詳細な記載を考慮すると、容易に理解できる。
先行技術に従って行われる通常のテッセレーションの例を示す簡易図である。 本開示の態様による、中心窩テッセレーションの例を示す簡易図である。 本開示の態様によるグラフィックス処理方法を示すフロー図である。 本開示の態様による、画面空間の中心窩領域を決定する例を示す画面空間の概略図である。 本開示の態様による、画面空間の中心窩領域を決定する代替例を示す画面空間の概略図である。 本開示の態様による、画面空間にわたる頂点密度の推移の例を示すグラフである。 本開示の態様による、画面空間にわたる頂点密度の推移の例を示すグラフである。 本開示の態様による、画面空間にわたる頂点密度の推移の例を示すグラフである。 本開示の態様による、グラフィックス処理システムのブロック図である。 本開示の態様による、グラフィックス処理パイプラインのブロック図である。
以下の詳細な記載は、説明のために多くの特定の詳細を含むが、以下の詳細への多くの変形及び変更は発明の範囲内であることを当業者は理解されよう。従って、以下に記載の発明の例示の実施形態は、特許を請求する発明に対して、一般性を失うことなく、また、制限を課すことなく、記載される。
[導入]
図1Aは、仮想現実(VR)環境のレンダリングの現状を示す。従来のFOVディスプレイにおいて、三次元ジオメトリは、ビュー面への平面投影を用いてレンダリングされる。しかしながら、ジオメトリをディスプレイ上に、特に、高いFOVビュー面にレンダリングすることは、非常に非効率な場合があり、かなりの待ち時間と性能の問題を生じ得る。これらの問題によって、表示されたフレームレートが所望のレベル未満に低下することがあり、VR環境を体験しながら、フレームレートの低下により、乗り物酔いを引き起こす可能性があるのに加えて、ユーザにとっては、不快な非没入型体験となり得る。
さらに、画面の端近くのディスプレイ領域、または、ユーザが見ていない領域は、中心近くの領域、または、ユーザの注意が現在、向けられている領域よりも意味のある情報がずっと少ない。従来、シーンをレンダリングする時、これらの領域は、同じ数の頂点を有し、画面上の等しいサイズの領域のレンダリングに費やす時間は同じである。
図1Bは、本開示の態様による、中心窩テッセレーションを用いてシーン情報をレンダリングするVR環境の例を示す。リアルタイムグラフィックスレンダリングの中心窩テッセレーションを利用することによって、様々なパラメータ、例えば、カメラ距離、ユーザの注意、ユーザの目の動き、または、被写界深度に基づいて、詳細を、3Dメッシュと、3Dメッシュのシルエットエッジに追加したり、減らしたりしてよい。中心窩テッセレーションを利用することによって、テッセレーションにおける画像のレンダリングと、テッセレーションに続くグラフィックスパイプラインの一定の部分で必要な頂点計算の数が少なくなり得るので、3Dメッシュまたはワイヤフレームのレンダリング時間は、約4分の1以下に低減できることが、実験によって分かった。
ある実施態様においては、次のグラフィックス処理は、湾曲したビューポート上への頂点の投影を近似するラスタ化段階を利用してよい。このような実施態様においては、投影される頂点密度は、中心窩領域と呼ばれる画面空間の選択した部分に関して決定されてよく、その結果、より高い頂点密度が中心窩領域に存在し、画面空間の残りの領域では投影される頂点密度は低くなる。これは、中心窩領域外にあると決定される画面の部分に関して頂点密度を減らすことによって達成できる。代替実施態様においては、頂点密度は、より高い頂点密度が関心部分(単数または複数)に存在するように、画面空間の選択された部分で増加されててよく、画面空間の残りの部分(単数または複数)の頂点密度は増加されない。従って、本開示の態様は、上記の種類の画面空間変換を利用して、レンダリングする画面空間の面積に対する頂点計算の数を効果的に減らすことによって、GPUの計算負荷を減らす。
本開示の態様によると、頂点計算の低減は、図2Aに示すグラフィックス処理方法200によって実施されてよい。グラフィックス処理方法の文脈を理解するために、コンピュータグラフィックス処理の一定の従来の要素を示す。詳細には、コンピュータグラフィックスプログラムは、三次元仮想空間の1つまたは複数のオブジェクトに関して、三次元オブジェクト頂点データ201を生成してよい。オブジェクト頂点データ201は、1つまたは複数のオブジェクトを構成する幾何学的形状の表面の点に対応する仮想空間の点の座標を表してよい。オブジェクトは、1つまたは複数の幾何学的形状から構成されてよい。オブジェクト頂点データ201は、オブジェクトを構成する1つまたは複数の形状の表面の点に対応するオブジェクトの頂点の集合を規定してよい。制限ではなく、例として、各幾何学的形状は、形状識別子(例えば、円錐、球、立方体、角錐等)と、オブジェクトの関連する場所の仮想空間における座標、例えば、形状の質量中心の座標と、形状の表面の点の座標を決定する関連する幾何学的パラメータとによって表されてよい。例として、球の場合は、関連する場所は、球の中心の場所であってよく、関連する幾何学的パラメータは、球の半径であってよい。
202で示すように、オブジェクト頂点データ201に、3Dグラフィックス処理の従来の方法で、オブジェクトの頂点を画面空間に投影するプロセスが行われてよい。ある実施態様においては、投影は、湾曲したビューポート上への頂点の投影を近似してよい。次に、204に示すように、ポリゴンが、投影された頂点から生成されてよい。投影された頂点からのポリゴンの生成は、従来の方法で行われてよい。詳細には、選択されたポリゴン対の間に辺が規定されてよく、選択された辺は、ポリゴンとして一緒に関連付けられてよい。結果として生じるポリゴンデータ203は、ポリゴンを構成する頂点と辺を識別する情報を含む。ポリゴンデータ203は、方法200によって使用され、方法200は、本開示の態様に従って、ポリゴンデータによって表されるポリゴンをテッセレーションする。
方法200は、206に示すように、画面空間の1つまたは複数の中心窩領域の中心窩データ205を決定することと、208に示すように、頂点密度情報207を決定することとを含む。ポリゴンデータ203、中心窩データ205、及び、頂点密度情報207を使用して、210に示すように、本開示の態様によるポリゴンのテッセレーションを行って、テッセレーションされた頂点データ209を生成する。次に、結果として生じるテッセレーションされた頂点データが、212に示すように、その後のグラフィックス処理で使用される。
制限ではなく、例として、210のポリゴンのテッセレーションにおいては、中心窩データ205及び頂点密度情報207は、テッセレーションパラメータを規定してよく、テッセレーションパラメータは、画面空間の場所によって変化し、ハードウェアまたはソフトウェアテッセレータによって使用されて、ポリゴンの三角形ベースのテッセレーションを生成する。このようなテッセレーションパラメータの例は、いわゆるTessFactorを含み、TessFactorは、Microsoft社製のWindows(登録商標)7の一部であるDirect3D 11プログラマブルグラフィックスパイプラインによって生成されるメッシュの細かさの程度を制御する。
大まかに言うと、ディスプレイで画面空間の画像を見る人にとって画面空間の全ての領域が等しく重要ではないという事実を考慮するように、中心窩データ205及び頂点密度情報207を使用して従来のテッセレーションプロセスを修正する。中心窩領域は、アプリケーションによって視聴者にとって重要であると決定された画面空間の部分を表し、よって、利用可能なグラフィックス計算リソースのより大きいシェアを割り当てられる。中心窩領域データ205は、画面空間の中心窩領域の質量中心の場所、画面空間に対する中心窩領域のサイズ、及び、中心窩領域の形状を識別する情報を含んでよい。中心窩領域は、(a)視聴者が見そうな領域である、(b)視聴者が実際に見ている領域である、または、(c)ユーザに見せたい領域であるの理由で、視聴者が関心を持つと206においてアプリケーションによって決定されてよい。
(a)に関して、中心窩領域は、文脈依存の方法で見られそうであると決定されてよい。ある実施態様においては、画面空間の一定の部分、または、対応する三次元仮想空間の一定のオブジェクトは、「関心」をもたれ、このようなオブジェクトは、一貫して、仮想空間の他のオブジェクトより多くの頂点を用いて描かれてよいと、アプリケーションが決定してよい。中心窩領域は、文脈的に、静的または動的に関心をもたれると規定されてよい。静的な既定の非制限的な例として、中心窩領域は、画面空間の固定の部分であってよい。例えば、画面の中心近くの領域が、視聴者が最も見そうな画面空間の部分であると決定される場合、この領域であってよい。例えば、アプリケーションが、車のダッシュボード及びフロントガラスの画像を表示する運転シミュレータである場合、視聴者は、画像のこれらの部分を見ると思われる。この例においては、中心窩領域は、関心領域が画面空間の固定の部分であるという意味で、静的に規定されてよい。動的な既定の非制限的な例として、ビデオゲームにおいて、ユーザのアバタ、ゲーム仲間のアバタ、敵の人工知能(AI)キャラクタ、一定の関心オブジェクト(例えば、スポーツゲームのボール)に、ユーザは関心を持ち得る。このような関心オブジェクトは、画面空間に対して移動し得るので、中心窩領域は、関心オブジェクトと共に移動すると規定されてよい。
(b)に関して、視聴者の視線を追跡して、視聴者がディスプレイのどの部分を見ているかを決定することが可能である。視聴者の視線を追跡することは、ユーザの頭部姿勢とユーザの目の瞳孔の向きとの何らかの組み合わせを追跡することによって実施されてよい。このような視線追跡の例の一部は、例えば、US特許出願公開番号第2015/0085250号、第2015/0085251号、第2015/0085097号に記載され、それらの全ての内容全体は、参照により本明細書に組み込まれる。頭部姿勢の推定のさらなる詳細は、例えば、Erik Murphy著「Head Pose Estimation in Computer Vision:A Survey」IEEE TRANSACTIONS ON PATTERN ANALYSIS AND MACHINE INTELLIGENCE.Vol.31,No.4、2009年4月、pp607-626に記載され、その内容は、参照により本明細書に組み込まれる。本発明の実施形態と共に使用できる頭部姿勢推定の他の例は、Athanasios Nikolaidis著「Facial feature extraction and pose determination」Pattern Recognition.Vol.33(2000年7月7日)pp.1783-1791に記載され、その内容全体は、参照により本明細書に組み込まれる。本発明の実施形態と共に使用できる頭部姿勢推定の追加の例は、Yoshio Matsumoto及びAlexander Zelinsky著「An Algorithm for Real-time Stereo Vision Implementation of Head Pose and Gaze Direction Measurement」FG'00 Proceedings of the Fourth IEEE International Conference on Automatic Face and Gesture Recognition.2000,pp499-505に記載され、その内容全体は、参照により本明細書に組み込まれる。本発明の実施形態と共に使用できる頭部姿勢推定の更なる例は、Qiang Ji及びRuong Hu著「3D Face Pose Estimation from a Monocular Camera」Image and Vision Computing.Vol.20,Issue7,2002年2月20日、pp499-511に記載され、その内容全体は、参照により本明細書に組み込まれる。
(c)に関しては、シーンの焦点深度を変更して、関心部分、例えば、話している特定の俳優に焦点を当てることは、一般的な映画の装置である。これは、焦点を当てている画像の部分に視聴者の注意を惹くために行われる。本開示の態様によると、中心窩領域を画面の所望の部分に移動させて、その部分が、より高い頂点密度を有し、結果としてより詳細にレンダリングされるようにすることによって、コンピュータグラフィックスを用いて類似の効果を実施してよい。
質量中心の位置を決めることに加えて、206で中心窩領域データを決定することは、画面空間に対する中心窩領域のサイズと形状を決定することも伴ってよい。中心窩領域の形状、例えば、円形、楕円、または、任意は、前もって決定されてよい。中心窩領域のサイズは、視聴者の画面からの距離と、画面のサイズに依存してよい。一般的に、画面が大きければ大きいほど、視聴者が画面に近ければ近いほど、画面サイズに対する中心窩領域は小さくなる。逆に、画面が小さければ小さいほど、視聴者が画面から離れれば離れるほど、画面サイズに対する中心窩領域は大きくなる。
テレビジョンセット、タブレットコンピュータディスプレイ、スマートフォンディスプレイ、及び、コンピュータモニタ等の固定ディスプレイに関しては、画面サイズは、固定であり、そのディスプレイに関するメタデータから決定されてよい。このようなメタデータは、ディスプレイが、コンピュータまたはゲーミングコンソール等、処理システムに接続されると、やり取りされてよい。投影型ディスプレイに関しては、画面のサイズは、プロジェクタから画像が投影されている壁または他の表面までの距離に関する追加の情報から決定されてよい。
図3Aは、上記態様に従って、画面上の場所によって中心窩領域を決定する例を示す。図3Aに示す例においては、画面空間は、等しいピクセルサイズのサブセクションに分割されている。例の画面空間の1つまたは複数の中心のサブセクションは、テッセレーションされた頂点密度を維持または増加させることが望まれ、サブセクションが中心から離れるほど、テッセレーションされた頂点密度は徐々に低くなる。中心窩データ205は、画面空間のどのサブセクションが、関心中心窩領域280の部分で、どのサブセクションがそうでないかを指定してよい。ある実施態様においては、中心窩データ205によって指定された2つ以上の関心中心窩領域があってよい。頂点密度情報207は、図3Bに示すように、頂点密度が、関心部分280を含む画面のサブセクション(単数または複数)で最も高く、サブセクションが中心窩部分から離れるにつれて、徐々に低くなるように、中心窩データに従って調整されてよい。制限ではなく、例として、所与の入力ポリゴン(例えば、パッチ)に関するテッセレーション因子は、その重要性に基づいて(例えば、画面空間に入力されたポリゴンの場所と、中心窩データ205から決定されるように)、調整されてよい。ハードウェアまたはソフトウェアで実施され得るテッセレーションユニットが、次に、テッセレーション因子によって決定される所望の頂点密度を有する210で出力されるポリゴン(例えば、三角形)を生成する。
中心窩領域を決定することと共に、中心窩領域と中心窩領域外の頂点密度が、208で示すように決定されてよい。制限ではなく、例として、頂点密度情報207は、中心窩領域に関する最大密度を含んでよく、中心窩領域外の領域に関する最小密度が決定されてよい。「最大密度」及び「最小密度」という語は、本明細書では便宜上、使用される。最大は、一般的に、残りの画面空間領域の対応する密度分布よりも高い平均頂点密度を有する中心窩領域(複数可)の密度分布を指す。同様に、最小密度は、一般的に、中心窩画面空間領域(複数可)の対応する密度分布より低い平均頂点密度を有する残りの領域(複数可)の密度分布を指す。
画面空間の場所の関数としての頂点密度値(例えば、最大密度値及び最小密度値)は、前もって固定されて、メモリに記憶されてよく、その場合、グラフィックス処理中に値を決定することは、メモリから値を取り出すというささいな問題である。頂点密度値は、(a)ピクセル密度画面空間、(b)最大利用可能グラフィックス処理負荷容量、(c)視聴者の画面への近接性、(d)画面のピクセルサイズ、及び、(e)提示されるグラフィックスの性質を含む多くの因子に依存してよい。
(a)に関しては、画面空間のピクセル密度が高くなればなるほど、最大密度値と最小密度値は、高くなり得る。(b)に関しては、利用可能なグラフィックス処理負荷容量が大きくなることは、頂点密度の調整による計算節約の重要性が低下して、最大密度値と最小密度値が高くなってよいことを意味する。利用可能なグラフィックス処理負荷容量が低下することは、頂点密度の調整による計算節約がより重要になり、最小密度値が低下し、最大密度値も低下し得ることを意味する。
(c)に関しては、視聴者が画面近くに移動するほど、中心窩領域の詳細の必要性は増し(最大密度値は大きくなり)、中心窩領域の外側の詳細の必要性は低下し(最小密度値を小さくすることを可能にする)。(d)に関しては、画面サイズが小さくなると、中心窩領域は、画面に対して大きくなる。画面で利用可能なピクセルが少なくなると、一般的に、最小値が小さくなり過ぎてはいけないことを意味する。
一定の実施態様においては、関心中心窩部分(単数または複数)280と残りの部分の間の密度の推移(または「減少」)は、利用可能な計算リソースとシーンの複雑性に基づいて、クローズドループを用いて規定されてよい。一定の実施態様においては、(画面のどの部分(単数または複数)が関心部分であるかを決定する)中心窩操縦要素、レンダリングされたシーンの開始及び終了メッシュ密度、及び、減少関数は、前もって、静的に規定されてよい。代替実施態様においては、これらの要素は、フレームデータを分析して関心点または関心領域を決定するプログラム領域のソフトウェアエージェントに基づいて、動的に決定されてよい。代替実施態様においては、これらの要素は、ゲーム開発者によって予め規定されてよい。
図3C、3D、3Eは、画面空間の中心窩部分と残りの部分との頂点密度の「減少」の例を示す。図3Cは、中心窩画面空間領域からの距離に関して、Max密度とMin密度のステップ関数の推移の例を示す。この場合、頂点密度は、中心窩領域内の最大値と、その他の場所の最小値とを有する。
図3Dは、中心窩画面空間領域からの距離に関するMax密度とMinの密度の線形関数の推移の例を示す。推移領域において、密度は、座標系がどのように規定されているかに応じて、最大密度または最小密度の領域からの距離に線形に依存する。
図3Eは、中心窩画面空間領域からの距離に関して、Max密度とMin密度の間のシグモイド(「S」形状)関数の推移の例を示す。一般的に、任意の平滑、正値、「こぶのような形の」関数の積分は、シグモイドとなる。シグモイド関数の例は、ロジスティック関数、汎用ロジスティック関数を含むが、これらに限らない。シグモイド関数は、通常の逆正接、双曲正接、グーデルマン関数、誤差関数
Figure 0007004645000001
、相補誤差関数(1-erf(x))、及び、
Figure 0007004645000002
のような代数関数を含む。
ロジスティック関数は、
Figure 0007004645000003
の形を有し、ここで、
=シグモイドの中点のxの値
L=曲線の最大値
k=曲線の傾き
追加の代替の実施形態においては、これらの要素は、外部信号によって動的に規定されてよい。外部信号の例は、視線追跡、レーザポインタ追跡、指追跡、頭部追跡、コントローラもしくは周辺装置を用いた追跡、VR環境の他のプレーヤのキャラクタの追跡、または、キャラクタ間の会話の検出及び解釈を含むが、これらに限らない。外部信号が視線追跡を含む実施形態においては、外部信号は、頭部と瞳の追跡の組み合わせを含み得るが、これに限らない。このような実施形態においては、ユーザの瞳は、カメラを用いて追跡されてよい。外部信号が頭部追跡を含む実施形態においては、ユーザの頭部の追跡は、慣性センサを用いたユーザの頭部の追跡、及び/または、HMD装置上の光源の追跡を含んでよいが、これらに限らない。
本開示の態様によると、一定の実施態様は、既存の表面細分化ソフトウェア、例えば、Open Subdiv等のオープンソースソフトウェアを利用して、少数の頂点から滑らかな限界面(limit surface)を計算してよい。このような実施形態においては、210のポリゴンテッセレーションは、関心中心窩部分(単数または複数)280をテッセレーションして、滑らかな表面限度(surface limit)に従ってよい。残りの部分は、より大きい誤差許容範囲を用いてテッセレーションされてよい。
212でその後のグラフィックス動作を行うことは、テッセレーションされた頂点データをメモリに記憶する、または、テッセレーションされた頂点データを別の処理システムに送信するというような何か簡単なことを含み得る。さらに、このようなその後の処理は、グラフィックス処理パイプラインの周知の段階を含んでよい。制限ではなく、例として、プリミティブアセンブリが、テッセレーションされた頂点に対して行われて、画面空間に1つまたは複数のプリミティブを生成する。走査変換が、1つまたは複数のプリミティブに対して行われて、どのピクセル(単数または複数)が対応するプリミティブの部分であるかを決定してよい。次に、ピクセル値をピクセル(単数または複数)に割り当てるピクセル処理を行うことによって、完成したフレームが生成されてよい。ある実施態様においては、完成したフレームは、メモリに記憶できる、または、ディスプレイ装置に表示できる。グラフィックスパイプラインの追加の詳細を図4及び図5に関して以下に論じる。
[システム及び装置]
本開示の態様によるグラフィックス処理システムは、関心部分であると決定された画面空間の部分に関して画面空間の選択した部分の頂点密度を調整することによって、実効解像度が画面上の場所によって変わるグラフィックス処理を実施するように構成される。制限ではなく、例として、図4は、本開示の態様による、グラフィックス処理の実施に使用されてよいコンピュータシステム400のブロック図を示す。本開示の態様によると、システム400は、組み込みシステム、携帯電話、パーソナルコンピュータ、タブレットコンピュータ、ポータブルゲームデバイス、ワークステーション、ゲームコンソール等であってよい。
システム400は、一般に、中央処理装置(CPU)402と、グラフィックス処理ユニット(GPU)404と、CPUとGPUの両方がアクセスできるメモリ408とを含む。システム400は、周知のサポート機能410も含んでよい。サポート機能410は、例えば、データバス409を介して、システムの他の構成要素と通信してよい。このようなサポート機能は、入力/出力(I/O)要素411、電源(P/S)412、クロック(CLK)413、及び、キャッシュ414を含んでよいが、これらに限らない。キャッシュ414に加えて、GPU404は、それ自体のGPUキャッシュ414Gを含んでよく、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)、インターネット等の広域ネットワーク、Bluetooth(登録商標)ネットワーク等のパーソナルエリアネットワーク、または、他の種類のネットワークであってよい。これらの構成要素は、ハードウェア、ソフトウェア、もしくは、ファームウェア、または、これらの2つ以上の何らかの組み合わせで実施されてよい。
CPU402及びGPU404は、それぞれ、例えば、1つのコア、2つのコア、4つのコア、8つのコア、またはそれ以上の1つまたは複数のプロセッサコアを含んでよい。メモリ408は、例えば、RAM、DRAM等のアドレス可能メモリを提供する集積回路の形態であってよい。メモリ408は、専用グラフィックスメモリ428を含んでよく、専用グラフィックスメモリ428は、グラフィックスリソースを記憶してよく、且つ、グラフィックスレンダリングパイプラインのためのデータのグラフィックスバッファ405を一時的に記憶してよい。グラフィックスバッファ405は、例えば、頂点パラメータ値を記憶する頂点バッファVB、頂点インデックスを保持するインデックスバッファIB、グラフィックスコンテンツの深度値を記憶する深度バッファ(例えば、Zバッファ)DB、ステンシルバッファSB、ディスプレイに送る完成したフレームを記憶するフレームバッファFB、及び、他のバッファを含んでよい。図4に示す例においては、グラフィックスメモリ428は、メインメモリの一部として示される。代替実施態様においては、グラフィックスメモリ428は、GPU404に一体化することが可能な別個のハードウェア構成要素であってよい。メモリ408(グラフィックスメモリ428であってよい)は、ポリゴンデータ203、中心窩データ205、頂点密度データ207、及び、テッセレーションされた頂点データ209も一時的に記憶してよい。
制限ではなく、例として、CPU402及びGPU404は、バス(単数または複数)409を介してメモリ408にアクセスしてよい。システム400が2つ以上の異なるバスを含むと有用な場合がある。メモリ408は、CPU402及びGPU404がアクセス可能なデータを含んでよい。GPU404は、グラフィックス処理タスクを並列で行うように構成された複数の計算ユニットを含んでよい。各計算ユニットは、ローカルデータシェア等、それ自体の専用ローカルメモリストアを含んでよい。あるいは、計算ユニットは、それぞれ、メモリ408または専用グラフィックスメモリ428にアクセスしてよい。
CPUは、CPUコード403を実行するように構成されてよく、CPUコード403は、グラフィックス、コンパイラ、及び、グラフィックスAPIを利用するアプリケーションを含んでよい。グラフィックスAPIは、GPUによって実施されるプログラムに描画コマンドを発行するように構成できる。CPUコード403は、物理学シミュレーション及び他の機能も実施してよい。GPU404は、上記のように動作するように構成されてよい。詳細には、GPUは、GPUコード403を実行してよく、上記のように、図2の方法200を実施するように構成された命令を含んでよい。さらに、GPUコード403は、計算シェーダCS、頂点シェーダVS、及び、ピクセルシェーダPS等、周知のシェーダも実施してよい。計算シェーダCSと頂点シェーダVSの間のデータの受け渡しを容易にするために、システムは、1つまたは複数のバッファ405を含んでよく、バッファ405は、フレームバッファFBを含んでよい。GPUコード403は、ピクセルシェーダまたはジオメトリシェーダ等、他の種類のシェーダ(図示せず)もオプションで実施してよい。各計算ユニットは、ローカルデータシェア等、それ自体の専用ローカルメモリストアを含んでよい。GPU404は、グラフィックスパイプラインの一部としてテクスチャをプリミティブに適用する一定の動作を行うように構成された1つまたは複数のテクスチャユニット406を含んでよい。
本開示の一定の態様に従って、CPUコード403及びGPUコード403、並びに、システム400の他の要素は、GPU404がポリゴンデータ203を受信し得るグラフィックスパイプラインを実施するように構成される。ポリゴンデータ203は、計算、例えば、CPU402によるCPUコード403の実行によって実施される三次元仮想空間のオブジェクトの物理学シミュレーション、から生成できる。GPU404は、ディスプレイ装置416の画面空間へのポリゴンの頂点の投影と、結果として生じる投影されたポリゴンのテッセレーションとを行う。GPU404は、中心窩データ205と頂点密度データ207に従ってポリゴンのテッセレーションの頂点密度を調整することによって、頂点密度が、画面空間の選択された中心窩部分で高く、残りの部分で低くなるようにする。
GPU404は、次に、頂点に対してプリミティブアセンブリを行って、画面空間への頂点の投影から画面空間の1つまたは複数のプリミティブを生成してよい。走査変換が、次に、1つまたは複数のプリミティブに対して行われて、画面空間のどのピクセルが対応するプリミティブの部分であるかを決定してよい。GPU404は、次に、対応するプリミティブの部分であるピクセル(単数または複数)にピクセル値を割り当てるピクセル処理を行うことによって、完成したフレーム460を生成してよい。完成したフレームは、メモリ408またはグラフィックスメモリ428(例えば、フレームバッファFB)に記憶できる、または、ディスプレイ装置416に表示できる。
画面空間へのポリゴンの頂点の投影と、グラフィックスパイプラインの他の関連する部分とは、ソフトウェアにおいて、例えば、計算シェーダCSとして実施されるフロントエンドによって行うことができる。あるいは、画面空間への頂点の投影と、グラフィックスパイプラインの他の関連する部分とは、これらの機能を実施するように構成された特別に設計されたハードウェア構成要素HWによって実施できる。
本開示の態様は、中心窩データ205及び/または頂点密度データ207が動的に調整される実施態様も含む。例えば、中心窩領域は、視線追跡と共に規定されてよい。このような実施態様においては、システム400は、ユーザの視線すなわちユーザの目が向いている所を追跡し、且つ、この情報をユーザが見ている対応する画面上の場所に関連させるハードウェアを含む。このようなハードウェアの一例は、ディスプレイ装置416の画面に対して既知の場所にあり、且つ、ユーザのおおまかな方向に向けられているデジタルカメラを含み得る。デジタルカメラは、ユーザインタフェース418の一部であってもよく、別個の構成要素であってもよい。CPUコード403は、画像分析ソフトウェアを含んでよく、画像分析ソフトウェアは、カメラからの画像を分析して、(a)ユーザが画像に存在するか否か、(b)ユーザがカメラの方を向いているか否か、(c)ユーザが画面の方を向いているか否か、(d)ユーザの目が可視であるか否か、(e)ユーザの頭部に対するユーザの目の瞳孔の向き、及び、(f)カメラに対するユーザの頭部の向きを決定する。画面に対するカメラの既知の位置及び向き、ユーザの頭部に対するユーザの目の瞳孔の向き、及び、カメラに対するユーザの頭部の向きから、画像分析ソフトウェアは、ユーザが画面を見ているか否かを決定でき、見ている場合、ユーザが見ている画面の部分の画面空間座標を決定できる。CPUコード403は、次に、これらの画面座標をGPUコード403に渡すことができ、GPUコード403は、中心窩部分(すなわち、関心部分)を含むサブセクション(単数または複数)を決定し得る。GPUコード403は、次に、それに従って頂点の調整を修正でき、図3Bに示すように、解像度は、中心窩部分を含むサブセクション(単数または複数)で最も高くなり、サブセクションが中心窩部分から離れるほど徐々に低くなる。
制限ではなく、例として、特別設計のハードウェアHW、テクスチャユニット(複数可)406、一定の種類のシェーダ、及び、以下に記載のグラフィックスパイプラインの他の部分は、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、または、システムオンチップ(SoCまたはSOC)等、特別用途ハードウェアによって実施されてよい。
本明細書で使用され、当業者が一般的に理解するように、特定用途向け集積回路(ASIC)は、一般的用途のためではなく、特定の用途のためにカスタマイズされた集積回路である。
本明細書で使用され、当業者が一般的に理解するように、フィールドプログラマブルゲートアレイ(FPGA)は、製造後、顧客または設計者によって構成されるように設計された、すなわち、「フィールドプログラマブルな」集積回路である。FPGA構成は、一般に、ASICに使用されるのと同様のハードウェア記述言語(HDL)を用いて指定される。
本明細書で使用され、当業者が一般的に理解するように、チップ上のシステムまたはシステムオンチップ(SoCまたはSOC)は、コンピュータまたは他の電子システムの全ての構成要素を1つのチップに集積する集積回路(IC)である。システムオンチップは、デジタル、アナログ、混合信号、及び、しばしば、無線周波数の機能を全て、1つのチップ基板に含んでよい。典型的な用途は、組み込みシステムの分野である。
典型的なSoCは、以下のハードウェア構成要素を含む。
1つまたは複数のプロセッサコア(例えば、マイクロコントローラ、マイクロプロセッサ、または、デジタル信号プロセッサ(DSP)のコア)
メモリブロック、例えば、リードオンリメモリ(ROM)、ランダムアクセスメモリ(RAM)、電気的消去可能プログラマブルリードオンリメモリ(EEPROM)、及び、フラッシュメモリ
オシレータまたは位相ロックループ等のタイミングソース
カウンタタイマ、リアルタイムタイマ、または、パワーオンリセットジェネレータ等の周辺装置
外部インタフェース、例えば、ユニバーサルシリアルバス(USB)、FireWire(登録商標)、Ethernet(登録商標)、万能非同期送受信機(USART)、シリアルペリフェラルインタフェース(SPI)バス等の業界標準
アナログデジタルコンバータ(ADC)及びデジタルアナログコンバータ(DAC)を含むアナログインタフェース
電圧レギュレータ及びパワーマネージメント回路
これらの構成要素は、非標準または業界標準のバスのいずれかによって接続される。ダイレクトメモリアクセス(DMA)コントローラは、外部インタフェースとメモリの間で直接、データをルーティングし、プロセッサコアを迂回し、それによって、SoCのデータスループットを向上させる。
典型的なSoCは、上記ハードウェア構成要素と、プロセッサコア(複数可)、周辺装置、及び、インタフェースを制御する実行可能命令(例えば、ソフトウェアまたはファームウェア)との両方を含む。
ある実施態様においては、グラフィックスパイプラインの部分の機能の一部または全ては、代わりに、ソフトウェアプログラマブル汎用コンピュータプロセッサによって実行される適切に構成されたソフトウェア命令によって、例えば、GPU404によって実行される計算シェーダCSとして、実施されてよい。このような命令は、コンピュータ可読媒体、例えば、メモリ408、グラフィックスメモリ428、または、記憶装置415で具体化されてよい。
[グラフィックスパイプライン]
本開示の態様によると、システム400は、グラフィックスレンダリングパイプラインの部分と共に、図2の方法200を実施するように構成されてよい。図5は、本開示の態様による、グラフィックスレンダリングパイプライン430の例を示す。
レンダリングパイプライン430は、仮想空間(本明細書では、時には、「世界空間」と呼ばれる)に二次元または好ましくは三次元ジオメトリを有するシーンを描く画像として、グラフィックスをレンダリングするように構成されてよい。パイプラインの初期段階は、仮想空間で行われる動作を含んでよく、その後、シーンは、ディスプレイ装置416上への出力に適した別々の画素の集合としてラスタ化され、画面空間に変換される。パイプラインを通して、グラフィックスメモリ428に含まれる様々なリソースは、パイプライン段階で利用されてよく、画像の最終値が決定される前、段階への入力及び出力は、グラフィックスメモリに含まれるバッファに一時的に記憶されてよい。
レンダリングパイプラインは、ポリゴンデータ203等の入力データに対して動作してよい。ポリゴンデータ203は、仮想空間に設定され且つシーンの座標に対して規定されたジオメトリを有する頂点集合によって規定された1つまたは複数の仮想オブジェクトを表す。パイプラインの初期段階は、図5の頂点処理段階434として大まかに分類されるものを含んでよく、これは、仮想空間のオブジェクトの頂点を処理する様々な計算を含んでよい。頂点処理段階は、頂点シェーディング計算436を含んでよく、頂点シェーディング計算436は、位置の値(例えば、XY座標値とZ深度値)、色の値、照明値、テクスチャ座標等のシーンの頂点の様々なパラメータ値を操作してよい。好ましくは、頂点シェーディング計算436は、GPU404の1つまたは複数のプログラマブル頂点シェーダVSによって行われる。頂点処理段階は、ポリゴン頂点を画面空間に投影するジオメトリシェーダ計算437と、投影されたポリゴン頂点から新しい頂点と新しいジオメトリを生成するテッセレーションシェーダ計算438等、追加の頂点処理計算を含む。テッセレーション計算は、シーンのジオメトリとジオメトリシェーディング計算をさらに分割して、CPUコード403によって実施されたアプリケーションで最初に設定されたジオメトリ以外の新しいシーンのジオメトリを生成する。中心窩テッセレーションが生じ得るのはこの段階で、3Dメッシュまたはワイヤフレームの頂点密度が、中心窩データ205と頂点密度データ207に従って規定されたテッセレーションシェーダ計算438によって調整されてよい。頂点処理段階434が完了すると、シーンが、テッセレーションされた頂点データ209によって表されたテッセレーションされた頂点集合によって規定される。さらに、各テッセレーションされた頂点は、頂点パラメータ値439の集合である。頂点パラメータ値439は、テクスチャ座標、接線(tangent)、照明値、色、位置等を含んでよい。
パイプライン430は、次に、ラスタ化処理段階440に進んでよい。ラスタ化処理段階440は、シーンジオメトリを、画面空間と、別々の画素すなわちピクセルの集合とに変換することに関連付けられている。仮想空間ジオメトリ(三次元であってよい)は、仮想空間からシーンの表示ウインドウ(または、「ビューポート」)へのオブジェクト及び頂点の投影を基本的に計算し得る動作を通して、画面空間ジオメトリ(典型的には、二次元であってよい)に変換される。頂点のサブ集合はグループ化されて、画面空間にプリミティブの集合を規定する。本開示の態様によると、ラスタ化段階440は、湾曲したビューポートへの頂点の投影を近似する。
本開示の態様によると、グラフィックスパイプライン430は、ラスタ化段階へのフロンドエンド441を含む。フロントエンドは、ラスタ化段階の一部として、または、頂点処理434とラスタ化段階440の間の中間段階として実施できる。図5に示す例においては、フロンドエンド441は、ラスタ化段階440の一部として示されている。しかしながら、本開示の態様は、このような実施態様に限定されない。一定の実施態様においては、フロンドエンド441は、GPU404上で実行する計算シェーダCSとして全体的にまたは部分的に実施される。しかしながら、本開示の態様は、このような実施態様に限定されない。
フロンドエンド441と、本開示の関連する態様の動作は、図4及び図5を同時に参照することによって理解できる。
図5に示すラスタ化処理段階440は、プリミティブアセンブリ動作442を含む。プリミティブアセンブリ動作442は、シーンの各頂点集合によって規定されるプリミティブを設定してよい。各頂点は、インデックスによって規定されてよく、各プリミティブは、これらの頂点インデックスに関して規定されてよい。頂点インデックスは、グラフィックスメモリ428のインデックスバッファIBに記憶されてよい。プリミティブは、好ましくは、それぞれ、3つの頂点によって規定される三角形を含むが、点プリミティブ、線プリミティブ、及び、他のポリゴン形状も含んでよい。プリミティブアセンブリ段階442中、一定のプリミティブは、オプションでカリングされてよい。例えば、インデックスが一定のワインディングオーダを示すプリミティブは、後ろを向いているとみなされ得るので、シーンからカリングされてよい。
制限ではなく、例として、プリミティブが、三次元仮想空間で頂点によって規定される三角形の形状である場合、プリミティブアセンブリは、各三角形がディスプレイ416の画面上のどこに位置するかを決定する。クリッピング動作及び画面空間変換動作は、典型的に、プリミティブアセンブリユニット442によって行われる。オプションの走査変換動作444は、各ピクセルでプリミティブをサンプリングし、サンプルがプリミティブによってカバーされる時、さらなる処理のためにプリミティブからフラグメント(時々、ピクセルと呼ばれる)を生成する。走査変換動作は、画面空間座標に変換されたプリミティブを取り上げる動作と、どのピクセルがそのプリミティブの一部であるかを決定する動作とを含む。ある実施態様においては、複数のサンプルが、走査変換動作444中、プリミティブ内で取り上げられ、アンチエイリアス目的で使用されてよい。一定の実施態様においては、異なるピクセルは、異なるようにサンプリングされてよい。例えば、ヘッドマウントディスプレイ(HMD)等、一定の種類のディスプレイ装置416に対する一定の態様のレンダリングを最適化するように、あるエッジピクセルは、中心のピクセルより低いサンプリング密度を含んでよい。走査変換444中にプリミティブから生成されたフラグメント(または、「ピクセル」)は、フラグメントを作成したプリミティブの頂点の頂点パラメータ値439からピクセルの場所に補間され得るパラメータ値を有してよい。ラスタ化段階440は、これらの補間されたフラグメントパラメータ値449を計算するパラメータ補間動作446段階を含んでよく、フラグメントパラメータ値449は、パイプラインの後の段階の更なる処理への入力として使用されてよい。
本開示の態様によると、プリミティブアセンブリ442と走査変換444との間で、画面の異なるサブセクションが異なるピクセル解像度を有するという事実を考慮する一定の動作が、行われてよい。特定の実施態様においては、プリミティブの頂点の画面上の場所が分かると、粗いラスタ化443が行われて、プリミティブが重なる予め規定された画面サブセクション(本明細書では、時には、粗いラスタ化タイルまたはサブタイルと呼ばれる)の全てを見つけることができる。プリミティブが重なる各サブセクションに関して、プリミティブの頂点の場所は、サブセクションのピクセル解像度を考慮するように調整される。走査変換444と、それ以後の処理段階は、関連するサブセクション(単数または複数)の指定された数のアクティブピクセルに対してのみピクセル処理を行うことによって最終ピクセル値を生成する。
一定の実施態様においては、GPU404は、ソフトウェアのサブセクション間のプリミティブの粗い分割、頂点の投影、プリミティブアセンブリ、及び、ハードウェアにおける走査変換を実施するように構成されてよい。一部のこのような実施態様においては、GPU404は、ソフトウェアにおいてサブセクションインデックスをプリミティブ頂点に関連付けるように構成され、各サブセクションインデックスは、ハードウェアで実施されるパレットから画面空間投影とビューポートを選択する。他のこのような実施態様においては、GPU404は、ソフトウェアにおいてサブセクションインデックスをプリミティブ頂点インデックスに関連付けるように構成され、各サブセクションインデックスは、ハードウェアで実施されるパレットから画面空間投影とビューポートを選択する。
グラフィックスパイプライン430は、図5の450に大まかに示されるピクセル処理動作をさらに含む。ピクセル処理動作は、補間されたパラメータ値449をさらに操作し、ディスプレイ416の最終的なピクセル値にフラグメントがどのように寄与するかを決定するさらなる動作を行う。本開示の態様によると、これらのタスクは、従来の方法で行うことができる。ピクセル処理タスクは、フラグメントの補間されたパラメータ値449をさらに操作するピクセルシェーディング計算452を含む。ピクセルシェーディング計算452は、GPU404のプログラマブルピクセルシェーダまたは専用ハードウェアによって行われてよい。ピクセルシェーダ起動448は、ラスタ化処理段階440中、プリミティブのサンプリングに基づいて開始されてよい。ピクセルシェーディング計算452は、グラフィックスメモリ428の1つまたは複数のバッファ405に値を出力してよい。バッファ405は、時には、レンダーターゲットRT、または、複数の場合、マルチプルレンダーターゲット(MRT)とも呼ばれる。MRTは、ピクセルシェーダが、複数のレンダーターゲットにオプションで出力するのを可能にし、各レンダーターゲットは、同じ画面寸法を有するが、異なるピクセルフォーマットを有する可能性がある。
ピクセル処理動作450は、典型的に、テクスチャマッピング動作454を含み、テクスチャマッピング動作454は、1つまたは複数のシェーダ(例えば、ピクセルシェーダPS、計算シェーダCS、頂点シェーダVS、または、他の種類のシェーダ)によってある程度まで行われてよく、テクスチャユニット406によってある程度まで行われてよい。ピクセルシェーダ計算452は、画面空間座標XYからテクスチャ座標UVを計算することと、テクスチャ座標をテクスチャ動作454に送信することと、テクスチャデータTXを受信することとを含む。テクスチャ座標UVは、画面空間座標XYから任意の方法で計算できるが、典型的には、補間された入力値から、時には、前のテクスチャ動作の結果から計算される。勾配Grは、テクスチャユニット406(テクスチャ動作ハードウェアユニット)によってテクスチャ座標の4つから直接計算されることが多いが、オプションで、テクスチャユニット406がデフォルト計算を行うのに頼らずに、ピクセルシェーダ計算452によって明確に計算して、テクスチャ動作454に渡すことができる。
テクスチャ動作456は、一般に、ピクセルシェーダPSとテクスチャユニット406の何らかの組み合わせによって行うことができる以下の段階を含む。最初に、ピクセル場所XY毎の1つまたは複数のテクスチャ座標UVが、生成され、各テクスチャマッピング動作に座標集合を提供するために使用される。勾配値Grは、テクスチャ座標UVから計算され、プリミティブに適用するテクスチャの詳細度(LOD)を決定するのに使用される。
ピクセル処理450は、一般に、レンダー出力動作456で終わり、レンダー出力動作456は、ラスタ化動作(ROP)として通常知られるものを含んでよい。ラスタ化動作(ROP)は、単純に、ピクセル毎に複数回、マルチプルレンダーターゲット(MRT)のうち、各レンダーターゲットに対して一度、実行される。出力動作456中、最終ピクセル値459が、フレームバッファで決定されてよく、これは、オプションで、フラグメントを統合することと、ステンシルを適用することと、深度テストと、一定のサンプル毎の処理タスクを含んでよい。最終ピクセル値459は、アクティブなレンダーターゲット(MRT)全てへの集められた出力を含む。GPU404は、最終ピクセル値459を使用して、完成したフレーム460を構成し、完成したフレーム460は、リアルタイムでディスプレイ装置416のピクセルにオプションで表示されてよい。
ある実施態様においては、グラフィックスパイプラインは、ピクセル処理の画面解像度と計算負荷が画面空間の場所によって変わる修正ラスタ化処理440及び/または修正ピクセル処理450を実施してよい。このような修正グラフィックス処理の例は、例えば、両方とも、2014年4月5日に出願された同時係属のUS特許出願番号第14/246,066号及び第14/246,062号に記載され、その両方の内容全体は、参照により本明細書に組み込まれる。グラフィックスパイプラインを修正して、画面空間の中心窩領域に計算リソースを集中させることによって、グラフィックスパイプラインを通した計算負荷全体を低減してよい。例として、ある実施態様においては、CPUコード403、GPUコード403、及び、テクスチャユニット406は、画面上の場所に依存する可変の解像度と共に、テクスチャマッピング動作を修正するようにさらに構成されてよい。詳細には、ピクセルシェーダPS及びテクスチャユニット406は、ピクセル場所XY毎に1つまたは複数のテクスチャ座標UVを生成して、1つまたは複数のテクスチャマッピング動作に座標セットを提供し、テクスチャ座標UVから勾配値Grを計算し、勾配値を使用して、プリミティブに適用するテクスチャの詳細度(LOD)を決定するように構成できる。これらの勾配値は、サンプルの場所における可変解像度と正規直交性からのずれとを考慮するように調整できる。
[追加の態様]
本開示の態様は、コンピュータ実行可能命令を有する非一時的コンピュータ可読媒体も含み、コンピュータ実行可能命令は、実行されると、上記態様に従って、例えば、図2、図4、図5に関して記載したようなグラフィックス処理を実施する。
上記は、本発明の好ましい実施形態の完全な記載であるが、様々な代替、修正、及び、同等のものを使用することが可能である。よって、本発明の範囲は、上記記載を参照して決定されるべきではなく、代わりに、同等物の全範囲と共に、添付の請求項を参照して決定されるべきである。本明細書に記載のいかなる特徴も、好ましくても好ましくなくても、本明細書に記載の任意の他の特徴と、好ましくても好ましくなくても組み合わされてよい。以下の請求項において、不定冠詞「A」または「An」は、明示的に別段の記載がない限り、冠詞に続く項目の1つまたは複数の量を指す。添付の請求項は、ミーンズプラスファンションの制限を、このような制限が、「means for」という句を用いて所与の請求項に明示的に記載されない限り、含むと解釈されるべきではない。

Claims (38)

  1. 処理ユニットを有するグラフィックス処理システムを用いたグラフィックス処理の方法であって、
    前記処理ユニットを用いて、ディスプレイ装置の画面空間の1つまたは複数の中心窩領域を表すデータを決定することと、
    前記処理ユニットを用いて、前記画面空間の前記1つまたは複数の中心窩領域の第1の頂点密度分布と、前記画面空間の1つまたは複数の残りの領域の第2の頂点密度分布とを表す頂点密度データであって、前記第1の密度は、前記第2の密度より高い前記頂点密度データを決定することと、
    前記ディスプレイ装置の前記画面空間に投影された仮想空間のシーンの1つまたは複数のオブジェクトの第1のポリゴン集合のテッセレーションを行って、前記第1のポリゴン集合を分割して、テッセレーションされた頂点集合を表すテッセレーションされた頂点データによって表された1つまたは複数のオブジェクトの第2のポリゴン集合を生成することであって、前記テッセレーションされた頂点集合は、前記画面空間の前記1つまたは複数の中心窩領域の前記第1の頂点密度分布と、前記画面空間の前記1つまたは複数の残りの領域の前記第2の頂点密度分布とによって特徴づけられる、前記第1の頂点密度は、前記仮想空間の前記シーンの性質に依存し、前記第1の頂点密度分布は滑らかな表面限度に従い、前記第2の頂点密度分布は前記滑らかな表面限度よりも大きい誤差許容範囲を有する、前記第2のポリゴン集合を生成することと、
    前記処理ユニットを用いて、その後のグラフィックス動作を前記第2のポリゴン集合に対して行うことと、
    を含む、方法。
  2. その後のグラフィックス動作を前記第2のポリゴン集合に対して前記行うことは、前記テッセレーションされた頂点データをメモリに記憶することを含む、請求項1に記載の方法。
  3. その後のグラフィックス動作を前記第2のポリゴン集合に対して前記行うことは、前記テッセレーションされた頂点データを別の処理システムに送信することを含む、請求項1に記載の方法。
  4. その後のグラフィックス動作を前記第2のポリゴン集合に対して前記行うことは、プリミティブアセンブリを前記テッセレーションされた頂点集合に対して行って、画面空間に1つまたは複数のプリミティブを生成することを含む、請求項1に記載の方法。
  5. その後のグラフィックス動作を前記第2のポリゴン集合に対して前記行うことは、
    プリミティブアセンブリを前記テッセレーションされた頂点集合に対して行って、画面空間に1つまたは複数のプリミティブを生成することと、
    前記1つまたは複数のプリミティブに対して走査変換を行って、複数のピクセルのうちのどのピクセル(単数または複数)が前記1つまたは複数のプリミティブの対応するプリミティブの部分であるかを決定することと、
    を含む、請求項1に記載の方法。
  6. その後のグラフィックス動作を前記第2のポリゴン集合に対して前記行うことは、
    プリミティブアセンブリを前記テッセレーションされた頂点集合に対して行って、画面空間に1つまたは複数のプリミティブを生成することと、
    走査変換を前記1つまたは複数のプリミティブに対して行って、複数のピクセルのうちのどのピクセル(単数または複数)が前記1つまたは複数のプリミティブの対応するプリミティブの部分であるかを決定することと、
    前記対応するプリミティブの部分である前記ピクセル(単数または複数)にピクセル値を割り当てるピクセル処理を行うことによって、完成したフレームを生成することと、
    を含む、請求項1に記載の方法。
  7. その後のグラフィックス動作を前記第2のポリゴン集合に対して前記行うことは、
    プリミティブアセンブリを前記テッセレーションされた頂点集合に対して行って、画面空間に1つまたは複数のプリミティブを生成することと、
    走査変換を前記1つまたは複数のプリミティブに対して行って、複数のピクセルのうちのどのピクセル(単数または複数)が前記1つまたは複数のプリミティブの対応するプリミティブの部分であるか決定することと、
    前記対応するプリミティブの部分である前記ピクセル(単数または複数)にピクセル値を割り当てるピクセル処理を行うことによって、完成したフレームを生成することと、
    前記完成したフレームをメモリに記憶すること、または、前記完成したフレームを前記ディスプレイ装置に表示することと
    を含む、請求項1に記載の方法。
  8. 前記第1の頂点密度分布及び前記第2の頂点密度分布は、静的に規定される、請求項1に記載の方法。
  9. 前記第1の頂点密度分布及び前記第2の頂点密度分布は、動的に規定される、請求項1に記載の方法。
  10. 前記1つまたは複数の中心窩領域は、外部信号によって規定される、請求項1に記載の方法。
  11. 前記外部信号は、ユーザの視線が向けられている前記ディスプレイ装置上の場所を表す、請求項10に記載の方法。
  12. 前記1つまたは複数の中心窩領域は、前記画面空間の中心に近い前記画面空間の1つまたは複数の部分を含む、請求項1に記載の方法。
  13. 前記第2の頂点密度は、前記画面空間の前記1つまたは複数の中心窩領域から前記画面空間の前記1つまたは複数の残りの領域の相対的距離の関数である、請求項1に記載の方法。
  14. 前記ディスプレイ装置の前記画面空間は、曲面である、請求項1に記載の方法。
  15. 前記ディスプレイ装置は、90度以上の視野によって特徴付けられる、請求項1に記載の方法。
  16. 前記ディスプレイ装置は、ヘッドマウントディスプレイ装置である、請求項1に記載の方法。
  17. その後のグラフィックス動作を前記第2のポリゴン集合に対して行うことは、前記ディスプレイ装置に提示するために構成される完成したフレームに対応するデータを生成することを含む、請求項1に記載の方法。
  18. グラフィックス処理システムであって、
    処理ユニットと、
    メモリと、
    前記メモリに記憶され、プロセッサによって実行可能な命令であって、前記プロセッサによって実行されると、前記システムにグラフィックス処理方法を実行させるように構成された前記命令と
    を含み、前記方法は、
    前記処理ユニットを用いて、ディスプレイ装置の画面空間の1つまたは複数の中心窩領域を表すデータを決定することと、
    前記処理ユニットを用いて、前記画面空間の前記1つまたは複数の中心窩領域の第1の頂点密度分布と前記画面空間の1つまたは複数の残りの領域の第2の頂点密度分布とを表す頂点密度データであって、前記第1の密度は前記第2の密度より高い前記頂点密度データを決定することと、
    前記ディスプレイ装置の前記画面空間に投影された仮想空間のシーンの1つまたは複数のオブジェクトの第1のポリゴン集合のテッセレーションを行って、前記第1のポリゴン集合を分割することによって、テッセレーションされた頂点集合を表すテッセレーションされた頂点データによって表される前記1つまたは複数のオブジェクトの第2のポリゴン集合を生成することであって、前記テッセレーションされた頂点集合は、前記画面空間の前記1つまたは複数の中心窩領域の前記第1の頂点密度分布と、前記画面空間の前記1つまたは複数の残りの領域の前記第2の頂点密度分布とによって特徴付けられる、前記第1の頂点密度は、前記仮想空間の前記シーンの性質に依存し、前記第1の頂点密度分布は滑らかな表面限度に従い、前記第2の頂点密度分布は前記滑らかな表面限度よりも大きい誤差許容範囲を有する、前記第2のポリゴン集合を生成することと、
    前記処理ユニットを用いて、その後のグラフィックス動作を前記第2のポリゴン集合に対して行うことと、
    を含む、グラフィックス処理システム。
  19. その後のグラフィックス動作を前記第2のポリゴン集合に対して前記行うことは、前記テッセレーションされた頂点データをメモリに記憶することを含む、請求項18に記載のシステム。
  20. その後のグラフィックス動作を前記第2のポリゴン集合に対して前記行うことは、前記テッセレーションされた頂点データを別の処理システムに送信することを含む、請求項18に記載のシステム。
  21. その後のグラフィックス動作を前記第2のポリゴン集合に対して前記行うことは、プリミティブアセンブリを前記テッセレーションされた頂点集合に対して行って、画面空間に1つまたは複数のプリミティブを生成することを含む、請求項18に記載のシステム。
  22. その後のグラフィックス動作を前記第2のポリゴン集合に対して前記行うことは、
    プリミティブアセンブリを前記テッセレーションされた頂点集合に対して行って、画面空間に1つまたは複数のプリミティブを生成することと、
    走査変換を前記1つまたは複数のプリミティブに対して行って、複数のピクセルのうちのどのピクセル(単数または複数)が前記1つまたは複数のプリミティブの対応するプリミティブの部分であるかを決定することと、
    を含む、請求項18に記載のシステム。
  23. その後のグラフィックス動作を前記第2のポリゴン集合に対して前記行うことは、
    プリミティブアセンブリを前記テッセレーションされた頂点集合に対して行って、画面空間に1つまたは複数のプリミティブを生成することと、
    走査変換を前記1つまたは複数のプリミティブに行って、複数のピクセルのうちのどのピクセル(単数または複数)が前記1つまたは複数のプリミティブの対応するプリミティブの部分であるかを決定することと、
    前記対応するプリミティブの部分である前記ピクセル(単数または複数)にピクセル値を割り当てるピクセル処理を行うことによって、完成したフレームを生成することと、
    を含む、請求項18に記載のシステム。
  24. その後のグラフィックス動作を前記第2のポリゴン集合に対して前記行うことは、
    プリミティブアセンブリを前記テッセレーションされた頂点集合に対して行って、画面空間に1つまたは複数のプリミティブを生成することと、
    走査変換を前記1つまたは複数のプリミティブに対して行って、複数のピクセルのうちのどのピクセル(単数または複数)が前記1つまたは複数のプリミティブの対応するプリミティブの部分であるかを決定することと、
    前記対応するプリミティブの部分である前記ピクセル(単数または複数)にピクセル値を割り当てるピクセル処理を行うことによって、完成したフレームを生成することと、
    前記完成したフレームを前記メモリに記憶すること、または、前記完成したフレームを前記ディスプレイ装置に表示することと、
    を含む、請求項18に記載のシステム。
  25. 前記第1の頂点密度分布及び前記第2の頂点密度分布は、静的に規定される、請求項18に記載のシステム。
  26. 前記第1の頂点密度分布及び前記第2の頂点密度分布は、動的に規定される、請求項18に記載のシステム。
  27. 前記1つまたは複数の中心窩領域は、外部信号によって規定される、請求項18に記載のシステム。
  28. 前記外部信号は、ユーザの視線が向けられている前記ディスプレイ装置上の場所を表す、請求項27に記載のシステム。
  29. 前記1つまたは複数の中心窩領域は、前記画面空間の中心に近い前記画面空間の1つまたは複数の部分を含む、請求項18に記載のシステム。
  30. 前記第2の頂点密度は、前記画面空間の前記1つまたは複数の中心窩領域から前記画面空間の前記1つまたは複数の残りの領域への相対的距離の関数である、請求項18に記載のシステム。
  31. 前記ディスプレイ装置の前記画面空間は、曲面である、請求項18に記載のシステム。
  32. 前記ディスプレイ装置は、90度以上の視野によって特徴付けられる、請求項18に記載のシステム。
  33. 前記ディスプレイ装置は、ヘッドマウントディスプレイ装置である、請求項1に記載の方法。
  34. その後のグラフィックス動作を前記第2のポリゴン集合に対して行うことは、前記ディスプレイ装置に提示するために構成される完成したフレームに対応するデータを生成することを含む、請求項18に記載のシステム。
  35. コンピュータ実行可能命令を有する非一時的コンピュータ可読媒体であって、前記命令は実行されると、処理ユニットを有するグラフィックス処理システムを用いたグラフィックス処理方法を実施し、前記方法は、
    前記処理ユニットを用いて、ディスプレイ装置の画面空間の1つまたは複数の中心窩領域を表すデータを決定することと、
    前記処理ユニットを用いて、前記画面空間の前記1つまたは複数の中心窩領域の第1の頂点密度分布と、前記画面空間の1つまたは複数の残りの領域の第2の頂点密度分布とを表す頂点密度データであって、前記第1の密度は前記第2の密度より高い前記頂点密度データを決定することと、
    前記ディスプレイ装置の前記画面空間に投影された仮想空間のシーンの1つまたは複数のオブジェクトの第1のポリゴン集合のテッセレーションを行って、前記第1のポリゴン集合を分割することによって、テッセレーションされた頂点集合を表すテッセレーションされた頂点データによって表される前記1つまたは複数のオブジェクトの第2のポリゴン集合を生成することであって、前記テッセレーションされた頂点集合は、前記画面空間の前記1つまたは複数の中心窩領域の前記第1の頂点密度分布と、前記画面空間の前記1つまたは複数の残りの領域の前記第2の頂点密度分布とによって特徴づけられる、前記第1の頂点密度は、前記仮想空間の前記シーンの性質に依存し、前記第1の頂点密度分布は滑らかな表面限度に従い、前記第2の頂点密度分布は前記滑らかな表面限度よりも大きい誤差許容範囲を有する、前記第2のポリゴン集合を生成することと、
    前記処理ユニットを用いて、その後のグラフィックス動作を前記第2のポリゴン集合に対して行うことと、
    を含む、非一時的コンピュータ可読媒体。
  36. 前記1つまたは複数の中心窩領域は、ユーザが関心をもつと文脈的に規定された1つまたは複数のオブジェクトに対応する、請求項1に記載の方法。
  37. 前記1つまたは複数の中心窩領域は、ユーザが関心をもつと文脈的に規定された1つまたは複数のオブジェクトに対応する、請求項18に記載のシステム。
  38. 前記1つまたは複数の中心窩領域は、ユーザが関心をもつと文脈的に規定された1つまたは複数のオブジェクトに対応する、請求項35に記載の非一時的コンピュータ可読媒体。
JP2018518443A 2015-10-29 2016-10-25 中心窩ジオメトリテッセレーション Active JP7004645B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/927,157 US10726619B2 (en) 2015-10-29 2015-10-29 Foveated geometry tessellation
US14/927,157 2015-10-29
PCT/US2016/058718 WO2017074961A1 (en) 2015-10-29 2016-10-25 Foveated geometry tessellation

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2020219404A Division JP7098710B2 (ja) 2015-10-29 2020-12-28 中心窩ジオメトリテッセレーション

Publications (2)

Publication Number Publication Date
JP2018537755A JP2018537755A (ja) 2018-12-20
JP7004645B2 true JP7004645B2 (ja) 2022-01-21

Family

ID=58631050

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2018518443A Active JP7004645B2 (ja) 2015-10-29 2016-10-25 中心窩ジオメトリテッセレーション
JP2020219404A Active JP7098710B2 (ja) 2015-10-29 2020-12-28 中心窩ジオメトリテッセレーション

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2020219404A Active JP7098710B2 (ja) 2015-10-29 2020-12-28 中心窩ジオメトリテッセレーション

Country Status (5)

Country Link
US (2) US10726619B2 (ja)
EP (1) EP3368999B1 (ja)
JP (2) JP7004645B2 (ja)
CN (1) CN108351864B (ja)
WO (1) WO2017074961A1 (ja)

Families Citing this family (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11403099B2 (en) 2015-07-27 2022-08-02 Sony Interactive Entertainment LLC Backward compatibility by restriction of hardware resources
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
US10134188B2 (en) * 2015-12-21 2018-11-20 Intel Corporation Body-centric mobile point-of-view augmented and virtual reality
KR102558737B1 (ko) * 2016-01-04 2023-07-24 삼성전자주식회사 3d 렌더링 방법 및 장치
US10643296B2 (en) 2016-01-12 2020-05-05 Qualcomm Incorporated Systems and methods for rendering multiple levels of detail
US10643381B2 (en) * 2016-01-12 2020-05-05 Qualcomm Incorporated Systems and methods for rendering multiple levels of detail
US10915333B2 (en) 2016-03-30 2021-02-09 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
US10275239B2 (en) 2016-03-30 2019-04-30 Sony Interactive Entertainment Inc. Deriving application-specific operating parameters for backwards compatiblity
US10169846B2 (en) * 2016-03-31 2019-01-01 Sony Interactive Entertainment Inc. Selective peripheral vision filtering in a foveated rendering system
US10192528B2 (en) 2016-03-31 2019-01-29 Sony Interactive Entertainment Inc. Real-time user adaptive foveated rendering
US10372205B2 (en) 2016-03-31 2019-08-06 Sony Interactive Entertainment Inc. Reducing rendering computation and power consumption by detecting saccades and blinks
US10401952B2 (en) 2016-03-31 2019-09-03 Sony Interactive Entertainment Inc. Reducing rendering computation and power consumption by detecting saccades and blinks
US10410313B2 (en) * 2016-08-05 2019-09-10 Qualcomm Incorporated Dynamic foveation adjustment
US10482648B2 (en) * 2016-12-13 2019-11-19 Qualcomm Incorporated Scene-based foveated rendering of graphics content
US11222397B2 (en) * 2016-12-23 2022-01-11 Qualcomm Incorporated Foveated rendering in tiled architectures
KR102623391B1 (ko) * 2017-01-10 2024-01-11 삼성전자주식회사 영상 출력 방법 및 이를 지원하는 전자 장치
CN110520781A (zh) 2017-03-27 2019-11-29 阿维甘特公司 可转向中央凹显示器
US10424107B2 (en) 2017-04-01 2019-09-24 Intel Corporation Hierarchical depth buffer back annotaton
US20180300951A1 (en) * 2017-04-17 2018-10-18 Intel Corporation Adaptive tessellation for foveated rendering
US11010953B2 (en) 2017-04-21 2021-05-18 Intel Corporation Dedicated fixed point blending for energy efficiency
US10885607B2 (en) 2017-06-01 2021-01-05 Qualcomm Incorporated Storage for foveated rendering
US10546364B2 (en) * 2017-06-05 2020-01-28 Google Llc Smoothly varying foveated rendering
CN110891659B (zh) * 2017-06-09 2021-01-29 索尼互动娱乐股份有限公司 对注视点渲染系统中的粒子和模拟模型的优化的延迟照明和中心凹调适
US10755383B2 (en) 2017-09-29 2020-08-25 Apple Inc. Multi-space rendering with configurable transformation parameters
US10178619B1 (en) 2017-09-29 2019-01-08 Intel Corporation Advanced graphics power state management
US10699374B2 (en) * 2017-12-05 2020-06-30 Microsoft Technology Licensing, Llc Lens contribution-based virtual reality display rendering
CN115842907A (zh) * 2018-03-27 2023-03-24 京东方科技集团股份有限公司 渲染方法、计算机产品及显示装置
US10942564B2 (en) 2018-05-17 2021-03-09 Sony Interactive Entertainment Inc. Dynamic graphics rendering based on predicted saccade landing point
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
US10764581B2 (en) 2018-05-24 2020-09-01 Lockhead Martin Corporation Multi-resolution regionalized data transmission
CN108830924B (zh) * 2018-06-20 2022-06-10 福建省亿鑫海信息科技有限公司 一种场景模型显示方法及终端
WO2020118276A1 (en) 2018-12-07 2020-06-11 Avegant Corp. Steerable positioning element
CA3125739A1 (en) 2019-01-07 2020-07-16 Avegant Corp. Control system and rendering pipeline
EP3948399A1 (en) 2019-03-29 2022-02-09 Avegant Corp. Steerable hybrid display using a waveguide
JP7392105B2 (ja) * 2019-07-28 2023-12-05 グーグル エルエルシー 没入型ビデオコンテンツをフォービエイテッドメッシュを用いてレンダリングするための方法、システム、および媒体
EP4062225A4 (en) 2020-01-06 2023-12-27 Avegant Corp. HEAD MOUNTED SYSTEM WITH COLOR SPECIFIC MODULATION
US11363247B2 (en) * 2020-02-14 2022-06-14 Valve Corporation Motion smoothing in a distributed system
CN114187397B (zh) * 2021-12-06 2023-03-21 完美世界(北京)软件科技发展有限公司 虚拟毛发渲染方法、装置、介质、电子设备及程序产品

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003288609A (ja) 2002-01-28 2003-10-10 Konami Co Ltd 3次元画像処理プログラム、3次元画像処理装置、3次元画像処理方法及びビデオゲーム装置
US6940505B1 (en) 2002-05-20 2005-09-06 Matrox Electronic Systems Ltd. Dynamic tessellation of a base mesh
JP2013201720A (ja) 2012-03-26 2013-10-03 Canon Inc 情報処理装置、その処理方法及びプログラム
WO2015153169A1 (en) 2014-04-05 2015-10-08 Sony Computer Entertainment America Llc Varying effective resolution by screen location in graphics processing by approximating projection of vertices onto curved viewport

Family Cites Families (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6137492A (en) * 1997-04-03 2000-10-24 Microsoft Corporation Method and system for adaptive refinement of progressive meshes
US6850235B2 (en) * 2000-12-27 2005-02-01 Fly Over Technologies Inc. Efficient image parcel texture rendering with T-junction crack elimination
US7023580B2 (en) * 2001-04-20 2006-04-04 Agilent Technologies, Inc. System and method for digital image tone mapping using an adaptive sigmoidal function based on perceptual preference guidelines
US6809731B2 (en) * 2002-01-08 2004-10-26 Evans & Sutherland Computer Corporation System and method for rendering high-resolution critical items
US7495638B2 (en) * 2003-05-13 2009-02-24 Research Triangle Institute Visual display with increased field of view
EP1503345A1 (en) * 2003-07-30 2005-02-02 Koninklijke Philips Electronics N.V. System for adaptive resampling in texture mapping
US7382369B2 (en) * 2003-10-10 2008-06-03 Microsoft Corporation Systems and methods for robust sampling for real-time relighting of objects in natural lighting environments
CN101006471B (zh) * 2004-06-16 2010-09-01 Nxp股份有限公司 反向纹理映射三维图形系统
JP4462132B2 (ja) * 2005-07-04 2010-05-12 ソニー株式会社 画像特殊効果装置,グラフィックスプロセッサ,プログラム
CA2638453C (en) * 2006-03-14 2010-11-09 Transgaming Technologies Inc. General purpose software parallel task engine
US20070247458A1 (en) * 2006-04-11 2007-10-25 Samsung Electronics Co., Ltd. Adaptive computation of subdivision surfaces
US8446509B2 (en) * 2006-08-09 2013-05-21 Tenebraex Corporation Methods of creating a virtual window
US20090189896A1 (en) * 2008-01-25 2009-07-30 Via Technologies, Inc. Graphics Processor having Unified Shader Unit
GB2460411B (en) * 2008-05-27 2012-08-08 Simpleware Ltd Image processing method
US20100253683A1 (en) * 2009-04-01 2010-10-07 Munkberg Carl J Non-uniform tessellation technique
US8379718B2 (en) 2009-09-02 2013-02-19 Sony Computer Entertainment Inc. Parallel digital picture encoding
US20120287163A1 (en) * 2011-05-10 2012-11-15 Apple Inc. Scaling of Visual Content Based Upon User Proximity
US9019280B2 (en) * 2011-07-22 2015-04-28 Qualcomm Incorporated Area-based rasterization techniques for a graphics processing system
US9323325B2 (en) * 2011-08-30 2016-04-26 Microsoft Technology Licensing, Llc Enhancing an object of interest in a see-through, mixed reality display device
US20130094753A1 (en) * 2011-10-18 2013-04-18 Shane D. Voss Filtering image data
US9347792B2 (en) * 2011-10-31 2016-05-24 Honeywell International Inc. Systems and methods for displaying images with multi-resolution integration
US9922442B2 (en) 2012-07-18 2018-03-20 Arm Limited Graphics processing unit and method for performing tessellation operations
US9305397B2 (en) * 2012-10-24 2016-04-05 Qualcomm Incorporated Vertex order in a tessellation unit
EP2745892B1 (en) * 2012-12-21 2018-12-12 Dassault Systèmes Partition of a 3D scene into a plurality of zones processed by a computing resource
US9727991B2 (en) * 2013-03-01 2017-08-08 Microsoft Technology Licensing, Llc Foveated image rendering
JP6153366B2 (ja) * 2013-03-29 2017-06-28 株式会社バンダイナムコエンターテインメント 画像生成システム及びプログラム
US20140347363A1 (en) 2013-05-22 2014-11-27 Nikos Kaburlasos Localized Graphics Processing Based on User Interest
US10255650B2 (en) 2013-05-24 2019-04-09 Sony Interactive Entertainment Inc. Graphics processing using dynamic resources
US9495722B2 (en) 2013-05-24 2016-11-15 Sony Interactive Entertainment Inc. Developer controlled layout
KR102104057B1 (ko) * 2013-07-09 2020-04-23 삼성전자 주식회사 점별로 테셀레이션 팩터를 할당하는 방법과 상기 방법을 수행할 수 있는 장치들
US9480397B2 (en) 2013-09-24 2016-11-01 Sony Interactive Entertainment Inc. Gaze tracking variations using visible lights or dots
EP3048949B1 (en) 2013-09-24 2019-11-20 Sony Interactive Entertainment Inc. Gaze tracking variations using dynamic lighting position
US9781360B2 (en) 2013-09-24 2017-10-03 Sony Interactive Entertainment Inc. Gaze tracking variations using selective illumination
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
US10438312B2 (en) 2014-04-05 2019-10-08 Sony Interactive Entertainment LLC Method for efficient re-rendering objects to vary viewports and under varying rendering and rasterization parameters
US10007333B2 (en) * 2014-11-07 2018-06-26 Eye Labs, LLC High resolution perception of content in a wide field of view of a head-mounted display
US20160274365A1 (en) * 2015-03-17 2016-09-22 Thalmic Labs Inc. Systems, devices, and methods for wearable heads-up displays with heterogeneous display quality
US10726619B2 (en) 2015-10-29 2020-07-28 Sony Interactive Entertainment Inc. Foveated geometry tessellation

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003288609A (ja) 2002-01-28 2003-10-10 Konami Co Ltd 3次元画像処理プログラム、3次元画像処理装置、3次元画像処理方法及びビデオゲーム装置
US6940505B1 (en) 2002-05-20 2005-09-06 Matrox Electronic Systems Ltd. Dynamic tessellation of a base mesh
JP2013201720A (ja) 2012-03-26 2013-10-03 Canon Inc 情報処理装置、その処理方法及びプログラム
WO2015153169A1 (en) 2014-04-05 2015-10-08 Sony Computer Entertainment America Llc Varying effective resolution by screen location in graphics processing by approximating projection of vertices onto curved viewport

Also Published As

Publication number Publication date
JP7098710B2 (ja) 2022-07-11
JP2018537755A (ja) 2018-12-20
CN108351864B (zh) 2022-12-23
CN108351864A (zh) 2018-07-31
US10726619B2 (en) 2020-07-28
EP3368999A1 (en) 2018-09-05
EP3368999A4 (en) 2019-04-24
JP2021061041A (ja) 2021-04-15
US20170124760A1 (en) 2017-05-04
WO2017074961A1 (en) 2017-05-04
US20200320787A1 (en) 2020-10-08
US11270506B2 (en) 2022-03-08
EP3368999B1 (en) 2024-02-07

Similar Documents

Publication Publication Date Title
JP7098710B2 (ja) 中心窩ジオメトリテッセレーション
JP6903183B2 (ja) 曲面ビューポート上に頂点の投影を近似することによる、グラフィックス処理における画面位置に基づく有効解像度の変化
US10614549B2 (en) Varying effective resolution by screen location by changing active color sample count within multiple render targets
US11232534B2 (en) Scheme for compressing vertex shader output parameters
US10719912B2 (en) Scaling and feature retention in graphical elements defined based on functions
US8482567B1 (en) Line rasterization techniques
US11302054B2 (en) Varying effective resolution by screen location by changing active color sample count within multiple render targets
JP2023510164A (ja) ハイブリッドビニング

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20181019

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20191029

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20191126

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200127

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200602

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200803

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20200929

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20201228

C60 Trial request (containing other claim documents, opposition documents)

Free format text: JAPANESE INTERMEDIATE CODE: C60

Effective date: 20201228

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

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20210112

C21 Notice of transfer of a case for reconsideration by examiners before appeal proceedings

Free format text: JAPANESE INTERMEDIATE CODE: C21

Effective date: 20210119

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

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20210226

C211 Notice of termination of reconsideration by examiners before appeal proceedings

Free format text: JAPANESE INTERMEDIATE CODE: C211

Effective date: 20210302

C22 Notice of designation (change) of administrative judge

Free format text: JAPANESE INTERMEDIATE CODE: C22

Effective date: 20211005

C23 Notice of termination of proceedings

Free format text: JAPANESE INTERMEDIATE CODE: C23

Effective date: 20211109

C03 Trial/appeal decision taken

Free format text: JAPANESE INTERMEDIATE CODE: C03

Effective date: 20211214

C30A Notification sent

Free format text: JAPANESE INTERMEDIATE CODE: C3012

Effective date: 20211214

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220104

R150 Certificate of patent or registration of utility model

Ref document number: 7004645

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150