IP Library Granted Patent US 12,400,293
Granted Patent B2
US 12,400,293 · App. 17/516,112 · Granted Aug 26, 2025

Temporally amortized supersampling using a mixed precision convolutional neural network

Inventors: SungYe Kim (Folsom, CA); Karthik Vaidyanathan (San Francisco, CA); Gabor Liktor (San Francisco, CA); Manu Mathew Thomas (Sunnyvale, CA)
Assignee: Intel Corporation
G06T3/4053G06N3/048G06T3/18G06T3/4046G06T15/503G06T19/20G06T2219/2004
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,400,293
App. No.
17/516,112
Granted
Aug 26, 2025
Kind
B2
Abstract

One embodiment provides a graphics processor comprising a set of processing resources configured to perform a supersampling operation via a mixed precision convolutional neural network, the set of processing resources including circuitry configured to receive, at an input block of a neural network model, history data, velocity data, and current frame data, pre-process the history data, velocity data, and current frame data to generate pre-processed data, provide the pre-processed data to a feature extraction network of the neural network model, process the pre-processed data at the feature extraction network via one or more encoder stages and one or more decoder stages, and generate an output image via an output block of the neural network model via direct reconstruction or kernel prediction.

Claims (51)

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 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;

provide first pre-processed data to a feature extraction network of the neural network model and second pre-processed data to an output block of the neural network model, the first pre-processed data in a datatype having a first precision and the second pre-processed data in a datatype having 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:

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.

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 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 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;

providing first pre-processed data to a feature extraction network of the neural network model and second pre-processed data to an output block of the neural network model, the first pre-processed data in a datatype having a first precision and the second pre-processed data in a datatype having 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:

warping the previous frame data based on the velocity data 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 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 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;

