Monday, September 5, 2016

Visualizing ETC1 texture compression

The ETC1 format consists of two block colors, two intensity table selectors, two mode bits ("diff" and "flip"), and 16 2-bit selectors. Here are some simple visualizations of what this encoded data looks like.

The original image (kodim14):


The ETC1 encoded image (using rg_etc1 in slow mode - modified to use perceptual colorspace metrics):


Error: Max:  63, Mean: 2.896, MSE: 19.284, RMSE: 4.391, PSNR: 35.279

Here's the selector image (the 2-bit selectors have been scaled up to 0-255):


Subblock 0's color, expanded to 8,8,8:



Subblock 0's intensity, scaled from 0-7 to 0-255:



Subblock 1's color, expanded to 8,8,8:


Subblock 1's intensity, scaled from 0-7 to 0-255:


The "diff" mode bits (white=differential mode, black=individual mode):


The "flip" mode bits (white=flipped):


No comments:

Post a Comment