视频编码中为什么要引入GOP的呢?
首先,是能够更"好"的进行帧间压缩以及控制帧率和码率的功能。
其次,GOP确定了视频码流里不同帧类型之间的顺序和联系。且通常一个GOP总是以I帧开始,两个相邻I帧之间的帧个数就是GOP的大小。
GOP结构内部又进行细化分,包含了从最底层的到最高层的最小数量的一组图像,我们可以称为mini-GOP。
mini-GOP的大小是根据视频编码的帧参考关系和时域分层数确定的。视频编解码里面,时域分层的依据包括参考帧类型、参考帧个数以及帧方向。
视频编码时如果包含B帧,分层的方式一般采用二分法(dyadic)。miniGOP的大小通常是4,8,16,32等这类数值,二分法GOP结构如下,包含4个时域层,采用2帧参考帧的示意图如下:
时域层数从0开始计数,I帧一定在第0层,第0层也可是P帧或B帧,这些帧叫做关键帧(anchor frame),也可称为base layer。
mini-GOP的大小 = 2^(非零层个数)
举例说明:mini-GOP大小为4,共分3层的编码预测结构图如下。
其中红色帧为第0层,蓝色帧为第2层,其余帧属于第三层。其中b类型帧不