陶佳麗 丁啟鳳 許強(qiáng) 趙希宇 姜志鵬
摘 要:利用攝像頭獲取監(jiān)控現(xiàn)場(chǎng)視頻信息,以FPGA為核心處理器,實(shí)現(xiàn)了一種視頻處理模塊。攝像頭采用了PMOD CAM-0.3M模塊,其傳感器為OV7670,硬件開(kāi)發(fā)平臺(tái)采用了Basys3,片上FPGA采用了Xilinx的Artix7芯片,使用Vivado為開(kāi)發(fā)軟件,根據(jù)背景差分算法,實(shí)現(xiàn)了對(duì)現(xiàn)場(chǎng)的實(shí)時(shí)視頻監(jiān)測(cè)。
關(guān)鍵詞:FPGA核心處理器; 視頻監(jiān)測(cè)
中圖分類(lèi)號(hào):TP23? ? ? ? ? ? 文獻(xiàn)標(biāo)識(shí)碼:A? ? ? ? ? 文章編號(hào):1006-3315(2020)1-000-001
近年來(lái),隨著VLSI(Very large Scale Integration超大規(guī)模集成電路)技術(shù)的飛速發(fā)展,已能夠在FPGA(Field Programmable Gate Array,現(xiàn)場(chǎng)可編程門(mén)陣列)芯片中實(shí)現(xiàn)復(fù)雜算法,包括各類(lèi)視頻處理算法。本文介紹了一種基于FPGA的視頻監(jiān)測(cè)模塊的實(shí)現(xiàn)方法。
一、硬件設(shè)計(jì)
本視頻監(jiān)測(cè)系統(tǒng)的硬件模塊框圖如圖1所示。
如圖中所示,攝像頭采用的是PMOD CAM 0.3M攝像頭模塊,與FPGA接口時(shí),只提供了8位數(shù)據(jù)線,因此所采集的視頻數(shù)據(jù)應(yīng)分2次傳給FPGA。這種攝像頭模塊的其核心傳感器為OV7670,OV7670的內(nèi)部如圖2所示。
從圖2可以看出,OV7670的時(shí)序產(chǎn)生模塊負(fù)責(zé)產(chǎn)生所需的控制信號(hào),能夠控制圖像陣列和幀信號(hào)的產(chǎn)生,控制幀率的時(shí)序、產(chǎn)生VSYNC、HSYNC和PCLK等外部接口時(shí)所需的時(shí)序控制信號(hào)。模塊處理模塊實(shí)現(xiàn)自動(dòng)增益控制、自動(dòng)白平衡等級(jí)功能,其產(chǎn)生的RGB三色信號(hào),經(jīng)過(guò)后續(xù)的模/數(shù)轉(zhuǎn)換模塊ADC轉(zhuǎn)換為所需的數(shù)字信號(hào),其轉(zhuǎn)換速度最高可達(dá)到12MHz[1]。
本次設(shè)計(jì)中采用了Basys3開(kāi)發(fā)平臺(tái),平臺(tái)上所用的FPGA芯片為XILINX的Artix7系列,如圖1所示,其具體型號(hào)為XC7A35T-1CPG236C[2]。該芯片擁有33,280個(gè)邏輯單元,分布于5200個(gè)區(qū)域中,每個(gè)區(qū)域中還提供了6輸入查找表和8個(gè)觸發(fā)器,另外還有,800 Kbits的快速RAM,資源比較豐富,能滿(mǎn)足一般性的小型系統(tǒng)需求。
二、軟件設(shè)計(jì)
1.SCCB總線初始化
圖2中右下角的SCCB接口,全稱(chēng)為Serial Camera Control Bus,屬于一種串行攝像頭控制接口。OV7670采用了2線式SCCB接口,接口的時(shí)鐘線和數(shù)據(jù)線分別是SIO_C和SIO_D,只能接收來(lái)自FPGA的數(shù)據(jù)。對(duì)SCCB接口進(jìn)行配置的仿真結(jié)果如圖3所示。
2.背景差分算法
為了能夠?qū)ΡO(jiān)測(cè)現(xiàn)場(chǎng)進(jìn)行自動(dòng)監(jiān)測(cè),本次設(shè)計(jì)采用了較簡(jiǎn)便的背景差分法。所謂背景差分法,是指首先存儲(chǔ)一張正常情況下的圖像作為背景數(shù)據(jù),然后在監(jiān)測(cè)過(guò)程中,將攝像得到的畫(huà)面,與背景數(shù)據(jù)進(jìn)行差分運(yùn)算。如果監(jiān)測(cè)現(xiàn)場(chǎng)沒(méi)有發(fā)生任何顯著變化,則攝像所得到的畫(huà)面與背景進(jìn)行差分后大部分像素位置參數(shù)正常。考慮到實(shí)際工程中存在著非入侵情況下的攝像現(xiàn)場(chǎng)畫(huà)面的細(xì)微變化,因此在設(shè)計(jì)時(shí),設(shè)置了門(mén)限,當(dāng)差分值異常的像素位置總數(shù)不大于門(mén)限時(shí),均認(rèn)為監(jiān)測(cè)現(xiàn)場(chǎng)屬于正常情況。
本次設(shè)計(jì)進(jìn)行差分計(jì)算的部分代碼如下:
always@(posedge clk)
begin
if(rst) outd<=0;
else? ?if (dinA>dinB) odata<=dinA-dinB;
else? ? outd<=dataB-dataA;
end
三、結(jié)論
本文以FPGA為核心控制芯片,將攝像頭所采集的視頻數(shù)據(jù)與背景圖片進(jìn)行差分計(jì)算,根據(jù)差分計(jì)算的結(jié)果判斷所監(jiān)測(cè)現(xiàn)場(chǎng)的情況,充分利用了FPGA芯片強(qiáng)大的可編程功能和豐富的內(nèi)部資源。在其他場(chǎng)合,當(dāng)所需視頻分辨力較高時(shí),可選用分辨率更高的攝像頭,并配以更復(fù)雜的監(jiān)測(cè)算法,以達(dá)到更佳的設(shè)計(jì)效果。
基金:金陵科技學(xué)院2018年大學(xué)生創(chuàng)新訓(xùn)練計(jì)劃項(xiàng)目(201813573095J);江蘇省現(xiàn)代教育技術(shù)研究課題(2016-R-48673)
江蘇省教育科學(xué)“十三五”規(guī)劃2018年度重點(diǎn)資助課題(B-a/2018/01/39)
參考文獻(xiàn):
[1] Patel D,Parmar R, Desai A, et al.Gesture recognition using FPGA and OV7670 camera[C]// International Conference on Inventive Systems & Control.2017
[2]姜志鵬,陳正宇,史金芬.應(yīng)用型工科院?!翱诖鼘?shí)驗(yàn)室”培養(yǎng)模式探索——以電子信息工程專(zhuān)業(yè)為例[J]統(tǒng)計(jì)與管理,2015(10)