Interframe Noise Reduction is used for video processing of video frames in areas where there is no motion. There are many kinds of noise that may appear in a video signal such as: Gaussian noise, quantization noise, compression noise, etc.
There are two main approaches to reduce the noise level:
- intraframe – filter noise within one video frame using a spatial filter
- interframe – filter noise using a temporal filter for pixels at the same location from different frames.
An intraframe filter may cause smoothing or removing of small details, softening or blurring the image.
Interframe noise reduction is efficient for areas of video frames where there is no motion.
The temporal filter for interframe noise reduction is generally an IIR filter that has a loop coefficient K dependent on motion value. For nonzero motion, K equals one and the IIR filter becomes a bypass filter. For zero motion, K is below 1 and filtering is enabled.
The following equation describes the temporal noise reduction process:
Yout(t,x,y) = K∙ Yin(t,x,y) + (1-K) * Yout (t-1,x,y),
where K = f(Motion)
Here x and y are pixel spatial coordinates and t is the frame index in time.
Temporal filtering may cause a number of artifacts:
- If K ≠ 1 for some particular level of motion it may cause a ghosting artifact.
- If K is too small for zero motion, a sudden slight increase of motion level may cause a sudden increase of the noise level. Sudden increase and decrease of noise levels cause noticeable artifacts.
The dependence of K on the motion value has to be carefully chosen to mitigate the perceptual visibility of these artifacts.