3.4.3. MPEG

Для мультимедиа важнейшим из стандартов MPEG является MPEG4, но использованная в нём схема обработки видео основана на старом стандарте MPEG1, который также иногда применяется в видео на компакт-дисках и в Web. Поэтому ниже мы рассмотрим сжатие MPEG1, а затем укажем, чем оно отличается от MPEG4 [10].

MPEG1

Стандарт MPEG1 не определяет алгоритм сжатия: он определяет синтаксис потока данных и алгоритм восстановления после сжатия, позволяющий производителям выпускать различные схемы сжатия и использовать "конкурентные преимущества рынка". Сжатие MPEG1 объединяет временное сжатие, основанное на компенсации движения, с пространственным, основанным на квантовании и кодировании частотных коэффициентов, полученных после применения к данным дискретного косинус-преобразования (ДКП).

Схемы сжатия MPEG1 не пытаются идентифицировать объекты на сцене. Вместо этого они делят каждый кадр на блоки размером 16х16 пикселей, называемые макроблоки, и пытаются предсказать местоположение соответствующего макроблока на следующем кадре. Перебираются все возможные смещения в пределах ограниченного диапазона, и выбирается наилучшее соответствие. Затем строится разностный кадр: все макроблоки вычитаются из предсказанных прототипов, причём после пространственного сжатия должно получиться меньше ненулевых пикселей и меньший разностный кадр. Тем самым, помимо разностного кадра, у нас теперь есть векторы движения, описывающие предсказанное смещение макроблоков между кадрами. Данные векторы движения можно сжимать. Поэтому, записывая разности векторов движения, мы дополнительно сжимаем данные.

Временное сжатие

Ключевые кадры MPEG называются I-изображениями (от "iritra" − внутренние). Они сжимаются исключительно пространственно (внутрикадровое сжатие). Разностные кадры, использующие предыдущие кадры, называются Р-изображениями (от "predicted" − предсказанные). Р-изображения могут строиться по предыдущим I- или Р-изображениям. В-изображения (от "bi-directional prediction" − двунаправленное предсказание) − предсказывание по последующим кадрам. В В-изображениях можно использовать компенсацию движения с учётом следующих I- и/или Р-изображений, что оправдывает их название − "изображения с двунаправленным предсказанием".

Видеоклип можно закодировать в сжатой форме как последовательность I-, Р- и В-изображений. Данная последовательность необязательно должна быть регулярной, но в схемах кодирования обычно используется повторяющаяся последовательность, известная как группа изображений (Group of PicturesGOP), которая всегда начинается с I-изображения. Типичный пример такой схемы приведен на рис. 3.11 (читается слева направо в хронологическом порядке). Данная последовательность GOP представляется как IBBPBB; на рисунке показаны две группы: кадры 01-06 и 11-16. Стрелки указывают прямое и двунаправленное предсказание.

Например, Р-изображение 04 зависит от I-изображения 01 в начале группы GOP; В-изображения 05 и 06 зависят от предшествующего Р-изображения 04 и последующего I-изображения 11. Все три типа изображений сжимаются с помощью JPEG (версии, реализованной в MPEG1).

Как показывают результаты измерений, обычно Р-изображения сжимаются втрое сильнее, чем I-изображения, а В-изображения − в полтора раза сильнее, чем Р-изображения. В то же время восстанавливать В-изображения сложнее, чем другие, поэтому при разработке схемы GOP нужно выбирать между степенью сжатия и вычислительной сложностью. Дополнительным фактором является сложность произвольного доступа к кадрам, соответствующим В- и Р-изображениям, поэтому желательно включать I-изображения достаточно часто, чтобы гарантировать произвольный доступ к нескольким кадрам каждой секунды. К числу популярных схем GOP относятся IBBPBBPBB и IBBPBBPBBPBB.

Рис. 3.12. Последовательность MPEG в порядке изображения