Технологія MPEG-4
Незабаром з'явився MPEG-4 із його багатофункціональністю і міццю, в основу якого лягла об'єктно-орієнтована модель.
Переваги об'єктної моделі
Якщо провести аналогію з хімією, на атомарному рівні аудіо- і відеокомпоненти MPEG-4 подані як об'єкти. Ці об'єкти можуть існувати незалежно один від одного, можуть групуватися, формуючи аудіовізуальні конструкції вищого рівня. Таке угруповання називається композицією, результатом якого є сцена (кадр). Перевага такого так називаного об'єктно-орієнтованого підходу в можливості маніпулювання будь-яким аудіо- або відеооб'єктом.
Візуальні об'єкти сцени визначаються їхніми координатами в дво- або тривимірному просторі. За аналогією, аудіооб'єкти містяться в звуковому просторі. При розміщенні в просторі об'єкти визначаються тільки один раз. Всі подальші операції й обчислення про зміні стану об'єктів виконуються локально, тобто на терміналі користувача. Це дуже істотно, особливо в тих випадках, коли потрібно одержати високу швидкість обробки при обмеженій швидкості передачі даних.
Мова, що описує стан об'єктів MPEG-4 і їхні динамічні зміни, називається BIFS (Binary Format for Scenes). За допомогою команд цієї мови можна не тільки добавляти або видаляти об'єкти зі сцени, а і змінювати їх візуальні і звукові характеристики незалежно одна від обної.
Команди BIFS можна використовувати для створення анімації шляхом визначення поведінки об'єкта в залежності від дій користувача, оброблених декодером. За допомогою цієї мови можна створювати навіть інтерактивні прикладні програми або, наприклад, використовувати вміст вікна програми (приміром, Web-браузера) у якості текстури сцени.
Багато концепцій BIFS запозичені з Мови Моделювання Віртуальної Реальності (Virtual Reality Modeling Language - VRML), що широко використовується для опису тривимірних об'єктів і керування ними в Internet-програмах. У принципі BIFS і VRML можна розглядати як різні формулювання одної концепції. У мові VRML всі об'єкти й операції над ними, як і в будь-якій мові високого рівня, подані в текстовому виді. У BIFS використовується двійкове представлення, що дозволяє зменшити програмний код приблизно в 10-15 разів.
Основна відмінність BIFS, використовуваного в MPEG-4, від VRML - обробка в реальному часі. Це означає, що для відтворення сцени не потрібно її повне завантаження, оскільки обробка робиться "нальоту". Крім того, мова BIFS дозволяє описувати двовимірні об'єкти, такі як лінії і прямокутники, що неможливо в VRML. (При спільній роботі над MPEG-4, MPEG і Web 3-D Consortium паралельно вели роботу над VRML.)
Згортання даних
Подання мультимедіа-інформації у форматі MPEG-4, принципово нове і багатофункціональне, мабуть, повинно містити засоби для підготовки цієї інформації до транспортування або збереження (а, можливо, і декодування). Для цього всі об'єкти містяться в так звані елементарні потоки (elementary streams - ESs). Деякі об'єкти, такі як звукові треки або відео, можуть мати тільки один такий потік. Інші можуть мати два і більш елементарних потоки. Приміром, якийсь масштабований об'єкт може мати ES, призначений для збереження базової інформації (найгірша якість), і один або більш додаткових рівнів, кожний із який буде мати свій ES з інформацією, що поліпшує якість (відео з більш докладною деталізацією або прискореним режимом відтворення).
Інформація на кожному наступному більш високому рівні (визначення даних за допомогою BIFS, коригування і розміщення медіаоб'єктів) обробється у власному окремому потоці ES. У цьому знов виявляється перевага ієрархічної, об'єктно-орієнтованої моделі MPEG-4. Це значно полегшує розробку нових продуктів при повторному використанні вже наявного об'єкта, оскільки в цьому випадку зміна самого об'єкта не вимагається. Припустимо, що окремі частини сцени повинні використовуватися тільки у певних випадках. Тоді (якщо забезпечена достатня швидкість передачі даних), для представлення однієї і тієї ж сцени в різних ситуаціях можуть використовуватися декілька потоків ES, що цілком описують дану сцену.Для того, щоб система знала, який з елементарних потоків належить визначеному об'єкту в MPEG-4 впроваджена принципово нова концепція -дескриптор об'єкта (object descriptor - OD). Дескриптори об'єктів у свою чергу містять дескриптори елементарних потоків, щоб інформувати систему про те, який декодер необхідно використовувати для того або іншого потоку. Крім того, дескриптори містять повну текстову інформацію про об'єкт. Дескриптори об'єктів розміщаються в окремому елементарному потоці, що дозволяє динамічно добавляти або знищувати їх при зміні стану сцени.