3D Mesh Compression in Open3DGC Khaled MAMMOU

OPPORTUNITIES FOR COMPRESSION V7

‒ Indexed Face Set ‒ Geometry: positions ‒ Connectivity: list of triangles Requires 192 bits per vertex!

‒ Redundancy ‒ ‒ ‒ ‒

Indexes repeated multiple times No need to preserve triangles and vertices order No need for 32-bit precision for positions/attributes Neighbour vertices exhibit high geometry correlations

Lossy geometry compression and lossless connectivity encoding reduce the stream size to 10-20 bpv

Geometry

Connectivity

X1, Y1, Z1 X2, Y2, Z2 X3, Y3, Z3 X4, Y4, Z4 X5, Y5, Z5 X6, Y6, Z6 X7, Y7, Z7

1, 3, 7 1, 7, 6 1, 6, 2 1, 2, 4 1, 4, 5

Reordered geometry

Reordered Connectivity

X3, Y3, Z3 X7, Y7, Z7 X6, Y6, Z6 X2, Y2, Z2 1 X4,2 Y4, Z4 X5,3 Y5, Z5 X1,4 Y1, Z1

7, 5, 6 7, 4, 5 7, 3, 4 7, 1, 2 7, 2, 3

5 6 7

V3 V6

V5

V1

V4

V2

ENCODER OVERVIEW

‒ Algorithm based on TFAN codec [Mammou’09] ‒ Triangular meshes with attributes ‒ Arbitrary topologies (e.g., manifold or not, open/closed, oriented or not, arbitrary genus, holes…)

‒ MPEG-SC3DMC (Scalable Complexity 3D Mesh Coding) published in 2010

Encoder Connectivity

TFAN-based Connectivity Encoding Arithmetic or ASCII Encoding

Geometry

Uniform Quantization

Compressed stream

Prediction

[Mammou’09] K. Mammou, T. Zaharia, F. Prêteux, “TFAN: A low complexity 3D mesh compression algorithm” Computer Animation and Virtual Worlds, Vol. 20(2-3), pp. 343–354, 2009

ENCODER OVERVIEW

‒ Algorithm based on TFAN codec [Mammou’09] ‒ Triangular meshes with attributes ‒ Arbitrary topologies (e.g., manifold or not, open, closed, holes…)

‒ MPEG-SC3DMC (Scalable Complexity 3D Mesh Coding) published in 2010

Encoder Connectivity

TFAN-based Connectivity Encoding Arithmetic or ASCII Encoding

Geometry

Uniform Quantization

Compressed stream

Prediction

[Mammou’09] K. Mammou, T. Zaharia, F. Prêteux, “TFAN: A low complexity 3D mesh compression algorithm” Computer Animation and Virtual Worlds, Vol. 20(2-3), pp. 343–354, 2009

ENCODER OVERVIEW ‒ Uniform quantization ‒ Map real numbers to integers ‒ Maximum quantization error

Uniform quantization reduces the number of bits per vertex for positions from 96 bpv to 24 bpv

q=4

q=6

q=8

q=10

Original

ENCODER OVERVIEW

‒ Algorithm based on TFAN codec [Mammou’09] ‒ Triangular meshes with attributes ‒ Arbitrary topologies (e.g., manifold or not, open, closed, holes…)

‒ MPEG-SC3DMC (Scalable Complexity 3D Mesh Coding) published in 2010

Encoder Connectivity

TFAN-based Connectivity Encoding Arithmetic or ASCII Encoding

Geometry

Uniform Quantization

Compressed stream

Prediction

[Mammou’09] K. Mammou, T. Zaharia, F. Prêteux, “TFAN: A low complexity 3D mesh compression algorithm” Computer Animation and Virtual Worlds, Vol. 20(2-3), pp. 343–354, 2009

ENCODER OVERVIEW ‒ Geometry prediction ‒ Exploit connectivity information ‒ Differential and “parallelogram” prediction

ENCODER OVERVIEW ‒ Geometry prediction ‒ Exploit connectivity information ‒ Differential and “parallelogram” prediction ‒ Adaptively choose the best predictor

