張應均,劉一清,余 奔
(華東師范大學 信息科學技術學院,上海 200241)
雖然高清數字電視已經越來越普及,但仍然需要對傳統模擬信號進行兼容。傳統模擬標準如NTSC,PAL和SECAM等都包括了隔行掃描方式[1],而數字電視主要為逐行掃描方式,因此數字電視在接收傳統模擬信號時一定會進行隔行轉逐行變換。常用的去隔行算法可以分為空域法、時域法和混合法。空域算法直接在當前場插值得到缺失的行,而時域法涉及到了相鄰場之間的運算,混合法結合了空域和時域兩種方法的優勢。筆者分析了這3個方面幾種常見的去隔行算法,根據算法復雜度和處理效果折中考慮,提出了一種改進的、適于硬件實現的運動自適應去隔行算法。這個算法分別選擇了筆者提出的結合水平邊沿檢測的ELA算法作為運動圖像部分處理算法,并選擇場插值法作為靜止圖像部分處理算法。另外還提出一種新的運動檢測算法,使用了鄰域窗口內帶權重的4場隔場差值作為運動估計,并加入了一個簡單的2維中值濾波器濾除由于圖像噪聲而引起的運動檢測噪點。
去隔行算法可以分為空域法、時域法和混合法,常見的空域法有直接重復行法、行平均法和邊沿自適應平均法(Edge-based Line Average,ELA)[2-4]。 直接重復行法最為簡單,其通過直接重復行來獲得缺失行,但會帶來垂直分辨力的下降。而行平均法通過平均缺失行的上下兩行來得到缺失行,也會帶來垂直方向上的模糊和物體邊緣鋸齒。ELA算法根據圖像中沿信息來進行行插值,可以消除行平均法帶來的物體邊緣鋸齒失真。時域方法涉及到了相鄰場之間的運算,常見方法有場混合法和場插值法。這兩種方法都是利用相鄰奇偶場插值得到逐行輸出場,場混合法采用相鄰場兩兩合并的方法。而場插值法則根據多個相鄰場線性插值的方法得到缺失行,其處理效果優于場混合法。時域法的優點是保證了圖像的垂直分辨力,其缺點是對于運動圖像會產生錯位鋸齒失真。混合法有VT中值濾波法[5-6],運動自適應去隔行算法[2-9]以及復雜度最高的運動補償去隔行算法[1]。混合法結合了空域法和時域法各自的優勢,具有更好的處理效果。
考慮實現成本和處理效果,采用運動自適應去隔行算法來進行隔行轉逐行變換。其算法框圖如圖1所示[2-9],主要包括運動檢測算法以及場內插值算法(空域)和場間插值算法(時域)3個部分。運動檢測算法對圖像進行運動檢測,然后根據檢測結果K去處理選擇場內插值算法和場間插值算法得到缺失行,最后與當前場已有行交織以實現逐行輸出。這里的fo為輸出函數,它可以是一個選擇函數,根據K值是否超過閾值來選擇輸出哪種算法結果;同時它也可是一個非線性函數[3],根據K值處理兩個算法對輸出的貢獻比例。這樣處理的結果既利用了時域算法保證垂直分辨力的優點,又用空域算法避免了時域算法在處理運動圖像上的不足。

圖1 運動自適應去隔行算法框圖
設計運動自適應去隔行算法的關鍵就是圖1中3個算法的設計,以及選擇合適的輸出函數fo。對于基于空域的場內插值算法的選擇,傳統的ELA算法選擇最小方向差為插值方向,但是這種算法的缺點是對于圖像中的水平邊沿會出現邊沿誤判,從而導致失真[7]。目前改進ELA的一個方向是增大計算方向差的窗口,但是并不能完全消除對水平邊沿的誤判。筆者提出了一種結合水平邊沿檢測的改進型ELA算法(見圖2)。

圖2 結合了水平邊沿檢測的ELA算法
圖2為插值場的一部分,其中Pn為正在處理的待插值像素,點a~j為其上下相鄰行的10個像素點。為了能夠判斷出水平邊沿,則需要計算上下兩行像素點的垂直差和上下兩行行內的水平差,若垂直差遠大于水平差則為水平邊沿的可能性就大。垂直方向差和水平方向差定義為

