MPEG2 и MPEG4 - описание форматов. MPEG2 и MPEG4 - описание форматов Как MPEG работает

20.07.2020 Фото и видео

В этой статье мы попытаемся дать представление о формате MPEG и обсудим его преимущества и недостатки для хранения, передачи и редактирования видеоданных.

Концепция

Видеоданные по своей природе занимают чрезвычайно большой объем. Над задачей возможно более эффективного сжатия видео уже много лет бьются специалисты в этой области. В начале третьего тысячелетия в связи с острой необходимостью передавать большие объемы видео по различным сетям, задача оптимального по соотношению качество/объем способа кодирования видео стала еще более актуальной.
Концепция сжатия видео в MPEG очень проста - определить, какая именно информация в потоке повторяется хотя бы в течении какого-то отрезка времени и принять меры к избежанию дублирования этой информации. Наиболее ценное достоинство MPEG кодирования, особенно удобное для передачи по различным сетям - возможность гибкой настройки качества изображения в зависимости от пропускной способности сети. Это и сделало MPEG-2 фактическим стандартом для приема/передачи цифрового телевидения по различным сетям.
К сожалению, не существует возможности однозначно оценить качество кодирования некими приборами и измерениями. Единственный критерий здесь - человек и как он воспримет сжатую информацию. Поэтому правила сжатия видеоданных при MPEG кодировании вырабатывались на основе модели восприятия человеком видеоизображений (HVS - Human Visual Sense).
Избыточность изображения согласно HVS определяется по трем основным критериям:

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

Как реализуется

Для удобства кодирования видеоданных весь видеопоток разбивается на группы, называемые GOP (Group of Pictures). Такая группа строится следующим образом:

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

P - Predictive кадры. "Предсказанные" кадры, при формировании которых используется метод предсказания изображения на следующем кадре с учетом компенсации движения от последнего I или P кадра перед формируемым. P кадр также служит для дальнейшего предсказания изображения. P кадр создается с помощью межкадровой компрессии, уменьшающей как пространственную, так и временную избыточность. Изображение P кадра вычитается из следующего изображения и эта разница кодируется и вместе с вектором движения добавляется к сжатым данным.

B - Bi-directional, "двунаправленные" кадры. Они названы так потому, что хранят наиболее существенную информацию с окружающих их I и P кадров. B кадры имеют наивысшую степень компрессии, но требуют предыдущего и последующего изображения для компенсации движения объектов на изображении.

Такую структуру MPEG потока обычно описывают в виде дроби M/N, для которой M сообщает общее число кадров в GOP, а N - каким по счету будет очередной P кадр после предыдущего. Таким образом, GOP последовательность, изображенная на рисунке выше, может быть записана как 12/3.
Собственно поток данных MPEG состоит из 6-ти иерархических уровней:

  • Блок - данные по яркости и цветности для блоков 8х8 изображения. Блоки анализируются по значениям Y (яркость), CB и CR (цветоразностные сигналы)
  • Макроблок - как следует из названия, состоит из 4 простых блоков в окне 16х16 пикселей соответственно. В формате 4:2:0 макроблок содержит 4 блока яркостных данных Y и по одному CB и CR.
  • Слой - содержит несколько смежных макроблоков.
  • Кадр - состоит из группы слоев, содержащих изображение, которое, в свою очередь, может быть как I, так P или B.
  • Группа изображений (она же GOP) - содержит последовательность кадров. Может включать до 15 кадров и должна обязательно начинаться с I кадра.
  • Видеопоследовательность - должна содержать минимум одну GOP, а также заголовок в начале последовательности и код конца последовательности.

Уровни и профили MPEG

Под профилем MPEG понимается подмножество структуры битового потока сжатого видеоизображения. В пределах такого подмножества возможен широкий разброс параметров потока и, соответственно, кодеров и декодеров для них.
Под уровнем понимается ряд ограничений, применяемых к параметрам MPEG потока, например, разрешение выходного изображения, частота кадров и т.п.
Таблица ниже иллюстрирует максимальные значения ограничений, накладываемых на уровни и профили MPEG:

Профиль/ уровень Простой I, P 4:2:0
(Simple Profile)
Основной I, P, B 4:2:0
(Main Profile)
I, P, B 4:2:2 I, P, B 4:2:0
(SNR Scalable Profile)
Пространственный I, P, B
4:2:0
(Spatially
Scalable
Profile)
Высокий I, P, B 4:2:0 или 4:2:2
(High Profile)
Самый высокий (High Level) 1920x1152
80 Mbit/s
1920x1152
100 Mbit/s
Высокий (High 1440 Level) 1440x1152
60 Mbit/s
1440x1152
60 Mbit/s
1440x1152
80 Mbit/s
Основной (Main Level) 720x576
15 Mbit/s
720x576
15 Mbit/s
720x608
50 Mbit/s
720x576
15 Mbit/s
720x608
20 Mbit/s
Низкий (Low Level) 352x288
4 Mbit/s
352x288
4 Mbit/s

Эта таблица нужна в первую очередь, для понимания часто встречающихся обозначений формата конкретной записи или описаний возможности какого-либо кодера. Например, вот так может характеризоваться запись в формате MPEG-1:

Название Обозначение Что есть что:
Standard PAL ** Система телевидения
Resolution 720*576 Разрешение изображения
Profile and level MP@ML Main Profile и Main Level
Frame rate 25 Частота кадров
Bitrate around 5 Mbit avg Скорость потока 5 Mbit
GOP structure IBBPBBPBBPBB Структура GOP

**На самом деле здесь правильнее было бы написать: PAL - название аналогового стандарта телевидения, в котором был создан исходный видеофильм. Собственно MPEG фильм нельзя отнести к какой-либо системе цветного телевидения, так кадры в MPEG являются просто цифровым представлением ранее аналогового изображения и не имеют никакого отношения даже к исходной для оригинала фильма системе телевидения.

Практическое использование

