Following the milestone, I have searched and read papers about various watermarking techniques to understand and get new ideas. At the time of the proposal, I was not aware of any research done about watermarking on motion and on other representation of surfaces other than meshes, but have found some papers on both topics. I will briefly summarize basic published methods of embedding data into 3D objects that I have read and other possible approaches I would like to try out and implement.
3D polygonal meshes have been the most popular embedding targets for watermarking 3D models. Ohbuchi et al. [2] first introduces several direct watermarking schemes into polygonal models. One algorithm (TSQ: Triangle similarity quadruple embedding) uses groups of four adjacent triangles. It perturbs the vertex coordinates to embed some values for ratios of edge lengths and of triangle height over triangle base. They also use a ratio of volumes of a pair of tetrahedrons as an embedding primitives for another Tetrahedral Volume Ratio(VTR) algorithm. TSQ algorithm is resistant to translation, rotation, and uniform-scaling transformations of watermarked model, VTR is to more general affine transformation, and both withstand resection and local deformation. However they are not robust against many of the attacks such as simplification, remeshing and the addition of noise.
In the field of image watermarking, a majority of watermarking algorithms has been developed on some transformation domain e.g., wavelet or Fourier Transfromations because it enables to embed watermark in the most salient features of the data [4]. This transformed domain approach is also adopted in watermarking 3D shapes. Kanai, et al. [5] first uses the decomposition of a 3D polygonal mesh into lazy wavelets to embed a watermark by modifying the wavelet coefficient. Their watermarks show robustness against affine transformation, partial resection, and random noise added to vertex coordinates. But they requires the mesh to be 1-to-4 subdivision connectivity.
Praun and Hoppe[1] proposed an watermarking algorithm that works in a transformation domain but overcome the subdivision connectivity. Their method modifies the shape of the mesh by using a spatial kernel to embed information in the low frequency component which identifies significant features in the surface. They derive the multiresolution surface representations from progressive meshes. Their watermarks are resistant against mesh simplification and other operations that preserve shape but modify vertex connectivity. Ohbuchi et al.[6] also presents an informed-detection, robust mesh-watermarking algorithm using the mesh spectral analysis. 3D scene animation data is also targeted for watermarking[7] which is also based on multiresolution representation of motion signal.
These watermarking algorithms working on polygonal meshes change the topology and/or geometry of the model to embed the watermarks while most CAD applications employ parametric curves and surfaces and do not tolerate the modification of geometry. Ohbuchi et al.[8] gives a new data embedding algorithm for NURBS curves and surfaces by using rational linear reparametrization for embedding messages. This algorithm preserves the shape of the curve and also data size.
Ohbuchi et al.[8] suggested alternative approaches for embedding data in parametric curves such as nonrational B-spline curves and NURBS by using techniques such as knot-insertion, degree elevation. The basic idea is that the parametric curve as an element of a vector space can be represented as a bigger vector space. For example, knot insertion makes the vector space bigger. This embedding scheme can carry watermarking.
I would like to explore various ways to watermark using these ideas.
3D animation can be expressed as a time dependent curve in the space SO(3) x R3 (or S3 x R3 ) of rigid motions For motion watermarking, one way of watermarking would be changing the parametrization of the curve or speed of the curve at various points. Then the net effect will be that the 3D objects will move slowly or quickly than the original unmarked animation. Another way is to use Beneden’s idea [3] to partition S3 x R3 into several parts (called bins) and then change each part. In this way, we spread the watermarking all over the animation sequence. We may also consider the multiresolution decomposition of the animated 3D object into two direction i.e. time and space which is different from Kim et al[7].