[发明专利]一种数据压缩及解压缩的方法有效

专利信息
申请号: 201410065018.X 申请日: 2014-02-26
公开(公告)号: CN103795421B 公开(公告)日: 2017-05-24
发明(设计)人: 刘润滋;宋玉兴 申请(专利权)人: 活点信息技术有限公司
主分类号: H03M7/30 分类号: H03M7/30
代理公司: 深圳市千纳专利代理有限公司44218 代理人: 卜令涛,魏振柯
地址: 276800 *** 国省代码: 山东;37
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 数据压缩 解压缩 方法
【权利要求书】:

1.一种数据压缩及解压缩的方法,其特征在于,所述的压缩过程,包括如下步骤:

步骤1、数据处理:将连续变化的红外输入电平通过定时设备将其按时间量化为相应的值,并将高电平与低电平的量化值按顺序分别存入两个数组中,且将各数组中数值特别大的元素标出;

步骤2、将所有待压缩元素适当缩放,使普通大小元素的量化值至少小于64,然后求普通大小元素的平均值,并将数组中与平均值大小相近的元素归一化为平均值;

步骤3、对于数值特别大的元素,使用双字节存储,其中第一个字节的最高两位为类型标识位,第一字节的低六位与第二字节一起用来存放实际数值;

步骤4、对于数值为普通大小的元素,如果有连续重复的特点,则用双字节存储,第一个字节的最高两位为类型标识,第一个字节的低六位为存放实际数值;第二个字节存放这个数值连续重复的次数;

步骤5、对于数值为普通大小的元素,且不连续重复,则用单字节存储,字节的最高两位为类型标识,字节的低六位为存放实际数值;

所述的解压缩过程为压缩过程的逆运算,包括如下步骤:

步骤1、通过每个数据单位第一个字节的最高两位判断是单字节数据单位还是双字节数据单位;

步骤2、对于双字节数据单位,则通过判断第一个字节的高两位来区分是数值特别大的元素,还是普通的连续重复的数值;

步骤3、如果是双字节数组单位,且是数值特别大的元素,则将第一个字节的低六位与256相乘,再加上第二个字节数值后存放到专门存放解压后数据的数组中;

步骤4、如果是双字节数据单位,且为普通连续重复的数值,则将其以第一个字节的低六位为母本,顺次存放到专门存放解压后数据的数组中,存放次数为第二个字节所表示的数值;

步骤5、如果是单字节数据单位,则直接将其顺次存放到专门存放解压后数据的数组中;且以上存放次序皆为顺次存放,不可重复覆盖已有的有效数据;

所述的数值特别大的元素是指大于其他元素的4倍及以上的元素。

2.根据权利要求1所述的一种数据压缩及解压缩的方法,其特征在于,所述的压缩过程,包括如下步骤:

1)、数据处理:

步骤1-1,将连续变化的红外输入电平通过定时设备将其按时间量化为相应的值,并将高电平与低电平的量化值按顺序分别存入两个数组a,b中;

步骤1-2,分别将数组a,b中相对于数组中的其它元素而言数值特别大的元素标出,使其不参与步骤1-4、步骤1-5中求平均值运算;

步骤1-3,分别将数组a,b中的所有元素除以一个数值,以使得除了步骤1-2中提到的数值特别大的元素外,其它普通高低电平按时间的量化值小于64;

步骤1-4,将数组a中缩放后的元素求平均值记为V_a,作为普通高电平信号的参考数值;

步骤1-5,将数组b中缩放后的元素求平均值记为V_b,作为普通低电平信号的参考数值;

步骤1-6,将数组a中数值与V_a大小相近的元素归一化为V_a;

步骤1-7,将数组b中数值与V_b大小相近的元素归一化为V_b;

2)、将a,b两个数组中的元素分别压缩:

步骤2-1,在数组a中寻找连续相同大小的元素及其出现的次数,记为(ax、a_num);

步骤2-2,在数组b中寻找连续相同大小的元素及其出现的次数,记为(bx、b_num);

步骤2-3,将数组a中的第一个元素ax1作为基准,搜索其后与其数值相同的元素,直至找到第一个不同的元素NS时,跳出此搜索过程,将找到的数值相同的元素个数存放在a_num这个变量中;

步骤2-4,此时判断a_num是否等于1;

步骤2-5,如果a_num等于1,则判断ax1数值是否大于160,如果大于160,则认为是数值特别大的元素,则将这个ax1元素通过分别对256整除和求余操作拆分为H和L高低两个字节,将H与十六进制数0xC0进行位或运算,将运算结果存放到数组x中除x[0]之外的第一个空闲位置,之后再将L存放在紧随H后的数组x的一个字节单元中;如果ax1数值小于160,则直接将ax1低8位与0x00进行位与运算后的值存放到数组x中除x[0]之外的第一个空闲位置;

