BLA、CRA、IDR、RASL和RADL

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


1)关于GOP这是图像组(Group of Pictures)的意思,表示编码的视频序列分成了一组一组的有序的帧的集合进行编码。每个GOP一定是以一个I帧开始的,但是却不一定指代的是两个I帧之间的距离。因为一个GOP内可能包含几个I帧,只有第一个I帧(也就是第一帧)才是关键帧。在程序cfg中,GOP的长度和两个I帧的距离也是两个不同参数指定的(如IntraPeriodGOP 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和开放GOPclosed GOP/open GOP),CRA闭合GOPH.264GOP的格式。在H.264GOP中,所有的GOP都是独立解码的,与其他GOP无关,即它们都是封闭的。但是在HEVC中,GOP的结构发生了变化,采用了开放的结构,在解码过程过可能会参考其他GOP的数据。这时,一个GOP的起始帧命名为CRA, clean random access,同样采用帧内编码,但是这个GOP内的帧间编码帧可以越过CRA参考前一个GOP的数据,这便是GOPopen
 

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

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

 

另外:
  谈一谈我的理解。之所以引入CRA是因为它可以比IDR提高更好的压缩效率,因为CRAopen GOPopen 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吧! 

下面举个例子:

假设视频序列的显示顺序为,这是一个完整的GOP,解码顺序为

①I B B P B B P B B P

②I P B B P B B P B B

H.264中,第一个I帧为IDRGOP为闭合结构,因此两个GOP组成视频的结构为

I B B P B B P B B PI B B P B B P B B P(显示顺序)

I P B B P B B P B BI P B B P B B P B B(解码顺序)

而在HEVC中,两个I帧为CRAGOP为开放结构,因此GOP的结构为:

I B B P B B P B B PB B I B B P B B P B(显示顺序)

I P B B P B B P B B I B B P B B P B B...(解码顺序)

  两个红色的B帧表示的是按照解码顺序在CRA之后,该GOP内参考的前一个GOP进行编码的图像。这样便很容易得知,如果选择在第二个CRA进行随机接入,这两个红色的B帧将会由于没有参考帧无法解码而被舍弃。这两个红色的B帧即RASP。如果没有选择这个CRA进行随机接入,这两个红色B帧将可以顺利解码,即成为RADP

  对于BLA,情况也是类似的。由于出现码流拼接,第二段码流的CRA之后的B也会因为没有参考帧无法解码而丢弃。很容易理解,此时缓存中的参考帧数据还来自上一段码流,跟当前码流没关系,当然不能用作B的参考了。

  之余HEVC这么设计的目的,我觉得应该是为了编码效率考虑的。因为B帧的压缩比相对是最高的,引入这种设计可以在不影响随机存取性能的前提下,尽可能增大B帧的比重,提高整体压缩编码的性能。

以下是一些国外研究者在论坛中对这个问题的一些讨论,可以拿来做一下参考:

www.linkedin.com/groups/IDR-vs-CRA-3724292.S.125836481

forum.doom9.org/archive/index.php/t-105129.html

 

 

HEVC中的新结构:clean random access (CRA)。支持开放GOP操作。基本概念:random access skipped leading (RASL) pictures,因为包含帧间信息而不能解码的图像;broken link access (BLA) pictures:位于不同比特流连接点的图像;random access decodable leading (RADL) picture:在随机接入点后,可以按顺序解码的图像。随机接入点的图像可能是IDR/CRA/BLA的图像。leading pictures (LPs)RASLRADL的总称。trailing pictures:随机接入点后按解码和输出顺序的图像。

 

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值