摘 要:為了建立網絡中視頻傳輸的QoS分析平臺,在分析EvalVid工具集的基礎上,選取NS-2作為仿真環境,提出一種網絡視頻的QoS分析方法。該方法首先從視頻流中提取仿真用的trace文件,注入模擬的網絡中傳輸,然后利用結果trace文件將原壓縮視頻文件中由于傳輸丟失和延時超過限制的分組丟棄,產生新的視頻文件,解碼后可進行質量的評價。通過實例證實提出的方案完全可行,并可以作為設計與研究視頻傳輸問題的試驗平臺。
關鍵詞:網絡視頻;服務質量;網絡仿真;試驗平臺
QoS Analysis Method of Network Video Based on NS
CHEN hengyu
(Jinling Institute of Technology,Nanjing,210001,China
Abstract:In order to establish investigation platform to analyse the QoS of video transmission over network,this paper first analyses the EvalVid tool-set,then selects NS-2 as the simulation environment,proposes an analysis method of network video QoS.This method uses real video stream to generate trace file,which is then injected into virtual network for transportation.According to result trace file,a new video file is obtained by discarding the packet which is lost or transmission delay over limited time from the original video file,and the new file can be decoded for quality evaluation.It is confirmed by the practice that the proposed method is completely feasible,which can be used as a experimental platform for designing and researching video transportation protocol.
eywords:network video;quality of services;network simulation;experimental platform
隨著網絡和多媒體技術的飛速發展,網絡中的多媒體應用層出不窮,如視頻會議、視頻點播(VOD、遠程教育等多媒體業務。由于活動圖像的數據量很大,在具體應用中,網絡拓撲、網絡帶寬、路由技術以及傳輸數據包的實際分割方案等因素都會對網絡傳輸性能造成影響[1],最終影響視頻業務的服務質量。因此必須對網絡中視頻傳輸的QoS保障問題展開研究。
在網絡QoS保障問題的研究過程中,由于網絡復雜性和經濟條件的制約,網絡仿真技術就扮演著非常重要的角色。網絡仿真技術是一種通過建立網絡設備和網絡鏈路的統計模型, 并模擬網絡流量的傳輸,從而獲取網絡設計或優化所需要的網絡性能數據的仿真技術[2]。本文在分析EvalVid工具集的基礎上,將基于NS - 2 網絡仿真軟件提出一種網絡中視頻QoS分析方法。
1 網絡視頻的QoS研究技術概述
在仿真環境下,研究者通常會使用不同的尺度衡量其提出的傳輸策略對視頻質量的影響,這些尺度包括分組丟失率、分組延時、幀丟失率和可解碼幀率等[3]。而這些尺度很多都是衡量網絡性能的,不能完全反映視頻的質量。在視頻質量的評價方法中主要有主觀質量評價和客觀質量評價2種方法。主觀質量評價是相對較為準確的圖像質量評價方法,因為主觀質量評價直接反映人眼的感覺。常用的指標是基于5級質量制或5級損傷制的平均意見分(MOS分)。視頻圖像質量的客觀評價通過某些數學準則來衡量,常用的有峰-峰信噪比(PSNR)。它的定義如下:
其中,,M和N是視頻幀的寬度和高度的維數;x(i,j和x′(i,j是原始像素和重構像素在(i,j,點的亮度或色度值。雖然網絡中視頻QoS的研究技術層出不窮,但是研究者一直沒能給出一種統一的體系結構用來對視頻的質量從主觀和客觀上進行評價。為此Jirka laue在文獻[4]中給出了統一評價視頻傳輸質量的框架和工具集——EvalVid[3]。EvalVid具有模塊化的結構,可以使用在所用的視頻編碼策略下,網絡之間的交互作用通過trace文件實現,很容易在任何實驗的環境下使用。Chih-Heng e等在文獻[4]中將EvalVid和NS2結合,給出一個視頻流質量評估的新工具集Enhanced EvalVid[4]。NS2和EvalVid的結合通過對NS代理的擴展實現的,設計出3個代理,即MyTrafficTrace,MyUDP和MyUDPSink,通過這3個代理就可以將真實的視頻流放到仿真的環境中運行。在文獻[4]中Chih-Heng e等只考慮由于網絡的擁塞等原因造成的丟包對視頻質量的影響,而沒有考慮網絡的延時對視頻質量,尤其是對實時視頻傳輸質量的影響。為此本文提出一種基于NS的網絡視頻QoS分析方法,既考慮丟包,又考慮延時對視頻質量的影響,實現對Enhanced EvalVid的補充。
2 基于NS的網絡視頻QoS分析方法
2.1 系統的基本構架
本文提出的仿真系統結構如圖1所示。編碼器將YUV格式的視頻源,按照配置文件的要求進行編碼,產生視頻壓縮文件。再根據視頻流的情況,產生網絡流量的trace文件,并將trace文件通過網絡模擬器。經過模擬產生trace結果,分析后得到延時記錄和分組丟失記錄。最后,利用這些記錄產生有損傷的視頻壓縮文件,解碼后可以進行質量的評價。
2.2 分析的步驟
由于在視頻傳輸的仿真中,需要將真實的視頻流在仿真的網絡環境中傳輸,因此必須對NS-2 進行擴展與修改, 添加視頻傳輸仿真過程中所需的網絡元素,包括代理的設計。本文利用文獻[4]中作者設計的3個代理MyTrafficTrace,MyUDP和 MyUDPSink。MyTrafficTrace代理按照發送trace文件,在適當的時間發送分組給低層UDP,發送時間是根據視頻幀發送率在trace文件中設定的。 MyUDP是UDP代理的延伸,它記錄每個傳輸分組的時間戳,分組id和分組大小。MyUDPSink是接收代理,接收MyUDP發送的視頻分組,這個代理在指定的文件中記錄每個接收分組的時間戳、分組id和分組大小。另外,如果研究者需要驗證其提出的傳輸策略,就要使用C++和OTcl對網絡元素編程,并將其提出的策略加到網絡元素中去,然后重新編譯NS。在完成了對NS-2的擴展以后,就可以利用NS進行仿真。
2.2.1 產生仿真用的trace文件
由于視頻編碼軟件不能直接產生用來仿真的trace文件。因此需要將視頻編碼器產生的視頻壓縮文件轉換成trace文件,trace文件的格式是<分組傳送時間,分組標識,分組類型,分組大小>。轉換的基本原理就是讀取視頻文件中的時間戳和分組的大小,并將這些信息存儲到trace文件中。例如數據<0.066 667,id8,udp,407>,就是圖像測試序列mother_daughter.yuv經編碼后,產生的trace文件中的一組數據,表示在0.066 667 s發送大小為407 B、分組標識為id8的分組。
2.2.2 仿真配置
(1根據實際網絡的要求,定義網絡節點,配置網絡拓樸結構,確定鏈路的基本特性,如延遲、帶寬等。
(2建立協議代理,包括端設備的協議綁定和通信業務量模型的建立,將視頻流和各種背景流綁定到代理中。配置業務量模型的參數,確定網絡上的業務量分布。
(3設置Trace 對象。Trace 對象把仿真過程中發生的特定類型事件記錄在trace 文件中。NS-2通過trace 文件保存整個仿真過程。仿真完成后,可以對trace 文件進行分析研究。
(4編寫其他的輔助過程,設定仿真結束時間,至此OTcl 腳本編寫完成,再用NS-2解釋執行已編寫的OTcl 腳本,進行仿真[5]。
2.2.3 對傳輸后視頻文件的恢復與解碼
網絡仿真器能為每個傳輸的分組產生相應的記錄,仿真后產生trace文件,記錄模擬過程的所有trace數據。通過MyUDPSink代理生成目標trace文件,它的格式是<分組到達時間,分組標識,分組類型,分組大小>。例如,數據<0.275093,id 8,udp,407>,就表示在上例中0.066 667 s發送的大小為407 B的分組id8在時刻0.275 093 s被接收到,若在目標trace文件中沒有對應的分組數據說明該分組丟失。以下兩組數據:<0.510840,id13,udp,102> ,<0.608045,id 14,udp,306>是分別對應于連續兩幀圖像的分組,由于兩分組之間延時0.097 205 s超過了設定的幀間最大間隔,故在實時視頻傳輸中分組14由于延時超過限制,將不能用來解碼。
可見根據目標trace文件就可以判斷壓縮視頻分組中哪些分組要在傳輸過程中丟失,哪些分組因為延時超過了一定的限制而不能用來解碼。基于這樣的方法,可以從壓縮視頻文件中將傳輸丟失的分組和延時超過限制的分組丟棄,從而產生新的傳輸以后的視頻壓縮文件。解碼器對該文件進行解碼便得到重建視頻,從而進行質量的評估。
3 實例分析
圖2所示是本文進行實例分析的視頻傳輸系統的結構示意圖,攝像機產生視頻文件,通過節點S1適時傳輸到節點D1,中間通過節點R1和R2;節點S1帶有1個CBR流量發生器,也通過中間節點R1和R2,向節點D2發送,作為影響視頻傳輸的背景流。鏈路的帶寬如圖中標注所示。本實例仿真主要想說明CBR的背景流對視頻傳輸質量的影響,從而論證本分析方案的可行性。
本例使用250幀的圖像測試序列mother_daughter.yuv,利用JVT給出的參考模型JM1.7 H.264編碼器進行編碼,產生mother_daughter.264壓縮視頻文件,編寫程序讀取壓縮視頻文件,產生名為mother_daughter.trc的trace文件。按照圖2配置網絡拓撲結構,確定鏈路的基本特性。將視頻trace文件注入NS-2部分代碼如下:
…
set videosink [new Agent/ MyUDPSink]
MYMns_ attach-agent MYMd1 MYMvideosink
set videoudp [new Agent/MyUDP]
MYMns_ attach-agent MYMs1 MYMvideoudp
MYMvideoudp set packetSize_ 1000
set tfile [new Tracefile]
MYMtfile filename \"mother_daughter.trc\"
set trace_[new Application/Traffic/Trace]
MYMtrace_ attach-tracefile MYMtfile
MYMtrace_ attach-agent MYMvideoudp
MYMns_ connect MYMvideoudp MYMvideosink
…
[HT5”][J]圖2 仿真結構示意圖[HT10.]
仿真過程NAM動態顯示截圖如圖3所示,在R1(圖3中的2號節點)處產生了大量丟包。
[HT5”][J]圖3 NAM動畫截圖[HT10.]
以下是該仿真實例產生的輸出trace文件的部分內容:
+ [WB]0.066667 [WB]0 [WB]2 [WB]videok [WB]435…[WB]-0 [WB]0.0 [WB]4.0 [WB]-1 [WB]13
-[DW]0.066667[DW]0[DW]2[DW]video[DW]435…[DW]-0[DW]0.0[DW]4.0[DW]-1[DW]13
r[DW]0.071147[DW]0[DW]2[DW]video[DW]435…[DW]-0[DW]0.0[DW]4.0[DW]-1[DW]13
+[DW]0.071147[DW]2[DW]3[DW]video[DW]435…[DW]-0[DW]0.0[DW]4.0[DW]-1[DW]13
-[DW]0.258013[DW]2[DW]3[DW]video[DW]435…[DW]-0[DW]0.0[DW]4.0[DW]-1[DW]13
r[DW]0.270613[DW]2[DW]3[DW]video[DW]435…[DW]-0[DW]0.0[DW]4.0[DW]-1[DW]13
+[DW]0.270613[DW]3[DW]4[DW]video[DW]435…[DW]-0[DW]0.0[DW]4.0[DW]-1[DW]13
-[DW]0.270613[DW]3[DW]4[DW]video[DW]435…[DW]-0[DW]0.0[DW]4.0[DW]-1[DW]13
r[DW]0.275093[DW]3[DW]4[DW]video[DW]435…[DW]-0[DW]0.0[DW]4.0[DW]-1[DW]13
對于其格式的含義,從第1 列到第12 列分別解釋如下:第1列表示特定的跟蹤對象實現的跟蹤類型,有+ (進隊列、- (出隊列、r(接收、d (丟棄 4種; 第2列表示事件發生的時間(單位:秒;第3 列、第4 列分別表示跟蹤的源和目的節點號(對應于圖3中的結點);第5 列表示包類型名字;第6 列表示包大小;第7 列是一個標志字符串,本例沒有使用;第8 列是Ipv6定義的流標識符; 第9,10 列表示包的源和目的節點地址;第11 列表示流內的順序號;第12 列表示一次仿真中每個新生成包的惟一標識號。以上數據組記錄了大小為407 B(435中包含28 B的分組頭)分組傳輸的整個過程,再通過MyUDPSink代理生成目標trace記錄<0.275093,id 8,udp,407>。利用mother_daughter.264文件和目標trace文件,編寫分析程序,從mother_daughter.264中將由于丟包和超時所丟失的分組去掉,得到新的視頻壓縮文件,解碼后可以從主觀和客觀上去評價視頻質量。
圖4中的PSNR2和PSNR1分別展示了CBR有無背景流存在的2種條件下視頻序列的PSNR的對比情況,說明CBR流的存在使視頻質量惡化。
圖5從主觀的角度,對比了兩種情況下的視頻質量,通過這一簡單實驗可以證明,本文所提出的方案是完全可行的。