Geometry prediction reduces the number of bits per vertex for positions from 24 bpv to 10.3 bpv

ENCODER OVERVIEW

‒ Algorithm based on TFAN codec [Mammou’09] ‒ Triangular meshes with attributes ‒ Arbitrary topologies (e.g., manifold or not, open, closed, holes…)

‒ MPEG-SC3DMC (Scalable Complexity 3D Mesh Coding) published in 2010

Encoder Connectivity

TFAN-based Connectivity Encoding Arithmetic or ASCII Encoding

Geometry

Uniform Quantization

Compressed stream

Prediction

[Mammou’09] K. Mammou, T. Zaharia, F. Prêteux, “TFAN: A low complexity 3D mesh compression algorithm” Computer Animation and Virtual Worlds, Vol. 20(2-3), pp. 343–354, 2009

ENCODER OVERVIEW ‒ Triangle FAN ‒ ‒ ‒ ‒

Each two successive triangles share a common edge All triangles share a common vertex (i.e., center of the TFAN) All the triangles have the same orientation Described by enumerating the vertices in their traversal order

Implicitly encodes adjacency information

(1,3,7,6,2,4,5) 7 indices instead of 15 for IFS

ENCODER OVERVIEW ‒ TFAN-based connectivity compression ‒ Decompose the mesh into a set of TFANs ‒ Traverse the vertices from neighbour to neighbour ‒ Rename vertices according to the traversal order ‒ For each vertex, group its incident non-visited triangles into TFANs

V5 V’4

V7 V’7 V3 V’10

V8 V’9

V6

V4

V’2

V’3

V’6 V9

V10 V’8

V2 V’5

V1 V’1

ENCODER OVERVIEW ‒ TFAN-based connectivity compression ‒ Decompose the mesh into a set of TFANs ‒ Traverse the vertices from neighbour to neighbour ‒ Rename vertices according to the traversal order ‒ For each vertex, group its incident non-visited triangles into TFANs

‒ Encode TFANs ‒ Distinguish 10 topological configurations ‒ Use local indices instead of absolute ones

ENCODER OVERVIEW ‒ TFAN-based connectivity compression ‒ Decompose the mesh into a set of TFANs ‒ Traverse the vertices from neighbour to neighbour ‒ Rename vertices according to the traversal order ‒ For each vertex, group its incident non-visited triangles into TFANs

‒ Encode TFANs ‒ Distinguish 10 topological configurations ‒ Use local indices instead of absolute ones

‒ Entropy encoding ‒ Exploit statistical redundancy 100%

TFAN-based connectivity compression reduces the number of bits per vertex for connectivity from 96 bpv to 3.1 bpv

Frequency

80% 60% 40% 20% 0% 1

2

3

4

5

6

TFAN configurations

7

8

9

10

CONNECTIVITY ENCODING EXAMPLE Vertex re-ordering

Bitstream 10

Neighbors list

CONNECTIVITY ENCODING EXAMPLE Vertex re-ordering

Neighbors list

V1 → V1

{}

C1

C6

C2

C7

C3

C8

C4

C9

C5

C10

Bitstream 10 1,(7,1)

CONNECTIVITY ENCODING EXAMPLE Vertex re-ordering

Neighbors list

V1 → V1 V6 → V2

{V4}

C1

C6

C2

C7

C3

C8

C4

C9

C5

C10

V4 → V3

Bitstream 10 1,(7,1) 2,(4,1)

CONNECTIVITY ENCODING EXAMPLE Vertex re-ordering

Neighbors list

V1 → V1 V6 → V2

{V4, V5}

C1

C6

C2

C7

C3

C8

C4

C9

C5

C10

V4 → V3

V5 → V4

Bitstream 10 1,(7,1) 2,(4,1),(7,2)

CONNECTIVITY ENCODING EXAMPLE Vertex re-ordering

Neighbors list

V1 → V1 V6 → V2

{V5, V2, V9, V7}

