Block-Based Lossless Compression of 3D Geometric Data

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Three-dimensional (3D) computer graphics rendering techniques face memory bandwidth limitations due to the large number of geometric primitives in a scene, leading to constrained rendering performance.

Innovation Solution

A method and apparatus for generating decompressed geometric data from a compression block, which includes receiving a compression block storing a header and compressed geometric data for multiple primitives, identifying the location of compressed data within the block using a local index, and decompressing the data based on an anchor value, allowing for efficient access and rendering of 3D scenes.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If geometric data is stored in uncompressed format, then rendering speed is improved, but memory bandwidth consumption increases

Engineering Contradiction:
Improverendering speedVSAvoidmemory bandwidth consumption
Core Design Contradiction:
SpeedVSQuantity of substance

Solution Approach 1:

The patent divides geometric data into fixed-size compression blocks (e.g., 1024 bytes) that can be independently processed. Each block contains a header indicating the number of primitives and their data format, allowing the rendering system to load and decompress only the necessary blocks rather than handling all geometric data at once, thus reducing memory bandwidth consumption while maintaining rendering speed.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent performs compression of geometric data in advance before rendering. By pre-compressing the geometric data into compact blocks with efficient formats (such as using 16-bit integers instead of 32-bit floats where precision allows), the system reduces the amount of data that needs to be transferred from memory during rendering, thereby reducing memory bandwidth consumption while maintaining fast rendering performance.

Inventive Principle:
Principle #10Preliminary action

2Quantity of substance

If geometric data is compressed to reduce memory bandwidth demands, then memory bandwidth consumption is reduced, but data access complexity increases

Engineering Contradiction:
Improvememory bandwidth consumptionVSAvoiddata access complexity
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The patent introduces a decompression unit as an intermediary component between memory and the rendering pipeline. This dedicated hardware unit automatically handles the decompression of geometric data blocks, transparently converting compressed data into the format required by the rendering engine. This intermediary approach reduces memory bandwidth consumption while preventing data access complexity from affecting the main rendering logic.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent extracts the compression and decompression operations from the main rendering pipeline into separate, dedicated processing units. By isolating these complex operations into specialized hardware blocks with their own control logic and data paths, the system reduces memory bandwidth consumption through efficient compression while containing the access complexity within dedicated modules rather than propagating it throughout the entire rendering system.

Inventive Principle:
Principle #2Taking out (Extraction)

3Quantity of substance

If compression blocks are used to store geometric data, then memory bandwidth efficiency is improved, but processing time for decompression increases

Engineering Contradiction:
Improvememory bandwidth efficiencyVSAvoiddecompression processing time
Core Design Contradiction:
Quantity of substanceVSLoss of time

Solution Approach 1:

The patent segments geometric data into fixed-size compression blocks that can be processed in parallel. By organizing data into uniform blocks with standardized headers and formats, the system enables multiple blocks to be decompressed simultaneously by multiple processing units, thereby improving memory bandwidth efficiency while preventing decompression processing time from increasing linearly with scene complexity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent employs multiple compression formats with different compression ratios and decompression complexities, selecting the appropriate format based on the specific geometric data characteristics. By changing compression parameters (such as precision requirements, block size, and format type) to match the scene requirements, the system improves memory bandwidth efficiency for complex scenes while maintaining acceptable decompression processing times by using simpler formats when appropriate.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS10866990B2Block-based lossless compression of geometric data
Publication Date: 2020.12.15 NVIDIA CORP
  • US10866990B2 patent drawing
  • US10866990B2 patent drawing
  • US10866990B2 patent drawing

AI summary

An apparatus, computer readable medium, and method are disclosed for decompressing compressed geometric data stored in a lossless compression format. The compressed geometric data resides within a compression block sized according to a system cache line. An indirection technique maps a global identifier value in a linear identifier space to corresponding variable rate compressed data. The apparatus may include decompression circuitry within a graphics processing unit configured to perform ray-tracing.