《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 嵌入式技術(shù) > 業(yè)界動(dòng)態(tài) > 基于DSP的圖像采集及處理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)

基于DSP的圖像采集及處理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)

2009-05-19
作者:劉紅喜1,李長(zhǎng)江1,孫俊喜2

  摘 要: 介紹了一種利用CCD攝像頭、SAA7111視頻解碼芯片、高速可讀寫存儲(chǔ)器SRAM,基于DSP與CPLD的圖像采集與處理系統(tǒng)。系統(tǒng)完成了圖像的快速采集、存儲(chǔ)及數(shù)據(jù)處理。文章詳細(xì)論述了系統(tǒng)的總體結(jié)構(gòu)、部分硬件設(shè)計(jì),簡(jiǎn)要敘述了相應(yīng)圖像算法的實(shí)現(xiàn)方法。給出了系統(tǒng)實(shí)例和實(shí)驗(yàn)結(jié)果。
  關(guān)鍵詞: DSP;圖像采集;圖像處理;邊緣提取

?

  圖像采集處理系統(tǒng)大都基于攝像機(jī)、圖像采集卡和計(jì)算機(jī),圖像理解和處理算法全部以軟件方式實(shí)現(xiàn)。這是因?yàn)閷?shí)時(shí)數(shù)字圖像處理信息量和計(jì)算量大,而大多數(shù)采集卡基于成本考慮沒有處理器和大容量的存儲(chǔ)器,絕大部分任務(wù)必須依靠計(jì)算機(jī)來完成。但是,這種計(jì)算機(jī)參與的系統(tǒng)在工業(yè)或軍事等復(fù)雜環(huán)境下應(yīng)用極為不便?;谶@種要求,許多專用圖像處理系統(tǒng)應(yīng)運(yùn)而生[1]。
  隨著數(shù)字圖像處理系統(tǒng)在當(dāng)今工業(yè)及醫(yī)療領(lǐng)域的應(yīng)用日益廣泛,對(duì)圖像處理系統(tǒng)的實(shí)時(shí)性和準(zhǔn)確性也提出了更高的要求。而一個(gè)完整的視頻圖像處理系統(tǒng)不但要具備圖像信號(hào)的采集功能,還要求能對(duì)圖像進(jìn)行實(shí)時(shí)顯示,且要求完成圖像信號(hào)的分析及處理算法。通常這些算法的運(yùn)算量大,同時(shí)又要滿足實(shí)時(shí)顯示要求。DSP芯片以其適應(yīng)于高速數(shù)字信號(hào)處理的內(nèi)部結(jié)構(gòu),在圖像處理領(lǐng)域得到不可替代的地位。
1 系統(tǒng)的結(jié)構(gòu)框圖
  本系統(tǒng)采用CCD攝像頭、視頻解碼芯片SAA7111、CPLD、高速可讀寫存儲(chǔ)器SRAM、AL250、緩沖器SN74LVC16245及數(shù)字信號(hào)處理器DSP等核心部件。由于采集的是一幅靜態(tài)圖像,所以選擇了TI公司C54X系列的TMS320VC5416作為系統(tǒng)的核心處理器。系統(tǒng)框圖如圖1所示。

?

  系統(tǒng)采用主從結(jié)構(gòu),其中單片機(jī)是主機(jī),主要負(fù)責(zé)系統(tǒng)工作的協(xié)調(diào)及利用I2C對(duì)SAA7111及AL250初始化。DSP作為從機(jī),主要完成圖像的算法處理。這樣,在充分發(fā)揮單片機(jī)在任務(wù)調(diào)度方面優(yōu)勢(shì)的同時(shí),也發(fā)揮了DSP在數(shù)字信號(hào)處理方面的優(yōu)勢(shì),可以專注地完成圖像處理,使系統(tǒng)的效率達(dá)到最優(yōu)。CPLD是用來最終完成圖像采集的器件,實(shí)質(zhì)上起到了總線控制器的作用,通過編寫的VHDL程序?qū)崿F(xiàn)系統(tǒng)要求。
  圖像采集是通過CCD圖像傳感器采集一幀PAL制的視頻圖像,利用視頻解碼芯片SAA7111將它轉(zhuǎn)化為數(shù)字視頻數(shù)據(jù),通過CPLD將圖像數(shù)據(jù)存儲(chǔ)到SRAM中,DSP通過CPLD將數(shù)據(jù)從SRAM中讀到內(nèi)部數(shù)據(jù)存儲(chǔ)器中,然后對(duì)其進(jìn)行算法上的處理,再把經(jīng)過處理后的數(shù)據(jù)又存儲(chǔ)到SRAM中去。通過AL250將YUV格式的數(shù)字視頻圖像數(shù)據(jù)轉(zhuǎn)換成RGB格式的數(shù)字視頻數(shù)據(jù),在CRT顯示器上顯示。
2 系統(tǒng)硬件
  DSP主要應(yīng)用在圖像算法的實(shí)現(xiàn)上。系統(tǒng)選用TI公司C54系列的TMS320VC5416芯片。它的程序ROM為16 K字,RAM為128 K字,1個(gè)并行口,3個(gè)多通道緩沖串口,設(shè)備電壓3.3 V,核心電壓1.6 V,指令周期為6.25ns[2]
2.1 系統(tǒng)前端圖像采集
  圖像獲取模塊處于系統(tǒng)最前端,其性能的優(yōu)劣將直接影響整個(gè)系統(tǒng)視頻圖像信號(hào)的質(zhì)量。因?yàn)楸疚倪€要對(duì)采集的圖像做后期處理,對(duì)圖像的成像質(zhì)量要求比較高,所以采集設(shè)備選用CCD攝像頭。
  由于CCD的視頻輸入信號(hào)是PAL制模擬信號(hào),所以需要視頻解碼芯片將模擬信號(hào)轉(zhuǎn)換成數(shù)字視頻信號(hào)數(shù)據(jù),通過解碼芯片對(duì)其進(jìn)行解碼,變成可編程的數(shù)字信號(hào)。
  SAA7111是Philips半導(dǎo)體公司生產(chǎn)的一種視頻輸入處理器,在視頻采集系統(tǒng)中,通常需要這類的視頻解碼器作為視頻前端。將PAL制式的模擬視頻信號(hào)轉(zhuǎn)換為YUV格式的數(shù)字圖像信號(hào)輸出。它采用CMOS工藝,其功耗小、電壓低、體積小、溫度適應(yīng)范圍廣,具有以下特點(diǎn):
  (1)四路模擬輸入信號(hào)通道,如(4*CVBS,2*Y/C)或者(2*CVBS,1*Y/C);
??? (2)所有不同的制式標(biāo)準(zhǔn)只需同一頻率的晶振(24.576 MHz);
  (3)自動(dòng)進(jìn)行50/60 Hz場(chǎng)頻的檢測(cè),自動(dòng)進(jìn)行標(biāo)準(zhǔn)PAL制式和NTSC制式之間的轉(zhuǎn)換;
  (4)具有實(shí)時(shí)狀態(tài)信息輸出;
  (5)數(shù)據(jù)輸出格式多樣,具體格式如下:4:1:1的YUV格式(12位)、4:2:2的YUV格式(16位)、4:2:2的YUV格式[按照CCIR—656標(biāo)準(zhǔn)](8位)、5:6:5的RGB格式(16位)、8:8:8的RGB格式(24位);
