JPH04215191A - Display apparatus - Google Patents

Display apparatus

Info

Publication number
JPH04215191A
JPH04215191A JP3044559A JP4455991A JPH04215191A JP H04215191 A JPH04215191 A JP H04215191A JP 3044559 A JP3044559 A JP 3044559A JP 4455991 A JP4455991 A JP 4455991A JP H04215191 A JPH04215191 A JP H04215191A
Authority
JP
Japan
Prior art keywords
texture
values
array
texel
texture memory
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP3044559A
Other languages
Japanese (ja)
Inventor
Paul A Winser
ポール アンソニー ウインザー
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.)
Koninklijke Philips NV
Original Assignee
Philips Gloeilampenfabrieken NV
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 Philips Gloeilampenfabrieken NV filed Critical Philips Gloeilampenfabrieken NV
Publication of JPH04215191A publication Critical patent/JPH04215191A/en
Pending legal-status Critical Current

Links

Landscapes

  • Image Generation (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Image Processing (AREA)
  • Digital Computer Display Output (AREA)

Abstract

PURPOSE: To make it possible to read texel (texture element) values out of two different levels of a pyramid array of different resolution level by an easy method at the same time in parallel. CONSTITUTION: A texture memory 41 is provided with different texture memory banks which can be addressed in parallel. Further, display devices 30, 32, 34, and 36 are provided with a texel value storage means which can alternately store two-dimensional arrays of values forming sequential levels of pyramid arrays that are already stored in the respective two texture memory banks. Consequently, values supplied to an interpolating means can be read out of the two different levels of the pyramid arrays at the same time without parallelizing the storage space or employing a double structure.

Description

【発明の詳細な説明】[Detailed description of the invention]

【0001】0001

【産業上の利用分野】本発明は、関連する表示メモリと
、レベル座標の各値によって識別し得る少なくとも2つ
の別個の解像度レベルにおける2次元(2−D) 変調
パターンを表わすテクスチュア要素(「テクセル」)の
値についての少なくとも1つのピラミッド又は部分的に
ピラミッド状をしているアレイを記憶させるためのテク
スチュアメモリとを有している表示プロセッサを具え、
さらに、内挿テクセル値を発生するように記憶済みのピ
ラミッドアレイの2レベルからの対応するテクセル値を
一緒に組合わせるために、受信したレベル座標の小数部
に応答するインタリーブ内挿手段も具えている表示装置
に関するものである。
FIELD OF THE INVENTION The present invention relates to a texture element ("texel") representing a two-dimensional (2-D) modulation pattern at at least two distinct resolution levels, distinguishable by each value of a level coordinate, and an associated display memory. a display processor having a texture memory for storing at least one pyramid or partially pyramidal array of values ``);
It further comprises interleaving interpolation means responsive to the fractional portion of the received level coordinates for combining together corresponding texel values from two levels of the stored pyramid array to generate interpolated texel values. The present invention relates to display devices.

【0002】上述した種類の装置は国際公開パンフレッ
トWO85/00913号に開示されており、この装置
は3次元の場合及びフライトシミュレーション用の物体
をリアルタイム合成し、且つ表示する。
[0002] A device of the above-mentioned type is disclosed in International Publication No. WO 85/00913, which synthesizes and displays objects in real time for three-dimensional cases and flight simulations.

【0003】この装置は「テクスチュアマッピング」と
して知られている技術を実行するものであり、この方法
では 2−Dパターン(「テクスチュア」)を予め発生
させ、これをテクスチュアメモリ内に記憶させてから、
単一の基本要素を提示させて(「物体空間」から「スク
リーン空間」に変換し、表示メモリ内へと走査して)、
テクスチュアに基本要素をマッピングする。この技術に
よれば像を発生させるのに必要とされる基本要素の数を
それ相当に増やさなくても表面細部の大部分を表示する
ことができる。簡単な場合には、記憶済みのパターンに
よって物体表面の色を規定するため、テクセル値は表示
メモリに直接書込める色値を制定することができる。さ
らに一般的な場合には、テクセル値をさらに処理したり
、或いは制御したりして、例えば複雑な照明効果を高速
に計算し得るようにする。テクスチュアマッピングはソ
フトウェアで完全に実行し得るが、本発明ではそのマッ
ピングをリアルタイム画像合成の分野にてハードウェア
により実行させる。エイリアシング効果を避けるために
、マッピング中にはテクセル値をフィルタリングする必
要がある。フィルタ値の計算を簡単にするために、各々
異なる解像度レベルに予めフィルタリングした一連の 
2−Dアレイから成る所謂ピラミッドアレイにテクスチ
ュアを記憶させるのが慣例となっている。ピラミッドテ
クスチュアアレイの発生及び記憶については「COMP
UTER Graphics, Vol. 17. N
o.3(Proc.SIGGRAPH 1983)」の
第1〜11頁のランス・ウイリアムスの論文「Pyra
midal Parametrics 」に記載されて
いる。
[0003] This device implements a technique known as "texture mapping" in which a 2-D pattern ("texture") is pre-generated, stored in a texture memory, and then ,
By having a single elementary element presented (translated from "object space" to "screen space" and scanned into display memory),
Map basic elements to textures. This technique allows a large amount of surface detail to be displayed without appreciably increasing the number of primitives required to generate the image. In the simple case, in order to define the color of the object surface by a stored pattern, the texel values can establish color values that can be written directly into the display memory. In a more general case, the texel values may be further processed or controlled so that, for example, complex lighting effects can be computed quickly. Although texture mapping can be performed entirely in software, the present invention allows the mapping to be performed in hardware in the field of real-time image synthesis. The texel values need to be filtered during mapping to avoid aliasing effects. To simplify the calculation of filter values, a series of
It is customary to store textures in so-called pyramid arrays consisting of 2-D arrays. Regarding the generation and storage of pyramid texture arrays, see “COMP
UTER Graphics, Vol. 17. N
o. 3 (Proc. SIGGRAPH 1983), pages 1 to 11 of Lance Williams' paper ``Pyra
midal parameters”.

【0004】0004

【発明が解決しようとする課題】物体は視点から離れる
か、又は近付く方向に動くので、表示解像度がシャープ
に変化しないようにするために内挿手段が設けられる。 しかし、テクセル値は2レベルのアレイから読取る必要
があるため、斯る改善策では双方のアレイからの並列読
出しが可能でない限り、メモリ読取サイクル数は2倍必
要である。前記ウイリアムスの文献では所定のテクスチ
ュアピラミッドの全レベルを同時にアクセス可能とする
方法を示唆しているが、このようにするには結線の数が
膨大となり、装置が極めて高価となり、従って市販用に
大量生産するのには不適当である。さらに従来の方法は
 2−Dメモリ内にアレイを固定の「MIPマップ」と
して配置するものである。全二重ポートテクスチュアメ
モリを設ける他の解決策もあるが、これは二重ポートメ
モリ装置の容量が小さいために実行不可能である。
Since the object moves away from or towards the viewpoint, interpolation means are provided to prevent the display resolution from changing sharply. However, because the texel values must be read from a two-level array, such an improvement requires twice the number of memory read cycles, unless parallel reading from both arrays is possible. Although the Williams reference suggests a method for making all levels of a given texture pyramid accessible simultaneously, this would require a large number of connections and the equipment would be extremely expensive, thus requiring large quantities for commercial use. It is unsuitable for production. Additionally, conventional methods place arrays in 2-D memory as fixed "MIP maps." There are other solutions to provide a full duplex ported textured memory, but this is not feasible due to the small capacity of the dual ported memory device.

【0005】本発明の目的は以前考えられていたものよ
りも簡単で、しかもより一層経済的な技法によってピラ
ミッドアレイの2つのレベルからの並列読出しを可能と
することにある。
It is an object of the invention to enable parallel readout from two levels of a pyramid array by a simpler and more economical technique than previously considered.

【0006】[0006]

【課題を解決するための手段】本発明は冒頭にて述べた
ような表示装置において、前記テクスチュアメモリが別
個の第1及び第2の並列にアドレスし得るテクスチュア
メモリバンクを具え、且つ前記表示装置が、第1及び第
2テクスチュアメモリバンクの各々に前記記憶済みのピ
ラミッドアレイの順次のレベルを形成するテクセル値の
2−D アレイを交互に記憶させるテクセル値記憶手段
も具えていることを特徴とする。
The present invention provides a display device as mentioned in the introduction, wherein the texture memory comprises separate first and second parallel addressable texture memory banks; further comprising texel value storage means for storing alternating 2-D arrays of texel values forming successive levels of the stored pyramid array in each of the first and second texture memory banks. do.

【0007】このようにすれば、記憶スペースを過度に
並列化したり、又は二重構造とする必要なしにピラミッ
ドアレイの2つの異なるレベルから内挿手段に供給する
テクセル値を同時に読出すことができる。
In this way, the texel values supplied to the interpolation means can be read out simultaneously from two different levels of the pyramid array without the need for excessive parallelization or dual structure of the storage space. .

【0008】本発明はピラミッドアレイのレベル数に無
関係にテクスチュアメモリを2つの別個の単一ポートバ
ンクに分けるだけで並列化の度合を限定し、しかも並列
読出しを行えると言う認識に基づいて成したものである
。必ず必要なことは、任意所定のピラミッドの隣接レベ
ルを常に異なるバンクに記憶させることである。
The present invention is based on the recognition that it is possible to limit the degree of parallelization and still provide parallel reading by simply dividing the texture memory into two separate single-port banks, regardless of the number of levels in the pyramid array. It is something. All that is required is that adjacent levels of any given pyramid are always stored in different banks.

【0009】本発明の好適例では前記各テクスチュアメ
モリバンクを少なくとも3つの並列にアドレスされるメ
モリに分割し、前記テクセル値がインタリーブ法で記憶
されて、テクセルの 2−Dパッチに対する値を第1及
び第2テクスチュアメモリバンクの各々から並列に読取
れるように前記テクセル値記憶手段を構成し、前記内挿
手段を、1組の8個以上の記憶済みテクセル値から単一
の 3−D内挿値を発生させるために各パッチ内でイン
タリーブ内挿を 2−D内挿と組合わせるように構成す
る。従って、画素当たり僅か1度の読取サイクルで完全
な 3−D内挿を実行することができる。
In a preferred embodiment of the invention, each texture memory bank is divided into at least three parallelly addressed memories, wherein the texel values are stored in an interleaved manner such that the values for a 2-D patch of texels are first and a second texture memory bank, the texel value storage means configured to read in parallel from each of the second texture memory banks, and the interpolation means configured to perform a single 3-D interpolation from a set of eight or more stored texel values. The interleaved interpolation is configured to combine with the 2-D interpolation within each patch to generate the values. Therefore, a complete 3-D interpolation can be performed with only one read cycle per pixel.

【0010】さらに本発明の他の好適例では、前記内挿
手段が、第1及び第2テクスチュアメモリバンクにそれ
ぞれ記憶してある 2−Dパッチ内の値同士での 2−
D内挿をするための第1及び第2の 2−D内挿器と、
これらの第1及び第2の 2−D内挿器によって発生さ
れた内挿値を組合わせて、アレイの2つの隣接レベル同
士の内挿を行う1−D内挿器とを具えるようにする。 
2−D内挿は簡単な双一次(バイリニヤ)内挿とするこ
とができ、 1−D内挿手段は全体として三線トリリニ
ヤ)内挿器とすることができる。
[0010] Furthermore, in another preferred embodiment of the invention, the interpolation means performs a 2-
first and second 2-D interpolators for performing D interpolation;
and a 1-D interpolator for interpolating between two adjacent levels of the array by combining the interpolated values generated by these first and second 2-D interpolators. do.
The 2-D interpolation may be a simple bilinear interpolation, and the 1-D interpolation means may be an overall three-wire trilinear interpolator.

【0011】本発明の他の好適的では、前記表示プロセ
ッサが帰還手段を具え、この帰還手段により、一方のテ
クスチュアメモリバンクに記憶されている 2−Dアレ
イから読取って、第1の 2−D内挿器によって内挿し
たテクセル値を他方のテクスチュアメモリバンクにおけ
る小形の対応するアレイに書込めるようにし、前記小形
のアレイが最初に述べたアレイと同じ変調パターンを表
わすも、低レベルの解像度を表わすようにする。このよ
うな帰還手段によって、単一の外部発生の 2−Dアレ
イからピラミッドアレイのテクセル値の全て又は一部を
表示プロセッサに発生させ、且つ記憶させることができ
る。従って高速 2−D内挿器は、各ピラミッドを発生
させるのに別個のハードウェア又はソフトウェアフィル
タを必要とせず、しかもテクスチュアピラミッドをリア
ルタイムで発生させることができるようにする第2の用
途に設けることができる。
[0011] In another advantageous aspect of the invention, the display processor comprises feedback means by which the first 2-D array is read from the 2-D array stored in one texture memory bank. The interpolator allows the interpolated texel values to be written to a smaller corresponding array in the other texture memory bank, said smaller array representing the same modulation pattern as the first mentioned array, but with a lower level of resolution. Let it be expressed. Such feedback means enable the display processor to generate and store all or part of the texel values of the pyramid array from a single externally generated 2-D array. Therefore, a fast 2-D interpolator can be provided for a second purpose without requiring separate hardware or software filters to generate each pyramid, yet allowing texture pyramids to be generated in real time. I can do it.

