Сегодня 31 августа 2026
18+
MWC 2018 2018 Computex IFA 2018
реклама
Звук и акустика

Семейство форматов MPEG. Часть первая - MPEG-1.

Автор: Дан Гьен

История семейства форматов MPEG, к которому собственно и принадлежит стремительно набирающий в последнее время популярность формат MPEG-4, началась в далеком 1988 году. Именно в этом году был основан комитет Moving Pictures Expert Group, что на русский переводится примерно как экспертная группы кинематографии (движущихся изображений), аббревиатура которого - MPEG известна теперь любому, кто имел дело с мультимедиа - компьютерами или с цифровым телевидением. В этом же году была начата разработка формата MPEG-1, который в окончательном виде был выпущен в 1993 году. Несмотря на все очевидные недостатки этого формата, MPEG-1 по-прежнему является одним из наиболее массовых форматов видеосжатия, лишь в последнее время, начиная постепенно сдавать позиции под натиском более новых и совершенных форматов видеокомпрессии, по большей части из этого же семейства.

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

Формат MPEG-1. Старый, но еще не побежденный.

Формат MPEG-1 начал разрабатываться в те трудно вообразимые времена, когда не было широкодоступных носителей большого объема, в то время, как видеоданные, даже и сжатые, занимали совершенно колоссальные для конца 80-х объемы - средней продолжительности фильм имел размер больше гигабайта. Если кто не помнит, то это была эпоха 286 и 386 процессоров, 4 Мб оперативной памяти и 250 Мб винчестер считались роскошью, а не убогостью, как сейчас, Windows была примочкой для DOS, а не наоборот, а в качестве легко переносимых носителей информации доминировали 5 дюймовые дискеты и только-только появившиеся 3,5" дискеты от фирмы SONY. В таких условиях необходимо было найти носитель, на который можно было бы записать гигабайт информации, при этом этот носитель должен был быть недорогим, иначе ни о какой массовости не могло быть и речи.

И такой носитель был найден. Как раз в эти годы впервые на платформе PC появился такой новый тип носителей информации как CD-ROM диски, которые смогли обеспечить необходимый объем информации. Правда, на один диск фильм в формате MPEG-1 все-таки не вмещался, но что мешало записать его на 2 CD, тем более, что новинка стоила очень недорого? Разумеется, первые CD-ROM проигрыватели были односкоростными, поэтому не стоит удивляться, что максимальная скорость пересылки потока данных (bitstream) в формате MPEG-1 ограничена 150 Кб/сек., что соответствует одной скорости CD-ROM.

Надо сказать, что возможности MPEG-1 не ограничены тем низким разрешением, которое вы все видели при просмотре VIDEO-CD. В самом формате была заложена возможность сжатия и воспроизведения видеоинформации с разрешением вплоть до 4095х4095 и частотой смены кадров до 60 Гц. Но из-за того, что поток передачи данных был ограничен 150 Кб/сек., то есть так называемый Constrained Parameters Bitstream (CPB) - зафиксированная ширина потока передачи данных, разработчики формата, а в дальнейшем и создатели кодеков на его основе, были вынуждены использовать разрешения кадра, оптимизированные под данный CPB. Наиболее широко распространенными являются два таких оптимизированных формата - это формат SIF 352х240, 30 кадров в секунду и урезанный формат PAL/SECAM 352х288, 25 кадров в секунду.

Ну вот, с разрешением определились, теперь можно и посмотреть, как это все сжимается.

Принципы Сжатия информации в MPEG-1.

В качестве примера рассмотрим урезанный формат PAL/SECAM, который более распространен, чем SIF, хотя оба эти формата за исключением разрешения и частоты смены кадров ничем друг от друга не отличаются.

Урезанная версия формата PAL/SECAM содержит 352 ppl (point per line - точек на линию), 288 lpf (line per frame - линий на кадр) и 25 fps (frame per second - кадров в секунду). Надо сказать, что полноценный стандарт PAL/SECAM имеет параметры в 4 раза большие, чем аналогичные у MPEG-1 (кроме fps). Поэтому принято говорить, что VIDEO-CD имеет четкость в четыре раза хуже, по сравнению с обычным видео.

Что касается глубины цвета, то тут не все так просто, как в компьютерной графике, где на каждый пиксел отводится определенное фиксированное число бит. MPEG-1 использует цветовую схему YСbCr, где Y - это яркостная плоскость, Сb и Cr - плоскости цветовые. Эти плоскости кодируются с разным разрешением. Существуют несколько вариантов кодирования, которые можно представить с следующем виде:

Вариант кодирования Отношение разрешений Сb/Y (Сr/Y) по горизонтали Отношение разрешений Сb/Y (Сr/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

Как видно из таблицы Сb и Cr практически всегда кодируются с меньшим разрешением, чем Y. Чем меньше разрешение цветовых плоскостей, тем грубее и неестественнее цветопередача в видеоролике. Разумеется, самым некачественным, но и самым компактным будет последний вариант.

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

  1. Кадры типа I - Intra frame. Ключевые кадры, которые сжимаются без изменений.
  2. Кадры типа P - Predirected frame. При кодировании этих кадров часть информации удаляется. При воспроизведении P кадра используется информация от предыдущих I или P кадров.
  3. Кадры типа В - Bidirectional frame. При кодировании этих кадров потери информации еще более значительны. При воспроизведении В кадра используется информация уже от двух предыдущих I или P кадров. Наличие В кадров в видеоролике - тот самый фактор, благодаря которому MPEG-1 имеет высокий коэффициент сжатия (но и не очень высокое качество).

При кодировании формируется цепочка кадров разных типов. Наиболее типичная последовательность может выглядеть следующим образом: IBBPBBPBBIBBPBBPBB... Соответственно очередь воспроизведения по номерам кадров будет выглядеть так: 1423765...

По окончании разбивки кадров на разные типы начинается процесс подготовки к кодированию.

С I кадрами процесс подготовки к кодированию происходит достаточно просто - кадр разбивается на блоки. В MPEG-1 блоки имеют размер 8х8 пикселов.

А вот для кадров типа P и B подготовка происходит гораздо сложнее. Для того, чтобы сильнее сжать кадры указанных типов используется алгоритм предсказания движения.

В качестве входной информации алгоритм предсказания движения получает блок 8х8 пикселов текущего кадра и аналогичные блоки от предыдущих кадров (I или P типа). На выходе данного алгоритма имеем следующую информацию о вышеуказанном блоке:

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

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

Но у алгоритма предсказания движения есть ограничения. Зачастую в фильмах бывают статические сцены, в которых движения нет или оно незначительно и возникают блоки или целые кадры, в которых невозможно использовать алгоритм предсказания движения. Думаю, вы замечали, что у видеороликов сжатых MPEG-1 качество сцен с небольшим количеством двигающихся объектов заметно выше, чем в сценах с интенсивным движением. Это объясняется тем, что в статических сценах P и B кадры, по сути, представляют собой копии I кадров, потерь практически нет, но и сжатие информации незначительно.

В случае же корректного срабатывания алгоритма предсказания движения, объемы кадров разного типа в байтах соотносятся друг с другом примерно следующим образом - I:P:B как 15:5:2. Как вы видите из данного соотношения, уменьшение объема видеоинформации налицо уже на стадии подготовки к кодированию.

По окончании этой стадии начинается собственно само кодирование. Процесс кодирования содержит в себе 3 стадии:

  1. Discrete Cosine Transformation - DTC, дискретное преобразование косинусов, преобразование Фурье.
  2. Quantization - квантование. Перевод данных из непрерывной формы в прерывистую, дискретную.
  3. Преобразование полученных блоков данных в последовательность, то есть преобразование из матричной формы в линейную.

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

Все эти преобразования касаются только изображения. Но кроме изображения в практически любом видеофрагменте присутствует так же и звук. Кодирование звука осуществляется отдельным звуковым кодером. По мере развития формата MPEG, звуковые кодеры неоднократно переделывались, становясь все эффективнее. К моменту окончательной стандартизации формата MPEG-1 было создано три звуковых кодера этого семейства - MPEG-1 Layer I, Layer II и Layer 3 (тот самый знаменитый MP3). Принципы кодирования всех этих кодеков основаны на психоакустической модели, которая становилась все более и более совершенной и достигла своего апофеоза для семейства MPEG-1 в алгоритмах Layer-3.

Про психоакустическую модель и принципы сжатия аудиоданных с потерями написано множество статей, в частности статья "Описание формата аудиосжатия MP3", которую вы можете прочитать на этом сайте, поэтому описание аудиокодеров можно опустить, упомянув, единственно о синхронизации аудио- и видеоданных и форматов аудиотреков.

Синхронизация аудио- и видеоданных осуществляется с помощью специально выделенного потока данных под названием System stream. Этот поток содержит встроенный таймер, который работает со скоростью 90 КГц и содержит 2 слоя - системный слой с таймером и служебной информацией для синхронизации кадров с аудиотреком и компрессионный слой с видео- и аудиопотоками.

Под служебной информацией понимаются несколько видов меток, наиболее важными из которых являются метки SCR (System Clock Reference) - инкремент увеличения временного счетчика кодека и PDS (Presentation Data Stamp) - метка начала воспроизведения видеокадра или аудиофрейма.

Ну вот рассказ о MPEG-1 практически подошел к концу, осталось лишь назвать некоторые параметры аудиотреков, которые используются в этом формате.

Качество аудиотреков в MPEG-1 может варьироваться в очень больших пределах - от высококачественных до безобразных. Окончательно все форматы сжатия аудиоданных были стандартизированы в 1992 году европейской комиссией по стандартам ISO.

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

На этом хватит о MPEG-1, а в следующих главах речь пойдет о его более чем достойных и перспективных наследниках.

Было интересно? Скажите об этом Google, чтобы чаще получать ссылки на наши новости про звук и акустика
 
 
Если Вы заметили ошибку — выделите ее мышью и нажмите CTRL+ENTER.

window-new
Soft
Hard
Тренды 🔥
Windows 11 перестанет навязывать OneDrive: Microsoft разрешила навсегда отказаться от облачного бэкапа 3 ч.
«Нам нужно адаптироваться»: оригинальная The Long Dark получит новые DLC, а Blackfrost: The Long Dark 2 скоро выйдет из тени 3 ч.
Новая Fable не станет игрой на сотни часов, и фанаты даже рады 4 ч.
ИИ-агенты OpenAI не просто взломали Hugging Face — они создали тайную организацию, заметали следы и были готовы к самопожертвованию 23 ч.
«Энергетический» стартап Emerald AI привлёк $150 млн при оценке $1,05 млрд 30-08 15:22
Valve случайно «слила» 12 Тбайт данных по играм Steam с 2003 по 2013 год, включая ранние сборки Portal 2, Left 4 Dead, CS:GO и не только 30-08 15:18
Sony и Warner подали на Anthropic в суд за «вопиющую кражу» музыкальных произведений 30-08 11:59
Новая статья: Mortal Shell 2 — вдвое больше. Рецензия 30-08 00:08
Южная Корея обеспечит всех граждан страны безлимитным доступом к генеративным ИИ-сервисам 29-08 21:17
Следующая жертва ИИ — актёры: в Китае их массово заменяют цифровыми двойниками 29-08 18:18
G.Skill представила комплект Flare X5X DDR5-6000 с технологией разгона AMD EXPO ULL для систем на Ryzen 2 ч.
Очередная доставка астронавтов и космонавта на МКС задержится из-за технических проблем у корабля SpaceX Dragon 2 ч.
Поставщики облачных услуг в Бразилии возьмут на вооружение оптические диски Folio Photonics 3 ч.
Гибрид Xiaomi Skynomad N90 Max проехал в реальных условиях 1230 км без подзарядки и дозаправки 4 ч.
FPGA AMD Versal RF получат поддержку UCIe 1.1 4 ч.
Российские цены на оперативную память и SSD для серверов выросли вдвое — снижения цен пока не предвидится 4 ч.
Лиха беда начало: Longsys станет третьим китайским чипмейкером, который выйдет на биржу в этом году 7 ч.
Intel может приобщиться к выпуску памяти HBM4E — она будет делать базовые кристаллы для SK hynix 7 ч.
Primemas представила модули расширения CXL с поддержкой 4 Тбайт DRAM 7 ч.
Флагманские смартфоны POCO F9 Ultra и F9 Pro рассекречены почти полностью в преддверии анонса 8 ч.