![]() |
![]() |
![]() ![]()
В раздел "CCTV – реалии и перспективы" | К списку разделов АЛГОРИТМЫ ЦИФРОВОГО СЖАТИЯ ВИДЕОСИГНАЛАЗнание некоторых принципов легко возмещает незнание некоторых фактов Г.И.Макаров,
Введение Эффективность работы большинства цифровых видеосистем во многом определяется примененными в них алгоритмами сжатия видеосигнала. Действительно, первоначальный объем пакета информации от одного кадра цветного видеосигнала стандартного разрешения составляет приблизительно 650 кбайт, и такой пакет "выбрасывается" каждой камерой в систему 25 раз в секунду. Это означает, что для 16 камер цифровой поток составляет 260 Мбайт/с и каждую минуту заполняется почти 16 гекабайт дискового пространства. Разумеется, подобная цифровая система малопригодна для реальной жизни. Только внедрение прогрессивных технологий сжатия, то есть уменьшения объема пакета, позволило примирить мечту с действительностью. Если объем пакета от одного кадра после сжатия составит 3 килобайта (довольно типичная величина), то для рассмотренного выше примера получим цифровой поток в 1,2 Мбайт/с и каждую минуту будем заполнять 72 мегабайта памяти, что довольно просто обеспечивается на современном уровне развития цифровых технологий. Однако, несмотря на важность выбора типа применяемого сжатия, потребитель зачастую не представляет, что стоит за тем или иным названием конкретного алгоритма сжатия. Алгоритмы сжатия видеосигнала Все механизмы сжатия делятся на две крупные группы: без потери информации и с ее потерей. Алгоритмы сжатия без потери данных ищут в документах избыточную или повторяющуюся информацию, а затем ее кодируют. Никакая информация при этом не теряется и не искажается. Однако для сжатия видеосигнала подобный алгоритм, к сожалению, мало пригоден, поскольку слишком трудно найти повторяющиеся элементы в исходном пакете, так что он будет крайне мал. Поэтому, как это не горько признать, все применяемые на практике алгоритмы сжатия относятся ко второй группе, которая характеризуется потерей части информации. Алгоритмы с потерей информации раскладывают исходный пакет по определенному базовому набору стандартных функций, каждую из которых можно описать всего несколькими числовыми параметрами. Таким образом, здесь искусственно формируются "квазитокены". Программа-дешифровщик "знает", по каким базовым функциям было проведено разложение и по числовым параметрам восстанавливает исходный сигнал. Пока никакой потери информации не произошло, однако и размер пакета остался практически прежним, поскольку набор базовых функций для полного представления исходного пакета теоретически бесконечен. Вторая часть алгоритма, обеспечивающая само сжатие, находит и безвозвратно "выкидывает" ту часть набора базовых функций, которую она "считает" малозначимой для получателя пакета. Проще всего это пояснить на примере разложения сигнала по гармоническим функциям – преобразования Фурье. Физику же такого сжатия проще всего объяснить, в свою очередь, на примере человеческого глаза. Принято считать, что человеческий глаз позволяет воспринимать 700 мегабайт видеоинформации в секунду. Однако наш мозг использует лишь 1/1000 долю этой информации, отдавая предпочтение той ее части, в которой происходят резкие изменения. Степень "быстроты" изменения, при котором информация воспринимается наиболее полно, зависит от важности происходящего события. Точно так же и при данном сжатии видеосигнал каждый кадр подвергается дискретному Фурье-преобразованию и производится удаление верхних частотных составляющих (в зависимости от выставленного в программе "уровня внимания" записываются все более или менее крупные изменения изображения). Чем выше частота обрезания, тем больше объем записываемой информации и соответственно меньше степень ее сжатия. Как показывает опыт, таким образом можно добиться фактора сжатия до 20 раз при вполне приемлемом качестве восстановленной картинки.
Любой исходный пакет информации в этих алгоритмах раскладывается по подобным вейвлетам при помощи применения к ним операций сдвига – shifting и масштабирования (расширения/сжатия) – scaling. Еще раз подчеркнем, что принципиальным моментом этих алгоритмов является то, что используемые базовые функции локальны во времени (в этом и есть смысл их названия "маленькие волны"), то есть имеют конечную энергию в отличие от гармонических функций ("больших волн") Фурье-анализа. Это позволяет выполнять сжатие информации с фактором сжатия до 100 раз, при вполне приемлемом качестве восстановленной картинки. В свою очередь "сторонники" гармонического разложения также не остановились на достигнутом. Имея на руках такие свойства Фурье-преобразования, как простота его реализации и общераспространенность получаемого графического формата, они ринулись в бой. Практически проиграв на поле статичных изображений, они "вспомнили", что видеосигнал – есть последовательность из различных кадров. Значит, если научиться выделять в этой последовательности отдельные области (названные "макроблоками"), изменение которых от кадра к кадру мало или легко прогнозируемо, можно в целом существенно увеличить фактор сжатия. Были разработаны довольно хитрые алгоритмы, базирующиеся, тем не менее, на основе столь любимого многими дискретного Фурье-преобразования. Основная их идея – прогноз движения устойчивых объектов изображения от кадра к кадру. Например, в первом кадре изображение делится на мини-блоки 8х8 точек и макроблоки 16х16 (возможны и другие размеры макро-блоков в разных случаях) и осуществляется их обычное Фурье-преобразование. В последующих кадрах ищется новое местоположение имевшихся ранее макроблоков и на основании сравнения выполняется предсказание будущего их местоположения. Правильность прогноза периодически проверяется. Таким образом, можно достигнуть фактора сжатия видеопотока того же порядка, что и при использовании вейвлетов, а также при сохранении всех преимуществ Фурье-преобразования. Вы думаете, что сторонники вейвлетов "сдались" на поле динамичных видеопотоков? Ничего подобного. Несмотря на то, что осуществить сложную межкадровую обработку практически невозможно, они разработали, тем не менее, алгоритмы, реализующие в какой-то мере межкадровую обработку (хотя и в самом простом ее виде). Таким образом, на настоящий момент вопрос о том, на ком "надета желтая майка лидера" остается открытым. Определяющим будет, как всегда, практический опыт. Практическое применение алгоритмов сжатия Теперь перейдем к практическим применениям описанных выше алгоритмов сжатия видеосигнала, развитие которых в совокупности с уменьшением стоимости процессоров, обеспечило успешное внедрение цифровых видеосистем на рынок. В настоящее время в цифровом охранном телевидении используются следующие основные метода сжатия:
Искать физическую сущность в приведенных названиях абсолютно бесполезно (кроме Wavelet, использующего вейвлеты), ибо названия их в большинстве случаев происходят от названий групп специалистов, занимающихся разработкой тех или иных стандартов. Более того, во внешне похожих методах JPEG и JPEG2000 используются абсолютно разные механизмы, а внешне различные MPEG-2 и H.263 довольно похожи. Поскольку практически все существующие механизмы мы рассмотрели выше, представим суть всех практических методик в графическом виде на рис. 2.
Поскольку цель данной статьи – не сравнительные выводы, то не забывая о том, что лучшим критерием является опыт, приведем напоследок статистику применения методов сжатия в цифровых CCTV за несколько лет. Отсутствие в этой статистике метода JPEG 2000 связано с тем, что он начал получать практическую реализацию только в последнее время. В таблицах на простом примере представлен принцип действия алгоритмов без потери информации.
В раздел "CCTV – реалии и перспективы" | К списку разделов
|
![]() ![]() ![]() ![]()
|