相对于H.264编码的每个GOP是相互独立的,GOP切换用I帧,帧间搜索不再参考前一个GOP。而HEVC切换则可以“软切换”。
 BLA、CRA、IDR是文献中提到过的三种随机接入点(RAP),在文献中的解释的确不是很容易理解。

(1)关于GOP。这是图像组(Group of Pictures)的意思,表示编码的视频序列分成了一组一组的有序的帧的集合进行编码。每个GOP一定是以一个I帧开始的,但是却不一定指代的是两个I帧之间的距离。因为一个GOP内可能包含几个I帧,只有第一个I帧(也就是第一帧)才是关键帧。在程序cfg中,GOP的长度和两个I帧的距离也是两个不同参数指定的(如IntraPeriod和GOP Size或者类似的参数)。所以,两个I帧的间距不可能大于GOP的长度,一般情况是更小的。

(2)关于IDR。这个词儿的全称是Instantaneous Decoding Refresh,是在H.264中定义的结构。在H.264中,IDR帧一定是I帧,而且一定是GOP的开始,也是H.264 GOP的关键帧。但是反过来却不成立,I帧不一定是IDR帧。GOP的长度不是定死不变的,在H.264的编码器中,如果判定场景发生变化,那么及时不到原定GOP的末尾,也会在这个位置加入一个IDR,作为新一个GOP的开始。此时这个GOP的长度就被缩小了。

(3)闭合GOP和开放GOP(closed GOP/open GOP),CRA。闭合GOP是H.264中GOP的格式。在H.264的GOP中,所有的GOP都是独立解码的,与其他GOP无关,即它们都是“封闭”的。但是在HEVC中,GOP的结构发生了变化,采用了“开放”的结构,在解码过程过可能会参考其他GOP的数据。这时,一个GOP的起始帧命名为CRA, clean random access,同样采用帧内编码,但是这个GOP内的帧间编码帧可以越过CRA参考前一个GOP的数据,这便是GOP的open。

(4)关于BLA。BLA只是CRA在视频流切换情况下的一种特例。视频流在某个RAP上要求切换到另一个视频流继续解码,则直接将该CRA同另一个视频流中的接入CRA连接,后者便是BLA。由于BLA之前解码到缓存的视频流与当前视频流无关,因此其特性类似于直接从该点进行随机存取后的CRA。

(5)RASL和RADL。这是两种GOP间的图像类型。如果解码器从某个CRA随机接入,则按照显示顺序的后面几帧数据由于缺少参考帧而不能解码,这些图像将被解码器抛弃,即skip leading。而对于没有从当前CRA接入的数据,这些图像可以被正常解码显示,因此称为decodable leading。由于这些数据是有可能舍弃的,因此其他图像(trailing pictures)不能参考这些数据,否则万一这些图像被舍弃,将会有更多的图像受其影响而不能正常解码。

另外:
谈一谈我的理解。之所以引入CRA是因为它可以比IDR提高更好的压缩效率,因为CRA是open GOP,open GOP structure usually provides better coding efficiency and peak-less bit-rate. 那么CRA引入之后遗留的 问题,就是解码器一旦从CRA接入(比如快进快退?),那些CRA之后的要从previous GOP寻找参考图像的帧怎么办?只能丢弃,这些帧就是RASL帧(skip leading)了。那如果不是从CRA接入(即我没快进快退而是正常解码),这些帧又是可解码的(decodable

leading),也就变成RADL帧了。还有一个问题,就是当前GOP剩下的帧(trailing pictures)怎么办呢?它们一定不能用RASL帧做参考帧,因为这些帧可能被丢弃(从CRA接入时)。什么是BLA?应该是视频流切换情况下另一个流的CRA吧!

