方宏俊 ,宋 利 ,解 蓉
(1.美芯盟電子科技(上海)有限公司,上海 200233;2.上海交通大學 圖像通信與網絡傳輸研究所,上海 200240;3.未來媒體網絡協同創新中心,上海 200240)
目前,在數字電視的視頻圖像后處理中,噪聲會對視頻圖像的畫質造成顯著的負面影響。因此,對于包含噪聲的視頻圖像,需要設計出一種可以用于電視機的準確可靠的噪聲檢測方法,用以判定該視頻圖像中高斯白噪聲的水平。在當前市面上的高端數字電視接收機系統中,許多數字圖像后處理的算法模塊(例如降噪模塊、運動估計模塊、圖像超分辨率模塊等)都依賴于一個準確并且可靠的噪聲水平指標來進行相關處理。一旦視頻圖像的噪聲水平被噪聲檢測模塊準確得到之后,其他相應的圖像后處理模塊就可以依據該視頻圖像中的噪聲水平對畫質進行相應的提升[1]。
視頻圖像的噪聲檢測通常包含兩種主流方法,一種是基于圖像內部的噪聲檢測,也就是空間域的噪聲估計方法,另一種是基于兩幀或連續的多幀視頻圖像畫面進行噪聲檢測,也就是時域上的噪聲估計方法。時域噪聲估計的方法在電視系統中的應用需要占用更多的物理內存以及消耗更多的運算量。對于實時性要求很高的應用場合,時域噪聲估計的方法需要特別注意圖像的全局運動量以及電影下拉碼流的準確相位信息等??臻g域噪聲估計的方法可以被定義為兩類,一類是基于平滑的空間域噪聲估計方法,另一類是基于宏塊的噪聲估計方法。在基于平滑的噪聲估計方法中,首先對畫面做一次平滑處理(例如使用均值濾波器的方法),假使原始的有噪聲的圖像和做過平滑濾波的圖像之間的差值被認為是噪聲備選因子,然后把這些篩選出的噪聲因子與一個給定的閾值做比較,小于這個閾值的像素被認為是噪聲。在基于宏塊的噪聲估計方法中,一個常見的空間域噪聲估計的方法是計算一組圖像宏塊的方差(類似于圖像的同質化測量),并且取其中的最小宏塊方差的均值作為整幅圖像噪聲方差的估計結果[2]。但是這種空間域基于方差的測量方法往往會對低噪聲的圖像產生過高的估計,或者對于高噪聲的圖像和高紋理的圖像給出過低的噪聲檢測結果。因此,這種通過方差來檢測的方法更多地被用來檢測同質化的宏塊。
文獻[3]給出了一種基于空間域的動態噪聲檢測的方法,通過計算整幅畫面的均值和方差,并且將其結果通過直方圖統計的方式表現出來,從而根據直方圖分布特性定義出噪聲的水平。在文獻[4]中,重點闡述了一種空間域檢測和時域檢測組合的三維噪聲濾波器的方法,它可以被電視接收機用來提升其噪聲估計電路的效率。最近,還有一種新型的基于雙邊濾波器的方法被提出[5],其主要包含了特征值保護的雙邊濾波器,以及物體的邊沿檢測兩塊主要的算法。在較寬的噪聲范圍條件下,這種方法可以展示出較好的魯棒性。
對于噪聲檢測方法的評價指標[2],通常來說,噪聲檢測的方法對于高噪聲的圖像和一些紋理較多的圖像都比較困難。一些方法中使用設定的閾值來決定當前點的差異是否是圖像中某個固定位置的邊沿。然而,在實時性要求較高的系統設計中,同時兼顧效率和精確度的情況下,目前還沒有找到一個好的方法來分辨各種噪聲水平和圖像細節。
本文介紹了一種用于電視機中的基于空間域和時域檢測相組合的噪聲檢測新方法,該方法在平坦的或運動紋理較多的區域都能給出可靠的噪聲估計結果。
經過仿真驗證,對于典型的圖像質量而言(信噪比在20~50 dB范圍之間),該新算法在電視機系統中表現出較好的穩定性和實用性。
本節介紹了一種用于電視機的基于空間域和時域檢測相組合的噪聲檢測優化算法設計。該方法通過兩種圖像結構的分析器來提取出一幅畫面中亮度同質的區域來進行檢測。這兩種分析器為:紋理分析器,基于邊沿檢測的方法來提取圖像中紋理區域;同質分析器,通過對圖像中噪聲和細節的差別給出相應的權重來找出同質的部分。噪聲檢測算法框圖如圖1所示。

