预测编码之帧间预测(Inter-Picture Prediction)
帧间预测是指利用视频时间域相关性,使用临近已编码图像像素预测当前图像的像素,以达到有效去除视频时域冗余的目的。由于视频序列通常包括较强的时域相关性,因此预测残差值接近于0,将残差信号作为后续模块的输入进行变换、量化、扫描及熵编码,可实现对视频信号的高效压缩。
一、帧间预测编码原理
目前主要的视频编码标准帧间预测部分都采用了基于块的运动补偿技术,如下图所示,其基本原理为:当前图像的每个像素块在之前已编码图像中寻找一个最佳匹配块,该过程称为运动估计ME(Motion Estimation)。其中用于预测的图像称为参考图像,参考块到当前像素块的位移称为运动向量MV(Motion Vector),当前像素块与参考块的差值称为预测残差(Prediction Residual)。将残差信号作为后续模块的输入进行变换、量化、扫描及熵编码,可实现对视频信号的高效压缩。根据运动矢量MV,将前一帧(或前几帧、后几帧)的运动位移块图像做相应的位移得到当前帧当前块的运动预测估计值,这样就可以得到当前帧的帧间预测帧,这一过程称为运动补偿MC(Motion Compensation)。
需要注意的是:运动估计得到的运动矢量不只用于运动补偿,而且还被传送至解码器中,解码器根据运动矢量经过运动补偿可以得到和编码端完全相同的预测图像,从而实现正确图像解码。
其实,帧内预测和帧间预测有很多类似的地方,只不过帧内预测所采用的参考像素来源于当前帧已编码的像素值,而帧间预测的参考像素来源于已编码的前一帧(或前几帧、后几帧)。类似于帧间预测中编码器需要将运动矢量MV传给解码端,解码端根据运动矢量可以获取和编码端完全相同的预测块;在帧内编码模式下,编码器需要把实际采用的帧内预测模式信息传给解码器,解码端可以根据这个预测模式信息获得与编码器完全相同的帧内预测块。由此可见,运动矢量和帧内预测模式有着完全相同的重要性,它们都在宏块头中用特定的语法元素表示。
二、帧间预测编码的关键技术
在帧间预测编码过程中,最重要的操作就是运动估计、MV预测以及多参考帧和加权预测,下面对它们一一进行分析。
1、运动估计
所谓运动估计ME就是指提取当前图像运动信息的过程。在运动估计中,常见的运动表示法主要包括:基于像素的运动表示法、基于区域的运动表示法和基于块的运动表示法。
(1)、基于像素的运动表示法:直接为每个像素指定一个运动向量。此法普遍适用,但是需要估计出大量的未知量,而且其解通常不能反映场景中物体真实的运动情况,此外,该方法需要为每一个像素附加传送一个MV,数据量很高。
(2)、基于区域的运动表示法:把一幅图像分为多个区域,使得每个区域恰好表征了一个完整的运动物体。此法默认每个区域中的像素具有相同的运动形式&#x