文獻標識碼: A
文章編號: 0258-7998(2014)06-0089-04
隨著科學技術的不斷進步,人們開始在海洋探測、航空航天、現代醫學等領域廣泛使用數字圖像處理技術對數據進行采集、分析。目前市場上大多數視頻圖像采集卡都使用以太網或USB等作為數據、命令的傳輸接口,雖然滿足了人們便捷的需求,但要采集一些大容量的數據時,只能通過增大系統的體積、增加功能模塊的辦法,這樣不僅造成系統體積過大,還會造成數據傳輸過慢、耗用過多計算機資源、開發成本過高等問題的出現。
目前人們開始在Channel Link和LVDS等接口的基礎上制定新的工業視覺產品標準,如Camera Link標準。該標準主要是為數字視頻圖像應用而設計的,具有高速率、高精度、靈活性強的特點。在數字圖像的采集中使用Camera Link接口[1]進行圖像數據的高速實時傳輸,并提高了系統對瞬態信號測量的精確度與準確度,同時很好地解決了高分辨率、高采樣率圖像的傳輸問題。因此,本文提出一個基于Camera Link的高清彩色圖像采集系統設計方案。該系統可以使觀測者清晰地觀測到被測物,為試驗目標追蹤提供了重要的依據。
1 系統總體設計思路
圖像采集系統的總體設計方案如圖1所示,該系統主要分為三大部分:視覺相機、圖像采集卡和PC。該系統的工作原理:首先,通過Camera Link完成采集卡與相機之間的連接后,系統開始上電進行初始化,然后,相機開始進行圖像采集。在相機內部把采集到的光信號轉換變成數字信號,通過串行總線Camera Link把信號傳輸到FPGA中進行數據分析、處理,然后把數據傳輸到Flash中進行數據保存。而上位機軟件通過PCI-E總線實現對圖像采集的控制,把Flash存儲單元中數據傳送到計算機上處理,還原捕捉到的圖像[4]。
2 硬件設計
2.1 Camera Link總線接口模塊
Camera Link協議規范并簡化了圖像采集卡和數字攝像機之間的接口,只要存在滿足標準的攝像機和圖像采集卡就可以實現物理上互聯。采用低壓差分信號LVDS(Low Voltage Differential Signaling)技術實現雙向的串行通信,這樣可以使數據傳輸速率和距離大大提高,減少電磁對數據信號的干擾,確保了數據的準確性與精確度。
Camera Link接口[1]含有Base模式(基本配置)、Medium模式(中等配置)、Full模式(完全配置)三種傳輸模式,每種模式都配有一組控制相機的信號(CC1、CC2、CC3、CC4)和一組串口通信信號(SerTFG、SerTC)。為實現高幀頻圖像數據的傳輸,Camera Link總線在Full模式[6]下的工作原理如圖2所示,該模式下使用3對驅動器/接收器,8個端口可以實現三組數據同步信號的同時傳輸,一次傳輸的數據寬度可達64 bit,實現680 Mb/s圖像數據的吞吐量。
由于相機采用Camera Link接口作為數據的傳輸總線,所以采集卡選用DS90CR288A芯片作為數據的接收裝置。該芯片的工作電壓為3.3 V,支持20~85 MHz的工作時鐘頻率。當時鐘頻率為85 MHz時,每個LVDS通道傳輸28位數據的傳輸速率是595 Mb/s。Camera Link接口在Full模式下工作的部分電路原理圖如圖3所示。使用DS90CR288A芯片作為數據傳輸時的接收器,將LVDS信號分別還原成4位數據同步信號(FVAL、LVAL、DVAL、Spare)、24位圖像數據信號和1路時鐘信號。
2.2 圖像的處理模塊
2.2.1圖像存儲格式簡介
常見視頻圖像數據的存儲格式主要有RGB和YUV兩種。它們都是多媒體數據存儲的主流格式,但是YUV格式所需的存儲空間是RGB格式所需的一半。
RGB色彩模式基于R(Red)、G(Green)、B(Blue)三原色相加混色的原理,即使用三種不同強度的電子束照射在含有紅、綠、藍三種顏色的材料上,使材料因發光而產生色彩。
YUV色彩模式:把采集到的圖像經過處理得到亮度信號Y和兩個色差信號R-Y(即U)、B-Y(即V),然后在發送端完成對亮度、色差三個信號的編碼,再用同一個信道把數據發送出去。
使用YUV色彩空間的好處在于完全把亮度信號和色度信號進行分離。可以通過屏蔽信號的方法,完成彩色與灰度圖像之間的轉換。例如只有亮度信號而沒有色度信號,從而得到黑白色的圖像。
2.2.2 圖像處理的方法
為滿足高分辨率彩色圖像的數據處理[2-3],本系統選用性能可靠、邏輯門資源多的XC6SLX100T芯片作為系統的邏輯控制單元,該芯片具有200多個RAM、多個DSP48A1 Slice等功能特點,確保得到完整的、精確的數據結果。集成度高,可有效解決因數據量過大而造成傳輸速度緩慢、丟失數據等問題的出現。且通過在FPGA中設置RGB to YCrCb的IP核來完成RGB轉換為YUV的功能,實現降低傳輸數據帶寬、提高數據傳輸速度的目的。
系統完成一系列的準備工作以后,相機把采集到的圖像信號經過放大處理后得到RGB格式的圖像,最后通過FPGA中的RGB轉換YUN模塊把信號轉換成含有一個亮度信號和兩個色差信號,分別對這三個信號進行編碼,用同一個低壓差分信號線把數據傳輸出去。RGB向YUV的轉換如式(1)所示, 相互關系的仿真結果如圖4所示。
3 軟件設計
系統軟件工作流程如圖5所示,通過上位機軟件編寫C++程序[5-7],實現對系統工作的智能控制。同時,由于有很多因素可以影響圖像的清晰度,例如白平衡、光補償、圖像增益和幀速率等,所以,為了簡化系統的操作步驟,可以方便快捷地運行系統,使用Pylon view軟件編寫DCF文件,在圖像進行采集時FPGA只需根據不同情況對程序進行簡單的調用。
3.1 像素格式設置
只有視覺傳感器的位深度達到10位或12位時,相機才能實現圖像數據的抓取,而傳輸數據的位深度卻取決于像素格式的選擇。因此,在編寫程序時需要對這些參數進行設置,像素格式與視覺傳感器位深度的關系如表1所示。
3.2 上位機控制程序
為了能夠實現彩色圖像的采集,使用C++語言完成上位機程序的編寫。在程序中使用MilSystem、MilImageDisp、SizeX分別代表采集系統、圖像顯示、X方向大小等參數,通過程序調用不同函數、參數實現上位機控制系統完成對圖像數據的采集與監測。上位機部分程序如下:
int MosMain(void)
{
MdigAlloc(MilSystem,M_DEV0,"300fps.dcf",M_DEFAULT,&MilDigitizer);
//調用Dcf文件,并對系統進行初始化
MbufAllocColor(MilSystem, SizeBand, SizeX, SizeY, 8L+
M_UNSIGNED,M_IMAGE+M_DISP+M_NON_PAGED,
&MilImageDisp);
MbufClear(MilImageDisp, M_BLACK);
MdispSelect(MilDisplay, MilImageDisp);
//指定圖像顯示緩沖單元
… …
for(i = 0; i < 2; i++)
MbufAllocColor(MilSystem, SizeBand, SizeX, SizeY, 8L+
M_UNSIGNED,M_IMAGE+M_GRAB, &MilImage[i]);
//完成圖像的抓取
… …
MbufAllocColor(MilSystem, SizeBand, SizeX, SizeY, 8L+
M_UNSIGNED,M_IMAGE+M_DISP+(SizeBand==M_
YUV16+M_PACKED:0)+M_NON_PAGED,&MilImage
WindowedDisp);
//完成彩色圖像的轉換
… …
}
3.3系統檢測
使用PCI-E總線將采集卡與計算機連接,在PC上運行軟件,使系統完成對周圍環境的采集與監測。不同參數設置對圖像的影響如圖6所示。通過對比可以發現,圖6(a)在是缺少白平衡參數的情況下拍攝的,顯示效果較差,圖像有點發黑;圖6(c)是在曝光率過高時拍攝的,圖像的視覺感偏白,有較強白光;圖6(d)是在相機為灰度時拍攝的,圖像可以正常顯示,但不能像真彩圖像那樣更加直觀、真實地顯示出被測物的真實情況。綜上所述,圖6(b)中的顯示效果最好,可以清楚地顯示被測物體的特征。
文中提出了一個可以采集高清彩色圖像的系統設計方案,在Full工作模式下Camera Link總線可以對大量數據進行高速傳輸,確保傳輸時數據的精度,降低了丟幀現象的出現,通過軟件控制可以簡單快捷地實現對圖像的采集、遠程控制。在實際的工程應用中,本系統可以很好地完成對試驗現場的實時監測,體現出較高的實用價值與參考價值。
參考文獻
[1] 電子發燒友. 圖像采集系統的Camera Link標準接口設計[DB/OL].2010.http://www.elecfans.com/yuanqijian/jiekou/20100728221010.html.
[2] 熊偉,曾巒,趙忠文.彩色實時圖像采集存儲系統[J].指揮技術學院學報,2001,12(6):72-75.
[3] 韓曉微.彩色圖像處理關鍵技術研究[D].沈陽:東北大學,2005.
[4] 楊會玲,楊會偉,王軍.基于PCI Express總線的高幀頻CMOS相機圖像采集系統設計[J].電子技術應用,2009,35(4):91-93.
[5] 張成遷.高速數據采集回放系統設計與實現[D].長沙:國防科學技術大學,2009.
[6] 呂耀文,王建立,曹景太.Base型Camera Link脫機存儲系統設計[J].光電子技術,2012,32(4):242-245.
[7] Hui Xiaowei,Shen Qinglei,et al. Acquisition board design of high-speed image data based on ARM and FPGA[C].International Conference on Computer Design and Applications,2010:1720-1732.