H.264中普通I帧和IDR帧究竟有什么区别
2017-08-15 11:02
393 查看
参考百度知道:https://zhidao.baidu.com/question/1736344147087105907.html I帧中,有一类特殊的I帧,叫做IDR帧。IDR帧的性质是,比如第1000帧是IDR帧,那么这一帧相当于一个分水岭,从1001帧开始,所有的帧都不能再参照1000帧之前的帧。在closed GOP规定下,0~999帧也不允许参照这个IDR帧以及之后的帧。等于说IDR帧将视频分割成两个独立的 部分:前面的(closed GOP规定下)不能参照后面的,后面的不能参照前面的。 这个性质在播放的时候额外有用:如果我直接从第1000帧开始播放,我可以毫无问题的播放下去,因为我不需要 参照1000帧之前的内容完成解码。我从开头播放,直到999帧的时候,我都不需要参照1000帧及它后面的东西; 1000帧之后的数据都损坏了,0~999帧也能正常播放。 IDR的全称叫做Instantaneous Decoder Refresh,意思是,解码到当前帧,解码器就可以把缓存全清了——之前 的所有帧信息都没用了;后续帧不会再去参照它们。 视频开头的I帧一定是IDR帧。 有时候,我们用I帧表示IDR帧,i帧表示非IDR的I帧。这种场合下,I帧和i帧都是independent frame,区别 在是否是IDR。 两个IDR帧之间的区间,从一个IDR帧开始,到下一个IDR前的帧结束,叫做IDR区间,又叫做GOP区间。closed GOP设定下,GOP区间可以看做是独立的一段视频:它里面的所有帧,都不需要参照任何区间之外的东西,只要 一个GOP区间是齐全的,区间里面所有的帧都能被解码。我们平时看的视频就是多段GOP区间连接起来的。
相关文章推荐
- H.264中普通I帧和IDR帧究竟有什么区别?(不要与MPEG2中的I帧搞混淆了)
- H.264视频标准中普通I帧与IDR帧的区别
- H.264视频标准中普通I帧与IDR帧的区别
- H.264中IDR帧和I帧区别
- H.264中I帧和IDR帧的区别
- Davinci-H.264 I帧和IDR帧的区别
- Davinci-H.264 I帧和IDR帧的区别
- 多媒体开发之---H.264中I帧和IDR帧的区别
- ThreadLocal和线程的普通成员变量究竟有什么区别?
- "=="和 equals 方法究竟有什么区别?
- 堆和栈究竟有什么区别?
- 竞品分析:办公IM与普通IM究竟区别在哪?
- static全局变量与普通的全局变量有什么区别?static局部变量和普通局部变量有什么区别?static函数与普通函数有什么区别?
- "=="和equals方法究竟有什么区别?
- static全局变量与普通的全局变量有什么区别?static局部变量和普通局部变量有什么区别?static函数与普通函数有什么区别?
- 监听音箱和普通音箱有什么区别
- typedef和#define究竟有什么区别?
- "=="和equals方法究竟有什么区别?
- C#Net开发 手机网站和普通网站有什么区别
- 编解码技术:I帧与IDR帧的区别总结