ASTC Texture Decoder Using Shared Data for Parallel Texels
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Decoding texture data compressed in the Adaptive Scalable Texture Compression (ASTC) format requires multiple decoders to process multiple texels simultaneously, which is costly in terms of hardware resources and silicon area.
Innovation Solution
A multi-output decoder that decodes multiple texels from a block of texture data using shared intermediate data, such as configuration, color endpoint, and interpolation weight data, reducing the need for redundant hardware by using common intermediate data across multiple decoding operations.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If multiple single-output decoders are used to decode multiple texels simultaneously, then the decoding throughput is improved, but the hardware resources and silicon area increase proportionally
Solution Approach 1:
The patent merges multiple decoding operations into a single multi-output decoder by sharing common functional units (parameter decode unit, colour decode unit, weight decode unit, interpolator units) across multiple texel decoding tasks. This allows simultaneous decoding of multiple texels while avoiding proportional increases in hardware resources, as the shared units serve multiple output channels.
Solution Approach 2:
The decoder implements universal functional units that can serve multiple purposes: the parameter decode unit decodes configuration data for multiple texels, the colour decode unit processes colour endpoint data for multiple texels, and the weight decode unit handles interpolation weight data for multiple texels. This multi-functionality enables a single decoder to replace multiple single-output decoders.
2Productivity
If multiple single-output decoders are used to decode multiple texels simultaneously, then the decoding throughput is improved, but the silicon area increases proportionally
Solution Approach 1:
The patent merges multiple decoding operations into a single multi-output decoder by sharing common functional units (parameter decode unit, colour decode unit, weight decode unit, interpolator units) across multiple texel decoding tasks. This allows simultaneous decoding of multiple texels while avoiding proportional increases in hardware resources, as the shared units serve multiple output channels.
3Productivity
If multiple single-output decoders are used to decode multiple texels simultaneously, then the decoding throughput is improved, but the hardware cost increases
Solution Approach 1:
The patent merges multiple decoding operations into a single multi-output decoder by sharing common functional units (parameter decode unit, colour decode unit, weight decode unit, interpolator units) across multiple texel decoding tasks. This allows simultaneous decoding of multiple texels while avoiding proportional increases in hardware resources, as the shared units serve multiple output channels.
Solution Approach 2:
The decoder implements universal functional units that can serve multiple purposes: the parameter decode unit decodes configuration data for multiple texels, the colour decode unit processes colour endpoint data for multiple texels, and the weight decode unit handles interpolation weight data for multiple texels. This multi-functionality enables a single decoder to replace multiple single-output decoders.
Data Source
AI summary
A decoder decodes a plurality of texels from a received block of texture data encoded according to the Adaptive Scalable Texture Compression (ASTC) format. A parameter decode unit decodes configuration data for the received block of texture data, a colour decode unit decodes colour endpoint data for the plurality of texels in dependence on the configuration data, a weight decode unit decodes interpolation weight data for each of the plurality of texels in dependence on the configuration data, and at least one interpolator unit calculates a colour value for each of the plurality of texels using the interpolation weight data for that texel and a pair of colour endpoints from the colour endpoint data. At least one of the parameter decode unit, colour decode unit and weight decode unit decodes intermediate data from the received block that is common to the decoding of a subset of texels of that block and uses that decoded data as part of the decoding of at least two of the plurality of texels.


