Термин
CTU (Coding Tree Unit)
Базовая единица кодирования HEVC, до 64×64, рекурсивно разбиваемая на меньшие CU через quadtree – гораздо гибче, чем фиксированные 16×16 MB H.264.
CTU – Coding Tree Unit – основной «кусок» пикселей, с которым работает HEVC, по аналогии с тем как JPEG работает с квадратами 8×8. Принципиальный сдвиг: CTU может быть размером до 64×64 пикселей, в четыре раза больше фиксированного 16×16-макроблока в H.264. Дальше энкодер рекурсивно режет каждый CTU на меньшие части – 32×32, 16×16 и вплоть до 8×8 или 4×4 – там, где картинке нужна более тонкая детализация.
Зачем это нужно: большие плоские области (небо, стены, размытый фон) теперь кодируются одним 64×64-блоком вместо шестнадцати 16×16-макроблоков. Меньше заголовков, меньше mode-decision-вычислений, более компактный bitstream. И наоборот, мелкие детали (глаза, волосы, текст-оверлеи) могут кодироваться крошечными 4×4-блоками для точности. Уровень разбиения выбирается per region через `rdo` (rate-distortion optimisation) – энкодер пробует разные разбиения и оставляет то, у которого лучший trade-off «качество vs размер». Эта адаптивная нарезка – большой кусок ~50 %-ного выигрыша HEVC над H.264.
Та же идея, развитая дальше, даёт AV1 его superblock размером 128×128 с ещё более гибкими неквадратными разбиениями, а VVC – ещё больший CTU с прямоугольными partition. Для нетехнической продуктовой команды это никак не меняет workflow – всё происходит внутри кодека, – но объясняет, почему каждое поколение кодека требует больше вычислений на кодирование и почему аппаратные энкодеры специально афишируют поддерживаемый размер CTU.
Считаете параметры для своего продукта?
Поможем собрать энкодер-леддер и посчитать стоимость доставки – до старта разработки.