An embodiment relates to a computer-implemented method for denoising a noisy image. The method includes obtaining a noisy input image and estimating a
time map (214) based on the noisy input image and
noise in the noisy input image, where the
time map is spatially varying, and the method includes performing a
diffusion process on the noisy input image over two or more time steps. At each
time step, the method includes estimating a denoised
image based on the noisy input image, a
current time-step image, and a
time step using a
machine-learned model; obtaining a next time-step
image based on the denoised image and the
current time-step image; updating, for each pixel, the next time-step image with a corresponding value from the denoised image; setting the next time-step image as the
current time-step image; and decrementing the
time step. The estimating, obtaining, updating, setting, and decrementing are repeated while the time step is positive. The method further includes outputting the denoised image.