win7系統(tǒng)下載
當(dāng)前位置: 首頁 > 網(wǎng)絡(luò)技術(shù)教程 > 詳細頁面

在實時視頻多播中完成QoS過濾的辦法

發(fā)布時間:2023-01-07 文章來源:深度系統(tǒng)下載 瀏覽:

網(wǎng)絡(luò)技術(shù)是從1990年代中期發(fā)展起來的新技術(shù),它把互聯(lián)網(wǎng)上分散的資源融為有機整體,實現(xiàn)資源的全面共享和有機協(xié)作,使人們能夠透明地使用資源的整體能力并按需獲取信息。資源包括高性能計算機、存儲資源、數(shù)據(jù)資源、信息資源、知識資源、專家資源、大型數(shù)據(jù)庫、網(wǎng)絡(luò)、傳感器等。 當(dāng)前的互聯(lián)網(wǎng)只限于信息共享,網(wǎng)絡(luò)則被認(rèn)為是互聯(lián)網(wǎng)發(fā)展的第三階段。

1 引言
隨著多播技術(shù)的發(fā)展和分布式多媒體應(yīng)用的普及,當(dāng)前在Internet上出現(xiàn)了很多基于IP多播的實時視頻應(yīng)用。然而這些應(yīng)用卻面臨著一個主要問題:如何針對異構(gòu)和動態(tài)的網(wǎng)絡(luò)環(huán)境,在保證TCP友好(TCPfriendliness)的基礎(chǔ)上,支持不同接收用戶的QoS要求,實現(xiàn)QoS過濾。在大容量的實時視頻多播系統(tǒng)中,QoS過濾方法決定了系統(tǒng)整體性能的優(yōu)劣。

基于網(wǎng)絡(luò)的QoS過濾方法在網(wǎng)關(guān)或網(wǎng)絡(luò)節(jié)點上實現(xiàn),但要受制于數(shù)據(jù)在協(xié)議數(shù)據(jù)單元(PDU)中的封裝方式,QoS過濾方法則更具可行性。在基于接收端驅(qū)動的終端型(Receiverdriven Layered Multicast)[1,2]QoS過濾方法(縮寫為RLM)中,源端將視頻流分為基本層和若干增強層,通過獨立的多播組發(fā)布,收端根據(jù)網(wǎng)絡(luò)可用帶寬自動增減加入的多播組數(shù)量。這種方法能夠在一定程度上改善接收端的QoS,但固定的視頻層次劃分和層次速率無法自動適應(yīng)動態(tài)變化的網(wǎng)絡(luò)環(huán)境,從而影響了QoS過濾的效果。針對這個問題,本文提出了一種基于收發(fā)兩端的雙向驅(qū)動型(Sender and Receiverdriven Layered Multicast)QoS過濾方法(縮寫為SRLM)。該方法充分利用了MPEG-4和H.264等視頻編碼標(biāo)準(zhǔn)的分層可調(diào)節(jié)碼率編碼技術(shù),并建立在閉環(huán)反饋的基礎(chǔ)上,能明顯提升QoS過濾的效果。

2 方法實現(xiàn)原理
SRLM在源端和接收端之間構(gòu)建了一個雙向反饋通道,使源端能利用反饋通道收集接收端的帶寬需求信息,并通過優(yōu)化算法來動態(tài)調(diào)整視頻分層數(shù)和各層次的編碼速率,同時還能夠通過前饋通道主動將當(dāng)前調(diào)整的結(jié)果以多播報文的方式通知接收端。各接收端收到報文后,可以此作為調(diào)整依據(jù),結(jié)合自身的有效接收帶寬,有針對性地決定增減或保持所預(yù)訂的視頻分層數(shù)。而在RLM中,接收端為了最大化接收質(zhì)量,必須引入?yún)f(xié)調(diào)或知識共享機制[1],以消除盲目進行增加視頻分層嘗試可能引起的網(wǎng)絡(luò)擁塞。

2.1SRLM的源端部分實現(xiàn)算法

為了描述方便,做如下設(shè)定:

(1)源端采用累積分層方法,最大層次劃分約束濰L。第一層為基本層,依次往后是各增強層。

(2)bi對應(yīng)各層碼率,i=1,2,…,L。各層次的碼率約束為bi∈bimin,…,bimax,且均為數(shù)量有限的離散值。令ci=∑ij=1bj,j=1,2,…,i(i≤L),ci是第1層至第i層的逐層碼率累積和,ci-ci-1=bi。將βl=c1,c2,…,cl定義為逐層累積碼率向量,l≤L,其中c1=b1是基本層編碼速率的下限。

(3)設(shè)加入多播會話的用戶數(shù)量為N,相應(yīng)的期望接收速率集合為r1,r2,r3,…,rN,現(xiàn)引入接收端公平指數(shù)定義:Jri,βl=Ψri,βlri,i≤N,其中Ψri,βl=maxc∶c≤ri,c∈c1,c2,…,cl,為接收端i當(dāng)前的有效接收碼率。顯然Jri,βl≤1。令Jr,βl=1N∑Ni=1Jri,βl為N個接收端的總體接收公平指數(shù)。

