前言
在數(shù)字錄像、數(shù)字監(jiān)控等領(lǐng)域內(nèi),人們通常只對場景內(nèi)存在的物體運(yùn)動(dòng)感興趣。在這種情況下,需要對輸入的視頻信號進(jìn)行預(yù)處理,識別場景中是否存在物體運(yùn)動(dòng),也就是進(jìn)行運(yùn)動(dòng)檢測,然后再?zèng)Q定是否做進(jìn)一步的處理,例如錄像、報(bào)警等。對于錄像系統(tǒng),通過運(yùn)動(dòng)檢測,能夠避免不必要的數(shù)字錄像,有效地減少系統(tǒng)所需存儲(chǔ)空間;同時(shí)可以加快檢索速度,提高資料有效性。對于監(jiān)控系統(tǒng),運(yùn)動(dòng)檢測是一種監(jiān)視場景信息的有效手段。
1 控制器原理圖
控制器CPLD的設(shè)計(jì)及實(shí)現(xiàn)是運(yùn)動(dòng)檢測的核心部分,它需要對外圍的器件進(jìn)行集中控制和處理。本文選用了Altera公司的CPLD EPM7128S84-15,采用VHDL作為硬件描述語言,但是所編寫的VHDL源程序既然適用于CPLD器件,又適用于FPGA器件。CPLD控制器設(shè)計(jì)框圖如圖1.1所示,控制器的整體結(jié)構(gòu)大體上可分為圖像采集控制模塊、SRAM讀/寫控制、控制比較模塊等三個(gè)部分。

Fig1.1 System diagram
圖1.1 系統(tǒng)原理框圖
2 圖像采集與控制硬件部分
圖像采集部分選用了Philips公司的視頻A/D轉(zhuǎn)換芯片SAA7111A,SAA7111A是Philips公司推出的一款功能強(qiáng)大的視頻信號預(yù)處理芯片,最基本的功能是模/數(shù)轉(zhuǎn)換,輸出的是長寬比為4:3和16:9數(shù)字視頻信號,符合ITU601標(biāo)準(zhǔn)。在我國,通常采用的都是4:2:2采樣格式、PAL制式、長寬比為4:3的數(shù)字電視信號。
文中用到的CPLD是Altera公司的EPM7128SLC84-15,它具有128個(gè)宏單元、7.5ns的延時(shí)。SRAM芯片是ISSI公司的IS61C1024L-12,其容量為128K×8bit,具有10ns的延時(shí)。CPLD檢測到運(yùn)動(dòng)后,通過中斷,要求IME6400對信號做進(jìn)一步處理。其系統(tǒng)結(jié)構(gòu)圖如圖1.1所示。
SAA7111A輸出的是長寬比為4:3和16:9的數(shù)字視頻信號,輸出信號包括消隱期在內(nèi),每幀數(shù)據(jù)掃描625行,每行抽樣864個(gè)象素,因此總的分辨率是864×625。一幀數(shù)據(jù)分作奇偶兩場,從上一幀的624行到本幀的310行是奇場,其中上幀624行到本幀22行是奇場消隱期,從23行到310行是奇場有效行;從本幀311行到623行是偶場,其中311到335行是偶場消隱期,336到623行為偶場有效行。
在一幀圖像數(shù)據(jù)的采集過程中,最重要的就是對一幀圖像數(shù)據(jù)開始和結(jié)束時(shí)刻的判斷。在研究了SAA7111A所提供的同步信號(奇偶場標(biāo)識信號)RTS0、場同步參考信號(VREF)、行同步參考信號(HREF)的時(shí)序關(guān)系的基礎(chǔ)上,用狀態(tài)機(jī)實(shí)現(xiàn)了對采集過程起止點(diǎn)的精確控制。RTS0信號的上升沿標(biāo)識一幀新圖像的起點(diǎn),VREF信號為高電平對應(yīng)場圖像正程掃描時(shí)的有效像素行期間,在有效像素行期間,HREF信號為高電平對應(yīng)像素有效采樣時(shí)間。只對一幀抽樣數(shù)據(jù)進(jìn)行緩存,在對第二幀數(shù)據(jù)進(jìn)行抽樣時(shí)讀取第一幀中與此刻抽樣的數(shù)據(jù)相對應(yīng)的緩存數(shù)據(jù),并將兩者進(jìn)行比較,用一個(gè)計(jì)數(shù)器記錄比較結(jié)果,如果差值超過閾值,計(jì)數(shù)器加一,否則不加。當(dāng)這個(gè)計(jì)數(shù)值超過某一個(gè)規(guī)定數(shù)值的時(shí)候,就認(rèn)為輸入視頻數(shù)據(jù)中存在著物體運(yùn)動(dòng)。這樣做的好處是需要的緩存區(qū)較小,而且CPLD可以單獨(dú)對數(shù)據(jù)進(jìn)行處理,提高運(yùn)動(dòng)檢測模塊的獨(dú)立性,運(yùn)動(dòng)檢測模塊可以單獨(dú)調(diào)試。
3 圖像采集控制軟件部分
系統(tǒng)中PAL制式下SAA7111A輸出的參考信號時(shí)序如圖1.2所示。其中LLC是像素時(shí)鐘信號,時(shí)鐘頻率為27MHZ,高電平表示輸出一像素點(diǎn);HS為行同步信號,其上升沿表示行消隱期開始,下跳沿標(biāo)志著新的一行采樣數(shù)據(jù)即將開始;VS為場同步信號,其上升沿表示場消隱期開始,下跳沿標(biāo)志著新的一場采樣數(shù)據(jù)即將開始;RTS0為奇偶場標(biāo)志信號,RTS0為高電平時(shí),輸出奇數(shù)場采樣數(shù)據(jù),RTS0為低電平時(shí),輸出偶數(shù)場采樣數(shù)據(jù)。

Fig1.2 SAA7111A timing diagram
圖1.2 SAA7111A輸出的參考信號時(shí)序圖
系統(tǒng)中SAA7111A的初始設(shè)定為:一路模擬視頻信號輸入、自動(dòng)增益控制、625行50Hz PAL制式、YUV4:2:2 (16bit)數(shù)字視頻信號輸出、設(shè)置默認(rèn)的圖像對比度、亮度及飽和度。
讀/寫控制模塊的主要功能就是完成控制SRAM的讀寫。下面給出實(shí)現(xiàn)以上過程的一部分VHDL程序。
Sram_write_control process store_field valid spclk2 line_counter
begin
writing《=valid and spclk2 and spclk and store_field and line_counter0
end process
Sram_read_control process compare_field valid spclk2 line_counter
begin
reading《=valid and compare_field and spclk2 and line_counter0
end process
這兩個(gè)進(jìn)程用于控制SRAM的讀寫信號,reading和writing正好和SRAM的讀寫信號反相。Valid變量指示當(dāng)前輸入的行是否為需要采樣的有效行,spclk是象素?cái)?shù)據(jù)同步脈沖,spclk2是它的二分頻,用于指示當(dāng)前輸入數(shù)據(jù)是否為亮度分量Y。line_counter0=1表示奇數(shù)行。Store_field和compare_field分別指示本場數(shù)據(jù)是否需要保存或者需要比較。
update_data_bus process store_field valid ccd_data
begin
if store_field=’1’and valid=’1’then
data_sram《=ccd_data
else
data_sram《=”ZZZZZZZZ”
end if
end process
compare_data進(jìn)程在抽樣的間隔(輸入為色度分量Cr或者Cb時(shí))對前后兩次抽樣的數(shù)據(jù)進(jìn)行比較,如果比較結(jié)果超過允許值,計(jì)數(shù)器pixels加1,否則不加。
motion_detect process pixels
begin
if pixels》max_pixels then
int0《=’1’
else
int0《=’0’
end if
end process
max_pixels是一個(gè)閾值,表示一幀數(shù)據(jù)中允許出現(xiàn)的不相等抽樣數(shù)據(jù)的最大數(shù)目,當(dāng)計(jì)數(shù)器pixels超過max_pixels時(shí),就認(rèn)為檢測到了物體運(yùn)動(dòng),CPLD將int0輸出管腳置高,向處理器請求中斷。這里max_pixels取600,它可以根據(jù)需要設(shè)置適當(dāng)?shù)闹怠?/p>
當(dāng)然這種檢測方法本身也有不足之處,最主要的一點(diǎn)是實(shí)際檢測到的只是攝像頭前光線亮度的變化,不能智能地判斷引起這種變化的原因,也不能判別運(yùn)動(dòng)物體的形狀。另一方面,從實(shí)驗(yàn)結(jié)果來看,有時(shí)候會(huì)出現(xiàn)誤判;當(dāng)運(yùn)動(dòng)物體離攝像頭比較遠(yuǎn)時(shí),檢測的靈敏度也會(huì)降低,出現(xiàn)漏判。誤判和漏判是一對矛盾,在實(shí)際應(yīng)用中需要根據(jù)實(shí)際情況反復(fù)調(diào)試,選出最佳的閾值,減少這兩種情況的發(fā)生。
4 結(jié)論
本文作者創(chuàng)新點(diǎn)是結(jié)合在系統(tǒng)可編程技術(shù),采用CPLD/FPGA芯片EPM7128S84-15設(shè)計(jì)圖像采集與處理控制器。該設(shè)計(jì)目前正在我院安全防范監(jiān)控系統(tǒng)中試用,效果良好。
責(zé)任編輯:gt
電子發(fā)燒友App

















評論