试验1-算与数编码算法 .ppt

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
试验1-算与数编码算法

算术编码算法简介 算术编码的编码举例 编码步骤 初始化时,被分割范围的初始值是[0,1),即被分割范围的下限为low=0,上限为 high =1,该范围的长度为range_length=high-low =1。 对消息的第一字符s进行编码:s的概率范围的下限为Low=0.6,上限为High=0.7,因此,下一个被分割范围的下限和上线分别为: next_low=low+range_length×Low=0+1×0.6=0.6; next_ high=low+range _length×High =0+1×0.7=0.7; low=next_low=0.6, high=next_high=0.7; range _length = high-low =0.7-0.6=0.1; s将分割范围从[0,1)变成了[0.6,0.7)。 对消息的第而字符t进行编码:t的概率范围的下限为Low=0.7,上限为High=1.0,因此,下一个被分割范围的下限和上线分别为: next_low =0.6+0.1×0.7=0.67 ; next_ high=0.6+0.1×1.0=0.70 ; range _length =0.7-0.67=0.03 ; t将分割范围从[0.6,0.7)变成了[0.67,0.70)。 重复上述步骤,字符a,t,e,_t,r,e,e编码所得到的范围分别为[0.673, 0.676),[0.6751, 0.676),[0.67528, 0.67555),[0.67528, 0.675307),[0.6752989, 0.675307),[0 0,[0.675303112, 0.675303355)和[0.6753031606, 0.6753032335)。 从最终得到的范围[0.6753031606, 0.6753032335)中任取一个小数,将其转化为二进制数,就得到最终的编码码字。 解码步骤-1 由于0.6753031606落在[0.6,0.7)之间,因此可解得第一个符号是s。 在解出s后,由于我们知道s的概率范围的上限和下限,利用编码的逆作用,首先去掉s的下限值0.6,得到0.6753031606-0.6-=0.0753031606,然后用s的范围range=0.1去除所得到的差值0.0753031606 ,即得到0.753031606。 解码步骤-2 接着找出0.753031606所在的区间,就是t的概率范围[0.7,1.0)。去掉t的下界值0.7,得0.053031606,然后用t的range=0.3去除该差值得到0该值所属的范围就是字符a的概率范围……如此操作下去便得到消息的准确译码。 综上所述,可以得到解码公式为: (number-range_low)/range=number_next; 其中,number为字符串的编码。 * 多媒体通信技术试验(1) ——算数编码算法 算术编码的编码对象是一则消息或一个字符序列,其编码思路是将该消息或字符序列表示成0和1之间的一个间隔(Interval)上的一个浮点小数。 在进行算术编码之前,需要对字符序列中每个字符的出现概率进行统计,根据各字符出现概率的大小,将每个字符映射到[0,1]区间上的某个子区间中。然后,再利用递归算法,将整个字符序列映射到[0,1]区间上的某个Interval中。在进行编码时,只需从该Interval中任选一个小数,将其转化为二进制数。 符号序列越长,编码表示它的Interval的间隔就越小,表示这一间隔所需的二进制位数就越多,编码输出的码字就越长。 假设要对一则消息“static_tree”进行算术编码,该消息中的各字符具有如下的概率分布: 一旦字符的概率已知,就沿着“概率线”为每一个单独的字符设定一个范围,哪一个字符被设定到哪一段范围并不重要,只要编码和解码都以同样方式进行就可以,这里所用的6个字符被分配的范围如下: 0.6≤r0.7 s 0.7≤r1.0 t 0.5≤r0.6 r 0.2≤r0.5 e 0.1≤r0.2 a 0≤r0.1 _(space) 概率范围 字符 对“state_tree”进行算术编码的步骤如下: 解码过程是编码的逆过程,了解了编码过程后,解码过程也就不难理解了。假设将最终范围的下限0.6753031606作为消息“state_tree”的唯一编码。则在解码过程中,通过判断哪一个符号能拥有输出编码(小数)所属的范围来找出消息中的第一个符号。

您可能关注的文档

文档评论(0)

ctuorn0371 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档