袁 濤,樊 豐
(成都電子科技大學(xué) 電子工程學(xué)院,四川 成都 611731)
隨著無(wú)線設(shè)備得到越來(lái)越廣泛使用,無(wú)線視頻通信的需求也日益強(qiáng)烈。然而,無(wú)線終端的多樣性對(duì)網(wǎng)絡(luò)傳輸?shù)姆€(wěn)定性、視頻編碼速率、視頻信息質(zhì)量都提出了不同的要求;無(wú)線網(wǎng)絡(luò)信道固有的特性,如易受干擾、帶寬多變、多徑效應(yīng)等,給視頻傳輸帶來(lái)巨大挑戰(zhàn),視頻無(wú)線通信需要很好的錯(cuò)誤保護(hù)。很多時(shí)候,基于視頻內(nèi)容重要性的不同,不等差錯(cuò)保護(hù)(Unequal Error Protection,UEP)方案用來(lái)優(yōu)化資源的使用,要使這種方案有效發(fā)揮作用,必須定義一個(gè)可靠的數(shù)據(jù)重要性,這種數(shù)據(jù)重要性一般是指編碼過(guò)程產(chǎn)生的數(shù)據(jù)優(yōu)先級(jí)。
視頻編碼傳輸技術(shù)在不斷發(fā)展,這些問(wèn)題將會(huì)得到解決,視頻分層編碼是一種有效的方法。H.264具有較高的編碼性能[1-2],而在此基礎(chǔ)上發(fā)展起來(lái)的H.264/SVC分層編碼算法已趨近完善[3]。隨著通信技術(shù)的不斷發(fā)展,特別是第三代移動(dòng)通信網(wǎng)絡(luò)的普及,視頻分層編碼已經(jīng)進(jìn)入實(shí)際應(yīng)用,H.264/SVC可以稱為第一種進(jìn)入大規(guī)模應(yīng)用的視頻分層編碼標(biāo)準(zhǔn)?,F(xiàn)在H.264/SVC提供時(shí)間、空間和質(zhì)量可分層,這些分層機(jī)制使得時(shí)間分辨力、空間分辨力和圖像質(zhì)量在不同帶寬需求和不同種類終端之間能很好地權(quán)衡。此外,這些分層機(jī)制還非常適合在UEP中應(yīng)用[4],對(duì)編碼之后不同層的碼流設(shè)定不同的保護(hù)優(yōu)先級(jí),可以很容易實(shí)現(xiàn)UEP。
當(dāng)人眼面對(duì)一幅畫(huà)面時(shí),并不是對(duì)整幅畫(huà)面的關(guān)注度一樣,特別是在視頻序列中,其注意力會(huì)集中在一部分畫(huà)面區(qū)域,這部分區(qū)域就是視覺(jué)感興趣區(qū)域(Region of Interest,RoI)[5],把圖像序列中的 RoI提取出來(lái),單獨(dú)編碼,減小量化參數(shù),那么質(zhì)量就有所較高,客觀上,RoI區(qū)域的PSNR會(huì)有所提高;主觀上,圖像整體視覺(jué)效果會(huì)有所改善。
筆者提出一種在無(wú)線網(wǎng)絡(luò)中對(duì)已編碼視頻流進(jìn)行傳輸以及傳輸時(shí)的碼率控制優(yōu)化算法,并通過(guò)仿真實(shí)驗(yàn)進(jìn)行論證。
作為H.264編碼標(biāo)準(zhǔn)的可分級(jí)擴(kuò)展,H.264/SVC可提供時(shí)域可分級(jí)、空域可分級(jí)和質(zhì)量可分級(jí)。時(shí)域可分級(jí)一般采用分級(jí)B幀結(jié)構(gòu)編碼。編碼時(shí),在一個(gè)圖像組(GoP)中先對(duì)關(guān)鍵幀I幀和P幀進(jìn)行編碼作為基本時(shí)間層,接著其余各幀都是B幀,根據(jù)GoP的大小,分級(jí)編號(hào)進(jìn)行,編碼以后的碼流中可以根據(jù)用戶要求,提取出某一幀率的碼流進(jìn)行解碼??沼蚩煞旨?jí)在編碼時(shí)將圖像進(jìn)行下采樣,先對(duì)低分辨力的編碼作為基本層,再利用內(nèi)容的相似性對(duì)增強(qiáng)層編碼,不同終端的顯示分辨力不同,可以相應(yīng)地選擇不同的空間分層,基本層分辨力最低,加上增強(qiáng)層后分辨力增大。筆者所用的測(cè)試序列為foreman_cif.yuv,編碼工具為JSVM 9.18,編碼時(shí),為了提高效率,進(jìn)行了一定的優(yōu)化[6],編碼后的碼流結(jié)構(gòu)如表1所示,其中空間域分為2個(gè)等級(jí),可以在CIF和QCIF兩個(gè)不同的分辨力尺寸中進(jìn)行選擇。時(shí)間域有4個(gè)等級(jí),幀率從3.75~30 Hz,傳輸優(yōu)先級(jí)別分為7個(gè)等級(jí)。空間和時(shí)間分層具體情況如表1所示。
表1 空間和時(shí)間分層
表1中的優(yōu)先序列號(hào)是使用JSVM編碼之后的優(yōu)先級(jí)排序號(hào),優(yōu)先級(jí)隨編號(hào)增大而減小,0為最高優(yōu)先級(jí)。
H.264/SVC標(biāo)準(zhǔn)中的質(zhì)量增強(qiáng)層編碼是對(duì)序列中整幅畫(huà)面進(jìn)行編碼,這樣編碼簡(jiǎn)單,但是會(huì)帶來(lái)兩個(gè)問(wèn)題:1)沒(méi)有碼率控制,編碼之后的碼率不可預(yù)知;2)當(dāng)網(wǎng)絡(luò)可用帶寬變小時(shí),丟掉整個(gè)質(zhì)量增強(qiáng)層會(huì)使視頻質(zhì)量降低很多。如果在增強(qiáng)層編碼時(shí)將其中的RoI區(qū)域提取出來(lái)進(jìn)行單獨(dú)編碼,或者將編碼后的增強(qiáng)層的碼流分為RoI和非RoI,那么在網(wǎng)絡(luò)傳輸中將會(huì)有更多選擇,在帶寬不足的情況下,可以先選擇丟掉非RoI碼流,這樣視頻的視覺(jué)質(zhì)量也不會(huì)降低很多?,F(xiàn)今RoI區(qū)域分割技術(shù)研究比較多,也比較成熟,解決了傳輸過(guò)程中丟失背景信息不能正確解碼RoI的問(wèn)題[7-8],本文所用的碼流是把預(yù)編碼的碼流進(jìn)行轉(zhuǎn)碼,提取出RoI區(qū)域后,非RoI的QP與原編碼時(shí)的QP0相同,而RoI的QP為QP0減去6,同時(shí)對(duì)每一層碼流重新設(shè)定優(yōu)先級(jí)編號(hào),轉(zhuǎn)碼后的碼流結(jié)構(gòu)如表2所示。
表2 轉(zhuǎn)碼后的碼流結(jié)構(gòu)
RTP協(xié)議是IP網(wǎng)絡(luò)中針對(duì)實(shí)時(shí)業(yè)務(wù)的一種傳輸協(xié)議[9],一般構(gòu)架在UDP協(xié)議之上。另外,它也是一個(gè)數(shù)據(jù)封裝協(xié)議,實(shí)時(shí)業(yè)務(wù)數(shù)據(jù)封裝于RTP包的數(shù)據(jù)域中。RTP提供實(shí)時(shí)數(shù)據(jù)端到端的網(wǎng)絡(luò)傳輸服務(wù),但它不為實(shí)時(shí)業(yè)務(wù)保留資源,也不保證服務(wù)質(zhì)量。RTCP的主要功能是提供關(guān)于服務(wù)質(zhì)量(Quality of Service,QoS)的信息反饋,網(wǎng)絡(luò)終端系統(tǒng)可根據(jù)這些反饋信息來(lái)適應(yīng)不同的網(wǎng)絡(luò)狀況。實(shí)時(shí)傳輸協(xié)議RTP和傳輸控制協(xié)議RTCP一起為網(wǎng)絡(luò)提供流量控制和擁塞控制服務(wù)。
為了適應(yīng)無(wú)線網(wǎng)絡(luò)中不同終端和多變帶寬信道,設(shè)計(jì)的算法通過(guò)兩方面的控制來(lái)優(yōu)化視頻質(zhì)量和充分利用帶寬。服務(wù)器端通過(guò)RTCP協(xié)議獲得終端信息和信道狀態(tài):1)終端信息包括終端的顯示分辨力和處理能力(能處理的最大幀率);2)信道狀態(tài)主要是丟包率,通過(guò)丟包率可以估計(jì)出相應(yīng)的有效帶寬。估計(jì)出最大可用帶寬之后,再提取合適的碼流進(jìn)行發(fā)送。
估計(jì)有效帶寬的算法如下:
1)計(jì)算網(wǎng)絡(luò)丟包率 Ploss(i)
式中:Nexpect是期望的數(shù)據(jù)包的個(gè)數(shù),由RTP中的序列號(hào)可得;Nloss是丟失包的個(gè)數(shù);Nreceived是收到的數(shù)據(jù)包的個(gè)數(shù)。
2)估計(jì)最大可用帶寬
式中:β是權(quán)重系數(shù),典型值為2~5。K是循環(huán)次數(shù),Kup是步長(zhǎng)。在試驗(yàn)中,接收端檢測(cè)網(wǎng)絡(luò)擁塞,把丟包率通過(guò)RTCP傳送給發(fā)送端,發(fā)送端計(jì)算出可用帶寬。
為了充分利用帶寬,選擇提取合適的碼流進(jìn)行發(fā)送,應(yīng)該滿足
式中:Rt為t時(shí)刻的可用帶寬,Rx為提取出的碼流比特率。算法由以下偽代碼實(shí)現(xiàn):
代碼中k為優(yōu)先級(jí)編號(hào)。
筆者設(shè)計(jì)的是一個(gè)無(wú)線網(wǎng)絡(luò)環(huán)境,通信系統(tǒng)結(jié)構(gòu)如圖1所示。每個(gè)終端直接與服務(wù)器相連,使用一個(gè)單獨(dú)的傳輸?shù)刂?、一個(gè)IP和一對(duì)端口號(hào),RTP/UDP使用x號(hào)端口,RTCP使用x+1號(hào)端口;建立鏈接之后,客戶終端通過(guò)RTCP發(fā)送請(qǐng)求,將終端的信息傳到服務(wù)器端,服務(wù)器端響應(yīng)請(qǐng)求;通過(guò)RTCP獲得信息后,計(jì)算可用帶寬,式(2)中 β 值取 3,Kup值取 1,K 取 3;可用帶寬估計(jì)出之后,提取碼流并調(diào)整發(fā)送速率,再通過(guò)RTP進(jìn)行發(fā)送;接收端接收到碼流后進(jìn)行解碼播放。
圖1 視頻傳輸系統(tǒng)結(jié)構(gòu)
本文通過(guò)使用兩種不同的算法在NS2[10]仿真平臺(tái)上做實(shí)驗(yàn),并對(duì)結(jié)果進(jìn)行比較:一種使用表1所示的預(yù)編碼碼流和3GPP Release7 TR 26.937[11]中提出的傳輸控制調(diào)整方案,另一種使用經(jīng)轉(zhuǎn)碼實(shí)現(xiàn)的RoI增強(qiáng)碼流(表2)和本文第2節(jié)中描述的傳輸控制算法。可任意提取一幀圖像作比較,圖2為提取出的第142幀。
圖2 不同編碼及發(fā)送方式的效果比較
通過(guò)圖2中的對(duì)比可以看出,比起采用SVC碼流,采用RoI碼流采用使得圖像中人的臉部區(qū)域更清晰,主觀質(zhì)量有所提高。通過(guò)比較圖3和圖4可以看出,在無(wú)線網(wǎng)絡(luò)這種惡劣的環(huán)境下,使用筆者設(shè)計(jì)的算法能及時(shí)調(diào)整發(fā)送速率,選取盡量多的碼流進(jìn)行發(fā)送,很好地提高了QoS性能。
筆者提出的基于丟包率的碼流控制算法使得視頻流在無(wú)線網(wǎng)絡(luò)中傳輸時(shí)能及時(shí)調(diào)整發(fā)送速率,很好地適應(yīng)了無(wú)線網(wǎng)絡(luò)的帶寬易變的特性。RoI碼流結(jié)構(gòu)使得視頻的主觀質(zhì)量得到很好的改善,但是同時(shí)編碼復(fù)雜度提高了一些,在多個(gè)RoI的情況下效果不太好,需要進(jìn)一步改進(jìn)。
圖3 采用SVC碼流和3GPP TS 26.937
圖4 采用RoI碼流和本文所提碼率控制算法
[1]WIEGAND T,SULLIVAN G J.Overview of the h.264/avc video coding standard[J].IEEE Trans.Circuits and Systems for Video Technology,2003,13(7):560-576.
[2]畢厚杰.新一代視頻壓縮編碼標(biāo)準(zhǔn)——H.264/AVC[M].北京:人民郵電出版社,2005.
[3]SCHWARZ H,MARPE D,WIEGAND T.Overview of the scalable video coding extension of the H.264/AVC standard[J].IEEE Trans.Circuits and Systems for Video Technology,2007,17(9):1103.
[4]SCHIERL T,HELLGE C,MIRTA S,et al.Using H.264/AVC-based scalable video coding (SVC)for real time streaming in wireless IP networks[C]//IEEE International Symposium on Circuits and Systems 2007.[S.l.]:IEEE Press,2007:3455-3458.
[5]WANG Zhou,BOVIK A C,LU Ligang.Wavelet-based foveated image quality Measurement of region of interest image coding[C]//Proc.IEEE 2001 Int.Conf.[S.l.]:IEEE Press,2001:89-92.
[6]王日霞,朱偉興,陳先勇.H.264基于宏塊自適應(yīng)的快速模式選擇算法[J].電視技術(shù),2009,33(2):14-17.
[7]LIN T,RAO K R.Region of interest based H.263 compatible codec and Its rate control for low bit rate video conferencing[C]//Proc.2005 InternationalSymposium on IntelligentSignalProcessing and Communication Systems.[S.l.]:IEEE Press,2005:249-252.
[8]周磊.視頻通信中ROI視頻壓縮算法的研究與應(yīng)用[D].長(zhǎng)沙:中南大學(xué),2007.
[9]SCHULZRINNE H,CASNER S,F(xiàn)REDERICK R.RTP:a transport protocol for realtime applications[EB/OL]. (2003-05-05)[2010-04-10].http://www.ietf.org/rfc/rfc1889.txt.
[10]The network simulator-ns-2:version 2.33[EB/OL].[2010-04-10].http://www.isi.edu/nsnam/ns/.
[11]3GPP TS 26.937,Transparent end-to-end packet-switched streaming service(PSS); real-time transport protocol (RTP)usage model:Release 7[S].2007.