一種基于NS的網(wǎng)絡(luò)視頻QoS分析方法
隨著網(wǎng)絡(luò)和多媒體技術(shù)的飛速發(fā)展,網(wǎng)絡(luò)中的多媒體應(yīng)用層出不窮,如視頻會(huì)議、視頻點(diǎn)播(VOD)、遠(yuǎn)程教育等多媒體業(yè)務(wù)。由于活動(dòng)圖像的數(shù)據(jù)量很大,在具體應(yīng)用中,網(wǎng)絡(luò)拓?fù)?、網(wǎng)絡(luò)帶寬、路由技術(shù)以及傳輸數(shù)據(jù)包的實(shí)際分割方案等因素都會(huì)對(duì)網(wǎng)絡(luò)傳輸性能造成影響,最終影響視頻業(yè)務(wù)的服務(wù)質(zhì)量。因此必須對(duì)網(wǎng)絡(luò)中視頻傳輸?shù)腝oS保障問題展開研究。
本文引用地址:http://www.ex-cimer.com/article/89215.htm在網(wǎng)絡(luò)QoS保障問題的研究過程中,由于網(wǎng)絡(luò)復(fù)雜性和經(jīng)濟(jì)條件的制約,網(wǎng)絡(luò)仿真技術(shù)就扮演著非常重要的角色。網(wǎng)絡(luò)仿真技術(shù)是一種通過建立網(wǎng)絡(luò)設(shè)備和網(wǎng)絡(luò)鏈路的統(tǒng)計(jì)模型,并模擬網(wǎng)絡(luò)流量的傳輸,從而獲取網(wǎng)絡(luò)設(shè)計(jì)或優(yōu)化所需要的網(wǎng)絡(luò)性能數(shù)據(jù)的仿真技術(shù)。本文在分析EvalVid工具集的基礎(chǔ)上,將基于NS-2網(wǎng)絡(luò)仿真軟件提出一種網(wǎng)絡(luò)中視頻QoS分析方法。
1 網(wǎng)絡(luò)視頻的QoS研究技術(shù)概述
在仿真環(huán)境下,研究者通常會(huì)使用不同的尺度衡量其提出的傳輸策略對(duì)視頻質(zhì)量的影響,這些尺度包括分組丟失率、分組延時(shí)、幀丟失率和可解碼幀率等。而這些尺度很多都是衡量網(wǎng)絡(luò)性能的,不能完全反映視頻的質(zhì)量。在視頻質(zhì)量的評(píng)價(jià)方法中主要有主觀質(zhì)量評(píng)價(jià)和客觀質(zhì)量評(píng)價(jià)2種方法。主觀質(zhì)量評(píng)價(jià)是相對(duì)較為準(zhǔn)確的圖像質(zhì)量評(píng)價(jià)方法,因?yàn)橹饔^質(zhì)量評(píng)價(jià)直接反映人眼的感覺。常用的指標(biāo)是基于5級(jí)質(zhì)量制或5級(jí)損傷制的平均意見分(MOS分)。視頻圖像質(zhì)量的客觀評(píng)價(jià)通過某些數(shù)學(xué)準(zhǔn)則來衡量,常用的有峰一峰信噪比(PSNR)。它的定義如下:
其中,M和N是視頻幀的寬度和高度的維數(shù);x(i,j)和x′(i,j)是原始像素和重構(gòu)像素在(i,j)點(diǎn)的亮度或色度值。雖然網(wǎng)絡(luò)中視頻QoS的研究技術(shù)層出不窮,但是研究者一直沒能給出一種統(tǒng)一的體系結(jié)構(gòu)用來對(duì)視頻的質(zhì)量從主觀和客觀上進(jìn)行評(píng)價(jià)。為此Jirka Klaue在文獻(xiàn)[4]中給出了統(tǒng)一評(píng)價(jià)視頻傳輸質(zhì)量的框架和工具集——EvalVid。EvalVid具有模塊化的結(jié)構(gòu),可以使用在所用的視頻編碼策略下,網(wǎng)絡(luò)之間的交互作用通過trace文件實(shí)現(xiàn),很容易在任何實(shí)驗(yàn)的環(huán)境下使用。Chih-Heng Ke等在文獻(xiàn)[4]中將Evalvid和NS2結(jié)合,給出一個(gè)視頻流質(zhì)量評(píng)估的新工具集Enhanced EvalVid。NS2和EvalVid的結(jié)合通過對(duì)NS代理的擴(kuò)展實(shí)現(xiàn)的,設(shè)計(jì)出3個(gè)代理,即MyTrafficTrace,MyUDP和MyUDPSink,通過這3個(gè)代理就可以將真實(shí)的視頻流放到仿真的環(huán)境中運(yùn)行。在文獻(xiàn)[4]中Chih-Heng Ke等只考慮由于網(wǎng)絡(luò)的擁塞等原因造成的丟包對(duì)視頻質(zhì)量的影響,而沒有考慮網(wǎng)絡(luò)的延時(shí)對(duì)視頻質(zhì)量,尤其是對(duì)實(shí)時(shí)視頻傳輸質(zhì)量的影響。為此本文提出一種基于NS的網(wǎng)絡(luò)視頻QoS分析方法,既考慮丟包,又考慮延時(shí)對(duì)視頻質(zhì)量的影響,實(shí)現(xiàn)對(duì)EnhancedEvalVid的補(bǔ)充。
2 基于NS的網(wǎng)絡(luò)視頻QoS分析方法
2.1 系統(tǒng)的基本構(gòu)架
本文提出的仿真系統(tǒng)結(jié)構(gòu)如圖1所示。編碼器將YUV格式的視頻源,按照配置文件的要求進(jìn)行編碼,產(chǎn)生視頻壓縮文件。再根據(jù)視頻流的情況,產(chǎn)生網(wǎng)絡(luò)流量的trace文件,并將trace文件通過網(wǎng)絡(luò)模擬器。經(jīng)過模擬產(chǎn)生trace結(jié)果,分析后得到延時(shí)記錄和分組丟失記錄。最后,利用這些記錄產(chǎn)生有損傷的視頻壓縮文件,解碼后可以進(jìn)行質(zhì)量的評(píng)價(jià)。
2.2 分析的步驟
由于在視頻傳輸?shù)姆抡嬷校枰獙⒄鎸?shí)的視頻流在仿真的網(wǎng)絡(luò)環(huán)境中傳輸,因此必須對(duì)NS-2進(jìn)行擴(kuò)展與修改,添加視頻傳輸仿真過程中所需的網(wǎng)絡(luò)元素,包括代理的設(shè)計(jì)。本文利用文獻(xiàn)[4]中作者設(shè)計(jì)的3個(gè)代理MyTrafficTrace,MyUDP和MyUDPSink。MyTraffic-Trace代理按照發(fā)送trace文件,在適當(dāng)?shù)臅r(shí)間發(fā)送分組給低層UDP,發(fā)送時(shí)間是根據(jù)視頻幀發(fā)送率在trace文件中設(shè)定的。MyUDP是UDP代理的延伸,它記錄每個(gè)傳輸分組的時(shí)間戳,分組id和分組大小。MyUDPSink是接收代理,接收MyUDP發(fā)送的視頻分組,這個(gè)代理在指定的文件中記錄每個(gè)接收分組的時(shí)間戳、分組id和分組大小。另外,如果研究者需要驗(yàn)證其提出的傳輸策略,就要使用C++和OTcl對(duì)網(wǎng)絡(luò)元素編程,并將其提出的策略加到網(wǎng)絡(luò)元素中去,然后重新編譯NS。在完成了對(duì)NS-2的擴(kuò)展以后,就可以利用NS進(jìn)行仿真。
2.2.1 產(chǎn)生仿真用的trace文件
由于視頻編碼軟件不能直接產(chǎn)生用來仿真的trace文件。因此需要將視頻編碼器產(chǎn)生的視頻壓縮文件轉(zhuǎn)換成trace文件,trace文件的格式是<分組傳送時(shí)間,分組標(biāo)識(shí),分組類型,分組大小>。轉(zhuǎn)換的基本原理就是讀取視頻文件中的時(shí)間戳和分組的大小,并將這些信息存儲(chǔ)到trace文件中。例如數(shù)據(jù)<0.066 667,id8,udp,407>,就是圖像測試序列mother_daughter.yuv經(jīng)編碼后,產(chǎn)生的trace文件中的一組數(shù)據(jù),表示在0.066 667 s發(fā)送大小為407 B、分組標(biāo)識(shí)為id8的分組。
2.2.2 仿真配置
(1)根據(jù)實(shí)際網(wǎng)絡(luò)的要求,定義網(wǎng)絡(luò)節(jié)點(diǎn),配置網(wǎng)絡(luò)拓樸結(jié)構(gòu),確定鏈路的基本特性,如延遲、帶寬等。
(2)建立協(xié)議代理,包括端設(shè)備的協(xié)議綁定和通信業(yè)務(wù)量模型的建立,將視頻流和各種背景流綁定到代理中。配置業(yè)務(wù)量模型的參數(shù),確定網(wǎng)絡(luò)上的業(yè)務(wù)量分布。
(3)設(shè)置Trace對(duì)象。Trace對(duì)象把仿真過程中發(fā)生的特定類型事件記錄在trace文件中。NS-2通過trace文件保存整個(gè)仿真過程。仿真完成后,可以對(duì)trace文件進(jìn)行分析研究。
(4)編寫其他的輔助過程,設(shè)定仿真結(jié)束時(shí)間,至此OTcl腳本編寫完成,再用NS-2解釋執(zhí)行已編寫的OTcl腳本,進(jìn)行仿真。
2.2.3 對(duì)傳輸后視頻文件的恢復(fù)與解碼
網(wǎng)絡(luò)仿真器能為每個(gè)傳輸?shù)姆纸M產(chǎn)生相應(yīng)的記錄,仿真后產(chǎn)生trace文件,記錄模擬過程的所有trace數(shù)據(jù)。通過MyUDPSink代理生成目標(biāo)trace文件,它的格式是<分組到達(dá)時(shí)間,分組標(biāo)識(shí),分組類型,分組大小>。例如,數(shù)據(jù)<0.275093,id 8,udp,407>,就表示在上例中0.066 667 s發(fā)送的大小為407 B的分組id8在時(shí)刻0.275 093 s被接收到,若在目標(biāo)trace文件中沒有對(duì)應(yīng)的分組數(shù)據(jù)說明該分組丟失。以下兩組數(shù)據(jù):<0.510840,idl3,udp,102>,<0.608045,id 14,udp,306>是分別對(duì)應(yīng)于連續(xù)兩幀圖像的分組,由于兩分組之間延時(shí)0.097 205 s超過了設(shè)定的幀間最大間隔,故在實(shí)時(shí)視頻傳輸中分組14由于延時(shí)超過限制,將不能用來解碼。
可見根據(jù)目標(biāo)trace文件就可以判斷壓縮視頻分組中哪些分組要在傳輸過程中丟失,哪些分組因?yàn)檠訒r(shí)超過了一定的限制而不能用來解碼?;谶@樣的方法,可以從壓縮視頻文件中將傳輸丟失的分組和延時(shí)超過限制的分組丟棄,從而產(chǎn)生新的傳輸以后的視頻壓縮文件。解碼器對(duì)該文件進(jìn)行解碼便得到重建視頻,從而進(jìn)行質(zhì)量的評(píng)估。
3 實(shí)例分析
圖2所示是本文進(jìn)行實(shí)例分析的視頻傳輸系統(tǒng)的結(jié)構(gòu)示意圖,攝像機(jī)產(chǎn)生視頻文件,通過節(jié)點(diǎn)S1適時(shí)傳輸?shù)焦?jié)點(diǎn)D1,中間通過節(jié)點(diǎn)R1和R2;節(jié)點(diǎn)S1帶有1個(gè)CBR流量發(fā)生器,也通過中間節(jié)點(diǎn)R1和R2,向節(jié)點(diǎn)D2發(fā)送,作為影響視頻傳輸?shù)谋尘傲?。鏈路的帶寬如圖中標(biāo)注所示。本實(shí)例仿真主要想說明CBR的背景流對(duì)視頻傳輸質(zhì)量的影響,從而論證本分析方案的可行性。
本例使用250幀的圖像測試序列mother_daughter.yuv,利用JVT給出的參考模型JM1.7 H.264編碼器進(jìn)行編碼,產(chǎn)生mother_daughter.264壓縮視頻文件,編寫程序讀取壓縮視頻文件,產(chǎn)生名為mother_daughter.trc的trace文件。按照?qǐng)D2配置網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu),確定鏈路的基本特性。將視頻trace文件注入NS-2部分代碼如下:
仿真過程N(yùn)AM動(dòng)態(tài)顯示截圖如圖3所示,在R1(圖3中的2號(hào)節(jié)點(diǎn))處產(chǎn)生了大量丟包。
以下是該仿真實(shí)例產(chǎn)生的輸出trace文件的部分內(nèi)容:
對(duì)于其格式的含義,從第1列到第12列分別解釋如下:第1列表示特定的跟蹤對(duì)象實(shí)現(xiàn)的跟蹤類型,有+(進(jìn)隊(duì)列)、-(出隊(duì)列)、r(接收)、d(丟棄)4種;第2列表示事件發(fā)生的時(shí)間(單位:秒);第3列、第4列分別表示跟蹤的源和目的節(jié)點(diǎn)號(hào)(對(duì)應(yīng)于圖3中的結(jié)點(diǎn));第5列表示包類型名字;第6列表示包大??;第7列是一個(gè)標(biāo)志字符串,本例沒有使用;第8列是lpv6定義的流標(biāo)識(shí)符;第9,10列表示包的源和目的節(jié)點(diǎn)地址;第11列表示流內(nèi)的順序號(hào);第12列表示一次仿真中每個(gè)新生成包的惟一標(biāo)識(shí)號(hào)。以上數(shù)據(jù)組記錄了大小為407 B(435中包含28 B的分組頭)分組傳輸?shù)恼麄€(gè)過程,再通過MyUDPSink代理生成目標(biāo)trace記錄<0.275093,id 8,udp,407>。
利用mother_daughter。264文件和目標(biāo)trace文件,編寫分析程序,從mother_daughter.264中將由于丟包和超時(shí)所丟失的分組去掉,得到新的視頻壓縮文件,解碼后可以從主觀和客觀上去評(píng)價(jià)視頻質(zhì)量。
圖4中的PSNR2和PSNR1分別展示了CBR有無背景流存在的2種條件下視頻序列的PSNR的對(duì)比情況,說明CBR流的存在使視頻質(zhì)量惡化。圖5從主觀的角度,對(duì)比了兩種情況下的視頻質(zhì)量,通過這一簡單實(shí)驗(yàn)可以證明,本文所提出的方案是完全可行的。
4 結(jié) 語
本文選取NS-2網(wǎng)絡(luò)模擬器作為仿真環(huán)境,設(shè)計(jì)和實(shí)現(xiàn)一個(gè)視頻Qos分析的試驗(yàn)平臺(tái),對(duì)全部實(shí)現(xiàn)過程分析后,通過實(shí)例證明了提出的方案完全可行。對(duì)于網(wǎng)絡(luò)視頻QoS的研究者,可以應(yīng)用文中給出的實(shí)驗(yàn)平臺(tái),分析和驗(yàn)證其提出的視頻傳輸策略的有效性。
評(píng)論