ACM Trans. Graph. (Proceedings of SIGGRAPH Asia 2020)

Screen-Space Blue-Noise Diffusion of Monte Carlo Sampling Error via Hierarchical Ordering of Pixels

Abdalla G. M. Ahmed       Peter Wonka
KAUST, KSA



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.

You need to upgrade your browser to view this. Show Labels     Swap top renderings     Samples Per Pixel:

Downloads

Get for free at ACM digital library
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.