视频插帧技术:从光流、MEMC 到 BiM-VFI

1. 问题背景:为什么慢放视频会卡顿?

视频由连续图像帧组成,帧率表示每秒播放的画面数量,单位是 fps。帧率越高,画面变化越连续,视觉观感通常越流畅。

当一段视频被慢放时,如果只是简单拉长播放时间,而没有增加新的中间帧,视频的有效帧率会下降。例如一段 30 fps 的视频被放慢到 0.25 倍,实际观感可能接近 7.5 fps,画面就会出现明显卡顿。

视频插帧技术的目标,就是在原始相邻帧之间生成合理的中间帧,使视频在慢放或帧率提升后依然保持流畅。

简单来说,插帧要解决的问题是:

给定前一帧 I0 和后一帧 I1,
预测中间时刻 It。

这个任务看起来像是“补一张图”,但本质上是一个复杂的时序建模问题。算法需要理解物体如何运动、哪些区域被遮挡、哪些区域新出现,以及如何生成清晰自然的中间画面。


2. 核心概念:光流

视频插帧中最基础的概念是光流。

光流描述的是:

每个像素从前一帧移动到后一帧的位移向量。

如果一个像素点从:

$$ (x, y) $$

移动到:

$$ (x+u, y+v) $$

那么它的光流就是:

$$ (u, v) $$

整张图像上每个像素都有一个运动向量,这些向量共同构成一张光流图。

直观理解:

人物向右移动:人物区域的光流大多指向右侧
背景不动:背景区域的光流接近 0
镜头平移:整张图像可能出现整体方向一致的光流

有了光流,就可以把前后两帧根据运动关系 warp 到中间时刻,再融合生成中间帧。

如果光流估计准确,插帧结果会自然;如果光流错误,就容易出现重影、拖影、边缘破碎、人物变形等问题。


3. 视频插帧的三类传统方案

3.1 重复帧或帧融合

最简单的方案是重复已有帧,或者直接对前后帧做线性融合。

重复帧的结果类似:

A A B B C C

帧融合可以写成:

$$ I_{0.5} = 0.5 I_0 + 0.5 I_1 $$

这种方法计算量很小,适合低端设备或特殊场景兜底,但效果有限。重复帧仍然会卡顿,帧融合容易产生半透明重影和拖影。


3.2 传统 MEMC 方法

MEMC 全称是 Motion Estimation and Motion Compensation,即运动估计与运动补偿。

它的基本思想是:

先估计前后帧之间的运动关系,
再根据运动关系补偿出中间帧。

例如一个物体从左侧移动到右侧,如果算法估计出它的运动方向和距离,就可以推测它在中间时刻大致应该处于哪里。

MEMC 的优势是计算相对可控,适合电视、播放器、移动端等工业场景。很多视频软件和电视高刷补帧功能都使用过这类思想。

但 MEMC 的问题也很明显:

大幅运动难处理
复杂遮挡难处理
非刚体运动难处理
快速转场容易失败
运动边界容易出现破碎和拖影

传统 MEMC 依赖运动估计的准确性,一旦运动估计错误,后续补偿出来的中间帧也会出错。


3.3 深度学习插帧方法

深度学习方法通常将前后两帧输入神经网络,由网络预测中间帧所需的运动信息、遮挡关系和融合权重。

典型流程是:

输入 I0, I1
神经网络估计光流 / 中间运动 / 遮挡 mask
将两帧 warp 到目标时刻
融合并细化
输出 It

深度学习方法的优势在于,它不仅可以估计像素运动,还可以利用图像语义信息。

例如模型可以学习到:

这是人脸
这是头发
这是背景
这是运动边界
这是被遮挡区域

因此,在复杂遮挡、人物运动、头发、衣服边缘等场景中,深度学习方法通常比传统 MEMC 更强。

不过,深度学习方法计算量更大,在移动端部署时需要模型压缩、算子优化和硬件加速。


4. 字节跳动方案:工业落地型插帧系统

字节跳动智能创作团队的方案代表了一种典型的工业落地思路。它不是单纯追求论文指标,而是面向抖音、剪映、西瓜视频等真实业务场景,构建多端视频插帧解决方案。

4.1 多端能力矩阵

不同设备的算力和使用场景不同,因此方案也不同:

服务端:适合使用深度学习模型,追求更高画质
移动端:适合使用优化后的 MEMC,追求速度、功耗和覆盖率
PC 端:有独显时可使用深度学习方案,无独显时复用轻量方案

这体现了工业算法的现实原则:

算法不能只看效果,还要考虑算力、成本、延迟、发热、稳定性和设备覆盖率。


4.2 神经网络模型压缩

在服务端和 PC 端,深度学习插帧模型虽然效果好,但计算量大。因此需要做模型压缩。

常见策略包括:

