信息论编码课程设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
课程设计任务书
2013学年第一学期
专业:通信工程学号:姓名:边阳
课程设计名称:信息论与编码课程设计
设计题目:二进制哈夫曼编码的分析与实现
完成期限:自2013 年11月4日至2013 年11 月10 日共 1 周
一.设计目的
1、深刻理解信源编码的基本思想与目的;
2、理解哈夫曼编码方法的基本过程与特点;
3、提高综合运用所学理论知识独立分析和解决问题的能力;
4、使用MATLAB或其他语言进行编程。
二.设计内容
假设已知一个信源的各符号概率,编写适当函数,对其进行哈夫曼编码,得出M进制码字,平均码长和编码效率,总结此编码方法的特点和应用。
三.设计要求
1、编写的函数要有通用性;
2、信源可以自由选择,符号信源与图像信源均可。
四.设计条件
计算机、MATLAB或其他语言环境
五.参考资料
[1]曹雪虹,张宗橙.信息论与编码.北京:清华大学出版社,2007.
[2]王慧琴.数字图像处理.北京:北京邮电大学出版社,2007.
指导教师(签字):教研室主任(签字):
批准日期:年月日
摘要
霍夫曼编码是可变字长编码(VLC)的一种。Huffman于1952年提出一种编码方法,该方法完全依据字符出现概率来构造异字头的平均长度最短的码字,有时称之为最佳编码,一般就叫作Huffman编码。它是根据可变长最佳编码定理,应用哈夫曼算法而产生的一种编码方法。在非均匀符号概率分布的情况下,变长编码总的编码效率要高于等字长编码。因为具体规定了编码的方法,能使无失真编码的效率非常接近与1,所以在压缩信源信息率的实用设备中,哈夫曼编码还是比较常用的。
本课题利用哈夫曼编码的方法实现了对信源符号的熵、平均码长、传输速率、编码效率等的求解。
关键词:哈弗曼编码;信源;哈夫曼树
课程设计说明书(论文)
目录
1课题描述 (4)
2设计原理 (4)
3 设计过程 (5)
3.1课题介绍 (5)
3.1.1 Huffman编码特点 (6)
3.1.2哈夫曼编码方法 (6)
3.3设计步骤 (7)
4哈夫曼编码的MATLAB实现 (8)
总结 (11)
参考文献 (12)
第 3 页共12页
1课题描述
huffman 编码是一种二进制编码的算法,目的是缩小原来的数据,简单的说就是将出现概率较高的符号分配较少的码字,而出现概率大的符号分配较长的码字,这样起到压缩数据的作用。哈夫曼编码是可变字长编码(VLC)的一种。 Huffman 于1952年提出一种编码方法,该方法完全依据字符出现概率来构造异字头的平均长 度最短的码字,有时称之为最佳编码,一般就叫作Huffman 编码。
本课题是利用哈夫曼编码方式来实现对信源符号码字、平均码长及编码效率的求解。
开发工具: MATLAB 。
2设计原理
设计原理如下:
设数字图像像素灰度级集合为{d1,d2,…,dm},其对应的概率分别为 p(d1),p(d2),…,p(dm)。按信息论中信源信息熵的定义,图像的熵定义为:
()字符
bit di lbP di P H m
i )(1∑=-= (2.1)
图像的熵表示像素各个灰度级位数的统计平均值,给出了对此输入灰度 级集合进行编码时所需的平均位数的下限。
设βi 为数字图像中灰度级di 所对应的码字长度(二进制代码的位数),其相应出现的概率为P (di ),则该数字图像所赋予的平均码字长度为:
∑
==m
i di iP R 1)(β (2.2) 00100⨯=R H
η (2.3)
根据信息论中信源编码理论,可以证明在R ≧H 条件下,总可以设计出某种无失真编码方法。当然如果编码结果使R 远大于H ,表明这种编码方法效率很低,占用比特数太多。最好编码结果是使R 等于或接近于H 。这种状态的编码
课程设计说明书(论文)
第 5 页 共12页
方法,称为最佳编码。
压缩比是指编码前后平均码长之比,如果用n 表示编码前每个符号的平均码长,通常为用自然二进制码时的位数,则压缩比可表示为:
R n
r = (2.4)
一般来讲,压缩比大,则说明被压缩掉的数据量多。一个编码系统要研究的问题是设法减小编码平均长度R ,使编码效率η尽量趋于1,而冗余度趋于0。
3 设计过程
3.1课题介绍
3.1.1 Huffman 编码特点
凡是能载荷一定的信息量,且码字的平均长度最短,可分离的变长码的码字集合称为最佳变长码。为此必须将概率大的信息符号编以短的码字,概率小的符号编以长的码字,使得平均码字长度最短。哈夫曼(Huffman )编码是最佳变长编码方法的一种,它是根据可变长最佳编码定理,应用哈夫曼算法而产生的一种编码方法。
进行哈夫曼编码时,为得到码方差最小的码,应使合并的信源符号位于缩减信源序列尽可能高的位置上,以减少再次合作的次数,充分利用短码。哈夫曼码是用概率匹配方法进行信源编码。它有两个明显的特点:一是哈夫曼码的编码方法保证了概率大的符号对应于短码,概率小的符号对应于长码,充分利用了短码;二是缩减信源的最后两个码字总是最后一位不同,从而保证了哈夫曼编码是即时码。
哈夫曼编码方法得到的码并非是唯一的,造成并非唯一的原因是:首先,每次对信源缩减时,赋予信源最后两个概率最小的符号,用0和1可以任意的,所以可以得到不同的哈夫曼码,但不会影响码字的长度。其次:对信源进行缩减时,两个概率最小的符号合并后的概率与其他信源符号的概率相同时,这两者在缩减