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

Самая большая единица кодирования AV1, 128×128. Рекурсивно разбивается для prediction и transform.

Superblock – самая большая единица кодирования AV1: блок 128×128 пикселей, который энкодер может рекурсивно разбивать на меньшие куски вплоть до 4×4. Это AV1-эквивалент HEVC-`ctu` (у которого потолок 64×64), и переход с 64×64 на 128×128 позволяет AV1 покрывать большие плоские регионы кадра (небо, стены, размытый фон) одним блоком с минимальным заголовочным overhead.

Бо́льший размер значит больше, чем звучит. 4K-кадр содержит 510 superblock'ов 128×128 против 2 040 CTU 64×64, если бы это был HEVC. Каждый блок несёт некоторый фиксированный заголовочный overhead, поэтому «меньше, но больше» блоков экономит биты, когда контент простой. Для сложного контента энкодер разбивает superblock вниз через гибкое partition-дерево – поддерживая не только 4 равных квадранта как `quadtree` в HEVC, но и прямоугольные splits (128×128 может стать двумя 64×128, или четырьмя 32×128 и т. д.). Эта non-square-гибкость захватывает форму реальных визуальных объектов (линия горизонта, вертикальная колонна, широкий баннер) естественнее, чем чисто квадратные splits HEVC.

Для продуктовой команды superblock – невидимая сантехника, значимо вкладывающаяся в ~30 % преимущество AV1 по сжатию над HEVC. Настраивать нечего – энкодер использует superblock по умолчанию. Минус – сложность энкодера: оценка, какое partitioning применить к каждому региону 128×128, вычислительно дорогая, что и есть часть причины, почему AV1-кодирование (даже на SVT-AV1) в несколько раз медленнее HEVC-кодирования. Это повторяющийся trade-off по поколениям кодеков: больше гибкости разбиения блоков – меньше файлы, но больше вычислений на кодирование.

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

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