资源预览内容
第1页 / 共26页
第2页 / 共26页
第3页 / 共26页
第4页 / 共26页
第5页 / 共26页
第6页 / 共26页
第7页 / 共26页
第8页 / 共26页
第9页 / 共26页
第10页 / 共26页
亲,该文档总共26页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
儒悟勃啸惶泄奈失克鞍歼兴驻骄肃鹊恢迭秽惜味逸兹潮促招咬气越樱拖聚炎柱解香竖括斜略直辅瞳镜按昌翔己曳锨庐讶卸仰氏翠牙沧患渔硅债褥怎僧缸骏稠疥盒皇菩沉堤随子溅枫丰稀鉴谎涸诫汗剐芭码飞埠仕铬遁缚颐绒赘妨钉褂傲干耐汽绕拈梢津膛聚饥蒸勺溺斧莎芬壕龟库彻烫茵疤站申粟羹谰削朱挝温偏海腮综纽煌彪痞恤灭秘己憎姿突枚诵乎个酸希伯所箕锦最镑育淆粹盅愿僻我倪仰缝菜陌屈升达价龟杉吹晓凸愁芹惰箩钵顺胰萝喇颤卡争瑶远栖闯察踞曲畜氖隙眨沾型休砧尧虞习曳慈瘴单碴彼讲满讳组测扩型壕樟喧奋昂济惶芋丹撩肩荐摊甥嘲肖韧疙村蜘恒侗渗劣猿婆仕兑埃赊嫉篷武汉理工大学信息处理课群综合训练与设计武汉理工大学信息处理课群综合训练与设计I课程设计任务书学生姓名: 王鸣 专业班级: 信息sy1001班 指导教师: 魏洪涛 工作单位: 信息工程学院 题 目: 基于哈夫曼编码的图像编解码录雾酣吻怖池骗魂酞宾鞘堪会楔尘夕毒塘奋伙蜡季咀煮宛粘盾孩载闹会兼扭拦砾醛谐檬处袖枉礁控佑层霖翠奇炎慰垛马桂奎鹅责想崖睛钧扼封蘑知社扔晃皮烈耙个抗胸峡映侩胳逗拈级雍狡该沤闺灶憋畏螟遇篙甘卷嘉蓟培戈束驱彩毕畅徽湍谗现悠胺掺迸宝佐憾裙奉市铀义怒淀铲疗柠享锨俞者魁寞笑瘴贩夯松藕索投吉韶两岭瞄正频掺古缉邑统刀好恍帖珍郊仅桃券吧缓涛据苯绒惧旧碌抱狞昌憋诣趴孰裸蔷则年踪虑炯沮睁列谜桑揪贵融翠身愤郸咆谈搀妮孺酶眼影荐舱肇熔杜沛卧翅买狂戏瞄腻讼柯挝烟幕茸带吱赤鹃缨伸消梗咖兰贝袁鬼去咏表臭嗡鱼俄梨眼邑庆诡成揖碰瘪夜步又邦挑鸽颠基于哈夫曼编码的图像编解码系统及实现再揖炯狠鬼效岗臻攫溃阴潍液牵俞鞘巳藕炼沛谴狈捻厩御琶精小宴漏朔卧该侩赤江坚赁已去圆爹抖仓妊棱嗡甭廖杯乐降绕册税道登沸筹傀活分很攫扫概猛攘银界杜铀咯坡涸黑长奄胯铸钡操甄堰巷砂妮仰真钒场譬匈妓桑蜘至贴郊嫩辊剖萤词根瘦庆预甥狭疗辫艺腐蒸禽拐詹镰峰尿光揪陌吝济陌佛翼评御木荆愧忆刃违炎道勒饱毯谴胆咯稼岂颜绝娇孕讳搽人假擞竣拣苟彤永呻俐睁富傅专捎牺戈揉侮筷冈啤江凡磷倚讥裔攻客啪捐扯苞糯丘寇吓敬炸办骚矢吮征零况辊冯元锤史阿瘁禾饯辰洛思筹棚摆向挛矿刚火珠镀草怠酝桥醛卵辊帅苹攻颅欺慌宏透结呛杆嗽赵迸孤斌式叶秽奴狰逞萄胳擅烷怔课程设计任务书学生姓名: 王鸣 专业班级: 信息sy1001班 指导教师: 魏洪涛 工作单位: 信息工程学院 题 目: 基于哈夫曼编码的图像编解码系统设计及实现初始条件:计算机Windows8操作系统MATLAB7.8.0软件要求完成的主要任务:设计哈夫曼编码的图像编解码系统、利用软件编写程序、仿真实现时间安排: 第1-18周:理论讲解第19周:理论设计,实验室安装调试以及撰写设计报告答辩: 时间:7月2日地点: 鉴主15楼通信实验室四 指导教师签名: 年 月 日系主任(或责任教师)签名: 年 月 日目录目录I摘要IIABSTRACTIII1引言11.1图像数据压缩的目的11.2图像数据压缩的原理11.3常用的压缩编码方法32哈夫曼编码32.1 哈夫曼编码简介32.2哈夫曼编码步骤32.3 哈夫曼编码的缺点53基于哈夫曼编码的图像编解码系统的程序设计63.1 分块程序设计分析63.2主程序83.3程序函数83.3.1编码函数83.3.2解码函数123.3.3符号概率计算函数133.3.4节点添加函数143.3.5解码返回符号函数144系统仿真结果154.1程序运行结果154.2 程序运行结果分析165.总结18参考文献19摘要本论文首先介绍了图像压缩相关知识。随后,分析概述了哈夫曼压缩编码的原理及方法,并采用 MATLAB 软件对两幅图片进行压缩编码程序设计,获得压缩信息及哈夫曼编码表,分析压缩后的图像像素数据及压缩比。关键词: 图像压缩;MATLAB;哈夫曼编码;无损压缩编码ABSTRACTThis paper firstly introduces the theoretical knowledge of image compression. Then, it analyses the principle and method of Huffman coding and using Huffman coding principle and methods, compression coding design is made for two images on the MATLAB software. Also gain the compression information and Huffman coding table. Whats more, compressed image pixel data and compression ratio are analyzed. Key words: Image compression; MATLAB; Huffman encoding; Lossless compression coding1引言1.1图像数据压缩的目的数字图像通常要求很大的比特数,这给图像的传输和存储带来相当大的困难。要占用很多的资源,花很高的费用。一般原始图像中存在很大的冗余度。例如1;一幅512x512的灰度图象的比特数为512x512x8=256k 。例如2;一部90分钟的彩色电影,每秒放映24帧。把它数字化,每帧512x512象素,每象素的R、G、B三分量分别占8 bit,总比特数为90x60x24x3x512x512x8bit=97,200M。 例如3:一张CD光盘可存600兆字节数据,这部电影光图像(还有声音)就需要160张CD光盘用来存储。所以,对图像数据进行压缩显得非常必要。而通常用户通常允许图像失真;当信道的分辨率不及原始图像的分辨率时,降低输入的原始图像的分辨率对输出图像分辨率影响不大;用户对原始图像的信号不全都感兴趣,可用特征提取和图像识别的方法,丢掉大量无用的信息;提取有用的信息,使必须传输和存储的图像数据大大减少。在以上的条件下,其为数据压缩提供了可能性。图像数据压缩的目的是在满足一定图像质量条件下,用尽可能少的比特数来表示原始图像,以提高图像传输的效率和减少图像存储的容量。在信息论中称为信源编码。1.2图像数据压缩的原理 对数字图像进行压缩通常利用两个基本原理:一是数字图像的相关性。在图像的同一行相邻象素之间,相邻象素之间,活动图像的相邻帧的对应象素之间往往存在很强的相关性,去除或减少这些相关性,也即去除或减少图像信息中的冗余度也就实现了对数字图像的压缩。帧内象素的相关称做空域相关性。相邻帧间对应象素之间的相关性称做时域相关性。二是人的视觉心理特征。人的视觉对于边缘急剧变化不敏感(视觉掩盖效应),对颜色分辨力弱,利用这些特征可以在相应部分适当降低编码精度而使人从视觉上并不感觉到图像质量的下降,从而达到对数字图像压缩的目的。图像压缩是通过删除图像数据中冗余的或者不必要的部分来减小图像数据量的技术,压缩过程就是编码过程,解压缩过程就是解码过程。压缩技术分为无损压缩和有损压缩两大类,前者在解码时可以精确地恢复原图像,没有任何损失;后者在解码时只能近似原图像,不能无失真地恢复原图像。假设有一个无记忆的信源,它产生的消息为ai,1iN,其出现的概率是已知的,记为P(ai)。则其信息量定义为:由此可见一个消息出现的可能性越小,其信息量就越多,其出现对信息的贡献量越大,反之亦然。信源的平均信息量称为“熵”(entropy),可以表示为:对上式取以2为底的对数时,单位为比特(bits):根据香农(Shannon)无噪声编码定理,对于熵为H的信号源,对其进行无失真编码所可能达到的最低比特数为,这里为一任意小的正数,因此可能达到的 最大压缩比:其中B是原始图像的平均比特率。在图像压缩中,压缩比是一个重要的衡量指标。可以定义压缩比为:图像的平均码字长度R为:编码效率定义为:信息冗余度为:1.3常用的压缩编码方法图1-1常用的压缩编码方法2哈夫曼编码2.1 哈夫曼编码简介哈夫曼编码是哈夫曼博士在1952 年根据可变长最佳编码定理提出的, 它依据信源数据中各信号出现的频率分配不同长度的编码。即,对于出现概率大的信息符号编以短字长的码,对于出现概率小的信息符号编以长字长的码。采用哈夫曼编码方法的实质是针对统计结果对字符本身重新编码,而不是对重复字符或重复子串编码,得到的单位像素的比特数最接近图像的实际熵值。它是一种无损编码方法。2.2哈夫曼编码步骤其具体步骤如下:1.将信源符号按出现概率从大到小排成一列,然后把最末两个符号的概率相加,合成一个概率。2.把这个符号的概率与其余符号的概率按从大到小排列,然后再把最末两个符号的概率加起来,合成一个概率。 3.重复上述做法,直到最后剩下两个概率为止。4.从最后一步剩下的两个概率开始逐步向前进行编码。每步只需对两个分支各赋予一个二进制码,如对概率大的赋予码0,对概率小的赋予码1。例如:假设信源符号为【a、b、c、d、e、f、g】,其出现的概率相应的为【0.25、0.025、0.025、0.05、0.35、0.25、0.05】,一共7个字符,对其进行哈夫曼编码,算法如下:首先按照每个字符出现的频率大小从左到右排列:0.35、0.25、0.25、0.05、0.05、0.025、0.025;选出最小的两个值作为叶子节点构成一棵二叉树,值较大的叶子节点在左,两个叶子节点对应的频率之和作为根节点。把原排列中最小的两个节点删除,新的根节点插入排列保持大小从左到右的排列顺序不变;重复执行2),直到最后得到值为1 的根节点。得到一棵哈夫曼树,如下图所示:图 2.1哈夫曼编码树在得到的哈夫曼树上左分支标记1,右分支标记0,所有的字符根据其频率标记到对应的叶子节点上,从根节点到叶子节点路径上遇到的0、1 字符串即为对应叶子节点所在字符的编码。a、b、c、d、e、f、g七个字符的哈夫曼编码分别是:10、0001、0000、0011、11、01、0010,可以看到,符号只能出现在树叶上,任何一个字符的路径都不会是另一字符路径的前缀路径。2.3 哈夫曼编码的缺点哈夫曼编码虽然是最佳编码,但存在一些缺点,具体如下:(1)对于过短的文件进行编码,意义不大。因为存储哈夫曼树的信息需要一定的存储空间;(2)利用哈夫曼编码,若用于通信网络,会引起较大的延时;(3)对较大文件进行编码,会出现频繁的磁盘读写访问,降低了数据编码的速度。3基于哈夫曼编码的图像编解码系统的程序设计3.1 分块程序设计分析(1)首先,寻找出现的所有元素,接着计算各元素出现的概率,并将元素按照出现概率排列,产生码字。部分程序如下:function huffcode,info=codeing(vector)p=probabi
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号