美文网首页
iOS音视频开发 - IPB帧

iOS音视频开发 - IPB帧

作者: 码代码的小马 | 来源:发表于2019-11-21 16:16 被阅读0次

做视频开发,特别是视频压缩、直播流优化,一个最基本的需要了解的概念就是IPB帧

IPB帧

视频压缩中,每帧都代表着一幅静止的图像,而在进行压缩时,会采取各种算法以减少数据的容量,IPB帧就是最常见的一种

  • I 帧
    帧内编码帧(intra picture),I帧通常是每个GOP(MPEG所使用的一种视频压缩技术)的第一个帧,经过适度地压缩,作为随机访问的参考点,可以当成静态图像。I帧可以看作一个图像经过压缩后的产物,I帧可以得到6:1的压缩比二不会产生任何可察觉的模糊现象。I帧压缩可去掉视频的空间冗余信息

  • P 帧
    前向预测编码帧(predictive-frame),通过将图像序列中前面已编码帧的时间冗余信息冲分去除来压缩传输数据量的编码图像,也称预测帧

  • B 帧
    双向预测内插编码帧(bi-directional interpolated prediction frame),既考虑源图像序列前面的已编码帧,又顾及源图像序列后面的已编码帧之间的时间冗余信息,来压缩传输数据量的编码图像,也称双向预测帧

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

  • P帧 需要参考其前面的一个I帧或P帧来解压成一张完整的视频画面

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

IDR帧与I帧区别

H264中有一个帧称为IDR帧(instantaneous decoding refresh picture),因为H264采用了多帧预测,所以I帧之后的P帧有可能会参考I帧之前的帧,这就使得随机访问的时候不能以找到I帧作为参考条件,因为即使找到I帧I帧之后的帧还是有可能解析不出来,而IDR帧就是一种特殊的I帧,即这一帧之后的所有参考帧只会参考到这个IDR帧,而不会再参考前面的帧,在解码器中,一旦收到一个IDR帧,就会立即清理参考帧缓冲区,并将IDR帧作为被参考的帧

相关文章

网友评论

      本文标题:iOS音视频开发 - IPB帧

      本文链接:https://www.haomeiwen.com/subject/yedtwctx.html