SbTMVP

SBT-MVPSub-block Transform Motion Vector Prediction

子块变换模式下的运动矢量预测

它是为配合 SBT(Sub-block Transform,子块变换) 模式而设计的一种优化版 AMVP(Advanced Motion Vector Prediction)机制,旨在提升小尺寸、稀疏残差块的运动预测效率。


✅ 一、背景:为什么需要 SbtMVP?

🔹 问题来源:

  • SBT 模式 中,一个编码单元(CU)被划分为多个子块(如 4×4 或 8×8),但只有部分子块包含显著残差 → 只对这些"非零"子块进行变换和量化。
  • 传统 AMVP 是基于整个 PU 的运动信息预测,无法很好适应这种局部化、非均匀运动场景。
  • 如果每个子块都独立运行标准 AMVP,开销太大。

👉 因此,SbtMVP 应运而生:它是一种轻量级、高效、专用于 SBT 场景的 MV 预测方法。


✅ 二、SbtMVP 是什么?

🔹 定义:

SbtMVP(SBT-based Motion Vector Prediction) 是一种针对使用 SBT 模式 的编码块所设计的运动矢量预测机制。它通过复用邻近已编码子块的运动信息,并结合当前块的划分结构,生成更精确且低复杂度的 MV 预测值。

🎯 目标:

  • 减少 MVD 编码比特
  • 提高率失真性能(RD performance)
  • 降低计算复杂度(相比 full AMVP)

✅ 三、核心原理与工作机制

1. 基本假设:

"如果一个子块有显著残差,它的运动行为很可能与空间邻近子块相似。"

因此,SbtMVP 利用以下信息进行预测:

来源 说明
左侧子块 同一行中已编码的左边子块的 MV
上方子块 同一列中已编码的上边子块的 MV
时间候选 参考帧中对应位置子块的 MV(collocated)

2. 工作流程

步骤 1:确定当前 TU(Transform Unit)的位置和大小
  • 当前块启用 SBT → 使用 4 分之一块划分(如水平/垂直四分)

  • 例如:16×16 CU 分成 4 个 8×8 子块,仅左上角激活变换

    +--------+--------+
    | TU A | 0 |
    +--------+--------+
    | 0 | 0 |
    +--------+--------+

→ 只需为 TU A 做 MVP

步骤 2:构建 SbtMVP 候选列表

对 TU A 执行:

候选类型 获取方式
A1(左侧) 查找左侧最近的非零 TU 的 MV
B1(上方) 查找上方最近的非零 TU 的 MV
C(时间) 参考图像中同位置子块的 MV
Zero(零向量) 默认候选,用于静态区域

去重 + 排序后形成最多 3~4 个候选

步骤 3:选择最优预测器(RDO 决策)
  • 对每个候选计算预测残差
  • 选择 RD 成本最低的作为最终预测 MV
  • 发送索引 sbt_mvp_idx 到码流
步骤 4:解码端重建
  • 解码器根据相同规则重建候选列表
  • 根据 sbt_mvp_idx 选取预测 MV
  • 还原 MVD → 得到真实 MV → 进行运动补偿

✅ 四、关键技术细节

特性 说明
启用条件 当前 CU 使用 SBT 模式且 TU 尺寸 ≤ 8×8
候选数量 通常为 3 个(A1, B1, C)
是否共享 AMVP 列表 否,独立维护 SbtMVP 列表
信令开销 仅需 1~2 bit 表示 sbt_mvp_idx
复杂度 远低于 full AMVP(因候选少、范围小)

示例语法片段(伪代码):

text 复制代码
if( cu_use_sbt && tu_size <= 8x8 ) {
    sbt_mvp_flag = read_flag();  // 是否启用 SbtMVP
    if( sbt_mvp_flag )
        sbt_mvp_idx = read_bits(2);  // 2 bits for index (0~3)
}

✅ 五、举例说明:具体如何工作?

场景设定:

  • 当前 CU:16×16,采用垂直四分 SBT
  • 仅右半部分(TR 和 BR)有残差 → 激活两个 8×8 TU
  • 我们关注右上 TU(TR)
