基于字典的并行压缩编码器制造技术

技术编号:15656418 阅读:78 留言:0更新日期:2017-06-17 17:27
本发明专利技术公开了利用历史搜索进行基于字典的压缩的数据压缩系统、设备和方法。所述系统、设备和方法可以使用并行处理技术进行数据压缩和编码。所述系统、设备和方法可以为硬件提供内存搜索技术。

【技术实现步骤摘要】
【国外来华专利技术】基于字典的并行压缩编码器相关申请案交叉申请本申请要求于2014年10月21日递交的专利技术名称为“数据压缩系统、设备和方法”的第62/066,572号美国临时专利申请案的在先申请优先权,以及于2015年10月20日递交的专利技术名称为“基于字典的并行压缩编码器”的第14/887,908号美国申请案的在先申请优先权,这些在先申请的内容以引入的方式并入本文。
本文描述的实施例通常涉及数据压缩系统、设备和方法,尤其涉及无损数据压缩系统、设备和方法。
技术介绍
数据压缩涉及对作为输入的符号序列进行处理,并尝试生成作为输出的较短的序列。无损数据压缩尝试在不丢失信息的情况下,通过标识并消除输入数据中的统计冗余以减少输出。附图说明图1是一些实施例中提供的数据压缩系统的示例的示意图;图2是压缩处理的说明示例性输入的示意图;图3是压缩处理的说明示例性输入的可替代示意图;图4是一些实施例提供的示例性数据压缩方法的流程图;图5是一些实施例提供的用于数据压缩的比较器网络的示意图;图6是一些实施例提供的用于数据压缩的时序图的示意图;图7是一些实施例提供的示例性数据压缩方法的可替代流程图;图8是一些实施例提供的数据压缩系统的示例的可替代示意图;图9是压缩处理的说明示例性输入的可替代示意图;图10和图11是一些实施例提供的说明编码过程的表格。为了进行说明,这些附图描述了示例性实施例。可以对这些示例性实施例进行变型、选择配置、选择组件以及作出修改。
技术实现思路
在第一方面,提供了一种用于对输入数据流进行编码以生成压缩输出流的电路。所述电路包括:输入单元,用于接收传入的输入数据流,所述输入数据流包括:一系列令牌,其中每个令牌定义所述输入数据流中的位置、长度和类型,所述类型为文字令牌或者复制令牌,每个文字令牌定义文字符号,每个复制令牌具有与所述数据流中一系列令牌中的另一令牌的位置的偏置;内存设备,用于将所述输入数据流的所述一系列令牌存储在存储位置。所述电路包括:并行处理器,用于在参考所述输入数据流的一系列令牌中各自令牌的位置之前的其他令牌时,利用对内存设备中的所述输入数据流的并行扫描对所述令牌进行编码以同时处理所述输入数据流中的各个令牌,所述并行处理器通过基于所述并行扫描的结果消除所述输入数据流中的一部分令牌来生成所述压缩输出流。所述电路包括:多个比较器,用于对来自并行扫描的存储器中存储位置的一系列令牌进行比较;内存选择器,用于为每个复制令牌选择对应于偏置的位置的存储位置。所述电路包括:输出单元,用于连接接收设备以输出所述压缩输出流。在一些实施例中,所述并行处理器采用反向计算、清除计算、正向计算的并行扫描以同时处理所述输入数据流的令牌,以便更新用于生成所述压缩输出流的所述输入数据流。在一些实施例中,在生成所述压缩输出流时,所述并行处理器利用前导计算和布局计算消除所述输入数据流的一部分令牌。在一些实施例中,所述并行处理器利用反向计算更新所述传入的输入数据流以将文字令牌替换为附加复制令牌,所述被替换的文字令牌为前导复制令牌的末端,从所述压缩输出数据流中消除所述附加复制令牌,所述被替换的文字令牌被所述前导复制令牌覆盖。在一些实施例中,所述并行处理器利用清除计算更新所述传入的输入数据流,以将长度小于4的复制令牌替换为文字令牌。在一些实施例中,所述并行处理器利用正向计算更新所述传入的输入数据流,以合并具有相同偏置的连续重叠复制令牌和相连的文字符号。在一些实施例中,所述并行处理器利用前导计算将每个令牌标记为非前导令牌或前导令牌中的任一个,所述前导令牌为以下令牌中的至少一个:所述输入数据流中的初始令牌、所述输入数据流中在复制令牌之前或之后的文字令牌、所述输入数据流中在文字令牌之前或之后的复制令牌,以及所述输入数据流中在具有不同偏置的复制令牌之前或之后的复制令牌。在一些实施例中,所述并行处理器利用布局计算生成所述令牌的大小,通过将所有非前导令牌的大小固定为0并将所有前导令牌的大小固定为1,并确定所述压缩输出数据流中令牌的位置,每个位置由令牌的末端和起点定义,所述末端为所有前述的令牌的大小的前缀总和,所述起点为所述位置和所述前缀总和之差。在一些实施例中,通过使用令牌的大小将具有非0大小的所有令牌写出至所述压缩输出数据流中所述令牌的位置,所述并行处理器使用所述布局计算的结果生成所述压缩输出数据流。在一些实施例中,所述并行处理器通过将复制令牌合并成较大的复制令牌,通过将单独的文字令牌合并成较大的文字令牌,并且,针对长度为n的复制令牌,通过消除所述输入数据流中的接下来的n-1个令牌来消除所述输入数据流的一部分令牌。在一些实施例中,所述处理器通过增加与消除的部分复制令牌相邻的复制令牌所要复制的符号的数量来消除一部分复制令牌。在一些实施例中,所述编码器通过将每个长度小于预定义门限的复制令牌替换为文字令牌来消除一部分复制令牌。在一些实施例中,所述并行处理器执行并行历史搜索以生成所述输入数据流的令牌。在一些实施例中,所述并行处理器利用并行排序来执行并行历史搜索以生成所述输入数据流的令牌。在一些实施例中,所述并行处理器执行顺序历史搜索以生成所述输入数据流的令牌。在另一方面,提供了一种具有所述电路和用于传输压缩输出流的网络接口的压缩设备。在另一方面,提供了一种具有所述电路和用于将压缩输出流存储在物理非瞬时性计算机可读介质上的存储控制器的压缩系统。在一些实施例中,所述电路实现于图形处理器、并行中央处理器或者现场可编程门阵列之上。在另一方面,提供了一种编码过程,涉及:接收输入数据流,所述输入数据流包括:一系列令牌,其中每个令牌定义所述输入数据流中的位置、长度和类型,所述类型为文字令牌或者复制令牌,每个文字令牌定义文字符号,每个复制令牌具有与所述输入数据流中的一系列令牌中的另一令牌的位置的偏置;在参考所述输入数据流的一系列令牌中各自令牌的位置之前的其他令牌时,利用对内存设备中的所述输入数据流的并行扫描对所述令牌进行编码以同时处理所述输入数据流中的各个令牌;通过基于所述并行扫描的结果消除所述输入数据流中的一部分令牌来生成压缩输出流;使作为非瞬时性计算机可读介质或共享内存或传输的编码后的压缩输出数据可用。在一些实施例中,所述过程可以涉及采用反向计算、清除计算、正向计算的并行扫描对所述令牌进行编码以同时处理所述输入数据流的令牌,以便更新用于生成所述压缩输出流的所述输入数据流。在一些实施例中,所述过程可以涉及使用前导计算和布局计算标识所述压缩输出流中的非前导令牌、前导令牌、令牌的大小、以及令牌的位置以便在生成所述压缩输出流时消除所述输入数据流的一部分令牌。具体实施方式数据压缩涉及接收符号序列作为输入,并尝试生成较短的序列作为输出。无损数据压缩尝试在不丢失信息的情况下,通过标识并消除输入数据中的统计冗余以减少输出。无损数据压缩根据解压缩生成原始输入流。有损压缩生成类似但可能不完全一样的流。基于字典的压缩系统可用于在输入中查找重复的子字符串并对随后出现的这些子字符串进行编码作为指向早期出现的指针。在输入流的每个位置,压缩系统可用于考虑各种因素,例如,另一字符序列、之前已出现过的最长序列、最近出现等等。不同的因素可以决定压缩系统、设备、或者方法运行的情况。可以使用各种度量对压缩系统进行评本文档来自技高网...
基于字典的并行压缩编码器

