A method and apparatus for interpolating color image information are
provided. One or more image data values for a portion of a digital image
in a vicinity of a target pixel are received and stored in a local array.
A processor determines whether there is an edge in the vicinity of the
target pixel based on the data values in the local array. If there is not
an edge in the vicinity of the target pixel, then long scale
interpolation is performed on the image data values in the local array,
in order to result in interpolating color information that is missing
from the image. If there is an edge in the vicinity of the target pixel,
then short scale interpolation is performed using image data values in a
subset of the local array in a closer vicinity of the target pixel. As a
result, accurate color rendering of a digital image is achieved, even in
the presence of an edge portion that exhibits great contrast between
regions of the image.