什么是I帧、P帧、B帧?
I帧:intra picture,帧内编码帧
I帧通常是每个GOP的第一个帧,可以看作一个图像经过压缩后的产物,实际就可理解为H.265/HEVC标准下视频编码过程中一个序列中的I帧。解码时只需要本帧数据就可以完成(因为包含完整画面 ),一个GOP中,I帧作为编解码的起点,能有效防止帧间预测误差累计扩散。
* I帧自身可以通过视频解压算法解压成一张单独的完整视频画面,所以I帧去掉的是视频帧在空间维度上的冗余信息。
I帧特点:
1)I帧是一个全帧压缩编码帧;
2)解码时仅用I帧的数据就可重构完整图像;
3)I帧描述了图像背景和运动主体的详情;
4)I帧不需要参考其他画面而生成;
5)I帧是P帧和B帧的参考帧(其质量直接影响到同组中以后各帧的质量);
6)I帧是帧组GOP的基础帧(第一帧),在一组GOP中只有一个I帧;
7)I帧不需要考虑运动矢量;
8)I帧所占数据的信息量比较大。
P帧:predictive-frame,前向预测编码帧
通过将图像序列中前面已编码帧的时间冗余信息充分去除来压缩传输数据量的编码图像,也称为预测帧。P帧表示的是这一帧跟之前的帧的差别,P帧可以作为后续图像编码时的参考帧。解码时需要用之前缓存的画面叠加上本帧定义的差别,生成最终画面。(也就是差别帧,P帧没有完整画面数据,只有与前一帧的画面差别的数据,因此解码要使用参考图像的像素值。)
* P帧需要参考其前面的一个I帧或者P帧来解码成一张完整的视频画面。
P帧特点:
1)P帧采用运动补偿的方法传送它与前面的I或P帧的差值及运动矢量(预测误差);
2)解码时必须将I帧中的预测值与预测误差求和后才能重构完整的P帧图像;
3)P帧属于前向预测的帧间编码,它只参考前面最靠近它的I帧或P帧;
4)P帧可以是其后面P帧的参考帧,也可以是其前后的B帧的参考帧;
5)由于是差值传送,P帧的压缩比较高。
B帧:双向预测内插编码帧。
B帧:bi-directional interpolated prediction frame。既考虑源图像序列前面的已编码帧,又顾及源图像序列后面的已编码帧之间的时间冗余信息,来压缩传输数据量的编码图像,也称为双向预测帧。要解码B帧,不仅要取得之前的缓存画面,还要解码之后的画面
,通过前后画面的与本帧数据的叠加取得最终的画面。
* B帧需要参考其前一个I帧或者P帧及其后面的一个P帧来生成一张完整的视频画面,P帧与B帧去掉的是视频帧在时间维度上的冗余信息。
B帧特点:
1)B帧是由前面的I或P帧和后面的P帧来进行预测的;
2)B帧传送的是它与前面的I或P帧和后面的P帧之间的预测误差及运动矢量;
3)B帧是双向预测编码帧;
4)B帧压缩比最高,因为它只反映参考帧间运动主体的变化情况,预测比较准确;
5)B帧不是参考帧,不会造成解码错误的扩散。
版权声明:本文内容转自互联网,本文观点仅代表作者本人。本站仅提供信息存储空间服务,所有权归原作者所有。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至1393616908@qq.com 举报,一经查实,本站将立刻删除。