随笔分类 - 压缩
摘要:1 引言对前缀编码进行解码时,最重要的问题是如何快速的确定码字的长度。范式哈夫曼编码具有数字序列属性,因而能通过如下算法确定码字的长度:int len = 1;int code = bs.ReadBit();while(code >= first[len]){ code <<= 1; code |= (bs.ReadBit()); // append next input bit to code len++;}len--;另一方面,上述算法逐位进行操作,因而效率不高。快速解码算法的开发便是针对上述两个速度瓶颈而进行的。1 一个小的改进[1]首先看一个定理:对于任意的两个规范哈
阅读全文
摘要:1 概念介绍哈夫曼编码是一种最优的前缀编码技术,然而其存在的不足却制约了它的直接应用。首先,其解码时间为O(lavg), 其中lavg为码字的平均长度;其次,更为最重要的是,解码器需要知道哈夫曼编码树的结构,因而编码器必须为解码器保存或传输哈夫曼编码树。对于小量数据的压缩而言,这是很大的开销。因而,应用哈夫曼编码的关键是如何降低哈夫曼编码树的存储空间。Faller[1973]提出的自适应哈夫曼编码技术使哈夫曼编码树的存储空间降为零,即在使用某种约定的情况下,解码器能动态地重构出和编码器同步的哈夫曼编码树,而不需要任何附加数据。这样做的代价便是时间开销的增大。另一种技术是编码器和解码器使用事先约
阅读全文
浙公网安备 33010602011771号