多语言展示
当前在线:634今日阅读:61今日分享:18

H.264编码中的运动估计和补偿方法

H.264视频编码标准是由ITU-T SG16 Q.6视频编码专家组联合ISC/IEC运动图像专家组共同制定的。H.264为了提高压缩率应用了一些计算度很高的算法,其中运动估计是计算度最高的,这个算法通过在参考帧或者参考块中寻找与当前块相似度最高的匹配块来达到减少需要传输的比特数和占用的网络带宽之目的。由于H.264在运动估计中不仅采用了整象素估计还采用了高精度的分数象素估计,同时引入了多参考帧技术,在多个参考帧中寻找最佳运动矢量,导致它在提高匹配精度的同时也大幅增加了编码复杂度。为了降低运动搜索的复杂度,H.264的官方模型采用了基于预测子集的运动估计算法,这些算法比起只专注于搜索模式的快速搜索算法(三步搜索算法,钻石搜索算法,四步搜索算法)大幅度提高了搜索的效率,因为充分利用了图像的空间与时间相关性。
运动补偿
1

H.264采用了不同大小和形状的宏块分割与亚分割的方法。一个宏块的16×16亮度值可以按照16×16、16×8、8×16或8×8进行分割;而如果选择了8×8分割,还可以按照8×8、8×4、4×8或4×4进行亚分割。这些宏块分割与亚分割的方法将会使得每个宏块中包含有许多不同大小块。利用各种大小的块进行运动补偿的方法我们将称为树结构的运动补偿(tree structured motion compensation)。

2

宏块分割与亚分割所产生的每一个亮度块都有自己独立的运动矢量。对于宏块中色度值,分割方法是和亮度一样的,但是由于 4∶2∶0采样的关系,色度分割块的大小是亮度分割块的一半,而且当色度块在利用运动矢量时,必须要将它各个分量除以2。其次,H.264可以达到1/4 像素的运动精度,这是通过利用整像素点的亮度值进行内插得到的。

4

再次,H.264还可以采用多参考图像(最多前向和后向各5帧)来进行运动预测,这样可以对周期性运动,平移封闭运动和不断在两个场景间切换的视频流有效果非常好的运动预测。使用了多参考图像,H.264不仅能够提高编码效率,同时也能实现更好的码流误码恢复,但需要增加额外的时延和存储容量。

5

最后,H.264也在B图像中利用后向运动预测,这和以前的标准是一致的,但不同的是B图像通过加权也能作为其他图像的参考图像。在H.264/AVC标准中获得运动补偿的块结构大小不再局限于在宏块的基础上,可以从宏块的分块或子分块中获取运动矢量。

6

每个运动矢量都将会被编码、传送,另外分块方式也必须被编码在数据流中。选择大的分块方式(16×16、16×8或8×16)也许只需要传送很少的比特用于说明运动矢量和分块方式,但是运动补偿后抽样点差值也许将会比较大。选择小的分块方式(8×4或4×4)也许能得到很小运动补偿后抽样点差值,但是要花费很多比特去传输运动矢量和分块方式。因此对于分块的选择将会对压缩效果有着重大的影响。

7

通常,大的分块方式用于帧内均匀的部分,而小的分块方式将有利于图像中细节描述,每个色度块将按照亮度的分块方式进行分块。由于宏块中色度分辨率是亮度分辨率的一半,因此色度块的大小不管在水平还是垂直方向上都只是亮度块的一半。同时,色度块上垂直运动向量和水平运动向量也只是亮度块的一半。

运动估计ME
1

将活动图像分为若干块或宏块,并设法搜索出每个块或宏块在邻近帧图像中的位置,并得出两者空间位置的相对偏移量,即运动矢量MV,得到运动矢量的过程即为运动估计,其研究的内容就是如何加速有效地获得足够精确的mv,并且把前一帧所得的运动信息通过运动补偿来进行变换,量化编码,最后输出。

2

运动估计方法主要有像素递归法和块匹配法两大类,前者复杂度很高,实际应用较少,后者则在H.263和MPEG中广泛采用。

运动估计与运动补偿技术
1

MPEG-4采用I-VOP、P-VOP、B-VOP三种帧格式来表征不同的运动补偿类型。它采用了H.263中的半像素搜索技术和重叠运动补偿技术,同时又引入重复填充技术和修改的块(多边形)匹配技术以支持任意形状的VOP(视频对象平面)区域。

2

此外,为提高运动估计算法精度,MPEG-4采用了MVFAST(Motion Vector Field Adaptive Search Technique)和改进的PMVFAST(Predictive MVFAST)方法用于运动估计。对于全局运动估计,则采用了基于特征的快速顽健的FFRGMET(Feature-based Fast and Robust Global Motion Estimation Technique)方法。

推荐信息