地理信息数据压缩处理算法

文档序号:8381081阅读:962来源:国知局
地理信息数据压缩处理算法
【技术领域】
[0001]本发明属于软件通信领域,涉及数据处理和压缩技术,具体涉及一种地理信息数据压缩处理算法。
【背景技术】
[0002]在地理信息数据处理中,数据压缩已经成为数据传输和储存中必不可少的技术手段,例如一颗卫星每半小时即可发回一次全波段数据(5个波段),每天的数据量可达
1.1GB ;采样率较低的数字电话,按每一取样用8位压扩量化,通常其数码率也需要8X8 =64kbps,一张A4 (21mmX 297mm)大小幅面的图片,即使采用中等分辨率(300dpi)的扫描仪按真彩色扫描,共有(300 X 210/25.4) X (300 X 297/25.4)个象素,每个象素占3个字节,其数据量为26M字节。
[0003]由此可见,面对当今如此大量的数据,存储器的存储,通信干线信道的带宽,以及计算机的处理速度都受到了极大的压力。尽管计算机的存储能力越来越大,但存储空间仍然不能满足海量地理信息数据的处理需求,另一方面,大量的数据传输和使有限的网络带宽变得不堪重负。
[0004]1977年,以色列人Jacob Ziv和Abraham Lempel发表了论文“顺序数据压缩的一个通用算法,,(A Universal Alogrithem for Sequential Data Compress1n)以及“通过可变比率编码的独立序列的压缩”(Compress1n of Individual Sequences viaVariable-Rate Coding),在这两篇论文中提出的压缩算法被称为LZ77压缩算法。
[0005]LZ77压缩可以称为滑动窗口压缩,因为它用到的主要数据结构是一个可以滑动的窗口。窗口分成两部分:第一部分是历史窗口(history window),存放最近被编码的一段正文;另一部分是向前看窗口(lookahead window),存放从输入文件中读入,还没编码但正准备编码的一段正文。历史窗口和向前看窗口都跟随压缩进程滑动,历史窗口作为术语字典,向前看窗口中待压缩的字符串如果在该历史窗口中出现,则输出其出现位置和长度。
[0006]LZ77算法中,需要遍历滑动窗口,查找待编码文本的最长匹配串。当进行编码时,lookahead窗口中的内容要与history窗口中的每个位置进行逐一比较,LZ77算法中的时间消耗主要集中在对最长匹配串的查找上,假设窗口大小是n,平均匹配长度是m,则每次查找的时间复杂度将达到(m*n),而每次滑动窗口之后,都要进行下一个匹配串的查找。
[0007]LZ77算法的速度性能瓶颈还间接限制了压缩比的提高。如果窗口越大,字典就越大,平均匹配长度也越长,从这个角度看,压缩效果当然就越好。但另一方面,算法的这个速度性能瓶颈就会更加严重,当窗口增大到一定程度,会令匹配速度下降到无法接受的程度。所以,查找最长匹配串这个速度性能瓶颈间接限制了压缩比的提高。

【发明内容】

[0008]为克服现有压缩算法受到窗口大小限制,查找时间长,压缩比低的技术缺陷,本发明公开了一种地理信息数据压缩处理算法。
[0009]本发明所述地理信息数据压缩处理算法,包括定义历史窗口和待编码窗口,所述历史窗口中包括目标字符串T,所述待编码窗口中包括模式字符串P,所述压缩处理算法中包括对目标字符串和模式字符串逐位比较的比较过程,其特征在于,所述压缩处理算法还包括定义失效函数fail ( j ) = k,其中k是使得模式字符串P中的连续位字符P (O)、P
(I)、…P (k)分别等于P (j-k)、P (j-k+1)、…P (j)的最大整数,且k < j ;
当在一次比较过程中,模式字符串P的第j + I个位置与目标字符串T的相应位置失配时,且j > 0,则下一次比较时模式字符串P的比较起始位置是P (j +1),由该起始位置继续与目标字符串T中上一次比较中失配的字符进行比较。
[0010]优选的,当在一次比较过程中,模式字符串P的第j + I个位置与目标字符串T的相应位置失配时,且j = 0,则下一次比较时模式字符串P的比较起始位置是P (0),由该起始位置继续与目标字符串T中上一次比较中失配的字符前进一位进行比较。
[0011]优选的,所述待编码窗口的窗口长度采用变长编码定义。
[0012]优选的,在模式字符串的被比较字符串起始位置移动时,定义一个指向起始位置的指针,通过指针移动实现模式字符串的起始位置移动。
[0013]优选的,所述压缩处理算法利用C语言编程实现。
[0014]采用本发明所述的地理信息数据压缩处理算法,以最小代价实现了在字典里快速查找最长匹配串,有效地缓解了窗口长度的性能瓶颈。不同于现在的通用压缩程序的方案,本发明不需要建立任何特殊的数据结构,不必牺牲硬件空间和时间的耗费去维护这些数据结构,实现简单。
【具体实施方式】
[0015]下面对本发明的【具体实施方式】作进一步的详细说明。
[0016]本发明所述地理信息数据压缩处理算法,包括定义历史窗口和待编码窗口,所述历史窗口中包括目标字符串T,所述待编码窗口中包括模式字符串P,所述压缩处理算法中包括对目标字符串和模式字符串逐位比较的比较过程,其特征在于,所述压缩处理算法还包括定义失效函数fail ( j ) = k,其中k是使得模式字符串P中的连续位字符P (O)、P
(I)、…P (k)分别等于P (j-k)、P (j-k+1)、…P (j)的最大整数,且k < j ;
当在一次比较过程中,模式字符串P的第j + I个位置与目标字符串T的相应位置失配时,且j > 0,则下一次比较时模式字符串P的比较起始位置是P (j +1),由该起始位置继续与目标字符串T中上一次比较中失配的字符进行比较。
[0017]优选的,当在一次比较过程中,模式字符串P的第j + I个位置与目标字符串T的相应位置失配时,且j = 0,则下一次比较时模式字符串P的比较起始位置是P (0),由该起始位置继续与目标字符串T中上一次比较中失配的字符前进一位进行比较。
[0018]例如设目标字符串T =“t (O) t (I)...t (11-1)”,模式字符串卩=、(O) P (I)…P (n-ι)”,假设在某次比较中,P的第O位P (O)与T的第m位t (m)开始进行比较,在第j + Ι位失配,即P (」+ 1)与七(m+j+1)失配,这时有:
t (m_l)、t (m)、t (m+1)...t (m+j-1)、t (m+j)分别等于 p (0)、p (l)、p (2)...P (j-1)、p (j)。
[0019]若要继续寻找匹配位置,对于某一值k,必须有: P (O)、p (I)...p (k)分别等于 t (m+j-k)、t (m+j-k+1)...t (m+j)
根据前一次的比较,已经有:
t (m+j-k)、t (m+j-k+1)...t (m+j)分别等于 p (j_k)、p (j-k+1)、...p (j) 所以,
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1