信源编码算数编码.pptxVIP

  • 10
  • 0
  • 约1.03千字
  • 约 40页
  • 2018-03-09 发布于湖北
  • 举报
信源编码算数编码

第四章: 算数编码 陈超 2017/3/14 回顾Huffman编码 扩展Huffman编码 平均符号长度(码率):1.222比特/字母  0.611比特/符号 信源熵:0.335比特 存储复杂度随扩展阶数成指数增加! Huffman编码存在的问题 对上述例子,符号集概率严重不平衡: Huffman码压缩效率太低。 扩展Huffman编码复杂度太高。 问题:如何对这类信源进行压缩编码? 算数编码(arithmetic coding): 思想:利用信源概率分布的累积分布函数。 历史: 1948年Shannon在其开创性论文中提出利用累积分布,提出现在称为Shannon-Fano编码的方法。 Elias在MIT内部公开课提出这一思想的一种递归实现,但未公开。 Abramson于1963年在其信息论著作的一个备注中简要提到这一方法。 Jelinek于1968年在其信息论著作的附录中进一步提及这一思想。 1976年,Rissanen和Pasco各自提出算术编码,解决了有限精度问题。 累积分布函数: 算数编码方法: 概念上,可以分两步考虑: 为符号序列生成标签; 从标签中获得二进制码字。 生成标签: 生成标签例子: 字母顺序(lexicographic order)与词典顺序(dictionary order) 计算标签区间和标签: 标签区间递归计算: 解读标签 解读标签算法: 从标签中生成二进制码字 按照上述过程生成的标签可以唯一的表示符号序列,这意味着该标签的二进制表示可以唯一的表示符号序列。 二进制表示可能是无限长的,唯一性继续保证,但不够有效。 为了保证有效性,可以截断二进制表示,但唯一性如何保证? 截断二进制编码的唯一性 前缀特性 算术编码的效率 每个符号的平均长度满足: 如果各符号之间是独立同分布的(i.i.d),则 因此, 算法实现 增量编码(incremental coding) 精度问题 解决方案:将标签区间进行比例调整。 分三种情况: 例子 整数实现 用频率代替概率 编码算法伪代码: 例子 下一个元素为2。更新标签区间: 最高位都为1,移出(发送)1,左移一位得到: 由于Scale3为1,发送0,Scale3减1,变为0。最高位都为0,移出(发送)0,更新: 最高位都为0,移出(发送)0,更新: 最高位都为1,移出(发送)1,更新: 最高位都为0,移出(发送)0,更新:

文档评论(0)

1亿VIP精品文档

相关文档