????(6)可通過I2C總線接受外部控制器的完全控制。
????在本系統(tǒng)中,將圖像解碼后的輸出數(shù)字視頻數(shù)據(jù)設(shè)計(jì)為YUV422(16 bit)格式,分辨率為768×625,每行的有效數(shù)據(jù)為720個(gè)像素點(diǎn),每個(gè)像素點(diǎn)占用16 bit的存儲(chǔ)空間。其中每個(gè)像素點(diǎn)包含一個(gè)亮度信號(hào)(Y),兩個(gè)色差信號(hào)(U分量、V分量)。其中“Y”表示明亮度(Luminance或Luma),也就是灰階值;而“U”和“V”表示的則是色度(Chrominance或Chroma),作用是描述影像色彩及飽和度,用于指定像素的顏色。以四個(gè)像素點(diǎn)為例,解碼后產(chǎn)生的YUV422的格式數(shù)據(jù)與其原圖像數(shù)據(jù)及其顯示圖像數(shù)據(jù)如下:
  原圖的四個(gè)像素為:[Y0 U0 V0] [Y1 U1 V1] [Y2 U2 V2] [Y3 U3 V3]
  YUV422存放的碼流為:Y0 U0 Y1 V1 Y2 U2 Y3 V3
  映射出的四個(gè)像素為:[Y0 U0 V1] [Y1 U0 V1] [Y2 U2 V3] [Y3 U2 V3]
  SAA7111在將視頻信號(hào)解碼的同時(shí),另外還輸出行參考HREF、場(chǎng)參考VREF、行同步HS、 場(chǎng)同步VS、行鎖定信號(hào)LLC(27M) 、像素時(shí)鐘信號(hào)LLC2(13.5 MHz)、時(shí)鐘參考信號(hào)CREF(相對(duì)LLC2有一定的延時(shí))、奇偶場(chǎng)信號(hào)RST0等。這些信號(hào)與解碼后的數(shù)字視頻數(shù)據(jù)一起輸入到CPLD中,CPLD由這些信號(hào)產(chǎn)生像素信號(hào)在SRAM中的存儲(chǔ)地址信號(hào)和寫控制信號(hào)。當(dāng)存儲(chǔ)完一幀圖像數(shù)據(jù)時(shí),CPLD就不再向SRAM 存儲(chǔ)數(shù)據(jù),并通知DSP進(jìn)入圖像處理的運(yùn)算。SAA7111的硬件原理圖見圖2。

?

2.2 存儲(chǔ)器SRAM
  本文采集的圖像數(shù)字像素?cái)?shù)據(jù)為720×576=414 720個(gè)像素點(diǎn),又因?yàn)閿?shù)字視頻格式是YUV422格式,每個(gè)像素點(diǎn)占用16 bit個(gè)存儲(chǔ)空間,所以一副圖像的存儲(chǔ)空間最少需要420 K×16 bit的存儲(chǔ)器空間。
  所以選用的存儲(chǔ)器是用兩片512 K×8 bit存儲(chǔ)器合并在一起產(chǎn)生512 K×16 bit的存儲(chǔ)空間,可以適用本方案的需要。
  因?yàn)樵斎氲腃VBS視頻信號(hào)時(shí)采用隔行掃描的方式,所以解碼后產(chǎn)生的數(shù)據(jù)先是奇數(shù)行的視頻數(shù)據(jù),然后才是偶數(shù)行的數(shù)據(jù),以奇偶場(chǎng)信號(hào)RST0和場(chǎng)參考(VREF)信號(hào)為標(biāo)志。為了后期對(duì)數(shù)據(jù)的處理方便,本系統(tǒng)在存儲(chǔ)數(shù)據(jù)時(shí)將奇偶行信號(hào)合并存儲(chǔ),如圖3所示。

?

2.3 視頻編碼
  因?yàn)橐贑RT顯示器上實(shí)時(shí)顯示出采集的圖像和經(jīng)過算法處理過的圖像,CRT顯示器的數(shù)據(jù)顯示格式為逐行顯示的VGA信號(hào),所以需要將YUV格式轉(zhuǎn)換成RGB格式。本文選用一個(gè)專用的視頻編碼芯片AL250來實(shí)現(xiàn),這樣可減少軟件設(shè)計(jì)的復(fù)雜度。雖然在硬件上增加了系統(tǒng)復(fù)雜度,但卻使系統(tǒng)的模塊化設(shè)計(jì)更加清楚,流程更簡(jiǎn)潔,接口的設(shè)計(jì)也簡(jiǎn)單了。
  AL250是AVER Logic公司生產(chǎn)的一款顯示轉(zhuǎn)換控制芯片,主要用于LCDVGA顯示。它能夠接收隔行NTSC或PAL、ITU-RBT601(CCIR601)或平方像素、YUV422或RGB565數(shù)字信號(hào),將其轉(zhuǎn)換成普通CRT顯示器可以接收的模擬RGB格式視頻信號(hào)RGB565格式的逐行數(shù)字視頻信號(hào)。AL250有多種控制功能,可由微處理器通過I2C接口控制。該芯片供電電壓為3.3 V或5 V,采用64引腳QFP封裝形式。AL250電路原理圖如圖4所示。

