JP2002503855A - 可変解像度スーパーサンプリングによるグラフィックス・システム - Google Patents

可変解像度スーパーサンプリングによるグラフィックス・システム

Info

Publication number
JP2002503855A
JP2002503855A JP2000531812A JP2000531812A JP2002503855A JP 2002503855 A JP2002503855 A JP 2002503855A JP 2000531812 A JP2000531812 A JP 2000531812A JP 2000531812 A JP2000531812 A JP 2000531812A JP 2002503855 A JP2002503855 A JP 2002503855A
Authority
JP
Japan
Prior art keywords
sample
graphics
samples
pixel
graphics system
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.)
Pending
Application number
JP2000531812A
Other languages
English (en)
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.)
Sun Microsystems Inc
Original Assignee
Sun Microsystems 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 Sun Microsystems Inc filed Critical Sun Microsystems Inc
Publication of JP2002503855A publication Critical patent/JP2002503855A/ja
Pending legal-status Critical Current

Links

Classifications

    • 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
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/001Texturing; Colouring; Generation of texture or colour
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/50Lighting effects
    • G06T15/503Blending, e.g. for anti-aliasing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/20Image enhancement or restoration using local operators
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/18Eye characteristics, e.g. of the iris
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B3/00Apparatus for testing the eyes; Instruments for examining the eyes
    • A61B3/10Objective types, i.e. instruments for examining the eyes independent of the patients' perceptions or reactions
    • A61B3/113Objective types, i.e. instruments for examining the eyes independent of the patients' perceptions or reactions for determining or recording eye movement
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B5/00Measuring for diagnostic purposes; Identification of persons
    • A61B5/24Detecting, measuring or recording bioelectric or biomagnetic signals of the body or parts thereof
    • A61B5/316Modalities, i.e. specific diagnostic methods
    • A61B5/398Electrooculography [EOG], e.g. detecting nystagmus; Electroretinography [ERG]
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B5/00Measuring for diagnostic purposes; Identification of persons
    • A61B5/72Signal processing specially adapted for physiological signals or for diagnostic purposes
    • A61B5/7232Signal processing specially adapted for physiological signals or for diagnostic purposes involving compression of the physiological signal, e.g. to extend the signal recording period

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Ophthalmology & Optometry (AREA)
  • Human Computer Interaction (AREA)
  • Multimedia (AREA)
  • Computer Graphics (AREA)
  • Image Generation (AREA)
  • Controls And Circuits For Display Device (AREA)

Abstract

(57)【要約】 スーパーサンプリングが可能で、実時間畳み込みを行うことができる方法およびコンピュータ・グラフィックス・システムが、開示される。一実施形態において、コンピュータ・グラフィックス・システムは、グラフィックス・プロセッサ、サンプル・バッファ、およびサンプル−ピクセル計算ユニットを含む。グラフィックス・プロセッサは、複数のサンプルを生成するように構成される。グラフィックス・プロセッサへ結合されるサンプル・バッファは、サンプルを記憶するように構成される。サンプル−ピクセル計算ユニットは、出力ピクセルへ濾過するためにサンプル・バッファから可変数の記憶サンプルを選択するためにプログラマブルである。サンプル−ピクセル計算ユニットは、フィルタ・プロセスを実時間で行い、単一フレームにおいて多数の異なるフィルタ形態を使用することができる。サンプル・バッファは、スーパーサンプリングされ、サンプルは、正規グリッド、乱れ正規グリッド、または確率的グリッドに応じて位置付けられる。

Description

