《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 設計應用 > 基于DSP Builder的JPEG靜態圖像壓縮算法的實現
基于DSP Builder的JPEG靜態圖像壓縮算法的實現
來源:電子技術應用2011年第6期
趙擎天,尉廣軍,張自賓
軍械工程學院 導彈工程系,河北 石家莊050003
摘要: 利用Altera公司提供的數字信號處理開發工具DSP Builder和現代DSP技術,在Matlab/Simulink環境中建立了JPEG算法模型,并進行了仿真驗證,最后將編譯代碼下載到硬件上進行了在線調試。
中圖分類號: TN919
文獻標識碼: A
文章編號: 0258-7998(2011)06-0035-03
The implementation of JPEG static picture compression based on DSP Builder
Zhao Qingtian,Yu Guangjun,Zhang Zibi
Deptartment of Missile Engineering,Ordnance Engineering College,Shijiazhuang 050003,China
Abstract: It has been introduced in this paper that a JPEG algorithm model is created in the environment of Matlab/Simulink with the help of DSP Bulider, a digital signal processing development tool provided by Altera Corporation, and modern DSP technology. Then a simulation verification has been performed, and finally the code is compiled and downloaded to the hardware for the purpose of on-line debugging.
Key words : DSP Builder;JPEG;image compression;FPGA


 隨著數字信號處理技術在應用領域的迅速發展,以DSP處理器(如TI的TMS320系列)為應用系統核心器件的傳統DSP技術,由于其硬件結構的不可變性和固定的數據總線寬度,很難滿足用戶對DSP系統可重配置性或可定制性的要求。而以大容量、高速度的FPGA為核心器件的現代DSP技術的出現成功解決了以上問題。FPGA內嵌有可配置的高速RAM、PLL以及硬件乘法累加器等DSP模塊。因此,用FPGA實現數字信號處理可以很好地解決并行性和速度問題,而且其靈活的可配置特性,使得以FPGA為核心器件的DSP系統易于修改、測試及硬件升級。
    本文利用Altera公司推出的一個面向DSP開發的系統級設計工具DSP Builder,在深入研究JPEG算法原理的基礎上,設計了JPEG算法模型,并在Matalab/Simulink環境下進行了算法級仿真;最后將算法編譯下載到FPGA硬件上,利用DSP Builder的HIL(Hardware In Loop)功能,由Simulink通過下載電纜向硬件輸入測試數據,然后將測試結果送入Simulink中顯示。采用這種方法實現了硬件級的仿真驗證。
1 DSP Builder介紹
    DSP Builder開發工具是Altera公司提供的數字信號處理平臺,它是一個系統級(或算法級)設計工具,架構在多個軟件工具之上,并把系統級和RTL級兩個設計領域的設計工具連接起來,最大程度地發揮了兩種工具的優勢。DSP Builder依賴于MathWorks公司的數學分析工具Matlab/Simulink,以Simulink的Blockset出現,可以在Simulink中進行圖形化設計和仿真,同時通過SignalCompiler把Matlab/Simulink的設計文件(.mdl)轉成相應的硬件描述語言VHDL設計文件(.vhd),以及用于控制綜合與編譯的TCL腳本。而對后者的處理可以由FPGA/CPLD開發工具Quartus II來完成。
    設計人員能夠同時進行多個HDL模型或者QuartusII軟件設計工程的設計,為每一個模塊生成一個獨立的仿真模型,并且能夠在同一設計環境中,以標準Simulink/DSP Builder模型來仿真HDL模塊。此外,該工具可充分利用和重復使用現有設計,從而大大提高產品開發速度。在仿真軟件方面,除了可以利用Simulink的仿真環境,DSP Builder還提供了與Modelsim的接口,充分利用Modelsim仿真的優勢。以前DSP開發者只能直接使用VHDL或VerilogHDL語言進行FPGA的DSP系統設計,難度比較大。現在利用基于FPGA的DSP開發工具DSP Builder以及完整的軟件開發平臺,可以使設計者遵循一條類似于軟件設計流程的開發方法進行FPGA的DSP設計,設計效率大為提高。基于DSP Builder的系統級開發流程如圖1所示。

。基于DSP Builder的系統級開發流程

