- Number
- 10922872
- Published
- 2021-02-16
- Filed
- 2019-07-12
- Assignee
- Disney Enterprises, Inc.
- Inventors
- Mitchell; Kenneth, Iglesias-Guitian; Jose A., Moon; Bochang, McDonagh; Steven G.
- CPC
- G06T13/20; G06T15/06
- Verdict
- Low Notable software
- Source
- Google Patents · FreePatentsOnline
The keeper's note
Denoising technique for Monte Carlo path-traced rendering (VFX rendering).
Abstract
Techniques for selectively removing Monte Carlo (MC) noise from a geometric buffer (G-buffer). Embodiments identify the G-buffer for rendering an image of a three-dimensional scene from a viewpoint. Embodiments determine, for each of a plurality of pixels in the image being rendered, respective world position information based on the three-dimensional scene and a position and orientation of the viewpoint. A pre-filtering operation is then performed to selectively remove the MC noise from the G-buffer, based on the determined world position information for the plurality of pixels.
Background
BACKGROUND Field of the Invention (1) The present disclosure relates to the field of computer animation and, in particular, to selectively reducing noise within a geometric buffer. Description of the Related Art (2) This application relates to the field of computer graphics and animation and to the interfaces for defining the same. Many computer graphic images are created by mathematically modeling the interaction of light with a three dimensional scene from a given viewpoint. This process, called rendering, generates a two-dimensional image of the scene from the given viewpoint, and is analogous to taking a photograph of a real-world scene. Animated sequences can be created by rendering a sequence of images of a scene as the scene is gradually changed over time. A great deal of effort has been devoted to making realistic looking rendered images and animations. SUMMARY (3) Embodiments provides a method, system and non-transitory computer-readable medium for selectively removing noise from a geometric buffer (G-buffer). The method, system and non-transitory computer-readable medium include identifying the G-buffer for rendering an image of a three-dimensional scene from a viewpoint. The G-buffer contains a plurality of values, and at least one of (i) a depth-of-field effect and (ii) a motion effect has been applied to the G-buffer. The method, system and non-transitory computer-readable medium include determining, for each of a plurality of pixels in the image being rendered,
Claims
1. A computer-implemented method of selectively removing rendering noise from a geometric buffer prior to filtering, the computer-implemented method comprising: generating the geometric buffer for rendering an image of a three-dimensional scene from a viewpoint, the geometric buffer comprising at least one of a texture buffer, a depth buffer, and a normal buffer and including the rendering noise; determining, for each of a plurality of pixels in the image being rendered, a respective world position sample value based on the three-dimensional scene and a position and orientation of the viewpoint; performing, by operation of one or more computer processors, a pre-filtering operation on the geometric buffer in order to selectively remove the rendering noise from the geometric buffer using a respective filtering weight function for each of the plurality of pixels, wherein the respective filtering weight function is based on an optimal bandwidth value, variances of world position sample values of the three-dimensional scene, and the world position sample value for the respective pixel; and subsequent to removal of the rendering noise, performing a filtering operation on the geometric buffer to produce a filtered geometric buffer, wherein the image is rendered based on the filtered geometric buffer and output. ||
10. A system to selectively remove rendering noise from a geometric buffer prior to filtering, the system comprising: one or more computer processors; and a memory containing computer program code that, when executed by operation of the one or more computer processors, performs an operation comprising: generating the geometric buffer for rendering an image of a three-dimensional scene from a viewpoint, the geometric buffer comprising at least one of a texture buffer, a depth buffer, and a normal buffer and including the rendering noise; determining, for each of a plurality of pixels in the image being rendered, respective world position sample value based on the three-dimensional scene and a position and orientation of the viewpoint; performing a pre-filtering operation on the geometric buffer in order to selectively remove the rendering noise from the geometric buffer using a respective filtering weight function for each of the plurality of pixels, wherein the respective filtering weight function is based on an optimal bandwidth value, variances of world position sample values of the three-dimensional scene, and the world position sample value for the respective pixel; and subsequent to removal of the rendering noise, performing a filtering operation on the geometric buffer to produce a filtered geometric buffer, wherein the image is rendered based on the filtered geometric buffer and output. ||
17. A non-transitory computer-readable medium containing computer program code executable to perform an operation for selectively removing rendering noise from a geometric buffer prior to filtering, the operation comprising: generating the geometric buffer for rendering an image of a three-dimensional scene from a viewpoint, the geometric buffer comprising at least one of a texture buffer, a depth buffer, and a normal buffer and including the rendering noise; determining, for each of a plurality of pixels in the image being rendered, respective world position sample value based on the three-dimensional scene and a position and orientation of the viewpoint; performing, by one or more computer processors when executing the computer program code, a pre-filtering operation on the geometric buffer in order to selectively remove the rendering noise from the geometric buffer using a respective filtering weight function for each of the plurality of pixels, wherein the respective filtering weight function is based on an optimal bandwidth value, variances of world position sample values of the three-dimensional scene, and the world position sample value for the respective pixel; and subsequent to removal of the rendering noise, performing a filtering operation on the geometric buffer to produce a filtered geometric buffer, wherein the image is rendered based on the filtered geometric buffer and output.