C1

C6

C2

C7

C3

C8

C4

C9

C5

C10

V4 → V3

V5 → V4 V2 → V5

V9 → V6 V7 → V7

Bitstream 10 1,(7,1) 2,(4,1),(7,2) 0

CONNECTIVITY ENCODING EXAMPLE Vertex re-ordering

Neighbors list

V1 → V1 V6 → V2

{}

C1

C6

C2

C7

C3

C8

C4

C9

C5

C10

V4 → V3

V5 → V4 V2 → V5

V9 → V6 V7 → V7

Bitstream 10 1,(7,1) 2,(4,1),(7,2) 0 0

CONNECTIVITY ENCODING EXAMPLE Vertex re-ordering

Neighbors list

V1 → V1 V6 → V2

{V9}

C1

C6

C2

C7

C3

C8

C4

C9

C5

C10

V4 → V3

V5 → V4 V2 → V5

V9 → V6 V7 → V7

Bitstream 10 1,(7,1) 2,(4,1),(7,2) 0 0 1,(4, 1)

CONNECTIVITY ENCODING EXAMPLE Vertex re-ordering

Neighbors list

V1 → V1 V6 → V2

{V7,V10}

C1

C6

C2

C7

C3

C8

C4

C9

C5

C10

V4 → V3

V5 → V4 V2 → V5

V9 → V6 V7 → V7 V10 → V8

Bitstream 10 1,(7,1) 2,(4,1),(7,2) 0 0 1,(4, 1) 2,(6,2)

CONNECTIVITY ENCODING EXAMPLE Vertex re-ordering V1 → V1 V6 → V2

Neighbors list

C1

C6

C2

C7

C3

C8

C4

C9

C5

C10

{V7,V10,V8}

V4 → V3

V5 → V4 V2 → V5

V9 → V6 V7 → V7 V10 → V8

Bitstream 10 1,(7,1) 2,(4,1),(7,2) 0 0 1,(4, 1)

V8 → V9

2,(6,2),(4,1)

CONNECTIVITY ENCODING EXAMPLE Vertex re-ordering

Neighbors list

V1 → V1 V6 → V2

{V3}

C1

C6

C2

C7

C3

C8

C4

C9

C5

C10

V4 → V3

V5 → V4 V2 → V5

V9 → V6 V7 → V7 V10 → V8

Bitstream 10 1,(7,1) 2,(4,1),(7,2) 0 0 1,(4, 1)

V8 → V9

V3 → V10

2,(6,2),(4,1) 0

CONNECTIVITY ENCODING EXAMPLE Vertex re-ordering

Neighbors list

V1 → V1 V6 → V2

{V8}

C1

C6

C2

C7

C3

C8

C4

C9

C5

C10

V4 → V3

V5 → V4 V2 → V5

V9 → V6 V7 → V7 V10 → V8

Bitstream 10 1,(7,1) 2,(4,1),(7,2) 0 0 1,(4, 1)

V8 → V9

V3 → V10

2,(6,2),(4,1) 0 0

CONNECTIVITY DECODING EXAMPLE Neighbors list

C1

C6

C2

C7

C3

C8

C4

C9

C5

C10

{}

Bitstream 10 1,(7,1) 2,(4,1),(7,2) 0 0 1,(4, 1) 2,(6,2),(4,1) 0 0 0 0

CONNECTIVITY DECODING EXAMPLE Neighbors list

C1

C6

C2

C7

C3

C8

C4

C9

C5

C10

{V3}

Bitstream 10 1,(7,1) 2,(4,1),(7,2) 0 0 1,(4, 1) 2,(6,2),(4,1) 0 0 0 0

CONNECTIVITY DECODING EXAMPLE Neighbors list

C1

C6

C2

C7

C3

C8

C4

C9

C5

C10

{V3, V4}

Bitstream 10 1,(7,1) 2,(4,1),(7,2) 0 0 1,(4, 1) 2,(6,2),(4,1) 0 0 0 0

CONNECTIVITY DECODING EXAMPLE Neighbors list

