- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数据压缩霍夫曼编码算术编码[精选]
* * * * * * * * * * * * * * * * * * * * * * * * 算术编码 算术编码 算术编码 Arithmetic Coding 主要内容 图像压缩编码简介 Huffman编码 算术编码简介 算术编码原理 算术编码的发展及应用 一 图像压缩编码简介 霍夫曼编码 霍夫曼编码(Huffman coding) 根据给定数据集中霍夫曼(D.A. Huffman)在1952年提出和描述的“从下到上”的熵编码方法 各元素所出现的频率来压缩数据的一种统计压缩编码方法。这些元素(如字母)出现的次数越多,其编码的位数就越少 广泛用在JPEG, MPEG, H.26X等各种信息编码标准中 熵(entropy) 按照香农(Shannon)的理论,在有限的互斥和联合穷举事件的集合中,熵为事件的信息量的平均值,也称事件的平均信息量(mean information content) (依概率平均) 用数学表示为 熵是数据压缩的极限 霍夫曼编码 (1) 计算该字符串的霍夫曼码 步骤①:按照符号出现概率大小的顺序对符号进行排序 步骤②:把概率最小的两个符号组成一个节点P1 步骤③:重复步骤②,得到节点P2,P3,P4,……, PN,形成一棵树,其中的PN称为根节点 步骤④:从根节点PN开始到每个符号的树叶,从上到下 标上0(上枝)和1(下枝),至于哪个为1哪个为0则 无关紧要,但通常把概率大的标成1,概率小的 标成0.(标记) 步骤⑤:从根节点PN开始顺着树枝到每个叶子分别写出 每个符号的代码.(反向编码) 霍夫曼编码 霍夫曼编码举例1 现有一个由5个不同符号组成的30个符号的字符串:BABACACADADABBCBABEBEDDABEEEBB 计算 (1) 该字符串的霍夫曼码 (2) 该字符串的熵 (3) 该字符串的平均码长 (4) 编码前后的压缩比 霍夫曼编码 符号 出现的次数 log2(1/pi) 分配的代码 需要的位数 B 10 1.585 ? A 8 1.907 ? C 3 3.322 ? D 4 2.907 ? E 5 2.585 ? 合计 30 符号出现的概率 霍夫曼编码 符号 B (10) A (8) E (5) D (4) C (3) P1 (7) P2 (12) P3 (18) P4 (30) 0 1 1 0 1 0 1 0 代码 B(11) A(10) E(00) D(011) C(010) 霍夫曼编码 符号 出现的次数 log2(1/pi) 分配的代码 需要的位数 B 10 1.585 11 20 A 8 1.907 10 16 C 3 3.322 010 9 D 4 2.907 011 12 E 5 2.585 00 10 合计 30 67 30个字符组成的字符串需要67位 5个符号的代码 霍夫曼编码 (2) 计算该字符串的熵 其中, 是事件 的集合, 并满足 H(S) =(8/30)×log2(30/8) + (10/30)×log2(30/10) + (3/30)×log2(30/3) + (4/30)×log2(30/4) + (5/30)×log2(30/5) = ( 44.3136-24.5592)/ 9.0308 = 2.1874 (Sh) 理论上可获得的压缩比为: 3:2.1874=1.37 霍夫曼编码 (3) 计算该字符串的平均码长 平均码长: =(2×8+2×10+3×3+3×4+2×5)/30 =2.233 位/符号 压缩比: 90/67=1.34:1 平均码长:67/30=2.233位 (4) 计算编码前后的压缩比 编码前:5个符号需3位,30个字符,需要90位 编码后:共67位 算术编码简介 算术编码(Arithmetic Coding ): 和霍夫曼编码不同,算术编码跳出。分组编码的范畴, 从全序列出发, 采用递推形式的连续编码 不是将单个信源符号映射成一个码字, 而是将整个输入符号序列映射为实数轴上[0,1)区间内的一个小区间, 其长度等于该序列的概率, 再在该小区间选择一个代表性的二进制小数, 作为实际的编码输出。 算术编码 算术编码(arithmetic coding) 给已知统计信息的符号分配代码的数据无损压缩技术 基本思想是用0和1
文档评论(0)