The Concept of the X-VR Approach (Dynamic Database Modeling of 3D Multimedia Content)

In this topic, we propose a new approach to building interactive 3D/VR applications, called X-VR. In this approach, dynamic database modeling of interactive 3D/VR content is employed to overcome the limitations of file-based 3D/VR systems. The X-VR approach consists of two new techniques: dynamic content modeling and database modeling of virtual worlds [40,42, 43, 45, 46].

Dynamic content modeling consists in building generic parameterized templates of virtual scenes and dynamic generation of virtual scenes based on:

•    the virtual scene template,

•    on-line accessible data,

•    user selection criteria,

•    user preferences,

•    user privileges, and

•    system state.

Database modeling of virtual worlds is a technique that extends the dynamic content modeling with the possibility of representing all elements of the virtual world model in a database.

The architecture of a template-based interactive 3D/VR system is presented in Figs. 4.4 and 4.5. The system is composed of a universal content generator and a template, or a set of templates, of virtual scenes. Every time a user wants to access a virtual scene, a request is sent to the server. The server reads the virtual scene template, interprets it, and dynamically creates “on-the-fly” code of the virtual scene. The user can use the virtual scene in exactly the same way as a virtual scene retrieved from a file.


The virtual scene templates can be parameterized to consider multiple factors that can have influence on the final forms of the generated virtual scenes. These factors include selection criteria, user preferences—provided by the user or retrieved from a data repository, user privileges, and up-to-date data read from one or several databases. The architecture of a template-based 3D/VR system connected to a database is presented in Fig. 4.5.

The content generator is a generic tool independent of the particular virtual scene and 3D/VR application. The same content generator can be used to generate different virtual scenes when provided with different templates. One content generator may be used to serve multiple 3D/VR applications. This approach enables using a sophisticated, highly optimized implementation of the content generator without extending the amount of work required to develop a particular 3D/VR application. This also separates the process of programming from the process of designing virtual scenes. These tasks have entirely different nature and are performed by different tools—often by different people.

For the purpose of creating dynamic virtual scene templates, a special language— called X-VRML—has been designed. The language has a higher expression power than typical 3D content standards and enables overcoming the most important disadvantages of static 3D/VR systems. X-VRML enables parameterization of the virtual scene generation process, enables selection of the virtual scene contents and the presentation method, and enables access to the data stored in databases. The data retrieved from a database can influence the process of creation of the final virtual scene resulting in modification of its structure, contents and appearance. An important advantage of X-VRML is the use of programming concepts known from imperative programming languages such as loops, conditional statements, variables, and expressions that are absent in standard 3D content standards. Furthermore, X-VRML enables use of object-oriented mechanisms such as classes, inheritance, and class instances. This further simplifies the code of virtual scene templates and enables reuse of code by building libraries of frequently used classes. Moreover, X-VRML enables dynamic live manipulation of the virtual scene content when it is interpreted on the client side or used in a live production environment. This makes features such as continuous data visualization or persistency easy to implement. The use of X-VRML simplifies the process of programming interactive 3D/VR applications and provides a high level of flexibility. The X-VRML language is described in detail in Sect. 4.4, while architectures of X-VRML systems are presented in Sect. 4.5.

By the introduction of the dynamic modeling technique and the X-VRML language, entirely new methods of designing interactive 3D/VR applications become possible. Dynamic modeling capabilities in combination with the possibility of retrieving any part of the virtual scene from a database enable implementation of a system, in which all elements of the virtual environment are modeled in a database.

For the purpose of database modeling, a specific organization of the virtual world model is used in X-VR. An X-VR model consists of four main elements:

•    a collection of virtual objects,

•    a collection of virtual objects classes,

Logical components of the X-VR model

Fig. 4.6 Logical components of the X-VR model

•    a collection of virtual scene templates, and

•    a collection of virtual scenes (modeled as template parameters).

By identifying these basic elements, we are able to distinguish between the data that is presented (virtual objects), the method of presenting the data (virtual object classes), data selection and virtual scene composition rules (templates of virtual scenes), and finally the parameters of concrete virtual scenes.

The logical components of the X-VR model are presented in Fig. 4.6. An X-VR virtual world model can be created and modified by the use of different kinds of authoring applications. Some of these applications can be used to edit all model elements: virtual objects, virtual object classes, virtual scene templates, and virtual scene parameters. Applications of this sort are usually equipped with threedimensional graphical user interfaces. Other applications may be used to edit only the virtual object data or virtual scene parameters. These applications do not have to be able to handle any three-dimensional components. Standard 2D graphical user interfaces or even text-based interfaces may be sufficient—still providing capabilities to modify the virtual world model.

In the X-VR approach, virtual scenes are created dynamically based on the X-VR model. In the case of an interactive client-server operation mode (such as VRML/X3D applications on the Web), a set of parameters required to generate a virtual scene may be sent by a browser. These parameters may be either explicitly entered by a user or implicitly generated by the browser based on user interaction. In the case of a broadcasting operation mode (such as DVB infrastructure based on MPEG-4), the set of parameters may be provided by the server operator.

Virtual scenes generated from the X-VR model can be instantiated in form of coded virtual scenes, i.e., representations of the virtual scenes in a content modeling language (such as VRML/X3D or BIFS-Text) or can be stored in the form of sets of parameters accompanying virtual scene templates. Such templates may be later converted into coded virtual scenes. Virtual scenes rendered in a browser are called virtual scene instances. Some of the virtual scene instances can access the virtual object data part of the X-VR model in order to either implement persistency in virtual scenes by recording the results of user interaction or simulation pending on the client-side, or to enable continuous visualization by repeatedly refreshing the virtual scene instance based on data read from the database.

Web-based X-VR system with all elements of the virtual world model contained in a database

Fig. 4.7 Web-based X-VR system with all elements of the virtual world model contained in a database

To enable application-independent database modeling of virtual worlds, a flexible database model called X-VRDB is provided in X-VR. Any of the X-VR model elements can be either represented in X-VRML or modeled in a database using the X-VRDB model. In the X-VRDB model, database models of virtual objects, virtual object classes, virtual scene templates, and virtual scenes, are called VR-Objects, VR-Classes, VR-Templates, and VR-Scenes, respectively. The X-VRDB database model uses a higher level of abstraction, the X-VRML implementation being just one of the possible methods of modeling particular components of the virtual world. Particulars of the X-VRDB model are presented in detail in Sect. 4.6.

The X-VRDB model provides numerous advantages. Modeling virtual objects in the database is particularly advantageous in applications that require persistency, rely on selection of content, make use of large amounts of data, enable other applications to modify the virtual world data or require employing security policies. Modeling virtual object classes in the database reveals significant advantages in applications that require extensibility, use selection of content with a diverse set of objects or selection of objects by their class, use alternative presentation methods (e.g., presentation of complex virtual scenes at different levels of detail), or support designing the virtual world model by multiple users. Modeling virtual scene templates and virtual scene parameters in the database is beneficial in applications that use large number of virtual scene templates, enable modification or adding new virtual scene templates, require implementation of a user interface for generating virtual scenes, support embedding virtual scenes, or require possibility of re-creating previously generated virtual scenes. All these features, accompanied by standard advantages of using databases, like consistency constraints, multi-user remote access, powerful content indexing and querying, greatly improve the overall functionality of a system based on the X-VR approach.

In Fig. 4.7, the overall architecture of an interactive 3D/VR Web system based on the X-VR approach, with all components of the virtual world model stored in an X-VRDB database, is presented. Virtual objects, virtual object classes, virtual scene templates and virtual scene parameters are stored in the X-VRDB database.

X-VR system used in an MPEG-4 TV broadcasting studio

Fig. 4.8 X-VR system used in an MPEG-4 TV broadcasting studio

The content generator retrieves virtual scene templates and processes them applying virtual scene parameters—either provided by the 3D browser or retrieved from the database. Templates contain selection criteria for virtual objects that should be included in the scene. The virtual objects are created by combining virtual object classes and virtual object data (attributes), both retrieved from the database. The virtual scene can update the values of virtual object attributes stored in the X-VRDB database to implement persistency.

In Fig. 4.8, a system enabling the use of the X-VR approach in a TV production environment is presented [5, 9, 10, 17, 32]. The broadcasting unit uses the MPEG-4 standard for transmitting interactive multimedia TV content [18, 26]. A production database stores all elements used in the process of preparing and broadcasting the TV content. In particular, templates of virtual scenes, parameters of virtual scenes, virtual scene objects as well as A/V data associated with the objects are stored in the repository. Virtual scenes are dynamically composed from the virtual scene templates retrieved from the database by the content generator. A dynamic user interface also retrieves the virtual scene templates and interprets their formal parameter specifications. Based on these specifications, for each virtual scene template, the interface displays to the operator a set of controls that can be used to customize the final virtual scene. The operator provides preferred parameter values and initiates the process of content generation. The operator interface passes all values of parameters to the content generator, at the same time storing values of the parameters together with associated metadata in the database. The values of parameters enable restoring the transmitted virtual scenes in the future. After preparing a coded virtual scene, the content generator passes it to the subsequent elements in the processing chain—encoding, multiplexing, and broadcasting (“Broadcast Hardware” block in Fig. 4.8).

Direct advantages of using the X-VR approach for production of interactive 3D/VR content include the following:

• clear distinction between the templates of virtual scenes and the data or objects that can appear in the final virtual scenes; this enables preparation of appropriate data or models without the need to modify virtual scenes; the use of a database repository enables several designers to work on the content preparation process simultaneously;

•    efficient production resulting from the use of pre-designed virtual scene templates and a parameter-value virtual scene customization approach;

•    possibility of storing values of parameters used in the production process to enable later reconstruction of the previously prepared content—in the same or in a modified form;

•    shared repository of virtual scene templates useful for different methods of content presentation as well as libraries of reusable components searchable by accompanying metadata;

•    possibility of generating multiple versions of the 3D/VR content for different users or different presentation methods.

Next post:

Previous post: