1 CBP表示残差的编码状态,CBP一共6bit,低4位表示4个亮度8x8块,第4位表示U,第五位表示V,如果相应的位为"1", 表示此块有残差系数,反之没有残差,此宏块没有被编码.
2 direct 是帧间宏块的一种预测模式,而不是宏块类型,而 Skip 是帧间宏块的一种类型,而不是预测模式。skip 类型宏块采用的是direct 预测模式。
3 B_Skip类型宏块: 无像素残差,无运动矢量残差(MVD)。解码时,通过Direct预测模式(时间或空间)计算出前、后向MV后,直接利用前、后向MV得到像素预测值。像素重构值=像素预测值
P_Skip类型宏块: 也就是COPY宏块。无像素残差,无运动矢量残差(MVD)。直接利用预测MV得到像素预测值。像素重构值=像素预测值
B_Direct_16*16类型宏块: 有像素残差,无运动矢量残差(MVD)。解码时,通过Direct预测模式(时间或空间)计算出前、后向MV后,利用前、后向MV得到像素预测值。然后,像素重构值=像素预测值+像素残差解码值 .
对于mb_type为P8*8的16*16宏块,里面可能存在B_Direct模式的8*8子快。跟B_Direct_16*16类型宏块一样有像素残差,无运动矢量残差(MVD)。 区别是对于B_Direct_16*16,其4个8*8子块都采用direct模式;但对于B_Direct_8*8,其所属的16*16宏块中剩余的8*8块却不一定要采用direct模式。