3D Mesh Compression in Open3DGC. Khaled MAMMOU

Similar documents
: Mesh Processing. Chapter 2

Handles. The justification: For a 0 genus triangle mesh we can write the formula as follows:

CS 335 Graphics and Multimedia. Image Compression

A Brief History of 3D Mesh Compression

Topic 5 Image Compression

Georgios Tziritas Computer Science Department

Spirale Reversi: Reverse decoding of the Edgebreaker encoding

Error-Resilient Coding of 3-D Graphic Models via Adaptive Mesh Segmentation

Compressing Texture Coordinates with Selective Linear Predictions

Spectral Coding of Three-Dimensional Mesh Geometry Information Using Dual Graph

3D Point Cloud Data and Triangle Face Compression by a Novel Geometry Minimization Algorithm and Comparison with other 3D Formats

*******************************************************************************************************************

Geometry Coding and VRML

TFAN: A low complexity 3D mesh compression algorithm

Compressing Polygon Mesh Geometry with Parallelogram Prediction

Lossless Compression of Floating-Point Geometry

Defense Technical Information Center Compilation Part Notice

Edgebreaker Based Triangle Mesh-Coding Method

Compression of Tetrahedral Meshes

THE H.264 ADVANCED VIDEO COMPRESSION STANDARD

Compressing Polygon Mesh Connectivity with Degree Duality Prediction

Efficient compression of non-manifold polygonal meshes

Image Compression for Mobile Devices using Prediction and Direct Coding Approach

REAL-TIME ENCODING OF LIVE RECONSTRUCTED MESH SEQUENCES FOR 3D TELE-IMMERSION

Real-Time Network Streaming of Dynamic 3D Content with In-Frame and Inter-Frame Compression

Mesh Based Interpolative Coding (MBIC)

Perceptual Coding. Lossless vs. lossy compression Perceptual models Selecting info to eliminate Quantization and entropy encoding

Gabriel Taubin, William P. Horn, Jarek Rossignac and Francis Lazarus IBM T.J. Watson Research Center GVU, Georgia Institute of Technology

Progressive Compression for Lossless Transmission of Triangle Meshes in Network Applications

Lecture 3 Mesh. Dr. Shuang LIANG. School of Software Engineering Tongji University Spring 2013

Mesh Compression. Triangle Meshes. Basic Definitions (II) Basic Definitions (I) Compression. History of Multimedia

Source Coding Techniques

COMPRESSING MATERIAL AND TEXTURE ATTRIBUTES FOR TRIANGULAR MESHES

IMAGE PROCESSING (RRY025) LECTURE 13 IMAGE COMPRESSION - I

Digital Video Processing

Progressive Geometry Compression. Andrei Khodakovsky Peter Schröder Wim Sweldens

Lossless and Lossy Minimal Redundancy Pyramidal Decomposition for Scalable Image Compression Technique

Image Coding and Data Compression

2014 Summer School on MPEG/VCEG Video. Video Coding Concept

Introduction to Video Encoding

Index. 1. Motivation 2. Background 3. JPEG Compression The Discrete Cosine Transformation Quantization Coding 4. MPEG 5.

7.5 Dictionary-based Coding

ABSTRACT 1. INTRODUCTION

Chapter 11.3 MPEG-2. MPEG-2: For higher quality video at a bit-rate of more than 4 Mbps Defined seven profiles aimed at different applications:

Lecture 13 Video Coding H.264 / MPEG4 AVC

Image and Video Compression Fundamentals

Video Compression MPEG-4. Market s requirements for Video compression standard

Lecture 5: Error Resilience & Scalability

Geometry Based Connectivity Compression of Triangular Meshes

A New Compression Method Strictly for English Textual Data

IMAGE COMPRESSION- I. Week VIII Feb /25/2003 Image Compression-I 1

Source Coding Basics and Speech Coding. Yao Wang Polytechnic University, Brooklyn, NY11201

Digital Image Representation Image Compression

JPEG: An Image Compression System. Nimrod Peleg update: Nov. 2003

polygon meshes polygon meshes representation

Module 6 STILL IMAGE COMPRESSION STANDARDS

