DPCM 压缩系统的实现和分析

1、DPCM编解码原理

DPCM是差分预测编码调制的缩写,是比较典型的预测编码系统。在DPCM系统中,需要注意的是预测器的输入是已经解码以后的样本。之所以不用原始样本来做预测,是因为在解码端无法得到原始样本,只能得到存在误差的样本。因此,在DPCM编码器中实际内嵌了一个解码器,如编码器中虚线框中所示。

在一个DPCM系统中,有两个因素需要设计:预测器和量化器。理想情况下,预测器和量化器应进行联合优化。实际中,采用一种次优的设计方法:分别进行线性预测器和
量化器的优化设计。

DPCM 压缩系统的实现和分析_第1张图片

DPCM 压缩系统的实现和分析_第2张图片

2、DPCM编码系统的设计

在本次实验中,我们采用固定预测器和均匀量化器。预测器采用左侧、上方预测均可。量化器采用8比特均匀量化。本实验的目标是验证DPCM编码的编码效率。首先读取一个
256级的灰度图像,采用自己设定的预测方法计算预测误差,并对预测误差进行8比特均匀量化,还可对预测误差进行1比特、2比特和4比特的量化设计。
在DPCM编码器实现的过程中可同时输出预测误差图像和重建图像。将预测误差图像写入文件并将该文件输入Huffman编码器,得到输出码流、给出概率分布图并计算压缩比。将原始图像文件输入输入Huffman编码器,得到输出码流、给出概率分布图并计算压缩比。最后比较两种系统(DPCM+熵编码和仅进行熵编码)之间的编码效率(压缩比和图像质量)。

二、量化

需要决定的参数
1、 量化区间的数目
2、 决策边界(判决门限)
3、 重构水平
4、 量化区间索引的码字(量化码字)
量化器的设计是码率与失真之间的折中, 为了降低编码的比特数,需要减低量化区间的数目,但是会带来更大的误差。
性能受率失真理论控制:1、给定允许失真,求最小码率的量化器 ;2、 给定码率,求最小失真的量化器。

均匀量化: 均匀量化器只对均匀分布信源是最佳的。

DPCM 压缩系统的实现和分析_第3张图片

三、主要代码

void DPCM(unsigned long w,unsigned long h,unsigned char * y,unsigned char * q,unsigned char *yy) //y为原始输入,yy为重现,q为误差的量化值 
{   
	unsigned long i,j;
	unsigned char  P;
	for(j=0;j[-127,127]-->[1,255]
                   yy[j*w+i]=(q[j*w+i]-128)*2+P;//进行反量化,经过运算得到重建值
		}
	}

}

四、实验结果

选取10张图片进行实验。由于其中三张像素较大,不好截图展现效果,下面截图其他7张的效果图。

图片从左到右一次为:原始图像、预测误差图像、重现图像。

DPCM 压缩系统的实现和分析_第4张图片

DPCM 压缩系统的实现和分析_第5张图片

DPCM 压缩系统的实现和分析_第6张图片

DPCM 压缩系统的实现和分析_第7张图片

DPCM 压缩系统的实现和分析_第8张图片

DPCM 压缩系统的实现和分析_第9张图片

DPCM 压缩系统的实现和分析_第10张图片

下面为原始图像和预测误差图像的概率分布图比较:

自己找的文件1:

DPCM 压缩系统的实现和分析_第11张图片DPCM 压缩系统的实现和分析_第12张图片
自己找的文件2:

DPCM 压缩系统的实现和分析_第13张图片DPCM 压缩系统的实现和分析_第14张图片

 test Birds:

DPCM 压缩系统的实现和分析_第15张图片    DPCM 压缩系统的实现和分析_第16张图片

test Camman:

DPCM 压缩系统的实现和分析_第17张图片 DPCM 压缩系统的实现和分析_第18张图片

test clown:

DPCM 压缩系统的实现和分析_第19张图片   DPCM 压缩系统的实现和分析_第20张图片

test   fruit:

DPCM 压缩系统的实现和分析_第21张图片 DPCM 压缩系统的实现和分析_第22张图片

test  lena:

DPCM 压缩系统的实现和分析_第23张图片 DPCM 压缩系统的实现和分析_第24张图片

test noise:

DPCM 压缩系统的实现和分析_第25张图片 DPCM 压缩系统的实现和分析_第26张图片

test  Zone:

DPCM 压缩系统的实现和分析_第27张图片    DPCM 压缩系统的实现和分析_第28张图片

test odie:

DPCM 压缩系统的实现和分析_第29张图片      DPCM 压缩系统的实现和分析_第30张图片

DPCM+熵编码和仅进行熵编码的压缩比比较

文件名   原始图像 压缩后 压缩比 预测误差 压缩后 压缩比
1 1.75MB 1555KB 1.1524 1.75MB 701 KB 2.5563
2 0.98MB 770KB 1.3033 0.98MB 405 KB 2.4778
Camman 96KB 61KB 1.5738 96KB 39 KB 2.4615
Clown 96KB 70KB 1.3714 96KB 47 KB 2.0426
Fruit 96KB 70 KB 1.3714 96KB 42 KB 2.2857
Lena 96KB 69 KB 1.3913 96KB

45 KB

2.1333
Noise 96KB 65 KB 1.4769 96KB 73 KB 1.3151
Odie 96KB 20 KB 4.8 96KB 17 KB 5.6471
Birds 576KB 520 KB 1.1077 576KB 333 KB 1.7297
Zone 96KB 60 KB 1.6 96KB 72 KB 1.3333
经对比发现,DPCM+熵编码的压缩比大于仅进行熵编码的压缩比。

初出茅庐,还请各位大神指教!

你可能感兴趣的:(数据压缩实验报告)