JP2011123894A - Antialiasing using multiple display heads of graphics processor - Google Patents
Antialiasing using multiple display heads of graphics processor Download PDFInfo
- Publication number
- JP2011123894A JP2011123894A JP2010275767A JP2010275767A JP2011123894A JP 2011123894 A JP2011123894 A JP 2011123894A JP 2010275767 A JP2010275767 A JP 2010275767A JP 2010275767 A JP2010275767 A JP 2010275767A JP 2011123894 A JP2011123894 A JP 2011123894A
- Authority
- JP
- Japan
- Prior art keywords
- pixel
- graphics processor
- display
- pixels
- gpu
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Image Generation (AREA)
- Controls And Circuits For Display Device (AREA)
- Processing Or Creating Images (AREA)
- Control Of Indicators Other Than Cathode Ray Tubes (AREA)
- Image Processing (AREA)
Abstract
Description
[0001]本願は、2006年5月12日に出願された「Antialiasing Using Multiple Display Heads of a Graphics
Processor」と題する米国仮出願第60/747,154号、および同一出願人による同時係属中の2006年5月12日に出願された「Distributed Antialiasing in a Multiprocessor Graphics
System」と題する米国特許出願第11/383,048号の利益を主張するものである。
[0001] This application is filed on May 12, 2006, entitled “Antialiasing Using Multiple Display Heads of a Graphics.
US Provisional Application No. 60 / 747,154 entitled "Processor" and "Distributed Antialiasing in a Multiprocessor Graphics" filed May 12, 2006, co-pending by the same applicant.
Claims the benefit of US patent application Ser. No. 11 / 383,048 entitled “System”.
[0002]本発明は、概してコンピュータグラフィックスに関し、特にグラフィックスプロセッサの複数のディスプレイヘッドを用いた画像データのアンチエイリアシングに関する。 [0002] The present invention relates generally to computer graphics, and more particularly to anti-aliasing of image data using multiple display heads of a graphics processor.
[0003]当分野で既知のように、コンピュータ生成画像は、画像データを離散カラーサンプル(画素)のアレイへと変換するのに用いる有限サンプリング解像度から生じる様々なビジュアルアーチファクトに影響を受けやすい。一般に「エイリアシング」と呼ばれるこのようなアーチファクトには、平滑なラインのジャギー、規則的なパターンのムラ等が含まれる。 [0003] As is known in the art, computer-generated images are susceptible to various visual artifacts that result from the finite sampling resolution used to convert image data into an array of discrete color samples (pixels). Such artifacts commonly referred to as “aliasing” include smooth line jaggy, regular pattern irregularities, and the like.
[0004]エイリアシングを減らすために、カラーを「オーバーサンプリング」する、すなわち最終(例えばディスプレイまたは記憶)画像を構成する画素数を上回る数のサンプリング位置でサンプリングすることが多い。例えば、画素数の2倍または4倍で画像をサンプリングすることもある。当分野では、各サンプリング位置を別個の画素として扱うスーパーサンプリングや、画素の少なくとも一部をカバーする基本形状毎に1つのカラー値を計算するが、この基本形状による画素のカバレージは複数の位置で決定するマルチサンプリングを含む、各種のオーバーサンプリングが既知である。 [0004] To reduce aliasing, colors are often "oversampled", that is, sampled at a number of sampling locations that exceeds the number of pixels that make up the final (eg, display or storage) image. For example, an image may be sampled at twice or four times the number of pixels. In this field, super-sampling in which each sampling position is treated as a separate pixel, or one color value is calculated for each basic shape covering at least a part of the pixel. The pixel coverage by this basic shape is calculated at a plurality of positions. Various oversamplings are known, including multisampling to determine.
[0005]アンチエイリアシング(AA)フィルタは、1画素あたり複数のサンプルを混合して1つのカラー値を決定する。従来、AAフィルタは、画素を生成してフレームバッファに記憶するレンダリングパイプライン内、または、画素をフレームバッファから読み出してディスプレイ装置に送るディスプレイパイプライン内のいずれかに適用される。 An anti-aliasing (AA) filter mixes multiple samples per pixel to determine one color value. Conventionally, AA filters are applied either in a rendering pipeline that generates pixels and stores them in a frame buffer, or in a display pipeline that reads pixels from the frame buffer and sends them to a display device.
[0006]本発明の実施形態は、1つのグラフィックスプロセッサの複数のディスプレイヘッドを利用してアンチエイリアシングおよび他の処理タスクを行うシステムおよび方法を提供するものである。一実施形態では、同じグラフィックスプロセッサの2つのディスプレイヘッドが画素転送パスを介してマスター/スレーブ形式で互いに結合されている。「マスター」ディスプレイヘッドは、それ自体の画素に加えて「スレーブ」ディスプレイヘッドから画素を受信し、マスターディスプレイヘッド中の画素選択論理回路がこの2画素を混合するか、いずれか一方を選択して他方を除外する。2画素が同じ画像の異なるサンプリング位置に対応する場合には、混合した画素がAAフィルタ処理画素となる。 [0006] Embodiments of the present invention provide systems and methods that utilize multiple display heads of a single graphics processor to perform anti-aliasing and other processing tasks. In one embodiment, two display heads of the same graphics processor are coupled together in a master / slave fashion via a pixel transfer path. The “master” display head receives pixels from the “slave” display head in addition to its own pixels, and the pixel selection logic in the master display head mixes the two pixels and selects one of them. Exclude the other. When two pixels correspond to different sampling positions of the same image, the mixed pixel is an AA filter processing pixel.
[0007]本発明の一態様によれば、グラフィックス処理装置が、第1のディスプレイヘッドと、第2のディスプレイヘッドと、画素転送パスとを含む。第1のディスプレイヘッドは、第1の出力画素を生成するように構成され、集積回路内に配置される。第2のディスプレイヘッドは、第2の出力画素を生成するように構成されており、これも集積回路内に配置されている。第2のディスプレイヘッドは、外部画素を受信するように構成された第1の入力パスと、内部画素を受信するように構成された第2の入力パスと、上記第1の入力パスおよび上記第2の入力パスに結合され、上記外部画素と上記内部画素を混合して、上記混合画素を生成するように構成された画素合成器と、上記外部画素、上記内部画素、または上記混合画素の1つを第2の出力画素として選択するように構成された選択回路とを有利に含む。上記画素転送パスは、上記第1の出力画素が上記外部画素として上記第1の入力パスにより受信されるように、上記第1の出力画素を上記第1のディスプレイヘッドから上記第2のディスプレイヘッドの上記第1の入力パスへと送るように設定可能である。 [0007] According to one aspect of the invention, a graphics processing apparatus includes a first display head, a second display head, and a pixel transfer path. The first display head is configured to generate a first output pixel and is disposed in the integrated circuit. The second display head is configured to generate a second output pixel, which is also disposed in the integrated circuit. The second display head includes a first input path configured to receive external pixels, a second input path configured to receive internal pixels, the first input path, and the first input path. A pixel synthesizer coupled to two input paths and configured to mix the external pixel and the internal pixel to generate the mixed pixel; and one of the external pixel, the internal pixel, or the mixed pixel And a selection circuit configured to select one as the second output pixel. The pixel transfer path moves the first output pixel from the first display head to the second display head such that the first output pixel is received as the external pixel by the first input path. To the first input path.
[0008]いくつかの実施形態では、上記画素転送パスも集積回路内に配置される。他の実施形態では、上記画素転送パスの少なくとも一部が上記集積回路の外部にある。例えば、上記画素転送パスが取り外し可能なコネクタを含む。 [0008] In some embodiments, the pixel transfer path is also located in an integrated circuit. In other embodiments, at least a portion of the pixel transfer path is external to the integrated circuit. For example, the pixel transfer path includes a removable connector.
[0009]本発明の別の態様によれば、グラフィックスサブシステムが、画素出力コネクタおよび画素入力コネクタを有するグラフィックスアダプタを含む。グラフィックスプロセッサは、上記グラフィックスアダプタ上に実装することもできるが、上記画素出力コネクタに通信可能に結合された画素出力ポートと上記画素入力コネクタに通信可能に結合された画素入力ポートとを有する。グラフィックスサブシステムは、上記グラフィックスアダプタの上記画素出力コネクタを上記グラフィックスアダプタの上記画素入力コネクタに接続するように適合された取り外し可能なコネクタユニットも含む。 [0009] According to another aspect of the invention, a graphics subsystem includes a graphics adapter having a pixel output connector and a pixel input connector. A graphics processor may be implemented on the graphics adapter, but has a pixel output port communicatively coupled to the pixel output connector and a pixel input port communicatively coupled to the pixel input connector. . The graphics subsystem also includes a removable connector unit adapted to connect the pixel output connector of the graphics adapter to the pixel input connector of the graphics adapter.
[0010]本発明のまた別の態様によれば、画像を生成する方法が、グラフィックスプロセッサのレンダリングパイプラインを用いて、画像用の入力画素の第1セットおよび入力画素の第2セットをレンダリングするステップを含む。入力画素の第1セットをレンダリングするのに用いられる第1のレンダリング動作は、少なくとも一点で上記入力画素の第2セットをレンダリングするのに用いられる第2のレンダリング動作と異なる。例えば、上記2つのレンダリング動作は、各画素に適用されるサンプリングパターンに関して異なっても、またはレンダリングされる画像の視野域オフセットに関して異なってもよい。上記入力画素の第1セットが上記グラフィックスプロセッサの第1のディスプレイヘッドに送られ、上記入力画素の第2セットが上記グラフィックスプロセッサの第2のディスプレイヘッドに送られる。上記入力画素の第1セットは、さらに上記第1のディスプレイヘッドから上記第2のディスプレイヘッドに送られる。上記第2のディスプレイヘッドで、上記入力画素の第1セットおよび上記入力画素の第2セットの対応する画素が混合され出力画素のセットを生成する。 [0010] According to yet another aspect of the invention, a method for generating an image renders a first set of input pixels and a second set of input pixels for an image using a graphics processor's rendering pipeline. Including the steps of: The first rendering operation used to render the first set of input pixels differs from the second rendering operation used to render the second set of input pixels at least at one point. For example, the two rendering operations may differ with respect to the sampling pattern applied to each pixel or with respect to the field of view offset of the rendered image. The first set of input pixels is sent to the first display head of the graphics processor, and the second set of input pixels is sent to the second display head of the graphics processor. The first set of input pixels is further sent from the first display head to the second display head. In the second display head, corresponding pixels of the first set of input pixels and the second set of input pixels are mixed to generate a set of output pixels.
[0011]以下の詳細な説明が、添付の図面と併せて本発明の性質および利点のより良い理解を与えるであろう。 [0011] The following detailed description, together with the accompanying drawings, will provide a better understanding of the nature and advantages of the present invention.
[0020]本発明の実施形態は、1つのグラフィックスプロセッサの複数のディスプレイヘッドを利用してアンチエイリアシングおよび他の処理タスクを行うシステムおよび方法を提供するものである。一実施形態では、同じグラフィックスプロセッサの2つのディスプレイヘッドが画素転送パスを介してマスター/スレーブ形式で互いに結合されている。「マスター」ディスプレイヘッドは、それ自体の画素に加えて「スレーブ」ディスプレイヘッドから画素を受信し、マスターディスプレイヘッド中の画素選択論理回路がこの2画素を混合するか、いずれか一方を選択して他方を除外する。2画素が同じ画像の異なるサンプリング位置に対応する場合には、混合した画素がAAフィルタ処理画素となる。[システム概観] [0020] Embodiments of the present invention provide systems and methods that utilize multiple display heads of a graphics processor to perform anti-aliasing and other processing tasks. In one embodiment, two display heads of the same graphics processor are coupled together in a master / slave fashion via a pixel transfer path. The “master” display head receives pixels from the “slave” display head in addition to its own pixels, and the pixel selection logic in the master display head mixes the two pixels and selects one of them. Exclude the other. When two pixels correspond to different sampling positions of the same image, the mixed pixel is an AA filter processing pixel. [System overview]
[0021]図1は、本発明の実施形態によるコンピュータシステム100のブロック図である。コンピュータシステム100は、中央演算処理装置(CPU)102と、ノースブリッジチップ等のメモリブリッジ105を含むバスパスを介して通信するシステムメモリ104とを含む。メモリブリッジ105は、バスまたは他の通信パス106を介してサウスブリッジチップ等のI/O(入力/出力)ブリッジ107と接続されている。I/Oブリッジ107は、一又は複数のユーザ入力デバイス108(キーボード、マウス等)からユーザ入力を受信し、バス106およびメモリブリッジ105を介してその入力をCPU102へと転送する。ビジュアル出力は、バスまたは他の通信パス113を介してメモリブリッジ105に結合されたグラフィックスサブシステム112の制御下で動作する画素ベースディスプレイ装置110(従来のCRTまたはLCDベースモニタ)上で提供される。システムディスク114は、I/Oブリッジ107にも接続されている。スイッチ116は、I/Oブリッジ107とネットワークアダプタ118および各種アドインカード120、121等の他のコンポーネントとの間を接続する。USBまたは他のポート接続、CDドライブ、DVDドライブ等の他のコンポーネント(明示せず)をI/Oブリッジ107に接続することもできる。各種コンポーネント間の通信パスは、PCI(Peripheral Component Interconnect)、PCI Express(PCI−E)、AGP(Accelerated Graphics Port)、HyperTransport、または任意の他のバスまたはポイントツーポイントプロトコルを用いて実施することができ、異なるデバイス間の接続は当分野で既知の異なるプロトコルを用いることができる。
[0021] FIG. 1 is a block diagram of a
[0022]グラフィックスサブシステム112は、N個(一又は複数)のグラフィックス処理装置(GPU)122を含んでいる。(本明細書では、同様の物の複数の例は、その物を特定する参照番号および必要に応じてその例を特定する括弧付き番号で示す。)各GPU122は、関連付けられたグラフィックスメモリ124を有する。GPU122およびグラフィックスメモリ124は、例えば、プログラマブルプロセッサ、特定用途向け集積回路(ASIC)およびメモリデバイス等の一又は複数の集積回路デバイスを用いて実施することができる。いくつかの実施形態では、GPU122およびグラフィックスメモリ124が、システム100の拡張スロット(PCI−Eスロット等)に挿入または当該拡張スロットから取り外し可能な一又は複数の拡張カードまたは他のアダプタで実施される。任意の数NのGPU122を用いることができる。
The
[0023]各GPU122は、メモリブリッジ105およびバス113を介してCPU102および/またはシステムメモリ104から供給されるグラフィックスデータから画素データ(本明細書では「画素」ともいう)を生成することに関連する各種タスクを行うように構成することができ、各グラフィックスメモリ124と情報をやりとりして画素データ等を記憶したり更新したりする。例えば、GPU122は、CPU102上で実行する各種プログラムにより提供される2Dまたは3Dシーンデータから画素データを生成することができる。GPU122は、メモリブリッジ105を介して受信した画素データをさらなる処理の有無を問わずグラフィックスメモリ124に書き込むこともできる。各GPU122は、画素データをグラフィックスメモリ124から後述するGPU122の出力ポートへと送るように構成可能なスキャンアウトモジュール(本明細書ではディスプレイパイプラインともいう)も含んでいる。出力ポートは、モニタまたは別のGPU122に接続してもしなくてもよい。
[0023] Each
[0024]分散レンダリングモードでの動作のために、1つのGPU(例えばGPU122(0))がスキャンアウトされた画素を別のGPU(例えばGPU122(N−1))に送るように好適に構成され、その後者のGPU(例えばGPU122(N−1))は、それ自体のディスプレイパイプラインからの内部画素およびGPU122(0)から受信した外部画素間で選択する。3つ以上のGPU122を、スレーブGPU122がその画素を中間GPU122に送るように「デイジーチェーン」式に相互接続可能であり、中間GPU122は、それ自体の内部画素およびスレーブからの外部画素間で選択して、最終のマスターGPU(すなわちモニタに接続されたGPU)が最終の選択画素をディスプレイ装置に送るまで、選択した画素を別のGPU等に転送する。
[0024] For operation in a distributed rendering mode, one GPU (eg, GPU 122 (0)) is preferably configured to send scanned out pixels to another GPU (eg, GPU 122 (N-1)). The latter GPU (eg, GPU 122 (N-1)) selects between the internal pixels from its own display pipeline and the external pixels received from GPU 122 (0). More than two
[0025]いくつかの実施形態では、任意のGPU122を任意の他のGPU122のスレーブとなれるように、物理的接続を何ら変えることなくGPU122の配置設定を調整することによってGPU122を互いに相互接続可能である。例えば、GPU122は、単方向または双方向リングトポロジーで接続可能である。
[0025] In some embodiments,
[0026]各種の分散レンダリングモードがサポート可能である。例えば、分割フレームレンダリングでは、同じ画像の異なる部分をレンダリングするために異なるGPU122が割り当てられ、交互フレームレンダリングでは、表示される一連の画像中の異なる画像に異なるGPU122が割り当てられる。本発明には、特定の分散レンダリングモードが必須ということはない。
[0026] Various distributed rendering modes can be supported. For example, in split frame rendering,
[0027]本発明の実施形態によれば、GPU122は、「外部分散」AAモードでも動作可能である。このモードでは、GPU122の画素選択論理回路が、内部画素および外部画素の一方を選択して他方を除外するのではなくこれらを混合する。内部画素および外部画素が異なるサンプリング位置で同じ画像を表す場合には、画素混合の結果がAA解像動作(本明細書ではAAフィルタともいう)に相当する。本発明の別の実施形態によれば、1つのGPU122が、「内部分散」AAモードでも動作可能である。このモードでは、GPU122の画素選択論理回路が、同じGPU122の2つのディスプレイヘッドにより生成された画素を混合する。(外部分散モードおよび内部分散モードを含む)分散AAモードの例および関連する画素選択論理回路については後述する。
[0027] According to embodiments of the present invention,
[0028]いくつかの実施形態では、GPU122のいくつかまたは全てを、複数のGPU122のうち異なるものが異なるディスプレイ装置用の画像をレンダリングする「独立レンダリング」モードでも動作可能とすることができる。独立レンダリングモードで異なるGPU122によってレンダリングされた画像を互いに関連させてもさせなくてもよい。当然のことながら、GPU122は、上記または他のモードのいずれでも動作するように設定可能である。
[0028] In some embodiments, some or all of the
[0029]CPU102は、システム100のマスタープロセッサとして動作し、他のシステムコンポーネントの動作を制御および調整する。特に、CPU102は、GPU122の動作を制御するコマンドを発する。いくつかの実施形態では、CPU102はGPU122用のコマンドストリームをコマンドバッファに書き込むが、これはシステムメモリ104、グラフィックスメモリ124、またはCPU102およびGPU122の両方にアクセス可能な別の記憶場所とすることができる。GPU122は、コマンドバッファからコマンドストリームを読み出し、CPU102の動作と非同期でコマンドを実行する。コマンドは、画像を生成するための従来のレンダリングコマンドと、CPU102上で実行するアプリケーションがGPU122の画像生成に関連しないようなデータ処理のための処理能力を活用できるようにする汎用コンピュータコマンドとを含むことができる。
[0029] The
[0030]本明細書に示すシステムは例示的であって、変更および修正が可能であることが理解されよう。ブリッジの数および配列を含む相互接続トポロジーは、所望のとおりに修正可能である。例えば、いくつかの実施形態では、システムメモリ104がブリッジを介するのではなく直接CPU102に接続され、他のデバイスがメモリブリッジ105およびCPU102を介してシステムメモリ104と通信する。他の代替的なトポロジーでは、グラフィックスサブシステム112が、メモリブリッジ105ではなくI/Oブリッジ107に接続される。また他の実施形態では、I/Oブリッジ107およびメモリブリッジ105を1つのチップ内に集積することもできる。本明細書で示す特定のコンポーネントは任意であって、例えば、任意の数のアドインカードまたは周辺デバイスをサポートすることもできる。いくつかの実施形態では、スイッチ116をなくし、ネットワークアダプタ118およびアドインカード120、121が直接I/Oブリッジ107に接続する。
[0030] It will be appreciated that the system shown herein is illustrative and that changes and modifications are possible. The interconnect topology, including the number and arrangement of bridges, can be modified as desired. For example, in some embodiments,
[0031]システム100の他の部分へのGPU122の接続も変更することができる。いくつかの実施形態では、グラフィックスシステム112が、システム100の拡張スロットに挿入可能な一又は複数の拡張またはアドインカードとして実施される。他の実施形態では、GPUがメモリブリッジ105またはI/Oブリッジ107等のバスブリッジとともに1つのチップ上に集積される。
[0031] The connection of the
[0032]各GPUには、任意の量のローカルグラフィックスメモリを設けることができ(ローカルメモリ無しの状況を含む)、ローカルメモリとシステムメモリを任意の組み合わせで用いることができる。例えば、統合メモリアーキテクチャ(UMA)実施形態では、専用グラフィックスメモリデバイスは設けないが、GPUのいくつかまたは全てがシステムメモリを専用またはほとんど専用で用いる。UMA実施形態では、GPUをバスブリッジチップに集積するか、またはGPUをブリッジチップおよびシステムメモリに接続する高速バス(例えばPCI−E)を持った個別チップとして設けることができる。 [0032] Each GPU can be provided with any amount of local graphics memory (including situations without local memory), and local memory and system memory can be used in any combination. For example, in a unified memory architecture (UMA) embodiment, no dedicated graphics memory device is provided, but some or all of the GPUs use system memory exclusively or almost exclusively. In UMA embodiments, the GPU can be integrated into a bus bridge chip, or it can be provided as a separate chip with a high speed bus (eg, PCI-E) that connects the GPU to the bridge chip and system memory.
[0033]加えて、本発明の態様を具現化するGPUは、汎用コンピュータシステム、ビデオゲームコンソールおよび他の特殊用途コンピュータシステム、DVDプレーヤー、携帯電話または携帯情報端末等のハンドヘルドデバイス等の各種デバイスに組み込むことができる。[複数のディスプレイヘッドを備えたGPU] [0033] In addition, GPUs embodying aspects of the present invention may be used in various devices such as general purpose computer systems, video game consoles and other special purpose computer systems, handheld devices such as DVD players, mobile phones or personal digital assistants. Can be incorporated. [GPU with multiple display heads]
[0034]図2は、本発明の実施に使用可能なGPU122内の画素出力パスのブロック図である。マルチGPUグラフィックスシステムが本発明の実施形態には必要ない場合もあるが、GPU122は、このようなシステムで使用可能なように好適に構成されている。
[0034] FIG. 2 is a block diagram of a pixel output path within
[0035]特に、図2に示すように、GPU122は、メモリインターフェース204に結合されたディスプレイ(またはスキャンアウト)パイプライン202を含んでいる。ディスプレイパイプライン202は、ディスプレイヘッド206a(「ヘッドA」)およびディスプレイヘッド206b(「ヘッドB」)にも結合されている。GPU122は、デジタル出力ポート210、211およびアナログ出力ポート212、213を含む複数の出力ポート210〜213を有する。GPU122は、別のGPUまたは別の外部デジタルデバイスとの通信を含む様々な目的用に設定可能な2つの多目的入力/出力(MIO)ポート214a(「MIOA」)および214b(「MIOB」)も有している。ディスプレイヘッド206aおよび206bは、クロスバー220を介してそれぞれ出力ポート210〜213およびMIOポート214a、214bに接続されている。
In particular, as shown in FIG. 2,
[0036]メモリインターフェース204は、GPU122により生成される画素データを記憶するメモリ(図2には図示せず)、例えば図1のグラフィックスメモリ124に結合されている。ディスプレイパイプライン202は、メモリインターフェース204と通信して記憶された画素データにアクセスする。ディスプレイパイプライン202は、画素データをディスプレイヘッド206a、206bのいずれかまたは両方に送る。いくつかの実施形態では、ディスプレイパイプライン202がディスプレイヘッド206a、206bに送る前に画素データに各種の処理動作を施すが、ディスプレイヘッド206aに送られる画素データは、ディスプレイヘッド206b宛の画素データとは異なって処理されてもされなくてもよい。加えて、処理およびディスプレイヘッド206aへの送達用のディスプレイパイプライン202に提供される画素データは、処理およびディスプレイヘッド206bへの送達用のディスプレイパイプライン202に提供される画素データと同じでも異なってもよい。本発明には、ディスプレイパイプライン202およびメモリインターフェース204の特定の構成が必須ということはなく、詳細な説明は省略する。
[0036] The
[0037]デジタル出力ポート210、211は、概して従来の設計のものとしてよく、画素データを修正してデジタル出力標準に準拠する回路を含むことができる。例えば、一実施形態では、ポート210、211のそれぞれが標準DVI(Digital Video Interface)コネクタ用のTMDS(Transition Minimized Differential Signaling)を実施する。同様に、アナログ出力ポート212、213は、概して従来の設計のものとしてよく、例えば、多数の例が当分野で既知のあらゆるアナログビデオ標準に準拠するデジタル/アナログコンバータを含むことができる。本発明には、特定のデジタルまたはアナログ出力ポートの有無、その数または性質が必須ということはないことが理解されよう。
[0037] The
[0038]MIOAポート214aおよびMIOBポート214bは、ディスプレイヘッド206a、206bのいずれかにより生成された画素データをGPU122の出力ライン上へと送り出す出力ポートとして設定可能である。MIOAポート214aおよびMIOBポート214bは、ディスプレイヘッドA206aまたはディスプレイヘッドB206bに外部画素データを送る入力ポートとしても設定可能である。いくつかの実施形態では、MIOAポート214aおよびMIOBポート214bをそれぞれ個別に入力ポートまたは出力ポートのいずれかとして設定可能である。MIOAポート214aおよびMIOBポート214bの設定は、システム起動中に決定するか、またはシステム動作中の様々な時点で動的に修正が可能である。例えば、各MIOポートは、ポート設定を特定する値を記憶する制御レジスターを含むことができ、新たな値を所望のとおりシステム起動時または他の時点でレジスターに書き込むことができる。
[0038] The
[0039]ヘッドA206aおよびヘッドB206bは、クロスバー220を介してそれぞれMIOポート214a、214bだけでなく出力ポート210〜213に結合される。この実施形態では、クロスバー220が、ヘッドA206aからポート210〜213、214aまたは214bのいずれか1つへの任意の接続をサポートするように、また同時にヘッドB206bから現状ではクロスバー220によりヘッドA206aに接続されていないポート210〜213、214aまたは214bのいずれか1つへの任意の接続をサポートするように設定可能である。例えば、GPU122が、ヘッド206a、206bから2つの異なるモニタに(例えば、デジタル出力ポート210、211および/またはアナログ出力ポート212、213のいずれか2つを介して)同時に画素データを送り出すことが可能である。あるいは、GPU122が、ポート210〜213の1つを介してモニタに、またMIOAポート214aまたはMIOBポート214bを介して別のGPUに同時に画素データを送り出すことが可能である。例によっては、ディスプレイヘッド206a、206bの一方または両方をアイドル状態、すなわちどの出力ポートにも画素を送っていない状態にすることもできる。
[0039]
[0040]MIOポート214a、214bは、画素データをGPU122の別の1つから受信し、受信した画素データをディスプレイヘッド206a、206b内へと通信するようにも設定可能である。各GPU122は、各ディスプレイヘッド206a、206b内にMIOポート214a、214bの一方から受信した「外部」画素、それ自体のディスプレイパイプライン202から受信した「内部」画素、または内部画素および外部画素の組み合わせを選択するための画素選択論理回路(後述する)も有している。
[0040] The
[0041]いくつかの実施形態では、クロスバー220がシステム起動で設定され、また他の実施形態では、システム動作中に接続を変更可能なようにクロスバー220が動的に設定可能である。クロスバー220は、MIOポート214a、214bの一方で受信された入力された画素データをディスプレイヘッド206a、206bのいずれかに結合するように設定可能とすることもできる。
[0041] In some embodiments, the
[0042]図3Aは、本発明の実施形態によるGPU122のディスプレイヘッド206a内の画素選択論理回路300のブロック図である。当然のことながら、ディスプレイヘッド206bは類似の設計の画素選択論理回路を有することができる。いくつかの実施形態では、GPU122の各ディスプレイヘッド206a、206bがそれ自体の画素選択論理回路300を有している。
[0042] FIG. 3A is a block diagram of a pixel
[0043]画素選択論理回路300は、第1のパス302上で図2のディスプレイパイプライン202から内部画素を受信する。図2のMIOAポート214a(または、いくつかの実施形態ではMIOBポート214b)が入力ポートとして設定される場合には、画素選択論理回路300は第2のパス304上で外部画素も受信する。
[0043] The
[0044]外部画素および内部画素は、それぞれ画素合成回路306へと伝播され、これが外部画素および内部画素を混合して混合画素を生成する。画素合成回路306は、例えば従来の演算論理回路を用いて実施することができる。一実施形態では、画素合成回路306が、内部画素を多くの候補除数(例えば1、2、4等)の1つにより除する第1の除算回路308と、(除算後の)内部画素を外部画素に加算して合計画素を生成する加算回路310と、制御信号(PSEL1)に応答して内部画素および合計画素間で選択をする選択回路312と、選択された画素を多くの候補除数(例えば1、2等)の1つにより除する第2の除算回路314とを含んでおり、パス316上に混合画素としての結果を与える。
[0044] The external and internal pixels are each propagated to the
[0045]パス304上の外部画素およびパス316上の混合画素は、選択回路318(マルチプレクサ等)に渡される。制御信号(PSEL2)に応答して、選択回路318が図2のクロスバー220に接続する出力パス320に送るために内部画素、混合画素、または外部画素のいずれかを選択する。
[0045] External pixels on
[0046]PSEL1およびPSEL2信号は、ディスプレイヘッド206a中の制御論理回路(明示せず)により好適に生成される。いくつかの実施形態では、概して従来の設計のものとしてよいこの制御論理回路が、図1のGPU102上で実行するグラフィックスドライバプログラムにより生成される制御情報に応答する。例えば、除算回路308、314用の候補除数間で選択して特定用途向けの適当な加重平均を生成することによって、類似の制御情報を画素合成器308の動作を制御するためにも用いることができる。本発明の教示を利用可能な当業者であれば、PSELおよび画素合成器制御信号を生成するのに適した制御論理回路を実施可能なので、制御論理回路の詳細な説明は省略する。
[0046] The PSEL1 and PSEL2 signals are preferably generated by control logic (not explicitly shown) in the
[0047]図3Bは、本発明の代替的な実施形態による画素選択論理回路350のブロック図である。画素選択論理回路350は、図3Aの画素選択論理回路300と概ね同様であるが、ガンマ補正画素を混合する能力を持って好適に設計されている。画素選択論理回路350は、第1のパス352上で図2のディスプレイパイプライン202から内部画素を受信する。内部画素は画素合成器358へと伝播される。MIOAポート214aが入力ポートとして設定される場合には、画素選択論理回路350は第2のパス354上で外部画素も受信する。この外部画素も画素合成器358へと伝播される。
[0047] FIG. 3B is a block diagram of
[0048]画素合成器358は、内部画素および外部画素を混合し、結果として単一のパス360上に混合画素を供給する。画素合成器358は、図3Aの除算回路306に類似の除算回路および/または図3Aの加算回路308に類似の加算器を含むことができる。加えて(または代わりに)、画素合成器358は、パス352および354上で受信したガンマ補正画素を混合する演算論理回路を含むこともできる。当分野で既知のように、ガンマ補正は、例えば画素値Pを定数γについてPγに変換することによりディスプレイ装置で線形強度応答を生成する非線形スケールに合わせて画素値を調整する。(典型的なディスプレイ装置については、定数γがおよそ2.0〜2.5である。)このような一実施形態では、γ≒2.2についてγ補正出力画素Po γが、以下の式を用いて算出可能である。
Po γ=(4Pi γ+4Pe γ+|Pi γ-Pe γ|)/4 (式1)
[0048] The
P o γ = (4P i γ + 4P e γ + | P i γ -P e γ |) / 4
[0049]ここで、Pi γおよび4Pe γは、パス352および354上に供給されるガンマ補正画素を表す。当業者であれば、厳密な結果に必要な計算ではなく簡単なハードウェアを用いて式1が許容可能な近似を与えることが分かるだろう。(例えば、4による乗算および除算はビットシフトとして実施可能である)また、他の近似で代用可能なことも理解されよう。
[0049] where P i γ and 4P e γ represent the gamma correction pixels provided on
[0050]図3Bを再び参照すると、選択マルチプレクサ362が、パス352上で内部画素を、パス354上で外部画素を、及び、パス360上で混合画素を受信する。画素選択信号(PSEL)に応答して、選択マルチプレクサ362は、図2のクロスバー220に接続する出力パス364へ送るためにこれらの候補画素の1つを選択する。出力パス364は、第2の除算回路366を含むことができるが、これは図3Aの除算回路314と同様であってもよい。代替的な実施形態では、図3Aに示すものと同様の2つの選択マルチプレクサを出力画素の選択に用いるが、除算回路366を第2の選択マルチプレクサ前方に配置してもよい。他の選択回路構成も用いることができる。
[0050] Referring back to FIG. 3B, the
[0051]いくつかの実施形態では、画素合成器350は、画素がガンマ補正されない場合には簡単な加算を用いて、ガンマ補正画素および非ガンマ補正(線形)画素のいずれかに動作するように設定可能である。この設定は、起動動作中(システム起動時)にグラフィックスドライバにより有利に行われる。ガンマ補正フィルタが必要ないのは当然であるが、いくつかの実施形態では最終の画素選択後に任意のガンマ補正を適用することができる。[複数のGPUを用いた分散アンチエイリアシング]
[0051] In some embodiments, the
[0052]画素選択論理回路300または画素選択論理回路350を備えた図2のGPU122は、2つ以上のGPU122を備えたシステムでの分散アンチエイリアシング動作について好適に使用可能である。図4Aは、マスター/スレーブ読み出し構成の2つのGPU122(0)および122(1)を有するグラフィックスサブシステム400の簡略ブロック図である。(明確にするために、アクティブポートとディスプレイヘッドのみを示す。この例では、GPU1つにつきディスプレイヘッドが1つだけ用いられる。)スレーブGPU122(1)は、そのMIOAポート214a(1)が出力ポートとして設定され、マスターGPU122(0)は、そのMIOAポート214a(0)が入力ポートとして設定されている。MIOAポート214a(1)は、MIOAポート214a(0)に結合され、出力画素Po1をスレーブGPU122(1)からマスターGPU122(0)へと流す。
[0052] The
[0053]スレーブGPU122(1)のヘッドA206a(1)は、スレーブGPU122(1)のディスプレイパイプライン202(1)により与えられた画素Pi1を出力画素としてMIOAポート214a(1)に転送する。スレーブGPU122(1)からの出力画素Po1は、マスターGPU122(0)のMIOAポート214a(0)により受信され、これが画素をディスプレイヘッドA206a(0)に転送する。ヘッドA206a(0)では、画素選択論理回路300(0)(図3の画素選択論理回路300の一例)が、マスターGPU122(0)のディスプレイパイプライン202(0)からの内部画素Pi0、スレーブGPU122(1)のディスプレイパイプライン202(1)由来の外部画素Po1、または、加算回路308により供給される合計(例えば、Pi0+Po1)を選択するように動作する。
[0053] The
[0054]マスターGPU122(0)のヘッドA206a(0)は、選択された画素(Pfinal)を出力ポート、この場合はデジタル出力ポート210(0)に送る。GPU122(0)のヘッドA206a(0)がMIOAポート214b(0)(図2Cに明示せず)に画素データを送るように設定することもでき、これを第3のGPU122のMIOポートに接続し、それで第3のGPU122がGPU122(0)をマスターとすることが理解されよう。このように、任意の数のGPU122をデイジーチェーン式に接続することができる。
[0054]
[0055]本発明の実施形態によれば、GPU122(0)および122(1)は、外部分散アンチエイリアシング(AA)モードで用いることが可能である。このモードでは、各GPU122が、GPU122(0)によって用いられるサンプリング位置がGPU122(1)によって用いられるサンプリング位置と異なるように、表示パラメータまたはサンプリングパラメータにいくらかの変化量をもって、同じ画像をレンダリングする。例えば、若干異なる表示域または表示面の法線を2つのGPU122について画成し、2つの画像の画素境界に小さいオフセットを作り出すこともできる。あるいは、画素内のサンプリング位置が(例えばグラフィックスドライバにより)設定可能な場合には、各GPU122を同じ表示パラメータの組と各画素内の異なるサンプリング位置を用いるように設定することもできる。
[0055] According to embodiments of the present invention, GPUs 122 (0) and 122 (1) may be used in an external distributed anti-aliasing (AA) mode. In this mode, each
[0056]分散AAモードでは、GPU122(0)のディスプレイヘッド206aで画素選択論理回路300(0)により受信された外部画素Po1および内部画素Pi0が、最終画像の同じ画素についての異なるサンプリング位置に対応する。内部画素および外部画素を平均することによって、表示解像度の2倍のアンチエイリアシングが得られる。より具体的には、選択マルチプレクサ310が加算回路308により提供される画素合計Po1+Pi0を選択するように設定されており、除算回路316が選択された画素合計を2で除するように設定されているため、最終画素がPfinal=(Po1+Pi0)/2となる。このようにして、画素選択論理回路300は2×AAフィルタを実施可能である。
[0056] In the distributed AA mode, the external pixel P o1 and the internal pixel P i0 received by the pixel selection logic circuit 300 (0) at the
[0057]GPU122(0)および122(1)が、内部画素または外部画素の一方が他方を除外するように選択されるモードを含む他の分散レンダリングモードでも動作可能であることに留意されたい。特定の選択は、分散レンダリングモードの詳細、例えば、異なるGPU122が同じフレーム異なる部分と異なる連続的なフレームのいずれをレンダリングするかに依存することになるが、本発明とは関係ない。また、3つ以上のGPU122があれば、より高度なアンチエイリアシングを達成可能である。例えば、任意の数のGPU122をそれぞれのMIOAおよびMIOBポートを用いてデイジーチェーン式に接続可能であり、デイジーチェーン内の各GPUが、適切な重み係数を用いてそれ自体の内部画像を上流のGPUから受信する外部画像と混合可能である。
[0057] Note that GPUs 122 (0) and 122 (1) are also operable in other distributed rendering modes, including a mode in which one of the internal or external pixels is selected to exclude the other. The particular choice will depend on details of the distributed rendering mode, for example whether
[0058]本明細書に記載のディスプレイヘッド、画素選択論理回路、および分散AA動作は例示的なものであり、変更および修正が可能であることが理解されよう。例えば、本明細書の除算回路は、少数の離散除数による除算をサポートするものである。他の実施形態では、広範囲のアンチエイリアシングフィルタがサポートされるように、除算回路が(任意に選択された除数を含む)より多くの離散除数をサポートすることもある。また、除算回路は、本明細書に記載のものとは異なる位置に配置することができ、除算回路の数を修正することもできる。例えば、除算回路を内部画素パスに加えて、またはその代わりに外部画素パス上に配置することもできる。 [0058] It will be appreciated that the display head, pixel selection logic, and distributed AA operation described herein are exemplary and can be changed and modified. For example, the division circuit of the present specification supports division by a small number of discrete divisors. In other embodiments, the divider circuit may support more discrete divisors (including arbitrarily selected divisors) so that a wide range of anti-aliasing filters are supported. In addition, the division circuits can be arranged at positions different from those described in this specification, and the number of division circuits can be modified. For example, a divider circuit can be placed on the external pixel path in addition to or instead of the internal pixel path.
[0059]選択回路318の特定の構成を修正することもできる。当業者であれば、内部画素および外部画素の両方から得られた内部画素、外部画素および混合画素間で制御可能に選択できるあらゆる回路素子または回路素子の組み合わせを選択回路として使用可能であることが分かるであろう。
[0059] The particular configuration of the
[0060]本明細書で用いるように、「画素」は、概して画像内のある位置でサンプリングされたカラー値のあらゆる表現またはこのような値(例えば図3の加算回路308により生成されたような)の組み合わせを指す。GPUでパイプラインをレンダリングすることにより、名目上の解像度(ここで解像度は画像内の画素数を指す)で画素が生成されるが、これがディスプレイ装置の解像度と一致することもしないこともある。いくつかの実施形態では、ディスプレイパイプラインが、名目上の解像度をディスプレイ解像度に変換するために必要とされるあらゆるアップフィルタリングまたはダウンフィルタリングを行う。
[0060] As used herein, a "pixel" is generally any representation of a color value sampled at a location in an image or such value (eg, as generated by the
[0061]本明細書中のMIOポートおよびディスプレイヘッドを本明細書中の「A」および「B」とするラベリングは、単に説明の利便性のためである。当然のことながら、任意のMIOポートを任意の他のMIOポートに接続可能であり、そのポートが出力ポートとして設定される場合にいずれかのディスプレイヘッドがいずれかのMIOポートを駆動可能である。加えて、いくつかのGPUが2つ超または2つ未満のMIOポートおよび/または2つ超または2つ未満のディスプレイヘッドを含むことができる。 [0061] The labeling of the MIO port and display head herein as "A" and "B" herein is for convenience of description only. Of course, any MIO port can be connected to any other MIO port, and any display head can drive any MIO port when that port is configured as an output port. In addition, some GPUs may include more than two or less than two MIO ports and / or more than two or less than two display heads.
[0062]一般に、1つのGPUに別のGPUとの画素データ通信を可能にする任意の1つのポートまたは複数のポートをI/Oポートとして用いて本発明を実施することができる。いくつかの実施形態では、上述のように、MIOポートが別のGPUと通信する以外の目的のためにも設定可能である。例えば、MIOポートは、TVエンコーダ等の各種外部デバイスと通信するように設定可能である。いくつかの実施形態では、DVO(インテル社製Digital Video Output Interface)または他のビデオ出力標準をサポート可能である。いくつかの実施形態では、グラフィックスアダプタをアセンブルする際に各MIOポートの設定を決定する。システム起動時に、アダプタがシステムにそのMIOポートの設定について通知する。他の実施形態では、MIOポートを専用入力または出力ポートを置き換えることもできる。 [0062] In general, the present invention can be implemented using any one port or multiple ports allowing one GPU to communicate pixel data with another GPU as an I / O port. In some embodiments, as described above, the MIO port can also be configured for purposes other than communicating with another GPU. For example, the MIO port can be set to communicate with various external devices such as a TV encoder. Some embodiments may support DVO (Intel Digital Video Output Interface) or other video output standards. In some embodiments, the settings for each MIO port are determined when assembling the graphics adapter. At system startup, the adapter informs the system about its MIO port settings. In other embodiments, the MIO port can be replaced with a dedicated input or output port.
[0063]I/Oポート、ディスプレイヘッド、および他のグラフィックスサブシステムのアスペクトの設定は、全てのグラフィックスプロセッサと通信するように構成されたシステム設定ユニットにより達成することができる。いくつかの実施形態では、システム設定ユニットが、マルチプロセッサグラフィックスサブシステムを含むシステムのCPU上で実行するグラフィックスドライバプログラムで実施される。ハードウェアおよび/またはソフトウェアコンポーネントのあらゆる組み合わせを含む他の任意の適当なエージェントを、システム設定ユニットとして用いることができる。[内部分散アンチエイリアシング] [0063] Aspect settings for I / O ports, display heads, and other graphics subsystems can be accomplished by a system settings unit configured to communicate with all graphics processors. In some embodiments, the system configuration unit is implemented in a graphics driver program that runs on the CPU of a system that includes a multiprocessor graphics subsystem. Any other suitable agent including any combination of hardware and / or software components can be used as the system configuration unit. [Internally distributed anti-aliasing]
[0064]本発明の実施形態によれば、1つのGPU122の2つのディスプレイヘッド206a、206bをマスター/スレーブ形式で互いに結合することができる。この形式では、GPU122が、マスターとして動作するディスプレイヘッド(例えばディスプレイヘッドA206a)の画素選択論理回路300を用いて「内部分散」AAフィルタリングを実行可能である。
[0064] According to embodiments of the present invention, two
[0065]図4Bは、本発明の実施形態によるマスター/スレーブ形式でディスプレイヘッド206bに接続されたディスプレイヘッド206aを示すGPU122のブロック図である。当然のことながら、図4BのGPU122は図2のGPU122と同一である。図4BではアクティブなI/Oポートのみを示しており、クロスバー220は示していない。図4Bのディスプレイパイプライン202は、2つの平行なセクションを有して示されている。画素をディスプレイヘッド206aへと送るディスプレイパイプラインA402aと、画素をディスプレイヘッド206bへと送るディスプレイパイプラインB402bである。ディスプレイパイプラインA402aおよびB402bは、それぞれ従来の設計とすることができ、それぞれ各種の画素処理動作を行うようにすることができる。ディスプレイパイプライン402aおよび402bは、所望のとおりに同じ動作を行うことも異なる動作を行うこともできる。
[0065] FIG. 4B is a block diagram of
[0066]MIOBポート214bは、画素転送パス400を介して同じGPU122のMIOAポート214aに結合されている。画素転送パス400は、ディスプレイヘッドB206bにより生成された画素をMIOBポート214bからMIOAポート214aへ転送する。MIOAポート214aは、受信した画素をGPU122のディスプレイヘッドA206aに送る。画素転送パス400は、任意の適当な信号転送技術を用いて実施することができる。以下で例を説明する。
[0066] The
[0067]ディスプレイヘッドA206aの観点からは、ディスプレイヘッドB206bから受信した画素は、異なるGPUから受信した画素と区別ができない。よって、例えば、ヘッドA206a由来の「内部」画素(PA)、ヘッドB206b由来の「外部」画素(PB)、または、画素合成回路308により画素PAおよびPBから作り出した混合画素のいずれか1つを出力画素として選択するようにディスプレイヘッドA206aの画素選択論理回路300が動作可能である。(画素PBが画素PAとは異なりディスプレイパイプラインA402aによりディスプレイヘッドA206aに提供されないという意味で、画素PBはディスプレイヘッドA206aに対して「外部」である。)
[0067] From the perspective of
[0068]この構成では、GPU122が、ディスプレイヘッドA206の画素選択論理回路300により混合されるサンプル値を供給する2つのディスプレイパイプライン402a、402bによる「内部分散」AAの実行に使用可能である。動作においては、GPU122のレンダリングパイプライン(明示せず)が、2つの画像について用いられるサンプリング位置が互いに異なるように、表示パラメータまたはサンプリングパラメータにいくらかの変化量をもって、同じシーンの2つの画像をレンダリングする。例えば、若干異なる表示域または表示面の法線を2つのGPU122について画成し、2つの画像の画素境界に小さいオフセットを作り出すこともできる。あるいは、画素内のサンプリング位置が(例えばグラフィックスドライバにより)設定可能な場合には、各GPU122を同じ表示パラメータの組と各画素内の異なるサンプリング位置を用いて各画像を生成することもできる。
[0068] In this configuration, the
[0069]レンダリングした画像の一方がフレームバッファ「A」404に記憶され、他方がフレームバッファ「B」406に記憶される。フレームバッファA404およびB406は、GPU122のオンチップメモリを含む任意の1つのメモリデバイスまたは複数のメモリデバイス、図1のグラフィックスメモリ124および/またはシステムメモリ104で実施可能である。この2つのフレームバッファは所望のとおりに同じメモリデバイス中にも異なるデバイス中にも配置することができる。
[0069] One of the rendered images is stored in frame buffer “A” 404 and the other is stored in frame buffer “B” 406. Frame buffers A 404 and
[0070]ディスプレイパイプラインB402bは、フレームバッファB406から画素を読み出し、各種の処理動作(概して従来の性質のものでよい)を画素に施し、得られた画素PBをディスプレイヘッドB206bに転送する。ディスプレイヘッドB206bは、画素PBを選択するように動作する画素選択論理回路300を有しており、それらの画素がクロスバー220(図4に明示せず)を介してMIOBポート214bへと転送される。画素PBは、画素パス400を介して同じGPU122のMIOAポート214aへと転送され、これが画素PBをディスプレイヘッドA206aに転送する。
[0070] The
[0071]この動作と平行して、ディスプレイパイプラインA402aがフレームバッファAから画素を読み出し、画素に(概して従来の性質のものでよい)各種の処理動作を施し、得られた画素PAをディスプレイヘッドA206aに転送する。ディスプレイパイプラインB402b、ディスプレイヘッドB206b、および画素パス400は、同じスクリーン画素に対応する画素値PAおよびPBが同時に(例えば、同じクロックサイクルで)ディスプレイヘッドA206aの画素選択論理回路300に送られるように、適切なタイミングで好適に設定される。
[0071] In parallel with this operation, the display pipeline A402a reads the pixel from the frame buffer A, pixel (generally may be of conventional nature) performs various processing operations, the pixel P A obtained display Transfer to head A 206a.
[0072]画素合成回路308内では、加算回路310が画素PAとPBを加算し、マルチプレクサ312が合計画素を選択し、除算回路314が合計を2で除し、こうしてパス316上の混合画素が画素PAおよびPBの平均となる。マルチプレクサ318は、混合画素を出力画素Pfinalとして選択する。ディスプレイヘッドA206aが出力画素Pfinalをディスプレイ装置への送信のために出力ポート(例えばデジタル出力ポート210)に送る。
[0072] Within the
[0073]GPU122のレンダリングパイプラインが各フレームを2回レンダリングするため、本明細書に記載の内部分散AAモードで動作する際のGPU122の最大フレームレートが非AAモードで動作する際の最大フレームレートよりも概して低いことに留意されたい。いくつかの実施形態では、この内部分散AAモードのフレームレートはおよそ非AAモードのフレームレートの約1/2である。リアルタイムアニメーションについては、内部分散AAモードのフレームレートが約毎秒30フレーム(以上)であれば、フレームレートの低下はアニメーションの平滑性にほとんどあるいは全く悪影響を与えない。また、非AAモードで生成される画質は、内部分散AAモードで生成される画質よりも概して低くなる。このように、内部分散AAは高画質化と引き換えにフレームレートが低下する。
[0073] Since the rendering pipeline of the
[0074]本明細書に記載の内部分散AAモードを用いて得られるフレームレートが、単一のGPUにおいて従来のAA技術(例えば、レンダリングパイプラインおよび/またはディスプレイパイプラインでのフィルタリング)を用いて得られるフレームレートに匹敵することについても留意されたい。単一のGPUを用いた従来のAAには、単一の画像を生成するが、1画素あたり複数のサンプルを用いるGPUのレンダリングパイプラインが必要となる。1画素あたりより多くのサンプルを処理することによって、画質の改善と引き換えに非AAモードに対するフレームレートも低下する。2画像のレンダリングの方法によって、レンダリングパイプラインにおいて管理され、内部分散AAモードを用いたGPUのスループットは、従来のAAを用いるGPUのスループットに匹敵することができる。 [0074] The frame rate obtained using the internally distributed AA mode described herein can be achieved using conventional AA techniques (eg, filtering in the rendering pipeline and / or the display pipeline) on a single GPU. Note also that it is comparable to the resulting frame rate. Conventional AA using a single GPU generates a single image, but requires a GPU rendering pipeline that uses multiple samples per pixel. By processing more samples per pixel, the frame rate for the non-AA mode is also reduced in exchange for improved image quality. A two-image rendering method manages in the rendering pipeline and the throughput of the GPU using the internal distributed AA mode can be comparable to the throughput of the GPU using the conventional AA.
[0075]より高次のAAフィルタを実施することもできるが、このようなフィルタは単一パイプラインおよび内部分散アンチエイリアシング動作の組み合わせを採用することができる。一実施形態では、ディスプレイパイプラインA402aおよびディスプレイパイプラインB402bがそれぞれ内部N×AAフィルタを実施するフィルタオンスキャン(FOS)モジュール(明示せず)を含んでいる。より具体的には、レンダリングされる画像の各バージョンについて、GPU122のレンダリングパイプラインが、例えば従来のスーパーサンプリングおよび/またはマルチサンプリング技術を用いて、1画素あたりN個(例えば2、4または1より大きい任意の他の数)のサンプルを生成する。画像の一方のバージョン用のサンプルがフレームバッファA404に記憶され、画像の他方のバージョン用のサンプルがフレームバッファB406に記憶される。
[0075] Although higher order AA filters may be implemented, such filters may employ a combination of single pipeline and internal distributed anti-aliasing operations. In one embodiment,
[0076]ディスプレイパイプラインA402aは、各画素についてのN個のサンプル全てをフレームバッファAから受信する。ディスプレイパイプラインA402a内では、第1のフィルタオンスキャン(FOS)モジュール(図4には明示せず)が、N×AAフィルタを実施し、N個のサンプルを混合して1画素あたり1つのカラー値を生成する。FOSモジュールにより決定されたカラー値は、画素PAとしてディスプレイヘッドA206aに(場合によってはさらなる処理の後で)供給される。
[0076]
[0077]同様に、ディスプレイパイプライン402bは、各画素についてのN個のサンプル全てをフレームバッファB406から受信する。ディスプレイパイプライン402b内では、第2のFOSモジュール(これも図4には明示せず)が、N×AAフィルタを実施し、N個のサンプルを混合して1画素あたり1つのカラー値を決定する。第2のFOSモジュールにより決定されたカラー値は、画素PBとしてディスプレイヘッドB206bに(場合によってはさらなる処理の後で)供給される。
[0077] Similarly, the
[0078]このように、ディスプレイパイプ402aおよび402bによりそれぞれ生成された画素PAおよびPBは、それぞれN×オーバーサンプリング画像からのフィルタ処理画素とすることが可能である。フレームバッファA404を埋めるために用いられるサンプリング点がフレームバッファB406を埋めるために用いられるものと一致しない限り、各ディスプレイパイプ402a、402b内のN×AAフィルタを上述の内部分散AAフィルタ技術に組み合わせることによって、(2N)×AAフィルタが得られる。例えば、各ディスプレイパイプ402a、402b内のFOSモジュールが4×AAフィルタであれば、GPU122は8×AAを提供可能である。
[0078] Thus, the pixel P A and P B respectively generated by the
[0079]本発明には、特定のFOSモジュールまたはAAフィルタリングアルゴリズムが必須ということはなく、従来のモジュールおよびアルゴリズムを用いることができる。したがって、詳細な説明は省略する。いくつかの実施形態では、得られる最終画像が特定のディスプレイパイプラインによって処理される画像のバージョンに依存しないように、ディスプレイパイプラインA402aおよび402b内のFOSモジュールが同一のフィルタアルゴリズムに適合する。また、画像生成プロセスの初期にN×AAフィルタリングを行うことが可能である。例えば、代替的な一実施形態では、従来の技術を用いてGPU122のレンダリングパイプライン内でN×AAフィルタリングを行うこともできる。
[0079] The present invention does not require a specific FOS module or AA filtering algorithm, and conventional modules and algorithms can be used. Therefore, detailed description is omitted. In some embodiments, the FOS modules in display pipelines A 402a and 402b are adapted to the same filter algorithm so that the final image obtained does not depend on the version of the image processed by a particular display pipeline. It is also possible to perform N × AA filtering early in the image generation process. For example, in an alternative embodiment, N × AA filtering may be performed within the rendering pipeline of
[0080]いくつかの実施形態では、異なるフレームバッファを埋めるサンプリング点が、一致するサンプリング点がないように選択される。例えば、図5Aは画素500に適用される「グリッド」サンプリングパターンを図示している。画素は、画素内の位置501〜504(丸で示す)で4回サンプリングされる。図5Bは画素500に適用される「回転グリッド」サンプリングパターンを図示している。画素は、画素内の位置501〜504とは異なる位置511〜514(ひし形で示す)で4回サンプリングされる。
[0080] In some embodiments, sampling points that fill different frame buffers are selected such that there are no matching sampling points. For example, FIG. 5A illustrates a “grid” sampling pattern applied to
[0081]一実施形態では、フレームバッファA404内の画素データが図5Aのグリッドサンプリングパターンを用いて生成され、フレームバッファB406内の画素データが図5Bの回転グリッドサンプリングパターンを用いて生成される。ディスプレイパイプA402aのFOSモジュールは、4つのサンプル値(501〜504)にフィルタをかけて1つの値PAとし、ディスプレイパイプB402bのFOSモジュールは、4つのサンプル値(511〜514)にフィルタをかけて1つの値PBとする。ディスプレイヘッド206aの画素選択論理回路300が上述のように値PAおよびPBを混合して、全部で8つのサンプルの平均に相当する最終画像を得る。この手順は、図5Cの8点パターンを用いて各画素をサンプリングする単一のレンダリングプロセスと同じアンチエイリアシングパワーをもたらす。
[0081] In one embodiment, pixel data in
[0082]本明細書に記載の内部分散AA技術は例示的なものであって、変更および修正が可能であることが理解されよう。例えば、本明細書に記載のGPU122は、それぞれが最大限で1つの出力ポートを駆動可能な丁度2つのディスプレイヘッドを有しており、その結果、両方のディスプレイヘッドを内部分散アンチエイリアシングに用いれば、GPU122がディスプレイ装置に最大限で1つの画素ストリームを送ることができる。しかしながら、本発明の実施形態は、少なくとも2つのディスプレイヘッドならびに適当な画素選択論理回路およびI/Oポートを有する任意のGPUで実施することができる。GPUが3つ以上のディスプレイヘッドを有する場合には、GPUが内部分散AAをサポート可能であり、2つ以上のディスプレイデバイスに個々の画素ストリームを供給することも可能である。加えて、GPUが3つ以上のディスプレイヘッドを有する場合には、GPUのAAパワーを一層高めるために、GPUのディスプレイヘッドの全てをマスター/スレーブデイジーチェーン式に互いに接続できるようになる。
[0082] It will be appreciated that the internally distributed AA technique described herein is exemplary and that changes and modifications are possible. For example, the
[0083]また、本明細書に記載のGPU122は、いずれも内部分散AAに用いられる2つのMIOポートを有している。この実施形態では、ヘッドA206aとヘッドB206bのどちらも任意の他のGPUまたはディスプレイヘッドに対してマスターあるいはスレーブとして使用できなくなる。他の実施形態では、GPUが追加のMIOポートを有することができ、このMIOポートが1つのポートに画素の受信送信を同時に行わせ、内部分散AAと組み合わせて他のGPUとの相互接続を可能にする動作モードを有することができる。例えば、第3のMIOポートがある場合、そのポートは、外部画素を別のGPUからディスプレイヘッドB206bに送る入力ポートまたはディスプレイヘッドA206aにより生成された画素を別のGPUに送る出力ポートとして設定することもできる。このような実施形態において、他のGPUはそれ自体の内部分散AAフィルタリングを行うように設定されることもされないこともある。[画素転送パス]
[0083] Also, the
[0084]本発明の実施形態による画素転送パス実施の例について説明する。明らかなように、画素転送パスはGPUの外部にあっても内部にあってもよい。 [0084] An example of a pixel transfer path implementation according to an embodiment of the present invention will be described. As is apparent, the pixel transfer path may be external or internal to the GPU.
[0085]図6は、本発明の実施形態によるプリント基板カードとして実施され、外部画素転送パスを用いて構成されたグラフィックスアダプタ600を示す。グラフィックスアダプタ600は、PCI−Eまたは別の相互接続標準に適合するプリント回路基板(PCB)602を用いて拡張カードとして実施される。GPU122は、PCB602上に実装され、PCB602上で配線(図示せず)を介してシステムコネクタ604と電気的に結合される。システムコネクタ604は、PCI−E拡張スロット(または任意の他種の拡張スロット)に挿入可能なように設計され、GPU122と図1のシステム100等のコンピュータシステムの他の部分の間の通信を可能にする。GPU122は、PCB602上で配線(図示せず)を介してディスプレイ出力コネクタ606とも電気的に結合されている。ディスプレイ出力コネクタ606は、GPU122のデジタル出力ポート210、211またはアナログ出力ポート212、213(図2参照)の1つと好適に結合される。いくつかの実施形態では、当分野で既知のように、PCB602が、それぞれが出力ポート210〜213の異なる1つに結合された複数のディスプレイ出力コネクタ606を提供することができる。
[0085] FIG. 6 illustrates a
[0086]PCB602は、同一設計が可能な2つのグラフィックスエッジコネクタ614a、614bも含んでいる。グラフィックスエッジコネクタ614aは、配線616を介してGPU122のMIOAポート214aに接続しており、グラフィックスエッジコネクタ614bは、配線618を介してGPU122のMIOBポート214bに接続している。各グラフィックスエッジコネクタ614a、614bは、取り外し可能な相互接続デバイスとの電気的かつ機械的接続用に構成されている。いくつかの実施形態では、グラフィックスエッジコネクタ614a、614bが同一の構成を有し、交換して用いることができる。
[0086] The
[0087]一実施形態のグラフィックスアダプタ600は、2つ以上のGPUが協働してレンダリングタスクの異なる部分を行う分散レンダリングシステムでの使用のために設計されている。このようなシステムは、例えば、各CPUが画像の異なる部分をレンダリングする分割フレームモード、各CPUが一連の画像中の異なる画像をレンダリングする代替フレームモード、または分散アンチエイリアシングモードで動作させることができる。これらモードのそれぞれにおいて、1つのGPU(マスター)がもう1つのGPU(スレーブ)から画素を受信し、マスターGPU内の画素選択論理回路300が上述のようにディスプレイ用の画素を選択する。異なるグラフィックスアダプタ600のGPUは、適当な相互接続デバイスを用いてそれぞれのグラフィックスエッジコネクタ614a、614bを介して有利に接続される。
[0087] The
[0088]本発明の実施形態では、取り外し可能な相互接続デバイス620が、図6に示すように、同じグラフィックスアダプタ600のグラフィックスエッジコネクタ614a、614bに接続可能なように構成かつ形成されている。相互接続デバイス620は、例えば、グラフィックスエッジコネクタ614a、614bを受容するレセプタクルを片側に有するリボンケーブルや長さに沿ってプリントされた配線付きPCBとすることが可能であり、2つのグラフィックスエッジコネクタ614a、614bを互いに接続する。
[0088] In an embodiment of the present invention, a
[0089]この実施形態では、相互接続デバイス620が、グラフィックスアダプタ600によりサポートされる分散レンダリングシステムのタイミング特性を利用して画素転送パス400(図4)を構築する。より具体的には、分散レンダリング構成において、GPU122のMIOBポート214bから異なるグラフィックスアダプタ600上のGPUのMIOAポート(またはMIOBポート)への画素転送パスが、転送パスの任意のセグメントに沿って含まれ得る任意の電子コンポーネント(FIFO、ラッチ等)だけでなく、配線618および/または616の長さおよび2つのアダプタ間の相互接続デバイス由来の特性転送時間を有する。分散レンダリング動作では、スレーブGPUおよびマスターGPUからの画素がマスターGPUのディスプレイヘッドにほぼ同時に(例えば同じクロックサイクル中に)到達するように、スレーブGPUのディスプレイヘッドからマスターGPUのディスプレイヘッドへの画素の転送が有利に調整される。
[0089] In this embodiment, the
[0090]相互接続デバイス620は、異なるGPUを接続する分散レンダリング相互接続デバイスとの送信時間マッチングを与え、相互接続デバイス620により提供される画素転送パスは、信号を正しいタイミングでMIOAポート214aに送る。このように、外部相互接続デバイスを用いた内部分散AAの実施には、元々分散レンダリング用に設計されたGPU122またはアダプタカード600に何ら内部修正を必要とするものではない。
[0090] The
[0091]本明細書に記載のグラフィックスアダプタおよび相互接続デバイスは、例示的なものであって、変更および修正が可能であることが理解されよう。アダプタおよび相互接続デバイスの形状、レイアウト、および材料組成は、本明細書で示し記載したものから修正することができ、MIOポート間のデータ転送用にあらゆる通信プロトコルを実施することができる。 [0091] It will be appreciated that the graphics adapters and interconnect devices described herein are illustrative and that changes and modifications are possible. The shape, layout, and material composition of the adapters and interconnect devices can be modified from those shown and described herein, and any communication protocol can be implemented for data transfer between MIO ports.
[0092]代替的な一実施形態では、例えばパス618〜パス616を接続する配線を用いて、相互接続デバイス620をPCB602の一部として実施することもできる。この実施形態では、パス618からパス616へまたは逆方向のデータ転送を有効または無効とするように、制御デバイス(例えば取り外し可能なジャンパまたはドライバ制御スイッチ)が有利に用いられる。
[0092] In an alternative embodiment, the
[0093]いくつかの実施形態では、同じGPUの2つのMIOポート間の相互接続デバイス620または他の外部接続の存在が自動的に内部分散AAを有効にするわけではないことにも留意されたい。上述のように、画素選択論理回路300の動作が内部分散AAを行うか否かを決定するが、画素選択論理回路300の動作はグラフィックスドライバを介して制御される。
[0093] Note also that in some embodiments, the presence of an
[0094]代替的な別の実施形態では、内部分散AAに用いられる画素転送パスがGPU内に構築される。図7は、本発明のこのような一実施形態によるGPU700のブロック図である。GPU700は、図4のGPU122とほぼ同様であり、同じ参照番号が対応するコンポーネントを識別するのに用いられている。GPU122とは異なり、GPU700は、ディスプレイヘッドB206bの出力パス702をディスプレイヘッドA206aの外部画素入力パス704に接続する内部画素転送パスを含んでいる。
[0094] In another alternative embodiment, the pixel transfer path used for internal distribution AA is built in the GPU. FIG. 7 is a block diagram of a
[0095]この実施形態では、画素転送パスが、ディスプレイヘッドB206bからの画素およびクロスバー220を介してMIOポート(例えばMIOAポート214a)の一方からのパス708上で受信した画素の間で選択する選択ユニット(例えばマルチプレクサ)706を含んでいる。選択された画素は、ディスプレイヘッドA206aの外部画素入力パス704に提供される。
[0095] In this embodiment, the pixel transfer path selects between pixels from
[0096]選択ユニット706は、制御信号(明示せず)に応答して動作する。制御信号は、GPU700が内部分散AAモードで動作している場合には選択ユニット706がパス702上の画素を選択するように、GPU700のディスプレイヘッドA206aが別のGPUに対してマスターとして動作している場合にはパス708上の画素を選択するように設定する。この制御信号は、グラフィックスドライバから発せられたコマンドに応答して生成することができ、グラフィックソフトウェアにアクセスする必要なく適切なソフトウェアインターフェースを通じて、ユーザ(またはアプリケーション開発者)が内部分散AAを有効または無効にすることを可能にする。
[0096] The
[0097]この実施形態では、分散レンダリングモードにおいて外部GPUから画素が到着するのと同じタイミングでディスプレイヘッドB206bからの画素が選択回路706に到達するように、ディスプレイヘッドB206bから選択回路706へのパス702がFIFO、ラッチ、および他のタイミング制御デバイスを含むことができることに留意されたい。この場合、ディスプレイヘッドB206bおよびディスプレイヘッドA206aの動作タイミングは、GPUが分散レンダリングモードまたは内部分散AAモードに依存しない。
[0097] In this embodiment, the path from the
[0098]内部画素転送パスは、GPUに修正を要するものの、GPUのI/Oポートのいずれの使用も必要としない。故に、例えば、GPU700が内部分散AAフィルタリングを実行し続ける間、GPU700のディスプレイヘッドA206aは別のGPUのディスプレイヘッドに対してスレーブ化可能であり、あるいはGPU700のディスプレイヘッドB206bは別のGPUのディスプレイヘッドに対してマスター化可能である。
[0098] Although the internal pixel transfer path requires modification to the GPU, it does not require the use of any of the GPU's I / O ports. Thus, for example, while
[0099]本明細書に記載の内部画素転送パスは例示的なものであって、変更および修正が可能であることが理解されよう。例えば、(ディスプレイヘッドA206aからディスプレイヘッドB206bへの)「逆方向」画素転送パスを示したパスに追加して設けることもできる。[他の実施形態]
[0099] It will be appreciated that the internal pixel transfer paths described herein are exemplary and can be changed and modified. For example, a “reverse” pixel transfer path (from
[0100]上述のように、本発明の実施形態は、AAフィルタ処理画像を生成するために、1つのGPUだけでなく、複数のGPUにわたって分散レンダリングに広く関連付けられた読み出し技術およびコンポーネントを用いることが可能なマルチGPUシステム用の分散アンチエイリアシング技術を提供する。適当なグラフィックスドライバインターフェースを介して、任意のグラフィックスプログラムについてプログラムそれ自体に与えられたAA(またはその欠如)に関係なく、適切に設定されたGPUのエンドユーザが内部分散AAを有効にすることを選択可能である。プログラムがAAを提供する場合、本明細書に記載の内部分散AAは、AA解像度を上げる(例えば2倍にする)ために用いることが可能である。 [0100] As noted above, embodiments of the present invention use readout techniques and components that are widely associated with distributed rendering across multiple GPUs, not just one GPU, to generate AA filtered images. To provide distributed anti-aliasing technology for multi-GPU systems. Appropriately configured GPU end-users enable internal distributed AA, regardless of the AA (or lack thereof) given to the program itself for any graphics program via the appropriate graphics driver interface You can choose that. If the program provides AA, the internally distributed AA described herein can be used to increase (eg, double) AA resolution.
[0101]本発明を特定の実施形態に関連して説明してきたが、当業者であれば多数の修正が可能であることが理解されよう。例えば、本発明はAAフィルタリングを参照して説明してきたが、本明細書に記載の単一GPUのディスプレイヘッド間または複数GPUのディスプレイヘッド間の結合を別の方法で用いることもできる。 [0101] Although the present invention has been described with reference to particular embodiments, those skilled in the art will recognize that numerous modifications are possible. For example, although the present invention has been described with reference to AA filtering, the coupling between single GPU display heads or multiple GPU display heads described herein may be used in other ways.
[0102]代替的な一実施形態では、ステレオアナグリフを生成するために分散フィルタリングを用いることが可能である。当分野で既知のように、ステレオアナグリフはシーンの左目視野および右目視野を重ねて1つの画像を作り出す。通常、左目画素と右目画素には異なるカラーフィルタが適用されるが、例えば、右目画素を赤色パスフィルタでフィルタ処理し、左目画素を青/緑色パスフィルタを用いてフィルタ処理することができる。左目視野および右目視野間の視野域または視点オフセットにより、シーンの同じ点に対応する左目画素と右目画素はアナグリフの異なる位置にくる。故に、裸眼には、アナグリフが歪んだ色の二重画像に見える。画像を正確に観るには、観察者が、右目画素用に用いた色をフィルタで除外する左レンズと左目画素用に用いた色をフィルタで除外する左レンズの特殊なメガネを着用する。 [0102] In an alternative embodiment, distributed filtering can be used to generate stereo anaglyphs. As is known in the art, stereo anaglyphs superimpose the left and right eye views of a scene to create a single image. Normally, different color filters are applied to the left eye pixel and the right eye pixel. For example, the right eye pixel can be filtered with a red pass filter, and the left eye pixel can be filtered with a blue / green pass filter. Due to the field of view or viewpoint offset between the left and right eye fields, the left and right eye pixels corresponding to the same point in the scene are at different positions in the anaglyph. Therefore, the naked eye can see an anaglyph double-distorted color image. In order to view the image accurately, the observer wears special glasses for the left lens that excludes the color used for the right eye pixel with a filter and the left lens that excludes the color used for the left eye pixel with a filter.
[0103]図4Aを参照すると、シーンの右目視野を生成するためにGPU122(0)のレンダリングパイプライン(図示せず)を用い、シーンの左目視野を生成するためにGPU122(1)のレンダリングパイプライン(図示せず)を用いることができる。右目および左目視野用のレンダリングパラメータを決定するのに既知の技術を用いることができる。 [0103] Referring to FIG. 4A, the rendering pipeline (not shown) of GPU 122 (0) is used to generate the right eye view of the scene, and the rendering pipe of GPU 122 (1) is used to generate the left eye view of the scene. A line (not shown) can be used. Known techniques can be used to determine the rendering parameters for the right and left eye views.
[0104]右目画素Pi1および左目画素Pi0は、GPU122(0)およびGPU122(1)のそれぞれのレンダリングパイプラインまたはそれぞれのディスプレイパイプライン202(0)および202(1)のいずれかにおいて、有利にカラーフィルタ処理される。一実施形態では、異なる赤、緑および青色成分を用いて画素色が特定される。右目画素は、例えば赤色成分をゼロまで減らし、緑および青色成分を不変のままにすることによりフィルタ処理可能である。同様に、左目画素は、緑および青色成分をゼロまで減らし、赤色成分を不変のままにすることによりフィルタ処理可能である。 [0104] The right eye pixel P i1 and the left eye pixel P i0 are advantageous in either the rendering pipeline of GPU 122 (0) and GPU 122 (1) or in the respective display pipelines 202 (0) and 202 (1). Color filter processing. In one embodiment, pixel colors are identified using different red, green and blue components. The right eye pixel can be filtered, for example, by reducing the red component to zero and leaving the green and blue components unchanged. Similarly, the left eye pixel can be filtered by reducing the green and blue components to zero and leaving the red component unchanged.
[0105]右目画素Pi1は、GPU122(1)のディスプレイヘッドA206aに送られる。ディスプレイヘッド206(a)は、画素Pi1をMIOAポート214a(1)に転送し、これが画素をPo1としてGPU122(0)のMIOAポート214a(0)へと送る。ディスプレイヘッド206a(0)は、このようにして右目画素を外部画素として受信する。
[0105] The right-eye pixel P i1 is sent to the
[0106]左目画素Pi0は、内部画素としてディスプレイヘッド206a(0)に送られる。一般に、対応する左目画素および右目画素はシーンの異なる位置を再生するが、右目視野および左目視野を生成するのに用いられる視野域または視点オフセットによって、画素選択論理回路300により処理される対応する左目画素および右目画素がアナグリフフレーム内の同じ位置にある画素となることに留意されたい。
[0106] The left-eye pixel P i0 is sent to the
[0107]一実施形態では、ディスプレイヘッド206a(0)が図3の画素選択論理回路300を含んでいる。アナグリフを生成するために、除算回路306および314がともに1の除数を選択するように設定される。加算回路308は、左目画素Pi0と右目画素Pi1を加算し、初期のカラーフィルタリングの結果として、左目画素の赤色成分と右目画素の青色および緑色成分を有する合計画素をパス310上に生成する。選択マルチプレクサ312がパス310から合計画素を選択し、選択マルチプレクサ316がパス315上で混合画素を出力画素として選択する。
[0107] In one embodiment, the
[0108]他の実施形態では、画素選択論理回路300の前のカラーフィルタは用いない。例えば、選択が各色成分について独立に制御可能であるように選択マルチプレクサ312および/または316を設定可能である。このような一実施形態では、選択マルチプレクサ312がパス302から左目画素Pi0の全ての色成分を通過し、選択マルチプレクサ316が左目画素Pi0の赤色成分と右目画素Pi1の青色および緑色成分を通過する。結果はパス318上の左目画素の赤色成分と右目画素の青色および緑色成分を有する出力画素となる。
[0108] In other embodiments, the color filter in front of the pixel
[0109]当業者であれば、アナグリフレンダリングに3つ以上のGPUを使用可能であることを理解することができる。4つのGPU(例えば図4B)の実施形態では、2つのGPUを右目視野生成用に用い、2つのGPUを左目視野生成用に用いることが可能である。各視野を生成する2つのGPUは、アナグリフの画質を高めるために上述したような分散アンチエイリアシング技術を採用することが可能である。 [0109] One skilled in the art can appreciate that more than two GPUs can be used for anaglyph rendering. In an embodiment of four GPUs (eg, FIG. 4B), two GPUs can be used for right eye field generation and two GPUs can be used for left eye field generation. The two GPUs that generate each field of view can employ distributed anti-aliasing techniques as described above to enhance the image quality of anaglyphs.
[0110]ステレオアナグリフは、内部分散フィルタリングを用いてもレンダリング可能である。図4Bを参照すると、GPU122(0)のレンダリングパイプライン(図示せず)が両方の視野を生成可能であり、左目視野をフレームバッファAに、右目視野をフレームバッファBに(あるいはその反対に)記憶する。ディスプレイパイプラインB402bおよびディスプレイヘッドB206bが右目視野を画素PBとしてディスプレイヘッドA206aに送り、ディスプレイパイプラインA402aが左目視野を画素PAとしてディスプレイヘッドA206aに送る。ディスプレイヘッドA206aでは、画素合成器308(図3)がアナグリフを生成するように適切に画素を混合する。
[0110] Stereo anaglyphs can also be rendered using internal distributed filtering. Referring to FIG. 4B, the rendering pipeline (not shown) of GPU 122 (0) can generate both views, the left eye view into frame buffer A and the right eye view into frame buffer B (or vice versa). Remember.
[0111]フェードイン、フェードアウト、またはディゾルブ等の遷移効果を発生させるためにも分散フィルタリングを用いることが可能である。例えば、内部分散の場合、フレームバッファBはフェードアウトする画像を記憶することができ、フレームバッファAはフェードインする画像を記憶する。各フレームでは、画素合成器308が画素の相対的な重みをフレームバッファAおよびフレームバッファBから調整し、それによってフレームAからの画像が徐々に最高強度まで上がり、フレームバッファBからの画像がゼロ強度まで弱まる。(フレームバッファBの画像がベタ色領域であったら効果はフェードインとなり、フレームバッファAの画像がベタ色領域であったら効果はフェードアウトとなる。)遷移の平滑性は、一部には、画素合成器308が形成可能な画素PAおよび画素PBの異なる加重平均の数に依存するが、これは設計上の選択の問題である。外部分散フィルタリングの複数のGPUも同様の効果を達成するのに用いることが可能である。
[0111] Distributed filtering can also be used to generate transition effects such as fade-in, fade-out, or dissolve. For example, in the case of internal dispersion, the frame buffer B can store an image that fades out, and the frame buffer A stores an image that fades in. For each frame, the
[0112]別の実施形態では、分散フィルタリングを各ディスプレイヘッドのルックアップテーブルと組み合わせて用いることにより、このような遷移効果を達成可能である。当分野で既知のように、ディスプレイヘッドは、内部画素表現をディスプレイ装置に適したカラー強度に変換するルックアップテーブルを含んでいることが多く、時には異なる値をルックアップテーブルにロードしたりリロードしたりすることが可能である。ルックアップテーブル内の値のカラー強度をあるフレームから次のフレームへと下げる(または上げる)ことによってフェードアウト(またはフェードイン)を達成可能である。故に、フレームバッファB内の画像からフレームバッファA内の画像へとディゾルブするには、従来のフェードアウトルックアップテーブルをディスプレイヘッドBに適用することも可能であり、従来のフェードインルックアップテーブルをディスプレイヘッドAに適用する。画素合成器308は、2つの画像を一定の(例えば等しい)重みで合成し、ディゾルブ効果を作り出す。
[0112] In another embodiment, such transition effects can be achieved by using distributed filtering in combination with a look-up table for each display head. As is known in the art, display heads often include a look-up table that converts the internal pixel representation to a color intensity suitable for the display device, sometimes loading and reloading different values into the look-up table. It is possible to Fade out (or fade in) can be achieved by lowering (or increasing) the color intensity of values in the lookup table from one frame to the next. Thus, to dissolve from the image in frame buffer B to the image in frame buffer A, a conventional fade-out look-up table can be applied to display head B, and the conventional fade-in look-up table is displayed. Applies to head A. The
[0113]他の実施形態では、同じGPUのディスプレイヘッド間の画素転送が、混合とは関係ないディスプレイ特性を実施するために用いられる。例えば、ディスプレイヘッド間の画素転送は、LCDオーバードライブ(当分野では「LCDフィードフォワード」または「応答時間補正」(RTC)ともいう)機能を制御するために用いることが可能である。当分野で既知のように、LCD画面は、画素を駆動する信号が部分的には所望の新たな強度また部分的には所望の新たな強度と前の強度との差分に基づいて、フレーム毎に調整される場合に、より速く応答するようにすることが可能である。 [0113] In other embodiments, pixel transfers between display heads of the same GPU are used to implement display characteristics that are independent of mixing. For example, pixel transfer between display heads can be used to control LCD overdrive (also referred to in the art as “LCD feedforward” or “response time correction” (RTC)) functions. As is known in the art, LCD screens are based on a frame-by-frame basis where the signal driving the pixel is based in part on the desired new intensity or in part on the difference between the desired new intensity and the previous intensity. It is possible to respond faster when adjusted.
[0114]LCDオーバードライブ機能を実施するには、フレームバッファBが前の画像の画素を記憶するのに対し、フレームバッファAを新たな画像の画素を記憶するように用いることが可能である。ディスプレイヘッドBは前の画素値をディスプレイヘッドAに送り、ディスプレイヘッドAの画素合成器308は、例えば従来のLCDオーバードライブ信号を計算するための記述を用いて新たな値および前の値に基づいてオーバードライブ値を計算するように設定可能である。
[0114] To implement the LCD overdrive function, the frame buffer B can store the pixels of the previous image, whereas the frame buffer A can be used to store the pixels of the new image. Display head B sends the previous pixel value to display head A, and
[0115]あるGPUのディスプレイヘッド間の画素転送は、合成画像を生成するためにも用いることができる。例えば、フレームバッファBは、フレームバッファAに記憶された画像の一部に重ねられるオーバーレイ画像用の画素を含むことができる。ディスプレイヘッドBがディスプレイヘッドAにオーバーレイ画素を送り、ディスプレイヘッドAの画素選択論理回路300が、外部画素が選択されるオーバーレイ領域以外で内部画素を選択する。
[0115] Pixel transfer between display heads of a GPU can also be used to generate a composite image. For example, the frame buffer B can include pixels for an overlay image that is overlaid on a portion of the image stored in the frame buffer A. The display head B sends an overlay pixel to the display head A, and the pixel
[0116]このように、本発明を特定の実施形態に関連して説明してきたが、本発明が特許請求項の範囲内の全ての変形物および均等物を対象とするように意図されていることが理解されよう。 [0116] Thus, while the invention has been described with reference to specific embodiments, the invention is intended to cover all modifications and equivalents within the scope of the claims. It will be understood.
100…コンピュータシステム、102…中央演算処理装置(CPU)、104…システムメモリ、105…メモリブリッジ、106、113…バス、107…I/O(入力/出力)ブリッジ、112…グラフィックスサブシステム、110…ディスプレイ装置、114…システムディスク、122…グラフィックス処理装置(GPU)、124…グラフィックスメモリ、202、402…ディスプレイパイプライン、206a、206b…ディスプレイヘッド、210、211…デジタル出力ポート、212、213…アナログ出力ポート、214a、214b…多目的入力/出力(MIO)ポート、220…クロスバー、300、350…画素選択論理回路、302、352…第1のパス、304、354…第2のパス、306、358…画素合成回路、308…第1の除算回路、310…加算回路、312…選択回路、314、366…第2の除算回路、316、360…パス、318…選択回路、320、364…出力パス、362…選択マルチプレクサ、400…画素転送パス、404…フレームバッファA、406…フレームバッファB。
DESCRIPTION OF
Claims (18)
第1のグラフィックスプロセッサにより生成された、ガンマ補正された第1の画素を伝播するように構成された第1の入力パスと、
第2のグラフィックスプロセッサにより生成された、ガンマ補正された第2の画素を伝播するように構成された第2の入力パスと、
前記第1の入力パスおよび前記第2の入力パスに結合され、前記ガンマ補正された第1の画素と前記ガンマ補正された第2の画素を混合して、混合画素を生成するように構成された画素合成器と、
前記ガンマ補正された第1の画素、前記ガンマ補正された第2の画素、又は、前記混合画素の1つを出力画素として選択するように構成された選択回路と、を備える、ディスプレイヘッド。 A display head for a graphics processor,
A first input path configured to propagate a gamma corrected first pixel generated by a first graphics processor;
A second input path configured to propagate a gamma corrected second pixel generated by the second graphics processor;
Coupled to the first input path and the second input path and configured to mix the gamma corrected first pixel and the gamma corrected second pixel to generate a mixed pixel. A pixel synthesizer,
And a selection circuit configured to select one of the gamma corrected first pixel, the gamma corrected second pixel, or the mixed pixel as an output pixel.
前記画素合成器が、前記第1の画素および前記第2の画素のガンマ補正混合を計算することによって前記混合画素を生成するように構成される、請求項1に記載のグラフィックスプロセッサ。 The first pixel and the second pixel are gamma correction pixels;
The graphics processor of claim 1, wherein the pixel synthesizer is configured to generate the blended pixel by calculating a gamma correction blend of the first pixel and the second pixel.
(4Pi+4Pe+|Pi−Pe|)/4
により計算される、請求項6に記載のグラフィックスプロセッサ。 The gamma correction approximation of mixing, the gamma-corrected first pixel P i, the gamma-corrected second pixel when P e, and the following formula (4P i + 4P e + | P i -P e |) / 4
The graphics processor of claim 6, calculated by:
ガンマ補正された第2の画素を外部画素の供給源から受信するように構成された入力ポートと、
ディスプレイヘッドとを備え、
前記ディスプレイヘッドは、
前記ディスプレイパイプラインに結合され、前記ディスプレイパイプラインから前記ガンマ補正された第1の画素を受信するように構成された第1の入力パスと、
前記入力ポートに結合され、前記入力ポートから前記ガンマ補正された第2の画素を受信するように構成された第2の入力パスと、
前記第1の入力パスおよび前記第2の入力パスに結合され、前記ガンマ補正された第1の画素と前記ガンマ補正された第2の画素を混合して、混合画素を生成するように構成された画素合成器と、
前記ガンマ補正された第1の画素、前記ガンマ補正された第2の画素、又は、前記混合画素の1つを出力画素として選択するように構成された選択回路とを有する、グラフィックスプロセッサ。 A display pipeline configured to generate a gamma corrected first pixel;
An input port configured to receive a gamma corrected second pixel from a source of external pixels;
With a display head,
The display head is
A first input path coupled to the display pipeline and configured to receive the first gamma corrected pixel from the display pipeline;
A second input path coupled to the input port and configured to receive the second gamma corrected pixel from the input port;
Coupled to the first input path and the second input path and configured to mix the gamma corrected first pixel and the gamma corrected second pixel to generate a mixed pixel. A pixel synthesizer,
A graphics processor comprising: a selection circuit configured to select one of the gamma corrected first pixel, the gamma corrected second pixel, or the mixed pixel as an output pixel.
前記ディスプレイヘッドと複数の出力ポートとの間に結合された外部回路とを更に含み、
前記外部回路は、出力画素を前記出力ポートの一つに選択的に転送するように構成された、請求項9に記載のグラフィックスプロセッサ。 Multiple output ports,
An external circuit coupled between the display head and a plurality of output ports;
The graphics processor of claim 9, wherein the external circuit is configured to selectively transfer an output pixel to one of the output ports.
第1のグラフィックスプロセッサを用いて、画像用のガンマ補正された入力画素の第1セットをレンダリングするステップと、
第2のグラフィックスプロセッサを用いて、画像用のガンマ補正された入力画素の第2セットをレンダリングするステップであって、前記第1のグラフィックスプロセッサ及び前記第2のグラフィックスプロセッサの各々のレンダリング動作は、少なくとも一つの点で異なるステップと、
前記ガンマ補正された入力画素の第1セット及び前記ガンマ補正された入力画素の第2セットを第1のディスプレイヘッドに送るステップと、
前記第1のディスプレイヘッドで、前記ガンマ補正された入力画素の第1セット及び前記ガンマ補正された入力画素の第2セットの対応する画素を混合して、出力画素の第1セットを生成するステップと、を含む方法。 A method for generating an image, comprising:
Rendering a first set of gamma corrected input pixels for an image using a first graphics processor;
Rendering a second set of gamma corrected input pixels for an image using a second graphics processor, each rendering of the first graphics processor and the second graphics processor The operation differs in at least one point and
Sending the first set of gamma corrected input pixels and the second set of gamma corrected input pixels to a first display head;
Mixing corresponding pixels of the first set of gamma corrected input pixels and the second set of gamma corrected input pixels with the first display head to generate a first set of output pixels. And a method comprising:
The method of claim 13, further comprising sending the first set of output pixels to a display device.
Applications Claiming Priority (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US74715406P | 2006-05-12 | 2006-05-12 | |
US11/383,048 US8130227B2 (en) | 2006-05-12 | 2006-05-12 | Distributed antialiasing in a multiprocessor graphics system |
US11/383048 | 2006-05-12 | ||
US60/747154 | 2006-05-12 | ||
US11/680554 | 2007-02-28 | ||
US11/680,554 US20090085928A1 (en) | 2006-05-12 | 2007-02-28 | Antialiasing using multiple display heads of a graphics processor |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007128378A Division JP4748483B2 (en) | 2006-05-12 | 2007-05-14 | Anti-aliasing using multiple display heads of graphics processor |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2011123894A true JP2011123894A (en) | 2011-06-23 |
JP5116125B2 JP5116125B2 (en) | 2013-01-09 |
Family
ID=44147265
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010275767A Active JP5116125B2 (en) | 2006-05-12 | 2010-12-10 | Anti-aliasing using multiple display heads of graphics processor |
Country Status (3)
Country | Link |
---|---|
JP (1) | JP5116125B2 (en) |
CN (1) | CN102693712B (en) |
TW (1) | TWI343020B (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013137756A (en) * | 2011-12-05 | 2013-07-11 | Arm Ltd | Method for processing computer graphics and device for processing computer graphics |
JP2021057766A (en) * | 2019-09-30 | 2021-04-08 | 株式会社ソニー・インタラクティブエンタテインメント | Image display system, video distribution server, image processing device, and video distribution method |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9678775B1 (en) * | 2008-04-09 | 2017-06-13 | Nvidia Corporation | Allocating memory for local variables of a multi-threaded program for execution in a single-threaded environment |
US9324294B2 (en) * | 2009-04-07 | 2016-04-26 | Nvidia Corporation | Graphics system for supporting multiple digital display interface standards |
US9299181B2 (en) * | 2013-08-28 | 2016-03-29 | Qualcomm Incorporated | Target independent stenciling in graphics processing |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07319669A (en) * | 1993-03-16 | 1995-12-08 | Matsushita Electric Ind Co Ltd | Window-managed image blending circuit and weighted mean circuit used for the same |
JPH08154201A (en) * | 1994-11-29 | 1996-06-11 | Matsushita Electric Ind Co Ltd | Image composite method and image composite device |
JPH10124038A (en) * | 1996-10-18 | 1998-05-15 | Fujitsu General Ltd | Picture synthesizing device |
JPH11345218A (en) * | 1998-04-03 | 1999-12-14 | Sony Corp | Image processor and its method |
JP2000050315A (en) * | 1998-07-28 | 2000-02-18 | Nippon Hoso Kyokai <Nhk> | Method and device for controlling gradation display of stereoscopic image |
JP2001283213A (en) * | 2000-02-29 | 2001-10-12 | Canon Inc | Image processor and its method |
JP2004247873A (en) * | 2003-02-12 | 2004-09-02 | Fuji Photo Film Co Ltd | Picture display program |
JP2004349842A (en) * | 2003-05-20 | 2004-12-09 | Fuji Photo Film Co Ltd | Method and program for correcting composite image |
-
2007
- 2007-05-10 TW TW96116669A patent/TWI343020B/en active
- 2007-05-11 CN CN201210172738.7A patent/CN102693712B/en not_active Expired - Fee Related
-
2010
- 2010-12-10 JP JP2010275767A patent/JP5116125B2/en active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07319669A (en) * | 1993-03-16 | 1995-12-08 | Matsushita Electric Ind Co Ltd | Window-managed image blending circuit and weighted mean circuit used for the same |
JPH08154201A (en) * | 1994-11-29 | 1996-06-11 | Matsushita Electric Ind Co Ltd | Image composite method and image composite device |
JPH10124038A (en) * | 1996-10-18 | 1998-05-15 | Fujitsu General Ltd | Picture synthesizing device |
JPH11345218A (en) * | 1998-04-03 | 1999-12-14 | Sony Corp | Image processor and its method |
JP2000050315A (en) * | 1998-07-28 | 2000-02-18 | Nippon Hoso Kyokai <Nhk> | Method and device for controlling gradation display of stereoscopic image |
JP2001283213A (en) * | 2000-02-29 | 2001-10-12 | Canon Inc | Image processor and its method |
JP2004247873A (en) * | 2003-02-12 | 2004-09-02 | Fuji Photo Film Co Ltd | Picture display program |
JP2004349842A (en) * | 2003-05-20 | 2004-12-09 | Fuji Photo Film Co Ltd | Method and program for correcting composite image |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013137756A (en) * | 2011-12-05 | 2013-07-11 | Arm Ltd | Method for processing computer graphics and device for processing computer graphics |
JP2021057766A (en) * | 2019-09-30 | 2021-04-08 | 株式会社ソニー・インタラクティブエンタテインメント | Image display system, video distribution server, image processing device, and video distribution method |
JP7389602B2 (en) | 2019-09-30 | 2023-11-30 | 株式会社ソニー・インタラクティブエンタテインメント | Image display system, image processing device, and video distribution method |
Also Published As
Publication number | Publication date |
---|---|
JP5116125B2 (en) | 2013-01-09 |
CN102693712B (en) | 2015-01-14 |
TWI343020B (en) | 2011-06-01 |
TW200816039A (en) | 2008-04-01 |
CN102693712A (en) | 2012-09-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8130227B2 (en) | Distributed antialiasing in a multiprocessor graphics system | |
US20090085928A1 (en) | Antialiasing using multiple display heads of a graphics processor | |
US8212838B2 (en) | Antialiasing system and method | |
JP4748483B2 (en) | Anti-aliasing using multiple display heads of graphics processor | |
JP5116125B2 (en) | Anti-aliasing using multiple display heads of graphics processor | |
JP5061227B2 (en) | Video signal processing apparatus and virtual reality generation system | |
JP2007251914A (en) | Image signal processing apparatus, and virtual reality creating system | |
TWI539430B (en) | Low motion blur liquid crystal display | |
JP3888478B2 (en) | Data synchronizer | |
US20100039562A1 (en) | Source and output device-independent pixel compositor device adapted to incorporate the digital visual interface (DVI) | |
EP1026636B1 (en) | Image processing | |
US20030001857A1 (en) | Method and apparatus for determining logical texture coordinate bindings | |
WO2012142309A2 (en) | Method and apparatus for fast data delivery on a digital pixel cable | |
JP2019532319A (en) | Composite user interface | |
JP2003141095A (en) | Information processing system, method and computer program | |
JP2011109280A (en) | Image processor, and image processing method | |
GB2479067A (en) | Antialiasing Using Multiple Display HeadsOf A Graphics Processor | |
US7724253B1 (en) | System and method for dithering depth values | |
US20030164842A1 (en) | Slice blend extension for accumulation buffering | |
JP4115879B2 (en) | Image display device | |
JP2006171736A (en) | Image display device and method therefor | |
JP2007312420A (en) | Video signal processing apparatus and virtual reality creating system | |
Friston et al. | Ultra low latency dataflow renderer | |
JP4635379B2 (en) | Image processing device | |
JP2003225415A (en) | Device and method for displaying picture for pachinko machine |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120306 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20120606 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20120611 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20120706 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20120711 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20120806 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20120809 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120816 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20120918 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20121012 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5116125 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20151026 Year of fee payment: 3 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |