Page 256 - Video Coding for Mobile Communications Efficiency, Complexity, and Resilience
P. 256
Section 10.2. Temporal Error Concealment Using Motion Field Interpolation (MFI) 233
The described technique uses motion
eld interpolation (MFI) in its dis-
placement estimation stage. In MFI, motion information needs to be available
only at a number of nodal or control points within the motion $eld. The
motion vector at any other point within the $eld can be approximated by
interpolating the motion vectors of the surrounding control points. Thus, mo-
tion information recovery is inherent in MFI. As discussed in Chapter 5, MFI
is used in warping-based motion compensation. Its main advantage over con-
ventional translational compensation is that it provides a smoothly varying mo-
tion $eld that reduces blocking artefacts and compensates for more types of
motion. These two features, i.e., inherent motion information recovery and
better motion compensation, can improve both stages of the temporal con-
cealment process, i.e., estimation and compensation, respectively. This makes
MFI a very attractive choice for temporal error concealment.
10.2.2 Description of the Technique
Let f t (x; y) be the value of the current frame at pel location (x; y) and f t−:t
be a previously reconstructed and concealed frame. Further, let D = {f t (x; y):
x ∈ [x l ;x h ];y ∈ [y l ;y h ]} be a damaged blockwithin the current frame and v L ,
v R , v T , and v B be the motion vectors of the blocks to the left of, to the
right of, above, and below the damaged block, respectively. The concealment
displacement, v ˆ(x; y)=( ˆv x (x; y); vˆ y (x; y)), at any pel (x; y) within the damaged
block D can be estimated by interpolating the neighboring motion vectors as
follows:
v ˆ(x; y)= h
(x n )v L +(1 − h
(x n ))v R + h
(y n )v T +(1 − h
(y n ))v B ; (10.1)
2
y n = y − y l ; x n = x − x l ; (10.2)
y h − y l x h − x l
where (x n ;y n ) are the normalized spatial coordinates of pel (x; y) within the
damaged block, ranging from (0; 0) at the top-left corner to (1; 1) at the
bottom-right corner, and h
(·) is a suitable interpolation kernel.
Thus, the estimated displacement is a weighted sum of the neighboring
motion vectors. The interpolation kernel, h
(·), is used to adjust the weights
according to the spatial location of the pel within the damaged block. Intu-
itively, a pel on the left border should have a high contribution from the left
vector, v L , and a low contribution from the right vector, v R , and so on. To
achieve this, the following interpolation kernel [209] was used:
k(
(2a − 1)) − k(
)
h
(a)= ; 0 ≤ a ≤ 1 and
≥ 1; (10.3)
k(−
) − k(
)