A Survey of Rate Adaptation Techniques for Dynamic Adaptive Streaming Over HTTP(自適應流媒體的綜述)

 

 

爲了避免出現視頻卡頓或者重新緩衝的現象,目前有以下四種解決方案:

1、使用播放緩衝區。此方法可以克服短期的網絡吞吐量變化。

2、編碼變換。比如改變視頻分辨率、壓縮比或幀速率,但此方法計算量巨大,需要複雜的硬件支持。

3、可擴展編碼。此方法需要專門的服務器。

4、流交換。此方法容易實現,且不需要專門的服務器。

綜合各方面考慮,業界已經開始使用播放緩衝區和流交換。

 

DASH視頻客戶端可以主動請求不同的視頻比特率,以便於當前網絡相匹配。視頻流行業現在已經將DASH作爲通過因特網進行視頻傳輸的主要方式。其與早期多媒體流協議的主要區別在於:

1、DASH建立在TCP之上

2、客戶端根據其ABR的網絡條件請求不同的視頻比特率,從而調節服務器的傳輸速率。

3、DASH以視頻塊的形式請求和接收視頻數據。

 

在DASH系統中,視頻被不同的比特率編碼成多個版本,然後將每個視頻編碼分爲許多含有幾秒鐘視頻的小視頻段或塊。隨後將來自不同比特率的視頻塊在時間線上對其,以便客戶端切換比特率。

DASH並不直接控制視頻傳輸速率,而是依賴於底層的TCP算法。當流會話啓動時,客戶端先請求MPD文件,再請求視頻塊,以儘可能快的速度用視頻塊填充滿播放緩衝區。一旦緩衝區被填滿,就會進入一個穩定的狀態。

穩定狀態下,播放器在下載新塊時處於打開狀態,反之則是關閉狀態。兩個開狀態之間的時間稱爲週期時間。如下圖所示爲其狀態變換圖。

視頻播放器利用每個塊的反饋信號來選擇下一個要下載的塊合適的視頻速率。如果吞吐量高,ABR會選擇更高的視頻速率,爲用戶提供更好的體驗質量;如果吞吐量較低,ABR會動態切換到較低的視頻速率,以避免播放緩衝區不足。

DASH客戶端不能完全匹配網絡吞吐量,它只能達到MPD文件所描述的速率。當網絡帶寬超過最大視頻比特率時,將視頻比特率限制爲最大視頻比特率。因此,在一些ABR方法中,服務器通過在MPD中加入特定的速率信息,來人爲地限制視頻比特率,進而保護網絡。

在客戶端啓動期間會快速增加視頻比特率的請求,用來預先填充滿播放緩衝區。當客戶端檢測到帶寬容量減少時,它會請求更低的視頻比特率。當網絡恢復後便會恢復視頻質量。因此,客戶端可以無縫地傳輸視頻,而無需過度配置網絡或保留超大的播放緩衝區。

DASH也可以應用於互聯網上的實時媒體流。但是,在DASH架構中,視頻內容的檢索是由客戶機驅動的。服務器端響應客戶機發出的請求會增加額外的延遲。

DASH使用HTTP協議的好處:

1、提供更普遍的訪問範圍

2、DASH服務器就是常規的WEB服務器,這降低了操作成本,並允許部署緩存來提高性能和減少網絡負載

3、服務器不需要追蹤會話狀態

這些優勢使服務提供商能夠利用現有且便宜的HTTP基礎架構。

研究發現由於具有視頻功能的設備的多樣性,以及它們連接到網絡的方式多樣性,想要實現高QoE是一個重大挑戰。視頻的幀速率降低被認爲比分辨率的降低更令用戶感到糟糕,且重新緩衝對用戶的體驗質量影響最大,特別是在實時播放的內容中。

DASH使用ABR算法在網絡條件變化時動態的選擇合適的視頻比特率,這涉及兩個控制循環。1、內部TCP擁塞控制循環對網絡擁塞做出響應,並嘗試將發送速率與網絡可承受的速率相匹配。2、外部ABR選擇循環對TCP指定的速率做出反應,並嘗試將視頻比特率與觀察到的平均的TCP速率/吞吐量匹配

ABR算法的基本目標是:

1、避免因緩衝區不足而導致播放中斷。

2、最大限度的提高視頻質量,並與目標1進行權衡。

