摘要:本文提出了一種高效、壓縮比在線可調(diào)的實時圖像壓縮系統(tǒng)方案,并且詳細說明了硬件設計結(jié)構(gòu)。與現(xiàn)有的結(jié)構(gòu)相比,該結(jié)構(gòu)具有并行度高,抗誤碼能力強等特點,圖像質(zhì)量可滿足大多數(shù)應用要求。本系統(tǒng)中采用Xilinx最新推出的Virtex ll Pro系列產(chǎn)品中的XC2VP40來實現(xiàn)在FPGA上的設計。
關(guān)鍵詞:高效實時;圖像壓縮;FPGA
引言
在信息化時代,對圖像信息的處理、存儲和傳輸在社會生活中所起到的作用也越來越突出,人們對接受圖像信息的要求也越來越迫切。圖像編碼的目的是在保證圖像質(zhì)量的前提下,用盡可能少的比特數(shù)來表示數(shù)字圖像中所包含的信息。本文所介紹的是一種壓縮比在線可調(diào)的圖像編碼傳輸系統(tǒng),在不改變硬件框架的條件下可按用戶要求實現(xiàn)多種壓縮比,可以獲得較高的圖像質(zhì)量;在圖像傳輸?shù)倪^程中,傳輸噪聲是無法避免的,因而會形成誤碼。本系統(tǒng)對壓縮碼流進行RS編碼,采用包(Packet)格式輸出,起到了很好的容錯及抗誤碼效果。
VinexⅡPro系列產(chǎn)品是Xilinx最新推出的高端FPGA產(chǎn)品。它沿用成熟和完善的VinexⅡ體系結(jié)構(gòu)。它利用IP植入技術(shù)(IP-Immersion),無縫嵌入了32的IBM PowerPC 405 RISC處理器內(nèi)核和RocketIO多路吉比特串行收發(fā)器MGT(Multi-Gigabit Transceiver)。使得Xilinx的PLD技術(shù)從傳統(tǒng)的可編程功能向網(wǎng)絡、通信和存儲業(yè)務服務器設計平臺的功能轉(zhuǎn)變,并將FPGA器件推向了更廣泛的應用領(lǐng)域。
RS碼基本原理

RS碼是一種具有很強的糾錯能力的BCH碼,也是一種典型的代數(shù)幾何碼和優(yōu)良的線性分組碼。在同樣的編碼效率下,RS碼的糾錯能力很強,特別是在短的中等碼長下,其性能很接近于理論值。它不但可以糾正隨機錯誤、突發(fā)錯誤以及二者的結(jié)合,而且可以用來構(gòu)造其它碼類,如級聯(lián)碼。
在GF(q)(q≠2)上,碼長n=q—I的本原BCH碼稱為RS碼。由此可知,RS碼最主要的特點之一就是碼元取自GF(q)上,而它的生成多項式的根也在GF(q)上,所以RS碼是碼元的符號域與根域一致的BCH碼。因為

能糾正t個錯誤的RS碼具有如下參數(shù):
碼長,2=q-1
校驗位數(shù)目,2—k=2f
最小距離d=2t+l
由于線性碼的最大可能的最小距離為校驗元的個數(shù)加1,這就是所謂的Singleton限界,而RS碼恰好做到了這一點。因此,稱RS碼為極大最小距離可分碼,簡稱MDS碼。顯然,RS碼的設計距離和實際距離D是一致的。
XC2VP40特點及應用
FPGA/CPLD以其功能強大,開發(fā)過程投資少、周期短,可反復修改,保密性能好,開發(fā)工具智能化等特點成為當今硬件設計的首選方式之一。采用FPGA內(nèi)部集成的數(shù)百萬個邏輯門、豐富的布線資源及內(nèi)嵌的功能模塊和專用硬核,將電路的控制指令,數(shù)據(jù)輸入、輸出,對外部存儲器的地址控制等全部集成在一片芯片中,大大減小了系統(tǒng)體積,縮短了開發(fā)時間,降低了設計成本。
本系統(tǒng)中使用的FPGA采用了Xilinx公司的VirtexⅡPro系列產(chǎn)品中的XC2VP40來實現(xiàn)系統(tǒng)設計。VirtexⅡPro系列產(chǎn)品是Xilinx公司推出的高端FPGA產(chǎn)品,它采用0.13urn的9層全銅工藝生產(chǎn),并其特性主要為:
1.高性能的內(nèi)部存儲器SelectRAM結(jié)構(gòu),每個存儲塊容量18Kb,并且是完全的雙端口存儲器結(jié)構(gòu)。最多可提供3Mb的塊存儲資源,以及1.5Mb的分布式存儲器資源。支持高性能的外部存儲器接口,這些接口包括SDR/DDR、SDRAM/SRAM、FCRAM、QDSRAM和CAM等接口;
2、專用的18位×18位乘法器模塊和超前進位邏輯鏈(Look-ahead Carry)構(gòu)成了高性能的算術(shù)處理功能;
3.多達l2個數(shù)字時鐘管理器(DCM,Digital Clock Manager)模塊和16個全局時鐘多路復用緩沖器,構(gòu)成了內(nèi)部高性能和豐富的時鐘資源,從而可以提供靈活的系統(tǒng)時鐘解決方案;
4.支持多達19種的單端接口標準和6種差分接口標準。這些接口主要包括LVTTL、LVCMOS(3.3V、2.5V、1.8V、1.5V)、PCI-X133、PCI64/66、GTL、GTL+、AGP、AGP-2X、HSTL(Ⅰ、Ⅱ、Ⅲ、Ⅳ),SSTL3,SSTL2、LVDS(3.3V,2.5V)、LVPECL、BLVDS、ULVDS和LDT
5.片內(nèi)的數(shù)字化阻抗匹配(DCI,Digitally Controlled Impedance)技術(shù)和可編程的輸出電流(從2mA到24mA),克服了因阻抗不匹配而造成的系統(tǒng)不穩(wěn)定性(信號完整性)問題;
6.特有的配置數(shù)據(jù)三重加密技術(shù),最大限度地保護設計者的知識產(chǎn)權(quán)。
圖像壓縮和傳輸碼流結(jié)構(gòu)

該實時圖像壓縮系統(tǒng)主要完成的功能是:實時接收CCD(Charge CoupledDevice)連續(xù)采集輸入的圖像數(shù)據(jù)。根據(jù)原始圖像數(shù)據(jù)的速率自動選擇壓縮比,將圖象數(shù)據(jù)壓縮變換成符合CCIR-D視頻標準的、受外部輸入復合同步信號同步的模擬視頻信號輸出。

壓縮部分的框架如圖1所示:
其中數(shù)據(jù)1為并串轉(zhuǎn)換后數(shù)據(jù),數(shù)據(jù)2為小波變換后數(shù)據(jù),數(shù)據(jù)3為量化后的結(jié)果。
系統(tǒng)工作時,將外部數(shù)據(jù)依次存放到外部存儲器A和B中,寫A則讀B,反之亦然。寫入的順序是遞增的,但讀出的順序則有所不同。首先對輸入數(shù)據(jù)進行小波變換和量化,結(jié)果保存在存儲器E和F中。在對外輸出壓縮碼流時,根據(jù)得到的外部指令給出的壓縮比決定輸出壓縮碼流的大小以實現(xiàn)壓縮比在線可調(diào)。圖2為對壓縮碼流進行編碼的碼流組織模塊框圖。
經(jīng)過壓縮后的碼流按照包(Packet)的格式進行輸出。編碼器硬件結(jié)構(gòu)如如圖2所示。前端的壓縮模塊每完成一幀圖像的壓縮后會給出一個啟動信號。編碼模塊根據(jù)這個啟動信號開始編碼打包。每個包的內(nèi)容由同步信息和實際碼流組成。其中同步信息包括:(1)包頭標識;(2)類型標識;(3)幀標識;(4)子幀計數(shù);(5)包計數(shù)。同時從CCD相機采集到的圖像數(shù)據(jù)伴有詳細的注釋信息,該信息由單片機模塊接收422端口數(shù)據(jù)后翻譯給出。該注釋信息需要寫入對應幀的碼流中。從接受圖像數(shù)據(jù)到壓縮完成輸出壓縮碼流會有一定時間的延遲。因而,系統(tǒng)中設計了一個BlockRam用來緩存注釋信息。碼流打包時,首先進行包頭組織。若判斷是每個子幀的第一個包則將緩存中相應的注釋信息填入,放在包計數(shù)的后面;普通的包沒有注釋信息,以節(jié)省處理時間并節(jié)約了碼流。本設計中RS部分采用RS(255,243)進行編碼。其碼長為255個字節(jié),信息數(shù)據(jù)的長度為243個字節(jié),校驗位的長度為12個字節(jié),糾錯能力為6個字節(jié),滿足系統(tǒng)設計指標要求。由于系統(tǒng)后端輸出為串行碼流,因此在RS編碼模塊后需要進行并串轉(zhuǎn)換。串行碼流的時鐘頻率比并行碼流的低,在轉(zhuǎn)換過程中會有很大的時間延遲。因此在該RS模塊后設置了一個512字節(jié)大小的FIFO。每次RS編碼模塊只打一個包(255字節(jié)),經(jīng)過校驗模塊后存入該FIFO。并串轉(zhuǎn)換模塊對校驗后輸出的數(shù)據(jù)進行并串轉(zhuǎn)換。當FIFO中的數(shù)據(jù)量小于255字節(jié)時,即令RS編碼模塊打下一個包,以此類推,以保證串行碼流的連續(xù)輸出。工作流程如圖3。
系統(tǒng)時鐘、資源和仿真波形
本設計在xilinx公司生產(chǎn)的XC2VP40芯片上實現(xiàn)了全部功能。使用的是該公司提供的集成綜合環(huán)境ISE。它是XilinxFPGA/CPLD的綜合性集成設計平臺,該平臺集成了從設計輸入、仿真、邏輯綜合、布局布線與實現(xiàn)、時序分析、芯片下載與配置、功率分析等幾乎所有設計流程所需工具。
本文設計的RS編/解碼模塊采用VHDL語言描述各個模塊,并在ModelSim SE6.0環(huán)境下進行仿真。仿真波形如圖4。表1給出了具體的實現(xiàn)參數(shù)。

結(jié)語
本文結(jié)合VirtexⅡPro系列芯片中的XC2VP40的主要性能特點,詳細介紹一種高效實時圖像壓縮系統(tǒng)方案,并給出了詳盡的硬件設計結(jié)構(gòu)。本文提出的結(jié)構(gòu)大大提高了系統(tǒng)處理速度,可實時相應可變壓縮比的要求,避免了時鐘浪費,并具有較強抗誤碼性能。本系統(tǒng)能夠滿足大多數(shù)硬件要求,并成功應用于實際的高速圖像實時壓縮傳輸系統(tǒng)中,最高工作頻率可達80MHz。
參考文獻:
1.王新梅,肖國鎮(zhèn)編著,‘糾錯碼—原理與方法’,西安電子科技大學出版社.2001