CCTV. Библия видеонаблюдения. Цифровые и сетевые технологии
Шрифт:
MPEG-1
MPEG-1 (ISO 11172) — один из первых стандартов сжатия, предложенный группой MPEG (Motion Pictures Experts Group — экспертная группа по вопросам движущегося изображения ISO) вскоре после появления Н.261. MPEG-1 принадлежит к категории стандартов сжатия видеоизображения. Он работает с непрерывным оцифрованным видеосигналом и включает два звуковых канала. Визуальное качество при типичных уровнях сжатия (как на дисках VCD, например) сопоставимо с качеством записи аналогового видеомагнитофона VHS. Для сжатия звука сейчас используется популярный формат МРЗ.
MPEG-1 работает с последовательностью
Рис. 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).
Набор I-, Р- и В-кадров в MPEG называется группой изображений (Group of Pictures, GOP).
Если группа изображений состоит только из одного изображения, то это будет только опорный l-кадр, и такое кодирование будет выглядеть функциональным эквивалентом стандарта Motion-JPEG. В этом случае устраняется только пространственная избыточность, но не временная. Когда группа изображений насчитывает 12 или 15 кадров, достигается оптимальный компромисс между уровнем сжатия и не слишком большой задержкой кодирования.
Типичные повторяющиеся структуры группы изображений из 9 кадров выглядят так:
IBBBPBBBP IBBBPBBBP IBBBPBBBP…
В MPEG появляется новый побочный эффект задержки кодирования, связанный с предсказанием движения. Эта та цена, которую мы платим в MPEG за лучшее качество изображения при сравнительно небольших видеопотоках. Большинство устройств, поддерживающих сжатие MPEG, позволяют устанавливать размер видеопотока и структуру группы изображений, а при выборе оптимальной комбинации этих параметров задержку кодирования можно снизить до незаметного глазу уровня за счет увеличения видеопотока и уменьшения размера группы изображений. В целом, количество элементов в группе изображений и определяет задержку кодирования. Так, например, для группы изображений из 12 кадров задержка кодирования составит половину секунды (для PAL), что уже существенно. А если к этому добавляется задержка на передачу по сети, то становится понятным, откуда берется в MPEG время задержки кодирования больше секунды.
Задержка кодирования может остаться незамеченной в системах видеонаблюдения, где используются только неподвижные телекамеры, но когда мы управляем поворотными телекамерами, эта задержка становится серьезной проблемой. Вполне закономерным будет вопрос о том, какая задержка кодирования MPEG и передачи по сети может считаться приемлемой. На самом деле это определяется скоростью реакции человека. Например, считается, что при управлении автомобилем скорость реакции человека не более 200 мс. Если мы опираемся на эти данные, что 200 мс будут считаться вполне приемлемой на практике задержкой.
Еще один интересный побочный эффект от двухстороннего предсказания движения в макроблоках проявляется в виде уменьшения шума из-за усреднения.
На практике чаще всего MPEG-1 используется для хранения видео на компакт-дисках, но иногда этот стандарт находит применение в кабельном телевидении и в видеоконференциях. Впрочем, существуют и цифровые видеорегистраторы для видеонаблюдения, которые записывают видео в режиме реального времени и тоже используют MPEG-1. Их применяют в том случае, когда скорость записи важнее, чем высокое разрешение. Большинство качественных цифровых видеорегистраторов, использующих MPEG-2, обратно совместимы с MPEG-1 и могут записывать и воспроизводить видеопоток стандарта MPEG-1.