IP Library Granted Patent US 12,505,583
Granted Patent B2
US 12,505,583 · App. 16/890,941 · Granted Dec 23, 2025

Techniques to process layers of a three-dimensional image using one or more neural networks

Inventors: Carl Jacob Munkberg (Skåne, SE); Jon Niklas Theodor Hasselgren (Skåne, SE)
Assignee: NVIDIA Corporation
G06T11/00G06F18/2148G06N3/045G06N3/08G06V20/647
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,505,583
App. No.
16/890,941
Granted
Dec 23, 2025
Kind
B2
Abstract

Apparatuses, systems, and techniques to identify one or more layers of a three-dimensional graphical image to generate a two-dimensional representation. In at least one embodiment, one or more layers of a three-dimensional graphical image are identified to generate one or more two-dimensional representations.

Claims (141)

1 . A processor, comprising:

one or more circuits to use one or more neural networks to render one or more images of a scene using a plurality of path-traced samples to simulate a transport of lighting in the scene by at least:

partitioning the plurality of path-traced samples into a plurality of layers, each layer including information for two or more samples of the plurality of path-traced samples;

applying a different filter for each layer of the plurality layers to generate a plurality of filter outputs; and

compositing the plurality of filter outputs to determine one or more properties of the pixel.

2 . The processor of claim 1 , wherein the one or more circuits are to use the one or more neural networks to:

obtain the plurality of path-traced samples for a pixel of the one or more images;

wherein to apply the different filter to each layer and composite the plurality of filter outputs is to denoise the one or more images.

3 . The processor of claim 2 , wherein the one or more neural networks to partition the plurality of path-traced samples are to use a convolutional neural network to determine respective weights of each of the plurality of layers.

4 . The processor of claim 2 , wherein the one or more neural networks are to further determine a plurality of sample embeddings from the plurality of path-traced samples using a fully connected network, wherein the plurality of sample embeddings are to be used at least to partition the plurality of path-traced samples into the plurality of layers.

5 . The processor of claim 4 , wherein the one or more neural networks are to further:

determine one or more context features from the plurality of sample embeddings using a U-net;

generate a first weight for a first layer of the plurality of layers as a result of the plurality of path-traced samples being partitioned into the plurality of layers; and

generate a first filter for the first layer of the plurality of layers based at least in part on the plurality of sample embeddings and the first weight.

6 . The processor of claim 2 , wherein:

the plurality of filter outputs comprise, for each layer of the plurality of layers: a radiance, a weight, and an occupancy; and

the one or more neural networks are to use alpha compositing on respective layers, respective radiances, and respective occupancies of the plurality of layers to determine the one or more properties of the pixel.

7 . The processor of claim 2 , wherein the one or more properties includes a color of the pixel.

8 . A non-transitory machine-readable medium having stored thereon a set of instructions, which if performed by one or more processors, cause the one or more processors to use one or more neural networks to at least;

partition a set of samples into a plurality of layers, each layer including information for two or more samples of the set of samples, wherein the samples are path-traced samples to simulate lighting according to a three-dimensional model to render a pixel for a two-dimensional representation;

apply a different filter to each layer of the plurality layers to generate a plurality of filter outputs; and

composite the plurality of filter outputs to determine one or more properties of the pixel.

9 . The non-transitory machine-readable medium of claim 8 , wherein the one or more processors are to use the one or more neural networks to:

obtain the set of samples for the pixel of the two-dimensional representation;

generate a set of embeddings from the set of samples;

process the set of embeddings to generate a set of context data;

wherein to partition the set of samples into the plurality of layers is based at least in part on the set of embeddings and the set of context data; and

generate, for the plurality of layers, the different filters based at least in part on a result of partitioning the set of samples;

wherein to apply the different filter to each layer and composite the plurality of filter outputs is to denoise the two-dimensional representation.

10 . The non-transitory machine-readable medium of claim 9 , wherein:

the one or more neural networks to partition the set of samples into the plurality of layers are to determine a set of weights for the plurality of layers; and

the one or more neural networks to generate the plurality of filter outputs based at least in part on the set of weights.

11 . The non-transitory machine-readable medium of claim 9 , wherein:

a sample of the set of samples comprises radiance data and a set of feature guides; and

the set of embeddings are to be generated by applying a fully connected network on the set of samples.

