《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 設計應用 > 一種易于硬件實現的LZW算法的應用
一種易于硬件實現的LZW算法的應用
2015年電子技術應用第2期
韓 慧
山西省財政稅務專科學校,山西 太原030024
摘要: 實測表明,遙測系統傳輸的數據冗余度高達90%,這嚴重降低了遙測系統的工作性能,而目前還沒有針對遙測數據硬件壓縮系統而設定的數據無損壓縮的統一標準。為了實現遙測數據硬件系統的無損壓縮,通過適當增加字典的分配空間,優化LZW算法的查找方式,改進LZW算法的字典更新方法,調試出了一種易于硬件實現的LZW算法。最終,通過軟件仿真及實際測試,結果表明,遙測數據壓縮比達1.8:1以上,完成了設計的預期目標。
中圖分類號: TP333.1
文獻標識碼: A
文章編號: 0258-7998(2015)02-0068-04
Application of an easy LZW algorithm for hardware implementation
Han Hui
Shanxi Finance & Taxation College,Taiyuan 030024,China
Abstract: Test shows that the data redundancy of telemetry system transmission is up to 90%. This seriously reduces the performance of the telemetry system, but there is no uniform standard of lossless data compression set for telemetry data compression hardware system. In order to achieve the lossless compression of telemetry data for hardware system, an easy hardware implementation of LZW is achieved through increasing the allocated space of dictionary, optimizing the finding way of LZW, improving the dictionary update method of LZW algorithm. Finally, through software simulation and practical,test results shows that the ratio of telemetry data compression is more than 1.8:1,completing the target design.
Key words : LZW;lossless compression;telemetry;data compression

 

0 引言

  傳統的ARC算法雖然已經在遙測數據上實現了無損壓縮,但其運算極其復雜,而且ARC算法特別依賴信源統計的模型,更重要的是要預先知道信源的概率分布必須通過大量的測試與分析,因此ARC算法用硬件實現起來仍然比較困難[1]。相對而言,LZW編碼簡單,壓縮/解壓速度快,壓縮效果比較好,適用廣、易于軟硬件實現,適合實時壓縮。

  為了使LZW算法易于在遙測硬件壓縮系統上實現,利用MATLAB仿真找出傳統LZW壓縮算法的不足與優化方向,從LZW壓縮算法的字典空間設置、查表方式設計、字典更新方法等方面改進算法的壓縮性能。尤其使用了多次散列的查表方法,并通過MATLAB仿真確定了最終采用的散列次數,極大地提高了壓縮算法的執行速率。同時,根據字典使用的特點,簡化了字典的結構,節省了硬件資源。最后,通過采用刪除后續出現次數較少詞條的字典更新方法,提高了數據壓縮比。對壓縮后輸出的數據流進行漢明碼校驗,提高了系統可靠性。

1 LZW算法的選擇

  1.1 遙測數據壓縮的可行性

  遙測數據中模擬量參數根據參數的頻帶范圍可分為緩變參數和速變參數,緩變參數的頻帶范圍為0~10 Hz,速變參數頻帶范圍為10~8 000 Hz。通常情況下速變參數的采樣率遠大于緩變參數,而且速變參數采集量也遠大于緩變參數的量。實測表明,速變參數傳輸通道約占系統通道總量的10%,但采集的數據卻占總數據量的80%左右。對速變參數的實測結果表明,速變參數具有“短期活躍,長期穩定”的特點,其活躍期占飛行過程不到20%,并分散在整個飛行過程中,這說明遙測數據中的速變參量存在較大的壓縮空間[2-3]。

