劉勇良,沈三民,李建軍,劉文倩
(中北大學儀器科學與動態測試教育部重點實驗室,太原 030051)
隨著多媒體技術、互聯網和無線通信的發展,人們對圖像在質量和應用適應性方面提出了更高的要求,不僅要保證圖像數據存儲與傳輸在現有的條件下順利進行,還要確保圖像數據基本無損地接收[1-2]。如將采集到的大量圖像數據不經過任何處理而直接進行存儲的話,將會耗費大量的存儲資源,將采集到的圖像數據在滿足要求的前提下進行壓縮是有必要的,也是圖像測試系統的必然環節。
系統選用FPGA 和專用圖像壓縮編碼芯片ADV212 相結合的圖像壓縮方案,將JPEG2000 壓縮碼流通過數據傳輸接口輸出至上位機進行存儲。該系統在硬件模塊劃分和算法選擇時充分考慮各個芯片的硬件結構特點,從而極大程度地激發芯片性能,提高了系統靈活性,滿足系統實時性的要求。
系統遵循模塊化、高集成和高可靠性的指導思想開展設計,以FPGA 為核心,系統由圖像采集模塊,FPGA 邏輯控制模塊,圖像壓縮模塊,圖像緩存模塊和圖像傳輸模塊5 部分組成,系統整體框圖如圖1 所示。首先信號采集端接收CCD 攝像頭接收圖像信息并輸出標準PAL 制式信號,經專有解碼轉換芯片轉換為8 bit 標準格式的數字信號,之后傳入到系統中樞FPGA 中進行數據預處理,圖像數據發送到后續模塊進行數據壓縮處理,壓縮完成后輸出JPEG2000 標準格式碼流送入FPGA 內部FIFO 進行緩存,然后通過傳輸接口輸出至上位機存儲。

圖1 系統整體框圖
設計前端采集接口電路采用靈敏度高、抗干擾能力強、高速率等特點的CCD 攝像頭,型號為PNT-698,該型號模擬攝像頭的信噪比大于48 dB,攝像頭輸出標準的PAL 制式視頻信號傳輸到視頻解碼芯片,轉換為標準格式的數字信號。本系統采用配置靈活的TVP5150 系列視頻解碼芯片,該芯片可自動識別NTSC/PAL/SECAM 制式的模擬信號,同時支持外同步的YcbCr4∶2∶2 和內同步的ITU-R BT.656兩種模式。在正常工作時,功耗僅僅115 mW,具有價格低、體積小、操作簡便的特點,目前廣泛應用于批量大、高質量和高性能的視頻產品[3],如圖2 所示。
本系統同時為防止頻帶外的雜波干擾,在采集前端添加了低通濾波器,系統通過模擬I2C 總線與TVP5150 自身串行接口進行通信,從而確保內部寄存器正確配置,通過拉低YOUT7/I2CSEL 引腳狀態設定解碼芯片地址為0xB8,圖像數據以YCbCr4∶2∶2標準格式輸出,芯片內部的PLL 由XTAL 引腳輸出頻率為14.318 18 M 的時鐘信號驅動,同時為達到效果最佳,應保證參考時鐘頻率誤差在+50 ppm 內。

圖2 TVP5150 應用電路設計
ADV212 是TI 公司推出的一款可實現6 級小波分解的高精度小波變換處理器,相較于同類型芯片ADV202 功耗低了30%。作為系統圖像壓縮模塊的核心,芯片內部DMA 引擎可提供存儲器之間的高帶寬傳輸及各模塊和存儲器之間的高性能傳輸,在不可逆模式下其最大數據處理速率可達到65 Mb/s,而有效視頻轉化的輸入數據速率約為124 Mb/s,這對于碼流的分解和高速率數據的產生尤為重要[4]。由于單片ADV212 最大數據采樣量為1.048 M,在PAL 視頻格式下,YCbCr4∶2∶2 標準場精度NTSC 采樣點個數小于1.048 M 個點,因此,系統采用單片ADV212 進行圖像數據壓縮,如圖3 所示。

