1. A method of rotating an input image comprising a plurality of rows of input pixels by a predetermined arbitrary angle to generate a rotated output image comprising a plurality of rows of output pixels, the method comprising: receiving a first input segment comprising a first contiguous subset of the plurality of rows of input pixels; applying to the first input segment a transformation depending on the predetermined angle and storing the transformed result in a memory; receiving a second input segment comprising a second contiguous subset of the plurality of rows of input pixels, the second subset being adjacent to the first in the input image; applying the transformation to the second input segment and storing the transformed result in a memory; and generating a first output segment based on the transformed results of the first and second input segments prior to receipt of remaining input segments of input pixels of the input image, the output segment comprising a contiguous subset of the plurality of rows of output pixels.