率失真优化技术
率失真优化:
视频编码的主要目的是在保证一定视频质量的条件下尽量降低视频的编码比特率,或者在一定编码比特率限制条件下尽量地减小编码失真。在固定的编码框架下,为了应对不同的视频内容,往往有多种候选的编码方式,编码器的一个主要工作就是在某种策略选择最优的编码参数,以实现最优的编码性能。基于率失真理论的编码参数优化被称为率失真优化,率失真优化技术是保证编码器效率的主要手段。
率失真理论:
在允许一定程度失真的条件下,能够把信源信息压缩到什么程度?也就是说,最少需要多少比特才能描述信源?针对这个问题,香农在1959年发表了 《保真度准则下的离散信源编码定理》 ,定义了信息率失真函数R(D),并讨论了其相关基本定理。之后,率失真理论逐渐受到了人们的重视。
互信息量:
对于两个离散随机事件集X和Y,事件 yj 的出现给出的关于事件 xi 的信息量定义为互信息量 I(xi; yj) ,其定义公式如下。由公式可以看出,互信息量为后验概率与先验概率比值的对数。互信息量的单位与自信息量一样取决于对数的底。
失真度:
设离散无记忆信源[X; P] = [x1, …xN; p(x1),…p(xN)]经过信道传输后接收端的离散变量Y的概率空间为[Y; P] = [y1, …yN; p(y1),…p(yN)]。对于每对(xi, yj),指定一个非负的函数d(xi, yj)>=0,称其为单个符号的失真度或失真函数。
规定了单个符号的失真度之后,传输一个符号引起的平均失真度,即信源的平均失真度如下公式。
不同的信源符号和不同的接受符号,产生的失真不同,但平均失真度已对信源和信道进行了统计平均,所以平均失真度可描述某一信源在某一试验信道传输下的失真大小,可从整体上描述系统的失真情况。
率失真函数:
接收端获得的平均信息量可用平均互信息量I(X, Y)来表示,这就变成这在满足保真度准则的条件下,寻找平均互信息量的最小值。这个最小值就是在满足保真度准则的条件下,信源必须传输的最小平均信息量,如下公式,就是信息率失真函数,简称率失真函数。
率失真函数R(D)的一半曲线图形如下图。
率失真信源编码定理:
保真度准则下信源编码定理、保真度准则下信源编码逆定理。
视频编码中率失真优化
视频压缩的目标:
在保证视频质量的都前提下尽量降低视频流的压缩码率。
视频失真测度:
平方误差和SSE、均方误差MSE、绝对误差和SAD、峰值信噪比PSNR。
视频率失真曲线:
视频编码率失真优化:
不同的编码参数可以得到不同的率失真性能,最优的编码方案就是在编码系统定义的所有编码参数中使用能够使系统性能最优的参数值,视频编码系统中的率失真优化就是基于率失真理论选择最优的编码参数。拉格朗日优化法是视频率失真中最常见和最有力的优化工具。
H266中的率失真优化
H266采用了更先进的编码算法和多种高效的编码工具,因此编码过程也面临更多的编码参数选择。因此,拉格朗日优化方法在图像组层、片层、CTU层和CU层都发挥了重要的应用。
参考
JVET输出文档:
https://www.itu.int/wftp3/av-arch/jvet-site/
书籍:
新一代通用视频编码H266/VVC:原理、标准与实现[万帅 霍俊彦 马彦卓 杨付正/著]
备注
本系列博客主要是对《新一代通用视频编码H266/VVC:原理、标准与实现》
的学习笔记。