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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/04—Texture mapping
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/001—Texturing; Colouring; Generation of texture or colour
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/005—General 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. コンピュータシステムでテクスチャマッピングを行うための半導体チップ において、 前記半導体チップにテクスチャを入力するための入力と、 その入力に接続され、前記テクスチャを記憶する主メモリと、 その主メモリに接続され、最も新しく使用されたテクスチャを記憶するキャッ シュメモリと、 前記主メモリ及びキャッシュメモリに接続されて、その主メモリとキャッシュ メモリとの間のデータ転送を制御するメモリコントローラと、 前記メモリに接続され、前記キャッシュメモリに記憶された最も新しく使用さ れたテクスチャに基づく補間によって出力テクセルを生成する補間回路と、 その補間回路に接続され、その出力テクセルを出力するための出力と、 を具備し、前記入力、主メモリ、キャッシュメモリ、メモリコントローラ、及び 補間回路が同じ基板上に作り込まれている半導体チップ。 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. テクスチャ情報を記憶するためのキャッシュメモリと、そのキャッシュ メモリに記憶されたテクスチャ情報に基づく補間によってテクセルを生成する補 間回路とを具備し、前記キャッシュメモリと前記補間回路が共に同じシングル半 導体チップ上に作り込まれたシングル半導体チップ。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
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 |
US08/206,959 | 1994-03-07 | ||
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)
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)
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 |
DE69635638T2 (de) * | 1995-06-06 | 2006-07-20 | Hewlett-Packard Development Co., L.P., Houston | Pufferspeicher für Texturdaten |
US5751292A (en) * | 1995-06-06 | 1998-05-12 | Hewlett-Packard Company | Texture mapping method and system |
US5745118A (en) * | 1995-06-06 | 1998-04-28 | Hewlett-Packard Company | 3D bypass for download of textures |
WO1996039774A1 (en) * | 1995-06-06 | 1996-12-12 | Apple Computer, Inc. | A caching system for interpolation processing |
DE69635066T2 (de) | 1995-06-06 | 2006-07-20 | Hewlett-Packard Development Co., L.P., Houston | Unterbrechungsschema zum Aktualisieren eines Lokalspeichers |
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 |
US6111584A (en) * | 1995-12-18 | 2000-08-29 | 3Dlabs Inc. Ltd. | Rendering system with mini-patch retrieval from local texture storage |
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 |
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 |
US6348917B1 (en) * | 1996-09-30 | 2002-02-19 | Cirrus Logic, Inc | Dynamic switching of texture mip-maps based on depth |
US5973701A (en) * | 1996-09-30 | 1999-10-26 | Cirrus Logic, Inc. | Dynamic switching of texture mip-maps based on pixel depth value |
US5987567A (en) * | 1996-09-30 | 1999-11-16 | Apple Computer, Inc. | System and method for caching texture map information |
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 |
EP0961230A3 (en) * | 1998-05-29 | 2001-03-28 | 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 |
US6369813B2 (en) * | 1998-06-30 | 2002-04-09 | Intel Corporation | Processing polygon meshes using mesh pool window |
US6351262B1 (en) * | 1998-06-30 | 2002-02-26 | Lucent Technologies, Inc. | Display techniques for three-dimensional virtual reality |
US6476816B1 (en) | 1998-07-17 | 2002-11-05 | 3Dlabs Inc. Ltd. | Multi-processor graphics accelerator |
US6459453B1 (en) | 1998-07-17 | 2002-10-01 | 3Dlabs Inc. Ltd. | System for displaying a television signal on a computer monitor |
US7518616B1 (en) | 1998-07-17 | 2009-04-14 | 3Dlabs, Inc. Ltd. | Graphics processor with texture memory allocation system |
WO2000004527A1 (en) * | 1998-07-17 | 2000-01-27 | Intergraph Corporation | Apparatus and method of directing graphical data to a display device |
WO2000004484A2 (en) | 1998-07-17 | 2000-01-27 | Intergraph Corporation | Wide instruction word graphics processor |
WO2000004436A1 (en) | 1998-07-17 | 2000-01-27 | Intergraph Corporation | Graphics processing with transcendental function generator |
WO2000004495A1 (en) | 1998-07-17 | 2000-01-27 | Intergraph Corporation | System for processing vertices from a graphics request stream |
WO2000004443A1 (en) | 1998-07-17 | 2000-01-27 | Intergraph Corporation | Byte reordering apparatus and method |
WO2000004494A1 (en) | 1998-07-17 | 2000-01-27 | Intergraph Corporation | Graphics processing system with multiple strip breakers |
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 |
US6490652B1 (en) * | 1999-02-03 | 2002-12-03 | Ati Technologies Inc. | Method and apparatus for decoupled retrieval of cache miss data |
US6549210B1 (en) * | 1999-02-03 | 2003-04-15 | Ati Technologies Inc. | Method and apparatus for cache index hashing |
US7050063B1 (en) * | 1999-02-11 | 2006-05-23 | Intel Corporation | 3-D rendering texture caching scheme |
US6380935B1 (en) * | 1999-03-17 | 2002-04-30 | Nvidia Corporation | circuit and method for processing render commands in a tile-based graphics system |
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 |
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 |
US6683615B1 (en) | 1999-06-09 | 2004-01-27 | 3Dlabs Inc., Ltd. | Doubly-virtualized texture memory |
US6744438B1 (en) | 1999-06-09 | 2004-06-01 | 3Dlabs Inc., Ltd. | Texture caching with background preloading |
US6587113B1 (en) | 1999-06-09 | 2003-07-01 | 3Dlabs Inc., Ltd. | Texture caching with change of update rules at line end |
US7050061B1 (en) | 1999-06-09 | 2006-05-23 | 3Dlabs Inc., Ltd. | Autonomous address translation in graphic subsystem |
US7061500B1 (en) | 1999-06-09 | 2006-06-13 | 3Dlabs Inc., Ltd. | Direct-mapped texture caching with concise tags |
US6677952B1 (en) | 1999-06-09 | 2004-01-13 | 3Dlabs Inc., Ltd. | Texture download DMA controller synching multiple independently-running rasterizers |
US6650333B1 (en) | 1999-06-09 | 2003-11-18 | 3Dlabs Inc., Ltd. | Multi-pool texture memory management |
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 |
US6811489B1 (en) | 2000-08-23 | 2004-11-02 | Nintendo Co., Ltd. | Controller interface for 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 |
US6937245B1 (en) | 2000-08-23 | 2005-08-30 | Nintendo Co., Ltd. | Graphics system with embedded frame buffer having reconfigurable pixel formats |
US7576748B2 (en) | 2000-11-28 | 2009-08-18 | Nintendo Co. Ltd. | Graphics system with embedded frame butter 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 |
US7184059B1 (en) * | 2000-08-23 | 2007-02-27 | Nintendo Co., Ltd. | Graphics system with copy out conversions between embedded frame buffer and main memory |
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 |
US6700586B1 (en) | 2000-08-23 | 2004-03-02 | Nintendo Co., Ltd. | Low cost graphics with stitching processing hardware support for skeletal animation |
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 |
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 |
US6940504B1 (en) | 2000-11-21 | 2005-09-06 | Microsoft Corporation | Rendering volumetric fog and other gaseous phenomena using an alpha channel |
US7046243B1 (en) * | 2000-11-21 | 2006-05-16 | Microsoft Corporation | Rendering volumetric fog and other gaseous phenomena |
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 |
US7626588B1 (en) * | 2006-06-16 | 2009-12-01 | Nvidia Corporation | Prescient cache management |
US7616209B1 (en) | 2006-06-16 | 2009-11-10 | 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)
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 |
US5222205A (en) * | 1990-03-16 | 1993-06-22 | Hewlett-Packard Company | Method for generating addresses to textured graphics primitives stored in rip maps |
US5185856A (en) * | 1990-03-16 | 1993-02-09 | Hewlett-Packard Company | Arithmetic and logic processing unit for computer graphics system |
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 |
DE69418646T2 (de) * | 1993-06-04 | 2000-06-29 | Sun Microsystems, Inc. | Gleitkommaprozessor für einen hochleistungsfähigen dreidimensionalen Graphikbeschleuniger |
US5392393A (en) * | 1993-06-04 | 1995-02-21 | Sun Microsystems, Inc. | Architecture for a high performance three dimensional graphics accelerator |
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 |
-
1994
- 1994-03-07 US US08/206,959 patent/US5548709A/en not_active Expired - Lifetime
-
1995
- 1995-03-07 DE DE69535231T patent/DE69535231T2/de not_active Expired - Lifetime
- 1995-03-07 JP JP7523600A patent/JPH09510309A/ja active Pending
- 1995-03-07 WO PCT/US1995/002853 patent/WO1995024682A1/en active IP Right Grant
- 1995-03-07 EP EP95912783A patent/EP0749599B1/en not_active Expired - Lifetime
-
1996
- 1996-05-22 US US08/650,117 patent/US5706481A/en not_active Expired - Lifetime
Cited By (5)
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 |
---|---|
EP0749599A1 (en) | 1996-12-27 |
WO1995024682A1 (en) | 1995-09-14 |
US5706481A (en) | 1998-01-06 |
DE69535231D1 (de) | 2006-11-02 |
EP0749599B1 (en) | 2006-09-20 |
US5548709A (en) | 1996-08-20 |
EP0749599A4 (en) | 2001-07-04 |
DE69535231T2 (de) | 2007-10-11 |
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 | |
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) | テクスチャーパターンメモリ回路 | |
JP2002529867A (ja) | 3次元イメージングシステムで用いるためのテクスチャリングシステム | |
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 | |
US7237072B2 (en) | Data processor with a built-in memory | |
JP3687945B2 (ja) | 画像処理装置およびその方法 | |
US6614443B1 (en) | Method and system for addressing graphics data for efficient data access | |
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 | |
JP4271270B2 (ja) | データ記憶装置、データ記憶装置の制御装置とその方法および画像生成装置 | |
JP4482996B2 (ja) | データ記憶装置とその方法および画像処理装置 | |
JP4670887B2 (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 |