王 超,馬 馳,劉 榮,汪 磊,李 東
(中國(guó)電子科技集團(tuán)公司第二十八研究所,南京 210007)
隨著野戰(zhàn)環(huán)境作戰(zhàn)音視頻傳輸需求的不斷增加,尤其是基于戰(zhàn)術(shù)互聯(lián)網(wǎng)的窄帶信道條件下音視頻通信更為重要[1-3]。綜合考慮作戰(zhàn)環(huán)境、通信技術(shù)等,多使用基于無(wú)線通信手段來(lái)確??焖俳M網(wǎng)、高機(jī)動(dòng)性和抗毀性等,經(jīng)過(guò)多年發(fā)展,形成了以短波、超短波、衛(wèi)星、散射等通信手段為主體的戰(zhàn)役戰(zhàn)術(shù)無(wú)線網(wǎng)絡(luò)分組網(wǎng)。由于無(wú)線分組網(wǎng)自身特點(diǎn),形成了帶寬受限,數(shù)據(jù)傳輸速率較低、時(shí)延較大和抖動(dòng)比較頻繁的窄帶通信條件,而在這種信道條件下傳輸視頻數(shù)據(jù)是亟待解決的關(guān)鍵技術(shù)問(wèn)題。
如果要解決上述的關(guān)鍵技術(shù)問(wèn)題,需要選擇先進(jìn)的視頻編解碼協(xié)議,目前,視頻編解碼協(xié)議由第一代的MPEG-1、H.261、MPEG-2 和H.263 標(biāo)準(zhǔn),逐漸過(guò)渡到MPEG-4、H.264、AVS、VC-1 和VP8 等第二代標(biāo)準(zhǔn)[4-6],并向以HEVC 為代表的第三代標(biāo)準(zhǔn)[7-9]發(fā)展。本文面向戰(zhàn)術(shù)互聯(lián)網(wǎng)窄帶通信條件下視頻傳輸需求,基于第三代編解碼協(xié)議HEVC 進(jìn)行優(yōu)化和改進(jìn),創(chuàng)新提出NBVTH 算法并進(jìn)行研究和性能評(píng)估試驗(yàn)。
音視頻通信是未來(lái)戰(zhàn)術(shù)互聯(lián)網(wǎng)通信的最理想工具,大多數(shù)情況下的視頻傳輸是迫切需求的,而在現(xiàn)階段的窄帶通信條件下的視頻傳輸存在幾大問(wèn)題[10]:
1)視頻傳輸質(zhì)量不高,分辨率低;
2)視頻傳輸經(jīng)??D,模糊,影響交互;
3)視頻傳輸糾錯(cuò)能力差,導(dǎo)致黑屏,中斷傳輸。
本文提出了一種有效的編解碼算法,可以解決以上的問(wèn)題,在衛(wèi)星信道或UHF 信道等無(wú)線窄帶信道的256 K 帶寬下傳輸高清的圖像質(zhì)量,通過(guò)采取前向糾錯(cuò)及丟包保護(hù)等措施,有效提高視頻傳輸?shù)聂敯粜约敖换バ浴?/p>
采用的窄帶視頻傳輸算法稱之為NBVTH 算法,它是在HEVC 編解碼協(xié)議的基礎(chǔ)上,融合了SVC可伸縮編碼策略,同時(shí)包含了圖像預(yù)處理部分來(lái)節(jié)省傳輸帶寬,提高壓縮性能,并在數(shù)據(jù)封包過(guò)程中采用不等丟包保護(hù)FEC 前向糾錯(cuò)機(jī)制和分塊封包策略,實(shí)現(xiàn)數(shù)據(jù)包的穩(wěn)定傳輸,在傳輸部分采用RTP協(xié)議,可在未來(lái)擴(kuò)展支持標(biāo)準(zhǔn)的SIP 會(huì)議應(yīng)用及指揮調(diào)度應(yīng)用。NBVTH的分層組成如圖1所示。
圖1 NBVTH算法分層示意圖Fig.1 Layered schematic diagram of NBVTH algorithm
2013 年,第三代視頻編譯碼標(biāo)準(zhǔn)HEVC 正式發(fā)布[11],將視頻編解碼處理的最大可支持分辨率提升至8 192×4 320。HEVC采用的采用混合編碼框架如圖2所示,包括編碼控制、幀內(nèi)評(píng)估、運(yùn)動(dòng)補(bǔ)償、運(yùn)動(dòng)估計(jì)等模塊。與其他視頻編譯碼算法相比,HEVC提出了模式依賴的離散正弦變換、不同角度的幀內(nèi)預(yù)測(cè)模式,以及可變尺寸的離散余弦變換等先進(jìn)技術(shù)途徑方法。
圖2 HEVC編碼框架Fig.2 HEVC encoding framework
HEVC 編解碼協(xié)議其較傳統(tǒng)方法有著更高性能的壓縮比,本文針對(duì)窄帶信道視頻傳輸應(yīng)用需求,基于HEVC編碼協(xié)議提出NBVTH算法。
基于HEVC 的可伸縮視頻編碼框架如圖3 所示,通過(guò)視頻分層編碼產(chǎn)生多個(gè)比特流分別作為基本層、增強(qiáng)層碼流,基本層碼流可獨(dú)立解碼,形成質(zhì)量較低的視頻解碼序列;增強(qiáng)層碼流解碼必須依托基本層碼流解碼圖像,將解碼圖像與原始圖像相減,然后將得到的殘差圖像進(jìn)行基于離散余弦變換與比特平面編碼,在解碼端對(duì)基本層、增強(qiáng)層碼流進(jìn)行聯(lián)合解碼,解碼后的視頻與僅依托基本層視頻流進(jìn)行解碼的視頻相比,視頻質(zhì)量有顯著提升。
圖3 可伸縮HEVC編碼框架Fig.3 Scalable HEVC encoding framework
結(jié)合HEVC 編碼結(jié)構(gòu)特性,可根據(jù)數(shù)據(jù)傳輸條件對(duì)增強(qiáng)層碼流進(jìn)行適應(yīng)性裁剪,更好地適應(yīng)軍用窄帶信道的帶寬變化。
前向糾錯(cuò)技術(shù)(forward error correction,F(xiàn)EC)、自動(dòng)重傳請(qǐng)求(automatic repeat-request,ARQ)等技術(shù)是數(shù)據(jù)流差錯(cuò)控制的重要手段[12-13]。在軍用窄帶視頻傳輸應(yīng)用中,考慮到ARQ 方法會(huì)造成較大時(shí)延,主要采用FEC來(lái)提高窄帶流媒體服務(wù)質(zhì)量。
NBVTH 算法的FEC 是依據(jù)帶寬情況在HEVC分層碼流上進(jìn)行摘取和截?cái)?,首先,按照先后順序排列畫面組(group of picture,GOP)中的各層視頻數(shù)據(jù)包,然后,綜合評(píng)估信道傳輸情況與數(shù)據(jù)包的重要性,確定各層包組FEC 包數(shù)量以及選擇視頻流截?cái)鄬訑?shù),最后,編碼器生成FEC 數(shù)據(jù)包進(jìn)行傳輸。在解碼端通過(guò)比特誤碼率、傳輸延時(shí)等指標(biāo)對(duì)當(dāng)前網(wǎng)絡(luò)傳輸狀態(tài)進(jìn)行估計(jì),將網(wǎng)絡(luò)評(píng)估結(jié)果反饋給發(fā)送端,發(fā)送端結(jié)合反饋信息對(duì)FEC 包數(shù)量進(jìn)行適應(yīng)性調(diào)整。FEC策略流程如圖4所示。
圖4 FEC策略流程Fig.4 FEC tactics process
傳統(tǒng)自適應(yīng)FEC 控制一般采用基于網(wǎng)絡(luò)狀態(tài)的自適應(yīng)分級(jí)控制方法,根據(jù)不同的網(wǎng)絡(luò)狀態(tài)設(shè)置對(duì)應(yīng)的編碼冗余度,當(dāng)網(wǎng)絡(luò)狀態(tài)好時(shí)冗余度底,反之冗余度高。但是此方法在網(wǎng)絡(luò)狀態(tài)較差、丟包率較高時(shí),需向發(fā)送端逐次反饋數(shù)據(jù)包接收情況,發(fā)送端同步調(diào)整FEC 包冗余度,容易造成數(shù)據(jù)傳輸緩慢、傳輸試驗(yàn)長(zhǎng)等問(wèn)題。
NBVTH 算法的FEC 控制采用不等丟包保護(hù)控制方法,首先對(duì)網(wǎng)絡(luò)傳輸狀態(tài)及丟包率進(jìn)行估計(jì);然后,根據(jù)各層數(shù)據(jù)的重要性自適應(yīng)調(diào)整各比特平面的FEC 包冗余度,同時(shí)調(diào)整傳輸層數(shù)量對(duì)數(shù)據(jù)包傳輸速率進(jìn)行控制;最后,利用GOP 中各幀間的關(guān)聯(lián)關(guān)系,對(duì)各幀的基本層碼流設(shè)置相應(yīng)的FEC 保護(hù)比特,有效減少誤碼擴(kuò)散對(duì)解碼視頻質(zhì)量的影響。不等丟包控制流程如圖5所示。
圖5 不等丟包控制流程Fig.5 Unequal packet loss control flow
基本層(basic layer)的數(shù)據(jù)包是整個(gè)傳輸過(guò)程中的重要部分,如果基本層丟失,增強(qiáng)層將無(wú)法恢復(fù)圖像,所以對(duì)于基本層的保護(hù)需要特別注意。首先設(shè)置基本層的閾值為PeTBL,計(jì)算如下:
其中,BSC_GOP為當(dāng)前GOP 的視頻流編碼比特?cái)?shù);BSC_GOP為當(dāng)前GOP可用的信源信道編碼比特?cái)?shù);BS_BL為當(dāng)前GOP 的基本層編碼比特?cái)?shù),在本方案中按照10-6為常用誤碼率。
然后依據(jù)PeTBL求出基本層FEC 冗余包個(gè)數(shù)FK.BL
其中,Int為取整運(yùn)算;n為編碼的數(shù)據(jù)包數(shù)量。
增強(qiáng)層(enhance layer)的閾值為PeTEL,其計(jì)算公式可以參考基本層的計(jì)算方法,但需要滿足:
PeTBL<PeTEL0<PeTEL1
然后,依據(jù)基本層的FEC 冗余包個(gè)數(shù)FK.BL和剩余編碼帶寬計(jì)算出各層的FEC冗余包個(gè)數(shù)。
在解碼端通過(guò)錯(cuò)誤隱藏算法,將所丟包宏塊用前一幀對(duì)應(yīng)位置的重建宏塊數(shù)據(jù)代替,重建圖像質(zhì)量。
為了驗(yàn)證NBVTH 的編解碼算法在窄帶條件下的視頻傳輸效果,通過(guò)NBVTH 編解碼器進(jìn)行點(diǎn)對(duì)點(diǎn)的音視頻傳輸測(cè)試,為了直觀體現(xiàn)NBVTH 的性能,本文將NBVTH 與H.264/AVC 的編解碼性能進(jìn)行比較,主要對(duì)比NBVTH 與H.264/AVC 的編碼時(shí)延、壓縮比、壓縮圖像質(zhì)量等關(guān)鍵指標(biāo)。
采用的仿真環(huán)境是利用中星16衛(wèi)星進(jìn)行組網(wǎng),占用2 MHz 資源,傳輸速率設(shè)置為上行768 K,下行1.2 M,使用國(guó)產(chǎn)TDMA 調(diào)制解調(diào)器進(jìn)行以太網(wǎng)連接編解碼端設(shè)備,其中,編解碼端設(shè)備包括2套,1套為NBVTH 算法的編解碼器,1 套為H.264∕AVC 編解碼器[14],采用同一視頻源進(jìn)行對(duì)比測(cè)試,測(cè)試環(huán)境如圖6所示。
圖6 仿真環(huán)境測(cè)試拓?fù)鋱DFig.6 Simulation environment test topology diagram
仿真試驗(yàn)設(shè)置兩個(gè)編碼器分別在256 K 下傳輸D1圖像、512 K下傳輸720 P圖像和768 K傳輸1 080 P(30 幀∕s)圖像,通過(guò)肉眼觀看實(shí)時(shí)傳輸效果,具體效果如圖7~下頁(yè)圖9所示。
圖8 512 K下圖像效果對(duì)比Fig.8 Image effect comparison at 512 K
圖9 768 K下的圖像效果對(duì)比Fig.9 Image effect comparison at 768 K
在總碼率相等的情況下,實(shí)際環(huán)境由于天氣原因?qū)е聛G包率約在5%~10%,從上述試驗(yàn)結(jié)果可看出,與H.264視頻傳輸算法相比,采用本文提出的算法時(shí),圖像質(zhì)量提升效果明顯。
仿真實(shí)驗(yàn)中,丟包率為5%時(shí),采用NBVTH 算法時(shí)視頻傳輸更流暢,無(wú)卡頓現(xiàn)象,而H.264傳輸方法出現(xiàn)卡頓嚴(yán)重,丟幀頻率較高;丟包率為10%時(shí),NBVTH 算法傳輸偶爾出現(xiàn)卡頓現(xiàn)象,卡頓時(shí)間小于1 s,而H.264卡頓現(xiàn)象嚴(yán)重,卡頓時(shí)間大于5 s。
由以上測(cè)試結(jié)果可知,NBVTH 視頻傳輸算法可有效適應(yīng)軍用窄帶信道傳輸條件,提升了實(shí)時(shí)視頻傳輸系統(tǒng)的可靠性與傳輸效率。
NBVTH 視頻編解碼算法主要具備以下優(yōu)點(diǎn):一是采用最新的HEVC 分層技術(shù)進(jìn)行編碼傳輸,較以往的編解碼算法壓縮性能比更高,更加適應(yīng)在低帶寬下傳輸視頻;二是為了保障視頻傳輸?shù)聂敯粜?,增加了更先進(jìn)的前向糾錯(cuò)和不等丟包控制算法,以適應(yīng)無(wú)線信道的傳輸特點(diǎn),保障視頻的流暢性和穩(wěn)定性。但是,NBVTH 的算法比較復(fù)雜,要求的技術(shù)實(shí)現(xiàn)算力較高,目前國(guó)產(chǎn)化實(shí)現(xiàn)方法比較困難,還需進(jìn)行更進(jìn)一步的研制優(yōu)化和技術(shù)攻關(guān)。