En Ru Es
Приглашаем на встречу с Macroscop в Москве 28.03.2024
Заказать звонок Получить Демо
Приглашаем на встречу с Macroscop в Москве 28.03.2024

Форматы сжатия видео

Прежде чем строить систему видеонаблюдения, техническому специалисту предстоит решить ряд важнейших вопросов и задач. Наряду с выбором камер, серверов и программного обеспечения, необходимо подобрать оптимальный формат сжатия видеопотока системы. Основными форматами для систем видеонаблюдения являются MJPEG, MPEG-4 и H.264 (MPEG-4 part 10). Споры «какой формат лучше?» сродни спорам «за чем будущее: аналогом или ip?»- они ведутся уже не первый год, но специалисты так и не могут прийти к единому мнению. В этой статье мы расскажем об особенностях форматов, о параметрах, которые необходимо учитывать при выборе, о технологиях, использующихся для анализа видеопотоков.

Сжатие видеоизображения

Видео с IP-камер наблюдения приходят на сервер в сжатом виде. Обычно сжатие заключается в удалении особенностей изображения, практически незаметных человеческому глазу, хотя иногда производится сжатие без потерь какой-либо информации. Сжатый видеопоток требует меньшую пропускную способность сети и меньший объем свободной памяти жесткого диска. Для просмотра или анализа видео полученный поток необходимо распаковать-применить  алгоритм преобразования, обратного сжатию. Комбинация алгоритмов  для сжатия и обратного восстановления кадра называется видеокодеком. Видеокодеки разных стандартов не совместимы друг с другом - видеоинформация, сжатая с помощью одного кодека, как правило, не может быть распакована с помощью другого.

Существует несколько видов сжатия

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

Возможно несколько реализаций сжатия с потерями:

  • сжатие с процентными потерями - потери настолько незначительны для человеческого глаза, что кадр до и после декодирования практически неразличимы для оператора;
  • сжатие с естественными потерями - различия между кадрами до и после декодирования заметны, но все-таки они довольно не выражены, вся необходимая для анализа событий информация сохраняется;
  • сжатие с неестественными потерями - низкое качество сжатия видеопотока, которое приводит к появлению артефактов (заметных искажений видео) при декодировании. Появление артефактов приводит к снижению четкости изображения, появлению полей одного цвета (при объединенииразличных цветовых оттенков в один), появлению блочности картинки (пиксельности, зернистости). Наличие артефактов ведет к ложным результатам анализа видеопотока программным обеспечением системы.

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

Форматы сжатия видео

Существует множество форматов сжатия, в видеонаблюдении наибольшей популярностью пользуются MJPEG, MPEG-4 и H.264.

Формат MJPEG

Для формата сжатия MJPEG видеопоток представляет собой последовательность статичных картинок- изображений формата JPEG. Сжатие происходит индивидуально для каждого кадра (внутрикадровое). Получаем полную независимость отдельных изображений. При воспроизведении видеоархива качество картинки остается хорошим- из формата MJPEG всегда можно получить кадры с четким изображением происходящих событий, он не требует высокой производительности процессора, но существенно нагружает сеть и требует большого объема дискового пространства. Для этого формата характерны артефакты блочности изображения, полей одного цвета. Данные с камеры приходят с потерями, поэтому говорить, что искажений нет, нельзя. Другое дело, что при правильной настройке камеры глаз человека в JPEG  искажения почти не замечает.

Форматы MPEG-4 И H.264

Для форматов MPEG-4 и H.264 сжатие осуществляется как внутри одного кадра, так и для серии кадров (межкадровое). Видео формата H.264 (оптимизированный MPEG-4 или MPEG-4part 10)представляет собой не последовательность отдельных изображений, а цепочку связанных данных- потоковое видео. Преимущества этого формата в том, что производится сохранение не каждого кадра, а лишь опорного изображения и дальнейших его изменений.

