24
04 MPEG-4 , 1 Jarek Rossignac, CoC & GVU Center, Georgia Tech SM, June 2002 3D Compression Jarek Rossignac GVU Center and College of Computing Georgia Tech, Atlanta http:// www.gvu.gatech.edu/~jarek

04 MPEG-4, 1 Jarek Rossignac, CoC & GVU Center, Georgia Tech SM, June 2002 3D Compression Jarek Rossignac GVU Center and College of Computing Georgia Tech,

Embed Size (px)

Citation preview

Page 1: 04 MPEG-4, 1 Jarek Rossignac, CoC & GVU Center, Georgia Tech SM, June 2002 3D Compression Jarek Rossignac GVU Center and College of Computing Georgia Tech,

04 MPEG-4 , 1Jarek Rossignac, CoC & GVU Center, Georgia Tech SM, June 2002

3D Compression

Jarek RossignacGVU Center and College of

Computing

Georgia Tech, Atlanta

http://www.gvu.gatech.edu/~jarek

Page 2: 04 MPEG-4, 1 Jarek Rossignac, CoC & GVU Center, Georgia Tech SM, June 2002 3D Compression Jarek Rossignac GVU Center and College of Computing Georgia Tech,

04 MPEG-4 , 2Jarek Rossignac, CoC & GVU Center, Georgia Tech SM, June 2002

• Definition

– Compact coding of 3D representations

– Efficient compression/decompression algorithms

• Issues– Domain

– Accuracy

– Ratio

– Codec performance

What is 3D Geometry Compression?

Binary format

Binary format

Compress Decompress

Page 3: 04 MPEG-4, 1 Jarek Rossignac, CoC & GVU Center, Georgia Tech SM, June 2002 3D Compression Jarek Rossignac GVU Center and College of Computing Georgia Tech,

04 MPEG-4 , 3Jarek Rossignac, CoC & GVU Center, Georgia Tech SM, June 2002

The compression problem

• Given the boundary of a feature (triangle mesh), encode its interior– Location (coordinates) specifying where the interior vertices are

– Triangle/vertex incidence, defining how the surface interpolates the pointsvertex locationincidenceBoundary?

3 5 1 x y z2 3 4 x y z1 2 3 x y zvertex 1

vertex 2

vertex 3

Triangle 2

Triangle 1

Triangle 3

Previously decoded for a lower-resolution model

Page 4: 04 MPEG-4, 1 Jarek Rossignac, CoC & GVU Center, Georgia Tech SM, June 2002 3D Compression Jarek Rossignac GVU Center and College of Computing Georgia Tech,

04 MPEG-4 , 4Jarek Rossignac, CoC & GVU Center, Georgia Tech SM, June 2002

What to decode first?

geometry incidence

geometryincidence

Could estimate incidence from geometry (Delaunay, encode only edge flips)

Could estimate geometry from incidence (relaxation, encode corrective vectors)

Could estimate each vertex from previous vertices and from partial incidence

?

? ?

Page 5: 04 MPEG-4, 1 Jarek Rossignac, CoC & GVU Center, Georgia Tech SM, June 2002 3D Compression Jarek Rossignac GVU Center and College of Computing Georgia Tech,

04 MPEG-4 , 5Jarek Rossignac, CoC & GVU Center, Georgia Tech SM, June 2002

Must decode connectivity first

Cannot use geometry to estimate connectivity, because connectivity is used to predict geometry (see vertex-data compression section).

Must develop connectivity compression methods independent of the vertex locations.

connectivity

connectivitygeometry

geometry

corrective

Page 6: 04 MPEG-4, 1 Jarek Rossignac, CoC & GVU Center, Georgia Tech SM, June 2002 3D Compression Jarek Rossignac GVU Center and College of Computing Georgia Tech,

04 MPEG-4 , 6Jarek Rossignac, CoC & GVU Center, Georgia Tech SM, June 2002

36-to-1 compression ratio

x y z x y z x y zx y z x y z x y zx y z x y z x y z

vertex 1 vertex 2 vertex 3

Triangle 2

Triangle 1

Triangle 3

Independent triangles: 576V bits (coordinates as floats 9x32T bits) Each vertex encoded ~ 6 times

x y z x y z 7x y z 10vertex 1

vertex 2

vertex 3

Strip 2

Strip 1

L

R R

Triangle Strips: 214V bits (1.1x3x4B/T + 1B/S + 1b/T)Each vertex encoded ~ twice

V and T tablesExample: V=1000, B=10, k=0 Samples+incidence storage costs: (3B+6log2V)V = (30+60)V = 98V bits

x y z cx y z cvertex 1

vertex 2

vertex 3 x y z c

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

V(3B+k) bitsV(6log2V) bits

Can be compressed to: (14+2)V = 16V bits

Page 7: 04 MPEG-4, 1 Jarek Rossignac, CoC & GVU Center, Georgia Tech SM, June 2002 3D Compression Jarek Rossignac GVU Center and College of Computing Georgia Tech,

04 MPEG-4 , 7Jarek Rossignac, CoC & GVU Center, Georgia Tech SM, June 2002

Connectivity compression: An old challenge

• Tutte: Theoretical lower bound (Tutte 62): can’t guarantee < 1.62 bits per triangle• Itai,Rodeh: Representation of graphs, Acta Informatica, 82• Turan: On the succinct representation of graphs, Discrete Applied Math, 84: 6Tb• Naor: Succinct representation of unlabeled graphs, Discrete Applied Math, 90• Keeler,Westbrook: Encoding planar graphs, Discrete Applied Math, 93: 2.3Tb• Deering: Geometry Compression, Siggraph, 95• Denny,Sohler: Encode 2D triangulation as permutation of points, CCCG, 97: 0Tb

Topological Surgery Taubin&Rossignac

Edgebreaker Rossignac&team

Valence-based Gotsman&team

Cutborder Gumhold&Strasser

Spirale Reversi Snoeyink&Isenburg

Page 8: 04 MPEG-4, 1 Jarek Rossignac, CoC & GVU Center, Georgia Tech SM, June 2002 3D Compression Jarek Rossignac GVU Center and College of Computing Georgia Tech,

04 MPEG-4 , 8Jarek Rossignac, CoC & GVU Center, Georgia Tech SM, June 2002

A simple and elegant solution (?)

Connecting vertices into a single spiral (Hamiltonian walk) defines the left and the right boundaries (walls) of a long corridor.

Given the left and right boundaries of a triangle strip (corridor), we need T (left/right) bits to encode its triangulation. ex: LRRLLRLRR

L

R R

Store vertices in their order along the wall. (Can use former vertices to predict location of new ones.)Encode connectivity using only 1 (left/right) bit per triangle !

L L L

RRR

Page 9: 04 MPEG-4, 1 Jarek Rossignac, CoC & GVU Center, Georgia Tech SM, June 2002 3D Compression Jarek Rossignac GVU Center and College of Computing Georgia Tech,

04 MPEG-4 , 9Jarek Rossignac, CoC & GVU Center, Georgia Tech SM, June 2002

But..but..wait a minute! It doesn’t work!

The corridor may have warts

R

?

Warts are hard to avoid

?

The spiral may bifurcate

The corridor may bifurcate

L

R

Page 10: 04 MPEG-4, 1 Jarek Rossignac, CoC & GVU Center, Georgia Tech SM, June 2002 3D Compression Jarek Rossignac GVU Center and College of Computing Georgia Tech,

04 MPEG-4 , 10Jarek Rossignac, CoC & GVU Center, Georgia Tech SM, June 2002

3Tb encoding of VST and TST suffices

2

3

4

5

6

2

3

4 5

6

7

7

7

7

8 78

9

1

1

2

3

4

5

6

7

12

12 11

11

10

10

8

9

+

Guaranteed 3Tb connectivity

(2Tb T-tree + 2Vb V-tree)

Page 11: 04 MPEG-4, 1 Jarek Rossignac, CoC & GVU Center, Georgia Tech SM, June 2002 3D Compression Jarek Rossignac GVU Center and College of Computing Georgia Tech,

04 MPEG-4 , 11Jarek Rossignac, CoC & GVU Center, Georgia Tech SM, June 2002

3T bit encoding details

The triangle spanning tree may be encoded using 2T bits: • has-left-child • has-right-child

100110

1101

10 01

0110

11

0000

011010

