JPH09510309A - 集積化したテクスチャメモリと補間論理回路 - Google Patents

集積化したテクスチャメモリと補間論理回路

Info

Publication number
JPH09510309A
JPH09510309A JP7523600A JP52360095A JPH09510309A JP H09510309 A JPH09510309 A JP H09510309A JP 7523600 A JP7523600 A JP 7523600A JP 52360095 A JP52360095 A JP 52360095A JP H09510309 A JPH09510309 A JP H09510309A
Authority
JP
Japan
Prior art keywords
texture
memory
semiconductor chip
cache
main memory
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP7523600A
Other languages
English (en)
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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=22768668&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=JPH09510309(A) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by シリコン・グラフィクス・インコーポレーテッド filed Critical シリコン・グラフィクス・インコーポレーテッド
Publication of JPH09510309A publication Critical patent/JPH09510309A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/04Texture mapping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/001Texturing; Colouring; Generation of texture or colour
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/005General purpose rendering architectures

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Graphics (AREA)
  • Image Generation (AREA)

Abstract

(57)【要約】 コンピュータグラフィックスシステムでテクスチャマッピングを行う際に使用する半導体チップ(200)。テクスチャは半導体チップに入力される。これらのテクスチャは主メモリ(205)に記憶される。テクセルの読出し及び書込みを高速化するために、キャッシュメモリ(208)を使用する。主メモリ(205)とキャッシュメモリ(208)との間のデータ転送をメモリコントローラ(203)を用いて制御する。上記構成要素と同じ半導体チップ上に補間回路(209)を設ける。この補間回路(209)は、主メモリ(205)に記憶されたテクスチャに基づいて補間を行うことにより、出力テクセルを生成する。補間後のテクセル値は、半導体チップによって出力され、これによってマルチプロセッサ環境における伝送バンド幅およひ記憶の冗長性を最小限にすることができる。

Description

【発明の詳細な説明】 集積化したテクスチャメモリと補間論理回路 発明の分野 本発明は、コンピュータのディスプレイシステムに関するものである。より詳 しくは、本発明はコンピュータシステムでテクスチャマッピングを行う際に使用 されるテクスチャメモリと補間論理回路を集積化したデバイスに関する。 発明の背景 コンピュータシステムは、表示画面上にグラフィカルオブジェクトを表示する のに普通に使用される。これらのグラフィカルオブジェクトとしては、点、線、 多角形、及び3次元の立体オブジェクトがある。テクスチャマッピング技術を用 いることによって、これらのオブジェクトの区域や表面に色やその他のディテー ルを付与することができる。テクスチャマッピングにおいては、パターンイメー ジまたはテクスチャマップをオブジェクトの区域または表面と組み合わせて、そ の付加されたテクスチャマップのディテールを有する修正オブジェクトが生成さ れる。例えば、模様のない立方体の輪郭と木目を定義するテクスチャマップが与 えられていれば、テクスチャマッピング技法を用いて立方体上に木目パターンを マップすることができる。その結果、木製に見える立方体が表示される。もう一 つの例では、テクスチャマッピングによって不毛の土地のモデルに草木を付加す ることができる。また、コンピュータモデル化包装デザインにラベルを貼って、 実際の製品の外観を伝えることができる。さらに、幾何学面にテクスチャをマッ プすると、表面シェーディングだけでは必ずしも得られない動きと空間キューが 付加される。例えば、中心の回りに回転する球体は、その表面に不規則なテクス チャまたはパターンを付けるまでは、静止しているように見える。 テクスチャマッピングは、テクスチャ空間で定義された関数を有するテクスチ ャの使用を伴う。そして、このテクスチャはオブジェクト空間にワープあるいは マップされる。通常は、2次元テクスチャまたはパターンイメージが3次元面上 にマップされる。これは2次元インデックス(S,T)を3次元面上の点に対し てテクスチャピクセル(テクセル)のアレイに対応付けることにより行うことが できる。面をレンダリングする際には、S及びTの値が補間され、レンダリング された各ピクセル値毎にテクスチャ値を検索するために用いられる。補間された S及びT値は、通常は整数値ではない。その結果、これらの値はテクセルのアレ イによって表されるテクスチャサンプルの間に位置することがしばしばある。 実際のS及びT値が与えられた場合に、テクスチャ値を選択するにはいくつか の方法がある。最も簡単な方法の一つは、S及びTを最も近い整数に丸め、それ らの丸めた整数値に相当するテクセルを選択することである。実際の(S,T) 一の回りの最も近い4つのサンプル間で補間することによってより正確な表現が 得られる。時には、双一次補間アルゴリズムが用いられることもある。また、他 の場合は、より正確な結果を得るために、高次補間アルゴリズムが使用されるこ ともある。 上記のような単純な選択プロセスで考えられる一つの問題は、テクスチャマッ ピングしている面が視点から遠いと、テクスチャの激しいエイリアシングが起こ る場合があることである。このような好ましくないエイリアシングは、補間(S ,T)値が大きなテクスチャの区画にわたってスキップすることがあるために起 こる。MIPマッピングと呼ばれる従来技術では、連続的に解像度を低くしたテ クスチャの多数のフィルタされたコピーをあらかじめ計算することによってこの 問題に対する取組みがなされている。例えば、256×256のテクセルアレイ をフィルタし、リサンプリングして、128×128、32×32、16×16 、8×8、及び2×2の解像度のマップを得る。このようなテクセルの特定のサ イズは、レベル・オブ・ディテール(LOD)として知られるコンピュータパラ メータに基づいて選択される。LODは、補間(S,T)値間の相対距離を表す 。各マップサイズは整数LODを表し、計算LOD値は実際の数値を表す。各ピ クセルの計算LOD値の上下の最も近い整数LODを表すマップで双一次補間を 行うことによって、高品質のテクスチャマッピングが得られる。次に、整数LO D間で線形補間を行うことにより、非整数LODのテクスチャ値が得られる。こ のプロセスは、三重線形MIPマッピングとして知られている。 もう一つの問題は、高性能コンピュータグラフィックスシステムにおいては、 レンダリング動作が通常多数のプロセッサ間で分散して行われるということであ る。この並列構成を用いてテクスチャマッピングを行うと、各プロセッサは、お そらくそれぞれの対応メモリにテクスチャマップ全体のコピーが書き込まれるこ とになると考えられる。このようなテクスチャマップ全体の多重記憶は、冗長で あると同時に非効率的である。 さらにもう一つの問題は、様々なプロセッサとメモリとの間のデータ転送に、 限られたバンド幅の相当の部分が費消されるということである。この機能に貴重 なバンド幅を割り当てることは、他の必要情報のやり取りの速度を低下させる結 果につながる。従って、全体としては、この方法はテクスチャマッピングプロセ スに大きな負担を課す結果となる。 このように、従来技術のコンピュータグラフィックスシステムには、高速で、 正確かつ効率的なテクスチャマッピングプロセスの必要性がある。このようなプ ロセスが、ともかくもテクスチャマッピングプロセスに必要なバンド幅量を最小 限にすることができるならば、好ましいであろう。また、そのようなプロセスが 、できるだけ少ないチップで、また冗長なテクスチャ記憶なしに実装することが できるならば、非常に好ましいと考えられる。 発明の概要 本発明は、グラフィックス用のマッピングを行うためにコンピュータシステム で使用する半導体チップにある。この半導体チップには、様々なテクスチャマッ プが入力される。これらのテクスチャマップは主メモリ(例えばDRAMアレイ )に記憶される。最も新しいテクスチャマップ用のデータは、テクセルの読出し 及び書込みを迅速に行うためにキャッシュに記憶される。主メモリとキャッシュ の間のデータ転送はメモリコントローラによって制御される。また、同じ半導体 チップ中に1つ以上の補間回路が作り込まれる。これらの補間回路は、メモリに 記憶されたテクスチャから補間を行うことによって出力テクセルを生成する。補 間されたテクセル値は、表示のために半導体チップから出力される。テクスチャ メモリと積分器を同じ基板上に集積化することによって、マルチプロセッサ環境 における伝送バンド幅ならびに記憶冗長性を最小限にすることができる。 本発明のこの実施態様においては、DRAMの行をアクセスするとき、その内 容を、同時にキャッシュにアクセスし、DRAMアレイを再度サイクリングしな がら、キャッシュに転送することができる。言い換えると、メモリアクセスサイ クルをキャッシュからの読出しと並行して行うことができる。さらに、本発明の 一実施態様においては、障害予測機能を組み込むことによって、データが現実に 必要になる以前に将来のデータを検索する。この方法によって、余分の遅延を引 き起こすことなくデータ転送を続行することができる。本発明のもう一つの実施 態様においては、補間回路は、様々に異なるデータ幅に所望の通りに対応できる ようスタックすることができる何枚かのモジュールスライスで構成される。 図面の簡単な説明 以下、本発明を添付図面に示す実施形態により説明するが、これらは例示説明 のためのものであって制限的な意味を有するものではなく、また、図中同じ参照 符号は同様の構成部分乃至は要素を指示する。 図1は、本発明を実施することが可能なコンピュータグラフィックスシステム のブロック図を示す。 図2は、テクスチャランダムアクセスメモリ(TRAM)のブロック図を示す 。 図3は、TRAMメモリ構成のブロック図を示す。 図4は、レベル・オブ・ディテール(LOD)メモリの2つのバンクのブロッ ク図を示す。 図5は、クワッドDRAM及びキャッシュメモリを示す。 図6は、TRAMリサンプリング相互接続回路網の回路図を示す。 図7は、ミップマップジェネレータのブロック図を示す。 図8は、最近接点補間法の一例を示す。 図9は、双一次補間法の一例を示す。 図10は、8ビット双一次補間回路の回路図を示す。 図11は、補間回路チェーンに使用することができる3種類の異なる構成を示 す。 図12は、基本スライスとしての4ビット入力補間回路スライスを示す。 図13は、2つの4ビットスライスを接続することによって形成される8ビッ ト入力補間回路を示す。 図14は、基本スライスとしての6ビット補間回路スライスを示す。 詳細な説明 以下、コンピュータディスプレイシステムでテクスチャマッピングを行うため のテクスチャメモリと補間論理回路を集積化した装置及びその集積化方法を実施 形態により説明する。以下の説明においては、説明の便宜上、本発明の完全な理 解を図るために、メモリ、キャッシュアーキテクチャ、補間方式等、特定の詳細 事項を数多く記載する。しかしながら、当業者にとっては、これら特定の詳細事 項の記載がなくとも本発明を実施することが可能なことは明らかであろう。その 他の場合においては、本発明を不必要に不明確することを避けるために、周知の 構成及び手段はブロック図形式で示す。 本発明を実施することが可能なコンピュータシステムの概要 図1を参照すると、本発明を実施することができるコンピュータグラフィック スシステムが符号100で示されている。システム100は、例えば米国カリフ ォルニア州マウンテンビューのシリコングラフィックス(Silicon Graphics,Inc .)社の製造になるIRISTMファミリーのような複雑な画像あるいは3次元画像 を生成するためのあらゆるコンピュータ制御グラフィックスシステムを含み得る 。コンピュータシステム100は、情報を伝送するためのバスまたはその他の通 信手段101、及び情報を処理するためのバス101に接続された処理手段10 2を具備する。システム100は、さらに、情報及びプロセッサ102によって 実行される命令を記憶するためのランダムアクセスメモリ(RAM)またはその 他の動的記憶装置104(主メモリと称する)を具備する。主メモリ104は、 プロセッサ102による命令実行時に一時変数またはその他の中間情報を記憶す るためにも使用することができる。また、コンピュータシステム100は、プロ セッサ102用の静的情報及び命令を記憶するためのバス101に接続されたリ ードオンリーメモリ(ROM)及び/またはその他の静的記憶装置106を具備 す る。バス101には、情報及び命令を記憶するための出た記憶装置107が接続 されている。 バス101には、グラフィックスサブシステム111も接続されている。プロ セッサ102は、描画コマンド、座標頂点データ及びオブジェクトの幾何学的位 置、色、及び面パラメータに関するその他のデータのような図形データをグラフ ィックスサブシステム111に供給する。オブジェクトデータは、グラフィック スサブシステム111により次の4つのパイプライン段で処理される:ジオメト リサブシステム、走査変換サブシステム、ラスタサブシステム、及びディスプレ イサブシステム。ジオメトリサブシステムは、プロセッサ102からの図形デー タを両面座標系に変換する。走査変換サブシステムは、その後、ジオメトリサブ システムからの基本要素(例えば、点、線、及びメッシュ)に基づいてピクセル データを生成する。これらのピクセルデータはラスタサブシステムに送られ、そ こでZバッファリング、ブレンディング、テクスチャリング、及びエイリアシン グ機能が実行される。その結果得られるピクセル値はフレームバッファ109に 記憶される。ディスプレイサブシステムは、フレームバッファ109のデータを 読み出して、ディスプレイモニタ121上に画像を表示する。 さらに、コンピュータシステム100には、磁気ディスクまたは光ディスクの ようなデータ記憶装置107及びこれに対応するディスクドライバを接続するこ とができる。また、コンピュータシステム100は、バス101を介して情報を コンピュータユーザに表示するためのブラウン管(CRT)のような表示装置1 21に接続することができる。通常、アルファニューメリックキー及びその他の キーを含むアルファニューメリック入力装置122が、プロセッサ102に対し て情報及びコマンド選択を伝達するために、バス101に接続される。もう一種 のユーザ入力装置として、方向情報及びコマンド選択をプロセッサ102に伝達 すると共に、ディスプレイ121上のカーソルの動きを制御するためのマウス、 トラックボール、あるいはカーソル方向キーのようなカーソルコントロール12 3が設けられている。この入力装置は、通常、2軸、すなわち第1の軸(例えば X軸)及び第2軸(例えばY軸)で2自由度を有し、この自由度によって入力装 置は平面内の位置を指定することができる。 その外、バス101には、紙、フィルムのような媒体、あるいはこれらと同様 の形の媒体に命令、データ、またはその他の情報をプリントするために用いられ るハードコピー装置124のような装置を接続することができる。これらに加え て、コンピュータシステム100は、情報記録用のマイクロホンに接続されたオ ーディオディジタイザのような音声記録/再生装置125に接続することができ る。さらに、この装置には、ディジタル化された音声を再生するためのディジタ ル−アナログ(D/A)変換器に接続されたスピーカを具備することも可能であ る。 カスタム・テクスチャランダムアクセスメモリ 本発明においては、テクスチャマッピングに関連するテクスチャメモリ及び補 間/リサンプリング論理回路がカスタム・テクスチャランダムアクセスメモリ( TRAM)と呼ばれる1枚のチップ上に集積化して作り込まれる。言い換えると 、TRAMの回路(例えばDRAM及びキャッシュのようなテクスチャメモリ、 補間論理回路、リサンプリング論理回路等)は、全てチップの同じ基板上に作り 込まれる。このTRAM設計にはいくつかの利点がある。まず第一に、チップ上 で補間動作を行うことにより、データ出力ピンやサポートチップの数を最小限に することができる。例えば、各TRAMは、8ビットの場合、8ビットデータ出 力しか要らない。処理結果は直接グラフィックスラスタライザに送られる。さら に、最密ダイナミックランダムアクセスメモリ(DRAM)技術を用いることに よって、多数のDRAMをオンチップで作り込むことができる。これによって、 ミップマップ・リサンプリングを行うためのテクセルアドレス独立性、及び冗長 なテクスチャ記憶のない大きなテクスチャ容量が得られる。そして、DRAMの 行をキャッシングすることにより、DRAMアクセスはリサンプリングと並行し て実行される。さらに、アドレス及びデータをパイプライン処理することによっ て、より大きいスループットが得られる。 図2は、TRAM200のブロック図を示す。ライン201上の入力アドレス 及びデータは、ミップマップジェネレータ202及びメモリ制御/アドレスイン タフェース203に入力される。ミップマップが生成されると、それらのミップ マップは、入力バッファ204によりバッファリングしてから、DRAMアレイ 205に記憶される。さらに、メモリ制御/アドレスインタフェース203には 、読出しアドレス及びキャッシュアドレスがライン206及び207を介して入 力される。メモリ制御/アドレスインタフェース203は、DRAMアレイ20 5及び読出しキャッシュ208を制御する。読出しキャッシュ208に書き込ま れたミップマップと共にサブテクセル及びLODデータが補間回路209によっ て使用される。補間回路209は、テクスチャ画像をリサンプリングして出力サ ンプルを生成する。それらの出力サンプルはグラフィックスラスタライザに送ら れる。次に、これらの各ブロックについてさらに詳細に説明する。 図3は、TRAMメモリ構成のブロック図を示す。基本的に、このTRAMは 、DRAMアレイとスタティックランダムアクセスメモリ(SRAM)キャッシ ュで構成され、これらは2グループの並列LODメモリ301と302に分割さ れる。これらの各グループは、三重線形リサンプリングを行うために、各LOD から2×2のテクセル区画が割り当てられる。これらの2グループは、各々メモ リの4つの独立「クワッド」303〜306及び307〜310を有する。LO Dメモリをクワッドに分割するすると、画像境界におけるキャッシュスラッシン グを最小限になるようなテクスチャ走査が可能になる。DRAMの書込みサイク ルと並行してバッファのローディングができるように、二重バッファ付きロード ポートが実装される。 本発明のこの実施形態においては、DRAM及びI/Oキャッシュは4つのク ワッドに分けられる。これには、リサンプリング操作時にスパンまたは線を横切 る際、各LODのサンプルを生成するのに、I/Oキャッシュは、1つのクワッ ドから最大4つの8ビットテクセルをアクセスすることができる。これらのサン プルは、次いで、補間/多重化ブロック311によって混合/多重化され、グラ フィックスラスタライザへ出力される。 ここで、各グループの4つのクワッドは、4本のバス312〜315によって 示されるように、独立アドレス指定方式になっていることに留意すべきである。 このために、各クワッドは、走査方向にウォーク(散歩)して、走査経路沿いに 必要となるデータをプリフェッチする。グラフィックスラスタライザは、パイプ ライン中のページアドレスを監視し、ページフォールトが起こるかどうかを事前 に判断する。その後、グラフィックスラスタライザは、フォールトを回避する( すなわちフォールト予測の場合)ために必要なデータへのアクセスを開始する。 TRAMキャッシュからのリサンプリングにパイプが使用されている場合、アド レスがパイプの終りに達するまでには、データは既にDRAMアレイから得るこ とができるようになっている。 図4は、LODメモリの2つの「バンク」401〜402のブロック図を示す 。これらの2つのバンクは、メモリの1Meg×8クワッドを表す。バンク40 1は、4つの64×1バイトの書込みマスク403〜406;4つの64×8 out/in 512×1 in/out I/Oキャッシュ407〜410; 1K×256偶数行DRAM411;及び1K×256奇数行DRAM412か らなる。同様に、第2のバンク402も第1のバンク401と同じブロックで構 成されている。 これらの2つのバンクは、ロードとリサンプリングの実行が非干渉化される( すなわち両ポートでフルに実行される)「ピンポン」モードを可能にする。この 機能は、4ビット及び8ビットテクスチャにおいて可能である。本発明のこの実 施形態においては、各LODのコンフィギュレーションに柔軟性がある。これに よって、ピンポン型4ビットまたは8ビットバンク、空間的により大きい4ビッ トまたは8ビットバンク、あるいはテクセルデプスを大きくする(例えば12ビ ット)ための2つのバンクの組合せのいずれかのコンフィギュレーションが可能 である。非ミップマップ型アプリケーションの場合、最大1K×1K×8ビット のテクスチャマップを記憶することができる。 図5は、所与のクワッドを得るためにDRAM及びキャッシュを編成すること ができる様々な方法を示す。16×16アレイ501は、各1K DRAMにお ける128×8バイトの1つを表している。アレイ501は、上記2つのバンク のどちらかに属するクワッド中のページであってもよい。行502は偶数の1K DRAMを表し、行503は奇数の1K DRAMを表す。 コンフィギュレーション504には、上述のピンポンモードで使用される2つ のバンク505及び506が示されている。本発明の一実施形態においては、バ ンク505及び506のサイズは16×16×8ビットである。もう一つの実施 形態においては、これら2つのバンクは、16×32×4ビットのサイズにコン フィギュレーションすることができる。ここで、4ビット及び8ビットモードに おいては、ピンポンモードでローディングとリサンプリングを同じTRAMに対 し並行して行うことができるということに留意すべきである。これによって、独 立した動作が可能であり、リサンプリングリソース(例えば列デコード、I/O キャッシュ等)が活用される。 あるいは、上記2つのバンク505及び506は、コンフィギュレーション5 07に示すように、直列に隣り合わせにして配置することもできる。このコンフ ィギュレーション507によれば、空間的により大きい連続域メモリが得られる 。さらにもう一つの実施形態においては、これら2つのバンクは並列コンフィギ ュレーション508として配列される。コンフィギュレーション508によれば 、よりデプスの大きいメモリが得られ、最大16ビットのテクセルデプスの記憶 が可能である。 画像の中間部でサンプリングが行われるときは、両方のバンクからのデータが 必要である。しかしながら、検索されるデータは、データが全部同時に得られる ように、互いに相補状をなすクワッドに書き込まれている。ミップマッピングさ れるか、または境界線がイネーブルになると、各バンクはこの境界線データを境 界線記憶装置に保持する。ミップマッピングがイネーブルになるか、境界線がイ ネーブルになったときは、動作は一貫動作になる(すなわち、境界のデータは同 じグループから読み出される)。 図2のメモリ制御/アドレスインタフェース203は、DRAMアレイを制御 すると共に、ピンポンモードの場合、ロード及びリサンプリングポートは同じD RAMリソースを要求するので、DRAMアレイの共用も制御する。このインタ フェースは、ピンポンモードにおける2つのバンクのスワッピングに用いられる 。インタフェース203は、グラフィックスラスタライザからのアドレスを各ク ワッドのDRAMの行アドレスに対してインタフェースする。このインタフェー スは、DRAMアクセスとページアドレスレジスタのローディングを並行して行 うための各DRAM毎の二重バッファ付きページアドレスレジスタを含む、さら に、 メモリ制御/アドレスインタフェースは、単一画像またはミップマップ生成にお けるロードポートDRAMページアドレスを記憶し、インクリメントする。 相互接続回路網は、クワッドを補間回路及びデーダ入力論理回路に接続する。 補間プロセスにおいては、所与のグループの4つのクワッドは多重化される。そ の結果は、その後各補間回路で利用可能になる(すなわち、各補間回路の入力で 多重化される)。境界線データは同じグループから取り出されるが、画像エッジ データとは反対のクワッドに記憶される(例えば、水平エッジはAB<−>CD に記憶され;垂直エッジはAC<−>BDに記憶される)。いずれの場合も、各 LODは2つのグループ間で分けられる。16×16より小さいLODは、次の 理由によってラップすることができる。1)他方の水平の半分が他方のグループ にあるので、同じ16×16区画からのクワッド「a」及びクワッド「b」のデ ータが必要ではなく、そのために、これらのデータは常に連続状になっており、 2)垂直のクワッド「ab」とクワッド「cd」のアドレスが独立しているので 、同じ16×16キャッシュから任意の2本の線を読み出すことができる。 図6は、TRAMリサンプリング相互接続回路網の回路図である。メモリの2 つのグループ601及び602は、各々4つのクワッド「a〜d」603〜60 6及び607〜610を有し、センス増幅器611に接続されている。センス増 幅器611は、上記2つのグループのDRAMのデータ線からの微弱な信号を増 幅するために使用される。第1レベルの多重化後のデータをパイプライン処理す るために、ジャイアントラッチ612が用いられる。4つの2:1マルチプレク サ621〜624は、各LODまたはその一部が各グループに記憶されるように するために使用される。このようにして、補間回路625と626に係数を与え ることにより、2つの入力の多重化が行われる。次に、補間回路625及び62 6の出力は、補間回路627によって補間される。他方のLODも同様の構成に なっている。最終補間回路629は、補間回路627と628から出力される両 LODの結果を補間するために使用される。 TRAMにロードするには、ミップマップジェネレータを使用する場合、2つ のLODがグループ601または602のどちらかとそのグループの任意のテク セル位置に同時に送られる。4:1マルチプレクサ630〜637は、双方向伝 送ゲートからなるので、テクセルのリサンプリングにも、書込みにも用いること ができる。例えばリサンプリングで境界線を記憶するときは、そのデータは適切 なメモリに記憶される。境界線またはミップマッピングがイネーブルになると、 中心の境界線は各グループに1回ずつ2回記憶される。データをDRAMにロー ドするには、多数のドライバ613〜620が用いられる。各入力線には、2バ イトのデータを別々にイネーブルすることができるよう、2つのドライバが割り 当てられている。 図2に示すようなミップマップジェネレータ202は、完全な画像のミップマ ップ全体を生成することができる。TRAMのロード入力は、テクスチャの直線 的なローディングを可能にする。タイル化入力の場合、ミップマップジェネレー タは、入力タイルを最小限1テクセルまでフィルタすることができる。ミップマ ップジェネレータは、ミップマップを生成するのにユーザ定義フィルタを適用し なければならない場合(例えばCPU生成)のように、ミップマップレベルを明 示的にロードすることが必要な場合は、バイパスすることができる。 本発明のこの実施形態においては、ミップマップジェネレータは2×2ボック スフィルタ(すなわち平均化フィルタ)を使用して、一段粗いミップマップレベ ルの各テクセルを生成する。ボックスフィルタは、エイリアシングを起こすよう な高周波をほとんど除去するが、たいして鋭利なフィルタではない。このミップ マップジェネレータは、単一TRAMコンフィギュレーションの場合、4、8及 び12ビット画像と、4つの4ビット画像及び2つの8ビット画像を扱う。複数 TRAMを用いる場合、ミップマップは並列に生成、記憶される。 図7は、ミップマップジェネレータのブロック図を示す。入力段701は、フ ァインLODレベルにおける水平フィルタリングを行う。第2段702は、入力 段701から結果を受け取り、出力及びミップマップのさらに下側のLOD用に 一時結果を発生する。加算器703及び704は、テクセルモードの選択によっ て、4つの並列4ビット加算器、2つの8ビット加算器、あるいは1つの12ビ ット加算器として使用することができる。これらの2つの加算器703及び70 4は、基本的には、2つの値を互いに加えて2で割ることにより、それら2つの 値の平均値を切捨て方式で出す。一つの例では、2つの4ビットの数を入力して 、 4ビットの結果が得られる。他の例では、8ビットと12ビットの数を加算器に 入力して、8ビットと12ビットの結果が得られる。これらの加算器の幅は、デ ータと同じ大きさだけあればよい。4ビット(1乃至4成分)、8ビット(1ま たは2成分)、または12ビットのデータをサポートするので、4つの4ビット 加算器スライスが実装される。これらの4つの4ビット加算器スライスを組み合 わせて、8ビットまたは12ビット加算器を形成することができる。中間処理結 果を一時記憶するために、沢山のライン記憶装置705〜710が用いられる。 アドレスジェネレータ713及び512×16ラインRAM714は、ミップマ ップジェネレータに対してアドレス及びデータの読出し/書込みを行うために使 用される。 全てのデータ成分は、並列に入力、処理され、DRAMに記憶される。従って 、唯一の違いは、加算器のキャリー回路の有無だけである。このRAMによって より長い線長が可能となるので、2TRAMまたは4TRAMコンフィギュレー ションでは、より長い画像線が可能であり、合わせてテクスチャRAM容量が大 きくなる。 本発明のこの実施形態においては、ミップマップ及び境界線はTRAMに隣接 状に配列されたTRAMブロックの形で記憶される。これらのブロックのサイズ は、各LODメモリのバンク1と2が同時に使用されるかどうかによって8Kビ ットまたは16Kビットである。メモリ割当ての基本単位は8Kビットである。 このため、組合せによって次のページ/キャッシュサイズが可能である:1)3 2×32×8ビット、バンク1と2を常に同時に使う場合−−16Kビット;2 )32×32×8ビットまたは32かけ64かけ4ビット、ピンポンモード用の 2バンク−−各8Kビット;3)64×32×8ビットまたは64×64×4ビ ット、大きな単一画像用の1バンク−−16Kビット。 画像データの開始アドレスを指定するために用いられるBASEオフセットレジス タが設けられている。このために、ミップマップ及び境界線オフセットは全てベ ースが基準になる。これらのオフセットは、画像が後でTRAMの異なる部分に いれられても変わらない。境界線が使用されているとき、または多くの小さなテ クスチャが束縛されているときにおけるTRAMの利用をより効率的にするため に、境界線及び小さなミップマップは、可能な限り同じページにパックされる。 各ミップマップ及び各ミップマップの各境界線は、BASEアドレスからそのデ ータの開始までの相対オフセットに関するテーブルエントリを有する。これらの オフセットは、ミップマップ及び境界線をページ境界に合わせなくともよいよう に、サブブロックアドレスビットを有する。例えば、16×16、8×8、4× 4、2×2、及び1×1のマップレベルをまとめて1メモリページに記憶するこ とができる。さらに、境界線も同様にしてパックすることができる。 図2のミップマップ補間回路209は、テクスチャ画像をリサンプリングして 、出力サンプルを生成する。その目的は、連続テクスチャ画像が与えられた場合 に、要求された位置におけるテクスチャ画像のピクセル値のできるだけ正確な近 似値を得ることにある。エイリアシングを最小限にするためにローパスフィルタ リングを行う。補間回路がこの近似値を生成する一方で、ミップマップジェネレ ータがローパスフィルタリング処理を行う。 ハードウェアは、各ミップマップレベルで「最近接点/ポイントサンプル」( NN)または双一次補間を行う。NNリサンプリング(「ポイント点」または「 最近接点」モードと呼ばれることもある)では、(S,T)座標が切捨て後にテ クセルの境界内に入る場合、そのレベルのサンプルに対応テクセルの輝度が割当 てられる。図8は、最近接点リサンプリングの例を示す。この図には、それぞれ 40、50、60、30、45、及び55の輝度を有する6つのテクセル801 〜806が示されている。テクセル座標(S,T)=(1.75,1.25)が 与えられた場合、そのNN出力はテクセル802に対応し、50の輝度が用いら れる。この最近接点サンプリング方式は、画像を拡大したとき、ごつごつした外 観が生じる。また、この方式は、画像中のエッジを画面のピクセルに関して回転 させると、より多くのエイリアシングが生じる(すなわち、ぎざぎざになる)。 その結果、双一次フィルタリングを用いてこれらの好ましくない効果を「滑らか に取り除く」。 双一次リサンプリングにおいては、2次元補間が行われる。これには4つの最 近接中心を持つテクセルの輝度が用いられる。図9は、双一次リサンプリングの 例を示す。それぞれ4つの輝度10〜13の1つを有する4つのテクセルが示さ れている。点905の輝度は次式で与えられる:I−Ct((Cs(I1−I0 )±I0)−(Cs(I3−I2)±I2))±(Cs(I3−I2)±I2) 、式中Cs及びCtはテクセル901の(S,T)座標間のオフセットである。 従って、双一次リサンプリングから得られる出力輝度は4つの輝度I0〜I3の 関数である。 図10は、双一次リサンプリング回路の回路図である。ABSブロック100 1及び1002は、サンプリング位置がテクセルの左側にあるか右側にあるかに 関わらず、テクセルは補間回路の同じ入力に入るということについて補償するた めに、S、T、またはLOD値の絶対値を出力する。これらの絶対値は、係数を テクセルデータに追随させる。ABSブロック1001からの出力はctの値を 与え、ABSブロック1002の出力はCsの値を与える。減算器1003は、 輝度I0及びI1に対する減算動作を実行する。乗算器1004は、この結果に Csを乗じる。次に、加算器1005が10を加算し、これによって出力Cs( I1−I0)±I0が得られる。同様にして、加算器1006からの出力Cs( I3−I2)±I2が得られる。減算器1007は、加算器1005の出力から 加算器1006の出力を減じる。この結果に乗算器によりCtが乗じられる。最 後に、乗算器1008の出力が加算器1006の出力に加えられ、その結果、双 一次サンプリングされた輝度が得られる。 これらのリサンプリングが終了すると、ハードウェアは、上記のいずれかの方 式を選択するか、それらの間で線形補間を行って出力サンプルを生成する。次に 、これらの結果はミップマップジェネレータブロックで補間される。ミップマッ プを使用する場合は、やはり最近接点及び双一次フィルタリングがどちらも適用 される。これらのフィルタリングは、選択されたフィルタによって1つまたは2 つのマップレベルで行われる。各TRAMは、1成分(4TRAMコンフィギュ レーション)、2成分(2TRAMコンフィギュレーション)、あるいは4成分 (単一TRAMコンフィギュレーション)の補間を行う。他種類のフォーマット の場合は、テクセルの色値を切り捨てて、利用可能なテクセルデプスに適合させ る。 誤差をLOD補間回路出力で±1.0LSBより小さく保つためには、2つの 小 数部ビットを保ち、乗算器の出力で3番目のビットを用いて丸めを行うことが必 要であることがわかっている。2つの小数部ビットを維持すると、本発明のこの 実施形態では、誤差が±3/4になり、各線形補間回路は、4、8または12ビ ットデータを扱えるにるように「スライス」される。補間回路の第1段は、4ビ ットデータを扱うだけでよい。第2及び第3段は6ビットデータを扱うスライス からなる。 図11は、補間回路チェーンに使用することができる種々のコンフィギュレー ションの中の3つの例を示す。最初のコンフィギュレーションでは、4つの4ビ ットユニット1101をスタックして、16ビット三重線形補間を行うことがで きる。2番目のコンフィギュレーションにおいては、1対の8ビットユニット1 102をスタックして、16ビット三重線形補間を行うことができる。3番目の コンフィギュレーションでは、1つの12ビットユニット1103を用いて補間 を行うことができる。これらの様々なユニットは、所望のコンフィギュレーショ ンが得られるように、多数のマルチプレクサをプログラミングすることにより組 み合わせ、接続される。このようにして、同じハードウェアを用いて、最小限の エキストラゲートカウントでデータ幅のフレキシビリティを確保することができ る。ある種の用途においては、より高い精度と解像度が望ましい。これに対して 、他の用途では、速度とコストの方がより重要な場合がある。 本発明のこの実施形態においては、ユニット1101〜1103はS−段、T −段、及びLOD−段からなる。S−段は4ビットスライス1104からなる。 T−段及びLOD−段は6ビットスライス1105からなる。これらのスライス は、補間回路がモジュール式となるように設計される。図12は、基本スライス としての4ビット入力補間回路スライスを示す。 マルチプレクサには、減算器(図示省略)からデータが供給される。最上位ビ ット(MS)は、サインエクステンション(スライスがMSスライスとして用い られている場合)であるか、または次の上位のスライス(最上位のスライスでな い場合)からの低位ビットである。各スライスは符号ビット及びそのエクステン ションと小数ビットを扱うから、これらの機能は、より大きなワードにおけるス ライスの位置に関して適切である限り、ディスエーブルにするか、バイパスされ る。例えば、8ビットテクセルの場合、MSスライスは符号ビットを扱い(小数 ビットは扱わない)、最下位(LS)スライスは、小数ビットを扱う(符号ビッ トは扱わない)というようなことになる。スライスコンフィギュレーション・マ ルチプレクサは、スライスのMS部(サインエクステンション)またはLS部( 小数)を別々にイネーブル化、あるいはディスエーブル化する。図13は、2つ の4ビットスライスを互いに接続することによって形成される8ビット入力補間 回路を示す。図14は、基本スライスとしての6ビット入力補間回路スライスを 示す。 図示の加算器及び減算器は、所望の組合せが可能なように分けて、スライス全 体にわたってけた上げを見越すいくつかのキャリー先見加算器(CAL)に編成 される。乗算器は、修正ブース(例えばビットペア・リコーディング)とその後 にウォリスのトリーを続けて用いることにより、加算器からの入力はウォリスト リーの最終段で結合される。乗算器は、補間回路スライス全体を組み合わせてよ り高精度のバージョンを形成することができるように構成されている。この乗算 関数は次式で与えられる:I*(Sa[0:5]±Sb[0:5]±Sc[0: 5]±Sd[0:5])。これによって、個々のニブルを別々に解釈し、または 適切にけた送りして、4ビット、8ビットまたは12ビットの結果を生成するこ とが可能になる(例えば6ビットスライスの場合)。「I」は6ビットの補間値 (この場合は乗数)である。この基本乗数は、例えば7×6である。 乗数「I」は、4スライスの各グループを通して同じであるから、これら4スラ イスのグループを通して同じリコーディング論理を用いることができる。 本発明のこの実施形態においては、結果をそれらが個々に計算された後結合す るのではなく、よりビット数の大きい精度が得られるよう並列に接続することが できる乗算器スライスを使用する技法を採用する。これによれば、各スライスに フル精度(6±4=10ビット)を取る必要がなく、他の場合に必要には必要に なる加算器の最終段を省くことができる。 以上、コンピュータディスプレイシステムでテクスチャマッピングを行う際に 使用するためのテクスチャメモリと補間論理回路の集積デバイスについて開示し た。

Claims (1)

  1. 【特許請求の範囲】 1. コンピュータシステムでテクスチャマッピングを行うための半導体チップ において、 前記半導体チップにテクスチャを入力するための入力と、 その入力に接続され、前記テクスチャを記憶する主メモリと、 その主メモリに接続され、最も新しく使用されたテクスチャを記憶するキャッ シュメモリと、 前記主メモリ及びキャッシュメモリに接続されて、その主メモリとキャッシュ メモリとの間のデータ転送を制御するメモリコントローラと、 前記メモリに接続され、前記キャッシュメモリに記憶された最も新しく使用さ れたテクスチャに基づく補間によって出力テクセルを生成する補間回路と、 その補間回路に接続され、その出力テクセルを出力するための出力と、 を具備し、前記入力、主メモリ、キャッシュメモリ、メモリコントローラ、及び 補間回路が同じ基板上に作り込まれている半導体チップ。 2. 上記メモリコントローラが、上記主メモリに対する記憶アクセスサイクル を上記キャッシュメモリに対する読出しサイクルと並行して行う請求項1記載の 半導体チップ。 3. 上記主メモリ及び上記キャッシュメモリが、ローディング動作とリサンプ リング動作とを非干渉化するために、少なくとも2つの独立アドレス指定可能な バンクに分けられた請求項2記載の半導体チップ。 4. 上記基板上に作り込まれた、障害を予測するための手段をさらに具備した 請求項3記載の半導体チップ。 5. 上記補間回路が、異なるデータ幅についての補間値を生成するようスタッ クすることができる複数のモジュール状スライスからなる請求項1記載の半導体 チップ。 6. 上記補間回路が、上記テクスチャの最近接点選択を行って上記出力テクセ ルを生成する請求項5記載の半導体チップ。 7. 上記補間回路が、上記テクスチャの双一次補間を行って上記出力テクセル を生成する請求項5記載の半導体チップ。 8. 上記入力に接続されていて、上記テクスチャを上記主メモリへの記憶に先 立ってフィルタリングするためのフィルタをさらに具備した請求項1記載の半導 体チップ。 9. 上記フィルタが、2×2ボックスフィルタからなる請求項8記載の半導体 チップ。 10. コンピュータシステムでテクスチャマッピングを行う方法において、 テクスチャを半導体チップに入力するステップと、 前記テクスチャを前記半導体チップの主メモリに記憶するステップと、 最も新しく使用されたテクスチャを前記半導体チップのキャッシュメモリに記 憶するステップと、 前記主メモリとキャッシュメモリとの間のデータ転送を制御するステップと、 半導体チップ上にある補間回路で、前記キャッシュメモリに記憶された最も新 しく使用されたテクスチャに基づいて補間を行うことにより出力テクセルを生成 するステップと、 前記半導体チップから前記出力テクセルを出力するステップと、 を有する方法。 11. 上記主メモリに対する記憶アクセスサイクルを上記キャッシュメモリに 対する読出しサイクルと並行して行うステップをさらに具備した請求項10記載 の方法。 12. 上記主メモリ及び上記キャッシュメモリを、ローディング動作とリサン プリング動作とを非干渉化するために、少なくとも2つの独立にアドレス指定可 能なバンクに分けるステップをさらに具備した請求項11記載の方法。 13. 要求されるであろうデータを決定し、そのデータをそれが要求される前 にフェッチすることによって障害を予測するステップをさらに具備した請求項1 2記載の方法。 14. 異なるデータ幅についての補間値を生成するよう複数のモジュール状ス ライスをスタックするステップをさらに具備した請求項10記載の方法。 15. 上記テクスチャの最近接点選択を行って上記出力テクセルを生成するス テップをさらに具備した請求項14記載の方法。 16. 上記テクスチャの双一次補間を行って上記出力テクセルを生成するステ ップをさらに具備した請求項14記載の方法。 17. 上記テクスチャを上記主メモリに記憶する前にフィルタリングするステ ップをさらに具備した請求項10記載の方法。 18. 上記フィルタリングするステップを2×2ボックスフィルタを用いて行 う請求項17記載の方法。 19. テクスチャ情報を記憶するためのキャッシュメモリと、そのキャッシュ メモリに記憶されたテクスチャ情報に基づく補間によってテクセルを生成する補 間回路とを具備し、前記キャッシュメモリと前記補間回路が共に同じシングル半 導体チップ上に作り込まれたシングル半導体チップ。
