Методы сжатия кадров основаны на дискретно-косинусном преобразовании. Картинка подразделяется на квадратные блоки, обычно 8х8 пикселов. В пределах каждого блока значения яркости и цветности точек переводятся в некоторые частотные коэффициенты. На этом этапе потерь информации не происходит. Затем производится квантование с переменным интервалом, то есть наибольшее число уровней квантования (значений, до которых производится округление) приходится на низкочастотную область, описывающую крупные объекты. В высокочастотной области, ответственной за детали изображения, происходит грубое округление значений до небольшого числа разрешенных уровней. Внешне результат выглядит как уменьшение разрешения, иногда сопровождающееся появлением артефактов. В несколько утрированном виде последствия такого сжатия можно проиллюстрировать при помощи обычного JPEG с высоким уровнем сжатия. Обратите внимание на рис. 3.6. Исходная надпись создана в CorelDraw с использованием градиентной заливки из черного в белый. Вверху – изображение импортировано в формат TIFF с разрешение 300 dpi и стандартным сглаживанием, снизу – то же изображение преобразовано в формат JPEG с максимальным уровнем сжатия. Разрешение то же. Разумеется, в реальной жизни никому не придет в голову использовать такую обработку для векторных картинок. При меньшем уровне сжатия и для картинки с пестрым фоном повреждения будут гораздо меньше. Чувствительность зрения к высокочастотным компонентам изображения (мелким деталям) меньше, чем к низкочастотным составляющим (крупным фрагментам). Поэтому, если в результате обработки «слипнутся», например, травинки или брызги воды, зритель может этого и не заметить. Особенно когда мы имеем дело с видеорядом изображений. Крупные же объекты с плавным краем обработка почти не искажает.

Видео на вашем компьютере: ТВ тюнеры, захват кадра, видеомонтаж, DVD _19.jpg
Рис. 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).

Видео на вашем компьютере: ТВ тюнеры, захват кадра, видеомонтаж, DVD _20.jpg
Рис. 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 – масштабирование соотношения сигнал/шум) кодируются с одинаковой скоростью, но с разным качеством: менее приоритетный слой содержит плохую картинку – более дискретные шаги, а высокоприоритетный слой содержит довесок, позволяющий построить качественную картинку.

При временном масштабировании слои различаются по скорости передачи информации. Обычно больший приоритет имеют низкочастотные компоненты, а меньший – более высокочастотные (мелкие детали).

Уровни определяют размер кадра и величину потока – см. табл. 3.1.

Существуют запретные сочетания уровней и профилей, например для профиля Main невозможны уровни High. Наиболее часто встречается сочетание главного уровня с главным профилем. Встретив обозначение ML@MP, не пугайтесь, это всего лишь Main Level, Main Profile. Возможны и более развернутые обозначения, например IBP 15/3 MP@ML. Вы, наверное, уже поняли, что такая запись означает главный уровень, главный профиль, кодирование с использованием и I-, B– и P-кадров, группы из 15 кадров, по 3 B-кадра между P-кадрами.Таблица 3.1

Видео на вашем компьютере: ТВ тюнеры, захват кадра, видеомонтаж, DVD _21.jpg

MPEG 2 является наиболее распространенным способом сжатия видеоданных и применяется во многих цифровых форматах. Однако в наиболее дорогой технике профессионального класса предпочитают обходиться без компрессии, следуя по пути увеличения скорости протяжки ленты и ее расхода, а для компьютерного видео – распараллеливания записей.