專利名稱:基于虛擬信源和神經(jīng)網(wǎng)絡(luò)的無損數(shù)據(jù)壓縮方法
技術(shù)領(lǐng)域:
本發(fā)明屬于計(jì)算機(jī)技術(shù)領(lǐng)域,本發(fā)明提供一種基于虛擬信源和神經(jīng)網(wǎng)絡(luò)的無損數(shù)據(jù)壓縮方法。
背景技術(shù):
我們注意到,隨著光纖網(wǎng)和光盤設(shè)備等寬帶信道和大客量存儲介質(zhì)的采用,信道帶寬及存儲量變越來越大,但數(shù)據(jù)量的增加遠(yuǎn)遠(yuǎn)快于帶寬和存儲量的增長。因此高效的數(shù)據(jù)壓縮仍是不可缺少的。特別是在計(jì)算機(jī)系統(tǒng)文件、醫(yī)療、保密通訊等對數(shù)據(jù)質(zhì)量要求苛刻的場合中,高效的無損壓縮技術(shù)仍十分必要。
迄今沒有高效的無損壓縮方法。目前盡管有哈夫曼編碼、算術(shù)編碼、字典編碼、游程編碼、預(yù)測編碼等眾多無損壓縮方法,但它們有三個公共缺陷1.這些無損數(shù)據(jù)壓縮方法的壓縮思想都只是盡量消除數(shù)據(jù)中統(tǒng)計(jì)冗余,數(shù)據(jù)中的其它冗余一點(diǎn)也棄除不掉。事實(shí)上,一大堆數(shù)據(jù)很可能有很大的非統(tǒng)計(jì)冗余,如平面上的一斜直線段上點(diǎn)的集合是由某個形如y=kx+y0,x∈(a,b)的“虛擬信源”給出的。顯然這里斜直線段上點(diǎn)的集合幾乎沒有“統(tǒng)計(jì)”冗余,而我們可用{k,y0,a,b}去編碼它,從而成百成千倍壓縮它,也說明該集合有很高的非統(tǒng)計(jì)冗余。
2.它們的壓縮比小。對一般圖象、文本的壓縮比只有2∶1左右,顯然一些被壓縮過的圖象、文本仍有很高的冗余度。
3.對已用熵編碼壓縮過的數(shù)據(jù)無法再壓縮。由于所有熵編碼,如哈夫曼編碼、算術(shù)編碼、字典編碼、游程編碼、預(yù)測編碼,都是基于‘消除數(shù)據(jù)中統(tǒng)計(jì)冗余’思想來構(gòu)建的,因此已用熵編碼壓縮過的數(shù)據(jù)幾乎沒有統(tǒng)計(jì)冗余了,從而也就不能再用哈夫曼編碼、算術(shù)編碼、字典編碼、游程編碼、預(yù)測編碼等壓縮了。
人們已嘗試用高容錯工具,如神經(jīng)網(wǎng)絡(luò),來構(gòu)造無損數(shù)據(jù)壓縮方法,但沒有獲得成功?,F(xiàn)有用神經(jīng)網(wǎng)絡(luò)構(gòu)造的數(shù)據(jù)壓縮方法都是有損的。
基于對傳統(tǒng)的無損數(shù)據(jù)壓縮的上述認(rèn)識,本發(fā)明提出一種基于虛擬信源和神經(jīng)網(wǎng)絡(luò)的無損數(shù)據(jù)壓縮方法,該方法不走‘僅消除數(shù)據(jù)中統(tǒng)計(jì)冗余’的過去無損數(shù)據(jù)壓縮方法的唯一老路,獨(dú)辟蹊徑提出‘基于虛擬信源和神經(jīng)網(wǎng)絡(luò)’的建模壓縮新思想,提高了無損數(shù)據(jù)壓縮率。
發(fā)明內(nèi)容
本發(fā)明提出一種基于虛擬信源和神經(jīng)網(wǎng)絡(luò)的無損數(shù)據(jù)壓縮方法,從根本思想上提出不同于‘僅消除統(tǒng)計(jì)冗余方法’的基于虛擬信源和神經(jīng)網(wǎng)絡(luò)的建模壓縮方法,提高了數(shù)據(jù)無損壓縮比率,而且該壓縮方法可壓縮已用熵編碼壓縮過的數(shù)據(jù)(已棄除部分統(tǒng)計(jì)冗余數(shù)據(jù)),從而用該壓縮方法與已有熵編碼結(jié)合可以獲得具有更高壓縮比的無損數(shù)據(jù)壓縮方法?;谔摂M信源和神經(jīng)網(wǎng)絡(luò)的無損數(shù)據(jù)壓縮方法的實(shí)現(xiàn)技術(shù)是人工神經(jīng)網(wǎng)絡(luò),是國際國內(nèi)首次應(yīng)用神經(jīng)網(wǎng)絡(luò)實(shí)現(xiàn)無損數(shù)據(jù)壓縮方案。
本發(fā)明首先提出了虛擬信源概念及基于虛擬信源和人工神經(jīng)網(wǎng)絡(luò)構(gòu)建數(shù)據(jù)壓縮方法的思想,設(shè)立了0與1的字符長串的通用虛擬信源Y,然后用神經(jīng)網(wǎng)絡(luò)建立了虛擬信源Y的模型,又用該模型和一個取整函數(shù)構(gòu)造出了基于虛擬信源和神經(jīng)網(wǎng)絡(luò)的無損數(shù)據(jù)壓縮方法。實(shí)驗(yàn)表明,一般情況下此壓縮法的壓縮比為3∶1。其步驟如下a.BP壓縮1.把所有要處理的數(shù)據(jù)視為由虛擬信源產(chǎn)生的字符串;2.建立虛擬信源的BP神經(jīng)網(wǎng)絡(luò)模型;3.用BP模型參數(shù)(數(shù)據(jù)量少于原始字符串的數(shù)據(jù)量)去編碼由虛擬信源產(chǎn)生的字符串;b.BP解壓縮1.恢復(fù)BP模型參數(shù);2.恢復(fù)虛擬信源的模型;3.虛擬信源的模型結(jié)合取整變換構(gòu)建字符串的恢復(fù)映射;
4.完全恢復(fù)虛擬信源產(chǎn)生的字符串。
圖1是本發(fā)明的壓縮原理與解壓縮原理流程圖。
具體實(shí)施例方式
本發(fā)明提供一種基于虛擬信源和神經(jīng)網(wǎng)絡(luò)的無損數(shù)據(jù)壓縮方法,其流程圖如圖1所示。本發(fā)明實(shí)施步驟如下1.建立要處理的原始數(shù)據(jù)的虛擬信源。設(shè)有待壓縮的長串γ=c1…c49152,cj=0 or 1,其中γ的長度為49152。下面定義12維單位超立方體頂點(diǎn)和中心的集合為原像集,像落在12維單位超立方體表面和中心的映射Y。稱Y為γ=c1…c49152,cj=0 or 1的虛擬信源。
映射Y:設(shè)A={(x1,…,xi,…,x12)|xi=0,1}把(x1,…,xi,…,x12)按二進(jìn)制數(shù)x1x2…xi…x12的大小倒序排列,即排為有序點(diǎn)a1=(1,1,…,1),a2=(1,…,1,0),a3=(1,…,1,0,1),…,a4095=(0,…,0,1),a4096=(0,…,0,0)。假定待壓縮的0與1的字符串γ=c1…c49152,cj=0 or 1,其中γ的長度為49152,記B={bj|bj=(c12x(j-1)+1,…,c12×j),1≤j≤4096},注bj中的ci要轉(zhuǎn)換為0與1數(shù)的形式,定義Y為A到B的映射Y:A→BY:ai→bi,i=1,…,4096,ai∈A,bi∈B即bi=Y(jié)(ai),i=1,…,4096。
2.建立虛擬信源的神經(jīng)網(wǎng)絡(luò)模型。由于虛擬信源Y是有限點(diǎn)集A到有限點(diǎn)集B的有界映射,它一定可以擴(kuò)充為球A={(x1,…,xi,…,x12)|0≤|xi|≤1,i=1,…,12}上的有界連續(xù)映射Y。由有關(guān)結(jié)果可知,存在3層BP網(wǎng)絡(luò)充分逼近Y,自然該網(wǎng)絡(luò)充分逼近Y。
我們根據(jù)實(shí)踐經(jīng)驗(yàn),考慮到有4096個樣本要處理,選用3層的有960+64=1024個自由度的BP模型來逼近Y。選定神經(jīng)網(wǎng)絡(luò)某一滿足條件的狀態(tài)作為虛擬信源Y的模型,取模型參數(shù)編碼字符串γ=c1…c49152,cj=0 or 1,以便壓縮字符長串γ。本發(fā)明用3層64個神經(jīng)元(輸入、輸出層各12個,隱含層40個)和隱含層輸出函數(shù)為Sigmoid函數(shù)的BP模型來作為特定映射Y的逼近映射。其中960個接權(quán)值為wij(1),i=1,…,12,j=1,…,40;wij(2),i=1,…,40,j=1,…,12和64個閾值為wj(k),j=1,…,12,k=1,2,3,wj(2),j=29,…,40。
3.BP壓縮如前設(shè)定待壓縮的長串γ=c1…c49152,cj=0 or 1,其中γ的長度為49152,ak,bk,k=1,…,4096及映射Y。(i)用順序樣本(ak,bk)訓(xùn)練所選BP網(wǎng)絡(luò),k=1,…,4096,訓(xùn)練時(shí)設(shè)置變量|wij(k)|,|wj(k)|的上界為128,所有權(quán)值wij(k)和閾值wj(k)都精確到小數(shù)點(diǎn)后2位,(ii)選定BP網(wǎng)絡(luò)的一狀態(tài)(稱為穩(wěn)態(tài))該狀態(tài)下輸出bk′與期望輸出bk的分量差的絕對值小于0.49,即|bki′-bki|<0.49,i=1,…,12,(iii)在穩(wěn)態(tài)時(shí),順序取960個神經(jīng)元聯(lián)接權(quán)值wij(1),i=1,…,12,j=1,…,40;wij(2),i=1,…,40,j=1,…,12和64個閾值wj(k)=1,…,12,k=1,2,3,wi(2)j=29,…,40,作為字符長串γ的編碼,(iv)順序把960個神經(jīng)元聯(lián)接權(quán)值和64個閾值依次2進(jìn)制編碼,方案是用2個字節(jié)16位為每個wij(k),wj(k)編碼,其中1位是符號位,1位是小數(shù)點(diǎn)記號位,7位用于小數(shù)點(diǎn)后2位編碼,7位用于小數(shù)點(diǎn)前2位編碼(此編碼可確保當(dāng)|wij(k)|<128+1,|wj(k)|<128+1,]]>wij(k),wj(k)精確到小數(shù)點(diǎn)后2位時(shí),編碼正確有效,盡管壓縮時(shí)編碼有偏差,但是經(jīng)下面解壓縮方法解壓縮之后可完全恢復(fù)γ。
由上述原理可知,若(i),(ii)能順利進(jìn)行,則該壓縮方法的壓縮比為6×1024×8960×13×64×16=31]]>4.BP取整函數(shù)解壓縮BP取整函數(shù)解壓縮模型是由所選BP網(wǎng)絡(luò)構(gòu)成的映射復(fù)合(或外套)取整函數(shù)而成。(i)恢復(fù)穩(wěn)態(tài)時(shí)的wij(1),i=1,…,12,j=1,…,40,k=1,2;wij(2),i=1,…,40,j=1,…,12,值和穩(wěn)態(tài)時(shí)的閾值wj(k),j=1,…,12,k=1,2,3,wj(2),j=29,…,40,,恢復(fù)BP模型穩(wěn)定狀態(tài),(ii)把恢復(fù)的網(wǎng)絡(luò)視為一固定映射Y1,這時(shí)Y1是Y的似近映射,且逼近度量值小于0.49(注與理論逼近度至多相差0.01,見附頁的數(shù)學(xué)嚴(yán)格證明),(iii)把Y1與取整函數(shù)[yi+0.5],i=1,…,10,復(fù)合得[yi(X)+0.5],i=1,…,12,X=(x1,…,xi,…,x12),(iv)把a(bǔ)k,k=1,…,4096順序輸入復(fù)合函數(shù)[yi(X)+0.5],i=1,…,12中,順序獲得bk,k=1,…,4096,(v)由bk,k=1,…,4096完全恢復(fù)長串γ=c1…c49152。
實(shí)施例任取待壓縮的長串γ=c1…c49152,cj=0 or 1,其中γ的長度為49152(長串長度超過49152,則分成若干段長度為49152的子段,若長度不夠49152,則在串后面補(bǔ)若干個0使其長度變?yōu)?9152)。
1.建立γ=c1…c49152,cj=0 or 1的虛擬信源Y。映射Y設(shè)A={(x1,…,xi,…,x12)|xi=0,1}把(x1,…,xi,…,x12)按二進(jìn)制數(shù)x1x2…xj…x12的大小倒序排列,即排為有序點(diǎn)a1=(1,1,…,1),a2=(1,…,1,0),a3=(1,…,1,0,1),…,a4095=(0,…,0,1),a4096=(0,…,0,0)。假定待壓縮的0與1的字符串γ=c1…c49152,cj=0 or 1,其中γ的長度為49152,記B={bj|bj=(c12x(j-1)+1,…,c12 ×j),1≤j ≤4096}。注bj中的ci要轉(zhuǎn)換為0與1數(shù)的形式。定義Y為A到B的映射Y:A→BY:ai→bi,i=1,…,4096,ai∈A,bi∈B即bi=Y(jié)(ai),i=1,…,4096。
2.建立虛擬信源Y的神經(jīng)網(wǎng)絡(luò)模型。具體用神經(jīng)網(wǎng)絡(luò)3層64個神經(jīng)元(輸入、輸出層各12個,隱含層40個)和隱含層輸出函數(shù)為Sigmoid函數(shù)的BP模型來作為特定映射Y的逼近映射。其中960個接權(quán)值為wij(1),i=1,…,12,j=1,…,40;wij(2),i=1,…,40,j=1,…,12和64個閾值為wj(k),i=1,…,12,k=1,2,3,wj(2),j=29,…,40。
3.γ的BP壓縮如前設(shè)定待壓縮的長串γ=c1…c49152,cj=0 or 1,其中γ的長度為49152,ak,bk,k=1,…,4096及映射Y。(i)用順序樣本(ak,bk)訓(xùn)練所選BP網(wǎng)絡(luò),k=1,…,4096,訓(xùn)練時(shí)設(shè)置變量|wij(k)|,|wj(k)|的上界為128,所有權(quán)值wij(k)和閾值wj(k)都精確到小數(shù)點(diǎn)后2位,(ii)選定BP網(wǎng)絡(luò)的一狀態(tài)(稱為穩(wěn)態(tài))該狀態(tài)下輸出bk′與期望輸出bk的分量差的絕對值小于0.49,即|bki′-bki|<0.49,i=1,…,12,(iii)在穩(wěn)態(tài)時(shí),順序取960個神經(jīng)元聯(lián)接權(quán)值wij(1),i=1,…,12,j=1,…,40;wij(2),i=1,…,40,j=1,…,12和64個閾值wj(k),j=1,…,12,k=1,2,3,wj(2),j=29,…,40,作為字符長串γ的編碼,(iv)順序把960個神經(jīng)元聯(lián)接權(quán)值和64個閾值依次2進(jìn)制編碼,方案是用2個字節(jié)16位為每個wij(k),wj(k)編碼,其中1位是符號位,1位是小數(shù)點(diǎn)記號位,7位用于小數(shù)點(diǎn)后2位編碼,7位用于小數(shù)點(diǎn)前2位編碼。
4.γ的BP取整函數(shù)解壓縮BP取整函數(shù)解壓縮模型是由所選BP網(wǎng)絡(luò)構(gòu)成的映射復(fù)合(或外套)取整函數(shù)而成。(i)恢復(fù)穩(wěn)態(tài)時(shí)的wij(1),i=1,…,12,j=1,…,40,k=1,2;wij(2),i=1,…,40,j=1,…,12,值和穩(wěn)態(tài)時(shí)的閾值wj(k),j=1,…,12,k=1,2,3,wj(2),j=29,…,40,,恢復(fù)BP模型穩(wěn)定狀態(tài),(ii)把恢復(fù)的網(wǎng)絡(luò)視為一固定映射Y1,這時(shí)Y1是Y的似近映射,且逼近度量值小于0.49,(iii)把Y1與取整函數(shù)[yi+0.5],i=1,…,10,復(fù)合得[yi(X)+0.5],i=1,…,12,X=(x1,…,xi,…,x12),(iv)把a(bǔ)k,k=1,…,4096順序輸入復(fù)合函數(shù)[yi(X)+0.5],i=1,…,12中,順序獲得bk,k=1,…,4096,(v)由bk,k=1,…,4096完全恢復(fù)長串γ=c1…c49152。
權(quán)利要求
1.基于虛擬信源和神經(jīng)網(wǎng)絡(luò)的無損數(shù)據(jù)壓縮方法,其特征在于,其步驟如下a.BP壓縮(1).把所有要處理的數(shù)據(jù)視為由虛擬信源產(chǎn)生的字符串;(2).建立虛擬信源的BP神經(jīng)網(wǎng)絡(luò)模型;(3).用BP模型參數(shù)去編碼由虛擬信源產(chǎn)生的字符串;b.BP解壓縮(1).恢復(fù)BP模型參數(shù);(2).恢復(fù)虛擬信源的模型;(3).虛擬信源的模型結(jié)合取整變換構(gòu)建字符串的恢復(fù)映射;(4).完全恢復(fù)虛擬信源產(chǎn)生的字符串。
2.根據(jù)權(quán)利要求1所述的基于虛擬信源和神經(jīng)網(wǎng)絡(luò)的無損數(shù)據(jù)壓縮方法,其特征在于,數(shù)據(jù)的虛擬信源是一映射映射Y設(shè)A={(x1,…,xi,…,x12)|xi=0,1}把(x1,…,xi,…,x12)按二進(jìn)制數(shù)x1x2…xi…x12的大小倒序排列,即排為有序點(diǎn)a1=(1,1,…,1),a2=(1,…,1,0),a3=(1,…,1,0,1),…,a4095=(0,…,0,1),a4096=(0,…,0,0),假定待壓縮的0與1的字符串γ=c1…c49152,cj=0 or 1,其中γ的長度為49152,記B={bj|bj=(c12x(j-1)+1,…,c12×j),1≤j≤4096},注bj中的ci要轉(zhuǎn)換為0與1數(shù)的形式,定義Y為A到B的映射YA→BYai→bi,i=1,…,4096,ai∈A,bi∈B即bi=Y(jié)(ai),i=1,…,4096。
3.根據(jù)權(quán)利要求1所述的基于虛擬信源和神經(jīng)網(wǎng)絡(luò)的無損數(shù)據(jù)壓縮方法,其特征在于,BP神經(jīng)網(wǎng)絡(luò)模型是3層64個神經(jīng)元和隱含層輸出函數(shù)為Sigmoid函數(shù)的BP模型。
4.根據(jù)權(quán)利要求1所述的基于虛擬信源和神經(jīng)網(wǎng)絡(luò)的無損數(shù)據(jù)壓縮方法,其特征在于,數(shù)據(jù)恢復(fù)映射是BP模型復(fù)合取整函數(shù)[yi(X)+0.5]。
全文摘要
本發(fā)明屬于計(jì)算機(jī)技術(shù)領(lǐng)域,本發(fā)明提供一種基于虛擬信源和神經(jīng)網(wǎng)絡(luò)的無損數(shù)據(jù)壓縮方法。其步驟如下a.BP壓縮(1)把所有要處理的數(shù)據(jù)視為由虛擬信源產(chǎn)生的字符串;(2)建立虛擬信源的BP神經(jīng)網(wǎng)絡(luò)模型;(3)用BP模型參數(shù)去編碼由虛擬信源產(chǎn)生的字符串;b.BP解壓縮(1)恢復(fù)BP模型參數(shù);(2)恢復(fù)虛擬信源的模型;(3)虛擬信源的模型結(jié)合取整變換構(gòu)建字符串的恢復(fù)映射;(4)完全恢復(fù)虛擬信源產(chǎn)生的字符串。本發(fā)明可用于計(jì)算機(jī)系統(tǒng)文件、醫(yī)療、保密通訊等。
文檔編號H03M7/40GK1790918SQ20041009895
公開日2006年6月21日 申請日期2004年12月17日 優(yōu)先權(quán)日2004年12月17日
發(fā)明者楊國為, 涂序彥, 王守覺 申請人:中國科學(xué)院半導(dǎo)體研究所