История
Разработанная несколько лет назад Ultra HD камера видеонаблюдения не нашла широкого применения до настоящего времени, так как требовала широкой полосы пропускания и большой емкости для хранения. Поэтому вопрос уменьшения битрейта видеопотока Ultra HD разрешения — острая проблема, решение которой стоит на пути к популярности Ultra HD камер.
Алгоритм сжатия H. 265 — инновационная разработка компании Hikvision. Данная уникальная технология кодирования основана на H.265/HEVC (High Efficiency Video Coding высокоэффективное кодирование видеоизображений) стандарте и модифицирована с учетом следующих особенностей видеонаблюдения:
- Фон стабилен и практически не изменяется.
- Движущиеся объекты появляются редко и могут отсутствовать в течение продолжительного времени.
- Интерес представляют только движущиеся объекты.
- Наблюдение ведется круглосуточно, а шумы заметно влияют на качество изображения.
H. 265 способен значительно уменьшить битрейт видео и благодаря этому требования к пропускной способности и объему для хранения резко сокращаются.
Ключевые технологии
H.265 улучшает степень сжатия за счет трех ключевых технологий: технологии кодирования с предсказанием, технологии подавления фонового шума и технологии долгосрочного управления видеопотоком.
1. Кодирование c предсказанием
Все современные алгоритмы сжатия, такие как MPEG2, MPEG4, H.264/AVC и самый современный алгоритм H.265/HEVC, основаны на разностном кодировании. Кодирование с предсказанием — одна из основных технологий, непосредственно влияющих на производительность сжатия. Можно выделить два вида сжатия: внутрикадровое и межкадровое.
- Межкадровое предсказание создает модель предсказания из одного или нескольких ранее закодированных видеокадров или областей, используя принцип блочной компенсации движения.
- Внутрикадровое предсказание означает, что образцы макроблоков (блоков обработки) предсказываются только на основе информации, полученной от уже переданных макроблоков одного и того же кадра.
Для разных кадров видеопотока применяются разные методы кодирования. I-кадры кодируются независимо от других кадров, то есть используется внутрикадровое сжатие, а для кодирования P-кадров используются I-кадры и другие P-кадры (межкадровое сжатие).
1.1. Кодирование P-кадров
Вы можете получить меньший поток, сжимая разницу между опорным кадром и переменным кадром. Следовательно, выбор соответствующего опорного кадра играет ключевую роль.
В области видеонаблюдения фон, как правило, стабилен. Его можно извлечь и использовать в качестве опорного кадра. Фоновый кадр должен содержать как можно меньше движущихся объектов.
На Рисунке 1 показана последовательность из 3 кадров, где кадры T0 и T1 уже подверглись обработке кодеком. Здесь можно взять фон в качестве опорного кадра и сжать кадр T2 с учетом сходства и разницы между кадрами T1 (опорный кадр) и T0 (фоновый кадр).
Рисунок 1 Выбор наилучшего фонового кадра
Для примера возьмем Рисунок 2, на котором автомобиль перемещается из области B в область A (из кадра T1 в кадр T2). При кодировании кадра T2 область B становится вновь открывшимся участком.
Рисунок 2 Объект перемещается из Б в A
Пример 1:
Если кадр Т1 взят в качестве опорного кадра, потребуется больше битов для кодирования Б области, так как область Б не будет найдена в Т1 кадре.
Рисунок 3 Традиционная схема кодирования с опорным кадром
Пример 2:
Если мы возьмем фоновое изображение (T0) в качестве опорного кадра, в большинстве случаев мы получим оптимизированный блок для Б области. В то время как область А станет вновь открывшимся участком. Потребуется больше битов для кодирования A области.
Пример 3:
Если мы возьмем фоновый кадр и T1 в качестве опорных кадров, мы можем просто найти области, которые схожи с областями А и Б. Тогда количество затрачиваемых битов может быть снижено до минимального значения.
Рисунок 4 Схема кодирования с фоном в качестве опорного кадра
1.2. Кодирование I-кадров и R-кадров
При кодировании видеопотока опорные кадры обновляются каждые несколько секунд для задач видеонаблюдения. В результате на опорные кадры приходится значительная часть данных в видеопотоке, что особенно заметно в тех случаях, когда в кадре мало движения.
Для того чтобы уменьшить удельный вес этих повторов в видеопотоке, в кодеке H.265 используется метод работы с опорными кадрами на основе модели фона, показанный на Рисунке 5.
Рисунок 5 Работа с опорными кадрами
Тип кадра | Интервал | Описание |
---|---|---|
I-кадр (фоновый кадр) | От 8сек до 12сек | I-кадр полностью кодируется на основе текущего изображения с помощью внутрикадрового предсказания. Интеллектуальный алгоритм выбирает опорный кадр среди кадров с наименьшим числом движущихся объектов. |
R-кадр (Кадр обновления) | 2сек | Для R-кадра применяется внутрикадровое кодирование с предсказанием (для движущихся объектов) и межкадровое кодирование с предсказанием, основанное на I-кадре (для неподвижных объектов). R-кадр работает как I-кадр в видеопотоке во время произвольного доступа, чтобы гарантировать удобство воспроизведения пользователем |
P-кадр | Соответствует частоте кадров | Кадр применяет межкадровое кодирование с предсказанием на основе предыдущего кадра (P-кадра или R-кадра) и I-кадра. |
Значение битрейта может быть снижено для R-кадра, а также гарантировано удобство воспроизведения пользователем. На рисунке ниже представлен процесс кодирования R- кадра. Движущиеся объекты, отмеченные красными прямоугольниками, закодированы при помощи внутрикадрового кодирования с предсказанием и демонстрируют хорошее качество изображения. Фон обрабатывается с помощью межкадрового кодирования с предсказанием.
Рисунок 6 Кодирование R-кадра со смешанными предсказаниями
2. Шумоподавление
Обычно для сохранения качества движущиеся объекты кодируются вместе с фоновым шумом. Тем не менее, интеллектуальные алгоритмы позволяют применить различные стратегии кодирования для фона и для движущихся объектов.
На рисунке 7, алгоритм интеллектуального анализа извлекает фоновое изображение и движущийся объект. Фоновое изображение кодируется с более высокой степенью сжатия для подавления шума и снижения битрейта.
Рисунок 7 Шумоподавление
3. Долгосрочное управление видеопотоком
Для того, чтобы в полной мере использовать битрейт, Hikvision представляет новую концепцию битрейта под названием «средний максимальный битрейт».
«Средний максимальный битрейт» означает усредненный битрейт в различные периоды времени (обычно 24 часа). При средней скорости передачи потока данных, камера может назначить большую скорость передачи для периодов времени с высокой активностью, за счет ее снижения в периоды низкой активности (например, с 0:00 до 9:00 и с 20:00 до 24:00), как это продемонстрировано на диаграмме ниже (мы используем постоянный контроль битрейта в качестве примера).
Рисунок 8 Долгосрочное управление видеопотоком
- Постоянный битрейт
Для H.265 кодирования с установленным постоянным битрейтом, его значение будет незначительно изменятся в пределах значения предопределенного максимального битрейта. При функционировании H.265 , средний битрейт может поддерживаться на уровне половины значения максимального битрейта (на примере наблюдения в офисе, фактическая скорость снижения битрейт может меняться в зависимости от различных сцен наблюдения) и качество изображения может быть оптимизировано, так как H.265 технология позволяет в полной мере использовать каждый бит. - Переменный битрейт
В режиме переменного битрейта, мгновенный битрейт изменяется в зависимости от степени активности, в то время как качество изображения остается стабильным. Если H.265 включен, изменение битрейта может быть следующим:- Если установленное значение среднего битрейта ограничено, то технология кодирования H.265 может обеспечить лучшее качество изображения при ограниченном битрейте.
- Если установленное значение среднего битрейта слишком высокое для сцены слежения, значение фактического среднего битрейта может быть ниже, чем ранее установленное значение для экономии объёма хранения.
Результаты тестирования Уменьшения битрейта
Тестирование уменьшения битрейта проводилось на примере 1080p@25к/с камер. Полученные данные могут быть разделены на две категории: сравнение мгновенного битрейта при различных условиях и сравнение файла 24-часовой записи при различных стандартах кодирования.
1. Мгновенный битрейт разных сцен
Таблица 1 Сравнение мгновенного битрейта H.264 и Hikvision H.265
No | Описание сцены | Битрейт (кбит/с) | Коэффициент снижения | |
---|---|---|---|---|
H.264 | H.265 | |||
1 | Кафе, достаточное освещение, много движущихся объектов | 3,481 | 650 | 81.3% |
2 | Кафе, достаточное освещение, несколько движущихся объектов | 2,253 | 340 | 84.9% |
3 | Кафе, слабое освещение (ИК Вкл.), без движения | 930 | 108 | 88.4% |
4 | Улица, достаточное освещение, много движущихся объектов | 4,403 | 970 | 78.0% |
5 | Улица, достаточное освещение, несколько движущихся объектов | 4,096 | 518 | 87.4% |
6 | Улица, слабое освещение, без движения | 2,662 | 480 | 82.0% |
Средний коэффициент снижения | 67.6% |
Таблица 2 Сравнение мгновенного битрейта H.265 и Hikvision H.265
No | Описание сцены | Битрейт (кбит/с) | Коэффициент снижения | |
---|---|---|---|---|
H.265 | H.265 | |||
1 | Кафе, достаточное освещение, много движущихся объектов | 1,843 | 650 | 64.7% |
2 | Кафе, достаточное освещение, несколько движущихся объектов | 1,289 | 340 | 73.6% |
3 | Кафе, слабое освещение (ИК Вкл.), без движения | 453 | 108 | 76.2% |
4 | Улица, достаточное освещение, много движущихся объектов | 2,154 | 970 | 55.0% |
5 | Улица, достаточное освещение, несколько движущихся объектов | 1,331 | 518 | 61.1% |
6 | Улица, слабое освещение, без движения | 1,946 | 480 | 75.3% |
Средний коэффициент снижения | 67.6% |
Заключение:
- Средний коэффициент снижения между H.264 и Hikvision H.265 составил 83.7%, коэффициент снижения между H.265 и Hikvision H.265 — 67.6%. Hikvision H.265 может значительно уменьшить битрейт.
- Коэффициент снижения падает при увеличении числа движущихся объектов в сцене.
2. 24-часовой файл записи разных сцен
Сцена 1: Кафе
Таблица 3 Сравнение 24-часового файла записи — Кафе
Время | Средний битрейт (кбит/с) | ||
---|---|---|---|
H.264 | H.265 | H.265 | |
09:00-21:00 (День) | 3,482 | 1,843 | 650 |
21:00- 09:00 (Ночь) | 930 | 453 | 108 |
Теоретический размер файла за 24 часа (ГБ) | 22.7 | 11.8 | 3.9 |
Рисунок 9 Сравнительная таблица — Кафе
Сцена 2: Перекресток
Таблица 4 Сравнение 24-часового файла записи — Перекресток
Время | Средний битрейт (кбит/с) | ||
---|---|---|---|
H.264 | H.265 | H.265 | |
09:00-21:00 (День) | 4,403 | 2,150 | 970 |
21:00- 09:00 (Ночь) | 2,662 | 1,945 | 480 |
Теоретический размер файла за 24 часа (ГБ) | 36.4 | 21.1 | 7.5 |
Рисунок 10 Сравнительная таблица — Перекресток
Заключение:
При мониторинге кафе, коэффициент снижения объема 24-часового файла записи между H.264 и Hikvision H.265 составил 83,0%, а коэффициент между H.265 и Hikvision H.265 – 67,3%.
При мониторинге перекрестка, коэффициент снижения объема 24-часового файла записи между H.264 и Hikvision H.265 составил 79,4%, а коэффициент снижения между H.265 и Hikvision H.265 — 64,5%.
Hikvision H.265 может значительно уменьшить размер файла при 24-часовом мониторинге, а также снизить затраты на хранение.
Более высокий максимальный размер кадра
Мир получает более высокое разрешение, и H.265 это поддерживает. С H.265 видео можно кодировать до 8K UHD или 8192 пикселей × 4320 пикселей. В настоящее время только несколько камер могут выпускать 8K видео, и очень немногие мониторы могут отображать такое разрешение.
Поддержка оборудования
Кодек H.265 специально поддерживается нынешним поколением процессоров Intel. Линия процессоров Kaby Lake содержит специальные наборы инструкций для кодирования и декодирования видео H.265, как и для будущих поколений. Это дает кодеку большую выгоду от скорости и согласованности по сравнению с другими видео-кодеками высокого разрешения.
Учитывая популярность и техническое превосходство кодека H.264, неудивительно, что Intel предпочла бы отказаться от своего оборудования. Конечно, это не ограничивает использование H.265 процессорами Kaby Lake, но это означает, что компьютеры, использующие чипы Kaby Lake, будут более гибко воспроизводить видео H.265.
И учитывая, что вычислительные накладные расходы, необходимые для кодирования и декодирования видео высокого разрешения H.265 довольно значительны, это может означать существенное различие между версиями H.265, поддерживаемыми аппаратным и программным обеспечением.
Вывод: где найти H.265?
H.265 по-прежнему менее распространен, чем H.264, но он быстро набирает значимость на рынке. Новая операционная система Apple iPhone и iPad, iOS 11, сохраняет все видеофайлы в H.265. Новое поколение MacBook Pro включает аппаратную поддержку Kaby Lake для декодирования кодека. Формат видео также будет использоваться в веб-браузере Apple tvOS и Safari для потокового видео.
Вещание
Сейчас в дикой природе H265 проще всего встретить на IP-камерах: там оно уже есть и уже потихоньку распространяется, спасибо HUAWEI. Так же можно на спутниках найти 30-мегабитные каналы, сжатые в H265.
По нашему опыту постепенно делаются попытки внедрить его в различных OTT-сервисах, где есть контроль за устройством.
По поводу вещания ситуация такая: H265 в протоколе HLS поддерживается всеми уже очень давно, а эппл очень вовремя очухались и зафиксировали очевидное в стандарте. Но всем пока что плевать, потому что мало какие айфоны могут его проигрывать.
Видеокодеки h.264, h.265 и h.265 . плюсы и минусы
Первые версии кодеков видеосжатия H.264 появились еще в 2022 году. Сегодня формат Н.265 уверенно вошел на рынок видеонаблюдения и диктует свои условия. Многие производители выпускают оборудование с поддержкой видеосжатия данного формата.
Формат сжатия H.264, в отличие от предыдущих кодеков MJPEG и MPEG-4 позволяет с высокой эффективностью решить задачу передачи большого количества видеопотоков высокого разрешения.
Использование в системах IP-видеонаблюдения формата H.264 обеспечивает высокое качество изображения при меньшем объеме данных, требует меньшую пропускную способность сети и меньший объем жестких дисков для хранения видеоархива. Однако есть и жирный минус. Использование Н.264 приводит к высоким нагрузкам на вычислительное оборудование.
Для того, чтобы увеличить экономичность использования вычислительных ресурсов, разработчики применяют различные методы. Например, перенос части операций на видеокарту. Благодаря этому видеокарта способна брать на себя выполнение части вычислений по декодированию. Применение этой функции обеспечилоснижение загрузки процессора до двух раз, и возможность использования процессоров меньшей мощности, а значит, и стоимости.
Перенос операций декодирования на видеокарту также позволяет сэкономить не только на серверной, но и на клиентской части системы видеонаблюдения. Для того, чтобы воспользоваться этой функцией, в настройках клиентской части программного обеспечения необходимо указать, где производить обработку – на центральном процессоре или на видеокарте.
Для снижения нагрузки на вычислительное оборудование также применяется технология видеоанализа сжатых видеопотоков от IP-камер без их полного декодирования. Применение этой технологии приводит к увеличению скорости обработки данных, за счет чего загрузка на центральный процессор снижается. Причем снижение может достигать в среднем в 4 раза.
Благодаря этому появляется возможность подключить к одному серверу в 4 раза больше видеокамер. Еще один вариант экономии — это использование менее мощных, а значит, и более бюджетных процессоров, и снижение стоимости серверного оборудования.
Еще один минус кодека H.264 заключается в том, что большинство мобильных и web-клиентов для систем видеонаблюдения не поддерживают данный формат, и для того, чтобы получить видеоизображение, требуется процедура перекодирования видеопотока в MJPEG. Такая операция очень ресурсоемка и приводит к дополнительным нагрузкам на вычислительные ресурсы.
Обработка формата H.264 возможна при достаточно мощных вычислительных ресурсах мобильного устройства. Если ресурсов не хватает, видеопоток автоматически переключается в формат MJPEG. Да и сам пользователь может самостоятельно выбирать формат видеопотока.
Как видим плюсов и минусов у кодека H.264, применяемого для видеонаблюдения, достаточно много. Однако большая нагрузка на вычислительные ресурсы зачастую сводит все плюсы на нет.
Еще большую нагрузку несет новый формат Н.265. Он использует в своей работе более сильные и совершенные алгоритмы сжатия видео. При одинаковом визуальном качестве новый кодек Н.265 предполагает примерно двукратное уменьшение размера файла по сравнению с его предшественником Н.264. Это серьезно экономит место на дисковом пространстве регистраторов и видеосерверов. А вдвое меньший битрейт уменьшает трафик в сетях передачи видеоданных.
Благодаря более мощным механизмам компрессии, кодек Н.265 отлично справляется с кодированием видео высокого и высочайшего разрешения более 8K UHD (8192×4320). Причем для качественного воспроизведения видеоинформации разрешением 4К кодека необходим поток со скоростью всего 50 МВ/с.
Что немаловажно, Н.265 сжимает видео практически без потерь, качество сжатого видео остается на высоком уровне. Специальные алгоритмы компрессии устраняют присущие Н.264 артефакты, такие как зернистость или размытые края движущихся объектов.
Но самое главное преимущество кодека Н.265 заключается в том, что объем видео, обработанного по новому стандарту, оказался почти на 85% меньше, чем при использовании Н.264. Однако кодеку Н.265 требуется более мощные по производительности элементы и процессоры в оборудовании.
Двигаясь в направлении увеличесния сжатия видеоданных на рынке не так давно появился кодек H.265 Он позволяет уменьшить битрейт с видеокамер, что в свою очередь снижает стоимость внедрения и использовать меньше дисковых массивов для хранения видеоархива.
H.265 улучшает степень сжатия за счет трех ключевых технологий: технологии кодирования с предсказанием, технологии подавления фонового шума и технологии долгосрочного управления видеопотоком.
Как известно, камеры видеонаблюдения умеют различать моменты, когда на выделенном участке наблюдения ничего не происходит и в это время снижают качество, чтобы уменьшить нагрузку на сеть и место на жестком диске. Это может делать кодек Н.265, значения при этом все равно держатся около установленного максимума, в то время как Н.265 может снизить его вдвое. Такая функция называется управление длительным битрейтом.
Н.265 может также определять на видео движущиеся объекты и отделять их от фона. В то время, как эти объекты передаются в максимально хорошем качестве, на сжатие повторяющегося фона уходит меньше ресурсов. Что также является большим плюсом и снижает нагрузку на вычислительные ресурсы.
В этой статье мы не стремились рассказать подробно о всех современных видеокодеках, используемых в видеонаблюдении. Наша цель заключалась в том, чтобы показать различия форматов сжатия, а также плюсы и минусы каждого из них.
Кодирование
На сегодняшний день H265, он же HEVC уже поддерживается на большом количестве энкодеров: софтверные, обычные аппаратные (Nvidia NVENC, Intel QSV) и железные аппаратные.
Какое-то заметное применение H265 можно встретить на спутниковом телевидении (редкие, но уже встречающиеся каналы с гигантским битрейтом), IP камеры и всякие бесчисленные коробочки для захвата и кодирования HDMI (и немножко SDI).
Зачем нужно захватывать HDMI и публиковать на сайт? Ну как бы догадайтесь сами, особенно если железка обещает вскрыть HDCP. Подскажу лишь, что это очень популярно для стриминга игр, когда не хочется добавлять никакой нагрузки на компьютер.
Здесь надо быть очень аккуратными с тем, что именно будет уметь железка или софтина. Так, например, Hisilicon достаточно давно выпустил первый чипсет с поддержкой H265 для IP-камер, а вот софт отстал чуть ли не на полтора года от них. Сегодня до сих пор продается полно камер, у которых написано H265, а они не могут его отдавать в реальном времени — только экспортировать файлы через нерабочий китайский софт. В чём тут выражается поддержка H265, продавцы ответить не могут, но упорно кивают головой: да, да, можем h265.
Аналогичная проблема и с RTMP энкодерами. Один из частейших вопросов: «а что, ваш софт не умеет H265 по RTMP?».
Это не наш софт «не умеет», а RTMP не умеет H265. В RTML используется flv-подобная упаковка кадров и H265 ни в одном, ни в другом стандарте как доступные не отмечены. Есть всякие хитрые хаки, позволяющие запихать H265 в протокол, не рассчитанный на это, но называть это RTMP уже будет перебор — это будет проприетарный, закрытый протокол.
Т.е. железо может уметь H265, а софт, запущенный на нём, может отставать в развитии и просто не уметь с ним работать и такого пока ещё полно.
Конкуренция
H265 сравнивают с h264: ведь разницу в битрейте надо ещё увидеть, а поддержка h264 сейчас есть абсолютно везде
H265 сравнивают с VP10, потому что так попросил Гугл. На практике у VP10 проблемы с ещё меньшей поддержкой со стороны железа (а значит для него нужно ещё больше батареек и процессорной мощности) и плохие протоколы проигрывания.
H265 начали сравнивать с AV1, но это пока вообще можно не рассматривать — слишком новая штука. Очень интересно, подождем несколько лет.
Параллельная обработка
В H.265 используются плитки и части, которые могут быть декодированы независимо от остальной части кадра. Это означает, что процесс декодирования можно разделить на несколько параллельных потоковых процессов, используя более эффективные возможности декодирования, на современных многоядерных процессорах.
Проигрывание
Пока забудьте =)
Из десктопных браузеров показывать H265 сейчас фактически умеет только Microsoft Edge, остальные нет.
Есть проигрывание на телевизионных приставках, SmartTV и в программах/приложени, но браузеры пока очень сильно отстают.
Так же надо понимать, что на телефонах сейчас h265 скорее всего будет играться на процессоре, т.е. если хватит батарейки на просмотр рекламы, уже неплохо.
Резюме
H265 развивается, распространяется, но на сегодняшний день скорее всего не будет ничего фатального, если вы его пока не рассматриваете.
У него уже на старте есть конкуренты, с которыми прийдется побороться, но есть и хорошая стартовая позиция в виде приличной родословной (от тех же людей, что и H264) и неплохая поддержка в транспортах и протоколах доставки видео.
Улучшенное внутрикадровое прогнозирование
Сжатие видео также выигрывает от анализа «движения» в отдельных кадрах, что позволяет сжимать отдельные кадры видео более эффективно. Это может быть достигнуто путем описания пикселей математической функцией, а не фактическими значениями пикселей. Функция занимает меньше места, чем пиксельные данные, уменьшая размер файла.
Однако кодек должен поддерживать достаточно продвинутую математическую функцию, чтобы этот метод был действительно полезным. Функция внутрикадрового предсказания H.265 гораздо более подробна, чем H.264, она допускает 33 направления движения по девяти направлениям H.264.
Улучшенное предсказание внутрикадрового движения
Сжатие видео зависит от предсказания движения между кадрами. Когда в пикселе нет изменений, видеокодек может сэкономить место, ссылаясь на него, а не воспроизводить его. Таким образом, улучшенное предсказание движения означает улучшенный размер файла и качество сжатия.
Вывод
Hikvision H.265 — это оптимизированная технология кодирования, основанная на стандарте сжатия H.265/HEVC. С использованием технологии H.265 качество видео остается практически таким же, что и с использованием H.265/HEVC, но предъявляются меньшие требованиями к пропускной способности и объему хранилища.
Hikvision H.265 соответствует стандарту H.265/HEVC, а также совместим с большинством программных обеспечений/аппаратных средств, поддерживающих H.265. Данная технология играет важную роль в сокращении затрат на хранение и в продвижении и популяризации видео Ultra HD разрешения.