【0012】本発明のさらに他の好適例では、前記表示
装置が 2−D座標対の形態のピラミッドテクスチュア
座標及び関連するレベル座標を受取り、且つこれらの座
標から前記テクスチュアメモリに与える物理アドレスを
発生するための物理アドレス発生手段を具え、該物理ア
ドレス発生手段が、同じ 2−Dテクスチュア座標対に
対応するも、受取ったレベル座標からオフセットしてい
るレベル座標を有する他の物理アドレスを発生する手段
及び選択信号手段も具えており、該選択手段により前記
物理アドレス及び前記他の物理アドレスを第1及び第2
テクスチュアメモリバンクのそれぞれ別のバンクに供給
して、ピラミッドアレイの2つの隣接レベルから前記テ
クセル値の同時読出しを行なうようにする。さらに本発
明の他の好適例では、前記各物理アドレスが2つの物理
アドレス座標から成り、これらの各座標を前記受取った
テクスチュアの各座標から発生させるようにする。テク
スチュアマッピングハードウェアでは 2−Dアドレス
可能メモリを用いることは慣例のことである。特に、こ
れは前記ウイリアムスの文献に記載されているように、
記憶させるのに”multum in parvo” 
又は”MIPマップ” 法を使用して、ピラミッドテク
スチュアマップの蓄積をコンパクトとし、且つこれらマ
ップの検索を極めて有効に行うことができる。
In a further embodiment of the invention, the display device receives pyramid texture coordinates and associated level coordinates in the form of 2-D coordinate pairs and generates from these coordinates a physical address for providing to the texture memory. the physical address generating means for generating another physical address corresponding to the same 2-D texture coordinate pair but having level coordinates offset from the received level coordinates; and selection signal means, and the selection means selects the physical address and the other physical address from the first and second physical addresses.
A respective separate bank of texture memory banks is provided for simultaneous reading of the texel values from two adjacent levels of the pyramid array. In yet another embodiment of the invention, each physical address consists of two physical address coordinates, each of which is generated from a respective coordinate of the received texture. It is conventional in texture mapping hardware to use 2-D addressable memory. In particular, as described in the Williams reference,
“Multum in parvo” to memorize
Alternatively, the "MIP map" method can be used to make the storage of pyramid texture maps compact and to make retrieval of these maps very efficient.

【0013】さらに本発明の他の好適例では、前記各物
理アドレスを前記受取った 2−Dテクスチュア座標対
の双方の座標を組合わせることによって発生させるリニ
ヤアドレスで構成する。このようにすれば、メモリにお
ける任意の適当なスペースに各 2−Dアレイを自由に
記憶させて、 2−Dメモリで可能な程度よりもメモリ
の有効利用度を一層高めることができる。
In yet another preferred embodiment of the invention, each physical address is constituted by a linear address generated by combining the coordinates of both of the received 2-D texture coordinate pair. In this manner, each 2-D array is free to be stored in any suitable space in memory, providing greater memory utilization than is possible with 2-D memory.

【0014】以下図面につき本発明を説明するに、図1
は既知のタイプのテクスチュアマッピングハードウェア
を含む表示装置のブロック図である。キーボード10お
よびトラッカーボールタイプの入力装置12はユーザか
らの入力を中央処理ユニット(CPU)14 に供給す
る。トラッカーボールはシステムにより既知の方法で操
作すべき3次元物体を描くのに用いることができる。入
力装置12としてはジョイスティック、ディジタル化タ
ブレット又は「マウス」の如き他の装置を使用し得るこ
とは勿論である。斯種の装置は回転又はズーミング等に
よって創作される像を操作するのに用いることもできる
。一般に斯種の装置は慣例のキーボードだけよりもより
一層直感的に、しかも効果的に用いることができる。テ
クスチュアマッピングにより物体表面に付与すべき物体
像及び写真像もカメラ16の如きビデオ源から入力させ
ることもできる。
The present invention will be explained below with reference to the drawings.
1 is a block diagram of a display device including texture mapping hardware of a known type. A keyboard 10 and trackerball type input device 12 provide input from the user to a central processing unit (CPU) 14 . The trackerball can be used to draw three-dimensional objects to be manipulated by the system in a known manner. Of course, other devices such as a joystick, a digitizing tablet or a "mouse" can be used as the input device 12. Such devices can also be used to manipulate images created by rotation or zooming or the like. Generally, such devices are more intuitive and effective to use than a conventional keyboard alone. Object images and photographic images to be applied to the object surface by texture mapping can also be input from a video source such as camera 16.

【0015】CPU14 をバス18(例えばVME 
バス) を介してディスクストア20、ROM22 及
び主メモリ(MRAM)24に接続する。ディスクスト
ア20には磁気フロッピーディスク、ハードディスク及
び/又は光学メモリディスクを含めることができ、この
ようなディスク・ストアはデータ(例えば像又は3次元
モデルデータ)を記憶させ、次いでこのデータを呼び戻
して、所望される新規の像を生成すべく操作し得るよう
にするのに用いることができる。 斯種のデータには先の入力セッションからのユーザの作
業及び/又は例えば教育又は娯楽用の会話形コンピュー
タ援用設計のシミュレーション又はコンピュータシミュ
レーション用の商業的に生成したデータを含めることが
できる。3次元物体をモデル化し得るようにするために
、斯種のデータは2次元像の形態というよりもむしろ多
角形モデルデータとして記憶させるのが普通である。 この場合におけるデータは、例えば3次元「物体」空間
(例えば三角形又は四辺形の表面)における多角形表面
(基本要素)のグループに分解される物体を包含してい
る3次元モデルに対応する。このモデルにおける各物体
に対するデータは、その物体を作り上げる各多角形の位
置及びその特性を与えると共に各多角形の頂点の相対位
置及び多角形表面の色又は透過率を含むリストを具えて
いる。他のシステムでは、既知のように基本要素を彎曲
表面パッチとすることができる。「テクスチュア」を表
面にマッピングするために特定化して、場面(シーン)
を作り上げる基本要素の数を増やさないで細部を表わす
ことができることは既知である。テクスチュア・マップ
は下記に詳述する方法で例えば色を規定し得る2次元の
変調パターンを規定する記憶済みの2次元のテクスチュ
アエレメント(「テクセル」)アレイである。テクスチ
ュアは表面に垂直方向の反射率の如き他の量を既知の方
法で変調させることもできる。これらのテクスチュア・
マップはディスクストアに記憶させ、必要に応じて呼び
戻すこともできる。
The CPU 14 is connected to the bus 18 (for example, VME
It is connected to a disk store 20, ROM 22, and main memory (MRAM) 24 via a bus). Disk store 20 may include a magnetic floppy disk, a hard disk, and/or an optical memory disk for storing data (e.g., image or three-dimensional model data) and then recalling this data. It can be used to enable manipulation to produce desired new images. Such data may include user work from previous input sessions and/or commercially generated data for interactive computer-aided design simulations or computer simulations, for example for educational or entertainment purposes. In order to be able to model three-dimensional objects, such data is typically stored as polygonal model data rather than in the form of two-dimensional images. The data in this case corresponds, for example, to a three-dimensional model containing an object that is decomposed into groups of polygonal surfaces (basic elements) in a three-dimensional "object" space (eg triangular or quadrilateral surfaces). The data for each object in this model comprises a list giving the location and properties of each polygon that makes up the object, as well as the relative position of each polygon's vertices and the color or transmittance of the polygon's surface. In other systems, the primitives can be curved surface patches, as is known. Specify the “texture” to map it onto the surface and create a scene.
It is known that details can be expressed without increasing the number of primitives that make up the . A texture map is a stored two-dimensional array of texture elements ("texels") that defines a two-dimensional modulation pattern that may define, for example, color in the manner described in detail below. The texture may also modulate other quantities, such as reflectance normal to the surface, in known manner. These textures
Maps can also be stored in a disk store and recalled as needed.

【0016】表示装置のCPU14 及び他のコンポー
ネントは、ユーザがどんな視点を選んでも、並進、回転
及び斜視投影を実行する幾何学変換によって、一般には
頂点座標のマトリックス乗算によって物体空間における
3次元モデル「ワールド」をユーザ用の(「ビュア」空
間における)2次元ビューに変換する。CPU14 は
基本要素毎、又は頂点毎の基準に基づいてクリッピング
及び照明計算をすることもできる。
The display device's CPU 14 and other components construct a three-dimensional model in object space by geometric transformations that perform translations, rotations, and perspective projections, typically by matrix multiplication of vertex coordinates, no matter what viewpoint the user chooses. world” into a two-dimensional view (in “viewer” space) for the user. CPU 14 may also perform clipping and lighting calculations on a per-element or per-vertex basis.

【0017】ROM22 及びMRAM24はCPU1
4 に対するプログラムメモリ及び作業領域を成し、こ
れはモトローラ社のMC68020 の如きマイクロプ
ロセッサとすることができる。CPU14 の補助に特
殊な処理ハードウェア26を設けて、殆ど全ての最も簡
単なモデルを2次元の場面に変換するのに必要とされる
多数の算術演算を行わせることができる。ハードウェア
26は標準の算術回路で構成するか、又はもっと強力な
特注の又はプログラマブルのディジタル信号処理(DS
P) 集積回路とすることができ、これを例えばVME
 バスを介してCPU14 に接続する。ハードウェア
26の性質は、例えば場面当りの速度、解像度、基本要
素の数等に対する表示装置の諸要件に依存する。
[0017] ROM22 and MRAM24 are CPU1
4, which may be a microprocessor such as the Motorola MC68020. Specialized processing hardware 26 can be provided to assist CPU 14 in performing the numerous arithmetic operations required to transform almost any simplest model into a two-dimensional scene. Hardware 26 may consist of standard arithmetic circuitry or may include more powerful custom or programmable digital signal processing (DS).
P) can be an integrated circuit, e.g. VME
Connects to CPU 14 via bus. The nature of the hardware 26 depends on the requirements of the display device, such as speed, resolution, number of primitives, etc. per scene.

【0018】表示処理ユニット(DPU)28 をCP
U14 の出力(バス18) と表示メモリ(VRAM
)30の入力との間に接続する。表示メモリ30は画素
データCOL をラスタ・走査フォーマットで記憶する
。画素データCOL は例えば各画素に対し、所望され
る像の赤(R) 、緑(G) 及び青(B) 成分に対
応する8ビット値(全部で24ビット) を含んでいる
。 このビット数は増減させることができ、これらのビット
によって種々の色成分を規定し得ることは明らかである
The display processing unit (DPU) 28 is
Output of U14 (bus 18) and display memory (VRAM
)30 input. Display memory 30 stores pixel data COL in raster-scan format. The pixel data COL includes, for example, for each pixel an 8-bit value (24 bits in total) corresponding to the red (R), green (G) and blue (B) components of the desired image. It is clear that this number of bits can be increased or decreased and that different color components can be defined by these bits.

【0019】DPU28 では基本要素を「走査変換」
して、これらの要素を表示メモリ30に引き入れること
ができる。走査変換とは、各基本要素によってカバーさ
れる画素を行毎及び画素毎に同じ方法で書込んで、完全
な像が走査されてディスプレイに出力させるようにする
処理のことである。
[0019] In the DPU 28, the basic element is "scan conversion".
These elements can then be pulled into display memory 30. Scan conversion is a process in which the pixels covered by each primitive are written in the same way, row by row and pixel by pixel, so that the complete image is scanned and output to the display.

【0020】タイミングユニット(ビデオコントローラ
)32は表示スクリーン34のラスタ走査と同期させて
VRAM30内の画素データをアドレスするために読取
アドレス信号XD及びYDを発生する。これらのアドレ
ス信号に応答してVRAM30における記憶位置が行毎
及び列毎に走査されて色成分の値COLDが読取られて
ディジタル‐アナログ変換器(DAC)36 に供給さ
れる。非‐RGB 色コードを用いる場合には、マトリ
ックス回路又はカラールックアップテーブルを設けて、
これにより画素データCOLDを等価のRGB 信号に
変換して表示スクリーン34に供給することができ、こ
の表示スクリーンは例えば陰極線管(CRT) 表示ス
クリーンとすることができる。表示スクリーン34はタ
イミングユニット32からタイミング信号(SYNC)
を直接又は間接的にも受信する。
A timing unit (video controller) 32 generates read address signals XD and YD to address pixel data in VRAM 30 in synchronization with the raster scan of display screen 34. In response to these address signals, storage locations in VRAM 30 are scanned row by row and column by column and color component values COLD are read and provided to a digital-to-analog converter (DAC) 36. If non-RGB color codes are used, a matrix circuit or color look-up table is provided,
This allows the pixel data COLD to be converted into equivalent RGB signals and provided to a display screen 34, which may be, for example, a cathode ray tube (CRT) display screen. The display screen 34 receives a timing signal (SYNC) from the timing unit 32.
directly or indirectly.

【0021】基本要素を描いたり、又は「表現」するた
めに、CPU14 (又は特殊のハードウェア26) 
によってDPU28 内のレジスタにバス18を介して
(例えば頂点座標、縁部の勾配等に関する)単一構成要
素及びその種々の属性、つまり色、反射率等を規定する
値をロードさせる。 次いで、DPU28 は基本要素によってカバーされる
全領域を系統的に走査するように画素座標(X及びY)
を生成する。これらの画素座標X及びYを書込アドレス
としてVRAM30に供給して各画素毎の画素値COL
 をVRAM30に書込むことができるようにする。
To draw or "represent" the basic elements, the CPU 14 (or special hardware 26)
causes registers in the DPU 28 to be loaded via bus 18 with values defining a single component (eg, regarding vertex coordinates, edge slope, etc.) and its various attributes, ie, color, reflectance, etc. The DPU 28 then determines the pixel coordinates (X and Y) to systematically scan the entire area covered by the primitive.
generate. These pixel coordinates X and Y are supplied to the VRAM 30 as a write address to write the pixel value COL for each pixel.
can be written to the VRAM 30.

