JP2000090280A - 空間タイル化アルゴリズム/メカニズムに対する線形サ―フェスメモリ - Google Patents

空間タイル化アルゴリズム/メカニズムに対する線形サ―フェスメモリ

Info

Publication number
JP2000090280A
JP2000090280A JP13046799A JP13046799A JP2000090280A JP 2000090280 A JP2000090280 A JP 2000090280A JP 13046799 A JP13046799 A JP 13046799A JP 13046799 A JP13046799 A JP 13046799A JP 2000090280 A JP2000090280 A JP 2000090280A
Authority
JP
Japan
Prior art keywords
data
pixels
pixel
memory
tile
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
JP13046799A
Other languages
English (en)
Inventor
Scott Hartog
ハートグ スコット
Michael Mantor
マンター マイケル
Austin Carry John
オースチン キャリー ジョン
Thomas A Piazza
エー.ピアッツァ トーマス
Ralph Clayton Taylor
クレイトン テイラー ラルフ
Matthew Radecki
レイデッキ マシュー
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.)
Individual
Original Assignee
Individual
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 Individual filed Critical Individual
Publication of JP2000090280A publication Critical patent/JP2000090280A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/60Memory management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0207Addressing or allocation; Relocation with multidimensional access, e.g. row/column, matrix
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1006Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0215Addressing or allocation; Relocation with look ahead addressing means
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/18Address generation devices; Devices for accessing memories, e.g. details of addressing circuits
    • G11C2029/1806Address conversion or mapping, i.e. logical to physical address

Landscapes

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

Abstract

