專利名稱:一種基于運動檢測和自適應濾波的視頻圖像降噪方法
技術領域:
本發(fā)明屬于視頻處理領域,主要涉及一種基于運動檢測和自適應濾波的視頻圖像降噪方法,適用于數(shù)字視頻會議、數(shù)字視頻監(jiān)控等應用的前處理步驟。
背景技術:
近年來,以音、視頻為主的數(shù)字多媒體應用日益表現(xiàn)出迅猛的發(fā)展趨勢,占據(jù)了消費電子的主流地位。作為最主要的多媒體服務,數(shù)字視頻得到了越來越廣泛的應用。數(shù)字視頻的采集與傳輸?shù)仁且曨l應用系統(tǒng)的主要功能,這些過程不可避免地會引入各種噪聲,它們的來源主要包括攝像機的成像過程,成像系統(tǒng)的電路以及傳輸?shù)男诺?。噪聲的存在會嚴重地影響視頻的視覺質(zhì)量和后繼的其他處理過程,例如,噪聲明顯增加了圖像序列的熵,因而極大地降低了壓縮編碼的效率。由于視頻應用對降噪(noise reduction)的迫切需求,視頻濾波技術的研究具有重要意義,日益得到人們的重視。目前,很多視頻產(chǎn)品都將“智能3-D降噪(Intelligent Noise Reduction)”、“自適應降噪(Adaptive Noise Reduction)”作為主要功能之一,典型的如Samsung的“Samsung Tantus HPN6339 63”高清晰度電視中使用的HNIE(HighNatural Image Engine)。很多視頻處理芯片也包括視頻濾波的功能,典型的如TI的TVP5160數(shù)字視頻解碼芯片。在視頻會議、視頻監(jiān)控系統(tǒng)中使用實時采集并處理的圖像序列,對視頻濾波的需求更加迫切。
加性白噪聲(Additive white noise)模型是最常見的視頻降質(zhì)模型,在視頻濾波研究中得到了廣泛的應用。當S(i,j,k)和Y(i,j,k)分別表示k幀中(i,j)位置處的原始和觀測像素值時,該模型如式(1)所示,據(jù)此式可知,實際觀測的含噪視頻信號Y(i,j,k)是由原始視頻信號S(i,j,k)疊加上噪聲信號v(i,j,k)得到的,而v(i,j,k)為白噪聲。
g(i,j,k)=f(i,j,k)+v(i,j,k)(1)視頻濾波研究的目的是,設計某種濾波器w(i,j,k),它與觀測值Y(i,j,k)的卷積能獲取盡可能接近S(i,j,k)的估計視頻信號 即,S^(i,j,k)=Y(i,j,k)⊗w(i,j,k)=Σ(m,n,l)∈SI,J,Kw(m,n,l)Y(i-m,j-n,k-l)~S(i,j,k)---(2)]]>灰度圖像的濾波估計利用了圖像中存在的空間相關性,而圖像中邊緣、紋理以及不同區(qū)域使得這種相關性隨空間位置不同而變化,表現(xiàn)出高度非平穩(wěn)的特點。視頻圖像序列中的相關性則同時存在于空間域和時域,不但每一幀中的邊緣、紋理等區(qū)域使得這種相關性具有空變特點,而且圖像序列中的運動也使得各幀間相同空間位置處的相關性隨時間改變。如何克服這種空-時域非平穩(wěn)性、提高濾波效率,一直是視頻濾波研究的核心內(nèi)容。
現(xiàn)有的視頻濾波方法的基本原理包括空-時域濾波和時域濾波前者利用當前像素在前若干幀中有限大小的空間鄰域內(nèi)所有像素間的相關性,形式為一個3-D濾波;而后者只利用了圖像序列在時間維上的相關性進行1-D濾波處理[1]。為克服運動帶來的時域非平穩(wěn)特性,這兩種方法還可進一步分為運動補償方法和運動自適應的濾波方法。運動補償?shù)慕翟敕椒ㄖ苯永眠\動估計和運動補償過程找到當前像素在前幀中的對應像素,通過維持時間維的平穩(wěn)性以保證濾波效率,它實際上是沿著像素在圖像序列中的運動軌跡進行濾波;運動自適應的濾波方法則直接沿時間軸進行濾波,但采用某種自適應機制抵消運動引起的時域非平穩(wěn)性。以美國專利[USP 6061100“Noise reduction for video signals”][2]為例它通過空間濾波和時域濾波來利用空、時域相關性實現(xiàn)降噪目標,通過運動檢測(估計)來搜索當前像素在前若干幀的相應像素以維持時域平穩(wěn)性,并利用自適應空間濾波器實現(xiàn)進一步處理。美國專利[USP 6281942“Spatial and temporal filtering mechanism fordigital motion video signals”][3]也是一個典型例子它先進行自適應空域濾波,而后根據(jù)運動程度進行自適應時域濾波,然后進行時域濾波。這些方法反映了視頻濾波的基本原理,但采用空-時域濾波的方法在降低噪聲的同時不可避免地會引入各幀圖像細節(jié)的模糊,這種模糊有可能抵消了降噪對圖像質(zhì)量的提高,同時,像素估計值都要求處理3-D鄰域,其計算量巨大,這限制了它在實時視頻系統(tǒng)中的應用。很多專利方法都是以FIR(FiniteImpulse Filter)濾波形式出現(xiàn)的,而遞推(recursive)濾波器在計算量和內(nèi)存方面都具有明顯的優(yōu)勢,更適合用于實時視頻系統(tǒng)。一種重要的遞歸濾波方法是卡爾曼濾波(kalmanfilter),對于0均值高斯分布的v(n)和w(n)來說,卡爾曼濾波器是所有估計器中MSE意義上最優(yōu)的估計器,即使v(n)和w(n)不服從高斯分布,卡爾曼濾波也能得到線性估計器中MSE意義的最優(yōu)估計[6]。目前已有不少基于卡爾曼濾波的視頻濾波方法出現(xiàn),典型的如3DMCRUKF[4]、MCROMKF[5],此類方法大都采用了運動補償技術以克服運動的影響。這些方法如3D-RUMF[2]往往采用3D的信號模型,在迭代計算增益時需要矩陣求逆運算,涉及的計算量非常巨大,不適合實時視頻應用。對于實時應用的場合,時域的標量卡爾曼濾波是最合適的。在基于時域卡爾曼濾波的方法中,往往采用運動補償來維持時域平穩(wěn)性假設,以更好的發(fā)揮卡爾曼濾波的優(yōu)勢,但是,首先,噪聲的存在會嚴重影響運動估計的精度,這使得運動估計前必須加入時域平滑運算;其次,運動補償?shù)木葘V波效果也有重要影響,運動補償一直要求很大的計算量,為提高精度,很多方法使用分數(shù)精度的像素插值來進行運動補償[1],這更加劇了計算量;再次,運動補償方法往往并不能真實反映像素的運動軌跡,比如廣泛用于視頻濾波的塊匹配(Block Match)運動補償方法只能反映剛體運動,而很多復雜的運動補償能更真實地反映復雜運動,比如MPEG4包括的網(wǎng)格運動補償方法,但難以用于視頻濾波。不考慮運動的直接時域處理不可避免地混淆了視頻圖像反映的運動物體和靜止背景的像素,極大地降低了卡爾曼濾波的性能。
發(fā)明內(nèi)容
本發(fā)明要解決的技術問題在于抑制實時采集視頻圖像中的噪聲,以提高數(shù)字視頻的視覺質(zhì)量,并提高后繼視頻處理步驟的性能,同時降噪方法還應在具有高濾波效率時保持很低的計算代價。
為實現(xiàn)本發(fā)明要解決的技術問題,本發(fā)明公開了一種基于運動檢測和自適應濾波的視頻圖像降噪方法,包括以下步驟步驟一、根據(jù)輸入視頻圖像進行噪聲方差估計,并計算運動檢測閾值Th_t和空域自適應濾波閾值Th_s;步驟二、采用基于宏塊的運動檢測進行運動-靜止區(qū)域分割,并采用均值濾波和宏塊的空間約束排除噪聲對分割的影響,以保證分割在噪聲環(huán)境下的穩(wěn)定性;步驟三、在靜止區(qū)域采用時域卡爾曼濾波,以遞推濾波方法進行處理;該濾波器具有優(yōu)異的濾波性能,此時卡爾曼濾波能有效克服光照及微小全局運動的影響,具有很高的濾波效率;步驟四、在運動區(qū)域采用空域自適應濾波,自適應濾波器根據(jù)濾波像素和當前像素間差值和距離計算濾波像素對當前像素的影響,極大地降低了空間濾波過程的圖像細節(jié)的毀壞。
由于本發(fā)明采用基于運動檢測而不是基于運動補償?shù)目?時處理方法,避免了運動估計和補償?shù)膹碗s計算,整個算法具有很低的計算代價。由于在靜止區(qū)域使用的卡爾曼濾波器以遞推模式實現(xiàn)了MSE最優(yōu)估計,這保證了靜止區(qū)域的處理效果;在運動區(qū)域采用的空域自適應濾波器在處理噪聲的同時,能很大程度上避免空間細節(jié)的損壞,保證了運動區(qū)域的濾波效果。由于整體方法計算量小、穩(wěn)定性好,非常適合實時視頻應用。
圖1是本發(fā)明的視頻圖像降噪方法的原理圖;圖2是本發(fā)明方法中運動檢測步驟的流程圖。
具體實施例方式
針對前述問題,本發(fā)明提出一個基于運動檢測和卡爾曼濾波的視頻濾波方法,其原理如圖1所示。本發(fā)明方法首先估計噪聲的方差,并計算所需的閾值;然后將各幀劃分成等大不重疊的宏塊;如當前宏塊與前幀中相同位置處宏塊的差異很小,則判為靜止區(qū)域,沿時間軸進行時域卡爾曼濾波;若差異很大,則判為運動區(qū)域進行空域自適應濾波。具體步驟依次為1.噪聲方差σv2的估計先將視頻圖像的某幀劃分為10×10大小的子塊,分別計算它們的方差,然后求得這些方差的最小值作為估計的結果。方差的計算如式(3)所示σv2=110×10Σi=09Σj=09(g(i,j)-g^(i,j))2,]]>其中g^(i,j)=1100Σi=09Σj=09g(i,j)---(3)]]>其中g(i,j)指(i,j)處子塊的像素值。
2.閾值Th_t和Th_s的確定在上述步驟中,運動檢測閾值Th_t用于判斷在時域上兩個像素之間的差別是由運動造成的還是由噪聲造成的;空域自適應濾波閾值Th_s則用來判斷空域上兩個像素間的差別是由噪聲造成的還是由圖像邊緣或紋理等空間細節(jié)造成的。顯然,這兩個閾值應與噪聲的方差成比例,它們的值如式(4)計算。
Th_t=(1.3)2σv2Th_s=(1.8)2σv2---(4)]]>3.運動區(qū)域檢測首先進行運動區(qū)域檢測,此過程如圖2所示。此步驟在本方法中居于核心地位,決定著整個方法的性能。本方法為提高計算效率,將當前輸入幀劃分成4×4大小的不重疊的宏塊。為了降低噪聲對運動檢測準確性的干擾,本方法計算宏塊的均值來判斷前、后幀是否有運動出現(xiàn),這實際上是先進行空間均值濾波后進行判斷,區(qū)域的運動性質(zhì)判斷則以宏塊為單位。當前、后幀的宏塊均值的平方差值大于閾值Th_t時,判決宏塊處存在運動。由于誤判會降低濾波效率,本發(fā)明算法進一步加入空間約束運動塊的8個相鄰塊都為運動塊。
首先,設置如下參數(shù)1.refer_blk_mean(s,t)前幀位置(s,t)處宏塊的均值;
2.Mn(s,t)、Sn(s,t)時域卡爾曼濾波器的狀態(tài);對于當前宏塊MtBlk(s,t),本方法中運動檢測過程可總結如下1)完成初始設置;2)若當前宏塊的標記blk_lbl(s,t)已被標記為運動或靜止而非初始狀態(tài),則直接至步驟7),否則至步驟3);3)計算子塊的平均值blk_mean(s,t),即blk_mean=Σm=03Σn=03Y(s+m,t+n,k)/16;]]>4)如式(5)計算Qn,若Qn大于運動檢測閾值Th_t,則至步驟6),否則至步驟5);Qn=[blk__mean(s,t)-refer_blk_mean(s,t)]2(5)5)當前塊判決為靜止區(qū)域,并更新blk_lbl(s,t),保留Qn至后繼時域卡爾曼濾波使用;6)當前塊且8個相鄰塊判決為運動區(qū)域,并更新所有blk_lbl,并將相應的Mn(i,j)、Sn(i,j)清零;7)若當前幀所有宏塊判決完畢,則refer_blk_mean(s,t)更新為blk_mean(s,t),結束判決過程,否則更新(s,t)至下一宏塊,回到步驟2)。
本方法根據(jù)宏塊的運動、靜止判決結果,分別進行時域或空域濾波。
4.時域卡爾曼濾波在上述“運動檢測”步驟結束后,對于靜止區(qū)域沿時間軸進行時域卡爾曼濾波。根據(jù)視頻圖像形成過程的原理,靜止區(qū)域的像素在當前幀中的強度值應該等于它在前一幀中的強度值(強度值包括所有亮度和色度分量)。當用S(i,j,k)來表示當前幀k中位置(i,j)處的像素強度時,有S(i,j,k)=S(i,j,k-1)。在實際應用中,S(i,j,k)和S(i,j,k-1)往往不可能相等,而是存在一些擾動。擾動的來源很廣,對于靜止區(qū)域來說,如光照等成像條件的細微變化或攝像機輕微振動引入的全局運動等,它們可以用白噪聲來建模。因而S(i,j,k)和S(i,j,k-1)間關系的更合理的表達如式(6)所示。
S(i,j,k)=S(i,j,k-1)+w(i,j,k-1)(6)其中U(i,j,k-1)表示k-1幀到k幀的擾動??紤]到各幀存在的噪聲,只能觀察到如式(7)所示的含噪圖像Y(i,j,k)。
Y(i,j,k)=S(i,j,k)+v(i,j,k-1)(7)時域濾波目的在于計算具有MMSE的估計 而本發(fā)明算法采用標量卡爾曼濾波來估計 本方法的時域卡爾曼濾波如式(8)~式(11)所示M(i,j,k|k-1)=a2M(i,j,k)+σw2(n)---(8)]]>K(i,j,k)=M(i,j,k|k-1)/[σv2+M(i,j,k|k-1)]---(9)]]>S^(i,j,k)=S^(i,j,k-1)+K(i,j,k)[Y(i,j,k)-S^(i,j,k-1)]---(10)]]>M(i,j,k)=(1-K(i,j,k))M(i,j,k|k-1) (11)其中M(i,j,k-1)和 分別表示k幀像素(i,j)可用的卡爾曼MSE誤差和狀態(tài)量。
據(jù)此,本方法中時域卡爾曼濾波的步驟可總結如下1)若當前宏塊已被標記為運動塊,則直接跳至步驟6);2)輸入當前像素Y(i,j,k)和運動檢測得到參數(shù)Qn;3)按式(8)和(9)計算單步預測參數(shù)M(i,j,k-1)和增益K(i,j,k);4)按式(10)計算當前狀態(tài) 并規(guī)整成8bit像素值作為濾波輸出,而后按式(11)計算卡爾曼MSE誤差;5)若當前宏塊所有像素處理完畢,跳至步驟6),否則修改(i,j)至下一像素后跳至步驟2);6)當前宏塊時域處理結束,進入下一宏塊。
上述濾波過程要求知道噪聲方差σv2和方差σw2,其中σv2的估計方法如步驟1所述,而在靜止區(qū)域中式(1)中的Qn能有效的估計σw2。運動區(qū)域降低了參數(shù)估計的有效性,同時由(8)和(9)可見運動會產(chǎn)生Qn>>σv2,]]>這使得K(i,j,k)~1,此時估計信號 近于觀測信號Y(i,j,k)本身,而不是濾波值。所以運動區(qū)域不適合時域濾波,這正是采用空間自適應濾波的原因。
5.空域自適應濾波在“運動檢測”步驟判決的運動區(qū)域中,本方法采用自適應空域濾波。空域濾波比時域濾波復雜得多,這是因為視頻圖像的每一幀都包含著豐富的空間信息,在使用空間濾波器濾除噪聲時,容易對每幀的細節(jié)產(chǎn)生明顯的模糊,降低視頻圖像的視覺質(zhì)量。因而,空域濾波要求很高的自適應性,已能在降噪的同時盡可能的保留圖像中的邊緣、紋理等細節(jié)信息。
本方法采用的空域自適應濾波的原理如式(12)所示,濾波值Y^(i,j)=Σ(m,n)∈SI,J,Kh(m,n)Y(i-m,j-n)---(12)]]>其中,h(m,n)指濾波系數(shù),Y(i-m,j-n)指空間位置(i-m,j-n)的像素觀測值;而h(m,n)=C(i,j)1+a(max[Th_s,(Y(i,j)-Y(i-m,j-n))2])exp[-(i-m)2+(j-n)22σ2]---(13)]]>其中,歸一化系數(shù)C(i,j)=1Σ(m,n)∈SI,Jexp[-(i-m)2+(j-n)22σ2]1+a(max([Th_s,(Y(i,j)-Y(m,n))2]))---(14)]]>其中SI,J為空間濾波器的支撐(Support)。由式(13)和式(14)可見,本方法的空域自適應濾波為了避免毀壞圖像各幀中的邊緣、紋理等細節(jié),當前像素的濾波值只由濾波器支撐(support)內(nèi)彼此相近的像素決定,當濾波像素與當前像素差別大于空域自適應濾波閾值Th_s時,其濾波系數(shù)很小,因而對當前點的濾波值的影響也很小。同時,當前像素空間位置越接近的點對當前像素的濾波值影響越大,這進一步減輕了空間濾波過程對圖像的空間細節(jié)的毀壞。
空域自適應濾波的步驟可總結如下在處理當前像素Y(i,j)時,1)完成初始設置,即H=0、Sum=0;2)對當前像素的5×5鄰域內(nèi)每一點Y(i-m,j-n),按式(13)計算其濾波器系數(shù)h(m,n)=exp(-(i-m)2+(j-n)22σ2)1+a(max([Th_s,(Y(i,j)-Y(m,n))2])),]]>并令Sum=Sum+h(m,n)*Y(i-m,j-n)和H=H+h(m,n);3)若鄰域內(nèi)所有點都已計算,則至步驟4),否則至步驟2)計算下一點;4)根據(jù)Sum和H計算當前像素Y(i,j)的濾波值Y^(i,j)=SumH.]]>
權利要求
1.一種基于運動檢測和自適應濾波的視頻圖像降噪方法,其特征在于,包括以下步驟步驟一、根據(jù)輸入視頻圖像進行噪聲方差估計σ2,并計算運動檢測閾值Th_t和空域自適應濾波閾值Th_s;步驟二、采用基于宏塊的運動檢測進行運動-靜止區(qū)域分割,并采用均值濾波和宏塊的空間約束排除噪聲對分割的影響;步驟三、在靜止區(qū)域采用時域卡爾曼濾波,以遞推濾波方法進行處理;步驟四、在運動區(qū)域采用空域自適應濾波,自適應濾波器根據(jù)濾波像素和當前像素間差值和距離計算濾波像素對當前像素的影響。
2.根據(jù)權利要求1所述的基于運動檢測和自適應濾波的視頻圖像降噪方法,其特征在于,步驟二中所述運動-靜止區(qū)域分割是根據(jù)當前位置的前、后幀的宏塊均值的平方差值是否大于運動檢測閾值Th_t進行判斷,如果大于則判斷當前位置為運動區(qū)域,否則判斷為靜止區(qū)域。
3.根據(jù)權利要求1所述的基于運動檢測和自適應濾波的視頻圖像降噪方法,其特征在于,步驟一中所述噪聲方差的估計具體步驟是先將視頻圖像的某幀劃分為10×10大小的子塊,分別計算它們的方差,然后求得這些方差的最小值作為估計的結果;方差的計算如式(3)所示σv2=110×10Σi=09Σj=09(g(i,j)-g^(i,j))2,]]>其中g^(i,j)=1100Σi=09Σj=09g(i,j)---(3)]]>其中g(i,j)指(i,j)處子塊的像素值。
4.根據(jù)權利要求1或3所述的基于運動檢測和自適應濾波的視頻圖像降噪方法,其特征在于,步驟一中所述運動檢測閾值Th_t和空域自適應濾波閾值Th_s的確定如式(4)計算Th_t=(1.3)2σv2Th_s=(1.8)2σv2---(4).]]>
5.根據(jù)權利要求1所述的基于運動檢測和自適應濾波的視頻圖像降噪方法,其特征在于,步驟四中所述空域自適應濾波包括以下步驟1)初始化,即H=0、Sum=0;2)對當前像素的5×5鄰域內(nèi)每一點Y(i-m,j-n),按式(13)計算其濾波器系數(shù)h(m,n)=exp(-(i-m)2+(j-n)22σ2)1+a(max([Th_s,(Y(i,j)-Y(m,n))2]))---(13)]]>并令Sum=Sum+h(m,n)*Y(i-m,j-n)和H=H+h(m,n);3)若鄰域內(nèi)所有點都已計算,則至步驟4),否則至步驟2)計算下一點;4)根據(jù)Sum和H計算當前像素Y(i,j)的濾波值Y^(i,j)=SumH.]]>
6.根據(jù)權利要求1所述的基于運動檢測和自適應濾波的視頻圖像降噪方法,其特征在于,步驟二中宏塊的運動檢測并進行運動-靜止區(qū)域分割的過程包括以下步驟1)初始化;2)若當前位置(s,t)處宏塊的標記blk_lbl(s,t)已被標記為運動或靜止,則直接至步驟7),否則至步驟3),其中blk_lbl表示標記的值;3)計算當前位置(s,t)處宏塊的平均值blk_mean(s,t),即blk_mean(s,t)=Σm=03Σn=03Y(s+m,t+n,k)/16,]]>其中Y表示空間位置(s+m,t+n)處的像素值;4)按式(5)計算Qn,若Qn大于運動檢測閾值Th_t,則至步驟6),否則至步驟5);Qn=[blk_mean(s,t)-refer_blk_mean(s,t)]2(5)其中refe_blk_mean(s,t)表示空間位置(s,t)前一幀的宏塊均值;5)當前塊判決為靜止區(qū)域,更新blk_lbl(s,t),保留Qn至后繼時域卡爾曼濾波使用;6)當前塊且8個相鄰塊判決為運動區(qū)域,更新所有blk_lbl,并將卡爾曼濾波器的狀態(tài)變量清零;7)當前幀所有宏塊判決完畢,則refer_blk_mean(s,t)更新為blk_mean(s,t),結束判決過程,否則更新至下一宏塊,回到步驟2)。
全文摘要
本發(fā)明公開了一種基于運動檢測和自適應濾波的視頻圖像降噪方法,包括以下步驟1.根據(jù)輸入視頻圖像進行噪聲方差估計,并計算自適應濾波的閾值;2.采用基于宏塊的運動檢測進行運動-背景區(qū)域分割;3.在靜止區(qū)域采用時域卡爾曼濾波進行處理;4.在運動區(qū)域采用空域自適應濾波。本發(fā)明避免了運動估計和補償?shù)膹碗s計算,整個算法具有很低的計算代價。既保證了靜止區(qū)域的處理效果,又能很大程度上避免空間細節(jié)的損壞,保證了運動區(qū)域的濾波效果。整體方法計算量小、穩(wěn)定性好,非常適合實時視頻應用。
文檔編號H04N5/21GK1901620SQ200510084359
公開日2007年1月24日 申請日期2005年7月19日 優(yōu)先權日2005年7月19日
發(fā)明者吳穎謙 申請人:中興通訊股份有限公司