Tessellation Vertex Coordinate Encoding for Graphics Processing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current graphics processing systems face inefficiencies in bandwidth and memory usage due to the 34-bit representation of tessellation vertex coordinate pairs, particularly when using compute-shaders, which requires expansion to 64 bits for memory access, leading to wasted bandwidth and potential loss of resolution.

Innovation Solution

The method involves encoding tessellation vertex coordinate pairs using a second binary representation by mapping them to alternative, unused locations in parameter space, allowing for a reduction in the number of bits used without losing data resolution, thereby reducing bandwidth and memory requirements.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If tessellation vertex coordinate pairs are represented using a 34-bit binary representation, then data resolution is maintained, but bandwidth and memory usage increase significantly

Engineering Contradiction:
Improvedata resolutionVSAvoidbandwidth and memory usage
Core Design Contradiction:
Measurement precisionVSQuantity of substance

Solution Approach 1:

The patent changes the parameter representation from 34-bit to 32-bit by mapping tessellation vertex coordinate pairs to alternative locations in parameter space. This parameter change reduces the quantity of bits while maintaining the ability to represent all valid coordinate pairs, thereby reducing bandwidth and memory usage without sacrificing data resolution for valid tessellation vertices.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The patent extracts and utilizes previously unused or invalid locations in parameter space to encode valid tessellation vertex coordinate pairs. By taking advantage of these previously wasted space locations, the system can represent all valid vertices using fewer bits (32-bit instead of 34-bit), reducing the overall data quantity required while maintaining resolution for actually used vertices.

Inventive Principle:
Principle #2Taking out (Extraction)

2Ease of operation

If tessellation vertex coordinate pairs are expanded to 64 bits for memory access, then compatibility with memory access requirements is achieved, but bandwidth is wasted

Engineering Contradiction:
Improvememory access compatibilityVSAvoidbandwidth waste
Core Design Contradiction:
Ease of operationVSLoss of energy

Solution Approach 1:

The patent changes the data representation parameter to 32-bit format that is naturally compatible with standard memory access requirements. This parameter change eliminates the need for expansion to 64 bits, allowing direct memory access without wasting bandwidth on unnecessary bits while maintaining ease of operation.

Inventive Principle:
Principle #35Parameter changes

3Manufacturing precision

If the number of primitives and vertices is increased to represent object surfaces more accurately, then rendering realism is improved, but processing resources are wasted

Engineering Contradiction:
Improvesurface geometry accuracyVSAvoidprocessing resource efficiency
Core Design Contradiction:
Manufacturing precisionVSProductivity

Solution Approach 1:

The patent changes the data representation parameter to reduce the number of bits required per vertex coordinate. This parameter change allows the system to maintain high surface geometry accuracy with fewer primitives and vertices by reducing the data processing burden, thereby improving processing resource efficiency while preserving rendering quality.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS10089783B2Graphics processing
Publication Date: 2018.10.02 ARM LTD
  • US10089783B2 patent drawing
  • US10089783B2 patent drawing
  • US10089783B2 patent drawing

AI summary

A graphics processing pipeline comprises a tessellation stage that is configured to tessellate a patch into tessellation primitives. When tessellating the patch, the tessellation stage generates tessellation vertex coordinate pairs that define within a parameter space the locations of vertices of the tessellation primitives for the patch. The tessellation vertex coordinate pairs are initially represented using a first binary representation and are then encoded into a more convenient second binary representation, but without any loss of resolution in the data. The step of encoding comprises mapping at least one of the tessellation vertex coordinate pairs to a mapped coordinate pair that can be represented using the second binary representation, wherein the mapped coordinate pair defines a location within an area of the parameter space that would otherwise be unused, invalid and/or unreachable for the vertices of the tessellation primitives for the patch.