1001

11

00

11

0000

10

10

11 10

000011

00

01

A vertex spanning tree may be encoded using 2V bits (= 1T bits): • has-children • has-right-sibling

Page 12: 04 MPEG-4, 1 Jarek Rossignac, CoC & GVU Center, Georgia Tech SM, June 2002 3D Compression Jarek Rossignac GVU Center and College of Computing Georgia Tech,

04 MPEG-4 , 12Jarek Rossignac, CoC & GVU Center, Georgia Tech SM, June 2002

6T bits (Turan 84)

Turan: On the succinct representation of graphs, Discrete Applied Math, 84

• “Succinct representation of graphs”– Discrete Applied Mathematics

• Incidence = planar graph

• Decompose graph into VST and TST

• Total cost 6T bits (12v-24) guaranteed– Compare to my 3T bit code for both trees and to 1.83T bits of Edgebreaker

Page 13: 04 MPEG-4, 1 Jarek Rossignac, CoC & GVU Center, Georgia Tech SM, June 2002 3D Compression Jarek Rossignac GVU Center and College of Computing Georgia Tech,

04 MPEG-4 , 13Jarek Rossignac, CoC & GVU Center, Georgia Tech SM, June 2002

Topological Surgery (TS)

Taubin-Rossignac

IBM’95, VRML, MPEG-4

“Geometric compression through Topological Surgery,” G. Taubin and J. Rossignac, ACM Transactions on Graphics, vol. 17, no. 2, pp. 84–115, 1998.

“Geometry coding and VRML,” G. Taubin, W. Horn, F. Lazarus, and J. Rossignac, Proceeding of the IEEE, vol. 96, no. 6, pp. 1228–1243, June 1998.

Page 14: 04 MPEG-4, 1 Jarek Rossignac, CoC & GVU Center, Georgia Tech SM, June 2002 3D Compression Jarek Rossignac GVU Center and College of Computing Georgia Tech,

04 MPEG-4 , 14Jarek Rossignac, CoC & GVU Center, Georgia Tech SM, June 2002

Run-length encoding of TST and VST

Most nodes have a single child. - Group them into runs - Store structure of each tree (2 bits per run) - Store left/right bit per triangle

2

5

3

45

Page 15: 04 MPEG-4, 1 Jarek Rossignac, CoC & GVU Center, Georgia Tech SM, June 2002 3D Compression Jarek Rossignac GVU Center and College of Computing Georgia Tech,

04 MPEG-4 , 15Jarek Rossignac, CoC & GVU Center, Georgia Tech SM, June 2002

Run-length codes detail

2

10

13 1

2

+ 1 bit per run (leaf?)

+ 1 bit per triangle (Left/Right)

6

11

1

2

+ 1 bit per run (leaf?)

+ 1 bit per run (last child?)

+

Page 16: 04 MPEG-4, 1 Jarek Rossignac, CoC & GVU Center, Georgia Tech SM, June 2002 3D Compression Jarek Rossignac GVU Center and College of Computing Georgia Tech,

04 MPEG-4 , 16Jarek Rossignac, CoC & GVU Center, Georgia Tech SM, June 2002

TS example

Page 17: 04 MPEG-4, 1 Jarek Rossignac, CoC & GVU Center, Georgia Tech SM, June 2002 3D Compression Jarek Rossignac GVU Center and College of Computing Georgia Tech,

04 MPEG-4 , 17Jarek Rossignac, CoC & GVU Center, Georgia Tech SM, June 2002

Spiral is better than other traversal orders

Page 18: 04 MPEG-4, 1 Jarek Rossignac, CoC & GVU Center, Georgia Tech SM, June 2002 3D Compression Jarek Rossignac GVU Center and College of Computing Georgia Tech,

04 MPEG-4 , 18Jarek Rossignac, CoC & GVU Center, Georgia Tech SM, June 2002

Topological Surgery Compression

• Cut mesh by spiraling vertex-tree– Few runs in practice

• Encode vertex tree– 1 Integer/run: Length

– 2 bits/run: structure

• Encode triangle tree– 1 Integer/run: Length

– 1 bit/run (leaf?)

– 1 bit/triangle (left?)

• Label vertices as visited in vertex tree– Need not send vertex id (saves log(v) bits)

– Encode corrections to predicted locations (discussed later)

Page 19: 04 MPEG-4, 1 Jarek Rossignac, CoC & GVU Center, Georgia Tech SM, June 2002 3D Compression Jarek Rossignac GVU Center and College of Computing Georgia Tech,

04 MPEG-4 , 19Jarek Rossignac, CoC & GVU Center, Georgia Tech SM, June 2002

Topological Surgery decompression

1

12

11

10

2

3

4

5

6

2

3

4 5

6

7

7

7

7

8 78

9

1

12

11

10

2

3

4

5

6

7 8

9

Page 20: 04 MPEG-4, 1 Jarek Rossignac, CoC & GVU Center, Georgia Tech SM, June 2002 3D Compression Jarek Rossignac GVU Center and College of Computing Georgia Tech,

04 MPEG-4 , 20Jarek Rossignac, CoC & GVU Center, Georgia Tech SM, June 2002

Results TS (MPEG-4) vs VRML

Page 21: 04 MPEG-4, 1 Jarek Rossignac, CoC & GVU Center, Georgia Tech SM, June 2002 3D Compression Jarek Rossignac GVU Center and College of Computing Georgia Tech,

04 MPEG-4 , 21Jarek Rossignac, CoC & GVU Center, Georgia Tech SM, June 2002

Topological Surgery: Results and Impact

• Results: – Compresses to less than 10 bits per triangle

• Connectivity: about 2.0 T bits (increases for smaller meshes)• Geometry: 6 bits per coordinate (decreases with tessellation&quantization)

• Publications and impact of Topological Surgery:– Interfaced to VRML 2.0 offered by IBM (1995)– Core of the MPEG-4 standard for 3D Compression– Geometric compression through topological surgery, Taubin&Rossignac

• ACM Transactions on Graphics, 17(2):84-116, April 1998 (Best Paper Award)– Geometry coding and VRML, Taubin, Horn, Lazarus, & Rossignac

• Proceedings of the IEEE, 96(6):1228-1243, June 1998– Inspired several approaches

• Touma,Gotsman: Triangle Mesh Compression, GI, 98 • Gumbold,Straßer: Realtime Compression of Triangle Mesh Connectivity, Siggraph, 98• Taubin,Gueziec,Horn,Lazarus: Progressive forest split compression, Siggraph, 98

Page 22: 04 MPEG-4, 1 Jarek Rossignac, CoC & GVU Center, Georgia Tech SM, June 2002 3D Compression Jarek Rossignac GVU Center and College of Computing Georgia Tech,

04 MPEG-4 , 22Jarek Rossignac, CoC & GVU Center, Georgia Tech SM, June 2002

TS spiral joins topological layers

Page 23: 04 MPEG-4, 1 Jarek Rossignac, CoC & GVU Center, Georgia Tech SM, June 2002 3D Compression Jarek Rossignac GVU Center and College of Computing Georgia Tech,

04 MPEG-4 , 23Jarek Rossignac, CoC & GVU Center, Georgia Tech SM, June 2002

Inserting alternate layers (Bajaj et al.)

C. L. Bajaj, V. Pascucci, and G. Zhuang, “Single resolution compression of arbitrary triangular meshes with properties,” Computational Geometry: Theory and Applications, vol. 14, pp. 167–186, 1999.

Page 24: 04 MPEG-4, 1 Jarek Rossignac, CoC & GVU Center, Georgia Tech SM, June 2002 3D Compression Jarek Rossignac GVU Center and College of Computing Georgia Tech,

04 MPEG-4 , 24Jarek Rossignac, CoC & GVU Center, Georgia Tech SM, June 2002

Summary

• Topological Surgery compression cuts the mesh along a spiraling VTS and encodes the VTS and its dual TST using RLE

• It encodes vertices in the VST order using entropy codes for residues over predictors that are linear combinations of ancestors in the VST

• It has been improved in various ways and forms the core of the MPEG-4 3D compression standard

• It encodes most meshes that have more than 300 vertices with less than 20 bits per vertex.

• It does not provide a guaranteed linear cost per vertex and requires between 20 and 100 bits per vertex for meshes of less than 100 vertices

• The implementation is somewhat complex but efficient