前言:想要寫出一篇引人入勝的文章?我們特意為您整理了數(shù)據(jù)壓縮算法電訊技術(shù)論文范文,希望能給你帶來靈感和參考,敬請閱讀。
1.常用數(shù)據(jù)壓縮算法
1.1Huffman編碼
哈夫曼編碼是無損壓縮當(dāng)中最好的方法。它使用預(yù)先二進制描述來替換每個符號,長度由特殊符號出現(xiàn)的頻率決定?;镜脑硎菫槊總€符號找到新的二進制表示,從而通常符號使用很少的位,不常見的符號使用較多的位。
1.2LZW壓縮算法
LZW是Lempel—Ziv—Welch的縮寫,主要用于圖像數(shù)據(jù)壓縮.對于簡單平滑圖像且噪聲小的信號源具有較高的壓縮比,并且其壓縮和解壓縮速度也比較快。
1.3算數(shù)編碼
Huffman編碼解決的是整數(shù)位編碼問題,而這一點有時可能成為一個問題。例如,如果一個字符的概率是1/3,則編碼該字符的最優(yōu)位數(shù)是1.6位左右但Huffman編碼卻必須給代碼指定1位或2位,而無論哪一種選擇都將導(dǎo)致比理論上可能的長度更長的壓縮信息。
1.4PPM數(shù)據(jù)解壓縮算法
PPM(PredictionbyPartialMatching)是一種上下文統(tǒng)計模型技術(shù)。它根據(jù)輸入字符串中一定長度的上下文后面字符出現(xiàn)的次數(shù),得出每個上下文的預(yù)測概率,然后利用多個上下文模型來得出輸入字符出現(xiàn)的概率,最后根據(jù)該概率用算術(shù)編碼對該字符進行編碼。根據(jù)最近輸入的字符,來預(yù)測即將輸入的下一個字符,可以達到數(shù)據(jù)壓縮的目的。PPM就是利用了這種方法。利用最近輸入的幾個字符(叫做上下文模型),來預(yù)測下一個字符。其中,上下文模型的長度k可以從0到已輸入字符的最大長度k不等。對于k長度的上下文模型來說,首先要計算在已輸入字符串中,每個k長度的子串后面不同的字符出現(xiàn)的次數(shù),然后可以得到該上下文模型的預(yù)測概率。預(yù)測概率主要用于計算在該上下文模型后面輸入字符出現(xiàn)的概率,以便于用算術(shù)編碼對該字字符進行編碼。這樣每個不同長度的上下文模型可以得到相應(yīng)的預(yù)測概率。因為每個模型具有不同的k值。在計算輸入字符出現(xiàn)的概率時,一般都是從最長的模型開始的。對于某個k長度的模型來說,當(dāng)輸入的字符已經(jīng)被該上下文模型預(yù)測出時,該輸入字符出現(xiàn)的概率就是預(yù)測概率。而當(dāng)一個新字符,也就是說該上下文模型不能預(yù)測出的字符出現(xiàn)時,輸入字符出現(xiàn)的概率就無法得到,也就不能對該字符進行編碼。這時,就需要用到”跳轉(zhuǎn)”(Esc)概率將不同長度上下文模型各自的預(yù)測概率聯(lián)系起來?!碧D(zhuǎn)”概率就可以將模型從k跳f,lk一1,看k一1長度的模型能不能預(yù)測出該字符。如果可以,該字符的概率就是”跳轉(zhuǎn)”概率k一1模型的預(yù)測概率;如果不能,”跳轉(zhuǎn)”過程將一直進行直到某個模型可以預(yù)測出該字符。有了”跳轉(zhuǎn)”機制以后,某個字符的預(yù)測概率就由可以預(yù)測出該字符模型和它以前的所有模型中的”跳轉(zhuǎn)”概率來決定。為了保證無論出現(xiàn)什么字符,最后”跳轉(zhuǎn)”過程都能結(jié)束,最低長度的模型中必須包括字母表中所有的字符。根據(jù)計算”跳轉(zhuǎn)”概率的方法不同,PPM算法有很多類型,有A,B,C,D,P等形式。
2.詞庫壓縮程序的設(shè)計和實現(xiàn)
2.1選擇PPMD算法為詞庫解壓縮算法的依據(jù)
根據(jù)計算”逃避”或“跳轉(zhuǎn)”概率的方法不同,PPM算法有很多類型,有A,B,C,D,P等形式。PPMD算法在運行時,對內(nèi)存的要求不是特別高,運行速度比較快。PPMD算法的階數(shù)可以取1-16的階數(shù)。當(dāng)階數(shù)落在2-3范圍時的壓縮率跟ZIP,BZIP2可比較,階數(shù)在4-6范圍之內(nèi)時,壓縮率比ZIP,BZIP2快,而且運行速度比ZIP,BZIP2快。在高階數(shù)范圍8-16之內(nèi)時,PPMD算法各方面的表現(xiàn)極為突出。因此,在此系統(tǒng)的詞庫壓縮程序中使用了PPMD算法,并且把階數(shù)選為16。2.2詞庫壓縮程序的設(shè)計設(shè)計詞庫壓縮程序思路:使用Dao技術(shù)操作數(shù)據(jù)庫。當(dāng)用戶選擇某數(shù)據(jù)庫時,首先檢查次數(shù)據(jù)庫是否包含名稱為DictTag和Tags的兩個數(shù)據(jù)表。當(dāng)用戶選擇某個數(shù)據(jù)表時檢查該表是否符合壓縮程序的要求。若不符合,則提示給用戶。選擇好壓縮的數(shù)據(jù)表之后,首先對數(shù)據(jù)進行分析。在分析過程中主要完成單詞和解釋字符串的長度,寫入壓縮文件時使用的數(shù)據(jù)包編號的計算等。壓縮后的詞庫的名稱填寫,源語言和目標(biāo)語言的選擇,排序規(guī)則的選擇等。其中,排序表必須為Excel文件,而且表的結(jié)構(gòu)也要符合規(guī)定。生成詞庫文件時,首先讀取單詞和單詞的長度和解釋的長度,先把這些寫入文件,然后再把單詞解釋部分壓縮后寫入詞庫文件。
3.小結(jié)
對數(shù)據(jù)壓縮技術(shù)進行了論述,還有提出了基于PPMD算法的詞庫壓縮程序的設(shè)計和實現(xiàn)過程。