Каждый пользователь, выбирающий систему видеонаблюдения, каждый инсталлятор, подбирающий компоненты и устанавливающий ее, ищет баланс цены и качества. Для снижения стоимости системы инсталляторы предпринимают различные меры: подбирают дешевые компоненты, используют бесплатное ПО, отказываются от использования функций видеоанализа для экономии на серверном оборудовании, ограничивают время записи в архив для экономии на жестких дисках и т.п.
Одним из наиболее важных и дорогих компонентов системы являются серверы, поэтому при снижении их стоимости и общая стоимость системы существенно уменьшится. Один из наиболее эффективных вариантов экономии без потери качества и надежности работы системы – сокращение необходимых вычислительных ресурсов серверного и клиентского оборудования видеосистемы за счет использования профессионального программного обеспечения.
Существует несколько решений для достижения экономической эффективности.
Экономия на серверах
1. Использование программного обеспечения с технологией анализа сжатых видеопотоков от IP-камер без их полного декодирования. За счет использования этой технологии пользователь может подключить больше IP-камер на один сервер, или установить более бюджетные серверы.
Декомпрессия видеопотоков проходит в несколько этапов, последние из которых требуют затраты значительных вычислительных ресурсов, именно эти последние этапы при использовании технологии анализа сжатых видеопотоков не выполняются.
Алгоритмы позволяют анализировать данные, например, производить детектирование или поиск по цветовым характеристикам объекта, без полной декомпрессии.
В результате скорость обработки данных увеличивается, за счет чего загрузка центрального процессора снижается в среднем в 4 раза. Это значит, один сервер может обрабатывать видео от большего количества камер, что приводит к экономии пользователей на вычислительном оборудовании, причем к экономии существенной
2. Использование формата сжатия MJPEG.
Существует множество форматов сжатия, в видеонаблюдении наибольшей популярностью пользуются MJPEG, MPEG-4 и H.264.
Для формата сжатия MJPEG видеопоток представляет собой последовательность статичных картинок - изображений формата JPEG. Сжатие происходит индивидуально для каждого кадра (внутрикадровое), что дает полную независимость отдельных изображений. При воспроизведении видеоархива качество картинки остается хорошим - из формата MJPEG всегда можно получить кадры с четким изображением происходящих событий, он менее ресурсоемок, но существенно нагружает сеть и требует большого объема дискового пространства.
Для форматов MPEG-4 и H.264 сжатие осуществляется как внутри одного кадра, так и для серии кадров (межкадровое). Видео формата H.264 (оптимизированный MPEG-4 или MPEG-4part 10) представляет собой не последовательность отдельных изображений, а цепочку связанных данных - потоковое видео. Преимущества этого формата в том, что производится сохранение не каждого кадра, а лишь опорного изображения и дальнейших его изменений.
Когда значительная часть изображения остается неизменной, получается гораздо меньший размер итогового видеофрагмента чем для MJPEG. В случае если формат MJPEG может отправлять набор изображений по 200 кбайт каждое, формат H.264 отправит одно опорное изображение весом 200 кбайт и последующие его изменения, имеющие гораздо меньший размер. В результате видеофрагмент в формате H.264 будет меньше аналогичного фрагмента формата MJPEG на 70-90%, а это значит, что и пропускная способность сети для его передачи требуется меньшая. Но для обработки H.264 требуется больше вычислительных ресурсов.
Таким образом, если сравнить с форматами MPEG-4 и H.264, на обработку MJPEG требуется меньше вычислительных ресурсов, но при этом существенно возрастает нагрузка на сеть и требуется большой объем дискового пространства.
3. Изменение качества записи в зависимости от характера сцены.
Часть программных продуктов использует технологию изменения качества съемки: пока в кадре нет действия, в архив записывается видео с низким разрешением. Как только сцена меняется, качество записи повышается. Такая технология позволяет разгружать серверы, компьютеры для отображения, снижать нагрузку на сеть и уменьшать объем дискового пространства для хранения архива.
4. Обработка на сервере альтернативного потока с видеокамеры.
Большинство программных продуктов поддерживают функцию двухпоточности – работы с основным и альтернативным потоком. Пользователь может настроить разрешения для каждого потока и задать сценарии работы с ними. Например, основной поток, как правило, имеет высокое разрешение и может использоваться для записи в архив, а альтернативный поток меньшего разрешения может использоваться для анализа на сервере. На анализ видео более низкого разрешения требуется меньше вычислительных ресурсов, следовательно, загрузка сервера системы снижается.
5. Использование встроенной аналитики видеокамер.
Для снижения нагрузки на сервер, а также разгрузки каналов связи, пользователь может обрабатывать, отображать и записывать не все видео, а лишь «отфильтрованную» часть информации. Современные IP-камеры имеют мощные встроенные процессоры и способны детектировать движение, фиксировать пересечение виртуальной линии или проникновение в выбранную зону, реагировать на появление или исчезновение объекта в определенной зоне, обнаруживать лица, детектировать звук, определять изменение сцены наблюдения и многое другое. Можно задать передачу видео на сервер только после срабатывания одного из встроенных детекторов видеокамеры, заранее заданного пользователем. Также можно задать интервал пред- и постзаписи, это возможно за счет того, что в постоянном режиме видеопоток записывается на встроенную карту памяти IP-камеры, а после срабатывания детектора часть видео, предшествующая срабатыванию, загружается на сервер. Также можно комбинировать анализ на камере с анализом на сервере: например, проводить обнаружение лиц силами видеокамеры, передавать эти видеофрагменты на сервер где они будут анализироваться модулем распознавания лиц.
6. Экономия при работе с мобильными и web-клиентами
Сегодня востребованность мобильных и web-приложений для работы с видеосистемами очень высока, поэтому разработчики программного обеспечения серьезно задумываются не только об удобстве и кроссплатформенности таких приложений, но и об их влиянии на нагрузку сети и серверов.
Известно, что самым популярным форматом сжатия видеопотока является H.264. Большинство мобильных клиентов и веб-клиентов для систем видеонаблюдения не поддерживают такой формат видео, и для того, чтобы пользователь получил картинку, требуется процедура перекодирования видеопотока из H.264 в MJPEG. Такая операция является очень ресурсоемкой и приводит к дополнительным нагрузкам на вычислительные ресурсы сервера.
Разработчики Macroscop создали алгоритмы, позволяющие обрабатывать в web-клиенте и мобильном клиенте для устройств на базе ОС Android видеопотоки в формате H.264, что ведет к экономии вычислительных ресурсов сервера при работе с мобильными и web-приложениями.
Экономия на клиентских компьютерах
Использование ресурсов видеокарты программным обеспечением - обработка данных на GPU.
Для того чтобы снизить нагрузку на центральный процессор разработчики ПО предлагают перенести часть операций на видеокарту (обрабатывать часть данных с помощью графического процессора).
В последние годы произошел существенный технологический скачок в развитии графических процессоров. Использование в GPU параллельных технологий обработки данных и вычислений приближают его по возможностям к полноценному вычислительному устройству. Графический процессор устроен так, что большую его часть составляют вычислительные блоки, используемые для обработки данных, тогда как в центральном процессоре они занимают гораздо меньшую долю. Постоянная технологическая модернизация графических процессоров привела к тому, что GPU сначала сравнялся по вычислительной мощности с CPU, а затем опередил его. Поэтому у программистов, работающих над ПО для видеонаблюдения, родилась идея частичного переноса вычислительных операций с CPU на GPU. Современные видеокарты содержат достаточно мощные аппаратные механизмы декодирования, которые, в конечном счете, позволяют разгружать клиентские компьютеры при отображении. Также использование ресурсов GPU позволило разработчикам реализовать технологию отображения декодированных видеопотоков напрямую с видеокарты.
Использование функции многопоточности
Использование функции многопоточности программного обеспечения позволяет экономить вычислительные ресурсы не только серверного, но и клиентского оборудования. Настроить параметры каждого потока можно индивидуально и для отображения выбрать менее ресурсоемкий, в результате чего сократить требуемые мощности компьютера.
Сегодня существует несколько способов снижения стоимости серверной и клиентской части системы, все они направлены на экономию вычислительных ресурсов оборудования.
Экономия на серверном оборудовании достигается за счет использования:
- программного обеспечения с технологией анализа видеопотоков без их полной распаковки;
- программного обеспечения с технологией изменения качества записи в зависимости от характера сцены;
- формата сжатия видеопотоков MJPEG;
- встроенной аналитики видеокамер;
- основного и альтернативного потока;
- технологии обработки h.264 на мобильных и web-клиентах.
Экономия на клиентском оборудовании достигается за счет использования для отображения альтернативного потока меньшего разрешения, переноса части вычислительных операций на видеокарту.