Block Partition,Video Coding 的基础。
H.264
- macroblock 16x16, 在一个MB内划分PU, TU
- I macroblock(intra)
- PB: luma 4x4, 16x16; chroma: 16x16
- P/B macroblock(inter)
- PB: 2Nx2N, Nx2N, 2NxN, NxN
- PB: 2Nx2N, Nx2N, 2NxN, NxN
- TB within an MB: 4x4 DCT2; 8x8 DCT2 in FRExt
- I macroblock(intra)
H.265
CTU: 64X64 —-quad-tree—-> CU: 8x8, 16x16, … 64x64
CU —> PU
- intra: 2Nx2N, NxN(N=4, 8, 16, 32)
- inter: 2Nx2N, Nx2N, 2NxN, NxN, AMP
CU —-Residual quad tree—-> TU
- 4x4, 8x8, 16x16, 32x32 DCT-2
- 4x4 DST-7 for intra 4x4 luma block
H.266
CTU 128x128 ——QT + MTT(multi-type-tree)—-> CU: 8x8, 16x16, … 128x128
CU划分灵活,取消PU
- CU —->TU(取消RQT划分)
- ISP(intra subpartition)
- SBT(sub-block transform)
CTU —> CU
QT-MTT
划分中止条件(VVC):划分到最小 CU 块;达到规定的最大二级树的划分深度
AV1 划分实质上是 QT+MTT,MTT最大划分到两次。(少于QT+MTT,MTT depth2,故划分上AV1灵活性不如 VVC)
split syntax
首先确定五种划分模式中哪些可用(复杂)
- example: allow quad-split
CST(VVC only)
for I slice, chroma的划分可以与luma不同。
- intra 中 chroma 通常比 luma 简单可以划分成更少的块
CCLM技术: 用 luma 的重建信号预测 chroma,luma 预测质量高,没必要划分成更小的块
other improvements
redundancy removal
图像边界强制划分
CU —> TU
ISP(a.k.a SDIP) for intra CU
- all luma CU 可以被划分为2个或4个预测模式相同的 TU
- chroma 不划分,残差较小,用大的变换效率较高
- 出于硬件复杂度考虑,luma TB 必须至少包含16个像素
SBT for inter CU
- motivation:多数inter情况下,残差只出现在块的一侧
- CU划分为两个sub-TU:一部分为残差,另一部分强制不传
硬件实现考虑
- VPDU 以64x64节点为单位处理,不能出现跨多个节点的单元
- local dual tree 可能出现少于16个像素的chroma块
- intra:luma继续划分,chroma停止划分
- inter:不存在该问题