CCTV. Библия видеонаблюдения. Цифровые и сетевые технологии
Шрифт:
С появлением единого стандарта JPEG-2000 стало возможно широкое применение вейвлет-сжатия при полной совместимости между различными продуктами и программами разных производителей. Появилось большое количество дополнительных программных модулей и аппаратных реализаций, что позволяет переносить изображения, сжатые этим стандартом, между различными платформами. Сейчас можно найти в Интернете дополнительные модули для Adobe Photoshop и веб-броузеров, реализующие поддержку JPEG-2000. Некоторые графические редакторы, такие, как Corel Photo Paint и JASC Paint Shop Pro уже имеют встроенную поддержку JPEG-2000. Именно для этого и проводится стандартизация, что позволяет нам работать с одним стандартным форматом файла в самых разных программах. Многие производители уже выпустили свои аппаратные реализации стандарта JPEG-2000, и эти кодеки доступны для видеонаблюдения.
Кроме того, стандарт JPEG-2000 предусматривает использование встраиваемой информации об авторе или источнике изображения. Для нас это полезно тем, что таким образом можно устанавливать подлинность изображения в видеонаблюдении. Существуют и варианты JPEG-2000, один из которых применим к видеоизображению и называется Motion JPEG-2000.
Рис. 9.38. Новый кодек ADV202 от Analog Devices использует JPEG-2000 и имеет большие перспективы для применения в охранном телевидении и телевидении высокой четкости.
Motion JPEG-2000
Motion JPEG-2000 это новый стандарт сжатия. Хотя он пока еще не используется в видеонаблюдении, но он очень перспективен, поэтому мы его упоминаем здесь. Благодаря масштабируемости вейвлет-сжатия Motion JPEG-2000 позволяет из одного видеопотока быстро получать видеопотоки разного разрешения. Эта особенность удачно используется в тех случаях, когда видеопоток с высоким разрешением используется для записи, а для удаленного просмотра используется видеопоток меньшего разрешения. Поскольку Motion JPEG-2000 является стандартом сжатия изображения, то все сжатые кадры (поля) независимы, что упрощает произвольный доступ к ним. Кроме того, это упрощает точно датирование кадров, что важно для видеонаблюдения и использования кадров в качестве доказательства в суде. Сжатие изображения происходит в режиме реального времени без задержки, что также упрощает процедуру хранения и передачи по сети видеопотоков.
MPEG-1
MPEG-1 (ISO 11172) — один из первых стандартов сжатия, предложенный группой MPEG (Motion Pictures Experts Group — экспертная группа по вопросам движущегося изображения ISO) вскоре после появления Н.261. MPEG-1 принадлежит к категории стандартов сжатия видеоизображения. Он работает с непрерывным оцифрованным видеосигналом и включает два звуковых канала. Визуальное качество при типичных уровнях сжатия (как на дисках VCD, например) сопоставимо с качеством записи аналогового видеомагнитофона VHS. Для сжатия звука сейчас используется популярный формат МРЗ.
MPEG-1 работает с последовательностью изображений формата CIF (352x288 для PAL; 352x240 для NTSC). Цветовая информация представлена половиной этого разрешения (176x144 или 176x120). Для MPEG-1 типичный видеопоток будет от 1 Мбит/с до 3 Мбит/с. Во время появления стандарта MPEG-1 у большинства проигрывателей компакт-дисков скорость передачи данных достигала примерно 1.5 Мбит/с, а основным применением нового стандарта сжатия была запись видео на компакт-диски. На компакт-диске объемом 700 Мбайт можно хранить до 1 часа видео, по этой причине для записи фильмов в формате VCD требовалось обычно два диска.
Рис. 9.39. Крайне упрощенное представление того, каким образом из опорного кадра вычисляются промежуточные
MPEG сам по себе определяет не алгоритмы сжатия (хотя и основан на DCT-преобразовании), а сжатие именно видеопотока, то есть организацию цифровых данных для записи, воспроизведения и передачи. Алгоритмы сжатия выбираются уже разработчиками, и качество сжатия будет сильно зависеть от выбранных алгоритмов.
Основная идея, которая лежит в основе сжатия видеоизображения, заключается в предсказании движения от кадра к кадру во временном направлении, после чего используется DCT-преобразование для выявления избыточности в пространственных направлениях. DCT-преобразование осуществляется на блоках 8x8, а предсказание движения осуществляется в яркостном канале (Y) на блоках 16x16. Другими словами блок 16x16 пикселов в текущем кадре кодируется с учетом такого же блока в предыдущем и последующем кадре. Например, в режиме обратного предсказания движения кадры, которые идут позже по времени, обрабатываются раньше, чтобы установить межкадровую зависимость.
Далее коэффициенты DCT-преобразования (самих видеоданных или разницы блоков) подвергаются квантованию. Вероятно, многие коэффициенты будут нулями.
Квантование может изменяться для каждого макроблока (макроблока 16x16 для Y и соответственно 8x8 для U и для V).
Рис. 9.40. Взаимосвязь кадров в группе изображений с 9 кадрами
Ко всем полученным в результате данным, которые включают коэффициенты DCT-преобразования, векторы движения, параметры квантования и другую информацию.
Существует три типа кадров в стандарте MPEG-1 (тоже самое и в MPEG-2): l-кадры (intra frames, кадры с внутренним кодированием), Р-кадры (predicted frames, кадры с предсказанным кодированием) и В-кадры (bidirectional frames, кадры, при кодировании которых используется предсказание, сформированное на основе предшествующего и последующего кадра).
l-кадры в общих чертах представляют собой изображения, которые кодируются с использованием только той информации, которая содержится в них самих (то же самое происходит при сжатии JPEG). Здесь устраняется только пространственная избыточность, и l-кадры затем используются как опорные для Р- и В-кадров, для которых используется межкадровое кодирование, что позволяет устранить и пространственную, и временную избыточность. Р-кадры кодируются с опорой на ближайший I- или Р-кадр. Каждый макроблок в Р-кадре может содержать коэффициенты DCT-преобразования разницы между этим макроблоком и аналогичным блоком в опорном кадре, либо только коэффициенты DCT-преобразования, как в l-кадре, если разница получается слишком большой. В-кадры кодируются с опорой на два ближайших I- или Р-кадра, один из которых предшествует В-кадру, а другой следует за В-кадром. Их название происходит от английского bidirectional, то есть двунаправленные (к предшествующему и последующему кадру). Кстати, именно этим и обусловлена задержка кодирования, типичная для сжатия MPEG.
Набор I-, Р- и В-кадров в MPEG называется группой изображений (Group of Pictures, GOP).
Если группа изображений состоит только из одного изображения, то это будет только опорный l-кадр, и такое кодирование будет выглядеть функциональным эквивалентом стандарта Motion-JPEG. В этом случае устраняется только пространственная избыточность, но не временная. Когда группа изображений насчитывает 12 или 15 кадров, достигается оптимальный компромисс между уровнем сжатия и не слишком большой задержкой кодирования.
Типичные повторяющиеся структуры группы изображений из 9 кадров выглядят так:
IBBBPBBBP IBBBPBBBP IBBBPBBBP…
В MPEG появляется новый побочный эффект задержки кодирования, связанный с предсказанием движения. Эта та цена, которую мы платим в MPEG за лучшее качество изображения при сравнительно небольших видеопотоках. Большинство устройств, поддерживающих сжатие MPEG, позволяют устанавливать размер видеопотока и структуру группы изображений, а при выборе оптимальной комбинации этих параметров задержку кодирования можно снизить до незаметного глазу уровня за счет увеличения видеопотока и уменьшения размера группы изображений. В целом, количество элементов в группе изображений и определяет задержку кодирования. Так, например, для группы изображений из 12 кадров задержка кодирования составит половину секунды (для PAL), что уже существенно. А если к этому добавляется задержка на передачу по сети, то становится понятным, откуда берется в MPEG время задержки кодирования больше секунды.