12 . The non-transitory machine-readable medium of claim 11 , wherein the set of feature guides includes at least one of:

normal;

depth;

albedo;

specular color; or

specular roughness.

13 . The non-transitory machine-readable medium of claim 9 , wherein the plurality of filter outputs comprise:

a layer radiance;

a layer weight; and

a layer occupancy.

14 . A system, comprising:

one or more processors to use one or more neural networks to;

partition a set of samples into a plurality of layers, each layer including information for two or more samples of the set of samples, wherein the samples are path-traced samples to simulate lighting according to a three-dimensional model to render a pixel for a two-dimensional representation;

apply a different filter to each layer of the plurality layers to generate a plurality of filter outputs; and

composite the plurality of filter outputs to determine one or more properties of the pixel; and

one or more memories to store the one or more neural networks.

15 . The system of claim 14 , wherein the one or more processors are to use the one or more neural networks to:

obtain the set of samples for the pixel of the two-dimensional representation;

transform the set of samples to generate a set of embeddings;

process the set of embeddings to generate a set of context data;

wherein to partition the set of samples into the plurality of layers is based at least in part on the set of embeddings and the set of context data; and

generate, for the plurality of layers, the different filters based at least in part on a result of partitioning the set of samples;

wherein to apply the different filter to each layer and composite the plurality of filter outputs is to denoise the two-dimensional representation.

16 . The system of claim 15 , wherein:

the set of samples are to be transformed through a first neural network of the one or more neural networks;

the set of embeddings is to be processed with a second neural network of the one or more neural networks; and

the set of samples is to be partitioned with a third neural network of the one or more neural networks.

17 . The system of claim 16 , wherein:

the first neural network is a first fully connected network;

the second neural network is a U-net; and

the third neural network is a second fully connected network.

18 . The system of claim 17 , wherein the U-net includes one or more skip connections.

19 . The system of claim 15 , wherein the one or more processors are to generate respective filters of the different filters using respective neural networks of the one or more neural networks.

20 . The system of claim 14 , wherein a hyperparameter defines how many layers are in the plurality of layers.

21 . A processor, comprising:

one or more circuits to train one or more neural networks to;

partition a plurality of samples into a plurality of layers, each layer including information for two or more samples of the plurality of samples, wherein the samples are path-traced samples to simulate lighting according to a three-dimensional model to render a pixel for a two-dimensional representation;

apply a different filter to each layer of the plurality layers to generate a plurality of filter outputs; and

composite the plurality of filter outputs to determine one or more properties of the pixel.

22 . The processor of claim 21 , wherein the one or more circuits are to use the one or more neural networks to:

obtain the plurality of samples for the pixel of the two-dimensional representation;

wherein to apply the different filter to each layer and composite the plurality of filter outputs is to denoise the two-dimensional representation.

23 . The processor of claim 22 , wherein the one or more neural networks to partition the plurality of samples are to use a convolutional neural network to determine respective weights of each of the plurality of layers.

24 . The processor of claim 22 , wherein the one or more neural networks are to further determine a plurality of sample embeddings from the plurality of samples using a fully connected network, wherein the plurality of sample embeddings are to be used at least to partition the plurality of samples into the plurality of layers.

25 . The processor of claim 24 , wherein the one or more neural networks are to further:

determine one or more context features from the plurality of sample embeddings using a U-net;

generate a first weight for a first layer of the plurality of layers as a result of the plurality of samples being partitioned into the plurality of layers; and

generate a first filter for the first layer of the plurality of layers based at least in part on the plurality of sample embeddings and the first weight.

26 . The processor of claim 22 , wherein:

the plurality of filter outputs comprise, for each layer of the plurality of layers: a radiance, a weight, and an occupancy; and

the one or more neural networks are to use alpha compositing on respective layers, respective radiances, and respective occupancies of the plurality of layers to determine the one or more properties of the pixel.

27 . The processor of claim 22 , wherein the one or more properties includes an average radiance of the pixel.

28 . A non-transitory machine-readable medium having stored thereon a set of instructions, which if performed by one or more processors, cause the one or more processors to at least:

cause one or more neural networks to be trained to:

partition a set of samples into a plurality of layers, each layer including information for two or more samples of the set of samples, wherein the samples are path-traced samples to simulate lighting according to a three-dimensional model to render a pixel for a two-dimensional representation;

