多分辨率圖像實(shí)時(shí)采集系統(tǒng)的FPGA邏輯設(shè)計(jì)_第1頁
多分辨率圖像實(shí)時(shí)采集系統(tǒng)的FPGA邏輯設(shè)計(jì)_第2頁
多分辨率圖像實(shí)時(shí)采集系統(tǒng)的FPGA邏輯設(shè)計(jì)_第3頁
多分辨率圖像實(shí)時(shí)采集系統(tǒng)的FPGA邏輯設(shè)計(jì)_第4頁
多分辨率圖像實(shí)時(shí)采集系統(tǒng)的FPGA邏輯設(shè)計(jì)_第5頁
已閱讀5頁,還剩3頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、多分辨率圖像實(shí)時(shí)采集系統(tǒng)的FPGA邏輯設(shè)計(jì)劉德良1, 姚春蓮1, 李 時(shí)間:2008年10月06日 字 體: 大 中 小關(guān)鍵詞:壓縮系統(tǒng)圖像采集系統(tǒng)圖像數(shù)據(jù)互斥鎖A/D摘? 要: 提出了一種基于FPGA的實(shí)時(shí)、多分辨率圖像采集系統(tǒng)的控制邏輯設(shè)計(jì)方案;并對(duì)其中的圖像數(shù)據(jù)預(yù)處理和幀存乒乓刷新機(jī)制這兩個(gè)關(guān)鍵技術(shù)進(jìn)行了闡述;為了驗(yàn)證圖像采集系統(tǒng)在整個(gè)圖像處理系統(tǒng)中所起的作用,還對(duì)圖像壓縮系統(tǒng)的幀率進(jìn)行了比較實(shí)驗(yàn)。實(shí)驗(yàn)結(jié)果表明,設(shè)計(jì)并實(shí)現(xiàn)的圖像采集系統(tǒng)不僅運(yùn)行穩(wěn)定,而且顯著提高了圖像處理系統(tǒng)的整體性能。關(guān)鍵詞: FPGA? 圖像采集? 圖像壓縮?隨著數(shù)字多媒體技術(shù)的不斷發(fā)展,數(shù)字圖像處理技術(shù)被廣泛應(yīng)用于

2、可視電話、電視會(huì)議、監(jiān)控系統(tǒng)等各種民用、商業(yè)及工業(yè)生產(chǎn)領(lǐng)域中。但在這些數(shù)字圖像處理系統(tǒng)中,一個(gè)突出的問題就是數(shù)據(jù)量龐大,特別是在圖像幀率及分辨率要求比較高的場合下,僅用專用的視頻壓縮芯片(Video ASIC)、專用的視頻信號(hào)處理器(Video DSP)或通用的高性能數(shù)字信號(hào)處理芯片(DSP),均無法獲得令人滿意的效果。為此,人們提出了多種解決方案,其中比較有代表性的方案有以下兩種:一是在中央控制器的調(diào)度下,兩片或多片圖像處理主芯片并行對(duì)圖像進(jìn)行處理。二是整個(gè)圖像處理系統(tǒng)由圖像采集系統(tǒng)和圖像壓縮系統(tǒng)組成,其中圖像采集系統(tǒng)負(fù)責(zé)接收原始的圖像數(shù)據(jù)并對(duì)其進(jìn)行一定的預(yù)處理;圖像壓縮系統(tǒng)負(fù)責(zé)接收?qǐng)D像采集

