Recently I tried blender+cycles with denoiser turned on, and it's just awesome. I can use much fewer samples to get a better image. I became curious how does a denoiser work internally. I guess it's definitely not a simple image blur.
From my observation, a tile gets denoised only when the surrounding 3x3 tiles all gets rendered. This seems a little bit weird to me though. How can a neighbor tile provides any useful information to denoise the current tile?
I'm sure different denoisers have various implementations. It would be good though if someone can tell me how does a denoiser work in general, or point me to relevant literature.