Background and State of the Art (Dynamic Database Modeling of 3D Multimedia Content)

Abstract In this topic, a new approach that enables building active 3D/VR applications, called X-VR, is presented. The term “active” is used to describe applications that enable server-side user interaction, dynamic composition of virtual scenes, access to on-line data, selection of content, alternative visualizations, personalization, and implementation of persistency. In the X-VR approach, two new techniques are used: dynamic content modeling, which provides the prerequisite infrastructure for building active 3D/VR applications, and database modeling of virtual worlds, which enables building high-level database models of 3D virtual environments. Dynamic content modeling is accomplished by the use of the X-VRML language. X-VRML is a new high-level XML-based language that extends 3D content standards allowing convenient access to databases, object-orientation, parameterization, and imperative programming techniques. For database modeling of virtual worlds, a model called X-VRDB is proposed. In this model, a virtual world is conceptually divided into several distinct elements that are separately represented in a database. These two techniques constitute the main building blocks of advanced interactive 3D/VR applications.

Introduction

By providing standard methods of encoding platform-independent interactive 3D multimedia content, the 3D content standards, such as VRML/X3D [19, 22] and MPEG-4 [18,26], described in Chap. 2, can offer significant progress in the domain of user interfaces of network applications. They enable transmission over the network and presentation on client devices of complex 3D multimedia environments that can combine natural and synthetic elements, enable complex animation as well as rich forms of user interaction. Users can freely navigate in such environments, manipulate virtual objects and jump from one environment to another by simply following hyper-links. Such environments can be presented on different devices, starting from lightweight mobile platforms, through typical desktop computers, home entertainment systems, up to complex VR installations, which aim at providing users with the highest level of immersion and realistic interaction with the virtual environments. Interactive 3D content may be used on the Web to complement traditional 2D Web pages with rich 3D content, or in broadcast TV environments to augment traditional audiovisual content with interactive 3D elements.


Through continuous development and updates over the years, the 3D content standards have reached the level of maturity that enables their use in diverse application domains, such as scientific visualization, education, training, tourism, entertainment, and e-commerce. However, the 3D content standards alone are not sufficient for building practical applications. In their current form, they enable building passive systems, i.e., systems where passive, fixed virtual scenes are employed to visualize some pre-designed environments in the three-dimensional way. This enables using 3D content for presenting architectural design, artistic models and simple animations, but prevents it from being used in more advanced applications.

In the area of interactive 3D/VR technology, building active systems poses a real challenge. Instead of passive virtual scenes, the intention is to build active applications that enable server-side user interaction, dynamic composition of virtual scenes, parameterization, access to on-line data, selection of content, personalization, implementation of persistency, etc.

In this topic, we present a new approach, called X-VR, that enables building active 3D/VR applications. In this approach, two new techniques are used: dynamic content modeling, which provides the prerequisite infrastructure for building active 3D/VR applications, and database modeling of virtual worlds, which enables creation of high-level database models of complex 3D virtual environments. The two elements are the main building blocks of advanced interactive 3D/VR applications.

The remainder of the topic is organized as follows. In Sect. 4.2, background and state of the art are presented. Section 4.3 provides an overview of the Flex-VR approach. In Sect. 4.4, the X-VRML language is described in detail. Section 4.5 contains an overview of X-VRML system architectures. In Sect. 4.6, the X-VRDB model is presented. In Sect. 4.7, two examples of X-VRML applications are discussed. Finally, Sect. 4.8 concludes the topic.

In simplest Web-based 3D/VR systems, 3D virtual environments are encoded in VRML, X3D or another 3D content standard, and stored in ASCII, XML or binary form in flat files on an HTTP server. Since the representation is static, once created virtual environment may be displayed to a user only in exactly the same, previously prepared form. Each VRML/X3D file can describe a set of virtual objects. Virtual scenes can be composed of one or more VRML/X3D files. Browsers can access the virtual scenes by providing appropriate URL-s of the top-level VRML/X3D files. As a response, the HTTP server sends the requested files to the browser. The browser displays the virtual scene and the user may work with it. The user can move from one virtual scene to another by following a link or entering a new URL address. The architecture of a passive Web-based 3D/VR system is presented in Fig. 4.1.

In such systems, the code of virtual scenes is final—the set of virtual objects contained in the scenes, their initial positions and values of attributes stored in the files are constant. Such systems have several serious disadvantages, which are summarized shortly below.

Architecture of a conventional Web-based 3D/VR system

Fig. 4.1 Architecture of a conventional Web-based 3D/VR system

There are no means of accessing on-line data and automatically updating virtual scenes presented to users. Data used for creation of virtual scenes are up to date when the virtual scenes are being created. At the time a user accesses a virtual scene, the data may be no longer valid. Consequently, such a system cannot be used for online data visualization. Also, modification of the virtual world must be performed at the 3D/VR content level without the possibility of using more advanced content management techniques.

Storing and manipulating large amounts of data in VRML/X3D files, which describe the data presentation form, is extremely inefficient. For example, implementation of a geographical information system based on pure VRML/X3D would result in creation of terabytes of text files and essentially would make management of data embedded in the system impossible. Binary representation and compression techniques reduce the volume of files, but make data management even more complex.

Storing data in flat files leads to a simplistic security model. The smallest unit of access control is the whole file. It is not possible to grant or revoke access privileges to different logical or geometrical parts of the virtual environment.

Statically created virtual scenes cannot reflect user preferences regarding their contents and appearance. Users cannot specify which parts or components— geometrical or logical—of the virtual scene should be presented. Moreover, users cannot change methods of data presentation, appearance or behavior of virtual scenes.

Lack of content selection and parameterization techniques precludes the possibility of personalization of 3D virtual environments for specific users or groups. Personalization of both content and appearance is a standard functionality of modern Web portals as it is beneficial for users and service providers as well.

When virtual environments are stored in a ready to use content representation format, results of user interactions with virtual scenes cannot be stored in a persistent way. All changes made by a user while interacting with a virtual scene are lost when the particular instance of the virtual scene is destroyed, i.e., every time a user closes the 3D browser or leaves the virtual scene.

Finally, the file-based virtual environment model is not well-suited for building continuous virtual scenes, i.e., scenes in which content is updated with time or when the user moves the observation point. Continuous virtual scenes are crucial for some applications, e.g., geographical information systems.

From the above discussion it is clear that current 3D content standards are not sufficient for building advanced 3D/VR applications. These standards have been designed to enable creation of interactive and animated 3D virtual scenes, but not for building complete 3D/VR applications. In a similar way, HTML is sufficient for creating Web pages but insufficient for creating fully functional Web portals. Consequently, static Web-based 3D/VR systems based on the file data model for storing virtual environments have very limited application areas.

Virtual scenes generated on-line by a specific application

Fig. 4.2 Virtual scenes generated on-line by a specific application

A natural solution to the above problem is on-line generation of virtual scene code. In such an approach, the virtual scene models are generated by an application instead of being retrieved from previously prepared files. In such systems, a 3D browser sends a request containing parameters of the virtual scene to the HTTP server. The HTTP server redirects the request to the application responsible for generating virtual scenes. The application takes into account parameters provided by the browser and generates a virtual scene accordingly. The result produced by the application is sent back by the HTTP server to the requesting VRML/X3D browser. The architecture of such a Web-based interactive 3D system is presented in Fig. 4.2.

On-line generated virtual scenes can reflect different user requirements regarding their contents and form. User privileges can be taken into consideration when a virtual scene is created. Also, a query submitted by a user can be used to select the data that should be included in the virtual scene.

In an extended version of the architecture (Fig. 4.3), the generating application connects in the run-time to a database in order to retrieve some on-line data. The data are processed by the generating application to be included in the resulting virtual scene. Such configuration enables visualization of constantly changing data. Also, user access privileges can be verified. Provided that the 3D browser can connect back to the database (e.g., through Web Services), the virtual scene can update the database in order to implement persistency.

This solution is an important step-ahead as compared to the file-based storage model and is used by many existing 3D Web applications. However, the model still has serious limitations. The most important limitation results from the fact that the virtual scene structure (data presentation method) is hard-coded in the specific application that generates the virtual scenes. Therefore, a separate program is required for each type of virtual scenes. One program can be parameterized to enable displaying different types of virtual scenes, but the level of parameterization is limited to the set of parameters a browser can provide to the generating application. Furthermore, programs used to generate virtual scenes in such applications are usually quite complex and are written in server-side programming languages such as C, Java or Perl, which are radically different from the 3D content standards. As a result, the process of programming is performed at two different levels and the final virtual scene code, which is created by some complex algorithms, is not visible when the generating program is being developed. Furthermore, there are no tools supporting creation of such hybrid applications.

Virtual scenes generated on-line by a specific application connected to a database

Fig. 4.3 Virtual scenes generated on-line by a specific application connected to a database

Partially this problem can be solved by the use of general purpose Web page generators such as PHP [16, 31], JSP [23, 34], and ASP [3, 6]. These tools, however, are designed for HTML content generation, do not fit the structure of 3D scenes, and do not provide functionality specific for 3D content. Furthermore, their use is limited to the server side in most cases.

The X3D standard, which enables XML encoding of virtual scenes, makes it possible to use XSLT transformations for generating virtual scenes, which is appealing when the data source to be used is in the XML format [25, 33, 36]. Yet, declarative programming style employed in XSLT and complexity of XSLT transformations required for converting non-trivial data sources into X3D scenes limit practical uses of this technology.

Many research and development works have been carried out in connection with the VRML and X3D standards over the last years. Some of these efforts lead to further standardization [20-22], while others were more oriented towards research or specific application projects. Works relevant to this topic include object-oriented language extensions, parameterization, and database access methods. In [4], different methods of applying object-oriented approach to building virtual scenes based on standard VRML and Java have been investigated and evaluated. Two languages extending VRML towards object-orientation have been proposed in other works: Object-Oriented VRML [28, 29] and VRML++ [11-13]. These approaches address mainly behavioral aspects of virtual object classes leaving the geometrical aspects as an open issue. A simple method of including pre-processing instructions in VRML by the use of VRML comment syntax has been proposed in [14]. However, the functionality of this solution is limited to the use of repeating structures, conditional statements and variables. A serious limitation comes from the fact that it is bound to the VRML97 textual notation. The problem of accessing databases from VRML programs has been investigated by the VRML Database Working Group, which has approved recommended practices [27]. However, the solution provides only low level data access methods and is limited to controlling values of fields of existing nodes. It means that both the virtual scene structure and the applied data presentation method must be hard-coded in the virtual scene and only attributes of existing elements can be influenced by data coming from a database. For database modeling of virtual worlds, in most cases application specific solutions are used. A simple general purpose spatiotemporal database model for VRML objects has been proposed in [37].

The techniques described above provide only partial solutions to the problems related to building active 3D/VR applications. To enable efficient development of such applications, a much more flexible solution to the problems of database modeling and dynamic generation of 3D/VR content is required.

Dynamic modeling by the use of a universal content generator and virtual scene templates

Fig. 4.4 Dynamic modeling by the use of a universal content generator and virtual scene templates

Dynamic modeling by the use of a universal content generator, virtual scene templates, and a database

Fig. 4.5 Dynamic modeling by the use of a universal content generator, virtual scene templates, and a database

Next post:

Previous post: