自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

智能插幀,打造絲滑視頻體驗(yàn)

原創(chuàng) 精選
移動(dòng)開發(fā)
暑假期間小跳出去旅游,沿途用手機(jī)記錄下了許多美麗景色?;丶衣飞希√蜷_手機(jī)想用慢倍速去細(xì)細(xì)品味自己拍攝的視頻,發(fā)現(xiàn)視頻強(qiáng)烈的卡頓感讓其“黯然失色”。

暑假期間小跳出去旅游,沿途用手機(jī)記錄下了許多美麗景色?;丶衣飞希√蜷_手機(jī)想用慢倍速去細(xì)細(xì)品味自己拍攝的視頻,發(fā)現(xiàn)視頻強(qiáng)烈的卡頓感讓其“黯然失色”。失望的小跳想起前段時(shí)間在抖音上看到的剪映 APP 絲滑慢放教程,抱著試一試的態(tài)度打開了剪映,幾番操作下來,視頻發(fā)生了質(zhì)的改變,像是回到了拍攝的那瞬間,把當(dāng)下沒被記錄的片段統(tǒng)統(tǒng)還原出來,卡頓感“一鍵”全無。是什么技術(shù)讓視頻還原出當(dāng)下的瞬間,讓卡頓視頻變得如此絲滑?本文對(duì)字節(jié)跳動(dòng)智能創(chuàng)作團(tuán)隊(duì)自研視頻插幀技術(shù)進(jìn)行了深度解剖,為大家找到了絲滑視頻的秘訣。

視頻幀率(單位:fps)指的是每秒播放的畫面數(shù)。在一定范圍內(nèi),幀率越高,視頻觀感越流暢。早期電影的幀率在 20~60 fps,現(xiàn)代電視廣泛使用的幀率標(biāo)準(zhǔn)是 25 fps 和 30 fps。

隨著技術(shù)的發(fā)展,電視、手機(jī)等播放設(shè)備能夠支持播放更高幀率的視頻。如今用戶已經(jīng)不滿足陳舊的 20~30 fps 視頻標(biāo)準(zhǔn)。由于網(wǎng)絡(luò)傳輸、拍攝丟幀、后期編輯等原因,線上甚至存在不少實(shí)際幀率低于 15 fps 的視頻。為了消除低幀率視頻的卡頓感,需要使用插幀技術(shù)來提升視頻的幀率,從而給觀眾帶來絲滑流暢的播放體驗(yàn)。

插幀算法通過計(jì)算原視頻的幀間運(yùn)動(dòng)關(guān)系,在兩幀之間插入符合運(yùn)動(dòng)關(guān)系的中間幀,從而提升視頻的幀率。

圖片

兩幀之間插入新的中間幀

字節(jié)跳動(dòng)智能創(chuàng)作團(tuán)隊(duì)打造了一套多端視頻智能插幀解決方案,在抖音、剪映、西瓜等多個(gè)業(yè)務(wù)場(chǎng)景落地。該方案能對(duì)低幀率短視頻進(jìn)行幀率提升,改善短視頻觀看體驗(yàn);同時(shí)還為視頻創(chuàng)作者提供了高階視頻剪輯工具,對(duì)變速視頻進(jìn)行補(bǔ)幀、生成絲滑慢動(dòng)作效果。除此之外,還衍生出多種特效玩法,在多個(gè)業(yè)務(wù)上取得了投稿、拉新、留存、DAU 等指標(biāo)的顯著收益。

視頻插幀業(yè)界解決方案

低幀率視頻產(chǎn)生的原因有很多,視頻從創(chuàng)作到消費(fèi)的鏈路上,拍攝、剪輯、編解碼、下發(fā)策略等因素都可能會(huì)對(duì)視頻幀率造成影響。因此在各個(gè)環(huán)節(jié)上,插幀技術(shù)都有應(yīng)用價(jià)值。需要構(gòu)建一套多端視頻插幀解決方案,才能最大程度地將幀率問題優(yōu)化到極致。

針對(duì)不同的使用場(chǎng)景、不同的后端設(shè)備,算法方案也有所不同。當(dāng)前業(yè)界常用的解決方案有:

幀融合或重復(fù)幀

  • 直接將前后兩幀的融合結(jié)果或重復(fù)幀作為新增的中間幀,插入到原視頻中。該方法計(jì)算簡(jiǎn)單,但會(huì)產(chǎn)生拖影感和卡頓感,并沒有起到提升視頻觀看體驗(yàn)的作用。通??勺鳛樘厥鈭?chǎng)景、低端設(shè)備的兜底方案。
  • Adobe Premiere,F(xiàn)inal Cut Pro 等專業(yè)剪輯軟件中也集成了該方法,作為插幀的一個(gè)可選方法

