数字图像处理-预测编码
- 格式:ppt
- 大小:362.50 KB
- 文档页数:20
4.4预测编码1.预测编码的基本原理预测编码(Prediction Coding)是根据某一种模型,利用以前的(已收到)一个或几个样值,对当前的(正在接收的)样本值进行预测,将样本实际值和预测值之差进行编码。
如果模型足够好,图像样本时间上相关性很强,一定可以获得较高的压缩比。
具体来说,从相邻像素之间有很强的相关性特点考虑,比如当前像素的灰度或颜色信号,数值上与其相邻像素总是比较接近,除非处于边界状态。
那么,当前像素的灰度或颜色信号的数值,可用前面已出现的像素的值,进行预测(估计),得到一个预测值(估计值),将实际值与预测值求差,对这个差值信号进行编码、传送,这种编码方法称为预测编码方法。
预测编码的基本思想建立一个数学模型利用以往的样本数据对新样本值进行预测将预测值与实际值相减对其差值进行编码,这时差值很少,可以减少编码码位。
2.预测编码的分类最佳预测编码:在均方误差最小的准则下,使其误差最小的方法。
线性预测:利用线性方程计算预测值的编码方法。
非线性预测:利用非线性方程计算预测值的编码方法。
线性预测编码方法,也称差值脉冲编码调制法(Differention Pulse Code Modulation,DPCM)。
如果根据同一帧样本进行预测的编码方法叫帧内预测编码。
根据不同帧样本进行预测的编码方法叫帧间预测编码。
如果预测器和量化器参数按图像局部特性进行调整,称为自适应预测编码(ADPCM)在帧间预测编码中,若帧间对应像素样本值超过某一阈值就保留,否则不传或不存,恢复时就用上一帧对应像素样本值来代替,称为条件补充帧间预测编码。
在活动图像预测编码中,根据画面运动情况,对图像加以补偿再进行帧间预测的方法称为运动补偿预测编码方法。
3.DPCM编码算法一幅二维静止图像,设空间坐标(i,j)像素点的实际样本为f(i,j),是预测器根据传输的相邻的样本值对该点估算得到的预测(估计)值。
编码时不是对每个样本值进行量化,而是预测下一个样本值后,量化实际值与预测值之间的差。
试论数字图像编码技术[摘要] 本文论述了数字图像编码技术的必要性和可行性.介绍了三种编码方式(信息保持编码、保真度编码、特征提取),并对具体的编码方法进行了分类(平均信息法、预测编码法、变换编码方法等),最后对图像编码技术的发展方向进行了展望。
[关键词] 数字图像、编码编码方法中图分类号:tn131+.4 文献标识码:a 文章编号:1 引言数字图像处理又称为计算机图像处理,它是指将图像信号转换成数字信号并利用计算机对其进行处理的过程。
早期图像处理的目的是改善图像的质量,它以人为对象,以改善人的视觉效果为目的。
图像处理中,输入的是质量低的图像,输出的是改善质量后的图像。
常见的图像处理有图像数字化、图像编码、图像增强、图像复原、图像分割与图像分析等。
图像编码是对图像信息进行编码,可以压缩图像的信息量,以便满足传输与存储的要求。
本文主要介绍了图像编码的基本原理和技术方法。
一幅二维数字图像可以由一个二维亮度函数通过采样和量化后而得到的一个二维数组表示。
这样一个二维数组的数据量通常很大,从而对存储、处理和传输都带来了许多问题,提出了许多新的要求。
为此人们试图采用对图像新的表达方法以减少表示一幅图像需要的数据量,这就是图像编码所要解决的主要问题。
压缩数据量的主要方法是消除冗余数据,从数学角度来讲是要将原始图像转化为从统计角度看尽可能不相关的数据集。
这个转换要在图像进行存储、处理和传输之前进行,然后将压缩了的图像解压缩以重建原始图像,即通常所称的图像编码和图像解码。
2 传统编码方法传统的编码方法可以分成两大类,预测编码方法(对应空域方法)和变换编码方法(对应频域编码方法)。
预测编码方法的优点是:算法一般较简单,易于用硬件实现;缺点是:压缩比不够大,承受误码的能力较差。
由于它采用的最小均方误差准则不能反映人眼的视觉心理特性,近年来已较少单独采用,而是与其他方法混合使用。
另外,由于dpcm编码系统会引起斜率过载、界线繁忙、颗粒噪声和轮廓噪声,在使用中应加以考虑。
实验4 DPCM预测编码一、实验目的1了解图像压缩的意义和手段;2熟悉DPCM预测编码的基本性质;3熟练掌握DPCM预测编码的方法与应用;4掌握利用MA TLAB编程实现数字图像的DPCM预测编码。
二、实验原理DPCM编码,简称差值编码,是对模拟信号幅度抽样的差值进行量化编码的调制方式(抽样差值的含义请参见“增量调制”)。
这种方式是用已经过去的抽样值来预测当前的抽样值,对它们的差值进行编码。
差值编码可以提高编码频率,这种技术已应用于模拟信号的数字通信之中。
对于有些信号(例如图像信号)由于信号的瞬时斜率比较大,很容易引起过载,因此,不能用简单增量调制进行编码,除此之外,这类信号也没有像话音信号那种音节特性,因而也不能采用像音节压扩那样的方法,只能采用瞬时压扩的方法。
但瞬时压扩实现起来比较困难,因此,对于这类瞬时斜率比较大的信号,通常采用一种综合了增量调制和脉冲编码调制两者特点的调制方法进行编码,这种编码方式被简称为脉码增量调制,或称差值脉码调制,用DPCM表示。
三、实验报告内容1.用MATLAB编程实现对图像的DPCM预测编码2叙述实验过程;3提交实验的原始图像和结果图像。
解:Matlab程序如下:%本文是数字图像处理的一个源程序%实现的功能是DPCM编码%DPCM编码,简称差值编码,是对模拟信号幅度抽样的差值进行量化编码的调制方式%本程序实现一阶/二阶/三阶/四阶DPCM数字信号预测%一阶/二阶/三阶/四阶预测的区别不仅在于信号的清晰度,而更重要在于%阶数越高,图像越光滑.clcclearclose all;%从D盘导入图片,以学校风光图片为例实现DPCMI03=imread('图片3.jpg');%把RGB图像转化为灰度图像I02=rgb2gray(I03);I=double(I02);fid1=fopen('mydata1.dat','w');fid2=fopen('mydata2.dat','w');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)=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-1for l=2:n-1J1(k,l)=I(k,l)-I(k,l-1);endendJ1=round(J1);cont1=fwrite(fid1,J1,'int8');cc1=fclose(fid1);%二阶DPCM编码for k=2:m-1for l=2:n-1J2(k,l)=I(k,l)-(I(k,l-1)/2+I(k-1,l)/2);endJ2=round(J2);cont2=fwrite(fid2,J2,'int8');cc2=fclose(fid2);%三阶DPCM编码for k=2:m-1for 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(fid3,J3,'int8');cc3=fclose(fid3);%四阶DPCM编码for k=2:m-1for l=2:n-1J4(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);%==================================================================== =%以上是DPCM编码的编码过程,为了使程序具有连贯性,将编码和解码放在同一个M文件目录下%==================================================================== =%以下是DPCM解码fid1=fopen('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,cont4,'int8');tt=1;for k=1:mI1(k,l)=I11(tt); tt=tt+1;endendtt=1;for l=1:nfor k=1:mI2(k,l)=I12(tt); tt=tt+1;endendtt=1;for l=1:nfor k=1:mI3(k,l)=I13(tt); tt=tt+1;endendtt=1;for l=1:nfor k=1:mI4(k,l)=I14(tt); tt=tt+1;endendI1=double(I1);I2=double(I2);I3=double(I3);I4=double(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,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-1for l=2:n-1J1(k,l)=I1(k,l)+J1(k,l-1);endendcc1=fclose(fid1);J1=uint8(J1);%二阶解码for k=2:m-1for l=2:n-1J2(k,l)=I2(k,l)+(J2(k,l-1)/2+J2(k-1,l)/2);endendcc2=fclose(fid2);J2=uint8(J2);%三阶解码for k=2:m-1for l=2:n-1J3(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-1for l=2:n-1J4(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) ;endendcc4=fclose(fid4);J4=uint8(J4);%分区画图figure(1)subplot(3,2,1);imshow(I03);%隐藏坐标轴和边框,以免坐标轴与标题重叠axis offbox offtitle('原始图像','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','隶体');subplot(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.DPCM预测编码有什么特点?答:预测编码是根据离散信号之间存在着一定关联性的特点,利用前面一个或多个信号预测下一个信号进行,然后对实际值和预测值的差(预测误差)进行编码。