3、系統(tǒng)預(yù)處理后的數(shù)據(jù)并進(jìn)行壓縮。本文將基于第二種方案,分析其中圖像采集系統(tǒng)的控制邏輯設(shè)計(jì)思路;并結(jié)合圖像壓縮算法的需求,著重介紹圖像數(shù)據(jù)預(yù)處理的控制流程及實(shí)現(xiàn)方法;最后通過實(shí)驗(yàn),對(duì)預(yù)處理前后圖像處理系統(tǒng)的效率進(jìn)行比較分析。1 圖像采集系統(tǒng)的結(jié)構(gòu)及工作原理本文以高性能、高集成度、低功耗系列FPGA作為核心部件,利用FPGA的在系統(tǒng)可編程以及控制邏輯實(shí)現(xiàn)方式靈活等特點(diǎn),設(shè)計(jì)出圖像采集系統(tǒng)。該系統(tǒng)能夠滿足多分辨率灰度和彩色圖像的實(shí)時(shí)壓縮處理要求,其硬件結(jié)構(gòu)如圖1所示,主要包括A/D轉(zhuǎn)換部分、幀存部分和核心控制部分。下面分別對(duì)這三個(gè)部分進(jìn)行介紹。?1.1 A/D轉(zhuǎn)換部分 A/D轉(zhuǎn)換部分即圖1中的視頻解碼

4、器,用來完成模擬視頻信號(hào)到數(shù)字信號(hào)的轉(zhuǎn)換,產(chǎn)生復(fù)合的YUV數(shù)據(jù)流,并送入采集系統(tǒng)的FPGA中。A/D轉(zhuǎn)換部分所選用的視頻解碼器是Philips公司的視頻A/D芯片SAA7111A_4,它不僅具有自動(dòng)場頻檢測特性,而且其場同步參考信號(hào)VREF、行同步參考信號(hào)HREF、奇偶場標(biāo)志信號(hào)RTS0、像素時(shí)鐘信號(hào)LLC2均可從芯片的輸出管腳直接得到,從而簡化了時(shí)鐘鎖相與同步功能模塊的設(shè)計(jì),使整個(gè)系統(tǒng)的性能和穩(wěn)定性均有所提高,同時(shí)減少了整個(gè)系統(tǒng)的功耗2。1.2 幀存部分幀存部分采用雙幀存結(jié)構(gòu),包括圖1中的幀存A與幀存B,每個(gè)幀存由兩片IDT71V424 SRAM構(gòu)成,能夠存放720576分辨率的一幀YUV圖

5、像數(shù)據(jù)。由于采用了乒乓機(jī)制,這種結(jié)構(gòu)能夠使圖像數(shù)據(jù)的采集與壓縮并行,從而提高圖像的壓縮幀率。1.3 核心控制部分采集系統(tǒng)的核心控制部分即圖1中的FPGA。首先對(duì)A/D轉(zhuǎn)換部分的輸出數(shù)據(jù)流進(jìn)行一定的預(yù)處理;其次將預(yù)處理后的數(shù)據(jù)在幀存乒乓、刷新機(jī)制的控制下寫入適當(dāng)幀存中;最后完成與圖像壓縮系統(tǒng)的接口控制,即適時(shí)將幀存的控制權(quán)轉(zhuǎn)交給圖像壓縮系統(tǒng),由圖像壓縮系統(tǒng)將幀存中的數(shù)據(jù)讀出后釋放幀存的控制權(quán)。另外本部分還負(fù)責(zé)接收用戶輸入的圖像分辨率、色彩以及相應(yīng)壓縮碼流傳輸信道的帶寬等控制信息,并在這些信息發(fā)生變化時(shí)用中斷的方式通知圖像壓縮系統(tǒng)。核心控制部分所選用的FPGA為Xilinx公司的Virtex-10

6、0E系列,它具有10萬等效系統(tǒng)門,系統(tǒng)時(shí)鐘頻率可達(dá)240MHz,用戶可用的I/O管腳有196個(gè),核電壓為1.8V,峰值功耗較低3。1.3.1 圖像采集系統(tǒng)控制邏輯功能框圖圖像采集系統(tǒng)控制邏輯框圖如圖2所示。作為采集系統(tǒng)核心控制邏輯的主控模塊,用來調(diào)用各子功能模塊。子功能模塊是整個(gè)控制邏輯執(zhí)行的起點(diǎn),它根據(jù)I2C協(xié)議來配置視頻解碼器,并且只有I2C配置過程結(jié)束后,才能啟動(dòng)其它子功能模塊的運(yùn)行。子功能模塊用于完成圖像采集系統(tǒng)與圖像壓縮系統(tǒng)的交互。子功能模塊用于完成圖像采集、預(yù)處理、存儲(chǔ)控制等功能。下邊分別介紹各子模塊的設(shè)計(jì)思想。?1.3.2 基于I2C配置視頻解碼器視頻解碼器的初始化配置是由FPG

