在表7-14中,如下语义分配给宏块类型:
–— B_Direct_16x16 表示比特流中的宏块没有运动矢量差别或参考序号。函数
MbPartWidth( B_Direct_16x16 )和MbPartHeight( B_Direct_16x16 )用于8.4.1小节中直接模式预测的运动矢量和
参考帧序号的推导过程。
这段话没什么感觉。
B_X_16x16(其中X可以是L0, L1, or Bi)表示用一个大小为16x16亮度样点的亮度宏块划分和色度样点
一起来预测宏块样点。对于一个类型为B_X_16x16(其中X为L0或L1)的宏块,其比特流中存在一个运动矢
量差和一个参考序号。对于一个类型为B_X_16x16(其中X为Bi)的宏块,宏块的比特流中存在两个运动矢
量差和两个参考序号。
这段话中,B_X_16x16我称之为模板,X有三种取值,L0、L1、BI,所以在表中出现mb_type = 1、2、3的三行。
![表7-14-B条带中值为0到22的宏块类型 - 加菲 - . 表7-14-B条带中值为0到22的宏块类型 - 加菲 - .](http://img.ph.126.net/10luwVrQsy4HrdcYUN2xjw==/591378926085951441.jpg)
B_X0_X1_MxN(其中X0, X1表示第一和第二宏块划分,它们都可以是L0或L1;MxN可以是16x18或
8x16)表示用两个大小为MxN(MxN等于16x8或8x16)亮度样点的亮度宏块划分和色度样点一起来预测宏块样
点。对于一个宏块划分X0或X1(X0或X1都可以是L0或L1),其比特流中存在一个运动矢量差和一个参考序
号。对于一个宏块划分X0或X1(X0或X1均为Bi),宏块划分的比特流中存在两个运动矢量差和两个参考序
号。
对于这段话中,模板为:B_X0_X1_MxN
X1的取值为:L0、L1、BI;(3种可能)
X2的取值为:L0、L1、BI;(3种可能)
M x N 的取值为:16 x 8 、8 x 16;(2种可能)
这是个排列组合问题,和顺序也有关,可能性为:2 x 3 x 3 =18种。
数一下表中,符合B_X0_X1_MxN格式的行,即mb_type = 4 到 mb_type = 21 的行,一共刚好18行。与排列组合的结果是一样的。
其实,上面那段B_X_MxN的描述,也可以按排列组合来看待,只有X是变化的,X的取值可能为L0、L1、Bi,共3种可能性,位置是固定的,所以有3种,对应表中的三行。
–— Pred_L0表示使用列表0预测调用帧间预测过程。Pred_L0是一种帧间宏块预测模式。
–— Pred_L1表示使用列表1的预测调用帧间预测过程。Pred_L1是一种帧间宏块预测模式。
–— BiPred表示使用列表0和列表1预测调用帧间预测过程。BiPred是一种帧间宏块预测模式。