游程编码课程设计说明书.docVIP

  • 50
  • 0
  • 约1.29万字
  • 约 25页
  • 2017-01-28 发布于重庆
  • 举报
游程编码课程设计说明书

****************** 实践教学 ******************* 兰州理工大学 计算机与通信学院 2014年春季学期 通信系统仿真训练 题 目: 基于游程编码的信源编/解码系统设计及仿真 专业班级: 通信2011级3班 姓 名: 黄亮 学 号: 指导教师: 晏燕 成 绩: 目录 摘要 1 1.信源编码 2 1.1信源编码简介 2 1.2信源编码的理论基础 3 1.3信源编码的分类及作用 5 1.4信源编码的历史 7 2.游程编码 8 2.1游程长度 8 2.2游程编码算法 8 2.3游程编码特点 9 2.4游程编码算法示例 9 3.基于游程编码的信源编/解码的MATLAB仿真设计 10 3.1压缩前的准备 10 3.2进行游程编码 11 3.3算法流程 13 3.4游程编码的简单实现 18 设计总结 20 附录 21 参考文献 23 摘要 本课题主要是针对于游程编码信源编解码的数据压缩算法的设计与实现,游程编码非常简单,编码、解码速度快,应用广泛。游程编码是针对于二元序列的一种编码方法,对于二值图像而言是一种具有高压缩比的无损数据压缩技术,它是应用游程编码的原理对二值图像进行数据压缩的编码技术,对连续的黑、白像素数(游程)以不同的码字进行编码。游程编码是一种简单的非破坏性资料压缩法,其好处是加压缩和解压缩都非常快,其方法是计算连续出现的资料长度压缩之,其缺点是对于不重复的资料反而加大容量且需大量的缓冲和优质信道来实现。 游程编码在MATLAB中的实现主要体现在对二值图像的压缩上,一张二值图像其实就是两个灰度值所组成的一个图像矩阵,而设计程序首先就要考虑到遍历图像所有的灰度值,并按照游程的原理,即(灰度值,游程宽度)的形式依次记录。由于纯粹的二值图较少的原因,可以先将灰度图转换为二值图进行压缩,在设计的过程中,压缩矩阵的初始化与终止位置是尤为重要的,即游程宽度在编码之前是置为1的(其中也有MATLAB的下标不同于其他高级语言是从0开始的原因),并且在游程宽度初始化时,也要将此矩阵中第一个灰度值给相应的数组向量。在压缩过程中,只需要不断将游程宽度与灰度值所在的数组向量累加就行,而到了将截止时,应该将最后一个灰度值手动赋给灰度值的数组向量中,这是因为在循环体中不能出现超出下标值的值,所以循环次数一般定为图像矩阵的像素数-1,这样循环截止时还剩下最后一个灰度值没有被循环体被遍历上,因而需要手动将之添加进去。为了反映游程编码后的成效,可以绘制一个以游程序列为横轴,游程宽度为竖轴的函数图像,从此图像中也可以看出一幅二值图中哪些地方的灰度值较为集中。而解压缩,其实就是一个压缩的逆过程,同样地也要注意遗漏的问题。 本文首先简要介绍了信源编码的原理,然后重点介绍游程编码的原理和实现技术,对游程编码技术做了较为全面的研究。包括游程压缩过程、数据压缩、解压缩过程,并给出了相应的二值图像游程编码MATLAB仿真程序,一般字符进行游程压缩的MATLAB仿真程序以及附录了一段压缩灰度图像的仿真程序以用来对比验证。 关键字:信源编码 压缩 游程编码 MATLAB 1.信源编码 1.1信源编码简介 编码实质上就是对信源的原始符号按一定规则进行的一种变换。编码可分为信源编码和信道编码。由于信源符号之间存在分布不均匀和相关性,使得信源存在冗余度,信源编码的主要任务就是减少冗余,提高编码效率。具体的说就是针对信源输出符号序列的统计特性,寻找一定的方法把信源输出符号序列变换为最短码字序列的方法。信源编码的基本途径有两个:使序列中的各个符号尽可能地相互独立,即解除相关性;使编码中各个符号出现的概率尽可能地相等,即概率均匀化。采用的一般方法是压缩每个信源符号的平均比特数或信源的码率。即同样多的信息用较少的码率传送,使单位时间内传送的平均信息量增加,从而提高通信的有效性。 为了减少信源输出符号序列中的剩余度、提高符号的平均信息量,对所施行的变换。具体说,就是针对信源输出符号序列的统计特性来寻找某种方法,把信源输出符号序列变换为最短的码字序列,使后者的各码元所

文档评论(0)

1亿VIP精品文档

相关文档