算术编码与LZ编码 第九讲 算术编码 前面所讨论的无失真编码,都是建立在信源符号与码字一一对应的基础上,这种编码方法通常称为块码或分组码,此时信源符号一般是多元的。 如果要对二元序列进行编码,则需采用合并信源符号方法,把二元序列转换成多值符号,转换时二元符号之间的相关性不予考虑,转换后这些多值符号之间的相关性也不予考虑。这就使信源编码的匹配原则不能充分满足,编码效率一般不高。 为了克服这种局限性,需要跳出分组码范畴,从整个符号序列出发,采用递推形式进行编码。 从整个符号序列出发,将各信源序列的概率映射到[0,1) 区间上,然后选取区间内的一点(也就是一个二进制的小数)来表示信源序列。 算术编码基本思想 设信源字母表为{a1, a2},概率p(a1)=0.6, p(a2)=0.4, 将[0,1]按概率比例分为区间[0,0.6],[0.6,l]。 p(a1) p(a2) 0 0.6 1 0 0.36 0.6 0.84 1 p(a1a1) p(a1a2) p(a2a1) p(a2a2) 随着序列的长度不断增加,C所在区间的长度就越短,也就可以更加精确地确定C的位置 设信源符号集A={a1,a2,…,an}, 其相应概率分布为pi, pi >0 (i=1,2, …,n), 定义信源符号的累积概率(分布函数)为 P1= 0; P2= p1 ; P3= p1+p2 ; … 累积概率 r=1,2, …,n pr = Pr+1 - Pr P1 p1 P2 P3 P4 1 p2 p3 … … 0 当A={0,1}二元信源时,P(0)= 0 ; P(1) = p0 P(0) P(1) 0 1 p0 p1 二元序列的累积概率 引例 设有二元序列S=011,求S的累积概率 P(S)=p(000)+ p(001)+ p(010) 若S后面接0 P(S0)=p(0000)+ p(0001)+ p(0010)+p(0011)+ p(0100)+ p(0101) =p(000)+ p(001)+ p(010) =P(S) 若S后面接1 P(S1)=p(0000)+ p(0001)+ p(0010)+p(0011)+ p(0100)+ p(0101)+ p(0110) =P(S)+ p(0110) =P(S)+p(S)P1 二元序列的累积概率 P(Sr)=P(S)+p(S)Pr 0110 0111 P(0) 0 P(1) 1 p0 设符号序列S = 011 p1 P(0) P(1) p(00)=p(0)P1 P(01) p(01) P(01) P(1) P(011) p(010)=p(01)P1 p(011) 二元序列的累积概率 P(Sr)=P(S)+p(S)Pr 累积概率递推公式 一般多元信源序列的累积概率递推公式 序列的概率(所对应区间的宽度)递推公式 实际中,求序列累积概率只需两个存储器,起始时可令: A(Φ) =1, C(Φ) = 0 每输入一个符号,存储器C和A 就按照上式更新一次,直至符号输入完毕,这时存储器C的内容即为该序列的累积概率。 累积概率递推公式 累积概率递推计算 注意:计算过程中,每输入一个符号只要进行乘法和加法运算。 通过信源符号序列累积概率计算,把区间分割成许多小区间,不同的信源符号序列对应不同的区间为[P(S), P(S) + p(S)) ,可取小区间内的一点来代表这序列。 将符号序列的累积概率写成二进位小数,取小数点后L位,若后面有尾数,就进位到第L位,即 算术编码 若P(S) = 0L=3 则C = 0.110 算术编码的唯一可译性 由码C的形成方法, 又 可知 可知 由此可见C必在 ,因而唯一可译。 对于长序列,p(S)必然很小,L与概率倒数对数几乎相等,也就是说取整造成的差别很小,因而平均码长将接近于信源熵H(S) 设二元无记忆信源S={0,1},p(0)=1/4,p(1)=3/4。 S对其做算术编码。 P(S) = p + p + p + …    + p(111

算术编码二进制例题a1a2a3a4_算术编码与lz编码.ppt相关推荐

  1. 算术编码二进制例题a1a2a3a4_Chap5_思考题与习题.pdf

    Chap5 思考题与习题 参考答案 5 1 将下表所列的信源进行六种不同的二进制编码 试问 消息 概率 C1C2C3C4C5C6 a1 a2 a3 a4 a5 a6 1 2 1 4 1 16 1 16 ...

  2. MIME之quoted-printable编码与base64编码(例题+图解)

    (1)quoted-printable编码 quoted-printable编码方法适合所传输数据中只有少量的非ASCII编码,用一个等号"="后面加两个数字字符来表示一个非ASC ...

  3. 二进制、字节、int范围、编码

    二进制.字节.int范围.编码 二进制 二进制,是计算技术中广泛采用的一种数制,由德国数理哲学大师莱布尼茨于1679年发明.二进制数据是用0和1两个数码来表示的数.它的基数为2,进位规则是" ...

  4. a律13折线pcm编码例题_a律13折线pcm编码例题

    信息举报 时间:2020-12-20 本页为您甄选多篇描写a律13折线pcm编码例题,a律13折线pcm编码例题精选,a律13折线pcm编码例题大全,有议论,叙事 ,想象等形式.文章字数有400字.6 ...

  5. pythonutf-8是不是二进制_python学习笔记8-9(字符编码与二进制)

    字符编码 python解释器在加载.py文件中的代码时,会对内容进行编码(默认ASCII) 二进制 举例:古时候烽火台,点火和不点火只有两种状态,传递信息太少. 约定点火数1,代表1-100 点火数2 ...

  6. 指数哥伦布编码 java_H.264学习笔记6——指数哥伦布编码

    一.哥伦布码 哥伦布码就是将编码对象分能成等间隔的若干区间(Group),每个Group有一个索引值:Group Id. >对于Group Id采用二元码编码: >对于Group内的编码对 ...

  7. python安全编码问题_浅谈Python中的编码问题

    对于Python的初学者来说,编码问题相当令人头疼.本文就根据我在学习过程中遇到的问题简单谈一下Python中的编码.首先简单介绍一下几种常见的编码. 一.几种常见的字符编码 ASCII码 ASCII ...

  8. 01_什么是one-hot编码、one-hot编码过程详解、为什么需要one-hot编码?one-hot编码的优缺点、使用sklearn中的API举例

    以下资料来自:网络+最后的整合 https://www.cnblogs.com/shuaishuaidefeizhu/p/11269257.html https://www.cntofu.com/bo ...

  9. python字符编码在哪里_快速入手Python字符编码

    前言 对于很多接触python的人而言,字符的处理和语言整体的温顺可靠相比显得格外桀骜不驯难以驾驭. 文章针对Python 2.7,主要因为3对的编码已经有了很大的改善并且实际原理一样,更改一下操作命 ...

最新文章

  1. 数据结构(03)— 数据处理基本操作(数据的查找、新增、删除、修改)
  2. 目标文件中的几个重要的段
  3. 新手第一课-什么是深度学习
  4. scipy.optimize.fsolve:用Python求解方程的解
  5. Zookeeper实践与应用-- Nginx负载均衡差异
  6. gridview 默认编辑按钮改成图片
  7. php--字符串常用函数
  8. 【Antlr】WHITESPACE is not a recognized channel name
  9. 服务器运维硬件,服务器硬件运维巡检报告模板
  10. 61. Rotate List
  11. 遍历排列的实现——VB2005
  12. 使用ActivityGroup管理Activity
  13. EasyCVR对接大华SDK,视频回放无法播放的排查过程及解决方法
  14. 网络随堂笔记2(计算机网络下三层硬件及拓扑结构)
  15. 计算机中1 tb的硬盘容量大小等于,1TB等于多少G1TB是多大
  16. 天平游码读数例题_天平使用练习题
  17. Redis实现库存扣减操作
  18. 评估Panzyga® (NewGam)三种不同剂量对慢性炎性脱髓鞘性多发性神经病变(CIDP)有效性和安全性的ProCID研究终局结果在2020年AAN呈报
  19. pandas 向已有的excel指定的行和列添加数据
  20. NCH PicoPDF Plus for Mac(PDF编辑器)

热门文章

  1. s7-1200调松下伺服电机
  2. 智能调温需要哪些计算机知识,智能温控仪调节及使用【图解】
  3. 为什么绝大多数手游都不开放自由交易系统?
  4. Java 日期大小比较
  5. 2021年熔化焊接与热切割考试题库及熔化焊接与热切割考试内容
  6. (15.1.15) 工具型产品如何建立自己的商业化模式?
  7. 【众智】【MindSpore】ST报错
  8. Shellcode调用
  9. 为什么中国的程序员总被称为码农?
  10. linux怎么把目录添加多个组,利用multipath实现多路径聚合