一、提案主要内容总结
提案标题:
EE2-1.14: An extrapolation filter-based intra prediction mode (EIP)
基于外推滤波的帧内预测模式
提出单位与作者:
- 单位:OPPO
- 作者:Luhang Xu, Yue Yu, Haoping Yu, Jonathan Gan, Dong Wang
- 联系方式:xuluhang@oppo.com
目标与背景:
本提案旨在引入一种新的帧内预测方法——外推滤波预测模式(Extrapolation Filter-based Intra Prediction, EIP),用于提升视频编码效率。该方法通过利用邻近已重建像素或继承历史块中的滤波器系数来生成当前块的预测信号。
核心思想:
EIP 模式包含三个主要步骤:
- 获取外推滤波器系数(从邻域区域计算或从前序块继承)
- 按对角线顺序生成预测值
- 根据预测块梯度推导预测角度,并用于后续变换核选择(MTS/NSST/LFNST)
应用限制:
- 仅适用于亮度分量(luma only)
- 块大小不超过 32×32
1.1 外推滤波器(EIP Filter)设计
三种预定义滤波器形状(共15个输入,1个输出):
| 形状 | 输入分布描述 |
|---|---|
| Shape A | 十字交叉型(十字中心为当前预测点上方和左侧采样) |
| Shape B | 倾斜型(沿主对角线方向排列) |
| Shape C | 分散型(覆盖更广邻域) |
图见原文 Figure-1,每个滤波器有 15 个输入位置,1 个输出(即当前预测点)
获取滤波器系数的方式:
方法一:本地推导(Local Derivation)
- 使用当前块周围的已重建像素构造训练样本。
- 定义两种重构区域类型:
- 上方区域(above region)
- 左侧区域(left region)
- 区域尺寸取决于
min(blockWidth, blockHeight)和所选滤波器形状。 - 示例:8×16 块 + 4×4 滤波器 → aboveSize = leftSize = min(8,16)+4−1 = 11
- 利用滑动窗口在区域内移动滤波器,构建:
- 自相关矩阵 $ R $
- 互相关向量 $ r $
- 解线性方程组 $ R \cdot c = r $ 得到滤波器系数 $ c $,类似 CCCM 方法。
方法二:继承机制(Merge Mode)
- 引入EIP Merge 模式,允许复用先前编码块的滤波器参数(形状 + 系数)。
- 解码器先解码一个标志位
eip_merge_flag:- 若为真,则进一步解码
merge_index
- 若为真,则进一步解码
- Merge 候选列表最多支持 12 个候选,经重排序后保留最多 6 个。
- 候选来源包括:
- 空间相邻(Spatial adjacent)
- 非相邻空间(Non-adjacent)
- 时间参考(Temporal)
- 移位时间(Shifted temporal)
- 历史缓存(History-based)
- 排序依据:使用 1 行 + 1 列模板区域的 SAD 成本进行评估
- 关键优化:SAD 计算中可并行应用各候选滤波器,无需串行依赖
1.2 当前块预测过程
- 预测顺序:从左上到右下按对角线扫描(diagonal raster order),如 Figure-3 所示
- 预测公式:
pred(x,y)=∑i=014ci×t(x−offsetXi,y−offsetYi) \text{pred}(x, y) = \sum_{i=0}^{14} c_i \times t(x - \text{offsetX}_i, y - \text{offsetY}_i)pred(x,y)=i=0∑14ci×t(x−offsetXi,y−offsetYi)
其中:- $ c_i $:第 i 个滤波器系数
- $ t(\cdot) $:邻域或已预测位置的重建样本值
- $ (\text{offsetX}_i, \text{offsetY}_i) $:对应滤波器形状的相对坐标偏移
注意:由于是逐像素对角推进,所有输入样本均已重建或已预测,保证无数据依赖问题
1.3 后续变换控制(Transformation Guidance)
- 对生成的完整预测块分析其内部梯度方向
- 推导出一个等效“预测角度”
- 将此角度映射到标准帧内模式(如 Planar、DC、Angular modes)
- 利用该模式决定是否启用:
- MTS(Multiple Transform Selection)
- NSST(Non-Separable Secondary Transform)
- LFNST(Low-Frequency Non-Separable Transform)
- 实现预测与变换之间的协同优化
编码性能测试结果(ECM-11.0 平台)
测试配置:
- AI(All Intra)配置
- RA(Random Access)未提供结果(空表)
结果对比:
| 测试项 | Y (%) | U (%) | V (%) | EncT (%) | DecT (%) |
|---|---|---|---|---|---|
| EE2-TEST-1.14a (EIP only) | -0.12 | -0.09 | -0.07 | 101.6 | 100.9 |
| EE2-TEST-1.14b (EIP + Merge) | -0.20 | -0.14 | -0.18 | 102.1 | 101.3 |
注:负值表示码率节省(BD-rate reduction),EncT/DecT 表示编码/解码时间开销相对于 anchor 的百分比
✅结论:EIP 在 AI 场景下有效,尤其加入 merge 模式后增益翻倍;但带来约 2% 编码复杂度上升。
二、改进建议与未来方向
尽管 EIP 显示出一定潜力,但仍存在以下可改进之处:
✅ 改进方向一:降低复杂度
- 问题:每 CU 都需求解最小二乘问题(矩阵求逆),计算代价高
- 建议:
- 引入查表法(LUT-based coefficient approximation)
- 或采用固定基函数组合 + 权重学习(类似神经网络轻量化)
- 可限定只在特定纹理区域启用 EIP(如边缘检测触发)
✅ 改进方向二:扩展至色度分量
- 当前仅限亮度,但色度也可能受益于结构外推
- 可探索共享亮度端获得的滤波器参数,用于色度预测(跨分量复用)
✅ 改进方向三:增强 Merge 候选管理
- 当前最多 6 个候选,可考虑动态去重或基于上下文的概率预测减少索引比特
- 引入“skip merge list construction”标志以跳过无效区域候选
✅ 改进方向四:结合 AI 方法进行初始化
- 可训练轻量 CNN 或 MLP 快速估计初始滤波器系数,作为迭代起点
- 减少传统 LSM 的迭代次数
✅ 改进方向五:支持更大块(>32×32)的分层预测
- 当前提案限制 ≤32×32,不利于大帧场景
- 可将大块划分为子块,统一使用同一滤波器(参数共享),提升一致性
✅ 改进方向六:显式传输高收益滤波器模板
- 统计发现某些滤波器形状频繁出现
- 可定义若干“公共滤波器模板”放入码流头中,支持直接索引调用,节省语法开销
三、总结
| 项目 | 内容 |
|---|---|
| 提案名称 | EE2-1.14: 基于外推滤波的帧内预测模式(EIP) |
| 核心技术 | 外推滤波器 + 本地学习/继承机制 + 对角预测 + 变换引导 |
| 优势 | AI 场景下 BD-rate 最多节省 -0.20%(Y) |
| 劣势 | 编码时间增加 ~2%,仅支持亮度和小块 |
| 未来方向 | 降复杂度、拓展至 Chroma、引入模板库、AI 加速 |
| 实现可行性 | 高,已有类似 CCCM 技术基础,易于集成至 VVC/JEM 架构 |