《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 業(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;郵箱:aet@chinaaet.com。