MPEG (MPEG-1, MPEG-2, MPEG-3, MPEG-4)

 

MPEG - это аббревиатура от Moving Picture Experts Group. Эта экспертная группа работает под совместным руководством двух организаций - ISO (Организация по международным стандартам) и IEC (Международная электротехническая комиссия). Официальное название группы - ISO/IEC JTC1 SC29 WG11. Ее задача - разработка единых норм кодирования аудио- и видеосигналов. Стандарты MPEG используются в технологиях CD-i и CD-Video, являются частью стандарта DVD, активно применяются в цифровом радиовещании, в кабельном и спутниковом ТВ, Интернет-радио, мультимедийных компьютерных продуктах, в коммуникациях по каналам ISDN и многих других электронных информационных системах.

MPEG-1

Очень популярный формат во всём мире, с основой, взятой от кодека JPG. Сжатие в нем производится сериями по три кадра. Это один из самых старых кодеков, так что, практически на любых, даже самых «слабых» машинах можно просмотреть видео со стереозвуком в этом формате. Однако и качество изображения невысокое: оно сравнимо с привычным аналоговым форматом VHS. Картинка имеет разрешение 352х288 точек, да и качество ее оставляет желать лучшего. И хотя MPEG-1 не требователен к ресурсам, его судьба предрешена: с развитием ёмкости и скорости передачи данных в компьютерах и интернете формат будет постепенно забываться.

Как происходит сжатие информации в этом формате? Предположим, что у нас есть следующая сцена: автомобиль движется из пункта "А" в пункт "Б". Перемещение машины можно описать двумя параметрами: вектором перемещения из точки "А" в точку "Б" и углом поворота вокруг своей оси. Задний план при этом остается неизменным или почти неизменным - зритель вряд ли обратит внимание на колебания мелких веток у дальних деревьев. Следовательно, можно разбить кадр на две составные части - задний план, который сохраняется один раз, а затем подставляется при воспроизведении всех кадров, и область, где движется машина, - ее придется записывать отдельно для каждого кадра.

В формате MPEG-1 все кадры видеоролика подразделяются на три типа: I-, P- и B-кадры. К первому типу (I-кадры, Intra Frames) относятся опорные кадры. Их изображения сохраняются в полном объеме в формате JPEG. Для P-кадров (Predicted Frames) записываются только отличия от предыдущего i-кадра, что требует намного меньше дискового пространства. Для B-кадров (Bi-DirectiOnally Interpolated Frames) сохраняются отличия от предыдущего и следующего I- или P-кадра.

 

 

В итоге размер сжатого файла составляет примерно 1/35 от исходного. Это значит, что полуторачасовой фильм с качеством, эквивалентным аналоговой записи на кассете VHS, в формате MPEG-1 поместится на два компакт-диска. Для передачи через Internet или в сетях спутникового вещания этот стандарт, конечно же, не подходит.

MPEG-2

MPEG-2 представляет собой дальнейшее расширение MPEG-1. В нем увеличен рекомендуемый размер кадра - теперь он составляет 1920 x 1080 точек, добавлена поддержка шестиканального звука. Однако для воспроизведения видео в этом формате требуется более высокая вычислительная мощность компьютера.

Следует отметить, что велась работа над созданием стандарта MPEG-3 (не нужно путать с популярным форматом сжатия звука - MPEG-1 Audio Layer 3). Он должен был стать базовым для систем цифрового телевидения высокой четкости HDTV. Но работа над ним была прервана, поскольку нужные для HDTV требования удалось реализовать в виде небольших расширений к MPEG-2.

Доминирующий формат на сегодня это MPEG-2 с разрешением 720х576 точек. Все DVD-video диски работают в формате MPEG-2. Трансляции со спутников в несколько каналов на одной частоте, эфирная трансляция, в том числе ТВ высокой четкости, разнообразные плееры DVD, microMV-видеокамеры используют этот формат сжатия. И это не удивительно. После триумфального успеха MPEG-1, новый формат, обеспечивающий практически профессиональное качество картинки, утверждался довольно долго, и получился очень удачным. MPEG-2 подходит для записи полуторачасового фильма отличного качества на стандартный диск DVD (4,7 Гб). Кроме того, в этом формате можно записывать на двойные DVD (9 Гб) фильмы повышенного качества с использованием нескольких разных дорожек звука (дубляж), разных форматов многоканального звучания, субтитров, разных углов обзора видеоматериала (несколько синхронных дорожек видео) и других цифровых новшеств. Среди них, например, присутствует произвольный мгновенный доступ к любой части видеоматериала на диске и отсутствие перемотки при достижении конца видеоматериала, что раньше являлось довольно большой проблемой.

MPEG-2 позволяет использовать разрешения вплоть до 1920х1080 пикселов (25 кадров в секунду, с полями и без полей, с прогрессивной разверткой) и поддерживает 6-канальный звук.

