(57)【要約】      （修正有）【課題】スクリーンの位置によって有効解像度を変動させるグラフィクス処理ユニットを有するグラフィクス処理システム及びグラフィクス処理方法を提供する。【解決手段】コンピュータシステム３００において、グラフィクス処理ユニット（ＧＰＵ）は、ディスプレイデバイスの複数の領域の中のディスプレイデバイスの特定の領域についてのアクティブサンプル構成を指定するメタデータを受信し、特定の領域内の１つまたは複数のピクセルのピクセルデータを受信する。ピクセルデータは、各ピクセルについて同じ数のカラーサンプルを指定する。特定の領域内の各ピクセルについて、ＧＰＵは、構成によってアクティブサンプルであると指定されるカラーサンプルについてだけピクセルシェーダを呼び出す。【選択図】図３Ａ
2020170506.tif 000002
【特許請求の範囲】
【請求項１】
ディスプレイデバイスに結合されたグラフィクス処理ユニットを有するグラフィクス処理システムによるグラフィクス処理方法であって、
ディスプレイデバイスのスクリーンの複数の領域の中にある、ディスプレイの特定の領域内の各ピクセルについて、異なる解像度を有する前記ディスプレイの領域に対する異なるアクティブサンプル構成を指定するメタデータによってアクティブサンプルであると指定されるカラーサンプルについてだけピクセルシェーダを呼び出すことであって、ピクセルデータは、前記ディスプレイの全表面にわたって各ピクセルに対して同じ数のカラーサンプルを指定するものである、前記ピクセルシェーダを呼び出すことと、
前記ピクセルシェーダを用いて生成されたテキスチャ座標に対する勾配値を計算して前記異なるアクティブサンプル構成に対して補正することとを含む、方法。
【請求項２】
前記メタデータは、前記特定の領域についてのアクティブサンプルのマスクを指定し、アクティブサンプルについてだけ前記ピクセルシェーダを呼び出すことは、前記マスクと、プリミティブによってカバーされるサンプルのセットとの間で論理ＡＮＤを実施し、前記ピクセルシェーダが呼び出される前記プリミティブについて前記アクティブサンプルを決定することを含む、請求項１に記載の方法。
【請求項３】
前記メタデータは、前記複数の領域の前記特定の領域についてアクティブサンプルカウントを指定し、前記アクティブサンプルカウントは、カラーサンプルの前記数以下であり、カラーサンプルの前記数は２以上であり、
アクティブサンプルについてだけ前記ピクセルシェーダを呼び出すことは、前記特定の領域内の各ピクセルについて、前記アクティブサンプルカウントに等しい前記ピクセルの或る数の前記カラーサンプルについてだけピクセルシェーダを呼び出すことを含む、請求項１に記載の方法。
【請求項４】
前記メタデータは、前記スクリーンの中心の近くに位置する前記複数の領域の１つまたは複数の領域についてのアクティブサンプルカウントが、前記スクリーンの周辺の近くに位置する前記複数の領域の１つまたは複数の領域についてのアクティブサンプルカウントより大きいように構成される、請求項１に記載の方法。
【請求項５】
前記メタデータは、前記スクリーンの中心の近くに位置する前記複数の領域の１つまたは複数の領域についてのアクティブサンプルカウントが、前記スクリーンの縁の近くに位置する前記複数の領域の１つまたは複数の領域についてのアクティブサンプルカウントより大きいように構成され、前記スクリーンの前記縁の近くに位置する前記１つまたは複数の領域についての前記アクティブサンプルカウントは、前記スクリーンの角の近くに位置する前記複数の領域の１つまたは複数の領域についてのアクティブサンプルカウントより大きい、請求項１に記載の方法。
【請求項６】
前記ディスプレイデバイスは、９０°以上の視野を特徴とする、請求項１に記載の方法。
【請求項７】
前記ディスプレイデバイスは、頭部搭載型ディスプレイデバイスである、請求項１に記載の方法。
【請求項８】
ユーザが見ている前記ディスプレイデバイスのスクリーンの部分を決定することを更に含み、前記メタデータは、前記ユーザが見ている前記部分を含む前記スクリーンの１つまたは複数のサブセクションについてピクセル解像度が最も高くなるように前記ピクセル解像度を変えるように構成される、請求項１に記載の方法。
【請求項９】
前記メタデータは、所与の光学部品及び前記ディスプレイデバイスの所与の視野について静的である、請求項１に記載の方法。
【請求項１０】
前記複数の領域の各領域は、前記スクリーンの固定サイズ部分に対応する、請求項１に記載の方法。
【請求項１１】
前記複数の領域の各領域は、前記スクリーンの可変サイズ部分に対応する、請求項１に記載の方法。
【請求項１２】
前記メタデータは、前記複数の領域の各領域を垂直及び水平方向にピクセルの範囲によって画定する、請求項１に記載の方法。
【請求項１３】
前記メタデータは、前記複数の領域の各領域を或るサイズの粗いラスター化タイルによって画定する、請求項１に記載の方法。
【請求項１４】
前記複数の領域の特定の領域に関連する前記メタデータの部分は、前記特定の領域についてのアクティブカラーサンプルカウントを指定する情報を含む、請求項１に記載の方法。
【請求項１５】
前記メタデータは、メモリ及び／またはグラフィクスメモリ内のテーブルの形態で格納される、請求項１に記載の方法。
【請求項１６】
グラフィクス処理システムであって、
グラフィクス処理ユニット（ＧＰＵ）を備え、前記グラフィクス処理ユニット（ＧＰＵ）は、
ディスプレイデバイスのスクリーンの複数の領域の中にある、ディスプレイの特定の領域内の各ピクセルについて、異なる解像度を有する前記ディスプレイの領域に対する異なるアクティブサンプル構成を指定するメタデータによってアクティブサンプルであると指定されるカラーサンプルについてだけピクセルシェーダを呼び出す、ように構成され、ピクセルデータは、前記ディスプレイの全表面にわたって各ピクセルに対して同じ数のカラーサンプルを指定するものであり、
前記ピクセルシェーダを用いて生成されたテキスチャ座標に対する勾配値を計算して前記異なるアクティブサンプル構成に対して補正する、ように構成される、システム。
【請求項１７】
前記メタデータは、前記特定の領域についてのアクティブサンプルのマスクを指定し、アクティブサンプルについてだけ前記ピクセルシェーダを呼び出すことは、前記マスクと、プリミティブによってカバーされるサンプルのセットとの間で論理ＡＮＤを実施し、前記ピクセルシェーダが呼び出される前記プリミティブについて前記アクティブサンプルを決定することを含む、請求項１６に記載のシステム。
【請求項１８】
前記メタデータは、前記複数の領域の前記特定の領域についてアクティブサンプルカウントを指定し、前記アクティブサンプルカウントは、カラーサンプルの前記数以下であり、カラーサンプルの前記数は２以上であり、
前記ＧＰＵは、前記特定の領域内の各ピクセルについて、前記アクティブサンプルカウントに等しい前記ピクセルの或る数の前記カラーサンプルについてだけピクセルシェーダを呼び出すことを含む、アクティブサンプルについてだけ前記ピクセルシェーダを呼び出すように構成される、請求項１６に記載のシステム。
【請求項１９】
前記メタデータは、前記スクリーンの中心の近くに位置する前記複数の領域の１つまたは複数の領域についてのアクティブサンプルカウントが、前記スクリーンの周辺の近くに位置する前記複数の領域の１つまたは複数の領域についてのアクティブサンプルカウントより大きいように構成される、請求項１６に記載のシステム。
【請求項２０】
前記メタデータは、前記スクリーンの中心の近くに位置する前記複数の領域の１つまたは複数の領域についてのアクティブサンプルカウントが、前記スクリーンの縁の近くに位置する前記複数の領域の１つまたは複数の領域についてのアクティブサンプルカウントより大きいように構成され、前記スクリーンの前記縁の近くに位置する前記１つまたは複数の領域についての前記アクティブサンプルカウントは、前記スクリーンの角の近くに位置する前記複数の領域の１つまたは複数の領域についてのアクティブサンプルカウントより大きい、請求項１６に記載のシステム。
【請求項２１】
前記ディスプレイデバイスを更に備え、前記ディスプレイデバイスは、９０°以上の視野を特徴とする、請求項１６に記載のシステム。
【請求項２２】
前記ディスプレイデバイスを更に備え、前記ディスプレイデバイスは、頭部搭載型ディスプレイデバイスである、請求項１６に記載のシステム。
【請求項２３】
ユーザが見ている前記ディスプレイデバイスのスクリーンの部分を決定するように構成され、前記メタデータは、前記ユーザが見ている前記部分を含む前記スクリーンの１つまたは複数のサブセクションについてピクセル解像度が最も高くなるように前記ピクセル解像度を変えるように構成される、請求項１６に記載のシステム。
【請求項２４】
所与の光学部品及び前記ディスプレイデバイスの所与の視野について静的メタデータを使用するように構成される、請求項１６に記載のシステム。
【請求項２５】
前記複数の領域の各領域は、前記スクリーンの固定サイズ部分に対応する、請求項１６に記載のシステム。
【請求項２６】
前記複数の領域の各領域は、前記スクリーンの可変サイズ部分に対応する、請求項１６に記載のシステム。
【請求項２７】
前記メタデータは、前記複数の領域の各領域を垂直及び水平方向にピクセルの範囲によって画定する、請求項１６に記載のシステム。
【請求項２８】
前記メタデータは、前記複数の領域の各領域を或るサイズの粗いラスター化タイルによって画定する、請求項１６に記載のシステム。
【請求項２９】
前記複数の領域の特定の領域に関連する前記メタデータの部分は、前記特定の領域についてのアクティブカラーサンプルカウントを指定する情報を含む、請求項１６に記載のシステム。
【請求項３０】
メモリ及び／またはグラフィクスメモリを更に備え、前記メタデータは、前記メモリ及び／または前記グラフィクスメモリ内のテーブルの形態で格納される、請求項１６に記載のシステム。
【請求項３１】
非一時的コンピュータ可読媒体であって、非一時的コンピュータ可読媒体内で具現化されるコンピュータ実行可能命令を有し、前記コンピュータ実行可能命令は、実行されると、ディスプレイデバイスに結合されたグラフィクス処理ユニットを有するグラフィクス処理システムによるグラフィクス処理方法を実装し、前記方法は、
ディスプレイデバイスのスクリーンの複数の領域の中にある、ディスプレイの特定の領域内の各ピクセルについて、異なる解像度を有する前記ディスプレイの領域に対する異なるアクティブサンプル構成を指定するメタデータによってアクティブサンプルであると指定されるカラーサンプルについてだけピクセルシェーダを呼び出すことであって、ピクセルデータは、前記ディスプレイの全表面にわたって各ピクセルに対して同じ数のカラーサンプルを指定するものである、前記ピクセルシェーダを呼び出すことと、
前記ピクセルシェーダを用いて生成されたテキスチャ座標に対する勾配値を計算して前記異なるアクティブサンプル構成に対して補正することとを含む、非一時的コンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
［関連出願の相互参照］
本出願は、本出願と同じ日に出願され、その全体の内容が参照により本明細書に組込まれる、「ＭＥＴＨＯＤ  ＦＯＲ  ＥＦＦＩＣＩＥＮＴ  ＣＯＮＳＴＲＵＣＴＩＯＮ  ＯＦ  ＨＩＧＨ  ＲＥＳＯＬＵＴＩＯＮ  ＤＩＳＰＬＡＹ  ＢＵＦＦＥＲＳ（高解像度ディスプレイ・バッファの効果的な製造方法）」という名称のＴｏｂｉａｓ  Ｂｅｒｇｈｏｆｆによる、同一出願人による同時係属中の米国特許出願第１４／２４６，０６４号（代理人文書番号第ＳＣＥＡ１３０５５ＵＳ００）に関連する。
【０００２】
本出願は、２０１４年４月５日に出願され、その全体の内容が参照により本明細書に組込まれる、「ＧＲＡＰＨＩＣＳ  ＰＲＯＣＥＳＳＩＮＧ  ＥＮＨＡＮＣＥＭＥＮＴ  ＢＹ  ＴＲＡＣＫＩＮＧ  ＯＢＪＥＣＴ  ＡＮＤ／ＯＲ  ＰＲＩＭＩＴＩＶＥ  ＩＤＥＮＴＩＦＩＥＲＳ（物体追跡及び／またはプリミティブ識別子によるグラフィック処理向上）」という名称のＴｏｂｉａｓ  Ｂｅｒｇｈｏｆｆによる、同一出願人による同時係属中の米国特許出願第１４／２４６，０６７号（代理人文書番号第ＳＣＥＡ１３０５６ＵＳ００）に関連する。
【０００３】
本出願は、２０１４年４月５日に出願され、その全体の内容が参照により本明細書に組込まれる、「ＧＲＡＤＩＥＮＴ  ＡＤＪＵＳＴＭＥＮＴ  ＦＯＲ  ＴＥＸＴＵＲＥ  ＭＡＰＰＩＮＧ  ＴＯ  ＮＯＮ−ＯＲＴＨＯＮＯＲＭＡＬ  ＧＲＩＤ（非正規直交性格子に対するテキスチャマッピングの傾き調整）」という名称のＭａｒｋ  Ｅｖａｎ  Ｃｅｒｎｙによる、同一出願人による同時係属中の米国特許出願第１４／２４６，０６８号（代理人文書番号第ＳＣＥＡ１３０５７ＵＳ００）に関連する。
【０００４】
本出願は、２０１４年４月５日に出願され、その全体の内容が参照により本明細書に組込まれる、「ＶＡＲＹＩＮＧ  ＥＦＦＥＣＴＩＶＥ  ＲＥＳＯＬＵＴＩＯＮ  ＢＹ  ＳＣＲＥＥＮ  ＬＯＣＡＴＩＯＮ  ＢＹ  ＡＬＴＥＲＩＮＧ  ＲＡＳＴＥＲＩＺＡＴＩＯＮ  ＰＡＲＡＭＥＴＥＲＳ（ラスター化パラメータを変更することによりスクリーンの位置によって変化する有効解像度）」という名称のＭａｒｋ  Ｅｖａｎ  Ｃｅｒｎｙによる、同一出願人による同時係属中の米国特許出願第１４／２４６，０６３号（代理人文書番号第ＳＣＥＡ１３０５９ＵＳ００）に関連する。
【０００５】
本出願は、２０１４年４月５日に出願され、その全体の内容が参照により本明細書に組込まれる、「ＶＡＲＹＩＮＧ  ＥＦＦＥＣＴＩＶＥ  ＲＥＳＯＬＵＴＩＯＮ  ＢＹ  ＳＣＲＥＥＮ  ＬＯＣＡＴＩＯＮ  ＩＮ  ＧＲＡＰＨＩＣＳ  ＰＲＯＣＥＳＳＩＮＧ  ＢＹ  ＡＰＰＲＯＸＩＭＡＴＩＮＧ  ＰＲＯＪＥＣＴＩＯＮ  ＯF  ＶＥＲＴＩＣＥＳ  ＯＮＴＯ  ＣＵＲＶＥＤ  ＶＩＥＷＰＯＲＴ（湾曲したビューポートに近似の頂点の投影によるグラフィック処理におけるスクリーンの位置によって変化する有効解像度）」という名称のＭａｒｋ  Ｅｖａｎ  Ｃｅｒｎｙによる、同一出願人による同時係属中の米国特許出願第１４／２４６，０６６号（代理人文書番号第ＳＣＥＡ１３０６０ＵＳ００）に関連する。
【０００６】
本出願は、２０１４年４月５日に出願され、その全体の内容が参照により本明細書に組込まれる、「ＧＲＡＤＩＥＮＴ  ＡＤＪＵＳＴＭＥＮＴ  ＦＯＲ  ＴＥＸＴＵＲＥ  ＭＡＰＰＩＮＧ  ＦＯＲ  ＭＵＬＴＩＰＬＥ  ＲＥＮＤＥＲ  ＴＡＲＧＥＴＳ  ＷＩＴＨ  ＲＥＳＯＬＵＴＩＯＮ  ＴＨＡＴ  ＶＡＲＩＥＳ  ＢＹ  ＳＣＲＥＥＮ  ＬＯＣＡＴＩＯＮ（スクリーンの位置によって異なる解像度のターゲットの複数レンダリングのテキスチャマッピングの傾き調整）」という名称のＭａｒｋ  Ｅｖａｎ  Ｃｅｒｎｙによる、同一出願人による同時係属中の米国特許出願第１４／２４６，０６２号（代理人文書番号第ＳＣＥＡ１３０６１ＵＳ００）に関連する。
【０００７】
［技術分野］
本開示の態様は、コンピュータグラフィクスに関する。特に、本開示は、スクリーンの位置によって解像度を変更することに関する。
【背景技術】
【０００８】
グラフィクス処理は、通常、２つのプロセッサ、中央処理ユニット（ＣＰＵ）とグラフィクス処理ユニット（ＧＰＵ）の連携を必要とする。ＧＰＵは、ディスプレイに出力するために意図されたフレームバッファ内での画像の生成を加速するように設計された専用電子回路である。ＧＰＵは、埋め込みシステム、携帯電話、パーソナルコンピュータ、タブレットコンピュータ、可搬型ゲームデバイス、ワークステーション、及びゲームコンソールにおいて使用される。ＧＰＵは、通常、コンピュータグラフィクスを操作するときに効率的であるように設計される。ＧＰＵは、しばしば、並列性が高い処理アーキテクチャを有し、並列性が高い処理アーキテクチャは、データの大きなブロックの処理が並列に行われるアルゴリズムについて汎用ＣＰＵに比べてＧＰＵを効率的にする。
【０００９】
ＣＰＵは、描画コマンドと一般に呼ばれるＧＰＵ命令を送信してもよく、描画コマンドは、特定のグラフィクス処理タスクを実装するよう、例えば、画像内の直前のフレームに対して変化した特定のテキスチャをレンダーするようＧＰＵに指令する。これらの描画コマンドは、グラフィクスのアプリケーションプログラミングインタフェース（ＡＰＩ）を有するＣＰＵによって連携されて、特定のアプリケーションの仮想環境の状態に対応するグラフィクスレンダリングコマンドを出してもよい。
【００１０】
特定のプログラムについてテキスチャをレンダーするため、ＧＰＵは、一連の処理タスクを「グラフィクスパイプライン」で実施して、仮想環境内のビジュアルをディスプレイ上でレンダーされる可能性がある画像に変換してもよい。典型的なグラフィクスパイプラインは、仮想空間内の仮想オブジェクトに対する或るレンダリングまたはシェーディング演算、ディスプレイに出力するのに適したピクセルデータを生成するシーン内での仮想オブジェクトの変換及びラスター化、並びに、被レンダー画像をディスプレイ上に出力する前の、ピクセル（またはフラグメント）に対する更なるレンダリングタスクを実施することを含んでもよい。
【００１１】
画像の仮想オブジェクトは、仮想シーン内でオブジェクトの形状を共に作るプリミティブとして知られる形状によって仮想空間内でしばしば記述される。例えば、レンダーされる３次元仮想世界内のオブジェクトは、３次元空間内の座標によって規定される頂点を有する一連の別個の三角形プリミティブに分解されてもよく、それにより、これらのポリゴンはオブジェクトの表面を構成する。各ポリゴンは、所与のポリゴンを他のポリゴンから区別するためにグラフィクス処理システムによって使用される可能性がある関連するインデックスを有してもよい。同様に、各頂点は、所与の頂点を他の頂点から区別するために使用される可能性がある関連するインデックスを有してもよい。グラフィクスパイプラインは、これらのプリミティブに或る演算を実施して、仮想シーンについてのビジュアルを生成し、このデータを、ディスプレイのピクセルによる再生に適する２次元フォーマットに変換してもよい。本明細書で使用される用語、グラフィクスプリミティブ情報（または単に「プリミティブ情報」）は、グラフィクスプリミティブを表すデータを指すために使用される。こうしたデータは、頂点情報（例えば、頂点位置または頂点インデックスを表すデータ）、及び、ポリゴン情報、例えばポリゴンインデックス、及び、特定の頂点を特定のポリゴンに関連付ける情報を含むが、それに限定されない。
【００１２】
グラフィクスパイプラインの一部として、ＧＰＵは、シェーダとして一般に知られるプログラムを実装することによってレンダリングタスクを実施してもよい。典型的なグラフィクスパイプラインは、頂点シェーダであって、頂点ごとにプリミティブの或る特性を操作してもよい、頂点シェーダ、並びに、ピクセルシェーダ（「フラグメントシェーダ」としても知られる）であって、グラフィクスパイプラインにおいて頂点シェーダから下流に演算し、また、ピクセルデータをディスプレイに送信する前にピクセルごとに或る値を操作してもよい、ピクセルシェーダを含んでもよい。フラグメントシェーダは、テキスチャをプリミティブに適用することに関連する値を操作してもよい。パイプラインは、同様に、頂点シェーダの出力を使用してプリミティブの新しいセットを生成する幾何形状シェーダ、並びに、或る他の一般的な計算タスクを実施するためＧＰＵによって実装される場合があるコンピュートシェーダ（ＣＳ）等の、パイプライン内の種々のステージにおける他のシェーダを含んでもよい。
【発明の概要】
【発明が解決しようとする課題】
【００１３】
広い視野（ＦＯＶ）を有するグラフィカルディスプレイデバイスが開発されてきた。こうしたデバイスは、頭部搭載型ディスプレイ（ＨＭＤ）デバイスを含む。ＨＭＤデバイスにおいて、小さなディスプレイデバイスがユーザの頭部に装着される。ディスプレイデバイスは、一方の目（単眼ＨＭＤ）または両目（両眼ＨＭＤ）の前にディスプレイ光学部品を有する。ＨＭＤデバイスは、通常、デバイスの向きを検知する可能性があるセンサを含み、ユーザの頭部が移動するにつれて、ディスプレイ光学部品によって示されるシーンを変更する。従来通りに、広いＦＯＶディスプレイのためにシーンをレンダーするほとんどのステージは、シーンの全ての部分が、単位面積当たり同じ数のピクセルを有する平面レンダリングによって実施される。
【００１４】
現実的な体験を提供するため、広いＦＯＶのディスプレイデバイスによって提示されるグラフィクスが、高品質でありかつ効率的にレンダーされることが望ましい。
【００１５】
本開示が浮かび上がるのはこの文脈においてである。
【課題を解決するための手段】
【００１６】
本発明の教示は、添付図面と共に以下の詳細な説明を考えることによって容易に理解される可能性がある。
【図面の簡単な説明】
【００１７】
【図１Ａ−１Ｂ】広い視野（ＦＯＶ）のディスプレイの或るパラメータを示す略図である。
【図１Ｃ】広いＦＯＶのディスプレイの異なる部分についての異なる立体角を示す図である。
【図２Ａ−２Ｃ】本開示の態様による異なる広いＦＯＶのディスプレイの異なる領域内のピクセルの相対的重要性の例を示す図である。
【図２Ｄ】本開示の態様による或るＦＯＶのディスプレイのスクリーンの異なる領域についての異なるピクセル解像度の例を示す図である。
【図３Ａ】本開示の態様によるグラフィクス処理システムのブロック図である。
【図３Ｂ】本開示の態様によるグラフィクス処理パイプラインのブロック図である。
【図４Ａ】本開示の態様による複数のレンダーターゲット内でアクティブカラーサンプルカウントを変更することによってスクリーンの位置によって有効解像度を変動させる例を概略的に示す図である。
【図４Ｂ】本開示の態様による複数のレンダーターゲット内でアクティブカラーサンプルカウントを変更することによってスクリーンの位置によって有効解像度を変動させる例を概略的に示す図である。
【図４Ｃ】本開示の態様による複数のレンダーターゲット内でアクティブカラーサンプルカウントを変更することによってスクリーンの位置によって有効解像度を変動させる例を概略的に示す図である。
【図４Ｄ】本開示の態様によるスクリーンの位置によって変動するピクセルアクティブサンプルカウントを実装するメタデータ構成の例を示す略図である。
【図４Ｅ】本開示の態様によるスクリーンの位置によって変動するピクセルアクティブサンプルカウントを実装するメタデータ構成の代替の例を示す略図である。
【発明を実施するための形態】
【００１８】
以下の詳細な説明は、例証のために多くの特定の詳細を含むが、以下の詳細に対する多くの変形及び変更が本発明の範囲内にあることを当業者は認識するであろう。したがって、以下で述べる本発明の例示的な実施形態は、特許請求される発明に対する一般性を失うことなく、また、特許請求される発明に制限を課すことなく述べられる。
【００１９】
前置き
図１Ａ〜１Ｃは、大きなＦＯＶのディスプレイに関する過去に認識されていない問題を示す。図１Ａは９０°ＦＯＶディスプレイを示し、図１Ｂは１１４°ＦＯＶディスプレイを示す。従来の大きなＦＯＶのディスプレイにおいて、３次元幾何形状は、ビュー平面に対する平面投影を使用してレンダーされる。しかし、高いＦＯＶのビュー平面上に幾何形状をレンダーすることが非常に非効率であることがわかっている。図１Ｃにおいて見られるように、ビュー平面１０１の縁領域１１２及び中央領域１１４は、同じエリアであるが、観察者１０３によって見られるように、非常に異なる立体角を示す。その結果、スクリーンの縁に近いピクセルは、中央に近いピクセルに比べてずっと意味のない情報を保持する。従来的にシーンをレンダーするとき、これらの領域は、同じ数のピクセルを有し、同じサイズの領域をレンダーするのに費やされる時間は同じである。
【００２０】
図２Ａ〜２Ｃは、異なるサイズの視野について２つの次元における大きなＦＯＶのディスプレイの異なる部分の相対的重要性を示す。図２Ａは、チェッカーボードが１１４°の角度を張る場合に、ビュー方向に垂直な平面チェッカーボードの各正方形についての立体角の変動を表す。換言すれば、図２Ａは、１１４°ＦＯＶディスプレイに対する従来の平面投影レンダリングの非効率性を表す。図２Ｂは、９０°ＦＯＶディスプレイについての同じ情報を表す。こうした平面投影レンダリングにおいて、投影は、縁にある画像２０１内のタイル２０２及び角にあるタイル２０３を、中央にあるタイル２０４と比較してより小さな立体角に圧縮する。この圧縮、また、画像２０１内の各タイルがスクリーン空間内に同じ数のピクセルを有することによって、中央タイル２０４と比較して縁タイル２０２をレンダーするためにほぼ４倍の非効率性因子が存在する。これによって、縁タイル２０２の従来のレンダリングが、中央タイル２０４の場合に比べて、単位立体角当たりほぼ４倍の処理を必要とすることが意味される。角タイル２０３の場合、非効率因子はほぼ８倍である。全画像２０１にわたって平均されると、非効率因子はほぼ２．５倍である。
【００２１】
非効率性は、ＦＯＶのサイズに依存する。例えば、図２Ｂに示す９０°ＦＯＶディスプレイの場合、非効率因子は、縁タイル２０２をレンダーする場合ほぼ２倍であり、角タイル２０３をレンダーする場合ほぼ３倍であり、画像２０１をレンダーする場合ほぼ１．７倍である。
【００２２】
この状況を見る別の方法は、図２Ｃに示され、図２Ｃでは、スクリーン１０２は、張られた単位立体角当たりのピクセル数の観点からのほぼ等しい「重要性」の長方形に分割された。各長方形は、ディスプレイを通して見られる最終画像に対してほぼ同じ寄与をする。縁長方形２０２及び角長方形２０３の重要性を平面投影がどのように歪ませるかが見られる可能性がある。実際には、角長方形２０３は、視覚的ピクセル密度（立体角当たりのピクセル数として表現される）をディスプレイの中央に向かって高くするように選択する場合があるディスプレイ光学部品のせいで、中央長方形に対して少ない寄与をする場合がある。
【００２３】
先の観測結果に基づいて、広いＦＯＶのディスプレイについての画像２１０が、図２Ｄに示すように、中央領域２１５より縁領域２１２、２１４、２１６、２１８において小さく、また、縁領域２１２、２１４、２１６、２１８より角領域２１１、２１３、２１７、及び２１９において小さいピクセル密度を有することが有利である。広いＦＯＶのディスプレイのスクリーン上の従来のグラフィカル画像を、基礎にあるグラフィカル画像データまたはデータフォーマットまたはデータの処理を著しく修正する必要なしで、スクリーンにわたってピクセル密度を変動させるのと同じ効果を得るようにレンダーすることが同様に有利である。本開示の態様によれば、これらの利点は、大きなＦＯＶのディスプレイデバイスのスクリーンの異なる領域についてそれ用のピクセルシェーダが呼び出されるアクティブカラーサンプルの数を変動させることによってグラフィクスパイプラインにおいて得られる可能性がある。
【００２４】
これを実装するため、グラフィクスパイプラインの一部は、スクリーンの異なる領域においてピクセル当たりのアクティブカラーサンプルの数を指定するメタデータを使用する。メタデータは、画像ではなくスクリーンに関連する。画像データが変化するのではなく、グラフィクスパイプラインにおいて、ピクセルシェーダ実行が、アクティブカラーサンプルに対してだけ行われる。例えば、画像データにおいて、ピクセル当たり４つのカラーサンプルが存在してもよい。スクリーンのフル解像度領域の場合、メタデータは、アクティブカウントを４であると指定してもよく、その場合、ピクセルシェーダは、４つ全てのカラーサンプルについて呼び出される。３／４解像度領域において、アクティブカウントは３であってよく、その場合、ピクセルシェーダは、４つのうちの３つ（例えば、最初の３つ）のカラーサンプルについて呼び出される。１／２解像度領域において、アクティブカウントは２であることになり、ピクセルシェーダは、カラーサンプルの２つについて呼び出される。１／４解像度領域において、アクティブカウントは１であることになり、ピクセルシェーダは、４つのカラーサンプルの１つだけについて呼び出されることになる。
【００２５】
システム及び装置
本開示の態様は、可変ピクセルサンプル解像度を有するグラフィクス処理を実装するように構成されるグラフィクス処理システムを含む。例として、また、制限としてではなく、図３Ａは、本開示の態様によるグラフィクス処理を実装するために使用されてもよいコンピュータシステム３００のブロック図を示す。本開示の態様によれば、システム３００は、埋め込みシステム、携帯電話、パーソナルコンピュータ、タブレットコンピュータ、可搬型ゲームデバイス、ワークステーション、ゲームコンソール等であってよい。
【００２６】
システム３００は、一般に、中央処理ユニット（ＣＰＵ）３０２、グラフィクスプロセッサユニット（ＧＰＵ）３０４、及び、ＣＰＵとＧＰＵの両方がアクセス可能であるメモリ３０８を含んでもよい。ＣＰＵ３０２及びＧＰＵ３０４はそれぞれ、１つまたは複数のプロセッサコア、例えば、単一コア、２つのコア、４つのコア、８つのコア、またはそれより多くのコアを含んでもよい。メモリ３０８は、アドレス指定可能なメモリ、例えば、ＲＡＭ、ＤＲＡＭ等を提供する集積回路の形態であってよい。メモリ３０８は、グラフィクスリソースを格納し、また、グラフィクスレンダリングパイプライン用のデータのグラフィクスバッファ３０５を一時的に格納してもよいグラフィクスメモリ３２８を含んでもよい。グラフィクスバッファ３０５は、例えば、頂点パラメータ値を格納する頂点バッファ、頂点インデックスを保持するインデックスバッファ、グラフィクスコンテンツの深度値を格納する深度バッファ（例えば、Ｚバッファ）、ステンシルバッファ、ディスプレイに送信される完成フレームを格納するフレームバッファ、及び他のバッファを含んでもよい。図３Ａに示す例において、グラフィクスメモリ３２８は、主メモリの一部として示される。代替の実施態様において、グラフィクスメモリは、おそらくはＧＰＵ３０４に統合された別個の構成要素である可能性がある。
【００２７】
例として、また、制限としてではなく、ＣＰＵ３０２及びＧＰＵ３０４はデータバス３０９を使用してメモリ３０８にアクセスしてもよい。或る場合には、システム３００が２つ以上の異なるバスを含むことが有用である場合がある。メモリ３０８は、ＣＰＵ３０２及びＧＰＵ３０４によってアクセスされる可能性があるデータを含んでもよい。ＧＰＵ３０４は、グラフィクス処理タスクを並列に実施するように構成される複数のコンピュートユニットを含んでもよい。各コンピュートユニットは、ローカルデータシェア等のそれ自身の専用ローカルメモリストアを含んでもよい。
【００２８】
ＣＰＵは、グラフィクス、コンパイラ、及びグラフィクスＡＰＩを含んでもよいＣＰＵコード３０３ｃを実行するように構成されてもよい。グラフィクスＡＰＩは、ＧＰＵによって実装されたプログラムに描画コマンドを出すように構成される可能性がある。ＣＰＵコード３０３Ｃは、同様に、物理学シミュレーション及び他の機能を実装してもよい。ＧＰＵ３０４は、先に論じたように動作するように構成されてもよい。特に、ＧＰＵは、先に論じた、コンピュートシェーダＣＳ、頂点シェーダＶＳ、及びピクセルシェーダＰＳ等のシェーダを実装してもよいＧＰＵコード３０３Ｇを実行してもよい。コンピュートシェーダＣＳと頂点シェーダＶＳとの間でのデータの通過を容易にするため、システムは、フレームバッファＦＢを含んでもよい１つまたは複数のバッファ３０５を含んでもよい。ＧＰＵコード３０３Ｇは、同様に任意選択で、ピクセルシェーダまたは幾何形状シェーダ等の他の型のシェーダ（示さず）を実装してもよい。各コンピュートユニットは、ローカルデータシェア等のそれ自身の専用ローカルメモリストアを含んでもよい。ＧＰＵ３０４は、グラフィクスパイプラインの一部としてテキスチャをプリミティブに適用するために或る演算を実施するように構成されるテキスチャユニット３０６を含んでもよい。
【００２９】
本開示の態様によれば、ＣＰＵコード３０３ｃ及びＧＰＵコード３０３ｇ及びシステム３００の他の要素は、ディスプレイデバイスの複数の領域の中でディスプレイデバイス３１６の特定の領域についてアクティブサンプル構成を指定するメタデータＭＤを、グラフィクスパイプラインのラスター化ステージが受信するように構成される。ラスター化ステージは、特定の領域内の１つまたは複数のピクセルについてピクセルデータを受信する。ピクセルデータは、全表面にわたって同じサンプルカウント（各ピクセルのカラーサンプルの数）を指定する。アクティブサンプルカウントは、カラーサンプルカウント以下であり、カラーサンプルカウントは２つ以上である。特定の領域内の各ピクセルについて、ラスター化ステージは、アクティブサンプルについてだけピクセルシェーダＰＳを呼び出す。メタデータＭＤは、異なるピクセルサンプル解像度（ディスプレイの単位面積当たりのピクセルサンプルの数）を有する領域について異なるアクティブサンプル構成を指定する。こうして、ピクセルサンプル解像度は、ディスプレイデバイス３１６の異なる領域について変動する可能性があり、また、グラフィクス処理負荷は、ディスプレイの低解像度領域について、単に高解像度領域に比べてこれらの領域のアクティブサンプルカウントを減少させることによって低減される可能性がある。
【００３０】
幾つかの実施態様において、メタデータＭＤは、各領域についてアクティブサンプルのマスクを含む。ＧＰＵ３０４は、マスクとプリミティブによってカバーされるサンプルとの間で論理ＡＮＤを実施して、ピクセルシェーダがそれについて呼び出されるプリミティブについてアクティブサンプルを決定する。
【００３１】
代替の実施態様において、メタデータＭＤは、ディスプレイデバイスの複数の領域の中でディスプレイデバイス３１６の特定の領域についてアクティブサンプルカウントを指定する。アクティブサンプルカウントは、カラーサンプルカウント以下であり、カラーサンプルカウントは２つ以上である。特定の領域内の各ピクセルについて、ラスター化ステージは、アクティブサンプルカウントに等しいピクセルの或る数のカラーサンプルについてだけピクセルシェーダＰＳを呼び出し、通常、シーケンシャルなカラーサンプルは、或る一貫して規定されたサンプル順序で最初のカラーサンプルから始める。
【００３２】
幾つかの実施態様において、ＣＰＵコード３０３ｃ、ＧＰＵコード３０３ｇ、及びテキスチャユニット３０６は、スクリーンの位置依存の可変ピクセル解像度と共にテキスチャマッピング演算に対する修正を実装するため、或るテキスチャマッピング演算を実装するように更に構成されてもよい。例えば、ピクセルシェーダＰＳ及びテキスチャユニット３０６は、１つまたは複数のテキスチャマッピング演算の座標のセットを提供するためプリミティブについてピクセル位置ＸＹについて１つまたは複数のテキスチャ座標ＵＶを生成し、テキスチャ座標ＵＶ（おそらくは、スクリーンにわたる様々なサンプル密度に対処する補正を含む）から勾配値Ｇｒを計算し、テキスチャがプリミティブを適用する詳細のレベル（ＬＯＤ）を決定するように構成される可能性がある。
【００３３】
例として、また、制限としてではなく、ＧＰＵの或る構成要素、例えば、或る型のシェーダまたはテキスチャユニット３０６は、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、またはシステムオンチップ（ＳｏＣまたはＳＯＣ）等の専用ハードウェアとして実装されてもよい。
【００３４】
本明細書で使用されるように、また、当業者によって一般に理解されるように、特定用途向け集積回路（ＡＳＩＣ）は、汎用的使用のために意図されるのではなく特定使用のためにカスタマイズされる集積回路である。
【００３５】
本明細書で使用されるように、また、当業者によって一般に理解されるように、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）は、製造後にカスタマーまたは設計者によって構成されるように設計された−したがって、「フィールドプログラマブル」集積回路である。ＦＰＧＡ構成は、一般に、ＡＳＩＣのために使用される言語と同様のハードウェア記述言語（ＨＤＬ）を使用して指定される。
【００３６】
本明細書で使用されるように、また、当業者によって一般に理解されるように、システム・オン・ア・チップまたはシステム・オン・チップ（ＳｏＣまたはＳＯＣ）は、コンピュータまたは他の電子システムの全ての構成要素を単一チップに統合する集積回路（ＩＣ）である。ＳｏＣまたはＳＯＣは、デジタル信号、アナログ信号、及び混合信号、並びにしばしば無線周波数機能を、全て単一チップ基板上に含んでもよい。典型的な用途は、埋め込みシステムの領域においてである。
【００３７】
典型的なＳｏＣは、以下のハードウェア構成要素を含む。
１つまたは複数のプロセッサコア（例えば、マイクロコントローラ、マイクロプロセッサ、またはデジタル信号プロセッサ（ＤＳＰ）コア）。
メモリブロック、例えば、リードオンリーメモリ（ＲＯＭ）、ランダムアクセスメモリ（ＲＡＭ）、電子的消去可能プログラマブルリードオンリーメモリ（ＥＥＰＲＯＭ）、及びフラッシュメモリ。
発振器または位相ロックループ等のタイミングソース。
カウンタタイマ、リアルタイムタイマ、またはパワーオンリセット発生器等の周辺機器。
外部インタフェース、例えば、ユニバーサルシリアルバス（ＵＳＢ）等の業界標準、ファイヤワイヤ、イーサネット（登録商標）、ユニバーサル非同期受信機／送信機（ＵＳＡＲＴ）、シリアルペリフェラルインタフェース（ＳＰＩ）バス。
アナログ・デジタル変換器（ＡＤＣ）及びデジタル・アナログ変換器（ＤＡＣ）を含むアナログインタフェース。
【００３８】
電圧調節器及び電力管理回路
これらの構成要素は、独占的または業界標準バスによって接続される。ダイレクトメモリアクセス（ＤＭＡ）コントローラは、外部インタフェースとメモリとの間で直接、データをルーティングし、プロセッサコアをバイパスさせ、それにより、ＳｏＣのデータスループットを増加させる。
【００３９】
典型的なＳｏＣは、上述したハードウェア構成要素と、実行可能命令（例えば、ソフトウェアまたはファームウェア）であって、プロセッサコア（複数可）、周辺機器、及びインタフェースを制御する、実行可能命令の両方を含む。
【００４０】
本開示の態様によれば、シェーダまたはテキスチャユニット３０６の一部または全ての機能は、代替的に、ソフトウェアプログラマブル汎用コンピュータプロセッサによって実行される、適切に構成されたソフトウェア命令によって実装されてもよい。こうした命令は、コンピュータ可読媒体、例えば、メモリ３０８またはストレージデバイス３１５内で具現化されてもよい。
【００４１】
システム３００は、同様に、例えば、バス３０９によってシステムの他の構成要素と通信してもよい、よく知られている支持機能３１０を含んでもよい。こうした支持機能は、入力／出力（Ｉ／Ｏ）要素３１１、電力供給（Ｐ／Ｓ）３１２、クロック（ＣＬＫ）３１３、及びキャッシュ３１４を含んでもよいが、それに限定されない。キャッシュ３１４に加えて、ＧＰＵ３０４は、それ自身のＧＰＵキャッシュ３１４Ｇを含んでもよく、ＧＰＵは、ＧＰＵ３０４上で実行されるプログラムがＧＰＵキャッシュ３１４Ｇを通して読み出せるまたは書込めるように構成されてもよい。
【００４２】
システム３００は、被レンダーグラフィクス３１７をユーザに提示するためディスプレイデバイス３１６を含んでもよい。代替の実施態様において、ディスプレイデバイス３１６は、システム３００と共に働く別個の構成要素である。ディスプレイデバイス３１６は、フラットパネルディスプレイ、頭部搭載型ディスプレイ（ＨＭＤ）、陰極線管（ＣＲＴ）スクリーン、プロジェクタ、または、目に見えるテキスト、数値、グラフィカルシンボル、または画像を表示する可能性がある他のデバイスの形態であってよい。特に有用な実施態様において、ディスプレイデバイス３１６は、湾曲スクリーンを有する大きな視野（ＦＯＶ）のデバイスである。ディスプレイデバイス３１６は、本明細書で述べる種々の技法に従って処理される被レンダーグラフィック画像３１７を表示する。
【００４３】
システム３００は、任意選択で、プログラム及び／またはデータを格納するため、ディスクドライブ、ＣＤ−ＲＯＭドライブ、フラッシュメモリ、テープドライブ等のようなマスストレージデバイス３１５を含んでもよい。システム３００は、同様に任意選択で、システム３００とユーザとの間の相互作用を容易にするためユーザインタフェースユニット３１８を含んでもよい。ユーザインタフェースユニット３１８は、キーボード、マウス、ジョイスティック、ライトペン、ゲームコントローラ、または、グラフィカルユーザインタフェース（ＧＵＩ）と共に使用されてもよい他のデバイスを含んでもよい。システム３００は、同様に、デバイスが、ネットワーク３２２を通じて他のデバイスと通信することを可能にするネットワークインタフェース３２０を含んでもよい。ネットワーク３２２は、例えば、ローカルエリアネットワーク（ＬＡＮ）、インターネット等のワイドエリアネットワーク、Ｂｌｕｅｔｏｏｔｈ（登録商標）ネットワーク等のパーソナルエリアネットワーク、または他の型のネットワークであってよい。これらの構成要素は、ハードウェア、ソフトウェア、またはファームウェア、或は、これらのうちの２つ以上の何らかの組合せであってよい。
【００４４】
グラフィクスパイプライン
本開示の態様によれば、システム３００は、グラフィクスレンダリングパイプラインの所定の部分を実装するように構成される。図３Ｂは、本開示の態様によるグラフィクスレンダリングパイプライン３３０の例を示す。
【００４５】
レンダリングパイプライン３３０は、仮想空間（本明細書で「世界空間（ｗｏｒｌｄ  ｓｐａｃｅ）」と呼ばれることがある）内で２次元または好ましくは３次元幾何形状を有するシーンを描く画像としてグラフィクスをレンダーするように構成されてもよい。パイプラインの早期ステージは、シーンが、ラスター化され、ディスプレイデバイス３１６上で出力するのに適した離散的画素のセットとしてスクリーン空間に変換される前に、仮想空間において実施される演算を含んでもよい。パイプライン全体を通して、グラフィクスメモリ３２８に含まれる種々のリソースが、パイプラインステージで利用されてもよく、また、ステージに対する入力及び出力は、画像の最終値が決定される前にグラフィクスメモリに含まれるバッファに一時的に格納されてもよい。
【００４６】
レンダリングパイプラインは、頂点のセットによって規定された１つまたは複数の仮想オブジェクトを含んでもよい入力データ３３２に作用してもよく、１つまたは複数の仮想オブジェクトは、仮想空間内でセットアップされ、シーン内の座標に関して規定される幾何形状を有する。パイプラインの早期ステージは、図３Ｂにおいて頂点処理ステージ３３４として幅広く分類されるものを含んでもよく、また、これは、仮想空間内でオブジェクトの頂点を処理するため種々の計算を含んでもよい。これは、頂点シェーディング計算３３６を含んでもよく、頂点シェーディング計算３３６は、位置の値、（例えば、Ｘ−Ｙ座標及びＺ深度値）、カラー値、ライティング値、テキスチャ座標等のようなシーン内の頂点の種々のパラメータ値を操作してもよい。好ましくは、頂点シェーディング計算３３６は、１つまたは複数のプログラマブル頂点シェーダによって実施される。頂点処理ステージは、仮想空間内で新しい頂点及び新しい幾何形状を生成するために任意選択で使用されてもよい、テッセレーション及び幾何形状シェーダ計算３３８等の更なる頂点処理計算を任意選択で含んでもよい。頂点処理３３４と呼ばれるステージが終了すると、パイプラインのこのステージにおいて、シーンは、それぞれが頂点パラメータ値３３９のセットを有する頂点のセットによって規定される。
【００４７】
パイプライン３３０は、その後、シーン幾何形状を、シーン空間及び離散的画素、すなわちピクセルのセットに変換することに関連するラスター化処理ステージ３４０に進んでもよい。仮想空間幾何形状は、仮想空間からシーンの観察窓（または「ビューポイント」）へのオブジェクト及び頂点の投影を本質的に計算してもよい演算を通してスクリーン空間幾何形状に変換されてもよい。頂点は、プリミティブのセットとして規定されてもよい。
【００４８】
図３Ｂに示すラスター化処理ステージ３４０は、シーン内で頂点の各セットによって規定されるプリミティブをセットアップしてもよいプリミティブ組立て演算３４２を含んでもよい。各頂点は、インデックスによって規定されてもよく、各プリミティブは、グラフィクスメモリ３２８内のインデックスバッファに格納されてもよいこれらの頂点インデックスに関して規定されてもよい。プリミティブは、好ましくは、それぞれ３つの頂点によって規定される少なくとも三角形を含んでもよいが、同様に、点プリミティブ、線プリミティブ、及び他の多角形形状を含んでもよい。プリミティブ組立て演算３４２中に、或るプリミティブは、任意選択で、選択されてもよい。例えば、そのインデックスが或る巻回順序を示すプリミティブは、後向きであると考えられてもよく、また、シーンから選択されてもよい。
【００４９】
プリミティブが組立てられた後、ラスター化処理ステージは、スキャン変換演算３４４を含んでもよく、スキャン変換演算３４４は、各ピクセルにおいてプリミティブをサンプリングし、サンプルがプリミティブによってカバーされると更なる処理のためにプリミティブからフラグメント（ピクセルと呼ばれることがある）を生成してもよい。任意選択で、各ピクセルの複数のサンプルは、スキャン変換演算３４４中にプリミティブなしで採取され、それらのサンプルは、アンチエイリアシングのために使用されてもよい。或る実施態様において、異なるピクセルは異なるようにサンプリングされてもよい。例えば、幾つかの縁ピクセルは、中央ピクセルよりも低いサンプリング密度を含んで、頭部搭載型ディスプレイ（ＨＭＤ）等の或る型のディスプレイデバイス３１６について或る態様のレンダリングを最適化してもよい。スキャン変換３４４中にプリミティブから生成されるフラグメント（または「ピクセル」）は、ピクセルを生成したプリミティブの頂点の頂点パラメータ値３３９からピクセルの位置に対して補間されてもよいパラメータ値を有してもよい。ラスター化ステージ３４０は、パラメータ補間演算３４６ステージを含んで、これらの被補間フラグメントパラメータ値３４９を計算してもよく、被補間フラグメントパラメータ値３４９は、パイプラインの後のステージにおける更なる処理のための入力として使用されてもよい。
【００５０】
本開示の態様によれば、プリミティブ組立て３４２とスキャン変換３４４との間で、スクリーンの異なるサブセクションが異なるピクセル解像度を有することに対処する或る演算が行われる。特定の実施態様において、プリミティブの頂点についてのスクリーンの位置がわかると、粗いラスター化３４３が行われて、プリミティブがオーバラップする全ての予め規定されたスクリーンサブセクション（本明細書で、粗いラスター化タイルと呼ばれることがある）を見出す可能性がある。プリミティブがオーバラップする各サブセクションについて、有効解像度がそのサブセクションについて修正されることを可能にするサブセクション依存メタデータＭＤ、例えば、アクティブサンプルカウントまたは他のパラメータが受信される。スキャン変換３４４及び後続の処理ステージは、関連する１つまたは複数のサブセクションについて指定された数のアクティブサンプルに対してだけピクセル処理を実施することによって最終ピクセル値を生成する。
【００５１】
グラフィクスパイプライン３３０は、図３Ｂの３５０で全体的に示す更なるピクセル処理演算を含んで、被補間パラメータ値３４９を更に操作し、ディスプレイ３１６のための最終ピクセル値にフラグメントがどのように寄与するかを決定する更なる演算を実施してもよい。これらのピクセル処理タスクの幾つかは、フラグメントの被補間パラメータ値３４９を更に操作するために使用されてもよいピクセルシェーディング計算３５２を含んでもよい。ピクセルシェーディング計算は、プログラマブルピクセルシェーダによって実施されてもよく、ピクセルシェーダ呼出し３４８は、ラスター化処理ステージ３４０中にプリミティブのサンプリングに基づいて始動されてもよい。先に述べたように、ピクセルシェーダ呼出し３４８は、同様に、プリミティブがその中でレンダーされるディスプレイデバイス３１６の特定の領域内の各ピクセルについてアクティブサンプルカウントを指定するメタデータＭＤに基づいて始動されてもよい。特定の領域内の各ピクセルについて、ピクセルシェーダ呼出し３４８は、アクティブサンプルカウントに等しいピクセルの或る数のカラーサンプルについてだけ起こる。
【００５２】
図４Ａは、ディスプレイスクリーン３１６の異なる領域４０１について異なるアクティブカラーサンプルを指定するようにメタデータＭＤがどのように構成される可能性があるかについての例を示す。幾つかの実施態様において、各領域は、ディスプレイの固定サイズ部分に対応してもよい。他の実施態様において、各領域は、ディスプレイの可変サイズ部分に対応してもよい。更なる実施態様において、メタデータＭＤは、垂直及び水平方向にピクセルの範囲によって各領域４０１を規定する可能性がある。なお更なる実施態様において、メタデータＭＤは、或るサイズ、例えば、３２ピクセル×３２ピクセルの粗いラスター化タイルによって各領域を規定する可能性がある。特定の領域に関連するメタデータは、その領域についてアクティブカラーサンプルカウントを指定する情報を含む。例として、また、制限としてではなく、メタデータは、メモリ３０８及び／またはグラフィクスメモリ３２８内のテーブルの形態で格納されてもよい。
【００５３】
例として、また、制限としてではなく、ディスプレイスクリーン３１６の各領域４０１の各ピクセル４０３は、８つの深度サンプル及び４つのカラーサンプルを有するように規定される可能性がある。任意の特定の領域についてのメタデータは、その領域の所望の解像度に応じて、その領域について１、２、３、または４のアクティブカラーサンプルカウントを指定する可能性がある。図４Ａに示す例において、スクリーン３１６の中央領域は、フル解像度を持つことを所望されるため、メタデータＭＤは、これらの領域について４のアクティブカラーサンプルカウントを指定する。
【００５４】
こうした実施態様において、グラフィクスパイプライン３３０内の処理の多くは、通常通りに起こる。例えば、プリミティブ組立て３４２並びにスキャン変換３４４及びパラメータ補間３４６等のラスター化処理３４０の他の部分は、従来通りに実装されることになる。スクリーンは、単一ピクセルフォーマットを有する、例えば、カラーサンプルカウント、深度サンプルカウント、位置、及び他のパラメータを指定することになる。本開示の態様の新しい特徴は、各領域４０１のピクセルシェーダ呼出し３４８の場合、メタデータＭＤがアクティブカラーサンプルカウントを指定し、ピクセルシェーダが、アクティブカラーサンプルカウントに等しい回数、呼び出されることである。
【００５５】
或る実施態様において、ピクセルシェーダ呼出し３４８は、デフォルトとしてアンロールされ、深度サンプルが常に書込まれる。呼出しが常にアンロールされる場合、ピクセルシェーディング計算３５２は、ピクセルをマルチサンプリングすることと対照的に、各アクティブカラーサンプルについて呼び出されることによってピクセルをスーパーサンプリングする。
【００５６】
例えば、メタデータＭＤが、中央領域４０１Ｃについてピクセル当たり４つのカラーサンプルを、また、縁領域４０１Ｅ内でピクセル当たり２つのカラーサンプルを指定する場合、それは、縁領域４０１Ｅと比較して中央領域４０１Ｃにおいて水平及び垂直方向に２倍の解像度になることと同等である。
【００５７】
図４Ｂは、ピクセル画像当たり単一サンプルの例を示し、２ピクセル×２ピクセルクワッド４０６は、４つのピクセルを完全に記述する４つのカラーサンプルを示す。深度サンプルは、例においてこの点でカラーサンプルと区別されない。三角形４０５について、４つのピクセル位置のうちの３つのピクセル位置が三角形によってカバーされるため、この１つのクワッドは、カバーされた３つのサンプルを有する単一フラグメントとして、ピクセルシェーディング計算３５２のためにピクセルシェーダＰＳに渡される。ピクセルシェーダＰＳは、４つのカラーサンプルをシェーディングし、４つのカラーサンプルのうちの３つをフレームバッファＦＢに格納する。
【００５８】
図４Ｃにおいて、対照的に、ピクセル当たり４つのカラーサンプルが存在するため、図示する１６のサンプルは２×２ピクセルに対応するだけであり、一方、図４Ｂの例において、それは、４×４ピクセルであった。この図は、ピクセルシェーダ呼出しが、カバーされた各サンプルに関して起こるようにアクティブピクセルがアンロールされるときに、３つのフラグメントが生成され、各フラグメントがカバーされた１つのサンプルを含むことを示す。
【００５９】
アクティブサンプルカウントは、メタデータＭＤによって指定されるサンプルを選択的にディセーブルすることによって変動する可能性がある。例えば、各ピクセルの右上及び左下が非アクティブにレンダーされる場合、１つのアクティブサンプル位置だけがカバーされ、したがって、図４Ｃに示す３つのフラグメントの中央だけがピクセルシェーダＰＳに渡される。
幾つかの実施態様において、メタデータは、ディスプレイ３１６の光学部品及びＦＯＶについて固定される。こうしたメタデータ構成の例は、図４Ｄに概略的に示される。図４Ｄは、ディスプレイスクリーン３１６の異なるサブセクション４０１について異なるアクティブピクセルサンプル（またはアクティブカラーサンプル）をメタデータＭＤがどのように指定するように構成される可能性があるかの例を示す。図４Ｄに示す例において、スクリーン３１６の中央サブセクションは、フル解像度を持つように所望され、中央から遠いサブセクションは、徐々に低い解像度を有する。例として、また、制限としてではなく、ディスプレイスクリーン３１６の各領域４０１の各ピクセル４０３は、固定数の深度サンプル及びカラーサンプル、例えば、８つの深度サンプル及び４つのカラーサンプルを持つように規定される可能性がある。任意の特定の領域についてのメタデータは、その領域の所望の解像度に応じて、その領域について１、２、３、または４のアクティブカラーサンプルカウントを指定する可能性がある。
【００６０】
代替の実施態様において、メタデータは、目追跡のために中心窩レンダリングを実装するために変動する可能性がある。こうした実施態様において、システム３００は、ユーザの注視、すなわち、ユーザの目が見ている場所を追跡し、この情報を、ユーザが見ている対応するスクリーンの位置に関連付けるためのハードウェアを含む。こうしたハードウェアの一例は、ディスプレイデバイス３１６のスクリーンに対してわかっている位置にありかつユーザの全体的な方向に向くデジタルカメラを含む可能性がある。デジタルカメラは、ユーザインタフェース３１８または別個の構成要素の一部である可能性がある。ＣＰＵコード３０３Ｃは、画像解析ソフトウェアを含む可能性があり、画像解析ソフトウェアは、カメラからの画像を解析して、（ａ）ユーザが画像内にいるかどうか、（ｂ）ユーザがカメラに向いているかどうか、（ｃ）ユーザがスクリーンに向いているかどうか、（ｄ）ユーザの目が観察可能であるかどうか、（ｅ）ユーザの頭部に対するユーザの目の瞳孔の向き、及び（ｆ）カメラに対するユーザの頭部の向きを決定する。スクリーンに対するカメラのわかっている位置及び向き、ユーザの頭部に対するユーザの目の瞳孔の向き、及びカメラに対するユーザの頭部の向きから、画像解析ソフトウェアは、ユーザがスクリーンを見ているかどうかを、またそうである場合、ユーザが見ているスクリーンの部分４０１についてのスクリーン空間座標を決定する可能性がある。ＣＰＵコード３０３Ｃは、その後、これらのスクリーン座標をＧＰＵコード３０３Ｇに渡し、ＧＰＵコード３０３Ｇは、部分４０１を含む１つまたは複数のサブセクションを決定する可能性がある。ＧＰＵコードは、その後、相応してメタデータＭＤを修正する可能性があるため、ピクセル解像度は、図４Ｅに示すように、部分４０１を含む１つまたは複数のサブセクションにおいて最高になり、部分４０１から遠く離れるサブセクションにおいて徐々に低くなる。
【００６１】
再び図３Ｂを参照すると、ピクセルシェーディング計算３５２は、レンダーターゲット、または複数ある場合には複数レンダーターゲット（ＭＲＴ）と呼ばれることがある、グラフィクスメモリ３２８内の１つまたは複数のバッファ３０５に出力値を出力してもよい。ＭＲＴは、ピクセルシェーダが、２つ以上のレンダーターゲットであって、それぞれが同じスクリーン寸法を有するが、おそらくは異なるピクセルフォーマットを有する、２つ以上のレンダーターゲットに任意選択で出力することを可能にする。レンダーターゲットフォーマット制限は、任意の１つのレンダーターゲットが最大４つの独立した出力値（チャネル）を受入れる可能性があるだけであること、及び、これら４つのチャネルのフォーマットが互いに密に結びついていることをしばしば意味する。ＭＲＴは、単一ピクセルシェーダが異なるフォーマットの混合でより多くの値を出力することを可能にする。レンダーターゲットのフォーマットは、レンダーターゲットが、スクリーン空間ピクセルについて複数の値を格納するが、種々の性能理由から、レンダーターゲットのフォーマットが最近のハードウェア世代においてより専門的になっており、テキスチャユニットによって読込まれることにデータが適合する前にデータをリフォーマットする「リゾルブ」と呼ばれるものを（常にではないが）ときどき必要とする点で、「テキスチャのようである」。
【００６２】
ピクセル処理３５０は、一般に、ラスター演算（ＲＯＰ）として一般に知られるものを含んでもよいレンダー出力演算３５６に到達してもよい。ラスター化演算（ＲＯＰ）は、複数のレンダーターゲット（ＭＲＴ）の中の各レンダーターゲットについて１回、ピクセルについて複数回実行されるだけである。出力演算３５６中に、最終ピクセル値３５９は、フレームバッファ内で決定されてもよく、フレームバッファは、任意選択で、融合フラグメント、適用ステンシル、深度試験、及び或るサンプルごとの処理タスクを含んでもよい。最終ピクセル値３５９は、全てのアクティブレンダーターゲット（ＭＲＴ）に対する収集済み出力を含む。ＧＰＵ３０４は、最終ピクセル値３５９を使用して、完成フレーム３６０を構成し、完成フレーム３６０は、任意選択で、ディスプレイデバイス３１６のピクセル上でリアルタイムに表示されてもよい。
【００６３】
出力演算３５０は、同様にテキスチャマッピング演算３５４を含んでもよく、テキスチャマッピング演算３５４は、或る程度まで１つまたは複数のシェーダ（例えば、ピクセルシェーダＰＳ、コンピュートシェーダＣＳ、頂点シェーダＶＳ、または他の型のシェーダ）によって、また、或る程度までテキスチャユニット３０６によって実施されてもよい。シェーダ計算３５２は、スクリーン空間座標ＸＹからテキスチャ座標ＵＶを計算すること、及び、テキスチャ座標をテキスチャ演算３５４に送信すること、及びテキスチャデータＴＸを受信することを含む。テキスチャ座標ＵＶは、スクリーン空間座標ＸＹから任意の方式で計算される可能性があるが、通常、被補間入力値から、またはときどきは直前のテキスチャ演算の結果から計算される。勾配Ｇｒは、しばしば、テキスチャユニット３０６（テキスチャ演算ハードウェアユニット）によってテキスチャ座標のクワッドから直接計算されるが、任意選択で、ピクセルシェーダ計算３５２によって明示的に計算され、テキスチャユニット３０６に頼るのではなくテキスチャ演算３５４に渡されて、デフォルト計算を実施する可能性がある。
【００６４】
テキスチャ演算３５６は、一般に、ピクセルシェーダＰＳ及びテキスチャユニット３０６の或る組合せによって実施される可能性がある以下のステージを含む。最初に、ピクセル位置ＸＹについて１つまたは複数のテキスチャ座標ＵＶが、生成され、各テキスチャマッピング演算について座標セットを提供するために使用される。その後、勾配値Ｇｒが、テキスチャ座標ＵＶから計算され（おそらくは、サンプル位置の非直交性についての補正を有する）、テキスチャがプリミティブを適用する詳細のレベル（ＬＯＤ）を決定するために使用される。
【００６５】
更なる態様
本開示の更なる態様は、グラフィクス処理方法を含み、方法は、
ディスプレイデバイスの複数の領域の中でディスプレイデバイスの特定の領域についてのアクティブサンプル構成を指定するメタデータを受信すること、
特定の領域内の１つまたは複数のピクセルについて、各ピクセルの同じ数のカラーサンプルを指定する、ピクセルデータを受信すること、及び、
特定の領域内の各ピクセルについて、アクティブサンプル構成によってアクティブサンプルであると指定されるカラーサンプルについてだけピクセルシェーダを呼び出すことを含む。
【００６６】
本開示の更なる態様は、ディスプレイデバイスのスクリーンの異なる領域が異なるピクセル解像度を有する、グラフィクス処理方法を含む。
【００６７】
別の更なる態様は、コンピュータ可読媒体であり、コンピュータ可読媒体は、コンピュータ可読媒体内で具現化されるコンピュータ実行可能命令を有し、コンピュータ実行可能命令は、実行されると、以下の方法の一方または両方を実装する。
【００６８】
更なる態様は、以下の方法の一方または両方を実施する電磁のまたは他の信号搬送コンピュータ可読命令である。
【００６９】
更なる態様は、通信ネットワークからダウンロード可能である及び／またはコンピュータ可読及び／またはマイクロプロセッサ実行可能媒体上に格納されるコンピュータプログラム製品であって、先の方法の一方または両方を実装するプログラムコード命令を含むことを特徴とする、コンピュータプログラム製品である。
【００７０】
別の更なる態様は、先の方法の一方または両方を実装するように構成されるグラフィクス処理システムである。
【００７１】
上記は本発明の好ましい実施形態の完全な説明であるが、種々の代替物、修正物、及び等価物を使用することが可能である。したがって、本発明の範囲は、先の説明を参照して決定されるべきでなく、代わりに、添付特許請求の範囲を参照して、その均等物の全範囲と共に決定されるべきである。本明細書で述べる任意に特徴（好ましくても、好ましくなくても）は、本明細書で述べる任意の他の特徴（好ましくても、好ましくなくても）と組合されてもよい。添付特許請求の範囲において、[不定冠詞「Ａ」または「Ａｎ」]は、別途明白に述べられる場合を除いて、冠詞に続く品目の１つまたは複数の量を指す。添付特許請求の範囲は、ミーンズ・プラス・ファンクション制限が、句「のための手段（ｍｅａｎｓ  ｆｏｒ）」を使用して所与の特許請求項において明示的に列挙されない限り、ミーンズ・プラス・ファンクション制限を含むものとして解釈されない。
【図１Ａ】
2020170506.tif 000003
【図１Ｂ】
2020170506.tif 000004
【図１Ｃ】
2020170506.tif 000005
【図２Ａ】
2020170506.tif 000006
【図２Ｂ】
2020170506.tif 000007
【図２Ｃ】
2020170506.tif 000008
【図２Ｄ】
2020170506.tif 000009
【図３Ａ】
2020170506.tif 000010
【図３Ｂ】
2020170506.tif 000011
【図４Ａ】
2020170506.tif 000012
【図４Ｂ】
2020170506.tif 000013
【図４Ｃ】
2020170506.tif 000014
【図４Ｄ】
2020170506.tif 000015
【図４Ｅ】
2020170506.tif 000016