Tile List Compression for 3D Rendering Memory Optimization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional multimedia processors for 3D rendering are computationally intensive and power-hungry, making them unsuitable for mobile applications due to high power consumption and memory requirements, especially when handling large video data.

Innovation Solution

A system and method for compressing tile lists used in 3D rendering, which involves generating coordinates and differentially encoding indices and vertex coordinates within a view-space, allowing for tile-based rendering in two phases: tile binning and tile rendering, to conserve memory and improve cache access time.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If conventional multimedia processors are used for 3D rendering, then processing capability is improved, but power consumption increases

Engineering Contradiction:
Improve3D rendering processing capabilityVSAvoidpower consumption
Core Design Contradiction:
ProductivityVSUse of energy by moving object

Solution Approach 1:

The rendering process is divided into tiles, with each tile processed independently. This segmentation allows the system to process only the necessary portions of the image, reducing overall computational load and power consumption while maintaining rendering quality.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Tile lists are pre-computed and compressed before rendering. By preparing the rendering data in advance and optimizing its structure, the system reduces real-time processing requirements, thereby lowering power consumption during actual rendering operations.

Inventive Principle:
Principle #10Preliminary action

2Productivity

If conventional multimedia processors are used for 3D rendering, then processing capability is improved, but memory requirements increase

Engineering Contradiction:
Improve3D rendering processing capabilityVSAvoidmemory requirements
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

By dividing the rendering task into tiles, the system reduces the amount of data that needs to be stored and processed in memory at any given time. Only the necessary tile information is retained, significantly reducing memory requirements compared to conventional approaches.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The tile list data structure is optimized by changing parameters such as data precision and compression ratios. This allows the system to maintain rendering quality while using less memory, as the compressed tile lists require fewer resources to store and process.

Inventive Principle:
Principle #35Parameter changes

3Quantity of substance

If tile lists are compressed, then memory usage is reduced, but processing complexity increases

Engineering Contradiction:
Improvememory usageVSAvoidprocessing complexity
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The compression and decomposition of tile lists is performed as a preliminary action during the rendering pipeline setup. By handling the complexity of data compression in advance, the actual rendering process benefits from simplified, pre-processed data without adding complexity to the core rendering operations.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

A dedicated tile list compression module acts as an intermediary between the rendering engine and memory. This specialized component handles the complexity of compression and decompression, isolating these operations from the main rendering pipeline and simplifying the overall system architecture.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS8619085B2Method and system for compressing tile lists used for 3D rendering
Publication Date: 2013.12.31 AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE LTD
  • US8619085B2 patent drawing
  • US8619085B2 patent drawing
  • US8619085B2 patent drawing

AI summary

A graphics processing device may generate coordinates for vertices of graphics primitives in a view-space. Tiles are defined within the view-space and are associated with tile lists. Primitives and/or vertices which overlap a tile are determined. Tile lists comprise differentially encoded indices and/or spatial coordinates for overlapping primitives. The differential encoding may or may not be byte aligned. During tile mode graphics rendering, tile lists are utilized to reference vertex attributes and/or primitives. Graphics rendering comprises a tile binning phase and a tile rendering phase. The primitives may comprise a triangle and/or joined triangles that share one or more vertices. For multiple joined primitives, information about shared vertices may be encoded without repetition for each primitive. Coordinates and/or corresponding weights for new vertices are encoded in a tile list and utilized for interpolating properties of the new vertices based on attributes of the original vertices.