MPEG4

MPEG4 − это стандарт, определяющий кодирование мультимедийных потоков, составленных из различных типов объектов: видео, неподвижных изображений, анимации, текстуры, трёхмерных моделей и др. Данный стандарт предлагает способ составления сцен на принимающей стороне по отдельно переданным представлениям объектов. Суть в том, что при таком подходе каждый тип объектов представлен оптимально. Это не только позволяет достичь большего сжатия, но также облегчает взаимодействие с получающейся сценой, поскольку объекты сохраняют собственные сущности.

Идея стандарта MPEG4 заключается не в стандартизации одного продукта, а в объединении нескольких подстандартов.

Наиболее важные подстандарты:

• ISO 14496-1 (Системы), формат контейнера MP4, анимация/интерактивность (например, DVD-меню);

• ISO 14496-2 (Видео #1), Продвинутый простой профайл (Advanced Simple ProfileASP);

• ISO 14496-3 (Аудио), Продвинутое кодирование аудио (Advanced Audio CodingAAC);

• ISO 14496-10 (Видео #2), Продвинутое кодирование видео (Advanced Video CodingAVC), также известное как H.264.

Стандарт MPEG4 определяет для видеоданных набор профилей. Высшие профили используют метод деления сцены на видеообъекты произвольной формы (например, певец и декорации, на фоне которых ведётся выступление), которые можно сжимать по отдельности. Лучший метод сжатия фона может отличаться от лучшего метода сжатия человека, поэтому, разделив эти два "объекта", можно повысить общую эффективность сжатия. В то же время деление сцены на объекты является нетривиальной задачей, поэтому нижние профили − Simple Profile и Advanced Simple Profile − ограничены прямоугольными объектами, в частности − завершёнными кадрами, и именно эти профили реализованы в таких широко используемых системах, как QuickTime и DivX. Следовательно, для практических целей сжатие видео MPEG4 − это удобный кодек работы с кадрами, являющийся улучшенным вариантом описанного выше кодека MPEG1. I-изображения сжимаются путём квантования и применения кодирования Хаффмана к коэффициентам ДКП, но для генерации Р- и В-изображений используются улучшенные схемы компенсации движения, что позволяет достигать лучшего качества при той же скорости передачи или такого же качества при меньших скоростях (как в MPEG1).

Простой профиль (Simple Profile) использует для межкадрового сжатия только Р-изображения. Это означает, что восстановление сжатых данных может быть эффективнее, чем при использовании более доскональных схем, в которых задействованы В-изображения (те, которые могут зависеть от последующих изображений), поэтому Simple Profile подходит для реализации на таких устройствах, как PDA и портативные видеопроигрыватели. Advanced Simple Profile добавляет сжатие В-изображении ещё несколько деталей.

3.4.4. Cinepack, Intel Indeo, Sorenson

Помимо MPEG4 для сжатия видео встречаются и другие кодеки [10].

Кодеки Cinepack, Intel Indeo, Sorenson основаны на технологии векторного квантования, которая действует следующим образом: каждый кадр делится на маленькие прямоугольные блоки пикселей − "векторы" схемы. Кодек использует набор постоянных векторов, называемых кодовой книгой; векторы кодовой книги представляют типичные шаблоны, которые могут встретиться на изображении − области, закрашенные одним цветом, острые или плавные края, различные текстуры. Квантованием называется процесс сопоставления каждому вектору изображения вектора кодовой книги, который наиболее точно его аппроксимирует. Векторное квантование обеспечивает сжатие, поскольку каждый вектор изображения можно заменить индексом из кодовой книги. Восстановить изображение можно по данным индексам и векторам кодовой книги, соответствующим записанным индексам. Таким образом, восстановление чрезвычайно эффективно, и его можно выполнить без специализированного аппаратного обеспечения. Сжатие, с другой стороны, является вычислительно интенсивным процессом, поэтому данные кодеки сильно асимметричны: сжатие кадра с помощью Cinepack, например, отнимает в 150 раз больше времени, чем восстановление.

Во всех трёх схемах (Cinepack, Intel Indeo и Sorenson) сжатие с помощью векторного квантования усиливается временным сжатием с использованием ключевых и разностных кадров. В двух первых схемах используется прямая разностная схема, a Sorenson использует более сложный подход, включающий компенсацию движения, подобную той, которая применяется при сжатии MPEG.

Считается, что Cinepack больше подходит для материала, содержащего много движения, но Indeo лучше для более статического материала, где этот кодек позволяет точнее передавать цвета. Впрочем, в любом случае качество не очень хорошее. Самым "свежим" из трёх названных кодеков является Sorenson, который широко рекламируется как лучший из них, и с точки зрения качества, и с позиции возможного сжатия.