摘 要:從理論上分析了基于IEEE 802.11b無線局域網" title="無線局域網">無線局域網的UDP可用帶寬,重點分析了視頻碼流數目N、視頻幀率與視頻幀的平均幀長度間的關系,給出了分析結果。在此基礎上,說明了無線局域網上視頻流" title="視頻流">視頻流接入控制機制的必要性。實驗結果表明,其結果很好地反映了802.11無線局域網上視頻碼流傳輸的實際特性,為實現基于IEEE 802.11無線局域網的視頻流接入控制提供了依據。
關鍵詞:無線局域網 視頻傳輸 DCF機制 丟包率 接入控制
隨著WLAN應用的普及,除數據業務外,更多的用戶要求WLAN上能夠承載視頻業務,WLAN上的視頻傳輸已成為一個研究熱點。由于視頻流的實時性要求使用UDP協議作為承載協議,因此基于802.11的UDP協議分析是研究基于WLAN視頻傳輸的關鍵。由于UDP協議是一個無連接協議,發送端與接收端" title="接收端">接收端不建立連接且不提供數據正確傳送的保證機制,因此在利用UDP傳輸視頻時,必須近似估計出UDP的可用帶寬。如果視頻流的輸出帶寬大于可用帶寬,那么在傳輸過程中將會導致高視頻丟包率和大時延" title="時延">時延值,接收端圖像質量嚴重下降,影響視頻通信的效果。文獻[2]給出了基于802.11b的UDP可用帶寬與用戶數的關系,文獻[3]給出了UDP可用帶寬與VOIP語音終端數目的關系,重點分析了音頻數據包的采樣間隔和編碼類型對UDP吞吐量的影響。文獻[4]在文獻[3]的基礎上給出了基于802.11的VOIP系統的接入控制機制,保證VOIP語音終端的數目小于系統所允許的最大值,防止由于接入用戶數過多引起每個VOIP終端系統性能的嚴重下降。本文重點分析了當UDP承載視頻流時的性能,首先從時延值和丟包率的角度分析了承載視頻流的UDP性能與視頻流數目的關系,給出了一定條件下單個視頻所占用的UDP可用帶寬。在此基礎上,說明了基于802.11 WLAN的視頻流接入控制機制的必要性,分析了圖像質量要求對視頻碼流接入數目的影響,并且指出了視頻碼流接入控制機制的實現途徑。最后,通過搭建相應的實驗平臺對理論進行驗證,并給出了實驗結果。
1 基于DCF的視頻碼流可用帶寬分析
1.1 DCF接入控制機制
IEEE 802.11定義了兩種訪問機制:DCF機制和PCF機制。雖然PCF是針對實時業務制定的,但是PCF在當前的產品中并未實現,因此本文主要討論DCF下的視頻傳輸。DCF基于CSMA/CA協議,只提供“盡力而為”的異步傳送方式,DCF包括基本的接入方式和使用RTS/CTS幀的接入方式,本文主要考慮基本DCF的工作機制。802.11標準中,通過幀與幀之間的間隔IFS來控制對無線媒體訪問的優先級,有3種類型的幀間隔:短IFS、PCF IFS(PIFS)和DCF IFS(DIFS)。基本的DCF工作機制如下所述,如果在MAC檢測到有一幀數據等待發送,站點首先檢測媒體是否空閑,如果空閑并且空閑的時間超過DIFS間隔,則站點可以立即發送該數據。如果檢測到媒體“忙”,那么站點持續偵聽,直到媒體再次空閑且空閑的時間大于DIFS間隔,此時,媒體并不立即發送數據,而是選擇一個隨機避讓時間,在該時間結束后立即發送數據。如果在避讓的過程中,檢測到媒體空閑,則減小避讓計數器的值;當檢測到媒體又處于忙的狀態,則凍結計數器,直到媒體再次空閑后重新啟動該計數器。當一個分組被正確接收后,接收端要在SIFS間隔內發送一個用于確認上一幀數據被正確接收的ACK幀,對接收到的分組進行確認。如果源站點在SIFS間隔內沒有接收到ACK幀,則假定上一幀數據發送失敗,將避讓計數器的值CW加倍后,重新發送該幀數據。在站點正確發送一幀數據完畢之后,即使持續檢測到媒體空閑時間大于DIFS間隔,為了保證BSS內的多個站點之間“公平”占用無線媒體,站點也不立即發送數據,而是必須啟動避讓計數器,執行避讓過程,即使當前BSS中只有一個接收端和一個發送端。典型的MAC層數據幀" title="數據幀">數據幀的傳送過程如圖1所示。
1.2 視頻碼流可用帶寬分析
文獻[2]的第2部分分析了802.11b的可用帶寬,在此基礎上,給出了802.11b用于承載視頻時的UDP可用帶寬和視頻碼流數目N以及幀率之間的關系,引用文獻[2]的部分公式和結論。這里首先假設一個BSS內有N個同樣統計特性的視頻碼流,視頻幀的平均長度和幀率相同。N表示單向碼流數目,如果當前BSS內有N0個站點完成雙向視頻碼流傳輸,那么此時N取值為2N0。視頻幀經過RTP/UDP/IP/MAC 4層封裝。如果IP層分組大于MAC層的MTU值,在IP層將對該分組進行分段處理,基礎結構BSS模式下MTU值為1 500字節,除去RTP/UDP/IP幀頭的12/8/20字節,視頻幀長度允許的最大值為1 460字節,在發送視頻幀之前,按照最大值1 460長度對視頻幀進行分割。
由視頻流的實時性可知,在下一個視頻幀到來之前,前一個在緩沖區內等待被發送的視頻幀應該被正確傳送出去(這里假設緩沖區已滿,且不影響下面的推導和結論),否則,下一幀由于不能被正確發送而導致丟失,稱這一假設為條件1。假定無線鏈路的誤碼率很低,在無線鏈路上沒有數據丟包現象發生,主要考慮視頻流由于“過載”而導致緩沖區“溢出”,進而帶來視頻數據幀的丟失情況。假定幀率為K幀/s,每幀數據從進入緩沖區到被正確發送所允許的最大時間間隔為TP,取值為TP=1/K秒,K通常取值30、20或10等。假設視頻幀的平均長度為Lavg,視頻碼流數目為N的前提下,為了滿足條件1,公式(1)必須成立:
N·Tf≤Tp?????????????????? ( 1)
其中Tf為正確發送一幀視頻數據所用的時間,包括視頻幀長值加上開銷字節的和大于1 500字節的情況。這里引用文獻[2]中的部分推導和結論,在視頻幀長為L且L值小于或等于1 460字節時,正確完成一幀傳送所用的時間為T,則可知:
DIFS和SIFS的取值為固定值,802.11b中的取值分別為50μs和10μs;tpr的取值是發送PLCP幀頭和前導序列的時間,為與802.11兼容,802.11b標準規定PLCP幀頭和前導序列用1Mbps速率發送。PLCP幀頭和前導序共192b,耗時192μs;tack為R工作速率下發送14字節ACK幀體的時間;ttr工作速率為R時,發送一幀PSDU所用的時間,單位為μs,取值如下:
R的取值為802.11b規定的4種物理速率:1Mbps、2Mbps、5.5Mbps和11Mbps,這里固定R的取值為11Mbps,Lrtp、Ludp、Lip、Lmac和Lcrc的大小分別為12、8、20、30和4字節。公式(2)中tcont為1.1節中所述的視頻幀發送數據之前的“避讓”時間,其取值為一個隨機值,這里取其概率平均值,簡化了文獻[2]結論。由于考慮視頻流傳輸占用的帶寬較大,假定N取值較小,因而忽略文獻[2]公式(4)中Pc(N)的取值,也就是忽略N0個站點在DIFS間隔后,“至少有兩個站點選擇同一個時隙SLOT進行發送”的概率。在N取值較小時,該假設對tcont的取值并沒有大的影響。因此,給出:
在T值己知的條件下,正確發送一幀視頻數據所用的時間Tf,可以由T計算得出,這里假定視頻幀的平均長度滿足公式(8),表明按照最大切割長度LMTU、分割長度為Lavg、視頻數據幀可分割為m個長度為LMTU的視頻幀和一個長度為Lseg的分段。
公式(10)中,C、D和R的取值為常數,m的取值與Lavg相關,是Lavg除以LMUT取整的值。因此,公式中只有Lavg和N兩個變量。將已知的DIFS、SIFS和其他常數代入公式(10),得到公式(11),其中Lavg的單位為字節,Tp的取值為μs。
固定N的取值,計算Lavg值,得到下面的結果。圖2是視頻幀長與碼流數N的關系,其中橫坐標是視頻碼流數目值,縱坐標是對應N值下視頻碼流所允許的視頻幀平均長度的最大值。
在Tp、N和Lavg取值已知的情況下,可以得到在不同Tp值下,每個站點用來傳輸視頻碼流的可用帶寬隨著N取值變化的情況,圖3給出了比較結果。以幀率為30幀/秒分析,從圖3中可以得知,理論上單個站點的視頻碼流可用帶寬的最大值可以達到6.5Mbps,隨著N取值的增加,視頻碼流帶寬值逐步減小,在N取值為14時,理論上的最大可用帶寬值為360kbps。同樣N取值的情況下,幀率為10幀/s時視頻碼流帶寬最大,30幀/s時視頻碼流帶寬最小。
1.3 WLAN的視頻流接入控制
在上面的假設和分析的基礎上,結合視頻碼流的統計特性,可以給出設計基于802.11的視頻流接入控制機制的必要性和實現途徑。在N取值一定時,視頻數據包的平均長度必須小于一定值,否則一段時間過后,緩沖區將會溢出導致時延值過高和數據包的大量丟失,控制視頻數據包的長度可以通過更改量化系數QP或者其他方法進行。進而,在幀率一定和平均長度受到限制的前提下,視頻碼流的輸出速率必須小于一定的值,這就要求在視頻碼流發送端必須有一定的速率控制機制。在N值一定時,視頻碼流的接入控制主要在視頻流的發送端實現,在得到當前視頻碼流數目的前提下,必須通過速率控制機制或者通過更改QP值等方法控制視頻碼流數據幀的長度和視頻碼流的輸出速率。
另外一方面,如果視頻碼流的圖像質量和視頻數據幀的平均長度受限時,即在丟包率滿足最小要求的前提下,接收端的視頻數據解碼后,圖像的PSNR值必須大于一定值、接收端在發送視頻數據幀時,視頻數據幀的長度必須大于一定值才能保證圖像的輸出質量滿足要求。此時,必須在發送端控制視頻碼流的接入數目,否則,當N值大于所允許的最大值時,同樣會導致視頻幀產生高時延值和視頻數據包的大量丟失。在視頻幀長度和視頻碼流輸出速率一定的前提下,視頻碼流的接入控制機制應該在AP上或者通過統一的服務器控制來實現。在視頻幀長度已經確定的情況下,在新的視頻碼流需要接入時,首先檢測當前BSS內的視頻碼流的數目,判斷是否已經飽和。如果N值已經達到飽和,為保證單個視頻碼流的圖像質量,此時應拒絕新的視頻碼流的接入。
2 實驗以及結果分析
為驗證上面的理論分析,搭建相應的實驗平臺設置一個典型的室內辦公室環境,在辦公室內設有一個DLink公司的AP,其型號為D1-614+;在100M以太網上與AP相連的PC機做為視頻通信的一端,在室內有若干配有USB接口無線網卡的臺式機和筆記本作為視頻通信的另一端,網卡的型號為DWL-120+。在這里,為了保證無線網卡與AP處于“最佳”的通信狀態,設置所有的網卡均勻分布在AP周圍,同時設置網卡的速率為11Mbps;在以太網上沒有其他數據流對視頻流的傳輸產生干擾;設置筆記本為視頻的發送端,PC機為對應的視頻的接收端;在視頻發送端利用MPEG-4編碼器[5]對標準的測試序列進行壓縮編碼,編碼的幀格式為IBBPBBPBBPBBI排列,利用TM5算法控制視頻幀的切割長度。首先,固定PC機和筆記本的數目及視頻碼流數目,改變視頻幀的編碼長度,發送視頻碼流,在視頻的接收端觀察視頻碼流的接收狀況。在此基礎上,改變視頻碼流的數目,重復進行實驗,觀察不同碼流數目和視頻幀長度下每個視頻碼流終端的視頻數據包接收狀況,部分結果如下所述。
圖4給出了幀率為30幀/s,一臺筆記本與對應的PC機完成雙向視頻傳輸,碼流數目N值為2,幀長度為12 500字節和13 000字節時,視頻碼流的丟包率狀況,其中12 500字節是公式(11)和計算得出的理論上視頻幀平均長度的最大值,圖中給出的是截取180s內丟包率的值。從圖4可以得知,當幀長為12 500字節時,在視頻雙向傳輸的過程中基本上沒有數據包丟失;而幀長增加到13 000字節時,丟包率明顯增加,均值在3%以上,最大值達到14%,如此高的丟包率將會導致視頻質量的嚴重下降。由于無線鏈路處于“最佳的”工作狀態,不存在由于誤碼率過高導致數據包丟失的情況,數據包的丟失主要是因網絡擁塞和時延值過大導致的。因此,通過實驗測試得知,當幀率為30幀/s和碼流數目為2時,視頻幀的平均切割長度應該小于12 500字節,才能保證接收端得到較好的圖像質量。圖5給出了幀率為20幀/s,碼流數目為2時,幀長為19 000字節和20 000字節時丟包率的對比情況,可知視頻幀的切割長度必須小于19 000字節。同樣,通過圖6可知,幀率為10幀/s時,視頻碼流數目為14時,最佳長度為5 500字節。對比上面理論計算得到的最佳值,實驗得到的最佳取值和理論計算所得到的值十分接近,比理論值略小,隨著視頻碼流數目N的增加,實驗值和理論值的偏差略微增大,這主要是由于AP定期發送信標幀導致。此外,隨著N取值的增加,公式(6)中用來估計“避讓”的時間比實際所用的時間少,因此也導致實驗測試的值比理論計算值略小。從圖4~圖6的實驗結果可以得知,前面的理論分析方法和結果可以做為802.11上視頻碼流接入控制機制的理論基礎和參考依據,在視頻碼流數目N一定的情況下,視頻幀的平均切割長度必須小于一定值。
?
為了說明“視頻碼流幀長受到限制時,視頻碼流數目N必須小于所能允許的最大值”這一個結論,圖7在圖4的基礎上給出了視頻碼流N值從14增加到16時丟包率的對比情況。假設為了保證接收端圖像的質量,發送端視頻幀的長度不能小于5 500字節。從中可以得知,當N值增加到16時,視頻碼流丟包率的平均值大于20%,已經不能完成正常的圖像通信。因此,為了保證已經存在的視頻碼流的帶寬和單路的圖像質量,在無線局域網上必須設有一種碼流接入控制機制,當檢測到視頻碼流數目N值已經達到飽和狀態時,應該拒絕增加新的視頻碼流數的要求,以保證已經存在的視頻通流完成正常的通信。
在前面實驗的基礎上,利用文獻[6]給出的視頻碼流傳輸的評估工具,可以得到不同視頻碼流數目和視頻幀長度下的丟包率、時延抖動和圖像傳輸質量PSNR值。
論文從理論分析并通過實驗測試了基于IEEE 802.11b的UDP可用帶寬,重點分析和測試視頻碼流數目N、幀率和視頻幀的平均長度之間的關系,為無線局域網上視頻傳輸系統的設計和視頻碼流接入控制機制的實現提供了重要的參考依據。一定誤碼率條件下的帶寬分析以及接入控制機制的實現將在今后的工作中展開。本文中的分析方法和實驗方法同樣適合于基于802.11a和802.11g WLAN的視頻傳輸系統。
參考文獻
1 ANSI/IEEE.802.11: Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY) Specifications, 2000
2 Martin Heusse,Franck Rousseau,Gilles Berger-Sabbatel et al.Performance Anomaly of 802.11b. In: Proceedings of IEEE INFOCOM 2003, San Francisco, USA, 2003
3 Sachin Garg and Marthin Kappes. An experimental study of throughput for UDP and VoIP traffic in IEEE 802.11b net-works. IEEE WCNC 2003;3(3):1748~1753
4 Sachin Garg,Martin Kappes. Admission control for VoIP traf-fic in IEEE 802.11 networks. In:IEEE Global Telecommuni-cations Conference, 2003
5 Winder S A J. Version: Microsoft-FDAM-1-2.3-001213 User Manual, 2004
6 Klaue J, Rathke B, and Wolisz A. EvalVid-A framework for video transmission and quality evaluation. In: Proc of the 13th International Conference on Modelling Techniques and Tools for Computer Performance Evaluation, Urbana,Illinois, USA,2003(收稿日期:2006-02-23)