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

一種基于集合游程的數(shù)據(jù)壓縮方法

文檔序號(hào):7513754閱讀:227來(lái)源:國(guó)知局
專利名稱:一種基于集合游程的數(shù)據(jù)壓縮方法
技術(shù)領(lǐng)域
本發(fā)明涉及一種計(jì)算機(jī)領(lǐng)域的數(shù)據(jù)壓縮方法,特別是一種具有良好壓縮比例的基于集合游程的數(shù)據(jù)壓縮方法。

背景技術(shù)
隨著計(jì)算機(jī)技術(shù)和信息技術(shù)的飛速發(fā)展,大量的信息是以數(shù)字化的方式進(jìn)行表示、存儲(chǔ)和傳輸?shù)?,如雷達(dá)、圖像、語(yǔ)音等,如今面臨的一個(gè)重要的問(wèn)題就是這些信息占用了龐大的空間,以雷達(dá)信號(hào)為例,一個(gè)雷達(dá)觸發(fā)有3000個(gè)像素點(diǎn),掃描一周(含4096個(gè)觸發(fā))需15秒,其數(shù)據(jù)率需要6.3Mbps,保存一幅雷達(dá)圖像需要12M字節(jié),數(shù)據(jù)量是很大的。同樣,大量的數(shù)據(jù)量也給分析和傳輸帶來(lái)了不便,給通信帶來(lái)較大壓力,相對(duì)于提高存儲(chǔ)設(shè)備對(duì)容量和增大通信帶寬,采用數(shù)據(jù)壓縮方法的成本較低,可取得較好的效果。
所謂數(shù)據(jù)壓縮是通過(guò)改變信息的表示方式,在有限的信息空間中表示盡可能多的信息。壓縮算法主要有兩類一類壓縮是可逆的,即從壓縮后的數(shù)據(jù)可以完全恢復(fù)出原始數(shù)據(jù),沒(méi)有任何信息損失,稱為無(wú)損壓縮;另一類壓縮是不可逆的,即從壓縮后的數(shù)據(jù)無(wú)法完全恢復(fù)原來(lái)的數(shù)據(jù),信息有一定的損失,稱為有損壓縮。常見(jiàn)無(wú)損壓縮方法有霍夫曼編碼、游程編碼、算術(shù)編碼等,因游程編碼簡(jiǎn)單、算法復(fù)雜度低、易于硬件實(shí)現(xiàn)等優(yōu)點(diǎn),應(yīng)用較為廣泛。
游程編碼是一種樸素的無(wú)損壓縮編碼方法。主要是針對(duì)一連串出現(xiàn)的重復(fù)字串做壓縮的動(dòng)作。比如,對(duì)于aaaaaaa,可以表示為7a,7表示計(jì)數(shù)值,a則是數(shù)據(jù)值,同樣對(duì)于有規(guī)律的數(shù)據(jù)aaaaaabbbcccc,則表示為6a3b4c。游程編碼算法有著良好的編碼和解碼優(yōu)勢(shì),但是當(dāng)碰到abcde這樣彼此都不重復(fù)的數(shù)據(jù)時(shí),編碼將返回1a1b1c1d1e,數(shù)據(jù)容量是壓縮前的2倍,這是無(wú)法容忍的。這是一種“病態(tài)”情況。為了盡量避免“病態(tài)”情況的出現(xiàn),需要對(duì)游程編碼的基本方法進(jìn)行改進(jìn)。改進(jìn)的方法是在具體實(shí)施時(shí)對(duì)計(jì)數(shù)字節(jié)和編碼字節(jié)進(jìn)行了區(qū)分,利用計(jì)數(shù)字節(jié)的高兩位作為壓縮的標(biāo)志。對(duì)前后相鄰字節(jié)均不同的孤立數(shù)據(jù),只有當(dāng)計(jì)數(shù)字節(jié)高2位全1(即C0)時(shí)才加1計(jì)數(shù),否則直接輸出該像素值,因此避免了壓縮后長(zhǎng)度增加一倍的情況。這樣就使得計(jì)數(shù)字節(jié)本身的高2位也是全1,即計(jì)數(shù)字節(jié)為C0H+n(連續(xù)相同的字節(jié)數(shù))。當(dāng)單個(gè)圖像數(shù)據(jù)的值大于或等于C0時(shí),則先輸出C1,再輸出該圖像數(shù)據(jù)值,否則直接輸出該數(shù)據(jù)。
如有以下一系列數(shù)據(jù)D2,20,30,30,30,C0,C1,C1,E2,E2,E2,...,E2(132個(gè)),E0,E0,D4,經(jīng)壓縮后數(shù)據(jù)為C1,D2,20,C3,30,C1,C0,C2,C1,F(xiàn)F,E2,F(xiàn)F,E2,C6,E2,C2,E0,C1,D4,從這個(gè)壓縮過(guò)程可以看到,孤立字符D2、C0、D4前面帶有計(jì)數(shù)字節(jié)C1,而20前沒(méi)有。這樣可以有效避免壓縮后膨脹的異常情況。
可上述改進(jìn)并未解決如下問(wèn)題1、若某數(shù)據(jù)大量孤立字符出現(xiàn)在大于C0時(shí),仍不可避免的會(huì)出現(xiàn)“病態(tài)”情況,使得壓縮后數(shù)據(jù)是壓縮前數(shù)據(jù)的1倍。2、上述編碼只能最大表示連續(xù)63個(gè)相同的字節(jié)數(shù),無(wú)法調(diào)節(jié),限制了壓縮效率的提高。3、固定的閾值C0限制了壓縮效果,沒(méi)有根據(jù)數(shù)據(jù)類型特征做相應(yīng)調(diào)整。