Придирчивый читатель спросит - чем поможет мне в работе эта информация? Тем, кто не работает с видео, конечно, эта информация может мало что дать, но остальным может помочь в их практической работе. Многие пользователи, начавшие работать с DV видеокамерами и программами для нелинейного видеомонтажа, стали задумываться над способами сохранения своих творений если не на века, то, по крайней мере, на ближайшие несколько десятков лет. Как не странно, большинство начинающих DV видеомонтажников, еще основательно не зная MPEG, планируют хранить свои проекты именно на CD дисках в формате MPEG, даже не представляя, насколько сложно решается эта задача, если пользователь желает в MPEG варианте сохранить качество исходного DV фильма. Итак, наиболее часто встречающиеся вопросы на эту тему:

Почему я после сохранения своего фильма в формате MPEG-2 вижу, что качество его заметно ухудшилось?
Причин здесь несколько:

  • С цифровой видеокамеры на компьютер сбрасывается уже компрессированное, сжатое изображение. DV, кстати, в сущности представляет собой частный случай MPEG компрессии - это поток, состоящий только из I кадров. Поэтому для сжатия в MPEG DV изображение подвергается повторному сжатию, что качества не улучшит никогда.
  • Параметры компрессии были заданы неверно с точки зрения качества изображения.
  • Используется быстрый, но не очень качественный кодер MPEG

Почему качество изображения на DVD дисках очень высокое, хотя это тоже MPEG-2 - можно ли получить подобное качество в домашних условиях?
Качество видео на DVD дисках действительно очень высокое. Объясняется оно двумя основными факторами - в качестве исходного видеоматериала для создания MPEG-2 варианта фильма используется несжатое видео профессионального качества, и, кроме этого, для кодирования в MPEG-2 применяются аппаратные кодеры с очень высоким качеством кодирования изображения. Стоимость таких кодеров доходит до нескольких десятков тысяч долларов США. Поэтому получить в домашних условиях подобное качество с DV фильма невозможно.

Я имею DV видеокамеру с возможностью съемки в режиме прогрессивного сканирования. Потом я хочу сохранить готовый фильм в формате MPEG. Как мне лучше снимать, в обычном чересстрочном режиме или в прогрессивном?
Так как кодеры MPEG выполняют покадровую обработку изображения, съемка с прогрессивной разверткой будет более правильным решением для последующего сохранения в MPEG формате.

Что означают параметры, которые предлагается указать до кодирования фильма в MPEG формат?
Таких параметров может быть много, но следует остановиться на наиболее важных из них:

  • Profile ID и Level ID - см. таблицу выше
  • Frame Intervals - для понимания того, что имеется ввиду, следует учесть, что обычно задается интервал между I кадрами, что фактически означает размер GOP, а также каким по счету будет очередной P кадр после предыдущего. Чем больше будет интервал между I кадрами, тем хуже будет качество изображения, но меньше размер результирующего файла. Кроме этого, интервал между I кадрами не рекомендуется делать больше 15.
  • Motion Estimation - компенсация движения. Параметр определяет, насколько правильно будет предсказываться движение объекта и очень важен как для качества выходного изображения, так и для оценки времени кодирования. Большее значение даст лучшее качество, но значительно увеличит время работы кодера. При установке этого параметра надо понимать, что максимальное значение может быть "неподъемным" для процессора компьютера и желанный фильм может создаваться несколько суток.
  • Frame sequence - параметр, во многом аналогичный Frame Intervals. Обычно предлагает выбрать вид кодирования - только I кадры, I + P кадры и I, P, B кадры, а также интервалы для P и B кадров. Что касается того, как кодировать - лучшее качество, но максимальный объем дает кодирование в только I кадры, затем соответственно, I + P и I, P, B. Классическими апробированными значениями для интервалов значениями являются P=3 и B=2. Строго говоря, для DVD принято использовать структуру 15/3 или IBBPBBPBBPBBPBB.
  • Video Data Rate - скорость видеопотока. Во многих кодерах, рассчитанных на массового пользователя, это основной параметр, относительно которого кодер сам устанавливает все остальные. Измеряется обычно в мегабитах в секунду. Установив это значение и умножив его на продолжительность фильма в секундах, легко получить объем итого файла.

Я хочу хранить свои фильмы только в MPEG-2 формате. Каким образом я смогу показывать свои фильмы в MPEG-2 на телевизоре моим гостям, ведь изображение на TV выходе видеокарты очень некачественное?
Для этих целей желательно приобрести аппаратный MPEG-2 декодер, стоимость которого не превышает $65-70. Эти декодеры имеют как композитные, так и S-VHS видеовыходы и позволяют получить наивысшее качество изображения. Следует помнить, что наилучшее качество изображения всегда будет именно на телевизоре. Конечно, кодировать свои фильмы в этом случае надо будет в том профиле и уровне MPEG, который поддерживается аппаратным декодером.

Я хочу сразу сохранять фильмы в MPEG формате и в нем же редактировать. Возможно и правильно ли это делать?
Сохранять, конечно, можно, но редактировать MPEG видео очень трудно и неудобно. Дело в том, что при редактировании MPEG невозможна точная до кадра нарезка фрагментов, так как отделять фрагменты друг от друга можно только по I кадрам, иначе, при удалении опорного кадра и сохранении следующих за ним кадров, изображение потеряет читаемость. Наложение эффектов, переходов, фильтров также будет нельзя делать с точностью до кадра, что может привести к невозможности воплощения художественных замыслов. Кроме этого, рекомпрессия изображения будет занимать значительно большее, по сравнению с DV, время и требовать более мощных процессоров для этого.

По материалам сайта spline.ru

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

Очень популярный формат во всём мире, с основой, взятой от кодека 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-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-приводом.

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

Форматы 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 будет актуален еще, как минимум, лет десять, пока ему на смену не придёт что-то принципиально новое.

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 основывается на независимом кодировании каждого кадра и объединении полученной последовательности в файл. Сжатие видео осуществляется по JPEG-алгоритму : каждое изображение разбивается на квадраты 8x8 точек и представляется в векторной форме путем дискретного преобразования и высокочастотной фильтрации полученного спектра. По сути, сжатое видео представляет собой последовательность независимых JPEG-изображений.

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

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

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

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

