参考:新一代高效视频编码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