Patent ID: 8670075

Claim:
A method for image interpolation between first and second images, comprising: (a) dividing the first image into contiguous blocks of pixels; (b) obtaining a forward motion field from the first image to the second image, wherein the forward motion field includes a plurality of motion vectors, wherein each motion vector corresponds to a displacement of a particular one of the blocks of step (a) from the first image to the second image; (c) expanding boundaries of the blocks of step (a) for an overlap therebetween, and weighting pixel values of thus expanded blocks using a pre-defined two-dimensional weight matrix; (d) applying the forward motion field of step (b) to the pixel value weights of the expanded blocks of step (c), so as to obtain a two-dimensional matrix of cumulative pixel value weights for computing a first interpolated image; (e) applying the forward motion field of step (b) to the pixel values of the expanded blocks of step (c), so as to obtain a two-dimensional matrix of cumulative pixel values for computing the first interpolated image; and (f) computing the first interpolated image by dividing cumulative pixel values of step (e) by corresponding cumulative pixel value weights of step (d) for each pixel of the first interpolated image, wherein the first and the second images are representable by two-dimensional matrices F 1 (i,j) and F 2 (i,j), respectively, of pixel values; wherein in step (d), the two-dimensional matrix of cumulative pixel value weights is obtained using the formula ω(i+τx B , j+τy B )+=w(i−i 0 , j−j 0 ); wherein in step (e), the two-dimensional matrix of cumulative pixel values is obtained using the formula ζ(i+τx B ,j+τy B )+=w(i−i 0 ,j−j 0 )[(1−τ)F 1 (i,j)+τF 2 (i+x B ,j+y B )]; and wherein in step (f), the first interpolated image is computed as F f ⁡ ( i , j ) = { ζ ⁡ ( i , j ) / ω ⁡ ( i , j ) , if ⁢ ⁢ ω ⁡ ( i , j ) > 0 H f , otherwise ; wherein i,j are pixel coordinates; i 0 , j 0 are pixel coordinates of a first pixel of an expanded block B E of the expanded blocks of step (c); += denotes accumulation over the expanded blocks of step (c); (x B , y B ) is a motion vector of the forward motion field of step (b), the motion vector (x B , y B ) corresponding to the expanded block B E ; τ is a separation between the first image and the first interpolated image divided by a separation between the first and the second images; H f is a constant corresponding to an undetermined pixel in the first interpolated image F j (i,j); and w(x,y) is the pre-defined two-dimensional weight matrix of step (c).