Close gop与Open Gop

GOP和Reference

  在视频编码序列中,主要有三种编码帧:I帧、P帧、B帧,如下图3.1所示。

  ● I帧即Intra-coded picture(帧内编码图像帧),不参考其他图像帧,只利用本帧的信息进行编码
● P帧即Predictive-coded Picture(预测编码图像帧),利用之前的I帧或P帧,采用运动预测的方式进行帧间预测编码
● B帧即Bidirectionally predicted picture(双向预测编码图像帧),提供最高的压缩比,它既需要之前的图
像帧(I帧或P帧),也需要后来的图像帧(P帧),采用运动预测的方式进行帧间双向预测编码

  在视频编码序列中,GOP即Group of picture(图像组),指两个I帧之间的距离,Reference(参考周期)指两个P帧之间的距离(如下图3.1)。一个I帧所占用的字节数大于一个P帧,一个P帧所占用的字节数大于一个B帧(如下图3.1所示)。

  图3.1 I、P、B帧示意图

  所以在码率不变的前提下,GOP值越大,P、B帧的数量会越多,平均每个I、P、B帧所占用的字节数就越多,也就更容易获取较好的图像质量;Reference越大,B帧的数量越多,同理也更容易获得较好的图像质量。

  需要说明的是,通过提高GOP值来提高图像质量是有限度的,在遇到场景切换的情况时,H.264编码器会自动强制插入一个I帧,此时实际的GOP值被缩短了。另一方面,在一个GOP中,P、B帧是由I帧预测得到的,当I帧的图像质量比较差时,会影响到一个GOP中后续P、B帧的图像质量,直到下一个GOP开始才有可能得以恢复,所以GOP值也不宜设置过大。

同时,由于P、B帧的复杂度大于I帧,所以过多的P、B帧会影响编码效率,使编码效率降低。另外,过长的GOP还会影响Seek操作的响应速度,由于P、B帧是由前面的I或P帧预测得到的,所以Seek操作需要直接定位,解码某一个P或B帧时,需要先解码得到本GOP内的I帧及之前的N个预测帧才可以,GOP值越长,需要解码的预测帧就越多,seek响应的时间也越长。

 

x264最近的更新加入了两个关于keyframe的参数,–open-gop和–keyint infinite。
所谓open-gop,就是指允许类似IBBPBBIBB的frame结构,它的作用在于提高低keyint设置时的压缩率。
–keyint infinite的作用和open-gop正好相反,它为了最大化的利用压缩率存在的。开启infinite的open-gop后,除非scene-cut自动判定需要加入keyframe,一般情况下都不会加入keyframe。

众所周知,过于频繁的keyframe存在会降低压缩率,而一定频率的keyframe又能保证GOP间的B和P帧拥有良好的预测精度。同时keyframe的存在又保证了编码视频的可seek能力这在某些应用场合又是非常关键的。所以keyframe的选择是一个因人而异,因应用场合不同而变化的参数。

由于open-gop开启/keyint infinite与open-gop关闭/keyint infinite结果一模一样,所以不在列出了。这也可以理解,因为两者对keyframe的控制作用是完全相反的。

从上面的结果不难看出,开启open-gop保持现有keyint的设定,或者完全无视open-gop直 接上极端的无穷keyint interval,都能对最终编码视频的质量有所提升(opengop的提升很有限)。至于两者选何者好就要根据实际编码视频的质量,以及可播放性来确定 了,如果是极端ep的终极质量追求者,看片子几乎不seek,那就选择keyint infinite吧。

MPEG的格式支持open GOP或者close GOP格式。Close GOP是指帧间的预测都是在GOP中进行的。而使用open GOP,后一个GOP会参考前一个GOP的信息。使用这种方式就大大降低了码率。

from: http://www.videohelp.com

GOP: Group Of Pictures

A Group Of Pictures (GOP) consists of all the pictures that follow a GOP header before another GOP header.

The GOP layer allows random access because the first picture after the GOP header is an Intra picture that means that it doesn't need any reference to any other picture.

The GOP layer is optional, i.e. it's not mandatory to put any GOP header in the bitstream. In the header there is also the timecode of the first picture of the GOP to be displayed.

The decoding process, as the GOP header is immediately followed by an Intra picture, can begin at that point of the bitstream. Anyway it's possible that some B pictures, following such I_picture in the bitstream, have references coming from the previous GOP and can't be correctly decoded. In this case the GOP is called an Open GOP because some references from the previous GOP exist; if a random access to such a GOP is performed, some B_pictures shouldn't be displayed .
A GOP is called a Closed GOP when either there are no B_pictures immediately following the first I_picture or such B_pictures haven't any references coming from the previous GOP (in this case a GOP header flag must be set).

the GOP length is the period (often expressed in frames) by which an Intra frame occursIt must be noticed that such a value cannot be found in the bitstream and it is unnecessary to the decoding process. Furthermore it isn't specified any fixed period for the Intra frame. As the presence of the Intra frames is quite important for many applications, it is the encoder that has to provide them, while the decoder has only to work with all the valid bitstreams.

例子:

  • 非封闭GOP: I1 P2 B3 B4 P5 B6 B7 

       I8  B9  B10 P11 B11 B12 P13 B14 B15

       I16 B16 B17 P18 B19 B20 P21 B22 B23

       第一个GOP length为9-2帧,从第二个GOP开始为9帧

  • 封闭GOP:

               I1  P2  B3  B4  P5  B6  B7   

               I8  P9  B10 B11 P12 B13 B14

               I15 P16 B17 B18 P19 B20 B21

       GOP length = 9-2;

时间: 2024-09-28 07:05:52

Close gop与Open Gop的相关文章

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

关于GOP的基本知识这里就不唠叨了.直接对GOP大揭秘~~~ (一).HM14.0 Software Manual中的GOP structure table分析 GOP结构表 定义循环的GOP结构,可以在整个视频序列重复使用.此结构表应该包含GOP大小.帧命名等.帧被列出解码的顺序,因此,Frame1是解码的第1帧,Frame2是解码的第2帧等等.除此之外,表中还指定了每一帧解码所需的参考帧,包括用于当前帧和将来帧所需的参考帧.编码器不会自动计算为将来帧参考所保留的是哪一帧.注意在之前GOP的指

黑客组织GOP开始邮件威胁索尼员工及其家人

自从黑客组织GOP入侵索尼影视之后,就在连续不断的制造威胁,包括泄露未上映电影.员工私人信息等.现在GOP的黑客们又开始向索尼影视的员工发送威胁邮件.498)this.w idth=498;' onmousewheel = 'javascript:return big(this)' style="width: 475px; height: 277px" border="0" alt="黑客组织GOP开始邮件威胁索尼员工及其家人" src=&quo

【短视频SDK - 参数解析】对焦模式、裁剪模式、视频质量、分辨率、视频比例、帧率、关键帧间隔等参数解析

1.参数简析 参数名称 简介 影响 裁剪模式 分为填充模式和裁剪模式 影响图像画面的展示细节 视频质量 是指生成的视频的输出参数,是一组参数决定的数值 视频清晰度和文件大小 分辨率 图像分辨率则是单位英寸中所包含的像素点数,分辨率影响图像大小,与图像大小成正比:分辨率越高,图像越大:分辨率越低,图像越小. 影响视频文件大小和画面大小 视频比例 视频预览和输出的比例,常用1:1,4:3,3:4,16:9,9:16 根据需求不同展示不同的比例,影响视频大小 帧率 默认:25fps 影响视频的连贯度,

JDNI

JNDI是为了一个最最核心的问题:是为了解耦,是为了开发出更加可维护.可扩展的系统JNDI和JDBC起的作用类似:JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成.JDBC为工具/数据库开发人员提供了一个标准的API,据此可以构建更高级的工具和接口,使数据库开发人员能够用纯 Java API 编写数据库应用程序.JNDI(Java Namin

HEVC算法和体系结构:编码结构之编码时的分层处理架构

编码结构之编码时的分层处理架构         本博文主要介绍HEVC编码结构中的"编码时的分层处理架构".HEVC编码结构的主要目的就是为了各种应用下操作的灵活性以及数据损失的鲁棒性(所谓"鲁棒性",是指控制系统在一定的参数摄动下,维持其它某些性能的特性).从GOP(Group of Pictures)至Slice,从Slice至SS(Slice Segment),从SS至CTU(Coding Tree Unit),从CTU至CU(Coding Unit)的过程就

仿映客视频直播

原文链接:http://www.jianshu.com/p/5b1341e97757 一.直播现状简介 Linkee.10 1.技术实现层面: 技术相对都比较成熟,设备也都支持硬编码.IOS还提供现成的 Video ToolBox框架,可以对摄像头和流媒体数据结构进行处理,但Video ToolBox框架只兼容8.0以上版本,8.0以下就需要用x264的库软编了. github上有现成的开源实现,推流.美颜.水印.弹幕.点赞动画.滤镜.播放都有.技术其实不是很难,而且现在很多云厂商都提供SDK,

索尼聘请火眼公司调查大规模网络攻击事件

索尼聘请火眼公司调查大规模网络攻击事件网易科技讯 12月1日消息,据路透社报道,三位熟悉内情的消息人士周日透露,索尼影视娱乐已经聘请火眼( FireEye)公司Mandiant法医鉴定部门,调查约1周前造成该公司电脑网络崩溃的大规模网络攻击事件.一位未被授权公开谈论处理此次攻击事件行动的消息人士称,美国联邦调查局(FBI)也在调查此事.<洛杉矶时报>曾报道,上周一索尼影视娱乐公司的电脑系统遭到攻击,电脑屏幕出现红色骷髅头和"Hacked By #GOP"(由#GOP发动)字

如何降低直播延时?

按正常情况,RTMP 推流 + FLV 播放的正常延迟在 2-3s 左右,如果太长则是有问题的.如果您发现直播延迟时间特别长,可按照如下思路来排查: 以下方法仅适用于 RTMP 与 FLV 阿里云提供 FLV.HLS.RTMP 三种播放协议,不少用户采用 HLS 的播放协议.HLS 是苹果研发的协议,对浏览器兼容较好,并且跨终端的支持.是很多用户的首选.但是 HLS 本身机制的问题,是基于大颗粒的 TS 分片的流媒体协议,每个分片都有 5s 以上的时长,分片数量一般为 3-4 个,所以总延迟在

音视频基础 、IPB帧及其特点

基本概念讲解 媒体:是表示,传输,存储信息的载体,常人们见到的文字.声音.图像.图形等都是表示信息的媒体. 多媒体: 是声音.动画.文字.图像和录像等各种媒体的组合,以图文并茂,生动活泼的动态形式表现出来,给人以很强的视觉冲击力,留下深刻印象 多媒体技术:是将文字.声音.图形.静态图像.动态图像与计算集成在一起的技术.它要解决的问题是计算机进一步帮助人类按最自然的和最习惯的方式接受和处理信息. 流媒体 :流媒体是指采用流式传输的方式在Internet播放的连续时基媒体格式,实际指的是一种新的媒体