式中:4c和4h是考慮臨近點權重更大,且中心對稱。其中VD越大表示水平邊沿的可能性越大,而HD越大表示垂直邊沿的可能性越大。文中取VD>4HD,則判定插值像素部分為水平邊沿。
定義方向差如式(3)所示,若DMIN為方向差最小值,則定義PELA如式(4)所示,即窗口擴展了的傳統ELA算法結果。算法最終的輸出如式(5)所示。

由于算法首先判斷了圖像是否為水平邊沿,因此可以在一定程度上避免傳統ELA對圖像水平邊沿的不足。另外通過把檢測窗口上下兩行由原來的各3個像素擴展到各5個像素,使得方向檢測擴展到約26°~154°,接近水平的邊沿得到更準確方向的插值。雖然這個算法實現起來要比行平均法復雜,但總的來說實現成本并不高。
對于時域的場間插值算法,使用場插值法,其算法描述如圖3所示。從圖中可以看出場混合法其實是將待插場前后兩場的行數據進行平均而得到缺失行。這種輸出的特點既保證了圖像的垂直分辨力,又使得幀率提高1倍,減少圖像畫面的閃爍,而且其硬件也比較容易實現。

圖3 場插值法
運動檢測算法對于運動自適應去隔行算法來說是至關重要的,因為只有準確檢測出圖像的運動狀態才能選擇合適的插值方法以獲得好的處理效果。運動自適應去隔行算法的運動檢測可以既為運動塊檢測,也可以為逐個像素點檢測[8],文中采用處理效果較好的逐點檢測。一般的運動檢測算法采用相鄰場相鄰像素的差作為運動值估計。對于傳統模擬信號經視頻接口芯片采樣后的數字信號,只使用亮度信號來作運動檢測依據。理由有3點:一是模擬視頻傳輸過程中色度信號傳輸帶寬低,相對亮度信號包含噪聲多;二是亮度信號已經包含了紅綠藍3個色彩分量的信息,且人眼對其更為敏感;三是可以減少硬件實現成本。同時由于傳統模擬信號中往往帶有噪聲,這些噪聲使得靜止圖像的相鄰場也有差值存在。因此運動檢測算法不能只是簡單地根據相鄰場差值來判定圖像運動狀態,而需要一定的濾波處理來減小誤判噪點。運動檢測算法框圖如圖4所示。

圖4 運動檢測算法
為了實現運動檢測,使用相鄰4場數據進行檢測。參考文獻[7]中,使用了相隔場和相鄰場來計算場差值。這樣做的缺點是會由于相鄰場插值后再做場差值而引入誤差[9]。筆者參考了文獻[8]~[9]所使用的方法,使用相隔場計算場差值。由于場差值直接從原始相隔場數據得到,因此避免了因插值而引入的誤差。運動檢測算法如圖5所示。其中Fn場內的灰色像素點為當前插值像素點,其圖像坐標為(i,j)。取其周圍3×3的領域作為隔場差值的計算窗口。

圖5 運動檢測數據
定義隔場差值如式6所示。FDxy表示窗口內(x,y)坐標處的兩相鄰隔場的場差值。定義窗口總場差值FD如式7所示。窗口總差值為窗口元素場差值矩陣與其對應權重矩陣的點積。權重矩陣內中心值最大,靠邊逐漸變小,表示其對當前像素點的運動估計貢獻為中心最大,邊上最小。窗口總場差值的數值越大表示當前像素為運動狀態的可能性越大。

