遊戲中在激戰的決賽圈被卡出去,心態爆炸;打團嚴重延時,一套技能按了個寂寞……
視訊會議頻繁掉線、畫面模糊、人聲不同步,“能聽到我說話嗎?”成為視訊溝通常用語……
精彩賽事直播、轉播,“觀眾朋友們,讓我們一同來見證這激動人心的決勝時刻……”,卡…卡…卡住了!發生了什麼?比賽結束了?自閉了……
面對影片卡頓、延遲、掉幀等問題,我們常說的提高網速並不是唯一解決之道,畢竟並不是所有人都有精力、有經濟去無限提升自己的網路頻寬。加速影片編碼、轉碼,同時兼顧畫質,滿足不同解析度等影片處理需求成為影片業務服務廠商亟待突破的困境。
影片是網際網路應用中佔比最大的資料型別。智慧城市、影片直播、短影片、線上會議、VR、雲遊戲、影片AI分析等影片相關應用近年蓬勃發展,在這些應用場景中對影片的處理效率直接關係到使用者體驗。高品質、高效能、低功耗的智慧影片處理成為目前業界關注的熱點技術。
影片是以單一格式建立和上傳的,但最終以不同的解析度在不同的終端裝置上播放,需要將原影片解碼、後處理、再編碼,這一過程稱為轉碼。同時,還需要根據不同應用場景的需求對影片進行各種處理,如影片縮放、影片影象增強、影片增加廣告/字幕/水印/臺標、影片拼接等。隨著影片處理需求激增,影片業務成本快速上漲,各大影片業務服務廠商不得不在使用者體驗和資源成本之間做平衡。
在這種情況下VPU應運而生。VPU全稱Video Processing Unit(影片處理單元),是專門面向AI場景最佳化設計的影片加速器,內建影片編碼加速專用功能模組,具有高效能、低功耗、低延時等特性,為影片行業應用帶來高效能的加速計算。
目前已有多家廠商宣佈了VPU的開發計劃。今年,Google釋出了一款名為Argos的影片晶片(VCU)並將其大規模用於YouTube的影片轉碼處理任務中。在國內,浪潮釋出了AI影片處理加速器M10A,可以在8W超低功耗下實現16路1080P全高畫質影片處理加速,為廣泛的網際網路影片廠商提供計算支撐。
“C位出道”,影片處理業務流程一覽
M10A智慧影片處理加速器處於影片業務流程中的核心位置。如下圖所示,在資料中心,M10A搭載伺服器組成高密度、低功耗、低成本的影片處理專用伺服器,進而組建資料中心影片處理加速叢集。影片輸入源完成影片資料採集後,透過網路傳輸到資料中心影片處理加速叢集中,M10A完成影片流的解碼、後處理工作,比如對影片YUV原始資料進行縮放和裁剪操作,最後完成高質量的影片編碼,透過CDN分發給最終觀看者。
M10A除了完成支援傳統影片轉碼操作之外,還針對網際網路影片的需求特點,研發了多播模式,針對輸入影片進行衍生操作,最多可以支援1路影片衍生4路影片的操作,每路輸入影片單獨調整幀格式、解析度等屬性。
核心技術“三合一”,影片處理保質提速
無狀態設計
無論是解碼核心還是編碼核心,浪潮M10A在開發中均採用了無狀態設計思想。編解碼核心不會儲存編解碼的狀態,當編解碼核心處理完一路影片流的某一幀後,隨時可以切換到其它路影片流進行處理。這樣編解碼核心的排程管理將變得十分簡潔,軟體可以派發任務到任意一個空閒的編解碼核,隨著編解碼核心的頻率提升,可處理影片路數也將以接近線性的方式提升。
這種上下文切換的消耗相較於編解碼一幀來說幾乎是忽略不計的。可能對於攝像頭等某些邊緣嵌入式裝置來說,在幀間處理時保留狀態是一種十分簡潔的設計。但是就大型資料中心來說,它們要處理成千上萬不同解析度、不同位元速率的影片流,無狀態設計將是一種更友好、更高效能的選擇。
主觀畫質最佳化
浪潮M10A是目前市面上首款支援窄帶高畫質技術的影片轉碼加速卡。窄帶高畫質技術的目標是在標準編碼核心的基礎上,在降低位元速率的同時保持主觀質量不下降。那它是如何做到的呢?現有影片編碼是基於夏農定理,它的率失真模型都是連續的,但是人眼視覺模型是階梯性非連續的,因而在這個階梯上存在一個降位元速率的空間。
窄帶高畫質一般情況下包含三個模組:
1. 基於人眼JND模型,即找出人眼最小可察覺誤差。
2. 基於JND去做感知編碼。
3. 透過感知編碼來控制標準編碼核心輸出,主要是去控制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頻寬的浪費。
多元化場景應用發光發熱
智慧城市
為了追求編碼速度,目前主流的攝像頭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加速卡採用了業界領先的無狀態設計理念,透過最佳化編碼演算法,提供行業最優秀的影片編碼效果,為智慧城市、直播、短影片、雲遊戲、雲桌面、視訊會議等典型應用場景帶來高密度、低延遲、低功耗的全新解決方案,助力影片行業快速發展。