This paper presents an original algorithm for the computation of optical flow called Orthogonal Dynamic Programming (ODP) as well as several enhancements to it. The principle is to minimize a sum of square differences (SSD) between a pair of images. The originality of the approach is that an optimal matching is searched for entire image strips rather than for pixel neighborhoods. Dynamic programming is used to provide very robust strip alignments and a multiresolution iterative process is used to compute the velocity field. Extensions to the computation of the velocity field for non integer image indexes, to the use of more than two images, and to the search for subpixel velocities, are presented. Results obtained for the Barron, Fleet and Beauchemin performance tests appear to be at least as good as or better than those obtained using classical optical flow detection methods.