购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

2.3.1 率失真优化方法

率失真优化方法可以定义为如式(2.26)所示的优化问题,即在保证编码比特率 R 不超过最大比特率 R max 的条件下,使失真 D 最小:

img

(2.26)

假设视频编码中待优化的单元(如MB)之间是相互独立的,即各个编码单元的码率、失真、参数等和其他单元没有关系。第 k 个单元的编码参数(如量化步长、编码模式、运动矢量等)为 B k ,对应的编码比特率为 R ( B k )、编码失真为 D ( B k ),则上述的RDO问题具体为在 R max 的限制下寻找一组编码参数 ,使总失真最小:

img

(2.27)

这里用拉格朗日乘子法将上式有约束优化问题转化为无约束极值问题来求解:

img

(2.28)

由于假设每个编码单元相互独立,因此可以分别对每个编码单元求极小值:

img

(2.29)

事实上,参见式(2.1),上式的最优解可看成是代价函数 取得极小值时的参数 。决策函数表示了图2.7中 R - D 平面上的一条斜率为 λ 的直线,在码率限定为 R max 时,和 R max 对应的 R - D 率失真函数曲线上 A 点的切线的斜率为 λ

img

图2.7 拉格朗日最优解示意图

从上面对拉格朗日代价函数的分析可知,要想确定宏块的最佳编码模式和最佳运动估计,首先必须确定拉格朗日参数 。大量的实验结果表明, 与量化参数QP之间存在着密切的联系。根据 R - D 关系的分析和大量的实验结果,在H.264视频编码控制模型中,如果失真度用SAD计算,则用于宏块编码模式选择的拉格朗日参数 由下式计算:

img

(2.30)

用于实现块运动矢量估计的拉格朗日参数 由下式计算:

img

(2.31)

需要说明的是,这种将各个编码单元独立处理的方法,实际上是一种局部最优的方法,因为实际视频的各个编码单元之间不可能是相互独立的。 uri063RPFj/9mS4cIplBCaDNfcsJlw9UGbIa/uMIu32VROT73+rcBF4LI9Vw5mBo

点击中间区域
呼出菜单
上一章
目录
下一章
×