智能插帧,打造丝滑视频体验

动手点关注 干货不迷路 

暑假期间小跳出去旅游,沿途用手机记录下了许多美丽景色。回家路上,小跳打开手机想用慢倍速去细细品味自己拍摄的视频,发现视频强烈的卡顿感让其“黯然失色”。失望的小跳想起前段时间在抖音上看到的剪映 APP 丝滑慢放教程,抱着试一试的态度打开了剪映,几番操作下来,视频发生了质的改变,像是回到了拍摄的那瞬间,把当下没被记录的片段统统还原出来,卡顿感“一键”全无。是什么技术让视频还原出当下的瞬间,让卡顿视频变得如此丝滑文对字节跳动智能创作团队自研视频插帧技术进行了深度解剖,为大家找到了丝滑视频的秘诀。

视频帧率(单位:fps)指的是每秒播放的画面数。在一定范围内,帧率越高,视频观感越流畅。早期电影的帧率在 20~60 fps,现代电视广泛使用的帧率标准是 25 fps 和 30 fps。

插帧算法通过计算原视频的帧间运动关系,在两帧之间插入符合运动关系的中间帧,从而提升视频的帧率。

运动补偿示意

  • 深度学习方案

    基于深度学习的方案,通常将原视频相邻两帧作为神经 络的输入,结合光流神经 络、遮挡估计等技术,来预测两帧之间的中间帧。深度学习方法可以提取图像语义信息,因此往往在遮挡估计等方面表现更优。但深度学习方法往往计算量大,很难在移动设备上应用。

    目前基于深度学习的光流算法较为成熟,可以计算两帧之间的密集光流。用了光流信息,可以将前后两帧图像 Warp 到中间时刻,从而合成中间帧。

    Nvidia SuperSlomo 提供一个在 Nvidia GPU 上运行的深度学习插帧算法,但对显卡性能有较高的要求。

    视频插帧多端解决方案

    • 服务端

      服务端拥有 GPU 算力,因此适合采用深度学习方案来获得更平滑的插帧效果。自研服务端插帧算法为抖音业务提供了云端帧率提升转码能力,以改进低帧率短视频的观看体验。日后也会以云服务的形式,逐步对更多业务线、ToB 客户开放。

    • 移动端

    • PC 端

    优化方案

    尽管插帧技术已有较长的发展历史,业界也有成熟的应用案例,但仍然面临着性能和效果的巨大挑战。在性能方面,服务端 GPU 算力成本大,移动端算力局促且机型分布复杂。在效果方面,插帧效果依赖于准确的运动估计,如果视频中存在大幅运动、前后遮挡等复杂运动场景,生成的中间帧可能会产生模糊、拖影、块状破碎感等现象。针对这些难点,字节跳动智能创作技术团队,从算法与工程多个维度对多端插帧算法进行了优化。

    • 神经 络模型压缩

      我们采用模型剪枝技术,减少神经 络中冗余的权重。并且通过特征共享,减少双向光流的计算量。除此之外,根据光流的平滑特性,我们采用在小分辨率光流推理、在原分辨率进行中间帧合成的策略,减小复杂 络的计算量。

      基于多尺度金字塔的快速光流

      剪映智能补帧入口

    • 自动变速创意玩法

      剪映已在抖音玩法一栏上线“丝滑变速”效果,可以一键生成卡点变速效果。该玩法的“丝滑”效果,也少不了插帧能力的支持。海外版 CapCut 上线了同样的能力,上线两周即形成爆款。

    • 帧率提升

      除了让慢放更丝滑,帧率提升也是插帧算法的一大应用。西瓜视频“玩法库”面板提供了帧率提升的体验入口,可将用户上传的低帧率视频提升为高帧率视频,提升视频的流畅度。

    • 王家卫电影风格

      “王家卫电影风格”特效是插帧算法的一个衍生玩法,已上线剪映拍摄器及特效。该风格通常是在拍摄阶段通过摄像机慢快门来产生“拖影”的效果。而通过插帧算法的运动估计及补帧能力,在视频后期阶段,即可一键生成符合视频场景运动关系的“拖影”效果。

    • 辅助其他视频算法节省算力

      一些效果惊艳的 GAN 特效算法,往往复杂度高。在视频特效场景需要逐帧进行神经 络推理,很难到达实时性能。但在插帧算法性能优于 GAN 特效效法的前提下,可以使用“特效+补帧”的策略来加速视频处理。复杂度高的GAN 特效只需要以一定间隔处理更少的帧数,其余中间帧使用插帧算法生成。

      0c03c310cc643edcd6f0fc689e7683cf.png

      插帧辅助其他算法减小耗时

    未来展望

    • 低功耗实时视频插帧

      结合厂商能力,在算法与工程上极致优化插帧性能。服务端只需下发更低帧率的低码率视频,使用高性能、低功耗的插帧算法,端上进行实时插帧还原高帧率视频。不仅保证用户体验,还能节省带宽成本。

    • 结合编解码器进行智能补帧

      H.264 编码器内部会进行运动估计,通过编码运动补偿残差来进行帧间编码。新一代 H.266 编码器在运动估计准确性、运动补偿准确性上进行了更深入的优化。将编解码器与插帧进行结合,运动估计信息能够被插帧算法复用,插帧算法也能够进一步优化帧间编码的压缩率。

    参考文献

    [1] Jiang, Huaizu, et al. “Super slomo: High quality estimation of multiple intermediate frames for video interpolation.” Proceedings of the IEEE conference on computer vision and pattern recognition. 2018.

    [2] Niklaus S, Liu F. Context-aware synthesis for video frame interpolation[C]//Proceedings of the IEEE conference on computer vision and pattern recognition. 2018: 1701-1710.

    [3] Choi B D, Han J W, Kim C S, et al. Motion-compensated frame interpolation using bilateral motion estimation and adaptive overlapped block motion compensation[J]. IEEE Transactions on Circuits and Systems for Video Technology, 2007, 17(4): 407-416.

    关于我们

    目前,智能创作团队已通过字节跳动旗下的火山引擎向企业开放技术能力和服务。

    火山引擎联系方式

    业务咨询:service@volcengine.com

    市场合作:marketing@volcengine.com

    电话:400-850-0030

    点击“阅读原文“,获取最新招聘资讯!

    文章知识点与官方知识档案匹配,可进一步学习相关知识算法技能树首页概览33962 人正在系统学习中

    声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2022年7月12日
下一篇 2022年7月12日

相关推荐