已知:
  • 左侧无 TU(同一行)
  • 上方有一个 8×8 TU(来自上一个 CU),其 MV = (12, -1)
  • 时间候选 MV = (13, 0)
  • 零向量候选 = (0, 0)
构建 SbtMVP 候选列表:
Index MV 来源
0 (12, -1) 上方(B1)
1 (13, 0) 时间(C)
2 (0, 0) Zero
编码器 RDO 结果:
  • 使用候选 0 预测时残差最小 → 选择 sbt_mvp_idx = 0
  • 发送 sbt_mvp_flag=1, sbt_mvp_idx=0
解码器行为:
  • 检测到 SBT + TU 激活
  • 构建相同候选列表
  • 读取 sbt_mvp_idx=0 → 选用 (12, -1) 作为预测 MV
  • 继续解码 MVD → 恢复真实 MV

✅ 成功实现高效预测!


✅ 六、性能收益(来自 JVET 测试)

测试配置 BD-rate 节省
Random Access (RA) ~0.5%
Low Delay (LD) ~0.3%
Screen Content (SCC) 0.8%1.2% ✅ 显著增益

特别适合文本滑动、图标移动等屏幕内容场景


✅ 七、与其他 MVP 技术对比

技术 粒度 是否专用 主要用途
AMVP PU/TU 级 通用预测
Merge PU 级 快速复用
subTMVP 子块级 局部模板匹配
SbtMVP TU 级(SBT 下) 专用于 SBT 稀疏残差块高效预测

📌 关键优势:轻量 + 精准 + 低信令开销


✅ 八、是否被 VVC 正式采用?

虽然 VVC(H.266) 没有直接命名 "SbtMVP",但它通过以下机制实现了类似思想:

  • Affine MVP:支持子块级预测
  • LMCS + Local MVP
  • SBT with simplified AMVP pruning

但在 ECM 实验模型 中,SbtMVP 作为一个显式的优化工具被评估,用于探索如何进一步压缩运动信息。


✅ 总结

项目 内容
名称 SbtMVP(Sub-block Transform Motion Vector Prediction)
所属 ECM 实验模型(如 ECM19)
核心机制 为 SBT 模式下的 TU 提供轻量级 MVP
关键优势 低复杂度、高精度、节省比特
应用场景 屏幕内容、稀疏纹理、UI 动画
性能增益 SCC 场景下可达 1%+ BD-rate 节省
相关推荐
TSINGSEE17 小时前
国标GB28181视频质量诊断:EasyGBS服务插件EasyVQD快速识别花屏、蓝屏、画面冻结抖动
人工智能·音视频·实时音视频·视频编解码·视频质量诊断·花屏检测·画面抖动
ℳ₯㎕ddzོꦿ࿐7 天前
告别延迟:HLS (m3u8) 实时转 FLV 全栈方案实战
视频编解码
霜雪i7 天前
ISP模式
视频编解码·h.266
CheungChunChiu8 天前
视频编解码与 GOP 结构详解
linux·视频编解码
深圳市友昊天创科技有限公司12 天前
友昊天创推出8K ,4K 120Hz 100米延长器方案
音视频·实时音视频·视频编解码
深圳市友昊天创科技有限公司12 天前
ASM4242 雷电扩展坞 CV4242 PCIE扩展坞
音视频·实时音视频·视频编解码
深圳市友昊天创科技有限公司12 天前
友昊天创推出延长器方案GSV5600+HDBase VS010**/VS100**
音视频·实时音视频·视频编解码
TEL1892462247715 天前
IT6227:USB-C(DP Alt 模式)及电源传输控制器 内置 4 通道 DP 1.4 转 HDMI 2.1 转换器
音视频·实时音视频·视频编解码
小咖自动剪辑19 天前
视频去水印与去字幕教程:免费去水印软件与去字幕工具推荐
人工智能·音视频·实时音视频·视频编解码
TEL1892462247719 天前
IT6225B:USB-C(DP Alt 模式)及电源传输控制器 内置双通道 DP 1.4 转 HDMI 2.0 转换器
音视频·实时音视频·视频编解码