Page 79 - Video Coding for Mobile Communications Efficiency, Complexity, and Resilience
P. 79
56 Chapter 3. Video Coding: Standards
MB. If one motion vector is transmitted (as in normal mode), then the decoder
replicates it to four motion vectors. If four motion vectors are to be transmitted,
then the motion vector prediction process is modi/ed as illustrated in Figure
3.3(b). Motion vectors for chroma blocks are derived by calculating the sum of
the four luma vectors and then dividing by 8. The resulting values of 1=16-pel
resolution are modi/ed toward the nearest 1=2-pel values (0; 1=16, and 2=16
are modi/ed to 0; 14=16 and 15=16 are modi/ed to 1; and all other values
are modi/ed to 1=2). This technique improves prediction if the MB contains
di1erent moving objects.
In OMC, each pel in an 8 × 8 luma prediction block is predicted as a
weighted sum of three prediction values. To obtain the three prediction val-
ues, three motion vectors are used: the motion vector of the current luma
block, and two out of four remote motion vectors. The four remote motion
vectors are the motion vectors of the luma blocks to the left of, to the right
of, above, and below the current luma block. The position of the pel within
the block decides which two remote vectors to use. For example, all pels in
the top-left quadrant of the block use the two remote vectors of the blocks
above and to the left of the current luma block. The weight given to each
of the three predictions also changes with pel position within the block. The
weights are de/ned in three standard matrices. The weights for a remote pre-
diction are designed to increase as the pel position moves away from the center
of the block toward the corresponding remote block. This ensures a smooth
transition at the borders of the block, which results in a visible reduction of
blocking artefacts. If a remote MB was not coded, then the corresponding
vector is set to zero. If a remote MB does not exist (out of the picture) or
was INTRA coded, then the corresponding vector is set to the vector of the
current MB. In PB-frames mode, however, INTRA MBs have motion vectors,
and those are used as remote vectors. For chroma blocks, no overlapping is
performed.
3.4.5.4 PB-Frames Mode (Annex G)
In this mode, two pictures are encoded as one unit called a PB-frame. Thus, a
PB-frame consists of one P-picture that is predicted from the previous decoded
P-picture (forward prediction) and one B-picture that is predicted from both
the previous decoded P-picture and the P-picture currently decoded in the
same PB-frame (bidirectional prediction). In a PB-frame, an MB consists of
12 blocks: the 6 blocks of the P-picture, followed by the 6 blocks of the
B-picture. In this mode, an INTRA coding mode can also be used where
P-blocks are INTRA coded and B-blocks are INTER coded with prediction
as for an INTER block. In this case, motion vector data is included with the
INTRA-coded P-blocks but are used for predicting B-blocks.