隔行掃描電視新的三場信息綜合去隔行算法
摘要:在分析傳統(tǒng)運動自適應(yīng)去隔行算法缺點的基礎(chǔ)上,提出三場運動檢測自適應(yīng)去隔算法。該算法對緩存的三幀圖像做幀間差值計算、場間插值計算和BPP值計算,將三類計算值做數(shù)學(xué)處理后和運動閾值比較,判斷出運動區(qū)域,提升檢出大運動區(qū)域能力,最大限度地消除背景噪聲影響,同時簡化了計算量,大大降低了硬件成本。
本文引用地址:http://cafeforensic.com/article/201604/290275.htm引言
隨著信息高速公路以及互聯(lián)網(wǎng)的發(fā)展,廣播電視在全球范圍內(nèi)普及開來。不同時期、不同領(lǐng)域出現(xiàn)的電視信息有多種格式,如早期彩色電視的PAL、NTSC和SCREAM制式;近期數(shù)字電視的DVB(歐洲)、ATSC(美國)和ISDB(日本);以及數(shù)字電視的SDTV(標清電視)和HDTV(高清電視)等。格式多樣化的存在不可避免地提出了解決電視信號格式間轉(zhuǎn)換的新課題[1-2]。
盡管電視信號格式種類多,但就其源頭來說不同之處不外乎三方面:掃描的隔行與逐行的不同、幀頻與場頻的不同以及圖像顯示的高寬比不同[3]。老式模擬電視采用隔行掃描系統(tǒng),新式數(shù)字電視都要求逐行掃描,以提高圖像的質(zhì)量,獲得更好的觀看效果。于是就產(chǎn)生了將老式隔行信號去隔行的算法,并在去隔行的同時,盡可能地彌補圖像動態(tài)區(qū)域的扭曲,以得到好一些的視覺效果。本文所述是一種改進的去隔行新算法。
1 運動自適應(yīng)去隔行算法
目前業(yè)界公認的較好的去隔行算法是運動補償或自適應(yīng)算法。去隔行算法的關(guān)鍵環(huán)節(jié)是要找出能夠正確區(qū)分圖像運動部分和靜止部分的檢測方法,不正確的檢測方法會對圖像質(zhì)量造成負面影響。
去隔行的檢測方法有很多,各有優(yōu)缺點。場間插值檢測法是基于像素點的檢測法,它能夠檢測出快速運動區(qū)域,不會將其誤判為靜止區(qū)域,但容易把靜止區(qū)的垂直邊緣誤判為運動區(qū)域;幀間差值是另一種基本的運動檢測算法,它可以正確地判斷出圖像當中的靜止區(qū)域,但對快速運動區(qū)域的檢測能力卻有所不足;四場水平運動檢測算法是通過緩存4幀圖像,綜合比較其運動差異的一種運動檢測算法,其圖像運動部分的邊沿部分檢測效果很好,但對大片運動區(qū)域檢測時容易出現(xiàn)錯誤,造成大片的運動丟失,同時其算法較為復(fù)雜,占用資源多;BPP(Brightness Profile Pattern Difference)運動檢測算法是用相鄰幀對應(yīng)像素亮度差值和BPP插值進行運動檢測的算法。它其實也是緩存了四場圖像,同時采用中值濾波算法進行像素級濾波,效果較好,但是對運動區(qū)域邊緣檢測效果不好,容易出現(xiàn)噪點,并且算法復(fù)雜,資源占用多。
針對上述運動自適應(yīng)去隔行的缺點,本文提出了一種基于三場運動檢測方法。該方法對場間插值和幀間差值均做了比較,既可以檢測出比較快的運動,避免把運動區(qū)域誤判為靜止區(qū)域,同時也能夠正確地判斷出圖像當中的靜止區(qū)域,很好地避免了單獨使用幀間差值法或者場間插值法帶來的缺陷。在該檢測方法中,還引入了BPP運動檢測法,大大增加了大面積運動檢測能力。同時針對處理后的結(jié)果,選擇性地進行二值形態(tài)學(xué)處理,對消除背景噪聲起到了很大作用。
2 三場檢測去隔行算法
本文提出的基于三場運動檢測的去隔行算法,首先是通過三場運動檢測法把運動區(qū)域判斷出來;然后根據(jù)三場運動檢測結(jié)果,選擇場內(nèi)插值或者場間插值的方法,輸出插入場。場交織模塊把當前場和插入場進行交織,最終輸出去隔行視頻數(shù)據(jù)。
去隔行算法的具體架構(gòu)見圖1。隔行模擬信號CVBS或S-video輸出到解碼芯片后,經(jīng)過解碼輸出BT.656格式的隔行數(shù)字信號。解碼芯片外接SDRAM是為了能夠?qū)?a class="contentlabel" href="http://cafeforensic.com/news/listbylabel/label/視頻">視頻信號進行3D降噪和5線梳狀濾波,提高輸出的數(shù)字視頻質(zhì)量。外圍電路包括電源模塊和FPGA并行加載模塊等,為去隔行系統(tǒng)的運行提供必要的支持。隔行數(shù)字信號進入FPGA內(nèi)部后,分成四路,分別進入幀緩存模塊、場內(nèi)插值模塊、場間插值模塊和場交織模塊。幀緩存模塊內(nèi)部集成了DDR2控制器,實現(xiàn)對DDR2的讀寫控制,同時緩存前場和后場,輸出給三場運動檢測模塊。三場運動檢測模塊對三場數(shù)據(jù)進行檢測,輸出檢測結(jié)果。場內(nèi)插值模塊對場內(nèi)數(shù)據(jù)進行插值,場間插值模塊運行場間插值算法。運動判決模塊根據(jù)三場運動檢測結(jié)果,選擇場內(nèi)插值或者場間插值,輸出插入場。場交織模塊把當前場和插入場進行交織,最終輸出去隔行視頻數(shù)據(jù)。
由圖1知,這種運動自適應(yīng)去隔行算法中關(guān)鍵點是基于三場運動檢測方法。該運動檢測是否正確,關(guān)系到逐行數(shù)據(jù)輸出的質(zhì)量。為了能正確地檢測圖像是否運動,我們首先緩存三場的圖像數(shù)據(jù),如圖2所示,分別是fn場、fn的前場fn-1和后場fn+1。像素點X為待插值。
基于像素點的運動檢測,通常用場間插值或幀間差值作為運動檢測的輸入。場間插值可以檢測比較快速的運動,避免把運動區(qū)域誤判為靜止運動。我們先計算場間插值。
△f1=|kn-1-(in+jn)/2| (1)
△f2=|kn+1-(in+jn)/2| (2)
△f1為當前場和前場的場間插值,△f2為當前場和后場的場間插值。這兩個插值均可以作為運動檢測的輸入值。場間插值容易把靜止區(qū)域的邊緣判斷為運動區(qū)域,而采用幀間差值可以準確地判斷圖像中的靜止區(qū)域。因此,我們計算這三幀圖像的幀間差值△f3。
△f3=|kn+1-kn-1| (3)
考慮到大面積運動的檢測方面,用BPP(Brightness Profile Pattern Difference)運動檢測方法更能精確地檢測。BPP運動檢測方法[4]是運用相鄰幀對應(yīng)像素亮度和BPP插值進行運動檢測。定義△B為對應(yīng)像素亮度差值,定義△P為對應(yīng)像素點的BPP插值。定義BPP值P為:
Piln=in-iln (4)
Pirn=in-irn (5)
則可以根據(jù)圖1計算出相鄰幀對應(yīng)像素亮度和BPP插值。
△B=|kn+1-kn-1| (6)
△P=|Pkln-1-Pkln+1|+|Pkrn-1-Pkrn+1| (7)
從(3)式和(6)式可以看出,△f3=△B,取其一即可。同時,因為△P為BPP插值,與△B屬于不同類型,因此需要對兩種不同類型的插值取加權(quán)平均數(shù),α和β分別為其加權(quán)系數(shù)(α和β可由經(jīng)驗值給出)。用來判斷像素點運動信息的插值定義為Mx,Max()函數(shù)為取最大值函數(shù)。
Mx=Max(α△f1,α△f2,α△B,β△P) (8)
求出Mx后,引入視頻圖像運動信息估值Mij(Px),該函數(shù)是一個二值函數(shù),對視頻圖像運動部分標記為1,對視頻圖像靜止部分標記為0,Mij(Px)由式9決定:
(9)
式9中,Mth為運動檢測閾值。把幀間差值和場間插值結(jié)合起來做運動檢測,起到了彌補兩種檢測方法的缺點,對快速物體的運動和靜止圖像邊緣都起到了非常精確的檢測作用;結(jié)合BPP的檢測法,對大面積的運動圖像檢測也增加了檢測的可信度。由于相鄰幀的亮度差容易受噪聲影響,而BPP值對亮度非常敏感,因此需要對背景的椒鹽噪聲點進行進一步的處理。
為了消除椒鹽噪聲點的影響,接下來我們對Mij(Px)做后處理。通過上述方法處理后,Mij(Px)為一個二值運動圖像信息。因此可以通過二值形態(tài)學(xué)[5]的基本運算(如腐蝕或者膨脹)進行處理,但是單獨進行腐蝕或膨脹運算效果并不理想,我們這里根據(jù)視頻圖像特有的特性調(diào)整處理方法。
運動點判斷策略示意圖如圖3所示。在一個3×3的窗口內(nèi)進行判斷,圖中白點表示靜止像素點,黑點表示運動像素點,中心點是我們需要進行判斷的點。具體的策略描述如下:
1.如果當前待判點為運動點,如圖中a和b,將其相鄰8個點中運動點的個數(shù)和閾值Qth1(這里取值為4)比較,如果大于Qth1則為運動點,如圖中a;反之為靜止點,如圖中b;
2.如果當前待判斷點為靜止點,如圖中c和d,將其相鄰8個點中運動點的個數(shù)與閾值Qth2比較(這里取值為4),如果大于閾值,則為運動點,如圖中c;反之則為靜止點,如圖中d。
經(jīng)過形態(tài)學(xué)處理后的運動檢測信息在保持了正確運動檢測信息的同時,很好地消除了噪聲的干擾,能得到比較理想的結(jié)果。
在我們的生活中,一般運動圖像較多出現(xiàn)在視頻圖像的中央?yún)^(qū)域,而背景圖像出現(xiàn)在邊緣比出現(xiàn)在中央的幾率要大很多。為了減少計算的復(fù)雜程度,節(jié)省硬件資源,我們可以設(shè)定運動點判斷策略應(yīng)用區(qū)域。如圖4所示,在圖像邊緣設(shè)定寬度為X,高度為Y區(qū)域為運動點判斷策略采用區(qū)域,在實際運用過程中可以根據(jù)需要靈活設(shè)置X和Y的值。
3 實驗結(jié)果與分析
本文以FPGA為核心器件搭建了電路實驗平臺,并采用邏輯代碼實現(xiàn)了上述算法,從客觀和主觀兩方面對文中的算法進行評估??陀^上主要評估各個不同的去隔行算法的平均峰值信噪比PSNR和圖像相關(guān)性指標SSIM[6]。本文在搭建平臺上,對去隔行后的數(shù)據(jù)進行采集,連續(xù)采樣包含運動狀態(tài)的視頻圖像2秒,對數(shù)據(jù)進行分析后得出不同去隔行方法的PSNA和SSIM值,結(jié)果如表1所示。
從表1中可以看出,不同去隔行算法中的PSNR值,三場運動的去隔行算法值最大,這表示本文算法的平均峰值信噪比是最好的;SSIM是根據(jù)真實的圖像信息所具有的高度結(jié)構(gòu)化以及相鄰像素點之間所具有的強烈相關(guān)性進行計算,值越大表示相關(guān)性越好,在四種算法中,本文算法的值最大。因此,本文提出的去隔行算法比其他三種算法的PSNR和SSIM指標均略勝一籌。
4 結(jié)語
本文提出了一種基于三場運動檢測方法,對場間插值和幀間差值均做了比較,既可以檢測出比較快速的運動,避免把運動的區(qū)域誤判斷為靜止區(qū)域,同時也能夠正確地判斷出圖像當中的靜止區(qū)域,最大限度地避免了單獨使用幀間插值法或者場間插值法帶來的缺陷。在該運動檢測方法中,還引入了BPP運動檢測法,增加了大面積運動檢測的能力。同時針對處理后的結(jié)果,選擇性地進行二值形態(tài)學(xué)處理,對消除背景噪聲起到了很大作用。該種運動檢測方法只需要緩存三場數(shù)據(jù),通過一塊FPGA和外掛DDR即可實現(xiàn),不僅具備檢測速度快的優(yōu)點而且性價比高,非常適合商業(yè)運用。
參考文獻:
[1]李寶魁,姚素英,張濤,視頻格式轉(zhuǎn)換芯片中的去隔行系統(tǒng)設(shè)計[J]. 電視技術(shù), 2005, 281(11): 35-37
[2]鄭永進,吳遁陵, 視頻格式轉(zhuǎn)換資源最小FPGA解決方案[J]. 電子器件, 2007,30(2): 679-682
[3]高晨明,李斌橋,姚素英, 視頻格式轉(zhuǎn)換芯片研究[J]. 電視技術(shù), 2006, 281(11): 30-32
[4]胡太平,史忠科, 基于視頻的快速運動檢測方法及其應(yīng)用研究[J]. 計算機應(yīng)用研究, 2005,22(12): 145-146
[5]谷學(xué)靜, 李宗輝, 基于數(shù)學(xué)二值形態(tài)學(xué)的車牌定位與字符分割[J]. 河北聯(lián)合大學(xué)學(xué)報:自然科學(xué)版, 2013,35(2): 85-89
[6]佟雨兵,張其善,祁云平,基于PSNR與SSIM 聯(lián)合的圖像質(zhì)量評價模型[J]. 中國圖像圖形學(xué)報, 2006, 12(11): 1758-1763
本文來源于中國科技期刊《電子產(chǎn)品世界》2016年第4期第37頁,歡迎您寫論文時引用,并注明出處。
評論