Image processing methods, apparatus and computer program products using interdependent pixel interpolation operations
Image processing includes generating image data for an image, the image data including an array of original pixels. Respective first pixels for the image are interpolated from respective pluralities of original pixels adjacent the interpolated first pixels. Respective second pixels for the image are interpolated from respective pluralities of original pixels adjacent the interpolated second pixels using image information generated in the interpolation of the interpolated first pixels.
1. An image processing method comprising:
generating image data for an image, the image data comprising an array of original pixels;
interpolating respective first pixels for the image from respective pluralities of original pixels adjacent the interpolated first pixels; and
interpolating respective second pixels for the image from respective pluralities of original pixels adjacent the interpolated second pixels using image information generated in the interpolation of the interpolated first pixels.
2. The method of claim 1 , wherein interpolating respective first pixels for the image from respective pluralities of original pixels adjacent the interpolated first pixels comprises:
detecting an edge from the original pixels adjacent the first interpolated pixel;
generating a directional interpolation coefficient responsive to detection of the edge;
generating a directional interpolation value from the directional interpolation coefficient;
linearly interpolating a value of the adjacent original pixels;
calculating a spatial frequency of the adjacent original pixel; and
combining the directional interpolation value and the linearly interpolated value based on the calculated spatial frequency to generate an interpolated first pixel.
3. The method of claim 2 , wherein linearly interpolating a value of the adjacent original pixels comprises using bi-linear and/or bi-cubic interpolation.
4. The method of claim 2 , wherein combining the directional interpolation value and the linearly interpolated value comprises:
determining a weight value of the directional interpolation value according to the calculated spatial frequency; and
combining the directional interpolation value and the linearly interpolated value based on the determined weight value to generate a first interpolated pixel.
5. The method of claim 4 , wherein determining a weight value of the directional interpolation value according to the calculated spatial frequency comprises assigning a first weight value to the directional interpolation value if the calculated spatial frequency is greater than a predetermined value or assigning a second weight value less than the first weight value to the directional interpolation value if the calculated spatial frequency is less than the predetermined value.
6. The method of claim 4 , wherein generating a directional interpolation coefficient comprises:
calculating a luminance value from the adjacent original pixels;
calculating a direction based on the calculated luminance value; and
generating the directional interpolation coefficient based on the calculated direction.
7. The method of claim 1 , wherein interpolating respective second pixels comprises interpolating the second pixels after interpolating first pixels for the entire image.
8. The method of claim 1 , wherein interpolating respective second pixels comprises interpolating the second pixels from adjacent original pixels and the interpolated first pixels.
9. The method of claim 1 , wherein interpolating respective second pixels comprises interpolating the second pixels from adjacent original pixels and luminance information generated in interpolating the first pixels.
10. An apparatus comprising a computer configured to perform the method of claim 1 .
11. A non-transitory computer-readable medium having computer program code embodied therein, the computer program code configured to perform the method of claim 1 .