一.DPCM编码介绍
1.DPCM编解码原理
DPCM是一种预测编码,使用预测编码的基本前提是认为信源的相邻符号是相关的,预测编码就是利用信源相邻符合之间的相关性根据某一模型利用以往的样本值对新样本进行预测,然后将样本的实际值与其预测值相减得到一个误差值,最后对这一误差值进行编码。
DPCM是差分预测编码调制的缩写,是比较典型的预测编码系统。在DPCM系统中,需要注意的是预测器的输入是已经解码以后的样本。之所以不用原始样本来做预测,是因为在解码端无法得到原始样本,只能得到存在误差的样本。因此,在DPCM编码器中实际内嵌了一个解码器,如编码器中虚线框中所示。
在一个DPCM系统中,有两个因素需要设计:预测器和量化器。理想情况下,预测器和量化器应进行联合优化。实际中,采用一种次优的设计方法:分别进行线性预测器和量化器的优化设计
二.实验过程:
1.DPCM:
void DPCM_L(int width, int height, void* y_buffer, void* reb_buffer, void* per_buffer)
{
unsigned char* y_b = NULL;
unsigned char* reb_b = NULL;
unsigned char* per_b = NULL;
y_b = (unsigned char*)y_buffer;
reb_b = (unsigned char*)reb_bu