哈夫曼编码的方法.docx

哈夫曼编码的方法.docx

ID:62505146

大小:126.42 KB

页数:6页

时间:2021-05-10

哈夫曼编码的方法.docx_第1页
哈夫曼编码的方法.docx_第2页
哈夫曼编码的方法.docx_第3页
哈夫曼编码的方法.docx_第4页
哈夫曼编码的方法.docx_第5页
资源描述:

《哈夫曼编码的方法.docx》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、v1.0可编辑可修改6v1.0可编辑可修改能正确译码。•在信源的存储与传输过程中必须首先存储或传输这一哈夫曼编码表在实际计算压缩效果时,必须考虑哈夫曼编码表占有的比特数。在某些应用场合,信源概率服从于某一分布或存在一定规律(这主要由大量的统计得到),这样就可以在发送端和接收端固定哈夫曼编码表,在传输数据时就省去了传输哈夫曼编码表,这种方法称为哈夫曼编码表缺省使用。>使用缺省的哈夫曼编码表有两点好处:•降低了编码的时间,改变了编码和解码的时间不对称性;•便于用硬件实现,编码和解码电路相对简单。这种方法适用于实时性要求

2、较强的场合。虽然这种方法对某一个特定应用来说不一定最好,但从总体上说,只要哈夫曼编表基于大量概率统计,其编码效果是足够好的。3.哈夫曼编码举例现在有8个待编码的符号M0,….,M0它们的概率如下表所示,使用霍夫曼编码算法求出8个符号所分配的代码。(写出编码树)待编码的符号概率MMMM3M6v1.0可编辑可修改M5MM7解:为了进行哈夫曼编码,先把这组数据由大到小排列,再按上方法处理(1)将信源符号按概率递减顺序排列。(2)首先将概率最小的两个符号的概率相加,合成一个新的数值。(3)把合成的数值看成是一个新的组合符号

3、概率,重复上述操作,直到剩下最后两个符号。5.4.2Shannon-Famo编码Shannon-Famo(S-F)编码方法与Huffman的编码方法略有区别,但有时也能编出最佳码。1.S-F码主要准则•符合即时码条件;•在码字中,1和0是独立的,而且是(或差不多是)等概率的。这样的准则一方面能保证无需用间隔区分码字,同时又保证每一位码字几乎有1位的信息量。6v1.0可编辑可修改1.S—F码的编码过程・信源符号按概率递减顺序排列;■把符号集分成两个子集,每个子集的概率和相等或近似相等■对第一个子集赋编码"0",对第二

4、个子集赋编码"1";■重复上述步骤,直到每个子集只包含一个信源符号为止。5.4.3游程编码游程编码(简写为RLE或RLQ是一种十分简单的压缩方法,它将数据流中连续出现的字符(称为游程)用单一的记号来表示。例如,字符串abaCCCbbaaaa可以压缩为aba3c2b4a游程编码的压缩效果不太好,但由于简单,编码/解码的速度非常快,因此仍然得到广泛的应用。许多图形和视频文件,如.BMP,.TIF及.AVI等,都使用了这种压缩。5.4.4算术编码1•算术编码•算术编码把一个信源集合表示为实数线上的0到1之间的一个区间。这

5、个集合中的每个元素都要用来缩短这个区间。信源集合的元素越多,所得到的区间就越小,当区间变小时,就需要更多的数位来表示这个区间,这就是区间作为6v1.0可编辑可修改代码的原理。算术编码首先假设一个信源的概率模型,然后用这些概率来缩小表示信源集的区间。2•举例说明算术编码过程[例]设英文元音字母采用固定模式符号概率分配如下字符aeiou概率范围[0,][,][,][,][,]设编码的数据串为eai。令high为编码间隔的高端,low为编码间隔的低端,range为编码间隔的长度,rangelow为编码字符分配的间隔低端,

6、rangehigh为编码字符分配的间隔高端。初始high=1,low=0,range=high-low,一个字符编码后新的low和high按下式计算:•low=low+rangexrangelow•high=low+rangexrangehigh(1)在第一个字符e被编码时,e的rangelow=,rangehigh=,因此:low=0+1x=high=0+1x=range=high—low=—=此时分配给e的范围为[,]。6v1.0可编辑可修改⑵第二个字符a编码时使用新生成范围[,],a的rangelow=0,r

7、angehigh=,因此:low=十x0=high=+x=range=范围变成[,]。(3)对下一个字符i编号,i的rangelow=,rangehigh=,贝U:low=+x=high=+x=即用[,]表示数据串eai,如果解码器知道最后范围是[,]这一范围,它马上可解得一个字符为e,然后依次得到惟一解a,即最终得到eai。1.算术编码的特点①不必预先定义概率模型,自适应模式具有独特的优点;②信源符号概率接近时,建议使用算术编码,这种情况下其效率高于Huffman编码;③算术编码绕过了用一个特定的代码替代一个输入

8、符号的想法,用一个浮点输岀数值代替一个流的输入符号,较长的复杂的消息输岀的数值中就需要更多的位数。④算术编码实现方法复杂一些,但JPEG成员对多幅图像的测试结果表明,算术编码比Huffman编码提高了5%左右的效率,因此在JPEG扩展系统中用算术编码取代Huffman编码。6

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

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

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