I帧 B帧 P帧 IDR帧

I帧:帧内编码帧

       I帧特点:

           1.它是一个全帧压缩编码帧,它将全帧图像信息进行JPEG压缩编码及传输;

           2.解码时仅用I帧的数据就可重构完整图像;

           3.I帧描述了图像背景和运动主体的详情;

           4.I帧不需要参考其他画面而生成;

           5.I帧是P帧和B帧的参考帧(其质量直接影响到同组中以后各帧的质量);

           6.I帧是帧组GOP的基础帧(第一帧),在一组中只有一个I帧;

           7.I帧不需要考虑运动矢量;

           8.I帧所占数据的信息量比较大。


P帧:向前预测编码帧

       P帧的预测与重构:

           P帧是以I帧为参考帧,在I帧中找出P帧“某点”的预测值和运动矢量,取预测差值和运动矢量一起传送。在接收端根据运动矢量从I帧中找出P帧“某点”的预测值并与差值相加以得到P帧“某点”样值,从而得到完整的P帧。

      P帧的特点 :

           1.P帧是I帧后面相隔1~2帧的编码帧;

           2.P帧采用运动补偿的方法传送它与前面的I帧或P帧的差值及运动矢量(预测误差);

           3.解码时必须将I帧的预测值与预测误差求和后才能重构完整的P帧图像;

           4. P帧属于前向预测的帧间编码,它只参考前面最靠近它的I帧或P帧

           5.P帧可以是其后面P帧的参考帧,也可以是其前后的B帧的参考帧;

           6.由于P帧是参考帧,它可能造成解码错误的扩散;

           7.由于是差值传送,P帧的压缩比较高。


B帧:双向预测内插编码帧

       B帧的预测与重构:

           B帧以前面的I帧或P帧和后面的P帧为参考帧,“找出”B帧“某点”的预测值和两个运动矢量,并取预测差值和运动矢量传送。接收端根据运动矢量在两个参考帧中“找出(算出)”预测值并与差值求和,得到B帧“某点”样值,从而可得到完整的B帧。

      B帧的特点:

           1.B帧是由前面的I帧或P帧和后面的P帧来进行预测的;

           2.B帧传送的是它与前面的I帧或P帧和后面的P帧之间的预测误差及运动矢量;

           3.B帧是双向预测编码帧;

           4.B帧的压缩比最高,因为它只反映并参考帧间运动主体的变化情况,预测比较准确;

           5.B帧不是参考帧,不会造成解码错误的扩散。

      例如:

           亮度变化->I B P 7 8 9

           如果B只参考前一个画面压缩,则需记录差值1。如果以(I+P)/2压缩,则差值为0,不需记录差值。(虽然要记录两个矢量,不过矢量也可以再做进一步预测压缩。总的来说,还是会比单独参考前一个画面压缩来得小很多)如果画面不是这样变化怎么办?通常来讲画面都会是这样变化,如果不是这样变化我们就不使用B帧,就算变化不是如此规则,换个方式想,B帧可以参考的画面还是比P帧多,再怎么找,也还是B帧可以找到误差更小的方块来使用的机率大(因为可以选择、参考的对象较多),所以B帧还是比P帧的压缩率来的高(而且高很多,差距非常大)。

           除了压缩率以外,B帧对画质的影响...是有的,因为B帧这种参考前后画面的特性,等于有内插(interpolation)的效果,所以可以减少噪讯。MPEG-4中的B帧,也是非常具有威力的,除了以前的三种参考模式,还有Direct Mode,连矢量的记录都省了。虽然MPEG-4之中有4MV的功能,可以记录四个矢量,不过编码器在压缩的时候会判断,到底是使用4MV压缩出来的结果小,还是使用传统的方法压缩出来的效果小?如果使用传统的方法压缩出来的结果小,边使用传统的方法记录,如果使用4MV压缩出来的结果小,才使用4MV记录。(ps.4MV不会用在backward预测)您可以观察VirtualDub压缩时画面上显示的蓝线,您会发现蓝线和蓝线之间通常会有很短的蓝线插在中间,造成空隙,而且差距很大,这个就是夹在P帧之间的B帧在发挥压缩威力,如果是用DivX5更明显,因为DivX5只能够实用IBPBPBPB...这种一个B镇接一个P帧的形式,所以画面上的蓝线就是[一长一短、一长一短]这样排列。


I帧与IDR帧的区别

       举个例子:

           在一段视频中存在以下帧:I P B P B P B B P I P B ...

           如果这段视频应用了多重参考帧,那么蓝色的P帧在参照他前面的I帧(红色)的同时,还可能会参照I帧之前的P帧(绿色),由于I帧前后的场景可能会有很大的反差甚至根本不同,所以此时P帧参考I帧之前的帧不但会没有意义,反而会造成很多问题。所以一种新型的帧被引入,那就是IDR帧。如果这段视频应用了多重参考帧的同时采用了IDR帧,那么帧的顺序就会变成这样:I P B P B P B B P IDR P B ...。由于IDR帧禁止后面的帧向自己前面的帧参考,所以这回那个蓝色的P帧就不会参照路上的P帧了。


原文地址:http://xy2403.blog.163.com/blog/static/257726320110624847277/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值