IDR、CRA、BLA、RASL、RADL、closed-gop、open-gop

相对于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吧!



本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/447425.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ROW_NUMBER() OVER() 函数用法详解 (分组排序,多例子)

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程。 语法格式:row_number() over(partition by 分组列 order by 排序列 desc) row_number() over()分组排序功能: …

解决:您需要来自xxx的权限才能对此文件夹进行更改(电脑系统取得管理员权限)

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程。 1.莫名的一个项目工程代码就打不开了。提示信息为: 2. 删除也不行,更新也不行,火大,我惹…

程序员父亲的遗产——编程十诫

我的父亲在和我彻谈编程两个星期之后就去世了。 那个时候我22岁,一个刚刚完成美学学士毕业设计的大四学生。而我的父亲62岁,比大多数我同龄人的父亲都要老。早在60年代,他就已经在田纳西理工大学开始编程了,那个时候他在穿孔卡片…

解决:Can not deserialize instance of com.xxx.xx.XXModel out of START_ARRAY toke

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程。 1. json数据解析报错: Can not deserialize instance of com.xxx.xxx.model.XXXModel out of START_ARRAY token 2. 需要一…

HEVC标准概览

HEVC标准概览HEVC(高效视频编码标准)是ITU-T VCEG(国际电联电信标准化部视频编码组)与ISO/IEC MPEG(国际标准化组织国际电工委员会视频标准化组)的合作组织JCT-VC最新项目。ITU-T和ISO/IEC计划在2013年1月共…

解决:Unable to identify index name. XXXModel is not a Document. Make sure the document class is annota

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程。 1. 往 elasticsearch 写入数据调用 index 方法,执行报错: Unable to identify index name. XXXModel is not a …

为什么年事已高的我还在编程?

每一个行业的从业人员都会有变老的那一刻,难道变老了之后还要继续从事之前的工作吗?估计没人愿意,除非是体力上吃得消的。接下来所讲述的就是作为程序员的码农们该如何迎接慢慢变老之后的工作转变!人们都会期望随着岁数的增加&…

解决:redis.clients.jedis.exceptions.JedisDataExceptionERR This instance has cluster support disabled

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程。 1. springCloud 项目启动工程,redis 集群连接报错: Caused by: redis.clients.jedis.exceptions.JedisDataExcep…

小两口攒钱不吵嘴 用理财加固你的爱情

【导读】终于和你的他生活在一起了,幸福吗?争吵吗?困惑吗?据统计,夫妻间的矛盾大多跟钱有关,怎么花钱、怎么攒钱往往是两个人不能统一的原因。鉴于此,她理财总结了几条财蜜关于夫妻怎么攒钱理财…

解决: Intellij IDEA 运行报错 Command line is too long

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程。 1. idea启动工程报错: 2. 网上找到2个方法。方法一我试了有效果。方法二我同事试了有效果。 方法一: 修改项目…

年薪50万码农转行卖凉皮,互联网思维又一次颠覆?

摘要:今年五月份,一位年薪50万元的码农哥放弃了码农的工作,转身跳到了苦脏累的餐饮行业,每天骑着筋斗云电动车在中关村送外卖的事迹在互联网上引起了轰动。近日,码农哥接受了CSDN的采访,让我们一窥其转行背…

hue 查询 hbase 操作相关参考

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程。 界面操作说明 进入hue中的hbase 进入表的查询界面 界面说明 查询语句 ,表示结束查询,可以不加 主键查询 输入主键 rowke…

不要做一个浮躁的程序员

1.不要看到别人的回复第一句话就说:给个代码吧!你应该想想为什么。当你自己想出来再参考别人的提示,你就知道自己和别人思路的差异。   2.初学者请不要看太多太多的书那会误人子弟的,先找本系统的学,很多人用了很久…

解决:elasticsearch 更新报错:The number of object passed must be even but was [1]

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 1. 错误的代码写法&#xff1a; Autowiredprivate ElasticsearchOperations esOperations; public void updateAxxxData(List<AxxxMo…

.NET技术+25台服务器怎样支撑世界第54大网站

摘要&#xff1a;同时使用Linux和Windows平台产品&#xff0c;大量使用静态的方法和类&#xff0c;Stack Overflow是个重度性能控。同时&#xff0c;取代横向扩展&#xff0c;他们坚持着纵向扩展思路&#xff0c;因为“硬件永远比程序员便宜”。 【编者按】StackOverflow是一个…

apache sgoop 导入数据到 oracle、导出数据到 oracle 实现

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 业务场景&#xff1a;是在oracle 数据库和 hive 数据库中 &#xff0c;有多个相同结构的表&#xff0c;要求数据从2个库定时双向同步。…

最佳的开源云项目有哪些?

Linux.com和The New Stack联合起来做了一个调查&#xff1a;你认为的最受欢迎的开源云项目是哪些&#xff1f;调查涵盖了hypervisors、IaaS、PaaS、管理和服务开通和其它类别的开源项目。所有项目较为成熟的、有规模的开源云项目。下一代的企业正在使用开放云技术打造完全不同的…

我们正处在“后开源”时代?

越来越多的软件不是用来出售的&#xff0c;而是用来增强互联网上所提供的各种服务的功能。开源的实际好处已经超过了你所看到的一面&#xff0c;但是现在还是有人纠结是用什么样的开源协议&#xff0c;只是不明白为什么还要和开源协议作斗争呢&#xff1f;自由软件和开源软件支…

解决:-source 1.6 中不支持 diamond 运算符 [ERROR] (请使用 -source 7 或更高版本以启用 diamond 运算符)

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 1. 工程打包 mvn clean install 执行报错&#xff1a; 2. 解决方法&#xff0c;在pom中加上如下配置&#xff1a; <plugin><gr…

是什么摧毁了程序员的工作效率

本文是html5tricks原创翻译&#xff0c;转载请看清文末的转载要求&#xff0c;谢谢合作&#xff01; 下图是摘自网上有关程序员工作效率的论述。 正如Homer Simpson所说&#xff0c;如果这是真的&#xff0c;那就有意思了。 我之所以不能一针见血地发现如何才能高效工作的秘密…