数字视频报告-图像的DPCM预测编码研究_第1页
数字视频报告-图像的DPCM预测编码研究_第2页
数字视频报告-图像的DPCM预测编码研究_第3页
数字视频报告-图像的DPCM预测编码研究_第4页
数字视频报告-图像的DPCM预测编码研究_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

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

文档简介

1、 成绩评阅人中国矿业大学2015-2016学年第一学期数字视频技术课程小设计考核设计题目:图像的DPCM预测编码研究专业班级: 学生姓名: 学生学号: 指导教师: 成 绩: 本人郑重声明:本人认真、独立完成了查找资料、完成作业、编写程序等考核任务,无抄袭行为。签字:日期:一、 设计任务、目的和要求:1.1设计任务:DPCM预测编码1.2设计目的:1了解图像压缩的意义和手段;2熟悉DPCM预测编码的基本性质;3熟练掌握DPCM预测编码的方法与应用;4掌握利用MATLAB编程实现数字图像的DPCM预测编码。1.3设计要求:查阅无损和有损DPCM预测编码资料,分别实现图像的一阶,二阶,三阶,四阶DP

2、CM编码和解码恢复图像;实现无损和有损处理结果对比,处理结果要求最终图像显示,且计算压缩比。二、 总体方案设计2.1 DPCM原理:DPCM编码,简称差值编码,是对模拟信号幅度抽样的差值进行量化编码的调制方式(抽样差值的含义请参见“增量调制”)。这种方式是用已经过去的抽样值来预测当前的抽样值,对它们的差值进行编码。差值编码可以提高编码频率,这种技术已应用于模拟信号的数字通信之中。 对于有些信号(例如图像信号)由于信号的瞬时斜率比较大,很容易引起过载,因此,不能用简单增量调制进行编码,除此之外,这类信号也没有像话音信号那种音节特性,因而也不能采用像音节压扩那样的方法,只能采用瞬时压扩的

3、方法。但瞬时压扩实现起来比较困难,因此,对于这类瞬时斜率比较大的信号,通常采用一种综合了增量调制和脉冲编码调制两者特点的调制方法进行编码,这种编码方式被简称为脉码增量调制,或称差值脉码调制,用DPCM表示。2.2 运行环境本次课程小设计使用的软件平台为MATLAB2014a。2.3 编码算法原理及流程图 DPCM有损编、解码原理图系统包括,发送、接收和信道传输三个部分。发送端由编码器、量化器、预测器和加减法器组成;接收端包括解码器和预测器等;信道传送以虚线表示。由图可见DPCM系统具有结构简单,容易用硬件实现(接收端的预测器和发送端的预测器完全相同)的优点。图中输入信号f(i,j)是坐标为像素

4、点的实际灰度值,是由已出现先前相邻像素点的灰度值对该像素点的预测灰度值。是预测误差。假如发送端不带量化器,直接对预测误差进行编码、传送,接收端可以无误差地恢复。这是可逆的无失真的DPCM编码,是信息保持编码;但是,如果包含量化器,这时编码器对编码,量化器导致了不可逆的信息损失,这时接收端,经解码恢复出的灰度信号,不是真正的,以表示这时的输出。可见引入量化器会引起一定程度的信息损失,使图像质量受损。但是,为了压缩比特数,利用人眼的视觉特性,对图像信息丢失不易觉察的特点,带有量化器有失真的DPCM编码系统还是普遍被采用。其中无损编码与有损编码的区别在于是否被量化。预测误差不被量化,直接被编码传送的

5、是无损量化,预测误差被量化,再经编码传送的是有损编码。三、 设计与实现Matlab程序如下:%一阶/二阶/三阶/四阶预测的区别不仅在于信号的清晰度,而更重要在于%阶数越高,图像越光滑.clcclearclose all;%从D盘导入图片,以学校风光图片为例实现DPCMI03=imread('cumt.jpg');%把RGB图像转化为灰度图像I02=rgb2gray(I03);I=double(I02);fid1=fopen('mydata1.dat','w');fid2=fopen('mydata2.dat','w'

6、;);fid3=fopen('mydata3.dat','w');fid4=fopen('mydata4.dat','w');m,n=size(I);%对预测信号将边缘锁定,防止程序运行时抓不到数据J1=ones(m,n);J1(1:m,1)=I(1:m,1);J1(1,1:n)=I(1,1:n);J1(1:m,n)=I(1:m,n);J1(m,1:n)=I(m,1:n); J2=ones(m,n);J2(1:m,1)=I(1:m,1);J2(1,1:n)=I(1,1:n);J2(1:m,n)=I(1:m,n);J2(m,1:n)

