HEVC Study Three(基于HM14.0平台)--GOP研究之大揭秘

简介: <span style="white-space:pre"></span> <p><span style="white-space:pre"><span style="font-size:14px">关于GOP的基本知识这里就不唠叨了<img alt="偷笑" src="http://static.blog.csdn.net/xheditor/xheditor_emot/default/

关于GOP的基本知识这里就不唠叨了偷笑。直接对GOP大揭秘~~~大笑

(一)、HM14.0 Software Manual中的GOP structure table分析


GOP结构表

定义循环的GOP结构,可以在整个视频序列重复使用。此结构表应该包含GOP大小、帧命名等。帧被列出解码的顺序,因此,Frame1是解码的第1帧,Frame2是解码的第2帧等等。除此之外,表中还指定了每一帧解码所需的参考帧,包括用于当前帧和将来帧所需的参考帧。编码器不会自动计算为将来帧参考所保留的是哪一帧。注意在之前GOP的指定参考帧,对于IDR帧之后将不可用,这是由编码器自动处理的,因此参考图像可以再GOP列表中指定好像在当前GOP前有无限个GOP一样。列表中用于参考的参数使用空格隔开。


Type:条带类型,可以为I/P/B。

POC:GOP内图像帧的显示顺序,范围为1~GOPSize。

QPOffset:量化参数偏移量,用于指定本帧实际的QP值。

QPFactor:用于率失真优化的权重,值越大意味着质量越低和越少的比特;典型的取值范围为0.3~1。


tcOffsetDiv2:循环内去块滤波器参数修正值,加在基本参数LoopFilterTcOffset_div2上设置最终的参数tc_offset_div2用于标记当前帧条带段头信息,tc_offset_div2应该是一个取值范围为-6~6的整数。

betaOffsetDiv2:循环内去块滤波器参数修正值,加在基本参数LoopFilterBetaOffset_div2上设置最终的参数beta_offset_div2用于标记当前帧条带段头信息,beta_offset_div2应该是一个取值范围为-6~6的整数。


temporal_id:当前帧所在的时域子层的序号。一帧不能从较高temporal_id的一帧进行预测。如果较高temporal_id的帧被列入为一帧的参考图像,则不可用,但是可以保留,可能为将来的帧使用。

num_ref_pics_active:参考图像列表L0和L1的大小,表明在编码过程中每一个方向有多少个参考图像。L0是前向参考图像列表,L1是后向参考图像列表。

num_ref_pics:为当前帧保留的参考图像数量。包括用于当前帧和将来帧的参考图像数量。

reference_pictures:保存相对于当前帧POC的参考帧的POC。





(二)、针对IPPP编码结构的GOP大揭秘(基于背景建模的监控视频编码常采用这种编码结构~~~)

原来的IPPP编码结构的GOP结构如下:

#======== Coding Structure =============
IntraPeriod : -1 # Period of I-Frame ( -1 = only first)
DecodingRefreshType : 0 # Random Accesss 0:none, 1:CRA, 2:IDR, 3:Recovery Point SEI
GOPSize : 4 # GOP Size (number of B slice = GOPSize-1)
# Type POC QPoffset QPfactor tcOffsetDiv2 betaOffsetDiv2 temporal_id #ref_pics_active #ref_pics reference pictures predict deltaRPS #ref_idcs reference idcs
Frame1: P 1 3 0.4624 0 0 0 4 4 -1 -5 -9 -13 0
Frame2: P 2 2 0.4624 0 0 0 4 4 -1 -2 -6 -10 1 -1 5 1 1 1 0 1
Frame3: P 3 3 0.4624 0 0 0 4 4 -1 -3 -7 -11 1 -1 5 0 1 1 1 1
Frame4: P 4 1 0.578 0 0 0 4 4 -1 -4 -8 -12 1 -1 5 0 1 1 1 1

若将GOP改为64,即变为如下所示结构:

