news 2026/2/6 12:12:10

ECM DIMD

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
ECM DIMD

DIMD:Dual Inter and Intra Prediction Mode with Merge and Derivation
(双模式融合预测:帧间与帧内的联合合并与导出机制)


一、什么是 DIMD?

✅ 定义

DIMD(Dual Inter and Intra Prediction Mode with Merge/Derivation)是一种混合预测模式,允许当前编码单元(CU)同时使用帧间预测(Inter)信号帧内预测(Intra)信号进行加权组合,生成最终预测值。

其核心思想是:

不要只选一个 —— 让 Inter 和 Intra 合作!

通过线性融合两种不同性质的预测结果,更好地适应复杂区域(如纹理边缘 + 运动物体交界),从而提升压缩效率。


✅ 基本原理

对于一个 CU,传统做法是选择以下之一作为预测模式:

  • 帧内预测(Intra)
  • 帧间预测(Inter / ME)
  • 跳过/合并(Skip/Merge)
  • 其他特殊模式(如 PLT、IBC 等)

DIMD 模式允许:
predfinal(x,y)=w1⋅predinter(x,y)+w2⋅predintra(x,y) \text{pred}_{final}(x,y) = w_1 \cdot \text{pred}_{inter}(x,y) + w_2 \cdot \text{pred}_{intra}(x,y)predfinal(x,y)=w1predinter(x,y)+w2predintra(x,y)
通常归一化为:
predfinal=w⋅predinter+(64−w)⋅predintra64 \text{pred}_{final} = \frac{w \cdot \text{pred}_{inter} + (64 - w) \cdot \text{pred}_{intra}}{64}predfinal=64wpredinter+(64w)predintra
权重 $ w \in [0, 64] $ 可自适应调整或从候选集中继承。


二、DIMD 的工作流程(基于 ECM-19.0 设计)

🔹 步骤 1:启用条件

仅当满足以下条件时,才考虑使用 DIMD 模式:

条件说明
CU 类型必须为亮度分量(luma)且尺寸 ≥ 8×8
Slice 类型I、P 或 B slice 均可支持
不在小块上不适用于 4×4 或极小分区
工具开关SPS 层信令sps_dimd_enabled_flag == 1

🔹 步骤 2:构建 DIMD 候选列表(Candidate List Construction)

类似于 AMVP 和 Merge 模式,DIMD 构建一个最多包含N 个候选组合的列表,每个候选包含:

  • 帧间预测参数(MV, refIdx)
  • 帧内预测模式(如 Planar, DC, Angular mode)
  • 权重系数 $ w $
  • 是否来自历史缓存等标志
候选来源共四类:
编号候选类型描述
1空间相邻融合模式(Spatial Combined Mode)查看左侧(A1)、上方(B1)CU 是否使用了 DIMD 或类似混合模式,若存在则复制其 inter/intra 参数和权重
2时间同位融合信息(Temporal Co-located)从参考图像对应位置提取曾使用的 DIMD 参数组
3导出模式(Derived Mode)自动构造两个默认组合:
• Inter + Planar
• Inter + DC
并用固定权重(如 w=32)初始化
4历史缓存(History-based Buffer)FIFO 缓冲区保存最近成功使用的 DIMD 参数集(MV+intraMode+w),最多保留 3~5 项

⚠️ 注意:所有候选需去重(比较 MV、refIdx、intraMode、w 是否一致)


🔹 步骤 3:排序与截断

按优先级对候选进行重排序:

优先级规则
1st空间相邻候选
2nd时间候选
3rd历史缓存
4th导出默认项

最终保留最多maxNumDimdCandidates(例如 5 个)进入 RDO 测试。


🔹 步骤 4:RDO 测试与最优选择

对每个候选执行率失真优化(RDO):

