RDO和SAD、STAD

1.率失真优化(Rate D isto r t i on Op t i m ized)策略

是在率失真理论[3 ]的基础上提出的一种代价函数方案,  RDO 的主要思想是, 在计算代价函数时, 同时考虑码率和失真度两方面因素的制约, 在保证低失真度的同时保证低码率, 这样更加有利于视频流的传输。 H. 264在运动搜索、 参考帧择优、 模式决策三个方面运用了不同的RDO 代价函数, 也将非RDO 代价函数列为可选模式, 以满足不同的需要。。 可描述如下: 在保证比特率R 不超过最大比特率R max 的条件下, 使失真D 达到最小, 即m in{D } 限制条件:R ≤R max。

可以通过选择最优的编码参数给出"最好"的图像质量(最低的失真) , 并不超过目标比特率。 在实际中, 用一套编码参数(量化步长、 块模式选择等)对视频序列进行编码, 得到相应的编码比特率 (R ) 和解码图像质量(或失真D ) , 两者结合, 即形成一个R -D 工作点。 用不同套的编码参数重复上述编码过程,获得不同的R - D 工作点,曲线为凸的曲线,横坐标为D,纵坐标为R,曲线为R(D)

2. H.264 帧内预测模式确定过程

H.264 帧内编码中,采用亮度和色度相结合的率失真优化(Rate-Distortion Optimization, RDO)判优准则, RDO 判决准则,通过遍历所有预测模式,寻找率失真代价 RDCost 最小的作为最优预测模式。率失真代价公式为 RDCost=SSD+λ×Rate

其中,SSD 表示当前块与重构块的平方差之和;λ 为量化参数 QP 的函数;Rate 表示熵编码后的码率。 H.264 中确定最优帧内预测模式的过程如下:

(1)确定 Intra_16×16 方式下的最优预测模式:

1)用 4 种预测模式对待编码宏块进行预测;

2)对预测残差宏块进行哈达马变换,并计算编码代价;

3)选择编码代价最小的模式作为 Intra_16×16 方式下的最优预测模式。

(2)结合色度编码,计算待编码宏块在 Intra_16 ×16 方式下的率失真代价 RDCostI16。

(3)确定 Intra_4 ×4 方式下的最优预测模式。 将待编码宏块划分为 16 个 4×4 块分别确定每个 4×4块的最优预测模式:

1)      用 9 种预测模式对 4×4 块进行预测;

2)对预测残差块进行 DCT 变换/量化、反 DCT 变换/反量化,计算编码代价 RDCost;

3)选择 RDCost 最小的模式为当前 4×4 块的最优预测  模式。

(4)结合色度编码,统计待编码宏块在 Intra_4×4 方式下的率失真代价 RDCostI4。

(5)确定最优的帧内预测模式。

比较待编码宏块的 RDCostI16 和 RDCostI4,选择 RDCost小的作为待编码宏块最终的亮度编码方式,该方式对应的预

测模式即最优帧内预测模式。

由上述可知:每一个宏块都要按照 2 种方式进行编码,共需要进行 3 328 次预测、144 次解码/重构以及 68 次 4×4哈达马变换,可见其复杂性是相当高的。

在吸取相关快速算法优点的基础上,本文提出了一种基于绝对残差和(Sum of Absolute Differences, SAD)和变换域中的绝对残差和(Sum of Absolute Transformed Differences, SATD)的快速帧内预测算法来优化 H.264 帧内预测过程,主要思路是:

(1)充分挖掘 Intra_16 ×16 和 Intra_4 ×4 2 种预测方式之间的相关性,用待编码宏块在 Intra_16 ×16 方式下的 SAD 值来衡量宏块的平滑程度,从而判定是否可以不执行 Intra_4×4 方式的预测过程。

(2)根据 SATD 特征对 Intra_4 ×4 方式的预测模式进行筛选,选择出可能性最大的几种模式,排除掉那些可能性小的模式,避免不必要的 RDCost 的计算,从而降低计算复杂度。

3.1   快速算法基本原理

