USPatent applicationPatented

Method for color filter array interpolation using color correlation similarity and multi-direction edge information

Granted 20 Oct 2009 · 1 office action

Life of the application

8 dated events
⤢ drag to zoom20062008201020122014201620182020202220242026ProsecutionOwnershipTerm & fees
ProsecutionOwnershipTerm & feeshover for detail · click to open

Abstract

A method is provided for reducing occurrence of color fringe errors occurred at the time of carrying out a color filter interpolation and reducing degradation of an image quality. Interpolation of a G channel value in a pixel of the color filter having only R or B channel values is carried out such that a similarity measured between channels based on interpolation results in horizontal and vertical directions are measured, and the G channel interpolation is carried out in a direction where the measured similarity becomes the maximized. However, when the reliability of the measured similarity becomes poor, a final G channel interpolation is carried out using a weighted average value using similarity information of each direction and interpolation results of the horizontal and vertical directions.

Description

8 parts
›CROSS-REFERENCE TO RELATED APPLICATIONS

This application claims priority from Korean Patent Application No. 2005-10084, filed on Feb. 3, 2005, the entire content of which is incorporated herein by reference.

›BACKGROUND OF THE INVENTION · 1 of 2

1. Field of the Invention

Methods consistent with the present invention relate to color filter interpolation for acquiring a color image by means of an image acquired by an image sensor, and in particular, to color interpolation using a color correlation similarity and multi-direction edge information.

2. Description of the Related Art

Videos acquired by an image sensor are monochrome, so that three colors of red (R), green (G), and blue (B) are required at each pixel position in order to acquire a color video. To this end, most digital video apparatuses has a color filter disposed in front of an image sensor which allows only a specific frequency band to be transmitted in a visible light region so that the color video is acquired.

FIG. 1 is a view illustrating a video provided to a conventional digital video apparatus. Hereinafter, a flow of the video provided to the digital video apparatus will be described with reference to FIG. 1 .

The video is provided to a color filter 102 via a lens 100 . The color filter 102 provides the video having a specific frequency band among received videos. As shown in FIG. 1 , the color filter 102 is composed of several regions, and each region allows only a video having the same frequency band as the frequency band of one color among R, G and B colors to be transmitted. The video transmitted by the color filter 102 is provided to an image sensor 104 . The image sensor 104 converts the received video signal into an electrical video signal. FIG. 1 shows the video signal output from the image sensor 104 .

Referring to FIG. 1 , a right upper end illustrates the color filter 102 formed by the video having the same frequency band as the frequency band of R color, a right center end illustrates the color filter 102 formed by the video having the same frequency band as the frequency band of G color, and a right lower end illustrates the color filter 102 formed by the video having the same frequency band as the frequency band of B color.

In general, each pixel is composed of three channel values of R, G, and B for representing a color. However, each pixel which has transmitted the color filter has a pixel value composed of one channel value among three channel values of R, G, and B. That is, the right upper end of FIG. 1 corresponds to a video only having the R channel value, the right center end corresponds to a video only having the G channel value, and the right lower end corresponds to a video only having the B channel value. Hereinafter, the R channel value, the G channel value, and the B channel value will be collectively referred to as a color value for simplicity of description.

FIG. 2 illustrates an example of an arranged structure of the color filter of FIG. 1 . In particular, FIG. 2 shows the arranged structure of Bayer pattern. Referring to FIG. 2 , a video is composed of plurality of pixels, and each pixel represents only one color among R, G, and B colors. In particular, the number of G pixels is larger than the number of R or B pixels. That is, the number of the G pixels is equal to a sum of the number of the R pixels and the number of the B pixels. This is because that the G color is closest to a luminance component and people are most sensitive to the G color.

As such, one pixel is not represented by three colors of R, G, and B, but represented by only one color for the sake of reducing a cost of the digital video apparatus. That is, when one pixel is represented by three colors, the cost of the digital video apparatus increases. Accordingly, a channel value of the color representing a pixel or a channel value of a pixel adjacent to the pixel is employed for a color which is not represented. A method of acquiring the channel value of the color not represented by using the channel value representing the pixel or the channel value of the adjacent pixel is referred to as a color filter array (CFA) interpolation.