Особенности этого формата широко использует компания Sony в своем расширенном стандарте microMV, хотя поток информации там повышен до 12 Мбит/с (по сравнению с максимальным стандартом DVD 9,8 Мбит/с), а размер кассеты уменьшен (по сравнению с DV). И всё же стандарт DV отличается большей устойчивостью и большим распространением по всему миру.

Недавно появились камеры, которые пишут сразу на miniDVD диски в формате MPEG-2. Они имеют несколько важных достоинств - перезапись дисков до 1000 раз без потери качества, доступность материала и некоторые другие преимущества. Но очевиден и недостаток - ограниченный объем записанного материала (до 30 минут на 1 miniDVD диск). Хотя для любительских съемок это очень подходящий вариант: миниDVD диски прекрасно воспроизводятся на бытовых плеерах и ПК, а программы идущие с такими камерами позволяют проводить монтаж на любом компьютере, оснащенном DVD-приводом.

MPEG-3

Предназначался для использования в системах телевидения высокой чёткости (high-defenition television, HDTV) со скоростью потока данных 20-40 Мбит/с, но позже стал частью стандарта MPEG-2 и отдельно теперь не упоминается. Кстати, формат MP3 , который иногда путают с MPEG-3, предназначен только для сжатия аудиоинформации и полное название MP3 звучит как MPEG Audio Layer III.

MPEG-4

Форматы MPEG-1 и MPEG-2 не обеспечивали реальной возможности трансляции видео по сети Internet и создания интерактивного телевидения на их основе - слишком уж большим был размер файлов. Для его радикального уменьшения, а также реализации других функций, необходимых для передачи потокового видео, была начата работа над спецификациями нового формата - MPEG-4. По сути, он ориентирован не столько на сжатие видео, сколько на создание так называемого "мультимедийного контента" - слияния интерактивного телевидения, 3D-графики, текста и т. д.

Формат MPEG-4 сочетает отличный звук и максимальное уплотнение видеосигнала (до 30-40% лучше чем у предшественника). Разница заключается в том, что кодируется последовательность более чем из трех кадров (обычно до 250 кадров). Тем самым достигается большее сжатие и возможность смотреть в режиме реального времени качественное потоковое видео в интернет. Динамическое сжатие также эффективно использует ресурсы, и на обычный компакт-диск помещается 1,5 часа видео в достаточно хорошем качестве. Однако, в большинстве случаев, внимательный зритель сможет увидеть на хорошем экране разницу между изображением, закодированном в MPEG2 и MPEG4.

Интересной особенностью формата является то, что для типовых объектов даже разработаны отдельные алгоритмы предсказания и описания их движений - это касается, в частности, походки людей, наиболее распространенных жестов, мимики. Теперь такие изменения в кадрах нет нужды записывать вообще - их можно рассчитать программно.

В MPEG-4 поддерживается отображение текста различными шрифтами поверх видеоизображения. Более того, этот текст может быть озвучен с помощью синтезатора речи с возможностью имитации мужских и женских голосов. При необходимости голос синхронизируется с движениями лица диктора в соответствии с произносимыми фонемами. Также может синтезироваться звучание некоторых музыкальных инструментов. Сжатие оцифрованных звукозаписей осуществляется более эффективно с помощью специально разработанного кодека AAC (Advanced Audio Codec).

Некоторые видеокамеры позволяют записывать в формате MPEG-4 видео на собственную карту памяти или работать как web-камера, передавая по USB кабелю видео со звуком в формате MPEG-4.

Кроме того, современные технологии позволяют даже воспроизводить цифровое телевидение (сжатое в формате MPEG-4 или MPEG-2) с помощью мобильных телефонов, используя GPRS.

На сегодня, MPEG-4 - это наиболее популярный формат распространения видео в интернете и на персональных компьютерах. Рациональное использование памяти при хорошем качестве видео дают о себе знать. Каждая последующая версия кодека MPEG-4 (на сегодня используются 3.хх, 4.хх и 5.хх версии) привносит всё новые и новые прогрессивные улучшения. Большое количество бытовых плееров, КПК и прочих устройств без проблем работают с этим форматом. MPEG-4 будет актуален еще, как минимум, лет десять, пока ему на смену не придёт что-то принципиально новое.

 

MJPEG

 

MPEG-компрессия использует следующие основные идеи:

1. Устранение временной избыточности видео, учитывающее тот факт, что в пределах коротких интервалов времени большинство фрагментов сцены оказываются неподвижными или незначительно смещаются по полю.

2. Устранение пространственной избыточности изображений подавлением мелких деталей сцены, несущественных для визуального восприятия человеком;

3. Использование более низкого цветового разрешения при yuv-представлении изображений (y - яркость, u и v - цветоразностные сигналы) - установлено, что глаз менее чувствителен к пространственным изменениям оттенков цвета по сравнению с изменениями яркости.

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

5. Изображения в Mpeg-последовательности подразделяются на следующие типы:

· I (intra), играющие роль опорных при восстановлении остальных изображений по их разностям;

· P (predicted), содержащие разность текущего изображения с предыдущим I или P с учетом смещений отдельных фрагментов;

· B (bidirectionally predicted), содержащие разность текущего изображения с предыдущим и последующим изображениями типов I или P с учетом смещений отдельных фрагментов.

Изображения объединяются в группы (GOP - Group Of Pictures), представляющие собой минимальный повторяемый набор последовательных изображений, которые могут быть декодированы независимо от других изображений в последовательности. Типичной является группа вида (I0 B1 B2 P3 B4 B5 P6 B7 B8 P9 B10 B11) (I12 B13 B14 P15 B16 B17 P18…), в которой I тип повторяется каждые полсекунды. Обратим внимание, что в изображении P3 основная часть фрагментов сцены предсказывается на основании соответствующих смещенных фрагментов изображения I0. Собственно кодированию подвергаются только разности этих пар фрагментов. Аналогично P6 «строится» на базе P3, P9 - на базе P6 и т.д. В то же время большинство фрагментов B1 и B2 предсказываются как полусумма смещенных фрагментов из I0 и P3, B4 и B5 - из P3 и P6, B7 и B8 - из P6 и P9 и т.д. Наряду с этим B-изображения не используются для предсказания никаких других изображений. В силу зависимости изображений в процессе их кодирования меняется порядок следования. Для вышеприведенной последовательности он будет следующим: I0 P3 B1 B2 P6 B4 B5 P9 B7 B8 I12 B10 B11 P15 B13 B14 P18 B16 B17…

Ясно, что точность кодирования должна быть максимальной для I, ниже - для P, минимальной - для B. Установлено, что для типичных сцен хорошие результаты достигаются при отведении числа бит для I в 3 раза больше, чем для P , и для P в 2-5 раз больше, чем для B. Эти отношения уменьшаются для динамичных сцен и увеличиваются для статичных.

Отдельные изображения состоят из макроблоков. Макроблок - это основная структурная единица фрагментации изображения. Он соответствует участку изображения размером 16*16 пикселов. Именно для них определяются вектора смещения относительно I- или P-изображений. Общее число макроблоков в изображении - 396. Для повышения устойчивости процесса восстановления изображений к возможным ошибкам передачи данных последовательные макроблоки объединяют в независимые друг от друга разделы (slices), максимальным числом 396. В предельном случае «чистой» передачи на изображение приходится всего один раздел из 396 макроблоков. В свою очередь каждый макроблок состоит из шести блоков, четыре из которых несут информацию о яркости Y, а по одному определяют цветовые U- и V-компоненты. Каждый блок представляет собой матрицу 8*8 элементов. Блоки являются базовыми структурными единицами, над которыми осуществляются основные операции кодирования, в том числе выполняется дискретное косинусное преобразование (DCT - Discrete Cosine Transform) и квантование полученных коэффициентов.

Таким образом, компрессия MJPEG [Motion JPEG] основывается на независимом кодировании каждого кадра и объединении полученной последовательности в файл. Сжатие видео осуществляется по JPEG-алгоритму: каждое изображение разбивается на квадраты 8x8 точек и представляется в векторной форме путем дискретного преобразования и высокочастотной фильтрации полученного спектра. По сути, сжатое видео представляет собой последовательность независимых JPEG-изображений.

Поскольку каждый кадр кодируется отдельно от других, возможно последующее покадровое редактирование изображения. Существенным преимуществом этого алгоритма сжатия видео является его симметричность, то есть для кодирования и декодирования необходимы одни и те же вычислительные затраты.

Применительно к MJPEG степень сжатия видео до 1:15 позволяет сохранять видеоинформацию практически без потери качества, от 1:15 до 1:25 приводит к небольшой потере разрешения. При большом коэффициенте компрессии [1:30 и выше] сжатие видео по алгоритму MJPEG сопровождается характерными для формата JPEG искажениями: на границах сетки разбиения [квадраты 8x8 точек] нарушается гладкость изображения, что приводит к уже известному "мозаичному" эффекту.
Из других недостатков формата сжатия MJPEG можно отметить не очень большую эффективность сжатия, а также невозможность создания видеофрагментов размером более 2 Гб, - структура файла не позволяет увеличить его размер. В настоящее время применяются программные методы "склейки" MJPEG-файлов, позволяющие переключаться между ними практически незаметно.

Несколько лет назад компрессия MJPEG стала стандартом в области мультимедиа, что побудило разработчиков аппаратного и программного обеспечения к созданию собственных MJPEG-кодеков.

Формат использует простую обработку кодированного аналогового видеосигнала по стандарту JPG (с разрешением 768х576 точек). Расшифровывается как Motion-JPEG (движущийся JPEG). На сегодняшний день этот формат практически не используется, т.к. качественно сжатые ролики занимают достаточно много места. В некоторых моделях устройств (например, фотокамерах с функцией видео) встречается упрощенный вариант M-JPEG с разрешением 320х240 точек.