A video noise reduction system for a set of video frames that computes a
first motion signal using a current frame and multiple consecutive
previous frames, computes a second motion signal using the current frame
and the processed preceding frame; computes the multi-frame temporal
average of the current frame and multiple consecutive previous frames;
computes the recursive average of the current frame and the processed
preceding frame; generates a temporal filtered signal by soft switching
between the multi-frame temporal average and the recursive average based
on the first motion signal; applies a spatial filter to the current frame
to generate a spatial filtered signal; and combines the temporal filtered
signal and the spatial filtered signal based on the second motion signal
to generate a final noise reduced video output signal.