Видеокодек (Fn;yktk;yt)
Видеокодек — программа / алгоритм сжатия (то есть уменьшения размера) видеоданных (видеофайла, видеопотока) и восстановления сжатых данных. Кодек — файл-формула, которая определяет, каким образом можно «упаковать» видеоконтент и, соответственно, воспроизвести видео. Также возможно кодирование видео- и аудиоинформации, добавление субтитров, векторных эффектов и т. п.
Принцип работы простейшего кодека
[править | править код]Сперва рассмотрим кодирование статического изображения (или, одиночного кадра). Каждый кодируемый кадр видеопотока состоит из точек (пикселей), образующих матрицу (растр). Кодек может отслеживать похожие массивы точек с одинаковыми атрибутами (например, синий цвет фона на изображении неба) и, вместо того, чтобы запоминать информацию о каждой точке (яркость и цвет) в следующих кадрах отдельно, записать лишь первую (ключевую) точку и счётчик с количеством повторений этой точки до момента изменения цвета данной точки. То есть вместо описания, например, 1000 точек, может оказаться достаточно описать всего 1 точку + счётчик повторения. Качеством здесь можно управлять, задавая величину, такую, что если отличие между точками меньше, то они считаются одинаковыми. Это самый простой из методов сжатия.
В JPEG для кадра производится поблочное дискретное косинусное преобразование с последующим кодированием с использованием алгоритма Хаффмана или арифметического кодирования.
Для построения динамического изображения (видеоряда) используются различные типы кадров — кроме I-кадров (которые также называются ключевыми (англ. keyframes) или «опорными») которые могут содержать только независимо сжатые макроблоки, добавленные P-кадры («разностные» кадры) могут содержать как независимо сжатые макроблоки, так и макроблоки со ссылкой на другой кадр.
Более продвинутые форматы сжатия учитывают, кроме вышеупомянутой технологии, ещё и принципы движения массивов точек в изображении, сегментирование картинки на «квадратики» с различным качеством сжатия, применение последовательности кадров, кодированных по-разному и показанных в определённой последовательности. Самые новые кодеки учитывают психофизические свойства восприятия видео человеческим глазом и мозгом, что позволяет ещё сильнее уменьшать размер данных без «видимой потери качества».
Также, алгоритмы используют похожесть соседних кадров в видеоряде.
Известные кодеки
[править | править код]- H.264 (AVC) — проприетарный кодек.
- H.265 (HEVC) — проприетарный кодек.
- H.266 (VVC) — проприетарный кодек.
- VP8 — свободный видеокодек, разработанный Google
- VP9 — свободный видеокодек, разработанный Google
- AV1
- Theora — свободный видеокодек, разработанный Фондом Xiph.Org.
- Daala — свободный формат сжатия видео и референсный видеокодек, разрабатываемые в Xiph.Org
- DivX — проприетарный кодек.
- Xvid — свободная альтернатива DivX.
См. также
[править | править код]Для улучшения этой статьи желательно:
|