This relates to graphics processing.
Reducing memory bandwidth is of utmost importance when designing a graphics architecture, as energy efficiency is the performance factor that weighs most heavily in hardware design. Transactions over memory buses may cost several orders of magnitude more than computation in terms of energy and latency. Hence, it is common to attempt to reduce bandwidth usage at the expense of more computations, thereby reducing power consumption and/or increasing overall performance. This is the motivation behind buffer compression algorithms, commonly found in graphics processing units (GPUs).
For color buffer compression, the algorithm must succeed in compressing the color data of each tile (e.g., a rectangular region of pixels) down to some threshold size if it is to be useful. For example, a tile that uses 1024 bits in uncompressed form may need to compress down to 512 bits if anything is to be gained from the compression (the sizes of compressed/uncompressed tiles vary based on the architecture and are typically related to constraints of the memory system). Hence, the more tiles that can be compressed down to those thresholds (512 bits in this example), the less bandwidth to memory is used. This ratio between the tiles that can be compressed, and the total number of tiles is called the compression rate, and it is an important metric when evaluating the efficiency of a compression algorithm. There may be several different thresholds, e.g., compressing from 2048 bits down to multiples of 512 bits: 1536 bits, or 1024 bits, or 512 bits. In this case, they may be prioritized starting at the lowest threshold (i.e. 512 in this case).
A typical color buffer compression algorithm may find the minimum color components in the tile, and then use as few bits as possible to encode the residuals relative to the minimum color component per channel. Those schemes are sometimes called offset compression methods. Note that the graphics application program interfaces (APIs) (OpenGL and DirectX) require that the color buffer is lossless, i.e., no information may be destroyed in the compression/decompression process.
USPTO Backgrounds
USPTO Backgrounds