7、A通過I2C總線完成的,主要包括對(duì)視頻解碼器的工作模式、輸出行場同步參考信號(hào)的時(shí)序關(guān)系以及輸出數(shù)字信號(hào)的格式等進(jìn)行的設(shè)置。1.3.3 與圖像壓縮系統(tǒng)握手為了確保圖像壓縮系統(tǒng)與圖像采集系統(tǒng)的同步,需要在FPGA中實(shí)現(xiàn)兩者之間的握手機(jī)制,主要是接收?qǐng)D像壓縮系統(tǒng)請(qǐng)求幀存控制權(quán)和釋放幀存控制權(quán)的信號(hào),并根據(jù)FPGA內(nèi)部邏輯的當(dāng)前運(yùn)行狀態(tài)進(jìn)行響應(yīng)。1.3.4 原始圖像數(shù)據(jù)采集在一幀圖像數(shù)據(jù)的采集過程中,最重要的就是對(duì)一幀圖像數(shù)據(jù)開始和結(jié)束時(shí)刻的判斷。在仔細(xì)研究了SAA7111A_4所提供的同步信號(hào)(奇偶場標(biāo)識(shí)信號(hào)RTS0、場同步參考信號(hào)VREF、行同步參考信號(hào)HREF)的時(shí)序關(guān)系的基礎(chǔ)上,用狀態(tài)機(jī)實(shí)現(xiàn)了

8、對(duì)采集過程起止點(diǎn)的精確控制。圖3所示為一幀圖像采集期間三個(gè)同步信號(hào)的時(shí)序示意圖。?RTS0信號(hào)的上升沿標(biāo)識(shí)一幀新圖像的起點(diǎn),VREF信號(hào)為高電平對(duì)應(yīng)圖像場正程掃描時(shí)的有效像素行期間,在有效像素行期間,HREF信號(hào)為高電平對(duì)應(yīng)像素的有效采樣時(shí)間?;谶@三個(gè)信號(hào)確定一幀圖像采集過程起止點(diǎn)的流程如下: 若檢測到RTS0信號(hào)的電平為低,轉(zhuǎn)到; 若檢測到RTS0信號(hào)的電平為高,轉(zhuǎn)到,同時(shí)開始一幀新圖像的采集;若檢測到VREF信號(hào)的電平為高,轉(zhuǎn)到;若檢測到VREF信號(hào)的電平為低,則表明352288分辨率模式下的一幀圖像采集過程結(jié)束或720576分辨率模式下的第一場圖像采集過程結(jié)束,轉(zhuǎn)到,否則在HREF信號(hào)

9、的電平為高期間進(jìn)行有效的圖像數(shù)據(jù)采集; 若檢測到VREF信號(hào)的電平為高,轉(zhuǎn)到;若檢測到VREF信號(hào)的電平為低,則表明720576分辨率模式下第二場圖像采集過程結(jié)束,轉(zhuǎn)到,否則在HREF信號(hào)的電平為高期間進(jìn)行有效的圖像數(shù)據(jù)采集。1.3.5 采集圖像數(shù)據(jù)的預(yù)處理及存儲(chǔ)圖像壓縮系統(tǒng)所需要的輸入圖像數(shù)據(jù)流是按照宏塊SLICE圖像的分層結(jié)構(gòu)組織的,如圖4所示(以720576分辨率為例)。而在圖像采集系統(tǒng)中,A/D轉(zhuǎn)換后的輸出數(shù)據(jù)流結(jié)構(gòu)如圖5所示。因此,必須對(duì)圖5所示的數(shù)據(jù)流進(jìn)行相應(yīng)的預(yù)處理,圖像壓縮系統(tǒng)才能夠直接從圖像采集系統(tǒng)中得到所需要的數(shù)據(jù)格式,從而提高整個(gè)圖像處理系統(tǒng)的性能。? 按照?qǐng)D4所示的分層

