2.1 QTMT块划分机制拆解


2.1 QTMT块划分机制拆解

本节摘要:QTMT(四叉树加多类型树)是VVC最底层也最重要的结构创新。本节拆解它的三层语法——QT如何打底、BT与TT如何接力、约束条件如何防止划分失控;再用一棵真实划分树推演"细长条块为什么值钱"。掌握本节,后面所有预测与残差工具才有几何载体。

上一章说过,VVC给内容的"布料"裁剪自由远超HEVC。本节就来看这把剪刀的完整走法:先四叉树均分,再多类型树顺着内容方向切。2.2节会把镜头拉远,看整帧图像怎么组织这些块。

为什么划分自由度是第一杠杆

混合编码框架里,块的形状决定了预测的精度上限。人脸的发际线是水平走向的细长结构,文字行也是,跑道、栏杆、楼群边缘都是。如果编码块只能是正方形或近方形(HEVC的四叉树时代基本如此),这些细长结构必然被切进多个块里,每块都要独立预测、独立传残差——边缘两侧的高对比像素互相污染,残差能量居高不下。

一条朴素的账:把一个64×64块沿水平边缘切成64×16与64×48,边缘附近的预测难度骤降,残差系数大量归零,熵编码的比特直接省下来。划分自由度是用"多传几个划分标志"换"少传一大片残差",这笔交换在细长结构丰富的内容上稳赚。JVET测试中,QTMT相对纯四叉树是VVC收益最大的单项工具之一(与帧间预测改进合力构成主要增益来源)。

划分树的三层语法

QTMT不是一种树,是两种树的接力。以一个128×128的CTU为例,划分决策按如下顺序进行:

第一层:QT打底。CTU先走四叉树,每次一分为四,尺寸128→64→32→16。QT的优势是语法极省(一个split标志切四块)、规整、天然并行。QT可以递归到最小16×16(亮度)。

第二层:MTT接力。QT的任何一个叶子都可以宣布"我不再四分,转入多类型树",然后在内部继续二分(BT,水平或垂直各一刀)或三分(TT,居中留一份)。关键规则有三条:

  • BT与TT互斥:同一节点一旦用过TT,其子树内不再允许TT(防语法膨胀与组合爆炸);
  • 尺寸离散集约束:所有划分结果必须落在允许的尺寸集合内(亮度块最小4×4或4×8/8×4,最大不超CTU尺寸);
  • 深度上限:划分深度受标准限制,防止产生不可解码的碎片。

第三层:叶子即CU。划分树叶子上挂的就是CU——预测与残差编码的基本单位。VVC相对HEVC的一处重要简化在这里:CU内部直接用语法描述预测划分与变换划分,不再有独立实体化的PU和TU(1.2节术语表提过这一点)。

一棵划分树的推演(128x128 CTU 覆盖"桌面+横向文件边缘"场景): CTU 128x128 ├─ QT split → 4 个 64x64 │ ├─ 64x64 [左上:墙面平坦] → QT split │ │ ├─ 32x32 → QT split → 4 个 16x16 → CU(平坦,小块帧内DC即可) │ │ └─ 32x32 → CU │ ├─ 64x64 [右上:含文档横向边缘] → 转MTT │ │ ├─ 水平BT → 64x32(上:桌面)+ 64x32(下:文档区) │ │ │ └─ 下 64x32 → 水平BT → 64x16 + 64x16 → CU(贴边细条) │ │ └─ (BT后禁止TT的规则在此生效) │ ├─ 64x64 [左下:键盘纹理] → QT split 一次 → 4 个 32x32 → CU │ └─ 64x64 [右下:细横线阴影] → 转MTT → 垂直BT │ └─ 32x64 + 32x64 → 右块再垂直TT → 10x64 + 12x64 + 10x64 │ (三分块精确包住三条阴影带)

这棵树说明了QTMT的全部性格:平坦区域走QT快速收兵(语法省);边缘区域转MTT顺着结构切;规则条纹用TT一刀三段。编码器的任务是在率失真意义下搜出这棵树——这也是VVC编码复杂度爆炸的第一源头(第9.3节展开)。

划分约束:自由的安全绳

没有约束的自由会毁掉解码器,标准文本里布满了"刹车片":

约束 规则要点 存在理由
最小亮度块 不小于4×4,且部分组合限制到4×8/8×4 更小块的划分标志与残差信令比省下的残差还贵
BT/TT互斥 用过TT的子树禁用TT 控制划分组合数,保护编码搜索与硬件实现
TT居中限制 三分中的居中块尺寸有独立下限 防止产生"两极宽中间针尖"的病态块
色度跟随 色度块尺寸为对应亮度块一半(4:2:0下) 保持色度划分语法简单
边界对齐 划分不得跨越某些硬边界(条带/VPDU) 保证并行解码单元间无依赖泄漏

这些约束每一件都对应着第9.3节里的一笔硬件账。标准制定时,划分自由度与实现代价的拉锯战持续了整个标准化周期——最终的QTMT是两边都能接受的成交价。

细长条块的收益从哪来

用一个可复算的思维实验收束本节。设想一段"演示文稿滚动"的屏幕内容:整屏背景恒定,只有一行文字从下往上移动。

  • 方形块策略(HEVC式):文字行横穿多个16×16方块,每个方块都同时含有"动"与"不动"两种像素,帧间预测残差不为零,数十个块都要传残差;
  • 细长条策略(VVC):一个128×8的横条CU恰好罩住文字行,整条统一运动矢量搬运,残差几乎全零,几个比特即可收工。

图解:同一内容的两种裁法

图解:同一内容的两种裁法

💡 一个反直觉的事实:VVC允许的4×16、16×4这类极端长条块,单独看几乎不会出现在自然视频的最优划分里,但在屏幕内容(文字行、表格线、代码高亮条)里命中率极高——这正是第7章SCC工具与QTMT的配合关系。工具集不是孤立卖点,是成套的班组作战。

一问一答:编码器怎么在划分树上"聪明地偷懒"

exhaustive搜索最优划分树在算力上不可行,生产编码器的剪枝手艺决定了速度档的差距(9.3节伏笔)。公开可见的三板斧:粗筛——先按像素统计(方差、边缘密度)预判区域复杂度,平坦区直接锁死浅划分;早停——RD代价随划分加深单调恶化时停止下探(叶子代价已高于父块就不递归);复用——相邻CTU的划分树作为搜索起点(空间相关性的又一 exploitation)。理解这三招,你就能读懂编码器文档里"快档效率略降"到底降在哪里——降的就是剪枝的激进程度。

本节要点回顾

  • QTMT是两种树的接力:QT打底省语法,MTT(BT/TT)接力贴内容,叶子即CU;
  • 细长条块是QTMT的招牌:用几比特划分标志换一整片归零残差,屏幕内容上收益最大;
  • 约束是自由的安全绳:最小尺寸、BT/TT互斥、深度上限,每一件都对应硬件实现代价;
  • PU/TU实体取消:VVC把预测与变换划分收进CU内部语法,术语更少、决策更耦合;
  • 复杂度代价埋下伏笔:划分搜索是编码复杂度的第一来源,第9.3节正式算账。

作者与出处
原作者: 灏天文库
来源:灏天文库
整理: 灏天文库整理
由灏天文库平台收录,内容或由平台用户上传,仅供学习交流
发布者: 作者: 灏天文库 转发
评论区 (0)
U