Joe’s De-Interlacer combines three-frame motion differencing with an extremely fast de-interlace routine. The first version of Joe’s De-Interlacer focused on speed. While I was happy with the results, this review pointed out some flaws which I hadn’t considered. Challenged by that article, I decided to build a better de-interlacer. The quality of the results surprised me.

Joe’s De-Interlacer is written in Final Cut Pro’s native FXScript effects language so filtered clips stay in their native YUV color space.

Advantages of Motion Differencing

Original Image
Original Image
Original Image
Motion Difference De-Interlace
Original Image
Standard Fullframe De-Interlace


The differences between motion differenced and standard de-interlaced clips becomes especially apparent on diagonals and areas of fine detail. (1) The diagonal lines on the roof and (3) the painted lines in the street become jagged without Motion Differencing. Also notice how the fine detail of (2) the brick wall in the background becomes soft and muddy. Because none of these elements changed between frames, motion differencing preserves the vertical information from both fields of the video frame for a better quality image.

Motion Differencing works by calculating which pixels have changed between the previous frame and the following frame. This information is used to generate a mask so only the changed pixels are de-interlaced. Motion Differencing works best with a static camera.

De-Interlace Methods

The following examples show the different methods of de-interlacing clips. Motion Differencing has been turned off to show the differences.

Field Double
Field Double
Interpolate
Interpolate
Interpolate
Fast Interpolate


Fast Interpolate is the default option because it is the fastest to render (thus the name) and almost indistinguishable from the slightly better looking Interpolate method, especially when combined with Motion Differencing.

Motion Difference Artifacts

The default Motion Differencing settings do a good job for most clips but there are occasions where the settings need tweaking. Below is an extreme example where a bicyclist is moving quickly through the frame. The default settings leave lots of motion artifacts due to the distance between fields. Increasing the Threshold and Soften settings corrects the problem, which can also be seen by viewing the Motion Mask.

Interpolate
Original Image
Interpolate
Default Settings
Interpolate
Motion Mask
Interpolate
Threshold245
Soften8
Interpolate
Corrected Motion Mask
Interpolate
Colorize Motion

Field Order and Final Cut Pro’s De-Interlace Filter

Final Cut Pro’s De-Interlace filter has it’s fields reversed. This can be easily checked by applying the de-interlace effect to a frame with fast motion. Since DV NTSC has a known field order of bottom field first, the top field should be offset in time forward 1/60 of a second.

The following images of a swimmer caught mid-dive provide an excellent indication of field order. Within the duration of this frame the diver’s hands break the surface of the water. In the first field his hand are above the water, in the second they’ve broken the surface. This clip was shot on DV NTSC clip so the lower field should come first in time.

Interlaced Original Image
Interlaced Original
Joe's De-Interlace: Lower
Joe’s De-Interlacer:
Lower Field
Joe's De-Interlace: Upper
Joe’s De-Interlacer:
Upper Field
FCP's De-Interlace: Lower
FCP’s De-Interlacer:
Lower Field
FCP's De-Interlace: Upper
FCP’s De-Interlacer:
Upper Field


FCP’s Lower Field appears later in time than the Upper Field, showing that it is isolating the opposite field from what was selected.

Render Time

Adding Motion Differencing increases rendering time due to the added complexity and additional calculations. Below is a small, non-scientific chart showing rendering times on a 10 second NTSC DV clip:

  • Default Settings: 3:45
  • Fast Interpolate, no motion differencing: 1:15
  • Interpolate, no motion differencing: 1:26
  • Field Double, no motion differencing: 1:23
  • Final Cut Pro De-Interlace filter: 1:43

Tests were run on an 800mhz G4 PowerBook with 1Gb RAM, OSX 10.2.2 and FCP 3.0.4. During the tests I had over a dozen other applications running in the background (thank you OS X!). Your results may vary.

Controls

Joe's De-Interlacer Controls

De-Interlace

Field (Upper Field (odd), Lower Field (even))
Chooses which field to use as the basis of the resulting image.
Method (Field Double, Interpolate, Fast Interpolate)
Determines the method of de-interlacing the video frame.

Motion Differencing

Motion Difference
Turns Motion Differencing on and off.
Difference Using (Luma, RGB)
Sets which color space to use for motion difference calculations.
Threshold (128 - 254)
Determines the sensitivity of motion differencing. Higher numbers select more pixels as moving, lower numbers select fewer pixels as moving. Setting the threshold to 254 is very similar to disabling motion differencing. Note that selecting RGB differencing may result in a slightly different colors due to the colorspace conversion.
Soften (0 - 10)
Softens the motion mask to reduce motion artifacting.

Mask Check

View (Merged Output, Motion Mask, Colorize Motion)
These settings are used to preview the motion differencing mask. Selecting Motion Mask will show the current motion mask as a grayscale image, black pixels represent moving areas. Colorize Motion will mark the clip’s moving areas with the mask color. Both of these options require Motion Differencing to be turned on to show any results.
Mask Color, Color Opacity
Used to specify how motion is represented when Colorize Motion is selected in the Motion Check View setting.

Fade With Original

Opacity (0 - 100)
Blends the final image back onto the original. This can be used as a flicker-filter or to fade the effect on and off using keyframes.

Important Note about field-based effect previews

All of Final Cut Pro’s field-based effects need to be rendered for an accurate preview. At zoom values below 100%, the FCP desktop preview only shows the lower field of an interlaced video frame and pre-rendered effects use this scaled down, single-field image to preview before rendering.

Joe’s De-Interlacer Feedback

  1. Subject: Field blending seems to help Joe’s De-Interlacer.

    I find I get better results when I follow using Joe’s De-Interlacer with using Final Cut’s de-interlace max flicker fixer filter. Has anyone else noticed or mentioned this? The latter filter seems to soften the image a little by doing a half-dissolve between the two fields - which seems to introduce a little verticle resolution loss, but not nearly as badly as de-interlacing to only one field. That filter can work ok on it’s own, but it’s much better with Joe’s De-Interlacer. Another nice thing about using the flicker filter is it seems to further soften the motion mask and help with high motion areas. It also helps to prepare DV video prior to compression to other less space-intensive formats (avoiding the dreaded jaggies that get worse with compression). I’m not sure but perhaps Joe’s Field Blender could be used as well to provide an interesting alternative to the flicker fixer for enhancing the effect of Joe’s De-Interlacer. Personally I like the image better when I can soften both the core of objects and even the slightest amount of jaggedness to their edges - even if this jaggedness is already reduced by Joe’s De-Interlacer, or by the object moving slowly.

    Thanks.

    • Stacy.

Add your feedback:


Legal HTML tags:<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>