Data Array Block Storage with Size Indications for Random Access
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing data storage methods for texture data in computer graphics systems face challenges in managing high storage and bandwidth requirements, particularly in mobile devices, due to variable compression rates and the need for random access to variable-sized data arrays.
Innovation Solution
A method and apparatus that divide data arrays into blocks with size indications, allowing for efficient storage and random access by using a two-level header/data block size encoding arrangement, where overall group size is stored separately along with individual block sizes, enabling flexible storage and retrieval without decompressing entire arrays.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If texture data is stored in compressed form to reduce storage and bandwidth requirements, then storage efficiency improves, but random access capability deteriorates due to variable block sizes
Solution Approach 1:
The patent divides the compressed texture data into fixed-size blocks with metadata headers. Each block contains a header indicating the size and offset of compressed data segments, allowing the system to access specific blocks independently without decompressing entire arrays. This segmentation enables random access to variable-sized compressed data while maintaining storage efficiency.
2Quantity of substance
If variable compression rates are applied to texture data to reduce storage size, then storage efficiency improves, but data access complexity increases due to variable block sizes
Solution Approach 1:
The patent pre-calculates and stores metadata headers for each compressed data block during the compression phase. These headers contain information about block sizes, offsets, and compression parameters. By preparing this access information in advance, the system eliminates the need for complex runtime calculations when accessing compressed data, thereby reducing access complexity while maintaining storage efficiency.
3Ease of operation
If entire compressed texture arrays are fetched to memory to enable random access, then random access capability improves, but bandwidth consumption increases
Solution Approach 1:
The patent extracts only the necessary metadata headers from the compressed data structure and stores them separately in an accessible format. These headers contain the information needed to locate and retrieve specific compressed blocks without fetching the entire texture array. This extraction approach enables random access to individual blocks while minimizing bandwidth consumption by transferring only essential access information.
Data Source
AI summary
When storing an array of data in memory, the data array is divided into a plurality of blocks, and for respective groups of the blocks that the data array has been divided into, a set of data representing the group of blocks that includes: for each block of the group of blocks, a set of data for that block of the group of blocks; and a size indication for each of one or more of the blocks of the group of blocks, the size indication for a block of a group of blocks indicating the size in memory of the set of data for that block of the group included in the stored set of data representing the group of blocks, is stored. A set of header data is also stored separately for each group of blocks of the data array.


