嵌入式 H264 I帧 P帧

来源:互联网 发布:android java代码调试 编辑:程序博客网 时间:2024/05/20 18:48

根据H.264的不同类别,编码器会使用不同类型的帧,例如I帧、P帧和B帧。


I帧(帧内编码帧)是一种自带全部信息的独立帧,无需参考其它图像便可独立进行解码。视频序列中的第一个帧始终都是I帧。如果所传输的比特流遭到破坏,则需要将I帧用作新查看器的起始点或重新同步点。I帧可以用来实现快进、快退以及其它随机访问功能。如果新的客户端将参与查看视频流,编码器将以相同的时间间隔或者根据要求自动插入I帧。I帧的缺点在于它们会占用更多的数据位,但从另一方面看,I帧不会产生可觉察的模糊现象。I帧是P帧和B帧的参考帧;I帧是组GOP的参考帧,在一组中只有一个I帧;不考虑运动矢量,数据量比较大;


P帧(帧间预测编码帧)需要参考前面的I帧和/或P帧的不同部分才能进行编码。与I帧相比,P帧通常占用更少的数据位,但其缺点是,由于P帧对前面的P和I参考帧有着复杂的依赖性,因此对传输错误非常敏感。P帧属于前向预测的帧间编码,它只参考前面最靠近它 的I帧或者P帧。


图2.带有I帧、B帧和P帧的典型视频序列。P帧只需要参考前面的I帧或P帧,而B帧则需要同时参考前面和后面的I帧或P帧。


 

H.264编解码器中,量化参数QP和量化步长Qstep的关系

量化步长Qstep共有52个值。(对于亮度编码而言)

量化参数QP是量化步长Qstep的序号,取值0~51。

QP取最小值0 时,表示量化最精细;相反,QP取最大值51时,表示量化是最粗糙的

Qstep随着QP的增加而增加,QP每增加6,Qstep增加一倍。

对于色度编码,QP的最大值是39。

原创粉丝点击