JPH10105723A - テクスチャ・マッピングのメモリ構成 - Google Patents

テクスチャ・マッピングのメモリ構成

Info

Publication number
JPH10105723A
JPH10105723A JP9127692A JP12769297A JPH10105723A JP H10105723 A JPH10105723 A JP H10105723A JP 9127692 A JP9127692 A JP 9127692A JP 12769297 A JP12769297 A JP 12769297A JP H10105723 A JPH10105723 A JP H10105723A
Authority
JP
Japan
Prior art keywords
texture
memory
map
image
block
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
JP9127692A
Other languages
English (en)
Inventor
Derek J Lentz
デレック ジェイ レンツ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Seiko Epson Corp
Original Assignee
Seiko Epson Corp
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 Seiko Epson Corp filed Critical Seiko Epson Corp
Publication of JPH10105723A publication Critical patent/JPH10105723A/ja
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/18Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast
    • 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)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Image Generation (AREA)

Abstract

(57)【要約】 【課題】本願発明の構成によって表示画素値の計算時に
おけるメモリページの切り替えが減る。 【解決手段】グラフィックス・システムのテクスチャ・
メモリ(21)は複数のテクスチャ・マップを含み、それ
ぞれは異なる空間解像度を有する共通のテクスチャ・イ
メージを表す。テクスチャ空間(58)の一つの領域(6
6)を表す所定のマップのデータが一つのメモリブロッ
ク(Block_0)に含まれ、そのメモリブロックは同
じ領域の別のマップのデータを保持する。一方、別のブ
ロック(Block_1)は別の領域(74)を表すマップ
のデータを含む。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本願発明はコンピュータ・グ
ラフィックスにおけるテクスチャ・マッピングに関し、
具体的にはテキスチャ・マッピングで使用するテクスチ
ャ・イメージを格納する方法に関する。
【0002】
【発明が解決しょうとする課題】コンピュータ・グラフ
ィックスにおいてよく遭遇するのは表面が細かいパター
ンになった物体の画像を描画しなければならないことで
ある。その表面の画像はパターン自体のディジタル・サ
ンプルから計算される。その格納されたパターン画像は
テクスチャ・マップとして知られる。
【0003】名称にも係わらず、テクスチャ・マップは
表面法線の摂動に限定されない。例えば、「テクスチ
ャ」イメージが表すのは2空間の格子柄などカラーパタ
ーンの場合もあり、画像が現在計算されている物体の表
面に「壁紙を貼り付ける」。
【0004】図1に、この目的のために通常用いられる
物体記述法は数多くあるが、そのどれかによって定義さ
れた物体の画像を生成する典型的なシステム10を簡素
化した形で示す。例えば、図2の物体の表面11は媒介
変数方程式で定義される、言ってみれば複数のバイキュ
ビックの細片であると言うことができる。即ち、表面セ
グメントを定義する一つの方法は下記のような3空間媒
介変数方程式を用いることである。
【0005】
【数1】
【0006】上記の式において(x,y,z)は3空間
における位置であり、s及びtは全ての細片に関する0
から1までのパラメータであって、さらにa及びbは細
片を記述する格納された係数である。言うまでもなく、
これは当業者なら周知の通り数多い物体記述法の一つで
ある。
【0007】画像を描画するには、図1の出力画像生成
器13の走査変換処理12によってこの記述を画素
(「ピクセル」)アドレス計算器14がアドレス指定し
た対応する走査位置に変換して、画素値計算器15がコ
ンピュータモニタ或いはプリンタなど表示装置を駆動さ
せる表示システム16の表示回路17によって描画され
た画素をそれぞれ計算する。普通、走査変換処理では表
示画素を物体空間の表示面における小さな矩形19(図
2)として取り扱い、その矩形を表面11に投影する。
これにより表面に位置を与える、カラーではない。画素
値計算器15は処理12で既に表面に「貼り付けられ
た」テクスチャ・イメージからカラーを得る、即ち、表
面を(必ずしもそうとは限らないが普通は2次元の)テ
クスチャ空間20にマッピング処理する。
【0008】ちょうど画素値計算器15が表示画像を出
力画像の画素の値として表すように、テクスチャ・メモ
リ21(図1)のデータはテクスチャ・イメージをテク
スチャ素子(「テクセル」)の値として表す。テクセル
値は、例えば2次元(u,v)のテクスチャ空間で連続
するテクスチャ・イメージからのサンプルと考えること
ができる。出力画素19の投影22のテクスチャ空間へ
のマッピングは多数のテクセルを包含できる領域23を
限定する。そうならば、正確な画素値を得るためにはこ
れらのテクセルの値の全てが考慮されなければならな
い。画素値を計算するのに、画素値計算器15は、領域
23内に入る対応する画素の分数に基づいて多少重みを
付けた後、単にこれらの全テクセルの平均値を出すこと
ができる。他の場合には、もっと込み入ったフィルタ処
理が用いられることがある。いずれにしても、画素値の
計算にはテクスチャ・マップ20からこれらのテクセル
の値を見つけてフェッチしなければならない。これはテ
クスチャ・アドレス計算回路24の機能であり、次にそ
れについて説明する。
【0009】図3に示すように、画素値の各計算のため
に複数のテクセルをフェッチしなければならないのは大
変な負担になり得る。図3は物体の空間を描き、画像面
32の縁の図を含む。横線で示した印34は仮定画素境
界を表し、目36は物体の画像が判断される基になる視
点を表す。
【0010】テクスチャ・イメージは2つの平坦な表面
38及び40をカバーすると仮定する。一つの画素の平
面38への投影はおよそ4×4=16テクセルをカバー
するように示されている。一つの画素に対してこれだけ
多くの値をフェッチするだけでも大変な負担ではある
が、面40は問題がかなり悪化し得ることを示してい
る。
【0011】この問題抑制のために、テクスチャ・メモ
リはテクスチャ・イメージを複数のテクスチャ・マップ
として格納し、そのテクスチャ・マップはそれぞれ解像
度の異なるテクスチャ・イメージを表す。ベース画素マ
ップはテクスチャ・イメージを多数の小さなテクセルの
値として表す。ベーステクスチャ・マップを予めフィル
タ処理することによってテクスチャ・イメージを数が次
第に小さくなりテクセルが次第に大きくなるテクセルの
値として表現するテクスチャ・マップを生成する。必ず
しもそうとは限らないが、概して、一つの集合になった
連続するテクスチャ・マップはそれぞれ一次元がその前
のテクスチャ・マップのテクセルの半分であるテクスチ
ャ・マップの値からなる。これらの予めフィルタ処理さ
れたマップはよく「ミップマップ」と呼ばれる。
【0012】出力画像生成器13は次に所定の画素値を
計算するのに使用するテクスチャ・データを要求する場
合、順序トリプル(u,v,d)によって行なう。ここ
でu及びvはテクスチャ空間の空間座標で、dはデータ
を表現する空間解像度を示す。生成器13は概してu及
びvをサブテクセルの解像度で表す。同様に、量dを例
えば表示空間座標に対してテクスチャ空間座標の偏導関
数の連続関数として計算し、その結果は普通それぞれの
マップに対応するdの値の間になる。これらの値から、
テクスチャ・アドレス計算回路24はどのテクスチャ・
マップ及び構成位置が必要なテクセルデータを含んでい
るかを判断する。
【0013】一つの画素値の計算には解像度が一つ以上
のテクセルを要することがある。従って所定の画素値を
計算するためのデータを別のマップから取らなければな
らない場合でもテクスチャ・メモリのアクセスが高速で
実行されることが重要である。図4に、これを実現する
のに用いられる典型的なメモリ編成を示す。図4ではテ
クスチャ・メモリのアドレス空間を2次元として取り扱
っている。即ち、図4における垂直方向の位置はアドレ
スビットのうちのいくつかの値を表し、水平方向の位置
は残りの値を表す。例えば、テクスチャ・マップがDR
AMに格納されている場合、垂直方向と水平方向の位置
はそれぞれ逐次これらの装置に適用される行アドレス及
び列アドレスの値を表す。
【0014】メモリの最大セグメント42(その行アド
レス値及び列アドレス値は共に他のどのセグメントの場
合の2倍以上である)は最も空間解像度の高いベーステ
クスチャ・マップを含む。図4ではそのセグメントの左
上の角が(u,v)の起点に対応するように描いてあ
り、uとvが増加するに伴い列アドレス及び行アドレス
がそれぞれ増加する。このマップは、例えば、d=0に
対応するとしよう。別のセグメント44は(u,v)の
同じ範囲の同じ画像を表すが、空間サンプリング解像度
は2の倍数で粗くなっていく。このマップはd=1に対
応するであろう。セグメント46と48は連続して粗さ
が増していくテクスチャ・マップになり、それぞれd=
2とd=3に対応するであろう。最後のセグメント50
は従来空のまま残る。
【0015】この構成をさらに典型的に描いたのが図5
である。図5は、色のテクスチャ・イメージに必要な3
つのテクスチャ・マップの集合での使用を示したもので
ある。この図において、セグメント51は最高空間解像
度の赤成分テクセル情報を含み、セグメント52は最高
空間解像度の緑成分テクセル情報を含み、そしてセグメ
ント54は最高空間解像度の青成分テクセル情報を含
む。
【0016】テクスチャ空間の同じ位置に対応する別の
マップのテクセルデータのアドレスは単に互いにシフト
し合ってるだけだから、図4及び図5のメモリ構成は複
数の解像度のテクセルデータの検索に有利であると考え
られている。例えばセグメント42が(異常に小さい)
8×8の位置のメモリセグメントだったとしたら、その
右下の位置のバイナリアドレスは(0111,111
1)で、一方、セグメント42の右下の位置のアドレス
は(0011,0111)、セグメント46の場合は
(0001,0011)である。
【0017】
【課題を解決するための手段】しかしながら、データ局
所性の検索スピードという利点を強調することによっ
て、より効果的にテクセルデータ検索スピードを最大に
する配列構成を考案した。本願発明では、テクスチャ空
間は複数の領域に分割され、テクスチャ・メモリは複数
の対応するメモリブロックに分割され、そして一つのメ
モリブロックには同じ対応するテクスチャ領域を表す空
間解像度の異なるテクスチャ・マップのテクセルデータ
の全てが入っている。その結果アドレス計算は例えば先
に述べたミップマップ構成の場合より複雑ではあるが、
このアプローチではメモリページの切り替えが最低限に
抑えられるのでスピードが向上する。テクスチャデータ
の削除を高速で実行するにあたっては、メモリページ切
り替えの方がアドレス計算よりも大きな障害になると認
識している。
【0018】
【発明の実施の形態】本願発明の教えを採用するグラフ
ィックス・システムは典型的には図1に関して先に説明
したように構成される。即ち、テクセルアドレス、画素
アドレス及び画素値を計算する何らかの回路13はこれ
らの値を表す画像信号を何らかの表示システム16に印
加する。これらの画素値を計算する際、出力画像生成回
路13はテクスチャ・イメージ空間の位置(u,v)に
対応するテクセルデータを要求し、その要求にはパラメ
ータdが含まれ、それは回路13がその要求しているテ
クセルデータに関して必要としている空間解像度を示し
ている。出力画像生成回路は、この目的のために最適化
された専用のグラフィックス回路のタイプの一つを用い
る方が好ましいが、適正にプログラムされた、パソコン
に用いられているような汎用マシンでも実現することが
できる。
【0019】同様に、テクスチャ空間及び解像度の情報
をテクスチャ・メモリアドレスに変換するテクスチャ・
アドレス計算回路24は同じ汎用マシンで適正にプログ
ラムすることによって実現することができる。普通、コ
ンピュータはコンピュータ・ディスクや同様の記憶装置
から必要な命令を得て、テクスチャ・メモリ21をコン
ピュータの汎用メモリ回路か画素メモリの表示されない
部分に実現することができる。しかし、費用的に許され
れば、先行技術でよく知られているように、これらの機
能のために専用のグラフィックス回路を用いることが好
ましい。
【0020】本願発明の教えを用いる装置はそうした先
行技術の配列構成とは異なり、図6に示すように、テク
スチャ・イメージ空間を領域に分割することに基づくテ
クスチャ・メモリ構成になっている。図6のテクスチャ
空間58は複数の領域60から構成され、その複数の領
域はそれぞれのメモリブロックに対応する。図6では領
域60は矩形で同じサイズで描かれている。この特徴は
便利ではあるが必要というわけではない。つまり、どん
な形状の領域でも本願発明の広義な教えを用いることが
できる。
【0021】先行技術のシステムと同じように、本願発
明のテクスチャ・メモリは複数のマップを含み、その各
々はテクスチャ空間58全体を他のマップとはサイズの
異なるテクセル値で表す。しかし本願発明の実施例は異
なる領域のデータを異なるメモリブロックに格納する。
【0022】図7にこの構成を示す。Block_0は
連続してアドレス指定されるテクスチャ・メモリロケー
ションを表す。図7ではBlock_0をレイアウト上
の理由から縦長に描いているが、連続アドレスは一般に
物理的なランダムアクセスメモリ素子において連続列ア
ドレスと普通呼ばれるものを示し、それは何らかの時点
でテクスチャ・マップ20を含むことになる。Bloc
k_0には図6の領域66を表す全テクスチャ・マップ
のデータが入っている。Block_0の一つのセグメ
ント64は最も解像度の高いテクスチャ・マップMap
_0からのテクセルデータを表す。セグメント64はM
ap_0テクセルデータの全てを含むわけではなく、図
6の領域66のサンプリングを表すMap_0のテクセ
ルデータの全てが入っている。
【0023】別のBlock_0セグメント68にも図
6の領域66を表すデータが入っている。しかしそのデ
ータは解像度がより低いMap_1から来ているので、
図7ではセグメント64より占有メモリ空間が小さく描
かれている。引き続いてさらに小さめのBlock_0
セグメント70及び72には継続的に解像度が低くなっ
ていくテクスチャ・マップからの同じ領域のためのデー
タが入っている。
【0024】図7に更なるメモリブロックBlock_
1を同様の構成として描く。そのデータは図6の次の領
域74を表す。図7ではBlock_1をセグメント7
2に隣接して描いているが、こうでなければならないと
いうことではない。確かに、多くの場合一つのブロック
が複数のメモリページにまたがらないように余分のスペ
ースを開けておく方が好ましい。
【0025】さて、この構成は先に図4、図5に関して
説明したミップマップの構成より込み入っているように
見えるし、そのメモリアドレス計算はほとんどの実施例
において確かにもっと複雑である。しかし実際には従来
のテクスチャ・マップの構成の場合より優れた性能を実
現できることを認識している。
【0026】これは部分的にほとんどのダイナミックラ
ンダムアクセスメモリ素子の管理に採用されているペー
ジングに原因がある。テクスチャ・マップのメモリとし
て用いられる典型的なDRAMにおいて、アドレスは行
アドレスと列アドレスの2つに分けてメモリ素子に適用
される。連続アドレスは、アドレスの行が終わりに達す
る時を除いて、行アドレスは同じだけれど列アドレスが
連続する。こうした配列構成であるために、一続きの連
続してアドレス指定されるロケーションをアクセスする
ことは概して比較的に高速で実行される。即ち、列アド
レスを変えなければならないだけで、普通はDRAMの
センスアンプ・ラッチ回路がデータを保持しているので
すぐ使用できるから、その変更にはほとんど時間がかか
らない。一方、全ての必要なオーバヘッドを入れると、
行アドレスの変更には80ナノ秒から150ナノ秒程度
余計にかかる。
【0027】ここで、所定の画素値を計算するために用
いられるテクセルデータをフェッチする演算を検討して
みよう。先に図3の平面40に関して説明したように、
一つの出力画素が多数のテクセルに対応するテクスチャ
空間領域に投影されることがある。さらに、一つの出力
画素のエッジが最も解像度の高いベーステクスチャ・マ
ップ内の比較的少数のテクセルを横断するテクスチャ空
間ラインに投影されることがある。これに対し、その出
力画像の画素は多数のこれら最も解像度の高いテクセル
を横断するラインに投影されることがある。従って、一
つの出力画素を計算するデータを得るために図1の出力
画像生成回路13が送る連続するテクスチャ要求信号に
よって示されるテクスチャ空間の点は同じテクスチャ空
間領域内に入る傾向があるけれども、そのデータは別々
のマップから要求される。
【0028】図4に示すような伝統的なメモリ構成にお
いては、別々の「ページ」のメモリロケーション、即ち
行アドレスが異なるロケーションになってしまうことが
多い。ページの切り替えは多数の連続する出力画素のそ
れぞれに対して潜在的に一回以上発生する可能性がある
から、それに伴うスピードの損失は相当なものになる。
伝統的なグラフィックス・システムは概して列アドレス
と行アドレスを並列で受け入れる高価なスタティックラ
ンダムアクセスメモリ(SRAM)に頼ることによって
しかこの損失を回避することはできない。
【0029】しかし本願発明の実施例は一つの領域内の
全ての解像度のテクセルデータを同じブロックに格納す
るから、ブロックサイズが適正に選ばれれば一つのペー
ジがこれらのデータを全て保持することができる。従っ
て、所定の画素のために複数の解像度のテクセルデータ
をフェッチするのに生じるページの切り替えとそれに伴
う長時間のフェッチ演算がはるかに減少する。
【0030】図8に本願発明の特定の実施例のためにア
ドレスが決められる方法を示す。或る画素が整数の対
(U,V)で指定される最もベース空間解像度の高
いMap_0があると仮定し、ここで(U,V)テ
クセルの値はu=U,v=Vで取られたテクスチャ
・イメージ空間のサンプルであるとする。また、Map
_nにおける画素(U,V)は(u,v)=(2U,
V)で取られたテクスチャ空間イメージのサンプル
であると仮定する。
【0031】図8のブロック80は対応するMap_0
のテクセル(U,V)のIDを得るための丸め
(u,v)を表す。テクセル要求の解像度dが有理数と
して表されるのは普通であり、システムによっては画素
値の計算にdを括弧で囲む整数値に対応する2つのテク
スチャ・マップからのデータを用いなければならないこ
とがある。しかしここでは説明のために、一つのマップ
を指定するために解像度dは単に一つの整数に丸められ
ていると仮定することにし、ブロック80はさらに整数
値のマップ・インディケータDを得るためのこの丸めを
表している。また、システムによっては代わりに指定ロ
ケーションを囲むサンプルをフェッチすることによって
そうした特定に対応することを当業者なら認識するであ
ろうが、説明のために、このシステムは要求されたマッ
プにおいて最も接近したサンプル位置に対応する値を単
純に要求すると仮定することにしよう。結果として得た
Dの値はそこからテクセルデータが取られるマップを特
定するのに役立つ。
【0032】ブロック82はそのマップ内で必要なテク
セル(U,V)を特定することを表す。この演算の特質
は実施例におけるマップの内部構成によって異なる。図
示した実施例において、ベースマップのテクセルID成
分UとVをそのマップの解像度に基づいてスケーリ
ング処理することによって、即ちバイナリ表現のU
をDの位置だけ単純に右にシフトして丸めることに
よって、テクセルを特定することができる。
【0033】次にメモリロケーションを確定するのは図
7に示す量に基づいてアドレスAを計算することであ
る。図7に示すように、例えばMap_1テクセルの一
つは、ブロック・オフセットδと、指定ブロック内の
所望のマップのオフセットを指定するマップ・オフセッ
トδと、そのブロックで選ばれたマップのセグメント
内のオフセットを示すテクセル・オフセットδUVとの
和である。
【0034】ブロック・オフセットを得るには、含まれ
るブロックを特定することが先ず必要であるが、それは
指定位置が存するテクスチャ・イメージ空間の領域を特
定することに等しい。図8のブロック84は下記の式に
よってブロック番号Bを確定することを表す。
【0035】
【数2】
【0036】上記の式において、VB0は一つの領域に
おけるベースマップ・テクセルの行数で、UB0は一つ
の領域におけるベースマップ・テクセルの列数で、B
はテクスチャ・イメージ空間全体における領域の列数
で、そしてint(x)は小数点の左側のxの部分であ
る。典型的には、B、UB0及びVB0は2の積にな
るように全て選ばれる。これは、ブロックを特定するた
めの計算は単純に正しくビットをシフトしてU及びV
を丸めた結果を加算するだけで実現できるということ
である。B=VB0ならば、Vのビットシフトさえ
不要である。
【0037】次にブロックのオフセットを下記の式によ
って容易に計算する。
【0038】
【数3】
【0039】上の式において、δは個々のメモリブロ
ックのサイズである。図8のブロック86はこの演算を
表す。ブロックサイズが2の積になるように選ばれてい
れば、これは単純な左シフトの演算である。
【0040】マップのオフセットδはマップと同じ数
だけの位置を有する非常に小さなルックアップテーブル
によってマップ識別子Dから決定されるのが一番良い。
ブロック88はこのテーブルルックアップ演算を表す。
【0041】ブロック90は下記の式によってテクセル
・オフセットδUVを決めることを表す。
【0042】
【数4】
【0043】上の式において、Vは一つの領域におけ
るMap_Dテクセルの行数で、Uは指定領域におけ
る選ばれた解像度のテクセルの列数で、そしてSはテ
クセル当たりのバイト数である。(本願発明はそうした
アドレス指定のメカニズムを要するでわけではないが、
ここではメモリロケーションはバイトでアドレス指定さ
れると仮定する。) 一つの解像度の低いテクセルの方が一つの領域より大き
いことがあるにもかかわらず、この計算のため、V
は共にゼロより大きい整数にする。つまり、各ブロ
ックはあらゆるテクセルの値を含み、テクセルは部分的
にでも対応する領域に含まれることがある。これは、一
般にブロック間でデータが二重に重なっている場合があ
ることを意味する。確かに、実施例のメモリブロックの
中にはそれぞれのテクスチャ空間領域より完全に外にあ
るテクセル用のデータを含むものがあるかもしれない。
例えば、図7のメモリセグメント64はセグメント64
が関連する領域66に隣接する図6の領域74、90、
92のテクセルに対応するデータをさらに含むことがあ
る。
【0044】ブロック96は最終のアドレス計算、つま
り、ブロック、マップ、テクセルのオフセットを合計す
ることによってアドレスAを得ることを表す。
【0045】
【数5】
【0046】図8の演算を高速で実行できるようにグラ
フィックス・システム回路を構成することは容易である
ことを当業者なら認識するであろう。専用のグラフィッ
クス回路において、この図に示した計算は並列つまりパ
イプライン方式で実行できるので、テクセルデータ検索
のために用いられるアドレスの計算と言うよりむしろテ
クセルデータ検索演算そのものと言えるであろう。それ
によってシステムがテクセルデータを得る時のスピード
が決まる。明らかに、本願発明による格納法を用いれば
実際のメモリアクセスに要する時間を最低限に抑えられ
る。
【0047】現在のパーソナルコンピュータの汎用の中
央演算処理回路だけで実現される場合、もちろん図8の
演算を並列で実行することはできないが、これは、本願
発明の利点は専用のグラフィックス回路を用いない実施
例には役に立たないということではない。演算86は主
記憶或いはキャッシュメモリのアクセスによって実現さ
れることになりそうだけれど、一つには、演算のほとん
どがレジスタデータの単なるシフトである可能性があ
る。これは、汎用の中央演算処理回路しか用いない実施
例においてさえアドレス計算を非常に高速で実行できる
ことを意味する。
【0048】その上、本願発明の結果得られるメモリの
局所性によってそうした配列構成におけるページングの
利点がさらに高まる。コンピュータのオペレーティング
・システムによってはプロセスが要求したデータのペー
ジしか読み込まないシステムもある。前に要求されてい
ないページ内のデータは、コンピュータディスクなどの
バックアップメモリからフェッチされなければならな
い。本願発明のメモリ構成はそうした「ページ・フォル
ト」、即ち必要なデータがメインメモリにないのでディ
スクにアクセスして得なければならない状況の発生をか
なり減らす。本願発明では最低限の余分のアドレス計算
が必要になることがあるけれども、ディスクメモリ・ア
クセスはメインメモリ・アクセスより桁違いに余計に時
間を要するから、そうしたアドレス計算による遅れは本
願発明によって回避されるページ・フォルトによる遅れ
に比べてはるかに小さい。
【0049】上述の説明からブロックサイズは一つのメ
モリページ内に入る程度の小さいことが想到されるが、
たとえブロックがそうしたサイズでなくても、またそう
したサイズの場合一つのブロックが複数のメモリページ
にまたがらないようにわざわざ対策を講じなくても、本
発明には利点がある。こうした状況においてさえ、共通
ブロックに一つの領域のあらゆる解像度のデータを格納
することによって解像度の違いによるページの切り替え
が生じにくくなるから、本願発明は従来のテクスチャ・
メモリ構成に比べてページ切り替えの頻度が減少する。
【0050】従って本願発明は広い範囲で実現可能であ
り、そのために技術の重要な進歩となる。
【図面の簡単な説明】
【図1】テクスチャ・マッピングを用いるコンピュータ
・グラフィックス。システムのブロック図である。
【図2】テクスチャ・マッピング・システムで用いられ
る物体空間の出力画像面、物体の表面、テクスチャ空間
の間の関係を示す図である。
【図3】多数のベース・テクスチャ・マップのテクセル
からのデータを必要とする唯一つの出力画素値の計算を
示す図である。
【図4】従来のミップマップの構成を示す図である。
【図5】カラーのテクセルデータ用のミップマップの使
用を示す図である。
【図6】本願発明のためにテクスチャ空間をテクスチャ
空間領域に分割することを示す図である。
【図7】本願発明の教えによるメモリ構成のテクセルマ
ップ領域の図である。
【図8】本願発明の一つの実施例に用いられるアドレス
計算を示す図である。

Claims (11)

    【特許請求の範囲】
  1. 【請求項1】イメージング・システムであって、 A)画素値を表す画像信号の印加によって画像信号が表
    す値の画素からなる画像を表示する表示システムと、 B)複数のテクスチャ空間領域に及ぶテクスチャ・イメ
    ージを表すテクスチャ・マップのセットを含むテクスチ
    ャ・メモリからなり、テクスチャ・マップはそれぞれ異
    なる空間解像度に関連すると共にその空間解像度でテク
    スチャ・イメージのテクスチャ領域の全てを表すテクセ
    ルデータから構成され、当該テクスチャ・メモリは複数
    のメモリブロックからなり、各メモリブロックは(i)
    連続してアドレス指定可能なメモリロケーションの列か
    ら構成され、(ii)テクスチャ空間領域のそれぞれ一
    つと対応し、(iii)テクスチャ・イメージのそのテ
    クスチャ空間領域を表すそれぞれのテクスチャ・マップ
    のテクセルデータの全てを含み、当該テクスチャ・メモ
    リはテクセルデータをアドレス信号によってアドレス指
    定されたメモリロケーションからテクセルデータをフェ
    ッチすることによって印加されるアドレス信号に応じ、 C)当該イメージング・システムはアドレス信号をテク
    スチャ・メモリに印加するテクスチャ検索回路をさらに
    有し、空間解像度の異なる同じテクスチャ空間領域のテ
    クスチャ空間ロケーションを指定するテクスチャ要求信
    号を当該テクスチャ検索回路に印加することによってテ
    クスチャ検索回路は同じメモリブロック内のメモリロケ
    ーションをアドレス指定するアドレス信号をテクスチャ
    ・メモリに印加し、そしてさらに D)テクスチャ検索回路にテクスチャ空間ロケーション
    と空間解像度を指定するテクスチャ要求信号を印加し、
    テクスチャ・メモリからフェッチされたテクセルデータ
    から画素値を計算し、そしてそのように計算された画素
    値を表す画像信号を表示システムに印加することによっ
    て出力画像にテクスチャ情報を統合する出力画像計算回
    路とからなることを特徴とするイメージング・システ
    ム。
  2. 【請求項2】テクスチャ検索回路がテクスチャ・メモリ
    に印加するアドレス信号はテクスチャ検索回路がブロッ
    クのオフセット、マップのオフセット、テクセルのオフ
    セットの和として計算するアドレスを表すことを特徴と
    する請求項1に記載のイメージング・システム。
  3. 【請求項3】テクスチャ検索回路がテクスチャ要求信号
    が指定するテクスチャ空間ロケーションからブロックの
    オフセットを決めることを特徴とする請求項2に記載の
    イメージング・システム。
  4. 【請求項4】テクスチャ検索回路がテクスチャ要求信号
    が指定する空間解像度からマップのオフセットを決める
    ことを特徴とする請求項3に記載のイメージング・シス
    テム。
  5. 【請求項5】テクスチャ検索回路がテクスチャ要求信号
    が指定する空間解像度からマップのオフセットを決める
    ことを特徴とする請求項2に記載のイメージング・シス
    テム。
  6. 【請求項6】メモリ回路を有するコンピュータによって
    読み取り可能な命令を含む記憶媒体であって、メモリ回
    路は当該メモリ回路を構成する連続してアドレス指定可
    能なメモリロケーションのそれぞれの列からなる複数の
    メモリブロックのうちの一つのブロック内のアドレス指
    定されたメモリロケーションからテクセルデータをフェ
    ッチするために印加されるアドレス信号に応答し、当該
    命令によってコンピュータを、 A)同じテクスチャ・イメージを表すテクスチャ・マッ
    プの集合を形成し、テクスチャ・イメージはメモリブロ
    ックのそれぞれ異なる領域に関連する複数のテクスチャ
    空間領域に対応し、ベース空間解像度を有するテクスチ
    ャ・イメージのテクスチャ空間領域の全てを表すテクセ
    ルデータからなるベース・テクスチャ・マップを提供す
    ると共にベース空間解像度に比べて低い空間解像度のテ
    クスチャ・マップのテクスチャ空間領域の全てを表すテ
    クセルデータからなる少なくとも一つ別のテクスチャ・
    マップをベーステクスチャ・マップから計算することに
    よって、前記テクスチャ・マップの集合を形成し、 B)ブロックに関連するテクスチャ空間領域内のテクス
    チャ・マップの画像の部分を表す各テクスチャ・マップ
    のテクセルデータを全て各メモリブロックに格納し、 C)同じテクスチャ空間領域内で空間解像度の異なるテ
    クスチャ空間ロケーションを指定するテクスチャ要求信
    号をテクスチャ検索回路に印加することによって同じメ
    モリブロック内のメモリロケーションをアドレス指定す
    るアドレス信号をメモリ回路に印加するためにテクスチ
    ャ検索回路として機能し、そして D)テクスチャ空間ロケーション及び空間解像度を指定
    するテクスチャ要求信号をテクスチャ検索回路に印加
    し、メモリ回路からフェッチされたテクセルデータに基
    づき画素値を計算し、さらにこうして計算された画素値
    を表す画像信号をその画像信号が表す値の画素からなる
    画像を表示する表示システムに印加することによってテ
    クスチャ情報を出力画像に統合する出力画像計算回路と
    して機能するように構成することを特徴とする記憶媒
    体。
  7. 【請求項7】テクスチャ検索回路がメモリ回路に印加す
    るアドレス信号はテクスチャ検索回路がブロックのオフ
    セット、マップのオフセット、テクセルのオフセットの
    和として計算するアドレスを表すことを特徴とする請求
    項6に記載の記憶媒体。
  8. 【請求項8】テクスチャ検索回路がテクスチャ要求信号
    が指定するテクスチャ空間ロケーションからブロックの
    オフセットを決めることを特徴とする請求項7に記載の
    記憶媒体。
  9. 【請求項9】テクスチャ検索回路がテクスチャ要求信号
    が指定する空間解像度からマップのオフセットを決める
    ことを特徴とする請求項8に記載の記憶媒体。
  10. 【請求項10】テクスチャ検索回路がテクスチャ要求信
    号が指定する空間解像度からマップのオフセットを決め
    ることを特徴とする請求項7に記載の記憶媒体。
  11. 【請求項11】テクスチャ・メモリを作成するための方
    法であって、 A)複数のメモリブロックからなり、各メモリブロック
    は一連の連続してアドレス指定可能なメモリロケーショ
    ンからなるメモリ回路を提供し、 B)ベース空間解像度を有するテクスチャ・イメージの
    テクスチャ空間領域の全てを表すテクセルデータからな
    るベース・テクスチャ・マップを提供すると共にベース
    空間解像度に比べて低い空間解像度のテクスチャ・マッ
    プのテクスチャ空間領域の全てを表すテクセルデータか
    らなる少なくとも一つ別のテクスチャ・マップをベース
    ・テクスチャ・マップから計算することによって、メモ
    リブロックのそれぞれ異なる領域に関連する複数のテク
    スチャ空間領域に及ぶ同じテクスチャ・イメージを表す
    テクスチャ・マップの集合を形成し、 C)ブロックに関連するテクスチャ空間領域内のテクス
    チャ・マップ・イメージの部分を表す各テクスチャ・マ
    ップのテクセルデータの全てを各メモリブロックに格納
    してなることを特徴とする方法。
JP9127692A 1996-05-17 1997-05-16 テクスチャ・マッピングのメモリ構成 Pending JPH10105723A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/650,010 1996-05-17
US08/650,010 US5886705A (en) 1996-05-17 1996-05-17 Texture memory organization based on data locality

Publications (1)

Publication Number Publication Date
JPH10105723A true JPH10105723A (ja) 1998-04-24

Family

ID=24607110

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9127692A Pending JPH10105723A (ja) 1996-05-17 1997-05-16 テクスチャ・マッピングのメモリ構成

Country Status (5)

Country Link
US (1) US5886705A (ja)
EP (1) EP0810553B1 (ja)
JP (1) JPH10105723A (ja)
KR (1) KR970078628A (ja)
DE (1) DE69724512T2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4810605B2 (ja) * 2006-03-13 2011-11-09 株式会社ソニー・コンピュータエンタテインメント マルチプロセッサ環境のためのテクスチャユニット

Families Citing this family (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6163320A (en) * 1998-05-29 2000-12-19 Silicon Graphics, Inc. Method and apparatus for radiometrically accurate texture-based lightpoint rendering technique
WO1999064990A2 (en) 1998-06-12 1999-12-16 Intergraph Corporation System for reducing aliasing on a display device
US6518971B1 (en) 1998-07-17 2003-02-11 3Dlabs Inc. Ltd. Graphics processing system with multiple strip breakers
WO2000004436A1 (en) 1998-07-17 2000-01-27 Intergraph Corporation Graphics processing with transcendental function generator
US6476816B1 (en) 1998-07-17 2002-11-05 3Dlabs Inc. Ltd. Multi-processor graphics accelerator
WO2000004495A1 (en) 1998-07-17 2000-01-27 Intergraph Corporation System for processing vertices from a graphics request stream
WO2000004484A2 (en) 1998-07-17 2000-01-27 Intergraph Corporation Wide instruction word graphics processor
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
WO2000004496A1 (en) * 1998-07-17 2000-01-27 Intergraph Corporation Graphics processor with texture memory allocation system
US6459453B1 (en) 1998-07-17 2002-10-01 3Dlabs Inc. Ltd. System for displaying a television signal on a computer monitor
WO2000004527A1 (en) * 1998-07-17 2000-01-27 Intergraph Corporation Apparatus and method of directing graphical data to a display device
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
US6362824B1 (en) * 1999-01-29 2002-03-26 Hewlett-Packard Company System-wide texture offset addressing with page residence indicators for improved performance
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
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
KR100715094B1 (ko) * 1999-12-28 2007-05-07 주식회사 팬택앤큐리텔 올드 특징을 이용한 영상의 특징 추출 및 검색 방법/장치
US7119813B1 (en) * 2000-06-02 2006-10-10 Nintendo Co., Ltd. Variable bit field encoding
US7710425B1 (en) * 2000-06-09 2010-05-04 3Dlabs Inc. Ltd. Graphic memory management with invisible hardware-managed page faulting
US6707458B1 (en) 2000-08-23 2004-03-16 Nintendo Co., Ltd. Method and apparatus for texture tiling in a graphics system
US6700586B1 (en) 2000-08-23 2004-03-02 Nintendo Co., Ltd. Low cost graphics with stitching processing hardware support for skeletal animation
US7576748B2 (en) * 2000-11-28 2009-08-18 Nintendo Co. Ltd. Graphics system with embedded frame butter having reconfigurable pixel formats
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
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
US6937245B1 (en) * 2000-08-23 2005-08-30 Nintendo Co., Ltd. Graphics system with embedded frame buffer having reconfigurable pixel formats
US7196710B1 (en) * 2000-08-23 2007-03-27 Nintendo Co., Ltd. Method and apparatus for buffering graphics data in a graphics system
US7538772B1 (en) * 2000-08-23 2009-05-26 Nintendo Co., Ltd. Graphics processing system with enhanced memory controller
US6774908B2 (en) * 2000-10-03 2004-08-10 Creative Frontier Inc. System and method for tracking an object in a video and linking information thereto
US20030030646A1 (en) * 2001-08-10 2003-02-13 Yeh Kwo-Woei Trilinear texture filtering method with proper texel selection
JP3703754B2 (ja) * 2001-10-23 2005-10-05 富士通株式会社 描画装置および情報処理装置
JP4198087B2 (ja) * 2004-04-13 2008-12-17 株式会社ソニー・コンピュータエンタテインメント 画像生成装置および画像生成方法
JP2006251000A (ja) * 2005-03-08 2006-09-21 Fujitsu Ltd 重畳表示可能なディスプレイコントローラ
US8817035B2 (en) * 2005-12-21 2014-08-26 Nvidia Corporation Texture pipeline context switch
WO2008055381A1 (en) 2006-11-08 2008-05-15 Intel Corporation Graphics processor pipelined reduction operations
US9652815B2 (en) 2012-09-11 2017-05-16 Nvidia Corporation Texel data structure for graphics processing unit programmable shader and method of operation thereof
DE102015120930A1 (de) * 2015-12-02 2017-06-08 Krauss-Maffei Wegmann Gmbh & Co. Kg Verfahren zur Darstellung einer Simulationsumgebung

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4615013A (en) * 1983-08-02 1986-09-30 The Singer Company Method and apparatus for texture generation
US4692880A (en) * 1985-11-15 1987-09-08 General Electric Company Memory efficient cell texturing for advanced video object generator
US4931954A (en) * 1986-06-30 1990-06-05 Kabushiki Kaisha Toshiba Image storage system and method of storing images such that they are displayed with gradually increasing resolution
US4823286A (en) * 1987-02-12 1989-04-18 International Business Machines Corporation Pixel data path for high performance raster displays with all-point-addressable frame buffers
GB2208095A (en) * 1987-03-18 1989-02-22 Racal Radar & Displays Ltd Display systems
US4935879A (en) * 1987-08-05 1990-06-19 Daikin Industries, Ltd. Texture mapping apparatus and method
US4945495A (en) * 1987-10-21 1990-07-31 Daikin Industries, Ltd. Image memory write control apparatus and texture mapping apparatus
US5003496A (en) * 1988-08-26 1991-03-26 Eastman Kodak Company Page memory control in a raster image processor
GB2240015A (en) * 1990-01-15 1991-07-17 Philips Electronic Associated Texture memory addressing
US5222205A (en) * 1990-03-16 1993-06-22 Hewlett-Packard Company Method for generating addresses to textured graphics primitives stored in rip maps
US5179638A (en) * 1990-04-26 1993-01-12 Honeywell Inc. Method and apparatus for generating a texture mapped perspective view
KR950005650B1 (ko) * 1992-10-29 1995-05-27 대우전자주식회사 어드레스 변환 방법 및 장치
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
JPH0896150A (ja) * 1994-09-28 1996-04-12 Toshiba Corp 図形描画装置及び図形データ分割方法
US5801708A (en) * 1995-06-06 1998-09-01 Hewlett-Packard Company MIP map texture storage by dividing and allocating among multiple blocks

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4810605B2 (ja) * 2006-03-13 2011-11-09 株式会社ソニー・コンピュータエンタテインメント マルチプロセッサ環境のためのテクスチャユニット

Also Published As

Publication number Publication date
EP0810553B1 (en) 2003-09-03
DE69724512D1 (de) 2003-10-09
EP0810553A2 (en) 1997-12-03
KR970078628A (ko) 1997-12-12
DE69724512T2 (de) 2004-04-08
US5886705A (en) 1999-03-23
EP0810553A3 (en) 1999-09-01

Similar Documents

Publication Publication Date Title
JPH10105723A (ja) テクスチャ・マッピングのメモリ構成
US5987567A (en) System and method for caching texture map information
KR100300972B1 (ko) 텍스춰매핑수행장치및텍스춰캐시의데이터억세스방법
US7990391B2 (en) Memory system having multiple address allocation formats and method for use thereof
KR101034925B1 (ko) 텍스쳐 정보를 엔코딩하는 방법 및 장치
US6057861A (en) Mip map/rip map texture linear addressing memory organization and address generator
US7580042B2 (en) Systems and methods for storing and fetching texture data using bank interleaving
US7439983B2 (en) Method and apparatus for de-indexing geometry
JP3466661B2 (ja) 画像処理装置及びその方法
CN108492243B (zh) 一种基于块处理的图像旋转装置、系统和方法
US20030122837A1 (en) Dual memory channel interleaving for graphics and MPEG
US8463074B2 (en) System and method for rotating images
US6462747B1 (en) Texture mapping system
JPH10320573A (ja) 画像処理装置及び画像処理方法
JP3316593B2 (ja) メモリ・スペース割当方法及び装置
US20030030646A1 (en) Trilinear texture filtering method with proper texel selection
US6614443B1 (en) Method and system for addressing graphics data for efficient data access
US6031550A (en) Pixel data X striping in a graphics processor
JP2000011190A (ja) 画像処理装置
US6577776B1 (en) Transforming video images
JPH08305625A (ja) 演算処理機能付き半導体メモリ及びそれを用いた処理装置
US6429873B1 (en) Addressing of monolithic texture maps
JP3940434B2 (ja) テクセルキャッシュを使用した画像テクスチャマッピング
JP2000090280A (ja) 空間タイル化アルゴリズム/メカニズムに対する線形サ―フェスメモリ
JP3272463B2 (ja) 画像作成装置およびその使用方法