新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于LZW算法的數據無損壓縮硬件實現

        基于LZW算法的數據無損壓縮硬件實現

        作者: 時間:2011-04-10 來源:網絡 收藏

        當前技術分為有損,算術編碼、游程編碼、霍夫曼和壓縮是傳統的壓縮方法,屬于壓縮;而小波變換的數據壓縮和神經網絡的編碼方式是近年來新發展起來的現代數據壓縮方法,屬于有損數據壓縮。本研究主要探討一種的數據壓縮

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

          1 及其改進

          LZW壓縮算法在壓縮的過程中自適應建立一個字典,以后的數據同字典中的數據相匹配,匹配上則輸出字典的索引。由于表示字典的索引所用的比特數遠小于字符的比特數,從而達到壓縮的效果。這個生成的字典不需要隨著壓縮的數據一同傳輸,而是能夠根據壓縮的數據在解壓時重新動態生成一模一樣的字典。

          LZW編碼原理如圖1所示,在進行壓縮時首先把字典中的前256(0~255)項初始為全部的256個8位字符,分別為十進制數0~255。當輸入第一個字符時,總是在字典中可以找到,直到新的字符X不在字典詞條中時,便將字符串IX加入到字典的第256項,以此類推。以字符串流5,6,7,8,9,5,5,6,6,7,8,9,5,…為例,表1給出了字典存儲的物理結構和壓縮過程中字典項的讀寫示意。壓縮后編碼輸出為5,6,7,8,9,5,256,257,259,…。

          

        LZW編碼原理

          

        字典存儲的物理結構和壓縮過程中字典項的讀寫示意

          傳統的LZW壓縮算法采用8位數據輸入,固定長度編碼輸出,隨著字典內容的不斷增多,輸出編碼的位數不斷增加勢必造成資源的浪費,也會損失壓縮率。另外,由于字典的容量有限,隨著壓縮過程的進行,字典會被填滿,若是簡單的不再向字典中增加內容,那么后面的壓縮率就會降低,而如果將字典全部清除重新建立字典,在字典建立初期壓縮率也是很低的。針對以上不足,文獻對LZW算法做以下改進:采用12位數據作為壓縮輸入,變長度的碼字輸出。

          壓縮字典最多可容納16 384個碼,共分為三部分,其中0~4 095為12位輸出,4 096~8 191為13位,8 192~16 383為14位。每當輸出長度變化時,同時輸出一個變長標識,便于解碼器解碼。


        上一頁 1 2 3 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 灵石县| 浑源县| 宜春市| 武鸣县| 英超| 彭山县| 南木林县| 聊城市| 武隆县| 德江县| 霞浦县| 栖霞市| 五莲县| 万州区| 蕲春县| 合江县| 铜梁县| 福鼎市| 东乡县| 巢湖市| 桦川县| 肇州县| 维西| 叶城县| 尼玛县| 德昌县| 长海县| 柯坪县| 柘荣县| 安岳县| 吕梁市| 德昌县| 沙田区| 浦江县| 景泰县| 政和县| 富顺县| 白水县| 蓝田县| 万山特区| 陕西省|