Семейство форматов MPEG (разница между форматами mpeg, mpeg-2, HDTV)
Вступление
Прародитель этого формата - 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
или bbmpg123.zip.
Не обошли нововведения и алгоритмы предсказания движения. Данная секция
обогатилась новыми режимами: 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.
Изменения в алгоритмах сжатии аудиоданных формата MPEG-2.
Основное изменение - на смену многолетнему лидеру в области сжатия звука MPEG
Layer 3 пришел стандарт MPEG-2 AAC (Advanced Audio Coding), вернее целое
семейство форматов. Об этом семействе написано множество статей.
Единственно, что хотелось бы добавить, для MPEG-2 AAC, так же как и для видео,
существуют профили: базовый профиль Main, Low Complexity (LC) и Scalable
Sampling Rate (SSR, требуется декодер поддерживающий VBR).
Из изменений касающихся форматов звука (не алгоритмов сжатия), можно назвать
новые виды частот: 16, 22.05, 24 КГц и поддержку многоканальности - теперь
вместо двух каналов, в MPEG-2 поддерживаются 5 полноценных каналов (left,
center, right, left surround, right surround) + 1 низкочастотный (subwoofer).
Объединение звука и видео в формате MPEG-2.
Системный уровень MPEG-2, отвечающий за синхронизацию видео и аудио,
обеспечивает это объединение в 2 этапа:
Первый этап называется Packetized Elementary Stream (PES) - разбивка звукокого
и видео потока на пакеты.
Второй этап может быть двух видов:
MPEG-2 Program Stream, который полностью совместим с MPEG-1 System и используется
в основном для локальных передач (носители, сеть Internet, кабельное
телевидение).
MPEG-2 Transport Stream - для передачи транспортных пакетов (длиной 188 либо
188+16 бит) двух типов (сжатые данные - PES - и сигнальную таблицу Program
Specific Information - PSI) через спутниковые каналы или на плохих участках
сетей, где возможно большое количество ошибок.
MPEG2 и MPEG4
На данный момент большинство операторов кабельного и спутникового телевидения
используют стандарт MPEG 2 для передачи своих сигналов. Стандарт MPEG2 был
разработан рабочей группой Moving Pictures Experts Group Международной
Организации Стандартизации. MPEG2 опубликован как международный стандарт
ISO/IEC 13818. Данный стандарт описывает лишь общие принципы компрессии,
оставляя детали для изготовителей кодеров.
В основе алгоритма сжатия заложены особенности восприятия изображения
человеком. Например, глаз человека намного лучше воспринимает градации яркости,
чем цветности; градации одних цветов воспринимаются лучше, других - хуже.
Кроме того, чаще всего на экране показывается неподвижный фон и несколько
движущихся объектов. Поэтому достаточно лишь передать информацию о базовом
кадре, а затем передавать кадры, содержащие информацию о движущихся объектах.
Еще один принцип, который применяется при компрессии изображения - это
отбрасывание малозначимой информации, аналогичный принципам, используемым в
графическом формате JPEG.
Но вернемся собственно к теме нашего разговора. Развитием технологий управляет
принцип: лучше, красивее, больше c меньшими затратами и по меньшей цене. В
нашем случае подразумевается картинка лучшего качества, при меньшей ширине
информационного канала (спутникового, кабельного, эфирного). Совершенствование
видео кодеков стандарта MPEG2 привело к тому, что сейчас для передачи
изображения требуется канал с пропускной способностью в 2 раза меньше, чем в
начале эры цифрового вещания. С течением времени стало очевидным, что новые
разработки позволяют значительно уменьшить объем передаваемой информации, но
они не соответствуют существующему стандарту MPEG 2. Поэтому перед
специалистами встала задача разработки более универсального и соответствующего
современным технологиям стандарта.
Для цифрового телевидения, использующего MPEG2, с разрешением 720 на 576 точек
максимальная скорость информационного потока 15 Мбит/сек, а практически
используемая скорость потока - 3-4 Мбит/сек. На одном транспондере (приемнике -
передатчике) на спутнике обычно умещается 8-12 каналов.
Поскольку HDTV предполагает разрешение 1920 на 1080 точек, т.е. площадь экрана
в 5 раз больше по сравнению с обычным телевидением, то для вещания одного
канала HDTV в формате MPEG2 потребовалось бы арендовать половину транспондера.
Новым шагом в развитии алгоритмов сжатия изображения стал стандарт MPEG 4. Его
идея заключается не в стандартизации одного продукта, а объединении нескольких
подстандартов из которых поставщики могут выбрать один, наиболее
соответствующий их задачам.
Наиболее важные подстандарты:
* ISO 14496-1 (Системы), формат контейнера MP4, анимация/интерактивность
(например, DVD меню)
* ISO 14496-2 (Видео #1), Продвинутый Простой Профайл ( Advanced Simple Profile
- ASP)
* ISO 14496-3 (Аудио), Продвинутое Кодирование Аудио ( Advanced Audio Coding -
AAC)
* ISO 14496-10 (Видео #2), Продвинутое Кодирование Видео ( Advanced Video
Coding - AVC), так же известное как H.264.