【発明の詳細な説明】
【0001】 (発明の背景) (1.発明の分野) 本発明は、一般に、コンピュータ・グラフィックスの分野に関し、さらに詳細
には、高性能グラフィックス・システムに関する。
【0002】 (2.関連技術の説明) コンピュータ・システムは、一般に、視覚出力をコンピュータ画面または表示
装置に表示するためにグラフィックス・システムを使用する。初期のグラフィッ
クス・システムは、プロセッサが出力として生成したものを画面上に表示するこ
とにのみかかわった。本来、それらは、単純なトランスレータまたはインターフ
ェースとして作用した。しかし、最新のグラフィックス・システムは、多大な処
理能力を備えたグラフィックス・プロセッサを搭載する。それらは、単純なトラ
ンスレータではなく、コプロセッサとして作用する。この変化は、複雑性と表示
装置へ送られるデータ量の最近の増大による。例えば、最新のコンピュータ・デ
ィスプレイは、ピクセル数が増え、彩色が深まり、初期のモデルよりも高いリフ
レッシュ速度で複雑な画像を表示することができる。同様に、表示画像は、ます
ます複雑になり、アンチエイリアシングおよびテクスチャ・マッピング等の高度
の技術を含む。
【0003】 結果として、グラフィックス・システムにかなりの処理能力がないと、CPU
は、グラフィックス計算に多大な時間を費やしてしまう。これは、プログラム実
行に付随した他のタスクを行うために必要な処理能力をコンピュータ・システム
から奪い、これにより、全システム性能を劇的に低減させる。一方、強力なグラ
フィックス・システムでは、画面上に箱を描くようにCPUに指示する時、CP
Uは、各ピクセルの位置と色を計算する必要はない。代わりに、CPUは、「こ
れらの座標に箱を描け」という要求を、ビデオ・カードへ送信する。この時、グ
ラフィックス・システムは、箱を描き、他のタスクを行うためにプロセッサを解
放する。
【0004】 一般に、コンピュータのグラフィックス・システム(グラフィックス・システ
ムとも呼ばれる)は、性能レベルを高めるために固有のプロセッサを搭載するビ
デオ・アダプタの一形式である。これらのプロセッサは、グラフィック情報を計
算するために専用化され、そのため、コンピュータ・システムによって使用され
る汎用CPUよりも良好な結果を達成することができる。さらに、グラフィック
ス・システムがグラフィックス計算を処理している間、他のコマンドを実行する
ためにコンピュータのCPUを解放する。グラフィック・アプリケーション、特
に、マルチメディア・アプリケーションの普及により、高性能グラフィックス・
システムはコンピュータ・システムの共通の機構となった。大部分のコンピュー
タ製造業者は高性能グラフィックス・システムをシステムに組み込んでいる。
【0005】 グラフィックス・システムは、一般に、限定された機能のみを行うようにカス
タマイズされており、このため、グラフィックス動作においてコンピュータの汎
用中央プロセッサよりもずっと効率が良い。初期のグラフィックス・システムは
、2次元(2D)グラフィックスの実施に限定されるが、それらの機能性は、3
次元(3D)ワイヤフレーム・グラフィックス、3Dソリッドをサポートするた
めに強化され、高度なシェーディング、フォギング、アルファ・ブレンディング
、および鏡面強調等の、テクスチャおよび特殊効果の3次元(3D)グラフィッ
クスをもサポートしている。
【0006】 3Dグラフィックス・システムの処理能力は、破壊的なペースで改善されてい
る。数年前、単純対象の影付き画像は、毎秒数フレームでレンダリングされたが
、今日のシステムは、60Hz以上における複合対象のレンダリングをサポート
する。この増加率において、近い将来に、グラフィックス・システムは、実際に
、個人の視覚系が知覚するよりも多くのピクセルをレンダリングすることができ
るであろう。この余剰性能は、多観察者環境において使用可能であるが、より共
通な主に単一の観察者環境においては無駄にされる。グラフィックス・システム
は、人の解像力システムの変化する性質に整合することができる(すなわち、必
要または最も知覚可能な画質にすることができる)ことが望ましい。
【0007】 ピクセル数は、グラフィックス・システム性能を判定する際に重要な因子とな
るが、等しく重要な別の因子は画質である。例えば、画像内のエッジが先鋭すぎ
るか、またはギザギザ(「エイリアシング」ともいう)が現れるならば、高ピク
セル濃度の画像は、非現実的であるように見える。これらの問題を克服する1つ
の公知の技法は、アンチエイリアシングである。アンチエイリアシングは、グラ
フィック要素の境界に沿ってピクセルをシェーディングすることにより、対象の
エッジを平滑化することに係わる。さらに具体的には、アンチエイリアシングは
、困惑させる視覚的なアーチファクトを生じさせる前に、画像からの高周波数成
分を除去することを含む。例えば、アンチエイリアシングは、(例えば、暗い背
景に重ねられた明るい対象のシルエットの周りの)あるピクセルを中間値にする
ことにより、画像における高コントラスト・エッジをやわらか又はなめらかにす
る。
【0008】 コンピュータ画像の現実感を高めるために使用される別の視覚効果は、アルフ
ァ・ブレンディングである。アルファ・ブレンディングは、対象の透明性を制御
し、水またはガラス等の半透明表面の現実的なレンダリングを可能にする技法で
ある。現実感を改良するために使用される別の効果は、フォギングである。フォ
ギングは、観察者から遠ざかるにつれて対象をぼやけさせる。単純なフォギング
は、アルファ・ブレンディングの特殊な場合であり、アルファの程度は、対象が
観察者から遠ざかるとともにかすんでいくように見える如く距離とともに変化す
る。この単純なフォギングはまた、「デプス・キューイング(depth cueing)」
または大気減衰と呼ばれる。すなわち、後退するにつれてはっきりしなくなるよ
うに対象のコントラストを低下させる。複雑なタイプのフォギングは、単純な線
形関数を超越し、半透明レベルと観察者からの対象の距離との間の関係が複雑に
なる。現行技術のソフトウェア・システムは、大気モデルを使用して、現実感を
改良した低域のフォギングを設けることにより、さらに進歩している。
【0009】 上記の技法は、コンピュータ・グラフィック画像の外観を劇的に改善するが、
幾つかの限界もある。特に、固有の収差を導入することになり、表示装置で表示
されたピクセルの濃度によって制限される。
【0010】 結果として、グラフィックス・システムは、性能レベルを高め、レンダリング
されるピクセル数を増大させるだけでなく、レンダリングされる画質を向上させ
ることができることが望ましい。さらに、グラフィックス・システムは、高処理
能力を使用し、アンチエイリアシングの如くグラフィックス効果の結果を改良す
ることができることが望ましい。
【0011】 従来技術のグラフィックス・システムは、一般に、これらの目標に達していな
い。従来技術のグラフィックス・システムは、ディスプレイにおけるピクセル/
ビデオ・データをリフレッシュするために従来のフレーム・バッファを使用する
。フレーム・バッファは、ディスプレイにおけるそれぞれの行列位置に正確に対
応するピクセルの行列を記憶する。従来技術のグラフィックス・システムは、2
Dおよび/または3D画像または対象を、フレーム・バッファにピクセル形式で
レンダリングし、その後、ディスプレイをリフレッシュするための画面リフレッ
シュ中、フレーム・バッファからピクセルを読み出す。すなわち、フレーム・バ
ッファは、ディスプレイへ供給される出力ピクセルを記憶する。フレーム・バッ
ファが更新されていると同時に、画面をリフレッシュすることにより作成される
視覚的なアーチファクトを減少させるために、多くのグラフィックス・システム
のフレーム・バッファは、二重バッファされる。
【0012】 画像の現実感をさらに高めるために、従来技術のグラフィックス・システムの
中には、ピクセル毎に2つ以上のサンプルを生成するものもある。本明細書で使
用された如く、用語「サンプル」は、対象または画面の特定点についての色、深
度、透明度、潜在的に、他の情報を指示する計算色情報をいう。例えば、サンプ
ルは、次の成分値を含む。すなわち、赤色値、緑色値、青色値、z値、およびア
ルファ値(例えば、サンプルの透明度を表現する)である。サンプルはまた、例
えば、z深度値、青色値、強度値、高輝度情報、およびサンプルが色情報ではな
く制御情報(すなわち、「サンプル制御情報」)から部分的または完全に構成さ
れるインジケータ等の他の情報を含む。ピクセル数よりも多くのサンプルを計算
する(すなわち、スーパーサンプリングする)ことにより、表示装置に表示され
るよりもより詳細な画像が計算される。例えば、グラフィックス・システムは、
表示装置へ出力される各ピクセルに対して、4つのサンプルを計算する。サンプ
ルが計算された後、サンプルは組み合わされ、またはフィルタリングされ、ピク
セルを形成し、フレーム・バッファに記憶され、その後、表示装置へ伝達される
。このようにして形成されたピクセルを使用して、より現実感のある最終画像が
作成される。過度に急激な画像の変化は、フィルタリング・プロセスによって平
滑化される。
【0013】 これらの従来技術のスーパーサンプリング・システムは、一般に、ディスプレ
イ上のピクセル位置の数よりもずっと多数のサンプルを生成する。これらの従来
技術のシステムは、一般に、レンダリング・プロセッサを備え、サンプルを計算
し、レンダリング・バッファに記憶する。フィルタリング・ハードウェアは、レ
ンダリング・バッファからサンプルを読み出し、ピクセルを作成するためにサン
プルをフィルタリングし、その後、伝統的なフレーム・バッファにピクセルを記
憶する。伝統的なフレーム・バッファは、一般に、二重バッファされ、一方の側
は表示装置をリフレッシュするために使用されるが、他方の側は、フィルタリン
グ・ハードウェアによって更新される。いったんサンプルがフィルタリングされ
ると、合成ピクセルは、伝統的なフレーム・バッファにおいて記憶され、表示装
置をリフレッシュするために使用される。しかし、これらのシステムは、一般に
、従来のフレーム・バッファ、およびレンダリング・バッファとフィルタリング
によって生じた付加的な待ち時間によって制限を課せられる。このため、改良さ
れたグラフィックス・システムは、従来のフレーム・バッファの欠点を回避する
一方、ピクセル・スーパーサンプリングの利益を含むことが望ましい。
【0014】 (発明の概要) 本発明は、スーパーサンプリング用サンプル・バッファと、ディスプレイをリ
フレッシュするためのプログラマブルなサンプル−ピクセル計算ユニットとを使
用するコンピュータ・グラフィックス・システムである。一実施態様において、
グラフィックス・システムは、グラフィックス・プロセッサと、スーパーサンプ
リング用サンプル・バッファと、サンプル−ピクセル計算ユニットとを有する。
【0015】 グラフィックス・プロセッサは、複数のサンプルを生成し、サンプル・バッフ
ァに記憶する。グラフィックス・プロセッサは、好ましくは、ディスプレイにお
けるピクセル位置の少なくともサブセットに対して、2つ以上のサンプルを生成
し、記憶する。こうして、サンプル・バッファは、スーパーサンプリング用サン
プル・バッファであり、幾つかの実施態様において、ディスプレイにおけるピク
セル位置の数よりもずっと多数のサンプルを記憶する。他の実施態様において、
サンプルの総数は、表示装置におけるピクセル位置の総数に近いか、等しいか、
または小さいが、サンプルは、ある領域において密に位置し、他の領域において
疎に位置する。
【0016】 サンプル−ピクセル計算ユニットは、スーパーサンプリング用サンプル・バッ
ファからサンプルを読み出し、サンプルをそれぞれの出力ピクセルへ濾過し、ま
たは畳み込むように構成されるが、出力ピクセルは、ディスプレイをリフレッシ
ュするために供給される。本明細書で使用された用語「フィルタ」および「畳み
込み」は、相互交換可能に使用され、(例えば、平均化、畳み込み関数の適用、
合計、濾過関数の適用、サンプルの重み付けおよび処理、ランダム化関数の適用
等により)ピクセルを生成するために1つまたは複数のサンプルを数学的に処理
することをいう。サンプル−ピクセル計算ユニットは、1つまたは複数のサンプ
ルを選択し、濾過し、出力ピクセルを生成する。サンプル−ピクセル計算ユニッ
トによって選択または濾過されたサンプル数は、1であるか、もしくは好ましい
実施形態において、1よりも大きい。
【0017】 幾つかの実施態様において、各ピクセルを形成するために使用されるサンプル
数は変化する。例えば、サンプル・バッファにおける基礎平均サンプル濃度が変
化し、フィルタの範囲が変化し、あるいは特定ピクセルに対するサンプル数がサ
ンプル濃度における確率的変動のために変化する。幾つかの実施態様において、
サンプル数は、ピクセル毎ベース、走査線毎ベース、領域毎ベース、フレーム毎
ベースで変化し、あるいはサンプル数は一定である。サンプル−ピクセル計算ユ
ニットは、スーパーサンプリング用サンプル・バッファからサンプルにアクセス
し、実時間濾過動作を実行し、その後、合成出力ピクセルをディスプレイに実時
間で供給する。グラフィックス・システムは、従来のフレーム・バッファなしに
動作する。すなわち、グラフィックス・システムは、ディスプレイにおいてリフ
レッシュされている実ピクセル値を記憶する従来のフレーム・バッファを使用し
ない。ディスプレイの中には内部フレーム・バッファを備えるものもあるが、こ
れらは、グラフィックス・システムではなく、表示装置の一体部分であると考え
られる。こうして、サンプル−ピクセル計算ユニットは、実時間ベースで各画面
リフレッシュに対して各ピクセルを計算する。本明細書で使用された用語「実時
間」は、表示装置のリフレッシュ速度またはそれに近い速度で実行される機能を
いう。「進行中(on−the−fly)」は、人の視覚系の一般の知覚能力に
対して、動作フュージョン(ピクチャは連続動作の幻影を与えるためにどのよう
な頻度で変化されなければならないか)、およびフリッカ・フュージョン(連続
の幻影を与えるために光強度はどのような頻度で変化されなければならないか)
をいう。これらの概念は、Russel L.De ValoisおよびKar
en K.De Valois著「空間的視覚(Spatial Vision
)」、Oxford University Press、1988において詳
しく記載されている。
【0018】 サンプル−ピクセル計算ユニットは、それぞれの出力ピクセルを生成するため
に使用されたサンプル数を変化させるようにプログラムされる。例えば、使用さ
れたサンプル数は、出力ピクセルの位置、例えば、観察者の窩点から出力ピクセ
ルの距離に応じて変化する。本明細書で使用された用語「窩点(point o
f foveation)」は、観察者の眼の視界の中心が集束される点(例え
ば、表示画面上の点)をいう。この点は、観察者の眼の移動とともに移動する。
例えば、(観察者の眼が移動する時移動する)窩点は、観察者が画面の中心にお
いて表示された小物体に焦点を合わせる時、表示画面の完全な中心に位置する。
【0019】 人の視覚系は、変化レベルの鋭さを有し、最高レベルの鋭さは、網膜の小窩の
付近にある。窩領域は、窩点から受光し、一般に、人の視界の中心から数度にあ
る。こうして、人の視覚系に最良に整合するためには、グラフィックス・システ
ムは、幾つかの実施態様において、観察者の窩点が表示装置に関してどこにある
かを検出するように構成される。これにより、グラフィックス・システムは、サ
ンプル濃度を人の眼の鋭さに整合させることができる。こうして、人の視覚系の
最高に鋭い領域によって知覚される表示装置の領域へ割り当てられるサンプル数
(および処理能力)が増大される。同様に、人の視覚系の鋭くない領域によって
知覚される領域へ配分されるサンプル数および処理能力は低下される。しかし、
整合されるのは眼の桿状体と錐状体の濃度ではない。他の因子も、レンズ系、色
収差、および眼への神経経路等、人の視覚系の知覚に影響を与える。人の網膜の
知覚にコンピュータのディスプレイを整合させる目的のために、人の脳の視覚入
力に対する処理限界は、将来のグラフィックス・システムが一致または超過しよ
うとして追求する有益な目標を与える。
【0020】 このタイプのグラフィックス・システムは多数の異なる方法で実現される。例
えば、アイ・トラッキング・センサは、観察者の眼がどの方向に向いているかを
判定するために使用される。これは、観察者の窩点がある場所を予測するデータ
を提供する。一般に、頭部取付け型アイ・トラッキング・センサは、付加的なヘ
ッド・トラッキング・センサを使用する。一緒に採用すると、アイおよびヘッド
・トラッキング・センサは、表示装置に関する観察者の窩点の位置および移動に
ついての有益な情報を提供する。2つのアイ・トラッキング・センサ(すなわち
、観察者の各眼に1つ)を使用して、さらに正確さが得られる。こうして、2つ
の窩点は、各観察者に対して検出される。さらに、幾つかのコンフィギュレーシ
ョンにおいて、複数の観察者は、各人毎、窩点を検出される。他のコンフィギュ
レーションでは、ヘッドおよび/またはアイ・トラッキング・センサと組み合わ
せてハンド・トラッキング・センサ(例えば、ポインティング・ワンドまたはデ
ータ・グローブ)を使用する。別のコンフィギュレーションは、いろいろな動作
、方向を備えた頭部取付け型ディスプレイ、アイ・トラッキングおよび/または
ヘッド・トラッキング・センサを使用する。非常に多数のサンプルが、計算され
た窩点に中心を据えた所定サイズの領域へ割り当てられ、センサの不正確さを補
償する(すなわち、実窩点は高サンプル濃度から生成されたピクセルを収容する
ことを保証する)。本明細書で使用された用語「凝視トラッキング・ユニット(
gaze tracking unit)」は、1人または複数の観察者の窩点
(各観察者に対して2つの窩点がある)に関する情報を供給するアイ・トラッキ
ング、ビード・トラッキング、ハンド・トラッキング、および/またはボディ・
トラッキング・センサの組合せをいう。凝視トラッキング・ユニットの例として
は、ビデオ・カメラ、筋肉における電流を検出する「EMG」センサ、アイおよ
びヘッド・トラッカ、アイ・トラッカ、ヘッド・トラッカ、ハンド・トラッカ、
データ・グローブ、ワンド、データ・スーツ、マウス、ボディ位置センサ、ボデ
ィ位置検知椅子、動作センサ、圧力センサ、音響センサ、および赤外スキャナー
/センサ等がある。他の実施態様において、システムは、観察者の窩点が、画面
の中心の近く固向き置、もしくは実行されるソフトウェア・アプリケーションに
よって作成されるディスプレイにおける対象の変化点において位置することを仮
定する。
【0021】 こうして、グラフィックス・システムは、観察者が知覚することが可能な領域
においてピクセル値を計算する際に非常に多数のサンプルを使用し、観察者が知
覚することができない他の領域においてピクセル値を計算する際に第2の少数の
サンプルを使用するように構成される。サンプル−ピクセル計算ユニットは、使
用されたサンプル数を変化させる際に、好ましくは、それぞれの出力ピクセルの
生成のために使用されたフィルタの程度(例えば、円形対称フィルタが使用され
るならばフィルタの半径)を変化させ、出力ピクセルを算出する際に使用される
サンプル数に影響を及ぼす(さらに、レンダリング・ユニットはサンプル濃度を
すでに変化させている)。代替的に、サンプル−ピクセル計算ユニットは、他の
方法を使用してサンプルを選択する。例えば、濾過プロセス中サンプル数を変化
させるためにサンプルを無作為に選択/廃棄する。
【0022】 グラフィックス・プロセッサは、同様に、表示画像の種々の領域に対してスー
パーサンプリング用サンプル・バッファへ生成またはレンダリングされたサンプ
ルの濃度を変化させるように構成される。これらの種々のサンプル濃度領域は、
対象点、カーソル点、アイ・トラッキング、ヘッド・トラッキング、等に基づい
て配置される。他の実施態様において、サンプル濃度は、走査線ベース、ピクセ
ル毎ベースまたはフレーム領域毎ベースにおいて変化される。
【0023】 幾つかの実施態様において、グラフィックス・プロセッサは、さらに、生成さ
れたサンプルの配置を変化させるように構成される。例えば、サンプルは、正規
グリッド、乱れ正規グリッド、または画像のランダム分布に応じて配置される。
サンプル位置は、高速アクセスのために1つまたは複数のサンプル位置メモリに
記憶される。一実施態様において、サンプル位置は、絶対アドレスまたは座標で
はなく、オフセットとして記憶される。一実施態様において、グラフィックス・
プロセッサは、フレーム毎のベースで、または単一フレーム内でサンプル位置を
プログラム的に構成する、もしくは変化させるように動作する。
【0024】 コンピュータ媒体において具現されたソフトウェア・プログラムとグラフィッ
クス・サブシステムを動作させる方法がまた考えられる。一実施態様において、
方法は、まず、複数のサンプル位置を計算し、その後、各サンプル・ピクセル位
置に対してサンプルを生成することを含む。サンプルは、(例えば、スーパーサ
ンプリング用サンプル・バッファへ)記憶される。サンプル位置は、任意の数の
位置付けまたは間隔付け技法、例えば、正規グリッド、乱れ正規グリッド、また
は確率的グリッドに応じて指定される。記憶されたサンプルは、伝統的なフレー
ム・バッファにおいて記憶されることなく、ディスプレイへ直接に実時間で供給
される出力ピクセルを形成するために選択され、濾過される。サンプルは、(出
力ピクセルの推定中心に対応する)畳み込みカーネルの中心からの距離に応じて
選択される。選択されたサンプルは、重み因子を掛け算され、合算される。出力
ピクセルはまた、(例えば、参照される前正規化重み因子の使用により、もしく
は計算または前計算正規化因子でサンプル値の合計を除算することにより)正規
化される。幾つかの実施態様において、選択プロセス、重み付けプロセス、およ
び正規化プロセスは、各々、実時間ベースで各特定フレーム内でプログラマブル
かつ変更可能である。
【0025】 この発明の上記および他の目的、特徴および利点は、添付の図面に関して精読
した時、次の詳細な説明によりさらに完全に理解されるであろう。
【0026】 発明はいろいろな修正を受け、代替形態を取りえるが、特定の実施態様は、図
面において実施形態として示され、詳細に記載される。しかし、図面と詳細な説
明は、開示された特定の形態に発明を限定することを意図するものではなく、逆
に、発明は、添付の請求の範囲において記載された本発明の精神および範囲内に
あるすべての修正、等価物、および代替物を網羅するものである。
【0027】 (実施形態の詳細な説明) コンピュータ・システム−図1 図1を参照すると、3次元(3D)グラフィックス・システムを含むコンピュ
ータ・システム80の一実施形態が示される。3Dグラフィックス・システムは
、コンピュータ・システム、ネットワークPC、インターネット機器、HDTV
システムおよび対話型テレビジョン・システム等のテレビジョン、個人用ディジ
タル・アシスタント(PDA)、2Dおよび3Dグラフィックスを表示する他の
装置を含むいろいろなシステムにおいて構成される。
【0028】 図示された如く、コンピュータ・システム80は、システム・ユニット82と
、そのシステム・ユニット82へ結合されたビデオ・モニタまたは表示装置84
とを含む。表示装置84は、各種のタイプの表示モニタまたは装置(例えば、C
RT、LCD、又はガス・プラズマ・ディスプレイ)である。キーボード86お
よび/またはマウス88、または他の入力装置(例えば、トラックボール、ディ
ジタイザ、タブレット、6自由度入力装置、ヘッド・トラッカ、アイ・トラッカ
、データ・グローブ、ボディ・センサ等)を含むいろいろな入力装置が、コンピ
ュータ・システムへ接続される。アプリケーション・ソフトウェアは、コンピュ
ータ・システム80によって実行され、3Dグラフィック対象を、表示装置84
に表示する。さらに以下で記載された如く、コンピュータ・システム80におけ
る3Dグラフィックス・システムは、スーパーサンプリング用サンプル・バッフ
ァを含み、表示装置84において表示された画質および現実感を改善するために
プログラマブルな実時間サンプル−ピクセル計算ユニットを有する。
【0029】 コンピュータ・システム・ブロック図−図2 図2を参照すると、図1のコンピュータ・システムを示す簡略ブロック図が示
される。本発明の理解のために不要なコンピュータ・システムの要素は、便宜上
示されない。図示された如く、コンピュータ・システム80は、ホスト・バス1
04とも呼ばれる高速メモリ・バスまたはシステム・バス104へ結合された中
央処理装置(CPU)102を含む。システム・メモリ106も、高速バス10
4へ結合される。
【0030】 ホスト・プロセッサ102は、各種タイプの1つまたは複数のプロセッサ、例
えば、マイクロプロセッサ、マルチプロセッサおよびCPUを含む。システム・
メモリ106は、ランダム・アクセス・メモリ(例えば、なかでも、静的ランダ
ム・アクセス・メモリまたは「SRAM」、同期動的ランダム・アクセス・メモ
リまたは「SDRAM」、およびラムバス・ランダム・アクセス・メモリまたは
「RDRAM」)および大容量記憶装置を含む、種々のタイプのメモリ・サブシ
ステムの組合せを含む。システム・バスまたはホスト・バス104は、1つまた
は複数の通信またはホスト・コンピュータ・バス(ホスト・プロセッサ、CPU
、およびメモリ・サブシステムの間の通信用)、ならびに専用サブシステム・バ
スを含む。
【0031】 本発明による3Dグラフィックス・システム112は、高速メモリ・バス10
4へ結合される。3Dグラフィックス・システム112は、例えば、クロスバー
・スイッチまたは他のバス接続論理により、バス104へ結合される。いろいろ
な他の周辺装置または他のバスも、高速メモリ・バス104へ接続されることが
できる。3Dグラフィックス・システムは、コンピュータ・システム80におけ
る1つまたは複数のバスへ結合され、および/または各種のタイプのバスへ結合
されることに留意されたい。さらに、3Dグラフィックス・システムは、通信ポ
ートへ結合され、これにより、例えば、インターネットまたはネットワーク等の
外部源からグラフィックス・データを直接に受け取る。図示された如く、表示装
置84は、コンピュータ・システム80に含まれる3Dグラフィックス・システ
ム112へ接続される。
【0032】 ホストCPU102は、ホスト・バス104を介してプログラム入力/出力(
I/O)プロトコルに従い、グラフィックス・システム112との間で情報を送
受する。代替的に、グラフィックス・システム112は、直接メモリ・アクセス
(DMA)プロトコルに従い、またはインテリジェント・バス・マスタリングを
通して、メモリ・サブシステム106にアクセスする。
【0033】 OpenGLまたはJava 3Dの如く、アプリケーション・プログラミン
グ・インターフェース(API)に準拠するグラフィックス・アプリケーション
・プログラムは、ホストCPU102において実行され、表示装置84に出力さ
れる多角形のような幾何学的プリミティブ(グラフィックス・データ)を定義す
るコマンドおよびデータを生成する。使用された特定グラフィックス・インター
フェースにより規定される如く、これらのプリミティブは、前面と後面に対して
別個のカラー特性を有する。ホスト・プロセッサ102は、これらのグラフィッ
クス・データをメモリ・サブシステム106へ転送する。その後、ホスト・プロ
セッサ102は、グラフィックス・データをホスト・バス104を介してグラフ
ィックス・システム112へ転送するように動作する。別の実施形態において、
グラフィックス・システム112は、DMAアクセス・サイクルを使用して、ホ
スト・バス104を介して幾何データ・アレイを読み込む。さらに別の実施形態
において、グラフィックス・システム112は、インテル社によって公表された
アドバンスト・グラフィックス・ポート(AGP)の如く、直接ポートを通して
システム・メモリ106へ結合される。
【0034】 グラフィックス・システムは、ホストCPU102および/またはシステム・
メモリ106および他のメモリを含む各種のいずれかの供給源、例えば、インタ
ーネット等のネットワークの如く外部源、例えばテレビジョン等の放送媒体、も
しくは、他の供給源からグラフィックス・データを受け取る。
【0035】 下記の如く、グラフィックス・システム112は、マイクロコード制御を高効
率に行うように構成され、ホスト・プロセッサ102によって生成された多角形
に対応している入力カラー値を処理する性能が高められる。グラフィックス・シ
ステム112はコンピュータ・システム80の一部として描かれるが、グラフィ
ックス・システム112はまた、スタンドアロン装置(例えば、組み込み型ディ
スプレイ)として構成される。グラフィックス・システム112はまた、単一チ
ップ装置、あるいはシステムオンチップ(system−on−a−chip)
またはマルチチップ・モジュールの一部として構成される。
【0036】 グラフィックス・システム−図3 図3を参照すると、グラフィックス・システム112の一実施形態の詳細を示
すブロック図が示される。図示された如く、グラフィックス・システム112は
、1つまたは複数のグラフィックス・プロセッサ90、1つまたは複数のスーパ
ーサンプリング用サンプル・バッファ162、および1つまたは複数のサンプル
−ピクセル計算ユニット170A〜Dを含む。グラフィックス・システム112
はまた、1つまたは複数のディジタル/アナログ・コンバータ(DAC)178
A〜Bを含む。グラフィックス・プロセッサ90は、適切なタイプの高性能プロ
セッサ(例えば、特殊グラフィックス・プロセッサまたは計算ユニット、マルチ
メディア・プロセッサ、DSP、または汎用プロセッサ)である。一実施形態に
おいて、グラフィックス・プロセッサ90は、1つまたは複数のレンダリング・
ユニット150A〜Dを含む。しかし、示された実施形態において、グラフィッ
クス・プロセッサ90はまた、1つまたは複数の制御ユニット140、1つまた
は複数のデータ・メモリ152A〜D、および1つまたは複数のスケジュール・
ユニット154を含む。サンプル・バッファ162は、図示された如く、1つま
たは複数のサンプル・メモリ160A〜160Nを含む。
【0037】 A.制御ユニット 制御ユニット140は、グラフィックス・システム112とコンピュータ・シ
ステム80の間のデータの転送を制御することにより、グラフィックス・システ
ム112とコンピュータ・システム80の間のインターフェースとして動作する
。2つ以上のレンダリング・ユニット150A〜Dを含むグラフィックス・シス
テム112の実施形態において、制御ユニット140はまた、コンピュータ・シ
ステム80から受け取ったデータ・ストリームを、各個のレンダリング・ユニッ
ト150A〜Dへ経路指定される対応数のパラレル・ストリームへ分割する。グ
ラフィックス・データは圧縮形式でコンピュータ・システム80から受け取る。
これは、都合の良いことに、コンピュータ・システム80とグラフィックス・シ
ステム112の間の帯域幅要求を縮小する。一実施形態において、制御ユニット
140は、データ・ストリームを圧縮形式でレンダリング・ユニット150A〜
Dへ分割および経路指定するように構成される。
【0038】 グラフィックス・データは、1つまたは複数のグラフィックス・プリミティブ
を含む。本明細書で使用された用語「グラフィックス・プリミティブ」は、多角
形、パラメトリック表面、スプライン、NURBS(不均一有理Bスプライン)
、部分分割表面、フラクタル、体積プリミティブ、および粒子系等である。これ
らのグラフィックス・プリミティブは、James D.Foley他著の教科
書「Computer Graphics:Principles and P
ractice」、Addison−Wesley Publishing C
o.、Inc.、1996において詳細に記載されている。簡潔性のためにこの
詳細な説明を通して多角形として説明するが、ここで記載された実施形態と実施
例は、他のタイプのグラフィックス・プリミティブを含むグラフィックス・デー
タでも使用されることに注意されたい。
【0039】 B.レンダリング・ユニット レンダリング・ユニット150A〜D(ここでは描写ユニットとも呼ばれる)
は、制御ユニット140からグラフィックス命令とデータを受け取り、的確な実
装に依存して、多数の機能を行うように構成される。例えば、レンダリング・ユ
ニット150A〜Dは、グラフィックス・データ内で生ずるいろいろなグラフィ
ックス・プリミティブに対して、(データが圧縮されているならば)圧縮解除、
変換、クリッピング、ライティング、テクスチャリング、デプス・キューイング
、透明度処理、設定、および画面空間レンダリングを行うように構成される。こ
れらの各機能は、以下で別々に記載される。
【0040】 受け取った圧縮グラフィックス・データのタイプにより、レンダリング・ユニ
ット150A〜Dは、算術的復号化、ラン長復号化、ハフマン復号化、および辞
書復号化(例えば、LZ77、LZSS、LZ78およびLZW)を行うように
構成される。別の実施形態において、レンダリング・ユニット150A〜Dは、
幾何学的圧縮を使用して、圧縮されたグラフィックス・データを復号するように
構成される。3Dグラフィックス・データの幾何学的圧縮は、大部分の画質を保
持しながら、データ・サイズの有意な縮小を達成する。3D幾何学的形状を圧縮
および圧縮解除する2つの方法は、「Method And Apparatu
s For Geometric Compression Of Three
−Dimensional Graphics Data」という名称で199
5年4月4日に出願されたAttoney Docket No.5181−0
59000、米国特許第5,793,371号、出願番号第08/511,29
4号、および「Compression of Three−Dimensio
nal Geometry Data Representing a Reg
ulary Tiled Surface Portion of a Gra
phical Object」という名称で1998年6月11日に出願された
Attoney Docket No.5181−06602、米国特許出願第
09/095,777号において記載される。デコンプレションをサポートする
グラフィックス・システム112の実施形態において、各レンダリング・ユニッ
ト150によって受け取ったグラフィックス・データは、レンダリングされる1
つまたは複数のグラフィックス「プリミティブ」へデコンプレスされる。用語「
プリミティブ」は、その形状(例えば、点、線、三角形、2次元または3次元内
の多角形、多面体、あるいは3Dの自由形式表面)を定義する物体の成分をいう
。レンダリング・ユニット150は、適切なタイプの高性能プロセッサ(例えば
、特殊グラフィックス・プロセッサまたは計算ユニット、マルチメディア・プロ
セッサ、DSP、あるいは汎用プロセッサ)である。
【0041】 変換は、物体の操作をいい、物体の併進(すなわち、異なる位置への物体の移
動)、物体の拡大縮尺(すなわち、引き伸ばしまたは収縮)、および物体の回転
(例えば、3次元空間または「3スペース」)を含む。
【0042】 クリッピングは、表示画像の限界を決め(すなわち、クリッピング領域の確立
、通常矩形)、これらの限界外にあるピクセルをレンダリングまたは表示しない
ことをいう。
【0043】 ライティングは、各個の物体が有する色および/または輝度を決定するために
、表示画像内の物体の照明を計算することをいう。使用されるシェーディング・
アルゴリズム(例えば、一定、GourandまたはPhong)に依存して、
ライティングは、多数の異なる位置において評価される。例えば、一定シェーデ
ィングが使用される(すなわち、多角形の各ピクセルは同一ライティングを有す
る)ならば、ライティングは、多角形当たり1回のみ計算される必要がある。G
ourandシェーディングが使用されるならば、ライティングは、頂点当たり
1回計算される。Phongシェーディングは、ピクセル毎ベースでライティン
グを計算する。
【0044】 設定は、3次元ビューポートへのマッピング・プリミティブをいう。これは、
最初の「世界座標」系から確立ビューポートの座標へ物体を併進および変換する
ことを含む。これは、画面上に表示された3次元物体に対して正しい遠近法を創
成する。
【0045】 画面スペース・レンダリングは、表示される各ピクセルを生成するために使用
されるデータを実際に計算するために行われる計算をいう。従来技術のシステム
において、各ピクセルは、計算されると、フレーム・バッファに記憶される。フ
レーム・バッファの内容は、表示装置へ出力され、最終画像を作成する。しかし
、図示されたグラフィックス・システム112の実施形態において、レンダリン
グ・ユニット150A〜Dは、実ピクセル・データの代わりに、「サンプル」を
計算する。これにより、レンダリング・ユニット150A〜Dは、「スーパーサ
ンプリング」し、ピクセル当たり2以上のサンプルを計算することができる。ス
ーパーサンプリングは、以下でより詳細に記載される。レンダリング・ユニット
150A〜Bは、例えば、分離設定/圧縮解除ユニットおよびライティング・ユ
ニット等の多数の小機能ユニットを含むことに注意されたい。
【0046】 スーパーサンプリングについての詳細は、次の書籍において議論される。すな
わち、Andrew Glassner著「Principals of Di
gital Image Synthesis」、Morgan Kaufma
n Publishing(第1卷)、およびSteve Upstill著「
Renderman Companion」、1990、Addison−We
sley Publishingである。
【0047】 C.データ・メモリ 各レンダリング・ユニット150A〜Dは、命令/データ・メモリ152A〜
Dへ結合される。一実施形態において、各データ・メモリ152A〜Dは、レン
ダリング・ユニット150A〜Dに対するデータおよび命令を記憶するように構
成される。実装では変えられるが、一実施形態において、各データ・メモリ15
2A〜Dは、各レンダリング・ユニット150A〜Dに対して合計16MByt
eの記憶域を設ける2つの8MByteのSDRAMを含む。別の実施形態にお
いて、RDRAM(Rambus DRAM)は、各レンダリング・ユニットの
圧縮解除および設定動作をサポートするために使用されるが、SDRAMは、レ
ンダリング・ユニット150A〜Dの描写機能をサポートするために使用される
【0048】 D.スケジュール・ユニット スケジュール・ユニット154は、レンダリング・ユニット150A〜Dとサ
ンプル・メモリ160A〜Nの間に結合される。スケジュール・ユニット154
は、完成したサンプルを順序付け、サンプル・メモリ160A〜Nに記憶するよ
うに構成される。大形コンフィギュレーションにおいて、多重のスケジュール・
ユニット154が、パラレルに使用される。一実施形態において、スケジュール
・ユニット154は、クロスバー・スイッチとして実現される。
【0049】 E.サンプル・メモリ スーパーサンプリング用サンプル・バッファ162は、レンダリング・ユニッ
トによって生成された複数のサンプルを記憶するように構成されたサンプル・メ
モリ160A〜160Nを含む。本明細書に使用された用語「サンプル・バッフ
ァ」はサンプルを記憶する1つまたは複数のメモリを指す。前記の如く、1つま
たは複数のサンプルが、出力ピクセル(すなわち、表示装置に表示されるピクセ
ル)を形成するために濾過される。記憶されるサンプル数は、単一フレームをリ
フレッシュするために表示装置へ出力されたピクセルの総数以上または未満であ
る。各サンプルは、1つまたは複数の出力ピクセルに対応する。本明細書で使用
された如く、サンプルの情報がピクセルの最終出力値に寄与する時、サンプルは
、出力ピクセルに「対応」する。しかし、サンプルの中には、濾過が行われた後
、対応する出力ピクセルに全く寄与しないものもあることに注意されたい。
【0050】 言い換えれば、サンプル・バッファは、ディスプレイにおける画面スペースの
位置に対応する位置を有する複数のサンプルを記憶する。すなわち、サンプルは
、表示における1つまたは複数の出力ピクセルに寄与する。記憶サンプルの数は
、ピクセル位置の数よりも大きく、2以上のサンプルが、畳み込み(濾過)プロ
セスにおいて組み合わされ、表示装置において表示される特定出力ピクセルを生
成する。所与のサンプルが、1つまたは複数の出力ピクセルへ寄与する。
【0051】 サンプル・メモリ160A〜160Nは、可変サイズにおいて多数の種々のタ
イプのメモリ(例えば、SDRAM、SRAM、RDRAM、3DRAM、また
は次世代3DRAM)の任意のものを含む。一実施形態において、各スケジュー
ル・ユニット154は、4バンクのサンプル・メモリへ結合され、この場合、各
バンクは、4個の3DRAM−64メモリを含む。一体的には、3DRAM−6
4メモリは、ピクセル当たり多重サンプルを記憶する116ビット深さのスーパ
ーサンプリング用サンプル・バッファを形成する。例えば、一実施形態において
、各サンプル・メモリ160A〜160Nは、ピクセル当たり最高16個のサン
プルを記憶する。
【0052】 3DRAM−64メモリは、一チップにおける単一のバッファされたZにより
全内部二重バッファをサポートするように構成された特殊メモリである。二重バ
ッファ部分は、2つのRGBXバッファを含み、この場合、Xは、他の情報(例
えば、アルファ)を記憶するために使用される第4チャネルである。3DRAM
−64メモリはまた、ルックアップ・テーブルを有し、ウインドウID情報を取
得し、どのバッファの内容が出力されるかを選択する内部2−1または3−1マ
ルチプレクサを制御する。3DRAM−64メモリは、次世代3DRAMメモリ
であり、三菱電機株式会社の半導体部門からまもなく市販される。一実施形態に
おいて、組み合わせて使用される4個のチップは、二重バッファされた1280
×1024スーパーサンプリング用サンプル・バッファを作成するために十分で
ある。メモリは内部で二重にバッファされるために、二重バッファ系における2
つのフレーム・バッファの各々に対する入力ピンは、(メモリ内のマルチプレク
サを使用して)時分割多重化される。同様に、出力ピンも時分割多重化される。
これにより、二重バッファの利益を提供しながら、ピン・カウントを低減するこ
とができる。3DRAM−64メモリは、z出力ピンを備えないことにより、ピ
ン・カウントをさらに低減する。z比較およびメモリ・バッファ選択は内部で取
り扱われるために、これは、(例えば、出力側において無効選択論理(less or
no selection logic)を使用して)サンプル・バッファを簡易化する。また、デ
ータを読み出し、z比較を行い、データを書き戻すという伝統的なプロセスなし
に、情報をメモリへ書き込むために、3DRAM−64の使用は、メモリ帯域幅
を縮小する。代わりに、データは、3DRAM−64へ単に書き込まれ、メモリ
は上記のステップを内部で行う。
【0053】 しかし、グラフィックス・システム112の他の実施形態において、他のメモ
リ(例えば、SDRAM、SRAM、RDRAM、または現世代3DRAM)が
、サンプル・バッファ162を形成するために使用される。
【0054】 グラフィックス・プロセッサ90は、特定のサンプル位置付け技法(例えば、
正規グリッド、乱れ正規グリッド等)に応じて複数のサンプル位置を生成するた
めに構成される。代替的に、サンプル位置(またはサンプル位置を形成するため
に正規グリッド位置へ付加されたオフセット)は、サンプル位置メモリ(例えば
、RAM/ROMテーブル)から読み出される。レンダリングされる多角形を受
け取ることにより、グラフィックス・プロセッサ90は、サンプル位置に基づい
て、どのサンプルが多角形内にあるかを判定する。グラフィックス・プロセッサ
90は、多角形内にあるサンプルをレンダリングし、レンダリングされたサンプ
ルをサンプル・メモリ160A〜Nに記憶する。本明細書で使用された用語レン
ダリングと描写は、交換可能に使用され、サンプルのカラー値を計算することを
いう。また、デプス値、アルファ値、および他のサンプル毎の値は、レンダリン
グ描写プロセスにおいて計算される。
【0055】 E.サンプル−ピクセル計算ユニット サンプル−ピクセル計算ユニット170A〜Dは、サンプル・メモリ160A
〜NとDAC178A〜Bの間に結合される。サンプル−ピクセル計算ユニット
170A〜Dは、サンプル・メモリ160A〜Nから選択サンプルを読み出し、
サンプルに畳み込み(例えば、濾過および重み付け機能または低域フィルタ)を
行い、DAC178A〜Bへ出力される出力ピクセル値を生成する。サンプル−
ピクセル計算ユニット170A〜Dは、プログラマブルであり、所望の出力タイ
プにより、種々のフィルタ機能を種々の時点において実行することができる。一
実施形態において、サンプル−ピクセル計算ユニット170A〜Dは、5×5ス
ーパーサンプリング用再構成帯域通過フィルタを実現し、スーパーサンプリング
用サンプル・バッファのデータ(サンプル・メモリ160A〜Nに記憶)を単一
ピクセル値へ変換する。他の実施形態において、計算ユニット170A〜Dは、
出力ピクセルを計算するために、選択数のサンプルを濾過する。濾過されたサン
プルは、可変の重み因子を掛け算され、計算されるピクセルの中心に近い位置の
サンプルに対して多少の重みを与える。また、他の濾過機能も、単独または組み
合わせて使用される。例えば、テント・フィルタ、円形および楕円フィルタ、ミ
ッチェル・フィルタ(Mitchel filter)、帯域通過フィルタ、同期機能フィルタ
等である。
【0056】 サンプル−ピクセル計算ユニット170A〜Dはまた、次の特徴の1つまたは
複数を備えるように構成される。すなわち、擬似カラー・テーブルを用いたカラ
ー・ルックアップ、直接カラー、逆ガンマ補正、ピクセルへのサンプルの濾過、
非線形光空間へのピクセルの変換である。サンプル−ピクセル計算ユニット17
0A〜Dの他の特徴としては、プログラマブル映像タイミング発生器、プログラ
マブル・ピクセル・クロック合成器、およびクロスバー機能がある。サンプル−
ピクセル計算ユニットが各ピクセルのタイミングとカラーを処理したならば、ピ
クセルは、DAC178A〜Bへ出力される。
【0057】 F.DAC DAC178A〜Bは、グラフィックス・システム112の最終出力段階とし
て動作する。DAC178A〜Bは、クロス・ユニット174A〜Bから受け取
ったディジタル・ピクセル・データを、アナログ映像信号へ変換し、その後、表
示装置へ送信するために使用される。一実施形態において、DAC178A〜B
は、アナログ映像信号の代わりに、ディジタル・ピクセル・データを出力するた
めに、完全にバイパスまたは省略してもよいことに留意されたい。これは、表示
装置84がディジタル技術に基づく(例えば、LCDタイプ・ディスプレイまた
はディジタル・マイクロミラー・ディスプレイ)時、有益である。
【0058】 スーパーサンプリング−図4〜図5 図4を参照すると、伝統的なスーパーサンプリングされないピクセル値計算が
例示される。各ピクセルは、そのピクセルに対して計算された1データ点を有し
、そして単一データ点は、ピクセルの中心に位置する。例えば、唯一のデータ点
(すなわち、サンプル74)は、ピクセル70の値へ寄与する。
【0059】 図5Aを参照すると、スーパーサンプリングの一実施形態の例が示される。こ
の実施形態では、多数のサンプルが計算される。サンプルの数は、ピクセルの数
に関連するか、もしくはピクセルの数とは完全に独立である。この例において、
9個のピクセルにわたって正規グリッドに分布した18個のサンプルがある。図
面に存在するすべてのサンプルに、単純な1対1の相関がなされる(例えば、各
ピクセルの中心に最も近いサンプルを除くすべてのサンプルを除く)。しかし、
最も興味深い事例は、最終ピクセル値を決定するために、多重サンプルに濾過機
能を実施するものである。また、上記の如く、単一サンプルが、複数の出力ピク
セルを生成する、すなわち、スーパーサンプリングをするために使用される。
【0060】 円形フィルタ72が図示されている。この例において、サンプル74A〜Bの
双方が、ピクセル70の最終値に寄与する。この濾過プロセスは、都合の良いこ
とに、表示画像における急峻なエッジを平滑化する(すなわち、アンチエイリア
シングを行う)ことにより、表示画像の現実感を改善する。フィルタ72は、出
力ピクセル70の最終値を形成するためにサンプル74A〜Bを単に平均化し、
もしくは(ピクセル70の中心における)サンプル74Bの寄与を増大させ、サ
ンプル74A(すなわち、ピクセル70の中心から遠いサンプル)の寄与を減少
させる。円形フィルタ72は、各出力ピクセルを計算するために有用され、その
ため、フィルタ72の中心は、計算されるピクセルの中心位置と一致する。他の
フィルタおよびフィルタ位置技法もまた可能であり、考慮される。
【0061】 図5Bを参照すると、スーパーサンプリングの別の実施形態が示される。しか
し、この実施形態において、サンプルは、無作為に位置付けられている。さらに
具体的には、種々のサンプル位置が選択され、グラフィックス・プロセッサ90
(およびレンダリング・ユニット150A〜D)へ供給され、カラー情報を計算
し、これらの種々の位置においてサンプルを形成する。こうして、フィルタ72
内にあるサンプルの数は、ピクセル毎に変化する。
【0062】 実時間畳み込みを有するスーパーサンプリング用サンプル・バッファ−図6〜
図13 図6を参照すると、グラフィックス・システム112の一実施形態によるデー
タ・フローに対する可能な一コンフィギュレーションを示すブロック図が示され
る。図示された如く、幾何学的データ350は、グラフィックス・システム11
2によって受け取られ、描写プロセス352を実施するために使用される。描写
プロセス352は、1つまたは複数の制御ユニット140、レンダリング・ユニ
ット150、メモリ152、およびスケジュール・ユニット154によって実現
される。幾何学的データ350は、1つまたは複数の多角形用のデータを含む。
各多角形は、複数の頂点(例えば、三角形の場合に3つの頂点)を含み、それら
は共有されるものもある。x、yおよびz座標等のデータ、カラー・データ、ラ
イティング・データ、およびテクスチャ・マップ情報が、各頂点に対して含めら
れる。
【0063】 頂点データのほかに、描写プロセス352(レンダリング・ユニット150A
〜Dによって実行される)はまた、サンプル位置メモリ354からサンプル座標
を受け取る。一実施形態において、位置メモリ354は、レンダリング・ユニッ
ト150A〜D内に具現される。別の実施形態において、位置メモリ354は、
テクスチャおよびレンダリング・メモリ152A〜152Dの一部として、もし
くは分離メモリとして実現される。サンプル位置メモリ354は、描写プロセス
352において計算され、スーパーサンプリング用サンプル・バッファ162へ
記憶されたサンプルに対して位置情報を記憶するように構成される。一実施形態
において、位置メモリ354は、全サンプル・アドレスを記憶するように構成さ
れる。しかし、これは、位置メモリ354のサイズを増すことを含む。代替的に
、位置メモリ354は、サンプルに対するxオフセットとyオフセットのみを記
憶するように構成される。オフセットのみの記憶は、各サンプルの全位置を記憶
するよりも、使用する記憶スペースは少ない。オフセットは、ビン座標または正
規グリッド上の位置に関する。サンプル位置メモリ354に記憶されたサンプル
位置情報は、専用サンプル位置計算ユニット(不図示)によって読み出され、グ
ラフィックス・プロセッサ90に対する例のサンプル位置を計算するために処理
される。サンプル位置オフセットについてのさらに詳細な情報は、以下に含めら
れる(図9と図10の説明を参照)。
【0064】 別の実施形態において、サンプル位置メモリ354は、乱数表を記憶するよう
に構成される。サンプル位置メモリ354はまた、1つまたは複数の異なるタイ
プの正規グリッドを生成するために専用ハードウェアを含む。このハードウェア
は、プログラマブルである。記憶された乱数は、ハードウェアによって生成され
た正規グリッド位置へオフセットとして加算される。一実施形態において、サン
プル位置メモリは、種々の手法により乱数表にアクセスする、もしくは乱数表を
「展開」するためにプログラマブルである。これにより、サンプル位置オフセッ
トを繰り返すことにより視覚アーチファクトが生ずることなく、小形表の使用が
可能になる。一実施形態において、乱数は、反復可能であり、これにより、各オ
フセットを必ずしも記憶することなく、描写プロセス352とサンプル−ピクセ
ル計算プロセス360は同一サンプルに対して同一オフセットを使用することが
できる。
【0065】 図示された如く、サンプル位置メモリ354は、正規方形グリッド、正規六角
形グリッド、乱れ正規グリッド、またはランダム(確率)分布等の多数の各種の
技法に従い、生成されたサンプル・オフセットを記憶するように構成される。グ
ラフィックス・システム112は、オペレーティング・システム、装置ドライバ
、または幾何学的データ350からのサンプル位置付け技法のいずれのタイプが
使用されるかの指示を受け取る。こうして、サンプル位置メモリ354は、1つ
または複数の異なる技法に従い、位置情報を生成するためにコンフィギュレーシ
ョン可能、またはプログラマブルである。サンプル位置技法についてのさらに詳
細な情報は、さらに以下で記載される(図8の説明を参照)。
【0066】 一実施形態において、サンプル位置メモリ354は、ビン毎の種々の全サンプ
ル・カウントについての確率的サンプル点(または位置)を含むRAM/ROM
を含む。本明細書で使用された用語「ビン」は、画面スペースにおける領域また
は領域をいい、その領域において多数のサンプルを含む(例えば、ビンは領域に
おいて1×1ピクセル、領域において2×2ピクセルを含む)。ビンの使用は、
サンプル・バッファ162におけるサンプルの記憶およびアクセスを簡易化する
。多数の異なるビン・サイズが、使用される(例えば、ビン毎に1サンプル、ビ
ン毎に4サンプル、等)。好ましい実施形態において、各ビンは、ディスプレイ
における特向き置に対応するxy位置を有する。ビンは、好ましくは、規則的に
間隔をあけられる。この実施形態において、ビンのxy位置は、サンプル・バッ
ファ162内のビンの記憶位置から決定される。ビンの位置は、ディスプレイに
おける特向き置に対応する。実施形態の中には、ビン位置は、ピクセル中心に対
応するものもあるが、別の実施形態では、ビン位置がピクセル中心間に位置する
点に対応する。ビン内の各サンプルの特向き置は、RAM/ROMテーブルにお
いてサンプルのオフセットを参照することにより決定される(オフセットは対応
するビン位置に関して記憶される)。しかし、実現により、ビン・サイズのすべ
てが一意的なRAM/ROMエントリを有するわけではない。ビン・サイズの中
には、大形ビン・サイズのエントリのサブセットを単に読み込むものもある。一
実施形態において、サポートされた各サイズは、少なくとも4つの異なるサンプ
ル位置技法の変形を有し、サンプル位置の繰り返しによる最終的な画像アーチフ
ァクトを低減させる。
【0067】 一実施形態において、位置メモリ354は、8ビット数のペアを記憶し、各ペ
アは、xオフセットとyオフセットを含む(他の可能なオフセットも、例えば、
時間オフセット、zオフセット等可能である)。ビン位置へ加算された時、各ペ
アは、画面スペースにおいて特向き置を規定する。用語「画面スペース」は、一
般に、表示装置の座標系をいう。読み出し回数を改善するために、メモリ354
は、広域/パラレルな技法で構成され、メモリは、クロック・サイクル当たり2
以上のサンプル位置を出力することができる。
【0068】 いったんサンプル位置がサンプル位置メモリ354から読み出されたならば、
描写プロセス352は、現在レンダリングされている多角形内にあるサンプル位
置を選択する。その後、描写プロセス352は、これらのサンプルの各々に対し
て(フィールド情報値のアルファまたは他の深さを含む)z情報およびカラー情
報を計算し、データをサンプル・バッファ162へ記憶する。一実施形態におい
て、サンプル・バッファは、z値(および多分アルファ値)を単一バッファする
が、カラーの如く他のサンプル成分を二重バッファする。従来技術のシステムと
は異なり、グラフィックス・システム112は、すべてのサンプルを二重バッフ
ァする(しかし、すべてのサンプル成分が二重バッファされるわけではない。す
なわち、サンプルは、二重バッファされない成分を有し、あるいはすべてのサン
プルが二重バッファされるわけではない)。一実施形態において、サンプルは、
ビンにおけるサンプル・バッファ162へ記憶される。実施形態の中には、ビン
のサイズ、すなわち、ビン内のサンプルの品質はフレーム毎に変化し、また、単
一フレーム内の表示装置84の異なる領域で変化するものがある。例えば、表示
装置のエッジに沿ったビンは、唯一のサンプルを含むが、表示装置84の中心の
近くのピクセルに対応するビンは、16個のサンプルを含む。ビンの領域は、領
域毎に変化することに注意されたい。ビンの使用は、図11に関連して以下で非
常に詳細に記載される。
【0069】 描写プロセス352と並列かつ独立に、フィルタ・プロセス360は、サンプ
ル・バッファ162からサンプルを読み出し、それらを濾過し、合成出力ピクセ
ルを表示装置84へ出力するように構成される。サンプル−ピクセル計算ユニッ
ト170は、フィルタ・プロセス380を実現する。こうして、出力ピクセルの
少なくともサブセットに対して、フィルタ・プロセスは、それぞれの出力ピクセ
ルを生成するために、複数のサンプルを濾過するように動作する。一実施形態に
おいて、フィルタ・プロセス360は、(i)各サンプルから濾過される出力ピ
クセルの中心への距離を決定し、(ii)サンプルの成分(例えば、カラーとア
ルファ)に、距離の特定(プログラマブル)関数であるフィルタ値を掛け算し、
(iii)出力ピクセルに寄与するすべての重み付きサンプルを合計し、そして
(iv)合成出力ピクセルを正規化するように構成される。フィルタ・プロセス
360は、以下でさらに詳細に記載される(図11、図12および図14に関す
る説明を参照)。フィルタの範囲は円形である必要はない(すなわち、距離では
なくxとyの関数である)が、範囲が円形であっても、フィルタは、円形対称で
ある必要はない。フィルタの「範囲」は、サンプルがフィルタ内で計算される特
定ピクセルに影響を与える領域である。
【0070】 図7を参照すると、グラフィックス・システム112の代替実施形態を示すブ
ロック図が示される。この実施形態において、2つ以上のサンプル位置メモリ3
54Aと354Bが使用される。こうして、サンプル位置メモリ354Aは、本
質的に二重バッファされる。サンプル位置がフレーム毎に同一に保たれるならば
、サンプル位置は単一バッファされる。しかし、サンプル位置がフレーム毎に変
化するならば、グラフィックス・システム112は、都合の良いことに、サンプ
ル位置を二重バッファするように構成される。サンプル位置は、レンダリング側
において二重バッファされる(すなわち、メモリ354Aが二重バッファされる
)か、および/またはフレーム/畳み込み側において二重バッファされる(すな
わち、メモリ354Bが二重バッファされる)。他の組合せも可能である。例え
ば、メモリ354Aは、単一バッファされるが、メモリ354Bは、二重バッフ
ァされる。このコンフィギュレーションにより、メモリ354Bの一方の側はリ
フレッシングのために(すなわち、フィルタ/畳み込みプロセス360により)
使用され、メモリ354Bの他方の側は更新に使用される。このコンフィギュレ
ーションにおいて、各フレームがレンダリングされる時、グラフィックス・シス
テム112は、メモリ354Aから二重バッファメモリ354Bへサンプル位置
(またはオフセット)をシフトすることにより、フレーム毎ベースでサンプル位
置技法を変更する。こうして、(メモリ354Aから読み出された)サンプルを
計算するために使用された位置は、濾過プロセス(すなわち、サンプル−ピクセ
ル変換プロセス)中、使用されるメモリ354Bへ複写される。いったん位置情
報がメモリ354Bへ複写されたならば、位置メモリ354Aには、第2フレー
ムをレンダリングするために使用される新しいサンプル位置オフセットがロード
される。このようにして、サンプル位置情報は、サンプルに追従し、描写/レン
ダリング・プロセスからフィルタ・プロセスへ伝達される。
【0071】 さらに別の代替実施形態は、スーパーサンプリング用サンプル・バッファ16
2においてサンプルに関するオフセットへのタグを記憶する。これらのタグは、
各特定サンプルに関連したオフセット/乱れを参照するために使用される。
【0072】 サンプル位置付け技法 図8は、多数の異なるサンプル位置付け技法を例示する。正規グリッド位置付
け技法190において、各サンプルは、規則的な空間のグリッドの交差部におい
て位置付けられる。しかし、本明細書で使用された用語「正規グリッド」は、方
形グリッドに限定されない。矩形グリッド、六角形グリッド、三角形グリッド、
対数グリッド、およびペンローズ・タイリングの如く半正規格子等の、他のタイ
プのグリッドもまた、ここで使用された如く「正規」と考えられる。
【0073】 乱れ正規グリッド位置付け技法192は、正規グリッドの前定義に基づく。し
かし、乱れ正規グリッド技法192におけるサンプルは、対応するグリッド交差
部からオフセットされている。一実施形態において、サンプルは、ランダムな角
度(例えば、0〜360度)、およびランダムな距離だけオフセットされ、もし
くは所定の範囲に限定されないランダムなxオフセットとyオフセットだけオフ
セットされる。オフセットは、多数の手法で生成される。例えば、少数のシード
に基づくハードウェアにより、テーブルからの参照により、あるいは擬似ランダ
ム関数を使用して生成される。再び、乱れ正規グリッド技法192は、任意のタ
イプの正規グリッド(例えば、方形または六角形)に基づく。矩形または六角形
乱れグリッドは、これらのグリッド・タイプの幾何学的特性により、特に望まし
い。
【0074】 確率的サンプル位置付け技法194は、サンプルの位置付け技法に対する第3
の潜在的なタイプを表現する。確率的サンプル位置付けは、領域(例えば、表示
装置における表示領域または特定ウインドウ)にわたってサンプルを無作為に分
布させることを含む。サンプルのランダムな位置付けは、多数の異なる方法によ
り、例えば、擬似乱数を生成するために内部クロックの如く乱数発生器を使用し
て達成される。乱数または位置は、前に計算され、メモリに記憶される。
【0075】 図9を参照すると、乱れ正規グリッド技法192の一実施形態の詳細が示され
る。この実施形態において、サンプルは、xオフセットおよびyオフセットだけ
、正規方形グリッドから無作為にオフセットされる。拡大領域に示された如く、
サンプル198は、対応するグリッド交差点196からの水平変位を指定するx
オフセット134を有する。同様に、サンプル198はまた、グリッド交差点1
96からの垂直変位を指定するyオフセット136を有する。ランダム・オフセ
ットはまた、角度と距離により指定される。角度と距離を使用する前に開示の実
施形態と同様に、xオフセット134とyオフセット136は、特定最小値およ
び/または最大値、あるいは値の範囲に限定される。
【0076】 図10を参照すると、乱れ正規グリッド技法192の別の実施形態の詳細が示
される。この実施形態において、サンプルは、「ビン」138A〜Dへグループ
化される。この実施形態において、各ビンは、9個(すなわち、3×3)のサン
プルを含む。他の実施形態においては異なるビン・サイズが使用される(例えば
、ビンは2×2サンプルもしくは4×4サンプルを記憶する)。示された実施形
態において、各サンプルの位置は、ビンの位置に対するオフセットとして決定さ
れる。ビンの位置は、グリッドに対する任意の所望の位置、例えば、図示の如く
下左側隅部132A〜Dとして決められる。例えば、サンプル198の位置は、
ビン138Dの隅部132Dのxおよびy座標へのxオフセット124とyオフ
セット126を合計することにより決定される。前記の如く、これは、幾つかの
実施形態において使用されるサンプル位置メモリのサイズを縮小する。
【0077】 図11を参照すると、サンプル・バッファ162において記憶されたサンプル
をピクセルへ急速に変換するための1つの可能な方法が示される。この実施形態
において、サンプル・バッファ162の内容は、列へ編成される(例えば、列1
〜4)。サンプル・バッファ162の各列は、2次元のビン・アレイを含む。列
は、(例えば、1つ又は複数のビンだけ)水平にオーバーラップするように構成
され、各列は、畳み込みプロセスに対して特定のサンプル−ピクセル計算ユニッ
ト170A〜Dに割り当てられる。オーバーラップの量は、使用されるフィルタ
の範囲に依存する。図示の例は、2つのビンのオーバーラップを示す(方形18
8の如く各方形は、1つまたは複数のサンプルを含む単一ビンを表現する)。都
合の良いことに、このコンフィギュレーションにより、サンプル−ピクセル計算
ユニット170A〜Dは、独立かつ並列に動作することができ、各サンプル−ピ
クセル計算ユニット170A〜Dは、自己の列を受け取り、変換する。列のオー
バーラップは、ピクセル範囲を超える任意の操作に対し列境界において出現する
視覚バンドまたは他のアーチファクトを除去する。
【0078】 図11Aを参照すると、スーパーサンプリング用サンプル・バッファからサン
プルを読み出すための方法の一実施形態の詳細が示される。図示された如く、畳
み込みフィルタ・カーネル400は、列414(矢印406を参照)に沿って移
動し、出力ピクセルを生成する。1つまたは複数のサンプル−ピクセル計算ユニ
ット170は、畳み込みフィルタ・カーネル400を実現する。ビン・キャッシ
ュ408は、出力ピクセルに潜在的に寄与するサンプルへ迅速にアクセスするた
めに使用される。畳み込みプロセスが進行する時、ビンは、スーパーサンプリン
グ用サンプル・バッファから読み出され、ビン・キャッシュ408において記憶
される。一実施形態において、もはや必要とされないビン410は、新ビン41
2によってキャッシュに重ね書きされる。各ピクセルが生成される時、畳み込み
フィルタ・カーネル400はシフトする。カーネル400は、矢印406によっ
て指示された方向に列内で順次式に進行するものとして視覚化される。カーネル
400が、列の最後に達する時、1つまたは複数のサンプル行を下にシフトし、
再び処理を行う。こうして、畳み込みプロセスは、走査線式に進行し、表示のた
めに1列の出力ピクセルを生成する。
【0079】 図11Bを参照すると、潜在的な境界条件を示す図が示される。一実施形態に
おいて、サンプル・ウインドウ420の外側にあるビンは、利用者によって指定
された所定の背景色を有するサンプルで置き換えられる。別の実施形態において
、ウインドウの外側にあるビンは、重み因子をゼロにセットする(その後、正規
化係数を動的に計算する)ことにより使用されない。さらに別の実施形態におい
て、ウインドウの内縁におけるビンは、ウインドウの外側のビンに置き換わるた
めに複製される。これは、外側ビン430が小内側ビン432によって置き換え
られることで図示される。
【0080】 図12は、サンプル・ピクセルをスーパーサンプリング用サンプル・バッファ
へ描写またはレンダリングするための方法の一実施形態の流れ図である。図12
のあるステップは、同時に、または異なる順序で行われる。この実施形態におい
て、グラフィックス・システムは、ホストCPU102から、もしくはメイン・
メモリ106から直接に、グラフィックス・コマンドおよびグラフィックス・デ
ータを受け取る(ステップ200)。次に、命令とデータは、1つまたは複数の
レンダリング・ユニット150A〜Dへ経路指定される(ステップ202)。グ
ラフィックス・データが圧縮されているならば(ステップ204)、レンダリン
グ・ユニット150A〜Dは、データを使用可能なフォーマット、例えば三角形
へ圧縮解除する(ステップ206)。次に、三角形が処理される。例えば、画面
スペースへ変換され、ライティングされ、変換される(ステップ208A)。グ
ラフィックス・システムが可変解像度スーパーサンプリングを実装しているなら
ば、三角形は、サンプル濃度領域境界と比較される(ステップ208B)。可変
解像度スーパーサンプリング用サンプル・バッファ実施において、表示装置の種
々の領域が、多数の因子(例えば、アイまたはヘッド・トラッキングによって決
定される画面上の注目中心)に基づいて、種々のサンプル濃度を割り当てられる
。サンプル濃度領域は、以下にさらに詳細に記載される(下記の可変解像度サン
プル・バッファを題する節を参照)。三角形が領域境界に交差するならば(ステ
ップ210)、三角形は、領域境界に沿って2つの小多角形へ分割される(ステ
ップ212)。これにより、新規に形成された各三角形は、単一サンプル濃度を
有する。一実施形態において、グラフィックス・システムは、全三角形を2回(
すなわち、各領域において1回ずつ)単に使用し、三角形を有効にクリップする
ように境界ボックスを使用するように構成される。
【0081】 次に、サンプル位置技法(例えば、正規グリッド、乱れ正規グリッド、または
確率的)の1つは、サンプル位置メモリ184から選択される(ステップ214
)。サンプル位置技法は、一般に、サンプル位置メモリ184へ事前にプログラ
ムされるが、「進行中」に選択されることもある。このサンプル位置技法と三角
形を含む領域の同一濃度に基づいて、レンダリング・ユニット150A〜Dは、
どのビンが三角形の境界内に位置するサンプルを含むかを決定する(ステップ2
16)。これらのビン内のサンプルに対するオフセットは、その後、サンプル位
置メモリ184から読み出される(ステップ218)。各サンプルの位置は、オ
フセットを使用して計算され、サンプルが三角形内にあるか判定するために三角
形の頂点と比較される(ステップ220)。ステップ220は、以下に詳細に議
論される。
【0082】 三角形内にあると判定された各サンプルに対して、レンダリング・ユニットは
、サンプルの色、アルファおよび他の属性を計算することにより、サンプルを描
写する。これは、三角形の頂点に付随したカラーおよびテクスチャ・マップ情報
に基づいた、ライティング計算および補間にかかわる。いったんサンプルがレン
ダリングされるならば、それは、スケジュール・ユニット154へ転送され、サ
ンプル・バッファ162においてサンプルを記憶する(ステップ224)。
【0083】 上記の方法の実施形態は、説明の目的のみのために使用され、限定的ではない
ことに注意されたい。例えば、実施形態の中には、シリアルに行われるとして図
に示されたステップは、パラレルに実施されるものがある。さらに、ステップの
中には、グラフィックス・システムの実施形態において縮減または除去されるも
のもある(例えば、幾何学的圧縮を実現しない実施形態のステップ204〜20
6、もしくは可変解像度スーパーサンプリング用サンプル・バッファを実施しな
い実施形態のステップ210〜212)。
【0084】 レンダリングされる多角形内にあるサンプルの決定 比較は、多数の種々の方法で行われる。一実施形態において、三角形を規定す
る3頂点の間のデルタが、最初に決定される。例えば、これらのデルタは、第1
〜第2頂点(v2−v1)=d12、第2〜第3頂点(v3−v2)=d23、
および第3頂点〜第1頂点(v1−v3)=d31の順序で取られる。これらの
デルタは、ベクトルを形成し、各ベクトルは、(例えば、デルタXおよびY係数
の2つの符号ビットを使用することにより)座標平面の4つの象限の1つに属す
るとして分類される。ベクトルがX主要ベクトルであるか、またはY主要ベクト
ルであるかを判定する、第3条件が付加される。これは、delta_xの絶対
値が、delta_yの絶対値よりも大きいかどうかを計算することにより判定
される。
【0085】 これらの3ビットの情報を使用して、各ベクトルは、座標平面の8つの異なる
領域の1つに属するとして、分類される。3ビットがこれらの領域を規定するた
めに使用されるならば、X符号ビット(2だけ左にシフト)、Y符号ビット(1
だけ左にシフト)、およびX主要ビットを使用して、図12Aに示された如く、
8個の領域が作成される。
【0086】 次に、3つのエッジ方程式が三角形の内側部分を決めるために使用される。こ
れらのエッジ方程式(または半平面方程式)は、傾斜切片形態を使用して決めら
れる。必要な数値範囲を縮小するために、X主要方程式形態およびY主要方程式
形態の双方が使用される(傾斜値の絶対値は0〜1の範囲にある)。こうして、
2つのエッジ方程式は、 X主要:y−m・x−b<0、点が線分よりも下にあるとき Y主要:x−m・y−b<0、点が線分よりも左にあるとき
【0087】 X主要方程式は、問題の点が線分よりも下にある時、負対正値を生成するが、
Y主要方程式は、問題の点が線分よりも左にある時、負対正値を生成する。線分
のどの側が「受理」側かは既知であるために、エッジ方程式結果の符号ビット(
または符号ビットの逆)は、サンプルが「受理」側か否かを判定するために使用
される。これは、「受理ビット」と呼ばれる。こうして、サンプルは、 X主要:(y−m・x−b<0)<xor>受理 Y主要:(x−m・y−b<0)<xor>受理 ならば、線分の受理側にある。
【0088】 受理ビットは、次のテーブルに従い、計算される。この場合、cwは、三角形
が時計回り(cw=1)か、または反時計回り(cw=0)かを指定する。 1:受理=!cw 0:受理=cw 4:受理=cw 5:受理=cw 7:受理=cw 6:受理=!cw 2:受理=!cw 3:受理=!cw
【0089】 この表現に対するタイブレーク規則が実施される(例えば、座標軸は正の八分
儀に属するとして定義される)。同様に、X主要は、傾斜に結合したすべての点
を所有するとして定義される。
【0090】 代替実施形態において、エッジの受理側は、三角形の第3頂点(エッジを形成
する2つの頂点の1つではない頂点)にエッジ方程式を適用することにより決定
される。この方法は、上記の技術では使用されない乗算−加算の付加的な費用の
発生を招く。
【0091】 三角形の「対面性(faced-ness)」(すなわち、三角形は時計回りまたは反時
計回りか)を判定するために、三角形の2つのエッジのデルタ方向が、チェック
され、2つのエッジの傾斜が比較される。例えば、エッジ12が1のデルタ方向
を有し、第2エッジ(エッジ23)が、0、4または5のデルタ方向を有すると
仮定すると、三角形は、反時計回りである。しかし、エッジ23が3、2または
6のデルタ方向を有するならば、三角形は時計回りである。エッジ23が1のデ
ルタ方向(すなわち、エッジ12と同じ方向)を有するならば、2つのエッジの
傾斜の比較は、タイを破る(両方共x主要)。エッジ12の傾斜が大きいならば
、三角形は、反時計回りである。エッジ23が、7のデルタ方向(エッジ12と
は完全に反対方向)を有するならば、再び、傾斜が比較され、三角形が時計回り
または反時計回りであるかについて反対の結果となる。
【0092】 同様の分析は、エッジ12およびエッジ23のデルタ方向のすべての方向に余
すところなく適用され、各場合に、適正な対面性が決定される。タイの場合にお
いて傾斜が同一であるならば、三角形は退化する(すなわち、内部領域はない)
。それは、明確に試験され、選び取られ、あるいは適正な数値の場合には、ピク
セルのレンダリングを生じさせないように通される。1つの特殊な場合は、三角
形がビュー平面を分割させる時であるが、パイプラインにおいて初期に(例えば
、前面と後面のクリッピングが行われる時)検出される。
【0093】 多くの場合に、三角形の唯一の辺がレンダリングされることに注意されたい。
こうして、三角形の対面性が決定された後、面が拒絶されるものであるならば、
三角形は選び取られる(すなわち、ピクセルの生成のない一層の処理はない)。
さらに、対面性のこの判定は、すでに計算された因子を超えた1つの付加的な比
較(すなわち、エッジ23の傾斜に対するエッジ12の傾斜の比較)を使用する
ことに注意されたい。多くの伝統的な手法は、(設定計算の初期段階ではあるが
)より複雑な計算を使用する。
【0094】 図13は、出力ピクセルを生成するために、スーパーサンプリング用サンプル
・バッファに記憶されたサンプルを濾過するための方法の一実施形態の流れ図で
ある。まず、ビットのストリームが、スーパーサンプリング用サンプル・バッフ
ァから読み出される(ステップ250)。これらは、1つまたは複数のキャッシ
ュに記憶され、サンプル−ピクセル計算ユニット170に畳み込みプロセス中容
易なアクセスを可能にする(ステップ252)。次に、フィルタ・プロセスによ
って現在生成されている出力ピクセルに寄与するサンプルを含むビンを判定する
ために検査される(ステップ254)。出力ピクセルへ寄与するビンにある各サ
ンプルは、個々に検査され、サンプルが本当に寄与するか否かが判定される(ス
テップ256〜258)。この判定は、サンプルから生成されている出力ピクセ
ルの中心への距離に基づく。
【0095】 一実施形態において、サンプル−ピクセル計算ユニット170は、この距離(
すなわち、サンプルの位置におけるフィルタの範囲)を計算し、それを使用して
、フィルタ範囲に応じてフィルタ重み値を記憶するテーブルへ索引付ける(ステ
ップ260)。しかし、別の実施形態において、ピクセルの中心からサンプルへ
の距離(一般に平方根機能を含む)を決定するための潜在的に高価な計算は、フ
ィルタ重みのテーブルへ索引付けるために平方された距離を使用することにより
回避される。代替的に、xとyの関数は、距離計算による代わりに使用される。
一実施形態において、これは、距離に対して浮動小数点フォーマット(すなわち
、4または5ビットの仮数と3ビットの指数)を使用することにより達成され、
これにより、値の増大範囲を補償する一方、大部分の精度を維持させる。一実施
形態において、テーブルは、ROMに実装される。しかし、RAMテーブルもま
た、使用される。都合の良いことに、RAMテーブルにより、幾つかの実施形態
において、グラフィックス・システムがフレーム毎ベースでフィルタ係数を変更
させる。例えば、フィルタ係数は、ディスプレイの周知の欠点、もしくは利用者
の個人の嗜好を補償するために、変更される。グラフィックス・システムはまた
、フレーム内の画面領域ベース、もしくは出力ピクセル毎ベースにおいてフィル
タ係数を変更する。別の代替実施形態は、特殊ハードウェア(例えば、乗算器と
加算器)を使用して、各サンプルに対して所望のフィルタ重みを実際に計算する
。畳み込みフィルタの限界外のサンプルに対するフィルタ重みは、ゼロのフィル
タ重みによって掛け算され(ステップ262)、もしくは計算から完全に取り除
かれる。
【0096】 いったんサンプルに対するフィルタ重みが決定されると、サンプルは、そのフ
ィルタ重みを掛け算される(ステップ264)。重み付きサンプルは、合算され
、最終出力ピクセルの色値を決定する実行トータルを得る(ステップ266)。
フィルタ重みはまた、実行トータル・ピクセル重みへ加算され(ステップ268
)、濾過ピクセルを正規化するために使用される。正規化は、都合の良いことに
、濾過ピクセル(すなわち、他のピクセルよりも多くのサンプルを有するピクセ
ル)が、畳み込みプロセスによって導入された利得を補償することにより、非常
に明るくまたは暗く見えるのを防止する。すべての寄与サンプルが重み付けされ
、合算された後、総ピクセル・フィルタ重みは、濾過によって生じた利得を分割
するために使用される(ステップ270)。最後に、正規化出力ピクセルは、ガ
ンマ変換、ディジタル対アナログ変換(必要があれば)、そして究極的な表示の
ために出力される(ステップ274)。
【0097】 図14は、出力ピクセル畳み込みの簡略例を示す。図示された如く、4つのビ
ン288A〜Dは、出力ピクセルへ多分寄与するサンプルを含む。この例におい
て、出力ピクセルの中心は、ビン288A〜288Dの境界に位置する。各ビン
は、16個のサンプルを含み、2つの4ビン(2×2)のアレイは、出力ピクセ
ルを生成するために濾過される。円形フィルタが使用されると仮定すると、ピク
セル中心からの各サンプルの距離は、どのフィルタ値がサンプルへ適用されるか
を決定する。例えば、サンプル296は、ピクセル中心に比較的接近し、こうし
て、8のフィルタ値を有するフィルタの領域内にある。同様に、サンプル294
と292は、それぞれ、4と2のフィルタ値を有するフィルタの領域内にある。
しかし、サンプル290は、最大フィルタ範囲外にあり、こうして、0のフィル
タ値を受け取る。こうして、サンプル290は、出力ピクセルの値へ寄与しない
。このタイプのフィルタは、ピクセル中心に最も近くに位置するサンプルが最も
寄与するが、ピクセル中心から遠くに位置するピクセルは、最終出力ピクセル値
にあまり寄与しないことを保証する。このタイプの濾過は、自動的に、画像の急
峻な変化(例えば、暗線から明るい背景への変化)を平滑化することにより、ア
ンチエイリアシングを行う。アンチエイリアシングのための別の特に有益なタイ
プのフィルタは、ウインドウ化正弦フィルタである。都合の良いことに、ウイン
ドウ化正弦フィルタは、混合または「不鮮明」画像のを再先鋭化する負ローブを
含む。負ローブは、フィルタがサンプルを計算されるピクセルから減算させる領
域である。対照的に、負ローブのいずれかの側におけるサンプルは、計算される
ピクセルへ加算される。
【0098】 サンプル290〜296に対する例示値は、ボックス300〜308に示され
ている。この例において、各サンプルは、サンプルの位置データのほかに、赤色
、緑色、青色、およびアルファ値を含む。ブロック310は、非正規化出力ピク
セルに対する各ピクセル成分値の計算を示す。ブロック310に示された如く、
潜在的に非所望の利得は、最終ピクセル値へ導入される(すなわち、2000の
赤色成分値を有する出力ピクセルはサンプルの赤色成分値のいずれよりもずっと
高い)。前記の如く、フィルタ値は、正規化値308を獲得するために合算され
る。正規化値308は出力ピクセルから不要な利得を分割するのに使用される。
ブロック312は、このプロセス、および最終の正規化例ピクセル値を示す。
【0099】 ここで使用された値は、説明目的のみのために選ばれ、限定的なものではない
ことを注意すべきである。例えば、フィルタは、異なるフィルタ値を有する非常
に多数の領域を有する。一実施形態において、幾つかの領域は、負フィルタ値を
有する。使用されたフィルタは、ピクセル中心からのサンプルの距離に基づいて
、各サンプルに対して評価された連続関数である。また、浮動小数点値は、精度
の向上のために使用されることに留意されたい。例えば、シリンダ、円錐、ガウ
ス、Katmull−Rom、ウインドウ化正弦、ミッチェル・フィルタ、箱、
テント等の多彩なフィルタが、活用される。
【0100】 全画面アンチエイリアシング 非常に多様な現3Dグラフィックス・システムは、線と点に対して実時間アン
チエイリアシングを用意している。システムの中には多角形のエッジを「ぼやけ
」させるものもあるが、この技術は、一般に、すべての多角形がデプスにおいて
事前にソートされた時、最良に作用する。これは、多くのアプリケーション(多
角形に対してデプスにおいて事前にソートしない)に対して汎用3Dレンダリン
グ・ハードウェアの目的を無効にする。一実施形態において、グラフィックス・
システム112は、4×4畳み込みフィルタによって濾過された、出力ピクセル
当たり最大16サンプルを確率的に標本化することにより、全画面アンチエイリ
アシングを実現するように構成される。
【0101】 可変解像度スーパーサンプリング 現在、ピクセル位置当たりに一定数のサンプルを使用する直接的な強力な方法
は、例えば、8×スーパーサンプリング用サンプル・バッファを活用し、8倍化
メモリ、8倍のフィル・レート(すなわち、メモリ帯域幅)、およびピクセル当
たり8サンプルを処理することができる畳み込みパイプの使用を伴う。現ディス
プレイの高解像度とリフレッシュ速度を与えられると、この大きさのグラフィッ
クス・システムは、今日の所与レベルの統合化を実現するために比較的高価であ
る。
【0102】 一実施形態において、グラフィックス・システム112は、可変解像度スーパ
ーサンプリングを実施することにより、これらの潜在的な障害物を克服するよう
に構成される。この実施形態において、グラフィックス・システム112は、画
面における1つまたは複数の第1位置(例えば、画面上の窩点)においてピクセ
ル当たり高位数のサンプルを割り当てることにより、人の眼の特性を擬態し、画
面における1つまたは複数の第2位置(例えば、窩点から遠い領域)に対してピ
クセル当たりサンプル数の降下がある。実現により、窩点は、いろいろな手法で
決定される。一実施形態において、窩点は、画面上に表示されたある物体の回り
の所定の領域である。例えば、コンピュータ・ゲームにおける移動カーソルまた
は主キャラクタの回りの領域は、窩点に指定される。別の実施形態において、画
面上の窩点は、ヘッド・トラッキングまたはアイ・トラッキングによって決定さ
れる。アイ/ヘッド/ハンド・トラッキング、カーソル・ベースまたは主キャラ
クタベースの窩点は実現されないとしても、窩点は、画面の中心において固定さ
れ、ここで、多数の観察者の注目が、大部分の時間に集中される。可変解像度ス
ーパーサンプリングは、以下に詳細に記載される。
【0103】 可変解像度スーパーサンプリング用サンプル・バッファ−図15〜図19 伝統的なフレーム・バッファは、一様に標本化されたピクセルの1つの矩形ア
レイである。最終表示装置(CRTまたはLCD)上の各ピクセルに対して、フ
レーム・バッファにおいて単一ピクセルまたは位置のメモリ記憶域がある(多分
二重バッファ)。レンダリングの数学に対して所与のピクセルの2次元メモリ・
アドレスと2次元サンプルの間に自明な1対1対応がある。換言すれば、伝統的
なフレーム・バッファにおいて、ピクセル自体とは別個の、サンプルの独立した
観念はない。出力ピクセルは、ディスプレイのリフレッシュ中ピクセルがディス
プレイに供給される方法に対応して、行/列で伝統的なフレーム・バッファで記
憶される。
【0104】 可変解像度スーパーサンプリング用サンプル・バッファにおいて、出力ピクセ
ル当たりの計算サンプルの数は、領域ベースで変化する。こうして、最大関心の
領域における出力ピクセルは、非常に多数のサンプルを使用して計算され、かく
して、この領域において解像度を向上させ、関心のうすい領域における出力ピク
セルは、少数のサンプルを使用して、計算され、こうして、この領域において解
像度を低下させる。
【0105】 前記の如く、実施形態の中には、グラフィックス・システム112が、可変解
像度スーパーサンプリング用サンプル・バッファを構成される。可変解像度スー
パーサンプリングを実現するために、サンプル・バッファ162は、領域と呼ば
れる小部分へ分割される。これらの領域のサイズ、位置および他の属性は、フレ
ーム毎ベースでランタイム・レジスタによってパラメータ化される如く、動的に
変化するように構成される。
【0106】 図15を参照すると、サンプル・バッファ162を分割するための1つの可能
な技法の図が示される。この実施形態において、サンプル・バッファ162は、
次の3つの入れ子領域に分割される。すなわち、窩領域354、中間領域352
、および周辺領域350である。これらの各領域は、矩形状外側境界を有するが
、中間領域と周辺領域は、その中心において矩形状の穴を有する。各領域は、あ
る一定の(フレーム毎の)特性、例えば、ピクセル・ビンの一定濃度サンプル濃
度と一定サイズを有するように構成される。一実施形態において、全濃度範囲は
256である。すなわち、領域は、16画面ピクセル(4×4)毎に1サンプル
と1画面ピクセル毎に16サンプルとの間ををサポートする。他の実施形態にお
いて、全濃度範囲は、他の値、例えば、64に限定される。一実施形態において
、サンプル濃度は、それぞれの領域にわたって線形または非線形に変化する。ま
た、他の実施形態において、ディスプレイは、複数の一定サイズ領域(例えば、
4×4ピクセルのサイズまたは40×40ピクセルのサイズの方形)に分割され
ることに注意されたい。
【0107】 1つまたは複数の領域隅部(例えば、窩領域隅部)を包含する多角形に対して
単純に計算を行うために、サンプル・バッファは、さらに、複数の副領域へ分割
される。図16を参照すると、副領域へ分割されたサンプル・バッファ162の
一実施形態が示される。これらの各副領域は、矩形であり、グラフィックス・シ
ステム112は、副領域での2次元アドレスを、サンプル・バッファ162にお
ける線形アドレスへ変換することができる。こうして、実施形態の中には、副領
域が、メモリ・ベース・アドレスを有し、副領域内のピクセルに対する記憶域が
どこから開始するかを指示するものがある。各副領域はまた、その幅に付随した
「ストライド」パラメータを有する。
【0108】 スーパーサンプリング用サンプル・バッファの別の潜在的な分割は、円形であ
る。図17を参照すると、そのような一実施形態が例示される。例えば、各領域
は、2つの半径に関連し(すなわち、360〜368)、領域を3つの同心円形
領域へ分割する。円形領域は、すべて、同一画面点、窩中心点に中心を据える。
しかし、窩中心点は、常に、窩領域の中心に位置する必要があるわけではないこ
とに注意されたい。幾つかの事例において、それは、画面外に(すなわち、表示
装置の視覚表示面の側に)位置する。例示の実施形態は最大7個の明確な円形領
域をサポートするが、円の幾つかは、2つの異なる領域にわたって共有すること
ができ、これにより、明確な円形領域を5つ以下に縮小することができる。
【0109】 円形領域は、実際に使用された一定サンプル濃度の領域を明確に定める。例え
ば、図示の例において、窩領域354は、画面ピクセル当たり8サンプルのサン
プル・バッファ濃度を割り当てるが、最内円368の外側で、それは、ピクセル
当たり4サンプルを使用し、次の円366の外側で、それは、ピクセル当たり2
つのサンプルを使用する。こうして、この実施形態において、リングは、必ずし
も実メモリを節約する必要はない(領域がそれを行う)が、それらは、サンプル
・バッファへの入出力に対してメモリ帯域幅(並びにピクセル畳み込み帯域幅)
を潜在的に節約する。異なる有効サンプル濃度を指示するほかに、リングは、使
用される異なるサンプル位置技法を指示するためにも使用される。前記の如く、
これらのサンプル位置技法は、オンチップRAM/ROM、もしくはプログラマ
ブル・メモリにおいて記憶される。
【0110】 前記の如く、幾つかの実施形態において、スーパーサンプリング用サンプル・
バッファ162は、さらにビンへ分割される。例えば、ビンは、単一のサンプル
であるか、もしくはサンプルのアレイ(例えば、2×2または4×4サンプル)
である。一実施形態において、各ビンは、1〜16サンプル点を格納するが、他
のコンフィギュレーションも可能であり、考慮される。各領域は、特定のビン・
サイズ、および一定のメモリ・サンプル濃度に構成される。低濃度領域は、必ず
しも大きなビン・サイズを有する必要はないことに注意されたい。一実施形態に
おいて、領域(または少なくとも内側領域)は、領域を取り巻くビン・サイズの
正確な整数倍である。これは、幾つかの実施形態においてサンプル・バッファの
高効率利用を可能にする。
【0111】 可変解像度スーパーサンプリングは、表示装置に表示された各ピクセルに対し
て可変数のサンプルを計算することを含む。画像のある領域は、非常に多数のサ
ンプル(例えば、物体縁付近)から利益を得るが、他の領域は、余分なサンプル
を必要としない(例えば、なめらかな領域は一定のカラーおよび輝度を有する)
。メモリと帯域幅を節約するために、余分なサンプルは、向上した解像度から利
益を得る領域においてのみ使用される。例えば、ディスプレイの一部が、(例え
ば、背景と同様に)一定の青色を彩色されたならば、余分なサンプルは、すべて
単に(表示される背景色と等しい)一定色であるために、特別に有益ではない。
対照的に、画面上の第2領域が3Dレンダリング物体を複雑なテクスチャおよび
エッジで表示しているならば、付加的なサンプルの使用は、エイリアシングのよ
うなアーチファクトを避けるのに有益である。種々の方法が、画像のどの領域が
高サンプル濃度から利益を得るかを判定または予測するために使用される。例え
ば、エッジ分析は、最終画像に対して行われ、その情報は、サンプル濃度がいか
に分布されるかを予測するために使用される。ソフトウェア・アプリケーション
は、フレームのどの領域が高サンプル濃度を割り当てられるかを指示するもでき
る。
【0112】 種々の方法が可変解像度スーパーサンプリングを実施するために使用される。
これらの方法は、次の2つの一般的な範疇に入る。すなわち、(1)描写または
レンダリング・プロセスに関わる方法、および(2)畳み込みプロセスに関わる
方法である。例えば、サンプルは、次の方法のいずれかを使用して、スーパーサ
ンプリング用サンプル・バッファ162へレンダリングされる。 1)均一なサンプル濃度 2)領域ごとベースにおける可変サンプル濃度(例えば、中間、窩、および周
辺) 3)走査線ベース(または少数の走査線ベース)における濃度の変化による可
変サンプル濃度
【0113】 走査線ベースにおける可変サンプル濃度は、濃度のルックアップ・テーブルを
使用することにより、達成される。例えば、テーブルは、特定走査線の最初の5
個のピクセルが、各々、3個のサンプルを有することを指定するが、次の4個の
ピクセルは、各々、2個のサンプルを有する等である。
【0114】 畳み込みでは、次の方法が可能である。 1)均一な畳み込みフィルタ 2)連続的に可変な畳み込みフィルタ 3)多重空間周波数において動作する畳み込みフィルタ
【0115】 一様な畳み込みフィルタは、例えば、計算された各ピクセルに対して一定の程
度(または選択されたサンプル数)を有する。対照的に、連続的に可変な畳み込
みフィルタは、ピクセルを計算するために使用されるサンプル数を漸次的に変化
させる。関数は、注目の中心における最大値から周辺領域の最小値へ連続的に変
化する。
【0116】 これらの方法の(レンダリング側と畳み込み側における)種々の組合せも可能
である。例えば、一定サンプル濃度は、レンダリング側において使用されるが、
連続的に可変な畳み込みフィルタがサンプルに対して使用される。
【0117】 画像のどの領域がピクセル当たりより多くのサンプルを割り当てられるかを判
定するための種々の方法が考えられる。一実施形態において、画面上の画像が主
要な焦点(例えば、コンピュータ・ゲームにおけるマリオのような人物)を有す
るならば、マリオの回りの領域に対してより多くのサンプルが計算され、そして
他の領域(例えば、背景の回りまたは画面の縁に近い領域)においてより少数の
サンプルが計算される。
【0118】 別の実施形態において、観察者の窩点は、アイ/ヘッド/ハンド・トラッキン
グによって決定される。ヘッド・トラッキングの実施形態において、観察者の凝
視の方向は、多様な機構を使用して測定される、観察者の頭部の向きから判定ま
たは推定される。例えば、観察者が(アイ/ヘッド・トラッキングで)着用する
ヘルメットまたはひさしは、単独で、もしくはハンド・トラッキング機構、ワン
ド、またはアイ・トラッキング・センサと組み合わせて使用され、グラフィック
ス・システム112へ向き情報を提供する。他の代替案は、利用者の前額部に置
いた赤外線反射性ドットを使用するか、もしくはヘッドおよびアイ・トラッキン
グ・センサを組み込んだ一対のめがねを使用するヘッド・トラッキングを含む。
ヘッドおよびハンド・トラッキングを使用する1つの方法は、Michael
Deering著、1995年8月29日発行「Method and App
aratus for High Resolution Virtual R
eality Systems Using Head Tracked Di
splay」という名称の米国特許第5,446,834号において開示される
。この特許は、完全な形でここで参照された。ヘッド・トラッキングの他の方法
もまた可能であり、考えられる(例えば、赤外センサ、電磁気センサ、容量セン
サ、ビデオ・カメラ、音波および超音波検出器、衣類ベース・センサ、ビデオ・
トラッキング装置、導電性インク、ストレイン・ゲージ、力帰還検出器、光ファ
イバー・センサ、空気センサ、磁気トラッキング装置、および機械スイッチ)。
【0119】 前記の如く、アイ・トラッキングは、ヘッド・トラッキングと関連して使用さ
れた時、特に好都合である。アイ・トラッキングの実施形態において、観察者の
凝視の方向は、観察者の頭部に対して観察者の眼の向きを検出することにより直
接的に測定される。この情報は、表示装置に関する観察者の頭部の位置および向
きについての他の情報と組み合わされた時、観察者の窩点(または2つのアイ・
トラッキング・センサが使用されたならば複数の窩点)の正確な測定を可能にす
る。アイ・トラッキングのための1つの可能な方法は、「Inexpensiv
e Interferometric Eye Tracking Syste
m」という名称の米国特許第5,638,176号において開示される。アイ・
トラッキングのための他の方法もまた可能であり、考えられる(例えば、上記の
ヘッド・トラッキングの方法)。
【0120】 どの方法が使用されたかに拘わらず、観察者の窩点が位置を変える時、サンプ
ルの分布も変わる。例えば、観察者の凝視が画面の上左隅部に集中されるならば
、画面の上左隅部に対応する各ピクセルは、8または16個のサンプルを割り当
てられるが、対向する隅部(すなわち、画面の下右隅部)におけるピクセルは、
ピクセル当たり1または2個のサンプルを割り当てられる。いったん観察者の凝
視が変化したならば、ピクセル当たりのサンプルの割り当ても変化する。観察者
の凝視が画面の下右側隅部に移動する時、画面の上左側隅部におけるピクセルは
、ピクセル当たり1または2個のサンプルを割り当てられる。こうして、ピクセ
ル当たりのサンプルの数は、観察者の窩点に関する、画面の種々の領域に対して
能動的に変更される。幾つかの実施形態において、複数の利用者は、各人、ヘッ
ド/アイ/ハンド・トラッキング機構を備え、グラフィックス・システム112
に入力される。これらの実施形態において、画面において2つ以上の窩点がある
と考えられ、高低サンプル濃度の対応する領域を有する。前記の如く、これらの
サンプル濃度は、レンダリング・プロセスのみ、フィルタ・プロセスのみ、もし
くはこれら両者に影響を及ぼす。
【0121】 図18Aと図18Bを参照すると、ピクセル当たりのサンプル数を配分するた
めの方法の一実施形態が示される。方法は、1つまたは複数の窩点に関してピク
セルの位置に基づいて、サンプル数を配分する。図18Aにおいて、アイまたは
ヘッド・トラッキング360は、窩点362(すなわち、観察者の凝視の焦点)
を決定するために使用される。これは、(図において364として表された)観
察者の眼が面する方向を決定するために、トラッキング装置360を使用するこ
とにより決定される。図示された如く、この実施形態において、ピクセルは、(
窩点362に中心を据えた)窩領域354、中間領域352、および周辺領域3
50に分割される。
【0122】 3つのサンプル・ピクセルは、図において指示される。サンプル・ピクセル3
74は、窩領域314内に位置する。窩領域314が8個のサンプルを有するビ
ンとともに構成されると仮定し、各ピクセルに対する畳み込み半径は4つのビン
に接触すると仮定すると、最大32個のサンプルが各ピクセルへ寄与する。サン
プル・ピクセル372は、中間領域352内に位置する。中間領域352が4個
のサンプルを有するビンで構成されると仮定し、各ピクセルに対する畳み込み半
径は4つのビンに接触すると仮定すると、最大16個のサンプルが、各ピクセル
へ寄与する。サンプル・ピクセル370は周辺領域350内に位置する。周辺領
域370が各1個のサンプルを有するビンで構成されると仮定し、各ピクセルに
対する畳み込み半径は1つのビンに接触すると仮定すると、周辺領域350にお
けるピクセルに対して1つのサンプル−ピクセル相関がある。これらの値は単に
例示であり、異なる数の領域、ビン当たりのサンプル数、および畳み込み半径が
使用される。
【0123】 図18Bを参照すると、同一の例が示されるが、異なる窩点362を有する。
図示された如く、トラッキング装置360が窩点362の位置の変化を検出する
時、それは、グラフィックス・システムへ入力を供給し、窩領域354と中間領
域352の位置が調整される。幾つかの実施形態において、領域(例えば、中間
領域352)の幾つかのの部分は、表示装置84のエッジを越える。この例にお
いて、ピクセル370は、窩領域354内にあるが、ピクセル372と374は
周辺領域内にある。図18Aにおける例のようにサンプル・コンフィギュレーシ
ョンを仮定すると、最大32個のサンプルがピクセル370へ寄与し、ただ1つ
のサンプルがピクセル372と374へ寄与する。都合の良いことに、このコン
フィギュレーションは、窩点(すなわち、観察者の凝視の焦点)の近くの領域に
対してより多くの領域を割り当てる。これは、表示装置84における各ピクセル
に対して非常に多数のサンプルを計算する必要性なしに、観察者へより現実感の
ある画像を提供する。
【0124】 図19A〜図19Bを参照すると、可変解像度のスーパーサンプリング用サン
プル・バッファを構成されたコンピュータ・システムの別の実施形態が示される
。この実施形態において、観察者の注目の中心は、主キャラクタ362の位置に
よって判定される。中間領域および窩領域は、画面を移動する主キャラクタ36
2に中心を置く。幾つかの実施形態において、主キャラクタは、(例えば、キー
ボード入力またはマウスにより移動される)単純なカーソルである。
【0125】 さらに別の実施形態において、高位サンプル濃度を有する領域は、表示装置8
4の画面の中央に中心を置く。都合の良いことに、これは、(観察者の注目が大
部分の時間集中される)画面の中心において鋭い画像を設けながら、制御ソフト
ウェアおよびハードウェアを削減する。
【0126】 コンピュータ・ネットワーク−図20 図20を参照すると、コンピュータ・ネットワーク500が示され、少なくと
も1つのサーバー・コンピュータ502と、1つまたは複数のクライアント・コ
ンピュータ506A〜Nとを含む。(図4に示された実施形態において、クライ
アント・コンピュータ506A〜Bが描かれる。)1つまたは複数のクライアン
ト・システムは、コンピュータ・システム80と同様に構成され、各クライアン
ト・システムは、上記の1つまたは複数のグラフィックス・システム112を有
する。サーバー502とクライアント506は、ローカル・エリア・ネットワー
ク(LAN)、ワイド・エリア・ネットワーク(WAN)、もしくはインターネ
ット接続の如く、多様な接続504を通して連結される。一実施形態において、
サーバー502は、1つまたは複数のクライアント506に対し(圧縮された)
3D幾何学的データを記憶し、伝送する。クライアント506は、圧縮された3
D幾何学的データを受け取り、(必要ならば)それを圧縮解除し、幾何学的デー
タをレンダリングする。その後、レンダリングされた画像は、クライアントの表
示装置に表示される。クライアントは、幾何学的データをレンダリングし、スー
パーサンプリング用サンプル・バッファと上記の実時間フィルタ技術を使用して
画像を表示する。別の実施形態において、圧縮された3D幾何学的データは、ク
ライアント・コンピュータ506の間で転送される。
【0127】 グラフィックス・システムの付加的特徴 実現により、コンピュータ・システム80は、グラフィックス・システム11
2(およびスーパーサンプリング用サンプル・バッファ162)を使用して、次
の技術の内の1つまたは複数の技術を実時間で行うように構成される。すなわち
、高品質テクスチャ濾過、バンプ・マッピング、変位マッピング、多重テクスチ
ャ・マッピング、圧縮されたグラフィックス・データの圧縮解除、ピクセル毎の
Phongシェーディング、フィールド効果のデプス、アルファバッファ、ソフ
ト・キー出力、12ビット有効線形出力、および積分アイ/ヘッド/ハンド・ト
ラッキングである。これらの各技術は、以下で詳細に記載される。
【0128】 A.テクスチャ濾過−図21〜図22 コンピュータ・システムにおいて表示された画像の現実感を改良する1つの普
及した技術は、テクスチャ・マッピングである。テクスチャ・マッピングは、複
数のピクセル値またはテキセル値(texel value:「テクスチャ・マップ」と呼 ばれる)を、物体の表面上に写像する。テクスチャ・マップは、3次元(3D)
物体上にラップ(またはマップ)される画像である。テクスチャ・マップ20の
例は、図21Aにおいて例示される。テクスチャ・マップ20は、テクスチャ要
素22a〜n(「テキセル」)の集合として規定され、(ディスプレイまたは「
画面空間」上のX座標とY座標に対応する)座標UとVを有する。図21Bにお
いて、テクスチャ・マッピングの例が示される。図に示されたように、テクスチ
ャ・マップ20は、3D立方体の2つの側面へ写像される。図21Cは、テクス
チャ・マッピングの別の例を示すが、今度は球面物体上である。別の例は、花瓶
を表現する一連の多角形上へ複雑な詳細を有する絵画像を写像するものである。
【0129】 テクスチャ・マッピングはより現実感のある場面を生ずる。しかし、グラフィ
ックス・サブシステムが正しい遠近法を有するテクスチャ・マップを適用できな
いかぎり、テクスチャ・マッピングの厄介な副次的効果が発生する。遠近法補正
されたテクスチャ・マッピングは、表面の空間向きに従い、テキセル(すなわち
、ビットマップ・テクスチャ画像からのピクセル)を表示ピクセルへ変換するア
ルゴリズムである。
【0130】 テクスチャ・マッピングに関連して、多数のグラフィックス・サブシステムは
、双一次濾過、アンチエイリアシング、およびミップ・マッピングを活用し、レ
ンダリングされた画像の外観をさらに改善する。双一次濾過は、表示ピクセルの
値を決定するために多数(例えば、4つ)の隣接テキセルの値を考察することに
より、テクスチャ写像表面の外観を改善する。双一次濾過は、隣接表示ピクセル
値が単一テキセルによって規定される時、単純点サンプリングに起因した「ブロ
ック性」をいくらか低減する。
【0131】 前述の如く、エイリアシングは、コンピュータ・ディスプレイにおいてなめら
かな物体を表示することに起因したギザギザ・エッジをいう。エイリアシングは
、テクスチャ・マップのエッジにおいて特に激しく現れる。アンチエイリアシン
グ(すなわち、ギザギザ・エッジの外観の最小化)は、テクスチャ・マップの異
なる区分が交わるエッジの間のコントラストを低減させることにより、この混乱
を避ける。これは、一般に、エッジまたはその近傍のピクセル値を調整すること
により達成される。
【0132】 ミップ・マッピングは、それぞれ異なる解像度においてディジタル化された、
テクスチャ・マップの多重の複写を記憶することを含む。テクスチャ・マップ多
角形がテクスチャ画像自体よりも小さい時、テクスチャ・マッピング中、望まし
くない効果が現れる。ミップ・マッピングは、物体が観察者に近い(すなわち、
大きい)時使用されるテクスチャ・マップの大型版と、物体が視野から収縮する
時使用されるテクスチャ・マップの小型版とを設けることにより、この問題を避
ける。
【0133】 ミップ・マップは、同一テクスチャ・マップの濾過版のピラミッドとして視覚
化される。各マップは、その先行するマップの半分の線形解像度を有し、このた
め、テキセル数の4分の1を有する。最疎レベルが唯一のテキセルを有するこの
編成のメモリ費用は、原マップの費用の4/3(すなわち、1+1/4+1/1
6+..)である。頭字語「ミップ」は、ラテン語の「multum in p
arvo」を表記し、「小さな場所に多数のもの」を意味する。こうして、ミッ
プ・マップ技法は、前に濾過されたテクスチャを用意し、その内の1つが、レン
ダリングにおける使用のために実時間で選択される。一般に、所望レベルは、ミ
ップ・マップにおける所定レベルの1つに正確には一致しない。こうして、所望
レベルを計算するために、補間が行われる。双一次補間は、正確に所定のミップ
・マップ・レベルの整数境界にないならば、参照されるテキセルが使用される。
同様の2次元線形補間は、テクスチャ・テーブル参照のための基準化(u、v)
値が整数値でない時、各ミップ・マップにおいて計算される。画像を迅速に変化
させる時(例えば、アニメーション中)連続性を保証するために、基準化(u、
v)値を取り巻く4つのテキセルの効果が、テキセル空間における参照点からの
線形距離に基づいて考察される。例えば、基準化(u、v)値が(3.7、6.
8)であるならば、テキセル(3、6)、(4、6)、(3、7)および(4、
7)の重み付け平均が取られる。
【0134】 図22を参照すると、ミップ・マップのセットが示される。図が示す如く、各
ミップ・マップは、2次元画像であり、ここで、各連続ミップ・マップは、前の
ミップ・マップの半分のサイズである。例えば、レベル0(すなわち、テクスチ
ャ・マップ20)が16×16テキセルであるならば、レベル1(ミップ・マッ
プ22)は、8×8テキセルであり、レベル2(ミップ・マップ24)は、4×
4テキセルであり、レベル3(ミップ・マップ24)は、2×2テキセルであり
、そしてレベル4(ミップ・マップ28)は、単一テキセルである。各後続ミッ
プ・マップは、前のミップ・マップの半分の寸法である。こうして、各後続ミッ
プ・マップは、前のミップ・マップの4分の1の領域、テキセル数、および解像
度を有する。しかし、他の比率もまた、可能であり、そのミップ・マップは方形
である必要はないことに注意されたい。
【0135】 トリリニア濾過は、ミップ・マップされた多角形のエッジを平滑化し、移動物
体が整合しないテクスチャの交差に起因した混乱した「スパークル」を表示する
のを防止するために使用される。トリリニア濾過は、2つの近傍のミップ・マッ
プからのテキセルを混合する(例えば、ミップ・マップ20とミップ・マップ2
2からのテキセルを混合する)ことを含む。近傍のミップ・マップにおけるテキ
セル・アドレスは、それらのアドレスによって関連される。例えば、レベルNに
おける特定のテキセル・アドレス(U、V)は、レベルN+1におけるアドレス
(U/2、V/2)におけるテキセルに対応する。これは、図においてテキセル
30と32によって表現される(各テキセルは「x」で記される)。
【0136】 現行のテクスチャ・マッピング・ハードウェアは、ミップ・マップ・テクスチ
ャ画像の単純なバイまたはトリリニア補間を実現する傾向がある。しかし、バイ
リニア・フィルタは、画面空間ではなく、テクスチャ空間において一様な有効な
「テント」フィルタである。しかし、画面空間における一様性により、画面はよ
り現実感のあるものとなる。
【0137】 現在、最高品質マッピングは、実際に、ソフトウェアによって行われる。多様
な種々の技術が使用されるが、大部分は一般に「楕円フィルタ」として分類され
る(すなわち、テクスチャ空間において楕円であるが、画面空間において円形で
ある)。これらの楕円フィルタは、さらに現実感のある結果を生むが、テント・
フィルタよりもかなり複雑となる。この複雑性は、多くの実時間ハードウェア実
現を防止する。
【0138】 一実施形態において、グラフィックス・システム112は、レンダリング時に
テキセルを小多角形(例えば、三角形)へ変換することにより、実時間高品質テ
クスチャ・マッピングを行うように構成される。これらの小多角形は、双一次補
間を使用して、スーパーサンプリング用サンプル・バッファ162へレンダリン
グされる。最終濾過(高品質画像を生成する)は、畳み込みが行われるまで遅ら
される。これにより、最終ピクセル値に影響を及ぼすすべてのサンプルは、ピク
セル値が計算される前に、サンプル・バッファ162へ書き込まれる。最終濾過
は、都合の良いことに、画面空間において行われる。一実施形態において、1〜
200サンプルが、単一ピクセルを生成するために濾過される。これは、幾つか
の実施形態において、1ピクセルを作成するために4〜8個のテキセルを濾過す
る伝統的なハードウェア・テクスチャ・マッピング・システムと比較した時、最
終画像の外観を有意に改良する。
【0139】 一実施形態において、グラフィックス・システム112はまた、次の高度テク
スチャ化技術の内の1つまたは複数の技術を行うように構成される。すなわち、
バンプ・マッピング、変位マッピング、および多重テクスチャ・マッピングであ
る。
【0140】 B.バンプ・マッピング バンプ・マッピングは、表面において小じわまたはバンプのように見えるもの
を作成するために、表面上の法線の乱れを起こさせる。この技術は、(物体のシ
ルエットは事実不変であり、シェーディングによって示されたバンプは、幾何学
において可視ではないために)物体のシルエットの近くで、および(バンプによ
りブロッキングまたは幾何学的減衰がないために)表面への視射角の近くで効果
がなくなる。一般に、バンプは非常に小さく、物体はある距離はなれている限り
、バンプ・マッピングは、幾何学的外形を実際に変更させることなく、形状への
小変形を含意する有効な方法である。
【0141】 C.変位マッピング 変位マッピングは、所与の方向に所与の量だけ表面を実際に移動させる。変位
写像表面のレンダリングは、特に、変位が大きくなる時、そのシステムの作業の
困難さを呈示する。変位写像物体は、シルエットの変化とともに、自己隠蔽と、
潜在的に自己陰影の特徴を実際に示すために、しばしば、結果は、バンプ・マッ
ピングよりもずっと良好である。
【0142】 D.多重テクスチャ・マッピング 多重テクスチャ・マッピングは、物体へ適用されたテクスチャに対する多数の
異なるテクスチャ・マップを混合することを含む。例えば、織物のテクスチャは
、大理石のテクスチャと混合され、その結果、織物は、半透明であり、大理石の
物体を覆っているように見える。
【0143】 多重テクスチャ・マッピングの別の例は、対応する明領域と暗領域のテクスチ
ャ・マップ(すなわち、低周波数シャドー・マップ)を取り、シャドー・マップ
をテクスチャと混合するものである(例えば、高周波数テクスチャ・マップ)。
多重テクスチャ・マッピングはまた、「微詳細」応用のために使用される。例え
ば、観察者が、テクスチャ写像壁においてズームする時、壁に対するテクスチャ
・マップは、低解像度輝度マップと混合され、壁の仕上げにおいてより現実感の
ある欠陥と変動を設ける。
【0144】 E.圧縮グラフィックス・データの圧縮解除 前記の如く、グラフィックス・システム112の実施形態は、圧縮された3D
幾何学的データを受け取り、圧縮解除するように構成される。これは、都合の良
いことに、グラフィックス・システム112内のメモリ帯域幅要求を低減し、ま
た、非常に多数の多角形を有する物体を、実時間でレンダリングさせる。
【0145】 F.ピクセル毎Phongシェーディング 前記の如く、幾つかの実施形態において、グラフィックス・システム112は
、テクスチャをサブピクセル三角形断片に分割するように構成される(上記のテ
クスチャ濾過を参照)。この特徴を幾何学的圧縮(上記の圧縮グラフィックス・
データの圧縮解除を参照)、および極めて高い三角形のレンダリング速度と組み
合わせることにより、幾つかの実施形態において、グラフィックス・システム1
12は、ピクセル毎Phongシェーディングに比肩し、等化し、または凌駕す
る画質を達成することができる。これらの高画質は、微小多角形を使用して、レ
ンダリングされる物体を微細に碁盤目状にすることにより達成される。物体を微
細に碁盤目状にすることにより、なめらかさと正確さの向上した画像が、ピクセ
ル毎Phongシェーディングの必要性なしに作成される。例えば、グラフィッ
クス・システムのハードウェアは、ライティングとテクスチャ化が行われる前に
、すべてのプリミティブを微小三角形(すなわち、1ピクセル以下のサイズの三
角形)に自動的に変えるように構成される。
【0146】 G.ソフト・キー出力 ある環境において、グラフィックス・システムの利用者は、生映像ストリーム
の上部に重ねられるアンチエイリアシングされ、レンダリングされた高品質な画
像を出力する能力を要求する。このケイパビリティを提供する幾つかのシステム
が存在するが、それらは、一般に極めて高価である。一実施形態において、グラ
フィックス・システム112は、高品質オーバーレイを安価に生成するように構
成される。一実施形態において、グラフィックス・システム112は、映像出力
およびダウン・ストリーム・アルファ・キーイングのための正確なソフト・エッ
ジ・アルファ・キーを生成するように構成される。アルファ・キーは、「アルフ
ァ・ピクセル」を形成するために、サンプル・バッファ162において記憶され
たアルファ値において濾過機能を行うサンプル−ピクセル計算ユニット170に
よって生成される。各アルファ・ピクセルは、特定の出力ピクセルに対応する。
一実施形態において、アルファ・ピクセルは、DAC178Aを使用して出力さ
れるが、カラー出力ピクセルは、DAC178Bによって出力される。
【0147】 別の実施形態において、このソフト・エッジ・アルファ・キー・オーバーレイ
は、ディジタル形式で外部ミクシング・ユニットへ出力され、生映像フィードと
オーバーレイが混合される。各出力信号に対応するアルファ・ピクセルは、生映
像のどれほどが、オーバーレイの対応するピクセルを通して現れるかを決定する
。一実施形態において、例えば、アルファ・ピクセル値が大きくなればなるほど
、ピクセルはより不透明になる(そしてピクセルを通して現れる生映像フィード
は少ない)。同様に、アルファ・ピクセル値が小さいほど、ピクセルはより透明
になる。他の実施形態もまた、可能であり、考えられる。例えば、生映像フィー
ドは、コンピュータ・システム80またはグラフィックス・システム112へ入
力される。その後、グラフィックス・システム112は、2つの源を内部で混合
し、組合せ映像信号を出力する。
【0148】 H.12ビット有効線形出力 12ビット(直線光)色デプス(すなわち、赤色、緑色および青色の各色に対
する12ビットのデータ)が、多くの実施形態において理想的であると考えられ
るが、サンプル・メモリ162における可能な限界は、サンプル当たりの記憶空
間を小さな値(すなわち、色成分当たり10ビット)に限定する。一実施形態に
おいて、グラフィックス・システム112は、サンプル・バッファ162に記憶
される前に、12ビットから10ビットへサンプルをディジタル化するように構
成される。サンプル−ピクセル計算ユニット170A〜Dにおける最終のアンチ
エイリアシング計算中、付加ビットが有効に回復される。正規化後、合成ピクセ
ルは、12ビット(直線光)に対して正確である。出力ピクセルは、非直線光に
変換され、そして変換の後、結果は、10ビット(非直線光)に対して正確であ
る。直線光から非直線光への変換の後、合成ピクセルは、10ビットに対して正
確になる。
【0149】 I.統合アイ/ヘッド/ハンド・トラッキング 前記の如く、グラフィックス・システム112の幾つかの実施形態は、観察者
の窩点におけるピクセル当たりのサンプル数を修正することにより、アイ、ヘッ
ドおよび/またはハンド・トラッキングをサポートするように構成される。
【0150】 J.アルファ・ブレンディング、フォギング、およびデプス・キューイング アルファ・ブレンディングは、物体の透明度を制御する技術であり、ガラスま
たは水のような半透明な表面の現実感のあるレンダリングを可能にするものであ
る。レンダリング・エンジンにおいて見られる付加的な大気効果は、フォギング
とデプス・キューイングである。これらの両技術は、観察者から遠ざかる時、物
体を不明瞭にする。ぼけもまたいくらか関連し、サンプル−ピクセル計算ユニッ
ト170A〜Dにより、濾過およびサンプル−ピクセル計算プロセス中低域フィ
ルタを行う(濾過プロセス中大域度を使用する)ことにより実現される。アルフ
ァ値が生成され、現サンプルをサンプル・バッファへ混合するために使用される
【0151】 実施形態が詳細に記載されたが、他の形態も可能である。上記の開示を十分に
認識したならば、当業者には多数の変形および修正が明らかになるであろう。次
の請求の範囲は、そのようなすべての変形および修正を包含すると解釈されるも
のである。ここで使用されたヘッディングは、編成目的のためであり、記載され
た説明または添付の請求の範囲を制限することは意図されない。
【図面の簡単な説明】
【図1】 グラフィックス・システムの一実施形態を含むコンピュータ・システムの一実
施形態を示す図である。
【図2】 図1のグラフィックス・システムの一実施形態を示す簡潔なブロック図である
【図3】 図1のグラフィックス・システムの一実施形態の詳細を示すブロック図である
【図4】 伝統的なピクセル計算を示す図である。
【図5A】 スーパーサンプリングの一実施形態を示す図である。
【図5B】 サンプルのランダム分布を示す図である。
【図6】 可変解像度スーパーサンプリング用サンプル・バッファの一実施形態を有する
グラフィックス・システムの一実施形態の詳細を示す図である。
【図7】 可変解像度スーパーサンプリング用サンプル・バッファの一実施形態を有する
グラフィックス・システムの別の実施形態の詳細を示す図である。
【図8】 サンプル位置付け技法の3つの異なる実施形態の詳細を示す図である。
【図9】 サンプル位置付け技法の一実施形態の詳細を示す図である。
【図10】 サンプル位置付け技法の別の実施形態の詳細を示す図である。
【図11】 サンプルをピクセルにパラレルに変換する方法の詳細を示す図である。
【図11A】 図11からの実施形態の詳細を示す図である。
【図11B】 境界条件を取り扱う方法の一実施形態の詳細を示す図である。
【図12】 サンプルをスーパーサンプリング用サンプル・バッファへ描写する方法の一実
施形態を示す流れ図である。
【図12A】 三角形の頂点を符号化するための一実施形態を示す図である。
【図13】 サンプルからピクセルを計算する方法の一実施形態を示す図である。
【図14】 サンプルの例セットのためのピクセル畳み込みの一実施形態の詳細を示す図で
ある。
【図15】 スーパーサンプリング用サンプル・バッファを領域へ分割するための方法の一
実施形態を示す図である。
【図16】 スーパーサンプリング用サンプル・バッファを領域へ分割するための方法の別
の実施形態を示す図である。
【図17】 スーパーサンプリング用サンプル・バッファを領域へ分割するための方法のさ
らに別の実施形態を示す図である。
【図18】 ビード・トラッキング装置のアイ・トラッキングからの入力を活用するように
構成されたグラフィックス・システムの一実施形態を示す図である。
【図19】 カーソルまたは視覚対象の位置に応じて領域位置を変更するように構成された
グラフィックス・システムの一実施形態を示す図である。
【図20】 多重のコンピュータを接続するコンピュータ・ネットワークの一実施形態の図
である。
【図21A】 テクスチャ・マップの一実施形態を例示する。
【図21B】 立方体へのテクスチャ・マップの一実施形態を例示する。
【図21C】 球形物体へのテクスチャ・マップの実施例を例示する。
【図22】 ミップ・マップの一実施形態を例示する。
───────────────────────────────────────────────────── フロントページの続き (81)指定国 EP(AT,BE,CH,CY, DE,DK,ES,FI,FR,GB,GR,IE,I T,LU,MC,NL,PT,SE),OA(BF,BJ ,CF,CG,CI,CM,GA,GN,GW,ML, MR,NE,SN,TD,TG),AP(GH,GM,K E,LS,MW,SD,SZ,UG,ZW),EA(AM ,AZ,BY,KG,KZ,MD,RU,TJ,TM) ,AL,AM,AT,AU,AZ,BA,BB,BG, BR,BY,CA,CH,CN,CU,CZ,DE,D K,EE,ES,FI,GB,GD,GE,GH,GM ,HR,HU,ID,IL,IS,JP,KE,KG, KP,KR,KZ,LC,LK,LR,LS,LT,L U,LV,MD,MG,MK,MN,MW,MX,NO ,NZ,PL,PT,RO,RU,SD,SE,SG, SI,SK,SL,TJ,TM,TR,TT,UA,U G,UZ,VN,YU,ZW (71)出願人 901 SAN ANTONIO ROAD PALO ALTO,CA 94303,U. S.A. (72)発明者 ネルソン,スコット アメリカ合衆国・94588・カリフォルニア 州・プレザントン・クローブウッド レー ン・4429 (72)発明者 ニーグル,エヌ・デイビッド アメリカ合衆国・94588・カリフォルニア 州・プレザントン・オーク クリーク コ ート・7756 Fターム(参考) 5B080 AA14 BA02 CA03 CA04 CA05 CA08 FA13 FA14 GA15

Claims (128)

    【特許請求の範囲】
  1. 【請求項1】 3Dグラフィックス・データを受け取り、3Dグラフィック
    ス・データから複数のサンプルを生成するように構成されたグラフィックス・プ
    ロセッサと、 グラフィックス・プロセッサからサンプルを受け取り、記憶するように結合さ
    れたスーパーサンプリング用サンプル・バッファと、 スーパーサンプリング用サンプル・バッファからサンプルを受け取るように結
    合され、記憶サンプルから出力ピクセルを形成し、出力ピクセルを介在するフレ
    ーム・バッファに記憶することなく、出力ピクセルを表示装置へ伝達するように
    構成されたサンプル−ピクセル計算ユニットと を含むグラフィックス・システム。
  2. 【請求項2】 スーパーサンプリング用サンプル・バッファが、各記憶サン
    プルの少なくとも一部分を二重バッファするように構成される請求項1に記載の
    グラフィックス・システム。
  3. 【請求項3】 サンプル−ピクセル計算ユニットが、出力ピクセルを実時間
    で形成するように構成される請求項1に記載のグラフィックス・システム。
  4. 【請求項4】 サンプル−ピクセル計算ユニットが、表示装置リフレッシュ
    ・サイクル毎に1回サンプルから各出力ピクセルを形成するように構成される請
    求項1から3のいずれか一項に記載のグラフィックス・システム。
  5. 【請求項5】 サンプル・バッファが、さらに、記憶されたサンプルの少な
    くとも一部分に対してアルファ情報を記憶するように構成される請求項1から3
    のいずれか一項に記載のグラフィックス・システム。
  6. 【請求項6】 サンプル−ピクセル計算ユニットが、畳み込みユニットによ
    って実行されるフィルタリングを管理するパラメータを変更するためにプログラ
    マブルである請求項1から3のいずれか一項に記載のグラフィックス・システム
  7. 【請求項7】 サンプル−ピクセル計算ユニットが、フレーム毎ベースで畳
    み込みユニットによって実行されるフィルタリングを管理するパラメータを変更
    するためにプログラマブルである請求項1から3のいずれか一項に記載のグラフ
    ィックス・システム。
  8. 【請求項8】 第2サンプル−ピクセル計算ユニットをさらに含み、この場
    合、第2サンプル−ピクセル計算ユニットと第1サンプル−ピクセル計算ユニッ
    トは、並列動作するように構成される請求項1から3のいずれか一項に記載のグ
    ラフィックス・システム。
  9. 【請求項9】 各サンプル−ピクセル計算ユニットが、サンプル・バッファ
    の特定領域に対応してサンプルを受け取るように構成される請求項1から3のい
    ずれか一項に記載のグラフィックス・システム。
  10. 【請求項10】 特定領域が、重複する請求項9に記載のグラフィックス・
    システム。
  11. 【請求項11】 サンプルが、ビンでサンプル・バッファに記憶される請求
    項1から3のいずれか一項に記載のグラフィックス・システム。
  12. 【請求項12】 各ビンが、ビン内の各サンプルの近似位置を規定し、この
    場合、ビン内の各サンプルの正確な位置が、サンプルに関連したxオフセットと
    yオフセットを、サンプルのビン位置に加算することにより決定される請求項1
    1に記載のグラフィックス・システム。
  13. 【請求項13】 各サンプルのxオフセットとyオフセットが、サンプル・
    バッファにおいて記憶される請求項1から3のいずれか一項に記載のグラフィッ
    クス・システム。
  14. 【請求項14】 サンプル−ピクセル計算ユニットへ結合されたサンプル位
    置メモリをさらに含み、この場合、各サンプルのxオフセットとyオフセットが
    、サンプル位置メモリにおいて記憶される請求項1から3のいずれか一項に記載
    のグラフィックス・システム。
  15. 【請求項15】 サンプル−ピクセル計算ユニットが、 特定出力ピクセルを中心とした所定領域内にある各サンプルに、重み因子を掛
    け算し、 重み付きサンプルを合計することにより、特定出力ピクセルの色値を決定する
    ように構成される請求項1から3のいずれか一項に記載のグラフィックス・シス
    テム。
  16. 【請求項16】 複数のグラフィックス・プリミティブを含む3Dグラフィ
    ックス・データを受け取ることと、 複数のサンプル位置を計算することと、 サンプル位置がグラフィックス・プリミティブ内にあるかを判定することと、 グラフィックス・プリミティブ内にあるサンプルをレンダリングすることと、 レンダリングされたサンプルをサンプル・バッファに記憶し、各記憶サンプル
    の少なくとも一部分は二重バッファされることと、 出力ピクセルを生成するために、画面リフレッシュ・サイクル毎に1回記憶サ
    ンプルをフィルタリングすることと を含むグラフィックス・システムを動作させる方法。
  17. 【請求項17】 フィルタリングが、 サンプル・バッファからサンプル・グループを読み出すことと、 グループ内のサンプルが生成される出力ピクセルの中心から所定範囲内に位置
    するかを判定することと、 所定距離内の各サンプルへ倍率を適用することと、 出力ピクセルを形成するために倍率を適用されたサンプルを合計することと、 出力ピクセルを正規化することとを含む請求項16に記載の方法。
  18. 【請求項18】 フィルタリングが、 サンプル・バッファからサンプル・グループを読み出すことと、 グループ内のサンプルが生成される出力ピクセルの中心から所定距離内に位置
    するかを判定することと、 所定距離内の各サンプルへ倍率を適用することと、 出力ピクセルを形成するために倍率を適用されたサンプルを合計することと、 出力ピクセルを正規化することとを含む請求項16に記載の方法。
  19. 【請求項19】 倍率が、出力ピクセルの中心からのサンプルの距離、また
    は、出力ピクセルの中心からのサンプルのxオフセットおよびyオフセットの関
    数として変化する請求項17に記載の方法。
  20. 【請求項20】 サンプル・バッファにおいて記憶されたサンプルの少なく
    とも一部分に対してアルファ値を記憶することをさらに含む請求項16から19
    のいずれか一項に記載の方法。
  21. 【請求項21】 フィルタリングが、出力ピクセルの中心から所定の距離内
    、または、所定のフィルタ範囲内に位置するサンプルを数学的に処理することを
    含む請求項16から19のいずれか一項に記載の方法。
  22. 【請求項22】 フィルタが、画面リフレッシュ・サイクルと少なくとも同
    頻度で可変である請求項16から19のいずれか一項に記載の方法。
  23. 【請求項23】 記憶が、ビンにおいてサンプルを記憶することを含み、各
    サンプルの位置は、ビンの位置へxオフセットおよびyオフセットを加算するこ
    とにより決定される請求項16から19のいずれか一項に記載の方法。
  24. 【請求項24】 フィルタリングが、サンプル・バッファから1つまたは複
    数のビン列の少なくとも一部を読み出すことを含み、列が重なり合い、2以上の
    前記列が並列にフィルタリングされる請求項23に記載の方法。
  25. 【請求項25】 サンプル・バッファにおいて記憶された各サンプルに対し
    てxオフセットとyオフセットを記憶することをさらに含む請求項16から19
    および請求項24のいずれか一項に記載の方法。
  26. 【請求項26】 各出力ピクセルに寄与するサンプルの数が変化する請求項
    16から19および請求項24のいずれか一項に記載の方法。
  27. 【請求項27】 マイクロプロセッサと、 メイン・メモリと、 マイクロプロセッサとメイン・メモリを結合するバスと、 請求項1から15のいずれか一項に記載のグラフィックス・システムと を含む3Dグラフィックス画像を表示するように構成されたコンピュータ・シス
    テム。
  28. 【請求項28】 ソフトウェア・プログラムが、請求項16から26のいず
    れか一項に記載の方法を実行するようにグラフィックス・プロセッサに指示する
    ように構成された複数の命令を含む搬送媒体において具現されたコンピュータ・
    ソフトウェア・プログラム。
  29. 【請求項29】 複数のサンプルを計算するように構成され、前記サンプル
    の位置を変化させるためにプログラマブルであるグラフィックス・プロセッサと
    、前記グラフィックス・プロセッサへ結合され、前記複数のサンプルを受け取り
    かつ記憶するように構成され、前記サンプルを二重バッファさせるサンプル・バ
    ッファと、 出力ピクセルを形成するために、前記サンプル・バッファから前記サンプルを
    読み出し、フィルタリングするように結合されたサンプル−ピクセル計算ユニッ
    トと を含むグラフィックス・システム。
  30. 【請求項30】 前記サンプル−ピクセル計算ユニットが、前記サンプルを
    実時間でフィルタリングし、フレーム・バッファの介在なしに、前記出力ピクセ
    ルを表示装置へ直接に送出する請求項29に記載のグラフィックス・システム。
  31. 【請求項31】 前記グラフィックス・プロセッサが、フレーム毎ベース、
    ピクセル毎ベース、走査線毎ベース、領域毎ベース、ピクセル群ベース、および
    走査線群ベースのいずれか1つにおいて前記サンプルの位置を変化させるように
    構成される請求項29または30に記載のグラフィックス・システム。
  32. 【請求項32】 前記グラフィックス・プロセッサが、フレーム毎ベース、
    ピクセル毎ベース、走査線毎ベース、領域毎ベース、ピクセル群ベース、または
    走査線群ベースにおいて前記複数のサンプルの濃度を変化させるように構成され
    る請求項29または30に記載のグラフィックス・システム。
  33. 【請求項33】 前記グラフィックス・プロセッサへ結合されたサンプル位
    置メモリをさらに含み、前記サンプル位置メモリが、1つまたは複数のサンプル
    位置技法に応じてサンプル位置情報を記憶するように構成され、前記グラフィッ
    クス・プロセッサは、前記サンプル位置メモリから前記サンプル位置情報を読み
    出すように構成される請求項29または30に記載のグラフィックス・システム
  34. 【請求項34】 前記グラフィックス・プロセッサへ結合されたサンプル位
    置メモリをさらに含み、前記サンプル位置メモリが、1つまたは複数のサンプル
    位置技法と1つまたは複数のサンプル濃度に応じてサンプル位置情報を記憶する
    ように構成され、前記グラフィックス・プロセッサは、前記サンプル位置メモリ
    から選択サンプル位置技法と選択サンプル位置濃度に対応する前記サンプル位置
    情報を読み出すように構成される請求項29または30に記載のグラフィックス
    ・システム。
  35. 【請求項35】 前記グラフィックス・プロセッサへ結合されたプログラマ
    ブル・サンプル位置メモリをさらに含み、グラフィックス・プロセッサが、前記
    サンプル位置メモリからサンプル位置情報を読み出すように構成される請求項2
    9または30に記載のグラフィックス・システム。
  36. 【請求項36】 前記サンプル位置メモリが、xオフセットおよびyオフセ
    ットとして前記サンプル位置情報を記憶するように構成される請求項35に記載
    のグラフィックス・システム。
  37. 【請求項37】 前記グラフィックス・プロセッサが、所定のビン座標また
    は所定のピクセル中心座標のいずれか一方と前記xオフセットおよびyオフセッ
    トを組み合わせることにより計算されたサンプル位置に応じて前記サンプルを生
    成するように構成される請求項36に記載のグラフィックス・システム。
  38. 【請求項38】 前記サンプル−ピクセル計算ユニットが、前記サンプル位
    置メモリにおいて記憶されたサンプル位置情報に応じて、フレーム毎ピクセル毎
    1回前記サンプル・バッファから読み出されたサンプルをフィルタリングするよ
    うに構成される請求項35に記載のグラフィックス・システム。
  39. 【請求項39】 前記グラフィックス・プロセッサが、前記サンプル位置を
    生成するために、正規グリッド・スペーシング、確率的スペーシング、または乱
    れ正規グリッド・スペーシングのいずれか1つを選択するようにプログラマブル
    である請求項29または30に記載のグラフィックス・システム。
  40. 【請求項40】 前記サンプル・バッファが、スーパーサンプリングされる
    請求項29または30に記載のグラフィックス・システム。
  41. 【請求項41】 乱数発生器、擬似ランダム関数発生器、乱数表、および乱
    数シード表から成るグループから選択されたハードウェアを備えたサンプル位置
    計算ユニットをさらに含む請求項29または30に記載のグラフィックス・シス
    テム。
  42. 【請求項42】 少なくとも1つのグラフィックス・プリミティブを含む3
    Dグラフィックス・データのセットを受け取ることと、 複数のサンプル位置を生成することと、 前記少なくとも1つのプリミティブ内にあるサンプル位置を選択することと、 選択サンプル位置に対応するサンプルを計算することと、 計算サンプルをサンプル・バッファへ記憶することと、 フレーム毎出力ピクセル毎に1回、出力ピクセルを生成するために記憶サンプ
    ルをフィルタリングすることと を含むグラフィックス・システムを使用して画像をレンダリングする方法。
  43. 【請求項43】 前記生成が、さらに、複数のサンプル位置生成アルゴリズ
    ムの1つを選択することを含む請求項42に記載の方法。
  44. 【請求項44】 前記生成が、確率的、正規グリッド、乱れ正規グリッドの
    アルゴリズムのうちの1つを選択することをさらに含む請求項43に記載の方法
  45. 【請求項45】 前記生成が、正規グリッド位置へ加算されるランダム・オ
    フセットを計算することを含む請求項42に記載の方法。
  46. 【請求項46】 前記生成が、 ランダム・オフセットの表からランダム・オフセットを読み出すことと、 オフセットを正規グリッド位置へ加算することとを含む請求項42に記載の方
    法。
  47. 【請求項47】 前記ランダム・オフセットが、xオフセットとyオフセッ
    トを含み、この場合、前記xオフセットと前記yオフセットは、所定の最小値お
    よび最大値に限定される請求項46に記載の方法。
  48. 【請求項48】 二重バッファサンプル位置メモリにおいて前記生成サンプ
    ル位置を記憶することをさらに含む請求項42に記載の方法。
  49. 【請求項49】 各サンプルが、対応するサンプル位置を有し、この場合、
    サンプルが、ビンへ編成され、各ビンが、特定の画面位置を有し、各サンプル位
    置は、対応するビンのx画面位置およびy画面位置からのxオフセットとyオフ
    セットである請求項42に記載の方法。
  50. 【請求項50】 前記生成が、入力として記憶計数値を使用して、公式を評
    価することを含む請求項42に記載の方法。
  51. 【請求項51】 前記サンプル・バッファが、スーパーサンプリングされる
    請求項42または48に記載の方法。
  52. 【請求項52】 各サンプルの情報の第1部分が、二重バッファされ、各サ
    ンプルの情報の第2部分が、単一バッファされる請求項42に記載の方法。
  53. 【請求項53】 マイクロプロセッサと、 前記マイクロプロセッサへ結合されたメイン・メモリと、 請求項29から41のいずれか一項に記載のグラフィックス・システムと を含むコンピュータ・システム。
  54. 【請求項54】 前記グラフィックス装置ドライバが、請求項42から52
    のいずれか一項に記載の方法を実行するように構成された複数の命令を含む搬送
    媒体に実装されるグラフィックス装置ドライバ。
  55. 【請求項55】 前記搬送媒体が、コンピュータ可読媒体または伝送媒体で
    ある請求項54に記載のグラフィックス装置ドライバ。
  56. 【請求項56】 複数のグラフィックス・プリミティブを含む3Dグラフィ
    ックス・データを受け取り、前記3Dグラフィックス・データから色およびアル
    ファ情報を含む複数のサンプルを生成するように構成されたグラフィックス・プ
    ロセッサと、 前記グラフィックス・プロセッサから前記サンプルを受け取り、記憶するよう
    に結合され、各記憶サンプルの少なくとも一部分を二重バッファするように構成
    されたスーパーサンプリング用サンプル・バッファと、 出力ピクセルとアルファ・キーを形成するために使用可能アルファ・ピクセル
    を実時間で形成するために、前記スーパーサンプリング用サンプル・バッファか
    らサンプルを受け取り、フィルタリングするように結合されたサンプル−ピクセ
    ル計算ユニットと を含むグラフィックス・システム。
  57. 【請求項57】 前記グラフィックス・システムが、さらに、映像入力信号
    を受け取り、前記アルファ・ピクセルに応じて前記映像入力信号を前記出力ピク
    セルと混合するように構成される請求項56に記載のコンピュータ・システム。
  58. 【請求項58】 前記サンプル−ピクセル計算ユニットが、伝統的なフレー
    ム・バッファに前記出力ピクセルを記憶することなく、前記出力ピクセルを前記
    表示装置へ伝達するように構成される請求項56または57に記載のコンピュー
    タ・システム。
  59. 【請求項59】 前記出力ピクセルと前記アルファ・ピクセル・キーが、前
    記3Dグラフィックス・データの各フレームにおいて、各ピクセルに対して1回
    生成される請求項56または57に記載のグラフィックス・システム。
  60. 【請求項60】 複数のグラフィックス・プリミティブを含む3Dグラフィ
    ックス・データを受け取ることと、 複数のサンプル位置を計算することと、 サンプル位置が前記グラフィックス・プリミティブ内にあるかを判定すること
    と、 グラフィックス・プリミティブ内にあるサンプルをレンダリングすることと、 レンダリングされたサンプルをサンプル・バッファに記憶することと、 サンプル・バッファに記憶されたサンプルの少なくとも一部分に対してアルフ
    ァ値を記憶することと、 出力ピクセルとアルファ・キーを形成するために使用可能なアルファ・ピクセ
    ルを生成するために、画面リフレッシュ・サイクル毎に1回記憶サンプルをフィ
    ルタリングすることと を含むグラフィックス・システムを動作させる方法。
  61. 【請求項61】 映像入力信号を受け取ることと、 前記アルファ・ピクセルに応じて、前記映像入力信号を前記出力ピクセルと混
    合することとをさらに含む請求項60に記載の方法。
  62. 【請求項62】 前記フィルタリングが、 サンプル・バッファからサンプル・グループを読み出すことと、 グループ内のサンプルが生成される出力ピクセルの中心から所定距離内に位置
    するかを判定することと、 所定距離内の各サンプルへ倍率を適用することと、 出力ピクセルを形成するために倍率を適用されたサンプルを合計することとを
    含む請求項60に記載の方法。
  63. 【請求項63】 前記倍率が、出力ピクセルにおける所定の位置からのサン
    プルの距離に応じて変化する請求項60に記載の方法。
  64. 【請求項64】 前記倍率が、出力ピクセルにおける所定の位置からのサン
    プルのxオフセットおよびyオフセットに応じて変化する請求項60に記載の方
    法。
  65. 【請求項65】 前記フィルタリングが、画面リフレッシュ・サイクルと少
    なくとも同頻度で可変である請求項60に記載の方法。
  66. 【請求項66】 前記記憶が、ビンにおいてサンプルを記憶することを含み
    、この場合、各サンプルの位置は、ビンの位置へxオフセットおよびyオフセッ
    トを加算することにより決定される請求項60に記載の方法。
  67. 【請求項67】 サンプル・バッファにおいて記憶された各サンプルに対し
    てxオフセットとyオフセットを記憶することをさらに含む請求項60に記載の
    方法。
  68. 【請求項68】 フィルタが、画面リフレッシュ・サイクルと少なくとも同
    頻度で可変である請求項60に記載の方法。
  69. 【請求項69】 各出力ピクセルに寄与するサンプルの数が、変化する請求
    項60に記載の方法。
  70. 【請求項70】 マイクロプロセッサと、 メイン・メモリと、 前記マイクロプロセッサと前記メイン・メモリを結合するバスと、 前記メイン・メモリへ結合されたグラフィックス・システムであって、 色値とアルファ値を有する複数のサンプルを生成するように構成され、1つま
    たは複数のグラフィックス・プリミティブを含む3Dグラフィックス・データを
    受け取るように構成されたグラフィックス・プロセッサと、 前記グラフィックス・プロセッサからの前記サンプルを受け取り、かつ記憶す
    るように結合され、各記憶サンプルの少なくとも一部分を二重バッファするよう
    に構成されたサンプル・バッファと、 前記サンプル・バッファからサンプルを受け取るように結合され、出力ピクセ
    ルとアルファ・キーを形成するために使用可能なアルファ・ピクセルを実時間で
    形成するように構成されたサンプル−ピクセル計算ユニットとを有するグラフィ
    ックス・システムと を含む3Dグラフィックス画像を表示するように構成されたコンピュータ・シス
    テム。
  71. 【請求項71】 前記アルファ・キーが、ソフト・エッジ・アルファ・キー
    である請求項70に記載のコンピュータ・システム。
  72. 【請求項72】 前記コンピュータ・システムが、さらに、映像入力信号を
    受け取り、前記アルファ・ピクセルに応じて前記映像入力信号を前記出力ピクセ
    ルと混合するように構成される請求項70に記載のコンピュータ・システム。
  73. 【請求項73】 ソフトウェア・プログラムが、 複数のサンプル位置を生成することと、 色情報とアルファ情報を含むサンプルを、前記サンプル位置の少なくともサブ
    セットに対して計算することと、 各記憶サンプルの少なくとも一部分が二重バッファされるサンプル・バッファ
    において前記サンプルを記憶することと、 サンプル・バッファから1つまたは複数の前記サンプルを読み出すことと、 出力ピクセルをアルファ情報により形成するために、画面リフレッシュ・サイ
    クル毎に1回、1つまたは複数の前記サンプルをフィルタリングすることと、 出力ピクセルを表示装置へ伝達することと をグラフィックス・プロセッサに指示するように構成された複数の命令を含むコ
    ンピュータ可読媒体に記録されたコンピュータ・ソフトウェア・プログラム。
  74. 【請求項74】 前記複数の命令が、前記色情報とは別々に、前記サンプル
    から前記アルファ情報をフィルタリングするように構成される請求項73に記載
    のコンピュータ・ソフトウェア・プログラム。
  75. 【請求項75】 前記複数の命令が、色情報に対して使用されたフィルタと
    は異なるフィルタを使用して、前記アルファ情報をフィルタリングするように構
    成される請求項73に記載のコンピュータ・ソフトウェア・プログラム。
  76. 【請求項76】 前記複数の命令が、さらに、前記アルファ・キー情報に応
    じて、出力ピクセルを映像背景にオーバーレイするようにグラフィックス・プロ
    セッサに指示するように構成される請求項73に記載のコンピュータ・ソフトウ
    ェア・プログラム。
  77. 【請求項77】 前記複数の命令が、さらに、畳み込み中に使用されるフィ
    ルタを修正するように構成される請求項73に記載のコンピュータ・ソフトウェ
    ア・プログラム。
  78. 【請求項78】 2つ以上のサンプルが、各出力ピクセルに寄与する請求項
    73に記載のコンピュータ・ソフトウェア・プログラム。
  79. 【請求項79】 前記出力ピクセルが、フレーム・バッファに記憶されるこ
    となく、表示装置へ伝達される請求項73に記載のコンピュータ・ソフトウェア
    ・プログラム。
  80. 【請求項80】 複数のサンプルを生成するように構成されたグラフィック
    ス・プロセッサと、 前記サンプルを記憶するために前記グラフィックス・プロセッサへ結合された
    サンプル・バッファと、 前記サンプル・バッファへ結合され、出力ピクセルを形成するために記憶サン
    プルを選択およびフィルタリングするように構成されたサンプル−ピクセル計算
    ユニットと を含み、前記グラフィックス・プロセッサが、生成されたサンプルの濃度を変化
    させるように構成されるグラフィックス・システム。
  81. 【請求項81】 前記グラフィックス・プロセッサが、走査線毎ベース、走
    査線群毎ベース、領域毎ベース、ピクセル毎ベース、またはピクセル群毎ベース
    において生成されたサンプルの濃度を変化させるように構成される請求項80に
    記載のグラフィックス・システム。
  82. 【請求項82】 前記濃度が、凝視トラッキング装置からの入力、アイ・ト
    ラッキング装置、ヘッド・トラッキング装置、ハンド・トラッキング装置からの
    入力、マウスからの入力、カーソル位置、可視対象位置、または大文字位置に応
    じて変化する請求項80に記載のグラフィックス・システム。
  83. 【請求項83】 前記サンプル−ピクセル計算ユニットが、出力ピクセルを
    実時間ベースで形成するためにサンプルをフィルタリングするように構成される
    請求項80に記載のグラフィックス・システム。
  84. 【請求項84】 各サンプルの少なくとも一部が、前記サンプル・バッファ
    において二重バッファされる請求項80に記載のグラフィックス・システム。
  85. 【請求項85】 前記グラフィックス・プロセッサへ結合されたサンプル位
    置メモリをさらに含み、前記サンプル位置メモリは、1つまたは複数のサンプル
    位置技法を記憶するように構成され、前記グラフィックス・プロセッサは、前記
    サンプル位置メモリからサンプル位置を読み出すように構成される請求項80に
    記載のグラフィックス・システム。
  86. 【請求項86】 前記グラフィックス・プロセッサへ結合されたサンプル位
    置メモリをさらに含み、前記サンプル位置メモリは、1つまたは複数のサンプル
    濃度に対して1つまたは複数のサンプル位置技法を記憶するように構成され、前
    記グラフィックス・プロセッサは、選択サンプル濃度と選択サンプル位置技法に
    応じて、前記サンプル位置メモリからサンプル位置を読み出すように構成される
    請求項80に記載のグラフィックス・システム。
  87. 【請求項87】 前記グラフィックス・プロセッサが、前記サンプルをビン
    により前記スーパーサンプリング用サンプル・バッファへ記憶するように構成さ
    れ、前記ビンは画面スペース領域に対応する請求項80に記載のグラフィックス
    ・システム。
  88. 【請求項88】 前記サンプル−ピクセル計算ユニットが、各出力ピクセル
    へフィルタリングするために、前記サンプル・バッファから可変数のサンプルを
    選択するように構成され、この場合、前記可変数が、窩点から前記出力ピクセル
    を分離する距離に関連する請求項80に記載のコンピュータ・グラフィックス・
    システム。
  89. 【請求項89】 前記可変数が、フレーム毎ベース、フレーム領域毎ベース
    、ピクセル毎ベース、アプリケーション毎ベース、走査線毎ベース、または走査
    線群毎ベースにおいて可変である請求項88に記載のコンピュータ・グラフィッ
    クス・システム。
  90. 【請求項90】 前記窩点が、カーソル位置、グラフィックス・システムに
    よって生成された視覚対象、グラフィックス・システムによって生成された大文
    字、または表示装置における所向き置に基づいて推定される請求項88に記載の
    コンピュータ・グラフィックス・システム。
  91. 【請求項91】 前記グラフィックス・プロセッサへ結合された凝視トラッ
    キング・ユニットをさらに含み、前記グラフィックス・プロセッサは、前記凝視
    トラッキング・ユニットから受け取ったデータに基づいて、1つまたは複数の前
    記窩点を推定するように構成される請求項88に記載のコンピュータ・グラフィ
    ックス・システム。
  92. 【請求項92】 1つまたは複数の前記各窩点が、異なるアイに対応する請
    求項91に記載のコンピュータ・グラフィックス・システム。
  93. 【請求項93】 1つまたは複数の前記各窩点が、異なる観察者に対応する
    請求項91に記載のコンピュータ・グラフィックス・システム。
  94. 【請求項94】 前記凝視トラッキング・ユニットが、ビデオ・カメラ、E
    MGセンサ、アイおよびビード・トラッカ、アイ・トラッカ、ビード・トラッカ
    、ハンド・トラッカ、データ・グローブ、ワンド、データ・スーツ、ボディ位置
    センサ、音響センサ、赤外センサ、動作センサ、圧力センサ、または位置センサ
    である請求項91に記載のコンピュータ・グラフィックス・システム。
  95. 【請求項95】 前記グラフィックス・プロセッサが、確率分布、乱れ正規
    グリッド、または正規グリッドに応じてサンプルを生成するように構成される請
    求項80に記載のコンピュータ・グラフィックス・システム。
  96. 【請求項96】 前記グラフィックス・プロセッサが、サンプル濃度技法に
    応じて前記複数のサンプルを生成するように構成され、この場合、前記サンプル
    濃度技法は、プログラマブルである請求項80に記載のコンピュータ・グラフィ
    ックス・システム。
  97. 【請求項97】 前記グラフィックス・プロセッサが、サンプルから1つま
    たは複数の窩点へのxオフセットおよびyオフセットの関数として生成されたサ
    ンプルの濃度を変化させるように構成される請求項80に記載のコンピュータ・
    グラフィックス・システム。
  98. 【請求項98】 前記グラフィックス・プロセッサが、走査線ベースにおい
    て生成されたサンプルの濃度を変化させるように構成される請求項80に記載の
    コンピュータ・グラフィックス・システム。
  99. 【請求項99】 前記サンプル・バッファが、複数の領域を含み、この場合
    、各領域が、特定のサンプル濃度を有する請求項80に記載のコンピュータ・グ
    ラフィックス・システム。
  100. 【請求項100】 前記グラフィックス・プロセッサと前記サンプル−ピク
    セル計算ユニットへ結合されたサンプル位置メモリをさらに含み、前記サンプル
    位置メモリが、サンプル位置情報を記憶するように構成され、前記サンプル位置
    情報が、前記グラフィックス・プロセッサによって読み出され、前記グラフィッ
    クス・プロセッサがサンプル位置を生成するために使用するパターンであり、前
    記グラフィックス・プロセッサは、前記サンプル位置を使用してサンプルを生成
    するように構成される請求項80に記載のコンピュータ・グラフィックス・シス
    テム。
  101. 【請求項101】 前記サンプル位置情報が、xオフセットとyオフセット
    を含む請求項100に記載のコンピュータ・グラフィックス・システム。
  102. 【請求項102】 各サンプルが、1つまたは複数の色値、アルファ値、透
    明度値、z値、ぼけ値、強度値、高輝度情報、およびサンプル制御情報から成る
    グループから選択された情報を含む請求項80に記載のコンピュータ・グラフィ
    ックス・システム。
  103. 【請求項103】 前記サンプル・バッファが、出力ピクセル毎に2以上の
    サンプルを記憶するように構成される請求項95に記載のコンピュータ・グラフ
    ィックス・システム。
  104. 【請求項104】 前記サンプル−ピクセル計算ユニットが、一定半径円形
    フィルタ内にある前記サンプル・バッファからサンプルを選択するようにプログ
    ラマブルである請求項80に記載のコンピュータ・グラフィックス・システム。
  105. 【請求項105】 前記サンプル−ピクセル計算ユニットが、可変範囲フィ
    ルタ内にある前記サンプル・バッファからサンプルを選択するようにプログラマ
    ブルであり、この場合、前記可変範囲が、前記フィルタの中心から窩点へのxオ
    フセットおよびyオフセットに応じて変化する請求項80に記載のコンピュータ
    ・グラフィックス・システム。
  106. 【請求項106】 前記サンプル−ピクセル計算ユニットが、可変範囲フィ
    ルタ内にある前記サンプル・バッファからサンプルを選択するようにプログラマ
    ブルであり、この場合、前記可変範囲はプログラマブルである請求項95に記載
    のコンピュータ・グラフィックス・システム。
  107. 【請求項107】 前記サンプル−ピクセル計算ユニットが、計算されるピ
    クセルの中心から最大xオフセットおよび最大yオフセット内にある前記サンプ
    ル・バッファからサンプルを選択するようにプログラマブルである請求項95に
    記載のコンピュータ・グラフィックス・システム。
  108. 【請求項108】 1つまたは複数のサンプル位置技法を記憶するように構
    成されたサンプル位置メモリと、 前記サンプル位置メモリへ結合され、前記サンプル位置技法の1つを選択する
    ように構成され、前記選択サンプル位置技法に応じて複数のサンプルを生成する
    ように構成されたグラフィックス・プロセッサと、 前記グラフィックス・プロセッサへ結合され、前記サンプルを記憶するように
    構成され、前記サンプルの少なくとも一部分を二重バッファするように構成され
    たサンプル・バッファと、 前記サンプル・バッファへ結合され、出力ピクセルへフィルタリングするよう
    に1つまたは複数の前記記憶サンプルを選択するように構成されたサンプル−ピ
    クセル計算ユニットと を含むグラフィックス・システム。
  109. 【請求項109】 前記サンプル−ピクセル計算ユニットが、プログラマブ
    ルである請求項108に記載のコンピュータ・グラフィックス・システム。
  110. 【請求項110】 前記サンプル位置メモリが、プログラマブルである請求
    項108に記載のコンピュータ・グラフィックス・システム。
  111. 【請求項111】 前記サンプル−ピクセル計算ユニットが、1つまたは複
    数の前記選択サンプルをピクセルへ実時間でフィルタリングするように構成され
    る請求項108に記載のコンピュータ・グラフィックス・システム。
  112. 【請求項112】 前記サンプル位置メモリが、前記グラフィックス・プロ
    セッサによって生成された各サンプルに対してx座標情報とy座標情報を記憶す
    るように構成される請求項108に記載のコンピュータ・グラフィックス・シス
    テム。
  113. 【請求項113】 前記サンプル位置メモリが、前記サンプル・バッファに
    記憶された各サンプルに対してx座標情報とy座標情報を記憶するように構成さ
    れる請求項108に記載のコンピュータ・グラフィックス・システム。
  114. 【請求項114】 前記サンプル位置メモリが、所定順序またはランダム順
    序のいずれかで前記複数のサンプル位置技法の各々を循環するように構成される
    請求項108に記載のコンピュータ・グラフィックス・システム。
  115. 【請求項115】 前記グラフィックス・プロセッサが、前記サンプル位置
    メモリにおいて記憶された複数のサンプル位置技法の選択されたものからサンプ
    ル位置を読み出すように構成される請求項108に記載のコンピュータ・グラフ
    ィックス・システム。
  116. 【請求項116】 前記選択サンプル位置技法が、前記サンプル位置メモリ
    に記憶されたサンプル位置技法から無作為に選択される請求項108に記載のコ
    ンピュータ・グラフィックス・システム。
  117. 【請求項117】 前記選択サンプル位置技法が、所定順序に従い、前記サ
    ンプル位置メモリに記憶されたサンプル位置技法の中から選択される請求項10
    8に記載のコンピュータ・グラフィックス・システム。
  118. 【請求項118】 前記サンプル位置技法が、正規グリッド、乱れ正規グリ
    ッド、および確率から成るグループから選択される請求項108に記載のコンピ
    ュータ・グラフィックス・システム。
  119. 【請求項119】 前記サンプル位置技法が、正規グリッド、乱れ正規グリ
    ッド、および確率から成るグループから選択される請求項108に記載のコンピ
    ュータ・グラフィックス・システム。
  120. 【請求項120】 前記サンプル位置メモリが、メモリ・テーブルと、種々
    の展開技法に従い、前記メモリ・テーブルを展開するためのハードウェアとを含
    む請求項108に記載のコンピュータ・グラフィックス・システム。
  121. 【請求項121】 前記サンプル位置メモリが、乱数表と、複数の異なるグ
    リッド形式を生成することが可能なプログラマブル状態機械とを含み、この場合
    、前記グラフィックス・プロセッサは、前記複数の異なるグリッド形式の選択さ
    れたものからのオフセットとして前記乱数を使用するように構成される請求項1
    08に記載のコンピュータ・グラフィックス・システム。
  122. 【請求項122】 前記サンプル位置メモリが、反復可能なサンプル位置を
    計算するために使用可能な情報を記憶するメモリ・テーブルを含む請求項108
    に記載のコンピュータ・グラフィックス・システム。
  123. 【請求項123】 前記情報が、xオフセットとyオフセットを含む請求項
    108に記載のコンピュータ・グラフィックス・システム。
  124. 【請求項124】 複数のサンプル位置を計算することと、 各サンプル位置に対してサンプルを生成することと、 サンプルの少なくとも一部分は少なくとも部分的に二重バッファされるサンプ
    ル・バッファにおいてサンプルを記憶することと、 複数の記憶サンプルを選択することと、 出力ピクセル値を実時間で形成するために複数の選択サンプルを、実時間でフ
    レーム毎ピクセル毎に1回フィルタリングすることと を含み、前記出力ピクセルは、伝統的なフレーム・バッファに記憶されることな
    く、表示装置へ直接に送信されるコンピュータ・グラフィックス・システムによ
    りオブジェクトをレンダリングする方法。
  125. 【請求項125】 前記計算が、正規グリッド、乱れ正規グリッド、または
    確率的グリッドの1つに従い各サンプル位置を指定することを含む請求項124
    に記載の方法。
  126. 【請求項126】 前記選択が、 特定のサンプル位置から計算される特定の出力ピクセルの中心までの距離を決
    定することと、 その距離を所定のフィルタ範囲と比較することとを含む請求項124または1
    25に記載の方法。
  127. 【請求項127】 前記フィルタリングが、 サンプルと計算される出力ピクセルの間の距離に関連した重み因子を、各選択
    サンプルに対して計算することと、 各サンプル・ピクセルの色値を重み因子と掛け算することとを含む請求項12
    4または125に記載の方法。
  128. 【請求項128】 前記フィルタリングが、 サンプルと計算される出力ピクセルの間のxオフセットおよびyオフセットに
    関連した重み因子を、各選択サンプルに対して計算することと、 各サンプル・ピクセルの色値を重み因子と掛け算することとを含む請求項12
    4または125に記載の方法。
