Tile-Based 3D Vertex Compression With Lossless Random Access

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Tile based 3D computer graphics systems face challenges in efficiently compressing vertex parameter data due to high memory bandwidth requirements, limited silicon area, and the need for fast, lossless compression with random access capabilities, especially when dealing with complex graphics and large triangles.

Innovation Solution

A method and apparatus for compressing vertex parameter data by dividing multiple byte data into individual bytes, grouping corresponding bytes into blocks, and applying different compression algorithms based on content, allowing for fixed-sized data access and efficient random access without decompressing the entire data set.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If vertex parameter data is compressed to reduce memory bandwidth, then memory requirements are reduced, but random access capability is lost

Engineering Contradiction:
Improvememory bandwidthVSAvoidrandom access capability
Core Design Contradiction:
Quantity of substanceVSEase of operation

Solution Approach 1:

The patent divides vertex parameter data into fixed-size blocks, where each block contains a header and fixed-length parameter data for multiple vertices. This segmentation enables random access to individual blocks without requiring decompression of the entire data set, resolving the contradiction between compression and random access capability.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent transforms variable-length compressed data into fixed-size blocks with standardized headers and parameter fields. By changing the data structure from variable-length to fixed-length, the system enables efficient random access while maintaining compression benefits, as each block can be independently accessed and decompressed.

Inventive Principle:
Principle #35Parameter changes

2Quantity of substance

If complex compression algorithms are used to achieve high compression ratios, then memory bandwidth is reduced, but processing time increases

Engineering Contradiction:
Improvememory bandwidthVSAvoidprocessing time
Core Design Contradiction:
Quantity of substanceVSLoss of time

Solution Approach 1:

The patent performs compression and block organization in advance during the rendering pipeline, creating fixed-size blocks with headers that contain all necessary metadata. This preliminary action allows the compressed data to be stored efficiently and accessed quickly during tile rendering, reducing both memory bandwidth requirements and processing time during actual rendering operations.

Inventive Principle:
Principle #10Preliminary action

3Speed

If vertex parameter data is stored in uncompressed format for fast access, then processing speed is improved, but memory requirements increase

Engineering Contradiction:
Improveprocessing speedVSAvoidmemory requirements
Core Design Contradiction:
SpeedVSQuantity of substance

Solution Approach 1:

By segmenting vertex parameter data into fixed-size blocks with standardized headers, the patent enables the system to load only the specific blocks needed for current tile rendering into fast memory, while the majority of compressed data can remain in slower, high-capacity memory. This segmentation resolves the contradiction by allowing fast access to active data while maintaining compression for the overall data set.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS20250308127A1Random Accessible Lossless Parameter Data Compression for Tile Based 3D Computer Graphics Systems
Publication Date: 2025.10.02 IMAGINATION TECH LTD
  • US20250308127A1 patent drawing
  • US20250308127A1 patent drawing
  • US20250308127A1 patent drawing

AI summary

Data in a processing system is compressed, the data comprising a plurality of values having a same multiple-byte format. Bytes with corresponding byte significance are grouped together to form a plurality of byte blocks, and a byte block of the plurality of byte blocks is compressed using a compression algorithm comprising storing at least one byte from the byte block as a byte origin, and storing at least one remaining byte in the byte block as a difference value from the byte origin.