Кодек 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).
Видеоконференции
- Skype, Zoom, Microsoft Teams, Cisco Webex.
Мобильные устройства
- Все современные смартфоны и планшеты поддерживают аппаратное декодирование 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 →