史 磊
(陜西機電職業技術學院電子與信息學院,陜西 寶雞 721001)
視頻流傳輸擁塞問題產生主要原因是視頻流在網絡傳輸期間數據包處理不及時導致,引發了視頻流持續過載現象,此時網絡及終端設備的容量未能達到視頻流傳輸需求,伴隨著數據包丟失,嚴重情況下會出現網絡崩潰情況,視頻流傳輸立即中斷。由于視頻流傳輸擁塞問題不可避免,當用戶對視頻流傳輸需求與網絡終端控制能力不符時,就會出現此類狀況,而此類匹配問題很難得到解決。因此,關于此類擁塞問題的解決,只能盡可能降低擁塞情況的發生[1]。
面對視頻流傳輸擁塞問題,可以從網絡擁塞控制角度出發,設計擁塞控制機制。該機制以路由器為核心,采用隊列管理等多種類型算法,通過調節網絡層視頻流傳輸順序,使得視頻流傳輸得以有序進行,以此提高網絡服務質量。
終端控制機制成本較低,所以是視頻流擁塞控制開發的重要路徑。該路徑通過調整數據發送速率,緩解視頻流傳輸數據擁塞問題。通常情況下,終端擁塞問題發生在視頻流傳輸層,依據其與TCP協議關系,制定擁塞控制機制。
隨著網絡快速發展,網絡通信協議逐漸得到改進,在很大程度上解決了視頻流傳輸擁塞問題。與網絡擁塞相比,終端擁塞更為嚴重,當前雖然提出了一些終端擁塞控制方法,但是因終端設備和用戶的增加,加大了終端視頻流傳輸需求。因此,視頻流傳輸終端擁塞控制機制探究成為了一項長期研發工作。
DASH視頻流傳輸技術支持動態自時應傳輸控制,較其他類型傳輸技術操作更加靈活,比較適合應用于終端數據傳輸控制。該項技術獨立于視頻服務提供商,在安卓終端設備開發中應用較多。
該項傳輸技術框架主要由3部分組成,分別是客戶端播放器、流媒體服務器、視頻內容生成模塊。其中,客戶端播放器就是安裝在客戶端的視頻播放設備;流媒體服務器是為用戶視頻流傳輸操作命令進行服務的設備,主要負責視頻的傳輸與存儲等多項操作,通過建立網絡連接,按照相應命令完成操作任務;視頻內容生成模塊是根據下達的視頻操作命令,在顯示終端生成視頻內容。
目前,此項技術開發比較成熟,誤碼率較低,得到了很多用戶的認可。由于人們對視頻流文件傳輸解析等多項操作要求越來越高,因而出現了視頻流傳輸擁塞問題。
本文依據DASH傳輸技術特點,引入TCP擁塞控制思路,提出TCP-HAS算法應用研究。該框架結構主要由4部分組成,分別是窗口設置、帶寬預測、最佳碼率確定、擁塞窗口的設定與門限值的啟動。其中,帶寬預測是整個體系運行期間長期作業的結構,通過識別視頻流,對此部分信息的帶寬進行預測,為其初步選定窗口值,而后采用擁塞控制算法,計算空閑事件與擁塞事件帶寬條件,確定最佳碼率,啟動門限值,以此避免視頻流傳輸期間發生擁塞現象。
視頻流傳輸啟動階段,cwnd參數呈現出持續增長變化趨勢,通過索引服務器端的文件,獲取視頻流傳輸最低誤碼率,確定初始擁塞窗口。
此環節是本文提出的擁塞控制的重要環節,利用TIBET預測帶寬,通過計算數據包,得到可用帶寬數值。

基于上述公式中各項參數之間的關系可知,為了估算視頻流傳輸帶寬數值,可以通過計算平均時間間隔和數據包長度平均值來獲取。考慮到視頻流傳輸期間可用帶寬存在低頻分量,或者受到外界因素影響造成延遲響應,所以需要采取低通濾波處理,以此提高帶寬預測精準度,為最佳碼率數值確定提供可靠依據。目前,低通濾波處理技術比較成熟,此處不對此進行過多介紹。
依據帶寬Bw計算結果,確定視頻流傳輸最佳碼率,在服務器端獲取碼率數值,將此部分信息存儲至終端服務器數組中,利用以下算法選取最佳碼率。
For i=Max_Encoding Rata to 0,i--
If Bw Encoding Rata[i]then
Break;
End if
END for
以上算法中,以i為變量,按照視頻流碼率等級進行排序,先判斷高階視頻流帶寬與醉倒碼率等級帶寬大小關系,而后判斷較此視頻流碼率小一級的帶寬關系。與此同時,分析視頻流傳輸操作命令執行最佳時間,確定最佳分片碼率。
DASH視頻流傳輸技術的應用,并非連續傳輸視頻流數據信息,而是根據發出的命令執行數據傳輸操作,所以存在空閑狀態,或者傳輸視頻流數據信息較少,未能達到擁塞標準。為了提高傳輸擁塞控制,應該采用動態控制思想,設計擁塞控制體系,給出較為精準的門限值,以達到高效控制擁塞狀況。以上控制思想的實現,可以利用TCP-HAS算法實現,算法流程如下:
第一步:采用if判斷語句檢測視頻流空閑事件;第二步:預測可用帶寬數值,利用前文提及的算法計算,得到Bw數值;第三步:運行算法程序,確定最佳碼率,記為QLe;第四步:根據播放碼率與傳輸碼率關系,設定參數,綜合考慮空閑后視頻流傳輸速率等參數關系,合理設定帶寬限定值。
本次測試采用服務器客戶端模式布設測試環境,該測試環境由2臺路由器和2臺主機搭建而成。
5.2.1 視頻流傳輸擁塞窗口變化測試結果
本次測試以CUBIC算法為對照組,TCP-HAS算法為實驗組,設定帶寬為10Mbps,測試單個用戶傳輸視頻流時擁塞窗口變化情況,通過對比兩者擁塞窗口變化差異,判斷本文設計的TCP-HAS算法擁塞控制方案是否可以改善視頻流傳輸擁塞問題。
測試結果中,前50s,CUBIC算法窗口擁塞較為嚴重,部分cwnd數值超過了80,雖然50s過后出現了下降現象,但是波動幅度較為顯著,視頻流傳輸擁塞窗口現象嚴重。相比之下,本文設計的TCP-HAS擁塞控制方法的應用,擁塞窗口穩定在45左右,雖然50s過后出現了小幅度波動,但是較CUBIC算法擁塞控制優勢更為顯著。
5.2.2 用戶誤碼率切換測試結果
為了避免視頻流傳輸擁塞現象的發生,本文提出的擁塞控制方案針對不同傳輸狀態,預測視頻流傳輸帶寬,通過對比預測值和帶寬值之間的大小關系,下達碼率分片命令,以此控制最佳碼率數值的設置,并影響其他用戶切換碼率,盡可能降低擁塞產生頻率。本次測試設定2名用戶傳輸視頻流,利用搭建好的擁塞控制環境,測試用戶碼率切換效果。
測試結果表明,當用戶1發出請求分片操作命令時,預測的帶寬值小于用戶2預測帶寬值,此時將用戶1的視頻流碼率從高切換到低。
本文針對視頻流傳輸中的擁塞問題提出DASH傳輸技術擁塞控制方案研究,實驗測試結果表明,TCP-HAS視頻流傳輸擁塞控制方案,擁塞控制較為穩定,支持多用戶視頻流傳輸碼率切換擁塞控制。