Geometric Compression II - PowerPoint PPT Presentation

1 / 41
About This Presentation
Title:

Geometric Compression II

Description:

2) Triangle Tree ... No specification how to match boundary edges at branching triangle ... Triangle Spanning tree ... – PowerPoint PPT presentation

Number of Views:38
Avg rating:3.0/5.0
Slides: 42
Provided by: jeo3
Category:

less

Transcript and Presenter's Notes

Title: Geometric Compression II


1
Geometric Compression II
  • Comp258
  • Student Lecture
  • Ja-Yeon Jeong

2
The problem
  • Polygonal mesh
  • Connectivity Geometry
  • Properties color, normal, and texture
  • Representation
  • Compact storage
  • Fast transmission over the network

3
Representing triangle meshes
  • Two tables
  • - geometry
  • - connectivity
  • In uncompressed form
  • - T 2V
  • - 6 V log (V) bits
  • Connectivity dominates storage space

4
Topological Surgery
  • Taubin Rossignac 98
  • Single resolution
  • Triangular Meshes (Polyhedral Mesh)
  • Part of MPEG-4 standard
  • Goal Reduction of the redundancy inherent in
    triangular meshes in 3D

5
Topological Surgery
  • Lossless manifold connectivity encoding
  • faces, connected components, orientation
  • Lossy geometry and property encoding
  • coordinates, color, normal
  • No repetition of data

6
Examples of polygonal meshes
2 connected components
Non- Manifold mesh
Orientable Mesh
Mesh with Boundary
7
2 ways of Peeling an orange
Orange Simple Mesh
8
Lets think for a while.
  • What we need and how to encode connectivity?
  • Triangle Strip Spiraling Wall
  • Triangle Tree

9
1) Triangle Strip Spiraling Wall
  • Only need to indicate left/right boundary
  • Store vertices along the wall
  • Encode the connectivity using 1 bit/triangle
  • Does this really work?

10
Reconstruction problem with 1)
  • Triangle strip may
  • have warts (A)
  • Spiraling Wall may
  • have bifurcation(B)
  • have warts(C)

11
2) Triangle Tree
  • Given 20-gon, build a triangle spanning tree and
    encode left/right and leaf/branch per triangle
  • Label the vertex in traversal order
  • Does it really work?

12
Reconstruction problem with 2)
  • No specification how to match boundary edges at
    branching triangle

13
Approach to connectivity encoding
  • We need both Vertex Tree Triangle Tree

14
Definitions
  • Vertex spanning tree
  • Cut edges
  • Vertex runs Nodes between the branching nodes
    and the leaf nodes
  • Branching node
  • Triangle Spanning tree
  • Dual graph of the mesh resulting from cutting
    thru the edges of the vertex spanning tree
  • Marching edges
  • Triangle runs
  • Branching triangle

15
Simple mesh - representation
16
Vertex tree
  • composed of runs
  • traversal order of the tree
  • run order
  • first , last node of each run
  • represent each run as a record in the table
    (last bit, run length, leaf bit)

17
Vertex Tree Encoding
Last run bit last run that starts at the same
branching node Run length number of edges in
the run Leaf bit the end of the run in leaf or
branching node
18
Vertex Tree Decoding
  • Look up table of 2V-V references to the vertex
    table
  • Determine how to glue the boundary edges of the
    resulting cut mesh

19
Triangle Tree
  • also composed of runs
  • traversal order
  • depth first traversal
  • run order
  • Left most braches are traversed first
  • represent each run as a record in two tables
    (run length, leaf bit) Marching pattern
  • simple polygon triangulate -gt encoding

20
Triangle Tree Encoding
  • Choose a leaf as the root triangle
  • At regular advance
  • At branch push right and opposite vertices and
    set right as opposite and continue with the
    triangle incident to left edge
  • At leaf finish if the stack is empty, continue
    otherwise

21
Triangle Tree Encoding
  • 0 leaf
  • 1 move right vertex
  • 2 move left vertex
  • 3 branch
  • gt 2bits/triangle

22
Triangle Tree Encoding
  • Each run ends at either branch or leaf
  • Triangle run(run length, leaf bit) Marching bit
  • 121223)(5,0)01011
  • 3)(1,0)
  • 10)(2,1)0
  • 0)(1,1)
  • 1210)(3,1)010

23
Compression Algorithm
  • constructing vertex spanning tree
  • tree construction heuristics
  • Minimizing the number of runs
  • encoding the vertex tree
  • compressing the vertex positions
  • entropy encoding using the vertex tree
  • encoding the triangle tree
  • computing and compressing the marching pattern
  • entropy encoding

24
Decompression Algorithm
  • Reconstructing the table of vertex positions
  • vertex tree decoding to construct the bounding
    loop (lookup table pointing to the vertex
    position table) determine how to stitch the
    boundary edges of the simple polygon
  • reconstructing and linking of triangle strip

25
Non-simple manifold mesh
  • Boundary edge or number of holes gt 0
  • Face forest
  • Spanning the dual graph of the mesh
  • Each tree of the face forest one connected
    component
  • Vertex graph
  • The edges not in face forest
  • vertex graph contains loops (not tree anymore)
  • Vertex tree
  • Spanning tree in the vertex graph
  • Jump edge edge that connect a leaf node with a
    previously visited node
  • Extended vertex tree

26
Torus
A torus with 9 vertices and 18 faces
27
Torus
28
Torus
29
Vertex graph of torus
30
Extended vertex tree
31
Boundary loop
32
Other cases
  • Mesh with boundary
  • Include all but one of the boundary edges in the
    vertex spanning tree
  • Non-manifold mesh
  • Convert to manifold by cutting through singular
    vertices and edges
  • Keep the geometry
  • Encode the additional stitching information

33
Results
  • Total 1 2 bytes per triangle
  • Connectivity about 2.2 bits/triangle
  • Geometry 4 16 bits/coordinate

34
Performance example
35
Performance example
36
Progressive Forest Split Compression
  • Taubin et al 98
  • Low resolution polygonal model(Base mesh)
    Sequence of refinement operation(forest split
    operations)
  • Encoding/Compress base mesh
  • Encode/Compress forest split operations

37
PFS
  • To double the size of a mesh with V vertices
  • PM O(VlogV)
  • PFS O(V)
  • Introduce simplification algorithms to convert a
    single-resolution triangular mesh to PSF format
  • Extension to polygonal faces, properties but not
    to non-manifold and topology changing refinement

38
PFS forest split operation
  • Representation
  • A forest
  • Sequence of simple polygons
  • Sequence of vertex displacement
  • Operation
  • Cutting the mesh thru the forest edges
  • Triangulating each tree loop according to the
    corresponding the simple polygon
  • Displacing the new vertices to their new positions

39
PFS
40
PFS - Example
A triangular mesh with forest edges marked in
red B resulting mesh after cutting and
splitting vertices C- simple polygons to be
stitched to the boundary loops D refined mesh
41
References
  • Geometric Compression Through Topological Surgery
    Taubin Rossignac 1998
  • 3D Geometry Compression and Progressive
    Transmission Taubin 1999
  • Progressive Forest Split CompressionTaubin 1998
Write a Comment
User Comments (0)
About PowerShow.com