IP Library Granted Patent US 12,367,549
Granted Patent B2
US 12,367,549 · App. 17/888,253 · Granted Jul 22, 2025

Motion vector refinement for temporally amortized supersampling

Inventors: SungYe Kim (Folsom, CA); Tobias Zirr (Karlsruhe, DE)
Assignee: Intel Corporation
G06T3/4076G06T1/20G06T3/18G06T3/4046G06T15/503
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,367,549
App. No.
17/888,253
Granted
Jul 22, 2025
Kind
B2
Abstract

A residual network is used to predict a set of residual motion vectors that provide additional motion data for portions of the frame for which motion vectors are not provided, such as animated textures, mirrored/reflected objects, and/or moving objects without motion information.

Claims (58)

1. A graphics processor comprising:

a set of processing resources configured to perform a supersampling anti-aliasing operation via a mixed precision convolutional neural network, the set of processing resources including circuitry configured to:

receive, at an input block of a first neural network model, a set of data including previous frame data, current frame data, and velocity data, wherein the previous frame data includes one or more previously generated output frames, the current frame data includes output of a raster and lighting stage of a render pipeline, and the velocity data includes motion vectors generated by the render pipeline;

pre-process the set of data to generate pre-processed data, wherein to pre-process the set of data includes to generate residual motion vectors via a second neural network model;

provide first pre-processed data to a feature extraction network of the first neural network model and second-processed data to an output block of the first neural network model, the first pre-processed data at a first precision and the second pre-processed data at a second precision that is higher than the first precision;

process the pre-processed data at the feature extraction network via one or more encoder stages and one or more decoder stages;

output tensor data from the feature extraction network to the output block; and

generate an output frame via the output block based on the second pre-processed data from the input block and the tensor data output from the feature extraction network, wherein the output frame is an anti-aliased frame.

2. The graphics processor as in claim 1 , wherein to generate the pre-processed data includes to:

generate the residual motion vectors via the second neural network based on the current frame data, previous frame data, and the motion vectors;

combine the motion vectors and the residual motion vectors to create refined motion vectors;

warp the previous frame data based on the refined motion vectors to generate warped history data;

align the warped history data with the current frame data to generate aligned history data; and

shuffle the aligned history data and current frame data from a spatial dimension to a channel dimension.

3. The graphics processor as in claim 2 , wherein the channel dimension includes a depth channel or multiple feature map channels.

4. The graphics processor as in claim 2 , wherein to generate an output frame via the output block includes to generate the output frame via one or more convolution layers of the output block.

5. The graphics processor as in claim 2 , wherein to generate an output frame via the output block includes to predict a set of per-pixel kernel values and blend weights, filter the current frame data via the per-pixel kernel values, and blend the aligned history data with filtered current frame data.

6. The graphics processor as in claim 2 , wherein the circuitry is configured to upscale the output of the raster and lighting stage from a first resolution to a second resolution that is higher than the first resolution before the current frame data is provided to the input block of the first neural network model.

7. The graphics processor as in claim 2 , wherein to generate the pre-processed data includes to upscale the output of the raster and lighting stage from a first resolution to a second resolution that is higher than the first resolution.

8. The graphics processor as in claim 2 , wherein to generate the pre-processed data additionally includes to apply a convolution and an activation function to shuffled aligned history data and current frame data.

9. A method comprising:

receiving, at an input block of a first neural network model, a set of data including previous frame data, current frame data, and velocity data, wherein the previous frame data includes one or more previously generated output frames, the current frame data includes output of a raster and lighting stage of a render pipeline, and the velocity data includes motion vectors generated by the render pipeline;

pre-processing the set of data to generate pre-processed data, wherein to pre-process the set of data includes to generate residual motion vectors via a second neural network model;

providing first pre-processed data to a feature extraction network of the first neural network model and second-processed data to an output block of the first neural network model, the first pre-processed data at a first precision and the second pre-processed data at a second precision that is higher than the first precision;

processing the pre-processed data at the feature extraction network via one or more encoder stages and one or more decoder stages;

