1. A method of interpolating pixel data for a current pixel, comprising: selecting neighbor motion vectors from blocks that are neighbor blocks of the current pixel; producing interpolated pixel data for each neighbor motion vector, wherein the interpolated pixel data includes multiple candidate pixel values for a particular pixel location, one candidate pixel value for each neighbor motion vector, and producing interpolated pixel data comprises: finding a difference between data from a current phase and data from a previous phase using a block size for the current block and position information of the current pixel as spatial information; normalizing occlusion information to produce a weight; determining an unconfidence measurement using the difference and the weight; blending data from the current phase and the previous phase according to the weight to produce a pixel occlusion measure; and producing the interpolated pixel data for each block motion vector from the pixel occlusion measure, the fallback pixel and the unconfidence measure; applying a different image content weighting to each candidate pixel value, wherein the image content weighting is based upon image content in a neighborhood pointed to by a motion vector; applying a spatial distance weighting to each candidate pixel value, wherein the spatial weighting for each candidate pixel value is based upon a spatial position of a center of the neighbor block corresponding to the neighbor motion vector used to produce the candidate pixel value, to produce weighted candidate pixel values for the current pixel; and blending each of the candidate pixel values for the current pixel, producing pixel data for the current pixel, selecting neighbor motion vectors from blocks that are neighbor blocks of the current pixel.