Enigma: An Application Framework for Delivering Multimedia-rich Virtual Learning Experiences through the Internet

Stavroula Zoi
Telecommunications Laboratory, National Technical University of Athens
Heroon Politechniou 9, Zographou
Greece 15773
Tel +302107723940
John Melas
Telecommunications Laboratory, National Technical University of Athens
Heroon Politechniou 9, Zographou
Greece 15773
Tel +302107723940
Panayotis Kalliaras
Telecommunications Laboratory, National Technical University of Athens
Heroon Politechniou 9, Zographou
Greece 15773
Tel +302107723940


An open, application for enabling prototyping and delivery of virtual learning experiences through the Internet is presented. VRML and Java are the key technologies.


Application Enigma has been developed and tested based on 3D content developed by the Foundation of the Hellenic World (FHW). This content represents the ancient theatre of Epidaurus (Figure 1), as well as a part of the ancient city of Priene.

The Epidaurus Theatre

Figure 1: The Epidaurus Theatre

Small-scale partitioning techniques have been applied, especially in the case of Priene, where the VRML files are huge. The streams produced by the guide and transmitted to the users are:

  1. VRML position & orientation parameters
  2. Live voice of the guide
  3. Pointer coordinates in synchronization with the live voice


Enigma enables groups of users to monitor multimedia-rich virtual guided tour sessions inside 3D representations of archaeological sites. A live guide controls these sessions so that all users have the same view of the content, as shown in figure 2, while also explaining to them through live voice. An object inside the VRML scene can be used as a pointer indicating the objects of interest that the guide presents while speaking.

Enigma interactivity

Figure 2: Enigma interactivity


Java based extensions, such as the External Authoring Interface (EAI) [1], and the Java Media Framework (JMF) [2] are exploited to integrate all the different media streams. The JMF API implements streaming media over the RTP/RTCP protocols. EAI enables to control the position and orientation of the camera or certain objects in the 3D scene.


Virtual representations of monuments can be huge in terms of size and rendering requirements and thus unsuitable for the network, as VRML format is uncompressed, downloading times can be big and/or rendering and navigation can be hard.

Small scale scene partitioning

Figure 3: Small scale scene partitioning

Therefore, scene-partitioning techniques have to be applied to support progressive downloading or streaming of the 3D scene according to user visibility. An example of small-scale segmentation is shown below. Figure 3 (left part) illustrates three ancient buildings, which are normally attached to each other. A room-based segmentation is applied enabling the inner buildings to be loaded only as soon as the user approaches the entrance (right part).


.JMF handles intra-stream and inter-stream synchronization of continuous flows (audio, video) based on the RTP protocol (through timestamps) and by implementing buffering schemes at the receiver. Therefore, inter-stream synchronization between continuous and discrete media flows, as well as inter-user synchronization must be achieved through application specific implementations.


Extensible Architecture

Figure 4: Extensible Architecture

What is of importance in the implementation of such a training environment is the adoption of an extensible architecture, enabling to easily add/remove media object components and parameterize the 3D content. This concept is illustrated in Figure 4.


Educative, networked virtual reality applications based on cultural heritage or other content have appeared so far, such as the one described in [3]. However, these are customized for certain virtual reality display systems, such as CAVE and ImmersaDesk, which are too expensive to be widely applied.


This work is partly funded by the IST ADAMANT European Research Project.


  1. EAI web site. http://www.vrml.org/WorkingGroups/vrmleai/ExternalInterface.html
  2. JMF web site . http://java.sun.com/products/java-media/jmf/
  3. NICE project web site. http://www.evl.uic.edu/tile/NICE/NICE/intro.html