模型剪枝:减少冗余权重和通道
特征共享:减少双向光流的重复计算
低分辨率估计光流:降低重模型计算量
原分辨率合成中间帧:尽量保持输出清晰度

其中“低分辨率估计光流,高分辨率合成图像”是一个很实用的工程策略。因为光流通常比较平滑,不一定需要全程在原始分辨率上运行复杂网络。


4.3 内容自适应插帧判断

不是所有视频片段都适合插帧。

例如:

突然转场
剧烈运动
快速闪白
严重运动模糊
前后帧内容完全不连续

在这些场景中,强行插帧可能会引入严重伪影。

因此,工业系统通常会先判断当前片段是否适合插帧,再决定是否补帧。判断依据可能包括图像差异、运动幅度、光流一致性、场景切换概率、模糊程度等。

这个设计很重要。真实产品中,目标不是每一帧都强行补,而是该补的补,不该补的避免出错。


4.4 光流指导的块搜索

移动端算力有限,传统块匹配如果搜索范围太大,计算成本会很高。

字节方案采用了更高效的思路:

先计算多尺度快速光流,得到大致运动方向;
再以光流为指导,在较小范围内做块搜索。

这样做相当于先通过光流获得一个粗略导航,再在局部区域精确搜索最优运动向量。

多尺度金字塔也很关键。图像缩小后,大运动在低分辨率下变成较小位移,因此更容易估计。然后再逐层放大、细化运动信息。

这套方案的核心优势是:

速度快
适合移动端
能够处理一定程度的大运动
工程可控
便于多机型落地

5. 2026 年更值得关注的方法:BiM-VFI

如果从科研角度看,当前更值得深入理解的是 BiM-VFI。

BiM-VFI 的核心问题意识是:

真实视频运动通常不是匀速的。

很多插帧模型在训练时默认前后帧之间的运动接近匀速,因此会认为:

t = 0.5 时,物体应该在空间中点附近。

但真实视频中的运动经常包含:

加速
减速
转向
抛物线运动
人手摆动
头发飘动
镜头运动与物体运动叠加

同样是中间时刻,物体在空间中的位置可能并不位于前后两帧的几何中点。

这就带来一个关键问题:

时间位置和空间位置之间存在歧义。

BiM-VFI 将其称为 time-to-location ambiguity。模型在训练时看到同一个时间比例,但对应多个可能的空间位置,就容易学到平均结果。平均结果在图像上表现出来,就是模糊。

因此,BiM-VFI 的判断非常关键:

插帧模糊不只是网络不够大,也不只是光流不准,还可能是训练信号本身存在歧义。


6. BiM:双向运动场

BiM 的全称是 Bidirectional Motion Field,双向运动场。

它希望告诉模型:

目标中间帧相对于前一帧和后一帧的距离比例是多少;
目标中间帧到两端帧的运动方向夹角是多少。

核心公式如下:

$$ M_{t\to 0,1}(x,y)

\begin{bmatrix} R(x,y)
\Phi(x,y) \end{bmatrix}

\begin{bmatrix} \dfrac{r_0}{r_0+r_1}
\phi \end{bmatrix} $$

其中:

$$ r_0 = \left\lVert V_{t\to 0}(x,y) \right\rVert, \quad r_1 = \left\lVert V_{t\to 1}(x,y) \right\rVert $$

$$ \phi

\angle V_{t\to 1}(x,y)

\angle V_{t\to 0}(x,y) $$

这里:

  • $V_{t\to 0}$:从目标中间帧 $I_t$ 指向前一帧 $I_0$ 的运动;
  • $V_{t\to 1}$:从目标中间帧 $I_t$ 指向后一帧 $I_1$ 的运动;
  • $r_0$:目标帧到前一帧的运动距离;
  • $r_1$:目标帧到后一帧的运动距离;
  • $\phi$:两个方向之间的角度差。

BiM 不只描述“当前是第几个时间点”,还描述目标帧在双向运动关系中的具体位置和方向关系。

这使模型能够区分:

匀速直线运动
加速运动
减速运动
转向运动
非刚体运动

传统方法只用时间 t,信息量太少;BiM 增加了距离比例和方向角度,因此能更好地缓解非匀速运动带来的歧义。


7. BiM-VFI 的关键思想

BiM-VFI 的关键并不是在推理阶段神奇地知道真实中间帧,而是在训练阶段利用真实中间帧构造更明确的运动描述,让模型少学模糊的平均解。

可以这样理解:

训练时:
模型可以看到真实中间帧 It,
因此可以构造 BiM,
让模型知道这个样本对应哪种运动关系。

推理时:
模型只能看到 I0 和 I1,
但它已经通过训练学到更清晰的运动表达。

所以 BiM-VFI 的价值在于:

它从训练机制上减少运动歧义,让模型在复杂非匀速运动下生成更清晰的中间帧。


