新聞中心

EEPW首頁 > 消費電子 > 設(shè)計應(yīng)用 > 一種基于NS的網(wǎng)絡(luò)視頻QoS分析方法

一種基于NS的網(wǎng)絡(luò)視頻QoS分析方法

作者:陳正宇 時間:2008-11-05 來源:現(xiàn)代電子技術(shù) 收藏

  隨著網(wǎng)絡(luò)和多媒體技術(shù)的飛速發(fā)展,網(wǎng)絡(luò)中的多媒體應(yīng)用層出不窮,如視頻會議、視頻點播(VOD)、遠程教育等多媒體業(yè)務(wù)。由于活動圖像的數(shù)據(jù)量很大,在具體應(yīng)用中,網(wǎng)絡(luò)拓撲、網(wǎng)絡(luò)帶寬、路由技術(shù)以及傳輸數(shù)據(jù)包的實際分割方案等因素都會對網(wǎng)絡(luò)傳輸性能造成影響,最終影響視頻業(yè)務(wù)的服務(wù)質(zhì)量。因此必須對網(wǎng)絡(luò)中視頻傳輸?shù)腝oS保障問題展開研究。

本文引用地址:http://butianyuan.cn/article/89215.htm

  在網(wǎng)絡(luò)QoS保障問題的研究過程中,由于網(wǎng)絡(luò)復(fù)雜性和經(jīng)濟條件的制約,網(wǎng)絡(luò)仿真技術(shù)就扮演著非常重要的角色。網(wǎng)絡(luò)仿真技術(shù)是一種通過建立網(wǎng)絡(luò)設(shè)備和網(wǎng)絡(luò)鏈路的統(tǒng)計模型,并模擬網(wǎng)絡(luò)流量的傳輸,從而獲取網(wǎng)絡(luò)設(shè)計或優(yōu)化所需要的網(wǎng)絡(luò)性能數(shù)據(jù)的仿真技術(shù)。本文在分析EvalVid工具集的基礎(chǔ)上,將基于NS-2網(wǎng)絡(luò)仿真軟件提出一種網(wǎng)絡(luò)中視頻QoS分析方法。

1 的QoS研究技術(shù)概述

  在仿真環(huán)境下,研究者通常會使用不同的尺度衡量其提出的傳輸策略對視頻質(zhì)量的影響,這些尺度包括分組丟失率、分組延時、幀丟失率和可解碼幀率等。而這些尺度很多都是衡量網(wǎng)絡(luò)性能的,不能完全反映視頻的質(zhì)量。在視頻質(zhì)量的評價方法中主要有主觀質(zhì)量評價和客觀質(zhì)量評價2種方法。主觀質(zhì)量評價是相對較為準(zhǔn)確的圖像質(zhì)量評價方法,因為主觀質(zhì)量評價直接反映人眼的感覺。常用的指標(biāo)是基于5級質(zhì)量制或5級損傷制的平均意見分(MOS分)。視頻圖像質(zhì)量的客觀評價通過某些數(shù)學(xué)準(zhǔn)則來衡量,常用的有峰一峰信噪比(PSNR)。它的定義如下:

 

  其中,M和N是視頻幀的寬度和高度的維數(shù);x(i,j)和x′(i,j)是原始像素和重構(gòu)像素在(i,j)點的亮度或色度值。雖然網(wǎng)絡(luò)中視頻QoS的研究技術(shù)層出不窮,但是研究者一直沒能給出一種統(tǒng)一的體系結(jié)構(gòu)用來對視頻的質(zhì)量從主觀和客觀上進行評價。為此Jirka Klaue在文獻[4]中給出了統(tǒng)一評價視頻傳輸質(zhì)量的框架和工具集——EvalVid。EvalVid具有模塊化的結(jié)構(gòu),可以使用在所用的視頻編碼策略下,網(wǎng)絡(luò)之間的交互作用通過trace文件實現(xiàn),很容易在任何實驗的環(huán)境下使用。Chih-Heng Ke等在文獻[4]中將Evalvid和NS2結(jié)合,給出一個視頻流質(zhì)量評估的新工具集Enhanced EvalVid。NS2和EvalVid的結(jié)合通過對NS代理的擴展實現(xiàn)的,設(shè)計出3個代理,即MyTrafficTrace,MyUDP和MyUDPSink,通過這3個代理就可以將真實的視頻流放到仿真的環(huán)境中運行。在文獻[4]中Chih-Heng Ke等只考慮由于網(wǎng)絡(luò)的擁塞等原因造成的丟包對視頻質(zhì)量的影響,而沒有考慮網(wǎng)絡(luò)的延時對視頻質(zhì)量,尤其是對實時視頻傳輸質(zhì)量的影響。為此本文提出一種基于NS的QoS分析方法,既考慮丟包,又考慮延時對視頻質(zhì)量的影響,實現(xiàn)對EnhancedEvalVid的補充。

