Научная статья на тему 'Система создания и просмотра мультимедийных инструкций'

Система создания и просмотра мультимедийных инструкций Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
142
49
i Надоели баннеры? Вы всегда можете отключить рекламу.
i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Система создания и просмотра мультимедийных инструкций»

денное, и наоборот.

3. Если найден оператор @ELSE и при этом флаг F=0, то все строки программы до @ENDIF добавляются к p_string, если F=1 - игнорируются.

4. Выполняются шаги 2 и 3, пока не будут обра-

ботаны все вложенные операторы @1Е, после чего осуществляется переход к шагу 1.

Отметим, что практически любая вложенность условных операторов @1Е поддерживается приведенным алгоритмом.

СИСТЕМА СОЗДАНИЯ И ПРОСМОТРА МУЛЬТИМЕДИЙНЫХ ИНСТРУКЦИЙ

(Работа выполняется при поддержке РФФИ, грант № 05-07-90324-в) В.Н. Решетников, д.ф.-м.н., М.А. Торгашев, к.ф.-м.н, И.А. Хураськин (Москва)

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

Разработанная система представляет собой программный комплекс, состоящий из набора подсистем, связанных эффективными программными интерфейсами. Для вывода информации об эксперименте используется несколько различных видов представления иллюстративной информации - текстовый (описание этапов), визуальный (двухмерная статическая графика, двухмерная анимация, трехмерная интерактивная анимация, видеоролики) и аудиоинформация (звуковое сопровождение, комментарии и пояснения). В основу разрабатываемой системы взяты технологии MDI (Multiple Document Interface) и концепция Document-View (документ-вид). Эти технологии позволяют отделить данные (документ) от их представления (вид), разграничить доступ к данным и реализовать возможность работы с несколькими видами пользовательских интерфейсов для обработки и представления данных. Для представления данных об эксперименте предусмотрен вид создания и редактирования описания эксперимента, используемый на этапе подготовки инструкции, и вид просмотра инструкции, используемый при реальном изучении и использовании созданной мультимедийной инструкции. Дополнительное преимущество технологий MDI и Document-View - возможность одновременного просмотра нескольких мультимедийных инструкций, которые при этом могут содержать перекрестные ссылки друг на друга.

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

В системе определены следующие базовые компоненты: управления документом, доступа к данным, поддержки интерфейса пользователя и компоненты отображения визуальной информации (отображения текстовой информации, двухмерных изображений, видеороликов, двухмерной анимации и трехмерной интерактивной анимации).

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

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

В режиме просмотра пользовательский интерфейс состоит из нескольких окон, связанных разделителями: окна иерархической структуры инструкции, состоящей из дерева пунктов; окна вывода части исходной текстовой информации и окна вывода визуальной информации (окно визуализации). Размер и положение окон регулируются с помощью указателя мыши, причем сделанные изменения сохраняются, так что при повторной загрузке документа воспроизводится последний вид документа. Пользователь может осуществлять просмотр пунктов инструкции как последовательно, так и произвольно.

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

Предложенная технология унифицированного доступа к элементам визуализации основана на технологии COM (Component Object Model), что существенно увеличивает гибкость системы и позволяет ее наращивать, добавляя в дальнейшем новые возможности отображения визуальной информации. Система работает непосредственно с общим интерфейсом компонентов, не зная их конкретной реализации, что обеспечивает независимость компонентов, легкость тестирования и отладки системы. Каждый из компонентов визуализации представляет собой так называемый ActiveX модуль, оформленный в виде динамически подключаемой библиотеки (DLL), реализующей необходимые базовые интерфейсы. Применение технологии ActiveX позволяет использовать уже созданные модули для вывода определенного типа визуальной информации (например: Internet Explorer - для вывода гипертекстовой информации, Media Player - для воспроизведения видеороликов), а также создавать свои модули для вывода информации специфического типа. Каждый из модулей создается независимо от оболочки, обеспечивая простоту их отладки, тестирования и сопровождения. Кроме этого, каждый из модулей может быть легко дополнен новыми возможностями без перекомпиляции базового приложения.

Система поддерживает следующие типы визуальной информации и соответствующие им модули:

• текстовая информация - используется модуль отображения текста в формате RTF;

• гипертекстовая информация - используется зарегистрированный в любой операционной системе семейства Windows ActiveX модуль Internet Explorer;

• статические двухмерные изображения форматов JPG, TIFF, GIF - разработан собственный модуль с использованием графической библиотеки GDI +;

• двухмерная анимация в формате Macromedia Flash - используется свободно распространяемый ActiveX модуль Macromedia Flash Player;

• видеоролики формата AVI - используется зарегистрированный в любой операционной системе семейства Windows ActiveX модуль Microsoft Media Player;

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

Наиболее функционально развитым и сложным компонентом системы из перечисленных является компонент отображения трехмерной графики.

Трехмерная сцена и соответствующий интерфейс позволяют пользователю (с помощью виртуальной камеры) перемещаться по виртуальной сцене, рассматривать отдельные объекты, компоненты и сам процесс с разных ракурсов и расстояний. При указании мышью на любой объект сцены рядом с

объектом может появляться надпись с его названием. Это дает возможность пользователю интерактивно изучать состав и строение сложных конструкций в трехмерной виртуальной сцене. Трехмерная анимация наглядно показывает изучаемый процесс, будь то установка или снятие детали, проверка креплений или показания приборов.

Модуль визуализации GlviewAX предназначен для высококачественной визуализации трехмерных сцен в реальном времени, реализован в виде ActiveX DLL-компонента и использует распространенную библиотеку OpenGL поддержки трехмерной графики. Модуль осуществляет загрузку сцен в собственном формате gls, созданном и оптимизированном специально для задачи качественной трехмерной визуализации в реальном режиме времени, и обладает большим списком поддерживаемых возможностей.

Создание трехмерных сцен осуществляется в системе трехмерного моделирования 3D-Studio Max, после чего с помощью отдельно разработанного экспортера производится экспорт сцены в оптимизированный формат gls, содержащий все необходимые данные об объектах, материалах и параметрах сцены для его качественной визуализации.

На этапе загрузки сцены в модуль визуализации производится ее дополнительная оптимизация, затрагивающая геометрию сцены и текстурные карты.

Модуль широко поддерживает анимацию элементов сцены на основе технологии ключевой анимации. Для анимируемых параметров задаются их значения в так называемых ключах, для получения значения параметра в некотором произвольном кадре производится интерполяция значений в ближайших ключевых кадрах. Поддерживаются следующие типы анимации параметров сцены: анимация положения, поворотов и масштаба отдельных узлов сцены; параметров камер (угол зрения, направление); параметров источников света (цвет, яркость, углы прожектора); анимация кожи объектов (Skin) под управлением костей (Bones), а также отдельных вершин объекта (морфинг).

Для различных типов анимируемых параметров поддерживается сразу несколько так называемых контроллеров - функций интерполяции между ключевыми кадрами для получения значения параметра в текущем кадре: линейный контроллер; контроллер интерполяции по TCB-сплайну (разновидность эрмитовой кривой) и контроллер интерполяции по сплайну Безье. Перечисленные возможности анимации позволяют реализовать практически любую сложную анимацию сцены.

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

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

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

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

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

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

Перечень скриптовых команд управления сценой можно разделить на несколько типов: системные команды; команды работы с материалами; команды управления узлами сцены; команды работы с анимационными треками; команды конфигурирования управления; команды работы со звуком; команды работы с выводом изображения.

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

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

СИНТЕЗ ФОТОРЕАЛИСТИЧНЫ1Х ТРЕХМЕРНЫХ ИЗОБРАЖЕНИЙ В СОВРЕМЕННЫХ СИСТЕМАХ ПРЕЗЕНТАЦИЙ

С.В. Андреев, В.А. Галактионов, к.ф.-м.н., Е.Ю. Денисов, Н.Е. Кирилов (Москва)

В современном мире огромную роль играют системы презентаций, используемые для доведения информации зрителю в графическом виде. Особое место занимают компьютерные системы генерации

трехмерного представления иллюстрируемых объектов, работающие в режиме реального времени.

Одним из примеров презентационной системы является комплекс Terminal V, находящийся в Авст-

i Надоели баннеры? Вы всегда можете отключить рекламу.