[发明专利]硬件友好的数据压缩方法、压缩器有效
申请号: | 202110013408.2 | 申请日: | 2021-01-06 |
公开(公告)号: | CN112738124B | 公开(公告)日: | 2022-11-01 |
发明(设计)人: | 不公告发明人 | 申请(专利权)人: | 英韧科技(上海)有限公司 |
主分类号: | H04L69/04 | 分类号: | H04L69/04;H03M7/40 |
代理公司: | 上海一平知识产权代理有限公司 31266 | 代理人: | 吴珊;成春荣 |
地址: | 201210 上海市浦东新区中国*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 硬件 友好 数据压缩 方法 压缩器 | ||
1.一种数据压缩方法,其特征在于,包括:
接收要压缩的输入数据块;
为所述输入数据块中的不同符号生成出现次数表和累积出现表,所述累积出现表中包括表示当前符号之前的所有符号出现总数的累积出现次数;
对于所述输入数据块中的每个符号,基于所述出现次数表和所述累积出现表,动态获得用于右移当前状态“x”以编码当前符号的移位数,将被右移的位输出到编码数据并获得下一状态“x”;和
从在最终循环中生成的最后状态“x”获得最终状态“X”。
2.根据权利要求1所述的方法,其特征在于,通过选择编码状态的L个值的范围来选择用于所述不同符号的符号状态间隔,其中L是所述出现次数表中所有出现次数的总和,每个不同符号的对应符号状态间隔是各个不同符号的出现次数范围。
3.根据权利要求2所述的方法,其特征在于,还包括:将初始状态“x”初始化为数字M,其中M是用于编码状态的L个值的范围的基值,其中,所述最终状态“X”是从最后一个状态“x”减去M获得的。
4.根据权利要求3所述的方法,其特征在于,动态获得所述移位数并获得所述下一状态“x”,包括:
向右移动状态“x”的值移位数直到所述状态“x”的右移值落入当前符号的符号状态间隔内为止;
将所述移位数记录为nBits;
从所述累积出现表中获得当前符号的累积出现次数;
从所述出现次数表中获得当前符号的出现次数;和
通过将所述当前符号的累积出现次数与所述状态“x”的右移值相加,减去所述当前符号的出现次数并加M,获得所述状态“x”的下一个值。
5.根据权利要求1所述的方法,其特征在于,所述移位数具有从零到对lg(L)向上取整的范围,其中L是所述出现次数表中所有出现的总和。
6.根据权利要求1所述的方法,其特征在于,根据预定的位顺序输出每个循环中的右移位。
7.根据权利要求1所述的方法,其特征在于,以预定的级联顺序将连续循环中的右移位的集合级联在所述编码数据中。
8.根据权利要求1所述的方法,其特征在于,所述出现次数表包含减小的出现次数,并且所述累积出现表包含基于所述减小的出现次数的减小的累积出现次数。
9.根据权利要求8所述的方法,其特征在于,通过将实际的出现次数除以预定的次数并将结果四舍五入为非零数来获得所述减小的出现次数。
10.根据权利要求1所述的方法,其特征在于,还包括:保留所述最终状态“X”以及编码数据。
11.一种压缩器,包括:
输入接口,被配置为接收要压缩的输入数据块;
输入缓冲器,耦合至所述输入接口以储存所接收的待压缩输入数据块;
耦合到所述输入接口的计算器,被配置为:
为所述输入数据块中的不同符号生成一个出现次数表;
为所述输入数据块中的不同符号生成累积出现表,所述累积出现表中包括表示当前符号之前的所有符号出现总数的累积出现次数;
表缓冲器,被配置为存储所述出现次数表和所述累积出现表;
编码器引擎,被耦合到所述表缓冲器和输入缓冲器,并被配置为:
对于所述输入数据块中的每个符号,基于所述出现次数表和所述累积出现表,动态获得用于右移当前状态“x”以编码当前符号的移位数,将右移位输出到编码数据并获得下一状态“x”;和
从在最终循环中生成的最后状态“x”获得最终状态“X”。
12.根据权利要求11所述的压缩器,其特征在于,通过选择编码状态的L个值的范围来选择用于所述不同符号的符号状态间隔,其中L是所述出现次数表中所有出现次数的总和,每个不同符号的对应符号状态间隔是各个不同符号的出现次数范围。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于英韧科技(上海)有限公司,未经英韧科技(上海)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110013408.2/1.html,转载请声明来源钻瓜专利网。