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

Кодеки, стандарты и форматы кодирования видео

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

Что такое видеокодек

Видеокодек представляет собой часть программного или аппаратного обеспечения. Это файл-формула, осуществляющая процесс уменьшения размера или сжатия видеоданных (файла, потока), а также распаковку (восстановление) сжатых данных, отсюда название прибора — кодек (кодер + декодер). Кодеки также способны добавлять к информации векторные эффекты, субтитры.

Принцип работы кодеков

Все кодированные кадры потока видеоданных состоят из образующих матрицу точек (пикселей). Видеокодек отслеживает похожие группы точек с идентичными характеристиками (например, цвет фона на изображении). Вместо фиксации информации о каждой точке (цвет, яркость), в следующих кадрах программа отдельно записывает только ключевой пиксель, а также счетчик с количеством повторений этого пикселя до момента изменения его цвета. Качество изображения при этом достигается определением такой величины, когда при незначительном различии между точками они считаются идентичными.

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

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

H.264-AVC, MPEG-4 Part 10

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

Характеристики H.264

Данный стандарт универсален, отличается высокой скоростью передачи данных, позволяет управлять степенью сжатия с целью обеспечения соответствия формата требованиям интернет-провайдеров, сайтов, устройств. H. 264 используется в HDTV, а также других сферах цифрового видео.

Преимущества стандарта H.264

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

1. Многокадровое предсказание

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

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

● Автономность способов обработки изображений и возможности их применения для предсказания движения
Новый стандарт гарантирует кодеку большую гибкость с возможностью применения для предсказания движения изображение, по содержанию наиболее близкое к кодируемому, чего не даёт шифрование при помощи предсказания, производимого в двух направлениях.

● Компенсация движения, реализуемая при помощи блока, имеющего переменные размеры (от 16×16 до 4×4 пикселя) обеспечивает высокую точность выделения областей, где происходит движение.

● Векторы движения, способные вывести за границы изображения
Экстраполяция за границы изображения включена в стандарт H. 264 на постоянной основе в отличие от предыдущих стандартов, где векторы указывали только на пиксели, ограниченные декодированным опорным изображением.

● Шеститочечная фильтрация компонента яркости
Функция используется для полупиксельного предсказания и обеспечивает повышенную четкость изображения за счет уменьшения зубчатости краев.

● Точность, доходящая до ¼ пикселя при компенсации движения
Опция гарантирует высокую точность описания областей движения.

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

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

3. Отсутствие потерь при сжатии макроблоков достигается двумя методами
● Метод без потерь в РСМ (импульсно-кодовой модуляции), точно описывающий конкретные области, строго ограничивающий для каждого из макроблоков количество закодированных данных.

● Улучшенный метод без потерь, работает не со всеми профилями. Описывая конкретные области, способ затрачивает гораздо меньше битов, чем РСМ.

4. Гибкие функции чересстрочного сжатия
● Кодировка полей, адаптивное к изображению (PAFF) кодирует каждый кадр как кадр или два полукадра, что зависит от наличия/отсутствия движения;

● Кодировка полей, адаптивная к макроблокам (MBAFF), независимо кодирует каждую пару макроблоков (размера 16×32), расположенных вертикально, как чересстрочные или прогрессивные. С его помощью также возможно использование макроблоков 16×16 с разбиением их на поля.

5. Усовершенствованные функции преобразования
● Прицельное целочисленное преобразование пространственных блоков 4×4 обеспечивает точное размещение различных сигналов с минимумом шума;

● Прицельное целочисленное преобразование блоков 8×8 обеспечивает более эффективное сжатие, чем 4x4;

● Возможность выбора кодеком между 4×4 и 8×8 (не во всех профилях);

● Преобразование Адамара, осуществляемое дополнительно, применяемое к коэффициентам цветности, яркости для достижения наибольшей степени сжатия.

6. Квантование
● Управление длиной шага при помощи логарифмов с целью упрощения распределения битрейта, расчета обратной длины квантования;

● Оптимизированные по частоте матрицы, осуществляющие масштабирование квантования, выбираемые для его оптимизации на основе особенностей восприятия человеком окружающего мира (опция действует не во всех профилях);

● Внутренний фильтр, устраняющий артефакты блочности в процессе кодирования.

7. Энтропийное кодирование квантованных коэффициентов трансформации
● CABAC — происходящий без потерь алгоритм сжатия, разработанный для синтаксических элементов видеопотока, основанный на вероятности их появления;

● CAVLC — менее сложный алгоритм, выступающий альтернативой CABAC;

● Коды Голомба — высоко структурированное кодирование для элементов синтаксиса, не закодированных CAVLC или CABAC.

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

● Flexible Macroblock Ordering/Arbitrary Slice Ordering — отличающиеся гибкостью методы упорядочивания макроблоков в изображениях, повышающие устойчивость к потере данных, снижающие вероятность возникновения задержек;

● Дробление обеспечивает разделение данных, имеющих разную значимость, по пакетам, обладающим различной степенью защиты от ошибок (применимо не ко всем профилям);

● Возможность передачи кодером областей изображений «с запасом», что позволяет воспроизводить те области, данные о которых потерялись при передаче (функция доступна не для всех профилей);