發(fā)明內(nèi)容
發(fā)明目的本發(fā)明針對(duì)現(xiàn)有技術(shù)的不足,提供了一種具有較高壓縮比的基于集合游程的數(shù)據(jù)壓縮方法。
技術(shù)方案本發(fā)明公開(kāi)了一種基于集合游程的數(shù)據(jù)壓縮方法,包括以下步驟 (1)讀取計(jì)算機(jī)存儲(chǔ)器中的待壓縮數(shù)據(jù); (2)尋找數(shù)據(jù)中的特征字符集合; (3)進(jìn)行編碼; (4)將壓縮后的數(shù)據(jù)存入計(jì)算機(jī)存儲(chǔ)器; 所述步驟(2)尋找數(shù)據(jù)中的特征字符集合包括以下步驟 (101)統(tǒng)計(jì)孤立字符,即由計(jì)算機(jī)處理器對(duì)字符集合中的字符進(jìn)行遍歷; (102)判斷是否存在孤立字符,是則執(zhí)行步驟(103),否則將所有字符都化為特征字符,每個(gè)特征字符映射的連續(xù)出現(xiàn)次數(shù)為其數(shù)值本身,并轉(zhuǎn)入上述步驟(3); (103)將孤立字符出現(xiàn)的次數(shù)從小到大進(jìn)行排序; (104)遍歷所有特征字符集合可能出現(xiàn)的各種元素個(gè)數(shù),選取使壓縮率r的取值達(dá)到最小的特征字符集合元素的個(gè)數(shù); (105)將特征字符集合中的每個(gè)元素映射到連續(xù)出現(xiàn)次數(shù)。
本發(fā)明中,優(yōu)選地,所述步驟(105)中映射策略為特征字符集合中每個(gè)特征字符映射連續(xù)出現(xiàn)次數(shù)與步驟(103)中排序的序號(hào)相同。每個(gè)特征字符集合,假設(shè)為A集合中元素需要映射連續(xù)出現(xiàn)次數(shù),映射策略只需保證連續(xù)即可,推薦的策略即為A集合中每個(gè)特征字符映射連續(xù)出現(xiàn)次數(shù)與步驟(103)排序的序號(hào)相同。
本發(fā)明中,優(yōu)選地,所述步驟(104)中設(shè)定一個(gè)壓縮率r的初值,后續(xù)各元素個(gè)數(shù)的r取值根據(jù)差分的方法遞推。在步驟(103)排序的基礎(chǔ)上遍歷特征字符集合A可能出現(xiàn)的各種元素個(gè)數(shù),選取使r的取值達(dá)到最小的A集合元素個(gè)數(shù)??捎?jì)算一個(gè)初值,如1,后續(xù)各元素個(gè)數(shù)的r取值遞推即可,籍此可大幅加快搜索速度。
本發(fā)明中所述步驟(3)編碼包括以下步驟(201)判斷是否為孤立字符,如果是則進(jìn)行步驟(202),否則進(jìn)行步驟(203)查A集合映射表,先輸出映射字符,再輸出當(dāng)前字符;(202)判斷是否為A集合字符,如果是則進(jìn)行步驟(204)查A集合映射表,先輸出映射為1的A集合字符,再輸出當(dāng)前字符;否則進(jìn)行步驟(205)直接將字符輸出。
本發(fā)明中,所述集合游程壓縮算法推導(dǎo)如下 假設(shè)某序列,其長(zhǎng)度為n,定義Xij為該序列中取值i連續(xù)出現(xiàn)j次的次數(shù),其中0≤i≤255,1≤j≤n。則必有 設(shè)集合M為0~255數(shù)字組成的集合,設(shè)集合A為所有特征字符集合,為M的子集,LA為A集合元素個(gè)數(shù)。設(shè)集合B為所有非特征字符集合,則有 A∪B=M

