摘 要:針對監(jiān)控視頻多噪點以及存在大量靜止背景的特點,以AVS視頻編碼標(biāo)準(zhǔn)為基礎(chǔ),提出了一種結(jié)合降采樣視頻預(yù)處理技術(shù)和及早停止準(zhǔn)則的快速幀間預(yù)測模式選擇算法。實驗結(jié)果表明,該算法在保持視頻主觀質(zhì)量相當(dāng)?shù)臈l件下,編碼過程的計算復(fù)雜度和碼率分別降低了50%和20%左右。
關(guān)鍵詞:視頻監(jiān)控; 數(shù)字音/視頻編碼標(biāo)準(zhǔn); 視頻預(yù)處理; 幀間預(yù)測模式選擇
中圖分類號:TP391 文獻標(biāo)志碼:A 文章編號:1001-3695(2008)08-2407-03
Fast inter prediction mode decision algorithm for AVS oriented to video surveillance
YANG Zhi-wei1,2, LI Mei-yi1, LIU Dong-hua2
(1.School of Information Engineering, Xiangtan University, Xiangtan Hunan 411105, China; 2.Institute of Computing Technology, Shanghai Branch, Chinese Academy of Sciences, Shanghai 201203, China)
Abstract:Based on AVS video coding standard, aimed to the character of surveillance video which had much noise and stock-still background, this paper presented a fast inter prediction mode decision algorithm, which adopted down sampling video pre-processing and early termination rules. Experiment results show that the fast inter prediction mode decision algorithm can reduce about 50% computational complexity in the process of video coding and 20% bit-rate while maintaining the same subjective performance.
Key words:video surveillance; advanced coding of audio and video standard; video pre-processing; inter prediction mode decision
隨著網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)需求的不斷增加,數(shù)字音/視頻編碼標(biāo)準(zhǔn)AVS[1](advanced coding of audio and video standard)在視頻監(jiān)控中的應(yīng)用研究也在快速發(fā)展。AVS是我國具備自主知識產(chǎn)權(quán)的第二代信源編碼標(biāo)準(zhǔn),壓縮性能是前一代編碼標(biāo)準(zhǔn)MPEG-2的兩三倍,與H.264、MPEG-4相當(dāng),但在算法實現(xiàn)方面相對簡單。雖然如此,AVS編碼算法中的多塊模式運動搜索、率失真優(yōu)化等算法的計算復(fù)雜性仍然很大,在處理能力有限的嵌入式平臺上難以實現(xiàn)實時編碼。
1 AVS標(biāo)準(zhǔn)的幀間預(yù)測
AVS視頻編碼標(biāo)準(zhǔn)幀間預(yù)測幀編碼支持三種模式,即幀內(nèi)預(yù)測模式、幀間預(yù)測模式和SKIP(跳過)模式。其中,幀間預(yù)測模式又包括16×16、16×8、8×16和8×8四種不同宏塊劃分的幀間編碼模式。宏塊劃分的每個子塊均對應(yīng)一個運動矢量。幀間編碼主要實現(xiàn)每種預(yù)測模式下的最優(yōu)運動矢量搜索和最優(yōu)模式選擇。
1.1 最優(yōu)運動矢量搜索
最優(yōu)運動矢量的搜索過程如下:對于當(dāng)前模式的每個候選運動矢量,首先計算原始塊與運動矢量對應(yīng)的預(yù)測塊亮度值之差;然后根據(jù)得到的殘差塊元素絕對值和(sum of absolute difference, SAD)按照式(1)計算代價,即
Cp=SAD+MV_COST(lambda, mv)(1)
其中:SAD=∑15i=0∑15j=0|fo(x+i,y+j)-fp(x+i,y+j)|(2)
fo(x,y)和fp(x,y)分別表示原始像素值和預(yù)測像素值;x和y表示當(dāng)前16×16塊左上角元素坐標(biāo);MV_COST(lambda,mv)為運動矢量的代價函數(shù);lambda是與QP有關(guān)的參數(shù);mv是當(dāng)前搜索塊的運動矢量。
最終選擇代價最小的運動矢量作為當(dāng)前模式的最優(yōu)運動矢量。
1.2 最優(yōu)模式選擇
宏塊最優(yōu)預(yù)測模式選擇采用率失真優(yōu)化(rate distortion optimization,RDO)準(zhǔn)則,對每種預(yù)測模式按照式(3)計算代價:
RD cos t=SSD+λ×R(3)
其中:R表示殘差塊經(jīng)過熵編碼后得到的碼長;λ為與量化參數(shù)相關(guān)的率失真參數(shù);SSD表示原始塊與重構(gòu)塊之間的誤差均方和,即
SSD=∑15i=0∑15j=0[f0(x+i,y+j)-fRDO(x+i,y+j)]2(4)
其中:重構(gòu)塊元素值fRDO(x,y)需要對殘差塊經(jīng)過變化→量化→反量化→反變換過程后再與預(yù)測塊相加得到。
最終選擇代價最小的預(yù)測模式作為當(dāng)前宏塊編碼的預(yù)測模式。
2 快速幀間模式選擇算法
2.1 監(jiān)控視頻編碼分析
在采用AVS標(biāo)準(zhǔn)進行幀間編碼時,對每一種宏塊模式都進行運動搜索,并采用RDO算法分別計算編碼代價,最后進行比較,選擇編碼代價最小的模式進行編碼。這個過程計算量太大,不利于實現(xiàn)實時編碼。近年來,專家們研究出很多針對幀間模式選擇的快速算法[2,3]。但是,在視頻監(jiān)控的應(yīng)用中,由于監(jiān)控現(xiàn)場、圖像采集設(shè)備等因素的影響,監(jiān)控圖像存在著不同類型、不同程度的噪聲,導(dǎo)致相鄰幀中主觀上看似完全相同的兩宏塊,由于噪聲的影響,其SAD代價或RDO代價往往很大,而且存在無規(guī)律性。在宏塊模式選擇過程中,很難提前選擇出最優(yōu)的宏塊模式并進行編碼。正是由于視頻監(jiān)控圖像的這種特殊性,已有的快速算法無論在編碼速度還是在編碼效果方面均不能發(fā)揮很好的優(yōu)勢。
另一方面,目前也存在許多圖像預(yù)處理技術(shù),包括圖像增強、圖像恢復(fù)以及幾何畸變校正等[4,5],以達到編碼之前消除噪點,改善圖像質(zhì)量的目的。但是,這些算法本身存在著一定的復(fù)雜度,而比較簡單的預(yù)處理技術(shù)(如均值濾波)并不能獲得很好的圖像質(zhì)量。在資源有限、處理能力有限的嵌入式設(shè)備上實現(xiàn)實時的、高質(zhì)量的圖像預(yù)處理并壓縮編碼,還存在一定的難度。
此外,視頻監(jiān)控圖像還有一個重要特征就是:圖像序列中存在著大量的靜止不動的背景以及前后兩幀具有極強的相關(guān)性。針對視頻監(jiān)控圖像的這兩個主要特征,結(jié)合圖像預(yù)處理技術(shù),本文提出了一種新的基于AVS的快速模式選擇算法。
2.2 快速幀間模式選擇算法
2.2.1 預(yù)處理
在運動搜索之前,首先采用比較簡單的均值濾波[6]方法對當(dāng)前編碼的原始亮度16×16宏塊A進行降采樣濾波,記為A′,前一幀原始亮度數(shù)據(jù)中相同位置的16×16宏塊B,經(jīng)過降采樣濾波后記為B′;然后計算A′與B′的SAD值,以其SAD值作為前后兩宏塊的相似度參考,與經(jīng)過統(tǒng)計分析的門限進行比較,判斷當(dāng)前塊是否為靜止塊,提前選擇出最優(yōu)預(yù)測模式編碼。
對當(dāng)前編碼的16×16宏塊A的原始亮度數(shù)據(jù)進行降采樣,每個8×8的采樣方式如圖1所示。
對采樣點采用均值濾波的方法,按照式(5)進行濾波,即
f′(x,y)=(f(x-1,y-1)+f(x,y-1)+f(x+1,y-1)+
f(x-1,y)+f(x+1,y)+f(x-1,y+1)+
f(x,y+1)+f(x+1,y+1))/8(5)
其中:f(x,y)表示當(dāng)前濾波點的亮度值;f′(x,y)表示當(dāng)前點濾波后的亮度值;x、y分別表示該點的水平坐標(biāo)和垂直坐標(biāo)。
經(jīng)過降采樣濾波的原始塊A′中,采集過程中出現(xiàn)的噪聲,絕大部分都會得到很大限度的平滑,而圖像中的有用信息基本得以保留,不會導(dǎo)致失真。對比前后兩幀原始圖像,主觀上評估為靜止的宏塊,在客觀上能得到最大限度的接近,即A′與B′之間的SAD值很小。如果A′與B′之間的SAD值小于一定的門限,則可認為前后兩幀中相同位置的宏塊A與B內(nèi)容相同,為靜止塊。
2.2.2 預(yù)測模式選擇
根據(jù)上述視頻監(jiān)控圖像的特點、預(yù)處理方法及統(tǒng)計分析結(jié)果,設(shè)計了一個新的預(yù)測模式選擇的快速算法。其步驟如下:
a) 選擇SKIP模式,用RDO模型計算其RDcos t,如果RDcos t小于門限T0,則停止其他模式搜索,并選擇SKIP模式作為最佳編碼模式進行編碼,轉(zhuǎn)到e);否則進行下面的步驟。
b) 按照2.2.1節(jié)中的預(yù)處理方法對當(dāng)前編碼16×16宏塊的亮度數(shù)據(jù)進行降采樣濾波,得到一個8×16塊A′,然后與前一幀原始圖像中相同位置的經(jīng)過降采樣濾波后的8×16塊B′進行比較,計算這兩個宏塊之間的SAD值,記為S。如果S小于256,則認為當(dāng)前塊為靜止塊并進行c);否則轉(zhuǎn)到d)。
c) 計算當(dāng)前16×16宏塊的預(yù)測運動矢量。如果預(yù)測運動矢量為(0,0),則取SKIP模式作為最優(yōu)模式進行編碼,轉(zhuǎn)到e);否則作如下處理:
當(dāng)前宏塊選16×16模式作為最優(yōu)模式編碼,按零運動矢量取預(yù)測值,進一步判斷S值。如果S小于門限T,則當(dāng)前宏塊取零殘差進行編碼,即重構(gòu)值等于預(yù)測值;否則,按正常的編碼計算預(yù)測殘差,按當(dāng)前量化QP進行編碼。轉(zhuǎn)到e)。
其中,T的取值與量化參數(shù)有關(guān),按表1取值。
表1 零殘差閾值表QP≤2829303132T224228232236240QP333435≥36T244248252256d) 對每一種宏塊模式使用改進的EPMVFAST搜索算法[7,8]進行運動搜索,并采用RDO算法分別計算編碼代價,最后選擇最優(yōu)的宏塊模式進行編碼。由于EPMVFAST算法使用當(dāng)前搜索塊的SAD值與判斷提前結(jié)束搜索的門限T1以及小菱形搜索的門限T2比較,控制搜索過程,以提前結(jié)束不必要的搜索。但是,視頻監(jiān)控圖像由于噪聲影響,搜索塊的SAD值往往很大,那些提前結(jié)束搜索和選擇最優(yōu)搜索模型的門限不能發(fā)揮應(yīng)有的作用。對EPMVFAST算法作如下改進:在判斷提前結(jié)束搜索處增加條件:如果S小于T′1,則提前結(jié)束搜索;在判斷是否以小菱形進行搜索處增加條件:如果S小于T′2,則進行小菱形搜索。根據(jù)統(tǒng)計分析結(jié)果,T′1和T′2分別取384和512。
e) 當(dāng)前宏塊編碼結(jié)束。
3 實驗結(jié)果與分析
3.1 計算復(fù)雜性
該算法在宏塊編碼中對宏塊原始數(shù)據(jù)進行了一次降采樣的均值濾波,并計算了一個8×16塊SAD值,均值濾波一個像素點需要進行八次加法和一次除法,整個預(yù)處理的計算復(fù)雜度相當(dāng)于計算九次8×16塊的SAD。但是,針對平均擁有60%以上靜止塊的視頻監(jiān)控圖像來說,該快速算法能準(zhǔn)確地判斷靜止塊,并減少對應(yīng)塊幀間模式的運動矢量搜索以及各預(yù)測模式的編碼代價計算(包括變換、量化、反量化、反變換和RDcos t代價計算等復(fù)雜計算),計算復(fù)雜度要降低50%以上。
其次,針對監(jiān)控視頻編碼,利用預(yù)處理中的結(jié)果S改進的EPMVFAST算法,比原EPMVFAST算法進行搜索的次數(shù)減少80%左右,基本上避免了無效搜索,而在性能上相當(dāng)。
下面考察采用該快速算法與采用參考代碼原始算法進行編碼的復(fù)雜度對比。仿真實驗采用了AVS標(biāo)準(zhǔn)組提供的參考代碼rm52i作為實驗平臺,編碼參數(shù)配置:視頻格式為CIF,參考幀數(shù)為1,運動搜索范圍為32、開啟RDO、編碼序列格式為IPPPP……編碼幀數(shù)為250幀,幀率為30fps,視頻序列選擇標(biāo)準(zhǔn)組提供的hall_cif、substation和cross_street序列。
表2列出了參考軟件和采用本文提出的快速算法進行編碼的復(fù)雜度比較結(jié)果。其中,參考軟件在運動搜索時采用EPMVFAST運動矢量搜索算法,搜索次數(shù)和靜止塊的統(tǒng)計都是按平均每幀計算。
表2 編碼復(fù)雜度比較測試序列搜索次數(shù)靜止塊原始算法快速算法預(yù)判靜止塊總宏塊數(shù)hall_cif36 149.44 454.9307.2396substation35 872.11 608.6265.8396cross_street41 904.914 302.4249.33963.2 編碼性能
圖2~4給出了編碼時,采用原算法和本文提出的快速算法的性能比較曲線。由該組圖可見,兩種算法的編碼性能基本相當(dāng)(兩條曲線相近),這也說明了該快速算法的有效性。
圖5中(a)和(b)分別為QP均采用28,分別采用原算法和本文提出的快速算法,對同一幀原始圖像進行編碼后再解碼得到的兩幀圖像。
由圖5可看出,兩者的主觀質(zhì)量幾乎完全一樣。由于快速算法對靜止塊的優(yōu)化處理,即排除噪聲影響,以參考幀中對應(yīng)塊直接替代,在很大程度上降低了碼率,雖然這對PSNR有一定程度的影響,但是對運動塊按原算法流程進行編碼,圖像運動細節(jié)的編碼質(zhì)量得以保障,所以在主觀質(zhì)量上與原算法相當(dāng)。 而快速算法所帶來的大幅度的碼率下降(20%左右),將有利于視頻監(jiān)控的應(yīng)用,特別是網(wǎng)絡(luò)視頻監(jiān)控,由于帶寬的限制,在主觀質(zhì)量相當(dāng)?shù)那疤嵯?,快速的編碼以及較低的編碼碼率是至關(guān)重要的。
4 結(jié)束語
針對監(jiān)控視頻存在不同程度的噪聲影響和大量靜止背景的特點,本文基于視頻監(jiān)控提出了AVS幀間快速模式選擇算法,通過采用低復(fù)雜度的降采樣均值濾波,排除噪聲影響,利用門限提前選擇最優(yōu)模式并采用靈活的編碼機制編碼。實驗結(jié)果表明,該算法能在保證編碼主觀質(zhì)量的前提下提高編碼速度,大幅度降低碼率。
參考文獻:
[1]AVS專家組. GB/T 20090.2—2006,信息技術(shù)—先進音/視頻編碼 第2部分: 視頻[S].2006.
[2]CHANG A,AU O C,YEUNG Y M.A novel approach to fast multi-block motion estimation for H.264 video coding[C]//Proc of IEEE ICME.2003:105-108.
[3]YU A C.Efficient block-size selection algorithm for inter-frame coding in H.264/MPEG-4 AVC[C]//Proc of IEEE ICASSP.2004:169-172.
[4]王慧斌,方國才,徐立中.視頻監(jiān)控系統(tǒng)中的圖像預(yù)處理技術(shù)[J].計算機工程,2000,26(1):61-62.
[5]PITAS I, VENETSANOPOULOS A.Nonlinear mean filters in image processing[J]. Acoustics Speech and Signal Processing,1986,ASSP-34(3):573-584.
[6]KUNDU A, MITRA S K, VAIDYANATHAN P P.Application of two-dimensional generalized mean filtering for removal of impulse noises from images[J]. IEEE Trans on Acoust Speech, Signal Processing,1984,32(4): 600-609.
[7]TOURAPIS A M, AU O C, LIOU M L.ISO/IEC JTC1/SC29/WG11 MPEG 2000,Predictive motion vector field adaptive search technique (PMVFAST)[S].2000.
[8]AU O,WONG H M,F(xiàn)AN Xiao-peng. A novel fast motion estimation algorithm (EPMVFAST extension)[S]. 2006.
注:本文中所涉及到的圖表、注解、公式等內(nèi)容請以PDF格式閱讀原文