Coding Tree Units
Coding Tree Units (CTU, блоки кодового дерева) — это базовые структурные единицы разбиения видеокадра в стандартах сжатия видео H.265/HEVC (High Efficiency Video Coding) и последующих (H.266/VVC). CTU представляют собой квадратные блоки пикселей фиксированного или переменного размера, на которые делится исходное изображение перед кодированием. Размер CTU может варьироваться от 16×16 до 64×64 пикселей в HEVC и до 128×128 в VVC, что позволяет эффективно адаптировать кодирование к различным типам видеоконтента.
История и развитие
Концепция CTU была впервые введена в стандарте H.265/HEVC, разработанном совместной группой экспертов по видео (JCT-VC) в 2013 году. До этого в стандарте H.264/AVC использовались макроблоки фиксированного размера 16×16 пикселей, что ограничивало возможности сжатия, особенно для высокоразрешающего видео (4K, 8K). Переход к CTU позволил значительно повысить эффективность кодирования за счёт более гибкого разбиения кадра на блоки разного размера.
В последующем стандарте H.266/VVC (2020 год) размер CTU был увеличен до 128×128 пикселей, что дало дополнительный прирост в сжатии, особенно для сцен с большими однородными областями. Развитие CTU также связано с появлением новых методов разбиения, таких как квадродерево (quadtree) и мультитиповое дерево (multi-type tree), которые позволяют дробить CTU на более мелкие блоки (Coding Units, CU) для детальной обработки сложных участков.
Структура и классификация
CTU являются корневыми элементами иерархической структуры разбиения кадра. Каждый CTU может быть рекурсивно разделён на более мелкие единицы, которые классифицируются по функциональному назначению:
- Coding Unit (CU, единица кодирования) — базовый блок, для которого выбирается режим кодирования (внутрикадровый или межкадровый). Размер CU может варьироваться от размера CTU до 8×8 пикселей.
- Prediction Unit (PU, единица предсказания) — блок, в котором применяются методы предсказания (интра- или интер-предсказание). PU может быть меньше или равен CU, но не превышать его.
- Transform Unit (TU, единица преобразования) — блок, к которому применяются дискретные косинусные или синусные преобразования (DCT/DST) для перехода в частотную область. Размер TU обычно совпадает с размером PU, но может быть меньше.
В стандарте HEVC разбиение CTU осуществляется по принципу квадродерева: каждый CTU делится на четыре равных квадратных блока, которые могут быть разделены далее. В VVC добавлена возможность мультитипового дерева, позволяющего делить блоки не только на квадраты, но и на прямоугольники (например, вертикальное или горизонтальное деление пополам).
Устройство и характеристики
Каждый CTU содержит информацию о яркости (Y) и цветности (Cb, Cr) для соответствующей области кадра. В цветовых субдискретизациях, таких как 4:2:0, размер блоков цветности в два раза меньше по каждому измерению, чем блоков яркости. Например, для CTU 64×64 пикселей блоки цветности будут иметь размер 32×32 пикселя.
Основные характеристики CTU:
- Размер: от 16×16 до 128×128 пикселей.
- Иерархическая глубина: максимальная глубина разбиения (например, 4 уровня в HEVC, что даёт минимальный CU 8×8).
- Режимы кодирования: внутрикадровое (I-кадры) или межкадровое (P- и B-кадры) предсказание.
- Параметры квантования: для каждого CTU может быть задан свой уровень квантования (QP), что позволяет адаптировать качество к локальным особенностям изображения.
Применение
CTU используются во всех современных видеокодеках, основанных на стандартах HEVC и VVC. Основные области применения:
- Потоковое видео: сервисы, такие как YouTube, Netflix, Vimeo, используют HEVC для сжатия видео 4K и 8K, где CTU обеспечивают высокую степень сжатия без потери качества.
- Телевещание: стандарты DVB (Digital Video Broadcasting) поддерживают HEVC для передачи видео высокой чёткости (HD) и сверхвысокой чёткости (UHD).
- Видеоконференции: приложения, такие как Zoom, Microsoft Teams, Webex, применяют HEVC для снижения битрейта при сохранении качества изображения.
- Видеонаблюдение: системы IP-камер и видеорегистраторы используют кодеки с CTU для эффективного хранения и передачи видеопотоков.
- Медицинская визуализация: сжатие рентгеновских снимков, МРТ и КТ-изображений с высоким разрешением.
Примеры
В практической реализации кодирования видео с использованием CTU можно выделить следующие сценарии:
- Кодирование статичной сцены: для однородного фона (например, неба или стены) CTU может оставаться неразделённым, что снижает количество служебных данных.
- Кодирование сложной текстуры: для участков с мелкими деталями (например, листва деревьев) CTU разбивается на мелкие CU (8×8 или 16×16), что позволяет точнее передать текстуру.
- Кодирование движения: при быстром движении объектов (например, автомобиль) CTU может быть разделён на прямоугольные PU для более точного предсказания движения.
Интересные факты
- В стандарте HEVC максимальный размер CTU (64×64) в 16 раз больше, чем макроблок в H.264 (16×16), что позволяет сократить количество служебных заголовков на 75% при кодировании видео высокого разрешения.
- В VVC размер CTU увеличен до 128×128, что даёт дополнительный прирост сжатия примерно на 10–15% по сравнению с HEVC.
- Алгоритм разбиения CTU является одной из самых вычислительно затратных частей кодирования, поэтому в аппаратных реализациях (например, в видеокартах и мобильных процессорах) используются специализированные блоки для ускорения этого процесса.
Критика
Несмотря на высокую эффективность, CTU имеют ряд недостатков:
- Вычислительная сложность: рекурсивное разбиение и выбор оптимального режима для каждого CU требуют значительных вычислительных ресурсов, что увеличивает время кодирования.
- Проблемы с параллелизацией: из-за иерархической структуры разбиения сложно эффективно распараллелить процесс кодирования на многоядерных процессорах.
- Артефакты на границах блоков: при низких битрейтах на границах CTU могут возникать видимые артефакты (например, «блочность»), которые требуют применения дополнительных фильтров (дебликинг-фильтр).
Источники
- ITU-T H.265 (V4) (10/2022): High Efficiency Video Coding
- ITU-T H.266 (V1) (11/2021): Versatile Video Coding
- Sullivan, G. J., Ohm, J. R., Han, W. J., & Wiegand, T. (2012). Overview of the High Efficiency Video Coding (HEVC) Standard. IEEE Transactions on Circuits and Systems for Video Technology, 22(12), 1649–1668.
- Bross, B., Chen, J., Ohm, J. R., Sullivan, G. J., & Wang, Y. K. (2020). Versatile Video Coding (VVC) – Part 1: Overview. IEEE Transactions on Circuits and Systems for Video Technology, 30(10), 3306–3328.
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →