關于LZW算法的改進研究

作者:時間:2011-01-11 14:15:15  來源:www.6scc.cn  閱讀次數:1921次 ]

【摘 要】 在分析LZW算法的基礎上,對LZW算法的缺陷進行了探討。并對LZW算法進行了改進,大幅度減少了編碼的長度,降低了匹配長度取值變化的影響,完全兼容LZW算法,在平均壓縮率方面有較大的提高,而且對改進的算法進行了分析論證。
【關鍵詞】  數據壓縮   LZW算法   緩沖區

        LZW算法的實質是無損壓縮技術[1-3],LZW算法通過對輸入流進行分析,自適應地生成一個包含輸入流中不重復子串的串表,將每一子串映射為一獨立的碼字輸出。這樣,它就充分利用了相鄰輸入之間的相關性,可以取得超過信源一階熵的編碼效率。然而,受緩存容量、計算復雜度和計算速度等因素的限制,串表的長度受到一定限制,且一般信源所具有的局部平穩性隨緩存容量加大,編碼效率提高不大。即:它自身固有一定的缺陷與不足,難以滿足人們的需要,對它進行改進一直成為人們的研究目標之一[4-6]。為了解決這一問題,本文對LZW算法進行了改進,命名為LZWC編碼算法。它兼有LZW算法的優點,還具有自身的優越性。首先對LZW算法進行一些必要的介紹和分析。
        1. LZW算法
        LZW算法[1]由韋爾奇(T.A.Welch)于1984年通過對LZ算法的改進。開發出的一種更優算法。它是一種基于字典的編碼方法。并且它是LZ系列碼中應用最廣,變形最多的一種算法。LZW壓縮有3個重要的對象:數據流、編碼流和編譯表。在編碼時,數據流是輸入對象,編碼流就是輸出對象;在解碼時,編碼流則是輸入對象,數據流是輸出對象;而編譯表是在編碼和解碼時都需要借助的對象。 
        1.1LZW算法的編碼原理
        LZW算法的編碼原理為:對消息序列xn=x1x2x3…xn從左到右進行閱讀,并以此進行LZW編碼: 
        (1)對x1顯然是第一次出現,它的前面也沒有字符,那么他的編號是1,它的碼元為(1,0, x1)。 
        (2)對于x2它可能有兩種情況發生,即x1=x2或x1≠x2。對此,有
        ①如果x1=x2,那么對于x2不作編碼,而對x3的編碼位點取2,連接位點則為1,這表示對x3作第二次編碼,它與第一次編碼的x1相連接。 
        ②如果x1≠x2,那么x2的編碼位點取為2,連接位點則為0,這表示對x2作第二次編碼,它的前面沒有出現過相同的字符。 
        (3)依照上述步驟遞推,如果對向量xn=x1x2x3…xn,n<m,我們已經得到它的編碼:C={(i,li, xji),i=1,2, …, k }.
        對上式的C滿足的條件:對每一個i有且只有一對(i,li),使li<i<ji成立。那么C構成一LZW樹。由樹的構造可知,對每個點i,它的枝li是唯一的。因此,樹C的全部枝為li,i=0,1,…,k 確定,而且每個li與xn中的子向量xαi對應。 
        (4)如向量xn中的編碼C及相應的樹確定,那么我們就可讀xn+1,xn+2,…, xn+k,并對它們繼續進行編碼,如果有一個i≦k使xαi=(xn+1,xn+2,…, xn+k)成立,而且對任何i≦k都有:xαi≠( xn+1,xn+2,…, xn+k,xn+k+1)成立。那么:
        ①不對字符xn+1,xn+2,…, xn+k進行編碼。
        ②對xn+k+1作它的編碼為(K+1,i, xn+k+1)。
        以此類推,就可以完成對xn的編碼C。
        2.2 LZW算法的原理 建筑論文發表 
        LZW算法通過編碼表來組織輸人字符串,并把它們轉換成一定長度的編碼。LZW算法有一個重要的特性稱作前綴性,即如果一個字符串在編碼表上,那它的前綴串也在編碼表上。例如:A、B為兩個不同的字符串,AB組成一新的字符串,A為B的前綴串,如果B在編碼表中,則一定在編碼表中。
        LZW通過編碼表識別源輸人字符序列,通過向編碼表中增加新的字符串,從而識別更多、更長的字符序列。但由于前綴性的約束,這種識別一般每次只在原來的基礎上增加一個字符,依次進行。同時,由于編碼算法沒有很強的分析功能,使它不知道哪些字符序列將來出現的概率較大,所以它具有一定的盲目性。例如,有一個長度為n的字符序列,LZW編碼表要完全識別它,則至少需要該序列部分或全部重復出現n次。但是,當一個較長的字符串重復出現兩次,我們就能夠容易識別它,而且這樣的字符串再次出現的概率是非常大的。基于這樣一種認識,本文在LZW算法的基礎上,構造了一種新的編碼算法,我們把新算法稱為LZWC編碼算法,一般情況下它對數據的壓縮率比LZW算法有大幅度提高。新算法在最差的情況下可退化成標準的LZW算法。下面對LZWC算法的原理進行詳細的介紹。
        2  LZWC算法
        LZWC算法的基本原理是針對源輸人數據中不同特點的數據序列,采用不同的編碼器分別編碼。數據序列的分類則是根據它的特點,通過對原始數據序列的分析來完成。
        LZWC算法共有兩個編碼器,它們是:
        (1) 重復編碼器(RepeatCorder),簡稱RC。
&

本站論文資源均為來自網絡轉載,免費提供給廣大作者參考,不進行任何贏利,如有版權問題,請聯系管理員刪除! 快速論文發表網(www.6scc.cn)本中心和國內數百家期刊雜志社有良好的合作關系,可以幫客戶代發論文投稿.

投稿郵箱:ksfbw@126.com
客服Q  Q: 論文發表在線咨詢82702382
聯系電話:15295038833

本站論文資源均為來自網絡轉載,免費提供給廣大作者參考,不進行任何贏利,如有版權問題,請聯系管理員刪除!

廣告推薦

文章評論

共有 0 位網友發表了評論

閱讀排行

推薦文章

最新文章

主站蜘蛛池模板: 丁香五月综合久久激情| 色777狠狠狠综合| 91精品欧美综合在线观看| 亚洲国产成人久久综合一区77| 日韩亚洲国产综合久久久| 久久综合噜噜激激的五月天| 狠狠色综合网站| 一本一本久久aa综合精品| 婷婷丁香五月激情综合| 伊人成色综合网| 国产综合久久久久| 伊人色综合久久| 色综合AV综合无码综合网站| 天天干天天色综合| 久久综合狠狠综合久久| 区二区三区激情综合| 亚洲综合第一页| 久久婷婷五月综合97色直播| 欧美亚洲综合色| 无码专区久久综合久中文字幕| 欧美伊香蕉久久综合类网站| 色天使久久综合网天天| 狠狠色丁香久久综合婷婷 | 亚洲欧美日韩综合一区| 婷婷丁香五月激情综合| 狠狠激情五月综合婷婷俺| 97se色综合一区二区二区| 一本一本久久A久久综合精品 | 色狠狠色狠狠综合一区| 亚洲综合精品香蕉久久网| 亚洲综合视频在线| 中文网丁香综合网| 久久综合久久美利坚合众国| 国产日韩欧美综合| 久久综合久久综合九色| 一本大道久久a久久精品综合| 久久久久综合国产欧美一区二区| 精品久久人人做人人爽综合| 亚洲精品综合在线影院| 久久综合欧美成人| 亚洲综合国产一区二区三区|