H.264视频标准中普通I帧与IDR帧的区别

时间:2022-10-09 19:55:24

普通I帧与IDR(Instantaneous Decoding Refresh,瞬时解码刷新)帧为均采用帧内预测技术的视频帧,同属于I帧。


区别是:采用IDR帧编码,会导致DPB(Decoded Picture Buffer,直译为解码图像缓冲区,即指参考帧列表)完成一次清空处理,而普通I帧不会。


那么,这样带来的直接结果是怎样的呢?

即,当前IDR帧后面的帧不会将当前IDR帧之前已经编码的帧作为参考帧;而当前普通I帧之后的帧有可能将当前I帧之前的帧作为参考帧。


那么,这样带来的直接效果是怎样的呢?

即,播放视频的时候,可以直接从IDR帧开始播放,因为IDR帧之前的帧与当前IDR帧和之后的帧再也没有直接地关联;而普通I帧则不行。


可以看到,一般来讲,一段视频的第0帧(也即首帧)是I帧,那么它算不算是IDR帧呢?答:算。


所以,IDR帧一定是I帧,反之不成立。

在H.264标准参考软件(JM)下,通过IDRIntraEnable来设置是否支持IDR帧。