本发明专利技术针对大规模地形数据量大、应用背景复杂的问题,提出一种基于小波自反馈的大规模地形数据压缩和解压方法,该方法根据速度优先和压缩比优先算法进行压缩参数自适应调整,在地形分块处理过程中,使用平滑算法解决了边界连续和陡变问题,对于平坦、中等崎岖、高度崎岖的DEM地形数据,本发明专利技术分别取得4940倍、1240倍和620倍左右的压缩比。同时,本发明专利技术基于CUDA技术对地形解压算法进行了加速,与传统基于CPU的方法相比,极大提高了运算效率,可更好的满足三维地形绘制等实时应用的需要。
【技术实现步骤摘要】
本专利技术涉及基于小波自反馈的大規模地形数据压缩和解压方法。
技术介绍
三维地形可视化在军事仿真、三维游戏、城市规划、数字地球等领域有着广泛的应用。受计算机内存容量的限制,随着地形规模的増大,需要的存储容量也相应增加。大規模地形由于数据量很大,且应用背景比较复杂,在当前计算机硬件条件下,所需的地形数据往往无法全部载入内存。而且,由于网络带宽的限制,很多需要快速传递地理信息的网络化服务(如防汛、交通等)很难及时完成。战场仿真和三维游戏对地形数据的读取则更为頻繁,因而针对大規模地形数据的数据查询和处理效率在这些应用中会受到极大的限制。因此,在内存有限的情况下,如何使载入内存的数据包含更多的地形信息成为虚拟仿真领域ー个研究方向,而DEM数据压缩技术则是解决该问题的重要方法之一。随着小波变换在图像领域的应用日益广泛,利用小波变换对地形数据压缩取了得若干成果,但普遍存在压缩參数选择困难、数据还原效率低下等问题,并且目前的研究大都是在小規模地形上展开,而针对大規模地形压缩技术的研究还相对欠缺。其中,罗永等在数字高程模型数据小波压缩算法中讨论了不同小波基对压缩性能的影响,如提升9-7整数小波、CDF97小波在保持地形形状和起伏特征的前提下对DEM数据最大有4096倍的压缩比。但该方法将所有的地形高程值量均化到0-255范围内,若地形的采样精度很高,该方法会丢失很多的细节。此外,该方法没有说明如何根据地形的变化幅度来动态选择压缩參数。崔宝侠等设计的基于小波的数字高程模型压缩方法,提出了最优标量量化器,可使用该量化器对小波变换后的数据进行自动选择參数量化。但因为其采用简单的游程编码,压缩比并不高,仅具有30倍左右压缩比。李毅等人在2009年提出了基于SPIHT小波的DEM自适应压缩方法,并设计了ー种度量地形复杂度的方法,可根据计算出的复杂度对地形的压缩參数进行选择。该方法具有一定的自适应性,但无法精确控制图形的信噪比、压缩比、解压缩的效率等參数。
技术实现思路
本专利技术的技术解决问题是解决了大規模地形数据压缩无法对參数进行自适应选择的问题,并借助基于CUDA的小波变换并行计算解决了压缩算法效率低下的问题,本专利技术 的压缩结果同时具有较大的压缩比和较高的还原效率。本专利技术所采用的技术方案为一种基于小波自反馈的大規模地形数据压缩和解压方法,该方法包括如下步骤步骤(I)、大規模地形由于数据量大,很难一次载入内存,对大規模地形数据进行分块预处理,并利用速度优先算法和压缩比优先算法实现了编码过程中对最佳參数的自动选择;步骤(2)、对地形中的每ー个分块,基于小波自反馈的地形数据压缩处理方法来对其进行压缩编码,采用的具有线性相位的双正交9/7小波(CDF97)作为滤波器,具体计算过程中将ニ维小波变换分解为两次一维离散小波变换来加速计算,即首先将分块后的地形数据和h进行卷积,抽取偶数项,排列作为低频数据;然后将信号和g卷积,抽取奇数项,排列为高频数据;步骤(3)、由于地形数据的解压缩效率会严重影响到三维地形的实时绘制效率,基于CUDA的小波逆变换方法来加速解压处理在CUDA架构下,多个并行的thread可以组成一个block,处于同一个block中的thread可共享同一块内存,从而可以进行快速的同步处理,但由于共享内存存储量有限,且只能被ー个block中的threads读取,根据CUDA的特点利用专门的数据组织结构来保证算法对中间数据访问的效率;步骤(4)、通过在分块边界处计算平均高程值的办法来对边界数据进行一致性平滑处理,解决了因为基于小波自反馈的地形数据压缩处理为有损压缩,且分块压缩时由于分块地形在块和块之间缺乏联系,从而解压后会在分块边界处出现数据不一致、过渡不连续的问题。 其中,步骤(I)中所述的速度优先算法(Speed First Algorithm)将期望峰值信噪比、期望像素深度作为比较基准,使得还原后的高程图像满足峰值信噪比高于Epsnr,而每个像素所需要的位数接近Ebpp的要求;压缩比优先算法是在给定期望峰值信噪比Epsnr和小波变换层数Elevel的情况下,自动选择压缩參数bpp,使得还原后的高程图像和原始高程图像的峰值信噪比高于Epsnr,并且具有最高的压缩比。此外,步骤(3)中所述的基于CUDA的小波逆变换,分为基于CUDA的ー维小波逆变换和基于CUDA的ニ维小波逆变换。本专利技术的原理在于地形数据压缩算法的基本思想是将地形高程值看作一张ニ维灰度图,根据相邻地形高程值数据具有连续性的特点,对该灰度图进行小波变换,并用提取低频数据的方法对频域数据进行预处理,以实现高程数据的压縮。压缩算法的处理流程如图I所示假设原始地形为ー个mXη的地形,保存在一个浮点型矩阵O中,矩阵O通过ー个量化器HQ将浮点类型的地形数据量化为整数,得到一个量化后的矩阵Q,矩阵Q通过小波变换系统HW将矩阵Q变换为矩阵W。变换需要选择合适的小波基,主要负责将原数据分解为2个部分,即低频平滑部分(LL)和高频细节部分(LH、HL、HH)。其中,子带数据LH、HL、HH分别对应于图像的水平方向、垂直方向及对角线方向的边缘和细节。这个分解过程可重复地用于LL部分的递归分解,重复分解的次数为level。经过变换的矩阵W通过编码系统HC后便可得到压缩后的序列A。參数bpp(bits per pixel)为姆个像素所占的比特数,该參数会直接影响压缩比。对于地形数据来说,每个象素用ー个浮点数表示,占用32bit。当bpp=n时,压缩比即为32/rubpp參数设置的越大,压缩后还原的图像与原始图像的差别就越小。通常采用图像处理中广泛使用的峰值信噪比(PSNR)作为DEM数据的失真測度,来评价还原图像和原始图像的差另O。图2给出了ー张原始地形灰度图像和bpp=0. 026以及bpp=0. 013时还原后的图像。从图2中可以看出,对于较大的bpp,图像的PSNR也较大,图像失真较小。地形数据解压算法的流程与压缩算法相反根据參数bpp,压缩数据A通过反编码系统HC’生成小波矩阵ぎ,再通过小波逆变换系统服’生成Q’,最后根据Base值量化成还原数据O’。本专利技术与现有技术相比的优点在于(I)、针对传统地形压缩算法压缩參数选择困难问题,本专利技术设计了速度优先算法和压缩比优先算法,实现了编码过程中的对最佳參数的自动选择;(2)、本专利技术设计了基于CUDA的小波逆变换方法,提高了解压效率,可更好的满足三维地形绘制等 实时应用的需要;(3)、传统的大規模地形数据压缩方法,在对分块地形数据进行压缩时,因块和块之间缺乏联系会出现数据还原后边界数据不一致、过渡不连续问题,本专利技术通过设计数据一致性处理方法,解决了这ー问题。附图说明图I压缩算法系统示意图;图2原始地形和在不同bpp下的还原效果示意图;其中,图2(a)为原始图像,图2(b)中 bpp=0. 026,PSNR = 34. IdB,图 2 中(c)bpp=0. 013 ;图3边界数据陡变和消除陡变示意图;图3(a)为边界数据陡变问题示意图;图3(b)为消除边界数据陡变后示意图;图4不同PSNR下还原地形和原始地形比较示意图;图4(a)为原始地形示意图,图 4 中(b)PSNR=35,bpp=0. I 时示意图,图 4(c)中 PSNR本文档来自技高网...
【技术保护点】
一种基于小波自反馈的大规模地形数据压缩和解压方法,其特征在于:该方法包括如下步骤:步骤(1)、大规模地形由于数据量大,很难一次载入内存,对大规模地形数据进行分块预处理,并针对速度优先算法和压缩比优先算法实现了编码过程中对最佳参数的自动选择;步骤(2)、对地形中的每一个分块,基于小波自反馈的地形数据压缩处理方法来对其进行压缩编码,采用的具有线性相位的双正交9/7小波(CDF97)作为滤波器,具体计算过程中将二维小波变换分解为两次一维离散小波变换来加速计算,即首先将分块后的地形数据和h进行卷积,抽取偶数项,排列作为低频数据;然后将信号和g卷积,抽取奇数项,排列为高频数据;步骤(3)、由于地形数据的解压缩效率会严重影响到三维地形的实时绘制效率,基于CUDA的小波逆变换方法来加速解压处理:在CUDA架构下,多个并行的thread可以组成一个block,处于同一个block中的thread可共享同一块内存,从而可以进行快速的同步处理,但由于共享内存存储量有限,且只能被一个block中的threads读取,根据CUDA的特点提出专门的数据组织结构来保证算法对中间数据访问的效率;步骤(4)、通过在分块边界处计算平均高程值的办法来对边界数据进行一致性平滑处理,解决了因为基于小波自反馈的地形数据压缩处理为有损压缩,且分块压缩时由于分块地形在块和块之间缺乏联系,从而解压后会在分块边界处出现数据不一致、过渡不连续的问题。...
【技术特征摘要】
【专利技术属性】
技术研发人员:李帅,刘勇敢,郝爱民,杨丽鹏,
申请(专利权)人:北京航空航天大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。