集合B中元素個(gè)數(shù)LB=256-LA 特征字符另外一個(gè)作用是表示連續(xù)出現(xiàn)的次數(shù),所以集合A中的每個(gè)特征字符要映射一個(gè)數(shù)值,該數(shù)值可表示連續(xù)出現(xiàn)個(gè)數(shù)范圍為1~LA-1。原游程編碼算法只是集合算法的一個(gè)特例,即集合A為大于等于192的元素,193可表示連續(xù)出現(xiàn)1次,194可表示連續(xù)出現(xiàn)2次,依此類推。假設(shè)集合A為{5,7,56......96,222,254},在編碼過(guò)程中,5可能映射為連續(xù)出現(xiàn)1次,7映射為2次,56映射為3次,編碼后碼長(zhǎng)分為以下三個(gè)組成部分 (a)集合B中的孤立字符編碼長(zhǎng)度 (b)集合A中的孤立字符編碼長(zhǎng)度 (c)連續(xù)出現(xiàn)至少兩個(gè)相同字符編碼長(zhǎng)度K3-K4,其中 UpInt()為上取整函數(shù); (3) g為{j%(LA-1)=1且n≥j≥2}。(4) 以原游程算法為例,K4考慮了如下情況若165(小于閾值192)和224(大于閾值192)各連續(xù)出現(xiàn)了64次,前者編碼后為255 165 165三個(gè)字節(jié)(不是255 165 193 165四個(gè)字節(jié)),后者編碼后為255 224 193 224,四個(gè)字節(jié)。
其中令 (5) 總編碼長(zhǎng)度為L(zhǎng)=K5+K6+K3-K4; 定義壓縮率 令 為達(dá)到較好的壓縮效果,就要求使r盡可能小,在序列一定的情況下,r1是個(gè)常數(shù),不隨集合A和B的劃分而變化,不做考慮;r2與A集合的劃分關(guān)系密切,r3只與A集合元素個(gè)數(shù)有關(guān);相對(duì)于r1~r3,r4為極小量,也可不予考慮。問(wèn)題轉(zhuǎn)化為尋找集合A和B的劃分方法,使得r2+r3達(dá)到最小。
假設(shè)集合A的元素個(gè)數(shù)固定,r3的值就是固定值,要使r2值達(dá)到最小,集合A的劃分就必須由孤立字符出現(xiàn)較少的元素組成,由此,可設(shè)計(jì)如下步驟 第一,尋找特征字符集合,即所述的A集合。具體而言包括以下三大部分(a)將序列孤立字符出現(xiàn)次數(shù)按照從小到大的次序進(jìn)行排序,集合A元素優(yōu)先選取出現(xiàn)較少次數(shù)的孤立字符,如沒(méi)有孤立字符,則字符集合M即為A集合。(b)在步驟(a)排序的基礎(chǔ)上遍歷A可能出現(xiàn)的各種元素個(gè)數(shù),選取使r的取值達(dá)到最小的A集合元素個(gè)數(shù)。(c)每個(gè)A集合中元素肩負(fù)著映射連續(xù)出現(xiàn)次數(shù)的任務(wù),映射策略只需保證連續(xù)即可。
第二,采用本領(lǐng)域通用的編碼方法對(duì)尋找特征字符集處理后的數(shù)據(jù)進(jìn)行編碼。本發(fā)明中,優(yōu)選地,所述集合游程算法較傳統(tǒng)的游程編碼算法有以下特征(a)劃分特征字符不再以閾值參考,而以兩個(gè)互不相交的集合構(gòu)成。(b)A集合的個(gè)數(shù)不再固定為63,所以可表示的最大連續(xù)出現(xiàn)次數(shù)也不固定,最大限度的挖掘游程編碼的潛力。
在數(shù)據(jù)壓縮的過(guò)程中,為了與解碼端保持同步,并為了獲取更好的效果,可采取將數(shù)據(jù)分為關(guān)鍵幀和非關(guān)鍵幀,關(guān)鍵幀計(jì)算特征字符集合,并寫(xiě)入編碼碼流中,非關(guān)鍵幀直接利用得出的特征字符集合,關(guān)鍵幀的間隔可根據(jù)數(shù)據(jù)變化情況進(jìn)行調(diào)整,可有以下三種情況1、若數(shù)據(jù)類型是平穩(wěn)的,可將關(guān)鍵幀只初始化一次,之后編碼都為非關(guān)鍵幀。2、若數(shù)據(jù)類型是緩變的,將一個(gè)關(guān)鍵幀和若干非關(guān)鍵幀組合為一簇,關(guān)鍵幀在最前,簇內(nèi)的非關(guān)鍵幀利用簇內(nèi)關(guān)鍵幀的特征字符集結(jié)果。3、若數(shù)據(jù)類型為非平穩(wěn)、變化劇烈,擯棄非關(guān)鍵幀,全部都為關(guān)鍵幀。
有益效果本發(fā)明從集合論的角度研究游程編碼,提出了一種新的游程編碼算法--集合游程,算法中不再使用閾值,而將全域字符劃分成兩個(gè)互不相交的集合,分別為特征字符和非特征字符,通過(guò)對(duì)特征字符進(jìn)行合理的映射來(lái)表示連續(xù)出現(xiàn)次數(shù),從而將游程編碼算法的效率利用到了極限。經(jīng)過(guò)試驗(yàn)證明,本發(fā)明大大提高游程編碼的算法效率,應(yīng)用在計(jì)算機(jī)數(shù)據(jù)壓縮過(guò)程中可以獲取更好的數(shù)據(jù)壓縮效果。
實(shí)驗(yàn)供選取了雷達(dá)、圖像、文本三種類型的數(shù)據(jù),其中雷達(dá)數(shù)據(jù)選取了兩種類型,共四組數(shù)據(jù),在實(shí)驗(yàn)中還發(fā)現(xiàn),同數(shù)據(jù)類型的A集合是緩變的,這也為實(shí)際應(yīng)用提供了可能。圖4為各種類型數(shù)據(jù)A集合長(zhǎng)度與壓縮率之間的關(guān)系,圖中直線部分為各類型原游程算法壓縮率。圖5為最優(yōu)A集合情況下,集合游程算法與原游程算法的算法比較。由以上實(shí)驗(yàn)結(jié)果可證明,本發(fā)明設(shè)計(jì)了一種新的游程編碼方法,該方法將集合論引入了編碼中,克服了原游程編碼編碼效率較低的問(wèn)題,大大提高了數(shù)據(jù)壓縮比例。



