JP2002529867A - 3次元イメージングシステムで用いるためのテクスチャリングシステム - Google Patents

3次元イメージングシステムで用いるためのテクスチャリングシステム

Info

Publication number
JP2002529867A
JP2002529867A JP2000581594A JP2000581594A JP2002529867A JP 2002529867 A JP2002529867 A JP 2002529867A JP 2000581594 A JP2000581594 A JP 2000581594A JP 2000581594 A JP2000581594 A JP 2000581594A JP 2002529867 A JP2002529867 A JP 2002529867A
Authority
JP
Japan
Prior art keywords
mipmap
data
memory
texture
level
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
JP2000581594A
Other languages
English (en)
Other versions
JP4410940B2 (ja
JP2002529867A5 (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 JP2002529867A publication Critical patent/JP2002529867A/ja
Publication of JP2002529867A5 publication Critical patent/JP2002529867A5/ja
Application granted granted Critical
Publication of JP4410940B2 publication Critical patent/JP4410940B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime 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/005General purpose rendering architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/04Texture mapping

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Graphics (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Image Generation (AREA)
  • Image Processing (AREA)
  • Testing, Inspecting, Measuring Of Stereoscopic Televisions And Televisions (AREA)
  • Length Measuring Devices By Optical Means (AREA)
  • Magnetic Resonance Imaging Apparatus (AREA)
  • Instruments For Viewing The Inside Of Hollow Bodies (AREA)

Abstract

(57)【要約】 開示されている3次元イメージングシステムで使用するためのテクスチャリングシステムは、画像をテクスチャする際に用いるミップマップデータを記憶するためのメモリ(22)を備えている。コントローラー(24)は、メモリから必要なデータを検索し、このデータをキャッシュ(30)に記憶する。下位レベルのミップマップ生成器(36)は、一連の階層内の、部分がキャッシュ内に保持されているミップマップの次に下位のミップマップの部分を生成する。トリリニア補間器(34)は、1つの出力テクセルを、2つのミップマップレベルからの入力テクセルから補間する。テクスチャデータは圧縮されたコードで表される。下位レベルのミップマップ生成器(36)は、圧縮されたコード値で補間する。

Description

【発明の詳細な説明】
【0001】 (発明の属する技術分野) 本発明は、コンピュータディスプレイで使われるような3次元(3D)イメー
ジングシステムで使用するためのテクスチャリングシステムに関する。そのよう
なテクスチャリングシステムは、例えば、コンピュータゲームのディスプレイに
用いられる。
【0002】 (従来技術) 以下の従来技術に関する参考文献及び資料は、本技術の背景に関する更なる情
報を提供するものである。その中の幾つかは、適宜、以下の明細書中に下記参考
文献番号で引用されている。
【0003】 (1)E.Catmullによる「曲面コンピュータディスプレイ用のサブデ
ィビジョンアルゴリズム」PhD学位論文、ユタ州ソルトレーク大学、コンピュ
ータ科学部、レポートUTEC−Csc−74−133、1974年12月。
【0004】 (2)J.F.Blinn及びM.E.Newellによる「コンピュータ生
成イメージにおけるテクスチャ及び反射」CACM、19(10)1976年1
0月、542−547。
【0005】 (3)G.Wolbergによる「デジタルイメージワーピング」IEEEコ
ンピュータソサエティ出版、カリフォルニア州ロスアラミトス、1990年。
【0006】 (4)L.Williamsによる「ピラミッド状パラメトリック」SiGG
RAPH 83、1−11ページ。
【0007】 (5)ビデオロジックの「アポカリプス3Dxデータ」英国キングスラングレ
イ、ビデオロジックから入手可能。
【0008】 (6)マイクロソフト社の「テクスチャ及びレンダリングエンジン圧縮(TR
EC)」マイクロソフト技術概要、インターネットアドレス www.micr
osoft.com/hwdev/devdes/whntrec.htm。
【0009】 (7)A.C.Beers、M.Agrawala、N.Chaddhaによ
る「圧縮されたテクスチャからのレンダリング」1996年、コンピュータグラ
フィクス年次総会、373ページ。
【0010】 (8)Z.S.Hakura、A.Guptaによる「テクスチャマッピング
のためのキャシュアーキテクチャの設計及び分析」コンピュータアーキテクチャ
ニュース第25巻第2号、108−120ページ、1997年5月。
【0011】 (9)米国特許US−A−5,612,747「リアルタイムビデオコーダに
おけるベクトル量子化キャッシングのための方法及び装置」。
【0012】 (10)英国特許出願GB−A−2,297,886「3Dイメージのテクス
チャリング及びシェーディング」出願人:ビデオロジック社。
【0013】 (11)R.M.Grayによる「ベクトル量子化」IEEE会報、1980
年1月、4−20ページ。
【0014】 (12)J.Koegel Bufordによる「マルチメディアシステム」
アディソンウーズレイ出版社、1994年。
【0015】 (13)F.Foley及びA.vanDamによる「コンピュータグラフィ
クスの基本及び実践」アディソンウーズレイ出版社、1990年。
【0016】 (14)マイクロソフト社「ダイレクトX 6.0 SDKドキュメンテーシ
ョン」米国レッドモンド、マイクロソフト通り1、マイクロソフト社、インター
ネットアドレス: www.microsoft.com/directx。
【0017】 (発明の背景) コンピュータベースの画像は、一般的に、画素即ちピクセルの列で形成されて
いる。表示される各表面は、一般的には三角形であるポリゴン内のピクセルによ
り表される。表面には「テクスチャマッピング」として知られるオペレーション
により、カラー、テクスチャ、及び/又はシェーディングが与えられる。テクス
チャはピクセルの列として記憶され、それを便宜上テクセル(テクスチャピクセ
ル)と呼ぶ。従って「テクスチャマッピング」は、2D(二次元)配列のテクセ
ルを3D(3次元)シーン内の表面を表す別の2D配列ピクセル上にマッピング
することを含む。この技術は、Catmull(参考文献1)により開発され、
Blinn及びNewell(参考文献2)により改良された。透視テクスチャ
マッピングには、その透視が最終画像に正しく現れるように、テクスチャマップ
を回転する段階と変換する段階とが含まれている。テクスチャマッピングは、オ
ブジェクトの表面に写実的な仕上げを付与することにより、シーンのリアリズム
を高める。例えば、マーブルテクスチャを、像の表面へマッピングすると、像は
マーブルで作られたような外観が与えられる。大きなシーンでは、シーン内に存
在している全ての異なるテクスチャを表示するために、多数の異なるテクスチャ
ビットマップが必要となる。
【0018】 上記のように、通常3Dシーンは、多数のポリゴン又は三角形で表示される。
ポリゴンをテクスチャで満たすために、その表面上の各ピクセルを用いてテクス
チャマップ内のテクセルの座標が計算される。テクスチャマップ内の計算された
テクセルに最も近いテクセルを用いて、最終的に表示されるピクセルがシェード
される。これは、ポイントサンプリングと呼ばれる。替りに、バイリニアフィル
タリング又はバイリニア補間を用いてテクスチャされた画像の質を高めることも
できる。バイリニアフィルタリングでは、そこから2Dピクセルが3D面上にマ
ップされることになるテクスチャマップ内のポイントが、サブピクセル精度に対
して計算される。次に、ピクセルカラーを更に正確に表示するため、テクスチャ
マップ内でこの計算された位置に最も近い4個のピクセルをブレンドするのに、
バイリニアフィルタリング又は補間が用いられる。これは、添付の図1に示され
ており、テクセルA、B、C、Dはブレンドされて、二次元画像平面上のポイン
トXにおけるピクセルのテクセル値が与えられる。このバイリニア、即ち2軸の
フィルタリング(又は補間)のオペレーションは、参考文献3でも述べられてい
る。
【0019】 トリリニア(3軸)フィルタリングは、最も近い4個のピクセルを、2つの異
なるミップマップレベル(参考文献4)で同様に処理する。このことは、本出願
の図2に示されている。ミップマップは、解像が連続的に半減されるようにフィ
ルタを掛けることにより前処理された、オリジナルテクスチャマップのコピーで
ある。本明細書では、MIPはMULTUM IN PARVO(much i
n a small place)の略である。これは、最終画像のサイズが1
ピクセルになるまで繰り返され(これは、テクスチャが四角形でそのサイズが2
の累乗であることを前提としている)るので、ミップマップが階層的に続くこと
になる。図3は、128×128の解像におけるブリックテクスチャの例を、こ
れに関わる下位のミップマップレベルと共に示したものである。ミップマップを
、ピラミッドとして考えることもできる。
【0020】 テクスチャフィルタリングには、テクスチャをサンプリングする際に、エイリ
アシングの発生を減じる効果がある。エイリアシングに関する更なる情報に関し
ては、参考文献3を参照されたい。
【0021】 3D画像の生成では、計算負荷が増大する。シーンがより写実的になり、画像
がリアルタイムに応答することが求められるほど、ゲーム及び計算機支援設計(
CAD)アプリケーションの動画化された3D画像は、処理能力に関して益々費
用が嵩むものになっている。シーン内のポリゴン構造の幾何学形状を決定するた
めには、多数の浮動小数点計算が必要であり、そのポリゴンを満たしてシェード
するためには、多数の算術演算が必要である。これらの演算をソフトウェアの何
倍も効果的に、実行できる専用ハードウェアが、入手可能(参考文献5)である
。記憶されているデータベースへのアクセスも、性能に対する制限要因である。
専用ハードウェア内のローカルメモリは、あらゆるメモリアクセスのボトルネッ
クの影響を減じることができる。テクスチャマッピングは、特に、ディスプレイ
上にマップされる全ピクセルのために多くのテクスチャピクセルが読み取られる
フィルタリング(即ち、補間)演算の実行時には、メモリ負荷が増大する。
【0022】 従って、2Dテクスチャマップデータのサイズは、より小さなメモリスペース
内に配置できるように、テクスチャ圧縮によって小さくされる。必要なメモリが
小さくなれば、システムの低コスト化につながる。オリジナルのテクスチャマッ
プは、圧縮されたデータを解凍することにより取り出すことができる。3Dシー
ンが写実的になるほど、テクスチャマップは大きくなり、数も増すので、テクス
チャの圧縮を利用することが重要になる。マイクロソフト社からのテクスチャ及
びレンダリングエンジン圧縮(TREC、参考文献6)を含め幾つかの方式が既
に開発されている。圧縮されたテクスチャから画像をレンダリングする技術につ
いて最初に論じたのはBeers(参考文献7)である。
【0023】 この時点で、システム設計者が利用できる様々なタイプのメモリを考えて、画
定するのは都合がよい。先の「ローカルメモリ」という用語は、メモリ制御半導
体デバイス又は回路の近くに配置されている固体半導体メモリを指している。又
「内部メモリ」という用語は、言及されている特定の半導体デバイス内に配置さ
れているメモリのことである。更に「外部メモリ」は、半導体デバイスの外部の
あらゆるメモリを指す。ローカルメモリはDRAMベースであってもよい。DR
AMはDynamic Random Access Memoryの頭文字を
とったものであり、固体半導体である。同期型DRAM(SDRAM)は、デー
タアクセスが、クロック信号と同期して動作するようにすることができる。SD
RAMは、そのパイプライン化アーキテクチャの故にDRAMよりも高いアクセ
スバンド幅機能を有するが、コスト高である。ローカルメモリ及び内部メモリは
DRAM又はSDRAMベースであってもよい。外部メモリは、半導体でも、ハ
ードディスクのような大容量記憶装置アレイであってもよい。半導体メモリは非
常にコスト高であり、コンピュータシステム全体のコストの内の大きな割合を占
める。
【0024】 DRAMは多重化アドレスバスを通してアドレス指定され、即ち、個々のデー
タ項目にアクセスするのに必要なアドレスは、2つの部分で記憶装置へ送信され
る。DRAM装置内のコアメモリアレイは、長方形マトリックスであり、行制御
ラインと列制御ラインが同時に起動されるときに、1つのデータ項目がアドレス
指定される。これは、別々の行と列のアドレスを必要とする。連続するアクセス
の間に行アドレスが変わらなければ、列アドレスだけを送信すればよい。DRA
Mアレイ内の1行のデータは1つのページとして知られている。アクセスの間に
行アドレスが変わらなければ、そのアクセスは「ページ内にある」と言われる。
この「ページ内にある」アクセスは、2ページ以上に亘るアクセスよりも遙かに
早いので、メモリシステム設計者はアクセスのバーストを1ページ内に収めよう
と努力している。SDRAMのようなある種の記憶装置は、性能を向上させるた
めに、複数のメモリバンクを利用している。各メモリバンクは自分のページを開
くことができるので、ページをめくることなく別々のメモリ領域にデータアクセ
スすることができる。
【0025】 メモリ性能を高めるために用いられる技術の1つは、全ての外部メモリアクセ
スの結果が、別々の内部メモリ内に記憶される「メモリキャッシング」である。
この内部メモリには、外部メモリよりも早くアクセスできる。特定のメモリアク
セスの結果が既にキャッシュ内にあれば、外部メモリに代わってキャッシュが読
み出しされる。これは、外部メモリへの通信量を減らす効果があるので、そのメ
モリの「バンド幅」要件が少なくなる。メモリシステムバンド幅要件は、そのシ
ステムのコストに直接関ることが多い。バンド幅が固定されているシステムでは
、バンド幅要件が増大するとシステム全体の性能が低下することもある。
【0026】 テクスチャリングは、全てのテクスチャをメモリから検索しなければならない
ので、3Dイメージングの中でも最も機能集約的なプロセスである。先に説明し
図1及び2に示しているように、トリリニア及びバイリニアフィルタリング(補
間)のような技術では、ディスプレイ上に投射される全てのピクセル毎に、8個
ものテクスチャピクセル又はテクセルを、メモリから検索する必要がある。従っ
て、テクスチャリングには、メモリへの非常に高いバンド幅のパスが必要である
。テクスチャキャッシングを使えば、テクスチャリングバンド幅要件を減らし、
システムの性能を高めることができる。最適性能目標は、1回の処理パイプライ
ンクロックサイクルで、必要な全てのテクセルを読み取り可能にすることである
。テクスチャアクセスの性能を高めるためにキャッシュを使う効果に関して、幾
つかの研究(参考文献8)が既に行われている。Hakuraは、テクスチャマ
ッピンググラフィクスに対してキャッシュがどれほど高い効果を上げることがで
きるかを示し、有効メモリ対バンド幅比は、あるキャッシング戦略を使うことで
、3分の1から15分の1に小さくできると結論している。
【0027】 先に示したように、テクスチャマッピングは、3Dオブジェクトの表面上に高
い詳細レベルのものをマッピングすることにより、3D画像品質を高めるのに用
いられる。これは、オブジェクトの幾何学形状を複雑にすることなく行われるべ
きである。しかしながら、テクスチャマッピングは、エイリアシングを含む様々
な目に見えるアーティファクト(参考文献13)を作り出す。最終画像の品質を
高めるためにバイリニアフィルタリング(参考文献3)が用いられるが、バイリ
ニアフィルタリングでは解決できない、デプスエイリアシングを含む多くのアー
ティファクトが残る。デプスエイリアシングは、オブジェクトが視点から遠ざか
るにつれて、テクスチャが圧縮される結果である。ミップマップ(参考文献4)
を使えば、この形態のエイリアシングを解決することができるが、なおミップバ
ンディングと呼ばれる問題が残る。ミップバンディングは、テクスチャが或る詳
細レベルから別のレベルへ変わる際に、ミップマップ間での遷移期間の間に起こ
る。これは、例えば、前景では道路上に現れても、遠くなると消失するようなも
のである。連続するミップマップは道路に沿って用いられ、1つのミップマップ
から次のミップマップへの遷移を見ることができる。先に述べたように、この問
題は、ミップマップ間の詳細レベルを補間するトリリニアフィルタリング(参考
文献4)のアプリケーションを使えば解決できる。
【0028】 トリリニアフィルタリングの最良の形態は、それがピクセル毎ベースで実行さ
れるというものである。これは、最終的オンスクリーンピクセルを作り出すため
に、8個のテクスチャピクセル(テクセル)を必要とする。これらのテクセルは
メモリ内のどこにでも配置され得るので、しばしば8個別々のメモリ読み取りが
必要となる。2つのミップレベルの間でトリリニアフィルタリングが実行される
と、1つのミップマップ位置から4つのメモリ読み取りが起こり、別のミップマ
ップ位置から4つのメモリ読み取りが起こる。システムメモリテクスチャリング
の方がより一般的であるが、テクスチャは、通常はローカルメモリ内に保存され
ている。これらのメモリはバンド幅が限定されており、多数の異なるアプリケー
ションに関して、メモリへのリソースとして働くように求められることが多い。
セットアップパラメータ、デプス情報及びディスプレイ情報は、一般的にローカ
ルメモリ内に記憶され、システムアプリケーションは、一般的にシステムメモリ
から実行される。8個の各メモリの、ピクセル毎の読み出しは、一般的に多くの
メモリシステムの能力を越えている。このため、ミップマップ間のページ変更に
加えて、これは、適切な3D機能を達成し得ないこともよくある。
【0029】 トリリニアテクスチャアクセスシステムに必要なメモリバンド幅は、各テクス
チャフィルタリング演算に必要なメモリアクセスの数と、アプリケーションによ
って要求されるピクセルスループット性能とによって決まる。式1は、テクスチ
ャのバンド幅がどのように決定されるかを示している。この式は、ページブレイ
クのバンド幅がどのように考慮されねばならないかについても示している。 Bandwidthtexture=((Accessespixel×Widthmemory)+(Accessespage_break ×Widthmemory)) ×Throughputpixel ・・・・・式(1) 但し、Bandwidthtextureはメモリから要求されるテクスチャのバンド幅で、byte
s/sで測定される。これは、メモリが供給できるメモリバンド幅ではない。
【0030】 Accessespixelは、1ピクセル当たりの平均メモリアクセス数である。正
しいデータ幅であっても、必要なすべてのテクセルが必ずしも1つのアクセスで
読み取られ得るわけではない。
【0031】 Accessespage_breakは、1ピクセル当たりのページブレイクで失われた平
均メモリアクセススロット数である。SDRAMを用いると、1つのページブレ
イクには、少なくとも8個のアクセススロットが必要である。
【0032】 Widthmemoryはメモリデータバスの幅であり、bytesで測定される。これは
、1クロックサイクルで4個のテクセルが確実に読み取りできるようにするため
には、少なくとも8バイト(64ビット)なければならない。
【0033】 Throughputpixelはアプリケーションに要求されるピクセルスループット
であり、pixels/sで測定される。最新のアプリケーションでは、約100Mpixels/s
である。
【0034】 1ピクセル当たりの平均アクセスは、フィルタリング演算に必要な全データを
検索するのに必要な個々のメモリアクセスの回数である。64ビットのメモリバ
スを用いる場合、4個の16ビットテクセルが必要であり、それらが同じデータ
ワード内に存在すれば、最大のスループットが得られる。残念ながら、いつもこ
うとは限らず、テクスチャデータが2つ又は4つの別のワード内に存在すること
も多い。式2は、1つのテクスチャ演算に関し、変動するアクセス数を考慮して
どのようにAccessespixelを算出するかを示している。 Accessestexture=((Percentagesingle x1)+(Percentagedouble x2)+(Percentag
equadruple x4)xMipmaps)/ Factorcompression ・・・・
・式(2) 但し、Percentagesingleは、1つのメモリアクセスで検索可能な1つのミップマ
ップアクセスのパーセンテージである。
【0035】 Percentagedoubleは、2つのメモリアクセスで検索可能な1つのミップマ
ップアクセスのパーセンテージである。
【0036】 Percentagequadrupleは、4つのメモリアクセスで検索可能な1つのミッ
プマップアクセスのパーセンテージである。
【0037】 Mipmapsは、フィルタ演算に含まれるミップマップの数である。
【0038】 Factorcompressionは、テクスチャが圧縮される場合の、圧縮係数である
【0039】 平均アクセス数は、全データが、1回か、2回か、4回のアクセスで検索され
る可能性を考慮して計算される。又、式はフィルタリング演算に必要なミップマ
ップ数も考慮し、トリリニアフィルタリングは2回だが、バイリニアフィルタリ
ングは一回だけである。式は又、平均アクセス数が、圧縮により線形にどのよう
に減少するかを示している。明らかに、フェッチするデータが少なければ必要な
メモリアクセスは少なくなり、全データが同じデータワード内に存在している可
能性が大きくなる。
【0040】 式1は、テクスチャキャッシュを用いたとしても、物理的メモリバンド幅要件
は、どのような現実的なメモリシステムの範囲も越えていることを示している。
このため、記憶されるテクスチャの物理的サイズを縮小し、それに伴いメモリコ
ストも削減するためばかりではなく、そのメモリから転送されるテクスチャデー
タの量をも低減するために、テクスチャ圧縮が採用されている。
【0041】 式2は、圧縮係数がメモリアクセス数にどのように影響を与えるかを示してい
る。テクスチャがメモリから読み出された後リアルタイムで解凍するのに、高性
能の専用ハードウェアを用いることもできる。これまでに、ベクトル量子化(V
Q、参考文献11)や、カラールックアップテーブル(CLUT)又はパレット
化(参考文献12)や、離散コサイン変換(DCT)(参考文献12)及び幾つ
かの所有権の設定された技術(参考文献6、12)を含む多くのテクスチャ圧縮
技術が試みられてきた。しかし、それぞれ問題がある。VQ及びパレット化のテ
クスチャ圧縮技術は、2つのメモリ読み取り又は大きな内部データキャッシュを
必要とし、品質に限界がある。DCTは、大量の解凍ロジックを必要とし、シリ
コンの予算が限定されていれば実現できない。多くの所有権の設定された技術は
限定された圧縮比と品質しか提供しない。式1が示すように、これらの技術は、
トリリニアフィルタリングのバンド幅要件の一部しか解決しない。
【0042】 異なるメモリバンク間で継続的にスワップするメモリアクセスストリームは、
性能に大きな影響を与えることができる。式1は、ページブレイクが、テクスチ
ャフィルタリングの性能に対して、全体として如何に支配的であるかを示してい
る。トリリニアフィルタリングでは、ミップマップの数がしばしば2つ以上のメ
モリページに亘るので、ページブレイクは特に問題となる。
【0043】 3Dイメージング技術は、しばしば、専用ハードウェアの解だけしか用いるこ
とのできないような高レベルの性能を要求する。このことにより、しばしば特別
なシリコンチップの開発が必要となる。チップには、しばしば、テクスチャマッ
ピング以外にも、全ての幾何学形状処理、ポリゴンセットアップ、画像投射、照
度計算、フォギング計算、陰面除去及びディスプレイ制御を実行することが求め
られる。従って、3D画像の生成における各ステージは、全処理が同じシリコン
ダイ上に載せられるようにできるだけ小さく作ることが重要である。トリリニア
フィルタリング演算は、広いメモリバンド幅を必要とするだけでなく、大量のロ
ジック、従って広いシリコン領域でだけ実行することができる。必要なロジック
、従ってコストが最少となるよう制限する最適な解を求めることが重要である。
【0044】 先に述べたことから明らかなように、メモリ、スピード及びチップの構造の簡
易さの要件は非常に重要で、3Dイメージング、特にテクスチャマッピングでは
全てに課されるものである。高品質でリアルタイムのイメージングを達成しよう
とすれば、要件に見合う入手可能なあらゆる技術を使っても、制約はなお非常に
厳しい。
【0045】 (発明の概要) 本発明はその様々な態様を上記独立請求項で定義しているが、以下それについ
て説明する。有益な特徴については同じく従属請求項で述べている。
【0046】 以下、本発明の好適な実施例を、図面を参照しながら説明する。これらの実施
例では、トリリニアテクスチャフィルタリングの効率は、上位レベルミップマッ
プから下位レベルテクスチャミップマップをオンザフライで生成し、高いメモリ
バンド幅要件に合う手段としてテクスチャキャッシングとテクスチャ解凍を用い
ることにより改善される。個別のメモリアクセスで下位レベルのミップマップを
読む必要を無くすことで、ページブレイクの問題は解消し、性能が向上する。
【0047】 更に詳しく述べると、この好適なテクスチャリングシステムは、画像をテクス
チャリングする際に用いるためのミップマップデータを記憶するためのメモリを
備えており、このミップマップデータは、低下していく解像の異なるレベルの階
層的に連続したミップマップを備えている。必要なミップマップデータのタイプ
と、データをそこから取り出すことになる1つ又は複数のミップマップのレベル
を表示する入力で、データが受信される。コントローラは、入力データに従って
必要とされるミップマップデータをメモリから検索し、そのデータはキャッシュ
内に記憶される。下位レベルミップマップ生成器は、一連の階層内ですぐ下にあ
るミップマップの部分を生成し、その部分のミップマップはキャッシュ内に保持
される。トリリニア補間器は、キャッシュからは、1つのレベルのミップマップ
からミップマップデータを受け取り、下位レベルミップマップ生成器からは、更
に一段低いレベルのミップマップからデータを受け取り、1つの出力テクセルを
、2つのミップマップレベルからの入力テクセルから補間する。
【0048】 ある種のデータ圧縮方式は、必要な量の解凍されたデータを提供し、下位レベ
ルのミップマップを生成するのに用いられるフィルタリングアルゴリズムを緊密
に支持することによって、オンザフライで下位ミップマップを生成するのにうま
く適合する。これらの技法は、ハードウェアのオーバーヘッドを最小化しながら
、3Dレンダリングされる画像の性能と品質を高めるのに用いることができる。
【0049】 ある好適な実施例では、テクスチャデータが任意の圧縮されたコードで示され
ており、その中では選択された圧縮コード値が基本カラーを定め、別の圧縮され
たコード値が、基本カラーの選択された重み付き平均により形成することができ
る中間カラーを定め、この対応するコード値は、選択された基本カラーのコード
値の重み付き平均でもある。下位レベルミップマップ生成器は、圧縮されたコー
ド値で演算して、出力テクセルを複数の入力テクセルから補間する。
【0050】 (好適な実施例の詳細な説明) 以下、本発明を附随図面を参照しながら例を使って詳細に説明する。
【0051】 図4は、本発明によるテクスチャリングシステムの特定の実施例を示す。テク
スチャリングシステム20は、イメージングシステム全体として用いられている
メモリの一部を成すメモリシステム22を備えており、このメモリシステム22
はメモリコントローラー24により既知の方法で制御されている。メモリ22は
とりわけ圧縮されているテクスチャマップを保持し、メモリコントローラー24
を通過するメモリ出力は、テクスチャマップの要求された部分からの圧縮された
テクスチャで構成されている。何れの表面であれ必要なテクスチャを定義するパ
ラメータは、入力26で受信され、テクスチャアドレス生成器28に与えられ、
所望のテクスチャが配置されているメモリ22の部分をアドレス指定する。圧縮
されたテクスチャは、メモリコントローラー24によりメモリから検索され、テ
クスチャキャッシュ30内に保持される。検索されたテクスチャは、表示される
表面のタイプを示す特定のテクスチャタイプに相当することになる。例えば、こ
れはレンガ壁の一部かもしれないし、道路の表面であるかもしれない。先に述べ
たように、この表面テクスチャは、ミップマップの形態で、実際には圧縮された
ミップマップの形態で保持されることになり、観察者からの表面の距離を考慮す
ると、用いられているミップマップは、表面の前の次にあるミップマップであろ
う。
【0052】 テクスチャキャッシュ30からの出力は解凍ユニット32に与えられ、解凍ユ
ニット32はテクスチャ値を解凍又はデコードし、解凍されたテクセルを提供す
る。解凍されたテクセルは、次に、トリリニア補間器34と、テクスチャキャッ
シュ30内に保持されているミップマップに相当する、次に下位にあるミップマ
ップの相当部分を生成するための生成器36の両方に与えられる。生成器36の
出力も、トリリニア補間器34に与えられる。従って、補間器は、トリリニア補
間器が図2に示されているように実行できるように、考慮中の表面ポイントの前
のミップマップ及び背後のミップマップからテクセルを受け取る。トリリニア補
間器は出力38でトリリニア・テクスチャされたピクセルを提供する。
【0053】 従って、作動時、テクスチャアドレス生成器28は8個のトリリニアテクセル
のアドレスをテクスチャキャッシュ30へ送り、次にテクスチャキャッシュ30
は、メモリ22から関連する圧縮されたテクスチャデータをフェッチする。圧縮
ユニット(DU)32は、次に、圧縮データからの16個の上位レベルミップマ
ップテクセルを解凍する。4個が必要な上位レベルテクセルとして選択され、下
位レベルミップマップテクスチャを生成するために、16個すべてが下位ミップ
マップ生成器36に利用される。これは、後に述べるように、4個の上位レベル
テクセルが、各下位レベルテクセルを生成するために用いられることになるから
である。これらの上位レベル及び下位レベルのミップマップは、次にトリリニア
補間器34が使って、1つのトリリニアピクセルを生成する。この技法を働かせ
るには16個ものテクセルが必要で、圧縮されていなければ広いメモリバンド幅
を示すことになるが、圧縮されていれば、ページブレイクを最小にして、メモリ
バンド幅がかなり改良される。
【0054】 下位レベルのミップマップは、1クロックサイクルで、16個の上位レベルテ
クセルを取り、4個の下位レベルテクセルを生成することができる4つの並行な
フィルタ又は補間器40によって生成される。図5は、このプロセスを示してい
る。16個のオリジナルテクセルから4個がデコードされて、4個の上位レベル
テクセルが生成され、直接トリリニアフィルタリングに用いられる。これら16
個は、それぞれ4個のピクセルを含む4象限に分割され、次に4つのデジタルロ
ーパスフィルタに掛けられ、トリリニアフィルタリングに必要な4個の下位レベ
ルミップマップテクセルが生成される。このフィルタリングアルゴリズムは、式
3で示される。 Lower-level color value0=(upper0+upper1+upper4+upper5)/ 4 Lower-level color value1=(upper2+upper3+upper6+upper7)/ 4 Lower-level color value2=(upper8+upper9+upper12+upper13)/ 4 Lower-level color value3=(upper10+upper11+upper14+upper15)/ 4 ・・・・・式(3) 実際の数値を式1及び式2に当てはめると、トリリニアフィルタリングのコス
トを求めることができる。従来のシステムでは、解凍した場合、各トリリニアピ
クセル毎に、1ピクセル当たり平均2ページブレイクとして、64ビットデータ
の4つのアクセスが必要であると決められていた。この場合、毎秒100Mピク
セルを生成しなければならないシステムでは、全体のバンド幅要件は、毎秒16
ギガバイトとなる。そのような性能は容認できないが、例えテクスチャデータが
キャッシュ及され、かつ圧縮される場合でも、要求されるバンド幅は、それほど
良く(毎秒13.2ギガバイト)はない。しかし、本発明による図4の生成器3
6で下位ミップマップを「オンザフライ」で生成することにより、倍のページブ
レイクが除去されれば、バンド幅は容認可能なレベルにまで低減される。このシ
ステムの、キャッシュされ圧縮されたテクスチャのバンド幅要件は、毎秒わずか
200メガバイトのオーダーである。100メガヘルツで機能する64ビットの
メモリシステムのピークバンド幅容量は毎秒800メガバイトなので、必要な毎
秒200メガバイトは十分許容範囲内にある。実際、本発明を実施している下位
レベルのミップマップ構成システムは、予備のバンド幅を取っておくことができ
るので、それを他に利用することもできるであろう。
【0055】 つまり、3Dイメージングシステムの一部として用いられるように設計されて
いる図4のテクスチャリングシステムは、画像をテクスチャリングする際に用い
るミップマップデータを記憶するためのメモリ22を含んでおり、そのミップマ
ップデータは、低下していく解像の異なるレベルの階層的に連続したミップマッ
プを備えている。入力26は、必要なミップマップデータのタイプと、データを
そこから取り出すことになる1つ又は複数のミップマップのレベルを示す入力デ
ータを受け取る。コントローラ24は、入力データに従って、必要なミップマッ
プデータをメモリから検索するために、入力と、メモリとに接続されている。キ
ャッシュ30は、メモリから検索され、選択されたミップマップレベルに関連し
ているミップマップデータの部分を記憶するために、コントローラに接続されて
いる。トリリニア補間器34は、ミップマップの1つのレベル、即ちデータが必
要とされている2つのレベルの内の上位のレベルからミップマップデータを受け
取り、且つ、出力テクセルを2つのミップマップレベルからの入力テクセルから
補間するために、キャッシュに接続されている。本発明によれば、テクスチャリ
ングシステムは、キャッシュとトリリニア補間器との間に接続されている下位レ
ベルのミップマップ生成器36も含んでおり、部分がキャッシュに保持されてい
るミップマップのすぐ下のミップマップの部分(一連の階層において)をリアル
タイムで生成する。
【0056】 図4に示されている本発明の実施例は、完全なトリリニア補間ピクセルを構築
するために必要な全てのデータを呼び戻すため、1つのキャッシュ30と1つの
解凍ユニット(DU)32が如何に求められているかを示している。しかし、フ
ィルターのアルゴリズムが2つ又は4つの追加データワードからデータを必要と
する場合には、問題がある。図6は、悪い状況のケースを示している。タイルに
分割され、各タイルが1つの圧縮されたデータワードにより提供されるテクスチ
ャピクセルを示しているようなテクスチャビットマップを考えてみよう。この例
では、データワードは16個のテクスチャピクセルを含んでいる。図6の太線枠
のボックスは、タイルを表す。この例では、フィルターアルゴリズムには、4つ
の個別の圧縮されたデータワードからのテクスチャピクセルが必要である。1つ
のキャッシュ/解凍システムに対し、この最悪ケースの状況では、4つのキャッ
シュ読み取りと、それに伴って最小4クロックサイクルとが必要となる。別々の
2つのデータワードが必要な場合、程度はよいが、なおこの問題は残る。
【0057】 4つのキャッシュと4つのDUの構成だと、圧縮データがどこにあっても、1
クロックサイクルで必要な全てのデータを提供するすることができる。図7は、
そのような「4部式キャッシュ」装置を備えた本発明の第2実施例のブロック図
である。図7のテクスチャリングシステムは、図4のシステムに似ているので、
違いだけを詳細に説明する。図7の第2実施例では、メモリシステム22と入力
26とは、図4のものと同じである。この場合、テクスチャアドレス生成器28
は、最大4つのタイルの出力が必要な状況に対処するために、4つの出力を有し
ている。4つの出力はそれぞれにテクスチャアドレス1から4を提供し、これら
は、参照番号60で示されるテクスチャキャッシュ1から4に与えられる。これ
らのキャッシュは、4つのタイルそれぞれからテクセルを受け取ることができる
ように、アービタ58を通してメモリコントローラー24との間で交信する。こ
れらのテクセルは4つのキャッシュ内に保持され、キャッシュは4つのキャッシ
ュされた圧縮テクスチャ、即ちキャッシュされた圧縮テクスチャ1から4をそれ
ぞれ出力する。
【0058】 4つのキャッシュ60の出力は、それぞれが図4の解凍ユニットと同様の4つ
の解凍ユニット62に、それぞれ与えられる。各解凍ユニット62は、その解凍
されたデータを、上位及び下位のデコードユニット68、70と、更に下位レベ
ルのミップマップフィルタ66とに与える。上位及び下位のデコードユニット6
8、70の出力はそれぞれトリリニア補間器64に与えられる。
【0059】 作動時、各キャッシュ60は、キャッシュワードのサイズと各キャッシュワー
ドを表すテクスチャアドレスの下位の2つのビットとに基づいて、メモリの異な
るセグメントに対して責任を負う。この方法では、1つのキャッシュが、完全な
トリリニアピクセルに2つ以上のデータワードを提供するのに呼び出されること
のないことが保証できる。
【0060】 下位レベルのミップマップを上位のミップマップから生成できなければ、上位
マップ用に4つと下位マップ用に4つという、8つのキャッシュ及びDUが必要
となる。従って、下位レベルのミップマップを必要なときにオンザフライで生成
できれば、性能を高めると同時に、ロジック(シリコン領域)を節約できる。圧
縮と結び付けると、必要なデータ総量を大幅に減じることもできる。
【0061】 但し、下位レベルのミップマップは、なおメモリ内に記憶されている。それら
は、見る者から更に遠く離れているピクセルに必要である。しかし、トリリニア
補間では、それらの存在を無視し、生成器62を使って処理されているピクセル
に必要なそれらのテクセルを再生成すると、より効率的であることがわかる。
【0062】 下位レベルのミップマップを圧縮された上位レベルのミップマップから生成す
ることの主要な利点の1つは、発生し得るロジック最適化の量である。ロジック
が少ないほど、ハードウェアは小さくて済むし、コストは下がる。最適化のその
ような領域の一つは、キャッシュと解凍ユニットである。
【0063】 4部キャッシュシステムのキャッシュ60は、効果的にメモリマップされ、即
ち、先に述べたように、各キャッシュがテクスチャメモリの個々のタイルに関す
るデータを保持する。しかし、DU62は、必ずしもメモリマップされる必要は
ない。DUのメモリマッピングには、DUそれぞれが特定のキャッシュと関連付
けられる必要がある。このことは、更に、最良ケースの状況を提供するためには
、1サイクルで、各DUが少なくとも4つの下位レベルテクセル並びに4つの上
位レベルテクセルを生成できることが必要となる。全てのタイルが1つのデータ
ワードから来る最良ケースの状況が図8に示されている。
【0064】 各DUが、必要なリソースに基づいてダイナミックに再割当されるようにする
ことにより、幾つかのハードウェアの最適化が起こって、必要なハードウェアの
サイズを劇的に小さくできる。2つ以上のユニットが4つの並行な上位レベルテ
クセルを提供する必要はなく、3つ以上のユニットが2つの並行な上位レベルテ
クセルを提供する必要はなく、どのユニットも2つ以上の下位レベルテクセルを
提供する必要はないことがわかった。
【0065】 図9は、これらの最適化が、修正された4部のキャッシュシステム内でどのよ
うに適合されているかを示している。図9の修正された装置は、図7の装置と類
似しているので、違いのみを述べることとする。違うのは、4つのキャッシュ6
0の出力と4つの解凍ユニット62の入力との間に接続されている解凍ユニット
(DU)アロケータ82と、それに対応して、上位及び下位のデコードユニット
68、70に入れ替わって、4つのDU62及びフィルタ66両方の出力と、ト
リリニア補間器64への入力との間に接続されているデアロケータ84とが含ま
れているところである。各DU62は同一のものではなく、第1DUは4つの並
列な上位レベルテクセルを提供することができるし、第2DUは2つの並列な上
位レベルテクセルを提供することができるし、第3及び第4DUはそれぞれ唯1
つの上位レベルテクセルを提供することができる。DU割り当てユニット82は
、テクスチャアドレスの構成に基づいて、どのDU62が必要とされているかを
決定する。各DUの登録された出力と、各DUからのテクスチャ出力の多重化の
両方で、ロジックの減少が起こる。ここでは、デアロケーションユニット84が
、上位及び下位デコードユニット68、70から引き継いで、ダイナミックに再
割当られたリソースデータを、最初にテクセルを要求したデータパスへ返す。4
つの下位レベルミップマップテクセルにフィルタを掛けるのに用いられる演算も
簡素化されている。
【0066】 出力が、デアロケータ84によりデアロケート(割当解除)されたものとして
示されているが、このことは、トリリニアフィルタ64の出力が取り扱われる方
式に依存して必ずしも必要なことではない。これは実施上の細目であり、当業者
には自明であろう。
【0067】 ロジック最適化のもう一つの領域は、下位レベルのミップマップを生成するフ
ィルタ40(図5)である。圧縮方式が、VQ又はパレット化(上記参照)にあ
るような、コードブックを探索するためのインデックスを用いる様式であれば、
この場合は下位ミップマップの生成が容易にできるような方法でテクスチャ構成
要素を配列することができる。つまり、コードブックエントリが、そのカラー範
囲に亘って解凍テクスチャを均等にサンプリングすることによって生成される場
合、新しい下位レベルミップマップを生成するのに、インデックス自体を、ミッ
プマップフィルタへの入力として用いることができる。その結果できるインデッ
クスは、フィルタが掛けられたテクスチャと等価な最も近いコードブックを指す
ことになる。インデックス(圧縮されたテクスチャ)上でのフィルタリング演算
のビット幅は、フィルタが解凍されたテクスチャに与えられた場合よりもかなり
少ない。
【0068】 そのような構成が図10に示されている。これは、勿論図9の修正を含んでい
るが、図7がベースになっている。
【0069】 図10は、フィルタ66が解凍ユニット62内にどのように現れているかを示
している。各解凍ユニット62は、アロケータ82の出力に接続されているイン
デックス探索セクション92を有しており、インデックスを提供し、そのインデ
ックスにはフィルタ66によりフィルタが掛けられ、その後、対応するコードブ
ック部分を見つけるためにフィルタが掛けられたインデックスが用いられるコー
ドブック探索セクション94に与えられる。
【0070】 図11は、圧縮されたコード値とそれらが示すカラーとの間の関係を図で示し
ている。図は、2次元平面上で可能な全てのカラーを示す色の三角形の一部であ
ることを想定している。2つのカラーC1及びC2は基本カラーを意味する。そ
れらは線の端を定め、その線上には他の中間色C11からC1iまでがある。従
って、これら他のカラーは、カラーC1及びC2の適切な重み付き平均を取るこ
とにより形成することができる。カラーC11からC1iに対するコード値も、
カラーC1及びC2のコード値の平均を取ることにより、同様に定めることがで
きる。
【0071】 中間色を作り出す一般的な方法は、カラーC1及びC2の圧縮されたコード値
を使って開始し、カラー当たり16又は24ビット必要なシステムの精度で、カ
ラーC1及びC2の実際のカラー値を決めるものである。次に重み付け平均が1
6又は24のカラー値に実施され、決められる。しかし、カラーとそのコード値
の関係が上に述べた方法で決められる場合、先ずコード値の平均を取り、次に平
均コード値を変換し、最も近い使用可能なカラーを得ることができることが分か
っている。このことは、平均を取る演算では、16又はそれ以上のビットのデー
タが処理されるのではなく、利用する際に異なる圧縮されたコード値を決めるの
に必要なわずか2又は3程度のビットが処理可能であればよいということになる
【0072】 この下位のミップマップ最適化技法を、DirectX圧縮テクスチャ(参考
文献14)に適用することもできる。ここでは、2つの基本カラーと、インデッ
クスにより示された補間された中間値とが、均等に離れて配置されている。図1
2は、2ビットのインデックスがどのように16ビットのテクスチャカラーにマ
ップされるかを示している。16ビット値に替えて、2ビットのインデックス自
体にフィルタを掛けることができることがわかる。このことは、ロジックが少な
く、従って全体のコストが低いことを示している。
【0073】 要約すれば、画像をテクスチャリングする際に用いるためのテクスチャデータ
を生成する図示方法は、先ず、任意の圧縮されたコードによりテクスチャデータ
を表示する段階を備えており、選択された圧縮コード値は両基本カラーを定め、
他の圧縮されたコード値は、基本カラーの選択された重み付け平均値により形成
することのできるカラーを定め、この対応するコード値は、選択された基本カラ
ーのコード値の重み付け平均値でもある。次に、出力テクセルが複数の入力テク
セルから補間されるが、補間段階は、圧縮コード値を使って行われる。コード値
は続いて解凍され、実際のカラー値が与えられる。
【0074】 この方法は、図示されている下位レベルのミップマップ生成器内での利用以外
にも、他の目的で利用することもできる。圧縮されたコードが実際のカラーに対
応する線形関係を有するならば、圧縮された形態で保持されている中間色を生成
する必要がある場合には何時でも、本方法を用いることができる。特に、メモリ
22内に保持されているミップマップの最初の生成時に用いることができる。
【0075】 以上、説明、図示してきた本発明の実施例は、既知のシステムに様々な改良点
を提供する。特に、テクスチャ圧縮キャッシュを使う場合、トリリニアフィルタ
リングに対しメモリバンド幅を効果的に利用することができる。必要に応じて、
圧縮された上位レベルのミップマップデータから下位レベルのミップマップデー
タを生成することにより、ページブレイクを越えるアクセスが低減する。4部キ
ャッシュ配列を用いると、クロック周期当たり1つのトリリニアフィルタが掛け
られたピクセルが保証される。解凍ロジックの演算は、ダイナミック解凍リソー
ス割当を用いることにより改善される。最後に、下位レベルのミップマップ生成
と解凍ロジックを統合すると、システムのオーバーヘッドが比較的低くなる。
【0076】 以上、現在好適な実施例を取り上げ、本発明を説明し図示してきたが、これら
のシステムには多くの修正を加え得ることが、理解頂けるであろう。
【図面の簡単な説明】
【図1】 イメージングシステム内のテクスチャマップのバイリニアフィルタリングを示
す図である。
【図2】 図1と同様の、イメージングシステム内のテクスチャマップのトリリニアフィ
ルタリングを示す図である。
【図3】 一連のミップマップを示している。
【図4】 本発明によるイメージングシステムの一部分を示す概略ブロック図である。
【図5】 図4の実施例のオペレーションを示す図である。
【図6】 最悪ケースシナリオにおけるテクスチャワードの記憶状態を示す図である。
【図7】 図4と同様な、4つのキャッシュと4つの解凍ユニットを並行に用いている本
発明の第2実施例の概略ブロック図である。
【図8】 最良ケースシナリオにおけるテクスチャワードの記憶状態を、図6と同様の方
法で示す図である。
【図9】 図7の実施例を修正したブロック図であり、ここでは解凍ユニットはダイナミ
ックに再割り当てされる。
【図10】 図7のもう1つの、回路を修正したブロック図である。
【図11】 圧縮されたテクスチャコードに、補間をどのように直接適用できるかを示す図
である。
【図12】 圧縮されたテクスチャコードに、補間をどのように直接適用できるかを示す図
である。

Claims (9)

    【特許請求の範囲】
  1. 【請求項1】 3次元イメージングシステムで用いるためのテクスチャリン
    グシステムにおいて、 画像をテクスチャする際に用いるために、低下していく解像の異なるレベルの
    階層的に連続したミップマップを備えたミップマップデータを記憶するためのメ
    モリ手段(22)と、 必要なミップマップデータのタイプと、前記データをそこから取り出すことに
    なる1つ又は複数のミップマップのレベルとを示す入力データを受け取るための
    入力手段(26)と、 前記入力手段と前記メモリ手段とに接続され、前記入力データに従って、必要
    なミップマップデータをメモリから検索する制御手段(24)と、 メモリから検索されたミップマップデータの部分を記憶し、選択されたミップ
    マップレベルと関連づけるための、前記制御手段に連結されているキャッシュ手
    段(30;60)と、 ミップマップの1つのレベルからミップマップデータを受け取り、出力テクセ
    ルを2つのミップマップレベルからの入力テクセルから補間するために、前記キ
    ャッシュ手段に連結されているトリリニア補間器手段(34;64)とを備えて
    おり、 下位レベルのミップマップ生成器手段(36;66)が、更に、一連の階層に
    おいて、部分が前記キャッシュ手段内に保持されているミップマップの次に下位
    のミップマップの部分を生成するために、前記キャッシュ手段と前記トリリニア
    補間器手段の間に連結されていることを特徴とするテクスチャリングシステム。
  2. 【請求項2】 前記メモリ手段内に圧縮された形態で記憶されているミップ
    マップデータを解凍するための解凍手段(32;62)を含んでいることを特徴
    とする請求項1に記載のテクスチャリングシステム。
  3. 【請求項3】 前記解凍手段(32;62)は、前記キャッシュ手段に連結
    されている入力と、前記トリリニア補間器手段と前記下位レベルミップマップ生
    成器手段の両方に連結されている出力とに接続されていることを特徴とする請求
    項2に記載のテクスチャリングシステム。
  4. 【請求項4】 並行に配置されている4つのキャッシュ手段(60)と4つ
    の解凍圧縮手段(62)とがあることを特徴とする請求項2又は3の何れかに記
    載のテクスチャリングシステム。
  5. 【請求項5】 前記キャッシュ手段(60)と前記解凍手段(62)との間
    に、異なるキャッシュの出力を前記解凍手段の内の選択された1つに割当てるた
    めの割当て手段(82)を更に備えていることを特徴とする請求項2、3又は4
    の何れかに記載のテクスチャリングシステム。
  6. 【請求項6】 前記下位レベルのミップマップ生成器手段は、前記キャッシ
    ュ手段内に保持されているミップマップからの16個のテクセルで演算して、4
    個のテクセルを次に下位であるミップマップからのものとして提供する4つの補
    間器を備えていることを特徴とする上記請求項の何れかに記載のテクスチャリン
    グシステム。
  7. 【請求項7】 3次元イメージングで用いるためのテクスチャリングの方法
    において、 画像をテクスチャする際に用いるために、低下していく解像の異なるレベルの
    階層的に連続したミップマップを備えたミップマップデータをメモリに記憶する
    段階と、 必要なミップマップデータのタイプと、前記データをそこから取り出すことに
    なる1つ又は複数のミップマップのレベルを示す入力データを受け取る段階と、 前記入力データに従って、必要な前記ミップマップデータをメモリから検索す
    る段階と、 メモリから検索されたミップマップデータの部分をキャッシュに記憶し、選択
    されたミップマップレベルと関連づける段階と、 ミップマップの1つのレベルからミップマップデータを受け取り、出力テクセ
    ルを、2つのミップマップレベルからの入力テクセルから補間する段階とを含み
    、 更に、一連の階層において、部分が前記キャッシュ手段内に保持されているミ
    ップマップの次に下位のミップマップの部分をリアルタイムに生成する段階を含
    んでいることを特徴とする方法。
  8. 【請求項8】 画像をテクスチャする際に用いるためのテクスチャデータを
    生成するための装置において、 テクスチャデータを任意の圧縮されたコードで表すための手段であり、選択さ
    れた圧縮コード値が基本カラーを定め、他の圧縮されたコード値が、基本カラー
    の選択された重み付け平均により形成することができるカラーを定め、この対応
    するコード値は、選択された基本カラーのコード値の重み付け平均値でもあるよ
    うな手段と、 出力テクセルを複数の入力テクセルから補間するための補間手段とを備えてお
    り、 前記補間手段が、圧縮されたコード値を使って補間を行うことを特徴とする装
    置。
  9. 【請求項9】 画像をテクスチャリングする際に用いるためのテクスチャデ
    ータを生成する方法において、 テクスチャデータを任意の圧縮されたコードで表す段階であり、選択された圧
    縮コード値が基本カラーを定め、他の圧縮されたコード値が、基本カラーの選択
    された重み付け平均により形成することができるカラーを定め、この対応するコ
    ード値は、選択された基本カラーのコード値の重み付け平均値でもあるような段
    階と、 出力テクセルを複数の入力テクセルから補間する段階とから成り、 前記補間する段階は、圧縮されたコード値を使って行われることを特徴とする
    方法。
JP2000581594A 1998-11-06 1999-11-08 3次元イメージングシステムで用いるためのテクスチャリングシステム Expired - Lifetime JP4410940B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
GB9824407A GB2343599B (en) 1998-11-06 1998-11-06 Texturing systems for use in three dimensional imaging systems
GB9824407.2 1998-11-06
PCT/GB1999/003711 WO2000028479A1 (en) 1998-11-06 1999-11-08 Texturing systems for use in three-dimensional imaging systems

Publications (3)

Publication Number Publication Date
JP2002529867A true JP2002529867A (ja) 2002-09-10
JP2002529867A5 JP2002529867A5 (ja) 2007-01-11
JP4410940B2 JP4410940B2 (ja) 2010-02-10

Family

ID=10842012

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000581594A Expired - Lifetime JP4410940B2 (ja) 1998-11-06 1999-11-08 3次元イメージングシステムで用いるためのテクスチャリングシステム

Country Status (7)

Country Link
US (1) US7116335B2 (ja)
EP (2) EP1125251B1 (ja)
JP (1) JP4410940B2 (ja)
AT (1) ATE268489T1 (ja)
DE (1) DE69917799T2 (ja)
GB (1) GB2343599B (ja)
WO (1) WO2000028479A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007310669A (ja) * 2006-05-18 2007-11-29 Toshiba Corp 画像処理装置及び画像処理方法
JP4810605B2 (ja) * 2006-03-13 2011-11-09 株式会社ソニー・コンピュータエンタテインメント マルチプロセッサ環境のためのテクスチャユニット

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2379299B (en) 2001-09-04 2006-02-08 Imagination Tech Ltd A texturing system
US6940511B2 (en) 2002-06-07 2005-09-06 Telefonaktiebolaget L M Ericsson (Publ) Graphics texture processing methods, apparatus and computer program products using texture compression, block overlapping and/or texture filtering
GB2403115B (en) 2003-06-17 2006-02-08 Imagination Tech Ltd Texturing 3-dimensional computer graphic images
US9264265B1 (en) * 2004-09-30 2016-02-16 Nvidia Corporation System and method of generating white noise for use in graphics and image processing
JP4444180B2 (ja) * 2005-07-20 2010-03-31 株式会社東芝 テクスチャ符号化装置、テクスチャ復号化装置、方法、およびプログラム
US9418450B2 (en) 2006-08-31 2016-08-16 Ati Technologies Ulc Texture compression techniques
US8594441B1 (en) * 2006-09-12 2013-11-26 Nvidia Corporation Compressing image-based data using luminance
US7760936B1 (en) * 2006-09-12 2010-07-20 Nvidia Corporation Decompressing image-based data compressed using luminance
US7884823B2 (en) * 2007-06-12 2011-02-08 Microsoft Corporation Three dimensional rendering of display information using viewer eye coordinates
US8724895B2 (en) 2007-07-23 2014-05-13 Nvidia Corporation Techniques for reducing color artifacts in digital images
US8531472B2 (en) * 2007-12-03 2013-09-10 Pictometry International Corp. Systems and methods for rapid three-dimensional modeling with real façade texture
US8780128B2 (en) 2007-12-17 2014-07-15 Nvidia Corporation Contiguously packed data
US8508543B2 (en) * 2008-06-18 2013-08-13 Microsoft Corporation Layered texture compression architecture
US8373718B2 (en) 2008-12-10 2013-02-12 Nvidia Corporation Method and system for color enhancement with color volume adjustment and variable shift along luminance axis
US9053562B1 (en) 2010-06-24 2015-06-09 Gregory S. Rabin Two dimensional to three dimensional moving image converter
US20130063462A1 (en) * 2011-09-08 2013-03-14 Microsoft Corporation Tile-based image processing using mipmaps
US9992021B1 (en) 2013-03-14 2018-06-05 GoTenna, Inc. System and method for private and point-to-point communication between computing devices
US9483843B2 (en) 2014-01-13 2016-11-01 Transgaming Inc. Method and system for expediting bilinear filtering
US9990748B2 (en) 2015-03-18 2018-06-05 Intel Corporation Corner texel addressing mode
KR102503210B1 (ko) 2015-10-13 2023-02-23 삼성전자 주식회사 텍스처 필터링하는 방법 및 이를 위한 장치
GB2557657B (en) * 2016-12-14 2020-08-12 Samsung Electronics Co Ltd Mipmap rendering
CN110378947B (zh) * 2019-07-02 2023-04-07 北京字节跳动网络技术有限公司 3d模型重建方法、装置及电子设备
GB2583154B (en) 2019-10-17 2021-04-28 Imagination Tech Ltd Texture filtering
US11120605B2 (en) 2020-01-09 2021-09-14 Samsung Electronics Co., Ltd. Approximate trilinear filtering

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US623405A (en) * 1899-04-18 Vehicle-wheel
GB2171579B (en) * 1985-02-20 1988-03-02 Singer Link Miles Ltd Apparatus for generating a visual display
GB2240016A (en) * 1990-01-15 1991-07-17 Philips Electronic Associated Texture memories store data at alternating levels of resolution
GB2245460B (en) * 1990-06-18 1994-04-06 Link Miles Ltd Apparatus for generating a visual display
GB2284526B (en) * 1993-06-10 1997-12-10 Namco Ltd An image synthesizing system and a game playing apparatus using the same
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
CA2144914A1 (en) * 1994-04-01 1995-10-02 Raymond L. Fitzgerald Computer graphics texture paging system with fragmentary mip map selection
US5594846A (en) * 1994-12-19 1997-01-14 Sun Microsystems, Inc. Perspective correction of texture in graphics by adaptive approximation
US5651104A (en) * 1995-04-25 1997-07-22 Evans & Sutherland Computer Corporation Computer graphics system and process for adaptive supersampling
US5892517A (en) * 1996-01-02 1999-04-06 Integrated Device Technology, Inc. Shared access texturing of computer graphic images
US5831625A (en) * 1996-01-02 1998-11-03 Integrated Device Technology, Inc. Wavelet texturing
US5822452A (en) 1996-04-30 1998-10-13 3Dfx Interactive, Inc. System and method for narrow channel compression
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
GB9611941D0 (en) 1996-06-07 1996-08-07 Philips Electronics Nv Three-dimensional image texture mapping
JP3241625B2 (ja) * 1996-06-21 2001-12-25 住友ゴム工業株式会社 タイヤ製造方法及びタイヤ製造装置
US6236405B1 (en) 1996-07-01 2001-05-22 S3 Graphics Co., Ltd. System and method for mapping textures onto surfaces of computer-generated objects
US5945997A (en) 1997-06-26 1999-08-31 S3 Incorporated Block- and band-oriented traversal in three-dimensional triangle rendering
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
US6469700B1 (en) 1998-06-24 2002-10-22 Micron Technology, Inc. Per pixel MIP mapping and trilinear filtering using scanline gradients for selecting appropriate texture maps
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
US6339428B1 (en) 1999-07-16 2002-01-15 Ati International Srl Method and apparatus for compressed texture caching in a video graphics system

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4810605B2 (ja) * 2006-03-13 2011-11-09 株式会社ソニー・コンピュータエンタテインメント マルチプロセッサ環境のためのテクスチャユニット
JP2007310669A (ja) * 2006-05-18 2007-11-29 Toshiba Corp 画像処理装置及び画像処理方法

Also Published As

Publication number Publication date
EP1267308A2 (en) 2002-12-18
EP1267308A3 (en) 2004-04-28
DE69917799T2 (de) 2005-06-23
ATE268489T1 (de) 2004-06-15
DE69917799D1 (de) 2004-07-08
GB9824407D0 (en) 1998-12-30
US20050024378A1 (en) 2005-02-03
EP1125251A1 (en) 2001-08-22
EP1125251B1 (en) 2004-06-02
GB2343599A (en) 2000-05-10
JP4410940B2 (ja) 2010-02-10
WO2000028479A1 (en) 2000-05-18
GB2343599B (en) 2003-05-14
US7116335B2 (en) 2006-10-03
EP1267308B1 (en) 2018-04-11

Similar Documents

Publication Publication Date Title
JP4410940B2 (ja) 3次元イメージングシステムで用いるためのテクスチャリングシステム
US11043010B2 (en) Real time on-chip texture decompression using shader processors
Torborg et al. Talisman: Commodity realtime 3D graphics for the PC
US5706481A (en) Apparatus and method for integrating texture memory and interpolation logic in a computer system
US6002407A (en) Cache memory and method for use in generating computer graphics texture
US7872657B1 (en) Memory addressing scheme using partition strides
US6940514B1 (en) Parallel initialization path for rasterization engine
Knittel et al. Hardware for superior texture performance
US7990391B2 (en) Memory system having multiple address allocation formats and method for use thereof
US7880745B2 (en) Systems and methods for border color handling in a graphics processing unit
US7649531B2 (en) Image generation device and image generation method
US6661424B1 (en) Anti-aliasing in a computer graphics system using a texture mapping subsystem to down-sample super-sampled images
US7405735B2 (en) Texture unit, image rendering apparatus and texel transfer method for transferring texels in a batch
US6943797B2 (en) Early primitive assembly and screen-space culling for multiple chip graphics system
KR20060116916A (ko) 텍스쳐 캐쉬 및 이를 구비한 3차원 그래픽 시스템, 그리고그것의 제어 방법
US6933945B2 (en) Design for a non-blocking cache for texture mapping
TWI395152B (zh) 繪圖處理單元及處理邊框顏色資訊之方法
US6982719B2 (en) Switching sample buffer context in response to sample requests for real-time sample filtering and video generation
JPH0816797A (ja) グラフィックシステムの信号処理方法および装置
JP2003529115A (ja) スーパサンプリング・サンプル・バッファを有し、サンプル位置情報を効果的に記憶するグラフィックス・システム
KR100420858B1 (ko) 3차원 렌더링 프로세서의 매핑 처리 장치 및 방법
Park et al. A reconfigurable multilevel parallel texture cache memory with 75-GB/s parallel cache replacement bandwidth
US20240212257A1 (en) Workload packing in graphics texture pipeline
Kugler et al. High-performance texture mapping architectures
KR19980026639A (ko) 3차원 그래픽 콘트롤러

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20061102

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20061102

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090813

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090915

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20091015

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20091116

R150 Certificate of patent or registration of utility model

Ref document number: 4410940

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121120

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121120

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131120

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term