[发明专利]一种快速低资源开销的改进LZO压缩方法有效
申请号: | 201711050579.2 | 申请日: | 2017-10-31 |
公开(公告)号: | CN107967296B | 公开(公告)日: | 2020-06-09 |
发明(设计)人: | 张健;赖晓玲;周国昌;杨玉辰;巨艇 | 申请(专利权)人: | 西安空间无线电技术研究所 |
主分类号: | G06F16/174 | 分类号: | G06F16/174 |
代理公司: | 中国航天科技专利中心 11009 | 代理人: | 武莹 |
地址: | 710100 陕*** | 国省代码: | 陕西;61 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 快速 资源 开销 改进 lzo 压缩 方法 | ||
1.一种快速低资源开销的改进LZO压缩方法,其特征在于包括如下步骤:
(1)根据回指距离构建LZO压缩方法对新字符进行压缩的第一压缩格式及对应的第一压缩算法、第二压缩格式及对应的第二压缩算法;所述的第一压缩格式适用且进行压缩的新字符的回指距离小于第二压缩格式适用且进行压缩的新字符的回指距离;
(2)记录进行LZO压缩的新字符长度,根据新字符长度、回指距离选择的压缩格式及对应的压缩算法进行LZO压缩;
所述的第一压缩格式的第一字节t(0)为8bit,最高位为1,t(0)的6、5、4bit记录重复长度的值,3≤重复长度≤8,3、2bit记录回指距离的低2位,1、0bit记录下次输入为新字符且新字符长度≤3时新字符长度的值,最后一字节u记录回指距离后8位;
所述的第一压缩格式对应的第一压缩算法包括如下步骤:
步骤1、判断待压缩数据的回指距离,如果待压缩数据的回指距离≤1k且重复长度M_len≥3,转入步骤2,如果待压缩数据的重复长度3,则不进行压缩;
步骤2、当3≤重复长度M_len≤8时,将M_len-1的值记录在t(0)的6、5、4bit中;
当8<M_len≤263时,将t(0)的6、5、4bit分别记为0,然后将M_len-8的值记录在第二字节t(1)中;
当263<M_len≤n*255+263时,n≥1,将t(0)的6、5、4bit分别记为0,将第2字节t(1)至第(n+1)字节t(n)的8bit分别记为0,将M_len-8-n*255的值记录在第(n+2)字节t(n+1)中;
步骤3、如果下次输入数据为新字符且新字符长度≤3,则将新字符长度的值记录于t(0)的第1、0bit,如果新字符长度>3时,则将t(0)的最后两bit记为0。
2.根据权利要求1所述的一种快速低资源开销的改进LZO压缩方法,其特征在于:所述的第一压缩格式适用且进行压缩的新字符的回指距离不大于1k,第二压缩格式适用且进行压缩的新字符的回指距离大于1k小于等于16k。
3.根据权利要求1或2所述的一种快速低资源开销的改进LZO压缩方法,其特征在于:所述的第二压缩格式第一字节t(0)的高两位分别置为0、1,t(0)的5、4、3、2、1、0bit记录重复长度的值,4≤重复长度≤65的值,倒数第二字节u的7、6、5、4、3、2bit分别记录回指距离的低6位,u的1、0bit记录下次输入数据为新字符且新字符长度≤3时新字符长度的值,最后一字节v记录回指距离的后8位。
4.根据权利要求3所述的一种快速低资源开销的改进LZO压缩方法,其特征在于:所述的第二压缩格式对应的第二压缩算法包括如下步骤:
步骤1、判断待压缩数据的回指距离,当1k待压缩数据的回指距离≤16k且重复长度M_len≥4时,转入步骤2,当重复长度M_len4时,不对数据进行压缩;
步骤2、当4≤M_len≤65时,将M_len-2的值记录在t(0)的5、4、3、2、1、0bit中;
当65<M_len≤320时,将t(0)的5、4、3、2、1、0bit分别置为0,将M_len-65的值记录在第二字节t(1)中;
当320<M_len≤n*255+320,t(0)的5、4、3、2、1bit位的值分别为0,将第2字节t(1)至第n+1字节t(n)的8bit分别记为0,将M_len-65-n*255的值记录于第n+2字节t(n+1)中;
步骤3、如果下次输入数据为新字符且新字符长度≤3,则将新字符长度的值记录于u的第1、0bit,如果新字符长度>3时,则将u的最后两bit记为0。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西安空间无线电技术研究所,未经西安空间无线电技术研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711050579.2/1.html,转载请声明来源钻瓜专利网。