MPEG2 и MPEG4 - описание форматов. MPEG2 и MPEG4 - описание форматов Технические сведения о файлах MPEG

В этой статье мы попытаемся дать представление о формате 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

В настоящее время у каждого любителя видео имеется возможность для создания собственной домашней видеостудии на базе персонального . Известно, что при работе с видеофайлами возникает необходимость обработки и хранения очень больших объемов информации, например одна минута цифрового видеосигнала с разрешением SIF (сопоставимым с VHS) и цветопередачей true color (миллионы цветов), займет (288 x 358) пикселов x 24 бита x 25 кадров/с x 60 c = 442 Мб, то есть на носителях, используемых в современных ПК, таких, как компакт-диск (CD-ROM, около 650Мб) или жеский диск (несколько десятков гигабайт) сохранить полноценное по времени видео, записанное в таком формате не удастся. С помощью MPEG-сжатия объем видеоинформации можно заметно уменьшить без заметной деградации изображения. О том, как работает MPEG и какие еще он имеет применения, и пойдет речь далее.

MPEG

Слово MPEG является сокращением от Moving Picture Expert Group - названия экспертной группы ISO, действующая в направлении разработки стандартов кодирования и сжатия видео- и аудио- данных. Официальное название группы - ISO/IEC JTC1 SC29 WG11. Часто аббревиатуру MPEG используют для ссылки на стандарты, разработанные этой группой. На сегодняшний день известны следующие:

  • MPEG-1 предназначен для записи синхронизированных видеоизображения (обычно в формате SIF, 288 x 358) и звукового сопровождения на CD-ROM с учетом максимальной скорости считывания около 1.5 Мбит/с. Качественные параметры видеоданных, обработанных MPEG-1, во многом аналогичны обычному VHS-видео, поэтому этот формат применяется в первую очередь там, где неудобно или непрактично использовать стандартные аналоговые видеоносители.
  • MPEG-2 предназначен для обработки видеоизображения соизмеримого по качеству с телевизионным при пропускной способности системы передачи данных в пределах от 3 до 15 Мбит/с, а в профессиональной аппаратуре используют потоки скоростью до 50 Мбит/с. На технологии, основанные на MPEG-2, переходят многие телеканалы, сигнал сжатый в соответствии с этим стандартом транслируется через телевизионные спутники, используется для архивации больших объемов видеоматериала.
  • MPEG-3 - предназначался для использования в системах телевидения высокой четкости (high-defenition television, HDTV) со скоростью потока данных 20-40 Мбит/с, но позже стал частью стандарта MPEG-2 и отдельно теперь не упоминается. Кстати, формат MP3, который иногда путают с MPEG-3, предназначен только для сжатия аудиоинформации и полное название MP3 звучит как MPEG-Audio Layer-3.
  • MPEG-4 - задает принципы работы с цифровым представлением медиа-данных для трех областей: интерактивного мультимедиа (включая продукты, распространяемые на оптических дисках и через Сеть), графических приложений (синтетического контента) и цифрового телевидения.

КАК ПРОИСХОДИТ СЖАТИЕ

