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