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(
)
   251   252   253   254   255   256   257   258   259   260   261