outputting tensor data from the feature extraction network to the output block; and

generating an output frame via the output block based on the second pre-processed data from the input block and the tensor data output from the feature extraction network, wherein the output frame is an anti-aliased frame.

10. The method as in claim 9 , wherein generating the pre-processed data includes:

generating the residual motion vectors via the second neural network based on the current frame data, previous frame data, and the motion vectors;

combining the motion vectors and the residual motion vectors to create refined motion vectors;

warping the previous frame data based on the refined motion vectors to generate warped history data;

aligning the warped history data with the current frame data to generate aligned history data; and

shuffling the aligned history data and current frame data from a spatial dimension to a channel dimension.

11. The method as in claim 10 , wherein the channel dimension includes a depth channel or multiple feature map channels and generating pre-processed data additionally includes applying a convolution and an activation function to shuffled aligned history data and current frame data.

12. The method as in claim 10 , wherein generating an output frame via the output block includes generating the output frame via one or more convolution layers of the output block.

13. The method as in claim 10 , wherein generating an output frame via the output block includes to predict a set of per-pixel kernel values and blend weights, filter the current frame data via the per-pixel kernel values, and blend the aligned history data with filtered current frame data.

14. The method as in claim 10 , further comprising upscaling the output of the raster and lighting stage from a first resolution to a second resolution that is higher than the first resolution before the current frame data is provided to the input block of the first neural network model.

15. The method as in claim 10 , wherein generating the pre-processed data includes upscaling the output of the raster and lighting stage from a first resolution to a second resolution that is higher than the first resolution.

16. A data processing system comprising:

a memory device; and

a graphics processor coupled with the memory device, the graphics processor comprising a set of processing resources configured to perform a supersampling anti-aliasing operation via a mixed precision convolutional neural network, the set of processing resources including circuitry configured to:

receive, at an input block of a first neural network model, a set of data including previous frame data, current frame data, and velocity data, wherein the previous frame data includes one or more previously generated output frames, the current frame data includes output of a raster and lighting stage of a render pipeline, and the velocity data includes motion vectors generated by the render pipeline;

pre-process the set of data to generate pre-processed data, wherein to pre-process the set of data includes to generate residual motion vectors via a second neural network model;

provide first pre-processed data to a feature extraction network of the first neural network model and second-processed data to an output block of the first neural network model, the first pre-processed data at a first precision and the second pre-processed data at a second precision that is higher than the first precision;

process the pre-processed data at the feature extraction network via one or more encoder stages and one or more decoder stages;

output tensor data from the feature extraction network to the output block; and

generate an output frame via the output block based on the second pre-processed data from the input block and the tensor data output from the feature extraction network, wherein the output frame is an anti-aliased frame.

17. The data processing system as in claim 16 , wherein to generate the pre-processed data includes to:

upscale the output of the raster and lighting stage from a first resolution to a second resolution that is higher than the first resolution;

generate the residual motion vectors via the second neural network based on the current frame data, previous frame data, and the motion vectors;

combine the motion vectors and the residual motion vectors to create refined motion vectors;

warp the previous frame data based on the refined motion vectors to generate warped history data;

warp the previous frame data based on the velocity data to generate warped history data;

align the warped history data with the current frame data to generate aligned history data; and

shuffle the aligned history data and current frame data from a spatial dimension to a channel dimension.

18. The data processing system as in claim 17 , wherein the channel dimension includes a depth channel or multiple feature map channels.

19. The data processing system as in claim 17 , wherein to generate the output frame via the output block includes to generate the output frame via one or more convolution layers of the output block.

