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