|
ACM Trans. Graph. (Proceedings of SIGGRAPH Asia 2020)
Screen-Space Blue-Noise Diffusion of Monte Carlo Sampling Error via
Hierarchical Ordering of Pixels
Renderings using one sample per pixel with various
samplers showing (top) the rendered images and
(bottom) their frequency power spectrum.
(a) A reference high-quality rendering using
8k samples per pixel.
(b) PBRT's (0, 2)-sequence sampler: each pixel
is sampled independently, leading to white-noise
diffusion of error, as evident in the frequency
power spectrum.
(c) Z (ours): pixels are ordered in a stochastic
locality-preserving ordering, and assigned consecutive
samples from a (0, 2) low-discrepancy sequence,
hence adjacent pixels receive far-apart samples,
leading to a blue-noise diffusion of error,
as evident in the frequency power spectrum.
(d) Heitz et al. [2019]:
uses a pre-optimized tile of samples.
Note the repetition artifacts at the tile period
(1/8 of image width) and the grid-like structure
in the spectrum.
(e) PBRT's global Sobol sampler: achieves decent
error diffusion but in a very systematic way,
leading to structured aliasing artifacts,
as visible in the image and reflected in the
frequency power spectrum.
Note that the frequency power spectra in (e) and (d)
appear darker not because of reduced aliasing but
because of the concentration of aliasing energy
in discrete spikes.
Abstract
We present a novel technique for diffusing Monte Carlo
sampling error as a blue noise in screen space.
We show that automatic diffusion of sampling error can be
achieved by ordering the pixels in a way that preserves
locality, such as Morton's Z-ordering, and assigning the
samples to the pixels from successive sub-sequences of
a single low-discrepancy sequence, thus securing
well-distributed samples for each pixel, local
neighborhoods, and the whole image.
We further show that a blue-noise distribution of the error
is attainable by scrambling the Z-ordering to induce
isotropy.
We present an efficient technique to implement this
hierarchical scrambling by defining a context-free grammar
that describes infinite self-similar lookup trees.
Our concept is scalable to arbitrary image resolutions,
sample dimensions, and sample count,
and supports progressive and adaptive sampling.
Interactive Demos
Rendering Comparison:
In this demo you can compare rendering results of our
Z sampler to state-of-the-art samplers;
namely, (0, 2)-Sequence, Sobol, and Heitz.
Click one of the thumbnails to change the rendered scene.
Move the mouse or touch-drag to reveal different parts of
the four renderings.
Use the mouse wheel to change the sampling rate.
Check/uncheck "Swap top renderings" so that you can compare
currently diagonal renderings side by side.
Downloads
|
|
|
Source Code
ZIP (28 KB)
|
Bibtex
@article{10.1145/3414685.3417881,
author = {Ahmed, Abdalla G. M. and Wonka, Peter},
title = {Screen-Space Blue-Noise Diffusion of Monte Carlo Sampling Error
via Hierarchical Ordering of Pixels},
year = {2020},
issue_date = {December 2020},
publisher = {Association for Computing Machinery},
address = {New York, NY, USA},
volume = {39},
number = {6},
issn = {0730-0301},
url = {https://doi.org/10.1145/3414685.3417881},
doi = {10.1145/3414685.3417881},
journal = {ACM Trans. Graph.},
month = nov,
articleno = {244},
numpages = {15},
keywords = {low-discrepancy sequences, morton ordering, sobol sequence,
Z ordering, blue noise, dithering, error diffusion,
quasi-monte carlo, sampling}
}
Acknowledgments
Thanks to the anonymous reviewers for the valuable comments.
We credit reviewer #1 for pointing out the advantage of
arithmetic hashing for GPU implementation.
Thanks to the scientific editing team at KAUST for
proofreading the paper,
and to Mohanad Ahmed for his insightful discussions.
|
|