为了账号安全,请及时绑定邮箱和手机立即绑定

如何进行算术解码?

如何进行算术解码?

慕斯王 2019-02-14 15:11:45
如何进行算术解码
查看完整描述

2 回答

?
牛魔王的故事

TA贡献1830条经验 获得超3个赞

奇怪啊..最近连续碰到算术编码的问题....

解码的过程和编码的过程是类似的。
一开始的区间是[0.0, 1.0],然后根据6个字符的概率,把这个区间分成6分,也就是:
a: (0.0, 0.2)
e: (0.2, 0.5)
i: (0.5, 0.6)
o: (0.6, 0.8)
u: (0.8, 0.9)
!: (0.9, 1.0)
然后你看0.32256落在哪个区间,就是哪个字符,现在它落在(0.2, 0.5)之内,所以第一个字符是e
然后再把e的(0,2, 0.5)按照概率分成6分,再看0.32256落在哪个范围内,以此类推

当然,算术编码有一些变种,比如概率是否是自适应性的?一段编码包含几个字符?你问题中的感叹号是否代表结束符?这些都是根据你的实际实现来确定的。你要知道的最重要的一点就是,解码的过程和编码几乎是一致的。

查看完整回答
反对 回复 2019-03-03
  • 2 回答
  • 0 关注
  • 1766 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信