HEVC中RDOQ的简化电平估计

由于最优量化电平估计在RDOQ中占主导地位的计算复杂性,因此,本文通过简化电平估计阶段来加速RDOQ。对于0量化系数,没必要再经过RDOQ了。因此,提出一种自适应死区方案,这种方案可以通过在电平估计阶段之前量化本身来使更多的高概率变换系数从1改变到0。


引言

一般来说,快速RDOQ可以分为两类,即旁路方法和简化方法,下表总结了这两类方法:在这里插入图片描述
本文是为RDOQ设计一个简化的电平估计方案,该方案可以降低原始RDOQ的复杂度。本文基于对RDOQ过程量化电平变化的统计分析来进行研究。在RDOQ过程之后,如果一个电平在大多数情况下很可能被改变,那么,是否通过复杂的RD cost计算进行电平改变这一决定可能是不必要的。类似地,对于即使在RDOQ过程后仍然保持不变的电平,没必要检查其用于电平候选的RD cost。
本文中,首先设计了一种自适应死区(ADZ)方案,该方案通过在较大块高频位置的量化死区区域使用阈值来提高更多的零电平。值得注意的是,在RDOQ之后,这些电平趋向于具有被优化到0的高概率。随后,针对那些预期保持不变的电平,提出了简化的候选值选择方案(SCS)和电平估计方案,旨在简化电平估计阶段。

HEVC中的RDOQ

A.RDOQ过程

RD cost在RDOQ的每个过程都有重复计算,因此消耗了极高的计算量。
CG内系数和块的扫描顺序取决于块大小,颜色通道和预测模式。当以某些特定角度模式进行帧内预测时,水平和垂直扫描方向仅适用于4x4亮度、色度块和8x8亮度块,对角线扫描占绝大多数。

B.RDOQ的复杂度分析

为确定在RDOQ中主要简化哪个阶段,首先统计RDOQ内部每个阶段的时间复杂性。统计发现,电平估计阶段消耗了超过80%的计算时间,这也就表明RDOQ的时间复杂度主要来自于电平估计。不难理解这是为什么,因为对于一个TB的每个非零系数,电平估计需要重复计算每个候选值的RD cost。

提出的简化的RDOQ方案

这一部分主要讨论简化的“电平估计”来加速RDOQ进程。如果经过RDO准则的最优量化电平和HDQ的量化电平相同,那么在编码性能方面没有任何改变,也就是说,只有RDO确定的最优量化电平和HDQ的量化电平不同时,RDOQ才会带来更高的编码效率。
计算分析下面的条件电平转移概率:在这里插入图片描述
下标state对应RDOQ的三个步骤LE,AZCG,LNZ。C(u,v)代表TB内初始量化电平(预量化值)在给定state后频率位置(u,v)的标量量化值lSQ发生变化的事件。

A.自适应死区的电平估计(ADZ)

HEVC中,将电平从非零变为零有助于降低比特率,特别是在高频位置。因此,我们预计RDOQ将更有可能在TB内的高频位置提供电平变化。所以,为节省RDOQ处理时间,采取下面先发制人的方法:如果RDOQ很可能将初始SQ值更改为0,那么就提前更改它。在这种情况下,可以跳过电平估计阶段的候选值选择,因为初始SQ值在电平估计阶段之前已经变为0。
事实上,当预量化值从1到0被优化时,RDOQ在没有较大失真的情况下就可以减少编码比特数。因此,首先针对LNZ阶段后l=1的情况分析前面提到的条件概率:在这里插入图片描述
上式的条件概率表示标量量化电平lSQ=1在LNZ阶段变为0的可能性。测试序列时,根据每个序列的帧率来设置帧内周期。在这里插入图片描述
上图展示了不同TB大小和QP值的条件电平概率变化的分析结果。图中的黑色像素表示P(lSQ=1)=0的情况。这种情况下,不能再有任何电平的改变。同时观察到,当块尺寸是16x16或32x32时,PLNZ(C(u,v)|lSQ=1)在一个TB的右下角接近于1。下表展示了当lSQ=1时高频位置的平均条件变化概率:在这里插入图片描述
当TB大小为16x16或32x32时,超过80%的lSQ=1会在LNZ阶段变为0。这说明在大TB中,高频位置的系数经过LNZ后很大可能从1变成0。这一观察结果表明:在电平估计阶段之前,在高频位置推广更多的系数使它们为lSQ=0,这将会避免候选值选择和随后的RD cost计算。
用θ控制死区范围。θ越小,就会有越多的系数被量化为0,因此,它比均匀标量量化可以更有效地降低比特率。需要注意的,在HEVC中,当RDOQ未启用时,使用下式计算传统的量化电平lSQ,I帧θ为1/3,P、B帧θ为1/6:
在这里插入图片描述
当RDOQ启用时,θ为1/2。
下图展示了当θ=1/2时的量化决策间隔,在这种情况下,比1/2小的|c|/△q值会被量化为0。
在这里插入图片描述
类似地,如果θ=1/3,那么比2/3小的|c|/△q值会被量化为0,这将导致如下图所示的更宽的死区。
在这里插入图片描述
为了节省RD cost计算和候选值选择比较步骤的时间,有相关文献应用了较小的舍入偏移θ(I-slice为1/3,P,B-slice为1/6),也启用RDOQ来计算大块高频区域的初始lSQ,从而实现了在电平估计之前就有了更多的零电平。θ越小,表示死区越大,但是,它也让量化间隔完全由上图中标记的阴影区域移动。这个移动可能会导致不希望得到的失真。因此,不只是简单地改变舍入偏移θ,使用下式中的量化,通过设置如下阈值Thr来调整死区:在这里插入图片描述在这里插入图片描述
下图展示了对于死区的阈值Thr的例子:在这里插入图片描述
在提出的ADZ方案中,初始的lSQ值用上面的阈值计算如下:在这里插入图片描述
其中,lSQ表示作为电平估计阶段的输入而给出的建议的初始SQ值。上面两个式子意味着:在大块的高频位置以外的频率位置,上式中的lSQ和下式中用θ=1/2计算的值是相同的。用上式中提出的ADZ替换下式的初始SQ计算,我们可以在电平估计阶段之前就获得更多的零电平。

B.简化的候选值选择的电平估计(SCS)

以上讨论的ADZ只对大TB有影响,所以当TB是4x4或者8x8时,对RDOQ,ADZ不做任何事情。但是对于小块,RDOQ预计被调用的次数会更多。做一个简单的测试:10帧BaskrtballDrive序列清楚揭示了这一点,如下表,列出了RDOQ调用次数。每次在编码过程(包括模式决策的递归RD cost检查)中调用RDOQ函数时都会计算其调用次数。
在这里插入图片描述
下表显示了每个不同大小的TB消耗的RDOQ函数处理时间的总百分比。一般来说,在AI-main和RA-main配置下,4x4和8x8块约占RDOQ函数调用总数的96%,约占RDOQ处理时间的70%。因此,在设计简化的RDOQ算法时,最好考虑所有块大小。
在这里插入图片描述
在ADZ方法中,我们先发制人地将初始SQ值更改为0(如果它很有可能被RDOQ更改的话)。在这种情况下,如果初始SQ值可能不变,最好把不要尝试改变其电平。
如下图所示,在电平估计阶段,当|c|/△q在[0,0.5)变化时,电平从lSQ到lSQ-1改变会造成较大失真:
在这里插入图片描述
所以,我们预计在这种情况下电平估计不会做出太大改变。为证明这一点,对电平估计阶段后的条件电平变化概率进行分析。
在下面的分析中,用lfloat来代表|c|/△q,这个值进一步被分成7个范围:[0.5,1),[1,1.5),[1.5,2),[2,2.5),[2.5,3),[3,3.5)和lfloat>=3.5。不需要考虑范围[0,0.5),因为其量化值为0,因此根本不存在变化的可能性。下面的条件电平变化概率在lfloat分别属于每个范围时进行计算:在这里插入图片描述
其中,a代表上述7个范围中的一个,并分别为每个范围计算上式。上式中的概率表示在给定某个lfloat范围后,在电平估计阶段后的电平改变的条件概率。根据公共测试条件,基于序列帧率来设置帧内周期。当lfloat属于[1,1.5),[2,2.5)或者[3,3.5)(即当其小数部分是[0,0.5)而lSQ*>0),上面的条件概率总是0,与TB尺寸或者两个测试序列的QP值无关。因此,在那些情况下,我们建议不去检查改变到lSQ*-1的概率,它的条件可以写成如下:在这里插入图片描述
注意到当|c|<=Thr△q时,lSQ=0,并且在这种情况下,电平估计阶段(实际上是RDOQ)不做任何改变。因此,上面的条件不会检查电平改变到lSQ*-1的可能性,其条件可简化如下:在这里插入图片描述
当满足上式的时候,除了lSQ自己的候选值的RD cost是不计算的。最终,电平估计阶段的量化输出可以描述为:
在这里插入图片描述
其中,lLE
是使用提出的SCS方法之后的量化电平输出,并且lLE是原始的电平估计阶段的输出。用这种方法,可以通过在满足上面条件时通过限制候选值的数量来简化电平估计阶段,从而减少RD cost计算和比较的数量。

C.对于左上角CG的跳过电平估计

在电平估计阶段,计算当前量化电平在每个频率位置的RD cost为:J=D+λR。λ是依赖于QP的拉格朗日乘子。量化失真D计算为当前量化值的均方误差:在这里插入图片描述
按当前量化电平估计的码率R:
在这里插入图片描述
其中,它们分别代表下面语法元素:sig_coeff_flag、coeff_abs_level_grater1_flag、coeff_abs_level_grater2_flag、coeff_abs_level_remaining。计算RD cost耗时的原因也就是失真和码率估计计算复杂。
在LNZ阶段,如果当前检查的电平大于1,则直接将该电平设置为对应TB的最后一个最优非零系数,无需进一步搜索。因此,如果输入电平大于1,可以直接跳过左上角CG。

D.对RDOQ提出的简化的电平估计方案

如前所述,提出的RDOQ简化LE方案由三个部分组成:ADZ、SCS和LE Skip。下图展示了提出方案的整体流程:
在这里插入图片描述
首先,使用自适应死区ADZ计算初始SQ值。然后,对于每个TB的左上角CG,如果SQ值大于3,则跳过LE阶段。另外,采用SCS限制LE候选数,可以减少候选过程中RD cost的计算和比较。然后在LE阶段,RDOQ根据每个候选值的RD cost为当前系数选择最优的量化电平。然后,应用AZCG和LNZ阶段,找到RDOQ的最终电平输出。

总结

本文利用TB内不同频率位置电平变化的条件概率的统计似然性,提出了一种HEVC的简化的电平估计的快速RDOQ方案。这种方案可以在不绕过任何RDOQ函数调用的情况下实现。也就是说,所有节省的时间实际上都来自于RDOQ内部电平估计阶段的简化。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值