傳統(tǒng) MEMC 方案

  • MEMC (Motion Estimation, Motion Compensation) 是一類運(yùn)動(dòng)補(bǔ)償算法。此類算法會(huì)對(duì)相鄰兩幀進(jìn)行運(yùn)動(dòng)估計(jì),補(bǔ)償出原視頻中本身沒有的畫面,達(dá)到提升視頻幀率的目的。MEMC 所生成的中間幀符合原視頻的平滑運(yùn)動(dòng)關(guān)系,因此可以使視頻更流暢。但對(duì)于運(yùn)動(dòng)復(fù)雜的場(chǎng)景,很難在有限的算力條件下得到精確的結(jié)果。
  • Adobe Premiere 、Final Cut Pro 中的光流法插幀( Pr 中也叫“時(shí)間插值”)中就是采用此類方法。

圖片

運(yùn)動(dòng)補(bǔ)償示意

深度學(xué)習(xí)方案

  • 基于深度學(xué)習(xí)的方案,通常將原視頻相鄰兩幀作為神經(jīng)網(wǎng)絡(luò)的輸入,結(jié)合光流神經(jīng)網(wǎng)絡(luò)、遮擋估計(jì)等技術(shù),來預(yù)測(cè)兩幀之間的中間幀。深度學(xué)習(xí)方法可以提取圖像語義信息,因此往往在遮擋估計(jì)等方面表現(xiàn)更優(yōu)。但深度學(xué)習(xí)方法往往計(jì)算量大,很難在移動(dòng)設(shè)備上應(yīng)用。目前基于深度學(xué)習(xí)的光流算法較為成熟,可以計(jì)算兩幀之間的密集光流。用了光流信息,可以將前后兩幀圖像 Warp 到中間時(shí)刻,從而合成中間幀。
  • Nvidia SuperSlomo 提供一個(gè)在 Nvidia GPU 上運(yùn)行的深度學(xué)習(xí)插幀算法,但對(duì)顯卡性能有較高的要求。

圖片

圖源 Nvidia SuperSlomo 論文

自研插幀算法的突破與優(yōu)化

多端插幀算法能力矩陣

為了服務(wù)抖音、西瓜、剪映、火山引擎等不同業(yè)務(wù)場(chǎng)景的需求,同時(shí)全鏈路優(yōu)化幀率問題,我們構(gòu)建了一套視頻插幀多端解決方案。

圖片

視頻插幀多端解決方案

服務(wù)端

  • 服務(wù)端擁有 GPU 算力,因此適合采用深度學(xué)習(xí)方案來獲得更平滑的插幀效果。自研服務(wù)端插幀算法為抖音業(yè)務(wù)提供了云端幀率提升轉(zhuǎn)碼能力,以改進(jìn)低幀率短視頻的觀看體驗(yàn)。日后也會(huì)以云服務(wù)的形式,逐步對(duì)更多業(yè)務(wù)線、ToB 客戶開放。

移動(dòng)端

  • 如果能直接在移動(dòng)設(shè)備上使用插幀算法,那么算法能力可以觸達(dá)更多的視頻創(chuàng)作者,在視頻生產(chǎn)環(huán)節(jié)即可提升視頻流暢度。針對(duì)移動(dòng)端使用場(chǎng)景,我們研發(fā)了基于 MEMC 的插幀算法,并針對(duì) MEMC 算法存在的問題做了細(xì)致的優(yōu)化。

PC 端

  • 專業(yè)視頻創(chuàng)作者往往使用桌面端專業(yè)剪輯軟件進(jìn)行視頻創(chuàng)作。自研的視頻插幀解決方案也為 PC 端的剪映專業(yè)版提供了插幀能力。對(duì)于配備有獨(dú)立顯卡的 PC 設(shè)備,可采用深度學(xué)習(xí)方案來保證更好的插幀效果;其他 PC 設(shè)備可復(fù)用移動(dòng)端的核心算法,來保證算法運(yùn)行的性能。

優(yōu)化方案

盡管插幀技術(shù)已有較長(zhǎng)的發(fā)展歷史,業(yè)界也有成熟的應(yīng)用案例,但仍然面臨著性能和效果的巨大挑戰(zhàn)。在性能方面,服務(wù)端 GPU 算力成本大,移動(dòng)端算力局促且機(jī)型分布復(fù)雜。在效果方面,插幀效果依賴于準(zhǔn)確的運(yùn)動(dòng)估計(jì),如果視頻中存在大幅運(yùn)動(dòng)、前后遮擋等復(fù)雜運(yùn)動(dòng)場(chǎng)景,生成的中間幀可能會(huì)產(chǎn)生模糊、拖影、塊狀破碎感等現(xiàn)象。針對(duì)這些難點(diǎn),字節(jié)跳動(dòng)智能創(chuàng)作技術(shù)團(tuán)隊(duì),從算法與工程多個(gè)維度對(duì)多端插幀算法進(jìn)行了優(yōu)化。

