隨著通信和互聯網技術的進步,特別是智能手機的普及以及 4G、5G 移動通信技術的成熟與發展,視頻聊天、視頻游戲等多樣化的視頻娛樂方式層出不窮,普通用戶對視頻的消費需求也在不斷增長。2018 年思科 CISCO《視覺網絡指數》報告預測,到 2022 年,82% 的互聯網流量將由視頻創造。


除了日常生活中的娛樂交流用途之外,視頻也正在更多行業場景中大顯身手。比如,以視頻技術為核心的安防領域、智能工廠中對工人行為的視頻監控與識別、輔助與自動駕駛中通過攝像頭記錄視頻畫面實時檢測環境、以及近年來越來越多明星也下場參與的視頻直播營銷等等。與此同時,隨著 AI 領域計算機視覺(CV)技術的蓬勃發展,CV + 視頻的技術組合將會在越來越多的應用場景中發揮不可或缺的作用。


高通研發出首個神經視頻解碼器:驍龍 888 加持,手機也能流程解碼


然而,海量的視頻數據對視頻的傳輸、存儲和其他處理帶來了巨大的挑戰。視頻壓縮、編解碼等視頻處理技術也就變得至關重要。在觀看視頻時,用戶想要體驗更高的畫質和流暢度,這些都依托更高效的視頻處理技術。多年來,計算機中視頻解碼的工作多由 CPU 來完成,這種方式易于使用但效率算不上很高。


利用 GPU 解碼視頻是另一種選擇。隨著短視頻等應用的興起,在手機等移動端借助專用解碼單元進行實時視頻解碼也成為了一種新的發展方向,對于視頻直播等實時性視頻服務具有重要意義。


與此同時,隨著 AI 領域深度神經網絡的發展,越來越多的企業探索如何使神經網絡賦能自身產品。高通驍龍 SoC 中的 AI 引擎就充分融入了神經網絡能力,其中的硬件組件 Hexagon 向量處理器支持 8 位定點加速神經網絡運行,軟件組件驍龍神經處理(SNP)SDK 支持 CNN、LSTM 與自定義層。


旗艦 SoC 驍龍 888 集成的第六代高通 AI 引擎更是實現了 26 TOPS 的 AI 算力,神經網絡處理 SDK 帶來一系列改進,增加了對 RNN 模型的支持,助力手機端側 AI 性能提升至了全新水平。


那么,有沒有可能將 AI 引擎蘊含的巨大算力更廣泛、更深入地應用于視頻領域呢?最近,高通就在這方面做了更多的嘗試,利用驍龍 888 內置的 AI 引擎和 CPU 進行視頻解碼。結果發現:基于神經網絡的神經視頻解碼效果還不錯。


高通 AI 研究院的新工作,實現了業界首款在商用智能手機端實時運行、基于軟硬件結合的神經視頻解碼器,在接近 720p HD 分辨率的視頻上實現了 30 fps 以上的實時解碼。


高通研發出首個神經視頻解碼器:驍龍 888 加持,手機也能流程解碼

從軟 / 硬解碼到 AI 神經視頻解碼


作為一項重要的視頻處理技術,視頻編解碼廣泛應用于通信、計算機與廣播電視領域,并催生了網絡電視、廣播電視、數字影院、遠程教育和會議電視等一系列實際應用。


就主要作用而言,視頻編解碼技術是在可用的計算資源內,追求盡可能高的視頻重建質量和盡可能高的壓縮比,以達到帶寬和存儲容量的要求。視頻編解碼器則是一種能夠對數字視頻進行壓縮或者解壓縮的程序或者設備。


很長時間以來,基于 CPU 的軟件編解碼技術(也稱軟解碼)一直主導著市場,如英特爾內置于其 CPU 中的視頻編解碼引擎以及開源軟件 FFmpeg 中的 libavcodec 解碼器,雖然易于使用,但會占用 CPU 資源,提升功耗,編解碼效率不高,容易出現卡頓、花屏等異常,影響其他應用的正常運行。


因此,利用 GPU 或者專用處理器來對視頻進行編解碼(也稱硬解碼)成為另一種選擇,如英偉達推出的基于 GPU 的硬件解碼器模塊 NvCodec,不僅可以實現良好的編碼性能,而且使用顯卡編碼不會占用太多系統資源,也就不會影響應用的使用性能。