【0022】画素値COL は、基本要素の基本表面色
を変調して、物体表面の属性(例えば、色、透過率、拡
散反射率、分光反射率)及び3−D 環境の属性(例え
ば、光源の位置、色及び形状、遠隔迷光)が現実的に考
慮されるように発生させることができる。この変調は基
本データをロードさせたパラメータから算術的に生成し
て、例えば彎曲面をシミュレートさせるためになめらか
に変化するシェージングを発生させることができる。し
かし、もっと細かな変調を行うために、40にて示すよ
うなマッピングハードウェアを用いて、テクスチュアメ
モリ41内に予め記憶済みの予定したパターンに従って
変調値MOD を供給することは既知である。
The pixel value COL modulates the basic surface color of the basic element to adjust the properties of the object surface (eg, color, transmittance, diffuse reflectance, spectral reflectance) and the attributes of the 3-D environment (eg, the light source). position, color and shape, remote stray light) can be generated to be realistically taken into account. This modulation can be generated arithmetically from parameters loaded with basic data to produce smoothly varying shading, for example to simulate a curved surface. However, in order to achieve a more fine-grained modulation, it is known to use mapping hardware as shown at 40 to provide the modulation values MOD according to a predetermined pattern previously stored in the texture memory 41.

【0023】このためにDPU28 は画素(表示)座
標X及びYの各対と同時に一対のテクスチュア座標U及
びVを発生して、変調パターンを基本要素の表面上にマ
ップし、(i) テクスチュア空間から物体空間及び(
ii)物体空間からビュア(表示)空間への幾何学的変
換をする。図2はUとVにて示す水平及び垂直軸線によ
って規定されるテクスチュア空間と、傾斜軸線XとYに
よって規定されるスクリーン空間との間の関係を示して
いる。実際に記憶されるテクセル値はU及びVの整数値
に相当し、これらの値を黒丸の四角のアレイによって表
してある。スクリーン空間における画素の位置は斜めの
十字印(′X′)によって印してあり、これらの位置は
X軸に平行な走査線S1, S2及びS3等に沿ってい
る。
To this end, DPU 28 generates a pair of texture coordinates U and V simultaneously with each pair of pixel (display) coordinates X and Y to map the modulation pattern onto the surface of the elementary element, (i) texture space; from object space and (
ii) Make a geometric transformation from object space to viewer (display) space. FIG. 2 shows the relationship between the texture space defined by the horizontal and vertical axes designated U and V and the screen space defined by the tilt axes X and Y. The texel values actually stored correspond to integer values of U and V, and these values are represented by an array of filled squares. The positions of pixels in screen space are marked by diagonal crosses ('X'), and these positions lie along scan lines S1, S2, S3, etc. parallel to the X axis.

【0024】走査線S1, S2, S3等における連
続する画素値に対応するテクセル値をアドレスするのに
必要な座標U及びVを規定するために、CPU14 (
又は描画ハードウェア26) によって例えば予めDP
U28 に走査線S1上の第1画素に対応する座標対(
U0,V0) 及びテクスチュア空間におけるスクリー
ン空間の走査ラインS1等の勾配を規定する偏導関数(
dU/dV及びdV/dX )や、テクスチュア空間に
おける画素別の勾配を規定する偏導関数 dU/dY及
び dV/dYも与える。図示の例ではテクスチュア空
間からスクリーン空間への変換は線形である。もっと一
般的なケースでは、走査ラインS1等及び画素列が発散
したり、収斂したり、又は彎曲することもあり、この場
合に偏導関数は基本要素を横切って点毎に変化する。
In order to define the coordinates U and V necessary to address the texel values corresponding to successive pixel values in scan lines S1, S2, S3, etc., the CPU 14 (
or by drawing hardware 26), e.g.
U28 is the coordinate pair (
U0, V0) and the partial derivative (
dU/dV and dV/dX) and partial derivatives dU/dY and dV/dY that define the gradient for each pixel in texture space are also given. In the illustrated example, the transformation from texture space to screen space is linear. In the more general case, the scan line S1 etc. and the pixel column may diverge, converge, or curve, in which case the partial derivatives vary from point to point across the elementary element.

【0025】テクスチュア座標U及びVは下記に述べる
方法でマッピングハードウェア40内にて処理されてか
らテクスチュアメモリ41に供給されるため、アドレス
されている各画素位置X,Yに対する変調値MOD が
得られる。この変調値MOD は一般に色値を含んでお
り、これは原則として画素値COL を直接形成し、こ
の画素値COL は破線データパス42で示すように表
示メモリ(VRAM)30に直接供給することもできる
。しかし、もっと一般的には、変調値MOD が色値で
ある場合でも、これらはDPU28 内にて変更させて
、現実的な照明を行えるようにする必要がある。大抵の
場合には変調値MOD をDPU28 内にて他のパラ
メータと一緒に用いて画素値COL をあまり直接的に
変更させないようにする。例えば、所謂「バンプマッピ
ング」では変調値MOD によって基本要素の表面垂直
方向を変調して、次の照明計算に影響を及ぼして、画素
値COL を間接的に変えるようにする。「環境マッピ
ング」として知られている他の技法では例えばU及びV
も用いる環境の像を球座標として記憶させるためにTR
AMを用いて、(光源、窓、他の物体等を含む)複雑な
環境の分光反射をシミュレートさせることができる。マ
ッピングハードウェアのこのような用途及び他の様々な
用途については1986年9月に発行された“IEEE
 Computer Graphics and Ap
plications ”の第56〜67頁に発表され
たPaul S. Heckbertによる論文“Su
rvey of Texture Mapping ”
に概説されている。本発明がこのようなマッピングハー
ドウェアの全ての用途に適用し得ることは当業者に明ら
かである。
Since the texture coordinates U and V are processed in the mapping hardware 40 in the manner described below and then supplied to the texture memory 41, a modulation value MOD for each addressed pixel position X, Y is obtained. It will be done. This modulation value MOD generally contains a color value, which in principle directly forms the pixel value COL, which can also be supplied directly to the display memory (VRAM) 30, as indicated by the dashed data path 42. can. More generally, however, even if the modulation values MOD are color values, these need to be changed within the DPU 28 to provide realistic illumination. In most cases, the modulation value MOD is used in conjunction with other parameters within the DPU 28 to make it less direct to change the pixel value COL. For example, in so-called "bump mapping", the surface normal direction of the elementary element is modulated by the modulation value MOD to influence the subsequent illumination calculation and indirectly change the pixel value COL. Other techniques known as "environmental mapping" e.g.
TR is also used to store the image of the environment as spherical coordinates.
AM can be used to simulate the spectral reflection of complex environments (including light sources, windows, other objects, etc.). This and various other uses of mapping hardware are discussed in the ``IEEE
Computer Graphics and App
The paper by Paul S. Heckbert published on pages 56-67 of ``Su
rvey of Texture Mapping”
as outlined in. It will be clear to those skilled in the art that the invention is applicable to all applications of such mapping hardware.

【0026】テクスチュアメモリ41に表されるテクセ
ルは一般にディスプレイの画素と一対一に対応せず、特
に基本要素がはるか遠くに示され、従ってテクスチュア
が極めて少数の画素にマップされる際には、2次元空間
フィルタリングにより簡単なサブサンプリングが用いら
れる場合にビュアを乱すことになるエイリアシング効果
を無くす必要がある。
The texels represented in the texture memory 41 generally do not have a one-to-one correspondence with the pixels of the display, especially when the primitives are shown far away and the texture is therefore mapped to a very small number of pixels. Dimensional space filtering is needed to eliminate aliasing effects that would disturb the viewer when simple subsampling is used.

【0027】汎用フィルタはリアルタイム動画像を合成
する装置には経済的に適用することができないことも既
知であり、前記ウィリアムスの文献にはこのための慣用
の解決策として所定パターンに対する幾つかの2−D 
アレイ(以後「マップ」と称する)を記憶させ、これら
の各アレイを順次小さくし、且つ予めフィルタリングし
て解像度が順次低くなるようにする方法が記載されてい
る。 この場合DPU28 はレベル座標Lを発生して、使用
する適切なマップを決定する必要があるだけである。蓄
積容量をコンパクトにし、且つテクセル値に対するアク
セス速度を高めるためにマップはその面積が2の累積と
なるように選定して、前記ウィリアムスによる文献に記
載されている“multum in parvo ”(
“MIP マップ”)に従って方形テクスチュアメモリ
に記憶させることができる。
It is also known that general-purpose filters cannot be economically applied to devices for synthesizing real-time video images, and the aforementioned Williams document provides a conventional solution for this purpose by using several filters for a given pattern. -D
A method is described in which arrays (hereinafter referred to as "maps") are stored and each of these arrays is successively smaller and pre-filtered to progressively lower resolution. In this case, the DPU 28 only needs to generate the level coordinate L and determine the appropriate map to use. In order to compact the storage capacity and increase the speed of access to texel values, the map is selected so that its area is a cumulation of 2, so that it can be used as a "multum in parvo" (
can be stored in a rectangular texture memory according to a "MIP map").

【0028】図1のテクスチュアメモリ41内にはMI
P マップとして記憶させたテクスチュアピラミッドの
色成分R,G及びBを示してある。最大(最高解像度)
マップ(L=0)は、例えば512 ×512 個のテ
クセルで構成し、L=1マップは256 ×256 個
のテクセルで構成し、以下順次各マップが単一テクセル
となるL=9マップを構成することができる。例えば各
テクセル値がR,G及びBの各色成分に対して8ビット
から成るものとすると、テクスチュアメモリ41の全体
の大きさは1Mバイトとなる。
The texture memory 41 in FIG.
The color components R, G and B of the texture pyramid are shown stored as a P map. Maximum (highest resolution)
For example, a map (L = 0) is composed of 512 × 512 texels, an L = 1 map is composed of 256 × 256 texels, and then each map is a single texel, forming L = 9 maps. can do. For example, assuming that each texel value consists of 8 bits for each color component of R, G, and B, the total size of the texture memory 41 is 1 Mbyte.

【0029】テクセル値は描写に先立ってバス18及び
メモリ41の書込ポート43を介してメモリ41に記憶
させる。 読取るべき各テクセル値に対してDPU28 は2−D
 の座標対を発生し、これらの各座標(U及びV)は少
なくとも整数部の9ビット長を含んでいる。これと同時
にレベル座標LがDPU28 によって発生され、この
レベル座標は「仮想」座標U及びVから物理的な座標U
′及びV′を発生して、これらをテクスチュアメモリ4
1の読取アドレスポート44及び45にそれぞれ与える
ために用いられる。メモリ41は各物理座標対U′,V
′に応答して、アドレスされたテクセルのR,G及びB
成分を(24ビットの) 読取ポート46を経て出力す
る。
The texel values are stored in memory 41 via bus 18 and write port 43 of memory 41 prior to rendering. For each texel value to be read, the DPU 28
coordinate pairs, each of these coordinates (U and V) containing at least an integer part 9 bits long. At the same time, a level coordinate L is generated by the DPU 28, which level coordinate is changed from the "virtual" coordinates U and V to the physical coordinate U.
' and V' and store them in the texture memory 4.
1 read address ports 44 and 45, respectively. The memory 41 stores each physical coordinate pair U', V
' in response to R, G and B of the addressed texel
The components are output via a (24-bit) read port 46.

【0030】メモリ41におけるMIP マップが2次
元の2進トリー配置であるため、必要な物理座標U′及
びV′は一対の2進シフト回路47及び48によってそ
れぞれ簡単に発生させることができ、各シフト回路は各
座標をレベル座標Lによって規定される多数の位置に右
方向へとシフトさせる。特に、L=0が最高レベルを表
わす場合に、レベル0マップにおける所定のテクセルに
対応するアドレスは、U及びV座標をL個の位置に右へ
とシフトさせ、実際上各座標を2L だけスケールダウ
ンさせることによって見つけることのできるレベルLマ
ップにおける対応するテクセルの物理アドレスに変換す
ることができる。レベル座標Lは基本データの一部とし
てDPU28 に供給することができるが、マッピング
に透視画法を考慮すべき場合には、X,Yに対する偏導
関数に依存するレベル座標Lを各画素毎にDPU28 
内にて発生させる方が一層確実である。
Since the MIP map in the memory 41 is a two-dimensional binary tree arrangement, the necessary physical coordinates U' and V' can be easily generated by a pair of binary shift circuits 47 and 48, respectively. The shift circuit shifts each coordinate to the right to a number of positions defined by the level coordinate L. In particular, where L=0 represents the highest level, the address corresponding to a given texel in the level 0 map shifts the U and V coordinates to the right L positions, effectively scaling each coordinate by 2L. can be translated into the physical address of the corresponding texel in the level L map, which can be found by downgrading. The level coordinate L can be supplied to the DPU 28 as part of the basic data, but if perspective painting should be considered for mapping, the level coordinate L, which depends on the partial derivatives with respect to X and Y, can be supplied for each pixel. DPU28
It is more reliable to generate it internally.

【0031】エイリアシングを完全になくすためにテク
セル値間に3−D (例えばトリリニア、つまり三線の
)内挿を適用することは既知であり、この場合に座標L
,U′及びV′は小数部(Lf, Uf′及びVf′)
 並びに整数部(Li, Ui′, Vi′) を有す
