《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 可編程邏輯 > 業(yè)界動(dòng)態(tài) > 應(yīng)用于工業(yè)監(jiān)控的視頻增強(qiáng)處理算法的FPGA實(shí)現(xiàn)

應(yīng)用于工業(yè)監(jiān)控的視頻增強(qiáng)處理算法的FPGA實(shí)現(xiàn)

2009-03-02
作者:孫秀芳1,劉 澤2,王 雯3

??? 摘? 要: 應(yīng)用VerilogHDL在FPGA中實(shí)現(xiàn)了視頻增強(qiáng)算法,設(shè)計(jì)了視頻增強(qiáng)算法所需的輔助功能,包括視頻編解碼控制、SRAM訪問仲裁控制及色度空間變換控制,用Matlab進(jìn)行了視頻增強(qiáng)的仿真,優(yōu)化了視頻增強(qiáng)算法的參數(shù)。?

??? 關(guān)鍵詞: 工業(yè)監(jiān)控;視頻增強(qiáng);視頻識(shí)別;數(shù)字視頻;色度空間變換?

?

??? 視頻監(jiān)控得以廣泛應(yīng)用的主要條件是網(wǎng)絡(luò)帶寬、計(jì)算機(jī)處理能力和存儲(chǔ)容量的迅速提高以及各種視頻信息處理技術(shù)的涌現(xiàn)[1],。但目前絕大部分視頻監(jiān)控應(yīng)用缺乏對(duì)所記錄視頻數(shù)據(jù)的深層處理,其原因是目前視頻數(shù)據(jù)主要靠人工監(jiān)視分析,人工無法應(yīng)對(duì)大量、實(shí)時(shí)的視頻數(shù)據(jù)[2],。所以市場迫切呼喚實(shí)用的視頻識(shí)別技術(shù)[3],網(wǎng)絡(luò)巨頭Google已經(jīng)在視頻識(shí)別上大量投入,時(shí)代華納,、迪士尼也正在合作開發(fā)新的視頻識(shí)別應(yīng)用,微軟也宣布將把視頻識(shí)別技術(shù)應(yīng)用于最新的XBOX游戲引擎,讓用戶體驗(yàn)全新的“自然控制方式”,。但不管采用何種算法,視頻質(zhì)量是影響視頻識(shí)別的最重要因素,特別是一些高速工業(yè)監(jiān)控,、交通流監(jiān)控,原始視頻質(zhì)量不易提高,而視頻增強(qiáng)處理是后期提升視頻質(zhì)量的有效手段,。本文論述視頻增強(qiáng)處理算法的高速實(shí)現(xiàn)方法,即使用現(xiàn)場可編程邏輯器件FPGA的并行邏輯處理能力實(shí)時(shí)實(shí)現(xiàn)視頻增強(qiáng)處理的各個(gè)環(huán)節(jié),為后期視頻識(shí)別應(yīng)用提供在線數(shù)據(jù)前處理。?

1 視頻增強(qiáng)處理系統(tǒng)硬件結(jié)構(gòu)?

??? 視頻增強(qiáng)對(duì)硬件處理速度的要求較高,使用傳統(tǒng)的單CPU或DSP很難獲得較高性價(jià)比,而FPGA由于內(nèi)部集成了多個(gè)可并行工作的高速有符號(hào)乘法器而在視頻處理中具有明顯的優(yōu)勢,。FPGA中資源控制的靈活性和并行特點(diǎn)體現(xiàn)在并行邏輯運(yùn)算、并行多SRAM訪問控制和外圍模擬信號(hào)解碼器件接口的并行控制上,。為快速實(shí)現(xiàn)并驗(yàn)證本文所述視頻增強(qiáng)處理的效果,使用了Xilinx公司的FPGA多媒體開發(fā)板(Microblaze & Multimedia Demonstration Board,No.0381112)[4],。開發(fā)板集成了測試所用的所有硬件資源,其總體結(jié)構(gòu)如圖1所示。?

?

?

??? 開發(fā)板核心器件為Xilinx公司的FPGA芯片Vertex-II(XC2V2000),還包含了多媒體和人機(jī)接口所用的外圍器件,包括視頻輸入采集芯片,、視頻輸出驅(qū)動(dòng)芯片,、外圍SRAM存儲(chǔ)器、AC97音頻編解碼器,、以太網(wǎng)接口,、RS232接口、LED指示燈和鍵盤接口。FPGA的配置采用可進(jìn)行多版本控制的CF卡為存儲(chǔ)介質(zhì),配置芯片為Xilinx SystemACE,。所有的視頻增強(qiáng)處理和與外圍器件接口的功能使用硬件描述語言VerilogHDL開發(fā),VerilogHDL代碼經(jīng)編譯后使用JTAG調(diào)試器下載到XC2V2000芯片中,同時(shí)也可使用CF卡存儲(chǔ)8份測試代碼進(jìn)行自動(dòng)加載,分版本調(diào)試,開發(fā)板上沒有CPU,所有的邏輯處理由FPGA實(shí)現(xiàn),。板上還配置了5塊NtSRAM(型號(hào)K7N163601M),NtSRAM是三星公司推出的無周轉(zhuǎn)隨機(jī)存儲(chǔ)器,即讀寫采用單周期操作,提高了存取速度。每塊NtSRAM都用單獨(dú)的地址總線,、數(shù)據(jù)總線和控制總線直接與FPGA連接,保證了5個(gè)SRAM可同時(shí)作為視頻高速緩存區(qū)使用,保證了并行性,。K7N163601M為100引腳芯片,5片SRAM消耗了480條FPGA引腳,XC2V2000共有896條引腳。開發(fā)板提供的視頻編解碼器件也為算法驗(yàn)證提供了條件,。?

2 視頻增強(qiáng)處理算法的Matlab仿真?

??? 視頻增強(qiáng)處理算法分為7部分,分別為視頻運(yùn)動(dòng)補(bǔ)償,、幀內(nèi)圖像的邊緣銳化、數(shù)字亮度瞬態(tài)增強(qiáng),、數(shù)字色彩瞬態(tài)增強(qiáng),、亮度對(duì)比度調(diào)整、色度飽和度調(diào)整,、黑級(jí)擴(kuò)展,。這些處理在測試系統(tǒng)中需要并行進(jìn)行,以保證視頻流的實(shí)時(shí)性。為驗(yàn)證視頻增強(qiáng)算法的可行性,在進(jìn)行VerilogHDL設(shè)計(jì)實(shí)現(xiàn)之前進(jìn)行了Matlab仿真,。仿真程序使用Matlab的圖形界面開發(fā)環(huán)境GUIDE(Graphic User Interface Development Environment)完成,實(shí)現(xiàn)的視頻增強(qiáng)功能模塊如圖2所示,其中只有視頻運(yùn)動(dòng)補(bǔ)償沒有進(jìn)行仿真,。?

?

?

??? 圖2所示各處理環(huán)節(jié)的功能描述如表1所示。其中峰值濾波算法實(shí)現(xiàn)方法如下:以同一行內(nèi)5個(gè)像素點(diǎn)YUV色度空間的亮度信號(hào)Y為周期,編號(hào)為Y0,Y1,Y2,Y3,Y4,分別設(shè)計(jì)低通,、帶通和高通濾波器YLP,YBP,YHP:?

??? YLP=(Y0+4×Y1+6×Y2+4×Y3+Y4)/16?????????????????????? (1)?

??? YBP=(-Y0+2×Y2-Y4)/8?????????????????????????????????? (2)?

??? YHP=(Y0-4×Y1+6×Y2-4×Y3+Y4)/16?????????????????????? (3)?

??? 峰值濾波器的輸出為:?

??? Y2′=Y2+fC(YHBPS)????????????????????????????????????? (4)?

??? 其中:YHBPS=kbp×YBP+khp×YHP-YBP-YHP?

???????? kbp=kbpw/2(klp)?

???????? khp=khpw/2(klp)?

?????

式中khpw是高通濾波系數(shù),kbpw是帶通濾波系數(shù),klp是低通濾波系統(tǒng),Ygate是濾波輸出閾值,。?

??? 視頻增強(qiáng)算法中黑級(jí)擴(kuò)展算法如公式(6)所示,當(dāng)亮度低于一個(gè)域值時(shí),輸出亮度信號(hào)迅速減小,表現(xiàn)為黑到一定程度后的黑色變得更黑。?

??????

其中Yin為輸入亮度信號(hào),k為黑級(jí)擴(kuò)展比例系數(shù),YGate為擴(kuò)展閾值,。?

?

?

??? Matlab仿真軟件界面如圖3所示,其中峰值濾波器,、DLTI、DCTI,、亮度對(duì)比度調(diào)整,、色度飽和度調(diào)整、黑級(jí)擴(kuò)展6部分增強(qiáng)算法的系數(shù)都可以動(dòng)態(tài)調(diào)整來觀察增強(qiáng)的效果,從而確定最佳增強(qiáng)參數(shù),。為測試對(duì)不同類型視頻圖像的增強(qiáng)效果,軟件中設(shè)計(jì)了圖像選擇功能,備選圖像中有加入各種噪聲和模糊化的測試圖像,仿真測試表明,當(dāng)參數(shù)調(diào)整合適后,增強(qiáng)效果明顯,。?

?

?

3 視頻增強(qiáng)處理算法的VerilogHDL設(shè)計(jì)?

??? 測試視頻增強(qiáng)所用視頻信號(hào)源由DVD播放機(jī)提供,模擬視頻信號(hào)通過S端子接入開發(fā)板,通過ADV7185解碼成數(shù)字視頻信號(hào)接入FPGA,數(shù)字視頻信號(hào)經(jīng)過增強(qiáng)處理后由FMS3810視頻DAC轉(zhuǎn)換為模擬視頻信號(hào),輸出到SVGA顯示器進(jìn)行觀察。SVGA輸出僅測試時(shí)使用,當(dāng)視頻增強(qiáng)系統(tǒng)作為視頻識(shí)別前處理方式工作時(shí),增強(qiáng)的數(shù)字視頻信號(hào)將以數(shù)字方式直接傳輸?shù)揭曨l識(shí)別單元,。視頻增強(qiáng)處理算法充分利用了Vertex-II的并行數(shù)字信號(hào)處理功能,XC2V2000集成了56個(gè)18bit高速有符號(hào)乘法器和336KB快速分布式RAM,便于實(shí)現(xiàn)各種增強(qiáng)算法的并行處理和數(shù)據(jù)緩沖,。視頻增強(qiáng)算法及其輔助處理的VerilogHDL實(shí)現(xiàn)結(jié)構(gòu)如圖4所示,格式為CCIR601標(biāo)準(zhǔn)的視頻信號(hào)經(jīng)輸入解碼處理后存儲(chǔ)于三個(gè)NtSRAM緩沖區(qū)。視頻增強(qiáng)系統(tǒng)中設(shè)置一個(gè)行緩沖區(qū),采用FPGA內(nèi)部集成的分布式雙端口SRAM實(shí)現(xiàn),NtSRAM顯示緩沖區(qū)中的數(shù)據(jù)被逐行傳輸?shù)叫芯彌_區(qū)中,三個(gè)NtSRAM緩沖區(qū)由三個(gè)對(duì)應(yīng)的控制器管理,數(shù)據(jù)需要通過讀請(qǐng)求獲得,。讀請(qǐng)求控制功能由圖4中的數(shù)據(jù)請(qǐng)求控制模塊實(shí)現(xiàn),當(dāng)此模塊在消隱期獲得經(jīng)過同步了的NtSRAM緩沖區(qū)就緒信號(hào)后,開始選定這一緩沖區(qū),并產(chǎn)生數(shù)據(jù)讀請(qǐng)求信號(hào),。然后NtSRAM控制器按照請(qǐng)求信號(hào)的目的地址、源地址和數(shù)據(jù)長度將顯示數(shù)據(jù)送到行緩沖區(qū)SRAM中,。行緩沖區(qū)中的數(shù)據(jù)按照顯示器輸出信號(hào)的時(shí)序輸出,即在每個(gè)有效行產(chǎn)生行緩沖區(qū)的連續(xù)增量地址信號(hào),將YUV像素信號(hào)讀出,再送入圖像增強(qiáng)模塊,圖像增強(qiáng)模塊的輸出信號(hào)送入YUV-RGB轉(zhuǎn)換模塊中,然后將RGB信號(hào)接到SVGA驅(qū)動(dòng)器FMS3810的D/A中,產(chǎn)生模擬的顏色信號(hào),。其中顯示時(shí)序控制由SVGA時(shí)序控制模塊產(chǎn)生,。?

?

?

??? 圖4中YUV信號(hào)是位寬為8bit的數(shù)字信號(hào),其編碼格式符合數(shù)字演播室標(biāo)準(zhǔn)ITU- RRec.BT601。YUV信號(hào)經(jīng)色度空間變換算法轉(zhuǎn)換為RGB信號(hào),輸出到SVGA,顯示像素時(shí)鐘頻率為54MHz,。實(shí)現(xiàn)上述功能的硬件時(shí)間延遲為6個(gè)時(shí)鐘周期,其速度是使用嵌入式處理器或單個(gè)DSP系統(tǒng)難以實(shí)現(xiàn)的,。?

??? 本文應(yīng)用VerilogHDL硬件描述語言在Xilinx的XC2V2000-FPGA中實(shí)現(xiàn)了視頻增強(qiáng)算法。經(jīng)使用不同畫質(zhì)的視頻碟片用DVD播放器作為信號(hào)源進(jìn)行測試,視頻增強(qiáng)效果明顯,可為后期視頻識(shí)別提供較好的信息基礎(chǔ),。在算法實(shí)現(xiàn)中,Matlab軟件仿真對(duì)視頻增強(qiáng)算法的參數(shù)優(yōu)化起到了決定性作用,凸顯了仿真對(duì)系統(tǒng)實(shí)現(xiàn)的指導(dǎo)作用,。?

參考文獻(xiàn)?

[1] 阮秋琦.數(shù)字圖像處理學(xué).北京:電子工業(yè)出版社,2001.?

[2] TEKALP A.M著;崔之祜,江春,陳麗鑫譯.數(shù)字視頻處理.北京:電子工業(yè)出版社,1998.?

[3] BENNETT Eric P,Leonard McMillan,Video enhancement using per-pixel virtual exposures,Proceedings of ACM SIGGRAPH 2005(NY,USA),2005,124(3).?

[4] Data Sheets of Virtex-II FPGA XC2V2000.Xilinx Corporation,2002.
本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,,并不代表本網(wǎng)站贊同其觀點(diǎn),。轉(zhuǎn)載的所有的文章、圖片,、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有,。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認(rèn)版權(quán)者。如涉及作品內(nèi)容,、版權(quán)和其它問題,,請(qǐng)及時(shí)通過電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,,避免給雙方造成不必要的經(jīng)濟(jì)損失,。聯(lián)系電話:010-82306118;郵箱:[email protected],。