本文有部分演示视频请移步 字节跳动技能团队微信公众号 进行观看

暑假期间小跳出去旅游,沿途用手机记载下了许多美丽风光。回家路上,小跳翻开手机想用慢倍速去细细品味自己拍照的视频,发现视频激烈的卡顿感让其“相形见绌”。失望的小跳想起前段时刻在抖音上看到的剪映 APP 丝滑慢放教程,抱着试一试的情绪翻开了剪映,几番操作下来,视频发生了质的改变,像是回到了拍照的那瞬间,把当下没被记载的片段统统复原出来,卡顿感“一键”全无。是什么技能让视频复原出当下的瞬间,让卡顿视频变得如此丝滑?本文对字节跳动智能创造团队自研视频插帧技能进行了深度解剖,为咱们找到了丝滑视频的诀窍。

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

随着技能的发展,电视、手机等播映设备可以支撑播映更高帧率的视频。现在用户已经不满足陈腐的 20~30 fps 视频规范。因为网络传输、拍照丢帧、后期编辑等原因,线上甚至存在不少实际帧率低于 15 fps 的视频。为了消除低帧率视频的卡顿感,需求运用插帧技能来提高视频的帧率,然后给观众带来丝滑流通的播映体会。

【点击进入原文观看演示视频】

插帧算法经过核算原视频的帧间运动联系,在两帧之间刺进契合运动联系的中心帧,然后提高视频的帧率。

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

字节跳动智能创造团队打造了一套多端视频智能插帧解决计划,在抖音、剪映、西瓜等多个事务场景落地。该计划能对低帧率短视频进行帧率提高,改善短视频观看体会;同时还为视频创造者供给了高阶视频编排东西,对变速视频进行补帧、生成丝滑慢动作作用。除此之外,还衍生出多种特效玩法,在多个事务上取得了投稿、拉新、留存、DAU 等目标的显著收益。

视频插帧业界解决计划

低帧率视频发生的原因有许多,视频从创造到消费的链路上,拍照、编排、编解码、下发战略等因素都或许会对视频帧率造成影响。因而在各个环节上,插帧技能都有运用价值。需求构建一套多端视频插帧解决计划,才能最大程度地将帧率问题优化到极致。

针对不同的运用场景、不同的后端设备,算法计划也有所不同。当时业界常用的解决计划有:

  • 帧交融或重复帧

直接将前后两帧的交融成果或重复帧作为新增的中心帧,刺进到原视频中。该办法核算简略,但会发生拖影感和卡顿感,并没有起到提高视频观看体会的作用。通常可作为特殊场景、低端设备的兜底计划。

Adobe Premiere,Final Cut Pro 等专业编排软件中也集成了该办法,作为插帧的一个可选办法。

  • 传统 MEMC 计划

MEMC (Motion Estimation, Motion Compensation) 是一类运动补偿算法。此类算法会对相邻两帧进行运动估量,补偿出原视频中自身没有的画面,到达提高视频帧率的意图。MEMC 所生成的中心帧契合原视频的平滑运动联系,因而可以使视频更流通。但关于运动杂乱的场景,很难在有限的算力条件下得到精确的成果。

Adobe Premiere 、Final Cut Pro 中的光流法插帧( Pr 中也叫“时刻插值”)中就是选用此类办法。

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

  • 深度学习计划

依据深度学习的计划,通常将原视频相邻两帧作为神经网络的输入,结合光流神经网络、遮挡估量等技能,来预测两帧之间的中心帧。深度学习办法可以提取图画语义信息,因而往往在遮挡估量等方面体现更优。但深度学习办法往往核算量大,很难在移动设备上运用。

现在依据深度学习的光流算法较为成熟,可以核算两帧之间的密集光流。用了光流信息,可以将前后两帧图画 Warp 到中心时刻,然后合成中心帧。

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

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

图源 Nvidia SuperSlomo 论文

自研插帧算法的突破与优化

多端插帧算法才能矩阵

为了服务抖音、西瓜、剪映、火山引擎等不同事务场景的需求,同时全链路优化帧率问题,咱们构建了一套视频插帧多端解决计划。

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

  • 服务端

服务端拥有 GPU 算力,因而合适选用深度学习计划来取得更平滑的插帧作用。自研服务端插帧算法为抖音事务供给了云端帧率提高转码才能,以改进低帧率短视频的观看体会。日后也会以云服务的形式,逐渐对更多事务线、ToB 客户敞开。

  • 移动端