● Присвоение номера каждому кадру позволяет находить и скрывать потери целых кадров при пропаже пакетов или сбоях канала.

Недостатки H.264

Кодеки для данного стандарта требовательны к ресурсам, подлежат обязательному платному лицензированию со стороны производителей.

Профили

Стандарт располагает основными и дополнительными профилями — комплектами возможностей, ориентированными на конкретные группы приложений.

Основные профили включают:

1. Ограниченный базовый (Constrained Baseline Profile)
Применяется в недорогих продуктах. Включает перечень возможностей, общих для High, Main, Baseline-профилей.

2. Базовый (Baseline Profile)
Используется недорогими продуктами (видеоконференции, мобильная связь), которым необходима дополнительная устойчивость к потерям, однако обладает большей стабильностью при передаче, чем ограниченный профиль.

3. Основной (Main Profile)
Предназначен для цифрового ТВ, имеющего стандартную четкость, в трансляциях, где применяется сжатие MPEG-4 со стандартом DVB.

4. Расширенный (Extended Profile)
Используется для потокового видео, отличается дополнительными возможностями, повышающими устойчивость к потере информации, а также относительно высоким уровнем сжатия.

5. Высокий (High Profile)
Ведущий профиль для видео на оптических носителях и цифрового вещания (видеодиски Blue-Ray, DVB HDTV).

6. Высокий 10 (High 10 Profile)
Обладает дополнительной функцией поддержки десятибитовой глубины кодирования.

7. High 4:2:2 Profile (Hi422P)
Поддерживает дополнительный вариант кодировки цветности, профессионально работает с чересстрочным потоком видео.

8. High 4:4:4 Predictive Profile (Hi444PP)
Функционирует на базе High 4:2:2 Profile, дополнен еще одним способом кодировки цветности, поддержкой глубины кодирования 14 бит.

Дополнительные профили, характеризующиеся отсутствием сжатия между кадрами, представлены:
● High 4:2:2 Intra Profile;
● High 10 Intra Profile;
● CAVLC 4:4:4 Intra Profile;
● High 4:4:4 Intra Profile.

SVC (Scalable Video Coding), создавая возможность включения потоков более низкого расширения, обеспечивает выделение трех дополнительных профилей:
● Scalable High Profile;
● Scalable Baseline Profile;
● Scalable High Intra Profile.

Расширение MVC (Multiview Video Coding) также создает два добавочных профиля:
● Stereo High Profile (для стереоскопического видео 3D);
● Multiview High Profile (поддержка двух или нескольких изображений как межканального, так и межкадрового сжатия).

Уровни

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

Патент

В некоторых странах (США, Южная Корея и др) распространены патенты на ПО. Разработчики стандарта H. 264 должны платить лицензионные сборы держателям патентов (например, Microsoft, Panasonic, Apple и др). Всего существует около 100 патентов, описывающих или затрагивающих алгоритмы H. 264. Некоторые из них действительны до 2028 года.
Заказать вещательное оборудование

H.265 — HEVC

Стандарт кодирования с использованием алгоритмов, по эффективности превосходящих H.264.

Преимуществами данного формата выступают:
● Повышение степени сжатия оцифрованного потока видео при сохранении качества его декодированной формы;

● Усиление устойчивости к потерям данных во время передачи;

● Уменьшение задержки для онлайн-приложений (видеоконференции, системы безопасности и т. д);

● Снижение потребления ресурсов при обработке;

● Высокое разрешение (HD формат 4×2 или 8×4);

● Обогащение цветопредставления.

Работа HEVC основана на применении блоков, обладающих древовидной структурой кодирования, размер которых превышает параметры макроблоков H. 264, в чем и заключается преимущество стандарта. Кодирование видео происходит посредством применения внутри- и межкадрового предсказания, а также двухмерного кодирования с последующим преобразованием.

H.266 — VVC

Разработанный как «преемник» HEVC, стандарт обеспечивает высокую эффективность хранения, передачи всех экранных разрешений (HD, SD, 4K, 8K и т. д), осуществляет поддержку видео, имеющего широкий динамический диапазон, панорамное видео, цветовое пространство YCbCr. Недостатком стандарта выступает усложнение алгоритмов.

VP8

Видеокодек, разработанный компанией Google. Обладает новым типом ключевых опорных кадров Golden Frames, высокой устойчивостью к потере пакетов, фильтрацией артефактов, оснащен профилями, оптимизированными для проведения онлайн-конференций.

VP9

Открытый стандарт сжатия видео от Google. Поддерживает суперблоки 32×32 пикселя, цветовую субдискретизацию, канал глубины, несколько цветовых пространств.

VC-1

Стандарт для H-DVD и Blue-Ray, разработанный Microsoft. Поддерживает работу с чересстрочной разверткой, не преобразуя ее в прогрессивную, что позволяет VC-1 функционировать в широковещательных сетях.

AV1

Открытый стандарт для кодирования в сети Интернет, позволяющий уменьшить битрейт на 50% по сравнению с H. 264 и на 30% по сравнению с VP9. Аппаратная поддержка кодека позволяет перенести декодирование с ПО на ГП (графический процессор).

Theora

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

Daala

Формат сжатия свободного вида, разрабатываемый альтернативой HEVC, VP9. Основным алгоритмом выступает один из вариантов lapped transform, где перед DCT-кодированием дополнительно применяется фильтр, обратный фильтру, отвечающему за деблокинг, что обеспечивает высокую эффективность сжатия изображения.

Разница между форматом, кодеком и контейнером

Форматы кодирования описаны в спецификациях, а ПО или оборудование для кодирования/декодирования данных реализуют эти спецификации. Например, формат кодирования H.264 соответствует кодеку OpenH.264 (реализация). Медиаконтейнер представляет собой потоковый формат или формат файла, где спецификации определяют способ презентации данных (а не алгоритм хранения) в пределах одного файла.

Форматы сжатия

Существуют следующие форматы сжатия видео:

Digital Video — DV

Видеоформат, разработанный для цифровой записи. Имеет малый показатель сжатия видеосигнала (5:1), обеспечивает высокое качество съемки. DV обладает большим видеопотоком, давая на выходе большой видеофайл. Полученный файл сжимается до последующего просмотра на различных устройствах (компьютер, DVD-плеер и т. д).

Moving Picture Experts Group — MPEG

Один из ведущих стандартов сжатия видео, включающий следующие разновидности:

● MPEG-1 — используется для компакт-дисков;

● MPEG-2 — формат для цифрового ТВ, DVD-дисков;

● MPEG-3 — для HDTV. Не используется отдельно, поскольку стал частью MPEG-2;

● MPEG-4 (MP4) — отличается относительно высоким качеством видео, поддерживается большинством DVD-плееров.

High Definition — HD

Новый формат, характеризующийся высоким разрешением и четкостью изображения, применяется в двух вариантах: 1280×720 или 1920×1080. Требует специального оборудования (плазменный или ЖК-телевизор, имеющий большую диагональ), в отсутствии которого оценить качество видео будет сложно.

Видеостандарты

Учитываются при создании фильма или видеоролика и представлены несколькими разновидностями:

PAL

Используемый в Европе и России видеостандарт аналогового цветного ТВ. Размер видео составляет 720×576, 25 fps, осуществляется со скоростью 25 кадров/сек.

NTSC

Разработанный в США стандарт аналогового цветного ТВ разрешением 720×480. Скорость воспроизведения видео составляет 29,97 кадров/сек.

VHS

Аналоговый формат записи на видеокассеты.

AVCHD

Современный формат видео, обладающий высокой четкостью. Продвинутое кодирование, используемое в HD-камерах.
Заказать программное обеспечение для вещательного оборудования

Стандарты медиа контейнеров

Медиаконтейнеры представлены такими стандартами, как:

Audio Video Interleave — AVI

Разработанный Microsoft контейнер, где хранятся потоки аудио, видео, текста и midi. Контейнер поддерживает видео, звуки любого формата, а также различное сочетание кодеков. Содержимое контейнера определяется при помощи специальных программ.

MKV

Контейнер, содержащий аудио, видео, меню, субтитры и т. д. Имеет открытый код.

MP4

Часть стандарта MPEG-4, применяется для упаковки цифровых аудио-, видеопотоков, афиш, субтитров, метаданных.

Versioned Object Base — VOB

Расширение контейнера, содержащего несколько видеопотоков (формата MPEG-2), аудио, меню, субтитры.

Flash Video — FLV

Отвечает за размещение, передачу видео в Интернете. Задействован площадками, воспроизводящими видеоклипы (например, YouTube).

MOV

Формат, разработанный Apple Macintosh-QuickTime, помимо видео содержащий анимацию, 3D, графику. Воспроизведение файлов требует установки Quick-Time Player.

TS и M2TS

Контейнеры, сохраняющие видео формата HD. TS применяется цифровым телевидением IPTV, DVB. Не содержит субтитров. M2TS — контейнер стандартного типа для видео Blue Ray, куда могут быть включены аудио-, видеопотоки стандарта BD-ROBD-ROM, субтитры формата PGS.

DivX

Видеокодек, разные варианты которого соответствуют стандартам HEVC (H.265), MPEG-4 part 2, MPEG-4 part 10 (MPEG-4 AVC, H.264).

Xvid

Альтернатива DivX, позволяющая осуществлять сжатие MPEG-4 Part 2‑видео.

Shockwave Flash — SWF

Расширение анимации Adobe Flash, а также видео во flash-формате. Проигрывается при помощи программы Flash Player.

RM, RA, RAM

Стандарты работают в формате RealVideo, используемом при проведении интернет-трансляций.

ПО для обработки цифрового видео

Обработка цифрового видео требует наличия специализированного ПО, куда входят:

Медиаплеер

Программа, осуществляющая декодирование, а также последующее воспроизведение видеофайлов (Winamp, Windows Media Player и т. д)

Конвертор

Программа, преобразующая видеофайлы из одного формата в другой (Total Video Converter и т. д) Мультиформатный конвертор работает с различными типами медиаконтейнеров, узкоспециализированный — с одним.

Видеоредактор

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