Article Preview
TopMesh Watermarking Overview
Recently, 3D meshes have been widely used in virtual reality, medical imaging, video games and computer aided design. A 3D mesh is a collection of polygonal facets targeting to constitute an appropriate approximation of a real 3D object. It possesses three different combinatorial elements: vertices, edges and facets. From another viewpoint, a mesh can also be completely described by two kinds of information. The geometry information gives the positions (coordinates) of all its vertices, while the connectivity information provides the adjacency relations between the different combinatorial elements. Although there are many other 3D representations, such as cloud of points, parametrized surface, implicit surface and voxels, 3D mesh has been a standard of numerical representation of 3D objects thanks to its simplicity and usability. Furthermore, it is quite easy to convert other representations to 3D mesh, which is considered as an effective model. This fact partially explains why much of the work in the area of 3D watermarking deals with 3D triangle meshes. Although some schemes have been proposed to watermark NURBS (Lee, 2002) and point-sampled surfaces (Cotting et al., 2004).
Existing techniques concerning 3D meshes can be classified in two main categories, depending on whether the watermark is embedded in the spatial domain (by modifying the geometry or the connectivity) or in the frequency domain (by modifying some kind of mesh transformation like spectral decomposition or wavelet transformation).
Spatial Schemes
They can be classified in two main categories: geometric schemes which modify vertices coordinates and topologic schemes which modify vertices connectivity.
Geometric Schemes
Harte et al. (2002) have proposed a blind watermarking scheme to embed a watermark in the point positions. One bit is assigned to each point: 1 if the point is outside a bounding volume defined by its point neighborhood and 0 otherwise. This bounding volume may be either defined by a set of bounding planes or by a bounding ellipsoid. The Vertex Flood Algorithm (VFA) (Benedenes, 1999) embeds also information in point positions. Given a point p in the mesh, all points are clustered in subsets Sk accordingly with their distance to p. Each non-empty subset is subdivided in m + 2 intervals in order to encode m bits. The distance of each point in a subset is modified so that it is placed on the middle of one of the m+2 intervals.