Digital image processing may include processing of frames of image data for such applications as frame interpolation, which inserts new frames between existing frames of image data; noise reduction, which adjusts existing pixels; or scaling which creates new pixels. In frame interpolation, for example, to ensure that objects moving in an original frame prior to the new frame moves smoothly in the new frame of image data, most processes rely on motion vectors. The data in the new frame is created according to the motion vectors so motion remains smooth across the existing and new frames.
The process is repeated for each new frame of image data, and each new frame of image data has a pre-existing frame of image data before it in time, and a pre-existing frame of image data after it in time, referred to as the previous and future frames. The motion vectors between the previous and future frame define the motion for the new frame and the collection of them for a frame may be referred to as the motion vector field. Motion vector fields may be used in other applications, as mentioned above.
When the motion vector field results from true-motion estimation models, such as 3D recursive analysis, the motion vector field has poor accuracy and may oscillate in a local neighborhood. This results from updating of the motion vectors that occurs as the process seeks the most accurate motion vector and the motion vector field converges. A need exists for accurate and locally smooth motion vectors, or obvious artifacts such as object/background breakage, in which an object and its background do not match, ghosts in the resulting image, etc. occur.