?

基于前向糾錯的自適應低延時傳輸機制

2024-04-01 06:41張森林蔡甘霖黃發仁
電視技術 2024年1期
關鍵詞:冗余度包率數目

張森林,蔡甘霖,黃發仁

(1.福州大學 先進制造學院,福建 福州 350000;2.福州大學 物理與信息工程學院,福建 福州 350000)

0 引言

在無線網絡中,因網絡波動而導致網絡傳輸中發生數據丟包的情況頻頻出現。例如,移動設備與路由器距離較遠或兩者之間存在障礙物時,很容易出現數據丟包的現象。根據文獻[1]的研究結果,在無線網絡進行數據傳輸時,由于各種原因可能會發生10%以內的丟包現象。

目前,可靠傳輸包括自動重發請求(Automatic Repeat reQuest,ARQ)和前向糾錯(Forward Error Correction,FEC)兩種方案。由于傳輸控制協議(Transmission Control Protocol,TCP)協議中的重傳即ARQ 所引入的時延對于具有嚴格時延要求的實時流視頻是不可接受的,一般采用用戶數據報協議(User Datagram Protocol,UDP)作為實時視頻流的傳輸協議。但是由于UDP 不可靠,為了保證傳輸的可靠性,通常會采用FEC。FEC 通過系統地將冗余信息與原始數據發送給客戶端來避免重傳[2]。這些額外的數據允許接收方在不需要服務器進一步干預的情況下重建原始數據,避免了重傳請求的往返延遲。根據文獻[3]的研究,利用接收端對視頻幀接收情況的反饋信息,可以用來調整下一時刻的傳輸冗余比。文獻[4]則通過應用層的速率控制和數據包冗余來降低視頻失真率。

以上文獻都是考慮在TCP 協議下的傳輸模式,沒有考慮UDP 下的視頻傳輸模式。對此,提出一種自適應低延時冗余度的前向糾錯機制,可以根據網絡情況確定源包數量,降低端到端時延。同時,在網絡波動時自適應增加或減少冗余包的數量,以提升視頻傳輸質量。具體而言,以最大化視頻質量為優化目標,對端到端時延以帶寬為約束條件進行建模。在多變的無線網絡中,保證約束下端到端時延的最優視頻的傳輸質量。

1 問題建模

假設視頻數據包傳輸時第i時刻端到端的網絡丟包率為λ,端到端時延為d,可用帶寬為B。在每一輪的數據包傳輸中,發送端計算所得源包數目為m,冗余包數目為n,前向糾錯的冗余度為k。其中,每一個源包字節數為s,數據包包頭大小為h,每一輪總發送的數據包個數為Stotal。由于冗余包比例與丟包率、端到端時延相關,提高冗余包比例能夠增大丟包恢復概率,提升視頻質量。但是,提高冗余包比例會增加冗余數據量,數據包發送時延也會相應增加,同時會增大帶寬消耗??梢?,源包發送數目及冗余包比例將對端到端時延和視頻質量造成影響?;诖?,通過刻畫帶寬限制和時延限制獲得較低的端到端時延及較高的視頻質量,并以此為優化目標尋找最佳源包數目和冗余包數目,以提升視頻質量,降低端到端時延。

在該系統視頻數據傳輸過程中,數據包每一輪的總發送數據包個數為

為了避免網絡發生擁塞,每個時間單位內發送的數據包數量不應超過連接的可用帶寬B,因此數據包的發送時延tsend可以由數據包個數和帶寬的比值表示。由于數據包的傳輸取決于傳輸媒介的傳播速度和傳輸距離,只需要考慮發送端到接收端的傳播時延ttransfer。

視頻傳輸的端到端延遲主要包括視頻數據的處理時延、發送時延、傳播時延和緩沖區排隊時延,其中處理時延可以忽略不計。因此,第i組視頻數據在系統傳輸時的端到端時延d可以表示為

式中:tqueue為緩沖區排隊時延。

文章采用的糾錯碼使用Maymounkov 等[5]發表文獻中的在線碼,其參數為ε和q。其中,ε決定了編碼的次優程度,即所需恢復編碼符號的數量,而q影響解碼的成功概率,兩個參數都將影響解碼的復雜度。根據相關文獻評估,ε=0.1,q=3。根據Maymounkov 等的描述,p個數據包可以由任意一個p′數據包恢復,其概率為

式中:p′=表示必須接受的編碼包的數目,從而可以高概率恢復數據。對于網絡丟包率為λ的鏈路,需要發送N個數據包,即

網絡視頻傳輸失真主要通過延遲、丟包和抖動來表現。對于視頻質量的評價,多用峰值信噪比(Peak Signal to Noise Ratio,PSNR)來體現。PSNR是用于衡量圖像壓縮等領域中信號重建質量的度量方法,它常常通過計算均方誤差(Mean Square Error,MSE)來定義,即

式中:SME為當前圖像X和參考圖像Y的MSE,a、b分別為圖像的高度和寬度。進一步,可以通過式(6)計算圖像的PSNR。

文章的優化目標為在約束的端到端時延以及帶寬限制內通過確定源包和冗余包比例獲得最低的端到端時延及最優的視頻質量。優化問題可以通過式(7)來解決。

式中:D為視頻傳輸的端到端時延。

網絡視頻傳輸問題還需要滿足以下約束條件。

式中:Γ 為給定的目標延時范圍,視頻傳輸的端到端時延應在給定的目標延時范圍內。

式中:M為最大傳輸單元(Maximum Transmission Unit,MTU)的大小。

式中:k為前向糾錯的冗余度。

式中:bbugdet為最大的字節數預算,每一次發送的數據包個數不能超過此數值。

2 機制設計

文章提出一種兩階段的自適應低延遲前向糾錯機制,旨在根據視頻幀特性和網絡時延情況優化視頻傳輸的端到端時延,并根據不同的網絡狀況動態調整冗余比例,從而優化視頻傳輸質量。該機制包含兩個模塊:第一模塊是最佳源包確定算法,用于確定每一輪應發送的源編碼包的數量;第二模塊是基于丟包率計算的冗余包比例確定算法,用于動態設置前向糾錯的冗余包參數。

2.1 算法1:最佳低延時源包確定算法

從約束條件可以看出,源包的個數影響發送時延和排隊時延,因此在給定最低編碼冗余度的情況下計算此時的最佳發送源包個數。首先,輸入帶寬B、傳播時延ttransfer、初始排隊時延tqueue、最低冗余度k和時延約束Γ,輸出編碼源包數m。其次,在有源包進入編碼緩沖區時進入循環,此時開始更新原緩沖區和編碼緩沖區的排隊時延。排隊時延更新為進入編碼緩沖區第一個包的時長及原緩沖區第一個包的時延。再次,根據源包的數目計算端到端時延,根據模型中的約束判斷是否超過目標時延,若沒有則繼續循環,源包數目增加,若超過目標實驗則退出循環。最后,返回所需編碼源包個數。

2.2 算法2:最佳冗余度確定算法

為了能夠在真實情況下進行傳輸,使其在網絡抖動時也能夠獲得較高的視頻質量,需要根據網絡情況對冗余度進行調整。首先,輸入編碼源包數m、丟包率λ,輸出冗余包數n。其次,在網絡傳輸時,多數時間內網絡情況都是穩定的。測試發現,網絡丟包率在小于5%的情況下,通過最小的冗余度能夠獲得較高的視頻質量,因此在小于此丟包率的情況下,維持其最小冗余度,從而可以保證利用更少的帶寬資源及約定的端到端延時。若網絡情況發生波動,丟包率大于5%,則根據建立的模型判斷所需的冗余包數目。再次,為了避免超越帶寬上界,使用視頻幀數據包作為探測包,采用實時帶寬預測算法估計實際鏈路的物理帶寬??蛻舳死迷撔畔⒉⑹褂眠f歸最小二乘自適應濾波器,估計下一時刻的鏈路帶寬值,從而獲得此時的發送字節預算,確定在字節預算內的冗余包數量[6]。如果總發送數據包數目大于字節預算,則將發送包數目更新為最大預算字節數目,發送數據包個數減去源包個數即可得到冗余包數目n。最后,返回冗余包數目n。

3 實驗與結果分析

3.1 實驗設置與實驗方法

實驗由C++代碼實現發送端與接收端。發送端采用X264 作為視頻編碼器,每個視頻流每秒30幀進行編碼。視頻幀采用實時傳輸協議(Real-time Transport Protocol,RTP)進行封包,每個數據包的大小為512 Bytes,包頭大小為42 Bytes。接收端采用FFmpeg 作為視頻解碼器,網絡狀況模擬采用Linux 操作系統自帶的TC 流量控制功能模塊及防火墻來實現,視頻文件為2 000 幀。

3.2 實驗驗證

視頻數據包組數每一時刻的端到端傳輸過程中的時延數據,如圖1 所示。從圖1 可以看出,文章所提出的算法時延大多數情況下都低于約束的端到端時延,而FIX-FEC 方案的時延情況均高于約束的端到端時延。相較于FIX-FEC,文章方案考慮了視頻幀特性和網絡傳輸過程中的時延情況,自適應選擇源視頻包的發包策略,因此大幅降低了視頻傳輸的端到端時延。

圖1 總體端到端時延對比圖

不同丟包率下PSNR 的比較情況,如圖2 所示。從圖2 可以看出,A-FEC 方案與FIX-FEC 方案相比,PSNR 情況并無太大差異,這是因為算法1 僅考慮根據網絡時延、幀時延等情況調整源編碼包數目,從而降低端到端時延,并沒有根據網絡丟包率情況調整FEC 的冗余度,PSNR 無明顯差異,符合實驗預期。因此,提出算法2 對算法1 進行拓展,根據網絡丟包率情況動態調整冗余度,從而大幅提高PSNR。

圖2 不同丟包率下PSNR 對比圖

4 結語

在無線網絡傳輸的過程中,受各種因素影響,尤其是UDP 的不可靠特性,易發生丟包情況,因此,如何在動態變化的網絡環境下增強UDP 下視頻傳輸的可靠性一直是亟待解決的難點。針對這一問題,首先對前向糾錯中的端到端時延及冗余比例確定問題進行建模,并提出一種自適應低時延的前向糾錯機制AL-FEC。該機制首先根據網絡時延、幀時延等情況動態調整編碼源包的數目,然后針對不同的網絡狀況動態調整冗余包比例,以降低端到端時延并提高視頻傳輸質量。大量實驗證明,與傳統的前向糾錯機制相比,文章提出的自適應低延時的前向糾錯方案能夠大幅降低視頻傳輸的端到端時延,并且大幅提高視頻的傳輸質量。

猜你喜歡
冗余度包率數目
有機物“同分異構體”數目的判斷方法
支持向量機的船舶網絡丟包率預測數學模型
一種基于噴泉碼的異構網絡發包算法*
一種新的VANET網絡鏈路丟包率估計算法
上海某基坑工程考慮冗余度的支撐體系設計
橋梁設計的冗余度分析
橋梁設計的冗余度分析
《哲對寧諾爾》方劑數目統計研究
橋梁設計的冗余度
牧場里的馬
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合