圖1 視頻噪聲檢測算法架構圖
本算法中對于空間域噪聲檢測的方法選用了一種常用的方法,即通過一組帶通濾波器來計算整個圖像中宏塊的方差。選取宏塊的尺寸為8×8像素塊,并且滑動過每一個像素點。在選取最小的宏塊方差被認為是整幅圖像的噪聲結果時,本方法選用中值濾波的方法,而不是均值濾波的方法。其目的是如果一個濾波結果相比于其他結果超出了設定的范圍,那么這個值不會對最終的噪聲檢測造成負面影響。在數字電視圖像后處理中,往往存在被前端播放器或信號源預先放大處理過的偽高清信號(up_scaled SD signal),因此,為了區分真實的高清信號和已經被放大成高清信號的偽高清信號,空間域噪聲檢測模塊需要預先對圖像清晰度進行檢測[6],從而決定空間域噪聲檢測器的工作模式。
對于實時性要求很高的視頻流時域噪聲檢測器,需要在連續的圖像中檢測出時域上的差異。同時,對于電影等片源,為了精確輸入圖像之間的檢測差異,電影下拉格式的檢測需要先于時域噪聲檢測模塊完成。與空間域噪聲檢測器類似的是,時域噪聲檢測器也是基于8×8像素的宏塊對時域(幀或場之間)的噪聲方差進行平均處理。
本文所述的噪聲檢測方法中,測得的噪聲等級使用對數化坐標,而不采用線性坐標。該方法與其他常見的噪聲等級檢測的表述方法[5]不同。其優點是采用對數化坐標的噪聲分布直方圖形狀,相對于不同的噪聲水平保持一致,如圖2所示。圖2a是噪聲信噪比SNR分別為45 dB和20 dB的線性坐標分布,圖中高階噪聲等級(20 dB)的直方圖分布形狀不如低階噪聲等級(45 dB)緊湊。而在圖2b中,對同樣兩組噪聲使用對數坐標分布,圖中這兩組噪聲的直方圖分布形狀是一樣緊湊的。

圖2 噪聲用對數化尺度表示的作用(截圖)
同質化分析是提取圖像中的價值權重部分進行分析計算。價值權重模塊計算的是一個非線性的權重,其降低了噪聲檢測結果中較高的值,即

式中:p是功率因子,它定義的是權重函數的曲度;s是速度因子,它定義的是權重函數到達其最小值的速度。x的定義為

式中:vwoffset指的是價值權重,它定義了噪聲分布直方圖中價值權重開始下降的位置。如圖3所示,在估計的噪聲結果上,“價值權重”的作用是減少了由于圖像細節而產生的錯誤高噪聲結果的影響。
圖3a中,一幅運動圖像中人為加入了55 dB的噪聲。
圖3b中,給出了檢測到的同質化區域(用深色表示),它是空間域、時域復合模式噪聲檢測的結果。圖中白色區域為噪聲檢測結果認為高噪聲的區域,黑色區域為噪聲較少的區域。在這幅圖中,運動的細節區域,例如樹枝和垂直的大樓建筑物等結構都在噪聲譜線上產生了很高的響應(圖中亮區域)。而實際測量中,理想狀況下應該測量沒有過多細節的平坦圖像區域,例如圖中的天空等。
圖3c中,其中直方圖上的點表示的是計算出的噪聲響應分布。直方圖上左側的尖峰指示的是實際的噪聲,而右邊的尖峰是由于運動細節導致的。價值權重在圖中的左半邊有一個很大的值,并且往右半邊是逐漸下降的。其目的是基于這個曲線來減小右半邊由圖像運動細節導致的噪聲結果過高的影響。在最終的噪聲估計上,由價值權重的偏置量來指示價值權重從哪個位置開始下降。如果不引入“價值權重”的變量,那么噪聲估計的結果可能會很接近直方圖最右側的峰值。

圖3 同質化分析舉例示意圖
相比于一些面向結構的噪聲估計方法[1],在圖像紋理細節區域的噪聲相對較難進行檢測。很強的邊沿或者細節會導致在純空間域噪聲檢測中的錯誤高響應(如圖4所示),并且如果沒有采取特別的測量手段,則會因此導致過高的噪聲估計水平。同樣的,在時域噪聲檢測中,很強的運動細節也會導致錯誤的高響應,產生錯誤的過高估計噪聲水平的作用。圖4a是輸入的動態變化的多波群圖像,圖4b為對數化的噪聲計算結果。只有在對數化噪聲頻譜的水平中間部分才代表的是噪聲區域。左邊和右邊的亮區域均是由于多波群圖片的強垂直邊沿結構導致的。
為了避免這類噪聲過高估計的情形發生,采用“紋理權重”來緩解強邊沿或者細節的影響,在噪聲估計上是壓制了圖像細節對估計結果的影響。
紋理權重分析模塊首先計算出一個初始的紋理權重值wt_initial,它是基于4組空間域濾波器的輸出結果運算得出的,公式表達如下


圖4 強垂直邊沿在空間域噪聲檢測上產生的響應頻譜
式中:wt_max是一個常數,sf1,…,sf4是濾波器組的輸出。
一個信號紋理權重(wt_initial)的初始值,在其結果上采用一個2×3的最小濾波器,計算出一個最終的紋理權重wt。其僅僅使用當前宏塊的正上方和正左方的宏塊,加以2×3的最小濾波器去腐蝕初始紋理權重值,其目的是對于很強的垂直邊沿之類的紋理區域限制其在最終的噪聲檢測過程中的貢獻,如圖5所示。

圖5 紋理權重用以減輕強垂直邊沿的影響
最后計算得出的結果信噪比SNR是由式(4)計算得到的結果經過對數轉換和權重平均得出的。這個權重平均強調的是那些具有更低噪聲宏塊的貢獻度,所謂的更低噪聲指的是當圖像中同時包含高噪聲和低噪聲的區域時,更看重低噪聲區域的貢獻度。實驗結論也顯示低噪聲區域往往更接近于實際的噪聲水平,而高噪聲區域往往受到運動細節結構因素的干擾。式(4)中的噪聲分子(noise_num)和噪聲分母(noise_denom)在算法框圖中的位置如圖1所示。

其中

而且,權重值w是由價值權重wv和紋理權重wt按照式(7)計算得出

式中:wmin是一個常數,它定義了最小權重下限。
有效宏塊的總數是由硬件模塊計算得出,標記為valid_total,這個數值在“空間域時域復合模式”中軟件模塊將其作為“非靜止宏塊”的尺寸,而當噪聲測量模式選擇“純時域”模式時,該數值將作為“靜止宏塊”的尺寸still_size。為此,軟件模塊還進一步計算出靜止比率Rstillness來反映靜止區域的大小still_size和非靜止區域的大小nonStill_size的關系,具體公式如下

式中:函數Fstillness是由一個中值濾波和一個時域濾波器來得到,其作用是提高結果的穩定性。
最終的信噪比水平SNRfinal是在SNRSP和SNRS&T中進行一個軟判決,其判決方法是根據靜止比率Rstillness來分配,如式(9)所示

盡管已經考慮了如“價值權重”、“紋理權重”等很多方面,以及采用了空間域和時域相結合的測量方法,然而仍然還存在一些情況下計算出的噪聲結果與實際的噪聲水平有些偏差。尤其是在一些具有大面積細節內容的運動場景中。因此,在測量算法中計算出一個可信度指標來表征當前噪聲結果的可靠程度,例如運用于這種大面積細節的運動場景時,其可靠程度值就會下降。
可信度指標是根據紋理權重的平均紋理宏塊總數txtW_total,計算出一個初始的可信度Conf值,公式如下

對于純時域測量模式的可信度結果用ConfSP來標記,同樣,對于時域空間域復合模式的測量可信度用ConfS&T來標記。最終的可信度測量結果ConfS&T是通過取這兩者的最大值來得到,然后對其使用一個中值濾波Fconf來增強其穩定性,如

在如圖4所示的動態多波群視頻碼流中人為添加20~55 dB不同等級的噪聲,軟件仿真結果和硬件實測結果的數據對比如表1所示。

表1 噪聲檢測實驗數據
真實噪聲水平、硬件和軟件仿真三者的對比結果如圖6所示,該噪聲檢測算法的實際測量結果與真實的噪聲水平在20~50 dB區間內完全吻合。

圖6 噪聲檢測實驗結果對比
本文介紹了一種基于時域和空間域的噪聲檢測算法,在算法的仿真設計過程和實際電視芯片應用中,根據各種場景的特質做了大量的動態參數設計優化。基于紋理分析器和同質分析器的運算,在平坦的或者運動的紋理較多的區域都能給出一個可靠的噪聲估計結果。從實際噪聲檢測的效果來看,相比較于僅通過時域檢測或僅通過空間域檢測的算法[7-8],這種方法具備更高的可靠性、準確度和實時性。
在芯片硬件設計實現中,通過采用軟件動態切換時域和空間域的工作模式,以及采用硬件實時提供運算結果的方法保證了在電視系統中進行噪聲檢測的可實現性和易使用性,為數字電視圖像后處理模塊,尤其是數字降噪模塊,提供了及時準確的參考依據。
[1] AMER A,DUBOIS E.Fast and reliable structure-oriented video noise estimation[J].IEEE Trans.Circuits and Systems for Video Technology,2005,15(1):113-118.
[2] OLSEN S I.Estimation of noise in images:an evaluation[J].CVGIP:Graphical Model and Image Processing,1993,55(4):319-323.
[3]BIDARTE U,EZQUERRA J A,ZULOAGA A,et al.VHDL modeling of an adaptive architecture for real-time image enhancement[C]//Proc.VHDL International Users Forum(VIUF).Orlando,FL,USA:IEEE Press,1999:94-100.
[4]HAAN G,OJO O A,KWAAITAAL-SPASSOVA T G.Automatic 2D and 3D noise filtering for high-quality television receivers[EB/OL].[2015-02-10].http://xueshu.baidu.com/s?ie=utf-8&tn=SE_bai duxueshu_c1gjeupa&wd=paperuri%3A%28c4f9c6500410d01b5b9 262ef70528ad7%29&filter=sc_long_sign&sc_ks_para=q%3DAuto matic%202-D%20and%203-D%20noise%20filtering%20for%20hi gh-quality%20television%20receivers.
[5] LIU C,FREEMAN W T,szeliski R,et al.Noise estimation from a single image[C]//Proc.IEEE Conference on Computer Vision and Pattern Recognition(CVPR),2006.[S.l.]:IEEE Press:901-908.
[6] 趙杰,裴建英,門國尊.一種改進的圖像去噪與增強模型[J].電視技術,2013,37(23):31-34.
[7] 章郡鋒,吳曉紅,黃曉強,等.基于暗原色先驗去霧的改進算法[J].電視技術,2013,37(23):192-195.