YUV Texture Cache Grouping for GPU Throughput
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current graphics processing systems face inefficiencies in handling YUV texture data, particularly in terms of storage and retrieval, which affects processing throughput and resource utilization.
Innovation Solution
The method involves storing YUV texture data in a cache such that chrominance and luminance data elements are grouped together, with an identifier indicating their position in the texture, allowing for direct access based on texture position requirements, rather than separate storage and conversion to memory addresses.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If chroma and luma data are stored separately in memory using multi-plane format, then storage efficiency is improved, but data access speed and processing throughput deteriorate due to separate retrieval requirements
Solution Approach 1:
The patent combines chroma and luma data elements into a single cache line structure, allowing both types of data to be stored together and retrieved simultaneously. This merging eliminates the need for separate memory accesses for chroma and luma data, thereby improving processing throughput while maintaining storage efficiency through the cache's unified structure.
Solution Approach 2:
The patent segments the cache line into distinct fields: a chroma data element field and multiple luma data element fields. This segmentation allows the cache to maintain organized, efficient storage of different data types while enabling unified retrieval, resolving the contradiction between structured storage and fast access.
2Quantity of substance
If chroma data is sub-sampled at lower resolution than luma data, then data compression and storage efficiency are improved, but data access complexity increases due to mismatched resolutions
Solution Approach 1:
The cache line structure segments luma data into multiple elements (e.g., four luma elements per chroma element in YUV420 format) while keeping chroma data as single elements. This segmentation naturally accommodates chroma sub-sampling ratios without requiring complex address calculations, as the structure itself reflects the sub-sampling relationship.
Solution Approach 2:
The patent changes the organizational parameter of data storage by grouping multiple luma elements with one chroma element in fixed ratios (1:4 for YUV420, 1:2 for YUV422). This parameter change simplifies data access by making the sub-sampling relationship explicit in the storage structure, eliminating the need for complex address translation logic.
3Stability of the object's composition
If separate memory addresses are used for chroma and luma data, then data organization is improved, but access time increases due to multiple address conversions
Solution Approach 1:
The patent merges chroma and luma data into a single cache line that can be accessed through a unified address. This eliminates the need for separate address generation and conversion for chroma and luma data, reducing access time while maintaining organization through the structured layout of fields within the cache line.
Solution Approach 2:
The cache line acts as an intermediary structure between memory and processing units. It consolidates chroma and luma data that would otherwise require separate memory addresses, providing a single access point that mediates between the complexity of separate storage and the simplicity of unified access.
Data Source
AI summary
In a graphics processing system, when using a graphics texture that is stored in memory as YUV texture data, the YUV texture data is stored in the texture cache from which it is to be read when generating a render output such that the data values for a chrominance data element and its associated set of one or more luminance data elements of the texture are stored together as a group in the cache. The group of data in the cache is tagged with an identifier for the data values of the chrominance data element and its associated set of one or more luminance data elements that is useable to identify the chrominance data element and its associated set of one or more luminance data elements in the cache, and that is indicative of a position in the YUV graphics texture.


