劉 虹
(廈門理工學(xué)院電子與電氣工程系,廈門 361005)
一種實(shí)時(shí)數(shù)據(jù)處理的軟硬件算法研究
劉 虹
(廈門理工學(xué)院電子與電氣工程系,廈門 361005)
針對(duì)某中分辨率成像光譜儀遙感圖像數(shù)據(jù)的特點(diǎn),在研究基于局域紋理特征適合空間應(yīng)用圖像無(wú)損壓縮技術(shù)的基礎(chǔ)上,進(jìn)行無(wú)損解壓縮算法的設(shè)計(jì),闡述了如何采用并行處理和流水線技術(shù)優(yōu)化算法,實(shí)現(xiàn)算法到VLSI結(jié)構(gòu)的優(yōu)化映射,研制無(wú)損解壓縮專用芯片,該芯片可以不低于16 Mbps的速率實(shí)時(shí)處理壓縮數(shù)據(jù),進(jìn)行無(wú)損解壓.
中分辨率成像光譜儀;遙感圖像;紋理特征;無(wú)損壓縮;CCSDS編碼器;專用芯片;VLSI結(jié)構(gòu)
用于某氣象衛(wèi)星的中分辨率成像光譜儀記錄的是氣象信息,氣象觀測(cè)技術(shù)需要對(duì)圖像的原始數(shù)據(jù)進(jìn)行某些計(jì)算和應(yīng)用,不允許有信息丟失,所以必須進(jìn)行無(wú)損壓縮.氣象信息是瞬間萬(wàn)變的,不僅要求實(shí)時(shí)壓縮傳輸,還要求實(shí)時(shí)解壓,這樣就可及時(shí)地對(duì)氣象數(shù)據(jù)進(jìn)行分析處理,得到及時(shí)有效的信息.只有采用圖像壓縮解壓專用芯片的硬件系統(tǒng)才具有最高的數(shù)據(jù)處理速度,滿足實(shí)時(shí)處理的要求.本文著重介紹了實(shí)時(shí)無(wú)損解壓縮硬件系統(tǒng)的設(shè)計(jì).圖像解壓縮專用芯片是解壓硬件系統(tǒng)的核心,而算法到VLSI結(jié)構(gòu)映射是圖像解壓專用集成電路設(shè)計(jì)最重要的環(huán)節(jié),優(yōu)秀的VLSI結(jié)構(gòu)應(yīng)該使算法的并行處理特點(diǎn)充分表現(xiàn)出來(lái);使并發(fā)操作和流水線處理得以最大化;使系統(tǒng)具有最大的數(shù)據(jù)吞吐量.所以本文將詳細(xì)描述算法到VLSI結(jié)構(gòu)的優(yōu)化設(shè)計(jì).
無(wú)損壓縮算法一般包括圖像壓縮預(yù)處理和壓縮熵編碼兩個(gè)步驟.預(yù)處理就是在空間域盡可能對(duì)圖像去相關(guān),以提高壓縮比,同時(shí)將圖像數(shù)據(jù)變換映射成適于熵編碼的數(shù)據(jù)源.編碼就是對(duì)預(yù)測(cè)的殘留誤差進(jìn)行表達(dá)和進(jìn)一步壓縮.本文所采用的無(wú)損壓縮算法也是基于這個(gè)基本理論框架.
基于局域紋理特征分析的無(wú)損壓縮方法,首先強(qiáng)調(diào)了局域紋理特征的一致性,所以在對(duì)相關(guān)預(yù)處理模型的研究中,結(jié)合分析圖像的有意義范圍內(nèi)的局域紋理特征,利用多方向自適應(yīng)的預(yù)測(cè)方案,尋找最佳預(yù)測(cè)模型,可得到好的去相關(guān)效果.結(jié)合本課題應(yīng)用中遙感圖像數(shù)據(jù)輸入的特點(diǎn),選取5×5的像素塊為逐一處理單元,構(gòu)造了兩種基于局域紋理分析去相關(guān)的處理器[2].
本文的熵編碼方案以CCSDS推薦的RICE編碼為基礎(chǔ),根據(jù)本文所要處理的目標(biāo)圖像數(shù)據(jù)分辨率為12 bits,構(gòu)造了12種編碼選項(xiàng),通過(guò)擇優(yōu)選取結(jié)果碼長(zhǎng)總和最短的一種編碼方法.12種編碼方案如下:
n=0(零塊編碼)1<<n<<10(分裂樣本編碼)n=11(無(wú)編碼)Min(碼長(zhǎng)總和) 0 ∑((Eil,k>>n)+n+1) 25*12
分別計(jì)算出兩種紋理結(jié)構(gòu)預(yù)處理器前提下的最優(yōu)編碼相應(yīng)的碼長(zhǎng)總和、,然后作擇優(yōu)判斷:
在設(shè)計(jì)硬件解壓縮系統(tǒng)時(shí),總體考慮了數(shù)據(jù)流動(dòng)方式,即先將壓縮數(shù)據(jù)流進(jìn)行串并轉(zhuǎn)換,然后以12bits為一個(gè)讀取單位來(lái)進(jìn)行解壓縮處理,最后再將解壓縮數(shù)據(jù)進(jìn)行并串轉(zhuǎn)換輸出.為了增加數(shù)據(jù)吞吐量和保證壓縮碼流按恒定速率輸出,在系統(tǒng)的輸入與輸出部分都加入緩存設(shè)備.整個(gè)解壓縮系統(tǒng)的數(shù)據(jù)流驅(qū)動(dòng)如圖1所示.
圖1 數(shù)據(jù)流驅(qū)動(dòng)流程圖
本文在比較了DSP、CPLD、FPGA[5]后,結(jié)合解壓縮算法的特點(diǎn),最終決定選擇FPGA類型的芯片作為實(shí)現(xiàn)解壓縮算法的專用芯片.即圖1中所示的解壓縮處理由一片F(xiàn)PGA芯片來(lái)實(shí)現(xiàn).壓縮數(shù)據(jù)緩存與解壓數(shù)據(jù)緩存結(jié)構(gòu)決定外置于FPGA以提高設(shè)計(jì)在不同器件間的可移植性能,而不必考慮目標(biāo)器件的內(nèi)置內(nèi)存大小.
本節(jié)主要內(nèi)容是改進(jìn)解壓縮算法,優(yōu)化數(shù)據(jù)處理方式,使之更適合于VLSI所具有的并行處理特點(diǎn),實(shí)現(xiàn)解壓算法到VLSI結(jié)構(gòu)的最優(yōu)映射.為使算法轉(zhuǎn)變到VLSI結(jié)構(gòu)既簡(jiǎn)潔又能得到最大的處理速度,解壓縮算法的最優(yōu)VLSI結(jié)構(gòu)應(yīng)具有如下特征:
同步電路即時(shí)序電路共用同一個(gè)時(shí)鐘.最優(yōu)VLSI結(jié)構(gòu)必須采用同步電路.因?yàn)榛谕诫娐吩O(shè)計(jì)、功能單元數(shù)據(jù)通信鏈路中寄存器的存在,是形成流水線處理的必要條件.本文采用時(shí)鐘下降沿觸發(fā),即各時(shí)序部件在全局時(shí)鐘的下降沿由一個(gè)狀態(tài)變換到另一個(gè)狀態(tài).
要想獲得高性能的VLSI結(jié)構(gòu),依靠的是大量簡(jiǎn)單的功能單元并行操作而不是單個(gè)大規(guī)模的處理器.把運(yùn)算元件連接起來(lái)進(jìn)行并行工作的基本方法有兩種,流水線操作和并行陣列操作.
(1)流水線結(jié)構(gòu)
流水線結(jié)構(gòu)是把部件按順序串聯(lián)在一起,一個(gè)部件的輸出和下一個(gè)部件的輸入相連.將一個(gè)大任務(wù)分成一些復(fù)雜性大致相同的小任務(wù),這些小任務(wù)都可以獨(dú)立完成,相繼的任務(wù)在流水線的各級(jí)上同時(shí)執(zhí)行,整個(gè)任務(wù)的執(zhí)行速度由執(zhí)行時(shí)間最長(zhǎng)的子任務(wù)決定,子任務(wù)的最長(zhǎng)執(zhí)行時(shí)間通常比整個(gè)任務(wù)的執(zhí)行時(shí)間要短的多,所以采用流水線的并行系統(tǒng)可以具有很高的工作頻率.
(2)并行陣列結(jié)構(gòu)
并行陣列結(jié)構(gòu)是將很多任務(wù)同時(shí)處理,可以是脈動(dòng)式陣列:依次向系統(tǒng)中的每個(gè)模塊送一個(gè)輸入信息,每個(gè)模塊以輸入信息的速率周期性地輸出信息;也可以是同步并行陣列:同時(shí)向這些并行模塊輸入信息,一旦一個(gè)完整的任務(wù)執(zhí)行結(jié)束,所有模塊同時(shí)產(chǎn)生輸出.
圖像解壓縮專用芯片的處理能力,在本質(zhì)上是由解壓算法以及算法能否被映射到具有高度并發(fā)操作與高速流水線處理的VLSI結(jié)構(gòu)決定的.流水線處理提高數(shù)據(jù)吞吐量,并發(fā)操作減少數(shù)據(jù)運(yùn)算時(shí)間,兩者是提高系統(tǒng)處理速度的重要因素,因此在解壓算法最優(yōu)VLSI結(jié)構(gòu)的任何層次、任何模塊中,都必須采用數(shù)據(jù)的并行運(yùn)算與流水線處理.
如圖2所示,壓縮數(shù)據(jù)的輸出特點(diǎn)是:有時(shí)鐘時(shí)有數(shù)據(jù)(n個(gè)時(shí)鐘周期),每個(gè)時(shí)鐘周期輸出一個(gè)圖像壓縮比特DATA,下降沿采樣有效,CLK為高時(shí)無(wú)數(shù)據(jù).
圖2 圖像壓縮數(shù)據(jù)輸出時(shí)序
分析上述圖像壓縮數(shù)據(jù)輸出時(shí)序可知,由于解壓縮算法的復(fù)雜性,數(shù)據(jù)的運(yùn)算次數(shù)將遠(yuǎn)遠(yuǎn)多于數(shù)據(jù)輸入操作次數(shù),對(duì)于最優(yōu)VLSI結(jié)構(gòu)而言,這不但要求在每次輸入操作的同時(shí),必須完成多個(gè)計(jì)算任務(wù),而且必須確保每個(gè)時(shí)鐘周期接收一個(gè)圖像數(shù)據(jù),完成一次輸入操作,并且還要保證數(shù)據(jù)解壓縮與m無(wú)關(guān),這樣才具有最廣泛的適用范圍與最高的數(shù)據(jù)處理速度.簡(jiǎn)單的說(shuō)就是無(wú)論壓縮系統(tǒng)輸出的數(shù)據(jù)是怎樣的一個(gè)時(shí)序,只要圖像數(shù)據(jù)輸出一個(gè),具有最優(yōu)VLSI結(jié)構(gòu)的專用解壓芯片都可以實(shí)時(shí)處理一個(gè).
在一次輸入操作時(shí)間內(nèi)(即一個(gè)時(shí)鐘周期),所需完成的運(yùn)算量、運(yùn)算時(shí)間、數(shù)據(jù)流的傳遞形式?jīng)Q定著系統(tǒng)最高工作頻率.對(duì)圖像壓縮數(shù)據(jù)的連續(xù)接收、解壓,對(duì)VLSI結(jié)構(gòu)都提出了實(shí)時(shí)性要求,只有采用適量的存儲(chǔ)器、合理安排每次輸入操作時(shí)間內(nèi)的運(yùn)算量、在少量的輸入操作與大量的計(jì)算次數(shù)之間取得平衡,才能減少每個(gè)像素的處理時(shí)間,提高數(shù)據(jù)處理速度,達(dá)到實(shí)時(shí)解壓實(shí)時(shí)處理的要求.
依據(jù)上文所討論的處理原則,必須把一個(gè)復(fù)雜的解壓縮功能分為若干個(gè)簡(jiǎn)單功能單元的并行處理,這是由算法形成VLSI結(jié)構(gòu),獲得高速數(shù)據(jù)處理的關(guān)鍵.并發(fā)操作與流水線處理體現(xiàn)在VLSI結(jié)構(gòu)設(shè)計(jì)的各個(gè)層次,尤其在VLSI結(jié)構(gòu)的系統(tǒng)框架規(guī)劃、功能模塊的結(jié)構(gòu)設(shè)計(jì)方面至關(guān)重要.本文把解壓縮算法劃分為九個(gè)功能模塊實(shí)現(xiàn),結(jié)構(gòu)框圖如圖3所示.
圖3 解壓縮邏輯電路功能分割示意圖
限于篇幅,本文以RICE解碼與后處理引入的并行操作與流水線處理為例進(jìn)行介紹.對(duì)一個(gè)像素的處理需要以下步驟:
圖4 解碼與后處理的并發(fā)操作
由圖4可得解碼一個(gè)像素需要6個(gè)時(shí)鐘,如果按照平常的處理方式,解碼一個(gè)5*5的塊需要25×6=150個(gè)時(shí)鐘.設(shè)計(jì)中,只要RICE解碼有輸出就啟動(dòng)后處理操作,而同時(shí)RICE解碼與后處理操作是并行的,繼續(xù)接收下一個(gè)數(shù)據(jù)進(jìn)行解碼操作,即解碼與后處理并發(fā)操作.本文同時(shí)還對(duì)解碼與后處理操作設(shè)計(jì)了流水線技術(shù),被連續(xù)時(shí)鐘驅(qū)動(dòng)時(shí)示意如圖5所示.很明顯,完成一個(gè)完整的RICE解碼和后處理操作,只需要30個(gè)時(shí)鐘,大大提高了解碼效率.
圖5 后處理操作流水線設(shè)計(jì)示意圖
完成了解壓縮算法的優(yōu)化VLSI結(jié)構(gòu)設(shè)計(jì)后,采用ALTERA公司的APEX20K系列的EP20K200RC240-3V芯片作為物理實(shí)現(xiàn),芯片使用資源見(jiàn)表 1.該芯片配合著輸入 FIFO與輸出RAM,可以16 Mbps的速率實(shí)時(shí)處理壓縮數(shù)據(jù),進(jìn)行無(wú)損解壓.
表1 EP20K200RC240-3V芯片資源使用
[1]姜宏旭,周孝寬.基于局域紋理特征的圖像無(wú)損壓縮[J].北京航空航天大學(xué)學(xué)報(bào),2003,(6).
[2]姜宏旭,周孝寬.CCSDS圖像無(wú)損壓縮標(biāo)準(zhǔn)在恒速信道中的應(yīng)用研究[J].中國(guó)空間科學(xué)技術(shù),2003,(5).
[3]王 彥.基于FPGA的工程設(shè)計(jì)與應(yīng)用[M].西安電子科技大學(xué)出版社,2007.
Research on Software and Hardware Algorithm for Data Real-time Process
LIU Hong
(Electronic and Electrical Engineering Department,Xiamen University Technology,Xiamen 361005,China)
In this paper,in uiew of the feature of the compressed data of the MODIS,a new lossless image data compression algorithm named lossless image compression based on feature of local texture is presented and decompression algorithm is designed.It is mainly described in this paper that how the corresponded VLSI architecture is proposed by using the technique of parallel processing and pipe-line.The special integrated circuit of lossless data decompression has been manufactured.This card can decompress data realtimely and losslessly at the speed of 16Mbps.
moderate resolution imaging spectroradiometer;remote sensing image;feature of local texture;lossless compression;CCSDS encoder;special IC;VLSI architecture
TN409
A
1671-119X(2010)01-0024-04
2009-10-12
廈門理工學(xué)院教學(xué)改革基金資助項(xiàng)目(JG200704)
劉 虹(1978-),女,碩士,研究方向:信號(hào)處理及芯片設(shè)計(jì)應(yīng)用.