Frame1: P 1 3 0.4624 0 0 0 4 4 -1 -65 -129 -193 0
Frame2: P 2 2 0.4624 0 0 0 4 4 -1 -2 -66 -130 1 -1 5 1 1 1 0 1
Frame3: P 3 3 0.4624 0 0 0 4 4 -1 -3 -67 -131 1 -1 5 0 1 1 1 1
Frame4: P 4 1 0.578 0 0 0 4 4 -1 -4 -68 -132 1 -1 5 0 1 1 1 1
Frame5: P 5 3 0.4624 0 0 0 4 4 -1 -5 -69 -133 1 -1 5 0 1 1 1 1
Frame6: P 6 2 0.4624 0 0 0 4 4 -1 -6 -70 -134 1 -1 5 0 1 1 1 1
Frame7: P 7 3 0.4624 0 0 0 4 4 -1 -7 -71 -135 1 -1 5 0 1 1 1 1
Frame8: P 8 1 0.578 0 0 0 4 4 -1 -8 -72 -136 1 -1 5 0 1 1 1 1
Frame9: P 9 3 0.4624 0 0 0 4 4 -1 -9 -73 -137 1 -1 5 0 1 1 1 1
Frame10: P 10 2 0.4624 0 0 0 4 4 -1 -10 -74 -138 1 -1 5 0 1 1 1 1
Frame11: P 11 3 0.4624 0 0 0 4 4 -1 -11 -75 -139 1 -1 5 0 1 1 1 1
Frame12: P 12 1 0.578 0 0 0 4 4 -1 -12 -76 -140 1 -1 5 0 1 1 1 1
Frame13: P 13 3 0.4624 0 0 0 4 4 -1 -13 -77 -141 1 -1 5 0 1 1 1 1
Frame14: P 14 2 0.4624 0 0 0 4 4 -1 -14 -78 -142 1 -1 5 0 1 1 1 1
Frame15: P 15 3 0.4624 0 0 0 4 4 -1 -15 -79 -143 1 -1 5 0 1 1 1 1
Frame16: P 16 1 0.578 0 0 0 4 4 -1 -16 -80 -144 1 -1 5 0 1 1 1 1
Frame17: P 17 3 0.4624 0 0 0 4 4 -1 -17 -81 -145 1 -1 5 0 1 1 1 1
Frame18: P 18 2 0.4624 0 0 0 4 4 -1 -18 -82 -146 1 -1 5 0 1 1 1 1
Frame19: P 19 3 0.4624 0 0 0 4 4 -1 -19 -83 -147 1 -1 5 0 1 1 1 1
Frame20: P 20 1 0.578 0 0 0 4 4 -1 -20 -84 -148 1 -1 5 0 1 1 1 1
Frame21: P 21 3 0.4624 0 0 0 4 4 -1 -21 -85 -149 1 -1 5 0 1 1 1 1
Frame22: P 22 2 0.4624 0 0 0 4 4 -1 -22 -86 -150 1 -1 5 0 1 1 1 1
Frame23: P 23 3 0.4624 0 0 0 4 4 -1 -23 -87 -151 1 -1 5 0 1 1 1 1
Frame24: P 24 1 0.578 0 0 0 4 4 -1 -24 -88 -152 1 -1 5 0 1 1 1 1
Frame25: P 25 3 0.4624 0 0 0 4 4 -1 -25 -89 -153 1 -1 5 0 1 1 1 1
Frame26: P 26 2 0.4624 0 0 0 4 4 -1 -26 -90 -154 1 -1 5 0 1 1 1 1
Frame27: P 27 3 0.4624 0 0 0 4 4 -1 -27 -91 -155 1 -1 5 0 1 1 1 1
Frame28: P 28 1 0.578 0 0 0 4 4 -1 -28 -92 -156 1 -1 5 0 1 1 1 1
Frame29: P 29 3 0.4624 0 0 0 4 4 -1 -29 -93 -157 1 -1 5 0 1 1 1 1
Frame30: P 30 2 0.4624 0 0 0 4 4 -1 -30 -94 -158 1 -1 5 0 1 1 1 1
Frame31: P 31 3 0.4624 0 0 0 4 4 -1 -31 -95 -159 1 -1 5 0 1 1 1 1
Frame32: P 32 1 0.578 0 0 0 4 4 -1 -32 -96 -160 1 -1 5 0 1 1 1 1
Frame33: P 33 3 0.4624 0 0 0 4 4 -1 -33 -97 -161 1 -1 5 0 1 1 1 1
Frame34: P 34 2 0.4624 0 0 0 4 4 -1 -34 -98 -162 1 -1 5 0 1 1 1 1
Frame35: P 35 3 0.4624 0 0 0 4 4 -1 -35 -99 -163 1 -1 5 0 1 1 1 1
Frame36: P 36 1 0.578 0 0 0 4 4 -1 -36 -100 -164 1 -1 5 0 1 1 1 1
Frame37: P 37 3 0.4624 0 0 0 4 4 -1 -37 -101 -165 1 -1 5 0 1 1 1 1
Frame38: P 38 2 0.4624 0 0 0 4 4 -1 -38 -102 -166 1 -1 5 0 1 1 1 1
Frame39: P 39 3 0.4624 0 0 0 4 4 -1 -39 -103 -167 1 -1 5 0 1 1 1 1
Frame40: P 40 1 0.578 0 0 0 4 4 -1 -40 -104 -168 1 -1 5 0 1 1 1 1
Frame41: P 41 3 0.4624 0 0 0 4 4 -1 -41 -105 -169 1 -1 5 0 1 1 1 1
Frame42: P 42 2 0.4624 0 0 0 4 4 -1 -42 -106 -170 1 -1 5 0 1 1 1 1
Frame43: P 43 3 0.4624 0 0 0 4 4 -1 -43 -107 -171 1 -1 5 0 1 1 1 1
Frame44: P 44 1 0.578 0 0 0 4 4 -1 -44 -108 -172 1 -1 5 0 1 1 1 1
Frame45: P 45 3 0.4624 0 0 0 4 4 -1 -45 -109 -173 1 -1 5 0 1 1 1 1
Frame46: P 46 2 0.4624 0 0 0 4 4 -1 -46 -110 -174 1 -1 5 0 1 1 1 1
Frame47: P 47 3 0.4624 0 0 0 4 4 -1 -47 -111 -175 1 -1 5 0 1 1 1 1
Frame48: P 48 1 0.578 0 0 0 4 4 -1 -48 -112 -176 1 -1 5 0 1 1 1 1
Frame49: P 49 3 0.4624 0 0 0 4 4 -1 -49 -113 -177 1 -1 5 0 1 1 1 1
Frame50: P 50 2 0.4624 0 0 0 4 4 -1 -50 -114 -178 1 -1 5 0 1 1 1 1
Frame51: P 51 3 0.4624 0 0 0 4 4 -1 -51 -115 -179 1 -1 5 0 1 1 1 1
Frame52: P 52 1 0.578 0 0 0 4 4 -1 -52 -116 -180 1 -1 5 0 1 1 1 1
Frame53: P 53 3 0.4624 0 0 0 4 4 -1 -53 -117 -181 1 -1 5 0 1 1 1 1
Frame54: P 54 2 0.4624 0 0 0 4 4 -1 -54 -118 -182 1 -1 5 0 1 1 1 1
Frame55: P 55 3 0.4624 0 0 0 4 4 -1 -55 -119 -183 1 -1 5 0 1 1 1 1
Frame56: P 56 1 0.578 0 0 0 4 4 -1 -56 -120 -184 1 -1 5 0 1 1 1 1
Frame57: P 57 3 0.4624 0 0 0 4 4 -1 -57 -121 -185 1 -1 5 0 1 1 1 1
Frame58: P 58 2 0.4624 0 0 0 4 4 -1 -58 -122 -186 1 -1 5 0 1 1 1 1
Frame59: P 59 3 0.4624 0 0 0 4 4 -1 -59 -123 -187 1 -1 5 0 1 1 1 1
Frame60: P 60 1 0.578 0 0 0 4 4 -1 -60 -124 -188 1 -1 5 0 1 1 1 1
Frame61: P 61 3 0.4624 0 0 0 4 4 -1 -61 -125 -189 1 -1 5 0 1 1 1 1
Frame62: P 62 2 0.4624 0 0 0 4 4 -1 -62 -126 -190 1 -1 5 0 1 1 1 1
Frame63: P 63 3 0.4624 0 0 0 4 4 -1 -63 -127 -191 1 -1 5 0 1 1 1 1
Frame64: P 64 1 0.578 0 0 0 4 4 -1 -64 -128 -192 1 -1 5 0 1 1 1 1