10、結(jié)構(gòu),圖像數(shù)據(jù)在幀存中以SLICE為單位順序存儲(chǔ),其中SLICE的尺寸既要考慮圖像壓縮系統(tǒng)中圖像壓縮算法的要求,又要考慮與圖像分辨率有著密切的關(guān)系。圖6所示為圖像數(shù)據(jù)在幀存中的存儲(chǔ)結(jié)構(gòu)。下面主要以720576分辨率下的圖像為例討論數(shù)據(jù)存儲(chǔ)地址的計(jì)算。?由A/D轉(zhuǎn)換輸出數(shù)據(jù)格式與圖像壓縮系統(tǒng)輸入數(shù)據(jù)格式間的對(duì)應(yīng)關(guān)系可知,一幀圖像中的任意像素可以用分層尋址方式準(zhǔn)確定位,并據(jù)此產(chǎn)生此像素所對(duì)應(yīng)的三個(gè)分量的幀存存儲(chǔ)地址值。首先,從一幀圖像的第一行開始,每連續(xù)的16行作為一個(gè)像素塊,稱為行塊,一幀720576分辨率的圖像可劃分為36個(gè)行塊;其次,每一個(gè)行塊又在水平方向上平均分為3段,每段稱為一個(gè)列組,每

11、個(gè)列組的寬度為水平方向上連續(xù)的240個(gè)像素,高度為垂直方向上連續(xù)的16行。720576圖像像素分層尋址示意圖如圖7所示。Y、U、V三個(gè)分量在幀存中的存儲(chǔ)地址產(chǎn)生過程如下:首先確定像素所屬行塊在一幀圖像中的偏移量及像素所屬列組在行塊中的偏移量,即確定行塊序號(hào)和列組序號(hào);然后確定像素在所屬列組中水平方向上和垂直方向上的偏移量;最后根據(jù)上述4個(gè)偏移量計(jì)數(shù)器的值即可產(chǎn)生此像素所對(duì)應(yīng)的三個(gè)分量的幀存存儲(chǔ)地址值。?在720576分辨率下,一幀圖像中任一像素的Y、U、V分量對(duì)應(yīng)的幀存地址計(jì)算公式如下:y_addr=(C-1)8640+(E-1)2880+(D-1)120+(F-2)/2u_addr=(C-1

12、)8640+(E-1)2880+(D-1)/2)60+(F-3)/4+1920v_addr= (C-1)8640+(E-1)2880+(D-1)/2)60+(F-4)/4+2400式中,y_addr、u_addr、v_addr分別對(duì)應(yīng)Y、U、V三個(gè)分量的幀存存儲(chǔ)地址;C表示行塊序號(hào),取值范圍為136;D表示在列組中垂直方向上的偏移量,取值范圍為116;E表示列組序號(hào),取值范圍為13;F表示在列組中水平方向上的偏移量,取值范圍為1240。上述地址計(jì)算公式在FPGA中實(shí)現(xiàn)時(shí),考慮到各乘積項(xiàng)常系數(shù)(8640、2880等)所對(duì)應(yīng)的二進(jìn)制數(shù)中“1”較少,可將各乘積運(yùn)算轉(zhuǎn)化為移位與加法運(yùn)算的組合,并將加法

