HEVC率失真优化

来源:互联网 发布:九鼎彩社用的软件 编辑:程序博客网 时间:2024/06/05 07:59

参考:新一代高效视频编码H 265/HEVC:原理、标准与实现

率失真优化是视频编码的重要内容,是保证编码器编码效率的主要手段。

什么是率失真优化

为了在有限信道内传输、存储数据量巨大的视频,需要采用有损压缩方式对视频进行压缩,但在降低码率的同时也引入了失真。因此需要在码率和失真间进行权衡。

视频编码的主要目的就是保证一定视频质量的条件下尽可能的减少编码比特率,或保证一定编码比特率的条件下尽可能的减小失真。针对不同视频内容,编码器有多种候选编码模式,以某种策略来选择最优编码参数,实现最优编码。

基于率失真理论的编码参数优化方法就是率失真优化。其目的是权衡码率与失真,为编码器选择最优参数。

视频失真测度

实际应用中,常采用平均误差(SSE)、均方误差(MSE)、绝对误差和(SAD)以及峰值信噪比(PSNR)等客观质量评估标准作为失真测度。
这里写图片描述

率失真代价

假设D为失真,R为码率,率失真优化可以转化为一个拉格朗日优化问题:

minJJ=D+λR

在编码器中,每个编码模式都会计算率失真代价J,作为编码性能的评估标准,选择最小J对应的编码模式,来获取最优编码性能。比如在CU划分中,会计算4个子CU的率失真代价和,与该CU的失真代价比较,决定是否进行划分。

HEVC中的基于拉格朗日的率失真优化方法

对于PU中,针对帧内和帧间预测使用了两个率失真:
帧内:

minJJ=D(Mode)+λModeR(Mode)

其中D(Mode)、R(Mode)表示不同帧内预测模式下的失真和比特数,λMode为拉格朗日因子。
λMode=αWk2(QP12)/3.0

其中QP为量化参数,Wk为加权因子,该值由编码配置和编码图像在GOP中所处位置决定。变量α取决于当前图像是否作为参考图像:
α={1.0Clip3(0.0,0.5,0.05NB),1.0,

上述公式为亮度分量的λ,色度分量λ如下:
λChroma=λMode/wchroma

wchroma=2(QPQPchroma)/3

帧间:

minJJ=DFD(Motion)+λMotionRMV(Motion)

其中DFD(Motion)表示采用不同运动模式下的运动补偿预测误差,RMV(Motion)表示运动矢量的相关信息(运动矢量、参考图像索引、参考队列索引等)的编码比特数,λMotion为拉格朗日因子。
λMotion=λMode