1、 1 课程设计任务书 20102011 学年第一学期 课程设计名称课程设计名称: 信息论与编码课程设计 设计题目设计题目: 哈夫曼编码的分析与实现 完成期限完成期限:自 2010 年 12 月 20 日至 2010 年 12 月 26 日共 1 周 一设计目的一设计目的 1、深刻理解信源编码的基本思想与目的; 2、理解哈夫曼编码方法的基本过程与特点; 3、提高综合运用所学理论知识独立分析和解决问题的能力; 4、使用 MATLAB 或其他语言进行编程。 二设计内容二设计内容 假设已知一个信源的各符号概率,编写适当函数,对其进行哈夫曼编码,得 出码字,平均码长和编码效率,总结此编码方法的特点和应用
2、。 三设计要求三设计要求 1、编写的函数要有通用性; 2、信源可以自由选择,符号信源与图像信源均可。 四设计条件四设计条件 计算机、MATLAB 或其他语言环境 五、参考资料五、参考资料 1曹雪虹,张宗橙.信息论与编码.北京:清华大学出版社,2007. 2王慧琴.数字图像处理.北京:北京邮电大学出版社,2007. 指导教师(签字) : 教研室主任(签字) : 批准日期: 年 月 日 2 摘要摘要 哈夫曼编码(Huffman Coding)是一种编码方式, 以哈夫曼树即最优二叉树, 带权路径长度最小的二叉树,经常应用于数据压缩。在计算机信息处理中,“哈 夫曼编码”是一种一致性编码法(又称“熵编码
3、法“) ,用于数据的无损耗压缩。这 一术语是指使用一张特殊的编码表将源字符(例如某文件中的一个符号)进行编 码。这张编码表的特殊之处在于,它是根据每一个源字符出现的估算概率而建立 起来的(出现概率高的字符使用较短的编码,反之出现概率低的则使用较长的编 码,这便使编码之后的字符串的平均期望长度降低,从而达到无损压缩数据的目 的) 。 本课题通过 MATLAB 编写适当的函数,对一个随机信源进行哈夫曼编码, 得出码字,平均码长和编码效率。从而理解信源编码的基本思想与目的以及哈夫 曼编码方法的基本过程与特点, 并且提高综合运用所学理论知识独立分析和解决 问题的能力。 关键字:哈夫曼,信源编码,MAT
4、LAB 3 目目 录录 1 课题描述错误错误!未定义书签。未定义书签。 2 哈夫曼编码的原理错误错误!未定义书签。未定义书签。 2.1 哈夫曼编码的构造过程.1 2.2 哈夫曼编码的应用举例.1 3 哈夫曼编码的实现过程 4 3.1 软件介绍 4 3.2 设计内容 . 4 3.2 设计步骤.4 4 程序运行结果分析.8 总 结 10 参考文献 11 4 1 课题描述课题描述 哈夫曼编码是一种编码方式,以哈夫曼树即最优二叉树,带权路径长度最 小的二叉树,经常应用于数据压缩。在计算机信息处理中, “哈夫曼编码”是一 种一致性编码法(又称“熵编码法“) ,用于数据的无损耗压缩。这一术语是指使 用一张特别的编码表将源字符(例如某文件中的一个符号)进行编码。这张编码 表的特别之处在于,它是根据每一个源字符