01 VVC中编码块的划分结构

前言

  • VVC中块的结构划分,在HEVC中四叉树(QT)递归划分的基础之上,又增加二叉树(BT)和三叉树两种划分方式,所以在VVC中大块进行划分之后会出现矩形块,这点与HEVC不同,HEVC中由于采用的是四叉树递归划分,所以划分后的结构都是正方形。

  • 虽然现在VVC的压缩标准还未正式发布,预计今年下半年就可以正式发布。到目前为止可以确定的是VVC已经采纳了混合树(MT)的块划分结构,即划分方式包括二叉树(BT)、三叉树(TT)、四叉树(QT)。这种划分方式比HEVC中的划分方式更加的灵活,极大的提高了编码性能。

  • 规定的具体流程是:一个CTU(编码树单元)首先进行四叉树结构划分,即CTU块可以不划分或递归的划分成4个相同大小的子块。然后,在QT的叶子结点可以通过二叉树或三叉树结构进一步划分。二叉树和三叉树划分可以交替并递归的进行。但是,需要注意的地方是,一旦应用了二叉树或者三叉树划分,就不再允许进行四叉树划分。

  • 二叉树和三叉树存在水平和垂直两个方向的划分方式。对于二叉树而言,两个方向划分出的子块结构都是对称的。对于三叉树划分后的子块结构,子块的大小比例为1:2:1


下图展示了VVC所有可能的块划分结构:
01 VVC中编码块的划分结构_第1张图片
注意点1:这样的混合树的划分方式,如果不采取适当的约束条件,则在划分遍历的时候会产生不同的划分方式产生相同划分结构,也就是划分冗余。这样会在选取最优划分结构,计算所有划分可能的率失真代价值时,会产生不必要的冗余计算,增加编码的时间。

解决方法:为了规避这种现象,VVC对块划分的增加一些限制条件,几种限制条件示例如下

  • 当父块进行了水平方向的二叉树划分,并对产生的第一个子块进一步采取垂直方向的二叉树划分的情况下,禁止对父块的第二个子块进行垂直方向的二叉树划分,以避免产生对父块进行一次四叉树划分后相同的块划分结构。图例讲解如下:
    01 VVC中编码块的划分结构_第2张图片

  • 当父块进行了垂直方向的二叉树划分,并对产生的第一个子块进一步采取了水平方向的二叉树划分的情况下,禁止对父块的第二个子块进行水平方向的二叉树划分,以避免产生对父块进行一次二叉树划分后相同的块划分结构。图例讲解如下:
    01 VVC中编码块的划分结构_第3张图片

  • 当对父块进行了水平方向的三叉树划分时,禁止对产生的第二个子块进行水平方向的二叉树划分,以避免产生对父块连续进行两次水平方向的二叉树划分后的同样的块结构。图例讲解如下:
    01 VVC中编码块的划分结构_第4张图片

  • 当对父块进行了垂直方向的三叉树划分时,禁止对产生的第二个子块进行垂直方向的二叉树划分,以避免产生对父块连续进行两次垂直方向的二叉树划分后的同样的块结构。图例讲解如下:

01 VVC中编码块的划分结构_第5张图片

  • 当对父块进行了垂直方向的二叉树划分,并对第一个子块进一步采取了水平方向的三叉树划分的情况下,禁止对第二个块进行水平方向的三叉树划分,以避免先对父块进行水平方向的三叉树划分,后对子块进行垂直方向的二叉树划分情形下相同的块结构。图例讲解如下:
    01 VVC中编码块的划分结构_第6张图片

  • 当对父块进行了水平方向的二叉树划分,并对第一个子块进一步采取了垂直方向的三叉树划分的情况下,禁止对第二个块进行垂直方向的三叉树划分,以避免先对父块进行垂直方向的三叉树划分,后对子块进行水平方向的二叉树划分情形下相同的块结构。图例讲解如下:

01 VVC中编码块的划分结构_第7张图片


下面这张图片举例显示了一个CU划分示意图:

01 VVC中编码块的划分结构_第8张图片


注意点2:HEVC中图像的类型有三种,即I帧、P帧、B帧,它们的亮度块和色度块共享相同的块划分结构,但在VVC中允许I帧中的亮度块和色度块独立划分,可以拥有不同的块划分方式。

原因:图像中亮度分量和色度分量是具有两种不同特性的的分量,亮度分量拥有大量的细节信息,而色度分量携带的信息比较少,纹理比较平滑,如果把这两种分量放在一起划分,块划分的很细(小)则会导致色度分量浪费比特;块划分很粗(大)则会导致亮度分量的性能下降,所以将亮度分量和色度分量分开划分,这样亮度分量可以划分的细一些,色度分量可以划分的粗一些,既能保持编码性能,还能减少编码的比特数。


更多视频编码相关知识以及资源,更精致的文章排版,欢迎关注博主的微信公众号,一起交流学习,一起进步!!!
01 VVC中编码块的划分结构_第9张图片

你可能感兴趣的:(VVC/H.266)