JP2001195603A - 3次元グラフィックスのための頂点キャッシュ - Google Patents
3次元グラフィックスのための頂点キャッシュInfo
- Publication number
- JP2001195603A JP2001195603A JP2000326915A JP2000326915A JP2001195603A JP 2001195603 A JP2001195603 A JP 2001195603A JP 2000326915 A JP2000326915 A JP 2000326915A JP 2000326915 A JP2000326915 A JP 2000326915A JP 2001195603 A JP2001195603 A JP 2001195603A
- Authority
- JP
- Japan
- Prior art keywords
- vertex
- data
- cache
- memory
- indexed
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0875—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with dedicated cache, e.g. instruction or stack
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/005—General purpose rendering architectures
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Graphics (AREA)
- Software Systems (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- Image Generation (AREA)
- Image Input (AREA)
- Image Processing (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Controls And Circuits For Display Device (AREA)
Abstract
ジンに対してローカルな小規模の待ち時間の短いキャッ
シュメモリを含み、ポリゴンは索引付きアレイとして、
たとえば、頂点の幾つかの特徴(たとえば位置,色,表
面法線またはテクスチャ座標)を表すデータ成分の索引
付き線形リスト300として表現することができる。頂
点キャッシュは、必要に応じて索引付き頂点属性データ
の関連ブロックを取り込んで、これをグラフィックスエ
ンジンに利用可能にすることができる。 【効果】頂点データを表示順序で予め保存することを必
要とせずに、表示処理のための空間的局所性を提供する
ことができる。
Description
ラフィックスのための頂点キャッシュに関し、より詳細
には、アニメーションおよびおよび表示処理のための頂
点情報を効率的に表現および保存するための構成および
技術に関する。さらにまた、この発明は特に、3次元ポ
リゴンデータのより効率的な映像化のための頂点キャッ
シュを含む3次元グラフィックス集積回路に関する。
は、表示要素(すなわち、ポリゴン)からアニメーショ
ン化された表示を構成する。各表示オブジェクト(たと
えば木,自動車もしくは人物または他のキャラクタ)
は、典型的には、多数のポリゴンから構築される。夫々
のポリゴンは、他の特徴(たとえば色,濃淡付けのため
の表面法線,テクスチャなど)とともにその頂点によっ
て表され、この頂点が3次元空間におけるポリゴンの位
置,向きおよび大きさを特定する。コンピュータ技術
は、これらの技術を使用してアニメーション化された3
次元グラフィックスシーンを効率的に構築することがで
きる。
高速対話型(interactive) 3次元グラフィックスシステ
ムは、メモリおよび処理資源によって構築される。した
がって、このようなシステムでは、表示オブジェクトを
表す種々のポリゴンを効率的に表現および処理できるこ
とが重要である。たとえば、表示オブジェクトをコンパ
クトに表現するデータを作成して、特定のタスクのため
に必要な全てのデータが便利に利用可能であるような方
法で、そのデータを3次元グラフィックスシステムに提
示することが望ましい。
所性に関してデータを特徴付けすることができる。時間
的局所性とは、同じデータが短い時間の間に頻繁に参照
されることを意味する。一般に、3次元対話型グラフィ
ックスアプリケーションのためのポリゴン表現データ
は、大きな時間的局所性を有する。空間的局所性とは、
参照される次のデータ項目が、最後に参照された項目に
対して近接したメモリに保存されることを意味する。効
率の改善は、データの空間的局所性を増大させることに
よって実現することができる。無制限量のデータに対す
る待ち時間の短い無制限のランダムアクセスを許容しな
い実際のメモリシステムにおいては、所定のタスクを実
行するために必要とされる全てのデータが、待ち時間の
短いメモリの中に近接して保存されれば性能は増大す
る。
に、特定のタスクを実行するために必要な全てのデータ
が一緒に保存され得るように同じ時間に近接して存在す
るであろうことを仮定して、処理の順序に基づいてポリ
ゴンデータをソーティングすることができる。たとえ
ば、アニメーションを形成するポリゴンデータは、実行
されるアニメーションの種類に対して優先的な方法で保
存することができる。一つの例として、表面変形(surfa
ce deformation) のような典型的な複雑な対話型リアル
タイムアニメーションは、表面における全ての頂点の操
作を必要とする。このようなアニメーションを効率的に
実行するためには、一定の方法で頂点データをソーティ
ングするのが望ましい。
は、アニメーション処理および表示処理を別々に実行
し、これらの別々の工程はデータを異なる方法で処理す
る。残念なことに、アニメーション処理のための頂点デ
ータをソーティングする最適順序は、一般に、表示処理
のための最適なソーティング順序とは異なる。アニメー
ションのためのソーティングは、表示順序に対してラン
ダム性を加え易いかもしれない。アニメーション処理を
単純化するためにデータストリームをソーティングする
ことによって、データを効率的に表示することを一層困
難にしてしまう。
データにアクセスするときに空間的局所性が存在するこ
とを仮定することは困難かも知れない。困難性は、任意
の大きな表示オブジェクトに効率的にアクセスする必要
性から生じる。加えて、上記で説明した理由で、少なく
とも表示目的については、表示エンジンに提示される頂
点データの順序には、典型的には幾らかのランダム性が
存在するであろう。さらに、実施に有用であり得る頂点
レベルを超えるような他のデータ局所性が存在するであ
ろう(たとえば、一定のテクスチャを共有する全てのポ
リゴンを一緒にグループ化すること)。
ローチは、短い待ち時間の追加メモリ(たとえば最短待
ち時間の手頃なメモリシステム)を準備することであ
る。また、高速ローカルメモリ中の表示オブジェクトに
適合させて、ランダムアクセスを達成することも可能で
あろう。しかし、オブジェクトが非常に大きい可能性が
ないとはいえず、また二重にバッファする必要があるか
もしれない。したがって、このようなアプローチのため
に必要とされるバッファは非常に大きくなる可能性があ
る。
使用して、表示エンジンのための最適順序で、ポリゴン
データをアセンブルしソーティングすることが可能であ
るかもしれない。しかし、これを効率的に行うには、ポ
リゴンデータがデータキャッシュの残部をスラッシング
(thrashing) するのを防止する方法が必要であろう。加
えて、データを先取り(prefetch) してメモリ待ち時間
を隠す必要があるであろう。なぜなら、表示順序のため
にソーティングされた偶数データがアクセスされる方法
において、幾らかのランダム性が存在する可能性がある
からである。さらに、このアプローチは、CPUに対し
て追加の負荷を与えるであろう。特に、或る具体化にお
いては、表示エンジンが解釈できる2値フォーマットに
データをアセンブリすることが必要があるからである。
このアプローチを使用することにより、メインCPUお
よび表示エンジンは直列になり、CPUはデータをグラ
フィックスエンジンに直接供給する。処理を並列化する
こと(たとえば、表示エンジンを、DRAM FIFO
バッファを介して供給すること)は、直接モードの供給
に比較して、実質的に追加のメモリアクセスバンド幅を
必要とするであろう。
ロセスのためのポリゴンデータを表現し、保存し供給す
るために使用できるさらに効率的な技術の必要性が存在
している。
データストリームを編成する頂点キャッシュを提供する
ことにより、この問題を解決するものである。
えば、ポリゴン頂点データは、頂点キャッシュを介して
表示(グラフィックス)エンジンに供給される。頂点キ
ャッシュは、表示エンジンハードウエア(たとえばその
一部)に対してローカルな、短い待ち時間の小規模のメ
モリでよい。融通性および効率性は、実際のキャッシュ
内容よりもはるかに大きい仮想メモリビューを与えるキ
ャッシュから生じる。
(fly)に対する表示処理のために必要な頂点データを形
成するために使用することができる。したがって、表示
目的のために頂点データを予めソーティングするのでは
なく、頂点キャッシュは、関連ブロックのデータを必要
なときに単純に取得して、これを表示プロセサが利用で
きるようにする。対話型ビデオゲーム表示のための頂点
データによって示される高度の時間的局所性、および特
定の最適な索引付きアレイデータ構造(下記参照)に基
づいて、何れかの時点で必要とされる殆どの頂点データ
が、頂点データストリームの数に比例した数のキャッシ
ュラインを有する小規模の組連想頂点キャッシュ(small
set-associative vertex cache) においてでも入手可
能であることを見出した。最適構成の一例は、8組連想
頂点キャッシュを形成する512×128ビットのデュ
アルポートRAMを提供する。
目的で、頂点キャッシュおよび関連タグをカスタマイズ
しかつ最適化することによって効率を増大させることが
でき、汎用のキャッシュおよびタグ構造を使用した場合
よりも、さらに効率的な頂点の先取り(prefetching) お
よびアセンブリ(assembling) を可能にする。頂点キャ
ッシュはデータを表示エンジンに直接供給することを可
能にするので、追加のメモリアクセスバンド幅のコスト
が回避される。ダイレクトメモリアクセスを使用して、
頂点キャッシュへ頂点データを効率的に転送してもよ
い。
らに増大させるためには、特定のポリゴンまたはポリゴ
ンの組を、それ(ら)が使用される度毎に完全に再特定
(re-specify)する必要性を低減することが望ましい。こ
の発明により提供される別の局面に従えば、ポリゴンは
アレイ、たとえば頂点の幾つかの特徴を表すデータ成分
の線形リスト(たとえば位置,色,表面法線(surface n
ormal),またはテクスチャ座標)として表現することが
できる。夫々の表示オブジェクトは、種々の組の索引と
ともに、このようなアレイの集合として表現することが
できる。これらの索引は、特定のアニメーションまたは
表示目的のためのアレイを参照する。ポリゴンデータを
索引付き成分のリストとして表すことによって、マッピ
ング間で不連続性が許容される。さらに、個々の成分
(コンポーネント)を分離することは、データをよりコ
ンパクトに保存する(たとえば、より完全に圧縮された
フォーマットで)ことを可能にする。この発明によって
与えられる頂点キャッシュは、索引サイズ以下のこのよ
うな索引付きデータのストリームを収容することができ
る。
現を使用することにより、表示目的のためにいかなる再
ソーティングの必要性も存在しない。たとえば、アニメ
ーションのために予めソーティングされた表示とは逆の
順序で、頂点データを表示エンジンに提供し、アニメー
ションをより効率的なプロセスにしてもよい。頂点キャ
ッシュは、索引付き頂点データ構造表現を使用して、明
確な再ソーティングを何等必要とせずに、効率的に、頂
点データを表示エンジンが利用可能にする。
において索引参照されることができ、または直接インラ
イン化されることができる。このことは、グラフィック
ス表示データ構造に沿ったメインプロセサの出力を必要
とせずに、メインプロセサによる効率的なデータ処理を
可能にする。たとえば、メインプロセサにより実行され
るライティング操作は、色アレイを発生させるライティ
ングパラメータのリストをループ処理することによっ
て、法線および位置のリストから色アレイのみを発生さ
せてもよい。アニメーションプロセスが3角形リスト表
示データ構造に従う必要もなく、またアニメーションプ
ロセスが表示のためのデータを再フォーマット化する必
要もない。表示プロセスは当然ながら、アニメーション
プロセスに対して実質的なデータ再フォーマット化オー
バヘッドを加えることなく、アニメーションプロセスに
より提供されるデータを使用することができる。
グすることについてペナルティはなく、いずれの場合に
も、表示のために予めソーティングされたデータを提示
するために最適化された頂点提示構造と比較して、性能
を顕著に劣化させる頂点キャッシュを伴わずに、頂点デ
ータは表示のために効率的に表示エンジンに提示され
る。
従えば、頂点データは、幾つかの異なったフォーマット
(たとえば8ビット固定小数点,16ビット固定小数点
または浮動小数点)の何れかで量子化された圧縮データ
ストリームを含む。このデータは、索引付け(すなわ
ち、頂点データストリームにより参照される)されても
よく、または直接的(すなわち、該ストリーム自身の中
に含まれる)であってもよい。これらの種々のデータフ
ォーマットを全て共通の頂点キャッシュに保存し、続い
て復元し、グラフィックス表示パイプラインのための共
通のフォーマットに変換することができる。このような
弾力的なタイプのハードウエアサポート,フォーマッ
ト,および直接的または索引付き入力データとしての多
くの属性は、複雑かつ時間を要するソフトウエアデータ
変換を回避する。
徴,および利点は、図面を参照して行う以下の実施例の
詳細な説明から一層明らかとなろう。
コンピュータグラフィックスシステム100の一例を示
す全体の概略図である。システム100は、ステレオサ
ウンドを伴って対話型3次元ビデオゲームをプレイする
ために使用することができる。光ディスクのような適切
な記憶媒体を光ディスク装置134に挿入することによ
って、異なるゲームをすることができる。ゲームプレイ
ヤは、手持ちコントローラ132(これはジョイスティ
ック,ボタン,スイッチ,キーボードまたはキーパッド
等の種々のコントロールを含むことができる)のような
入力装置を操作することによって、システム100とリ
アルタイムで対話することができる。
U)102,メインメモリ104,ならびにグラフィッ
クス/オーディオコプロセサ106を含んでいる。この
例では、メインプロセサ102は、コプロセサ106を
介して手持ちコントローラ132(および/または他の
入力装置)からの入力を受け取る。メインプロセサ10
2は、このようなユーザ入力に対して対話的に応答し、
たとえば外部記憶装置134によって供給されるビデオ
ゲームまたは他のグラフィックスプログラムを実行す
る。たとえば、メインプロセサ102は、種々のリアル
タイムの対話型制御機能に加えて、衝突検出およびアニ
メーション処理を行うことができる。
ックスおよびオーディオコマンドを発生し、これらをグ
ラフィックス/オーディオコプロセサ106に送る。グ
ラフィックス/オーディオコプロセサ106は、これら
のコマンドを処理して画像を表示装置136上に発生
し、またステレオスピーカ137R、137Lまたは他
の適切な音声発生装置上でスイレオサウンドを発生す
る。
の画像信号を受け取って、該画像信号を標準のディスプ
レイ装置136(たとえばコンピュータモニタまたは家
庭用カラーテレビ)に表示するのに適した複合ビデオ信
号に変換するためのTVエンコーダ140を含む。シス
テム100はまた、ディジタル化されたオーディオ信号
を圧縮および復元する(またディジタルオーディオ信号
フォーマットとアナログオーディオ信号フォーマットの
間での変換を行うことができる)オーディオコーデック
(圧縮器/復元器)138を含む。オーディオコーデッ
ク138は、バッファ140を介してオーディオ入力を
受け取り、またこれを処理(たとえば、該コプロセサが
発生する他のオーディオ信号および/または光ディスク
装置134のストリーミングオーディオ出力を介して受
信する他のオーディオ出力とのミキシング)のためにコ
プロセサ106に与えることができる。コプロセサ10
6は、オーディオ関連情報をオーディオタスク専用のメ
モリ144に保存する。コプロセサ106は、得られた
オーディオ出力信号を(たとえばバッファアンプ142
L、142Rを介して)スピーカ137L,137Rに
よって再生できるように、復元およびアナログ信号への
変換のためにオーディオコーデック138に与える。
存在し得る種々の周辺機器と通信する能力を有する。た
とえば、並列ディジタルバス146は、光ディスク装置
134と通信するために使用できる。直列バス148
は、たとえばROMおよび/またはリアルタイムクロッ
ク150,モデム152およびフラッシュメモリ154
を含む種々の周辺機器と通信することができる。別の外
部直列バス156は、追加の拡張メモリ158(たとえ
ばメモリカード)と通信するために使用することができ
る。
図である。コプロセサ106は、単一の集積回路であっ
てもよい。この例において、コプロセサ106は、3次
元グラフィックスプロセサ107,プロセサインタフェ
ース108,メモリンタフェース110,オーディオデ
ィジタル信号プロセサ(DSP)162,オーディオメ
モリンタフェース(I/F)164,オーディオインタ
フェース/ミキサ166,周辺コントローラ168およ
び表示コントローラ128を含む。
ラフィックス処理タスクを行い、またオーディオDSP
162はオーディオ処理タスクを行う。表示コントロー
ラ128は、メモリ104からの画像情報にアクセス
し、それを表示装置136に表示するためにTVエンコ
ーダ140に与える。オーディオインタフェース/ミキ
サ166は、オーディオコーデック138とのインタフ
ェースをとり、また異なった音源(たとえばディスク1
34からのストリーミングオーディオ入力,オーディオ
DSP162の出力,およびオーディオコーデック13
8を介して受信された外部オーディオ入力)からのオー
ディオをミックスすることができる。プロセサインタフ
ェース108は、メインプロセサ102とコプロセサ1
06との間のデータおよび制御インタフェースを与え
る。メモリインタフェース110は、コプロセサ106
とメモリ104との間のデータおよび制御インタフェー
スを与える。この例において、メインプロセサ102
は、コプロセサ106の一部であるプロセサインタフェ
ース108およびメモリコントローラ110を介して、
メインメモリ104にアクセスする。周辺コントローラ
168は、コプロセサ106と上記で述べた種々の周辺
機器(たとえば、光ディスク装置134,コントローラ
132,ROMおよび/またはリアルタイムクロック1
50,モデム152,フラッシュメモリ154およびメ
モリカード158)との間のデータインタフェースおよ
び制御インタフェースを提供する。オーディオメモリイ
ンタフェース164は、オーディオメモリ144とのイ
ンタフェースを提供する。
ィックスプロセサ107および関連するコンポーネント
のより詳細な図を示している。3次元グラフィックスプ
ロセサ107は、コマンドプロセサ114および3次元
グラフィックスパイプライン116を含んでいる。メイ
ンプロセサ102は、グラフィックスデータ(すなわ
ち、表示リスト)のストリームをコマンドプロセサ11
4に通信する。コマンドプロセサ114はこれらの表示
コマンドを受取り、これらを解析し(それらを処理する
のに必要な何等かの追加のデータをメモリ104から得
る)、3次元処理およびレンダリングのために、頂点コ
マンドのストリームをグラフィックスパイプライン11
6に与える。グラフィックスパイプライン116は、こ
れらのコマンドに基づいて3次元画像を発生する。得ら
れた画像情報は、表示コントローラ128(これはパイ
プライン116のフレームバッファ出力を表示装置13
6上に表示する)によるアクセスのために、メインメモ
リ104に転送される。
示リストをメインメモリ104に保存し、バスインタフ
ェース108を介してポインタをコマンドプロセサ11
4に渡す。コマンドプロセサ114(これは以下で詳細
に述べる頂点キャッシュ212を含む)は、CPU10
2からコマンドストリームを取り込み、コマンドストリ
ームおよび/またはメモリの中の頂点アレイから頂点属
性を取り込み、属性タイプを浮動小数点フォーマットに
変換し、得られた完全な頂点ポリゴンデータをレンダリ
ング/ラスタ化のためにグラフィックスパイプライン1
16に渡す。以下でさらに詳細に説明するように、頂点
データはコマンドストリームから、および/または各属
性がそれ自身の線形アレイで保存されているメモリ中の
頂点アレイから直接に来ることができる。メモリ調停回
路130は、グラフィックスパイプライン116,コマ
ンドプロセサ114および表示コントローラ128の間
でのメモリアクセスを調停する。以下で説明するよう
に、頂点属性アクセス待ち時間を低減するために、オン
チップの8方向の組連想頂点キャッシュ(8-way set-ass
ociative vertex cache) 212が用いられる。
ライン116は、変換ユニット118,セットアップ/
ラスタライザ120,テクスチャユニット122,テク
スチャ環境ユニット124およびピクセルエンジン12
6を含むことができる。グラフィックスパイプライン1
16において、変換ユニット118は種々の3次元変換
操作を行い、またライティングおよびテクスチャ効果を
実行してもよい。たとえば、変換ユニット118は、入
ってくる頂点毎のジオメトリをオブジェクト空間からス
クリーン空間に変換し、入ってくるテクスチャ座標を変
換しそして投影テクスチャ座標を計算し、ポリゴンクリ
ッピングを行い、頂点ライティング毎の計算を行い、テ
クスチャ座標発生のバンプマッピングを実行する。セッ
トアップ/ラスタライザ120は、変換ユニット118
から頂点データを受け取って、エッジラスタ化,テクス
チャ座標ラスタ化および色ラスタ化を実行するラスタラ
イザへ3角形セットアップ情報を送信するセットアップ
ユニットを含んでいる。テクスチャユニット122は、
投影テクスチャならびにアルファ透明性および深さをも
ったBLITを使用することにより、多重テクスチャ処
理,ポストキャッシュテクスチャ復元,テクスチャフィ
ルタリング,エンボスされたバンプマッピング,投影お
よびライティングを含むテクスチャリングに関連した種
々のタスクを実行する。テクスチャユニット122は、
フィルタリングされたテクスチャ値をテクスチャ環境ユ
ニット124へ出力する。テクスチャ環境ユニット12
4は、ポリゴンの色およびテクスチャの色を一緒にブレ
ンドし、テクスチャかぶりおよび他の環境関連機能を実
行する。ピクセルエンジン126は、Zバッファリング
およびブレンドを行い、データをオンチップのフレーム
バッファメモリの中に保存する。
116は、フレームバッファおよび/またはテクスチャ
情報をローカルに保存する1以上の埋め込み型DRAM
(図示せず)を含んでいてもよい。オンチップのフレー
ムバッファは、表示コントローラ128によるアクセス
のために、メインメモリ104に周期的に書き込まれ
る。グラフィックスパイプライン116のフレームバッ
ファ出力(これは、結局はメインメモリ104に保存さ
れる)は、表示コントローラ128によってフレーム毎
に読取られる。表示コントローラ128は、ディスプレ
イ136上に表示するためのディジタルRGBピクセル
値を提供する。
213を含むコマンドプロセサ114の概略図である。
コマンドプロセサ114は、位置,法線,テクスチャ座
標および色の信号ストリームから完全な索引付きアレイ
までの、広範囲の頂点データおよびプリミティブデータ
構造を取り扱う。何れかの頂点成分は索引参照されるこ
とができ、またはコマンドストリームの中に直接インラ
イン化することができる。したがって、コマンドプロセ
サ114は、融通可能なタイプ,フォーマットおよび多
くの属性を直接または索引付きデータとしてサポートす
る。
ロセサ213は、(典型的にはメインメモリ104内に
割当てられたバッファを介して)CPU102により与
えられる表示リストコマンドを処理する。頂点キャッシ
ュ212は、図4に示す例示データ構造300のよう
な、索引付きポリゴン頂点データ構造をキャッシュメモ
リに入れる。例示した索引付きポリゴン頂点データ構造
300は、多くの頂点成分データアレイ(たとえば、色
データアレイ306a,テクスチャ頂点データアレイ3
06b,表面法線データアレイ306c,位置頂点デー
タアレイ306d等)を参照する頂点索引アレイ304
を含んでいてもよい。頂点キャッシュ212は、メイン
メモリ104内のこれらアレイ306から頂点データに
アクセスし、表示リストプロセサ213による迅速アク
セスおよび使用のために、それらをキャッシュメモリに
入れる。
示リストプロセサ213の例を示している。この図5に
おいて、表示リストプロセサ213は、幾つかの構文解
析(パーシング:parsing)の段階を提供する。メイン
プロセサ102から受け取られた表示リストコマンド
は、表示リストストリームパーサ200によって解釈さ
れる。表示リストストリームパーサ200は、アドレス
スタック202を使用して、指令のネスティングを与え
ることができる。あるいは、FIFOからの頂点コマン
ドのストリームをメインメモリ106に保存して、予め
取り込まれた頂点コマンドデータを再ロードする必要な
く、インスタンスにおけるサブルーチン分岐を可能にす
るために、デュアルFIFOを使用してもよい(図6参
照)。図6のアプローチを使用することにより、表示リ
ストコマンドは1レベル深さの表示リストを提供し、こ
こでトップレベルのコマンドストリームは表示リスト1
レベル深さをコールすことができる。この「コール」能
力は、ジオメトリにおける予め計算されたコマンドおよ
びインスタンスのために有用である。
ックスパイプライン116の状態に影響するコマンド
を、該グラフィックスパイプラインに向けて送り出す。
残りのプリミティブコマンドストリームは、メインメモ
リ104から得たプリミティブ記述子に基づいて、プリ
ミティブストリームパーサ204により解析される(以
下参照)。
ア中のテーブルに設けられ得る頂点記述子に基づいて、
頂点ストリームパーサ208によって解析される。頂点
ストリームパーサ208に与えられる頂点ストリーム
は、メインメモリ104内に保存された頂点データに対
するこのような索引を含んでいてもよい。頂点ストリー
ムパーサ208は、頂点キャッシュ212を介して、メ
インメモリ104からこの頂点データにアクセスするこ
とができ、直接のデータに対して反対に索引付けされた
場合の異なった経路を介して、頂点コマンドおよび関連
の索引付き頂点属性を別々に与える。1つの例におい
て、頂点ストリームパーサ208は、それがメインメモ
リ104の全体であるかのように、頂点キャッシュ21
2をアドレス指定する。次いで、頂点キャッシュ212
はメインメモリ104から頂点データを検索し(また多
くは先取りし)、これを頂点ストリームパーサ208に
よる使用のために一時的にキャッシュメモリに入れる。
頂点キャッシュ212における頂点データのキャッシン
グは、メインメモリ104に対するアクセス回数を減少
させ、したがってコマンドプロセサ114が必要とする
メインメモリバンド幅を減少させる。
(ポリゴン)内に表現されるべき夫々の頂点についての
データを与える。この頂点毎データ(per-vertex dat
a)は、プリミティブストリームパーサ204によって
出力されるプリミティブ毎(per-primitive) データとと
もに、復元/逆量子化器ブロック214に与える。逆量
子化器214は、異なった頂点表現(たとえば8ビット
および16ビットの固定小数点フォーマットデータ)
を、グラフィックスパイプライン116によって使用さ
れる一様な浮動小数点表現へと変換する。逆量子化器2
14は、弾力的な種々の異なるタイプのフォーマットお
よび多くの属性のためのハードウエアサポートを提供
し、このようなデータは直接のデータまたは索引付デー
タとして、表示リストプロセサ213に提示されること
ができる。逆量子化器214の一様な浮動小数点表現出
力は、ラスタ化およびさらなる処理のためにグラフィッ
クスパイプライン116に与えられる。最適化として所
望のときは、頂点ストリップデータを再変換する必要性
を回避するために、逆量子化器214の出力位置にさら
なる小さいキャッシュまたはバッファを設けてもよい。
ち、索引付の)頂点属性データを与えるために使用され
る、好ましい実施例における索引付き頂点リスト300
のさらに詳細な例を示している。この一般化された索引
付き頂点リスト300は、図1に示したシステムにおけ
るプリミティブを定義するために使用してもよい。夫々
のプリミティブは索引のリストによって記述され、その
夫々は頂点アレイの中に索引をつける。頂点およびプリ
ミティブは夫々、フォーマット記述子を使用して、それ
らの項目のタイプを定義する。これらの記述子は、属性
をタイプに結びつける。属性は、表現するハードウエア
に対して特定の意味を有するデータ項目である。これ
は、頂点/プリミティブストリームがロードされたとき
にそれを解析および変換するように、記述子でハードウ
エアをプログラミングする可能性を与える。最小のサイ
ズを用いることにより、頂点当たり最小数の属性がジオ
メトリ圧縮に導く。図7の構成はまた、所望により、属
性を頂点、索引またはプリミティブに関連させる。
00の例では、プリミティブリスト302は、データス
トリーム(たとえばprim0,prim1,prim
2,prim3…)における種々の各プリミティブ(た
とえば3角形)を定義する。プリミティブ記述子ブロッ
ク308は、プリミティブに共通の属性を与えることが
できる(たとえば直接または索引付けされ得るテクスチ
ャデータおよび結合データ)を与えることができる。プ
リミティブリスト302内の各プリミティブは、頂点リ
スト304内の対応する頂点に索引を付ける。頂点リス
ト304内の1つの頂点は、プリミティブリスト302
内の複数のプリミティブによって使用され得る。所望で
あれば、プリミティブリスト302は明確ではなく暗示
的であってもよい。すなわち、頂点リスト304は、暗
示によって(たとえば3角形ストリップを使用して)対
応するプリミティブを定義するように配列することがで
きる。
304の夫々の頂点について与えることができる。頂点
記述子ブロック306は、特定の頂点に対応する属性デ
ータを含んでいる(たとえば、rgbまたは他の色デー
タ,アルファデータ,xyz表面法線データ)。図4に
示すように、頂点記述子ブロック306は、多くの異な
った索引付き成分ブロックを含むことができる。この頂
点属性記述子ブロック306は、いずれの頂点属性が存
在するか、成分の数およびサイズならびに成分が参照さ
れる方法(たとえば直接的…すなわち、量子化された頂
点データストリーム内に含まれる…または索引付けされ
る)を決定する。一例において、特定のプリミティブに
ついての引き出し(DRAW)コマンドにおける頂点
は、全て同じ頂点属性データ構造フォーマットを有す
る。
与えられる属性リストの例を示している。次表1に示す
属性が提供されてもよい。
おいて、位置属性は常に存在し、索引付けされたものま
たは直接的なものでもよく、多くの異なった量子化され
圧縮されたフォーマット(たとえば、浮動小数点,8ビ
ット,整数,または16ビット)をとることができる。
全ての残りの属性は、いずれかの頂点について存在して
も存在しなくてもよく、所望により索引付きでも直接的
であってもよい。位置値と同様に、テクスチャ座標値は
種々の異なったフォーマット(たとえば、8ビット整
数、16ビット整数または浮動小数点)で表現すること
ができ、表面法線属性についてもそうである。拡散色お
よび鏡色の属性は、16ビット3補数,24ビット3補
数,32ビット3補数,または16,24もしくは32
ビット4補数を含む種々のフォーマットで、3(rg
b)または4(rgba)の値を与えることができる。
所定のプリミティブについての全ての頂点は、好ましく
は同じフォーマットを有する。
6ビットポインタを使用する索引付きデータを属性アレ
イの中に照合する。アレイ内の特定の属性にアクセスす
るために使用される特定のオフセットは、たとえば属性
における成分の数,成分の大きさ,整列目的の属性間の
埋め込み(padding),および複数の属性が同じアレイの
中にインタリーブされるかどうかを含む多くの因子に依
存する。1つの頂点は、混合された直接的または間接的
な属性を有することができ、また幾つかの属性はハード
ウエアによって発生することができる(たとえば、位置
からテクスチャ座標を発生させる)。何れの属性も直接
に、または索引としてアレイの中に送ることができる。
頂点キャッシュう212は、過剰なキャッシュミスを伴
うことなく、典型的な数の夫々のデータ成分ストリーム
(たとえば位置,法線,色およびテクスチャ)を扱うた
めに充分なキャッシュラインを含んでいる。
例を示す概略図である。この例の頂点キャッシュ212
は、512×112ビットのデュアルポートRAMとし
て構成された8キロバイトのキャッシュメモリ400を
含んでいる。多くの属性ストリームがキャッシュ212
の中で探索されるので、8本のタグラインを含む8組の
組連想キャッシュを使用して、スラッシングを低減す
る。各タグラインは32×16ビットのデュアルポート
のRAM404および関連タグ状態レジスタ406を含
んでいる。タグRAM 404は、頂点RAM404内
に保存された対応するデータブロックのメインメモリア
ドレスを保存する。アドレス計算ブロック408は、必
要な頂点属性データが既に頂点RAM400内に存在す
るか否か、あるいはメインメモリへの追加の取り込みが
必要か否かを決定する。メモリ待ち時間を隠すために、
キャッシュラインはメインメモリ104から先取りされ
る。
よって頂点キャッシュ212に与えられるメモリアドレ
スフォーマットの一例を示している。このメモリアドレ
ス450は、キャッシュラインの中にバイトオフセット
を与えるフィールド452,タグRAMアドレス45
4,およびタグRAM404の内容と比較するためのメ
インメモリアドレス456を含んでいる。アドレス計算
ブロック408はメインメモリアドレス456をタグR
AM404の内容と比較して、必要なデータが既に頂点
RAM400内にキャッシュされたか否か、またはそれ
をメインメモリ104から取り込むことが必要か否かを
決定する。
たフォーマットでデータを保存する。データ有効フィー
ルド462は、特定のキャッシュライン内のデータが有
効であるかどうかを指示する。カウンタフィールド46
4は、キャッシュラインに依存する待ち行列410中の
エントリ数の追跡を維持する。カウンタフィールド46
4は、ミスが発生したときに全てのタグ状態レジスタ4
06がデータ有効を示す場合に使用される。アドレス計
算ブロック408は、新たなエントリのための余裕を形
成するために、キャッシュラインの1つを捨てる必要が
ある。カウンタフィールド464がゼロでなければ、キ
ャッシュラインは未だ使用中であり、捨て去ることはで
きない。修飾された部分的LRUアルゴリズムに基づ
き、アドレス計算ブロック408は置き換えのためにキ
ャッシュラインの1つを選択する。データ有効フィール
ド462は「無効」にセットされ、キャッシュラインは
メインメモリ104からの新たな内容で置き換えられ
る。もう1つの属性索引が同じキャッシュラインにマッ
プすると、カウンタフィールド464はインクリメント
される。データがメインメモリ104から到達すると、
データ有効ビットがセットされ、エントリは待ち行列4
10からの処理され得る。あるいは、データがキャッシ
ュRAM400の中に入れられるまで、待ち行列410
の処理が停止されるであろう。待ち行列エントリのため
にキャッシュRAM400がアクセスされると、カウン
タ464はディクリメントされる。
る実施例に関連してこの発明を説明してきたが、この発
明はこの開示された実施例に限定されるものではなく、
逆に、特許請求の範囲内に含まれる種々の変形例および
均等な構成をもカバーするものであることが理解される
べきである。
一例を示すブロック図である。
オコプロセサの例を示すブロック図である。
ロセサ部分のより詳細なブロック図で3次元パイプライ
ングラフィックス処理構成の一例を示す。
ッシュを含むコマンドプロセサの一例を示す。
シュを含む表示リストプロセサの一例を示す。
る。
略図である。
る。
ロック図である。
ーマットの一例を示している。
ォーマットの一例を示している。
ステム 102 …メインプロセサ(CPU) 104 …メインメモリ 106 …グラフィックス/オーディオコプロセサ 107 …3次元グラフィックスプロセサ 114 …コマンドプロセサ 116 …グラフィクスパイプライン 212 …頂点キャッシュ 213 …表示リストプロセサ
1)
キャッシュ
ラフィックスのための頂点キャッシュに関し、より詳細
には、アニメーションおよび表示処理のための頂点情報
を効率的に表現および保存するための構成および技術に
関する。さらにまた、この発明は特に、3次元ポリゴン
データのより効率的な映像化のための頂点キャッシュを
含む3次元グラフィックス集積回路に関する。
は、表示要素(すなわち、ポリゴン)からアニメーショ
ン化された表示を作り上げる。各表示オブジェクト(た
とえば木,自動車もしくは人物または他のキャラクタ)
は、典型的には、多数のポリゴンから構築される。夫々
のポリゴンは、他の特徴(たとえば色,濃淡付けのため
の表面法線,テクスチャなど)とともにその頂点によっ
て表され、この頂点が3次元空間におけるポリゴンの位
置,向きおよび大きさを特定する。コンピュータ技術
は、これらの技術を使用してアニメーション化された3
次元グラフィックスシーンを効率的に構築することがで
きる。
高速対話型(interactive) 3次元グラフィックスシステ
ムは、メモリおよび処理資源によって構築される。した
がって、このようなシステムでは、表示オブジェクトを
表す種々のポリゴンを効率的に表現および処理できるこ
とが重要である。たとえば、表示オブジェクトをコンパ
クトに表現するデータを作成して、特定のタスクのため
に必要な全てのデータが便利に利用可能であるような方
法で、そのデータを3次元グラフィックスシステムに提
示することが望ましい。
所性に関してデータを特徴付けすることができる。時間
的局所性とは、同じデータが短い時間の間に頻繁に参照
されることを意味する。一般に、3次元対話型グラフィ
ックスアプリケーションのためのポリゴン表現データ
は、大きな時間的局所性を有する。空間的局所性とは、
参照される次のデータ項目が、最後に参照された項目に
近接したメモリに保存されることを意味する。効率の改
善は、データの空間的局所性を増やすことによって実現
することができる。無制限量のデータに対し、無制限に
低いレイテンシのランダムアクセスを許容しない実際の
メモリシステムにおいては、所定のタスクを実行するた
めに必要とされる全てのデータが、低いレイテンシのメ
モリに近接して一緒に保存されれば性能はよくなる。
実に特定のタスクを実行するために必要な全てのデータ
がほとんど同時に提供されるように一緒に保存しておい
て、処理の順序に基づいてポリゴンデータをソーティン
グすることができる。たとえば、アニメーションを形成
するポリゴンデータは、実行されているアニメーション
の種類に対して優先的であるような方法で保存すること
ができる。一つの例として、表面変形(surface deforma
tion) のような典型的な複雑な対話型リアルタイムアニ
メーションは、表面における全ての頂点の操作を必要と
する。このようなアニメーションを効率的に実行するた
めには、一定の方法で頂点データをソーティングするの
が望ましい。
は、アニメーション処理および表示処理を別々に実行
し、これらの別々の工程はデータを異なる方法で処理す
る。残念なことに、アニメーション処理のための頂点デ
ータをソーティングする最適順序は、一般に、表示処理
のための最適なソーティング順序とは異なる。アニメー
ションのためのソーティングは、表示順序に対してラン
ダム性を加えるようにしてもよい。アニメーション処理
を単純化するためにデータストリームをソーティングす
ることによって、データを効率的に表示することを一層
困難にしてしまう。
データにアクセスするときに空間的局所性が存在するこ
とを仮定することは困難かも知れない。困難性は、任意
の大きな表示オブジェクトに効率的にアクセスする必要
性から生じる。加えて、上記で説明した理由で、少なく
とも表示目的については、表示エンジンに提供される頂
点データの順序には、典型的には幾らかのランダム性が
存在するであろう。さらに、実施に有用であり得る頂点
レベルを超えるような他のデータ局所性が存在するであ
ろう(たとえば、一定のテクスチャを共有する全てのポ
リゴンを一緒にグループ化すること)。
ローチは、低いレイテンシの追加メモリ(たとえば手頃
な中で、最も低いレイテンシのメモリシステム)を準備
することである。また、高速ローカルメモリ中に表示オ
ブジェクトを適合させて、ランダムアクセスを達成する
ことも可能であろう。しかし、オブジェクトが非常に大
きい可能性がないとはいえず、また二重にバッファする
必要があるかもしれない。したがって、このようなアプ
ローチのために必要とされるバッファは非常に大きくな
る可能性がある。
使用して、表示エンジンのための最適順序で、ポリゴン
データをアセンブルしソーティングすることが可能であ
るかもしれない。しかし、これを効率的に行うには、ポ
リゴンデータがデータキャッシュの残部をスラッシング
(thrashing) するのを防止する方法が必要であろう。加
えて、データを先取り(prefetch) してメモリのレイテ
ンシを隠す必要があるであろう。なぜなら、表示順序の
ためにソーティングされた偶数データがアクセスされる
方法において、幾らかのランダム性が存在する可能性が
あるからである。さらに、このアプローチは、CPUに
対して追加の負荷を与えるであろう。特に、或る具体化
においては、表示エンジンが解釈できる2値フォーマッ
トにデータをアセンブルすることが必要であるからであ
る。このアプローチを使用することにより、メインCP
Uおよび表示エンジンは直列になり、CPUはデータを
グラフィックスエンジンに直接供給する。処理を並列化
すること(たとえば、表示エンジンを、DRAM FI
FOバッファを介して供給すること)は、直接モードの
供給に比較して、実質的に追加のメモリアクセスバンド
幅を必要とするであろう。
ロセスのためのポリゴンデータを表現し、保存し供給す
るために使用できるさらに効率的な技術の必要性が存在
している。
データストリームを編成する頂点キャッシュを提供する
ことにより、この問題を解決するものである。
えば、ポリゴン頂点データは、頂点キャッシュを介して
表示(グラフィックス)エンジンに供給される。頂点キ
ャッシュは、表示エンジンハードウエア(たとえばその
一部)に対してローカルな、低いレイテンシの小規模の
メモリでよい。実際のキャッシュの中身よりもはるかに
大きい仮想メモリビューを与えるキャッシュから融通性
および効率性が生じる。
フライの表示処理のために必要な頂点データを形成する
ために使用してもよい。したがって、表示目的のために
頂点データを予めソーティングするのではなく、頂点キ
ャッシュは、関連ブロックのデータを必要なときに単純
に取得して、これを表示プロセサが利用できるようにす
る。対話型ビデオゲーム表示のための頂点データによっ
て示される高度の時間的局所性、および特定の最適な索
引付きアレイデータ構造(下記参照)に基づいて、何れ
かの時点で必要とされる殆どの頂点データが、頂点デー
タストリームの数に比例した数のキャッシュラインを有
する比較的小規模のセットアソシアティブ頂点キャッシ
ュ(small set-associative vertex cache) においてで
も入手可能であることを見出した。最適構成の一例は、
8セットアソシアティブ頂点キャッシュを形成する51
2×128ビットのデュアルポートRAMを提供する。
目的で、頂点キャッシュおよび関連タグをカスタマイズ
しかつ最適化することによって効率を増大させることが
でき、汎用のキャッシュおよびタグ構造を使用した場合
よりも、さらに効率的な頂点の先取り(prefetching) お
よびアセンブル(assembling) を可能にする。頂点キャ
ッシュはデータを表示エンジンに直接供給することを可
能にするので、追加のメモリアクセスバンド幅のコスト
が回避される。ダイレクトメモリアクセスを使用して、
頂点キャッシュへ頂点データを効率的に転送してもよ
い。
らに増大させるためには、特定のポリゴンまたはポリゴ
ンの組を、それ(ら)が使用される度毎に完全に再特定
(re-specify)する必要性を低減することが望ましい。こ
の発明により提供される別の局面に従えば、ポリゴンは
アレイ、たとえば頂点の幾つかの特徴を表すデータ成分
の線形リスト(たとえば位置,色,表面法線(surface n
ormal),またはテクスチャ座標)として表現することが
できる。夫々の表示オブジェクトは、種々の組の索引と
ともに、このようなアレイの集合として表現することが
できる。これらの索引は、特定のアニメーションまたは
表示目的のためのアレイを参照する。ポリゴンデータを
索引付き成分のリストとして表すことによって、マッピ
ング間で不連続性が許容される。さらに、個々の成分
(コンポーネント)を分離することは、データをよりコ
ンパクトに保存する(たとえば、より完全に圧縮された
フォーマットで)ことを可能にする。この発明によって
与えられる頂点キャッシュは、索引サイズ以下のこのよ
うな索引付きデータのストリームを収容することができ
る。
現を使用することにより、表示目的のためにいかなる再
ソーティングの必要性も存在しない。たとえば、アニメ
ーションのために予めソーティングされた表示とは逆の
順序で、頂点データを表示エンジンに提供し、アニメー
ションをより効率的なプロセスにしてもよい。頂点キャ
ッシュは、索引付き頂点データ構造表現を使用して、明
確な再ソーティングを何等必要とせずに、効率的に、頂
点データを表示エンジンが利用可能にする。
において索引参照されることができ、または直接インラ
イン化されることができる。このことは、グラフィック
ス表示データ構造に沿ったメインプロセサの出力を必要
とせずに、メインプロセサによる効率的なデータ処理を
可能にする。たとえば、メインプロセサにより実行され
るライティング操作は、色アレイを発生させるライティ
ングパラメータのリストをループ処理することによっ
て、法線および位置のリストから色アレイのみを発生さ
せてもよい。アニメーションプロセスが3角形リスト表
示データ構造に従う必要もなく、またアニメーションプ
ロセスが表示のためのデータを再フォーマット化する必
要もない。表示プロセスは当然ながら、アニメーション
プロセスに対して実質的なデータ再フォーマット化のオ
ーバヘッドを加えることなく、アニメーションプロセス
により提供されるデータを使用することができる。
グすることについてペナルティはなく、いずれの場合に
も、表示のために予めソーティングされたデータを提示
するために最適化された頂点提示構造と比較して、性能
を顕著に劣化させる頂点キャッシュを伴わずに、頂点デ
ータは表示のために効率的に表示エンジンに提示され
る。
従えば、頂点データは、幾つかの異なったフォーマット
(たとえば8ビット固定小数点,16ビット固定小数点
または浮動小数点)の何れかで量子化された圧縮データ
ストリームを含む。このデータは、索引付け(すなわ
ち、頂点データストリームにより参照される)されても
よく、または直接的(すなわち、該ストリーム自身の中
に含まれる)であってもよい。これらの種々のデータフ
ォーマットを全て共通の頂点キャッシュに保存し、続い
て復元し、グラフィックス表示パイプラインのための共
通のフォーマットに変換することができる。このような
弾力的なタイプのハードウエアサポート,フォーマッ
ト,および直接的または索引付き入力データとしての多
くの属性は、複雑かつ時間を要するソフトウエアデータ
変換を回避する。
徴,および利点は、図面を参照して行う以下の実施例の
詳細な説明から一層明らかとなろう。
コンピュータグラフィックスシステム100の一例を示
す全体の概略図である。システム100は、ステレオサ
ウンドを伴って対話型3次元ビデオゲームをプレイする
ために使用することができる。光ディスクのような適切
な記憶媒体を光ディスク装置134に挿入することによ
って、異なるゲームをすることができる。ゲームプレイ
ヤは、手持ちコントローラ132(これはジョイスティ
ック,ボタン,スイッチ,キーボードまたはキーパッド
等の種々のコントロールを含むことができる)のような
入力装置を操作することによって、システム100とリ
アルタイムで対話することができる。
U)102,メインメモリ104,ならびにグラフィッ
クス/オーディオコプロセサ106を含んでいる。この
例では、メインプロセサ102は、コプロセサ106を
介して手持ちコントローラ132(および/または他の
入力装置)からの入力を受け取る。メインプロセサ10
2は、このようなユーザ入力に対して対話的に応答し、
たとえば外部記憶装置134によって供給されるビデオ
ゲームまたは他のグラフィックスプログラムを実行す
る。たとえば、メインプロセサ102は、種々のリアル
タイムの対話型制御機能に加えて、衝突検出およびアニ
メーション処理を行うことができる。
ックスおよびオーディオコマンドを発生し、これらをグ
ラフィックス/オーディオコプロセサ106に送る。グ
ラフィックス/オーディオコプロセサ106は、これら
のコマンドを処理して画像を表示装置136上に発生
し、またステレオスピーカ137R、137Lまたは他
の適切な音声発生装置上でステレオサウンドを発生す
る。
の画像信号を受け取って、該画像信号を標準のディスプ
レイ装置136(たとえばコンピュータモニタまたは家
庭用カラーテレビ)に表示するのに適した複合ビデオ信
号に変換するためのTVエンコーダ140を含む。シス
テム100はまた、ディジタル化されたオーディオ信号
を圧縮および復元する(またディジタルオーディオ信号
フォーマットとアナログオーディオ信号フォーマットの
間での変換を行うことができる)オーディオコーデック
(圧縮器/復元器)138を含む。オーディオコーデッ
ク138は、バッファ140を介してオーディオ入力を
受け取り、またこれを処理(たとえば、該コプロセサが
発生する他のオーディオ信号および/または光ディスク
装置134のストリーミングオーディオ出力を介して受
信する他のオーディオ出力とのミキシング)のためにコ
プロセサ106に与えることができる。コプロセサ10
6は、オーディオ関連情報をオーディオタスク専用のメ
モリ144に保存する。コプロセサ106は、得られた
オーディオ出力信号を(たとえばバッファアンプ142
L、142Rを介して)スピーカ137L,137Rに
よって再生できるように、復元およびアナログ信号への
変換のためにオーディオコーデック138に与える。
存在し得る種々の周辺機器と通信する能力を有する。た
とえば、パラレルディジタルバス146は、光ディスク
装置134と通信するために使用できる。シリアルバス
148は、たとえばROMおよび/またはリアルタイム
クロック150,モデム152およびフラッシュメモリ
154を含む種々の周辺機器と通信することができる。
別の外部シリアルバス156は、追加の拡張メモリ15
8(たとえばメモリカード)と通信するために使用する
ことができる。
図である。コプロセサ106は、単一の集積回路であっ
てもよい。この例において、コプロセサ106は、3次
元グラフィックスプロセサ107,プロセサインタフェ
ース108,メモリインタフェース110,オーディオ
ディジタル信号プロセサ(DSP)162,オーディオ
メモリインタフェース(I/F)164,オーディオイ
ンタフェース/ミキサ166,周辺コントローラ168
および表示コントローラ128を含む。
ラフィックス処理タスクを行い、またオーディオDSP
162はオーディオ処理タスクを行う。表示コントロー
ラ128は、メモリ104からの画像情報にアクセス
し、それを表示装置136に表示するためにTVエンコ
ーダ140に与える。オーディオインタフェース/ミキ
サ166は、オーディオコーデック138とのインタフ
ェースをとり、また異なった音源(たとえばディスク1
34からのストリーミングオーディオ入力,オーディオ
DSP162の出力,およびオーディオコーデック13
8を介して受信された外部オーディオ入力)からのオー
ディオをミックスすることができる。プロセサインタフ
ェース108は、メインプロセサ102とコプロセサ1
06との間のデータおよび制御インタフェースを与え
る。メモリインタフェース110は、コプロセサ106
とメモリ104との間のデータおよび制御インタフェー
スを与える。この例において、メインプロセサ102
は、コプロセサ106の一部であるプロセサインタフェ
ース108およびメモリコントローラ110を介して、
メインメモリ104にアクセスする。周辺コントローラ
168は、コプロセサ106と上記で述べた種々の周辺
機器(たとえば、光ディスク装置134,コントローラ
132,ROMおよび/またはリアルタイムクロック1
50,モデム152,フラッシュメモリ154およびメ
モリカード158)との間のデータインタフェースおよ
び制御インタフェースを提供する。オーディオメモリイ
ンタフェース164は、オーディオメモリ144とのイ
ンタフェースを提供する。
ィックスプロセサ107および関連するコンポーネント
のより詳細な図を示している。3次元グラフィックスプ
ロセサ107は、コマンドプロセサ114および3次元
グラフィックスパイプライン116を含んでいる。メイ
ンプロセサ102は、グラフィックスデータ(すなわ
ち、表示リスト)のストリームをコマンドプロセサ11
4に通信する。コマンドプロセサ114はこれらの表示
コマンドを受取り、これらを解析し(それらを処理する
のに必要な何等かの追加のデータをメモリ104から得
る)、3次元処理およびレンダリングのために、頂点コ
マンドのストリームをグラフィックスパイプライン11
6に与える。グラフィックスパイプライン116は、こ
れらのコマンドに基づいて3次元画像を発生する。得ら
れた画像情報は、表示コントローラ128(これはパイ
プライン116のフレームバッファ出力を表示装置13
6上に表示する)によるアクセスのために、メインメモ
リ104に転送される。
示リストをメインメモリ104に保存し、バスインタフ
ェース108を介してポインタをコマンドプロセサ11
4に渡す。コマンドプロセサ114(これは以下で詳細
に述べる頂点キャッシュ212を含む)は、CPU10
2からコマンドストリームを取り込み、コマンドストリ
ームおよび/またはメモリの中の頂点アレイから頂点属
性を取り込み、属性タイプを浮動小数点フォーマットに
変換し、得られた完全な頂点ポリゴンデータのレンダリ
ング/ラスタライズのためにグラフィックスパイプライ
ン116に渡す。以下でさらに詳細に説明するように、
頂点データはコマンドストリームから、および/または
各属性がそれ自身の線形アレイで保存されているメモリ
中の頂点アレイから直接に来ることができる。メモリ調
停回路130は、グラフィックスパイプライン116,
コマンドプロセサ114および表示コントローラ128
の間でのメモリアクセスを調停する。以下で説明するよ
うに、頂点属性アクセス待ち時間を低減するために、オ
ンチップの8方向のセットアソシアティブ頂点キャッシ
ュ(8-way set-associative vertex cache) 212が用
いられる。
ライン116は、変換ユニット118,セットアップ/
ラスタライザ120,テクスチャユニット122,テク
スチャ環境ユニット124およびピクセルエンジン12
6を含むことができる。グラフィックスパイプライン1
16において、変換ユニット118は種々の3次元変換
操作を行い、またライティングおよびテクスチャ効果を
実行してもよい。たとえば、変換ユニット118は、入
ってくる頂点毎のジオメトリをオブジェクト空間からス
クリーン空間に変換し、入ってくるテクスチャ座標を変
換しそして投影テクスチャ座標を計算し、ポリゴンクリ
ッピングを行い、頂点ライティング毎の計算を行い、テ
クスチャ座標発生のバンプマッピングを実行する。セッ
トアップ/ラスタライザ120は、変換ユニット118
から頂点データを受け取って、エッジのラスタライズ,
テクスチャ座標のラスタライズおよび色のラスタライズ
を実行するラスタライザへ3角形セットアップ情報を送
信するセットアップユニットを含んでいる。テクスチャ
ユニット122は、投影テクスチャならびにアルファ透
明度および深さをもったBLITを使用することによ
り、多重テクスチャ処理,ポストキャッシュテクスチャ
復元,テクスチャフィルタリング,エンボスされたバン
プマッピング,投影およびライティングを含むテクスチ
ャリングに関連した種々のタスクを実行する。テクスチ
ャユニット122は、フィルタリングされたテクスチャ
値をテクスチャ環境ユニット124へ出力する。テクス
チャ環境ユニット124は、ポリゴンの色およびテクス
チャの色を一緒にブレンドし、テクスチャかぶりおよび
他の環境関連機能を実行する。ピクセルエンジン126
は、Zバッファリングおよびブレンドを行い、データを
オンチップのフレームバッファメモリの中に保存する。
116は、フレームバッファおよび/またはテクスチャ
情報をローカルに保存する1以上の埋め込み型DRAM
(図示せず)を含んでいてもよい。オンチップのフレー
ムバッファは、表示コントローラ128によるアクセス
のために、メインメモリ104に周期的に書き込まれ
る。グラフィックスパイプライン116のフレームバッ
ファ出力(これは、結局はメインメモリ104に保存さ
れる)は、表示コントローラ128によってフレーム毎
に読取られる。表示コントローラ128は、ディスプレ
イ136上に表示するためのディジタルRGBピクセル
値を提供する。
213を含むコマンドプロセサ114の概略図である。
コマンドプロセサ114は、位置,法線,テクスチャ座
標および色の信号ストリームから完全な索引付きアレイ
までの、広範囲の頂点データおよびプリミティブデータ
構造を取り扱う。何れかの頂点成分は索引参照されるこ
とができ、またはコマンドストリームの中に直接インラ
イン化することができる。したがって、コマンドプロセ
サ114は、融通可能なタイプ,フォーマットおよび多
くの属性を直接または索引付きデータとしてサポートす
る。
ロセサ213は、(典型的にはメインメモリ104内に
割当てられたバッファを介して)CPU102により与
えられる表示リストコマンドを処理する。頂点キャッシ
ュ212は、図4に示す例示データ構造300のよう
な、索引付きポリゴン頂点データ構造をキャッシュメモ
リに入れる。例示した索引付きポリゴン頂点データ構造
300は、多くの頂点成分データアレイ(たとえば、色
データアレイ306a,テクスチャ頂点データアレイ3
06b,表面法線データアレイ306c,位置頂点デー
タアレイ306d等)を参照する頂点索引アレイ304
を含んでいてもよい。頂点キャッシュ212は、メイン
メモリ104内のこれらアレイ306から頂点データに
アクセスし、表示リストプロセサ213による迅速アク
セスおよび使用のために、それらをキャッシュメモリに
入れる。
示リストプロセサ213の例を示している。この図5に
おいて、表示リストプロセサ213は、幾つかの構文解
析(パーシング:parsing)の段階を提供する。メイン
プロセサ102から受け取られた表示リストコマンド
は、表示リストストリームパーサ200によって解釈さ
れる。表示リストストリームパーサ200は、アドレス
スタック202を使用して、指令のネスティングを与え
ることができる。あるいは、FIFOからの頂点コマン
ドのストリームをメインメモリ106に保存して、予め
取り込まれた頂点コマンドデータを再ロードする必要な
く、インスタンスにおけるサブルーチン分岐を可能にす
るために、デュアルFIFOを使用してもよい(図6参
照)。図6のアプローチを使用することにより、表示リ
ストコマンドは1レベル深さの表示リストを提供し、こ
こでトップレベルのコマンドストリームは表示リスト1
レベル深さをコールすことができる。この「コール」能
力は、ジオメトリにおける予め計算されたコマンドおよ
びインスタンスのために有用である。
ックスパイプライン116の状態に影響するコマンド
を、該グラフィックスパイプラインに向けて送り出す。
残りのプリミティブコマンドストリームは、メインメモ
リ104から得たプリミティブ記述子に基づいて、プリ
ミティブストリームパーサ204により解析される(以
下参照)。
ア中のテーブルに設けられ得る頂点記述子に基づいて、
頂点ストリームパーサ208によって解析される。頂点
ストリームパーサ208に与えられる頂点ストリーム
は、メインメモリ104内に保存された頂点データに対
するこのような索引を含んでいてもよい。頂点ストリー
ムパーサ208は、頂点キャッシュ212を介して、メ
インメモリ104からこの頂点データにアクセスするこ
とができ、直接のデータに対して反対に索引付けされた
場合の異なった経路を介して、頂点コマンドおよび関連
の索引付き頂点属性を別々に与える。1つの例におい
て、頂点ストリームパーサ208は、それがメインメモ
リ104の全体であるかのように、頂点キャッシュ21
2をアドレス指定する。次いで、頂点キャッシュ212
はメインメモリ104から頂点データを検索し(また多
くは先取りし)、これを頂点ストリームパーサ208に
よる使用のために一時的にキャッシュメモリに入れる。
頂点キャッシュ212における頂点データのキャッシン
グは、メインメモリ104に対するアクセス回数を減少
させ、したがってコマンドプロセサ114が必要とする
メインメモリバンド幅を減少させる。
(ポリゴン)内に表現されるべき夫々の頂点についての
データを与える。この頂点毎データ(per-vertex dat
a)は、プリミティブストリームパーサ204によって
出力されるプリミティブ毎(per-primitive) データとと
もに、復元/逆量子化器ブロック214に与えられる。
逆量子化器214は、異なった頂点表現(たとえば8ビ
ットおよび16ビットの固定小数点フォーマットデー
タ)を、グラフィックスパイプライン116によって使
用される一様な浮動小数点表現へと変換する。逆量子化
器214は、弾力的な種々の異なるタイプのフォーマッ
トおよび多くの属性のためのハードウエアサポートを提
供し、このようなデータは直接のデータまたは索引付デ
ータとして、表示リストプロセサ213に提示されるこ
とができる。逆量子化器214の一様な浮動小数点表現
出力は、ラスタ化およびさらなる処理のためにグラフィ
ックスパイプライン116に与えられる。最適化として
所望のときは、頂点ストリップデータを再変換する必要
性を回避するために、逆量子化器214の出力位置にさ
らなる小さいキャッシュまたはバッファを設けてもよ
い。
ち、索引付の)頂点属性データを与えるために使用され
る、好ましい実施例における索引付き頂点リスト300
のさらに詳細な例を示している。この一般化された索引
付き頂点リスト300は、図1に示したシステムにおけ
るプリミティブを定義するために使用してもよい。夫々
のプリミティブは索引のリストによって記述され、その
夫々は頂点アレイの中に索引をつける。頂点およびプリ
ミティブは夫々、フォーマット記述子を使用して、それ
らの項目のタイプを定義する。これらの記述子は、属性
をタイプに結びつける。属性は、表現するハードウエア
に対して特定の意味を有するデータ項目である。これ
は、頂点/プリミティブストリームがロードされたとき
にそれを解析および変換するように、記述子でハードウ
エアをプログラミングする可能性を与える。最小サイズ
のタイプと最小数の属性を使用することで、ジオメトリ
の圧縮につながる。図7の構成はまた、所望により、属
性を頂点、索引またはプリミティブに関連させる。
00の例では、プリミティブリスト302は、データス
トリーム(たとえばprim0,prim1,prim
2,prim3…)における種々の各プリミティブ(た
とえば3角形)を定義する。プリミティブ記述子ブロッ
ク308は、プリミティブに共通の属性を与えることが
できる(たとえば直接または索引付けされ得るテクスチ
ャデータおよび結合データ)を与えることができる。プ
リミティブリスト302内の各プリミティブは、頂点リ
スト304内の対応する頂点に索引を付ける。頂点リス
ト304内の1つの頂点は、プリミティブリスト302
内の複数のプリミティブによって使用され得る。所望で
あれば、プリミティブリスト302は明確ではなく暗示
的であってもよい。すなわち、頂点リスト304は、暗
示的に(たとえば3角形ストリップを使用して)対応す
るプリミティブを定義するように配列することができ
る。
304の夫々の頂点について与えることができる。頂点
記述子ブロック306は、特定の頂点に対応する属性デ
ータを含んでいる(たとえば、rgbまたは他の色デー
タ,アルファデータ,xyz表面法線データ)。図4に
示すように、頂点記述子ブロック306は、多くの異な
った索引付き成分ブロックを含むことができる。この頂
点属性記述子ブロック306は、いずれの頂点属性が存
在するか、成分の数およびサイズならびに成分が参照さ
れる方法(たとえば直接的…すなわち、量子化された頂
点データストリーム内に含まれる…または索引付けされ
る)を決定する。一例において、特定のプリミティブに
ついての描画(DRAW)コマンドにおける頂点は、全
て同じ頂点属性データ構造フォーマットを有する。
与えられる属性リストの例を示している。次表1に示す
属性が提供されてもよい。
おいて、位置属性は常に存在し、索引付けされたものま
たは直接的なものでもよく、多くの異なった量子化され
圧縮されたフォーマット(たとえば、浮動小数点,8ビ
ット,整数,または16ビット)をとることができる。
全ての残りの属性は、いずれかの頂点について存在して
も存在しなくてもよく、所望により索引付きでも直接的
であってもよい。位置値と同様に、テクスチャ座標値は
種々の異なったフォーマット(たとえば、8ビット整
数、16ビット整数または浮動小数点)で表現すること
ができ、表面法線属性についてもそうである。拡散色お
よび鏡色の属性は、16ビット3補数,24ビット3補
数,32ビット3補数,または16,24もしくは32
ビット4補数を含む種々のフォーマットで、3(rg
b)または4(rgba)の値を与えることができる。
所定のプリミティブについての全ての頂点は、好ましく
は同じフォーマットを有する。
6ビットポインタを使用する索引付きデータを属性アレ
イの中に照合する。アレイ内の特定の属性にアクセスす
るために使用される特定のオフセットは、たとえば属性
における成分の数,成分の大きさ,アライメント目的の
属性間のパディング,および複数の属性が同じアレイの
中にインタリーブされるかどうかを含む多くの因子に依
存する。1つの頂点は、混合された直接的または間接的
な属性を有することができ、また幾つかの属性はハード
ウエアによって発生することができる(たとえば、位置
からテクスチャ座標を発生させる)。何れの属性も直接
に、または索引としてアレイの中に送ることができる。
頂点キャッシュう212は、過剰なキャッシュミスを伴
うことなく、典型的な数の夫々のデータ成分ストリーム
(たとえば位置,法線,色およびテクスチャ)を扱うた
めに充分なキャッシュラインを含んでいる。
例を示す概略図である。この例の頂点キャッシュ212
は、512×112ビットのデュアルポートRAMとし
て構成された8キロバイトのキャッシュメモリ400を
含んでいる。多くの属性ストリームがキャッシュ212
の中で探索されるので、8本のタグラインを含む8組の
セットアソシアティブキャッシュを使用して、スラッシ
ングを低減する。各タグラインは32×16ビットのデ
ュアルポートのRAM404および関連タグ状態レジス
タ406を含んでいる。タグRAM 404は、頂点R
AM404内に保存された対応するデータブロックのメ
インメモリアドレスを保存する。アドレス計算ブロック
408は、必要な頂点属性データが既に頂点RAM40
0内に存在するか否か、あるいはメインメモリへの追加
の取り込みが必要か否かを決定する。メモリ待ち時間を
隠すために、キャッシュラインはメインメモリ104か
ら先取りされる。
よって頂点キャッシュ212に与えられるメモリアドレ
スフォーマットの一例を示している。このメモリアドレ
ス450は、キャッシュラインの中にバイトオフセット
を与えるフィールド452,タグRAMアドレス45
4,およびタグRAM404の内容と比較するためのメ
インメモリアドレス456を含んでいる。アドレス計算
ブロック408はメインメモリアドレス456をタグR
AM404の内容と比較して、必要なデータが既に頂点
RAM400内にキャッシュされたか否か、またはそれ
をメインメモリ104から取り込むことが必要か否かを
決定する。
たフォーマットでデータを保存する。データ有効フィー
ルド462は、特定のキャッシュライン内のデータが有
効であるかどうかを指示する。カウンタフィールド46
4は、キャッシュラインに依存する待ち行列410中の
エントリ数のトラックを維持する。カウンタフィールド
464は、ミスが発生したときに全てのタグ状態レジス
タ406がデータ有効を示す場合に使用される。アドレ
ス計算ブロック408は、新たなエントリのための余裕
を形成するために、キャッシュラインの1つを捨てる必
要がある。カウンタフィールド464がゼロでなけれ
ば、キャッシュラインは未だ使用中であり、捨て去るこ
とはできない。改良された部分的LRUアルゴリズムに
基づき、アドレス計算ブロック408は置き換えのため
にキャッシュラインの1つを選択する。データ有効フィ
ールド462は「無効」にセットされ、キャッシュライ
ンはメインメモリ104からの新たな内容で置き換えら
れる。もう1つの属性索引が同じキャッシュラインにマ
ップすると、カウンタフィールド464はインクリメン
トされる。データがメインメモリ104から到達する
と、データ有効ビットがセットされ、エントリは待ち行
列410から処理可能となる。あるいは、データがキャ
ッシュRAM400の中に入れられるまで、待ち行列4
10の処理が停止されるであろう。待ち行列エントリの
ためにキャッシュRAM400がアクセスされると、カ
ウンタ464はディクリメントされる。
る実施例に関連してこの発明を説明してきたが、この発
明はこの開示された実施例に限定されるものではなく、
逆に、特許請求の範囲内に含まれる種々の変形例および
均等な構成をもカバーするものであることが理解される
べきである。
一例を示すブロック図である。
オコプロセサの例を示すブロック図である。
ロセサ部分のより詳細なブロック図で3次元パイプライ
ングラフィックス処理構成の一例を示す。
ッシュを含むコマンドプロセサの一例を示す。
シュを含む表示リストプロセサの一例を示す。
る。
略図である。
る。
ロック図である。
ーマットの一例を示している。
ォーマットの一例を示している。
ステム 102 …メインプロセサ(CPU) 104 …メインメモリ 106 …グラフィックス/オーディオコプロセサ 107 …3次元グラフィックスプロセサ 114 …コマンドプロセサ 116 …グラフィクスパイプライン 212 …頂点キャッシュ 213 …表示リストプロセサ
Claims (16)
- 【請求項1】ポリゴン頂点データを保存するメモリおよ
び少なくとも一部は前記ポリゴン頂点データに応答して
画像を発生して表示する3次元グラフィックスエンジン
を含む3次元グラフィックスシステムにおいて、前記メ
モリおよび前記3次元グラフィックスエンジンに動作可
能に結合された頂点キャッシュであって、 前記ポリゴン頂点データが索引付き頂点データ表現を含
み、前記頂点キャッシュは前記索引付き頂点データ表現
に応答して動作し、前記メモリから索引付き頂点データ
をキャッシュし、画像表示のための再ソーティングなし
で、前記グラフィックスエンジンに使用させるようにし
たことを特徴とする、頂点キャッシュ。 - 【請求項2】前記3次元グラフィックスエンジンは集積
回路に配置されており、 前記集積回路に配置されて前記3次元グラフィックスエ
ンジンと動作可能に結合されたメモリ装置をさらに備え
る、請求項1記載の頂点キャッシュ。 - 【請求項3】前記メモリ装置は前記頂点データをキャッ
シュするための組連想キャッシュメモリを備える、請求
項2記載の頂点キャッシュ。 - 【請求項4】前記組連想キャッシュメモリは8個のキャ
ッシュラインを提供する、請求項3記載の頂点キャッシ
ュ。 - 【請求項5】前記メモリ装置は8キロバイトの短い待ち
時間のRAMを含む、請求項2記載の頂点キャッシュ。 - 【請求項6】複数のキャッシュタグラインを備える、請
求項1記載の頂点キャッシュ。 - 【請求項7】前記複数のキャッシュタグ状態レジスタを
含む、請求項1記載の頂点キャッシュ。 - 【請求項8】待ち行列およびミス待ち行列を含む、請求
項1記載の頂点キャッシュ。 - 【請求項9】前記頂点キャッシュは、使用時に前記メモ
リに結合され、前記グラフィックスエンジンが前記頂点
データを必要とするときに、前記メモリから頂点データ
を取り込む、請求項1記載の頂点キャッシュ。 - 【請求項10】前記頂点キャッシュと前記3次元グラフ
ィックスエンジンとの間に動作可能に連結されたハード
ウエアベースの逆量子化装置をさらに備え、 前記逆量子化装置は、前記3次元グラフィックスエンジ
ンによる使用のために、複数の頂点データフォーマット
を一様な浮動小数点フォーマットに変換する、請求項1
記載の頂点キャッシュ。 - 【請求項11】前記索引付き頂点データ表現は属性デー
タを参照する索引付きアレイを含む、請求項1記載の頂
点キャッシュ。 - 【請求項12】前記索引付きアレイは前記属性データを
直接参照する、請求項11記載の頂点キャッシュ。 - 【請求項13】前記索引付きアレイは前記属性データを
間接的に参照する、請求項11記載の頂点キャッシュ。 - 【請求項14】ポリゴン頂点データを保存するメモリお
よび少なくとも一部は前記ポリゴン頂点データに応答し
て画像を発生および表示する3次元グラフィックスエン
ジンを含む3次元ビデオグラフィックスシステムにおい
て、前記3次元グラフィックスエンジンが使用するため
に前記メモリから前記頂点データにアクセスするための
方法であって、 (a) 前記ポリゴン頂点データを索引付き頂点データ表現
で表現するステップ、および(b) 前記索引付き頂点デー
タを、前記3次元グラフィックスエンジンに対してロー
カルな短い待ち時間のキャッシュメモリ装置の中に取り
込んで、前記索引付き頂点データを前記3次元グラフィ
ックスエンジンによるアクセスのために利用可能にする
ステップを含む、方法。 - 【請求項15】前記ステップ(b) は、前記3次元グラフ
ィックスエンジンが前記頂点データを必要とするとき
に、頂点データを前記メモリから前記キャッシュメモリ
装置へ取り込むステップをさらに含む、請求項14記載
の方法。 - 【請求項16】前記ステップ(b) は、前記キャッシュメ
モリ装置に保存された複数の頂点データフォーマット
を、前記3次元グラフィックスエンジンによる使用のた
めの一様な浮動小数点フィーマットに変換するステップ
をさらに含む、請求項14記載の方法。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16191599P | 1999-10-28 | 1999-10-28 | |
US09/465754 | 1999-12-17 | ||
US09/465,754 US6717577B1 (en) | 1999-10-28 | 1999-12-17 | Vertex cache for 3D computer graphics |
US60/161915 | 1999-12-17 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2001195603A true JP2001195603A (ja) | 2001-07-19 |
JP4644353B2 JP4644353B2 (ja) | 2011-03-02 |
Family
ID=26858260
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000326915A Expired - Lifetime JP4644353B2 (ja) | 1999-10-28 | 2000-10-26 | 3次元グラフィックスのための頂点キャッシュ |
Country Status (3)
Country | Link |
---|---|
US (1) | US6717577B1 (ja) |
EP (1) | EP1096427A3 (ja) |
JP (1) | JP4644353B2 (ja) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007249796A (ja) * | 2006-03-17 | 2007-09-27 | Sony Corp | 画像処理装置および画像処理方法、並びにプログラム |
KR100791478B1 (ko) | 2006-07-14 | 2008-01-04 | 엠텍비젼 주식회사 | 정점 처리를 위한 인코딩 장치, 디코딩 장치 및 그 방법 |
JP2008520021A (ja) * | 2004-11-15 | 2008-06-12 | アーム・ノルウェー・アー・エス | 3次元グラフィックス処理装置および方法 |
WO2008126392A1 (ja) | 2007-04-11 | 2008-10-23 | Panasonic Corporation | 画像生成装置及び画像生成方法 |
JP2009545825A (ja) * | 2006-08-03 | 2009-12-24 | クゥアルコム・インコーポレイテッド | 拡張型頂点キャッシュを備えたグラフィック処理装置 |
JP2010535393A (ja) * | 2007-07-30 | 2010-11-18 | クゥアルコム・インコーポレイテッド | グラフィックス・システムにおける可変長の圧縮と関連付けのための方式 |
JP2010277304A (ja) * | 2009-05-28 | 2010-12-09 | Fujitsu Semiconductor Ltd | 描画データ処理方法、図形描画システム、及び図形描画データ作成プログラム |
JP2016523404A (ja) * | 2013-06-10 | 2016-08-08 | 株式会社ソニー・インタラクティブエンタテインメント | 頂点シェーダ出力パラメータの圧縮スキーム |
US10096079B2 (en) | 2013-06-10 | 2018-10-09 | Sony Interactive Entertainment Inc. | Fragment shaders perform vertex shader computations |
US10134102B2 (en) | 2013-06-10 | 2018-11-20 | Sony Interactive Entertainment Inc. | Graphics processing hardware for using compute shaders as front end for vertex shaders |
US10176621B2 (en) | 2013-06-10 | 2019-01-08 | Sony Interactive Entertainment Inc. | Using compute shaders as front end for vertex shaders |
WO2019087553A1 (ja) * | 2017-11-02 | 2019-05-09 | キヤノン株式会社 | 情報生成装置、情報処理装置、制御方法、プログラム、及びデータ構造 |
Families Citing this family (74)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6801203B1 (en) * | 1999-12-22 | 2004-10-05 | Microsoft Corporation | Efficient graphics pipeline with a pixel cache and data pre-fetching |
US7538772B1 (en) | 2000-08-23 | 2009-05-26 | Nintendo Co., Ltd. | Graphics processing system with enhanced memory controller |
US6966837B1 (en) * | 2001-05-10 | 2005-11-22 | Best Robert M | Linked portable and video game systems |
JP3746211B2 (ja) | 2001-08-03 | 2006-02-15 | 株式会社ソニー・コンピュータエンタテインメント | 描画装置、描画方法、描画プログラム、描画プログラムを記録したコンピュータ読み取り可能な記録媒体、及びグラフィックスプロセッサ |
TWI245234B (en) * | 2001-12-19 | 2005-12-11 | Silicon Integrated Sys Corp | Apparatus and method for accessing vertex data |
CN1293512C (zh) * | 2001-12-28 | 2007-01-03 | 矽统科技股份有限公司 | 顶点资料队列控制器 |
US6928526B1 (en) * | 2002-12-20 | 2005-08-09 | Datadomain, Inc. | Efficient data storage system |
FI117579B (fi) * | 2003-01-17 | 2006-11-30 | Cadfaster Oy | Menetelmä, laite ja tietokoneohjelma tietokoneavusteisen polygonimallin prosessointiin |
US7190367B2 (en) * | 2003-03-25 | 2007-03-13 | Mitsubishi Electric Research Laboratories, Inc. | Method, apparatus, and system for rendering using a progressive cache |
US6943797B2 (en) * | 2003-06-30 | 2005-09-13 | Sun Microsystems, Inc. | Early primitive assembly and screen-space culling for multiple chip graphics system |
US20050206648A1 (en) * | 2004-03-16 | 2005-09-22 | Perry Ronald N | Pipeline and cache for processing data progressively |
FI117655B (fi) * | 2004-03-25 | 2006-12-29 | Cadfaster Oy | Menetelmä tietokoneavusteisen polygonimallin prosessointiin, laite ja tietokoneohjelma |
US8743142B1 (en) | 2004-05-14 | 2014-06-03 | Nvidia Corporation | Unified data fetch graphics processing system and method |
US8416242B1 (en) | 2004-05-14 | 2013-04-09 | Nvidia Corporation | Method and system for interpolating level-of-detail in graphics processors |
US8687010B1 (en) | 2004-05-14 | 2014-04-01 | Nvidia Corporation | Arbitrary size texture palettes for use in graphics systems |
US8411105B1 (en) | 2004-05-14 | 2013-04-02 | Nvidia Corporation | Method and system for computing pixel parameters |
US20060007234A1 (en) * | 2004-05-14 | 2006-01-12 | Hutchins Edward A | Coincident graphics pixel scoreboard tracking system and method |
US7079156B1 (en) * | 2004-05-14 | 2006-07-18 | Nvidia Corporation | Method and system for implementing multiple high precision and low precision interpolators for a graphics pipeline |
US8736620B2 (en) * | 2004-05-14 | 2014-05-27 | Nvidia Corporation | Kill bit graphics processing system and method |
US8736628B1 (en) | 2004-05-14 | 2014-05-27 | Nvidia Corporation | Single thread graphics processing system and method |
US8860722B2 (en) * | 2004-05-14 | 2014-10-14 | Nvidia Corporation | Early Z scoreboard tracking system and method |
US8711155B2 (en) * | 2004-05-14 | 2014-04-29 | Nvidia Corporation | Early kill removal graphics processing system and method |
US8432394B1 (en) | 2004-05-14 | 2013-04-30 | Nvidia Corporation | Method and system for implementing clamped z value interpolation in a raster stage of a graphics pipeline |
US7339590B1 (en) * | 2004-09-02 | 2008-03-04 | Nvidia Corporation | Vertex processing unit supporting vertex texture mapping |
US7631145B1 (en) | 2005-06-23 | 2009-12-08 | Nvidia Corporation | Inter-frame texel cache |
US7616209B1 (en) | 2006-06-16 | 2009-11-10 | Nvidia Corporation | Prescient cache management |
US7626588B1 (en) * | 2006-06-16 | 2009-12-01 | Nvidia Corporation | Prescient cache management |
US8009172B2 (en) * | 2006-08-03 | 2011-08-30 | Qualcomm Incorporated | Graphics processing unit with shared arithmetic logic unit |
US7928990B2 (en) * | 2006-09-27 | 2011-04-19 | Qualcomm Incorporated | Graphics processing unit with unified vertex cache and shader register file |
US8537168B1 (en) | 2006-11-02 | 2013-09-17 | Nvidia Corporation | Method and system for deferred coverage mask generation in a raster stage |
US7982741B2 (en) | 2006-11-29 | 2011-07-19 | Microsoft Corporation | Shared graphics infrastructure |
US7934058B2 (en) * | 2006-12-14 | 2011-04-26 | Microsoft Corporation | Predictive caching of assets to improve level load time on a game console |
JP4389947B2 (ja) * | 2007-02-19 | 2009-12-24 | ソニー株式会社 | 記録再生装置、データ処理装置、再生方法及びデータ処理方法 |
US8022958B2 (en) | 2007-04-04 | 2011-09-20 | Qualcomm Incorporated | Indexes of graphics processing objects in graphics processing unit commands |
US8907964B2 (en) * | 2007-04-10 | 2014-12-09 | Vivante Corporation | System and method for dynamically reconfiguring a vertex cache |
US20080276067A1 (en) * | 2007-05-01 | 2008-11-06 | Via Technologies, Inc. | Method and Apparatus for Page Table Pre-Fetching in Zero Frame Display Channel |
US8441497B1 (en) | 2007-08-07 | 2013-05-14 | Nvidia Corporation | Interpolation of vertex attributes in a graphics processor |
US9183607B1 (en) | 2007-08-15 | 2015-11-10 | Nvidia Corporation | Scoreboard cache coherence in a graphics pipeline |
US8384728B2 (en) * | 2007-09-14 | 2013-02-26 | Qualcomm Incorporated | Supplemental cache in a graphics processing unit, and apparatus and method thereof |
US8599202B1 (en) * | 2008-09-29 | 2013-12-03 | Nvidia Corporation | Computing tessellation coordinates using dedicated hardware |
US9256514B2 (en) | 2009-02-19 | 2016-02-09 | Nvidia Corporation | Debugging and perfomance analysis of applications |
GB2470611B (en) * | 2009-06-25 | 2011-06-29 | Tv One Ltd | Apparatus and method for processing data |
US8614716B2 (en) | 2010-10-01 | 2013-12-24 | Apple Inc. | Recording a command stream with a rich encoding format for capture and playback of graphics content |
US8462166B2 (en) * | 2010-10-01 | 2013-06-11 | Apple Inc. | Graphics system which measures CPU and GPU performance |
US8762644B2 (en) * | 2010-10-15 | 2014-06-24 | Qualcomm Incorporated | Low-power audio decoding and playback using cached images |
GB201103699D0 (en) | 2011-03-03 | 2011-04-20 | Advanced Risc Mach Ltd | Graphic processing |
GB201103698D0 (en) | 2011-03-03 | 2011-04-20 | Advanced Risc Mach Ltd | Graphics processing |
US9460546B1 (en) | 2011-03-30 | 2016-10-04 | Nvidia Corporation | Hierarchical structure for accelerating ray tracing operations in scene rendering |
US8970584B1 (en) | 2011-06-24 | 2015-03-03 | Nvidia Corporation | Bounding box-based techniques for improved sample test efficiency in image rendering |
US9153068B2 (en) | 2011-06-24 | 2015-10-06 | Nvidia Corporation | Clipless time and lens bounds for improved sample test efficiency in image rendering |
US9142043B1 (en) | 2011-06-24 | 2015-09-22 | Nvidia Corporation | System and method for improved sample test efficiency in image rendering |
US9269183B1 (en) | 2011-07-31 | 2016-02-23 | Nvidia Corporation | Combined clipless time and lens bounds for improved sample test efficiency in image rendering |
US9305394B2 (en) | 2012-01-27 | 2016-04-05 | Nvidia Corporation | System and process for improved sampling for parallel light transport simulation |
US8976188B1 (en) | 2012-04-20 | 2015-03-10 | Google Inc. | Optimized data communication system and method for an image rendering system |
US9411595B2 (en) | 2012-05-31 | 2016-08-09 | Nvidia Corporation | Multi-threaded transactional memory coherence |
US9171394B2 (en) | 2012-07-19 | 2015-10-27 | Nvidia Corporation | Light transport consistent scene simplification within graphics display system |
US9159158B2 (en) | 2012-07-19 | 2015-10-13 | Nvidia Corporation | Surface classification for point-based rendering within graphics display system |
US9824009B2 (en) | 2012-12-21 | 2017-11-21 | Nvidia Corporation | Information coherency maintenance systems and methods |
US10102142B2 (en) | 2012-12-26 | 2018-10-16 | Nvidia Corporation | Virtual address based memory reordering |
US9418437B2 (en) * | 2013-03-15 | 2016-08-16 | Nvidia Corporation | Stencil then cover path rendering with shared edges |
KR102048885B1 (ko) | 2013-05-09 | 2019-11-26 | 삼성전자 주식회사 | 그래픽 프로세싱 유닛, 이를 포함하는 그래픽 프로세싱 시스템, 및 이를 이용한 렌더링 방법 |
US9477575B2 (en) | 2013-06-12 | 2016-10-25 | Nvidia Corporation | Method and system for implementing a multi-threaded API stream replay |
US9569385B2 (en) | 2013-09-09 | 2017-02-14 | Nvidia Corporation | Memory transaction ordering |
US9721363B2 (en) | 2014-05-19 | 2017-08-01 | Google Inc. | Encoding polygon data for fast retrieval and rendering |
US9645916B2 (en) | 2014-05-30 | 2017-05-09 | Apple Inc. | Performance testing for blocks of code |
GB2528263B (en) * | 2014-07-14 | 2020-12-23 | Advanced Risc Mach Ltd | Graphics processing systems |
US20170286122A1 (en) * | 2016-04-01 | 2017-10-05 | Intel Corporation | Instruction, Circuits, and Logic for Graph Analytics Acceleration |
US10417134B2 (en) * | 2016-11-10 | 2019-09-17 | Oracle International Corporation | Cache memory architecture and policies for accelerating graph algorithms |
US10861216B2 (en) * | 2017-04-07 | 2020-12-08 | Intel Corporation | Ray tracing apparatus and method for memory access and register operations |
EP3474185B1 (en) * | 2017-10-18 | 2023-06-28 | Dassault Systèmes | Classification of 2d images according to types of 3d arrangement |
US10762667B2 (en) * | 2018-11-30 | 2020-09-01 | Point Cloud Compression, B.V. | Method and apparatus for compression of point cloud data |
CN111028128B (zh) * | 2019-11-18 | 2023-10-17 | 中国航空工业集团公司西安航空计算技术研究所 | 基于SystemC面向GPU顶点输出控制方法及单元 |
CN111047503B (zh) * | 2019-11-21 | 2023-06-13 | 中国航空工业集团公司西安航空计算技术研究所 | 一种顶点数组类命令的属性存储与组装优化电路 |
CN114090078A (zh) * | 2021-10-29 | 2022-02-25 | 龙芯中科技术股份有限公司 | 图数据预取方法、处理器和电子设备 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06162171A (ja) * | 1992-08-03 | 1994-06-10 | Ball Corp | コンピューターグラフィックスにおける多角形の頂点インデックスキャッシュシステム |
JPH06348854A (ja) * | 1993-06-04 | 1994-12-22 | Sun Microsyst Inc | グラフィックアクセラレータ及び幾何学オブジェクト描出方法 |
JPH07210461A (ja) * | 1993-12-28 | 1995-08-11 | Internatl Business Mach Corp <Ibm> | ストア・イン第2レベル・キャッシュ制御装置 |
JPH09167242A (ja) * | 1995-12-19 | 1997-06-24 | Fuji Xerox Co Ltd | 描画処理装置および方法 |
JPH09297853A (ja) * | 1996-05-07 | 1997-11-18 | Sega Enterp Ltd | ポリゴンデータの生成方法、これを適用した画像処理装置及び拡張機能ボード |
WO1997048048A1 (en) * | 1996-06-13 | 1997-12-18 | Micron Technology, Inc. | Word width selection for sram cache |
JPH10320198A (ja) * | 1997-04-10 | 1998-12-04 | Internatl Business Mach Corp <Ibm> | データを転送する方法およびプロセッサ |
JPH11259671A (ja) * | 1998-03-12 | 1999-09-24 | Sega Enterp Ltd | 画像表示方法及びそれを実行する画像表示装置 |
Family Cites Families (331)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4275413A (en) | 1978-03-30 | 1981-06-23 | Takashi Sakamoto | Linear interpolator for color correction |
US4357624A (en) | 1979-05-15 | 1982-11-02 | Combined Logic Company | Interactive video production system |
US4463380A (en) | 1981-09-25 | 1984-07-31 | Vought Corporation | Image processing system |
US4600919A (en) | 1982-08-03 | 1986-07-15 | New York Institute Of Technology | Three dimensional animation |
US4615013A (en) | 1983-08-02 | 1986-09-30 | The Singer Company | Method and apparatus for texture generation |
US4586038A (en) | 1983-12-12 | 1986-04-29 | General Electric Company | True-perspective texture/shading processor |
EP0146961B1 (en) | 1983-12-26 | 1991-03-20 | Hitachi, Ltd. | Image and graphic pattern processing apparatus |
US4808988A (en) | 1984-04-13 | 1989-02-28 | Megatek Corporation | Digital vector generator for a graphic display system |
US4625289A (en) | 1985-01-09 | 1986-11-25 | Evans & Sutherland Computer Corp. | Computer graphics system of general surface rendering by exhaustive sampling |
US5239624A (en) | 1985-06-19 | 1993-08-24 | Pixar | Pseudo-random point sampling techniques in computer graphics |
US4897806A (en) | 1985-06-19 | 1990-01-30 | Pixar | Pseudo-random point sampling techniques in computer graphics |
JPH0762794B2 (ja) | 1985-09-13 | 1995-07-05 | 株式会社日立製作所 | グラフイツク表示装置 |
US4974177A (en) | 1985-10-04 | 1990-11-27 | Daikin Industries Ltd. | Mapping circuit of a CRT display device |
US4692880A (en) | 1985-11-15 | 1987-09-08 | General Electric Company | Memory efficient cell texturing for advanced video object generator |
US4817175A (en) | 1986-08-26 | 1989-03-28 | Schlumberger Systems And Services, Inc. | Video stream processing system |
US4855934A (en) | 1986-10-03 | 1989-08-08 | Evans & Sutherland Computer Corporation | System for texturing computer graphics images |
US4918625A (en) | 1986-12-19 | 1990-04-17 | Cae-Link Corporation | Method and apparatus for processing translucent objects |
US4965750A (en) | 1987-03-31 | 1990-10-23 | Hitachi, Ltd. | Graphic processor suitable for graphic data transfer and conversion processes |
US4935879A (en) | 1987-08-05 | 1990-06-19 | Daikin Industries, Ltd. | Texture mapping apparatus and method |
US5144291A (en) | 1987-11-02 | 1992-09-01 | Matsushita Electric Industrial Co., Ltd. | Means for eliminating hidden surface |
US4888712A (en) | 1987-11-04 | 1989-12-19 | Schlumberger Systems, Inc. | Guardband clipping method and apparatus for 3-D graphics display system |
US5361386A (en) | 1987-12-04 | 1994-11-01 | Evans & Sutherland Computer Corp. | System for polygon interpolation using instantaneous values in a variable |
US4974176A (en) | 1987-12-18 | 1990-11-27 | General Electric Company | Microtexture for close-in detail |
JPH0693181B2 (ja) | 1988-03-18 | 1994-11-16 | 株式会社日立製作所 | 表示装置 |
US6054999A (en) | 1988-03-22 | 2000-04-25 | Strandberg; Oerjan | Method and apparatus for computer supported animation |
EP0336430B1 (en) | 1988-04-08 | 1994-10-19 | Dainippon Screen Mfg. Co., Ltd. | Method of extracting contour of subject image from original |
US4907174A (en) | 1988-06-02 | 1990-03-06 | Sun Microsystems, Inc. | Z-buffer allocated for window identification |
US5097427A (en) | 1988-07-06 | 1992-03-17 | Hewlett-Packard Company | Texture mapping for computer graphics display controller system |
US5315692A (en) | 1988-07-22 | 1994-05-24 | Hughes Training, Inc. | Multiple object pipeline display system |
US5003496A (en) | 1988-08-26 | 1991-03-26 | Eastman Kodak Company | Page memory control in a raster image processor |
US4989138A (en) | 1988-09-02 | 1991-01-29 | Tektronix, Inc. | Single bus graphics data processing pipeline with decentralized bus arbitration |
JPH0727581B2 (ja) | 1988-09-09 | 1995-03-29 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 図形処理装置 |
US5016183A (en) | 1988-09-13 | 1991-05-14 | Computer Design, Inc. | Textile design system and method |
US5018076A (en) | 1988-09-16 | 1991-05-21 | Chips And Technologies, Inc. | Method and circuitry for dual panel displays |
GB8828342D0 (en) | 1988-12-05 | 1989-01-05 | Rediffusion Simulation Ltd | Image generator |
US5062057A (en) | 1988-12-09 | 1991-10-29 | E-Machines Incorporated | Computer display controller with reconfigurable frame buffer memory |
US5659673A (en) | 1988-12-16 | 1997-08-19 | Canon Kabushiki Kaisha | Image processing apparatus |
US5255353A (en) | 1989-02-28 | 1993-10-19 | Ricoh Company, Ltd. | Three-dimensional shadow processor for an image forming apparatus |
US5204944A (en) | 1989-07-28 | 1993-04-20 | The Trustees Of Columbia University In The City Of New York | Separable image warping methods and systems using spatial lookup tables |
EP0423653B1 (en) | 1989-10-13 | 1997-08-06 | Matsushita Electric Industrial Co., Ltd. | Method and apparatus for compensating for color in color images |
JPH0776991B2 (ja) | 1989-10-24 | 1995-08-16 | インターナショナル・ビジネス・マシーンズ・コーポレーション | Nurbsデータ変換方法及び装置 |
JP3005007B2 (ja) | 1989-12-21 | 2000-01-31 | キヤノン株式会社 | 画像符号化装置 |
SE464265B (sv) | 1990-01-10 | 1991-03-25 | Stefan Blixt | Grafikprocessor |
GB2240017A (en) | 1990-01-15 | 1991-07-17 | Philips Electronic Associated | New, interpolated texture values are fed back to texture memories |
GB2240015A (en) | 1990-01-15 | 1991-07-17 | Philips Electronic Associated | Texture memory addressing |
US5224208A (en) | 1990-03-16 | 1993-06-29 | Hewlett-Packard Company | Gradient calculation for texture mapping |
AU7747591A (en) | 1990-05-12 | 1991-12-10 | Rediffusion Simulation Limited | Image generator |
DE69122557T2 (de) | 1990-06-29 | 1997-04-24 | Philips Electronics Nv | Bilderzeugung |
EP0470782B1 (en) | 1990-08-08 | 1996-02-14 | The Peerless Group | Image rendering process and apparatus |
US5241658A (en) | 1990-08-21 | 1993-08-31 | Apple Computer, Inc. | Apparatus for storing information in and deriving information from a frame buffer |
US5268995A (en) | 1990-11-21 | 1993-12-07 | Motorola, Inc. | Method for executing graphics Z-compare and pixel merge instructions in a data processor |
US5268996A (en) | 1990-12-20 | 1993-12-07 | General Electric Company | Computer image generation method for determination of total pixel illumination due to plural light sources |
US5307450A (en) | 1991-02-19 | 1994-04-26 | Silicon Graphics, Inc. | Z-subdivision for improved texture mapping |
JPH07122908B2 (ja) | 1991-03-12 | 1995-12-25 | インターナショナル・ビジネス・マシーンズ・コーポレイション | 3次元のソリッド物体を表す表示可能情報を生成する装置と方法 |
US5415549A (en) | 1991-03-21 | 1995-05-16 | Atari Games Corporation | Method for coloring a polygon on a video display |
JP3316592B2 (ja) | 1991-06-17 | 2002-08-19 | サン・マイクロシステムズ・インコーポレーテッド | 二重バッファ・出力ディスプレー・システム、および、第1のフレーム・バッファおよび第2のフレーム・バッファ相互間の切り換えを行う方法 |
DE69233717T2 (de) | 1991-06-28 | 2008-10-30 | Lim, Hong Lip, Darlington | Verbesserungen in sichtbarkeit-berechnungen fuer 3d-rechner |
JP3321651B2 (ja) | 1991-07-26 | 2002-09-03 | サン・マイクロシステムズ・インコーポレーテッド | コンピュータの出力表示のためのフレームバッファメモリを提供する装置および方法 |
EP0739513B1 (en) | 1991-08-13 | 1999-10-27 | The Board Of Regents Of The University Of Washington | Method of transmitting of data |
TW225595B (ja) | 1991-09-03 | 1994-06-21 | Gen Electric | |
US5404445A (en) | 1991-10-31 | 1995-04-04 | Toshiba America Information Systems, Inc. | External interface for a high performance graphics adapter allowing for graphics compatibility |
US5353424A (en) * | 1991-11-19 | 1994-10-04 | Digital Equipment Corporation | Fast tag compare and bank select in set associative cache |
US5345541A (en) | 1991-12-20 | 1994-09-06 | Apple Computer, Inc. | Method and apparatus for approximating a value between two endpoint values in a three-dimensional image rendering device |
US5377313A (en) | 1992-01-29 | 1994-12-27 | International Business Machines Corporation | Computer graphics display method and system with shadow generation |
EP0656142B1 (en) | 1992-04-17 | 1999-06-16 | Intel Corporation | Visual frame buffer architecture |
JP2760731B2 (ja) | 1992-04-30 | 1998-06-04 | 株式会社東芝 | グラフィックス互換性を可能にする高性能グラフィックスアダプタ用外部インターフェース回路 |
US5469535A (en) | 1992-05-04 | 1995-11-21 | Midway Manufacturing Company | Three-dimensional, texture mapping display system |
GB2267203B (en) | 1992-05-15 | 1997-03-19 | Fujitsu Ltd | Three-dimensional graphics drawing apparatus, and a memory apparatus to be used in texture mapping |
US5366376A (en) | 1992-05-22 | 1994-11-22 | Atari Games Corporation | Driver training system and method with performance data feedback |
US5473736A (en) | 1992-06-08 | 1995-12-05 | Chroma Graphics | Method and apparatus for ordering and remapping colors in images of real two- and three-dimensional objects |
US5432900A (en) | 1992-06-19 | 1995-07-11 | Intel Corporation | Integrated graphics and video computer display system |
US5828907A (en) | 1992-06-30 | 1998-10-27 | Discovision Associates | Token-based adaptive video processing arrangement |
JPH0628485A (ja) | 1992-07-09 | 1994-02-04 | Toshiba Corp | テクスチャーアドレス生成器、テクスチャーパターン生成器、テクスチャー描画装置及びテクスチャーアドレス生成方法 |
US5475803A (en) | 1992-07-10 | 1995-12-12 | Lsi Logic Corporation | Method for 2-D affine transformation of images |
JPH07325934A (ja) | 1992-07-10 | 1995-12-12 | Walt Disney Co:The | 仮想世界に向上したグラフィックスを提供する方法および装置 |
GB2270243B (en) | 1992-08-26 | 1996-02-28 | Namco Ltd | Image synthesizing system |
US5431471A (en) | 1992-09-16 | 1995-07-11 | Mi-Jack Products, Inc. | Side fitting connection apparatus for lifting trailers and containers |
JP2682559B2 (ja) | 1992-09-30 | 1997-11-26 | インターナショナル・ビジネス・マシーンズ・コーポレイション | 物体の画像をディスプレイ装置上に表示する装置及び方法並びにコンピュータ・グラフィックス表示システム |
US5432895A (en) | 1992-10-01 | 1995-07-11 | University Corporation For Atmospheric Research | Virtual reality imaging system |
GB2271259A (en) | 1992-10-02 | 1994-04-06 | Canon Res Ct Europe Ltd | Processing image data |
US5890190A (en) | 1992-12-31 | 1999-03-30 | Intel Corporation | Frame buffer for storing graphics and video data |
US5559954A (en) | 1993-02-24 | 1996-09-24 | Intel Corporation | Method & apparatus for displaying pixels from a multi-format frame buffer |
US5859645A (en) | 1993-03-26 | 1999-01-12 | Loral Corporation | Method for point sampling in computer graphics systems |
BR9404930A (pt) | 1993-04-09 | 1999-06-15 | Sega Enterprises Kk | Dispositivo de conexões múltiplas para uso em aparelho de jogo |
US5644364A (en) | 1993-04-16 | 1997-07-01 | Avid Technology, Inc. | Media pipeline with multichannel video processing and playback |
US5606650A (en) | 1993-04-22 | 1997-02-25 | Apple Computer, Inc. | Method and apparatus for storage and retrieval of a texture map in a graphics display system |
JP3026698B2 (ja) | 1993-05-27 | 2000-03-27 | キヤノン株式会社 | 画像処理方法及びその装置 |
GB2278524B (en) | 1993-05-28 | 1997-12-10 | Nihon Unisys Ltd | Method and apparatus for rendering visual images employing area calculation and blending of fractional pixel lists for anti-aliasing and transparency |
US5408650A (en) | 1993-06-29 | 1995-04-18 | Digital Equipment Corporation | Memory analysis system for dynamically displaying memory allocation and de-allocation events associated with an application program |
US5490240A (en) | 1993-07-09 | 1996-02-06 | Silicon Graphics, Inc. | System and method of generating interactive computer graphic images incorporating three dimensional textures |
JPH0778267A (ja) | 1993-07-09 | 1995-03-20 | Silicon Graphics Inc | 陰影を表示する方法及びコンピュータ制御表示システム |
GB9316214D0 (en) | 1993-08-05 | 1993-09-22 | Philips Electronics Uk Ltd | Image processing |
DE69408473T2 (de) | 1993-10-15 | 1998-08-27 | Evans & Sutherland Computer Co | Direktes rendering von texturierten höhenfeldern |
JPH07146952A (ja) | 1993-11-22 | 1995-06-06 | Konami Kk | 3次元画像処理装置 |
WO1995015528A1 (en) | 1993-11-30 | 1995-06-08 | Vlsi Technology, Inc. | A reallocatable memory subsystem enabling transparent transfer of memory function during upgrade |
JPH07200386A (ja) | 1993-12-28 | 1995-08-04 | Toshiba Corp | 共有メモリのアクセス制御装置および画像形成装置 |
US5592597A (en) | 1994-02-14 | 1997-01-07 | Parametric Technology Corporation | Real-time image generation system for simulating physical paint, drawing media, and feature modeling with 3-D graphics |
US5557712A (en) | 1994-02-16 | 1996-09-17 | Apple Computer, Inc. | Color map tables smoothing in a color computer graphics system avoiding objectionable color shifts |
US5548709A (en) | 1994-03-07 | 1996-08-20 | Silicon Graphics, Inc. | Apparatus and method for integrating texture memory and interpolation logic in a computer system |
US5487146A (en) | 1994-03-08 | 1996-01-23 | Texas Instruments Incorporated | Plural memory access address generation employing guide table entries forming linked list |
US5506604A (en) | 1994-04-06 | 1996-04-09 | Cirrus Logic, Inc. | Apparatus, systems and methods for processing video data in conjunction with a multi-format frame buffer |
US5461712A (en) | 1994-04-18 | 1995-10-24 | International Business Machines Corporation | Quadrant-based two-dimensional memory manager |
US5608864A (en) | 1994-04-29 | 1997-03-04 | Cirrus Logic, Inc. | Variable pixel depth and format for video windows |
US5664162A (en) | 1994-05-23 | 1997-09-02 | Cirrus Logic, Inc. | Graphics accelerator with dual memory controllers |
JP3220328B2 (ja) | 1994-06-01 | 2001-10-22 | 株式会社ソニー・コンピュータエンタテインメント | ビデオゲーム機 |
US5694143A (en) | 1994-06-02 | 1997-12-02 | Accelerix Limited | Single chip frame buffer and graphics accelerator |
WO1995035572A1 (en) | 1994-06-20 | 1995-12-28 | Neomagic Corporation | Graphics controller integrated circuit without memory interface |
US5600763A (en) | 1994-07-21 | 1997-02-04 | Apple Computer, Inc. | Error-bounded antialiased rendering of complex scenes |
US5684941A (en) | 1994-09-01 | 1997-11-04 | Cirrus Logic, Inc. | Interpolation rendering of polygons into a pixel grid |
US5678037A (en) | 1994-09-16 | 1997-10-14 | Vlsi Technology, Inc. | Hardware graphics accelerator system and method therefor |
US5553228A (en) | 1994-09-19 | 1996-09-03 | International Business Machines Corporation | Accelerated interface between processors and hardware adapters |
US5933154A (en) | 1994-09-30 | 1999-08-03 | Apple Computer, Inc. | Multi-panel video display control addressing of interleaved frame buffers via CPU address conversion |
GB2293938B (en) | 1994-10-04 | 1999-01-20 | Winbond Electronics Corp | Apparatus for digital video format conversion |
TW278162B (ja) | 1994-10-07 | 1996-06-11 | Yamaha Corp | |
TW357913U (en) | 1994-10-12 | 1999-05-01 | Sega Enterprises Kk | Peripheral machinery |
JPH08123969A (ja) | 1994-10-28 | 1996-05-17 | Mitsubishi Electric Corp | マッピング装置 |
GB9422089D0 (en) | 1994-11-02 | 1994-12-21 | Philips Electronics Uk Ltd | Blurring for computer graphics |
US5593350A (en) | 1994-11-04 | 1997-01-14 | Thrustmaster, Inc. | Video game card having interrupt resistant behavior |
US6067098A (en) | 1994-11-16 | 2000-05-23 | Interactive Silicon, Inc. | Video/graphics controller which performs pointer-based display list video refresh operation |
US5838334A (en) | 1994-11-16 | 1998-11-17 | Dye; Thomas A. | Memory and graphics controller which performs pointer-based display list video refresh operations |
JP2637931B2 (ja) | 1994-12-01 | 1997-08-06 | インターナショナル・ビジネス・マシーンズ・コーポレイション | テクスチャ・マッピングを行うコンピュータ・システム |
US5561752A (en) | 1994-12-22 | 1996-10-01 | Apple Computer, Inc. | Multipass graphics rendering method and apparatus with re-traverse flag |
KR100242880B1 (ko) | 1994-12-29 | 2000-02-01 | 전주범 | 분할된 영역의 윤곽추적장치 |
JPH08221593A (ja) | 1995-02-14 | 1996-08-30 | Hitachi Ltd | 図形表示装置 |
US5649082A (en) | 1995-03-20 | 1997-07-15 | Silicon Graphics, Inc. | Efficient method and apparatus for determining texture coordinates for lines and polygons |
US5900881A (en) | 1995-03-22 | 1999-05-04 | Ikedo; Tsuneo | Computer graphics circuit |
US5764228A (en) | 1995-03-24 | 1998-06-09 | 3Dlabs Inc., Ltd. | Graphics pre-processing and rendering system |
US5835096A (en) | 1995-03-24 | 1998-11-10 | 3D Labs | Rendering system using 3D texture-processing hardware for accelerated 2D rendering |
US5805175A (en) | 1995-04-14 | 1998-09-08 | Nvidia Corporation | Method and apparatus for providing a plurality of color formats from a single frame buffer |
US5714981A (en) | 1995-04-21 | 1998-02-03 | Advanced Gravis Computer Technology, Ltd. | Gameport communication apparatus and method |
US5651104A (en) | 1995-04-25 | 1997-07-22 | Evans & Sutherland Computer Corporation | Computer graphics system and process for adaptive supersampling |
US5751295A (en) | 1995-04-27 | 1998-05-12 | Control Systems, Inc. | Graphics accelerator chip and method |
US5798762A (en) | 1995-05-10 | 1998-08-25 | Cagent Technologies, Inc. | Controlling a real-time rendering engine using a list-based control mechanism |
US5638535A (en) | 1995-05-15 | 1997-06-10 | Nvidia Corporation | Method and apparatus for providing flow control with lying for input/output operations in a computer system |
US5657443A (en) | 1995-05-16 | 1997-08-12 | Hewlett-Packard Company | Enhanced test system for an application-specific memory scheme |
JP3081774B2 (ja) | 1995-05-24 | 2000-08-28 | シャープ株式会社 | テクスチャーパターンメモリ回路 |
JPH08328941A (ja) | 1995-05-31 | 1996-12-13 | Nec Corp | メモリアクセス制御回路 |
US5751292A (en) | 1995-06-06 | 1998-05-12 | Hewlett-Packard Company | Texture mapping method and system |
US5745118A (en) | 1995-06-06 | 1998-04-28 | Hewlett-Packard Company | 3D bypass for download of textures |
US5877741A (en) | 1995-06-07 | 1999-03-02 | Seiko Epson Corporation | System and method for implementing an overlay pathway |
US5754191A (en) | 1995-06-23 | 1998-05-19 | Cirrus Logic, Inc. | Method and apparatus for optimizing pixel data write operations to a tile based frame buffer |
US5828383A (en) | 1995-06-23 | 1998-10-27 | S3 Incorporated | Controller for processing different pixel data types stored in the same display memory by use of tag bits |
JPH0916806A (ja) | 1995-07-04 | 1997-01-17 | Ricoh Co Ltd | 立体画像処理装置 |
JP3349871B2 (ja) | 1995-07-10 | 2002-11-25 | 株式会社リコー | 画像処理装置 |
JP3780011B2 (ja) * | 1995-07-14 | 2006-05-31 | 株式会社ルネサステクノロジ | 半導体記憶装置 |
US5682522A (en) | 1995-07-18 | 1997-10-28 | Silicon Integrated Systems Corp. | Shared memory architecture of graphics frame buffer and hard disk cache |
US5628686A (en) | 1995-07-31 | 1997-05-13 | Microsoft Corporation | Apparatus and method for bidirectional data communication in a game port |
US6016150A (en) | 1995-08-04 | 2000-01-18 | Microsoft Corporation | Sprite compositor and method for performing lighting and shading operations using a compositor to combine factored image layers |
US5949428A (en) | 1995-08-04 | 1999-09-07 | Microsoft Corporation | Method and apparatus for resolving pixel data in a graphics rendering system |
US5867166A (en) | 1995-08-04 | 1999-02-02 | Microsoft Corporation | Method and system for generating images using Gsprites |
US5999189A (en) * | 1995-08-04 | 1999-12-07 | Microsoft Corporation | Image compression to reduce pixel and texture memory requirements in a real-time image generator |
US5870097A (en) | 1995-08-04 | 1999-02-09 | Microsoft Corporation | Method and system for improving shadowing in a graphics rendering system |
US6008820A (en) | 1995-08-04 | 1999-12-28 | Microsoft Corporation | Processor for controlling the display of rendered image layers and method for controlling same |
US5880737A (en) | 1995-08-04 | 1999-03-09 | Microsoft Corporation | Method and system for accessing texture data in environments with high latency in a graphics rendering system |
IL114838A0 (en) | 1995-08-04 | 1996-11-14 | Spiegel Ehud | Apparatus and method for object tracking |
US5886701A (en) | 1995-08-04 | 1999-03-23 | Microsoft Corporation | Graphics rendering device and method for operating same |
US5801711A (en) | 1995-08-08 | 1998-09-01 | Hewlett Packard Company | Polyline and triangle strip data management techniques for enhancing performance of computer graphics system |
US5819017A (en) | 1995-08-22 | 1998-10-06 | Silicon Graphics, Inc. | Apparatus and method for selectively storing depth information of a 3-D image |
US5657478A (en) | 1995-08-22 | 1997-08-12 | Rendition, Inc. | Method and apparatus for batchable frame switch and synchronization operations |
US5767856A (en) | 1995-08-22 | 1998-06-16 | Rendition, Inc. | Pixel engine pipeline for a 3D graphics accelerator |
US5734386A (en) | 1995-09-08 | 1998-03-31 | Evans & Sutherland Computer Corporation | System and method for displaying textured polygons using planar texture interpolation |
JP2861890B2 (ja) | 1995-09-28 | 1999-02-24 | 日本電気株式会社 | カラー画像表示装置 |
US5995670A (en) | 1995-10-05 | 1999-11-30 | Microsoft Corporation | Simplified chain encoding |
US6057851A (en) | 1995-10-06 | 2000-05-02 | International Business Machines Corp. | Computer graphics system having efficient texture mapping with perspective correction |
JP3524247B2 (ja) | 1995-10-09 | 2004-05-10 | 任天堂株式会社 | ゲーム機およびそれを用いたゲーム機システム |
US6007428A (en) | 1995-10-09 | 1999-12-28 | Nintendo Co., Ltd. | Operation controlling device and video processing system used therewith |
CA2205063C (en) | 1995-10-09 | 2003-11-18 | Satoshi Nishiumi | Three-dimensional image processing system |
US5835102A (en) | 1995-10-19 | 1998-11-10 | Sparta, Inc. | System for transmission and recovery of digital data using video graphics display processor and method of operation thereof |
US5977979A (en) | 1995-10-31 | 1999-11-02 | International Business Machines Corporation | Simulated three-dimensional display using bit-mapped information |
US5724561A (en) | 1995-11-03 | 1998-03-03 | 3Dfx Interactive, Incorporated | System and method for efficiently determining a fog blend value in processing graphical images |
US5808630A (en) | 1995-11-03 | 1998-09-15 | Sierra Semiconductor Corporation | Split video architecture for personal computers |
US5740343A (en) | 1995-11-03 | 1998-04-14 | 3Dfx Interactive, Incorporated | Texture compositing apparatus and method |
US5760783A (en) | 1995-11-06 | 1998-06-02 | Silicon Graphics, Inc. | Method and system for providing texture using a selected portion of a texture map |
KR100261076B1 (ko) | 1995-11-09 | 2000-07-01 | 윤종용 | 범프 맵핑과 퐁 쉐이딩을 동시에 수행하는 렌더링방법 및 장치 |
JP3700871B2 (ja) | 1995-11-11 | 2005-09-28 | ソニー株式会社 | 画像変換装置 |
US5940089A (en) | 1995-11-13 | 1999-08-17 | Ati Technologies | Method and apparatus for displaying multiple windows on a display monitor |
US6022274A (en) | 1995-11-22 | 2000-02-08 | Nintendo Co., Ltd. | Video game system using memory module |
US6331856B1 (en) | 1995-11-22 | 2001-12-18 | Nintendo Co., Ltd. | Video game system with coprocessor providing high speed efficient 3D graphics and digital audio signal processing |
US6155926A (en) | 1995-11-22 | 2000-12-05 | Nintendo Co., Ltd. | Video game system and method with enhanced three-dimensional character and background control |
US5883638A (en) | 1995-12-01 | 1999-03-16 | Lucas Digital, Ltd. | Method and apparatus for creating lifelike digital representations of computer animated objects by providing corrective enveloping |
WO1997021192A1 (en) | 1995-12-06 | 1997-06-12 | Intergraph Corporation | Peer-to-peer parallel processing graphics accelerator |
US5850229A (en) | 1995-12-15 | 1998-12-15 | Raindrop Geomagic, Inc. | Apparatus and method for geometric morphing |
US6111584A (en) | 1995-12-18 | 2000-08-29 | 3Dlabs Inc. Ltd. | Rendering system with mini-patch retrieval from local texture storage |
US5748199A (en) | 1995-12-20 | 1998-05-05 | Synthonics Incorporated | Method and apparatus for converting a two dimensional motion picture into a three dimensional motion picture |
US5740383A (en) | 1995-12-22 | 1998-04-14 | Cirrus Logic, Inc. | Dynamic arbitration priority |
US5892517A (en) | 1996-01-02 | 1999-04-06 | Integrated Device Technology, Inc. | Shared access texturing of computer graphic images |
US5831625A (en) | 1996-01-02 | 1998-11-03 | Integrated Device Technology, Inc. | Wavelet texturing |
EP0786756B1 (en) | 1996-01-23 | 2009-03-25 | Hewlett-Packard Company, A Delaware Corporation | Data transfer arbitration for display controller |
US5943058A (en) | 1996-01-25 | 1999-08-24 | Silicon Graphics, Inc. | Texture mapping circuit for performing data interpolations |
US5781927A (en) | 1996-01-30 | 1998-07-14 | United Microelectronics Corporation | Main memory arbitration with priority scheduling capability including multiple priorty signal connections |
US5739819A (en) | 1996-02-05 | 1998-04-14 | Scitex Corporation Ltd. | Method and apparatus for generating an artificial shadow in a two dimensional color image |
US5963220A (en) | 1996-02-08 | 1999-10-05 | Industrial Technology Research Institute | Mip map/rip map texture linear addressing memory organization and address generator |
DE19606357A1 (de) | 1996-02-12 | 1997-08-14 | Gmd Gmbh | Bildverarbeitungsverfahren zur Darstellung von spiegelnden Objekten und zugehörige Vorrichtung |
US5777623A (en) | 1996-02-15 | 1998-07-07 | Canon Kabushiki Kaisha | Apparatus and method for performing perspectively correct interpolation in computer graphics in a variable direction along a line of pixels |
US5801720A (en) * | 1996-02-20 | 1998-09-01 | National Semiconductor Corporation | Data transfer from a graphics subsystem to system memory |
US5914725A (en) | 1996-03-07 | 1999-06-22 | Powertv, Inc. | Interpolation of pixel values and alpha values in a computer graphics display device |
US5870587A (en) | 1996-03-20 | 1999-02-09 | International Business Machines Corporation | Information-handling system, method, and article of manufacture including a mechanism for providing an improved application binary interface |
US5982390A (en) | 1996-03-25 | 1999-11-09 | Stan Stoneking | Controlling personality manifestations by objects in a computer-assisted animation environment |
US6078311A (en) | 1996-03-26 | 2000-06-20 | Pacific Digital Peripherals, Inc. | Joystick game adapter card for a personal computer |
US5809219A (en) | 1996-04-15 | 1998-09-15 | Silicon Graphics, Inc. | Analytic motion blur coverage in the generation of computer graphics imagery |
US5909218A (en) | 1996-04-25 | 1999-06-01 | Matsushita Electric Industrial Co., Ltd. | Transmitter-receiver of three-dimensional skeleton structure motions and method thereof |
US6020931A (en) | 1996-04-25 | 2000-02-01 | George S. Sheng | Video composition and position system and media signal communication system |
US5831624A (en) | 1996-04-30 | 1998-11-03 | 3Dfx Interactive Inc | Level of detail texture filtering with dithering and mipmaps |
US5818456A (en) | 1996-04-30 | 1998-10-06 | Evans & Sutherland Computer Corporation | Computer graphics system with adaptive pixel multisampler |
US5886705A (en) | 1996-05-17 | 1999-03-23 | Seiko Epson Corporation | Texture memory organization based on data locality |
US5912676A (en) | 1996-06-14 | 1999-06-15 | Lsi Logic Corporation | MPEG decoder frame memory interface which is reconfigurable for different frame store architectures |
US5966134A (en) | 1996-06-28 | 1999-10-12 | Softimage | Simulating cel animation and shading |
US6046746A (en) | 1996-07-01 | 2000-04-04 | Sun Microsystems, Inc. | Method and apparatus implementing high resolution rendition of Z-buffered primitives |
US6115047A (en) | 1996-07-01 | 2000-09-05 | Sun Microsystems, Inc. | Method and apparatus for implementing efficient floating point Z-buffering |
US5745125A (en) * | 1996-07-02 | 1998-04-28 | Sun Microsystems, Inc. | Floating point processor for a three-dimensional graphics accelerator which includes floating point, lighting and set-up cores for improved performance |
US5877771A (en) | 1996-07-12 | 1999-03-02 | Silicon Graphics, Inc. | Method and apparatus for supersampling based on the local rate of change in texture |
US6038348A (en) | 1996-07-24 | 2000-03-14 | Oak Technology, Inc. | Pixel image enhancement system and method |
US5887155A (en) | 1996-07-25 | 1999-03-23 | Microunity Systems Engineering, Inc. | Vertex based geometry engine system for use in integrated circuit design |
US5751291A (en) | 1996-07-26 | 1998-05-12 | Hewlett-Packard Company | System and method for accelerated occlusion culling |
MY119610A (en) | 1996-07-31 | 2005-06-30 | Sony Corp | Apparatus and method for storing and accessing picture generation data |
US5828382A (en) | 1996-08-02 | 1998-10-27 | Cirrus Logic, Inc. | Apparatus for dynamic XY tiled texture caching |
US5923334A (en) | 1996-08-05 | 1999-07-13 | International Business Machines Corporation | Polyhedral environment map utilizing a triangular data structure |
US5933150A (en) | 1996-08-06 | 1999-08-03 | Interval Research Corporation | System for image manipulation and animation using embedded constraint graphics |
IL119082A (en) | 1996-08-16 | 2001-04-30 | Virtue Ltd | A method for creating graphic characters |
JP3387750B2 (ja) | 1996-09-02 | 2003-03-17 | 株式会社リコー | シェーディング処理装置 |
US6104417A (en) | 1996-09-13 | 2000-08-15 | Silicon Graphics, Inc. | Unified memory computer architecture with dynamic graphics memory allocation |
DE19637463A1 (de) | 1996-09-13 | 1998-03-26 | Gsf Forschungszentrum Umwelt | Verfahren zur Anzeige von geometrischen Objektoberflächen |
US6115049A (en) | 1996-09-30 | 2000-09-05 | Apple Computer, Inc. | Method and apparatus for high performance antialiasing which minimizes per pixel storage and object data bandwidth |
US5987567A (en) | 1996-09-30 | 1999-11-16 | Apple Computer, Inc. | System and method for caching texture map information |
US5926647A (en) | 1996-10-11 | 1999-07-20 | Divicom Inc. | Processing system with dynamic alteration of a color look-up table |
US6018350A (en) | 1996-10-29 | 2000-01-25 | Real 3D, Inc. | Illumination and shadow simulation in a computer graphics/imaging system |
US5933155A (en) | 1996-11-06 | 1999-08-03 | Silicon Graphics, Inc. | System and method for buffering multiple frames while controlling latency |
US5926182A (en) | 1996-11-19 | 1999-07-20 | International Business Machines Corporation | Efficient rendering utilizing user defined shields and windows |
WO1998022911A1 (en) | 1996-11-21 | 1998-05-28 | Philips Electronics N.V. | Method and apparatus for generating a computer graphics image |
US5861888A (en) | 1996-11-27 | 1999-01-19 | Vlsi Technology Inc | Method and a system for the nonlinear storage of a texture map within a linear memory device |
JP3885262B2 (ja) | 1996-12-17 | 2007-02-21 | 株式会社セガ | テクスチャマップ上の複数画素を混合する方法及び、これを用いた複数画素混合回路と画像処理装置 |
KR100225072B1 (ko) | 1996-12-18 | 1999-10-15 | 윤종용 | 포멧 콘버터 |
US5912675A (en) | 1996-12-19 | 1999-06-15 | Avid Technology, Inc. | System and method using bounding volumes for assigning vertices of envelopes to skeleton elements in an animation system |
US6057847A (en) | 1996-12-20 | 2000-05-02 | Jenkins; Barry | System and method of image generation and encoding using primitive reprojection |
US5831640A (en) | 1996-12-20 | 1998-11-03 | Cirrus Logic, Inc. | Enhanced texture map data fetching circuit and method |
US6111582A (en) | 1996-12-20 | 2000-08-29 | Jenkins; Barry L. | System and method of image generation and encoding using primitive reprojection |
JP3738924B2 (ja) | 1996-12-24 | 2006-01-25 | ソニー株式会社 | 描画装置および方法 |
US5933529A (en) | 1996-12-24 | 1999-08-03 | Daewoo Electronics Co., Ltd. | Method of tracing a contour of an object based on background information of the object |
US5844576A (en) | 1996-12-30 | 1998-12-01 | Cirrus Logic, Inc. | Tiled linear host texture storage |
US5986663A (en) | 1997-10-10 | 1999-11-16 | Cirrus Logic, Inc. | Auto level of detail-based MIP mapping in a graphics processor |
US6052127A (en) | 1996-12-30 | 2000-04-18 | Cirrus Logic, Inc. | Circuit for determining non-homogenous second order perspective texture mapping coordinates using linear interpolation |
US6097435A (en) | 1997-01-31 | 2000-08-01 | Hughes Electronics Corporation | Video system with selectable bit rate reduction |
US5990903A (en) | 1997-02-03 | 1999-11-23 | Micron Technologies, Inc. | Method and apparatus for performing chroma key, transparency and fog operations |
DE19708679A1 (de) | 1997-02-21 | 1998-08-27 | Gmd Gmbh | Bilddarstellungsverfahren und Vorrichtung zur Durchführung des Verfahrens |
US5870098A (en) | 1997-02-26 | 1999-02-09 | Evans & Sutherland Computer Corporation | Method for rendering shadows on a graphical display |
US5880736A (en) | 1997-02-28 | 1999-03-09 | Silicon Graphics, Inc. | Method system and computer program product for shading |
US6037948A (en) | 1997-03-07 | 2000-03-14 | Silicon Graphics, Inc. | Method, system, and computer program product for updating texture with overscan |
US6061462A (en) | 1997-03-07 | 2000-05-09 | Phoenix Licensing, Inc. | Digital cartoon and animation process |
US6043804A (en) | 1997-03-21 | 2000-03-28 | Alliance Semiconductor Corp. | Color pixel format conversion incorporating color look-up table and post look-up arithmetic operation |
US6088042A (en) | 1997-03-31 | 2000-07-11 | Katrix, Inc. | Interactive motion data animation system |
US6057859A (en) | 1997-03-31 | 2000-05-02 | Katrix, Inc. | Limb coordination system for interactive computer animation of articulated characters with blended motion data |
US5949421A (en) | 1997-03-31 | 1999-09-07 | Cirrus Logic, Inc. | Method and system for efficient register sorting for three dimensional graphics |
JP2845857B2 (ja) | 1997-04-01 | 1999-01-13 | コナミ株式会社 | 画像の半透明表示装置,半透明表示方法,及びコンピュータプログラムを記録した機械読取り可能な記録媒体 |
WO1998045815A1 (en) | 1997-04-04 | 1998-10-15 | Intergraph Corporation | Apparatus and method for applying effects to graphical images |
US5920876A (en) | 1997-04-23 | 1999-07-06 | Sun Microsystems, Inc. | Performing exact garbage collection using bitmaps that identify pointer values within objects |
JP3294149B2 (ja) | 1997-04-23 | 2002-06-24 | シャープ株式会社 | 立体テクスチャマッピング処理装置及びそれを用いた3次元画像生成装置 |
US5956042A (en) | 1997-04-30 | 1999-09-21 | Hewlett-Packard Co. | Graphics accelerator with improved lighting processor |
US6005583A (en) | 1997-04-30 | 1999-12-21 | Hewlett-Packard Company | Precise gradient calculation system and method for a texture mapping system of a computer graphics system |
US6028608A (en) | 1997-05-09 | 2000-02-22 | Jenkins; Barry | System and method of perception-based image generation and encoding |
US5999198A (en) | 1997-05-09 | 1999-12-07 | Compaq Computer Corporation | Graphics address remapping table entry feature flags for customizing the operation of memory pages associated with an accelerated graphics port device |
US5861893A (en) | 1997-05-27 | 1999-01-19 | Intel Corporation | System and method for graphics data concurrency and coherency |
US6437781B1 (en) | 1997-05-30 | 2002-08-20 | Hewlett-Packard Company | Computer graphics system having per pixel fog blending |
US5909225A (en) | 1997-05-30 | 1999-06-01 | Hewlett-Packard Co. | Frame buffer cache for graphics applications |
CA2239279C (en) | 1997-06-02 | 2002-04-23 | Nippon Telegraph And Telephone Corporation | Image generating apparatus and method |
US5870109A (en) | 1997-06-06 | 1999-02-09 | Digital Equipment Corporation | Graphic system with read/write overlap detector |
US6092158A (en) | 1997-06-13 | 2000-07-18 | Intel Corporation | Method and apparatus for arbitrating between command streams |
US5945997A (en) | 1997-06-26 | 1999-08-31 | S3 Incorporated | Block- and band-oriented traversal in three-dimensional triangle rendering |
US6052133A (en) | 1997-06-27 | 2000-04-18 | S3 Incorporated | Multi-function controller and method for a computer graphics display system |
US5936641A (en) | 1997-06-27 | 1999-08-10 | Object Technology Licensing Corp | Graphics hardware acceleration method, computer program, and system |
US6043821A (en) | 1997-06-30 | 2000-03-28 | Ati Technologies, Inc. | Method and apparatus for rendering pixel information from blended texture maps |
US6057862A (en) | 1997-07-01 | 2000-05-02 | Memtrax Llc | Computer system having a common display memory and main memory |
US6118462A (en) | 1997-07-01 | 2000-09-12 | Memtrax Llc | Computer system controller having internal memory and external memory control |
US6038031A (en) | 1997-07-28 | 2000-03-14 | 3Dlabs, Ltd | 3D graphics object copying with reduced edge artifacts |
US6011562A (en) | 1997-08-01 | 2000-01-04 | Avid Technology Inc. | Method and system employing an NLE to create and modify 3D animations by mixing and compositing animation data |
US6046747A (en) | 1997-08-04 | 2000-04-04 | Hewlett-Packard Company | Graphics application programming interface avoiding repetitive transfer of texture mapping data |
US6002410A (en) | 1997-08-25 | 1999-12-14 | Chromatic Research, Inc. | Reconfigurable texture cache |
US5903283A (en) | 1997-08-27 | 1999-05-11 | Chips & Technologies, Inc. | Video memory controller with dynamic bus arbitration |
US6016151A (en) | 1997-09-12 | 2000-01-18 | Neomagic Corp. | 3D triangle rendering by texture hardware and color software using simultaneous triangle-walking and interpolation for parallel operation |
US6054993A (en) | 1997-09-17 | 2000-04-25 | Cirrus Logic, Inc. | Chroma-keyed specular texture mapping in a graphics processor |
US5956043A (en) | 1997-09-18 | 1999-09-21 | Novell, Inc. | Textured tile rotation system and method |
US5936683A (en) | 1997-09-29 | 1999-08-10 | Neo Magic Corp. | YUV-to-RGB conversion without multiplies using look-up tables and pre-clipping |
US5986677A (en) | 1997-09-30 | 1999-11-16 | Compaq Computer Corporation | Accelerated graphics port read transaction merging |
US5949423A (en) | 1997-09-30 | 1999-09-07 | Hewlett Packard Company | Z buffer with degree of visibility test |
US6052129A (en) | 1997-10-01 | 2000-04-18 | International Business Machines Corporation | Method and apparatus for deferred clipping of polygons |
US5995121A (en) | 1997-10-16 | 1999-11-30 | Hewlett-Packard Company | Multiple graphics pipeline integration with a windowing system through the use of a high speed interconnect to the frame buffer |
US5958020A (en) | 1997-10-29 | 1999-09-28 | Vlsi Technology, Inc. | Real time event determination in a universal serial bus system |
US6035360A (en) | 1997-10-29 | 2000-03-07 | International Business Machines Corporation | Multi-port SRAM access control using time division multiplexed arbitration |
US6021417A (en) | 1997-10-31 | 2000-02-01 | Foto Fantasy, Inc. | Method of stimulating the creation of an artist's drawing or painting, and device for accomplishing same |
US6057863A (en) | 1997-10-31 | 2000-05-02 | Compaq Computer Corporation | Dual purpose apparatus, method and system for accelerated graphics port and fibre channel arbitrated loop interfaces |
US6151602A (en) | 1997-11-07 | 2000-11-21 | Inprise Corporation | Database system with methods providing a platform-independent self-describing data packet for transmitting information |
US6075546A (en) | 1997-11-10 | 2000-06-13 | Silicon Grahphics, Inc. | Packetized command interface to graphics processor |
US6088701A (en) | 1997-11-14 | 2000-07-11 | 3Dfx Interactive, Incorporated | Command data transport to a graphics processing device from a CPU performing write reordering operations |
US6002407A (en) | 1997-12-16 | 1999-12-14 | Oak Technology, Inc. | Cache memory and method for use in generating computer graphics texture |
US6091431A (en) | 1997-12-18 | 2000-07-18 | Intel Corporation | Method and apparatus for improving processor to graphics device local memory performance |
US6070204A (en) | 1998-01-06 | 2000-05-30 | Intel Corporation | Method and apparatus for using universal serial bus keyboard to control DOS operations |
US6052125A (en) | 1998-01-07 | 2000-04-18 | Evans & Sutherland Computer Corporation | Method for reducing the rendering load for high depth complexity scenes on a computer graphics display |
US6226713B1 (en) * | 1998-01-21 | 2001-05-01 | Sun Microsystems, Inc. | Apparatus and method for queueing structures in a multi-level non-blocking cache subsystem |
US6105094A (en) | 1998-01-26 | 2000-08-15 | Adaptec, Inc. | Method and apparatus for allocating exclusive shared resource requests in a computer system |
US6014144A (en) | 1998-02-03 | 2000-01-11 | Sun Microsystems, Inc. | Rapid computation of local eye vectors in a fixed point lighting unit |
US6108743A (en) | 1998-02-10 | 2000-08-22 | Intel Corporation | Technique for performing DMA including arbitration between a chained low priority DMA and high priority DMA occurring between two links in the chained low priority |
US6496187B1 (en) | 1998-02-17 | 2002-12-17 | Sun Microsystems, Inc. | Graphics system configured to perform parallel sample to pixel calculation |
US6078338A (en) | 1998-03-11 | 2000-06-20 | Compaq Computer Corporation | Accelerated graphics port programmable memory access arbiter |
US6064392A (en) | 1998-03-16 | 2000-05-16 | Oak Technology, Inc. | Method and apparatus for generating non-homogenous fog |
US6232981B1 (en) | 1998-03-26 | 2001-05-15 | Silicon Graphics, Inc. | Method for improving texture locality for pixel quads by diagonal level-of-detail calculation |
US6104415A (en) | 1998-03-26 | 2000-08-15 | Silicon Graphics, Inc. | Method for accelerating minified textured cache access |
US6049338A (en) | 1998-04-01 | 2000-04-11 | Hewlett-Packard Company | Spatial filter for surface texture navigation |
US6144387A (en) | 1998-04-03 | 2000-11-07 | Liu; Mei-Chi | Guard region and hither plane vertex modification for graphics rendering |
US6191794B1 (en) | 1998-04-08 | 2001-02-20 | Nvidia Corporation | Method and apparatus for scaling texture maps for graphical images |
US6011565A (en) | 1998-04-09 | 2000-01-04 | S3 Incorporated | Non-stalled requesting texture cache |
US6144365A (en) | 1998-04-15 | 2000-11-07 | S3 Incorporated | System and method for performing blending using an over sampling buffer |
US6128026A (en) | 1998-05-04 | 2000-10-03 | S3 Incorporated | Double buffered graphics and video accelerator having a write blocking memory interface and method of doing the same |
US6252610B1 (en) | 1998-05-29 | 2001-06-26 | Silicon Graphics, Inc. | Method and apparatus for efficiently switching state in a graphics pipeline |
US6072496A (en) | 1998-06-08 | 2000-06-06 | Microsoft Corporation | Method and system for capturing and representing 3D geometry, color and shading of facial expressions and other animated objects |
US6215496B1 (en) | 1998-07-23 | 2001-04-10 | Microsoft Corporation | Sprites with depth |
US6215497B1 (en) | 1998-08-12 | 2001-04-10 | Monolithic System Technology, Inc. | Method and apparatus for maximizing the random access bandwidth of a multi-bank DRAM in a computer graphics system |
US6236413B1 (en) | 1998-08-14 | 2001-05-22 | Silicon Graphics, Inc. | Method and system for a RISC graphics pipeline optimized for high clock speeds by using recirculation |
US6268861B1 (en) | 1998-08-25 | 2001-07-31 | Silicon Graphics, Incorporated | Volumetric three-dimensional fog rendering technique |
US6177944B1 (en) | 1998-09-18 | 2001-01-23 | International Business Machines Corporation | Two phase rendering for computer graphics |
US6329997B1 (en) | 1998-12-04 | 2001-12-11 | Silicon Motion, Inc. | 3-D graphics chip with embedded DRAM buffers |
US6275235B1 (en) | 1998-12-21 | 2001-08-14 | Silicon Graphics, Inc. | High precision texture wrapping method and device |
US6417858B1 (en) | 1998-12-23 | 2002-07-09 | Microsoft Corporation | Processor for geometry transformations and lighting calculations |
US6353438B1 (en) | 1999-02-03 | 2002-03-05 | Artx | Cache organization—direct mapped cache |
US6466223B1 (en) | 1999-03-24 | 2002-10-15 | Microsoft Corporation | Method and apparatus for texture memory management |
US6426747B1 (en) | 1999-06-04 | 2002-07-30 | Microsoft Corporation | Optimization of mesh locality for transparent vertex caching |
US6459429B1 (en) | 1999-06-14 | 2002-10-01 | Sun Microsystems, Inc. | Segmenting compressed graphics data for parallel decompression and rendering |
US6408362B1 (en) * | 1999-06-24 | 2002-06-18 | International Business Machines Corporation | Data processing system, cache, and method that select a castout victim in response to the latencies of memory copies of cached data |
US6339428B1 (en) | 1999-07-16 | 2002-01-15 | Ati International Srl | Method and apparatus for compressed texture caching in a video graphics system |
US6285779B1 (en) | 1999-08-02 | 2001-09-04 | Trident Microsystems | Floating-point complementary depth buffer |
US6476822B1 (en) | 1999-08-30 | 2002-11-05 | Ati International Srl | Method and apparatus for displaying images |
US6476808B1 (en) | 1999-10-14 | 2002-11-05 | S3 Graphics Co., Ltd. | Token-based buffer system and method for a geometry pipeline in three-dimensional graphics |
US6469707B1 (en) | 2000-01-19 | 2002-10-22 | Nvidia Corporation | Method for efficiently rendering color information for a pixel in a computer system |
-
1999
- 1999-12-17 US US09/465,754 patent/US6717577B1/en not_active Expired - Lifetime
-
2000
- 2000-10-23 EP EP00309315A patent/EP1096427A3/en not_active Withdrawn
- 2000-10-26 JP JP2000326915A patent/JP4644353B2/ja not_active Expired - Lifetime
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06162171A (ja) * | 1992-08-03 | 1994-06-10 | Ball Corp | コンピューターグラフィックスにおける多角形の頂点インデックスキャッシュシステム |
JPH06348854A (ja) * | 1993-06-04 | 1994-12-22 | Sun Microsyst Inc | グラフィックアクセラレータ及び幾何学オブジェクト描出方法 |
JPH07210461A (ja) * | 1993-12-28 | 1995-08-11 | Internatl Business Mach Corp <Ibm> | ストア・イン第2レベル・キャッシュ制御装置 |
JPH09167242A (ja) * | 1995-12-19 | 1997-06-24 | Fuji Xerox Co Ltd | 描画処理装置および方法 |
JPH09297853A (ja) * | 1996-05-07 | 1997-11-18 | Sega Enterp Ltd | ポリゴンデータの生成方法、これを適用した画像処理装置及び拡張機能ボード |
WO1997048048A1 (en) * | 1996-06-13 | 1997-12-18 | Micron Technology, Inc. | Word width selection for sram cache |
JPH10320198A (ja) * | 1997-04-10 | 1998-12-04 | Internatl Business Mach Corp <Ibm> | データを転送する方法およびプロセッサ |
JPH11259671A (ja) * | 1998-03-12 | 1999-09-24 | Sega Enterp Ltd | 画像表示方法及びそれを実行する画像表示装置 |
Cited By (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008520021A (ja) * | 2004-11-15 | 2008-06-12 | アーム・ノルウェー・アー・エス | 3次元グラフィックス処理装置および方法 |
JP2007249796A (ja) * | 2006-03-17 | 2007-09-27 | Sony Corp | 画像処理装置および画像処理方法、並びにプログラム |
JP4492567B2 (ja) * | 2006-03-17 | 2010-06-30 | ソニー株式会社 | 画像処理装置および画像処理方法、並びにプログラム |
US8134557B2 (en) | 2006-03-17 | 2012-03-13 | Sony Corporation | Image processing apparatus and image processing method |
KR100791478B1 (ko) | 2006-07-14 | 2008-01-04 | 엠텍비젼 주식회사 | 정점 처리를 위한 인코딩 장치, 디코딩 장치 및 그 방법 |
JP2009545825A (ja) * | 2006-08-03 | 2009-12-24 | クゥアルコム・インコーポレイテッド | 拡張型頂点キャッシュを備えたグラフィック処理装置 |
JP4938850B2 (ja) * | 2006-08-03 | 2012-05-23 | クゥアルコム・インコーポレイテッド | 拡張型頂点キャッシュを備えたグラフィック処理装置 |
WO2008126392A1 (ja) | 2007-04-11 | 2008-10-23 | Panasonic Corporation | 画像生成装置及び画像生成方法 |
US8823705B2 (en) | 2007-04-11 | 2014-09-02 | Panasonic Corporation | Image generating apparatus and image generating method for generating images by rendering a polygon |
JP2010535393A (ja) * | 2007-07-30 | 2010-11-18 | クゥアルコム・インコーポレイテッド | グラフィックス・システムにおける可変長の圧縮と関連付けのための方式 |
US8355028B2 (en) | 2007-07-30 | 2013-01-15 | Qualcomm Incorporated | Scheme for varying packing and linking in graphics systems |
JP2010277304A (ja) * | 2009-05-28 | 2010-12-09 | Fujitsu Semiconductor Ltd | 描画データ処理方法、図形描画システム、及び図形描画データ作成プログラム |
JP2016523404A (ja) * | 2013-06-10 | 2016-08-08 | 株式会社ソニー・インタラクティブエンタテインメント | 頂点シェーダ出力パラメータの圧縮スキーム |
US10096079B2 (en) | 2013-06-10 | 2018-10-09 | Sony Interactive Entertainment Inc. | Fragment shaders perform vertex shader computations |
US10102603B2 (en) | 2013-06-10 | 2018-10-16 | Sony Interactive Entertainment Inc. | Scheme for compressing vertex shader output parameters |
US10134102B2 (en) | 2013-06-10 | 2018-11-20 | Sony Interactive Entertainment Inc. | Graphics processing hardware for using compute shaders as front end for vertex shaders |
US10176621B2 (en) | 2013-06-10 | 2019-01-08 | Sony Interactive Entertainment Inc. | Using compute shaders as front end for vertex shaders |
US10733691B2 (en) | 2013-06-10 | 2020-08-04 | Sony Interactive Entertainment Inc. | Fragment shaders perform vertex shader computations |
US10740867B2 (en) | 2013-06-10 | 2020-08-11 | Sony Interactive Entertainment Inc. | Scheme for compressing vertex shader output parameters |
US11232534B2 (en) | 2013-06-10 | 2022-01-25 | Sony Interactive Entertainment Inc. | Scheme for compressing vertex shader output parameters |
WO2019087553A1 (ja) * | 2017-11-02 | 2019-05-09 | キヤノン株式会社 | 情報生成装置、情報処理装置、制御方法、プログラム、及びデータ構造 |
JP2019086918A (ja) * | 2017-11-02 | 2019-06-06 | キヤノン株式会社 | 情報生成装置、情報処理装置、制御方法、プログラム、及びデータ構造 |
US11120607B2 (en) | 2017-11-02 | 2021-09-14 | Canon Kabushiki Kaisha | Information generating apparatus, information processing apparatus, control method, and non-transitory computer-readable storage medium |
JP7182863B2 (ja) | 2017-11-02 | 2022-12-05 | キヤノン株式会社 | 情報生成装置、情報処理装置、制御方法、プログラム、及びデータ構造 |
Also Published As
Publication number | Publication date |
---|---|
US6717577B1 (en) | 2004-04-06 |
JP4644353B2 (ja) | 2011-03-02 |
EP1096427A3 (en) | 2003-04-16 |
EP1096427A2 (en) | 2001-05-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4644353B2 (ja) | 3次元グラフィックスのための頂点キャッシュ | |
US11605149B2 (en) | Graphics processing architecture employing a unified shader | |
US6972769B1 (en) | Vertex texture cache returning hits out of order | |
US6288730B1 (en) | Method and apparatus for generating texture | |
US5880737A (en) | Method and system for accessing texture data in environments with high latency in a graphics rendering system | |
US6559842B1 (en) | Compressing and decompressing graphics data using gosub-type instructions and direct and indirect attribute settings | |
JP4564718B2 (ja) | 3−dコンピュータ・グラフィックス・レンダリングシステム | |
EP0875855B1 (en) | Graphics processing system | |
JP3453088B2 (ja) | 圧縮テクスチャ・データ構造 | |
US6778181B1 (en) | Graphics processing system having a virtual texturing array | |
US6919904B1 (en) | Overbright evaluator system and method | |
US8564604B2 (en) | Systems and methods for improving throughput of a graphics processing unit | |
KR20070064337A (ko) | 그래픽 처리 서브시스템 및 픽셀 단편에 대해 적어도하나의 값을 결정하기 위한 방법 | |
JP2007525768A (ja) | テクスチャ要求のためのレジスタベースのキューイング | |
JP2009295162A (ja) | グラフィックス処理システム | |
US7170512B2 (en) | Index processor | |
EP3945499A1 (en) | Ray intersect circuitry with parallel ray testing | |
US7339590B1 (en) | Vertex processing unit supporting vertex texture mapping | |
WO2005086096A2 (en) | Embedded system with 3d graphics core and local pixel buffer | |
CN111406277A (zh) | 以微砖为基础的低分辨率深度存储 | |
US6285373B1 (en) | Method and apparatus for texture transmission and storage | |
JP2003529115A (ja) | スーパサンプリング・サンプル・バッファを有し、サンプル位置情報を効果的に記憶するグラフィックス・システム | |
Randall | Talisman: Multimedia for the PC | |
JP3548648B2 (ja) | 描画装置及び描画方法 | |
JP3468985B2 (ja) | グラフィック描画装置、グラフィック描画方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20010111 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20070926 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100427 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100625 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100727 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100927 |
|
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: 20101109 |
|
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: 20101206 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4644353 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131210 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 |