1. An image processing apparatus that receives a mosaic input image and subjects the mosaic input image subject to a series of image processing to generate a full color output image, the image processing apparatus comprising: a luminance-chrominance difference component computation module configured to calculate both vertical and horizontal luminance-chrominance difference components for each pixel of the mosaic input image; an enhanced luminance-chrominance difference component computation module configured to calculate an enhanced version of both vertical and horizontal luminance-chrominance difference components for each pixel of the mosaic input image; an edge orientation detection module configured to evaluate the variations in the enhanced luminance-chrominance difference components in order to determine the direction in which demosaicking should be performed; a luminance component interpolation module configured to interpolate a G component for each of the original R and B components; a clamping module configured to detect a signal overshoot or undershoot in each interpolated G component and to clamp each interpolated G component with a detected signal overshoot or undershoot to the closest neighboring original G component; a chrominance component interpolation module configured to interpolating an R component for each of the original G and B components and a B component for each of the original R and G components.