这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » STM32 » H264编码之GOP含义

共1条 1/1 1 跳转至

H264编码之GOP含义

高工
2018-05-31 12:18:11     打赏

GOP说白了就是两个I帧之间的间隔.比较说GOP120,如果是720p60的话,那就是2s一次I.

        在视频编码序列中,主要有三种编码帧:I帧、P帧、B帧,如下图所示。

            ● I帧即Intra-coded picture(帧内编码图像帧),不参考其他图像帧,只利用本帧的信息进行编码
            ● P帧即Predictive-codedPicture(预测编码图像帧),利用之前的I帧或P帧,采用运动预测的方式进行帧间预测编码
            ● B帧即Bidirectionallypredicted picture(双向预测编码图像帧),提供最高的压缩比,它既需要之前的图
像帧(I帧或P),也需要后来的图像帧(P),采用运动预测的方式进行帧间双向预测编码

  在视频编码序列中,GOPGroup of picture(图像组),指两个I帧之间的距离,Reference(参考周期)指两个P帧之间的距离(如下图3.1)。一个I帧所占用的字节数大于一个P帧,一个P帧所占用的字节数大于一个B帧(如下图3.1所示)。

IPB帧示意图

  所以在码率不变的前提下,GOP值越大,PB帧的数量会越多,平均每个IPB帧所占用的字节数就越多,也就更容易获取较好的图像质量;Reference越大,B帧的数量越多,同理也更容易获得较好的图像质量。

  需要说明的是,通过提高GOP值来提高图像质量是有限度的,在遇到场景切换的情况时,H.264编码器会自动强制插入一个I帧,此时实际的GOP值被缩短了。另一方面,在一个GOP中,PB帧是由I帧预测得到的,当I帧的图像质量比较差时,会影响到一个GOP中后续PB帧的图像质量,直到下一个GOP开始才有可能得以恢复,所以GOP值也不宜设置过大。

  同时,由于P、B帧的复杂度大于I帧,所以过多的P、B帧会影响编码效率,使编码效率降低。另外,过长的GOP还会影响Seek操作的响应速度,由于P、B帧是由前面的I或P帧预测得到的,所以Seek操作需要直接定位,解码某一个P或B帧时,需要先解码得到本GOP内的I帧及之前的N个预测帧才可以,GOP值越长,需要解码的预测帧就越多,seek响应的时间也越长。




共1条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]