量化是实现数据有损压缩的一个非常重要步骤。JPEG2000里面对小波系数的有损量化有个叫"死区标量量化"的东西(deadzone scalar quantization)。听起来很唬人的东西,其实就是说在待量化系数在"死区"的范围内,被量化为0。而这个"死区"就是量化系数的两倍。
好了,在讨论量化系数之前,我们先看看这些量化系数的由来。在有损压缩中,我们的系数一般一开始是8位的0~255的颜色分量。这些系数经过电平偏移(DC level shifting),变成了-128~127的系数。然后是CDF9/7小波变换,因为小波变换后,样本有可能超出范围,因此我们还要扩大这个范围:[-2G+R-1,2G+R-1],R是我们原先图像的比特深度,比如8。在CDF9/7小波变换中,我们取G=1,即范围扩大为[-1,1],就足够了。但在JASPER里面,估计作者为了稳重起见,把G默认为2。
在JPEG2000里面,还有一个很重要的量:标称动态范围Gb,在CDF9/7小波变换中,Gb=0。但在5/3小波中,Gb随子带不同而不同。具体是LL子带为0,LH和HL为1,HH为2。这其实就是在上面的范围[-2G+R-1,2G+R-1]再扩大范围,于是最终的量化前范围是
[-2G+R-1+