Относительно новый алгоритм сжатия видео при котором, в отличие от JPEG , изображение обрабатывается без разбиения на квадраты. После того, как фирма Analogue Devices выпустила специализированную микросхему аппаратного wavelet-сжатия видео, данный формат стал базисом многоканальных цифровых систем видеонаблюдения и цифровых видеорегистраторов.

Как и в случае формата JPEG, в Wavelet сжатие осуществляется с необратимыми потерями информации, но изображение не имеет "мозаичных" дефектов даже при очень больших степенях компрессии. Достоинство - отсутствие видимых дефектов даже при большом коэффициенте сжатия видео, - снижается резкость, и изображение просто становится менее четким.

С математической точки зрения основной особенностью wavelet-преобразования является возможность разложить изображение на две компоненты - низкочастотную часть, содержащую основную информацию, и высокочастотную часть, содержащую лишь малую долю информации. Низкочастотную часть можно опять разложить на две части, и т.д. Оставшаяся часть изображения содержит лишь малые высокочастотные компоненты. В результате последовательного применения wavelet-преобразований получается изображение, занимающее небольшой объем места на диске.

JPEG [ Joint Photographic Experts Group ] - алгоритм сжатия неподвижного изображения. Формат JPEG изначально предусматривает контролируемое, но необратимое ухудшение качества. Основная идея этого алгоритма сжатия заключается в том, что вся "картинка" разбивается на квадраты 8x8 точек, а изображение в каждом квадрате раскладывается на гармоники [преобразование Фурье]. Сохраняются только основные гармоники, а значения остальных грубо округляются. Особенностью формата сжатия JPEG является действительно быстрая [полный кадр за 1/50 секунды] и высокая компрессия [в 10 … 100 раз].

Традиционно формат JPEG применяется для компрессии полноцветных изображений и изображений в градациях серого без резких переходов яркости, обеспечивая, пожалуй, наилучшее цифровое сжатие. Переход от монохромного изображения к цветному RGB увеличивает объем картинки всего в полтора раза, а не в три.

Формат JPEG используют web-камеры и web-видеосерверы, - видеонаблюдение в этом случае возможно вести в окне стандартного браузера. Необходимо иметь в виду, что "живая" полноформатная картинка в формате JPEG может передаваться по каналам связи не менее 64К.

При сжатии видео по алгоритму JPEG теряется часть информации, но достигаются большие коэффициенты компрессии. В некоторых случаях проявляется эффект Гиббса - "ореол" вокруг резких горизонтальных и вертикальных границ изображения. Программное обеспечение решает, является ли конкретный квадрат 8х8 существенным в данном изображении или же его можно интерполировать. По мере повышения степени компрессии число выброшенных блоков возрастает, и на изображении начинают проступать артефакты - характерные прямоугольные дефекты.

Apple QuickTime

Формат файлов с расширением MOV был разработан Apple для компьютеров Macintosh и позже перенесен на платформу PC. С 1993 по 1995 г. этот формат был доминирующим. Последняя его версия за номером 4.1 позволяет передавать данные в потоковом режиме. Это значит, что нет необходимости полностью загружать файл, чтобы начать просмотр видеоролика. Однако с появлением спецификаций MPEG данный формат постепенно теряет популярность. Основная его проблема заключается в том, что стандарт QuickTime - закрытый. Способы, с помощью которых кодируется видео, Apple держит в секрете. Следовательно, сторонние программисты не могут написать программ, сжимающих видео в этот формат.

Intel Indeo

Данный формат был разработан корпорацией Intel для сжатия видеоданных с использованием новых возможностей процессоров Intel Pentium MMX. Кроме поддержки потоковой передачи данных и функций защиты авторских прав, этот стандарт реализует несколько новаторских на момент его появления функций. Он позволяет применять к видеопоследовательности различные эффекты (например, изменять яркость или контрастность) в реальном времени, декодировать не весь кадр, а, к примеру, центральный фрагмент, делать часть кадра одного видеоролика прозрачной и накладывать две видеозаписи друг на друга. Последний эффект часто используют в программах телевизионных новостей, когда комментатор изображается на фоне видеорепортажа с места событий.

Однако формат Indeo не получил большого распространения. А с выходом MPEG-4, в котором также присутствуют все эти возможности, данный стандарт вообще оказался не у дел.

CCIR 601

CCIR-601 - стандарт, описывающий формат цифрового видео с разрешением 720x576 (PAL) и 720x480 (NTSC).

Стандарт цифрового телевидения, опубликованный ITU-R (CCIR) в 1990 г. Определяет форматы кадра (например CIF, QCIF), правила преобразования стандартного аналогового видеосигнала (NTSC, PAL, SECAM) в цифровые компонентные сигналы и методы кодирования цифрового видеосигнала.

Рекомендация ITU-T H.261 - Video codec for audiovisual services at p x 64 kbit/s . Данная рекомендация описывает метод кодирования/декодирования видеоизображения для использования в системах видеоконференций при скоростях передачи данных p x 64 Кбит/с, где p может принимать значение от 1 до 30. H.261 определяет использование форматов кадра CIF и QCIF (при p < 3).

H.263 - это видеокодек, ITU-T, предназначенный для передачи видео по каналам с довольно низкой пропускной способностью (обычно ниже 128 кбит/с). Применяется в программном обеспечении для видеоконференций.

Стандарт H.263 был первоначально разработан для использования в системах, базирующихся на H.324 (PSTN и другие системы видеоконференций и голосовой связи), но впоследствии нашёл применение в H.323 (видеоконференции, основанные на RTP/IP), H.320 (видеоконференции, основанные на ISDN), RTSP (потоковое аудио и видео) и SIP (Интернет-конференции).

H.263 представляет собой развитие стандарта H.261, предыдущей разработки ITU-T - стандарта видеосжатия, и алгоритмов MPEG-1 и MPEG-2. Первая версия была завершена в 1995 году и представляла собой хорошую замену для устаревшего H.261 на каналах с любой пропускной способностью. Дальнейшим развитием проекта является H.263v2 (также известный как H.263+ или H.263 1998) и H.263v3 (известный как H.263++ или H.263 2000).