IDR、CRA、BLA、RASL、RADL、closed-gop、open-gop相关推荐

  1. HEVC BLA、CRA、IDR

    CRA使得编码视频序列的任意位置都能成为随机访问点,与插入一个IDR相比,插入一个CRA编码效率更高,压缩比更高.在解码顺序上处于CRA之后,在输出顺序上处于CRA之前的图片,可以采用在解码顺序上处于 ...

  2. BLA、CRA、IDR 解释

    转载:http://blog.sina.com.cn/s/blog_520811730101jlsa.html        Mark  留用~ BLA.CRA.IDR是文献中提到过的三种随机接入点( ...

  3. GOP、IDR、CAR、BLA、RASL、RADL

    注册csdn3年,工作2年,第1篇博客.如有错误,请不吝赐教. GOP Group of Pictures, 图片被分成序列编码.在H264中GOP以IDR帧为间隔:H265中有开放GOP(open ...

  4. I帧、P帧、B帧、GOP、IDR 和PTS, DTS之间的关系

    I帧.P帧.B帧.GOP.IDR 和PTS, DTS之间的关系 一.视频传输原理 视频是利用人眼视觉暂留的原理,通过播放一系列的图片,使人眼产生运动的感觉.单纯传输视频画面,视频量非常大,对现有的网络 ...

  5. 解题报告(二)C、(darkBZOJ 2194) 快速傅立叶之二(FFT、卷积的概念、常用变换)

    繁凡出品的全新系列:解题报告系列 -- 超高质量算法题单,配套我写的超高质量题解和代码,题目难度不一定按照题号排序,我会在每道题后面加上题目难度指数(1∼51 \sim 51∼5),以模板题难度 11 ...

  6. R语言使用psych包的fa函数对指定数据集进行因子分析(输入数据为相关性矩阵)、使用rotate参数指定进行斜交旋转提取因子、使用fa.diagram函数可视化斜交旋转因子分析、并解读可视化图形

    R语言使用psych包的fa函数对指定数据集进行因子分析(输入数据为相关性矩阵).使用rotate参数指定进行斜交旋转提取因子.使用fa.diagram函数可视化斜交旋转因子分析.并解读可视化图形 目 ...

  7. R语言使用randomForest包构建随机森林模型(Random forests)、使用importance函数查看特征重要度、使用table函数计算混淆矩阵评估分类模型性能、包外错误估计OOB

    R语言使用randomForest包中的randomForest函数构建随机森林模型(Random forests).使用importance函数查看特征重要度.使用table函数计算混淆矩阵评估分类 ...

  8. R语言使用psych包的fa函数对指定数据集进行因子分析(输入数据为相关性矩阵)、使用rotate参数指定进行斜交旋转提取因子、使用nfactors参数指定抽取的因子个数、fa函数因子分析结果解读

    R语言使用psych包的fa函数对指定数据集进行因子分析(输入数据为相关性矩阵).使用rotate参数指定进行斜交旋转提取因子.使用nfactors参数指定抽取的因子个数.fa函数因子分析结果解读(  ...

  9. Python使用matplotlib可视化发散棒棒糖图、发散棒棒糖图可以同时处理负值和正值、并按照大小排序区分数据、为发散棒棒糖图的特定数据点添加标签、自定义背景填充色、自定义数据点颜色

    Python使用matplotlib可视化发散棒棒糖图.发散棒棒糖图可以同时处理负值和正值.并按照大小排序区分数据.为发散棒棒糖图的特定数据点添加标签.自定义背景填充色.自定义数据点颜色(Diverg ...

最新文章

  1. 交换机无法ping通之谜
  2. 数据为什么要可视化?如何可视化?
  3. 2021云栖大会丨首批阿里云计算巢认证合作伙伴获得授牌,阿里云与合作伙伴共筑云上生态
  4. java代码开发规范
  5. java public object_Java_Object
  6. MIT Kimera阅读笔记
  7. 以太网供电新标准POE+,IEEE802.3at解析
  8. SpringBoot2.1.5(18)--- 国际化配置,SpringBoot Locale 国际化使用方法
  9. 在c语言中输入三个数据类型,【C语言讲解】第二章:数据类型3
  10. 关于文本分类(情感分析)的英文数据集汇总
  11. JVM学习--垃圾回收机制
  12. jQuery Color Animate (jQuery 颜色变换动画) 插件
  13. 华为鸿蒙系统烤箱,华为鸿蒙OS系统如何支持形态各异的产品?
  14. html打印时显示不全,打印表格时内容显示不完整怎么办?四种方法解决WPS不完整问题...
  15. Dozer 轻松高效玩转DTO(Data Transfer Object)
  16. 项目经理为什么要做时间管理?
  17. 将form表单序列化成对象
  18. Echarts之gauge表盘的用法
  19. cursor java_ORACLE中的游标Cursor总结
  20. 微群人脉H5升级版微信超级人脉三级分销互粉个人名片微信群微商必备独立后台系统无需授权源码

热门文章

  1. maven springboot 除去指定的jar包_SpringBoot的运行机制
  2. 【转】Windows消息传递机制详解
  3. 【转】C++中#include包含头文件带 .h 和不带 .h 的区别
  4. ThriftParserError: ThriftPy does not support generating module with path in protocol 'd'
  5. mysql数据库连接地址utf8_在Python中连接到MySQL数据库时UTF8不工作
  6. python网页填表教程_PythonSpot 中文系列教程 · 翻译完成
  7. Python 数据分析三剑客之 Pandas(九):时间序列
  8. REVERSE-PRACTICE-BUUCTF-24
  9. *【 POJ - 1007 】DNA Sorting(枚举,类似三元组找第二元问题)
  10. dg oracle 切换模式_谈谈dg切换涉及的概念:switchover和failover区别