S3 Texture Compression
S3 Texture Compression (S3TC) (sometimes also called DXTn) is a group of related image compression algorithms originally developed by S3 Graphics, Ltd. for use in their Savage3D computer graphics accelerator. Unlike previous image compression algorithms, S3TC's fast random access to individual pixels made it uniquely suited for use in compressing textures in hardware accelerated 3D computer graphics. It's subsequent inclusion in Microsoft's DirectX 6.0 led to widespread adoption of the technology among hardware and software makers.
There are five variations of the S3TC algorithm (named DXT1 through DXT5), each designed for specific types of image data. All convert a 4x4 block of pixels to a 64-bit or 128-bit quantity, resulting in compression ratios of 8:1 or 4:1 with 32-bit RGBA input data. S3TC is a lossy compression algorithm, resulting in image quality degradation, but for most purposes the resulting images are more than adequate. (The notable exception is the compression of normal map data, which usually results in annoyingly visible artifacts. ATI's 3Dc compression algorithm is a modification of DXT5 designed to overcome S3TC's shortcomings in this area.)
Like many modern image compression algorithms, S3TC only specifies the method used to decompress images, allowing implementors to design the compression algorithm to suit their specific needs.