C1

C6

C2

C7

C3

C8

C4

C9

C5

C10

{V4}

Bitstream 10 1,(7,1) 2,(4,1),(7,2) 0 0 1,(4, 1) 2,(6,2),(4,1) 0 0 0 0

CONNECTIVITY DECODING EXAMPLE Neighbors list

C1

C6

C2

C7

C3

C8

C4

C9

C5

C10

{}

Bitstream 10 1,(7,1) 2,(4,1),(7,2) 0 0 1,(4, 1) 2,(6,2),(4,1) 0 0 0 0

CONNECTIVITY DECODING EXAMPLE Neighbors list

C1

C6

C2

C7

C3

C8

C4

C9

C5

C10

{V6}

Bitstream 10 1,(7,1) 2,(4,1),(7,2) 0 0 1,(4, 1) 2,(6,2),(4,1) 0 0 0 0

CONNECTIVITY DECODING EXAMPLE Neighbors list

C1

C6

C2

C7

C3

C8

C4

C9

C5

C10

{V7, V8}

Bitstream 10 1,(7,1) 2,(4,1),(7,2) 0 0 1,(4, 1) 2,(6,2),(4,1) 0 0 0 0

CONNECTIVITY DECODING EXAMPLE Neighbors list

C1

C6

C2

C7

C3

C8

C4

C9

C5

C10

{V7, V8, V9}

Bitstream 10 1,(7,1) 2,(4,1),(7,2) 0 0 1,(4, 1) 2,(6,2),(4,1) 0 0 0 0

CONNECTIVITY DECODING EXAMPLE Neighbors list

C1

C6

C2

C7

C3

C8

C4

C9

C5

C10

{V9}

Bitstream 10 1,(7,1) 2,(4,1),(7,2) 0 0 1,(4, 1) 2,(6,2),(4,1) 0 0 0 0

CONNECTIVITY DECODING EXAMPLE Neighbors list

C1

C6

C2

C7

C3

C8

C4

C9

C5

C10

{V10}

Bitstream 10 1,(7,1) 2,(4,1),(7,2) 0 0 1,(4, 1) 2,(6,2),(4,1) 0 0 0 0

CONNECTIVITY DECODING EXAMPLE Neighbors list

C1

C6

C2

C7

C3

C8

C4

C9

C5

C10

{}

Bitstream 10 1,(7,1) 2,(4,1),(7,2) 0 0 1,(4, 1) 2,(6,2),(4,1) 0 0 0 0

CONNECTIVITY DECODING EXAMPLE Neighbors list

C1

C6

C2

C7

C3

C8

C4

C9

C5

C10

{}

Bitstream 10 1,(7,1) 2,(4,1),(7,2) 0 0 1,(4, 1) 2,(6,2),(4,1) 0 0 0 0

3D Mesh Compression in Open3DGC - GitHub

No need to preserve triangles and vertices order. ‒ No need for 32-bit precision for positions/attributes. ‒ Neighbour vertices exhibit high geometry correlations.

2MB Sizes 47 Downloads 286 Views

Recommend Documents

Procedural Mesh Splitting - GitHub
Jun 1, 2012 - Email: [email protected]. Website: http://danni.foxesgames.com ...... part of the object hierarchy making it obligatory. Components.

The progressive mesh compression based on ...
Jul 14, 2007 - cent points of the contour, and LENedge is the average edge length of ..... nents should be considered for selection and delivery, the visibility ...

The progressive mesh compression based on ...
Jul 14, 2007 - more connected regions, and the process that decomposes a model into visually ... proach to decoding compressed mesh data is independent of the encoding .... function center(γ) is the barycenter of γ; halfX, half. Y, and halfZ ...

in All Archiving Compression Conversion File Name Systems ... - GitHub
5 hours ago. Data-UUID-MT-0.002. Fast random UUID generator … 5 hours ago math-image-67. Draw some mathematical ima… 6 hours ago. Math-PlanePath-40. Mathematical paths through th… 6 hours ago. Business-CyberSource-v0.1.1-TRIAL. Business::CyberS

