宏块层的mb_type

1.I片中的mb_type

主要有三类 I_4x4 ,Intra_16x16_x_y_z ,I_PCM.

Intra_4x4使用帧内4x4预测,Intra_16x16表示使用帧内16x16预测,xyz分别代表帧内16x16的预测模式,色度cbp,亮度cbp的值。cbp是子宏块(8x8)残差的编码方式。

2.P片中mb_type

P_L0_16X16, P_L0_L0_16X18, P_L0_L0_8X16, P_8X8 ,P_8X8ref0,P_Skip  

P片中mb_type属于[0,4]时参见 上面五个类型,属于[5-30]时,参见I片中的mb_type,并用mb_type值减5来进行查找。

其中P_8x8ref0的语义与P_8x8相同,区别是对于P_8x8ref0,比特流中没有参考索引(ref_idx_l0)的语法元素,且对应所有宏块的子宏块的ref_idx_l0[ mbPartIdx ]推导后应该等于0(其中mbPartIdx的索引值为0..3)。

而ref_idx_l0[ mbPartIdx]用参考帧队列 L0 进行预测,即前向预测时,参考图像在参考帧队列中的序号。其中 mbPartIdx 是宏块分区的序号。 如 果 当 前 宏 块 是非场宏块 ,  则ref_idx_l0[ mbPartIdx ] 值的范围是0到 num_ref_idx_l0_active_minus1。 否则,如果当前宏块是场宏块,(宏块所在图像是场,当图像是帧场自适应时当前宏块处于场编码的宏块对),ref_idx_l0[ mbPartIdx]值的范围是 0  到 2*num_ref_idx_l0_active_minus1 + 1,如前所述,此时参考帧队列的帧都将拆成场,故参考队列长度加倍。    

3.B片中的mb_type

B_Direct_16x16 B_X_16X16  B_X_Y_16x8  B_X_Y_8x16 B_8X8   B_Skip(direct模式)

 

参考自毕厚杰书P174

你可能感兴趣的:(宏块层的mb_type)