007.jpg

  圖1為一組遙測數據的波形及相應波形的概率分布。圖1(a)為隨機抽取的4 500個字節經MATLAB繪制出的波形圖,圖1(b)為與波形圖相對應的概率分布圖。從圖中可以看出,這組隨機抽取的遙測數據在100~150之間出現的概率最大且為非等概率分布,具有一定的壓縮空間。

  1.2 3種壓縮算法的比較

  在采集遙測數據的壓縮系統工作條件下,衡量是否適合遙測硬件系統壓縮編碼應根據以下3點:

  (1)壓損比,壓縮比與采用的算法有直接關系,而遙測數據屬于非等概率分布相似度小,故不適合算術編碼。壓縮比定義如式(1),m表示變量個數,L表示編碼的平均長度,CR表示數據壓縮比:

  _]})NWMWWF724]M@CK8JZMD.png

  從式(1)中可以看出,變量個數越多,壓縮比相對也會越大,但霍夫曼壓縮編碼不適合處理大批量的數據壓縮[4]。

  (2)信源,遙測數據不僅包含圖像數據,還包含各種工況信息,例如:工作電壓參數、沖擊量、環境溫度等,而行程編碼適合圖像數據的有損壓縮,不適合遙測數據的無損壓縮[5]。

  (3)復雜度,ARC算術編碼運算非常復雜,這額外增加了硬件的成本開銷[6]。

  綜上3點所述,LZW不僅適合處理大批量數據,而且無需知道信源的數據模型,運算簡單,適合實時壓縮。因此從硬件上考慮,選擇LZW壓縮算法作為遙測硬件壓縮系統的核心算法是最好的選擇。

2 LZW算法的優化設計

  為了使LZW算法更適用于遙測硬件上,通過對遙測數據的科學分析及軟件仿真分別從字典大小、查找方式、字典更新方法三個方面對LZW算法進行優化設計。

  2.1 字典大小的優化設計

  本設計采用的FPGA為XC3S1400AN,其內部可使用的RAM為72K×8bit=576 Kbit,為了縮小硬件系統的尺寸,通過FPGA內部給字典分配的空間,考慮到整個系統的工作量,可為字典分配的空間為2K,4K,6K,8K,16K,32K。通過軟件實驗分析結果繪制的曲線圖如圖2所示,從圖中可以看出,分配空間為2K~4K時壓縮比有明顯的變化,而超過4K后壓縮比變化較平緩。采用母節點、目錄、字符結構的字典方案,4K的字典所需的空間為2×4K×12 bit+4K×8 bit=128 Kbit。綜合考慮,給字典分配的空間為4K。

008.jpg

  2.2 查找方式的優化設計

  LZW算法的關鍵在于字典的檢索,這一步驟關系到整個壓縮算法的執行速率和壓縮效果,目前較為有效的檢索方法是構建散列表。合適的散列函數可使散列值均勻分布,通過散列值可快速查找記錄,從而縮小檢索時間。

  查找字典的方式對數據壓縮的速率影響很大。字典空間長度為4K,若只采用順序查表,在最壞的情況下處理4 KB的數據需查找4 096×4 097/2=8 390 656的數據長度。遙測系統晶振以100 MHz為例,查找一個詞條一般需4個系統時鐘周期,字典填滿后若清空,則還需要(4 096-256)×4個時鐘周期,所以極端情況下處理4K數據用時約為:[4 096×4 097/2+(4 096-256)×4]×10 ns≈335.78 ms,轉換成速率約為11.91 KB/s,而壓縮系統要求對遙測信號的采樣率192 KB/s遠高于該速率,顯然只采用順序查表的查字典方式的壓縮算法不能滿足遙測硬件實時壓縮的需求。

  只采用順序查表的方法已經不能滿足要求,而采用一次散列很難找到合適的散列函數使散列值非常發散。為了加快查字典的速度,保證壓縮速度,考慮采用多次散列法。利用MATAB軟件對采用不同次數散列的壓縮算法進行測試,結果統計繪制的曲線圖如圖3所示。為了測試結果更準確,每種查表方式都經過多次測試后取平均壓縮時間。為了更客觀地分析測試結果,在相同條件下加入了隨機數據壓縮結果作為參考標準,圖中虛線表示隨機數據壓縮時間與散列次數的關系,實線表示實測遙測數據壓縮時間與散列次數的關系。從圖中客觀的分析可知,散列次數在15次以上時,壓縮時間大幅度縮短;散列次數在15~40之間時,壓縮時間雖稍有縮短,但有波動。總之,散列次數并不是越多越好。根據遙測數據壓縮曲線圖,本設計選擇散列次數為25次。

  仿真時鐘周期為10 ns(100 MHz時鐘)時,通過仿真可計算出硬件程序壓縮64 KB遙測數據理論用時24.785 ms,平均處理速率約為2 582 KB/s,壓縮64 KB的隨機數據用時83.624 ms,平均處理速率約為765 KB/s。由于這兩個速率都遠大于對遙測數據的采集速率192 KB/s,所以25次散列完全可以滿足壓縮系統的硬件要求。