EFFICIENT DEISGN OF LOW AREA BASED H.264 COMPRESSOR AND DECOMPRESSOR WITH H.264 INTEGER TRANSFORM

Dimension-Independent Data Structures for Arbitrary Simplicial Complexes

JPEG 2000 A versatile image coding system for multimedia applications

A Developer s Survey of Polygonal Simplification algorithms. CS 563 Advanced Topics in Computer Graphics Fan Wu Mar. 31, 2005

Triangle Strip Compression

CS 532: 3D Computer Vision 12 th Set of Notes

Geometric Compression Through Topological Surgery

Multimedia Networking ECE 599

University of Bristol - Explore Bristol Research. Link to published version (if available): /s

ECE 533 Digital Image Processing- Fall Group Project Embedded Image coding using zero-trees of Wavelet Transform

Fundamentals of Video Compression. Video Compression

JPEG 2000 compression

JPEG: An Image Compression System

CMPT 365 Multimedia Systems. Media Compression - Image

AN ANALYTICAL STUDY OF LOSSY COMPRESSION TECHINIQUES ON CONTINUOUS TONE GRAPHICAL IMAGES

Compression II: Images (JPEG)

Progressive Compression and Transmission of Arbitrary Triangular Meshes

Processing 3D Surface Data

Mesh Repairing and Simplification. Gianpaolo Palma

Video Coding Standards

Image compression. Stefano Ferrari. Università degli Studi di Milano Methods for Image Processing. academic year

Advanced Video Coding: The new H.264 video compression standard

Random-Accessible Compressed Triangle Meshes

IMAGE COMPRESSION. Image Compression. Why? Reducing transportation times Reducing file size. A two way event - compression and decompression

Connectivity and Attribute Compression of Triangle Meshes

International Journal of Emerging Technology and Advanced Engineering Website: (ISSN , Volume 2, Issue 4, April 2012)

EE 5359 H.264 to VC 1 Transcoding

University of Mustansiriyah, Baghdad, Iraq

JPEG 2000 vs. JPEG in MPEG Encoding

Saab. Kyle McDonald. Polygon Meshes

DYNAMIC POLYGON CLOUD COMPRESSION

Intro. To Multimedia Engineering Lossless Compression

Processing 3D Surface Data

A New Progressive Lossy-to-Lossless Coding Method for 2.5-D Triangle Mesh with Arbitrary Connectivity

Curvature-Adaptive Remeshing with Feature Preservation of Manifold Triangle Meshes with Boundary

15 Data Compression 2014/9/21. Objectives After studying this chapter, the student should be able to: 15-1 LOSSLESS COMPRESSION

Welcome Back to Fundamentals of Multimedia (MR412) Fall, 2012 Lecture 10 (Chapter 7) ZHU Yongxin, Winson

Module 7 VIDEO CODING AND MOTION ESTIMATION

A Image Comparative Study using DCT, Fast Fourier, Wavelet Transforms and Huffman Algorithm

Stereo Image Compression

DCT Coefficients Compression Using Embedded Zerotree Algorithm

DIGITAL TELEVISION 1. DIGITAL VIDEO FUNDAMENTALS

Week 14. Video Compression. Ref: Fundamentals of Multimedia

Outline. Visualization Discretization Sampling Quantization Representation Continuous Discrete. Noise

Transcription:

3D Mesh Compression in Open3DGC Khaled MAMMOU

