[发明专利]一种比特位计数编码以及解码方法有效
申请号: | 201910722348.4 | 申请日: | 2019-08-06 |
公开(公告)号: | CN110518915B | 公开(公告)日: | 2022-10-14 |
发明(设计)人: | 陈成秋 | 申请(专利权)人: | 福建升腾资讯有限公司 |
主分类号: | H03M7/04 | 分类号: | H03M7/04;H03M7/40 |
代理公司: | 福州市鼓楼区京华专利事务所(普通合伙) 35212 | 代理人: | 王美花 |
地址: | 350000 福建省福州市仓山区金*** | 国省代码: | 福建;35 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 比特 计数 编码 以及 解码 方法 | ||
本发明提供一种比特位计数编码方法,遍历输入数据,顺序记录连续出现相同比特位的值的计数值;记录同一计数值出现的次数,以及去除重复的计数值后的总个数;设定复数个二进制编码单元;将计数值与二进制编码单元一一对应;将顺序记录的计数值转换为二进制编码数据;将所述总个数以及去除重复的计数值转换为二进制,并与二进制编码数据组合为新数据,完成数据压缩;本发明还提供一种比特位计数解码方法,极低的算法复杂度,并且编码简单,编解码速率快。
技术领域
本发明涉及一种比特位计数编码以及解码方法。
背景技术
关于数据压缩算法已经比比皆是,但几乎没有从数据存储的最小单位,即二进制比特位切入的。二进制只有比特0和比特1两个值,从概率上说,数据中是比较容易出现连续相同的比特位的值。在小型嵌入式系统中,其存储资源不大,若是采用现有的压缩算法(所需的存储空间较大),则会造成无法支持或加剧存储资源紧张的情况。
发明内容
本发明要解决的技术问题,在于提供一种比特位计数编码以及解码方法,极低的算法复杂度,并且编码简单,编解码速率快。
本发明之一是这样实现的:一种比特位计数编码方法,包括:
步骤1、遍历输入数据,顺序记录连续出现相同比特位的值的计数值;
步骤2、记录同一计数值出现的次数,以及去除重复的计数值后的总个数;
步骤3、设定复数个二进制编码单元;
步骤4、将计数值与二进制编码单元一一对应,将最短的二进制编码单元对应重复次数最多的计数值,依次类推进行对应;
步骤5、将顺序记录的计数值转换为二进制编码数据;
步骤6、将所述总个数以及去除重复的计数值转换为二进制,并与二进制编码数据组合为新数据,完成数据压缩。
进一步地,所述步骤5进一步具体为:设定第一个计数值代表比特位的值为1的计数;若顺序记录的计数值中的第一个计数值代表比特位的值为0的计数,则在该计数值前添加一个计数值,该计数值为0,之后将其转换为二进制编码数据;否,则不添加,直接将其转换为二进制编码数据;
或者,设定第一个计数值代表比特位的值为0的计数;若顺序记录的计数值中的第一个计数值代表比特位的值为1的计数,则在该计数值前添加一个计数值,该计数值为0,之后将其转换为二进制编码数据;否,则不添加,直接将其转换为二进制编码数据。
进一步地,所述步骤6中所述新数据,若是新数据最后一个字节的有效数据位长度不为8,则将字节中空的比特位的值设为1;否,则不操作。
进一步地,所述步骤3进一步具体为:设定复数个二进制编码单元,所述二进制编码单元的数量等于所述总个数。
进一步地,所述步骤6中的所述总个数以及去除重复的计数值转换为二进制,采用不定长编码;所述不定长编码为:在字节中设置标志位以及数值位,所述标志位用于代表后续是否存在字节。
本发明之二是这样实现的:一种比特位计数解码方法,包括:
步骤1、步骤1、将压缩数据进行解压,将其中的总个数、去除重复的计数值以及二进制编码数据解码出来;
步骤2、将去除重复的计数值与设定的二进制编码单元对应,根据所述对应关系,将二进制编码数据还原为比特位计数值,再将比特位计数值还原为原始数据,完成解压缩。
进一步地,所述步骤2中将二进制编码数据还原为原始数据进一步具体为:根据设定,第一个计数值代表比特位的值为0或者1的个数,依此类推,将二进制编码数据还原为原始数据。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于福建升腾资讯有限公司,未经福建升腾资讯有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910722348.4/2.html,转载请声明来源钻瓜专利网。