2 JPEG算法原理

    JPEG專家組開發了兩種基本的壓縮算法,一種是以離散余弦變換DCT(Discrete Cosine Transform)為基礎的有損壓縮算法;另一種是以預測技術為基礎的無損壓縮算法。使用有損壓縮算法時,在壓縮比為25:1的情況下,壓縮后還原得到的圖像與原始圖像相比較,非圖像專家難于找出它們之間的區別,因此得到了廣泛的應用。例如,在VCD和DVD-Video電視圖像壓縮技術 中,就使用JPEG的有損壓縮算法來取消空間方向上的冗余數據。
    JPEG壓縮是有損壓縮,它利用了人眼視角系統的特性,使用量化和無損壓縮編碼相結合來去掉視角的冗余信息和數據本身的冗余信息。JPEG算法框圖如圖2所示。

JPEG算法框圖

 

 

    壓縮編碼大致分成三個步驟:
    (1)使用正向離散余弦變換FDCT把空間域表示的圖變換成頻率域表示的圖。
    (2)使用加權函數對DCT系數進行量化,這個加權函數對于人的視覺系統是最佳的。
    (3)使用霍夫曼可變字長編碼器對量化系數進行編碼。譯碼(或者叫解壓縮)過程與壓縮編碼過程相反。
3 JPEG算法模型的實現
    在DSP Builder下進行系統搭建。DSP Builder平臺提供了加法器、乘法器以及數字信號處理涉及到的眾多模塊,對這些模塊可以進行可視化的參數編輯。本設計從Matlab的Workspace中導入需要壓縮的圖像,然后通過用DSP Builder構建的JPEG壓縮算法壓縮編解碼,最后在Matlab中顯示重建的圖像。JPEG靜態圖像壓縮算法壓縮的對象是YCbCr格式的,所以在進行圖像壓縮前要進行預處理。通過Matlab中的Color Space Conversion將RGB格式的圖像轉換成YcbCr格式。
    待壓縮的圖像數據首先要進行DCT變換,受FPGA硬件資源的限制,可以先進行一維行變換,將得到的數據按列存儲到RAM中,等到數據全部輸入到RAM中,再對RAM中的數據進行一維的DCT行變換。然后重復利用一維的DCT模塊,以節省硬件資源。
    DCT變換后的頻率系數要進行量化。JPEG算法使用均勻量化器進行量化,量化步距按照系數所在的位置和每種顏色分量的色調值確定。因為人眼對亮度信號與對色差信號敏感度不同,因此使用了兩種量化表。設計實現方法為:將DCT系數除以量化步長取整數。為了保證DCT系數中低頻分量先出現,高頻分量后出現,量化后的系數要重新編排,JPEG算法采用Z字型編碼,增加了連續“0”系數的個數,即“0”的游程長度,以達到用更少的數據表示更多信息的目的,從而優化編碼。量化的目的是減小非“0”系數的幅度以及增加“0”值系數的數目。
    JPEG算法使用了差分脈沖調制編碼(DPCM)技術,對相鄰圖像塊之間量化DC系數的差值(Delta)進行編碼。量化交流AC系數的特點是1×64矢量中包含許多“0”系數,并且許多“0”是連續的,因此使用非常簡單和直觀的游程長度編碼(RLE)對它們進行編碼。使用熵編碼還可以對DPCM編碼后的直流DC系數和RLE編碼后的交流AC系數作進一步壓縮。在JPEG有損壓縮算法中,通過使用霍夫曼編碼器來減少熵,原因是使用霍夫曼編碼器可以用很簡單的查表(Lookup Table)方法進行編碼。壓縮數據符號時,霍夫曼編碼器對出現頻度比較高的符號分配比較短的代碼,而對出現頻度較低的符號分配比較長的代碼。這種可變長度的霍夫曼碼表可以事先定義。
    JPEG編碼的最后一個步驟是把各種標記代碼和編碼后的圖像數據組成一幀一幀的數據,以便于傳輸、存儲和譯碼器譯碼,這種數據通常稱為JPEG位數據流。
