Открыть сервис

Кодек H.264

H.264 (также известный как MPEG-4 Part 10, Advanced Video Coding, AVC) — это стандарт сжатия видео, разработанный для эффективного кодирования, передачи и хранения цифрового видеоконтента. Он относится к классу гибридных видеокодеков, основанных на блочном преобразовании и компенсации движения. H.264 обеспечивает значительно более высокую степень сжатия (в 2–3 раза) по сравнению с предшественниками (например, MPEG-2) при сохранении сопоставимого визуального качества, что сделало его одним из наиболее распространённых видеоформатов в мире.

История создания

Разработка H.264 началась в 1999 году в рамках совместной деятельности двух международных организаций: Группы экспертов по кинематографии (MPEG) и Группы экспертов по видеокодированию (VCEG) Международного союза электросвязи (ITU-T). Первоначально проект назывался H.26L (Long-term) и ставил целью создание кодека с высокой степенью сжатия для широкого спектра применений — от видеоконференций до телевидения высокой чёткости (HDTV).

В 2003 году стандарт был официально утверждён как ITU-T H.264 и ISO/IEC 14496-10 (MPEG-4 Part 10). Первая версия спецификации включала три профиля: Baseline, Main и Extended. В последующие годы были добавлены расширенные профили (High, High 10, High 4:2:2, High 4:4:4), а также версии для масштабируемого (SVC) и многовидового (MVC) кодирования.

Технические принципы

H.264 использует гибридную архитектуру, сочетающую пространственное и временное предсказание, дискретное косинусное преобразование (DCT) и энтропийное кодирование.

Макроблоки и блоки

Изображение разбивается на макроблоки размером 16×16 пикселей. Каждый макроблок может быть разделён на меньшие блоки для компенсации движения (от 4×4 до 16×16) и для трансформации (4×4 или 8×8). Это позволяет точнее обрабатывать детали и движение.

Внутрикадровое (Intra) кодирование

Для I-кадров (ключевых кадров) используется предсказание внутри одного кадра: пиксели блока предсказываются по соседним уже закодированным пикселям. H.264 поддерживает 9 режимов предсказания для блоков 4×4 и 4 режима для блоков 16×16.

Межкадровое (Inter) кодирование

Для P- и B-кадров используется компенсация движения: блоки предсказываются из предыдущих или будущих кадров (опорных). H.264 поддерживает четвертьпиксельную точность векторов движения, что улучшает качество предсказания. Для B-кадров возможно использование двух опорных кадров (би-предсказание).

Преобразование и квантование

После предсказания остаточный сигнал (разница между оригиналом и предсказанием) подвергается дискретному косинусному преобразованию (DCT) с размером блока 4×4 или 8×8. Коэффициенты преобразования квантуются — это основной источник потерь качества. Степень квантования регулируется параметром Quantization Parameter (QP): чем меньше QP, тем выше качество и больше битрейт.

Энтропийное кодирование

Для сжатия квантованных коэффициентов и служебной информации используются два метода:

  • Context-Adaptive Variable Length Coding (CAVLC) — более простой, но менее эффективный метод.
  • Context-Adaptive Binary Arithmetic Coding (CABAC) — более сложный, но обеспечивает на 10–15% лучшее сжатие, особенно при высоких битрейтах.

Фильтр деблокинга

После декодирования каждого макроблока применяется адаптивный фильтр деблокинга, который сглаживает артефакты на границах блоков, улучшая визуальное качество.

Профили и уровни

Стандарт H.264 определяет несколько профилей, каждый из которых включает набор инструментов кодирования, ориентированных на определённые применения:

  • Baseline Profile — минимальный набор: I- и P-кадры, CAVLC, без B-кадров. Используется в видеоконференциях и мобильных устройствах.
  • Main Profile — добавляет B-кадры, CABAC, взвешенное предсказание. Применялся в стандартном телевидении (SDTV).
  • High Profile — добавляет 8×8 DCT, масштабируемое квантование, фильтр деблокинга. Используется в HDTV, Blu-ray, видеохостингах.
  • High 10 Profile — поддерживает глубину цвета до 10 бит на канал.
  • High 4:2:2 Profile — поддерживает цветовую субдискретизацию 4:2:2.
  • High 4:4:4 Profile — поддерживает 4:4:4 и без потерь.

