4、圖像采集卡
圖像采集卡被作為視頻信號從相機到電腦之間傳輸的橋梁。采集卡有多種總線形式,比如最常見的PCI總線和更大帶寬的它的升級版本PCI-X總線,也有基于AGP、ISA、PC104Plus、CompactPCI以及VME總線的圖像采集卡。
目前大部分相機仍是以模擬信號輸出,圖像采集卡則將各種模擬視頻信號經A/D轉換成數字信號送入計算機,供計算機作處理、存儲、傳輸等之用,一般以可插入計算機,或脫離計算機獨立使用的板卡形式出現。
針對機器視覺應用的圖像采集卡有多種種類、規格。但盡管其設計和特性不同,大多數采集卡的基本原理相同。在此,將基于PCI總線的模擬圖像采集卡為例加以說明。
近年來,數字視頻產品取得了顯著發展。數字視頻產品通常需要對動態圖像進行實時采集和處理,因此產品性能受圖像采集卡的性能影響很大。由于早期圖像采集卡以幀存為核心,處理圖像時需讀寫幀存,對于動態畫面還需“凍結”圖像,同時由于數據傳輸速率的限制,因此圖像處理速度緩慢。
90年代初,INTEL公司提出了PCI(Peripheral Component Interconnect)局部總線規范。PCI總線數據傳寬度為32/64位,允許系統設備直接或間接連接其上,設備間可通過局部總線完成數據的快速傳送,從而較好地解決了數據傳輸的瓶頸問題。
由于PCI總線的高速度,使A/D轉換以后的數字視頻信號只需經過一個簡單的緩存器即可直接存到計算機內存,供計算機進行圖像處理也可將采集到內存的圖像信號傳送到計算機顯示卡顯示;甚至可將A/D輸出的數字視頻信號經PCI總線直接送到顯示卡,在計算機終端上實時顯示活動圖像。
基于PCI總線的圖像采集系統框圖如圖所示。圖中的緩存(數據鎖存器)代替了幀存儲器,這個緩存是一片容量小、控制簡單的先進先出(FIFO)存儲器,起到圖像卡向PCI總線傳送視頻數據時的速度匹配作用。將圖像卡插在計算機的PCI插槽中,與計算機內存、CPU、顯示卡等之間形成調整數據傳送。
圖像采集卡的基本結構
上圖顯示了圖像采集卡的基本結構。首先,同步分離器將同步脈沖從輸入的視頻信號中分離。水平同步表明新的一行的開始,垂直同步表明新的一場或一幀的開始。通常在視頻信號與采集卡相連接后,在采集卡工作穩定之前還需要獲取三幀圖像的時間,當需要在一個視頻源與另一個視頻源之間切換時,這就可能產生麻煩。
為了避免這么長時間的初始化,視頻源必須由外部同步,從而所有相機的水平同步與垂直同步都是同步的,這就是鎖相機制。幸好一些采集卡都帶有用于產生同步信號來鎖相的同步發生器。但是,必須知道這些同步信號是TTL電平而不是視頻標準脈沖電平。因此,視頻源必須能夠與TTL同步輸入協同工作。還須注意,使用采集卡的同步發生器并不表示同步分離是由同步發生器直接控制的。而且,同步分離器與同步發生器是相互獨立工作的,并且不是直接與視頻源相連的。
一旦達到行和幀穩定的同步,獲取圖像的下一個步驟就與像素的產生本身相關。根據視頻標準,抽樣/保持單元需要對CCIR相機采用767像素/行,對于EIA相機采用647像素/行的抽樣來數字化輸入。在上面相機的介紹中討論過這就導致對于CCIR相機需要14.75MHz的像素時鐘頻率,而對于EIA相機需要12.3MHz的像素時鐘頻率。實際中,采集卡的參數可能與標準值會有些不同,但不會有太大差別。另外,只有在采集卡使用相機的像素時鐘的情況下才能夠精確的將CCD芯片的像素映射到采集卡緩存或計算機內存區。
數字化的像素存儲在圖像緩存或FIFO緩存中。圖像緩存存儲至少一副完整幀,當總線帶寬太小而不能無失真的傳輸數字視頻數據流的時候就會使用它。較先進的總線系統,比如PCI總線,對于標準視頻流僅僅需要幾個K字節的FIFO來緩沖無規律的數據流。
因此,有可能在計算機主存中直接獲取數字視頻數據流,也可以將其直接傳送給顯卡供實時觀察。 PCI總線可支持BUS Master設備以132Mbps突發速率傳輸數據。而其平均持續數據傳輸率一般在50~90Mbps。
來自相機的數據總是以一個固定的速率傳輸的。如果PCI總線可以維持大于視頻數據率的平均持續數據傳輸率,問題看起來就解決了。然而實際上并不是這么簡單,PCI總線設備只能以突發的方式向總線傳輸數據。
圖像采集卡必須將每一突發之間的連續的圖像數據保存起來。解決的方法就是采用On-board Memory。有些廠家出于經濟方面的考慮去除了Memory而采用數據緩存隊列(FIFO),FIFO的大小一般以足以保存一行圖像數據為限。然而,當圖像數據的速率大于PCI的持續數據傳輸率時FIFO就不起作用了。
圖像采集卡的基本技術參數主要有以下幾方面:
A.圖像傳輸格式
圖像采集卡需要支持系統中攝像機所采用的輸出信號格式。大多數攝像機采用RS422或EIA644(LVDS)作為輸出信號格式。在數字相機中,IEEE1394,USB2.0和CameraLink幾種圖像傳輸形式則得到了廣泛應用。
B.圖像格式(像素格式)
黑白圖像:通常情況下,圖像灰度等級可分為256級,即以8位表示。在對圖像灰度有更精確要求時,可用10位,12位等來表示;彩色圖像:彩色圖像可由RGB(YUV)3種色彩組合而成,根據其亮度級別的不同有8-8-8,10-10-10等格式。
C.傳輸通道數
當攝像機以較高速率拍攝高分辨率圖像時,會產生很高的輸出速率,這一般需要多路信號同時輸出,圖像采集卡應能支持多路輸入。一般情況下,有1路,2路,4路,8路輸入等。
D.分辨率支持
采集卡能支持的最大點陣反映了其分辨率的性能。一般采集卡能支持768576點陣,而性能優異的采集卡其支持的最大點陣可達64K64K。單行最大點數和單幀最大行數也可反映采集卡的分辨率性能。
E.采樣頻率
采樣頻率反映了采集卡處理圖像的速度和能力。在進行高度圖像采集時,需要注意采集卡的采樣頻率是否滿足要求。目前高檔的采集卡其采樣頻率可達65MHZ。
F.傳輸速率
主流圖像采集卡與主板間都采用PCI接口,其理論傳輸速度為132MB/S。
多媒體VS.機器視覺
乍一看,用于多媒體的圖像采集卡與用于機器視覺的圖像采集卡有些相似:它們都是獲取圖像并將圖像轉化為計算機能夠處理的數字化圖像。而實際上,他們是有著很大的區別。多媒體圖像采集卡獲取圖像是為了視頻及音頻編輯的,它們產生的大量數據流必須被有效的顯示、存儲、傳輸。視頻傳送不需要大量數據,典型的方法就是低分辨率圖像及壓縮技術的應用,而結果圖像質量就會變差。
另一方面,用于機器視覺的圖像必須盡可能精確的表示實際的物體,畢竟一個應用很可能需要告訴用戶精確的信息,比如測量某高度值應該為5.20mm。從驅動軟件的角度看,多媒體圖像采集卡是多采用現存的標準接口比如MCI或TWAIN;而機器視覺領域的圖像采集卡,簡單的采集卡可以通過寄存器或者按照一個更加先進的概念來獲得,隨之有驅動庫,它包含采集卡寄存器結構并且提供對硬件資源的直接存取。
但是,這沒有標準,每一個制造商都有他自己的方法。這就反映了機器視覺硬件標準對于一些特性比如觸發機制的缺乏(在前面1.2 相機一節有相關的介紹)。驅動程序與應用程序之間的接口是普遍標準化的,相比之下,機器視覺應用程序就有很大不同,有很多是針對應用定制的,也有很多通用的開發包。
與圖像采集卡相關的技術
(1)直接存儲器訪問(DMA)
DMA( Direct Memory Access)是一種總線控制方式,它可取代CPU對總線的控制,在數據傳輸時根據數據源和目的的邏輯地址和物理地址映射關系,完成對數據的存取,這樣可以大大減輕數據傳輸時CPU的負擔。
(2)分散/聚集表(Scatter/Gather Table)
分散/聚集表實際上就是一張供DMA傳輸時邏輯地址與物理地址的動態映射表。根據不同的板卡設計,這張表可直接位于采集卡的某個buffer模塊內,稱為硬件式的分散/聚集,它在PCI傳輸時的最高速度可達120M/s;此表也可位于主機的某段內存中,稱為軟件式的分散/聚集,傳輸的最高速度一般為80bps。大部會PC系列采集卡都屬于硬件式的分散/聚集。
(3)查尋表(LUT)
對于圖像采集卡來說,LUT(Look-Up Table)實際上就是一張像素灰度值的映射表,它將實際采樣到的像素灰度值經過一定的變換如閾值、反轉、二值化、對比度調整、線性變換等,變成了另外一個與之對應的灰度值,這樣可以起到突出圖像的有用信息,增強圖像的光對比度的作用。很多PC系列卡具有8/10/12/16甚到32位的LUT,具體在LUT里進行什么樣的變換是由軟件來定義的。
(4) PLL、XTAL和VScan
PLL、XTAL和VScan為模擬采集卡的三種不同工作模式。PLL(Phase Lock Loop)模式:相機向采集卡提供A/D轉換的時鐘信號,此時鐘信號來自于相機輸出的Video信號,HS和VS同步信號可以有三種來源:composite video,composite sync, separate sync; XTAL模式:圖像采集卡給相機提供時鐘信號以及HD/VD信號,并用提供的時鐘信號作為A/D轉換的時鐘,但同步信號仍可用相機輸出的HS/VS; VScan模式:由相機向分別卡提供Pixel Clock信號、HS和VS信號。
(5)子采樣(Decimation)
Decimation實際上是對原始圖像進行子采樣,如每隔2、4、8、16行(列)取一行(列)組成新的圖像。Decimation可以大大減小原始圖像的數據量,同時也降低了分辨率,有點類似于相機的Binning。
(6)可編程子窗生成(PWG)
PWG (Programmable Window Generator)指在獲取的相機原始圖像上開一個感興趣的窗口,每次只存儲和顯示該窗口的內容,這樣也可以在一定程度上減少數據量,但不會降低分辨率。一般采集卡都有專門的寄存器存放有關窗口大小、起始點和終了點坐標的有關數據,這些數據都可通過軟件設置。
(7)數據重組(Resequencing)
Resequencing可以認為是一種對多通道或不同數據掃描方式的相機所輸出數據的重組能力,即將來自CCD靶面不同區域或像素點的數據重新組合成一幅完整的圖像。
(8)非破壞性覆蓋(Non-destructive overlay)
overlay是指在視頻數據顯示窗口上覆蓋的圖形(如彈出式菜單,對話框等)或字符等非視頻數據。“非破壞性覆蓋”是相對于“破壞性覆蓋”來說的,“破壞性覆蓋”指顯示窗口中的視頻信息和覆蓋信息被存放于顯存中的同一段存儲空間內,而“非破壞性覆蓋”指視頻信息與覆蓋信息分別存放于顯存中兩段不同的存儲空間中,顯示窗口中所顯示的信息是這兩段地址空間中所存數據的迭加。如果采用“破壞性覆蓋”,顯存中的覆蓋信息是靠CPU來刷新的,這樣既占CPU時間,又會在實時顯示時由于不同步而帶來閃爍,如果采用“非破壞性覆蓋”則可消除這些不利因素。
-
圖像處理
+關注
關注
27文章
1282瀏覽量
56647 -
機器視覺
+關注
關注
161文章
4345瀏覽量
120115
發布評論請先 登錄
相關推薦
評論