Using F_DeFlicker2

When working in film, you sometimes have to deal with shots that have a luminance flicker. This chapter concentrates on removing flicker using F_DeFlicker2.


F_Deflicker2 is used to remove flicker. It is particularly suitable for removing flicker that is localized and dependent on the geometry of the scene (that is, flicker that is not present across the whole of the image), such as that caused by an unsynchronized fluorescent light in a shot. It works by calculating the gain between the current frame and each frame in a small analysis range surrounding it. It then tries to adjust the gain so that it varies smoothly over this frame range. This means it is better at reducing fast flicker than flicker which varies slowly over the image sequence, as the latter will already appear smooth over the small frame range and F_DeFlicker2 will leave it largely untouched.

The algorithm used by F_DeFlicker2 can introduce blurring in areas where there is rapid motion. This problem could be alleviated by using local motion estimation before deflickering the frames. However, this process is complicated by the fact that the presence of flicker can adversely affect the results of the motion estimation. F_DeFlicker2 therefore adopts a two-stage approach to this problem. First, the normal deflickering process is performed. Then, the motion vectors for the sequence are calculated on the resulting deflickered frames, and applied to the original frames in order to align them. The deflicker calculation is then performed on the aligned frames to give the final result. To use this approach, turn on Use Motion in F_DeFlicker2.

Note:  Because F_DeFlicker2 looks at input frames outside the current frame when performing its calculation, it can be a computationally expensive plug-in. As such, using more than two instances of F_DeFlicker2 in a node tree will dramatically increase render times. It is strongly advised therefore, that you render each instance out separately.