[发明专利]一种数据压缩方法及装置有效
| 申请号: | 201310287343.6 | 申请日: | 2013-07-08 |
| 公开(公告)号: | CN103346800A | 公开(公告)日: | 2013-10-09 |
| 发明(设计)人: | 赵玉秋;朱亚军;李楠;吴风 | 申请(专利权)人: | 沈阳东软医疗系统有限公司 |
| 主分类号: | H03M7/30 | 分类号: | H03M7/30 |
| 代理公司: | 北京集佳知识产权代理有限公司 11227 | 代理人: | 王宝筠 |
| 地址: | 110179 辽*** | 国省代码: | 辽宁;21 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 数据压缩 方法 装置 | ||
技术领域
本发明涉及一种数据压缩方法及装置。
背景技术
数据压缩是指在不丢失信息的前提下,缩减数据量以减少存储空间,提高其传输、存储和处理效率的一种技术方法。RLE(Run-Length Encoding,行程长度编码)是一种简单的非破坏性资料压缩法,其好处是编码和解码过程简单,速度非常快,编码原理简单介绍如下:将原始的一元数据转换为二元表示,即从<element>转换到<element,number>,其中,element表示数据元,number表示对应的数据元重复的次数。如数据AAAAAABBBBBCCCCDE经RLE编码后为FA6FB5FC4DE,其中,A6表示AAAAAA,F是特征字,用来区分哪些数据是需要RLE解码的,如FC4在解码时,即会将F后面的C4解码为数据元CCCC;D则直接解码为数据元D。上述示例中,编码前数据占用17个字节,编码后占用11个字节,实现了数据压缩的目的。
由RLE压缩算法的原理可知,其主要是针对重复出现的数据元进行的压缩编码,也就是说重复的数据元越多,RLE编码的压缩效果就越好,也即压缩率(指文件压缩后的大小与压缩前的大小之比)越小,但是在实际应用中却可能因以下情况导致RLE压缩之后的数据量没有减少,反而增加:
当F作为特征字时,为避免混淆,其就不能再作为数据元单独出现,否则在解码过程就无法准确区分出F是数据元还是特征字,在这种情况下,就要用替代字G0来表示数据元F,相应地用G1来表示数据元G。如此,对于数据AAAAAABBBBBCCCCDEF来说,经RLE编码后为FA6FB5FC4DEG0,数据在编码前占用18个字节,编码后占用13个字节,虽然压缩率有所提高,但还是实现了数据压缩的目的。但是,对于数据ABCDEFG来说,经RLE编码后为ABCDEG0G1,数据编码前占用7个字节,编码后占用9个字节,压缩后数据量反而增加了,并未实现数据压缩的目的。
发明内容
本发明实施例提供一种数据压缩方法及装置,进一步降低RLE压缩数据的压缩率,提高数据压缩效果。
为此,本发明提供如下技术方案:
本发明实施例的数据压缩方法,包括:
获取经行程长度编码RLE压缩后的数据;
判断所述数据中是否包含特征字,如果包含特征字,则记录所述特征字的位置信息,并对所述位置信息进行编码;
编码后的位置信息作为首字节与数据流组装为所述数据的压缩结果,所述数据流由所述数据剔除特征字后获得。
优选的,统计不同个数的特征字对应的数据元在数据流中的位置分布情况,并为每种位置分布情况设置一个索引值,建立索引数据库;则
所述对所述位置信息进行编码,包括:
将所述数据包含的每个特征字的位置信息转换为该特征字对应的数据元在所述数据流中的位置信息,确定所述数据元在所述数据流中的当前位置分布情况;
查找所述索引数据库,获得所述当前位置分布情况对应的索引值,将所述索引值作为所述编码后的位置信息。
优选的,建立数据元的位置信息与预设个数的比特位之间的对应关系;则
所述对所述位置信息进行编码,包括:
将所述数据包含的每个特征字的位置信息转换为该特征字对应的数据元在所述数据流中的位置信息,并将该位置信息对应的比特位标识为具有特征字的状态,将标识后的预设个数的比特位作为所述编码后的位置信息。
优选的,所述对所述位置信息进行编码,包括:
将所述数据包含的每个特征字的位置信息转换为该特征字对应的数据元在所述数据流中的位置信息,确定所述数据元在所述数据流中的当前位置分布情况;
分别利用预设个数的比特位表示所述数据包含的特征字个数以及所述当前位置分布情况,作为所述编码后的位置信息。
优选的,所述方法还包括:
在所述获取经行程长度编码RLE压缩后的数据之后,
判断所述数据中是否包含替代字,如果包含替代字,则将所述替代字转换为特征字。
优选的,当所述数据压缩方法应用于CAN总线数据发送时,利用数据长度码DLC表示所述数据是否经所述数据压缩方法处理:
如果DLC≤8,则表示CAN总线发送的数据未经所述数据压缩方法处理;
如果DLC>8,则表示CAN总线发送的数据经过所述数据压缩方法处理。
对应地,本发明实施例还提供一种数据压缩装置,包括:
获取单元,用于获取经行程长度编码RLE压缩后的数据;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于沈阳东软医疗系统有限公司,未经沈阳东软医疗系统有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310287343.6/2.html,转载请声明来源钻瓜专利网。