3、儘量減少視頻質量的變化,以改善用戶體驗,並與目標2進行權衡。

4、將用戶請求新視頻到該視頻實際開始播放之間的間隔最小化。

ABR設計的核心挑戰是平衡這些目標,並最終爲用戶提供高的QoE。

基於反饋信號的客戶端ABR算法可以大致分爲三類:基於吞吐量的、基於緩衝區的和基於混合/控制理論的。

在基於吞吐量中,由於將比特率自適應算法疊加在網絡堆棧的幾個邏輯層之上,播放器會出現不公平、低效和不穩定的情況。因此,用戶從網絡接收的反饋信號不是網絡狀態的真實反映。在高層次上,三個步驟分別是:計劃何時下載下一個塊、選擇合適的塊比特率、並估計網絡帶寬。

我們放棄了基於改變表示編碼的服務器端優化,將工作重點放在服務器端應用層和傳輸層的優化上。

CFA預測由三個階段組成:關鍵特徵學習(每十分鐘一次)並輸出一個關鍵特徵函數鍵值表; 基於所學習到的關鍵特徵函數鍵值進行質量估計(每十秒一次)並輸出質量函數鍵值表; 通過查找預先計算的值函數,在每個客戶端到達時(在毫秒時間內)進行實時查詢和響應。

爲解決HOL問題和TCP流媒體的不靈活性以及減少網絡延遲,谷歌開發了SPDY,HTTP/2和QUIC。

Mueller等人通過實驗表明,HTTP/1.1和SPDY在所有的RTTs上變現一致。同時,SPDY暗中解決了HoL問題,並在禁用SSL時獲得不錯的結果。但是,SPDY要求加密,會在服務器和客戶機上引入額外的計算開銷。

BBR是一種新興的基於擁塞的傳輸協議,旨在通過按順序探測帶寬和RTT,以最小的隊列使網絡吞吐量最大化。迄今爲止,還沒有關於BBR對自適應視頻流影響的測試結果。

Huang等人測試了Hulu、Netflix、Vudu客戶端是如何選擇視頻比特率的,其結果顯示不準確的帶寬估計(尤其是批量下載文件時)可能引發反饋循環,進而導致低質量視頻,這便是“螺旋式下降”效應,其根本原因是TCP和HTTP之間缺乏信息交換。其解決方案是完全消除吞吐量估計的使用,利用TCP來控制速率,並使用緩衝區佔用率來驅動視頻比特率的選擇,從而產生基於緩衝區的速率自適應算法。

由於DASH的可擴展性和可行性,其已經成爲互聯網上按需和實時多媒體流的一個標準。DASH的核心是ABR算法,它可以選擇合適的視頻比特率來適應動態變化的網絡條件。

在本文中,我們瞭解到基於吞吐量的算法是利用過去的塊下載速率預測未來的網絡狀況。基於純緩衝區的算法是利用過去和現在的緩衝區佔用率來確定網絡狀態,並選擇與其匹配的視頻比特率。基於控制理論的算法將選擇比特率和各種QoE指標表示爲一個隨機優化問題。大多數實現的算法都是混合的,將吞吐量和緩衝區結合起來作爲反饋信號,以獲得更準確的預估效果。同時,隨着SDN和AQMs的快速發展,未來會出現網絡級的解決方案。

將吞吐量和緩衝區的信號結合起來,並將其應用於控制理論的框架,這是最全面的算法,能夠消除基於吞吐量預測時的誤差,且最大限度地提高了QoE。但是基於控制理論的ABR的一個缺點時計算量過大。同時表明服務器和網絡級的解決方案過於複雜,且不太可能立即部署。

目前仍存在以下幾個有待解決的問題:

1、各種ABR算法與不同底層TCP算法之間的交互。例如,谷歌QUIC或BBR等替代傳輸協議對基於dash的內容交付的影響。

2、在客戶端耦合應用層和傳輸層,以便DASH客戶端使用傳輸層的RTT估計底層路徑的延遲。

3、設計客戶端ABR算法,與現代AQMs的進行最佳交互。

4、CDN服務器和代理的戰略佈局。

5、通過服務器端帶寬管理、資源分配和調度TCP數據包進而消除流量突發性。

6、當多個客戶端共享出現瓶頸時,DASH流和其他流如何公平的共享資源。

 

 

 

 

 

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