Рис. 3.6. Изменение изображения при конвертации в формат JPEG с максимальным уровнем компрессии
Для видео, кроме компрессии одного кадра – пространственного или внутрикадрового сжатия, – возможно межкадровое сжатие, основанное на том, что два соседних кадра обычно очень похожи.
На межкадровом сжатии основан, например, наиболее часто использующийся формат компрессии MPEG, на котором следует остановиться подробнее. Вообще MPEG – это не формат и даже не группа форматов. По словам одного из разработчиков, Джона Уоткинсона, «MPEG – это набор стандартных средств или точно определенных алгоритмов, которые могут комбинироваться многими способами при реализации аппаратуры цифрового сжатия». Собственно, аббревиатура MPEG расшифровывается как Moving Picture Expert Group (группа экспертов по движущимся изображениям). Он предусматривает компрессию видео– и аудиоматериала, а также способы их объединения и синхронизации. Литературы по MPEG очень много. Мы кратко коснемся только обработки видеоданных. Метод сжатия MPEG 1 основан на том, что полностью записывается лишь один кадр из группы примерно в 10 кадров. Это опорный, или I-кадр. Он сворачивается методами внутрикадрового сжатия. Следующие кадры сравниваются при кодировании, и вычисляются векторы движения. Для этого кадр подразделяется на макроблоки размером 16x16 пикселов, и измеряется движение фрагмента при переходе к следующему кадру. Для некоторого предсказанного кадра (P-кадра) производится сравнение с реальным, и определяется ошибка предсказания. При помощи векторов движения и разностных данных кодируются и остальные кадры. Их называют двунаправленными (В-кадрами), поскольку для их декодирования необходим I– или P-кадр до и после данного B-кадра. Последовательности I-, P-, B-кадров объединяются в фиксированные по длине и структуре группы, называемые GOP (Group of Pictures). Каждая такая группа обязательно начинается с I-кадра и с определенной периодичностью содержит P-кадры. Ее структуру описывают как M/N, где M – общее число кадров в группе, а N – интервал между P-кадрами. Для кадров разных типов применяется различный уровень компрессии. Наименее сильно сжимаются I-кадры. Р-кадр составляет по размеру примерно третью часть от I, а B – восьмую. Поэтому суммарный поток данных в значительной степени зависит от состава GOP. В зависимости от назначения и требуемого качества записи – видеофильм, мультимедиа-продукция, фильм для демонстрации в Internet и т. д. – используется различный состав GOP. Так, типичная для Video-CD IPB группа 15/3 имеет следующий вид: IBBPBBPBBPBBPBB. Программы для записи MPEG обычно позволяют пользователю регулировать состав группы.
Теоретически MPEG позволяет описывать кадры большого размера, но в связи с ограничением числа макроблоков на картинку реальный размер кадра составляет 352x240, 30 кадров/с (SIF) или 352x288, 25 кадров/с, формат 4:2:0, 8 бит на точку.
MPEG позволяет значительно уменьшить суммарный поток данных. Естественно, потери качества при очень высоком уровне сжатия будут происходить вне зависимости от алгоритма обработки. Обычно программы сжатия позволяют заранее выбрать требуемое качество и показывают поток данных, которые вы получите в этом случае. Уменьшение потока в ущерб качеству обычно выбирают при создании видео для Intenet и мультимедиа-приложений.
Поскольку B-кадр нельзя декодировать, не приняв последующего P-кадра, кадры декодируются не в линейной последовательности (рис. 3.7).
Рис. 3.7. Изменение последовательность кадров при декодировании MPEG
Алгоритм MPEG 2 является усовершенствованным вариантом MPEG 1, использует поиск и удаление избыточности (повторяющейся информации) в видеосигнале. Поскольку, по некоторым данным, дублируется более 90 % информации, уровень компрессии может быть весьма высоким. Этот стандарт позволяет работать с кадром полного размера, с видео в стандарте не только 4:2:2, но и 4:4:4, чересстрочной разверткой, широкоформатным изображением (соотношение сторон кадра 16:9).
MPEG подразделяется на уровни и профили. Профиль определяет набор методов обработки, а уровень – перечень ограничений, таких, как размер кадра или скорость потока данных.
В профиле Simple (простой) отсутствуют B-кадры, профиль Main (основной) – это обычный MPEG 1. В более высоких профилях – Main+ (основной+), Next (следующий) – используется разделение на три слоя, что позволяет организовать приоритет при передаче данных. При пространственном масштабировании основной, менее приоритетный слой кодируется с меньшим разрешением и затем используется как предсказание для более приоритетных. SNR-каналы (Signal to Noise Ratio Scalability – масштабирование соотношения сигнал/шум) кодируются с одинаковой скоростью, но с разным качеством: менее приоритетный слой содержит плохую картинку – более дискретные шаги, а высокоприоритетный слой содержит довесок, позволяющий построить качественную картинку.
Читать дальше
Конец ознакомительного отрывка
Купить книгу