Kumar, Roger - PowerPoint PPT Presentation

About This Presentation
Title:

Kumar, Roger

Description:

MSDL will provide flexible run-time environment for invoking ... Several hundred Kilobytes for. average model (just geometry) Compression of 3D Models ... – PowerPoint PPT presentation

Number of Views:48
Avg rating:3.0/5.0
Slides: 13
Provided by: Sco285
Category:
Tags: kilobytes | kumar | roger

less

Transcript and Presenter's Notes

Title: Kumar, Roger


1
Progressive 3D Mesh Coding
Kumar, Roger Sepiashvili, David Xie, Dan
18-796 Professor Chen April 19, 1999
2
3D Models - MPEG-4 Overview
  • Synthetic/Natural Hybrid Coding (SNHC) in MPEG-4
  • A/V plane with 2D overlays, text, 3D objects,
    faces, etc.
  • MPEG-4 System and Description Languages (MSDL)
  • MSDL will provide flexible run-time environment
    for invoking decompression tools, algorithms,
    etc.
  • MSDL will include class libraries for A/V object
    types along with their bitstream syntax.
  • Client will download A/V object types for a
    specific session from the server at start up.
  • MSDL A/V Objects
  • VRML
  • ActiveX Animation
  • Java Media 3D
  • etc.

3
3D Models - MPEG-4 Overview
  • MPEG-4 V2 will provide tools for coding 3-D
    Objects
  • Coding of generic 3-D Meshes
  • Level of Detail (LOD) Scalability
  • Decoder can render simplified version of the mesh
  • Useful for viewing distant objects for
    less-powerful rendering engines.
  • Spatial Scalability
  • Decoder can render the mesh at reduced spatial
    resolution
  • Used in combination with LOD Scalability
  • Progressive Transmission
  • to receive progressively better approximations to
    the model
  • possible approaches are
  • transmission of successive LOD approximations
  • progressive mesh coding (discussed later)

4
Compression of 3D Models
  • Texture Coding and Compression
  • Static textures can be compressed by JPEG
  • Moving textures can be compressed by MPEG-1 or
    H.263
  • Geometry Coding and Compression
  • There is no standard for geometry coding and
    compression.
  • Most often geometry is represented by a
    triangular 3D mesh.
  • Algorithms that quantize vertex positions and
    normals, and then apply Huffman or entropy
    encoding can achieve compression in the range of
    151 to 651, depending on the nature of the
    model.
  • Mechanical models are easier to compress than
    anatomical.
  • Need for Geometry Compression
  • Each vertex represented by three floating pt.
    numbers.
  • If each vertex shared by six polygons, and max
    number
  • of vertices per model is 220, then 76
    bits/triangle needed.
  • Several hundred Kilobytes for
  • average model (just geometry)

5
Why Progressive Mesh Coding ?
  • Progressive Mesh (PM) addresses these issues
  • Progressive Transmission
  • show progressively better approximations to the
    model
  • Smooth Visual Transition (geomorphs)
  • transit smoothly between different levels of
    approximation
  • Selective Refinement
  • spatial refinement
  • level of detail refinement
  • Mesh Optimization
  • constructing approximation
  • meshes from non-optimal scanned
  • meshes with smaller number of vertices
  • Mesh Compression
  • mesh simplification algorithm allows very
    efficient coding
  • Can Be Lossless (if no optimization was done)

6
Progressive Mesh (PM)
  • Original mesh M is stored as a coarse mesh M0
    and n detail records that indicate how to refine
    M0 into the original mesh M.
  • Mesh Optimization
  • reduction of number of faces
  • Mesh Simplification
  • construction of a coarse mesh M0
  • Mesh Compression
  • storage space reduction

