Compression is a key technology for the advancement of 3D. The Khronos Group is pushing ASTC to take the industry to the next level.
By Jon Peddie
Ever since Ed Catmull introduced the concept of texture mapping in the early 1970s and James Blinn did environmental mapping, memory storage and loading has been increasing. Add to that bump mapping and multiple copies used in mip-mapping, and you’ve got a busy little GPU and frame buffer.
Back in 1997 when they were still a significant graphics chip company, S3 developed S3 Texture Compression (S3TC) and a group of related lossy texture compression algorithms (sometimes also called DXTn or DXTC), which it got patented. It was a decent solution and welcomed by all. S3 charged a small license fee for the technique, and things were good in the valley. S3 got the patent re-evaluated in the late 1990s. Microsoft even included it in DirectX 6 onward.
Since then, new ideas have emerged, companies like Apple have become the 500-pound litigious gorilla, and others have been assembling IP to protect their companies. S3, which got sort of acquired by VIA Technologies, was sold to HTC for $300 million so HTC could protect itself from Apple’s legal attacks. The validity or merit of those arguments is beyond the humble analysis of this report, but the actions did cause Khronos and its members to step up their efforts to find an alternative to S3TC. The industry needed a codec for 3D, and Khronos was the logical place for it to come from.
Various members of Khronos had ideas to offer. Nvidia had ZIL, and ARM had something called adaptive scalable texture compression—ASTC. ZIL doesn’t stand for anything—it’s not an acronym, and the inventor claimed it referenced an old sci-fi story about the Forest of Zil (Kris Nevill, 1967). Regardless of the naming conventions, both concepts and more were considered, and AMD contributed some IP into ARM’s ASTC. The Khronos committee took the best from all of them and selected ASTC.
ASTC is an exceptionally efficient compression technology that allows encoding of a wide variety of texture formats at rates of 8 bits per pixel to below 1 bit per pixel. Published as a Khronos extension, ASTC enables deep reductions in GPU memory bandwidth and application memory footprint, said Tom Olson, chair of the OpenGL ES working group. “This new technology offers a huge step up in image quality compared to the leading existing formats,” he said.
ASTC supports monochrome, luminance-alpha, RGB, and RGBA formats, as well as X+Y and XY+Z formats for surface normals, and provides the flexibility for any format to be encoded at any bit rate. Uniquely, the encoding method is chosen independently for each block of pixels in the image, so that the coding adapts dynamically to most efficiently represent the image region by region. Advanced fractional-bit encoding and dynamic trade-offs between the different types of data in each block means that ASTC outperforms all currently available texture compression schemes in image quality and GPU power consumption while processing compressed textures.
Effective texture compression can save resources by using less network bandwidth to download games and apps, and then storing smaller apps in memory. That results in less GPU memory bandwidth to access textures.
Developers need tight compression, and it has to include the alpha plane—ASTC brings that flexibility. And developers need the same texture compression everywhere. Otherwise portable apps—such as WebGL—need multiple copies of the same texture. So Khronos now has a pipeline of standardized texture compression: ETC2/EAC is mandated now for OpenGL ES 3.0 and OpenGL 4.3; ASTC will hopefully be widely adopted—it’s shipping as an extension now.
There is also an extension for low dynamic (LDR) range that supports only 2D images, and in a future version there will be a high-dynamic range version.
It is hoped ASTC will provide a neutral option that will be used throughout the industry and all platforms. Files and applications will work the same everywhere, and there will be peace and harmony in the valley and all over the world.