2019-A Temporal Dependency Model for Rate-Distortion Optimization in Video Coding

在x264/5编解码器中实现了 MB-tree 方案,该方案通过块级运动轨迹跟踪时域依赖性。该方法使用 Two Pass 编码方法,First Pass 以普通的率失真优化方式进行模式决策,而不焦虑失真对后续帧的影响;Two Pass 首先利用运动矢量和 First pass 过程中帧间、帧内模式决策的结果构建源帧(未压缩帧)上的运动轨迹。为了估计每个块对同一运动轨迹中后续块的影响,MB-tree方案使用了帧内预测和帧间预测误差的线性模型,使用两个块的匹配误差除以帧内预测的误差估计两个块的相关性,然后通过运动轨迹递归地传播相关性,形成时域依赖模型。在此基础上,编码器调整码率分配,提高对运动轨迹中后续块有较大影响的块的重建质量。研究表明,与传统的帧类型相关的常数量化参数编码方案相比,MB-Tree 提供了显著的压缩增益。

MB Tree 方案基于源信号的 Intra-Inter 预测误差模型,忽略了量化对时域依赖性的影响,而真正的失真传播取决于创新项(innovation term)和量化误差之间的相对值。在高分辨率量化的情况下,量化误差比创新项(innovation term)的要小得多,因此帧之间的失真传播最小。当量化误差相当或超过创新项时项(innovation term)(在中等比特率范围内相当常见的情况),失真传播在很大程度上取决于相同运动轨迹中块之间的相关性。因此,本文提出了一种新的时域依赖模型方法,该方法扩展了 MB-Tree 方案,以考虑通过运动轨迹对失真传播的量化影响。实验表明,该方案在MB-tree 方案的基础上,压缩效率有了较大的提高。

一、THE MACROBLOCK-TREE SCHEME

我们提供了[8]中最初提出的H.264 MB Tree 的简要描述。类似的设计原理可以很容易地应用于下一代编解码器,如 H.265和VP9。MB树估计每个 MB 对未来帧的预测贡献的信息量,根据每个 MB 的贡献来权衡码率失真。该方案在源帧上以相反的帧处理顺序工作,将信息从未来帧传播回当前帧。

对于每一帧,每个 MB 运行一个传播步骤,其操作如下:

1)用阿达玛变换差(SATD)的绝对值之和估计帧内预测 Cost ,称为 intra_cost,并从 First Pass中加载可用的运动信息,并估计帧间预测 Cost,称为 inter_cost。由于现代编解码器 - H.264/5, VP8/9 都使用混合 inter/intra 预测模式,因此 inter_cost 值上限设置为 intra_cost。propagation_cost 变量用于收集从未来帧传播回的所有信息,对于一组图片(GOP)中最后一个处理帧中的所有 MB ,它被初始化为0。

2)从当前 MB 向其参考块传播的信息的比例估计为

它反映了运动补偿参考将减少多少预测误差的百分比(It reflects how much the motion compensated reference would reduce the prediction error in percentage.)。

3)当前 MB 对 GOP 贡献的信息总量估计为 intra cost + propagation cost.。它向其参考块传播的信息由

4)注意,参考块不一定位于固定划分的 MB 块上。propagation amount 分配给与参考块重叠的所有 MB。参考帧中的相应 MB 在接收反向传播时累加其自身的传播成本:

类似的信息分配方法在文献[9]中也有使用

在最后的编码阶段,一个 MB 的失真传播系数被评估为(1 + propagation cost / intra cost)),其中第二项捕获其对GOP中后面帧的影响。因此,根据失真模型调整码率分配,使失真传播系数高的 MB获得更高的码率分配,反之亦然。 

二、THE PROPOSED TEMPORAL DEPENDENCY MODEL

为了考虑量化效应,本文重新设计了 MB-tree 中的失真传播模型。考虑帧间预测误差的第二个时刻:

其中,k为帧索引,Mk为源像素块,M^k−1为重构的参考块。假设 Mk 和 Mk−1 之间的创新项与M^k−1的量化噪声在很大程度上不相关[5],有 

 其中,帧间预测误差 σk^2 近似分解为创新项 σ0^2 和参考块 Dk−1中 的量化失真。

在高分辨率量化假设下,已知期望量化失真与输入信号能量成线性关系[10][11]:

