手機(jī)上用AI實(shí)時(shí)、流暢解碼視頻,超精細(xì)畫質(zhì)提升:高通研發(fā)出首個(gè)神經(jīng)視頻****
用神經(jīng)網(wǎng)絡(luò)給視頻解碼,效率居然還挺高的。
隨著通信和互聯(lián)網(wǎng)技術(shù)的進(jìn)步,特別是智能手機(jī)的普及以及 4G、5G 移動(dòng)通信技術(shù)的成熟與發(fā)展,視頻聊天、視頻游戲等多樣化的視頻娛樂方式層出不窮,普通用戶對(duì)視頻的消費(fèi)需求也在不斷增長(zhǎng)。2018 年思科 CISCO《視覺網(wǎng)絡(luò)指數(shù)》報(bào)告預(yù)測(cè),到 2022 年,82% 的互聯(lián)網(wǎng)流量將由視頻創(chuàng)造。
除了日常生活中的娛樂交流用途之外,視頻也正在更多行業(yè)場(chǎng)景中大顯身手。比如,以視頻技術(shù)為核心的安防領(lǐng)域、智能工廠中對(duì)工人行為的視頻監(jiān)控與識(shí)別、輔助與自動(dòng)駕駛中通過攝像頭記錄視頻畫面實(shí)時(shí)檢測(cè)環(huán)境、以及近年來越來越多明星也下場(chǎng)參與的視頻直播營(yíng)銷,等等。與此同時(shí),隨著 AI 領(lǐng)域計(jì)算機(jī)視覺(CV)技術(shù)的蓬勃發(fā)展,CV + 視頻的技術(shù)組合將會(huì)在越來越多的應(yīng)用場(chǎng)景中發(fā)揮不可或缺的作用。
然而,海量的視頻數(shù)據(jù)對(duì)視頻的傳輸、存儲(chǔ)和其他處理帶來了巨大的挑戰(zhàn)。視頻壓縮、編解碼等視頻處理技術(shù)也就變得至關(guān)重要。在觀看視頻時(shí),用戶想要體驗(yàn)更高的畫質(zhì)和流暢度,這些都依托更高效的視頻處理技術(shù)。多年來,計(jì)算機(jī)中視頻解碼的工作多由 CPU 來完成,這種方式易于使用但效率算不上很高。利用 GPU 解碼視頻是另一種選擇。隨著短視頻等應(yīng)用的興起,在手機(jī)等移動(dòng)端借助專用解碼單元進(jìn)行實(shí)時(shí)視頻解碼也成為了一種新的發(fā)展方向,對(duì)于視頻直播等實(shí)時(shí)性視頻服務(wù)具有重要意義。
與此同時(shí),隨著 AI 領(lǐng)域深度神經(jīng)網(wǎng)絡(luò)的發(fā)展,越來越多的企業(yè)探索如何使神經(jīng)網(wǎng)絡(luò)賦能自身產(chǎn)品。高通驍龍 SoC 中的 AI 引擎就充分融入了神經(jīng)網(wǎng)絡(luò)能力,其中的硬件組件 Hexagon 向量處理器支持 8 位定點(diǎn)加速神經(jīng)網(wǎng)絡(luò)運(yùn)行,軟件組件驍龍神經(jīng)處理(SNP)SDK 支持 CNN、LSTM 與自定義層。
旗艦 SoC 驍龍 888 集成的第六代高通 AI 引擎更是實(shí)現(xiàn)了 26 TOPS 的 AI 算力,神經(jīng)網(wǎng)絡(luò)處理 SDK 帶來一系列改進(jìn),增加了對(duì) RNN 模型的支持,助力手機(jī)端側(cè) AI 性能提升至了全新水平。
那么,有沒有可能將 AI 引擎蘊(yùn)含的巨大算力更廣泛、更深入地應(yīng)用于視頻領(lǐng)域呢?最近,高通就在這方面做了更多的嘗試,利用驍龍 888 內(nèi)置的 AI 引擎和 CPU 進(jìn)行視頻解碼。結(jié)果發(fā)現(xiàn):基于神經(jīng)網(wǎng)絡(luò)的神經(jīng)視頻解碼效果還不錯(cuò)。
高通 AI 研究院的新工作,實(shí)現(xiàn)了業(yè)界首款在商用智能手機(jī)端實(shí)時(shí)運(yùn)行、基于軟硬件結(jié)合的神經(jīng)視頻****,在接近 720p HD 分辨率的視頻上實(shí)現(xiàn)了 30 fps 以上的實(shí)時(shí)解碼。
從軟 / 硬解碼到 AI 神經(jīng)視頻解碼
作為一項(xiàng)重要的視頻處理技術(shù),視頻編解碼廣泛應(yīng)用于通信、計(jì)算機(jī)與廣播電視領(lǐng)域,并催生了網(wǎng)絡(luò)電視、廣播電視、數(shù)字影院、遠(yuǎn)程教育和會(huì)議電視等一系列實(shí)際應(yīng)用。
就主要作用而言,視頻編解碼技術(shù)是在可用的計(jì)算資源內(nèi),追求盡可能高的視頻重建質(zhì)量和盡可能高的壓縮比,以達(dá)到帶寬和存儲(chǔ)容量的要求。視頻編****則是一種能夠?qū)?shù)字視頻進(jìn)行壓縮或者解壓縮的程序或者設(shè)備。
很長(zhǎng)時(shí)間以來,基于 CPU 的軟件編解碼技術(shù)(也稱軟解碼)一直主導(dǎo)著市場(chǎng),如英特爾內(nèi)置于其 CPU 中的視頻編解碼引擎以及開源軟件 FFmpeg 中的 libavcodec ****,雖然易于使用,但會(huì)占用 CPU 資源,提升功耗,編解碼效率不高,容易出現(xiàn)卡頓、花屏等異常,影響其他應(yīng)用的正常運(yùn)行。
因此,利用 GPU 或者專用處理器來對(duì)視頻進(jìn)行編解碼(也稱硬解碼)成為另一種選擇,如英偉達(dá)推出的基于 GPU 的硬件****模塊 NvCodec,不僅可以實(shí)現(xiàn)良好的編碼性能,而且使用顯卡編碼不會(huì)占用太多系統(tǒng)資源,也就不會(huì)影響應(yīng)用的使用性能。
但是,日益增長(zhǎng)的視頻消費(fèi)需求對(duì)未來的視頻編****提出了更高的要求,應(yīng)該具備以下功能:
比特率和感知質(zhì)量指標(biāo)的直接優(yōu)化
簡(jiǎn)化的編****開發(fā)
內(nèi)在的大規(guī)模并行性
高效執(zhí)行和更新已部署硬件的能力
可下載的編****更新
隨著深度神經(jīng)網(wǎng)絡(luò)(DNN)技術(shù)的顯著進(jìn)步及其在計(jì)算機(jī)視覺和通信系統(tǒng)領(lǐng)域的廣泛應(yīng)用,基于神經(jīng)網(wǎng)絡(luò)的視頻編****有可能提供所有上述期望的功能。具體來說,這類視頻編****不僅可以在為其他 AI 應(yīng)用開發(fā)的 AI 硬件加速器上運(yùn)行,還能實(shí)現(xiàn)更高效的熵編碼并行化。
在這種潛力的驅(qū)動(dòng)下,過去幾年神經(jīng)網(wǎng)絡(luò)視頻編****成為了研究熱門,如 2017 年谷歌提出的 Hyperprior 自編碼器、18 年上海交通大學(xué)等機(jī)構(gòu)提出的端到端深度視頻壓縮(Deep Video Compression )框架以及 2020 年谷歌研究院感知團(tuán)隊(duì)提出的用于端到端優(yōu)化視頻壓縮的擴(kuò)展空間流(Scale-Space Flow)。這類神經(jīng)視頻編****展現(xiàn)出了令人矚目的壓縮性能,并縮小了與傳統(tǒng)編****之間的差距。
基于 AI 的壓縮具有絕對(duì)優(yōu)勢(shì)。
但還應(yīng)看到,將 AI 研究從實(shí)驗(yàn)室?guī)У綄?shí)際應(yīng)用場(chǎng)景往往并不容易。這也意味著,神經(jīng)視頻編****的實(shí)際部署面臨著很大的挑戰(zhàn)。大多數(shù)相關(guān)研究利用具有浮點(diǎn)計(jì)算的壁式驅(qū)動(dòng)的高端 GPU,并且神經(jīng)網(wǎng)絡(luò)模型架構(gòu)往往沒有針對(duì)快速推理進(jìn)行優(yōu)化。因此,對(duì)于具有固定計(jì)算、功率和溫度約束的移動(dòng)設(shè)備而言,在這類神經(jīng)網(wǎng)絡(luò)****模型上運(yùn)行實(shí)時(shí)推理不切實(shí)際或不可行。
在驍龍 888 SoC 的商用智能手機(jī)上,高通 AI 研究院在基于軟硬件結(jié)合的神經(jīng)網(wǎng)絡(luò)視頻****方面實(shí)現(xiàn)了新的突破。
利用驍龍 888 的 CPU 和 AI 引擎,實(shí)現(xiàn) 30+fps 的高清視頻解碼
憑借在節(jié)能 AI 方面的專業(yè)知識(shí)以及驍龍 888 平臺(tái)的強(qiáng)大 AI 算力,高通在商用智能手機(jī)上實(shí)現(xiàn)了實(shí)時(shí)幀內(nèi)神經(jīng)視頻編碼。高效率視頻編碼(HEVC)中的幀內(nèi)編碼可以視為高端視頻編碼(AVC)的擴(kuò)展,它們利用空間上的取樣預(yù)測(cè)來編碼。幀內(nèi)編碼過程與幀間編碼共用部分的處理步驟包含轉(zhuǎn)換、量化、熵編碼等。為此,高通 AI 研究院在以下幾個(gè)方面進(jìn)行了優(yōu)化:
重新設(shè)計(jì)網(wǎng)絡(luò)架構(gòu)以降低復(fù)雜度;
在 AI 推理引擎上量化和加速神經(jīng)網(wǎng)絡(luò);
利用并行熵編碼。
基于以上幾個(gè)方面的優(yōu)化,高通利用驍龍 888 移動(dòng)平臺(tái)上的 CPU 和 AI 引擎,開發(fā)出了一種基于軟硬件結(jié)合的神經(jīng)視頻****,以超過 30fps 的速度解碼了分辨率 1280×704 的高清視頻,并且無需視頻解碼單元的任何幫助。驍龍 888 集成第六代高通 AI 引擎,作為一整套處理器協(xié)作系統(tǒng),這代 AI 引擎包含了重新設(shè)計(jì)的 Hexagon 780 處理器,將 AI 全方位賦能極速通信、專業(yè)影像、游戲體驗(yàn)等諸多方面。
具有高效解碼性能的 8 比特模型
****架構(gòu)優(yōu)化、并行熵解碼(PEC)和 AIMET 量化感知訓(xùn)練是高通 AI 研究院實(shí)現(xiàn)智能手機(jī)端高效神經(jīng)編碼的三個(gè)重要步驟。
第一步,基于一個(gè) SOTA 幀對(duì)壓縮網(wǎng)絡(luò),通過剪枝通道和優(yōu)化網(wǎng)絡(luò)操作實(shí)現(xiàn)了****架構(gòu)優(yōu)化,依靠驍龍 888 內(nèi)置的 AI 引擎進(jìn)行加速,降低了計(jì)算復(fù)雜度。
第二步,創(chuàng)建一種快速并行化熵解碼(fast parallel entropy decoding)算法。該算法可以利用數(shù)據(jù)級(jí)和線程級(jí)并行化,從而可以實(shí)現(xiàn)更高的熵編碼吞吐量。在高通的方案中,驍龍 888 的 CPU 用來處理并行熵解碼。
第三步,優(yōu)化后模型的權(quán)重和激活量化至 8 比特,然后通過量化感知訓(xùn)練來恢復(fù)速率失真帶來的損失。這里用到了高通創(chuàng)新中心開源的 AI 模型效率工具包(AI Model Efficiency Toolkit, AIMET),該工具于 2020 年 5 月推出并開源,是一個(gè)支持神經(jīng)網(wǎng)絡(luò)模型訓(xùn)練的高級(jí)量化和壓縮技術(shù)的庫(kù)。
通過這三個(gè)步驟,高通 AI 研究院構(gòu)建了一個(gè)具有高效解碼性能的 8 比特模型(8-bit model)。
AI 解碼的效果
在 Demo 設(shè)置中,高通 AI 研究院選取了分辨率為 1280×704(接近 720p HD)的視頻,通過離線運(yùn)行****網(wǎng)絡(luò)和熵解碼生成壓縮的比特流。接著,壓縮的比特流通過驍龍 888 移動(dòng)設(shè)備(商用智能手機(jī))上運(yùn)行的并行熵解碼和****網(wǎng)絡(luò)來處理,其中并行熵解碼在 CPU 上運(yùn)行,****網(wǎng)絡(luò)在第六代高通 AI 引擎進(jìn)行加速。
最終,高通 AI 研究院得到了一個(gè)神經(jīng)解碼算法,在 1280×704 分辨率的視頻中實(shí)現(xiàn)了每秒 30 幀以上的解碼速度。如下為商用智能手機(jī)上神經(jīng)視頻解碼的動(dòng)態(tài)演示,右上角為視頻解碼速度(Speed)和同一視頻幀內(nèi)的迭代次數(shù)(Loop),右邊為運(yùn)行時(shí)平均比特率(Bit Rate)和視頻每幀圖像中每單位像素的平均碼流(Bits per Pixel per Frame, BPF)。
在 Demo 演示中,視頻和解碼參數(shù)被設(shè)置為高質(zhì)量,并選取了一系列具有挑戰(zhàn)性和精細(xì)紋理的自然場(chǎng)景。在實(shí)現(xiàn) 30 幀以上解碼速度的同時(shí),豐富的視覺結(jié)構(gòu)和紋理都借助神經(jīng)解碼網(wǎng)絡(luò)準(zhǔn)確地保留了下來,實(shí)現(xiàn)了非常好的場(chǎng)景重現(xiàn)。比特率符合全幀內(nèi)(all-intra)配置和選取的質(zhì)量,表明這一神經(jīng)視頻****能夠支持高質(zhì)量視頻流所需的數(shù)據(jù)吞吐量。
由于基于 AI 的編****可以生成比特流中沒有的視覺細(xì)節(jié),因此與傳統(tǒng)編****相比,相同或更高質(zhì)量視頻的比特率應(yīng)該會(huì)低一些。這也意味著視頻編****將變成軟硬件結(jié)合驅(qū)動(dòng)的,任何新的編****都可以由 SoC 中的 CPU 和內(nèi)置 AI 加速器處理,只要它們足夠強(qiáng)大。
目前,這一神經(jīng)視頻****只支持幀內(nèi)解碼,這意味著每幀視頻都是獨(dú)立解碼,不需要像其他視頻編****那樣考慮幀之間的微小變化。據(jù)悉,高通還將繼續(xù)致力于研究移動(dòng)設(shè)備上實(shí)時(shí)運(yùn)行的幀間視頻解碼。
就此項(xiàng)研究的意義而言,雖然在驍龍 888 SoC 上實(shí)現(xiàn) 30 fps + 高清視頻實(shí)時(shí)解碼依然有提升的空間,但手機(jī)端側(cè) AI 算力和影像能力的釋放,能夠?yàn)槭謾C(jī)用戶帶來更豐富的視頻應(yīng)用以及更清晰流暢的觀看體驗(yàn)。比如近期最新發(fā)布的驍龍 888 Plus 移動(dòng)平臺(tái),雖然僅僅是在驍龍 888 基礎(chǔ)上做出了部分升級(jí),但其 AI 算力已經(jīng)達(dá)到了驚人的 32TOPS,進(jìn)一步大幅度升級(jí);再加上高通接下來的持續(xù)深入研究,可以預(yù)見的是,AI 的高清視頻實(shí)時(shí)解碼能力將很快進(jìn)一步提升。
除了手機(jī)平臺(tái)之外,高通也已將 AI 處理視頻的各項(xiàng)能力引入了 PC、XR 和汽車等其他應(yīng)用平臺(tái)。比如全球首款 5G 擴(kuò)展現(xiàn)實(shí)平臺(tái)驍龍 XR2 的 AI 性能相較初代 XR 提升了 11 倍,大幅提升了視頻處理能力;PC 端的第二代驍龍 8cx 5G 計(jì)算平臺(tái)中,AI 能力加持的 Spectra ISP 支持了 4K HDR 品質(zhì)的視頻拍攝和背景虛化;第 4 代驍龍汽車數(shù)字座駕平臺(tái),增強(qiáng)了圖形圖像、計(jì)算機(jī)視覺和 AI 等功能,可以為駕乘者提供更智能和舒適的視頻服務(wù)等體驗(yàn)。
因此,從更大的視角來看,利用 AI 算力進(jìn)行視頻處理代表了未來的一個(gè)發(fā)展方向,也勢(shì)必會(huì)賦能更多應(yīng)用場(chǎng)景。
參考鏈接:
https://segmentfault.com/a/1190000038930366
https://cnx-software.cn/2021/06/28/neural-video-decoder-leverages/
https://finance.sina.com.cn/tech/2021-02-04/doc-ikftssap3428399.shtml
https://www.leiphone.com/category/industrynews/0YEJQiyu3umwEyjJ.html
https://www.qualcomm.com/news/onq/2021/06/17/worlds-first-software-based-neural-video-decoder-running-hd-format-real-time
*博客內(nèi)容為網(wǎng)友個(gè)人發(fā)布,僅代表博主個(gè)人觀點(diǎn),如有侵權(quán)請(qǐng)聯(lián)系工作人員刪除。