SITE LOGO
Корзина
Ваша корзина пуста
Категории раздела
Видео [3]
Аудио [0]
Вход на сайт
Логин:
Пароль:
Поиск
Наш опрос
Оцените мой сайт
Всего ответов: 23
Друзья сайта
  • Официальный блог
  • Сообщество uCoz
  • FAQ по системе
  • Инструкции для uCoz
  • Статистика
    Вторник, 19.09.17, 21:45
    Приветствую Вас Гость | RSS
    Главная | Регистрация | Вход
    Каталог статей
    Главная » Статьи » Видео

    MPEG-4
    MPEG-4
    Стандарты серии MPEG для сжатия видео/аудиоданных разрабатывает группа Motion Picture Expert Group Международной организации по стандартам (ISO). Напомним, что MPEG-1 (принят в качестве официального стандарта в 1992 г.) разрабатывался для доставки видео на CD-ROM (скорость около 1,5 Мбит/с) и получил широкое распространение во многом благодаря дискам VideoCD (до сих пор очень популярным в Азии, в частности в Китае). MPEG-2 (1994 г.) предназначен для работы с видео вещательного качества (скорость потока данных 3-15 Мбит/с) и сегодня все шире используется в цифровом телевещании, а также при кодировании видеоматериалов для дисков DVD-Video. Группа MPEG начала было работу над стандартом MPEG-3, который должен был обеспечить унификацию в компрессии потоков данных со скоростями 20-40 Мбит/с для телевидения высокой четкости (HDTV), но довольно быстро обнаружилось, что принципиальной разницы в подходах между MPEG-2 и MPEG-3 нет, в результате чего разработка последнего была прекращена, а рамки MPEG-2 расширены. MPEG-4 же, подобно Золушке, из стандарта «мультимедиа для бедных» с дергающейся картинкой в маленьком окошке превращается в главное действующее лицо мира мультимедиа (фактически подчинив себе и «старших сестер», области применения которых теперь можно трактовать как частные случаи - как способы кодирования одного из многочисленных типов данных, предусмотренных MPEG-4). Важность этого стандарта трудно переоценить, он гораздо больше, чем просто описание правил кодирования. По существу он претендует на то, чтобы стать - спустя десять лет после зарождения цифрового мультимедиа - единым концептуальным способом описания, представления и обработки мультимедиа-данных на ближайшее десятилетие.

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

    MPEG-4 - не только стандарт, фактически он задает правила организации среды, причем среды объектно-ориентированной. Он имеет дело не просто с потоками и массивами медиа-данных, а с медиа-объектами - это ключевое понятие стандарта. Объекты могут быть аудио-, видео-, аудиовизуальными, графическими (плоскими и трехмерными), текстовыми. Они могут быть как «естественными» (записанными, отснятыми, отсканированными и т. п.), так и синтетическими (т. е. искусственно сгенерированными). Примерами объектов могут служить неподвижный фон, видеоперсонажи отдельно от фона (на прозрачном фоне), синтезированная на основе текста речь, музыкальные фрагменты, трехмерная модель, которую можно двигать и вращать в кадре, анимированный спрайт (о спрайтах см. в главе «Кодирование видео»). Медиа-объекты могут быть потоковыми. Каждый медиа-объект имеет связанный с ним набор дескрипторов, где и задаются все его свойства, операции, необходимые для декодирования ассоциированных с ним потоковых данных, размещения в сцене, а также поведение и допустимые реакции на воздействия пользователя. Из объектов строятся сцены. Сцена имеет свою систему координат, в соответствии с которой размещаются объекты. Звуковые объекты также могут иметь (и менять во времени) координаты в пространстве сцены, благодаря чему достигаются стерео- и «окружающие» (surround) эффекты. Объекты могут быть элементарными (primitive) и составными (compound), т. е. представляющими ту или иную композицию элементарных объектов (например, сгенерированный трехмерный телевизор, наложенная на его экран живая видеотрансляция и исходящий из его динамиков звук). Стандарт задает правила кодирования различных объектов, их иерархии и способы композиции при построении сцены, а также методы взаимодействия пользователя с отдельными объектами внутри сцены. Каждый объект имеет свою локальную систему координат - с ее помощью объект управляется в пространстве и во времени. При помещении объекта в сцену происходит преобразование его локальной системы координат в систему координат ста ршего по иерархии объекта или глобальную систему координат сцены. Объекты и сцена могут обладать поведением, контролируемым уровнем композиции при визуализации сцены (характер звука, цвет объекта и т. п.). Сцена описывается с помощью иерархической структуры; узлами этой структуры являются объекты, и она динамически перестраивается по мере того, как узлы-объекты добавляются, удаляются или заменяются.

    В MPEG-4 определен двоичный язык описания объектов, классов объектов и сцен BIFS, который характеризуют как «расширение Си++». С помощью команд BIFS можно анимировать объекты, менять их координаты, размеры, свойства, задавать поведение, реакции на воздействия пользователя, менять свойства среды, изменять и обновлять сцену, выполнять 2D-геометрические построения и т. п. Поскольку язык двоичный, он весьма компактен и быстр в интерпретации. Согласно заявлениям разработчиков, многие концепции BIFS позаимствованы у VRML, и сейчас MPEG и Web 3D Consortium продолжают работу по сближению MPEG-4 и VRML.
    Кодирование видео
    Как уже упоминалось, MPEG-4 начинал разрабатываться как способ передачи потоковых медиа-данных, в первую очередь видео, по каналам с низкой пропускной способностью (4,8-64 Кбит/с), в том числе беспроводным. Сейчас эта часть представлена блоком VLBV Core (Very Low Bit-rate Video) - ядром, обеспечивающим работу с «видео, имеющим очень низкую скорость потока данных». Естественно, такое видео имеет ухудшенные характеристики как по разрешению (до так называемого разрешения CIF, Common Interchange Format - 320Ч240), так и по частоте кадров (до 15 кадр/с); впрочем, прогресс методов сжатия постоянно повышает «верхнюю границу» характеристик - всего два года назад речь шла лишь о 176Ч144. Помимо эффективных и помехоустойчивых методов кодирования последовательностей подобных кадров, VLBV содержит предложения по реализации операций произвольного доступа к кадрам видеопоследовательности, а также быстрой «подмотки» видеоряда вперед и назад. Это требуется, например, в бурно развивающейся области управлени я медиа-активами (Digital Asset Management) - для работы с базами видеоданных, хранящими видеоматериалы в низком разрешении (для целей быстрого поиска и оценки) и ссылки на места хранения соответствующих материалов в полном вещательном качестве.

    Второй блок, отвечающий за работу с видео с большой скоростью потока, вплоть до вещательного качества по стандарту ITU-R 601, обеспечивает в общем те же функции, что и VLBV, однако здесь предусмотрены возможности работы с видео, имеющим не только прогрессивную, но и чересстрочную телевизионную развертку. Два названных блока обрабатывают обычные видеопотоки с прямоугольными кадрами и фактически включают в себя функциональность MPEG-1 и MPEG-2, а также кодирование «живых» текстур.

    Особенно интересен третий блок - так называемые функции, зависящие от контента. Сюда входит обработка видео с произвольным силуэтом (с помощью 8-бит механизма прозрачности или двоичных масок) для отдельного кодирования видеообъектов (например, «вырезанного» силуэта диктора) и интерактивных манипуляций с ними. Помимо обычных методов межкадрового кодирования - предсказания и компенсации движения, предусмотрены механизмы работы со «спрайтами» - неподвижными изображениями, которые передаются в декодер лишь однажды и всякий раз подставляются в нужное место кадра из специального спрайтового буфера. Механизм спрайтов позволяет значительно снизить объем передаваемых данных и обеспечивает большую гибкость в построении сцен. Например, можно запускать различные объекты-спрайты (самолеты, автомобили) поверх «живого» видео-фона или же построить (выделить из реальных съемок или сгенерировать) неподвижную спрайт-панораму шириной в несколько кадров для «задника» сцены (спортивная площадка и трибуны) и, запус тив поверх нее «живые» видеообъекты (игроков), панорамировать камерой вправо-влево - в этом случае для каждого кадра достаточно передавать вместо полной картинки фона только параметры камеры - направление и наплыв (zoom). Для улучшения времени реакции спрайт-панорамы могут подкачиваться с «прогрессивным разрешением», т. е. с постепенным улучшением разрешения, как картинки в Интернете.

    Этот же блок отвечает за «масштабируемость» видеообъектов. Под этим термином подразумевается, что объекты кодируются таким образом, чтобы декодер имел возможность в случае ограничений пропускной способности сети или параметров самого декодера (недостаточная вычислительная мощность, малое разрешение дисплея) огрублять изображение, декодируя и выводя лишь часть передаваемой потоковой информации (например, уменьшая частоту или разрешение кадров, увеличивая «зернистость»), но сохраняя тем не менее адекватность передачи контента. Для видеопотоков предусмотрено до трех уровней зернистости. При кодировании неподвижных изображений и текстур в MPEG-4 применяется очень эффективный wavelet-алгоритм, обеспечивающий кодирование объектов произвольной формы, 11 уровней масштабируемости по разрешению и плавную масштабируемость по качеству картинки. Результирующий закодированный поток представляет собой «пирамиду» различных разрешений, и в приемнике картинка со временем «проявляется», улучшаясь настолько, нас колько позволяет данная передающая среда.
    Звук
    Несмотря на отсутствие в названии группы MPEG даже намека на звук, ее эксперты весьма успешно работают в этой области, и их предложения действительно становятся общеупотребительными стандартами, порой опережая разработки «профильных» звуковых организаций и фирм. При этом звуковая часть стандартов MPEG достаточно слабо связана с видеочастью, новые версии и алгоритмы, выбранные экспертами, просто добавляются к уже имеющимся функциям. Так, в частности, был добавлен (к ранее стандартизованным Уровням 1 и 2) формат сжатия MPEG Audio Уровень 3 для стандартов MPEG-1 и 2, разработанный специалистами Fraunhofer Institute for Integrated Circuits (IIS-A) и University of Erlangen в рамках проекта цифрового аудиовещания DAB. Этот стандарт сегодня, наверное, уже известен всем под именем MP3 (не путать с MPEG-3). Он зажил «самостоятельной», отдельной от видеоряда жизнью и грозит перевернуть весь бизнес звукозаписи (из-за высокого качества, компактности сжатых им материалов и расцвета несанкционированного ра спространения их через Сеть). Его последователь, формат MPEG-2 AAC (Advansed Audio Coding), также разработанный в IIS-A (http://www.iis.fhg.de/), соперничает с Dolby AC-3 в качестве многоканального формата записи звука для дисков DVD-Video. Этот формат обеспечивает, по сравнению с MP3, еще более высокое качество звучания, лучшую степень сжатия и возможность работы с различными потоками, от моно- до многоканальных.

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

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

    Для кодирования аудиообъектов MPEG-4 предлагает наборы инструментов как для живых звуков, так и для синтезированных. MPEG-4 устанавливает синтаксис двоичных потоков и процесс декодирования в терминах наборов инструментов, это позволяет применять различные алгоритмы сжатия. Диапазон предлагаемых стандартом скоростей потока для кодирования живых звуков - от 2 до 128 Кбит/с и выше. При кодировании с переменным потоком минимальная средняя скорость может оказаться еще меньше, порядка 1,2 Кбит/с. Для звука высшего качества применяется алгоритм AAC, который дает качество лучше, чем у CD, при потоке в 10 с лишним раз меньше. Другой возможный алгоритм кодирования живого звука - TwinVQ. Для кодирования речи предлагаются алгоритмы: HVXC (Harmonic Vector eXcitation Coding) - для скоростей потока 2-4 Кбит/с и CELP (Code Excited Linear Predictive) - для скоростей 4-24 Кбит/с. Предусмотрены различные механизмы масштабируемости.

    Особый раздел - синтез речи. На входы синтезатора поступает текст, а также различные параметры «окраски» голоса - ударения, изменения высоты тона, скорости произнесения фонем и т. п. Можно также задать для «говорящего» пол, возраст, акцент и т. п. В текст можно вставлять управляющую информацию, обнаружив которую синтезатор синхронно с произнесением соответствующей фонемы передаст те или иные параметры или команды другим компонентам системы. Параллельно с голосом может генерироваться поток параметров для анимации лица. Отметим, что, как и всегда, MPEG-4 задает правила работы, интерфейс синтезатора, но не его внутреннее устройство.

    Наконец, самая интересная часть «звуковой» составляющей - средства синтеза произвольных звуков и музыки. Здесь MPEG-4 предлагает в качестве стандарта подход, разработанный в колыбели многих передовых технологий - MIT Media Lab и названный Structured Audio (SA) - «Структурированный звук». Опять-таки, это не конкретный метод синтеза, а формат описания методов синтеза, в котором можно задать любой из существующих методов (а также, как утверждается, будущих). Для этого вводятся два языка: SAOL (Structured Audio Orchestra Language) и SASL (Structured Audio Score Language). Как следует из названия, первый задает оркестр, а второй - то, что этот оркестр должен играть. Оркестр состоит из инструментов. Каждый инструмент представлен сетью элементов цифровой обработки сигналов - синтезаторов, цифровых фильтров, которые все вместе и синтезируют нужный звук. С помощью SAOL можно запрограммировать практически любой нужный инструмент, природный или искусственный звук. Сначала в декодер загружается набор инс трументов, а затем поток данных SASL заставляет этот оркестр играть, управляя процессом синтеза. Таким образом обеспечивается одинаковое звучание на всех декодерах при очень низком входном потоке и высокой точности управления.

    Стандартом допускается также управление, основанное на протоколе MIDI, - но этот метод не столь точен, а набор инструментов ограничен. Для простых декодеров стандартизован также формат для работы с волновыми таблицами (wavetable bank format) - в этом случае в декодер загружаются набор сэмплов и необходимые фильтры и эффекты.
    Потоки и уровни
    В «потоковой» части архитектура MPEG-4, очевидно, опирается на другой фундаментальный стандарт ISO - семиуровневую модель взаимодействия открытых систем. Напомним, эта модель выделяет семь независимых вложенных уровней (сверху вниз: прикладной, представительский, сеансовый, транспортный, сетевой, канальный, физический). Каждый из уровней на передающем конце общается с соответствующим уровнем на приемном, а для этого обращается к локальным службам соседнего нижнего уровня (который предоставляет ему для этого специальный интерфейс) - и далее все происходит «прозрачно» для него, все остальные нижние уровни системы от него скрыты. По мере продвижения по этой лестнице вниз содержательная информация, которой обмениваются пользователи или приложения - т. е. прикладные уровни, - обрастает служебными данными (которые «навешивает» каждый из уровней для взаимодействия со своим визави на приемном конце в соответствии с принятым между ними протоколом общения), данные разбиваются на пакеты, тем или иным сп особом мультиплексируются, кодируются и передаются между узлами сети, а на приемном конце происходит обратный процесс - сообщение собирается, очищается от вспомогательных данных и восстанавливается к своему первоначальному виду.

    MPEG-4 действует на верхних уровнях модели ISO, начиная с сеансового. Для передачи потоков данных он обращается к службам транспортного уровня, которые обеспечивают приложениям инвариантность работы с различными системами и средами доставки - сетевыми (в том числе IP/UDP/RTP, ATM, сетями коммутации пакетов H.223), вещательными (кабельные и спутниковые системы, DTV, DAB), дисковыми (CD, DVD). (Что касается более низких уровней, собственно сетей и технологий передачи мультимедиа-информации, то, пожалуй, наиболее полный в отечественной литературе обзор составлен Олегом Фоминовым.)

    Для управления передачей потоковых данных в MPEG-4 предусмотрен специальный протокол сеансового уровня, называемый DMIF (Delivery Multimedia Integration Framework - среда интеграции доставки мультимедиа). Разработчики указывают на его сходство с FTP, подчеркивая при этом, что основное различие в том, что «FTP в ответ на запрос передает данные, а DMIF - указатели на то, где находятся (потоковые) данные». Службы уровня DMIF в декодере MPEG-4 устанавливают сеанс с «передающей стороной», затем выбираются нужные потоки, посылается запрос, в результате чего транспортный уровень устанавливает требуемые соединения, по которым будут поступать потоковые данные, и сообщает указатели на эти соединения. В итоге устанавливается прямой канал обмена данными между приложениями.

    Службы DMIF доступны прикладному уровню с помощью интерфейса DAI (DMIF-Application Interface). Именно DAI маскирует для локальных приложений разницу между сетевыми, вещательными и локальными (например, с дисков CD/DVD) потоками, эмулируя при работе с вещательными и дисковыми источниками «удаленный DMIF» и «удаленное приложение». При этом допускается одновременная работа со всеми тремя типами источников и замена одного на другой.

    Потоковые данные, которые относятся к медиа-объекту, могут поступать через один или несколько элементарных потоков (elementary streams, ES). Все необходимые характеристики этих потоков, как-то: требования к приемнику, данные о тайминге и об уровне обслуживания (Quality of Service, QoS), т. е. скорости, приоритете, допустимом уровне ошибок и максимальной задержке, - содержатся в предусмотренном для каждого объекта дескрипторе объекта. Дескрипторы могут также содержать текстовую информацию об объекте. Дескрипторы объектов передаются в специальном элементарном потоке, что позволяет добавлять к сцене новые объекты или удалять ненужные динамически. Команды описания сцены и объектов в формате BIFS также составляют отдельный элементарный поток и могут быть модифицированы без изменения собственно медиа-данных в других потоках. Таким образом можно выстраивать различные сценарии на базе одних и тех же медиа-потоков. Это пригодится и для интерактивных применений с многовариантным развитием сюжета, и для подстройки сложности сцен и объектов под доступный уровень QoS: в обоих случаях можно заранее предусмотреть несколько командных BIFS-потоков, а в процессе передачи оперативно выбирать из них подходящий в качестве действующего сценария. Кроме того, облегчаются адаптация готовых произведений для новой среды доставки (например, СD-продуктов для WWW) или извлечение готовых объектов для использования в новых произведениях.

    Стандартом предусмотрено наличие отдельного, общего для всех типов потоковых данных уровня синхронизации, который для каждого элементарного потока определяет минимальную единицу доступа, или access unit (т. е. аудио- или видеокадр, команду описания сцены и т. п.), выстраивает для каждого объекта и для всей сцены временнэю базу и обеспечивает синхронизацию между ними. На синхроуровне элементарные потоки разбиваются на пакеты, к ним добавляется информация тайминга (time stamps) - чтобы на приемном конце декодер смог адекватно собрать и отобразить результирующий поток. Затем специальный подуровень мультиплексирования (FlexMux) определяет элементарные потоки с близкими требованиями к QoS и группирует их - для того, чтобы минимизировать число сетевых соединений, запрашиваемых от транспортного уровня. Сам транспортный уровень (как и более низкие) в стандарте не рассматривается, однако установлены методы защиты от ошибок, ресинхронизации и восстановления данных при сбоях в механизме доставки.

    На приемном конце происходит декодирование потоков, выделение объектов и построение сцены. Особо подчеркнем, что, как и в случае MPEG-1 и MPEG-2, MPEG-4 не устанавливает правил процесса кодирования; не касается он и деталей реализации декодера, задавая лишь правила поведения некоего абстрактного устройства, а также синтаксис и семантику двоичных потоков, с которыми оно должно уметь работать. Для этого в MPEG-4 определена модель декодера - System Decoder Model. На практике допустимы всевозможные реализации декодеров MPEG-4: от отдельных специализированных терминалов до функций, встроенных в телевизор или приставку, от мобильных коммуникационных устройств до программных модулей в ПК, с разной степенью сложности
    «Профили» MPEG-4
    Как видите, стандарт MPEG-4 в его полном виде - весьма разветвленный и многоплановый конгломерат, включающий множество механизмов и инструментов, так что его полная реализация может показаться задачей почти невыполнимой. Чтобы не допустить неконтролируемого размножения малосовместимых частичных реализаций, был установлен набор подмножеств, которые содержат ограниченные наборы инструментов и функций MPEG-4, существенных для тех или иных применений. Эти подмножества были названы «профилями» (Profile), они могут частично пересекаться, полностью включать в себя функциональность «младших» подмножеств или добавлять те или иные функции. Для большей гибкости и упрощения подбора вариантов профили были разбиты по категориям: девять визуальных (включающие в свою очередь профили для работы только с живым видео, только с анимацией и гибридные), четыре звуковых, три графических и четыре профиля описания сцены. Кроме того, в зависимости от доступной вычислительной мощности декодера, для каждого профиля уста новлены один или несколько уровней (Level - не путать с Layer модели ISO). Таким образом, при построении декодера MPEG-4 разработчик должен выбрать комбинацию профилей и уровней и после этого обязан реализовать описываемый ими набор функций в полном объеме. Потребитель же, прочтя в паспорте устройства или программы эту комбинацию, сразу понимает, что умеет, а чего не умеет данный декодер. Реализации, построенные на основе одинаковой комбинации, должны быть полностью совместимы друг с другом. Естественно, в «предельном случае», выбрав комбинацию из всех старших профилей и уровней, мы получим полный набор функций MPEG-4.

    Категория: Видео | Добавил: schibalov (27.12.06)
    Просмотров: 865 | Комментарии: 1 | Рейтинг: 4.0/1
    Всего комментариев: 0
    Добавлять комментарии могут только зарегистрированные пользователи.
    [ Регистрация | Вход ]
    Copyright MyCorp © 2017
    Сайт управляется системой uCoz