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

Кодек — алгоритм сжатия и декомпрессии данных

Кодек (от англ. coder/decoder) — алгоритм или программа, выполняющая кодирование (сжатие) цифровых данных при передаче или сохранении и декомпрессию (раскодирование) при воспроизведении. Термин образован слиянием слов «encoder» и «decoder». Кодеки применяются для видео, аудио, изображений и других типов медиаданных, позволяя существенно уменьшить объём файлов и пропускную способность канала связи при приемлемом качестве.

Принцип работы

Кодек сжимает данные, удаляя избыточность — повторяющуюся или невидимую для восприятия информацию. При воспроизведении декодер восстанавливает сигнал, приближённый к оригиналу. В отличие от формата контейнера (например, MP4, MKV, AVI), который определяет, как данные упакованы и снабжены метаданными, кодек определяет, как именно закодированы сами аудио- или видеоданные.

Классификация

По степени сжатия различают:

  • Кодеки без потерь (lossless) — сжатие обратимое, данные восстанавливаются бит-в-бит. Примеры: FLAC, ALAC, PNG, H.264 в режиме lossless.
  • Кодеки с потерями (lossy) — сжатие необратимое, часть данных отбрасывается необратимо, но достигается гораздо больший коэффициент сжатия. Примеры: MP3, AAC, Opus, H.264/AVC, H.265/HEVC, VP9, AV1.

По типу данных:

ТипКодеки без потерьКодеки с потерями
АудиоFLAC, ALAC, WavPack, APEMP3, AAC, Opus, Vorbis, AC-3
ВидеоFFV1, H.264 losslessH.264/AVC, H.265/HEVC, VP9, AV1
ИзображенияPNG, JPEG 2000 (lossless), WebP losslessJPEG, WebP, AVIF

Основные видеокодеки

H.264 / AVC

Стандарт, разработанный совместно ITU-T и ISO/IEC (группа Joint Video Team) и принятый в 2003 году. На протяжении более чем десятилетия оставался доминирующим стандартом сжатия видео, применялся в Blu-ray, видеостриминге, видеоконференциях. Поддерживается аппаратно практически всеми современными процессорами и видеокартами.

H.265 / HEVC

Принят в 2013 году как преемник H.264. Обеспечивает примерно на 30–50 % лучшее сжатие при том же визуальном качестве, что критично для видео 4K и HDR. Однако лицензирование HEVC остаётся сложным и дорогим из-за большого числа патентных объединений, что сдерживает его распространение.

VP9

Открытый видеокодек, разработанный компанией Google и представленный в 2013 году. Используется в YouTube для доставки видео в разрешениях 4K и выше. Не требует лицензионных отчислений.

AV1

Свободный и открытый кодек, разработанный Альянсом открытых медиа (AOMedia) при участии Google, Mozilla, Apple, Amazon, Netflix, Intel, NVIDIA и других компаний. Финальная версия опубликована в 2018 году. По эффективности сжатия превосходит VP9 и сопоставим с HEVC, при этом полностью свободен от патентных отчислений. Поддерживается в браузерах, YouTube, Netflix, аппаратное декодирование появилось в GPU начиная с поколения NVIDIA RTX 30 и AMD RDNA 2.

VVC / H.266

Стандарт, принятый в 2020 году, обеспечивающий ещё примерно на 25–50 % лучшее сжатие по сравнению с HEVC. Ориентирован на видео 8K и HDR. Лицензирование остаётся сложным.

Основные аудиокодеки

MP3 (MPEG-1/2 Audio Layer III)

Стандарт 1990-х годов, ставший синонимом цифровой музыки. Использует психоакустическую модель: сигналы, неслышимые человеческим ухом из-за эффекта маскировки, отбрасываются. Файлы MP3 с битрейтом 128–320 кбит/с обеспечивают приемлемое качество при малом объёме.

AAC

Разработан как преемник MP3, принят в 1997 году. При сопоставимом качестве обеспечивает лучшее сжатие. Используется в iTunes, YouTube, стриминговых сервисах, формате MP4.

Opus

Свободный кодек, созданный в 2012 году на базе SILK (Skype) и CELT. Универсален: работает в диапазоне битрейтов от 6 до 510 кбит/с, подходит и для речи, и для музыки. Широко применяется в VoIP, Discord, WhatsApp (продукт Meta, признанной экстремистской и запрещённой в РФ), WebRTC.

FLAC

Бесплатный аудиокодек без потерь, разработанный в 2001 году. Сжимает звуковые данные примерно в 2 раза без потери качества. Стандарт де-факто для архивного хранения музыки.

Аппаратные и программные кодеки

Декодирование видео — вычислительная задача, поэтому в процессорах и графических ускорителях реализуются аппаратные декодеры. В Intel технология называется Quick Sync Video, в AMD — VCE/VCN, в NVIDIA — NVDEC/NVENC. Аппаратные кодеки позволяют воспроизводить и кодировать видео с минимальной нагрузкой на CPU и с малым энергопотреблением — это важно для ноутбуков и мобильных устройств.

Программные реализации — FFmpeg, libx264, libx265, libvpx, libaom — обеспечивают максимальную гибкость и качество, но требуют больше вычислительных ресурсов.

Кодеки в России

Российский аналог H.264 — видеокодек ЭкзоМосква (ЭМ), разработанный в рамках национального проекта цифровой экономики. Также разрабатывается кодек ЭМ-НК для сжатия нативных потоков. Цель проекта — обеспечить технологическую независимость в сфере мультимедийного кодирования.

Применение

Кодеки используются повсеместно: видеостриминг (YouTube, VK Видео, KinoPoisk), видеоконференции (Zoom, Microsoft Teams), телевещание (DVB, цифровое эфирное ТВ), хранение медиатек, видеонаблюдение, беспроводная связь. Выбор кодека определяет баланс между качеством, объёмом файла, скоростью кодирования и совместимостью с устройствами.

Источники:

  • RFC 6386 — VP8 Data Format and Decoding Guide
  • ITU-T H.265 (04/2013) — High efficiency video coding
  • ISO/IEC 23008-2 — High Efficiency Video Coding (HEVC)
  • Opus: A Versatile Audio Codec — IETF RFC 7845
  • FLAC — Free Lossless Audio Codec, формальная спецификация
  • AOMedia AV1 Bitstream and Decoding Process Specification
Заметили ошибку или не согласны с информацией в статье? Напишите нам support@bfometr.ru