霍夫曼和算术编码数据用于许多不同的压缩程序中以进行熵编码。它们为要压缩的符号创建新的编码,可能无法与字节边界对齐。这意味着当必须解压缩数据时,必须逐位读取数据。但是,这似乎是一个非常非常缓慢的过程。
霍夫曼和算术编码数据解压缩通常如何加速?我们是否像CRC计算一样创建某种表格,这使我们能够读取每个字节的数据,然后对符号进行解码,或者它是否总是以每比特为单位进行读取?
答案 0 :(得分:0)
高效的霍夫曼解码器使用表格。您可以在zlib的inflate中看到一个示例,该示例使用两级表来减少构造表所需的时间。
可以对算术代码施加约束以允许它们使用表格,这通常是为了速度而完成的,对压缩的影响很小。