2.4 I2C總線
  由于SAA7111和AL250都是利用I2C總線進(jìn)行初始化編程及方式選擇,因此需要用單片機(jī)的模擬I2C總線接口,從而實(shí)現(xiàn)單片機(jī)對(duì)SAA7111和AL250的初始化與控制。將單片機(jī)的P1.2、P1.3設(shè)為I2C總線的兩條線SCL、SDA;P3.4、P3.5設(shè)置為CPLD與AT89C2051控制線的交換接口,CPLD通過這兩條線設(shè)置單片機(jī)的I2C總線控制量;利用P1.6、P1.7的兩個(gè)I/O口可以對(duì)整個(gè)系統(tǒng)的操作過程人為進(jìn)行控制。I2C總線電路原理圖如圖5。

3 軟件部分
3.1 圖像算法
  DSP的軟件編程既可以使用匯編語(yǔ)言,也可以使用C語(yǔ)言。使用匯編語(yǔ)言的優(yōu)點(diǎn)是可以使系統(tǒng)的執(zhí)行速度很快,但編寫起來比較費(fèi)時(shí)費(fèi)力;使用C語(yǔ)言可以提高開發(fā)效率,使程序可以和高級(jí)語(yǔ)言接軌,但是CCS對(duì)C語(yǔ)言的編譯效率較低,大約在30%左右。在系統(tǒng)的運(yùn)算量不大、實(shí)時(shí)性要求不強(qiáng)的情況下,使用C語(yǔ)言比較合適;而在系統(tǒng)運(yùn)算量大、實(shí)時(shí)性要求較高的情況下,使用匯編語(yǔ)言比較合適。由于本系統(tǒng)的視頻數(shù)據(jù)的處理算法運(yùn)算量不大、實(shí)時(shí)性要求又不高,所以采用C語(yǔ)言進(jìn)行軟件編程。
  系統(tǒng)利用CPLD將DSP的三個(gè)I/O口空間定義為地址總線接口和數(shù)據(jù)總線接口。因?yàn)镾RAM數(shù)據(jù)共有512 K×16 bit個(gè)存儲(chǔ)空間,地址線有19條,數(shù)據(jù)線16條。所以將I/O口空間的0000H定義為地址總線的高3位地址,將I/O口空間的0001H定義為地址總線的低16位地址,將I/O口空間的0002H定義為數(shù)據(jù)總線的16位地址。這樣做可以不占用DSP的數(shù)據(jù)及地址總線,方便系統(tǒng)以后外擴(kuò)存儲(chǔ)器,做這兩個(gè)接口也加強(qiáng)了系統(tǒng)板的通用性。