7
PM - Mesh Optimization
  • Find mesh M that accurately fits the model and
    has a small number of vertices.
  • Goal is to optimize for rendering efficiency
  • Often requires significant user intervention
  • Done by minimizing the energy function
  • Edist(M) total squared distance of points of
    original model from the mesh
  • measures accuracy
  • Erep(M) is proportional to the number of vertices
    in the mesh
  • measures conciseness
  • Espring(M) is energy of a spring placed on each
    edge of a mesh
  • penalizes vertices that are too far away from
    adjacent vertices

8
PM - Mesh Simplification
  • Original mesh M is stored as a coarse mesh M0
    and n detail records that indicate how to refine
    M0 into the original mesh M.
  • Can simplify mesh using edge collapse, edge
    split, edge swap. Only edge collapse is needed.
  • Edge collapse is fully invertible, so inverse
    transformation reconstructs the original mesh.

9
PM - Mesh Simplification
  • Done by minimizing the energy function
  • Edist(M), Espring(M) are same as before
  • Escalar(M) measures accuracy of scalar attributes
  • are properties of corners (i.e. vertex,face
    tuples)
  • examples are diffuse color, texture, etc.
  • Edisc(M) measures geometric accuracy of
    discontinuity curves
  • preserving sharp edges is important
  • Edisc(M) is equal to the total squared distance
    of a set of points sampled from sharp edges
    (discontinuity curves) of M to the discontinuity
    curve they belong.
  • Algorithm
  • mark all candidates for edge collapse in terms of
    priority, where priority of each transformation
    is estimated by energy cost ?E.
  • starting with top at priority queue, perform edge
    collapse and recompute priorities of edges in
    neighborhood of this edge collapse.
  • Keep doing until desired number of faces is met.

10
References
  • Progressive Meshes (Microsoft Research)
  • http//www.research.microsoft.com/hoppe
  • Java 3D API - 3D Geometry Compression
  • http//www.javasoft.com/products/java-media/3D
  • /forDevelopers/j3dguide/AppendixCompress.doc.html

All movies are made by Hugues Hoppe http//www.res
earch.microsoft.com/hoppe
11
Question 1
  • Did you mention that "Java3D also does
    compression"? How?
  • Our first slide stated that the MPEG-4 System and
    Description Languages (MSDL) will allow 3D
    geometry to be compressed with different
    algorithms, one of which could be Java Media 3D
    (Java3D). MPEG-4 will also specify an built-in
    algorithm for geometry compression (most likely
    Progressive Mesh). If a better compression scheme
    is developed a few years later, MSDL would allow
    MPEG-4 to use this algorithm.
  • Java3D specifies an algorithm for geometry
    compression. This algorithm does not allow for
    progressive transmission of meshes, as the
    Progressive Mesh (PM) algorithm does.
  • In the Java3D algorithm, a 3D geometry is
    converted into a generalized triangular mesh. In
    Java3D, the vertex points are quantized, and then
    difference between two quantized vertex points is
    Huffman encoded. The vertex information is stored
    along with values for diffuse color and a normal
    vector.
  • Color information is also quantized and Huffman
    encoded, whereas Normal information is encoded
    using a more complicated scheme (mapping normals
    to points on the unit sphere, please see
    http//www.javasoft.com/products/java-media/3D/for
    Developers/j3dguide/AppendixCompress.doc.html
    section B.8).
  • If no color or normal information is sent for a
    vertex, the color or normal information for the
    previously-sent vertex is used.

12
Question 2
  • What is the speed for Mesh Optimization?
  • In our presentation, we stated that Mesh
    Optimization is quite slow. Below are exact
    numbers and examples.

Mesh Optimization 3152 faces to 334
faces 17.0 minutes
Mesh Optimization 18,274 faces to 1348
faces 47.0 minutes
Mesh Optimization 8073 faces to 515
faces 44.5 minutes
Mesh Optimization 3832 faces to 432
faces 10.2 minutes
Timings preformed by Hugues Hoppe on a DEC
Workstation in 1993. http//research.microsoft.com
/hoppe
Write a Comment
User Comments (0)
About PowerShow.com