摘 要:從理論上分析了基于IEEE 802.11b無線局域網(wǎng)" title="無線局域網(wǎng)">無線局域網(wǎng)的UDP可用帶寬,重點分析了視頻碼流數(shù)目N、視頻幀率與視頻幀的平均幀長度間的關系,給出了分析結果。在此基礎上,說明了無線局域網(wǎng)上視頻流" title="視頻流">視頻流接入控制機制的必要性。實驗結果表明,其結果很好地反映了802.11無線局域網(wǎng)上視頻碼流傳輸?shù)膶嶋H特性,為實現(xiàn)基于IEEE 802.11無線局域網(wǎng)的視頻流接入控制提供了依據(jù)。
關鍵詞:無線局域網(wǎng) 視頻傳輸 DCF機制 丟包率 接入控制
隨著WLAN應用的普及,除數(shù)據(jù)業(yè)務外,更多的用戶要求WLAN上能夠承載視頻業(yè)務,WLAN上的視頻傳輸已成為一個研究熱點。由于視頻流的實時性要求使用UDP協(xié)議作為承載協(xié)議,因此基于802.11的UDP協(xié)議分析是研究基于WLAN視頻傳輸?shù)年P鍵。由于UDP協(xié)議是一個無連接協(xié)議,發(fā)送端與接收端" title="接收端">接收端不建立連接且不提供數(shù)據(jù)正確傳送的保證機制,因此在利用UDP傳輸視頻時,必須近似估計出UDP的可用帶寬。如果視頻流的輸出帶寬大于可用帶寬,那么在傳輸過程中將會導致高視頻丟包率和大時延" title="時延">時延值,接收端圖像質量嚴重下降,影響視頻通信的效果。文獻[2]給出了基于802.11b的UDP可用帶寬與用戶數(shù)的關系,文獻[3]給出了UDP可用帶寬與VOIP語音終端數(shù)目的關系,重點分析了音頻數(shù)據(jù)包的采樣間隔和編碼類型對UDP吞吐量的影響。文獻[4]在文獻[3]的基礎上給出了基于802.11的VOIP系統(tǒng)的接入控制機制,保證VOIP語音終端的數(shù)目小于系統(tǒng)所允許的最大值,防止由于接入用戶數(shù)過多引起每個VOIP終端系統(tǒng)性能的嚴重下降。本文重點分析了當UDP承載視頻流時的性能,首先從時延值和丟包率的角度分析了承載視頻流的UDP性能與視頻流數(shù)目的關系,給出了一定條件下單個視頻所占用的UDP可用帶寬。在此基礎上,說明了基于802.11 WLAN的視頻流接入控制機制的必要性,分析了圖像質量要求對視頻碼流接入數(shù)目的影響,并且指出了視頻碼流接入控制機制的實現(xiàn)途徑。最后,通過搭建相應的實驗平臺對理論進行驗證,并給出了實驗結果。
1 基于DCF的視頻碼流可用帶寬分析
1.1 DCF接入控制機制
IEEE 802.11定義了兩種訪問機制:DCF機制和PCF機制。雖然PCF是針對實時業(yè)務制定的,但是PCF在當前的產(chǎn)品中并未實現(xiàn),因此本文主要討論DCF下的視頻傳輸。DCF基于CSMA/CA協(xié)議,只提供“盡力而為”的異步傳送方式,DCF包括基本的接入方式和使用RTS/CTS幀的接入方式,本文主要考慮基本DCF的工作機制。802.11標準中,通過幀與幀之間的間隔IFS來控制對無線媒體訪問的優(yōu)先級,有3種類型的幀間隔:短IFS、PCF IFS(PIFS)和DCF IFS(DIFS)?;镜腄CF工作機制如下所述,如果在MAC檢測到有一幀數(shù)據(jù)等待發(fā)送,站點首先檢測媒體是否空閑,如果空閑并且空閑的時間超過DIFS間隔,則站點可以立即發(fā)送該數(shù)據(jù)。如果檢測到媒體“忙”,那么站點持續(xù)偵聽,直到媒體再次空閑且空閑的時間大于DIFS間隔,此時,媒體并不立即發(fā)送數(shù)據(jù),而是選擇一個隨機避讓時間,在該時間結束后立即發(fā)送數(shù)據(jù)。如果在避讓的過程中,檢測到媒體空閑,則減小避讓計數(shù)器的值;當檢測到媒體又處于忙的狀態(tài),則凍結計數(shù)器,直到媒體再次空閑后重新啟動該計數(shù)器。當一個分組被正確接收后,接收端要在SIFS間隔內(nèi)發(fā)送一個用于確認上一幀數(shù)據(jù)被正確接收的ACK幀,對接收到的分組進行確認。如果源站點在SIFS間隔內(nèi)沒有接收到ACK幀,則假定上一幀數(shù)據(jù)發(fā)送失敗,將避讓計數(shù)器的值CW加倍后,重新發(fā)送該幀數(shù)據(jù)。在站點正確發(fā)送一幀數(shù)據(jù)完畢之后,即使持續(xù)檢測到媒體空閑時間大于DIFS間隔,為了保證BSS內(nèi)的多個站點之間“公平”占用無線媒體,站點也不立即發(fā)送數(shù)據(jù),而是必須啟動避讓計數(shù)器,執(zhí)行避讓過程,即使當前BSS中只有一個接收端和一個發(fā)送端。典型的MAC層數(shù)據(jù)幀" title="數(shù)據(jù)幀">數(shù)據(jù)幀的傳送過程如圖1所示。
1.2 視頻碼流可用帶寬分析
文獻[2]的第2部分分析了802.11b的可用帶寬,在此基礎上,給出了802.11b用于承載視頻時的UDP可用帶寬和視頻碼流數(shù)目N以及幀率之間的關系,引用文獻[2]的部分公式和結論。這里首先假設一個BSS內(nèi)有N個同樣統(tǒng)計特性的視頻碼流,視頻幀的平均長度和幀率相同。N表示單向碼流數(shù)目,如果當前BSS內(nèi)有N0個站點完成雙向視頻碼流傳輸,那么此時N取值為2N0。視頻幀經(jīng)過RTP/UDP/IP/MAC 4層封裝。如果IP層分組大于MAC層的MTU值,在IP層將對該分組進行分段處理,基礎結構BSS模式下MTU值為1 500字節(jié),除去RTP/UDP/IP幀頭的12/8/20字節(jié),視頻幀長度允許的最大值為1 460字節(jié),在發(fā)送視頻幀之前,按照最大值1 460長度對視頻幀進行分割。
由視頻流的實時性可知,在下一個視頻幀到來之前,前一個在緩沖區(qū)內(nèi)等待被發(fā)送的視頻幀應該被正確傳送出去(這里假設緩沖區(qū)已滿,且不影響下面的推導和結論),否則,下一幀由于不能被正確發(fā)送而導致丟失,稱這一假設為條件1。假定無線鏈路的誤碼率很低,在無線鏈路上沒有數(shù)據(jù)丟包現(xiàn)象發(fā)生,主要考慮視頻流由于“過載”而導致緩沖區(qū)“溢出”,進而帶來視頻數(shù)據(jù)幀的丟失情況。假定幀率為K幀/s,每幀數(shù)據(jù)從進入緩沖區(qū)到被正確發(fā)送所允許的最大時間間隔為TP,取值為TP=1/K秒,K通常取值30、20或10等。假設視頻幀的平均長度為Lavg,視頻碼流數(shù)目為N的前提下,為了滿足條件1,公式(1)必須成立:
N·Tf≤Tp?????????????????? ( 1)
其中Tf為正確發(fā)送一幀視頻數(shù)據(jù)所用的時間,包括視頻幀長值加上開銷字節(jié)的和大于1 500字節(jié)的情況。這里引用文獻[2]中的部分推導和結論,在視頻幀長為L且L值小于或等于1 460字節(jié)時,正確完成一幀傳送所用的時間為T,則可知:
DIFS和SIFS的取值為固定值,802.11b中的取值分別為50μs和10μs;tpr的取值是發(fā)送PLCP幀頭和前導序列的時間,為與802.11兼容,802.11b標準規(guī)定PLCP幀頭和前導序列用1Mbps速率發(fā)送。PLCP幀頭和前導序共192b,耗時192μs;tack為R工作速率下發(fā)送14字節(jié)ACK幀體的時間;ttr工作速率為R時,發(fā)送一幀PSDU所用的時間,單位為μs,取值如下:
R的取值為802.11b規(guī)定的4種物理速率:1Mbps、2Mbps、5.5Mbps和11Mbps,這里固定R的取值為11Mbps,Lrtp、Ludp、Lip、Lmac和Lcrc的大小分別為12、8、20、30和4字節(jié)。公式(2)中tcont為1.1節(jié)中所述的視頻幀發(fā)送數(shù)據(jù)之前的“避讓”時間,其取值為一個隨機值,這里取其概率平均值,簡化了文獻[2]結論。由于考慮視頻流傳輸占用的帶寬較大,假定N取值較小,因而忽略文獻[2]公式(4)中Pc(N)的取值,也就是忽略N0個站點在DIFS間隔后,“至少有兩個站點選擇同一個時隙SLOT進行發(fā)送”的概率。在N取值較小時,該假設對tcont的取值并沒有大的影響。因此,給出:
在T值己知的條件下,正確發(fā)送一幀視頻數(shù)據(jù)所用的時間Tf,可以由T計算得出,這里假定視頻幀的平均長度滿足公式(8),表明按照最大切割長度LMTU、分割長度為Lavg、視頻數(shù)據(jù)幀可分割為m個長度為LMTU的視頻幀和一個長度為Lseg的分段。
公式(10)中,C、D和R的取值為常數(shù),m的取值與Lavg相關,是Lavg除以LMUT取整的值。因此,公式中只有Lavg和N兩個變量。將已知的DIFS、SIFS和其他常數(shù)代入公式(10),得到公式(11),其中Lavg的單位為字節(jié),Tp的取值為μs。
固定N的取值,計算Lavg值,得到下面的結果。圖2是視頻幀長與碼流數(shù)N的關系,其中橫坐標是視頻碼流數(shù)目值,縱坐標是對應N值下視頻碼流所允許的視頻幀平均長度的最大值。
在Tp、N和Lavg取值已知的情況下,可以得到在不同Tp值下,每個站點用來傳輸視頻碼流的可用帶寬隨著N取值變化的情況,圖3給出了比較結果。以幀率為30幀/秒分析,從圖3中可以得知,理論上單個站點的視頻碼流可用帶寬的最大值可以達到6.5Mbps,隨著N取值的增加,視頻碼流帶寬值逐步減小,在N取值為14時,理論上的最大可用帶寬值為360kbps。同樣N取值的情況下,幀率為10幀/s時視頻碼流帶寬最大,30幀/s時視頻碼流帶寬最小。
1.3 WLAN的視頻流接入控制
在上面的假設和分析的基礎上,結合視頻碼流的統(tǒng)計特性,可以給出設計基于802.11的視頻流接入控制機制的必要性和實現(xiàn)途徑。在N取值一定時,視頻數(shù)據(jù)包的平均長度必須小于一定值,否則一段時間過后,緩沖區(qū)將會溢出導致時延值過高和數(shù)據(jù)包的大量丟失,控制視頻數(shù)據(jù)包的長度可以通過更改量化系數(shù)QP或者其他方法進行。進而,在幀率一定和平均長度受到限制的前提下,視頻碼流的輸出速率必須小于一定的值,這就要求在視頻碼流發(fā)送端必須有一定的速率控制機制。在N值一定時,視頻碼流的接入控制主要在視頻流的發(fā)送端實現(xiàn),在得到當前視頻碼流數(shù)目的前提下,必須通過速率控制機制或者通過更改QP值等方法控制視頻碼流數(shù)據(jù)幀的長度和視頻碼流的輸出速率。
另外一方面,如果視頻碼流的圖像質量和視頻數(shù)據(jù)幀的平均長度受限時,即在丟包率滿足最小要求的前提下,接收端的視頻數(shù)據(jù)解碼后,圖像的PSNR值必須大于一定值、接收端在發(fā)送視頻數(shù)據(jù)幀時,視頻數(shù)據(jù)幀的長度必須大于一定值才能保證圖像的輸出質量滿足要求。此時,必須在發(fā)送端控制視頻碼流的接入數(shù)目,否則,當N值大于所允許的最大值時,同樣會導致視頻幀產(chǎn)生高時延值和視頻數(shù)據(jù)包的大量丟失。在視頻幀長度和視頻碼流輸出速率一定的前提下,視頻碼流的接入控制機制應該在AP上或者通過統(tǒng)一的服務器控制來實現(xiàn)。在視頻幀長度已經(jīng)確定的情況下,在新的視頻碼流需要接入時,首先檢測當前BSS內(nèi)的視頻碼流的數(shù)目,判斷是否已經(jīng)飽和。如果N值已經(jīng)達到飽和,為保證單個視頻碼流的圖像質量,此時應拒絕新的視頻碼流的接入。
2 實驗以及結果分析
為驗證上面的理論分析,搭建相應的實驗平臺設置一個典型的室內(nèi)辦公室環(huán)境,在辦公室內(nèi)設有一個DLink公司的AP,其型號為D1-614+;在100M以太網(wǎng)上與AP相連的PC機做為視頻通信的一端,在室內(nèi)有若干配有USB接口無線網(wǎng)卡的臺式機和筆記本作為視頻通信的另一端,網(wǎng)卡的型號為DWL-120+。在這里,為了保證無線網(wǎng)卡與AP處于“最佳”的通信狀態(tài),設置所有的網(wǎng)卡均勻分布在AP周圍,同時設置網(wǎng)卡的速率為11Mbps;在以太網(wǎng)上沒有其他數(shù)據(jù)流對視頻流的傳輸產(chǎn)生干擾;設置筆記本為視頻的發(fā)送端,PC機為對應的視頻的接收端;在視頻發(fā)送端利用MPEG-4編碼器[5]對標準的測試序列進行壓縮編碼,編碼的幀格式為IBBPBBPBBPBBI排列,利用TM5算法控制視頻幀的切割長度。首先,固定PC機和筆記本的數(shù)目及視頻碼流數(shù)目,改變視頻幀的編碼長度,發(fā)送視頻碼流,在視頻的接收端觀察視頻碼流的接收狀況。在此基礎上,改變視頻碼流的數(shù)目,重復進行實驗,觀察不同碼流數(shù)目和視頻幀長度下每個視頻碼流終端的視頻數(shù)據(jù)包接收狀況,部分結果如下所述。
圖4給出了幀率為30幀/s,一臺筆記本與對應的PC機完成雙向視頻傳輸,碼流數(shù)目N值為2,幀長度為12 500字節(jié)和13 000字節(jié)時,視頻碼流的丟包率狀況,其中12 500字節(jié)是公式(11)和計算得出的理論上視頻幀平均長度的最大值,圖中給出的是截取180s內(nèi)丟包率的值。從圖4可以得知,當幀長為12 500字節(jié)時,在視頻雙向傳輸?shù)倪^程中基本上沒有數(shù)據(jù)包丟失;而幀長增加到13 000字節(jié)時,丟包率明顯增加,均值在3%以上,最大值達到14%,如此高的丟包率將會導致視頻質量的嚴重下降。由于無線鏈路處于“最佳的”工作狀態(tài),不存在由于誤碼率過高導致數(shù)據(jù)包丟失的情況,數(shù)據(jù)包的丟失主要是因網(wǎng)絡擁塞和時延值過大導致的。因此,通過實驗測試得知,當幀率為30幀/s和碼流數(shù)目為2時,視頻幀的平均切割長度應該小于12 500字節(jié),才能保證接收端得到較好的圖像質量。圖5給出了幀率為20幀/s,碼流數(shù)目為2時,幀長為19 000字節(jié)和20 000字節(jié)時丟包率的對比情況,可知視頻幀的切割長度必須小于19 000字節(jié)。同樣,通過圖6可知,幀率為10幀/s時,視頻碼流數(shù)目為14時,最佳長度為5 500字節(jié)。對比上面理論計算得到的最佳值,實驗得到的最佳取值和理論計算所得到的值十分接近,比理論值略小,隨著視頻碼流數(shù)目N的增加,實驗值和理論值的偏差略微增大,這主要是由于AP定期發(fā)送信標幀導致。此外,隨著N取值的增加,公式(6)中用來估計“避讓”的時間比實際所用的時間少,因此也導致實驗測試的值比理論計算值略小。從圖4~圖6的實驗結果可以得知,前面的理論分析方法和結果可以做為802.11上視頻碼流接入控制機制的理論基礎和參考依據(jù),在視頻碼流數(shù)目N一定的情況下,視頻幀的平均切割長度必須小于一定值。
?
為了說明“視頻碼流幀長受到限制時,視頻碼流數(shù)目N必須小于所能允許的最大值”這一個結論,圖7在圖4的基礎上給出了視頻碼流N值從14增加到16時丟包率的對比情況。假設為了保證接收端圖像的質量,發(fā)送端視頻幀的長度不能小于5 500字節(jié)。從中可以得知,當N值增加到16時,視頻碼流丟包率的平均值大于20%,已經(jīng)不能完成正常的圖像通信。因此,為了保證已經(jīng)存在的視頻碼流的帶寬和單路的圖像質量,在無線局域網(wǎng)上必須設有一種碼流接入控制機制,當檢測到視頻碼流數(shù)目N值已經(jīng)達到飽和狀態(tài)時,應該拒絕增加新的視頻碼流數(shù)的要求,以保證已經(jīng)存在的視頻通流完成正常的通信。
在前面實驗的基礎上,利用文獻[6]給出的視頻碼流傳輸?shù)脑u估工具,可以得到不同視頻碼流數(shù)目和視頻幀長度下的丟包率、時延抖動和圖像傳輸質量PSNR值。
論文從理論分析并通過實驗測試了基于IEEE 802.11b的UDP可用帶寬,重點分析和測試視頻碼流數(shù)目N、幀率和視頻幀的平均長度之間的關系,為無線局域網(wǎng)上視頻傳輸系統(tǒng)的設計和視頻碼流接入控制機制的實現(xiàn)提供了重要的參考依據(jù)。一定誤碼率條件下的帶寬分析以及接入控制機制的實現(xiàn)將在今后的工作中展開。本文中的分析方法和實驗方法同樣適合于基于802.11a和802.11g WLAN的視頻傳輸系統(tǒng)。
參考文獻
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)