步骤2-6,如果a_num 大于1,则将ax1的低8位与0x80进行位或运算,运算结果存放到数组x中除x[0]之外的第一个空闲位置,将a_num的数值紧跟其后存放在数组x的下一个字节位置;

步骤2-7,继续以步骤2-3中提到的不同元素NS为基准寻找下一组与NS具有相同数值的元素,按照步骤2-1中的方法进行预处理后,运用步骤2-5、2-6中所述方法进行压缩,直至到将数组a中的元素全部处理完毕;

步骤2-8,压缩的同时统计压缩的数据单位个数,并将其存放在数组x的第0 个元素位置,数组b中元素的处理过程同上,只是将压缩后的数值存放到另一个数组xb中。

3.根据权利要求1所述的一种数据压缩及解压缩的方法,其特征在于,所述的解压缩方法,包括如下步骤:

步骤1、设置两个无符号整型数组a和b,分别用来存放解压缩后的高电平脉冲数值与低电平脉冲数值;

步骤2、用一个变量i标示已经读取到待解压缩数据数组的位置,并赋初值为1;用一个变量j标示解压后的元素将分别存放在数组a,b中的位置,并赋初值为0;设置一个无符号字符型变量Num,用于存放已经解压完成的数据单位,并赋初值为待解压缩数组x的第一个元素,即x[0];

步骤3、取出待解压缩数组x的第i个字节,并将其与0xC0作位与操作,其结果暂记为type;

步骤3-1、当type等于0x00时,将待解压数组x的第i个字节与0x3F作与运算,屏蔽掉与type相关的数据后,保存到数组a中的j位置;

j增加1,以指向数组a中下一个空闲位置;i增加1,以指向待解压数组x的下一个元素位置;Num减1,表示已完成了一个待解压的数据单位;跳转至步骤4;

步骤3-2、当type等于0xC0时,将待解压数组x的第i个元素与0x3F作位与运算,屏蔽掉与type相关的数据后,将x的第i个元素乘以256并加上第i+1个元素转化为无符号整型元素,并保存到数组a中的j位置;

j增加1,以指向数组a中下一个空闲位置;i增加2,以指向待解压数组x的下一个元素位置;Num减1,表示已完成了一个待解压的数据单位;跳转至步骤4;

步骤3-3、当type等于0x80时,将待解压数组x的第i个元素与0x3F作位与运算,屏蔽掉与type相关的数据后,将待解压数组x的第i个元素保存到数组a中第j个元素位置,并在该元素后,以该元素为母本顺次重复填充x[i+1]-1次;j所指向的位置变为j+x[x+1],以指向数组a中下一个空闲位置;i增加2,以指向下一个待解压的元素单位位置;Num减1,表示已完成了一个待解压的数据单位;跳转至步骤4;

步骤4、判断Num是否等于0,如果等于0,则表示数据x中的元素已经全部解压完成,则继续执行步骤5;否则跳转至步骤3,继续判断执行解压操作;

步骤5、开始解压缩数组xb中的数据,将i重新赋初值1,j重新赋初值0,Num重新赋初值为xb[0];

步骤6、取出待解压缩数组xb的第i个字节,并将其与0xC0作位与操作,其结果暂记为type:

步骤6-1、当type等于0x00时,将待解压数组xb的第i个字节与0x3F作与运算,屏蔽掉与type相关的数据后,保存到数组b中的j位置;

j增加1,以指向数组b中下一个空闲位置;i增加1,以指向待解压数组xb的下一个元素位置;Num减1,表示已完成了一个待解压的数据单位;跳转至步骤7;

步骤6-2、当type等于0xC0时,将待解压数组xb的第i个元素与0x3F作位与运算,屏蔽掉与type相关的数据后,将xb的第i个元素乘以256并加上第i+1个元素转化为无符号整型元素,并保存到数组b中的j位置;

j增加1,以指向数组b中下一个空闲位置;i增加2,以指向待解压数组xb的下一个元素位置;Num减1,表示已完成了一个待解压的数据单位;跳转至步骤7;

步骤6-3、当type等于0x80时,将待解压数组xb的第i个元素与0x3F作位与运算,屏蔽掉与type相关的数据后,将待解压数组xb的第i个元素保存到数组b中第j个元素位置,并在该元素后,以该元素为母本顺次重复填充x[i+1]-1次;j所指向的位置变为j+x[x+1],以指向数组b中下一个空闲位置;i增加2,以指向下一个待解压的元素单位位置;Num减1,表示已完成了一个待解压的数据单位;跳转至步骤7;

步骤7、判断Num是否等于0,如果等于0,则表示数组xb中的元素已经全部解压完成,则继续执行步骤8;否则跳转至步骤6,继续判断执行解压操作;

步骤8、将解压后获得的数组a,b分别按照压缩数据时所使用的缩放比例恢复到压缩前数值范围。

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

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

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

×

专利文献下载

说明:

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

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

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

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

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

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

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

钻瓜专利网在线咨询

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

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