Outer Rim Archives
Archives · 2019 · 10403026

Granted patent

Noise reduction on G-buffers for Monte Carlo filtering

Number
10403026
Published
2019-09-03
Filed
2017-06-13
Assignee
Disney Enterprises, Inc.
Inventors
Mitchell; Kenneth, Iglesias-Guitian; Jose A., Moon; Bochang, McDonagh; Steven G.
CPC
G06T13/20; G06T15/06
Verdict
High Notable software
Source
Google Patents · FreePatentsOnline

The keeper's note

Noise reduction on G-buffers for Monte Carlo filtering.

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

BACKGROUNDField 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, respec

Claims

1. A method of selectively removing Monte Carlo (MC) noise from a geometric buffer (G-buffer), the method comprising: identifying the G-buffer for rendering an image of a three-dimensional scene from a viewpoint, the G-buffer containing a plurality of values; determining, 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; and performing a pre-filtering operation to selectively remove the MC noise from the G-buffer, based on the determined world position information for the plurality of pixels, wherein the pre-filtering operation is defined as g ^ c ⁡ ( k ) = 1 W ⁢ .Math. i ∈ Ω c ⁢ w i ⁡ ( k ) ⁢ g ~ i ⁡ ( k ) , where ĝ.sub.c(k) is the filtered feature at center pixel c in k-th feature buffer, and w.sub.i(k) is a filtering weight allocated to a noisy feature {tilde over (g)}.sub.i(k) stored at the i-th neighboring pixel. 10. A 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 for selectively removing Monte Carlo (MC) noise from a geometric buffer (G-buffer), the operation comprising: identifying the G-buffer for rendering an image of a three-dimensional scene from a viewpoint, the G-buffer containing a plurality of values; determining, 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; and performing a pre-filtering operation to selectively remove the MC noise from the G-buffer, based on the determined world position information for the plurality of pixels, wherein the pre-filtering operation is defined as g ^ c ⁡ ( k ) = 1 W ⁢ .Math. i ∈ Ω c ⁢ w i ⁡ ( k ) ⁢ g ~ i ⁡ ( k ) , where ĝ.sub.c(k) is the filtered feature at center pixel c in k-th feature buffer, and w.sub.i(k) is a filtering weight allocated to a noisy feature {tilde over (g)}.sub.i(k) stored at the i-th neighboring pixel. 17. A non-transitory computer-readable medium containing computer program code that, when executed by operation of one or more computer processors, performs an operation for selectively removing Monte Carlo (MC) noise from a geometric buffer (G-buffer), the operation comprising: identifying the G-buffer for rendering an image of a three-dimensional scene from a viewpoint, the G-buffer containing a plurality of values; determining, 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; and performing a pre-filtering operation to selectively remove the MC noise from the G-buffer, based on the determined world position information for the plurality of pixels, wherein the pre-filtering operation is defined as g ^ c ⁡ ( k ) = 1 W ⁢ .Math. i ∈ Ω c ⁢ w i ⁡ ( k ) ⁢ g ~ i ⁡ ( k ) , where ĝ.sub.c(k) is the filtered feature at center pixel c in k-th feature buffer, and w.sub.i(k) is a filtering weight allocated to a noisy feature {tilde over (g)}.sub.i(k) stored at the i-th neighboring pixel.