VVC块划分

VVC和HEVC与AVC一样,都是基于块的混合编码框架,其编码流程也都类似。下图是VVC的编码架构。

 

VVC和HEVC的块划分有很多类似的地方,同时划分方式、形状、尺寸等又有很多不同。

1、slices,tiles和bricks划分

VVC里的slice和tile跟HEVC是一样的。

一帧图像被划分为一个或多个tile行和tile列,每个tile是一个矩形区域包含整数个CTU。

每个tile可以被划分为一个或多个brick,每个brick包含该tile里几个CTU行。一个tile如果没有被划分为多个brick,那该tile被看作是一整个brick。

一个slice包含一帧图像的多个tile,或包含一个tile内的多个brick。

VVC支持两种类型的slice, raster-scan slice mode和rectangular slice mode。raster-scan slice mode的slice包含帧内按扫描顺序排列的一系列tile。rectangular slice mode的slice包含一系列brick并形成矩形形状。

 

上图中图像被划分12个tile(3个 tile列,4个tile行)和3个raster-scan slice mode的slice。

 

上图中图像被划分为24个tile(6个 tile列,4个tile行)和9个rectangular slice mode的slice。

 

上图中图像被划分为4个tile(2个 tile列,2个tile行),11个brick(左上角1个,右上角5个,左下角2个,右下角3个),4个rectangular slice mode的slice。

2、CTU划分

在VVC中为了适应4k、8k等视频编码的需要将CTU的最大尺寸提高到128x128,最小尺寸还是4x4。

在HEVC中CTU会按四叉树划分方式被划分为CU,每个CU又可以划分为PU和TU。在VVC中将不在区分CU、PU和TU的概念。

VVC中除了四叉树划分方式外,还引进了多类型树(multi-type tree,MTT)概念,包括二叉树(binary tree,BT)和三叉树(ternary tree,TT)。一个CTU首先按四叉树方式进行一次划分,四叉树的每个叶子节点可以进一步按照多类型树方式进行划分,有4种多类型树划分方式水平二叉树划分(SPLIT_BT_HOR),垂直二叉树划分(SPLIT_BT_VER),水平三叉树划分(SPLIT_TT_HOR),垂直三叉树划分(SPLIT_TT_VER)。

下图是多类型树的几种划分模式。其中三叉树是按1:2:1的方式划分的。

 

下图是一个CTU划分实例,粗实线是四叉树划分边界,细实线是多类型树边界。

 

在VTM5中支持亮度和色度块使用不同的划分结构。目前,对于P和Bslice,同一个CTU的亮度和色度CTB划分结构相同,对于I slice同一个CTU的亮度和色度CTB可以按不同的结构进行划分。

3、图像边界处CU划分

当一个块超过图像的右边界或下边界时,该块会被强制进行进一步划分直到所有CU都在图像内部。下面是VTM5内的划分规则:

  • 如果一个块既超出了下边界也超出了右边界

    • 如果该块是一个四叉树节点且尺寸大于最小四叉树节点尺寸,则该块被强制进行四叉树划分

    • 否则该块被强制进行SPLIT_BT_HOR模式划分

  • 如果一个块只超出了下边界

    • 如果该块是一个四叉树节点且尺寸大于最小四叉树节点尺寸,且该块尺寸大于最大的二叉树节点尺寸,该块被强制进行四叉树划分

    • 如果该块是一个四叉树节点且尺寸大于最小四叉树节点尺寸,且该块尺寸小于等于最大的二叉树节点尺寸,该块被强制进行四叉树划分或SPLIT_BT_HOR模式划分

    • 否则(该块是一个二叉树节点或尺寸小于等于最小四叉树节点尺寸),该块被强制进行SPLIT_BT_HOR模式划分

  • 如果一个块只超出了右边界

    • 如果该块是一个四叉树节点且尺寸大于最小四叉树节点尺寸,且该块尺寸大于最大的二叉树节点尺寸,该块被强制进行四叉树划分

    • 如果该块是一个四叉树节点且尺寸大于最小四叉树节点尺寸,且该块尺寸小于等于最大的二叉树节点尺寸,该块被强制进行四叉树划分或SPLIT_BT_VER模式划分

    • 否则(该块是一个二叉树节点或尺寸小于等于最小四叉树节点尺寸),该块被强制进行SPLIT_BT_VER模式划分

4、CU冗余划分的限制

四叉树和多类型树相结合的划分方式使得VVC块划分更加灵活,但也可能造成不同划分方式相结合导致相同的划分结果,这种冗余的划分应该被禁止。

如下图,在同一个方向进行两次连续的二叉树划分,和先进行一次三叉树划分再在中间进行二叉树划分的结果相同。所以VVC禁止在三叉树中间部分进行同方向的二叉树划分。

 

5、Virtual pipeline data units (VPDUs)

VPDU是图像中不重叠的单元。在硬件解码器中,连续的VDPU要同时被多阶段流水线并行处理。VDPU要和该阶段的buffer size近似成比例时效率最高,所以要保持VDPU size比较小。在大部分硬件解码器中VDPU size被设置为最大的TB size。但是VVC内三叉树(TT)和二叉树(BT)划分模式可能导致VDPU size变大。

为了使VDPU size保持在64x64亮度块的大小,VTM5做了如下限制:

  • 如果CU的宽或高等于128,则不进行TT划分。

  • 对于128xN的CU,N<=164,不进行水平BT划分

  • 对于Nx128的CU,N<=164,不进行垂直BT划分

下图是禁止划分的实例。

 

感兴趣的请关注微信公众号Video Coding

 

内容概要:本文提出了一种多阶段退出卷积神经网络(MSE-CNN)模型,旨在预测适用于高效视频编码(VVC)的四叉树加多类型树(QTMT)结构的编码单元(CU)分割模式。相比传统的暴力搜索方式,新方法能有效减少VVC帧内模式下编码时间,并保持较好的率失真性能(RD)。为实现这一目标,作者首先建立了一个大型数据库,利用多种量化参数值的数据集来训练该深度学习模型。接着引入早期退出机制,在多级决策子网的帮助下减少了冗余计算量。此外还设计了适应性的损失函数,优化对不确定分支数目的分类任务及其最小化RD成本的任务。最后采用多层次阈值决策方案取得了编码复杂度和RD性能间的良好权衡。 适合人群:视频压缩与编码方向的研究者和工程师;熟悉VVC标准和深度学习方法的专业人士。 使用场景及目标:用于大幅加速新一代视频编码器VVC中的CU分割过程;适用于提升视频编码效率和降低计算开销的应用。通过该技术手段可以有效缩短编码时间同时确保压缩效果不受较大影响。 阅读建议:读者应关注MSE-CNN架构的具体组成、训练数据准备流程以及实际实验结果对比等方面的内容,这对于理解和复现实验具有重要意义。另外也要注意到模型所涉及的技术难点如条件卷积层设计、多阶段预测逻辑以及针对不同量化参数调整策略等问题也是需要深入探讨的重点所在。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值