Термин

Макроблок (MB)

Англ.: MB
Короткое определение

Единица кодирования 16×16 в H.264 и более ранних кодеках. HEVC заменил её на variable-sized CTU, AV1 – на superblock.

Macroblock – фундаментальная единица кодирования в H.264 и более ранних MPEG-кодеках (MPEG-1, MPEG-2, MPEG-4 Part 2). Каждый кадр делится на регулярную сетку макроблоков всегда размером 16×16 пикселей, и энкодер обрабатывает каждый макроблок как единое решение: выбрать для него режим prediction, преобразовать residual, квантовать, entropy-закодировать, перейти к следующему. Macroblock – ответ эпохи H.264 на вопрос «какой самый маленький кусок видео обрабатывается как одно целое».

Фиксированный размер 16×16 делал H.264 эффективным для реализации в железе и софте, и хорошо работал для SD и раннего HD. Но он стал ограничением по мере роста разрешений. 4K-кадр содержит ~32 000 макроблоков; один 16×16-блок посреди чистого неба несёт почти нет информации, но всё равно имеет свой заголовочный overhead, а 16×16-блок поверх глаза недостаточно гранулярен, чтобы эффективно захватить детали. Единый фиксированный размер приносит компромисс в обе стороны.

Кодеки-преемники решили это, отказавшись от макроблока. HEVC ввёл `ctu` (Coding Tree Units) до 64×64, которые энкодер рекурсивно разбивает там, где требуют детали. У AV1 – superblock 128×128 с той же идеей рекурсивного разбиения плюс прямоугольные splits. Для продуктовой команды macroblock – это в основном исторический контекст для понимания, почему каждое поколение кодеков становилось эффективнее: уход от one-size-fits-all блоков к content-adaptive partitioning – одна из главных причин, по которым HEVC и AV1 обыгрывают H.264 при том же bitrate.

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

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