JP2000531812A 1998-02-17 1999-02-17 可変解像度スーパーサンプリングによるグラフィックス・システム Pending JP2002503855A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US7483698P 1998-02-17 1998-02-17
US60/074,836 1998-02-17
PCT/US1999/003270 WO1999041706A1 (en) 1998-02-17 1999-02-17 Graphics system with variable resolution super-sampling

Publications (1)

Publication Number Publication Date
JP2002503855A true JP2002503855A (ja) 2002-02-05

Family

ID=22121961

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000531812A Pending JP2002503855A (ja) 1998-02-17 1999-02-17 可変解像度スーパーサンプリングによるグラフィックス・システム

Country Status (6)

Country Link
US (2) US6466206B1 (ja)
EP (1) EP1055201B1 (ja)
JP (1) JP2002503855A (ja)
AU (1) AU2868199A (ja)
DE (1) DE69909437T2 (ja)
WO (1) WO1999041706A1 (ja)

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006003856A1 (ja) * 2004-07-01 2006-01-12 Matsushita Electric Industrial Co., Ltd. 画像描画装置、頂点選出方法、頂点選出プログラム及び集積回路
JP2006512833A (ja) * 2002-12-30 2006-04-13 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 立体画像のためのビデオフィルタ処理
JP2011227933A (ja) * 2004-11-29 2011-11-10 Arm Norway As コンピュータグラフィックスの処理
KR20130098298A (ko) * 2010-07-07 2013-09-04 디지털옵틱스 코포레이션 유럽 리미티드 실시간 비디오 프레임 선-프로세싱 하드웨어
JP2013539095A (ja) * 2010-07-19 2013-10-17 アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド アンチエイリアシングされたサンプルの分割ストレージ
JP2014182831A (ja) * 2013-03-15 2014-09-29 Intel Corp フィルタ・タップを廃棄するテクスチャ・アドレス・モード
JP2015056048A (ja) * 2013-09-12 2015-03-23 富士通株式会社 シミュレーション方法、シミュレーションプログラム及びシミュレーション装置
JP2017517025A (ja) * 2014-04-05 2017-06-22 ソニー インタラクティブ エンタテインメント アメリカ リミテッド ライアビリテイ カンパニー 複数のレンダーターゲット内でアクティブカラーサンプルカウントを変更することによりスクリーンの位置によって有効解像度を変動させること
US10134175B2 (en) 2014-04-05 2018-11-20 Sony Interactive Entertainment LLC Gradient adjustment for texture mapping to non-orthonormal grid
JP2019005558A (ja) * 2017-06-01 2019-01-17 シーメンス ヘルスケア ゲゼルシヤフト ミツト ベシユレンクテル ハフツング 手術決定支援用のインコンテキストフォトリアリスティック三次元視覚化
US10417741B2 (en) 2014-04-05 2019-09-17 Sony Interactive Entertainment LLC Varying effective resolution by screen location by altering rasterization parameters
US10438319B2 (en) 2014-04-05 2019-10-08 Sony Interactive Entertainment LLC Varying effective resolution by screen location in graphics processing by approximating projection of vertices onto curved viewport
US10438396B2 (en) 2014-04-05 2019-10-08 Sony Interactive Entertainment LLC Method for efficient construction of high resolution display buffers
US10510183B2 (en) 2014-04-05 2019-12-17 Sony Interactive Entertainment LLC Graphics processing enhancement by tracking object and/or primitive identifiers
US10783696B2 (en) 2014-04-05 2020-09-22 Sony Interactive Entertainment 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

