预测编码,顾名思义预测就是利用前面的一个或者多个信号对下一个信号进行预测。预测编码就是根据离散信号之间存在的一定相关性特点进行预测,不同的是预测编码是对实际值与预测值的差值进行编码。
如果预测的足够准确,那么误差信号就会很小,这样需要的码位也会大大减少,达到数据压缩的目的。举个例子:
收端解码时预测过程与发端相同,预测器也相同,收端输出的信号是发端的近似值,两者误差是:
Ps:每行最开始的几个像素无法预测,需要其他的编码方式编码
有损的预测编码—DPCM编码
预测编码是一种有损编码。所谓的有损其实就是在无损编码基础上加上个量化器。卡特勒的专利中提到,利用积分器根据一行上前样本值预测现样本值,再把现样本值与其估计值的差值进行量化编码。具体编译过程如下:
编码过程:
- 输入信号f(t)经采样后将样值输入比较器,使f(t)与预测值相减得出误差信号,即e(t)=f(t)-^f(t)
- 然后将e(t)送入量化器量化,量化后的样值编码传输
- 另一路是将e(t)送入相加器,e(t).(公式要改写) 相加后送入预测器来预测下一个样值。
译码过程:
- 译码器收到码字后经过译码得到e(t)后送入相加器与预测值 相加得到f(t)
- f(t)同时送到预测器用于预测下一个样值。
针对图像的预测编码从相邻像素之间较强的相关性(比如当前像素的灰度值或颜色信号数值上与其相邻像素值总是比较接近的)入手,用前面出现的像素值进行预测,将预测值与实际值求差,对这个差值进行编码传输。DPCM编码效果如下。
DPCM编码中不同预测器效果比较
DPCM编码中不同量化器效果比较
除了预测编码还有一些其他编码方式,我们将会在后续文章中与大家分享。