Стандарт MPEG-4 (часть 1)

MPEG-4 – это стандарт ISO/IEC, разработанный группой экспертов MPEG (Moving Picture Experts Group). Этот комитет также разработал такие известные стандарты как MPEG-1 и MPEG-2, которые сделали возможным интерактивное видео на CD-ROM и цифровое телевидение. MPEG-4 стал результатом совместной работы многих исследователей и разработчиков по всему миру. Разработка MPEG-4 завершилась в октябре 1998 года и стала международным стандартом в начале 1999 года. Расширенный вариант MPEG-4 версия 2 был разработан к концу 1999 года и стал международным стандартом в начале 2000 года. Работы над этим стандартом продолжаются. MPEG-4 был разработан для решения следующих задач:

Особенности стандарта MPEG-4

Стандарт MPEG-4 предоставляет технологии для разработчиков, сервис-провайдеров и пользователей.

Что определяет стандарт MPEG-4?

Кодированное представление медийных объектов

Аудиовизуальные сцены MPEG-4 состоят из различных медийных объектов, организованных иерархически. Эти объекты включают:

MPEG-4 стандартизует ряд примитивных медиа-объектов, которые могут представлять как естественное, так и синтетическое содержимое, будь то 2D или 3D. Помимо упомянутых медиа-объектов, MPEG-4 определяет кодовое представление таких объектов, как:

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

Состав медийных объектов

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

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

MPEG-4 предоставляет стандартный способ описания сцен, позволяющий:

Метод описания сцены во многом напоминает язык моделирования виртуальной реальности VRML (Virtual Reality Modeling Language).

Пример сцены MPEG-4

Рис. 1. Пример сцены MPEG-4

Описание и синхронизация потоков данных для медийных объектов

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

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

Для обеспечения синхронизации элементарных потоков используются временные метки блоков данных. Уровень синхронизации управляет определением этих блоков данных и их временными метками. Независимо от типа среды, этот уровень позволяет определять тип данных в элементарных потоках (например, видеокадры или аудиокадры), восстанавливать временную базу для медиа-объекта или описания сцены и синхронизировать их. Синтаксис этого уровня может быть настроен различными способами, чтобы соответствовать разнообразным системам.

Доставка потоков данных

Для обеспечения синхронизованной передачи потоков данных от отправителя к получателю с учетом различных QoS, доступных в сети, используется система, основанная на слоях синхронизации и доставки. Эта система включает в себя двухуровневый мультиплексор, как показано на рис. 2.

Первый слой мультиплексирования работает согласно спецификации DMIF (Delivery Multimedia Integration Framework). Для мультиплексирования может использоваться мультиплексор FlexMux, разработанный в рамках стандарта MPEG. Он позволяет группировать элементарные потоки (ES - Elementary Streams) с минимальной избыточностью. Мультиплексирование на этом уровне может применяться, например, для объединения потоков с похожими требованиями к QoS, с целью сокращения количества сетевых соединений или времени задержки.

Слой "TransMux" (Transport Multiplexing) на рис. 2 представляет собой уровень, который предоставляет транспортные услуги, соответствующие требованиям QoS. MPEG-4 определяет только интерфейс этого слоя, в то время как спецификации для данных в пакетах будут зависеть от выбранного транспортного протокола. Все существующие стеки транспортных протоколов, такие как (RTP)/UDP/IP, (AAL5)/ATM или MPEG-2 Transport Stream, могут служить примерами TransMux. Этот выбор оставлен на усмотрение конечного пользователя или сервис-провайдера, что позволяет интегрировать MPEG-4 в различные операционные среды.

Модель системного слоя MPEG-4

Рис. 2. Модель системного слоя MPEG-4

Использование мультиплексора FlexMux не является обязательным. Как показано на рис. 2, этот слой может отсутствовать, если нижний слой TransMux предоставляет все необходимые функции. Однако слой синхронизации всегда присутствует. Учитывая это, следующие возможности становятся доступными:

Взаимодействие с медийными объектами

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

Управление и идентификация интеллектуальной собственности