20. The data processing system as in claim 17 , wherein to generate the output frame via the output block includes to predict a set of per-pixel kernel values and blend weights, filter the current frame data via the per-pixel kernel values, and blend the aligned history data with filtered current frame data.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 15, 2022
From: KIM, SUNGYE; ZIRR, TOBIAS
To: INTEL CORPORATION
Reel/Frame 061353/0170 →
Continuity (2)
Provisional Application 63276168 · Nov 5, 2021
Related Publication 20230147063A1 · May 11, 2023
References Cited (32)
US 10311552B2 · Meyer · 2019 [cited by applicant]
US 20170085889A1 · Baylon · 2017 [cited by applicant]
US 20190035113A1 · Salvi · 2019 [cited by examiner]
US 20190205746A1 · Nurvitadhi · 2019 [cited by applicant]
US 20190318455A1 · Gruen · 2019 [cited by examiner]
US 20190324746A1 · Maiyuran · 2019 [cited by applicant]
US 20190347553A1 · Lo et al. · 2019 [cited by applicant]
US 20200126191A1 · Munkberg · 2020 [cited by examiner]
US 20200126192A1 · Munkberg · 2020 [cited by examiner]
US 20200202493A1 · Brownlee · 2020 [cited by applicant]
US 20220398698A1 · Li · 2022 [cited by applicant]
US 20230018848A1 · Eline · 2023 [cited by applicant]
US 20230065183A1 · Zirr · 2023 [cited by examiner]
US 20230066626A1 · Kim et al. · 2023 [cited by applicant]
US 20230142467A1 · Kaplanyan · 2023 [cited by examiner]
US 20230146005A1 · Chernigin et al. · 2023 [cited by applicant]
US 20230146073A1 · Kozlov et al. · 2023 [cited by applicant]
US 20230147063A1 · Kim et al. · 2023 [cited by applicant]
US 20240311950A1 · Panneer · 2024 [cited by examiner]
CN 202211294907 · 2023 [cited by applicant]
Carreira, Joao, et al., “Quo Vadis, Action Recognition? A New Model and the Kinetics Dataset”, CVPR 2017, pp. 6299-6308. [cited by applicant]
NVIDIA Optical Flow SDK, Application Note, “Chapter 1: NVIDIA Optical Flow Accelerator”, vNVOFA_DA-09418-001_v03, Jun. 2021, 8 pages. [cited by applicant]
Yang, Xiaodong, et al., “Making Convolutional Networks Recurrent for Visual Sequence Learning”, CVPR 2018, pp. 6469-6478. [cited by applicant]
EP Publication Notice for Application No. EP22199045.0, Publication No. 4177824, mailed Apr. 13, 2023, 2 pages. [cited by applicant]
Extended European Search Report for EP22199045.0, mailed Mar. 30, 2023, 7 pages. [cited by applicant]
Xiao Lei Lei Xiao@FB Com et al: “Neural supersampling for real-time rendering”, ACM Transactions on Graphics, ACM, NY, US, vol. 39, No. 4, Jul. 8, 2020 (Jul. 8, 2020), pp. 142:1-142:12, XP058683521. [cited by applicant]
Lei Yang et al: “A Survey of Temporal Antialiasing Techniques”, Computer Graphics Forum : Journal of the European Association for Computer Graphics, Wiley-Blackwell, Oxford, vol. 39, No. 2, Jul. 13, 2020 (Jul. 13, 2020)… [cited by applicant]
Wang Longguang et al: “Deep Video Super-Resolution Using HR Optical Flow Estimation” IEEE Transactions on Image Processing, IEEE, USA, vol. 29, Jan. 23, 2020 (Jan. 23, 2020), pp. 4323-4336. [cited by applicant]
Intention to Grant for EP Application No. 22199045.0, pp. 1-7. [cited by applicant]
Office Action for U.S. Appl. No. 17/520,089 mailed Feb. 26, 2025, 28 pages. [cited by applicant]
Thomas, M. et al., A reduced-precision network for image reconstruction, 2020, Association for Computing Machinery, Dec. 2020, New York, NY, USA, vol. 39, No. 6. (Year: 2020). [cited by applicant]
Xiao, L. et al., Neural Supersampling for Real-time Rendering, 2020, Association for Computing Machinery, Aug. 2020, New York , NY, USA, vol. 39, No. 4, Article 142. (Year: 2020). [cited by applicant]