H.266/VVC视频编码CU划分

CTU划分划分和树结构

H.266/VVC 标准中编码数单元CTU的大小为128x128。
H.266/VVC提出了四叉树和嵌套多类型树(MTT,Multi-Type Tree)划分,MTT包括二叉树(BT, Binary Tree)和三叉树(TT, Ternary Tree),统一了H.265/HEVC 中 CU、PU、TU的概念,并且支持更灵活的CU划分形状。CTU 按照四叉树结构进行划分,叶子节点通过 MTT 进一步划分,划分类型一共有4 种:垂直二划分(SPLIT_BT_VER)、水平二划分(SPLIT_BT_HOR)、 垂 直 1:2:1 三 划(SPLIT_TT_VER)和水平 1:2:1 三划分(SPLIT_TT_HOR)。多类型树叶子节点成为编码单元CU,当CU不大于最大变换单元(64x64)时,后续预测和变换不会再进一步划分。所以大部分情况下,CU、PU、TU 都具有相同的大小。
MTT划分类型
划分标识
在编码过程中,需要对图像划分信息进行标识,以便解码端可以正确解码,上图列出了具体的划分标识方法。CTU 为四叉树的根节点,qt_split_cu_flag 标识是否采用四叉树结构划分。四叉树的叶子节点进一步采用 MTT 结构划分,mtt_split_cu_flag 用来标识是否采用 MTT划分,如果采用,mtt_split_cu_vertical_flag 用来标识 MTT 划分方向,“1”代表垂直划分,“0”代表水平划分,再用 mtt_split_cu_binary_flag 标识采用二分还是三分,最终确定该CTU的划分。
VVC划分CU

虚拟流水线数据单元

在硬件实现中,一般采用流水线数据处理方式,以确保高效性。将图像中非重叠的单元定义为虚拟流水线数据单元(VPDU,Virtual Pipeline Data Units),这些单元在同一时刻相互独立,因此可以实现流水数据处理。VPDU大小与现在大多数流水线缓冲区大小密切相关,考虑到具体实现的限制,VPDU设置为最大变换单元大小 64×64。但 H.266/VVC 中采用的 TT
和 BT 划分可能会导致VPDU尺寸变大,因此在H.266/VVC参考软件平台VTM6.0 中对图像划分做了以下限制:

  • CU 的长和宽任意一项为 128 时,TT 禁用;
  • CU 宽为 128,高小于 128 时,BT 禁用;
  • CU 高为 128,宽小于 128 时,BT 禁用。
    在这里插入图片描述
    上图中给出了 VTM6 中对划分的限制示例,CU 的宽和高均为 128,分成 4 个 64×64 的 VPDU,按照划分限制要求,图中红线为禁用的划分。
    所以对128×128的块:
  • 水平BT,然后对所得的其中一个块垂直BT;
  • 垂直BT,然后对所得的其中一个块水平BT;
  • QT

CU划分:https://blog.csdn.net/Dillon2015/article/details/103364336

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值