JP3104643B2 - 画像処理装置及び画像処理方法 - Google Patents

画像処理装置及び画像処理方法

Info

Publication number
JP3104643B2
JP3104643B2 JP09116772A JP11677297A JP3104643B2 JP 3104643 B2 JP3104643 B2 JP 3104643B2 JP 09116772 A JP09116772 A JP 09116772A JP 11677297 A JP11677297 A JP 11677297A JP 3104643 B2 JP3104643 B2 JP 3104643B2
Authority
JP
Japan
Prior art keywords
data
texture
buffer
image processing
processing unit
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.)
Expired - Fee Related
Application number
JP09116772A
Other languages
English (en)
Other versions
JPH10307925A (ja
Inventor
誠介 森岡
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sega Corp
Original Assignee
Sega Corp
Sega Games Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sega Corp, Sega Games Co Ltd filed Critical Sega Corp
Priority to JP09116772A priority Critical patent/JP3104643B2/ja
Priority to TW087107181A priority patent/TW374143B/zh
Priority to PCT/JP1998/002032 priority patent/WO1998050887A1/ja
Priority to US09/423,415 priority patent/US7079150B1/en
Priority to EP98919513A priority patent/EP0981107B1/en
Publication of JPH10307925A publication Critical patent/JPH10307925A/ja
Priority to GBGB9926284.2A priority patent/GB9926284D0/en
Application granted granted Critical
Publication of JP3104643B2 publication Critical patent/JP3104643B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/005General purpose rendering architectures

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Graphics (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Image Generation (AREA)
  • Image Input (AREA)
  • Image Processing (AREA)
  • Storing Facsimile Image Data (AREA)

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明は、コンピュータグ
ラフィックス用の画像処理装置及び画像処理方法に関す
る。
【0002】
【従来の技術】テクスチャマッピングを用いたコンピュ
ータグラフィックス(CG)システムにおいて、リアル
で華やかな画像を提供することが求められている。この
ようなリアルで華やかな映像を生成するための最も容易
な手段は、大量のテクスチャデータを使用することであ
る。
【0003】
【発明が解決しようとする課題】しかしながら、トライ
リニアマップといった、高品位なテクスチャマッピング
を行うようなシステムでは、テクスチャバッファは非常
に高速なアクセスを要求される部分であり、大量のテク
スチャデータを使用するとなると大容量の高速記憶装置
を用意しなければならない。そうすると非常に大きなコ
ストがかかり、この面から言って大きな記憶装置を準備
することは困難である。
【0004】この発明は上記のような課題に鑑みなされ
たもので、比較的小さな容量のテクスチャバッファを用
いつつ優れた画像を生成できる画像処理装置及び画像処
理方法を提供することを目的とする。
【0005】
【課題を解決するための手段】この発明に係る画像処理
装置は、圧縮されたテクスチャデータを記憶する記憶装
置と、伸長されたテクスチャデータを記憶するテクスチ
ャバッファと、画面に表示すべき画像データを記憶する
フレームバッファと、前記テクスチャバッファに記憶さ
れた伸長されたテクスチャデータに基づいて画像処理を
行い、画像処理後の画像データを前記フレームバッファ
に書き込む処理部とを備え、前記記憶装置と前記処理部
とのバス速度よりも、前記テクスチャバッファと前記処
理部とのバス速度の方が高速であり、前記処理部はデー
タ伸長回路及びパレット変換回路を備えていて、所定の
場合に前記記憶装置から圧縮されたテクスチャデータを
読み出し、これを前記データ伸長回路にて伸長して、伸
長されたテクスチャデータを前記パレット変換回路にて
パレット変換を行ってからテクスチャバッファに書き込
むものである。
【0006】ここで、所定の場合とは、外部から指令を
受けたとき、テクスチャバッファにないテクスチャを用
いる必要が生じたとき等、テクスチャデータの更新の必
要が生じた場合である。あるいは、処理能力に余裕があ
るときに事前に更新するようにしてもよい。また、記憶
装置には、半導体メモリばかりではなく、HDDやCD
−ROM等の外部デバイスを含む。
【0007】
【0008】ここで、前記記憶装置に記憶されるテクス
チャデータとして、圧縮されないもの、圧縮されないも
のと圧縮されたものの両方を含むもの、圧縮されたも
の、が考えられる。
【0009】この発明に係る画像処理装置は、前記処理
部が、読み出されたテクスチャデータを受けてこのデー
タを一時的に記憶するとともに、当該データを前記デー
タ伸長回路へ出力する先入先出記憶装置を備えるもので
ある。
【0010】
【0011】この発明に係る画像処理装置は、前記処理
部は、ミップマップ生成回路を備え、テクスチャデータ
更新時に前記ミップマップ生成回路にてミップマップを
生成してからテクスチャバッファに書き込むもので
る。
【0012】この発明に係る画像処理方法は、圧縮され
たテクスチャデータを記憶装置に記憶しておき、所定の
場合に処理部が前記記憶装置から圧縮されたテクスチャ
データを読み出してこれを伸長し、伸長されたテクスチ
ャデータをパレット変換を行ってからテクスチャバッフ
ァに記憶し、前記テクスチャバッファに記憶されたテク
スチャデータに基づいて画像処理を行い、画像処理後の
画像データをフレームバッファに書き込むことを特徴と
する画像処理方法であって、前記記憶装置と前記処理部
とのバス速度よりも、前記テクスチャバッファと前記処
理部とのバス速度の方が高速であることを特徴とする。
【0013】
【0014】
【0015】この発明に係る画像処理方法は、テクスチ
ャデータ更新時に、ミップマップを生成してからテクス
チャバッファに記憶することを特徴とする。
【0016】
【発明の実施の形態】
発明の実施の形態1.以下、この発明の実施の形態1の
装置及び方法について説明する。この発明の実施の形態
1は、リアルタイムかつ高速にテクスチャを更新する機
構をもつ。
【0017】図1はこの発明の実施の形態1に係る画像
処理装置の概略機能ブロック図である。この図におい
て、1はCPU(central processing unit)であり、仮
想空間中の物体に対して操作を行ったり、その情報を得
たり、各種制御を行う。2はジオメトリプロセッサ(ge
ometry processor)であり、3次元コンピュータグラフ
ィックにおけるポリゴンの座標変換、クリッピング、透
視変換などの幾何変換(ベクトル演算)や輝度計算を高
速に行う。2aはポリゴンマテリアルライトバッファメ
モリ(polygon material light buffer RAM)であり、
ジオメトリプロセッサ2が処理を行う際に、1フレーム
分の有効なポリゴンデータ、マテリアルデータ、ライト
データを保存するバッファである。ポリゴンとは、仮想
空間中の立体を構成する多面体のことである。このバッ
ファメモリ2aに格納されるデータの内訳を示すと次の
ようになる。
【0018】ポリゴンのリンク情報、座標情報、その他
の属性情報 LINK X, LINK Y, X, Y, iz, Tx, Ty, Nx, Ny, Sign Nz,
Alpha, Light ID, Material ID・・・などである。
【0019】マテリアルの情報 Depth enable, Depth function, Depth density, Textr
e enable, Fog enable,translucensy enable, textre t
ype, texture function, offset x,y, size x,y, repea
t x,y, mirror x,y, color id, Sine, Material specul
ar, Material emission, Polygon color, Texture mod
e, blend modeなどである。
【0020】ライトの情報 Light Position, Light Direction, Light Type, Atten
uation, Cutoff, Spotexp,Light Color, Light Ambient
などである。
【0021】3は陰面消去処理を行うフィルプロセッサ
(fill processor)である。フィルプロセッサ3は、領
域中でポリゴンの塗りつぶしを行い、各ピクセル毎に最
も手前にくるポリゴンの各情報を求める。
【0022】4はテクスチャプロセッサ(texture proc
essor)である。テクスチャプロセッサ4は、領域内の
各ピクセルにテクスチャを貼り付ける。テクスチャマッ
ピングとは、形状が定義された物体の表面に、形状とは
別に定義された模様(テクスチャ)を貼り付け(マッピ
ング)て画像を作成する処理である。4aはテクスチャ
メモリ(texture RAM)であり、テクスチャプロセッサ
4で処理を行うためのテクスチャマップが保存されてい
る。
【0023】5はシェーディングプロセッサ(shading
processor)である。シェーディングとは、ポリゴンで
構成される物体の影のような表現を、ポリゴンの法線ベ
クトル、光源の位置や色、視点の位置、視線の方向等を
考慮して行う手法である。シェーディングプロセッサ5
は、領域内の各ピクセルの輝度を求める。5aは1画面
の画像データが記憶されるフレームバッファ(frame bu
ffer)である。フレームバッファ5aから順次データが
読み出され、デジタルデータからアナログ信号に変換さ
れた後に、図示しないCRT、液晶表示装置、プラズマ
ディスプレイ装置等のディスプレイに供給される。
【0024】6は、CPU1のプログラムやグラフィッ
クプロセッサへのコマンド(ポリゴンのデータベース、
ディスプレイリストなど)を保存するプログラムワーク
ポリゴンバッファメモリ(program work polygon buffe
r RAM)である。このバッファメモリ6はCPU1のワ
ークメモリでもある。
【0025】フィルプロセッサ3、テクスチャプロセッ
サ4、シェーディングプロセッサ5は、仮想空間座標中
に定義されたモデルを使って絵を作成するための、いわ
ゆるレンダリングを行う。レンダリングでは、各領域は
画面左上から順に処理される。レンダリングの処理は領
域の個数分繰り返される。
【0026】次にこの発明の実施の形態1に係る画像処
理装置の詳細について、図2乃至図5の機能ブロック図
に基づき説明する。
【0027】図2はジオメトリプロセッサ2の機能ブロ
ック図である。この図において、21はデータディスパ
ッチャー(data dispatcher)であり、バッファメモリ
6からコマンドを読み出すとともに解析し、この解析結
果に基づきベクタエンジン22、クリッピングエンジン
24をコントロールし、処理されたデータをソートエン
ジン27へ出力する。
【0028】22はベクタエンジン(vector engine)
であり、ベクトル演算を行う。扱うベクトルはベクタレ
ジスタ23に保存される。
【0029】23はベクタレジスタ(vector registe
r)であり、ベクタエンジン22で演算を行うベクトル
データを保存する。
【0030】24はクリッピングエンジン(clipping e
ngine)であり、クリッピングを行う。
【0031】25はYソートインデックス(Y-sort IND
EX)であり、ソートエンジン27でYソーティングを行
うときに使うY指標を保存する。
【0032】26はXソートインデックス(X-sort IND
EX)であり、ソートエンジン27でXソーティングを行
うときに使うX指標を保存する。
【0033】27はソートエンジン(sort engine)で
あり、Xソーティング及びYソーティングを行うことに
より、注目しているフラグメントに入るポリゴンをバッ
ファ6から検索する。検索されたポリゴンはバッファメ
モリ2aに格納されるとともに、フィルプロセッサ3に
送られレンダリングがなされる。また、ソートエンジン
27はポリゴンTAG28及びポリゴンキャッシュ34
の制御も行う。
【0034】28はポリゴンTAG(polygon TAG)で
あり、ポリゴンキャッシュ34のTAGを保存するバッ
ファである。
【0035】図3はジオメトリプロセッサ2の機能ブロ
ック図である。この図において、31はキャッシュコン
トローラ(cache controller)であり、後述のマテリア
ルキャッシュ42、45、51b、52a、53a及び
ライトキャッシュ51aを制御する。
【0036】32はマテリアルTAG(material TAG)
であり、後述のマテリアルキャッシュ42、45、51
b、52a、53a及びライトキャッシュ51aのTA
Gを保存する。
【0037】33はライトTAG(light TAG)であ
り、後述のライトキャッシュ51aのTAGを保存する
バッファである。
【0038】34はポリゴンキャッシュ(polygon cach
e)であり、ポリゴンデータのキャッシュメモリであ
る。
【0039】35は初期パラメータ計算機(initial pa
rameter calculator)であり、DDAの初期値を求め
る。
【0040】36はZコンパレータアレー(Z comparat
or array)であり、陰面消去処理のためにポリゴン間で
Z比較を行うとともに、ポリゴンID及び内分比t0、
t1、t2を埋め込む。Zコンパレータアレー36は8
×8=64個のZ比較器から構成される。これらがパラ
レルに動作するので、同時に64個のピクセルについて
処理が可能である。1つのZ比較器にはポリゴンに関す
るデータが保存される。例えば、polygon ID, iz, t0,
t1, t2, window, stencil, shadowなどである。
【0041】37は頂点パラメータバッファ(vertex p
arameter buffer)であり、ポリゴンの頂点でのパラメ
ータを保存するバッファである。Zコンパレータアレー
36に対応して64ポリゴン分の大きさをもつ。
【0042】38は補間器(interpolater)であり、Z
コンパレータアレー36の計算結果t0、t1、t2及
びizと頂点パラメータバッファ37の内容により、ピ
クセルのパラメータを補間して算出する。
【0043】図4はテクスチャプロセッサ4の機能ブロ
ック図である。この図において、41は濃度計算機(de
nsity calculator)であり、フォグまたはデプスキュー
イングのためのブレンド比を算出する。
【0044】42はマテリアルキャッシュ(material c
ache)であり、深さ情報に関するデータが保存される。
例えば、Depth enable, Depth function, Depth densit
y, Depth end z, Texture enable, Fog enableなどであ
る。
【0045】43はウインドウレジスタ(window regis
ter)であり、ウインドウに関する情報を保存するバッ
ファである。例えば、kz, cz, fog function, fog dens
ity, fog end z44はアドレス発生器(address genera
tor)であり、テクスチャ座標Tx,Ty及びLODよ
りテクスチャマップ上でのアドレスを算出する。
【0046】45はマテリアルキャッシュ(material c
ache)であり、材質に関するデータが保存される。例え
ば、translucensy enable, texture type, offset x,y,
size x,y, repeat x,y, mirror x,y, color idなどで
ある。
【0047】46は3次元補間であるトライリニアミッ
プマップ補間を行うTLMMI計算機(TLMMI calculat
or, TLMMI:Tri Linear MIP Map Interpolation)であ
る。ミップマップとは、テクスチャマッピングを行うと
きのアンチエイリアシング、すなわちテクスチャのジャ
ギ(ぎざぎざ)をなくすための技法である。これは次の
ような原理によるものである。本来、1画素に投影され
る物体面の色(輝度)は、対応するマッピング領域の色
の平均値としなければならない。そうしないとジャギが
目立ってしまい、テクスチャの質が極端に落ちる。一
方、いちいち平均を求める処理を行うと計算負荷が過大
となり、処理に時間がかかったり、高速プロセッサが必
要になったりする。ミップマップはこれを解決するため
のものである。ミップマップでは、1画素に対応するマ
ッピング領域の色(輝度)の集計を簡素化するために、
あらかじめ2の倍数幅のマッピングデータを複数用意す
る。1画素に対応したすべてのマッピング領域の大きさ
は、これら2の倍数倍のいずれか2つのデータの間に存
在することになる。これら2つのデータを比較すること
により対応するマッピング領域の色を求める。例えば、
1倍の画面Aと1/2倍の画面Bとがあったとき、1/
1.5倍の画面Cの各画素と対応する画面A及びBの画
素をそれぞれ求める。このとき、画面Cの当該画素の色
は、画面Aの画素と画面Bの画素の中間の色になる。
【0048】47はカラーコンバータ(color converte
r)であり、4bitテクセル時にカラー変換を行う。
【0049】48はカラーパレット(color pallet)で
あり、4bitテクセル時のカラー情報が保存される。
カラーパレット48は、グラフィックを書くときに使う
色を格納する。カラーパレット48の内容に対応して1
つの画素に使える色が決まる。
【0050】図5はシェーディングプロセッサ5の機能
ブロック図である。この図において、 51は輝度処理
器(intensity processor)であり、テクスチャマッピ
ングされた後のポリゴンに対して輝度計算を行う。
【0051】51aはライトキャッシュ(light cach
e)であり、ライト情報を格納する。例えば、Light Pos
ition, Light Direction, Light Type, Attenuation, C
utoff, Spotexp, Light Color, Light Ambientなどであ
る。
【0052】51bはマテリアルキャッシュ(material
cache)であり、材質に関する情報を格納する。Sine,
Material specular, material emissionなどである。
【0053】51cはウインドウレジスタ(window reg
ister)であり、ウインドウに関する情報を保存する。S
creen center, Focus, Scene ambientなどである。
【0054】52はモジュレート処理器(modulate pro
cessor)であり、ポリゴンカラーとテクスチャカラーの
関連づけ、輝度変調、フォグ処理を行う。
【0055】52aはマテリアルキャッシュ(material
cache)であり、材質に関する情報を格納する。例え
ば、Polygon color, Texture modeなどである。
【0056】52bはウインドウレジスタ(window reg
ister)であり、ウインドウに関する情報を保存するバ
ッファである。Fog colorなどである。
【0057】53はブレンド処理器(blend processo
r)であり、カラーバッファ54上のデータとブレンド
を行い、カラーバッファ54に書き込む。ブレンド処理
器53は、プレンドレートレジスタの値に基づき、カレ
ントピクセルカラーとフレームバッファのピクセルカラ
ーとをブレンドし、ライトバンクレジスタで示されるバ
ンクのフレームバッファに書き込む。ブレンド処理器5
3によれば、残像処理を施すことが可能である。
【0058】53aはマテリアルキャッシュ(material
cache)であり、材質に関する情報を格納する。blend
modeなどである。
【0059】54はカラーバッファ(color buffer)で
あり、8×8の大きさのカラーバッファである。ダブル
バンク構造になっている。
【0060】55はプロット処理器(plot processor)
であり、カラーバッファ54上のデータをフレームバッ
ファ5aに書き込む。
【0061】56はビットマップ処理器(bitmap proce
ssor)であり、ビットマップ処理を行う。
【0062】57はディスプレイ制御器(display cont
roller)であり、フレームバッファ5aのデータを読み
出して、DAC(Digital to Analogue Converter:デ
ジタル−アナログ変換器)に供給し、図示しないディス
プレイに表示する。
【0063】図6は、説明の便宜のために図1〜図5の
装置を書き直した構成図である。画像処理装置101
は、CPU1と接続されてコマンド及びデータのやり取
りを行うとともに、ハードディスク等の外部記憶装置1
02、バッファメモリ103、テクスチャバッファ10
4、フレームバッファ5aにアクセスする。テクスチャ
バッファ104はテクスチャマップを格納する。このテ
クスチャバッファ104は、高品位なテクスチャマッピ
ングをリアルタイムで行うために、高速動作を要求され
る。バッファメモリ103には、他のデータとともに圧
縮されたテクスチャデータも格納される。バッファメモ
リ103は、テクスチャバッファ104よりも低速で大
容量の汎用バッファメモリである。この発明の実施の形
態1の画像処理装置4は、通常の処理以外に、圧縮され
たテクスチャデータをバッファメモリ3より読み込んで
データ伸張を行い、テクスチャバッファ104へ書き込
む機能を持つ。
【0064】図7に画像処理装置101の概略構成図を
示す。図7は処理の概略の流れにも相当する。符号11
2〜119は従来の3次元コンピュータグラフィックシ
ステムで行われる処理のための回路である。これらの回
路は縦続接続される。これに対し、符号111、120
〜124はこの発明の実施の形態1の処理を行なうため
の回路である。これらの回路は縦続接続され、その最後
の出力はテクスチャRAMインタフェース124を介し
てテクスチャ生成回路117に入力される。
【0065】座標変換回路112は、後述のコマンド解
析回路111からコマンドを受けて画像を生成するため
の座標変換を行う。クリッピング回路113は、視点座
標系に変換されたあと、視野をはみ出す部分を切り取
る。透視変換回路114は、視点座標系からスクリーン
座標系への変換を行う。塗りつぶし回路115は、変換
された画像の塗りつぶしを行う。Z比較回路116は、
遠近を示すZ値を比較し、Zソート法により陰面消去を
行う。テクスチャ生成回路117はテクスチャデータに
基づきテクスチャを生成する。色変調回路118及びブ
レンド回路119により画像の色を調整する。
【0066】コマンド解析回路111は、CPU1から
のコマンドを解析し、画像生成のためのコマンド(デー
タ)とテクスチャデータのアップデートのためのコマン
ド(データ)とを区別し、座標変換回路112とFIF
O(First In First Out)120に振り分ける。FIF
O120は、データ読み込み速度とデータ伸張/書き込
み速度との差を吸収するための先入れ先出しメモリであ
る。FIFOはタイミングが異なる2つの部分との間で
データのやり取りに用いられるメモリであり、FIFO
の両側でタイミングが異なるときでもその相違を調整す
ることができる。データ伸張回路121は入力された圧
縮データを伸張する回路である。パレット変換回路12
2はパレット変換を行う回路である。MIPMAP生成
回路123はミップマップを自動生成する回路である。
ミップマップは、テクスチャマッピングを行うときのア
ンチエイリアシング、すなわちテクスチャのジャギ(ぎ
ざぎざ)をなくすための技法である。テクスチャRAM
インタフェース(I/F)124は通常の画像処理とテ
クスチャのアップデートの調停を取る機構を備えたテク
スチャバッファ(RAM)104とのインタフェースで
ある。
【0067】次に動作について説明する。
【0068】テクスチャマップのような画像データに対
してはデータ圧縮が非常に有効である。例えば、フルカ
ラー(1600万色)の画像といっても、実際に使用さ
れる色はそのうち数百色程度であることがほとんどであ
るので1テクセルあたり8ビット程度で表現できる。ま
た、ミップマップでは、1画素に対応するマッピング領
域の色(輝度)の集計を簡素化するために、あらかじめ
2の倍数幅のマッピングデータを複数用意するが、ミッ
プマップも原画像の単なる縮小なので原画像さえあれば
簡単に生成できる。また、画像データは近くのテクセル
カラーと同じであることが多く、また、繰り返しパター
ンも多く存在するため、ランレングス、スライド辞書と
いった一般的な圧縮アルゴリズムも適用しやすい。
【0069】一方、圧縮状態で記憶しておくと使用する
際に伸張処理を行わなければならず、処理に時間がかか
る。テクスチャデータは高速でアクセスされるため、圧
縮データは利用しにくく、非圧縮状態でデータを保持す
る必要があった。
【0070】そこで、本発明の実施の形態1では、高速
アクセスが必要なテクスチャバッファ104では非圧縮
状態でデータを格納し、他のバッファ(バッファメモリ
103)で圧縮データを格納し、さらに、リアルタイム
でテクスチャバッファ104を更新する機構を持つこと
により、高速アクセスを可能にしつつメモリの使用の効
率化を図る。
【0071】図7において、コマンド解析回路111か
ら座標変換回路112に画像生成のためのコマンド(デ
ータ)が渡されたときは、従来の画像処理装置の場合と
同様に、座標変換、クリッピング、透視変換、塗りつぶ
し、Z比較、テクスチャバッファ104内の非圧縮状態
のデータに基づきテクスチャ生成、色変調、ブレンドの
各処理が行われる。
【0072】一方、コマンド解析回路111からFIF
O120にテクスチャデータのアップデートのためのコ
マンド(データ)が渡されたときは、次のような処理が
行われる。
【0073】FIFO120は、データの読み込み速度
とデータ伸張/書き込み速度との調整をとるためのバッ
ファである。読み込みと伸張+書き込みでデータの流れ
が違う。データの読み込みは単なるメモリアクセスであ
るので、例えば1クロックに1バイトというようにデー
タ転送速度は一定である。ところが、そのデータを伸張
したときに何バイトになるかは圧縮方法に依存するので
その予測は困難である。例えば、入力された1バイトの
データが2バイトになるかもしれないし、0.5バイト
になるかもしれない。図8を用いて説明すると、4バイ
トの入力データA,B,C,Dがデータ伸張の結果A
‘0,A’1,A‘2,A’3,BC‘,D’0,D
‘1,D’2の8バイトになる場合において、出力のバ
ス転送能力が入力の2倍であるとすれば、単純にデータ
量だけを考えるとバランスがとれていて、データの待ち
時間がないようにも思える。しかし、実際にはデータの
流れが一定でないため、待ち合わせが発生し余分なウエ
イトを入れなければならない。例えば、図8の例におい
て、データAを読み出した後でデータBの読み出しの
前、及びデータDの読み出しの後にそれぞれ1つのウエ
イト(待ち合わせ)が必要である。また、伸張後のデー
タA‘2,A’3の後に2つのウエイトが必要である。
そこで、FIFO120は両者のタイミングを調整す
る。FIFOでは、入力端で任意のタイミングで書き込
まれたデータを、出力端で書き込まれた順番で任意のタ
イミングで取り出すことができる。したがって、CPU
1は画像処理装置101でのデータ伸長処理の状況と無
関係にコマンドを発行することができる。CPU1は、
画像生成のためのコマンド(データ)とテクスチャデー
タのアップデートのためのコマンド(データ)とを区別
する必要がない。
【0074】データ伸長回路121は、テクスチャデー
タのアップデートのためのコマンド(圧縮されたデー
タ)を受けて、データを伸長し、非圧縮状態に戻す。圧
縮されたデータは外部記憶装置102あるいはバッファ
メモリ103に予め格納されている。
【0075】テクスチャマッピングを用いたCGシステ
ムにおいて、最も容易に、豪華で、かつリアルな映像を
生成するためには、大量のテクスチャデータを使用する
必要がある。したがって、予め格納されている圧縮され
たデータの種類は非常に多い。一方、実際に同時に使用
されるテクスチャデータはそれよりもかなり少ない。テ
クスチャバッファ104内のテクスチャデータで間に合
わなくなったときに、CPU1は、バッファメモリ10
3から必要な圧縮データを読み出し、伸長し、テクスチ
ャバッファ104に書き込むようにコマンドを発行す
る。CPU1はどのようなテクスチャを使用するか、テ
クスチャバッファ104にはどのようなでテクスチャデ
ータが格納されているかを予めわかっているから、両者
を比較することにより容易にコマンドを発行することが
できる。
【0076】圧縮及び伸長の処理は公知のアルゴリズム
に従って行われる。例えば、ランレングス符号化、スラ
イディング辞書、ハフマン符号、離散コサイン変換を利
用した圧縮などがある。また、フォーマットとしては、
離散コサイン変換とハフマン符号等を組み合わせたJP
EGがある。
【0077】ランレングス符号化とは、同じパターンが
繰り返し現れることが多いときに用いられる符号化方法
であり、パターンの長さをランと言う。ランが長いと
き、パターンをそのまま送る代わりに、ランを符号化し
て送ることによりデータ長を短くすることができる。
【0078】スライディング辞書とは、以前のデータを
記憶しておき、この記憶されたデータを利用してデータ
圧縮を行う方法である。この方法はメッシュパターンに
対して有効である。
【0079】ハフマン符号とは、量子化されたサンプル
のセットを符号化する場合に、各サンプル当たりの平均
のビット数が最小になるように作られる符号である。ハ
フマン符号によれば、パレット変換を柔軟に行うことが
できる。例えば、アニメーションの画像のように色彩が
単調なとき、長いパターンは良く現れるが、短いパター
ンはなかなか現れない。このように画像の性質に応じて
適切な符号化が可能である。
【0080】JPEG(Joint Photographic Experts Gr
oup)とは、カラー静止画圧縮方式の標準化を進めるため
のグループによるカラー静止画圧縮方式である。パソコ
ン等の静止画を扱うマルチメディアアプリケーションで
広く用いられている。
【0081】データ伸長処理が終わったテクスチャデー
タは、パレット変換回路122によりパレット変換が行
われる。次に、MIPMAP生成回路123により、伸
長されたデータに対応するミップマップを生成する。
【0082】また、データ伸長処理が終わったテクスチ
ャデータは、テクスチャRAMインタフェース124に
よりテクスチャバッファ104に書き込まれる。テクス
チャバッファ104に空き領域がないときは、適当なデ
ータに上書きする。例えば、使用頻度の少ないデータ、
最も古いデータ、最も過去に使用されたデータが選択さ
れる。
【0083】以上のように、この発明の実施の形態1に
よれば、テクスチャバッファの容量が小さくても、見掛
け上、多くのテクスチャデータを使用できる。
【0084】また、低速なバッファメモリに格納される
テクスチャデータは圧縮されたものなので、メモリを節
約できる。
【0085】また、データ伸張機構をシステム内に持つ
ことにより、非圧縮データはテクスチャバッファ104
の高速バス上のみを流れ、低速なバス上は圧縮されたデ
ータが流れるため、バスの転送能力を効率良く使用する
こともできる。
【0086】
【発明の効果】以上のように、この発明は、テクスチャ
データを記憶する第1記憶装置と、前記テクスチャデー
タの一部を記憶する第2記憶装置とを備え、所定の場合
に前記第1記憶装置からテクスチャデータを読み出し、
前記第2記憶装置に書き込むことによりテクスチャデー
タの更新を行う更新ステップを備えるので、小さい容量
の第2記憶装置を用いつつ、多くのテクスチャデータの
使用が可能になる。したがって、経済性と処理の高速性
の両方を満足させることができる。
【0087】また、この発明は、読み出されたテクスチ
ャデータを受けてこのデータを一時的に記憶するととも
に、当該データを前記データ伸長回路へ出力する先入先
出記憶装置を備えるので、データのやり取りにおけるタ
イミングの調整が不要になる。
【図面の簡単な説明】
【図1】この発明の実施の形態1に係る画像処理装置の
概略機能ブロック図である。
【図2】この発明の実施の形態1に係る画像処理装置の
ジオメトリプロセッサの機能ブロック図である。
【図3】この発明の実施の形態1に係る画像処理装置の
ジオメトリプロセッサの機能ブロック図である。
【図4】この発明の実施の形態1に係る画像処理装置の
テクスチャプロセッサの機能ブロック図である。
【図5】この発明の実施の形態1に係る画像処理装置の
シェーディングプロセッサの機能ブロック図である。
【図6】この発明の実施の形態1に係る画像処理装置の
機能ブロック図である。
【図7】この発明の実施の形態1に係る画像処理装置の
概略の内部構成図である。
【図8】この発明の実施の形態1に係る画像処理装置に
おけるデータの読み込み、伸張、書き込みのタイミング
の説明図である。
【符号の説明】
1 CPU 2 ジオメトリプロセッサ 2a ポリゴン・マテリアル・ライトバッファメモリ 3 フィルプロセッサ 4 テクスチャプロセッサ 4a テクスチャメモリ 5 シェーディングプロセッサ 5a フレームバッファ 6 プログラム・ワークポリゴンバッファメモリ 21 データディスパッチャー 22 ベクタエンジン 23 ベクタレジスタ 24 クリッピングエンジン 25 Yソートインデックス 26 Xソートインデックス 27 ソートエンジン 28 ポリゴンTAG 31 キャッシュコントローラ 32 マテリアルTAG 33 ライトTAG 34 ポリゴンキャッシュ 35 初期パラメータ計算機 36 Zコンパレータアレー 37 頂点パラメータバッファ 38 補間器 41 濃度計算機 42 マテリアルキャッシュ 43 ウインドウレジスタ 44 アドレス発生器 45 マテリアルキャッシュ 46 TLMMI計算機 47 カラーコンパレータ 48 カラーパレット 51 輝度処理器 51a ライトキャッシュ 51b マテリアルキャッシュ 51c ウインドウレジスタ 52 モジュレート処理器 52a マテリアルキャッシュ 52b ウインドウレジスタ 53 ブレンド処理器 53a マテリアルキャッシュ 54 カラーバッファ 55 プロット処理器 56 ビットマップ処理器 57 ディスプレイ制御器
───────────────────────────────────────────────────── フロントページの続き (58)調査した分野(Int.Cl.7,DB名) G06T 15/00 300 G06T 1/20 G06T 1/60 450 JICSTファイル(JOIS)

Claims (5)

    (57)【特許請求の範囲】
  1. 【請求項1】圧縮されたテクスチャデータを記憶する記
    憶装置と、 伸長されたテクスチャデータを記憶するテクスチャバッ
    ファと、 画面に表示すべき画像データを記憶するフレームバッフ
    ァと、 前記テクスチャバッファに記憶された伸長されたテクス
    チャデータに基づいて画像処理を行い、画像処理後の画
    像データを前記フレームバッファに書き込む処理部とを
    備え、 前記記憶装置と前記処理部とのバス速度よりも、前記テ
    クスチャバッファと前記処理部とのバス速度の方が高速
    であり、 前記処理部はデータ伸長回路及びパレット変換回路を備
    えていて、所定の場合に前記記憶装置から圧縮されたテ
    クスチャデータを読み出し、これを前記データ伸長回路
    にて伸長して、伸長されたテクスチャデータを前記パレ
    ット変換回路にてパレット変換を行ってからテクスチャ
    バッファに書き込むことを特徴とする画像処理装置。
  2. 【請求項2】前記処理部は、読み出されたテクスチャデ
    ータを受けてこのデータを一時的に記憶するとともに、
    当該データを前記データ伸長回路へ出力する先入先出記
    憶装置を備えることを特徴とする請求項1記載の画像処
    理装置。
  3. 【請求項3】前記処理部は、ミップマップ生成回路を備
    え、テクスチャデータ更新時に前記ミップマップ生成回
    路にてミップマップを生成してからテクスチャバッファ
    に書き込むことを特徴とする請求項1記載の画像処理装
    置。
  4. 【請求項4】圧縮されたテクスチャデータを記憶装置に
    記憶しておき、所定の場合に処理部が前記記憶装置から
    圧縮されたテクスチャデータを読み出してこれを伸長
    し、伸長されたテクスチャデータをパレット変換を行っ
    てからテクスチャバッファに記憶し、前記テクスチャバ
    ッファに記憶されたテクスチャデータに基づいて画像処
    理を行い、画像処理後の画像データをフレームバッファ
    に書き込むことを特徴と する画像処理方法であって、 前記記憶装置と前記処理部とのバス速度よりも、前記テ
    クスチャバッファと前記処理部とのバス速度の方が高速
    であることを特徴とする画像処理方法。
  5. 【請求項5】テクスチャデータ更新時に、ミップマップ
    を生成してからテクスチャバッファに記憶することを特
    徴とする請求項4記載の画像処理方法。
JP09116772A 1997-05-07 1997-05-07 画像処理装置及び画像処理方法 Expired - Fee Related JP3104643B2 (ja)

Priority Applications (6)

Application Number Priority Date Filing Date Title
JP09116772A JP3104643B2 (ja) 1997-05-07 1997-05-07 画像処理装置及び画像処理方法
TW087107181A TW374143B (en) 1997-05-07 1998-05-07 Image processing device and image processing method
PCT/JP1998/002032 WO1998050887A1 (fr) 1997-05-07 1998-05-07 Processeur d'images et procede de traitement d'images
US09/423,415 US7079150B1 (en) 1997-05-07 1998-05-07 Image processing wherein decompression and compression methods provide faster transmission of texture data between a texture buffer and Aprocessor than between a storage device and a processor
EP98919513A EP0981107B1 (en) 1997-05-07 1998-05-07 Image processor and image processing method
GBGB9926284.2A GB9926284D0 (en) 1997-05-07 1999-11-05 Image processor and image processing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP09116772A JP3104643B2 (ja) 1997-05-07 1997-05-07 画像処理装置及び画像処理方法

Publications (2)

Publication Number Publication Date
JPH10307925A JPH10307925A (ja) 1998-11-17
JP3104643B2 true JP3104643B2 (ja) 2000-10-30

Family

ID=14695352

Family Applications (1)

Application Number Title Priority Date Filing Date
JP09116772A Expired - Fee Related JP3104643B2 (ja) 1997-05-07 1997-05-07 画像処理装置及び画像処理方法

Country Status (6)

Country Link
US (1) US7079150B1 (ja)
EP (1) EP0981107B1 (ja)
JP (1) JP3104643B2 (ja)
GB (1) GB9926284D0 (ja)
TW (1) TW374143B (ja)
WO (1) WO1998050887A1 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4228455B2 (ja) 1999-03-04 2009-02-25 株式会社セガ 画像処理方法及び画像処理装置
JP2001079263A (ja) 1999-09-16 2001-03-27 Sega Corp ゲーム装置、データ処理方法、及び情報記録媒体
CN100533403C (zh) * 2004-07-14 2009-08-26 奥普提克斯晶硅有限公司 高速缓冲存储器管理系统和方法
JP4490230B2 (ja) * 2004-10-13 2010-06-23 トヨタ自動車株式会社 幾何変換回路
US9734598B2 (en) * 2013-01-15 2017-08-15 Microsoft Technology Licensing, Llc Engine for streaming virtual textures

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63106080A (ja) 1986-06-27 1988-05-11 Hitachi Ltd 画像表示方式
JPH07325934A (ja) * 1992-07-10 1995-12-12 Walt Disney Co:The 仮想世界に向上したグラフィックスを提供する方法および装置
US5850540A (en) * 1993-07-02 1998-12-15 Sony Corporation Method and apparatus for time-sharing CPU system bus in image generation system
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
JP3454914B2 (ja) * 1994-04-07 2003-10-06 株式会社ソニー・コンピュータエンタテインメント 画像生成方法および画像生成装置
US5664162A (en) * 1994-05-23 1997-09-02 Cirrus Logic, Inc. Graphics accelerator with dual memory controllers
JP2658902B2 (ja) * 1994-10-04 1997-09-30 日本電気株式会社 画像生成装置
JP2637931B2 (ja) * 1994-12-01 1997-08-06 インターナショナル・ビジネス・マシーンズ・コーポレイション テクスチャ・マッピングを行うコンピュータ・システム
US5801708A (en) * 1995-06-06 1998-09-01 Hewlett-Packard Company MIP map texture storage by dividing and allocating among multiple blocks
US5790130A (en) * 1995-06-08 1998-08-04 Hewlett-Packard Company Texel cache interrupt daemon for virtual memory management of texture maps
JP3022334B2 (ja) * 1995-07-28 2000-03-21 松下電器産業株式会社 画像生成装置、動画伸長マッピング装置およびマルチメディア機器
US5808617A (en) * 1995-08-04 1998-09-15 Microsoft Corporation Method and system for depth complexity reduction in a graphics rendering system
US6005582A (en) * 1995-08-04 1999-12-21 Microsoft Corporation Method and system for texture mapping images with anisotropic filtering
JP3688765B2 (ja) 1995-08-29 2005-08-31 株式会社日立製作所 描画方法およびグラフィックス装置
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
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
US5845083A (en) * 1996-03-07 1998-12-01 Mitsubishi Semiconductor America, Inc. MPEG encoding and decoding system for multimedia applications
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
US5936632A (en) * 1996-07-26 1999-08-10 Hewlett-Packard Co. Method for fast downloading of textures to accelerated graphics hardware and the elimination of extra software copies of texels
US5768445A (en) * 1996-09-13 1998-06-16 Silicon Graphics, Inc. Compression and decompression scheme performed on shared workstation memory by media coprocessor
US5977997A (en) * 1997-03-06 1999-11-02 Lsi Logic Corporation Single chip computer having integrated MPEG and graphical processors
US6278645B1 (en) * 1997-04-11 2001-08-21 3Dlabs Inc., Ltd. High speed video frame buffer
JP3630934B2 (ja) * 1997-08-29 2005-03-23 三洋電機株式会社 テクスチャ記録方法
WO1999056249A1 (en) * 1998-04-27 1999-11-04 Interactive Silicon, Inc. Graphics system and method for rendering independent 2d and 3d objects
US6353438B1 (en) * 1999-02-03 2002-03-05 Artx Cache organization—direct mapped cache

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
日経エレクトロニクス1996年9月9日号,日経BP,1996年9月9日,No.670,p.92−101

Also Published As

Publication number Publication date
EP0981107A4 (en) 2001-05-02
GB9926284D0 (en) 2000-01-12
US7079150B1 (en) 2006-07-18
JPH10307925A (ja) 1998-11-17
WO1998050887A1 (fr) 1998-11-12
EP0981107A1 (en) 2000-02-23
EP0981107B1 (en) 2004-09-22
TW374143B (en) 1999-11-11

Similar Documents

Publication Publication Date Title
JP4564718B2 (ja) 3−dコンピュータ・グラフィックス・レンダリングシステム
US6417858B1 (en) Processor for geometry transformations and lighting calculations
US7508394B1 (en) Systems and methods of multi-pass data processing
US6008820A (en) Processor for controlling the display of rendered image layers and method for controlling same
JP4540753B2 (ja) グラフィックオブジェクトを画像チャンクにレンダリングして、画像層を表示画像に組み合わせる方法及びシステム
US5880737A (en) Method and system for accessing texture data in environments with high latency in a graphics rendering system
US8068119B2 (en) System and method for multi-sampling primitives to reduce aliasing
US5777629A (en) Graphics subsystem with smart direct-memory-access operation
US5867166A (en) Method and system for generating images using Gsprites
US5594854A (en) Graphics subsystem with coarse subpixel correction
JP3453088B2 (ja) 圧縮テクスチャ・データ構造
US7932914B1 (en) Storing high dynamic range data in a low dynamic range format
US7898550B2 (en) System and method for memory bandwidth compressor
JP3233343B2 (ja) 圧縮フレーム・バッファによりグラフィックス画像データを二重バッファするためのシステムおよび方法
JP2005514711A (ja) ゾーン・レンダリングのための効率的なグラフィックス状態管理
US9818051B2 (en) Rotation and clipping mechanism
US5949421A (en) Method and system for efficient register sorting for three dimensional graphics
US6567098B1 (en) Method and apparatus in a data processing system for full scene anti-aliasing
US5844571A (en) Z buffer bandwidth reductions via split transactions
JPH10320573A (ja) 画像処理装置及び画像処理方法
US6762765B2 (en) Bandwidth reduction for zone rendering via split vertex buffers
JP3104643B2 (ja) 画像処理装置及び画像処理方法
US6850244B2 (en) Apparatus and method for gradient mapping in a graphics processing system
US6285373B1 (en) Method and apparatus for texture transmission and storage
US7256796B1 (en) Per-fragment control for writing an output buffer

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20000801

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

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

Free format text: PAYMENT UNTIL: 20080901

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20080901

Year of fee payment: 8

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313114

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

Free format text: PAYMENT UNTIL: 20080901

Year of fee payment: 8

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

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

Free format text: PAYMENT UNTIL: 20080901

Year of fee payment: 8

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R371 Transfer withdrawn

Free format text: JAPANESE INTERMEDIATE CODE: R371

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313114

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

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

Free format text: PAYMENT UNTIL: 20080901

Year of fee payment: 8

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

Free format text: PAYMENT UNTIL: 20080901

Year of fee payment: 8

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313117

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

Free format text: PAYMENT UNTIL: 20080901

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20090901

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20090901

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20100901

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20110901

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20120901

Year of fee payment: 12

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

Free format text: PAYMENT UNTIL: 20120901

Year of fee payment: 12

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

Free format text: PAYMENT UNTIL: 20130901

Year of fee payment: 13

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

Free format text: PAYMENT UNTIL: 20130901

Year of fee payment: 13

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

LAPS Cancellation because of no payment of annual fees