[发明专利]嵌入式设备内存数据的快速无损压缩方法有效

专利信息
申请号: 201410696377.5 申请日: 2014-11-26
公开(公告)号: CN104410424A 公开(公告)日: 2015-03-11
发明(设计)人: 宋彬;李慧玲;秦浩;裴远 申请(专利权)人: 西安电子科技大学
主分类号: H03M7/30 分类号: H03M7/30
代理公司: 陕西电子工业专利中心 61205 代理人: 王品华;黎汉华
地址: 710071*** 国省代码: 陕西;61
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 嵌入式 设备 内存 数据 快速 无损 压缩 方法
【说明书】:

技术领域

发明属于数据处理技术领域,涉及嵌入式设备内存数据的数据压缩方法,本发明在数据压缩时根据内存数据的特征采用新的数据压缩格式提高了压缩的速度,可用在存储受限的嵌入式设备中。

背景技术

内存是计算机的重要部件之一,它是与CPU进行沟通的桥梁。计算机中所有程序的运行都是在内存中进行的。内存的性能对计算机的影响很大,而在体积、存储容量受限的嵌入式便携设备中,内存对设备性能和用户体验的影响尤为突出。近些年来,随着移动互联网的发展,嵌入式便携设备如手机、平板电脑等已经成为人们必备的一种通信工具。因此对内存数据进行压缩,挺高内存存储能力和利用率将大大提高设备的整体性能。随着社会发展,信息量不断增长,人们对嵌入式设备的系统性能也提出了更高的要求,如更高的速度、更低的耗能、更小的体积、能存取更多的信息等等。为了达到上面的各种性能要求,人们提出了各种改进的方法。相较于高额的硬件技术的突破,更加快速有效的方法之一就是无损数据压缩技术。如若在嵌入式设备中运用无损数据压缩技术,则可以在相同的硬件存储空间中存取更多的数据,提高内存利用率,降低成本,挺高设备性能和用户体验。鉴于上述技术的各种优点,运用这种简单而廉价的改进嵌入式系统性能的技术,研究无损数据压缩技术是很有必要的。

Lempel和Ziv于1977年提出了一种高效率的无失真压缩技术,即LZ77无损数据压缩算法,该压缩算法的主要原理是利用较短的标记代表前面出现过的重复字串,标记格式为重复长度,偏移距离,如abcdekabcdeha,则可以编码成abcdek(5,6)ha表示,这样从整体上而言,较短的信息代替较长的信息,从而达到了压缩的效果。1982年,James Storer和Thomas Szymanski在LZ77基础上将算法进行改进提出了LZSS算法,提高了压缩效率。后来Lempel-Ziv-Oberhumer又在LZSS的基础上将算法进行改进提出了LZO算法,极大地提高了压缩编码速度。LZO算法是一种基于字典的无损的数据压缩算法,具有压缩速度快、即时性的特点。该算法根据不同的重复长度和偏移距离设计了五种数据压缩格式,编码端按照匹配对,即重复长度,偏移距离的大小选择某一种压缩格式编码,解码端通过压缩格式的首字节大小区分这五种不同的格式,最大的偏移距离可以达到48K。该方法存在的不足之处是,自内存“分页机制”提出之始,内存页面的默认大小便被设置为4096字节,即4KB。虽然在原则上计算机的内存页面大小是可配置的,但绝大多数的操作系统在实现中仍然采用默认的4KB页面。为便于内存数据管理,应对内存数据采用逐页压缩的方式,而LZO初始设计目的是压缩长度不定的数据,它在压缩内存数据时,只能取得很低的压缩率,不能有效的提高内存利用率,并且压缩与解压缩速度都很慢。因此对于内存数据,用目前的LZO的压缩方式和压缩格式都不能适用。

发明内容

本发明的目的在于克服上述已有技术的不足,提出了一种嵌入式设备内存数据的快速无损压缩方法,以能够更快速的压缩与解压缩内存数据,从而有效提高内存存储能力和利用率。

实现本发明的技术方案是:根据内存页面的数据特征,设计一种适合内存页面的压缩格式,针对内存页面数据进行压缩编码,具体步骤包括如下:

(1)读取嵌入式设备中内存数据的一个内存页面,即按4KB的页面大小逐页读取内存页面;

(2)判断所读页面的数据是否为新数据,若所读数据未记录在字典中,则判断为新数据,并把新数据位置记入字典中,继续读取内存页面数据,直到未出现新数据为止;

所述字典是根据关键值直接访问的哈希表结构,该关键值是通过哈希函数计算得出;

(3)对已记录在字典中的所读数据,根据字符重复长度和偏移距离,即字符当前位置与哈希表内记录位置之间的距离,选用不同的压缩格式进行编码:

对于字符重复长度小于8,且偏移距离小于等于2KB的内存页面数据,其首字节记录字符重复长度L、偏移距离D和新字符长度S;从第二个字节开始依次记录剩余的新字符长度M、新字符C和剩余的偏移距离N;

对于不满足字符重复长度小于8,且偏移距离小于等于2KB的内存页面数据,其首字节记录压缩格式标志T、偏移距离D和新字符长度S;从第二个字节开始依次记录剩余的新字符长度M、新字符C、字符重复长度L和剩余的偏移距离N;

(4)判断编码位置是否为当前读入内存页面结尾,若是,则输出压缩后的数据和数据的长度,并记录结束标志,执行步骤(5),否则,返回步骤(2),继续读入新数据;

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西安电子科技大学,未经西安电子科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201410696377.5/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top