Контакты
Подписка
МЕНЮ
Контакты
Подписка

Мастера упаковки Гонка стандартов сжатия

В рубрику "Видеонаблюдение (CCTV)" | К списку рубрик  |  К списку авторов  |  К списку публикаций

Мастера упаковки
Гонка стандартов сжатия

Несжатый видеопоток требует как чрезвычайно большой пропускной способности канала связи для его передачи, так и очень значительного дискового пространства для хранения видеоархива. И то и другое было практически недоступно на заре развития цифрового видеонаблюдения, да и сейчас система без сжатия была бы нецелесообразна. Поэтому выбор кодека, оптимального по качеству видео, эффективности сжатия и ресурсоемкости, а также с возможностью адаптации к пропускной способности канала стал одной из важнейших задач при создании цифровой системы видеонаблюдения
М.К. Алтуев
Президент компании ITV | AxxonSoft

Алгоритм, используемый для компрессии и декомпрессии видеопотока (видеокодек), – один из наиболее важных элементов цифровой системы видеонаблюдения. Именно от него в значительной степени зависят такие параметры, как: 1) качество видео, 2) объем архива, 3) производительность системы и 4) способность адаптации видеопотока к пропускной способности канала в широком смысле – канала передачи данных, процессора, который обеспечивает обработку видеопотока, и скорости записи на носитель информации.

Из чего можно было выбирать?

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

  • MJPEG (Motion JPEG) – покадровый, сжимает каждый кадр отдельно;
  • MPEG-21 – потоковый, сжимает не только отдельные кадры, но и их последовательности, то есть применяется не только внутрикадровая, но и межкадровая компрессия – сжатию подвергаются изменения в кадре.
Хотя MJPEG и не является оптимальным для использования в системах видеонаблюдения, на заре развития цифрового видеонаблюдения он представлялся более подходящим, чем MPEG-2

MPEG-2
Что касается соответствия четырем параметрам, перечисленным выше, то MPEG-2 обеспечивал неплохое сжатие – небольшой объем видеоархива. По остальным трем параметрам он был малоэффективен: очень ресурсоемок, не давал хорошего качества отображения движущихся объектов, а также требовал стабильного канала. Невысокое качество движущихся объектов связано с тем, что наибольшим искажениям за счет сжатия подвергаются именно области движения, которые одновременно представляют наибольший интерес с точки зрения видеонаблюдения. Требование к стабильности канала связано с особенностями работы алгоритма, в котором видеопоток раскладывается на опорные I-кадры (сжатые независимо), а также P-кадры (вычисляются на основе предыдущих I- или P-кадров) и B-кадры (вычисляются на основе двух соседних кадров – предыдущего и последующего). В результате потеря одного кадра может повлечь за собой потерю нескольких других – при резком снижении пропускной способности канала могут потеряться целые фрагменты видеозаписи.

MJPEG
MJPEG тоже был неидеален, но гораздо больше соответствовал задачам видеонаблюдения. Он умеренно потреблял вычислительные ресурсы и мог адаптироваться к каналу – при резком снижении пропускной способности видеопоток прореживается, то есть снижается частота кадров, при этом качество каждого отдельного кадра не падает, что для видеонаблюдения очень важно.


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

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

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

Собственные разработки

Разумеется, при таком положении на рынке разработчики систем видеонаблюдения не сидели сложа руки – ведь создание собственного оптимального алгоритма видеокомпрессии могло стать существенным конкурентным преимуществом их систем. Поэтому разрабатывались кодеки, среди которых нужно особо выделить алгоритмы, основанные на Wavelet-преобразовании2. Покадровые "вейвлетные" алгоритмы компрессии обладают всеми положительными качествами MJPEG и при этом имеют несомненные преимущества. Например, при высоком качестве изображения, когда артефакты незначительны, алгоритм для статических изображений JPEG 2000 сжимает в среднем на 20% эффективнее, чем JPEG3. При более сильном сжатии также сохраняется преимущество над основными режимами JPEG. Кроме того, считается, что артефакты сжатия Wavelet-алгоритмов меньше ухудшают восприятие изображения, чем артефакты JPEG. Например, при высокой степени компрессии изображение, сжатое с применением JPEG, распадается на блоки 8х8 пикселей, что серьезно ухудшает восприятие контуров объектов. С изображением, сжатым с помощью Wavelet-алгоритмов, этого не происходит.

Большинство современных IP-камер имеет возможность передавать два потока параллельно, что позволяет применить следующую схему: один поток сжимается алгоритмом H.264, а второй – MJPEG

Если добавить к покадровому Wavelet-сжатию межкадровую Wavelet-компрессию, но с привязкой каждого неопорного кадра не к предыдущим или последующим (как в MPEG-2), а к генерируемому с определенной частотой опорному кадру, такой алгоритм обеспечит наряду с неплохим сжатием адаптивность к пропускной способности канала, так как любой кадр, помимо опорного, можно будет убрать из потока без влияния на другие кадры. Кроме того, разницу между опорным кадром и неопорными можно хранить в несжатом виде – это позволит добиться высокого качества отображения движущихся объектов на всех кадрах, а не только на опорных. Разумеется, степень компрессии при этом будет ниже, чем в MPEG-2, но все равно существенно выше, чем в MJPEG.

У "вейвлетных" алгоритмов есть еще одно несомненное преимущество – невысокое потребление вычислительных ресурсов. Более того, особенности используемых в цифровом видеонаблюдении Wavelet-алгоритмов позволяют еще больше оптимизировать эти ресурсы. Например, загрузку клиентского компьютера при просмотре видео можно снизить за счет того, что видеопоток распаковывается ровно в том разрешении, в котором он будет показан на экране. Таким образом, загрузка процессора при отображении одного канала, четырех или шестнадцати не будет существенно различаться. Благодаря перечисленным свойствам "вейвлетные" алгоритмы прочно заняли свою нишу на рынке систем видеонаблюдения, став к тому же сильным конкурентным преимуществом использующих их систем.

Развитие алгоритмов. H.264

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

Благодаря своим положительным качествам и снижению роли негативных качеств H.264 стал фактическим стандартом в системах видеонаблюдения. А в бурно развивающейся отрасли IP-видеонаблюдения этот стандарт применяется особенно широко – его поддерживают практически все современные IP-камеры и IP-видеосерверы. При этом практически все IP-устройства поддерживают и MJPEG.

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

Текущее состояние и перспективы

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

Отдельно нужно сказать, что уже готов профиль H.2644, который подразумевает сложную схему привязки неопорных кадров, позволяющую сделать данный кодек способным адаптироваться к пропускной способности канала. Это еще более усилит его позиции. Таким образом, можно предположить, что семейство кодеков H.264 через некоторое время будет самым распространенным, при этом, возможно, в части систем будет сохранена поддержка предыдущих стандартов, таких как MJPEG и "вейвлет-ные" алгоритмы.

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

Опубликовано: Журнал "Системы безопасности" #1, 2011
Посещений: 9773

  Автор

Мурат Алтуев

Мурат Алтуев

Эксперт

Всего статей:  52

В рубрику "Видеонаблюдение (CCTV)" | К списку рубрик  |  К списку авторов  |  К списку публикаций