Motion Adaptive Deinterlacing is used in video processing devices where the input video is an interlaced sequence of fields. The goal of an advanced motion adaptive deinterlacer is to create a sequence of output frames at the same rate as the sequence of input fields.
Each input field has only odd or even lines for the given frame. Pixels which are not contained in the current field must be created based on other pixels from the current field and/or pixels from previous fields.
One method of generating the missing pixels is to copy the corresponding pixels from the previous field. This method is called “static mesh”. The drawback of this method is that frames show a very visible “feathering” artifact in areas of high motion.
Another method is to interpolate the missing pixels from the pixels directly above and below them in the same field. However, this method generates a flickering or scintillating effect, especially for slow motion video, and a reduction in the vertical resolution of the output frames. Both of these artifacts are very visible to the human visual system.
To reduce these artifacts, the deinterlaced pixels can be created as the weighted sum of the replicated and interpolated pixels. A substantial decrease in the visual artifact could be done using dynamic weights that depend on the estimated motion value for a particular pixel. Using estimated motion values as weights will reduce both visual artifacts, but they will still be visible.
However, adding a third component to the weighted sum, which is a high frequency vertical component of adaptive previous field pixels, will further reduce the artifacts. This component is obtaining by applying a vertical high pass filter that has a zero value at zero Hz.
The weights depend on the particular motion value detected by the motion detector. If the motion value is zero, the output pixel is completely formed from a replicated adjacent previous field pixel (W1=1, W2 = 0, W3 = 0). If the motion value is high, it is formed by intrafield interpolation (W1=0, W2 = 0, W3 = 1). For slow motion all three weights are nonzero.