圖像采集
圖像指的是一切圖片和影像的總稱(chēng),是現(xiàn)代信息社會(huì)中最常見(jiàn)、最基本的一種數(shù)據(jù)信息。圖像在人們的生活和生產(chǎn)中無(wú)處不見(jiàn),它在人類(lèi)獲取的外部信息中占據(jù)著重要的地位。記錄圖像信息的手段從一開(kāi)始的膠片技術(shù)一直發(fā)展到現(xiàn)在應(yīng)用最廣泛的 CCD/CMOS 圖像傳感器。圖像采集系統(tǒng)是一種采集、獲取數(shù)字化視頻圖像信息,并依據(jù)要求將其上傳至計(jì)算機(jī)、播放或者存儲(chǔ)起來(lái)的硬件設(shè)備。對(duì)于現(xiàn)在的普遍應(yīng)用來(lái)說(shuō),圖像采集基本都是指采集 CCD/CMOS 相機(jī)輸出的圖像信號(hào)。采集精度、采集速度和采集系統(tǒng)的存儲(chǔ)量是圖像采集系統(tǒng)的關(guān)鍵要素。尤其是高速圖像采集系統(tǒng)中,數(shù)據(jù)量普遍偏大,所以對(duì)數(shù)據(jù)的儲(chǔ)存和傳輸有著更加嚴(yán)格的要求。1
應(yīng)用背景隨著現(xiàn)代電子技術(shù)的飛速發(fā)展,高速圖像采集技術(shù)在越來(lái)越多的領(lǐng)域都有了廣泛的應(yīng)用,例如圖像處理、電視會(huì)議、治安監(jiān)控系統(tǒng)、交通監(jiān)控、工業(yè)控制、軍事、醫(yī)學(xué)、航天等方面??梢哉f(shuō)在我們生活的方方面面都能涉及到圖像采集技術(shù),應(yīng)用領(lǐng)域各不相同也就帶來(lái)了對(duì)技術(shù)的不同要求。最常見(jiàn)的圖像采集器件就是圖像采集卡,而目前市場(chǎng)大部分的圖像采集卡都對(duì)圖像數(shù)據(jù)傳輸格式有一定限制,而且采用的是“相機(jī)—圖像采集卡—計(jì)算機(jī)”這樣的連接傳輸模式,直接傳輸?shù)接?jì)算機(jī)上,這種方式功能單一、傳輸速度有限,并且需要直連計(jì)算機(jī)受工作環(huán)境限制較大。所以設(shè)計(jì)一種高速、使用方便的圖像采集系統(tǒng)將能符合許多領(lǐng)域的應(yīng)用需求。
研究現(xiàn)狀圖像采集系統(tǒng)的發(fā)展方向有非常大一部分因素是由 CCD/CMOS 傳感器的發(fā)展決定的。從 1969 年 CCD 器件發(fā)明以來(lái),人們對(duì)這類(lèi)傳感器的研究就從來(lái)沒(méi)有間斷過(guò)。至 20 世紀(jì) 90 年代分辨率突破百萬(wàn)像素并開(kāi)始在數(shù)字相機(jī)中廣泛應(yīng)用。直到現(xiàn)在由于半導(dǎo)體制造工藝的飛速發(fā)展,大 CCD/CMOS 傳感器的分辨率已經(jīng)達(dá)到數(shù)千萬(wàn)像素,大面陣、小像元的 CCD 傳感器層出不窮,美國(guó) EG&G.Retion就研制出 8192×8192 像元的高分辨率 CCD 圖像傳感器。另外 CMOS 傳感器雖然成像質(zhì)量相較于 CCD 傳感器略差,但是讀取速度卻非???,加拿大 Dalsa 公司開(kāi)發(fā)的 CMOS 傳感器最高讀出速度可達(dá) 20000 幀/秒。所以幾乎所有數(shù)字相機(jī)的輸出圖像數(shù)據(jù)量都有個(gè)明顯的增長(zhǎng),這就必然要求圖像采集系統(tǒng)采集跟上高速大量的相機(jī)輸出數(shù)據(jù),這也是現(xiàn)今高速圖像采集系統(tǒng)的發(fā)展趨勢(shì)。 早期的圖像采集由于計(jì)算機(jī)總線(xiàn)速度實(shí)在太低,視頻圖像完全不能實(shí)時(shí)采集并送入計(jì)算機(jī)或存儲(chǔ)下來(lái),所以通常采用膠片式高速攝影機(jī)將運(yùn)動(dòng)事件以圖像的方式記錄下來(lái)。等到膠片沖洗完,直接在膠片上進(jìn)行觀(guān)察分析。這種方法的缺點(diǎn)很多,使用時(shí)占用眾多設(shè)備,采集到所需圖像耗時(shí)長(zhǎng),整個(gè)過(guò)程效率極低。到現(xiàn)在這種方法已漸漸淘汰。 上世紀(jì)九十年代前,主要是以模擬信號(hào)為主的圖像信息采集處理系統(tǒng)。在工業(yè)應(yīng)用、視頻監(jiān)控等系統(tǒng)中,圖像信息主要是以模擬信號(hào)為主,但是模擬信號(hào)的固有局限性難以滿(mǎn)足更高的應(yīng)用要求,數(shù)字化是必然的方向。2
高速數(shù)據(jù)采集系統(tǒng)分類(lèi)如今,隨著數(shù)字相機(jī)和計(jì)算機(jī)技術(shù)的飛速發(fā)展,圖像采集技術(shù)主要就是采集數(shù)字相機(jī)的圖像數(shù)據(jù),一般常見(jiàn)的有如下幾種系統(tǒng):
PCI 圖像采集卡第一類(lèi)是最常見(jiàn)的 PCI 圖像采集卡,圖像采集卡與主板間采用 PCI 接口連接,圖像數(shù)據(jù)流向是“相機(jī)—圖像采集卡—計(jì)算機(jī)”這樣的模式。圖像采集卡使用非常簡(jiǎn)單,成本也不高,其作用只是將數(shù)據(jù)直接上傳到計(jì)算機(jī),所有的后續(xù)存儲(chǔ)和處理都是在計(jì)算機(jī)上實(shí)現(xiàn)的。圖像采集卡采用 PCI 的理論帶寬峰值是 132MB/s,實(shí)際應(yīng)用中一般因?yàn)榕c其他 PCI 設(shè)備產(chǎn)生沖突等原因很難能達(dá)到峰值帶寬。這種圖像采集系統(tǒng)還有一大缺點(diǎn)是必須連接電腦,在很多戶(hù)外環(huán)境下使用極不方便。而且其百兆出頭的采集速度在先進(jìn)很多設(shè)備上難以滿(mǎn)足采集速度要求,所以一些此類(lèi)圖像采集卡上都帶有數(shù)據(jù)壓縮功能,尤其是對(duì)于視頻采集上,不同檔次的采集卡具有不同檔次的壓縮性能。對(duì)數(shù)據(jù)的壓縮在不太注重質(zhì)量的情況下可以不考慮,甚至壓縮之后還便于存儲(chǔ),但另外一些有嚴(yán)格要求的情況就難以滿(mǎn)足使用需求了。
控制芯片第二類(lèi)系統(tǒng)是在硬件采集過(guò)程中加入控制芯片進(jìn)行一些相對(duì)簡(jiǎn)單的圖像處理,如灰度均衡、彩色圖像二值化或圖像重構(gòu)等。早期系統(tǒng)中,多使用單片機(jī)或者DSP 控制來(lái)實(shí)現(xiàn)此功能,但隨著數(shù)據(jù)量越來(lái)越大,這種方式已經(jīng)很難滿(mǎn)足要求?,F(xiàn)在高速度的 FPGA 以及部分專(zhuān)用數(shù)字處理芯片的出現(xiàn)以及流行為這種圖像采集和處理系統(tǒng)帶來(lái)了新的解決方案。目前在圖像方面已經(jīng)有了很多成熟的IP Core,如濾波器、顏色空間轉(zhuǎn)換、圖像編碼器等[12],利用 FPGA 來(lái)實(shí)現(xiàn)數(shù)字信號(hào)處理系統(tǒng)的計(jì)算已經(jīng)比較普遍了。FPGA 具有高速、開(kāi)發(fā)時(shí)間短、靈活性高、可并行處理等優(yōu)點(diǎn)。相比于純軟件的串行工作方式,F(xiàn)PGA 硬件的并行和流水線(xiàn)工作方式在速度上占有很大優(yōu)勢(shì),而且同時(shí)可以利用 FPGA 進(jìn)行外部邏輯控制,在一定程度上也提高了系統(tǒng)的集成度。近年來(lái)就有非常多對(duì)基于 FPGA 集合圖像處理的圖像采集系統(tǒng)的研究。
板載存儲(chǔ)第三類(lèi)是實(shí)現(xiàn)圖像采集并把采集到的圖像數(shù)據(jù)直接進(jìn)行板載存儲(chǔ),不必須連接計(jì)算機(jī)的方案。這種方案相較于直接連接計(jì)算機(jī),將數(shù)據(jù)全部傳輸?shù)接?jì)算機(jī)上的方法有一個(gè)比較明顯的優(yōu)勢(shì),就是使用方便。若要直接上傳至計(jì)算機(jī),那么不論采集條件和環(huán)境如何,都必須要攜帶一臺(tái)計(jì)算機(jī)才能進(jìn)行相關(guān)工作,這在戶(hù)外有些情況下是非常麻煩,甚至不可能達(dá)到的。如果是板載存儲(chǔ),那么采集設(shè)備體積就很小,可以任意攜帶,環(huán)境適應(yīng)性大大加強(qiáng)。這種方式在早期,主要是限制于存儲(chǔ)器的速度和容量。早些時(shí)候小體積的存儲(chǔ)器存儲(chǔ)空間有限,當(dāng)要求存放大容量的圖像信息時(shí)就要對(duì)圖像進(jìn)行壓縮,這樣難免會(huì)丟失部分圖像信息。一些較好的方法可以在某些程度上帶來(lái)一些存儲(chǔ)上的優(yōu)化措施,例如存儲(chǔ)少量圖像時(shí)進(jìn)行高分辨率的原圖存儲(chǔ),而需要繼續(xù)存儲(chǔ)更多圖像信息時(shí),就把先前存入的高質(zhì)量圖像壓縮來(lái)空出存儲(chǔ)空間以存儲(chǔ)后來(lái)的圖像。這種彈性?xún)?chǔ)存法能在有限的空間內(nèi)存儲(chǔ)盡量高質(zhì)量的圖像,但存儲(chǔ)過(guò)程中需要大量的運(yùn)算,必然導(dǎo)致存儲(chǔ)速度降低。之前對(duì)于這方面的研究還比較少,現(xiàn)在由于半導(dǎo)體工藝的發(fā)展,高速度大容量小體積存儲(chǔ)器的出現(xiàn),鑒于板載存儲(chǔ)廣泛的適用性,對(duì)這種系統(tǒng)的研究具有很高的實(shí)用意義。2
高速數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)利用近年來(lái)提出的一些高速度、高性能的接口,采用現(xiàn)在應(yīng)用很廣的 Nand Flash大容量存儲(chǔ)芯片提出一種板載存儲(chǔ)的高速圖像采集系統(tǒng)。
利用高速接口和存儲(chǔ)器,設(shè)計(jì)出一種高速圖像采集系統(tǒng)方案。整個(gè)高速圖像采集系統(tǒng)構(gòu)成如圖所示,包括數(shù)據(jù)輸入采集模塊、顯示模塊、存儲(chǔ)模塊、數(shù)據(jù)輸出模塊和核心控制芯片 FPGA。
FPGA 是系統(tǒng)的控制核心,所有模塊都由 FPGA 聯(lián)系起來(lái),圖像數(shù)據(jù)每一步的流向都是由 FPGA 來(lái)控制的。
數(shù)據(jù)輸入采集模塊的作用是接收數(shù)字相機(jī)傳輸來(lái)的圖像視頻信號(hào)并且傳到FPGA 上以供后續(xù)操作。采集接口只有一種,就是當(dāng)下非常流行的高速相機(jī)接口Camera Link。Camera Link 接口接收相機(jī)傳輸來(lái)的 LVDS 信號(hào)轉(zhuǎn)化為系統(tǒng)內(nèi)部使用的 TTL 信號(hào)送給 FPGA。
顯示模塊是一種可選擇的輔助作用,用于在采集過(guò)程中觀(guān)察所采集到的圖像或者采集后重放存儲(chǔ)芯片內(nèi)儲(chǔ)存的圖像信息。顯示模塊的接口是 DVI 接口,使用時(shí)連接 DVI 顯示器方可工作。
存儲(chǔ)模塊是此高速圖像采集系統(tǒng)的核心,F(xiàn)PGA 接收到采集的圖像數(shù)據(jù),經(jīng)過(guò)高速緩存,最終儲(chǔ)存在系統(tǒng)內(nèi)。使用DDR2 SDRAM 來(lái)進(jìn)行數(shù)據(jù)緩存,最終存儲(chǔ)在 NAND Flash 存儲(chǔ)器內(nèi)。 所存數(shù)據(jù)最終是要上傳到計(jì)算機(jī)來(lái)進(jìn)行處理或者存儲(chǔ)的,數(shù)據(jù)輸出模塊就是這個(gè)作用。
與計(jì)算機(jī)連接使用的是 USB3.0 接口,USB 接口是計(jì)算機(jī)上最常見(jiàn)的接口,新版本的 USB3.0 也在各方面性能有了很大的提高。
FPGA本 系 統(tǒng) 使 用 的 FPGA 是 Xilinx 公 司 生 產(chǎn) 的 Spartan-6 系 列 芯 片XC6SLX25-3FG484C。Spartan 系列是 Xilinx 公司面向普通工業(yè)、商業(yè)的領(lǐng)域的低成本系列芯片。新一代 Spartan-6 系列不僅擁有業(yè)界領(lǐng)先的系統(tǒng)集成能力,同時(shí)還能實(shí)現(xiàn)適用于大批量應(yīng)用的最低總成本。與上一代 Spartan 系列相比,該系列芯片功耗僅為其 50%,且速度更快,連接功能更加豐富全面。
電源模塊電源是系統(tǒng)設(shè)計(jì)中非常重要的一部分,如果電源不穩(wěn)定,就會(huì)對(duì)電路的正常工作造成影響,不但電路運(yùn)行會(huì)出現(xiàn)問(wèn)題,而且會(huì)影響器件的使用壽命。在電源設(shè)計(jì)上,為了保證每個(gè)器件都能正確獲得其所需電壓,就要考慮電源傳輸過(guò)程中的阻抗,也要顧及盡量消除電源噪聲等影響。
采集模塊采集模塊就是 Camera Link 接收部分,使用的是 National Semiconductor 公司的 LVDS 接收芯片 DS90CR288A,此芯片接收四對(duì) LVDS 信號(hào)并轉(zhuǎn)化為 28 位LVTTL/LVCMOS 數(shù)據(jù),最高支持 85MHz 像素時(shí)鐘,也就是 2.38Gbit/s 的數(shù)據(jù)傳輸速度。芯片典型應(yīng)用如圖所示,左半部分是相機(jī)內(nèi)的 TTL/CMOS 信號(hào)轉(zhuǎn)化為 LVDS 信號(hào)輸出,右半部分是本系統(tǒng)接收連接線(xiàn)傳來(lái)的四對(duì)相機(jī) LVDS 信號(hào)和一對(duì)時(shí)鐘信號(hào)經(jīng)過(guò) Camera Link 接口后,由 DS90CR288A 芯片轉(zhuǎn)化回 28 路LVTTL/LVCMOS 信號(hào)。
顯示模塊顯示模塊的視頻接口使用的是 DVI 接口,在系統(tǒng)設(shè)計(jì)中既包含 DVI 視頻輸入接口,也包含了 DVI 視頻輸出接口。其中輸入接口的目的是在系統(tǒng)調(diào)試過(guò)程中,利用 DVI 輸入的圖像數(shù)據(jù)進(jìn)行后面存儲(chǔ)功能的調(diào)試,就不詳細(xì)介紹了。而 DVI輸出接口的作用則是對(duì)采集模塊 Camera Link 采集來(lái)的圖像數(shù)據(jù)進(jìn)行顯示,可以采集來(lái)實(shí)時(shí)顯示,也可以用來(lái)顯示之前存儲(chǔ)在系統(tǒng)中的圖像信息以作驗(yàn)證之用。
存儲(chǔ)模塊存儲(chǔ)模塊是 FPGA 接收到 Camera Link 接口采集來(lái)的圖像數(shù)據(jù)先經(jīng)過(guò) DDR2 SDRAM 緩存,然后存入 NAND Flash 中。所以該模塊主要包含 DDR2 SDRAM 和NAND Flash 兩個(gè)部分。
數(shù)據(jù)輸出模塊圖像采集系統(tǒng)的作用是把采集到的數(shù)據(jù)上傳到計(jì)算機(jī)上,本設(shè)計(jì)雖然著重于使用方便的圖像采集板載存儲(chǔ),但最后肯定要把圖像上傳到計(jì)算機(jī)進(jìn)行存儲(chǔ)、處理、分析等工作。USB 接口幾乎是現(xiàn)在最流行的計(jì)算機(jī)接口,USB3.0 的提出也解決了之前版本速度偏低的問(wèn)題,可以將圖像數(shù)據(jù)快速傳輸?shù)接?jì)算機(jī)上。
核心問(wèn)題就所要實(shí)現(xiàn)的功能來(lái)看,高速圖像采集系統(tǒng)所做的就是保證圖像數(shù)據(jù)流可靠地按照預(yù)先安排好的路徑傳輸、顯示、存儲(chǔ)。其各模塊之間的速度匹配關(guān)系的優(yōu)劣在很大程度上決定了整個(gè)系統(tǒng)的性能好壞,要盡量做到不過(guò)度浪費(fèi)某一模塊的數(shù)據(jù)傳輸能力,同時(shí)也要保證不能造成前面模塊傳輸來(lái)的數(shù)據(jù)量超過(guò)后面所能處理、存儲(chǔ)的能力導(dǎo)致數(shù)據(jù)錯(cuò)誤或者丟幀現(xiàn)象。這在設(shè)計(jì)上必須要考慮到每一模塊的速度以及模塊之間的速度匹配問(wèn)題,這也是系統(tǒng)能夠高效、穩(wěn)定工作的一個(gè)關(guān)鍵。2