Базовым объектом кодирования в стандарте MPEG является кадр телевизионного изображения. Поскольку в большинстве фрагментов фон изображения остается достаточно стабильным, а действие происходит только на переднем плане, сжатие начинается с создания исходного кадра. Исходные (Intra) кадры кодируются только с применением внутрикадрового сжатия по алгоритмам, аналогичным используемым в JPEG. Кадр разбивается на блоки 8×8 пикселов. Над каждым блоком производится дискретно-косинусное преобразование (ДКП) с последующим квантованием полученных коэффициентов. Вследствии высокой пространственной корелляции яркости между соседними пикселами изображения, ДКП приводит к концентрации сигнала в низкочастотной части спектра, который после квантования эффективно сжимается с использованием кодирования кодами переменной длины. Обработка предсказуемых (Predicted) кадров производится с использованием предсказания вперед по предшествующим исходным или предсказуемым кадрам. Кадр разбивается на макроблоки 16×16 пикселов, каждому макроблоку ставится в соответствие наиболее похожий участок изображения из опорного кадра, сдвинутый на вектор перемещения. Эта процедура называется анализом и компенсацией движения. Допустимая степень сжатия для предсказуемых кадров превышает возможную для исходных в 3 раза. В зависимости от характера видеоизображения, кадры двунаправленной интерполяции (Bi-directional Interpolated) кодируются одним из четырех способов: предсказание вперед; обратное предсказание с компенсацией движения - используется когда в кодируемом кадре появляются новые объекты изображения; двунаправленное предсказание с компенсацией движения; внутрикадровое предсказание - при резкой смене сюжета или при высокой скорости перемещения злементов изображения. С двунаправленными кадрами связано наиболее глубокое сжатие видеоданных, но, поскольку высокая степень сжатия снижает точность восстановления исходного изображения, двунаправленние кадры не используются в качестве опорных. Если бы коэффициенты ДКП передавались точно, восстановленное изображение полностью совпадало бы с исходным. Однако ошибки восстановления коэффициентов ДКП, связванные с квантованием, приводят к искажениям изображения. Чем грубее производится квантование, тем меньший объем занимают коэффициенты и тем сильнее сжатие сигнала, но и тем больше визуальных искажений.

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

Как работает MPEG-видео

Цветное цифровое изображение из сжимаемой последовательности переводится в цветовое пространство YUV (YCbCr). Компонента Y представляет собой интенсивность, а U и V - цветность. Так как человеческий глаз менее восприимчив к цветности, чем к интенсивности, то разрешений цветовых компонент может быть уменьшено в 2 раза по вертикали, или и по вертикали и по горизонтали. К анимации и высококачественному студийному видео уменьшение разрешения не применяется для сохранения качества, а для бытового применения, где потоки более низкие, а аппаратура более дешевая, такое действие не приводит к заметным потерям в визуальном восприятии, сохраняя в то же время драгоценные биты данных.


Основная идея всей схемы - это предсказывать движение от кадра к кадру, а затем применить дискретное косинусное преобразование (ДКП), чтобы перераспределить избыточность в пространстве. ДКП выполняется на блочках 8×8 точек, предсказание движения выполняется на канале интенсивности (Y) на блоках 16×16 точек, или, в зависимости от характеристик исходной последовательности изображении (черезстрочная развертка, содержимое), на блоках 16×8 точек. Другими словами, данный блок 16×16 точек в текущем кадре ищется в соответствующей области большего размера в предыдущих или последующих кадрах. Коэффициенты ДКП (исходных данных или разности этого блока и ему соответствующего) квантуются, то есть делятся на некоторое число, чтобы отбросить несущественные биты. Многие коэффициенты после такой операции оказываются нулями. Коэффициент квантизации может изменяться для каждого «макроблока» (макроблок - блок 16×16 точек из Y-компонент и соответсвующие блоки 8×8 в случае отношения YUV 4:2:0, 16×8 в случае 4:2:2 и 16×16 в случае 4:4:4. Коэффициенты ДКП, параметры квантизации, векторы движения и пр. кодируется по Хаффману с использованием фиксированных таблиц, определенных стандартом. Закодированные данные складываются в пакеты, которые формируют поток согласно синтаксису MPEG.

Соотношение и типы кадров

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

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

Последовательность раскодированных кадров обычно выглядит как
I B B P B B P B B P B B I B B P B B P B ...

Здесь 12 кадров от I до I фрейма. Это основано на требовании произвольного доступа, согласно которому начальная точка должна повторяться каждые 0.4 секунды. Соотношение P и B основано на опыте.

Чтобы декодер мог работать, необходимо, чтобы первый P-фрейм в потоке встретился до первого B, поэтому сжатый поток выглядит так:
0 x x 3 1 2 6 4 5 ...
где числа - это номера кадров. xx может не быть ничем, если это начало последовательности, или B-фреймы -2 и -1, если это фрагмент из середины потока.
Сначала необходимо раскодировать I-фрейм, затем P, затем, имея их оба в памяти, раскодировать B. Во время декодирования P показывается I-фрейм, B показываются сразу, а раскодированный P показывается во время декодирования следующего.

Алгоритм MPEG-компрессии аудио

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

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

Потоки, частоты и размеры кадров

Как MPEG-1, так и MPEG-2, могут быть применены к широкому классу потоков, частот и размеров кадров. MPEG-1, знакомый большинству людей, позволяет передавать 25 кадров/с с разрешением 352×288 в PAL или 30 кадр/с с разрешением 352×240 в NTSC при величине потока менее 1.86 Мбит/с - комбинация, известная как «Constrained Parameters Bitstreams». Это цифры введены спецификацией White Book для видео на CD (VideoCD).

Фактически, синтаксис позволяет кодировать изображения с разрешением до 4095×4095 с потоком до 100 Мбит/с. Эти числа могли бы быть и бесконечными, если бы не ограничение на количество бит в заголовках.

С появлением спецификации MPEG-2, самые популярные комбинации были объединены в уровни и профили. Самые общие из них:

  • Source Input Format (SIF), 352 точки x 240 линий x 30 кадр/с, известный также как Low Level (LL) - нижний уровень, и
  • «CCIR 601» (например 720 точек/линию x 480 линий x 30 кадр/с), или Main Level - основной уровень.

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

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

В MPEG размеры отображаемой картинки и частота кадров может отличаться от закодированного в потоке. Например, перед кодированием некотрое подмножество кадров в исходной последовательности может быть опущено, а затем каждый кадр фильтруется и обрабатывается. При восстановлении интерполированы для восстановления исходного размера и частоты кадров. Фактически, три фундаментальных фазы (исходная частота, кодированная и показываемая) могут отличаться в параметрах. Синтаксис MPEG описывает кодированную и показываемую частоту через заголовки, а исходная частота кадров и размер известен только кодеру. Именно поэтому в заголовки MPEG-2 введены элементы, описывающие размер экрана для показа видеоряда.
В I-фрейме макроблоки должны быть закодированы как внутренние - без ссылок на предыдущие или последующие, если не используются масштабируемые режимы. Однако, макроблоки в P-фрейме могут быть как внутренними, так и ссылаться на предыдущие кадры. Макроблоки в B-фрейме могут быть как внутренними, так и ссылаться на предыдущий кадр, последующий или оба. В заголовке каждого макроблока есть элемент, определяющий его тип.

Без компенсации движения:

С компенсацией движения:

Пропущенные макроблоки в P-фреймах:

Пропущенные макроблоки в B-фреймах:

Последовательность кадров может иметь любую структуру размещения I, P и B фреймов. В промышленной практике принято иметь фиксированную последовательность (вроде IBBPBBPBBPBBPBB), однако, более мощные кодеры могут оптимизировать выбор типа кадра в зависимости от контекста и глобальных характеристик видеоряда.
Каждый тип кадра имеет свои преимущества в зависимости от особенностей изображения (активность движения, временные эффекты маскирования,...).
Например, если последовательность изображений мало меняется от кадра к кадру, есть смысл кодировать больше B-фреймов, чем P. Поскольку B-фреймы не используются в дальнейшем процессе декодирования, они могут быть сжаты сильнее, без влияния на качество видеоряда в целом.
Требования конкретного приложения также влияют на выбор типа кадров: ключевые кадры, переключение каналов, индексирование программ, восстановление от ошибок и т.д.
При сжатии видео используются следующие статистические характеристики:
1. Пространственная корреляция: дискретное косинусное преобразование 8×8 точек.

2.Особенности человеческого зрения - невосприимчивость к высокочастотным составляющим: скалярное квантование коэффициентов ДКП с потерей качества.

3. Большая пространственная корреляция изображения в целом: предсказание первого низкочастотного коэффициента преобразования в блоке 8×8 (среднее значение всего блока).

4. Статистика появления синтаксических элементов в наиболее вероятном кодируемом потоке: оптимальное кодирование векторов движения, коэфициентов ДКП, типов макроблоков и пр.

5. Разряженная матрица квантованных коэффициентов ДКП: кодирование повторяющихся нулевых элементов с обозначением конца блока.

6. Пространственное маскирование: степень квантования макроблока.

7. Кодирование участков с учетом содержания сцены: степень квантования макроблока.

8. Адаптация к локальным характеристикам изображения: кодирование блоков, тип макроблока, адаптивное квантование.

9. Постоянный размер шага при адаптивном квантовании: новая степень квантования устанавливается только специальным типом макроблока и не передается по умолчанию.

10. Временная избыточность: прямые и обратные векторы движения на уровне макроблоков 16×16 точек.

11. Кодирование ошибки предсказаний макроблоков с учетом восприятия: адаптивное квантование и квантование коэффициентов преобразования.

12. Малая ошибка предсказания: для макроблока может быть сигнализированно отсутствие ошибки.

13. Тонкое кодирование ошибки предсказания на уровне макроблоков: каждый из блоков внутри макроблока может быть кодирован или пропущен.

14. Векторы движения - медленное движение фрагмента изображения со сложным рисунком: предсказание векторов движения.

15. Появления и исчезновения: прямое и обратное предсказание в B-фреймах.

16. Точность межкадрового предсказания: билинейно интерполированные (фильтрованные) разности блоков. В реальном мире движения объектов от кадра к кадру редко попадают на границы точек. Интерполяция позволяет выяснить настоящее положение объекта, зачастую увеличивая эффективность сжатия на 1 дБ.

17. Ограниченная активность движения в P-фреймах: пропущенные макроблоки. Когда вектор движения и ошибка предсказания нулевые. Пропущенные макроблоки очень желательны в кодированном потоке, поскольку не занимают битов, кроме как в заголовке следующего макроблока.

18. Компланарное движение в B-фреймах: пропущенные макроблоки. Когда вектор движения тот же, а ошибка предсказания нулевая.

Объявление

Формат файлов MPEG Video

Разница между форматами MPEG и MPG совсем небольшая. MPEG - более новый формат, который представлен следующими подтипами: MPEG-1 - MPEG-4, MPEG-7 и MPEG-21. Сжатие с определенными потерями позволяет облегчить загрузку и выгрузку файлов, а также уменьшить размеры файлов при одновременном обеспечении высокого их качества. Эти файлы-контейнеры аудио- и видеоданных позволяют синхронизировать оба потока данных. Большое кол-во сервисов он-лайн стриминга используют файлы MPEG-1 для трансляции аудио, а также аудио/видеосигнала по кабельным сетям и через спутники. Система MPEG стала основой для создания файлов MP3. ОС Mac и Windows могут работать с файлами MPEG-1 и MPEG-2 с помощью различных программ, которые поддерживают такие форматы.

Технические сведения о файлах MPEG

Формат MPEG-1 кодирует видео и связанный с ним звук для последующего хранения с битрейтом в 1.5 Mб/с (ISO/IEC 11172) (при этом формат способен обеспечить и более высокий битрейт). Это позволяет кодировать файлы в форматы, по качеству близкие к качеству компакт-дисков иди не очень качественных дисков DVD. Формат MPEG-2 используется для телевещания с высоким разрешением. MPEG-3 используется в качестве стандарта масштабируемого сжатия с различными разрешениями для стандарта HDTV (позже этот формат был объединен с форматом MPEG-2 из-за практически полного отсутствия различий с последним). Формат MPEG-4 позволяет получить более высокой степени сжатия (по сравнению с MPEG-2), а также добиться более качественного сжатия с помощью соответствующих методов. В конце концов этот стандарт стали использовать для показа компьютерной графики. Формат MPEG-7 описан в стандарте ISO-IEV 15938, а формат MPEG-21 - в стандарте ISO/IEC 21000. При этом такие стандарты определяют общие принципы формирования медиаданных, а также предусматривают наличие авторских прав.

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

Вступление

Прародитель этого формата - 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

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

Название

Разрешение

Loading...Loading...