provide first pre-processed data to a feature extraction network of the neural network model and second pre-processed data to an output block of the neural network model, the first pre-processed data in a datatype having a first precision and the second pre-processed data in a datatype having 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;

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 Dec 2, 2021
From: KIM, SUNGYE; VAIDYANATHAN, KARTHIK; LIKTOR, GABOR; THOMAS, MANU MATHEW
To: INTEL CORPORATION
Reel/Frame 058267/0662 →
Continuity (2)
Provisional Application 63235108 · Aug 19, 2021
Related Publication 20230066626A1 · Mar 2, 2023
References Cited (68)
US 7873812B1 · Mimar · 2011 [cited by applicant]
US 10311552B2 · Meyer et al. · 2019 [cited by applicant]
US 10453197B1 · Cholakkal et al. · 2019 [cited by applicant]
US 10528864B2 · Dally et al. · 2020 [cited by applicant]
US 10860922B2 · Dally et al. · 2020 [cited by applicant]
US 10891538B2 · Dally et al. · 2021 [cited by applicant]
US 20160062947A1 · Chetlur et al. · 2016 [cited by applicant]
US 20170085889A1 · Baylon et al. · 2017 [cited by applicant]
US 20180046906A1 · Dally et al. · 2018 [cited by applicant]
US 20190035113A1 · Salvi et al. · 2019 [cited by applicant]
US 20190205746A1 · Nurvitadhi et al. · 2019 [cited by applicant]
US 20190318455A1 · Gruen et al. · 2019 [cited by applicant]
US 20190324746A1 · Maiyuran et al. · 2019 [cited by applicant]
US 20190347553A1 · Lo et al. · 2019 [cited by applicant]
US 20200126191A1 · Munkberg et al. · 2020 [cited by applicant]
US 20200126192A1 · Munkberg et al. · 2020 [cited by applicant]
US 20200202493A1 · Brownlee et al. · 2020 [cited by applicant]
US 20200312010A1 · Andersson et al. · 2020 [cited by applicant]
US 20210073944A1 · Liu et al. · 2021 [cited by applicant]
US 20210272247A1 · Ryan et al. · 2021 [cited by applicant]
US 20210398256A1 · Griffin · 2021 [cited by applicant]
US 20220114702A1 · Liu et al. · 2022 [cited by applicant]
US 20220398698A1 · Li et al. · 2022 [cited by applicant]
US 20230018848A1 · Eline et al. · 2023 [cited by applicant]
US 20230065183A1 · Zirr et al. · 2023 [cited by applicant]
US 20230066626A1 · Kim et al. · 2023 [cited by applicant]
US 20230146005A1 · Chernigin et al. · 2023 [cited by applicant]
US 20230146073A1 · Kozlov et al. · 2023 [cited by applicant]
CN 113177606A · 2021 [cited by applicant]
CN 116091300A · 2023 [cited by applicant]
CN 116091333A · 2023 [cited by applicant]
CN 117546200A · 2024 [cited by applicant]
DE 102018121280A1 · 2020 [cited by applicant]
DE 102022125592A1 · 2023 [cited by applicant]
DE 112022004016T5 · 2024 [cited by applicant]
EP 3671656A1 · 2020 [cited by applicant]
JP 2007528769A · 2007 [cited by applicant]
KR 100239969B1 · 2000 [cited by applicant]
WO 2021239205A1 · 2021 [cited by applicant]
WO 2023022806A1 · 2023 [cited by applicant]
WO 2023081563 · 2023 [cited by applicant]
WO 2023081563A1 · 2023 [cited by applicant]
Neural Supersampling, Xiao et al, Jul. 2020; https://dl.acm.org/doi/pdf/10.1145/3386569.3392376 (Year: 2020). [cited by examiner]
Reduced-Precision Network, Thomas et al 2020; https://dl.acm.org/doi/pdf/10.1145/3414685.3417786 (Year: 2020). [cited by examiner]
Notification of Publication for CN202280042047.7, 3 pages, Feb. 9, 2024. [cited by applicant]
Notification Concerning Transmittal of International Preliminary Report on Patentability for PCT/US2022/036112, Feb. 29, 2024, 10 pages. [cited by applicant]
International Patent Application No. PCT/US2022/077543 “International Preliminary Report on Patentability” mailed May 16, 2024, 9 pages. [cited by applicant]
International Patent Application No. PCT/US2022/077543 “International Search Report and Written Opinion” mailed Jan. 31, 2023, 11 pages. [cited by applicant]
International Patent Application No. PCT/US2022/077543 “Notification Concerning Availability of the Publication of the International Application” mailed May 11, 2023, 1 page. [cited by applicant]
Lin Liu et al., Joint Demosaicing and Denoising With Self Guidance, 2020 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR), pp. 2240-2249, Jun. 13, 2020. [cited by applicant]
Notice of CN Publication fr CN202280037369.2 mailed Apr. 19, 2024, 4 pages. [cited by applicant]
Notification of Publication for CN202210846158.5, mailed May 15, 2023, 159 pages. [cited by applicant]
Notification of Publication for CN202211288529.9, mailed May 18, 2023, 4 pages. [cited by applicant]
Notification of Publication for EP22890941.2, 1 page, Aug. 14, 2024. [cited by applicant]
Thomas Manu Mathew et al: “A reduced-precision network for image reconstruction” ACM Transactions on Graphics, ACM, NY, US, vol. 39, No. 6, Nov. 26, 2020 (Nov. 26, 2020), pp. 1-12, XP058683478, ISSN: 0730-0301, DOI: 10.… [cited by applicant]
International Search Report and Written Opinion for PCT/US2022/036112, mailed Oct. 28, 2022, 11 pages. [cited by applicant]
International Search Report and Written Opinion for PCT/US2022/077543, mailed Jan. 31, 2023, 13 pages. [cited by applicant]
Lin Liu et al., ‘Joint Demosaicing and Denoising With Self Guidance’, 2020 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR), pp. 2237-2246, Jun. 13, 2020. [cited by applicant]
International Search Report and Written Opinion for PCT/US2022/036112, malled Oct. 28, 2022, 11 pages. [cited by applicant]
Goodfellow, et al. “Adaptive Computation and Machine Learning Series”, Book, Nov. 18, 2016, pp. 98-165, Chapter 5, The MIT Press, Cambridge, MA. [cited by applicant]
Ross, et al. “Intel Processor Graphics: Architecture & Programming”, Power Point Presentation, Aug. 2015, 78 pages, Intel Corporation, Santa Clara, CA. [cited by applicant]
Shane Cook, “CUDA Programming”, Book, 2013, pp. 37-52, Chapter 3, Elsevier Inc., Amsterdam Netherlands. [cited by applicant]
Nicholas Wilt, “The CUDA Handbook; A Comprehensive Guide to GPU Programming”, Book, Jun. 22, 2013, pp. 41-57, Addison-Wesley Professional, Boston, MA. [cited by applicant]
Stephen Junkins, “The Compute Architecture of Intel Processor Graphics Gen9”, paper, Aug. 14, 2015, 22 pages, Version 1.0, Intel Corporation, Santa Clara, CA. [cited by applicant]
Extended European Search Report for EP 14402EP, 11 pages, Jan. 5, 2023. [cited by applicant]
U.S. Appl. No. 17/558,167 “Non-Final Office Action” mailed Dec. 12, 2024, 10 pages. [cited by applicant]
U.S. Appl. No. 17/558,205 “Notice of Allowance” mailed Nov. 26, 2024, 8 pages, USPTO. [cited by applicant]
Office Action for U.S. Appl. No. 17/520,089, mailed Feb. 26, 2025, 28 pages. [cited by applicant]