Texture Data Block Compression via Same-Value Encoding
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current data processing systems face challenges in efficiently storing and accessing texture data in graphics processing due to high storage and bandwidth requirements, particularly in mobile devices, and the need for random access to texture data.
Innovation Solution
The method involves dividing data arrays into blocks and sub-blocks, with header data blocks containing information about sub-blocks, and determining if all data positions in a block have the same value to facilitate better compression and reduce processing and bandwidth needs by eliminating the need for separate sub-block data for identical blocks.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If texture data is stored in a compressed form, then storage and bandwidth requirements are reduced, but random access efficiency deteriorates
Solution Approach 1:
The texture data array is divided into multiple blocks, with each block containing a subset of texture elements. This segmentation allows the system to store and access only the required blocks rather than the entire texture map, reducing storage requirements while maintaining random access efficiency through selective block loading and processing.
2Speed
If texture data is stored in uncompressed form, then random access efficiency is improved, but storage and bandwidth requirements increase
Solution Approach 1:
The patent applies different data representations to different blocks of texture data based on their characteristics. Some blocks may be stored in uncompressed form for rapid access, while others use compressed representations, allowing the system to optimize for both storage efficiency and random access performance on a block-by-block basis rather than applying a uniform approach to the entire texture map.
3Measurement precision
If detailed sub-block data is stored for each block, then data precision is improved, but device complexity increases
Solution Approach 1:
The patent pre-calculates and stores representative data for each block during the texture upload process. This preliminary action allows the graphics processor to later retrieve pre-processed block data without performing complex real-time calculations, thereby maintaining data precision while reducing processing complexity during actual rendering operations.
Data Source
AI summary
A data array to be stored is first divided into a plurality of blocks. Each block is further sub-divided into a set of sub-blocks.Data representing sub-blocks of the data array is stored, together with a header data block for each block that the data array has been divided into.For each block, it is determined whether all the data positions for the block have the same data value associated with them, and, if so, an indication that all of the data positions within the block have the same data value associated with them, and an indication of the same data value that is associated with each of the data positions in the block, is stored in the header data block for that block of the data array.