神經(jīng)網(wǎng)絡(luò)模型壓縮

  • 我們采用模型剪枝技術(shù),減少神經(jīng)網(wǎng)絡(luò)中冗余的權(quán)重。并且通過特征共享,減少雙向光流的計(jì)算量。除此之外,根據(jù)光流的平滑特性,我們采用在小分辨率光流推理、在原分辨率進(jìn)行中間幀合成的策略,減小復(fù)雜網(wǎng)絡(luò)的計(jì)算量。

圖片

插幀網(wǎng)絡(luò)結(jié)構(gòu)示意

內(nèi)容自適應(yīng)的插幀可行性分析

  • 并不是所有的視頻的內(nèi)容都適合使用插幀,對(duì)于相鄰幀變化劇烈的場(chǎng)景(例如轉(zhuǎn)場(chǎng)、劇烈運(yùn)動(dòng)),插幀算法無法生成一個(gè)合理的結(jié)果,甚至可能引入嚴(yán)重偽影。因此我們對(duì)視頻內(nèi)容進(jìn)行插幀可行性判斷,根據(jù)圖像特征、運(yùn)動(dòng)幅度等信息,自適應(yīng)地決定是否為當(dāng)前幀進(jìn)行插幀。

更高效的 MEMC 策略

  • 塊匹配是一個(gè)基于搜索的運(yùn)動(dòng)估計(jì)算法,需要在前后幀的一定領(lǐng)域內(nèi)搜索最匹配的圖像塊。對(duì)于運(yùn)動(dòng)復(fù)雜的視頻,這種方法往往需要較大的搜索空間,才能搜索出最優(yōu)運(yùn)動(dòng)向量。這給移動(dòng)端應(yīng)用帶來了算法瓶頸。我們研發(fā)了一套光流指導(dǎo)的塊搜索策略,來解決塊匹配的性能和效果的問題。自研方法首先在相鄰兩幀之間,計(jì)算一個(gè)多尺度快速光流。圖像金字塔多尺度策略,可以使得算法對(duì)大運(yùn)動(dòng)場(chǎng)景更魯棒。得到初步光流信息后,可以以光流作為指導(dǎo),在金字塔最大尺度上做進(jìn)一步塊搜索。此時(shí),塊搜索只需在較小的搜索空間即可快速搜索出最優(yōu)運(yùn)動(dòng)向量。

圖片

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

圖片

在金字塔最大尺度上做塊搜索

  • 無論是多尺度快速光流,還是光流指導(dǎo)的塊搜索,整個(gè)計(jì)算過程都可并行計(jì)算。使得算法在移動(dòng)設(shè)備上,也能高效運(yùn)行。

端上異構(gòu)計(jì)算

  • 在端上使用了 CPU+GPU 的計(jì)算方式,將計(jì)算密集型任務(wù)分配給 GPU,使用 opencl 或 metal 實(shí)現(xiàn)算子,并根據(jù)平臺(tái)做特定的性能調(diào)優(yōu);而計(jì)算稀疏型任務(wù)則在 CPU 上完成計(jì)算,并使用多線程等操作進(jìn)行性能優(yōu)化。通過異構(gòu)計(jì)算,在端上可以實(shí)現(xiàn) 5 倍左右的加速比,性能達(dá)到落地需求。

端上算法分級(jí)策略

  • 抖音、剪映等 app 覆蓋用戶量級(jí)大,用戶機(jī)型多樣。為了保證算法的機(jī)型覆蓋率,讓不同機(jī)型用戶獲得最佳體驗(yàn),我們采用了端上算法分級(jí)的策略。根據(jù)用戶機(jī)型的計(jì)算能力,端上插幀算法分為高、中、低三個(gè)檔位,高檔位優(yōu)先保證效果,適合高端機(jī)型;低檔位優(yōu)先保證性能,適合低端機(jī)型。

智能補(bǔ)幀及其衍生應(yīng)用

剪映變速-智能補(bǔ)幀

  • 我們的插幀能力已上線剪映“變速”面板。視頻素材慢放后,可勾選“智能補(bǔ)幀”選項(xiàng),讓慢動(dòng)作更絲滑。

圖片

剪映智能補(bǔ)幀入口

