1. A method of compressing an image frame into data representing blocks of pixel differences and associated motion vectors, said method being performed by a digital processing device upon an input stream to provide an compressed output stream, said method comprising: for at least one block of data in a current image, performing motion vector computation by comparison of the block with different subsets of data from a search window of a reference image, to select a closest match; computing pixel differences between at least one block of data and a corresponding closest match; wherein the search window is selected to be one of a relatively larger size and a relatively smaller size, the search window is selected to be the relatively smaller size when comparison of pixel differences for at least one neighbor block of data with a threshold indicates that the pixel differences meet predetermined criteria, and the search window is selected to be the relatively larger size when comparison of the pixel differences for at least one neighbor block of data with a threshold indicates that the pixel differences meet predetermined criteria.