但是,日益增長的視頻消費需求對未來的視頻編解碼器提出了更高的要求,應該具備以下功能:


比特率和感知質量指標的直接優化


簡化的編解碼器開發


內在的大規模并行性


高效執行和更新已部署硬件的能力


可下載的編解碼器更新


隨著深度神經網絡(DNN)技術的顯著進步及其在計算機視覺和通信系統領域的廣泛應用,基于神經網絡的視頻編解碼器有可能提供所有上述期望的功能。具體來說,這類視頻編解碼器不僅可以在為其他 AI 應用開發的 AI 硬件加速器上運行,還能實現更高效的熵編碼并行化。


在這種潛力的驅動下,過去幾年神經網絡視頻編解碼器成為了研究熱門,如 2017 年谷歌提出的 Hyperprior 自編碼器、18 年上海交通大學等機構提出的端到端深度視頻壓縮(Deep Video Compression )框架以及 2020 年谷歌研究院感知團隊提出的用于端到端優化視頻壓縮的擴展空間流(Scale-Space Flow)。這類神經視頻編解碼器展現出了令人矚目的壓縮性能,并縮小了與傳統編解碼器之間的差距。


但還應看到,將 AI 研究從實驗室帶到實際應用場景往往并不容易。這也意味著,神經視頻編解碼器的實際部署面臨著很大的挑戰。大多數相關研究利用具有浮點計算的壁式驅動的高端 GPU,并且神經網絡模型架構往往沒有針對快速推理進行優化。因此,對于具有固定計算、功率和溫度約束的移動設備而言,在這類神經網絡解碼器模型上運行實時推理不切實際或不可行。


在驍龍 888 SoC 的商用智能手機上,高通 AI 研究院在基于軟硬件結合的神經網絡視頻解碼器方面實現了新的突破。


利用驍龍 888 的 CPU 和 AI 引擎,實現 30+fps 的高清視頻解碼


憑借在節能 AI 方面的專業知識以及驍龍 888 平臺的強大 AI 算力,高通在商用智能手機上實現了實時幀內神經視頻編碼。高效率視頻編碼(HEVC)中的幀內編碼可以視為高端視頻編碼(AVC)的擴展,它們利用空間上的取樣預測來編碼。幀內編碼過程與幀間編碼共用部分的處理步驟包含轉換、量化、熵編碼等。為此,高通 AI 研究院在以下幾個方面進行了優化:


重新設計網絡架構以降低復雜度;


在 AI 推理引擎上量化和加速神經網絡;


利用并行熵編碼。


基于以上幾個方面的優化,高通利用驍龍 888 移動平臺上的 CPU 和 AI 引擎,開發出了一種基于軟硬件結合的神經視頻解碼器,以超過 30fps 的速度解碼了分辨率 1280×704 的高清視頻,并且無需視頻解碼單元的任何幫助。驍龍 888 集成第六代高通 AI 引擎,作為一整套處理器協作系統,這代 AI 引擎包含了重新設計的 Hexagon 780 處理器,將 AI 全方位賦能極速通信、專業影像、游戲體驗等諸多方面。


高通研發出首個神經視頻解碼器:驍龍 888 加持,手機也能流程解碼


具有高效解碼性能的 8 比特模型


解碼器架構優化、并行熵解碼(PEC)和 AIMET 量化感知訓練是高通 AI 研究院實現智能手機端高效神經編碼的三個重要步驟。


高通研發出首個神經視頻解碼器:驍龍 888 加持,手機也能流程解碼


第一步,基于一個 SOTA 幀對壓縮網絡,通過剪枝通道和優化網絡操作實現了解碼器架構優化,依靠驍龍 888 內置的 AI 引擎進行加速,降低了計算復雜度。


第二步,創建一種快速并行化熵解碼(fast parallel entropy decoding)算法。該算法可以利用數據級和線程級并行化,從而可以實現更高的熵編碼吞吐量。在高通的方案中,驍龍 888 的 CPU 用來處理并行熵解碼。


