版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、4.2霍夫曼编码,霍夫曼编码(Huffman Coding)是一种编码方法,霍夫曼编码是可变字长编码(VLC)的一种。 1952年,David A. Huffman在麻省理工攻读博士时所提出一种编码方法,并发表于一种构建极小多余编码的方法(A Method for the Construction of Minimum-Redundancy Codes)一文。,霍夫曼编码介绍,David A. Huffman,该方法完全依据字符出现概率来构造异字头的平均长度最短的码字,有时称之为最佳编码,一般就叫作Huffman编码。 在计算机数据处理中,霍夫曼编码使用变长编码表对源符号(如文件中的一个字母)
2、进行编码,其中变长编码表是通过一种评估来源符号出现机率的方法得到的,出现机率高的字母使用较短的编码,反之出现机率低的则使用较长的编码,这便使编码之后的字符串的平均长度、期望值降低,从而达到无损压缩数据的目的。1951年,霍夫曼和他在MIT信息论的同学需要选择是完成学期报告还是期末考试。,导师RobertM.Fano给他们的学期报告的题目是,查找最有效的二进制编码。由于无法证明哪个已有编码是最有效的,霍夫曼放弃对已有编码的研究,转向新的探索,最终发现了基于有序频率二叉树编码的想法,并很快证明了这个方法是最有效的。由于这个算法,学生终于青出于蓝,超过了他那曾经和信息论创立者克劳德香农共同研究过类似
3、编码的导师。霍夫曼使用自底向上的方法构建二叉树,避免了次优算法Shannon-Fano编码的最大弊端自顶向下构建树。,霍夫曼(Huffman)编码是一种统计编码。属于无损(lossless)压缩编码。 以霍夫曼树即最优二叉树,带权路径长度最小的二叉树,经常应用于数据压缩。 根据给定数据集中各元素所出现的频率来压缩数据的一种统计压缩编码方法。这些元素(如字母)出现的次数越多,其编码的位数就越少。 广泛用在JPEG, MPEG, H.2X等各种信息编码标准中。,霍夫曼编码的步骤 霍夫曼编码的具体步骤如下: )将信源符号的概率按减小的顺序排队。 )把两个最小的概率相加,并继续这一步骤,始终将较高的概
4、率分支放在上部,直到最后变成概率。 3)将每对组合的上边一个指定为1,下边一个指定为0(或相反)。 )画出由概率处到每个信源符号的路径,顺序记下沿路径的和,所得就是该符号的霍夫曼码字。,信源熵的定义: 概率空间中每个事件所含有的自信息量的数学期望称信源熵或简称熵(entropy),记为:,单位:以2为底的对数时是比特/符号(bit/symbol); 以e为底的对数时是奈特/符号(nat/symbol); 以10为底的对数时是哈特/符号( hart/symbol),其中 表示某个事件xi的信息量。,I(xi)=logp(xi),平均码长 编码效率,例:现有一个由5个不同符号组成的30个符号的字符
5、串:BABACACADADABBCBABEBEDDABEEEBB计算(1) 该字符串的霍夫曼码(2) 该字符串的熵(3) 该字符串的平均码长,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.313624.5592)/ 9.0308 2.1874 (Sh),例:,平均码长: (28210333425)/30 2.233 位/符号,类似书中例4-6,0,0,0,0,1,1,1,1,霍夫曼编码的主要特点: 1.霍夫曼编码构造的码字不唯
6、一; 2.霍夫曼编码是变长编码,硬件实现比较困难; 3.采用霍夫曼编码,要传送编码表,占用传送时间; 4.霍夫曼编码是变长编码,出错时难以识别;霍夫曼编码方法不唯一,因为编码时的0和1是任意给的,另外在两个符号有相同概率时的编码过程不唯一,造成编码结果不同,但平均码长相同。其次对信源进行缩减时两个概率最小的符号合并后的概率与其他信源符号的概率相同时,这两者,在缩减信源中进行概率排序,其位置放置次序是可以任意的,故会得到不同的霍夫曼码此时将影响码字的长度,一般将合并的概率放在上面,这样可以获得较小的码方差。,霍夫曼树 1、有关霍夫曼树的相关概念 霍夫曼树:指所有叶子结点的二叉树中带权路径长度最小
7、的二叉树。 节点的带权路径长度:从树的根节点到该节点的路径长度与该节点权的乘积。 树的带权路径长度:树中所有叶子结点的带权路径长度之和。,2、霍夫曼算法 (1)根据给定的n个权值w1,w2,.,wn构造n棵二叉树的集合F=T1,T2,.,Tn,其中每棵二叉树Ti中只有一个带权为wi的根结点,其左右子树均空。 (2)在F中选取两棵根结点的权值最小的树作为左右子树构造一棵新的二叉树,且置新的二叉树的根结点的权值为其左、右子树上根结点的权值之和。 (3)在F中删除这两棵树,同时将新得到的二叉树加入F中。 (4)重复(2)和(3),直到F中只含一棵树为止。这棵树便是最优二叉树。,当信源符号的出现概率为
8、2的整数次幂时霍夫曼编码的效率才能达到100%。当符号出现概率不是2的整数次幂时编码效率下降。 香农第一定理:(又称为变长编码定理) 设离散无记忆信源S包含r个符号,信源发出N重符号序列 ,则此信源可发出 个不同的符号序列消息,其中第 j 个符号序列消息的出现概率为 ,其信源编码后所得的,信源编码基本定理,二进制代码组长度为 ,代码组的平均长度为,它满足,当 N 趋于无限大时, 和 H(S) 之间的关系为,书中例4-8,JEPEG采用将码字截断为“前缀码(SSSS)+尾码”的方法,对码表进行了简化:,霍夫曼编码不仅适用于压缩文本文件,经过符号合并后也可用于二进制文件。但在实用中,霍夫曼编码的输
9、入符号数常受限于可实现的码表大小。,截断霍夫曼编码,尾码为DIFF的B位,原码,若DIFF0,反码,若DIFF0,前缀码用来指明尾码的有效位数(设为B位),用标准的霍夫曼编码;尾码则直接采用B位自然二进码(对于给定的前缀码它为定长码,高位在前)。对于8位量化的图像,SSSS值的范围为011,故其码表只有12项。根据DIFF的幅度范围由表4.2查出前缀码字和尾码的位数后,则可按以下规则直接写出尾码的码字,即,在静态霍夫曼编码中,要构造编码树必须提前统计被编码对象中的符号出现概率,因此必须对输入符号流进行两遍扫描,第一遍统计符号出现概率并构造编码树,第二遍进行编码,这在很多实际应用的场合中之不能接
10、受的。其次,在存储和传送霍夫曼,按此规则,当DIFF0时,尾码的最高位是“1”;而当DIFF0时则为“0”。解码时则可借此来判断DIFF的正负。 书中例49,自适应霍夫曼编码提出的目的和意义:,编码时,必须先存储和传送霍夫曼编码树。再次,静态编码树构造方案不能对输入符号流的局部统计规律变化做出反应。这些问题使得静态霍夫曼编码在实际中并未得到广泛的应用。为了解决静态Huffman编码的缺点,人们提出了自适应Huffman编码这种方案不需要事先扫描输入符号流,而是随着编码的进行同时构造Huffman树,因此,只需要进行一次扫描即可。在接收端伴随着解码过程同时进行着编码树的构造。自适应霍夫曼编码解决
11、了静态编码树所面临的主要问题,因此在实际领域比如在高质量的图像和视频流传输中中获得了广泛的应用。,自适应霍夫曼编码的原理: 这种方案在不需要事先构Huffman树,而是随着编码的进行,逐步构造Huffman树。同时,这种编码方案对符号的统计也动态进行,随着编码的进行,同一个符号的编码可能发生改变(变得更长或更短)。,由于自适应Huffman编码算法采用了先编码,后调整编码树的方案,相应的解码算法比较简单。解码算法也使用仅有唯一的NYT节点的编码树作为初始状态,然后根据Huffman编码数据流,对符号进行还原。每次处理完一个符号,就使用这个符号调整编码树。这样,在每一次输入新的符号,之前,Huffman树都处于与进行编码时使用的的Huffman树完全相同的状态,保证了解码的正确性。,自适应霍夫曼编码是一种扩展的熵编码方法,相比于先前的静态霍夫曼编码,自适应霍夫曼编码具有仅需单遍扫描、无需传送编码树、能够对输入符号流的局部统计规律变化做出反应等一系列优点,具有更高
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年涟水县幼儿园教师招教考试备考题库附答案解析(必刷)
- 2025年汉源县招教考试备考题库附答案解析
- 2025年广东新安职业技术学院马克思主义基本原理概论期末考试模拟题附答案解析
- 2025年天津生物工程职业技术学院马克思主义基本原理概论期末考试模拟题及答案解析(必刷)
- 2025年桂东县招教考试备考题库附答案解析
- 2025年晋中师范高等专科学校马克思主义基本原理概论期末考试模拟题附答案解析
- 2026年三门峡社会管理职业学院单招职业适应性测试模拟测试卷带答案解析
- 2025年阳朔县招教考试备考题库附答案解析
- 2026年大庆职业学院单招职业倾向性考试模拟测试卷附答案解析
- 2025年广东水利电力职业技术学院单招职业技能考试模拟测试卷附答案解析
- 超声技术在麻醉临床的应用与进展
- 2025年重庆市中考招生考试数学真题试卷(真题+答案)
- 危重患者护理记录书写
- 小学语文数字化教学论文
- aeo贸易安全培训试题及答案
- 臭氧治疗在疼痛科的应用
- 独资股东协议书范本
- 2024版恶性肿瘤患者营养治疗指南解读
- GB/T 44279-2024温度-湿度-振动-低气压综合环境试验系统
- 新版外国人永久居住身份证考试试题
- DL-T5153-2014火力发电厂厂用电设计技术规程
评论
0/150
提交评论