4 模型仿真分析
    設計采用DSP Builder的HIL進行仿真驗證。HIL把設計包裹在一套接口中間進行編譯,然后下載到板子的FPGA中。首先將模型文件(.mdl)用SignalCompiler編譯生成Quartus II的工程文件(.qpf);然后將工程文件加載到HIL模塊中,在HIL模塊中進行時鐘、復位等信號設置,選擇FPGA器件型號;最后編譯文件并將配置下載到FPGA中。Simulink通過下載電纜把測試數據不斷輸入,然后在輸出端不斷獲得硬件運行的結果。利用HIL在硬件上進行仿真,可以加快仿真速度,同時可對算法、時序和引腳配置進行檢測。由于FPGA可以無限次燒錄,所以利用HIL進行仿真非常方便。HIL仿真模塊如圖3所示。

    利用HIL進行圖像的壓縮和解壓仿真驗證,觀察經過壓縮和解壓后的圖像可以發現,該仿真模型成功實現了JPEG靜態圖像壓縮的編解碼算法,解壓后的圖像效果很好。把SignalCompiler編譯生成Quartus II的工程文件(.qpf)下載到FPGA芯片中,觀察到使用的邏輯單元塊LE(Logic Elements)數量為1 224個,而用VHDL語言編寫JPEG算法下載到FPGA芯片中將占用1 483個單元塊。表1表明用DSP Builder進行系統級的算法設計與用傳統的VHDL語言進行設計更節省硬件資源。

    應用現代DSP技術,通過Altera公司提供的數字信號處理開發工具DSP Builder搭建了JPEG靜態圖像壓縮編解碼模型,并用HIL進行了仿真驗證。實驗結果表明,設計的JPEG模型能夠成功實現靜態圖像的壓縮編解碼,且重建的圖像效果很好。應用DSP Builder進行系統級的算法設計相比用VHDL語言設計更節省硬件資源。
參考文獻
[1] 潘松.現代DSP技術[M].西安:西安電子科技大學出版社,2003.
[2] 姚俊,馬松輝.Simulink建模與仿真[M].西安:西安電子科技大學出版社,2002.
[3] 楊守良.Matlab/simulink在FPGA設計中的應用[J].微計算機信息,2005,21(8-2):98-99.
[4] 張艷.基于FPGA的JPEG解碼算法的研究與實現[D].南京:南京理工大學,2009.
[5] 張太怡.基于JPEG國際標準的圖像壓縮方法的研究[J].重慶大學學報,1994,9:48-53.
[6] 汪宇飛.JPEG高速編碼芯片的設計及其性能優化[D].西安:西北工業大學碩士論文,2006.
[7] 洪志良.JPEG靜止圖像壓縮解壓縮標準的硬件實現及其改進算法的研究[D].上海:復旦大學博士論文,2002.
[8] 崔平,汪渤,丁露.基于DSPBuilder的電視導引頭跟蹤控制系統設計[J].微計算機信息,2005,21(12-2):76-78.
[9] 呈永輝.基于DSPbuilder技術的軌道信號檢測的研究與實現[D].成都:成都理工大學,2008.
[10] 張淼,伏云昌.基于DSP Builder的14防FIR濾波器的設計[J].現代電子技術,2007,30(21):185-186.

此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 国产成人久久综合漫画 | 色国产精品一区在线观看 | 五月天情 | 免费看成人播放毛片 | 国产日韩欧美亚洲精品95 | 久久经典免费视频 | 免费羞羞视频网站 | 99视频在线观看免费视频 | 欧美日韩视频在线观看高清免费网站 | 免费萌白酱国产一区二区三区 | 斯巴达克斯第四季电视剧全集在线看 | 国产综合精品久久久久成人影 | 四虎成人在线 | 五月婷婷开心综合 | 精品乱码一区二区三区在线 | 51精品视频在线一区二区 | 欧美成人精品高清在线播放 | 久久91av | 欧美激情精品久久久久久久久久 | 久久亚洲国产午夜精品理论片 | 国产淫语| 聚会的目的迅雷下载 | 五月天婷婷在线视频 | 国产精品毛片一区二区三区 | 日本久久网站 | 极品公子之杨凝冰 | 欧美69色 | 奇米 影音先锋 | 亚洲欧美日韩激情在线观看 | 黄色小视频免费在线观看 | 久久99国产精品一区二区 | 干欧美女人 | 情之债 电视剧完整版25集 | 久久久久久中文字幕 | 欧洲精品一区二区三区 | 四虎精品永久在线网址 | 四虎网址大全 | 久久精品99| 日韩视频在线观看 | 很很操很很日 | 五月开心六月伊人色婷婷 |