A method of interpolating an image, the image comprising pixels arranged in rows and columns and represented by values having a specified dynamic range, the pixels in the rows residing at unit horizontal locations and the pixels in the columns residing at unit vertical locations, to generate values for sub-pixels (b, c, d, e, f, g, h, i), a sub-pixel (b, c, d, e, f, g, h, i) being located at at least one of a fractional horizontal and a fractional vertical location, the fractional horizontal and fractional vertical locations being representable according to the mathematical notation 1/2 x, where x is a positive integer in the range 1 to N, 1/2 x representing a particular level of sub-pixel interpolation and N representing a maximum level of sub-pixel interpolation, the method comprising: a) interpolating values for sub-pixels (b) situated at 1/2 N-1 unit horizontal and unit vertical locations, and for sub-pixels (b) situated at unit horizontal and 1/2 N-1 unit vertical locations using weighted sums of pixels residing at respective unit horizontal and unit vertical locations; b) interpolating a value for a sub-pixel (c) situated at a 1/2 N-1 unit horizontal and 1/2 N-1 unit vertical location using either a first weighted sum of the interpolated values for sub-pixels (b) residing at 1/2 N-1 unit horizontal and unit vertical locations or a second weighted sum of the interpolated values for sub-pixels (b) residing at unit horizontal and 1/2 N-1 unit vertical locations obtained in step a); and c) interpolating a value for a sub-pixel (h, i) situated at a 1/2 N unit horizontal and 1/2 N unit vertical location using either: - a weighted average of the value of a first sub-pixel (b) situated at a 1/2 N-m unit horizontal and 1/2 N-n unit vertical location and the value of a second sub-pixel (b) situated at a 1/2 N-p unit horizontal and 1/2 N-q unit vertical location, or - a weighted average of the value of a pixel situated at a unit horizontal and unit vertical location and the value of a sub-pixel (c) situated at a 1/2 N-m unit horizontal and 1/2 N-n unit vertical location, variables m, n, p and q taking integer values in the range 1 to N such that the respective first and second sub-pixels (b) or respective pixel and sub-pixel (c) are located diagonally with respect to the sub-pixel (h, i) at 1/2 N unit horizontal and 1/2 N unit vertical location being interpolated. a) interpolating values for sub-pixels (b) situated at 1/2 N-1 unit horizontal and unit vertical locations, and for sub-pixels (b) situated at unit horizontal and 1/2 N-1 unit vertical locations using weighted sums of pixels residing at respective unit horizontal and unit vertical locations; b) interpolating a value for a sub-pixel (c) situated at a 1/2 N-1 unit horizontal and 1/2 N-1 unit vertical location using either a first weighted sum of the interpolated values for sub-pixels (b) residing at 1/2 N-1 unit horizontal and unit vertical locations or a second weighted sum of the interpolated values for sub-pixels (b) residing at unit horizontal and 1/2 N-1 unit vertical locations obtained in step a); and c) interpolating a value for a sub-pixel (h, i) situated at a 1/2 N unit horizontal and 1/2 N unit vertical location using either: - a weighted average of the value of a first sub-pixel (b) situated at a 1/2 N-m unit horizontal and 1/2 N-n unit vertical location and the value of a second sub-pixel (b) situated at a 1/2 N-p unit horizontal and 1/2 N-q unit vertical location, or - a weighted average of the value of a pixel situated at a unit horizontal and unit vertical location and the value of a sub-pixel (c) situated at a 1/2 N-m unit horizontal and 1/2 N-n unit vertical location, variables m, n, p and q taking integer values in the range 1 to N such that the respective first and second sub-pixels (b) or respective pixel and sub-pixel (c) are located diagonally with respect to the sub-pixel (h, i) at 1/2 N unit horizontal and 1/2 N unit vertical location being interpolated. - a weighted average of the value of a first sub-pixel (b) situated at a 1/2 N-m unit horizontal and 1/2 N-n unit vertical location and the value of a second sub-pixel (b) situated at a 1/2 N-p unit horizontal and 1/2 N-q unit vertical location, or - a weighted average of the value of a pixel situated at a unit horizontal and unit vertical location and the value of a sub-pixel (c) situated at a 1/2 N-m unit horizontal and 1/2 N-n unit vertical location, variables m, n, p and q taking integer values in the range 1 to N such that the respective first and second sub-pixels (b) or respective pixel and sub-pixel (c) are located diagonally with respect to the sub-pixel (h, i) at 1/2 N unit horizontal and 1/2 N unit vertical location being interpolated.