自動(dòng)變速創(chuàng)意玩法

  • 剪映已在抖音玩法一欄上線“絲滑變速”效果,可以一鍵生成卡點(diǎn)變速效果。該玩法的“絲滑”效果,也少不了插幀能力的支持。海外版 CapCut 上線了同樣的能力,上線兩周即形成爆款。

幀率提升

  • 除了讓慢放更絲滑,幀率提升也是插幀算法的一大應(yīng)用。西瓜視頻“玩法庫(kù)”面板提供了幀率提升的體驗(yàn)入口,可將用戶上傳的低幀率視頻提升為高幀率視頻,提升視頻的流暢度。

王家衛(wèi)電影風(fēng)格

  • “王家衛(wèi)電影風(fēng)格”特效是插幀算法的一個(gè)衍生玩法,已上線剪映拍攝器及特效。該風(fēng)格通常是在拍攝階段通過攝像機(jī)慢快門來產(chǎn)生“拖影”的效果。而通過插幀算法的運(yùn)動(dòng)估計(jì)及補(bǔ)幀能力,在視頻后期階段,即可一鍵生成符合視頻場(chǎng)景運(yùn)動(dòng)關(guān)系的“拖影”效果。

輔助其他視頻算法節(jié)省算力

  • 一些效果驚艷的 GAN 特效算法,往往復(fù)雜度高。在視頻特效場(chǎng)景需要逐幀進(jìn)行神經(jīng)網(wǎng)絡(luò)推理,很難到達(dá)實(shí)時(shí)性能。但在插幀算法性能優(yōu)于 GAN 特效效法的前提下,可以使用“特效+補(bǔ)幀”的策略來加速視頻處理。復(fù)雜度高的GAN 特效只需要以一定間隔處理更少的幀數(shù),其余中間幀使用插幀算法生成。

圖片

插幀輔助其他算法減小耗時(shí)

未來展望

除了視頻編輯、特效玩法,未來我們將持續(xù)探索插幀技術(shù)在視頻高清低碼場(chǎng)景的應(yīng)用價(jià)值。插幀技術(shù)不僅可以提升視頻內(nèi)容質(zhì)量,還能在帶寬節(jié)省、低延傳輸?shù)确矫姘l(fā)揮價(jià)值。

  • 低功耗實(shí)時(shí)視頻插幀結(jié)合廠商能力,在算法與工程上極致優(yōu)化插幀性能。服務(wù)端只需下發(fā)更低幀率的低碼率視頻,使用高性能、低功耗的插幀算法,端上進(jìn)行實(shí)時(shí)插幀還原高幀率視頻。不僅保證用戶體驗(yàn),還能節(jié)省帶寬成本。
  • 結(jié)合編解碼器進(jìn)行智能補(bǔ)幀H.264 編碼器內(nèi)部會(huì)進(jìn)行運(yùn)動(dòng)估計(jì),通過編碼運(yùn)動(dòng)補(bǔ)償殘差來進(jìn)行幀間編碼。新一代 H.266 編碼器在運(yùn)動(dòng)估計(jì)準(zhǔn)確性、運(yùn)動(dòng)補(bǔ)償準(zhǔn)確性上進(jìn)行了更深入的優(yōu)化。將編解碼器與插幀進(jìn)行結(jié)合,運(yùn)動(dòng)估計(jì)信息能夠被插幀算法復(fù)用,插幀算法也能夠進(jìn)一步優(yōu)化幀間編碼的壓縮率。

參考文獻(xiàn)

[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.?

責(zé)任編輯:未麗燕 來源: 字節(jié)跳動(dòng)技術(shù)團(tuán)隊(duì)
相關(guān)推薦

2020-01-29 19:35:17

開源技術(shù) 軟件

2022-12-19 14:53:07

模型訓(xùn)練

2023-03-29 20:06:27

IdeaHub

2024-02-21 20:10:18

滾動(dòng)視頻網(wǎng)頁

2025-03-03 12:00:00

JavaScriptfor 循環(huán)語言

2020-09-07 07:00:09

AI 數(shù)據(jù)人工智能

2014-03-17 09:53:19

Akamai

2022-03-11 15:29:41

谷歌模型視頻

2024-05-21 10:28:51

API設(shè)計(jì)架構(gòu)

2023-03-03 17:00:00

部署Linux內(nèi)核

2019-03-26 14:29:18

超融合

2021-11-17 08:16:03

內(nèi)存控制Go

2023-07-18 07:56:20

2021-05-10 20:58:11

數(shù)據(jù)庫(kù)擴(kuò)容用戶

2022-11-03 07:49:52

JS原生元素
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)