Foveated Rendering via Saccade Prediction and Late GPU Update

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In virtual reality (VR) environments, the movement of a user's eyes can be quicker than the updating of the rendering pipeline, leading to blurry images as peripheral areas are rendered at lower resolution only after the eye has moved to them, causing a delay in image clarity.

Innovation Solution

A method is implemented to predict the landing point of a saccade using gaze tracking information, allowing for a late update of this prediction to a buffer accessible by the GPU, enabling immediate use in rendering a foveal region at high resolution, synchronized with the user's eye movement.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Use of energy by moving object

If the rendering pipeline updates peripheral areas at lower resolution to save power, then power consumption is reduced, but image clarity lags behind eye movement causing blur

Engineering Contradiction:
Improvepower consumptionVSAvoidimage clarity
Core Design Contradiction:
Use of energy by moving objectVSManufacturing precision

Solution Approach 1:

The system performs preliminary action by predicting the saccade landing point before the eye actually reaches it. The GPU receives the predicted landing point information in advance and begins rendering the foveal region at high resolution before the eye movement completes, ensuring image clarity is ready when the user's focus arrives.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system dynamically adjusts rendering resolution based on predicted eye movement. Instead of static peripheral rendering, the system uses saccade prediction to dynamically shift the high-resolution foveal region to match the predicted landing point, creating a dynamic rendering strategy that adapts to user gaze patterns.

Inventive Principle:
Principle #15Dynamics

2Productivity

If the rendering pipeline uses lower resolution for peripheral areas, then processing resources are saved, but the image becomes blurry when the eye moves to those areas

Engineering Contradiction:
Improveprocessing efficiencyVSAvoidimage resolution
Core Design Contradiction:
ProductivityVSManufacturing precision

Solution Approach 1:

The CPU predicts the saccade landing point in advance and provides this information to the GPU before the eye reaches the target area. This preliminary action allows the GPU to prepare high-resolution rendering for the upcoming foveal region, ensuring processing efficiency is maintained while image resolution is optimized at the right moment.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system applies local quality by rendering only the predicted foveal region at high resolution while maintaining lower resolution in peripheral areas. This selective rendering approach optimizes processing efficiency by concentrating computational resources on the specific region where the user's eye will focus, rather than uniformly rendering the entire scene.

Inventive Principle:
Principle #3Local quality

3Manufacturing precision

If the system renders at high frame rate to match eye movement speed, then image clarity keeps up with eye movement, but power consumption increases

Engineering Contradiction:
Improveimage clarityVSAvoidpower consumption
Core Design Contradiction:
Manufacturing precisionVSUse of energy by moving object

Solution Approach 1:

The system uses preliminary action by predicting where the eye will move next and pre-rendering that region. This allows the system to maintain image clarity at the predicted landing point without continuously rendering the entire scene at high resolution, thereby reducing overall power consumption while keeping the foveal region sharp.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system applies partial action by rendering only the necessary portion of the scene at high resolution—the predicted foveal region—rather than the entire view. This selective rendering approach maintains image clarity where needed while avoiding the excessive power consumption that would result from rendering the complete scene at high frame rates.

Inventive Principle:
Principle #16Partial or excessive action

4Manufacturing precision

If the system uses saccade prediction and late update to GPU, then image clarity aligns with eye movement, but system complexity increases

Engineering Contradiction:
Improveimage clarityVSAvoidsystem complexity
Core Design Contradiction:
Manufacturing precisionVSDevice complexity

Solution Approach 1:

The system performs preliminary saccade detection and landing point prediction in the CPU before transferring information to the GPU. This preliminary action organizes the complexity upfront, allowing the GPU to receive ready-to-use predicted landing point data and focus solely on high-resolution rendering of the predicted foveal region, thereby managing system complexity through structured preprocessing.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system uses an intermediary approach by having the CPU perform saccade detection and prediction, then transfer the processed landing point information to the GPU. This intermediary data transfer mechanism separates the complex prediction logic from the rendering workload, allowing each component to specialize and reducing overall system complexity through functional decomposition.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS12189850B2Generating and rendering primitives in a frame period with late update of eye tracking information for fast foveated rendering
Publication Date: 2025.01.07 SONY INTERACTIVE ENTERTAINMENT LLC
  • US12189850B2 patent drawing
  • US12189850B2 patent drawing
  • US12189850B2 patent drawing

AI summary

A method for updating information for a graphics pipeline including executing in the first frame period an application on a CPU to generate primitives of a scene for a first video frame. Gaze tracking information is received in a second frame period for an eye of a user. In the second frame period a landing point on an HMD display is predicted at the CPU based at least on the gaze tracking information. A late update of the predicted landing point to a buffer accessible by the GPU is performed in the second frame period. Shader operations are performed in the GPU in the second frame period to generate pixel data based on the primitives and based on the predicted landing point, wherein the pixel data is stored into a frame buffer. The pixel data is scanned out in the third frame period from the frame buffer to the HMD.