关于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