摘 要:提出的基于數學形態學的運動估計算法,采用四場的SAD比較進行運動估計,并且對運動向量進行數學形態學濾波處理(先進行腐蝕,再進行擴散處理),削弱噪聲影響,提高運動估計的精度。在VLSI實現中采用外掛SDRAM作為幀存儲器,存儲前兩場圖像數據和運動信息。本算法和VLSI設計經過FPGA驗證,取得了很好的效果,并且已經被成功地應用于基于SMIC 0.18 μm CMOS工藝的數字視頻處理芯片中。
關鍵詞:運動估計;數字視頻后處理;數學形態學;超大規模集成電路
中圖分類號:TP391文獻標志碼:A
文章編號:1001-3695(2007)06-0207-03
隨著人們對圖像質量的要求越來越高,以前的隔行掃描已經不能滿足觀眾的要求,因此去隔行技術應運而生。去隔行技術可以消除隔行掃描固有的行間閃爍、爬行等缺陷,提高視頻圖像的垂直分辨率等,使處理后的圖像更加符合人的視覺特性。在3D去隔行技術中,關鍵是準確地區分視頻圖像中的運動和靜止區域——運動估計,從而選擇合適的去隔行插值算法,以便有效地避免對運動圖像的錯誤處理,消除由此造成的鋸齒、模糊等不良效果。在視頻圖像處理中,運動估計也是3D數字降噪和幀頻變換處理的重要組成部分。事實上,它也是視頻處理領域一直努力研究的熱點課題之一[1-8]。
目前,運動估計的方法有很多,如光流分析法、基于塊的分析法、像素遞歸法、貝葉斯法等。Ku等人[1]采用聯合計算時空域視頻信息來進行運動估計,效果較好,但是硬件資源消耗比較大。Biswas和Nguyen[2]將視頻信號先通過傅里葉變換轉換到頻域,通過檢測相位差的方法實現運動估計,然后進行反傅里葉變換得到最終的運動信息;這種方法硬件實現比較困難。Haan和Kettenis[3]提出考慮全局運動的三維遞歸運動估計算法。Yang等人[4]則通過運動向量的分布判斷全局運動。
基于塊匹配的運動估計算法是目前最通用的一種算法。它將圖像分割成M×N的塊,并假設塊內各像素做相同的運動。此后,相繼出現了許多塊匹配的運動搜索算法,如Li等人[5]提出三步搜索的塊匹配方法;Lin等人[6]采用全搜索的塊匹配運動估計方法實現運動補償的視頻壓縮;Chang等人[7]采用基于塊的四場圖像進行運動估計,得到了比較高質量的圖像顯示效果。
另外,由于視頻信號在編/解碼和傳輸等環節會引入噪聲,很容易引起運動估計不準。傳統算法并不考慮噪聲的影響,導致其運動估計的精度不高,影響了后處理的性能。為了消除噪聲影響,增強運動估計的準確性,本文采用形態學濾波處理方法對噪聲進行抑制,提高運動估計的準確性。這對傳統的運動估計算法是一個很大的創新和改進。
數學形態學是一門建立在嚴格數學理論基礎上的學科。其基本思想是用具有一定形態的結構元素去度量和提取圖像中的對應形狀,以達到對圖像分析和識別的目的。數學形態學濾波是數字圖像處理和計算機視覺研究中的一種新方法,已廣泛應用于計算機視覺、圖像處理、噪聲濾除、紋理和場景分析等方面[9-11]。
本文不但論述了基于形態學濾波處理的四場圖像進行運動估計的算法,而且提出了此算法的VLSI設計。
1 基于數學形態學的運動估計
1.1 同極性場的SAD
視頻信號按奇偶場的次序依次傳輸,每隔一場極性相同。時間方向上的視頻信號場結構如圖1所示。其中,t與t-2場極性相同,t-1與t-3場極性相同。
圖1 視頻信號場結構示意圖
由于奇數場和偶數場的數據在場方向相同的位置上不盡相同,傳統的采用相鄰場(即不同極性場)的運動檢測方法會帶來一些問題;尤其對于靜止圖像水平邊緣的檢測會產生錯誤判斷,從而導致爬行效應。本文通過計算同極性場的像素塊絕對值差和(Sum of Absolute Pixel Block Difference, SAD)實現對視頻圖像的運動估計。SAD定義為
當前像素對應的SADT(i, j;t)與預先設置的運動閾值(Threshold)進行比較,判斷當前像素是否運動,得到當前像素的運動向量MV(i, j;t)。如果當前像素對應的SADT(i, j;t)大于運動閾值,則認為當前像素為運動像素,MV(i, j;t)=1;否則,認為當前像素為靜止像素,MV(i, j;t)=0,即
1.2 數學形態學濾波處理
數學形態學[12,13]是通過選取特定的結構元來保留、提取和濾除圖像中的幾何特征。形態變換分為二值和灰度兩種變換形式。二值變換用于處理集合,灰度變換用于處理函數。其基本運算有腐蝕、膨脹、開、閉等。
定義1 設X為被研究的圖像,Xb={x+b|x∈X},B為結構元素,B
視頻信號在編/解碼和傳輸等環節引入的噪聲容易引起運動估計不準。為了消除噪聲影響,增強運動估計的準確性,本文采用相同的結構元素B對運動信息MV進行先腐蝕再膨脹的形態學濾波處理,去除其中的一些孤立子域和毛刺。在形態學中,結構元素的作用相當于信號處理中的濾波窗口。結構元素作為對圖像處理的依據,它的大小、形狀選擇是否合適將直接影響圖像的形態運算結果。因此,需要根據不同的應用場合來選擇合適的結構元素。文中選3×3的方形結構元素B,因為利用方形結構元素產生的邊緣是強連通的邊界,也就是說邊界是連續的。
理論上,圖像的膨脹和腐蝕運算可以通過擊中—擊不中變換來實現。在這一過程中,量化了的圖像模式在一個3×3窗口中檢測,對每一種模式均產生一個輸出像素。然而,這種近似在計算上是不可行的。一種常用的替換方法是對像素鄰域進行灰度極值運算。所以,對MV作腐蝕處理實際上是對結構元素B范圍內的MV進行取最小值運算,得到腐蝕后的運動向量MV_e。
(a) 相同極性的相鄰場
(b) 同極性場檢測
(c) 腐蝕后
(d) 再膨脹
圖2 運動向量的形態學濾波處理
通過對形態學濾波處理前后效果的比較分析可以發現:
(1)在同極性場運動估計得到的運動向量中存在大量的噪聲點,如圖2(b)所示,使得無法確定哪些是真正的運動向量。這就可能將噪聲點誤認為運動而采取不適當的后處理算法,從而影響處理效果。
(2)運動向量MV經過腐蝕處理后,噪聲得到很大抑制,如圖2(c)所示,但是由于腐蝕具有收縮圖像的作用,損失了大量邊緣處的運動信息。
(3)對經過腐蝕處理的運動向量MV_e再進行膨脹處理,利用膨脹處理可以填充圖像中邊緣處理的小凹陷部分和小孔特性,得到具有豐富邊緣信息的準確運動向量MV_c,基本抑制噪聲的影響,如圖2(d)所示。也就是說,本文所提出的算法由于采用形態學濾波處理,能夠大大抑制噪聲的影響,從而提高了運動估計的準確性。
1.3 運動估計的魯棒性設計
魯棒性是指控制系統在一定的參數攝動時系統能否保持正常工作的一種特性或屬性。簡單地說,就是適應各種變化的能力。魯棒性越強,系統的穩定性能就越好。近年來,魯棒性設計被廣泛應用于數字圖像處理,如魯棒數字水印技術[14]、信源編碼[15]、運動檢測[16]、防病毒系統、文字識別等領域。
也就是說,只有當t與t-2場和t-1與t-3場四場圖像同時估計為靜止時,才將當前像素認為是靜止像素;否則為運動像素。
為了比較當前場形態學濾波處理后的運動向量與前一場形態學濾波處理后的運動向量,需要SDRAM對前一場形態學處理后的運動向量進行暫存。
2 VLSI設計與實驗結果
2.1 形態學運動估計的VLSI
基于形態學濾波處理的運動估計的處理流程圖如圖3所示。具體實施步驟為:①t與t-2場圖像分別通過兩行行存儲器和二級寄存器進行緩存,形成3×3的像素塊矩陣;②對3×3像素塊進行SAD計算;③通過比較SAD與運動閾值threshold判斷當前像素是否運動,得到運動向量;④對運動向量進行數學形態學濾波處理,依次進行腐蝕和膨脹處理;⑤形態學濾波處理后的當前場運動向量MV_c(i, j;t)與前一場運動向量MV_c(i, j;t-1)聯合求或,得到最終的運動向量MV_r(i, j;t)。
圖3 形態學運動檢測流程圖
在電路設計中采用外掛幀存儲器SDRAM實現t-1、t-2場視頻圖像和形態學處理后的前一場運動向量的存儲。本文設計的運動估計的VLSI總體架構如圖4所示,主要包括矩陣電路、多級加法器計算SAD、形態學濾波、幀存儲器、比較電路等。其中,矩陣電路是用來實現串行輸入并行處理。形態學濾波電路用來實現圖像的MV在結構元(3×3的像素塊)范圍內的像素進行取極值運算。幀存儲器用來存儲兩場視頻圖像、形態學處理后的前一場運動向量。
為實現運動估計中的3×3像素塊和數學形態學濾波中的3×3結構元素,需要把串行視頻信號轉換為并行的三行視頻信號,所以必須引入容量足夠大的行存儲單元緩存串行的視頻輸入數據。本文采用兩個高速低功耗FIFO(First In First Out)和二級D觸發器(DFF)實現視頻信號的延遲和像素的矩陣變換。輸入視頻數據流經過兩個行存儲器進行數據的行延時和二級DFF的像素點延時后,將實現3×3像素塊或3×3結構元素。其中,行存儲器由時序控制電路、讀寫控制電路和雙端口RAM組成。時序控制電路主要是在輸入視頻的行、場有效信號的觸發下控制讀寫控制電路和雙端口RAM。讀寫控制電路包括讀寫地址產生器和讀寫請求產生電路,與雙端口RAM結合完成視頻數據的存取。
圖4 運動檢測的整體結構框圖
在數學形態學濾波處理中,對通過串行輸入并行處理模塊實現的3×3濾波窗口中九個點的MV進行取極值運算就可實現形態學的腐蝕和膨脹處理,從而實現濾波。在電路上可以通過四級比較器的流水線結構實現,如圖5所示。
圖5 形態學濾波電路
2.2 實驗結果與分析
為了比較傳統運動估計算法和本文算法的性能,在實驗中,通過比較基于傳統運動估計算法和基于本文算法的去隔行處理效果來進行評估。圖6為分別采取兩種運動估計算法的去隔行處理效果。其中,圖6(a)為采用未進行形態學濾波處理的兩場運動估計的去隔行處理效果;(b)為采用形態學濾波處理的四場運動估計的去隔行處理效果。
在圖6中,由于鐘擺是快速運動的區域,運動自適應地去隔行處理需要采取場內插值的算法。如果由于噪聲和兩場運動估計等因素的影響造成運動檢測不準,將其誤判為靜止區域而采取場合并等處理方式,將出現重影、鋸齒等缺陷,大大影響去隔行的效果,如圖6(a)所示。本文算法采用四場運動估計的方法來增強運動估計的魯棒性,并且對運動向量進行形態學濾波處理,從而削弱了噪聲影響,大大提高了運動估計的精度,準確地將鐘擺等運動區域識別出來。在去隔行處理中采取相應的場內插值處理,有效地消除了重影現象,并且圖像的邊緣更加銳化,如圖6(b)所示。
綜上所述,采用形態學濾波處理的運動估計算法克服了傳統算法精度不足的缺陷,取得了比較理想的處理效果。目前此算法和VLSI電路已經被成功地嵌入基于中芯國際0.18 μm CMOS的數字視頻處理芯片(DVP)中,工作時鐘頻率可達180 MHz以上。芯片板圖如圖7所示。
3 結束語
本文提出的基于數學形態學濾波處理的運動估計算法,大大抑制了在圖像傳輸和編/解碼過程中引入的噪聲影響,提高了運動估計的準確性。同時,在比較t與t-2場圖像SAD的基礎上增加對t-1和t-3場圖像SAD的考慮,增強了運動估計的魯棒性。本算法和VLSI電路設計已經成功通過流片驗證,并且取得了良好的處理效果。
本文中所涉及到的圖表、注解、公式等內容請以PDF格式閱讀原文。