8. BiM-VFI 与字节方案的区别

字节方案和 BiM-VFI 代表两种不同目标。

字节方案更偏工业落地:

关注移动端实时运行
关注多机型覆盖
关注发热、功耗、延迟
关注算法稳定性
关注线上成本

BiM-VFI 更偏高质量科研方法:

关注非匀速运动
关注训练歧义
关注感知质量
关注复杂运动下的清晰度
关注更准确的运动表达

二者的核心区别可以总结为:

维度字节方案BiM-VFI
主要目标工业落地高质量插帧
重点场景移动端、剪辑、短视频产品非匀速复杂运动
核心方法快速光流 + MEMC + 块搜索 + 工程优化双向运动场 + 深度网络 + 训练歧义缓解
优势快、稳、适合大规模上线清晰度高、复杂运动表现更好
主要限制复杂遮挡和非匀速运动下仍可能出错算力成本更高,端上部署难度更大

可以说:

字节方案解决的是“如何让插帧在真实产品中跑起来”,BiM-VFI 解决的是“为什么深度插帧在复杂运动下会糊,以及如何从运动表达上改进”。


9. 对 AIGC 视频检测的启发

视频插帧不仅是视频增强技术,也可能成为 AIGC 视频检测中的重要后处理变量。

AIGC 视频检测常常依赖时序线索,例如:

帧间闪烁
身份漂移
纹理不稳定
局部运动不自然
光流异常
边界抖动
频域不连续

而高质量插帧会改变这些时序线索。

例如 BiM-VFI 这类方法可能会:

减少帧间突变
改善局部运动连续性
降低运动边界模糊
让生成视频看起来更加平滑
改变光流统计分布
改变频域和压缩后的时序特征

这意味着,高质量插帧可能成为一种 temporal anti-forensics 后处理。

也就是说,它不是通过加噪声破坏视频,而是通过增强视频的时间连续性,让检测器更难捕捉原始伪造痕迹。

因此,可以提出一个很有价值的研究问题:

高质量视频插帧是否会抹除 AIGC 视频检测器依赖的时序伪影?

这个问题比简单研究压缩、模糊、加噪声更有意义。因为插帧是一种真实产品中广泛存在的视频增强操作,符合现实传播链路。


10. 一个可行的实验设计

可以构建如下实验链路:

真实视频
AIGC 视频
AIGC + RIFE 插帧
AIGC + AMT 插帧
AIGC + BiM-VFI 插帧
AIGC + 插帧 + H.264/H.265 压缩

然后测试多个检测器在不同后处理下的表现:

原始 fake 检测分数
插帧后 fake 检测分数
插帧再压缩后的检测分数
光流统计变化
频域变化
身份一致性变化
时序特征变化

如果检测器在插帧后性能明显下降,说明它可能依赖了脆弱的时序伪影。

进一步可以比较不同插帧方法对检测器的影响:

RIFE:轻量实时插帧
AMT:强匹配插帧
BiM-VFI:非匀速运动增强插帧

这样就能分析:

哪类插帧最容易削弱检测器?
检测器依赖的是低级压缩痕迹,还是高级时序不一致?
插帧是否会改变 AIGC 视频的 temporal fingerprint?

这可以成为 AIGC 视频鲁棒检测中的一个重要实验方向。


11. 总结

视频插帧的本质,是根据前后帧之间的运动关系生成中间帧,从而提升视频帧率和时间连续性。

传统方法包括重复帧、帧融合和 MEMC。它们计算简单或工程可控,但在复杂运动、遮挡和非刚体场景下容易出现伪影。

深度学习插帧进一步引入神经网络、光流估计、遮挡感知和特征融合,使模型能够生成更自然的中间帧。

字节跳动的方案代表工业落地路线,重点在多端部署、模型压缩、内容自适应判断、光流指导块搜索和异构计算。它解决的是插帧技术如何在真实产品中稳定运行的问题。

BiM-VFI 则代表更前沿的高质量插帧思路。它指出真实视频运动往往不是匀速的,传统插帧模型容易受到 time-to-location ambiguity 的影响,从而生成模糊结果。BiM 通过距离比例和方向夹角描述目标帧与两端帧之间的双向运动关系,从训练阶段缓解运动歧义,让模型学到更清晰的中间帧生成方式。

对于 AIGC 视频检测来说,插帧技术尤其值得关注。因为它会改变视频的时序连续性、光流分布、帧间闪烁和频域特征,可能削弱检测器依赖的伪造线索。

因此,视频插帧不仅是视频增强技术,也可以成为 AIGC 视频检测鲁棒性研究中的重要后处理变量。未来的检测器如果要真正适应真实传播场景,就必须考虑插帧、变速、压缩、转码等视频链路操作对检测结果的影响。