HEVC混合全零软量化块检测

对于直接由HDQ产生的G-AZB,用基于SATD方法提前终止。对于在率失真优化下产生的P-AZB的分类,基于变换系数建立的率失真模型和最大变换系数的自适应搜索被共同用于鉴别分类。
实际上,有大量TU被量化为0,特别是对于比较小的TU(如在低比特率编码情况下的4x4和8x8)。因此,非常有必要在变换之前早期确定AZB,这对于节省由冗余变换和量化引起的编码时间是有用的。


相关工作

  对于NxN变换块中的残差数据z(x,y),变换系数Z(u,v)可以基于整数DCT变换描述如下:
在这里插入图片描述
  在DZ+UTQ中,变换系数Z(u,v)被量化为L(u,v):在这里插入图片描述
其中,MQP/6=2Qbits/Qstep,Qstep与QP有关(Qstep=2^(QP-4)/6):在这里插入图片描述
其中,bitDepth是输入图片像素的比特深度,N代表TU宽度。
如果一个块被检测为AZB,这就意味着所有量化系数L(u,v)都应当满足:|L(u,v)|<1。
结合前面公式推导出:在这里插入图片描述
在以前工作中用SAD来与Th(u,v)进行比较来确定AZB。然而,有个问题就是SAD代表残差域的残差区别,不能直接反映AZB特征。所以,为了在 频域逼近DCT系数,用哈达玛变换来代替整数DCT变换,这种用哈达玛变换来代替DCT变换的目的就是使得来自哈达玛变换的SATD自然而然成为AZB检测的替代特征。
尽管基于SATD的检测能够在一定程度上提高检测精度,但是对于较大的TU可能不会有非常好的效果。

提出的AZB检测

  与DZ+UTQ相比,RDOQ能够从编码性能的角度确定最优量化的变换系数,这就可能导致一个块经过DZ+UTQ后是NAZB,但是经过RDOQ之后是AZB。在这里插入图片描述
对于不同TU尺寸的每种QP的AZB分布情况如下图:在这里插入图片描述
可以看出来,AZB比例随QP增加而增加。注意到:对于像32x32这样比较大的TU,即使在高QP情况下也几乎没有G-AZB。也就是说,几乎所有的AZB都是P-AZB,这意味着32x32TU没有RDOQ被量化为AZB的可能性很小。换句话说,RDOQ在这种情况下对于确定AZB贡献巨大。因此,这就需要我们循序处理G-AZB和P-AZB。另外,由于帧内预测残差系数甚至在高QP下往往也很大,所以这里只关注帧间预测的残差系数。

A.变换描述

  由于DCT复杂度远远高于哈达玛变换,因此,为了减小DCT计算代价,对于8x8和4x4的变换块,DCT变换核可以用Walsh哈达玛变换核和稀疏矩阵A来模拟:在这里插入图片描述
在这里插入图片描述
考虑到Hw,N是基于1和-1构建的,所以计算中是需要加法和减法。另外,由于AN中有大量0,所以计算负担很少。对于像16x16和32x32这样更大的TU,使用DCT变换。由于不同的变换被用于不同的TU尺寸,所以引入SATDT来代替SATD,其中,下标T代表变换核。

B.G-AZB检测

  首先,对于4x4和8x8TU,使用更有效的类DCT变换,而不是用哈达玛变换。
基于前面提到的,如果一个块是AZB,那么就有:在这里插入图片描述
进一步推导:在这里插入图片描述
得到第一个阈值:在这里插入图片描述
对于预测残差,用拉普拉斯分布对residual data进行建模,进而推导出残差和变换系数之间的关系。
拉普拉斯分布描述如下:在这里插入图片描述
得到均值:在这里插入图片描述
由于在这里插入图片描述
所以,均值变成了在这里插入图片描述
这就可以得到如下关系:在这里插入图片描述
这样,(u,v)位置的变换系数方差:在这里插入图片描述
其中,[~]u,u代表(u,u)位置的元素,C是相关矩阵:在这里插入图片描述
这里,ρ是相关系数。特别地,较大的ρ表示输入信号共享更相同的视觉内容,一般设定为0.6。因此,推导出来(u,v)位置的标准差:在这里插入图片描述
已经得到证明:在这里插入图片描述
继续推导得:在这里插入图片描述
бdct(u,v)表示(u,v)的标准差,它可以用于表征变换系数(前提是变换系数服从拉普拉斯分布)。根据概率论:下面式子成立概率约占99.7%:
在这里插入图片描述
这样就有了:在这里插入图片描述
因此,第二个阈值:在这里插入图片描述
最终,G-AZB检测阈值:在这里插入图片描述

C.P-AZB检测

  当只有DZ+UTQ的时候,P-AZB不会被量化为AZB。因此,当G-AZB检测条件不满足时,P-AZB检测在G-AZB检测之后立即执行。要知道:精确的P-AZB检测方法对于更大的TU块贡献更大。
在这里插入图片描述
上图用绝对量化系数值为1、2或大于2为AZB和NAZB展示了像16x16、32x32这样大尺寸TU的系数分布。对于AZB,在不同QP下,最大系数幅度往往小于2。因此,系数大小是确定NAZB的有效线索。因此,可以在给定TU中通过搜索变换系数幅度来进行AZB检测。然而,对于大的TU,为避免遍历所有系数的耗时操作,提出一种新方法:基于频带检测最大变换系数。
进行RDOQ之前,基于DZ+UTQ(与帧类型无关)预计算一个临时值:l(u,v)(这个步骤实际上就是预量化)。在RDOQ中,对于每一个l(u,v)有一些候选值,这些候选值中最优的一个通过RDO准则来确定。下表列出了对于每一个l(u,v)的可选候选值。在这里插入图片描述
特别地,对于l(u,v)为0的情况,即使没有RDOQ,最终的量化系数也肯定为0。然而,只有l(u,v)为1或者2,才有可变成0,这意味着如果给定的TU在RDOQ之后是AZB,前提是所有系数的l(u,v)必须在2以内。下图展示了在这些最终是P-AZB的TU中对于每个TU尺寸的不同QP下的l(u,v)分布。在这里插入图片描述
可以看出,所有的非零l(u,v)都不大于2。统计结果表明,只有所有的l(u,v)都在[0,2]范围内,TU才可以被编码为P-AZB。这就促使我们在TU中寻找最大系数来识别P-AZB。
为减少系数搜索负担,把每个TU分成两部分:低频部分和高频部分。本质上,低频和高频部分的边界平衡了搜索复杂度和检测精度。对于高比特率编码,会产生更多的非零l(u,v),因此,检测区域应当比低比特率情况大。因此,边界应当是对于QP值自适应的。这里,提出一种确定性方案用于识别位于TU左上角低频部分的块,如图:在这里插入图片描述
在这里插入图片描述
这里,BLF是低频部分的块尺寸。
考虑到TU中只有1或者2的l(u,v)可以进一步量化为0,而且大幅度系数总是集中在低频部分,因此,我们只关注低频部分,并且保证其中的最大|l(u,v)|小于2。为减少DZ+UTQ的计算代价,基于变换系数而不是l(u,v)来构造阈值,因此就有:在这里插入图片描述
其中,MUL表示l(u,v)的最大值,€是补偿因子(MUL设为2,€设为0.2)。
此外,为进一步检测由RDOQ产生的AZB,我们通过比较被检测为AZB和NAZB的TU的RD cost来设计基于RDO的阈值。其中,RD cost通过下面计算:在这里插入图片描述
其中,SSD和R分别代表失真和码率。特别地,RAZB可以近似等于1,因为没有系数需要编码,只需要一个bit flag。因此,就有:在这里插入图片描述
在这里插入图片描述
其中,r和rr分别是原始和重构的残差数据向量。对于RDOQ之后仅包含零系数的TU,rr也是零矢量。因此就有:在这里插入图片描述
此外,由于帧间预测的残差数据大部分是0和1,所以就有:在这里插入图片描述
RD cost和SAD的关系如下图:在这里插入图片描述
可以看出,得到的近似的上式是可行的。为了在像素级统一RD cost,通过常数c来修改上式,c是TU尺寸N的函数:在这里插入图片描述
这里,对于4x4、8x8、16x16和32x32的TU,c分别设为17、37、148和580。这样就有:在这里插入图片描述
这里k从G-AZB检测中得到。
对于NAZB的RD cost,SSD(NAZB)和R(NAZB)都要知道。假设原始和重构变换系数都能在变换域中得到失真SSD(NAZB)。就有:在这里插入图片描述
其中,s是缩放因子Ci和Ci(-)分别表示第i个量化系数矩阵和重构量化系数矩阵。第i个量化系数的量化误差|Ci-Ci(-)|经过RDOQ之后趋于较小,因此,可以通过学习100帧视频序列(BasketballPass、Cactus),设定一个阈值,该阈值占|Ci-Ci(-)|的95.5%:在这里插入图片描述
对于每个TU尺寸的基于QP的阈值Thc可以总结在下表中:在这里插入图片描述
组合上面两个式子,就有:在这里插入图片描述
对于R(NAZB),基于变换系数的码率估计模型就可以使用了:在这里插入图片描述
在这里插入图片描述
这里,参数α和β基于离线训练(如下面两个表)可以得到。在这里插入图片描述
当所有变换系数为0时,TU将被跳过,因此γ设为0。此外,根据下图统计结果,通过分段线性函数可以很好拟合nonZeroNum和SATDT的关系,并利用ThSATDT对线性曲线的两部分进行分类。在这里插入图片描述
φ是nonZeroNum和SATDT之间的斜率。因此,RNAZB被修改成:在这里插入图片描述
特别地,对于4x4和8x8TU,ThSATDT接近0,即nonZeroNum=N^2。那么就有:在这里插入图片描述
如果当前TU是P-AZB,就有下面的关系:在这里插入图片描述
在SATDT>ThSATDT情况下,结合一些式子,可以把上式用公式表示为:在这里插入图片描述
这个二次方程较大解是:在这里插入图片描述
因此,我们可以得到P-AZB的左右取值:在这里插入图片描述
同样地,对于SATDT<=ThSATDT的情况,二次方程的较小解是 :在这里插入图片描述
因此,具有左右取值限制的另一个取值范围可以描述为:在这里插入图片描述
因此,最终的P-AZB检测就等同于检测:SATDT是否位于两个取值范围中。

AZB检测算法总结

  最终,AZB检测算法可以描述如下:
对于当前TU的残差数据:
1.如果SATDT满足:在这里插入图片描述
是AZB;
2.否则,如果在这里插入图片描述
是AZB;
3.否则如果SATDT满足在这里插入图片描述
或者满足在这里插入图片描述
是AZB。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值