Families Citing this family (90)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6577312B2 (en) 1998-02-17 2003-06-10 Sun Microsystems, Inc. Graphics system configured to filter samples using a variable support filter
US6480205B1 (en) 1998-07-22 2002-11-12 Nvidia Corporation Method and apparatus for occlusion culling in graphics systems
US6853385B1 (en) * 1999-11-09 2005-02-08 Broadcom Corporation Video, audio and graphics decode, composite and display system
US7982740B2 (en) 1998-11-09 2011-07-19 Broadcom Corporation Low resolution graphics mode support using window descriptors
US6700588B1 (en) 1998-11-09 2004-03-02 Broadcom Corporation Apparatus and method for blending graphics and video surfaces
US6798420B1 (en) 1998-11-09 2004-09-28 Broadcom Corporation Video and graphics system with a single-port RAM
US6661422B1 (en) * 1998-11-09 2003-12-09 Broadcom Corporation Video and graphics system with MPEG specific data transfer commands
US6768774B1 (en) 1998-11-09 2004-07-27 Broadcom Corporation Video and graphics system with video scaling
US6700672B1 (en) * 1999-07-30 2004-03-02 Mitsubishi Electric Research Labs, Inc. Anti-aliasing with line samples
CA2316611A1 (en) * 1999-08-31 2001-02-28 Nintendo Co. Ltd. Method and apparatus for providing depth blur effects within a 3d videographics system
JP2001109905A (ja) * 1999-10-01 2001-04-20 Mitsubishi Electric Inf Technol Center America Inc ボリューム・レンダリング・システムにおけるボリューム・データ・セットのレンダリング方法
US7209140B1 (en) * 1999-12-06 2007-04-24 Nvidia Corporation System, method and article of manufacture for a programmable vertex processing model with instruction set
US6947057B2 (en) * 2000-01-11 2005-09-20 Sun Microsystems, Inc. Rendering lines with sample weighting
US7106322B2 (en) 2000-01-11 2006-09-12 Sun Microsystems, Inc. Dynamically adjusting a sample-to-pixel filter to compensate for the effects of negative lobes
US6664955B1 (en) * 2000-03-15 2003-12-16 Sun Microsystems, Inc. Graphics system configured to interpolate pixel values
US7079157B2 (en) * 2000-03-17 2006-07-18 Sun Microsystems, Inc. Matching the edges of multiple overlapping screen images
US7002589B2 (en) * 2000-03-17 2006-02-21 Sun Microsystems, Inc. Blending the edges of multiple overlapping screen images
US6940529B2 (en) * 2000-03-17 2005-09-06 Sun Microsystems, Inc. Graphics system configured to perform distortion correction
US6771272B2 (en) 2000-03-17 2004-08-03 Sun Microsystems, Inc. Graphics system having a super-sampled sample buffer with hot spot correction
US6924816B2 (en) * 2000-03-17 2005-08-02 Sun Microsystems, Inc. Compensating for the chromatic distortion of displayed images
US6766281B1 (en) * 2000-05-12 2004-07-20 S3 Graphics Co., Ltd. Matched texture filter design for rendering multi-rate data samples
US6828983B1 (en) * 2000-05-12 2004-12-07 S3 Graphics Co., Ltd. Selective super-sampling/adaptive anti-aliasing of complex 3D data
WO2001088854A2 (en) * 2000-05-16 2001-11-22 Sun Microsystems, Inc. Graphics system using a blur filter
GB0014671D0 (en) * 2000-06-15 2000-08-09 Seos Displays Ltd Head slaved area of interest (HSAOI) using framestore demultiplexing
US6801202B2 (en) 2000-06-29 2004-10-05 Sun Microsystems, Inc. Graphics system configured to parallel-process graphics data using multiple pipelines
JP4683760B2 (ja) * 2000-08-23 2011-05-18 任天堂株式会社 再構成可能なピクセルフォーマットを有する組み込みフレームバッファを有するグラフィックスシステム
US6999100B1 (en) * 2000-08-23 2006-02-14 Nintendo Co., Ltd. Method and apparatus for anti-aliasing in a graphics system
US8390639B2 (en) * 2001-01-30 2013-03-05 Qualcomm Incorporated Method and apparatus for rotating an image on a display
US7113194B2 (en) * 2001-01-30 2006-09-26 Ati International Srl Method and apparatus for rotating an image on a display
US6731300B2 (en) 2001-05-18 2004-05-04 Sun Microsystems, Inc. Efficient anti-aliased dot rasterization
US6956582B2 (en) * 2001-08-23 2005-10-18 Evans & Sutherland Computer Corporation System and method for auto-adjusting image filtering
US6924820B2 (en) * 2001-09-25 2005-08-02 Sun Microsystems, Inc. Over-evaluating samples during rasterization for improved datapath utilization
US20030210259A1 (en) * 2001-11-14 2003-11-13 Liu Alan V. Multi-tactile display haptic interface device
JP4313527B2 (ja) * 2001-11-21 2009-08-12 富士通マイクロエレクトロニクス株式会社 画像描画装置
US6753870B2 (en) 2002-01-30 2004-06-22 Sun Microsystems, Inc. Graphics system configured to switch between multiple sample buffer contexts
US6914609B2 (en) * 2002-02-28 2005-07-05 Sun Microsystems, Inc. Multiple scan line sample filtering
US6819320B2 (en) 2002-03-04 2004-11-16 Sun Microsystems, Inc. Reading or writing a non-super sampled image into a super sampled buffer
US6975322B2 (en) 2002-03-12 2005-12-13 Sun Microsystems, Inc. Dynamically adjusting a number of rendering passes in a graphics system
EP1345168B1 (en) * 2002-03-12 2007-10-24 Sun Microsystems, Inc. Dynamically adjusting sample density and/or number of rendering passes in a graphics system
US6975317B2 (en) * 2002-03-12 2005-12-13 Sun Microsystems, Inc. Method for reduction of possible renderable graphics primitive shapes for rasterization
US6999087B2 (en) 2002-03-12 2006-02-14 Sun Microsystems, Inc. Dynamically adjusting sample density in a graphics system
US7499594B2 (en) * 2002-04-15 2009-03-03 At&T Intellectual Property 1, L.P. Multi-resolution predictive foveation for bandwidth reduction of moving images
US7010169B2 (en) * 2002-04-15 2006-03-07 Sbc Technology Resources, Inc. Multi-point predictive foveation for bandwidth reduction of moving images
US6870542B2 (en) * 2002-06-28 2005-03-22 Nvidia Corporation System and method for filtering graphics data on scanout to a monitor
US6985153B2 (en) * 2002-07-15 2006-01-10 Sun Microsystems, Inc. Sample request mechanism for supplying a filtering engine
US6982719B2 (en) * 2002-07-15 2006-01-03 Sun Microsystems, Inc. Switching sample buffer context in response to sample requests for real-time sample filtering and video generation
US7009604B2 (en) * 2002-07-19 2006-03-07 Sun Microsystems, Inc. Frame detector for use in graphics systems
US20040083430A1 (en) * 2002-10-29 2004-04-29 Boonen Paul J. J. Method and apparatus to process portable document format data containing transparency
US20040176143A1 (en) * 2003-02-07 2004-09-09 Willins Bruce A. System and method for wireless collection and presentation of data
US6879328B2 (en) * 2003-03-03 2005-04-12 Sun Microsystems, Inc. Support of multi-layer transparency
US7106352B2 (en) 2003-03-03 2006-09-12 Sun Microsystems, Inc. Automatic gain control, brightness compression, and super-intensity samples
US6976960B2 (en) * 2003-06-10 2005-12-20 Siemens Medical Solutions Usa, Inc. Automatic velocity anti-aliased ultrasound methods and systems
US7824566B2 (en) 2003-07-08 2010-11-02 Scheidler Karl J Methods and compositions for improving light-fade resistance and soil repellency of textiles and leathers
US20050183303A1 (en) * 2003-08-15 2005-08-25 Simonsen Peter A. Method and an arrangement for adveratising or promoting
US7266255B1 (en) 2003-09-26 2007-09-04 Sun Microsystems, Inc. Distributed multi-sample convolution
US8063916B2 (en) 2003-10-22 2011-11-22 Broadcom Corporation Graphics layer reduction for video composition
JP4841250B2 (ja) * 2003-12-19 2011-12-21 ティディヴィジョン コーポレイション エス.エー. デ シー.ヴィ. 3dビデオゲーム・システム
US20070033538A1 (en) * 2004-11-03 2007-02-08 Rockwell Automation Technologies, Inc. Real time parallel interface configuration and device representation method and system
US20060277461A1 (en) * 2005-06-07 2006-12-07 Britt Clinton D Real time parallel interface configuration and device representation method and system
US20070055386A1 (en) * 2004-11-03 2007-03-08 Rockwell Automation Technologies, Inc. Abstracted display building method and system
JP4600011B2 (ja) * 2004-11-29 2010-12-15 ソニー株式会社 画像処理装置および方法、記録媒体、並びにプログラム
WO2006061097A1 (en) * 2004-12-08 2006-06-15 Unilever Plc Food or beverage product comprising theanine and caffeine for enhancing mental alertness
US7586492B2 (en) * 2004-12-20 2009-09-08 Nvidia Corporation Real-time display post-processing using programmable hardware
US7557817B2 (en) * 2005-08-23 2009-07-07 Seiko Epson Corporation Method and apparatus for overlaying reduced color resolution images
WO2008073449A2 (en) 2006-12-12 2008-06-19 Evans & Sutherland Computer Corporation System and method for aligning rgb light in a single modulator projector
US8115783B2 (en) * 2008-01-31 2012-02-14 Arm Norway As Methods of and apparatus for processing computer graphics
US8044971B2 (en) * 2008-01-31 2011-10-25 Arm Norway As Methods of and apparatus for processing computer graphics
US8358317B2 (en) 2008-05-23 2013-01-22 Evans & Sutherland Computer Corporation System and method for displaying a planar image on a curved surface
US8702248B1 (en) 2008-06-11 2014-04-22 Evans & Sutherland Computer Corporation Projection method for reducing interpixel gaps on a viewing surface
US7850306B2 (en) 2008-08-28 2010-12-14 Nokia Corporation Visual cognition aware display and visual data transmission architecture
GB0819570D0 (en) * 2008-10-24 2008-12-03 Advanced Risc Mach Ltd Methods of and apparatus for processing computer graphics
US8077378B1 (en) 2008-11-12 2011-12-13 Evans & Sutherland Computer Corporation Calibration system and method for light modulation device
KR20120047055A (ko) * 2010-11-03 2012-05-11 삼성전자주식회사 디스플레이 장치 및 이에 적용되는 그래픽 영상 제공방법
US8624911B1 (en) * 2011-01-05 2014-01-07 Google Inc. Texture-based polygon antialiasing
US9641826B1 (en) 2011-10-06 2017-05-02 Evans & Sutherland Computer Corporation System and method for displaying distant 3-D stereo on a dome surface
US9265458B2 (en) 2012-12-04 2016-02-23 Sync-Think, Inc. Application of smooth pursuit cognitive testing paradigms to clinical drug development
US9380976B2 (en) 2013-03-11 2016-07-05 Sync-Think, Inc. Optical neuroinformatics
US9230362B2 (en) * 2013-09-11 2016-01-05 Nvidia Corporation System, method, and computer program product for using compression with programmable sample locations
US9230363B2 (en) * 2013-09-11 2016-01-05 Nvidia Corporation System, method, and computer program product for using compression with programmable sample locations
US9437040B2 (en) 2013-11-15 2016-09-06 Nvidia Corporation System, method, and computer program product for implementing anti-aliasing operations using a programmable sample pattern table
US10262387B2 (en) 2016-11-14 2019-04-16 Google Llc Early sub-pixel rendering
US10564715B2 (en) * 2016-11-14 2020-02-18 Google Llc Dual-path foveated graphics pipeline
US10049437B2 (en) * 2016-11-21 2018-08-14 Microsoft Technology Licensing, Llc Cleartype resolution recovery resampling
US10607399B2 (en) * 2017-05-22 2020-03-31 Htc Corporation Head-mounted display system, method for adaptively adjusting hidden area mask, and computer readable medium
US10853918B2 (en) * 2017-06-09 2020-12-01 Sony Interactive Entertainment Inc. Foveal adaptation of temporal anti-aliasing
US10510181B2 (en) 2017-06-27 2019-12-17 Samsung Electronics Co., Ltd. System and method for cache management using a cache status table
US10319114B2 (en) * 2017-07-13 2019-06-11 Google Llc Foveated compression of display streams
CN108111784B (zh) * 2017-12-22 2020-06-26 成都先锋材料有限公司 一种生物活体影像监控***
CN110324705A (zh) * 2018-03-30 2019-10-11 深圳市掌网科技股份有限公司 一种基于头戴显示设备的图像处理方法和***
US11625973B2 (en) * 2020-04-22 2023-04-11 Igt Multi-user gaze detection at electronic gaming devices

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB278524A (en) 1926-10-06 1927-10-13 Victor Herbert Gregory Improvements in recording instruments and the like
EP0430501B1 (en) * 1989-11-17 1999-02-03 Digital Equipment Corporation System and method for drawing antialiased polygons
US5123085A (en) 1990-03-19 1992-06-16 Sun Microsystems, Inc. Method and apparatus for rendering anti-aliased polygons
US5117289A (en) 1990-04-26 1992-05-26 Lyon-Lamb Video Animation Real-time video image converter
DE69127516T2 (de) 1990-06-29 1998-02-26 Philips Electronics Nv Verfahren und Gerät zur Bilderzeugung
US5173948A (en) 1991-03-29 1992-12-22 The Grass Valley Group, Inc. Video image mapping system
JP3318680B2 (ja) 1992-04-28 2002-08-26 サン・マイクロシステムズ・インコーポレーテッド 画像生成方法及び画像生成装置
US5388206A (en) * 1992-11-13 1995-02-07 The University Of North Carolina Architecture and apparatus for image generation
US5684939A (en) * 1993-07-09 1997-11-04 Silicon Graphics, Inc. Antialiased imaging with improved pixel supersampling
US5774110A (en) * 1994-01-04 1998-06-30 Edelson; Steven D. Filter RAMDAC with hardware 11/2-D zoom function
JP2637920B2 (ja) * 1994-08-11 1997-08-06 インターナショナル・ビジネス・マシーンズ・コーポレイション コンピュータ・グラフィック・システム及びフレーム・バッファ使用方法
US5668940A (en) * 1994-08-19 1997-09-16 Martin Marietta Corporation Method and apparatus for anti-aliasing polygon edges in a computer imaging system
US5594854A (en) 1995-03-24 1997-01-14 3Dlabs Inc. Ltd. Graphics subsystem with coarse subpixel correction
US5793371A (en) 1995-08-04 1998-08-11 Sun Microsystems, Inc. Method and apparatus for geometric compression of three-dimensional graphics data
US5742277A (en) * 1995-10-06 1998-04-21 Silicon Graphics, Inc. Antialiasing of silhouette edges
US5638176A (en) 1996-06-25 1997-06-10 International Business Machines Corporation Inexpensive interferometric eye tracking system
US5999187A (en) * 1996-06-28 1999-12-07 Resolution Technologies, Inc. Fly-through computer aided design method and apparatus
US6128001A (en) * 1997-04-04 2000-10-03 Avid Technology, Inc. Methods and apparatus for changing a color of an image
US6072498A (en) * 1997-07-31 2000-06-06 Autodesk, Inc. User selectable adaptive degradation for interactive computer rendering system
US6204859B1 (en) * 1997-10-15 2001-03-20 Digital Equipment Corporation Method and apparatus for compositing colors of images with memory constraints for storing pixel data
JP2002503854A (ja) * 1998-02-17 2002-02-05 サン・マイクロシステムズ・インコーポレーテッド ポリゴンのためのグラフィックス・システム・パフォーマンスの推定

