JP2003536153A - 三次元イメージレンダリングのためのタイリング及び圧縮 - Google Patents

三次元イメージレンダリングのためのタイリング及び圧縮

Info

Publication number
JP2003536153A
JP2003536153A JP2002502720A JP2002502720A JP2003536153A JP 2003536153 A JP2003536153 A JP 2003536153A JP 2002502720 A JP2002502720 A JP 2002502720A JP 2002502720 A JP2002502720 A JP 2002502720A JP 2003536153 A JP2003536153 A JP 2003536153A
Authority
JP
Japan
Prior art keywords
data
image
shading
memory
display list
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2002502720A
Other languages
English (en)
Other versions
JP2003536153A5 (ja
JP4851049B2 (ja
Inventor
スティーブン モーフェット
Original Assignee
イマジネイション テクノロジーズ リミテッド
スティーブン モーフェット
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from GB0014037A external-priority patent/GB0014037D0/en
Application filed by イマジネイション テクノロジーズ リミテッド, スティーブン モーフェット filed Critical イマジネイション テクノロジーズ リミテッド
Publication of JP2003536153A publication Critical patent/JP2003536153A/ja
Publication of JP2003536153A5 publication Critical patent/JP2003536153A5/ja
Application granted granted Critical
Publication of JP4851049B2 publication Critical patent/JP4851049B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/40Filling a planar surface by adding surface attributes, e.g. colour or texture
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/005General purpose rendering architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/50Lighting effects
    • G06T15/80Shading
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/20Finite element generation, e.g. wire-frame surface description, tesselation
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G3/00Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes
    • G09G3/001Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes using specific devices not provided for in groups G09G3/02 - G09G3/36, e.g. using an intermediate record carrier such as a film slide; Projection systems; Display of non-alphanumerical information, solely or in combination with alphanumerical information, e.g. digital display on projected diapositive as background
    • G09G3/003Control arrangements or circuits, of interest only in connection with visual indicators other than cathode-ray tubes using specific devices not provided for in groups G09G3/02 - G09G3/36, e.g. using an intermediate record carrier such as a film slide; Projection systems; Display of non-alphanumerical information, solely or in combination with alphanumerical information, e.g. digital display on projected diapositive as background to produce spatial visual effects
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/36Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
    • G09G5/363Graphics controllers
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/36Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
    • G09G5/39Control of the bit-mapped memory
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/04Indexing scheme for image data processing or generation, in general involving 3D image data
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2310/00Command of the display device
    • G09G2310/04Partial updating of the display screen
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2360/00Aspects of the architecture of display systems
    • G09G2360/12Frame memory handling
    • G09G2360/122Tiling

Abstract

(57)【要約】 三次元コンピュータ生成イメージは、イメージを複数の矩形領域に細分化することにより生成される。各々の矩形領域のオブジェクトデータは、ディスプレイリストメモリ(4)が実質的に満杯になるまで、そのメモリにロードされる。各々の矩形領域の各々の画素のイメージデータ及びシェイディングデータは、イメージ合成プロセッサ(6)によってオブジェクトデータから引き出される。次に、イメージデータは、ローカルメモリ(16)に記憶され、別のオブジェクトデータは、ディスプレイリストメモリ(4)にロードされ、既存の内容と置き換えられる。これが起こると、記憶されているイメージデータ及びシェイディングデータが検索され、新しいオブジェクトデータと以前に引き出されたイメージデータ及びシェイディングデータとを使用して、イメージ合成プロセッサ(6)によって、各々の画素に関する追加のイメージデータ及びシェイディングデータが引き出される。ディスプレイリストメモリにロードする別のオブジェクトデータがない場合は、フレームバッファ(11)によって矩形領域に関するシェイディングデータが表示のために供給される。少なくとも1つのブロックをディスプレイリストメモリから各々の矩形領域に割り当てた後に、その矩形領域と交差する面に関連するデータをそのメモリブロックに記憶することによりメモリを管理できる。矩形領域について所定数のブロックが使用されている場合を判定する。この数に達すると、システムは、矩形領域のシェイディングデータを引き出すことを開始し、これにより、ディスプレイリストメモリにおいて別の矩形領域に割り当てられる記憶ブロックが解放される。

Description

【発明の詳細な説明】
【0001】 本発明は、三次元コンピュータ生成イメージを生成するシステムと共に使用す
るメモリ管理装置に関する。
【0002】 本出願人による英国特許第2281682号には、ポリゴン三次元イメージ作
成システムが説明されており、各々のオブジェクトは、一連の無限の面によって
表示される。イメージが表示される画面の各々の基本領域は、これを通して視点
から三次元シーンへ投影される光線を受ける。投射された光線が各々の面と交差
する位置が決定される。これらの交差位置から、任意の交差面がその基本領域に
おいて見えるか否かを決定することが可能である。その決定結果に基づいて基本
領域が表示のためにシェイディングされる。
【0003】 このシステムは、複数のセルを備えるパイプライン型プロセッサで実行でき、
各々が面との交差位置の計算を行うことができる。つまり、多数の面交差位置を
同時に計算できる。各々のセルは、交差位置テストを行う面を定義する一連の係
数をロードする。
【0004】 英国特許出願第2298111号には改良されたシステムが説明されている。
この出願において、イメージ平面は、タイルを順番に処理できるようにサブ領域
又はタイルに細分化されている。可変タイルサイズを使用して、複雑なオブジェ
クトの回りに境界ボックスを投影することが提案されており、境界ボックスの範
囲に含まれるタイルのみを処理するようになっている。このことは、最初に、適
切なタイルサイズを選択するために、可視画面上のオブジェクト分布を決定する
ことにより行われる。次に、種々のオブジェクトを定める面が、ディスプレイリ
ストとして知られているリストに記憶され、これにより、多数の面で作られた1
つのオブジェクトが複数のタイルに現れる場合があるので、各々のタイルに対し
て同一の面を記憶することが回避される。ディスプレイリストのオブジェクトを
特定するオブジェクトポインタも同様に記憶されている。タイル毎に1つのオブ
ジェクトポインタリストが存在する。また、前述の投光手法を利用して各々のタ
イル内の全てのオブジェクトが処理されるまで、タイルは順番にレンダリングさ
れる。このことは、特定のタイルでは見えないことが分かっているオブジェクト
をレンダリングする必要がないので好都合である。
【0005】 国際特許出願第PCT/GB99/03707には他の改良されたシステムが
提案されており、特定のオブジェクトを表示する必要がない境界ボックスのタイ
ルは、レンダリングの前に破棄される。
【0006】 図1には、使用するプロセッサ形式のブロック図が示されている。これはタイ
ルアクセラレータユニット2を備えており、前述のタイリング操作を行ってタイ
ル情報をディスプレイリストメモリ4へ供給するようになっている。次に、処理
のためのタイルオブジェクトデータは、イメージ合成プロセッサ(ISP)6に
供給され、前述の光線/面交差位置のテストを行うようになっている。これはオ
ブジェクト識別データ及び奥行きデータを含むイメージデータをもたらす。その
後、このイメージデータは、テクスチャリング/シェイディングプロセッサ(T
SP)8に供給され、テクスチャリング及びシェイディングデータを目に見える
と決定されている面に適用し、イメージシェイディングデータをフレーム記憶装
置へ出力するようになっている。
【0007】 多くの三次元グラフィックシステムは、即時モードレンダリングとして知られ
ている手法を利用する。この形式のレンダリングは、ディスプレイリストメモリ
内のシーン全体のコピーを記憶する必要がない。その代わりに、各々のポリゴン
は、レンダリングハードウェアに送られると即座にレンダリングされる。このこ
とは、ディスプレイリストメモリの記憶要件を回避するという利点がある。しか
し、本出願人の英国特許第2281682号に説明され、英国特許出願第229
8111号で改良された形式のレンダリング手法で可能な注目に値する最適化を
不可能にする。据え置きテクスチャ法及び透過ソート法などの利点は、この種の
アーキテクチャを使用すれば可能である。
【0008】 三次元グラフィックシステムを使用してレンダリングする必要があるシーンの
複雑さ、ハードウェアが強力になるに従って増してくる。しかし、このことは、
ディスプレイリストの記憶要件も高くなるので、ディスプレイリストを基本にし
たレンダリングシステムに関する問題点を提示する。従来、ディスプレイリスト
メモリの空きがなくなれば、単にシーンの一部がレンダリングされないだけであ
った。この種のイメージ破壊はもはや容認できないと考えられている。シーンの
複雑さが増すのに追従してメモリのコストは安くなっていないので、システムの
メモリ量を増やすにも限界がある。
【0009】 本発明の好適な実施形態は、メモリ消費量に上限を設けるが、同時にシステム
により消費されるメモリ帯域幅を最小限に抑えることを試みる方法で、ディスプ
レイリストを管理する方法を提供する。このことは、タイルレンダリングが終了
する前にシステム(ISP及びTSP)の状態をメモリに記憶して、レンダリン
グを終了するために後でこの状態を再ロードすることにより達成できる。この手
法を「z/フレームバッファのロード/記憶」と呼ぶ。
【0010】 好適な実施形態において、この画面は、マクロタイルと呼ぶ複数の領域に分割
され、各々は複数の小さなタイルで作られた、画面の矩形領域から構成されてい
る。次に、ディスプレイリスト内のメモリは、ブロックに分割されて、空き記憶
域リストに記載される。次に、空き記憶域リストのブロックは、必要に応じてマ
クロタイルに割り当てられる。タイリング操作により、ポリゴンパラメータデー
タと、目に見える各々のマクロタイルに関連する各々のブロックについての面オ
ブジェクトポインタが記憶される。パラメータのためのメモリが満杯になるか、
又は所定の閾値に達すると、システムは、マクロタイルを選択し、z/フレーム
バッファロードを実行して、マクロタイルの内容をレンダリングした後に、これ
をz/フレームバッファ記憶操作を利用して記憶する。レンダリングが終了する
と、システムは、マクロタイルに関連する任意のメモリブロックを解放するので
、それらのメモリブロックは、別のパラメータの記憶に利用可能になる。z/フ
レームバッファのロード及び記憶操作は、従来のように画面上の全てのタイルで
はなく、実際にレンダリングされるマクロタイルに制限される。次に、表示され
る現在のフレーム又は次回のフレームのいずれかのタイル処理は、マクロタイル
のレンダリング及び同一プールから別のマクロタイルへのメモリブロックの割り
当てに並行して続けられる。パラメータリストの二重バッファリングを行う必要
がないので、システムのメモリ要件が更に軽減される。
【0011】 本発明は、参照すべき添付の特許請求の範囲に更に明確に定義されている。 以下に本発明の好適な実施形態を、添付図面を参照して例示的に詳細に説明す
る。
【0012】 図1のシステムにおいて、表示されるポリゴンは、平面の三角形に分解される
。これらを表すデータは、ハードウェア又はソフトウェアのいずれかによって画
面空間表現に変換されて、ローカルメモリに記憶される。次に、タイルアクセラ
レータ2により実行されるタイリングプロセスにより、画面内の各々のタイルの
変換三角形データに関するポインタリストが作成される。次に、このリストは、
三角形が一部となっているオブジェクトに関連するパラメータと共に、ディスプ
レイリストに記憶される。このことは図2に概略的に示されており、領域ヘッダ
10は、図示のタイル1から8の識別に対応する。図示のように、タイルは、オ
ブジェクトA及びオブジェクトBという2つの三角形を覆っている。オブジェク
トAは、タイル1、2、5、6、7に見ることができ、オブジェクトBは、タイ
ル3、7に見ることができる。
【0013】 ディスプレイリスト12は、タイルから各々のタイル内に見ることができるオ
ブジェクトデータを受け取り、各々のオブジェクトに関連するパラメータ、即ち
、この例ではパラメータAとパラメータBとのリンク付けが行なわれる。つまり
、タイル1、2、5、6、7のオブジェクトポインタはパラメータAを指し、タ
イル3、7のオブジェクトポインタはパラメータBを指すことが分かる。このデ
ータがイメージ合成プロセッサ6及びテクスチャリング/シェイディングプロセ
ッサ8に供給されると、正しいイメージが各々のタイル画素に適用される。
【0014】 ディスプレイリストの大きさに対してイメージが複雑な場合、ディスプレイリ
ストの全タイルデータを同時に記憶できない場合があるので、z/フレームバッ
ファのロード/記憶と呼ぶ手法を使用する。その結果、ディスプレイリストには
、データが、実質的に満杯になるまでタイルアクセラレータによってロードされ
る。これはイメージデータの一部を示すに過ぎない。次に、このデータは、IS
P及びTSPによってレンダリングされ、その結果はローカルメモリに記憶され
る。これを部分レンダリングと呼ぶ。イメージは、通常の方法で一度に1つのタ
イルがレンダリングされる。各々のタイルのレンダリング後に、ISPの内部状
態(z、ステンシル、及びオブジェクトアドレス情報を含む)が外部メモリに書
き込まれ、TSPからのイメージデータがフレームバッファに書き込まれる。こ
れら2つの操作は一緒になってz/フレームバッファの記憶操作を構成する。部
分レンダリングの終わりに、画面上の各々のタイルに対するレンダリング及びz
/フレームバッファ記憶操作が発生している。
【0015】 この時点で、ディスプレイリストの第1の部分が破棄され(このデータはタイ
ルをレンダリングするのに使用した)、メモリは、タイルアクセラレータから別
の出力を受け取るために使用される。ディスプレイリストメモリが再度満杯にな
るか、又はタイルアクセラレータがシーンデータの終わりに達すると、別の部分
レンダリングが発生する。各々のタイルに対して順番に処理が始まると、先に記
憶したISPデータ情報は外部メモリから再ロードされ、必要であれば、混合操
作を行うために、フレームバッファからのイメージデータをTSPにロードする
。これがz/フレームバッファロード操作である。従って、あたかも割り込みを
受けていないかのように、そのタイル内でディスプレイリストの次の部分をレン
ダリングできる。最後に、タイルがレンダリングされた後に、z/フレームバッ
ファ記憶は、必要なデータ情報を記憶するので、別のサイクルの部分レンダリン
グを発生可能になる。
【0016】 このように作動することにより、限られたメモリ量だけを使用して非常に複雑
なシーンのレンダリングが可能になる。
【0017】 図3は、本発明の実施形態のディスプレイリストのメモリがどのように割り当
てられるかを示す。図3において、図1に示すイメージ部は、この例ではマクロ
タイル1及びマクロタイル2という見出しを付けた2つのマクロタイルに分割さ
れていることが分かる。ディスプレイリストは、2つの部分に分割されており、
第1の部分はマクロタイル1に関し、第2の部分はマクロタイル2に関するもの
である。マクロタイル1のタイルの領域ヘッダは、全てマクロタイル1のオブジ
ェクトポインタに入る。マクロタイル1ではオブジェクトAしか見えないので、
パラメータA1のみをこのメモリブロックに記憶すればよい。従って、タイル1
、2、5、6のオブジェクトポインタは、全てパラメータA1を指していること
が分かる。
【0018】 マクロタイル2ではオブジェクトA及びオブジェクトBの両方が見えており、
両方ともタイル7に存在している。従って、パラメータA2及びパラメータB2
は、マクロタイル2の割り当てメモリブロックに記憶される必要がある。結果的
に、タイル7のオブジェクトポインタは、パラメータA2及びパラメータB2を
指し、一方で、タイル3のオブジェクトポインタは、パラメータB2のみを指し
ていることが分かる。
【0019】 マクロタイルのサイズは予め決定でき、又はシーンの複雑性に応じてマクロタ
イルのサイズを定義するシステムを実行できる。マクロタイリングプロセスは、
タイルアクセラレータ2による基本タイリング操作の下流側で実行できる。
【0020】 ディスプレイリストの記憶に利用可能なメモリは、最初に割り当てブロックに
分割され、各々のブロックのアドレスは、FIFO又は空き記憶域として知られ
るスタックに記憶される。ブロックサイズの選択は、大きなブロックによる空間
損失量と、多数の小さなブロックの管理に関連する記憶要件との間の妥協により
なされる。また、利用するメモリ技術の特性にも影響される。
【0021】 既にタイルに分割されている画面は、次に、マクロタイルに分割される。最も
単純な形態において、画面上の全てのマクロタイルは、同じ寸法であり、最小の
ものが1つのタイルに相当する。図3に示す例では、説明を簡単にするためにマ
クロタイルサイズ2x2を用いているが、実際には、そのサイズは大きくてもよ
い。
【0022】 最初に、全ての割り当てブロックは、空き記憶域(図示せず)にある。タイル
アクセラレータは、三角形等の特定のオブジェクトが交差する1組のタイル(及
びマクロタイル)を識別する。次に、マクロタイルと交差する第1のオブジェク
トデータが識別されると、各々のマクロタイルについて、順番に、空き記憶域か
らのブロックが要求され、そのマクロタイルと関連づけされる。次に、オブジェ
クトデータは、そのブロックに記憶される。現行のブロックで1つのデータを記
憶する空間が不足すると、空き記憶域からの更なるブロックが要求される。
【0023】 イメージ合成プロセッサ6及びテクスチャリング/シェイディングプロセッサ
8によってマクロタイルがレンダリングされると、関連のメモリブロックを空き
記憶域に戻すことができる。そのためには、ブロックを何とかして関連マクロタ
イルとリンク付けする必要がある。これを行う1つの可能な方法は、各々の割り
当てブロックにおいてワードを利用してブロックのリンクリストを生成すること
である。もしくは、空き記憶域リストからの割り当てブロックを追加及び取り除
くのではなく、空き記憶域構造内で生成される複数の使用ブロックの間のリンク
を用いて、現場で使用中又は未使用とマーキングすることができる。
【0024】 前述のように、タイルアクセラレータは、通常の方法で1組のタイル及び三角
形のストリップのストリップマスク情報を生成するのに使用される。更に、タイ
ルアクセラレータは、ストリップがどのマクロタイルに該当するか決定する。次
に、タイルアクセラレータ2は、ストリップが見える各々のマクロタイルの独立
したリストにパラメータデータを書き込む。このパラメータデータは、各々のマ
クロタイルに関してディスプレイリスト内の適切な位置に書き込まれる。データ
の何らかの重複が起こることは明らかである。しかし、このことは、他のマクロ
タイルのディスプレイリストに影響を与えることなく、マクロタイルがレンダリ
ングされた後に、特定のマクロタイルに関連する全てのメモリを解放することを
可能にする。
【0025】 表示されるイメージデータの第1のフレームの最初の部分でタイリングが始ま
る。各々のマクロタイルにおいて見えるオブジェクトの、オブジェクトポインタ
が生成され、マクロタイルにおいて見える各々のオブジェクトの、該当オブジェ
クトパラメータと共に、マクロタイルに割り当てられたディスプレイリストのブ
ロックに書き込まれる。このプロセスは、ディスプレイリストが実質的に満杯に
なるか、又は所定の閾値に達するまで、例えば、割り当てブロックの75%が使
用されるまで継続する。トリガーレベルに達すると、システムは、イメージ合成
プロセッサ及びテクスチャリング/シェイディングプロセッサを使用して、マク
ロタイルを選択し、そのレンダリングを開始してフレームバッファへ出力する。
マクロタイルの選択方法を以下に詳細に説明する。その判定は、複数の要因に基
づいていてもよい。典型的に、新しいデータのための最大量のメモリを解放する
ので、その時点で最大数の割り当てブロックを使用しているマクロタイルが選択
されることになる。タイリングは、第1のフレームのデータの残りのレンダリン
グと並行して継続する。75%閾値が使用される。その理由は、これにより、継
続中のタイリングプロセスによって割り当てられる十分な未使用メモリが残り、
一方で、他のメモリがレンダリングされて空き記憶域に戻されるからである。レ
ンダリング中のマクロタイルヘタイリングを行い得るように、その領域ヘッダ(
マクロタイルのポインタリスト及び割り当てブロックに対するポインタ)は、空
のタイルに対するポインタと交換される。従って、以前のマクロタイルのデータ
に対するレンダリングを継続でき、タイルアクセラレータは、空のタイルのため
の新しい割り当てブロックにデータを書き込むことができる。マクロタイルのレ
ンダリングが終了すると、割り当てブロックは、空き記憶域に戻される。従って
、メモリ使用量が閾値を超えている場合は別のマクロタイルが選択され、別のレ
ンダリング操作が始まる。75%閾値は調整可能なパラメータである。その理由
は、ISP及びTSPは、ディスプレイリストの大部分がメモリ内にある場合に
効率的に(リスト全体がメモリ内にあると最も効率的に)据え置きテクスチャリ
ング等の操作を行うことができるからである。閾値は、大きなディスプレイリス
トサイズの矛盾する要件と、シーンの残余部のタイル処理を行う適切な空間との
間でバランスが取れるように調整可能である。
【0026】 イメージデータのフレームのタイリングが終了すると、次に、システムは、前
のフレームのレンダリングが依然とし進行中であっても、新しいフレームのタイ
ル処理を開始できる。新しいフレームのマクロタイルに関連する割り当てブロッ
クは、前のフレームのマクロタイルに関連する割り当てブロックとは異なってい
る必要がある。このことは、前のフレームが使用したブロックとは独立した第2
のセットのブロックを保持することによって達成できる。このことは、第2のセ
ットの領域ヘッダを独立して保持することによって達成できる。全てのフレーム
に対して割り当てブロックは同一の空き記憶域から取り込まれるが、このことは
ディスプレイリストのサイズを2倍にする必要がないことを意味している。この
ことは、更にメモリ使用量を低減する。
【0027】 従って、z/フレームバッファロード/記憶プロセスは、それぞれ各々のレン
ダリングの始めと終わりに発生することが分かる。レンダリングされたマクロタ
イルのタイルに対してのみ発生する。最初のレンダリングの前にロード操作は必
要でなく、最後のレンダリングの後に記憶操作は必要でない。使用中の割り当て
ブロックの数が所定の閾値に達し、またはレンダリングが終了した場合に、有効
性及びメモリ使用がマクロタイルのフレームバッファへのレンダリングの結果と
して生じ、レンダリングされるマクロタイルに関連したメモリブロックが解放さ
れて、別のパラメータを記憶するために利用可能になることが理解できる。
【0028】 記憶されたオブジェクトパラメータは、典型的に三角形の座標であり、レンダ
リングされるオブジェクト、オブジェクト色等である。このようなオブジェクト
パラメータとオブジェクトポインタの両者は、各々のマクロタイルの割り当てブ
ロックに記憶されていることが分かる。このことは、必要なくなったパラメータ
及びポインタを簡単に破棄することを可能にする。メモリ内のパラメータデータ
及びポイントデータの近接性は、十分に小さな割り当てブロック、又は大きなブ
ロックの適切な配置を使用する場合、メモリシステムのページ区切り数の大幅な
低減をもたらす。ページ区切りは、メモリシステムの性能を低下させ、メモリハ
ードウェアへの連続的なアクセスが同一ページ内でないときに引き起こされる。
可能な限り同一ページにオブジェクトポインタ及びパラメータデータを記憶する
ことは、ページ区切りを最小限にする有効な方法である。
【0029】 割り当てブロックのポインタ及びパラメータのレイアウトから種々の方式が可
能である。幾つかの例を、図4a、図4b、及び図4cに示す。最も簡単な方式
は、割り当てブロックの先頭の小さなポインタブロックにポインタを割り当て、
読み取り/書き込みを最適化する。ブロック内の最後のポインタは、リンクリス
トを必要とする次のポインタブロックへのリンクである。図4aにおいて、ブロ
ックの一端からポインタが割り当てられ、パラメータは他端から割り当てられて
いる。ブロックが満杯になると両者は真ん中で交わる。図4bにおいて、パラメ
ータとポインタとは交互に配置されており、割り当てブロックは、終始満杯にな
っている。図4cに示す別の変形例は、1ページより大きな割り当てブロックに
対して適切である。オブジェクトポインタが指すパラメータデータと同じデータ
ブロック内にオブジェクトポインタに保持しようとするものであるが、オブジェ
クトポインタブロックの一部に無駄な空間がある。
【0030】 割り当てブロックはマクロタイルと関連があり、各々のマクロタイルは複数の
タイルを含むので、各々の割り当てブロック内には、オブジェクトポインタブロ
ックの複数のリンクリストがある。
【0031】 シーンが大きなオブジェクトから構成され、各々のマクロタイルが多数のタイ
ルを含む場合、割り当てブロックの大きな空間は、大部分は空のポインタブロッ
クにより消費され、そのポインタは全て同じオブジェクトを指していることが分
かる。
【0032】 図5は、オブジェクトが見えるマクロタイルのタイルを指示するタイルマスク
を備える単一のリストを使用する方式を示す。ストリップマスクは、オブジェク
トポインタとは切り離されており、一箇所に集められている。イメージ合成プロ
セッサのパラメータを取り出すステップは、タイルマスクで設定されたビット数
をカウントすることによって関連ストリップマスクへスキップできる。
【0033】 前述の全ての割り当て方式において、ポインタは、常に、同一の割り当てブロ
ック内のパラメータデータを指しているので、適切な最下位ビット数を使用して
表すことによって、オブジェクトポインタを圧縮することが可能である。ブロッ
ク外(例えば、グローバルリスト内)のオブジェクトのポインタは、同様に供給
されるアドレスの最上位ビットをもつ必要がある。これは、大きなポインタを使
用することで可能になる。
【0034】 非常に大きな三角形又はストリップ、即ち、多くのマクロタイルを横切るもの
は前述の方式では問題が起きる場合もある。これは、データが多くのマクロタイ
ルにおいて複製されるので、大量のメモリを使用するからである。この問題の1
つの解決策は、大きなオブジェクトを記憶するグローバルリストを生成すること
である。オブジェクトの順番を確実に記憶するために、これらのオブジェクトと
の関連性が、通常の方法で各々のマクロタイルのポインタリストに書き込まれる
【0035】 オブジェクトは、特定の閾値よりも大きい複数のマクロタイルで見える場合は
、大きいとみなすことができる。この閾値は、パラメータの複製、グローバルリ
ストにより使用されるメモリ、及びパラメータメモリの再利用との間の最適なト
レードオフを達成するよう選択できる。グローバルリストのパラメータデータは
、多くのマクロタイルのポインタリストで参照することができるので比較的長期
間に亘ってメモリ内に残っている。従って、グローバルリストは、マクロタイリ
ング操作に悪影響を与えるほど成長しないようにすることが重要である。大ざっ
ぱな解決策は、グローバルリストのサイズが閾値を超えた場合に、全てのマクロ
タイルをレンダリングすることである。これにより、グローバルリストに関連す
る全ての割り当てブロックを空き記憶域に戻すことができる。緻密な方式では、
参照カウントを用いることができ、それによって、割り当てブロックを参照する
マクロタイルがレンダリングされると即座にグローバルリスト割り当てブロック
を解放することができる。
【0036】 次に、どのマクロタイルをレンダリングするかの選択は、一般的に、解放され
て空き記憶域に戻すことができる最大量のメモリによって決定される。これによ
り、マクロタイルが複数のレンダリングの間で適度な複雑性を生み出し得ること
を保証することにより効率が高くなり、必要なz/フレームバッファロード/記
憶操作の総数が低減する。
【0037】 ディスプレイリストが、複数のフレームのマクロタイルに関連するブロックを
含む場合、1つのフレームに属する全てのタイルは、次のフレームの任意のタイ
ルをレンダリングする前に、完全にレンダリングしておくことが重要である。 使用中のマクロタイルがレンダリング中であり、同時に、タイルアクセラレー
タが同一のマクロタイルに追加のデータを書き込み中である場所は容易に想像で
きる。これは、画面の小領域が特に詳細なオブジェクトを含む場合に起こり得る
。このような状況では、同一のものを繰り返すために、次のマクロタイルを選択
してレンダリングを行う選択に重み付けをすることが道理に合っている場合もあ
る。これにより、マクロタイル内の少なくとも1つのタイルに対する、又は小さ
なオンチップ・キャッシュが存在する場合は2つ以上に対するz/フレームバッ
ファロード/記憶を省略できる。最大の利点を得るには、任意の順番で、マクロ
タイルのタイルをレンダリング可能になっている必要がある。
【0038】 グローバルリストが厄介なほど大きくなる場合、前述の参照カウント方式を拡
張すると、できるだけ多数のグローバルリスト割り当てブロックを解放するレン
ダリングを得るためのマクロタイルを選択可能にできる。
【0039】 別の実施方法は、漸進的にサイズが大きくなるネスト化マクロタイルを使用し
て、階層的マクロタイルシステムを使用することである。この目的は、オブジェ
クトが現れるタイル数に応じて、記憶装置に対する適切な階層レベルを選択する
ことによって、パラメータデータの複製を低減することである。オブジェクトパ
ラメータは、オブジェクトの順番を記憶するためのみに、最低限のレベルで記憶
され得る。
【0040】 前述のマクロタイリングによるメモリ管理手法は、システムの帯域幅要件をか
なり低減するが、z/フレームバッファロード/記憶を完全になくすことはでき
ない。また、記憶されたz情報は、追加的にメモリ空間を占有することに留意さ
れたい。z情報及びフレームバッファデータの圧縮は、メモリ帯域幅及び記憶要
件を更に低減する。
【0041】 種々の圧縮手法を利用でき、記憶データによって占有される空間を低減する。
種々の圧縮方法の効率は、圧縮データの性質に影響を受けるので、単一の方式が
、全ての状況において有効な圧縮をもたらす見込みはない。従って、階層的シス
テムが提案されており、システムは、その時点での方法が、その時点でのデータ
セットに適切でない場合は、別の圧縮方法に移る。もしくは、場合によっては不
十分なデータ圧縮(又は展開さえも)を与えることは承知の上で、提案方法のい
ずれか1つを分離して使用することができる。
【0042】 1)z圧縮のための面の平面方程式の記憶 タイルのz値は、各々の画素において見える三角形の奥行きを含む。各々のタ
イルに対して処理される三角形は数多く存在する場合もあるが、殆どの場合は少
数の三角形のみが見えるので、奥行き値をもたらす。数多くのイメージの最初の
部分に発生するz−クリアポリゴンの場合、1つのポリゴンは、タイル全体の初
期のz状態を定義することができる。
【0043】 所定のポリゴンについて、z情報は、3つの平面パラメータA、B、及びCに
よって定義され、ISPによって計算される。パラメータは、式、即ち、奥行き
=Ax+By+Cに使用される。ここで、x、yは該当の画素位置であり、(0
、0)はタイルの左上コーナにある。
【0044】 パラメータA、B、及びCの記憶は、三角形毎に12バイトのデータが必要で
ある。追加のビットマップ値は画素毎に記憶され、異なるセットのパラメータの
間で選択するようになっている。z奥行きを4つのポリゴンによって定義した例
を図6に示す。
【0045】 データの圧縮には、幾つのポリゴンがz値を与えるかを知ること、及びポリゴ
ンの平面パラメータを呼び出す能力が必要である。このデータは、データがTS
Pに出力される点での記憶されるオブジェクト識別タグから計算できる。9個以
上のポリゴンが奥行きを与える場合、システムは、以下に説明する別の方式の1
つに移ることができる。
【0046】 32x16画素の矩形タイルの奥行き情報を与える種々の数の三角形に関する
圧縮率は、以下の通りである。
【0047】 浮動小数点zの生データは、2048バイトを必要とする。従って、この方法
では、5倍から128倍のかなりの圧縮率が得られることが分かる。
【0048】 これらの奥行きデータを再ロードするには、三角形を処理する際にISPが行
なう計算と類似の計算を必要とする。このようにして計算した奥行き値は、元の
セットの値を再構成するためにビットマップデータに基づいて奥行きバッファに
書き込まれる。
【0049】 前記の例は、z奥行きを、1から8までの三角形によって定義し得るが、他の
範囲を使用することもできる。三角形の数がこの範囲外にある場合、システムは
、以下で説明する別の方式に移ることができる。
【0050】 2)z圧縮のランレングス符号化 ランレングス符号化は、一般的に、データが同一の値の多数の連続的な項目を
含む場合に使用される。数字は対になって記憶され、その結果、例えば、符号化
8:0.5、24:0.8では、第1の8は0.5の奥行き値をもち、次の24
は、異なる三角形に属すると想定して、0.8の奥行き値をもつ画素の列を示す
【0051】 別の種類のランレングス符号化は、通常、奥行き情報を符号化するのに有効な
ことが判明する場合もあり、三角形は、「平面」ではないので、タイルに沿って
均一に変化する奥行き値をもつ可能性がある。この状態を図7に示す。三角形は
平面的なので、「デルタ」値(1つの画素と次の画素との奥行きの差)が一定で
あることがわかる。実際には、タイルに沿ってx方向に移動すると、デルタ値は
、そのポリゴンに関するISPの「A」パラメータに等しい。タイル線に沿って
xデルタ値をランレングス符号化する(定数y)と、一般的なデータに対して約
2倍の圧縮率が得られる(実験結果から)。
【0052】 また、(デルタ値以外の)ランレングス符号化は、ステンシル及び「タグ」(
特定の画素位置におけるオブジェクトの識別)値に非常に適しており、ISPの
状態を完全に記録するために、奥行き情報と共に記憶する必要がある。
【0053】 ランレングス符号化の欠点は、データサイズが実際には拡張する状況になる可
能性をもつ点である。このことは、例えば、何れの隣接画素も同一でない場合に
起こり得る。各々の値が1度しか発生していないことを示すカウンタを記憶する
必要があるので、圧縮されたデータは、実際にはサイズが2倍になる場合もある
。この場合、z圧縮システムは、圧縮されていないz値を記憶する方法に移るこ
とになる。
【0054】 3)フレームバッファ圧縮 フレームバッファメモリは、ビデオイメージの生成ハードウェアによって直接
読み取られるので、最終出力は圧縮できない。しかし、データが、イメージを組
み立てるプロセスにおいて複数回記憶されてロードされる場合、中間データを圧
縮することによってメモリ帯域幅を記憶できる。ランレングス符号化、J−PE
G、Wavelet、ベクトル定量化(VQ)を含む、標準的なイメージ圧縮手
法を使用できる。
【0055】 4)変化時にのみZを書き込み、要求時にのみTSPを読み取る 最後の最適化は、特定のz記憶及びフレームバッファロードを回避することを
可能にし得る。 「ダーティー」フラグは、データが最後に読み取られてから変更されたことを
示す。zバッファロード/記憶の場合、zロードが起こるとダーティーフラグは
リセット状態になり、zデータがISPにより変更されるとセットされる。z記
憶の要求があると、ダーティービットがセットされた場合に実際にデータを記憶
することのみが必要である。
【0056】 類似の最適化は、フレームバッファロード/記憶に適用できる。特定の混合操
作に必要な場合に、フレームバッファから画素をロードすることのみが必要であ
り、この状況は常に起こるわけではない。同様に、ダーティーフラグは、変更さ
れた画素又は画素群を示し、それらの画素のみがフレームバッファ記憶操作によ
り転送される。
【0057】 5)アプリケーションが必要な場合に「zバッファ」にアクセス可能にする Imagination Technologies Power Vr S
ystem等の特定のレンダリングシステムは、通常、全フレームに対するzバ
ッファを保持する必要はない。これはメモリ及び帯域幅を記憶する。しかし、特
定のアプリケーションは、zバッファを見ようとし、特別のグラフィック効果を
得るために自ら操作しようとする。zバッファ記憶操作により記憶されるデータ
は、従来の意味ではzバッファではないが、メモリ内のデータのレイアウトを処
理することによってアプリケーションには、そのようなものとして見えるように
することが可能である。必要であれば、記憶されたz値が適切な場合に仮想のz
バッファの状態を確実に反映するように、追加のzバッファ記憶操作を行うこと
ができる。
【0058】 従来のzバッファは、圧縮されていない生のzデータを含む。前述の方法を利
用して圧縮zバッファを読み取ろうとするアプリケーションには、正確に解釈で
きないことは明らかである。従って、zバッファを必要とするアプリケーション
に対して圧縮を解除するか、又は「仮想zバッファ」をアプリケーションに与え
て透過的に圧縮及び圧縮解除を行う追加のハードウェアを提供する機能があるこ
とが重要である。
【0059】 本発明の実施形態を示す図を以下に説明する。図8は、本発明が適用されるシ
ステム形式のブロック図を示す。これは、図1の僅かに拡張されたバージョンを
包含し、ディスプレイリストメモリ4に供給されるタイリング操作を行うタイル
アクセラレータ2を示している。次に、これは、光線/面交差テストを行うイメ
ージ合成プロセッサ6にデータを供給する。次に、このデータは、フレームバッ
ファメモリ11にテクスチャリングされたイメージデータを記憶する前に、メモ
リ9のテクスチャからのテクスチャリング及びシェイディングデータを用いるテ
クスチャリング/シェイディングプロセッサ8に供給される。この装置は、図1
を参照して行った前述の説明に基づいて作動する。
【0060】 図9は、図8のz/フレームバッファロード/記憶操作を行う回路が変更され
たシステムを示す。このシステムでは、z/フレームメモリ16は、z圧縮/圧
縮解除ユニット18を経由してイメージ合成プロセッサ6と接続している。これ
は、システムが複雑なシーンをレンダリング中であり、ディスプレイリストメモ
リが、特定のタイルに対して処理される必要がある全ての面を含むほど大きくな
い場合に作動する。このプロセスは前述の通りである。しかし、図9のシステム
を使用して作動する場合、ディスプレイリストは、タイルアクセラレータによっ
て、実質的に満杯になるまで全てのタイルに関するデータがロードされる。しか
し、これは、初期データの一部を表しているに過ぎない場合もある。このイメー
ジは、イメージ合成プロセッサ6によって、一度に1つのタイルがレンダリング
される。各々のタイルの出力データは、テクスチャメモリ9からのデータを使用
してタイルをテクスチャリングし、フレームバッファメモリ11へ供給する、テ
クスチャリング/シェイディングプロセッサ8に供給される。
【0061】 同時に、イメージデータが不完全であった場合は、イメージ合成プロセッサ6
からの結果が圧縮/圧縮解除手段18を経由してz/フレームメモリ16に一時
的に記憶される。全てのタイルがレンダリングされてフレームバッファメモリ及
びz/フレームメモリ16に記憶されるまで、残りのタイルのレンダリングが不
完全なイメージデータの状態で継続される。 次に、ディスプレイリストの第1の部分が破棄されて、追加のイメージデータ
がディスプレイリストに読み込まれる。イメージ合成プロセッサ6により順番に
各々のタイルに対して処理が行なわれる場合、ディスプレイリストメモリ4の新
しいイメージデータと組み合わせることができるように、z/フレームメモリ1
6のデータの関連部分がz圧縮/圧縮解除手段18を経由してロードされる。次
に、各々のタイルの新しいデータが順番に、フレームバッファメモリ11に供給
される前に、テクスチャメモリ9のデータと組み合わせるテクスチャリング/シ
ェイディングプロセッサ8に供給される。
【0062】 このプロセスは、シーン内の全てのタイルに対して、全てのイメージデータが
レンダリングされるまで継続する。
【0063】 従って、zバッファメモリは一時的記憶装置を満杯にして、特に複雑なシーン
をレンダリングするのに必要なものよりも小さなディスプレイリストメモリを使
用可能にすることが分かる。圧縮/圧縮解除手段18は随意的であるが、それを
使用すると更に小さなzバッファメモリを用いることができる。
【0064】 テクスチャリング/シェイディングプロセッサとフレームバッファメモリとの
間の追加リンクとして、フレームバッファ圧縮/圧縮解除手段20が設けられて
いる。これは、フレームバッファメモリ内の不完全なイメージデータの一時的な
記憶と、既にテクスチャリング/シェイディング処理されたデータと組み合わせ
る必要があるタイルに関して、イメージ合成プロセッサ6から追加データが供給
された際に、そのデータをフィードバックするのに使用するのが好ましい。勿論
、圧縮/圧縮解除手段は随意的なものである。
【0065】 図10において、タイルアクセラレータによって使用されるメモリ管理システ
ムを示す。これは図3の説明を参照して理解されたい。ステップ30では、領域
ヘッダを初期化し、ステップ32では、システムは、領域ヘッダにオブジェクト
データが入力されるのを待つ。ステップ34では、タイル及びマクロタイルが図
3に示すように割り当てられ、ステップ36では、新しいメモリブロックが必要
か否かを判定する。追加のメモリブロックが必要ない場合、マクロタイルのオブ
ジェクトデータが、システムにより先に割り当てられたメモリブロックに記憶さ
れるが、ステップ40では、マクロタイル及びタイルに対するオブジェクトデー
タの割り当て領域及びメモリにおける、フレーム内の最後のオブジェクトに達し
たか否かを決定する。ステップ42では、フレームに関してレンダリングされて
いないマクロタイルがあるか否かを判定する。レンダリングされていないマクロ
タイルがある場合、ステップ44でマクロタイルを選択してレンダリングする。
ステップ48で追加オブジェクトを記憶してレンダリングする必要があるか否か
を判定する前に、ステップ46でレンダリングを開始する。ステップ48で「N
O」の場合、ステップ42で、別のタイルをレンダリングすべきか否かを判定し
、更なるマクロタイルがない場合、ステップ50で、別のフレーム又はデータを
入力すべきか否かを判定する。別のフレーム又はデータを入力する必要がある場
合、システムは、フローチャートの最初に戻る、別のフレーム又はデータを入力
する必要がない場合、本プロセスは終了する。ステップ42での判定結果が「Y
ES}の場合、制御は、メモリからのロードすべき新しいブロックに関する図6
に進む。
【0066】 ステップ36で追加メモリが必要であると判定された場合、ステップ52でメ
モリ満杯閾値に既に達しているか否かを判定する。メモリ満杯閾値に達していな
い場合、ステップ54で新しいメモリブロックを空き記憶域から要求し、ステッ
プ38で、前述のようにステップ40へ進む前に、マクロタイルのオブジェクト
データを記憶するのに使用される。メモリ満杯閾値を超えている場合、プロセス
は、マクロタイルをレンダリングするステップ44に進む。このルートがステッ
プ48に進むと、システムは,オブジェクトを記憶するのを待つか否かを判定す
る。この場合、ステップ38でマクロタイルの追加オブジェクトを記憶するため
に、ステップ54で要求を行う前に、メモリブロックが利用可能になるまで待つ
ステップ56に進む。
【0067】 図11は、タイルアクセラレータによって、どのメモリブロックが解放されて
その後の割り当てのために記憶装置に戻されるかを示す。ステップ80で、シス
テムは起動して、部分レンダリングが終了した信号を待つ。この信号を受け取る
と、ステップ82でメモリブロックは記憶装置に戻され、システムは、次の部分
レンダリングを待つ。
【0068】 タイリングとレンダリングとは並行して行われるので、図10ではメモリブロ
ックの解放は個別に示されており、ステップ46では、信号をISPに送ること
によってレンダリングが始まる。タイルアクセラレータはその時点で多くのタイ
リング操作を行い得るので、レンダリングの終了を待たない。これがマクロタイ
ルのレンダリングが開始される閾値(例えば79%)が存在する理由である。こ
れにより、タイルアクセラレータが作業を行うメモリ空き領域が残る。
【0069】 図11のシステムは、タイルアクセラレータがサイクル中のどのステップにあ
るのか分からず、それに割り込みたくないので、ISPが、部分レンダリングの
終了を知らせるのを待つ。図11は、図10のステップ56及び54に達した場
合に可能な全てのメモリを残す。そこにはメモリが使用に向けて直ちに利用可能
になるよいチャンスがある。メモリは、常に利用可能とは限らないので時として
ステップ56で待つ必要もある。このことは複雑なイメージの場合に起こる場合
もあり、メモリが利用可能になるのを待つ必要がある。
【0070】 図12は、図8及び図9のISP8及びディスプレイリストメモリ4を示すが
、タイルアクセラレータ2は更に詳細に示されている。入力データ90は、タイ
リングユニット92に送られ、次に、このデータは、マクロタイリングユニット
94に送られる。出力データ95は、ディスプレイリストメモリ4及びディスプ
レイリストメモリマネージャ96へ送られる。メモリマネマージャ96は、空き
記憶域リスト98及びディスプレイリスト4と通信し合う。例えば、メモリが7
5%使用中であることを示す信号をディスプレイリスト45から受信し、これに
応答してレンダリング開始信号をISP6へ送る。これが終了すると、レンダリ
ング終了信号は、メモリマネマージャ96へ送られ、更なるマクロタイルによっ
て使用できる現在利用可能なメモリを空き記憶域リスト98に戻す。メモリマネ
マージャは、先のマクロタイルがレンダリングされている間に、マクロタイルデ
ータの受信を続け、空き記憶域リストのメモリを、必要に応じてオブジェクトに
割り当てる。
【図面の簡単な説明】
【図1】 レンダリング及びテクスチャリングシステムのブロック図である。
【図2】 公知のタイリングシステムにおいて、ディスプレイリストが如何に順序付けさ
れているか概略的に示す。
【図3】 本発明のマクロタイリングにより、ディスプレイリストが如何に順序付けされ
ているか概略的に示す。
【図4a】 本発明の実施形態による、ディスプレイリストのデータブロックの割り当てに
関する別の配置を示す。
【図4b】 本発明の実施形態による、ディスプレイリストのデータブロックの割り当てに
関する別の配置を示す。
【図4c】 本発明の実施形態による、ディスプレイリストのデータブロックの割り当てに
関する別の配置を示す。
【図5】 ディスプレイリストの別の実施形態を示す。
【図6】 4つのポリゴンのz奥行きと、4つのポリゴンの平面パラメータの記憶による
z圧縮を概略的に示す。
【図7】 ランレングス符号化の結果を示すグラフである。
【図8】 本発明で使用できるレンダリングシステム形式の例についてのブロック図であ
る。
【図9】 本発明の1つの態様の実施形態における図8のシステムを示す。
【図10】 本発明の実施形態で使用するメモリ管理を示すフローチャートである。
【図11】 図10のフローチャートのサブプロセスを示すフローチャートである。
【図12】 本発明の実施形態で使用するタイルアクセラレータのブロック図である。
───────────────────────────────────────────────────── フロントページの続き (81)指定国 EP(AT,BE,CH,CY, DE,DK,ES,FI,FR,GB,GR,IE,I T,LU,MC,NL,PT,SE,TR),GB,J P (72)発明者 モーフェット スティーブン イギリス ハーツ エイチピー3 9エス エイチ ヘメル ヘンプステッド ウェイ マス ストリート 80エイ Fターム(参考) 5B080 AA14 CA01 CA08 GA02 GA11 GA22 【要約の続き】 のために供給される。少なくとも1つのブロックをディ スプレイリストメモリから各々の矩形領域に割り当てた 後に、その矩形領域と交差する面に関連するデータをそ のメモリブロックに記憶することによりメモリを管理で きる。矩形領域について所定数のブロックが使用されて いる場合を判定する。この数に達すると、システムは、 矩形領域のシェイディングデータを引き出すことを開始 し、これにより、ディスプレイリストメモリにおいて別 の矩形領域に割り当てられる記憶ブロックが解放され る。

Claims (15)

    【特許請求の範囲】
  1. 【請求項1】 三次元コンピュータイメージを生成する方法であって、 a)イメージを複数の矩形領域に細分化する段階と、 b)ディスプレイリストメモリが実質的に満杯になるまで、各々の矩形領域の
    オブジェクトデータを前記ディスプレイリストメモリにロードする段階と、 c)前記オブジェクトデータから各々の矩形領域の画素のイメージデータ及びシ
    ェイディングデータを引き出す段階と、 d)前記イメージデータ及びシェイディングデータを記憶する段階と、 e)別のオブジェクトデータを前記ディスプレイリストメモリにロードして既
    存の内容と置き換える段階と、 f)記憶されているイメージデータ及びシェイディングデータを検索する段階
    と、 g)前記新しいオブジェクトデータと前記先に引き出されたイメージデータ及
    びシェイディングデータとから、前記各々の矩形領域の各々の画素に関する追加
    のイメージデータ及びシェイディングデータを引き出す段階と、 h)前記ディスプレイリストメモリにロードするオブジェクトデータがなくな
    るまで、段階d)、段階e)、段階f)、及び段階g)を繰り返す段階と、 i)表示するために前記シェイディングデータを供給する段階と、 を含む方法。
  2. 【請求項2】 前記イメージデータが、オブジェクト識別データと奥行きデ
    ータとを含むことを特徴とする請求項1に記載の方法。
  3. 【請求項3】 段階d)の前に前記イメージデータを圧縮する段階と、段階
    g)の前に前記圧縮されたイメージデータを圧縮解除する段階とを含むことを特
    徴とする請求項1又は2に記載の方法。
  4. 【請求項4】 三次元コンピュータイメージを生成する装置であって、 a)イメージを複数の矩形領域に細分化する手段と、 b)ディスプレイリストメモリが実質的に満杯になるまで、各々の矩形領域の
    オブジェクトデータを前記ディスプレイリストメモリにロードする手段と、 c)前記オブジェクトデータから各々の矩形領域の画素のイメージデータ及びシ
    ェイディングデータを引き出す手段と、 d)各々の矩形領域の前記イメージデータ及びシェイディングデータを記憶す
    る手段と、 e)別のオブジェクトデータを前記ディスプレイリストメモリにロードして既
    存の内容と置き換える手段と、 f)記憶されているイメージデータ及びシェイディングデータを検索する手段
    と、 g)前記新しいオブジェクトデータと、前記記憶されているイメージデータ及
    びシェイディングデータとから、各々の矩形領域の各々の画素に関する別のイメ
    ージデータ及びシェイディングデータを引き出す手段と、 h)前記ディスプレイリストメモリにロードするオブジェクトデータがなくな
    るまで、構成要件d)、e)、f)、及びg)を繰り返して機能させる手段と、 i)表示のために前記シェイディングデータを供給する手段と、 を備えることを特徴とする装置。
  5. 【請求項5】 前記イメージデータが、オブジェクト識別データ及び奥行き
    データを備えることを特徴とする請求項4に記載の装置。
  6. 【請求項6】 記憶される前に前記イメージデータを圧縮する手段と、検索
    された後に前記圧縮されたイメージデータを圧縮解除する手段とを備えることを
    特徴とする請求項4又は5に記載の装置。
  7. 【請求項7】 イメージデータを複数の実質的に矩形領域に細分化する手段
    と、前記イメージを作成する面に関連するデータをディスプレイリストメモリに
    記憶する手段と、少なくとも1つの記憶ブロックを前記ディスプレイリストメモ
    リから各々の矩形領域に割り当てる手段と、前記矩形領域と交差する面に関連す
    るデータを前記メモリブロックに記憶する手段と、前記各々の矩形領域のデータ
    を前記ディスプレイリストから前記矩形領域の各々の画素のシェイディングデー
    タを引き出す手段へ供給する手段と、表示のために前記シェイディングデータを
    記憶するフレーム記憶手段と、を備える三次元コンピュータイメージを生成する
    システムと共に使用されるメモリ管理システムであって、前記各々の矩形領域が
    、複数の小さな矩形領域を含み、前記シェイディングデータを引き出す手段が、
    前記各々の小さな矩形領域の前記データを順番に引き出すことを特徴とするメモ
    リ管理システム。
  8. 【請求項8】 前記記憶ブロックをディスプレイリストメモリから割り当て
    る手段は、所定数のブロックが使用されている場合を判定し、前記判定結果に基
    づいて、前記データを供給する手段に、前記シェイディングデータを引き出す手
    段が操作を開始するようにさせて、これにより、別のオブジェクトデータのため
    に記憶ブロックを解放するようになっていることを特徴とする請求項7に記載の
    メモリ管理システム。
  9. 【請求項9】 前記イメージデータが、一連のデータフレームを備えること
    を特徴とする請求項7又は8に記載のメモリ管理システム。
  10. 【請求項10】 イメージを複数の矩形領域に細分化する段階と、前記各々
    の矩形領域と交差する前記イメージの面に関連するデータをディスプレイリスト
    メモリに記憶する段階と、前記ディスプレイリストメモリの少なくとも1つのブ
    ロックを前記各々の矩形領域に割り当てる段階と、前記各々の矩形領域と交差す
    る面に関連するデータを前記ブロックに記憶する段階と、各々の矩形領域のデー
    タをシェイディング手段に供給して、シェイディングデータが前記矩形領域を作
    成する各々の画素から引き出されるようにする段階と、表示のために前記シェイ
    ディングデータを供給する段階を含む、三次元コンピュータイメージを生成する
    システムのメモリ管理方法であって、前記イメージを細分化する段階は、前記各
    々の矩形領域を複数の小さな矩形領域に細分化する段階を更に含み、前記シェイ
    ディング手段は、順番に前記各々の小さな矩形領域をシェイディングすることを
    特徴とする方法。
  11. 【請求項11】 前記ディスプレイリストメモリの所定数のブロックが前記
    矩形領域に割り当てられている場合を判定し、前記判定結果に基づいて、前記シ
    ェイディング手段へのデータの供給を開始して、これにより、別のオブジェクト
    データのために記憶ブロックを解放する段階を含む請求項10に記載のメモリ管
    理方法。
  12. 【請求項12】 イメージデータを複数の実質的に矩形領域に細分化する手
    段と、前記イメージを作成する面に関連するデータをディスプレイリストメモリ
    に記憶する手段と、少なくとも1つの記憶ブロックを前記ディスプレイリストメ
    モリから各々の矩形領域に割り当てる手段と、前記矩形領域と交差する面に関連
    するデータを 前記メモリブロックに記憶する手段と、各々の矩形領域のデータ
    を前記ディスプレイリストから前記矩形領域の各々の画素のシェイディングデー
    タを引き出す手段へ供給する手段と、表示のために前記シェイディングデータを
    記憶するフレーム記憶手段と、を備える三次元コンピュータイメージを生成する
    システムと共に使用されるメモリ管理システムであって、前記記憶ブロックをデ
    ィスプレイリストメモリから割り当てる手段は、所定数のブロックが使用されて
    いる場合を判定し、前記判定結果に基づいて、前記データを供給する手段に、前
    記シェイディングデータを引き出す手段が操作を開始するようにさせて、これに
    より、別のオブジェクトデータのために記憶ブロックを解放するようになってい
    ることを特徴とするメモリ管理システム。
  13. 【請求項13】 イメージを複数の矩形領域に細分化する段階と、前記各々
    の矩形領域と交差する前記イメージの面に関連するデータをディスプレイリスト
    メモリに記憶する段階と、前記ディスプレイリストメモリの少なくとも1つのブ
    ロックを前記各々の矩形領域に割り当てる段階と、前記各々の矩形領域と交差す
    る面に関連するデータを前記ブロックに記憶する段階と、各々の矩形領域のデー
    タをシェイディング手段に供給して、シェイディングデータが前記矩形領域を作
    成する各々の画素から引き出されるようにする段階と、表示のために前記シェイ
    ディングデータを供給する段階を含む、三次元コンピュータイメージを生成する
    システムのメモリ管理方法であって、前記ディスプレイリストメモリの所定数の
    ブロックが前記矩形領域に割り当てられている場合を判定し、前記判定結果に基
    づいて、前記シェイディング手段へのデータの供給を開始して、これにより、別
    のオブジェクトデータのために記憶ブロックを解放する段階を含むことを特徴と
    する方法。
  14. 【請求項14】 実質的に本明細書で説明するような三次元コンピュータ生
    成イメージをシェイディングするシステムと共に使用されるメモリ管理システム
  15. 【請求項15】 実質的に本明細書で説明するような三次元コンピュータ生
    成イメージをシェイディングするシステムのメモリ管理方法。
JP2002502720A 2000-06-08 2001-06-08 三次元イメージレンダリングのためのタイリング及び圧縮 Expired - Lifetime JP4851049B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
GB0014307.6 2000-06-08
GB0014037A GB0014037D0 (en) 2000-06-08 2000-06-08 Memory management for systems for generating 3-dimensional computer images
GB0027897A GB0027897D0 (en) 2000-06-08 2000-11-15 Memory management for systems for generating 3-Dimensional computer images
GB0027897.8 2000-11-15
PCT/GB2001/002536 WO2001095257A1 (en) 2000-06-08 2001-06-08 Tiling and compression for rendering 3d images

Publications (3)

Publication Number Publication Date
JP2003536153A true JP2003536153A (ja) 2003-12-02
JP2003536153A5 JP2003536153A5 (ja) 2008-07-24
JP4851049B2 JP4851049B2 (ja) 2012-01-11

Family

ID=64902795

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002502720A Expired - Lifetime JP4851049B2 (ja) 2000-06-08 2001-06-08 三次元イメージレンダリングのためのタイリング及び圧縮

Country Status (5)

Country Link
US (8) US20020039100A1 (ja)
EP (1) EP1287494B1 (ja)
JP (1) JP4851049B2 (ja)
DE (1) DE60127253T2 (ja)
WO (1) WO2001095257A1 (ja)

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003296747A (ja) * 2002-03-26 2003-10-17 Imagination Technologies Ltd 3−dコンピュータ・グラフィックス・レンダリングシステム
WO2006090610A1 (ja) * 2005-02-23 2006-08-31 Sony Computer Entertainment Inc. 画像処理装置および画像処理方法
JP2008500625A (ja) * 2004-05-24 2008-01-10 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ タイルベース・グラフィック・レンダリング
JP2008511930A (ja) * 2004-08-30 2008-04-17 クゥアルコム・インコーポレイテッド 図形データのキャッシュ効率的なラスター化
JP2010505172A (ja) * 2006-09-29 2010-02-18 イマジネイション テクノロジーズ リミテッド 三次元コンピュータ映像を発生するシステムのためのメモリマネージメントの改良
JP2010539579A (ja) * 2007-09-12 2010-12-16 イマジネイション テクノロジーズ リミテッド 3次元コンピュータ画像を生成する方法及びシステム
JP2011505622A (ja) * 2007-11-30 2011-02-24 イマジネイション テクノロジーズ リミテッド タイルベース・レンダリング・システムにおけるマルチコアの形状処理
JP2011515751A (ja) * 2008-03-19 2011-05-19 イマジネイション テクノロジーズ リミテッド タイル・ベース・レンダリング・システムにおける変換されていない表示リスト
JP2012503811A (ja) * 2008-09-24 2012-02-09 ザ・ベイカリー 複雑な3次元シーンのレンダリングまたはインターラクティブライティングをするための方法およびシステム
JP2012513053A (ja) * 2008-12-19 2012-06-07 イマジネイション テクノロジーズ リミテッド タイルベースの3dコンピュータグラフィックシステムのマルチレベルディスプレイコントロールリスト
JP2012513630A (ja) * 2008-12-23 2012-06-14 イマジネイション テクノロジーズ リミテッド タイルベースの3dコンピュータグラフィックシステムにおける表示リスト制御ストリームのグループ化
JP2014182697A (ja) * 2013-03-21 2014-09-29 Fujitsu Ltd 画像表示装置
US9007387B2 (en) 2012-05-22 2015-04-14 Fujitsu Limited Drawing processing apparatus and method
JP2017518557A (ja) * 2014-04-05 2017-07-06 ソニー インタラクティブ エンタテインメント アメリカ リミテッド ライアビリテイ カンパニー 様々なレンダリング及びラスタライゼーション・パラメータ下でビューポートを変化させるための、オブジェクトの効率的再レンダリング方法

Families Citing this family (55)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2378108B (en) 2001-07-24 2005-08-17 Imagination Tech Ltd Three dimensional graphics system
GB0307095D0 (en) 2003-03-27 2003-04-30 Imagination Tech Ltd Improvements to a tiling system for 3d rendered graphics
US9098943B1 (en) * 2003-12-31 2015-08-04 Ziilabs Inc., Ltd. Multiple simultaneous bin sizes
US7750914B2 (en) 2004-08-26 2010-07-06 Intel Corporation Subdividing geometry images in graphics hardware
GB0524804D0 (en) 2005-12-05 2006-01-11 Falanx Microsystems As Method of and apparatus for processing graphics
JP4621618B2 (ja) * 2006-03-28 2011-01-26 株式会社東芝 図形描画装置、図形描画方法、およびプログラム
US8526049B2 (en) * 2006-03-31 2013-09-03 Konica Minolta Laboratory U.S.A., Inc. Systems and methods for display list management
GB2439129B (en) * 2006-06-12 2008-11-12 Imagination Tech Ltd Parameter compaction in a tile based rendering system
US9965886B2 (en) 2006-12-04 2018-05-08 Arm Norway As Method of and apparatus for processing graphics
US8203560B2 (en) * 2007-04-27 2012-06-19 Sony Corporation Method for predictively splitting procedurally generated particle data into screen-space boxes
JP4370438B2 (ja) * 2007-06-27 2009-11-25 Necシステムテクノロジー株式会社 ベクター画像描画装置、ベクター画像描画方法およびプログラム
JP4325812B2 (ja) * 2007-06-28 2009-09-02 Necシステムテクノロジー株式会社 ベクター画像描画回路およびベクター画像描画方法
US8139074B2 (en) * 2007-11-27 2012-03-20 International Business Machines Corporation Memory optimized cache generation for image tiling in GIS/CAD browser applications
FR2925206B1 (fr) * 2007-12-18 2015-05-29 Thales Sa Dispositif d'affichage et procede d'optimisation de la bande passante memoire
US8782371B2 (en) * 2008-03-31 2014-07-15 Konica Minolta Laboratory U.S.A., Inc. Systems and methods for memory management for rasterization
US8228555B2 (en) * 2008-03-31 2012-07-24 Konica Minolta Laboratory U.S.A., Inc. Systems and methods for parallel display list rasterization
US8817032B2 (en) * 2008-08-29 2014-08-26 Konica Minolta Laboratory U.S.A., Inc. Systems and methods for framebuffer management
US8854680B2 (en) * 2008-09-11 2014-10-07 Konica Minolta Laboratory U.S.A., Inc. Systems and methods for optimal memory allocation units
US8861014B2 (en) * 2008-09-30 2014-10-14 Konica Minolta Laboratory U.S.A., Inc. Systems and methods for optimized printer throughput in a multi-core environment
GB0900700D0 (en) 2009-01-15 2009-03-04 Advanced Risc Mach Ltd Methods of and apparatus for processing graphics
GB201004675D0 (en) * 2010-03-19 2010-05-05 Imagination Tech Ltd Memory management system
WO2011161723A1 (ja) 2010-06-24 2011-12-29 富士通株式会社 描画装置および描画方法
GB2487421A (en) 2011-01-21 2012-07-25 Imagination Tech Ltd Tile Based Depth Buffer Compression
US20120218277A1 (en) * 2011-02-25 2012-08-30 ST-Ericcson SA Display list mechanism and scalable display engine structures
GB2494903B (en) * 2011-09-22 2017-12-27 Advanced Risc Mach Ltd Graphics processing systems
US9424685B2 (en) 2012-07-31 2016-08-23 Imagination Technologies Limited Unified rasterization and ray tracing rendering environments
CN104685543B (zh) * 2012-09-27 2017-04-12 三菱电机株式会社 图形描绘装置
US9317948B2 (en) 2012-11-16 2016-04-19 Arm Limited Method of and apparatus for processing graphics
KR102089471B1 (ko) * 2012-11-30 2020-03-17 삼성전자주식회사 타일 기반 렌더링 방법 및 장치
US9418616B2 (en) 2012-12-20 2016-08-16 Nvidia Corporation Technique for storing shared vertices
US9293109B2 (en) 2012-12-20 2016-03-22 Nvidia Corporation Technique for storing shared vertices
DE102013203405A1 (de) 2013-02-28 2014-09-11 Robert Bosch Gmbh Verfahren zum räumlichen Darstellen des Umfelds eines Objekts
GB2506706B (en) 2013-04-02 2014-09-03 Imagination Tech Ltd Tile-based graphics
US10204391B2 (en) 2013-06-04 2019-02-12 Arm Limited Method of and apparatus for processing graphics
US9087394B1 (en) 2014-02-13 2015-07-21 Raycast Systems, Inc. Computer hardware architecture and data structures for packet binning to support incoherent ray traversal
US9842424B2 (en) * 2014-02-10 2017-12-12 Pixar Volume rendering using adaptive buckets
US9413376B2 (en) 2014-11-11 2016-08-09 Helio Technology Inc. Angle encoder and a method of measuring an angle using same
US9619937B2 (en) * 2015-03-05 2017-04-11 Arm Limited Methods and apparatus for processing computer graphics primitives in tile-based graphics rendering system
US9601092B2 (en) * 2015-03-19 2017-03-21 Intel Corporation Dynamically managing memory footprint for tile based rendering
US20170016975A1 (en) * 2015-07-17 2017-01-19 Google Inc. Detecting User Content Using Wireless Signal Characteristics
US10095962B2 (en) 2015-12-21 2018-10-09 Canon Kabushiki Kaisha Y-Z banding/layering for complex page rip
CN107180405A (zh) 2016-03-10 2017-09-19 阿里巴巴集团控股有限公司 一种图片处理方法、装置和智能终端
GB2553744B (en) 2016-04-29 2018-09-05 Advanced Risc Mach Ltd Graphics processing systems
US10198674B2 (en) 2016-12-22 2019-02-05 Canon Kabushiki Kaisha Method, apparatus and system for rendering a graphical representation within limited memory
CN107292960A (zh) * 2017-06-30 2017-10-24 浙江科澜信息技术有限公司 一种三维场景中大规模地形渲染的局部刷新方法
EP3515068A1 (en) * 2018-01-19 2019-07-24 Thomson Licensing A method and apparatus for encoding and decoding three-dimensional scenes in and from a data stream
US11090811B2 (en) * 2018-11-13 2021-08-17 Zebra Technologies Corporation Method and apparatus for labeling of support structures
GB2579112B (en) * 2019-05-31 2021-04-21 Imagination Tech Ltd Graphics processing units and methods using render progression checks
US11170533B1 (en) * 2020-07-27 2021-11-09 Weta Digital Limited Method for compressing image data having depth information
US20220198735A1 (en) * 2020-12-21 2022-06-23 Intel Corporation Hierarchical tiling mechanism
US20230198548A1 (en) * 2021-12-22 2023-06-22 Intel Corporation Apparatus and method for constant detection during compress operations
GB2611374A (en) * 2022-03-30 2023-04-05 Imagination Tech Ltd Memory management for multicore 3-D graphics rendering
GB2611373A (en) * 2022-03-30 2023-04-05 Imagination Tech Ltd Memory management for multicore 3-D graphics rendering
GB2611376B (en) 2022-03-30 2023-11-01 Imagination Tech Ltd Multi-core draw splitting
GB2611377B (en) 2022-03-30 2023-11-01 Imagination Tech Ltd Memory allocation for 3-D graphics rendering

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10222699A (ja) * 1997-01-31 1998-08-21 Fujitsu Ltd データ処理装置
JPH11177657A (ja) * 1997-09-17 1999-07-02 Koninkl Philips Electron Nv Cas信号の検出のためにエコー消去器を使用する方法及び電話方式装置

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB243603A (en) 1925-04-20 1925-12-03 Henry Robinson Improvements in vegetable paring machines
CA1309198C (en) * 1987-12-10 1992-10-20 Carlo J. Evangelisti Parallel rendering of smoothly shaded color triangles with anti-aliased edges for a three dimensional color display
US5295235A (en) * 1992-02-14 1994-03-15 Steve Newman Polygon engine for updating computer graphic display employing compressed bit map data
JP2807608B2 (ja) * 1992-12-29 1998-10-08 株式会社ナムコ ソーティング処理装置、これを用いた画像合成装置及びソーティング処理方法
US5729672A (en) * 1993-07-30 1998-03-17 Videologic Limited Ray tracing method and apparatus for projecting rays through an object represented by a set of infinite surfaces
US5729669A (en) * 1994-11-03 1998-03-17 Cyberflix, Inc. Method and apparatus for displaying movies using Z-data information
GB2336982B (en) 1995-01-31 2000-01-19 Videologic Ltd Improvements relating to computer 3D rendering systems
AU6766096A (en) 1995-08-04 1997-03-05 Microsoft Corporation Method and system for rendering graphical objects to image chunks and combining image layers into a display image
US5886701A (en) * 1995-08-04 1999-03-23 Microsoft Corporation Graphics rendering device and method for operating same
US5852443A (en) * 1995-08-04 1998-12-22 Microsoft Corporation Method and system for memory decomposition in a graphics rendering system
JP3391228B2 (ja) 1996-10-18 2003-03-31 富士ゼロックス株式会社 画像処理方法及び画像処理装置
US6697063B1 (en) * 1997-01-03 2004-02-24 Nvidia U.S. Investment Company Rendering pipeline
US6008813A (en) 1997-08-01 1999-12-28 Mitsubishi Electric Information Technology Center America, Inc. (Ita) Real-time PC based volume rendering system
CA2267870A1 (en) 1998-04-01 1999-10-01 Scott Hartog A linear surface memory to spatial tiling algorithm/mechanism
US6720964B1 (en) * 1998-08-27 2004-04-13 Ati International Srl Method and apparatus for processing portions of primitives that are being rendered
GB2343603B (en) 1998-11-06 2003-04-02 Videologic Ltd Shading 3-dimensional computer generated images
US6701420B1 (en) * 1999-02-01 2004-03-02 Hewlett-Packard Company Memory management system and method for allocating and reusing memory
US6657635B1 (en) * 1999-09-03 2003-12-02 Nvidia Corporation Binning flush in graphics data processing
US6897858B1 (en) * 2000-02-16 2005-05-24 Enroute, Inc. Partial image decompression of a tiled image

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10222699A (ja) * 1997-01-31 1998-08-21 Fujitsu Ltd データ処理装置
JPH11177657A (ja) * 1997-09-17 1999-07-02 Koninkl Philips Electron Nv Cas信号の検出のためにエコー消去器を使用する方法及び電話方式装置

Cited By (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4564718B2 (ja) * 2002-03-26 2010-10-20 イマジネイション テクノロジーズ リミテッド 3−dコンピュータ・グラフィックス・レンダリングシステム
JP2003296747A (ja) * 2002-03-26 2003-10-17 Imagination Technologies Ltd 3−dコンピュータ・グラフィックス・レンダリングシステム
JP2008500625A (ja) * 2004-05-24 2008-01-10 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ タイルベース・グラフィック・レンダリング
JP4824687B2 (ja) * 2004-08-30 2011-11-30 クゥアルコム・インコーポレイテッド 図形データのキャッシュ効率的なラスター化
JP2008511930A (ja) * 2004-08-30 2008-04-17 クゥアルコム・インコーポレイテッド 図形データのキャッシュ効率的なラスター化
US7825928B2 (en) 2005-02-23 2010-11-02 Sony Computer Entertainment Inc. Image processing device and image processing method for rendering three-dimensional objects
WO2006090610A1 (ja) * 2005-02-23 2006-08-31 Sony Computer Entertainment Inc. 画像処理装置および画像処理方法
JP2012198932A (ja) * 2006-09-29 2012-10-18 Imagination Technologies Ltd 三次元コンピュータ映像を発生するシステムのためのメモリマネージメントの改良
JP2010505172A (ja) * 2006-09-29 2010-02-18 イマジネイション テクノロジーズ リミテッド 三次元コンピュータ映像を発生するシステムのためのメモリマネージメントの改良
US8669987B2 (en) 2006-09-29 2014-03-11 Imagination Technologies, Ltd. Memory management for systems for generating 3-dimensional computer images
JP2012198931A (ja) * 2006-09-29 2012-10-18 Imagination Technologies Ltd 三次元コンピュータ映像を発生するシステムのためのメモリマネージメントの改良
JP2010539579A (ja) * 2007-09-12 2010-12-16 イマジネイション テクノロジーズ リミテッド 3次元コンピュータ画像を生成する方法及びシステム
JP2011505622A (ja) * 2007-11-30 2011-02-24 イマジネイション テクノロジーズ リミテッド タイルベース・レンダリング・システムにおけるマルチコアの形状処理
JP2012146323A (ja) * 2007-11-30 2012-08-02 Imagination Technologies Ltd タイルベース・レンダリング・システムにおけるマルチコアの形状処理
JP2011515751A (ja) * 2008-03-19 2011-05-19 イマジネイション テクノロジーズ リミテッド タイル・ベース・レンダリング・システムにおける変換されていない表示リスト
JP2012503811A (ja) * 2008-09-24 2012-02-09 ザ・ベイカリー 複雑な3次元シーンのレンダリングまたはインターラクティブライティングをするための方法およびシステム
JP2012513053A (ja) * 2008-12-19 2012-06-07 イマジネイション テクノロジーズ リミテッド タイルベースの3dコンピュータグラフィックシステムのマルチレベルディスプレイコントロールリスト
JP2012513630A (ja) * 2008-12-23 2012-06-14 イマジネイション テクノロジーズ リミテッド タイルベースの3dコンピュータグラフィックシステムにおける表示リスト制御ストリームのグループ化
US9384584B2 (en) 2008-12-23 2016-07-05 Imagination Technologies Limited Display list control stream grouping in tile based 3D computer graphics system
US9007387B2 (en) 2012-05-22 2015-04-14 Fujitsu Limited Drawing processing apparatus and method
JP2014182697A (ja) * 2013-03-21 2014-09-29 Fujitsu Ltd 画像表示装置
JP2017518557A (ja) * 2014-04-05 2017-07-06 ソニー インタラクティブ エンタテインメント アメリカ リミテッド ライアビリテイ カンパニー 様々なレンダリング及びラスタライゼーション・パラメータ下でビューポートを変化させるための、オブジェクトの効率的再レンダリング方法

Also Published As

Publication number Publication date
EP1287494B1 (en) 2007-03-14
US20200143509A1 (en) 2020-05-07
US20160035324A1 (en) 2016-02-04
US11004172B2 (en) 2021-05-11
US9098933B2 (en) 2015-08-04
US7719539B2 (en) 2010-05-18
US10552938B2 (en) 2020-02-04
WO2001095257A1 (en) 2001-12-13
US9613598B2 (en) 2017-04-04
DE60127253T2 (de) 2007-11-22
EP1287494A1 (en) 2003-03-05
US20170193631A1 (en) 2017-07-06
US20070132772A1 (en) 2007-06-14
US20190012764A1 (en) 2019-01-10
DE60127253D1 (de) 2007-04-26
US20100220106A1 (en) 2010-09-02
JP4851049B2 (ja) 2012-01-11
US10102608B2 (en) 2018-10-16
US20040233207A1 (en) 2004-11-25
US20020039100A1 (en) 2002-04-04

Similar Documents

Publication Publication Date Title
JP4851049B2 (ja) 三次元イメージレンダリングのためのタイリング及び圧縮
EP2195782B1 (en) Methods and systems for generating 3-dimensional computer images
JP5545555B2 (ja) 三次元コンピュータ映像を発生するシステムのためのメモリマネージメントの改良
JP5579741B2 (ja) タイルベースの3dコンピュータグラフィックシステムにおける表示リスト制御ストリームのグループ化
US6243081B1 (en) Data structure for efficient retrieval of compressed texture data from a memory system
EP1074945A2 (en) Method and apparatus for controlling compressed Z information in a video graphics system
US7218317B2 (en) Mechanism for reducing Z buffer traffic in three-dimensional graphics processing
JP2009541820A (ja) タイルベースのレンダリング装置におけるパラメータ圧縮
WO2011114114A1 (en) Memory management system and method
KR100701445B1 (ko) Z-버퍼를 렌더링하기 위한 방법 및 장치
Zhang et al. Texture Mapping with Vector Graphics: A Nested Mipmapping Solution.

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080609

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080609

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101118

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20110218

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20110225

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110518

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110609

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110909

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20111006

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20111020

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 4851049

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20141028

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term