压缩算法之算术编码与霍夫曼编码经典对比分析

压缩算法之算术编码与霍夫曼编码经典对比分析

    • 背景
    • 异同分析
    • 参考资料

背景


前文单独浅析过算术编码和霍夫曼编码的功能及实现,均属于熵编码,常用于无损压缩场合。本文将两者结合在一起,从专利角度、易用性、使用广度、压缩效率等角度进行对比分析,以加深对两种经典压缩算法的认识。

异同分析


霍夫曼编码本质是算术编码的一种特例,算术编码的小数会编码转进制为0101,类似于霍夫曼编码。但霍夫曼编码的问题是,压缩精度为整数位bit,而算术编码能做到小数位比特的压缩精度。

优劣对比

  • 算术编码实现复杂度更高,压缩效率要比霍夫曼稍好些,专利保护多
  • 霍夫曼编码实现复杂度低(开销更小),压缩效率略逊于算术编码,保护专利较少
  • 非对称数字系统(ANS)编码(2014以后出现的新方法),两者兼顾,压缩效率高,复杂度低

问题分析

  • 算术编码问题点:1)各标准持有专利多;2)开销大;3)压缩收益提升并不明显
  • 业界通常做法基于当前霍夫曼编码,去优化编码算法,以降低开销

应用场合

  • 霍夫曼:JPEG格式压缩编码、AAC
  • 算术编码:LC3

参考资料


  1. 压缩算法之算术编码浅析与实现,link
  2. 压缩算法之霍夫曼编码浅析与实现,link
  3. 霍夫曼编码在实际生活中的应用,link
  4. 维基百科:算术编码,link
  5. 维基百科:ANS介绍,link
  6. 熵压缩:信息熵、Huffman编码、算数编码、ANS+FSE,link
  7. 霍夫曼编码在aac中的代码实现及具体优化方向,link
  8. 算术编码讲解斯坦福大学论文,link
  9. 算术编码讲解哥伦比亚大学论文,link
  10. 算术编码讲解UMKC大学论文,[link](

你可能感兴趣的:(经验总结,霍夫曼树,数据结构)