Для MPEG-4 медиа-объектов критично важно уметь идентифицировать интеллектуальную собственность. Подробный список требований к идентификации интеллектуальной собственности доступен на официальной странице MPEG в разделе "Управление и защита интеллектуальной собственности".

MPEG-4 предоставляет возможность идентификации интеллектуальной собственности через сохранение уникальных идентификаторов, выданных международными системами нумерации (например, ISAN, ISRC). Эти идентификаторы могут применяться для определения текущего владельца прав на медиа-объект. Поскольку не все содержимое может быть определено таким образом, MPEG-4 версия 1 также предоставляет механизм идентификации с использованием пары ключ/значение (например, "композитор"/"Джон Смит"). Кроме того, в MPEG-4 представлен стандартизованный интерфейс для интеграции с системами контроля прав интеллектуальной собственности.

Ключевые возможности в MPEG-4 версия 1

DMIF включает в себя следующие функции:

Системы

MPEG-4 представляет собой набор алгоритмов для усовершенствованного сжатия аудио и видео данных. После процесса кодирования полученные потоки данных (Elementary Streams, ES) могут быть переданы или сохранены отдельно. Однако для корректного воспроизведения на стороне получателя, эти потоки необходимо правильно скомбинировать для создания полноценной мультимедийной презентации.

Системные аспекты MPEG-4 регулируют взаимодействия между аудио и видео компонентами сцены. Эти взаимодействия разделены на два уровня:

Другие характеристики системы MPEG-4:

Аудио-система

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

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

Видео-система

Стандарт MPEG-4 Видео позволяет кодировать как естественные (пиксельные) изображения и видео, так и синтезированные сцены (созданные на компьютере). Это предоставляет возможность виртуального участия в видеоконференциях. Видеостандарт включает в себя инструменты и алгоритмы для кодирования естественных (пиксельных) статических изображений и видеопоследовательностей, а также инструменты для сжатия синтетических 2-D и 3-D графических параметров.

Поддерживаемые форматы

MPEG-4 версия 1 будет поддерживать следующие форматы и скорости передачи:

Эффективность сжатия

Эффективность сжатия является одним из ключевых аспектов стандарта MPEG-4. В этом контексте учитываются следующие особенности:

Функции, зависящие от содержимого (Content-Based)

Одной из особенностей стандарта MPEG-4 является его способность предоставлять функции, которые учитывают содержимое медиа:

Масштабируемость текстур изображений и видео

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

Кодирование формы и Alpha-представление

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

Надежность в средах, подверженных ошибкам

Одной из ключевых особенностей стандарта MPEG-4 является устойчивость к ошибкам, что позволяет обеспечить стабильный доступ к изображениям и видео в различных системах памяти и трансляции. Особое внимание уделяется обеспечению надежности в условиях, когда система подвержена ошибкам, особенно при низких скоростях передачи данных (например, менее 64 Кбит/с).

Анимация лица

В рамках стандарта MPEG-4 предусмотрена возможность анимации лица. Это позволяет передавать параметры, которые способствуют спецификации и анимации синтезированных лиц. Сама модель лица не стандартизирована, только параметры. К основным функциям относятся:

Кодирование 2-D сеток с нечетко выраженной структурой

Для кодирования 2-D сеток стандарт предлагает ряд методов и подходов:

Главные функции в MPEG-4 версия 2

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

Вторая версия системы MPEG-4 дополняет и расширяет первую, добавляя такие функции, как расширенные возможности BIFS и поддержка Java (MPEG-J). Также в версии 2 представлен формат файлов для сохранения контента MPEG-4.

Натуральное видео

Версия 2 видеостандарта MPEG-4 вводит ряд новых возможностей в области видеокодирования:

Анимация тела

К уже существующей в версии 1 функции анимации лица в версии 2 была добавлена возможность анимации тела.

Кодирование 3-D полигональных сеток

Версия 2 стандарта MPEG-4 предлагает инструменты для кодирования трехмерных многогранных сеток. Эти сети находят широкое применение при создании 3D-моделей объектов.

