新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于FPGA的Gzip解壓縮硬件設計

        基于FPGA的Gzip解壓縮硬件設計

        作者:尚壯壯 李冰 時間:2014-03-31 來源:電子產品世界 收藏

          解壓縮基本原理

        本文引用地址:http://www.104case.com/article/235597.htm

          文件格式分析

          壓縮后的文件主要由3個部分組成,分別是文件頭、壓縮數據部分、文件尾,如圖1所示。

          其中,文件頭包括:固定值,用于Gzip文件格式鑒別;壓縮方法,記錄壓縮時采用的壓縮方法;壓縮標志,記錄操作系統等信息;文件名,記錄壓縮時文件的名稱;CRC16,記錄文件頭CRC16校驗的值,等。

          壓縮數據部分包括:1個或若干個壓縮數據塊,壓縮數據塊可能采用stored模式(直接存儲模式,當數據不值得壓縮時直接進行存儲)、fixed模式(LZ77壓縮后的數據采用靜態huffman編碼)、dynamic模式(LZ77壓縮后的數據采用動態huffman編碼)之中的一種。Gzip在壓縮數據時會采用上述3種模式對數據進行壓縮,而存儲時則選擇一種最優的壓縮模式。每個壓縮數據塊在最開始的3bits(其中前2bits:00,stored;01,fixed;10,dynamic;11:保留位;最后1bits:0,不是最后一個數據塊;1:最后一個數據塊)中會記錄該數據塊所采用的壓縮模式以及該數據塊是否為最后一個數據塊,而在解壓縮時只需針對性處理即可。

          文件尾包括:,記錄原始數據校驗值;ISIZE,記錄原始文件數據大小。該部分主要用于對解壓縮后的數據進行校驗,保證解壓縮的正確性。

          Gzip解壓縮算法流程研究

          根據Gzip文件格式可以得出如圖2所示的解壓縮算法流程:

          (1)準備處理待解壓縮文件;

          (2)對待解壓縮文件進行文件頭處理,獲取壓縮方法、壓縮標志、文件名等信息;

          (3)處理每個塊剛開始的3bits,根據處理結果選擇進入相應的解壓縮模式(stored模式、fixed模式、dynamic模式);

        fpga相關文章:fpga是什么




        關鍵詞: FPGA Gzip CRC32 PC

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 陈巴尔虎旗| 福建省| 泾源县| 阆中市| 政和县| 手游| 潢川县| 马鞍山市| 玉龙| 张北县| 滕州市| 德庆县| 香格里拉县| 天台县| 连云港市| 兴山县| 郸城县| 临安市| 兰西县| 社会| 乌拉特前旗| 勐海县| 荆州市| 抚顺县| 白水县| 信阳市| 静海县| 泸溪县| 北辰区| 志丹县| 九江县| 杭州市| 新津县| 满洲里市| 天等县| 霍城县| 淮北市| 潼南县| 中卫市| 普洱| 伊吾县|