其实不管是 PC 上的补帧、PR 里的光流法渲染、还是电视上的 MEMC 动态补偿,本质上都是通过计算画面中像素的运动轨迹,再依靠插帧的方式进行补帧。在一段影片当中,一个物体的运动轨迹是相对固定的,因此通过算法可以很容易地算出两帧画面中物体的运动轨迹,在两帧运动轨迹的中间加入模拟的运动轨迹帧,实现插帧效果。通过这样的手段能够实现 30 变 60 及以上的帧率,并且能够减少画面的拖影,让视频看起来更加干净清晰。 但是问题是这样简单的补帧会出现很多问题:例如会加大显卡的压力,带来散热和功耗的压力;有可能会出现画面物体的撕裂;物体边缘由于像素运动是「从无到有」,因此可能会出现连续性方面问题,这被称之为块效应;无法很好地解决前有遮挡的运动物体的运动轨迹补帧。 因此现阶段最先进的补帧方案是通过 AI 计算的方式进行补帧,请注意这里的 AI 不是噱头,而是真的通过 AI 卷积神经网络计算的方式。首先,要喂给 AI 大量的已有影像资料,通过机器学习的方式使 AI 训练出一个叫做「卷积核」的东西,这个卷积核是一个函数,输入画面到输出画面的变化就是由这个卷积核加权平均后决定的。卷积核有点像一个「超级滤镜」,通过这个卷积核计算的视频能够实现更加清晰和智能的补帧。这种 AI 补帧能够实现远胜于传统运动补帧算出来的视频效果,在上海交大开源的 DAIN(Depth-Aware Video Frame Interpolation) 插帧算法中,已经可以实现自动识别景深来辅助插帧,这样几乎完全解决了由于遮挡带来的画面 BUG。
图片来源:极客湾视频
但是相对来说这种补帧方式实现的成本也非常高:由于需要 CUDA 的帮助才能计算,因此必须要有一块英伟达显卡,AI 计算非常吃显卡性能(尤其是显存),所以这块显卡的水平还不能太差;非常花时间,以小时或者天为单位来实现优化。多说一句,这种 AI 计算的方式不但可以用来插帧,还可以用来提升画质,实现 480P 变 4K 的神奇操作。2019 年上映的电影《决胜时刻》中的开国大典就是根据从俄罗斯买回来的原片经过 AI 算法进行了修复后,实现了「胶片变 4K」的神奇效果。
这被称作「关键帧动画」,由手冢治虫提出。这样做主要是可以在不降低动画质量的前提下, 减轻动画原画的压力,但是会给插帧软件带来困扰……此外「隔行扫描」的视频是无法进行插帧的,不过现在隔行扫描的视频已经基本没有了,所以影响不大。 目前来看,体验出色的补帧视频能够相当程度上提升视频的观看体验,这点相信看过李安最近几部电影的都应该有所感觉。但是目前的民用补帧技术还相对比较落后,我还是非常期待 AI 补帧能够达到正常用户使用水平的那天。一个更加流畅的世界。