Hereinafter, the CFA interpolation will be schematically described with reference to FIG. 2 . Referring to FIG. 2A , a video input by the Bayer pattern is divided into three planes. Three planes are R, G, and B planes. As described above, it can be seen that the number of pixels constituting the G plane is relatively larger than the number of the pixels of the R plane or the number of the pixels of the B plane. That is, the number of the R pixels included in the R plane and the number of the B pixels included in the B plane are four, respectively, however, the number of the G pixels included in the G plane is eight. Accordingly, a pixel which does not represent the color in the R, G, and B planes acquires a color value by means of the CFA interpolation. This is accomplished by operation (B). By carrying out the CFA interpolation, all pixels constituting the R, G, and B planes have R, G, and B channel values, respectively. In general, the CFA interpolation is carried out such that the interpolation is first carried out on the G plane and then carried out on the R and B planes. In addition, by means of operation (C), the CFA interpolation acquires one video using three planes. Hereinafter, the conventional CFA interpolation method will be described.

1) Gradient Based Method

The gradient based method carries out the interpolation on the G channel value of the G pixel in response to the edge pattern of the video. That is, an edge component of the pixel positioned in the vertical direction is measured, and an edge component of the pixel positioned in the horizontal direction is measured. The interpolation is carried out in consideration of the direction having the higher values of the edge components among measured values of the edge components in the horizontal and vertical directions. Hereinafter, a description will be given with reference to FIG. 3 .

A case of interpolating the G channel values of the pixel 5 among pixels shown in FIG. 3 will be described. Edge components of the horizontal direction are first extracted using the channel values of pixel 3 (R), pixel 4 (G), pixel 5 (R), pixel 6 (G), and pixel 7 (R). And edge components of vertical direction are then extracted using the channel values of pixel 1 (R), pixel 2 (G), pixel 5 (R), pixel 8 (G), and pixel 9 (R). Equation 1 below corresponds to an example of extracting the edge components of the horizontal direction and the edge components of the vertical direction. Ra, Ga, and Ba (a is an arbitrary natural number) denoted in Equation 1 represent the channel values of the corresponding color at the respective pixels.

›BACKGROUND OF THE INVENTION · 2 of 2

Δ H=|G 4 −G 6 |+|2× R 5 −R 3 −R 7 |

Δ V=|G 2 −G 8 |+|2× R 5 −R 1 −R 9 |  Equation 1

ΔH denotes the edge component of the horizontal direction, and ΔV denotes the edge component of the vertical direction. Equation 2 below corresponds to a case of carrying out the interpolation in consideration of the edge components of the horizontal direction and the edge components of the vertical direction.

if(Δ H>ΔV ), G 5 =( G 2 +G 8 )/2+( R 5 −R 1 +R 5 −R 9 )/4

else if(Δ H<ΔV ), G 5 =( G 4 +G 6 )/2+( R 5 −R 3 +R 5 −R 7 )/4

else G 5 =( G 2 +G 4 +G 6 +G 8 )/4+(4× R 5 −R 1 −R 9 −R 3 −R 7 )/8   Equation 2

The gradient based method is advantageous in terms of sharpness and color fringe error as compared to the conventional interpolation method, however, still has many color fringe errors. Further, it estimates the edge direction using only a difference between edge components, so that the image quality is degraded due to frequent changes in the interpolation direction.

2) Constant Hue Based Interpolation

The constant hue based interpolation method has been proposed in consideration of the fact that the conventional interpolation method allows an abrupt change in the hue component to occur to thereby cause many color fringe errors. That is, the constant hue based interpolation method carries out the hue based interpolation after carrying out the conventional interpolation so that a performance of the color interpolation is enhanced. The constant hue based interpolation method assumes that a color rate between adjacent pixels (positional components: (x, y)) is same when the change in the hue component is small in the small region. Equation 3 below corresponds to a case of having the same color rate between adjacent pixels.

R y /G y =R x /G x

R y =G y ×( R x /G x )   Equation 3

The constant hue based interpolation method acquires the G plane (c) consisting of G pixels in the Bayer pattern in response to the Bayer pattern, and acquires the G plane (f) by carrying out the conventional interpolation on the acquired G plane (c) as shown in FIG. 2 . A color filter interpolation is then carried out on the R and B planes using the acquired G planes. Hereinafter, a method of determining R 2 and B 3 will be described with reference to FIG. 4 . FIG. 4 shows the G plane where the interpolation has been carried out and R and B planes where the interpolation is not carried out. Equation 4 below corresponds to a case of determining the R 2 and B 3 .

R 2 =G 2 ×{( R 1 /G 1 )+( R 3 /G 3 )}/2

B 3 =G 3 ×{( B 2 /G 2 )+( B 4 /G 4 )}/2   Equation 4

The constant hue based interpolation method can reduce the color fringe errors. However, it carries out the interpolation using the G plane, so that when a reliability about the interpolation result on the G plane becomes poor, a reliability about the interpolation on the R or B plane may also become poor, which may cause the color fringe errors to occur.

3) Pei's Method

Pei's interpolation method is a modified method of the constant hue based interpolation method, which uses R pixels of the R plane and B pixels of the B plane when an interpolation is carried out on the G plane. The Pei's interpolation method is superior to the gradient based method and the constant hue interpolation method in terms of color fringe error. However, it has a problem that zipper artifacts occur because it does not consider the edge information at the time of carrying out the G interpolation. Accordingly, a method capable of effectively carrying out the color interpolation is required.

›SUMMARY OF THE INVENTION

The present invention provides a method of capable of reducing color fringe errors and reducing degradation of image quality.

According to one aspect of the present invention, there is provided a method of acquiring a G channel value in a pixel having a R channel value or a B channel value in a video display apparatus displaying the video input using a plurality of pixels, each pixel having one channel value among three channel values of R, G and B colors, the method includes: calculating a difference between channel values of pixels positioned in a vertical direction, and a difference between channel values of pixels positioned in a horizontal direction; and when the calculated difference between the channel values in the vertical direction and calculated difference between the channel values in the horizontal direction being not less than a threshold value, acquiring the G channel value from the channel value of the pixel positioned in any one direction selected between the horizontal direction and the vertical direction.

According to another aspect of the present invention, there is provided a method of acquiring a R channel value in a pixel having a B channel value in a video display apparatus displaying the video input using a plurality of pixels, each pixel having one channel value among three channel values of R, G and B colors, the method includes: acquiring an edge direction from channel values of pixels having a G channel value positioned around the pixel; and acquiring the R channel value from the G channel value and the B channel value positioned in the acquired direction.

According to yet another aspect of the present invention, there is provided a method of acquiring a R channel value in a pixel having a G channel value in a video display apparatus displaying the video input using a plurality of pixels, each pixel having one channel value among three channel values of R, G and B colors, the method includes: acquiring the G channel value from a pixel the R channel value positioned around the pixel; and acquiring the R channel value of the pixel from the acquired G channel value and the G channel value positioned around the pixel.

›BRIEF DESCRIPTION OF THE DRAWINGS

The above and/or other aspects of the present invention will be more apparent by describing certain exemplary embodiments of the present invention with reference to the accompanying drawings, in which:

FIG. 1 is a view illustrating a video provided to a digital video apparatus;

FIG. 2 is a view illustrating an exemplary RGB color filter interpolation by means of Bayer pattern;

FIG. 3 is a view illustrating an exemplary RGB color filter interpolation by a gradient based method;

FIG. 4 is a view illustrating an exemplary RGB color filter interpolation by a constant hue based method;

FIG. 5 is a flow chart illustrating a procedure of carrying out a RGB color filter interpolation in accordance with an exemplary embodiment of the present invention;

FIG. 6 is another flow chart illustrating a procedure of carrying out a RGB color filter interpolation in accordance with an exemplary embodiment of the present invention; and

FIG. 7 is a view for explaining a method of carrying out a RGB color filter interpolation in accordance with an exemplary embodiment of the present invention.

›DETAILED DESCRIPTION OF THE EXEMPLARY EMBODIMENTS · 1 of 3

Hereinafter, methods of carrying out color interpolation according to exemplary embodiments of the present invention will be described with reference to accompanying drawings.

FIG. 5 is another flow chart schematically illustrating a procedure of carrying out a RGB color filter interpolation in accordance with an exemplary embodiment of the present invention.

Hereinafter, the color filter interpolation proposed by the present invention will be schematically described with reference to FIG. 5 . A unit carrying out the color interpolation will be hereinafter referred to as a color interpolation unit for simplicity of description.

In a operation S 500 , the color interpolation unit carries out a G channel interpolation based on a channel correlation similarity. In a case of the Bayer pattern, it occupies 50% of the G pixel in the total pixels so that a color fringe error due to the G channel interpolation can be removed.

In a operation S 502 , the color interpolation unit carries out a R channel interpolation and a B channel interpolation based on multi-direction edge information. As described above, in a case of the R and B channels, many zipper artifacts occur due to the interpolation errors, so that the multi-direction interpolation is carried out using the G channel values.

In a operation S 504 , an image is generated by pixels combining channel values which form R plane, G plane, and B plane generated by completing the interpolation, and a procedure is terminated in a operation S 506 . Hereinafter, the operation S 500 and the operation S 502 will be sequentially described.

1) G Channel Interpolation Based on the Channel Correlation Similarity

According to the conventional gradient method, occurrence of aliasing was suppressed using a band pass filter for the R and B channels given that when G channel aliasing occurs, the same aliasing occurs in the R and B channels. However, when a high correlation is not present between the G channel value, and the R channel value and the B channel value, that is, when the aliasing occurred in the G channel is not same as the aliasing occurred in the R or B channel, a potential problem still exists. In addition, the gradient based method determines the interpolation direction using a magnitude of the edge component as shown in Equation 1, so that a discontinuity of the video increases due to frequent changes in the edge direction. To cope with this problems, the present invention measures similarities between the G channel value, and the R channel value and the B channel value based on the interpolation results of the horizontal and vertical directions, and carries out the G channel interpolation in a direction where the measured similarity becomes the maximized. However, when the reliability of the measured similarity becomes poor, a final interpolation result is determined using a weighted average value using similarity information of each direction and interpolation results of the horizontal and vertical directions.

FIG. 6 is a flow chart illustrating a procedure of carrying out the G color filter interpolation in accordance with an exemplary embodiment of the present invention.

In a operation S 600 , the color interpolation unit calculates a horizontal direction interpolation result, and in a operation S 602 , it calculates a vertical direction interpolation result. In a operation S 606 , the color interpolation unit receives the calculated horizontal direction interpolation result, and measures a horizontal direction channel correlation similarity. In addition, the color interpolation unit receives the calculated vertical direction interpolation result, and measures a vertical direction channel correlation similarity.

Hereinafter, an example of calculating the horizontal direction interpolation result and the vertical direction interpolation result by means of the color interpolation unit will be described with reference to FIG. 7 . In particular, an example of calculating the G channel value with respect to the pixel R 13 of FIG. 7 will be described. Equation 5 below corresponds to an example of calculating the horizontal direction interpolation result.

( G−R ) HL =|G 12 −( R 11 +R 13 )/2|

( G−R ) HR =|G 14 −( R 13 +R 15 )/2|

( G−R ) HC =|G Horz −R 13 |

G Horz =( G 12 +G 14 )/2+( R 11 −2× R 13 +R 15 )/4   Equation 5

(G−R) HL denotes a left component in the horizontal direction interpolation result, and (G−R) HR denotes a right component in the horizontal direction interpolation result. In addition, (G−R) HC denotes a center component in the horizontal direction interpolation result, and G Horz denotes the horizontal direction interpolation result. Equation 6 below corresponds to an equation of calculating the horizontal direction channel correlation similarity.

Horizontal direction channel correlation similarity=|( G−R ) HL −( G−R ) HC |+|( G−R ) HR −( G−R ) HC |  Equation 6

Equation 7 below corresponds to an example of calculating the vertical direction interpolation result.

( G−R ) VU =|G 8 −( R 3 +R 13 )/2|

( G−R ) VD =|G 18 −( R 13 +R 23 )/2|

( G−R ) VC =|G Vert −R 13 |

