色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          新聞中心

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

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

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

            解壓縮基本原理

          本文引用地址:http://cafeforensic.com/article/235597.htm

            文件格式分析

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

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

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

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

            Gzip解壓縮算法流程研究

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

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

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

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

          fpga相關文章:fpga是什么




          關鍵詞: FPGA Gzip CRC32 PC

          評論


          相關推薦

          技術專區(qū)

          關閉