Time for 3D imagery to have its own codec

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 en­vironmental mapping, memory stor­age and loading has been increasing. Add to that bump mapping and mul­tiple copies used in mip-mapping, and you’ve got a busy little GPU and frame buffer.

A 3D image at various resolutions in ASTC. (Source: Khronos Group)

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 algo­rithms (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 ac­quired by VIA Technologies, was sold to HTC for $300 million so HTC could pro­tect 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 mem­bers 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 scal­able 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). Re­gardless of the naming conventions, both concepts and more were consid­ered, and AMD contributed some IP into ARM’s ASTC. The Khronos com­mittee took the best from all of them and selected ASTC.

ASTC is an exceptionally efficient compression technology that allows en­coding of a wide variety of texture for­mats 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 for­mats,” he said.

Codecs have existed for all forms of media except for 3D. This is an item next up on the Khronos agenda.

ASTC supports mono­chrome, luminance-alpha, RGB, and RGBA formats, as well as X+Y and XY+Z for­mats for surface normals, and provides the flexibility for any format to be encoded at any bit rate. Uniquely, the encod­ing method is chosen indepen­dently for each block of pixels in the image, so that the coding adapts dynamically to most ef­ficiently represent the image region by region. Advanced fractional-bit encoding and dy­namic trade-offs between the different types of data in each block means that ASTC out­performs all currently available texture compression schemes in image quality and GPU power consumption while processing compressed textures.

Effective texture compres­sion 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 com­pression, and it has to include the alpha plane—ASTC brings that flexibility. And developers need the same texture com­pression everywhere. Other­wise 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 ad­opted—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 ver­sion.

It is hoped ASTC will provide a neu­tral option that will be used through­out 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.