Information Technology Reference
In-Depth Information
say MPEG-2, the resultant bit rate would reflect the large number of pixels changing from frame to frame. However,
the motion of virtual objects can be described by very few bits. A solid object moves in three dimensions and can
rotate in three axes and this is trivial to transmit. A flexible object such as a jellyfish requires somewhat more
information to describe how its geometry changes with time, but still much less than describing the changes in the
rendered video.
Figure 5.75 shows that in MPEG-4, the rendering process is transferred to the decoder. The bitstream describes
objects to the decoder which then renders the virtual image. The bitstream can then describe the motion of the
objects with a very low bit rate, and the decoder will render a new image at each frame. In interactive applications
such as simulators, CAD and video games, the user may change the viewpoint of the virtual camera and/or the
position of virtual objects and result in an unique rendering. This does not require any communication between the
user and the encoder because the user is only interacting with the rendering process.
Figure 5.75: Three-dimensional mesh coding allows the rendering process to be completed in the decoder.
Transmitting raw geometry requires a large amount of data. Space is quantized in three axes and for every location
in, say, the x -axis, the y and z coordinates of the surface must be transmitted. Three-dimensional mesh coding is
an efficient way of describing the geometry and properties of bodies in a compressed bitstream. Audio and video
compression relies upon the characteristics of sounds, images and the human senses, whereas three-dimensional
mesh coding relies on the characteristics of topology. [ 4 ]
Figure 5.76(a) shows a general body in which the curvature varies. Sampling this body at a constant spacing is
obviously inefficient because if the samples are close enough together to describe the sharply curved areas, the
gently curved areas will effectively be heavily oversampled. Three-dimensional mesh coding uses irregular
sampling locations called vertices which can be seen in Figure 5.76(b). A vertex is a point in the surface of an
object which has an unique position in x , y and z . Shape coding consists of efficiently delivering the coordinates of
a number of vertices to the decoder. Figure 5.76(c) shows that the continuous shape can then be reconstructed by
filtering as all sampled processes require.
Figure 5.76: (a) An arbitrary body with variable curvature. (b) The surface can be sampled by vertices which are
not necessarily evenly spaced. (c) Filtering the vertices re-creates the shape of the body.
Filtering of irregularly spaced samples is more complex than that of conventional reconstruction filters and uses
algorithms called splines. [ 5 ] Failure correctly to filter the shape results in synthetic objects which appear multi-
faceted instead of smoothly curved.
Figure 5.77(a) shows that a set of three vertices may be connected by straight lines called edges to form a triangle.
In fact this is how the term 'vertex' originates. Note that these edges are truly straight and are thus not necessarily
on the surface of the object except at the vertices. There are a number of advantages to creating these triangles.
Wherever the vertices are, a triangle is always flat, which is not necessarily the case for shapes with four or more
sides. A flat surface needs no further description because it can be interpolated from the vertices. Figure 5.77(b)
shows that by cutting along certain edges and hingeing along others, a triangulated body can be transformed into a
plane. (A knowledge of origami is useful here.) Figure 5.77(c) shows that once a triangle has been transmitted to
the decoder, it can be used as the basis for further information about the surface geometry. In a process known as
a forest split operation , new vertices are located with respect to the original triangle. [ 6 ]
Search WWH ::




Custom Search