Using machine learning to filter monte carlo noise from images
US-2016321523-A1 · Nov 3, 2016 · US
US10922872B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-10922872-B2 |
| Application number | US-201916510677-A |
| Country | US |
| Kind code | B2 |
| Filing date | Jul 12, 2019 |
| Priority date | Nov 4, 2016 |
| Publication date | Feb 16, 2021 |
| Grant date | Feb 16, 2021 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
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.
Opening claim text (preview).
What is claimed is: 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. 2. The computer-implemented method of claim 1 , wherein the rendering noise is introduced due to at least one of a depth-of-field effect and a motion effect. 3. The computer-implemented method of claim 2 , wherein performing the pre-filtering operation to selectively remove the rendering noise from the geometric buffer comprises: determining a plurality of predefined bandwidth values; determining a measure of estimated error for each of the plurality of predefined bandwidth values; and selecting the optimal bandwidth value from the plurality of predefined bandwidth values, the optimal bandwidth value having a lowest measure of estimated error. 4. The computer-implemented method of claim 3 , wherein performing the pre-filtering operation to selectively remove the rendering noise from the geometric buffer further comprises: defining the respective filtering weight function for each of the plurality of pixels. 5. The computer-implemented method of claim 3 , wherein determining the plurality of predefined bandwidth values further comprises: receiving a user input explicitly specifying at least one of the plurality of predefined bandwidth values. 6. The computer-implemented method of claim 1 , wherein the pre-filtering operation is defined as g ^ c ( k ) = 1 W ∑ i ∈ Ω c w i ( k ) g ~ i ( k ) , where ĝ c (k) is the filtered feature at center pixel c in k-th feature buffer, and w i (k) is a filtering weight allocated to a noisy feature {tilde over (g)} i (k) stored at an i-th neighboring pixel. 7. The computer-implemented method of claim 6 , wherein the filtering weight function is defined at a neighboring pixel i for the k-th feature as a function of the world position sample value, wherein the function is defined as w i ( k ) ≡ w ( p ~ i , p ~ c ) = exp ( - d ( p ~ i , p ~ c ) 2 h 2 ) , where d({tilde over (p)} i ,{tilde over (p)} c ) is a distance function that computed a similarity between two world positions stored in pixel i and center c. 8. The computer-implemented method of claim 7 , wherein the distance function comprises a Mahalanobis distance function with a per-pixel 3×3 covariance matrix of world position sample values, wherein the per-p
Ray-tracing · CPC title
Three-dimensional [3D] animation · CPC title
Physics · mapped topic
Image warping, e.g. rearranging pixels individually · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.