BEYOND VRML: EFFICIENT 3-D DATA TRANSFER FOR REMOTE VISUALIZATION M. NAGASAWA Ultra-high Speed Network and Computer Technology Labs. 1-280, Higashi-Koigakubo, Kokubunji, Tokyo 185-8601, Japan Abstract. For eective remote visualizations of massive 3D data, volumetric data compression algorithms and transmission protocols are investigated. Quantized Normal Vectors unify and compress 3D volumetric data by quantizing surface normals and volume gradients. With this QNV representation, progressive transmission and Level-of-Detail control become possible. Against the change of network quality or data loss, it is robust enough to get smooth visualization results. 1. Remote Visualization The increased popularity of computer graphics and the wide-spread Internet are making easier handling of 3D media in remote environments. Virtual Reality Modeling Language (VRML) is an international standard that realizes interoperabilities of 3D graphics. However, there are many limitations in current VRML, because it was designed for entertainment computer graphics. For example, with multiple VRML streams on a single display, people have to choose and optimize rendering resolutions. For effective use of network bandwidth, enhancement of VRML with some binary compression forms is also needed (Taubin 1996). Standard VRML browsers are using FTP protocol, so that the rendering starts after the completion of data transfer. When the transmission error occurs, TCP/IP requests re-sending whole data. General le compression utilities are not good for an interactive quick-look. Users have to wait without any view during the transfer. 416 1.1. M. NAGASAWA OUTLINES AND PRIORITY SORTING A quick-look of outlines is eective for browsing polygons. Our outline data format does not include adjacency list, but the positions of outline vertices. The outlines are transmitted prior to the inner vertex information. The outlines are enough to display each group. The independency of each polygon group is suitable for progressive transmission and rendering. If some vertices are shared by plural polygons, adjacency list is good for reducing data redundancy. However, even a bit loss of list data during the transmission will cause severe damage to the rendering. Figure 1. Left: Group polygon outlines (180 polygons). Right: Whole data of outlined polygons (50,000 polygons). 1.2. PROGRESSIVE TRANSMISSION For 2D images, techniques of progressive display exist. Using interlaced GIF, coarse images appear rst and the details come later. One can grasp a whole image quickly and interrupt the display screen when sucient recognition is obtained. Similarly, by rendering 3D patches in sorted order of area size, the global structure could become manifest. The larger patch comes in advance to the smaller ones. Both sorted and group-outlined polygon transfer are found to reduce the transmission time to one third of that of FTP transfer of standard VRML le. In present environments, however, transmissions of full details of huge volumetric 3D data are time consuming. Thus, we are to develop a new high dimensional model which appropriately and eectively represents 3D data characteristics. BEYOND VRML: EFFICIENT 3-D DATA TRANSFER 2. 417 QNV Representation There are macroscopic models for representing 3D data: analytic curves, polygons, voxels, particles and vectors. These representation models use geometrical approaches. Typical scientic visualizations require a exibility to treat complex 3D data structures with fragments, voids and multi components (Nagasawa 1995). A special polygon representation for Levelof-Detail control was proposed by Hoppe (1996). While, we try to reproduce smooth and diuse boundary structures appropriately in remote rendering by neglecting polygon boundary. 2.1. NORMAL AND GRADIENT QUANTIZATION For global and direct visualizations of 3D volumetric data, it seems reasonable and challenging to skip some intermediate representations such as geometrical isosurfaces (Lorensen & Cline 1987). In QNV representations, 3D objects are encoded as a set of normal vectors with an opacity prole. The QNV could represent both 3D surfaces and 3D volumetric data depending on topologies of vector distributions. Each QNV is discretized to have length proportional to its sampling area for surface rendering or gradient magnitude for volume rendering. Figure 2. Line drawing of QNV Voxel gradients are sorted in magnitude. Out of total 181,012 voxels, plotted are Left: 2202 (1.2%), Center: 6240 (3.5%), Right: 16490 (9.1%) vectors, respectively. We consider a method to get QNVs from surface polygons. For simplicity, we start from triangle patches for 3D surface to get outer vector products. A gravity center of the triangle polygon corresponds to the vector position xk = (x; y; z ). The vector length of outer product is the area, and the vector direction is orthogonal to the triangle. The vector positions are decoded in Cartesian (x; y; z ), while directions are in polar coordinates (A; ; ). A relaxation algorithm to get a uniform triangulation of 3D surface was also applicable (Turk 1992). 418 3. M. NAGASAWA Quantized Vector Rendering In general, QNV is suitable for representing irregular sampling elements. That is a merit for data compression and a demerit for high quality rendering at the same time. In surface renderings for polygonal data, we could show jaggy features at some polygonal edges. While, rigid disk renderings for QNV data show sparse surfaces than that of polygon renderings. Thus, for QNV data set, we developed a general rendering algorithm applicable both to surface and volume rendering by mapping opacity as textures on its sampling area with normal directions. 3.1. SURFACE NORMAL RENDERING In decoding QNV data: f(x; y; z; ; ; A; :::)j k = 1; K g, an expectation value of opacity at position x is calculated with the Gaussian kernel lter as (ui 0 xk ) / exp(0jui 0 xk j2 =A), For a given surface data, this decoding satises an exact conservation of integrated surface area. With a smooth opacity lter, a robust decoding of surface data is possible independent of local interpolation errors even if some edges can not satisfy continuity conditions. (a) (b) Figure 3. (a) Polygons and (b) Normal vectors for 3D surface representation. In this adaptive control, vector representation has an advantage of being able to compress non-uniform 3D data. However, we have to be careful to treat voids of surface data. Some sparse regions happen to become larger. That means a large area surface of insucient curvature, although a smooth image quality is still guaranteed. In the rendering, a ray cast integration is performed for vectors of total number K with a given opacity prole. 8 9 K < K = X Y C (ui ) = :c(xk )(ui ; xk ) [1 0 (ui ; xk )]; k=0 m=k+1 where ui = (ui ; vi ) are pixel coordinates. (1) BEYOND VRML: EFFICIENT 3-D DATA TRANSFER 3.2. 419 VOLUME GRADIENT RENDERING We could apply QNV formats to volumetric rendering. From voxels, we can calculate gradient vectors and represent them in QNV formats. Although QNV length has another meaning of gradient magnitude in this volumetric case, ray integration could be performed in an absolutely similar way to the surface rendering. If data is represented by sets of voxels or particles, our volume rendering pipeline could be used (Nagasawa & Kuwahawa 1991). We modied this volume rendering code to be applicable to the vector rendering. Due to absence of geometrical edges, opacity calculations in volume rendering proceed much easier than for usual cubic voxels. Antialiasing treatment is not necessary due to smooth prole of kernel functions. Figure 4. Volume rendering of the vectors in QNV format. Only a small fraction of vectors are contributing. As a benchmark visualization, we used MRI data set of CT study of a cadaver head. This CT data is 11322562256 sliced voxel data of 14MBytes. While, by volume rendering of QNV format data, we get a sucient quality output from small amounts of QNV. Only about top 9% of large gradient vectors are enough to produce the image. Another example is the 3D isosurface of observational Orion molecular cloud. It amounts to 15,657 Kbytes in AVS geometry format, while is compressed to 774 Kbytes in QNV format. 3.3. IMPLEMENTATION ON AVS As an eective compression and standard transmission algorithm of 3D surface data, the QNV coding and rendering algorithm are implemented on AVS platforms. AVS geometry data from scientic applications are converted directly into quantized vector representations. The quantized vector coding for surface data could start from a set of isosurface polygons. In 420 M. NAGASAWA addition to informations of normal vector and area of each polygon, an internal opacity prole is assigned. In polygon rendering, low resolution, say, large patch area turns out to be jaggy at polygonal edges. While, in vector rendering, it appears to be cloud-like fuzzy features. High resolution parts are similarly distinct in both cases. 3.4. EXTENTED VRML BROWSER: GHOSTSPACE We developed an extended VRML browser GhostSpace that runs as a helper application for WWW browser (UNCL 1997). GhostSpace provides ATM ability to display multiple compressed 3D data. It can be used to browse QNV and other proposed 3D data formats in rapid rendering schemes. Pre-processed data archive in GhostSpace server increases system performance for highly interactive applications. Especially, sorting of vectors in accordance with its magnitude is essential to accelerate decoding. Z θ Α φ Y X Figure 5. Left: Data components of QNV. Right: Texture representations of QNV opacity prole. 3.5. HARDWARE ACCELERATION OF QNV RENDERING There are studies to accelerate volume rendering by developing special hardwares based on texture mapping. In case of rendering with external lights, a shading calculation is important to realize 3D eects. For a graphics API similar to OpenGL, a texture map may contain color and/or transparency in graphics pipelines. It can be used to modify original colors of polygons in various ways. For including shading eects, we use a square polygon patch as a surface element perpendicular to a surface normal or gradient. A semi-transparent texture could represent a QNV disk. The texture is assigned with the Gaussian prole as transparency. General 3D structures are represented by a superposition of these semi-transparent textures. 421 BEYOND VRML: EFFICIENT 3-D DATA TRANSFER 3.6. PERFORMANCE ON ATM NETWORK To compress vector data, QNV elements have attributions in a discretized 3D space. Each element is discretized in eective bits for pixel resolutions. Spatial resolution is 10 bits in each dimension, and the directional resolution is 6 degree in polar coordinates. The QNV record length are formatted to optimize the performance on ATM networks. The record length for each vector is 8 Bytes and thus we could transmit 8 vectors on a single ATM cell. With this optimization, transfer of QNV data gets higher robustness and eectiveness in accordance with the ATM network protocols. We have performance tests of visualizations based on vector representation. The system consists of polygon and QNV encoder, decoder and renderer on both TCP/IP and Native-ATM socket communications. The transmitter generates multiple independent ATM cells that load sampling patches of dierent resolution. Packet (AAL5) ... ... ATM Cell head head head head head head head 40 bytes of user data 48 bytes of user data 48 bytes of user data 48 bytes of user data 48 bytes of user data 48 bytes of user data 48 bytes of user data trailer 8bytes/vector 1024 X 1024 Y 1024 Z 32 64 Θ Φ 32768 A 256 C Figure 6. Discrete data format of QNV representation as a payload on ATM cell. By adding extra formats to standard VRML, polygon compressions and QNV representations are in cooperation with specic network bandwidths through ATM negotiation protocol. With ATM socket communications, GhostSpace is able to decode and render up to 5 MBytes/s surface data stream over ATM-OC3 of 155Mbps bandwidth. This means eective 3D communications of 0.20.3 Mpolygons/sec and 0.6 Mvectors/sec are 422 M. NAGASAWA achieved. The encoder can produce other independent 3D data streams of boundary-listed group polygons by reducing coplanar polygons in each group (Nishioka & Nagasawa 1995). 4. Conclusion For fast and eective 3D renderings, we use QNV representations. 1. QNV encodes 3D objects as a set of surface normal or volume gradient vectors. Each vector is quantized in position and direction. 2. With QNV formats, general and high quality renderings are possible both for surface and volumetric data with Gaussian opacities. 3. Progressive browsing becomes possible by accelerating QNV rendering with texture mapping hardware. We implemented vector decoding and rendering functions for surface and volumetric data browsing in GhostSpace. Compared with an ordinary polygon data transfer, QNV representations are robust for congested network and keep 3D rendering image in high quality even with data abolishment. GhostSpace is able to show smooth features of rendered 3D structure using received normal vectors only, because no geometrical edge is needed. Quicklook applications could make use of this representation as an extension of VRML in 3D data browsers. Acknowledgements We acknowledge the data courtesy of CThead voxel data by UNC Chapel Hill and that of 3D Orion nebula isosurface by Dr. Tatematsu (NRAOJ). References Hoppe H. (1996) Progressive Meshes, Computer Graphics Proceedings (ACM SIGGRAPH) pp. 99-108 Lorensen W. and Cline H. (1987) Marching Cubes: A High Resolution 3D Surface Construction Algorithm Computer Graphics 21(4) pp. 163-169 Nagasawa M. (1995) Volume data compression using smoothed particle transformation, Digital Video Compression (SPIE) 2419 pp. 288-295 Nagasawa M. and Kuwahara K. (1991) Smoothed Particle Rendering for Fluid Visualization in Astrophysics, Scientic Visualization of Physical Phenomena (ed. N.M.Patrikalakis, Springer-Verlag Tokyo) pp. 589-605 Nishioka D. and Nagasawa M. (1995) Reducing polygonal data by structural grouping algorithm, Lecture Notes in Computer Science (ed. Chin R. T. et al., Springer Hong Kong), 1024, pp. 140-151 Taubin G. (1996) [http://www.austin.ibm.com/vrml/binary] VRML2.0 Compressed Binary Format Turk G. (1992) Re-Tiling Polygonal Surfaces, Computer Graphics 26(2) pp. 55-64 UNCL (1997) [http://www.iijnet.or.jp/uncl/GhostSpace] GhostSpace