image compression using deep autoencoder - GitHub
Deep Autoencoder neural network trains on a large set of images to figure out similarities .... 2.1.3 Representing and generalizing nonlinear structure in data .

Meaningful Mesh Segmentation Guided By the 3D ...
PDL Laboratory, National University of Defense Technology, P.R. China ..... Stanford Computer Graphics Laboratory, the Caltech Multi-resolution Modeling.

Meaningful Mesh Segmentation Guided By the 3D ...
ments. It has become a key ingredient in many mesh operations, such as texture map- ping [3][4], shape ..... Group and 3D Meshes Research Database by INRIA GAMMA Group. Finally, we wish to thank ... In: EuroGraphics 2006,. Tutorial, pp.

3D Mesh Segmentation Using Mean-Shifted Curvature
meaningful and pleasing results, several ingredients are introduced into the .... function definition which uses the product of kernels to filter two feature components ..... Pan, X., Ye, X. and Zhang, S.: 3D Mesh segmentation using a two-stage ...

Software Architecture OLSR Mesh Routing GUI Libqaul - GitHub
GUI Framework. Natives Window Frame- work & HTML5 interface: - Windows: Visual C++ .NetForms-Applikation. - OSX: Objective-C. - Android: Java. - Linux: QT.

Trajic: An Effective Compression System for Trajectory Data - GitHub
Apr 26, 2014 - Section 3 describes the Trajic system, starting with the predictor then continuing ... One way of incorporating time is to use the synchronised eu- clidean distance ..... will call the encoding overhead (EO(l)). Using the previously ..

Data Compression
Data Compression. Page 2. Huffman Example. ASCII. A 01000001. B 01000010. C 01000011. D 01000100. E 01000101. A 01. B 0000. C 0001. D 001. E 1 ...

Educational expansion, earnings compression and changes in ...
Mar 16, 2011 - one generation to the next (Solon 1999, Black & Devereux 2010). ... income and child's human capital, on the one hand, and changes in the ...

Educational expansion, earnings compression and changes in ...
Evidence from French cohorts, 1931-1976. Arnaud LEFRANC∗. March 16, 2011. Abstract. This paper analyzes long-term trends in intergenerational earnings mobility in ...... 1900. 1920. 1940. 1960. 1980 cohort tertiary deg. higher secondary deg. lower

Weighting Techniques in Data Compression - Signal Processing ...
new implementation, both the computational work, and the data structures and ...... we can safely use our CTW algorithm with such deep context trees, and in that ..... The decoder knows that the description is complete when all free slots at the.

CLEAR 2007 Evaluation Plan 3D Person Tracking Task - GitHub
tracking systems, detection systems, etc may still output hypotheses at a much ... Person Tracking systems will be evaluated in terms of localization precision, ...

14.06 3889137, PHY3035R Hole in Mesh. Necrosis. Adhesions.pdf ...
Page 2 of 2. 5/29/2017. https://www.accessdata.fda.gov/scripts/cdrh/cfdocs/cfmaude/detail.cfm?mdrfoi__id=3889137&pc=FTL 2/4. MAUDE Adverse Event ...

On Optimal Route Construction in Wireless Mesh Networks
I. INTRODUCTION. Wireless mesh networks have received considerable inter- ests thanks to their realm of possibilities such as instant deployability, self-configuring, last-mile broadband access pro- visioning, and low-cost backhaul services for large

Inter-Cluster Connection in Cognitive Wireless Mesh ...
Cognitive wireless mesh networks have great flexibility to improve spectrum resource ... coding based inter-cluster connection has the advantage of higher ...

Firetide-Mesh-Networks.pdf
Retrying... Download. Connect more apps... Try one of the apps below to open or edit this item. Firetide-Mesh-Networks.pdf. Firetide-Mesh-Networks.pdf. Open.

Wireless Mesh Networks
networking, internet, VOIP and multimedia streaming and broadcasting. ... The software development platform for multimedia campus networking is based on ...