H264中I帧和IDR帧的区别

转载 2016年08月29日 22:45:19

IDR(Instantaneous Decoding Refresh)--即时解码刷新。

      I和IDR帧都是使用帧内预测的。它们都是同一个东西而已,在编码和解码中为了方便,要首个I帧和其他I帧区别开,所以才把第一个首个I帧叫IDR,这样就方便控制编码和解码流程。IDR帧的作用是立刻刷新,使错误不致传播,从IDR帧开始,重新算一个新的序列开始编码。而I帧不具有随机访问的能力,这个功能是由IDR承担。IDR会导致DPB(DecodedPictureBuffer参考帧列表——这是关键所在)清空,而I不会IDR图像一定是I图像,但I图像不一定是IDR图像。一个序列中可以有很多的I图像,I图像之后的图像可以引用I图像之间的图像做运动参考。一个序列中可以有很多的I图像,I图像之后的图象可以引用I图像之间的图像做运动参考。
      对于IDR帧来说,在IDR帧之后的所有帧都不能引用任何IDR帧之前的帧的内容,与此相反,对于普通的I-帧来说,位于其之后的B-和P-帧可以引用位于普通I-帧之前的I-帧。从随机存取的视频流中,播放器永远可以从一个IDR帧播放,因为在它之后没有任何帧引用之前的帧。但是,不能在一个没有IDR帧的视频中从任意点开始播放,因为后面的帧总是会引用前面的帧。

264句法元素的分层结构

IDR: 在H.264中,图像以序列为单位进行组织一个序列的第一个图像叫做 IDR 图像(立即刷新图像),IDR 图像都是 I 帧图像。H.264 引入 IDR 图像是为了解码的重同步,当解码器解码到 IDR 图像时,立即将参考帧队列清空,将已解码的数据全部输出或抛弃,重新查找参数集,开始一个新的序列。这样,如果前一个序列出现重大错误,在这里可以获得重新同步的机会。IDR图像之后的图像永远不会使用IDR之前的图像的数据来解码。      IDR 图像一定是 I 图像,但 I 图像不一定是 IDR 图像。I帧之后的图像有可能会使用I帧之前的图像做运动参考。


另外,一个或者多个图像参数集对应一个序列参数集。


相关文章推荐

I 帧和 IDR 帧的区别

I 帧和 IDR 帧的区别:     IDR 帧属于 I 帧。解码器收到 IDR frame  时,将所有的参考帧队列丢弃 (用x264_reference_reset 函数实现——在 encod...

I帧 B帧 p帧 IDR帧的区别

IDR(Instantaneous Decoding Refresh)--即时解码刷新。  I帧:帧内编码帧是一种自带全部信息的独立帧,无需参考其它图像便可独立进行解码,视频序列中的第一个帧始终都是...
  • sphone89
  • sphone89
  • 2012年10月18日 15:53
  • 10012

H.264中普通I帧和IDR帧究竟有什么区别?(不要与MPEG2中的I帧搞混淆了)

纠结概念的人不少,这是个好事,但有时用实验的方法自己亲自分析一下会更好. 一次刻骨铭心的体验胜过千百次的说教, 闲话少扯,进入正题.        在MPEG2中,有个重要的概念叫GOP(group...
  • stpeace
  • stpeace
  • 2012年11月16日 16:12
  • 3940

H2.64中I帧和IDR帧的区别(转)

DR(Instantaneous Decoding Refresh)--即时解码刷新。       I和IDR帧都是使用帧内预测的。它们都是同一个东西而已,在编码和解码中为了方便,要首个I帧和其他I...
  • heanyu
  • heanyu
  • 2011年03月17日 00:48
  • 14447

H264中I帧与IDR帧区别

DR(Instantaneous Decoding Refresh)--即时解码刷新。       I和IDR帧都是使用帧内预测的。它们都是同一个东西而已,在编码和解码中为了方便,要首个I帧和其他I...
  • ljzcom
  • ljzcom
  • 2012年03月28日 10:02
  • 5506

jrtplib中组播代码发送端和接收端的实现

文章里面主要是把发送端课接收端代码的实现提了出来,和重要函数里的源码贴出来辅助学习,看到网上有人说好久做不出来,建议看看对应加入组播的源码,注意细节,话不多说,代码直接贴出来,各位朋友有意见多多交流。...

jrtplib学习之example1例程分析

本文主要讲解jrtplib源码中的example1例程,以及在jrtplib中常见的一些类的含义 example1: /* Here's a small IPv4 example: it ...

H264中I帧和IDR帧的区别

转自:http://blog.csdn.net/Jammg/article/details/52357245 IDR(Instantaneous Decoding Refresh)-...
  • rankun1
  • rankun1
  • 2016年09月28日 14:38
  • 1021

h264 - I帧 B帧 P帧 IDR帧的关系

IDR(Instantaneous Decoding Refresh)--即时解码刷新;包含I帧。  I帧:帧内编码帧是一种自带全部信息的独立帧,无需参考其它图像便可独立进行解码,视频序列中的第...

Davinci-H.264 I帧和IDR帧的区别

IDR(Instantaneous Decoding Refresh)--即时解码刷新。    I和IDR帧都是使用帧内预测的。它们都是同一个东西而已,在编码和解码中为了方便,要首个I帧和其他I帧区...
  • gcclife
  • gcclife
  • 2012年02月06日 11:41
  • 2004
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:H264中I帧和IDR帧的区别
举报原因:
原因补充:

(最多只允许输入30个字)