其中 α 由比特率和输入信号的概率分布决定。这种关系在其他比特率范围内也基本成立。经验假设 α 值在[5]中为 0.94,在[8]中为 1.0。相反,这项工作建议直接估计每个块的有效线性关系 α。

在构建时间依赖模型时,代码可以访问源 块Mk 和 Mk−1,以及它们之间的差异

我们对 Rk 应用 Hadamard 变换(这可以用离散余弦变换代替,以获得更好的整体压缩性能)并量化变换系数以获得其量化版本:

 Hadamard 变换近似于离散余弦变换,实现简单、快速,减少了编码器复杂度的增加。这一步允许我们计算量化噪声评估的变换编码增益。创新项的失真可通过以下公式估计:

 预测误差为:

 在典型的编码设置中,一帧通常具有比其参考帧更大或相似的QP,这意味着 Dk ≥ Dk−1。此外,我们假设量化噪声以创新项为界,即 σo^2 ≥ Dk。因此,我们假设(3)中的 σo^2 ≥ Dk。创新项的量化效应在很大程度上反映了(3)中的线性关系:

 因此,参考块 M^k−1中的失真贡献近似

将 (1) 中的失真传播模型重新设计为: 

其中第一项捕获量化效果,第二项反映参考和当前块之间的相互信息。

 显然,当量化噪声明显小于创新能量时,帧间失真传播接近于0,这意味着在对当前帧编码进行率失真优化时,不需要考虑失真对未来帧的影响。当量化噪声与创新过程相当时,当前块对运动轨迹中后续块的影响取决于它们之间的相关性。在这里,我们将相关性量化为由于帧间预测导致的帧内预测误差减少的百分比。

因此,提出的时间依赖模型是这样构建的:

1)根据第一节所述统计 intra cost, inter cost, 和 propagation cost

2)对预测间残差进行 Hadamard变换(或离散余弦变换),然后进行量化处理。分别得到预测误差   σo^2和量化误差 Dk0。

3)估计当前块向其参考块传播的信息比例为

 4)当前块对GOP贡献的信息总量估计为 intra cost + propagation cost。它向其参考块传播的信息由

5)将传播量分配给与参考块重叠的所有块。参考帧中相应的块在接收到反向传播时积累了自己的传播代价:

 块的失真传播系数由 (1 + propagation cost / intra cost) 计算。与第一节相同的速率失真优化权衡在这里也适用。

三、EXPERIMENTAL RESULTS

本文在 VP9 编解码器中实现了 MB-Tree 和本文提出的失真传播模型。源代码可在[12]中找到。基本框架使用 Two Pass 编码,其中 First Pass 收集帧间统计信息,以优化 Second Pass 的帧级码率控制。为了验证所提出方法的有效性,本文使用了第一节中描述的 MB-Tree 和第二节描述的时间依赖模型的失真传播模型,以适应 64x64 编码块级别的拉格朗日乘法器。

对于帧中的每个64x64块,本文有它们的失真传播因子:

其中 i 表示帧中的块索引。本文还有帧级失真传播因子:

本文使用(13)对(12)中的块失真传播因子进行归一化,并将64x64块级的拉格朗日乘法器调整为:

其中λ0是与帧 QP 相关的乘法器。因此,具有较高相对失真传播因子的块将具有较小的拉格朗日乘子,这将偏向于率失真优化以减少重建失真。请注意,有更复杂和先进的算法来优化基于时间依赖信息的速率分配。本文使用上面描述的简单方法来验证提出的时间依赖模型 (下文称为TPL) 的有效性。

编码参数设置为:

 其中 -cpu-used=0 使编码器以最高复杂度模式运行,以获得最佳压缩效率。测试片段包括 CIF 到高清分辨率。为每个 Clip 设置比特率为覆盖35dB到45dB的范围。与 Anchor 相比,它们的编码性能显示在表1中。

可以观察到,MB-Tree 在 Anchor 上提供了相当一致的压缩增益,其中帧级 QP 根据第一次传递编码统计数据进行了优化。当量化噪声比在帧内的 64x64 块(例如 ice_4cif 和 pedestrian_1080p )之间变化显著时,所提出的 TPL 模型进一步优于MB-tree。当创新过程在整个框架中基本一致时,例如,harbour_4cif,则 (8) 中的量化效应统一适用于所有64x64块。上述拉格朗日乘子自适应方案中的归一化步骤将大部分抵消其影响。因此,通常在 MB-Tree 和 TPL 之间类似的压缩性能。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值