專利名稱:一種基于小波自反饋的大規(guī)模地形數(shù)據(jù)壓縮和解壓方法
技術(shù)領(lǐng)域:
本發(fā)明涉及基于小波自反饋的大規(guī)模地形數(shù)據(jù)壓縮和解壓方法。
背景技術(shù):
三維地形可視化在軍事仿真、三維游戲、城市規(guī)劃、數(shù)字地球等領(lǐng)域有著廣泛的應(yīng)用。受計(jì)算機(jī)內(nèi)存容量的限制,隨著地形規(guī)模的増大,需要的存儲(chǔ)容量也相應(yīng)增加。大規(guī)模地形由于數(shù)據(jù)量很大,且應(yīng)用背景比較復(fù)雜,在當(dāng)前計(jì)算機(jī)硬件條件下,所需的地形數(shù)據(jù)往往無法全部載入內(nèi)存。而且,由于網(wǎng)絡(luò)帶寬的限制,很多需要快速傳遞地理信息的網(wǎng)絡(luò)化服務(wù)(如防汛、交通等)很難及時(shí)完成。戰(zhàn)場(chǎng)仿真和三維游戲?qū)Φ匦螖?shù)據(jù)的讀取則更為頻繁,因而針對(duì)大規(guī)模地形數(shù)據(jù)的數(shù)據(jù)查詢和處理效率在這些應(yīng)用中會(huì)受到極大的限制。因此,在內(nèi)存有限的情況下,如何使載入內(nèi)存的數(shù)據(jù)包含更多的地形信息成為虛擬仿真領(lǐng)域ー個(gè)研究方向,而DEM數(shù)據(jù)壓縮技術(shù)則是解決該問題的重要方法之一。隨著小波變換在圖像領(lǐng)域的應(yīng)用日益廣泛,利用小波變換對(duì)地形數(shù)據(jù)壓縮取了得若干成果,但普遍存在壓縮參數(shù)選擇困難、數(shù)據(jù)還原效率低下等問題,并且目前的研究大都是在小規(guī)模地形上展開,而針對(duì)大規(guī)模地形壓縮技術(shù)的研究還相對(duì)欠缺。其中,羅永等在數(shù)字高程模型數(shù)據(jù)小波壓縮算法中討論了不同小波基對(duì)壓縮性能的影響,如提升9-7整數(shù)小波、CDF97小波在保持地形形狀和起伏特征的前提下對(duì)DEM數(shù)據(jù)最大有4096倍的壓縮比。但該方法將所有的地形高程值量均化到0-255范圍內(nèi),若地形的采樣精度很高,該方法會(huì)丟失很多的細(xì)節(jié)。此外,該方法沒有說明如何根據(jù)地形的變化幅度來動(dòng)態(tài)選擇壓縮參數(shù)。崔寶俠等設(shè)計(jì)的基于小波的數(shù)字高程模型壓縮方法,提出了最優(yōu)標(biāo)量量化器,可使用該量化器對(duì)小波變換后的數(shù)據(jù)進(jìn)行自動(dòng)選擇參數(shù)量化。但因?yàn)槠洳捎煤?jiǎn)單的游程編碼,壓縮比并不高,僅具有30倍左右壓縮比。李毅等人在2009年提出了基于SPIHT小波的DEM自適應(yīng)壓縮方法,并設(shè)計(jì)了ー種度量地形復(fù)雜度的方法,可根據(jù)計(jì)算出的復(fù)雜度對(duì)地形的壓縮參數(shù)進(jìn)行選擇。該方法具有一定的自適應(yīng)性,但無法精確控制圖形的信噪比、壓縮比、解壓縮的效率等參數(shù)。
發(fā)明內(nèi)容
本發(fā)明的技術(shù)解決問題是解決了大規(guī)模地形數(shù)據(jù)壓縮無法對(duì)參數(shù)進(jìn)行自適應(yīng)選擇的問題,并借助基于CUDA的小波變換并行計(jì)算解決了壓縮算法效率低下的問題,本發(fā)明 的壓縮結(jié)果同時(shí)具有較大的壓縮比和較高的還原效率。本發(fā)明所采用的技術(shù)方案為一種基于小波自反饋的大規(guī)模地形數(shù)據(jù)壓縮和解壓方法,該方法包括如下步驟步驟(I)、大規(guī)模地形由于數(shù)據(jù)量大,很難一次載入內(nèi)存,對(duì)大規(guī)模地形數(shù)據(jù)進(jìn)行分塊預(yù)處理,并利用速度優(yōu)先算法和壓縮比優(yōu)先算法實(shí)現(xiàn)了編碼過程中對(duì)最佳參數(shù)的自動(dòng)選擇;步驟(2)、對(duì)地形中的每ー個(gè)分塊,基于小波自反饋的地形數(shù)據(jù)壓縮處理方法來對(duì)其進(jìn)行壓縮編碼,采用的具有線性相位的雙正交9/7小波(CDF97)作為濾波器,具體計(jì)算過程中將ニ維小波變換分解為兩次一維離散小波變換來加速計(jì)算,即首先將分塊后的地形數(shù)據(jù)和h進(jìn)行卷積,抽取偶數(shù)項(xiàng),排列作為低頻數(shù)據(jù);然后將信號(hào)和g卷積,抽取奇數(shù)項(xiàng),排列為高頻數(shù)據(jù);步驟(3)、由于地形數(shù)據(jù)的解壓縮效率會(huì)嚴(yán)重影響到三維地形的實(shí)時(shí)繪制效率,基于CUDA的小波逆變換方法來加速解壓處理在CUDA架構(gòu)下,多個(gè)并行的thread可以組成一個(gè)block,處于同一個(gè)block中的thread可共享同一塊內(nèi)存,從而可以進(jìn)行快速的同步處理,但由于共享內(nèi)存存儲(chǔ)量有限,且只能被ー個(gè)block中的threads讀取,根據(jù)CUDA的特點(diǎn)利用專門的數(shù)據(jù)組織結(jié)構(gòu)來保證算法對(duì)中間數(shù)據(jù)訪問的效率;步驟(4)、通過在分塊邊界處計(jì)算平均高程值的辦法來對(duì)邊界數(shù)據(jù)進(jìn)行一致性平滑處理,解決了因?yàn)榛谛〔ㄗ苑答伒牡匦螖?shù)據(jù)壓縮處理為有損壓縮,且分塊壓縮時(shí)由于分塊地形在塊和塊之間缺乏聯(lián)系,從而解壓后會(huì)在分塊邊界處出現(xiàn)數(shù)據(jù)不一致、過渡不連續(xù)的問題。 其中,步驟(I)中所述的速度優(yōu)先算法(Speed First Algorithm)將期望峰值信噪比、期望像素深度作為比較基準(zhǔn),使得還原后的高程圖像滿足峰值信噪比高于Epsnr,而每個(gè)像素所需要的位數(shù)接近Ebpp的要求;壓縮比優(yōu)先算法是在給定期望峰值信噪比Epsnr和小波變換層數(shù)Elevel的情況下,自動(dòng)選擇壓縮參數(shù)bpp,使得還原后的高程圖像和原始高程圖像的峰值信噪比高于Epsnr,并且具有最高的壓縮比。此外,步驟(3)中所述的基于CUDA的小波逆變換,分為基于CUDA的ー維小波逆變換和基于CUDA的ニ維小波逆變換。本發(fā)明的原理在于地形數(shù)據(jù)壓縮算法的基本思想是將地形高程值看作一張ニ維灰度圖,根據(jù)相鄰地形高程值數(shù)據(jù)具有連續(xù)性的特點(diǎn),對(duì)該灰度圖進(jìn)行小波變換,并用提取低頻數(shù)據(jù)的方法對(duì)頻域數(shù)據(jù)進(jìn)行預(yù)處理,以實(shí)現(xiàn)高程數(shù)據(jù)的壓縮。壓縮算法的處理流程如圖I所示假設(shè)原始地形為ー個(gè)mXη的地形,保存在一個(gè)浮點(diǎn)型矩陣O中,矩陣O通過ー個(gè)量化器HQ將浮點(diǎn)類型的地形數(shù)據(jù)量化為整數(shù),得到一個(gè)量化后的矩陣Q,矩陣Q通過小波變換系統(tǒng)HW將矩陣Q變換為矩陣W。變換需要選擇合適的小波基,主要負(fù)責(zé)將原數(shù)據(jù)分解為2個(gè)部分,即低頻平滑部分(LL)和高頻細(xì)節(jié)部分(LH、HL、HH)。其中,子帶數(shù)據(jù)LH、HL、HH分別對(duì)應(yīng)于圖像的水平方向、垂直方向及對(duì)角線方向的邊緣和細(xì)節(jié)。這個(gè)分解過程可重復(fù)地用于LL部分的遞歸分解,重復(fù)分解的次數(shù)為level。經(jīng)過變換的矩陣W通過編碼系統(tǒng)HC后便可得到壓縮后的序列A。參數(shù)bpp(bits per pixel)為姆個(gè)像素所占的比特?cái)?shù),該參數(shù)會(huì)直接影響壓縮比。對(duì)于地形數(shù)據(jù)來說,每個(gè)象素用ー個(gè)浮點(diǎn)數(shù)表示,占用32bit。當(dāng)bpp=n時(shí),壓縮比即為32/rubpp參數(shù)設(shè)置的越大,壓縮后還原的圖像與原始圖像的差別就越小。通常采用圖像處理中廣泛使用的峰值信噪比(PSNR)作為DEM數(shù)據(jù)的失真測(cè)度,來評(píng)價(jià)還原圖像和原始圖像的差另O。圖2給出了ー張?jiān)嫉匦位叶葓D像和bpp=0. 026以及bpp=0. 013時(shí)還原后的圖像。從圖2中可以看出,對(duì)于較大的bpp,圖像的PSNR也較大,圖像失真較小。地形數(shù)據(jù)解壓算法的流程與壓縮算法相反根據(jù)參數(shù)bpp,壓縮數(shù)據(jù)A通過反編碼系統(tǒng)HC’生成小波矩陣ぎ,再通過小波逆變換系統(tǒng)服’生成Q’,最后根據(jù)Base值量化成還原數(shù)據(jù)O’。
本發(fā)明與現(xiàn)有技術(shù)相比的優(yōu)點(diǎn)在于(I)、針對(duì)傳統(tǒng)地形壓縮算法壓縮參數(shù)選擇困難問題,本發(fā)明設(shè)計(jì)了速度優(yōu)先算法和壓縮比優(yōu)先算法,實(shí)現(xiàn)了編碼過程中的對(duì)最佳參數(shù)的自動(dòng)選擇;(2)、本發(fā)明設(shè)計(jì)了基于CUDA的小波逆變換方法,提高了解壓效率,可更好的滿足三維地形繪制等 實(shí)時(shí)應(yīng)用的需要;(3)、傳統(tǒng)的大規(guī)模地形數(shù)據(jù)壓縮方法,在對(duì)分塊地形數(shù)據(jù)進(jìn)行壓縮時(shí),因塊和塊之間缺乏聯(lián)系會(huì)出現(xiàn)數(shù)據(jù)還原后邊界數(shù)據(jù)不一致、過渡不連續(xù)問題,本發(fā)明通過設(shè)計(jì)數(shù)據(jù)一致性處理方法,解決了這ー問題。
圖I壓縮算法系統(tǒng)示意圖;圖2原始地形和在不同bpp下的還原效果示意圖;其中,圖2(a)為原始圖像,圖2(b)中 bpp=0. 026,PSNR = 34. IdB,圖 2 中(c)bpp=0. 013 ;圖3邊界數(shù)據(jù)陡變和消除陡變示意圖;圖3(a)為邊界數(shù)據(jù)陡變問題示意圖;圖3(b)為消除邊界數(shù)據(jù)陡變后示意圖;圖4不同PSNR下還原地形和原始地形比較示意圖;圖4(a)為原始地形示意圖,圖 4 中(b)PSNR=35,bpp=0. I 時(shí)示意圖,圖 4(c)中 PSNR=30,bpp=0. 05 時(shí)示意圖,圖 4(d)中PSNR=20, bpp=0. 01 時(shí)示意圖;圖5為PSNR=30時(shí)壓縮數(shù)據(jù)還原地形與原地形對(duì)比示意圖;圖5 (a)為平坦地形原始數(shù)據(jù)示意圖,圖5(b)為平坦地形還原數(shù)據(jù)示意圖;圖5(()為中等崎嶇地形原始數(shù)據(jù)示意圖;圖5(d)為中等崎嶇地形還原數(shù)據(jù)示意圖;圖5(e)為高度崎嶇地形原始數(shù)據(jù)示意圖,圖5(f)為高度崎嶇地形還原數(shù)據(jù)示意圖。
具體實(shí)施例方式下面結(jié)合附圖及具體實(shí)施方式
進(jìn)ー步說明本發(fā)明。本發(fā)明中大規(guī)模數(shù)據(jù)的壓縮、解壓及數(shù)據(jù)連續(xù)性處理算法的實(shí)現(xiàn)方法具體如下(I) ー維小波變化假設(shè)S(0廣S(n-l)為原始信號(hào),為方便卷積計(jì)算,將信號(hào)擴(kuò)展到[_4,n+3]上,其中S (-i) =S (i),S (n-1+i) =S (n-1-i) ; (0〈i〈5)。對(duì)于變換后的低頻信號(hào) a (k)和高頻信號(hào) d (k),計(jì)算公式如下
4a(k) = > Y-I 廣1 亦)xv(2x ん+/■)(()くん <"/2)d(k)=2}—1Γ1 /</)><2xfc+l+iX0<^< /2)
ι=>-3將a(k),d(k)排列成a(0ra(n/2_l) ;d(O廣d(n/2-l)的形式即實(shí)現(xiàn)了ー維小波的
正變換。小波變換的逆變換和正變換類似,但過程相反先將a(0廣a(n/2)和d(0rd(n/2)擴(kuò)展到 a(-2) a(n/2+l)和 d(-2) d(n/2+l)上,其中 a(_i)=a(i),a(n/2-l+i) =a(n/2-i),d(-i)=d(i-l), d(n/2-l-I)=d(n/2-l-i) ; (0〈i〈3);然后,分別將其與 h,g 進(jìn)行卷積即可得到原始信號(hào)S (O廣S (n-1)。(2)基于CUDA的ー維小波逆變換假設(shè)信號(hào)a(0ra(n/2_l) ;d(O廣d(n/2-l)保存在全局內(nèi)存中,每ー個(gè)block包含n/2個(gè)線程,為了不直接讀取全局存儲(chǔ)器,定義兩個(gè)長(zhǎng)度為(n/2+4)的共享的內(nèi)存sa,sd。這兩個(gè)共享內(nèi)存的尋址范圍為[_2,n/2+l]。此外還定義ー個(gè)長(zhǎng)度為η的共享存儲(chǔ)器ss,用于保存結(jié)果。算法并不直接將計(jì)算結(jié)果回寫到全局內(nèi)存中,而是先寫到共享的內(nèi)存ss中,具體流程如下I)當(dāng)前線程的索引為tID,用兩條復(fù)制語句sa(tID)=a(tID), sd(tlD) =d(tID)進(jìn)行復(fù)制,該訪存操作滿足全局內(nèi)存的訪問條件,可并行完成;
2)同步同一 block中的所有線程,并用前兩個(gè)線程將sa,sd擴(kuò)展到[_2,n/2+l]中;3)同步block中所有線程,運(yùn)用卷積公式計(jì)算ss(tID*2)和ss(tID*2+l)的值,其中 ss(tID*2)=h(0) Xsa(tlD) +h(2) X ((sa (tID+1) +sa (tID-Ι)) +g (3) X ((sd (tID+1)+sd(tID-2)) +g (I) X ((sd (tID) +sd (tID-Ι))。該公式對(duì)于sa,sd的訪問滿足共享內(nèi)存的訪問條件,可并行完成,而對(duì)ss的寫入需要互斥進(jìn)行;4)同步block中所有線程,將ss中的數(shù)據(jù)回寫到全局內(nèi)存中,該訪存操作滿足全局內(nèi)存的快速訪問條件,可以并行完成。(3)基于CUDA的ニ維小波逆變換基于CUDA的ニ維小波逆變換算法為假設(shè)待解壓數(shù)據(jù)W是ー個(gè)NXN的矩陣,首先對(duì)W中每一列進(jìn)行ー維小波逆變換,變換后的矩陣為P,然后對(duì)矩陣P中每一行進(jìn)行ー維小波逆變換,變換后的矩陣為Q。由于CUDA中對(duì)列的訪問會(huì)帶來大量的內(nèi)存沖突,因此本發(fā)明采用了求矩陣轉(zhuǎn)置的辦法把列變換變?yōu)樾凶儞Q。實(shí)現(xiàn)流程如下I)將矩陣W從內(nèi)存復(fù)制到全局內(nèi)存中;2)對(duì)矩陣W進(jìn)行求轉(zhuǎn)置運(yùn)算,得到矩陣IW ;3)使用N個(gè)grids,姆個(gè)grid里N個(gè)threads,米用一維小波變換對(duì)IW中姆一行進(jìn)行變換,并且每一行分別需要ー個(gè)grid來進(jìn)行單獨(dú)處理,得到變換后的矩陣IP ;4)對(duì)矩陣IP進(jìn)行求轉(zhuǎn)置運(yùn)算,得到矩陣P ;5)使用N個(gè)grids,姆個(gè)grid包含N個(gè)threads,對(duì)P中姆一行進(jìn)行變換,得到最終結(jié)果Q ;6)將結(jié)果從GPU全局內(nèi)存中復(fù)制到內(nèi)存中。(4)數(shù)據(jù)邊界一致問題處理設(shè)初始的大規(guī)模地形被分成了 K行,L列,這里用B(I,j)表示ー個(gè)塊,在地形數(shù)據(jù)被壓縮和解壓后,數(shù)據(jù)是ー個(gè)NXN的矩陣0,用0(1,j) (0^1, j〈N)表示地形塊中第i行、j列點(diǎn)的高度值。將矩陣O擴(kuò)展成(N+l) X (N+1)的矩陣R,即R(I,j)=0(I, j),R (N, i)=0 (N-l, i), R(i, N)=0(I, N_l),R(N, N)=0(N_1, N_l) ;(0 ^ I, j〈N)。在原始地形中的ー個(gè)點(diǎn)可能同時(shí)屬于多個(gè)不同的塊,如第B(i,j)塊中的R(i,N)和第B(i,j+1)塊中的R(i,0)描述的是同一個(gè)點(diǎn)。對(duì)每個(gè)塊進(jìn)行壓縮解壓處理,會(huì)使得不同塊中同一個(gè)邊界點(diǎn)的高度出現(xiàn)很小的不一致,這種不一致在地形繪制時(shí)出現(xiàn)裂縫現(xiàn)象。本發(fā)明采取計(jì)算平均值的方法來處理邊界數(shù)據(jù),處理方法如下I)如果ー個(gè)邊界點(diǎn)a,僅僅屬于ー個(gè)塊,則a的高度處理后和在該塊中對(duì)應(yīng)點(diǎn)的高
度一致;2)若數(shù)據(jù)a同時(shí)屬于兩個(gè)塊,不論a是邊界數(shù)據(jù)或是頂點(diǎn)上的數(shù)據(jù),在進(jìn)行數(shù)據(jù)解壓縮吋,a的高度取a在這兩個(gè)塊中所對(duì)應(yīng)數(shù)據(jù)的平均值;3)若數(shù)據(jù)a為頂點(diǎn)數(shù)據(jù),且同時(shí)屬于4個(gè)塊,則進(jìn)行數(shù)據(jù)解壓時(shí)a取這4個(gè)塊中對(duì)應(yīng)數(shù)據(jù)的平均值。 通過上述處理后,塊和塊之間邊界數(shù)據(jù)不一致的問題可以得到解決,但如圖3(a)的示意圖所示,該操作會(huì)導(dǎo)致邊界數(shù)據(jù)波動(dòng)過大,出現(xiàn)類似鴻溝的地形,我們進(jìn)ー步采用數(shù)據(jù)平滑處理方法來進(jìn)行解決。(5) —維數(shù)據(jù)平滑處理平滑的定義設(shè)x(i)和x(i+l)為任意連續(xù)的兩個(gè)數(shù)據(jù)(n_l〈i〈m),若對(duì)于任意的i,abs(x(i)-x(i+l))<5則稱x(n)到x(m)為平滑的,其中δ為門限值。對(duì)于ー維數(shù)據(jù)X (O廣X(N),若X (I廣X(N-I)是平滑的,而χ(θΓχ(1)和χ(Ν-1)^χ(Ν)不平滑,則通過如下算法將X(O廣X(N)變?yōu)槠交囊痪S數(shù)據(jù)y (0) y(N)I)兩端數(shù)據(jù)不變即 y (O) =X (O),y (N) =X (N);2)將X (O) X⑴和X (N-I) x (N)之間的高度差分等分為N/2份,每ー份為tl= (x(l)-X(O)) X2/N 和 t2= (x(N-l)-X(N)) X2/N ;3)令 X(I) =x(O),X(N-1) =x(N);4)將高度差均勻的分配到各個(gè)連續(xù)的數(shù)據(jù)上,即y(i)=x(i)_tlX (n/2_i)i〈n/2 ;y(i) =x(i)-t2 X (i_n/2)i>n/2。通過以上步驟數(shù)據(jù)X (O)I(N)變?yōu)榱似交囊痪S數(shù)據(jù)y (O廣y (N)。(6) ニ維平滑處理對(duì)于ー個(gè)(N+l) X (N+1)的矩陣R,ニ維地形的平滑處理過程如下I)將處于地形四個(gè)邊界的數(shù)據(jù)運(yùn)用一維數(shù)據(jù)平滑處理算法進(jìn)行處理,使得邊界平滑;2)將地形數(shù)據(jù)的每一行運(yùn)用N次一維數(shù)據(jù)平滑處理算法進(jìn)行處理,使得每一行平滑;3)將地形數(shù)據(jù)的每一列運(yùn)用N次一維數(shù)據(jù)平滑處理算法進(jìn)行處理,使得每一列平滑。經(jīng)過處理后的地形如圖3(b)的示意圖所示,消除了鴻溝,具有良好的平滑連續(xù)性,且保持了原地形的地貌特征。本發(fā)明在具有1.6GHz CPU, GeForce 8600GS GPU, 2GB RAM 的 PC 機(jī)上進(jìn)行了實(shí)驗(yàn),實(shí)驗(yàn)數(shù)據(jù)為中國(guó)內(nèi)蒙某地60kmX 70km的真實(shí)地形數(shù)據(jù),數(shù)據(jù)采樣精度為2. 4米,高程值的誤差 Δ =0. 5mο實(shí)驗(yàn)中將地形數(shù)據(jù)分成112X96共10752塊,每ー塊包含256X256個(gè)高程值。我們主要進(jìn)行了兩個(gè)方面的實(shí)驗(yàn)ー是隨機(jī)選取ー塊地形,測(cè)試該地形對(duì)于不同峰值信噪比的壓縮倍數(shù),以及解壓后的地形與原始地形相似的程度;ニ是分別對(duì)平坦地形、中等崎嶇地形和高度崎嶇地形進(jìn)行壓縮和解壓測(cè)試,測(cè)試在失真度較小的情況下所能達(dá)到的最大壓縮倍數(shù),實(shí)驗(yàn)結(jié)果請(qǐng)見表I和表2。表I壓縮比隨峰值信噪比的影響~
權(quán)利要求
1.一種基于小波自反饋的大規(guī)模地形數(shù)據(jù)壓縮和解壓方法,其特征在于該方法包括如下步驟 步驟(I )、大規(guī)模地形由于數(shù)據(jù)量大,很難一次載入內(nèi)存,對(duì)大規(guī)模地形數(shù)據(jù)進(jìn)行分塊預(yù)處理,并針對(duì)速度優(yōu)先算法和壓縮比優(yōu)先算法實(shí)現(xiàn)了編碼過程中對(duì)最佳參數(shù)的自動(dòng)選擇; 步驟(2)、對(duì)地形中的每一個(gè)分塊,基于小波自反饋的地形數(shù)據(jù)壓縮處理方法來對(duì)其進(jìn)行壓縮編碼,采用的具有線性相位的雙正交9/7小波(CDF97)作為濾波器,具體計(jì)算過程中將二維小波變換分解為兩次一維離散小波變換來加速計(jì)算,即首先將分塊后的地形數(shù)據(jù)和h進(jìn)行卷積,抽取偶數(shù)項(xiàng),排列作為低頻數(shù)據(jù);然后將信號(hào)和g卷積,抽取奇數(shù)項(xiàng),排列為高頻數(shù)據(jù); 步驟(3)、由于地形數(shù)據(jù)的解壓縮效率會(huì)嚴(yán)重影響到三維地形的實(shí)時(shí)繪制效率,基于CUDA的小波逆變換方法來加速解壓處理在CUDA架構(gòu)下,多個(gè)并行的thread可以組成一 個(gè)block,處于同一個(gè)block中的thread可共享同一塊內(nèi)存,從而可以進(jìn)行快速的同步處理,但由于共享內(nèi)存存儲(chǔ)量有限,且只能被一個(gè)block中的threads讀取,根據(jù)CUDA的特點(diǎn)提出專門的數(shù)據(jù)組織結(jié)構(gòu)來保證算法對(duì)中間數(shù)據(jù)訪問的效率; 步驟(4)、通過在分塊邊界處計(jì)算平均高程值的辦法來對(duì)邊界數(shù)據(jù)進(jìn)行一致性平滑處理,解決了因?yàn)榛谛〔ㄗ苑答伒牡匦螖?shù)據(jù)壓縮處理為有損壓縮,且分塊壓縮時(shí)由于分塊地形在塊和塊之間缺乏聯(lián)系,從而解壓后會(huì)在分塊邊界處出現(xiàn)數(shù)據(jù)不一致、過渡不連續(xù)的問題。
2.根據(jù)權(quán)利要求I所述的基于小波自反饋的大規(guī)模地形數(shù)據(jù)壓縮和解壓方法,其特征在于步驟(I)中所述的速度優(yōu)先算法(Speed First Algorithm)將期望峰值信噪比、期望像素深度作為比較基準(zhǔn),使得還原后的高程圖像滿足峰值信噪比高于Epsnr,而每個(gè)像素所需要的位數(shù)接近Ebpp的要求;壓縮比優(yōu)先算法是在給定期望峰值信噪比Epsnr和小波變換層數(shù)Elevel的情況下,自動(dòng)選擇壓縮參數(shù)bpp,使得還原后的高程圖像和原始高程圖像的峰值信噪比高于Epsnr,并且具有最高的壓縮比。
3.根據(jù)權(quán)利要求I所述的基于小波自反饋的大規(guī)模地形數(shù)據(jù)壓縮和解壓方法,其特征在于步驟(3)中所述的基于CUDA的小波逆變換,分為基于CUDA的一維小波逆變換和基于CUDA的二維小波逆變換。
全文摘要
本發(fā)明針對(duì)大規(guī)模地形數(shù)據(jù)量大、應(yīng)用背景復(fù)雜的問題,提出一種基于小波自反饋的大規(guī)模地形數(shù)據(jù)壓縮和解壓方法,該方法根據(jù)速度優(yōu)先和壓縮比優(yōu)先算法進(jìn)行壓縮參數(shù)自適應(yīng)調(diào)整,在地形分塊處理過程中,使用平滑算法解決了邊界連續(xù)和陡變問題,對(duì)于平坦、中等崎嶇、高度崎嶇的DEM地形數(shù)據(jù),本發(fā)明分別取得4940倍、1240倍和620倍左右的壓縮比。同時(shí),本發(fā)明基于CUDA技術(shù)對(duì)地形解壓算法進(jìn)行了加速,與傳統(tǒng)基于CPU的方法相比,極大提高了運(yùn)算效率,可更好的滿足三維地形繪制等實(shí)時(shí)應(yīng)用的需要。
文檔編號(hào)G06T9/00GK102855644SQ20121033339
公開日2013年1月2日 申請(qǐng)日期2012年9月10日 優(yōu)先權(quán)日2012年9月10日
發(fā)明者李帥, 劉勇敢, 郝愛民, 楊麗鵬 申請(qǐng)人:北京航空航天大學(xué)