Playground
Every photograph holds two pictures: the scene, and the noise on top of it. PGNM describes the noise with two arrays and two lines of math, and both arrays are measured from pairs of clean and noisy photos, with no neural network and no model of the camera. The playground below takes the two lines apart one knob at a time.
tc = ∑i Aci ∗ zimix: nine 25×25 filters turn independent static z into a correlated field t
yc = clip(xc + gc(xc, tc), 0, 1)shape: a lookup g turns each field value into the residual a real camera leaves at that brightness
From static to camera noise
The lookup is a quantile machine
The field value t is a percentile in disguise: t = 1 means “brighter than 84 % of draws”. The lookup reads the same percentile off the residuals measured at this brightness, so a symmetric bell comes out as whatever the camera really does: lopsided, heavy-tailed, or squashed against black. Drag the brightness down and watch the pile hit the wall.
Mix your own noise
Every fitted preset is a point in one space. Seen through its first two principal components, camera noise and film grain fall on opposite sides, and ISO or grain size climbs upward. Click a dot to load that preset, then drag to wander between them: the noise is rebuilt live from the PGNM Designer's 6 filter and 12 lookup components.
Want it on your own photos, at full resolution? Open the studio. Film presets were fitted on Newson's renderer, which also blurs the image; the studio applies that blur, the playground leaves it out.
Earlier work
PGNM grew out of A Generative Model for Digital Camera Noise Synthesis (arXiv:2303.09199), by Mingyang Song, Yang Zhang, Tunç O. Aydın, Elham Amin Mansour and Christopher Schroers (ETH Zürich and DisneyResearch|Studios).
Citation
📄 Parametric Gaussian Noise Mixer (PGNM): Unified Synthesis of Camera Noise and Film Grain
Technical report, ETH Zürich · arXiv:2610.39868 [cs.CV], October 2026 · Code and presets
Mingyang Song. 2026. Parametric Gaussian Noise Mixer (PGNM): Unified Synthesis of Camera Noise and Film Grain. arXiv:2610.39868 [cs.CV]. https://arxiv.org/abs/2610.39868
@misc{song2026pgnm,
title = {Parametric Gaussian Noise Mixer ({PGNM}): Unified Synthesis of Camera Noise and Film Grain},
author = {Song, Mingyang},
year = {2026},
eprint = {2610.39868},
archivePrefix = {arXiv},
primaryClass = {cs.CV},
url = {https://arxiv.org/abs/2610.39868}
}
Datasets & credits
SIDD — camera presets are fitted on the Smartphone Image Denoising Dataset. Abdelrahman Abdelhamed, Stephen Lin and Michael S. Brown. A High-Quality Denoising Dataset for Smartphone Cameras. CVPR 2018.
Newson film grain — film presets are fitted on grain rendered by the model of Alasdair Newson, Julie Delon and Bruno Galerne. A Stochastic Film Grain Model for Resolution-Independent Rendering. Computer Graphics Forum 36(8), 2017; training pairs from GrainNet: Gwilherm Lesné, Yann Gousseau, Saïd Ladjal and Alasdair Newson. Neural Film Grain Rendering. Computer Graphics Forum 44(2), 2025.
Nocturne — the colour grain preset is fitted on Netflix's Nocturne, Netflix Open Content, licensed CC BY 4.0.