Patent ID: 7212689
Filing Date: 2007-05-01
Classification: G06T

Abstract:
1. A process for producing from an input color or gray scale original image an interpolated color or gray scale image that is larger in size X times than the original image and comprising of the following steps: writing X as a fraction of two integers M/N; in the original image selecting a neighborhood ( linearly interpolating in each said neighborhood the center value of the pixel in the horizontal, vertical, diagonal-1 (or 45 degrees) and diagonal-2 (or −45 degrees) directions assuming the center pixel is missing; calculating in each said neighborhood the following four absolute errors: the errors between the center pixel and the interpolated values in the horizontal, vertical and two diagonal directions; labeling the said center pixel nondiagonal-neutral if the distance of the absolute errors in the horizontal and vertical directions is less than a pre-determined threshold; labeling the said center pixel horizontal if it is not labeled nondiagonal-neutral and if the absolute error in the horizontal direction is less than the absolute error in the vertical direction; labeling the said center pixel vertical if it is not labeled nondiagonal-neutral and not labeled horizontal; labeling the said center pixel diagonal-neutral if the distance of the absolute errors in the diagonal-1 and diagonal-2 directions is less than a pre-determined threshold; labeling the said center pixel diagonal-1 if it is not labeled diagonal-neutral and if the absolute error in the diagonal-1 direction is less than the absolute error in the diagonal-2 direction; labeling the said center pixel diagonal-2 if it is not labeled diagonal-neutral and not labeled diagonal-1; applying the above labeling procedure to each pixel in the original image such that each pixel will have a nondiagonal label and a diagonal label; calling the collection of all nondiagonal labels the nondiagonal label image and the collection of all diagonal labels the diagonal label image; filtering using a median filter, or other impulsive noise removal filter, the said nondiagonal label image and the said diagonal label image to produce the final nondiagonal label image ( upsampling (inserting zeros between known pixels) the original image by factor M; naming, in the upsampled image, each M+1 by M+1 block that contains original pixels at the four corners: a local block; labeling each said local block as diagonal-1, diagonal-2 or diagonal-neutral based on the majority of the diagonal labels of the original nearby pixels; interpolating the center of the said local block in the diagonal-1 direction (using only original pixels in the diagonal-1 direction) if the block is labeled diagonal-1; interpolating the center of the said local block in the diagonal-2 direction (using only original pixels in the diagonal-2 direction) if the block is labeled diagonal-2; interpolating the center of the said local block as the average of all four corners if the local block is labeled diagonal-neutral; interpolating the said local block in the two diagonal directions using the original pixels and the center pixel interpolated above; interpolating all the local blocks as described above and call this: the upsampled and diagonally interpolated image; naming, in the said upsampled and diagonally interpolated image, each M+1 by M+1 block that contains original pixels and centers, of the local blocks, at the midway points of the four sides: a local rhombus; labeling each said local rhombus as horizontal, vertical or nondiagonal-neutral based on the majority of the nondiagonal labels of the original nearby pixels; interpolating the said local rhombus in the horizontal direction and using the pixels of the said upsampled and diagonally interpolated image if the local rhombus is labeled horizontal; interpolating the said local rhombus in the vertical direction and using the pixels of the said upsampled and diagonally interpolated image if the local rhombus is labeled vertical; averaging the horizontal and vertical interpolation of the said local rhombus if the said local rhombus is labeled nondiagonal-neutral; downsampling by N (taking every Nth pixel).