根據(jù)上述設(shè)定,源端QoS過濾可以定義為:在條件(1)和(2)的約束下,如何確定當(dāng)前最大分層數(shù)l′和逐層累積碼率向量βl′,使Jr,βl′取得最大值。

算法的具體描述如下:

(1)收集RR反饋報文,拆解得到各接收端當(dāng)前期望接收速率的集合r1,r2,r3,…,rN,并計算在當(dāng)前分層數(shù)l和逐層累積碼率向量βl=c1,c2,…,cl下的總體接收公平指數(shù)。

(2)根據(jù)條件(1)和(2)的約束,將數(shù)值超過∑Li=1bimax的ri全部合并為數(shù)值等于∑Li=1bimax的一項,對低于b1min的則進行刪除,不列入平均公平指數(shù)的計算。這樣,接收端有效期望接收速率集合(可有重復(fù)項)的項數(shù)實際還剩余N′=N-m-n+1,其中m為數(shù)值超過∑Li=1bimax的ri項數(shù),n為數(shù)值低于b1min的ri項數(shù)。由此得到經(jīng)過預(yù)處理的接收端期望接收速率集合r′1,r′2,…,r′N′。

(3)將公式Jr,βl=1N∑Ni=1Jri,βl修正惟Jr′,βl′=1N′∑N′i=1Jr′i,βl′,代入數(shù)據(jù)進行計算試探,搜尋使總體公平指數(shù)達到最大值的l′和βl′。定義調(diào)整容限ε,當(dāng)Jr′,βl′-Jr,βl>ε時,編碼器按照參數(shù)l′和βl′做相應(yīng)優(yōu)化調(diào)整,反之維持當(dāng)前狀態(tài)以保證系統(tǒng)的相對平穩(wěn)性。

(4)返回第一步重新開始。源端在執(zhí)行上述步驟的同時,每隔TSR秒通過多播方式向各接收端發(fā)送一次SR報文,報告源端當(dāng)前的視頻分層數(shù)、逐層累積碼率向量βl。TSR的設(shè)定為:TSR=TAdj/k,k為大于1的整數(shù),TAdj為源端執(zhí)行上述算法的周期,也稱為源端調(diào)整周期。 TAdj的選取不能過小,否則會加大源端的計算負(fù)擔(dān)并引起調(diào)整振蕩,不利于實時視頻數(shù)據(jù)的傳輸和接收,同時也會給正確收集和統(tǒng)計各接收端的期望接收速率報告帶來困難。分析表明,TAdj取值在10~15 s較為合理。

2.2SRLM的接收端部分算法實現(xiàn)

接收端算法的具體描述如下:

(1)估算參數(shù)p,tRTT和tRTO的值;

(2)如果收到SR報文轉(zhuǎn)到下一步,否則返回上一步;

(3)拆解SR報文得到源端當(dāng)前的βl,利用(1)計算本接收端期望接收速率r;

(4)根據(jù)βl和期望接收速率r來調(diào)整本端預(yù)訂的視頻層數(shù)。

(5)返回第一步。

接收端在執(zhí)行上述步驟的同時,每隔TRR秒向源端發(fā)送一個RR報文,報告接收端期望的接收速率。同時該報文還用作tRTT估算的一個請求。

tRTT采用閉環(huán)估算方法。源端收到接收端RR報文時會通過多播方式返回一個SR報文作為回應(yīng),但為了降低系統(tǒng)開銷,源端不會單獨回應(yīng)每一個RR報文,而是成批進行處理。也即,假設(shè)源端在本地t時刻發(fā)送了一個SR報文,并在下一個SR報文發(fā)出時刻t+TSR之前的treturn1,treturn2,…,treturnk時刻,陸續(xù)收到k個接收端返回的RR報文,這些報文都帶有各自的同步源標(biāo)識符SSRCi。源端在時刻t+TSR通過多播方式發(fā)送下一個SR報文,該報文除了βl參數(shù)外,還包含一個列表,列表內(nèi)容為上述k個接收端的SSRCi及其對應(yīng)的tdelayi。tdelayi是源端響應(yīng)某個RR報文的延遲時間(即源端從收到某個報文至發(fā)送下一個SR報文的時間間隔)。

可以看出:tdelayi=t+TSR-treturni。接收端收到SR報文后,若在報文里搜索到與本端對應(yīng)的SSRCi→tdelayi項,則可通過τ0=t″-t′-tdelayi得到tRTT的閉環(huán)估算值。t′和t″分別為接收端發(fā)送RR報文和收到SR報文的本地時間。當(dāng)接收端發(fā)出一個RR報文經(jīng)過TSR+tRTO(秒)后仍未得到相應(yīng)的SR報文回應(yīng),則認(rèn)為SR包已經(jīng)丟失,接收端清除請求記錄并發(fā)出新的RR報文。

