Для описания сцены и ее динамического изменения в МРЕG-4 используется специально разработанный двоичный язык BIFS (двоичный формат описания сцен). Описание сцены указывает декодеру, где и когда воспроизводить объекты, входящие в сцену, и как реагировать на воздействие пользователя. Чтобы увязать ES с медиа-объектами в сцене, используются дескрипторы объекта. Они переносят информацию о числе и свойствах ES, связанных с конкретными медиа-объектами. Сами дескрипторы также переносятся в одном или нескольких ES, поэтому нетрудно добавить или удалить объект во время сеанса. Потоки дескрипторов могут рассматриваться как описания потоковых ресурсов для представления, а описание сцены служит для изменения пространственно-временного размещения объектов в сцене. МРЕG-4 определил специальный язык синтаксических описаний для точного описания синтаксиса потоков, переносящих информацию о медиа-объектах и описания сцен. Он представляет собой расширение языка С++ и позволяет дать точное описание синтаксиса и в то же время упростить проверку на соответствие.
BIFS оперирует двумя протоколами модификации сцены во времени - командным (BIFS-Command) и анимационным (BIFS-Anim). Командные потоки BIFS позволяют загружать новую сцену, изменять свойства объектов, вводить и уничтожать объекты. Потоки BIFS-Anim управляют процессами анимации сцены, например, изменением точки взгляда, перемещением, трансформацией размера, плавным изменением цвета, освещенности и т.д. Синхронизация потоков осуществляется путем временной привязки. Как и в предыдущих стандартах МРЕG, один вид временной метки обеспечивает синхронизацию тактовых частот кодера и декодера, метки другого вида, привязанные к функциональным единицам аудиовизуальных данных, содержат желаемое время декодирования (для единиц доступа) или время завершения компоновки (для компоновочных единиц).
Основные принципы BIFS заимствованы из языка VRML (язык моделирования виртуальной реальности), разработанного для создания 3D графики. Это широко распространенный и в значительной степени бесплатный язык программирования, точнее, эффективный 3D формат обмена, как бы объемный аналог НТМL. Дело в том, что некоторые виды информации лучше воспринимаются в объемном виде - игры, результаты научных исследований, архитектурные решения. VRML обеспечивает интеграцию трехмерных, двумерных, текстовых и мультимедийных объектов в связную модель. Он оперирует объектами, каждый из которых имеет различные аттрибуты. Объект называется узлом, а аттрибуты - полями. Число полей зависит от типа узла. Полный перечень узлов и полей известен как граф (разветвленная древообразная структура). VRML включает большинство используемых в 3D приложениях средств: иерархические трансформации, источники света, выбор точки взгляда, анимацию, свойства материала, отображение текстуры и т.д.
Язык BIFS позаимствовал у VRML структуру описания сцены в виде графа, модели поведения, графические примитивы для построения 3D-изображений: конусы, сферы, сетки, текстовые примитивы, текстурирование и подсветку (всего их 36). В то же время BIFS имеет существенные отличия от VRML, в него внесены новые решения:
1) VRML - язык высокого уровня, BIFS - двоичный, благодаря этому объем сообщений в нем в 10 - 15 раз меньше, чем в VRML; хотя объем описаний сцены обычно меньше, чем аудиовизуальной информации, эти описания передаются непрерывно и могут в результате составить заметную часть передаваемых данных, поэтому сжатие потоков BIFS достаточно актуально;
2) VRML работает с файлами, предварительно загружаемыми в процессор, а BIFS предназначен в первую очередь для потоковой передачи в реальном времени;
3) BIFS позволяет работать как с 2D, так и с 3D объектами, осуществлять масштабирование, перемещение, вращение, более того, впервые решена задача представления в одной сцене и 2D, и 3D объектов.