:进一步节省图像传输码率→对图像信号进行压缩→方法→去除图像信号中的相关性,减少图像编码的动态范围变换编码 量化技术将图像时频信号变换成频域信号 根据图像动态范围的 大小确定量化参数信号能量集中在低频,,将两个过程中的乘法合二为一,并进一步采用整 数运算,减少了编解码的运算量,提高图像压缩的实时性流程图:(1)一维N点离散余弦变化(DCT)为:其中,是输入时域序列的第n项,是输出频域序列中的第k项,系数定义为:对,k=0时的系数为直流分量,其它系数成为AC系数。(2)二维N*N点图像块的离散余弦变化(DCT)为:可理解为先对图像块的每行进行一维DCT,在对经行变换的块的每列再应用一维DCT。可以表示为:为图像块中第i行第j列图像的残差值,是变换结果矩阵Y相应频率点上的DCT系数。用矩阵表示:其中,。*4的图像块进行操作,则相应的4*4的DCT变换矩阵A为:设,则A中a,b,c是实数,而图像块X中元素是整数。对实数的DCT,由于在解码端的浮点运算精度问题,会造成解码后的数据的失配,进而引起漂移。,其对预测漂移是十分敏感的,因此,对A进行改造,采用整数DCT技术,可有效减少计算量,同时不损失图像的准确度。,为简化,取d=.“”表示结果中的每个元素乘以矩阵E中对应位置上的系数值的运算。同时为了保持变换的正交性,对b修正,取。对矩阵C中第2行和第4行,和CT中的第2列和第4列,乘以2改造,改造矩阵E为Ef。(1)“”对每个矩阵元素只进行一次乘法。 归纳到量化里。只剩下整数的加法、减法和移位运算。实际的DCT输出为: (2)r=2:整数DCT变换 r=1:Hadamard变换(程序中用的算法)(1),量化步长一共52个值。QP是量化参数,是量化步长的序号。 QP每增加6,增加一倍。(QP小,量化精细;QP大,量化粗糙)亮度编码:采用QP值范围0—51;色度编码:采用QP值范围0—39。(避免在较高的量化步长时出现颜色量化人工效应)。(2)量化理论:,量化过程是对前面(1)式的DCT结果进行操作:其中,是矩阵Y中的转换系数,是输出的量化系数,是量化步长。实际上,“”乘法运算,即:(3)其中,是矩阵W中的转换系数(见(2)式),PF是矩阵中的元素,根据样本点在图像块中的位置(i,j)取值:利用量化步长()随量化参数(QP)每增加6而增加一倍的性质,可以进一步简化计算。设:令: floor()为取整函数(不大于输入实数的最大整数)。式(2)可写成:这样,MF可以取整数,见下表:表中只列出QP值为0到5的MF值,对于QP值大于5的情况,只是qbits值每增加6而增加1,而对应的MF值不变。这样,量化过程则为整数运算,并且可以避免除法。(3)量化运算公式:具体的量化过程的运算为:f为偏移量,用以改善恢复图像的视觉效果。对帧内预测图像块f取,对帧内预测图像块f取。(Hadamard变换)如果当前处理的图像宏块是色度块或帧内16*16预测模式的亮度块,则需要将其中各图像块的DCT变换系数矩阵W中的直流分量或直流系数按对应图像块的顺序排序,组成新的矩阵,再对进行Hadamard变换及量化。(上面的量化过程就不需对各图像块的单独进行量化)(1)帧内16*16预测模式亮度块的直流系数变换量化16*16的图像宏块中有4*4个4*4的图像亮度块,所以亮度块的为4*4矩阵,其组成元素为各图像块DCT的直流系数,见下图:对亮度块的Hadamard变换为:YD是Hadamard变换结果。接着对YD再进行量化输出:
DCT变换及量化 来自淘豆网www.taodocs.com转载请标明出处.