張 娜,周 冬,張俊為,桂江生,包曉安
(浙江理工大學(xué)信息學(xué)院,杭州 310018 )
?
基于H.264編碼幀內(nèi)預(yù)測(cè)模式的視頻監(jiān)控算法研究
張 娜,周 冬,張俊為,桂江生,包曉安
(浙江理工大學(xué)信息學(xué)院,杭州 310018 )
為了降低視頻監(jiān)控中H.264編碼幀內(nèi)預(yù)測(cè)模式計(jì)算復(fù)雜度,在分析了幀內(nèi)預(yù)測(cè)模式選擇過程的基礎(chǔ)上,提出了一種改進(jìn)的提前終止選擇算法。該算法根據(jù)畫面的抖動(dòng)狀況以及INTRA16×16模式下的紋理特征來獲取最佳閾值,并根據(jù)預(yù)處理閾值計(jì)算出最佳預(yù)測(cè)模式,從而降低了預(yù)測(cè)模式的計(jì)算復(fù)雜度,增強(qiáng)了在不同監(jiān)控場(chǎng)景下的適應(yīng)能力。將該算法與模式選擇算法、多級(jí)模式預(yù)測(cè)方法進(jìn)行實(shí)驗(yàn)分析,分別在比特率、幀預(yù)測(cè)次數(shù)和計(jì)算時(shí)間上進(jìn)行比較,結(jié)果表明:通過改進(jìn)后的算法可以有效去除模式的預(yù)測(cè)數(shù),避免了不必要的預(yù)測(cè)計(jì)算,同時(shí)保持了H.264編碼原有的特性。
視頻監(jiān)控;視頻傳輸;H.264編碼;幀預(yù)測(cè)模型
隨著視頻技術(shù)越來越多地應(yīng)用在各行各業(yè)中,視頻的編碼處理顯得尤為重要。一般的視頻監(jiān)控?cái)z像頭所采集到的數(shù)據(jù)量比較大,當(dāng)遇到網(wǎng)絡(luò)帶寬比較低的情況下,將未經(jīng)過編碼壓縮處理的數(shù)據(jù)直接在網(wǎng)絡(luò)上進(jìn)行傳輸,不僅會(huì)增加帶寬的壓力,而且對(duì)攝像頭硬件也會(huì)造成影響[1]。視頻編碼是利用視頻編碼數(shù)據(jù)宏塊之間的相關(guān)性,通過建立視頻編碼模型以去除冗余數(shù)據(jù)的過程[2]。經(jīng)過編碼可大幅減少傳輸數(shù)據(jù)量。目前常用的視頻編碼技術(shù)有H.264、MPEG等[3]。其中H.264數(shù)據(jù)編碼具有高壓縮比和網(wǎng)絡(luò)傳輸性,在同等視頻質(zhì)量的情況下編碼的碼流只有其它編碼方法的一半,但也存在編碼計(jì)算復(fù)雜等弊端。
幀內(nèi)預(yù)測(cè)是H.264編碼中的主要技術(shù),其實(shí)現(xiàn)原理是利用圖像中的空間相關(guān)性,由已經(jīng)解碼的相鄰塊來預(yù)測(cè)當(dāng)前塊的信息[4]。H.264編碼方法在選擇幀內(nèi)預(yù)測(cè)模式時(shí)采用全搜索技術(shù),通過計(jì)算盡量少的數(shù)據(jù)來獲取好的編碼效果,但由于H.264的幀內(nèi)預(yù)測(cè)模式數(shù)目很多,為計(jì)算出某一宏塊的幀內(nèi)預(yù)測(cè)模式,需要分析并比較592種不同組合模式下的代價(jià)函數(shù),這使得編碼復(fù)雜度非常高[5]。但對(duì)于實(shí)際視頻監(jiān)控的應(yīng)用場(chǎng)景,監(jiān)控?cái)z像頭位置固定不變,監(jiān)控畫面一般沒有較復(fù)雜的跳變,大多都是處于平緩狀態(tài),編碼過程中很多模式預(yù)測(cè)計(jì)算是多余的,因此選擇快速準(zhǔn)確預(yù)測(cè)幀內(nèi)模式非常重要[6]。
目前,有關(guān)幀內(nèi)預(yù)測(cè)方法的改進(jìn)研究主要有快速幀內(nèi)預(yù)測(cè)算法,如:Huang等[7]針對(duì)邊緣方向預(yù)處理提出了一種模式選擇算法;楊秀增[8]提出了利用絕對(duì)差和方向信息的多級(jí)模式預(yù)測(cè)方法。這兩種方法都是采用RDO(rate-distortionoptimization)進(jìn)行模式選擇。RDO計(jì)算復(fù)雜度較高,當(dāng)監(jiān)控畫面分辨率高時(shí),這兩種算法的時(shí)間性能比較差。本文根據(jù)幀內(nèi)預(yù)測(cè)模式的選擇過程,對(duì)傳統(tǒng)預(yù)測(cè)模式與INTRA4×4模式下的預(yù)測(cè)算法進(jìn)行改進(jìn),提出了一種簡(jiǎn)單有效的預(yù)測(cè)模式選擇方法,改進(jìn)后的算法能預(yù)先減少INTRA16×16模式選擇,有效降低模式選擇的計(jì)算復(fù)雜度,同時(shí)基本保持了H.264原有的性能,符合了視頻監(jiān)控的需求。
在H.264編碼結(jié)構(gòu)中,以宏塊作為基本單位進(jìn)行視頻編碼。在幀內(nèi)編碼過程中,將每個(gè)宏塊劃分為一個(gè)16×16亮度像素塊和兩個(gè)8×8彩色像素塊,并分別對(duì)這3個(gè)塊進(jìn)行幀內(nèi)預(yù)測(cè)。亮度塊又可分為INTRA4×4和INTRA16×16兩種模式幀內(nèi)預(yù)測(cè)類型[9]。其中INTRA4×4模式有9種幀內(nèi)預(yù)測(cè)類型,INTRA16×16模式有4種幀內(nèi)預(yù)測(cè)模式,后者如表1所示[10]。
表1 INTRA16×16的幀內(nèi)預(yù)測(cè)模式
INTRA4×4模式通過對(duì)4×4子塊進(jìn)行預(yù)測(cè)分析,其預(yù)測(cè)精度較高,所以更適合用于處理畫面細(xì)節(jié)多、紋理復(fù)雜的視頻場(chǎng)景,如道路、車站、廣場(chǎng)等場(chǎng)景[11];INTRA16×16模式通過對(duì)16×16子塊進(jìn)行預(yù)測(cè),預(yù)測(cè)方向如圖1所示,預(yù)測(cè)精度較低,適用于畫面變換平緩的監(jiān)控場(chǎng)景,如固定視角的家庭、辦公監(jiān)控場(chǎng)景[12]。本文主要對(duì)INTRA16×16模式的選擇過程進(jìn)行相應(yīng)改進(jìn)。
圖1 INTRA16×16的幀內(nèi)預(yù)測(cè)模式圖示
2.1 相鄰塊之間的相關(guān)性
為計(jì)算當(dāng)前數(shù)據(jù)塊,除需獲取所用的預(yù)測(cè)模式外還需計(jì)算相鄰塊之間的差值。如果用一個(gè)值標(biāo)記每個(gè)編碼塊的預(yù)測(cè)模式,這樣需要消耗較大的編碼比特率,將會(huì)增加碼率[13]。事實(shí)上INTRA16×16模式下相鄰塊之間的預(yù)測(cè)模式具有很強(qiáng)的相關(guān)性,可以據(jù)此計(jì)算最有可能的模式,減少編碼比特?cái)?shù)。
2.2 幀內(nèi)預(yù)測(cè)模式選擇過程
計(jì)算出某個(gè)宏塊內(nèi)的幀預(yù)測(cè)模式,需要計(jì)算592種代價(jià)函數(shù),計(jì)算量非常大。He等[12]提出的計(jì)算方法,首先計(jì)算9種INTRA4×4模式代價(jià)函數(shù),得到最小代價(jià)的模式。計(jì)算模式的代價(jià)函數(shù)RDcost定義為:
RDcost=SSD(N)+Rmode×rate
(1)
其中:SSD(N)是編碼模式N的失真度[12],該值是編碼塊原始采樣值s(i,j)和預(yù)測(cè)樣點(diǎn)值p(i,j)之間的差值d(i,j)絕對(duì)值之和,即:
SSD(N)=∑i,j|s(i,j)-p(i,j)|
(2)
rate表示熵編碼后碼率;Rmode按式(3)計(jì)算:
Rmode=0.85×2(QP-12)/3
(3)
QP表示量化參數(shù)。然后,通過式(1)算出9種INTRA4×4塊最小的RDcost,從而得到當(dāng)前宏塊INTRA4×4模式下的RDcost。再通過上述方法計(jì)算出4個(gè)16×16塊最小的RDcost,比較前兩步獲得的RDcost,計(jì)算出最小RDcost的模式來作為宏塊的幀內(nèi)預(yù)測(cè)模式。通過這種方式計(jì)算宏塊的最佳模式,復(fù)雜度相當(dāng)大,而且對(duì)于相對(duì)平穩(wěn)的監(jiān)控畫面會(huì)存在大量的數(shù)據(jù)冗余。
降低幀預(yù)測(cè)復(fù)雜度一般有兩種方法:一種是通過減少代價(jià)函數(shù)RDcost的計(jì)算量;另一種是減小幀預(yù)測(cè)模式的次數(shù)。本文在分析代價(jià)函數(shù)的計(jì)算量與幀預(yù)測(cè)模式次數(shù)的基礎(chǔ)上,結(jié)合固定場(chǎng)所視頻監(jiān)控系統(tǒng)應(yīng)用場(chǎng)景,減小幀預(yù)測(cè)模式的次數(shù)。成運(yùn)等[9]研究發(fā)現(xiàn),通過當(dāng)前編碼塊與周圍相鄰塊之間的相關(guān)特征預(yù)先排除可能性小的預(yù)測(cè)模式,可以降低幀內(nèi)預(yù)測(cè)的復(fù)雜度。本文在原有的幀預(yù)測(cè)模式的基礎(chǔ)上,提出了一種基于改進(jìn)預(yù)處理閾值提前終止模式選擇算法,利用空間域的特征改變了RDO幀內(nèi)預(yù)測(cè)模式,在預(yù)測(cè)之前去除一些可能性低的預(yù)測(cè)模式,減少計(jì)算量,降低復(fù)雜度。
傳統(tǒng)幀內(nèi)預(yù)測(cè)算法[13]是計(jì)算INTRA4×4與INTRA16×16下所有模式的率失真值,然后再通過計(jì)算比較得出最小代價(jià)的模式,這種方法的計(jì)算量非常大。監(jiān)控畫面的圖像都會(huì)存在一定比例的平緩區(qū)域,在本文提出改進(jìn)算法中,預(yù)先設(shè)定經(jīng)驗(yàn)閾值T,T按照傳統(tǒng)幀內(nèi)預(yù)測(cè)算法從INTRA16×16模式中最佳幀內(nèi)預(yù)測(cè)模式的最小率失真值RDcost加權(quán)平均值得出。算法的具體流程如圖2所示。
圖2 改進(jìn)算法流程
本方法可總結(jié)為如下4個(gè)步驟:
a)首先算出4種INTRA16×16模式的代價(jià)函數(shù),選擇最小代價(jià)的模式。代價(jià)函數(shù)計(jì)算RDcost=SSD(N)+Rmode×rate。
b)比較INTRA16×16模式下的RDcost與T之間的大小,若RDcost比T小,則終止計(jì)算,選擇最小的模式;否則轉(zhuǎn)到步驟(c)。
c)若INTRA16×16模式下的RDcost比T大,則計(jì)算INTRA4×4模式下的RDcost,比較T與INTRA4×4模式下的RDcost的大小,若比T小,則終止計(jì)算;否則轉(zhuǎn)到步驟(d)。
d)若INTRA4×4模式下的RDcost比T大,則比較INTRA16×16模式下的RDcost與INTRA4×4模式下的RDcost的大小,選擇最佳的模式計(jì)算。
結(jié)合上述步驟和圖2中的流程圖,給出本文算法的實(shí)現(xiàn)方式如下:
1.Begin:
2.form=1:4
3.countSSD16×16∥循環(huán)計(jì)算4種INTRA16×16模式的失真度
4.countR16×16
5.countRD16×16=SSD16×16+rmR16×16∥計(jì)算INTRA16×16模式下代價(jià)函數(shù)
6.if(RD16×16 7.choicebestmodel16×16 8.end 9.elseif 10.form=1:9 11.countSSD4×4//循環(huán)計(jì)算9種INTRA4×4模式的失真度 12.countR4×4 13.countRD4×4=SSD4×4+rmR4×4∥計(jì)算INTRA4×4模式下代價(jià)函數(shù) 14.if(RD4×4 15.choicebestmodel4×4 16.end 17.elsecompare(RD4×4,RD16×16)∥比較兩種模式下的代價(jià)函數(shù) 18.choicebestmodel 19.end 20.End 在本算法中通過設(shè)置閾值T來判斷出最佳模式,不但可以減少INTRA16×16模式下幀預(yù)測(cè)的計(jì)算量,在某些情況下甚至可以直接避免計(jì)算INTRA4×4模式,在一定程度上提高了預(yù)測(cè)的精準(zhǔn)度。 (4) (5) (6) (7) 選擇其中最小值Texmin作為INTRA16×16塊的紋理復(fù)雜度的衡量標(biāo)準(zhǔn)并選擇出最佳模式: 當(dāng)畫面出現(xiàn)跳變或畫面密集程度較高的情況下,T值無法預(yù)測(cè)出最佳模式時(shí)采用紋理特征的復(fù)雜度來選擇最佳模式具有很好的適應(yīng)性。 為了驗(yàn)證本文提出的改進(jìn)預(yù)處理閾值提前終止選擇算法的有效性,將本文算法與模式選擇算法[7]、多級(jí)模式預(yù)測(cè)方法[8]進(jìn)行實(shí)驗(yàn)對(duì)比,編碼使用foremanQCIF序列,分別在比特率、幀預(yù)測(cè)次數(shù)和算法計(jì)算時(shí)間上進(jìn)行比較,得到3種算法的對(duì)比結(jié)果如表2所示。 表2 算法測(cè)試結(jié)果 從表2可以看出,多級(jí)模式預(yù)測(cè)算法相較于模式選擇算法,具有較低的比特率和幀預(yù)測(cè)次數(shù),但需要消耗更多的時(shí)間。而本文提出的改進(jìn)算法,在均占有絕對(duì)的優(yōu)勢(shì),在比特率平均與平均幀內(nèi)預(yù)測(cè)次數(shù)都有了很大程度的減少,比特率平均減少了1.65%,INTRA16×16模式下幀預(yù)測(cè)次數(shù)減少了約55%,有效的減少了代價(jià)函數(shù)的計(jì)算。 為了更加全面地對(duì)比3種算法,從峰值信噪比上進(jìn)行比較,結(jié)果如圖3所示。從圖3中可以得出使用改進(jìn)后算法得到的編碼結(jié)果與模式選擇算法和多級(jí)模式預(yù)測(cè)算法方法相比,峰值信噪比平均減少了2.05dB。 圖3 三種算法峰值信噪比比較 同時(shí)將本文改進(jìn)的算法應(yīng)用到視頻監(jiān)控系統(tǒng)中,通過對(duì)攝像頭里產(chǎn)生的日志編碼數(shù)據(jù)來分析(如圖4),可得出在相同的幀序列中,利用本文的算法可以產(chǎn)生比較少的字節(jié)數(shù)據(jù),有效的減緩了攝像頭的監(jiān)控壓力。 圖4 本文算法與標(biāo)準(zhǔn)編碼字節(jié)比較 本文根據(jù)H.264編碼的幀內(nèi)預(yù)測(cè)過程以及編碼塊之間的相關(guān)性與幀預(yù)測(cè)模式間的特點(diǎn),提出了一種改進(jìn)的預(yù)處理閾值提前終止模式選擇算法。該算法通過提前設(shè)置閾值來減少不必要的計(jì)算,從而減少了預(yù)測(cè)復(fù)雜度,并基本上保持了H.264原有的性能。本文算法與標(biāo)準(zhǔn)編碼視頻監(jiān)控中產(chǎn)生的字節(jié)進(jìn)行對(duì)比,發(fā)現(xiàn)本文算法更適用于視頻監(jiān)控。后續(xù)研究將根據(jù)H.264模式之間的相關(guān)性,進(jìn)一步降低幀預(yù)測(cè)的代價(jià)計(jì)算,提升視頻監(jiān)控場(chǎng)景的圖像傳輸?shù)馁|(zhì)量。 [1] 黃凱奇,陳曉棠,康運(yùn)鋒,等.智能視頻監(jiān)控技術(shù)綜述[J].計(jì)算機(jī)學(xué)報(bào),2015,38(6):1093-1118. [2] 鐘鋒,陸以勤.基于家庭網(wǎng)關(guān)的嵌入式遠(yuǎn)程圖像監(jiān)控系統(tǒng)[J].計(jì)算機(jī)工程與設(shè)計(jì),2011,32(5):1626-1629. [3] CHAABOUNI A, GAUDEAU Y, LAMBERT J, et al. Subjective and objective quality assessment for H264 compressed medical video sequences[C]// International Conference on Image Processing Theory, Tools and Applications. IEEE,2014:1-5. [4] 裴世保,李厚強(qiáng),俞能海.H.264/AVC幀內(nèi)預(yù)測(cè)模式選擇算法研究[J].計(jì)算機(jī)應(yīng)用,2005,25(8):1808-1810. [5] SONG R, WANG Y L, HAN Y, et al. Statistically uniform intra-block refresh algorithm for very low delay video communication[J]. Frontiers of Information Technology & Electronic Engineering,2013,14(5):374-382. [6] 張小紅,張媛.H.264/AVC幀內(nèi)預(yù)測(cè)模式快速選擇算法研究[J].系統(tǒng)仿真學(xué)報(bào),2013,25(12):3050-3056. [7] HUANG Y H, OU T S, CHEN H H. Fast decision of block size, prediction mode, and intra block for H.264 intra prediction[J]. Circuits & Systems for Video Technology IEEE Transactions on,2010,20(8):1122-1132. [8] 楊秀增.基于FPGA的圖像預(yù)測(cè)編碼壓縮算法的實(shí)現(xiàn)[J].電子技術(shù),2013,40(2):62-63. [9] 成運(yùn),戴葵,王志英,等.一種新的基于H.264/AVC的零塊判決方法[J].計(jì)算機(jī)研究與發(fā)展,2005,42(10):1758-1762. [10] LIU B, CHEN Q. Implementation and optimization of intra prediction in H264 video parallel decoder on CUDA[C]// IEEE Fifth International Conference on Advanced Computational Intelligence. IEEE,2012:215-232. [11] 張劍,譚勁.基于結(jié)構(gòu)模塊化實(shí)現(xiàn)H.264編碼軟件[J].計(jì)算機(jī)科學(xué),2005,32(6):87-90. [12] HE Z, CHEN C, CAI J. Lowpass filtering of rate-distortion functions for quality smoothing for real-time video recording and streaming[C]∥ International Conference on Image Processing. IEEE,2004:1101-1104. [13] 王剛,毛劍飛,田青,等.基于ARM11的無線視頻監(jiān)控系統(tǒng)[J].計(jì)算機(jī)系統(tǒng)應(yīng)用,2011,20(8):18-22. (責(zé)任編輯: 康 鋒) Research on Video Surveillance Algorithm Based on Intra Prediction Mode of H.264 Coding ZHANGNa,ZHOUDong,ZHANGJunwei,GUIJiangsheng,BAOXiaoan (School of Information Science and Technology, Zhejiang Sci-Tech University, Hangzhou 310018, China) In order to reduce the computational complexity of intra prediction mode of H.264 coding in video surveillance, an improved early termination selection algorithm is proposed based on the analysis of the intra prediction mode selection process. The algorithm obtains the optimal threshold value according to the jitter condition of the picture and the texture feature in the INTRA16×16 mode, and calculates the optimal prediction mode according to the preprocessing threshold value, which reduces the computational complexity of the prediction mode and enhances the adaptability under different surveillance scenes. The algorithm is compared with the mode selection algorithm and the multi-level mode prediction method in terms of bit rate, times of frame prediction and computation time. The simulation results show that the improved algorithm can effectively remove the prediction number of the pattern and avoid unnecessary prediction calculation, while maintaining the original characteristics of H.264 coding. video surveillance; video transmission; H.264 coding; frame prediction model 10.3969/j.issn.1673-3851.2017.05.020 2016-11-24 網(wǎng)絡(luò)出版日期: 2017-03-28 國(guó)家自然科學(xué)基金項(xiàng)目(61379036,61502430) ;浙江省自然科學(xué)基金項(xiàng)目(LY12F02041) ;浙江省重大科技專項(xiàng)重點(diǎn)工業(yè)項(xiàng)目(2014C01047) 張 娜(1977-),女,浙江杭州人,副教授,碩士,主要從事自適應(yīng)軟件、軟件測(cè)試與智能信息處理方面的研究。 包曉安,E-mail:baoxiaoan@zstu.edu.cn F252 A 1673- 3851 (2017) 03- 0432- 064 實(shí)驗(yàn)及結(jié)果分析
5 結(jié) 語