GOP、IDR、CAR、BLA、RASL、RADL
注册csdn3年,工作2年,第1篇博客。如有错误,请不吝赐教。
GOP
Group of Pictures, 图片被分成序列编码。在H264中GOP以IDR帧为间隔;H265中有开放GOP(open GOP)和闭合GOP(closed GOP)之分。
Open GOP
H265中引入的概念,在H264中所有的GOP都是相互独立的,GOP之间相对封闭,称为Close GOP,但是在H265中,后一个GOP中的帧可参考前一个GOP中的帧,这种结构称为Open GOP,GOP的起始帧是CAR。
IDR
Instantaneous Decoding Refresh,IDR是一种特殊的I帧,当解码器收到IDR帧时,会刷新参考图像缓冲区,也就是说IDR帧之后的帧不会参考IDR之前的帧(对比CAR)。
CRA
Clean Random Access,开放GOP中可作为第一帧被解码的帧,用于分割GOP。同时需要注意一个序列即使是开放GOP它的第一帧也必定是IDR
BLA
Broken Link Access,一种特殊的CRA,当一个码流需要切换时,可以将后一个码流的CRA接到当前码流之后,此时,后一个码流的CRA叫BLA,由CRA的特性和场景分析:BLA的处理肯定不同于CRA,CRA后面的帧可以参考其前面的帧,BLA后续的帧不能参考前面的帧。
IRAP
Intra Random Access Point Picture,那些可以作为某个序列第一帧被解码的帧叫做IRAP。IDR、CRA、BLA都是IRAP。
RADL/RASL
Random Access Decodable Leading pictures / Random Access Skipped Leading pictures
在说明这两个概念之前我们需要知道另外一个词 Leading Pictrue。所谓Leading Pictrue就是输出顺序先于RAP,但是编码顺序后于RAP的图片,RADL/RASL都是 Leading Pictrue。
RADL:不依赖 编码顺序在RAP前的图像 的Leading Pictrue。
RASL:有可能会用到 编码顺序在RAP前的图像 的Leading Pictrue。
在GOP中图片的类型
在gop结构中图像的分类:IDR、CRA、BLA、RADL、RASL、Leading Pictrue、Trailing pictures
Trailing pictures:输出和编码都在IDR和Leading Pictrue之后的图片。
为方便描述用pic0代表编码顺序为0的图片;编码顺序=解码顺序;图中箭头起始端代表被参考的图片(譬如pic1到pic2的图片代表pic2会参考pic1).
可以看到整个序列最开始被编码出来的是IDR pic0,pic1输出顺序先于RAP(pic0),编码顺序后于pic0,所以它是一个Leading Pictrue(领导RAP的图片#手动狗头),同时它不依赖编码顺序在RAP前的图像,所以它是RADL,而pic6会参考编码顺序在RAP前的图像(pic0),所以它是RASL。图出处。
让我们来看一个random access的例子
这是在工作的时候遇到的一个问题,播放过程中做seek操作(画面跳转),seek操作后出现了马赛克帧
seek的切入点的GOP结构如下图。(注意此图是以解码顺序排布,上图是以显示顺序排布)
观察:解码器从POC141切入,观察log发现解码解出的帧POC为 141 145 12 10…(以及后面的帧)
推测:不难发现POC0(IDR)未解,且该处画面发生了跳变,因此有理由怀疑马赛克是由于IDR没有解造成的。
结论:后来发现的确如此,解码器在seek操作后会丢掉POC比IRAP POC小的帧(POC142 141 143都是正常的丢弃),但是未排除IDR,故导致错误丢掉了IDR帧。IP厂商更新固件之后解决了该问题
反思:
为什么random aceess发生之后需要丢掉POC比IRAP POC小的帧呢?
“random aceess发生之后需要丢掉POC比RAP POC小的帧” 这个描述(IP厂商提供)的帧实际上就是上文所述的Leading Pictrue。但我们只需丢掉RASL(虽然此触的确是RASL),RADL并不依赖编码顺序在RAP前的图像,因此没有理由丢掉,除非是解码器固件只知道它的POC,这样就无法判断它是哪种Leading Pictrue了。此处存疑,望大佬解惑
按照解码器的逻辑,为什么poc12比141小,也显示输出了呢?
猜测他们的丢帧的条件还有别的约束。
GOP、IDR、CAR、BLA、RASL、RADL相关推荐
- IDR、CRA、BLA、RASL、RADL、closed-gop、open-gop
相对于H.264编码的每个GOP是相互独立的,GOP切换用I帧,帧间搜索不再参考前一个GOP.而HEVC切换则可以"软切换". BLA.CRA.IDR是文献中提到过的三种随机接入 ...
- HEVC BLA、CRA、IDR
CRA使得编码视频序列的任意位置都能成为随机访问点,与插入一个IDR相比,插入一个CRA编码效率更高,压缩比更高.在解码顺序上处于CRA之后,在输出顺序上处于CRA之前的图片,可以采用在解码顺序上处于 ...
- BLA、CRA、IDR 解释
转载:http://blog.sina.com.cn/s/blog_520811730101jlsa.html Mark 留用~ BLA.CRA.IDR是文献中提到过的三种随机接入点( ...
- 视频压缩编码 gop(Group of Pictures)(I帧间隔)的概念、IDR、I帧(关键帧,intra picture)、P帧、B帧、帧内压缩、帧间压缩、pts(显示时间)、dts(解码时间)
文章目录 前言: 关于视频的基础定义 GOP:Group of Pictures 压缩(也就是编码) 帧内压缩:自己本身压缩,不参考其他的帧. 帧间压缩:参考其他视频帧压缩. 解码(解压缩) 为什么好 ...
- I帧、P帧、B帧、GOP、IDR 和PTS, DTS之间的关系
I帧.P帧.B帧.GOP.IDR 和PTS, DTS之间的关系 一.视频传输原理 视频是利用人眼视觉暂留的原理,通过播放一系列的图片,使人眼产生运动的感觉.单纯传输视频画面,视频量非常大,对现有的网络 ...
- idr帧 i帧 p帧_GOP、IDR帧、I帧周期的关系
关于 GOP 中 IDR 帧的说明: 1 . 在 H.264 中一个图像组的起始帧一定是 IDR 帧, 因此在 H.264 中在处理一个 GOP 之前 会把参考图像集清空,因此一个 GOP 中的帧一定 ...
- H264视频GOP组和视频压缩技术之有损压缩(帧间压缩、帧内压缩)、无损压缩(ACBAC压缩)
H264视频GOP组和视频压缩技术之有损压缩(帧间压缩.帧内压缩).无损压缩(ACBAC压缩) 一. 编码帧的分类 1.I帧(intraframe frame), 关键帧,采用帧内压缩技术.IDR帧属 ...
- stm32点亮LED的有关寄存器配置CRL、CRH、IDR、ODR
1.先了解io口 32的io口可以由软件配置寄存器为8种模式: 1.输入浮空 5.开漏输出 2.输入上拉 6.推挽输出 3.输入下拉 7.推挽式复用功能 4.模拟输入 8.开漏复用功能 单io口寄存器 ...
- STM32单片机的GPIO寄存器CRL、CRH、IDR、ODR、BRSS、BRR
STM32的寄存器多如牛毛,要一个一个的弄清楚谈何容易呀,所以我们在学习的时候要抓住重点,挑重要的进行学习和记忆,因为STM32一个一个去配置寄存器的话相当的麻烦,我们实际开发的话也不会一个一个去配置 ...
最新文章
- linux shell 中的sleep命令
- 架构师成长系列 | 从 2019 到 2020,Apache Dubbo 年度回顾与总结
- ASP.NET Core微服务(二)——【ASP.NET Core Swagger配置】
- linux命令行抓取网页快照-(xvfb+CutyCapt)
- Quartus II 8.1 详解--有图---图片详解 【1讲】
- STL常见算法transform以及二分查找,以及lambda表达式
- mysql存储过程数组字符串_Mysql通过存储过程分割字符串为数组
- 网易2016 实习研发工程师 [编程题]寻找第K大 and leetcode 215. Kth Largest Element in an Array...
- 戴尔台式机安装win 7系统
- vs 外部依赖项、附加依赖项以及如何添加依赖项目
- 微信客户端电脑版_【电脑】微信客户端数据自动删除工具 再也不用担心电脑内存了...
- 考研计算机网络必考考点,计算机专业考研计算机网络考点汇总
- 三、pgAdmin 4 布局设置
- 一种针对图数据超级节点的数据建模优化解决方案
- Python 自动化工具开源及办公自动化 10 高频操作,代码可直接套用
- 【智能无线小车系列八】在树莓派上使用USB摄像头
- 如何生成希尔伯特矩阵
- 微星笔记本的神奇之处
- FPGA 等效门数的计算方法
- 华为平板计算机的隐藏功能,华为平板MatePad的3种隐藏玩法,你都不知道呢