Information Technology Reference
In-Depth Information
It might be thought that binary shape data would result in objects having ratcheted edges because the key signal
can only exist in pixel steps. However, texture coding can overcome this problem. If a binary keyed image is used
as a predictor, the texture prediction error will deliver the necessary accuracy in the final image.
5.23 Padding
The peculiar conditions in boundary macroblocks where some of the block is inside the object and some outside
requires special handling and this is the function of padding. There are two types of padding which perform distinct
functions; texture padding and motion compensation (MC) padding.
Texture padding makes the spatial coding of boundary blocks more efficient. As the frequency coefficients of the
DCT relate to the entire block area, detail outside the object can result in coefficients which are not due to the
object itself. Texture padding consists of replacing those pixels in a boundary block which are outside the object
with pixel values that are selected to minimize the amount of coefficient data. The exact values are unimportant as
they will be discarded in the decoder.
When objects move they may also change their shape. Motion compensation will be used whereby texture and
shape from another VOP is used to predict texture and shape in the current VOP. If there is a small error in the
boundary data, background pixels could leak into the object causing a large prediction error. MC padding is
designed to prevent this. In the case of VOPs used as anchors for inter-coding, in boundary blocks, after decoding,
texture padding is replaced with MC padding. In MC padding, pixel values at the very edge of the object are copied
to pixels outside the object so that small shape errors can be corrected with minor residual data.
5.24 Video object coding
Figure 5.56 shows the video object coding process. At the encoder, image analysis dissects the images into
objects, in this case one small object (1) and a background object (2). The picture and shape data for object 1 are
used to create a bounding rectangle whose coordinates are coded. Pixel values outside the boundary are replaced
with texture padding. The texture macroblocks are then DCT coded and the shape babs are context coded. This
can be on an intra- or motion-compensated inter-basis according to the type of VOP being coded. Background data
are coded by another process and multiplexed into the bitstream as another object.
Figure 5.56: The video object coding process. Each object requires shape and texture data. One or more objects
and a background are transmitted.
At the decoder the texture and shape data are decoded, and in anchor VOPs the shape data are used to strip off
the texture padding and replace it with MC padding. MC padded object data are used to predict intracoded objects.
Finally the shape data key the object into the background.
Figure 5.57 shows an object coder. The object analysis of the incoming image provides texture and texture motion
as well as object shape and shape motion. Texture coding takes place in much the same way as MPEG picture
 
Search WWH ::




Custom Search