JP7523600A 1994-03-07 1995-03-07 集積化したテクスチャメモリと補間論理回路 Pending JPH09510309A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US08/206,959 1994-03-07
US08/206,959 US5548709A (en) 1994-03-07 1994-03-07 Apparatus and method for integrating texture memory and interpolation logic in a computer system
PCT/US1995/002853 WO1995024682A1 (en) 1994-03-07 1995-03-07 Integrating texture memory and interpolation logic

Publications (1)

Publication Number Publication Date
JPH09510309A true JPH09510309A (ja) 1997-10-14

Family

ID=22768668

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7523600A Pending JPH09510309A (ja) 1994-03-07 1995-03-07 集積化したテクスチャメモリと補間論理回路

Country Status (5)

Country Link
US (2) US5548709A (ja)
EP (1) EP0749599B1 (ja)
JP (1) JPH09510309A (ja)
DE (1) DE69535231T2 (ja)
WO (1) WO1995024682A1 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002063597A (ja) * 2000-08-23 2002-02-28 Nintendo Co Ltd グラフィクスシステムのエイリアス補正方法および装置
JP2006527877A (ja) * 2003-06-17 2006-12-07 イマジネイション テクノロジーズ リミテッド 三次元コンピュータグラフィック画像のテクスチャリング
US7583270B2 (en) 1999-03-02 2009-09-01 Sony Corporation Image processing apparatus
JP2015095259A (ja) * 2013-11-14 2015-05-18 インテル コーポレイション グラフィカルテクスチャデータのマルチモードフィルタリングのためのフレキシブルフィルタロジック

