亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

基于信息變換的數(shù)據(jù)壓縮、解壓縮方法及存儲(chǔ)介質(zhì)的制作方法

文檔序號(hào):7518032閱讀:382來源:國知局
專利名稱:基于信息變換的數(shù)據(jù)壓縮、解壓縮方法及存儲(chǔ)介質(zhì)的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及對數(shù)據(jù)的壓縮、解壓縮方法,以及應(yīng)用該壓縮解壓縮方法的存儲(chǔ)介質(zhì)。
背景技術(shù)
自從20世紀(jì)50年代首次提出了實(shí)用的數(shù)據(jù)壓縮方法(D. A. Huffman, A Method for the Construction of Minimum Redundancy Codes, 1952)至今,數(shù)據(jù)壓縮的理論禾口應(yīng)用在不斷地發(fā)展,出現(xiàn)了針對圖像、視頻和音頻等數(shù)據(jù)的各種壓縮技術(shù),例如,適用于二值圖像和非連續(xù)的灰度、彩色圖像的無損壓縮算法LZW算法,適用于圖像的有損壓縮算法 JPEG、Rar, Zip標(biāo)準(zhǔn),適用于視頻圖像和音頻數(shù)據(jù)的MPEG-4標(biāo)準(zhǔn)等。數(shù)據(jù)壓縮比率也不斷提高,例如在保證圖像質(zhì)量的前提下,JPEG標(biāo)準(zhǔn)一般可以將圖像壓縮到原大小的十分之一到二十分之一。然而,隨著數(shù)碼相機(jī)、數(shù)碼錄音筆、數(shù)碼隨身聽、數(shù)碼攝像機(jī)等便攜數(shù)碼設(shè)備的普及,以及隨著Internet的普及,們對數(shù)據(jù)壓縮技術(shù)特別是專用于圖像、音頻、視頻的數(shù)據(jù)壓縮技術(shù)具有了更高的期望。

發(fā)明內(nèi)容
根據(jù)本發(fā)明的一個(gè)方面,提供一種數(shù)據(jù)壓縮方法,其中,定義一個(gè)M行X L列的矩陣,M、L為自然數(shù),確定包含M個(gè)數(shù)的數(shù)列依次排列在該矩陣上的所有可能,其中矩陣的每一行只排列一個(gè)數(shù),依次為每一種排列確定一個(gè)與其對應(yīng)的標(biāo)記號(hào);將待壓縮的數(shù)據(jù)劃分為多個(gè)數(shù)據(jù)段,對每個(gè)數(shù)據(jù)段分別進(jìn)行壓縮,其中,對每個(gè)數(shù)據(jù)段的壓縮包含以下步驟將要存儲(chǔ)數(shù)據(jù)的存儲(chǔ)介質(zhì)等分為L個(gè)分區(qū);將所述數(shù)據(jù)段中的數(shù)據(jù)分成M等份,根據(jù)每一等份的數(shù)據(jù)的數(shù)值依次將M個(gè)等份的數(shù)據(jù)分配到所述各個(gè)分區(qū)中,不同數(shù)值的等份分配到不同分區(qū),同一分區(qū)中只分配相同數(shù)值的等份,從而得到了所述M個(gè)等份的一種排列方式;根據(jù)所述排列方式確定與其對應(yīng)的標(biāo)記號(hào);依次存儲(chǔ)每一個(gè)數(shù)據(jù)段的標(biāo)記號(hào)。根據(jù)本發(fā)明的另一個(gè)方面,提供一種數(shù)據(jù)解壓縮方法,對于根據(jù)上述方法壓縮的數(shù)據(jù),依次讀取各數(shù)據(jù)段的標(biāo)記號(hào),確定各標(biāo)記號(hào)所對應(yīng)的數(shù)據(jù),將各個(gè)數(shù)據(jù)段所對應(yīng)的數(shù)據(jù)依次組合,從而恢復(fù)壓縮前的數(shù)據(jù)。根據(jù)本發(fā)明的另一個(gè)方面,提供一種存儲(chǔ)介質(zhì),其中存儲(chǔ)有計(jì)算機(jī)程序,當(dāng)向該存儲(chǔ)介質(zhì)中存儲(chǔ)數(shù)據(jù)時(shí),該程序被自動(dòng)調(diào)用以執(zhí)行數(shù)據(jù)壓縮方法,從而將該數(shù)據(jù)壓縮;當(dāng)從該存儲(chǔ)介質(zhì)向外界拷貝數(shù)據(jù)時(shí),該程序被自動(dòng)調(diào)用以執(zhí)行數(shù)據(jù)解壓縮方法, 從而將該數(shù)據(jù)解壓縮。


