Термин

Quadtree-разбиение

Короткое определение

Рекурсивное деление единицы кодирования на четыре равных квадрата. Используется в HEVC; AV1 расширяет прямоугольными разбиениями.

Quadtree partitioning – техника HEVC и схожих кодеков для рекурсивного разбиения больших блоков на меньшие. Стартуем с CTU 64×64. Энкодер спрашивает: «лучше закодировать этот CTU одним большим блоком или разбить на четыре под-блока 32×32?» Если разбили, каждый 32×32-под-блок рекурсивно встаёт перед тем же вопросом: разбить на четыре 16×16 или оставить целым? Рекурсия идёт вниз до 8×8 или 4×4. Финальный паттерн – quadtree, где у каждого узла либо ноль, либо четыре потомка – и он представляет content-adaptive разбиение кадра энкодером.

Выгода – detail-aware кодирование. Большие плоские регионы (небо, стены, размытый фон) остаются единым 64×64-блоком – минимум заголовочного overhead, эффективное преобразование, сжимается почти до ничего. Детализированные регионы (глаза, волосы, текст) дробятся на много крошечных 4×4 или 8×8-блоков – больше overhead на блок, но точная передача деталей там, где смотрит глаз. Энкодер выбирает уровень разбиения per region через `rdo` (rate-distortion optimisation) – пробует разные splits и оставляет тот, что даёт лучший trade-off «качество vs размер».

Для продуктовой команды quadtree partitioning – невидимая сантехника, объясняющая большую часть выигрыша HEVC по эффективности над H.264. У H.264 были фиксированные 16×16 макроблоки; quadtree HEVC дробится до того, что требует контент, и одна эта гибкость даёт ~15–20 % выигрыша. AV1 расширяет quadtree non-square разбиениями (блок 64×64 может разбиться на два прямоугольника 32×64 вместо четырёх квадратов 32×32), а VVC идёт ещё дальше. Каждый уровень гибкости стоит вычислений на стороне энкодера, но экономит биты в bitstream.

Считаете параметры для своего продукта?

Поможем собрать энкодер-леддер и посчитать стоимость доставки – до старта разработки.