Presentation is loading. Please wait.

Presentation is loading. Please wait.

Progressive coding Motivation and goodness measures

Similar presentations


Presentation on theme: "Progressive coding Motivation and goodness measures"— Presentation transcript:

1 Progressive coding Motivation and goodness measures
Siggraph'98 Course21: 3D Geometry Compression Progressive coding Motivation and goodness measures Jarek Rossignac (with Renato Pajarola) GVU Center and College of Computing Georgia Tech, Atlanta Jarek Rossignac 1

2 Progressive refinements
Siggraph'98 Course21: 3D Geometry Compression Progressive refinements Previously covered connectivity compression is loss-less It is complemented by the compression of vertex data 3D coordinates, normals, colors, texture coordinates Discussed later in the “Geometry” section Exploiting a lossy quantization When these two are insufficient, we can simplify the model Reduce triangle and vertex count through a sequence of edge-collapses Select sequence that minimizes the resulting (geometric or visual) error We can use progressive transmission that increases accuracy Download compressed crude model first When more accuracy is needed, download upgrades and refine model You may start navigation right away using crude model Often you may not need to download the complete model at all Jarek Rossignac 2

3 ? Mesh refinement Siggraph'98 Course21: 3D Geometry Compression
Jarek Rossignac 3

4 Just-in-time upgrades of features
Download geometry only when images won’t do Subdivide surface into features (hierarchical) Use approximations of feature when acceptable Replace by more detailed sub-features as necessary To upgrade a feature, given its boundary, we must construct: A detailed representation of its (approximate) shape A partition of the feature’s surface into sub-features B C A D E So what is an upgrade? Any information that would describe how to refine the geometric representation of an object or feature. For example, only the highest significant bits of the coordinates of the vertices of a model may have been initially downloaded. An upgrade may provide subsequent less-significant bits for each coordinate. As discussed earlier, an upgrade may be the description of an entirely new representation of an object or feature. We will make here a specific assumption and later will argue that it does not lead to any loss of generality for our compression objectives. We will assume that an upgrade is the geometric representation of the interior of a surface patch of which we know the boundary. Furthermore, we will assume that this refined geometry is annotated so as to define sub-features and their boundary, should some of these need to be further upgraded.

5 Selective download of feature upgrades
Upgrade Geometry Cost Quality Children 0 g a0,r0 p0,e0 1,2,3 1 g a1,r1 p1,e1 4,5,6 2 g a2,r2 p2,e2 7,8,9 User Server view&model manipulation Downloaded upgrades 0,2,3,8,9,10,11,12 Client The client may save all the lower resolution models in a local--and generally incomplete--version of a multi-resolution hierarchy for situations where some features may be rendered at a resolution that is lower than the best locally available. In our example, the client has only downloaded the upgrades numbered in green (the center and right part of the tree). crude model (g0) 1 3 2 12 6 7 9 10 4 8 11 5 detailed features

6 Simultaneous access to remote datasets
3D Servers Client viewers Compressed crude models and upgrades

7 Compressed successive upgrades
Siggraph'98 Course21: 3D Geometry Compression Compressed successive upgrades upgrade 2 Simplification 1 Compression upgrade 1 Simplification 2 Compression Crude model Compression Decompression Decompression upgrade Decompression upgrade Jarek Rossignac 4

8 What is a good feature for selective upgrade?
Connected subset of the boundary Surface patch Entire surface Defined by hierarchical simplification Assume its boundary is given Outer loops of a connected patch One triangle of a solids boundary Represent how to stretch the surface between this boundary Compression: bit-efficient model of the internal shape The upgrade compression problem starts with a surface patch (which could be an entire object). The goal is to compress the description of the relative interior of this patch, assuming that the client already has the boundary (loops of edges that bound the outer boundary and the holes). The case of compressing the surface of a polyhedral solid may be converted to this upgrade-compression problem by sending any one triangle first and by using its boundary as the outer bounding loop for a surface patch that is the rest of the entire object. So our compression problem will be: Given the boundary of a surface, how to compute a bit-efficient representation of that surface so that it can be quickly decompressed by a client who already has the boundary. ? ? ? ?

