当前位置:   article > 正文

视频编码中的I、B、P帧_i帧如何进行帧内编码

i帧如何进行帧内编码

空余时间下,对之前的工作中所掌握的知识整理以下。

一、帧类别概念

在H.264压缩标准中I帧、P帧、B帧⽤于表⽰传输的视频画⾯。在视频压缩中,每帧都代表着一幅静止的图像。在实际的视频压缩编码时,会采取各种算法减少数据的容量,其中IPB帧就是最常见的一种算法。

二、预测编码

预测编码分为帧内预测编码和帧间预测编码

1、帧内预测编码

      I帧

         I帧⼜称帧内编码帧,又称全帧压缩编码帧,是⼀种⾃带全部信息的独⽴帧,⽆需参考其他图像便可独⽴进⾏解码,可以简单理解为⼀张静态画⾯。视频序列中的第⼀个帧始终都是I帧,因为它是关键帧。I帧通常是每个GOP(MPEG所使用的一种视频压缩技术)的第一个帧,经过适度地压缩,作为随机访问的参考点,可以当成静态图像。
 

 2、帧间预测编码

        (1)P帧

        P帧⼜称帧间预测编码帧,又称前向预测编码帧,需要参考前⾯的I帧才能进⾏编码。表⽰的是当前帧画⾯与前⼀帧(前⼀帧可能是I帧也可能是P帧)的差别。解码时需要⽤之前缓存的画⾯叠加上本帧定义的差别,⽣成最终画⾯。与I帧相⽐,P帧通常占⽤更少的数据位,但不⾜是,由于P帧对前⾯的P和I参考帧有着复杂的依耐性,因此对传输错误⾮常敏感。通常将图像序列中前面已经编码帧的时间冗余信息充分去除来压缩传输数据量的编码图像,也称为预测帧。

         (2)B帧

        B帧⼜称双向预测编码帧,又称双向预测内插编码帧,也就是B帧记录的是本帧与前后帧的差别。也就是说要解码B帧,不仅要取得之前的缓存画⾯,还要解码之后的画⾯,通过前后画⾯的与本帧数据的叠加取得最终的画⾯。B帧压缩率⾼,但是对解码性能要求较⾼。既考虑源图像序列前面的已编码帧,又顾及源图像序列后面的已编码帧之间的时间冗余信息,来压缩传输数据量的编码图像,也称为双向预测帧。

  3、从解码的角度来理解I、P、B帧

         I帧:自身可以通过视频解压算法解压成一张单独的完整视频画面,所以I帧去掉的是视频帧在空间维度上的冗余信息。

        P帧:需要参考前面的I帧或者P帧来解码成一张完整的视频画面。

        B帧:需要参考前一个I帧或者P帧及其后面的一个P帧来生成一张完整的视频画面,所以P帧与B帧去掉的是视频帧在时间维度上的冗余信息

4、总结:

         I帧只需考虑本帧;P帧记录的是与前⼀帧的差别;B帧记录的是前⼀帧及后⼀帧的差别,能节约更多的空间,但相视频⽂件⼩了,对来说解码的时候就⽐较⿇烦。因为在解码时,不仅要⽤之前缓存的画⾯,⽽且要知道下⼀个I或者P的画⾯,对于不⽀持B帧解码的播放器容易卡顿。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/菜鸟追梦旅行/article/detail/410241
推荐阅读
相关标签
  

闽ICP备14008679号