1. Means for processing video data comprising; means for acquiring video data at video frame rates, a plurality of independent storage means for storing video data for an image frame to be processed, ALU means and data flow control means for repetitively processing, within a frame period, all the data in one or two storage means in accordance with a defined function and, in the same period, storing the resultant data in another storage means, and further processing and storing data in subsequent frame periods in accordance with other functions which are useful for enhancing the data, a controller for managing the type and sequence of ALU functions having a first ROM storing sets of function sequences and addresses for the respective functions, and a second ROM storing detailed instructions at the said addresses for executing each function respectively, whereby for each frame period the first ROM addresses a specific instruction in the second ROM, and means for addressing the first ROM for initiating a desired set of functions, whereby the frame of video data can be programmably enhanced to optimize the data quality for a given application.