Tile-Based Graphics Processing With Accumulation Buffer Compression
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In tile-based graphics processing systems, the mismatch between tile sizes and compression unit sizes complicates efficient data encoding, leading to incomplete or partial compression units, which hampers effective data storage and transfer.
Innovation Solution
An accumulation buffer is introduced between the tile buffer and the data encoder to ensure complete compression units are formed before encoding, using a block-based compression scheme to simplify the encoding process and improve data storage efficiency.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of energy
If tile-based graphics processing is used to reduce data transfer to memory, then data transfer efficiency is improved, but the mismatch between tile sizes and compression unit sizes creates encoding complexity
Solution Approach 1:
An accumulation buffer is introduced as an intermediary component between the tile buffer and the data encoder. This accumulation buffer temporarily stores tile data and accumulates it until a complete compression unit is formed, thereby mediating the size mismatch between tiles and compression units. The accumulation buffer resolves the encoding complexity by ensuring that data is only passed to the encoder when it forms a complete compression unit, maintaining efficient compressed storage without requiring complex encoding logic.
2Quantity of substance
If compression is applied to reduce memory storage requirements, then storage efficiency is improved, but incomplete compression units arise due to size mismatch
Solution Approach 1:
The accumulation buffer performs preliminary accumulation of tile data before encoding occurs. It continuously accumulates tile data in memory until a complete compression unit is formed, ensuring that the encoder always receives complete units for compression. This preliminary action prevents incomplete compression units from being passed to the encoder, maintaining compression integrity while maximizing storage efficiency through compressed formatting.
3Speed
If tile data is written directly to memory without intermediate buffering, then processing speed is improved, but compression unit alignment cannot be ensured
Solution Approach 1:
The accumulation buffer serves as a mediator between the tile buffer and memory system. It receives tile data from the tile buffer and holds it temporarily, allowing multiple tiles to be accumulated until they form complete compression units. This intermediate buffering ensures proper compression unit alignment without significantly impacting processing speed, as the buffer operates in parallel with the rendering pipeline and only delays encoding when necessary to complete a compression unit.
Data Source
AI summary
A tile-based graphics processor comprises a data encoder configured to perform block-based compression of uncompressed tile data to be written from a tile buffer to a memory system and an accumulation buffer that receives tile data from the tile buffer 303 and provides tile data to the data encoder for encoding. The data encoder is configured to encode compression units of uncompressed data having a particular size for storing in a memory system in a compressed format, and the accumulation buffer is configured to provide arrays of data that are equal to the particular size to the data encoder for encoding.


