Генерация и редактирование 3D контента в виртуальных образовательных средах

Максим Евгеньевич Рыженков

аспирант,

Марийский государственный технический университет,

пленина, 3, г.Йошкар-Ола, 424000, +7-836-2-686090

maxchely@mail.ru

Михаил Николаевич Морозов

заведующий кафедры информатики и системного программирования,

Марийский государственный технический университет,

пл. Ленина, 3, г. Йошкар-Ола, 424000, (8362) 68-60-90

mikhail.n.morozov@gmail.com

Герасимов Алексей Викторович

старший преподаватель кафедры информатики и системного программирования,

Марийский государственный технический университет,

пл. Ленина, 3, г. Йошкар-Ола, 424000, (8362) 68-60-90

heraldic@mail.com

Аннотация

В статье рассматривается генерация и редактирование трехмерного образовательного контента в виртуальных мирах на основе записей занятий. Реализация данного подхода потребовало внесения изменений в подсистемы проекта виртуального образовательного мира: система синхронизации, системы звука и системы удаленного рабочего стола. Для решения задачи модификации 3D  контента разработан редактор записанных занятий.

The article deals with the generation and editing three-dimensional educational content in virtual worlds on the basis of records training. The implementation of this approach require changes to the subsystem project a virtual educational world: the timing system, sound system and a system of remote desktop. To solve the problem of 3D content developed by modifying the editor of recorded sessions.

Ключевые слова

3Д контент, виртуальные образовательные среды, генерация контента;

3D content, virtual learning environment, the generation of content;

Введение

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

Одним из направлений в данной области является развитие систем проведения онлайн видео конференций, тренингов, лекций, занятий и других видов обучающих мероприятий с использованием элементов интерактивного взаимодействия. Такие системы – вебинары - включают различные мультимедийные инструменты для поддержки взаимодействия участников: системы голосовой связи, интерактивные доски, удаленное управление рабочим столом и другие.  Подобный набор инструментов позволяет проводить управляемые образовательные сессии, с возможностью обсуждения участниками рассматриваемого материала.[1]

Другим современным направлением развития он-лайн образования являются виртуальные миры – моделирующие реальный мир средствами 3D графики. Технологии виртуальной реальности так же подходят для дистанционного образования, делая процесс обучения более эффективным[2]. Пользователи таких миров, обычно представлены в виде аватаров – трехмерных виртуальных персонажей.[3] Подобные системы позволяют пользователям общаться и взаимодействовать друг с другом, а так же создавать и использовать различного рода объекты.

Среди преимуществ и особенностей образовательного контента в виртуальных мирах можно выделить:

·            3D

·            погружение

·            эффект присутствия

·            возможность просмотра с любой точки

Система генерации 3D контента в Виртуальных образовательных мирах

В Лаборатории систем мультимедиа МарГТУ разработан образовательный виртуальный мир “Виртуальная академия”, реализующий систему генерации трехмерного контента на основе записи и воспроизведения занятий.[4]

Основная идея проекта - это виртуальные (3D) записи занятий. В электроном обучении записи синхронных занятий давно являются полезным средством быстрого создания образовательного контента. Сначала это были видеозаписи лекций, потом появились вэбинары и записи вэбинаров.

Образовательные виртуальные миры - богатая среда для обучения и все занятия, которые там проходят, могут быть сохранены в 3D запись, получая новый вид контента. Пользователи могут присутствовать и работать на записанном занятии, а не смотреть видео. Кроме этого записанное занятие можно посетить группой пользователей, поработать там и снова записать.

Таким образом, появляется возможность накапливать контент из записанных занятий в виртуальном мире, (это другой опыт и возможности, чем у видео записи лекций и вэбинаров). В итоге, появляется само-создаваемый учебный контент, который  очень полезен в электронном образовании.

Занятие в «Виртуальной академии» – это протяженная во времени совместная образовательная деятельность группы людей, с использованием инструментов поддержки взаимодействия.

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

Для обеспечения поддержки процесса взаимодействия  пользователей в “Виртуальной академии” предназначены специализированные объекты. К ним относятся локации, аватары, интерактивные доски, динамические объекты, чат и средства аудио коммуникации. Также, участники могут акцентировать внимание других участников, при помощи указки.

Динамические объекты – используются для расширения инструментария при проведении занятия. Как правило, это дополнительные интерактивные доски, добавляются пользователями при недостатке основных экранов, которыми оборудованы аудитории.

Интерактивная доска – является основным средством предоставления тексто-графической информации и реализуют следующие функциональные возможности:

·           вывод изображений;

·           показ презентаций;

·           демонстрация удаленного рабочего стола в режиме просмотра и управления.

Чат – система обмена мгновенными сообщениями. Позволяет отправлять личные и групповые текстовые сообщения, что упрощает процесс взаимодействия меду участниками

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

 


 

 

 

 

 

 

 

 

 

 

 

 

 


