数据压缩实验指导书.doc_第1页
数据压缩实验指导书.doc_第2页
数据压缩实验指导书.doc_第3页
数据压缩实验指导书.doc_第4页
数据压缩实验指导书.doc_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

数据压缩实验指导书 2.实验要求给出数字字符,能正确输出编码。 3.实验内容现实中有许多这样的图像,在一幅图像中具有许多颜色相同的图块。 在这些图块中,许多行上都具有相同的颜色,或者在一行上有许多连续的象素都具有相同的颜色值。 在这种情况下就不需要存储每一个象素的颜色值,而仅仅存储一个象素的颜色值,以及具有相同颜色的象素数目就可以,或者存储一个象素的颜色值,以及具有相同颜色值的行数。 这种压缩编码称为游程编码,常用(r runl lengthe encoding,RLE)表示,具有相同颜色并且是连续的象素数目称为游程长度。 为了叙述方便,假定一幅灰度图像,第n行的象素值为用RLE编码方法得到的代码为088133850144088。 代码中用黑体表示的数字是游程长度,黑体字后面的数字代表象素的颜色值。 例如黑体字050代表有连续50个象素具有相同的颜色值,它的颜色值是8。 对比RLE编码前后的代码数可以发现,在编码前要用73个代码表示这一行的数据,而编码后只要用11个代码表示代表原来的73个代码,压缩前后的数据量之比约为7:1,即压缩比为7:1。 这说明RLE确实是一种压缩技术,而且这种编码技术相当直观,也非常经济。 RLE所能获得的压缩比有多大,这主要是取决于图像本身的特点。 如果图像中具有相同颜色的图像块越大,图像块数目越少,获得的压缩比就越高。 反之,压缩比就越小。 译码时按照与编码时采用的相同规则进行,还原后得到的数据与压缩前的数据完全相同。 因此,RLE是无损压缩技术。 RLE压缩编码尤其适用于计算机生成的图像,对减少图像文件的存储空间非常有效。 然而,RLE对颜色丰富的自然图像就显得力不从心,在同一行上具有相同颜色的连续象素往往很少,而连续几行都具有相同颜色值的连续行数就更少。 如果仍然使用RLE编码方法,不仅不能压缩图像数据,反而可能使原来的图像数据变得更大。 请注意,这并不是说RLE编码方法不适用于自然图像的压缩,相反,在自然图像的压缩中还真少不了RLE,只不过是不能单纯使用RLE一种编码方法,需要和其他的压缩编码技术联合应用。 4、思考题如果是英文字符,应该从哪几方面去进行考虑?是否所有的字符都要RLE编码方法来进行编码?如何区分字符与重复因子?#includeusing namespacestd;class Youchenpublic:void shuru_xulie();void bianma_xulie();private:char array1000;int m;void Youchen:shuru_xulie()/输入序列int i;m=0;cout请输入序列(以.结束!):arrayi;m+=1;if(arrayi=.)break;voi dYouchen:bianma_xulie()/用游程编码方法进行编码int i,j,sum=0;cout编码后序列;for(i=0;i=m-1;i+)if(arrayi=arrayi+1)/对相同字符进行记数sum+;else/如果前后两字符不相等则进行输出if(sum1)for(j=0;j=sum;j+)coutlength;while(length=N)coutlength;cout请输入要进行W LZW编码的字符序列CSstreama;t.code(CSstream);t.decode(t.codes);return0;实验四用用C/C+语言实现2D-DCT变换1.实验目的1)通过实验进一步掌握2D-DCT变换的原理;2)用C/C+语言实现2D-DCT变换,并能进行逆变换。 2.实验要求输入一个88数组,实现2D-DCT变换,并能进行逆变换。 3.实验内容DCT算法的实质是压缩88图像块灰度样本数据流。 原图像在输入到编码器之前,被分割成一系列顺序排列的由88像点构成的数据块,同时把作为原始采样数据的无符号整数转换成有符号证书,这一过程叫做“正交换”。 若采样精度为9为,则采样数据的范围是02p-1,经过正变换后,其范围是-2p-12p-1-1,该范围作为编码器的输入。 还原图像时,解码器输出端的数值范围是-2p-12p-1-1,经过逆变换,把数值范围还原成02p-1,以次从新建立图像。 原图像的8*8样本块由64个像点构成,64个像点实质上是64个离散信号,是空间范围X和Y的函数。 输入时,经过正变换,将64个离散信号译码成64个正交基信号,每个正交基信号包含一个二维空间频率,然后以64个DCT系数的形式进行编码,这个过程就是数据压缩过程。 解码时,压缩的图像数据送至解码器,经过逆变换,把64个DCT系数重新建立成64个像点的图像。 不过由于运算误差和系数的量化,因而重建过程不是很精确,64个像点与原图存在差异。 (a)x x邻域(b b)预测方式熵编码器采用Huffman编码或算术编码。 离散余弦变换()首先把原始图像顺序分割成88子块;()采样精度为P位(二进制),把0,2p-1范围的无符号数变换成-2p-1,2p-1范围的有符号数,作为离散余弦正变换(forward DCT,FDCT)的输入;()在输出端经离散余弦逆变换(inverse DCT,IDCT)后又得到一系列8?8子块,需将数值范围?112,2?p p变换回?12,0?p来构图像。 ?707016)12(cos16).12(cos).,()() (41),(x xuy uxy x f v C u C v u F?8?8IDCT的数学定义为?707016)12(cos16)12(cos),()() (41),(u vvy uxv uF v C u C yxf?其中,21)(),(?vCuC当0,?vu,1)(),(?v

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论