Compression for surface models
(Snoeyink; Isenburg)

One of the barriers to the adoption of geometric model compression is that people like ASCII formats that they can read, edit, tweak, mail, etc. PDB, STL, ply, obj, off, VRML, are all ASCII, even though they would be an order of magnitude smaller if some of the machine readable portions were simply coded as binary, and another order of magnitude smaller if the binary was compressed.

We have developed a clean way to integrate compressed representations into ASCII-based scene descriptions that are used for molecular surfaces, such as VRML. They have shown how to incorporate these, and other compression schemes, into ASCII-coded files: They preserve the ability to edit scene properties, but compress the tables and mappings that people do not read or edit anyway. These ASCII files are typically within 25% of the binary compressed file sizes, and within a few percentage points when gzipped. Implementations have been released as VRML protos and for pure Java Shout3d. Using their benchmark encoder for polygonal meshes with textures and properties, they can replace the static gif images of the proteins on our web pages with dynamic models that take the same amount of memory. This work is attracting the attention of standardization committees. Don Brutzman (Naval Postgraduate School) passed along pointers to the VRML version to the Web3d Consortium after IEEE Vis'2003 in an email message that included, ``Thanks to Martin Isenburg for providing prototype versions of the IFS ASCII coding and geometric compression, as documented in his Web3D Symposium papers in 2002 & 2003. ..., we have a lot of capabilities coming together for our upcoming work on X3D binary and geometric compression. Other algorithms will also be needed. Thanks Martin for your excellent work.''

As an offshoot, their compression work is becoming the basis of a new paradigm for handling large meshes that may not even fit in the address space of common 32-bit desktop PC. They developed an out-of-core mesh compression technique that converts such gigantic meshes into a streamable, highly compressed representation. During decompression only a small portion of the mesh needs to be kept in memory at any time. As full connectivity information is available along the decompression boundaries, this provides seamless mesh access for incremental in-core processing on gigantic meshes. Decompression speeds are CPU-limited and exceed one million vertices and two million triangles per second on a 1.8 GHz Athlon processor. They have applied for funds from the CISE ACR program to continue this study of algorithms that can effectively use streaming meshes.