【问题标题】:Is Huffman or arithmetic-encoded data read bit-by-bit when decompressed?解压缩时是否逐位读取霍夫曼或算术编码数据?
【发布时间】:2017-03-19 20:13:37
【问题描述】:

霍夫曼和算术编码数据在许多不同的压缩程序中用于熵编码。他们为要压缩的符号创建了一种新的编码,可能与字节边界不对齐。这意味着当必须解压缩数据时,必须逐位读取。然而,这似乎是一个非常非常缓慢的过程。

Huffman 和算术编码的数据解压缩通常如何加快速度?我们是否像 CRC 计算一样创建某种表,使我们能够读取每个字节的数据,然后解码符号,或者它总是真的以每个位为基础读取?

【问题讨论】:

    标签: compression huffman-code


    【解决方案1】:

    高效的霍夫曼解码器使用表格。你可以在zlib的inflate中看到一个例子,它使用了两级表来减少构建表所需的时间。

    可以对算术代码进行约束,以允许它们使用表格,这通常是为了提高速度,对压缩的影响很小。

    【讨论】:

    • 哇,这意味着 jpeg 解码器也必须这样做。嗯
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多