有的放矢,遠程操控中實時音視頻的優化之道

                                                                           

 點擊一鍵訂閱《雲薦大咖》專欄,獲取官方推薦精品內容,學技術不迷路!

 

 

 

5G遠程操控場景,對實時音視頻傳輸的時延、卡頓率和抗弱網等指標都有着非常高的要求,本文將會介紹如何結合5G網絡特點,在實時音視頻通信鏈路中進行聯合優化,滿足行業場景遠控需求,降低畫面時延。

 

 

在上一篇文章中,我們介紹了遠程操控的技術要點。從這一章開始,筆者將會依次介紹遠程操控三大技術的應用及優化重點內容。本文就將會以實時音視頻通信技術開始,其主要被用於解決遠程操控中被操控設備或車輛周邊環境畫面和聲音向遠處控制端的實時傳輸,方便遠程駕駛員或操控員能夠清晰地瞭解被控設備周遭情況,從而進行鍼對性操控。比如車輛前進中前方和側後方的畫面,挖掘機作業過程中的抓臂畫面都需要通過實時音視頻技術進行遠程傳輸。

 

爲保證操控的實時性和流暢性,相比聲音的傳輸,遠程操控主要對畫面的傳輸有非常高的要求,針對畫面時延、卡頓率和抗弱網能力等核心指標更是如此。以低速遠程駕駛場景爲例,時延需要小於200ms, 儘量能接近100ms,卡頓率最好低於千分之2,能夠抵抗極端情況下與平均RTT時延相當的網絡波動和20%-30%左右的丟包率。這些指標的要求往往明顯高於此前的遠程會議、直播、監控等應用場景,而對於實時音視頻技術來講,降低時延,與降低卡頓率、提高抗弱網能力往往是相互矛盾的,因此這是一個非常大的挑戰。

 

 

遠程操控與其他應用場景的指標對比

 

 

遠程會議

直播(連麥)

監控

遠程操控

時延要求

<300-500ms

< 300-500ms

< 1-2秒

< 100-200ms

卡頓率

<1%

< 1%

< 0.2%

抗丟包

40%-60%

40%-60%

20%-30%

抗時延抖動

>200ms

>200ms

>50ms-100ms

 

按圖循跡,探索優化重點

下圖是一個典型視頻傳輸鏈路的示意,主要由採集、編碼、發送、傳輸、接收、解碼、渲染等主要模塊構成。

                                                                                       

典型視頻傳輸鏈路示意圖

 

採集:從相機中採集出原始的圖像幀數據

編碼:對採集的原始圖像幀進行編碼

發送:對編碼後的視頻幀進行打包發送

傳輸:將打包後的數據從網絡中傳輸

接收:接收打包數據並恢復出視頻幀

解碼:對視頻幀進行解碼恢復出原始圖像幀數據

渲染:對原始圖像幀數據進行渲染輸出到屏幕

 

實時音視頻通信中,主要承擔抵抗網絡波動、降低卡頓率責任的是接收模塊中的jitterbuffer,同時它也是時延的主要貢獻者之一。不同項目中jitterbuffer的實現略有區別,但基本上都會有亂序排列、幀檢測、幀緩存等功能。jitterbuffer主要負責正確接收視頻幀並適當緩存,在確認達到可解碼條件後,根據預估的幀間延遲(兩幀接收時間差-兩幀發送時間差)平滑後,送入到後續的解碼和渲染模塊。這樣即使網絡有一定波動,由於jitterbuffer的平滑,相鄰的視頻幀仍可以接近期望時間間隔渲染,從而流暢播放。通常爲應對丟包、亂序和時延抖動,網絡RTT和時延抖動越大,需要的jitterbuffer也越大,這時由於緩存的增大,視頻時延也會相應增大。這就是三大指標之間矛盾的根本由來。

 

除了接收模塊外,我們再看看其他模塊的情況。隨着芯片計算能力日益提升,編碼、解碼、渲染等模塊的時延已經很小,基本都在10ms以內,甚至可以做到5ms左右,可優化空間不大,對三大核心指標影響較小。採集和傳輸模塊的時延,主要受外部客觀條件影響,前者取決於相機,後者取決於網絡。發送模塊會對數據傳輸的丟包、時延和抖動產生影響,從影響接收效果。因此爲達到三大核心指標,需要做出針對性優化地主要是發送和接收模塊。通過發送模塊的優化,在保證卡頓率和抗弱網能力的基礎上,儘量降低接收端jitterbuffer的大小,從而降低時延。

 

有的放矢,設計優化方案

對於發送和接收模塊的聯合優化,不同項目的實現不盡一致,複雜程度和效果相差也較大。下面是一個實時音視頻通信架構中較爲複雜的發送和接收模塊實現示意。 騰訊遠程操控產品中實時音視頻通信也是使用了這樣的構成。

                                                                                                     

發送和接收模塊示意

 

發送模塊主要由封包協議、擁塞控制、發送窗口、差錯編碼等構成,其中爲提高傳輸的效率和抗弱網能力,封包協議通常都是基於標準RTP協議,底層採用UDP協議。擁塞控制主要是對網絡狀態進行估計,爲發送pacing窗口和碼率提出建議。差錯編碼,主要是爲了抵抗RTP包的丟包,提高前向糾錯能力,這樣部分丟包可以通過差錯解碼進行恢復而不依賴重傳。

 