假如能直接在移动设备上运用插帧算法,那么算法才能可以触达更多的视频创造者,在视频生产环节即可提高视频流通度。针对移动端运用场景,咱们研发了依据 MEMC 的插帧算法,并针对 MEMC 算法存在的问题做了细致的优化。

  • PC 端

专业视频创造者往往运用桌面端专业编排软件进行视频创造。自研的视频插帧解决计划也为 PC 端的剪映专业版供给了插帧才能。关于配备有独立显卡的 PC 设备,可选用深度学习计划来确保更好的插帧作用;其他 PC 设备可复用移动端的中心算法,来确保算法运转的功能。

优化计划

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

  • 神经网络模型紧缩

咱们选用模型剪枝技能,减少神经网络中冗余的权重。并且经过特征共享,减少双向光流的核算量。除此之外,依据光流的平滑特性,咱们选用在小分辨率光流推理、在原分辨率进行中心帧合成的战略,减小杂乱网络的核算量。

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

并不是一切的视频的内容都合适运用插帧,关于相邻帧改变剧烈的场景(例如转场、剧烈运动),插帧算法无法生成一个合理的成果,甚至或许引入严峻伪影。因而咱们对视频内容进行插帧可行性判别,依据图画特征、运动幅度等信息,自适应地决议是否为当时帧进行插帧。

  • 更高效的 MEMC 战略

块匹配是一个依据查找的运动估核算法,需求在前后帧的一定领域内查找最匹配的图画块。关于运动杂乱的视频,这种办法往往需求较大的查找空间,才能查找出最优运动向量。这给移动端运用带来了算法瓶颈。咱们研发了一套光流辅导的块查找战略,来解决块匹配的功能和作用的问题。

自研办法首先在相邻两帧之间,核算一个多标准快速光流。图画金字塔多标准战略,可以使得算法对大运动场景更鲁棒。得到初步光流信息后,可以以光流作为辅导,在金字塔最大标准上做进一步块查找。此时,块查找只需在较小的查找空间即可快速查找出最优运动向量。

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

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

无论是多标准快速光流,还是光流辅导的块查找,整个核算进程都可并行核算。使得算法在移动设备上,也能高效运转。

  • 端上异构核算

在端上运用了 CPU+GPU 的核算方式,将核算密集型使命分配给 GPU,运用 opencl 或 metal 完成算子,并依据渠道做特定的功能调优;而核算稀少型使命则在 CPU 上完结核算,并运用多线程等操作进行功能优化。经过异构核算,在端上可以完成 5 倍左右的加速比,功能到达落地需求。

  • 端上算法分级战略

抖音、剪映等 app 覆盖用户量级大,用户机型多样。为了确保算法的机型覆盖率,让不同机型用户取得最佳体会,咱们选用了端上算法分级的战略。依据用户机型的核算才能,端上插帧算法分为高、中、低三个档位,高档位优先确保作用,合适高端机型;低档位优先确保功能,合适低端机型。

智能补帧及其衍生运用

  • 剪映变速-智能补帧

咱们的插帧才能已上线剪映“变速”面板。视频素材慢放后,可勾选“智能补帧”选项,让慢动作更丝滑。

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

  • 主动变速构思玩法

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

【点击进入原文观看演示视频】

  • 帧率提高

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

【点击进入原文观看演示视频】

  • 王家卫电影风格

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

【点击进入原文观看演示视频】

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

一些作用惊艳的 GAN 特效算法,往往杂乱度高。在视频特效场景需求逐帧进行神经网络推理,很难到达实时功能。但在插帧算法功能优于 GAN 特效效法的前提下,可以运用“特效+补帧”的战略来加速视频处理。杂乱度高的GAN 特效只需求以一定距离处理更少的帧数,其他中心帧运用插帧算法生成。

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

未来展望

除了视频编辑、特效玩法,未来咱们将持续探索插帧技能在视频高清低码场景的运用价值。插帧技能不仅可以提高视频内容质量,还能在带宽节省、低延传输等方面发挥价值。

  • 低功耗实时视频插帧

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

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

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

经过下方链接或二维码进行简历投递,参加咱们,让咱们一同做图画视频算法的领军者!

  • 高级图画算法研发工程师 — 抖音:北京/上海/杭州/深圳职位敞开,job.toutiao.com/s/j6K2wKE

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

  • 核算摄影算法专家-抖音:北京/上海/杭州/深圳职位敞开,job.toutiao.com/s/j6KKmLV

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

  • 高功能核算架构工程师 — 抖音:北京/上海/杭州/深圳职位敞开,

    • 推理引擎方向: job.toutiao.com/s/j6K7Wtt

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

    • 高功能核算方向:job.toutiao.com/s/j6Ks2Ks

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