趙興朋 , 劉衛東 ,, 于 崗
(1.中國海洋大學 信息科學與工程學院,山東 青島 266100;2.海信電器股份有限公司 山東 青島 266071)
圖像縮放技術在高清數字電視、多媒體投影機、智能手機等終端顯示設備中的應用非常廣泛。特別是由于非線性濾波器的濾波效果相比線性濾波器的濾波效果更加真實細膩,所以基于非線性濾波(如多相濾波)插值的縮放技術得到了廣泛的研究并日漸成熟。但是該技術所帶來的振鈴現象是應用中必須加以處理的問題。具體表現如一幀圖像中,相鄰兩個不同物體交界處,在圖像放大后會產生類似于波紋狀的振蕩現象——稱之為振鈴。特別是當這兩個物體的像素灰度值差別很大時,振鈴現象尤為明顯,圖像也更加模糊。
所以,對于某些清晰度要求比較高的顯示設備(如1 920×1 080 p全高清數字電視),圖像在縮放后,一般都要對其進行去振鈴操作,以達到較好的顯示效果。常見的圖像縮放去振鈴技術,為了達到去振鈴的目的,會在振鈴產生的小區域連同周圍相當大的一部分區域內,用某種粗糙濾波代替原先的非線性濾波。這樣做的后果是把圖像縮放后的相當一部分細節信息丟失。而本設計所采用的去振鈴算法針對上述缺點進行了優化和改進。
振鈴現象產生的主要原因是圖像在變換過程中高頻信息的丟失,高頻分量丟失越多,振鈴越嚴重。而低通濾波器的特點是通低頻阻高頻,尤其是理想低通濾波器的高頻部分會被完全濾掉。因此,當一幀圖像的全部像素點通過低通濾波器后,圖像中不同物體交界處的高頻細節丟失,振鈴現象由此產生,并且低通濾波器越是趨于理想振鈴現象越明顯[1]。
圖1是表示圖像縮放過程中產生振鈴現象的原理組圖。圖中A是理想低通濾波器的空間域圖。有1單位沖擊脈沖f(x)(類似于圖像中不同物體的交界處),通過該低通濾波器后(f(x)卷積h(x)),其空間域波形如圖1中B所示[2];顯然單位沖擊脈沖通過低通濾波器之后,變成了幅度向兩邊延伸且逐漸減小的振蕩波形,這種類似于波紋狀的振蕩就是振鈴現象產生的根本原因。圖中C是B的俯視平面圖[3]。
本設計中圖像縮放所采用的多相濾波器的系數分布如圖中D所示,其特性非常接近理想低通濾波器(如A)。由上述介紹可以想象到當一幀圖像經過該多相濾波系統時必然會產生較嚴重的振鈴現象。

圖1 圖像縮放產生振鈴現象原理圖Fig.1 Schematic diagram of ringing in image scaling
由振鈴產生的原因可知,要降低圖像縮放后的振鈴現象且盡可能的保持原圖像的真實細膩,我們只要在原圖像的平坦區域采用多相濾波器,而在像素灰度值劇烈變化區域采用線性濾波器就可以實現[4]。
本文所采用的線性濾波器是系數呈三角特性分布的六抽頭濾波器,抽頭系數的具體大小要根據相應的插值位置計算得到。其頻譜圖如圖2中A所示,顯然相比理想低通濾波器的頻譜特性,線性三角濾波器對高頻信息的屏蔽就沒那么理想,進而達到去振鈴的效果。我們怎樣尋找需要去振鈴操作的目標插值像素點呢?
本文所用多相濾波器是6抽頭的,插值像素點的大小由插值像素位置的臨近6個原像素點通過多相濾波器計算得到。全局差值最大值g_max(global_max),即6個相鄰像素依次相減,絕對值最大者,其求解方法如圖2中B所示。局部差值最大值loc_max(local_max),求解方法如圖中C所示。圖中l_max(left_max)表示插值點左側差值絕對值的最大值,r_max(right_max)表示插值點右側差值絕對值的最大值。兩者的具體求解過程同g_max類似,只是所涉及到的原像素點個數不同(圖2中C所示:左側為實線連接的3個像素點,右側為虛線連接的3個像素點,中間重疊兩個,共4個)。然后選擇l_max和r_max較小者作為loc_max。

圖2 線性濾波器頻譜及全局/局部差值最大值框圖Fig.2 Illustrative diagram of linear filter spectrum and global/local maximum difference
這樣求解g_max和loc_max的意義何在?我們來看圖3去振鈴算法原理圖,當插值像素位于插值點0時,因為插值點0所用到的有效像素點都在同一個物體1中,所以計算得到的g_max與loc_max近似相等,表示這6個像素點不包括邊界信息,此時不需要對插值點0進行去振鈴操作;當插值像素位于插值點1時,其所用到的有效像素點分布于不同物體1和2中,此時計算得到g_max會遠遠大于loc_max。本文假定只要g_max大于10倍的loc_max就認為此插值點包含了邊界信息,也就是包含了豐富的高頻分量,需要對該插值點(插值點1)進行去振鈴操作,即用線性三角濾波器代替多相濾波器來對原素點進行濾波[5]。
如上,我們只在物體交界處附近(插值點1)進行去振鈴操作,而遠離物體交界處(插值點0)不進行去振鈴操作,從而達到該去振鈴區域盡量去振鈴不該去振鈴區域盡量不去振鈴的目的。這樣既減弱了振鈴現象的影響,又盡可能地保持了原圖像的真實細膩[6]。相比其他一些算法所介紹的,在離交界處相當大的區域內不加選擇的一概進行去振鈴操作效果要好很多。

圖3 去振鈴算法原理圖Fig.3 Schematic diagram of deringing’s algorithm
該去振鈴模塊作為一個獨立的功能系統可直接掛接在圖像縮放模塊之后。根據上述算法,其硬件系統架構框圖如圖4所示,該系統架構主要包括ram緩存器、dering_ena(使能信號產生)模塊、global_max(全局最大值)模塊、local_max(局部最大值)模塊、linear_filter(線性濾波器)模塊以及result_modify(結果校正)模塊等6部分。其中,ram緩存器模塊用來暫存上一級模塊輸入的數據信息;dering_ena模塊產生去振鈴的使能信號;global_max模塊用來計算全局最大值g_max;local_max模塊用來計算局部最大值 loc_max;linear_filter模塊用線性三角濾波器來計算插值點像素的值;result_modify 模 塊 根 據 global_max、local_max、linear_filter模塊輸出結果的相對關系,對由前一級h/v_scaler模塊輸入的插值像素進行相應地修正。圖中實線包圍的部分表示該去振鈴架構的主要功能模塊,虛線包圍的部分表示其外圍的連線電路、使能模塊及ram緩存器模塊。

圖4 去振鈴硬件系統架構Fig.4 Hardware system architecture of deringing
根據算法介紹,global_max和local_max這兩個模塊用到的硬件資源很相似,都用到了減法器、選擇器、比較器等。因為本設計中的插值多相濾波器是6抽頭的,所以global_max模塊在硬件實現的過程中用到10個減法器,5個選擇器,4個比較器[7];local_max模塊的計算過程稍微復雜一些,這里按照計算g_max的方法分別求出l_max和r_max,然后將兩者通過一個比較器,選出較小的一個作為loc_max輸出。用到的主要硬件資源有減法器、選擇器和比較器。
linear_filter模塊主要是對原像素點進行線性濾波,根據前面講述到的,本模塊用到的主要硬件資源是乘法器和加法器。因為本設計中的線性濾波器也是6抽頭的,所以本模塊主要包括6個乘法器和5個加法器,每一個像素點與相應的抽頭系數相乘,然后逐級相加,得到濾波器的最終輸出結果。result_modify模塊主要根據g_max與loc_max相對大小關系,用線性濾波器的輸出對多相濾波器的插值像素進行修正。本模塊用到的主要硬件資源有比較器、移位選擇器、減法器等。

圖5 FPGA驗證效果對比圖Fig.5 Results of FPGA verification
本設計使用的FPGA是altera的stratixIV,通過VGA接口連接顯示器顯示圖像。當dering_ena信號未被使能時,圖像顯示如圖5中(a)所示;當dering_ena信號被使能時,圖像顯示如圖5中(b)所示。通過對比不難發現:縮放后的圖像經過去振鈴操作,中間黑白交界區域更加清晰,波紋狀的振鈴現象大大減弱,并且圖像的其他區域依然清晰細膩;而未經過去振鈴操作的圖像交界區域有明顯的振鈴現象,畫面相對模糊。可見本設計在使用較少硬件資源和基本不影響縮放圖像畫面質量的基礎上,對交界細節處的去振鈴效果是比較明顯的。
[1]鄭君里.信號與系統[M].2版.北京:高等教育出版社,2005:43-264.
[2]郭煒,祝永新.一種改進的自適應去振鈴濾波算法及其硬件實現[D].上海:上海交通大學,2009.
[3]Gonzalez R C,Woods R E.Digital Image Processing[M].2nd ed.Beijing:Publishing House of Electronics Industry,2007:132-141.
[4]程佩青.數字信號處理教程[M].3版.北京:清華大學出版社,2007:8-322.
[5]ZHANG Bo,Ashish Koul.Dering operation for image processing:US,20100135592 AL[P].JUN.3,2010.
[6]Keshab,K Parhi.VLSI Digital Signal Processing Systems[M].3rd rd.[S.l.], 2004:34-451.
[7]徐宗琦,高璐.一種盲復原圖像振鈴效應的后處理與質量評價方法[J].計算機應用, 2007(4):2-4.XU Zong-qi,GAO Lu.Ringing effect postprocessing and quality assessment method of blind restoration image[J].Journal of Computer Applications, 2007(4):2-4.