第三步,優化后模型的權重和激活量化至 8 比特,然后通過量化感知訓練來恢復速率失真帶來的損失。這里用到了高通創新中心開源的 AI 模型效率工具包(AI Model Efficiency Toolkit, AIMET),該工具于 2020 年 5 月推出并開源,是一個支持神經網絡模型訓練的高級量化和壓縮技術的庫。


通過這三個步驟,高通 AI 研究院構建了一個具有高效解碼性能的 8 比特模型(8-bit model)。


AI 解碼的效果


在 Demo 設置中,高通 AI 研究院選取了分辨率為 1280×704(接近 720p HD)的視頻,通過離線運行解碼器網絡和熵解碼生成壓縮的比特流。接著,壓縮的比特流通過驍龍 888 移動設備(商用智能手機)上運行的并行熵解碼和解碼器網絡來處理,其中并行熵解碼在 CPU 上運行,解碼器網絡在第六代高通 AI 引擎進行加速。


高通研發出首個神經視頻解碼器:驍龍 888 加持,手機也能流程解碼


最終,高通 AI 研究院得到了一個神經解碼算法,在 1280×704 分辨率的視頻中實現了每秒 30 幀以上的解碼速度。如下為商用智能手機上神經視頻解碼的動態演示,右上角為視頻解碼速度(Speed)和同一視頻幀內的迭代次數(Loop),右邊為運行時平均比特率(Bit Rate)和視頻每幀圖像中每單位像素的平均碼流(Bits per Pixel per Frame, BPF)。


在 Demo 演示中,視頻和解碼參數被設置為高質量,并選取了一系列具有挑戰性和精細紋理的自然場景。在實現 30 幀以上解碼速度的同時,豐富的視覺結構和紋理都借助神經解碼網絡準確地保留了下來,實現了非常好的場景重現。比特率符合全幀內(all-intra)配置和選取的質量,表明這一神經視頻解碼器能夠支持高質量視頻流所需的數據吞吐量。


由于基于 AI 的編解碼器可以生成比特流中沒有的視覺細節,因此與傳統編解碼器相比,相同或更高質量視頻的比特率應該會低一些。這也意味著視頻編解碼器將變成軟硬件結合驅動的,任何新的編解碼器都可以由 SoC 中的 CPU 和內置 AI 加速器處理,只要它們足夠強大。


目前,這一神經視頻解碼器只支持幀內解碼,這意味著每幀視頻都是獨立解碼,不需要像其他視頻編解碼器那樣考慮幀之間的微小變化。據悉,高通還將繼續致力于研究移動設備上實時運行的幀間視頻解碼。


就此項研究的意義而言,雖然在驍龍 888 SoC 上實現 30 fps + 高清視頻實時解碼依然有提升的空間,但手機端側 AI 算力和影像能力的釋放,能夠為手機用戶帶來更豐富的視頻應用以及更清晰流暢的觀看體驗。


比如近期最新發布的驍龍 888 Plus 移動平臺,雖然僅僅是在驍龍 888 基礎上做出了部分升級,但其 AI 算力已經達到了驚人的 32TOPS,進一步大幅度升級;再加上高通接下來的持續深入研究,可以預見的是,AI 的高清視頻實時解碼能力將很快進一步提升。


除了手機平臺之外,高通也已將 AI 處理視頻的各項能力引入了 PC、XR 和汽車等其他應用平臺。比如全球首款 5G 擴展現實平臺驍龍 XR2 的 AI 性能相較初代 XR 提升了 11 倍,大幅提升了視頻處理能力;


PC 端的第二代驍龍 8cx 5G 計算平臺中,AI 能力加持的 Spectra ISP 支持了 4K HDR 品質的視頻拍攝和背景虛化;第 4 代驍龍汽車數字座駕平臺,增強了圖形圖像、計算機視覺和 AI 等功能,可以為駕乘者提供更智能和舒適的視頻服務等體驗。


因此,從更大的視角來看,利用 AI 算力進行視頻處理代表了未來的一個發展方向,也勢必會賦能更多應用場景。


文章來源: 機器之心,CSDN技術社區 

免責聲明

我來說幾句

不吐不快,我來說兩句
最新評論

還沒有人評論哦,搶沙發吧~