ることができる。U′及びV′座標の非整数部は1レベ
ル内の4つの隣接テクセルの方形パッチ間の2−D (
例えば双一次)内挿をするのに用いることができ、又レ
ベル座標の非整数部LFはピラミッド状アレイの2つの
隣接レベルからの(2−D 内挿した) テクセル値間
の内挿に用いることができる。このために、レベルLi
i マップ及びレベルLi+1マップからそれぞれ4つ
のテクセル値(Ui′, Vi′)、( Ui′+1,
 Vi′) 、(Ui′, Vi′+1) 及び(Ui
′+1,Vi′+1) を読取る必要がある。これら8
個のテクセル値を直列に読出す場合には動作速度に不利
益を生ずること明らかである。幸いにも各レベルに対す
る4つのテクセル値は、テクスチュアメモリを後に詳述
するように2×2パッチアドレスを可能として8つの値
を僅かのメモリ読取サイクルで読取られるようにインタ
リーブした4つの並列メモリとして構成する場合に読取
ポート46を経て並列に読取ることができる。しかし、
双方の組の4つ(Li及びLi+1) のテクセル値を
並列に読取られるようにするのが望ましく、前記ウィリ
アムスによる文献ではハードワイヤードアドレス指定法
によって所定MIP マップの全てのレベルを並列にア
クセスし得る旨を示唆している。このことは理論的には
可能であるも、このウィリアムスによって提案されてい
る方法によると結線数がかなり多くなり過ぎ、市販用に
大量生産するのには経済的な解決策とは言えない。例え
ば、10レベルで、2×2パッチアドレス指定で、(最
低レベルは除く)、しかもテクセル毎の各R,G及びB
に対して8ビットとする場合に、供給される各座標対U
,Vに対してテクスチュアメモリ41の読取ポート46
から888 ビットのデータを出力させなければならな
い。
It is known to apply 3-D (for example trilinear) interpolation between texel values to completely eliminate aliasing, in which case the coordinate L
, U' and V' are decimal parts (Lf, Uf' and Vf')
and an integer part (Li, Ui', Vi'). The non-integer parts of the U' and V' coordinates are the 2-D (
The fractional part of the level coordinates LF can be used to interpolate between (2-D interpolated) texel values from two adjacent levels of the pyramidal array. be able to. For this, level Li
Four texel values (Ui', Vi'), (Ui'+1,
Vi′) , (Ui′, Vi′+1) and (Ui
'+1, Vi'+1). These 8
It is clear that there is a penalty in operating speed when reading out multiple texel values serially. Fortunately, the four texel values for each level are stored in texture memory as four parallel memories interleaved to allow 2x2 patch addressing and allow eight values to be read in a few memory read cycles, as detailed below. When configured, they can be read in parallel via read port 46. but,
It is desirable to be able to read the four (Li and Li+1) texel values of both sets in parallel, and the Williams reference allows all levels of a given MIP map to be accessed in parallel by hardwired addressing. It suggests that. Although this is theoretically possible, the method proposed by Williams requires far too many connections to be an economical solution for commercial mass production. For example, with 10 levels, 2x2 patch addressing (excluding the lowest level), and each R, G and B per texel.
8 bits for each supplied coordinate pair U
, V to read port 46 of texture memory 41
It is necessary to output 888 bits of data.

【0032】一般に、テクスチュアメモリ41には種々
のテクスチュアピラミッドを記憶させるのが望ましい。 例えば3つのテクスチュアピラミッドは図1のディスプ
レイ34のスクリーン上に示した立方体の面上にマップ
した形状′0′,′+′及び′X′を規定することにな
る。 このために、MIP マップの各レベルにおける方形ア
レイを分割して、各2−D パターンを規定する対応す
る2−D アレイのモザイクを記憶させることは既知で
ある。この場合、DPU28 によって発生される座標
対U,Vには2−D オフセットを併合させて、2−D
 アレイの正しい部分がアドレスされるようにする。し
かし、この既知の方法ではテクスチュアにおける或る空
間が必ず未使用のままとなり、実際上むだとなる。大抵
の場合、2−D 形状のモザイクから未使用空間をなく
すのは不可能である。例えばテクスチュア問題′0′,
′+′及び′X′を表わす3つの方形アレイを従来のハ
ードウェアのテクスチュアメモリ41における各レベル
の方形アレイに配列すると、利用し得るメモリの少なく
とも1/4 がむだとなる。一般的な2−D 「ジグゾ
ーパズル」に対する最適な解決策を見出すことも困難で
あり、アレイを方形、四角形、三角形のような種々の形
状をとり得るようにする場合にはリアルタイムで実施す
ることは全く不可能である。
Generally, it is desirable to store various texture pyramids in the texture memory 41. For example, three texture pyramids will define shapes '0', '+' and 'X' that map onto the faces of the cube shown on the screen of display 34 in FIG. To this end, it is known to divide the rectangular array at each level of the MIP map to store a mosaic of corresponding 2-D arrays defining each 2-D pattern. In this case, the coordinate pair U, V generated by the DPU 28 has a 2-D offset merged with it to create a 2-D
Make sure the correct part of the array is addressed. However, this known method always leaves some space in the texture unused, making it practically wasteful. In most cases, it is impossible to eliminate unused space from a 2-D shape mosaic. For example, texture problem '0',
Arranging the three rectangular arrays representing '+' and 'X' into rectangular arrays at each level in conventional hardware texture memory 41 wastes at least 1/4 of the available memory. Finding an optimal solution to a typical 2-D "jigsaw puzzle" is also difficult and must be done in real time when the array can take on various shapes such as squares, squares, and triangles. is completely impossible.

【0033】MIP マップ法による他の欠点は、基本
要素が遠く離れた所にしか見られない場面で、この際小
さめのマップ(L=5,L=6等)を1つ又は2つしか
実際に用いないとしても各テクスチュアピラミッドは全
レベルの空間を占める(上述した例では1Mバイト) 
と云うことにある。必要とされると思われるレベルだけ
をいずれかの時点にテクスチュアメモリに記憶させてお
き、自由空間を他のテクスチュアマップ用に使用できる
ようにすれば極めて有利である。例えば、ピラミッドの
最大マップ(L=0)が実際上像を描写する途中で決し
て読取られなくても、このマップは全テクスチュアメモ
リ容量の3/4 を占めることになる。
Another disadvantage of the MIP mapping method is that in situations where the basic elements are only visible at a distance, only one or two smaller maps (L=5, L=6, etc.) are actually used. Each texture pyramid occupies a full level of space (1MB in the example above) even if it is not used for
That's what I mean. It would be extremely advantageous to store only the levels that are likely to be needed at any given time in the texture memory, leaving free space available for other texture maps. For example, even though the largest map of the pyramid (L=0) is actually never read during the depiction of the image, this map will occupy 3/4 of the total texture memory capacity.

【0034】あいにく従来のハードウェアでは上述した
ような欠点をいずれも克服すべく融通性を持たせるのは
極めて困難である。
Unfortunately, it is extremely difficult to provide flexibility in conventional hardware to overcome any of the drawbacks mentioned above.

【0035】[0035]

【実施例】以下本発明を実施例につき説明するに、図3
は図1に40にて示したものの代わりに使用し得る本発
明による新規のマッピングハードウェアを示す。リニヤ
にアドレスされるテクスチュアメモリ41′を設けるた
め、むだな空間をなくす問題は容易に解決し得る。テク
スチュア管理(マネージメント)回路49はリニヤのテ
クスチュアメモリ41′内に種々のアレイのトラックを
留め、且つ回路49はピラミッド座標L,U及びVを線
形の物理テクセルアドレスに変換する作用をする。大形
マップ内にモザイクとして記憶してある種々のテクスチ
ュアを全て識別するのに2−D オフセットを用いる代
わりに、新方式のCPU14 は座標U及びVとは別の
テクスチュア識別値Tを基本データと一緒に供給する。 従って、テクスチュアピラミッドの一部を形成する2−
D マップはいずれもマップT,Liとして識別するこ
とができ、ここにLiはレベル座標Lの整数部である。 回路49は簡単な2−D MIP ・アドレス指定ハー
ドウェアよりも複雑であるが、メモリの利用度及び融通
性の点での改善は極めて大きい。
[Example] The present invention will be explained below with reference to an example.
1 illustrates new mapping hardware according to the present invention that may be used in place of that shown at 40 in FIG. By providing a linearly addressed texture memory 41', the problem of eliminating wasted space can be easily solved. Texture management circuit 49 keeps track of the various arrays in linear texture memory 41', and circuit 49 serves to convert pyramid coordinates L, U and V into linear physical texel addresses. Instead of using 2-D offsets to identify all the different textures stored as a mosaic in a large map, the new CPU 14 uses texture identification values T, separate from coordinates U and V, as basic data. supply together. Therefore, the 2-
Both D maps can be identified as maps T, Li, where Li is the integer part of the level coordinate L. Although circuit 49 is more complex than simple 2-D MIP addressing hardware, the improvements in memory utilization and flexibility are significant.

【0036】図3の DPU28′は関連のDPU28
 (図1)を多少変更したものであり、これは受信した
識別値をテクスチュア管理回路49に送る出力端子Tを
有している。この変更 DPU28′は後述するように
帰還路を作動させる論理信号FBを搬送する出力端子も
有している。
The DPU 28' in FIG. 3 is the related DPU 28.
(FIG. 1), which is slightly modified, has an output terminal T for sending the received identification value to the texture management circuit 49. The modified DPU 28' also has an output terminal that carries a logic signal FB that activates the return path as described below.

【0037】図3に示した新規のハードウェアには(高
速双一次内挿を可能とする)2×2パッチアドレス指定
だけでなく、新規の並列回路も組み込んで、前記ウィリ
アムスにより提案された解決策の極端な並列化を持たら
すまでもなく、8つのテクセル値をトリリニヤ内挿用に
同時に利用することができるようにする。この目的のた
めに、テクスチュアメモリ41′を2つのメモリバンク
TRAM1 とTRAM2 に分けて、所定のテクスチ
ュアピラミッドの2つの隣接レベルに対するアレイT/
Li及びT・Li+1が常に別のバンクTRAM1 及
びTRAM2 に記憶されるようにする。
The new hardware shown in FIG. 3 incorporates not only 2×2 patch addressing (allowing fast bilinear interpolation), but also new parallel circuitry to overcome the solution proposed by Williams, supra. This allows eight texel values to be used simultaneously for trilinear interpolation without requiring extreme parallelization of the strategy. For this purpose, the texture memory 41' is divided into two memory banks TRAM1 and TRAM2, with arrays T/A for two adjacent levels of a given texture pyramid.
Li and T.Li+1 are always stored in separate banks TRAM1 and TRAM2.

【0038】テクスチュア管理回路49は DPU28
′からの信号T,L,U及びVを受信する入力端子を有
している。テクスチュア管理回路49はページ位置兼論
理回路(PLLC)50を具えており、これはDPUに
よって供給されるテクスチュア識別出力T及びレベル座
標の少なくとも整数部Liを受信する。
The texture management circuit 49 is the DPU 28
' has input terminals for receiving signals T, L, U and V from '. The texture management circuit 49 comprises a page position and logic circuit (PLLC) 50 which receives the texture identification output T provided by the DPU and at least the integer part Li of the level coordinates.

【0039】PLLC50は各マップT・Liを規定す
る情報を記憶し、バンクTRAM1 又はTRAM2 
には(1) マップT・Li、(2) U方向のマップ
の幅W(T・Li)及び適当なバンクTRAM1 又は
TRAM2 にアレイをリニヤに記憶させる開始位置を
決める基準アドレスB(T・Li)を記憶させる。
The PLLC 50 stores information defining each map T and Li, and stores the information in the bank TRAM1 or TRAM2.
(1) Map T・Li, (2) Map width W (T・Li) in the U direction and reference address B (T・Li) that determines the starting position for linearly storing the array in the appropriate bank TRAM1 or TRAM2. ) to be memorized.

【0040】一般にPLLC50はマップT・Li及び
T・Li+1に対する記憶済みのデータを回路49の残
りの部分に供給し、これによりメモリバンクTRAM1
 及びTRAM2 にそれぞれ与えるリニヤアドレスA
1及びA2を発生させて、テクスチュアピラミッドTに
おけるレベルLi及びLi+1の座標対(U,V)に対
するテクセルデータをアドレスし得るようにする。これ
らのリニヤアドレスに対する一般式は次の通りである。 即ち2つのマップT・Li及びT・Li+1のどちらか
に応じてアドレスA=A(T・Li)又はA(T・Li
+1)をメモリバンクTRAM1 に記憶し、且つアド
レスA2=A(T・Li+1)又はA(T・Li)をメ
モリバンクTRAM2 に記憶する場合に、                     U    
                  VA(T・Li
)=──────+w (T・Li) ──────+
B(T・Li)                su
(T・Li)               sv(T
・Li) 及び                   U      
                  VA(T・Li
+1) =──────+w (T・Li+1) ──
────+B(T・Li+1)           
    su(T・Li+1)           
    sv(T・Li+1)  となる。上式におけるsu(T・Li) 及びsv(T
・Li) はピラミッドTのU及びV方向における最大
マップ(T・O)の寸法に対するマップT・Liの寸法
に関連する一般化したスケールファクタを表わす。
In general, PLLC 50 provides stored data for maps T.Li and T.Li+1 to the remainder of circuit 49, thereby providing memory bank TRAM1 with stored data for maps T.Li and T.Li+1.
and linear address A given to TRAM2 respectively.
1 and A2 to address the texel data for the coordinate pair (U, V) of levels Li and Li+1 in the texture pyramid T. The general formula for these linear addresses is: In other words, address A=A(T・Li) or A(T・Li
+1) in memory bank TRAM1 and address A2=A(T・Li+1) or A(T・Li) in memory bank TRAM2, U
VA(T.Li
)=──────+w (T・Li) ──────+
B(T・Li)su
(T・Li) sv(T
・Li) and U
VA(T.Li
+1) =──────+w (T・Li+1) ──
────+B (T・Li+1)
su(T・Li+1)
sv(T·Li+1). su(T・Li) and sv(T
·Li) represents the generalized scale factor related to the dimensions of the map T·Li with respect to the dimensions of the maximum map (T·O) in the U and V directions of the pyramid T.

【0041】従来方式におけるように、スケーリングフ
ァクタsu(T・Li) 及びsv(T・Li) を例
えばL及びTの全ての値に対してsu=sv=2Liに
よって規定される2の累乗に限定すれば、本発明による
アドレス指定ハードウェアは極めて単純化することがで
きる。さらに簡単なハードウェアは、MIP マップ方
式におけるように、マップの幅の値wを例えば幅インデ
ックスW(T・Li) と式w(T・Li) =2W(
T.Li) とによって規定される2つのテクセルの累
乗に限定することにより得ることができる。こうした2
通りの単純化を図3に示したテクスチュア管理回路49
に組み込む。これらの限定は方形マップだけでなく四角
形のマップについても云えるが、必要に応じて上述した
式よりももっと一般的な式によるハードウェアを構成す
ることができる。この一般式はさらに一般化して、U方
向の幅wをV方向のマップを横切って線形又は非線形的
に変えることによって例えば三角形又は台形のテクスチ
ュアのような他の形状を有効に記憶させることもできる
As in the conventional method, scaling factors su(T·Li) and sv(T·Li) are limited to powers of 2 defined by, for example, su=sv=2Li for all values of L and T. The addressing hardware according to the invention can then be extremely simplified. Even simpler hardware can be used, as in the MIP map method, to set the width value w of the map to, for example, the width index W(T·Li) and the formula w(T·Li) = 2W(
T. Li) can be obtained by limiting to the power of two texels defined by . These 2
The texture management circuit 49 shown in Figure 3 simplifies the process.
Incorporate into. These limitations apply not only to rectangular maps but also to rectangular maps, but if desired, hardware can be constructed using formulas more general than those described above. This general formula can be further generalized to store other shapes effectively, such as triangular or trapezoidal textures, by varying the width w in the U direction linearly or non-linearly across the map in the V direction. .

【0042】ハードウェアの単純化に伴う上述したよう
な限定を考慮して単純なハードウェアに移行させる新規
の式を導出することができる。これらの式は下記に示す
通りであり、ここで用いる記号“→”及び“←”は2進
右レフト(除算)及び左シフト(乗算)をそれぞれ示す
。従って、例えば式“(U→L1)i”はL1ビット位
置だけ右へシフトした後の値Uの整数部、換言するにU
÷2L1の商を示す。
Taking into account the above-mentioned limitations associated with hardware simplification, a new formula can be derived for migrating to simpler hardware. These formulas are as shown below, and the symbols “→” and “←” used here represent binary right left (division) and left shift (multiplication), respectively. Therefore, for example, the expression "(U→L1)i" is the integer part of the value U after shifting to the right by L1 bit positions, in other words, U
Indicates the quotient of ÷2L1.

【0043】       A1=(U→L1)i+((V→L1) 
i ←W1)+B1ここにL1=Li又はLi+1であ
り、w(T・L1) =2W1であり、又      
A2=(U→L2)i+((V→L2)i←W2)+B
2ここにL2=Li+1又はLiであり、w(T・L2
) =2W2であある。
A1=(U→L1)i+((V→L1)
i ←W1)+B1 where L1=Li or Li+1, w(T・L1) =2W1, and
A2=(U→L2)i+((V→L2)i←W2)+B
2Here, L2=Li+1 or Li, and w(T・L2
) =2W2.

【0044】A1及びA2に対するこれらの式を実行す
るハードウェアを示す図3に戻り説明すると、図3のP
LLC50はTRAM1 およびTRAM2 内でアド
レスすべきマップの幅及びベース位置を規定する値 W
1, B1, W2 及びB2をそれぞれ供給する出力
端子を有する。PLLC50は、テスクチュアメモリバ
ンクTRAM1 がマップT.Li を含むのかマップ
T・Li+1を含むのかに応じて値1又は0を取る2進
信号SWI 1 を発生するとともに、テスクチュアメ
モリ41′の他方のバンクTRAM2 に関し対応する
指示を与える相補信号外1
Returning to FIG. 3, which shows the hardware that executes these formulas for A1 and A2, P in FIG.
LLC50 is a value W that defines the width and base position of the map to be addressed in TRAM1 and TRAM2.
1, B1, W2 and B2, respectively. The PLLC50 has a texture memory bank TRAM1 mapped to T. It generates a binary signal SWI 1 which takes the value 1 or 0 depending on whether it contains the map T.

【外1】 を発生する。[Outside 1] occurs.

【0045】テスクチュアマネジメント回路49の残部
内には加算器51を設けて DOU28′により発生さ
れた値Liから値Li+1を発生させる。論理信号SW
I 1 に応答するマルチプレクサ52がLi又はLi
+1の何れかを選択してバンクTRAM1 内に記憶さ
れるマップに対するレベル座標L1を発生する。別のマ
ルチプレクサ53が相補論理信号SWI 2 に応答し
てLi及びLi+1の他方を選択してバンクTRAM2
 内に記憶されるマップに対するレベル座標L2を発生
する。レベル座標L1に応答する第1右シフタ54が 
DPU28′により発生された座標U,VのU座標を受
信し、第1スケールドU座標U1=U→L1を発生する
。同じレベル座標L1に応答する第2右シフタ55がV
座標を受信し、第1スケールドV座標V1=V→L1を
発生する。第3及び第4右シフタ56及び57もそれぞ
れU及びV座標を受信し、レベル座標L2に応答してテ
スクチュアメモリ41′の第2バンクTRAM2 内に
記憶されるマップに対する第2スケールドU及びV座標
、U2=U→L2及びV2=V→L2をそれぞれ発生す
る。
An adder 51 is provided within the remainder of the texture management circuit 49 to generate a value Li+1 from the value Li generated by DOU 28'. logic signal SW
The multiplexer 52 responsive to I 1 is Li or Li
+1 is selected to generate level coordinates L1 for the map stored in bank TRAM1. Another multiplexer 53 selects the other of Li and Li+1 in response to the complementary logic signal SWI 2 to select the other of the bank TRAM2.
generate level coordinates L2 for the map stored in the map. The first right shifter 54 responsive to the level coordinate L1 is
It receives the U coordinates of the coordinates U and V generated by the DPU 28' and generates a first scaled U coordinate U1=U→L1. The second right shifter 55 responding to the same level coordinate L1 is V
The coordinates are received and a first scaled V coordinate V1=V→L1 is generated. The third and fourth right shifters 56 and 57 also receive the U and V coordinates, respectively, and are responsive to the level coordinate L2 to provide a second scaled U and V coordinate for the map stored in the second bank TRAM2 of the texture memory 41'. V coordinates, U2=U→L2 and V2=V→L2 are generated, respectively.

【0046】スケールド座標U1, V1, U2及び
V2はそれらの整数部 U1i等とそれらの少数部U1
f 等とに分離する。 第1及び第2左シフタ58及び59がスケールドV座標
V1及びV2の整数部V1i 及びV2i をそれぞれ
受信し、それぞれ幅インデックスW1及びW2に応答し
て値2W1・V1i 及び2W2・V2i をそれぞれ
発生する。ここで2W1及び2W2はそれぞれバンクT
RAM1 及びTRAM2 内に記憶されるマップの幅
である。
Scaled coordinates U1, V1, U2 and V2 are their integer part U1i etc. and their decimal part U1
Separate into f etc. First and second left shifters 58 and 59 receive the integer parts V1i and V2i of the scaled V coordinates V1 and V2, respectively, and generate values 2W1·V1i and 2W2·V2i, respectively, in response to width indices W1 and W2, respectively. do. Here, 2W1 and 2W2 are respectively bank T
It is the width of the map stored in RAM1 and TRAM2.

【0047】加算器60が第1スケールドU座標U1の
整数部U1iを第1左シフタ58により発生された値2
W1・V1i に加算して第1リニアオフセットアドレ
スI1 を発生する。他の加算器61が第1オフセット
アドレスI1 をPLLC50により発生される第1マ
ップベースアドレスB1に加算して第1リニアテクセル
アドレスA1を発生してテクスチュアメモリ41′の第
1バンクに供給する。同様に、他の加算器62が値U2
i 及び2W2・V2i を加算して第2リニアオフセ
ットアドレスI2 を発生し、更に他の加算器63が第
2リニアオフセットアドレスI2 をPLLC50によ
り発生される第2マップベースアドレスB2に加算して
第2リニアテクセルアドレスA2を発生してテクスチュ
アメモリ41′の第2バンクTRAM2 に供給する。 一旦シフトされた値V1i(又はV2i)のビットは値
U1i(U2i)のビットとオーバラップしないため、
加算器60及び62は実際には簡単なORゲートで実現
することができる。
An adder 60 converts the integer part U1i of the first scaled U coordinate U1 to the value 2 generated by the first left shifter 58.
A first linear offset address I1 is generated by adding it to W1·V1i. Another adder 61 adds the first offset address I1 to the first map base address B1 generated by the PLLC 50 to generate a first linear texel address A1 for supply to the first bank of texture memory 41'. Similarly, the other adder 62 has the value U2
i and 2W2·V2i to generate a second linear offset address I2, and another adder 63 adds the second linear offset address I2 to the second map base address B2 generated by the PLLC 50 to generate the second linear offset address I2. A linear texel address A2 is generated and supplied to the second bank TRAM2 of the texture memory 41'. Since the bits of the value V1i (or V2i) once shifted do not overlap with the bits of the value U1i (U2i),
Adders 60 and 62 can actually be implemented with simple OR gates.

【0048】各テクスチュアメモリバンクTRAM1 
及びTRAM2 は図に示すように並列にアドレスし得
る4つの部分A,B,C及びDに区分する。所定のマッ
プを規定するテクセル値は適切なメモリバンク(TRA
M1又はTRAM2)の4つの部分A〜D間に、図2に
おいて各テクセル値に符号A,B,C又はDを付して示
すような所定のパターンに従って分配して2×2のテク
セルパッチの並列アドレッシングを行ない得るようにす
る。図示のパターンでは偶数番のテクセルライン(Vが
偶数)のテクセル値が部分A及びBに交互に記憶される
。奇数番ライン(Vが奇数)のテクセル値が部分C及び
Dに交互に記憶される。
Each texture memory bank TRAM1
and TRAM2 are divided into four parts A, B, C and D which can be addressed in parallel as shown in the figure. The texel values defining a given map are stored in the appropriate memory bank (TRA
A 2×2 texel patch is distributed between the four portions A to D of M1 or TRAM2) according to a predetermined pattern as shown in FIG. Enable parallel addressing. In the pattern shown, the texel values of even numbered texel lines (V is even) are stored alternately in portions A and B. The texel values of odd numbered lines (V is odd) are stored alternately in portions C and D.

【0049】このパッチアドレッシングを可能にするた
めに、特殊のアドレスポート64が加算器61からリニ
アテクセルアドレスA1を受信して4つのアドレスA1
A 〜A1D を発生し4つのメモリTRAM1A〜T
RAM1Dにそれぞれ供給し、これらアドレスに応答し
てパッチ(U, V)、(U+1, V), (U, 
V+1)及び(U+1,V+1)のテクセル値を4つの
対応する読出ポート 65A〜65D から得ることが
できる。
To enable this patch addressing, a special address port 64 receives the linear texel address A1 from the adder 61 and divides the four addresses A1
A to A1D are generated and four memories TRAM1A to T
In response to these addresses, patches (U, V), (U+1, V), (U,
V+1) and (U+1, V+1) texel values can be obtained from the four corresponding read ports 65A-65D.