圖3 ADV212 電路圖
選取一種定制工作方式CS 模式為芯片圖像壓縮工作模式,該模式可以針對不同的系統制定特定的圖像視頻格式。系統采集圖像數據預處理后,待壓縮8 位圖像數據經VDATA 總線進入時,表明輸入數據的時鐘確定,接收的數據進入芯片的小波變換模塊,采用壓縮速率可達80 Mbit/s 的標準算法JPEG2000,壓縮碼流從HDATA 輸出,通過這種方式最大限度地提高系統的吞吐量,使未壓縮的像素數據和壓縮數據進行分離,有利于高流量場合應用。
圖像緩存模塊分為數據緩存和壓縮數據FIFO緩存器兩個部分。為解決系統各部分因時間上的不同步而導致圖像數據混亂丟失和影響幀數據完整性的問題,系統采取在采集、FPGA 和壓縮各個模塊之間添加緩存模塊。數據緩存部分選用兩片SDRAM 存儲芯片對FPGA 采集和處理的圖像數據進行交替存儲和讀取,保證了數據傳輸的可靠性。設計選用兩片ISSI 公司研發的IS42S86400B,該芯片存儲容量為512 Mb,其最高時鐘可達166 MHz,通過讀寫“乒乓”操作,可以對采集端輸出圖像數據流進行連續處理,并采用管道架構以達到高速數據傳輸速率。依靠強大緩存空間和傳輸速率,ADV212 進行上一幀圖像壓縮時,不影響下一幀圖像數據的采集緩存,保證系統實時傳輸,將圖像數據交替讀出,數據嚴格有效地控制并輸送給壓縮模塊進行編碼。
為使各系統工作在自己的時鐘頻率下不需要互相握手就能進行數據交流[5],在FPGA 內部構建了結構穩定的FIFO 緩存器,該緩存器用以接收并緩存圖像壓縮模塊傳送的大量數據流,緩解處理器的負擔,同時能夠匹配不同傳輸速率的系統,從而提高系統性能。
差分驅動器可直接與FPGA 通信,實現壓縮數據快速傳輸。選用RS-422 接口采用差分傳輸方式,減少信號地線帶來的共模干擾,采用DS26C31 和DS26C32 芯片實現上位機與圖像采集、壓縮電路之間控制命令下傳和壓縮圖像數據上傳,同時為盡可能匹配接收和發送端的阻抗,抑制發射干擾現象,在差分422 的接收端設計有120 Ω 的反射電阻。
系統選用的視頻解碼芯片通過I2C 總線接口進行初始化配置,使得解碼芯片完成特定解碼功能。I2C 總線是一種高性能芯片間串行同步通信傳輸的二進制總線,由串行數據線SDA 和串行時鐘線SCL兩根信號線構成,具有總線數量少、接口控制簡單、數據傳輸率快等優點,其傳輸模式是雙向通信,數據傳輸速率在100 kbit/s 到3.4 Mbit/s 之間[6-7],I2C總線時序邏輯圖如圖4 所示。利用FPGA 通過I/O口來模擬I2C 總線串行數據線和串行時鐘線時序來發送配置數據,設置總線為標準模式,從而傳輸速率為100 kbit。I2C 雖然配置簡單,但TVP5150 的I2C要求非常高,必須嚴格按照要求才能配置成功。開始信號、應答信號和結束信號作為I2C 總線傳輸協議的3 種信號,當SCL 保持高電平,SDA 出現下降沿時視為開始條件,則數據發送開始;當SCL 保持高電平,SDA 出現上升沿時為結束條件,標志數據發送結束。同時該總線數據傳輸以字節為單位,當數據線滿足開始條件后,主機發送7 位地址尋址從器件,之后繼續發送第8 位脈沖控制讀或寫操作表明數據流向,若從器件被尋址則SDA 被拉低電平,即為應答信號。本系統被尋址的前端解碼芯片接收到一個字節后必須發送應答信號,告知控制中樞已收到數據,同時當FPGA 數據發送完成后,只能由FPGA 發出停止信號以結束發送。