Уровни (Levels) ограничивают максимальные параметры: разрешение, частоту кадров, битрейт. Например, Level 4.0 поддерживает 1080p при 30 кадрах/с, Level 5.1 — 4K (4096×2304) при 30 кадрах/с.

Применение

H.264 стал универсальным стандартом для цифрового видео благодаря балансу между качеством и сжатием.

Телевидение и видеотрансляции

  • Цифровое телевидение (DVB, ATSC, ISDB).
  • Спутниковое телевидение (DirecTV, Dish Network).
  • IPTV и OTT-сервисы (IPTV-приставки, Smart TV).

Интернет-видео

  • Видеохостинги: YouTube, Vimeo, Dailymotion (до перехода на VP9 и AV1).
  • Социальные сети: Facebook (организация Meta признана экстремистской и запрещена в РФ), ВКонтакте, Одноклассники.
  • Стриминговые сервисы: Netflix, Amazon Prime Video (используют H.264 для совместимости с устройствами).

Запись и хранение

  • Blu-ray Disc (видео высокой чёткости).
  • Цифровые видеокамеры (DSLR, экшн-камеры).
  • Системы видеонаблюдения (DVR, NVR).

Видеоконференции

Мобильные устройства

  • Все современные смартфоны и планшеты поддерживают аппаратное декодирование H.264.

Сравнение с другими кодеками

H.264 vs MPEG-2

H.264 обеспечивает вдвое лучшее сжатие при том же качестве. MPEG-2 использовался в DVD и цифровом телевидении, но устарел.

H.264 vs H.265 (HEVC)

H.265 (High Efficiency Video Coding) — преемник H.264, обеспечивающий на 30–50% лучшее сжатие, но требующий больше вычислительных ресурсов. H.264 остаётся более совместимым с устройствами.

H.264 vs VP9

VP9 (разработка Google) — открытый кодек, используемый в YouTube и Chrome. При одинаковом битрейте VP9 часто даёт лучшее качество, но H.264 имеет более широкую аппаратную поддержку.

H.264 vs AV1

AV1 (разработка Alliance for Open Media) — современный открытый кодек, обеспечивающий на 30–40% лучшее сжатие, чем H.264. Однако его кодирование требует значительно больше ресурсов.

Лицензирование и патенты

H.264 является запатентованным стандартом. Патенты на технологии, используемые в H.264, принадлежат нескольким компаниям, включая MPEG LA, HEVC Advance, Via Licensing. Для коммерческого использования (например, в кодировщиках, плеерах, устройствах) требуется лицензирование. Для конечных пользователей (просмотр видео) лицензирование не требуется.

В 2020 году MPEG LA объявила о прекращении сбора роялти за H.264 для интернет-видео, что сделало кодек бесплатным для большинства онлайн-применений.

Интересные факты

  • H.264 используется в 90% всех видео в интернете (по данным на 2020 год).
  • Кодек поддерживает разрешение до 8K (8192×4320) при 30 кадрах/с (Level 6.2).
  • Алгоритм CABAC был разработан в 2000-х годах и стал одним из ключевых нововведений H.264.
  • H.264 лёг в основу стандарта Blu-ray для видео высокой чёткости.
  • В России H.264 широко применяется в цифровом телевидении (DVB-T2) и системах видеонаблюдения.

Источники

  • ITU-T Recommendation H.264 (03/2010) — Advanced video coding for generic audiovisual services.
  • ISO/IEC 14496-10:2014 — Information technology — Coding of audio-visual objects — Part 10: Advanced Video Coding.
  • Richardson, I. E. G. (2004). H.264 and MPEG-4 Video Compression: Video Coding for Next-generation Multimedia. Wiley.
  • Wiegand, T., Sullivan, G. J., Bjontegaard, G., & Luthra, A. (2003). Overview of the H.264/AVC video coding standard. IEEE Transactions on Circuits and Systems for Video Technology, 13(7), 560–576.
  • MPEG LA — H.264/AVC Patent Portfolio License.

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →