ТЕМА НОМЕРА
В потоке знакомых объектов
ОЛЕГ ТОДОРЕНКО
OlegT@Dazzle.com

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


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

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

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

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

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

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

Сам процесс

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

Хотя теоретически можно создать универсальный кодек, поддерживающий все опции, обычно выбирается некоторый ограниченный набор из них. Так что не ожидайте всего сразу, если даже заявляется, что кодек использует MPEG-4. Вместе с объектами приходят сведения об их композиции в двоичном формате описания сцен 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. Интересы - технологии доставки и визуализация информации, пользовательские интерфейсы. Увлечения - анализ современных технологий и некоторые виды физической активности.

Ваши предложения и замечания ждем по адресу: tails@computerra.ru

Предыдущий материал | Оглавление номера | Следующий материал

Предыдущая рубрика: РОМАНОВСКИЕ НИКЧЕМУШКИ
Следующая рубрика: РеFEрат

Текущая рубрика: ТЕМА НОМЕРА
Они были первыми ГЕОРГИЙ БАШИЛОВ
Как стать Лукасом, или "Звездные войны" - на дому МИХАИЛ ЛАВРЕНОВ
В потоке знакомых объектов ОЛЕГ ТОДОРЕНКО
Радуга оптических форматов ОЛЕГ ТОДОРЕНКО