一種用CPLD實(shí)現(xiàn)視頻信號(hào)運(yùn)動(dòng)檢測(cè)的方法
(作者未知) 2009/5/20
摘要:介紹了一種采用CPLD外加SRAM存儲(chǔ)芯片,對(duì)ITU601格式數(shù)字視頻信號(hào)進(jìn)行運(yùn)動(dòng)檢測(cè)的方法。在此基礎(chǔ)上,給出了一個(gè)實(shí)現(xiàn)這種檢測(cè)方法的例子。在這個(gè)例子中,用Philips公司的視頻處理芯片SAA7113的輸出信號(hào)作為數(shù)字視頻源,用Lattice公司的CPLD芯片LC4128V對(duì)視頻信號(hào)進(jìn)行運(yùn)動(dòng)檢測(cè)。
關(guān)鍵詞:運(yùn)動(dòng)檢測(cè) CPLD 數(shù)字視頻信號(hào)
在數(shù)字錄像、數(shù)字監(jiān)控等領(lǐng)域內(nèi),人們通常只對(duì)場(chǎng)景內(nèi)存在的物體運(yùn)動(dòng)感興趣。在這種情況下,需要對(duì)輸入的視頻信號(hào)進(jìn)行預(yù)處理,識(shí)別場(chǎng)景中是否存在物體運(yùn)動(dòng),也就是進(jìn)行運(yùn)動(dòng)檢測(cè),然后再?zèng)Q定是否做進(jìn)一步的處理,例如錄像、報(bào)警等。對(duì)于錄像系統(tǒng),通過運(yùn)動(dòng)檢測(cè),能夠避免不必要的數(shù)字錄像,有效地減少系統(tǒng)所需存儲(chǔ)空間;同時(shí)可以加快檢索速度,提高資料有效性。對(duì)于監(jiān)控系統(tǒng),運(yùn)動(dòng)檢測(cè)是一種監(jiān)視場(chǎng)景信息的有效手段。
很多數(shù)字視頻信號(hào)處理系統(tǒng)通常會(huì)選用DSP芯片作為主處理芯片。由于DSP對(duì)數(shù)字信號(hào)的處理是通過編程實(shí)現(xiàn)各種算法的,只通過軟件就可以方便地加入某些功能,因此沒有必要添加額外的硬件來(lái)完成運(yùn)動(dòng)檢測(cè)。但是有很多系統(tǒng),由于各種原因需要選用其它芯片來(lái)完成視頻信號(hào)的處理,例如華邦的W9968x系列芯片,由硬件完成信號(hào)的處理,其算法已經(jīng)被固化在芯片的內(nèi)部電路中,不能隨意更改。這一類芯片功能比較單一,但速度快、價(jià)格便宜,通?梢宰鳛槟承┫到y(tǒng)的專用芯片。對(duì)于這種情況,就需要考慮用另外的方法來(lái)實(shí)現(xiàn)運(yùn)動(dòng)檢測(cè)。本文介紹的用CPLD進(jìn)行運(yùn)動(dòng)檢測(cè)的方法就是針對(duì)這一類情況的。該方法是通過附加一片CPLD芯片和一片SRAM芯片構(gòu)成一個(gè)低成本的運(yùn)動(dòng)檢測(cè)模塊的。
1 運(yùn)動(dòng)檢測(cè)原理
運(yùn)動(dòng)檢測(cè)的實(shí)現(xiàn)方法有硬件實(shí)現(xiàn)的也有軟件實(shí)現(xiàn)的,但基本思想大同小異,都是對(duì)相隔一定時(shí)間的兩幀視頻數(shù)據(jù)進(jìn)行抽樣,并對(duì)抽樣數(shù)據(jù)進(jìn)行比較,如果比較結(jié)果顯示這兩幀數(shù)據(jù)存在比較大的差異,那么就認(rèn)為數(shù)據(jù)輸入場(chǎng)景中存在物體的運(yùn)動(dòng),反之就認(rèn)為沒有運(yùn)動(dòng)存在。
本文介紹的用CPLD實(shí)現(xiàn)運(yùn)動(dòng)檢測(cè)的方法也是基于這種思想,但和一般的實(shí)現(xiàn)方法有所不同,其實(shí)現(xiàn)方法有一定的特色。
通常情況下,在實(shí)現(xiàn)上述思想的過程中,需要兩個(gè)緩存區(qū)分別存放兩幀抽樣數(shù)據(jù),然后對(duì)這兩幀數(shù)據(jù)進(jìn)行比較并對(duì)比較結(jié)果進(jìn)行統(tǒng)計(jì),最后得出比較結(jié)果。這樣做需要較大的SRAM作為緩存,而且往往需要單片機(jī)或者DSP對(duì)CPLD進(jìn)行控制,并將其作為兩幀數(shù)據(jù)的比較器。這樣,運(yùn)動(dòng)檢測(cè)模塊的獨(dú)立性會(huì)受到限制,而且CPLD的功能只是一個(gè)抽樣控制器。
本文提出的方法只對(duì)一幀抽樣數(shù)據(jù)進(jìn)行緩存,在對(duì)第二幀數(shù)據(jù)進(jìn)行抽樣時(shí)讀取第一幀中與此刻抽樣的數(shù)據(jù)相對(duì)應(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ú)對(duì)數(shù)據(jù)進(jìn)行處理,提高運(yùn)動(dòng)檢測(cè)模塊的獨(dú)立性,運(yùn)動(dòng)檢測(cè)模塊可以單獨(dú)調(diào)試。
2 用CPLD實(shí)現(xiàn)運(yùn)動(dòng)檢測(cè)
下面通過實(shí)例說(shuō)明用CPLD實(shí)現(xiàn)運(yùn)動(dòng)檢測(cè)的過程,并給出部分VHDL程序。在這個(gè)實(shí)例中,模擬視頻信號(hào)從CCD攝像頭輸入,經(jīng)過SAA7113芯片預(yù)處理后,輸出數(shù)字視頻信號(hào)。該信號(hào)分作兩路:一路輸入到CPLD進(jìn)行運(yùn)動(dòng)檢測(cè),另一路則輸入到芯片W99682,對(duì)信號(hào)進(jìn)行JPEG壓縮等進(jìn)一步處理。
示例中用到的CPLD是Lattice公司的LC4128V-75T100C,它具有128?jìng)(gè)宏單元、7.5ns的延時(shí)。SRAM芯片是ISSI公司的63LV1024,其容量為128K×8bit,具有10ns的延時(shí)。CPLD檢測(cè)到運(yùn)動(dòng)后,通過中斷,要求W99682對(duì)信號(hào)做進(jìn)一步處理。其系統(tǒng)結(jié)構(gòu)圖如圖1(省略了部分與運(yùn)動(dòng)檢測(cè)無(wú)關(guān)的元件)所示。
2.1 SAA7113的輸出信號(hào)
SAA7113是Philips公司推出的一款功能強(qiáng)大的視頻信號(hào)預(yù)處理芯片,最基本的功能是模/數(shù)轉(zhuǎn)換,輸出的數(shù)字視頻信號(hào)符合ITU601標(biāo)準(zhǔn)。ITU601是長(zhǎng)寬比為43和169的數(shù)字電視信號(hào)標(biāo)準(zhǔn),它對(duì)數(shù)字電視信號(hào)的各項(xiàng)參數(shù)進(jìn)行了詳細(xì)的描述和規(guī)范。在我國(guó),通常采用的都是422采樣格式、PAL制式、長(zhǎng)寬比為43的數(shù)字電視信號(hào)。SAA7113的輸出信號(hào)就是指這一格式的信號(hào)。這種格式信號(hào)的主要特征是:
(1)有三個(gè)正交分量:亮度分量Y、色度分量Cb和Cr。
(2)25幀/秒的幀率,每幀兩場(chǎng),每幀掃描625行。
(3)對(duì)于亮度分量Y,每行抽樣864次,對(duì)于色度分量Cr和Cb,每行抽樣432次。
(4)8bit或者10bit的PCM編碼。(未完,下一頁(yè))
|