huffman霍夫曼编码x

huffman霍夫曼编码x

ID:39966774

大小:620.45 KB

页数:24页

时间:2019-07-16

huffman霍夫曼编码x_第1页
huffman霍夫曼编码x_第2页
huffman霍夫曼编码x_第3页
huffman霍夫曼编码x_第4页
huffman霍夫曼编码x_第5页
资源描述:

《huffman霍夫曼编码x》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、4.2霍夫曼编码霍夫曼编码(HuffmanCoding)是一种编码方法,霍夫曼编码是可变字长编码(VLC)的一种。1952年,DavidA.Huffman在麻省理工攻读博士时所提出一种编码方法,并发表于《一种构建极小多余编码的方法》(AMethodfortheConstructionofMinimum-RedundancyCodes)一文。霍夫曼编码介绍DavidA.Huffman该方法完全依据字符出现概率来构造异字头的平均长度最短的码字,有时称之为最佳编码,一般就叫作Huffman编码。在计算机数据

2、处理中,霍夫曼编码使用变长编码表对源符号(如文件中的一个字母)进行编码,其中变长编码表是通过一种评估来源符号出现机率的方法得到的,出现机率高的字母使用较短的编码,反之出现机率低的则使用较长的编码,这便使编码之后的字符串的平均长度、期望值降低,从而达到无损压缩数据的目的。1951年,霍夫曼和他在MIT信息论的同学需要选择是完成学期报告还是期末考试。导师Robert M. Fano给他们的学期报告的题目是,查找最有效的二进制编码。由于无法证明哪个已有编码是最有效的,霍夫曼放弃对已有编码的研究,转向新的探索

3、,最终发现了基于有序频率二叉树编码的想法,并很快证明了这个方法是最有效的。由于这个算法,学生终于青出于蓝,超过了他那曾经和信息论创立者克劳德·香农共同研究过类似编码的导师。霍夫曼使用自底向上的方法构建二叉树,避免了次优算法Shannon-Fano编码的最大弊端──自顶向下构建树。霍夫曼(Huffman)编码是一种统计编码。属于无损(lossless)压缩编码。以霍夫曼树─即最优二叉树,带权路径长度最小的二叉树,经常应用于数据压缩。根据给定数据集中各元素所出现的频率来压缩数据的一种统计压缩编码方法。这些

4、元素(如字母)出现的次数越多,其编码的位数就越少。广泛用在JPEG,MPEG,H.2X等各种信息编码标准中。霍夫曼编码的步骤霍夫曼编码的具体步骤如下:1)将信源符号的概率按减小的顺序排队。2)把两个最小的概率相加,并继续这一步骤,始终将较高的概率分支放在上部,直到最后变成概率1。3)将每对组合的上边一个指定为1,下边一个指定为0(或相反)。4)画出由概率1处到每个信源符号的路径,顺序记下沿路径的0和1,所得就是该符号的霍夫曼码字。信源熵的定义:概率空间中每个事件所含有的自信息量的数学期望称信源熵或简称

5、熵(entropy),记为:单位:以2为底的对数时是比特/符号(bit/symbol);以e为底的对数时是奈特/符号(nat/symbol);以10为底的对数时是哈特/符号(hart/symbol)其中表示某个事件xi的信息量。I(xi)=-logp(xi)平均码长编码效率例:现有一个由5个不同符号组成的30个符号的字符串:BABACACADADABBCBABEBEDDABEEEBB计算(1)该字符串的霍夫曼码(2)该字符串的熵(3)该字符串的平均码长H(S)=(8/30)×log2(30/8)+(1

6、0/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)例:平均码长:=(2×8+2×10+3×3+3×4+2×5)/30=2.233位/符号类似书中例4-600001111霍夫曼编码的主要特点:1.霍夫曼编码构造的码字不唯一;2.霍夫曼编码是变长编码,硬件实现比较困难;3.采用霍夫曼编码,要传送编码表,占用传送时间;4.霍夫曼编码是变长编

7、码,出错时难以识别;霍夫曼编码方法不唯一,因为编码时的0和1是任意给的,另外在两个符号有相同概率时的编码过程不唯一,造成编码结果不同,但平均码长相同。其次对信源进行缩减时两个概率最小的符号合并后的概率与其他信源符号的概率相同时,这两者在缩减信源中进行概率排序,其位置放置次序是可以任意的,故会得到不同的霍夫曼码此时将影响码字的长度,一般将合并的概率放在上面,这样可以获得较小的码方差。霍夫曼树1、有关霍夫曼树的相关概念霍夫曼树:指所有叶子结点的二叉树中带权路径长度最小的二叉树。节点的带权路径长度:从树的根

8、节点到该节点的路径长度与该节点权的乘积。树的带权路径长度:树中所有叶子结点的带权路径长度之和。2、霍夫曼算法(1)根据给定的n个权值{w1,w2,...,wn}构造n棵二叉树的集合F={T1,T2,...,Tn},其中每棵二叉树Ti中只有一个带权为wi的根结点,其左右子树均空。(2)在F中选取两棵根结点的权值最小的树作为左右子树构造一棵新的二叉树,且置新的二叉树的根结点的权值为其左、右子树上根结点的权值之和。(3)在F中删除这两棵树,同时将新得到的二叉树

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。