在 HEVC 中,当slice header中的 use_integer_mv_flag 等于 0 时,运动矢量差(MVD)(CU 的运动矢量和预测运动矢量之间)以四分之一亮度样本为单位用信号表示。 在VVC中,引入了CU级自适应运动矢量分辨率(AMVR)方案。 AMVR允许CU的MVD以不同的精度进行编码。 根据当前CU的模式(正常AMVP模式或仿射AVMP模式),可以如下自适应地选择当前CU的MVD:
– 正常 AMVP 模式:四分之一亮度样本、半亮度样本、整数亮度样本或四亮度样本。
– 仿射 AMVP 模式:四分之一亮度样本、整数亮度样本或 1/16 亮度样本。
如果当前CU具有至少一个非零MVD分量,则有条件地用信号发送CU级MVD分辨率指示。 如果所有 MVD 分量(即,参考列表 L0 和参考列表 L1 的水平和垂直 MVD)均为零,则推断四分之一亮度样本 MVD 分辨率。
对于具有至少一个非零MVD分量的CU,用信号发送第一标志以指示是否将四分之一亮度样本MVD精度用于CU。 如果第一标志为0,则不需要进一步的信令并且四分之一亮度样本MVD精度用于当前CU。 否则,用信号发送第二标志以指示将半亮度样本或其他MVD精度(整数或四亮度样本)用于正常AMVP CU。 在半亮度样本的情况下,半亮度样本位置使用 6 抽头插值滤波器而不是默认的 8 抽头插值滤波器。 否则,用信号发送第三标志以指示对于正常AMVP CU使用整数亮度样本还是四亮度样本MVD精度。 在仿射 AMVP CU 的情况下,第二个标志用于指示是使用整数亮度样本还是 1/16 亮度样本 MVD 精度。 为了确保重建的 MV 具有预期的精度(四分之一亮度样本、半亮度样本、整数亮度样本或四亮度样本),CU 的运动矢量预测器将四舍五入为相同的精度。 与 MVD 相加之前的精度与 MVD 的精度相同。 运动矢量预测值向零舍入(即,负运动矢量预测值向正无穷大舍入,正运动矢量预测值向负无穷大舍入)。
编码器使用 RD 检查确定当前 CU 的运动矢量分辨率。 为了避免总是对每个 MVD 分辨率执行四次 CU 级 RD 检查,在 VTM 中,仅有条件地调用除四分之一亮度样本之外的 MVD 精度的 RD 检查。 对于普通 AVMP 模式,首先计算四分之一亮度样本 MVD 精度和整数亮度样本 MV 精度的 RD 成本。 然后,将整数亮度样本MVD精度的RD成本与四分之一亮度样本MVD精度的RD成本进行比较,以决定是否有必要进一步检查四亮度样本MVD精度的RD成本。 当四分之一亮度样本MVD精度的RD成本远小于整数亮度样本MVD精度的RD成本时,跳过四亮度样本MVD精度的RD检查。 然后,如果整数亮度样本 MVD 精度的 RD 成本显着大于先前测试的 MVD 精度的最佳 RD 成本,则跳过半亮度样本 MVD 精度的检查。 对于仿射 AMVP 模式,如果在检查仿射合并/跳过模式、合并/跳过模式、四分之一亮度样本 MVD 精度正常 AMVP 模式和四分之一亮度样本 MVD 精度仿射 AMVP 的速率失真成本后未选择仿射帧间模式,则不检查 1/16 亮度样本 MV 精度和 1-pel MV 精度仿射帧间模式。 此外,在四分之一亮度样本MV精度仿射帧间模式中获得的仿射参数被用作1/16亮度样本和四分之一亮度样本MV精度仿射帧间模式中的起始搜索点。
iste itaque doloremque rerum cumque aperiam reiciendis quis quia ut consequuntur sit vel ut sed consequatur deleniti et cupiditate ut. ea eius voluptate recusandae blanditiis corrupti sit aut ut soluta sed facilis et id quod qui nihil.
quas odio voluptas ipsum laborum nesciunt ipsa. itaque dolorem quia non accusantium et iste voluptas et dolor inventore. hic et vel mollitia ea natus est minima quidem perferendis qui tempore error facere aut quo cum. enim numquam in quidem sint aliquam in consequatur dolor quaerat.