Families Citing this family (119)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5548709A (en) * 1994-03-07 1996-08-20 Silicon Graphics, Inc. Apparatus and method for integrating texture memory and interpolation logic in a computer system
JP2673101B2 (ja) * 1994-08-29 1997-11-05 インターナショナル・ビジネス・マシーンズ・コーポレイション コンピュータ・グラフィクス装置
EP0710033A3 (en) * 1994-10-28 1999-06-09 Matsushita Electric Industrial Co., Ltd. MPEG video decoder having a high bandwidth memory
US5889526A (en) * 1994-11-25 1999-03-30 Matsushita Electric Industrial Co., Ltd. Interpolation apparatus and method, and image generation apparatus including such an apparatus
JP3081774B2 (ja) * 1995-05-24 2000-08-28 シャープ株式会社 テクスチャーパターンメモリ回路
US5801708A (en) * 1995-06-06 1998-09-01 Hewlett-Packard Company MIP map texture storage by dividing and allocating among multiple blocks
DE69635066T2 (de) 1995-06-06 2006-07-20 Hewlett-Packard Development Co., L.P., Houston Unterbrechungsschema zum Aktualisieren eines Lokalspeichers
DE69635638T2 (de) * 1995-06-06 2006-07-20 Hewlett-Packard Development Co., L.P., Houston Pufferspeicher für Texturdaten
US5745118A (en) * 1995-06-06 1998-04-28 Hewlett-Packard Company 3D bypass for download of textures
AU5957496A (en) * 1995-06-06 1996-12-24 Apple Computer, Inc. A caching system for interpolation processing
US5751292A (en) * 1995-06-06 1998-05-12 Hewlett-Packard Company Texture mapping method and system
GB9518696D0 (en) * 1995-09-13 1995-11-15 Philips Electronics Nv Image texture mapping
US5740343A (en) * 1995-11-03 1998-04-14 3Dfx Interactive, Incorporated Texture compositing apparatus and method
AU717344B2 (en) 1995-11-27 2000-03-23 Sun Microsystems, Inc. Texture mapping method and apparatus
US5815157A (en) * 1995-12-11 1998-09-29 International Business Machines Corporation Method and apparatus for texture border address mapping in rectangular coordinates
US5870509A (en) * 1995-12-12 1999-02-09 Hewlett-Packard Company Texture coordinate alignment system and method
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
US6111584A (en) * 1995-12-18 2000-08-29 3Dlabs Inc. Ltd. Rendering system with mini-patch retrieval from local texture storage
US5892517A (en) * 1996-01-02 1999-04-06 Integrated Device Technology, Inc. Shared access texturing of computer graphic images
EP0803859A3 (en) * 1996-04-23 1998-03-04 Hewlett-Packard Company System and method for optimizing storage requirements for an N-way distribution channel
US5831624A (en) * 1996-04-30 1998-11-03 3Dfx Interactive Inc Level of detail texture filtering with dithering and mipmaps
US5886705A (en) * 1996-05-17 1999-03-23 Seiko Epson Corporation Texture memory organization based on data locality
US6121974A (en) * 1996-06-27 2000-09-19 Cirrus Logic, Inc. Priority storage system for fast memory devices
US5877771A (en) * 1996-07-12 1999-03-02 Silicon Graphics, Inc. Method and apparatus for supersampling based on the local rate of change in texture
US6222552B1 (en) 1996-07-26 2001-04-24 International Business Machines Corporation Systems and methods for caching depth information of three-dimensional images
MY119610A (en) * 1996-07-31 2005-06-30 Sony Corp Apparatus and method for storing and accessing picture generation data
US5987567A (en) * 1996-09-30 1999-11-16 Apple Computer, Inc. System and method for caching texture map information
US5973701A (en) * 1996-09-30 1999-10-26 Cirrus Logic, Inc. Dynamic switching of texture mip-maps based on pixel depth value
US6348917B1 (en) * 1996-09-30 2002-02-19 Cirrus Logic, Inc Dynamic switching of texture mip-maps based on depth
US5935198A (en) * 1996-11-22 1999-08-10 S3 Incorporated Multiplier with selectable booth encoders for performing 3D graphics interpolations with two multiplies in a single pass through the multiplier
WO1998028713A1 (en) * 1996-12-20 1998-07-02 Cirrus Logic, Inc. Enhanced methods and systems for caching and pipelining of graphics texture data
US5831640A (en) * 1996-12-20 1998-11-03 Cirrus Logic, Inc. Enhanced texture map data fetching circuit and method
US5987568A (en) * 1997-01-10 1999-11-16 3Com Corporation Apparatus and method for operably connecting a processor cache and a cache controller to a digital signal processor
US6130674A (en) * 1997-03-31 2000-10-10 Cirrus Logic, Inc. Dynamically selectable texture filter for computer graphics
JP3104643B2 (ja) 1997-05-07 2000-10-30 株式会社セガ・エンタープライゼス 画像処理装置及び画像処理方法
US5946003A (en) * 1997-06-02 1999-08-31 Hewlett Packard Co Method and apparatus for increasing object read-back performance in a rasterizer machine
US6304268B1 (en) * 1997-06-26 2001-10-16 S3 Graphics Co., Ltd. Trilinear texture filtering of two levels of detail based on a single level of detail
EP0890925A3 (en) * 1997-06-30 1999-03-31 Sun Microsystems, Inc. Computer system including a three-dimensional graphics accelerator which includes improved texture mapping capabilities
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
JP3580682B2 (ja) * 1997-09-26 2004-10-27 株式会社ソニー・コンピュータエンタテインメント 画像処理装置および方法
US6032242A (en) * 1997-10-15 2000-02-29 Industrial Technology Research Institute Methods and systems for generating alternate and zigzag address scans based on feedback addresses of alternate and zigzag access patterns
US6219064B1 (en) 1998-01-07 2001-04-17 Seiko Epson Corporation Graphics mechanism and apparatus for mipmap level estimation for anisotropic texture mapping
JP3985321B2 (ja) * 1998-01-29 2007-10-03 ソニー株式会社 演算装置および画像処理装置
JP4314655B2 (ja) * 1998-03-04 2009-08-19 ソニー株式会社 画像処理装置
US7136068B1 (en) 1998-04-07 2006-11-14 Nvidia Corporation Texture cache for a computer graphics accelerator
US6556210B1 (en) * 1998-05-29 2003-04-29 Canon Kabushiki Kaisha Image processing method and apparatus therefor
US7616200B1 (en) 1998-06-12 2009-11-10 3Dlabs Inc. Ltd. System for reducing aliasing on a display device
US6351262B1 (en) * 1998-06-30 2002-02-26 Lucent Technologies, Inc. Display techniques for three-dimensional virtual reality
US6369813B2 (en) * 1998-06-30 2002-04-09 Intel Corporation Processing polygon meshes using mesh pool window
US7518616B1 (en) 1998-07-17 2009-04-14 3Dlabs, Inc. Ltd. Graphics processor with texture memory allocation system
US6476816B1 (en) 1998-07-17 2002-11-05 3Dlabs Inc. Ltd. Multi-processor graphics accelerator
WO2000004528A1 (en) 1998-07-17 2000-01-27 Intergraph Corporation System for displaying a television signal on a computer monitor
WO2000004484A2 (en) 1998-07-17 2000-01-27 Intergraph Corporation Wide instruction word graphics processor
WO2000004527A1 (en) * 1998-07-17 2000-01-27 Intergraph Corporation Apparatus and method of directing graphical data to a display device
WO2000004494A1 (en) 1998-07-17 2000-01-27 Intergraph Corporation Graphics processing system with multiple strip breakers
US6181355B1 (en) 1998-07-17 2001-01-30 3Dlabs Inc. Ltd. Graphics processing with transcendental function generator
US6188410B1 (en) 1998-07-17 2001-02-13 3Dlabs Inc. Ltd. System for processing vertices from a graphics request stream
US6480913B1 (en) 1998-07-17 2002-11-12 3Dlabs Inc. Led. Data sequencer with MUX select input for converting input data stream and to specific output data stream using two exclusive-or logic gates and counter
US6246422B1 (en) 1998-09-01 2001-06-12 Sun Microsystems, Inc. Efficient method for storing texture maps in multi-bank memory
US6222561B1 (en) 1998-09-17 2001-04-24 International Business Machines Corporation Render optimization using page alignment techniques
US6300953B1 (en) 1998-10-15 2001-10-09 Nvidia Apparatus and method for grouping texture cache requests
GB2343599B (en) * 1998-11-06 2003-05-14 Videologic Ltd Texturing systems for use in three dimensional imaging systems
US6704023B1 (en) 1998-12-04 2004-03-09 Silicon Motion, Inc. 3-D graphics chip with embedded DRAMbuffers
US6329997B1 (en) 1998-12-04 2001-12-11 Silicon Motion, Inc. 3-D graphics chip with embedded DRAM buffers
KR100283413B1 (ko) 1998-12-15 2001-04-02 김영환 텍스처 매핑시스템
US6452603B1 (en) 1998-12-23 2002-09-17 Nvidia Us Investment Company Circuit and method for trilinear filtering using texels from only one level of detail
US6549210B1 (en) * 1999-02-03 2003-04-15 Ati Technologies Inc. Method and apparatus for cache index hashing
US6490652B1 (en) * 1999-02-03 2002-12-03 Ati Technologies Inc. Method and apparatus for decoupled retrieval of cache miss data
US7050063B1 (en) * 1999-02-11 2006-05-23 Intel Corporation 3-D rendering texture caching scheme
US6323860B1 (en) * 1999-03-17 2001-11-27 Nvidia Corporation Circuit and method for deferring the binding of render states to primitives in a graphics system
US6380935B1 (en) * 1999-03-17 2002-04-30 Nvidia Corporation circuit and method for processing render commands in a tile-based graphics system
US6919895B1 (en) * 1999-03-22 2005-07-19 Nvidia Corporation Texture caching arrangement for a computer graphics accelerator
US6466223B1 (en) * 1999-03-24 2002-10-15 Microsoft Corporation Method and apparatus for texture memory management
US6674440B1 (en) 1999-04-05 2004-01-06 3Dlabs, Inc., Inc. Ltd. Graphics processor for stereoscopically displaying a graphical image
US6532018B1 (en) * 1999-04-19 2003-03-11 Microsoft Corporation Combined floating-point logic core and frame buffer
US6744438B1 (en) 1999-06-09 2004-06-01 3Dlabs Inc., Ltd. Texture caching with background preloading
US7061500B1 (en) 1999-06-09 2006-06-13 3Dlabs Inc., Ltd. Direct-mapped texture caching with concise tags
US6650333B1 (en) 1999-06-09 2003-11-18 3Dlabs Inc., Ltd. Multi-pool texture memory management
US7050061B1 (en) 1999-06-09 2006-05-23 3Dlabs Inc., Ltd. Autonomous address translation in graphic subsystem
US6587113B1 (en) 1999-06-09 2003-07-01 3Dlabs Inc., Ltd. Texture caching with change of update rules at line end
US6677952B1 (en) 1999-06-09 2004-01-13 3Dlabs Inc., Ltd. Texture download DMA controller synching multiple independently-running rasterizers
US6683615B1 (en) 1999-06-09 2004-01-27 3Dlabs Inc., Ltd. Doubly-virtualized texture memory
US6434587B1 (en) 1999-06-14 2002-08-13 Intel Corporation Fast 16-B early termination implementation for 32-B multiply-accumulate unit
US6825848B1 (en) * 1999-09-17 2004-11-30 S3 Graphics Co., Ltd. Synchronized two-level graphics processing cache
US6618048B1 (en) 1999-10-28 2003-09-09 Nintendo Co., Ltd. 3D graphics rendering system for performing Z value clamping in near-Z range to maximize scene resolution of visually important Z components
US6717577B1 (en) 1999-10-28 2004-04-06 Nintendo Co., Ltd. Vertex cache for 3D computer graphics
US6429873B1 (en) * 1999-12-29 2002-08-06 Intel Corporation Addressing of monolithic texture maps
TW459206B (en) * 2000-03-17 2001-10-11 Silicon Integrated Sys Corp Texture mapping cache connection device and method
US7710425B1 (en) 2000-06-09 2010-05-04 3Dlabs Inc. Ltd. Graphic memory management with invisible hardware-managed page faulting
US6819793B1 (en) 2000-06-30 2004-11-16 Intel Corporation Color distribution for texture and image compression
US6661424B1 (en) * 2000-07-07 2003-12-09 Hewlett-Packard Development Company, L.P. Anti-aliasing in a computer graphics system using a texture mapping subsystem to down-sample super-sampled images
US7576748B2 (en) 2000-11-28 2009-08-18 Nintendo Co. Ltd. Graphics system with embedded frame butter having reconfigurable pixel formats
US7184059B1 (en) * 2000-08-23 2007-02-27 Nintendo Co., Ltd. Graphics system with copy out conversions between embedded frame buffer and main memory
US6700586B1 (en) 2000-08-23 2004-03-02 Nintendo Co., Ltd. Low cost graphics with stitching processing hardware support for skeletal animation
US6707458B1 (en) 2000-08-23 2004-03-16 Nintendo Co., Ltd. Method and apparatus for texture tiling in a graphics system
US7538772B1 (en) 2000-08-23 2009-05-26 Nintendo Co., Ltd. Graphics processing system with enhanced memory controller
US6811489B1 (en) 2000-08-23 2004-11-02 Nintendo Co., Ltd. Controller interface for a graphics system
US6980218B1 (en) * 2000-08-23 2005-12-27 Nintendo Co., Ltd. Method and apparatus for efficient generation of texture coordinate displacements for implementing emboss-style bump mapping in a graphics rendering system
US6937245B1 (en) 2000-08-23 2005-08-30 Nintendo Co., Ltd. Graphics system with embedded frame buffer having reconfigurable pixel formats
US7061502B1 (en) 2000-08-23 2006-06-13 Nintendo Co., Ltd. Method and apparatus for providing logical combination of N alpha operations within a graphics system
US7196710B1 (en) 2000-08-23 2007-03-27 Nintendo Co., Ltd. Method and apparatus for buffering graphics data in a graphics system
US6636214B1 (en) 2000-08-23 2003-10-21 Nintendo Co., Ltd. Method and apparatus for dynamically reconfiguring the order of hidden surface processing based on rendering mode
US6636225B2 (en) * 2000-11-20 2003-10-21 Hewlett-Packard Development Company, L.P. Managing texture mapping data in a computer graphics system
US7046243B1 (en) * 2000-11-21 2006-05-16 Microsoft Corporation Rendering volumetric fog and other gaseous phenomena
US6940504B1 (en) 2000-11-21 2005-09-06 Microsoft Corporation Rendering volumetric fog and other gaseous phenomena using an alpha channel
WO2002058044A2 (en) * 2000-11-28 2002-07-25 Quantum 3D, Inc. A reduced texture bandwidth method for providing filtering between texture mipmap levels
US7757066B2 (en) * 2000-12-29 2010-07-13 Stmicroelectronics, Inc. System and method for executing variable latency load operations in a date processor
US6735607B2 (en) 2001-06-02 2004-05-11 Lockheed Martin Corporation Transparent data access and interpolation apparatus and method therefor
US20030030646A1 (en) * 2001-08-10 2003-02-13 Yeh Kwo-Woei Trilinear texture filtering method with proper texel selection
KR100420858B1 (ko) * 2001-08-11 2004-03-02 학교법인연세대학교 3차원 렌더링 프로세서의 매핑 처리 장치 및 방법
US7030884B2 (en) * 2003-02-13 2006-04-18 Hewlett-Packard Development Company, L.P. System and method for resampling texture maps
US7616209B1 (en) 2006-06-16 2009-11-10 Nvidia Corporation Prescient cache management
US7626588B1 (en) * 2006-06-16 2009-12-01 Nvidia Corporation Prescient cache management
US20100039562A1 (en) * 2008-04-09 2010-02-18 University Of Kentucky Research Foundation (Ukrf) Source and output device-independent pixel compositor device adapted to incorporate the digital visual interface (DVI)
US8766998B1 (en) * 2008-08-22 2014-07-01 Aechelon Technology, Inc. Sampling of non-planar display surfaces
GB2470611B (en) * 2009-06-25 2011-06-29 Tv One Ltd Apparatus and method for processing data
US8150215B2 (en) * 2010-03-24 2012-04-03 Altek Corporation Routable image pipeline device
US9569880B2 (en) * 2013-12-24 2017-02-14 Intel Corporation Adaptive anisotropic filtering

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4945500A (en) * 1987-11-04 1990-07-31 Schlumberger Technologies, Inc. Triangle processor for 3-D graphics display system
US5185856A (en) * 1990-03-16 1993-02-09 Hewlett-Packard Company Arithmetic and logic processing unit for computer graphics system
US5222205A (en) * 1990-03-16 1993-06-22 Hewlett-Packard Company Method for generating addresses to textured graphics primitives stored in rip maps
US5224208A (en) * 1990-03-16 1993-06-29 Hewlett-Packard Company Gradient calculation for texture mapping
US5179638A (en) * 1990-04-26 1993-01-12 Honeywell Inc. Method and apparatus for generating a texture mapped perspective view
US5519823A (en) * 1991-03-15 1996-05-21 Hewlett-Packard Company Apparatus for rendering antialiased vectors
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
US5392393A (en) * 1993-06-04 1995-02-21 Sun Microsystems, Inc. Architecture for a high performance three dimensional graphics accelerator
DE69418646T2 (de) * 1993-06-04 2000-06-29 Sun Microsystems Inc Gleitkommaprozessor für einen hochleistungsfähigen dreidimensionalen Graphikbeschleuniger
US5548709A (en) * 1994-03-07 1996-08-20 Silicon Graphics, Inc. Apparatus and method for integrating texture memory and interpolation logic in a computer system
US5493643A (en) * 1994-05-03 1996-02-20 Loral Aerospace Corp. Image generator architecture employing tri-level fixed interleave processing and distribution buses

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7583270B2 (en) 1999-03-02 2009-09-01 Sony Corporation Image processing apparatus
JP2002063597A (ja) * 2000-08-23 2002-02-28 Nintendo Co Ltd グラフィクスシステムのエイリアス補正方法および装置
JP4698052B2 (ja) * 2000-08-23 2011-06-08 任天堂株式会社 グラフィクスシステムのエイリアス補正方法および装置
JP2006527877A (ja) * 2003-06-17 2006-12-07 イマジネイション テクノロジーズ リミテッド 三次元コンピュータグラフィック画像のテクスチャリング
JP2015095259A (ja) * 2013-11-14 2015-05-18 インテル コーポレイション グラフィカルテクスチャデータのマルチモードフィルタリングのためのフレキシブルフィルタロジック

