01 Introduction , 1 Jarek Rossignac, CoC & GVU Center, Georgia Tech Solid Modeling Tutorial, June 2002 ACM Solid Modeling Tutorial T3: Compression, simplification, and progressive transmission of 3D models and animations Jarek Rossignac College of Computing and GVU Center Georgia Institute of Technology Atlanta, Georgia - USA
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
01 Introduction , 1Jarek Rossignac, CoC & GVU Center, Georgia Tech Solid Modeling Tutorial, June 2002
ACM Solid Modeling Tutorial T3:
Compression, simplification, and progressive transmission of 3D models and animations
Jarek Rossignac
College of Computing and GVU Center
Georgia Institute of Technology
Atlanta, Georgia - USA
http://www.gvu.gatech.edu/~jarek
ACM Solid Modeling Tutorial T3:
Compression, simplification, and progressive transmission of 3D models and animations
Jarek Rossignac
College of Computing and GVU Center
Georgia Institute of Technology
Atlanta, Georgia - USA
http://www.gvu.gatech.edu/~jarek
01 Introduction , 2Jarek Rossignac, CoC & GVU Center, Georgia Tech Solid Modeling Tutorial, June 2002
Jarek Rossignac, http://www.gvu.gatech.edu/~jarek
• Maitrise ME & Diplome d’Engenieur ENSEM (Nancy, France)
• PhD in Solid Modeling in 1985 (U. of Rochester, NY, USA)
• IBM TJ Watson Research Center (11 years)– Senior manger of the Visualization, Interaction, and Graphics Department
– Simplification: 3D Interaction Acceleration (3DIX), OpenGL Accelerator
– Compression: VRLM. MPEG-4, 1 byte/triangle, Best Paper (ACM TOG)
– Visualization: Data Explorer (DX) for scientific data, Panoramix for 360
• Georgia Institute of Technology (6 years)– Professor of Computer Science in the College of Computing
– Director of GVU (Graphics, Visualization & Usability Center) 1996-2001
– Compression (with A. Szymczak): Edgebreaker: Best Paper (IEEE TVCG)
– Multiresolution Analysis of Animations (with Turk, Szymczak, Ghrist)
– Digital Clay (with Engineering): physical 3D surface as I/O
– Other: Sweeps (Korea), Occlusion (Barcelona), Features (Genova)
3D morph, Best Paper
T=T+T+T
Simplification, Best Paper
Compression, 2 Best Papers, MPEG-4
01 Introduction , 3Jarek Rossignac, CoC & GVU Center, Georgia Tech Solid Modeling Tutorial, June 2002
Introduction
Jarek RossignacGVU Center and College of
Computing
Georgia Tech, Atlanta
http://www.gvu.gatech.edu/~jarek
t3
v4
v2v5
01 Introduction , 4Jarek Rossignac, CoC & GVU Center, Georgia Tech Solid Modeling Tutorial, June 2002
How should one measure shape complexity?
• Number of components, handles and holes• Algebraic degree of bounding surfaces• Number of vertices in mesh• Stabbing number• Area3/volume2
• Curvature integral• Number of branches in skeleton• …• Number of bits required to store or transmit the model
01 Introduction , 5Jarek Rossignac, CoC & GVU Center, Georgia Tech Solid Modeling Tutorial, June 2002
Storage size depends on
• The shape, topology, and attributes of the model
• Choice of representation
• Acceptable accuracy loss
• Compression used
Error
Storage
01 Introduction , 6Jarek Rossignac, CoC & GVU Center, Georgia Tech Solid Modeling Tutorial, June 2002
Storage size depends on representation
2D 1D 0D
01 Introduction , 7Jarek Rossignac, CoC & GVU Center, Georgia Tech Solid Modeling Tutorial, June 2002
Focus on explicit representation (T-mesh)
• Samples: Location and attributes (color, mass)• Connectivity: Triangle/vertex incidence• Fit: Rule for bending triangles (subdivision surfaces, NURBS)
Samples (vertices):
x y z cx y z cvertex 1
vertex 2
vertex 3 x y z c
Triangle/vertex incidence:
3 2 4
6 5 8
Triangle 4 7 5 6Triangle 5
1 2 3Triangle 1
4 5 2
Triangle 2
Triangle 3
Triangle 6 8 5 1
t3
v4
v2v5
V(3B+k) bits
V(6log2V) bitsT = 2V
01 Introduction , 8Jarek Rossignac, CoC & GVU Center, Georgia Tech Solid Modeling Tutorial, June 2002
Why triangles and tetrahedra?
Triangles and tetrahedra are the simplest ways of specifying how irregular point-samples and associated values (color, density...) should be interpolated to approximate (non-homogeneous) sets.
Other representations may be easily triangulated/tetrahedralized.
01 Introduction , 9Jarek Rossignac, CoC & GVU Center, Georgia Tech Solid Modeling Tutorial, June 2002
Triangle meshes vs. surfaces
• Surface rep more compact than its triangulation?– Clearly true for a sphere or a simple curved CSG model
– Not true for low-resolution tessellation of small trimmed NURBS patches
• Control polygons of curved surfaces must be compressed– Complex models have millions of small parametric surfaces
– We need to encode their control polygons (irregular quad/tri meshes)
• Subdivision surfaces may be viewed as a compressed format– Most meshes do not have subdivision connectivity
– It is tricky to compute a coarse mesh whose subdivision matches shape
– Encoding corrective coefficients (wavelets?) may be cheaper
• Coarse meshes of subdivision surfaces must be compressed– Coarse meshes of most subdivision surfaces are triangle meshes
– You may have many of them in a scene
01 Introduction , 10Jarek Rossignac, CoC & GVU Center, Georgia Tech Solid Modeling Tutorial, June 2002
What makes I3DG effective?
• Existence and immediate access to 3D models over the Web– Collaborative design
– Scientific or business data
– Electronic commerce
– Entertainment I
• Intuitive manipulation of view and model– 3D cues, natural interface, perspective (detail&context&background)
• Real-time feedback– Direct manipulation
01 Introduction , 11Jarek Rossignac, CoC & GVU Center, Georgia Tech Solid Modeling Tutorial, June 2002
Bandwidth requirements for T-meshes
• Naïve representation of a triangle mesh– Each triangle is represented by 3 vertices
• Each vertex is represented by 3 coordinates– Each coordinate is represented by a float
• Total storage = 576 bits per vertex (bpv) for geoemtry– 3x3x32 bits per triangle
– Twice as many triangles as vertices
• Not counting colors, normals, textures, motions
01 Introduction , 12Jarek Rossignac, CoC & GVU Center, Georgia Tech Solid Modeling Tutorial, June 2002
Problem: delays in accessing remote data
• Most graphic 3D models are stored as triangle meshes
• Good approximations require 1K-to-100M vertices per object
• Need days to download a 100M vertex model at home
01 Introduction , 13Jarek Rossignac, CoC & GVU Center, Georgia Tech Solid Modeling Tutorial, June 2002
Solution: A combination of techniques
• Download and render only what is potentially visible
• Use images (background, textures) when appropriate
• Use low resolution geometry for distant “features”
• Progressively refine (upgrade) “features” as they approach
• Use geometric compression to transmit features & upgrades
01 Introduction , 14Jarek Rossignac, CoC & GVU Center, Georgia Tech Solid Modeling Tutorial, June 2002
Images, Textures, and Geometry
• Video: Limits real-time interaction, redundant information– OK for canned trajectories and animated inserts for distant objects
• Panorama: For fixed viewpoint or background
• Image coherence: 3D info helps reuse– Can reuse previous image: distort it based on 3D info– Must send revealed portions and increased resolution as needed
• Texture maps– Can substitute an imposter or textured crude mesh – May needs to replace it as the user moves
• 3D Geometry + attributes: Most compact representation– Use to download 3D model of nearby objects for interactive viewing– Cheaper than video– Can’t use panoramas
• Lightfields are too expensive
01 Introduction , 15Jarek Rossignac, CoC & GVU Center, Georgia Tech Solid Modeling Tutorial, June 2002
Storage size depends on accuracy
• Depends on vertex data quantization– Represent coordinates as normalized integers
• Coordinates relative to bounding rectangle• Select unit for desired resolution [0..2B]• Vertex coordinates = B-bit integers (6<B<14) Error EB
• Depends on the sampling density (LOD)– Storage grow with the density of samples– Sub-sampled or simplified down to T triangles: Error ET
• Estimate ET = K/T (where K approximates shape complexity)
• Optimal choice of B and T (King&Rossignac)– Reduce error with a storage cap: F = T+3BcT/2 – Reduce storage with a cap on error bound: E=EB+ET
(7,7)
(0,0)
ET
T
01 Introduction , 16Jarek Rossignac, CoC & GVU Center, Georgia Tech Solid Modeling Tutorial, June 2002
Different Error Measures
• Image (color) fidelity (view dependent)– Error on the color of pixels– Sensitive to view direction and surface orientation– Too constraining for most 3D applications
• Screen space geometric error (view-dependent)– Measures silhouette displacement– Must preserve depth order– Bounded by projection of 3D deviation
• Geometric 3D deviation (view-independent)– Bound defined by model/application tolerance– Hausdorff: H(A,B)=max(d(a,B),d(b,A)), aA, bB– Expensive to compute: (F1,F2,F3)– Poor measure of discrepancy– Often approximated conservatively
Silhouette has moved
Hidden part appeared
eye
eye
screen
dev(A,B)
H(A,B)A
B
01 Introduction , 17Jarek Rossignac, CoC & GVU Center, Georgia Tech Solid Modeling Tutorial, June 2002
Storage may be reduced by compression
• Vertex coordinates (compress to 2 Bytes/vertex)– Normalize/quantize coordinates