圖1為本發(fā)明簡(jiǎn)要流程圖。
圖2為本發(fā)明中編碼流程流程圖。
圖3為本發(fā)明在圖1基礎(chǔ)上詳細(xì)的流程圖。
圖4為各種類型數(shù)據(jù)A集合長(zhǎng)度與壓縮率之間關(guān)系圖。
圖5為集合游程算法與原游程算法比較。

具體實(shí)施例方式 下面結(jié)合附圖對(duì)本發(fā)明做更進(jìn)一步的解釋。
如圖1、圖3所示,本發(fā)明所述的一種基于集合游程的數(shù)據(jù)壓縮方法,包括以下步驟步驟1,讀取計(jì)算機(jī)存儲(chǔ)器中的待壓縮數(shù)據(jù);步驟2,尋找數(shù)據(jù)中的特征字符集合;步驟3,進(jìn)行編碼;步驟4,將壓縮后的數(shù)據(jù)存入計(jì)算機(jī)存儲(chǔ)器。其中,所述步驟2,尋找數(shù)據(jù)中的特征字符集合,包括以下步驟步驟101,統(tǒng)計(jì)孤立字符,即由計(jì)算機(jī)處理器對(duì)字符集合中的字符進(jìn)行遍歷;步驟102,判斷是否存在孤立字符,是則執(zhí)行步驟103,否則將所有字符都化為特征字符,并轉(zhuǎn)入上述步驟3;步驟103將孤立字符出現(xiàn)的次數(shù)從小到大進(jìn)行排序;步驟104遍歷所有特征字符集合可能出現(xiàn)的各種元素個(gè)數(shù),選取使壓縮率r的取值達(dá)到最小的特征字符集合元素的個(gè)數(shù);步驟105將特征字符集合中的每個(gè)元素映射到連續(xù)出現(xiàn)次數(shù)。本實(shí)施例中,所述步驟105中映射策略為特征字符集合中每個(gè)特征字符映射連續(xù)出現(xiàn)次數(shù)與步驟103中排序的序號(hào)相同。每個(gè)特征字符集合A集合中元素需要映射連續(xù)出現(xiàn)次數(shù),映射策略只需保證連續(xù)即可,推薦的策略即為A集合中每個(gè)特征字符映射連續(xù)出現(xiàn)次數(shù)與步驟103排序的序號(hào)相同。本實(shí)施例中,所述步驟104中設(shè)定一個(gè)壓縮率r的初值,后續(xù)各元素個(gè)數(shù)的r取值遞推。在步驟103排序的基礎(chǔ)上遍歷特征字符集合A可能出現(xiàn)的各種元素個(gè)數(shù),選取使r的取值達(dá)到最小的A集合元素個(gè)數(shù)。可計(jì)算一個(gè)初值,如1,后續(xù)各元素個(gè)數(shù)的r取值遞推即可,籍此可大幅加快搜索速度。
如圖2所示,本發(fā)明中,編碼的核心思路與本領(lǐng)域的通用方法類似。根據(jù)本發(fā)明中尋找數(shù)據(jù)中的特征字符集合的改進(jìn),編碼過(guò)程包括以下步驟步驟201,判斷是否為孤立字符,如果是則進(jìn)行步驟202;否則進(jìn)行步驟203,查A集合映射表,先輸出映射字符,再輸出當(dāng)前字符;步驟202,判斷是否為A集合字符,如果是則進(jìn)行步驟204,查A集合映射表,先輸出映射為1的A集合字符,再輸出當(dāng)前字符;否則進(jìn)行步驟205,直接將字符輸出。本編碼方法與原游程編碼基本相同,區(qū)別在于以下兩個(gè)部分(a)可表示最大連續(xù)次數(shù)不再固定為63,改為A集合個(gè)數(shù),可在編碼初始化階段作為常量出現(xiàn)。(b)連續(xù)出現(xiàn)次數(shù)寫(xiě)碼流時(shí)需要查詢A集合中相映射元素。
為了更好的理解本發(fā)明所述的壓縮方法的思路以及效果,以下數(shù)據(jù)壓縮為例詳細(xì)介紹本發(fā)明的數(shù)據(jù)處理過(guò)程。
讀取計(jì)算機(jī)存儲(chǔ)器中的待壓縮數(shù)據(jù),待壓縮數(shù)據(jù)如表1所示(數(shù)據(jù)按照行存儲(chǔ),加*上標(biāo)的為孤立字符),共100個(gè)字節(jié),其中孤立字符總計(jì)59個(gè) 表1輸入數(shù)據(jù)序列 如果采用原始游程編碼算法,編碼結(jié)果如表2(數(shù)據(jù)按照行進(jìn)行排列)所示,編碼后長(zhǎng)度為137字節(jié)。
表2采用原始游程編碼算法編碼結(jié)果 按照本發(fā)明所述方法對(duì)表1數(shù)據(jù)的孤立字符進(jìn)行統(tǒng)計(jì),可得到統(tǒng)計(jì)并按照從小到大排序后的孤立字符表格,如表3所示,表中加*上標(biāo)的為數(shù)據(jù)中出現(xiàn)的孤立字符。
本發(fā)明中,所謂A集合長(zhǎng)度指的是A集合中元素的個(gè)數(shù),孤立字符按照出現(xiàn)次數(shù)從小到大排序如表3所示。按照特征集合選取的原則,優(yōu)先選取出現(xiàn)次數(shù)小的字符,A集合可選取元素的個(gè)數(shù)范圍為1~256如果選為1時(shí),則A集合就為表3的前1個(gè),為{0};如果選為2時(shí),則A集合就為表3的前2個(gè),為{0,1};如果選為3時(shí),則A集合就為表3的前3個(gè),為{0,1,4};如果選為4時(shí),則A集合就為表3的前4個(gè),為{0,1,4,6}......如果選為256時(shí),則A集合就為表3所有字符。
表3數(shù)據(jù)中孤立字符出現(xiàn)次數(shù)排序后結(jié)果 接上表 接上表 對(duì)表3中的孤立字符,利用公式(6)定義壓縮率 代入進(jìn)行遍歷尋找,各種不同的元素個(gè)數(shù)對(duì)應(yīng)不同的壓縮率(未考慮r4),如表4所示,表格中加*上標(biāo)的位置即為最優(yōu)的元素長(zhǎng)度。使公式(6)的r取值達(dá)到最小即為最優(yōu)的A集合長(zhǎng)度,為了獲取每個(gè)集合長(zhǎng)度取值的A集合長(zhǎng)度,就必須對(duì)每一種長(zhǎng)度都進(jìn)行計(jì)算,如果直接按照公式(6)進(jìn)行計(jì)算,計(jì)算量會(huì)很大,從上述解釋可得出,長(zhǎng)度為(L)的A集合是長(zhǎng)度為(L+1)的子集,僅多了一個(gè)元素,所謂遞推運(yùn)算,即只需計(jì)算長(zhǎng)度為1的A集合r取值,以后根據(jù)差分的方法遞推,即只需計(jì)算r(L+1)-r(L)的值,由式(3)(4)(5)即可以得出,K5為常量,差分后為0,K6僅有增加那個(gè)元素的出現(xiàn)次數(shù),K4經(jīng)差分后為極小量,無(wú)需計(jì)算。經(jīng)過(guò)上述處理,可大大減少計(jì)算每種長(zhǎng)度的壓縮率r的計(jì)算量。
從表中可以看出,特征集合元素個(gè)數(shù)在8~210個(gè)的范圍得出的壓縮率都是相同的,這主要是由于數(shù)據(jù)集合長(zhǎng)度太少,只有100個(gè)字節(jié)造成的。
表4各種元素個(gè)數(shù)下對(duì)應(yīng)的壓縮率。
接上表 接上表 由上可以得出,最優(yōu)的特征集合個(gè)數(shù)為8個(gè),然后查表3,可以得出特征集合為表3的前8個(gè)字符,即A集合,如表5所示 表5特征字符集合 依據(jù)映射策略,可對(duì)特征字符集合A中每個(gè)字符可表示連續(xù)的次數(shù)進(jìn)行如下映射,如表6所示 表6特征字符和連續(xù)出現(xiàn)次數(shù)映射表 至此,特征字符集合的選取已經(jīng)完成。
選取前10個(gè)字節(jié)作為范例進(jìn)行編碼,數(shù)據(jù)為2、2、2、194、197、199、214、217、238、255,前面連續(xù)出現(xiàn)3個(gè)2,查表6,表示3映射次數(shù)的為字符6,所以,輸出6,2,接下來(lái)一個(gè)孤立字符194,因?yàn)椴辉谔卣髯址校苯虞敵?,其后?97,199,214,217都為孤立字符且不在特征字符集合中,全部直接輸出。以下依次類推,使用集合游程編碼得出的輸出碼流結(jié)果為表7所示(數(shù)據(jù)按行排列),表中加*上標(biāo)的為出現(xiàn)了非孤立字符,并使用到了特征字符,最終編碼后長(zhǎng)度為87個(gè)字節(jié),遠(yuǎn)小于原始游程編碼的137字節(jié)長(zhǎng)度。
表7本集合游程編碼輸出碼流 至此所有編碼完成壓縮文件即完成,運(yùn)用本領(lǐng)域公知的技術(shù)將壓縮后的數(shù)據(jù)存入計(jì)算機(jī)存儲(chǔ)器。解壓縮時(shí)根據(jù)A集合進(jìn)行解碼即可。
本發(fā)明所述的壓縮方法,可以應(yīng)用于以下場(chǎng)合1、雷達(dá)數(shù)據(jù)記錄儀的使用,可以實(shí)施并壓縮雷達(dá)數(shù)據(jù)。2、在信道資源受限時(shí),可用于信道編碼,節(jié)省通信帶寬。3、用于各種要求無(wú)損的音視頻場(chǎng)合。4、用于替換現(xiàn)有有損編碼的熵編碼,如現(xiàn)有JPEG中的游程壓縮可替換為本專利的集合游程編碼方法,實(shí)現(xiàn)更好的壓縮效果。
本發(fā)明提供了一種基于集合游程的數(shù)據(jù)壓縮方法的思路及方法,具體實(shí)現(xiàn)該技術(shù)方案的方法和途徑很多,以上所述僅是本發(fā)明的優(yōu)選實(shí)施方式,應(yīng)當(dāng)指出,對(duì)于本技術(shù)領(lǐng)域的普通技術(shù)人員來(lái)說(shuō),在不脫離本發(fā)明原理的前提下,還可以做出若干改進(jìn)和潤(rùn)飾,這些改進(jìn)和潤(rùn)飾也應(yīng)視為本發(fā)明的保護(hù)范圍。本實(shí)施例中未明確的各組成部份均可用現(xiàn)有技術(shù)加以實(shí)現(xiàn)。
權(quán)利要求
1、一種基于集合游程的數(shù)據(jù)壓縮方法,包括以下步驟
(1)讀取計(jì)算機(jī)存儲(chǔ)器中的待壓縮數(shù)據(jù);
(2)尋找數(shù)據(jù)中的特征字符集合;
(3)進(jìn)行編碼;
(4)將壓縮后的數(shù)據(jù)存入計(jì)算機(jī)存儲(chǔ)器;
其特征在于,所述步驟(2)尋找數(shù)據(jù)中的特征字符集合,包括以下步驟
(101)統(tǒng)計(jì)孤立字符;
(102)判斷是否存在孤立字符,是則執(zhí)行步驟(103),否則將所有字符都化為特征字符,每個(gè)特征字符映射的連續(xù)出現(xiàn)次數(shù)為其數(shù)值本身,并轉(zhuǎn)入上述步驟(3);
(103)將孤立字符出現(xiàn)的次數(shù)從小到大進(jìn)行排序;
(104)遍歷所有特征字符集合可能出現(xiàn)的各種元素個(gè)數(shù),選取使壓縮率r的取值達(dá)到最小的特征字符集合元素的個(gè)數(shù);
(105)將特征字符集合中的每個(gè)元素映射到連續(xù)出現(xiàn)次數(shù)。
2、根據(jù)權(quán)利要求1所述的一種基于集合游程的數(shù)據(jù)壓縮方法,其特征在于,所述步驟(105)中映射策略為特征字符集合中每個(gè)特征字符映射連續(xù)出現(xiàn)次數(shù)與步驟(103)中排序的序號(hào)相同。
3、根據(jù)權(quán)利要求1所述的一種基于集合游程的數(shù)據(jù)壓縮方法,其特征在于,所述步驟(104)中設(shè)定一個(gè)壓縮率r的初值,后續(xù)各元素個(gè)數(shù)的r取值遞推。
4、根據(jù)權(quán)利要求1所述的一種基于集合游程的數(shù)據(jù)壓縮方法,其特征在于,所述步驟(3)進(jìn)行編碼,包括以下步驟
(201)判斷是否為孤立字符,如果是則進(jìn)行步驟(202),否則進(jìn)行步驟(203)查A集合映射表,先輸出映射字符,再輸出當(dāng)前字符;
(202)判斷是否為特征字符集合的字符,如果是則進(jìn)行步驟(204)查特征字符集合映射表,先輸出映射為1的特征字符集合的字符,再輸出當(dāng)前字符;否則進(jìn)行步驟(205)直接將字符輸出。
全文摘要
本發(fā)明公開(kāi)了一種基于集合游程的數(shù)據(jù)壓縮方法,包括讀取計(jì)算機(jī)存儲(chǔ)器中的待壓縮數(shù)據(jù);尋找數(shù)據(jù)中的特征字符集合;進(jìn)行編碼;將壓縮后的數(shù)據(jù)存入計(jì)算機(jī)存儲(chǔ)器;所述尋找數(shù)據(jù)中的特征字符集合包括以下步驟統(tǒng)計(jì)孤立字符;判斷是否存在孤立字符,是則執(zhí)行下步,否則將所有字符都化為特征字符,每個(gè)特征字符映射的連續(xù)出現(xiàn)次數(shù)為其數(shù)值本身,并轉(zhuǎn)入上述編碼步驟;將孤立字符從小到大進(jìn)行排序;遍歷所有特征字符集合可能出現(xiàn)的各種元素個(gè)數(shù),選取使壓縮率r的取值達(dá)到最小的特征字符集合元素的個(gè)數(shù);將特征字符集合中的每個(gè)元素映射到連續(xù)出現(xiàn)次數(shù)。本發(fā)明提高了游程編碼的效率,應(yīng)用在計(jì)算機(jī)數(shù)據(jù)壓縮過(guò)程中可以獲取更好的數(shù)據(jù)壓縮效果。
文檔編號(hào)H03M7/46GK101299611SQ20081012289
公開(kāi)日2008年11月5日 申請(qǐng)日期2008年6月30日 優(yōu)先權(quán)日2008年6月30日
發(fā)明者茅文深, 常傳文, 晶 顧, 黎 姜, 李化雷 申請(qǐng)人:中國(guó)電子科技集團(tuán)公司第二十八研究所
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1