




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、數(shù)據(jù)壓縮與信源編碼第3講 霍夫曼編碼西安電子科技大學(xué) 電子工程學(xué)院主講 :林三虎Huffman編碼算法v基本規(guī)則基本規(guī)則出現(xiàn)概率越高的符號(hào)采用越短的編碼。出現(xiàn)概率越高的符號(hào)采用越短的編碼。出現(xiàn)概率最低的兩個(gè)符號(hào)采用相同長(zhǎng)度的編碼。出現(xiàn)概率最低的兩個(gè)符號(hào)采用相同長(zhǎng)度的編碼。v具體步驟具體步驟將符號(hào)出現(xiàn)概率從高到低排序。將符號(hào)出現(xiàn)概率從高到低排序。將概率最低的兩個(gè)符號(hào)合并成一個(gè)符號(hào),它們概率之將概率最低的兩個(gè)符號(hào)合并成一個(gè)符號(hào),它們概率之和為新符號(hào)的概率。和為新符號(hào)的概率。重復(fù)上面兩個(gè)步驟,直到概率為重復(fù)上面兩個(gè)步驟,直到概率為1。每次合并符號(hào),用每次合并符號(hào),用0和和1區(qū)分兩個(gè)符號(hào)。區(qū)分兩個(gè)符號(hào)
2、。從根節(jié)點(diǎn)開始搜索每個(gè)符號(hào),記錄其從根節(jié)點(diǎn)開始搜索每個(gè)符號(hào),記錄其0,1序列即為該序列即為該符號(hào)的編碼。符號(hào)的編碼。Huffman編碼算法a2(0.4)a1(0.2)a3(0.2)a4(0.1)a5(0.1)a2(0.4)a1(0.2)a3(0.2)a4(0.2)a2(0.4)a1(0.2)a3(0.4)a2(0.4)a1(0.6)a2(1.0)01010101符號(hào)a1a2a3a4a5概率0.20.40.20.10.1符號(hào)a1a2a3a4a5Huffman編碼10011011101111Huffman編碼算法符號(hào)a1a2a3a4a5Huffman編碼10011011101111編碼示例:信源輸
3、出符號(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)編碼平均碼長(zhǎng)=0.2*2+0.4*1+0.2*3+0.1*4+0.1*4=2.2bits如果使用定長(zhǎng)碼,每個(gè)符號(hào)需要如果使用定長(zhǎng)碼,每個(gè)符號(hào)需要3bits,Huffman編碼平均編碼平均每符號(hào)節(jié)約每符號(hào)節(jié)約0.8bits,壓縮比,壓縮比3:2.2=1.36倍。倍。Huffman編碼算法符號(hào)a1a
4、2a3a4a5概率0.20.40.20.10.1編碼10011011101111Huffman編碼平均碼長(zhǎng)編碼平均碼長(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)的概率假定以每個(gè)內(nèi)節(jié)點(diǎn)的所有孩子節(jié)點(diǎn)的概率之和表示該節(jié)點(diǎn)的值,之和表示該節(jié)點(diǎn)的值,Huffman編碼樹的編碼樹的內(nèi)節(jié)點(diǎn)之和等于平均碼長(zhǎng)。內(nèi)節(jié)點(diǎn)之和等于平均碼長(zhǎng)。1.0a2a10.60.40110a30.2a4a51100Huffman編碼樹編碼樹Huffman編碼算法符號(hào)a1a2a3a4a5概率0.20.40.20.10.1Huffman編碼10011011101111Hu
5、ffman編碼平均碼長(zhǎng)編碼平均碼長(zhǎng)=0.2*2+0.4*1+0.2*3+0.1*4+0.1*4=2.2bits信源的熵信源的熵Huffman編碼冗余度編碼冗余度=Huffman編碼平均碼長(zhǎng)編碼平均碼長(zhǎng)-信源的熵信源的熵=0.078bits/symbolsymbolbitaPaPaiaPAHiiii/122. 2)(log)()()()(Huffman編碼沒(méi)有達(dá)到壓縮能力的極限,仍存在繼續(xù)壓縮編碼沒(méi)有達(dá)到壓縮能力的極限,仍存在繼續(xù)壓縮的可能。的可能。Huffman編碼算法a2(0.4)a1(0.2)a3(0.2)a4(0.1)a5(0.1)a2(0.4)a1(0.2)a3(0.2)a4(0.2)
6、a2(0.4)a1(0.2)a3(0.4)a2(0.4)a1(0.6)a2(1.0)10101010符號(hào)a1a2a3a4a5概率0.250.40.20.10.05符號(hào)a1a2a3a4a5編碼110011011101111編碼201100100010000霍夫曼編碼中霍夫曼編碼中0和和1的分配是任意的的分配是任意的Huffman編碼算法a2(0.4)a1(0.2)a3(0.2)a4(0.1)a5(0.1)a2(0.4)a1(0.2)a3(0.2)a4(0.2)a2(0.4)a1(0.2)a3(0.4)a2(0.4)a1(0.6)a2(1.0)10101010符號(hào)a1a2a3a4a5概率0.250
7、.40.20.10.05符號(hào)a1a2a3a4a5編碼110011011101111編碼201100100010000因此,霍夫曼編碼不唯一因此,霍夫曼編碼不唯一Huffman編碼算法霍夫曼編碼不唯一,什么樣的霍夫曼編碼最好呢?霍夫曼編碼不唯一,什么樣的霍夫曼編碼最好呢?答案是:最小方差霍夫曼編碼答案是:最小方差霍夫曼編碼最小方差霍夫曼編碼在合并兩個(gè)符號(hào)時(shí),如果有最小方差霍夫曼編碼在合并兩個(gè)符號(hào)時(shí),如果有3個(gè)或個(gè)或以上的符號(hào)概率都最小,則將剛合并的符號(hào)放在概率相以上的符號(hào)概率都最小,則將剛合并的符號(hào)放在概率相同的符號(hào)的最上面。同的符號(hào)的最上面。最小方差Huffman編碼算法a2(0.4)a1(0
8、.2)a3(0.2)a4(0.1)a5(0.1)a2(0.4)a1(0.2)a3(0.2)a4(0.2)a2(0.4)a4(0.2)a1(0.4)a1(0.4)a2(0.6)a2(1.0)01010101符號(hào)a1a2a3a4a5概率0.250.40.20.10.05符號(hào)a1a2a3a4a5編碼3100011010011最小方差Huffman編碼算法符號(hào)a1a2a3a4a5編碼110011011101111編碼201100100010000編碼3100011010011Huffman編碼編碼1和和2碼字長(zhǎng)度在碼字長(zhǎng)度在14之間,碼長(zhǎng)方差較大,之間,碼長(zhǎng)方差較大,編碼編碼3的碼字長(zhǎng)度在的碼字長(zhǎng)度在
9、23之間,碼長(zhǎng)方差較小。之間,碼長(zhǎng)方差較小。為什么碼長(zhǎng)方差小的編碼最佳?為什么碼長(zhǎng)方差小的編碼最佳?對(duì)于一定速率的信源,例如對(duì)于一定速率的信源,例如1000symbol/秒,秒, Huffman編編碼平均碼長(zhǎng)為碼平均碼長(zhǎng)為2.2bits,則平均編碼碼流輸出為,則平均編碼碼流輸出為2200bit/秒,秒,假定信道帶寬為假定信道帶寬為2200bit/秒,能夠滿足傳輸要求。秒,能夠滿足傳輸要求。最小方差Huffman編碼算法符號(hào)a1a2a3a4a5編碼110011011101111編碼201100100010000編碼3100011010011對(duì)于一定速率的信源,例如對(duì)于一定速率的信源,例如1000
10、symbol/秒,秒, Huffman編編碼平均碼長(zhǎng)為碼平均碼長(zhǎng)為2.2bits,則平均編碼碼流輸出為,則平均編碼碼流輸出為2200bit/秒,秒,假定信道帶寬為假定信道帶寬為2200bit/秒,能夠滿足傳輸要求。秒,能夠滿足傳輸要求。如果信源連續(xù)輸出如果信源連續(xù)輸出a2,則編碼,則編碼1碼流輸出為碼流輸出為1000bit/秒,浪秒,浪費(fèi)信道帶寬。費(fèi)信道帶寬。如果信源連續(xù)輸出如果信源連續(xù)輸出a5,則編碼,則編碼1碼流輸出為碼流輸出為4000bit/秒,信秒,信道帶寬又不足。道帶寬又不足。最小方差Huffman編碼算法符號(hào)a1a2a3a4a5編碼110011011101111編碼20110010
11、0010000編碼3100011010011為了充分利用信道帶寬,必須對(duì)編碼輸出的碼流進(jìn)行緩沖,為了充分利用信道帶寬,必須對(duì)編碼輸出的碼流進(jìn)行緩沖,在信道帶寬不足時(shí)將碼流存儲(chǔ)起來(lái),在信道帶寬富裕時(shí)進(jìn)在信道帶寬不足時(shí)將碼流存儲(chǔ)起來(lái),在信道帶寬富裕時(shí)進(jìn)行傳送。行傳送。如果信源連續(xù)輸出如果信源連續(xù)輸出a2,則編碼,則編碼1碼流輸出為碼流輸出為1000bit/秒,浪秒,浪費(fèi)信道帶寬。費(fèi)信道帶寬。如果信源連續(xù)輸出如果信源連續(xù)輸出a5,則編碼,則編碼1碼流輸出為碼流輸出為4000bit/秒,信秒,信道帶寬又不足。道帶寬又不足。最小方差Huffman編碼算法符號(hào)a1a2a3a4a5編碼11001101110
12、1111編碼201100100010000編碼310001101001111a51111a51,11,1111111a501111a21,11,101011a11,11000symbol/s2200bit/s最小方差Huffman編碼算法符號(hào)a1a2a3a4a5編碼110011011101111編碼201100100010000編碼3100011010011編碼的碼長(zhǎng)方差越大,緩沖必須越大;編碼的碼長(zhǎng)方差越大,緩沖必須越大;編碼的碼長(zhǎng)方差越小,緩沖可以越??;編碼的碼長(zhǎng)方差越小,緩沖可以越??;因此,最佳的因此,最佳的Huffman編碼為最小方差編碼為最小方差Huffman編碼。編碼。如果信源連續(xù)
13、輸出如果信源連續(xù)輸出a2,則編碼,則編碼1碼流輸出為碼流輸出為1000bit/秒,浪秒,浪費(fèi)信道帶寬。費(fèi)信道帶寬。如果信源連續(xù)輸出如果信源連續(xù)輸出a5,則編碼,則編碼1碼流輸出為碼流輸出為4000bit/秒,信秒,信道帶寬又不足。道帶寬又不足。Huffman編碼特點(diǎn)哈夫曼編碼方法構(gòu)造出來(lái)的碼不是惟一的。哈夫曼編碼方法構(gòu)造出來(lái)的碼不是惟一的。 符號(hào)a1a2a3a4a5編碼110011011101111編碼201100100010000編碼3100011010011Huffman編碼特點(diǎn)Huffman編碼的碼長(zhǎng)雖然是可變的,但卻不需要另外附加同編碼的碼長(zhǎng)雖然是可變的,但卻不需要另外附加同步代碼。步
14、代碼。符號(hào)a1a2a3a4a5編碼110011011101111編碼201100100010000編碼3100011010011例如,例如,10011011101111按照編碼按照編碼1可解釋為可解釋為a1a2a3a4a5。 又如,又如,100011010011按照編碼按照編碼3可解釋為可解釋為a1a2a3a4a5。規(guī)范Huffman碼字規(guī)范的霍夫曼碼字是從規(guī)范的霍夫曼碼字是從Huffman碼字從特意挑選出來(lái)的,碼字從特意挑選出來(lái)的,目的是便于在譯碼時(shí)檢測(cè)碼字的長(zhǎng)度。目的是便于在譯碼時(shí)檢測(cè)碼字的長(zhǎng)度。下面兩個(gè)編碼中,編碼下面兩個(gè)編碼中,編碼2為規(guī)范的為規(guī)范的Huffman碼字。碼字。符號(hào)符號(hào)1
15、2345678編碼編碼100000101001110000100011001010011編碼編碼201110010111000100001010011000111符號(hào)符號(hào)910111213141516編碼編碼110100101010101011101100101101101110101111110000編碼編碼201000000000000001000010000011000100000101000110規(guī)范Huffman碼字碼長(zhǎng)碼長(zhǎng)Length123456碼字個(gè)數(shù)碼字個(gè)數(shù)Numl004057起始編碼起始編碼first243540規(guī)范的規(guī)范的Huffman碼字這樣產(chǎn)生碼字這樣產(chǎn)生first6=
16、0;for x:=5 downto 1 do firstx=(firstx+1+numlx+1)/2其中,其中,y表示取不小于表示取不小于y的最小整數(shù)。的最小整數(shù)。符號(hào)符號(hào)12345678編碼編碼201110010111000100001010011000111符號(hào)符號(hào)910111213141516編碼編碼201000000000000001000010000011000100000101000110規(guī)范Huffman碼字碼長(zhǎng)碼長(zhǎng)Length123456碼字個(gè)數(shù)碼字個(gè)數(shù)Numl004057起始編碼起始編碼first243540符號(hào)符號(hào)12345678編碼編碼100000101001110000
17、100011001010011編碼編碼201110010111000100001010011000111符號(hào)符號(hào)910111213141516編碼編碼110100101010101011101100101101101110101111110000編碼編碼201000000000000001000010000011000100000101000110規(guī)范Huffman碼字碼長(zhǎng)碼長(zhǎng)Length123456碼字個(gè)數(shù)碼字個(gè)數(shù)Numl004057起始編碼起始編碼first243540規(guī)范的規(guī)范的Huffman碼字可以這樣解碼碼字可以這樣解碼x:=1; input v;while vfirstx appe
18、nd next input bit to v; x := x + 1;end while;例如碼流例如碼流00110v=0,first1=2;v=00,first2=4;v=001,first3=3;v=0011,first4=5;v=00110,first5=4;碼長(zhǎng)為碼長(zhǎng)為5,v-first5=2,符符號(hào)為碼長(zhǎng)為號(hào)為碼長(zhǎng)為5的第的第2個(gè)符號(hào)個(gè)符號(hào)(以以0開始開始),即符號(hào),即符號(hào)7Huffman編碼編程實(shí)現(xiàn)方法編碼開始編碼開始概率統(tǒng)計(jì)概率統(tǒng)計(jì)建立碼樹建立碼樹/碼表碼表傳送碼表傳送碼表編碼編碼-傳送壓縮碼流傳送壓縮碼流編碼結(jié)束編碼結(jié)束解碼開始解碼開始接收碼表接收碼表恢復(fù)碼樹恢復(fù)碼樹/碼表碼表
19、接收壓縮碼流接收壓縮碼流解碼解碼-恢復(fù)原碼恢復(fù)原碼解碼結(jié)束解碼結(jié)束Huffman編碼編程編碼開始編碼開始概率統(tǒng)計(jì)概率統(tǒng)計(jì)建立碼樹建立碼樹/碼表碼表傳送碼表傳送碼表編碼編碼-傳送壓縮碼流傳送壓縮碼流編碼結(jié)束編碼結(jié)束對(duì)原始數(shù)據(jù)出現(xiàn)次數(shù)進(jìn)行統(tǒng)計(jì),將次對(duì)原始數(shù)據(jù)出現(xiàn)次數(shù)進(jìn)行統(tǒng)計(jì),將次數(shù)存儲(chǔ)在數(shù)組數(shù)存儲(chǔ)在數(shù)組counter中。中。符號(hào)a1a2a3a4a5權(quán)值100283528312概率0.2180.0610.0760.6180.026Huffman編碼編程編碼開始編碼開始概率統(tǒng)計(jì)概率統(tǒng)計(jì)建立碼樹建立碼樹/碼表碼表傳送碼表傳送碼表編碼編碼-傳送壓縮碼流傳送壓縮碼流編碼結(jié)束編碼結(jié)束利用統(tǒng)計(jì)結(jié)果利用統(tǒng)計(jì)結(jié)果c
20、ounter和鏈表和鏈表typedef struct int weit; /權(quán)值權(quán)值int lchd; /左孩子左孩子int rchd; /右孩子右孩子int part; /父節(jié)點(diǎn)父節(jié)點(diǎn)hufmtree;hufmtree *htree; 建立建立Huffman碼樹和碼表。碼樹和碼表。Huffman編碼編程編碼開始編碼開始概率統(tǒng)計(jì)概率統(tǒng)計(jì)建立碼樹建立碼樹/碼表碼表傳送碼表傳送碼表編碼編碼-傳送壓縮碼流傳送壓縮碼流編碼結(jié)束編碼結(jié)束碼表的傳送可以有多種形式,比如傳碼表的傳送可以有多種形式,比如傳送統(tǒng)計(jì)數(shù)組送統(tǒng)計(jì)數(shù)組counter,傳送,傳送Huffman碼樹,傳送碼樹,傳送Huffman碼表都可以。
21、碼表都可以。Huffman編碼編程編碼開始編碼開始概率統(tǒng)計(jì)概率統(tǒng)計(jì)建立碼樹建立碼樹/碼表碼表傳送碼表傳送碼表編碼編碼-傳送壓縮碼流傳送壓縮碼流編碼結(jié)束編碼結(jié)束每個(gè)字節(jié)原始數(shù)據(jù)用一個(gè)長(zhǎng)度不同的每個(gè)字節(jié)原始數(shù)據(jù)用一個(gè)長(zhǎng)度不同的0、1序列表示,序列表示,8個(gè)個(gè)0、1要打包成要打包成1個(gè)字節(jié),如個(gè)字節(jié),如abcde壓縮后為壓縮后為101,10,1111,110,0110則打包成則打包成0 xB7,0 xE6Huffman編碼編程編碼開始編碼開始概率統(tǒng)計(jì)概率統(tǒng)計(jì)建立碼樹建立碼樹/碼表碼表傳送碼表傳送碼表編碼編碼-傳送壓縮碼流傳送壓縮碼流編碼結(jié)束編碼結(jié)束每個(gè)字節(jié)原始數(shù)據(jù)用一個(gè)長(zhǎng)度不同的每個(gè)字節(jié)原始數(shù)據(jù)用一
22、個(gè)長(zhǎng)度不同的0、1序列表示,序列表示,8個(gè)個(gè)0、1要打包成要打包成1個(gè)字節(jié),如個(gè)字節(jié),如abcde壓縮后為壓縮后為101,10,1111,110,0110則打包成則打包成0 xB7,0 xE6整個(gè)壓縮后的碼流長(zhǎng)度不一定能夠被整個(gè)壓縮后的碼流長(zhǎng)度不一定能夠被8整除,必須加以處理。整除,必須加以處理。Huffman編碼編程壓縮壓縮對(duì)對(duì)abc.txt進(jìn)行壓縮,壓縮結(jié)果存儲(chǔ)在進(jìn)行壓縮,壓縮結(jié)果存儲(chǔ)在abc_code.txt中。中。解壓解壓對(duì)對(duì)abc_code.txt進(jìn)行解壓,恢復(fù)結(jié)果存儲(chǔ)在進(jìn)行解壓,恢復(fù)結(jié)果存儲(chǔ)在abc_decode.txt中。中。評(píng)價(jià)評(píng)價(jià)對(duì)比對(duì)比abc.txt和和abc_decode
23、.txt,如果完全一致,表明,如果完全一致,表明壓縮壓縮/解壓過(guò)程正確,反之不正確。解壓過(guò)程正確,反之不正確。對(duì)比對(duì)比abc.txt和和abc_decode.txt文件大小,計(jì)算壓縮比。文件大小,計(jì)算壓縮比。自適應(yīng)Huffman編碼 Adaptive Huffman coding ( Dynamic Huffman coding )對(duì)信源進(jìn)行哈夫曼編碼后形成了一個(gè)哈夫曼編碼表,若要對(duì)信源進(jìn)行哈夫曼編碼后形成了一個(gè)哈夫曼編碼表,若要正確解碼必須依照此表。于是在信源存儲(chǔ)與傳輸過(guò)程中,正確解碼必須依照此表。于是在信源存儲(chǔ)與傳輸過(guò)程中,必須首先考慮此表的存儲(chǔ)與傳輸,故此表也占有一定的比必須首先考慮此表
24、的存儲(chǔ)與傳輸,故此表也占有一定的比特?cái)?shù)。一種解決方法是使用默認(rèn)的哈夫曼編碼表特?cái)?shù)。一種解決方法是使用默認(rèn)的哈夫曼編碼表Huffman編碼需要實(shí)現(xiàn)知道輸入符號(hào)集的概率分布,為了編碼需要實(shí)現(xiàn)知道輸入符號(hào)集的概率分布,為了進(jìn)行編碼需要先對(duì)數(shù)據(jù)計(jì)算概率分布,然后再對(duì)數(shù)據(jù)進(jìn)行進(jìn)行編碼需要先對(duì)數(shù)據(jù)計(jì)算概率分布,然后再對(duì)數(shù)據(jù)進(jìn)行編碼,需要對(duì)數(shù)據(jù)掃描兩遍。編碼,需要對(duì)數(shù)據(jù)掃描兩遍。自適應(yīng)自適應(yīng)Huffman編碼編碼自適應(yīng)自適應(yīng)Huffman編碼不需要事先計(jì)算概率分布,能夠在編碼不需要事先計(jì)算概率分布,能夠在編碼編碼/解碼過(guò)程中自動(dòng)建立解碼過(guò)程中自動(dòng)建立Huffman編碼樹,只需要對(duì)數(shù)編碼樹,只需要對(duì)數(shù)據(jù)掃描一
25、遍因而得到了廣泛應(yīng)用。據(jù)掃描一遍因而得到了廣泛應(yīng)用。 ,而更,而更好的方法是好的方法是自適應(yīng)Huffman編碼 Adaptive Huffman coding ( Dynamic Huffman coding ) 自適應(yīng)自適應(yīng)Huffman編碼的思想是從一編碼的思想是從一個(gè)空的個(gè)空的Huffman編碼樹開始,空的編碼樹開始,空的Huffman編碼樹僅包含一個(gè)空節(jié)點(diǎn)編碼樹僅包含一個(gè)空節(jié)點(diǎn)NYT(Not Yet Transmitted),表示,表示還沒(méi)有開始數(shù)據(jù)傳送。還沒(méi)有開始數(shù)據(jù)傳送。NYT自適應(yīng)Huffman編碼 Adaptive Huffman coding ( Dynamic Huffma
26、n coding ) 自適應(yīng)自適應(yīng)Huffman編碼的思想是從一編碼的思想是從一個(gè)空的個(gè)空的Huffman編碼樹開始,空的編碼樹開始,空的Huffman編碼樹僅包含一個(gè)空節(jié)點(diǎn)編碼樹僅包含一個(gè)空節(jié)點(diǎn)NYT(Not Yet Transmitted),表示,表示還沒(méi)有開始數(shù)據(jù)傳送。還沒(méi)有開始數(shù)據(jù)傳送。NYT讀入的第讀入的第1個(gè)符號(hào),不做壓縮直接個(gè)符號(hào),不做壓縮直接進(jìn)入輸出碼流,同時(shí)將其添加進(jìn)樹進(jìn)入輸出碼流,同時(shí)將其添加進(jìn)樹中賦予碼字。中賦予碼字。1110a輸入輸入a,輸出,輸出01100001自適應(yīng)Huffman編碼 Adaptive Huffman coding ( Dynamic Huffman
27、 coding ) NYT2110a每讀入每讀入1個(gè)新的符號(hào),輸出個(gè)新的符號(hào),輸出NYT,然,然后將新符號(hào)不做壓縮直接進(jìn)入輸出后將新符號(hào)不做壓縮直接進(jìn)入輸出碼流,同時(shí)將其添加進(jìn)樹中賦予碼碼流,同時(shí)將其添加進(jìn)樹中賦予碼字。字。輸入輸入b,輸出,輸出00110001011b10NYT1110a自適應(yīng)Huffman編碼 Adaptive Huffman coding ( Dynamic Huffman coding ) 如果讀入一個(gè)已有的符號(hào),則直接如果讀入一個(gè)已有的符號(hào),則直接輸出編碼,實(shí)現(xiàn)數(shù)據(jù)壓縮。輸出編碼,實(shí)現(xiàn)數(shù)據(jù)壓縮。NYT2110a輸入輸入b,輸出,輸出0111b10自適應(yīng)Huffman編碼 Adaptive Huffman coding ( Dynamic Huffman coding ) 如果讀入一個(gè)已有的符號(hào),則直接如果讀入一個(gè)已有的符號(hào),則直接輸出編碼,實(shí)現(xiàn)數(shù)據(jù)壓縮。輸出編碼,實(shí)現(xiàn)數(shù)據(jù)壓縮。NYT3110a22b10每讀入一個(gè)已有的符號(hào),需要修改每讀
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 低價(jià)轉(zhuǎn)讓轉(zhuǎn)租合同范本
- 公共廣播合同范本
- 飯店供應(yīng)食品合同范本
- 早餐攤位加工合同范本
- 個(gè)人煤炭求購(gòu)合同范本
- 彩鋼瓦噴漆翻新合同范本
- 廚房線路改造合同范本
- 裝飾工程傭金合同范本
- 2025標(biāo)準(zhǔn)商業(yè)租賃合同
- 2025建筑工程的設(shè)備采購(gòu)合同范本
- 2022年河南工業(yè)和信息化職業(yè)學(xué)院?jiǎn)握忻嬖囶}庫(kù)及答案解析
- 文體中心運(yùn)營(yíng)方案
- 聚焦核心素養(yǎng)《義務(wù)教育數(shù)學(xué)新課程標(biāo)準(zhǔn)》2022年小學(xué)數(shù)學(xué)新課標(biāo)解讀課件
- 教師資格證《小池》說(shuō)課夏東
- 期末復(fù)習(xí):蘇教版四年級(jí)下《勞動(dòng)與技術(shù)》含答案
- 接觸網(wǎng)施工-接觸網(wǎng)竣工驗(yàn)收
- 《臟之將軍-肝》課件
- 黑龍江省哈爾濱市香坊區(qū)2023-2024學(xué)年八年級(jí)上學(xué)期期末數(shù)學(xué)試題
- GB/Z 43281-2023即時(shí)檢驗(yàn)(POCT)設(shè)備監(jiān)督員和操作員指南
- 主動(dòng)披露報(bào)告表
- 2022年版小學(xué)《義務(wù)教育音樂(lè)課程標(biāo)準(zhǔn)》考試復(fù)習(xí)題庫(kù)
評(píng)論
0/150
提交評(píng)論