亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種基于部分霍夫曼樹的數(shù)據(jù)壓縮編碼方法

文檔序號:7541989閱讀:257來源:國知局
一種基于部分霍夫曼樹的數(shù)據(jù)壓縮編碼方法
【專利摘要】本發(fā)明涉及一種基于部分霍夫曼樹的數(shù)據(jù)壓縮編碼方法,該方法首先通過較為粗略但計(jì)算十分簡便的方法為所有需編碼的字符預(yù)先分配一個編碼長度,從而構(gòu)成一個分層的編碼表稱為預(yù)編碼表;然后以預(yù)編碼表為基礎(chǔ)對霍夫曼樹中一些特定部分進(jìn)行構(gòu)建;在構(gòu)建部分霍夫曼樹的同時,動態(tài)的調(diào)整字符的編碼長度,實(shí)現(xiàn)對預(yù)編碼表的修改,直到其滿足了最優(yōu)編碼表的條件為止。這樣不用構(gòu)建一個完整的霍夫曼樹,就能獲得與經(jīng)典霍夫曼算法同樣的編碼效果。采用本發(fā)明可以有效地消除經(jīng)典霍夫曼算法中的冗余計(jì)算,提高了編碼效率,用于對數(shù)據(jù)的編碼過程,提高實(shí)時性,同時降低對能源的消耗。
【專利說明】一種基于部分霍夫曼樹的數(shù)據(jù)壓縮編碼方法

【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及數(shù)據(jù)壓縮領(lǐng)域,更具體地涉及一種基于部分霍夫曼樹的數(shù)據(jù)壓縮編碼 方法,以通過構(gòu)建部分霍夫曼樹實(shí)現(xiàn)快速數(shù)據(jù)壓縮編碼的方法。

【背景技術(shù)】
[0002] 隨著計(jì)算機(jī)和網(wǎng)絡(luò)技術(shù)的蓬勃發(fā)展,整個網(wǎng)絡(luò)的數(shù)據(jù)量正呈指數(shù)型增長。雖然計(jì) 算機(jī)的處理速度、硬盤容量以及網(wǎng)絡(luò)帶寬也有了巨大的進(jìn)步,但仍難以適應(yīng)數(shù)據(jù)增長的速 度。如何將數(shù)據(jù)壓縮的更小,壓縮的更快一直以來都是人們積極研究的方向。
[0003] 熵編碼是數(shù)據(jù)壓縮的一種重要方式。簡單地說,熵編碼的內(nèi)涵就是對一段數(shù)據(jù)中 出現(xiàn)概率高的字符用較短的碼字代替,相應(yīng)的較少出現(xiàn)的字符則用相對長的碼字代替,這 樣就達(dá)到了對數(shù)據(jù)壓縮的目的,所以熵編碼可以看作是一個分配碼字的過程。在由q個字 符組成的字符集{叫,a 2,…,a,}中,字符ai(i=l,2,…,q)發(fā)生的概率為Pi,分配給它的編碼 長度為Q,最優(yōu)編碼便是指平均編碼長度:
[0004]

【權(quán)利要求】
1. 一種基于部分霍夫曼樹的數(shù)據(jù)壓縮編碼方法,所述的編碼方法包括步驟: 1) 統(tǒng)計(jì)數(shù)據(jù)中各個字符的出現(xiàn)概率,得到字符集及與其相對應(yīng)的概率集; 2) 對數(shù)據(jù)的字符集中的各個字符預(yù)先分配一個預(yù)編碼長度,構(gòu)成分層的預(yù)編碼表;其 中,所述的預(yù)編碼表中每一層的字符擁有相同的編碼長度,較低層字符的概率小于較高層 字符的概率;該預(yù)編碼表中相鄰的兩層之間有一個固定的概率邊界,且相鄰兩個邊界值為 二倍關(guān)系; 3) 以預(yù)編碼表為基礎(chǔ)自底向上的逐層構(gòu)建部分霍夫曼樹;在構(gòu)建過程中,首先遞推的 計(jì)算各層的節(jié)點(diǎn)個數(shù);如果一層中節(jié)點(diǎn)個數(shù)為偶數(shù),則繼續(xù)計(jì)算上一層的節(jié)點(diǎn)個數(shù);如果 一層中節(jié)點(diǎn)個數(shù)為奇數(shù),需首先對該層節(jié)點(diǎn)個數(shù)偶數(shù)化,并動態(tài)調(diào)整字符的編碼長度,同時 更新編碼表;如果調(diào)整后的編碼表滿足最優(yōu)編碼表的條件,則終止構(gòu)建部分霍夫曼樹,否則 重復(fù)步驟3)繼續(xù)計(jì)算上一層的節(jié)點(diǎn)個數(shù); 其中,所述最優(yōu)編碼表的條件為
為編碼表中各個字 符的編碼長度; 4) 根據(jù)經(jīng)過上述步驟3)修改后的預(yù)編碼表輸出最優(yōu)編碼表,對數(shù)據(jù)進(jìn)行壓縮編碼。
2. 根據(jù)權(quán)利要求1所述的數(shù)據(jù)壓縮編碼方法,其特征在于,所述的預(yù)編碼表的層序即 該層字符的編碼長度。
3. 根據(jù)權(quán)利要求1或2所述的數(shù)據(jù)壓縮編碼方法,其特征在于,所述的預(yù)編碼表的建立 方法包括步驟: 21) 確定分層邊界,規(guī)定第n層與第n-1層概率邊界值為:Un=2-n+°_5,第n層與第n+1層 概率邊界值為:Un+1=2f°_5 ; 22) 在字符集{叫,a2, ? ? ?,aq}中,若字符屮的概率Pi滿足Un < Pi彡Un+1,則將屮填入 預(yù)編碼表的第n層。
4. 根據(jù)權(quán)利要求1所述的數(shù)據(jù)壓縮編碼方法,其特征在于,所述的步驟3)中計(jì)算部分 霍夫曼樹中各層的節(jié)點(diǎn)個數(shù)的公式為: Sn=Cn+Sn+1/2 (n=l,2,...,M); 其中,Sn為部分霍夫曼樹中第n層的節(jié)點(diǎn)個數(shù),Cn為預(yù)編碼表第n層的字符個數(shù),M為 最大層序。
5. 根據(jù)權(quán)利要求1所述的數(shù)據(jù)壓縮編碼方法,其特征在于,所述的步驟3)中部分霍夫 曼樹第n層節(jié)點(diǎn)個數(shù)Sn為奇數(shù)時,對于該層節(jié)點(diǎn)個數(shù)進(jìn)行偶數(shù)化具體包括以下步驟: 31) 找到第n層概率最大的節(jié)點(diǎn)C_與第n-1層概率最小的節(jié)點(diǎn)Cmin以及以它們?yōu)楦?節(jié)點(diǎn)的樹T_和Tmin; 32) 以這兩棵樹作為左右子樹,構(gòu)成一棵新樹; 33) 節(jié)點(diǎn)Cmax與節(jié)點(diǎn)Cmin的概率之和如果大于第n-1層的上界值,子樹Tmax中的所有節(jié) 點(diǎn)提升一層,否則就將子樹Tmin中的節(jié)點(diǎn)下降一層; 34) 找到被調(diào)整的子樹T_或者Tmin中所含的葉子節(jié)點(diǎn),更新預(yù)編碼表中與其對應(yīng)的字 符層序。
6. 根據(jù)權(quán)利要求5所述的數(shù)據(jù)壓縮編碼方法,其特征在于,所述的步驟31)中尋找C_、 Tmax與Cmin、Tmin的具體步驟包括: 311) 設(shè)定一個層序的中間變量p,初始值為p=M ; 312) 將第p層概率最大的21?個節(jié)點(diǎn)按概率大小順序排列,依次作為左右子節(jié)點(diǎn)構(gòu)建 2pti個新節(jié)點(diǎn),新節(jié)點(diǎn)的概率等于其左右子節(jié)點(diǎn)概率的和;將這些新節(jié)點(diǎn)的概率逐個與編 碼表中第P-1層字符的概率進(jìn)行比較,得到這兩部分中概率最大的前21?個節(jié)點(diǎn); 313) 類似于步驟312)將第p層概率最小的前2p_n+1個節(jié)點(diǎn)按概率大小順序排列,依次 作為左右子節(jié)點(diǎn)構(gòu)建2^個新節(jié)點(diǎn),新節(jié)點(diǎn)的概率等于其左右子節(jié)點(diǎn)概率的和;將這些新 節(jié)點(diǎn)的概率逐個與編碼表中第P-1層字符的概率進(jìn)行比較,得到這兩部分中概率最小的前 2p_n個節(jié)點(diǎn); 314) 如果p大于n,將p減1,重復(fù)執(zhí)行步驟312)與步驟313);如果p等于n+1則輸出 第n層概率最大節(jié)點(diǎn)Cmax,并追溯該節(jié)點(diǎn)的構(gòu)成,找出Tmax,將p減1,并執(zhí)行步驟313);如果 P等于n則結(jié)束循環(huán),輸出Cmin并追溯該節(jié)點(diǎn)的構(gòu)成,找出Tmin ;。
7.根據(jù)權(quán)利要求1所述的數(shù)據(jù)壓縮編碼方法,其特征在于,所述的步驟4)中對最優(yōu)編 碼表的輸出采用范式霍夫曼編碼規(guī)范。
【文檔編號】H03M7/40GK104283568SQ201310294301
【公開日】2015年1月14日 申請日期:2013年7月12日 優(yōu)先權(quán)日:2013年7月12日
【發(fā)明者】臺玉朋, 王海斌, 汪俊 申請人:中國科學(xué)院聲學(xué)研究所
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1