1. A method of processing an input multidimensional dataset comprising a block of data of size N stored in a digital memory so as to provide an interpolation of the data stored therein, the method comprising: transforming the block of data into the frequency domain to obtain a set of direct transform coefficients C={a k } k=0 N for a desired interpolator type; determining an appropriate inverse discrete trigonometric transform using said set of coefficients to calculate an interpolated data set F n =Σ k=0 N A(n,k)a k , where n=0, 1,. .. M, and A(n,k) is a non-square matrix of size ˜M×N, said determining including: reducing recursively the calculation of the transform to a chain of smaller transforms of size (M/2)×(N/2) until a size (qm×q) is reached, where m=M/N and q is one of the integers 2, 3 and 4; and calculating each of the smaller transforms directly using a family of interpolators corresponding to the symmetry properties of smaller, non-square transform matrices that result from the recursive reduction process; and assembling an output dataset of size M×N from the results of the calculated smaller transforms.