Pixel Tile Encoding with Co-organized Variable Length Symbols

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current techniques for reducing color buffer bandwidth in computer graphics systems, such as tiled architecture and buffer compression, are inefficient as they still require significant bandwidth for reading and writing pixels, and compression ratios do not adequately address overdraw issues.

Innovation Solution

A method of encoding and decoding tiles of pixels using variable length encoding and co-organizing symbols in a combined sequence, allowing parallel decoding and reducing bandwidth requirements by optimizing symbol length for efficient data transfer.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of energy

If tiled architecture is used to reduce color buffer bandwidth, then write bandwidth is decreased by factor of 3-10, but each pixel still requires reading and writing in uncompressed form which is expensive

Engineering Contradiction:
Improvewrite bandwidthVSAvoidpixel read/write operations
Core Design Contradiction:
Loss of energyVSDevice complexity

Solution Approach 1:

The pixel buffer is divided into tiles, and each tile is further divided into blocks that are independently encoded. This segmentation allows parallel processing of multiple blocks while reducing the overall bandwidth required for pixel data transfer.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Variable length encoding is applied to pixel data, changing the parameter of data representation from fixed-length to variable-length. This optimizes bandwidth usage by encoding pixels with fewer bits when possible, while maintaining the ability to represent all pixel values accurately.

Inventive Principle:
Principle #35Parameter changes

2Loss of energy

If buffer compression is used to lower color buffer bandwidth, then compression ratio of 50% is achieved, but effective bandwidth remains 3 times the number of pixels which is still too much

Engineering Contradiction:
ImprovebandwidthVSAvoidencoding efficiency
Core Design Contradiction:
Loss of energyVSProductivity

Solution Approach 1:

The buffer is divided into tiles and blocks, enabling parallel encoding of multiple blocks simultaneously. This segmentation strategy increases encoding efficiency and reduces the overall bandwidth required compared to compressing the entire buffer sequentially.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Variable length encoding dynamically adapts the number of bits used for each pixel based on its actual value distribution. This dynamic approach optimizes compression efficiency and reduces bandwidth more effectively than fixed compression ratios.

Inventive Principle:
Principle #15Dynamics

3Loss of energy

If variable length encoding is used for pixel data, then bandwidth requirements are reduced, but decoding complexity increases due to variable symbol lengths

Engineering Contradiction:
ImprovebandwidthVSAvoiddecoding process
Core Design Contradiction:
Loss of energyVSDevice complexity

Solution Approach 1:

Length information for each encoded block is stored beforehand, allowing the decoder to know in advance how many symbols to read for each block. This preliminary action simplifies the decoding process by eliminating the need for complex parsing to determine block boundaries.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

A length field acts as an intermediary between the variable length encoded data and the decoder. This intermediary element provides the necessary information about symbol lengths, enabling straightforward decoding without complex analysis of the encoded stream.

Inventive Principle:
Principle #24Intermediary (Mediator)

4Reliability

If tiles are processed triangle by triangle, then rendering accuracy is maintained, but bandwidth consumption increases due to repeated pixel writes

Engineering Contradiction:
Improverendering accuracyVSAvoidbandwidth
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The rendering process is segmented into tile-level operations rather than triangle-level operations. This allows entire tiles to be processed and written to memory in a single operation, maintaining rendering accuracy while dramatically reducing bandwidth consumption by eliminating repeated pixel writes.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS9014497B2Tile encoding and decoding
Publication Date: 2015.04.21 TELEFONAKTIEBOLAGET LM ERICSSON (PUBL)
  • US9014497B2 patent drawing
  • US9014497B2 patent drawing
  • US9014497B2 patent drawing

AI summary

A tile of pixels is encoded by variable length encoding at least a first block of pixels into a first sequence of symbols and a second block of pixels into a second sequence of symbols. The symbols of the first and second sequences are co-organized into a combined sequence of symbols in which the symbols of the first sequence are readable in a first reading direction and at least a portion of the symbols in the second sequence are readable in a second, opposite reading direction. The encoding of the tile to form one or more combined sequences significantly reduces the bandwidth requirements when writing the tile to a pixel value buffer. The co-organization of the first and second sequences enables parallel reading and decoding of the first and second sequences from the pixel value buffer, thereby reducing any decoding latency.