接收模塊中jitterbuffer涉及的亂序緩存、幀檢測緩存和幀緩存外,還有拆包、差錯解碼、鏈路狀態估計反饋等模塊;其中鏈路狀態估計反饋,主要是用來估計鏈路的丟包、時延和時延抖動等情況,用來指導jitterbuffer大小設計,並給發送端擁塞控制提供參考。

 

上面提到,優化的目的是降低jitterbuffer大小,而幀間時延波動是影響jitterbuffer大小的核心因素。除網絡自身波動外,丟包重傳是時延波動峯值的主要貢獻者。因此發送和接收聯合優化首先要考慮的是降低丟包重傳。騰訊主要是在擁塞控制、差錯編碼上,針對5G遠控場景做了更好的優化,降低了丟包重傳的概率。

 

擁塞控制:目前常見的用於實時音視頻的擁塞控制方法中,較好的有BBR、GCC等。

 

BBR主要是基於網絡的時延帶寬積,分別探測網絡的最大帶寬和最小時延,並認爲兩者乘積是網絡上能夠承載是數據最大容量,其優點在於可以抵抗隨機的網絡時延和丟包波動噪聲,缺點在於最小時延測量時會降低吞吐,對於突發的網絡惡化,需要更長的時間才能降到實際帶寬。而且BBR最初不是針對視頻傳輸設計,在實時音視頻中的應用經驗比較有限。

 

GCC是同時基於時延擁塞控制和丟包擁塞控制,並取兩者最小值。在時延擁塞控制中,爲平滑網絡波動噪聲對延遲梯度估計的影響,GCC中使用了卡爾曼濾波器來進行處理。GCC優點在於可以同時兼顧時延和丟包,並且有較好的實際應用經驗。

 

差錯編碼在網絡傳輸中,丟包模型可以理解爲是一個刪除信道,數據包在傳輸中會被隨機刪除。因此可以使用適用刪除信道的前向糾錯編碼(FEC),通過增加包傳輸時的冗餘數量來恢復丟包。 考慮糾錯性能和計算複雜度,音視頻傳輸主要使用線性分組碼,常用的有異或編碼、RS碼等。 由於FEC在設計時,主要是面向隨機錯誤,在較短的編碼長度(編碼包數量)下, 這種方式可以抵抗一定程度的隨機丟包。但對於擁塞或網絡質量下降導致的突發丟包,較短編碼長度仍無法抵抗,這時傳統會通過增加包之間的時間間隔,並且增加編碼長度,來抵抗突發丟包。

 

基於5G空口網絡的優化增強

 

在5G遠控場景中,網絡時延中5G空口的時延和波動佔比較大,而5G空口的網絡模型與傳統路由器有一定區別。 傳統路由以擁塞丟包爲主,自身不帶重傳; 5G空口差錯丟包和擁塞丟包都有,自帶一定重傳;傳統路由時延上升主要由擁塞導致, 5G空口由於資源調度週期,也會出現一定程度時延波動,特別是針對上行數據傳輸。5G空口的帶寬跟信噪比和空口負載有關,會隨時間變化;傳統路由的帶寬相對固定,主要受網絡負載影響。

 

           路由器與5G空口網絡特點對比

 

 

路由器

5G空口

丟包

擁塞丟包

差錯丟包 + 擁塞丟包

時延抖動

擁塞

擁塞+資源調度週期

帶寬

受負載影響

受信號質量、負載影響

重傳

不帶重傳

自身帶重傳

 

擁塞控制的優化:可以看出5G空口網絡與傳統路由存在較大區別,面對資源調度週期引起的時延抖動和信號質量帶來的帶寬波動時, BBR擁塞控制適用性有限。考慮到5G空口中信號質量會導致網絡帶寬變化較大,因此可以在GCC時延、丟包擁塞控制的基礎上,增加基於空口信幹噪比和網絡負載估計的擁塞控制,這樣對於5G空口網絡變化具有更快地反應速度。同時可以修改GCC中時延梯度估計用到的卡爾曼濾波算法,更好平滑資源調度週期帶來的時延梯度抖動。

 

差錯編碼的優化基於5G空口網絡特點,可以看出 5G空口由於自身帶重傳,丟包發生概率較少,可以使用較短的編碼長度抵抗隨機發生的丟包。 5G空口中突發丟包的產生往往是由於5G空口信號質量下突然下降導致,這種深衰落的週期通常跟移動性有一定關係,移動速度越快,週期越短,低速移動時在10ms左右。傳統的通過簡單引入更長包間隔和增加編碼長度的方式無法有效應對,而且會增加發送數據量,導致丟包惡化。配合基於空口信幹噪比的擁塞控制估計,可以即時預知這種突發丟包,通過降低碼率,延長髮送時間,而不增加編碼長度,減少突發丟包概率。同時可以引入分組交織的方式,將編碼進行交織,一定程度抵抗突發的丟包。

 

總體上,5G遠控場景對音視頻的時延要求是非常高的,雖然通過結合5G網絡特點,在發送和接收進行了一些聯合優化,可以滿足一些中低速行業場景的遠控需求,但是離行業理想的100ms指標還是會有一些挑戰,特別是在跨區域的遠控場景。未來還需要更多地引入結合網絡的一些聯合優化的手段,另外也可以考慮在相機採集、編碼上進行更多的挖掘,以儘量提升端到端效果。

 

 

 

 

 《雲薦大咖》是騰訊雲加社區精品內容專欄。雲薦官特邀行業佼者,聚焦於前沿技術的落地及理論實踐之上,持續爲您解讀雲時代熱點技術、探索行業發展新機。點擊一鍵訂閱,我們將爲你定期推送精品內容。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章