Video Requirements for Web-based Virtual Environments using extensible 3D (X3D) graphics

Real-time interactive 3D graphics and virtual environments typically include a variety of multimedia capabilities, including video. The Extensible 3D (X3D) Graphics is an ISO standard produced by the Web3D Consortium that defines 3D scenes using a scene-graph approach. Multiple X3D file formats and language encodings are available, with a primary emphasis on XML for maximum interoperability with the Web architecture. A large number of functional capabilities are needed and projected for the use of video together with Web-based virtual environments. This paper examines numerous functional requirements for the integrated use of Web-compatible video with 3D. Three areas of interest are identified: video usage within X3D scenes, linking video external to X3D scenes, and generation of 3D geometry from video. X3D Background. Extensible 3D (X3D) is a Web-based standard for 3D graphics, enabling real-time communication using animation, user interaction and networking. X3D capabilities are proposed, implemented, evaluated and approved by members of the nonprofit Web3D Consortium (www.web3D.org). X3D is an open, royalty-free standard that is rigorously defined, published online, and ratified by the International Organization for Standards (ISO). Multiple commercial and open-source implementations are available. Web3D has a longstanding liaison relationship with W3C to ensure that X3D maximizes interoperability with the Web Architecture. [X3D 2007] [Brutzman Daly 2007] The X3D specifications are a highly detailed set of technical documents that define the geometry and behavior capabilities of X3D. Three functionally equivalent file-format encodings are defined: Extensible Markup Language (XML) (.x3d extension), ClassicVRML (.x3dv extension), and Compressed Binary Encoding (.x3db extension). Application programming interface (API) bindings are similarly provided for the Ecmascript (aka Javascript) and Java programming languages, with a third language binding implemented (and likely to be standardized) for C++. Figure 1 illustrates these relationships. [X3D Specifications 2007] X3D has a long history of successful development, starting with the Virtual Reality Modeling Language (VRML) as early as 1994, integrating a large number of additional advanced 3D graphics and networking capabilities along the way. Backwards compatibility with the VRML97 ISO standard has been successfully maintained. Numerous VRML/X3D importers, exporters and translators are available for the plethora of different 3D graphics formats available. X3D uses a scene graph to model a virtual environment. The scene graph is a tree structure that is directed and acyclic, meaning that there is a definite beginning for the graph, there are parent/child relationships for each node, and there are no cycles (or loops) in the graph. This scene graph collects all aspects of a 3D scene in a hierarchical fashion that properly organizes geometry, appearance, animation and event routing.