JPH1011594A - 画像生成装置およびデータ圧縮方法 - Google Patents
画像生成装置およびデータ圧縮方法Info
- Publication number
- JPH1011594A JPH1011594A JP8167039A JP16703996A JPH1011594A JP H1011594 A JPH1011594 A JP H1011594A JP 8167039 A JP8167039 A JP 8167039A JP 16703996 A JP16703996 A JP 16703996A JP H1011594 A JPH1011594 A JP H1011594A
- Authority
- JP
- Japan
- Prior art keywords
- texture
- data
- texture data
- compressed
- pixel
- 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
- G06T9/00—Image coding
- G06T9/005—Statistical coding, e.g. Huffman, run length coding
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Television Signal Processing For Recording (AREA)
- Image Generation (AREA)
Abstract
化を最低限に抑えて)、テクスチャデータのデータ量を
低減することができるようにする。 【解決手段】 テクスチャデータを記憶するテクスチャ
バッファにおいて、CCC(Color Cell Compression)
法により、縮小率1/1のテクスチャデータが1/10
に、縮小率1/2にテクスチャデータが1/5に、縮小
率1/4のテクスチャデータが1/2に、それぞれ圧縮
されて記憶されており、縮小率1/8のテクスチャデー
タはそのまま記憶されている。
Description
びデータ圧縮方法に関し、特に、例えば、3次元グラフ
ィックスシステムなどにおいて、3次元画像を構成する
単位図形(ポリゴン)のテクスチャマッピングを行う場
合に用いて好適な画像生成装置およびデータ圧縮方法に
関する。
においては、3次元画像を、3角形などのポリゴン(単
位図形)に分解し、そのポリゴンを描画することで、そ
の3次元画像全体の描画が行われる。従って、この場
合、3次元画像は、ポリゴンの組合せで定義されている
ということができる。
複雑な模様の繰り返しパターンを有することが多く、模
様やパターンが複雑で細かくなるほど、各模様やパター
ンを三角形などでモデリングすることは困難となる。そ
こで、これを解決する手法として、テクスチャマッピン
グ(Texture Mapping)がある。
取り込んだイメージデータを、物体表面に貼り付けるこ
とにより、少ない頂点数で、リアリティの高い画像を実
現するもので、オブジェクト(Object)座標系からテク
スチャ(Texture)座標系への写像fを定義し、さらに、
ウインドウ(Window)座標系からテクスチャ座標系への
写像gを求めて、ウインドウ座標系における各ピクセル
(Pixel(Picture Cell Element)に対応するテクスチ
ャの要素であるテクセル(Texel(Texture Cell Elemen
t)を求めることにより行うことができる。
のように、テクスチャを、物体表面に貼り付けることに
より行われるが、例えば、いま、図6(A)に示すよう
に、オブジェクト座標系上において、矩形の表面にテク
スチャを貼り付けたものがあり(同図(A)において
は、「Texture Data」という文字がテクスチャとして矩
形のポリゴンに貼り付けられている)、これを、同図
(B)に示すように回転した場合、ウインドウ座標系上
においては、元のポリゴン(この場合は、矩形)に対し
て、左端に、拡大されたテクスチャが貼り付けられ、右
にいくほど、縮小されたテクスチャが貼り付けられたよ
うにみえる。
テクスチャを貼り付けるときには、例えば、4近傍補間
等の、原画のフィルタリング処理を行うことで、リアル
タイムに対処することができる。
合には、1つの画素に、多くのテクセルが対応すること
となり、画像の歪みが目立つようになる。
れている。即ち、ミップマップ法ににおいては、テクス
チャバッファとしてのメモリに、原画を、種々の縮小率
(拡大率)で縮小(拡大)したビットマップのデータ
(Bitmap Data)(テクスチャデータ)を記憶させてお
く。即ち、例えば、図6(C)に示すように、原画の横
と縦の長さ順次1/2に縮小したイメージ(縮小率が1
/2,1/4,1/8,・・・のイメージ)を、あらか
じめ用意し、テクスチャバッファに記憶させておく。そ
して、処理するピクセルにおける縮小率に最も近い縮小
率のイメージを選択して貼り付けることで、歪みのない
テクスチャマッピングが高速に行われる。
原画を順次1/2に縮小したイメージを得るのに必要な
フィルタリング処理は、4近傍補間等に用いられるフィ
ルタよりも高度なフィルタを用いて時間をかけて行われ
る。このため、リアルタイムで縮小イメージを得るのは
困難である。
スチャマッピングを行う場合においては、以下のような
課題があった。
データのうち、テクスチャデータは、その大部分を占め
るため、テクスチャデータを記憶するのに多くの記憶容
量を必要とし、その結果、装置が高コスト化する課題が
あった。さらに、テクスチャデータの転送に時間を要す
るため、その時間を短縮するのに、3次元画像の品質
(画質)を犠牲にしなければならないこともあった。
は、テクスチャデータのデータ量がさらに多くなるた
め、上述の課題がより顕著になる。
タを、テクスチャメモリから読み出すのに、読み出しの
バンド幅が広く必要なため、他の処理に割り当てること
のできるバンド幅が少なくなり、その結果、他の処理の
パフォーマンスが低下する課題があった。
クスチャメモリに記憶させておく方法が考えられるが、
ミップマップ法を用いる場合において、縮小率に無関係
に、すべてのテクスチャデータを、一定の圧縮率で圧縮
したときには、縮小率の小さいテクスチャデータが貼り
付けられる画像の劣化が目立つようになる。
たものであり、画像の画質を劣化させることなく(画質
の劣化を最低限に抑えて)、テクスチャデータのデータ
量を低減することができるようにするものである。
成装置は、単位図形のテクスチャマッピングに用いるテ
クスチャデータを圧縮したものを記憶する記憶手段が、
複数の、異なる縮小率のテクスチャデータを、その縮小
率に対応して圧縮したものを記憶することを特徴とす
る。
の、異なる縮小率のテクスチャデータを、その縮小率に
対応して圧縮することを特徴とする。
は、記憶手段が、複数の、異なる縮小率のテクスチャデ
ータを、その縮小率に対応して圧縮したものを記憶する
ようになされている。
は、複数の、異なる縮小率のテクスチャデータを、その
縮小率に対応して圧縮するようになされている。
グラフィックスシステムの一実施例の構成を示してい
る。
標変換や、クリッピング(Clipping)処理、ライティン
グ(Lighting)処理等のジオメトリ(Geomerty)処理が
施された、例えば、3角形のポリゴンのデータ(ポリゴ
ンデータ)X,Y,Z,R,G,B,α,S,T,Qが
記憶されている。なお、ジオメトリ処理は、図示せぬ回
路において行われるようになされており、ポリゴンデー
タベース1には、そのようなジオメトリ処理が施された
ポリゴンデータが供給されて記憶されるようになされて
いる。また、図1の3次元グラフィックスシステムをコ
ンピュータで構成する場合においては、ジオメトリ処理
は、例えば、CPUで行われ、さらに、ポリゴンデータ
ベース1は、例えば、メインメモリに相当する。
れたポリゴンデータX,Y,Z,R,G,B,α,S,
T,Qのうち、X,Y,Zは、3角形のポリゴンの3頂
点それぞれのx,y,z座標をそれぞれ表し、R,G,
Bは、3頂点それぞれにおける赤(Red)、緑(Gree
n)、青(Blue)の輝度値を表している。
る画素のRGBと、後述するディスプレイバッファ8に
既に記憶されている画素のRGBとのブレンドの割合を
表すブレンド(Blend)係数を表している。なお、α
は、例えば、0以上1以下の実数で、これから描画しよ
うとしている画素の画素値(カラー値)をFcとすると
ともに、ディスプレイバッファ8に記憶されている画素
の画素値をBcとするとき、これらのブレンド結果とし
ての画素値Ccは、次式により与えられる。 Cc=αFc+(1−α)Bc
の3頂点それぞれにおけるテクスチャ座標(テクスチャ
についての同次座標)を表す。なお、S/Q,T/Qそ
れぞれに、テクスチャサイズ(Texture Size)を乗じた
値がテクスチャアドレスとなる。
ース1に記憶されたポリゴンデータX,Y,Z,R,
G,B,α,S,T,Qを読み出し、後段のDDA演算
回路3において行われるDDA演算のためのセットアッ
プ演算を行い、その演算結果を、DDA演算回路3に出
力するようになされている。DDA演算回路3は、セッ
トアップ回路2における演算結果を用いて、DDA演算
を行い、その演算結果を、テクスチャプロセッサ4に供
給するようになされている。
て、線型補間により、その2点間を結ぶ線分を構成する
画素についての各値を求める演算である。即ち、例え
ば、2点のうちの一方を始点とするとともに、他方を終
点とし、その始点および終点に、ある値が与えられてい
るとき、終点に与えられている値と、始点に与えられて
いる値との差分を、その始点と終点との間にある画素数
で除算することで、始点および終点に与えられている値
の変化分(変化の割合)が求められ、これを、始点から
終点の方向に進むにつれて、始点に与えられている値に
順次加算(積算)することで、始点と終点との間にある
各画素における値が求められる。
て、ポリゴンの3頂点をp1,p2,p3とするとき、
点p1とp2、点p2とp3、および点p1とp3に対
して、このようなDDA演算が施され、これにより、ポ
リゴンの3辺上にある画素についてのポリゴンデータ
Z,R,G,B,α,S,T,Q、さらには、そのポリ
ゴン内部にある画素についてのポリゴンデータZ,R,
G,B,α,S,T,Qが、x,y座標を変数として求
められる。
G,B,α,S,T,Qの、x,y軸方向についての変
化分が必要となるが、この変化分が、セットアップ回路
2において行われるセットアップ演算により求められる
ようになされている。
ピング手段)は、DDA演算回路3からのDDA演算結
果、即ち、ポリゴンを構成する各画素のx,y座標と、
そのx,y座標における画素についてのポリゴンデータ
Z,R,G,B,α,S,T,Qを受信し、そのデータ
に基づいてテクスチャマッピングを行うようになされて
いる。
ば、S,TそれぞれをQで除算することにより、テクス
チャアドレスU(∝S/Q),V(∝T/Q)を算出
し、さらに、そのテクスチャアドレスU,Vとともに、
リード要求(Read Request)を、メモリI/F6に出力
することで、テクスチャバッファ10から、テクスチャ
アドレスU,Vに対応するテクスチャデータ(Texture
Color Data)を読み出す。このテクスチャデータは、メ
モリI/F6およびテクスチャデコーダ5を介して、テ
クスチャプロセッサ4に供給されるようになされてお
り、テクスチャプロセッサ4は、このテクスチャデータ
としてのR,G,Bと、DDA演算回路3からのR,
G,Bとに各種のフィルタリング(Filtering)処理を
施し、即ち、例えば、両者を所定の割合で混合し、ポリ
ゴンを構成する各画素の最終的な色データR,G,Bを
算出する。
得られた画素の色データR,G,Bは、その画素のx,
y座標、およびその他必要なポリゴンデータとともに、
メモリI/F6に転送されるようになされている。
モリI/F6から供給されるテクスチャデータを伸張し
て、テクスチャプロセッサ4に供給するようになされて
いる。即ち、後述するように、テクスチャバッファ10
からメモリI/F6を介して供給されるテクスチャデー
タは圧縮されていることがあり、テクスチャデコーダ5
は、このような圧縮されたテクスチャデータを解凍(De
compression)して、テクスチャプロセッサ4に供給す
るようになされている。
タの読み出しおよび書き込みを制御するようになされて
いる。即ち、メモリI/F6は、例えば、テクスチャプ
ロセッサ4から、リード要求とともに、テクスチャアド
レスU,Vを受信すると、テクスチャバッファ10か
ら、そのテクスチャアドレスU,Vに記憶されているテ
クスチャデータを読み出し、テクスチャデコーダ5に供
給するようになされている。
セッサ4から供給されるポリゴンデータに基づいて、そ
のポリゴンのZ値(ポリゴンの所定の代表点の深さを表
すもの)と、Zバッファ9に既に記憶されているポリゴ
ンのZ値とを比較し、テクスチャプロセッサ4からのポ
リゴンが、Zバッファ9に記憶されているポリゴンより
も手前に位置する場合には、Zバッファ9に記憶されて
いるZ値を更新するとともに、テクスチャプロセッサ4
からの色データR,G,Bを、ディスプレイバッファ8
に書き込むようになされている。なお、メモリI/F6
は、テクスチャプロセッサ4からの色データR,G,B
に付随するブレンド係数αがある場合には、ディスプレ
イバッファ8から、対応する画素のR,G,Bを読み出
し、テクスチャプロセッサ4からの色データR,G,B
とブレンドして、そのブレンド結果を、ディスプレイバ
ッファ8に書き込むようになされている。
コントローラ11からの要求に応じて、ディスプレイバ
ッファ8に記憶されたデータを読み出し、ディスプレイ
コントローラ11に供給するようにもなされている。
バッファ9、およびテクスチャバッファ10で構成され
ている。ディスプレイバッファ8は、ディスプレイ14
に表示する画像に対応するデータを記憶するようになさ
れている。Zバッファ9は、最も手前にあるポリゴンに
ついてのデータを、そのZ値とともに記憶するようにな
されている。テクスチャバッファ10(記憶手段)は、
ミップマップの各レベル(Level)に対応したテクスチ
ャデータが適宜圧縮されたものを記憶する。
の、異なる縮小率(ミップマップのレベル)のテクスチ
ャデータを、その縮小率に対応して圧縮したものを記憶
するようになされている。
ル0(MIPMAP Level0)(原画と同一の解像度)(従っ
て、縮小率1/1)、およびレベル1(MIPMAP Level
1)(原画の1/2の解像度)(従って、縮小率1/
2)のテクスチャデータが、後述するCCC(Color Ce
ll Compression)(カラーセルコンプレッション)法に
より、24ビット/ピクセルから2ビットピクセル(約
1/10)に圧縮されて記憶される。
(MIPMAP Level2)(縮小率1/4)、およびレベル3
(MIPMAP Level3)(縮小率1/8)のテクスチャデー
タが、CCC法により、24ビット/ピクセルから4ビ
ットピクセル(1/6)に圧縮されて記憶される。
evel4)(縮小率1/16)以上のテクスチャデータ
は、圧縮せずに、そのまま記憶される。即ち、縮小率が
小さく(解像度が低く)、従って、そのデータ量が多く
ないテクスチャデータは、圧縮を行っても、また、行わ
なくても、テクスチャデータ全体のデータ量には、ほと
んど影響を与えない。さらに、縮小率が特に小さいテク
スチャデータについては、画像の解像度が低いため、C
CC法などのような不可逆圧縮を施すと、その画質が著
しく劣化することになる。このようなテクスチャデータ
については、可逆圧縮(例えば、ランレングス(Run Le
ngth)法等)を行っても良いが、圧縮を行っても、全体
のデータ量にほとんど影響を与えないのであれば、異な
る方法の圧縮処理を施すよりは、特に処理を施さない方
が、装置に対する負荷や、処理の簡素化の観点から好ま
しい。
4以上のテクスチャデータに対しては、特に圧縮処理を
施さないようにしている。
クスチャデータは、例えば、CLUT(Color Look Up
Table)に対するインデックス(RGBへのIndex Color)
か、またはYUV空間上のデータに変換されて記憶され
る。
のリアルタイム性の高い画像をテクスチャとして利用す
る場合、ミップマップのためのテクスチャデータを生成
することは、処理時間の問題から困難であり、このた
め、そのような画像に対応するテクスチャデータは、C
CC法より簡単な、例えば、オーダドディザ(OrderedD
ither)法により、24ビット/ピクセルから8ビット
/ピクセル等に減色することにより圧縮されて記憶され
る。即ち、オーダドディザ法によれば、テクスチャとす
る画像についてのx,y座標の下位ビットに対応して、
カラー値の丸め方を変動させ、24ビットカラーが8ビ
ットカラーなどに減色される。ディザ(Dither)処理
は、ピクセルごとのR,G,Bそれぞれについての1回
の加算操作により行うことができるため、テクスチャデ
ータを、リアルタイムで圧縮することが可能となる。
ミップマップのレベル0と1とにおける圧縮率を同一に
したが、これらの間において、圧縮率を異なるものにす
ることが有効な場合もある。このような場合であって
も、CCC法によれば、わずかな処理の変更で、圧縮率
の切り換えを行うことができる。
10に記憶される場合、テクスチャデコーダ5では、基
本的には、ミップマップのレベルにしたがって、CCC
法により圧縮されたテクスチャデータの伸張が行われ
る。即ち、テクスチャデコーダ5では、CCC法により
24ビット/ピクセルから2ビット/ピクセルに圧縮さ
れたミップマップのレベル0および1のテクスチャデー
タが解凍され、同様に、24ビット/ピクセルから6ビ
ット/ピクセルに圧縮されたミップマップのレベル2お
よび3のテクスチャデータが解凍される。また、テクス
チャデコーダ5は、ミップマップのレベル4以上のテク
スチャデータについては、特に処理を施さず、テクスチ
ャプロセッサ4に供給する。
ディザ法により、24ビット/ピクセルから8ビット/
ピクセルに圧縮されているテクスチャデータについて
は、その下位ビットに、例えば0を配置して、テクスチ
ャプロセッサ4に供給するようになされている。また、
テクスチャデコーダ5は、2ビット/ピクセルに圧縮さ
れているテクスチャデータが、CLUTのインデック
ス、またはYUV空間上のデータ(以下、適宜、YUV
データという)に変換されている場合には、テクスチャ
データの伸張後に得られるインデックスまたはYUVデ
ータを、RGBに変換するようになされている。
ぬ回路から与えられる水平、垂直同期信号に同期して、
表示アドレス(表示Address)を発生し、その表示アド
レスからのデータの読み出し要求を、メモリI/F6に
出力し、その要求に応じて、メモリI/F6から供給さ
れる所定のまとまった表示データ(表示Data)を受信す
るようになされている。さらに、ディスプレイコントロ
ーラ11は、例えば、FIFO(First In First Out)
方式のメモリ(以下、適宜、FIFOメモリという)を
内蔵しており、そのFIFOメモリに、受信した表示デ
ータを記憶させ、所定の一定の間隔で、その表示データ
としての、例えばRGBへのインデックス値(RGBのInd
ex値)を、RAMDAC12に転送するようになされて
いる。
クス値と、RGB値を対応付けて記憶しているRAM1
2Aを内蔵しており、ディスプレイコントローラ11か
らのインデックス値を、それに対応するRGB値に変換
して、D/A変換器(Digital Analog Converter)13
に転送するようになされている。D/A変換器13は、
RAMDACからのディジタル信号をアナログ信号に変
換し、例えばCRT(Cathod Ray Tube)などで構成さ
れるディスプレイ14に供給するようになされている。
ディスプレイ14は、D/A変換器13からの信号にし
たがった表示を行うようになされている。
アップ回路2において、ポリゴンデータベース1に記憶
されたポリゴンデータX,Y,Z,R,G,B,α,
S,T,Qが順次読み出され、そのポリゴンデータに対
して、セットアップ演算が施される。このセットアップ
演算結果は、必要なポリゴンデータとともに、DDA演
算回路3に供給される。DDA演算回路3では、セット
アップ回路2における演算結果を用いて、DDA演算が
行われ、その演算結果が、必要なポリゴンデータととも
に、テクスチャプロセッサ4に供給される。
回路3の出力に基づいて、テクスチャアドレスU,Vが
算出され、そのテクスチャアドレスU,Vからのリード
要求が、メモリI/F6に対して出力される。メモリI
/F6は、テクスチャプロセッサ4からリード要求とと
もにテクスチャアドレスU,Vを受信すると、テクスチ
ャバッファ10から、テクスチャアドレスU,Vに対応
するテクスチャデータを読み出し、テクスチャデコーダ
5に供給する。テクスチャデコーダ5は、メモリI/F
6から受信したテクスチャデータが圧縮されている場合
には、それを伸張し、テクスチャプロセッサ4に供給す
る。
コーダ5からテクスチャデータを受信すると、そのテク
スチャデータを用いて、各種のフィルタリング処理を行
い、その処理結果を、メモリI/F6に供給すること
で、ディスプレイバッファ8に書き込む。
は、表示アドレスが発生され、その表示アドレスからの
データの読み出し要求が、メモリI/F6に出力され
る。メモリI/F6では、ディスプレイコントローラ1
1からの要求に応じて、ディスプレイバッファ8から表
示データを読み出し、ディスプレイコントローラ11に
転送する。ディスプレイコントローラ11は、メモリI
/F6から表示データを受信すると、その表示データ
を、RAMDAC12およびD/A変換器13を介し
て、ディスプレイ14に供給し、これにより、ディスプ
レイ14においては、ポリゴンで構成される3次元画像
が表示される。
ターンの他の例を示している。この実施例においては、
CCC法により、縮小率1/1のテクスチャデータが1
/10に、縮小率1/2にテクスチャデータが1/5
に、縮小率1/4のテクスチャデータが1/2に、それ
ぞれ圧縮されており、縮小率1/8のテクスチャデータ
はそのまま記憶されている。
CCC法について説明する。CCC法では、テクスチャ
を、例えば4画素×4画素のブロックに分割し、各ブロ
ックに対して、以下の処理を施すことで、テクスチャデ
ータを圧縮する。即ち、まず最初に、ステップS1にお
いて、4×4のブロックを構成する16画素それぞれに
ついての輝度信号Yが、次式にしたがって算出される。
る。
の輝度信号Yの平均値(以下、適宜、輝度平均値とい
う)Ymが算出され、ステップS3に進み、16画素の
うちの1画素を注目画素として、その輝度信号Yが、輝
度平均値Ymより大きいかどうかが判定される。ステッ
プS3において、注目画素の輝度信号Yが、輝度平均値
Ymより大きいと判定された場合、ステップS4に進
み、輝度信号Yが輝度平均値Ymより大きい画素をカウ
ントするための変数C0が1だけインクリメントされ、
ステップS6に進む。
様)は、図3の処理が開始される前に、例えば0に初期
化されるようになされている。
輝度信号Yが、輝度平均値Ymより大きくないと判定さ
れた場合、ステップS5に進み、輝度信号Yが輝度平均
値Ym以下の画素をカウントするための変数C1が1だ
けインクリメントされ、ステップS6に進む。
6画素すべてを注目画素として、ステップS3の判定処
理を行ったかどうかが判定される。ステップS6におい
て、ブロックを構成する16画素すべてを注目画素とし
て、ステップS3の判定処理を行っていないと判定され
た場合、ステップS3に戻り、まだ、注目画素とされて
いない画素を、新たに注目画素として、ステップS3か
らの処理を繰り返す。
構成する16画素すべてを注目画素として、ステップS
3の判定処理を行ったと判定された場合、ステップS7
に進み、輝度信号Yが輝度平均値Ymより大きい画素に
ついてのR,G,Bそれぞれの総和が、変数COで除算
されることにより、そのような画素についてのR,G,
Bそれぞれの平均値Rm0,Gm0,Bm0が算出されるとと
もに、輝度信号Yが輝度平均値Ym以下の画素について
のR,G,Bそれぞれの総和が、変数C1で除算される
ことにより、そのような画素についてのR,G,Bそれ
ぞれの平均値Rm1,Gm1,Bm1が算出される。
は、4ビット/ピクセルに圧縮される。
する必要のある画素についての8ビットのR,G,B
が、5ビットに量子化され、ステップS9に進む。
は、3ビット/ピクセル以下に圧縮される。
あるテクスチャデータが、CLUTのインデックスに変
換され、これにより、2ビット/ピクセル以下に圧縮さ
れて、処理を終了する。
のカラーとして用いることが最適な256色を選び、各
色に、8(=log2256)ビットのインデックスを
割り当てておく。この場合、ステップS9では、テクス
チャデータのカラーを、対応する8ビットのインデック
スに変換することが行われる。
率)の画像を用意する必要があるが、前述したように、
異なる縮小率の画像を、すべて一定の圧縮率で圧縮した
場合、縮小率の大きい(解像度の高い)画像について
は、圧縮による画質の劣化は、それほど目立たないが、
縮小率の小さい(解像度の低い)画像については、圧縮
による画質の劣化が顕著に現れるようになる。
像についてのテクスチャデータほど、そのデータ量は莫
大となるから、即ち、テクスチャデータのデータ量は、
縮小率の比の2乗に比例して増加するから、CCC法に
より、その縮小率(ミップマップのレベル)に対応した
圧縮率で、テクスチャデータを圧縮することにより、テ
クスチャバッファ10に記憶させなければならないテク
スチャデータのデータ量を低減することができ、さら
に、縮小率の小さい画像についての画質の劣化を防止す
ることができる。
ロック単位で処理するようにしたが、その他、例えば、
2×2やその他のブロック単位で処理することも可能で
ある。例えば、2×2のブロック単位で、ステップS7
またはS8まで処理した場合、それぞれ16ビット/ピ
クセルまたは12ビット/ピクセルに圧縮することが可
能である。
り圧縮されたテクスチャデータを解凍(伸張)する解凍
回路の構成例を示している。テクスチャメモリ101に
は、上述したようにして4画素×4画素単位で圧縮され
たのブロックを構成する16画素に対して最適な2つの
カラー値(Color)(R,G,B)と、各画素について
の、2つのカラー値Color0またはColor1の
うちのいずれか一方を選択するために用いる16ビット
の選択データが記憶されている。
れぞれ5ビットで構成され、従って、カラー値は、全体
として15ビットで構成されている。
の最下位ビットから第0ビット、第1ビット、・・・と
いうものとし、その第nビット乃至第mビットをA
[m:n]と(但し、m>n)、その第nビット以降の
上位ビットをA[:n]と、それぞれ表すものとする。
スチャ座標S,Tの第2ビット以降の上位ビットS[:
2],T[:2]が、アドレスとして与えられるように
なされており、テクスチャメモリ101からは、それに
対応する、16ビットの選択データと、カラー値Col
or0およびColor1が出力される。選択データ
は、16対1のマルチプレクサ(Multiplexer)102
に供給され、カラー値Color0またはColor1
は、2対1のマルチプレクサ103の2つの入力ポート
(Port)にそれぞれ供給される。
モリ101からの選択データの他、テクスチャ座標S,
Tの下位2ビットS[1:0],T[1:0]も供給さ
れるようになされており、マルチプレクサ102は、S
[1:0],T[1:0]にしたがって、16ビットの
選択データのうちの1ビット(Y)を選択し、マルチプ
レクサ103に出力する。
サ102の出力にしたがって、カラー値Color0ま
たはColor1のうちのいずれか一方が選択されて出
力される。
れたテクスチャデータが解凍(伸張)される。
5の構成例を示している。なお、図5に示すテクスチャ
デコーダ5では、2,4,8,15ビット/ピクセルに
圧縮されたテクスチャデータを解凍することができるよ
うになされている。
うに、その縮小率に対応して圧縮されたデータが記憶さ
れており、このデータは、所定のまとまった単位で、キ
ャッシュメモリ(Texture Cache)22に、適宜転送さ
れる。
は、テクスチャバッファ10に記憶された、圧縮された
データを、キャッシング(Caching)する。
ッシュメモリ22へのデータの転送制御は、基本的に
は、テクスチャ座標S,Tに対して、適当なマスク(Co
mpareMask)をかけることにより得られるマスク結果を
監視することで行われるようになされている。マスクの
例を、以下に示す。
られるマスク結果の他、例えば、用いられるテクスチャ
が変化した場合に、テクスチャバッファ10から、キャ
ッシュメモリ22に対して、新たなデータが転送されて
記憶される。
すために与えるアドレスは、データの圧縮モード(Comp
ression Mode)によって異なり、どのようなアドレスを
与えるかは、マルチプレクサ21において選択されるよ
うになされている。
ャ座標S[:3]とT[:2]、S[:2]とT[:
2]、S[:3]とT[:0]、およびS[:2]とT
[:0]が、圧縮モードとともに供給されるようになさ
れており、マルチプレクサ21は、圧縮モードが、2ビ
ット/ピクセルへの圧縮を意味している場合にはテクス
チャ座標S[:3]とT[:2]を、4ビット/ピクセ
ルへの圧縮を意味している場合にはテクスチャ座標
S[:2]とT[:2]を、8ビット/ピクセルへの圧
縮を意味している場合にはテクスチャ座標S[:3]と
T[:0]を、15ビット/ピクセルへの圧縮を意味し
ている場合にはテクスチャ座標S[:2]とT[:0]
を、それぞれ選択し、キャッシュメモリ22に供給す
る。
21の出力をアドレスとして、そのアドレスに対応する
データを読み出して出力する。これらは、マルチプレク
サ23,29乃至32に供給される。
圧縮されている場合、キャッシュメモリ22の出力(テ
クスチャデータ)は、32×16テクセル分あり、これ
は、その左半分の16×16テクセルのテクスチャデー
タ[63:32](テクスチャデータの第32ビット乃
至第63ビット)と、その右半分の16×16テクセル
のテクスチャデータ[31:0](テクスチャデータの
第0ビット乃至第31ビット)とに分割され、マルチプ
レクサ23に供給される。
タの他、テクスチャ座標S[2](テクスチャ座標Sの
第2ビット)が供給されるようになされており、マルチ
プレクサ23は、S[2]が、例えば、0または1のと
き、左半分のテクスチャデータ[63:32]または右
半分のテクスチャデータ[32:0]をそれぞれ選択し
て出力する。マルチプレクサ23の出力のうち、上位1
6ビットはマルチプレクサ24に、下位16ビットはマ
ルチプレクサ25に、それぞれ供給される。なお、マル
チプレクサ25に対しては、マルチプレクサ23の出力
の下位16ビットが、その上位8ビットと下位8ビット
とに分割されて供給される。
ち、上位16ビット(2バイト)は、カラー値(Texel
Color)を選択するための選択データであり、下位16
ビットは、16×16テクセルの中で設定された代表的
な2色のカラー値に対応するインデックスまたはYUV
データである。
マルチプレクサ102または103にそれぞれ相当する
もので、上述した場合と同様に、マルチプレクサ24で
は、テクスチャ座標S[1:0],T[1:0]に対応
して、マルチプレクサ23の出力の上位16ビットのう
ちの1ビットが選択され、マルチプレクサ25では、マ
ルチプレクサ24で選択された1ビットに対応して、マ
ルチプレクサ23の出力の上位16ビットのうちの上位
8ビットまたは下位8ビットのいずれか一方が選択され
る。
デックスである場合には、CLUT27に供給され、そ
のインデックスに対応するカラー値が、CLUT27か
ら読み出されて、マルチプレクサ26に出力される。
データである場合には、そのYUVデータは、RGBを
YUVデータと対応付けて記憶しているYUV/RGB
テーブル26に供給され、対応するRGBが読み出され
て、マルチプレクサ28に出力される。
26またはCLUT27から読み出されるカラー値が、
テクスチャデータが2ビット/ピクセルに圧縮されてい
る場合の解凍結果となる。
セルに圧縮されている場合においては、キャッシュメモ
リ22の出力(テクスチャデータ)は、16×16テク
セル分あり、これは、その上位2バイトのデータと、下
位6バイトのデータとに分割され、それそれが、マルチ
プレクサ29または30に供給される。なお、マルチプ
レクサ30に対しては、下位6バイトのデータが、その
上位3バイトのデータ[47:24]と下位3バイトの
データ[23:0]とに分割されて供給される。
2バイトのデータの中には選択データが含まれており、
マルチプレクサ30に供給される2つの3バイトのデー
タの中には2色のカラー値がそれぞれ含まれている。
マルチプレクサ102または103にそれぞれ相当する
もので、上述した場合と同様に、マルチプレクサ29で
は、テクスチャ座標S[1:0],T[1:0]に対応
して、そこに入力される選択データの中の1ビットが選
択され、マルチプレクサ30では、マルチプレクサ29
で選択された1ビットに対応して、2つのカラー値のう
ちのいずれか一方が選択されて出力される。そして、マ
ルチプレクサ30から出力されたカラー値は、マルチプ
レクサ28に供給される。
出力されるカラー値が、テクスチャデータが4ビット/
ピクセルに圧縮されている場合の解凍結果となる。
圧縮されている場合においては、キャッシュメモリ22
の出力(テクスチャデータ)は、4×2テクセル分あ
り、これは、1バイト単位の8つのデータに等分割され
て、マルチプレクサ31に供給される。マルチプレクサ
31では、テクスチャ座標S[1:0],T[0]に対
応して、そこに入力された8つのデータ(テクセル)の
うちの1つが選択され、これが、テクスチャデータが8
ビット/ピクセルに圧縮されている場合の解凍結果とし
て、マルチプレクサ28に供給される。
/ピクセルに圧縮されている場合においては、キャッシ
ュメモリ22の出力(テクスチャデータ)は、2×2テ
クセル分あり、これは、2バイト単位の4つのデータに
等分割されて、マルチプレクサ32に供給される。マル
チプレクサ32では、テクスチャ座標S[0],T
[0]に対応して、そこに入力された4つのデータ(テ
クセル)のうちの1つが選択され、これが、テクスチャ
データが15ビット/ピクセルに圧縮されている場合の
解凍結果として、マルチプレクサ28に供給される。
圧縮モードに対応して、YUVテーブル26(CLUT
27)、マルチプレクサ30乃至32の出力のうちのい
ずれか1つを選択し、即ち、テクスチャデータが2ビッ
ト/ピクセルに圧縮されている場合にはYUVテーブル
26(CLUT27)の出力を、テクスチャデータが4
ビット/ピクセルに圧縮されている場合にはマルチプレ
クサ30の出力を、テクスチャデータが8ビット/ピク
セルに圧縮されている場合にはマルチプレクサ31の出
力を、テクスチャデータが15ビット/ピクセルに圧縮
されている場合にはマルチプレクサ32の出力を、それ
ぞれ選択し、テクスチャプロセッサ4に供給する。
も良いが、設けることによって、テクスチャバッファ1
0を、低速なメモリである、例えばDRAM(Dynamic
Random Access Memory)で構成したとしても、非常に効
率の良い処理を行うことが可能となる。また、キャッシ
ュメモリ22を設ける場合においては、その出力を8バ
イトまたは8ビット単位とすることにより、2ビット/
ピクセルや4ビット/ピクセルに圧縮されているテクス
チャデータを処理するための回路(選択回路)を、非常
に簡単な構成で実現することが可能となる。
縮小率(ミップマップのレベル)に対応して圧縮するよ
うにしたので、テクスチャデータを記憶するのに、それ
ほど多くの記憶容量は必要とせず、その結果、装置を低
コストで構成することが可能となる。さらに、テクスチ
ャデータの転送を短時間で行うことが可能となり、その
転送が長時間かかるために、3次元画像の品質(画質)
を犠牲にするようなことを防止することができる。
なバンド幅が少なくなり、従って、他の処理にバンド幅
をまわせるようになるので、そのパフォーマンスを向上
させることができる。
ては、データを圧縮しないようにしたので、その画質の
劣化を防止することができる。
システムは、例えば、機械、電気、建築等における設計
支援のためのCADシステムや、化学、航空、制御等に
おける反応、応答のシュミレーション、さらには、教育
支援のためのCAIシステム、ビデオゲーム機等の多く
の分野に適用可能である。
て、CCC法およびオーダドディザ法を用いるようにし
たが、その他の圧縮方法を用いることも可能である。
ば、複数の、異なる縮小率のテクスチャデータを、その
縮小率に対応して圧縮したものが記憶される。従って、
記憶すべきテクスチャデータのデータ量を低減すること
が可能となる。
ば、複数の、異なる縮小率のテクスチャデータが、その
縮小率に対応して圧縮される。従って、画像の画質を劣
化させることなく(画質の劣化を最低限に抑えて)、テ
クスチャデータのデータ量を低減することが可能とな
る。
ムの一実施例の構成を示すブロック図である。
るテクスチャデータを示す図である。
ーチャートである。
解凍する解凍回路の構成例を示すブロック図である。
ロック図である。
3 DDA演算回路, 4 テクスチャプロセッサ
(テクスチャマッピング手段), 5 テクスチャデコ
ーダ(伸張手段), 6 メモリI/F, 7 メモ
リ, 8 ディスプレイバッファ, 9 Zバッファ,
10 テクスチャバッファ(記憶手段),11 ディ
スプレイコントローラ, 12 RAMDAC, 13
D/A変換器, 14 ディスプレイ, 21 マル
チプレクサ, 22 キャッシュメモリ(キャッシュ手
段), 23乃至25 マルチプレクサ, 26 YU
V/RGBテーブル, 27 CLUT, 28乃至3
2 マルチプレクサ
Claims (11)
- 【請求項1】 単位図形の組合せにより定義される3次
元画像を生成する画像生成装置であって、 前記単位図形のテクスチャマッピングに用いるテクスチ
ャデータを圧縮したものを記憶する記憶手段と、 前記記憶手段に記憶された前記テクスチャデータを伸張
する伸張手段と、 前記伸張手段により伸張された前記テクスチャデータを
用いて、テクスチャマッピングを行うテクスチャマッピ
ング手段とを備え、 前記記憶手段は、複数の、異なる縮小率のテクスチャデ
ータを、その縮小率に対応して圧縮したものを記憶する
ことを特徴とする画像生成装置。 - 【請求項2】 前記記憶手段は、その縮小率に対応した
圧縮率で圧縮された前記テクスチャデータを記憶するこ
とを特徴とする請求項1に記載の画像生成装置。 - 【請求項3】 前記記憶手段は、カラーセルコンプレッ
ション(Color CellCompression)法により、その縮小
率に対応した圧縮率で圧縮された前記テクスチャデータ
を記憶することを特徴とする請求項2に記載の画像生成
装置。 - 【請求項4】 前記記憶手段は、前記テクスチャデータ
を、YUV空間上のデータにして記憶することを特徴と
する請求項3に記載の画像生成装置。 - 【請求項5】 前記記憶手段は、その圧縮率に対応した
圧縮方法で圧縮された前記テクスチャデータを記憶する
ことを特徴とする請求項1に記載の画像生成装置。 - 【請求項6】 前記圧縮方法のうちの1つは、オーダド
ディザ(Ordered Dither)法であることを特徴とする請
求項5に記載の画像生成装置。 - 【請求項7】 前記記憶手段に記憶された前記テクスチ
ャデータを、そこに記憶されたままの状態でキャッシン
グするためのキャッシュ手段をさらに備えることを特徴
とする請求項1に記載の画像生成装置。 - 【請求項8】 前記キャッシュ手段は、前記テクスチャ
データを、8バイト単位に分割して出力することを特徴
とする請求項7に記載の画像生成装置。 - 【請求項9】 3次元画像を定義する単位図形のテクス
チャマッピングに用いるテクスチャデータを圧縮するデ
ータ圧縮方法であって、複数の、異なる縮小率のテクス
チャデータを、その縮小率に対応して圧縮することを特
徴とするデータ圧縮方法。 - 【請求項10】 前記テクスチャデータを、その縮小率
に対応した圧縮率で圧縮することを特徴とする請求項9
に記載のデータ圧縮方法。 - 【請求項11】 前記テクスチャデータを、その圧縮率
に対応した圧縮方法で圧縮することを特徴とする請求項
9に記載のデータ圧縮方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP16703996A JP3770422B2 (ja) | 1996-06-27 | 1996-06-27 | 画像生成装置および方法並びにデータ圧縮方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP16703996A JP3770422B2 (ja) | 1996-06-27 | 1996-06-27 | 画像生成装置および方法並びにデータ圧縮方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH1011594A true JPH1011594A (ja) | 1998-01-16 |
JP3770422B2 JP3770422B2 (ja) | 2006-04-26 |
Family
ID=15842261
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP16703996A Expired - Fee Related JP3770422B2 (ja) | 1996-06-27 | 1996-06-27 | 画像生成装置および方法並びにデータ圧縮方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3770422B2 (ja) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006134309A (ja) * | 2004-11-02 | 2006-05-25 | Microsoft Corp | テクスチャベースのピクセルパッキング |
JP2008059266A (ja) * | 2006-08-31 | 2008-03-13 | Fujitsu Ltd | 画像処理装置 |
JP2008181559A (ja) * | 2008-03-31 | 2008-08-07 | Sony Corp | 画像処理装置 |
JP2009176244A (ja) * | 2008-01-28 | 2009-08-06 | Sammy Corp | 画像作成装置及びプログラム |
JP2009176167A (ja) * | 2008-01-25 | 2009-08-06 | Sammy Corp | 画像圧縮装置、画像再生装置、および画像圧縮プログラム |
US7583270B2 (en) | 1999-03-02 | 2009-09-01 | Sony Corporation | Image processing apparatus |
JP2010514310A (ja) * | 2006-12-20 | 2010-04-30 | ソニー コンピュータ エンタテインメント ヨーロッパ リミテッド | 画像の圧縮及び/又は復元 |
JP2010198156A (ja) * | 2009-02-24 | 2010-09-09 | Fujitsu Semiconductor Ltd | 画像描画装置 |
WO2013030861A1 (ja) * | 2011-08-26 | 2013-03-07 | 三菱電機株式会社 | テクスチャマッピング装置 |
-
1996
- 1996-06-27 JP JP16703996A patent/JP3770422B2/ja not_active Expired - Fee Related
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7583270B2 (en) | 1999-03-02 | 2009-09-01 | Sony Corporation | Image processing apparatus |
JP2006134309A (ja) * | 2004-11-02 | 2006-05-25 | Microsoft Corp | テクスチャベースのピクセルパッキング |
JP2008059266A (ja) * | 2006-08-31 | 2008-03-13 | Fujitsu Ltd | 画像処理装置 |
JP2010514310A (ja) * | 2006-12-20 | 2010-04-30 | ソニー コンピュータ エンタテインメント ヨーロッパ リミテッド | 画像の圧縮及び/又は復元 |
JP2009176167A (ja) * | 2008-01-25 | 2009-08-06 | Sammy Corp | 画像圧縮装置、画像再生装置、および画像圧縮プログラム |
JP2009176244A (ja) * | 2008-01-28 | 2009-08-06 | Sammy Corp | 画像作成装置及びプログラム |
JP2008181559A (ja) * | 2008-03-31 | 2008-08-07 | Sony Corp | 画像処理装置 |
JP4670887B2 (ja) * | 2008-03-31 | 2011-04-13 | ソニー株式会社 | 画像処理装置 |
JP2010198156A (ja) * | 2009-02-24 | 2010-09-09 | Fujitsu Semiconductor Ltd | 画像描画装置 |
WO2013030861A1 (ja) * | 2011-08-26 | 2013-03-07 | 三菱電機株式会社 | テクスチャマッピング装置 |
Also Published As
Publication number | Publication date |
---|---|
JP3770422B2 (ja) | 2006-04-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR900004019B1 (ko) | 칼라 화상 표시 시스템 | |
JP3678428B2 (ja) | クロマキー、透明性、およびフォグ動作を行う方法および装置 | |
US6825847B1 (en) | System and method for real-time compression of pixel colors | |
US7911480B2 (en) | Compression of multiple-sample-anti-aliasing tile data in a graphics pipeline | |
CN1659595B (zh) | 用于编码纹理信息的方法和设备 | |
US7595808B2 (en) | Method and apparatus for updating a color look-up table | |
US20090278845A1 (en) | Image generating device, texture mapping device, image processing device, and texture storing method | |
US6154216A (en) | Method and apparatus for decompression of a two dimensional video texture map | |
JPH0651752A (ja) | ビジュアルデータ処理装置 | |
JPH1011594A (ja) | 画像生成装置およびデータ圧縮方法 | |
JPH1188700A (ja) | カラー画像信号の符号化方法、復号化方法およびカラー画像処理装置 | |
JP4707782B2 (ja) | 画像処理装置およびその方法 | |
US6459433B1 (en) | Method and apparatus for compression of a two dimensional video object | |
JPH1196345A (ja) | グラフィックス画像の圧縮及び逆圧縮方法 | |
US5999112A (en) | Data compression apparatus and method, data expansion apparatus and method, and recording medium | |
JP2001507823A (ja) | 画像の圧縮及び復元 | |
US6473091B1 (en) | Image processing apparatus and method | |
US5771046A (en) | Image processing system and method including perspective transformation of three-dimensional objects utilizing clipping plane positions | |
JP2001209789A (ja) | グラフィックアクセラレータおよび描画方法 | |
US6738058B1 (en) | Method and apparatus for three dimensional graphics processing | |
US6747661B1 (en) | Graphics data compression method and system | |
JPH08212377A (ja) | 画像情報生成装置及び方法、画像情報処理装置及び方法、並びに記録媒体 | |
JP2004213464A (ja) | 画像処理装置 | |
US7113655B2 (en) | Image processing apparatus | |
US6624820B2 (en) | Graphic processing method for determining representative texture data for a plurality of pixels and apparatus for same |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20050927 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20051013 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20051209 |
|
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: 20060120 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060202 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100217 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100217 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110217 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120217 Year of fee payment: 6 |
|
LAPS | Cancellation because of no payment of annual fees |