H.264
H.264 (также известный как MPEG-4 AVC, Advanced Video Coding) — это стандарт сжатия видео, разработанный для эффективного кодирования, передачи и хранения цифрового видеопотока. Он является одним из наиболее распространённых видеоформатов в мире, используемым в широком спектре приложений: от потокового видео в интернете и видеоконференций до телевидения высокой чёткости (HDTV), Blu-ray-дисков и цифровых видеокамер. Стандарт был разработан совместными усилиями Группы экспертов по движущемуся изображению (MPEG) и Группы экспертов по видеокодированию (VCEG) Международного союза электросвязи (ITU-T). Первая версия стандарта была завершена в мае 2003 года.
История и разработка
Предпосылки создания
К началу 2000-х годов существующие стандарты сжатия видео, такие как MPEG-2 и H.263, перестали удовлетворять растущим потребностям рынка. Развитие телевидения высокой чёткости (HDTV), цифрового телевидения и интернет-видео требовало более эффективного сжатия, позволяющего передавать видео высокого качества при ограниченной пропускной способности каналов связи. В ответ на это ITU-T и ISO/IEC объединили усилия, создав Объединённую группу по видео (JVT, Joint Video Team).
Процесс стандартизации
Работа над H.264 началась в 1999 году. Ключевыми целями были:
- Достижение вдвое большей степени сжатия по сравнению с MPEG-2 при том же визуальном качестве.
- Обеспечение гибкости для использования в различных приложениях (от мобильной связи до кинематографа).
- Устойчивость к ошибкам при передаче по ненадёжным каналам (например, в мобильных сетях).
В 2003 году стандарт был официально принят как ITU-T H.264 и ISO/IEC 14496-10 (MPEG-4 Part 10). Впоследствии вышло несколько расширений (FRExt, SVC, MVC), добавивших поддержку профилей высокого качества, масштабируемого видео и многовидового кодирования (например, для 3D-видео).
Технические особенности
H.264 основан на блочно-ориентированном гибридном подходе к кодированию, который сочетает в себе предсказание с компенсацией движения, преобразование и энтропийное кодирование. Ключевые нововведения, обеспечившие его высокую эффективность, включают:
Внутрикадровое предсказание (Intra Prediction)
В отличие от предыдущих стандартов, H.264 позволяет предсказывать значения пикселей в текущем кадре на основе уже закодированных соседних блоков (макроблоков) того же кадра. Это значительно повышает эффективность сжатия для кадров, содержащих однородные области или плавные переходы.
Межкадровое предсказание (Inter Prediction)
Используется для кодирования кадров, которые следуют друг за другом. H.264 поддерживает:
- Векторы движения с переменной точностью: до ¼ пикселя, что позволяет более точно компенсировать движение объектов.
- Множественные опорные кадры: кодер может использовать до 16 ранее закодированных кадров для предсказания текущего, что особенно эффективно при сценах с повторяющимися движениями или затенениями.
- Блочные структуры переменного размера: макроблоки (16×16 пикселей) могут разбиваться на более мелкие блоки (вплоть до 4×4), что позволяет точнее описывать движение на границах объектов.
Преобразование и квантование
Вместо традиционного дискретного косинусного преобразования (ДКП) 8×8, H.264 использует целочисленное преобразование 4×4, которое является приближением ДКП. Это преобразование требует меньше вычислительных ресурсов и не вызывает ошибок округления, характерных для плавающей арифметики. Для профилей высокого качества (High Profile) доступно также преобразование 8×8.
Энтропийное кодирование
H.264 поддерживает два основных метода энтропийного кодирования:
- CAVLC (Context-Adaptive Variable Length Coding): более простой и быстрый метод, использующий таблицы переменной длины, адаптирующиеся к контексту.
- CABAC (Context-Adaptive Binary Arithmetic Coding): более сложный и эффективный метод, обеспечивающий на 10–15% лучшую степень сжатия по сравнению с CAVLC, но требующий больших вычислительных затрат.
Фильтр деблокинга
После кодирования и декодирования блоков применяется адаптивный фильтр, который сглаживает границы между блоками, уменьшая визуальные артефакты (блочность). Это улучшает субъективное качество изображения, особенно при низких битрейтах.
Профили и уровни
Стандарт H.264 определяет наборы профилей (profiles) и уровней (levels), которые описывают возможности кодера и декодера.
Профили
Профиль определяет набор поддерживаемых алгоритмов и инструментов кодирования. Основные профили:
- Baseline Profile (BP): предназначен для приложений с низкой задержкой и ограниченными вычислительными ресурсами (видеоконференции, мобильное видео). Использует CAVLC, поддерживает внутрикадровое и межкадровое предсказание, но не поддерживает B-кадры и CABAC.
- Main Profile (MP): расширенный профиль для телевидения и вещания. Поддерживает B-кадры, CABAC и взвешенное предсказание.
- High Profile (HiP): основной профиль для Blu-ray, HDTV и цифровых камер. Добавляет поддержку преобразования 8×8, адаптивного квантования и дополнительных цветовых пространств.
- High 10 Profile (Hi10P): расширяет High Profile поддержкой 10-битной глубины цвета, что уменьшает полосность (banding) на градиентах.
- High 4:2:2 Profile (Hi422P) и High 4:4:4 Profile (Hi444P): профили для профессионального видеопроизводства, поддерживающие цветовые субдискретизации 4:2:2 и 4:4:4 соответственно, а также до 14 бит на цветовой канал.
Уровни
Уровень (level) накладывает ограничения на параметры видеопотока, такие как разрешение, частота кадров и битрейт. Например, Level 3.0 поддерживает до 720×480 при 30 кадрах/с, Level 4.0 — до 1920×1080 при 30 кадрах/с, Level 5.0 — до 3840×2160 при 30 кадрах/с.
Применение
H.264 стал универсальным стандартом, вытеснившим многие предыдущие форматы. Его применение охватывает:
Потоковое видео и интернет
- YouTube, Vimeo, Twitch: большинство видеороликов на этих платформах закодировано в H.264.
- Видеоконференции: Skype, Zoom, Microsoft Teams и другие сервисы используют H.264 (часто в профиле Baseline) для обеспечения низкой задержки.
- IPTV и OTT-сервисы: Netflix, Amazon Prime Video, «Кинопоиск» (в России) и другие стриминговые сервисы используют H.264 в качестве основного кодека для совместимости с широким спектром устройств.
Вещание и хранение
- Цифровое телевидение: стандарты DVB (Digital Video Broadcasting) и ATSC (Advanced Television Systems Committee) поддерживают H.264 для передачи HDTV.
- Blu-ray: H.264 является одним из трёх обязательных кодеков для Blu-ray-дисков (наряду с MPEG-2 и VC-1).
- Видеокамеры: многие цифровые камеры, зеркальные фотоаппараты и экшн-камеры (например, GoPro) записывают видео в формате H.264.
Мобильные устройства
Благодаря поддержке на аппаратном уровне (встроенные декодеры в процессорах), H.264 обеспечивает эффективное воспроизведение видео на смартфонах и планшетах с минимальным энергопотреблением.
Преимущества и недостатки
Преимущества
- Высокая степень сжатия: позволяет передавать видео высокого качества при низких битрейтах, что экономит пропускную способность и место на диске.
- Широкая совместимость: поддерживается практически всеми современными устройствами, операционными системами и браузерами.
- Аппаратное ускорение: большинство графических процессоров (GPU) и процессоров (CPU) имеют встроенные блоки для декодирования H.264, что снижает нагрузку на центральный процессор.
- Гибкость: множество профилей и уровней позволяют адаптировать кодек под различные задачи.
Недостатки
- Патенты и лицензирование: H.264 является запатентованным стандартом, что приводит к лицензионным отчислениям для производителей оборудования и программного обеспечения. Это стимулировало развитие свободных альтернатив, таких как VP9 и AV1.
- Возраст: по сравнению с более новыми кодеками (HEVC, AV1, AVS3), H.264 уступает в эффективности сжатия (на 30–50%).
- Вычислительная сложность: кодирование в H.264 (особенно с использованием CABAC) требует значительных вычислительных ресурсов, хотя декодирование оптимизировано.
Критика и альтернативы
Основная критика H.264 связана с его патентной защитой. Патентный пул MPEG LA, управляющий лицензированием, взимает плату с производителей, что создаёт барьеры для распространения открытого ПО. Это привело к появлению свободных кодеков, таких как VP8 (Google) и VP9 (Google), которые не требуют лицензионных отчислений. В 2013 году был разработан стандарт H.265/HEVC (High Efficiency Video Coding), обеспечивающий вдвое лучшее сжатие по сравнению с H.264, но также обременённый патентами. В ответ на это был создан открытый кодек AV1 (Alliance for Open Media), который на 2024 год является наиболее перспективной альтернативой, хотя и требует больших вычислительных ресурсов для кодирования.
Статус в России
В Российской Федерации H.264 широко используется в телевещании (цифровое эфирное телевидение DVB-T2), стриминговых сервисах и видеонаблюдении. Каких-либо ограничений на использование данного стандарта в России не введено. Альтернативные кодеки, такие как H.265/HEVC, также применяются, но их распространение сдерживается патентными спорами и более высокими требованиями к оборудованию.
Источники
- ITU-T Recommendation H.264: Advanced video coding for generic audiovisual services.
- ISO/IEC 14496-10: Information technology — Coding of audio-visual objects — Part 10: Advanced Video Coding.
- Richardson, I. E. G. (2003). H.264 and MPEG-4 Video Compression: Video Coding for Next-generation Multimedia. John Wiley & Sons.
- 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.
- Официальные материалы MPEG LA (патентный пул).
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →