第4章 多媒体数据压缩与编码技术 知识 多媒体 技术 知识 ppt 课件.ppt

第4章 多媒体数据压缩与编码技术 知识 多媒体 技术 知识 ppt 课件.ppt

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

理论上,用Huffman方法对源数据流进行编码可达到最佳编码效果。但由于计算机中存储、处理的最小单位是“位”,因此,在一些情况下,实际压缩比与理论压缩比的极限相去甚远。例如源数据流由X和Y两个符号构成,它们出现的概率分别为2/3和1/3。理论上,根据字符X的熵确定的最优码长为: H(X)=0.588bit H(Y)=1.58bit 若要达到最佳编码效果,相应于字符X的码长为0.58位;字符Y的码长为1.58位,计算机中不可能有非整数位出现。硬件的限制使得编码只能按“位”进行。 用Huffman方法对这两个字符进行编码,得到x、y的代码分别为0和1。 显然,对于概率较大的字符x不能给予较短的代码。这就是实际编码效果不能达到理论压缩比的原因所在。 4.4.3 算术编码 算术编码把一个信源集合表示为实数轴上的0到1之间的一个区间。信源集合中的每个元素都要用来缩短这个区间。信源集合的元素越多,所得到的区间就越小,当区间变小时,就需要更多的数位来表示这个区间,以区间作为代码,这就是算术编码的原理。 算术编码首先假设一个信源的概率模型,然后用这些概率来缩小表示信源集的区间。 算术编码的编码方法 初始化子区间为 [0,1], 预设一个大概率 Pe 和小概率 Qe , 信源中的每个符号(0或1)对应一个概率,然后对被编码信源比特流符号(0或1)依次进行判断。 Qe Pe 0 1 设置两个专用寄存器 C, A,存贮符号到来之前子区间的状态参数,令: C = 子区间的起始位置, A = 子区间的宽度, 初始化时,C=0, A=1. 随着被编码信源数据比特流符号0,1的输入,C和A按以下方法进行修正: 当低概率符号到来时, C C A A Qe 当高概率符号到来时, C C + A Qe A A Pe 新的子区间为[C, C+A], ……, 以此类推,直到一组信源符号结束为止。算术编码的结果落在最后的子区间之内,为子区间头、尾之间的取值。 [ 题 ] 己知信源 X = 试对 1011 进行算术编码。 0 1 1/4 3/4 [ 解 ] (1) 对二进制信源只有两个符号“0” 和“1”,设置小概率Qe =1/4,大概率 Pe = 1 – Qe = 3/4. (2) 设 C 为子区间的左端起始位置,A 为子区间的宽度,符号“0”的子区间为 [0,1/4), 符号“1”的子区间为[1/4, 1) (3) 初始子区间为[0, 1), C=0, A=1,子区间按以下各步依次缩小: 步序 符号 C A 1 1 0+1*1/4=1/4 1*3/4=3/4 2 0 1/4 3/4*1/4=3/16 3 1 1/4+3/16*1/4=19/64 3/16*3/4=9/64 4 1 19/64+9/64*1/4=85/256 9/64*3/4=27/256 0 1/4 1 19/64 85/256 1 0 1 1 7/16 112/256 最后的子区间左端(起始位置) C = ( 85/256)d = (0b 最后的子区间右端(终止位置) C+A = (112/256) d = (0 b 编码结果为子区间头、尾之间取值,其值为0.011, 可编码为011,原来4个符号1011现被压缩为三个符号011。 解码 解码时,是编码的逆过程。 首先将区间 [0 , 1) 按 Qe 靠近 0 侧、 Pe 靠近 1 侧分割成两个子区间,判断被解码的码字落在哪个子区间,赋以对应符号,然后调整子区间 C, A 的值。 按此法多次重复,便可依次得到串中各符号。 4.4.3 算术编码 在算术编码中有几个问题需要注意: 算术编码器对整个消息只产生一个码字,这个码字是在间隔[0,1]中的一个实数,因此译码器在接收到表示这个实数的所有位之前不能进行译码。 算术编码也是一

您可能关注的文档

文档评论(0)

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

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

1亿VIP精品文档

相关文档