(57)【要約】      （修正有）【課題】１つのグラフィックスプロセッサの複数のディスプレイヘッドを用いた画像データのアンチエイリアシングを提供する。【解決手段】同じグラフィックスプロセッサ１２２の２つのディスプレイヘッド２０６が、画素転送パスを介してマスター／スレーブ形式で互いに結合されている。「マスター」ディスプレイヘッドは、それ自体の画素に加えて「スレーブ」ディスプレイヘッドから画素を受け取り、マスターディスプレイヘッド中の画素選択論理回路がこの２画素を混合するか、いずれか一方を選択して他方を除外する。２画素が同じ画像の異なるサンプリング位置に対応する場合には、混合した画素がアンチエイリアシング処理画素となる。【選択図】図４Ａ
2011123894.tif 000002
【特許請求の範囲】
【請求項１】
グラフィックスプロセッサ用のディスプレイヘッドであって、
第１のグラフィックスプロセッサにより生成された、ガンマ補正された第１の画素を伝播するように構成された第１の入力パスと、
第２のグラフィックスプロセッサにより生成された、ガンマ補正された第２の画素を伝播するように構成された第２の入力パスと、
前記第１の入力パスおよび前記第２の入力パスに結合され、前記ガンマ補正された第１の画素と前記ガンマ補正された第２の画素を混合して、混合画素を生成するように構成された画素合成器と、
前記ガンマ補正された第１の画素、前記ガンマ補正された第２の画素、又は、前記混合画素の１つを出力画素として選択するように構成された選択回路と、を備える、ディスプレイヘッド。
【請求項２】
前記ディスプレイヘッドが、除数により混合画素を除するように構成された除算回路をさらに含む、請求項１に記載のグラフィックスプロセッサ。
【請求項３】
前記除数は、１及び２を除数として含む候補除数から選択される、請求項２に記載のグラフィックスプロセッサ。
【請求項４】
前記除数は、１、２及び４を除数として含む候補除数から選択される、請求項１に記載のグラフィックスプロセッサ。
【請求項５】
前記画素合成器が、前記ガンマ補正された第１の画素および前記ガンマ補正された第２の画素を加算することによって前記混合画素を生成するように構成される、請求項１に記載のグラフィックスプロセッサ。
【請求項６】
前記第１の画素及び前記第２の画素がガンマ補正画素であり、
前記画素合成器が、前記第１の画素および前記第２の画素のガンマ補正混合を計算することによって前記混合画素を生成するように構成される、請求項１に記載のグラフィックスプロセッサ。
【請求項７】
前記ガンマ補正混合の近似は、前記ガンマ補正された第１の画素をＰｉ、前記ガンマ補正された第２の画素をＰｅ、としたときに、下記式
（４Ｐｉ＋４Ｐｅ＋｜Ｐｉ−Ｐｅ｜）／４
により計算される、請求項６に記載のグラフィックスプロセッサ。
【請求項８】
前記画素合成器が、前記ガンマ補正された第１の画素と前記ガンマ補正された第２の画素との混合より前に、前記ガンマ補正された第１の画素を除数を用いて除するように構成された除算回路を含む、請求項１に記載のグラフィックスプロセッサ。
【請求項９】
ガンマ補正された第１の画素を生成するように構成されたディスプレイパイプラインと、
ガンマ補正された第２の画素を外部画素の供給源から受信するように構成された入力ポートと、
ディスプレイヘッドとを備え、
前記ディスプレイヘッドは、
前記ディスプレイパイプラインに結合され、前記ディスプレイパイプラインから前記ガンマ補正された第１の画素を受信するように構成された第１の入力パスと、
前記入力ポートに結合され、前記入力ポートから前記ガンマ補正された第２の画素を受信するように構成された第２の入力パスと、
前記第１の入力パスおよび前記第２の入力パスに結合され、前記ガンマ補正された第１の画素と前記ガンマ補正された第２の画素を混合して、混合画素を生成するように構成された画素合成器と、
前記ガンマ補正された第１の画素、前記ガンマ補正された第２の画素、又は、前記混合画素の１つを出力画素として選択するように構成された選択回路とを有する、グラフィックスプロセッサ。
【請求項１０】
前記ディスプレイパイプラインは、前記ガンマ補正された第１の画素に関連付けられた複数のサンプル値に対するアンチエイリアシングフィルタに適合するフィルタユニットを含む、請求項９に記載のグラフィックスプロセッサ。
【請求項１１】
複数の出力ポートと、
前記ディスプレイヘッドと複数の出力ポートとの間に結合された外部回路とを更に含み、
前記外部回路は、出力画素を前記出力ポートの一つに選択的に転送するように構成された、請求項９に記載のグラフィックスプロセッサ。
【請求項１２】
前記複数の出力ポートは、他のグラフィックスプロセッサの入力ポートに接続されるように構成された第１の出力ポートを含む、請求項１１に記載のグラフィックスプロセッサ。
【請求項１３】
画像を生成する方法であって、
第１のグラフィックスプロセッサを用いて、画像用のガンマ補正された入力画素の第１セットをレンダリングするステップと、
第２のグラフィックスプロセッサを用いて、画像用のガンマ補正された入力画素の第２セットをレンダリングするステップであって、前記第１のグラフィックスプロセッサ及び前記第２のグラフィックスプロセッサの各々のレンダリング動作は、少なくとも一つの点で異なるステップと、
前記ガンマ補正された入力画素の第１セット及び前記ガンマ補正された入力画素の第２セットを第１のディスプレイヘッドに送るステップと、
前記第１のディスプレイヘッドで、前記ガンマ補正された入力画素の第１セット及び前記ガンマ補正された入力画素の第２セットの対応する画素を混合して、出力画素の第１セットを生成するステップと、を含む方法。
【請求項１４】
前記第１のディスプレイヘッドは、前記第１のグラフィックスプロセッサに設けられた、請求項１３に記載の方法。
【請求項１５】
前記第１のグラフィックスプロセッサ及び前記第２のグラフィックスプロセッサの各々のレンダリング動作は、各画素に適用されるサンプリングパターンに関して異なる、請求項１３に記載の方法。
【請求項１６】
前記第１のグラフィックスプロセッサ及び前記第２のグラフィックスプロセッサの各々のレンダリング動作は、レンダリングされる画像の視野域オフセットに関して異なる、請求項１３に記載の方法。
【請求項１７】
前記第１のグラフィックスプロセッサ及び前記第２のグラフィックスプロセッサの各々のレンダリング動作は、前記第１のグラフィックスプロセッサによるレンダリング動作が、ステレオアナグリフの左目視野を生成し、前記第２のグラフィックスプロセッサによるレンダリング動作が、ステレオアナグリフの右目視野を生成するという点で異なる、請求項１３に記載の方法。
【請求項１８】
前記出力画素の第１セットをディスプレイ装置に送るステップを更に含む、請求項１３に記載の方法。
【発明の詳細な説明】
【関連出願の相互参照】
【０００１】
[0001]本願は、２００６年５月１２日に出願された「Ａｎｔｉａｌｉａｓｉｎｇ  Ｕｓｉｎｇ  Ｍｕｌｔｉｐｌｅ  Ｄｉｓｐｌａｙ  Ｈｅａｄｓ  ｏｆ  ａ  Ｇｒａｐｈｉｃｓ
Ｐｒｏｃｅｓｓｏｒ」と題する米国仮出願第６０／７４７，１５４号、および同一出願人による同時係属中の２００６年５月１２日に出願された「Ｄｉｓｔｒｉｂｕｔｅｄ  Ａｎｔｉａｌｉａｓｉｎｇ  ｉｎ  ａ  Ｍｕｌｔｉｐｒｏｃｅｓｓｏｒ  Ｇｒａｐｈｉｃｓ
Ｓｙｓｔｅｍ」と題する米国特許出願第１１／３８３，０４８号の利益を主張するものである。
【発明の背景】
【０００２】
[0002]本発明は、概してコンピュータグラフィックスに関し、特にグラフィックスプロセッサの複数のディスプレイヘッドを用いた画像データのアンチエイリアシングに関する。
【０００３】
[0003]当分野で既知のように、コンピュータ生成画像は、画像データを離散カラーサンプル（画素）のアレイへと変換するのに用いる有限サンプリング解像度から生じる様々なビジュアルアーチファクトに影響を受けやすい。一般に「エイリアシング」と呼ばれるこのようなアーチファクトには、平滑なラインのジャギー、規則的なパターンのムラ等が含まれる。
【０００４】
[0004]エイリアシングを減らすために、カラーを「オーバーサンプリング」する、すなわち最終（例えばディスプレイまたは記憶）画像を構成する画素数を上回る数のサンプリング位置でサンプリングすることが多い。例えば、画素数の２倍または４倍で画像をサンプリングすることもある。当分野では、各サンプリング位置を別個の画素として扱うスーパーサンプリングや、画素の少なくとも一部をカバーする基本形状毎に１つのカラー値を計算するが、この基本形状による画素のカバレージは複数の位置で決定するマルチサンプリングを含む、各種のオーバーサンプリングが既知である。
【０００５】
[0005]アンチエイリアシング（ＡＡ）フィルタは、１画素あたり複数のサンプルを混合して１つのカラー値を決定する。従来、ＡＡフィルタは、画素を生成してフレームバッファに記憶するレンダリングパイプライン内、または、画素をフレームバッファから読み出してディスプレイ装置に送るディスプレイパイプライン内のいずれかに適用される。
【発明の概要】
【０００６】
[0006]本発明の実施形態は、１つのグラフィックスプロセッサの複数のディスプレイヘッドを利用してアンチエイリアシングおよび他の処理タスクを行うシステムおよび方法を提供するものである。一実施形態では、同じグラフィックスプロセッサの２つのディスプレイヘッドが画素転送パスを介してマスター／スレーブ形式で互いに結合されている。「マスター」ディスプレイヘッドは、それ自体の画素に加えて「スレーブ」ディスプレイヘッドから画素を受信し、マスターディスプレイヘッド中の画素選択論理回路がこの２画素を混合するか、いずれか一方を選択して他方を除外する。２画素が同じ画像の異なるサンプリング位置に対応する場合には、混合した画素がＡＡフィルタ処理画素となる。
【０００７】
[0007]本発明の一態様によれば、グラフィックス処理装置が、第１のディスプレイヘッドと、第２のディスプレイヘッドと、画素転送パスとを含む。第１のディスプレイヘッドは、第１の出力画素を生成するように構成され、集積回路内に配置される。第２のディスプレイヘッドは、第２の出力画素を生成するように構成されており、これも集積回路内に配置されている。第２のディスプレイヘッドは、外部画素を受信するように構成された第１の入力パスと、内部画素を受信するように構成された第２の入力パスと、上記第１の入力パスおよび上記第２の入力パスに結合され、上記外部画素と上記内部画素を混合して、上記混合画素を生成するように構成された画素合成器と、上記外部画素、上記内部画素、または上記混合画素の１つを第２の出力画素として選択するように構成された選択回路とを有利に含む。上記画素転送パスは、上記第１の出力画素が上記外部画素として上記第１の入力パスにより受信されるように、上記第１の出力画素を上記第１のディスプレイヘッドから上記第２のディスプレイヘッドの上記第１の入力パスへと送るように設定可能である。
【０００８】
[0008]いくつかの実施形態では、上記画素転送パスも集積回路内に配置される。他の実施形態では、上記画素転送パスの少なくとも一部が上記集積回路の外部にある。例えば、上記画素転送パスが取り外し可能なコネクタを含む。
【０００９】
[0009]本発明の別の態様によれば、グラフィックスサブシステムが、画素出力コネクタおよび画素入力コネクタを有するグラフィックスアダプタを含む。グラフィックスプロセッサは、上記グラフィックスアダプタ上に実装することもできるが、上記画素出力コネクタに通信可能に結合された画素出力ポートと上記画素入力コネクタに通信可能に結合された画素入力ポートとを有する。グラフィックスサブシステムは、上記グラフィックスアダプタの上記画素出力コネクタを上記グラフィックスアダプタの上記画素入力コネクタに接続するように適合された取り外し可能なコネクタユニットも含む。
【００１０】
[0010]本発明のまた別の態様によれば、画像を生成する方法が、グラフィックスプロセッサのレンダリングパイプラインを用いて、画像用の入力画素の第１セットおよび入力画素の第２セットをレンダリングするステップを含む。入力画素の第１セットをレンダリングするのに用いられる第１のレンダリング動作は、少なくとも一点で上記入力画素の第２セットをレンダリングするのに用いられる第２のレンダリング動作と異なる。例えば、上記２つのレンダリング動作は、各画素に適用されるサンプリングパターンに関して異なっても、またはレンダリングされる画像の視野域オフセットに関して異なってもよい。上記入力画素の第１セットが上記グラフィックスプロセッサの第１のディスプレイヘッドに送られ、上記入力画素の第２セットが上記グラフィックスプロセッサの第２のディスプレイヘッドに送られる。上記入力画素の第１セットは、さらに上記第１のディスプレイヘッドから上記第２のディスプレイヘッドに送られる。上記第２のディスプレイヘッドで、上記入力画素の第１セットおよび上記入力画素の第２セットの対応する画素が混合され出力画素のセットを生成する。
【００１１】
[0011]以下の詳細な説明が、添付の図面と併せて本発明の性質および利点のより良い理解を与えるであろう。
【発明の詳細な説明】
【００１２】
[0020]本発明の実施形態は、１つのグラフィックスプロセッサの複数のディスプレイヘッドを利用してアンチエイリアシングおよび他の処理タスクを行うシステムおよび方法を提供するものである。一実施形態では、同じグラフィックスプロセッサの２つのディスプレイヘッドが画素転送パスを介してマスター／スレーブ形式で互いに結合されている。「マスター」ディスプレイヘッドは、それ自体の画素に加えて「スレーブ」ディスプレイヘッドから画素を受信し、マスターディスプレイヘッド中の画素選択論理回路がこの２画素を混合するか、いずれか一方を選択して他方を除外する。２画素が同じ画像の異なるサンプリング位置に対応する場合には、混合した画素がＡＡフィルタ処理画素となる。[システム概観]
【００１３】
[0021]図１は、本発明の実施形態によるコンピュータシステム１００のブロック図である。コンピュータシステム１００は、中央演算処理装置（ＣＰＵ）１０２と、ノースブリッジチップ等のメモリブリッジ１０５を含むバスパスを介して通信するシステムメモリ１０４とを含む。メモリブリッジ１０５は、バスまたは他の通信パス１０６を介してサウスブリッジチップ等のＩ／Ｏ（入力／出力）ブリッジ１０７と接続されている。Ｉ／Ｏブリッジ１０７は、一又は複数のユーザ入力デバイス１０８（キーボード、マウス等）からユーザ入力を受信し、バス１０６およびメモリブリッジ１０５を介してその入力をＣＰＵ１０２へと転送する。ビジュアル出力は、バスまたは他の通信パス１１３を介してメモリブリッジ１０５に結合されたグラフィックスサブシステム１１２の制御下で動作する画素ベースディスプレイ装置１１０（従来のＣＲＴまたはＬＣＤベースモニタ）上で提供される。システムディスク１１４は、Ｉ／Ｏブリッジ１０７にも接続されている。スイッチ１１６は、Ｉ／Ｏブリッジ１０７とネットワークアダプタ１１８および各種アドインカード１２０、１２１等の他のコンポーネントとの間を接続する。ＵＳＢまたは他のポート接続、ＣＤドライブ、ＤＶＤドライブ等の他のコンポーネント（明示せず）をＩ／Ｏブリッジ１０７に接続することもできる。各種コンポーネント間の通信パスは、ＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ）、ＰＣＩ  Ｅｘｐｒｅｓｓ（ＰＣＩ−Ｅ）、ＡＧＰ（Ａｃｃｅｌｅｒａｔｅｄ  Ｇｒａｐｈｉｃｓ  Ｐｏｒｔ）、ＨｙｐｅｒＴｒａｎｓｐｏｒｔ、または任意の他のバスまたはポイントツーポイントプロトコルを用いて実施することができ、異なるデバイス間の接続は当分野で既知の異なるプロトコルを用いることができる。
【００１４】
[0022]グラフィックスサブシステム１１２は、Ｎ個（一又は複数）のグラフィックス処理装置（ＧＰＵ）１２２を含んでいる。（本明細書では、同様の物の複数の例は、その物を特定する参照番号および必要に応じてその例を特定する括弧付き番号で示す。）各ＧＰＵ１２２は、関連付けられたグラフィックスメモリ１２４を有する。ＧＰＵ１２２およびグラフィックスメモリ１２４は、例えば、プログラマブルプロセッサ、特定用途向け集積回路（ＡＳＩＣ）およびメモリデバイス等の一又は複数の集積回路デバイスを用いて実施することができる。いくつかの実施形態では、ＧＰＵ１２２およびグラフィックスメモリ１２４が、システム１００の拡張スロット（ＰＣＩ−Ｅスロット等）に挿入または当該拡張スロットから取り外し可能な一又は複数の拡張カードまたは他のアダプタで実施される。任意の数ＮのＧＰＵ１２２を用いることができる。
【００１５】
[0023]各ＧＰＵ１２２は、メモリブリッジ１０５およびバス１１３を介してＣＰＵ１０２および／またはシステムメモリ１０４から供給されるグラフィックスデータから画素データ（本明細書では「画素」ともいう）を生成することに関連する各種タスクを行うように構成することができ、各グラフィックスメモリ１２４と情報をやりとりして画素データ等を記憶したり更新したりする。例えば、ＧＰＵ１２２は、ＣＰＵ１０２上で実行する各種プログラムにより提供される２Ｄまたは３Ｄシーンデータから画素データを生成することができる。ＧＰＵ１２２は、メモリブリッジ１０５を介して受信した画素データをさらなる処理の有無を問わずグラフィックスメモリ１２４に書き込むこともできる。各ＧＰＵ１２２は、画素データをグラフィックスメモリ１２４から後述するＧＰＵ１２２の出力ポートへと送るように構成可能なスキャンアウトモジュール（本明細書ではディスプレイパイプラインともいう）も含んでいる。出力ポートは、モニタまたは別のＧＰＵ１２２に接続してもしなくてもよい。
【００１６】
[0024]分散レンダリングモードでの動作のために、１つのＧＰＵ（例えばＧＰＵ１２２（０））がスキャンアウトされた画素を別のＧＰＵ（例えばＧＰＵ１２２（Ｎ−１））に送るように好適に構成され、その後者のＧＰＵ（例えばＧＰＵ１２２（Ｎ−１））は、それ自体のディスプレイパイプラインからの内部画素およびＧＰＵ１２２（０）から受信した外部画素間で選択する。３つ以上のＧＰＵ１２２を、スレーブＧＰＵ１２２がその画素を中間ＧＰＵ１２２に送るように「デイジーチェーン」式に相互接続可能であり、中間ＧＰＵ１２２は、それ自体の内部画素およびスレーブからの外部画素間で選択して、最終のマスターＧＰＵ（すなわちモニタに接続されたＧＰＵ）が最終の選択画素をディスプレイ装置に送るまで、選択した画素を別のＧＰＵ等に転送する。
【００１７】
[0025]いくつかの実施形態では、任意のＧＰＵ１２２を任意の他のＧＰＵ１２２のスレーブとなれるように、物理的接続を何ら変えることなくＧＰＵ１２２の配置設定を調整することによってＧＰＵ１２２を互いに相互接続可能である。例えば、ＧＰＵ１２２は、単方向または双方向リングトポロジーで接続可能である。
【００１８】
[0026]各種の分散レンダリングモードがサポート可能である。例えば、分割フレームレンダリングでは、同じ画像の異なる部分をレンダリングするために異なるＧＰＵ１２２が割り当てられ、交互フレームレンダリングでは、表示される一連の画像中の異なる画像に異なるＧＰＵ１２２が割り当てられる。本発明には、特定の分散レンダリングモードが必須ということはない。
【００１９】
[0027]本発明の実施形態によれば、ＧＰＵ１２２は、「外部分散」ＡＡモードでも動作可能である。このモードでは、ＧＰＵ１２２の画素選択論理回路が、内部画素および外部画素の一方を選択して他方を除外するのではなくこれらを混合する。内部画素および外部画素が異なるサンプリング位置で同じ画像を表す場合には、画素混合の結果がＡＡ解像動作（本明細書ではＡＡフィルタともいう）に相当する。本発明の別の実施形態によれば、１つのＧＰＵ１２２が、「内部分散」ＡＡモードでも動作可能である。このモードでは、ＧＰＵ１２２の画素選択論理回路が、同じＧＰＵ１２２の２つのディスプレイヘッドにより生成された画素を混合する。（外部分散モードおよび内部分散モードを含む）分散ＡＡモードの例および関連する画素選択論理回路については後述する。
【００２０】
[0028]いくつかの実施形態では、ＧＰＵ１２２のいくつかまたは全てを、複数のＧＰＵ１２２のうち異なるものが異なるディスプレイ装置用の画像をレンダリングする「独立レンダリング」モードでも動作可能とすることができる。独立レンダリングモードで異なるＧＰＵ１２２によってレンダリングされた画像を互いに関連させてもさせなくてもよい。当然のことながら、ＧＰＵ１２２は、上記または他のモードのいずれでも動作するように設定可能である。
【００２１】
[0029]ＣＰＵ１０２は、システム１００のマスタープロセッサとして動作し、他のシステムコンポーネントの動作を制御および調整する。特に、ＣＰＵ１０２は、ＧＰＵ１２２の動作を制御するコマンドを発する。いくつかの実施形態では、ＣＰＵ１０２はＧＰＵ１２２用のコマンドストリームをコマンドバッファに書き込むが、これはシステムメモリ１０４、グラフィックスメモリ１２４、またはＣＰＵ１０２およびＧＰＵ１２２の両方にアクセス可能な別の記憶場所とすることができる。ＧＰＵ１２２は、コマンドバッファからコマンドストリームを読み出し、ＣＰＵ１０２の動作と非同期でコマンドを実行する。コマンドは、画像を生成するための従来のレンダリングコマンドと、ＣＰＵ１０２上で実行するアプリケーションがＧＰＵ１２２の画像生成に関連しないようなデータ処理のための処理能力を活用できるようにする汎用コンピュータコマンドとを含むことができる。
【００２２】
[0030]本明細書に示すシステムは例示的であって、変更および修正が可能であることが理解されよう。ブリッジの数および配列を含む相互接続トポロジーは、所望のとおりに修正可能である。例えば、いくつかの実施形態では、システムメモリ１０４がブリッジを介するのではなく直接ＣＰＵ１０２に接続され、他のデバイスがメモリブリッジ１０５およびＣＰＵ１０２を介してシステムメモリ１０４と通信する。他の代替的なトポロジーでは、グラフィックスサブシステム１１２が、メモリブリッジ１０５ではなくＩ／Ｏブリッジ１０７に接続される。また他の実施形態では、Ｉ／Ｏブリッジ１０７およびメモリブリッジ１０５を１つのチップ内に集積することもできる。本明細書で示す特定のコンポーネントは任意であって、例えば、任意の数のアドインカードまたは周辺デバイスをサポートすることもできる。いくつかの実施形態では、スイッチ１１６をなくし、ネットワークアダプタ１１８およびアドインカード１２０、１２１が直接Ｉ／Ｏブリッジ１０７に接続する。
【００２３】
[0031]システム１００の他の部分へのＧＰＵ１２２の接続も変更することができる。いくつかの実施形態では、グラフィックスシステム１１２が、システム１００の拡張スロットに挿入可能な一又は複数の拡張またはアドインカードとして実施される。他の実施形態では、ＧＰＵがメモリブリッジ１０５またはＩ／Ｏブリッジ１０７等のバスブリッジとともに１つのチップ上に集積される。
【００２４】
[0032]各ＧＰＵには、任意の量のローカルグラフィックスメモリを設けることができ（ローカルメモリ無しの状況を含む）、ローカルメモリとシステムメモリを任意の組み合わせで用いることができる。例えば、統合メモリアーキテクチャ（ＵＭＡ）実施形態では、専用グラフィックスメモリデバイスは設けないが、ＧＰＵのいくつかまたは全てがシステムメモリを専用またはほとんど専用で用いる。ＵＭＡ実施形態では、ＧＰＵをバスブリッジチップに集積するか、またはＧＰＵをブリッジチップおよびシステムメモリに接続する高速バス（例えばＰＣＩ−Ｅ）を持った個別チップとして設けることができる。
【００２５】
[0033]加えて、本発明の態様を具現化するＧＰＵは、汎用コンピュータシステム、ビデオゲームコンソールおよび他の特殊用途コンピュータシステム、ＤＶＤプレーヤー、携帯電話または携帯情報端末等のハンドヘルドデバイス等の各種デバイスに組み込むことができる。[複数のディスプレイヘッドを備えたＧＰＵ]
【００２６】
[0034]図２は、本発明の実施に使用可能なＧＰＵ１２２内の画素出力パスのブロック図である。マルチＧＰＵグラフィックスシステムが本発明の実施形態には必要ない場合もあるが、ＧＰＵ１２２は、このようなシステムで使用可能なように好適に構成されている。
【００２７】
[0035]特に、図２に示すように、ＧＰＵ１２２は、メモリインターフェース２０４に結合されたディスプレイ（またはスキャンアウト）パイプライン２０２を含んでいる。ディスプレイパイプライン２０２は、ディスプレイヘッド２０６ａ（「ヘッドＡ」）およびディスプレイヘッド２０６ｂ（「ヘッドＢ」）にも結合されている。ＧＰＵ１２２は、デジタル出力ポート２１０、２１１およびアナログ出力ポート２１２、２１３を含む複数の出力ポート２１０〜２１３を有する。ＧＰＵ１２２は、別のＧＰＵまたは別の外部デジタルデバイスとの通信を含む様々な目的用に設定可能な２つの多目的入力／出力（ＭＩＯ）ポート２１４ａ（「ＭＩＯＡ」）および２１４ｂ（「ＭＩＯＢ」）も有している。ディスプレイヘッド２０６ａおよび２０６ｂは、クロスバー２２０を介してそれぞれ出力ポート２１０〜２１３およびＭＩＯポート２１４ａ、２１４ｂに接続されている。
【００２８】
[0036]メモリインターフェース２０４は、ＧＰＵ１２２により生成される画素データを記憶するメモリ（図２には図示せず）、例えば図１のグラフィックスメモリ１２４に結合されている。ディスプレイパイプライン２０２は、メモリインターフェース２０４と通信して記憶された画素データにアクセスする。ディスプレイパイプライン２０２は、画素データをディスプレイヘッド２０６ａ、２０６ｂのいずれかまたは両方に送る。いくつかの実施形態では、ディスプレイパイプライン２０２がディスプレイヘッド２０６ａ、２０６ｂに送る前に画素データに各種の処理動作を施すが、ディスプレイヘッド２０６ａに送られる画素データは、ディスプレイヘッド２０６ｂ宛の画素データとは異なって処理されてもされなくてもよい。加えて、処理およびディスプレイヘッド２０６ａへの送達用のディスプレイパイプライン２０２に提供される画素データは、処理およびディスプレイヘッド２０６ｂへの送達用のディスプレイパイプライン２０２に提供される画素データと同じでも異なってもよい。本発明には、ディスプレイパイプライン２０２およびメモリインターフェース２０４の特定の構成が必須ということはなく、詳細な説明は省略する。
【００２９】
[0037]デジタル出力ポート２１０、２１１は、概して従来の設計のものとしてよく、画素データを修正してデジタル出力標準に準拠する回路を含むことができる。例えば、一実施形態では、ポート２１０、２１１のそれぞれが標準ＤＶＩ（Ｄｉｇｉｔａｌ  Ｖｉｄｅｏ  Ｉｎｔｅｒｆａｃｅ）コネクタ用のＴＭＤＳ（Ｔｒａｎｓｉｔｉｏｎ  Ｍｉｎｉｍｉｚｅｄ  Ｄｉｆｆｅｒｅｎｔｉａｌ  Ｓｉｇｎａｌｉｎｇ）を実施する。同様に、アナログ出力ポート２１２、２１３は、概して従来の設計のものとしてよく、例えば、多数の例が当分野で既知のあらゆるアナログビデオ標準に準拠するデジタル／アナログコンバータを含むことができる。本発明には、特定のデジタルまたはアナログ出力ポートの有無、その数または性質が必須ということはないことが理解されよう。
【００３０】
[0038]ＭＩＯＡポート２１４ａおよびＭＩＯＢポート２１４ｂは、ディスプレイヘッド２０６ａ、２０６ｂのいずれかにより生成された画素データをＧＰＵ１２２の出力ライン上へと送り出す出力ポートとして設定可能である。ＭＩＯＡポート２１４ａおよびＭＩＯＢポート２１４ｂは、ディスプレイヘッドＡ２０６ａまたはディスプレイヘッドＢ２０６ｂに外部画素データを送る入力ポートとしても設定可能である。いくつかの実施形態では、ＭＩＯＡポート２１４ａおよびＭＩＯＢポート２１４ｂをそれぞれ個別に入力ポートまたは出力ポートのいずれかとして設定可能である。ＭＩＯＡポート２１４ａおよびＭＩＯＢポート２１４ｂの設定は、システム起動中に決定するか、またはシステム動作中の様々な時点で動的に修正が可能である。例えば、各ＭＩＯポートは、ポート設定を特定する値を記憶する制御レジスターを含むことができ、新たな値を所望のとおりシステム起動時または他の時点でレジスターに書き込むことができる。
【００３１】
[0039]ヘッドＡ２０６ａおよびヘッドＢ２０６ｂは、クロスバー２２０を介してそれぞれＭＩＯポート２１４ａ、２１４ｂだけでなく出力ポート２１０〜２１３に結合される。この実施形態では、クロスバー２２０が、ヘッドＡ２０６ａからポート２１０〜２１３、２１４ａまたは２１４ｂのいずれか１つへの任意の接続をサポートするように、また同時にヘッドＢ２０６ｂから現状ではクロスバー２２０によりヘッドＡ２０６ａに接続されていないポート２１０〜２１３、２１４ａまたは２１４ｂのいずれか１つへの任意の接続をサポートするように設定可能である。例えば、ＧＰＵ１２２が、ヘッド２０６ａ、２０６ｂから２つの異なるモニタに（例えば、デジタル出力ポート２１０、２１１および／またはアナログ出力ポート２１２、２１３のいずれか２つを介して）同時に画素データを送り出すことが可能である。あるいは、ＧＰＵ１２２が、ポート２１０〜２１３の１つを介してモニタに、またＭＩＯＡポート２１４ａまたはＭＩＯＢポート２１４ｂを介して別のＧＰＵに同時に画素データを送り出すことが可能である。例によっては、ディスプレイヘッド２０６ａ、２０６ｂの一方または両方をアイドル状態、すなわちどの出力ポートにも画素を送っていない状態にすることもできる。
【００３２】
[0040]ＭＩＯポート２１４ａ、２１４ｂは、画素データをＧＰＵ１２２の別の１つから受信し、受信した画素データをディスプレイヘッド２０６ａ、２０６ｂ内へと通信するようにも設定可能である。各ＧＰＵ１２２は、各ディスプレイヘッド２０６ａ、２０６ｂ内にＭＩＯポート２１４ａ、２１４ｂの一方から受信した「外部」画素、それ自体のディスプレイパイプライン２０２から受信した「内部」画素、または内部画素および外部画素の組み合わせを選択するための画素選択論理回路（後述する）も有している。
【００３３】
[0041]いくつかの実施形態では、クロスバー２２０がシステム起動で設定され、また他の実施形態では、システム動作中に接続を変更可能なようにクロスバー２２０が動的に設定可能である。クロスバー２２０は、ＭＩＯポート２１４ａ、２１４ｂの一方で受信された入力された画素データをディスプレイヘッド２０６ａ、２０６ｂのいずれかに結合するように設定可能とすることもできる。
【００３４】
[0042]図３Ａは、本発明の実施形態によるＧＰＵ１２２のディスプレイヘッド２０６ａ内の画素選択論理回路３００のブロック図である。当然のことながら、ディスプレイヘッド２０６ｂは類似の設計の画素選択論理回路を有することができる。いくつかの実施形態では、ＧＰＵ１２２の各ディスプレイヘッド２０６ａ、２０６ｂがそれ自体の画素選択論理回路３００を有している。
【００３５】
[0043]画素選択論理回路３００は、第１のパス３０２上で図２のディスプレイパイプライン２０２から内部画素を受信する。図２のＭＩＯＡポート２１４ａ（または、いくつかの実施形態ではＭＩＯＢポート２１４ｂ）が入力ポートとして設定される場合には、画素選択論理回路３００は第２のパス３０４上で外部画素も受信する。
【００３６】
[0044]外部画素および内部画素は、それぞれ画素合成回路３０６へと伝播され、これが外部画素および内部画素を混合して混合画素を生成する。画素合成回路３０６は、例えば従来の演算論理回路を用いて実施することができる。一実施形態では、画素合成回路３０６が、内部画素を多くの候補除数（例えば１、２、４等）の１つにより除する第１の除算回路３０８と、（除算後の）内部画素を外部画素に加算して合計画素を生成する加算回路３１０と、制御信号（ＰＳＥＬ１）に応答して内部画素および合計画素間で選択をする選択回路３１２と、選択された画素を多くの候補除数（例えば１、２等）の１つにより除する第２の除算回路３１４とを含んでおり、パス３１６上に混合画素としての結果を与える。
【００３７】
[0045]パス３０４上の外部画素およびパス３１６上の混合画素は、選択回路３１８（マルチプレクサ等）に渡される。制御信号（ＰＳＥＬ２）に応答して、選択回路３１８が図２のクロスバー２２０に接続する出力パス３２０に送るために内部画素、混合画素、または外部画素のいずれかを選択する。
【００３８】
[0046]ＰＳＥＬ１およびＰＳＥＬ２信号は、ディスプレイヘッド２０６ａ中の制御論理回路（明示せず）により好適に生成される。いくつかの実施形態では、概して従来の設計のものとしてよいこの制御論理回路が、図１のＧＰＵ１０２上で実行するグラフィックスドライバプログラムにより生成される制御情報に応答する。例えば、除算回路３０８、３１４用の候補除数間で選択して特定用途向けの適当な加重平均を生成することによって、類似の制御情報を画素合成器３０８の動作を制御するためにも用いることができる。本発明の教示を利用可能な当業者であれば、ＰＳＥＬおよび画素合成器制御信号を生成するのに適した制御論理回路を実施可能なので、制御論理回路の詳細な説明は省略する。
【００３９】
[0047]図３Ｂは、本発明の代替的な実施形態による画素選択論理回路３５０のブロック図である。画素選択論理回路３５０は、図３Ａの画素選択論理回路３００と概ね同様であるが、ガンマ補正画素を混合する能力を持って好適に設計されている。画素選択論理回路３５０は、第１のパス３５２上で図２のディスプレイパイプライン２０２から内部画素を受信する。内部画素は画素合成器３５８へと伝播される。ＭＩＯＡポート２１４ａが入力ポートとして設定される場合には、画素選択論理回路３５０は第２のパス３５４上で外部画素も受信する。この外部画素も画素合成器３５８へと伝播される。
【００４０】
[0048]画素合成器３５８は、内部画素および外部画素を混合し、結果として単一のパス３６０上に混合画素を供給する。画素合成器３５８は、図３Ａの除算回路３０６に類似の除算回路および／または図３Ａの加算回路３０８に類似の加算器を含むことができる。加えて（または代わりに）、画素合成器３５８は、パス３５２および３５４上で受信したガンマ補正画素を混合する演算論理回路を含むこともできる。当分野で既知のように、ガンマ補正は、例えば画素値Ｐを定数γについてＰγに変換することによりディスプレイ装置で線形強度応答を生成する非線形スケールに合わせて画素値を調整する。（典型的なディスプレイ装置については、定数γがおよそ２．０〜２．５である。）このような一実施形態では、γ≒２．２についてγ補正出力画素Ｐｏγが、以下の式を用いて算出可能である。
Ｐｏγ＝（４Ｐｉγ+４Ｐｅγ+｜Ｐｉγ-Ｐｅγ｜）／４            （式１）
【００４１】
[0049]ここで、Ｐｉγおよび４Ｐｅγは、パス３５２および３５４上に供給されるガンマ補正画素を表す。当業者であれば、厳密な結果に必要な計算ではなく簡単なハードウェアを用いて式１が許容可能な近似を与えることが分かるだろう。（例えば、４による乗算および除算はビットシフトとして実施可能である）また、他の近似で代用可能なことも理解されよう。
【００４２】
[0050]図３Ｂを再び参照すると、選択マルチプレクサ３６２が、パス３５２上で内部画素を、パス３５４上で外部画素を、及び、パス３６０上で混合画素を受信する。画素選択信号（ＰＳＥＬ）に応答して、選択マルチプレクサ３６２は、図２のクロスバー２２０に接続する出力パス３６４へ送るためにこれらの候補画素の１つを選択する。出力パス３６４は、第２の除算回路３６６を含むことができるが、これは図３Ａの除算回路３１４と同様であってもよい。代替的な実施形態では、図３Ａに示すものと同様の２つの選択マルチプレクサを出力画素の選択に用いるが、除算回路３６６を第２の選択マルチプレクサ前方に配置してもよい。他の選択回路構成も用いることができる。
【００４３】
[0051]いくつかの実施形態では、画素合成器３５０は、画素がガンマ補正されない場合には簡単な加算を用いて、ガンマ補正画素および非ガンマ補正（線形）画素のいずれかに動作するように設定可能である。この設定は、起動動作中（システム起動時）にグラフィックスドライバにより有利に行われる。ガンマ補正フィルタが必要ないのは当然であるが、いくつかの実施形態では最終の画素選択後に任意のガンマ補正を適用することができる。[複数のＧＰＵを用いた分散アンチエイリアシング]
【００４４】
[0052]画素選択論理回路３００または画素選択論理回路３５０を備えた図２のＧＰＵ１２２は、２つ以上のＧＰＵ１２２を備えたシステムでの分散アンチエイリアシング動作について好適に使用可能である。図４Ａは、マスター／スレーブ読み出し構成の２つのＧＰＵ１２２（０）および１２２（１）を有するグラフィックスサブシステム４００の簡略ブロック図である。（明確にするために、アクティブポートとディスプレイヘッドのみを示す。この例では、ＧＰＵ１つにつきディスプレイヘッドが１つだけ用いられる。）スレーブＧＰＵ１２２（１）は、そのＭＩＯＡポート２１４ａ（１）が出力ポートとして設定され、マスターＧＰＵ１２２（０）は、そのＭＩＯＡポート２１４ａ（０）が入力ポートとして設定されている。ＭＩＯＡポート２１４ａ（１）は、ＭＩＯＡポート２１４ａ（０）に結合され、出力画素Ｐｏ１をスレーブＧＰＵ１２２（１）からマスターＧＰＵ１２２（０）へと流す。
【００４５】
[0053]スレーブＧＰＵ１２２（１）のヘッドＡ２０６ａ（１）は、スレーブＧＰＵ１２２（１）のディスプレイパイプライン２０２（１）により与えられた画素Ｐｉ１を出力画素としてＭＩＯＡポート２１４ａ（１）に転送する。スレーブＧＰＵ１２２（１）からの出力画素Ｐｏ１は、マスターＧＰＵ１２２（０）のＭＩＯＡポート２１４ａ（０）により受信され、これが画素をディスプレイヘッドＡ２０６ａ（０）に転送する。ヘッドＡ２０６ａ（０）では、画素選択論理回路３００（０）（図３の画素選択論理回路３００の一例）が、マスターＧＰＵ１２２（０）のディスプレイパイプライン２０２（０）からの内部画素Ｐｉ０、スレーブＧＰＵ１２２（１）のディスプレイパイプライン２０２（１）由来の外部画素Ｐｏ１、または、加算回路３０８により供給される合計（例えば、Ｐｉ０＋Ｐｏ１）を選択するように動作する。
【００４６】
[0054]マスターＧＰＵ１２２（０）のヘッドＡ２０６ａ（０）は、選択された画素（Ｐｆｉｎａｌ）を出力ポート、この場合はデジタル出力ポート２１０（０）に送る。ＧＰＵ１２２（０）のヘッドＡ２０６ａ（０）がＭＩＯＡポート２１４ｂ（０）（図２Ｃに明示せず）に画素データを送るように設定することもでき、これを第３のＧＰＵ１２２のＭＩＯポートに接続し、それで第３のＧＰＵ１２２がＧＰＵ１２２（０）をマスターとすることが理解されよう。このように、任意の数のＧＰＵ１２２をデイジーチェーン式に接続することができる。
【００４７】
[0055]本発明の実施形態によれば、ＧＰＵ１２２（０）および１２２（１）は、外部分散アンチエイリアシング（ＡＡ）モードで用いることが可能である。このモードでは、各ＧＰＵ１２２が、ＧＰＵ１２２（０）によって用いられるサンプリング位置がＧＰＵ１２２（１）によって用いられるサンプリング位置と異なるように、表示パラメータまたはサンプリングパラメータにいくらかの変化量をもって、同じ画像をレンダリングする。例えば、若干異なる表示域または表示面の法線を２つのＧＰＵ１２２について画成し、２つの画像の画素境界に小さいオフセットを作り出すこともできる。あるいは、画素内のサンプリング位置が（例えばグラフィックスドライバにより）設定可能な場合には、各ＧＰＵ１２２を同じ表示パラメータの組と各画素内の異なるサンプリング位置を用いるように設定することもできる。
【００４８】
[0056]分散ＡＡモードでは、ＧＰＵ１２２（０）のディスプレイヘッド２０６ａで画素選択論理回路３００（０）により受信された外部画素Ｐｏ１および内部画素Ｐｉ０が、最終画像の同じ画素についての異なるサンプリング位置に対応する。内部画素および外部画素を平均することによって、表示解像度の２倍のアンチエイリアシングが得られる。より具体的には、選択マルチプレクサ３１０が加算回路３０８により提供される画素合計Ｐｏ１＋Ｐｉ０を選択するように設定されており、除算回路３１６が選択された画素合計を２で除するように設定されているため、最終画素がＰｆｉｎａｌ＝（Ｐｏ１＋Ｐｉ０）／２となる。このようにして、画素選択論理回路３００は２×ＡＡフィルタを実施可能である。
【００４９】
[0057]ＧＰＵ１２２（０）および１２２（１）が、内部画素または外部画素の一方が他方を除外するように選択されるモードを含む他の分散レンダリングモードでも動作可能であることに留意されたい。特定の選択は、分散レンダリングモードの詳細、例えば、異なるＧＰＵ１２２が同じフレーム異なる部分と異なる連続的なフレームのいずれをレンダリングするかに依存することになるが、本発明とは関係ない。また、３つ以上のＧＰＵ１２２があれば、より高度なアンチエイリアシングを達成可能である。例えば、任意の数のＧＰＵ１２２をそれぞれのＭＩＯＡおよびＭＩＯＢポートを用いてデイジーチェーン式に接続可能であり、デイジーチェーン内の各ＧＰＵが、適切な重み係数を用いてそれ自体の内部画像を上流のＧＰＵから受信する外部画像と混合可能である。
【００５０】
[0058]本明細書に記載のディスプレイヘッド、画素選択論理回路、および分散ＡＡ動作は例示的なものであり、変更および修正が可能であることが理解されよう。例えば、本明細書の除算回路は、少数の離散除数による除算をサポートするものである。他の実施形態では、広範囲のアンチエイリアシングフィルタがサポートされるように、除算回路が（任意に選択された除数を含む）より多くの離散除数をサポートすることもある。また、除算回路は、本明細書に記載のものとは異なる位置に配置することができ、除算回路の数を修正することもできる。例えば、除算回路を内部画素パスに加えて、またはその代わりに外部画素パス上に配置することもできる。
【００５１】
[0059]選択回路３１８の特定の構成を修正することもできる。当業者であれば、内部画素および外部画素の両方から得られた内部画素、外部画素および混合画素間で制御可能に選択できるあらゆる回路素子または回路素子の組み合わせを選択回路として使用可能であることが分かるであろう。
【００５２】
[0060]本明細書で用いるように、「画素」は、概して画像内のある位置でサンプリングされたカラー値のあらゆる表現またはこのような値（例えば図３の加算回路３０８により生成されたような）の組み合わせを指す。ＧＰＵでパイプラインをレンダリングすることにより、名目上の解像度（ここで解像度は画像内の画素数を指す）で画素が生成されるが、これがディスプレイ装置の解像度と一致することもしないこともある。いくつかの実施形態では、ディスプレイパイプラインが、名目上の解像度をディスプレイ解像度に変換するために必要とされるあらゆるアップフィルタリングまたはダウンフィルタリングを行う。
【００５３】
[0061]本明細書中のＭＩＯポートおよびディスプレイヘッドを本明細書中の「Ａ」および「Ｂ」とするラベリングは、単に説明の利便性のためである。当然のことながら、任意のＭＩＯポートを任意の他のＭＩＯポートに接続可能であり、そのポートが出力ポートとして設定される場合にいずれかのディスプレイヘッドがいずれかのＭＩＯポートを駆動可能である。加えて、いくつかのＧＰＵが２つ超または２つ未満のＭＩＯポートおよび／または２つ超または２つ未満のディスプレイヘッドを含むことができる。
【００５４】
[0062]一般に、１つのＧＰＵに別のＧＰＵとの画素データ通信を可能にする任意の１つのポートまたは複数のポートをＩ／Ｏポートとして用いて本発明を実施することができる。いくつかの実施形態では、上述のように、ＭＩＯポートが別のＧＰＵと通信する以外の目的のためにも設定可能である。例えば、ＭＩＯポートは、ＴＶエンコーダ等の各種外部デバイスと通信するように設定可能である。いくつかの実施形態では、ＤＶＯ（インテル社製Ｄｉｇｉｔａｌ  Ｖｉｄｅｏ  Ｏｕｔｐｕｔ  Ｉｎｔｅｒｆａｃｅ）または他のビデオ出力標準をサポート可能である。いくつかの実施形態では、グラフィックスアダプタをアセンブルする際に各ＭＩＯポートの設定を決定する。システム起動時に、アダプタがシステムにそのＭＩＯポートの設定について通知する。他の実施形態では、ＭＩＯポートを専用入力または出力ポートを置き換えることもできる。
【００５５】
[0063]Ｉ／Ｏポート、ディスプレイヘッド、および他のグラフィックスサブシステムのアスペクトの設定は、全てのグラフィックスプロセッサと通信するように構成されたシステム設定ユニットにより達成することができる。いくつかの実施形態では、システム設定ユニットが、マルチプロセッサグラフィックスサブシステムを含むシステムのＣＰＵ上で実行するグラフィックスドライバプログラムで実施される。ハードウェアおよび／またはソフトウェアコンポーネントのあらゆる組み合わせを含む他の任意の適当なエージェントを、システム設定ユニットとして用いることができる。[内部分散アンチエイリアシング]
【００５６】
[0064]本発明の実施形態によれば、１つのＧＰＵ１２２の２つのディスプレイヘッド２０６ａ、２０６ｂをマスター／スレーブ形式で互いに結合することができる。この形式では、ＧＰＵ１２２が、マスターとして動作するディスプレイヘッド（例えばディスプレイヘッドＡ２０６ａ）の画素選択論理回路３００を用いて「内部分散」ＡＡフィルタリングを実行可能である。
【００５７】
[0065]図４Ｂは、本発明の実施形態によるマスター／スレーブ形式でディスプレイヘッド２０６ｂに接続されたディスプレイヘッド２０６ａを示すＧＰＵ１２２のブロック図である。当然のことながら、図４ＢのＧＰＵ１２２は図２のＧＰＵ１２２と同一である。図４ＢではアクティブなＩ／Ｏポートのみを示しており、クロスバー２２０は示していない。図４Ｂのディスプレイパイプライン２０２は、２つの平行なセクションを有して示されている。画素をディスプレイヘッド２０６ａへと送るディスプレイパイプラインＡ４０２ａと、画素をディスプレイヘッド２０６ｂへと送るディスプレイパイプラインＢ４０２ｂである。ディスプレイパイプラインＡ４０２ａおよびＢ４０２ｂは、それぞれ従来の設計とすることができ、それぞれ各種の画素処理動作を行うようにすることができる。ディスプレイパイプライン４０２ａおよび４０２ｂは、所望のとおりに同じ動作を行うことも異なる動作を行うこともできる。
【００５８】
[0066]ＭＩＯＢポート２１４ｂは、画素転送パス４００を介して同じＧＰＵ１２２のＭＩＯＡポート２１４ａに結合されている。画素転送パス４００は、ディスプレイヘッドＢ２０６ｂにより生成された画素をＭＩＯＢポート２１４ｂからＭＩＯＡポート２１４ａへ転送する。ＭＩＯＡポート２１４ａは、受信した画素をＧＰＵ１２２のディスプレイヘッドＡ２０６ａに送る。画素転送パス４００は、任意の適当な信号転送技術を用いて実施することができる。以下で例を説明する。
【００５９】
[0067]ディスプレイヘッドＡ２０６ａの観点からは、ディスプレイヘッドＢ２０６ｂから受信した画素は、異なるＧＰＵから受信した画素と区別ができない。よって、例えば、ヘッドＡ２０６ａ由来の「内部」画素（ＰＡ）、ヘッドＢ２０６ｂ由来の「外部」画素（ＰＢ）、または、画素合成回路３０８により画素ＰＡおよびＰＢから作り出した混合画素のいずれか１つを出力画素として選択するようにディスプレイヘッドＡ２０６ａの画素選択論理回路３００が動作可能である。（画素ＰＢが画素ＰＡとは異なりディスプレイパイプラインＡ４０２ａによりディスプレイヘッドＡ２０６ａに提供されないという意味で、画素ＰＢはディスプレイヘッドＡ２０６ａに対して「外部」である。）
【００６０】
[0068]この構成では、ＧＰＵ１２２が、ディスプレイヘッドＡ２０６の画素選択論理回路３００により混合されるサンプル値を供給する２つのディスプレイパイプライン４０２ａ、４０２ｂによる「内部分散」ＡＡの実行に使用可能である。動作においては、ＧＰＵ１２２のレンダリングパイプライン（明示せず）が、２つの画像について用いられるサンプリング位置が互いに異なるように、表示パラメータまたはサンプリングパラメータにいくらかの変化量をもって、同じシーンの２つの画像をレンダリングする。例えば、若干異なる表示域または表示面の法線を２つのＧＰＵ１２２について画成し、２つの画像の画素境界に小さいオフセットを作り出すこともできる。あるいは、画素内のサンプリング位置が（例えばグラフィックスドライバにより）設定可能な場合には、各ＧＰＵ１２２を同じ表示パラメータの組と各画素内の異なるサンプリング位置を用いて各画像を生成することもできる。
【００６１】
[0069]レンダリングした画像の一方がフレームバッファ「Ａ」４０４に記憶され、他方がフレームバッファ「Ｂ」４０６に記憶される。フレームバッファＡ４０４およびＢ４０６は、ＧＰＵ１２２のオンチップメモリを含む任意の１つのメモリデバイスまたは複数のメモリデバイス、図１のグラフィックスメモリ１２４および／またはシステムメモリ１０４で実施可能である。この２つのフレームバッファは所望のとおりに同じメモリデバイス中にも異なるデバイス中にも配置することができる。
【００６２】
[0070]ディスプレイパイプラインＢ４０２ｂは、フレームバッファＢ４０６から画素を読み出し、各種の処理動作（概して従来の性質のものでよい）を画素に施し、得られた画素ＰＢをディスプレイヘッドＢ２０６ｂに転送する。ディスプレイヘッドＢ２０６ｂは、画素ＰＢを選択するように動作する画素選択論理回路３００を有しており、それらの画素がクロスバー２２０（図４に明示せず）を介してＭＩＯＢポート２１４ｂへと転送される。画素ＰＢは、画素パス４００を介して同じＧＰＵ１２２のＭＩＯＡポート２１４ａへと転送され、これが画素ＰＢをディスプレイヘッドＡ２０６ａに転送する。
【００６３】
[0071]この動作と平行して、ディスプレイパイプラインＡ４０２ａがフレームバッファＡから画素を読み出し、画素に（概して従来の性質のものでよい）各種の処理動作を施し、得られた画素ＰＡをディスプレイヘッドＡ２０６ａに転送する。ディスプレイパイプラインＢ４０２ｂ、ディスプレイヘッドＢ２０６ｂ、および画素パス４００は、同じスクリーン画素に対応する画素値ＰＡおよびＰＢが同時に（例えば、同じクロックサイクルで）ディスプレイヘッドＡ２０６ａの画素選択論理回路３００に送られるように、適切なタイミングで好適に設定される。
【００６４】
[0072]画素合成回路３０８内では、加算回路３１０が画素ＰＡとＰＢを加算し、マルチプレクサ３１２が合計画素を選択し、除算回路３１４が合計を２で除し、こうしてパス３１６上の混合画素が画素ＰＡおよびＰＢの平均となる。マルチプレクサ３１８は、混合画素を出力画素Ｐｆｉｎａｌとして選択する。ディスプレイヘッドＡ２０６ａが出力画素Ｐｆｉｎａｌをディスプレイ装置への送信のために出力ポート（例えばデジタル出力ポート２１０）に送る。
【００６５】
[0073]ＧＰＵ１２２のレンダリングパイプラインが各フレームを２回レンダリングするため、本明細書に記載の内部分散ＡＡモードで動作する際のＧＰＵ１２２の最大フレームレートが非ＡＡモードで動作する際の最大フレームレートよりも概して低いことに留意されたい。いくつかの実施形態では、この内部分散ＡＡモードのフレームレートはおよそ非ＡＡモードのフレームレートの約１／２である。リアルタイムアニメーションについては、内部分散ＡＡモードのフレームレートが約毎秒３０フレーム（以上）であれば、フレームレートの低下はアニメーションの平滑性にほとんどあるいは全く悪影響を与えない。また、非ＡＡモードで生成される画質は、内部分散ＡＡモードで生成される画質よりも概して低くなる。このように、内部分散ＡＡは高画質化と引き換えにフレームレートが低下する。
【００６６】
[0074]本明細書に記載の内部分散ＡＡモードを用いて得られるフレームレートが、単一のＧＰＵにおいて従来のＡＡ技術（例えば、レンダリングパイプラインおよび／またはディスプレイパイプラインでのフィルタリング）を用いて得られるフレームレートに匹敵することについても留意されたい。単一のＧＰＵを用いた従来のＡＡには、単一の画像を生成するが、１画素あたり複数のサンプルを用いるＧＰＵのレンダリングパイプラインが必要となる。１画素あたりより多くのサンプルを処理することによって、画質の改善と引き換えに非ＡＡモードに対するフレームレートも低下する。２画像のレンダリングの方法によって、レンダリングパイプラインにおいて管理され、内部分散ＡＡモードを用いたＧＰＵのスループットは、従来のＡＡを用いるＧＰＵのスループットに匹敵することができる。
【００６７】
[0075]より高次のＡＡフィルタを実施することもできるが、このようなフィルタは単一パイプラインおよび内部分散アンチエイリアシング動作の組み合わせを採用することができる。一実施形態では、ディスプレイパイプラインＡ４０２ａおよびディスプレイパイプラインＢ４０２ｂがそれぞれ内部Ｎ×ＡＡフィルタを実施するフィルタオンスキャン（ＦＯＳ）モジュール（明示せず）を含んでいる。より具体的には、レンダリングされる画像の各バージョンについて、ＧＰＵ１２２のレンダリングパイプラインが、例えば従来のスーパーサンプリングおよび／またはマルチサンプリング技術を用いて、１画素あたりＮ個（例えば２、４または１より大きい任意の他の数）のサンプルを生成する。画像の一方のバージョン用のサンプルがフレームバッファＡ４０４に記憶され、画像の他方のバージョン用のサンプルがフレームバッファＢ４０６に記憶される。
【００６８】
[0076]ディスプレイパイプラインＡ４０２ａは、各画素についてのＮ個のサンプル全てをフレームバッファＡから受信する。ディスプレイパイプラインＡ４０２ａ内では、第１のフィルタオンスキャン（ＦＯＳ）モジュール（図４には明示せず）が、Ｎ×ＡＡフィルタを実施し、Ｎ個のサンプルを混合して１画素あたり１つのカラー値を生成する。ＦＯＳモジュールにより決定されたカラー値は、画素ＰＡとしてディスプレイヘッドＡ２０６ａに（場合によってはさらなる処理の後で）供給される。
【００６９】
[0077]同様に、ディスプレイパイプライン４０２ｂは、各画素についてのＮ個のサンプル全てをフレームバッファＢ４０６から受信する。ディスプレイパイプライン４０２ｂ内では、第２のＦＯＳモジュール（これも図４には明示せず）が、Ｎ×ＡＡフィルタを実施し、Ｎ個のサンプルを混合して１画素あたり１つのカラー値を決定する。第２のＦＯＳモジュールにより決定されたカラー値は、画素ＰＢとしてディスプレイヘッドＢ２０６ｂに（場合によってはさらなる処理の後で）供給される。
【００７０】
[0078]このように、ディスプレイパイプ４０２ａおよび４０２ｂによりそれぞれ生成された画素ＰＡおよびＰＢは、それぞれＮ×オーバーサンプリング画像からのフィルタ処理画素とすることが可能である。フレームバッファＡ４０４を埋めるために用いられるサンプリング点がフレームバッファＢ４０６を埋めるために用いられるものと一致しない限り、各ディスプレイパイプ４０２ａ、４０２ｂ内のＮ×ＡＡフィルタを上述の内部分散ＡＡフィルタ技術に組み合わせることによって、（２Ｎ）×ＡＡフィルタが得られる。例えば、各ディスプレイパイプ４０２ａ、４０２ｂ内のＦＯＳモジュールが４×ＡＡフィルタであれば、ＧＰＵ１２２は８×ＡＡを提供可能である。
【００７１】
[0079]本発明には、特定のＦＯＳモジュールまたはＡＡフィルタリングアルゴリズムが必須ということはなく、従来のモジュールおよびアルゴリズムを用いることができる。したがって、詳細な説明は省略する。いくつかの実施形態では、得られる最終画像が特定のディスプレイパイプラインによって処理される画像のバージョンに依存しないように、ディスプレイパイプラインＡ４０２ａおよび４０２ｂ内のＦＯＳモジュールが同一のフィルタアルゴリズムに適合する。また、画像生成プロセスの初期にＮ×ＡＡフィルタリングを行うことが可能である。例えば、代替的な一実施形態では、従来の技術を用いてＧＰＵ１２２のレンダリングパイプライン内でＮ×ＡＡフィルタリングを行うこともできる。
【００７２】
[0080]いくつかの実施形態では、異なるフレームバッファを埋めるサンプリング点が、一致するサンプリング点がないように選択される。例えば、図５Ａは画素５００に適用される「グリッド」サンプリングパターンを図示している。画素は、画素内の位置５０１〜５０４（丸で示す）で４回サンプリングされる。図５Ｂは画素５００に適用される「回転グリッド」サンプリングパターンを図示している。画素は、画素内の位置５０１〜５０４とは異なる位置５１１〜５１４（ひし形で示す）で４回サンプリングされる。
【００７３】
[0081]一実施形態では、フレームバッファＡ４０４内の画素データが図５Ａのグリッドサンプリングパターンを用いて生成され、フレームバッファＢ４０６内の画素データが図５Ｂの回転グリッドサンプリングパターンを用いて生成される。ディスプレイパイプＡ４０２ａのＦＯＳモジュールは、４つのサンプル値（５０１〜５０４）にフィルタをかけて１つの値ＰＡとし、ディスプレイパイプＢ４０２ｂのＦＯＳモジュールは、４つのサンプル値（５１１〜５１４）にフィルタをかけて１つの値ＰＢとする。ディスプレイヘッド２０６ａの画素選択論理回路３００が上述のように値ＰＡおよびＰＢを混合して、全部で８つのサンプルの平均に相当する最終画像を得る。この手順は、図５Ｃの８点パターンを用いて各画素をサンプリングする単一のレンダリングプロセスと同じアンチエイリアシングパワーをもたらす。
【００７４】
[0082]本明細書に記載の内部分散ＡＡ技術は例示的なものであって、変更および修正が可能であることが理解されよう。例えば、本明細書に記載のＧＰＵ１２２は、それぞれが最大限で１つの出力ポートを駆動可能な丁度２つのディスプレイヘッドを有しており、その結果、両方のディスプレイヘッドを内部分散アンチエイリアシングに用いれば、ＧＰＵ１２２がディスプレイ装置に最大限で１つの画素ストリームを送ることができる。しかしながら、本発明の実施形態は、少なくとも２つのディスプレイヘッドならびに適当な画素選択論理回路およびＩ／Ｏポートを有する任意のＧＰＵで実施することができる。ＧＰＵが３つ以上のディスプレイヘッドを有する場合には、ＧＰＵが内部分散ＡＡをサポート可能であり、２つ以上のディスプレイデバイスに個々の画素ストリームを供給することも可能である。加えて、ＧＰＵが３つ以上のディスプレイヘッドを有する場合には、ＧＰＵのＡＡパワーを一層高めるために、ＧＰＵのディスプレイヘッドの全てをマスター／スレーブデイジーチェーン式に互いに接続できるようになる。
【００７５】
[0083]また、本明細書に記載のＧＰＵ１２２は、いずれも内部分散ＡＡに用いられる２つのＭＩＯポートを有している。この実施形態では、ヘッドＡ２０６ａとヘッドＢ２０６ｂのどちらも任意の他のＧＰＵまたはディスプレイヘッドに対してマスターあるいはスレーブとして使用できなくなる。他の実施形態では、ＧＰＵが追加のＭＩＯポートを有することができ、このＭＩＯポートが１つのポートに画素の受信送信を同時に行わせ、内部分散ＡＡと組み合わせて他のＧＰＵとの相互接続を可能にする動作モードを有することができる。例えば、第３のＭＩＯポートがある場合、そのポートは、外部画素を別のＧＰＵからディスプレイヘッドＢ２０６ｂに送る入力ポートまたはディスプレイヘッドＡ２０６ａにより生成された画素を別のＧＰＵに送る出力ポートとして設定することもできる。このような実施形態において、他のＧＰＵはそれ自体の内部分散ＡＡフィルタリングを行うように設定されることもされないこともある。[画素転送パス]
【００７６】
[0084]本発明の実施形態による画素転送パス実施の例について説明する。明らかなように、画素転送パスはＧＰＵの外部にあっても内部にあってもよい。
【００７７】
[0085]図６は、本発明の実施形態によるプリント基板カードとして実施され、外部画素転送パスを用いて構成されたグラフィックスアダプタ６００を示す。グラフィックスアダプタ６００は、ＰＣＩ−Ｅまたは別の相互接続標準に適合するプリント回路基板（ＰＣＢ）６０２を用いて拡張カードとして実施される。ＧＰＵ１２２は、ＰＣＢ６０２上に実装され、ＰＣＢ６０２上で配線（図示せず）を介してシステムコネクタ６０４と電気的に結合される。システムコネクタ６０４は、ＰＣＩ−Ｅ拡張スロット（または任意の他種の拡張スロット）に挿入可能なように設計され、ＧＰＵ１２２と図１のシステム１００等のコンピュータシステムの他の部分の間の通信を可能にする。ＧＰＵ１２２は、ＰＣＢ６０２上で配線（図示せず）を介してディスプレイ出力コネクタ６０６とも電気的に結合されている。ディスプレイ出力コネクタ６０６は、ＧＰＵ１２２のデジタル出力ポート２１０、２１１またはアナログ出力ポート２１２、２１３（図２参照）の１つと好適に結合される。いくつかの実施形態では、当分野で既知のように、ＰＣＢ６０２が、それぞれが出力ポート２１０〜２１３の異なる１つに結合された複数のディスプレイ出力コネクタ６０６を提供することができる。
【００７８】
[0086]ＰＣＢ６０２は、同一設計が可能な２つのグラフィックスエッジコネクタ６１４ａ、６１４ｂも含んでいる。グラフィックスエッジコネクタ６１４ａは、配線６１６を介してＧＰＵ１２２のＭＩＯＡポート２１４ａに接続しており、グラフィックスエッジコネクタ６１４ｂは、配線６１８を介してＧＰＵ１２２のＭＩＯＢポート２１４ｂに接続している。各グラフィックスエッジコネクタ６１４ａ、６１４ｂは、取り外し可能な相互接続デバイスとの電気的かつ機械的接続用に構成されている。いくつかの実施形態では、グラフィックスエッジコネクタ６１４ａ、６１４ｂが同一の構成を有し、交換して用いることができる。
【００７９】
[0087]一実施形態のグラフィックスアダプタ６００は、２つ以上のＧＰＵが協働してレンダリングタスクの異なる部分を行う分散レンダリングシステムでの使用のために設計されている。このようなシステムは、例えば、各ＣＰＵが画像の異なる部分をレンダリングする分割フレームモード、各ＣＰＵが一連の画像中の異なる画像をレンダリングする代替フレームモード、または分散アンチエイリアシングモードで動作させることができる。これらモードのそれぞれにおいて、１つのＧＰＵ（マスター）がもう１つのＧＰＵ（スレーブ）から画素を受信し、マスターＧＰＵ内の画素選択論理回路３００が上述のようにディスプレイ用の画素を選択する。異なるグラフィックスアダプタ６００のＧＰＵは、適当な相互接続デバイスを用いてそれぞれのグラフィックスエッジコネクタ６１４ａ、６１４ｂを介して有利に接続される。
【００８０】
[0088]本発明の実施形態では、取り外し可能な相互接続デバイス６２０が、図６に示すように、同じグラフィックスアダプタ６００のグラフィックスエッジコネクタ６１４ａ、６１４ｂに接続可能なように構成かつ形成されている。相互接続デバイス６２０は、例えば、グラフィックスエッジコネクタ６１４ａ、６１４ｂを受容するレセプタクルを片側に有するリボンケーブルや長さに沿ってプリントされた配線付きＰＣＢとすることが可能であり、２つのグラフィックスエッジコネクタ６１４ａ、６１４ｂを互いに接続する。
【００８１】
[0089]この実施形態では、相互接続デバイス６２０が、グラフィックスアダプタ６００によりサポートされる分散レンダリングシステムのタイミング特性を利用して画素転送パス４００（図４）を構築する。より具体的には、分散レンダリング構成において、ＧＰＵ１２２のＭＩＯＢポート２１４ｂから異なるグラフィックスアダプタ６００上のＧＰＵのＭＩＯＡポート（またはＭＩＯＢポート）への画素転送パスが、転送パスの任意のセグメントに沿って含まれ得る任意の電子コンポーネント（ＦＩＦＯ、ラッチ等）だけでなく、配線６１８および／または６１６の長さおよび２つのアダプタ間の相互接続デバイス由来の特性転送時間を有する。分散レンダリング動作では、スレーブＧＰＵおよびマスターＧＰＵからの画素がマスターＧＰＵのディスプレイヘッドにほぼ同時に（例えば同じクロックサイクル中に）到達するように、スレーブＧＰＵのディスプレイヘッドからマスターＧＰＵのディスプレイヘッドへの画素の転送が有利に調整される。
【００８２】
[0090]相互接続デバイス６２０は、異なるＧＰＵを接続する分散レンダリング相互接続デバイスとの送信時間マッチングを与え、相互接続デバイス６２０により提供される画素転送パスは、信号を正しいタイミングでＭＩＯＡポート２１４ａに送る。このように、外部相互接続デバイスを用いた内部分散ＡＡの実施には、元々分散レンダリング用に設計されたＧＰＵ１２２またはアダプタカード６００に何ら内部修正を必要とするものではない。
【００８３】
[0091]本明細書に記載のグラフィックスアダプタおよび相互接続デバイスは、例示的なものであって、変更および修正が可能であることが理解されよう。アダプタおよび相互接続デバイスの形状、レイアウト、および材料組成は、本明細書で示し記載したものから修正することができ、ＭＩＯポート間のデータ転送用にあらゆる通信プロトコルを実施することができる。
【００８４】
[0092]代替的な一実施形態では、例えばパス６１８〜パス６１６を接続する配線を用いて、相互接続デバイス６２０をＰＣＢ６０２の一部として実施することもできる。この実施形態では、パス６１８からパス６１６へまたは逆方向のデータ転送を有効または無効とするように、制御デバイス（例えば取り外し可能なジャンパまたはドライバ制御スイッチ）が有利に用いられる。
【００８５】
[0093]いくつかの実施形態では、同じＧＰＵの２つのＭＩＯポート間の相互接続デバイス６２０または他の外部接続の存在が自動的に内部分散ＡＡを有効にするわけではないことにも留意されたい。上述のように、画素選択論理回路３００の動作が内部分散ＡＡを行うか否かを決定するが、画素選択論理回路３００の動作はグラフィックスドライバを介して制御される。
【００８６】
[0094]代替的な別の実施形態では、内部分散ＡＡに用いられる画素転送パスがＧＰＵ内に構築される。図７は、本発明のこのような一実施形態によるＧＰＵ７００のブロック図である。ＧＰＵ７００は、図４のＧＰＵ１２２とほぼ同様であり、同じ参照番号が対応するコンポーネントを識別するのに用いられている。ＧＰＵ１２２とは異なり、ＧＰＵ７００は、ディスプレイヘッドＢ２０６ｂの出力パス７０２をディスプレイヘッドＡ２０６ａの外部画素入力パス７０４に接続する内部画素転送パスを含んでいる。
【００８７】
[0095]この実施形態では、画素転送パスが、ディスプレイヘッドＢ２０６ｂからの画素およびクロスバー２２０を介してＭＩＯポート（例えばＭＩＯＡポート２１４ａ）の一方からのパス７０８上で受信した画素の間で選択する選択ユニット（例えばマルチプレクサ）７０６を含んでいる。選択された画素は、ディスプレイヘッドＡ２０６ａの外部画素入力パス７０４に提供される。
【００８８】
[0096]選択ユニット７０６は、制御信号（明示せず）に応答して動作する。制御信号は、ＧＰＵ７００が内部分散ＡＡモードで動作している場合には選択ユニット７０６がパス７０２上の画素を選択するように、ＧＰＵ７００のディスプレイヘッドＡ２０６ａが別のＧＰＵに対してマスターとして動作している場合にはパス７０８上の画素を選択するように設定する。この制御信号は、グラフィックスドライバから発せられたコマンドに応答して生成することができ、グラフィックソフトウェアにアクセスする必要なく適切なソフトウェアインターフェースを通じて、ユーザ（またはアプリケーション開発者）が内部分散ＡＡを有効または無効にすることを可能にする。
【００８９】
[0097]この実施形態では、分散レンダリングモードにおいて外部ＧＰＵから画素が到着するのと同じタイミングでディスプレイヘッドＢ２０６ｂからの画素が選択回路７０６に到達するように、ディスプレイヘッドＢ２０６ｂから選択回路７０６へのパス７０２がＦＩＦＯ、ラッチ、および他のタイミング制御デバイスを含むことができることに留意されたい。この場合、ディスプレイヘッドＢ２０６ｂおよびディスプレイヘッドＡ２０６ａの動作タイミングは、ＧＰＵが分散レンダリングモードまたは内部分散ＡＡモードに依存しない。
【００９０】
[0098]内部画素転送パスは、ＧＰＵに修正を要するものの、ＧＰＵのＩ／Ｏポートのいずれの使用も必要としない。故に、例えば、ＧＰＵ７００が内部分散ＡＡフィルタリングを実行し続ける間、ＧＰＵ７００のディスプレイヘッドＡ２０６ａは別のＧＰＵのディスプレイヘッドに対してスレーブ化可能であり、あるいはＧＰＵ７００のディスプレイヘッドＢ２０６ｂは別のＧＰＵのディスプレイヘッドに対してマスター化可能である。
【００９１】
[0099]本明細書に記載の内部画素転送パスは例示的なものであって、変更および修正が可能であることが理解されよう。例えば、（ディスプレイヘッドＡ２０６ａからディスプレイヘッドＢ２０６ｂへの）「逆方向」画素転送パスを示したパスに追加して設けることもできる。[他の実施形態]
【００９２】
[0100]上述のように、本発明の実施形態は、ＡＡフィルタ処理画像を生成するために、１つのＧＰＵだけでなく、複数のＧＰＵにわたって分散レンダリングに広く関連付けられた読み出し技術およびコンポーネントを用いることが可能なマルチＧＰＵシステム用の分散アンチエイリアシング技術を提供する。適当なグラフィックスドライバインターフェースを介して、任意のグラフィックスプログラムについてプログラムそれ自体に与えられたＡＡ（またはその欠如）に関係なく、適切に設定されたＧＰＵのエンドユーザが内部分散ＡＡを有効にすることを選択可能である。プログラムがＡＡを提供する場合、本明細書に記載の内部分散ＡＡは、ＡＡ解像度を上げる（例えば２倍にする）ために用いることが可能である。
【００９３】
[0101]本発明を特定の実施形態に関連して説明してきたが、当業者であれば多数の修正が可能であることが理解されよう。例えば、本発明はＡＡフィルタリングを参照して説明してきたが、本明細書に記載の単一ＧＰＵのディスプレイヘッド間または複数ＧＰＵのディスプレイヘッド間の結合を別の方法で用いることもできる。
【００９４】
[0102]代替的な一実施形態では、ステレオアナグリフを生成するために分散フィルタリングを用いることが可能である。当分野で既知のように、ステレオアナグリフはシーンの左目視野および右目視野を重ねて１つの画像を作り出す。通常、左目画素と右目画素には異なるカラーフィルタが適用されるが、例えば、右目画素を赤色パスフィルタでフィルタ処理し、左目画素を青／緑色パスフィルタを用いてフィルタ処理することができる。左目視野および右目視野間の視野域または視点オフセットにより、シーンの同じ点に対応する左目画素と右目画素はアナグリフの異なる位置にくる。故に、裸眼には、アナグリフが歪んだ色の二重画像に見える。画像を正確に観るには、観察者が、右目画素用に用いた色をフィルタで除外する左レンズと左目画素用に用いた色をフィルタで除外する左レンズの特殊なメガネを着用する。
【００９５】
[0103]図４Ａを参照すると、シーンの右目視野を生成するためにＧＰＵ１２２（０）のレンダリングパイプライン（図示せず）を用い、シーンの左目視野を生成するためにＧＰＵ１２２（１）のレンダリングパイプライン（図示せず）を用いることができる。右目および左目視野用のレンダリングパラメータを決定するのに既知の技術を用いることができる。
【００９６】
[0104]右目画素Ｐｉ１および左目画素Ｐｉ０は、ＧＰＵ１２２（０）およびＧＰＵ１２２（１）のそれぞれのレンダリングパイプラインまたはそれぞれのディスプレイパイプライン２０２（０）および２０２（１）のいずれかにおいて、有利にカラーフィルタ処理される。一実施形態では、異なる赤、緑および青色成分を用いて画素色が特定される。右目画素は、例えば赤色成分をゼロまで減らし、緑および青色成分を不変のままにすることによりフィルタ処理可能である。同様に、左目画素は、緑および青色成分をゼロまで減らし、赤色成分を不変のままにすることによりフィルタ処理可能である。
【００９７】
[0105]右目画素Ｐｉ１は、ＧＰＵ１２２（１）のディスプレイヘッドＡ２０６ａに送られる。ディスプレイヘッド２０６（ａ）は、画素Ｐｉ１をＭＩＯＡポート２１４ａ（１）に転送し、これが画素をＰｏ１としてＧＰＵ１２２（０）のＭＩＯＡポート２１４ａ（０）へと送る。ディスプレイヘッド２０６ａ（０）は、このようにして右目画素を外部画素として受信する。
【００９８】
[0106]左目画素Ｐｉ０は、内部画素としてディスプレイヘッド２０６ａ（０）に送られる。一般に、対応する左目画素および右目画素はシーンの異なる位置を再生するが、右目視野および左目視野を生成するのに用いられる視野域または視点オフセットによって、画素選択論理回路３００により処理される対応する左目画素および右目画素がアナグリフフレーム内の同じ位置にある画素となることに留意されたい。
【００９９】
[0107]一実施形態では、ディスプレイヘッド２０６ａ（０）が図３の画素選択論理回路３００を含んでいる。アナグリフを生成するために、除算回路３０６および３１４がともに１の除数を選択するように設定される。加算回路３０８は、左目画素Ｐｉ０と右目画素Ｐｉ１を加算し、初期のカラーフィルタリングの結果として、左目画素の赤色成分と右目画素の青色および緑色成分を有する合計画素をパス３１０上に生成する。選択マルチプレクサ３１２がパス３１０から合計画素を選択し、選択マルチプレクサ３１６がパス３１５上で混合画素を出力画素として選択する。
【０１００】
[0108]他の実施形態では、画素選択論理回路３００の前のカラーフィルタは用いない。例えば、選択が各色成分について独立に制御可能であるように選択マルチプレクサ３１２および／または３１６を設定可能である。このような一実施形態では、選択マルチプレクサ３１２がパス３０２から左目画素Ｐｉ０の全ての色成分を通過し、選択マルチプレクサ３１６が左目画素Ｐｉ０の赤色成分と右目画素Ｐｉ１の青色および緑色成分を通過する。結果はパス３１８上の左目画素の赤色成分と右目画素の青色および緑色成分を有する出力画素となる。
【０１０１】
[0109]当業者であれば、アナグリフレンダリングに３つ以上のＧＰＵを使用可能であることを理解することができる。４つのＧＰＵ（例えば図４Ｂ）の実施形態では、２つのＧＰＵを右目視野生成用に用い、２つのＧＰＵを左目視野生成用に用いることが可能である。各視野を生成する２つのＧＰＵは、アナグリフの画質を高めるために上述したような分散アンチエイリアシング技術を採用することが可能である。
【０１０２】
[0110]ステレオアナグリフは、内部分散フィルタリングを用いてもレンダリング可能である。図４Ｂを参照すると、ＧＰＵ１２２（０）のレンダリングパイプライン（図示せず）が両方の視野を生成可能であり、左目視野をフレームバッファＡに、右目視野をフレームバッファＢに（あるいはその反対に）記憶する。ディスプレイパイプラインＢ４０２ｂおよびディスプレイヘッドＢ２０６ｂが右目視野を画素ＰＢとしてディスプレイヘッドＡ２０６ａに送り、ディスプレイパイプラインＡ４０２ａが左目視野を画素ＰＡとしてディスプレイヘッドＡ２０６ａに送る。ディスプレイヘッドＡ２０６ａでは、画素合成器３０８（図３）がアナグリフを生成するように適切に画素を混合する。
【０１０３】
[0111]フェードイン、フェードアウト、またはディゾルブ等の遷移効果を発生させるためにも分散フィルタリングを用いることが可能である。例えば、内部分散の場合、フレームバッファＢはフェードアウトする画像を記憶することができ、フレームバッファＡはフェードインする画像を記憶する。各フレームでは、画素合成器３０８が画素の相対的な重みをフレームバッファＡおよびフレームバッファＢから調整し、それによってフレームＡからの画像が徐々に最高強度まで上がり、フレームバッファＢからの画像がゼロ強度まで弱まる。（フレームバッファＢの画像がベタ色領域であったら効果はフェードインとなり、フレームバッファＡの画像がベタ色領域であったら効果はフェードアウトとなる。）遷移の平滑性は、一部には、画素合成器３０８が形成可能な画素ＰＡおよび画素ＰＢの異なる加重平均の数に依存するが、これは設計上の選択の問題である。外部分散フィルタリングの複数のＧＰＵも同様の効果を達成するのに用いることが可能である。
【０１０４】
[0112]別の実施形態では、分散フィルタリングを各ディスプレイヘッドのルックアップテーブルと組み合わせて用いることにより、このような遷移効果を達成可能である。当分野で既知のように、ディスプレイヘッドは、内部画素表現をディスプレイ装置に適したカラー強度に変換するルックアップテーブルを含んでいることが多く、時には異なる値をルックアップテーブルにロードしたりリロードしたりすることが可能である。ルックアップテーブル内の値のカラー強度をあるフレームから次のフレームへと下げる（または上げる）ことによってフェードアウト（またはフェードイン）を達成可能である。故に、フレームバッファＢ内の画像からフレームバッファＡ内の画像へとディゾルブするには、従来のフェードアウトルックアップテーブルをディスプレイヘッドＢに適用することも可能であり、従来のフェードインルックアップテーブルをディスプレイヘッドＡに適用する。画素合成器３０８は、２つの画像を一定の（例えば等しい）重みで合成し、ディゾルブ効果を作り出す。
【０１０５】
[0113]他の実施形態では、同じＧＰＵのディスプレイヘッド間の画素転送が、混合とは関係ないディスプレイ特性を実施するために用いられる。例えば、ディスプレイヘッド間の画素転送は、ＬＣＤオーバードライブ（当分野では「ＬＣＤフィードフォワード」または「応答時間補正」（ＲＴＣ）ともいう）機能を制御するために用いることが可能である。当分野で既知のように、ＬＣＤ画面は、画素を駆動する信号が部分的には所望の新たな強度また部分的には所望の新たな強度と前の強度との差分に基づいて、フレーム毎に調整される場合に、より速く応答するようにすることが可能である。
【０１０６】
[0114]ＬＣＤオーバードライブ機能を実施するには、フレームバッファＢが前の画像の画素を記憶するのに対し、フレームバッファＡを新たな画像の画素を記憶するように用いることが可能である。ディスプレイヘッドＢは前の画素値をディスプレイヘッドＡに送り、ディスプレイヘッドＡの画素合成器３０８は、例えば従来のＬＣＤオーバードライブ信号を計算するための記述を用いて新たな値および前の値に基づいてオーバードライブ値を計算するように設定可能である。
【０１０７】
[0115]あるＧＰＵのディスプレイヘッド間の画素転送は、合成画像を生成するためにも用いることができる。例えば、フレームバッファＢは、フレームバッファＡに記憶された画像の一部に重ねられるオーバーレイ画像用の画素を含むことができる。ディスプレイヘッドＢがディスプレイヘッドＡにオーバーレイ画素を送り、ディスプレイヘッドＡの画素選択論理回路３００が、外部画素が選択されるオーバーレイ領域以外で内部画素を選択する。
【０１０８】
[0116]このように、本発明を特定の実施形態に関連して説明してきたが、本発明が特許請求項の範囲内の全ての変形物および均等物を対象とするように意図されていることが理解されよう。
【図面の簡単な説明】
【０１０９】
【図１】本発明の実施形態によるコンピュータシステムのブロック図である。
【図２】本発明の実施形態で使用可能なグラフィックス処理ユニット（ＧＰＵ）内の画素出力パスのブロック図である。
【図３Ａ】本発明の実施形態で使用可能なＧＰＵのディスプレイヘッド内の画素選択論理回路のブロック図である。
【図３Ｂ】本発明の実施形態で使用可能なＧＰＵのディスプレイヘッド内の画素選択論理回路のブロック図である。
【図４Ａ】本発明の実施形態による２つのＧＰＵを有するグラフィックスサブシステムのブロック図である。
【図４Ｂ】本発明の実施形態によるマスター／スレーブ形式で結合された２つのディスプレイヘッドを示すＧＰＵのブロック図である。
【図５Ａ】本発明のいくつかの実施形態で使用可能なサンプリングパターンを示す図である。
【図５Ｂ】本発明のいくつかの実施形態で使用可能なサンプリングパターンを示す図である。
【図５Ｃ】本発明のいくつかの実施形態で使用可能なサンプリングパターンを示す図である。
【図６】本発明の実施形態によるプリント基板カードとして実施され、外部画素転送パスを用いて構成されたグラフィックスアダプタである。
【図７】本発明の実施形態による内部画素転送パスを持ったＧＰＵのブロック図である。
【符号の説明】
【０１１０】
１００…コンピュータシステム、１０２…中央演算処理装置（ＣＰＵ）、１０４…システムメモリ、１０５…メモリブリッジ、１０６、１１３…バス、１０７…Ｉ／Ｏ（入力／出力）ブリッジ、１１２…グラフィックスサブシステム、１１０…ディスプレイ装置、１１４…システムディスク、１２２…グラフィックス処理装置（ＧＰＵ）、１２４…グラフィックスメモリ、２０２、４０２…ディスプレイパイプライン、２０６ａ、２０６ｂ…ディスプレイヘッド、２１０、２１１…デジタル出力ポート、２１２、２１３…アナログ出力ポート、２１４ａ、２１４ｂ…多目的入力／出力（ＭＩＯ）ポート、２２０…クロスバー、３００、３５０…画素選択論理回路、３０２、３５２…第１のパス、３０４、３５４…第２のパス、３０６、３５８…画素合成回路、３０８…第１の除算回路、３１０…加算回路、３１２…選択回路、３１４、３６６…第２の除算回路、３１６、３６０…パス、３１８…選択回路、３２０、３６４…出力パス、３６２…選択マルチプレクサ、４００…画素転送パス、４０４…フレームバッファＡ、４０６…フレームバッファＢ。
【図１】
2011123894.tif 000003
【図２】
2011123894.tif 000004
【図３Ａ】
2011123894.tif 000005
【図３Ｂ】
2011123894.tif 000006
【図４Ａ】
2011123894.tif 000007
【図４Ｂ】
2011123894.tif 000008
【図５Ａ】
2011123894.tif 000009
【図５Ｂ】
2011123894.tif 000010
【図５Ｃ】
2011123894.tif 000011
【図６】
2011123894.tif 000012
【図７】
2011123894.tif 000013
【外国語明細書】
2011123894000001.pdf