视频图像的I帧、P帧、B帧详解

1、I帧

        帧内编码帧,又称Intra-Picture。I帧通常是每个GOP(MPEG所使用的一种视频压缩技术)的第一个帧,经过适度的压缩,可以当成图像。I帧实际上就是完整的图像经过压缩后的数据帧。

I帧特点:

       它是一个全帧压缩编码帧。它将全帧图像信息进行JPEG压缩编码 及传输。 解码时仅用I帧的数据就可重构完整图像。 I帧描述了图像背景和运动主体的详情。 I帧不需要参考其他画面而生成。 I帧是P帧和B帧的参考帧(其质量直接影响到同组中以后各帧的质量)。 I帧是帧组GOP的基础帧(第一帧),在一组中只有一个I帧。 I帧不需要考虑运动矢量。 I帧所占数据的信息量比较大。

2、P帧

       前后预测编码帧,又称Predictive-Picture。通过充分的将低于图象序列中前面已编码帧的时间冗余信息来压缩传输数据量的编码图像,也叫预测帧。这个帧不能单独作为图像进行观看,其不能成为完整的一张图,需要参考前面一张I帧或B帧来形成完整图。

P帧特点: 

      P帧是I帧后面相隔1~2帧的编码帧。 P帧采用运动补偿的方法传送它与前面的I或P帧的差值及运动矢量(预测误差)。 解码时必须将I帧中的预测值与预测误差求和后才能重构完整的P帧图像。 P帧属于前向预测的帧间编码。它只参考前面最靠近它的I帧或P帧。 P帧可以是其后面P帧的参考帧,也可以是其前后的B帧的参考帧。 由于P帧是参考帧,它可能造成解码错误的扩散。 由于是差值传送,P帧的压缩比较高。


3、B帧

       双向预测内插编码帧,又称Bi-directional interpolated prediction frame,既考虑与源图像序列前面已编码帧,也顾及源图像序列后面已编码帧之间的时间冗余信息来压缩传输数据量的编码图像,也叫双向预测帧,也同样不能成为完整的一张图,需要参考前面的I或P帧以及后面的一个P帧来形成一张完整的图。

B帧特点:

      B帧是由前面的I或P帧和后面的P帧来进行预测的。 B帧传送的是它与前面的I或P帧和后面的P帧之间的预测误差及运动矢量。B帧是双向预测编码帧。 B帧压缩比最高,因为它只反映丙参考帧间运动主体的变化情况,预测比较准确。 B帧不是参考帧,不会造成解码错误的扩散。

三者之间联系:

     I帧的解码不依赖于任何的其它的帧。P帧的解码则依赖于其前面的I帧或者P帧。B帧的解码则依赖于其前的最近的一个I帧或者P帧及其后的最近的一个P帧。

 

你可能感兴趣的:(C++,图形图像处理,音视频)