OPPORTUNITIES FOR COMPRESSION Indexed Face Set Geometry: positions Connectivity: 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 X1, Y1, Z1 X2, Y2, Z2 X3, Y3, Z3 X4, Y4, Z4 X5, Y5, Z5 X6, Y6, Z6 X7, Y7, Z7 Reordered geometry X3, Y3, Z3 X7, Y7, Z7 X6, Y6, Z6 X2, Y2, Z2 1 2 3 4 5 6 7 X4, Y4, Z4 X5, Y5, Z5 X1, Y1, Z1 Connectivity 1, 3, 7 1, 7, 6 1, 6, 2 1, 2, 4 1, 4, 5 Reordered Connectivity 7, 5, 6 7, 4, 5 7, 3, 4 7, 1, 2 7, 2, 3 V 5 V 3 V 4 V 1 V 7 V 2 V 6

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-SDMC (Scalable Complexity 3D Mesh Coding) published in 2010 Encoder Connectivity TFAN-based Connectivity Encoding Geometry Uniform Quantization Prediction Arithmetic or ASCII Encoding Compressed stream [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-SDMC (Scalable Complexity 3D Mesh Coding) published in 2010 Encoder Connectivity TFAN-based Connectivity Encoding Geometry Uniform Quantization Prediction Arithmetic or ASCII Encoding Compressed stream [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-SDMC (Scalable Complexity 3D Mesh Coding) published in 2010 Encoder Connectivity TFAN-based Connectivity Encoding Geometry Uniform Quantization Prediction Arithmetic or ASCII Encoding Compressed stream [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-SDMC (Scalable Complexity 3D Mesh Coding) published in 2010 Encoder Connectivity TFAN-based Connectivity Encoding Geometry Uniform Quantization Prediction Arithmetic or ASCII Encoding Compressed stream [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 V 3 V 10 V 7 V 7 V 5 V 4 V 8 V 9 V 6 V 4 V 6 V 9 V 2 V 3 V 10 V 8 V 2 V 5 V 1 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

Frequency 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% 80% TFAN-based connectivity compression reduces the number of bits per vertex for connectivity from 96 bpv to 3.1 bpv 60% 40% 20% 0% 1 2 3 4 5 6 7 8 9 10 TFAN configurations

CONNECTIVITY ENCODING EXAMPLE Vertex re-ordering 10

CONNECTIVITY ENCODING EXAMPLE Vertex re-ordering V1 V1 {} 10 1,(7,1)

CONNECTIVITY ENCODING EXAMPLE Vertex re-ordering V1 V1 {V4} V6 V2 V4 V3 10 1,(7,1) 2,(4,1)

CONNECTIVITY ENCODING EXAMPLE Vertex re-ordering V1 V1 {V4, V5} V6 V2 V4 V3 V5 V4 10 1,(7,1) 2,(4,1),(7,2)

CONNECTIVITY ENCODING EXAMPLE Vertex re-ordering V1 V1 {V5, V2, V9, V7} V6 V2 V4 V3 V5 V4 V2 V5 V9 V6 V7 V7 10 1,(7,1) 2,(4,1),(7,2) 0

CONNECTIVITY ENCODING EXAMPLE Vertex re-ordering V1 V1 {} V6 V2 V4 V3 V5 V4 V2 V5 V9 V6 V7 V7 10 1,(7,1) 2,(4,1),(7,2) 0 0

CONNECTIVITY ENCODING EXAMPLE Vertex re-ordering V1 V1 {V9} V6 V2 V4 V3 V5 V4 V2 V5 V9 V6 V7 V7 10 1,(7,1) 2,(4,1),(7,2) 0 0 1,(4, 1)

CONNECTIVITY ENCODING EXAMPLE Vertex re-ordering V1 V1 {V7,V10} V6 V2 V4 V3 V5 V4 V2 V5 V9 V6 V7 V7 V10 V8 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 {V7,V10,V8} V6 V2 V4 V3 V5 V4 V2 V5 V9 V6 V7 V7 V10 V8 V8 V9 10 1,(7,1) 2,(4,1),(7,2) 0 0 1,(4, 1) 2,(6,2),(4,1)

CONNECTIVITY ENCODING EXAMPLE Vertex re-ordering V1 V1 {V3} V6 V2 V4 V3 V5 V4 V2 V5 V9 V6 V7 V7 V10 V8 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 V1 V1 {V8} V6 V2 V4 V3 V5 V4 V2 V5 V9 V6 V7 V7 V10 V8 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 {} 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 {V3} 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 {V3, V4} 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 {V4} 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 {} 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 {V6} 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 {V7, V8} 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 {V7, V8, V9} 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 {V9} 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 {V10} 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 {} 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 {} 10 1,(7,1) 2,(4,1),(7,2) 0 0 1,(4, 1) 2,(6,2),(4,1) 0 0 0 0