13、操作用分組超前進(jìn)位4方式實(shí)現(xiàn)。1.3.6 幀存乒乓刷新控制機(jī)制 兩組幀存的讀寫通過乒乓機(jī)制來管理。為確保在任何時(shí)刻,最多只有一個(gè)幀存處于圖像壓縮系統(tǒng)的控制下,設(shè)置了一個(gè)讀互斥鎖;同樣,最多有一個(gè)幀存可接收預(yù)處理后的數(shù)據(jù),因此又設(shè)置了一個(gè)寫互斥鎖。因?yàn)閳D像壓縮系統(tǒng)的壓縮幀率在720576分辨率下小于25幀/秒,為了保證圖像壓縮系統(tǒng)每次從采集系統(tǒng)所得到的一幀圖像數(shù)據(jù)是最近由FPGA預(yù)處理過的,使得圖像延時(shí)較小,設(shè)計(jì)了雙幀存刷新機(jī)制5。在系統(tǒng)初始狀態(tài),幀存A處于等待寫狀態(tài),幀存B處于讀結(jié)束狀態(tài)。采集過程開始,兩個(gè)幀存的狀態(tài)轉(zhuǎn)換控制流程完全相同。下邊以幀存A為例介紹基于讀寫互斥鎖的幀存控制機(jī)制。幀存乒

14、乓刷新控制機(jī)制如圖8所示,其設(shè)計(jì)思想如下:?采集過程未開始,幀存A處于等待寫狀態(tài),并獲得寫互斥鎖;收到一幀新圖像的開始信號(hào),采集過程開始,幀存A進(jìn)入可寫狀態(tài),接收?qǐng)D像數(shù)據(jù);一幀圖像的采集過程結(jié)束后,幀存A進(jìn)入寫結(jié)束狀態(tài),并釋放寫互斥鎖;在寫結(jié)束狀態(tài)下,若此時(shí)幀存B擁有讀互斥鎖,則幀存A保持寫結(jié)束狀態(tài),否則幀存A獲得讀互斥鎖,進(jìn)入讀等待狀態(tài),并在下一個(gè)控制周期切換到再次讀等待狀態(tài);幀存A在再次讀等待狀態(tài)下,如果幀存B處于寫結(jié)束狀態(tài),則幀存A釋放讀互斥鎖,進(jìn)入讀結(jié)束狀態(tài),否則若圖像壓縮系統(tǒng)請(qǐng)求幀存的控制權(quán),則幀存A進(jìn)入可讀狀態(tài),并處于圖像壓縮系統(tǒng)的控制下,若以上兩個(gè)條件均不滿足,則幀存A保持再次讀

15、等待狀態(tài);在可讀狀態(tài)下,若圖像壓縮系統(tǒng)請(qǐng)求FPGA回收幀存控制權(quán),則幀存A進(jìn)入讀結(jié)束狀態(tài),并釋放讀互斥鎖;在讀結(jié)束狀態(tài)下,若幀存B擁有寫互斥鎖,則幀存A保持讀結(jié)束狀態(tài),否則幀存A進(jìn)入等待寫狀態(tài),并獲得寫互斥鎖。2 FPGA邏輯設(shè)計(jì)中的常見問題討論在FPGA內(nèi)部,由于LLC2時(shí)鐘驅(qū)動(dòng)的邏輯非常多,布線尋徑優(yōu)化的選擇余地小,從而導(dǎo)致它到達(dá)每個(gè)邏輯模塊驅(qū)動(dòng)端的時(shí)間有一定的差異。在極端情況下這一差異(Skew)會(huì)非常大,并導(dǎo)致邏輯執(zhí)行時(shí)的時(shí)序錯(cuò)誤。因此在基于FPGA進(jìn)行邏輯設(shè)計(jì)時(shí),盡管各邏輯模塊及模塊間的通信信號(hào)基本上都是由LLC2驅(qū)動(dòng)的,但模塊間的通信信號(hào)與通信的接收方模塊應(yīng)視為異步,并按異步邏輯的

