帧间预测: 减少时间冗余

视频在 1 秒钟内有很多帧图像,其通过帧率来表示。一般来说帧率为 24fps 或
者 30fps,也就是指,1 秒钟会有多达 24 帧或者 30 帧图像。

但是其实在自然状态下,人或者物体的运动速度在 1 秒钟之内引起的画面变化并不大,且自然运动是连续的。所以前后两帧图像往往变化比较小,这就是视频的时间相关性。帧间预测就是利用这个特点来进行的。通过在已经编码的帧里面找到一个块来预测待编码块的像素,从而达到减少时间冗余的目的。

第一,在帧内预测中,我们是在当前编码的图像内寻找已编码块的像素作为参考像素计算预测块。而帧间预测是在其他已经编码的图像中去寻找参考像素块的。这正是帧内预测和帧间预测的区别。

第二,帧间预测是可以在多个已经编码的图像里面去寻找参考像素块的,我们称之为多参考。多参考和单参考(只在一帧图像里面寻找参考像素块)其实底层的原理是一样的,只是多参考需要多搜索几个参考图像去寻找参考块而已,所以我们讲解的时候就使用单参考讲解。这样既可以简化过程,你也可以更容易掌握帧间编码的基本原理。

第三,帧间预测既可以参考前面的图像也可以参考后面的图像(如果参考后面的图像,后面的图像需要提前先编码,然后再编码当前图像)。只参考前面图像的帧我们称为前向参考帧,也叫 P 帧;参考后面的图像或者前面后面图像都参考的帧,我们称之为双向参考帧,也叫做 B 帧。B 帧相比 P 帧主要是需要先编码后面的帧,并且 B 帧一个编码块可以有两个预测块,这两个预测块分别由两个参考帧预测得到,最后加权平均得到最终的预测块。P 帧和 B 帧的底层逻辑基本是一样的。同样为了简化过程,我们这节课以 P 帧为例子来讲解底层逻辑。

帧间编码

猜你喜欢

转载自blog.csdn.net/guofeidageda/article/details/128715678