apply a different filter to each layer of the plurality layers to generate a plurality of filter outputs; and

composite the plurality of filter outputs to determine one or more properties of the pixel.

29 . The non-transitory machine-readable medium of claim 28 , wherein the one or more processors are to use the one or more neural networks to:

obtain the set of samples for the pixel of the two-dimensional representation;

generate a set of embeddings from the set of samples;

process the set of embeddings to generate a set of context data;

wherein to partition the set of samples into the plurality of layers is based at least in part on the set of embeddings and the set of context data; and

generate, for the plurality of layers, the different filters based at least in part on a result of partitioning the set of samples;

wherein to apply the different filter to each layer and composite the plurality of filter outputs is to denoise the two-dimensional representation.

30 . The non-transitory machine-readable medium of claim 29 , wherein:

the one or more neural networks to partition the set of samples into the plurality of layers are to determine a set of weights for the plurality of layers; and

the one or more neural networks to generate the plurality of filter outputs based at least in part on the set of weights.

31 . The non-transitory machine-readable medium of claim 29 , wherein:

a sample of the set of samples comprises radiance data and a set of feature guides; and

the set of embeddings are to be generated by applying a fully connected network on the set of samples.

32 . The non-transitory machine-readable medium of claim 31 , wherein the set of feature guides includes at least one of:

motion vector;

circle of confusion;

lens position; or

time.

33 . The non-transitory machine-readable medium of claim 29 , wherein the plurality of filter outputs comprise:

a layer radiance;

a layer weight; and

a layer occupancy.

34 . A system, comprising:

one or more processors to calculate parameters corresponding to one or more neural networks to:

partition a set of samples into a plurality of layers, each layer including information for two or more samples of the set of samples, wherein the samples are path-traced samples to simulate lighting according to a three-dimensional model to render a pixel for a two-dimensional representation;

apply a different filter to each layer of the plurality layers to generate a plurality of filter outputs; and

composite the plurality of filter outputs to determine one or more properties of the pixel; and

one or more memories to store the parameters.

35 . The system of claim 34 , wherein the one or more processors are to use the one or more neural networks to:

obtain the set of samples for the pixel of the two-dimensional representation;

transform the set of samples to generate a set of embeddings;

process the set of embeddings to generate a set of context data;

wherein to partition the set of samples into the plurality of layers is based at least in part on the set of embeddings and the set of context data; and

generate, for the plurality of layers, the different filters based at least in part on a result of partitioning the set of samples;

wherein to apply the different filter to each layer and composite the plurality of filter outputs is to denoise the two-dimensional representation.

36 . The system of claim 35 , wherein:

the set of samples are to be transformed through a first neural network of the one or more neural networks;

the set of embeddings is to be processed with a second neural network of the one or more neural networks; and

the set of samples is to be partitioned with a third neural network of the one or more neural networks.

37 . The system of claim 36 , wherein:

the first neural network is a first fully connected network;

the second neural network is a U-net; and

the third neural network is a second fully connected network.

38 . The system of claim 37 , wherein the U-net includes one or more skip connections.

39 . The system of claim 35 , wherein the one or more processors are to generate respective filters of the different filters using respective neural networks of the one or more neural networks.

40 . A processor comprising one or more circuits to use one or more neural networks to denoise a two-dimensional representation of a three-dimensional model, wherein to denoise the two-dimensional representation the one or more circuits are to use the one or more neural networks to:

partition a plurality of samples, to render a pixel of the two-dimensional representation, into a plurality of layers, each layer including information for two or more of the plurality of samples;

apply a different filter to each layer of the plurality layers to generate a plurality of filter outputs; and

