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 Jarek Rossignac, CoC & GVU Center, Georgia Tech Solid Modeling Tutorial, June 2002 01 Introduction , 1 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) Compression, 2 Best Papers, MPEG-4 T=T+T+T 3D morph, Best Paper Jarek Rossignac, CoC & GVU Center, Georgia Tech Solid Modeling Tutorial, June 2002 Simplification, Best ,Paper 01 Introduction 2 v4 Introduction t3 v5 v2 Jarek Rossignac GVU Center and College of Computing Georgia Tech, Atlanta http://www.gvu.gatech.edu/~jarek Jarek Rossignac, CoC & GVU Center, Georgia Tech Solid Modeling Tutorial, June 2002 01 Introduction , 3 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 Jarek Rossignac, CoC & GVU Center, Georgia Tech Solid Modeling Tutorial, June 2002 01 Introduction , 4 Storage size depends on • • • • The shape, topology, and attributes of the model Choice of representation Acceptable accuracy loss Compression used Error Storage Jarek Rossignac, CoC & GVU Center, Georgia Tech Solid Modeling Tutorial, June 2002 01 Introduction , 5 Storage size depends on representation 2D 1D Jarek Rossignac, CoC & GVU Center, Georgia Tech 0D Solid Modeling Tutorial, June 2002 01 Introduction , 6 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): vertex 1 x y z c vertex 2 x y z c vertex 3 x y z c V(3B+k) bits Triangle/vertex incidence: v4 Triangle 1 Triangle 2 Triangle 3 Triangle 4 Triangle 5 T = 2V V(6log2V) bits Triangle 6 Jarek Rossignac, CoC & GVU Center, Georgia Tech 1 3 4 7 6 8 2 3 24 5 2 5 6 v5 5 8 51 Solid Modeling Tutorial, June 2002 t3 v2 01 Introduction , 7 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. Jarek Rossignac, CoC & GVU Center, Georgia Tech Solid Modeling Tutorial, June 2002 01 Introduction , 8 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 Jarek Rossignac, CoC & GVU Center, Georgia Tech Solid Modeling Tutorial, June 2002 01 Introduction , 9 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 Jarek Rossignac, CoC & GVU Center, Georgia Tech Solid Modeling Tutorial, June 2002 01 Introduction , 10 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 Jarek Rossignac, CoC & GVU Center, Georgia Tech Solid Modeling Tutorial, June 2002 01 Introduction , 11 Problem: delays in accessing remote data • • • • Most graphic 3D models are stored as triangle meshes Good approximations require 1K-to-100M vertices per object Uncompressed representation: 576 bits/vertex (+ properties) Need days to download a 100M vertex model at home Jarek Rossignac, CoC & GVU Center, Georgia Tech Solid Modeling Tutorial, June 2002 01 Introduction , 12 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 Jarek Rossignac, CoC & GVU Center, Georgia Tech Solid Modeling Tutorial, June 2002 01 Introduction , 13 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 Jarek Rossignac, CoC & GVU Center, Georgia Tech Solid Modeling Tutorial, June 2002 01 Introduction , 14 Storage size depends on accuracy (7,7) • Depends on vertex data quantization – Represent coordinates as normalized integers • Coordinates relative to bounding rectangle • Select unit for desired resolution [0..2B] (0,0) • 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 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 Jarek Rossignac, CoC & GVU Center, Georgia Tech Solid Modeling Tutorial, June 2002 01 Introduction , 15 T Different Error Measures screen • Image (color) fidelity (view dependent) eye – Error on the color of pixels – Sensitive to view direction and surface orientation – Too constraining for most 3D applications Silhouette has moved • Shading models are approximate • Users can’t detect shading inaccuracies • Screen space geometric error (view-dependent) eye – Measures silhouette displacement – Must preserve depth order – Bounded by projection of 3D deviation Hidden part appeared A • 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 Jarek Rossignac, CoC & GVU Center, Georgia Tech Solid Modeling Tutorial, June 2002 H(A,B) B dev(A,B) 01 Introduction , 16 Storage may be reduced by compression • Vertex coordinates (compress to 2 Bytes/vertex) – Normalize/quantize coordinates – Predict using decoded neighbors – Code residues using entropy compression B C A D V V=aA+bB+cC+dD+X • Incidence (< 2 bits/vertex) – Depth-first triangle-tree (spiral) – Encode as string of symbols C C C R R C C R C C C CCCCRCCRCRC… • Fit rule and parameters (constant cost?) Jarek Rossignac, CoC & GVU Center, Georgia Tech Solid Modeling Tutorial, June 2002 01 Introduction , 17 Storage Complexity of a shape = Storage/Error curve Error of the approximating model Curve depends on representation and compression scheme used Estimate ET = K/T Jarek Rossignac, CoC & GVU Center, Georgia Tech Solid Modeling Tutorial, June 2002 01 Introduction , 18 Terminology • Compression of geometry and connectivity – Loss-less encoding of connectivity, quantized vertices and attributes • Simplification: Levels of Detail (LOD) approximations – Lossy reduction of triangle counts by progressive vertex removal • Progressive Transmission of upgrades – Send crude approximation first. Then upgrades if/when needed • Adaptive refinement and Multi-Resolution Models – Refine only where necessary (close to viewer, near silhouette) • Retiling – Better (more regular) re-sampling of the surface to reduce storage • Error protection for noisy channels – Send extra bits to facilitate recovery of most important info Jarek Rossignac, CoC & GVU Center, Georgia Tech Solid Modeling Tutorial, June 2002 01 Introduction , 19 Summary • • • • • • • • • • • Interactive access and display of large 3D data is important Many models are represented using triangle meshes Others are triangulated for (Internet) graphics Curved surfaces reps may be more compact than their tessellation, but we need to compress their control mesh Sending uncompressed meshes take too much time Sending images may help, but ultimately geometry is needed Loss-less compression may not suffice Vertex rounding (quantization) helps compress geometry Entropy encoding of vertex prediction residues does too We need to support LODs and progressive refinements Estimating the simplification error is tricky and expensive Jarek Rossignac, CoC & GVU Center, Georgia Tech Solid Modeling Tutorial, June 2002 01 Introduction , 20
© Copyright 2026 Paperzz