(57)【要約】 (修正有) 【課題】コンピュータグラフィックスシステムおよびコ
ンピュータグラフィックスシステムのメモリユニット内
にデータを書込む方法の提供。 【解決手段】データがイメージ演算のためにメモリから
アクセスされる場合、メモリが画素値を記憶する際、メ
モリの各ページは画素の四辺形またはタイルアレイ用の
画素値で構成して、メモリページブレークの数を減少す
るように構成する。これで、イメージを描写する際、ラ
スタ化されるものの空間的コヒーレンスを増加させる。
これには、翻訳アルゴリズムによって、標準のオペレー
ティングシステムおよびソフトウェア・アプリケーショ
ンをメモリ内の画素値のタイル化構成と共に作動させ
て、第一スカラメモリアドレスを、第二スカラメモリア
ドレスであって、第一スカラメモリアドレスに関連する
画素のための値に適切にアクセスするように翻訳する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は広くコンピュータグラフ
ィックスのシステムに関し、より詳細にはコンピュータ
グラフィックスシステムにおける記憶デバイス内へデー
タを格納し、またそれからデータを入手する方法および
装置に関する。
【0002】
【従来の技術】数多くの現代のコンピュータシステム
は、そのコンピュータシステムによって制御されるディ
スプレイ装置上に複雑な三次元オブジェクトを表示する
ことが可能であり、また屡々これらの複雑なオブジェク
トは、コンピュータユーザーをしてそのオブジェクト画
像を操作させるようにインタラクティブに表示されるも
のである。周知のグラフィックス技法、たとえば隠れ面
処理、クリッピング、テクスチャマッピング、多辺形フ
ィリングおよび座標変換が画像を適切な装置、たとえば
CRTビデオディスプレイであって、コンピュータシス
テムによって制御されるものの上に生成するために用い
られる。典型的に、これらの表示装置は画素のマトリッ
クスであって、制御された強度において照光されて画像
を生成するものを含んで構成される。従来、これらコン
ピュータシステムのオペレーションにおいて、これらの
画素は計算され、あるいは定量され、次いでフレームバ
ッファ内に格納される。より詳細に、表示すべきオブジ
ェクトの多辺形表現はフレームバッファ内に格納される
ラスタ走査された画像に変換される。ディスプレイ装置
上に実際に画像が表示または描写される際、画像中の画
素に関する値はフレームバッファから特定の順序におい
て1回に1個の値が得られる。次いで、これらの画素は
これらの値において照光されてディスプレイ装置上に画
像を生成する。
【0003】これらコンピュータグラフィックス表示シ
ステムのオペレーションにおいて、様々なタイプのデー
タが記憶ユニットまたは装置内に格納され、またそれか
らやり取りされ、そして数多くのこれら記憶ユニットは
ランダムアクセスメモリ装置、たとえばDRAMである。DR
AMにおけるデータ保持のための在来の構成およびこれら
メモリへのアクセスのための在来の手順は、そのコンピ
ュータシステムが画像を処理する際の速度を落とす可能
性のある、或る種の固有の非能率性を有している。より
詳細に、標準的なDRAMは多数の行および列に整列された
データ格納ロケーションから成るマトリックスまたはア
レイを有して居り、そしてこれらロケーションの各々は
それぞれのデータ値を保持することが出来る。同時にDR
AMは、ページと呼ばれる一連の連続したサブ領域として
物理的に組織されている。たとえば、DRAMのデータロケ
ーションの各行が各ページを形成してもよい。使用に際
して、特定のデータ格納ロケーションからの或るデータ
値を得るためには、そのデータ値が位置づけられている
サブ領域またはページが最初にアクセスまたは開かれね
ばならない。一度ページが開かれると、次いでデータ格
納ロケーションからデータを得ることが出来る。しか
し、もしデータが次に第2ページから必要になる(すな
わちページブレークまたはページスイッチと称される状
況が発生する)と、その第2ページの開かれる必要があ
り、そして次にそのデータが得られる。ちょっとページ
を開くために、屡々多数のクロックサイクルとして表さ
れる或る量の時間が必要とされる。たとえば、或るペー
ジを開くためには4乃至5クロックサイクルが必要であ
るかも知れないのに対し、開かれたページからデータを
得るために僅かに1または2クロックサイクルを要する
のみである。この結果から、多数の異なったページから
データを必要とする場合、可成りの量の時間がメモリの
ページを単に開くだけで使用される可能性がある。
【0004】対応した上記時間損失に関する多数のメモ
リページブレークが、コンピュータグラフィックスシス
テムのオペレーションにおいて用いられる数種類の手順
またはルーチンの間に発生する可能性がある。たとえ
ば、画像をディスプレイ上に表現するためにフレームバ
ッファから画素データを得る場合、このことは屡々発生
する。これは数種類の特定の理由の組合わせによるもの
である。これらの理由の第一は、ディスプレイ装置上の
画素とフレームバッファ内の画素値との間の標準的な空
間関係にある。より詳細には、在来のコンピュータグラ
フィックス・ディスプレイシステムに関して、ディスプ
レイ装置上の画素の構成はフレームバッファ中の画素デ
ータの構成に非常に類似している、すなわち、両者共多
数の行および列から構成されるマトリックスパターンを
包含している。このフレームバッファにおいて、画素値
はこのマトリックスパターン内に格納されるのに対し、
ディスプレイ装置上では画素自体がこのマトリックスパ
ターン内に整列される。更に、一般にビデオディスプレ
イの引き続く画素についてのデータはフレームバッファ
内の引き続くデータの格納ロケーション内に格納され
る。このタイプのメモリ構成は線形と称され、そして当
該技術分野では周知である。通例、たとえば画像(また
はディスプレイ)上の画素のそれぞれ完結した行に関す
るデータはフレームバッファ内のデータ格納ロケーショ
ンの1以上の引き続く行内に格納され、そして画素の引
き続くラインに関するデータはフレームバッファ内のデ
ータロケーションの引き続くライン中に格納される。
【0005】更に、フレームバッファから画像演算に関
して、画素値が得られると、ラスタ化(rasterization)
手順が、これを遂行するために用いられる。この手順に
関して、表示すべきオブジェクトは一連の多辺形として
表され、それらの各々は画素のグループをカバーする。
これら多辺形のそれぞれはラインごとに走査され、そし
て値は多辺形中の画素に関して、多辺形が走査される際
に遭遇する順序において、すなわちラインごとに、そし
て各ライン内では一時的順序、たとえば左から右に得ら
れる。これら多辺形のそれぞれは多数の画素のライン上
に展開すればよく、そして更に数多くのオブジェクトの
多辺形表示は多数のこの種多辺形を含んで構成される。
この理由故に、また上に論述したDRAMフレームバッファ
の従来の設計および操作の故に、DRAMフレームバッファ
から画素データをやりとりしてディスプレイ装置上に、
オブジェクトである画像を描出する際には可成りの数の
ページブレークが発生する。関連する非能率性を伴う多
数のメモリページブレークはまた、テクスチャマッピン
グ手順を用いて画素値を決定、またはその決定を手助け
する際にも発生する。補足説明すると、テクスチャマッ
ピングは描出された画像中に高度なリアリズムを成就さ
せるコンピュータグラフィックスにおいて細部を付加す
るために一般に使用される技法である。この手順におい
て、オブジェクトのテクスチャまたは外観を表すデータ
値のアレイはメモリ装置であって、屡々DRAMであるもの
に格納される。屡々テクセル(texels)と称されるデータ
値は、ディスプレイ画素の対応するアレイがこれらの値
において照光されると、その画素アレイはそのテクスチ
ャまたは外観を示す。このデータ値またはテクセルのア
レイ、すなわちメモリ中に格納されるものはテクスチャ
マップまたはテクスチャと呼ばれ、そしてこれらのデー
タ値はこのメモリ内に線形手法で体系づけられる。テク
スチャマッピングが用いられる場合、ラスタ化パターン
もまた、使用されてテクスチャマップからデータ値を探
し出し、そして取出す。特に、テクセルロケーションは
パースペクティブ・マッピングファンクションによって
画素ロケーションに関係している。たとえば、画素座標
をu およびv 、そしてテクスチャ座標はu およびv であ
ると仮定すれば、u およびv はFx()およびFu()で表され
る知られた翻訳ファンクションによってx およびy から
決定することが出来る。数学的に、これはu = Fu(x,y)
およびV=Fv(x,y)として表現される。テクスチャマップ
におけるラスタ化パターンは線形ではないが、これらの
ファンクションによって線形ラスタ化パターンに関係す
る。次に、これらのテクスチャ値は画素値であって、次
いでフレームバッファ内に格納されるものを計算または
その計算を補助するために使用される。
【0006】上述のパースペクティブ・マッピングファ
ンクションの結果、画素の多辺形を横切る水平な走査ラ
インはテクスチャマップを横切る角度を付した走査ライ
ン、すなわち水平ではない走査ラインに典型的にマップ
される。この種の角度を付した走査ラインは多くの行
と、従ってテクスチャメモリのページと交差する可能性
があり、そして個々のテクセル画素の走査ラインに沿っ
てアクセスすると、おびただしいページブレークの発生
する可能性がある。数件の先行技術特許がメモリ帯域幅
効率を改良するために設計されたメモリアーキテクチャ
を記載している。これらには米国特許第5,675,387 号、
第5,517,609 号、第5,251,293 号、第5,131,080 号、第
5,056,044 号、第4,965,751 号、第4,935,880 号および
第4,755,810 号が含まれる。たとえば、米国特許第5,67
5,387 号はビデオデコンプレッション・プロセッサにお
ける効率的なDRAMアクセスのためのタイル化メモリ構成
を記載して居り、また米国特許第5,517,609 号はVRAMア
ーキテクチャにおけるタイル化メモリ構成を記載してい
る。他のメモリアーキテクチャはComputer Systems Lab
oratory, Stanford University, Stanford California,
1997 年の文献"The Design and Analysis of a Cache
Architecture for Texture Mapping" 中に開示されてい
る。これらアーキテクチャのそれぞれはそれら自体の恩
恵と効果を有しているが、更なる改良および効率が非常
に望まれている。
【0007】
【発明が解決しようとする課題】本発明の目的はシステ
ムの効率を改良する方法において、コンピュータグラフ
ィックスシステムのメモリユニット中にデータを格納す
ることである。本発明の他の目的はシステムの効率を改
良する方法において、コンピュータグラフィックスシス
テムのメモリユニット中にデータを書き込み、そしてそ
れからデータを読取ることである。本発明の別の目的は
改良されたタイルラスタ化手順を備えたコンピュータグ
ラフィックスシステムを提供することである。本発明の
他の目的は三次元多辺形をスパンまたはエリアをベース
とする方法において描出する際に画素の空間グループ用
のデータ値をサーフェス(四辺形領域)から線形メモリ
に構成してページのミスを減少させ、そしてキャッシュ
コヒーレンシーおよび効率を増加させることである。本
発明の他の目的はコンピュータグラフィックスシステム
が画像を描出するために使用される際、そのシステムの
オペレーションにおいて発生するメモリのページブレー
クの数を減少させることである。本発明の目的はテクス
チャマッピングの間にコンピュータグラフィックスシス
テムのオペレーションにおいて発生するメモリのページ
ブレークの数を減少させることである。これらおよび他
の目的はコンピュータグラフィックスシステムおよびコ
ンピュータグラフィックスシステムのメモリユニット内
にデータを構成する方法によって達成される。通常、こ
のデータは画像演算用のメモリからデータがやりとりさ
れる際、メモリのページブレークの数が減少されるよう
に構成される。たとえば、メモリが画素値を格納するた
めに使用される場合、メモリの各ページは画素の四辺形
またはタイルアレイ用の画素値、すなわちディスプレイ
面上の画素のアレイを少なくとも数画素幅および少なく
とも数画素高さ含んで構成される。これが画素値と、シ
ステムが画像を描出する際ラスタ化される多辺形の画素
との間の空間的コヒーレンスを増加させる。
【0008】
【課題を解決するための手段】好ましいのは翻訳アルゴ
リズムが提供されて、標準のオペレーティングシステム
およびソフトウェアアプリケーションをメモリ中の画素
値のタイル化配置と共に作動させることである。このア
ルゴリズムは、オペレーティングシステムまたはソフト
ウェアアプリケーションによって最初に提供されたスカ
ラーメモリアドレスを翻訳し、そしてそれは画素値が線
形に配列されているメモリと共に使用し、またその第一
スカラーメモリアドレスを第二スカラーメモリアドレス
であって、第一スカラーメモリアドレスと慣例的に関連
する画素に関する値に適切にアクセスすることになるも
のに翻訳することを意図している。この方法で、このア
ルゴリズムはオペレーティングシステムおよびソフトウ
ェアアプリケーションに対して線形に見えるメモリ内で
事実上、画素値のタイル化構成を行う。更に、本発明の
利益および効果は、添付図面の参照によってもたらされ
る本発明の好ましい実施態様を明細に述べ、かつ示す以
下の詳細な説明の考察から明らかとなるであろう。
【好ましい実施態様の詳細な説明】
【0009】図1に示されたコンピュータシステム10
は、情報を通信するためのバス12、情報を処理するた
めにバスに連結されたプロセッサ14と、RAM のような
メモリ16であって、バスと連結され、情報およびプロ
セッサのためのインストラクションを格納するものを含
んでいる。システム10は更に、ビデオディスプレイ装
置20、たとえばCRTラスタ走査装置および記憶装置
22、たとえばバス12に連結された磁気ディスクであ
って、これもまた情報およびインストラクションを格納
するものを含んでいる。特別に設計されたグラフィック
スエンジンを備える代替コンピュータシステムは当該技
術分野において周知である。通例、これらの代替コンピ
ュータシステムは図1のシステムに、特殊化されたグラ
フィックスサブシステムであって、グラフィックスプロ
セッサ、屡々ビデオDRAM形状の専用フレームバッファ、
およびビデオディスプレイを含むものを組み込むことに
よって部分変更するものである。図2はグラフィックス
サブシステム32を備えるコンピュータシステム30の
一例を示している。このコンピュータシステム30にお
いて、メインプロセッサ14からの入力画像データはバ
ス12およびバス34によってグラフィックスプロセッ
サ36に伝達される。この画像データは典型的にグラフ
ィックス基本形状、たとえば線、点、多辺形または文字
列の形態である。グラフィックスプロセッサ36はメイ
ンプロセッサ14からその入力画像データを受け、そし
てそのデータを用いて周知のグラフィックス技法、たと
えば走査変換、クリッピング、Gouraud シェーディング
および隠れ面処理アルゴリズムを利用する完全な画像デ
ータセットを創出する。グラフィックスプロセッサ36
によって展開された画像データはグラフィックスRAM 4
0であって、典型的にフレームバッファ42を含むもの
に格納される。グラフィックスプロセッサ36はグラフ
ィックスRAM 40をアドレスし、そしてバス44にビデ
オ情報を供給する。周期的に、グラフィックスRAM の出
力が読取られ、そしてデジタルアナログ変換器46に送
られ、次いでビデオディスプレイ装置52または他のラ
スタ走査ディスプレイ装置に送られる。より詳細に、デ
ィスプレイ装置52は画素のマトリックスまたはグリッ
ドから構成されるもので、制御された方法で照光されて
画像を形成するディスプレイ表面54を含んでいる。こ
れらの画素はフレームバッファ42内に集められ、そし
てそれから読出されたデータにより決定される色彩およ
び強度において照光される。当業者には理解されるであ
ろうように、コンピュータシステム10および30は、
図1および2中に明瞭に示され、そしてここに詳細に記
載される以上の要素を含んでいてもよい。更に、図1お
よび2中に示される個々の要素は個々に記載される態様
において用いられる従来のアイテムであってもよい。更
に、図2に示すタイプのコンピュータシステムは集約的
処理のグラフィックスにとって一層適切であり、従っ
て、本発明の遂行または実施にとって好ましいものであ
る。しかしながら、本発明はまた他のコンピュータシス
テムを同様に具体化することも出来る。
【0010】図3は従来のメモリ素子60であって、フ
レームバッファ42として使用できるもの、そしてフレ
ームバッファ内にイメージデータを保持または格納する
ための従来のアレンジメントを示している。より詳細
に、図3はグリッド・パターンであって、メモリ素子6
0を表し、かつグリッドのそれぞれの小さな四辺形62
はデータ記憶ロケーションを表している。このような訳
で、本図中に示されるように、メモリ60はデータ記憶
ロケーション62の列および行のマトリックスを含んで
構成される。これらのメモリロケーション62は番号を
付されており、そしてそれらはメモリの左上方角からス
タートし、各列を横切って左から右へ進み、更に列から
列へ下方に進むように逐次的または連続的な順序におい
て整列されたものとして考えられる。最初のロケーショ
ンはフレームバッファ42のベースアドレスに在るが、
それは一般にロケーション0における相対アドレスと称
される。更に、メモリ60に関して、データ記憶ロケー
ションの各列は1頁を形成する。メモリ60のページは
連続しており、そして連続的に番号を付され、そして各
ページはデータ記憶ロケーションまたは場所の定数を表
す。図3に示されたタイプのメモリにおいて、各データ
ロケーション62はデータの1バイト以上を保持し、従
って多重バイト長さまたは幅と称してもよい。典型的な
例として、各データロケーション62はデータの2バイ
トを保持することが出来る。図3に示すメモリ60が図
2のシステム30のフレームバッファ42として使用さ
れる場合、グラフィックスメモリ内のデータ記憶ロケー
ション62とディスプレー装置52上の画素との間には
1:1の対応関係があり…、すなわち各画素に関する値
は各1記憶ロケーション62内に保持され、そしてそれ
ぞれの記憶ロケーション62は各1画素についての値を
含んでいる。更に、ビデオディスプレーの逐次的画素に
関する値はメモリ60内の逐次的データ記憶ロケーショ
ン内に格納される。メモリ60内の画素値のこのタイプ
の構成は線形と称される。メモリ60内の画素データを
格納するためのこのアレンジメントの結果、そこにはま
た、ディスプレイ表面54上の各画素の特定ロケーショ
ンとその画素を保持するための値におけるメモリ内の特
定ロケーションとの間に直接的な空間対応関係が存在す
る。特に、ディスプレイ表面54上の画素のグリッドに
関連する各画素の位置であって、その画素に関する値
が、メモリ60内のロケーションのグリッドに関連して
保持される。この直接的対応関係は図3および図4であ
って、ディスプレイ表面54上のグリッドの画素64を
示すものを参照することによって理解することが出来
る。従って、たとえば、画素64aのための値はメモリ
ロケーション62a中に保持され、そして同様に画素6
4bおよび64cのための値はメモリロケーション62
bおよび62c中にそれぞれ保持される。
【0011】たとえば、ここで詳細に説明する具体的な
実施態様に関して、データ記憶ロケーション62の各行
はディスプレイ表面54の画素64の各1行についての
データを保持する。従って、この実施態様に関して、た
とえばメモリ60の各ページ内の画素値の数はディスプ
レイ表面54上の1行または水平ライン中の画素64の
数に等しい。しかしながら、他のアレンジメントを使用
することも出来る。たとえば、メモリピッチ(または
幅)がDRAMページのストレージより広ければ、ライン当
たり2以上のDRAMページを用いることが出来る。分数量
とすることもまた可能である。たとえば、ページがイメ
ージ行を横切って分割される場合、イメージのライン当
たり2.5メモリページを用いてもよい。逆の論拠もま
た成立する。もし、メモリピッチ(または幅)がDRAMペ
ージのストレージより小さければ、1DRAMページは2以
上のイメージ画素行を横切って延びてもよい。ここでは
分数量もまた可能である。メモリ60内のメモリロケー
ション62およびディスプレイ装置54上の画素64は
両者共グリッドフォーマットにアレンジされているが、
一方で異なったアドレッシングシステムがメモリ装置内
の個別のデータロケーションの位置、また他方、画素デ
ィスプレイ上の個々の画素の位置を同定するために従来
使用されている。一般に、1−座標またはスカラー・ア
ドレッシングシステムが特定のメモリ領域を同定するた
めに用いられ、そして2−座標、四辺形アドレッシング
システムが特定の画素を同定するために用いられる。よ
り詳細には、上述したように、メモリロケーションは、
メモリの左上角からスタートし、そして各行を横切って
左から右へ進み、そして下方へ行から行へと進んで連続
的に数字が付される。従って、たとえば図3に関して、
メモリ60の左上角のメモリロケーションが「0」であ
れば、メモリの右上角のメモリロケーションは「102
3」である。メモリのトップから第2行の左端における
メモリロケーションは「1024」であり、そしてこの
第2行の右端におけるメモリロケーションは「204
7」である。
【0012】それとは反対に、ディスプレイ装置上の個
々の画素は列および行によって同定され、ここにおいて
その画素は位置決めされる。このアドレッシングシステ
ムにおいて、列は左から右へと連続的に番号が付され、
そして行は頂部から底部へ連続的に番号が付される。た
とえば、図4に関して、ディスプレイ装置の左側頂部角
における画素はアドレス0,0、すなわち列番号0、そ
して行番号0を有して居り、またディスプレイの右側頂
部角における画素はアドレス1023,0、すなわち列
番号1023、そして行番号0を有している。ディスプ
レイの第2行の左端における画素はアドレス0,1を有
しており、そしてこの第2行の右端における画素はアド
レス1023,1を有している。図3−図5はメモリ6
0からのデータを用いて2個の多辺形を線形にラスタ化
するための従来の手順を示している。特に、図3および
図5はメモリ60の一部上に横たえられた2個の多辺形
AおよびBを示し、また図4はディスプレイ表面54の
画素64のグリッドの対応部分に横たわる、これら同一
の2個の多辺形を示している。ディスプレイ表面54上
の画素64の位置とメモリ60内のデータロケーション
62の位置との間の上で論述した空間的関係の理由か
ら、図4中の多辺形によってカバーされる各画素に関す
る画素値は図3および図5のメモリ60の空間的に対応
するデータロケーション内に存在する。一方の多辺形が
ラスタ化されると、その多辺形内の画素に関するデータ
値は一度に1行得られ、そして図5中の矢印によって表
されるように、データ値は多辺形内の画素に関して、各
行内で一度に1ピクセル、その行を横切って左から右に
得られる。先に述べたように、ここで詳細に説明する特
別な実施態様に関して、たとえばメモリ60の各行は1
頁である。この例に関して図5から理解し得るように、
多辺形AおよびBいずれか中の画素の新しい行は何時で
もラスタ化され、新しいメモリページがアクセスされ
る。ページスイッチまたはブレークは図5中に示す、そ
れぞれ数字の付された方向矢印に関して生ずる。特に、
27ページブレークは多辺形Aがラスタ化される際に生
じ、また20ページブレークは多辺形Bがラスタ化され
る際に生ずる。
【0013】本発明は多くの特徴の中でも、多辺形がラ
スタ化される際に生ずるページブレークの数を減少させ
るための機構および手順を提供する。図6および図7は
本発明の原理を示すメモリ構成およびラスタ化手順を示
している。より詳細に、図6はメモリ70を示すグリッ
ドパターンを示しており、そのグリッドのそれぞれ小さ
な四辺形72はデータ記憶ロケーションを表している。
このメモリはタイルと称されるより小さな四辺形領域の
アレイに分離され、そしてデータ記憶ロケーション72
の複数の行と複数の列を含んで構成されるものとして示
されており、更にこれらタイルの各々におけるデータは
メモリ70の各1頁内に格納される。図6に示されるメ
モリ70の特定の実施態様に関して、各タイルは64メ
モリデータ幅および16データロケーション高さであ
る。更に、この特定のメモリ70は16タイル幅x48
タイル高さのマトリックスパターンに整列された768
タイルに分割される。当業者に理解されるであろうよう
に、他の具体的な寸法も使用可能である。タイルのこれ
ら寸法が変更されるにしても、それらは各タイル内のデ
ータをDRAMの1頁内に格納し得るような依存態様におい
て変更することが好ましい。メモリロケーション72は
数字が付され、そしてそれらはメモリ60のメモリロケ
ーション62が整列される順序とは異なる順序において
整列されるものとして考えられる。より詳細に、メモリ
70に関して、メモリロケーション72は番号が付さ
れ、そしてそれらは各タイル内の逐次的または連続的順
序、すなわちタイルの左上角からスタートし、そしてタ
イル内の各行を横切って左から右へ進み、そして下方へ
行から行へと進むように整列されるものとして考えられ
る。従って、たとえば、もしタイル0の左上角のデータ
ロケーションにアドレス番号0が割り当てられると、こ
のタイル0の右上角のデータロケーションにはアドレス
番号63が割り当てられる。アドレス番号64はタイル
0の第2行中の最左方データロケーションに割り当てら
れ、そしてタイル0のこの第2行の右端におけるデータ
ロケーションにはアドレス番号127が割り当てられ
る。タイルからタイルへと、図6中でタイルが数字を付
されている順序でアドレス値は増加、すなわちタイルの
各行を左から右へと横切り、そしてタイル行からタイル
行へと下方へ増加する。この整列に関して、たとえばタ
イル0の底部右角のデータロケーションがアドレス番号
1023であれば、アドレス番号1024がタイル1の
頂部左角のデータロケーションに割り当てられる。メモ
リ60が一方で、ディスプレイ表面54上の各画素の特
定のロケーションと、他方で、その画素のための値が保
持されるメモリ内の特定のメモリロケーションとの間で
有しているように、メモリ70は同一の直接的な空間対
応関係を有する。このような訳で、ディスプレイ表面5
4上の画素のグリッドに関連する各画素の位置は、メモ
リ70内のグリッドのロケーション72に関連する、そ
の画素に関する値が保持されるメモリロケーションの位
置に一致する。たとえば、図4および図6を参照する
と、画素64a、64bおよび64cのための値はメモ
リロケーション72a、72bおよび74c中にそれぞ
れ保持される。一般に、メモリ70のタイルの大きさお
よび寸法は、データロケーションとラスタ化すべき多辺
形の画素との間の空間コヒーレンスを増加させるような
態様でデータロケーション72と共にグループ化するこ
とによって選択される。特に、データロケーション72
は共にグループ化されるので、データ記憶ロケーション
により形成されるタイルの寸法は、タイルからのデータ
を用いることによりラスタ化されるべき多辺形の寸法と
一層密接に整合する。この方法によりデータ記憶ロケー
ション72をグループ化することの効果は、多辺形をラ
スタ化しながらメモリ記憶ロケーションにアクセスする
際に生ずるページブレークの数を最小化、あるいは少な
くとも減少させる。
【0014】図7は、如何にしてこの減少を達成するか
を示す。特に、図7はメモリ70からのデータを用いて
多辺形AおよびBを線形にラスタ化するための手順を示
している。この図はメモリ70の領域に横たわる多辺形
AおよびBを示しており、そしてメモリのこの領域はデ
ータについて6つのタイルまたはページから成る部分を
含んでいる。ここではまた、図7中の多辺形の内側に示
される各データロケーションが、ディスプレイ表面54
上の多辺形の内側になる画素についての画素値を具体的
に表し、また保持することを考慮し得る。図7において
番号を付した矢印セグメントは多辺形を横切る走査ライ
ンまたは走査ラインセグメントを表し、また多辺形Aお
よびBがラスタ化される際に各多辺形の内側の画素につ
いてのデータ値が得られる順序を示している。メモリ7
0のページについてタイル化された構成の結果、若干の
走査ラインのみがページブレークを惹き起こすことは図
7から明白である。これは図5に示された慣用の従来技
術による手順とは明瞭に対照的である。より詳細に、多
辺形Aでは走査ライン1−6についてページブレークが
生ずることは全くなく、また最初のページブレークは走
査ラインセグメント6および7間で発生する。このブレ
ークは異なったDRAMページがアクセスされてデータがタ
イル0およびタイル1から得られることによって発生す
る。第二のページスイッチ(page switch) は走査ライン
セグメント7および8間で生ずる。それはタイル0が再
アクセスされて走査ラインセグメント8上の画素に関す
るデータを検索せねばならないからである。ページブレ
ークは走査ラインセグメント8の後で、かつ次の24個
の各走査ラインセグメントの終了後に発生する。それ
で、次の7本の走査ラインについてブレークが起こるこ
とはなく、また最終のページブレークは走査ライン38
の後で生ずる。従って、多辺形Aのタイル化されたメモ
リ構成と、その線形ラスタ化との組合わせは合計27ペ
ージのページブレークをもたらす。多辺形Bについて
は、多辺形全体のラスタ化の間、僅かに1回のページブ
レークが走査ライン9および10間で発生する。
【0015】図8はスパンラスタ化(span rasterizatio
n)と称される代替的ラスタ化を例示している。この手法
に関して、多辺形の完全な行を横切って連続的に走査す
る代わりに、各多辺形は相対的に短い水平セグメントに
おいて走査される。より詳細に、図8に示すメモリ70
の実施例に関して、メモリの各タイルまたはページは等
しい長さのスパン74であって、複数個の行および列に
おいて整列されるもののマトリクスから構成される。こ
れらスパンのそれぞれは順次、四辺形、たとえばデータ
記憶ロケーション72の4x4四辺形を含んで構成され
る。これらの面積に関し、図8に示すように、タイルの
それぞれは16x4個のマトリックス内に位置する64
個のこれらスパンから構成される。図8中の番号を付し
た矢印セグメントは走査ラインまたは走査ラインセグメ
ントを表し、そして多辺形AおよびBがラスタ化される
際、画素に関する値が得られるオーダーを示している。
ラスタ化手順は、ラスタ化すべき多辺形の一番上の頂点
を含むスパンから開始される。このスパンは「スタート
スパン」と称され、そしてこのスタートスパンにおける
多辺形によってカバーされる各画素がラスタ化される。
この最初のスパンの処理が完了すると、この方法は隣接
するスパンから右方へ、その隣接スパンにおける少なく
とも1個の画素が多辺形によってカバーされるという条
件において進行することになり、従ってラスタ化を要す
る。その隣接スパン内の画素のいずれもが多辺形により
カバーされていなければ、その手順はスパンの1行下方
へ移動し、そしてその次の、より下方行であって、多辺
形によりカバーされる少なくとも1個の画素を含むもの
における最も左方のスパンに移動する。手順は、スパン
ごとに左から右へ図8中に示すように、スパンであっ
て、多辺形により完全に、あるいは部分的にカバーされ
るものについて同様な態様において継続する。スパン手
順はまた、スパンラインに対して右から左へ、あるいは
左から右へと右から左への組合わせであってもよい。こ
の手順に関して、図8が示すように、多辺形Aについて
最初のページスイッチはラスタ化手順が走査ラインセグ
メント19の終わりに達するまで起こることはない。こ
のポイントにおいて、タイルの境界は交差し、そしてラ
スタ化手順は走査ラインセグメント20に進む。次のペ
ージブレークは走査ラインセグメント23の終わりに達
するまで起こることはなく、また9ページのブレークの
みが多辺形Aの完全なラスタ化の間に発生する。多辺形
Bついてのラスタ化の同様な解析は多辺形の全体が僅か
に1頁のブレークによって完全にラスタ化されることを
示している。
【0016】図9はタイルアウェア(tile aware)ラスタ
化と称される別なラスタ化手順を示している。タイルア
ウェアラスタ化は、スパンのサイズがタイルのそれと等
しい場合のスパンラスタ化の特別なケースであると考え
ることが出来る。あるいはタイルアウェアラスタ化はス
パンラスタ化パターンであって、他のタイルにおいてス
パンに移動する前のタイル内の全てのスパンを処理する
ものを意味し得る。図9は、この手法を利用する多辺形
Aのラスタ化に際して、最初のページブレークは走査ラ
インセグメント9をラスタ化した後に発生することを示
しているが、次のページブレークは走査ラインセグメン
ト13をラスタ化した後生じ、そして合計僅かに4つの
ページブレークが多辺形全体のラスタ化の間に発生す
る。更に、多辺形Bの全体は僅かに1つのページブレー
クによってラスタ化される。従って、図5に示される従
来の手法と比較して、タイルアウェアラスタ手法はそれ
ぞれ22および10による多辺形AおよびBをラスタ化
するのに要するページブレークの数を減少する。メモリ
70においては、メモリ60とは異なりディスプレイ表
面54上の逐次的画素の値は逐次的に番号を付したメモ
リロケーション72内に必ずしも整列されるものではな
い。これには二つの基本的な理由が存在する。その第一
の理由は、ディスプレイ表面54上の画素のロケーショ
ンおよび画素値がメモリ70内に保持されるロケーショ
ン間の直接的な空間対応関係(これはメモリ60と同一
である)である。これらの理由の第二は(メモリ60と
は異なる)方法であり、ここにおいてメモリ70内のデ
ータロケーションには番号が付されている。従って、た
とえば画素(63,0)の値はメモリ70内のメモリア
ドレス63に位置決めされているが、次の画素、画素
(64,0)の値はメモリアドレス64に位置決めされ
るのではなく、メモリアドレス1024に位置決めされ
ており、これはメモリ70のタイル1における第一メモ
リロケーションである。タイル0の第2行中の第一メモ
リロケーションであるメモリ70内のメモリアドレス6
4は画素(0,1)の値を保持する。メモリ60内の画
素値の線形アレンジメントとは異なり、メモリアドレス
と関連するメモリ70内の画素値の組織のタイプはタイ
ル化構成または配置と称される。コンピュータグラフィ
ックスシステムに関しては、標準のオペレーティングシ
ステムおよびソフトウェア・アプリケーションが設計さ
れ、そして書き込まれているが、メモリ60の画素値に
ついての従来の線形アレンジメントに関しては、メモリ
70のタイル化アレンジメントについてのものではな
い。本発明の他の特徴によれば、アルゴリズムが提供さ
れて、それらの標準オペレーティングシステムおよびソ
フトウェアアプリケーションをメモリ70のタイル化ア
レンジメント共に動作させる。このアルゴリズムは、事
実上、タイル化構成をそのオペレーティングシステムお
よびソフトウェアアプリケーションに対し線形であると
見做せしめ、それらのシステムおよびアプリケーション
をして、画素値についてタイル化構成を有するメモリを
アドレスさせ、また適切に使用させる。このアルゴリズ
ムは、データを適切な記憶領域内に書き込むためと、そ
のメモリから適切にデータを読出すため双方に使用し得
る。一般に、読み出しまたは書き込みいずれの場合に
も、アドレスは線形アドレスからタイル化アドレスに変
換される。より詳細に、このアルゴリズムによれば、オ
ペレーティングシステムまたはソフトウェアアプリケー
ションにより提供され、そしてメモリ、たとえばメモリ
60であって、画素値が線形に構成されているものにつ
いて意図される記憶アドレスは、メモリ、たとえばメモ
リ70であって、画素値がタイル化構成を有するものに
ついて使用するために、タイル化アドレスと称されるア
ドレスに変換される。それで、適切なデータがそのタイ
ル化アドレスに書き込まれ、あるいはそれから読出され
る。補足説明の目的で、特定の画素に関する値を記憶
し、または得るために、オペレーティングシステムまた
はソフトウェアアプリケーションはスカラ値を提供す
る。このスカラ値は、その画素のためのデータ、すなわ
ち画素値がメモリ内に線形に構成される際、この特定の
画素に関するデータがこの記憶アドレスにおいて記憶さ
れることを慣例的に保持する具体的なメモリアドレスを
同定するものである。図3のメモリ60は画素値のこの
線形構成を有している。しかしながら、図6のメモリ7
0はこの線形構成を有していない。画素値がタイル化構
成を、それらがメモリ70内で挙動するように、有して
いれば、オペレーティングシステムまたはソフトウェア
によって提供されるスカラ値により同定される記憶アド
レスは一般にその記憶アドレスと慣用的に関連する画素
値を保持しない。
【0017】この発明のアルゴリズムは、オペレーティ
ングシステムまたはソフトウェアアプリケーションによ
り提供されるスカラ記憶アドレスを他のスカラ記憶アド
レスに翻訳する。この後者のスカラアドレスはメモリ内
のロケーションであって、ここにおいて画素値はタイル
化された構成を有し、これは前者のスカラ記憶アドレス
と慣用的に関連する画素値を保持するものを同定する。
当業者には理解されるであろうように、数多くの異なっ
た特定のアルゴリズムを用いて最初に提供されたスカラ
アドレス値を最終の所望スカラ値に翻訳してもよい。こ
のアルゴリズムの好ましい実施態様に関して、その最初
に提供されたスカラアドレスは先ずx,y四辺形アドレ
スに変換され、次いでその四辺形アドレスはスカラアド
レスに逆変換され、それがタイル化メモリ配置において
適切なデータ格納ロケーションを同定する。この2段翻
訳工程は図3、6および10を参照することによって理
解し得る。図10は図6同様に、データロケーション7
2のマトリックスを含んで成るメモリ70を示してい
る。図10はまた、以下でより詳細に論述されるタイル
化アドレスを計算するために使用する数個のパラメータ
を同定する。メモリロケーション62dおよび72aは
図3および図6ならびに10内で特定される。これらの
ロケーションは、たとえロケーション62dおよび72
dが各メモリ60および70内に異なったアドレスを有
していたとしても、ディスプレイ表面54上に同一の画
素に関する画素値を格納するために用いられる。アドレ
ス翻訳アルゴリズムの好ましい実施態様に関して、翻訳
プロセスにおいて計算されるx,y四辺形アドレスは、
ディスプレイ表面上の画素のx,yアドレスであって、
最初に提供されたスカラアドレス値と関連するもの、す
なわち画素値が記憶される際、それらがメモリ60にお
けるように挙動するものである。従って、これらのxお
よびyの値はまた、その画素のために値を保持する慣用
のメモリ構成におけるこのロケーションの列および行を
それぞれ同定する。これらxおよびyの値は下記の式:
【0018】
【数1】線形アドレス=BA+(PM *y)+x 但し、表面ベースアドレスと称されるBAはメモリ70
内の最初のデータロケーションのスカラアドレスであ
り、そしてメモリピッチと称されるPM はメモリ70内
の各行におけるデータロケーションの数である。
【0019】そのハードウェアは(数1)式を逆方向へ
実施して、タイル化アルゴリズムにおいて使用するため
にxおよびy座標を決定する。このハードウェアは線形
アドレスから表面ベースアドレスを減算し、そしてこの
結果はPM によって除算される。指数の整数部分はy座
標であり、そして指数の残部はx座標である。一般項に
おいて:
【0020】
【数2】y=int [(線形_アドレス・BA)/PM
【0021】
【数3】x=rem [(線形_アドレス・BA)/PM
【0022】このようにして、たとえば図10に関し
て、ロケーション72dのスカラ線形アドレスが106,58
8 であり、表面ベースアドレスは65,536であり、そして
メモリピッチが1024であれば: y=int [(106,588 −65,536)/1024]=int [1,05
2 /1024]=40 x=rem [(106,588 −65,536)/1024]=rem [41,0
52/1024]=92 一度、このx,yアドレスが計算されると、そのタイル
化されたアドレスが計算される。図10を参照すると、
第一に、データロケーション72dを有するタイル76
の前に来るタイル内のデータロケーションの合計数を決
定し、そして第二に、ロケーション72dの前に来るそ
のタイル内のデータロケーションの数を決定することに
よって、これは遂行される。次に、これら二つの数の和
はメモリ70のベース表面アドレスに加えられて、デー
タロケーション72dに関するタイルアドレスが得られ
る。数学的にこれは以下の式において表現される:
【0023】
【数4】タイル化アドレス=BA+(OTR+OT )+
(OPR+OP ) 但し、BAはメモリ70のまさに先頭の、ベースアドレ
スと称されるアドレスであり、OTRはタイル行に対する
オフセット、すなわち画素値が位置決めされているタイ
ルの行の上方にあるメモリ70のタイル内のデータロケ
ーションの合計数であり、OT はタイルに対するオフセ
ット、すなわち画素値が位置決めされているのと同一行
であるが、以前のものにおけるタイル内のデータロケー
ションの数であり、OPRは画素値行に対するオフセッ
ト、すなわち画素値が位置決めされている行の上方にあ
るタイルの行におけるデータロケーションの数であり、
そしてOP は画素値に対する水平オフセット、すなわち
画素値と同一行であるが、以前のものにおけるデータロ
ケーションの数である。
【0024】OTR、OT 、OPRおよびOP は図10中に
示され、そしてそれらは下記の式によって与えられる:
【0025】
【数5】OTR=YT *PT *TH *PMT
【0026】
【数6】OT =TH *PT *XT
【0027】
【数7】OPR=YR *PT
【0028】
【数8】OP =XR 但し、TH はライン中のタイル高さであり、YT はy/
H の整数部分であり、PT はタイルの幅またはピッチ
であり、またタイルの各行におけるデータロケーション
の数であり、PMTはタイルのユニット中のタイル化メモ
リのピッチである。換言すれば、PMTはタイル化メモリ
の全水平寸法を構成するタイルの数である。XR はx/
T の剰余であり、YR はy/TH の剰余である。
【0029】PT *PMTは記憶領域のユニットにおける
タイル化メモリの幅なので、(数5)式はまた、OTR
T *TH *PM (但し、PM は記憶領域のユニット内
のタイル化メモリのピッチ、あるいは簡単にメモリのピ
ッチである。)とも書き表すことが可能である。従っ
て、たとえば、もしxおよびyがそれぞれ92および4
0であり、タイル高さおよびピッチはそれぞれ16ライ
ンおよび64データロケーションであり、PMTは16、
そしてベースアドレスが65,535であれば、 タイル化アドレス=BA+(OTR+OT )+(OPR+OP ) =BA+[(YT *PT *TH *PMT)+(TN *PT *XT )] +[(YR *PT )+XR ] =65,536+[(int (40/16 )*64*16*16)+(16*64*int (92/64 ))] +[(rem (40/16 )*64)+rem (92/64 )] =65,536+[(2*64*16*16)+(16*64*1)]+[512 +28] =65,536+33792 +540 =99,868
【0030】屡々、多重画素値は1メモリワードにおい
て格納され、そしてたとえば、2、4または8画素値を
1メモリワードにおいて格納してもよい。画素値がこれ
らのワードにグループ化される場合、画素値が記憶領域
内に書き込まれる際、それらの値を逐語的に書き込むこ
とが好ましい。これらの画素ワードは記憶領域内に整列
されるので、画素値の各タイルはメモリの単一頁である
が、それらの画素値をメモリワード内で再整列する必要
は無い。更に、画素値がこれらのワード内でグループ化
される際、メモリアドレスは個々の画素値よりも個々の
メモリワードを同定するために使用すればよい。コンピ
ュータグラフィックスシステムの数多くの応用におい
て、DRAMは多数の別個の領域またはエリアであって、そ
れらの各々を他のものとは別に使用することが出来る。
これらの記憶領域は時にサーフェスと称される。一般に
これらの記憶領域の大部分はディスプレイ表面52の各
領域と関連している。尤もオフ−スクリーン表面と称さ
れる若干の領域はディスプレイ表面の如何なる領域とも
直接関連することはない。これらの分離領域を備えるDR
AMを提供するための重要な目的はメモリピッチをサーフ
ェスピッチに密接に整合させてメモリを保存することで
ある。システム内の異なったサーフェスは異なったピッ
チを有する。従って、メモリの領域は異なったピッチを
有することが望まれる。好ましいのは、これらの記憶領
域のそれぞれにおいて、その領域中に格納されるデータ
値は、その他の記憶領域のいずれかにおいてデータ値が
どのように構成されているかとは独立してタイル化また
は線形に構成されることである。
【0031】本発明の好ましい実施態様に関して、何ら
かの与えられた応用のために、ユーザーは第一にこれら
記憶領域の境界を決定し、そして第二に、これら記憶領
域の各々について、その記憶領域内のデータの構成が線
形であるか、あるいはタイル化されているかを示すこと
が出来る。更に、タイル化される、若しくはタイル化さ
れるべき各記憶領域に関して、線形アドレスをタイル化
アドレスに翻訳するために用いられるアルゴリズムによ
って必要とされるパラメータに関する値が提供される。
これら領域の境界はフェンスと称される。それは事実
上、それらの境界が記憶の領域にフェンスを巡らし、あ
るいはそれをフェンスで仕切るからである。更に、特定
の記憶領域に関する境界またはフェンスは簡単に、その
領域内の最下位および最上位データロケーションのアド
レスである。図11は、標準の線形メモリ構成120を
領域110a、110bおよび110cのグループに分
離するためのフェンスの、この利用を示している。この
図中に示すように、アドレスAはアドレスB未満であ
り、これはまたアドレスC未満であり、これは順次アド
レスD未満となる。装置ドライバは一つのフェンスを1
以上のサーフェスと関連させることになる。この特徴に
適応させるために、好ましいのは各記憶領域であって、
タイル化されてもよいものがそれぞれのレジスタであっ
て、記憶領域内の境界を同定する値、その記憶領域がタ
イル化されているか否かを示すフラグ、そしてアドレス
翻訳アルゴリズムにより必要とされるパラメータに関す
る値を含有するものと関連させられることである。これ
ら後者の値はサーフェスピッチ、タイル高さ、タイルピ
ッチおよび記憶領域のベースアドレスであって、これは
また記憶領域のより下方の境界であるものを含んでいて
もよい。この特徴によって、オペレーティングシステム
またはソフトウェアアプリケーションが線形アドレスを
提供すれば、そのグラフィックス・サブシステムは先
ず、どのフェンスがその記憶アドレスに関するデータ値
を含むサーフェスを境界するかを決定する。次に、アド
レス翻訳アルゴリズムに関して必要とされる値が、その
提供された線形アドレスを有する記憶領域に関連するレ
ジスタから検索される。これらの値を利用して、グラフ
ィックス・サブシステムはタイル化アドレスを計算し、
そしてそのデータはそのタイル化アドレスから読取ら
れ、あるいはそれに書き込まれる。当業者は理解するで
あろうように、現実的なハードウェアによる限界が、タ
イル化し得る記憶領域の数を制限する。実施のために実
際に減少させた本発明の実施態様において、たとえば、
そのシステムは翻訳パラメータを格納するために、メモ
リの7個までの領域に制限される。更に、典型的な使用
に際して、特有のフェンスに関する翻訳パラメータは、
そのフェンスの中でサーフェスがメモリにおいてアクテ
ィブである全時間に亘ってシステム内に存在する。これ
はその通りなのである。というのは、そのシステムが或
るアプリケーションがその表面にアクセスするかも知れ
ない場合を承知していないからである。従って、好まし
いのは、レンデラ・サーフェス(renderer surface)が作
成される時点でフェンスが作成、かつ指定され、そして
そのサーフェスが破壊されたときにのみ解放されること
である。
【0032】本発明の実施に際して、ソフトウェアまた
はハードウェア、あるいは両者の組合わせは、タイル化
された配置において整列された値を有するメモリにデー
タを書き込み、そしてそれからデータを読出すために使
用することが出来る。図12は、たとえば、上で論述し
た翻訳アルゴリズムを遂行するためのハードウェア回路
200を示す。この回路の動作において、当初の、スカ
ラー線形アドレス値は入力ライン202を介して提供さ
れ、そしてフェンス範囲コンパレータ204に加えられ
る。もし、スカラ値がアクティブなフェンス領域のいず
れにも分類されなければ、そのスカラアドレス値はマル
チプレクサ210を経由して出力ライン206に導かれ
る。対照的に、スカラ値がアクティブなフェンス領域の
一つに分類されれば、コンパレータ204は、入力スカ
ラ線形アドレス値により同定されるロケーションを有す
る特定の記憶装置を決定し、またその領域についてタイ
ル化がアクティブかどうかを決定する。その記憶領域に
関して、もしタイル化がアクティブでなければ、当初の
スカラ値はマルチプレクサ210を経由して出力ライン
206に送られる。もし、その記憶領域に関してタイル
化がアクティブであるにしても、翻訳アルゴリズムに必
要とされるパラメータは減算器212、割算器214お
よび計算装置216に供給される。減算器212は(式
2)の分子を計算する、すなわちこの減算器はサーフェ
ス・ベースアドレスを当初スカラアドレスから減算す
る。次いで、この計算された値は割算器214に送られ
る。この割算器214はその値をメモリのピッチによっ
て除し、そして(式2)および(式3)と関連して上で
論述したxおよびy値を決定する。これらxおよびy値
はアドレス計算ユニット216に送られ、これは(式
4)を利用してタイル化アドレスを計算し、そしてこの
タイル化アドレス値はマルチプレクサ210を経由して
出力ライン206に送られる。もし、フェンスの境界
が、そのフェンス内のメモリピッチに関するタイルの行
におけるメモリの量の倍数に制限されれば、ベースの数
の減算および加算は省略してもよいことに留意できる。
【0033】図13はフェンス比較ユニット204の動
作を一層具体的示している。この図はレジスタ220の
2種類のグループおよびコンパレータ222の2種類の
グループを示している。これらレジスタの各グループは
それぞれの記憶領域と関連しており、そして数ある値の
中でも記憶領域の上方および下方境界を保持する。コン
パレータ222はその入力スカラアドレスをこれらの境
界と比較して、そのアドレスがこれら記憶領域の一方内
にあるか、そしてもしあれば、どちらなのかを決定する
ために用いられる。もし、これらのコンパレータが、入
力スカラアドレス値が記憶領域の一方内に存在すること
を決定すれば、フェンス整合信号がライン224上に付
与され、そしてその関連レジスタからのパラメータ値は
ライン226に亘って供給される。図14はタイル化さ
れたアドレス計算ユニット216のより詳細な動作を示
す。このユニットはサーフェス・ベースアドレス、タイ
ル行サイズおよび割算器によって決定される「表面xお
よび表面y値」と称されるxおよびy値を受信する。こ
れらの値は(式4)において用いられるOTR、OT、O
PRおよびOP 値を決定するために用いられる。一般に、
x座標はサブ−タイルXR (ピクセル_列)およびタイ
ルXT (タイル_列)に分解される。y座標はサブ−タ
イルYR (ピクセル_行)およびタイルYT (タイル_
行)に分割される。次いで、座標の様々な断片は(表面
相対アドレス内のそれらの位置によって)再整列され
る。タイルY断片は乗算器230においてタイル内の上
面ピッチにより乗算され、そして加算器232において
その他の再整列された断片中に加算される。次に、フェ
ンスベースアドレスはまた、加算器232において、タ
イル化されたサーフェス相対アドレス内に加算されて、
最終の絶対タイル化アドレスを形成する。
【0034】図14に示される具体的なダイアグラム
は、タイル高さおよびタイル幅であって、双方共2累乗
であるものに関して使用するためにデザインされている
ことに言及できる。理解されるように、これはその最も
広い意味において発明の実施のために必要ではない。当
業者は図2に明瞭に示されているパイプラインを変形し
て、2累乗ではないタイル高さおよびタイル幅に適応さ
せることは容易に可能であろう。更に、メモリピッチが
2の累乗、たとえば4、8または16であれば、乗算器
230によって行われる乗算は、図15中の234によ
り示されるように、単純なシフトによって行うことが出
来る。前述したように、様々なタイプのデータはメモリ
内にタイル化された構成または配置において格納するこ
とが出来る。特に、上で論述した画素値に加えて、テク
スチャデータをタイル化構成内に格納することが有利か
も知れない。一般に、テクスチャデータは線形に構成さ
れる方法においてグラフィックス・サブシステムの記憶
領域内に格納される。そのデータが必要な場合、その記
憶領域がアクセスされ、そして数多くの方法のいずれか
においてテクスチャ値が得られ、かつ使用されてテクス
チャはディスプレイされたオブジェクトに加えられる。
この手順の間に、上で説明されるように、透視マッピン
グ機能を利用して画素をテクスチャマップ上にマップす
る。この手順の例は図16中に概括的に示されており、
これはマップされた三角形250を透視マッピング機能
によってテクスチャマップ252上に示している。図1
6中の矢印セグメント254は、透視マッピング機能に
よりテクスチャマップ上にマップされた画素アレイを横
切る水平走査ラインを表している。理解し得るように、
図16中に示されるラインセグメントはテクセル(texel
s)の非常に多数の行を横切る。従って、これらのライン
に沿うテクセルがアクセスされると、おびただしいペー
ジブレークが発生する。これらページブレークの数は、
そのテクスチャ値をタイル化された構成中の記憶領域内
に書き込み、かつ記憶することによって大幅に減少さ
せ、あるいは排除することさえ出来る。スパンラスタ化
パターンを利用することは、タイル化されたメモリ内の
テクスチャにアクセスするためのページミスを更に減少
させるであろうことに言及してもよい。何らかの適切な
手順はこれを行うために利用することが出来る。たとえ
ば、通常、その手順は上で論述した手順に類似していて
もよい。図6のメモリ70のように、テクスチャ252
はタイルに分離してもよく、各タイル内のデータはメモ
リ252のそれぞれ1ページ内に格納されており、そし
て画素値のロケーションがメモリ70内で番号が付さ
れ、あるいはアドレスされる方法に類似した態様におい
て、そのテクスチャ値のロケーションはこのメモリ内で
番号が付され、あるいはアドレスされればよい。このア
レンジメントによって、ページブレークはその都度発生
せず、テクスチャ値はテクスチャマップ252の異なっ
た行からアクセスされる。この手順においても好ましい
のは、タイルのサイズがユーザーによって選択され、そ
してそのユーザーはこれらのサイズの選択に際して可成
りのフレキシビリティを有することである。ここでの重
要な考察はまた、タイル内のデータロケーションの数に
よって測定されるようなタイルサイズは、ページ内のデ
ータロケーションの数によって測定されるようなページ
サイズに等しいことである。
【0035】当業者によって理解されるであろうよう
に、本発明の教示は多数の異なった具体的なシステムお
よび方法において使用することが出来る。たとえば、多
重画素値および多重テクスチャ値は1メモリ語内に格納
し得ることも言及可能である。これを行う場合、個々の
メモリアドレスを、個々のメモリ語を特定するために用
いるというよりはむしろ、個々の画素またはテクスチャ
値を利用すればよい。更に、多重タイルの幾何学的配置
も本発明の実施に際して使用可能であり、また1種類を
超える幾何学的配置をサポートする個別のハードウェア
システムを使用してもよい。更に、数多くの適切なアド
レシング・プロトコル(addressing protocols)が存在
し、それらはタイル内のデータロケーションに番号を付
するために使用してもよい。図6中に示す例に関して、
アドレス指定は各タイルの左上方角においてスタート
し、また左から右にタイル内の各行を横切って進行し、
そして下方へ行から行へと進行する。代替的に、アドレ
ス指定は左上方角においてスタートし、また各列を下方
へ進行し、次いで右方向へ列から列へと進行する。ある
いは、アドレス指定は左下方においてスタートし、そし
て各列を上へ進行し、次いで右方へ列から列へと進行し
てもよい。更に別な例として、アドレス指定はチェッカ
ー盤状の態様において、連続したアドレスが物理的には
不連続であるアドレスロケーションに割り当てられるよ
うに進行してもよい。同様に、それらのタイルは如何な
る適切な方法において番号を付してもよい。たとえば、
それらのタイルには左から右へ、右から左へ、上方へま
たは下方へ、あるいは如何なる他の適切な方法において
番号を付してもよい。
【0036】ここに開示された発明は先に述べた目的を
成就するために十分に適合させてあるが、数多くの変形
および実施態様が当業者によって工夫し得ることは理解
されるであろうし、また添付された請求の範囲は、本発
明の真正な精神および範囲内にある限りこの種の変形お
よび実施態様をカバーするものであることを意図してい
る。
【図面の簡単な説明】
【図1】本発明を実施するために使用し得るコンピュー
タグラフィックスシステムを概略的に示すブロック図で
ある。
【図2】更に、本発明を実施するために使用し得る他の
コンピュータグラフィックスシステムを示すブロック図
である。
【図3】従来のメモリ構成を示す図である。
【図4】図2のコンピュータグラフィックスシステムの
ビデオディスプレイについての画素アレイを示す図であ
る。
【図5】図3のメモリ構成を用いる2個の多辺形を描出
するための手順を示す図である。
【図6】タイルに分離されるメモリを示す図である。
【図7】図6のタイル化メモリを用いて2個の多辺形を
描出するための手順を示す図である。
【図8】図6のタイル化メモリを用いて2個の多辺形を
描出するための他の手順を示す図である。
【図9】図6のタイル化メモリを用いて2個の多辺形を
描出するための第三の手順を示す図である。
【図10】図6のメモリ構成を示し、かつタイル化アド
レスと称されるアドレスを計算するために使用される各
種の値を概念的に示す図である。
【図11】フェンスと呼ばれる境界によって領域に分離
された線形メモリ構成の表示を表す図である。
【図12】図3のメモリ構成と共に使用することが意図
されるメモリアドレスを、画素値がタイル化形状におい
て格納されるメモリと共に使用するためのアドレスに翻
訳するためのハードウェア回路を示す図である。
【図13】図12のコンパレータユニットの回路をより
詳細に示す図である。
【図14】図13の回路のアドレス演算ユニットをより
詳細に示す図である。
【図15】代替のアドレス演算ユニットを示す図であ
る。
【図16】パースペクティブ・マッピングファンクショ
ンによってテクスチャマップ上にマップされた多辺形を
示す図である。
【符号の説明】
70 メモリ 72 メモリロケーション
───────────────────────────────────────────────────── フロントページの続き (71)出願人 599063620 ジョン オースチン キャリー アメリカ合衆国、フロリダ州 32708、ウ ィンター スプリングス、ベンチウッド コート 840 (71)出願人 599063631 トーマス エー.ピアッツァ アメリカ合衆国、カルフォルニア州 95746、グラニット ベイ、チェルシャー ロード 5046 (71)出願人 599063642 ラルフ クレイトン テイラー アメリカ合衆国、フロリダ州 32724、デ ィランド、ロックウェル ハイツ 1548 (71)出願人 599063653 マシュー レイデッキ アメリカ合衆国、フロリダ州 32765、オ ヴィエドゥ、ブリル アベニュー 1016 (72)発明者 スコット ハートグ アメリカ合衆国、フロリダ州 32835、オ ーランド、キャニオン レイク サークル 7991 (72)発明者 マイケル マンター アメリカ合衆国、フロリダ州 32829、オ ーランド、サドル クリーク プレイス 4318 (72)発明者 ジョン オースチン キャリー アメリカ合衆国、フロリダ州 32708、ウ ィンター スプリングス、ベンチウッド コート 840 (72)発明者 トーマス エー.ピアッツァ アメリカ合衆国、カルフォルニア州 95746、グラニット ベイ、チェルシャー ロード 5046 (72)発明者 ラルフ クレイトン テイラー アメリカ合衆国、フロリダ州 32724、デ ィランド、ロックウェル ハイツ 1548 (72)発明者 マシュー レイデッキ アメリカ合衆国、フロリダ州 32765、オ ヴィエドゥ、ブリル アベニュー 1016

Claims (22)

    【特許請求の範囲】
  1. 【請求項1】 ランダムアクセスメモリ(RAM) 内の画素
    についての多数の四辺形タイル用の画素データであっ
    て、ここにおいて各タイルはMピクセルの高さおよびN
    ピクセルの幅を有し、各タイルのための画素データはRA
    M の各1ページを略満たし、そしてアレイの各画素はそ
    のRAM 内に格納される画素値の1個と関連するものを記
    憶する工程と、 多辺形のグループをラスタ化する工程であって、多辺形
    のそれぞれについて、工程、 i)多辺形内に存在するアレイ上の画素のセットを同定
    することと、 ii)定義した順序において多辺形内の画素を走査する
    ことと、 iii)前記定義した順序において画素のそれぞれに関
    して、RAM から画素に関連する値をフェッチし、かつそ
    のフェッチした値を利用して画素のために翻訳した値を
    決定することとを包含し、 この場合、タイルのサイズおよび寸法は画素を共にグル
    ープ化し、タイルおよび多辺形間の空間的コヒーレンス
    を増加させることによって選択され、それにより多辺形
    のラスタ化の間に発生するページブレークの数を減少さ
    せるものとを含んで構成されることを特徴とするRAM か
    らデータを記憶し、かつ検索して画素のアレイのために
    翻訳された値を計算し、ここにおいてRAM が多数のペー
    ジを含んで成るものである方法。
  2. 【請求項2】 走査工程が、多辺形内に画素を有するタ
    イルのそれぞれについて、1回に1個のタイルを、同様
    に多辺形内に存在するタイル内の全ての画素を横切って
    走査する工程を包含する請求項1記載の方法。
  3. 【請求項3】 記憶工程が、タイルのそれぞれを規則正
    しいスパンのアレイに分離する工程であって、各スパン
    はhピクセルの高さとwピクセルの幅とを有するもので
    あることを包含し、 走査工程は、多辺形内の画素を有
    するスパンのそれぞれについて、1回に1個のスパン
    を、同様に多辺形内に存在するスパン内の全ての画素を
    横切って走査する工程を包含する請求項1記載の方法。
  4. 【請求項4】 記憶工程が、各画素について、画素値が
    メモリ内に線形に構成される際、画素に関するデータ値
    を格納するためのメモリ内のロケーションを同定するス
    カラアドレス値を提供する工程と、 提供されたスカラアドレス値を他のスカラアドレス値で
    あって、画素のためのデータ値を実際に格納するための
    RAM 内のロケーションを同定するものに翻訳する工程と
    を包含する請求項1記載の方法。
  5. 【請求項5】 多数のページを含むランダムアクセスメ
    モリ(RAM) と、 RAM 内の画素についての多数の四辺形タイルのための画
    素データであって、ここにおいて各タイルはMピクセル
    の高さおよびNピクセルの幅を有し、各タイルのための
    画素データはRAM の各1ページを略満たし、そしてアレ
    イの各画素はそのRAM 内に格納される画素値の1個と関
    連するものを記憶するための手段と、 多辺形のグループをラスタ化するための手段であって、
    それが、 i)多辺形内に存在するアレイ上の画素のセットを同定
    する手段と、 ii)定義した順序において各多辺形内の画素を走査す
    る手段と、 iii)走査した画素のそれぞれに関して、かつ前記定
    義した順序において、RAM から画素に関連する値をフェ
    ッチし、かつそのフェッチした値を利用して画素のため
    に翻訳した値を決定する手段とを包含し、 この場合、タイルのサイズおよび寸法は画素を共にグル
    ープ化し、タイルおよび多辺形間の空間的コヒーレンス
    を増加させることによって選択され、それにより多辺形
    のラスタ化の間に発生するページブレークの数を減少さ
    せるものとを含んで構成されることを特徴とするランダ
    ムアクセスメモリからのデータを記憶し、かつ検索して
    画素のアレイのために翻訳された値を計算するためのシ
    ステム。
  6. 【請求項6】 走査手段が、 多辺形のそれぞれについて、多辺形内に或る画素を有す
    るタイルを決定するための手段と、 多辺形のそれぞれ
    について、多辺形内に画素を有するタイルのそれぞれに
    ついて、同様に多辺形内に存在する決定されたタイル内
    の画素を決定するための手段と、 多辺形のそれぞれについて、全ての決定されたタイル内
    の決定された画素を横切って、1回に1個のタイルを走
    査するための手段とを包含する請求項5記載のシステ
    ム。
  7. 【請求項7】 記憶手段が、タイルのそれぞれを規則正
    しいスパンのアレイに分離するための手段であって、各
    スパンはhピクセルの高さとwピクセルの幅とを有する
    ものである手段を包含し、 走査手段は、 多辺形内の画素を有するスパンを、多辺形のそれぞれに
    ついて、決定するための手段と、 同様に多辺形内に存
    在する決定されたスパン内の画素を、多辺形のそれぞれ
    について、決定するための手段と、 多辺形のそれぞれについて、決定されたスパン内の全て
    の決定された画素を横切って、1回に1個のスパンを、
    走査するための手段とを包含する請求項5記載のシステ
    ム。
  8. 【請求項8】 記憶手段が、 各画素について、画素値がメモリ内に線形に構成される
    際、画素に関するデータ値を格納するためのメモリ内の
    ロケーションを同定するスカラアドレス値を提供する手
    段と、 提供されたスカラアドレス値を他のスカラアドレス値で
    あって、画素のためのデータ値を実際に格納するための
    RAM 内のロケーションを同定するものに翻訳するための
    手段とを包含する請求項5記載のシステム。
  9. 【請求項9】 ランダムアクセスメモリ(RAM) 内のテク
    セルについての多数の四辺形タイル用のテクスチャデー
    タであって、ここにおいて各タイルはMテクセルの高さ
    およびNテクセルの幅を有し、各タイルのためのテクス
    チャデータはRAM の各1ページを略満たし、そして各テ
    クセルはそのRAM 内に格納されるテクスチャ値の1個と
    関連するものを記憶する工程と、 多辺形のグループをラスタ化する工程であって、多辺形
    のそれぞれについて、工程、 i)多辺形内に存在するアレイ上の画素のセットを同定
    することと、 ii)定義した順序において多辺形内の画素を走査する
    ことと、 iii)前記定義した順序において画素のそれぞれに関
    して、テクセルの少なくとも1個上に画素をマッピング
    し、RAM から前記少なくとも1個のテクセルに関連する
    値をフェッチし、そしてそのフェッチした値を利用して
    画素のためにテクスチャした値を決定することとを包含
    し、 この場合、タイルのサイズおよび寸法はテクセル
    を共にグループ化し、タイルおよび多辺形中の画素から
    マップされたテクセル間の空間的コヒーレンスを増加さ
    せることによって選択され、それにより画素のラスタ化
    の間に発生するページブレークの数を減少させるものと
    を含んで構成されることを特徴とするRAM からデータを
    記憶し、かつ検索して画素のアレイのためにテクスチャ
    された値を計算し、ここにおいてRAM が多数のページを
    含んで成るものである方法。
  10. 【請求項10】 画素のアレイは画素タイルのアレイに
    分離され、そしてフェッチング工程は、多辺形のそれぞ
    れについて、 多辺形内に画素を有する画素タイルのそれぞれについ
    て、1回に1個の画素タイルで、画素タイル内の画素か
    らマップされる全てのテクセルに関する値をフェッチす
    る工程を包含する請求項9記載の方法。
  11. 【請求項11】 画素のアレイは画素タイルのアレイに
    分離され、また画素タイルのそれぞれは画素スパンの規
    則正しいアレイに分離され、そしてフェッチング工程
    は、 多辺形のそれぞれについて、 多辺形内に画素を有する画素スパンのそれぞれについ
    て、1回に1個の画素スパンで、画素スパン内の画素か
    らマップされる全てのテクセルに関する値をフェッチす
    る工程を包含する請求項9記載の方法。
  12. 【請求項12】 多数のページを含むランダムアクセス
    メモリ(RAM) と、 RAM 内のテクセルについての多数の四辺形タイル用のテ
    クスチャデータであって、ここにおいて各タイルはMテ
    クセルの高さおよびNテクセルの幅を有し、各タイルの
    ためのテクスチャデータはRAM の各1ページを略満た
    し、そして各テクスチャはそのRAM 内に格納されるテク
    スチャ値の1個と関連するものを記憶するための手段
    と、 多辺形のグループをラスタ化するための手段であって、
    それが、 i)多辺形内に存在するアレイ上の画素を同定する手段
    と、 ii)定義した順序において各多辺形内の画素を走査す
    る手段と、 iii)RAM から前記少なくとも1個のテクセルと関連
    する値をフェッチし、かつそのフェッチした値を利用し
    て画素のためにテクチャされた値を決定するために、前
    記定義した順序において、走査した画素のそれぞれを、
    少なくとも1個のテクセル上にマッピングするための手
    段とを包含し、 この場合、タイルのサイズおよび寸法は画素を共にグル
    ープ化し、タイルおよび多辺形間の空間的コヒーレンス
    を増加させることによって選択され、それにより画素の
    ラスタ化の間に発生するページブレークの数を減少させ
    るものとを含んで構成されることを特徴とするランダム
    アクセスメモリからのデータを記憶し、かつ検索して画
    素のアレイのためにテクスチャされた値を計算するため
    のシステム。
  13. 【請求項13】 画素のアレイは画素タイルのアレイに
    分離され、そしてフェッチング手段が、 多辺形のそれぞれについて、多辺形内に或る画素を有す
    る画素タイルを決定するための手段と、 決定されたタ
    イルのそれぞれについて、1回につき1個の決定された
    タイルで、決定されたタイル内の画素からマップされた
    全てのテクセルに関する値をフェッチするための手段と
    を包含する請求項12記載のシステム。
  14. 【請求項14】 画素のアレイは画素タイルのアレイに
    分離され、また画素タイルのそれぞれが画素スパンの規
    則正しいアレイに分離され、そしてフェッチング手段
    が、 多辺形のそれぞれについて、多辺形内に或る画素を有す
    る画素スパンを決定するための手段と、 決定されたス
    パンのそれぞれについて、1回につき1個の画素スパン
    で、決定されたスパン内の画素からマップされた全ての
    テクセルに関する値をフェッチするための手段とを包含
    する請求項12記載のシステム。
  15. 【請求項15】 線形アドレスを用いてメモリ内のデー
    タ値のロケーションに関する2個の四辺形座標を決定す
    る工程であって、前記四辺形座標はメモリ内のデータ値
    のロケーションについてのデータ行およびデータ列を特
    定するものと、 前記2個の四辺形座標を用いて、メモリ内のデータ値の
    ロケーションに関するタイル化されたアドレスを決定す
    る工程とを含んで成ることを特徴とする記憶領域内のデ
    ータ値のロケーションに関するタイル化されたアドレス
    を前記ロケーションに関する線形アドレスから計算する
    方法であって、ここにおいて記憶領域は四辺形タイルの
    規則正しいアレイを含んで構成され、そして各タイルは
    複数ライン高さおよび複数データロケーション幅を有し
    ている方法。
  16. 【請求項16】 記憶領域用のベースアドレスを提供す
    るための工程を更に含んで成り、そしてここにおいて2
    個の四辺形座標を利用する工程が、工程: (a)特定のタイル行に対してオフセットを決定するこ
    とと、 (b)特定のタイルに対しオフセットを決定すること
    と、 (c)特定のデータ行に対しオフセットを決定すること
    と、 (d)特定のデータ行におけるロケーションに対しオフ
    セットを決定することと、 (e)ベースアドレスおよび工程(a)−(d)におい
    て決定されたオフセットを総計することとを包含する請
    求項15記載の方法。
  17. 【請求項17】 特定のタイル行に対しオフセットを決
    定する工程が、工程:タイル高さを同定することと、 タイル幅を同定することと、 タイルのユニット中のメモリ幅を同定することと、 記憶領域の冒頭および特定のタイル行間の行数を同定す
    ることと、 前記タイル高さに前記タイル幅を、前記メモリ幅を、前
    記タイルの行数を掛けることとを包含する請求項16記
    載の方法。
  18. 【請求項18】 メモリユニット内の多数の別個の記憶
    領域を同定する工程と、 記憶領域のそれぞれに関して、記憶領域内の全てのデー
    タロケーションのために、翻訳を要するパラメータ、デ
    ータロケーションのためのタイル化アドレスに対する各
    データロケーションに関する線形アドレスを特定する工
    程であって、 ここにおいて、記憶領域のそれぞれが線形構成およびタ
    イル化構成中で異なった回数、データを記憶し得るもの
    とを含んで成ることを特徴とするデータ記憶ロケーショ
    ンのアレイを有する記憶ユニットを使用する方法。
  19. 【請求項19】 線形アドレスを提供してメモリユニッ
    ト内のデータ値にアクセスする工程と、 前記線形アドレスを有する記憶領域の一つを同定する工
    程と、 もし、記憶領域内の前記同定された一つに線形構成にお
    いてデータが記憶されれば、前記線形アドレスにおいて
    記憶されたデータ値をフェッチする工程と、 もし、記憶領域内の前記同定された一つにタイル化構成
    においてデータが記憶されれば、 i)前記特定されたパラメータを用いて、その線形アド
    レスをタイル化アドレスに翻訳する工程と、 ii)前記タイル化アドレスにおいて記憶されたデータ
    値をフェッチングする工程とを更に含んで構成される請
    求項18記載の方法。
  20. 【請求項20】 線形アドレスをタイル化アドレスに翻
    訳するために必要とされるパラメータを特定する工程
    が、工程:それぞれ1個のレジスタ領域を記憶領域のそ
    れぞれと関連させることと、 その記憶領域と関連するレジスタ領域内の各メモリ領域
    のためにパラメータを記憶することとを包含する請求項
    18記載の方法。
  21. 【請求項21】 メモリユニットを多数の別個の記憶領
    域に分離する工程と、 前記多数の記憶領域のサブセット内のタイル化をアクテ
    ィブとする工程であって、 前記記憶領域のサブセットのそれぞれについて、その領
    域内のデータロケーションのために、それぞれのデータ
    ロケーション用の線形アドレスをタイル化アドレスに翻
    訳することを要するパラメータを特定することを包含す
    るものと、 線形アドレスを提供して、メモリユニット内のデータロ
    ケーションにアクセスする工程と、 データロケーショ
    ンを有する記憶領域を決定する工程と、 前記決定された記憶領域内でタイル化がアクティブかど
    うかを決定する工程と、 もし、前記決定された記憶領域内でタイル化がアクティ
    ブでなければ、前記線形アドレスにより同定されたデー
    タロケーションにアクセスする工程と、 もし、前記決定された記憶領域内でタイル化がアクティ
    ブであれば、 i)線形アドレスをタイル化アドレスに翻訳するために
    記憶領域用に特定されたパラメータを用いる工程と、 ii)前記タイル化されたアドレスによって同定された
    データロケーションにアクセスする工程とを含んで成る
    ことを特徴とする多数のデータ記憶ロケーションを有す
    るメモリユニットを使用してデータ値を保持するための
    方法。
  22. 【請求項22】 多数のデータ記憶ロケーションを包含
    し、かつ多数の別個の記憶領域に分離されるランダムア
    クセスメモリ(RAM) と、 記憶領域のそれぞれに関して、 i)その記憶領域においてタイル化がアクティブである
    かどうかを示すための手段、および ii)もし、その記憶領域においてタイル化がアクティ
    ブであれば、領域内のデータロケーションに関して、各
    データロケーション用の線形アドレスをタイル化アドレ
    スに翻訳するために必要とされる特定パラメータを保持
    するためのレジスタと、 線形アドレスを提供して、メモリユニット内のデータロ
    ケーションにアクセスするための手段と、 データロケーションを有する記憶領域を決定するための
    手段と、 前記決定された記憶領域内でタイル化がアクティブであ
    るかどうかを決定するための手段と、 (i)もし、前記決定された記憶領域内でタイル化がア
    クティブでなければ、前記線形アドレスにより同定され
    たデータロケーションにアクセスするための手段と、 (ii)もし、前記決定された記憶領域内でタイル化が
    アクティブであれば、線形アドレスをタイル化アドレス
    に翻訳するために、決定された記憶領域に関し特定され
    たパラメータを使用し、かつ前記タイル化アドレスによ
    って同定されたデータロケーションにアクセスするため
    の手段とを含んで成ることを特徴とするデータ値を線形
    およびタイル化アレンジメントの双方において保持する
    ためのシステム。
JP13046799A 1998-04-01 1999-04-01 空間タイル化アルゴリズム/メカニズムに対する線形サ―フェスメモリ Pending JP2000090280A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US8027098P 1998-04-01 1998-04-01
US60/080270 1998-04-01

Publications (1)

Publication Number Publication Date
JP2000090280A true JP2000090280A (ja) 2000-03-31

Family

ID=22156301

Family Applications (1)

Application Number Title Priority Date Filing Date
JP13046799A Pending JP2000090280A (ja) 1998-04-01 1999-04-01 空間タイル化アルゴリズム/メカニズムに対する線形サ―フェスメモリ

Country Status (4)

Country Link
JP (1) JP2000090280A (ja)
CA (1) CA2267870A1 (ja)
GB (1) GB2336086B (ja)
TW (1) TW513676B (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8605100B2 (en) 2010-06-24 2013-12-10 Fujitsu Limited Drawing device and drawing method

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6417848B1 (en) * 1997-08-25 2002-07-09 Ati International Srl Pixel clustering for improved graphics throughput
AU731863B2 (en) * 1999-04-29 2001-04-05 Canon Kabushiki Kaisha Image processing operation in hierarchical memory systems
WO2001095257A1 (en) 2000-06-08 2001-12-13 Imagination Technologies Limited Tiling and compression for rendering 3d images
US9232156B1 (en) 2014-09-22 2016-01-05 Freescale Semiconductor, Inc. Video processing device and method
CN113375568B (zh) * 2021-05-12 2023-03-31 苏州阿普奇物联网科技有限公司 一种基于激光扫描的金属拉丝抛光不良检测方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5131080A (en) * 1987-08-18 1992-07-14 Hewlett-Packard Company Graphics frame buffer with RGB pixel cache
US5251293A (en) * 1987-09-02 1993-10-05 Ascii Corporation Character display apparatus
US5056044A (en) * 1989-12-21 1991-10-08 Hewlett-Packard Company Graphics frame buffer with programmable tile size
US5517609A (en) * 1990-08-06 1996-05-14 Texas Instruments Incorporated Graphics display system using tiles of data
TW245871B (en) * 1994-08-15 1995-04-21 Gen Instrument Corp Method and apparatus for efficient addressing of dram in a video decompression processor

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8605100B2 (en) 2010-06-24 2013-12-10 Fujitsu Limited Drawing device and drawing method

Also Published As

Publication number Publication date
GB2336086A (en) 1999-10-06
TW513676B (en) 2002-12-11
GB9907701D0 (en) 1999-05-26
GB2336086B (en) 2002-12-11
CA2267870A1 (en) 1999-10-01

Similar Documents

Publication Publication Date Title
US7042460B2 (en) Method and apparatus for rasterizing in a hierarchical tile order
US5821944A (en) Computer graphics pixel rendering system with multi-level scanning
EP0430501B1 (en) System and method for drawing antialiased polygons
KR100300972B1 (ko) 텍스춰매핑수행장치및텍스춰캐시의데이터억세스방법
JP4203128B2 (ja) 3次元の三角形描画におけるブロック及びバンド志向走査
US6900800B2 (en) Tile relative origin for plane equations
US7227556B2 (en) High quality antialiased lines with dual sampling pattern
US6731288B2 (en) Graphics engine with isochronous context switching
US5841447A (en) System and method for improving pixel update performance
JPH10105723A (ja) テクスチャ・マッピングのメモリ構成
US20090070079A1 (en) Sliced data structure for particle-based simulation, and method for loading particle-based simulation using sliced data structure into GPU
JPH04222071A (ja) テキスチュア・マッピング方法及びその装置
US7580042B2 (en) Systems and methods for storing and fetching texture data using bank interleaving
JP2001507836A (ja) タイルリニアホストテクスチャストレージ
US20070211070A1 (en) Texture unit for multi processor environment
Gharachorloo et al. A characterization of ten rasterization techniques
US6999091B2 (en) Dual memory channel interleaving for graphics and video
JPH10320573A (ja) 画像処理装置及び画像処理方法
JP2000090280A (ja) 空間タイル化アルゴリズム/メカニズムに対する線形サ―フェスメモリ
US6236408B1 (en) Computer graphics pixel rendering system with multi-level scanning
US6031550A (en) Pixel data X striping in a graphics processor
US6816162B2 (en) Data management to enable video rate anti-aliasing convolution
JPH01125234A (ja) パッチ化システム
US5841446A (en) Method and apparatus for address mapping of a video memory using tiling
GB2374780A (en) A linear surface memory to spatial tiling algorithm/mechanism

Legal Events

Date Code Title Description
A072 Dismissal of procedure

Free format text: JAPANESE INTERMEDIATE CODE: A073

Effective date: 20060131