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