Databases Reference
In-Depth Information
valuable bit resources. In fact, in some video sequences the bits used to encode the motion
vectors may make up most of the bits used. If we use small blocks, the number of motion
vectors goes up, as does the bit rate. Because of the variety of sizes and shapes available to
it, the H.264 algorithm provides a high level of accuracy and efficiency in its prediction. It
uses small block sizes in regions of activity and larger block sizes in stationary regions. The
availability of rectangular shapes allows the algorithm to focus more precisely on regions of
activity.
The motion compensation is accomplished using quarter-pixel accuracy. To do this the
reference picture is “expanded” by interpolating twice between neighboring pixels. This results
in a much smoother residual. The prediction process is also enhanced by the use of filters on
the four block edges. The standard allows for searching of up to 32 pictures to find the best
matching block. The selection of the reference picture is done on the macroblock partion level,
so all sub-macroblock partitions use the same reference picture.
As in H.263, the motion vectors are differentially encoded. The basic scheme is the same.
The median values of the three neighboring motion vectors are used to predict the current
motion vector. This basic strategy is modified if the block used for motion compensation is a
16
16 block.
For B pictures, as in the case of the previous standards, two motion vectors are allowed for
each macroblock or sub-macroblock partition. The prediction for each pixel is the weighted
average of the two prediction pixels.
Finally, a P skip type macroblock is defined for which 16
×
16
,
16
×
8, or 8
×
16 motion compensation is used
and the prediction error is not transmitted. This type of macroblock is useful for regions of
little change as well as for slow pans.
×
19.11.2 The Transform
Unlike the previous video coding schemes, the transform used is not an 8
×
8DCT.Formost
blocks the transform used is a 4
×
4 integer DCT-like matrix. The transform matrix is given
by
1111
21
12
H
=
1
1
11
1
22
1
The inverse transform matrix is given by
111 2
1
1
2
1
1
H I
=
1
2
1
11
1
2
1
11
The transform operations can be implemented using addition and shifts. Multiplication by 2 is
a single-bit left shift and division by 2 is a single-bit right shift. However, there is a price for the
simplicity. Notice that the norm of the rows is not the same and the product of the forward and
inverse transforms does not result in the identity matrix. This discrepancy is compensated for
by the use of scale factors during quantization. There are several advantages to using a smaller
 
Search WWH ::




Custom Search