信息论课程设计:①算术编码&译码

一、算术编码简介

算术编码是图像压缩的主要算法之一。
是一种无损数据压缩方法,也是一种熵编码的方法。和其它熵编码方法不同的地方在于,其他的熵编码方法通常是把输入的消息分割为符号,然后对每个符号进行编码,而算术编码是直接把整个输入的消息编码为一个数,一个满足(0.0 ≤ n < 1.0)的小数n。

二、编码方法

现在以“00111001111100”为例

  • 步骤一:分别获取0和1的个数设为count_a,count_b
  • 步骤二:获取0和1的概率,设为pa,pb
  • 步骤三:计算字符串概率P

P=(pow(pa, count_a) * pow(pb, count_b));

  • 步骤四:计算编码长度L

L = ceil(log(1 / P) / log(2));

  • 步骤五:计算算术概率F
    公式:F( s r ) = F( s )+P( s ) * F( r )
    例如:F(00111001111100)=F(0011100111110)+P(0011100111110)*F(0)

注:这里是通过递归得出最后的结果,结果即为算术概率

  • F(s)函数:指字符串的累计概率和,初始F(0)=0,F(1)=pa
  • P(s)函数&#
  • 2
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值