A method of processing image data in a camera, said camera including an image sensor with a colour filter array including red, green and blue filters, wherein the image sensor includes an array of photosites, each photosite being configured to receive light at a respective one of a plurality of colours in the colour filter array and output a pixel value indicating an intensity of light captured at the corresponding photosite; the method includes: demosaicing raw image data generated by the image sensor to generate a plurality of colour images of pixel values, each colour image corresponding to a colour of the colour filter array, each pixel value of each colour image being calculated using a weighted interpolation method irrespective of whether a pixel value of that colour was captured at a corresponding photosite of the colour filter array; generating a luminance image from one or more of the colour images, the luminance image having a first resolution wherein a value Y(i,j) of the pixel at the position (i,j) of said luminance image is calculated by: Y i,j = R i,j + 2 G i,j + B i,j / 4 wherein R(i,j) is the correspondingly positioned pixel value in a red colour image, B(i,j) is the correspondingly positioned pixel value in a blue colour image and G(i,j) is the correspondingly positioned pixel value in a green colour image at the position (i,j); and generating from one or more of the colour images, at least two chrominance images, each chrominance image having a second resolution that is less than the first resolution wherein a value CB(i,j) of the pixel at the position (i,j) of a blue chrominance image is calculated by: CB i,j = B i,j − Y i,j / kB wherein B(i,j) is the correspondingly positioned pixel value in a blue colour image, Y(i,j) is the correspondingly positioned pixel value in the luminance image and kB is a constant and a blue chrominance image value is only calculated at pixel locations corresponding to blue pixels of the colour filter array, and wherein a value CR(i,j) of the pixel at the position (i,j) of a red chrominance image is calculated by: CR i,j = R i,j − Y i,j / kR wherein R(i,j) is the correspondingly positioned pixel value in a red colour image, Y(i,j) is the correspondingly positioned pixel value in a luminance image and kR is a constant, and a red chrominance image value is only calculated at pixel locations corresponding to red pixels of the colour filter array; wherein kR and kB are chosen to maximise the precision in the data range for CB(i,j) and CR(i,j) such that the luminance image and at the least two chrominance images represent the whole colour range of the raw image data generated by the image sensor such that the data range of the raw image data has not been limited or clipped. demosaicing raw image data generated by the image sensor to generate a plurality of colour images of pixel values, each colour image corresponding to a colour of the colour filter array, each pixel value of each colour image being calculated using a weighted interpolation method irrespective of whether a pixel value of that colour was captured at a corresponding photosite of the colour filter array; generating a luminance image from one or more of the colour images, the luminance image having a first resolution wherein a value Y(i,j) of the pixel at the position (i,j) of said luminance image is calculated by: Y i,j = R i,j + 2 G i,j + B i,j / 4 wherein R(i,j) is the correspondingly positioned pixel value in a red colour image, B(i,j) is the correspondingly positioned pixel value in a blue colour image and G(i,j) is the correspondingly positioned pixel value in a green colour image at the position (i,j); and generating from one or more of the colour images, at least two chrominance images, each chrominance image having a second resolution that is less than the first resolution wherein a value CB(i,j) of the pixel at the position (i,j) of a blue chrominance image is calculated by: CB i,j = B i,j − Y i,j / kB wherein B(i,j) is the correspondingly positioned pixel value in a blue colour image, Y(i,j) is the correspondingly positioned pixel value in the luminance image and kB is a constant and a blue chrominance image value is only calculated at pixel locations corresponding to blue pixels of the colour filter array, and wherein a value CR(i,j) of the pixel at the position (i,j) of a red chrominance image is calculated by: CR i,j = R i,j − Y i,j / kR wherein R(i,j) is the correspondingly positioned pixel value in a red colour image, Y(i,j) is the correspondingly positioned pixel value in a luminance image and kR is a constant, and a red chrominance image value is only calculated at pixel locations corresponding to red pixels of the colour filter array; wherein kR and kB are chosen to maximise the precision in the data range for CB(i,j) and CR(i,j) such that the luminance image and at the least two chrominance images represent the whole colour range of the raw image data generated by the image sensor such that the data range of the raw image data has not been limited or clipped.