【技术保护点】
一种用于对输入数据流进行编码以生成压缩输出流的电路,其特征在于,所述电路包括:输入单元,用于接收传入的输入数据流,所述输入数据流包括:一系列令牌,其中每个令牌定义所述输入数据流中的位置、长度和类型,所述类型为文字令牌或者复制令牌,每个文字令牌定义文字符号,每个复制令牌具有与所述输入数据流中一系列令牌中的另一令牌的位置的偏置;内存设备,用于将所述输入数据流的所述一系列令牌存储在存储位置;并行处理器,在参考所述输入数据流的一系列令牌中各自令牌的位置之前的其他令牌时,利用对内存设备中的所述输入数据流的并行扫描对所述令牌进行编码以同时处理所述输入数据流中的各个令牌,所述并行处理器通过基于所述并行扫描的结果消除所述输入数据流中的一部分令牌来生成所述压缩输出流;多个比较器,用于对来自并行扫描的存储器中存储位置的一系列令牌进行比较;内存选择器,用于为每个复制令牌选择对应于偏置的位置的存储位置;输出单元,用于连接接收设备以输出所述压缩输出流。

【技术特征摘要】
【国外来华专利技术】2014.10.21 US 62/066,572;2015.10.20 US 14/887,9081.一种用于对输入数据流进行编码以生成压缩输出流的电路,其特征在于,所述电路包括:输入单元,用于接收传入的输入数据流,所述输入数据流包括:一系列令牌,其中每个令牌定义所述输入数据流中的位置、长度和类型,所述类型为文字令牌或者复制令牌,每个文字令牌定义文字符号,每个复制令牌具有与所述输入数据流中一系列令牌中的另一令牌的位置的偏置;内存设备,用于将所述输入数据流的所述一系列令牌存储在存储位置;并行处理器,在参考所述输入数据流的一系列令牌中各自令牌的位置之前的其他令牌时,利用对内存设备中的所述输入数据流的并行扫描对所述令牌进行编码以同时处理所述输入数据流中的各个令牌,所述并行处理器通过基于所述并行扫描的结果消除所述输入数据流中的一部分令牌来生成所述压缩输出流;多个比较器,用于对来自并行扫描的存储器中存储位置的一系列令牌进行比较;内存选择器,用于为每个复制令牌选择对应于偏置的位置的存储位置;输出单元,用于连接接收设备以输出所述压缩输出流。2.如权利要求1所述的电路,其特征在于,所述并行处理器采用反向计算、清除计算、正向计算的并行扫描以同时处理所述输入数据流的令牌,以便更新用于生成所述压缩输出流的所述输入数据流。3.如权利要求1所述的电路,其特征在于,在生成所述压缩输出流时,所述并行处理器利用前导计算和布局计算消除所述输入数据流的一部分令牌。4.如权利要求1所述的电路,其特征在于,所述并行处理器利用反向计算更新所述传入的输入数据流以将文字令牌替换为附加复制令牌,所述被替换的文字令牌为前导复制令牌的末端,从所述压缩输出数据流中消除所述附加复制令牌,所述被替换的文字令牌被所述前导复制令牌覆盖。5.如权利要求1所述的电路,其特征在于,所述并行处理器利用清除计算更新所述传入的输入数据流,以将长度小于4的复制令牌替换为文字令牌。6.如权利要求1所述的电路,其特征在于,所述并行处理器利用正向计算更新所述传入的输入数据流,以分别合并具有相同偏置的连续重叠复制令牌和相连的文字符号。7.如权利要求1所述的电路,其特征在于,所述并行处理器利用前导计算将每个令牌标记为非前导令牌或前导令牌中的任一个,所述前导令牌为以下令牌中的至少一个:所述输入数据流中的初始令牌、所述输入数据流中在复制令牌之前或之后的文字令牌、所述输入数据流中在文字令牌之前或之后的复制令牌,以及所述输入数据流中在具有不同偏置的复制令牌之前或之后的复制令牌。8.如权利要求7所述的电路,其特征在于,所述并行处理器利用布局计算生成所述令牌的大小,通过将所有非前导令牌的大小固定为0并将所有前导令牌的大小固定为1,...

【专利技术属性】
技术研发人员:巴纳比·道尔顿扎赫拉·腊克曼努埃尔·萨尔达纳布莱恩·穆迪
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:广东,44

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

1