composite the plurality of filter outputs to determine one or more properties of the pixel.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 1, 2020
From: MUNKBERG, CARL JACOB; HASSELGREN, JON NIKLAS THEODOR
To: NVIDIA CORPORATION
Reel/Frame 053098/0422 →
Continuity (1)
Related Publication 20210374384A1 · Dec 2, 2021
References Cited (65)
US 3339750A · Nelson-Hawkins · 1967 [cited by applicant]
US 9836853B1 · Médioni · 2017 [cited by examiner]
US 11076824B1 · Wang · 2021 [cited by examiner]
US 20050264557A1 · Kise · 2005 [cited by examiner]
US 20180293711A1 · Vogels · 2018 [cited by examiner]
US 20180293713A1 · Vogels · 2018 [cited by examiner]
US 20190051056A1 · Chiu · 2019 [cited by examiner]
US 20190087726A1 · Greenblatt et al. · 2019 [cited by applicant]
US 20190122073A1 · Ozdemir · 2019 [cited by examiner]
US 20190209116A1 · Sjöstrand · 2019 [cited by examiner]
US 20200097758A1 · Basso · 2020 [cited by examiner]
US 20200160997A1 · Bagci · 2020 [cited by examiner]
US 20200294257A1 · Yoo · 2020 [cited by examiner]
US 20200394430A1 · Ahmed · 2020 [cited by examiner]
US 20200394442A1 · Ahmed · 2020 [cited by examiner]
US 20210110532A1 · Braman · 2021 [cited by examiner]
US 20210209339A1 · You · 2021 [cited by examiner]
US 20210295594A1 · Sinha · 2021 [cited by examiner]
US 20210310870A1 · Kettler · 2021 [cited by examiner]
US 20210321978A1 · Nguyen · 2021 [cited by examiner]
US 20210322136A1 · Anssari Moin · 2021 [cited by examiner]
US 20210383172A1 · Gruber · 2021 [cited by examiner]
US 20220206176A1 · Hegde · 2022 [cited by examiner]
US 20220215548A1 · Cai · 2022 [cited by examiner]
US 20230019232A1 · Krotoff · 2023 [cited by examiner]
US 20230112664A1 · Sivakumar · 2023 [cited by examiner]
JP 7118771B2 · 2022 [cited by examiner]
KR 20030076407A · 2003 [cited by applicant]
KR 100941583B1 · 2010 [cited by examiner]
WO 2018122903A1 · 2018 [cited by applicant]
WO WO2019157193A1 · 2019 [cited by examiner]
WO 2020093042A1 · 2020 [cited by applicant]
Steve Bako ( NPL DOC: “Kernel-Predicting Convolutional Networks for Denoising Monte Carlo Renderings ,” Jul. 2017, ACM Transactions on Graphics, vol. 36, No. 4, Article 97, pp. 97:1-97:09). [cited by examiner]
Michaël Gharbi( NPL DOC: “Sample-based Monte Carlo Denoising using a Kernel-Splatting Network ,” Jul. 2019, ACM Trans. Graph., vol. 38, No. 4, Article 125. pp. 125:1-125:8). [cited by examiner]
Ariel Shamir et al. ,“Generating Comics from 3D Interactive Computer Graphics,” Jun. 30, 2016, IEEE Computer Graphics and Applications ( vol. 26, Issue: 3, May-Jun. 2006), pp. 54-60. [cited by examiner]
Yinda Zhang et al., “Physically-Based Rendering for Indoor Scene Understanding Using Convolutional Neural Networks,” IEEE Conference on Computer Vision and Pattern Recognition (CVPR2017), Jul. 2, 2017, pp. 5057-5065, do… [cited by examiner]
Bako et al., “Kernel-Predicting Convolutional Networks for Denoising Monte Carlo Renderings,” 2017, 14 pages. [cited by applicant]
Bitterli, “Rendering Resources,” retrieved from the Internet on May 20, 2021, from https://benedikt-bitterli.me/resources/., 2016, 9 pages. [cited by applicant]
Chaitanya et al., “Interactive Reconstruction of Monte Carlo Image Sequences Using a Recurrent Denoising Autoencoder,” ACM Trans. Graph. 36, 4, Article 98, 2017, 12 pages. [cited by applicant]
Chang et al., “ShapeNet: An Information-Rich 3D Model Repository,” Dec. 9, 2015, 11 pages. [cited by applicant]
Cimpoi et al., “Describing Textures in the Wild,” Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, 2014, 8 pages. [cited by applicant]
Gharbi et al., Sample-Based Monte Carlo Denoising Using a Kernel-Splatting Network, ACM Transactions on Graph, 38(4): Article 125, Jul. 2019, 12 pages. [cited by applicant]
Glorot et al., Understanding the Difficulty of Training Deep Feedforward Neural Networks, Proceedings of the Thirteenth International Conference on Artificial Intelligence and Statistics Proceedings of Machine Learning … [cited by applicant]
Hasselgren et al., Neural Temporal Adaptive Sampling and Denoising, In Proceedings of the Eurographics, 2020, 9 pages. [cited by applicant]
IEEE, “IEEE Standard 754-2008 (Revision of IEEE Standard 754-1985): IEEE Standard for Floating-Point Arithmetic,” Aug. 29, 2008, 70 pages. [cited by applicant]
Kingma et al. “Adam: A Method for Stochastic Optimization,” arXiv: 1412.6980, dated Dec. 22, 2014, 9 pages. [cited by applicant]
Lehtinen et al., “Noise2Noise: Learning Image Restoration without Clean Data,” Proceedings of the 35th International Conference on Machine Learning, vol. 80, 2018, 10 pages. [cited by applicant]
McGuire, “Computer Graphics Archive,” retrieved from the Internet on May 20, 2021, from https://casual-effects.com/data, 2011, 15 pages. [cited by applicant]
Mildenhall et al., “Burst Denoising with Kernel Prediction Networks,” IEEE Conference on Computer Vision and Pattern Recognition, 2018, 9 pages. [cited by applicant]
Munkberg et al., Layered Reconstruction for Defocus and Motion Blur, Computer Graphics Forum Proceedings of EGSR, 33(4): 2014, 12 pages. [cited by applicant]
Niklaus et al., “Video Frame Interpolation via Adaptive Convolution,” CVPR, 2017, 10 pages. [cited by applicant]
Niklaus et al., “Video Frame Interpolation via Adaptive Separable Convolution,” ICCV, 2017, 10 pages. [cited by applicant]
Paszke et al., “Automatic Differentiation in Pytorch,” 2017, 4 pages. [cited by applicant]
Ronneberger et al., “U-net: Convolutional networks for biomedical image segmentation,” International Conference on Medical Image Computing and Computer-Assisted Intervention, Oct. 5, 2015, 8 pages. [cited by applicant]
Society of Automotive Engineers On-Road Automated Vehicle Standards Committee, “Taxonomy and Definitions for Terms Related to Driving Automation Systems for On-Road Motor Vehicles,” Standard No. J3016-201609, issued Jan… [cited by applicant]
Society of Automotive Engineers On-Road Automated Vehicle Standards Committee, “Taxonomy and Definitions for Terms Related to Driving Automation Systems for On-Road Motor Vehicles,” Standard No. J3016-201806, issued Jan… [cited by applicant]
Stokes et al., “A Standard Default Color Space for the Internet—sRGB,” retrieved from the Internet on May 20, 2021, from https://www.w3.org/Graphics/Color/sRGB.html, Nov. 5, 1996, 16 pages. [cited by applicant]
Vogels et al., “Denoising with Kernel Prediction and Asymmetric Loss Functions,” ACM Transactions on Graph, 37(4): Article 124, 2018, 15 pages. [cited by applicant]
Xu et al., “Adversarial Monte Carlo Denoising with Conditioned Auxiliary Feature Modulation,” ACM Transactions on Graph, 38(6): 2019, 12 pages. [cited by applicant]
Zwicker et al., “Recent Advances in Adaptive Sampling and Reconstructionfor Monte Carlo Rendering,” Computer Graphics Forum Proceedings of Eurographics—State of the Art Reports, 34(2): 2015, 16 pages. [cited by applicant]
Chunky, “Path Tracing,” retrieved from https://chunky.llbit.se/path_tracing.html, Apr. 28, 2020, 4 pages. [cited by applicant]
Office Action mailed May 23, 2025 in Chinese Patent Application No. 202180005896.0, NVIDIA Corporation, 42 pages including translation. [cited by applicant]
Notification of Grant Patent for Intention mailed Sep. 22, 2025 in Chinese Patent Application No. 202180005896.0, NVIDIA Corporation, 8 pages including translation. [cited by applicant]
Feng Yan, Doctoral dissertation: Research on seamless integration of virtual and real augmented reality systems, Database of Full-Text Chinese Doctoral Dissertations (Information Technology Edition), Issue 4, Apr. 15, 2… [cited by applicant]
Yinda Zhang, et al., “Physically-Based Rendering for Indoor Scene Understanding Using Convolutional Neural Networks,” IEEE Coference on Computer Vision and Pattern Recognition (CVPR2017), Jul. 2, 2017, pp. 5057-5065, do… [cited by applicant]