2 基于NS的QoS分析方法

2.1 系統(tǒng)的基本構(gòu)架

  本文提出的仿真系統(tǒng)結(jié)構(gòu)如圖1所示。編碼器將YUV格式的視頻源,按照配置文件的要求進行編碼,產(chǎn)生視頻壓縮文件。再根據(jù)視頻流的情況,產(chǎn)生網(wǎng)絡(luò)流量的trace文件,并將trace文件通過網(wǎng)絡(luò)模擬器。經(jīng)過模擬產(chǎn)生trace結(jié)果,分析后得到延時記錄和分組丟失記錄。最后,利用這些記錄產(chǎn)生有損傷的視頻壓縮文件,解碼后可以進行質(zhì)量的評價。

 

2.2 分析的步驟

  由于在視頻傳輸?shù)姆抡嬷?,需要將真實的視頻流在仿真的網(wǎng)絡(luò)環(huán)境中傳輸,因此必須對NS-2進行擴展與修改,添加視頻傳輸仿真過程中所需的網(wǎng)絡(luò)元素,包括代理的設(shè)計。本文利用文獻[4]中作者設(shè)計的3個代理MyTrafficTrace,MyUDP和MyUDPSink。MyTraffic-Trace代理按照發(fā)送trace文件,在適當(dāng)?shù)臅r間發(fā)送分組給低層UDP,發(fā)送時間是根據(jù)視頻幀發(fā)送率在trace文件中設(shè)定的。MyUDP是UDP代理的延伸,它記錄每個傳輸分組的時間戳,分組id和分組大小。MyUDPSink是接收代理,接收MyUDP發(fā)送的視頻分組,這個代理在指定的文件中記錄每個接收分組的時間戳、分組id和分組大小。另外,如果研究者需要驗證其提出的傳輸策略,就要使用C++和OTcl對網(wǎng)絡(luò)元素編程,并將其提出的策略加到網(wǎng)絡(luò)元素中去,然后重新編譯NS。在完成了對NS-2的擴展以后,就可以利用NS進行仿真。

2.2.1 產(chǎn)生仿真用的trace文件

  由于視頻編碼軟件不能直接產(chǎn)生用來仿真的trace文件。因此需要將視頻編碼器產(chǎn)生的視頻壓縮文件轉(zhuǎn)換成trace文件,trace文件的格式是<分組傳送時間,分組標(biāo)識,分組類型,分組大小>。轉(zhuǎn)換的基本原理就是讀取視頻文件中的時間戳和分組的大小,并將這些信息存儲到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)識為id8的分組。

2.2.2 仿真配置

  (1)根據(jù)實際網(wǎng)絡(luò)的要求,定義網(wǎng)絡(luò)節(jié)點,配置網(wǎng)絡(luò)拓樸結(jié)構(gòu),確定鏈路的基本特性,如延遲、帶寬等。

  (2)建立協(xié)議代理,包括端設(shè)備的協(xié)議綁定和通信業(yè)務(wù)量模型的建立,將視頻流和各種背景流綁定到代理中。配置業(yè)務(wù)量模型的參數(shù),確定網(wǎng)絡(luò)上的業(yè)務(wù)量分布。

  (3)設(shè)置Trace對象。Trace對象把仿真過程中發(fā)生的特定類型事件記錄在trace文件中。NS-2通過trace文件保存整個仿真過程。仿真完成后,可以對trace文件進行分析研究。

  (4)編寫其他的輔助過程,設(shè)定仿真結(jié)束時間,至此OTcl腳本編寫完成,再用NS-2解釋執(zhí)行已編寫的OTcl腳本,進行仿真。

