版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、 第七章 圖像(t xin)與視頻壓縮(1)共八十頁第七章 圖像(t xin)與視頻壓縮1 通用(tngyng)數(shù)據(jù)壓縮2 多媒體數(shù)據(jù)壓縮共八十頁1 通用(tngyng)數(shù)據(jù)壓縮1.1 數(shù)據(jù)壓縮概述1.2 數(shù)據(jù)壓縮主要(zhyo)方法游程編碼統(tǒng)計編碼字典編碼共八十頁數(shù)據(jù)壓縮(sh j y su)-定義 “數(shù)據(jù)壓縮(sh j y su)”在漢英詞典中的解釋: data compression (A method of reducing the amount of memory required to store data by encoding it and minimizing redunda
2、ncy. Compressed data takes less time to transmit, but more computation time to restore it to its original form when needed for processing.)共八十頁數(shù)據(jù)壓縮(sh j y su)-作用 通俗地說,就是用最少的數(shù)碼來表示信號。其作用是:能較快地傳輸各種信號,如傳真、Modem通信等;在現(xiàn)有的通信干線并行開通更多的多媒體業(yè)務,如各種增值業(yè)務;緊縮數(shù)據(jù)(shj)存儲容量,如CDROM、VCD和DVD等;降低發(fā)信機功率,這對于多媒體移動通信系統(tǒng)尤為重要。由此看來,通
3、信時間、傳輸帶寬、存儲空間甚至發(fā)射能量,都可能成為數(shù)據(jù)壓縮的目的。 共八十頁數(shù)據(jù)壓縮(sh j y su)-概要 在計算機科學和信息論中,數(shù)據(jù)壓縮或者信源編碼(bin m)是按照特定的編碼(bin m)機制用比未經編碼(bin m)少的數(shù)據(jù)位元(或者其它信息相關的單位)表示信息的過程。例如,如果我們將“compression”編碼為“comp”那么這篇文章可以用較少的數(shù)據(jù)位表示。一種流行的壓縮實例是許多計算機都在使用的ZIP 文件格式,它不僅僅提供了壓縮的功能,而且還作為歸檔工具Archive使用,能夠將許多文件存儲到同一個文件中。共八十頁數(shù)據(jù)壓縮(sh j y su)-概要 對于任何形式的通
4、信來說,只有當信息的發(fā)送方和接受方都能夠理解編碼機制的時候壓縮數(shù)據(jù)通信才能夠工作。例如,只有當接受方知道這篇文章需要用英語(yn y)字符解釋的時候這篇文章才有意義。同樣,只有當接受方知道編碼方法的時候他才能夠理解壓縮數(shù)據(jù)。一些壓縮算法利用了這個特性,在壓縮過程中對數(shù)據(jù)進行加密,例如利用密碼加密,以保證只有得到授權的一方才能正確地得到數(shù)據(jù)。共八十頁數(shù)據(jù)壓縮(sh j y su)-概要 數(shù)據(jù)壓縮能夠實現(xiàn)是因為多數(shù)現(xiàn)實世界的數(shù)據(jù)都有各種冗余。例如,字母“e”在英語中比字母“z”更加常用,字母“q”后面是“z”的可能性非常小。無損壓縮算法(sun f)通常利用利用了統(tǒng)計冗余,這樣就能更加簡練地、但仍
5、然是完整地表示發(fā)送方的數(shù)據(jù)。 如果允許一定程度的保真度損失,那么還可以實現(xiàn)進一步的壓縮。例如,人們看圖畫或者電視畫面的時候可能并不會注意到一些細節(jié)并不完善。同樣,兩個音頻錄音采樣序列可能聽起來一樣,但實際上并不完全一樣。有損壓縮算法在帶來微小差別的情況下使用較少的位數(shù)表示圖像、視頻或者音頻。共八十頁數(shù)據(jù)壓縮(sh j y su)-概要 由于可以幫助減少如硬盤空間與連接帶寬這樣的昂貴資源的消耗,所以壓縮非常重要,然而壓縮需要消耗信息處理資源,這也可能是費用昂貴的。所以數(shù)據(jù)壓縮機制的設計需要在壓縮能力、失真度、所需計算資源以及(yj)其它需要考慮的不同因素之間進行折衷。共八十頁數(shù)據(jù)壓縮(sh j
6、y su)-應用 一種非常簡單的壓縮方法是行程長度編碼,這種方法使用數(shù)據(jù)及數(shù)據(jù)長度這樣簡單的編碼代替同樣的連續(xù)數(shù)據(jù),這是無損數(shù)據(jù)壓縮的一個實例。這種方法經常(jngchng)用于辦公計算機以更好地利用磁盤空間、或者更好地利用計算機網絡中的帶寬。對于電子表格、文本、可執(zhí)行文件等這樣的符號數(shù)據(jù)來說,無損是一個非常關鍵的要求,因為除了一些有限的情況,大多數(shù)情況下即使是一個數(shù)據(jù)位的變化都是無法接受的。共八十頁數(shù)據(jù)壓縮(sh j y su)-應用 對于視頻和音頻數(shù)據(jù),只要不損失數(shù)據(jù)的重要部分一定程度的質量下降是可以接受的。通過利用人類感知系統(tǒng)的局限,能夠大幅度得節(jié)約存儲空間并且得到的結果質量與原始數(shù)據(jù)質
7、量相比并沒有明顯的差別。這些有損數(shù)據(jù)壓縮方法通常需要在壓縮速度、壓縮數(shù)據(jù)大小以及質量損失三者之間進行折衷。 有損圖像壓縮用于數(shù)碼相機(sh m xin j)中,大幅度地提高了存儲能力,同時圖像質量幾乎沒有降低。用于DVD的有損MPEG-2編解碼視頻壓縮也實現(xiàn)了類似的功能。共八十頁數(shù)據(jù)壓縮(sh j y su)-應用 在有損音頻壓縮中,心理聲學的方法用來去除信號中聽不見或者很難聽見的成分。人類語音的壓縮經常使用更加專業(yè)的技術,因此人們有時也將“語音壓縮”或者“語音編碼”作為一個獨立的研究領域(ln y)與“音頻壓縮”區(qū)分開來。不同的音頻和語音壓縮標準都屬于音頻編解碼范疇。例如語音壓縮用于因特網電
8、話,而音頻壓縮被用于CD翻錄并且使用 MP3 播放器解碼。共八十頁數(shù)據(jù)壓縮(sh j y su)-理論 壓縮的理論基礎是信息論(它與算法信息論密切相關)以及率失真理論,這個領域的研究(ynji)工作主要是由 Claude Shannon 奠定的,他在二十世紀四十年代末期及五十年代早期發(fā)表了這方面的基礎性的論文。 Doyle 和 Carlson 在2000年寫道數(shù)據(jù)壓縮“是所有的工程領域最簡單、最優(yōu)美的設計理論之一”。密碼學與編碼理論也是密切相關的學科,數(shù)據(jù)壓縮的思想與統(tǒng)計推斷也有很深的淵源。共八十頁數(shù)據(jù)壓縮(sh j y su)-理論 許多無損數(shù)據(jù)壓縮系統(tǒng)都可以看作是四步模型,有損數(shù)據(jù)壓縮系統(tǒng)
9、通常包含更多的步驟,例如它包括預測、頻率(pnl)變換以及量化。 Lempel-Ziv(LZ)壓縮方法是最流行的無損存儲算法之一。DEFLATE是 LZ 的一個變體,它針對解壓速度與壓縮率進行了優(yōu)化,雖然它的壓縮速度可能非常緩慢,PKZIP、gzip 以及 PNG 都在使用EFLATE。LZW (Lempel-Ziv-Welch)是 Unisys 的專利,直到2003年6月專利到期限,這種方法用于 GIF 圖像。 共八十頁數(shù)據(jù)壓縮(sh j y su)-理論 最好的壓縮工具將概率模型預測結果用于算術編碼。算術編碼由 Jorma Rissanen 發(fā)明,并且由 Witten、Neal 以及(yj
10、) Cleary 將它轉變成一個實用的方法。這種方法能夠實現(xiàn)比眾人皆知的哈夫曼算法更好的壓縮,并且它本身非常適合于自適應數(shù)據(jù)壓縮,自適應數(shù)據(jù)壓縮的預測與上下文密切相關。算術編碼已經用于二值圖像壓縮標準 JBIG、文檔壓縮標準 DejaVu。文本 輸入系統(tǒng) Dasher 是一個逆算術編碼器。共八十頁1 通用(tngyng)數(shù)據(jù)壓縮1.1 數(shù)據(jù)壓縮概述(i sh)1.2 數(shù)據(jù)壓縮主要方法游程編碼統(tǒng)計編碼字典編碼共八十頁游程(yu chn)編碼(RLE)思想:如果數(shù)據(jù)項d在輸入流中出現(xiàn)n次,則以單個字符對nd替換n次出現(xiàn)者。這個連續(xù)出現(xiàn)的數(shù)據(jù)項叫做游程n,這種數(shù)據(jù)壓縮方法稱為(chn wi)游程編碼
11、或RLERLE文本壓縮RLE圖像壓縮共八十頁RLE文本(wnbn)壓縮 2. all is too well 2. a2l is t2o we2l一個解決方法就是在重復部分前綴一個特殊的提示字符(z f),我們用作提示,則字符串被替換成: 2. a2l is t2o we2l共八十頁 RLE 文本壓縮的步驟 讀入第一個字符后,計數(shù)值為1,保存(bocn)該字符。將后續(xù)字符與已保存(bocn)者相比較,相同則重復計數(shù)器加1。如果讀入一個不同字符,則操作取決于重復次數(shù):如果次數(shù)很小,把已保存的字符寫入壓縮文件,保存新讀入的字符;否則先寫一個,在輸出重復次數(shù)及被保存的字符。下圖是游程文本壓縮器的流程
12、圖共八十頁 共八十頁 RLE 文本解壓的步驟:一旦讀入一個(y ),則立即讀入重復次數(shù)及實際字符,并在輸出流中重復寫該字符n次。共八十頁 共八十頁 RLE 方法(fngf)存在的問題普通英文中并沒有多少重復。有許多雙寫,但是很少有3次重復的。 在輸入流中,字符可能(knng)是文本的一部分,此時必須選一個不同的提示字符。由于重復計數(shù)值以字節(jié)形式寫在輸出流中,只能計到255。共八十頁 RLE的壓縮比 假設待壓縮字符長度為N,字符中包含M次重復,每次重復的平均長度為L。M次中的每一次重復可用3字節(jié)(z ji)代替,因此,壓縮后字符串的長度為N-M(L-3),壓縮因子為 N/(N-M(L-3)如果N
13、=1000,M=10,L=4,則壓縮因子1.01, 如果N=1000,M=50,L=10 壓縮因子1.538共八十頁RLE圖像壓縮二值圖像灰度圖像彩色圖像 RLE圖像壓縮基于這樣的事實:如果我們在該圖像中隨機(su j)選擇一個像素,其相鄰像素色彩相同的可能性很大,因此壓縮器逐行掃描位圖,搜索色彩相同之像素的游程。共八十頁二值圖像(t xin)假設圖像(t xin)從黑像素或白像素開始,按行掃描位圖,給出黑白像素的游程。例如:開始17個白像素,其后跟隨一個黑像素,再跟55個白像素等,則把17,1,55,寫入壓縮流。共八十頁灰度圖像(t xin)12,12,12,12,12,12,12,12,1
14、2,35,76,112,67,87,87,87,5,5,5,5,5,5,1, 被壓縮為9,12,35,76,112,67,3,87,6,5,1,我們要區(qū)分是含灰度值的字節(jié)和含計數(shù)值的字節(jié),解決(jiju)方法如下:共八十頁區(qū)分(qfn)灰度值和游程的方法如果圖像限制為只有128級灰度,我們可以用每個字節(jié)中的一位來表示該字節(jié)所含的是灰度值還是計數(shù)值。如果灰度級為256,則可降為255,保留一個值作標志,至于(zhy)每個游程計數(shù)字節(jié)之前。每字節(jié)均加一位,以表示該字節(jié)所含是灰度值還是計數(shù)值。此時這些附加位每8個累計為一組,每組先于其所屬的8個字節(jié)寫到輸出流中共八十頁彩色圖像對于(duy)彩色圖像,
15、通常將每像素存為3個字節(jié),代表其紅、綠、藍3基色的強度,因此把像素分成3個序列,每一序列分別游程編碼。(171,85,34)、(172,85,35)、(172,85,30)、(173,85,33)共八十頁各行單獨(dnd)編碼的原因有時用戶只查看圖像的一般形狀不需要細節(jié),各行單獨編碼可以各行解碼。逐步(zhb)重建可以只抽取圖像的一部分合并兩幅圖像不必先解碼共八十頁1 通用(tngyng)數(shù)據(jù)壓縮1.1 數(shù)據(jù)壓縮概述(i sh)1.2 數(shù)據(jù)壓縮主要方法游程編碼統(tǒng)計編碼字典編碼共八十頁統(tǒng)計(tngj)編碼香農-費諾編碼(bin m)哈夫曼編碼算術編碼共八十頁香農-費諾編碼(bin m)信息的度量
16、變長碼特性(txng)香農費諾編碼共八十頁信息(xnx)的度量給定一個k位十進制數(shù)和一個k位二進制數(shù),一個很自然的問題是,這兩個k數(shù)位(shwi)包含了多少信息?這可以通過計算它們?yōu)楸硎就粋€數(shù)而各自所需的位數(shù)來回答。 共八十頁給定一個n進制數(shù),有 ,即1位n進制數(shù)所含的信息相當于 位二進制數(shù)包含的信息。如果(rgu)發(fā)射機傳送一個符號需要1/s單位時間,則其傳送速率是每單位時間s個符號。在一個單位時間內發(fā)射機可以發(fā)出s個符號,包含的信息量是 位。我們用 表示信息量,單位為位數(shù)/單位時間。信息(xnx)的度量共八十頁假設 在數(shù)據(jù)(shj)中出現(xiàn)的概率是 ,自然有 在 的等概率特例下,由 可推出
17、: 假定數(shù)據(jù)是由 到 所生成的字符串,這樣一個集合就是(jish)一個有n個符號的字母表。信息的度量共八十頁 在數(shù)據(jù)中出現(xiàn)的概率是 ,那么它在單位時間內平均(pngjn)出現(xiàn)了 次,因此它對H的貢獻是那么n個符號對H的貢獻之和是: 這里H表示信息量,是單位時間傳送的符號位數(shù)。所以一個n進制符號所含有(hn yu)的信息量就是H/S(因其需要1/s時間傳送一個符號)或 ,稱為被傳送數(shù)據(jù)的熵(entropy)信息的度量共八十頁變長碼 符號 概率(gil) 編碼1 編碼2 0.49 1 1 0.25 01 01 0.25 010 000 0.01 001 001共八十頁因而遵循以下兩條規(guī)則(guz)
18、就可以設計變長碼:(1)把短碼賦給出現(xiàn)頻率高的字符;(2)遵循前綴性。共八十頁香農費諾編碼(bin m)按概率把符號從大到小排序將這些符號劃分成概率幾乎相同的兩個子集一個(y )子集以開始,另一個(y )以開始在按照同樣的步驟劃分這兩個子集,一直到子集不能被劃分共八十頁香農-費諾編碼(bin m) 概率(gil) 步驟 碼字 1. 0.25 1 1 :11 2. 0.20 1 0 :10 3. 0.15 0 1 1 :011 4. 0.15 0 1 0 :010 5. 0.10 0 0 1 :001 6. 0.10 0 0 0 1 :0001 7. 0.05 0 0 0 0 :0000共八十頁
19、練習(linx)首先從第3個和第4個符號中間(zhngjin)劃分子集,計算平均碼長?共八十頁統(tǒng)計(tngj)編碼香農-費諾編碼(bin m)哈夫曼編碼算術編碼共八十頁哈夫曼編碼(Huffman Coding)是可變長編碼(VLC)的一種。 Huffman于1952年提出一種編碼方法,該方法完全依據(jù)字符出現(xiàn)概率來構造異字頭的平均長 度最短的碼字,有時稱之為最佳編碼 在計算機信息處理中,“哈夫曼編碼”是一種一致性編碼法(又稱熵編碼法),用于數(shù)據(jù)的無損耗壓縮。這一術語是指使用一張?zhí)厥獾木幋a表將源字符(例如某文件中的一個(y )符號)進行編碼。這張編碼表的特殊之處在于,它是根據(jù)每一個(y )源字符出
20、現(xiàn)的估算概率而建立起來的(出現(xiàn)概率高的字符使用較短的編碼,反之出現(xiàn)概率低的則使用較長的編碼,這便使編碼之后的字符串的平均期望長度降低,從而達到無損壓縮數(shù)據(jù)的目的)。 哈夫曼(Huffman)碼共八十頁 例如,在英文中e出現(xiàn)概率很高,而z出現(xiàn)概率則最低。 當利用(lyng)哈夫曼編碼對一篇英文進行壓縮時,e極有可能用一個位(bit)來表示,而z則可能花去25個位(不是26)。用普通的表示方法時,每個英文字母均占用一個字節(jié)(byte),即8個位。 二者相比,e使用了一般編碼的1/8的長度,z則使用了3倍多。倘若我們能實現(xiàn)對于英文中各個字母出現(xiàn)概率的較準確的估算,就可以大幅度提高無損壓縮的比例。 哈
21、夫曼(Huffman)碼共八十頁 哈夫曼壓縮是個無損的壓縮算法,一般用來壓縮文本(wnbn)和程序文件。哈夫曼壓縮屬于可變代碼長度算法一族。意思是個體符號(例如,文本(wnbn)文件中的字符)用一個特定長度的位序列替代。因此,在文件中出現(xiàn)頻率高的符號,使用短的位序列,而那些很少出現(xiàn)的符號,則用較長的位序列。 哈夫曼(Huffman)碼共八十頁一、二進制哈夫曼編碼1.步驟(bzhu)(1) 信源符號按概率分布大小,以遞減次序排列; (2) 取兩個最小的概率,分別賦以“0”,“1”;然后把這兩個概率值相加,作為新概率值與其他概率重新排序(3) 按重排概率值,重復(2), 直到概率和達到1為止(4)
22、 由后向前排列碼序,即得哈夫曼編碼哈夫曼(Huffman)碼共八十頁2. 例題 x1 0.4 x2 0.2 x3 0.2 x4 0.1 x5 0.1平均(pngjn)碼長碼方差12=E(li-L)2=p(xi) (li-L)2 = 1.36 0.20.40.61.001010101X:p(x)(0.4,0.2,0.2,0.1,0.1)(合并(hbng)后概率下放)哈夫曼(Huffman)碼01100000100011共八十頁方法一:合并后的新符號排在其它相同概率(gil)符號的后面;哈夫曼(Huffman)碼共八十頁 3. 上例00 x1 0.4 10 x2 0.211 x3 0.2010 x
23、4 0.1011 x5 0.1010.20.40.61.0010101(合并(hbng)后概率上放)哈夫曼(Huffman)碼共八十頁 3. 上例00 x1 0.4 10 x2 0.211 x3 0.2010 x4 0.1011 x5 0.1 平均碼長 碼方差22 = 0.16 兩法平均碼長相同(xin tn),故信息率R、冗余度相同;但碼方差不同,碼方差小要好.010.20.40.61.0010101(合并(hbng)后概率上放)哈夫曼(Huffman)碼共八十頁方法二:合并后的新符號排在其它相同(xin tn)概率符號的前面.哈夫曼(Huffman)碼共八十頁兩種編碼的平均碼長是一樣的,都
24、是2.2,那一種更好呢,我們可以(ky)計算一下平均碼長的方差。定義(dngy)碼字長度的方差2:哈夫曼(Huffman)碼共八十頁可見:第二種編碼方法的碼長方差要小許多。意味著第二種編碼方法的碼長變化較小,比較接近于平均碼長。第一種方法編出的5個碼字有4種不同的碼長;第二種方法編出的碼長只有兩種不同的碼長;顯然,第二種編碼方法更簡單、更容易實現(xiàn),所以更好。結論:在哈夫曼編碼過程中,對縮減(sujin)信源符號按概率由大到小的順序重新排列時,應使合并后的新符號盡可能排在靠前的位置,這樣可使合并后的新符號重復編碼次數(shù)減少,使短碼得到充分利用。哈夫曼(Huffman)碼共八十頁 3. 上例00 x
25、1 0.4 10 x2 0.211 x3 0.2010 x4 0.1011 x5 0.1 平均碼長 結論 碼方差22 = 0.16 兩法平均碼長相同(xin tn),故信息率R、冗余度相同;但碼方差不同,碼方差小要好.010.20.40.61.0010101(合并(hbng)后概率上放)哈夫曼(Huffman)碼共八十頁定理:在變長編碼中,若各碼字長度嚴格按照所對應符號出現(xiàn)概率的大小逆序排列,則其平均(pngjn)長度為最小。結論:哈夫曼編碼方法,它完全依據(jù)字符出現(xiàn)概率來構造平均長度最短的異字頭碼字,有時稱之為最佳編碼。 哈夫曼(Huffman)碼共八十頁 應該指出的是,由霍夫曼編碼(bin
26、m)過程編出的最佳碼不是唯一的,但其平均碼長是一樣的,故不影響編碼(bin m)效率與數(shù)據(jù)壓縮性能。 此外,由于碼長不等,還存在一個輸入與輸出的速率匹配問題。解決的辦法是設置一定容量的緩沖寄存器。 而隨著微電子與計算技術的發(fā)展,霍夫曼編碼已可做成單片IC,并成為許多國際標準中的主要技術內核之一。能夠用較低的處理代價,來換取昂貴的通信開銷,是完全值得的。哈夫曼(Huffman)碼方差(fn ch)最小者最佳共八十頁0.60010.090.130.190.230.371.00101010101010100 x5 0.070101 x6 0.0600010 x7 0.0500011 x8 0.040
27、11 x3 0.10000 x4 0.1001 x2 0.18 1 x1 0.4010010110101010000000001000011哈夫曼(Huffman)碼4.例題(lt)X:p(x)(0.4,0.18,0.1,0.1,0.07, 0.06,0.05,0.04)共八十頁二、D進制哈夫曼編碼1. 編碼步驟同二進制,但需注意兩點:每次取最小的D個概率,分別賦以0,1, D-1;信源符號(fho)個數(shù)r必須滿足:r=(D-1)+D. 當r不滿足時,在信源符號集中補充一些對應概率為0的符號.哈夫曼(Huffman)碼共八十頁 2.例題(lt)某離散無記憶信源符號集a1,a2,a3,a4,a5
28、,a6,a7,a8,a9,已知所對應的概率,試對其進行四元(s yun)編碼! 哈夫曼(Huffman)碼解:其中D=4. 若取=2可得大于9但與9最接近的正整數(shù)10,因此在編碼時加入一個零概率符號.對其進行四元編碼: 共八十頁 哈夫曼(Huffman)碼共八十頁哈夫曼碼考慮了信源的統(tǒng)計特性,使經常出現(xiàn)的信源符號對應較短的碼字,使信源的平均碼長縮短(sudun),從而實現(xiàn)了對信源的壓縮;哈夫曼碼的編碼方法都不惟一;哈夫曼碼對信源的統(tǒng)計特性沒有特殊要求,編碼效率比較高,因此綜合性較優(yōu).哈夫曼(Huffman)碼共八十頁Huffman碼在具體實用時,設備較復雜.在編碼器中需要增加緩沖寄存器,因為每
29、個信源符號所對應的碼符號長度不一,負責會造成輸入和輸出不能保持平衡.優(yōu)點:提高編碼效率;缺點:需要大量緩沖設備來存儲這些變長碼,然后再以恒定(hngdng)的碼率進行傳送;在傳輸?shù)倪^程中如果出現(xiàn)了誤碼,容易引起錯誤擴散,所以要求有優(yōu)質的信道。哈夫曼(Huffman)碼共八十頁哈夫曼碼也是譯碼的工具(gngj):哈夫曼(Huffman)碼共八十頁0.60010.090.130.190.230.371.00101010101010100 x5 0.070101 x6 0.0600010 x7 0.0500011 x8 0.04011 x3 0.10000 x4 0.1001 x2 0.18 1 x
30、1 0.40哈夫曼(Huffman)碼4.例題(lt)X:p(x)(0.4,0.18,0.1,0.1,0.07, 0.06,0.05,0.04)共八十頁10010110101010000000001000011哈夫曼(Huffman)碼4.例題(lt) X:p(x)(0.4,0.18,0.1,0.1,0.07,0.06,0.05,0.04)若接收(jishu)的字符串是:00010100101100011000101001011000110001010010110001100010100101100011共八十頁統(tǒng)計(tngj)編碼香農-費諾編碼(bin m)哈夫曼編碼算術編碼共八十頁算術(s
31、unsh)編碼算法思想Huffman編碼中每個符號都用整數(shù)個bits來表示,影響編碼效率。若能把一串符號作為編碼單位,則效率還可提高。符號串的區(qū)間(q jin)表示法設符號串為:bacedbbdea 則它可以映射成為0,1)中的唯一的一個子區(qū)間。共八十頁00.20.50.60.81abcdeabcdeabcdeabcde0.2b 0.5a 0.260.2360.20.23字符abcde概率0.20.30.10.20.2范圍0,0.2)0.2,0.5)0.5,0.6)0.6,0.8)0.8,1.0)共八十頁high為編碼區(qū)間的高端,low為低端,range為區(qū)間長度, lowrange為字符(z
32、 f)分配區(qū)間的低端 highrange 為區(qū)間的高端。初始化: high=1,low=0,range=high-low=1 一個字符編碼后新的low和high為:Low=low+range* lowrangeHigh=low+range* highrange0子區(qū)間1lowhighrangelowrangehigh共八十頁計算過程: 1)將 0,1)區(qū)間按照概率的比例(bl)分配給五個字符,即(如圖形表示): a= 0,0.2, b= 0.2,0.5, c= 0.5,0.6 d= 0.6,0.8 e= 0.8,1)high=1,low=0,range=high-low=1 2)輸入第一個字符
33、 b,得b.high=0.5,b.low=0.2b.range=b.high-b.low=0.3 3)將 0.2,0.5)區(qū)間按照概率的比例分配給五個字符,如圖形表示。共八十頁 4)輸入第二個字符 a,得a.high=0.26,a.low=0.2a.range=a.high-a.low=0.06 5)將 0.2,0.26)區(qū)間按照概率的比例分配給五個字符,如圖形表示。 6)輸入第三個字符 c,得c.high=0.236,c.low=0.23c.range=c.high-c.low=0.006依次重復輸入后續(xù)字符,重復執(zhí)行5)-6)步,直到輸入最后一個字符。在最后這個區(qū)間內選擇ENDc.low
34、, 將它變成二進制 ,去掉前面的 0 和小數(shù)點,我們可以(ky)輸出二進制數(shù)這就是被壓縮后的結果。共八十頁 編碼過程首先定義Low和High兩個變量,并設置 Low0 High1當讀入和處理字符時,Low和High按照如下方式更新 NewHigh:OldLow+RangeHighRange(X); NewLow:OldLow+RangeLowRange(X);其中RangeOldHighOldLow, LowRange(X)和HighRange(X)表示符號(fho)X所對應區(qū)間的下限和上限。共八十頁 例:給出對短串“SWISS MISS”的壓縮步驟。 字符 頻率(pnl) 概率 范圍 累計頻
35、率(pnl) Total CumFreq 10 S 5 5/10=0.5 0.5,1.0) 5 W 1 0.1 0.4,0.5) 4 I 2 0.2 0.2,0.4) 2 M 1 0.1 0.1,0.2) 1 1 0.1 0.0,0.1) 0 概率和頻率表共八十頁 算法編碼過程(guchng) 字符 Low和High的計算 S L 0.0+(1-0.0) 0.5=0.5 H 0.0+(1-0.0) 1.0=1.0 W L 0.5+(1.0-0.5) 0.4=0.7 H 0.5+(1.0-0.5) 0.5=0.75 I L 0.7+(0.75-0.70) 0.2=0.71 H 0.7+(0.75
36、-0.70) 0.4=0.72 S L 0.71+(0.72-0.71) 0.5=0.715 H 0.71+(0.72-0.71) 1.0=0.72共八十頁 S L 0.715+(0.72-0.715) 0.5=0.7175 H 0.715+(0.72-0.715) 1.0=0.72 L 0.7175+(0.72-0.7175) 0.0=0.7175 H 0.7175+(0.72-0.7175) 0.1=0.71775 M L 0.7175+(0.71775-0.7175) 0.1=0.717525 H 0.7175+(0.71775-0.0.7175) 0.2=0.71755 I L 0.717525+(0.71755-0.717525) 0.2=0.717530 H 0.717525+(0.71755-0.717525) 0.4=0.717535 S L0.717530+(0.717535-0.717530) 0.5=0.7
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度危險品運輸與安全裝卸協(xié)議3篇
- 專業(yè)水泥購銷協(xié)議規(guī)范版B版
- 二零二五年度電子商務平臺建設與運營管理協(xié)議2篇
- 專項融資委托代理協(xié)議(2024版)版A版
- 個人借款抵押車復雜合同(2024版)2篇
- 二零二五年度城市綜合體項目投資合作協(xié)議5篇
- 專業(yè)短視頻攝制服務合同(2024年)3篇
- 2025年度生物制藥研發(fā)與市場推廣合作協(xié)議2篇
- 2025年度廠房物業(yè)管理與能源審計服務協(xié)議4篇
- 2025年度廠區(qū)生態(tài)景觀綠化養(yǎng)護服務合同樣本4篇
- 2024版?zhèn)€人私有房屋購買合同
- 2025年山東光明電力服務公司招聘筆試參考題庫含答案解析
- 《神經發(fā)展障礙 兒童社交溝通障礙康復規(guī)范》
- 2025年中建六局二級子企業(yè)總經理崗位公開招聘高頻重點提升(共500題)附帶答案詳解
- 2024年5月江蘇省事業(yè)單位招聘考試【綜合知識與能力素質】真題及答案解析(管理類和其他類)
- 注漿工安全技術措施
- 《食品與食品》課件
- 2024年世界職業(yè)院校技能大賽“食品安全與質量檢測組”參考試題庫(含答案)
- 讀書分享會《白夜行》
- 2023上海高考英語詞匯手冊單詞背誦默寫表格(復習必背)
- 人民軍隊歷史與優(yōu)良傳統(tǒng)(2024)學習通超星期末考試答案章節(jié)答案2024年
評論
0/150
提交評論