A system for generating motion vectors in a motion estimator is configured for co-operating with an engine for calculating estimation error for generating motion vectors, according to estimation errors and/or motion vectors previously generated. The system comprises a program memory that contains program data for a motion-estimation algorithm, and a motion-vector memory that contains data identifying said motion vectors previously calculated. The system further comprises an arithmetic and logic unit co-operating with the program memory and motion-vector memory to generate motion vectors in a programmable way to get them to correspond, for example, to predictors deriving from motion-estimation operations already performed on the macroblocks of the reference frame or on the previous macroblocks of the current frame, as updates calculated using the co-ordinates of the motion vectors already issued for the current macroblock, or as absolute motion vectors, generated as such, taking the components directly from the program code.