According to the previous text set hash algorithm reference multiple text set to process the input file to facilitate copy offset command is generated. The preceding instance is identified by generating a hash of the text set and finding the corresponding entry in the hash table. The hash table can be accessed by placing the lookup request in the FIFO buffer. When the FIFO buffer is filled, the production of the hash chain is suspended until the FIFO buffer is no longer filled. When the duplicate text is found, the hash chain is similarly suspended. The hash chain is used to generate a command file, for example, based on the LZ algorithm. Replace the stroke of the continuous text with the stroke length command. The command file can then be encoded using the Hoffman code.
【技术实现步骤摘要】
【国外来华专利技术】相关申请案本申请案主张2014年8月12日提出申请的且标题为“自适应速率压缩散列处理器(AdaptiveRateCompressionHashProcessor)”的第62/036,453号美国临时案的权益。
本专利技术涉及用于压缩数据的系统及方法。
技术介绍
软件压缩很好理解且在公用域中可易于存取用于如GZIP等程序的源代码。考虑到GZIP压缩是基于DEFLATE[2]算法及霍夫曼(Huffman)编码[3],因此针对高带宽应用在硬件中进行用以实施压缩的算法是相对复杂的。压缩的意图是后期在数据流中使用所述数据流中早期出现的拷贝命令。因此,所有压缩实施方案均需要一搜索历史缓冲区及某一类型的比较长度函数以确定可用于拷贝命令的最长长度。用以在先前历史中实施搜索匹配的一种方法是实施散列函数,所述散列函数将可变长度字符串映射到可用于比较正压缩的数据流的固定值。图1表示GZip的压缩算法的功能性硬件框图。输入数据102由实施(举例来说)LZ7/LZ78算法的模块108的散列模块104散列。将散列数据进行比较以由LZCMD模块108按蓝波-立夫[4]算法或类似算法产生拷贝或文字命令。一旦收集对待压缩数据的统计,所述统计便被进行霍夫曼译码且接着被压缩以作为经压缩输出数据110而被发送出去。本文中所揭示的系统及方法提供用于散列输入数据的经改进方法。附图说明为了将易于理解本专利技术的优点,将参考所附图式中所图解说明的具体实施例再现以上简略描述的对本专利技术的较特定说明。应理解,这些图式仅描绘本专利技术的典型实施例且因此并非被视为对本专利技术的范围的限制,透过使用附图将运用额 ...
【技术保护点】
一种方法,其包括:由电子装置接收输入数据集;由所述电子装置设定当前位置P;(a)由所述电子装置从所述输入数据集检索所述当前位置处的文字集N;(b)由所述电子装置产生散列值Hash(N),其中Hash()是具有输出的散列函数,所述输出具有比N少的位;(c)评估与散列表相关联的先进先出FIFO缓冲区的状态;(d)如果与所述散列表相关联的所述FIFO缓冲区填满,那么避免将对Hash(N)的查找请求添加到所述FIFO缓冲区、递增所述当前位置P以参考所述输入数据集中的下一文字集N且重复(a)到(d),否则,如果与所述散列表相关联的所述FIFO缓冲区未填满,那么(i)查找所述散列表中的地址Hash(N)处的条目E;(ii)将所述条目E存储于散列链中的所述位置P处;(iii)将用以将位置P写入为所述散列表中的所述地址Hash(N)处的所述条目E的写入请求添加到所述FIFO缓冲区;(iv)处理来自所述FIFO缓冲区的用以将位置P写入为所述散列表中的所述地址Hash(N)处的所述条目E的所述写入请求;及(v)递增所述当前位置P以参考所述数据集中的下一文字位置;及(e)重复(a)到(e)直到到达所述数据集 ...
【技术特征摘要】
【国外来华专利技术】2014.08.12 US 62/036,4531.一种方法,其包括:由电子装置接收输入数据集;由所述电子装置设定当前位置P;(a)由所述电子装置从所述输入数据集检索所述当前位置处的文字集N;(b)由所述电子装置产生散列值Hash(N),其中Hash()是具有输出的散列函数,所述输出具有比N少的位;(c)评估与散列表相关联的先进先出FIFO缓冲区的状态;(d)如果与所述散列表相关联的所述FIFO缓冲区填满,那么避免将对Hash(N)的查找请求添加到所述FIFO缓冲区、递增所述当前位置P以参考所述输入数据集中的下一文字集N且重复(a)到(d),否则,如果与所述散列表相关联的所述FIFO缓冲区未填满,那么(i)查找所述散列表中的地址Hash(N)处的条目E;(ii)将所述条目E存储于散列链中的所述位置P处;(iii)将用以将位置P写入为所述散列表中的所述地址Hash(N)处的所述条目E的写入请求添加到所述FIFO缓冲区;(iv)处理来自所述FIFO缓冲区的用以将位置P写入为所述散列表中的所述地址Hash(N)处的所述条目E的所述写入请求;及(v)递增所述当前位置P以参考所述数据集中的下一文字位置;及(e)重复(a)到(e)直到到达所述数据集的末尾为止;及由所述电子装置使用所述散列链来压缩所述输入数据集。2.根据权利要求1所述的方法,其中(d)进一步包括:如果N包含相同于紧接的前面文字且小于所述文字的第16个连续实例的文字,那么避免将对Hash(N)的所述查找请求添加到所述FIFO缓冲区且递增所述当前位置P以参考所述数据集中的文字位置。3.根据权利要求1所述的方法,其中由所述电子装置使用所述散列链来压缩所述输入数据集包括:根据蓝波-立夫算法来产生拷贝或文字命令。4.根据权利要求2所述的方法,根据所述蓝波-立夫算法来产生拷贝或文字命令包括:针对每一字符串通过以下操作用参考相同字符串及先前出现的字符串的拷贝及偏移命令来替换命令集中的所述数据集中的字符串:识别所述每一字符串的初始文字集;识别对应于所述初始文字集的散列链;在所述散列链中所参考的对应于所述初始文字集的位置处专门地搜索一或多个相同字符串。5.根据权利要求3所述的方法,其进一步包括对所述命令集进行霍夫曼译码。6.一种用于压缩数据的设备,其包括:存储器组;电子装置,其经编程以:接收输入文件;以所述输入文件中的初始文字位置作为当前位置开始,通过以下操作针对所述输入文件中的多个文字集中的每一文字集从所述输入文件产生散列链:(a)产生所述当前位置处的文字集的散列值,(b)在所述存储器组中以所述散列值检索条目,(c)将所述条目写入到所述散列链中映射到所述当前位置的位置,(d)将所述当前位置以所述散列值写入所述存储器组中,(e)使所述当前位置前进到所述输入文件中的下一文字位置且重复(a)到(e)直到到达所述输入文件的末尾为止;在所述散列链的产生期间,响应于检测到所述文字集包含为所述输入文件中的前面文字的复制品的文字而暂停执行(a)到(d);及输出所述散列链。7.根据权利要求6所述的设备,其中所述电子装...
【专利技术属性】
技术研发人员:亚历山大·贺布利司,吴英全,
申请(专利权)人:泰德系统股份有限公司,
类型:发明
国别省市:美国;US
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。