009.jpg

  2.3 字典更新方式的優化設計


010.jpg

014.jpg

  為了調試出易于硬件設計的字典更新方式,利用MATLAB繪制出了當字典首次填滿時各詞條的使用情況,結果如圖4所示。經統計分析可知,除去字典前256個位置引用次數為0的詞條數為2 529,占總詞條數(4 096)的61.74%。因此可從引用次數為0的詞條進行優化設計:每次字典寫滿后,保留被引用次數大于0而刪除被引用次數為0或引用次數最少的詞條,然后繼續添加新的詞條直到再次填滿字典空間,以此進行循環更新。

  通過軟件仿真將3種傳統的字典更新方式與優化后的字典更新方式進行壓縮效果對比,得到表1的數據結果。從表中數據不難看出,優化后的設計壓縮時間明顯增加很多,但數據的壓縮比同樣得到明顯的提高。

  為了驗證優化后的設計易于硬件壓縮系統的實現,將優化后的設計應用在FPGA的壓縮模塊中,系統時鐘為100 MHz,經軟件仿真得出壓縮64 KB遙測數據用時77.159 ms,平均壓縮速率約為830 KB/s;壓縮64 KB隨機數據的時間為152.580 ms,平均壓縮速率約為419 KB/s。因這兩個壓縮速率遠大于遙測數據的輸入速率192 KB/s,所以優化后的方法可以應用于遙測壓縮系統的硬件設計中。

3 邏輯功能的實現

  本設計的LZW壓縮算法的數據結構由傳統的三部分構成:母節點(parent)、目錄(index)和字符(symbol)。首先,根據FPGA并行執行的特點,配置3個RAM塊分別存儲字典的三個部分,并用統一的地址進行讀/寫操作,頂層圖如圖5所示。

011.jpg

012.jpg

  用硬件邏輯語言實現優化后的LZW算法,具體的流程圖如圖6所示。I表示經過壓縮處理的數據串,X表示采集到的數據,P表示檢索指針。優化后的LZW算法壓縮過程為:

  (1)逐一輸入數據累積成I;

  (2)取下一個數據x;

  (3)在字典中檢索數據串Ix。若數據串Ix在字典中,則檢索成功,置I為檢索地址并輸入下一個要壓縮的數據x;如果數據串Ix不在字典中,則檢索失敗,輸出I在字典中的存儲指針,然后在字典中存儲Ix,設字典指針為p,最后置I=x并輸入下一個要壓縮的數據x;

  (4)判斷字典是否已滿,滿了即將字典清空。

4 結果分析

  結合shannon信息論可知,信源各符號間若相互獨立,則信源為等概率分布時其熵值最大,冗余度為零,因此無損壓縮的本質可以理解為:使信源趨于等概率分布,降低信源的冗余度。由此理論分析,從概率上來看數據壓縮后與壓縮前相比概率分布圖應更為平穩、均勻。為保持結論的客觀性,將優化后的LZW壓縮算法應用在硬件系統中,將前文隨機抽取的遙測數據進行壓縮對比,同樣利用MATLAB軟件畫出壓縮后的波形圖與概率分布圖,結果如圖7所示。經對比可知,經壓縮后的遙測數據概率分布呈現出明顯的平滑曲線,同時表明,數據的冗余度明顯降低,可壓縮空間更是接近于極限。最終壓縮比為1.832:1。

  本設計沒有從優化LZW壓縮算法的數據結構入手,而且最終優化的結果僅適用于遙測硬件數據壓縮系統,因此該設計存在局限性,仍然有很大的提升空間。

013.jpg

 參考文獻

  [1] 凌偉.基于ARC算法的數據壓縮技術與實現[J].電子技術應用,2013(8):84-87.

  [2] 劉文怡.遙測速變數據無損壓縮時空性能優化設計及應用[D].太原:中北大學,2009.

  [3] 劉鑫.基于遙測數據的壓縮算法設計與實現[J].電子技術應用,2008,34(11):79-81.

  [4] 葉芝慧,沈克勤.信息論與編碼[M].北京:電子工業出版社,2011.

  [5] 陳昌主.數據壓縮算法研究與設計[D].長沙:中南大學,2010.

  [6] 曾尚春.SAR數據壓縮算法研究[D].南京:南京航空航天大學,2007.


此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
亚洲欧美电影在线观看| 久久精品卡一| 久久福利一区| 亚洲欧美日韩国产综合在线| 在线亚洲欧美视频| 亚洲精品美女在线观看| 91久久精品久久国产性色也91 | 国产精品女主播| 欧美午夜在线| 国产精品男女猛烈高潮激情| 国产精品99一区二区| 国产精品劲爆视频| 国产精品日韩精品欧美精品| 国产精品毛片在线看| 国产精品日日做人人爱| 国产精品天天摸av网| 国产精品入口福利| 国产情侣一区| 国产三级欧美三级日产三级99| 国产日韩欧美视频在线| 国产午夜精品在线观看| 亚洲精选在线| 亚洲国产精品悠悠久久琪琪| 久久精品一区二区国产| 久久精品三级| 亚洲巨乳在线| 亚洲视频欧洲视频| 亚洲一区二区三区精品在线| 午夜激情综合网| 久久精品国产综合| 久久伊人精品天天| 欧美www在线| 欧美日韩在线看| 国产麻豆成人精品| 激情综合网激情| 亚洲茄子视频| 亚洲一区二区在线免费观看视频| 午夜精品一区二区三区在线播放| 久久国产视频网| 亚洲美女av网站| 亚洲欧美日韩网| 久久噜噜亚洲综合| 欧美久久电影| 国产欧美1区2区3区| 伊人久久综合| 一本色道久久综合亚洲精品婷婷 | 麻豆精品视频在线| 欧美日本一区二区三区| 国产精品日韩精品欧美精品| 国色天香一区二区| 亚洲精品免费在线观看| 亚洲免费在线电影| 亚洲欧洲偷拍精品| 亚洲欧美日韩中文播放| 你懂的视频一区二区| 国产精品a久久久久久| 国内伊人久久久久久网站视频 | 亚洲国产影院| 亚洲欧美国产视频| 老色鬼精品视频在线观看播放| 欧美色另类天堂2015| 国产一区二区三区久久久| 亚洲精品国产精品国产自| 性久久久久久久| 亚洲视频1区2区| 亚洲一二三级电影| 午夜精品一区二区三区在线播放 | 欧美主播一区二区三区| 在线视频精品| 久久综合色播五月| 国产精品女主播| 亚洲三级视频在线观看| 欧美在线免费观看亚洲| 一区二区欧美在线观看| 久久一区二区三区超碰国产精品| 欧美视频观看一区| 亚洲国产精品毛片| 欧美一区二区三区久久精品茉莉花 | 一区二区高清视频在线观看| 久久全球大尺度高清视频| 国产精品高潮在线| 亚洲精品日本| 久久精品国产精品亚洲精品| 午夜精品www| 欧美日韩国产综合新一区| 黄色成人小视频| 亚洲午夜久久久| 一区二区三区精品| 欧美成人一区二区三区在线观看| 国产午夜精品全部视频播放| 亚洲少妇在线| 一本色道久久综合亚洲91| 老司机凹凸av亚洲导航| 国产酒店精品激情| 亚洲视频免费在线观看| 夜夜爽www精品| 欧美不卡视频一区| 韩日在线一区| 欧美在线视频在线播放完整版免费观看| 午夜精品久久久99热福利| 欧美日韩高清在线播放| 亚洲日本aⅴ片在线观看香蕉| 亚洲国产欧美日韩| 久久免费视频在线| 国产亚洲一二三区| 亚洲一区二区免费| 亚洲欧美精品suv| 欧美午夜宅男影院| 99精品久久久| 亚洲一区二区精品| 欧美特黄a级高清免费大片a级| 亚洲欧洲一区二区三区在线观看| 亚洲欧洲三级| 欧美国产免费| 亚洲国产一区二区视频| 日韩午夜剧场| 欧美日韩爆操| 日韩视频在线观看免费| 99在线精品视频在线观看| 久久gogo国模裸体人体| 亚洲精品影视| 欧美激情亚洲激情| 最新中文字幕亚洲| 一本久久综合亚洲鲁鲁五月天 | 欧美国产在线视频| 亚洲三级视频在线观看| 夜夜嗨av一区二区三区四季av | 国产精品综合av一区二区国产馆| 亚洲一区日韩在线| 午夜视频久久久| 国产日韩在线亚洲字幕中文| 欧美一区二区三区视频| 久久久久久9999| 在线观看欧美亚洲| 亚洲久久一区二区| 欧美视频一区二区三区…| 亚洲婷婷综合色高清在线| 欧美一二三区在线观看| 国产一本一道久久香蕉| 久久精品欧美日韩| 欧美激情一区二区三区不卡| 999亚洲国产精| 亚洲欧美精品在线观看| 国产日韩欧美不卡| 亚洲成人自拍视频| 欧美激情综合| 亚洲视频狠狠| 久久理论片午夜琪琪电影网| 亚洲国产精品一区二区第一页| 一本色道久久99精品综合 | 午夜亚洲福利| 欧美91大片| 一区二区三区四区五区精品视频| 欧美影院久久久| 亚洲成人在线视频播放| 亚洲无吗在线| 国产一区二区精品久久91| 亚洲激情视频网| 欧美性久久久| 欧美专区在线| 欧美日韩精品综合| 欧美一级久久久| 欧美成人四级电影| 亚洲一区综合| 美女黄网久久| 亚洲小说欧美另类社区| 另类春色校园亚洲| 99re热这里只有精品免费视频| 欧美一级欧美一级在线播放| 伊人狠狠色丁香综合尤物| 亚洲手机在线| 狠狠色狠狠色综合日日91app| 亚洲狼人综合| 国产日韩一区欧美| 99精品视频免费观看视频| 国产日韩欧美黄色| 一二三区精品| 国内精品久久久久久久果冻传媒 | 欧美一级片久久久久久久| 久久高清福利视频| 亚洲精品一区二区三区四区高清| 久久超碰97中文字幕| 亚洲精品一区二区三区av| 久久久国产精品亚洲一区| 99国内精品久久| 鲁鲁狠狠狠7777一区二区| 宅男噜噜噜66一区二区| 免费永久网站黄欧美| 亚洲一区在线播放| 欧美精品一区二区精品网 | 久久日韩精品| 亚洲视频在线观看网站| 免费观看成人鲁鲁鲁鲁鲁视频| 亚洲一区二区三区在线视频| 欧美国产综合视频| 欧美专区福利在线| 国产精品色午夜在线观看| 夜夜嗨av一区二区三区| 在线播放中文一区| 欧美一区二区三区在线|