視頻是互聯(lián)網(wǎng)應(yīng)用中占比最大的數(shù)據(jù)類型。智慧城市、視頻直播、短視頻、線上會(huì)議、VR、云游戲、視頻AI分析等視頻相關(guān)應(yīng)用近期獲得了迅猛發(fā)展,在這些應(yīng)用場(chǎng)景中對(duì)視頻的處理效率直接關(guān)系到用戶體驗(yàn)。如何獲得高品質(zhì)、高性能、低功耗的智能視頻處理成為了目前業(yè)界關(guān)注的熱點(diǎn)技術(shù)。
視頻是以單一格式創(chuàng)建和上傳的,但最終以不同的分辨率在不同的終端設(shè)備上播放,需要將原視頻解碼、后處理、再編碼,這一過程稱為轉(zhuǎn)碼。同時(shí),還需要根據(jù)不同應(yīng)用場(chǎng)景的需求對(duì)視頻進(jìn)行各種處理,如視頻縮放、視頻圖像增強(qiáng)、視頻增加廣告/字幕/水印/臺(tái)標(biāo)、視頻拼接等。隨著視頻處理需求激增,視頻業(yè)務(wù)成本快速上漲,各大視頻業(yè)務(wù)服務(wù)廠商不得不在用戶體驗(yàn)和資源成本之間做平衡。
在這種情況下VPU應(yīng)運(yùn)而生。VPU全稱Video Processing Unit(視頻處理單元),是專門面向AI場(chǎng)景優(yōu)化設(shè)計(jì)的視頻加速器,內(nèi)置視頻編碼加速專用功能模塊,具有高性能、低功耗、低延時(shí)等特性,為視頻行業(yè)應(yīng)用帶來(lái)高效能的加速計(jì)算。目前已有多家廠商宣布了VPU的開發(fā)計(jì)劃。Google近期宣布了一款名為Argos的視頻芯片(VCU)并將其大規(guī)模用于YouTube的視頻轉(zhuǎn)碼處理任務(wù)中。在國(guó)內(nèi),浪潮發(fā)布了AI視頻處理加速器M10A。浪潮M10A在8W超低功耗下可以實(shí)現(xiàn)16路1080P全高清視頻處理加速,支持H.264、H.265、VP9等多種視頻格式,兼容PCIE的服務(wù)器,為廣泛的互聯(lián)網(wǎng)視頻廠商提供計(jì)算支撐。
浪潮M10A加速卡▲
M10A系統(tǒng)架構(gòu)
M10A板卡的系統(tǒng)架構(gòu)設(shè)計(jì)兼顧了穩(wěn)定的數(shù)據(jù)流程和完善的控制流程。VPU芯片是整張板卡的數(shù)據(jù)處理核心單元,視頻數(shù)據(jù)的解碼、編碼、轉(zhuǎn)碼、后處理等功能都是在VPU芯片中完成的。為了與服務(wù)器BMC控制系統(tǒng)進(jìn)行連接,M10A板卡上設(shè)計(jì)了單獨(dú)的板級(jí)BMC管理芯片,完成板卡狀態(tài)收集和控制,包括溫度、功耗、告警、輸出復(fù)位等。從服務(wù)器BMC的控制界面中,可以獲取M10A板卡的狀態(tài)和控制等操作,這是M10A產(chǎn)品相比同類產(chǎn)品的顯著優(yōu)勢(shì)。
M10A板卡在完成視頻轉(zhuǎn)碼的過程中,僅需要輸入原始視頻就可以得到最終重新編碼的視頻,在整個(gè)轉(zhuǎn)碼的過程中不需要CPU數(shù)據(jù)面的參與,從而減少HOST主機(jī)CPU的性能消耗,降低轉(zhuǎn)碼延時(shí)。
M10A加速卡架構(gòu)圖
M10A智能視頻處理加速器處于視頻業(yè)務(wù)流程中的核心位置。如下圖所示,在數(shù)據(jù)中心,M10A搭載服務(wù)器組成高密度、低功耗、低成本的視頻處理專用服務(wù)器,進(jìn)而組建數(shù)據(jù)中心視頻處理加速集群。視頻輸入源完成視頻數(shù)據(jù)采集后,通過網(wǎng)絡(luò)傳輸?shù)綌?shù)據(jù)中心視頻處理加速集群中,M10A完成視頻流的解碼、后處理工作,比如對(duì)視頻YUV原始數(shù)據(jù)進(jìn)行縮放和裁剪操作,最后完成高質(zhì)量的視頻編碼,通過CDN分發(fā)給最終觀看者。
M10A除了完成支持傳統(tǒng)視頻轉(zhuǎn)碼操作外,還針對(duì)互聯(lián)網(wǎng)視頻的需求特點(diǎn),研發(fā)了多播模式,針對(duì)輸入視頻進(jìn)行衍生操作,最多可以支持1路視頻衍生4路視頻的操作,每路輸入視頻單獨(dú)調(diào)整幀格式、分辨率等屬性。
M10A核心技術(shù)
|無(wú)狀態(tài)設(shè)計(jì)
無(wú)論是解碼核心還是編碼核心,浪潮M10A在開發(fā)中均采用了無(wú)狀態(tài)設(shè)計(jì)思想。軟件通過操作一系列控制寄存器來(lái)管理編解碼核心。所有的輸入和輸出,比如待解碼幀、參考幀、運(yùn)動(dòng)向量都存儲(chǔ)在設(shè)備DRAM中。編解碼核心不會(huì)保存編解碼的狀態(tài),當(dāng)編解碼核心處理完一路視頻流的某一幀后,隨時(shí)可以切換到其它路視頻流進(jìn)行處理。這樣編解碼核心的調(diào)度管理將變的十分簡(jiǎn)潔,軟件可以派發(fā)任務(wù)到任意一個(gè)空閑的編解碼核,隨著編解碼核心的頻率提升,可處理視頻路數(shù)也將以接近線性的方式提升。這種上下文切換的消耗相較于編解碼一幀來(lái)說幾乎是忽略不計(jì)的??赡軐?duì)于攝像頭等某些邊緣嵌入式設(shè)備來(lái)說,在幀間處理時(shí)保留狀態(tài)是一種十分簡(jiǎn)潔的設(shè)計(jì)。但是就大型數(shù)據(jù)中心來(lái)說,它們要處理成千上萬(wàn)不同分辨率、不同碼率的視頻流,無(wú)狀態(tài)設(shè)計(jì)將是一種更友好、更高性能的選擇。
| 主觀畫質(zhì)優(yōu)化
浪潮M10A是目前市面上首款支持窄帶高清技術(shù)的視頻轉(zhuǎn)碼加速卡。窄帶高清技術(shù)的目標(biāo)是在標(biāo)準(zhǔn)編碼內(nèi)核的基礎(chǔ)上,在降低碼率的同時(shí)保持主觀質(zhì)量不下降。那它是如何做到的呢?現(xiàn)有視頻編碼是基于香農(nóng)定理,它的率失真模型都是連續(xù)的,但是人眼視覺模型是階梯性非連續(xù)的,因而在這個(gè)階梯上存在一個(gè)降碼率的空間。
窄帶高清一般情況下包含三個(gè)模塊:
一是基于人眼JND模型,也就是找出人眼最小可察覺誤差;
二是基于JND去做感知編碼;
三就是通過感知編碼來(lái)控制標(biāo)準(zhǔn)編碼內(nèi)核輸出,主要是去控制CU級(jí)別的QP delta。從而使得在主觀質(zhì)量不變的情況下大幅降低碼率。
窄帶高清技術(shù)在CPU編碼場(chǎng)景下是非常好控制的,用戶可以精確的設(shè)置CTU/CU級(jí)別的QP delta。但是到了視頻轉(zhuǎn)碼芯片就遇到了很大困難,絕大多數(shù)芯片編解碼控制最小單位都是frame或者slice,這也導(dǎo)致市面上大多數(shù)芯片在質(zhì)量精確優(yōu)化下有瓶頸,無(wú)法與CPU編碼抗衡,但是浪潮M10A卻可以。通過深入分析目前大廠主流視頻編碼技術(shù),M10A讓用戶不但可以設(shè)置常規(guī)意義上ROI(Region of Interest),還做了功能擴(kuò)展,讓用戶可以設(shè)置CTU/CU級(jí)別的ROI。
| 一進(jìn)多出(多播模式)
針對(duì)一進(jìn)多出的直播場(chǎng)景,浪潮M10A專門開發(fā)了前后處理模塊,提升了轉(zhuǎn)碼效率。
在真實(shí)的直播應(yīng)用場(chǎng)景中,數(shù)據(jù)采集端一般會(huì)采用固定的高清分辨率來(lái)獲取視頻源,但是到了播放端,事情就會(huì)變的復(fù)雜很多。有的用戶使用超大屏手機(jī),有的用戶使用老式的小屏機(jī),有的用戶使用PC機(jī)。各種各樣的終端設(shè)備,屏幕分辨率千變?nèi)f化。同時(shí)用戶所處的網(wǎng)絡(luò)環(huán)境也不盡相同,有的在偏遠(yuǎn)山區(qū)信號(hào)很差,有的在高速列車上信號(hào)時(shí)好時(shí)差,有的使用千兆光纖享受4K極致畫質(zhì)。這就帶來(lái)了新的問題,不同客戶需求千差萬(wàn)別,如何才能做到一路視頻源,同時(shí)滿足多種分辨率多種碼率要求呢?很快人們便想出了解決之道:在對(duì)視頻源轉(zhuǎn)碼的時(shí)候,同時(shí)轉(zhuǎn)碼成多種分辨率多種碼率的視頻流,這樣既滿足了多種多樣的客戶需求,也滿足了實(shí)時(shí)的要求。
浪潮M10A在解碼的同時(shí),后處理模塊會(huì)根據(jù)配置將一路視頻分離成多路不同分辨率的流(后處理模塊包含scale功能,可以對(duì)視頻做縮小處理)。并且前后處理模塊還采用了on-the-fly模式,解碼輸出將直接傳輸給后處理模塊(前處理輸出也直接傳輸給編碼模塊),避免了像一些GPU還需要把中間數(shù)據(jù)保存到顯存中,造成DDR帶寬的浪費(fèi)。
M10A測(cè)試數(shù)據(jù)
以下是浪潮M10A、谷歌Argos兩款VCU在處理1080P30全高清視頻實(shí)時(shí)轉(zhuǎn)碼業(yè)務(wù)時(shí)的性能數(shù)據(jù)。
(Google發(fā)表的論文中公布了其VPU的性能數(shù)據(jù),鏈接:
https://dl.acm.org/doi/abs/10.1145/3445814.3446723)
M10A在視頻質(zhì)量方面表現(xiàn)又如何呢?
目前業(yè)界一般采用PSNR(峰值信噪比)和SSIM(結(jié)構(gòu)相似性)作為視頻客觀質(zhì)量的評(píng)判標(biāo)準(zhǔn),而壓縮率則一般用編碼后碼流的bitrate來(lái)表示。將這兩個(gè)標(biāo)準(zhǔn)結(jié)合,就有了我們的綜合評(píng)判標(biāo)準(zhǔn):BD-PSNR和BD-SSIM。接下來(lái),我們將用M10A方案與GPU、CPU方案做編碼客觀質(zhì)量對(duì)比測(cè)試。請(qǐng)注意,不同的視頻內(nèi)容,編碼時(shí)會(huì)采用不同的編碼工具,因而壓縮率也不盡相同。這里我們將使用不同場(chǎng)景的視頻來(lái)完成測(cè)試。
下圖分別表示在靜態(tài)場(chǎng)景、動(dòng)態(tài)場(chǎng)景和多人物場(chǎng)景,使用VPU、CPU、GPU方案的編碼客觀質(zhì)量對(duì)比,橫軸表示碼率,縱軸表示PSNR值,相同碼率下,PSNR值越大代表視頻質(zhì)量越高。從圖中可以看出,在上述三個(gè)場(chǎng)景下,使用浪潮VPU編碼的視頻質(zhì)量都優(yōu)于CPU和GPU方案。
靜態(tài)場(chǎng)景視頻編碼質(zhì)量對(duì)比
動(dòng)態(tài)場(chǎng)景視頻編碼質(zhì)量對(duì)比
多人物場(chǎng)景視頻編碼質(zhì)量對(duì)比
M10A應(yīng)用場(chǎng)景
| 智慧城市
為了追求編碼速度,目前主流的攝像頭ISP編碼部分常常只能編碼I幀和P幀,這樣就導(dǎo)致視頻壓縮率不高。一般在邊緣云還需要再部署一臺(tái)轉(zhuǎn)碼服務(wù)器,對(duì)視頻作轉(zhuǎn)碼再壓縮,以節(jié)省傳輸帶寬。M10A以其優(yōu)異的轉(zhuǎn)碼性能和優(yōu)秀的視頻壓縮率,可以將多路攝像頭輸入數(shù)據(jù)作快速二次轉(zhuǎn)碼,從而讓邊緣云獲得更高的數(shù)據(jù)處理密度。
| 直播
在直播場(chǎng)景,同樣的視頻在不同設(shè)備上播放,需要通過轉(zhuǎn)碼將視頻轉(zhuǎn)換成不同的分辨率。H.265以其更高的壓縮率,被越來(lái)越多廠商采用。而一般原始設(shè)備上采集的視頻,還是以H.264居多,這也需要轉(zhuǎn)碼來(lái)完成。浪潮M10A以其遠(yuǎn)超CPU轉(zhuǎn)碼效率的出色性能,非常適用于直播場(chǎng)景。
| AI推理
視頻數(shù)據(jù)已經(jīng)成為數(shù)據(jù)中心最重要的數(shù)據(jù)類型,如何高效、低成本地分析視頻數(shù)據(jù)已經(jīng)成為行業(yè)痛點(diǎn),當(dāng)前行業(yè)的主流方案是采用圖片資源池和AI算力資源池的系統(tǒng)架構(gòu)。浪潮M10A支持視頻解碼和視頻后處理功能,擁有豐富的視頻縮放和圖像裁剪功能,最低可以提供144*144分辨率的圖片,滿足AI推理計(jì)算的需求同時(shí)降低圖片傳輸帶寬,是圖片資源池生產(chǎn)環(huán)境的最優(yōu)選擇。
| AI圖像增強(qiáng)
對(duì)于各大視頻平臺(tái)來(lái)說,視頻帶寬成本的壓力巨大,AI圖像增強(qiáng)技術(shù)已經(jīng)成為在不增加帶寬成本的情況下加強(qiáng)編碼畫質(zhì)的最佳選擇。浪潮M10A配合AI計(jì)算硬件,輸出解碼和后處理的YUV 原始數(shù)據(jù),經(jīng)過AI計(jì)算硬件完成圖像增強(qiáng)算法處理后,M10A完成最終的視頻編碼工作。浪潮M10A擁有豐富的編碼參數(shù),提供CPU x265 veryslow級(jí)別的編碼效果,是AI圖像增強(qiáng)方案中最優(yōu)的視頻編碼器。
| 云游戲
云游戲能復(fù)用設(shè)備,可以降低玩家的成本,同時(shí)云游戲非常追求即時(shí)互動(dòng),延時(shí)一般不能超過50ms。為此,M10A特別提供了低延時(shí)模式。在該模式下,編碼耗時(shí)僅為3毫秒。這為整體數(shù)據(jù)傳輸節(jié)省了大量時(shí)間,能夠進(jìn)一步提高玩家的游戲體驗(yàn)。
| 云桌面
云桌面應(yīng)用部署方案因其高信息安全管理力度、云端集中部署等優(yōu)勢(shì)逐漸成為主流的辦公解決方案。云桌面由云主機(jī)和瘦客戶機(jī)組成,云主機(jī)根據(jù)客戶機(jī)的操作反饋,實(shí)時(shí)渲染視頻畫面,并生成低碼率、高清晰度的視頻流,客戶機(jī)解碼視頻流并顯示出來(lái),達(dá)到與傳統(tǒng)PC一致的操作體驗(yàn)。浪潮M10A最低3ms的編碼延時(shí)、領(lǐng)先的編碼算法,以及高密度的部署方案,能夠很好地滿足云桌面系統(tǒng)優(yōu)化視頻處理的行業(yè)需求。
| 視頻會(huì)議
視頻會(huì)議具有簡(jiǎn)單便利、實(shí)時(shí)性等優(yōu)點(diǎn),已經(jīng)成為企業(yè)內(nèi)外部溝通的重要手段。為了滿足參會(huì)人員的溝通需求,視頻會(huì)議需要提供清晰,流暢的畫面體驗(yàn)。浪潮M10A提供超強(qiáng)的H.265編碼算法,可以保證相同畫質(zhì)下,降低50%視頻碼率,并且支持限制最高碼率,極大方便視頻會(huì)議系統(tǒng)的控制。同時(shí),M10A支持幀率控制、分辨率down scale的高級(jí)操作,適應(yīng)視頻會(huì)議系統(tǒng)多種應(yīng)用場(chǎng)景。
浪潮M10A VPU加速卡采用了業(yè)界領(lǐng)先的無(wú)狀態(tài)設(shè)計(jì)理念,通過優(yōu)化編碼算法,提供行業(yè)最優(yōu)秀的視頻編碼效果,為智慧城市、直播、短視頻、云游戲、云桌面、視頻會(huì)議等典型應(yīng)用場(chǎng)景帶來(lái)高密度、低延遲、低功耗的全新解決方案,助力視頻行業(yè)快速發(fā)展。
編輯:黃飛
?
評(píng)論