VVC 支持基于子块的时间运动矢量预测(SbTMVP)方法。 与 HEVC 中的时间运动矢量预测 (TMVP) 类似,SbTMVP 使用并置图片(collocated picture)中的运动场来改进当前图片中 CU 的运动矢量预测和Merge模式。 SbTVMP和TMVP 使用相同的并置图片 。
SbTMVP 与 TMVP 的不同主要有以下两个方面:
– TMVP 在 CU 级别预测运动,但 SbTMVP 在子 CU 级别预测运动;
– TMVP 从并置图片中的并置块获取时间运动矢量(并置块是相对于当前 CU 的右下或中心块),而 SbTMVP 在从并置图片获取时间运动信息之前应用运动移位 ,其中运动位移是从当前 CU 的空间相邻块之一的运动矢量获得的。
SbTVMP 过程如图 34 所示。SbTMVP 分两步预测当前 CU 内子 CU 的运动矢量。 第一步,检查图 34 (a) 中的块A1。 如果A1具有使用并置图片作为其参考图片的运动矢量,则选择该运动矢量作为要应用的运动移位。 如果A1未在帧间预测模式下进行编码或 MV 未指向并置图片,则将运动偏移设置为 (0, 0)。
第二步,应用步骤 1 中识别的运动移位(即添加到当前块的坐标),以从并置图片中获取子 CU 级运动信息(运动矢量和参考索引),如图 34(b)所示。 图 34 (b) 中的示例假设运动移位设置为块 A1 的运动。 然后,对于每个子CU,使用并置图片中其对应块(覆盖中心样本的最小运动网格)的运动信息来导出子CU的运动信息。 在识别出并置子CU的运动信息之后,以与HEVC的TMVP过程类似的方式将其转换为当前子CU的参考索引和运动矢量,其中应用时间运动缩放以将时间运动矢量的参考图片与当前CU的参考图片对齐。
当前CU的中心位置的运动信息,是从并置图片中包含移位的中心位置的块的运动信息导出的,在图5中标记为MV3。如果包含移位的中心位置的块没有进行帧间编码,则认为SbTMVP候选不可用。在对应的子块没有被帧间编码的情况下,当前子块的MV被设置为中心位置的MV。
在VVC中,包含SbTVMP候选者和仿射Merge候选者的组合的基于子块的Merge列表被用于基于子块的Merge模式的信令。 SbTVMP 模式由序列参数集 (SPS) 标志启用/禁用。 如果启用 SbTMVP 模式,则将 SbTMVP 预测器添加为基于子块的Merge候选者列表的第一个条目,后面是仿射合并候选者。 基于子块的Merge列表的大小在SPS中用信号通知,并且基于子块的Merge列表的最大允许大小在VVC中是5。
SbTMVP 中使用的子 CU 大小固定为 8×8,与仿射合并模式一样,SbTMVP 模式仅适用于宽度和高度都大于或等于 8 的 CU。
附加SbTMVP Merge候选的编码逻辑与其他Merge候选相同,即对于P或B切片中的每个CU,执行附加RD检查来决定是否使用SbTMVP候选。