foreach candidate in dimd_candidate_list:pred_inter=generate_inter_prediction(mv,refPic);pred_intra=generate_intra_prediction(intraMode,top/left neighbors);pred_final=(w*pred_inter+(64-w)*pred_intra)>>6;cost=compute_rdo_cost(pred_final,original_block,lambda);

选择成本最低的候选作为当前 CU 的 DIMD 模式参数。


🔹 步骤 5:语法传输

码流中传输:

  • 标志位:cu_dimd_flag→ 表示是否使用 DIMD
  • 若为真,则发送:dimd_merge_idx(索引到候选列表)
  • 若未使用 merge,则显式传输:
    • MV
    • Ref index
    • Intra mode
    • Weight $ w $

解码端按相同规则重建候选列表,确保同步


三、示例说明

🎯 示例场景

假设当前编码块为 16×16 亮度块,位于 P-slice 中,周围有运动物体穿过一块具有明显水平纹理的背景。

区域特性分析
整体有平移运动帧间预测有效
局部纹理锐利(如窗户边框)帧内预测更准确
单一模式难以覆盖全部细节→ 适合使用 DIMD

🔍 DIMD 候选构建过程(具体步骤)

当前 CU 位置:
+----------------+----------------+ | B0 | B1 | +--------+-------+----------------+ | A0 | Current | | | | +--------+-------------------------+
收集候选:
来源内容加入?
A1(左侧)使用了 DIMD,参数:MV=(2,1), ref=0, intraMode=18(垂直), w=40✔️ Yes
B1(上方)使用了普通 Inter,非混合模式❌ No
时间同位块曾使用 DIMD: MV=(3,-1), intraMode=Planar, w=32✔️ Yes
历史缓存存储了两个条目:
- [MV=(1,0), intra=DC, w=48]
- [MV=(0,0), intra=Angular(26), w=24]
✔️ Both
导出模式自动生成:
1. Inter-only (w=64)
2. Intra-only (w=0)
3. Inter+Planar (w=32)
✔️ Add #3 only (avoid extreme cases)
去重后列表(最大长度设为 5):
IndexTypeMVIntra ModeWeight (w)
0Spatial (A1)(2,1)Angular(18)40
1Temporal(3,-1)Planar32
2History(1,0)DC48
3History(0,0)Angular(26)24
4Derived(est from AMVP)Planar32

注:虽然 Temporal 和 Derived 都用了 Planar,但 MV 不同 → 视为不同候选


🔎 RDO 测试结果(模拟数据)

CandidateSADBit CostTotal RD Cost被选中?
0 (Spatial)12085 bits120 + λ×85 ≈ 205No
1 (Temporal)11090 bits~200No
2 (History)10588 bits193✔️ Best
313080 bits210No
414075 bits215No

→ 最终选择Index=2的历史缓存候选


📦 码流输出

编码器输出如下语法元素:

cu_pred_mode = MODE_DIMD dimd_merge_idx = 2 // 指向历史缓存中的第2个候选

无需再传 MV、intraMode、w —— 解码器自动恢复。


🧠 解码端行为

解码器执行完全相同的 DIMD 候选构建流程(空间 → 时间 → 历史 → 导出),得到同样的列表顺序。

然后根据dimd_merge_idx=2,取出对应参数:

  • MV = (1,0)
  • RefPicIdx = ?
  • IntraMode = DC
  • w = 48

接着:

  1. 生成帧间预测块
  2. 生成帧内预测块(DC 模式)
  3. 融合:pred = (48*inter + 16*intra) >> 6
  4. 加上残差 → 得到最终重建块

✅ 实现了解码一致性。


四、性能增益与代价分析(来自 JVET 报告)

项目数据
平均 BD-rate 节省(Y)-1.8% ~ -2.5%(尤其在动画、屏幕内容)
U/V 分量收益更高,可达 -3.0%(因色度动态变化大)
编码时间增加+10% ~ +15%(需测试多个融合组合)
解码复杂度+5%(需同时计算 inter 和 intra 预测)
内存需求增加存储历史缓存、邻近预测块

