音视频学习之 - 基础概念

·  阅读 1360

I帧:关键帧 描述的是一张完整的图片,一组图片中一般选择第一张

B帧:双向参考帧,保存两边不一样的数据(可以丢弃)

P帧:向前参考帧,只会保存跟前一张不一样的数据

I帧丢失就不能正确解码 如果解码时要等到后一帧传过来再解码,一定时间内没有收到的话,可以丢弃B帧

GOF(Group of Frame)一组帧 就是一个I帧到下一个I帧.这一组的数据.包括B帧/P帧.我们称为GOF(GOP).

  • 如果GOP分组中的P帧丢失就会造成解码端的图像发生错误.
  • 为了避免花屏问题的发生,一般如果发现P帧或者I帧丢失.就不显示本GOP内的所有帧.只到下一个I帧来后重新刷新图像.
  • 当这时因为没有刷新屏幕.丢包的这一组帧全部扔掉了.图像就会卡在哪里不动.这就是卡顿的原因. 所以总结起来,花屏是因为你丢了P帧或者I帧.导致解码错误. 而卡顿是因为为了怕花屏,将整组错误的GOP数据扔掉了.直达下一组正确的GOP再重新刷屏.而这中间的时间差,就是我们所感受的卡顿.

SPS/PPS实际上就是存储GOP的参数.

SPS: (Sequence Parameter Set,序列参数集)存放帧数,参考帧数目,解码图像尺寸,帧场编码模式选择标识等.

PPS:(Picture Parameter Set,图像参数集).存放熵编码模式选择标识,片组数目,初始量化参数和去方块滤波系数调整标识等.(与图像相关的信息) 大家只要记住,在一组帧之前我们首先收到的是SPS/PPS数据.如果没有这组参数的话,我们是无法解码.

分类:
iOS
标签:
收藏成功!
已添加到「」, 点击更改