关键词:视频压缩;重叠块运动补偿,编码模式
随着网络和多媒体技术的发展,越来越多的数字视频业务不断涌现。H.264标准正是为适应各种业务增长对于运动图像压缩率的更高要求而制定的。在H.264中,引入了可变大小的块运动预测、多帧预测、1/4像素插值等技术,以进一步提高运动预测的精度,提高了视频压缩效率。
在高压缩效率下,基于块运动预测和补偿(block motion compensation,BMC)的视频压缩算法会产生块效应,严重影响了重建视频的主观质量。在H.264中,在运动预测/补偿环路中引入去除块效应滤波器以降低块效应的影响。另一方面,文证明了重叠块运动补偿(overlapped blockmotion compensation,OBMC)也是降低块效应、提高预测精度的一种有效手段,并研究了最优重叠块匹配加权窗的系数设计方法。但以上算法尚未在重叠块运动补偿中有效利用H.264现有编码框架中的多种预测模式,在H.264框架中引入重叠块运动补偿,可以进一步提高其编码效率。
本文提出了一种基于编码模式的自适应重叠块运动补偿算法。该算法根据周围已编码块的编码模式,自适应选择加权系数提高当前编码块的运动预测精度。实验结果表明,本算法在高码率时,最大编码增益可达0.21 dB,提高了H.264的编码效率。
1 基于编码模式的自适应重叠块运动补偿
文提出重叠块运动补偿提高了预测精度和编码效率,并均衡了失真分布。在OBMC中,对于当前编码块,可以拥有多个备选运动矢量,包括其自身的运动矢量和周围已编码块的运动矢量。通过引入一组加权系数,对每个候选的运动预测块加权得到最终的运动预测。
考虑到H.264中最基本的编码单位是4×4,为了描述方便,本算法中的OBMC选择的块大小为4×4。在实际实现中,为了提高运算速度,可以针对不同的编码模式采取相应的OBMC块大小。对于当前帧内每个块,如图1所示,其备选运动矢量集由其自身的运动矢量和周围块的运动矢量组成。令Bc表示当前编码块,Bi(i=1,2,3,4)表示其相邻块,相应的运动矢量为vc、vi。
如图2所示,假设p表示当前编码块内像素的坐标,表示该像素采用OBMC得到的运动预测值,则有
其中,fn-1(p)表示参考帧中位置p处的像素值,而ωc(p)、ωi(p),1≤i≤4分别表示OBMC的加权系数,且应满足以下约束
在对Bc块进行编码时,B2和B4块的运动矢量有可能还未进行编码(当B2、B4块与Bc块不在同一个宏块中时)。此时为了保证编、解码的同步,约定B2和B4的运动矢量设为vc。
由于块Bi内不同位置p的加权系数是不均匀的,它们的取值构成加权矩阵Wi。Wi的设置在很大程度上影响了OBMC的编码效率。文给出了若干Wi的选取方法,然而,它针对的是运动预测块的划分为固定的情况。
由于H.264中采取了可变大小块运动预测,从定性上来看,划分较小的运动预测块所对应的运动矢量一般来说更加精确,也更能够反映相邻块的运动趋势。基于该假设,属于较小划分的块所对应的运动矢量,在OBMC中应被赋予更大的权重,以进一步提高OBMC的运动预测精度,提高编码效率。
根据这一推论,本算法采用了一种基于编码模式的自适应OBMC算法。对于当前编码块Bc的每个邻近块Bi,定义一个加权矩阵集合si,根据Bc和Bi的编码模式,选取合适的加权矩阵Wi∈Si。也就是说,加权矩阵的选取策略取决于2个块各自对应的编码模式。例如,假设相邻块Bl对应的运动预测块大小为8×8,当Bc的预测块大小为16×16,相应于v1的加权系数矩阵为W161,当Bc的预测块大小为4×4时,相应于v1的加权系数矩阵为W41。加权矩阵的选择策略应该保证对于加权矩阵中每个位置(m,n)的系数,都有。在实际实现中,可以采用查找表来存储选择策略。同时,加权矩阵集合和相应的选择策略可以通过对若干测试序列进行训练而获得。
在采用OBMC后,相应运动搜索的度量准则应进行相应的修正。在本文中,为了降低实现复杂度,对运动矢量的搜索不采取迭代的方法。此时,在进行运动搜索时,当前块选取的运动矢量不仅决定了其自身的运动预测值,也会影响到其右边及下边块的运动预测值(左边及上边块的运动矢量已经确定,不再进行考虑)。为了反映这种影响,将运动搜索的准则重