五、相关提案参考(真实 JVET 文档)

提案编号内容
JVET-Z0112提出 Inter-Intra Hybrid Prediction 概念
JVET-AC0123引入 DIMD 名称及 Merge 候选机制
JVET-AD0071优化权重量化与传输方式
JVET-AE0055快速算法:提前跳过低效融合模式

六、总结表

特性内容
全称Dual Inter and Intra Prediction Mode with Merge and Derivation
目的融合帧间与帧内优势,提升复杂区域预测精度
核心公式pred_final = (w × pred_inter + (64−w) × pred_intra)/64
候选来源空间、时间、历史、导出
最大候选数通常为 5
传输方式仅传 merge index 或显式参数
适用范围亮度块 ≥8×8,I/P/B slice
优势显著降低残差能量,特别适合混合内容
挑战复杂度高,需设计快速决策算法

七、未来改进方向

方向说明
AI 加速模式选择使用轻量 CNN 判断是否值得尝试 DIMD
自适应权重学习在片头训练局部最优 w,后续复用
跨分量 DIMD 扩展将 DIMD 应用于色度,结合 CCP
变换域融合在频域而非空域进行 inter/intra 组合
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/2/2 19:15:02

Unity3D制作《类王者荣耀》爆款手游系列课程

# Unity3D 实战:从Demo到类《王者荣耀》的工程化开发## 一、认知升级:从Demo思维到产品思维真正的游戏开发不是“能跑就行”,而是**构建健壮、可扩展、可维护的工程系统**。类《王者荣耀》这样的MOBA游戏,看似是“几个英雄对打”&…

作者头像 李华
网站建设 2026/2/3 0:24:57

2025如何选择适合企业需求的舆情监测服务商?5大维度评估TOP服务商

当企业面对信息爆炸的时代,一条短视频可能在30分钟内重创上市公司市值,一条微博可能让地方机构的招商努力归零。在众多舆情服务商中做出正确选择,已经成为现代企业风险管理的基本功。01 行业变革与选择挑战2025年的舆情监测行业已从被动告警升…

作者头像 李华
网站建设 2026/2/2 22:51:50

RTSP模拟开发:轻松搭建本地摄像头推流

在开发中我们可能会涉及到连接摄像头的开发,但是在本地环境我们没有相关的连接时,就需要本地进行模拟。 ✅ 推荐方案:使用 RTSP Simple Server(RSS) 这是一个用 Go 写的超轻量、零依赖、单文件 RTSP 服务器&#xff…

作者头像 李华
网站建设 2026/2/2 23:47:05

Pock:重新定义MacBook触控栏的终极解决方案

Pock:重新定义MacBook触控栏的终极解决方案 【免费下载链接】pock Widgets manager for MacBook Touch Bar 项目地址: https://gitcode.com/gh_mirrors/po/pock 你是否曾经觉得MacBook的Touch Bar功能有限,无法充分发挥其潜力?Pock作为…

作者头像 李华
网站建设 2026/2/2 23:00:20

面对市场上的RPA软件如何选择?

选择RPA数据采集工具时,建议您根据具体业务场景、对稳定性和安全性的要求、以及操作便捷性等因素进行综合考量。没有“最好”的工具,只有最适合您需求的方案。如果追求极致易用和电商适配,影刀RPA是首选;金融领域看重安全稳定&…

作者头像 李华
网站建设 2026/2/2 22:51:25

Swin Transformer重塑目标检测:从效率瓶颈到性能突破的实战指南

Swin Transformer重塑目标检测:从效率瓶颈到性能突破的实战指南 【免费下载链接】detr End-to-End Object Detection with Transformers 项目地址: https://gitcode.com/gh_mirrors/de/detr 在计算机视觉领域,目标检测技术正面临前所未有的效率挑…

作者头像 李华