1 / 22
文档名称:

多媒体实验报告.doc

格式:doc   页数:22页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

多媒体实验报告.doc

上传人:rabbitco 2016/7/27 文件大小:0 KB

下载得到文件列表

多媒体实验报告.doc

文档介绍

文档介绍:太原理工大学学生实验报告学院名称信息工程学院专业班级通信 0802 学号 2008001306 实验成绩学生姓名吕莹同组人姓名实验日期 课程名称多媒体通信技术实验题目霍夫曼编码一、实验目的 1、学****Matlab 软件的使用和编程; 2、进一步深入理解 Huffman 编码算法的原理; 3、提高独立进行算法编程的能力。二、实验内容 1、用 Matlab 实现 Huffman 编码算法程序; 2、要求程序输出显示所有的码字以及编码效率; 3 、设计简单的输入界面(可以是简单的文字提示信息) ,程序运行时提示用户输入代表信源符号概率的向量;要对用户输入的概率向量进行合法性检查。三、实验原理 1、二进制 Huffman 编码的基本原理及算法 1)把信源符号集中的所有符号按概率从大到小排队。 2)取概率最小的两个符号作为两片叶子合并(缩减)到一个节点。 3) 视此节点为新符号,其概率等于被合并(缩减)的两个概率之和,参与概率排队。 4)重复 23两步骤,直至全部符号都被合并(缩减)到根。 5)从根出发,对各分枝标记 0和1。从根到叶的路径就给出了各个码字的编码和码长。 2、程序设计的原理(1) 程序的输入:以一维数组的形式输入要进行 huffman 编码的信源符号的概率,在运行该程序前,显示文字提示信息,提示所要输入的概率矢量;然后对输入的概率矢量进行合法性判断,原则为:如果概率矢量中存在小于 0 的项, 则输入不合法,提示重新输入;如果概率矢量的求和大于 1,则输入也不合法, 提示重新输入。(2) huffman 编码具体实现原理: a、在输入的概率矩阵 p正确的前提条件下对 p进行排序,并用矩阵 L记录p排序之前各元素的顺序,然后将排序后的概率数组 p的前两项,即概率最小的两个数加和,得到新的一组概率序列,重复以上过程,最后得到一个记录概率加和过程的矩阵 p以及每次排序之前概率顺序的矩阵 a。 b、新生成一个 n-1 行n 列,并且每个元素含有 n 个字符的空白矩阵,然后进行 huffman 编码:将c矩阵的第 n-1 行的第一和第二个元素分别令为 0 和1(表示在编码时,根节点之下的概率较小的元素后补 0,概率较大的元素后补 1,后面的编码都遵守这个原则)然后对 n-i-1 的第一、二个元素进行编码,首先在矩阵 a 中第 n-i 行找到值为 1 所在的位置,然后在 c 矩阵中第 n-i 行中找到对应位置的编码(该编码即为第 n-i-1 行第一、二个元素的根节点),则矩阵 c的第 n-i 行的第一、二个元素的 n-1 的字符为以上求得的编码值,根据之前的规则,第一个元素最后补 0 ,第二个元素最后补 1 ,则完成该行的第一二个元素的编码, 最后将该行的其他元素按照“矩阵 c 中第 n-i 行第 j1 列的值等于对应于 a 矩阵中第 n-i1 行中值为 j1 的前面一个元素的位置在c 矩阵中的编码值”的原则进行赋值,重复以上过程即可完成 huffman 编码。 c、计算信源熵和平均码长,其比值即为编码密码效率。四、源程序 clear close all; % 定义 HufData/Len 为全局变量的结构体 global HufData; global Len disp(' 计算机正在准备输出哈夫曼编码结果, 请耐心等待……'); % 原始码字的灰度 a=imread(''); % 分区画出原始图像和灰度直方图 figure; subplot(1,2,1) imshow(a); % 取消坐标轴和边框 axis off box off title('MATLAB 自带图像','fontsize',13); subplot(1,2,2); axis off box off imhist(a); title(' 图像灰度直方图','fontsize',13); % 图像的灰度统计 GrayStatistics=imhist(a); GrayStatistics=GrayStatistics'; GrayRatioo=GrayStatistics/sum(GrayStatistics); GrayRatioNO=find(GrayRatioo~=0); Len=length(GrayRatioNO); % 初始化灰度集,防止系统随即赋予其垃圾值 GrayRatio=ones(1,Len); for i=1:Len GrayRatio(i)=GrayRatioo(i); end 实验室名称指导老师签名太原理工大学学生实验报告学院名称信息工程学院专业班级通信 0802 学号 2008001306 实验成绩学生姓名吕莹同组人姓名实验日期 课程名称多媒体通信技术实验题目霍夫曼编码 GrayRatio=