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

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

2009-05-19
作者:劉紅喜1,,李長江1,,孫俊喜2

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

?

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

?

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

?

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

?

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

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

3 軟件部分
3.1 圖像算法
  DSP的軟件編程既可以使用匯編語言,,也可以使用C語言。使用匯編語言的優(yōu)點是可以使系統(tǒng)的執(zhí)行速度很快,,但編寫起來比較費時費力,;使用C語言可以提高開發(fā)效率,使程序可以和高級語言接軌,,但是CCS對C語言的編譯效率較低,,大約在30%左右。在系統(tǒng)的運算量不大,、實時性要求不強的情況下,,使用C語言比較合適;而在系統(tǒng)運算量大,、實時性要求較高的情況下,,使用匯編語言比較合適。由于本系統(tǒng)的視頻數(shù)據(jù)的處理算法運算量不大,、實時性要求又不高,,所以采用C語言進行軟件編程。
  系統(tǒng)利用CPLD將DSP的三個I/O口空間定義為地址總線接口和數(shù)據(jù)總線接口,。因為SRAM數(shù)據(jù)共有512 K×16 bit個存儲空間,,地址線有19條,數(shù)據(jù)線16條,。所以將I/O口空間的0000H定義為地址總線的高3位地址,,將I/O口空間的0001H定義為地址總線的低16位地址,將I/O口空間的0002H定義為數(shù)據(jù)總線的16位地址,。這樣做可以不占用DSP的數(shù)據(jù)及地址總線,,方便系統(tǒng)以后外擴存儲器,做這兩個接口也加強了系統(tǒng)板的通用性,。
????由于最終存儲的數(shù)字視頻格式是YUV數(shù)據(jù)格式,,所以進行算法設計時要針對這種格式進行設計。進行灰度算法設計時可以將色度信號也就是UV信號的數(shù)據(jù)全部置0,。實現(xiàn)的結果是亮度信號Y信號被分成0~255種格式,,再將色度信號置零,,就實現(xiàn)了灰度算法。而反色算法就是在將灰度算法的亮度信號Y信號數(shù)據(jù)按位取反,,所得的結果就是反色算法的結果,。而邊緣提取算法是在首先進行灰度圖像算法的基礎上,得到的灰度運算結果后進行的運算,。
  圖像上區(qū)域的邊緣反映為相鄰像素間灰度圖像的躍變,。邊緣檢測可借助空域微分算法通過卷積和類似卷積的運算實現(xiàn)。對于數(shù)字圖像,,求導實際上運用的是求差分,。圖像處理中最為常用的邊緣檢測算法有梯度法、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,,實現(xiàn)總線控制權的交接,CPLD獲得總線控制權,。通過CCD采集一幀圖像,,利用SAA7111進行數(shù)字視頻解碼,存儲到SRAM中,。當一幀數(shù)據(jù)寫入幀緩存后,CPLD關閉SAA7111A的視頻輸出,放棄總線控制權,,并發(fā)送信號給DSP,通知DSP進入圖像處理程序,。DSP通過CPLD及緩沖器從SRAM中取得時鐘視頻數(shù)據(jù),,同時將數(shù)據(jù)通過AL250視頻編碼芯片在CRT顯示器上顯示。


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


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

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

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,,轉載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點,。轉載的所有的文章,、圖片、音/視頻文件等資料的版權歸版權所有權人所有,。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認版權者,。如涉及作品內(nèi)容、版權和其它問題,,請及時通過電子郵件或電話通知我們,,以便迅速采取適當措施,避免給雙方造成不必要的經(jīng)濟損失,。聯(lián)系電話:010-82306118,;郵箱:[email protected]