《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 業界動態 > 基于DSP的圖像采集及處理系統的設計與實現

基于DSP的圖像采集及處理系統的設計與實現

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

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

?

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

?

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

?

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

?

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

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

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


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


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


參考文獻
[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.

本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
主站蜘蛛池模板: 全午夜免费一级毛片 | a免费国产一级特黄aa大 | 亚洲中文字幕特级毛片 | www.夜夜操.com| 在线亚洲欧洲国产综合444 | 成人精品一区二区激情 | 一级黄色a毛片 | 国产精品久久久久久久专区 | 免费乱理伦片在线观看影院 | 久久怡红院国产精品 | 老司机午夜在线视频免费观 | 狠狠操网址| 一级毛片特黄久久免费看 | 国产精品毛片无码 | 看中国国产一级毛片真人视频 | 国产一级视频免费 | 性欧美高清极品猛交 | 国产三级a三级三级三级 | 免费看一毛一级毛片视频 | 欧美成人亚洲 | 亚洲欧美一区二区三区图片 | 黄污视频免费观看 | 热热色原网址 | 男女视频免费在线观看 | 欧美在线视 | 日本又色又爽又黄的大片 | 日本欧美一区 | 亚洲最新中文字幕 | a免费看| 日韩中文字幕在线视频 | 一级女性全黄生活片免费看 | 国产羞羞的视频在线观看免费 | 123456成年免费视频 | 大象焦伊人久久综合网色视 | 久久国产欧美日韩高清专区 | 日本簧片在线观看 | 在线国产视频一区 | 午夜片在线 | 春菜花在线中文字幕hd | 在线观看视频一区二区 | 欧美a网站|