Octahedral Ray Direction Encoding for Low-Latency Ray Tracing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Ray tracing systems require significant processing power and memory, making real-time rendering on devices with limited resources, such as mobile devices, challenging due to the high memory and power consumption associated with storing and processing large amounts of ray data.

Innovation Solution

Compressing ray direction data using an octahedral vector format, which reduces the number of bits required to represent ray directions, and simplifying decompression by avoiding normalization, thereby decreasing latency and power consumption.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If ray direction data is stored using standard floating point format (32-bit per component), then processing precision is maintained, but memory usage and data transmission volume increase significantly

Engineering Contradiction:
Improveray direction representation precisionVSAvoidmemory usage
Core Design Contradiction:
Measurement precisionVSQuantity of substance

Solution Approach 1:

The patent changes the parameter representation from standard floating point to compressed octahedral normal format. Ray directions are represented by projecting them onto an octahedron and encoding with only two parameters (u, v) instead of three floating point components, reducing memory usage while maintaining sufficient precision for rendering applications.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The patent transforms the 3D ray direction vector into a 2D representation by projecting onto the octahedron surface and unfolding it into a square parameter space. This dimensional reduction allows the same directional information to be stored more efficiently, reducing the data volume from 12 bits per component to approximately 8 bits per component.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Reliability

If ray direction data is decompressed by normalizing the vector, then accurate ray tracing is achieved, but processing time and power consumption increase

Engineering Contradiction:
Improveray tracing accuracyVSAvoidprocessing latency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent performs the octahedral projection and parameter encoding in advance during the ray generation stage, before the data needs to be used for intersection testing. This preliminary compression eliminates the need for normalization during the critical rendering path, reducing processing latency while maintaining accuracy through the pre-computed compressed representation.

Inventive Principle:
Principle #10Preliminary action

3Productivity

If more ray data is stored in memory for parallel processing, then rendering speed improves, but power consumption and silicon area requirements increase

Engineering Contradiction:
Improverendering throughputVSAvoidpower consumption
Core Design Contradiction:
ProductivityVSUse of energy by moving object

Solution Approach 1:

By changing the data representation to compressed octahedral normals, the patent reduces the bits required per ray direction from 96 bits (three 32-bit floats) to approximately 64 bits. This parameter change allows the same amount of ray data to fit in smaller memory structures, reducing the total memory capacity needed and consequently the power consumption and silicon area for storing large datasets for parallel processing.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentEP4053799B1Compressed ray direction data in a ray tracing system
Publication Date: 2025.10.22 IMAGINATION TECH LTD
  • EP4053799B1 patent drawingFigure 1
  • EP4053799B1 patent drawingFigure 2
  • EP4053799B1 patent drawingFigure 3~4d

AI summary

Ray tracing systems process rays through a 3D scene to determine intersections between rays and geometry in the scene, for rendering an image of the scene. Ray direction data for a ray can be compressed, e.g. into an octahedral vector format. The compressed ray direction data for a ray may be represented by two parameters (u,v) which indicate a point on the surface of an octahedron. In order to perform intersection testing on the ray, the ray direction data for the ray is unpacked to determine x, y and z components of a vector to a point on the surface of the octahedron. The unpacked ray direction vector is an unnormalised ray direction vector. Rather than normalising the ray direction vector, the intersection testing is performed on the unnormalised ray direction vector. This avoids the processing steps involved in normalising the ray direction vector.