梁建勝, 樂江源
(1. 東莞職業(yè)技術(shù)學(xué)院, 廣東 東莞 523808; 2. 贛南師范大學(xué) 物理與電子信息學(xué)院, 江西 贛州 341000)
隨著移動無線終端計算能力與能量效率的飛速提高,移動互聯(lián)網(wǎng)的多媒體應(yīng)用呈現(xiàn)出爆發(fā)式增長[1],根據(jù)思科公司對網(wǎng)絡(luò)流量的分析,目前多媒體數(shù)據(jù)已經(jīng)占據(jù)了互聯(lián)網(wǎng)數(shù)據(jù)的一半以上[2]。當(dāng)前的移動互聯(lián)網(wǎng)用戶對視頻服務(wù)質(zhì)量的要求日益提高,智能手機、平板電腦等各種終端一般通過移動自組織網(wǎng)絡(luò)拓?fù)湫问綐?gòu)建網(wǎng)絡(luò)[3],因此,提高多媒體流量在無線自組織網(wǎng)絡(luò)的傳輸性能是當(dāng)前的研究熱點[4]。
實驗室建設(shè)一直是高等職業(yè)院校的教學(xué)重點,雖然移動互聯(lián)網(wǎng)的視頻傳輸已經(jīng)取得了較好的性能,但移動自組織網(wǎng)絡(luò)的視頻傳輸仿真實驗平臺則是目前國內(nèi)高等教育實驗領(lǐng)域的一個空缺。
為了提高實驗室建設(shè)的先進性與實用性,設(shè)計了可分級視頻流的移動無線網(wǎng)絡(luò)仿真平臺,該仿真平臺包括2個視頻流的傳輸場景,① 傳統(tǒng)的視頻流傳輸方案[5],將視頻傳輸速率設(shè)為定值,在網(wǎng)絡(luò)中發(fā)送數(shù)據(jù);② 目前前沿的視頻流傳輸方案[6],根據(jù)無線自組織網(wǎng)絡(luò)的實時可用帶寬自適應(yīng)地調(diào)節(jié)視頻傳輸流量。
本文提出了可分級視頻流(以H.264/SVC編碼為例)在移動自組織網(wǎng)絡(luò)傳輸?shù)姆抡嫫脚_,可以為移動無線網(wǎng)絡(luò)實驗室提供一個完整的仿真平臺。并且設(shè)計了WMNQoS路由協(xié)議,獲得網(wǎng)絡(luò)的可用帶寬估計,WMNQoS協(xié)議的自適應(yīng)反饋機制可以根據(jù)路由狀態(tài)與網(wǎng)絡(luò)的可用資源狀態(tài)調(diào)節(jié)源節(jié)點的傳輸速率,滿足了可分級視頻編碼的實驗條件。雖然移動無線網(wǎng)絡(luò)中節(jié)點的移動性影響了可分級視頻編碼的視頻流傳輸質(zhì)量,然而,自適應(yīng)可分級視頻編碼方案可以明顯地提高接收視頻的質(zhì)量。
將視頻傳輸方案分為兩個類型[7]:傳統(tǒng)視頻流傳輸方案與自適應(yīng)的視頻流傳輸方案。
傳統(tǒng)方案在視頻服務(wù)商與客戶端之間建立一個會話,采用一種協(xié)議發(fā)送視頻流數(shù)據(jù),傳統(tǒng)視頻傳輸方案將視頻內(nèi)容下載至本地的緩存中,當(dāng)緩存的數(shù)據(jù)流足以流暢播放時,才進行視頻的播放,如果播放速率超過了下載速率,則減緩播放速率直至緩存了足夠的數(shù)據(jù)。傳統(tǒng)視頻傳輸方案可以提供完整的視頻數(shù)據(jù)與實時性,然而該方案需要一個穩(wěn)定的源節(jié)點-目標(biāo)節(jié)點鏈接,因此缺少靈活性與容錯性,如果傳輸信道發(fā)生擁塞,則會導(dǎo)致視頻質(zhì)量明顯地下降,如圖1所示。
自適應(yīng)視頻流傳輸方案估算可用的網(wǎng)絡(luò)帶寬與CPU計算能力,自適應(yīng)地調(diào)節(jié)用戶端視頻的質(zhì)量。自適應(yīng)視頻傳輸方案主要分為3種類型:① 編碼轉(zhuǎn)換技術(shù),② 流媒體切換技術(shù),③ 可分級視頻編碼技術(shù)。其中可分級視頻編碼技術(shù)將視頻分為多個層,主要解決帶寬限制了數(shù)據(jù)傳輸?shù)膯栴},通過某種方法使得視頻流擁有可分級性,當(dāng)網(wǎng)絡(luò)帶寬較小的時候,只保持基本的視頻信息被傳輸,并根據(jù)實際的網(wǎng)絡(luò)環(huán)境決定是否傳輸增強的視頻信息以使得圖像質(zhì)量得以加強,由此實現(xiàn)自適應(yīng)性,該方式可以保持擁有網(wǎng)絡(luò)連接的大部分終端都可以以適當(dāng)?shù)拇a流來使用多媒體信息,而不考慮原碼流的需求。圖2所示為可分級視頻流的調(diào)節(jié)方法示意圖。
圖1 傳統(tǒng)的視頻流傳輸方案示意圖
為了動態(tài)地調(diào)節(jié)視頻流的傳輸數(shù)據(jù)流,首先需要一個機制來準(zhǔn)確地估計網(wǎng)絡(luò)的可用帶寬。本文設(shè)計了WMNQoS跨層協(xié)議,該協(xié)議具有3個功能:① 估計無線網(wǎng)絡(luò)的可用帶寬,② 負(fù)責(zé)網(wǎng)絡(luò)跨層信息的交換,③ 建立移動自組織網(wǎng)絡(luò)的路由。
H.264/AVC是一種SVC編碼的標(biāo)準(zhǔn)化規(guī)范[8],使用H.264/SVC編碼的視頻具有分層的結(jié)構(gòu),主要有3種分層(分級)機制:按質(zhì)量分級、按時間分級、按空間分級,圖3所示是H.264視頻編碼的3種分級示意圖。
QCIF格式
CIF格式
4CIF格式
20 Hz
40 Hz
視頻質(zhì)量低(SNR值低)
視頻質(zhì)量高(SNR值高)
圖3 H264視頻編碼的3種分級示意圖
H.264/SVC標(biāo)準(zhǔn)編碼的3種分級策略可以根據(jù)網(wǎng)絡(luò)帶寬的條件自適應(yīng)地選擇最優(yōu)的分級組合[9]。質(zhì)量分級將原圖像的參考圖像作為清晰度最低的圖像,在基層中傳輸,增強層則包含更多的圖像信息來提高圖像的SNR值??臻g分級將圖像分為不同的分辨率級別,客戶端根據(jù)網(wǎng)絡(luò)的條件選擇解碼的圖像分辨率。時間分級將圖像分為不同的幀率,客戶端根據(jù)網(wǎng)絡(luò)的條件選擇合適的幀率,幀率越高,視頻質(zhì)量越高。圖4所示是一個SVC視頻流量編碼的實例,該實例設(shè)置了3個時間分級[T0,T1,T2]與2個質(zhì)量分級(Q0,Q1),共有6個分級組合,圖4中基層設(shè)為較低的時間分級T0與較低的質(zhì)量分級Q0。
圖4 SVC視頻流量編碼的實例
H.264/SVC標(biāo)準(zhǔn)中將codec分為2個子系統(tǒng):視頻編碼層與網(wǎng)絡(luò)抽象層。視頻編碼層負(fù)責(zé)視頻編碼,網(wǎng)絡(luò)抽象層根據(jù)傳輸層需求構(gòu)建傳輸?shù)臄?shù)據(jù)流。編碼的視頻數(shù)據(jù)被封裝成網(wǎng)絡(luò)抽象數(shù)據(jù)結(jié)構(gòu)體(NALU),NALU包含完整或者部分的編碼數(shù)據(jù)幀的信息,每個NALU包含3個ID信息:空間ID(DID)、時間ID(TID)、質(zhì)量ID(QID),這3個ID分別代表了視頻在空間域、時間域與質(zhì)量域的可分級維度。將DID、TID與QID的值組合為(D,T,Q)的元組形式,例如:基層的NALU一般為(0,0,0),如果增強層由T2與Q12個分級組成,應(yīng)當(dāng)表示為(0,2,1)。
H.264/SVC標(biāo)準(zhǔn)提供了3種質(zhì)量分級:CGS(Coarse-Grained Scalability),MGS(Medium Grain Scalability)[10]與FGS(Fine Grain Scalability)[11]。MGS可以提高視頻編碼的效率,并且在解碼端可以切換任意時刻的分層,所以本文采用MGS作為視頻質(zhì)量的分級方案,圖5所示表示了MGS相較于其他2個質(zhì)量分級方案的優(yōu)點。CGS方案獨立地估算每個增強層,該方案有幾個缺點:如果增強層的一部分丟失,后續(xù)幀的估計中會發(fā)生錯誤(圖5(a))。FGS方案從每個幀的基層預(yù)測其增強層,如果增強層的數(shù)據(jù)包在一段時間內(nèi)丟失,接收端則仍然從基層解碼其增強層。MGS方案比FGS與CGS方案靈活,并且引入了參考幀的概念,將參考幀作為基層數(shù)據(jù)[11]。
(a) CGS質(zhì)量分級方案(b) FGS質(zhì)量分級方案
(c) MGS質(zhì)量分級方案
圖5 按質(zhì)量分級的方法
設(shè)計了一個可分級視頻流在無線移動網(wǎng)絡(luò)傳輸?shù)姆抡嫫脚_,稱為SVC_MANET_Platform,用于評估可分級視頻編碼自適應(yīng)速率調(diào)節(jié)的性能。
近期一些開發(fā)工作者開發(fā)了一些可分級視頻編碼的仿真平臺,例如:EvalSVC與myEvalSVC,但這些平臺不支持調(diào)節(jié)可分級編碼視頻流的比特率,本文的SVC_MANET_Platform仿真平臺根據(jù)估算的可用帶寬自適應(yīng)的調(diào)節(jié)流量源的比特率,并且將SVC_MANET_Platform與NS-2網(wǎng)絡(luò)仿真平臺[12]集成,可以全面地仿真可分級視頻流在移動自組織網(wǎng)絡(luò)傳輸?shù)母鞣N場景,具有較高的實用性。
圖6描述了SVC_MANET_Platform仿真平臺的總體框圖,整個框架共包含3個階段:編碼、仿真與解碼。
(1) 編碼階段。將YUY格式的源視頻編碼為H.264/SVC格式,編碼軟件為JSVM軟件[13],JSVM軟件的編碼配置包括:確定可分級編碼的類型、編碼視頻的分層數(shù)量等。然后,使用BitStreamExtractor SJVM工具軟件基于H.264/SVC編碼視頻生成NALU追蹤文件,該NALU追蹤文件包含了編碼視頻的重要參數(shù),例如:報文大小、DTQ值與報文類型,解碼端需要這些參數(shù)對編碼視頻進行解碼。此外,SVC_MANET_Platform仿真平臺還需生成2個附加的追蹤文件:比特率追蹤文件與NS-2流量追蹤文件。比特率追蹤文件中包含了傳輸SVC編碼視頻各層所需的比特率參數(shù),例如:編碼層ID、幀率(f/s)、比特率(Kb/s)、DTQ值與PSNR值。NS-2流量追蹤文件則是將NALU追蹤文件轉(zhuǎn)化為NS-2仿真平臺所需的格式,輸入NS-2仿真平臺。
圖6 SVC_MANET_Platform仿真平臺的總體框圖
(2) 仿真階段。視頻報文在移動自組織網(wǎng)絡(luò)的傳輸過程中,采用WMNQoS協(xié)議(第4小節(jié))獲得網(wǎng)絡(luò)的可用帶寬估計,并將該信息發(fā)送至自適應(yīng)速率調(diào)節(jié)模塊,自適應(yīng)速率調(diào)節(jié)模塊決定了可分級編碼的最大(D,T,Q)值,也決定了視頻傳輸?shù)淖罡叻謱?。因此,選擇的視頻最高層應(yīng)當(dāng)小于或等于網(wǎng)絡(luò)的可用帶寬?!翱煞旨壱曨l編碼平臺流量代理”模塊根據(jù)最大(D,T,Q)值選擇過濾出符合調(diào)節(jié)的視頻流量,并將流量輸入NS-2仿真平臺中進行仿真。
(3) 解碼階段?!翱煞旨壱曨l編碼平臺后處理”獲得NALU追蹤文件,將該文件輸入NALU-FIlter工具軟件,NALU-FIlter工具軟件包含3個處理操作:① 刪除播放停止點之后的NALU,② 根據(jù)發(fā)送順序記錄NALU,③ 刪除解碼依賴不合理的NALU。將過濾后的NALU追蹤文件輸入BitStreamExtractor工具與JSVM編碼工具重建H.264/SVC視頻流,然后,使用JSVM H.264靜態(tài)解碼工具將SVC視頻流解碼為YUV文件,將最終的YUV文件與源視頻YUV文件比較,評估端到端視頻質(zhì)量的損失。此外,通過NS-2網(wǎng)絡(luò)仿真器可以獲得移動自組織網(wǎng)絡(luò)的性能,例如:丟包率、端到端延遲等。
AODV協(xié)議[14]是移動自組織網(wǎng)絡(luò)的一個重要的協(xié)議,但AODA協(xié)議無法根據(jù)網(wǎng)絡(luò)的可用資源狀態(tài)調(diào)節(jié)視頻的傳輸速率,本文對AODV協(xié)議進行了修改,使其滿足移動自組織網(wǎng)絡(luò)中自適應(yīng)調(diào)節(jié)可分級編碼視頻流速率的要求,修改后的AODV協(xié)議稱為WMNQoS協(xié)議。
為AODV協(xié)議增加了新的數(shù)據(jù)域,路由請求報文中增加了帶寬需求與會話ID信息,用于識別網(wǎng)絡(luò)的各個流量;回放報文RREP與路由誤差報文RERR均加入了QoS相關(guān)的新數(shù)據(jù)域,修改后的RREP與RERR命名為WM_RREP與WM_RERR。
WMNQoS協(xié)議與其他基于AODV方案的主要差異是:WMNQoS協(xié)議的自適應(yīng)反饋機制可以根據(jù)路由狀態(tài)與網(wǎng)絡(luò)的可用資源狀態(tài)調(diào)節(jié)源節(jié)點的傳輸速率。
圖7所示為WMNQoS路由協(xié)議的模塊框圖,WMNQoS路由協(xié)議的主要模塊為帶寬估計模塊、路由模塊與路由發(fā)現(xiàn)模塊。帶寬估計模塊估計路由的可用帶寬,并將結(jié)果返回應(yīng)用層,該過程使用Hello報文,AODV協(xié)議的這些報文用于發(fā)現(xiàn)鄰居節(jié)點的處理過程,流量源節(jié)點根據(jù)可用帶寬的信息調(diào)節(jié)傳輸速率。路由模塊接收來自源節(jié)點的路由請求,并且執(zhí)行路由協(xié)議傳輸數(shù)據(jù)。路由發(fā)現(xiàn)模塊負(fù)責(zé)檢查連接的故障與重建路由。
圖7 WMNQoS路由協(xié)議的模塊框圖
為了評估SVC_MANET_Platform仿真平臺的仿真效果,仿真了兩種可分級視頻流在移動自組織網(wǎng)絡(luò)的傳輸性能,分別為:自適應(yīng)與非自適應(yīng)可分級視頻編碼。自適應(yīng)可分級視頻編碼策略使用本文設(shè)計的WMNQoS協(xié)議,非自適應(yīng)可分級視頻編碼策略使用AODV協(xié)議,一方面評估SVC_MANET_Platform仿真平臺的有效性,另一方面評估WMNQoS協(xié)議的效果。
采用NS-2網(wǎng)絡(luò)仿真器,表1所示為NS-2仿真器的參數(shù)設(shè)置。采用視頻序列CREW視頻作為實驗的視頻,視頻共有900幀,每幀像素為352×288。H.264/SVC編碼采用兩個分級維度:時間與質(zhì)量,使用JSVM軟件[13]進行H.264/SVC編碼,表2所示是視頻的相關(guān)參數(shù)。編碼的SVC視頻流包含5個時間級別,表示為(T0,T1,T2,T3,T4),包含4個質(zhì)量級別(Q0,Q1,Q2,Q3),共有20個時間、質(zhì)量分級的組合,表示為(TiQi)。傳輸層的比特率范圍為94.4 Kb/s~1 Mb/s。表3所示是可分級編碼20層的比特率與幀率。
表1 NS-2網(wǎng)絡(luò)仿真器仿真參數(shù)設(shè)置
表2 視頻流相關(guān)參數(shù)設(shè)置
表3 H.264編碼視頻每層的參數(shù)
圖8所示是不同時間分級與質(zhì)量分級對應(yīng)的視頻流比特率。
圖8 不同時間分級與質(zhì)量分級對應(yīng)的視頻流比特率
模擬無線移動網(wǎng)絡(luò)的網(wǎng)絡(luò)場景,在一個1 000 m×1 000 m的區(qū)域中設(shè)置30個移動節(jié)點組成無線蜂窩網(wǎng)絡(luò)。各節(jié)點隨機地向目標(biāo)移動,移動速率為0.1~2 m/s,服從隨機路點模型。當(dāng)一個節(jié)點到達目標(biāo)點,該節(jié)點隨機暫停0~80 s,然后向另一個目標(biāo)移動。
隨機地選擇2個節(jié)點傳輸視頻流數(shù)據(jù),在仿真的開始階段,源節(jié)點以最大的可行速度開始傳輸數(shù)據(jù),即1 Mb/s。此外,3個10 Kb/s的固定碼率流量通過UDP端口在網(wǎng)絡(luò)中傳輸。自適應(yīng)可分級視頻編碼方案允許11%以下的丟包率。
圖9所示為2種可分級視頻編碼數(shù)據(jù)流在無線移動網(wǎng)絡(luò)傳輸?shù)慕Y(jié)果。從圖9(a)可看出,自適應(yīng)可分級視頻編碼方案的丟包率明顯高于非自適應(yīng)可分級視頻編碼方案;從圖9(b)可看出,成功解碼的幀數(shù)量隨著移動劇烈程度的提高而提高,對于自適應(yīng)可分級視頻編碼方案,其原因主要在于根據(jù)可用的帶寬調(diào)節(jié)了源節(jié)點的流量傳輸速率;對于非自適應(yīng)可分級視頻編碼方案,其原因在于丟包率過高與缺少NALU信息;從圖9(c)可看出,自適應(yīng)可分級視頻編碼方案接收的視頻質(zhì)量明顯的高于非自適應(yīng)可分級視頻編碼方案,移動節(jié)點的劇烈程度越高,自適應(yīng)可分級視頻編碼方案的優(yōu)勢越明顯。
(a) 丟包率(b) 解碼幀速率
(c) YUV格式的Y-PSNR結(jié)果
圖9 移動無線網(wǎng)絡(luò)的實驗結(jié)果
節(jié)點的移動性影響了可分級視頻編碼的視頻流傳輸質(zhì)量,然而,自適應(yīng)可分級視頻編碼方案明顯地提高了接收視頻的質(zhì)量。此外,自適應(yīng)可分級視頻編碼方案有助于防止或減緩網(wǎng)絡(luò)的擁塞,最小化對網(wǎng)絡(luò)中其他流量的影響。
本文提出了可分級視頻流(以H.264/SVC編碼為例)在移動自組織網(wǎng)絡(luò)傳輸?shù)姆抡嫫脚_,可以為移動無線網(wǎng)絡(luò)實驗室提供一個完整的仿真平臺。此外,設(shè)計了WMNQoS路由協(xié)議,獲得網(wǎng)絡(luò)的可用帶寬估計,WMNQoS協(xié)議的自適應(yīng)反饋機制可以根據(jù)路由狀態(tài)與網(wǎng)絡(luò)的可用資源狀態(tài)調(diào)節(jié)源節(jié)點的傳輸速率,滿足了可分級視頻編碼的實驗條件。
移動節(jié)點的移動性影響了可分級視頻編碼的視頻流傳輸質(zhì)量,然而,自適應(yīng)可分級視頻編碼方案明顯地提高了接收視頻的質(zhì)量。此外,自適應(yīng)可分級視頻編碼方案有助于防止或減緩網(wǎng)絡(luò)的擁塞,最小化對網(wǎng)絡(luò)中其他流量的影響。
參考文獻(References):
[1] 王慶剛, 張 林, 張 劍. 基于移動互聯(lián)網(wǎng)的農(nóng)業(yè)電商系統(tǒng)設(shè)計與實現(xiàn)[J]. 計算機應(yīng)用, 2016, 36(S1):286-290.
[2] 蘇遠超. 軟件定義云網(wǎng)絡(luò)產(chǎn)品白皮書[J]. 電信技術(shù), 2016, 8(9):33-37.
[3] 孫淑蓉, 陳 昇, 田琳琳,等. LTE技術(shù)在移動視頻中的應(yīng)用[J]. 電視技術(shù), 2013, 37(s2):473-474.
[4] 張曉煜, 張 鋼, 李 捷. 基于分層Ad hoc網(wǎng)絡(luò)的實時視頻傳輸系統(tǒng)研究[J]. 西北大學(xué)學(xué)報(自然科學(xué)版), 2010, 40(5):774-777.
[5] 孫元波, 王睿伯, 彭宇行. 實時視頻流自適應(yīng)速率傳輸策略[J]. 計算機工程與科學(xué), 2006, 28(3):55-57.
[6] 陳 磊, 王 嵩, 吳 剛. 基于緩沖區(qū)充盈度的自適應(yīng)分段視頻流量平滑[J]. 小型微型計算機系統(tǒng), 2014, 35(9):2073-2077.
[7] Quang P T A, Piamrat K, Singh K D,etal. Q-RoSA: QoE-aware routing for SVC video streaming over ad-hoc networks[C]// IEEE Consumer Communications & NETWORKING Conference. IEEE, 2016:687-692.
[8] 李志鵬. OFDM系統(tǒng)中基于內(nèi)容感知的SVC視頻流調(diào)度算法[J]. 中國電子科學(xué)研究院學(xué)報, 2015, 10(2):169-174.
[8] 付 鋆, 張 萍, 于鴻洋. H.264/SVC比特自適應(yīng)分配的等級B幀碼率控制算法[J]. 計算機應(yīng)用研究, 2012, 29(9):3575-3577.
[10] Hannuksela M M, Zhu H, Li H,etal. Congestion-aware transmission rate control using Medium Grain Scalability of Scalable Video Coding[C]// IEEE International Conference on Image Processing. IEEE, 2010:2929-2932.
[11] Schwarz H, Marpe D, Wiegand T. Overview of the Scalable Video Coding Extension of the H.264/AVC Standard[M]. IEEE Press, 2007.
[12] Khosrowpour M. Network simulator NS-2[J]. Journal of the Institute of Image Information & Television Engineers, 2015, 65:946-949.
[13] Maarif H A Q, Gunawan T S, Khalifa O O. JSVM reference software[J]. Multimedia Encryption Transmission & Authentication, 2011:71-177.
[14] 莊 雷, 孫智軍. 一種增加時限和延遲的AODV協(xié)議改進方法[J]. 微電子學(xué)與計算機, 2007, 24(8):180-182.
[15] Wang H, Kuo C C J. Robust video multicast with joint network coding and video interleaving[J]. Journal of Visual Communication & Image Representation, 2010, 21(2):77-88.