本文由上海交通大學教授宋利在LiveVideoStackCon2020線上峰會的演講內容整理而成,從分析視頻傳輸系統延遲入手,詳細介紹視頻編碼延遲的產生機制,總結優化編碼延遲的技術手段和業界典型的低延遲編碼方案,討論不同場景的延遲要求,并對后續技術演進發展方向進行展望。
本次分享的主題是互動場景下的低延遲編碼技術,內容分為四個方面:一是互動媒體服務;二是低延遲視頻編碼技術;三是低延遲編碼方案;四是應用場景和發展趨勢。
01 PART 互動媒體服務
1.1 視頻媒體形態
如圖所示,我們將現有典型的視頻相關服務按照高通量、強交互兩個維度進行劃分,其中橫坐標表示高通量,縱坐標表示強交互,一些典型的視頻映射到圖中分布于不同的位置。 左下角部分可以稱為基本視頻,它涵蓋了當前的一些主流應用,包括TV、視頻監控、視頻會議以及多人視頻游戲等,其特點是以二維視頻為主,同時交互形式包括單項、雙項和多人交互。 如果從這個區域往外擴展,外面一層是可以稱之為增強視頻,沿高通量維度由高清向超高清、自由視、點云、光場過渡,交互維度包括仿真訓練、電競,兩者都演進的方向是VR、AR,最后演進到全觸感,也就是視頻媒體形態正在由基本視頻向增強視頻演進,這兩個維度某種程度和現在5G中兩個維度很契合,高通量對應大帶寬,強交互對應低延遲。
這張圖顯示了流媒體視頻的典型服務場景,流媒體服務經過多年的發展,現在已經形成一個比較完整的技術和生態鏈,從源端、云端、邊端到終端,包括背后的技術體系也相對比較趨同。現在經常使用的是以RTMP代表加H.264進行源端的推流,到CDN邊緣上通過265,包括下行的HLS協議轉換,形成流媒體服務的基本流,然后用戶側通過播放器從源端進行拉流,獲得流媒體直播的體驗。這套架構基本上比較成熟和完善,各家公司的競爭點主要體現在用不同的編碼器進行替換,不同上下行協議的改造,以及CDN資源的部署,以此獲得競爭優勢。從整個媒體服務形態變化的角度看,大部分的努力是針對前面提到的通量這個維度。
圖中展示了流媒體實時交互演進的一個典型示例,在直播場景下,通過手機小屏發出交互指令,可以在大屏播放時產生交互的反饋,獲得一些個性化的體驗;比如在下行過程中發起用戶指令,疊加符合正在播放內容的、個性化渲染特效。在這種場景下,整個流媒體架構就會發生變化。在此之前是在云端、邊端進行處理,與終端并沒有太多交互,技術要素變化不大;但是增加互動維度后,在邊緣側就可以引入很多新的要素。
1.2 系統組成要素
構建一套實時的流媒體系統需要對系統中多個方面進行改進,除了視頻編碼標準外,媒體傳送協議和視頻渲染技術都需要實時化和低延遲處理。視頻編碼方面,低延遲編碼技術可以和多種編碼標準進行結合。 1.3 互動媒體服務系統的權衡
互動媒體服務系統與單點技術不同,需要考慮多方面因素的權衡。首先要滿足低延遲,否則影響互動效果。其次是高體驗,互動媒體是在現有媒體上疊加的效果,所以體驗是也應該是疊加式的,不能因為互動而使原有基礎視頻的畫質下降。最后是用戶的大規模,與視頻會議系統不同,一場會議很少會出現超過千人級的規模,但在互動流媒體場景下,由于接近直播流媒體,它的用戶數量會比較多。
02 PART 低延遲視頻編碼技術
2.1 視頻編解碼
第二部分介紹了低延遲視頻編碼的共性技術,這些技術可能會用在不同的編碼方案中。視頻編碼器有幾大陣營,在分發域有:H.264/HEVC/VVC、AVS2/AVS3、VP9/AV1,在分發域中壓縮性能是它的主要驅動力。在制作域有:TICO/JPEG-XS、JP2K、LLVC、XAVC、ProRes,這些編碼器雖然是應用于視頻中,但從技術角度來說更多是圖像編碼器。
將兩大類編碼器放在一起,更容易看出彼此之間的差異性,圖中展示了五個維度,分別是:高壓縮比、低延遲、低復雜度、高質量、平臺友好性。將五個維度進行比較,分發域的編碼如圖所示,它的特點是高壓縮比,但延遲和復雜度比較大,質量沒有制作域那么高,相對來說壓縮比就比較大。
幀內標準如JEPG、JPEG2K、XAVC、WebP,在延遲性和復雜度方面要好些,但代價是壓縮比要差些,因為它應用的是專業領域場景,所以質量和碼率比較高。
JPEG XS 是JPEG陣營過去兩年推出的一個標準,強調復雜度和速度,它的性能在低延遲、低復雜度方面表現比較優秀,但壓縮比較差。由圖可知,要根據不同應用場景做出均衡性選擇。
2.2 編碼延遲的構成
編碼延遲是指從視頻單元(通常是幀)采集到編碼完成生成碼流所消耗的時間。公式中的max是表示以編碼單元中花費時間最大的模塊為延遲時間。
編碼延遲的來源主要包括三部分:一是視頻幀參考關系,二是編碼流水線的設計,三是編碼模塊的復雜度。
2.2.1 低延遲參考結構
左圖展示的是HEVC RA模式,典型的編碼器一般使用雙向B幀,在提高壓縮率的同時會帶來幀重排序延遲,在HEVC的典型RA模式中,雙向參考關系額外引入了3幀延遲。 右圖展示的是HEVC的LDP模式,如果只考慮延遲,HEVC的LDP模式只使用P幀,適用于低延遲場景,其單向參考關系不引入額外的延遲,但是帶來了9%~42%的編碼性能損失。 2.2.2 低延遲編碼幀結構
周期性幀內刷新(PIR)編碼結構是在LDP模式的基礎上進一步降低延遲,被很多商業編碼器所支持,被稱為超低延遲的編碼配置。 如圖所示,它的原理是將一幀切成四個縱向的條塊,每隔四幀就可刷新一遍。 它的特點主要有:一是常用的超低延遲配置模式,輸出碼率平緩,緩沖區溢出概率小。二是可以確保在一個刷新周期內完全恢復錯誤。三是刷新的頻率方向,可以根據視頻內容進一步優化。 2.2.3 編碼流水線優化
編碼器的整體架構決定了編碼器的延遲和并行度,主要分為三種:幀處理、塊處理、條處理。
幀處理是指對每個運動估計進行預測,編碼器處理的模塊是以幀為單元的,它會將整幀運動估計處理完,再進行運動補償,在MPEG2這種比較簡易的編碼器中經常使用這種結構。
塊處理相當于單線程參考編碼器中的小邏輯,將每個CTU或每個宏塊逐步推送到運動估計、預測等部分,X-循環是指每個塊里會進行不同模式的選擇,是不同模式的循環。Y-循環是指所有的塊可以再循環一遍。其中每塊中的宏塊可以獨立輸出,不需要等整個幀處理完,所以它的好處是輸出粒度小。但如果將塊級的編程變成高并發、流水化結構就比較困難,因為粒度小,想做到流水化結構,處理單元要足夠多。需要說明,編解碼上下文很關鍵,切斷上下文則編碼預測性能會受到大的影響。
條處理是基于兩者之間的處理,每一個內循環的粒度是以條塊為基礎,外循環是不同條塊之間流水化推進。同時,運動估計和運動補償耦合比較好適合于整體計算,可以將運動估計和預測放到一個計算單元上,其余的部分組合到另一個上,這樣可以增加多級流水的處理。 這三種處理方式屬于任務級分解,也是并發、并行化操作。此外,還有數據級分解,就是數據被切割并分配給不同的處理器。右圖是在處理4K時可以切成多個高清進行處理,可以用到四種方案:幀級并行、slice級并行、tile級并行、波前并行處理。在實際的編碼中,并發、并行化操作中任務級分解和數據級分解是混合使用的。 2.2.4 低延遲并行碼率控制
一旦變成并行流水化,除了各個基本模塊的調度,還要涉及整體碼率控制的調整。碼流的平穩程度是影響編碼緩沖區延遲的重要因素,緩沖區上溢會造成數據丟失;緩沖區下溢會造成編碼器無法得到數據,進而使得視頻卡頓。在條/塊級并行編碼方案中,碼率控制模型需要重新優化設計。 2.2.5 編碼模式快速預測
第三個方面涉及編碼中各個模塊的復雜度,當代編碼器的編碼模式比較多,組合量比較大,即使每種編碼模式足夠快也不行,核心在于如何快速的在眾多候選模式中選出準確的哪個,這就需要根據某種屬性快速做出決策。這時深度學習的方法可以發揮作用,近期我們的一個工作中,采用基于深度學習預測CU劃分和基于統計學習預測PU模式組合,替換高復雜度的遞歸編碼探索,實現在性能基本保持不變前提下實現復雜度的顯著降低。
03 PART 低延遲編碼方案
3.1 SVT構架
這部分介紹一些典型的系統編碼方案,首先是英特爾開源的SVT架構,它支持了前面所提到的很多要素,設計比較不錯。 SVT構架細節
SVT架構是基于軟件的視頻編碼優化框架,通過聯合前處理-編碼內部算法,實現性能-延遲-質量的三維優化,并針對Xeon處理器進行優化。 之所以稱SVT為三維并行架構,因為它解耦視頻分析、模式選擇與編碼,實現進程級并行;分層GOP內的幀級并行;將一幀圖像分為不同條塊,實現條塊級并行。 SVT也照顧到速度和碼率的主觀質量優化,對于速度方面的主觀質量優化有:首先根據整體復雜度目標,設置搜索的劃分模式集合;其次根據塊的HVS重要性進行區分;對于碼率方面的主觀質量優化有:一是根據HVS重要性調整QP偏置;二是降低人眼不敏感區域變換域高頻分量。 3.2 H.265低延遲方案
SVT支持很多個編碼器,以SVT-HEVC為例,它支持了13個preset(M0~M12),在速度和視覺質量之間實現了較好的權衡。其次,采用客觀質量模式(默認)用于權衡速度和客觀質量的關系,性能和速度優于x265。而且,最快檔次的延遲在百毫秒級別,壓縮比在300:1左右,配合其他低延遲技術可以降為小幾十毫秒級別。
這部分介紹了H.265低延遲方案的硬件編碼器,首先,NETINT基于自研芯片設計了Codensity T408視頻轉碼器,在ASIC中進行復雜的編解碼算法處理,從而最小化主機CPU的使用率,編碼延遲約為5ms。 其次,NVIDA基于GPU設計了NVENC編碼器,可以大幅度釋放CPU和內存的負載壓力,編碼延遲約為3-10ms。 3.3 H.264低延遲方案
前面的兩個方案主要面向云端的轉碼、流媒體服務等,還有一類是面向移動終端的,除了低延遲之外,對功耗、復雜度要求更嚴格,在這種場景下使用比較多的方案是基于H.264。H.264標準已經被工業界廣泛認可和應用,其作為H.265的上一代標準,本身的編碼復雜度相對較低,現有低延遲方案大都基于硬件設計。 左圖是TPCast方案,它使用CAST公司的H.264-E-BPF IP核編碼器,基于H.264 Baseline Profile設計。而且采用CAVLC選項降低熵編碼復雜度,并采用幀內刷新技術降低比特率峰。它的編碼延遲為10ms級別,壓縮率為50:1。 右圖是HHI方案,它基于H.264 Baseline Profile設計,采用Intra(16×16和4×4)和VLC編碼(不使用CABAC),編碼延遲為宏塊行級,壓縮率為10:1~20:1。兩種方案應用的場景不同。 3.4 JPEG-XS低延遲方案
JPEG-XS低延遲方案是更低延遲的方案,它支持Main、Light、Light-subline、High這4種配置編碼延遲為毫秒甚至微秒級,視覺無損情況下的壓縮率為2:1~6:1,是一個簡化的幀內壓縮技術。 它的編碼過程有:樣本拉伸、DC偏移量去除、可逆顏色變換、小波變換、預量化、常規量化、熵編碼。JPEG-XS主要是由IntoPIX公司推動的。 3.5 新型的低復雜度/低延遲編碼方案
以V-Nova為代表介紹一下新型的低復雜度/低延遲編碼方案,V-Nova P+立項的MPEG5-LCEVC標準,為內容分發域提供高壓縮率、低復雜度方案。
左圖所展示的編碼結構類似于可伸縮編碼SVC,分為基本層和增加層,網絡帶寬的適應性不是其考慮重點,而是考慮終端的兼容性以及復雜度,面向內容分發域。可以應用的場景如當手機上有一塊硬解碼能力的芯片,支持264 HD,如果傳來一個4K的內容,利用這種方案可以進行分層,基本層利用264 HD,增強層用HEVC 4K編碼,這樣基本層可以使用手機的硬解碼264 HD能力,而增強層可以使用復雜度比較低的軟件能力,將其進一步增強解碼提升到4K。
除此之外,V-Nova公司也正在SMPTE的制作域中推VC-6,主要用于專業的內容制作和影像應用。它的賣點是結合了機器學習技術和優化的碼率控制,使用intra-only配置,編碼延遲為80ms,編碼的HD流為60Mbps。
04 PART 應用場景和發展趨勢
4.1 應用場景
圖中展示的是不同延遲量級對應的應用場景的劃分,低延遲要與不同場景進行耦合,不同場景對延遲量的要求不同。圖中橫軸表示編碼延遲,根據延遲時間將場景分為四種,縱軸表示壓縮比。
秒級延遲場景以賽事直播為例,它對編碼延遲要求并不高,之前一般采用H.264實時編碼,對4K或8K視頻開始使用H.265或AVS2編碼標準實時編碼。 百毫秒級延遲場景如視頻通信、無線投屏,視頻通信可接受的端到端延遲為~200ms。以ZOOM為例,它采用了H.264標準編碼,編碼延遲為11ms(720p),端到端延遲要求低于150ms。無線投屏以Miracast為例,它認證的無線設備端到端延遲不超過250ms,使用H.264和H.265(可選)標準,編碼延遲約10~100ms。
十到一百毫秒級別稱之為十毫秒級延遲場景,以云VR、云游戲為例,一般端到端延遲低于100ms時才能獲得良好的體驗。 NVIDA GeForce Now使用NVENC硬件編解碼器可實現3-10ms的編碼(H.265)和解碼延遲,端到端延遲約75ms。 Google Stadia采用H.264和VP9編碼標準,端到端延遲約130ms。
毫秒級延遲大多數場景不超過10毫秒,應用領域涵蓋遠程制作、數字孿生、高級XR等,往往同時需要非常高的視頻質量和超低延遲,需要TSN/TTE(時間敏感/觸發)類的基礎網絡架構支持,目前可選擇的有JPEG-XS、SMPTE無壓縮的解決方案,壓縮效果還不太好,所以高壓縮比下的超低延遲編解碼仍然存在巨大技術挑戰。 4.2 發展趨勢
近期在多視角、自由視方面,華為、優酷、咪咕都做過一些示范應用,即將原先導播切換的自由度傳送到用戶側,由用戶進行發送,用戶在觀看流媒體視頻中可以根據自己的喜歡進行視角的切換,以實現媒體服務的個性化。
以游戲類和遠程操控類為代表的場景,以往觀看流媒體是被動接收,現在大小屏都可以進行實時性交互,因此互動體驗增強,這也是互動媒體發展的趨勢。
本次分享主要介紹了低延遲互動媒體服務中的低延遲視頻編解碼環節的相關技術。要做到較好的低延遲互動媒體服務,還需要低延遲傳送協議、實時圖像渲染以及基礎ICT網絡技術整體的演進。就編碼而言,需要結合平臺特性重構編碼實現架構,細化編碼各工具性能與延遲關系。 比較理想的做法是面向不同延遲的彈性編碼方案,如右圖所示,將RD曲線按照延遲-壓縮比的關系,形成一套根據場景需求進行彈性配置的編碼框架,這是近期低延遲編碼努力的方向。
-
視頻監控
+關注
關注
17文章
1711瀏覽量
65070 -
編碼技術
+關注
關注
1文章
35瀏覽量
11075 -
視頻傳輸系統
+關注
關注
0文章
3瀏覽量
6218
原文標題:互動場景下的低延遲編碼技術
文章出處:【微信號:livevideostack,微信公眾號:LiveVideoStack】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論