HEVC中的AZB检测方法

一种全零块检测方法。

由于许多编码块经过DCT变换和量化后系数基本趋近于0,因此,值得在DCT之前检测所有零量化块,以便跳过后续一系列步骤。事实上,越大的TU检测起来越困难,HEVC最大的TU是32x32,而VVC最大尺寸更是达到了64x64、128x128。大的变换块包含更多种类的内容特征,因此以前的AZB检测方案就变得无效。

检测全零块主要从变换块左上角的系数入手,对于32x32块,检查8x8子块的DC系数用于AZB检测。

文章目录


引言

  HEVC采用了四叉树的结构,在寻找最优变换尺寸时(HEVC有4种变换尺寸),变换应该重复执行,因此,计算复杂度显著增加。所以,检测全零块就非常有必要,这样就可以跳过这些繁琐操作。

AZB检测阈值

  众所周知,残差服从拉普拉斯分布,假设Walsh哈达玛变换系数xh服从零均值拉普拉斯分布:在这里插入图片描述
  期望即:在这里插入图片描述
  一个NxN块中归一化的哈达玛变换系数的样本均值为:在这里插入图片描述
  假设上面提到的服从拉普拉斯分布的概率密度函数的平均值等于上面的样本均值,那么就有:在这里插入图片描述
  因此,NxN块的SATD可以表示为:在这里插入图片描述
  由此可得到Walsh哈达玛变换系数的标准差:在这里插入图片描述
  为获得NxN中DCT的拉普拉斯模型参数,有如下关系:在这里插入图片描述
  其中,Rh是矩阵中元素都是Walsh哈达码变换系数的一个矩阵。由此得到NxN块的平均标准差:在这里插入图片描述
  然后,可以计算出DCT域的拉普拉斯模型参数;在这里插入图片描述
  下式就展示了在拉普拉斯概率密度函数条件下,对于X的NxN变换块的量化非零系数总数可以用熵编码来简化:在这里插入图片描述
  其中,f为舍入偏移量系数,q是量化步长,λdct是上面提到过的DCT系数的拉普拉斯模型参数。注意,上式中,没有NxN的R(q)表示量化非零系数部分。如果R(q)小于1,NxN块中所有系数都被量化为0。因此,可以把NxN的TU块量化为AZB的条件表示为:在这里插入图片描述
  其中,0.5是舍入偏移量。上面不等式表明,如果上上式的量化非零系数总数小于1,那么在NxN变换块中不存在需要编码的显著系数。最后,可以导出NxN块对于AZB的阈值:在这里插入图片描述
  其中,α是缩放常数,根据经验确定为1.1。下图展示了QP=28时,4x4、8x8、16x16、32x32TU块的在SATD域的AZB和NAZB的分布。在这里插入图片描述
  从上图可以看出,4x4、8x8、16x16、32x32四种块的AZB和NAZB都有一部分重叠部分,为基于SATD在对AZB和NAZB分类时更好地划清界限,提出一种更精确的检测方案:给定Walsh哈达玛变换系数,将矩阵A乘以WHT可以获得DCT系数,然后归一化,就表示为:在这里插入图片描述
  上式中,对于4x4和8x8DCT,Nq分别设为18和21。DCT系数量化为0的条件也可以改写成:在这里插入图片描述
  这样,对于4x4、8x8这样小的TU块的AZB检测算法就可以用下面流程图来表示:在这里插入图片描述
  对于比较大的16x16和32x32TU块,可以通过下面流程进行AZB检测:在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值