目录
相关文章
|
5月前
|
Web App开发 监控 JavaScript
Vue 3 内存泄漏排查与性能优化:从入门到精通的工具指南
本文深入剖析 Vue 3 应用内存泄漏的根源,从响应式系统机制讲起,结合定时器泄漏等实战案例,揭示闭包与全局引用导致的 GC 回收失败问题。通过对比 vue-performance-monitor、memory-monitor-sdk、Chrome DevTools 与 Memlab 四大工具,构建覆盖开发、测试到 CI/CD 的全链路检测体系,并提出三层防御架构与五大黄金法则,助力开发者打造高性能、零泄漏的 Vue 应用,实现从调试者到性能架构师的跃迁。(239字)
447 8
Vue 3 内存泄漏排查与性能优化:从入门到精通的工具指南
|
12月前
|
Android开发 开发者
Android动态搜索的简单实现
本文介绍了在Android中实现动态搜索功能的方法,重点讲解了通过`SearchView`与`ListView`结合的方式。文章首先简要提及了`addTextChangedListener`的使用场景,随后详细说明了`SearchView`的相关方法,如`setIconified()`、`setOnQueryTextListener()`等,并通过一个示例展示了如何根据用户输入动态过滤`ListView`中的数据。案例中使用了一个字符串数组作为数据源,通过监听输入变化实现搜索功能。最后提供了完整的源码和布局文件,便于开发者参考和实践。
244 3
|
存储 人工智能 数据格式
总说具身智能的数据太贵,鹏城实验室开源百万规模标准化数据集
【9月更文挑战第18天】鹏城实验室提出的ARIO(All Robots In One)标准,为具身智能领域带来了统一的数据格式、丰富的感知模态及多样化的真实与模拟数据,显著提升了数据集的质量与规模,助力智能系统更好地与物理世界互动。基于此标准构建的大规模数据集包含约300万个片段,覆盖258个系列和321,064个任务,极大地推动了具身智能的研究与发展。然而,该数据集也面临着存储需求高、系统互操作性及应用场景适应性等挑战。论文详情见:http://arxiv.org/abs/2408.10899。
567 12
|
算法 Java
算法系列之数据结构-Huffman树
Huffman树(哈夫曼树)又称最优二叉树,是一种带权路径长度最短的二叉树,常用于信息传输、数据压缩等方面。它的构造基于字符出现的频率,通过将频率较低的字符组合在一起,最终形成一棵树。在Huffman树中,每个叶节点代表一个字符,而每个字符的编码则是从根节点到叶节点的路径所对应的二进制序列。
419 3
 算法系列之数据结构-Huffman树
|
安全 Linux 数据处理
Linux命令strip详解
`strip`命令在Linux中用于移除可执行文件和库的符号表及调试信息,减小文件大小,提升运行效率。它的工作原理是删除文件中包含的函数名、变量名等信息。主要参数包括`-s`(移除所有符号)、`-g`(仅移除调试信息)等。在应用时要注意文件备份,因为该操作不可逆。最佳实践是在发布版本中使用,并结合构建流程自动化。
|
JSON API 开发者
淘宝商品评价API的获取与应用
在数字化时代,电商平台如淘宝成为消费者购物的主要渠道。本文介绍如何使用淘宝开放平台的商品评论API获取并利用评论数据,以优化产品和服务,提升用户体验。内容涵盖API的重要性、准备工作、调用流程及代码实现,帮助开发者高效获取和分析数据。
533 3
|
机器学习/深度学习 数据可视化 UED
黑匣子被打开了!能玩的Transformer可视化解释工具,本地运行GPT-2、还可实时推理
【9月更文挑战第4天】Transformer Explainer是一款基于网页的交互式可视化工具,专为帮助用户理解复杂的Transformer模型而设计。通过多层次抽象、实时推理及互动实验,以及无需安装即可使用的便捷性,此工具选取GPT-2作为教学模型,降低了学习门槛并提升了教育普及度。用户可以通过输入自定义文本观察预测过程,深入了解内部组件的工作原理。此外,它还减少了认知负荷,增强了互动学习体验。未来,该工具将在复杂性管理和性能优化方面继续改进,并通过用户研究进一步提升功能和可用性。[论文地址:https://arxiv.org/pdf/2408.04619]
788 1
|
网络协议 测试技术 网络架构
双网卡双线路DNS解析分析
在企业网络维护过程中我们经常会遇到这样或那样的奇怪问题,而很多问题需要有深厚的理论知识才能解决。而随着网络的飞速发展越来越多的中小企业开始尝试通过多条线路来保证网络的畅通,一方面双网卡下的双线接入可以保证我们的速度有所提升,彻底解决网通与电信双网交叉访问问题;另一方面双线接入保证企业网络即使有一条线路出现问题另外一条也可以马上接管工作,从而保证企业网络畅通无阻,为企业外网接入提供冗余功能。
2985 0
|
存储 人工智能 算法
哈夫曼算法详细讲解(算法+源码)
哈夫曼算法详细讲解(算法+源码)
2022 数据结构与算法《王道》学习笔记 (十一)KMP算法 详细归纳总结 改进的模式匹配算法
2022 数据结构与算法《王道》学习笔记 (十一)KMP算法 详细归纳总结 改进的模式匹配算法
2022 数据结构与算法《王道》学习笔记 (十一)KMP算法 详细归纳总结 改进的模式匹配算法