Short167.Pdf (571.2Kb)
Total Page:16
File Type:pdf, Size:1020Kb
EUROGRAPHICS 2003 / M. Chover, H. Hagen and D. Tost Short Presentations A Framework for Video-based and Hardware-Accelerated Remote 3D-Visualization Frank Goetz, Gitta Domik Computer Graphics, Visualization and Image Processing Fuerstenallee 11, D-33102 Paderborn, Germany (frank.goetz|domik)@uni-paderborn.de Abstract This paper presents a framework for video-based and hardware-accelerated remote 3d-visualization that produces and delivers high quality video streams at an accurate frame rate. The framework is based on the portable scenegraph system OpenSG, the MPEG4IP package and the Apple Darwin Streaming Server. In realtime generated visualizations will be multicast as an ISO MPEG-4 compliant video stream over the RealTime Streaming Protocol from a server to a client computer. On the client computer a Java program and an ISO MPEG-4 compliant video player are used to interact with the delivered visualization. While us- ing MPEG-4 video streams we can achieve high image quality at a low bandwidth. Categories and Subject Descriptors (according to ACM CCS): I.3.1 [Computer Graphics] Distributed/network, C.2.4 [Distributed Systems]: Distributed applications. 1. Introduction A common method to transport visualizations is based Not so long ago the lack of communication was ham- on the streaming of compressed meshes and textures pering the progress of research. Today, researchers from a server to a client computer. While visualizing share information over the internet and cooperation is complex scenes with a huge amount of polygons this demanded in all areas of the industry. Particularly com- method often needs too much network capacity and has puter-generated visualizations took a firm place in many high demands on the capabilities of the client com- fields, like geosciences, medicine, architecture, automo- puters. In most cases, the client computer offers only a bile construction and space technology. fragment of processor power and graphics power that a server is able to achieve. Finally, with this method it is not possible to get accurate frame rates while sending Interactivity and dynamics in realtime generated visu- interactive and realtime generated visualizations from a alizations were strongly improved by today’s more effi- server to a client computer. Accurate frame rate means cient graphics accelerator boards and arising multiproc- at least a frame rate of 20 frames per second. In that essor systems. Often complex and interactive visualiza- case a user has to accept limitations because compro- tions can only be rendered on powerful graphics servers mises were made by sending large datasets to the client or graphics clusters, since only they achieve the desired computer. representation speed and image quality. Therefore it is necessary to transfer the power of these graphics servers to the location and the computer of the user that wants The aim of our work is to develop a platform independ- to work with this visualization. In the last years scien- ent visualization server that takes advantage of the func- tists and researchers have given a great deal of attention tionality of current graphics accelerator boards and de- to the area of remote visualization. livers a high performance video stream to the remote or client computer. In our case high performance video stream means that the picture quality is high, the frame rate is accurate, the needed bandwidth is low and the © The Eurographics Association 2003. Goetz et al / A Framework for Video-based and Hardware-Accelerated Remote 3D-Visualization latency is as short as possible. While using video The generic solution for hardware-accelerated remote streams we have a constant and calculable size of net- visualization from Stegmaier et al.3 works transparently work capacity and processor power that has to be sup- for all OpenGL-based applications and OpenGL-based ported by the client computer. The size of the video scene graphs and does not require any modifications of stream is independent from the size of the visualization existing applications. They use a similar approach as and the graphics accelerator board of the client com- Richardson et al.4 in their paper virtual network comput- puter does not need special features to display interac- ing. In this paper a remote display system that does not tive and animated visualizations at an accurate frame support the remote use of 3d graphics acceleration hard- rate. It is possible to use the majority of available com- ware is presented. puters, even laptops and handhelds, as a visualization client. Ma and Camp5 developed a solution for remote visuali- zation of time-varying data over wide area networks. A further point should be that different users are able to This system involves a display daemon and a display access the data that was generated by the visualization interface. The data from the renderer is automatically server at the same time. Also the coordination between compressed, transported and decompressed. By using a active users should be as easy as possible. It is very custom transport method, they are able to employ arbi- important that every user of the cooperative working trary compression techniques. process gets the same potential for work. There should not be any problems concerning the geographical loca- Other solutions that support remote visualization were tion or the capabilities of the hardware. The user should developed by Engel and Ertl6 and Engel et al.7,8. In tex- not be restricted or excluded from the working process ture-based volume visualization for multiple users on because of using limited hardware or software. The the world wide web Engel and Ertl describe a volume ability to interact, navigate and manipulate at an accu- visualization tool that uses JAVA and the Virtual Real- rate speed has to be available for all users of a coopera- ity Modelling Language (VRML). In this case the client tive working process. computer has to be equipped with a 3d graphics accel- eration hardware to render the transmitted VRML scene The rest of the paper is organized as follows: first, other with an accurate speed. In their latest papers Engel et al. frameworks and solutions for remote 3D-visualization describe visualization systems that use image compres- are introduced; then all necessary packages, libraries sion technologies to transport the visualization data and servers that we need for our solution are presented; from the server to the client computer. In their paper a afterwards, the architecture of our system is explained; framework for interactive hardware-accelerated remote in the last part results are presented. 3d-visualization the visualization parameters and GUI events from the clients are applied to the server applica- tion by sending CORBA (Common Object Request 2. Previous Work Broker Architecture) requests. There are different ways of realizing remote visualiza- tion. One of the latest remote visualization frameworks Their remote visualization framework is very similar to 1 is Chromium . Chromium is a stream-processing our framework. Instead of CORBA we developed our framework for interactive rendering on clusters. own network communication layer. The main difference to all other remote visualization frameworks and also Silicon Graphics, Inc. provides a commercial solution the demarcation to the systems by Engel et al. is that our 2 called OpenGL Vizserver . OpenGL Vizserver is a framework transports MPEG-4 video streams instead of technical and creative computing solution designed to sending only pictures from the server to the client. This deliver visualization and collaboration functionality to improves the quality and capacity of the data to be sent. any client, whether on a desktop workstation or a wire- less tablet. OpenGL Vizserver allows users to remotely view and interact with large data sets from any other 3. Background for our solution system at any location in an organization and to collabo- One requirement of our framework is to use only free rate with multiple colleagues using these same applica- and non commercial packages, libraries and servers. In tions and data. Because of design decisions the OpenGL this chapter all used packages, libraries and servers are Vizserver works only with the SGI Onyx family. Simi- presented briefly. larly to the solution of Stegmaier et al.3, the VizServer relies on dynamically linked executables in order to be able to implant its functionality without modifying the target application. © The Eurographics Association 2003. Goetz et al / A Framework for Video-based and Hardware-Accelerated Remote 3D-Visualization 3.1. CommonCPP program supplying the data. The second device acts as a CommonCPP offers a highly portable C++ application normal video4linux device, it should be usable by any development framework. It provides classes for threads, application that fulfills the video4linux specifications. sockets, daemon management, system logging, object synchronization, realtime network development, persis- The loopback device has two operating modes: tent object management, and file access. These are all features that are not supported by standard C++ librar- In the simple one-copy mode the supplying program ies. specifies the size of the images and the used palette and uses the write function to push its images to the pipe. The CommonCPP Framework is used by our Comm- This mode is mostly for feeding fixed size images with- Server for the communication between the server and out any knowledge about the client. At the moment our the client. The CommServer is a socket based and system only supports this mode and streams a 24bit true thread per session server. For every session a new colour video with a size of 352*288 pixels to every thread will be generated. All incoming messages will be client computer. processed by this thread and after the connection is closed the thread will be terminated. The CommServer In the zero-copy mode the supplying program regularly listens on a standard port and generates a NetRPCMgr polls the device.