VVC中对CU进行分类,同时进行分区模式选择

在VVC中,对CU进行简单、普通和复杂块的分类,并进行水平、垂直划分模式选择或者直接跳过。


引言

  首先,VVC有着基于块的混合编码结构,它用变换编码融合了帧间和帧内预测。它采用嵌套的多类型树来提高压缩效率,但是编码复杂度有了一定提高。因此,为降低复杂度,提出一种基于纹理特征的帧内快速算法。
  简单来说,就是自适应设定纹理阈值,将编码单元分为简单、普通和复杂三类。对于简单的CU,在早期就跳过分区模式。对于复杂CU,跳过非分区模式。然后,通过计算比较常见和复杂的CU的方向特征,排除不必要的方向模式。最后从剩余分区中导出最优模式,实验结果表明,这种算法平均节省51.72%的编码时间。

介绍

  2018年4月,JVET提出了VVC。与上一代HEVC相比,VVC利用多嵌套树来提高压缩效率,但是也带来了编码复杂度的提高。因此,在保持相同编码性能的同时,降低VVC复杂度也是很重要的。

基于纹理特征的快速算法

  这种算法流程图如下:在这里插入图片描述
  VVC中,分区模式(PM)包括四叉树(QT)和多类型树(MT)包括二叉树(BT)和三叉树(TT)。其中BT和TT都包括水平分区模式(HPM)和垂直分区模式(VPM),非分区模式仅包含帧内模式。从上图可以看出来,这种快速算法包括两个部分,高效划分决策(EPD)和多类型树的方向决策(MTDD)。其中对于某个CU,EPD决定是否跳过分区模式或者非分区模式。对于MTDD指定尺寸(包括8x8、16x16、32x32)的计算单元,直接跳过HPM和VPM。

1.自适应EPD

  采用单位面积标准差对单位面积进行分类,则标准差等于:在这里插入图片描述
  根据下面式子来判断CU是简单、普通或者是复杂的。在这里插入图片描述
  其中T2和T1分别代表上下阈值,T2>=T1。
  如之前所说,对于简单的CU,直接跳过分区模式;对于复杂的CU,直接跳过非分区模式。其中,不管分类是否正确,普通类的CU通常都是编码的。不正确分类和正确分类的概率分别为在这里插入图片描述
  为保证编码性能,严格控制Pe和Pr,并最大化T1和T2之间的距离,可通过下式计算:
在这里插入图片描述
  遍历Ω可以精确获得T1、T2,那么上面式子可以简化为:在这里插入图片描述
  其中,fT1和fT2分别是不分区模式的fT和分区模式的fT。
  经验证,这种自适应方法可以适用于不同大小的CU,序列第一帧可用于获取自适应阈值。

2.基于方向特征的多类型树的方向决策

  经过EPD将CU进行简单、普通和复杂的分类之后,普通和复杂的CU还有很多可能的分区模式,我们可以决定:对于某个CU,使用HPM或者VPM。
  对于垂直纹理的CU,水平方向的亮度差异大于垂直方向的亮度差异。因此,一个CU在不同方向上的变化可以反映纹理方向。所以,用不同方向的标准差来判断CU的纹理方向。水平和垂直特征的标准差计算如下:在这里插入图片描述
  由于这种模型是基于正方形单元的,所以MTDD只能应用于正方形单元,不能用于非正方形单元。如果一个CU中的fH大于fV,那么将跳过HPM,即对于一个垂直纹理的CU,跳过水平分区模式。为保证编码性能,如果在这里插入图片描述
将不跳过HPM或VPM。

不足

  由于在高分辨率中,CU之间的纹理相关性很弱,很可能导致复杂类的CU被错误地跳过分区模式。因此在像Tango2这样的4K序列中,PSNR与原平台基本一致,但是比特率略有增加。

结论

  本文提出一种快速VVC帧内编码算法。这种算法根据自适应阈值和纹理特征去除了不必要的模式,并通过方向特征进一步剔除非最优模式。这种方法对于CU的方向特征是十分有效的,但是并不是对所有序列都友好。对于纹理简单,方向复杂的序列,这种算法值得推广。实验结果表明,与原平台相比,这种算法平均减少了51.72%的编码时间,BD-rate仅增加了2.53%。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值