圖1用圖形表示了,按照本發(fā)明的設(shè)想,待壓縮的數(shù)據(jù)的各個(gè)字節(jié)在其對應(yīng)的介質(zhì)分區(qū)上的分布。
具體實(shí)施例方式實(shí)施例1在8個(gè)比特(bit)為一字節(jié)的二進(jìn)制數(shù)據(jù)中,一個(gè)字節(jié)的數(shù)據(jù)的數(shù)值范圍是0000 0000至1111 1111 (即,從0至255),共有256(2的8次方)種變化。由此,我們把一個(gè)存儲(chǔ)介質(zhì)劃分為256個(gè)相等大小的分區(qū)(該存儲(chǔ)介質(zhì)可以是磁性存儲(chǔ)介質(zhì)、U盤、光盤等), 每個(gè)區(qū)包含例如NO個(gè)字節(jié)(NO為自然數(shù))。產(chǎn)生介質(zhì)分區(qū)表,用于記錄每個(gè)分區(qū)中的扇區(qū)號(hào)。我們做這樣的設(shè)想,每個(gè)區(qū)按順序應(yīng)該存儲(chǔ)(或分配)不同數(shù)值的數(shù)據(jù),第1分區(qū)只存儲(chǔ)(或分配)0000 0000,第2分區(qū)只存儲(chǔ)(或分配)0000 0001,……,第6分區(qū)只存儲(chǔ)(或分配)0000 0101(即十進(jìn)制中的5),第12分區(qū)只存儲(chǔ)(或分配)0000 1011(即十進(jìn)制中的 11)……。由于實(shí)際上只是假想地將要壓縮的數(shù)據(jù)的各個(gè)字節(jié)存儲(chǔ)到相應(yīng)的分區(qū)中,因此, 這里所說的“存儲(chǔ)”只是一種“分配”,實(shí)質(zhì)上是將不同數(shù)值的字節(jié)與不同分區(qū)建立一一對應(yīng)關(guān)系。作為一個(gè)例子,在對一個(gè)數(shù)據(jù)文件壓縮前,將一個(gè)數(shù)據(jù)文件劃分成若干個(gè)數(shù)據(jù)段, 假設(shè)一個(gè)數(shù)據(jù)段的大小為M個(gè)字節(jié)(或M個(gè)單位,一個(gè)單位為若干比特),其中M為自然數(shù)。 然后分別對每個(gè)數(shù)據(jù)段進(jìn)行壓縮。按照本發(fā)明的上述方法,根據(jù)每個(gè)字節(jié)的數(shù)值,設(shè)想將一個(gè)數(shù)據(jù)段中的第1到第M 個(gè)字節(jié)依次存儲(chǔ)到(或分配到)相應(yīng)的分區(qū)中(注意,這里只是設(shè)想將各個(gè)字節(jié)存儲(chǔ)到相應(yīng)的分區(qū)中,實(shí)際上這一存儲(chǔ)步驟并沒有真正被執(zhí)行)。圖1示出了按照上述設(shè)想存儲(chǔ)的M個(gè)字節(jié)的數(shù)據(jù)段的各字節(jié)的分布圖(或排列圖)。其中,X軸的坐標(biāo)0,1,……,255分別表示存儲(chǔ)介質(zhì)的256個(gè)分區(qū),Y軸表示字節(jié)的排列順序。一個(gè)白點(diǎn)代表一個(gè)字節(jié),每個(gè)白點(diǎn)的橫坐標(biāo)表示該字節(jié)所應(yīng)被存儲(chǔ)的分區(qū),縱坐標(biāo)表示該字節(jié)的排序。這M個(gè)白點(diǎn)的縱坐標(biāo)分別是Y= 1、2、3、……、M。由此,我們就得到了這M個(gè)字節(jié)的一種排列組合。M是有限大小的自然數(shù),例如,M可以是8、16、32等。M個(gè)字節(jié)在256個(gè)分區(qū)上的各種可能的排列組合的總的方式是256的M次方。我們將每一種排列按順序分配一個(gè)標(biāo)記號(hào),即,1、2、……、256m。這樣,這M個(gè)字節(jié)的每種排列方式對應(yīng)于一個(gè)特定的標(biāo)記號(hào),每個(gè)標(biāo)記號(hào)也對應(yīng)于M個(gè)字節(jié)的一種特定排列方式。在存儲(chǔ)數(shù)據(jù)時(shí),按照本發(fā)明,實(shí)際上并不將每個(gè)字節(jié)存儲(chǔ)的到相應(yīng)的分區(qū)中,而是只存儲(chǔ)對應(yīng)于M個(gè)字節(jié)的排列方式的標(biāo)記號(hào),S卩,存儲(chǔ)分別對應(yīng)于每個(gè)數(shù)據(jù)段的一系列的標(biāo)記號(hào)。這樣就能大大減小存儲(chǔ)空間,起到壓縮數(shù)據(jù)的效果。在解壓縮時(shí),根據(jù)該標(biāo)記號(hào)來得到這M個(gè)字節(jié)的排列從而得到壓縮前的數(shù)據(jù)。下面通過一個(gè)簡單的例子來說明一個(gè)數(shù)據(jù)段中各個(gè)字節(jié)的排序方式與標(biāo)記號(hào)的對應(yīng)關(guān)系。在上述實(shí)施例中,存儲(chǔ)介質(zhì)被分成了 256個(gè)分區(qū),一個(gè)數(shù)據(jù)段包含M個(gè)字節(jié),這形成了一個(gè)MX256的矩陣。為了便于說明,在下面的例子中假設(shè)存儲(chǔ)介質(zhì)被分成了 4個(gè)分區(qū), 并且M = 4,這樣就形成了一個(gè)4X4矩陣,我們對該矩陣的每個(gè)元素如下命名1 2 3 45 6 7 8
ab C d
ef g h
其中橫向表示存儲(chǔ)介質(zhì)的4個(gè)分區(qū),豎向由上到下表示4個(gè)字
以1開頭的排列方式共有以下8X8 = 64種(第1至64)
15ae15af15ag15ah15be15bf15bg15bh
15ce15cf15cg15ch15de15df15dg15dh
16ae16af16ag16ah16be16bf16bg16bh
16ce16cf16cg16ch16de16df16dg16dh
17ae17af17ag17ah17be17bf17bg17bh
17ce17cf17cg17ch17de17df17dg17dh
18ae18af18ag18ah18be18bf18bg18bh
18ce18cf18cg18ch18de18df18dg18dh
以2幵頭的排列方式共有以下8X8 = 64種(第65至128)
25ae25af25ag25ah25be25bf25bg25bh
25ce25cf25cg25ch25de25df25dg25dh
26ae26af26ag26ah26be26bf26bg26bh
26ce26cf26cg26ch26de26df26dg26dh
27ae27af27ag27ah27be27bf27bg27bh
27ce27cf27cg27ch27de27df27dg27dh
28ae28af28ag28ah28be28bf28bg28bh
28ce28cf28cg28ch28de28df28dg28dh
以3開頭的排列方式共有以下8X8 = 64種(第129至192)
35ae35af35ag35ah35be35bf35bg35bh
35ce35cf35cg35ch35de35df35dg35dh
36ae36af36ag36ah36be36bf36bg36bh
36ce36cf36cg36ch36de36df36dg36dh
37ae37af37ag37ah37be37bf37bg37bh
37ce37cf37cg37ch37de37df37dg37dh
38ae38af38ag38ah38be38bf38bg38bh
38ce38cf38cg38ch38de38df38dg38dh
以4開頭的排列方式共有以下8X8 = 64種(第193至256)
45ae45af45ag45ah45be45bf45bg45bh
45ce45cf45cg45ch45de45df45dg45dh
46ae46af46ag46ah46be46bf46bg46bh
46ce46cf46cg46ch46de46df46dg46dh
47ae47af47ag47ah47be47bf47bg47bh
47ce47cf47cg47ch47de47df47dg47dh
48ae48af48ag48ah48be48bf48bg48bh
48ce48cf48cg48ch48de48df48dg48dh
以上是M = 4個(gè)字節(jié)存儲(chǔ)在4個(gè)分區(qū)中的全部256( = 44)種排列方式。對于例如排列方式“25ce”,按照正向順序確定其標(biāo)記號(hào),首先,由于首位字是 “2”,則其排序大于等于65小于等于128。其次,由于前兩位數(shù)字是“25”,則進(jìn)一步確定其排序大于等于65小于等于80。第三,由于前三位數(shù)字是“25c”,其排序大于等于73小于等于76。最后,根據(jù)“25ce”中的第4位數(shù),確定其排序即標(biāo)記號(hào)為73。反之,在解壓縮時(shí),在讀到標(biāo)記號(hào)73時(shí),73大于4的3次方(64),又小于128,即肯定原數(shù)據(jù)是在“2”開頭的區(qū)間內(nèi),其中,只有頭兩位數(shù)是“25”的排列方式的標(biāo)記號(hào)大于等于65小于等于80,因此可選范圍縮小到“25”開頭的排列方式中,而“25a”至“25b”區(qū)間按照排序原則對應(yīng)的標(biāo)記號(hào)小于 73,由此被排除。另外,按照4 X 4模塊組合編寫規(guī)律(8 X 8 X 4,即4個(gè)8 X 8組合),73除以 8得9余1,9為第九行,余1即為第10行第一個(gè),即“25ce”。另外,上述對磁盤介質(zhì)的分區(qū),只是一種想象中的分區(qū),并沒有真正將各個(gè)字節(jié)寫入到對應(yīng)的分區(qū)中,因此,對磁盤介質(zhì)的分區(qū)等效于將待壓縮的各個(gè)字節(jié)分組,例如,在實(shí)施例1中將磁盤分成256個(gè)分區(qū),等效于將各個(gè)字節(jié)按照數(shù)值分成256個(gè)組,第1組只包
含0000 0000,第2組只包含0000 0001,......,第6組只包含0000 0101,第12組只包含
00001011......。實(shí)施例2下面重點(diǎn)介紹和實(shí)施例1不同之處。如沒有明確指出,本實(shí)施例中的特征和實(shí)施例1相同。首先,自動(dòng)偵測存儲(chǔ)介質(zhì)實(shí)際大小,將存儲(chǔ)介質(zhì)劃分為256個(gè)相等大小的分區(qū)。在某些情況下,某個(gè)分區(qū)被“寫滿”,即,分配給該分區(qū)的數(shù)據(jù)量等于該分區(qū)的容量,例如第η 個(gè)分區(qū)被“寫滿”(η為大于等于1小于等于NO的自然數(shù)),如果仍然有后續(xù)的數(shù)據(jù)要存儲(chǔ)到(分配到)該第η區(qū)中,則確定存儲(chǔ)數(shù)據(jù)最少的分區(qū),例如,所確定的該存儲(chǔ)數(shù)據(jù)最少的分區(qū)是第m個(gè)分區(qū)(m為大于等于1小于等于NO的自然數(shù),且m興η),將要存儲(chǔ)在已“寫滿” 的第η區(qū)的數(shù)據(jù)存儲(chǔ)在該存儲(chǔ)數(shù)據(jù)最少的第m個(gè)分區(qū),并將存儲(chǔ)該數(shù)據(jù)的第m個(gè)分區(qū)中的扇區(qū)被劃歸為第η個(gè)分區(qū),這只需在介質(zhì)分區(qū)表標(biāo)明扇區(qū)號(hào)的變化即可。上述這種在某個(gè)扇區(qū)被“寫滿”時(shí)調(diào)整分區(qū)劃分的方法叫做“智能分區(qū)調(diào)整”。實(shí)施例3在上述實(shí)施例中,只描述了以包含8個(gè)比特的一個(gè)字節(jié)為單位進(jìn)行數(shù)據(jù)存儲(chǔ)的情況。本發(fā)明不限于此。可以設(shè)想以nl個(gè)比特為單位將數(shù)據(jù)存儲(chǔ)到存儲(chǔ)介質(zhì)的各分區(qū)中,nl 為自然數(shù)。作為一個(gè)例子,nl = 4(即,半個(gè)字節(jié)),在這種情況中,將存儲(chǔ)介質(zhì)劃分為2nl = 16個(gè)分區(qū)。第1分區(qū)只存儲(chǔ)0000,第2分區(qū)只存儲(chǔ)0001,……,第6分區(qū)只存儲(chǔ)0101 (即十進(jìn)制中的5),第12分區(qū)只存儲(chǔ)1011 (即十進(jìn)制中的11)……,第16分區(qū)只存儲(chǔ)1111 (即十進(jìn)制中的15)。例如,一個(gè)字節(jié)的數(shù)據(jù)是0101 1011,則前4個(gè)比特存儲(chǔ)在第6分區(qū),后4 個(gè)比特存儲(chǔ)在第12分區(qū)。nl還可以是例如,16 (即,2個(gè)字節(jié))、32 (即,4個(gè)字節(jié))等。實(shí)施例4一種存儲(chǔ)介質(zhì),例如,U盤、光盤或磁性存儲(chǔ)介質(zhì),其中存儲(chǔ)有計(jì)算機(jī)程序。該程序運(yùn)行時(shí)執(zhí)行本發(fā)明的壓縮或解壓縮程序。在向該存儲(chǔ)介質(zhì)寫入數(shù)據(jù)時(shí),該計(jì)算機(jī)程序被自動(dòng)調(diào)用,以將數(shù)據(jù)壓縮后再寫入到所述存儲(chǔ)介質(zhì)中。在從該介質(zhì)拷貝數(shù)據(jù)時(shí),該計(jì)算機(jī)程序可以被調(diào)用,從而對被拷貝的數(shù)據(jù)解壓縮。
其他情況數(shù)據(jù)寫入介質(zhì)時(shí),可以按照分區(qū)標(biāo)記以字節(jié)為單位,分別存入不同分區(qū)。此時(shí)可以定義一個(gè)文件索引表,該文件索引表負(fù)責(zé)數(shù)據(jù)實(shí)時(shí)存儲(chǔ)指針,不同的數(shù)據(jù)流可以實(shí)現(xiàn)數(shù)據(jù)按位置存儲(chǔ)。文件索引表構(gòu)造自定義文件索引表是本發(fā)明方法的關(guān)鍵部分,執(zhí)行本發(fā)明方法的主程序進(jìn)行的所有數(shù)據(jù)讀寫,均依照索引表原則。索引表有以下幾部分分區(qū)信息;每一段字串首字節(jié)坐標(biāo),相對位置定義;數(shù)據(jù)標(biāo)示表;智能調(diào)整分區(qū)信息;文件大小信息;文件名與文件大小關(guān)聯(lián);安全信息。工業(yè)實(shí)用性根據(jù)本發(fā)明的壓縮方法,實(shí)現(xiàn)對明文數(shù)據(jù)的固定壓縮比,對已壓縮數(shù)據(jù)(如rar、 zip.mpeg.rm……等)的最低不低于40%的壓縮比,并能高速壓縮、實(shí)時(shí)存儲(chǔ)。
權(quán)利要求
1.一種數(shù)據(jù)壓縮方法,包括定義一個(gè)M行XL列的矩陣,其中,M、L為自然數(shù),確定包含M個(gè)數(shù)的數(shù)列依次排列在該矩陣上的所有可能,其中矩陣的每一行只排列一個(gè)數(shù),依次為每一種排列確定一個(gè)與其對應(yīng)的標(biāo)記號(hào);將待壓縮的數(shù)據(jù)劃分為多個(gè)數(shù)據(jù)段,對每個(gè)數(shù)據(jù)段分別進(jìn)行壓縮,其中,對每個(gè)數(shù)據(jù)段的壓縮包含以下步驟將要存儲(chǔ)數(shù)據(jù)的存儲(chǔ)介質(zhì)等分為L個(gè)分區(qū);將所述數(shù)據(jù)段中的數(shù)據(jù)分成M等份,根據(jù)每一等份數(shù)據(jù)的數(shù)值依次將M個(gè)等份的數(shù)據(jù)分配到所述各個(gè)分區(qū)中,不同數(shù)值的等份分配到不同分區(qū),從而得到了所述M個(gè)等份的一種排列方式;根據(jù)所述排列方式確定與其對應(yīng)的標(biāo)記號(hào);依次存儲(chǔ)每一個(gè)數(shù)據(jù)段的標(biāo)記號(hào)。
2.根據(jù)權(quán)利要求1所述的方法,其中,所述數(shù)據(jù)段的M等份的每一份包含8個(gè)比特,即一個(gè)字節(jié),并且L = 256。
3.根據(jù)權(quán)利要求2所述的方法,其中第1分區(qū)分配數(shù)值為0的數(shù)據(jù),S卩,字節(jié)0000 0000,第η個(gè)分區(qū)分配數(shù)值為η-1的數(shù)據(jù),第256分區(qū)分配數(shù)值為255的數(shù)據(jù),S卩,字節(jié)1111 1111,其中,η為大于0小于256的自然數(shù)。
4.根據(jù)權(quán)利要求1所述的方法,其中,所述數(shù)據(jù)段的M等份的每一等份包含4個(gè)比特, 并且L = 16。
5.根據(jù)權(quán)利要求1所述的方法,其中,M為8、16和32之一。
6.一種數(shù)據(jù)解壓縮方法,對于根據(jù)權(quán)利要求1所述的方法壓縮的數(shù)據(jù),依次讀取各數(shù)據(jù)段的標(biāo)記號(hào),確定各標(biāo)記號(hào)所對應(yīng)的數(shù)據(jù),將各個(gè)數(shù)據(jù)段所對應(yīng)的數(shù)據(jù)依次組合,從而恢復(fù)壓縮前的數(shù)據(jù)。
7.一種存儲(chǔ)介質(zhì),其中存儲(chǔ)有計(jì)算機(jī)程序,當(dāng)向該存儲(chǔ)介質(zhì)中存儲(chǔ)數(shù)據(jù)時(shí),該程序被自動(dòng)調(diào)用以執(zhí)行權(quán)利要求1至5之一所述的方法,從而將該數(shù)據(jù)壓縮;當(dāng)從該存儲(chǔ)介質(zhì)向外界拷貝數(shù)據(jù)時(shí),該程序被自動(dòng)調(diào)用以執(zhí)行權(quán)利要求6所述的方法,從而將該數(shù)據(jù)解壓縮。
8.根據(jù)權(quán)利要求7所述的存儲(chǔ)介質(zhì),其中,該存儲(chǔ)介質(zhì)為U盤、光盤或磁性存儲(chǔ)介質(zhì)。
全文摘要
本發(fā)明涉及基于信息變換的數(shù)據(jù)壓縮、解壓縮方法及存儲(chǔ)介質(zhì)。將一定大小的數(shù)據(jù)中的各個(gè)字節(jié)按照其數(shù)值排列,確定這種排列在所有可能排列中的排序,從而賦予這種排列一個(gè)唯一的標(biāo)記號(hào)。通過存儲(chǔ)標(biāo)記號(hào)而不是存儲(chǔ)所述數(shù)據(jù)來達(dá)到減小存儲(chǔ)空間的效果。在解壓縮時(shí),讀取所述標(biāo)記號(hào),來找到對應(yīng)的數(shù)據(jù),從而恢復(fù)壓縮前的數(shù)據(jù)。在向本發(fā)明的存儲(chǔ)介質(zhì)中存儲(chǔ)數(shù)據(jù)時(shí),壓縮程序被自動(dòng)調(diào)用,從而對數(shù)據(jù)壓縮。
文檔編號(hào)H03M7/40GK102404009SQ20101028336
公開日2012年4月4日 申請日期2010年9月16日 優(yōu)先權(quán)日2010年9月16日
發(fā)明者崔軍 申請人:中盾天安科技(北京)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1