版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、Huffmari編碼算法基本規(guī)則 出現(xiàn)概率越高的符號(hào)采用越短的編碼。 出現(xiàn)概率最低的兩個(gè)符號(hào)采用相同長(zhǎng)度的編碼. 具體步驟 將符號(hào)出現(xiàn)概率從高到低排序. 將概率最低的兩個(gè)符號(hào)合并成一個(gè)符號(hào),它們概率之 和為新符號(hào)的概率。 重復(fù)上面兩個(gè)步驟,直到概率為仁 每次合并符號(hào),用0和1區(qū)分兩個(gè)符號(hào)。 從根節(jié)點(diǎn)開始搜索每個(gè)符號(hào),記錄其0, !序列即為該 符號(hào)的編碼。Huffman編碼算法符號(hào)al32a3a5槪率0.20.40.10.1a2(0.4)a2(0.4)aO.4)aO.4) a2 (1.0)01 taO.2)a.CO.2)aJO.2) a;(0.6)101f%(02)八 時(shí)° 2)a3
2、(0.4)101ta4(0.1) a4(0J)1 fa5(01)1符兮a1a2a3a4a5Huffman 編硏10011011101111Huffman編碼算法符號(hào)ala2a3a4a5Huffma n 編碼10011011101111編碼示例:信源輸出符號(hào)序列a1 ,a2,a3,a4,a5,a2,a1 ,a2Huffman 編碼輸出為 100110111011110100Huffman編碼算法符號(hào)a1a2a3a4a5槪率0.20.40.20.10.1Huffman 編 碼10011011101111定長(zhǎng)碼000001010011100Huffman編碼平均碼長(zhǎng) =0.2*2+0.4*1 +0.
3、2*3+0.1 *4+0.1 *4=2.2bits如果使用定長(zhǎng)碼,每個(gè)符號(hào)需要3bits, Huffman編碼平均 每符號(hào)節(jié)約0.8bits,壓縮比3:2.2=1.36倍符號(hào)a1a2a3a4a5槪率0.20.40.20.10.1編碼1001101110111100oHuffman編碼樹Huffman編碼算法Huffman編碼平均碼長(zhǎng)=0.2*2+0.4*1 +0.2*3+0.1 *4+0.1 *4=2.2bits假定以每個(gè)內(nèi)節(jié)點(diǎn)的所有孩子節(jié)點(diǎn)的概率 之和表示該節(jié)點(diǎn)的值,Huffman編碼樹的 內(nèi)節(jié)點(diǎn)之和等于平均碼長(zhǎng).34Huffman編碼算法符號(hào)a1a2a3a4a5槪率0.20.40.20.1
4、0.1Huffman 編 碼10011011101111Huffman編碼平均碼長(zhǎng) =0.2*2+0.4*1 +0.2*3+0.V 4+0.1 *4=2.2bits信源的爛 (A)二工 Aq 丫仏)=-工)log円q) = 2UntlsymholHuffman編碼冗余度=Huffman編碼平均碼長(zhǎng)信源的埼s0.078bits/symbolHuffman編碼沒有達(dá)到壓縮能力的極限,仍存在繼續(xù)壓縮 的可能。Huffman編碼算法符號(hào)a1a2a3a4a5槪率0.25040.20.10.05瞅04)aJO.2)%(02)衍(04)臥0.4)a2(0.4) a2 (1.0)10 taO.2)aJO.2)
5、 8;(0.6)11Of1a4(0.1) a4 (0.2) 2a5(0.1) I霍夫曼編碼中0和1的分配是任意的瓊02) * a3 (0.4)10J符號(hào)a1a2a3a4a5編碼110011011101111編碼201100100010000Huffman編碼算法瞅04)a2(0.4)也4)時(shí)0.2)aJ0.2)a,(0.2)a3(0.2)33(0.2)1a3(0.4)34(01)-84(0.2)0_Ia5(0.1)-0t, 丨因此,霍夫§a2(0.4) a2 (1.0)10 T- a;(0.6)1?1符號(hào)ala2a3a4a5槪率0.250.40.20.05符號(hào)a1a2a3a4a5編碼
6、110011011101111編碼201100100010000Huffman編碼算法霍夫曼編碼不唯一,什么樣的霍夫曼編碼最好呢?答案是:最小方差霍夫曼編碼最小方差霍夫曼編碼在合并兩個(gè)符號(hào)時(shí),如果有3個(gè)或 以上的符號(hào)概率都最小,則將剛合并的符號(hào)放在概率相 同的符號(hào)的最上面.最小方Huffman編碼算法符號(hào)a1a2a3a4a5槪率0.250.40.20.10.05比(0.4)a2(0.4) 時(shí)(0.4)ai(0.2)S(02)時(shí)0.2)a3(0.2) JW4)84 (0.2)a;(0.6)a;(1.0)a;(0.4) 1符號(hào)ala2a3a4a5編碼31000110100110 0 a/O) a5
7、(0.1) I最小方差H uffman編碼算法符號(hào)a1a2a3a4a5編碼110011011101111編碼201100100010000編碼3100011010011Huffman編碼1和2碼字長(zhǎng)度在之間,碼長(zhǎng)方差較大, 編碼3的碼字長(zhǎng)度在23之間,碼長(zhǎng)方差較小為什么碼長(zhǎng)方差小的編碼最佳?對(duì)于一定速率的信源,例如1000symbol/秒,Huffman編 碼平均碼長(zhǎng)為2.2bits,則平均編碼碼流輸出為2200bit/秒, 假定信道帶寬為2200biV秒,能夠滿足傳輸要求。最小方差H uffman編碼算法最小方Huffman編碼算法最小方差H uffman編碼算法對(duì)于一定速率的信源.例如10
8、00symbol/Jt, Huffman編 碼平均碼長(zhǎng)為2.2bits,則平均編碼碼流輸出為2200bit/秒, 假定信道帶寬為2200biV秒,能夠滿足傳輸要求.如果信源連續(xù)輸出a2,貝ij編碼1碼流輸出為1000bit/秒,浪 費(fèi)信道帶寬。如果信源連續(xù)輸出a5貝ij編碼1碼流輸出為4000bi”秒,信 道帶寬又不足。最小方差H uffman編碼算法最小方差H uffman編碼算法最小方Huffman編碼算法符號(hào)a1a2編碼1100編碼2011編碼31000a3a4a5110111011110010001000011010011最小方差H uffman編碼算法如果信源連續(xù)輸出a2,則編碼1碼
9、流輸出為lOOObit/秒,浪 費(fèi)信道帶寬。如果信源連續(xù)輸出a5,則編碼1碼流輸出為4000bit/秒,信 道帶寬又不足 為了充分利用信道帶寬,必須對(duì)編碼輸出的碼流進(jìn)行緩沖. 在信道帶寬不足時(shí)將碼流存儲(chǔ)起來,在信道帶寬富裕時(shí)進(jìn) 行傳送。符號(hào)a1a2a3a4a5編碼110011011101111編碼201100100010000編碼31000110100112200biVs1. 110OOsymbol/s a5 l1. 1a51. 100 1最小方差H uffman編碼算法最小方差H uffman編碼算法如果信源連續(xù)輸出a2, 費(fèi)信道帶寬如果信源連續(xù)輸岀a5, 道帶寬又不足 編碼的碼長(zhǎng)方差越大,
10、 編碼的碼長(zhǎng)方差越小,最小方差H uffman編碼算法符號(hào)a1a2a3a4a5編碼110011011101111編碼201100100010000編碼3100011010011則編碼1碼流輸出為lOOObit/秒,浪 則編碼1碼流輸出為4000bit/秒,信 緩沖必須越大;緩沖可以越??;因此.最佳的Huffman編碼為最小方差Huffman編碼。Huffman編碼特點(diǎn)符號(hào)ala2a3a4a5編碼110011011101111編碼201100100010000編碼3100011010011哈夫曼編碼方法構(gòu)造出來的碼不是惟一的OHuffman編碼特點(diǎn)符號(hào)ala2a3a4a5編碼1100110111
11、01111編碼201100100010000編碼3100011010011Huffman編碼的碼長(zhǎng)雖然是可變的,但卻不需要另外附加同 步代碼。例如.10011011101111按照編碼1可解釋為a1a2a3a4a5o 又如.100011010011按照編碼3可解釋為a1a2a3a4a5o規(guī)范Huffman碼字規(guī)范的霍夫曼碼字是從Huffman碼字從特意挑選出來的, 目的是便于在譯碼時(shí)檢測(cè)碼字的長(zhǎng)度。F面兩個(gè)編碼中,編碼2為規(guī)范的Huffman碼字。符號(hào)1234567800000101001110000100011001010011編瑪201110010111000100001010011000
12、111符號(hào)91011121314151610100101010101011101100101101101110101111110000編碼201000000000000001000010000011000100000101000110規(guī)范H uffman碼字符號(hào)1234567B編碼201110010111000100001010011000111符號(hào)910111213141516冷碼201000000000000001000010000011000100000101000110規(guī)范的Huffman碼字這樣產(chǎn)生 first =0;for x:=5 downto 1 do firstx=(firs
13、tx+1 +numlx+1 )/2 其中,【y表示取不小于y的最小整數(shù)。規(guī)范H uffman碼字符號(hào)12345678編碼100000101001110000100011001010011編硏201110010111000100001010011000111符號(hào)910111213141516編碼110100101010101011101100101101101110101111110000編碼201000000000000001000010000011000100000101000110碼長(zhǎng) Length123456碼字個(gè)數(shù)Numl004057起始編碼 first243540規(guī)范H uffman
14、碼字碼長(zhǎng) Length123456硏字個(gè)數(shù) Numl004057起始編碼 first243540規(guī)池的Huffman碼字可以這樣解碼 例如碼流00110x:=1; in put v; while v<firstxappend next input bit to v; x :s x * 1;end while;v=0,first1=2; v=o6, first =4; v=001,first3=d; v=0011,first4=5; v=00110,first5=:4; 碼長(zhǎng)為5, v-first=2,符 號(hào)為碼長(zhǎng)為5的第2個(gè)符號(hào) (以0開始),即符號(hào)7Huffman編碼編程頭現(xiàn)方法Huf
15、fman編碼編程編碼開始 對(duì)原始數(shù)據(jù)出現(xiàn)次數(shù)進(jìn)行統(tǒng)計(jì).將次數(shù)存儲(chǔ)在數(shù)組counter中建立碼樹/碼衷傳送碼表I編碼傳送壓編碼流符號(hào)ala2a3a4a5權(quán)值100283528312概率0.2180.0610.0760.6180.026編碼結(jié)束Huffman編碼編程利用統(tǒng)計(jì)錯(cuò)果counter和徒表'typedef structint weit; 權(quán)值 int Ichd; 左孩子 int rchd; 右孩子Int part; 父節(jié)由 Jhufmtree; hufmtree *htree; 建立Huffman碼樹和碼表.Huffman編碼編程編碼結(jié)束Huffman編碼編程Huffman編碼編程
16、Huffman編碼編程壓縮對(duì)abc.txt進(jìn)行壓縮,壓縮結(jié)果存儲(chǔ)在abc_code.tx忡。 解壓對(duì)abc_code.txt進(jìn)行解壓,恢復(fù)結(jié)果存儲(chǔ)在abc decode.txt中。對(duì)比abc.txt和abc_decode.txt.如果完全一致,表明 壓縮/解壓過程正確,反之不正確.對(duì)比abc.txt和abc_ decode.txt文件大小,計(jì)算壓縮比自適應(yīng)Huffman編碼Adaptive Huffman coding ( Dynamic Huffman coding )Huffman編碼需要實(shí)現(xiàn)知道輸入符號(hào)集的概率分布,為了 進(jìn)行編碼需要先對(duì)數(shù)據(jù)計(jì)算概率分布,然后再對(duì)數(shù)據(jù)進(jìn)行 編碼,需要對(duì)數(shù)
17、據(jù)掃描兩遍。對(duì)信源進(jìn)行哈夫曼編碼后形成了一個(gè)哈夫曼編碼表,若要 正確解碼必須依照此表.于是在信源存儲(chǔ)與傳輸過程中, 必須首先考応此表的存儲(chǔ)與傳輸,故此表也占有一定的比 特?cái)?shù)。一種解決方法是使用默認(rèn)的哈夫曼編碼表,而更 好的方法是自適應(yīng)Huffman編碼自適應(yīng)Huffman編碼不需要事先計(jì)算概率分布,能夠在 編碼/解碼過程中自動(dòng)建立Huffman編碼樹,只需要對(duì)數(shù) 據(jù)掃描一遍因而得到了廣泛應(yīng)用自適應(yīng)Huffman編碼Adaptive Huffman coding ( Dynamic Huffman coding )自適應(yīng)Huffman編碼的思想是從一)個(gè)空的Huffman編碼樹開始.空的NYTH
18、uffman編碼樹僅包含一個(gè)空節(jié)點(diǎn) NYT(Not Yet Transmitted),表示還沒有開始數(shù)據(jù)傳送。自適應(yīng)Huffman編碼Adaptive Huffman coding ( Dynamic Huffman coding )自適應(yīng)Huffman編碼的思想是從一 個(gè)空的Huffman編碼樹開始.空的 Huffman編碼樹僅包含一個(gè)空節(jié)點(diǎn) NYT(Not Yet Transmitted) 表示 還沒有開始數(shù)據(jù)傳送.讀入的第1個(gè)符號(hào),不做壓縮直接 進(jìn)入輸出碼流,同時(shí)將其添加進(jìn)樹 中賦予碼字.自適應(yīng)Huffman編碼Adaptive Huffman coding ( Dynamic Huffman coding ) 每讀入*!個(gè)新的符號(hào),輸出NYT,然 eAb. 后將新符號(hào)不做壓縮直接進(jìn)入輸出 同時(shí)將其添加進(jìn)樹中賦予碼00110001000皐流,Adaptive Huffman coding ( Dynamic Huffman coding )自適應(yīng)Huffman編碼自適應(yīng)Huffman編碼Adaptive Huffman coding ( Dynamic Huffman coding )自適應(yīng)Huffman編碼Adaptive Huffman codi
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 消防安保聯(lián)動(dòng)機(jī)制的研究與應(yīng)用計(jì)劃
- 2024年高、低能校正磁鐵項(xiàng)目建議書
- 體育與健身產(chǎn)業(yè)股權(quán)投資合同三篇
- 生物病毒課件 2024-2025學(xué)年人教版生物七年級(jí)上冊(cè)
- 2021年下半年自考00245刑法學(xué)練習(xí)考題含解析
- 5.3絕對(duì)值(課件)-2020-2021學(xué)年六年級(jí)數(shù)學(xué)下冊(cè)同步備課系列(滬教版)
- 尿檢報(bào)告解讀
- 2023-2024學(xué)年湖北省荊門市沙洋縣國道片區(qū)九年級(jí)(上)第一次月考化學(xué)試卷
- 2021年浙江湖州中考滿分作文《我們都有自己的方向》4
- 2025屆河北省唐山市路南區(qū)唐山一中高三4月聯(lián)考化學(xué)試題含解析
- GB/T 10067.1-2019電熱和電磁處理裝置基本技術(shù)條件第1部分:通用部分
- GB 16869-2005鮮、凍禽產(chǎn)品
- 2023年山東省及普通高中學(xué)業(yè)水平考試會(huì)考數(shù)學(xué)試題及答案
- 影響陽離子聚合的因素
- 氣體滅火系統(tǒng)調(diào)試報(bào)告記錄
- 老年病人麻醉-課件
- 最完整的職業(yè)生涯規(guī)劃教案課件
- 文化研究導(dǎo)論(復(fù)習(xí)資料)陸揚(yáng)
- 水土保持工程質(zhì)量評(píng)定表
- 【專業(yè)英語】材料科學(xué)與工程課件
- 【課件】場(chǎng)域與對(duì)話-公共空間里的雕塑 課件-2022-2023學(xué)年高中美術(shù)人美版(2019)美術(shù)鑒賞
評(píng)論
0/150
提交評(píng)論