使用分区和无关位消除的数据压缩技术制造技术

技术编号:38350847 阅读:16 留言:0更新日期:2023-08-05 17:24
接收与滑动窗口中的(多个)分区相关联的分区信息以及与滑动窗口中的重复序列相关联的未压缩值。使用所述未压缩值来生成压缩值,这包括通过以下来进行:至少部分地基于所述分区信息和所述未压缩值来生成集合指示符;至少部分地基于所述分区信息和所述未压缩值来确定所述未压缩值是否包括无关位;以及生成集合内信息,这包括通过以下来进行:在确定所述未压缩值包括无关位的情况下,从所述集合内信息中排除所述未压缩值中的无关位。输出所述压缩值。值。值。

【技术实现步骤摘要】
使用分区和无关位消除的数据压缩技术

技术介绍

[0001]许多流行的压缩技术通过在经压缩和编码的数据中指示重复序列出现在何处来编码数据。在一些这种压缩技术中,这些重复序列由偏移和长度对来标识(例如,可以在距当前位置或时间索引的<偏移>处找到该重复序列,并且该重复序列具有<长度>的长度),并且在一些情况下,这些偏移和长度本身被压缩。
[0002]假设要压缩偏移(例如X,其中X≥1)。让是X中的2的最高幂,使得2
n
≤X<2
n+1
。让是(n+1)中的2的最高幂,使得2
l
≤n+1<2
(l+1)
。在Elias Delta编码器的情况下,编码器将写入l个零,接着是(n+1)的(l+1)位二进制表示,接着是X的除前导位之外的所有位(即,最后n位)。由L表示的编码位长度由来管控。在霍夫曼编码器的情况下,编码器会将X的两个前导位编码成霍夫曼码,并且然后写入对应的预修复字,接着是X的最后(n

1)位。
[0003]霍夫曼编码技术的一个缺点是:虽然所实现的压缩优于Elias Delta编码技术的压缩,但是霍夫曼编码器需要预通滤波器(pre

pass filter)来收集频率。新的压缩编码技术提供了比Elias Delta更好的压缩,但是与霍夫曼相比更不复杂(例如,它们不需要预通频率收集),这对于一些应用而言将是合期望的。
附图说明
[0004]在以下详细描述和附图中公开了本专利技术的各种实施例。
[0005]图1是图示了使用具有多个分区的滑动窗口来生成压缩值的编码过程的实施例的流程图,其中从压缩值中排除无关位(extraneous bit)。
[0006]图2A是图示了在通信应用中使用的压缩编码器和解压缩解码器的实施例的示图。
[0007]图2B是图示了在存储应用中使用的压缩编码器和解压缩解码器的实施例的示图。
[0008]图3是图示了编码器的实施例的示图,该编码器被配置成使用具有一个或多个分区的滑动窗口来生成经压缩的偏移和长度,这继而允许从经压缩的偏移和长度中排除无关位。
[0009]图4A是图示了具有一个分区和两个集合的滑动窗口的实施例的示图。
[0010]图4B是图示了在无关位消除之前的部分编码的偏移的实施例的表。
[0011]图4C是图示了当w1=9和w=12时在无关位消除之前的部分编码的偏移的实施例的表。
[0012]图4D是图示了当w1=9和w=12时在无关位消除之后的经压缩的偏移的实施例的表。
[0013]图4E是图示了包括通过消除无关位来生成经压缩的偏移的编码过程的实施例的表。
[0014]图5是图示了解码过程的实施例的流程图,该解码过程使用包括多个分区的滑动窗口来生成解压缩值,并且其中有时从压缩值中排除无关位。
[0015]图6A是图示了当w1=9和w=12时在替换位插入之后的解压缩的偏移的实施例的表。
[0016]图6B是图示了在一个分区和两个集合的情况下利用替换位插入的解码的实施例的表。
[0017]图7是图示了使用包括一个或多个分区的滑动窗口来输入压缩数据并且输出解压缩数据的解码器的实施例的示图。
[0018]图8A是图示了在无关位消除之前使用具有两个分区和三个集合的滑动窗口的部分编码方案的实施例的表。
[0019]图8B是图示了当w1=8、w2=10和w=12时的经编码的偏移的实施例的表,其中使用两个分区和三个集合来消除无关位。
[0020]图8C是图示了经编码的偏移的实施例的表,其中使用两个分区和三个集合来消除无关位。
[0021]图9是图示了在两个分区和三个集合的情况下利用替换位插入的解码的实施例的表。
[0022]图10是图示了通过在标称偏移和长度对中包括游程长度(run length)来编码单游程序列的编码过程的实施例的流程图。
[0023]图11是图示了解码单游程序列的解码过程的实施例的流程图,其中游程长度被包括在标称偏移和长度对中。
具体实施方式
[0024]本专利技术可以以许多方式来实现,包括作为过程;装置;系统;物质组成;包含在计算机可读存储介质上的计算机程序产品;和/或处理器,诸如被配置成执行存储在耦合到处理器的存储器上和/或由耦合到处理器的存储器提供的指令的处理器。在本说明书中,这些实现方式或者本专利技术可以采用的任何其他形式可以被称为技术。通常,可以在本专利技术的范围内更改所公开的过程的步骤的次序。除非另有声明,否则被描述为被配置成执行任务的部件(诸如,处理器或存储器)可以被实现为被临时配置成在给定时间处执行该任务的通用部件、或者是被制造成执行该任务的特定部件。如本文中所使用的,术语“处理器”指代被配置成处理数据(诸如,计算机程序指令)的一个或多个设备、电路和/或处理核心。
[0025]下面提供了本专利技术的一个或多个实施例的详细描述连同图示了本专利技术原理的附图。结合这种实施例描述了本专利技术,但是本专利技术不限于任何实施例。本专利技术的范围仅由权利要求来限定,并且本专利技术包括许多替代方案、修改和等同物。在以下描述中阐述了许多具体细节,以便提供对本专利技术的全面理解。这些细节是出于示例的目的而提供的,并且可以在没有这些具体细节中的一些或全部的情况下根据权利要求来实践本专利技术。出于清楚的目的,没有详细描述与本专利技术相关的
中已知的技术材料,使得不会不必要地使本专利技术含糊难懂。
[0026]本文中描述了压缩编码器的各种示例。在一些实施例中,编码器使用具有多个分区的滑动窗口,该滑动窗口允许丢弃无关位,并且这继而在不显著增加处理资源的情况下改进了压缩率(例如,这个技术不需要预通滤波器)。
[0027]图1是图示了使用具有多个分区的滑动窗口来生成压缩值的编码过程的实施例的
流程图,其中从压缩值中排除无关位。在这个示例中,正在被压缩的值与重复序列相关联(例如,未压缩值是标识该重复序列的较早版本的偏移或长度)。由此,该示例过程可以由偏移和/或长度编码器来执行,该编码器(例如,从标识滑动窗口中的重复模式或序列的匹配标识器)接收与重复模式或序列相关联的偏移和/或长度值,并且编码(即,压缩)重复序列的偏移和/或长度。虽然图1的示例压缩了与重复序列相关联的值,但是要注意的是,任何值(不仅仅是与重复序列相关联的那些)都可以使用本文中描述的技术来压缩和/或编码。
[0028]在100处,接收与滑动窗口中的一个或多个分区相关联的分区信息。在本文中描述的示例中,首要的压缩过程在未压缩的输入数据中找到重复模式或序列,并且利用对重复序列的较早副本的引用来替换该重复序列。为了标识未压缩的输入数据中的这种重复序列,编码器使用滑动窗口来存储来自未压缩的输入数据的较旧符号(例如,位)。在本文中描述的示例中,滑动窗口的大小是2的幂(例如,2
w
,其中w是正整数)。例如,如果w=12,则滑动窗口存储来自(未压缩的)输入数据的并且从中针对重复序列进行搜索的2<本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种编码系统,包括:接口,其被配置成:接收与一个或多个分区相关联的分区信息,其将值的范围至少划分成值的较高集合和值的较低集合;接收落入值的范围内的未压缩值;并且输出包括集合指示符和集合内信息的压缩值;以及处理器,其被配置成使用未压缩值来生成包括集合指示符和集合内信息的压缩值,包括通过以下各项;至少部分地基于未压缩值落入值的较高集合还是值的较低集合中来生成集合指示符;确定所述未压缩值是否包括无关位,其中未压缩值落入值的较高集合中以使未压缩值包括无关位是必要但非充分条件;以及生成集合内信息,包括通过以下内容:在确定了未压缩值包括无关位的情况下,从集合内信息排除未压缩值中的无关位。2.根据权利要求1所述的编码系统,进一步包括存储装置,其中所述压缩值被存储在存储装置中。3.根据权利要求1所述的编码系统,其中所述未压缩值包括以下中的至少一个:与重复序列相关联的长度或与重复序列相关联的偏移。4.根据权利要求1所述的编码系统,其中:所述分区信息包括与相关联的第一分区,使得值的较高集合包括大于或等于的至少一些值,并且值的较低集合包括小于或等于的至少一些值;并且在未压缩值在的范围内的情况下,未压缩值被确定成包括所述无关位。5.根据权利要求1所述的编码系统,其中所述分区信息将值的范围至少划分成值的较低集合、值的较高集合以及值的甚至更高集合。6.根据权利要求1所述的编码系统,其中:所述分区信息包括与相关联的第一分区,以及与相关联的第二分区,使得:值的较低集合包括小于或等于的至少一些值;值的较高集合包括在的范围内的值;并且值的甚至更高集合包括大于或等于的至少一些值;在所述未压缩值在的范围内的情况下,未压缩值被确定成包括所述无关位;并且在所述未压缩值在的范围内的情况下,所述未压缩值被确定成包括所述无关位。7.一种编码方法,包括:接收与一个或多个分区相关联的分区信息,其将值的范围至少划分成值的较高集合和值的较低集合;接收落入值的范围内的未压缩值;
使用未压缩值来生成包括集合指示符和集合内信息的压缩值,包括通过以下各项:至少部分地基于未压缩值落入值的较高集合还是值的较低集合中来生成集合指示符;确定所述未压缩值是否包括无关位,其中未压缩值落入值的较高集合中以使未压缩值包括无关位是必要但非充分条件;以及生成集合内信息,包括通过以下内容:在确定了未压缩值包括无关位的情况下,从集合内信息排除未压缩值中的无关位;并且输出包括集合指示符和集合内信息的压缩值。8.根据权利要求7所述的编码方法,其中所述未压缩值包括以下中的至少一个:与重复序列相关联的长度或与重复序列相关联的偏移。9.根据权利要求7所述的编码方法,其中:所述分区信息包括与相关联的第一分区,使得值的较高集合包括大于或等于的至少一些值,并且值的较低集合包括小于或等于的至少一些值;并且在未压缩值在的范围内的情况下,未压缩值被确定成包括所述无关位。10.根据权利要求7所述的编码方法,其中:所述分区信息包括与相关联的第一分区,以及与相关联的第二分区,使得:值的较低集合包括小于或等于的至少一些值;值的较高集合包括在的范围内的值;并且值的甚至更高集合包括大于或等于的至少一些值;在所述未压缩值在的范围内的情况下,未压缩值被确定成包括所述无关位;并且在所述未压缩值在的范围内的情况下,所述未压缩值被确定成包括所述无关位。11.一种解码系统,包括:接口,其被配置成:接收与一个或多个分区相关联的分区信息,其将值的范围至少划分成值的较高集合和值的较低集合...

【专利技术属性】
技术研发人员:吴英全
申请(专利权)人:北京特纳飞电子技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1