Формат mpeg что это
MPEG для чайников.
MPEG состоит из трех частей: Audio, Video, System (объединение и синхронизация двух других).
MPEG-1
Как MPEG работает:
В зависимости от некоторых причин каждый frame (кадр) в MPEG может быть следующего вида:
Последовательность кадров может быть например такая: IBBPBBPBBPBBIBBPBBPB.
Последовательность декодирования: 0312645.
Нужно заметить, что прежде чем декодировать B кадр требуется декодировать два I или P кадра. Существуют разные стандарты на частоту, с которой должны следовать I кадры, приблизительно 1-2 в секунду, соответствуюшие стандарты есть и для P кадров (каждый 3 кадр должен быть P кадром). Существуют разные относительные разрешения Y, Cb, Cr плоскостей (Таблица 1), обычно Cb и Cr кодируются с меньшим разрешением чем Y.
Таблица 1
Вид Формата | Отношения разрешений по горизонтали (Cb/Y): | Отношение разрешений по вертикали (Cb/Y): |
---|---|---|
4:4:4 | 1:1 | 1:1 |
4:2:2 | 1:2 | 1:1 |
4:2:0 | 1:2 | 1:2 |
4:1:1 | 1:4 | 1:1 |
4:1:0 | 1:4 | 1:4 |
Техника кодирования:
Так как не любой блок можно предсказать на основании информации о предыдущих, то в P и B кадрах могут находиться I блоки (блоки без предсказания движения).
Таблица 2
Вид кадра | I | P | B | Средний размер |
---|---|---|---|---|
Размер кадра для стандарта SIF (kilobit) | 150 | 50 | 20 | 38 |
Метод кодировки блоков (либо разницы, получаемой при методе предсказание движения) содержит в себе:
Звук в 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.
Видео поток содержит заголовок, затем несколько групп картинок (заголовок и несколько картинок необходимы для того, что бы обеспечить произвольный доступ к картинкам в группе в независимости от их порядка).
Звуковой поток состоит из пакетов каждый из которых состоит из заголовка и нескольких звуковых кадров (audio-frame).
Параметры MPEG-1 (Утверждены в 1992)
Таблица 3
Способ кодирования | Скорость передачи kbps (килобит в сек.) | Коэффициент сжатия |
---|---|---|
Layer I | 192 | 1:4 |
Layer II | 128..96 | 1:6..8 |
Layer III | 64..56 | 1:10..12 |
Параметры Видео: в принципе с помощью MPEG-1 можно передавать разрешение вплоть до 4095x4095x60 fps (в этих границах кадр может быть произвольного размера), но так как существует Constrained Parameters Bitstream (CPB, неизменяемые параметры потока данных; другие стандарты для MPEG-1 поддерживаются далеко не всеми декодерами) которые ограничивают общее число макроблоков в картинке (396 для скорости
Формат MPEG — спецификация и возможности
В настоящее время у каждого любителя видео имеется возможность для создания собственной домашней видеостудии на базе персонального компьютера. Известно, что при работе с видеофайлами возникает необходимость обработки и хранения очень больших объемов информации, например одна минута цифрового видеосигнала с разрешением SIF (сопоставимым с VHS) и цветопередачей true color (миллионы цветов), займет (288 x 358) пикселов x 24 бита x 25 кадров/с x 60 c = 442 Мб, то есть на носителях, используемых в современных ПК, таких, как компакт-диск (CD-ROM, около 650Мб) или жеский диск (несколько десятков гигабайт) сохранить полноценное по времени видео, записанное в таком формате не удастся. С помощью MPEG-сжатия объем видеоинформации можно заметно уменьшить без заметной деградации изображения. О том, как работает MPEG и какие еще он имеет применения, и пойдет речь далее.
Слово MPEG является сокращением от Moving Picture Expert Group — названия экспертной группы ISO, действующая в направлении разработки стандартов кодирования и сжатия видео- и аудио- данных. Официальное название группы — ISO/IEC JTC1 SC29 WG11. Часто аббревиатуру MPEG используют для ссылки на стандарты, разработанные этой группой. На сегодняшний день известны следующие:
КАК ПРОИСХОДИТ СЖАТИЕ
Базовым объектом кодирования в стандарте 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-фрейме.
Здесь 12 кадров от I до I фрейма. Это основано на требовании произвольного доступа, согласно которому начальная точка должна повторяться каждые 0.4 секунды. Соотношение P и B основано на опыте.
Алгоритм 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, самые популярные комбинации были объединены в уровни и профили. Самые общие из них:
Компенсация движения заменяет макроблоки макроблоками из предыдущих картинок
Предсказания макроблоков формируются из соответсвующих 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 1, MPEG 2, MPEG 3
Описание форматов MPEG 1, MPEG 2, MPEG 3
Что из этого получилось.
Работала экспертная группа весьма плодотворно: за десятилетие разработано целое семейство стандартов; более того, почти все они живут и успешно работают. Лучшим свидетельством тому служит тот факт, что аббревиатуры MPEG и МР стали обиходными на бытовом уровне. Даже потребитель соотносит эти «имена» не со стандартными именами или их разработчиками, а с мультимедиа продукцией. Но будем хронологически точны, и проследим наиболее важные этапы становления MPEG.
В результате для фильмов, созданных в стандартах PAL и SECAM, поддерживается разрешение 720х576 при 25 кадрах в секунду при качестве, практически не уступающем вещательному. Собственно, MPEG-фильм нельзя отнести к какой-либо системе цветного телевидения, так как кадры в MPEG являются просто картинками и не имеют прямого отношения к исходной для фильма системе телевидения; речь может идти о соответствии размера и частоты следования кадров.
В части аудио в MPEG2, по сравнению с MPEG1, добавлена поддержка многоканального звука(Dolby Digital 5.1, DTS и т.п.)
Прежде всего, не следует смешивать с широкоизвестным форматом компрессии звука МР3, о котором речь пойдет ниже. Стандарт MPEG3 первоначально разрабатывался для использования в системах телевидения высокой четкости (High Definition Television, HDTV) со скоростью потока данных 20-40 Мбит/с. Но еще в процессе разработки стало ясно, что параметры, требуемые для передачи HDTV, вполне обеспечиваются использованием стандарта MPEG2 при увеличенной скорости цифрового потока. Другими словами, острой нужды в существовании отдельного стандарта для HDTV нет. Таким образом, MPEG3, еще не родившись, стал фактически составной частью стандарта MPEG2 и отдельно теперь даже не упоминается.
а) неподвижные картинки (например, фон);
б) видеообъекты (например, говорящий человек);
в) аудиообъекты (голос, связанный с этим человеком);
г) текст, связанный с этой сценой;
д) синтетические объекты, которых не было изначально в описываемой сцене, но которые туда
добавляются при демонстрации конечному пользователю (например, синтезируется говорящая голова);
е) текст (например, связанный с головой), из которого в конце синтезируется голос.
Такой способ представления данных позволяет изменить результирующую сцену, обеспечивая высокий уровень интерактивности для конечного пользователя и предоставляя ему целый ряд возможностей, например: перемещать и помещать объекты в любое место сцены, трансформировать объекты, изменять их форму и геометрические размеры, собирать из отдельных объектов составной объект и производить над ним какие-либо операции, менять текстуру и цвет объекта, манипулировать им (заставить, к примеру, стол передвигаться в пространстве), менять точку наблюдения за всей сценой.
Музыка: Сыграв несколько нот на клавиатуре, можно получить список музыкальных произведений, которые содержат такую последовательность звуков.
Графика: Нарисовав эскиз на экране, получим набор рисунков, содержащих подобный фрагмент.
Картины: Определив объект (задав его форму и текстуру), получим перечень картин, содержащий таковой.
Видео: Задав соответствующий объект и его движение, получим набор видео или анимационных роликов.
Голос: Задав фрагмент голоса певца, получим набор песен и видеоклипов, в которых он поет.
Первый «слой» (Layer I) был рассчитан на поток скоростью 192 кбит/с на канал. Алгоритм его в целом похож на систему сжатия звука ATRAC, которая реализована на мини-дисках Sony. Разновидность Layer I используется и в устройствах записи цифровых компакт-кассет DCC. Разновидность Layer II, предназначенная для потоков до 128 кбит/с на канал, была разработана как компромисс между качеством звука, величиной потока и сложностью кодера. В нем были, в первую очередь, усовершенствованы гребенчатые фильтры. Этот «слой» весьма сходен с известным аудиостандартом MUSICAM. Наибольшее применение Layer II нашел в сетях цифрового радиовещания DAB (Digital Audio Broadcasting).
Формат mpeg что это
MPEG — это группа людей в ISO (Internation Standards Organization), которые встречаются для выработки стандартов сжатия цифрового видео и аудио. В частности, они определили сжатый поток и декомпрессор для него. Алгоритмы сжатия определяются индивидуально каждым производителем, в чем и достигается преимущество в рамках опубликованного международного стандарта. Группа MPEG собирается приблизительно четыре раза в год примерно на неделю. Основная работа делается между встречами, будучи организованной и спланированной на них.
Имеет ли он отношение к JPEG?
Да, названия созвучны, и группы принадлежат одному подкомитету ISO, вместе с JBIG и MHEG. Встречаются они в одно время и в одном месте. Тем не менее, это разные люди с разными целями и запросами. JPEG — это старндарт, который предназначен для сжатия неподвижных изображений, а MPEG — «живого» видео и сопутствующего аудио.
Что такое JBIG и MHEG?
JBIG — это стандарт сжатия двоичных изображений без потерь, а MHEG — стандарт, предназначенный для мультимедиаданных: интеграция неподвижных изображений, видео, аудио, текста и т. д.
Как работает MPEG видео?
Цветное цифровое изображение из сжимаемой последовательности переводится в цветовое пространство YUV (YCbCr). Компонента Y представляет собой интенсивность, а U и V — цветность. Так как человеческий глаз менее восприимчив к цветности, чем к интенсивности, то разрешения цветовых компонент могут быть уменьшены в два раза по вертикали, или и по вертикали, и по горизонтали. К анимации и высококачественному студийному видео уменьшение разрешения не применяется, чтобы сохранить качество изображения, а для бытового применения, где потоки более низкие, а аппаратура более дешевая, такое действие не приводит к заметным потерям в визуальном восприятии, сохраняя в то же время драгоценные биты данных.
Основная идея всей схемы — это предсказывать движение от кадра к кадру, а затем применить дискретное косинусное преобразование (ДКП), чтобы перераспределить избыточность в пространстве. ДКП выполняется на блоках 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. Закодированные данные складываются в пакеты, которые формируют поток согласно синтаксису MPEG.
Как кадры соотносятся друг с другом?
Существует три типа закодированных кадров. I-кадры — это кадры, закодированные как неподвижные изображения без ссылок на последующие или предыдущие. Они используются как стартовые. P-кадры — это кадры, предсказаные из предыдущих I- или P-кадров. Каждый макроблок в P-кадре может идти с вектором и разностью коэффициентов ДКП от соответвующего блока последнего раскодированного I или P, или может быть закодирован как в I, если не соответсвующего блока не нашлось.
И, наконец, существуют B-кадры, которые предсказаны из двух ближайших I или P-кадров, одного предыдущего и одного последующего. Соответсвующие блоки ищутся в этих кадрах и из них выбирается лучший. Ищется прямой вектор, затем обратный, и вычисляется среднее между соответсвующими макроблоками в прошлом и будущем. Если это не работает, то блок может быть закодирован как в I-кадре.
Последовательность раскодированных кадров обычно выглядит как
Здесь 12 кадров от I до I. Это основано на требовании произвольного доступа, согласно которому начальная точка должна повторяться каждые 0,4 секунды. Соотношение P и B основано на опыте.
Чтобы декодер мог работать, необходимо, чтобы первый P-кадр в потоке встретился до первого B, поэтому сжатый поток выгдядит так:
Сначала необходимо раскодировать I-кадр, затем P, затем, имея их оба в памяти, раскодировать B. Во время декодирования P показывается I-кадр, B показывается сразу, а раскодированный P показывается во время декодирования следующего.
Как сжимается аудио?
При комперссии звука используются хорошо разработанные психоакустические модели, полученные из экспериментов с самыми взыскательными слушателями, чтобы выбросить звуки, которые не слышны человеческому уху. Это называется «маскированием». Например, большая составляющая в некоторой частоте не позволяет услышать компоненты с более низким коэффициентом в близлежащих частотах, где соотношение между энергиями частот, которые маскируются, описывается некоторой эмпирической кривой. Существуют похожие временные эффекты маскирования, а также более сложные взаимодействия, когда временной эффект может выделить частоту или наоборот.
Звук разбивается на спектральные блоки с помощью гибридной схемы, которая объединяет синусные и полосные преобразования, и психоакустической модели, описанной на языке этих блоков. Все, что можно убрать или сократить, убирается и сокращается, а остаток посылается в выходной поток. В действительности, все выглядит несколько сложнее, поскольку биты должны распределяться между полосами. И, конечно же, все, что посылается, кодируется с сокращением избыточности.
Странные слухи об MPEG.
Существует множество зачастую непонятных и надуманных слухов об MPEG.
1. Коэффициет сжатия свыше 100:1
Зачастую статьи в прессе и маркетинговой литературе заявляют, что MPEG достигает необычайно высокого качества видео при степени компрессии свыше 100:1. Эти заявления обычно не включают понижение цветового разрешения исходного цифрового изображения. На практике, поток кодируемого изображения редко превышает величину потока, закодированного в MPEG, более чем в 30 раз. Предварительное сжатие за счет уменьшения цветового разрешения играет основную роль в формировании коэффициентов сжатия с 3 нулями во всех методах кодирования видео, включая отличные от MPEG.
2. MPEG-1 всегда 352×240
Как 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, самые популярные комбинации были объединены в уровни и профили. Самые общие из них:
3. Компенсация движения заменяет макроблоки макроблоками из предыдущих картинок
Предсказания макроблоков формируются из соответсвующих 16х16 блоков точек (16х8 в MPEG-2) из предыдущих восстановленных кадров. Никаких ограничений на положение макроблока в предыдущей картинке, кроме ее границ, не существует.
Исходные кадры (reference, из которых формируются предсказания) показаны безотносительно своей закодированной формы. Как только кадр раскодирован, он становится не набором блоков, а обычным плоским цифровым изображением из точек.
4. Размер отображаемой картинки совпадает с размером закодированной
В MPEG размеры отображаемого изображения и частота кадров может отличаться от закодированного в потоке. Например, перед кодированием некотрое подмножество кадров в исходной последовательности может быть опущено, а затем каждый кадр фильтруется и обрабатывается. При восстановлении интерполированы для восстановления исходного размера и частоты кадров.
Три фундаментальных фазы (исходная частота, кодированная и показываемая) могут отличаться в параметрах. Синтаксис MPEG описывает кодированную и показываемую частоту через заголовки, а исходная частота кадров и размер известен только кодеру. Именно поэтому в заголовки MPEG-2 введены элементы, описывающие размер экрана для вывода цифрового видео.
5. В I, P и B-фреймах все макроблоки одного типа.
В I-фрейме макроблоки должны быть закодированы как внутренние — без ссылок на предыдущие или последующие кадры, если не используются масштабируемые режимы. Однако, макроблоки в P-фрейме могут быть как внутренними, так и ссылаться на предыдущие кадры. Макроблоки в B-фрейме могут быть как внутренними, так и ссылаться на предыдущий кадр, последующий или оба. В заголовке каждого макроблока есть элемент, определяющий его тип.
Без компенсации движения:
С компенсацией движения:
Пропущенные макроблоки в P-фреймах:
Пропущенные макроблоки в B-фреймах:
6. Структура последовательности строго фиксирована шаблоном I,P,B.
Последовательность кадров в MPEG может иметь любую структуру размещения I, P и B фреймов. В промышленной практике принято иметь фиксированную последовательность (вроде IBBPBBPBBPBBPBB), однако, более мощные кодеры могут оптимизировать выбор типа кадра в зависимости от контекста и глобальных характеристик видеоряда.
Каждый тип кадра имеет свои преимущества в зависимости от особенностей изображения (активность движения, временные эффекты маскирования. ). Например, если последовательность изображений мало меняется от кадра к кадру, есть смысл кодировать больше B-фреймов, чем P. Поскольку B-фреймы не используются в дальнейшем процессе декодирования, они могут быть сжаты сильнее, без влияния на качество видеоряда в целом.
Требования конкретного приложения также влияют на выбор типа кадров: ключевые кадры, переключение каналов, индексирование программ, восстановление от ошибок и т. д.
Откуда берутся огромные коэфициенты сжатия?
Коэфициент сжатия MPEG видео часто заявляется как 100:1, тогда как в действительности он находися в районе от 8:1 до 30:1.
Как получается «более 100:1» для видео на компакт-диске (White Book) с потоком 1.15 Мбит/с.
1. Высокое разрешение исходного видео.
Большинство источников видеосигнала для компрессии имеют большее разрешение, чем то, которое актуально оказывается в закодированном потоке. Самый популярный студийный сигнал, известный как цифровое видео D-1 или CCIR 601, кодируется на 270 Мбит/с.
Цифра 270 Мбит/с получается из следующих вычислений:
Итого: 27 млн. точек/с x 10 бит/точку = 270 Мбит/с
Итак, начинаем с коэффициента сжатия 270/1.15. 235:1.
2. Выбросим гасяшие интервалы.
Из 858 точек яркости на линию под информацию изображения задействованы только 720. В действительности, количество точек на линию — предмет многих ссор на инженерных семинарах, и это значение лежит в пределах от 704 до 720. Аналогично, только 480 линий из 525 задействованы под изображение по вертикали. Настоящее значение лежит в пределах от 480 до 496. В целях совместимости MPEG-1 и MPEG-2 определяют эти числа как 704х480 точек на интенсивность и 352х480 для цветоразностей. Пересчитывая исходный поток, будем иметь:
Отношение (207/1.15) составляет всего 180:1.
3. Учтем большее количество бит/точку.
В MPEG на точку отводится 8 бит. Принимая во внимание этот фактор, отношение становится 180 * (8/10) = 144:1.
4. Учтем более высокое разрешение цветности.
Известный студийный сигнал CCIR-601 представляет сигнал цветности с половинным разрешением по горизонтали, но с полным вертикальным разрешением. Это соотношение частот оцифровки известно как 4:2:2. Однако, MPEG-1 и MPEG-2 Main Profile устанавливают использование формата 4:2:0, который считается достаточным для бытовых приложений. В этом формате разрешение цветоразностных сигналов в 2 раза меньше по горизонтали и вертикали, чем интенсивность. Таки образом, имеем:
720 точек x 480 линий x 30 кадр/с x 8 бит/отсчет x 1.5 остчетов/точку = 124 Мбит/с
. и отношение уже становится 108:1.
5. Учтем размер кодируемого изображения.
Последняя стадия предварительной обработки — это преобразование кадра формата CCIR-601 в формат SIF с уменьшением в 2 раза по горизонтали и вертикали. Всего в 4 раза. Качественное масштабирование по горизонтали выполняется с помощью взвешенного цифрового фильтра с 7 или 4-мя узлами, а по вертикали — выбрасыванием каждой второй линии, второго поля или, опять, цифровым фильтром, управляемым алгоритмом оценки движения между полями. Отношение теперь становится
352 точек x 240 линий x 30 кадр/с x 8 бит/отсчет x 1.5 отсчетов/точку
Таким образом, настоящее отношение A/B должно вычисляться между исходной последовательностью в стадии 30 Мбит/с перед кодированием, поскольку это есть действительная частота оцифровки, записываемая в заголовках потока и воспроизводимая при декодировании. Так, сжатия можно добиться уже одним сокращением частоты оцифровки.
6. Не забудем о частоте кадров.
Большинство коммерческих видеофильмов снимаются с киноленты, а не с видео. Основная часть фильмов, записанных на компакт-дисках, была оцифрована и редактирована при 24 кадр/с. В такой последовательности 6 из 30 кадров, отображаемых на телевизионном мониторе (30 кадр/с или 60 полей/с а NTSC), фактически избыточна, и может быть не кодирована в MPEG поток. Это ведет нас к шокирующему выводу, что действительный поток был всего 24 Мбит/с (24 кадр/с / 30 кадр/с * 30 Мбит/с), и коэффициент сжатия составляет всего каких-то 21:1.
Даже при таком скромном коэффициенте сжатия, как 20:1, несоответствия могут возникнуть между исходной и восстановленной последовательностями изображений. Только консервативные коэффициенты в районе 12:1 и 8:1 демонстрируют почти полную прозрачность процесса сжатия последовательностей со сложными пространственно-временными характеристиками (резкие движения, сложные текстуры, резкие контуры и т.д.). Несмотря на это, правильно закодированное видео с использованием предварительной обработки и грамотного распределения битов, может достигать и более высоких коэффициентов сжатия при приемлемом качестве восстановленного изображения.
Как достигается сжатие видео?
При сжатии видео используются следующие статистические характеристики:
Пространственная корреляция: дискретное косинусное преобразование 8х8 точек.
Особенности человеческого зрения: невосприимчивость к высокочастотным составляющим — скалярное квантование коэффициентов ДКП с потерей качества.
Точность межкадрового предсказания: билинейно интерполированные (фильтрованные) разности блоков. В реальном мире движения объектов от кадра к кадру редко попадают на границы точек. Интерполяция позволяет выяснить настоящее положение объекта, зачастую увеличивая эффективность компрессии на 1 дБ.
Как работает MPEG аудио?
MPEG стандарт определяет три высокопроизводительных схемы сжатия звука, называемых уровнями: Layer 1, 2 и 3. С возрастанием номера возрастает сложность и производительность алгоритма кодирования, задержка кодирования и соотношение качества восстановленного сигнала к величине потока. Эти три схемы иерархически совместимы, то есть декодер уровня 3 может читать layer 3, 2 и 1, а декодер уровня 2 — 2 и 1. Для каждого уровня стандарт жестко определяет синтаксис потока и алгоритм декодирования.
Все уровни имеют одинаковую базовую структуру. Кодер анализирует входной сигнал, вычисляя для него гребенку фильтров, и применяет к нему психоакустическую модель. На стадии квантования и кодирования кодер пытается так распределить доступные биты данных, чтобы выполнить требования фиксированной, наперед заданной величины потока и маскирования.
Декодер менее сложен. Его задача — синтезировать звуковой сигнал из спектральных компонент.
Все три уровня используют одну гребенку фильтров (32 полосы). Помимо этого, layer 3 применяет модифицированное дискретное косинусное преобразование (МДКП), чтобы увеличить частотную характеристику. Все уровни используют одну структуру потока и одни информационные заголовки, для поддержания иерархической совместимости. Частота оцифровки входного сигнала может быть 32, 44.1 и 48 КГц.
Уровень | Минимальный поток, Кбит/с | Максимальный поток, Кбит/с | Минимальная теоретическая задержка кодера, мс |
1 | 32 | 448 | 19 (Video compression guruElecard — ведущий разработчик программного обеспечения для кодирования, анализа и мониторинга видео в различных форматах (VVC, HEVC, AV1, VP9, MPEG-2 и H.264/AVC). Лидеры телеком индустрии, а также операторы OTT и IPTV вещания по всему миру используют наши потоковые кодеры. Анализаторы, зонды для мониторинга QoS & QoE параметров в режиме реального времени, кодеры и плееры помогают разработчикам, системным инженерам, архитекторам, тестерам сократить срок разработки и повысить качество продукта.
|