【0050】正しい4つのアドレス A1A〜A1D 
の発生を可能にするために、アドレスポート64は第1
スケールド座標対U1, V1の整数部の最下位ビット
U1ilsb及びV1ilsb (これらビットはU1
及びV1が奇数か偶数かを規定する) を受信する。パ
ッチアドレッシングハードウェア64, 65A 〜6
5D の詳細な設計に関しては、ディジタルビデオ画像
を変換するのに用いられているものと同様にすることが
でき、その一例は「The Electronic s
ystem Design Magazine 」19
87年8月、pp.81〜85のジョエルエッチ. デ
リックの論文“Transforming Digit
al Images in Real Time”の図
2に示されている。この既知のハードウェアからの1つ
の相違点は図3に示すシステムではテクセルアレーのリ
ニア記憶装置を必要とする点にある。2−Dアドレッサ
ブルフレームストアメモリを用いるデリックの回路では
、単位値0001を縦座標(Y′)に加えて画像の次の
行(Y′+1)のテクセル値をアドレスする。しかし、
図3の回路では、アレーの幅W(T・Li) =2W1
をリニアアドレスA1に加えてリニアに記憶されたテク
スチュアマップの次の行V1+1のテクセル値を正しく
アドレスする。この目的のために、アドレスポート64
はバンクTRAM1 内に記憶されるマップに対しPL
LC50により発生される幅インデックスW1も受信す
る。
[0050] Four correct addresses A1A to A1D
Address port 64 is connected to the first
The least significant bits U1ilsb and V1ilsb of the integer part of the scaled coordinate pair U1, V1 (these bits are U1
and specify whether V1 is odd or even). Patch addressing hardware 64, 65A ~6
Regarding the detailed design of 5D, it can be similar to that used to convert digital video images, an example of which is
system Design Magazine” 19
August 1987, pp. 81-85 Joel H. Derrick’s paper “Transforming Digit
One difference from this known hardware is that the system shown in FIG. 3 requires a texel array of linear storage. 2-D In Derrick's circuit, which uses addressable frame store memory, the unit value 0001 is added to the ordinate (Y') to address the texel value of the next row (Y'+1) of the image. However,
In the circuit of Fig. 3, the array width W (T・Li) = 2W1
is added to the linear address A1 to correctly address the texel value of the next row V1+1 of the linearly stored texture map. For this purpose, address port 64
is the PL for the map stored in bank TRAM1.
A width index W1 generated by LC 50 is also received.

【0051】同様のパッチアドレスポート66をテクス
チュアメモリ41′の第2バンクTRAM2 に対し設
け、第2リニアアドレスA2、奇/偶インデックスU2
ilsb及びV2ilsb及び第2幅インデックスW2
を受信させる。ポート66はパッチアドレスA2A 〜
A2D を発生し、これらアドレスを4つの対応する読
出ポート67A 〜67D を有する第2テクスチュア
メモリバンクTRAM2 のそれぞれの部分A〜Dに供
給する。
A similar patch address port 66 is provided for the second bank TRAM2 of the texture memory 41', with a second linear address A2, odd/even index U2.
ilsb and V2 ilsb and second width index W2
receive. Port 66 is patch address A2A ~
A2D and supplies these addresses to respective portions A-D of the second texture memory bank TRAM2 having four corresponding read ports 67A-67D.

【0052】パッチアドレス A1A〜A1D 及び 
A2A〜A2D を発生させるのに好適な多くの構成が
考えられる。例えば、単一のリニアアドレスA1を発生
させ、これを伸張させてアドレス A1A〜A1D を
形成する代りに、パッチアドレッシング機能をリニアア
ドレス発生機能と併合して座標L1, U1及びV1か
らアドレス A1A〜A1D の各々を直接発生させる
ことができる。このような実施例ではいつかの素子を4
重にする必要があるが、他の素子をアドレス A1A〜
A1D の少なくとも2つの発生に寄与させることがで
きる。また、もっと多くの並列メモリ及びポートを用い
ることによりもっと大きなパッチをアドレスすることが
できる。
[0052] Patch addresses A1A to A1D and
Many configurations suitable for generating A2A-A2D are possible. For example, instead of generating a single linear address A1 and stretching it to form addresses A1A-A1D, patch addressing functionality may be merged with linear address generation functionality to generate addresses A1A-A1D from coordinates L1, U1, and V1. can be generated directly. In such an embodiment, some elements may be 4
It is necessary to overlap the other elements with addresses A1A~
At least two occurrences of A1D can be contributed to. Also, larger patches can be addressed by using more parallel memory and ports.

【0053】バンク TRAM1の読出ポート 65A
〜65D からの4つのテクセル値は第1バイリニア(
2−D) 内挿器BIL1の入力端子に供給され、この
内挿器は第1スケールド座標対U1, V1の少数部U
1f 及びV1f も受信する。バイリニア内挿器BI
L1は (整数部U1i 及びV1i から得られた)
 アドレス A1A〜A1D によりアドレスされたパ
ッチ内の4つのテクセル値を合成して第1バイリニア内
挿テクセル値MOD1を発生する。バンクTRAM2 
の読出ポート 67A〜67D からのテクセル値も同
様に第2バイリニア内挿器BIL2に供給され、この内
挿器は第2スケールド座標対U2, V2の少数部U2
f 及びV2f も受信し、第2バイリニア内挿テクセ
ル値MOD2を発生する。
Bank TRAM1 read port 65A
The four texel values from ~65D are the first bilinear (
2-D) is applied to the input terminal of an interpolator BIL1, which interpolator calculates the fractional part U of the first scaled coordinate pair U1, V1.
1f and V1f are also received. Bilinear interpolator BI
L1 is (obtained from the integer parts U1i and V1i)
The four texel values in the patch addressed by addresses A1A-A1D are combined to generate a first bilinear interpolated texel value MOD1. Bank TRAM2
The texel values from the read ports 67A to 67D are likewise fed to a second bilinear interpolator BIL2, which interpolates the fractional part U2 of the second scaled coordinate pair U2, V2.
f and V2f are also received and generate a second bilinear interpolated texel value MOD2.

【0054】2つのバイリニア内挿値MOD1及びMO
D2 (一方はマップT・Liから、他方はマップT・
Li+1から得られる)は次いでリニア内挿器LINT
に供給される。この内挿器LINTは値MOD1及びM
OD2を DPU28′から受信されるレベル座標Lの
少数部Lfにより決まる割合で合成してピラミッド座標
L,U及びVに対するトリリニア内挿変調値MOD を
発生する。既知の装置(図1)のように、値MOD は
画素カラー値COL の変調を直接 (破線パス42)
 又は DPU28′内の他の処理を介して間接的に実
行するのに用いることができる。
Two bilinear interpolated values MOD1 and MO
D2 (one from map T.Li, the other from map T.
(obtained from Li+1) is then linear interpolator LINT
supplied to This interpolator LINT has values MOD1 and M
OD2 are combined at a rate determined by the fractional part Lf of the level coordinate L received from the DPU 28' to generate trilinear interpolated modulation values MOD for the pyramid coordinates L, U, and V. As in the known device (Fig. 1), the value MOD directly modulates the pixel color value COL (dashed path 42).
or can be used to execute indirectly via other processing within the DPU 28'.

【0055】テクセル値 MODが色を規定する場合に
は、各テクセル値はR,G,Bのような3つのカラー成
分値を含むものとするのが好ましく、この場合には内挿
器 BIL1,BIL2及び LINT の各々は実際
上3個の内挿器を具えるものとするか、或は他の方法で
3成分内挿を実行し得るように構成する。
Texel Values If the MOD specifies a color, each texel value preferably contains three color component values, such as R, G, B, in which case the interpolators BIL1, BIL2 and Each LINT may actually include three interpolators or be otherwise configured to perform a three-component interpolation.

【0056】図3に示すハードウェアは第1及び第2帰
還路70及び72も具え、第1メモリバンクTRAM1
 からのバイリニア内挿値MOD1をテクスチュアメモ
リ41′の第2バンクTRAM2 の書込ポート71に
供給することができると共に、第2バンクTRAM2 
からの値MOD2を第1バンクTRAM1 の書込ポー
ト73に供給することができる。DPU28 ′により
供給される論理信号FBは帰還路を駆動すべきことを“
1”状態で指示する。AND ゲート74及び75は信
号FBを PLLC50 により発生される論理信号S
WI 1 及びSWI 2 と組み合わせて1対の論理
信号 FB1及びFB2 を発生する。マルチプレクサ
76及び78はそれぞれ信号 FB1=1及び FB2
=1に応答して、FB及び SW1=1のときまたはF
B及びSWI2=1のときに第1又は第2帰還路70又
は72を閉成させる。他の時間中は各マルチプレクサ7
6又は78は対応する書込みポート71又は73をバス
18を介して CPU14に接続する。帰還路70及び
72の目的についてはそのうち説明するが、しばらくの
間はこれら帰還路は不活性(FB=0)であるものとす
る。
The hardware shown in FIG. 3 also includes first and second return paths 70 and 72, and includes a first memory bank TRAM1.
can be supplied to the write port 71 of the second bank TRAM2 of the texture memory 41', and
can be applied to the write port 73 of the first bank TRAM1. A logic signal FB provided by the DPU 28' indicates that the feedback path should be driven.
1" state. AND gates 74 and 75 connect signal FB to logic signal S generated by PLLC50.
In combination with WI 1 and SWI 2 , a pair of logic signals FB1 and FB2 are generated. Multiplexers 76 and 78 output signals FB1=1 and FB2, respectively.
= 1, when FB and SW1 = 1 or F
When B and SWI2=1, the first or second return path 70 or 72 is closed. During other times each multiplexer 7
6 or 78 connects the corresponding write port 71 or 73 to the CPU 14 via the bus 18. The purpose of return paths 70 and 72 will be explained in due course, but for the time being it will be assumed that these return paths are inactive (FB=0).

【0057】図4はリニアメモリバンク TRAM1及
びTRAM2 内に記憶される3つの部分ピラミドテク
スチュアマップ(T=1, 2, 3)を図示してトリ
リニア内挿に必要な全テクセル値を並列にアクセスし得
ることを示すものである。各メモリバンクはそれぞれリ
ニア物理アドレススペースA1又はA2を構成する。マ
ップTのレベルTiに対するテクセル値の2−Dアレー
(マップ)は PT ・ Li で表わされるデータペ
ージとしてリニアに記憶される。テクスチュア1は4つ
のページ P1.0 , P1.1 , P1.2 及
びP1.3を有することができ、各ページはその前のペ
ージのリニアサイズの1/4 である。P1.0がバン
クTRAM1 に記憶されるとページP1.1がバンク
TRAM2 に、ページP1.2がバンクTRAM1 
に、以下同様に交互に記憶される。
FIG. 4 illustrates three partial pyramid texture maps (T=1, 2, 3) stored in linear memory banks TRAM1 and TRAM2 to access in parallel all texel values required for trilinear interpolation. It shows what you can get. Each memory bank constitutes a linear physical address space A1 or A2, respectively. The 2-D array (map) of texel values for levels Ti of map T is stored linearly as data pages denoted PT.Li. Texture 1 may have four pages P1.0, P1.1, P1.2 and P1.3, each page being 1/4 the linear size of the previous page. When P1.0 is stored in bank TRAM1, page P1.1 is stored in bank TRAM2, and page P1.2 is stored in bank TRAM1.
, and the following are stored alternately in the same way.

【0058】第2テクスチュア(T=2)は3つのペー
ジP2.1〜P2.3としてバンクTRAM1 及びT
RAM2 に交互に記憶され、各ページに対応するエン
トリは図5につき以下に述べるページテーブルメモリP
TAB内に存在する。最高レベルのページ P2.0 
も存在するが、図示の時間では必要ないためこのページ
はテクスチュアメモリ内に記憶されないので、一層大き
な自由スペースを必要に応じ他のマップを受信するのに
使用可能になる。実際上、図4 に示すメモリマップは
、種々のテクスチュアピラミットの種々のレベルを形成
する多くの種々のマップがロードされ、使用され、次い
で対応するテクスチュアが不要になったとき又はこのよ
うな高(又は低)解像度が不必要になったときに消去さ
れる時間を表わすことができる。テクスチュアメモリ4
1′のバンクTRAM1 及びTRAM2 のスペース
以上のテクセルデータが必要とされる場合でもスペース
が使用可能になるまで少なくとも低解像度マップをロー
ドし所要のサイズに内挿することができる。リニアテク
スチュアメモリのこの“優雅な退化”特性は、テクスチ
ュアピラミドが一般に全レベルでスペースを占有するか
全く占有しないかの何れかである既知の2−Dマップメ
モリに対し有利となる。
The second texture (T=2) has three pages P2.1 to P2.3 in banks TRAM1 and TRAM1.
The entries corresponding to each page are stored alternately in the RAM2, and the entries corresponding to each page are stored in the page table memory P described below with reference to FIG.
Exists in TAB. Highest level page P2.0
is present, but since it is not needed at the time shown, this page is not stored in the texture memory, making more free space available for receiving other maps if required. In practice, the memory map shown in FIG. (or low) resolution can represent the time at which it is erased when it is no longer needed. texture memory 4
Even if more texel data than the space in banks TRAM1 and TRAM2 of TRAM1' is required, at least a low resolution map can be loaded and interpolated to the required size until space becomes available. This "graceful degeneration" property of linear texture memories is an advantage over known 2-D map memories, where texture pyramids generally occupy either space at all levels or none at all.

【0059】第3テクスチュア(T=3)も3つのペー
ジで TRAM1及びTRAM2 に交互にロードされ
るが、ページP3.0は最初の2つのテクスチュアのL
i=0ページよりも小さい。これは第3テクスチュアは
低ディーテルで規定すればよいためである。このことも
慣例のMIP マップに比べてテクスチュアメモリ容量
の有効利用に寄与する。
The third texture (T=3) is also loaded alternately into TRAM1 and TRAM2 with three pages, but page P3.0 is the L of the first two textures.
i = smaller than 0 pages. This is because the third texture only needs to be defined with low detail. This also contributes to more efficient use of texture memory capacity compared to conventional MIP maps.

【0060】図5は図3のページ位置及び論理回路 P
LLC50 内に破線で示すページテーブルメモリPT
ABの内容を示し、この回路によりメモリ内の所定のア
レー T・Liを見つけ出すことができる。ページテー
ブル内には各テクスチュアの各ページPT・Liごとに
エントリがある。各エントリ内の第1アイテムはページ
がバンク TRAM1に記憶されるのかバンク TRA
M2に記憶されるのかに応じて値1又は0を取る単ビッ
ト値外2
FIG. 5 shows the page position and logic circuit of FIG.
Page table memory PT indicated by a broken line inside LLC50
The contents of AB are shown, and this circuit allows finding a given array T·Li in memory. In the page table, there is an entry for each page PT/Li of each texture. The first item in each entry is whether the page is stored in bank TRAM1 or not.
A single bit value outside 2 that takes the value 1 or 0 depending on whether it is stored in M2

【外2】 である。従って、このビット値は論理回路PLLCを駆
動して信号  SWI 1 及びSWI2 を発生させ
て図3につき述べたアドレスA1及びA2の発生を制御
させる。
[Outside 2]. This bit value therefore drives the logic circuit PLLC to generate the signals SWI 1 and SWI2 to control the generation of addresses A1 and A2 as described with respect to FIG.

【0061】テーブル内の各エントリの第2アイテムは
マップ T・Liの幅インデックスである。ページP1
.0はマップ2W =29 =512 テクセル幅を含
み、P1.1はマップ  28 =256 テクセル幅
を含み、P3.1は27 =128 テクセル幅を含み
以下同様である。各エントリの第3アテイムはこのペー
ジを構成するテクセル値が記憶され始めたメモリ(TR
AM1 又はTRAM2)内のベース位置Bを含む。
The second item of each entry in the table is the width index of the map T.Li. Page P1
.. 0 contains map 2W = 29 = 512 texels wide, P1.1 contains map 28 = 256 texels wide, P3.1 contains 27 = 128 texels width, and so on. The third attem of each entry is the memory (TR
AM1 or TRAM2).

【0062】図3に戻り説明すると、ページP1.0等
を形成するテクセル値のアレーは図に示すようにバス1
8及び書込ポート71及び73を介して CPU14に
よりメモリバンクTRAM1 及びTRAM2 に記憶
することができる。これは CPU14に対する“ハウ
スキーピング”のストレートホワード方式であって、(
i) テクセルデータの任意の新ページをテクスチュア
メモリの未使用部分に記憶すること、(ii)所定のピ
ラミッドの順次の各レベルを異なるバンクTRAM1 
又はTRAM2 に交互に記憶すること、(iii) 
PLLC50内のページテーブルPTABに同時に外3
Returning to FIG. 3, the array of texel values forming page P1.0 etc. is connected to bus 1 as shown in the figure.
8 and write ports 71 and 73 by the CPU 14 into the memory banks TRAM1 and TRAM2. This is a straight forward method of “housekeeping” for the CPU14, and (
i) storing any new page of texel data in an unused portion of the texture memory; (ii) storing each successive level of a given pyramid in a different bank TRAM1;
or alternately storing in TRAM2, (iii)
At the same time, the page table PTAB in PLLC50 has three external

【外3】 W及びBの適切な値をロードすることができる。新テク
スチュアに対し単一ブロック内に十分なスペースを使用
できない場合(例えばP2.0をロードする必要がある
場合) 、この場合には“ガーベッジ集収”動作を実行
して未使用部分をよせ集めて十分大きなスペースにする
ことができる。
[Example 3] Appropriate values for W and B can be loaded. If not enough space is available in a single block for a new texture (for example, if P2.0 needs to be loaded), in this case a "garbage collection" operation is performed to collect the unused parts. It can be made into a large enough space.

【0063】全ピラミッドテクスチュアアレーをデイス
クストア20又は主メモリ24内のデータベース内に記
憶することができ、必要に応じ種々の2−Dレベルアレ
ー(マップ)を適切なテクスチュアメモリ内のスペア位
置に転送することができる。しかし、帰還路70及び7
2を設けることによりバイリニア内挿器BIL1又はB
IL2を以下に述べるようにフィルタとして使用して、
バス18を経てロードされる単一の高解像度マップから
順次のレベルのマップを発生させることができる。これ
は、パッチアドレッシング及び内挿によって慣例の如く
CPU14 により実行されるソフトウェアルーチンよ
りも一層高速のフィルタリングを達成し得るために有利
である。
The entire pyramid texture array can be stored in a database in disk store 20 or main memory 24, and the various 2-D level arrays (maps) can be transferred to spare locations in the appropriate texture memory as needed. can do. However, return paths 70 and 7
2, the bilinear interpolator BIL1 or B
Using IL2 as a filter as described below,
Sequential levels of maps can be generated from a single high resolution map loaded via bus 18. This is advantageous because patch addressing and interpolation can achieve faster filtering than software routines conventionally executed by the CPU 14.

【0064】図6は存在するバイリニア内挿により発生
される値の帰還を用いて、テクスチュアメモリ41′の
1つのバンク内に予め記憶されているマップT・Liか
らフィルタリングされたマップT・Li+1を発生させ
るために実行される一連の動作を示すフローチャートで
ある。第1ステップ80において、CPU14 が P
LLC50 内のページテーブルTRAB内のエントリ
に適切な値外4
FIG. 6 shows that the filtered map T·Li+1 is generated from the map T·Li previously stored in one bank of the texture memory 41' using the value feedback generated by the existing bilinear interpolation. 12 is a flowchart showing a series of operations performed to generate the information. In the first step 80, the CPU 14 performs P
4 outside the appropriate value for an entry in page table TRAB in LLC50

【外4】 及び B(T・Li+1) をローディングすることに
よりページPT・Li+1のためのテクスチュアメモリ
スペースを割当てる。
Allocate texture memory space for page PT.Li+1 by loading B(T.Li+1) and B(T.Li+1).

【0065】次に、ステップ82において、DPU28
 ′が論理信号FB=1をセットして帰還路70又は7
2を活性化する。ステップ84において、DPU28 
′がフィルタリング処理中にリニア内挿器 LINT 
により発生された如何なる値MOD も無視させる。ス
テップ86において、DPU28 ′が多角形を描くた
めに選択されたUO ,VO 及び偏導関数の値でセッ
トアップされて所望のフィルタ値の発生を生ぜしめる。 図に戻り説明すると、フィルタマップT・Li+1の適
切なテクセル位置は丸で囲んだ十字で示した位置である
ものとする。これらテクセル位置に内挿する値を発生さ
せるためには出発値は(Uo, Vo)=(1/2, 
1/2)であり、偏導関数は     dU           dV      
     dU           dV   ──
──=2;────=0;────=0;────=2
    dX           dX      
     dY           dY   であ
る。
Next, in step 82, the DPU 28
' sets the logic signal FB=1 and the feedback path 70 or 7
Activate 2. In step 84, the DPU 28
' is a linear interpolator during filtering process LINT
Any value MOD generated by MOD will be ignored. In step 86, DPU 28' is set up with the values of UO, VO and partial derivatives selected to draw the polygon, resulting in the generation of the desired filter values. Returning to the figure, it is assumed that the appropriate texel position of the filter map T·Li+1 is the position indicated by a circled cross. To generate values to be interpolated at these texel positions, the starting values are (Uo, Vo) = (1/2,
1/2), and the partial derivative is dU dV
dU dV ──
──=2;────=0;────=0;────=2
dX dX
dY dY.

【0066】ステップ88において、DPU28 ′が
仮想の多角形を“描き”、ソースマッスT・Liがバン
ク TRAM1に記憶されるのかTRAM2 に記憶さ
れるのかに応じバイリニア内挿器BIL1又はBIL2
の出力端子に所望のフィルタ値MOD1又はMOD2を
自動的に発生する。同時に、論理信号FB=1 及びS
WI 1 =1又は SWI 2=1であるため、FB
1 =1又はFB2 =1であり、従ってマルチプレク
サ76及び78の一方を駆動して適切な帰還路70又は
72を閉成する。このとき内挿値がステップ80でマッ
プT・Li+1のために割当てられた他方のメモリバン
ク(TRAM2又はTRAM1)内の位置に自動的に書
き込まれる。
In step 88, the DPU 28'"draws" a virtual polygon and draws the bilinear interpolator BIL1 or BIL2 depending on whether the source mass T.Li is stored in bank TRAM1 or TRAM2.
A desired filter value MOD1 or MOD2 is automatically generated at the output terminal of the filter. At the same time, logic signals FB=1 and S
Since WI 1 = 1 or SWI 2 = 1, FB
1 =1 or FB2 =1, thus driving one of multiplexers 76 and 78 to close the appropriate return path 70 or 72. The interpolated value is then automatically written in step 80 to the location in the other memory bank (TRAM2 or TRAM1) allocated for map T.Li+1.

【0067】図6のプロセスは必要に応じくり返し(そ
の都度ステップ90で示すようにレベル座標Lをインク
リメントさせる)、帰還路70及び72を交互に使用し
て全ピラミッドアレーを表示プロセッサ内で単一の外部
発生高解像度アレーから発生させることができる。当業
者であれば異なるスケールファクタが可能であること、
及び非対称マップを考慮して非対称フィルタリングによ
り例えば方形マップから長方形マップを発生させること
ができることは理解されるであろう。特定の例として、
                      dU 
        dV         dU    
     dV  (Uo, Vo)=(0, 0) 
,  ───=1;───=0;───=0;───=
1                      dX
         dX         dY   
      dY を用いることによりテクスチュアメ
モリの一方のバンクから他方のバンクへのマップのテク
セルごとの転送が得られる。このような転送は前述した
“ガーベッジ集収”動作に有用である。
The process of FIG. 6 may be repeated as necessary (each time incrementing the level coordinate L as shown in step 90), using return paths 70 and 72 alternately to display the entire pyramid array in a single display processor. can be generated from an externally generated high resolution array. that different scale factors are possible for those skilled in the art;
It will be appreciated that a rectangular map can be generated from a rectangular map, for example, by asymmetric filtering and considering asymmetric maps. As a specific example,
dU
dV dU
dV (Uo, Vo) = (0, 0)
, ───=1;────=0;───=0;───=
1 dX
dX dY
By using dY, a texel-by-texel transfer of the map from one bank of texture memory to another is obtained. Such transfers are useful for the "garbage collection" operations described above.

【0068】マップフィルタリング及び/又は転送用の
テクスチュアマッピングバードウェアの使用はホストコ
ンピュータで実行するソフトウェアを用いる慣例の方法
より有利である。その理由は、表示プロセッサハードウ
ェアはテクスチュアアレーの高速アドレッシングに予め
適合化されており、2×2パッチアドレッシングハード
ウェア、R,G及びBを並列に受信する内挿ハードウェ
ア等を含んでいるためである。この利点は、この装置に
おける2−Dアレーのフィルタリング又は転送は単一の
同一サイズの多角形を描くのに要する時間とほぼ同一の
時間を要することを考えれば容易に理解される。これは
一般に性能の大きな低下を生ずることなくリアルタイム
で消費し得るオーバヘッドである。その理由は、代表的
なシステムは各イメージフレーム内に何百もしくは何千
もの多角形を予め描くことができるためである。帰還を
用いてハードウェアテクスチュアフィルタを実現するこ
とはマップ記憶装置のリニア性に依存せず、デュアルバ
ンクメモリの構造にも依存しない。図1に示すような慣
例の2−Dマップ装置でも及び2つのパッチのテクセル
への並列アクセスが与えられない場合でも、専用アドレ
ッシング兼内挿ハードウェアを用いてフィルタリングさ
れたマップを発生させることにより慣例のソフトウェア
アプローチより大きな速度向上が得られ、そのオーバヘ
ッドは依然として1つの多角形に等価になる。
The use of texture mapping hardware for map filtering and/or transfer has advantages over conventional methods using software running on a host computer. This is because the display processor hardware is pre-adapted for fast addressing of texture arrays and includes 2x2 patch addressing hardware, interpolation hardware that receives R, G and B in parallel, etc. It is. This advantage is easily understood when one considers that filtering or forwarding a 2-D array in this device takes approximately the same amount of time as it takes to draw a single polygon of the same size. This is overhead that can generally be consumed in real time without significant performance degradation. This is because typical systems can pre-draw hundreds or thousands of polygons within each image frame. Implementing a hardware texture filter using feedback does not depend on the linearity of the map storage, nor does it depend on the structure of the dual bank memory. By generating a filtered map using dedicated addressing and interpolation hardware, even with a conventional 2-D mapping device as shown in FIG. A large speedup is obtained over conventional software approaches, and the overhead is still equivalent to one polygon.

【0069】上述した実施例において用いたマップサイ
ズ等の数値限定は例えば PLLC50 の構成を簡単
にし、複雑な乗算器の代りにビットシフタ54〜59の
使用を可能にする。これらの数値限定はテクスチュアメ
モリ内の新ページのスペースの割当てを簡単にする。し
かし、設計をこのように限定する必要はないこと明らか
であり、多くの変更が可能であり、以下に列挙する。例
えば、幅インデックスWは、マップ幅が常に2N−Li
である(ここで2N が最大許容マップ) 場合には別
に記憶する必要はない。この場合には、テクスチュアT
=3の最高レベルが僅か256 テクセルである図4及
び図5の例においては、ページP3.0をP3.1に改
名すれば幅インデックスを除去することができる。その
理由は、この場合にはLi=0を有する大きなマップが
存在するか否かと無関係にLi =1を有する全てのマ
ップがW=8(幅=256)を有する。非対称フィルタ
リングされたマップを提供するためには、先に2N−L
Vi 行により記憶された2N−Lui テクセルのマ
ップを識別する2つのレベル値Lu及びLvを供給する
ことができる。これらの変更を実行するのに必要とされ
るテクスチュアマネジメント回路の構造の変更は当業者
であれば容易に明らかである。
The numerical limitations such as the map size used in the embodiments described above, for example, simplify the configuration of the PLLC 50 and allow the use of bit shifters 54-59 in place of complex multipliers. These numerical limits simplify the allocation of space for new pages in texture memory. However, it is clear that there is no need to limit the design in this way; many variations are possible and are listed below. For example, the width index W is such that the map width is always 2N-Li
(where 2N is the maximum allowable map), there is no need to store it separately. In this case, texture T
In the example of FIGS. 4 and 5 where the highest level of =3 is only 256 texels, the width index can be removed by renaming page P3.0 to P3.1. The reason is that in this case all maps with Li=1 have W=8 (width=256), regardless of whether there are large maps with Li=0 or not. To provide an asymmetrically filtered map, first 2N-L
Two level values Lu and Lv can be provided that identify the map of 2N-Lui texels stored by the Vi rows. The changes in the structure of the texture management circuitry required to implement these changes will be readily apparent to those skilled in the art.

【0070】当業者であれば更にデュアルバンクテクス
チュアメモリを用いてレベル間内挿のための並列アクセ
スを可能にする原理は上述したリニアテクスチュアメモ
リ構成にのみ適用し得るものでないこと明らかである。 図7は2つの2次元テクスチュアメモリバンク170 
及び172 内に2つのピラミッドテクスチュアアレー
(R1/G1/B1及びR2/G2/B2) を記憶す
る1つの可能な例を示す。割当ては図2の慣例の MI
Pマップ装置と同様であるが、任意の1つのテクスチュ
アの隣接レベクから並列読出しができる。更に当業者で
あれば図1のマッピングハードウェア40をこのような
デュアルテクスチュアメモリの利点を取り入れるように
変更してレベル間内挿に必要な2レベルマップの並列ア
ドレッシングを達成し得るようにすることは容易である
。帰還路70及び72(図3)のような帰還路を設ける
ことにより単一の高解像度からピラミッドマップを発生
するハードウェアを得ることもできる。
It will also be clear to those skilled in the art that the principles of using dual bank texture memories to enable parallel access for interlevel interpolation are not only applicable to the linear texture memory configurations described above. FIG. 7 shows two two-dimensional texture memory banks 170.
and 172 shows one possible example of storing two pyramid texture arrays (R1/G1/B1 and R2/G2/B2). The assignment is the conventional MI in Figure 2.
It is similar to the P map device, but allows parallel reading from adjacent levels of any one texture. Additionally, those skilled in the art will be able to modify the mapping hardware 40 of FIG. 1 to take advantage of such dual-texture memory to achieve the parallel addressing of two-level maps required for inter-level interpolation. is easy. It is also possible to obtain hardware that generates pyramid maps from a single high resolution by providing return paths such as return paths 70 and 72 (FIG. 3).

【0071】当業者であれば以上の説明を読めば更に他
の変更が可能であり、本発明はこれらの変更も含むもの
であること勿論である。
Those skilled in the art will be able to make other modifications after reading the above description, and it goes without saying that the present invention includes these modifications.

【図面の簡単な説明】[Brief explanation of the drawing]

【図1】既知のタイプのテスクチュアマッピングハード
ウェアを含む表示装置のブロック図である。
FIG. 1 is a block diagram of a display device including texture mapping hardware of a known type.

【図2】テクスチュアメモリ内に記憶されるテクセル値
の2−Dアレーを示す図である。
FIG. 2 shows a 2-D array of texel values stored in texture memory.

【図3】本発明を具現する新規なテクスチュアマッピン
グハードウェアのブロック図である。
FIG. 3 is a block diagram of novel texture mapping hardware embodying the invention.

【図4】図3のハードウェア内の2つのリニアテクスチ
ュアメモリへの3つのピラミッドテクスチュアマップの
記憶態様を示す図である。
FIG. 4 is a diagram showing how three pyramid texture maps are stored in two linear texture memories in the hardware of FIG. 3;

【図5】図3のハードウェア内のページテーブルメモリ
の内容を示す図である。
FIG. 5 is a diagram showing the contents of a page table memory in the hardware of FIG. 3;

【図6】図3〜5のハードウェアにおいて本発明に従っ
て帰還路を用いてフィルタリングされた2−Dアレーを
発生させるプロセスを示すフローチャートである。
FIG. 6 is a flowchart illustrating a process for generating a filtered 2-D array using a feedback path in accordance with the present invention in the hardware of FIGS. 3-5.

【図7】既知のハードウェアのものと類似の2個の二次
元テクスチュアメモリ内の2個のピラミッドテクスチュ
アマップの記憶態様を示す図である。
FIG. 7 shows the storage of two pyramid texture maps in two two-dimensional texture memories similar to those of known hardware;

【符号の説明】[Explanation of symbols]

10  キーボード 12  入力装置 14  中央処理ユニット 16  ビデオカメラ 18  バス 20  ディスクストア 22  ROM  24  主メモリ(MRAM) 26  特殊処理ハーバトウェア 28, 28′  表示処理ユニット 30  表示メモリ 32  タイミングユニット(ビデオコントローラ)3
4  表示スクリーン 36  ディジタル−アナログ変換器 40  マッピングハードウェア 41, 41′  テクスチュアメモリTRAM1, 
TRAM2  メモリバンク43  書込ポート 44, 45  読取アドレスポート 46  読取ポート 47, 48  2進シフト回路 49  テクスチュア管理回路 50  ページ位置兼論理回路 51, 60, 61, 62, 63  加算器52
, 53  マルチプレクサ 54, 55, 56, 57, 58, 59  シ
フタ64, 66  アドレスポート 65A−65D,67A−67D  読出ポートBIL
1, BIL2  バイリニア内挿器LINT  リニ
ア内挿器 70, 72  帰還路 74, 75  AND ゲート 76, 78  マルチプレクサ
10 Keyboard 12 Input device 14 Central processing unit 16 Video camera 18 Bus 20 Disk store 22 ROM 24 Main memory (MRAM) 26 Special processing hardware 28, 28' Display processing unit 30 Display memory 32 Timing unit (video controller) 3
4 Display screen 36 Digital-to-analog converter 40 Mapping hardware 41, 41' Texture memory TRAM1,
TRAM2 Memory bank 43 Write ports 44, 45 Read address port 46 Read ports 47, 48 Binary shift circuit 49 Texture management circuit 50 Page position/logic circuit 51, 60, 61, 62, 63 Adder 52
, 53 Multiplexer 54, 55, 56, 57, 58, 59 Shifter 64, 66 Address port 65A-65D, 67A-67D Read port BIL
1, BIL2 Bilinear interpolator LINT Linear interpolator 70, 72 Feedback path 74, 75 AND Gate 76, 78 Multiplexer

Claims (7)

【特許請求の範囲】[Claims] 【請求項1】  関連する表示メモリと、レベル座標の
各値によって識別し得る少なくとも2つの別個の解像度
レベルにおける2次元(2−D) 変調パターンを表わ
すテクスチュア要素(「テクセル」)の値についての少
なくとも1つのピラミッド又は部分的にピラミッド状を
しているアレイを記憶させるためのテクスチュアメモリ
とを有している表示プロセッサを具え、さらに、内挿テ
クセル値を発生するように記憶済みのピラミッドアレイ
の2レベルからの対応するテクセル値を一緒に組合わせ
るために、受信したレベル座標の小数部に応答するイン
タリーブ内挿手段も具えている表示装置において、前記
テクスチュアメモリが別個の第1及び第2の並列にアド
レスし得るテクスチュアメモリバンクを具え、且つ前記
表示装置が、第1及び第2テクスチュアメモリバンクの
各々に前記記憶済みのピラミッドアレイの順次のレベル
を形成するテクセル値の2−D アレイを交互に記憶さ
せるテクセル値記憶手段も具えていることを特徴とする
表示装置。
1. An associated display memory for the values of texture elements ("texels") representing two-dimensional (2-D) modulation patterns at at least two distinct resolution levels distinguishable by each value of the level coordinates. a display processor having a texture memory for storing at least one pyramid or partially pyramidal array; and a display processor having a texture memory for storing at least one pyramid or partially pyramidal array; In a display device also comprising interleaving interpolation means responsive to the fractional part of the received level coordinates for combining together corresponding texel values from two levels, said texture memory comprises separate first and second texture memory banks addressable in parallel, and the display device alternates 2-D arrays of texel values forming successive levels of the stored pyramid array in each of the first and second texture memory banks. A display device characterized in that it also comprises means for storing texel values.
【請求項2】  前記各テクスチュアメモリバンクを少
なくとも3つの並列にアドレスされるメモリに分割し、
前記テクセル値がインタリーブ法で記憶されて、テクセ
ルの 2−Dパッチに対する値を第1及び第2テクスチ
ュアメモリバンクの各々から並列に読取れるように前記
テクセル値記憶手段を構成し、前記内挿手段を、1組の
8個以上の記憶済みテクセル値から単一の 3−D内挿
値を発生させるために各パッチ内でインタリーブ内挿を
 2−D内挿と組合わせるように構成したことを特徴と
する請求項1の表示装置。
2. dividing each texture memory bank into at least three parallelly addressed memories;
the texel value storage means are configured such that the texel values are stored in an interleaved manner such that values for a 2-D patch of texels can be read in parallel from each of the first and second texture memory banks; is configured to combine interleaved interpolation with 2-D interpolation within each patch to generate a single 3-D interpolated value from a set of eight or more stored texel values. The display device according to claim 1, characterized in that:
【請求項3】  前記内挿手段が、第1及び第2テクス
チュアメモリバンクにそれぞれ記憶してある 2−Dパ
ッチ内の値同士での 2−D内挿をするための第1及び
第2の 2−D内挿器と、これらの第1及び第2の 2
−D内挿器によって発生された内挿値を組合わせて、ア
レイの2つの隣接レベル同士の内挿を行う 1−D内挿
器とを具えていることを特徴とする請求項2の表示装置
3. The interpolation means includes first and second texture memory banks for performing 2-D interpolation between values in 2-D patches stored in first and second texture memory banks, respectively. 2-D interpolator and these first and second 2
- a 1-D interpolator for interpolating between two adjacent levels of the array by combining the interpolated values generated by the D interpolators. Device.
【請求項4】  前記表示プロセッサが帰還手段を具え
、この帰還手段により、一方のテクスチュアメモリバン
クに記憶されている 2−Dアレイから読取って、第1
の 2−D内挿器によって内挿したテクセル値を他方の
テクスチュアメモリバンクにおける小形の対応するアレ
イに書込めるようにし、前記小形のアレイが最初に述べ
たアレイと同じ変調パターンを表わすも、低レベルの解
像度を表わすようにしたことを特徴とする請求項3の表
示装置。
4. The display processor comprises feedback means for reading from a 2-D array stored in one of the texture memory banks;
allows the texel values interpolated by the 2-D interpolator of the 2-D interpolator to be written to a smaller corresponding array in the other texture memory bank, said smaller array representing the same modulation pattern as the first mentioned array but with a lower 4. The display device according to claim 3, wherein the display device displays level resolution.
【請求項5】  前記表示装置が 2−D座標対の形態
のピラミッドテクスチュア座標及び関連するレベル座標
を受取り、且つこれらの座標から前記テクスチュアメモ
リに与える物理アドレスを発生するための物理アドレス
発生手段を具え、該物理アドレス発生手段が、同じ 2
−Dテクスチュア座標対に対応するも、受取ったレベル
座標からオフセットしているレベル座標を有する他の物
理アドレスを発生する手段及び選択信号手段も具えてお
り、該選択手段により前記物理アドレス及び前記他の物
理アドレスを第1及び第2テクスチュアメモリバンクの
それぞれ別のバンクに供給して、ピラミッドアレイの2
つの隣接レベルから前記テクセル値の同時読出しを行な
うようにしこことを特徴とする請求項1〜4のいずれか
の表示装置。
5. Physical address generation means for the display device to receive pyramid texture coordinates and associated level coordinates in the form of 2-D coordinate pairs, and to generate from these coordinates a physical address for providing to the texture memory. and the physical address generation means are the same. 2
- D texture coordinate pairs, but also comprising means for generating another physical address having level coordinates offset from the received level coordinates and selection signal means, the selecting means causing said physical address and said other physical address to be selected. of the pyramid array by providing physical addresses of
5. A display device according to claim 1, wherein said texel values are simultaneously read out from two adjacent levels.
【請求項6】  前記各物理アドレスが2つの物理アド
レス座標から成り、これらの各座標を前記受取ったテク
スチュアの各座標から発生させるようにしたことを特徴
とする請求項5の表示装置。
6. The display device of claim 5, wherein each physical address comprises two physical address coordinates, each of which is generated from each coordinate of the received texture.
【請求項7】  前記各物理アドレスを前記受取った 
2−Dテクスチュア座標対の双方の座標を組合わせるこ
とによって発生させるリニヤアドレスで構成することを
特徴とする請求項5の表示装置。
[Claim 7] Each of the physical addresses is
6. The display device according to claim 5, wherein the display device comprises a linear address generated by combining both coordinates of a 2-D texture coordinate pair.
JP3044559A 1990-01-15 1991-01-16 Display apparatus Pending JPH04215191A (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
NL9000842.6 1990-01-15
NL9000842 1990-01-15

Publications (1)

Publication Number Publication Date
JPH04215191A true JPH04215191A (en) 1992-08-05

Family

ID=19856899

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3044559A Pending JPH04215191A (en) 1990-01-15 1991-01-16 Display apparatus

Country Status (1)

Country Link
JP (1) JPH04215191A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09231383A (en) * 1996-02-08 1997-09-05 Ind Technol Res Inst Constitution of mip map/lip map texture linear addressing memory and address generator
JP2002074388A (en) * 2000-08-23 2002-03-15 Nintendo Co Ltd Method and device for bump mapping photographed with environment in graphics system

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09231383A (en) * 1996-02-08 1997-09-05 Ind Technol Res Inst Constitution of mip map/lip map texture linear addressing memory and address generator
JP2002074388A (en) * 2000-08-23 2002-03-15 Nintendo Co Ltd Method and device for bump mapping photographed with environment in graphics system
JP4658378B2 (en) * 2000-08-23 2011-03-23 任天堂株式会社 Method and apparatus for bump mapping that mirrors the environment in a graphics system

Similar Documents

Publication Publication Date Title
JP3007701B2 (en) Display device and operation method thereof
JP3278693B2 (en) Display device and operation method thereof
US5553208A (en) Image synthesizing system having a field buffer unit that stores texture coordinates
EP1110182B1 (en) Trilinear texture filtering with optimized memory access
US6747663B2 (en) Interpolating sample values from known triangle vertex values
US6778177B1 (en) Method for rasterizing a graphics basic component
EP0447227B1 (en) Method for Generating Addresses to Textured Graphics Primitives Stored in RIP Maps
US5963220A (en) Mip map/rip map texture linear addressing memory organization and address generator
US5850224A (en) Three dimensional parallel drawing apparatus for synthesizing graphics data with image data using a pixel depth buffer and an image depth register
EP0438194A2 (en) Display apparatus
US5982384A (en) System and method for triangle rasterization with frame buffers interleaved in two dimensions
US5877770A (en) Texture pattern memory circuit for providing plural texel data in response to a single access operation
US5745739A (en) Virtual coordinate to linear physical memory address converter for computer graphics system
US6154216A (en) Method and apparatus for decompression of a two dimensional video texture map
US6914609B2 (en) Multiple scan line sample filtering
US6778188B2 (en) Reconfigurable hardware filter for texture mapping and image processing
GB2417384A (en) Apparatus for scaling up a low resolution image
JPH04215191A (en) Display apparatus
US8115780B2 (en) Image generator
GB2339358A (en) Image mixing apparatus
US20040174368A1 (en) Parallel box filtering through reuse of existing circular filter
JPH06309471A (en) Device for plotting three-dimensional graphics
JPH11272548A (en) Storage circuit control device and graphic operation device
JPH09282868A (en) Random access memory
JPS615287A (en) Graphic image generator