Архивы: по дате | по разделам | по авторам

В потоке знакомых объектов

Архив
автор : ОЛЕГ ТОДОРЕНКО    15.08.2000

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


Гадкий утенок цифрового видео

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

Составные части

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

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

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

Сам процесс

Воспроизведение MPEG-4-файла начинается с запуска DMIF (Delivery Multimedia Integration Framework, что можно перевести как "система доставки и интеграции мультимедиа"). Именно DMIF определяет, какие объекты нужны в данный момент и где их взять, посылает соответствующие запросы и передает полученную информацию дальше. Причем вовсе необязательно, чтобы система находилась непосредственно на устройстве воспроизведения, удаленный сервер с успехом может выполнять эти функции. Как правило, объекты не загружаются сразу, а выделяются в индивидуальные элементарные потоки из общего вала данных.

Вместе с объектами приходят сведения об их композиции в двоичном формате описания сцен BFIS (Binary Format for Scenes). Этот поток содержит информацию о параметрах объектов и их расположении в пространстве и времени, а также о возможных преобразованиях и эффектах (например, стереоизображение). На самом деле BFIS является расширением языка VRML (Virtual Reality Modeling Language), к которому добавлено много объектов новых видов; появилась возможность не дожидаться полной загрузки элемента; кроме того, для описания одной и той же сцены требуется в 10-15 раз меньше памяти за счет введения двоичного формата вместо текстового VRML. А чтобы зритель мог участвовать в сцене, существует MPEG-J - специальное подмножество языка Java, которое помимо управления сценой позволяет создавать графические интерфейсы для задания команд пользователя. При построении сцены реализуется три варианта масштабирования:

- сцена может иметь плавно изменяемое разрешение - в зависимости от возможностей воспроизводящего устройства и желания пользователя;

- сначала сцена появляется в неком минимальном разрешении; по мере поступления данных разрешение увеличивается до нужного;

- размер "картинки" остается постоянным, но в процессе загрузки улучшается качество, то есть проработка деталей.

Посмотрим теперь, что происходит с некоторыми участниками сцены.

Просто картинки

Неподвижные изображения занимают разные места в сцене. Это может быть общий фон, текстуры для двух- и трехмерных моделей и т. д. Для них характерна произвольная форма и поддержка масштабируемости по размеру и качеству. Причем, получив даже часть изображения из потока, декодер может воссоздать изображение в уменьшенном масштабе - по мере поступления данных размер или качество доводятся до оригинального. Интересный способ сократить размер файла заключается в создании объекта, состоящего из большого панорамного фона и нескольких параметров, определяющих его перемещение и видимую часть. Изображение фона передается только один раз, а потом перемещается в зависимости от поля зрения камеры и местоположения объектов на переднем плане. Стандарт допускает использование различных методов компрессии: например, вэйвлет-преобразование (www.computerra.ru/1998/8) или дискретное косинус-преобразование (www.computerra.ru/1998/36). MPEG-4 сжимает изображения сильнее, чем JPEG, при схожем качестве (с примерами можно ознакомиться, в частности, на сайте компании e-Vue - www.e-vue.com).

Такое привычное видео

На сегодняшний день самое распространенное применение для MPEG-4 - построение сцены из одного видеообъекта, и здесь основное отличие MPEG-4 от более ранних MPEG-стандартов заключается в широком диапазоне скоростей, гибкой масштабируемости и автоматической подстройки под возможности канала передачи. Например, компания PacketVideo (www.packetvideo.com) предлагает решения для беспроводных сетей, имеющие приложение в области видеоконференций, видеоновостей, мониторинга транспортных развязок и в получении изображений с ваших личных камер на миниатюрный цифровой видеотерминал размером с сотовый телефон, или даже наручные часы, в перспективе, конечно. А можно и самому поэкспериментировать с видео различного разрешения, загрузив средства Windows Media с сайта Microsoft (www.microsoft.com/windows/windowsmedia).

Стоит отметить не так давно появившийся свободный формат DivX (divx.ctw.cc или www.mydivx.com). Это название легко спутать с незадавшейся технологией продажи DVD c ограниченным сроком пользования, однако "новый DivX" представляет собой способ компрессии на основе немного измененного кодека MPEG-4 от Microsoft. Создатели называют его MP3 для видео. В этом есть свой смысл, так как речь идет о распространении пиратских и любых других копий фильмов весьма неплохого качества через Интернет.

В насыщенных движением кадрах часто видны блоки и всякие артефакты, однако выпущена лишь альфа-версия кодера, так что есть надежда, что со временем эти проблемы устранят. Чтобы получить видео близкого к DVD разрешения (640х480) и хоть и не близкого, но приличного качества, надо сжимать видео со скоростью по крайней мере 1,1 Мбит/с, как у Video CD, - соответственно на CD поместятся те же 74 минуты. Главный недостаток DivX: пока его воспроизведение возможно лишь на компьютере. А предрекают ему блестящее будущее и широкую популярность. Что ж, время покажет.

Почувствуйте объем

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

Уже сегодня можно встретиться с синтетической ведущей новостей по имени Ananova (www.ananova.com) и персонажами Tilde и Dash с компьютерного телеканала ZDTV (www.zdtv.com). Но это все еще смонтированное обычное видео.

MPEG-4 позволяет создать трехмерную модель человека или только его головы и синтезировать речь вместе с соответствующей мимикой и жестами. Пример можно увидеть на сайте компании face2face (www.f2f-inc.com), которая имеет некоторые наработки в этой области. Но это, так сказать, готовое решение для новостей, прогноза погоды и т. п. Дальше - больше: в составе сцены могут быть двух- и трехмерные объекты произвольной формы, и делать они могут что угодно. Добавляем практически неограниченные возможности взаимодействия со зрителем и получаем нечто большее, чем сегодняшние 3D-игры, где тоже можно выбирать персонажей, их манеру поведения и окружающую обстановку.

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

Пища для ушей

Для звука предусмотрено несколько способов компрессии в зависимости от материала и желаемого качества. Они включают MPEG-2 AAC, HVXC, CELP, TwinVQ. Декодер автоматически подстраивается под пропускную способность канала передачи и обеспечивает максимально возможное качество.

Особняком стоит синтез речи и музыки. Синтезатор принимает в качестве исходной информации собственно текст и такие параметры речи, как тон, тембр, быстроту и т. д. Для синтеза музыки применяется язык SAOL (Structured Audio Orchestra Language). Описание содержит набор "инструментов", которые не обязательно должны уже присутствовать в воспроизводящей системе - их можно получить, как и другие объекты. Управляет "оркестром" программа, написанная на языке SASL (Structured AudioScore Language); впрочем, в более простом случае можно использовать MIDI, а в самом простейшем - сработает обычный wavetable-синтезатор с примитивным набором эффектов.

Хорошего понемножку

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

Очевидно, что MPEG-4 не вытеснит своих предшественников. Просто появляются новые возможности, и фактически, MPEG-1 и -2 можно рассматривать как подмножества MPEG-4 для работы с объектами типа "сжатое видео".

Прогнозы на будущее

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

Впрочем, и те прекрасные возможности, о которых рассказано выше, пока еще, скорее, дело будущего. Ждем с нетерпением.

Источники и ресурсы

- Информация из первоисточника: www.cselt.it/mpeg/standards/MPEG-4/MPEG-4.htm.

- MPEG-4-форум: www.m4if.org.

- Статья "Flat Earth Society" by Craig Birkmaier: www.vrtual1.com/hdtvdtv.

- Его же сайт, посвященный цифровому ТВ: www.pcube.com.

- Набор ссылок по MPEG-4: web3d.about.com/compute/web3d/msub MPEG-4.htm.

- Сайт любителей DivX: www.mydivx.com.





Об авторах: Олег Тодоренко - инженер корпорации Dazzle. Интересы - технологии доставки и визуализация информации, пользовательские интерфейсы. Увлечения - анализ современных технологий и некоторые виды физической активности.

© ООО "Компьютерра-Онлайн", 1997-2022
При цитировании и использовании любых материалов ссылка на "Компьютерру" обязательна.