Motion Wavelet — алгоритм сжатия видеоизображения, то есть сжатие кадров основано на том, что они образуют видеопоследовательность. Motion Wavelet обрабатывает изменения, которые возникают в очередном кадре по сравнению с предыдущим либо с опорным кадром. Этим он отличается от алгоритмов сжатия изображения (JPEG и Wavelet), в которых применяется покадровое сжатие. Поэтому размер кадра в Motion Wavelet при сопоставимом качестве получается меньше в 5-10 раз. Разница в среднем размере кадра будет зависеть от фона, наличия перемещающихся объектов и от других факторов.
В отличие от многих алгоритмов сжатия видеоизображения (например, алгоритмы MPEG) Motion Wavelet работает не по принципу вычитания кадров и сжатия полученной разницы. Motion Wavelet при анализе последовательности кадров использует детектор движения, который определяет на следующем кадре, какие элементы изображения изменятся, и сжимает только их. Если начинается движение во всем кадре, то будут обрабатываться и сжиматься все кадры полностью, что будет аналогично покадровому сжатию Wavelet. Впрочем, для видеонаблюдения именно сжатие, связанное с движением отдельных фрагментов, играет основную роль.
Обычно в тех алгоритмах, у которых сжатие основано на обработке разности кадров, не допускается изъятие хотя бы одного кадра из видеопотока, иначе он «распадается».
Эта проблема есть в наиболее распространенных реализациях алгоритма MPEG — они не могут адаптироваться к пропускной способности канала (например, при передаче видеоизображения по сети или по модему) и требуют канал фиксированной ширины. При использовании покадровых алгоритмов JPEG и Wavelet сжимается каждый кадр, поэтому здесь такая проблема отсутствует. Motion Wavelet может адаптироваться к каналу, поскольку если из потока, сжатого с его помощью, выкидывать блоки, то кадр потом можно будет восстановить, потому что сжатие очередного кадра по Motion Wavelet не имеет жесткой привязки к предыдущему кадру.
В наиболее распространенных реализациях алгоритма MPEG фиксируется величина сжимаемого потока. Это означает, что чем больше изменений происходит от кадра к кадру, тем хуже качество сжатого видеоизображения. Если в кадре ничего не изменяется, то качество сжатого изображения — отличное, но если объект начал двигаться, качество сжатого видеоизображения падает. Для видеонаблюдения такую ситуацию нельзя считать удовлетворительной, потому что здесь очень важно наблюдение с хорошим качеством именно движущихся объектов. В Motion Wavelet при наличии в кадре какого-либо действия фиксируется качество: если в кадре начинается движение, то увеличивается величина сжатого потока, а качество остается стабильным.
Еще одна проблема, которая возникает при передаче видеоизображения по сети в форматах MPEG, заключается в том, что видеопоток, сжатый с одной скоростью (например, 25 к/с), без дополнительного перекодирования нельзя передавать меньшей скоростью из-за жесткой привязки в последовательности кадров друг к другу. В алгоритмах Wavelet и JPEG нет этой проблемы. Она была решена и в алгоритме Motion Wavelet, который также позволяет при передаче пропускать кадры.
Так как Motion Wavelet для сжатия кадров использует вейвлет-преобразование, то все преимущества этого сжатия сохранились. Благодаря масштабируемости вейвлет-сжатия Motion Wavelet также позволяет из одного видеопотока быстро получать видеопотоки разного разрешения, когда видеопоток с высоким разрешением используется, например, для записи, а для удаленного просмотра используется видеопоток меньшего разрешения. Кроме того, в алгоритмах, использующих дискретное косинусное преобразование, как, например, JPEG и MPEG, возникает эффект блочности, но для Motion Wavelet, как и для любого вейвлет-сжатия, этот эффект нехарактерен.
Все алгоритмы компрессии, о которых мы говорили ранее, базируются на одном мельчайшем элементе. Это пиксел, «кирпичик», из которых строится любое цифровое изображение. Этот термин необходимо проанализировать подробнее, так как именно пиксел определяет четкость изображения и детализацию, которую мы увидим.
Рис. 9.45.
Пиксел (от англ.