G Vert =( G 8 +G 18 )/2+( R 3 −2× R 13 +R 23 )/4   Equation 7

(G−R) VU denotes an upper component in the vertical direction interpolation result, and (G−R) VD denotes a lower component in the vertical direction interpolation result. In addition, (G−R) VC denotes a center component in the vertical direction interpolation result, and G Vert denotes the vertical direction interpolation result. Equation 8 below corresponds to an equation of calculating the vertical direction channel correlation similarity.

Vertical direction channel correlation similarity=|( G−R ) VU −( G−R ) VC |+|( G−R ) VD −( G−R ) VC |  Equation 8

The color interpolation unit calculates a difference between the horizontal direction channel correlation similarity calculated by Equation 6 and the vertical direction channel correlation similarity calculated by Equation 8. When the difference is greater than a threshold value, a similarity in a specific direction is large, so that channel values of pixels positioned in the specific direction are used to carry out the G channel interpolation. When the difference is less than the threshold value, which corresponds to a case that a difference between the vertical direction similarity and the horizontal direction similarity is small, so that channel values of pixels positioned in both directions are used to carry out the G channel interpolation. In a operation S 606 , the color interpolation unit guides the interpolation direction based on the G channel. Equation 9 below corresponds to an example of guiding the interpolation direction in the color interpolation unit.

›DETAILED DESCRIPTION OF THE EXEMPLARY EMBODIMENTS · 2 of 3

Δ V N =|G 2 −G 12 |+|G 12 −G 22 |+|G 4 −G 14 ||G 14 −G 24 |

Δ V C =|G 8 −G 18 |

Δ H N =|G 6 −G 8 |+|G 8 −G 10 |+|G 16 −G 18 ||G 18 −G 20 |

Δ H C =|G 12 −G 14 |  Equation 9

The color interpolation unit determines whether a ratio between ΔV C and ΔH C calculated in Equation 9 is less than 8. When the ratio is greater than 8, the color interpolation unit replaces ΔV C with ΔV and replaces ΔH C with ΔH. When the ratio is less than 8, it replaces ΔV N with ΔV and replaces ΔH N with ΔH.

In a operation S 608 , the color interpolation unit determines a composite weighted value. Hereinafter, a horizontal direction composite weighted value is referred to as α, and a vertical direction composite weighted value is referred to as β. A procedure of determining the composite weighted value will be described later.

In a operation S 610 , the color interpolation unit carries out the G channel interpolation using the composite weighted value determined in the operation S 608 . Equation 10 below corresponds to an equation of carrying out the G channel interpolation.

G interpolation =α×G Horz +β×G Vert   Equation 10

Hereinafter, a method of determining the composite weighted value will be described.

(A) A case that the vertical direction channel correlation similarity is higher than the horizontal direction channel correlation similarity

The color interpolation unit determines α as 1 and β as 0 when a difference between the vertical direction channel correlation similarity and the horizontal direction channel correlation similarity is greater than the threshold value. When the difference is less than the threshold value, the color interpolation unit compares a magnitude of ΔH and a magnitude of ΔV. When ΔH is greater than 2×ΔV, the color interpolation unit determines α as 0 and β as 1. When ΔH is less than 0.5×ΔV, the color interpolation unit determines α as 1 and β as 0. When ΔH is between 0.5×ΔV and 2×ΔV, the color interpolation unit determines α as 1/(1+horizontal direction channel correlation similarity) and β as 1/(1+vertical direction channel correlation similarity).

(B) A case that the horizontal direction channel correlation similarity is higher than the vertical direction channel correlation similarity

The color interpolation unit determines α as 0 and β as 1 when a difference between the vertical direction channel correlation similarity and the horizontal direction channel correlation similarity is greater than the threshold value. When the difference is less than the threshold value, the color interpolation unit compares a magnitude of ΔH and a magnitude of ΔV. When ΔH is greater than 2×ΔV, the color interpolation unit determines α as 0 and β as 1. When ΔH is less than 0.5×ΔV, the color interpolation unit determines α as 1 and β as 0. When ΔH is between 0.5×ΔV and 2×ΔV, the color interpolation unit determines α as 1/(1+horizontal direction channel correlation similarity) and β as 1/(1+vertical direction channel correlation similarity).

(C) A case that the horizontal direction channel correlation similarity is equal to the vertical direction channel correlation similarity.

The color filter compares a magnitude of ΔH and a magnitude of ΔV. When ΔH is greater than 2×ΔV, the color interpolation unit determines α as 0 and β as 1. When ΔH is less than 0.5×ΔV, the color interpolation unit determines α as 1 and β as 0. When ΔH is equal to ΔV, the color interpolation unit determines α as ½ and β as ½. When ΔH is not equal to ΔV and is between 0.5×ΔV and 2×ΔV, the color interpolation unit determines α as 1/(1+horizontal direction channel correlation similarity) and β as 1/(1+vertical direction channel correlation similarity).

2) R Channel and B Channel Interpolation Using Multi-Direction Edge Information

A method of acquiring (interpolating) B channel values from a pixel having the R channel values or R channel values from a pixel having the B channel values will be first described. Interpolation of the R channel values and the B channel values is carried out such that edges are measured by the information about the smoothness of the interpolated G channel values, and the interpolation between the R channel values and the B channel values is carried out using the directional information of the G channel values around the edge when the edge is present. Hereinafter, a direction for the color interpolation will be described. Table 1 below shows directions for the color interpolation.

Hereinafter, a method of interpolating the B channel in R 13 will be described. The color interpolation unit compares the channel values of the pixels positioned around R 13 to determine a direction where the color interpolation is to be carried out. The table 2 below shows differences of channel values between pixels positioned in each direction.

The color interpolation unit determines the edge direction using the calculated sum of absolute difference (SAD). Hereinafter, a procedure of determining the edge direction in the color interpolation unit will be described. Each term for color interpolation in the color interpolation unit is defined as Equation 11 below.

Mean SAD (2 to 5)=Mean(SAD2, SAD3, SAD4, SAD5)

Min SAD (2 to 5)=Min(SAD2, SAD3, SAD4, SAD5)

Sum SAD (0 to 1)=SAD0+SAD1

Min SAD (0 to 1)=Min(SAD0, SAD1)

Max SAD (0 to 1)=Max(SAD0, SAD1)   Equation 11

The color interpolation unit determines the edge direction as shown in the table 3 below.

As such, after determining the edge direction to be considered using the G channel values, the color interpolation unit carries out the B color interpolation using the channel values of pixels positioned in an opposite direction to the edge direction. Hereinafter, a method of carrying out interpolation in the color interpolation unit per each direction will be described. Terms i,j mean (x,y) coordinates of R 13 where the color interpolation is to be carried out on the B channel.

(A) When the edge direction to be considered is the sixth direction:

K 1=(int)(0.25*(Gre[ i− 1][ j− 1]−Blu[ i− 1][ j− 1]));

K 2=(int)(0.25*(Gre[ i− 1][ j+ 1]−Blu[ i− 1][ j+ 1]));

›DETAILED DESCRIPTION OF THE EXEMPLARY EMBODIMENTS · 3 of 3

K 3=(int)(0.25*(Gre[ i+ 1][ j− 1]−Blu[ i+ 1][ j− 1])); and

K 4=(int)(0.25*(Gre[ i+ 1][ j+ 1]−Blu[ i+ 1][ j+ 1]));}.

(B) When the edge direction to be considered is the fist direction:

K 1=(int)(0.5*(Gre[ i− 2][ j+ 1]−(Blu[ i− 3][ j+ 1]+Blu[ i− 1][ j+ 1])/2));

K 2=(int)(0.5*(Gre[ i+ 2][ j− 1]−(Blu[ i+ 1][ j− 1]+Blu[ i+ 3][ j− 1])/2));

K3=0; and

K4=0.

(C) When the edge direction to be considered is the second direction:

K 1=(int)(0.5*(Gre[ i− 1][ j+ 2]−(Blu[ i− 1][ j+ 1]+Blu[ i− 1][ j+ 3])/2));

K 2=(int)(0.5*(Gre[ i+ 1][ j− 2]−(Blu[ i+ 1][ j− 3]+Blu[ i+ 1][ j− 1])/2));

K3=0; and

K4=0.

(C) When the edge direction to be considered is the fourth direction

K 1=(int)(0.5*(Gre[ i− 1][ j− 2]−(Blu[ i− 1][ j− 3]+Blu[ i− 1][ j− 1])/2));

K 2=(int)(0.5*(Gre[ i+ 1][ j+ 2]−(Blu[ i+ 1][ j+ 1]+Blu[ i+ 1][ j+ 3])/2));

K3=0; and

K4=0.

(E) When the edge direction to be considered is the fifth direction:

K 1=(int)(0.5*(Gre[ i− 2][ j− 1]−(Blu[ i− 3][ j− 1]+Blu[ i− 1][ j− 1])/2));

K 2=(int)(0.5*(Gre[ i+ 2][ j− 1]−(Blu[ i+ 1][ j− 1]+Blu[ i+ 3][ j− 1])/2));

K3=0; and

K4=0.

(F) When the edge direction to be considered is the seventh direction:

K 1=(int)(0.25*(Gre[ i− 2][ j− 1]−(Blu[ i− 3][ j− 1]+Blu[ i− 1][ j− 1])/2));

K 2=(int)(0.25*(Gre[ i+ 2][ j− 1]−(Blu[ i+ 1][ j− 1]+Blu[ i+ 3][ j− 1])/2));

K 3=(int)(0.25*(Gre[ i− 2][ j+ 1]−(Blu[ i− 3][ j+ 1]+Blu[ i− 1][ j+ 1])/2)); and

K 4=(int)(0.25*(Gre[ i+ 2][ j− 1]−(Blu[ i+ 1][ j− 1]+Blu[ i+ 3][ j− 1])/2)).

The color interpolation unit carries out the color interpolation on the B channel using K 1 to K 4 calculated in (A) to (F). Equation 12 below corresponds to an example of carrying out the color interpolation in the color interpolation unit.

Blue[ i][j ]=Gre[ i][j ]−( K 1+ K 2+ K 3+ K 4)   Equation 12

Hereinafter, a case of having no edge components will be described. When the edge component is not present, the color interpolation unit carries out the color interpolation using the channel values of pixels positioned around a pixel where the interpolation is to be carried out. Equation 13 below corresponds to an equation of carrying out the color interpolation using the pixels positioned around the pixel in the color interpolation unit when the edge component is not present.

B 13 =G 13 −( W 1 ×CD 1 +W 2 ×CD 2 +W 3 ×CD 3 +W 4 ×CD 4 )/( W 1 +W 2 +W 3 W 4 )  Equation 13

CD 1 is G 7 −B 7 , CD 2 is G 9 −B 9 , CD 3 is G 17 −B 17 , and CD 4 is G 19 −B 19 . In addition, W 1 is 1/(1+CD 1 ), W 2 is 1/(1+CD 2 ), W 3 is 1/(1+CD 3 ), and W 4 is 1/(1+CD 4 ).

In addition, Equation 13 corresponds to an equation of interpolating B channel values from a pixel having the R channel values or R channel values from a pixel having the B channel values.

However, a method of interpolating the R channel values or the B channel values from a pixel having the G channel pixels in the color interpolation unit is same as Equation 14 below.

B 8 =G 8 −( W 1 ×CD 1 +W 2 ×CD 2 )/( W 1 +W 2 )  Equation 14

CD 1 is G 7 −B 7 , CD 2 is G 9 −B 9 , W 1 is 1/(1+CD 1 ), and W 2 is 1/(1+CD 2 ).

As described above, the present invention carries out the G color interpolation using the color correlation similarity, and carries out the R and B channels using the multi-direction edge components, so that the color fringe errors can be reduced, and degradation of the image quality can be reduced. In addition, the zipper artifacts occurred when the edge information is not considered at the time of interpolating the G channel, can be prevented.

The foregoing exemplary embodiment and advantages are merely exemplary and are not to be construed as limiting the present invention. The present teaching can be readily applied to other types of apparatuses. Also, the description of the exemplary embodiments of the present invention is intended to be illustrative, and not to limit the scope of the claims, and many alternatives, modifications, and variations will be apparent to those skilled in the art.

