1. A method for interpolating frames, the method comprising: obtaining an embedded motion vector for each block within a current frame, the motion vector being embedded in a bitstream; for each block, classifying the associated embedded motion vector as an accurate motion vector or an inaccurate motion vector, the inaccurate motion vector designating the block as a bad block; for each bad block, performing overlapped block bi-directional motion estimation on the bad block to obtain a new motion vector; assigning the new motion vector to the bad block; and generating an interpolated frame based on the new motion vector for the bad blocks and the embedded motion vector for the other blocks.