9 Simplification process defines features
As noted earlier, an upgrade that we wish to compress may represent an entire mesh or a small feature. In the context of the progressive transmission of feature upgrades, a feature may be defined as the connected component of the modified parts of the geometry of the object. Consider for example the most popular simplification step: the edge collapse, which identifies an edge at a time and collapses it, removing two triangles and spreading the adjacent triangles to cover the so created empty space. Note that the result of a sequence of edge-collapse operations (bottom right) is independent of the order in which the operations were carried out. One can identify (bottom center) all the edges in the original model (bottom left) that should be collapsed during a simplification process that transforms one level-of-detail into a subsequent lower level. The star of these edges (triangles incident upon them) define the part of the geometry that is altered by the simplification process. The connected components of this area are good candidates for features. A finer decomposition may be defined as the connected components of the difference between the mesh and the triangles and edges that have not been affected by the simplification process.

10 Upgrade = reverse simplification
compress Upgrade So one approach is to define the features as explained in the previous slide and to send their simplified representation first. Then, if an upgrade is needed, the client will discard the entire feature and replace it with a more detailed description, derived by decompressing the upgrade information. Again, at that point, the boundary of the feature is known to the client. The upgrade defines how the hole is to be filled. The process may be performed recursively by further simplifying the results of previous simplification steps. Why not allow each edge collapse to be a simplification step? As will be discussed later, this approach offers flexibility, but does not produce the best compression ratios (no economy of scale). decompress ?

11 Evaluating progressive transmission
Siggraph'98 Course21: 3D Geometry Compression Evaluating progressive transmission Time to first picture Midway accuracy Error for the received model Better Time to full accuracy Bits transmitted (or time) Jarek Rossignac 5

12 Non-progressive transmission
Siggraph'98 Course21: 3D Geometry Compression Non-progressive transmission approximation error bits (time) nothing complete model Jarek Rossignac 6

13 Two-step approach: Crude-Full
Siggraph'98 Course21: 3D Geometry Compression Two-step approach: Crude-Full single resolution model crude model complete model approximation error bits (time) nothing Jarek Rossignac 7

14 Multiple levels of accuracy
Siggraph'98 Course21: 3D Geometry Compression Multiple levels of accuracy single resolution model two-shot approach crude intermediate approximation error Longer wait for complete model complete bits (time) nothing Jarek Rossignac 8

15 Optimal, continuous refinement
Siggraph'98 Course21: 3D Geometry Compression Optimal, continuous refinement approximation error Want smallest area? bits (time) crude model final model Jarek Rossignac 9

16 Simplification, Compression & Upgrades
Reduce the number of triangles that represent a 3D “feature” Compression Reduce the number of bits needed to represent the “feature” Upgrade Information used to recover an original feature from its simplification Progressive representation Coarse model and a tree of recursive upgrades B C A D E

17 Progressive coding Compressed Progressive Meshes
Siggraph'98 Course21: 3D Geometry Compression Progressive coding Compressed Progressive Meshes Jarek Rossignac (with Renato Pajarola) GVU Center and College of Computing Georgia Tech, Atlanta Jarek Rossignac 1

18 Problem of compressing updates
Location where does a refinement occur Incidence how to update the mesh connectivity Geometry new coordinates update = increases the number of vertices and triangles in the mesh location incidence compressed format

19 Progressive meshes (Hoppe96)
Simple simplification and refinement operators edge collapse operation (ecol) vertex split operation (vsplit) defined by split-vertex and cut-edges Series of meshes defined by crude base mesh M0 and sequence of vsplits cut-edges ecol vsplit split-vertex M0 M1 Mmax-1 Mmax ... vsplit

20 Vertex splits (Hoppe) The inverse of an edge collapse
Insert two triangles Cut mesh at 2 adjacent edges Replicates 2 edges and 1 vertex Move new vertex to create gap Fill the crack with 2 new triangles Specify position of new vertex Encode relative displacement (arrow) Incidence cost: 8–13 b/T Identify a vertex (10<log|V|<20) bits Identify 2 incident edges (6 bits?) Hope proposed to invert the sequence of edge collapses and store them as a sequence of upgrades. Each upgrade insets a vertex and two triangles. To define where the vertex and the triangles are to be inserted, Hoppe needs to specify two adjacent edges in the current stage of the mesh. These edges, marked in red, are then split, opening a four-sided gap (bleu)that will be filled with a two triangles. The specification of these two edges may be coded using the ID of their common vertex and the IDs that distinguish any two amongst the many edges incident upon that vertex. The cost per split (per 2 triangles) is: Index to vertex: log(V) bits Index to 2 adjacent edges:2 log(max valence) bits In practice,for small meshes, this amounts to less than 20 bits per split (or 10 bits per triangle).

21 CPM (Pajarola&Rossignac 99)
Siggraph'98 Course21: 3D Geometry Compression CPM (Pajarola&Rossignac 99) Sequences of vertex splits (as in Hoppe’s PM) Grouped in batches Example not marked marked mesh incidence updates Jarek Rossignac 2

22 CPM encoding of connectivity
Siggraph'98 Course21: 3D Geometry Compression CPM encoding of connectivity Avoid log(V) cost by marking all vertices 1 bit per vertex in batch 30% to 50% vertices are split in each batch Better encoding of cut-edges log(6)+log(2) Amortized total connectivity cost 3.6T bits 1.5 b/T for marking vertices (amortized) 2.1 b/T for identifying cut edges Pajarola&Rossignac, Compressed Progressive Meshes, IEEE TVCG’99 Mi Mi+1 {vsplits} {vsplits} c j d f k h 2 1 Jarek Rossignac 3

23 CPM butterfly prediction
Predict geometry based on previous LOD approximation using weighted sum of incident vertices and subset of topology 2 neighbors idea based on Butterfly interpolation of Zorin and Schroeder

24 CPM prediction error encoding
Estimate edge collapse predict original vertices A’, B’ predicted edge collapse vector v’ prediction error e = v’ - v CPM collapses edge to its mid-point Encode prediction error Laplace distribution L(x) based on prediction error variance of current refinement batch create corresponding Huffman encoding for e B’ A B A’ v v’

25 Total amortized cost per triangle
Siggraph'98 Course21: 3D Geometry Compression Total amortized cost per triangle Bunny 9666 triangles, 10 LODs, 11.3T bits (3.6 connectivity geometry) Horse 21622 triangles, 9 LODs, 10.6T bits ( ) Skull 21904 triangles, 7 LODs, 10.9T bits ( ) Fohe 7240 triangles, 7 LODs, 13.7T bits ( ) Fandisk 12950 triangles, 9 LODs, 11.4T bits ( ) Jarek Rossignac 4

26 Comparison with TS and PFS
Siggraph'98 Course21: 3D Geometry Compression Comparison with TS and PFS 2832 vertices PFS 254% Estimated at 18T bits, fewer LODs approximation error TS [Taubin, Rossignac 98] PFS [Taubin et al. 98] CPM [Pajarola, Rossignac 99] bits crude initial model TS 100% CPM 125% Jarek Rossignac 5

27 Error protection for CPM
G. Al-Regib, Y. Altunbasak and J. Rossignac. “An Unequal Error Protection Method for Progressively Compressed 3-D Meshes”, Int. Conf. on Acoustics, Speech and Signal Processing (ICASSP). May 2002. Add error correction channel bits to increase the chances of recovering from transmission errors Adjust level of error protection to the importance of the refinement batch (optimization)

28 Progressive Transmission of Tetrahedral Meshes Implant-Spray
Siggraph'98 Course21: 3D Geometry Compression Progressive Transmission of Tetrahedral Meshes Implant-Spray Jarek Rossignac (with Renato Pajarola and Andrzej Szymczak) GVU Center and College of Computing Georgia Tech, Atlanta Jarek Rossignac 1

29 Progressive Tetrahedral Meshes
Siggraph'98 Course21: 3D Geometry Compression Progressive Tetrahedral Meshes ImplantSpray: Pajarola&Rossignac&Szymczak, IEEE VIS’99 Vertex split refinement operator Extension of vertex split for triangle meshes [Staadt&Gross98] Defined by split-vertex and set of incident cut-faces Series of tetrahedral meshes defined by sequence of vertex-splits Send crude model and batches of refinement updates Mark split-vertices Encode cut-faces split-vertex ecol vsplit cut-faces Jarek Rossignac 4

30 Identifying cut-faces for the split-vertex
Siggraph'98 Course21: 3D Geometry Compression Identifying cut-faces for the split-vertex A vertex has roughly 12 incident edges 30 incident triangular faces 20 incident tetrahedra A split-vertex has about 6 cut-faces We must select about 6 triangular faces out of 30 Hull: The boundary of the star of the split-vertex A manifold surface Skirt: Cut-faces connected surface around split-vertex The skirt boundary a cycle of k edges in the hull closed path on planar triangle graph cut-faces split-vertex hull skirt Jarek Rossignac 5

31 Results of Progressive Tetrahedral Meshes
Siggraph'98 Course21: 3D Geometry Compression Results of Progressive Tetrahedral Meshes Turbine blades blades and exterior as tetrahedral mesh tetrahedra 49 LODs 5.02 bits per tetrahedron connectivity information no geometry data Compare to indexed face list: 4x17 bits per tetrahedron Jarek Rossignac 6


Download ppt "Progressive coding Motivation and goodness measures"

Similar presentations


Ads by Google