16、思路實(shí)現(xiàn)模塊間的通信機(jī)制67。另外本設(shè)計(jì)中LLC2的時(shí)鐘頻率達(dá)13.5MHz,且FPGA內(nèi)部邏輯資源的使用率已經(jīng)超過了70%。為了確??刂七壿嬙贔PGA中的穩(wěn)定運(yùn)行,需要對(duì)設(shè)計(jì)進(jìn)行精心的時(shí)序仿真,提高仿真程序的測試覆蓋率,并對(duì)實(shí)現(xiàn)(Implementation)過程中生成的靜態(tài)時(shí)序分析報(bào)告仔細(xì)研究,確定設(shè)計(jì)中的時(shí)序關(guān)鍵路徑,采用先修改設(shè)計(jì)、分割關(guān)鍵路徑,后加限制條件的方式,盡量減少關(guān)鍵路徑的個(gè)數(shù)、降低關(guān)鍵路徑的延時(shí)。在對(duì)設(shè)計(jì)進(jìn)行仿真驗(yàn)證的過程中,要盡量將所發(fā)現(xiàn)毛刺的發(fā)生條件找出,并用修改源設(shè)計(jì)的方法將其去除。3 實(shí)驗(yàn)結(jié)果為了驗(yàn)證圖像采集系統(tǒng)的作用,進(jìn)行了對(duì)比實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果如表1所示。?在兩種分

17、辨率下,經(jīng)過圖像采集系統(tǒng)的預(yù)處理,圖像壓縮系統(tǒng)的幀率有不同程度的提高,尤其是在720576分辨率下,幀率的提高超過了60%。這主要是由于圖像采集系統(tǒng)預(yù)處理機(jī)制的采用,使得圖像壓縮系統(tǒng)能夠與圖像采集系統(tǒng)并行工作,在很大程度上減少了圖像壓縮系統(tǒng)的等待執(zhí)行時(shí)間,從而提高了圖像壓縮系統(tǒng)的壓縮幀率。從表1中可以看到,在352288分辨率下,整個(gè)系統(tǒng)的性能提高不大(甚至沒有變化)。這是因?yàn)樵诖朔直媛氏?,圖像數(shù)據(jù)量較小,僅靠圖像壓縮系統(tǒng)的處理能力即可達(dá)到實(shí)時(shí)效果,所以圖像采集系統(tǒng)預(yù)處理機(jī)制的采用無法進(jìn)一步提高整個(gè)系統(tǒng)的性能。當(dāng)然,本采集系統(tǒng)還存在改進(jìn)的余地8,具體來說有以下兩點(diǎn):基于FPGA實(shí)現(xiàn)的圖像預(yù)處理

18、操作若具有圖像增強(qiáng)、去噪等功能,并對(duì)圖像的場景變換進(jìn)行一定的處理,會(huì)使圖像采集系統(tǒng)的輸出圖像質(zhì)量得到很大的提高。幀存乒乓刷新機(jī)制在實(shí)用中還有一定的局限性,圖像的主觀延遲效果不是很理想,而且有時(shí)會(huì)使圖像壓縮系統(tǒng)的讀數(shù)據(jù)請(qǐng)求不能立即得到響應(yīng)??紤]到系統(tǒng)的性價(jià)比,如果用一片高密度的SDRAM作為存儲(chǔ)器,并且將它在物理上分為三個(gè)幀存,通過這三個(gè)幀存之間的乒乓機(jī)制,相信采集系統(tǒng)所輸出的圖像在主觀效果上會(huì)優(yōu)于本文所采用的雙幀存結(jié)構(gòu)。?參考文獻(xiàn)1 沙吉樂,曲興華,關(guān)紅彥.基于FPGA技術(shù)的新型高速圖像采集.電子技術(shù)應(yīng)用,2000;26(9)2 Ricardo Zebulum,Adrian Stoica,Didier Keymeulen. Experiments on the Evolution of Digital to Analog Converters.IEEE,2001;5:232123313 The Programmable Logic Data Book. Xlinx Company,2

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論