Adaptive Ray Allocation for Low-Noise Graphics Processing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing ray tracing techniques in graphics processing result in noisy frames due to limited denoising capabilities, particularly in regions with disocclusions, leading to reduced image quality.

Innovation Solution

A method and system for graphics processing that allocates varying numbers of rays to different regions of a render output based on a ray tracing budget, using thread groups to trace rays efficiently, with more rays allocated to areas that benefit from additional sampling, such as disocclusions, specular highlights, and soft shadows.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Manufacturing precision

If more rays are traced for each sampling position to improve image quality, then image quality is improved, but computational cost increases

Engineering Contradiction:
Improveimage qualityVSAvoidcomputational cost
Core Design Contradiction:
Manufacturing precisionVSUse of energy by moving object

Solution Approach 1:

The patent applies local quality by differentiating ray tracing allocation across different regions of the render output. Critical regions such as disocclusions, specular highlights, and soft shadow areas receive higher ray tracing budgets, while non-critical regions receive fewer rays. This spatially varying quality approach ensures computational resources are concentrated where they most impact image quality, resolving the contradiction between overall image quality improvement and computational cost control.

Inventive Principle:
Principle #3Local quality

2Productivity

If a fixed number of rays is traced for each sampling position, then computational efficiency is maintained, but image quality suffers in critical areas

Engineering Contradiction:
Improvecomputational efficiencyVSAvoidimage quality
Core Design Contradiction:
ProductivityVSManufacturing precision

Solution Approach 1:

The patent implements dynamics by making the ray tracing budget adaptive rather than static. The system dynamically adjusts the number of rays traced per sampling position based on region-specific quality metrics and importance weighting. This allows the computational allocation to flexibly respond to scene characteristics, maintaining efficiency while improving quality in critical areas through adaptive resource distribution.

Inventive Principle:
Principle #15Dynamics

3Manufacturing precision

If temporal accumulation is used for denoising, then noise reduction is improved, but performance deteriorates in regions with scene changes

Engineering Contradiction:
Improvenoise reductionVSAvoidperformance in dynamic regions
Core Design Contradiction:
Manufacturing precisionVSAdaptability or versatility

Solution Approach 1:

The patent addresses this contradiction by applying local quality to the denoising process itself. Instead of uniform temporal accumulation across the entire frame, the system selectively applies temporal denoising based on region stability. In disoccluded or dynamically changing regions, temporal accumulation is reduced or bypassed, while stable regions benefit from full temporal denoising. This localized approach preserves noise reduction benefits where applicable while maintaining adaptability in dynamic regions.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS20250336141A1Graphics processing
Publication Date: 2025.10.30 ARM LTD
  • US20250336141A1 patent drawing
  • US20250336141A1 patent drawing
  • US20250336141A1 patent drawing

AI summary

When performing ray tracing in a graphics processing system, relative numbers of rays to be traced for different regions of a render output are determined. M groups threads, are then allocated to a region of the render output. The number of rays to be traced by each of the threads for a respective allocated subregion of the region is determined, based on the relative number of rays to be traced for the region and a ray tracing budget B for the render output. Ray tracing is then performed for the region, including each thread tracing the determined number of rays.