Patent ID: 8320714

Claim:
An image processing apparatus comprising: color difference calculating means for creating (R−G) pixels at R pixel positions and (B−G) pixels at B pixel positions and generating an (R−G)G(B−G) Bayer array image from an RGB Bayer array image; band-limited interpolation means for interpolating sampling positions of a number that is smaller than a number of G pixels in the RGB Bayer array image to obtain an equal number of interpolation (R−G), interpolation G, and interpolation (B−G) pixels at a same sampling position from the (R−G)G(B−G) Bayer array image; and RGB calculating means for calculating, for each of the sampling positions, an interpolation R pixel based on the interpolation (R−G) pixel and the interpolation G pixel obtained by the band-limited interpolation means, and an interpolation B pixel based on the interpolation (B−G) pixel and the interpolation G pixel obtained by the band-limited interpolation means, to obtain interpolation R pixels, interpolation G pixels, and interpolation B pixels constituting a color image in which R, G and B pixels coincide at each sampling position; wherein the color difference calculating means includes: color difference candidate calculating means for calculating, when a position on the RGB Bayer array image is expressed by (x, y) (x is an integer indicative of a pixel position in a horizontal direction, and y is an integer indicative of a pixel position in a vertical direction) and an R pixel or a B pixel at a G pixel missing position (x 0 , y 0 ) is defined as X(x 0 , y 0 ), M types (M is an integer equal to or larger than 2) of G interpolation candidates G t (x 0 , y 0 ) (t=1, . . . , M) for the X(x 0 , y 0 ) pixel, and calculating M types of color difference candidates X(x 0 , y 0 )−G t (x 0 , y 0 ) based on the calculated M types of G interpolation candidates G t (x 0 , y 0 ); and selecting means for calculating M types of color difference correlation related values, based on a plurality of color difference candidates of X, X(x 0 +n y 0 +m)−G t (x 0 +n y 0 +m) calculated for surrounding positions (x 0 +n y 0 +m) (n and m are arbitrary integers which are not 0 at the same time) based on G interpolation candidates G t (x 0 +n y 0 +m) which are the same type t as the G interpolation candidates G t (x 0 , y 0 ) used when calculating the color difference candidates X(x 0 , y 0 )−G t (x 0 , y 0 ) and which are calculated at the surrounding positions (x 0 +n y 0 +m), and based on the color difference candidates X(x 0 , y 0 )−G t (x 0 , y 0 ), and for selecting, as a color difference, a color difference candidate X(x 0 , y 0 )-G (x 0 , y 0 )(1≦p≦M) calculated based on a G interpolation candidate G p (x 0 , y 0 ) among the M types of G interpolation candidates G t (x 0 , y 0 ), based on the calculated M types of color differences correlation related values.