linux上用c实现算术编码(三)--算术编码理论讲解

一、算术编码定义

它是一种非分组编码算法。它是从全序列出发,采用递推形式的连续编码。它不是将单个的信源符号映射成一个码字,而是将整个输入序列的符号依据它们的概率映射为实数轴上区间[0 1)内的一个小区间,再在该小区间内选择一个代表性的二进制小数,作为实际的编码输出。


算术编码不同于霍夫曼码,它 是非分组(非块)码。它从全序列出发,考虑符号之间的关系来进行编码。
算术编码利用了 累积概率的概念。
算术码主要的编码方法是 计算输入信源符号序列所对应的区间
因为在编码过程中,每输入一个符号要进行乘法和加法运算,所以称此编码方法为算术编码。

二、算术编码的编码

         

设输入符号串s取自符号集S={a1,a2,a3,,am}p(ai)={p1,p2,p3,,pm}

  • 5
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值