????由于最終存儲(chǔ)的數(shù)字視頻格式是YUV數(shù)據(jù)格式,所以進(jìn)行算法設(shè)計(jì)時(shí)要針對(duì)這種格式進(jìn)行設(shè)計(jì)。進(jìn)行灰度算法設(shè)計(jì)時(shí)可以將色度信號(hào)也就是UV信號(hào)的數(shù)據(jù)全部置0。實(shí)現(xiàn)的結(jié)果是亮度信號(hào)Y信號(hào)被分成0~255種格式,再將色度信號(hào)置零,就實(shí)現(xiàn)了灰度算法。而反色算法就是在將灰度算法的亮度信號(hào)Y信號(hào)數(shù)據(jù)按位取反,所得的結(jié)果就是反色算法的結(jié)果。而邊緣提取算法是在首先進(jìn)行灰度圖像算法的基礎(chǔ)上,得到的灰度運(yùn)算結(jié)果后進(jìn)行的運(yùn)算。
  圖像上區(qū)域的邊緣反映為相鄰像素間灰度圖像的躍變。邊緣檢測(cè)可借助空域微分算法通過卷積和類似卷積的運(yùn)算實(shí)現(xiàn)。對(duì)于數(shù)字圖像,求導(dǎo)實(shí)際上運(yùn)用的是求差分。圖像處理中最為常用的邊緣檢測(cè)算法有梯度法、Roberts梯度、Sobel算法和Laplacian 算法等。本系統(tǒng)采用的是Sobel算法[3]。3×3鄰域內(nèi)像素的編碼如圖6,采用的算法見式(1)。
  ??


3.2 系統(tǒng)軟件流程
  系統(tǒng)軟件流程圖如圖7所示,系統(tǒng)執(zhí)行上電加載DSP程序、初始化程序后,用I2C初始化SAA7111及AL250芯片。然后DSP即發(fā)送開始采集指令給CPLD,實(shí)現(xiàn)總線控制權(quán)的交接,CPLD獲得總線控制權(quán)。通過CCD采集一幀圖像,利用SAA7111進(jìn)行數(shù)字視頻解碼,存儲(chǔ)到SRAM中。當(dāng)一幀數(shù)據(jù)寫入幀緩存后,CPLD關(guān)閉SAA7111A的視頻輸出,放棄總線控制權(quán),并發(fā)送信號(hào)給DSP,通知DSP進(jìn)入圖像處理程序。DSP通過CPLD及緩沖器從SRAM中取得時(shí)鐘視頻數(shù)據(jù),同時(shí)將數(shù)據(jù)通過AL250視頻編碼芯片在CRT顯示器上顯示。


  本文給出了基于DSP和CPLD結(jié)構(gòu)的圖像采集和處理系統(tǒng)的一種設(shè)計(jì)方法。描述了系統(tǒng)的CCD+CPLD+DSP的硬件構(gòu)成框圖。利用CCD和SAA7111進(jìn)行前端的視頻采集,SRAM作為幀存儲(chǔ)器,AL250作為圖像的編碼顯示,AT89C2051模擬I2C總線對(duì)SAA7111及AL250進(jìn)行初始化,CPLD實(shí)質(zhì)上起總線控制器的作用,DSP只作圖像算法使用,圖像采集獨(dú)立自主進(jìn)行,不參與采集過程,節(jié)省了DSP的時(shí)間,實(shí)時(shí)性好,實(shí)現(xiàn)了模塊化設(shè)計(jì)的思想。系統(tǒng)在軟件上對(duì)圖像實(shí)現(xiàn)了灰度、邊緣提取、反色的算法。
  該系統(tǒng)工作速率高、實(shí)時(shí)性強(qiáng)、結(jié)構(gòu)清晰、智能度高,具有在線可編程的特點(diǎn)。且以它作為硬件平臺(tái)編寫圖像處理的算法方便。該系統(tǒng)在實(shí)際中可以應(yīng)用于視頻圖像監(jiān)控、圖像自動(dòng)檢測(cè)、醫(yī)療及軍事檢測(cè)等場(chǎng)所。系統(tǒng)的軟、硬件環(huán)境已通過應(yīng)用性、穩(wěn)定性等測(cè)試,具有良好的市場(chǎng)前景。


參考文獻(xiàn)
[1] 徐婉瑩,劉建軍,黃新生.基于CPLD和DSP的高速圖像采集技術(shù)研究[J].電子工程師,2004(6).
[2] TMS320VC5416 Fixed-Point Digital Signal Processor.Texas?Instruments Incorpora-ted, Literature[Z]Number:SPRS095H,2001

[3] 陸宗騏.C/C++圖像處理編程[M].北京:清華大學(xué)出版社,2005.

本站內(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;郵箱:aet@chinaaet.com。