當(dāng)前位置:首頁 > 工業(yè)控制 > 電子設(shè)計(jì)自動(dòng)化

  摘 要: 介紹了一種采用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)各種算法的,只通過軟件就可以方便地加入某些功能,因此沒有必要添加額外的硬件來完成運(yùn)動(dòng)檢測(cè)。但是有很多系統(tǒng),由于各種原因需要選用其它芯片來完成視頻信號(hào)的處理,例如華邦的W9968x系列芯片,由硬件完成信號(hào)的處理,其算法已經(jīng)被固化在芯片的內(nèi)部電路中,不能隨意更改。這一類芯片功能比較單一,但速度快、價(jià)格便宜,通??梢宰鳛槟承┫到y(tǒng)的專用芯片。對(duì)于這種情況,就需要考慮用另外的方法來實(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í)例說明用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個(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è)無關(guān)的元件)所示。

2.1SAA7113的輸出信號(hào)

  SAA7113是Philips公司推出的一款功能強(qiáng)大的視頻信號(hào)預(yù)處理芯片,最基本的功能是模/數(shù)轉(zhuǎn)換,輸出的數(shù)字視頻信號(hào)符合ITU601標(biāo)準(zhǔn)。ITU601是長(zhǎng)寬比為4:3和16:9的數(shù)字電視信號(hào)標(biāo)準(zhǔn),它對(duì)數(shù)字電視信號(hào)的各項(xiàng)參數(shù)進(jìn)行了詳細(xì)的描述和規(guī)范。在我國(guó),通常采用的都是4:2:2采樣格式、PAL制式、長(zhǎng)寬比為4:3的數(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編碼。

  (5)量化:0和255用于同步;1到254表示抽樣結(jié)果的PCM碼;對(duì)于亮度分量Y,16表示黑色,235表示白色;對(duì)于色度分量Cb或者Cr,128表示沒有色度。

  (6)有三個(gè)信號(hào)用于同步輸出數(shù)據(jù):行同步信號(hào)SHS(15.6kHz)、場(chǎng)同步信號(hào)SVS(50Hz)和象素?cái)?shù)據(jù)同步信號(hào)SPCLK(27MHz)。

  包括消隱期在內(nèi),每幀數(shù)據(jù)掃描625行,每行抽樣864個(gè)象素,因此總的分辨率是864×625。一幀數(shù)據(jù)分作奇偶兩場(chǎng),從上一幀的624行到本幀的310行是奇場(chǎng),其中上幀624行到本幀22行是奇場(chǎng)消隱期,從23行到310行是奇場(chǎng)有效行;從本幀311行到623行是偶場(chǎng),其中311到335行是偶場(chǎng)消隱期,336到623行為偶場(chǎng)有效行。圖2是一幀的示意圖。

  對(duì)于幀內(nèi)的每一行,共有864個(gè)象素,其中從第0個(gè)到第719個(gè)為有效象素,共計(jì)720個(gè),從720個(gè)到863個(gè)為消隱期象素。每個(gè)象素都抽取Y分量,每?jī)蓚€(gè)象素則抽取一個(gè)Cr和一個(gè)Cb分量。圖3是幀內(nèi)一行以及象素抽樣數(shù)據(jù)排列格式的示意圖。表格第一行是亮度分量Y,第二行是色度分量Cr,第三行是色度分量Cb。

2.2 抽樣

  從SAA7113視頻輸出數(shù)據(jù)格式的介紹可以看到,保存完整的一幀數(shù)據(jù)(包括消隱期數(shù)據(jù)在內(nèi))需要864×625×2=1.08×106Byte的SRAM,需要1M以上的存儲(chǔ)空間,這顯然是不可取的,必須對(duì)幀數(shù)據(jù)進(jìn)行抽樣。本文介紹的方法的抽樣規(guī)則如下:

  (1)抽取一幀數(shù)據(jù)的奇場(chǎng)或者偶場(chǎng)。做比較的兩場(chǎng)抽樣數(shù)據(jù)必須取自相同的場(chǎng)次,或者同為奇場(chǎng)或者同為偶場(chǎng),否則就沒有可比性。

  (2)對(duì)連續(xù)的8幀抽取第2幀和第8幀進(jìn)行比較。被抽樣的兩幀之間必須有一定的時(shí)間間隔,間隔太短或者太長(zhǎng)都會(huì)影響檢測(cè)的靈敏度。

  (3)對(duì)一場(chǎng)數(shù)據(jù)抽取有效行中的奇數(shù)行,從場(chǎng)同步信號(hào)有效邊沿開始對(duì)行同步信號(hào)計(jì)數(shù),直到下一個(gè)場(chǎng)同步信號(hào)為止。從23行到310行是有效行,共144個(gè)奇數(shù)行。

  (4)對(duì)被抽取的行,取其亮度分量Y。根據(jù)圖3中象素?cái)?shù)據(jù)的排列順序,從象素?cái)?shù)據(jù)有效開始,偶數(shù)的象素?cái)?shù)據(jù)脈沖同步的是亮度分量Y。

  對(duì)于以上的抽樣規(guī)則,有必要說明一下。最終的抽樣數(shù)據(jù)并非全部都是有效數(shù)據(jù),其中還包括了一部分消隱期的數(shù)據(jù)。這樣做是可以理解的,因?yàn)檫\(yùn)動(dòng)檢測(cè)的結(jié)果是根據(jù)兩幀被抽樣數(shù)據(jù)的差值來判定的,雖然消隱期的數(shù)據(jù)是無效的,但是每次消隱期的數(shù)據(jù)是相同的,兩次抽樣數(shù)據(jù)相減結(jié)果是零,并不會(huì)影響結(jié)果的判定。之所以對(duì)一場(chǎng)的行進(jìn)行抽樣,主要是為了減小抽樣數(shù)據(jù)量,使數(shù)據(jù)總量不超過128K SRAM的容量。

  如果要保證抽樣數(shù)據(jù)全部都是有效數(shù)據(jù),那么必須利用輸入的象素?cái)?shù)據(jù)同步脈沖SPCLK、場(chǎng)同步信號(hào)SVS和行同步信號(hào)SHS對(duì)抽樣時(shí)刻做嚴(yán)格的同步。這需要消耗額外的CPLD資源,而效果卻不一定好。

根據(jù)以上規(guī)則,實(shí)際抽樣的數(shù)據(jù)量為:864×144=124416Byte,需要的SRAM容量為128K。

2.3 程序

  下面給出實(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_counter(0);

  end process;

  sram_read_control:process(compare_field,valid,spclk2,line_counter)

  begin

   reading<=valid and compare_field and spclk2 and line_counter(0);

  end process;

  這兩個(gè)進(jìn)程用于控制SRAM的讀寫信號(hào),reading和writing正好和SRAM的讀寫信號(hào)反相。Valid變量指示當(dāng)前輸入的行是否為需要采樣的有效行,spclk是象素?cái)?shù)據(jù)同步脈沖,spclk2是它的二分頻,用于指示當(dāng)前輸入數(shù)據(jù)是否為亮度分量Y。line_counter(0)=1表示奇數(shù)行。store_field和compare_field分別指示本場(chǎng)數(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;

在抽樣第一幀數(shù)據(jù)的時(shí)候,直接把數(shù)字視頻信號(hào)輸入到SRAM的數(shù)據(jù)總線上,寫操作信號(hào)由writing控制。其它時(shí)候,數(shù)據(jù)總線上輸出高阻。

  update_data_reg:process(spclk,ccd_data,spclk2,compare_field,

  valid,data_sram)

  begin

   if(spclk'event and spclk=‘0’)then

   if(compare_field=‘1’and valid=‘1’and spclk2=‘1’)then

  data_sram_reg<=data_sram;

  if(ccd_data<=threshold)then

data_reg1<=“00000000”;

data_reg2<=ccd_data+threshold;

  elsif(ccd_data>=255-threshold)then

data_reg1<=ccd_data-threshold;

data_reg2<=“11111111”;

  else

data_reg1<=ccd_data-threshold;

data_reg2<=ccd_data+threshold;

  end if;

  end if;

end if;

end process;

  SAA7113的象素同步脈沖的下跳邊沿是象素?cái)?shù)據(jù)的有效邊沿,進(jìn)程在compare_field=1時(shí),一方面把抽樣數(shù)據(jù)讀入,用寄存器保存用于比較的數(shù)據(jù)的上限和下限;另一方面從SRAM讀入對(duì)應(yīng)數(shù)據(jù)存入寄存器data_sram_reg,這兩個(gè)操作為比較數(shù)據(jù)做好準(zhǔn)備。threshold是一個(gè)閾值,這里取16,當(dāng)前后兩次抽樣差值超過threshold時(shí)就認(rèn)為這兩個(gè)抽樣數(shù)據(jù)是不等的。在輸入數(shù)據(jù)接近0或者255的時(shí)候,需要做特殊處理,避免整型數(shù)溢出,影響比較結(jié)果。

  compare_data:process(spclk2,valid,compare_field)

  begin

   if(spclk2'event and spclk2=‘0’)then

   if(compare_field=‘0’)then

pixels<=“0000000000”;

   elsif(valid='1')then

   if(data_sram_reg<=data_reg1 or data_sram_reg>=data_reg2)then

pixels<=pixels+1;

   end if;

   end if;

   end if;

  end process;

  compare_data進(jìn)程在抽樣的間隔(輸入為色度分量Cr或者Cb時(shí))對(duì)前后兩次抽樣的數(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)為檢測(cè)到了物體運(yùn)動(dòng),CPLD將int0輸出管腳置高,向處理器請(qǐng)求中斷。這里max_pixels取600,它可以根據(jù)需要設(shè)置適當(dāng)?shù)闹怠?/p>

  當(dāng)CCD攝像頭前有物體晃動(dòng)時(shí),CPLD的int0管腳會(huì)連續(xù)產(chǎn)生高電平脈沖,這說明運(yùn)動(dòng)檢測(cè)模塊已經(jīng)正常工作起來,同時(shí)另一路視頻信號(hào)經(jīng)過W99682處理后輸送到電視屏幕上,以便觀察運(yùn)動(dòng)的場(chǎng)景。如果晃動(dòng)攝像頭本身,只要微小的晃動(dòng)就可以看到類似的效果,因此用這種CPLD實(shí)現(xiàn)運(yùn)動(dòng)檢測(cè)是可行的。

  事實(shí)上,還可以利用同樣的原理對(duì)CMOS攝像頭的輸入信號(hào)進(jìn)行運(yùn)動(dòng)檢測(cè)。

  當(dāng)然這種檢測(cè)方法本身也有不足之處,最主要的一點(diǎn)是實(shí)際檢測(cè)到的只是攝像頭前光線亮度的變化,不能智能地判斷引起這種變化的原因,也不能判別運(yùn)動(dòng)物體的形狀。另一方面,從實(shí)驗(yàn)結(jié)果來看,有時(shí)候會(huì)出現(xiàn)誤判;當(dāng)運(yùn)動(dòng)物體離攝像頭比較遠(yuǎn)時(shí),檢測(cè)的靈敏度也會(huì)降低,出現(xiàn)漏判。誤判和漏判是一對(duì)矛盾,在實(shí)際應(yīng)用中需要根據(jù)實(shí)際情況反復(fù)調(diào)試,選出最佳的閾值,減少這兩種情況的發(fā)生。

參考文獻(xiàn)

1 Recommendation ITU-R BT.601-5. ITU Organization,1995

2 SAA7113H 9-bit Video Input Processor. Philips Semiconductors, 1999

3 馬小斌,金連文,尹俊勛.利用DSP和CPLD增加數(shù)據(jù)采集的可擴(kuò)展性.電子技術(shù)應(yīng)用, 2003;29(3)

4 吳繁紅,井新宇.用CPLD/FPGA設(shè)計(jì)A/D采樣控制器.電子工程師, 2002(2)

5 張華春,雷 宏,孫長(zhǎng)瑜.基于CPLD的ADSP21060與SDRAM接口設(shè)計(jì).信號(hào)處理, 2002(6)

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