H.264
H.264
H.264 (MPEG-4 Part 10 или AVC, Advanced Video Coding) — лицензируемый стандарт компрессии, регламентирующий высокую степень сжатия видео при сохранении качества. Разработан двумя командами, ITU-T Video Coding Experts Group (VCEG) совместно с ISO/IEC Moving Picture Experts Group (MPEG), в рамках совместной программы Joint Video Team (JVT).
В H.264 предусмотрено три типа кадров:
- I-кадры: Intra-coded frames, опорные, содержащие информацию о неподвижной части сцены; внутрикадровая обработка.
- P-кадры: Predicted frames, предсказанные кадры, содержащие информацию об измененных частях сцены и ссылки на соответствующие I-кадры; межкадровая обработка.
- B-кадры Bi-predicted frames: двунаправленно предсказанные кадры, ссылающиеся на I-кадры, P-кадры и B-кадры — предыдущие и последующие.
Стандарт H.264 эффективнее предыдущих и более гибок, отличается многокадровым предсказанием движения, использованием до 32 опорных кадров (в ASP их максимум два), независимостью порядка опорных изображений и используемых методов предсказания.
Широкий выбор изображений для компенсации движения повышает эффективность кодирования сцен с возвратно-поступательным движением и часто повторяющимися частями кадра — сильно снижает битрейт, экономит ресурсы полосы пропускания. Кодек ограничен только объемом памяти.
В предыдущих стандартах изображение, закодированное определенным методом (например, двунаправленного предсказания), нельзя использовать как опорное для предсказания движения в другой видеопоследовательности. В H.264 это ограничение снято (в качестве опорного выбирается более близкое по содержанию), как и ограничение на порядок воспроизведения и порядок опорных изображений.
Другие преимущества:
- Компенсация движения с динамичным размером блока — от 4 до 16 пикселей: более точное выделение области движения.
- Выходящие за границы изображения векторы движения (опция H.263, вошедшая в стандарт H.264).
- 6-точечная фильтрация яркости для уменьшения зубчатости по краям, повышения четкости картинки.
- Компенсация движения с точностью до четверти пикселя.
- Взвешенное предсказание для эффективного кодирования сцен с изменяющимся светом.
- Пространственное предсказание.
- Сжатие и улучшенный метод представления макроблоков — без потерь.
- Функции чересстрочного сжатия с кодированием целого кадра или пары полей в зависимости от наличия или отсутствия движения. MBAFF, кодирование полей, адаптивное к макроблокам; прогрессивное и чересстрочное кодирование каждой вертикальной пары блоков.
- Новые функции преобразования: адаптивный выбор размера блока, преобразование Адамара, точное целочисленное преобразование пространственных блоков 4×4 и 8×8.
- Функции устойчивости к ошибкам.
- Устраняющий артефакты блочности внутренний фильтр.
- Энтропийное кодирование.
- Квантование.
- Произвольный порядок посылки и получения частей изображения относительно друг друга (благодаря возможности из отдельного декодирования), что снижает задержку в реальном времени, особенно в сетях с режимом «доставка вне очереди».
- Разбиение данных по разным пакетом с разным уровнем защиты — в зависимости от степени важности.
- Посылка избыточного представления частей кадра для воспроизведения в случае потери данных.
- Нумерация кадров для создания последовательностей.
- Обнаружение потерь кадров в случае сбоя канала и пропажи пакета.
Стандартом определены профили (профиль — комплект тех или иных возможностей) для конкретного применения. Перечисленные функции поддерживают не все профили.
Профили H.264:
- Ограниченный базовый профиль, Constrained Baseline Profile, с набором общих для Baseline, Main, и High профилей возможностей — для недорогого сегмента оборудования.
- Базовый профиль, Baseline Profile, с набором, как в ограниченном базовом профиле, но с дополнительной устойчивостью к потерям — применяют в недорогом, но требующем устойчивости к потерям сегменте (мобильные продукты, видеоконференции).
- Основной профиль, Main Profile, для цифрового телевидения стандартной четкости.
- Расширенный профиль, Extended Profile, для потокового видео, с относительно высокой степенью сжатия и возможностями повышения устойчивости к потере данных.
- Высокий профиль, High Profile, основной в цифровом вещании, особенно в телевидении высокой четкости.
- Высокий профиль, High 10 Profile, с возможностями High Profile и поддержкой 10-битной глубины кодирования.
- High 4:2:2 Profile (Hi422P) для работы с чересстрочным видеопотоком, с дополнительным вариантом кодирования цветности.
- High 4:4:4 Predictive Profile (Hi444PP) с возможностями Hi422P плюс еще одним вариантом кодирования цветности и поддержкой 14-битной глубины кодирования.
В стандарт включены четыре дополнительных all-Intra профиля без межкадрового сжатия, когда информация о соседних кадрах не используется — для узкоспециализированного применения. С появлением новых технологий и расширений список профилей пополняется. В системах видеонаблюдения в основном используют Main Profile и High Profile.