链接地址:H.264/AVC视频编解码技术详解
GitHub代码地址
一、帧间预测宏块类型(宏块划分和子宏块划分)
1.1 帧间预测宏块划分
P宏块:
1、P_8x8ref0表示虽然宏块是按照8×8划分,但码流中不传输ref_idx等信息。对于每一个子块,其ref_idx信息默认为0。
2、P_8x8:对应4个8x8子宏块,故预测模式在子宏块语法内部
B宏块:
1、B_8x8:需要进一步进行子块划分,因此没有MbPartPredMode
2、其他模式均定义了一个或两个的MbPartPredMode值,其取值及含义为:
- Pred_L0:只从List0中选择一个参考帧;
- Pred_L1:只从List1中选择一个参考帧;
- BiPred:双向预测,从List0和List1中各选择一个参考帧;
- Direct:用于B_Direct_16x16和B_Skip模式;
1.2 (帧间编码宏块按照8×8划分时)子宏块的划分
对B宏块的8×8子块进行进一步分割后,每一个8×8子块内的分块都只有一个SubMbPredM