Monte Carlo techniques for image synthesis are simple and powerful, but they are prone to noise from inadequate sampling. This paper describes a class of non-linear filters that remove sampling noise in synthetic images without removing salient features. This is achieved by spreading real input sample values into the output image via variable-width filter kernels, rather than gathering samples into each output pixel via a constant-width kernel. The technique is non-linear because kernel widths are based on sample magnitudes, and this local redistribution of values cannot generally be mapped to a linear function. Nevertheless, the technique preserves energy because the kernels are normalized, and all input samples have the same average influence on the output. To demonstrate its effectiveness, the new filtering method is applied to two rendering techniques. The first is a Monte Carlo path tracing technique with the conflicting goals of keeping pixel variance below a specified limit and finishing in a finite amount of time; this application shows how the filter may be used to ``clean up'' areas where it is not practical to sample adequately. The second is a hybrid deterministic and Monte Carlo ray-tracing program; this application shows how the filter can be effective even when the pixel variance is not known.

**CR Categories and Descriptors:** I.3.3 [**Computer
Graphics**]: Picture/image generation - *Display algorithms*; I.3.7
[**Computer Graphics**]: Three-Dimensional Graphics and Realism -
*shading*

**General Terms:** Algorithms

**Additional Key Words and Phrases**: Monte Carlo, Lighting Simulation,
Noise Reduction.