解码端最上层函数在之前的学习中已经讲过,下面我们从帧一级继续向下探索,也算是对整个框架穿个线。这里主要以JVET-O1001为参考,掺入我自己的一部分理解,将整个视频编码的大体框架理清。
1 划分
slice最上层,遍历brick(代码中尚未体现)和各个CTU。随后进行CTU级别的操作。最后进行最后一行或一列的标记及比特对齐。

1、进行CTU的划分:对大于64x64的块,只能进行四叉树划分。
2、在划分过程中,递归调用自身完成对划分方式的读取。
3、对帧内块,可以选择是否进行色度独立划分。
4、先进行几次四叉树划分后,进行二叉树和三叉树的划分。一旦进行二叉树和三叉树的划分时,将不再进行四叉树划分。
5、对帧内块:1)4x16、16x4、8x8的块且进行QT或BT或TT划分; 2)4x8、8x4且进行BT划分;3)4x32、32x4、16x8、8x16的块进行TT划分
6、对帧间块:1) 4x16、16x4、8x8的块进行BT划分;2)4x32、32x4、16x8、8x16的块且TT划分
7、cqtDepth:四叉树的分割深度;mttDepth:多类型多叉树的深度



本文深入解析视频编码的全过程,从CTU划分到帧内、帧间预测,再到变换与残差编码,涵盖MIP模式、merge模式等关键技术,并介绍四叉树、二叉树和三叉树划分策略。
最低0.47元/天 解锁文章
1838

被折叠的 条评论
为什么被折叠?