7、=I(m,1:n); J3=ones(m,n);J3(1:m,1)=I(1:m,1);J3(1,1:n)=I(1,1:n);J3(1:m,n)=I(1:m,n);J3(m,1:n)=I(m,1:n); J4=ones(m,n);J4(1:m,1)=I(1:m,1);J4(1,1:n)=I(1,1:n);J4(1:m,n)=I(1:m,n);J4(m,1:n)=I(m,1:n); %一阶DPCM编码for k=2:m-1 for l=2:n-1 J1(k,l)=I(k,l)-I(k,l-1); endendJ1=round(J1);cont1=fwrite(fid1,J1,'int8&#

8、39;);cc1=fclose(fid1); %二阶DPCM编码for k=2:m-1 for l=2:n-1 J2(k,l)=I(k,l)-(I(k,l-1)/2+I(k-1,l)/2); endendJ2=round(J2);cont2=fwrite(fid2,J2,'int8');cc2=fclose(fid2); %三阶DPCM编码for k=2:m-1 for l=2:n-1J3(k,l)=I(k,l)-(I(k,l-1)*(4/7)+I(k-1,l)*(2/7)+I(k-1,l-1)*(1/7); endendJ3=round(J3);cont3=fwrite(fi

9、d3,J3,'int8');cc3=fclose(fid3); %四阶DPCM编码for k=2:m-1 for l=2:n-1 J4(k,l)=I(k,l)-(I(k,l-1)/2+I(k-1,l)/4+I(k-1,l-1)/8+I(k-1,l+1)/8); endendJ4=round(J4);cont4=fwrite(fid4,J4,'int8');cc4=fclose(fid4);figure(1)subplot(2,2,1);imshow(J1); %一阶绝对残差图像axis offbox offtitle('一阶绝对残差图像');su

10、bplot(2,2,2);imshow(J2); %二阶绝对残差图像axis offbox offtitle('二阶绝对残差图像');subplot(2,2,3);imshow(J3); %三阶绝对残差图像axis offbox offtitle('三阶绝对残差图像');subplot(2,2,4);imshow(J4); %四阶绝对残差图像axis offbox offtitle('四阶绝对残差图像');%=%以上是DPCM编码的编码过程,为了使程序具有连贯性,将编码和解码放在同一个M文件目录下%=%以下是DPCM解码fid1=fopen(&#

11、39;mydata1.dat','r');fid2=fopen('mydata2.dat','r');fid3=fopen('mydata3.dat','r');fid4=fopen('mydata4.dat','r');I11=fread(fid1,cont1,'int8');I12=fread(fid2,cont2,'int8');I13=fread(fid3,cont3,'int8');I14=fread(fid4,con

12、t4,'int8'); tt=1;for l=1:n for k=1:m I1(k,l)=I11(tt); tt=tt+1; endend tt=1;for l=1:n for k=1:m I2(k,l)=I12(tt); tt=tt+1; endend tt=1;for l=1:n for k=1:m I3(k,l)=I13(tt); tt=tt+1; endend tt=1;for l=1:n for k=1:m I4(k,l)=I14(tt); tt=tt+1; endend I1=double(I1);I2=double(I2);I3=double(I3);I4=dou

13、ble(I4); J1=ones(m,n);J1(1:m,1)=I1(1:m,1);J1(1,1:n)=I1(1,1:n);J1(1:m,n)=I1(1:m,n);J1(m,1:n)=I1(m,1:n); J2=ones(m,n);J2(1:m,1)=I2(1:m,1);J2(1,1:n)=I2(1,1:n);J2(1:m,n)=I2(1:m,n);J2(m,1:n)=I2(m,1:n); J3=ones(m,n);J3(1:m,1)=I3(1:m,1);J3(1,1:n)=I3(1,1:n);J3(1:m,n)=I3(1:m,n);J3(m,1:n)=I3(m,1:n); J4=ones(m

14、,n);J4(1:m,1)=I4(1:m,1);J4(1,1:n)=I4(1,1:n);J4(1:m,n)=I4(1:m,n);J4(m,1:n)=I4(m,1:n); %一阶解码for k=2:m-1 for l=2:n-1 J1(k,l)=I1(k,l)+J1(k,l-1); endendcc1=fclose(fid1);J1=uint8(J1); %二阶解码for k=2:m-1 for l=2:n-1 J2(k,l)=I2(k,l)+(J2(k,l-1)/2+J2(k-1,l)/2); endendcc2=fclose(fid2);J2=uint8(J2); %三阶解码for k=2:

15、m-1 for l=2:n-1 J3(k,l)=I3(k,l)+(J3(k,l-1)*(4/7)+J3(k-1,l)*(2/7)+J3(k-1,l-1)*(1/7); endendcc3=fclose(fid3);J3=uint8(J3); %四阶解码for k=2:m-1 for l=2:n-1 J4(k,l)=I4(k,l)+(J4(k,l-1)/2+J4(k-1,l)/4+J4(k-1,l-1)/8+J4(k-1,l+1)/8); end endcc4=fclose(fid4);J4=uint8(J4);for k=1:m for l=1:n d1(k,l)=round(I(k,l)-J

16、1(k,l); endendfor k=1:m for l=1:n d2(k,l)=round(I(k,l)-J2(k,l); endendfor k=1:m for l=1:n d3(k,l)=round(I(k,l)-J3(k,l); endendfor k=1:m for l=1:n d4(k,l)=round(I(k,l)-J4(k,l); endendfigure(1)subplot(2,2,1);imshow(d1); %一阶图像重建后误差 axis offbox offtitle('一阶图像重建后误差');subplot(2,2,2);imshow(d2); %二

17、阶图像重建后误差axis offbox offtitle('二阶图像重建后误差');subplot(2,2,3);imshow(d3); %三阶图像重建后误差axis offbox offtitle('三阶图像重建后误差');subplot(2,2,4);imshow(d4); %四阶图像重建后误差axis offbox offtitle('四阶图像重建后误差');%分区画图figure(2)subplot(3,2,1);imshow(I03);%隐藏坐标轴和边框,以免坐标轴与标题重叠axis offbox offtitle('原始图像&

18、#39;,'fontsize',11,'fontname','隶体');subplot(3,2,2);imshow(I02);axis offbox offtitle('灰度图像','fontsize',11,'fontname','隶体');subplot(3,2,3);imshow(J1);axis offbox offtitle('一阶预测','fontsize',11,'fontname','隶体');subpl

19、ot(3,2,4);imshow(J2);axis offbox offtitle('二阶预测','fontsize',11,'fontname','隶体');subplot(3,2,5);imshow(J3);axis offbox offtitle('三阶预测','fontsize',11,'fontname','隶体');subplot(3,2,6);imshow(J4);axis offbox offtitle('四阶预测','fontsize',11,'fontname','隶体');四、 测试与调

温馨提示

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

最新文档

评论

0/150

提交评论