预测编码的历史相当之久。最早可以追溯到40年代提出的Delta编码(Delta modulation),乃至于到今日我们都还可以常常在学术性期刊上看到线性预测编码的论文。一个领域研究了五十多年还继续有新的结果不断的出现,一方面很少见,另一方面也足见有其重要性了。
预测编码是属于时间领域的编码法。他的基本理念是(有几分马可夫过程的味道)利用前面已经出现了的符号来预测目前的符号,然后将实际上的符号与预测符号得到预测误差,将此误差编码并送出。预测误差的编码法可以采用无失真资料压缩法或失真资料压缩法。若采用前者,则整个系统仍然是无失真资料压所法;反之,若采用后者,则整个系统就成了失真资料压缩法。因此预测编码既是属于无失真资料压所法,也是属于失真资料压缩法。
使用预测编码的动机是误差讯号的变化要比原讯号的变化小许多,因此我们可以使用比较少的位元来为每一个误差讯号的取样做编码以达到资料压缩的目的。
本条目将介绍两个著名的技术:
Delta编码与误差讯号编码(differential pulse code modulation)。两种技术都各有适应性与非适应性两种方法。
Delta编码(Delta modulation)是预测编码中最简单的一种,它使用前一个取样值来预测目前的取样值并且将预测值与实际值之误差量化成只有两阶。如果这个误差值为正,则加随意设定根据目前之根据目前之所求得之新的
在大部分得情况下,及的值会很快的收敛,因此算法可以在几次轮回后即跳出。
DPCM的最大限制便是他的预测器及量化器都是固定的。可以让他具备适应性:或者在预测器、或者在量化器、或者两者都加上适应性。适应性预测器通常都可以降低预测误差。较低的预测误差输入到量化器内,在相同的位元率下,其量化误差也会比较小,因此重建讯号品质会较高。另一方面,适应性量化可以借由统计的方式机动的改变与值而直接降低量化误差。
非适应性的预测器通常在讯号产生突然的变化时会有很差的表现,例如影像的边。我们可以针对不同方向的边各设计一组预测器系数。采用一些常用的经验法则去判断边的方向,然后根据边的方向选组一组预测器。
另一个方法是在预测器的输出再乘以一个适应性系数。适应性系数k的值决定于前一个量化器的重建值。如果前一个重建值是一个最大的正数,那么有很大的可能性会是斜率超负载的情况,因此我们可以选择k大于1以加快重建讯号的脚步。且这方法也可以改善整个系统的品质。
虽然以上两个方法都能重现讯号之品质有所改善,一般大家所常用的还是固定的预测器加上一个适应性量化器。
为了配合DPCM回圈内之量化器具备适应性,已经有许多方法可用,如下所示:
误差讯号常态化:由于一般在设计DPCM回圈内的量化器时常都是假设误差讯号Laplacian分布,因此标准差可以很容易就求得
替代量化器:另一种方法则是使用好几个量化器来配合误差讯号。以马可夫过程来描述误差讯号,决定于目前的马可夫过程走到那一个状态,我们可以选择一个特定的量化器。一般二阶、三阶的马可夫过程都有人使用
空间罩(spatial masking):就影像的DPCM系统,通常我们所使用来预测目前取药值的不会只是左方的取样,通常还包刮上方、左上方、右上方等取样,形成二维的情况。
映射量化器:由于DPCM的误差讯号是预测值与实际值的差,他可能为正为负。为了保持住这个正负号,我们必须使用一个位元来表示,所以我们少了一个表示大小的位元,但其实是可以省下来这个位元的。