可以用待编码宏块在 Intra_16 ×16 最优模式下的预测残差绝对值之和(最优预测残差的 SAD)衡量宏块是否平滑。 SAD定义为

其中,Orig(x,y)为待编码宏块像素的原始值;Pred(x,y)为待编码宏块像素的预测值;PE(x,y)为待编码宏块的预测残差。 经统计可知,当最优预测残差的 SAD 小于某值 T1 时,表示待编码宏块平滑,可以直接选择 Intra_16 ×16 方式作为待编码宏块最终的亮度编码方式,不必再以 Intra_4 ×4 方式进行预测,从而提前中止模式选择过程。 阈值 T1 的选取很关键,T1 设置越大,预测复杂度越小,但会引起解码图像质量较大的下降和比特率的上升。阈值的选取应该在保证图像质量的前提下尽可能多地降低计算复杂度。同时 T1 依赖于量化参数 QP,随其增加而增加,必须在不同 QP 范围下对 T1 进行调整。 根据实验数据,T1 采用 1 000 时,在 QP 较大的情况下综合效果较好,但随着 QP 的下降,解码图像质量下降较大并且比特率普遍上升较多;T1 采用 500 时,可以改善较小QP 时解码图像质量下降及比特率上升的问题。因此可设置 2个 T1 值,当 QP≤20 时,T1=500;否则 T1=1000。

 3..2  Intra_4 ×4 预测模式的筛选 H.264 帧内编码的压缩率与绝对残差和 SAD 是有很大关系的。如果用某预测模式进行预测时,预测准确,则其 SAD应该很小。根据帕斯维尔定理,预测残差在空域上的总能量与经过正交变换后在频域上的总能量是一致的。因此作为最优的预测模式,其变换域中的绝对残差和 SATD 应该也是很小的。SATD 定义为

其中,T 表示二维正交变换,在这里采用哈达马变换。 与SAD相比, SATD与RDO性能之间具有更强的相关性。由于前面已经采取了对 Intra_4 ×4 方式的预判方法,对解码图像质量及比特率会略有影响,因此为了提高预测准确度,在筛选 Intra_4 ×4预测模式时, 不再采用 SAD而是采用 SATD作为判断准则。 SATD 虽然可以作为选择模式的准则,但是并不是 SATD最小的模式就是性能最好的模式。这里以所有预测模式的SATD 的平均值做为阈值 T2。选择 SATD≤T2 的预测模式为候选模式,只对候选模式计算 RDCost,RDCost 最小的模式即为 Intra_4 ×4 方式下的最优预测模式。

3.2   快速算法流程

该算法流程如下:

(1)确定 Intra_16 ×16 方式下的最优预测模式,步骤同H.264 原算法。

(2)结合色度编码,计算待编码宏块在 Intra_16 ×16 方式下的率失真代价 RDCostI16。

(3)计算最优 Intra_16 × 16 预测模式下待编码宏块的SAD,如果 SAD<T1(QP≤20 时,T1=500;其余,T1=1000),则跳到(6)。

(4)确定 Intra_4 ×4 方式下的最优预测模式。 将待编码宏块划分为 16 个 4 ×4 块,分别确定每个 4 ×4块的最优预测模式:

1)用 9 种预测模式对 4 ×4 块进行预测;

2)分别对每种模式对应的预测残差块进行哈达马变换,并计算变换后的绝对残差和 SATD;

3)计算 SATD 的平均值 SATDaverage;

4)选择满足SATD≤SATDaverage 条件的预测模式为候选模式;

5)分别对每种候选模式对应的预测残差块进行 DCT 变 换/量化、反 DCT 变换/反量化,并计算其编码代价 RDCost;

 6)比较所有候选模式的 RDCost,选择具有最小 RDCost的预测模式为当前 4×4 块的最优预测模式。

(5)结合色度编码,统计待编码宏块在 Intra_4 ×4 方式下的率失真代价 RDCostI4。

(6)确定最优的帧内预测模式,步骤同 H.264 原算法。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值