Рисунок 1 Структура занятия

 

На рисунке 1 представлена структура занятия, с описанием основных объектов и их действий.

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

 

Рисунок 2 Распределение действий объектов записи занятия

 

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

 

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

Редактор 3D контента

Создание визуального редактора позволяет реализовать задачу модификации информационного образовательного контента записанного занятия – т модификацию сгенерированного трехмерного контента. Назначение редактора состоит в упрощении и расширении возможностей инструментария виртуального мира “Виртуальная академия” при создании и модификации информационного трехмерного образовательного контента.

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

Для выполнения принципов «общей реальности» и «немедленной реакции», используется механизм синхронизации, который позволяет каждому пользователю видеть то же, что видят другие пользователи, находящимся в том же месте.[6] Для этого необходимо обеспечить, чтобы на компьютерах всех пользователей были одинаковые данные обо всех объектах виртуального мира. Совокупность данных обо всех объектах виртуального мира будем называть репликой мира по аналогии с понятием «реплика разделяемого пространства», используемым в системах совместной деятельности [5].

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

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

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

 

Рисунок 3. Реплика виртуального мира

 

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

Редактор записей занятий является подсистемой проекта, поэтому он учитывает особенности реализации всей системы в целом. При реализации выбранного функционала из 2D редакторов мультимедийного контента следует учесть, что этот функционал должен быть реализован в трехмерном виртуальном пространстве. Основным отличием при этом будет являться то, что в системах двухмерного мультимедийного контента основной единицей является кадр – состояние того или иного медиа-компонента,  в реализации системы виртуального мира – основной единицей записанного занятия являются действия, которые могут быть как мгновенными, так и длительными во времени.

В таблице 1 представлено соответствие между объектами, действиями и типом длительности выполнения действия.

 

Таблица 1 Длительности действий

Объект

Действие

Длительность действия

Аватар

Переход

Длительное

Реплика

Мгновенное

Размещение

Мгновенное

Поворот

Длительное

Переход в позу сижу

Мгновенное

Переход в позу стою

Мгновенное

Интерактивный экран

Шаринг

Длительное

Рисование фигуры на доске

Мгновенное

Вывод изображения

Мгновенное

Вывод слайда презентации

Мгновенное

Установка указки

Мгновенное

Звук

Реплика участника

Длительное

Звуковое сопровождение

Длительное

Динамические объекты

Создание

Мгновенное

Удаление

Мгновенное

Перемещение

Мгновенное

 

Из приведенной таблицы видно, что значительная доля действий, являются протяженными во времени.

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

Например, если представить такую ситуацию: во время записываемого занятия на 30 минуте и 25 секунде один из аватаров начал движение от задних мест для сидения к интерактивным доскам. На 30 минуте и 35 секунде он закончил свое движение. После чего занятие продолжилась с диалогом преподавателя и вышедшего слушателя. Затем занятие было удачно завершено. Если предположить что при просмотре такого занятия, пользователь перемотает просмотр на 30 минуту и 30 секунду, то он должен будет увидеть движущегося аватара в сторону интерактивных досок и находящегося уже в центре аудитории, так как половина времени его ходьбы уже прошла. В текущей версии проекта при такой операции пользователь просто начнет движение с самого начала своего пути, что не является правильным. Происходит это вследствие того, что сервер синхронизации при быстрой перемотке перематывает сеанс воспроизведения на самое начало, а затем складывает все произошедшие в записи состояния до того момента, куда пользователь перемотал просмотр записи. В результате и получается, что последним состоянием аватара является действие – начало движения в сторону интерактивных досок. Такие же ситуации происходят и при операциях редактирования записей.

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

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

Программная архитектура редактора

Система редактирования записей виртуальной среды “Виртуальная академия” предназначена для редактирования лекций, записанных с использованием современных образовательных инструментов доступных в данном виртуальном пространстве. Редактор предоставляет пользователям дополнительные возможности для создания и модификации образовательного контента, необходимого уровня для задач поставленных при разработке.

Редактор лекций включает в себя следующие программные компоненты:

·       Менеджер редактора записей

·       Визуальный редактор

·       Серверный менеджер управления редактированием записей

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

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

 

Рисунок 4. Подробная схема набора функциональных блоков компонентов системы редактирования.

 

 

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

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

·       ожидание начало работы с редактором;

·       выбор записи для редактирования;

·       процесс редактирования записи;

·       сохранение результатов;

·       ожидание завершения работы.

 

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

На рисунке 5 представлена диаграмма взаимодействия компонентов на уровне приложений на примере выполнения операции перемотки.

 

 

Рисунок 5. Диаграмма взаимодействия компонентов при выполнении операции перемотки.

Реализация расширения протокола синхронизации

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

Рисунок 6. Протекание действия во времени

 

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

При проектировании данной системы было принято решение синхронизировать время сервера и плеера виртуального мира. Диаграмма последовательности работы модулей при расчете временных интервалов представлена на рисунке 7.

 

Рисунок 7. Диаграмма последовательности работы модулей при расчете временных интервалов.

 

После формирования пакетов синхронизации в момент их рассылки клиентам, подсоединенным к серверу, в каждый пакет добавляется текущее серверное время – Tc1. Когда пакет достигает плеера виртуального мира, из него считывается записанное время и устанавливается в качестве текущего серверного времени. Так же запоминается текущее системное время  плеера – Tcur1. Таким образом, время сервера обновляется на клиенте с каждым новым пакетом синхронизации состояния объектов виртуального мира. Но такое обновление является слишком грубым для системы виртуального мира реального времени, а так же изменение состояния объектов и их свойств может происходить с разной периодичностью. Для более точного использования данного времени используется корректировка времени, которая заключается в вычислении смещения времени с момента его обновления из пришедшего пакета синхронизации, до момента его использования – Tcur2.   Добавление данного смещения к времени, установленному при получении последнего пакета синхронизации, дает текущее серверное время. Определение значения данного смещения обеспечивается за счет вычисления разницы Tcur2 и Tcur1. Расхождение во времени за счет данного смещения будут незначительными, так как рассинхронизация времени на двух компьютерах не является критичной с условием того, что пакеты обновления состояний приходят довольно таки часто. Средняя частота изменений состояния аватара составляет около 0.05 с-1 [2].  Так же при таком подходе можно заметить, что время на клиенте не будет совпадать с временем сервера вследствие задержек сети – время доставки сообщения в сети. В результате, время на клиенте будет запаздывать от времени сервера на величину сетевой задержки. Данная задержка не является критической и ни как не влияет на достоверность времени происхождения событий при воспроизведении, так как воспроизведение записи происходит линейно, а так же данная задержка присутствует на каждом из плееров, подключенных к серверу и просматривающих запись.

Рассмотрим, как же серверное время помогает вычислять значение ∆. При изменении свойств объектов, в качестве дополнительного свойства было решено добавить синхронизированное серверное время - Тк, которое вычисляется на клиенте и определяет момент изменения состояния. В дальнейшем состояние объекта вместе со всеми значениями свойств отправляется на сервер для  того, чтобы сервер изменил состояние объекта в своем внутреннем представлении мира и разослал остальным участникам изменения состояния данного объекта.  Если в момент отправки состояния объекта, он участвует в записи, то его состояние сохраняется на сервере синхронизации в базе данных, как одно из событий изменения состояния объекта. В эту же запись базы данных для этого события  записывается серверное время - Тс, со значением времени на момент прихода сообщения от клиента о данном изменении состояния.

 

Рисунок 8. Диаграмма последовательности работы модулей с использованием временных интервалов.

 

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

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

Использование генерации 3D контента в виртуальных образовательных мирах.

Предложенная система генерации трехмерного контента на основе записи занятий реализована в виртуальном образовательном мире «Виртуальная академия».

Для редактирования сгенерированного контента был разработан редактор записей занятий, интерфейс которого представлен на рисунке 9.

 

Рисунок 9. Интерфейс редактора записей занятий.

 

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

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

Таким образом, редактор включает в себя следующий функционал:

·         удаление фрагмента

·         копирование фрагмента

·         вставка фрагмента

·         операция отмены действия

·         операция повтора действия

·         перемотка

·         предварительный просмотр в реальном времени

Заключение

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

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

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

Литература

1.     E. Galy, C. Downey, J. Johnson, The Effect of Using E-Learning Tools in Online and Campus-based Classrooms on Student Performance/ Galy E., Downey C., Johnson J. // Journal of Information Technology Education – Vol. 10, 2011. – 209-229 pp.

2.     Dickey, M. D. Three-dimensional virtual worlds and distance learning: two case studies of Active Worlds as a medium for distance education/ M. D. Dickey // British Journal of Educational Technology - Vol. 3 No. 36, 2005. - 439-451 pp.

3.     Герасимов, А.В., Морозов, М.Н. Взаимодействие с персонажами в виртуальных образовательных средах.// Материалы IV Всероссийской научно-практической конференции "Применение информационно-коммуникационных технологий в образовании" - Йошкар-Ола: МарГТУ, 2007.- 108-111 с.

4.     www.vacademia.com

5.     Greif I., Computer Supported Cooperative Work: A book of readings. – Morgan Kaufman Publishers, California, 1988.

6.     Быстров Д.А., Рыженков М.Е., Подходы синхронизации для образовательного виртуального мира. // Информационные технологии в профессиональной деятельности и научной работе: сборник материалов Всероссийской научно-практической конференции с международным участием. – Йошкар-Ола: Марийский государственный технический университет: Ч 2.