Когда значительная часть изображения остается неизменной, получается гораздо меньший размер итогового видеофрагмента чем для MJPEG. В случае если формат MJPEG может отправлять набор изображений по 200 кбайт каждое, формат H.264 отправит одно опорное изображение весом 200 кбайт и последующие его изменения, имеющие гораздо меньший размер. В результате видеофрагмент в формате H.264 будет меньше аналогичного фрагмента формата MJPEG на 70-90%. Соответственно, и пропускная способность сети требуется гораздо меньшая, зато вычислительных ресурсов формат H.264 требует существенно больших.

Механизмы сжатия для разных форматов

Алгоритм сжатия MJPEG просто удаляет избыточную информацию, незаметную для человеческого глаза в каждом кадре.

Для формата H.264 характерны кадры I-frames, содержащие полное изображение (опорный кадр), P-frames, содержащие информацию о изменении опорного кадра  и двунаправленные кадры  B-frames, которые содержат информацию об изменении одного предыдущего изображения и одного последующего. В потоковом сжатии применяют методы дифференциального кодирования и поблочной компенсации движения.

В случае дифференцированного кодирования текущий кадр сравнивается с основным. Кодировка происходит только для изменившихся пикселей. Этот метод  оптимален при незначительном изменении картинки.

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

Для повышения эффективности сжатия видео формата H.264 появился более совершенный метод. Для кодирования кадров I-frames используется метод предсказания, он приводит к уменьшению размера сохраняемых изменений, при этом качество картинки не снижается. Для реализации этого метода используются моноблоки, сравнение пикселей проводится уже для них. Для кодирования P-frames и B-frames используется усовершенствованный механизм поблочной компенсации движения: кодировщик может по своему выбору искать совпадения в произвольном количестве областей (блоков) основных кадров. Если для выделения более точного совпадения необходимо изменить размер или форму блока, кодировщик делает это.

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

Еще один важный параметр - коэффициент сжатия. Он определяет, насколько декодированный кадр будет отличаться от реальной картинки. Чем сильнее сжимается кадр, тем меньше бит он занимает, следовательно, тем проще его передать по сети. Однако при кодировании значительная часть информации будет потеряна.

Режим видеопотока

Важной характеристикой для формата сжатия MPEG-4 и H.264 является режим видеопотока. Чаще всего выбор сводится к переменному (VBR) или постоянному (CBR) режиму. Для разных условий съемки и различных характеристик системы оптимальными будут разные режимы.

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

VBR позволяет задать постоянное качество изображения, размер кадров для различных условий при этом будет меняться. Этот режим использует подавляющее большинство систем видеонаблюдения. Так как размер кадров может существенно меняться, при расчете сетевых параметров (пропускной способности) стоит выбирать сеть «с запасом».

Обработка сжатого видеопотока программным обеспечением

Запись поступающего с камеры видео сама по себе не представляет большой ценности. Современные системы видеонаблюдения строятся прежде всего для анализа происходящих на охраняемом объекте событий, предотвращения угроз. Максимально облегчить работу оператора в этом направлении помогает профессиональное программное обеспечение. Большинство современных программных систем получают закодированное сжатое видео с камер, производят его распаковку, анализ, запись в архив. На распаковку полученного видеопотока требуются огромные вычислительные ресурсы серверного оборудования. В случае построения масштабной системы расходы на обрабатывающие серверы очень высоки.

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

Что выбрать?

Однозначного ответа не даст ни один эксперт, просто потому что все зависит от особенностей и параметров видеосистемы. Так или иначе, придется идти на компромисс: не существует еще формата, который минимально нагружает сеть и процессор, обеспечивая при этом высокое качество картинки.

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

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

Итак, для построения масштабных систем, использующих мегапиксельные камеры, наиболее оптимальным форматом является H.264- он требует сравнительно низкой ширины канала, обеспечивает высокую скорость передачи денных, а видеоархив в этом формате занимает минимальный объем дискового пространства. Однако для построения видеосистем с низкими требованиями (небольшая частота кадров, маленькое разрешение камер) приемлемым вариантом остается MJPEG. К тому же потери качества изображения в этом формате меньше, чем в H.264.

Опубликовано в журнале «Технологии Защиты», №4, 2012

Мы используем cookies на этом сайте, чтобы обеспечить наилучший сервис. Подробнее