運動檢測的輸出窗口總場差值FD傳輸給二值化模塊,其根據FD的大小是否超過設置好的閾值FDT,來判定當前像素為運動像素(1),還是靜止像素(0)。由于誤判為運動的后果小于誤判為靜止,取FDT為1/8倍的像素亮度最大值。由于圖像中存在的噪聲會引起一些誤判,因此二值化后的數據最后經過1個3×3的二維中值濾波器(也可稱為中值圖像濾波器)進行濾除噪聲處理。這個二維中值濾波器實際為大數濾波器,當窗口內1的個數大于等于5時,則輸出值為1,表示當前像素為運動狀態。
為了獲得幀內去隔行算法對隔行圖像的處理結果,先對去隔行算法常用的美國國旗照片進行處理測試。測試時使用Matlab讀入照片,并進行去隔行處理。然后分別用ELA和本文提出的結合了水平邊沿檢測的ELA算法進行插值處理,最后輸出。利用Matlab視頻圖像處理包里提供的峰值信噪比(Peak Signal to Noise Ratio,PSNR)工具,計算得到的3種插值算法的處理后與原圖的PSNR如表1所示。從圖6中看出,本文算法對旗面上水平邊沿的處理效果要優于ELA算法。

表1 各插值算法PSNR

圖6 3種圖像對比
對文中提出的運動檢測模塊的測試,筆者使用Mat?lab中的vipmen視頻進行檢測。通過Matlab提供的視頻圖像處理包工具,獲取vipmen第5秒的4幀圖像(此時圖像為一男子從屏幕右邊走入),然后根據本文算法進行處理。處理結果如圖7所示,其中中間圖像為運動檢測模塊檢測出的二值化圖像,白色部分表示運動物體。由于圖像噪聲的影響,可以看到很多錯誤檢測噪點。在經過了一個3×3的中值圖像濾波器后,大部分錯誤噪點被濾除。注意對一些大塊的錯誤檢測并不能通過中值濾波器消除,同時男子身體部分也存在大塊未被檢測出的區域。但從整體處理效果上來看,本文的運動檢測算法可以滿足運動自適應去隔行算法的要求。

圖7 3種處理結果
在總結各種去隔行算法的基礎上,對運動自適應去隔行算法中的空域場內插值算法和運動檢測算法做了改進。其中針對傳統ELA算法對圖像水平邊沿處理的不足,添加了水平邊沿檢測,并加大了ELA窗口,使得其能適應角度更大的沿。另外,提出了一種新的運動檢測算法,使用了領域窗口內帶權重的4場隔場差值作為運動估計,并利用2維中值濾波器濾除由于圖像噪聲而引起的運動檢測噪點。仿真測試結果顯示筆者提出的以上兩種算法處理效果與以往算法相比都有所提升,且算法簡單,易于實現。
[1]JACK K.視頻技術手冊[M].5版.楊征,田尊華,張杰良,等,譯.北京:人民郵電出版社,2009.
[2]TAI S C, YU C S,CHANG F J.A motion and edge adaptive deinterlacing algorithm[C]//Proc.2004 IEEE International Conference on Multimedia and Expo.[S.l.]:IEEE Press,2004:659-662.
[3]SHAHINFARD E,SIDAHMED M A,AHMADI M.A motion adaptive deinterlacing method with hierarchical motion detection algorithm[C]//Proc.15th IEEE International Conference on Image Processing.[S.l.]:IEEE Press,2008:889-892.
[4]楊宇紅,張文軍,董云朝.一種自適應去隔行算法及其電路設計[J].數據采集與處理,2004(3):334-337.
[5]羅寧,方向忠,張文軍.便于硬件實現的去隔行算法研究[J].電視技術,2004(10):8-10.
[6]李成奇,何云斌.基于FPGA優化運動檢測去隔行算法的設計[J].哈爾濱理工大學學報,2008(5):67-70.
[7]JUNG Y Y,YANG S,YU P.An effective de-interlacing techniques using two types of motion information[J].IEEE Transactions on Consumer Electronics,2003,49(3):493-498.
[8]SUN Hongbin,ZHENG Nanning,GE Chenyang.An efficient motion adaptive de-interlacing and its VLSI architecture design two types of motion iInformation[C]//Proc.IEEE Computer Society Annual Symposium on VLSI.[S.l.]:IEEE Press,2008:455-458.
[9]SHAHINFARD E,SIDAHMED M,AHMADI M.An improved motion a daptive deinterlacing method using variableblock-sizemotion detection[C]//Proc.2007 IEEE International Symposium on Signal Processing and Information Technology.[S.l.]:IEEE Press,2007:122-126.