📄 提案名称:
EE2-2.9c: Enhanced Extrapolation-based Intra Prediction with Bias and Clipping in EIP
提案来源:
- 文件编号:JVET-AH0086-v1
- 作者单位:OPPO 等
- 技术背景:基于已有EIP(Extrapolation-based Intra Prediction,外推滤波帧内预测)模式进行增强
✅ 改进目标
在原始 EIP 方法中,预测值是通过一个线性滤波器对邻近像素进行加权外推生成的:
pred(x,y)=∑i=014ci⋅t(x−dxi,y−dyi) \text{pred}(x, y) = \sum_{i=0}^{14} c_i \cdot t(x - \text{dx}_i, y - \text{dy}_i)pred(x,y)=i=0∑14ci⋅t(x−dxi,y−dyi)
这种纯线性模型在以下场景存在缺陷:
- 在平滑或恒定梯度区域(如天空、渐变背景),可能导致预测信号持续累积误差,出现“指数漂移”或过冲
- 缺乏对整体亮度趋势的偏移控制能力
为此,本提案提出两项关键改进机制:
🔧引入偏置项(Bias Term)
✂️增加裁剪机制(Clipping Mechanism)
下面分别详细说明其具体实现逻辑与技术做法。
一、改进方法 1:引入偏置项(Addition of a Bias Term)
💡 动机
原始 EIP 完全依赖滤波器系数对外部样本进行线性组合。然而,在实际图像中,某些局部区域可能存在系统性偏差(如整体偏亮或偏暗)。若不加以调整,会导致预测值整体偏离真实值。
因此,提案提出在预测公式中显式加入一个可学习的偏置项 b ,以补偿全局趋势偏差。
🛠 实现方式
步骤 1:定义带偏置的预测公式
修改原 EIP 预测表达式为:
prednew(x,y)=(∑i=014ci⋅ti)+b \text{pred}_{\text{new}}(x, y) = \left( \sum_{i=0}^{14} c_i \cdot t_i \right) + bprednew(x,y)=(i=0∑14ci⋅ti)+b
其中:
ci c_ici:原有的 15 个外推滤波器系数(仍由最小二乘法从邻域样本拟合得到)
ti t_iti:对应位置的参考像素值
b bb:新增的偏置项(bias)
⚠️ 注意:这个偏置 $ b $ 不是固定常数,而是根据当前块内容动态确定的。
步骤 2:偏置项 $ b $ 的获取方式
提案提供了两种可能的实现路径(可在编码端选择最优者):
方法 A:从训练过程中联合求解(Joint Estimation)
在使用最小二乘法拟合滤波器系数时,将偏置项作为额外参数一起优化。
即构建超定方程组:
T⋅[c0c1⋮c14b]≈d \mathbf{T} \cdot \begin{bmatrix} c_0 \\ c_1 \\ \vdots \\ c_{14} \\ b \end{bmatrix} \approx \mathbf{d}T⋅c0c1⋮c14b≈d
其中:
T \mathbf{T}T是训练样本矩阵(每行是一个 15 维输入向量)
扩展为每行添加一个常数列1来表示偏置维度
d \mathbf{d}d是目标输出(真实像素值)
然后解正规方程:
θ=(XTX)−1XTd,其中 X=[T ∣ 1] \boldsymbol{\theta} = (\mathbf{X}^T \mathbf{X})^{-1} \mathbf{X}^T \mathbf{d},\quad \text{其中 } \mathbf{X} = [\mathbf{T}\ |\ \mathbf{1}]θ=(XTX)−1XTd,其中X=[T∣1]
最终得到的最后一个参数即为偏置b bb
✅ 优点:数学上更完整,能自动适应数据均值变化
❌ 缺点:需重新构造矩阵,略微增加计算负担
方法 B:分离估计(Residual Mean as Bias)
先用原始方法拟合无偏滤波器{ci} \{c_i\}{ci},再在局部区域估计残差均值作为偏置。
流程如下:
- 使用原始 EIP 滤波器生成初步预测pred0\text{pred}_0pred0
- 在当前块周围可用的边界区域(如上方和左侧已重建像素)计算预测误差:
ej=orgj−pred0,j e_j = \text{org}_j - \text{pred}_{0,j}ej=orgj−pred0,j - 对这些误差取平均:
b=1N∑j=1Nej b = \frac{1}{N} \sum_{j=1}^{N} e_jb=N1j=1∑Nej - 将此b bb加入最终预测中
✅ 优点:实现简单,兼容现有架构
✅ 可控性强,避免过拟合
步骤 3:语法传输与解码同步
- 偏置项b bb不需要显式编码传输
- 解码端采用相同的方法重建滤波器和偏置(利用共享的邻域信息)
- 因此无需新增比特流语法元素,保持了解码一致性
二、改进方法 2:引入裁剪机制(Clipping Mechanism)
💡 动机
尽管 EIP 能有效建模复杂纹理,但在某些情况下(特别是当滤波器系数不稳定或输入噪声较大时),外推过程可能导致预测值超出合理范围(如小于 0 或大于 255/1023)。
此外,在高动态区域可能出现“振铃效应”或异常尖峰。
为防止这些问题影响后续变换与量化,提案引入了自适应裁剪机制。
🛠 实现方式
步骤 1:定义裁剪操作的目标
对每一个生成的预测值pred(x,y) \text{pred}(x,y)pred(x,y),执行如下限制:
predclip(x,y)=Clip3(L,H,pred(x,y)) \text{pred}_{\text{clip}}(x,y) = \text{Clip3}(L, H, \text{pred}(x,y))predclip(x,y)=Clip3(L,H,pred(x,y))
其中:
L LL:下界(通常为 0)
H HH:上界(取决于位深,如 10bit 下为 1023)
Clip3(a,b,x)=max(a,min(b,x)) \text{Clip3}(a,b,x) = \max(a, \min(b, x))Clip3(a,b,x)=max(a,min(b,x)):标准钳位函数
但这只是基础裁剪。提案进一步提出基于局部动态范围的智能裁剪策略。
步骤 2:自适应裁剪窗口(Adaptive Clipping Window)
不是对所有块统一处理,而是根据当前块的上下文动态设定裁剪区间。
具体做法:
分析当前块周围的参考像素(上方和左侧)的最大值Mref M_{\text{ref}}Mref和最小值mref m_{\text{ref}}mref
设定裁剪边界为:
L=max(0,mref−Δ),H=min(maxVal,Mref+Δ) L = \max(0, m_{\text{ref}} - \Delta),\quad H = \min(\text{maxVal}, M_{\text{ref}} + \Delta)L=max(0,mref−Δ),H=min(maxVal,Mref+Δ)
其中:- Δ \DeltaΔ是允许的扩展量(例如 32 for 10bit)
- maxVal =2bitDepth−1 2^{\text{bitDepth}} - 12bitDepth−1
对所有预测像素应用该范围内的裁剪
👉 示例:
- 若周围参考像素值集中在 [400, 600],则只允许预测值在 [368, 632] 内
- 若预测出 700 → 自动裁至 632
✅ 作用:抑制异常外推,提升稳定性
步骤 3:结合方向感知的条件裁剪(可选扩展)
进一步优化:仅在预测方向与边缘方向一致时启用强裁剪;否则放宽限制。
例如:
- 若检测到水平强边缘,则垂直方向上的预测更容易失真 → 加强裁剪
- 平坦区域 → 可适度容忍小幅波动
可通过梯度分析或 SAD 成本辅助判断
三、整体流程整合(编码端)
以下是整合后的 EIP 改进流程图(文字描述):
开始 ↓ 判断是否启用 EIP 模式(CU ≤ 32×32,亮度分量) ↓ 获取参考像素区域(上方 + 左侧) ↓ 【步骤1】拟合外推滤波器系数 {c₀~c₁₄} ↓ 【步骤2】计算偏置项 b ↘ 方法A:联合求解含偏置的最小二乘 ↘ 方法B:基于边界残差均值估计 ↓ 【步骤3】按对角顺序生成预测值: pred_raw(x,y) = Σ(cᵢ × neighbor) + b ↓ 【步骤4】执行自适应裁剪: pred_final = Clip(pred_raw, L, H) (L/H 来自参考像素动态范围 ±Δ) ↓ 完成预测,进入残差编码阶段四、解码端如何还原?
由于所有操作都基于已重建的邻近像素和公开算法流程,解码端可以完全复现:
- 使用相同的区域提取参考像素
- 按照相同方式重构滤波器系数和偏置项
- 按相同顺序和公式生成预测值
- 应用相同裁剪逻辑
✅ 无需传输任何新语法元素(如eip_bias_flag或clip_param)
✅ 保证编解码一致性
五、总结:本提案的核心改进做法
| 改进项 | 具体做法 | 技术特点 |
|---|---|---|
| 1. 引入偏置项 | 在原始 EIP 预测基础上增加一个可调偏移量b bb | - 补偿系统性亮度偏差 - 可通过联合求解或残差均值获得 - 无需新增码流 |
| 2. 引入裁剪机制 | 对预测值施加动态范围限制 | - 防止数值溢出 - 基于局部参考像素设定裁剪边界 - 提升预测稳定性 |
✅ 结论(不看结果的技术评价)
即使不考虑 BD-rate 结果,仅从方法设计角度看:
- 该提案的改进具有清晰的物理意义:偏置用于纠正均值偏移,裁剪用于控制极端值
- 所有操作均可在现有 EIP 框架内无缝集成
- 无需新增语法元素,完全保持比特流兼容性
- 计算复杂度增量极小,适合硬件部署
因此,这是一项轻量、稳健、易实现的增强型帧内预测优化方案。