Also Published As

Publication number Publication date
WO1995024682A1 (en) 1995-09-14
EP0749599B1 (en) 2006-09-20
EP0749599A1 (en) 1996-12-27
EP0749599A4 (en) 2001-07-04
DE69535231D1 (de) 2006-11-02
DE69535231T2 (de) 2007-10-11
US5706481A (en) 1998-01-06
US5548709A (en) 1996-08-20

Similar Documents

Publication Publication Date Title
JPH09510309A (ja) 集積化したテクスチャメモリと補間論理回路
US6353438B1 (en) Cache organization—direct mapped cache
US6304268B1 (en) Trilinear texture filtering of two levels of detail based on a single level of detail
JP4410940B2 (ja) 3次元イメージングシステムで用いるためのテクスチャリングシステム
US6057861A (en) Mip map/rip map texture linear addressing memory organization and address generator
US7990391B2 (en) Memory system having multiple address allocation formats and method for use thereof
JP3645024B2 (ja) 描画装置及び描画方法
US7151544B2 (en) Method for improving texture cache access by removing redundant requests
US20080094409A1 (en) Image Generation Device and Image Generation Method
JP3081774B2 (ja) テクスチャーパターンメモリ回路
US7405735B2 (en) Texture unit, image rendering apparatus and texel transfer method for transferring texels in a batch
US7106352B2 (en) Automatic gain control, brightness compression, and super-intensity samples
US7546425B2 (en) Data processor with a built-in memory
JP3687945B2 (ja) 画像処理装置およびその方法
US6614443B1 (en) Method and system for addressing graphics data for efficient data access
JP2000011190A (ja) 画像処理装置
US20040001067A1 (en) System and method for filtering graphics data on scanout to a monitor
US6816162B2 (en) Data management to enable video rate anti-aliasing convolution
US6985153B2 (en) Sample request mechanism for supplying a filtering engine
JP4482996B2 (ja) データ記憶装置とその方法および画像処理装置
JP4670887B2 (ja) 画像処理装置
JPH11161816A (ja) データ記憶装置、データ記憶装置の制御装置とその方法および画像生成装置

Legal Events

Date Code Title Description
RD13 Notification of appointment of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7433

Effective date: 20051214

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20051214