08 · Interpolate

Smooth the motion

Film shot at ~18 fps looks stuttery on modern screens. Rather than show each frame twice, we invent brand-new in-between frames so motion genuinely flows.

Fixes: choppy 18 fps Tool: Practical-RIFE (GPU) run_rife.py

RIFE (Real-time Intermediate Flow Estimation) is a neural network that, given two consecutive frames, predicts the optical flow, where every pixel moved, and synthesizes the frame that would sit exactly halfway along that motion. For each original pair it emits: original, synthesized middle, next original, doubling 18 fps to 36 fps.

Top: two real frames A and C; the optical flow (arrows) places the invented frame B halfway. Bottom: the same motion played back, 18 fps jumps in big steps; 36 fps glides because RIFE filled the gaps. The dashed ball marks an invented frame.
Why we split into shots first: RIFE only ever interpolates within a shot. Ask it to blend the last frame of one scene into the first of the next and it would morph a face into a wall.
Yossi's dials: defaults, 2× → 36 fps.