A colour conversion apparatus maps image data from an input colour space (RGB) to an output colour space (CMYK). A transfer function between the colour spaces is known relevant to an appropriate display medium such as a printer and this is divided into intervals for interpolating between the colour spaces. The intervals vary in length depending on the behavior of the transfer function with the intervals being shorter where the transfer function is not well behaved (i.e. rapid change in slope). Interpolation is performed over each interval based on mapping a volume of input pixel data to a corresponding volume of a component of output pixel data. Interpolation is performed between those points to derive an output pixel colour component value. The process is repeated for each primary colour component of the output colour space to produce composite output pixels. Near-white and near-black colour correction is also performed.