Звук

Аудиостандарт MPEG-4 версии 2 является дополнением к версии 1. В нем сохранены все ранее существующие функции, и добавлены новые инструменты и возможности. В частности, версия 2 предлагает:

DMIF

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

Поддержка мобильных сетей

Стандарт H.245 был дополнен (версия H.245v6) для интеграции с системами MPEG-4; DMIF теперь может обрабатывать сигналы H.245. Это означает, что мобильные устройства теперь могут быть интегрированы с функционалом MPEG-4, например, с использованием BIFS и OD-потоков.

Мониторирование QoS

В DMIF версии 2 представлена концепция мониторинга качества обслуживания (QoS) в сети. Интерфейс DMIF был расширен для поддержки этой функции. Существуют три различных режима мониторинга QoS: непрерывное наблюдение, контроль конкретных очередей и контроль за нарушениями в QoS.

Пользовательские команды с подтверждением

Модель DMIF позволяет партнерским приложениям обмениваться пользовательскими сообщениями. В версии DMIF V2 была добавлена функция подтверждения приема сообщений.

Управление информацией уровня Sync MPEG-4

Версия DMIF V.2 была доработана, чтобы позволить приложениям обмениваться данными с уровнем DMIF. Эта функция была добавлена, чтобы в рамках модели DMIF осуществлять обмен блоками данных протокола уровня Sync. Это сочетание медиаданных и логической информации уровня Sync. Модель предполагает, что внутри текущего транспортного стека есть функции, которые дублируют функции уровня Sync системы MPEG-4. Например, это относится к RTP, MPEG-2 PES и MP4 в файловом формате. Во всех этих случаях реализация DMIF включает преобразование информации уровня Sync в унифицированное логическое представление. В результате были добавлены соответствующие параметры для DAI.

DAI-синтаксис на языке СИ

В DMIF версии 2 представлено информативное дополнение, которое описывает синтаксис C/C++ для прикладного интерфейса DMIF, соответствующего рекомендуемому API-синтаксису.

Расширения MPEG-4 за пределы версии 2

На данный момент, MPEG активно работает над расширением версии 2 в визуальной и системной областях. Дополнительные работы по расширению MPEG-4 DMIF или аудио за рамками версии 2 не проводились.

Визуальная область системы

В рамках визуальной области планируется внедрение следующих методик:

Advanced BIFS

Продвинутый BIFS вводит дополнительные узлы, которые можно использовать в структуре сцены для мониторинга и управления средой. Это включает в себя отправку команд на сервер, расширенное управление воспроизведением и узел EXTERNPROTO, который обеспечивает дополнительную совместимость с VRML и позволяет создание макросов для определения поведения объектов. Также предусмотрено улучшенное сжатие данных для BIFS, особенно для сеток и массивов данных.

Текстуальный формат

Расширенный текстовый формат MPEG-4, известный как XMT, служит основой для представления описаний сцен MPEG-4 с использованием текстового синтаксиса. XMT обеспечивает обмен содержимым между авторами. Средства для обеспечения совместимости с X3D (Extensible 3D) и SMIL (Synchronized Multimedia Integration Language) разработаны соответствующими консорциумами Web3D и W3C.

XMT может быть модифицирован участниками SMIL, VRML и MPEG-4. Этот формат может быть прочитан и воспроизведен напрямую участниками W3C SMIL, конвертирован в Web3D X3D и вновь воспроизведен участниками VRML, или скомпилирован в презентацию MPEG-4, которая может быть затем воспроизведена участниками MPEG-4. Далее описано взаимодействие с XMT, включая MPEG-4, большую часть SMIL, Scalable Vector Graphics, X3D и текстовое представление описания MPEG-7.

XMT предлагает два уровня текстового синтаксиса и семантики: форматы XMT-A и XMT-U. XMT-A является версией MPEG-4 на основе XML и содержит подмножество X3D. XMT-A также включает расширение MPEG-4 для X3D. XMT-U представляет собой абстракцию инструментов высокого уровня MPEG-4 на основе W3C SMIL.

Улучшенная модель синхронизации

Продвинутая модель синхронизации, часто называемая "FlexTime", предоставляет механизм для синхронизации объектов разного происхождения, которые могут иметь различные временные шкалы. FlexTime устанавливает временные связи, используя гибкую модель с временными ограничениями. В рамках этой модели, медиа-объекты могут быть связаны во временной структуре с использованием ограничений, таких как "CoStart", "CoEnd" или "Meet". Кроме того, каждый объект может иметь адаптивную продолжительность с возможностью растяжения или сжатия в зависимости от установленных ограничений.

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

Профайлы в MPEG-4

MPEG-4 предлагает обширный набор инструментов для кодирования аудио и визуальных объектов. Чтобы обеспечить эффективное применение стандарта, определены специальные подмножества инструментов MPEG-4, видео и аудио, предназначенные для конкретных приложений. Эти подмножества, которые называются "профайлами", определяют набор инструментов, который может использовать декодер. Для каждого профайла устанавливается один или несколько уровней, которые определяют вычислительные ограничения. Этот подход аналогичен тому, что использовался в MPEG-2, где наиболее известные комбинации профайл/уровень представлены в виде "главный_профайл@главный_уровень". Комбинация профайл@уровень обеспечивает:

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

Визуальные профайлы

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

  1. Простой визуальный профайл: Предоставляет надежное и эффективное кодирование прямоугольных видео объектов, оптимизированных для мобильных приложений, например, PCS и IMT2000.
  2. Простой масштабируемый визуальный профайл: Дополняет "простой" профайл возможностью кодирования временно и пространственно масштабируемых объектов. Это идеально подходит для приложений, предоставляющих разные уровни качества в зависимости от ограничений пропускной способности или ресурсов декодера, например, Интернет-приложений или программного декодирования.
  3. Центральный визуальный профайл: Расширяет "простой" профайл, добавляя поддержку кодирования объектов произвольной формы, что может быть полезно для приложений с базовой интерактивностью, таких как интернет-мультимедиа.
  4. Главный визуальный профайл: Обогащает центральный профайл возможностями кодирования интерлейсинговых, полупрозрачных и виртуальных объектов. Этот профайл оптимален для интерактивного широковещательного телевидения высокого качества и для DVD-приложений.
  5. N-битный визуальный профайл: Добавляет к "главному" профайлу возможность кодирования видео объектов с глубиной пикселя от 4 до 12 бит. Применяется в системах видеонаблюдения и других специализированных приложениях.

Для синтетических и гибридных визуальных материалов существуют специальные профили:

  1. Простой визуальный профиль для анимации лица (Simple Facial Animation) предоставляет базовые инструменты для анимирования модели лица, что особенно полезно в аудио/видео презентациях для людей с нарушениями слуха.
  2. Масштабируемый визуальный профиль для текстур (Scalable Texture Visual) позволяет выполнить пространственное масштабирование статических изображений (текстур). Это полезно для приложений, которым требуются различные уровни масштабирования, например, при сопоставлении текстуры с объектами игр или при работе с цифровыми фотокамерами высокого разрешения.
  3. Базовый визуальный профиль для анимированных 2-D текстур (Basic Animated 2-D Texture) предлагает пространственное масштабирование, масштабирование по SNR и анимацию на основе сеток для статических изображений (текстур), а также базовую анимацию лицевых объектов.
  4. Гибридный визуальный профиль сочетает в себе декодирование масштабируемых объектов натурального видео произвольной формы (как в главном визуальном профиле) и декодирование различных синтетических и гибридных объектов, включая анимированные статические изображения. Это идеально подходит для сложных мультимедийных приложений.

Версия 2 вводит дополнительные профили для натурального видео:

  1. ARTS (Advanced Real-Time Simple) профиль предлагает продвинутый метод кодирования прямоугольных видео объектов, который устойчив к ошибкам, использует обратный канал и обеспечивает улучшенную стабильность временного разрешения при минимизированной задержке буферизации. Этот профиль особенно подходит для реальных временных приложений, таких как видеотелефония, видеоконференции и дистанционное наблюдение.
  2. Центральный масштабируемый профиль расширяет возможности кодирования объектов произвольной формы с пространственным и временным масштабированием в базовый профиль. Его ключевая особенность - SNR, пространственное и временное масштабирование для выбранных областей и объектов. Профиль идеально подходит для таких приложений как Интернет, мобильные сети и трансляции.
  3. ACE (Advanced Coding Efficiency) профиль усиливает эффективность кодирования как для прямоугольных объектов, так и для объектов произвольной формы. Это наилучший выбор для приложений, таких как мобильное телевидение и другие ситуации, где требуется высокая эффективность кодирования.

Профили версии 2 для искусственного и синтетического/натурального гибридного визуального материала:

  1. Продвинутый масштабируемый профайл текстур обеспечивает декодирование текстур произвольной формы и статических изображений. Он включает в себя масштабируемое кодирование формы, мозаичное заполнение и защиту от ошибок. Этот профайл идеально подходит для приложений, требующих быстрого произвольного доступа, различные уровни масштабируемости и кодирования статических объектов произвольной формы, таких как просмотр изображений в интернете или изображений высокого разрешения с цифровых камер.
  2. Продвинутый центральный профайл сочетает в себе возможности декодирования видео объектов произвольной формы (как в центральном профайле) и масштабируемых статических объектов (как в продвинутом масштабируемом профайле текстур). Он особенно полезен для разнообразных мультимедийных приложений, например, для интерактивного потокового воспроизведения мультимедиа через Интернет.
  3. Профайл простой анимации лица и тела расширяет возможности профайла простой анимации лица, добавляя функционал анимации тела.

В последующих версиях будут добавлены следующие профили:

  1. Продвинутый простой профайл аналогичен простому профайлу, но содержит только прямоугольные объекты. Однако у него есть дополнительные функции, такие как B-кадры, компенсация перемещения на уровне пикселя и общая компенсация перемещения, делая его более эффективным.
  2. Масштабируемый профайл тонкой гранулярности предоставляет возможность использовать до 8 масштабных уровней, что позволяет адаптировать качество доставки к условиям передачи и декодирования. Этот профайл может работать с простым или продвинутым простым профайлом в качестве базового уровня.
  3. Простой студийный профайл предназначен для высококачественных студийных приложений. Он работает только с I-кадрами, но поддерживает произвольные формы и множество alpha-каналов. Максимальная скорость передачи может достигать 2 Гбит/с.
  4. Центральный студийный профайл добавляет к профайлу "Простой студийный" P-кадры, что делает его более эффективным, но при этом требует более сложной реализации.

Аудио профили

В MPEG-4 V.1 определены следующие четыре аудио-профайла:

В MPEG-4 V.2 были добавлены следующие четыре аудио-профайла:

Профайлы графики

Профайлы графики определяют возможные графические и текстовые элементы для использования в сцене. Эти профайлы задаются в системной части стандарта:

Графические профайлы сцены

Графические профайлы сцены, определенные в системной части стандарта, позволяют создавать аудио-визуальные сцены, используя только аудио, 2D, 3D или комбинированное 2D/3D содержание.

Профайлы MPEG-J

В стандарте MPEG-J представлены два профайла: персональный и главный:

  1. Персональный профайл предназначен для персональных устройств, таких как мобильные и портативные аппараты. К ним относятся видео микрофоны, PDA, персональные игровые устройства. Пакеты MPEG-J API, включенные в этот профайл:
    • Сеть
    • Сцена
    • Ресурс
  2. Главный профайл охватывает широкий спектр устройств, включая развлекательную аппаратуру, например, акустические системы и мультимедийные компьютерные системы. Он расширяет функциональность персонального профайла, дополняя его дополнительными пакетами MPEG-J API:
    • Декодер
    • Функции декодера
    • Секционный фильтр и сервисная информация

Профайл дескриптора объекта

Профайл описания объекта предоставляет набор средств для описания и управления различными аспектами мультимедийных объектов. Эти средства включают:

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