2.2.3 對傳輸后視頻文件的恢復(fù)與解碼

  網(wǎng)絡(luò)仿真器能為每個傳輸?shù)姆纸M產(chǎn)生相應(yīng)的記錄,仿真后產(chǎn)生trace文件,記錄模擬過程的所有trace數(shù)據(jù)。通過MyUDPSink代理生成目標(biāo)trace文件,它的格式是<分組到達時間,分組標(biāo)識,分組類型,分組大小>。例如,數(shù)據(jù)<0.275093,id 8,udp,407>,就表示在上例中0.066 667 s發(fā)送的大小為407 B的分組id8在時刻0.275 093 s被接收到,若在目標(biāo)trace文件中沒有對應(yīng)的分組數(shù)據(jù)說明該分組丟失。以下兩組數(shù)據(jù):<0.510840,idl3,udp,102>,<0.608045,id 14,udp,306>是分別對應(yīng)于連續(xù)兩幀圖像的分組,由于兩分組之間延時0.097 205 s超過了設(shè)定的幀間最大間隔,故在實時視頻傳輸中分組14由于延時超過限制,將不能用來解碼。

  可見根據(jù)目標(biāo)trace文件就可以判斷壓縮視頻分組中哪些分組要在傳輸過程中丟失,哪些分組因為延時超過了一定的限制而不能用來解碼?;谶@樣的方法,可以從壓縮視頻文件中將傳輸丟失的分組和延時超過限制的分組丟棄,從而產(chǎn)生新的傳輸以后的視頻壓縮文件。解碼器對該文件進行解碼便得到重建視頻,從而進行質(zhì)量的評估。

3 實例分析

  圖2所示是本文進行實例分析的視頻傳輸系統(tǒng)的結(jié)構(gòu)示意圖,攝像機產(chǎn)生視頻文件,通過節(jié)點S1適時傳輸?shù)焦?jié)點D1,中間通過節(jié)點R1和R2;節(jié)點S1帶有1個CBR流量發(fā)生器,也通過中間節(jié)點R1和R2,向節(jié)點D2發(fā)送,作為影響視頻傳輸?shù)谋尘傲?。鏈路的帶寬如圖中標(biāo)注所示。本實例仿真主要想說明CBR的背景流對視頻傳輸質(zhì)量的影響,從而論證本分析方案的可行性。

  本例使用250幀的圖像測試序列mother_daughter.yuv,利用JVT給出的參考模型JM1.7 H.264編碼器進行編碼,產(chǎn)生mother_daughter.264壓縮視頻文件,編寫程序讀取壓縮視頻文件,產(chǎn)生名為mother_daughter.trc的trace文件。按照圖2配置網(wǎng)絡(luò)拓撲結(jié)構(gòu),確定鏈路的基本特性。將視頻trace文件注入NS-2部分代碼如下:

 
 

  仿真過程NAM動態(tài)顯示截圖如圖3所示,在R1(圖3中的2號節(jié)點)處產(chǎn)生了大量丟包。

 

  以下是該仿真實例產(chǎn)生的輸出trace文件的部分內(nèi)容:

 

  對于其格式的含義,從第1列到第12列分別解釋如下:第1列表示特定的跟蹤對象實現(xiàn)的跟蹤類型,有+(進隊列)、-(出隊列)、r(接收)、d(丟棄)4種;第2列表示事件發(fā)生的時間(單位:秒);第3列、第4列分別表示跟蹤的源和目的節(jié)點號(對應(yīng)于圖3中的結(jié)點);第5列表示包類型名字;第6列表示包大小;第7列是一個標(biāo)志字符串,本例沒有使用;第8列是lpv6定義的流標(biāo)識符;第9,10列表示包的源和目的節(jié)點地址;第11列表示流內(nèi)的順序號;第12列表示一次仿真中每個新生成包的惟一標(biāo)識號。以上數(shù)據(jù)組記錄了大小為407 B(435中包含28 B的分組頭)分組傳輸?shù)恼麄€過程,再通過MyUDPSink代理生成目標(biāo)trace記錄<0.275093,id 8,udp,407>。

  利用mother_daughter。264文件和目標(biāo)trace文件,編寫分析程序,從mother_daughter.264中將由于丟包和超時所丟失的分組去掉,得到新的視頻壓縮文件,解碼后可以從主觀和客觀上去評價視頻質(zhì)量。

  圖4中的PSNR2和PSNR1分別展示了CBR有無背景流存在的2種條件下視頻序列的PSNR的對比情況,說明CBR流的存在使視頻質(zhì)量惡化。圖5從主觀的角度,對比了兩種情況下的視頻質(zhì)量,通過這一簡單實驗可以證明,本文所提出的方案是完全可行的。

 

 

4 結(jié) 語

  本文選取NS-2網(wǎng)絡(luò)模擬器作為仿真環(huán)境,設(shè)計和實現(xiàn)一個視頻Qos分析的試驗平臺,對全部實現(xiàn)過程分析后,通過實例證明了提出的方案完全可行。對于網(wǎng)絡(luò)視頻QoS的研究者,可以應(yīng)用文中給出的實驗平臺,分析和驗證其提出的視頻傳輸策略的有效性。



關(guān)鍵詞: 網(wǎng)絡(luò)視頻

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