Cited By (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006512833A (ja) * 2002-12-30 2006-04-13 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 立体画像のためのビデオフィルタ処理
WO2006003856A1 (ja) * 2004-07-01 2006-01-12 Matsushita Electric Industrial Co., Ltd. 画像描画装置、頂点選出方法、頂点選出プログラム及び集積回路
US7737971B2 (en) 2004-07-01 2010-06-15 Panasonic Corporation Image drawing device, vertex selecting method, vertex selecting program, and integrated circuit
JP2011227933A (ja) * 2004-11-29 2011-11-10 Arm Norway As コンピュータグラフィックスの処理
KR20130098298A (ko) * 2010-07-07 2013-09-04 디지털옵틱스 코포레이션 유럽 리미티드 실시간 비디오 프레임 선-프로세싱 하드웨어
KR101646608B1 (ko) * 2010-07-07 2016-08-08 포토내이션 리미티드 실시간 비디오 프레임 선-프로세싱 하드웨어
JP2013539095A (ja) * 2010-07-19 2013-10-17 アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド アンチエイリアシングされたサンプルの分割ストレージ
JP2014182831A (ja) * 2013-03-15 2014-09-29 Intel Corp フィルタ・タップを廃棄するテクスチャ・アドレス・モード
JP2015056048A (ja) * 2013-09-12 2015-03-23 富士通株式会社 シミュレーション方法、シミュレーションプログラム及びシミュレーション装置
US10438396B2 (en) 2014-04-05 2019-10-08 Sony Interactive Entertainment LLC Method for efficient construction of high resolution display buffers
US10685425B2 (en) 2014-04-05 2020-06-16 Sony Interactive Entertainment LLC Varying effective resolution by screen location by altering rasterization parameters
JP7112549B2 (ja) 2014-04-05 2022-08-03 ソニー・インタラクティブエンタテインメント エルエルシー 複数のレンダーターゲット内でアクティブカラーサンプルカウントを変更することによりスクリーンの位置によって有効解像度を変動させること
US10417741B2 (en) 2014-04-05 2019-09-17 Sony Interactive Entertainment LLC Varying effective resolution by screen location by altering rasterization parameters
US10438319B2 (en) 2014-04-05 2019-10-08 Sony Interactive Entertainment LLC Varying effective resolution by screen location in graphics processing by approximating projection of vertices onto curved viewport
JP2017517025A (ja) * 2014-04-05 2017-06-22 ソニー インタラクティブ エンタテインメント アメリカ リミテッド ライアビリテイ カンパニー 複数のレンダーターゲット内でアクティブカラーサンプルカウントを変更することによりスクリーンの位置によって有効解像度を変動させること
US10510183B2 (en) 2014-04-05 2019-12-17 Sony Interactive Entertainment LLC Graphics processing enhancement by tracking object and/or primitive identifiers
US10614549B2 (en) 2014-04-05 2020-04-07 Sony Interactive Entertainment Europe Limited Varying effective resolution by screen location by changing active color sample count within multiple render targets
JP2020091877A (ja) * 2014-04-05 2020-06-11 ソニー・インタラクティブエンタテインメント エルエルシー 複数のレンダーターゲット内でアクティブカラーサンプルカウントを変更することによりスクリーンの位置によって有効解像度を変動させること
US10134175B2 (en) 2014-04-05 2018-11-20 Sony Interactive Entertainment LLC Gradient adjustment for texture mapping to non-orthonormal grid
US10783696B2 (en) 2014-04-05 2020-09-22 Sony Interactive Entertainment LLC Gradient adjustment for texture mapping to non-orthonormal grid
JP2020170506A (ja) * 2014-04-05 2020-10-15 ソニー・インタラクティブエンタテインメント エルエルシー 複数のレンダーターゲット内でアクティブカラーサンプルカウントを変更することによりスクリーンの位置によって有効解像度を変動させること
JP2021108154A (ja) * 2014-04-05 2021-07-29 ソニー・インタラクティブエンタテインメント エルエルシー 複数のレンダーターゲット内でアクティブカラーサンプルカウントを変更することによりスクリーンの位置によって有効解像度を変動させること
JP7004759B2 (ja) 2014-04-05 2022-01-21 ソニー・インタラクティブエンタテインメント エルエルシー 複数のレンダーターゲット内でアクティブカラーサンプルカウントを変更することによりスクリーンの位置によって有効解像度を変動させること
US11238639B2 (en) 2014-04-05 2022-02-01 Sony Interactive Entertainment LLC Gradient adjustment for texture mapping to non-orthonormal grid
JP7033617B2 (ja) 2014-04-05 2022-03-10 ソニー・インタラクティブエンタテインメント エルエルシー 複数のレンダーターゲット内でアクティブカラーサンプルカウントを変更することによりスクリーンの位置によって有効解像度を変動させること
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
US11301956B2 (en) 2014-04-05 2022-04-12 Sony Interactive Entertainment LLC Varying effective resolution by screen location by altering rasterization parameters
JP2019005558A (ja) * 2017-06-01 2019-01-17 シーメンス ヘルスケア ゲゼルシヤフト ミツト ベシユレンクテル ハフツング 手術決定支援用のインコンテキストフォトリアリスティック三次元視覚化

Also Published As

Publication number Publication date
DE69909437T2 (de) 2004-04-15
EP1055201B1 (en) 2003-07-09
US6424343B1 (en) 2002-07-23
EP1055201A1 (en) 2000-11-29
DE69909437D1 (de) 2003-08-14
US6466206B1 (en) 2002-10-15
WO1999041706A1 (en) 1999-08-19
AU2868199A (en) 1999-08-30

Similar Documents

Publication Publication Date Title
JP2002503855A (ja) 可変解像度スーパーサンプリングによるグラフィックス・システム
US6717578B1 (en) Graphics system with a variable-resolution sample buffer
US6417861B1 (en) Graphics system with programmable sample positions
US6664955B1 (en) Graphics system configured to interpolate pixel values
US7106322B2 (en) Dynamically adjusting a sample-to-pixel filter to compensate for the effects of negative lobes
US6850236B2 (en) Dynamically adjusting a sample-to-pixel filter in response to user input and/or sensor input
EP1161743B1 (en) A graphics system configured to perform parallel sample to pixel calculation
US6781585B2 (en) Graphics system having a super-sampled sample buffer and having single sample per pixel support
US6801202B2 (en) Graphics system configured to parallel-process graphics data using multiple pipelines
US6650323B2 (en) Graphics system having a super-sampled sample buffer and having single sample per pixel support
EP1155386B1 (en) Graphics system which renders samples into a sample buffer and generates pixels in response to stored samples at different rates
EP1161745B1 (en) Graphics system having a super-sampled sample buffer with generation of output pixels using selective adjustment of filtering for reduced artifacts
US6753870B2 (en) Graphics system configured to switch between multiple sample buffer contexts
EP1161744B1 (en) Graphics system having a super-sampled sample buffer with generation of output pixels using selective adjustment of filtering for implementation of display effects
EP1207497A2 (en) Graphics system with variable resolution super-sampling
WO2001088854A2 (en) Graphics system using a blur filter
KR20010113669A (ko) 병렬적 샘플-픽셀 연산을 수행하도록 구성된 그래픽 시스템
KR20020031097A (ko) 샘플 위치정보를 효율적으로 저장하는 수퍼-샘플되는샘플버퍼를 가지는 그래픽 시스템

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060217

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090331

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20090908