圖4 I2C 總線邏輯時序圖

圖5 ADV212 初始化流程圖
ADV212 作為壓縮模塊的核心,對其進行正確的初始化配置是保證系統正常工作的前提。在初始化固件中通過寫寄存器的狀態字來設定ADV212的工作模式,該芯片初始化流程圖如圖5 所示。ADV212 初始化首先進行上電復位操作,復位時間為25 us。依據特定的指令命令從直接存儲器配置開始,當圖像數據到來時,通過設置寄存器PLL_HI 和PLL_LO 配置芯片內部PLL,設計內部時鐘后為確保PLL 成功鎖定,系統應延遲20 us。本設計采用非加載主機模式設定BOOT,之后加載編碼所需固件和配置編碼固件參數,通過檢查編碼ID 是否為SWFLAG 標志寄存器的設定值,從而檢測固件裝載是否正確。若加載正確,則清除所有中斷標記,表明初始化配置完成。
作為處理系統的中樞,FPGA 決定著系統各個模塊協調工作的順利進行,主要進行控制時序處理、數據處理和數據緩存轉發。首先,FPGA 控制前端解碼芯片的時鐘和讀取數據命令,完成視頻數據采集到模數轉換的控制,利用其強大的數據處理能力完成對ADV212 初始化,加載固件程序確定壓縮芯片的編碼模式,同時設置其編碼參數并等待接收前端采集模塊發送的圖像數據進行預處理,將處理后的圖像數據傳送到外部SDRAM 進行緩存。當檢測下一幀圖像同步上升沿時,嚴格控制緩存模塊的讀寫時序,讀取并控制SDRAM 上一幀圖像傳送到ADV212 進行壓縮處理,下一幀圖像數據的采集和預處理不影響上一幀圖像數據的壓縮與傳輸,從而保證系統實時操作的要求,將壓縮碼流通過傳輸接口傳輸到上位機,同時FPGA 接收上位機指令來嚴格控制壓縮、發送碼流等操作的執行,對整個系統數據流控制及向外發送各工作狀態的反饋信息等,邏輯流程圖如圖6 所示。

圖6 FPGA 邏輯流程圖
為驗證系統總體性能,首先對前端采集模塊進行配置測試,系統測試環境如圖7。通過示波器測量解碼芯片TVP5150 的輸出同步信號,測試結果如圖8,1 通道為FID(奇偶指示信號),2 通道為VS(場同步信號),奇偶指示信號在場同步信號下降沿處跳變,兩者符合配置要求,表明TVP5150 配置成功。
其次,為對比壓縮前后的圖像質量,系統進行了總體環境試驗測試。利用CCD 攝像頭對圖像進行獲取,通過傳輸接口將原圖像傳輸到上位機并顯示。如圖9 所示,原圖像大小為1.18 MB。主機通過串口助手讀取壓縮圖像數據,如第154 頁圖10 所示,壓縮后的圖像大小為50.8 kB。通過觀察,雖然系統壓縮后的圖像部分細節有些模糊,但是總體而言滿足了視覺要求,還保證了壓縮數據傳輸的實時性。

圖7 系統測試環境

圖8 奇偶指示信號與場同步信號

圖9 原圖像
全文介紹了一種采用FPGA 結合專有壓縮芯片ADV212 構建的圖像采集、壓縮和傳輸為一體的實時系統。相較于傳統FPGA 和DSP 相結合的圖像壓縮系統,利用編解碼速度快、通用性強、效率高等特點的專用壓縮芯片,實現了系統微體積、微功耗設計,提高系統的整體性能。利用穩定傳輸總線實現上位機控制命令的實時下達,提升了系統的工作效率。經測試實驗表明,該設計方案較好解決了圖像壓縮實時性的要求,壓縮比例達到24∶1,在性能和可靠性等方面達到了預期效果。

圖10 壓縮重建圖像