LZ4匹配搜索算法(快速扫描)

时间:2014-12-20 04:05:12

标签: compression lossless-compression lz4

我基于无限深度的哈希链实现了基于LZ77 / LZ4(无熵编码)的压缩算法。它运行良好,速度可以接受,但其压缩比接近LZ4。从LZ4项目中阅读文档和浏览源代码我明白它使用了深度为1的哈希链,但如果我将实现的深度修改为1,则LZ4优于它。

我无法理解LZ4匹配搜索算法(快速扫描)的工作原理。有人可以解释一下吗?

感谢。

1 个答案:

答案 0 :(得分:0)

扫描过程采用哈希搜索。如下:

  1. Old Bytes -------------- anchor ------------ New bytes ---- current
  2. h = hash [int4]
  3. 参考= hash.get(H)
  4. hash.put(h,current)供以后匹配
  5. INT(参考)== INT(电流)?处理匹配:重试
  6. 处理匹配
  7. seachMatchNb变量是一种跳过方式,用于快速匹配,但可能会丢失分钟匹配。

    哈希表是JIT样式,只保存偏移量。 readIntEquals函数进行密钥匹配。

    在学习模式中忽略它。