JPH08503563A - 画像発生アーキテクチャおよび装置 - Google Patents

画像発生アーキテクチャおよび装置

Info

Publication number
JPH08503563A
JPH08503563A JP6512280A JP51228094A JPH08503563A JP H08503563 A JPH08503563 A JP H08503563A JP 6512280 A JP6512280 A JP 6512280A JP 51228094 A JP51228094 A JP 51228094A JP H08503563 A JPH08503563 A JP H08503563A
Authority
JP
Japan
Prior art keywords
data
pixel
screen
primitive
image generation
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
Application number
JP6512280A
Other languages
English (en)
Other versions
JP3009732B2 (ja
Inventor
ポウルトン,ジョン・ウッド
モルナー,スティーヴン・エドワード
アイルズ,ジョン・ゴードン
Original Assignee
ザ・ユニヴァーシティ・オヴ・ノース・キャロライナ・アト・チャペル・ヒル
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ザ・ユニヴァーシティ・オヴ・ノース・キャロライナ・アト・チャペル・ヒル filed Critical ザ・ユニヴァーシティ・オヴ・ノース・キャロライナ・アト・チャペル・ヒル
Publication of JPH08503563A publication Critical patent/JPH08503563A/ja
Application granted granted Critical
Publication of JP3009732B2 publication Critical patent/JP3009732B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/36Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
    • G09G5/39Control of the bit-mapped memory
    • G09G5/393Arrangements for updating the contents of the bit-mapped memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/005General purpose rendering architectures

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computer Graphics (AREA)
  • Image Generation (AREA)
  • Image Processing (AREA)
  • Measurement Of The Respiration, Hearing Ability, Form, And Blood Characteristics Of Living Organisms (AREA)
  • Fittings On The Vehicle Exterior For Carrying Loads, And Devices For Holding Or Mounting Articles (AREA)
  • Ultra Sonic Daignosis Equipment (AREA)

Abstract

(57)【要約】 画像発生システムは、各々が図形プロセッサとラスタ処理装置を備えた複数のレンダラを有し、該レンダラはレンダリング処理すべき画像を構成する1組のプリミティブ・オブジェクト用の画素値を計算するように並列に動作する。図形プロセッサはグラフィックス・プリミティブ・オブジェクトを本来のオブジェクト座標からスクリーン座標に変換する。ラスタ処理装置はスクリーンの領域の各画素毎にメモリおよびプロセッサを有する増強メモリ装置のアレイで構成されている。該プロセッサおよびその関連するメモリはスクリーン空間のプリミティブ記述に対してSIMD方式で動作し、このような全領域に対する画素を計算し記憶する。増強メモリ装置は更に例えば可視性試験に基づく画素値を他のラスタ処理装置の対応するメモリ装置からの画素値と結合する合成器を有する。画像発生システムは更に複数のレンダラで計算された画素値に基づいて画素カラーを計算するシェーダ、およびこれらの画素カラーを記憶し、ラスタ表示装置をリフレッシュするビデオフレームバッファを有する。シェーダおよびフレームバッファはテクスチャおよび画像データを記憶する付加メモリ装置を有するレンダラで構成されている。また、本画像発生システムに使用される増強メモリ装置およびラスタ処理装置も開示されている。

Description

【発明の詳細な説明】 画像発生アーキテクチャおよび装置 発明の分野 本発明は、一般に画像発生システムに関し、特に画像合成技術を使用した画像 発生システムに関する。更に、本発明は、画像合成技術を使用した画像発生シス テムを実施するメモリ構成およびハードウェア設計に関する。 発明の背景 飛行および車両シミュレーション、コンピュータ・エイディッド・デザイン、 科学的な映像化、バーチュアル・リアリティのようなグラフィックアプリケーシ ョンは、高品質レンダリング、高ポリゴン速度および高フレーム速度を必要とす る。既存の商用システムは、毎秒2百万個のポリゴンに達するピーク速度でレン ダリングする(例えば、シリコン・グラフィックス社のスカイライタおよびヒュ ーレットーパッカード社のVRX(Silicon Graphics' SkyWriter and Hewlett- Packard' s VRX))。しかしながら、アンチエイリアシング(antialiasing)ま たはリアリスティック・シェーディング(realistic shading)またはテクスチ ャリング(texturing)を必要とする場合には、その性能は1桁低下する。 過酷なアプリケーションをサポートするために、未来のグラフィックスシステ ムは、高フレーム速度(≧30Hz)で、かつ小さい待ち時間でフォン・シェー ディング(Phong shading)、アンチエイリアシング、およびテクスチャリング のようなリアリスティック・レンダリング技術をもって何十万または何百万のプ リミティブを含むデータセットの高分解能の画像を発生することが必要である。 高性能レベルを達成しよう試みると、2つの障害、すなわち図形処理に対する 不十分な浮動小数点性能およびフレームバッファへの不十分なメモリ帯域幅に遭 遇する。例えば、30Hzで更新される100,000個のポリゴンを有する場 面をレンダリングするためには、図形処理は毎秒約3億5千万回の浮動小数点演 算を必要とし、ラスタ処理(rasterization)は約7億5千万回の整数演算および 4億5千万回のフレーム-バッファ・アクセスを必要とする。並列的な解決方法 が必須である。 いくつかの現在のシステムは、ラスタ処理の画素並列法を使用している。すな わち、フレーム-バッファ・メモリはいくつかのインターリーブ処理された区分 に分割され、その各々はそれ自身のラスタ処理プロセッサを有している。これは 、区分の数を掛けた分だけフレーム-バッファの有効な帯域幅を増大するが、多 くのプリミティブが多くの区分に関与しているので、各プロセッサが処理しなけ ればならないプリミティブの数は低減されない。この制限のためにおよび商用の VRAMの帯域幅の制限のために、この方法では、毎秒数百万個のポリゴンとい う現在の速度を越えてスケールすることはあまりない。 従って、本発明の目的は、高性能画像発生システムを提供することにある。 本発明による画像発生システムの他の目的は、グロー・シェーディッド・ポリ ゴン(Gouraud-shaded polygons)からフオン・シェーディッド・ボリュームデ ータ(Phong-shaded volume data)、直列レンダリングするコンストラクティブ ・ソリッド・ジオメトリー(CSG)オブシェクトまでの種々のレンダリングア リゴリズムおよびプリミティブタイプをサポートすることにある。 本発明の別の目的は、ラスタ処理/レンダリング、シェーディング、テクスチ ャリング、および画像バッファリングを含む種々の画像発生機能に適したアーキ テクチャアを提供することにある。 本発明の更に他の目的は、任意の数のレンダラ(render)を組み合わせること により広範囲の種々の性能レベルにわたってかつ任意の高いレベルに対してスケ ール可能である画像発生システムを提供することにある。また、本発明の目的は 、 プリミティブの再分配を必要とすることなく、簡略化されたプログラミングモデ ルを提供することにある。本発明の他の目的は、アンチエイリアシング・アルゴ リズムとともに使用するのに適した高帯域幅画像合成ネットワークを提供するこ とにある。 発明の概要 本発明の第1の態様は、プリミティブ・スクリーン・データを発生するプリミ ティブ処理手段と、該プリミティブ処理手段に関連して、プリミティブ・スクリ ーン・データから画素値を計算する複数のラスタ処理装置(rasterizer)を備え た画像発生システムを有する。ラスタ処理装置は、スクリーン座標の選択された 集合(セット)に対応する増強メモリ装置を有する。増強メモリ装置(enhanced memory device)は、選択されたスクリーン座標の各組に対して、画素値を計算 し、画素値を計算する処理手段と、該処理手段の各々に関連し、データを記憶す る格納手段と、該処理手段の各々に関連し、画素計算値を記憶する合成器バッフ ァ(compositor buffer)とを有する。また、増強メモリ装置は、複数の図形プ ロセッサ(geometry processor)の異なる1つに関連する対応する増強メモリ装 置から画素計算値を受け取る入力手段と、前記記憶された画素計算値および前記 入力手段で受け取った画素値を合成して、合成画素値を決定する合成器手段(co mpositor means)と、該合成器手段に関連して作動し、画素合成値を出力する出 力手段とを有する。 図面の簡単な説明 図1は、本発明の画像発生システムの一実施例を示すブロック図である。 図2は、シェーダボードを有する本発明の画像発生システムの第2の実施例を 示すブロック図である。 図3は、本発明のレンダラの実施例を示すブロック図である。 図4aは、本発明のレンダラの実施例を示すブロック図である。 図4bは、本発明のシェーダの実施例を示すブロック図である。 図4cは、本発明のフレームバッファの実施例を示すブロック図である。 図5は、本発明の増強メモリ装置の実施例を示すブロック図である。 図6は、ホストコンピュータがそれぞれの高速直列リンクを介して各レンダラ およびシェーダに接続されているシェーダボートを有する本発明の画像発生シス テムの実施例を示す絵画図である。 図7は、ポリゴンをレンダリングするステップおよび本発明の画像発生システ ムの実施例のために実行されるシステム構成要素を示すブロック図である。 図8は、本発明の画像合成ネットワーク用の制御ロジックの実施例を示すブロ ック図である。 図9は、転送サイクルの間の種々の段階におけるマスタ・コントローラおよび スレーブ・コントローラを有するレディ(ready)およびゴー(go)を示す本発 明の画像合成ネットワークの制御フローの実施例を示すブロック図である。 図10は、本発明の図形プロセッサとラスタ処理装置との間の通信バッファリ ングを行うコマンド・キューの実施例を示すブロック図である。 図11は、本発明のラスタ処理装置の実施例を示すブロック図である。 図12は、本発明の画像発生コントローラの実施例を示すブロック図である。 図13は、本発明のテクスチャASICと増強メモリ装置との間の接続の実施 例を示すブロック図である。 図14は、本発明のテクスチャASICチップの実施例を示すブロック図であ る。 図15は、本発明のシェーダボード・モジュールの実施例を示すブロック図で ある。 図16は、本発明のビデオボード・ラスタ処理装置の1モジュールの実施例を 示すブロック図である。 好適実施例の詳細な説明 本発明の画像発生システムは、リアルタイム3Dグラフィックス・アルゴリズ ムおよびアプリケーションを得るために画像合成の利点を利用する。本発明の画 像発生システムは、図1ないし図16を参照して説明されるが、これらの図に示 されている実施例に限定されるものではない。本発明は、まず一般的に説明し、 それから特定の実施例について例示的に説明する。 図1に示すように、最も高いレベルにおいて、本発明の画像発生システムは、 最終画像を発生するように並列に動作する複数のレンダラ(renderer)10で構 成されている。これらのレンダラ10は、ホストコンピュータ20からホストイ ンタフェース25を介してスクリーン画像のプリミティブを受け取る。それから 、画素値がレンダラ10で決定され、所与のレンダラで計算された特定の画素の 可視性が合成処理で決定され、ビデオディスプレイ40に表示するためにフレー ムバッファ30に記憶される。レンダラが線形に配列されているので、最終画像 は最後のレンダラの出力から発生する。 レンダラで受け取られたプリミティブは幾何的形状であり、これらのプリミテ ィブが組み合わされて画像を形成する。プリミティブは、形状、深さ、色、シェ ーディング、および本技術分野に専門知識を有する者に周知の画像についてのそ の他の情報を有している。プリミティブは、本技術分野に専門知識を有する者に 周知の多くの方法のうちのいずれかの方法で、複数のレンダラ10の全体に渡っ て分配される。それから、最終画像は複数のレンダラによって計算される画素値 を結合することにより形成される。画像合成技術は、複数のレンダラからの画素 値を再結合する手段として本画像発生システムに使用するのに特に適している。 画像合成を使用する場合には、スクリーン全体またはスクリーンの一部のプリ ミティブが複数のプロセッサに分配される。単一のレンダラにスクリーンの一部 のすべてのプリミティブの画素値を計算させるよりも、むしろレンダラの各々が スクリーンのある領域のプリミティブの一部の画素値を計算する。スクリーンの 領域とは、全スクリーンまたはその一部を示す。従って、レンダラのすべてはス クリーンの同一部分の画素値を計算し、それからレンダラの各々からのこれらの 画素値が結合され、スクリーンのその部分の最終画像を出力する。スクリーンの 各領域が、最終画像が生成されるまで順次処理される。複数のレンダラからのス クリーンの領域の画素値の結合を合成と称する。 図2に示すように、画像発生システムは、レンダラ10による合成の後であっ て、フレームバッファ30への格納の前に画像のテクスチャリングおよびシェー ディングを行うシェーダ(shader)15を更に有している。また、シェーダを使 用して、アンチエイリアシング(antialiasing)を実施することもできる。シェ ーダは、ホストプロセッサ20からシェーディング命令を受け取るとともに、線 形配列されたレンダラ10の最後のレンダラから合成された画素値を受け取る。 フォン(Phong)・シェーディング、および手順テクスチャや画像ベース・テク スチャのような据置きシェーディングアルゴリズムは、フレームバッファ30の 直前に設けられている別のハードウェアのシェーダ15で実施される。固有の色 、表面法線およびテクスチャ座標のような属性を含む画素領域は、ラスタ処理さ れ、レンダラ10の画像合成ネットワーク35に沿って合成され、画像合成ネッ トワーク35からシェーダ15にロードされる。画像合成ネットワーク35を、 どのボードも他のどのボードと通信し得るように、リングネットワークとして構 成することも任意に可能である。画像合成ネットワークを構成する他の手段がこ の機能を備えているものであることは、本技術分野に専門知識を有する者にとっ て明らかであろう。シェーダ15は、領域全体に対して並列的に作動して、生の 画素属性を最終RGB値に変換し、アンチエイリアシング用に複数のサンプルを 一緒に混合し、最終色値を画像合成ネットワーク35を介してフレームバッファ 30に転送する。 図3は、本発明によるレンダラ10のブロック図である。複数のレンダラの各 々は同じであってよい。レンダラ10はプリミティブを受け取り、該プリミティ ブをスクリーン座標に変換し、プリミティブ・スクリーン・データを供給する図 形プロセッサ100を有する。そして、プリミティブ・スクリーン・データは、 図形プロセッサに関連しているラスタ処理装置120に転送され、このプリミテ ィブ・スクリーン・データから画素値が計算される。代わりとして、このプリミ ティブ・スクリーン・データを、ホストプロセッサ20または他のプリミティブ 処理手段によってラスタ処理装置10に供給することもできる。この場合、ラス タ処理装置は図形プロセッサを有していない。 ラスタ処理装置120は、画像発生コントローラ110および少なくとも1つ の増強メモリ装置150を有しているが、メモリ装置は増強メモリ装置アレイ1 25を構成する複数の増強メモリ装置であることか好ましい。画像発生コントロ ーラ110は、プリミティブ・スクリーン・データを受け取り、該データを増強 メモリ装置150に供給する。また、画像発生コントローラ110は、図形プロ セッサ100から受け取った値を、アンチエイリアシングに使用するために増強 メモリ装置150に供給する前に、調整することができる。これらの増強メモリ 装置150の各々は、生成されているスクリーンの領域中のいすれの画素座標も が対応する増強メモリ装置を有するように、選択されたスクリーン座標の集合に 対応している。増強メモリ装置150の各々は、その特定の増強メモリ装置に関 連する座標の集合の各々に対して設けられ、画素値を計算する画素プロセッサ1 51またはその他の処理手段を有する。増強メモリ装置は、画素プロセッサ15 1の各々に関連し、これらの画素プロセッサによって使用されるデータを記憶す る格納手段152を有する。更に、増強メモリ装置150の各々は、前記画素プ ロセッサの各々に関連し、各スクリーン座標用の画素計算値を記憶するための合 成器バッファ153または他の格納手段を有する。また、増強メモリ装置は、他 のレンダラおよび画素計算値を出力するための合成器出力156または他の出力 手段に関連した対応する増強メモリ装置から画素計算値を受け取るための合成器 入力155またはその他の入力手段を有する。また、増強メモリ装置は、合成器 バッファ153に記憶された画素計算値を合成し、合成された画素値を合成器出 力156に供給する合成器回路154を有する。 合成器入力155で受け取った値を増強メモリ装置150にロードする機能を 加えることにより、レンダラ10はシェーディング機能用に利用することができ る。この場合は、シェーダ15は図形プロセッサ100およびラスタ処理装置1 20で使用するためにホストプロセッサからシェーディング情報を受け取るであ ろう。以下に説明するように、テクスチャリングを考慮して基本のレンダラを更 に変更することができる。 本発明の画像発生システムの特別な利点となるのは、レンダラ、シェーダ、お よびフレームバッファの構造のモジュール性である。すべての画素に対してシェ ーディング計算を同時に行うことができるので、レンダラ10に使用されている 単一命令複数データ(SIMD)ラスタ処理装置120は、遅延シェーディング 用の理想的なプロセッサである。従って、シェーダ15は簡単には指定されたレ ンダラであってよく、画像合成ネットワーク35と増強メモリ装置150との間 に両方向データ転送を可能とするように増強メモリ装置に対して合成器回路15 4をわずかに増強したものである。シェーダには、手順テクスチャに加えて画像 ベース・テクスチャを計算し得るようにハードウェアを追加することができる。 図4に示すように、図4bに示すシェーダ15および図4cに示すフレームバ ッファ30は、図4aに示すレンダラ10とほぼ同じである。図4bに示すよう に、ローカルポート160を増強メモリ装置150に加えることにより、上述し たようなテクスチャリングが可能である。ローカルバッファ161は、画素プロ セッサ151およびローカルポート160によるアクセスのためのデータを記憶 する。ローカルポート160は、テクスチャリング情報を記憶するために使用す ることができるローカル外部メモリ165または他の外部メモリ手段へのアクセ スを行う。ローカルポート160、ローカルバッファ161およびローカル外部 メモリ165の追加により、レンダラ10はシェーダ15として利用することが でき、テクスチャリング・アルゴリズムを実行することができる。 同様に、ローカルバッファ161、ローカルポート160およびローカル外部 メモリ165の追加により、さらにビデオ回路170さえ含めれば、シェーダ1 5は、フレームバッファ30として動作しうる。図4cに示すように、フレーム バッファ30のように、ローカル外部メモリ165は、フレームバッファメモリ として機能し、ビデオ回路170は、メモリから画素画像データを読み出す。フ レームバッファ30において、ローカルメモリ165は、一実施例では、別個の ダブルバッファVRAMフレームバッファである。 本発明の一実施例では、ホストプロセッサ20から受け取ったプリミティブは 、図形プロセッサによって、プリミティブを表す数式f(x,y)の係数として 表されるプリミティブ・スクリーン・データに変換される。特に、プリミティブ は、f(x,y)=Ax+By+Cの形式の一連の方程式に線形化されうる。こ こにおいて、xおよびyはスクリーン画素座標であり、A,BおよびCは特定の プリミティブに含まれる平面を定義する係数である。プリミティブをレンダリン グする上述した形式の線形方程式を使用することは、米国特許第4,590,4 65号の第4欄、第47行ないし第6欄、第8行に記載されている。この特許の 開示は、引用することにより、ここに完全に記載したものとし、本明細書の一部 をなすものとする。線形化について説明したが、二次方程式のような他の数式ま たはスクリーン座標の他の多項式を利用することもできる。 本発明の一実施例では、図形プロセッサ100は、画像発生コントローラ11 0を介して増強メモリ装置150にA,BおよびC係数を供給する。画像発生コ ントローラ110は、増強メモリ装置アレイ125を制御する。それは浮動小数 点形式のA,BおよびC係数をバイト直列固定小数点形式に変換し、プリミティ ブデータ、制御、アドレス情報のようなコマンド情報を増強メモリ装置アレイ1 25に送出することにより増強メモリ装置の動作を順序づけし、増強メモリ装置 150上の合成器ポート157を制御する。 また、画像発生コントローラ110は、スーパーサンプリングを使用すること によりアンチエイリアシング用に使用することができる。スーパーサンプリング は、ある画素を取り囲んでいるサブ画素位置における画素値を計算し、それから これらのサブ画素値を組み合わせて所与のスクリーン座標の実際の画素値を計算 する。画像発生コントローラ110は、サブ画素座標を反映するように係数を変 更し、それから図形プロセッサ100から別の係数を得ることなく、これらの係 数を増強メモリ装置150に再送信することができる。画像発生コントローラ1 10は、同じ組みのラスタ処理コマンドからスーパーサンプリング・フィルタカ ーネルの多数のサンプルを計算することを可能にするサブ画素オフセットレジス タを有している。これは、図形プロセッサへの負荷を増大することなく追加のサ ンプルをラスタ処理するので、スーパーサンプリング時にシステムの性能を増大 させることができる。 図5は、本発明の画像発生システムに利用されている増強メモリ装置150の 特定の実施例のブロック図である。本発明の増強メモリ装置を、本技術分野に専 門知識を有する者にとって周知の製造技術を使用して単一集積回路またはチップ 上に形成することができることは、本技術分野に専門知識を有する者に理解され ることであろう。 図5に示すように、本実施例では、個々の画素プロセッサ151は、ある線形 式評価器200を共有している。この線形式評価器200は、すべての画素プロ セッサ151における特定のプリミティブの一部を表す面を画定するAx+By +Cの双一次式として、プリミティブ・スクリーン・データの値を並列的に計算 する。また、各画素プロセッサ151は、その画素プロセッサに関連する格納手 段152として機能するローカルメモリ220の区分に対しておよび双一次式の ローカル値に対して算術および論理演算を行う小さなローカルALU210を有 する。画素プロセッサ151の演算は、SIMD(single-instruction-multipl e-data)であり、すべてのプロセッサは同一アドレスのデータ項目に対して演算 を行う。各画素プロセッサ151は、メモリへの書き込みを制限するイネーブル レジスタを有し、これらのプロセッサのサブセットは、ある演算(例えば、スキ ャン変換されたポリゴンのペインティング)に対して実行不能にされる。また、 画素プロセッサ151が使用するための情報を供給したり、ローカルポート16 0からの情報を受け取ったり、ローカルポート160に情報を出力するローカル バッファ161が設けられている。合成器バッファ153は、合成される画素値 を記憶する。合成器バッファ153は、合成および出力のために合成器回路15 4にデータを供給する。合成器回路154は、合成器入力155からデータを受 け取り、合成器出力156にデータを出力する。 図6に示すように、本発明の画像発生システムの一実施例は、1つ以上のカー ドケージで構成され、その各々は多数の回路ボードを有し、ホストプロセッサ2 0に接続されている。各カードケージのボードは共通のバックプレーンに取り付 けられ、各システムボードにまで延びている画像合成ネットワーク35を有して いる。各ボードはホストプロセッサ20に接続されるようになっている。更に、 バックプレーンは、システムボードに電力およびクロックを分配する。多数のカ ードケージは、これらを並設するとともに、特殊ブリッジボード(図示せず)お よびコネクタでそれらのバックプレーンを互いに接続することにより接続されて いる。 本発明の画像発生システムは、 毎秒百万回以上のzバッファされた三角形をレンダリングすることができるワ ンボード・グラフィックス・コンピュータであるレンダラ10と、 画素のシェーディング・モデルを並列に計算し、テクスチャリングすることが できるワンボード・グラフィックス・コンピュータであるシェーダ15と、 合成された画素をバッファしディスプレイするフレームバッファ30と、の3 つの主ボードタイプを含む。 典型的なアプリケーションでは、ホストプロセッサ20は、全体的なシステム マスタである。これは、コードおよびデータを種々のシステムボードにロードし 、ディスプレィ・プリミティブをレンダラ10に送出する。 システムは、一度に、スクリーンの1領域をラスタ処理する。これは、ラスタ 処理が発生する前に、変換されたプリミティブが各スクリーン領域毎のビン(bi n)に分類されなければならないことを意味する。これらのビンは図形プロセッ サのVRAMメモリ502に記憶される。 プリミティブが分類された後、それらは画像発生コントローラ命令に変換され 、一度に1ビン(bin)ずつラスタ処理される。画像発生コントローラ110お よび増強メモリ装置アレイ125は、各領域毎のプリミティブをラスタ処理する 。もし、例えばスーパーサンプリング・アンチエイリアシングで、いくつかのサ ンプルが各画素毎に要求されると、その場面は各パス毎に僅かに異なるサブ画素 オフセットで、数回にわたってラスタ処理される。領域がラスタ処理されると、 それは増強メモリ装置の合成器バッファ153にコピーされ、画像合成ネットワ ーク35の全体にわたって合成される。 シェーダ15は、使用される場合には、合成された画素値の領域を切り取り、 その領域内の各画素のシェーディングモデルを計算する。画素当りいくつかのサ ンプルを有するアンチエイリアシングの場合、各シェーダに送出された連続した 領域は連続したサンプルを含んでいる。これらのサンプルは各シェーダに記憶さ れた予め計算された混合係数を使用して互いに混合される。サンプルのすべてが 混合されると、アンチエイリアシングされシェーディング処理を施された画素領 域は、画像合成ネットワーク35を介してフレームバッファ30に転送される。 フレームバッファ30は、シェーディング処理されアンチエイリアシングされ た画素を受け取り、ローカル外部メモリ165の適当な部分に記憶する。あるフ レームの領域のすべてが受け取られると、バッファをスイッチし、この新しいフ レームを表示する。 レンダリングは、128x128の1つの領域が一度にラスタ処理/シェーデ ィング処理されるという、離散形式で行われることに注意されたい。システムの 各ボードは、合成するかどうか、シェーダにロードするか、アンロードすべきか 、処理せずに転送するかどうかといったような、適切なやりかたを選択して処理 できるように、各領域のタイプと位置を理解していなければならない。これは、 レンダリングが開始する前に、各ボードにレンダリング処方を配布することによ り行われる。レンダリング処方は、画像合成ネットワークに転送される領域およ び各領域に対して取られる動作のリストである。あるボードでは、レンダリング 処方は単純である。例えば、フレームバッファのレンダリング処方は、領域が記 憶されるべきかどうかについて、どこで、どの点でバッファをスイッチすべきか について簡単に記述している。シェーダに対するレンダリング処方は、更に複雑 である。それは、領域をロードし、他の領域を混合し、処理することなくある領 域を転送し、他の領域をアンロードしなければならない。図7は、ポリゴンおよ びそれらが実行されるシステムコンポーネントをレンダリングするステップを図 示している。 ホストプロセッサ(host processor)。ホストプロセッサ20は、システムマ スタとして機能するワークステーション、多重処理システムまたはその他の汎用 コンピュータである。ホストプロセッサはコードおよびデータを種々のシステム ボ ードにロードし、ユーザの入力をサンプルし、アプリケーションを動作させ、プ リミティブをレンダラ10に送出し、シェーディングコマンドをシェーダ15に 送出する。 画像合成ネットワーク(image-composition network)。画像合成ネットワー ク35は、隣接ボード間で画素データを迅速に移動させる非常に幅の広い(25 6ビット)、高速で特殊な通信ネットワークである。両像合成ネットワークは、 システムの異なる部分の2つの機能を実行する。すなわち、画像合成ネットワー クは、画素データをレンダラ10の合成器154間で転送し、レンダリング処理 された画素をシェーダ15からフレームバッファ30に転送する。画像合成ネッ トワーク35は、隣接するバックプレーン・スロットを接続する256本のワイ ヤとして実施される。各システムボードの合成器データを隣接するボードの合成 器に送信する。 画像合成ネットワーク35は、全システムバックプレーン(または多重ラック システムのバックプレーン)を横切って延びる非常に大きな帯域幅のリング接続 された一方向データパスとして実施される。バックプレーンはボード間の点と点 を結ぶワイヤリングを構成するが、各ボードには活性回路が設けられている。 画像合成ネットワークの生の帯域幅は、システムにおける最大スクリーン分解 能、フレーム速度、画素当りのサンプルの数、画素当りのビット数を決定する。 これらのパラメータは互いにトレードオフできるが、これらの積は全体の帯域幅 よりも小さくなければならない。 画像合成ネットワークは、2つのパート、すなわち画素データをボードからボ ードに伝送するデータパス、および、ネットワークを介して転送を同期し順序づ ける制御パスから構成されている。画像合成ネットワーク制御パスは、以下に説 明するレディ/ゴー・コントローラまたはデータの転送を同期する他の適当な画 像合成ネットワーク制御手段によって支配される。これらの部分の一実施例につ いて更に詳細に説明する。 データパスは、システム内の各対の隣接するボードを接続する256ビットの 広いポイントツーポイント通信ネットワークである。相互接続ワイヤは、システ ム・バックプレーンの一部である。高密度コネクタにより、関連する制御信号と ともにデータパスワイヤが各ボードに取り出される。データパス用のアクティブ 回路のすべてが、個々のレンダラ/シェーダおよびフレームバッファボード上に 設けられている。 ネットワーク内の個々の合成器154は、プログラム制御により構成可能であ る。合成器は次の4つのモードの1つで動作する: 合成。合成器入力155における画素ストリームを有する増強メモリ装置15 0の合成器バッファ153からの画素ストリームを合成する。その結果を合成器 出力156を介して送信する。 ロード。入力ストリームを増強メモリ装置にロードする。 転送。入力ストリームを変更することなく合成器出力156に転送する。 アンロード。増強メモリ装置からのデータを合成器出力156を介して送出す る。合成器入力155に到着した画素を無視する。 合成処理は、いくつかの方法で実施できる。一実施例では、これは入力画素の z値を合成器バッファ画素のz値と比較し、どの画素が見えるかを決定すること により行われる。本技術分野に専門知識を有する者によって理解されるように、 他の合成方法も本発明で利用することができる。例えば、可変長リストの断片に より画素が表されるAバッファ合成を使用することができる。Aバッファ合成を 使用するには、各レンダラ10は各画素のオーダリストの部分を計算し、合成器 は入力画素の部分を合成器バッファに記憶された画素の部分でインターリーブし 、もはや見えない部分を削除する。 zバッファリングを使用する実施例では、合成モードは、画素がz値を有し、 各ビットは最上位ビット(MSB)から最下位ビット(LSB)まで順序づける ことを必要とする。より近い画素が対応するビットを比較することにより決定さ れると、合成器154はどの画素が前方にあるかを記録し、優先順位の決定がこ の画素に対して行われたことを記録する状態ビットを設定する。これらの2つの 状態ビットは、どの画素が残りのzビットおよび画素内の他のデータビットのす べてに対して送信されるのかを決定する。 合成モードは、レンダラ・ボードに必要とされる唯一のモードである。しかし ながら、シェーダ15は、合成された領域をその増強メモリ装置150にロード し、シェーディング処理された領域をアンロードし、他のシェーダに関係する領 域を転送するために他のモードを必要とする。 画像合成ネットワーク35上の転送は、1領域の大きさを量子とする。画素の ビットの数は可変である。しかしながら、一度転送が開始されると、どんな画素 サイズであっても、その領域のすべての画素が発信元ボードから送信され、宛先 ボードで受信される。 領域転送は、一般に2つのタスクのうちの1つを実行する。すなわち、レンダ ラからの画素の領域を合成し、シェーダに入力するか、またはシェーディング処 理された画素をフレームバッファに転送する。(領域を1つのレンダラから他の レンダラに転送するような他の処理も可能であるが、標準のポリゴンレンダリン グでは必要でない。)各領域転送は、システム内の各ボードに対して特定の意味 を有し、画素データのフォーマットは、転送の種類により異なる。各ボードはそ れ自身を正しく構成できるように転送の目的を知らなければならない。個々のボ ードに対する転送のスケジュールは、レンダリング処方と呼ばれている。各ボー ドのレンダリング処方は、並列システム用の分散されたコントローラである。 転送処理は、画像合成ネットワーク35を最大に使用するために非常に正確に かつ低いオーバーヘッドで同期していなければならない。転送が開始し、上流の レンダラが画素を送信開始すると、下流のレンダラはそれらを正確なクロックサ イクルで受信する用意をしなければならない。また、画像合成ネットワークは、 すべてのボードが次の転送を開始しようとする時を決定しなければならない。こ の決定は迅速に行わなければならない。遅延すると、画像合成ネットワークにわ たって達成される正味の帯域幅、従ってシステムの最大速度に影響を与えるから である。画像合成ネットワークの制御パスは、これらの2つの機能を実行する。 更に、画像合成ネットワークは、転送を各ボードの他の構成要素と同期させる。 レディ・チェーン(ready chain)およびゴー・チェーン(go chain)は、画 像合成ネットワーク35の全体にわたって転送を同期させるハードウェア連動装 置である。レディ・トークン(ready token)は、ボードからボードへ上流へと 伝播し、次の転送に対してボードの用意ができている時を示す。ゴー・トークン (go token)は、下流へと伝播し、転送の開始をトリガする。 図8に示すように、一実施例では、画像発生コントローラ110は、3つの入 力および3つの出力をもってレディ/ゴー・コントローラ機能を実行する。転送 レディ(XferReady)入力は、ラスタ処理装置から供給される。それはラスタ処 理装置が次の転送を開始しようとする時を示している。転送レディ(XferReady )、レディ・イン(ReadyIn)、およびレディ・アウト(ReadyOut)は、レディ ・チェーンを構成する。すなわち、レディ・トークンは、各ボード上のレディ・ アウトの低から高への変移によって符号化される。ゴー・イン(GoIn)、ゴー・ アウト(GoOut)、および転送ゴー(XferGo)はゴー・チェーンを構成する。す なわち、ゴー・トークンは、各ボード上のゴー・アウトの低から高への変移によ って符号化される。 動作に際して、フレームバッファ30は、次の転送を開始する準備ができたと き、レディ・アウトを主張する。各画像発生コントローラのレディ/ゴー・コン トローラは、下流のコントローラからレディ・インを受け取り、レディ・アウト を上流のコントローラに出力する。該コントローラは、レディ・インおよび転送 レディが両方とも主張された後、レディ・アウトを主張する。転送は、レディが 上流のレンダラに到着したときに開始する。したがって、各ボードは、開始しよ うとするまで転送を遅延することができる。 ゴーは、レディと反対方向に画像合成ネットワークを伝播する。上流の画像発 生コントローラは、転送ゴー(XferGo)およびゴー・アウト(GoOut)を主張して 、転送を開始する。各画像発生コントローラがゴー・イン(GoIn)を受け取ると 、転送ゴー(XferGo)をボードに主張し、ゴー・アウト(GoOut)を下流のコン トローラに主張する。このボードは、レディを拒否することができるのと同じ方 法では、ゴーを拒否することはできない。すなわち、ボードは、転送レディ(Xf erReady)を主張した時に、その特権を失ったのである。ゴーの到着は、nクロ ックサイクル後に(nは出力シーケンス回路の開始遅延によって決定される)、 画素が合成ネットワーク上を流れることを意味する。転送が完了すると、画像発 生コントローラは、転送ゴー(XferGo)およびゴー・アウト(GoOut)を主張し なくなり、フレームバッファ30(用意できたとき)は、レディ・アウト(Read yOut)を主張し、次の転送サイクルが開始する。 上流レンダラ上のレディ/ゴーは、僅かに異なる機能を有する。レディを上流 に通過させ、ゴーを下流に通過させるよりもむしろ、レディ・イン(ReadyIn) および転送レディ(XferReady)を受信した後、単にゴー・アウト(GoOut)を主 張する。このコントローラは、転送を実際に開始する時を決定するので、マスタ コントローラと呼ばれる。各ボードのコントローラは、スレーブまたはマスタと して機能することができる。図9は転送サイクルの間の種々のステージにおける マスタ・コントローラおよびスレーブ・コントローラについてレディ(Ready) およびゴー(Go)を示している。 レディ・チェーンおよびゴー・チェーン(転送レディ(XferReady)を除く) に おける信号のすべては、画像合成ネットワークデータパスを維持し、オーバーヘ ッドを低減するように画像合成クロック速度で動作することに注意されたい。そ れでも、レディおよびゴー・チェーンからのオーバーヘッドは、大きなシステム においては顕著なものとなりうる。 制御パスからの転送ゴー(XferGo)は、転送の開始を示している。この信号は 、転送レディ(XferReady)が主張された後に、どのクロックサイクルでも到着 することができる。合成器シーケンサは、転送ゴー(XferGo)が主張された後n クロックサイクル後に、画素を合成し、ロードし、またはアンロードする準備が できるように、合成器154および合成器ポート157を構成し順番付けをする 。 合成器シーケンサは、構成レジスタとタイマの2つの部分を有する。構成レジ スタは、合成器の動作モード(合成、ロード//転送またはアンロード)および 合成ポートの転送モード(リードまたはライト)を決定する制御ビットを記憶す る。 タイマは、合成された画素の数を監視し、適当な時に合成ポート157をイネ ーブルおよびディスエーブルする。タイマは、転送が画像発生コントローラ11 0によって開始する前に、適当な画素長にプリセットされる。転送ゴー(XferGo )が主張された後に、1つの領域の画素のすべてを転送するのに必要な正確な時 間長の間、増強メモリ装置合成ポート157に転送イネーブル(XferEnab)信号 を主張する。 レンダラ/シェーダ(renderer/shader)。単一ボードタイプを使用して、レ ンダラおよびシェーダの両機能を実施することができる。レンダラ/シェーダ・ ボードは、毎秒百万回以上zバッファされた三角形をレンダリングし、並列に1 28x128の画素をシェーディングすることができる全zバッファレンダリン グ・エンジンを有することができる。本発明の画像発生システムは、どのような 数のレンダラ/シェーダでも構成することもできる。レンダラ10は、プリミテ ィブ を変換しラスタ処理し、レンダリング処理された画素を他のレンダラからの画素 で合成する役割を果たす。シェーダ15は、画像合成ネットワークからのレンダ リング処理された画素を受け取り、それらをバッファし、128x128の画素 領域のすべての画素に対してシェーディングモデルを並列に評価し、画素をフレ ームバッファ30に転送する。レンダラ/シェーダ・ボードは、図形プロセッサ 100とラスタ処理装置120の2つの主部分を有する。 図形プロセッサ(geometry processor)。図形プロセッサは、高速浮動小数点 プロセッサである処理手段504を有する。図形プロセッサは、それ自身のロー カルメモリを有し、ホストインタフェース130およびラスタ処理装置120へ のアクセスを有する。図形プロセッサ100は、プリミティブをオブジェクト座 標からスクリーン座標に変換し、ラスタ処理装置に送出される命令を計算し、こ れらを個々のスクリーン領域に対応するビン(bin)に分類する責任がある。一 実施例における図形プロセッサのメモリ502には、通常のDRAMよりもむし ろビデオRAM(VRAM)を使用する。VRAMのランダムポートは、メモリ バスに接続されている。VRAMの直列ポートは、画像発生コントローラの入力 ポート440に接続されている。VRAMは、DMAコントローラ510ととも に画像発生コントローラ110に対する入力インタフェースを形成する。 図10に示すように、コマンドキュー、好ましくはFIFO500は、図形プ ロセッサとラスタ処理装置との間の通信およびバッファリングを行う。FIFO 500は、図形プロセッサのVRAMメモリのデータのブロックに対するポイン タおよび各ブロックの長さを記憶する。 DMAコントローラ510は、FIFO500からポインタを読み出し、VR AM直列ポートからデータを取ってくる。すべてのVRAMバンクの直列ポート は共通32ビットバスに一緒に接続され、画像発生コントローラの入力ポートに 接続されている。DMAコントローラ510は、画像発生コントローラ110と ハンドシェークし、32ビットコマンドワードを66MHzクロックサイクル毎 にロード可能にする。 ラスタ処理装置(rasterizer)。ラスタ処理装置120は、各レンダラ/シェ ーダボードの中心部分である。ラスタ処理装置の中心部は、各ボードで同じであ るが、シェーダボード上のテクスチャメモリまたはビデオボード上のビデオメモ リのようなボード特有回路とともにラスタ処理装置内に設けられている。ラスタ 処理装置の中心部は、図11に示すように、64個の増強メモリ装置150のア レイ、32個のテクスチャASIC162のアレイ、および画像発生コントロー ラ110を有している。 増強メモリ装置150は、単一命令/多重データ・ストリーム(SIMD)方 式で動作する128x128(16,384)バイト直列画素処理素子のアレイ 125を形成している。典型的なシステム動作では、これらの処理素子は、スク リーン上の128x128画素領域上に画素当り1個の処理素子でマップされ、 F(x,y)のローカル値は、処理素子(x,y)の画素アドレスに対応する。 テクスチャASIC162は、データパス・チップであり、増強メモリ装置1 50をテクスチャまたは画像格納のためにオプションの外部メモリ165および 図形プロセッサに接続する。 画像発生コントローラ110は、図形プロセッサからの命令を解釈する。これ は、増強メモリ装置150およびテクスチャASIC162用の高レベル命令を 実行し、サイクル毎の動作を制御する2つのシーケンサを有するマイクロコード 化エンジンである。 ラスタ処理装置の中心部に加えて、シェーダ・ボードはテクスチャを記憶する ためのDRAMメモリを有している。ビデオボードはフレーム・スキャン・イン とスキャン・アウトの間、画素を記憶するVRAMメモリを有する。レンダラボ ードは、特別な回路を持ってないが、テクスチャASICは、増強メモリ装置の メモリと図形プロセッサバスとの間のインタフェースの働きをする(この接続は どのようなボードの種類でも存在する)。 画像発生コントローラ(image generation controller)。一実施例では、画 像発生コントローラ110は、図形プロセッサ100からのコマンドを処理し、 増強メモリ装置150およびテクスチャASIC162を順番に配列し、ラスタ 処理装置を画像合成ネットワーク35と同期させる。画像発生コントローラは、 増強メモリ装置およびテクスチャASICを制御するマイクロコード記憶部およ び別々のシーケンサを有するカスタムチップである。増強メモリ装置のシーケン サは、浮動小数点入力係数を増強メモリ装置によって要求される固定小数点バイ ト直列形式に変換する直列化装置を有する。図12は、画像発生コントローラの ブロック図である。 画像発生コントローラ用のコマンドは、異なるフォーマットを有する。これら は命令の目的によって次に示す5つのアーギュメントのいくつかまたはすべてを 有する。すなわち、 Iワードは、必須のものであり、命令コードおよびマイクロルーチン用の いくつかのパラメータを有する。Iワードはすべてのコマンドに存在し、コ マンドの第1ワードである。 Pワードは、オプションであり、マイクロコードルーチン用の追加パラメ ータを有する。 A,BおよびC係数はオプションであり、線形式評価器用のオペランドで ある。 IワードおよびPワードは、各々32ビットである。A,BおよびC係数は、 32または64ビットの整数または浮動小数点数である。画像発生コントローラ は、256ビット幅の入力コマンドレジスタを有し、これらのアーギュメントか らなる全コマンドを保持できる。画像発生コントローラへの物理的入力インタフ ェースは、32ビット幅である。ストリームパーサ(parser)600は、入力ス トリームを解析し、各ワードをコマンドレジスタの適当な部分にロードする。入 力インタフェースの残りの部分は、これらのフォーマットに関係なく単一ユニッ トとしてコマンドを処理する。 ラスタ処理装置のタスクは、2つの部分:(1)ラスタ処理−画素値の計算、 および(2)合成器のセットアップ−画素データを増強メモリ装置の画素メモリ の合成器バッファ部154にコピーし、合成器154を制御するという2つの部 分からなる。不幸にして、2つの部分は、非同期処理として実施されなければな らない。これは、画素値の多数の領域が画素メモリにバッファされ、領域の転送 が予測できない時に(画像合成ネットワークが新しい領域を転送しようとする時 )発生するからである。 これらのタスクを非同期で実行することができるためには、入ってくる画像発 生コントローラコマンドは、2つのコマンドキュー、好ましくはFIFOにバッ ファされなければならない。すなわち、RFIFO610は、レンダリングコマ ンドをバッファし、TFIFO620は、転送コマンドをバッファする。2つの FIFOの動作を同期させるのに仲裁ロジックが必要である。 FIFOは、各エントリの全コマンドを保持するのに十分な広い幅を有してい る。各コマンドのIワード内のあるビットにより、コマンドがRFIFO610 またはTFIFO620にロードされるべきかどうかが決定される。RFIFO 610は、64個のコマンドまでを保持することができ、TFIFO620は1 024個のコマンドまでを保持することができる。ハードウェアはFIFOに記 憶されたコマンドの数のトラックを維持し、いずれかのFIFOがほぼ満杯であ る場合、状態レジスタビットを主張する。図形プロセッサ100は、この状態レ ジスタビットの主張するところを検出し、画像発生コントローラFIFOのオー バーフローを防止する。 FIFOは、RTコントローラ630によって空にされる。このRTコントロ ーラは、画素メモリ内で有効な領域バッファの数のトラックおよび画像合成ネッ トワーク35の状態を維持する。最初、それはRFIFO610からコマンドを 読み出す。新しい画像合成ネットワークの転送が初期化される(またはされよう とする)ことが必要である場合、RFIFO610からのコマンドストリームは 中断され、コマンドがTFIFO620から読み出される。これらのコマンドに より、格納手段152からのデータが合成器バッファ153にコピーされ、転送 が初期化される。新しい転送が初期化されるや否や、コマンドストリームの処理 はRFIFO610に戻される。 RTコントローラ630は、内部4ビットカウンタを2つ、すなわち、「Free Buffs」および「FullBuffs」と呼ぶカウンタを有する。これらは、それぞれ増強 メモリ装置150内の画素データの空きのバッファの数および満杯のバッファの 数を示している。画像発生コントローラ110がリセットされると、FreeBuffs およびFu11Buffsは、各々0にセットされる。ソフトウェアにより、増強メモリ 装置において利用できる空き画素バッファの数にFreeBuffsをセットしなければ ならない。これらのカウンタは、セマフォのように使用され、コマンドが入力F IFOの各々から安全に実行されるかどうかを決定する。例えば、FreeBuffs= 0の場合には、ラスタ処理は停止されなければならない。すなわち、さらなる結 果を保持するのに利用できるバッファーがない。また、転送は、FullBuffs>0 の場合にのみ開始される。FreeBuffsおよびFullBuffsは、入コマンドストリーム 内に存在する特殊な制御コマンドを使用してインクリメントおよびデクリメント される。 一実施例では、画像発生コントローラ110は、2つのシーケンサ、すなわち EMCシーケンサ640とTASシーケンサ650を有している。EMCシーケ ンサ640は、画素プロセッサ151用のマイクロ命令、画素メモリ220への アドレス、および線形式評価器(linear expression evaluator)200用のA BC 係数を発生する。EMCシーケンサ640へのコマンドを使用して、(レンダラ ボード上の)ポリゴンをラスタ処理し、(シェーダボード上の)シェーディング 計算を実施する。TASシーケンサ650は、テクスチャASIC162および 附属のメモリ165を制御する。TASシーケンサ650へのコマンドを使用し 、シェーダまたはビデオボード上の附属メモリ165と増強メモリ装置150と の間、または増強メモリ装置150上の画素メモリ220と図形プロセッサバス との間でデータを移動する。 EMCシーケンサ640およびTASシーケンサ650は、各々ローカルマイ クロコードメモリを有する。各コマンドのIワード内のビットは、どのシーケン サがコマンドを実行すべきかを指示する。また、Iワードは、コマンド用の開始 マイクロコードアドレスを特定する。各シーケンサは、(ループカウンタの値の ような)内部条件および外部条件(各シーケンサに対する2つの条件コード入力 )の両方に対して条件分岐を行うことができる。シーケンサはスタックを持って いない。また、シーケンサは、ラスタ処理装置のボード上の種々雑多な制御機能 を実施することができるいくつかの外部制御出力を有する。 増強メモリ装置(enhanced memory device)。一実施例では、64個の増強メ モリ装置150のアレイ125は、スクリーンの128x128の画素領域をカ バーする2次元SIMDプロセッサアレイである。この論理アレイは、ディスプ レイスクリーンのどの128x128の画素領域でも処理するように「移動」さ せることができる。このような領域は、通常128画素毎の境界に配列されるが 、任意に位置決めすることができる。 各画素は、それ自身の8ビットALU210、線形式評価器ツリー(LEE: Iinear-expression evaluator tree)200の出力、ローカルメモリ152の2 048ビット、256ビットの合成器バッファ153、および256ビットのロ ーカルデータバッファ161を備えている。図5は、増強メモリ装置の論理図を 示している。 各画素ALU210は、汎用8ビットプロセッサである。これは画素のサブセ ットに対して操作を行うことができるイネーブルレジスタを有している。画素A LUは、線形式評価器の結果またはローカルメモリ220をオペランドとして使 用し、結果をローカルメモリに書き込むことができる。また、これはメモリとロ ーカルおよび合成器バッファとの間でデータを転送することができる。 画像発生コントローラ110は、増強メモリ装置アレイ125の動作を制御す る。画像発生コントローラの命令および係数は直列化され、すべての増強メモリ 装置に並列にブロードキャストされる。SIMD画素プロセッサは、ロックステ ップでこれらの命令を実行する。各画素プロセッサのイネーブルレジスタを使用 して、どのサブセットの画素プロセッサが所与の時点でアクティブであるかを制 御する。 各画素は、256+32+32バイトのローカルメモリを備えている。上述し たように、メモリは3つの部分、すなわち大抵の計算のために使用される256 バイトの主区分、および外部通信のために使用される2つの32バイトの区分に 分割されている。 通常、画素メモリの256+32+32バイトのすべてをアクセスすることが できる。しかしながら、通信ポート操作が行われる場合には、それらのバッファ のデータは一時的に利用できない。例えば、合成されるべき画素データが合成器 バッファ内にコピーされた後、合成操作は初期化され、合成器バッファ内のメモ リは合成操作が完了するまでALUによってアクセスすることはできない。同様 に、ローカルポート操作を行うためには、データはローカルバッファ内に移動さ れ、ローカルポート操作が開始される。この点において、ローカルバッファは操 作が完了するまでALUによってアクセスされてはならない。 画像合成ポートおよびローカルポートは、画素データを直列に増強メモリ装置 に/から(合成処理のために)他の増強メモリ装置に転送したり、またはテクス チャASICに/から(テクスチャ・ルックアップを行うためにまたはテクスチ ャまたはビデオメモリへの画素データの書き込みを行うために)転送することを 可能にする。各画素からのデータは各ポートから直列に存在する。各画素および 通信バッファ内のそれらの位置に/から転送されたバイトの数は、構成コマンド によって指示される。画像合成ポートは合成器入力155および合成器出力15 6を有する。この両者は132MHzで動作する4ビットポートである。ローカ ルポートは66MHzで動作する4ビットポートである。 各増強メモリ装置は、すべての画素のイネーブルレジスタのロジカル−オアを 表す出力を有する。これらの出力は互いにワイヤード・アンドされ、グローバル -イネーブル信号(EOrH)、すなわち全SIMDアレイ用のイネーブルレジスタ のロジカル−オアを形成する。EOrHは、EMCシーケンサの外部条件コード 入力に供給される。EMCシーケンサへのコマンドはEOrの状態をテストし、 その結果に基づいて条件付きで実行する。EOrの状態は、図形プロセッサと通 信することができる。 テクスチャASIC(texture ASIC)。32個のテクスチャASICのアレイ は、増強メモリ装置の画素メモリ、図形プロセッサマイクロプロセッサのバス、 およびオプションのテクスチャまたはビデオメモリ間のデータ並列通信インタフ ェースからなる。32個のテクスチャASICは、8個のモジュールに分割され 、各モジュールは、8個の増強メモリ装置および4個のテクスチャASICから なる。テクスチャASICは、図13に示すように、ビットスライス方式で増強 メモリ装置の4ビットローカルポートに接続される。また、テクスチャASIC は、8個の全てのモジュールにかかっているビットスライスの32ビットバスに 接続されている。このTASICバスは、モジュール間をロジカル接続し、画素 データが必要により共有される。増強メモリ装置およびテクスチャASIC間の 4ビッ トインタフェースおよびTASICバスは、66MHzで動作する。 図14は、テクスチャASICチップのブロック図である。内部的に、このテ クスチャASICチップは増強メモリ装置のメモリ、いくつかの構成可能なデー タパス、および外部メモリに直接接続される両方向ポートへ/からのアドレスお よびデータをバッファリングし、直列化/並列化する二重ポートRAMから構成 されている。テクスチャASICアレイのクロック毎の動作は、画像発生コント ローラにあるEMCシーケンサから独立した画像発生コントローラ内のTASシ ーケンサによって制御される。しかし、TASシーケンサは、増強メモリ装置の ローカルポートを制御するが、それは、これらのローカルポートが直接テクスチ ャASICとインタフェースしているからである。 テクスチャASICの外部メモリポートは、レンダラ・ボード上で使用されな い。これらはシェーダ・ボード上のテクスチャメモリに接続され、またビデオボ ード上のビデオメモリに接続される。 レンダラ、シェーダ、ビデオボードの差異。レンダラボード上のラスタ処理装 置は、単にラスタ処理装置の中心部分からなる。これはほとんどのラスタ処理計 算に必要な唯一の回路である。 シェーダボード上のラスタ処理装置は、TASICメモリポートに取り付けら れた128個の4Mbitx4のDRAM(16メガビット)メモリチップのア レイを有する。この追加メモリは、画像ベース・テクスチャを記憶し、ルックア ップし、画像ワーピング操作用の画素間通信を行い、またはメモリ集約的なレン ダリング・アルゴリズム用のバッキング記憶装置として機能するように使用され る。 メモリは、増強メモリ装置およびテクスチャASICとともに、8個のモジュ ールに分割される。あるモジュール内の16個のDRAMは、8バンクに配列さ れ、各バンクは2Kx2Kバイトの大きさである。1モジュール当りの総記憶容 量は32メガバイトである。これらのバンクは全体的に制御されるが(8個のす べては同時にメモリ動作を行う)、アドレスは異なる。図15は、1つのシェー ダ・ボード・モジュールのブロック図である。 ビデオボード上のメモリの構成は、シェーダボード上のものと全く同じである 。メモリは、DRAMではなく、VRAMである。ディスプレイは、VRAMの ビデオポートからリフレッシュされる。画素はバイト直列に記憶されるので、コ ーナーターニング(corner-turning)機能は、VRAM直列ポートと色ルックア ップ・テーブルおよびDAC間で実行されなければならない。これは1組のプロ グラマブル・ロジック・ポートを使用して行われ、このポートはまた必要な多重 化を行う。ビデオメモリへ/からのデータ転送は、テクスチャメモリへ/からの データ転送と同じである。増強メモリ装置は、記憶されるデータ項目のアドレス を計算し、それからテクスチャASICは、ビデオメモリへ/からのアドレスお よびデータを転送する。 テクスチャASICは、ビデオ列負荷アドレスを発生するための内部アドレス カウンタを有している。これらのカウンタは、画像発生コントローラによって初 期化され、ボードレベルのビデオリフレッシュ回路によって駆動される各テクス チャASIC上の特別な入力によって制御される。 図16は、ビデオボードラスタ処理装置の1モジュールのブロック図である。 シェーダ・ボード上におけるように、増強メモリ装置は、メモリアクセス用のア ドレスを計算し、メモリは、高速ページモードおよびランダムアクセスモードの 両方をサポートするように構成されている。通常、画素は、ランダムアクセスサ イクルとそれに続く高速ページモードサイクルを使用して、バイト直列にメモリ に書き込まれる。 上述の説明は、本発明を説明するためになされたものであり、本発明を限定す るものとして解釈されてはならない。本発明は、次に示す請求の範囲によって画 定され、この請求の範囲に均等なものは、本請求の範囲内に入ると解されるべき ものである。
【手続補正書】特許法第184条の8 【提出日】1994年8月12日 【補正内容】 請求の範囲(補正) 1.(a)プリミティブを受け取り、該プリミティブをスクリーン座標に変換 し、プリミティブ・スクリーン・データを発生する複数の図形プロセッサと、 (b)前記図形プロセッサの各々に関連し、前記プリミティブ・スクリーン・ データから画素値を計算するラスタ処理装置であって、選択されたスクリーン座 標の集合に対応している増強メモリ装置を有しているラスタ処理装置と、 を有する画像発生システムであって、 (i)前記増強メモリ装置は、前記選択されたスクリーン座標の各々に対して 、 画素値を計算し、画素計算値を供給する処理手段と、 前記処理手段の各々に関連し、データを記憶する格納手段と、 前記処理手段の各々に関連し、前記画素計算値を記憶する合成器バッフ ァと、 を有し、 (ii)前記増強メモリ装置は、更に、 前記複数の図形プロセッサの異なる1つに関連する対応増強メモリ装置 から画素値を受け取る入力手段と、 前記記憶された画素計算値および前記入力手段によって受け取られた画 素値を合成し、画素合成値を決定する合成器手段と、 前記合成器手段と関連して作動し、前記両素合成値を出力する出力手段 と、 を有する、画像発生システム。 2.前記ラスタ処理装置の1つの前記合成器手段が、更に、前記処理手段によ って使用されるように前記入力手段から受け取った画素値を記憶するローディン グ手段を有する請求項1記載の画像発生システム。 3.前記ラスタ処理装置の前記1つが、更に、 (i)画像化情報を記憶する外部メモリ手段を有し、 (ii)ここで、前記増強メモリ装置は、更に、 前記処理手段に関連して作動し、前記処理手段からのデータを記憶し、 該処理手段にデータを供給するローカルバッファ手段と、 前記ローカルバッファ手段にデータを入力し、前記ローカルバッファ手 段から前記外部メモリ手段にデータを出力するポート手段と、 を有する請求項2記載の画像発生システム。 4.前記ラスタ処理装置の前記1つが、前記外部メモリ手段に関連して作動し 、ビデオ信号を形成するビデオ発生手段を更に有する請求項3記載の画像発生シ ステム。 5.前記プリミティブ・スクリーン・データが、スクリーン座標におけるプリ ミティブを両定する数式の係数を有する請求項1記載の両像発生システム。 6.前記ラスタ処理装置が、前記図形プロセッサから前記プリミティブ・スク リーン・データを受け取り、受け取った各プリミティブ・スクリーン・データ用 の調整されたスクリーン・データを前記増強メモリ装置に繰り返し供給すること により前記プリミティブ・スクリーン・データをスーパーサンプリングする制御 手段を更に有する請求項1記載の画像発生システム。 7.前記増強メモリ装置が、形式f(x,y)の数式の係数を受け取る係数入 力手段を更に有し、 前記処理手段が、 (i)係数を受け取り、数式f(x,y)を評価する結果を出力する数式評価 器と、 (ii)前記選択されたスクリーン座標の各々に対応し、前記数式評価器の結果 を受け取り、前記結果に対して算術演算およびロジカル演算を行う算術 ロジックユニットと、 を有する、請求項1記載の両像発生システム。 8.スクリーン内の選択された領域用のプリミティブデータが、複数の図形プ ロセッサ間に分配される請求項1記載の画像発生システム。 9.前記プリミティブ・スクリーン・データが、スクリーン内の選択された領 域用のプリミティブ・スクリーン・データを含んでおり、 更に、前記合成器手段に関連して作動し、すべての両素値が前記選択された領 域用の前記ラスタ処理装置の各々によって計算された後、データが前記出力手段 によって出力されるように前記合成器を同期させる画像合成ネットワーク制御手 段を有する請求項1記載の画像発生システム。 10.(a)プリミティブ・スクリーン・データを発生するプリミティブ処理 手段と、 (b)前記プリミティブ処理手段に関連し、前記プリミティブ・スクリーン・ データから画素値を計算する複数のラスタ処理装置であって、該ラスタ処理装置 は選択されたスクリーン座標の集合に対応する増強メモリ装置を有する前記複数 のラスタ処理装置と、 を有する画像発生システムであって、 (i)前記増強メモリ装置は、前記選択されたスクリーン座標の各々に対し て、 画素値を計算し、画素計算値を供給する処理手段と、 前記処理手段の各々に関連し、データを記憶する格納手段と、 前記処理手段の各々に関連し、前記画素計算値を記憶する合成器バッ ファと、 を有し、 (ii)前記増強メモリ装置は、更に、 前記複数の図形プロセッサの異なる1つに関連する対応する増強メモ リ装置から画素計算値を受け取る入力手段と、 前記記憶された画素計算値および前記入力手段によって受け取られた 画素値を合成し、合成画素値を決定する合成器手段と、 前記合成器手段に関連して作動し、前記合成画素値を出力する出力手 段と、 を有する、画像発生システム。 11.前記ラスタ処理装置の1つの前記合成器手段は、更に、前記処理手段に よって使用されるように前記入力手段から受け取った画素値を記憶するローディ ング手段を有する請求項10記載の画像発生システム。 12.前記ラスタ処理装置の前記1つは、更に、 (i)画像化情報を記憶する外部メモリ手段を有し、 (ii)ここで、前記増強メモリ装置は、更に、 前記処理手段に関連して作動し、前記処理手段からのデータを記憶し、 該処理手段にデータを供給するローカルバッファ手段と、 データを入力し、前記ローカルバッファ手段から前記外部メモリ手段に データを出力するポート手段と、 を有する、請求項11記載の画像発生システム。 13.前記ラスタ処理装置の前記1つが、前記外部メモリ手段に関連して作動 し、ビデオ信号を形成するビデオ発生手段を更に有する、請求項12記載の画像 発生システム。 14.前記プリミティブ・スクリーン・データが、スクリーン座標のプリミテ ィブを画定する数式の係数を有する、請求項10記載の画像発生システム。 15.前記ラスタ処理装置が、前記図形プロセッサから前記プリミティブ・ス クリーン・データを受け取ることにより前記プリミティブ・スクリーン・データ をスーパーサンプリングし、受け取った各プリミティブ・スクリーン・データ用 の調整されたスクリーン・データを前記増強メモリ装置に繰り返し供給する制御 手段を更に有する、請求項10記載の画像発生システム。 16.前記増強メモリ装置が、形式f(x,y)の数式の係数を受け取る係数 入力手段を更に有し、 前記処理手段が、 (i)係数を受け取り、数式f(x,y)を評価する結果を出力する数式評価 器と、 (ii)前記選択されたスクリーン座標の各々に対応し、前記数式評価器の結果 を受け取り、前記結果に対して算術演算およびロジカル演算を行う算術ロ ジックユニットと、 を有する、請求項10記載の画像発生システム。 17.スクリーン内の選択された領域に対するプリミティブ・スクリーン・デ ータが前記複数のラスタ処理装置間に分配される請求項10記載の画像発生シス テム。 18.(a)スクリーン内の選択された領域に対するプリミティブを受け取り 、該プリミティブをスクリーン座標に変換し、プリミティブ・スクリーン・デー タを供給する複数の図形プロセッサと、 (b)前記図形プロセッサの各々に関連し、前記プリミティブ・スクリーン・ データから画素値を計算するラスタ処理装置と を有する画像発生システムであって、 該ラスタ処理装置が、 前記図形プロセッサから前記プリミティブ・スクリーン・データを受け取り、 該プリミティブ・スクリーン・データをコマンド情報に変換する画像発生制御手 段と、 各々が選択されたスクリーン座標の集合に対応している複数の増強メモリ装置 と、 を有し、 (i)前記増強メモリ装置の各々が、前記選択されたスクリーン座標の各々に 対して、 前記マンド情報を受け取り、画素値を計算し、画素計算値を供給する処 理手段と、 前記処理手段の各々に関連し、データを記憶する格納手段と、 前記処理手段の各々に関連し、前記画素計算値を記憶する合成器バッフ ァと、 を有し、 (ii)前記増強メモリ装置の各々が、更に、 前記複数の図形プロセッサの異なる1つに関連する前記増強メモリ装置 の対応するものから画素計算値を受け取る入力手段と、 前記記憶された画素計算値および前記入力手段によって受け取られた画 素値を合成し、合成画素値を決定する合成器手段と、 前記合成器手段に関連して作動し、前記合成画素値を出力する出力手段 と、 を有し、 前記ラスタ処理装置が、更に前記合成器手段の各々に関連して作動し、すべて の画素値が前記選択された領域用に計算された後、データが前記出力手段によっ て出力されるように前記合成器を同期させる画像合成ネットワーク制御手段を有 している、画像発生システム。 19.前記ラスタ処理装置の1つの前記合成器手段が、更に、前記処理手段に よって使用されるように前記入力手段から受け取った画素値を記憶するローディ ング手段を有する、請求項18記載の画像発生システム。 20.前記ラスタ処理装置の前記1つが、更に、 (i)画像化情報を記憶する外部メモリ手段を有し、 (ii)ここで、前記増強メモリ装置が、更に、 前記処理手段に関連して作動し、前記処理手段からのデータを記憶し、 該処理手段にデータを供給するローカルバッファ手段と、 データを入力し、前記ローカルバッファ手段から前記外部メモリ手段に データを出力するポート手段と を有する、請求項19記載の画像発生システム。 21.前記ラスタ処理装置の前記1つが、前記外部メモリ手段に関連して作動 し、ビデオ信号を形成するビデオ発生手段を更に有する、請求項20記載の画像 発生システム。 22.前記プリミティブ・スクリーン・データが、スクリーン座標にプリミテ ィブを画定する数式の係数を有する、請求項18記載の画像発生システム。 23.前記画像発生制御手段が、前記図形プロセッサから前記プリミティブ・ スクリーン・データを受け取ることにより前記プリミティブ・スクリーン・デー タをスーパーサンプリングし、受け取った各プリミティブ・スクリーン・データ 用の調整されたスクリーン・データを前記増強メモリ装置に繰り返し供給するス ーパーサンプリング手段を更に有する、請求項18記載の画像発生システム。 24.前記処理手段が、 (i)係数データを受け取り、数式f(x,y)を評価する結果を出力する 数式評価器と、 (ii)前記選択されたスクリーン座標の各々に対応し、前記数式評価器の結 果を受け取り、前記結果に対して算術演算およびロジカル演算を行う算 術ロジックユニットと、 を有する、請求項18記載の画像発生システム。 25.スクリーン内の選択された領域用のプリミティブデータが、複数の図形 プロセッサ間に分配される、請求項18記載の画像発生システム。 26.画像発生システムにおいてプリミティブ・スクリーン・データから画素 値を計算するラスタ処理装置であって、 各々が選択されたスクリーン座標の集合に対応している複数の増強メモリ装置 を有し、 (i)前記増強メモリ装置の各々が、前記選択されたスクリーン座標の各々毎 に、 画素値を計算し、画素計算値を供給する処理手段と、 前記処理手段の各々に関連し、データを記憶する格納手段と、 前記処理手段の各々に関連し、前記画素計算値を記憶する合成器バッフ ァと、 を有し、 (ii)前記増強メモリ装置の各々が、更に、 画素計算値を受け取る入力手段と、 前記記憶された画素計算値と前記入力手段によって受け取られた画素値 を合成し、合成画素値を決定する合成器手段と、 前記合成器手段に関連し、前記合成画素値を出力する出力手段と、 を有する、ラスタ処理装置。 27.前記合成器手段が、更に、前記処理手段によって使用されるように前記 入力手段から受け取った画素値を記憶するローディング手段を有する、請求項2 6記載のラスタ処理装置。 28.前記ラスタ処理装置の前記1つが、更に、 (i)画像化情報を記憶する外部メモリ手段を有し、 (ii)ここで、前記増強メモリ装置が、更に、 前記処理手段に関連して作動し、前記処理手段からのデータを記憶し、 該処理手段にデータを供給するローカルバッファ手段と、 データを入力し、前記ローカルバッファ手段から前記外部メモリ手段に データを出力するポート手段と、 を有する、請求項27記載のラスタ処理装置。 29.前記外部メモリ手段に関連して作動し、ビデオ信号を形成するビデオ発 生手段を更に有する、請求項28記載のラスタ処理装置。 30.前記プリミティブ・スクリーン・データがスクリーン座標のプリミティ ブを画定する数式の係数を有する、請求項26記載のラスタ処理装置。 31.前記ラスタ処理装置が、受け取った各プリミティブ・スクリーン・デー タ用の調整されたスクリーン・データを前記増強メモリ装置に繰り返し供給する ことにより前記プリミティブ・スクリーン・データをスーパーサンプリングする スーパーサンプリング手段を更に有する、請求項26記載のラスタ処理装置。 32.前記増強メモリ装置が、形式f(x,y)の数式の係数を受け取る係数 入力手段を更に有し、 前記処理手段が、 (i)係数を受け取り、数式f(x,y)を評価する結果を出力する数式評価 器と、 (ii)前記選択されたスクリーン座標の各々に対応し、前記数式評価器の結果 を受け取り、前記結果に対して算術演算およびロジカル演算を行う算術ロ ジックユニットと、 を有する、請求項26記載のラスタ処理装置。 33.前記プリミティブ・スクリーン・データが、スクリーン内の選択された 領域に対するプリミティブ・スクリーン・データであり、 更に、前記合成器手段に関連して作動し、すべての画素値が前記選択された領 域用に計算された後、データが前記出力手段によって出力されるように前記合成 器を同期させる画像合成ネットワーク制御手段を有する請求項26記載のラスタ 処理装置。 34.画像発生システムに使用される増強メモリチップであって、 画素値を計算し、画素計算値を供給する複数の処理手段と、 前記処理手段の各々に関連し、データを記憶する格納手段と、 前記処理手段の各々に関連し、前記画素計算値を記憶する合成器バッファと、 画素計算値を受け取る入力手段と、 前記記憶された画素計算値および前記入力手段によって受け取られた両素値を 合成し、合成画素値を決定する合成器手段と、 前記合成器手段に関連し、前記合成画素値を出力する出力手段と、 を有する増強メモリチップ。 35.前記前記合成器手段が、更に、前記処理手段によって使用されるように 前記入力手段から受け取った画素値を記憶するローディング手段を有する、請求 項34記載の増強メモリチップ。 36.前記処理手段の各々に関連して作動し、前記処理手段からのデータを記 憶し、該処理手段にデータを供給するローカルバッファ手段と、 前記ローカルバッファ手段にデータを入力し、前記ローカルバッファ手段から データを出力するポート手段と、 を有する請求項35記載の増強メモリチップ。 37.前記合成器が、更に、前記受け取った画素値を前記出力手段に供給して 出力する転送手段を有する、請求項34記載の増強メモリチップ。 38.前記処理手段が、前記格納手段からデータを選択的に読み出したり、書 き込む、請求項34記載の増強メモリチップ。 39.前記処理手段が、前記合成器バッファ手段からデータを選択的に読み出 したり、書き込む、請求項34記載の増強メモリチップ。 40.前記処理手段が、前記ローカルバッファ手段からデータを選択的に読み 出したり、書き込む、請求項36記載の増強メモリチップ。 41.形式f(x,y)の数式の係数を受け取る係数入力手段を更に有し、 前記複数の処理手段が、 (i)係数を受け取り、数式f(x,y)を評価する結果を出力する数式評価 器と、 (ii)前記数式評価器の結果を受け取り、前記結果に対して算術演算およびロ ジカル演算を行う複数の算術ロジックユニットと を有する、請求項34記載の増強メモリチップ。 42.前記算術ロジックユニットに関連して作動し、マイクロ命令を受け取り 、前記算術ロジックユニットの動作を制御するマイクロ命令入力手段を更に有す る請求項34記載の増強メモリチップ。 43.(a)プリミティブ・スクリーン・データを発生するプリミティブ処理 手段と、 (b)前記プリミティブ処理手段に関連し、前記プリミティブ・スクリーン・ データから画素値を計算する複数のラスタ処理装置であって、該ラスタ処理装置 の各々が選択されたスクリーン座標の集合に対応する増強メモリ装置を有する前 記複数のラスタ処理装置と を有する画像発生システムであって、 (i)前記増強メモリ装置が、前記選択されたスクリーン座標の各々に対して 、 画素値を計算し、画素計算値を供給する内部処理手段と、 前記内部処理手段の各々に関連し、データを記憶する格納手段と、 前記内部処理手段の各々に関連し、前記画素計算値を記憶する合成器バ ッファと、 を有し、 (ii)前記増強メモリ装置が、更に、 前記複数のラスタ処理装置の異なる1つから画素計算値を受け取る入力 手段と、 前記記憶された画素計算値および前記入力手段によって受け取られた画 素値を合成し、合成画素値を決定する合成器手段と、 前記合成器手段に関連して作動し、前記合成画素値を出力する出力手段 と、 を有し、 (c)前記複数のラスタ処理装置の少なくとも1つが、前記増強メモリ装置に 関連して作動し、画像化情報を記憶する外部メモリ手段を更に有する、画像発生 システム。 44.前記外部メモリ手段を有する前記複数のラスタ処理装置の前記1つに関 連する前記増強メモリ装置が、更に、 前記内部処理手段に関連して作動し、前記内部処理手段からのデータを記憶し 、該内部処理手段にデータを供給するローカルバッファ手段と、 前記ローカルバッファ手段にデータを入力し、前記ローカルバッファ手段から 前記外部メモリ手段にデータを出力するポート手段と、 を有する、請求項43記載の画像発生システム。 45.前記ラスタ処理装置の1つの前記合成器手段が、更に、前記処理手段に よって使用されるように前記入力手段から受け取った画素値を記憶するローディ ング手段を有する、請求項43記載の画像発生システム。 46.前記ラスタ処理装置の前記1つが、前記外部メモリ手段に関連して作動 し、ビデオ信号を形成するビデオ発生手段を更に有する、請求項43記載の画像 発生システム。 47.前記プリミティブ・スクリーン・データがスクリーン座標のプリミティ ブを画定する数式の係数を有する、請求項43記載の画像発生システム。 48.前記ラスタ処理装置が、前記図形プロセッサから前記プリミティブ・ス クリーン・データを受け取ることにより前記プリミティブ・スクリーン・データ をスーパーサンプリングし、受け取った各プリミティブ・スクリーン・データ用 の調整されたスクリーン・データを前記増強メモリ装置に繰り返し供給する制御 手段を更に有する、請求項43記載の画像発生システム。 49.前記増強メモリ装置が、形式f(x,y)の数式の係数を受け取る係数 入力手段を更に有し、 前記処理手段が、 (i)係数を受け取り、数式f(x,y)を評価する結果を出力する数式評 価器と、 (ii)前記選択されたスクリーン座標の各々に対応し、前記数式評価器の結 果を受け取り、前記結果に対して算術演算およびロジカル演算を行う算 術ロジックユニットと、 を有する、請求項43記載の画像発生システム。 50.スクリーン内の選択された領域に対するプリミティブ・スクリーン・デ ータが、前記複数のラスタ処理装置間に分配される、請求項43記載の画像発生 システム。 51.前記プリミティブ・スクリーン・データが、スクリーン内の選択された 領域に対するプリミティブ・スクリーン・データであり、 更に、前記合成器手段に関連して作動し、すべての画素値が前記選択された領 域用に前記ラスタ処理装置の各々によって計算された後、データが前記出力手段 によって出力されるように前記合成器を同期させる画像合成ネットワーク制御手 段を有する請求項43記載のラスタ処理装置。 52.前記プリミティブ処理手段が、プリミティブを受け取り、該プリミティ ブをスクリーン座標に変換し、プリミティブ・スクリーン・データを供給する複 数の図形プロセッサを有する、請求項43記載の画像発生システム。 53.(a)スクリーン内の選択された領域に対するプリミティブを受け取り 、該プリミティブをスクリーン座標に変換し、プリミティブ・スクリーン・デー タを供給するとともに、画像化情報を供給する複数の図形プロセッサと、 (b)前記図形プロセッサの各々に関連し、前記プリミティブ・スクリーン・ データから画素値を計算するラスタ処理装置と、 を有する画像発生システムであって、 該ラスタ処理装置が、 前記図形プロセッサから前記プリミティブ・スクリーン・データを受け取り、 該プリミティブ・スクリーン・データを増強メモリコマンド情報に変換する画像 発生制御手段と、 選択されたスクリーン座標の集合に対応している増強メモリ装置と、 を有し、 (i)前記増強メモリ装置が、前記選択されたスクリーン座標の各々に対して 、 前記コマンド情報を受け取り、両素値を計算し、画素計算値を供給する 内部処理手段と、 前記内部処理手段の各々に関連し、データを記憶する格納手段と、 前記内部処理手段の各々に関連し、前記画素計算値を記憶する合成器バ ッファと、 を有し、 (ii)前記増強メモリ装置が、更に、 前記複数の図形プロセッサの異なる1つに関連する前記増強メモリ装置 の対応するものから画素計算値を受け取る入力手段と、 前記記憶された画素計算値および前記入力手段によって受け取られた画 素値を合成し、合成画素値を決定する合成手段と、 前記合成器手段に関連して作動し、前記合成画素値を出力する出力手段 と、 を有し、 (c)前記ラスタ処理装置の少なくとも1つが、更に、 前記増強メモリ装置に関連して作動し、画像化情報を記憶する外部メモリ手段 と、 前記ラスタ処理装置の前記1つに関連する前記図形プロセッサから直接、画像 化情報を前記外部メモリ手段に転送する手段と、 を有する、画像発生システム。 54.前記外部メモリ手段を有する前記複数のラスタ処理装置の前記1つに関 連する前記増強メモリ装置が、 前記内部処理手段に関連して作動し、前記内部処理手段からのデータを記憶し 、該内部処理手段にデータを供給するローカルバッファ手段と、 前記ローカルバッファメモリにデータを入力し、前記ローカルバッファ手段か ら前記外部メモリ手段にデータを出力するポート手段と、 を有する、請求項53記載の画像発生システム。 55.前記転送手段が、更に前記外部メモリおよび前記増強メモリ装置からの 画像化情報を前記ラスタ処理装置の1つに関連する前記図形プロセッサに選択的 に転送する手段を有する、請求項53記載の画像発生システム。 56.前記画像発生制御手段が、更に前記図形プロセッサから前記画像化情報 を受け取り、該画像化情報を前記外部メモリに転送する手段を有する、請求項5 3記載の画像発生システム。 57.前記ラスタ処理装置の前記1つが、更に前記外部メモリ手段に関連して 作動し、ビデオ信号を形成するビデオ発生手段を有する、請求項53記載の画像 発生システム。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 モルナー,スティーヴン・エドワード アメリカ合衆国、27514 ノース・キャロ ライナ、チャペル・ヒル、ヒッコリー・ド ライヴ 418 (72)発明者 アイルズ,ジョン・ゴードン アメリカ合衆国、27516 ノース・キャロ ライナ、チャペル・ヒル、リトル・クリー ク・ファーム・ロード 8605 【要約の続き】 び画像データを記憶する付加メモリ装置を有するレンダ ラで構成されている。また、本画像発生システムに使用 される増強メモリ装置およびラスタ処理装置も開示され ている。

Claims (1)

  1. 【特許請求の範囲】 1.(a)プリミティブを受け取り、該プリミティブをスクリーン座標に変換 し、プリミティブ・スクリーン・データを発生する複数の図形プロセッサと、 (b)前記図形プロセッサの各々に関連し、前記プリミティブ・スクリーン・ データから画素値を計算するラスタ処理装置であって、選択されたスクリーン座 標の集合に対応している増強メモリ装置を有しているラスタ処理装置と、 を有する画像発生システムであって、 (i)前記増強メモリ装置は、前記選択されたスクリーン座標の各々に対して 、 画素値を計算し、画素計算値を供給する処理手段と、 前記処理手段の各々に関連し、データを記憶する格納手段と、 前記処理手段の各々に関連し、前記画素計算値を記憶する合成器バッフ ァと、 を有し、 (ii)前記増強メモリ装置は、更に、 前記複数の図形プロセッサの異なる1つに関連する対応増強メモリ装置 から画素値を受け取る入力手段と、 前記記憶された画素計算値および前記入力手段によって受け取られた画 素値を合成し、画素合成値を決定する合成器手段と、 前記合成器手段と関連して作動し、前記画素合成値を出力する出力手段 と、 を有する、画像発生システム。 2.前記ラスタ処理装置の1つの前記合成器手段が、更に、前記処理手段によ って使用されるように前記入力手段から受け取った画素値を記憶するローディン グ手段を有する請求項1記載の画像発生システム。 3.前記ラスタ処理装置の前記1つが、更に、 (i)画像化情報を記憶する外部メモリ手段を有し、 (ii)ここで、前記増強メモリ装置は、更に、 前記処理手段に関連して作動し、前記処理手段からのデータを記憶し、 該処理手段にデータを供給するローカルバッファ手段と、 前記ローカルバッファ手段にデータを入力し、前記ローカルバッファ手 段から前記外部メモリ手段にデータを出力するポート手段と、 を有する請求項2記載の画像発生システム。 4.前記ラスタ処理装置の前記1つが、前記外部メモリ手段に関連して作動し 、ビデオ信号を形成するビデオ発生手段を更に有する請求項3記載の画像発生シ ステム。 5.前記プリミティブ・スクリーン・データが、スクリーン座標におけるプリ ミティブを画定する数式の係数を有する請求項1記載の両像発生システム。 6.前記ラスタ処理装置が、前記図形プロセッサから前記プリミティブ・スク リーン・データを受け取り、受け取った各プリミティブ・スクリーン・データ用 の調整されたスクリーン・データを前記増強メモリ装置に繰り返し供給すること により前記プリミティブ・スクリーン・データをスーパーサンプリングする制御 手段を更に有する請求項1記載の画像発生システム。 7.前記増強メモリ装置が、形式f(x,y)の数式の係数を受け取る係数入 力手段を更に有し、 前記処理手段が、 (i)係数を受け取り、数式f(x,y)を評価する結果を出力する数式評価 器と、 (ii)前記選択されたスクリーン座標の各々に対応し、前記数式評価器の結果 を受け取り、前記結果に対して算術演算およびロジカル演算を行う算術 ロジックユニットと、 を有する、請求項1記載の画像発生システム。 8.スクリーン内の選択された領域用のプリミティブデータが、複数の図形プ ロセッサ間に分配される請求項1記載の画像発生システム。 9.前記プリミティブ・スクリーン・データが、スクリーン内の選択された領 域用のプリミティブ・スクリーン・データを含んでおり、 更に、前記合成器手段に関連して作動し、すべての画素値が前記選択された領 域用の前記ラスタ処理装置の各々によって計算された後、データが前記出力手段 によって出力されるように前記合成器を同期させる画像合成ネットワーク制御手 段を有する請求項1記載の画像発生システム。 10.(a)プリミティブ・スクリーン・データを発生するプリミティブ処理 手段と、 (b)前記プリミティブ処理手段に関連し、前記プリミティブ・スクリーン・ データから画素値を計算する複数のラスタ処理装置であって、該ラスタ処理装置 は選択されたスクリーン座標の集合に対応する増強メモリ装置を有する前記複数 のラスタ処理装置と、 を有する画像発生システムであって、 (i)前記増強メモリ装置は、前記選択されたスクリーン座標の各々に対し て、 画素値を計算し、画素計算値を供給する処理手段と、 前記処理手段の各々に関連し、データを記憶する格納手段と、 前記処理手段の各々に関連し、前記画素計算値を記憶する合成器バッ ファと、 を有し、 (ii)前記増強メモリ装置は、更に、 前記複数の図形プロセッサの異なる1つに関連する対応する増強メモ リ装置から画素計算値を受け取る入力手段と、 前記記憶された画素計算値および前記入力手段によって受け取られた 画素値を合成し、合成画素値を決定する合成器手段と、 前記合成器手段に関連して作動し、前記合成画素値を出力する出力手 段と、 を有する、画像発生システム。 11.前記ラスタ処理装置の1つの前記合成器手段は、更に、前記処理手段に よって使用されるように前記入力手段から受け取った画素値を記憶するローディ ング手段を有する請求項10記載の両像発生システム。 12.前記ラスタ処理装置の前記1つは、更に、 (i)画像化情報を記憶する外部メモリ手段を有し、 (ii)ここで、前記増強メモリ装置は、更に、 前記処理手段に関連して作動し、前記処理手段からのデータを記憶し、 該処理手段にデータを供給するローカルバッファ手段と、 データを入力し、前記ローカルバッファ手段から前記外部メモリ手段に データを出力するポート手段と、 を有する、請求項11記載の画像発生システム。 13.前記ラスタ処理装置の前記1つが、前記外部メモリ手段に関連して作動 し、ビデオ信号を形成するビデオ発生手段を更に有する、請求項12記載の画像 発生システム。 14.前記プリミティブ・スクリーン・データが、スクリーン座標のプリミテ ィブを画定する数式の係数を有する、請求項10記載の画像発生システム。 15.前記ラスタ処理装置が、前記図形プロセッサから前記プリミティブ・ス クリーン・データを受け取ることにより前記プリミティブ・スクリーン・データ をスーパーサンプリングし、受け取った各プリミティブ・スクリーン・データ用 の調整されたスクリーン・データを前記増強メモリ装置に繰り返し供給する制御 手段を更に有する、請求項10記載の画像発生システム。 16.前記増強メモリ装置が、形式f(x,y)の数式の係数を受け取る係数 入力手段を更に有し、 前記処理手段が、 (i)係数を受け取り、数式f(x,y)を評価する結果を出力する数式評価 器と、 (ii)前記選択されたスクリーン座標の各々に対応し、前記数式評価器の結果 を受け取り、前記結果に対して算術演算およびロジカル演算を行う算術ロジック ユニットと、 を有する、請求項10記載の画像発生システム。 17.スクリーン内の選択された領域に対するプリミティブ・スクリーン・デ ータが前記複数のラスタ処理装置間に分配される請求項10記載の画像発生シス テム。 18.(a)スクリーン内の選択された領域に対するプリミティブを受け取り 、該プリミティブをスクリーン座標に変換し、プリミティブ・スクリーン・デー タを供給する複数の図形プロセッサと、 (b)前記図形プロセッサの各々に関連し、前記プリミティブ・スクリーン・ データから画素値を計算するラスタ処理装置と を有する画像発生システムであ って、 該ラスタ処理装置が、 前記図形プロセッサから前記プリミティブ・スクリーン・データを受け取り、 該プリミティブ・スクリーン・データをコマンド情報に変換する画像発生制御手 段と、 各々が選択されたスクリーン座標の集合に対応している複数の増強メモリ装置 と、 を有し、 (i)前記増強メモリ装置の各々が、前記選択されたスクリーン座標の各々に 対して、 前記マンド情報を受け取り、画素値を計算し、画素計算値を供給する処 理手段と、 前記処理手段の各々に関連し、データを記憶する格納手段と、 前記処理手段の各々に関連し、前記画素計算値を記憶する合成器バッフ ァと、 を有し、 (ii)前記増強メモリ装置の各々が、更に、 前記複数の図形プロセッサの異なる1つに関連する前記増強メモリ装置 の対応するものから画素計算値を受け取る入力手段と、 前記記憶された画素計算値および前記入力手段によって受け取られた画 素値を合成し、合成画素値を決定する合成器手段と、 前記合成器手段に関連して作動し、前記合成画素値を出力する出力手段 と、 を有し、 前記ラスタ処理装置が、更に前記合成器手段の各々に関連して作動し、すべて の画素値が前記選択された領域用に計算された後、データが前記出力手段によっ て出力されるように前記合成器を同期させる画像合成ネットワーク制御手段を有 している、画像発生システム。 19.前記ラスタ処理装置の1つの前記合成器手段が、更に、前記処理手段に よって使用されるように前記入力手段から受け取った画素値を記憶するローディ ング手段を有する、請求項18記載の画像発生システム。 20.前記ラスタ処理装置の前記1つが、更に、 (i)画像化情報を記憶する外部メモリ手段を有し、 (ii)ここで、前記増強メモリ装置が、更に、 前記処理手段に関連して作動し、前記処理手段からのデータを記憶し、 該処理手段にデータを供給するローカルバッファ手段と、 データを入力し、前記ローカルバッファ手段から前記外部メモリ手段に データを出力するポート手段と を有する、請求項19記載の画像発生システム。 21.前記ラスタ処理装置の前記1つが、前記外部メモリ手段に関連して作動 し、ビデオ信号を形成するビデオ発生手段を更に有する、請求項20記載の画像 発生システム。 22.前記プリミティブ・スクリーン・データが、スクリーン座標にプリミテ ィブを画定する数式の係数を有する、請求項18記載の画像発生システム。 23.前記画像発生制御手段が、前記図形プロセッサから前記プリミティブ・ スクリーン・データを受け取ることにより前記プリミティブ・スクリーン・デー タをスーパーサンプリングし、受け取った各プリミティブ・スクリーン・データ 用の調整されたスクリーン・データを前記増強メモリ装置に繰り返し供給するス ーパーサンプリング手段を更に有する、請求項18記載の画像発生システム。 24.前記処理手段が、 (i)係数データを受け取り、数式f(x,y)を評価する結果を出力する 数式評価器と、 (ii)前記選択されたスクリーン座標の各々に対応し、前記数式評価器の結 果を受け取り、前記結果に対して算術演算およびロジカル演算を行う算術ロジッ クユニットと、 を有する、請求項18記載の画像発生システム。 25.スクリーン内の選択された領域用のプリミティブデータが、複数の図形 プロセッサ間に分配される、請求項18記載の画像発生システム。 26.画像発生システムにおいてプリミティブ・スクリーン・データから画素 値を計算するラスタ処理装置であって、 各々が選択されたスクリーン座標の集合に対応している複数の増強メモリ装置 を有し、 (i)前記増強メモリ装置の各々が、前記選択されたスクリーン座標の各々毎 に、 画素値を計算し、画素計算値を供給する処理手段と、 前記処理手段の各々に関連し、データを記憶する格納手段と、 前記処理手段の各々に関連し、前記画素計算値を記憶する合成器バッフ ァと、 を有し、 (ii)前記増強メモリ装置の各々が、更に、 画素計算値を受け取る入力手段と、 前記記憶された画素計算値と前記入力手段によって受け取られた画素値 を合成し、合成画素値を決定する合成器手段と、 前記合成器手段に関連し、前記合成画素値を出力する出力手段と、 を有する、ラスタ処理装置。 27.前記合成器手段が、更に、前記処理手段によって使用されるように前記 入力手段から受け取った画素値を記憶するローディング手段を有する、請求項2 6記載のラスタ処理装置。 28.前記ラスタ処理装置の前記1つが、更に、 (i)画像化情報を記憶する外部メモリ手段を有し、 (ii)ここで、前記増強メモリ装置が、更に、 前記処理手段に関連して作動し、前記処理手段からのデータを記憶し、 該処理手段にデータを供給するローカルバッファ手段と、 データを入力し、前記ローカルバッファ手段から前記外部メモリ手段に テータを出力するポート手段と、 を有する、請求項27記載のラスタ処理装置。 29.前記外部メモリ手段に関連して作動し、ビデオ信号を形成するビデオ発 生手段を更に有する、請求項28記載のラスタ処理装置。 30.前記プリミティブ・スクリーン・データがスクリーン座標のプリミティ ブを画定する数式の係数を有する、請求項26記載のラスタ処理装置。 31.前記ラスタ処理装置が、受け取った各プリミティブ・スクリーン・デー タ用の調整されたスクリーン・データを前記増強メモリ装置に繰り返し供給する ことにより前記プリミティブ・スクリーン・データをスーパーサンプリングする スーパーサンプリング手段を更に有する、請求項26記載のラスタ処理装置。 32.前記増強メモリ装置が、形式f(x,y)の数式の係数を受け取る係数 入力手段を更に有し、 前記処理手段が、 (i)係数を受け取り、数式f(x,y)を評価する結果を出力する数式評価 器と、 (ii)前記選択されたスクリーン座標の各々に対応し、前記数式評価器の結果 を受け取り、前記結果に対して算術演算およびロジカル演算を行う算術ロジック ユニットと、 を有する、請求項26記載のラスタ処理装置。 33.前記プリミティブ・スクリーン・データが、スクリーン内の選択された 領域に対するプリミティブ・スクリーン・データであり、 更に、前記合成器手段に関連して作動し、すべての画素値が前記選択された領 域用に計算された後、データが前記出力手段によって出力されるように前記合成 器を同期させる画像合成ネットワーク制御手段を有する請求項26記載のラスタ 処理装置。 34.画像発生システムに使用される増強メモリチップであって、 画素値を計算し、画素計算値を供給する複数の処理手段と、 前記処理手段の各々に関連し、データを記憶する格納手段と、 前記処理手段の各々に関連し、前記画素計算値を記憶する合成器バッファと、 画素計算値を受け取る入力手段と、 前記記憶された画素計算値および前記入力手段によって受け取られた画素値を 合成し、合成画素値を決定する合成器手段と、 前記合成器手段に関連し、前記合成画素値を出力する出力手段と、 を有する増強メモリチップ。 35.前記前記合成器手段が、更に、前記処理手段によって使用されるように 前記入力手段から受け取った画素値を記憶するローディング手段を有する、請求 項34記載の増強メモリチップ。 36.前記処理手段の各々に関連して作動し、前記処理手段からのデータを記 憶し、該処理手段にデータを供給するローカルバッファ手段と、 前記ローカルバッファ手段にデータを入力し、前記ローカルバッファ手段から データを出力するポート手段と、 を有する請求項35記載の増強メモリチップ。 37.前記合成器が、更に、前記受け取った画素値を前記出力手段に供給して 出力する転送手段を有する、請求項34記載の増強メモリチップ。 38.前記処理手段が、前記格納手段からデータを読み出したり、書き込むこ とができる、請求項34記載の増強メモリチップ。 39.前記処理手段が、前記合成器バッファ手段からデータを読み出したり、 書き込むことができる、請求項34記載の増強メモリチップ。 40.前記処理手段が、前記ローカルバッファ手段からデータを読み出したり 、書き込むことができる、請求項36記載の増強メモリチップ。 41.形式f(x,y)の数式の係数を受け取る係数入力手段を更に有し、前 記複数の処理手段が、 (i)係数を受け取り、数式f(x,y)を評価する結果を出力する数式評価 器と、 (ii)前記数式評価器の結果を受け取り、前記結果に対して算術演算およびロ ジカル演算を行う複数の算術ロジックユニットと を有する、請求項34記載の増強メモリチップ。 42.前記算術ロジックユニットに関連して作動し、マイクロ命令を受け取り 、前記算術ロジックユニットの動作を制御するマイクロ命令入力手段を更に有す る請求項34記載の増強メモリチップ。
JP6512280A 1992-11-13 1993-11-08 画像発生アーキテクチャおよび装置 Expired - Lifetime JP3009732B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US07/975,821 US5388206A (en) 1992-11-13 1992-11-13 Architecture and apparatus for image generation
US975,821 1992-11-13
PCT/US1993/010785 WO1994011807A1 (en) 1992-11-13 1993-11-08 Architecture and apparatus for image generation

Publications (2)

Publication Number Publication Date
JPH08503563A true JPH08503563A (ja) 1996-04-16
JP3009732B2 JP3009732B2 (ja) 2000-02-14

Family

ID=25523442

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6512280A Expired - Lifetime JP3009732B2 (ja) 1992-11-13 1993-11-08 画像発生アーキテクチャおよび装置

Country Status (6)

Country Link
US (2) US5388206A (ja)
EP (1) EP0672275A4 (ja)
JP (1) JP3009732B2 (ja)
AU (1) AU677027B2 (ja)
CA (1) CA2146335C (ja)
WO (1) WO1994011807A1 (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002541586A (ja) * 1999-04-09 2002-12-03 クリアスピード・テクノロジー・リミテッド 並列データ処理装置
JP2004510270A (ja) * 2000-09-28 2004-04-02 インテル・コーポレーション フルシーン・アンチエイリアシング・スーパーサンプリング実施のための方法および装置
JP2008521135A (ja) * 2004-11-17 2008-06-19 エヌヴィディア コーポレイション 拡張可能なパフォーマンスのためのグラフィックスアダプタの接続
KR20100118706A (ko) * 2009-04-29 2010-11-08 삼성전자주식회사 영상 처리 장치 및 방법
US8130227B2 (en) 2006-05-12 2012-03-06 Nvidia Corporation Distributed antialiasing in a multiprocessor graphics system
JP2013137756A (ja) * 2011-12-05 2013-07-11 Arm Ltd コンピュータグラフィックスを処理する方法およびコンピュータグラフィックスを処理するための装置

Families Citing this family (144)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2267203B (en) * 1992-05-15 1997-03-19 Fujitsu Ltd Three-dimensional graphics drawing apparatus, and a memory apparatus to be used in texture mapping
US5388206A (en) * 1992-11-13 1995-02-07 The University Of North Carolina Architecture and apparatus for image generation
JPH07225852A (ja) * 1994-02-15 1995-08-22 Fujitsu Ltd 動画生成方法および装置
JP3240821B2 (ja) * 1994-04-22 2001-12-25 株式会社日立製作所 高機能画像メモリlsi及びそれを用いた表示装置
EP0681279B1 (en) 1994-05-03 2001-07-18 Sun Microsystems, Inc. Frame buffer random access memory and system
US5619624A (en) * 1994-05-20 1997-04-08 Management Graphics, Inc. Apparatus for selecting a rasterizer processing order for a plurality of graphic image files
US5694143A (en) 1994-06-02 1997-12-02 Accelerix Limited Single chip frame buffer and graphics accelerator
US5717371A (en) * 1994-10-25 1998-02-10 Sandia Corporation Generating highly uniform electromagnetic field characteristics
US5579453A (en) * 1994-12-16 1996-11-26 Xerox Corporation Smart direct memory access controller
US5801670A (en) * 1995-06-06 1998-09-01 Xerox Corporation Image generation system having a host based rendering element for generating seed pixel values and mesh address values for display having a rendering mesh for generating final pixel values
DE69615278T2 (de) * 1995-06-06 2002-06-27 Hewlett Packard Co SDRAM-Datenzuweisungsanordnung und -verfahren
FR2735253B1 (fr) * 1995-06-08 1999-10-22 Hewlett Packard Co Synchronisation de donnees entre plusieurs dispositifs de restitution asynchrones de donnees
US5794016A (en) * 1995-12-11 1998-08-11 Dynamic Pictures, Inc. Parallel-processor graphics architecture
US5940067A (en) * 1995-12-18 1999-08-17 Alliance Semiconductor Corporation Reduced memory indexed color graphics system for rendered images with shading and fog effects
US6108460A (en) * 1996-01-02 2000-08-22 Pixelfusion Limited Load balanced image generation
US5850489A (en) * 1996-01-02 1998-12-15 Integrated Device Technology, Inc. Linear expression evaluator
US5831625A (en) * 1996-01-02 1998-11-03 Integrated Device Technology, Inc. Wavelet texturing
US5808690A (en) * 1996-01-02 1998-09-15 Integrated Device Technology, Inc. Image generation system, methods and computer program products using distributed processing
US5892517A (en) * 1996-01-02 1999-04-06 Integrated Device Technology, Inc. Shared access texturing of computer graphic images
JP3645024B2 (ja) * 1996-02-06 2005-05-11 株式会社ソニー・コンピュータエンタテインメント 描画装置及び描画方法
EP0803859A3 (en) * 1996-04-23 1998-03-04 Hewlett-Packard Company System and method for optimizing storage requirements for an N-way distribution channel
US5818456A (en) * 1996-04-30 1998-10-06 Evans & Sutherland Computer Corporation Computer graphics system with adaptive pixel multisampler
US6563520B1 (en) 1996-05-01 2003-05-13 Light And Sound Design Ltd. Virtual reality interface for show control
US6104842A (en) * 1996-06-10 2000-08-15 Integrated Device Technology, Inc. Geometry processing of digital video models and images
US6854003B2 (en) 1996-12-19 2005-02-08 Hyundai Electronics America Video frame rendering engine
US5949426A (en) * 1997-01-28 1999-09-07 Integrated Device Technology, Inc. Non-linear texture map blending
US5796385A (en) * 1997-01-28 1998-08-18 Integrated Device Technology, Inc. Luminance controlled color resolution reduction
GB9703565D0 (en) * 1997-02-20 1997-04-09 Division Ltd Efficient shared memory lookups in SIMD array-based graphics renderers and video processors
US5818469A (en) * 1997-04-10 1998-10-06 International Business Machines Corporation Graphics interface processing methodology in symmetric multiprocessing or distributed network environments
US5835104A (en) * 1997-04-23 1998-11-10 S3 Incorporated Variable band size compositing buffer method and apparatus
US6184902B1 (en) * 1997-04-30 2001-02-06 Hewlett-Packard Company Centralized branch intelligence system and method for a geometry accelerator
US5956047A (en) * 1997-04-30 1999-09-21 Hewlett-Packard Co. ROM-based control units in a geometry accelerator for a computer graphics system
US5969726A (en) * 1997-05-30 1999-10-19 Hewlett-Packard Co. Caching and coherency control of multiple geometry accelerators in a computer graphics system
US6430589B1 (en) 1997-06-20 2002-08-06 Hynix Semiconductor, Inc. Single precision array processor
GB9715005D0 (en) * 1997-07-17 1997-09-24 Philips Electronics Nv Graphic image texture generation
US6016151A (en) * 1997-09-12 2000-01-18 Neomagic Corp. 3D triangle rendering by texture hardware and color software using simultaneous triangle-walking and interpolation for parallel operation
US6204859B1 (en) 1997-10-15 2001-03-20 Digital Equipment Corporation Method and apparatus for compositing colors of images with memory constraints for storing pixel data
US6128000A (en) * 1997-10-15 2000-10-03 Compaq Computer Corporation Full-scene antialiasing using improved supersampling techniques
US6232979B1 (en) * 1997-12-19 2001-05-15 Silicon Graphics, Inc. Method, system, and computer program product for fast computation using parallel multi-channel resampling and blending
US6496186B1 (en) * 1998-02-17 2002-12-17 Sun Microsystems, Inc. Graphics system having a super-sampled sample buffer with generation of output pixels using selective adjustment of filtering for reduced artifacts
US6489956B1 (en) * 1998-02-17 2002-12-03 Sun Microsystems, Inc. Graphics system having a super-sampled sample buffer with generation of output pixels using selective adjustment of filtering for implementation of display effects
AU2868199A (en) * 1998-02-17 1999-08-30 Sun Microsystems, Inc. Graphics system with variable resolution super-sampling
US6483504B1 (en) * 1998-02-17 2002-11-19 Sun Microsystems, Inc. Graphics system having a super sampled-sample buffer with efficient storage of sample position information
US6525723B1 (en) * 1998-02-17 2003-02-25 Sun Microsystems, Inc. Graphics system which renders samples into a sample buffer and generates pixels in response to stored samples at different rates
US6459428B1 (en) * 1998-02-17 2002-10-01 Sun Microsystems, Inc. Programmable sample filtering for image rendering
US6496187B1 (en) * 1998-02-17 2002-12-17 Sun Microsystems, Inc. Graphics system configured to perform parallel sample to pixel calculation
US6091386A (en) * 1998-06-23 2000-07-18 Neomagic Corp. Extended frame-rate acceleration with gray-scaling for multi-virtual-segment flat-panel displays
AU5686299A (en) * 1998-08-20 2000-03-14 Raycer, Inc. Method and apparatus for generating texture
US6771264B1 (en) 1998-08-20 2004-08-03 Apple Computer, Inc. Method and apparatus for performing tangent space lighting and bump mapping in a deferred shading graphics processor
US6577317B1 (en) 1998-08-20 2003-06-10 Apple Computer, Inc. Apparatus and method for geometry operations in a 3D-graphics pipeline
KR100283413B1 (ko) 1998-12-15 2001-04-02 김영환 텍스처 매핑시스템
US6753878B1 (en) 1999-03-08 2004-06-22 Hewlett-Packard Development Company, L.P. Parallel pipelined merge engines
US6516032B1 (en) 1999-03-08 2003-02-04 Compaq Computer Corporation First-order difference compression for interleaved image data in a high-speed image compositor
JP3169933B2 (ja) 1999-03-16 2001-05-28 四国日本電気ソフトウェア株式会社 並列描画装置
US20070242074A1 (en) * 1999-04-09 2007-10-18 Dave Stuttard Parallel data processing apparatus
US8762691B2 (en) 1999-04-09 2014-06-24 Rambus Inc. Memory access consolidation for SIMD processing elements using transaction identifiers
US20080008393A1 (en) * 1999-04-09 2008-01-10 Dave Stuttard Parallel data processing apparatus
US8169440B2 (en) * 1999-04-09 2012-05-01 Rambus Inc. Parallel data processing apparatus
US8174530B2 (en) * 1999-04-09 2012-05-08 Rambus Inc. Parallel date processing apparatus
US7506136B2 (en) * 1999-04-09 2009-03-17 Clearspeed Technology Plc Parallel data processing apparatus
US20080162875A1 (en) * 1999-04-09 2008-07-03 Dave Stuttard Parallel Data Processing Apparatus
US7802079B2 (en) 1999-04-09 2010-09-21 Clearspeed Technology Limited Parallel data processing apparatus
US7966475B2 (en) 1999-04-09 2011-06-21 Rambus Inc. Parallel data processing apparatus
US20080162874A1 (en) * 1999-04-09 2008-07-03 Dave Stuttard Parallel data processing apparatus
US7526630B2 (en) 1999-04-09 2009-04-28 Clearspeed Technology, Plc Parallel data processing apparatus
US8171263B2 (en) * 1999-04-09 2012-05-01 Rambus Inc. Data processing apparatus comprising an array controller for separating an instruction stream processing instructions and data transfer instructions
US6721446B1 (en) * 1999-04-26 2004-04-13 Adobe Systems Incorporated Identifying intrinsic pixel colors in a region of uncertain pixels
US6501363B1 (en) * 1999-11-03 2002-12-31 Innosys, Inc. Vertical transformer
US6459434B1 (en) 1999-11-03 2002-10-01 Intel Corporation Apparatus and method for progressively rendered procedural textures
US6765582B1 (en) 1999-11-12 2004-07-20 Intel Corporation Hybrid procedural/pixel based textures
US6867779B1 (en) * 1999-12-22 2005-03-15 Intel Corporation Image rendering
US6525725B1 (en) * 2000-03-15 2003-02-25 Sun Microsystems, Inc. Morphing decompression in a graphics system
US6747660B1 (en) * 2000-05-12 2004-06-08 Microsoft Corporation Method and system for accelerating noise
US6728862B1 (en) 2000-05-22 2004-04-27 Gazelle Technology Corporation Processor array and parallel data processing methods
US6826292B1 (en) * 2000-06-23 2004-11-30 Sarnoff Corporation Method and apparatus for tracking moving objects in a sequence of two-dimensional images using a dynamic layered representation
US6943798B1 (en) * 2000-08-15 2005-09-13 Microsoft Corporation Method and system for executing SIMD instructions using graphics technology
US6791561B1 (en) 2000-08-22 2004-09-14 Sony Corporation Method and apparatus for rendering video data
US7034828B1 (en) 2000-08-23 2006-04-25 Nintendo Co., Ltd. Recirculating shade tree blender for a graphics system
US20030002729A1 (en) * 2001-06-14 2003-01-02 Wittenbrink Craig M. System for processing overlapping data
US7564460B2 (en) * 2001-07-16 2009-07-21 Microsoft Corporation Systems and methods for providing intermediate targets in a graphics system
US7079151B1 (en) 2002-02-08 2006-07-18 Adobe Systems Incorporated Compositing graphical objects
WO2003083680A1 (en) * 2002-03-22 2003-10-09 Deering Michael F Scalable high performance 3d graphics
US7447872B2 (en) * 2002-05-30 2008-11-04 Cisco Technology, Inc. Inter-chip processor control plane communication
US20030236800A1 (en) * 2002-06-19 2003-12-25 Goeltzenleuchter Courtney D. Dynamic recovery system and method
US7515156B2 (en) * 2003-01-08 2009-04-07 Hrl Laboratories, Llc Method and apparatus for parallel speculative rendering of synthetic images
US7228525B2 (en) * 2003-02-14 2007-06-05 Sap Ag Generic rendering framework
US7129941B2 (en) * 2003-03-19 2006-10-31 Sun Microsystems, Inc. Sample replication mode with depth value calculation
US20040207890A1 (en) * 2003-04-16 2004-10-21 Breswick Curt Paul Method and apparatus for controlling shifting of data out of at least one image sensor
US7119808B2 (en) * 2003-07-15 2006-10-10 Alienware Labs Corp. Multiple parallel processor computer graphics system
US20080211816A1 (en) * 2003-07-15 2008-09-04 Alienware Labs. Corp. Multiple parallel processor computer graphics system
US7139005B2 (en) * 2003-09-13 2006-11-21 Microsoft Corporation Optimized fixed-point mathematical library and graphics functions for a software-implemented graphics rendering system and method using a normalized homogenous coordinate system
US8144156B1 (en) * 2003-12-31 2012-03-27 Zii Labs Inc. Ltd. Sequencer with async SIMD array
US20050162435A1 (en) * 2004-01-22 2005-07-28 Electronic Arts Inc. Image rendering with multi-level Z-buffers
US7570267B2 (en) * 2004-05-03 2009-08-04 Microsoft Corporation Systems and methods for providing an enhanced graphics pipeline
US7978205B1 (en) 2004-05-03 2011-07-12 Microsoft Corporation Systems and methods for providing an enhanced graphics pipeline
US8427490B1 (en) 2004-05-14 2013-04-23 Nvidia Corporation Validating a graphics pipeline using pre-determined schedules
US7599044B2 (en) 2005-06-23 2009-10-06 Apple Inc. Method and apparatus for remotely detecting presence
US7388588B2 (en) * 2004-09-09 2008-06-17 International Business Machines Corporation Programmable graphics processing engine
US7586500B2 (en) * 2004-09-24 2009-09-08 Canon Kabushiki Kaisha Dynamic render algorithm selection
US8624906B2 (en) * 2004-09-29 2014-01-07 Nvidia Corporation Method and system for non stalling pipeline instruction fetching from memory
US8736623B1 (en) 2004-11-15 2014-05-27 Nvidia Corporation Programmable DMA engine for implementing memory transfers and video processing for a video processor
US8995715B2 (en) 2010-10-26 2015-03-31 Fotonation Limited Face or other object detection including template matching
US7242169B2 (en) * 2005-03-01 2007-07-10 Apple Inc. Method and apparatus for voltage compensation for parasitic impedance
US10026140B2 (en) 2005-06-10 2018-07-17 Nvidia Corporation Using a scalable graphics system to enable a general-purpose multi-user computer system
US9298311B2 (en) * 2005-06-23 2016-03-29 Apple Inc. Trackpad sensitivity compensation
US7577930B2 (en) 2005-06-23 2009-08-18 Apple Inc. Method and apparatus for analyzing integrated circuit operations
US7535480B2 (en) * 2005-08-24 2009-05-19 Microsoft Corporation Compositing rendering layers
US7433191B2 (en) * 2005-09-30 2008-10-07 Apple Inc. Thermal contact arrangement
US9092170B1 (en) 2005-10-18 2015-07-28 Nvidia Corporation Method and system for implementing fragment operation processing across a graphics bus interconnect
US7598711B2 (en) * 2005-11-23 2009-10-06 Apple Inc. Power source switchover apparatus and method
US8077174B2 (en) 2005-12-16 2011-12-13 Nvidia Corporation Hierarchical processor array
US7634637B1 (en) * 2005-12-16 2009-12-15 Nvidia Corporation Execution of parallel groups of threads with per-instruction serialization
JP2008009696A (ja) * 2006-06-29 2008-01-17 Fuji Xerox Co Ltd 画像処理装置及びプログラム
US8648867B2 (en) 2006-09-25 2014-02-11 Neurala Llc Graphic processor based accelerator system and method
US8232991B1 (en) 2006-11-03 2012-07-31 Nvidia Corporation Z-test result reconciliation with multiple partitions
EP2104930A2 (en) 2006-12-12 2009-09-30 Evans & Sutherland Computer Corporation System and method for aligning rgb light in a single modulator projector
US8207980B2 (en) 2007-05-01 2012-06-26 Vivante Corporation Coordinate computations for non-power of 2 texture maps
US8683126B2 (en) * 2007-07-30 2014-03-25 Nvidia Corporation Optimal use of buffer space by a storage controller which writes retrieved data directly to a memory
US8698819B1 (en) 2007-08-15 2014-04-15 Nvidia Corporation Software assisted shader merging
US8659601B1 (en) 2007-08-15 2014-02-25 Nvidia Corporation Program sequencer for generating indeterminant length shader programs for a graphics processor
US8411096B1 (en) 2007-08-15 2013-04-02 Nvidia Corporation Shader program instruction fetch
US9024957B1 (en) 2007-08-15 2015-05-05 Nvidia Corporation Address independent shader program loading
JP2009075869A (ja) * 2007-09-20 2009-04-09 Toshiba Corp 多視点画像描画装置、方法及びプログラム
US9064333B2 (en) * 2007-12-17 2015-06-23 Nvidia Corporation Interrupt handling techniques in the rasterizer of a GPU
US8780123B2 (en) * 2007-12-17 2014-07-15 Nvidia Corporation Interrupt handling techniques in the rasterizer of a GPU
US8923385B2 (en) * 2008-05-01 2014-12-30 Nvidia Corporation Rewind-enabled hardware encoder
US8681861B2 (en) * 2008-05-01 2014-03-25 Nvidia Corporation Multistandard hardware video encoder
US8358317B2 (en) 2008-05-23 2013-01-22 Evans & Sutherland Computer Corporation System and method for displaying a planar image on a curved surface
WO2009145917A1 (en) * 2008-05-30 2009-12-03 Advanced Micro Devices, Inc. Local and global data share
US8702248B1 (en) 2008-06-11 2014-04-22 Evans & Sutherland Computer Corporation Projection method for reducing interpixel gaps on a viewing surface
US8077378B1 (en) 2008-11-12 2011-12-13 Evans & Sutherland Computer Corporation Calibration system and method for light modulation device
US8489851B2 (en) * 2008-12-11 2013-07-16 Nvidia Corporation Processing of read requests in a memory controller using pre-fetch mechanism
GB2473513B (en) * 2009-09-14 2012-02-01 Sony Comp Entertainment Europe A method and apparatus for determining processor performance
US9053681B2 (en) 2010-07-07 2015-06-09 Fotonation Limited Real-time video frame pre-processing hardware
US9342322B2 (en) 2011-09-12 2016-05-17 Microsoft Technology Licensing, Llc System and method for layering using tile-based renderers
US9641826B1 (en) 2011-10-06 2017-05-02 Evans & Sutherland Computer Corporation System and method for displaying distant 3-D stereo on a dome surface
WO2014190208A2 (en) 2013-05-22 2014-11-27 Neurala, Inc. Methods and apparatus for early sensory integration and robust acquisition of real world knowledge
EP3000030A4 (en) 2013-05-22 2017-07-05 Neurala Inc. Methods and apparatus for iterative nonspecific distributed runtime architecture and its application to cloud intelligence
US9626566B2 (en) 2014-03-19 2017-04-18 Neurala, Inc. Methods and apparatus for autonomous robotic control
KR20170036657A (ko) 2014-03-19 2017-04-03 뉴럴라 인코포레이티드 자율 로봇 제어를 위한 방법들 및 장치
US10163183B2 (en) * 2016-01-13 2018-12-25 Rockwell Collins, Inc. Rendering performance using dynamically controlled samples
US10636110B2 (en) * 2016-06-28 2020-04-28 Intel Corporation Architecture for interleaved rasterization and pixel shading for virtual reality and multi-view systems
US10922585B2 (en) * 2018-03-13 2021-02-16 Recogni Inc. Deterministic labeled data generation and artificial intelligence training pipeline
CN114036015B (zh) * 2021-10-07 2024-04-19 中国航空工业集团公司洛阳电光设备研究所 一种基于fpga的高安全性图形生成装置

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4827445A (en) * 1982-02-18 1989-05-02 University Of North Carolina Image buffer having logic-enhanced pixel memory cells and method for setting values therein
US4590465A (en) * 1982-02-18 1986-05-20 Henry Fuchs Graphics display system using logic-enhanced pixel memory cells
US4783649A (en) * 1982-08-13 1988-11-08 University Of North Carolina VLSI graphics display image buffer using logic enhanced pixel memory cells
US4648045A (en) * 1984-05-23 1987-03-03 The Board Of Trustees Of The Leland Standford Jr. University High speed memory and processor system for raster display
DE69132796T2 (de) * 1990-11-30 2002-04-25 Sun Microsystems Inc Verfahren und gerät zur darstellung von grafischen bildern
US5388206A (en) * 1992-11-13 1995-02-07 The University Of North Carolina Architecture and apparatus for image generation

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002541586A (ja) * 1999-04-09 2002-12-03 クリアスピード・テクノロジー・リミテッド 並列データ処理装置
JP2011023036A (ja) * 1999-04-09 2011-02-03 Rambus Inc 並列データ処理装置
JP2011023037A (ja) * 1999-04-09 2011-02-03 Rambus Inc 並列データ処理装置
JP2004510270A (ja) * 2000-09-28 2004-04-02 インテル・コーポレーション フルシーン・アンチエイリアシング・スーパーサンプリング実施のための方法および装置
JP2008521135A (ja) * 2004-11-17 2008-06-19 エヌヴィディア コーポレイション 拡張可能なパフォーマンスのためのグラフィックスアダプタの接続
US8130227B2 (en) 2006-05-12 2012-03-06 Nvidia Corporation Distributed antialiasing in a multiprocessor graphics system
KR20100118706A (ko) * 2009-04-29 2010-11-08 삼성전자주식회사 영상 처리 장치 및 방법
JP2013137756A (ja) * 2011-12-05 2013-07-11 Arm Ltd コンピュータグラフィックスを処理する方法およびコンピュータグラフィックスを処理するための装置
US9805447B2 (en) 2011-12-05 2017-10-31 Arm Limited Methods of and apparatus for processing computer graphics

Also Published As

Publication number Publication date
AU5596894A (en) 1994-06-08
EP0672275A4 (en) 1997-11-12
CA2146335C (en) 2000-05-30
WO1994011807A1 (en) 1994-05-26
US5388206A (en) 1995-02-07
AU677027B2 (en) 1997-04-10
US5481669A (en) 1996-01-02
EP0672275A1 (en) 1995-09-20
JP3009732B2 (ja) 2000-02-14
CA2146335A1 (en) 1994-05-26

Similar Documents

Publication Publication Date Title
US5388206A (en) Architecture and apparatus for image generation
Molnar et al. PixelFlow: High-speed rendering using image composition
US7522171B1 (en) On-the-fly reordering of 32-bit per component texture images in a multi-cycle data transfer
Deering et al. The triangle processor and normal vector shader: a VLSI system for high performance graphics
US7728841B1 (en) Coherent shader output for multiple targets
US5185599A (en) Local display bus architecture and communications method for Raster display
US6115047A (en) Method and apparatus for implementing efficient floating point Z-buffering
US5821950A (en) Computer graphics system utilizing parallel processing for enhanced performance
US5821949A (en) Three-dimensional graphics accelerator with direct data channels for improved performance
US5274760A (en) Extendable multiple image-buffer for graphics systems
US6417858B1 (en) Processor for geometry transformations and lighting calculations
Deering et al. Leo: A system for cost effective 3d shaded graphics
EP0817008B1 (en) Three-dimensional graphics accelerator which implements multiple logical buses
EP0817117B1 (en) Command processor for a three-dimensional graphics accelerator which includes geometry decompression capabilities and method for processing geometry data in said graphics accelerator
US8237705B2 (en) Hierarchical processor array
US7747842B1 (en) Configurable output buffer ganging for a parallel processor
GB2245129A (en) Local display bus architecture and communications method for raster display
US7484076B1 (en) Executing an SIMD instruction requiring P operations on an execution unit that performs Q operations at a time (Q<P)
US6847369B2 (en) Optimized packing of loose data in a graphics queue
EP0889441B1 (en) Lighting unit and method for a three-dimensional graphics accelerator
Kugler The Setup for Triangle Rasterization.
US6778188B2 (en) Reconfigurable hardware filter for texture mapping and image processing
Poulton et al. Breaking the frame-buffer bottleneck with logic-enhanced memories
US7489315B1 (en) Pixel stream assembly for raster operations
JP2001306532A (ja) データ処理装置およびマルチプロセッサ装置