+ All Categories
Home > Documents > 01 Introduction, 1 Jarek Rossignac, CoC & GVU Center, Georgia Tech Solid Modeling Tutorial, June...

01 Introduction, 1 Jarek Rossignac, CoC & GVU Center, Georgia Tech Solid Modeling Tutorial, June...

Date post: 30-Dec-2015
Category:
Upload: chester-harvey-anderson
View: 214 times
Download: 0 times
Share this document with a friend
20
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
Transcript
Page 1: 01 Introduction, 1 Jarek Rossignac, CoC & GVU Center, Georgia Tech Solid Modeling Tutorial, June 2002 ACM Solid Modeling Tutorial T3: Compression, simplification,

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

Page 2: 01 Introduction, 1 Jarek Rossignac, CoC & GVU Center, Georgia Tech Solid Modeling Tutorial, June 2002 ACM Solid Modeling Tutorial T3: Compression, simplification,

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

Page 3: 01 Introduction, 1 Jarek Rossignac, CoC & GVU Center, Georgia Tech Solid Modeling Tutorial, June 2002 ACM Solid Modeling Tutorial T3: Compression, simplification,

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

Page 4: 01 Introduction, 1 Jarek Rossignac, CoC & GVU Center, Georgia Tech Solid Modeling Tutorial, June 2002 ACM Solid Modeling Tutorial T3: Compression, simplification,

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

Page 5: 01 Introduction, 1 Jarek Rossignac, CoC & GVU Center, Georgia Tech Solid Modeling Tutorial, June 2002 ACM Solid Modeling Tutorial T3: Compression, simplification,

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

Page 6: 01 Introduction, 1 Jarek Rossignac, CoC & GVU Center, Georgia Tech Solid Modeling Tutorial, June 2002 ACM Solid Modeling Tutorial T3: Compression, simplification,

01 Introduction , 6Jarek Rossignac, CoC & GVU Center, Georgia Tech Solid Modeling Tutorial, June 2002

Storage size depends on representation

2D 1D 0D

Page 7: 01 Introduction, 1 Jarek Rossignac, CoC & GVU Center, Georgia Tech Solid Modeling Tutorial, June 2002 ACM Solid Modeling Tutorial T3: Compression, simplification,

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

Page 8: 01 Introduction, 1 Jarek Rossignac, CoC & GVU Center, Georgia Tech Solid Modeling Tutorial, June 2002 ACM Solid Modeling Tutorial T3: Compression, simplification,

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.

Page 9: 01 Introduction, 1 Jarek Rossignac, CoC & GVU Center, Georgia Tech Solid Modeling Tutorial, June 2002 ACM Solid Modeling Tutorial T3: Compression, simplification,

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

Page 10: 01 Introduction, 1 Jarek Rossignac, CoC & GVU Center, Georgia Tech Solid Modeling Tutorial, June 2002 ACM Solid Modeling Tutorial T3: Compression, simplification,

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

Page 11: 01 Introduction, 1 Jarek Rossignac, CoC & GVU Center, Georgia Tech Solid Modeling Tutorial, June 2002 ACM Solid Modeling Tutorial T3: Compression, simplification,

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

Page 12: 01 Introduction, 1 Jarek Rossignac, CoC & GVU Center, Georgia Tech Solid Modeling Tutorial, June 2002 ACM Solid Modeling Tutorial T3: Compression, simplification,

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

• Uncompressed representation: 576 bits/vertex (+ properties)

• Need days to download a 100M vertex model at home

Page 13: 01 Introduction, 1 Jarek Rossignac, CoC & GVU Center, Georgia Tech Solid Modeling Tutorial, June 2002 ACM Solid Modeling Tutorial T3: Compression, simplification,

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

Page 14: 01 Introduction, 1 Jarek Rossignac, CoC & GVU Center, Georgia Tech Solid Modeling Tutorial, June 2002 ACM Solid Modeling Tutorial T3: Compression, simplification,

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

Page 15: 01 Introduction, 1 Jarek Rossignac, CoC & GVU Center, Georgia Tech Solid Modeling Tutorial, June 2002 ACM Solid Modeling Tutorial T3: Compression, simplification,

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

Page 16: 01 Introduction, 1 Jarek Rossignac, CoC & GVU Center, Georgia Tech Solid Modeling Tutorial, June 2002 ACM Solid Modeling Tutorial T3: Compression, simplification,

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

• Shading models are approximate • Users can’t detect shading inaccuracies

• 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

Page 17: 01 Introduction, 1 Jarek Rossignac, CoC & GVU Center, Georgia Tech Solid Modeling Tutorial, June 2002 ACM Solid Modeling Tutorial T3: Compression, simplification,

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

– Predict using decoded neighbors

– Code residues using entropy compression

• Incidence (< 2 bits/vertex)– Depth-first triangle-tree (spiral)

– Encode as string of symbols

• Fit rule and parameters (constant cost?)

V=aA+bB+cC+dD+X

AB

CD

V

CCCCRCCRCRC…

CC

CC

C

C

CC

R

R

R

Page 18: 01 Introduction, 1 Jarek Rossignac, CoC & GVU Center, Georgia Tech Solid Modeling Tutorial, June 2002 ACM Solid Modeling Tutorial T3: Compression, simplification,

01 Introduction , 18Jarek Rossignac, CoC & GVU Center, Georgia Tech Solid Modeling Tutorial, June 2002

Complexity of a shape = Storage/Error curve

Error of the approximating model

Sto

rage

Curve depends on representation and compression scheme used

Simplification & quantization

Com

pression

Estimate ET = K/T

Page 19: 01 Introduction, 1 Jarek Rossignac, CoC & GVU Center, Georgia Tech Solid Modeling Tutorial, June 2002 ACM Solid Modeling Tutorial T3: Compression, simplification,

01 Introduction , 19Jarek Rossignac, CoC & GVU Center, Georgia Tech Solid Modeling Tutorial, June 2002

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

Page 20: 01 Introduction, 1 Jarek Rossignac, CoC & GVU Center, Georgia Tech Solid Modeling Tutorial, June 2002 ACM Solid Modeling Tutorial T3: Compression, simplification,

01 Introduction , 20Jarek Rossignac, CoC & GVU Center, Georgia Tech Solid Modeling Tutorial, June 2002

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


Recommended