Новый расширенный кодек от ITU-T (в партнёрстве MPEG) после H.263 - это стандарт H.264, также известный как AVC и MPEG-4, часть 10. Поскольку H.264 имеет существенно расширенные возможности по сравнению с H.263, он стал основным при разработке программного обеспечения для видеоконференций. Большинство современного программного обеспечения этого направления поддерживает H.264, также как и H.263 или H.261.

Ogg-Theora

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

Кодек Theora разработан Фондом Xiph.org.. Его алгоритм основан на коде свободного кодека VP3, созданного компанией On2 Technologies и распространяемого под лицензией, позволяющей пользоваться им на безвозвратной основе (т.е. бесплатно) и не требующей каких-либо патентных отчислений за использование как самого VP3, так и производных от него кодеков. Theora - это высокоэффективный видеокодек, составляющий реальную конкуренцию формату MPEG-4 и другим технологиям видеосжатия, использующим узкую полосу канала передачи данных.


AVI-файлы - особый случай файлов RIFF. (сокращенно от Resource Interchange File Format). Этот формат, изначально предназначавшийся для обмена мультимедийными данными, был Microsoft совместно с IBM. Данный формат является наиболее распространенной формой представления видео на персональных компьютерах. В зависимости от формы представления видеоданных файлы AVI бывают различных стандартов.

Editable MPEG

Editable MPEG, так же как и M-JPEG, используется для редактирования цифрового видео представляет собой AVI-файл, состоящий только из кадров MPEG типа i. Однако все другие механизмы сжатия MPEG тут задействованы. Входит в стандартную поставку Microsoft Video for Windows 1.1. и используется такой настольной системой редактирования цифрового видео, как, например, Adobe Premiere.

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

С приходом Интернета все большую популярность получают методы и средства сжатия видео- и аудиоданных, позволяющих, применяя передовые технологии (sophisticated motion estimation and compensation, wavelets, fractals и другие), достичь наименьших соотношений «килобит/секунда», позволивших проводить, например, сеансы видеоконференций средствами Интернета. Ясно, что такие методы сжатия обеспечивают существенно большую степень сжатия, при относительно низком качестве.

VDONet выпускает wavelet-основанный видеокомпрессор, включенный в комплект реализации 32-битной версии Video for Windows. Microsoft использует VDOWave как часть NetShow. В настоящее время существуют две версии компрессора VDOWave:

VDOWave 2.0 is a fixed rate video codec.

VDOWave 3.0 is a "scalable" video codec.

Стандартный набор NetShow 2.0 устанавливает только декодер VDOWave. Средство разработки NetShow 2.0 устанавливает как кодер, так и декодер VDONet VDOWave. По некоторым тестам, VDOWave существенно превосходит по сжатию MPEG-1 и другие компрессоры, базирующиеся на алгоритме блокового ДКП (block Discrete Cosine Transform), но лишь при низких отношениях «килобит/секунда».

Один из наиболее распространенных и используемых компрессоров Video for Windows. Обеспечивает наиболее быстрое воспроизведение видео. В отличие от Indeo 32, которая обеспечивает чуть лучшее качество, однако заметно отягощает процессор при декомпрессии, Cinepak максимально разгружает процессорный ресурс.

На сегодняшний день существует по крайней мере три стандарта для Cinepak.

· Cinepak SuperMac (изначальный, 16-битный компрессор);

· Cinepak Radius (новый, улучшенный 16-битный компрессор);

· Cinepak Radius (32-битная версия Radius Cinepak, поставляемая совместно с Windows 95).

Особенностью метода является использование алгоритма векторной квантизации изображений совместно с алгоритмом разницы кадров (см. ниже).

Характеристики форматов, сравнение, история возникновения и развития.

Вступление

Прародитель этого формата - MPEG-1, не колеблясь можно назвать поистине революционным, ведь до него ничего подобного не существовало. Первые видеодиски и спутниковые телепередачи в формате MPEG-1 казались чудом - такое качество при таком относительно низком битрейте. Сжатое цифровое видео имело качество сопоставимое с качеством бытового видеомагнитофона и имело по сравнению с аналоговыми носителями массу преимуществ. Но время шло, прогресс в области цифровых технологий шагал семимильными шагами, и вот старичку MPEG-1 понадобилась существенная доработка, чтобы угнаться за чудесами науки и техники. В результате возник формат MPEG-2, который является не революционным, а скорее, эволюционным форматом, возникнув в результате переделки MPEG-1 под нужды заказчиков. А заказчиками данного формата являлись крупнейшие массмедиа-компании, которые сделали ставку на спутниковое телевидение и нелинейный цифровой видеомонтаж.

Это сейчас формат MPEG-2 ассоциируется в первую очередь с DVD-дисками, а в 1992 году, когда стартовали работы по созданию этого формата, не существовало широко доступных носителей, на которые можно было бы записать видеоинформацию сжатую MPEG-2, но самое главное, компьютерная техника того времени не могла обеспечить нужную полосу пропускания - от 2 до 9 Мбит в секунду. Зато данный канал могло обеспечить спутниковое телевидение с новейшим по тем временам оборудованием. Такие высокие требования к каналу вовсе не означали, что степень сжатия MPEG-2 ниже, чем у MPEG-1, наоборот, значительно выше! А вот разрешение изображения и количество кадров в секунду значительно больше, так как именно высокое качество при разумном битрейте и было той основной целью, которую поставили перед комитетом MPEG заказчики. Именно благодаря MPEG-2 и стало возможно появление телевидения высокого разрешения - HDTV, в котором изображение намного четче, чем у обычного телевидения.

Спустя несколько лет после начала работ, в октябре 1995 года через космический телевизионный спутник "Pan Am Sat" было осуществлено первое 20-канальное ТВ-вещание использующее стандарт MPEG-2. Спутник осуществлял и до сих пор осуществляет трансляцию на территории Скандинавии, Бельгии, Нидерландов, Люксембурга, Ближнего Востока и Африки.
В настоящее время идет широкая экспансия HDTV на Дальнем Востоке - в Японии и Китае.
Видеопотоки сжатые MPEG-2 с битрейтом 9 Мбит в секунду используются при студийной записи и в высококачественном цифровом видеомонтаже.

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

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

