04 November 2015

在数字信号的有损编码中,量化是一个关键步骤。所谓量化,简单来说就是把信源变量的一个区间内的所有值映射到一个值。这个区间称为量化间隔,对应的值称为重建值。 如果多个信源符号一起量化,就称为向量量化。如果每次量化一个符号,就是标量量化。向量量化是标量量化的扩展形式,其设计和实现也更复杂。 目前实用的编码中一般采用的还是标量量化器。

下面是一个常用的标量量化器的图示:

其中T是量化阈值,它们之间的区域就是量化间隔,R是重建值,s、z、f是量化器设计中的一些参数。

可以看到这个量化器在0处有个死区,除此之外的量化间隔都是相等的;重建值除了0处外,互相也都是等间隔的。这个量化器的名字叫Dead Zone plus Uniform Threshold Quantization with Nearly Uniform Reconstruction Quantizer(死区加均匀阈值量化与近似均匀重建量化器),很全面地反映了它的上述特点。

事实上,这是一个应用很广泛的量化器设计方案,在H.264/AVC, JPEG等视频和图片压缩标准中都有它的影子。随着s、z、f的不同,这个方案也呈现不同的特例。例如,当z为0时,死区就没了,变成了均匀阈值量化器;而当f为0时,就变成了均匀重建的量化器。s称为量化步长,控制着量化的精细度。s越大,量化粒度越粗,重建值与原始值的失真也越大,但量化器输出结果会更容易压缩,也就是说需要更低的码率。

失真和码率是一对矛盾。在设计量化器时,我们希望它在同样失真下的情况下码率尽可能低,或者在同样码率下能有尽可能小的失真。率失真性能是一个量化器好坏的度量,类似平时经常提到的性价比。

关于不同量化器在不同信源分布下的率失真性能,以及对于某种信源分布如何设计最优的量化器,已经有了不少的研究。