帧间预测是利用视频时域的相关性,使用邻近已编码图像像素预测当前图像的像素,以达到有效去除视频时域冗余的目的。由于视频序列通常包括较强的时域相关性,因此预测残差通常是“平坦的”,即很多残差值接近于“0”。将残差信号作为后续模块的输入进行变换、量化、扫描及熵编码,可实现对视频信号的高效压缩。
帧间预测包含两块内容:
1.运动估计:为当前图像的每个像素块在之前已编码图像中寻找一个最佳匹配块。
2.运动补偿:根据运动矢量和帧间预测方法,求得当前帧的估计值。
1.运动估计
运动估计(ME)就是指提取当前图像运动信息的过程。
基于像素的运动表示法
由于在图像中准确分割出运动物体的背景是很困难的,目前大多数运动估计算法都是基于像素值进行的。这类方法中,最直接的方法是为每个像素指定一个运动 向量,称为基于像素的运动表示法。该方法普遍适用,但是它需要估计出大量的未知量,而且其解通常并不能反映场景中物体真实的运动情况。此外,该方法需要为每一个像素附加传送一个MV,数据量很高。
基于区域的运动表示法
对于包含多个运动物体的场景,更适用的方法是把一幅图像分为多个区域,使得每个区域恰好表征了一个完整的运动物体,这称为基于区域的运动表示法,每个区域中的像素具有相同的运动形式。然而,由于运动物体的形状往往不规则,因此区域护划分需要大量的信息来表征,而且准确的划分方式需要大量的计算才能确定,因而基于区域的表示法在实际中较少使用。
基于块的运动表示法
为了降低基于区域的运动表示法的复杂度,可以讲图像分为不同大小的像素块,只要块大小选择合适,则各个块的运动形式可以看成是统一的,同时每个块的运动参数可以独立地进行估计,这就是常用的基于块的运动表示法。这种方法兼顾了运动估计精度和复杂度,在二者之间进行了一个较好的这种,因此该方法是视频编码国际标准的核心技术。
1.1 运动估计准则
常用的匹配准则有MSE(Mean square error),MAD(mean absolutie difference )和SAD(Matching-Pixel Count)等。为了简化计算,一般用SAD(Sum of absolute difference)来代替MAD。因为SAD不含乘除法,且便于硬件实现,因而使用最为广泛。SAD准则仅考虑了残差的大小,未考虑编码运动信息所需的比特数。在运动估计过程中使用了拉格朗日率失真优化的方法来选择MV,编码器为每个运动失真计算拉格朗日待机。
J =