MPEG-2. Что нового?

Надо сказать, разработчики MPEG-2 подошли к решению поставленной проблемы творчески. Мозговой штурм, развязанный по поводу изыскания возможности удаления лишних битов и байтов из и без того уже сжатого изображения (вспомните, уже существовал MPEG-1, теперь нужно было ужать его) был начат сразу с трех сторон. Помимо улучшения алгоритмов компрессии видео (одна сторона) и аудио (другая) был найден альтернативный путь уменьшения размера конечного файла прежде ранее не использовавшийся.

Как стало известно из исследований комитета MPEG, свыше 95% видеоданных, так или иначе, повторяются в разных кадрах, причем неоднократно. Эти данные являются балластными или, если использовать термин, предложенный комитетом MPEG, избыточными. Избыточные данные удаляются практически без ущерба для изображения, на место повторяющиеся участков при воспроизведении подставляется один единственный оригинальный фрагмент. К уже известным алгоритмам сжатия и удаления избыточной информации, которые встречались нам в формате MPEG-1, добавился еще один, по-видимому, наиболее эффективный. После разбивки видеопотока на фреймы, данный алгоритм анализирует содержимое очередного фрейма на предмет повторяющихся, избыточных данных.

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

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

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

Изменения в алгоритмах сжатия видеоданных по сравнению с MPEG-1.

Основные изменения коснулись алгоритмов квантования, то есть алгоритмов преобразования непрерывных данных в дискретные. В MPEG-2 используется нелинейный процесс дискретно-косинусного преобразования, который гораздо эффективнее предшественника. Формат MPEG-2 предоставляет пользователям и программистам значительно большую свободу по сравнению с MPEG-1. Так теперь стало возможным в процессе кодирования задавать точность частотных коэффициентов матрицы квантования, что непосредственно влияет на качество получаемого в результате сжатия изображения (и на размер тоже). Используя MPEG-2, пользователь может задавать следующие значения точности квантования - 8, 9, 10 и 11 бит на одно значение элемента, что делает этот формат значительно более гибким по сравнению с MPEG-1, в котором было только одно фиксированное значение - 8 бит на элемент.

Также стало возможным загрузить отдельную матрицу квантования (quantization matrix) непосредственно перед каждым кадром, что позволяет добиться очень высокого качество изображения, хоть это и довольно трудоемко. Как с помощью матрицы квантования улучшить качество изображения? Не секрет что быстро движущиеся участки - традиционно слабое место для семейства MPEG, в то время как статичные участки изображения кодируются очень хорошо. Отсюда следует вывод, что нельзя статику и участки с движением кодировать одинаково. Так как качество изображения зависит от стадии квантования, которая во многом зависит от используемой матрицы квантования, то меняя эти матрицы для разных участков видеоролика можно добиться улучшения качества изображения. Многие кодеки MPEG-2 делают это автоматически, но есть программы, позволяющие помимо этого задавать матрицы квантования вручную, например перекодировщик AVI2MPG2, который можно найти в сети Internet по адресу: http://members.home.net/beyeler/bbmpeg.html .

Не обошли нововведения и алгоритмы предсказания движения. Данная секция обогатилась новыми режимами: 16x8 MC, field MC и Dual Prime. Данные алгоритмы существенно повысили качество картинки и, что немаловажно позволили делать ключевые кадры реже по сравнению с MPEG-1, увеличив, таким образом, количество промежуточных кадров и повысив степень сжатия. Основной размер блоков, на которые разбивается изображение, может быть 8х8 точек, как и MPEG-1, 16х16 и 16х8, что впрочем используется только в режиме 16х8 МС.

Из-за некоторых особенностей реализации алгоритмов предсказания движения в MPEG-2 появились некоторые ограничения на размер картинки. Теперь стало необходимо, чтобы разрешение изображения по вертикали и горизонтали было кратно 16 в режиме покадрового кодирование, и 32 по вертикали в режиме кодирования полей (field-encoder), где каждое поле состоит из двух кадров. Размер фрейма увеличился до 16383*16383.

Было введено еще два соотношения цветовых плоскостей и плоскости освещенности - 4:4:4 и 4:2:2.

Помимо вышеперечисленных улучшений в формат MPEG-2 были введены еще несколько новых нигде ранее не используемых алгоритмов компрессии видеоданных.

Наиболее важные из них - это алгоритмы под названиями Scalable Modes, Spatial scalability, Data Partitioning, Signal to Noise Ratio (SNR) Scalability и Temporal Scalability. Несомненно, эти алгоритмы внесли весьма важный вклад в успех MPEG-2 и заслуживают более подробного рассмотрения.

Scalable Modes - набор алгоритмов, который позволяет определить уровень приоритетов разных слоев видеопотока. Поток видеоданных делится на три слоя - base, middle и high. Наиболее приоритетный на данный момент слой (например, передний план) кодируется в большим битрейтом

Spatial scalability (пространственное масштабирование) - при использовании этого алгоритма, базовый слой кодируется с меньшим разрешением. В дальнейшем полученная в результате кодирования информация ислользуется в алгоритмах предсказания движения более приоритетных слоев.

Data Partitioning (дробление данных) - этот алгоритм дробит блоки размером в 64 элемента матрицы квантования на два потока. Один поток данных, более высокоприоритетный состоит из низкочастотных (наиболее критичные к качеству) компонентов, другой, соответственно менее приоритетный состоит из высокочастотных компонентов. В дальнейшем эти потоки обрабатываются по-разному. Именно поэтому в MPEG-2 и динамические и статистические сцены смотрятся весьма неплохо, в отличие от MPEG-1, где динамические сцены традиционно ужасны.

Signal to Noise Ratio (SNR) Scalability (масштабирование соотношения сигна/шум) - при действии этого алгоритма разные по приоритету слои кодируются с разным качеством. Низкоприоритетные слои более дискретизированны, более грубы, соответственно содержат меньше данных, а высокоприоритетный слой содержит дополнительную информацию, которая при декодировании позволяет восстановить высококачественное изображение.

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

У всех этих алгоритмов много общего: все они работаю со слоями потока видеоданных, использование этих алгоритмов позволяет достичь высокого сжатия при практически незаметном ухудшении картинки. Но есть еще одно свойство этих алгоритмов, возможно, что и не такое приятное. Использование любого из них, делает видеоролик абсолютно несовместимым с форматом MPEG-1. Поэтому эти алгоритмы были далеко не в каждом кодеке MPEG-2.
В результате появилось множество форматов, разного разрешения, качества, с разной степенью сжатия и с разным соотношением размер/ качество. С целью наведения порядка и окончательной стандартизации MPEG-2 комитетом MPEG были введены понятия уровней и профилей. Именно уровни и профили, а так же их комбинации позволяют однозначно описать практически любой формат из семейства MPEG-2.

Уровни

Название уровня

разрешение

максимальный битрейт

качественное соответствие

CIF, бытовая видео кассета

CCIR 601, студийное TV

4x601, бытовое HDTV

Hi-End видеомонтажное оборудование

Профили

Допустимые комбинации Профилей и Уровней

Main c Spatial Scalability

90% от всех

Main c SNR Scalability

Main c SNR Scalability

Наиболее популярные стандарты

Название

Разрешение

Стандарт сжатия MPEG разработан Экспертной группой кинематографии (Moving Picture Experts Group - MPEG). MPEG это стандарт на сжатие звуковых и видео файлов в более удобный для загрузки или пересылки, например через интернет, формат.

Существуют разные стандарты MPEG (как их еще иногда называют фазы - phase): MPEG-1, MPEG-2, MPEG-3, MPEG-4, MPEG-7.

MPEG состоит из трех частей: Audio, Video, System (объединение и синхронизация двух других).

MPEG-1

По стандарту MPEG-1 потоки видео и звуковых данных передаются со коростью 150 килобайт в секунду -- с такой же скоростью, как и односкоростной CD-ROM проигрыватель -- и управляются путем выборки ключевых видео кадров и заполнением только областей, изменяющихся между кадрами. К несчастью, MPEG-1 обеспечивает качество видеоизображения более низкое, чем видео, передаваемое по телевизионному стандарту.

MPEG-1 был разработан и оптимизирован для работы с разрешением 352 ppl (point per line -- точек на линии) * 240 (line per frame -- линий в кадре) * 30 fps (frame per second -- кадров в секунду), что соответствует скорости передачи CD звука высокого качества. Используется цветовая схема - YCbCr (где Y - яркостная плоскость, Cb и Cr - цветовые плоскости).

Как MPEG работает:

В зависимости от некоторых причин каждый frame (кадр) в MPEG может быть следующего вида:

  • I (Intra) frame - кодируется как обыкновенная картинка.
  • P (Predicted) frame - при кодировании используется информация от предыдущих I или P кадров.
  • B (Bidirectional) frame - при кодировании используется информация от одного или двух I или P кадров

Последовательность кадров может быть например такая: IBBPBBPBBPBBIBBPBBPB ...

Последовательность декодирования: 0312645...

Нужно заметить, что прежде чем декодировать B кадр требуется декодировать два I или P кадра. Существуют разные стандарты на частоту, с которой должны следовать I кадры, приблизительно 1-2 в секунду, соответствуюшие стандарты есть и для P кадров (каждый 3 кадр должен быть P кадром). Существуют разные относительные разрешения Y, Cb, Cr плоскостей (Таблица 1), обычно Cb и Cr кодируются с меньшим разрешением чем Y.

Таблица 1

Для применения алгоритмов кодировки происходит разбивка кадров на макроблоки каждый из которых состоит из определенного количества блоков (размер блока - 8*8 пикселей). Количество блоков в макроблоке в разных плоскостях разное и зависит от используемого формата

Техника кодирования:

Для большего сжатия в B и P кадрах используется алгоритм предсказания движения (что позволяет сильно уменьшить размер P и B кадров -- Таблица 2) на выходе которого получается:

  • Вектор смещения (вектор движения) блока который нужно предсказать относительно базового блока.
  • Разница между блоками (которая затем и кодируется).

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

Таблица 2

Метод кодировки блоков (либо разницы, получаемой при методе предсказание движения) содержит в себе:

  • Discrete Cosine Transforms (DCT - дискретное преобразование косинусов).
  • Quantization (преобразование данных из непрерывной формы в дискретную).
  • Кодировка полученного блока в последовательность.

DCT использует тот факт, что пиксели в блоке и сами блоки связаны между собой (т.е. коррелированны), поэтому происходит разбивка на частотные фурье компоненты (в итоге получается quantization matrix - матрица преобразований данных из непрерывной в дискретную форму, числа в которой являются величиной амплитуды соответствующей частоты), затем алгоритм Quantization разбивает частотные коэффициенты на определенное количество значений. Encoder (кодировщик) выбирает quantization matrix которая определяет то, как каждый частотный коэффициент в блоке будет разбит (человек более чувствителен к дискретности разбивки для малых частот чем для больших). Так как в процессе quantization многие коэффициенты получаются нулевыми то применяется алгоритм зигзага для получения длинных последовательностей нулей

Звук в MPEG:

Форматы кодирования звука деляться на три части: Layer I, Layer II, Layer III (прообразом для Layer I и Layer II стал стандарт MUSICAM, этим именем сейчас иногда называют Layer II). Layer III достигает самого большого сжатия, но, соответственно, требует больше ресурсов на кодирование. Принципы кодирования основаны на том факте, что человеческое ухо не совершенно и на самом деле в несжатом звуке (CD-audio) передается много избыточной информации. Принцип сжатия работает на эффектах маскировки некоторых звуков для человека (например, если идет сильный звук на частоте 1000 Гц, то более слабый звук на частоте 1100 Гц уже не будет слышен человеку, также будет ослаблена чувствительность человеческого уха на период в 100 мс после и 5 мс до возникновения сильного звука). Psycoacustic (психоакустическая) модель используемая в MPEG разбивает весь частотный спектр на части, в которых уровень звука считается одинаковым, а затем удаляет звуки не воспринимаемые человеком, благодаря описанным выше эффектам.

В Layer III части разбитого спектра самые маленькие, что обеспечивает самое хорошее сжатие. MPEG Audio поддерживает совместимость Layer"ов снизу вверх, т.е. decoder (декодировщик) для Layer II будет также распознавать Layer I.

Синхронизация и объединение звука и видео, осуществляется с помощью System Stream , который включает в себя:

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

Видео поток содержит заголовок, затем несколько групп картинок (заголовок и несколько картинок необходимы для того, что бы обеспечить произвольный доступ к картинкам в группе в независимости от их порядка).

Звуковой поток состоит из пакетов каждый из которых состоит из заголовка и нескольких звуковых кадров (audio-frame).

Для синхронизации аудио и видео потоков в системный поток встраивается таймер, работающий с частотой 90 КГц (System Clock Reference -- SCR, метка по которой происходит увеличения временного счетчика в декодере) и Presentation Data Stamp (PDS, метка насала воспроизведения, вставляются в картинку или в звуковой кадр, чтобы объяснить декодеру, когда их воспроизводить. Размер PDS сотавляет 33 бита, что обеспечивает возможность представления любого временного цикла длинной до 24 часов).

Параметры MPEG-1 (Утверждены в 1992)

Параметры Аудио: 48, 44.1, 32 КГц, mono, dual (два моно канала), стерео, интенсивное стерео (объединяются сигналы с частотой выше 2000 Гц.), m/s stereo (один канал переносит сумму - другой разницу). Сжатие и скорость передачи звука для одного канала, для частоты 32 КГц представлены в Таблице 3.

Таблица 3

Параметры Видео : в принципе с помощью MPEG-1 можно передавать разрешение вплоть до 4095x4095x60 fps (в этих границах кадр может быть произвольного размера), но так как существует Constrained Parameters Bitstream (CPB, неизменяемые параметры потока данных; другие стандарты для MPEG-1 поддерживаются далеко не всеми декодерами) которые ограничивают общее число макроблоков в картинке (396 для скорости <= 25 fps и 330 для скорости <= 30 fps) то MPEG-1 кодируется стандартом SIF /352*240*30 - (получено урезанием стандарта CCIR-601) или 352*288*25 - (урезанный PAL, SECAM) формат 4:2:0, 1.15 MBPS (мегабит в сек.), 8 bpp (бит на точку) - в каждой плоскости/.

Существует более высокое разрешение для MPEG-1 - так называемый MPEG-1 Plus, разрешение как у MPEG-2 ML@MP (Main Level, Main Profile) - этот стандарт часто используется в Set-Top-Box для улучшения качества.

MPEG2 - upgrade для MPEG1

Компрессия по стандарту MPEG-2 кардинально меняет положение вещей. Более 97% цифровых данных, представляющих видео сигнал дублируются, т.е. являются избыточными и могут быть сжаты без ущерба качеству изображения. Алгоритм MPEG-2 анализирует видеоизображение в поисках повторений, называемых избыточностью. В результате процесса удаления избыточности, обеспечивается превосходное видеоизображение в формате MPEG-2 при более низкой скорости передачи данных. По этой причине, современные средства поставки видеопрограмм, такие как цифровые спутниковые системы и DVD, используют именно стандарт MPEG-2.

Изменения в Audio:

  • Появились новые виды частот 16, 22.05, 24 КГц.
  • Поддержка многоканальности - возможность иметь 5 полноценных каналов (left, center, right, left surround, right surround) + 1 низкочастотный (subwoofer).
  • Появился AAC (Advanced Audio Coding - прогрессивное кодирование звука) стандарт - обеспечивает очень высокое качество звука со скоростью 64 kbps per channel (килобит в сек. на канал), возможно использовать 48 основных каналов, 16 низкочастотных каналов для звуковых эффектов, 16 многоязыковых каналов и 16 каналов данных. До 16 программ может быть описано используя любое количество элементов звуковых и других данных. Для AAC существуют три вида профиля - Main (используется когда нет лишней памяти), Low Complexity (LC), Scalable Sampling Rate (SSR, требуется декодер с изменяемой скоростью приема данных).

Декодеры должны быть:

  1. "forwards compatible " (вперед совместимыми) - MPEG-2 Audio Decoder понимает любые MPEG-1 аудио каналы.
  2. "backward compatible " (обратно совместимыми) - MPEG-1 Audio Decoder должен понимать ядро MPEG-2 Audio (L-канал, R-канал)
  3. "matrixing " (матрицируемыми) - MPEG1 Audio Decoder должен понимать 5-ти канальный MPEG-2 (L = left signal + a * center signal + b * left surround signal, R = right signal + a * center signal + b * right surround signal)
  4. MPEG-1 Звуковой декодер не обязан понимать MPEG-2 AAC.

В следствии зтого совершенно спокойно можно использовать MPEG-1 Vidio + MPEG-2 Audio или наоборот MPEG-2 Audio + MPEG-1 Video.

Изменения в Видео:

  • Требуется чтобы разрешение по вертикали и горизонтали было кратно 16 в кодировщике кадров (frame-encoder) стандартах (покадровое кодирование), и 32 по вертикали в кодировщике полей (field-encoder, каждое поле состоит из двух кадров) стандартах (interlaced video).
  • Возможность форматов 4:4:4, 4:2:2 (Next profile).
  • Введены понятия Profile (форма, профиль) и Levels (уровни).
  • Размер frame до 16383*16383.
  • Возможность кодировать interlaced video.
  • Наличие режимов масштабирования (Scalable Modes)
  • Pan&Scanning вектор (вектор панорамировани и масштабирования), который говорит декодеру как преобразовывать, например 16:9 в 4:3.

Изменения связаные с алгоритмами кодирования:

  • Точность частотных коэффициентов выбирается пользователем (8, 9, 10, 11 бит на одно значение -- в MPEG-1 только 8 бит).
  • Нелинейный quantization процесс (разбиение непрерыных данных в дискретные).
  • Возможность загрузить quantization matrix (матрица преобразований непрерыных данных в дискретные) перед каждым кадром.
  • Новые режимы предсказания движения (16x8 MC, field MC, Dual Prime)

Scalable Modes (доступно только в Next и Main+ Profile) делят MPEG-2 на три слоя (base, middle, high) для того чтобы организовать уровни приоритета в видеоданных (на пример более приоритетный канал кодируется с большим количеством информации по коррекции ошибок чем менее):

  1. Spatial scalability (пространственное масштабирование) - основной слой кодируется с меньшим разрешением и затем он используется как предсказание для более приоритетных.
  2. Data Partitioning (дробление данных) - разбивает блок из 64 quantization коэффициентов в два потока из которых более приоритетный переносит низкочастотные (наиболее критичные к качеству), а менее приоритетный (высокочастотные).
  3. SNR (Signal to Noise Ratio) Scalability (масштабировние соотношения сигна/шум) - каналы кодируются с одинаковой скоростью, но с разным качеством (менее приоритетный слой содержит плохую картинку - более дискретные шаги, а высокоприоритетный слой содержит довесок позволяющий построить качественную картинку)
  4. Temporal Scalability (временное масштабирование) - менее приоритетный слой содержит канал с низкой скоростью передачи кадров, а высокоприоритетный содержит информацию позволяющую восстановить промежуточные кадры используя для предсказания менее приоритетные.

Таблица 4, Уровни

Уровень Максимальное разрешение Максимальная скорость Примечание
Low 352*240*30 4 Mbps CIF, кассеты
Main 720*480*30 15 Mbps CCIR 601, студийное TV
High 1440 1440*1152*30 60 Mbps 4x601, бытовое HDTV
High 1920*1080*30 80 Mbps Продукция SMPTE 240M std

Таблица 5, Профили

Таблица 6, Допустимые комбинации Профилей и Уровней

Системный уровень MPEG-2, обеспечивает два уровня объединения данных:

  1. Packetized Elementary Stream (PES) - разбивает звук и видео на пакеты.
  2. Второй уровень делится на:
    • MPEG-2 Program Stream (совместим с MPEG-1 System) - для локальная передача в среде с маленьким уровнем ошибок
    • MPEG-2 Transport Stream - внешнее вещание в среде с высоким уровнем ошибок - передает транспортные пакеты (длиной 188 либо 188+16 бит) двух типов (сжатые данные -- PES -- и сигнальную таблицу Program Specific Information -- PSI).

MPEG-3 - ненужный формат

Был разработан для HDTV приложений с параметрами - максимальное разрешение (1920*1080*30), скорость 20 - 40 Mbps. Так как он не давал принципиальных улучшений по сравнению с MPEG-2 (да и к тому же MPEG-2 стал широко использоваться в разных вариантах, в том числе и для HDTV), то он благополучно вымер.

MPEG-4 - очень мощный формат

MPEG-4 - стандарт для низкоскоростной передачи (64 kbps), находящийся еще в стадии разработки. Первую версию планируется закончить в 1999 году.

Краткое описание:

  • Разделяет картинку на различные элементы, называемые media objects (медиа объекты).
  • Описывает структуру этих объектов и их взаимосвязи чтобы затем собрать их в видеозвуковую сцену.
  • Позволяет изменять сцену, что обеспечивает высокий уровень интерактивности для конечного пользователя.

Видеозвуковая сцена состоит из медиа объектов, которые объеденены в иархическую структуру:

  • Неподвижные картинки (например фон)
  • Видио объекты (говорящий человек).
  • Аудио объекты (голос связанный с этим человеком).
  • Текст связанный с данной сценой.
  • Синтетические объекты - объекты которых не было изначально в записываемой сцене, но которые туда добавляются при демонстрации конечному пользователю (например синтезируется говорящая голова).
  • Текст связанный с головой из которого в конце синтезируется голос.

Такой способ представления данных позволяет:

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

MPEG-J

MPEG-J - стандартное расширение MPEG-4 в котором используются Java - элементы.

MPEG-7

MPEG-7 - не является продолжение MPEG как такового - стал разрабатываться сравнительно недавно, планируется его закончить к 2001 г. MPEG - 7 будет обеспечивать стандарт для описания различных типов мультимедийной информации (а не для ее кодирования), чтобы обсепечивать эффективный

И быстрый ее поиск. MPEG-7 официально называют - "Multimedia Content Description Interface" (Интерфейс описания мультимедиа данных). MPEG-7 определяет стандартный набор дискриптеров для различных типов мультимедиа информации, так же он стандартизует способ определения своих дискриптеров и их взаимосвязи (description schemes). Для этой цели MPEG-7 вводит DDL (Description Definition Language - язык описания определений). Основная цель применения MPEG-7 это поиск мультимедиа информации (так же как сейчас мы можем найти текст по какому-нибудь предложению), например:

  • Музыка . Сыграв несколько нот на клавиатуре можно получить список музыкальных произведений, которые содержат такую последовательность.
  • Графика . Нарисовав несколько линий на экране, получим набор рисунков содержащих данный фрагмент.
  • Картины . Определив объект (задав его форму и текстуру) получим список картин, содержащих оный.
  • Видео . Задав объект и движение получим набор видео или анимации.
  • Голос . Задав фрагмент голоса певца, получим набор песен и видео роликов где он поет.

MHEG

MHEG - (Multimedia & Hypermedia Expert Group -- экспертная группа по мультимедиа и гипермедиа) - определяет стандарт для обмена мультимедийными объектами (видео, звук, текст и другие произвольные данные) между приложениями и передачи их разными способами (локальная сеть, сети телекоммуникаций и вещания) с использованием MHEG object classes. Он позволяет программным объектам включать в себя любую систему кодирования (например MPEG), которая определена в базовом приложении. MHEG был принят DAVIC (Digital Audio-Visual Council -- совет по цифровому видео и звуку). MHEG объекты делаются мультимедиа приложениями используя multimedia scripting languages.

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