experience the next
 
Главная  > Журнал «Experience the Next»  > Статьи из журнала

Алгоритм видеосжатия Motion Wavelet

01.11.2005

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

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

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

Преимущества алгоритма сжатия Motion Wavelet

1. Размер кадра. В алгоритме Motion Wavelet, как и в MPEG, сжатие кадров основано на том, что они образуют видеопоследовательность. Motion Wavelet обрабатывает изменения, которые возникают в очередном кадре по сравнению с предыдущим либо с опорным кадром. Этим он отличается от алгоритмов JPEG и Wavelet, в которых применяется покадровое сжатие, т.е. не учитывается, что видеоизображение, получаемое с телекамер, -- это некая видеопоследовательность. Отсюда вытекает одно из преимуществ Motion Wavelet по сравнению с JPEG и Wavelet. Оно состоит в том, что размер кадра в Motion Wavelet при сопоставимом качестве получается меньше в 5-10 раз, в зависимости от фона, от наличия перемещающихся объектов и от других факторов.

Это очень важное преимущество, поскольку средний размер кадра в видеопотоке должен быть минимальным. Именно от этого зависит возможность экономить на размерах видеоархивов на диске, на ширине сетевых каналов, на объеме сетевого трафика.

2. Адаптация к пропускной способности канала. Обычно в тех алгоритмах, в которых сжатие основано на обработке разности кадров, не допускается изъятие хотя бы одного кадра из видеопотока. При таком изъятии видеопоток "рушится". Например, если скорость потока -- 25 кадров в секунду, а в сеть вмещается только 12 кадров в секунду, то при передаче потока необходимо пропускать кадры через один. Тогда предыдущим становится не тот кадр, с которым изначально сравнивался кадр следующий, и поток распадается.

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

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

В Motion Wavelet при наличии в кадре какого-либо действия фиксируется качество: если в кадре начинается движение, то увеличивается величина сжатого потока, а качество остается стабильным.

4. Отсутствие блокинг-эффекта. В алгоритмах, использующих дискретное косинусное преобразование, как, например, JPEG и MPEG, изображение разделяется на блоки 8х8 пикселов и каждый блок переводится в частотное представление (крупным деталям соответствуют низкие частоты, мелким -- высокие частоты). При сжатии происходит удаление высокочастотных компонентов изображения. Чем больше та часть высокочастотной составляющей, которая удаляется, тем больше мелких деталей исчезает из изображения. При сильном сжатии возникает блокинг-эффект -- на изображении появляются квадраты. Алгоритм Motion Wavelet, как и алгоритм Wavelet, переводит в частотное представление не блоки, а весь кадр, и такого эффекта в нем нет. Если сильно сжать с помощью JPEG изображение лица, то получатся непонятные квадраты, а при сильном сжатии по Wavelet остаются контуры лица, глаз и т.д.

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

При передаче видеоизображения, сжатого по Motion Wavelet, например, со скоростью 25 кадров в секунду, определенный сетевой клиент, имеющий канал с низкой пропускной способностью, может подключиться к этому потоку и получать изображение со скоростью 3 кадра в секунду.

Формат MPEG не позволяет сделать этого, поскольку в нем идет жесткое кодирование от кадра к кадру. Из последовательности кадров MPEG нельзя выбрасывать отдельные кадры. В алгоритмах Wavelet и JPEG нет этой проблемы, и они, как и Motion Wavelet, позволяют при передаче пропускать кадры.

6. Возможность оптимизации загрузки на клиенте -- преимущество алгоритма Motion Wavelet, как и алгоритма Wavelet, перед всеми остальными алгоритмами сжатия видеоизображения.

Изображение, сжатое по алгоритму Motion Wavelet, в случае необходимости может быть декомпрессировано не до исходного разрешения, а до меньшего. Например, если нужно выводить на экран четыре кадра и, соответственно, уменьшить разрешение декомпрессированного изображения вдвое, то можно провести декомпрессию до этого половинного разрешения. Другие форматы сжатия не позволяют сделать это, и для всех алгоритмов, кроме Wavelet и Motion Wavelet, декомпрессор должен в такой ситуации выполнять лишнюю работу.

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

Сравнительные возможности Motion Wavelet и наиболее распространенных алгоритмов видеосжатия

 

JPEG

MPEG

Wavelet

Motion Wavelet

Размер кадра (эффективность сжатия) - + - +
Адаптация к каналу + - + +
Фиксированное качество + - + +
Отсутствие блокинг-эффекта - - + +
Оптимизация загрузки сервера + - + +
Оптимизация загрузки на клиенте (декомпрессия) - - + +
Обратное воспроизведение + - + +

Основное отличие Motion Wavelet от Delta Wavelet

Delta Wavelet -- это алгоритм, который использовался в продуктах компании ITV до того, как был разработан алгоритм Motion Wavelet.

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

В этом случае результат вычитания -- разность двух кадров -- имеет большой объем, причем за счет шумов. Такое сжатие очень неэффективно. Эта проблема отсутствует, когда требуется высокая степень сжатия и высокочастотная составляющая убирается из исходных кадров еще до вычисления их разности. Только в таком случае Delta Wavelet работает более-менее эффективно: в кадрах остаются только крупные контуры, они легко вычитаются друг из друга и хорошо сжимаются.

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

Сетевой видеосервер WaveHub

Алгоритм Motion Wavelet реализован на программном уровне во всех продуктах компании ITV, в том числе и в платах с аппаратной компрессией WS6 и WS8. Кроме того, имеется его аппаратная реализация в сетевом видеосервере WaveHub. Это устройство состоит из специализированного процессора TriMedia от Philips, в который имплантирован алгоритм Motion Wavelet, и процессора Ubicom для передачи видеопотока в сеть. На сетевых видеосерверах WaveHub можно строить распределенные системы видеонаблюдения. Помимо этого, ITV ведет разработку сетевой телекамеры, в основе которой также будет лежать Motion Wavelet.

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


Полезные материалы