參數(shù)tRTO可以通過tRTO=max1,4τ0來推算[4], 這個經(jīng)驗公式在實際應(yīng)用中已經(jīng)能夠提供較好的TCP友好性。丟包率p的估計可以參考文獻[4]中提到的方法,但當(dāng)接收端接收的視頻層數(shù)大于1時,有必要將每一層的視頻流單獨對待,因此總的丟包率p是在對各層的丟包率進行權(quán)衡計算的基礎(chǔ)上得到的。

3 仿真實驗和性能評價
本節(jié)通過網(wǎng)絡(luò)模擬器ns-2[5]對SRLM進行了性能仿真和分析。

仿真實驗建立的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)如圖3所示,使用如下缺省設(shè)置:(1)采用FIFO/droptail調(diào)度策略,最大排隊時延150 ms;(2)路由器之間的傳輸時延20 ms,路由器和終端之間的傳輸時延10 ms;(3)TCP流在整個仿真實驗過程始終持續(xù),發(fā)送最大窗口為4 000個數(shù)據(jù)包;(4)多播視頻流和TCP流的數(shù)據(jù)包大小均統(tǒng)一為500個字節(jié);(5)各視頻接收端的初始參數(shù)設(shè)置為:tRTT=100 ms,p=0。

在驗證SRLM對TCP流友好性的實驗中,源端各視頻分層的初始速率設(shè)為256,512,1024 kbps,處于LAN中的視頻接收端為5個。

SRLM使TCP流和視頻多播流能夠較好地共享鏈路瓶頸,并保持相近的傳輸帶寬,表現(xiàn)出了良好的公平性。

為了進一步驗證SRLM的有效性,在仿真實驗中還將其與RLM在總體接收公平指數(shù)上進行了比較。實驗的基本設(shè)定如下:

(1)RLM的兩種累積層碼率分配方式:(a)均勻分配型(uniform allocation,圖5中以RLM-UA指代),即令ci=ci-1+σ,實驗中σ=(2 048-128)/L;(b)指數(shù)分配(exponential allocation,圖5中以RLM-EA指代),即令ci=λci-1,實驗中λ=L2048/128。(a)和(b)中的L指分層數(shù),基本層最低速率均設(shè)置為128 kbps。

(2)SRLM的累積層碼率設(shè)置同上述(b),每一層有128/L個(取整數(shù))速率調(diào)整點,層內(nèi)的調(diào)整是勻速步進的。

(3)仿真環(huán)境為1 000個多播接收端,接收端按照預(yù)定視頻層數(shù)的不同呈簇群性分布,我們對各接收端的期望接收速率ri應(yīng)用混合高斯分布模型[6],并假設(shè)有5個簇群(每個簇群200個接收端),簇群的平均期望接收速率集合為160,360,800,1 200,1 800。

對比結(jié)果較好地體現(xiàn)了SRLM的QoS過濾性能。從圖中我們還可以看出,當(dāng)視頻分層數(shù)超過5層時,系統(tǒng)總體接收公平指數(shù)的改善逐漸趨于平緩,且過多的分層數(shù)會加大收發(fā)兩端的計算量和計算復(fù)雜度,反而會在一定程度上降低實時視頻多播的QoS過濾效果。實際應(yīng)用中,3~5層已經(jīng)能夠很好地適應(yīng)各種多播接收會話數(shù)量。

4 結(jié)束語
在當(dāng)前動態(tài)異構(gòu)的IP網(wǎng)絡(luò)中,基于終端系統(tǒng)的視頻QoS過濾方法較為可行。通過在終端系統(tǒng)綜合應(yīng)用各種擁塞和速率控制策略以及誤碼控制機制,我們能夠為實時多播視頻提供一定的QoS保證,從而提高視頻流的整體接收質(zhì)量。但隨著網(wǎng)絡(luò)技術(shù)的發(fā)展和進步,基于網(wǎng)絡(luò)的QoS過濾方法將會逐漸成熟并成為主要的應(yīng)用方式。

【相關(guān)文章】

  • IP多播技術(shù)及其編程
  • 實現(xiàn)CDN發(fā)布網(wǎng)帶寬管理與QoS實現(xiàn)
  • 一個使用組播和Qos的華為路由器配置


網(wǎng)絡(luò)的神奇作用吸引著越來越多的用戶加入其中,正因如此,網(wǎng)絡(luò)的承受能力也面臨著越來越嚴(yán)峻的考驗―從硬件上、軟件上、所用標(biāo)準(zhǔn)上......,各項技術(shù)都需要適時應(yīng)勢,對應(yīng)發(fā)展,這正是網(wǎng)絡(luò)迅速走向進步的催化劑。

本文章關(guān)鍵詞: QoS 視頻 多播