›Tables in the description — 3
TABLE 1
Zero directionR 13 →G 8
First directionR 13 →G 18
Second directionR 13 →G 14
Third directionR 13 →G 12
Fourth directionR 13 →G 2
Fifth directionR 13 →G 4
Sixth directionR 13 →G 10
Seventh directionR 13 →G 20
Eighth directionR 13 →G 24
Ninth directionR 13 →G 22
Tenth directionR 13 →G 16
Eleventh directionR 13 →G 6
TABLE 2
SAD0(zerodifference between channel values of G 2 and G 12 +
direction,difference between channel values of G 12 and G 22 +
seconddifference between channel values of G 4 and G 14 +
direction)difference between channel values of G 14 and G 24
SAD1(firstdifference between channel values of G 6 and G 8 +
direction,difference between channel values of G 8 and G 10 +
thirddifference between channel values of G 16 and G 18 +
direction)difference between channel values of G 18 and G 20
SAD2(fourthdifference between channel values of G 26 and G 12 +
direction,difference between channel values of G 12 and G 24 +
eighthdifference between channel values of G 2 and G 14 +
direction)difference between channel values of G 14 and G 27
SAD3(fifthdifference between channel values of G 4 and G 12 +
direction,difference between channel values of G 12 and G 29 +
ninthdifference between channel values of G 28 and G 14 +
direction)difference between channel values of G 14 and G 22
SAD4(sixthdifference between channel values of G 8 and G 30 +
direction,difference between channel values of G 10 and G 12 +
tenthdifference between channel values of G 14 and G 16 +
direction)difference between channel values of G 31 and G 18
SAD5(seventhdifference between channel values of G 30 and G 18 +
direction,difference between channel values of G 6 and G 14 +
eleventhdifference between channel values of G 12 and G 20 +
direction)difference between channel values of G 8 and G 31
TABLE 3
ConditionEdge direction
Sum SAD (0 to 1) = 0 and Mean SAD (2 to 5) ≠ 0Sixth direction
Sum SAD (0 to 1) ≠ 0 and Mean SAD (2 to 5) = 0Seventh direction
Sum SAD (0 to 1) = 0 and Mean SAD (2 to 5) = 0Sixth direction
Sum SAD (0 to 1) ≠ 0 and Mean SAD (2 to 5) ≠ 0
1) Mean SAD (2 to 5) × Min SAD (0 to 1) <Sixth direction
Max SAD (0 to 1) × Min SAD (2 to 5)
2) Min SAD (2 to 5) = SAD2Fifth direction
3) Min SAD (2 to 5) = SAD3First direction
4) Min SAD (2 to 5) = SAD4Second direction
5) Min SAD (2 to 5) = SAD5Fourth direction

Claims as granted

11 claims

Log in to read the claims of this application.

Log in to unlock

Classifications

4 codes
IPC · International Patent Classification
Section H — Electricity
  • H04N23/40
  • H04N23/12
USPC · US Patent Classification
348/223.1348/222.1

Claim changes

Soon
Coming soonHow the claims changed between publication and grant

See which claims were amended, added or cancelled during examination, with every added and removed word marked.

AmendedAddedCancelledUnchanged

The published claims of this application are not paired with the granted ones in what we hold.

File wrapper

⤢ drag to zoomJan 2006Jul 2006Jan 2007Jul 2007Jan 2008Jul 2008Jan 2009Jul 2009Jan 2010USPTOApplicantNon-final rejectionNotice of allowance
USPTOApplicanthover for detail · click to open
Pendency
3.7 y
1,369 days filing → grant
Office actions
1
non-final + final
Responses
1
no RCE
Examiner
James M Hannett
art unit 2622 · TC 2600
Citations: 3 back · 4 forward

See the full prosecution history — every USPTO and applicant action on this file, in order.

Log in to unlock

Documents

Log in to open the documents of this file: the application as filed, every office action and response, the notice of allowance.

Log in to unlock

Chain of title

⤢ drag to zoom20062008201020122014201620182020202220242026Owner 1
Titlehover for detail · click to open

See the full assignment history — every owner this patent has passed through, with recordation dates and reel/frame numbers.

Log in to unlock