Presentation is loading. Please wait.

Presentation is loading. Please wait.

CS 395 T Real-Time Graphics Architectures, Algorithms, and Programming Systems Spring’03 Vector Quantization for Texture Compression Qiu Wu Dept. of ECE.

Similar presentations


Presentation on theme: "CS 395 T Real-Time Graphics Architectures, Algorithms, and Programming Systems Spring’03 Vector Quantization for Texture Compression Qiu Wu Dept. of ECE."— Presentation transcript:

1 CS 395 T Real-Time Graphics Architectures, Algorithms, and Programming Systems Spring’03 Vector Quantization for Texture Compression Qiu Wu Dept. of ECE & TICAM University of Texas at Austin Feb. 4 th, 2003

2 Overview Review of Vector Quantization VQ for texture compression (paper of Beers etc) discussion of its contributions and weakness DXT1 Texture Compression

3 Signal Compression  Purpose : reduce the bit rate for transmission/storage  Principles: Exploit the signal redundancy in spatial domain Human vision system has different sensitivities for different frequencies, low frequency noise is more noticeable

4 Signal Compression 1. Reconstruction error==0?  Lossy Compression: often eliminate high frequency components  Lossless Compression: exact reconstruction 2. Scalar based or Vector based Quantization?  Scalar Quantization : transform+SQ, state of the art  Vector Quantization

5 Vector Quantization Block coding: consecutive n pixels as a block(vector) Map each vector to an index of the code which is closest to this vector This index is compressed info In decoding, look up table for a vector by this index

6 Training algorithm: GLA 1. Begin with an initial codebook C1. 2. Repeat (a) Given a codebook (set of clusters defined by their centroids) redistribute each vector x into one of the clusters in by selecting the one whose centroid is closer to x. (b) Recompute the centroids for each cluster just created, to obtain the new codebook Cm+1. (c) Compute the average distortion Dm+1 for Cm+1, Until the distortion has only changed by a small enough amount since last iteration.

7 Animation of LBG Algorithm (http://www.data-compression.com/index.html )

8 Pros and Cons of VQ  Pros: Fast decoding ---lookup table  Cons: Long training time, unstable process, low CR,

9 VQ for texture compression Presented by AndrewC.Beers, ManeeshAgrawala,and NavinChaddha on SIGGRAPH 1996 VQ for generating compressed texture in memory VQ for compressed MIPMAP Performance: CR=20, 2—20% saving on time

10 VQ scheme of Beer’s paper

11 Details of VQ for texture compression Multiple-codebooks or Single codebook Option 1: Each codebook for each color component Option 2: Components of color as a single value Too simple description and just experimental, more statistical discussion would be necessary and wonderful

12 Details of VQ for texture compression Large codebook or Small codebook Large codebook---  more representative vectors---  better reconstruction quality but More bits per index—>low compression ratio Vice versa for small codebook

13 Details of VQ for texture compression RGB-  YUV More CPU time for tansforming back and forth though additional compression Just mention borrowing concept from video coding, no reason given in the paper, then in coding YUV combined together or in separate? My explanation: more energy in Y component

14 Details of VQ for texture compression (Fig 2 of Beers’ paper) Mipmaping

15 DXT1 texture compression compressed textures stored in memory at a ratio of 4:1 supported by Direct3D 4 by 4 pixel blocks---  compressed block has a size of 64 bits while an original, uncompressed block is 4x4x16 = 256 bits in size

16 DXT1 texture compression:Opaque Case When compressing an entirely opaque block, two extreme colours are chosen from all the colours present in the original block All 16 pixels contained in a block are represented with two bits each. These two bits enable four possible combinations to encode a pixel color While two of these combinations indicate to use either of the stored colours, the other two specify a gradient of the defined colours

17 Reference: Image coding using vector quantization: A review. IEEE Transactions on Communications, 36(8):957--971, August 1988. Rendering from Compressed Textures", Beers, Agrawala and Chaddha, SIGGRAPH 1996. Rendering from Compressed Textures DXT1 Texture Compression", Imagination Technologies DXT1 Texture Compression


Download ppt "CS 395 T Real-Time Graphics Architectures, Algorithms, and Programming Systems Spring’03 Vector Quantization for Texture Compression Qiu Wu Dept. of ECE."

Similar presentations


Ads by Google