Examples of X-VR Applications (Dynamic Database Modeling of 3D Multimedia Content)

In this section, two examples of 3D/VR applications based on the X-VR approach are presented—Virtual Furniture Store and Virtual Museum Exhibition.

Virtual Furniture Store—showroom (English and Polish version)

Fig. 4.23 Virtual Furniture Store—showroom (English and Polish version)

Virtual Furniture Store

The Virtual Furniture Store application demonstrates how easily e-commerce applications can be created by the use of the X-VR approach. The application uses server-side X-VRML processor, X-VRDB implemented on top of a relational database management system, and a standard VRML/X3D browser. The application can be operated in the following way. First, a user selects—in an HTML form—the language and categories of items he/she is interested in. Then the system, based on one of available X-VRML templates, dynamically creates a virtual scene containing the pieces of furniture that meet the criteria provided by the user (Fig. 4.23).

The types of items, their particularities (e.g., colors, versions), availability, prices, and names are retrieved from the X-VRDB database. The parts of the database that contain the availability and price information (VR-Data) can be automatically updated by the company’s inventory management system. The method of displaying information that describes the furniture items (names, prices) depends on the selected language version of the X-VRML template (Fig. 4.23, left and right).


A user can browse the scene and manipulate the items. If the user is interested in a particular piece of furniture, he/she can click on the name of the item. As a result, the system uses another X-VRML template to dynamically generate a virtual scene containing only this single item, presented in a higher level of detail together with detailed item information (Fig. 4.24).

Virtual Museum Exhibition

The Virtual Museum Exhibition demonstrates how the X-VR approach can be efficiently used to build interactive and persistent 3D/VR applications. This application is a design interface for a virtual museum system, called ARCO [2, 47, 50]. Virtual exhibition galleries in ARCO are dynamically created based on the X-VR model. Museum artifacts and additional presentation objects are modeled as VR-Classes and VR-Objects.

Virtual Furniture Store showroom—single item in detail

Fig. 4.24 Virtual Furniture Store showroom—single item in detail

Virtual exhibition rooms are modeled as VR-Templates implemented in the X-VRML language. VR-Scenes correspond to final virtual exhibitions prepared by an exhibition designer. The process of designing a virtual exhibition can be performed by museum experts using a simple authoring application. The process includes selection of objects, selection of visualization templates—for different access devices and different groups of users—and setting object presentation parameters, such as position, orientation, and scale.

When a virtual scene representing a museum exhibition is accessed by a user, presentation parameters of the contained objects are retrieved from the X-VRDB database. The system provides two types of 3D interfaces—one for end-users and one for exhibition designers. In both cases, users can manipulate virtual objects present in the room. In the end-users interface, these changes are volatile—they are lost when the user leaves the virtual scene. The exhibition designers interface exploits dynamic X-VRML functionality to implement persistency. Changes applied by the exhibition designer are handled by the use of the dynamic X-VRML Listen command and recorded in the database by the DBUpdate command as properties of VR-Objects. In this way, every change is recorded in the database and when a user (end-user or designer) enters the virtual scene for the next time, the most recent state of the virtual scene will be restored. In Fig. 4.25, the designers interface based on the dynamic X-VRML processor implemented as a Java applet is presented.

X-VR Virtual Museum Exhibition—designers interface

Fig. 4.25 X-VR Virtual Museum Exhibition—designers interface

Conclusions

Building advanced 3D/VR applications that go beyond presenting to a user some pre-designed three-dimensional content requires solving the problems of parameterization of virtual scenes, accessing databases, selecting the content and the presentation method, efficient management of large amounts of data, providing persistency to virtual worlds, and verifying user privileges. These problems are not directly addressed by the content representation standards, such as VRML/X3D and MPEG-4.

The X-VR approach presented in this topic solves the above-mentioned problems by employing two new techniques: dynamic content modeling and database modeling of virtual worlds. Each technique offers a value by itself, but combined together form an approach that offers particularly rich functionality and flexibility.

Standard 3D/VR applications are usually created around the concept of a virtual scene (often used interchangeably with a virtual world). They limit the possible interaction between a user and the 3D/VR application to navigation in the scene, interaction with the scene, and jumping from one volatile virtual scene to another. On the contrary, 3D/VR applications based on the X-VR approach are created around a model of a virtual world. The model can be much more generic, and its extent—spatial, temporal, and logical—can go far beyond a single virtual scene. In the X-VR approach, a virtual scene is a selection of elements of the virtual world and projection of these elements into a particular scene template. Thus, the virtual scene resembles a three-dimensional active window into much richer virtual world content.

In the X-VR based applications, a user can influence—explicitly or implicitly— the process of creation of virtual scenes, with regards to their contents, structure and presentation method. The process can also take into account on-line accessible data and user privileges [41]. Automatic updates to virtual worlds by other applications are possible, and persistency can be easily implemented.

The X-VRML language extends existing 3D content representation standards by providing convenient access to databases, parameterization, object-orientation, and imperative programming techniques. Data retrieved from a database during processing of an X-VRML template can affect all aspects of the dynamically generated virtual scene—its structure, contents, and presentation methods. X-VRML applications can also update databases—either once when a particular virtual scene is accessed or continually during the virtual scene life-time. Different architectures of X-VRML systems meet requirements and constraints of different application domains. The architectures can employ server-side and client-side X-VRML processors. Databases can be used either only for retrieving or for retrieving and updating data.

The current form of the X-VRML language is strongly influenced by the conclusions drawn from its use in several real-life applications. An important feature of the X-VRML language is its extensibility. New elements—specialized in performing more advanced tasks—can be easily added to the language. Such extensibility makes X-VRML adaptable to different application requirements and increases expression power of the language. Another important element is independence of X-VRML from content representation languages. This enables use of X-VRML in different environments (e.g., VRML and MPEG-4) and enables easy adaptation to new versions of 3D content standards.

As opposed to direct encoding of virtual scenes in a 3D content representation language, in X-VRDB, a semantically rich virtual world model for building 3D/VR applications is proposed. In this model, different types of information: the objects, the classes, the scene templates and the scenes are separated and provided with identity. In this way, they may be modeled and manipulated efficiently. Data (objects) can be automatically generated and updated from different sources and modified with simple applications. A library of classes that contains graphical widgets of different levels of complexity can be designed by a computer graphics specialist and shared by different 3D/VR applications. The scene templates can be either programmed or designed in a graphical authoring tool equipped with a set of specific plug-ins for accessing the X-VRDB database [17].

The X-VR approach has been successfully used in several projects. In the Periscope system for 3D visualization of Web search results [7, 48, 49], described in Chap. 10, the object level modeling has been used to enable visualization of large amounts of data collected by Web crawlers. In the PISTE project [5, 17, 32], the X-VR approach has been used to model sequences of dynamically generated MPEG-4 content (2D and 3D) for TV broadcasting. The scene level modeling has been applied to provide efficient method of preparing and archiving the broadcasted content. In the ARCO system [2, 30, 47], the X-VR approach has been implemented at the scene level for building database models of virtual museum galleries. Museum curators can easily build 3D virtual galleries with a simple content management application. The final virtual scene instances, which are displayed to end-users, depend on both parameters preset by a museum curator and ad-hoc queries provided by end-users.

Next post:

Previous post: