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

围绕CRA图片的典型的预测架构如图所示,该图采用了SOP(structure ofpicture)的概念,一个SOP就是一个或者多个解码顺序上连接的图片,在最低子层按解码顺序第一个图片是参考图片。图片解码的相对次序以图片中的数字编号给出,处于前面的SOP中所有图片的数字编号小于处于后面的SOP中的所有图片的数字编号。图示中编号为28的CRA图片与编号为29、30、31的图片共同构成了一个SOP,其中29、30、31在解码次序上在CRA之后,在输出次序上在CRA之前,29、30、31被称作CRA的leadingpicture,其中29和31不参考在解码顺序上处于CRA之前的图片,若解码从CRA开始,它们能够被正确解码,于是叫做RADL(randomaccess decodable leading)。30叫做RASL(random access skippedleading),如果从CRA开始解码,那么30不能够被正确解码,只有解码从CRA之前的一个随机访问点开始的时候才能够被正确解码,因此像30这样的图片,当解码从CRA开始的时候需要丢弃。如果28是IDR,解码器会清理DPB,30就不能采用24作为参考图片,但是如果28是CRA就可以。

基于解码起始位置,参考图片可能不可用,要阻止参考图片的错误传播,如图所示,所有的NextSOP中的图片不能采用在解码顺序或者输出顺序上先于CRA图片的图片作为参考图片,NextSOP中的图片无论在解码顺序上还是在输出顺序上都在CRA图片之后。

对于CRA开始的流,与之对应的RASL图片不能够解码,因为RASL的参考图片不在这个流中,要让这样的流的拼接更直接,把NAL单元类型设为BLA图片,与BLA相关的RASL图片特点是不可解码的因此不被输出。

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

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

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

①I B B P B B P B B P

②I P B B P B B P B B

在H.264中,第一个I帧为IDR,GOP为闭合结构,因此两个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帧为CRA,GOP为开放结构,因此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 BLA、CRA、IDR相关推荐

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

    相对于H.264编码的每个GOP是相互独立的,GOP切换用I帧,帧间搜索不再参考前一个GOP.而HEVC切换则可以"软切换".  BLA.CRA.IDR是文献中提到过的三种随机接入 ...

  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. 视频编解码之关于AI、RA、LD的解释

    播放顺序和编/解码顺序 播放顺序:Play Order Count(POC),解码后视频帧的播放顺序 编/解码顺序:Encoding/Decoding Order Count(EOC/DOC),编/解 ...

  5. 视频压缩编码 gop(Group of Pictures)(I帧间隔)的概念、IDR、I帧(关键帧,intra picture)、P帧、B帧、帧内压缩、帧间压缩、pts(显示时间)、dts(解码时间)

    文章目录 前言: 关于视频的基础定义 GOP:Group of Pictures 压缩(也就是编码) 帧内压缩:自己本身压缩,不参考其他的帧. 帧间压缩:参考其他视频帧压缩. 解码(解压缩) 为什么好 ...

  6. H.264中SPS、PPS和IDR

    1.简介 H.264码流第一个 NALU是 SPS(序列参数集Sequence Parameter Set),对应H264标准文档 7.3.2.1 序列参数集的语法进行解析. H.264码流第二个 N ...

  7. HEVC/H.265理论知识(2)——profile、level、tier

    转载自:http://www.itdadao.com/articles/c15a782132p0.html 一.profile(档次).level(水平).tier(等级)存在的目的是为了让不同应用之 ...

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

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

  9. 【HEVC简介】CTU、CU、PU、TU结构

    参考文献:见<High Efficiency Video Coding (HEVC)>Block Structures and Parallelism Features in HEVC章节 ...

最新文章

  1. 思维的禁锢 大脑的绳锁
  2. javaee, javaweb和javase的区别以及各自的知识体系
  3. 11.2 uptime:显示系统的运行时间及负载
  4. setname_Python线程类| setName()方法与示例
  5. 图论算法(二)-最短路径的Dijkstra [ 单源 ] 和Floyd[ 多源 ] 解法(JAVA )
  6. Bootstrap3 下拉菜单及其调用方式
  7. 人工智能TensorFlow工作笔记005---计算图的基本应用_认识计算图
  8. php ajax 增删改查 分页,Jquery之Ajax_分页及增删改查
  9. vue 项目安装axios报错
  10. Linux-CentOS7安装教程【附CentOS7镜像】
  11. 去掉图标_小图标创建|精选博客
  12. 推理的2种方式:演绎和归纳
  13. 【云原生 | 34】Docker快速部署主流编程语言Java
  14. 重新启动计算机的方法有,如何取消电脑自动更新后的重新启动计算机提示
  15. Unity3D 法线转换切线空间
  16. pacman源添加及yaourt安装
  17. php curl返回body,获取CURL中返回的body内容
  18. win10 oracle怎样卸载,怎么完全卸载Oracle?(Win10) 以Oracle 11g为例
  19. 一般纳税人企业如何合理避税?
  20. 常用又有趣的网站大合集

热门文章

  1. finalcut剪切快捷键_Final Cut Pro 笔记(一) 常用快捷键与技巧
  2. c语言以16进制输出大写字母,【C语言】十六进制形式输出应用程序
  3. 【硬创邦】跟hoowa学做智能路由(十三):网络音箱之Android篇
  4. ssm:Unable to process Jar entry
  5. ie经常卡死是什么原因_IE6必须死的6个原因
  6. 将数据库中用户表 名称设置对应的拼音账号sql
  7. Notepad快捷键Shift+Enter失效,无法启用向前搜索。
  8. 【MindSpore】【数据集】数据集内数据获取失败导致迭代器退出
  9. keep sb updated_keep you update 和keep you updated哪个正确
  10. 建筑BIM的使用场景