This application claims foreign priority benefits under 35 U.S.C. .sctn. 119(a)-(d) to PCT/KR2007/003575, filed Jul. 25, 2007, which is hereby incorporated by reference in its entirety.
1. Technical Field
The present invention relates to a color interpolation device and a method more specifically to a color interpolation method and a device that can improve image quality through color interpolation.
2. Description of the Related Art
Recent development of multimedia apparatuses has allowed complex images to be processed.
As illustrated in
Referring to
In the color interpolation, since the large difference between a G value in a GB line and a G value in a RG line causes grid noise to be generated, the method of removing the grid noise is also required to be developed along with a new color interpolation method.
The present invention provides a color interpolation method and a device that perform color interpolation by using edge directional information.
The present invention also provides a color interpolation method and a device that can prevent wrong color from being generated in the vicinity of minute edge.
The present invention also provides a color interpolation method and a device that can prevent zipper-shaped artifacts from being generated around the edge when a color interpolation process is performed.
In addition, the present invention provides a grid noise removing method, applicable to a color interpolation, which can prevent wrong color and zipper-shaped artifacts from being generated.
Other problems that the present invention solves will become more apparent through the following description.
To solve the above problems as described above, according to an aspect of the present invention, there is provided a color interpolation method including (a) setting a grid noise coefficient; (b) computing a grid noise offset by using the grid noise coefficient set in the step of (a); (c) extracting a pixel value only from a Bayer pattern image regardless of R, G and B values and computing edge directional information; (d) determining a condition of the edge directional information, computed in the step of (c), among a plurality of predetermined conditions, each of the plurality of predetermined conditions corresponding to a color interpolation parameter computing algorithm and the grid noise offset being used as a parameter of the color interpolation parameter computing algorithm corresponding to each of the conditions; and (e) computing a color interpolation parameter based on the color interpolation parameter computing algorithm corresponding to the condition of the edge directional information, determined in the step of (d).
According to another aspect of the present invention, there is provided a color interpolation including a noise setting unit, setting a grid noise coefficient corresponding to a Bayer pattern image; a grid noise offset computing unit, computing a grid noise offset by using the grid noise coefficient set by the noise setting unit; an edge directional information computing unit, extracting a pixel value only from the Bayer pattern image regardless of R, G and B values and computing edge directional information; an directional information condition determining unit, determining a condition of the edge directional information, computed in the edge directional information computing unit, among a plurality of predetermined conditions, each of the plurality of predetermined conditions corresponding to a color interpolation parameter computing algorithm and the grid noise offset being used as a parameter of the color interpolation parameter computing algorithm corresponding to each of the conditions; and a parameter computing unit, computing a color interpolation parameter based on the color interpolation parameter computing algorithm corresponding to the condition of the edge directional information, determined by the edge directional information condition determining unit.
The above objects, features and advantages will become more apparent through the below description with reference to the accompanying drawings.
Since there can be a variety of permutations and embodiments of the present invention, certain embodiments will be illustrated and described with reference to the accompanying drawings. This, however, is by no means to restrict the present invention to certain embodiments, and shall be construed as including all permutations, equivalents and substitutes covered by the spirit and scope of the present invention. Throughout the drawings, similar elements are given similar reference numerals. Throughout the description of the present invention, when describing a certain technology is determined to evade the point of the present invention, the pertinent detailed description will be omitted.
Terms such as “first” and “second” can be used in describing various elements, but the above elements shall not be restricted to the above terms. The above terms are used only to distinguish one element from the other. For instance, the first element can be named the second element, and vice versa, without departing the scope of claims of the present invention. The term “and/or” shall include the combination of a plurality of listed items or any of the plurality of listed items.
When one element is described as being “connected” or “accessed” to another element, it shall be construed as being connected or accessed to the other element directly but also as possibly having another element in between. On the other hand, if one element is described as being “directly connected” or “directly accessed” to another element, it shall be construed that there is no other element in between.
The terms used in the description are intended to describe certain embodiments only, and shall by no means restrict the present invention. Unless clearly used otherwise, expressions in the singular number include a plural meaning. In the present description, an expression such as “comprising” or “consisting of” is intended to designate a characteristic, a number, a step, an operation, an element, a part or combinations thereof, and shall not be construed to preclude any presence or possibility of one or more other characteristics, numbers, steps, operations, elements, parts or combinations thereof.
Unless otherwise defined, all terms, including technical terms and scientific terms, used herein have the same meaning as how they are generally understood by those of ordinary skill in the art to which the invention pertains. Any term that is defined in a general dictionary shall be construed to have the same meaning in the context of the relevant art, and, unless otherwise defined explicitly, shall not be interpreted to have an idealistic or excessively formalistic meaning.
Hereinafter, preferred embodiments will be described in detail with reference to the accompanying drawings. Identical or corresponding elements will be given the same reference numerals, regardless of the figure number, and any redundant description of the identical or corresponding elements will not be repeated.
Before describing the present invention, an effective interpolation method as a typical color interpolation method will be firstly described.
The color interpolation for an inputted 5×5 Bayer pattern image is performed.
Described first will be a typical interpolation method of a case in which R3 is a center pixel, as illustrated in
Parameters Rn, Rw, Rs and Re and Kr1, Kr2, Kr3 and Kr4 are computed in case that an R component is a center pixel in a Bayer pattern.
The parameters Rn, Rw, Rs and Re are computed by the following Formula 1.
Also, the parameters Kr1, Kr2, Kr3 and Kr4 are computed by the following Formula 2.
Kr1=G4−Rn
Kr2=G6−Rw
Kr3=G9−Rs
Kr4=G7−Re [Formula 2]
If the parameters Rn, Rw, Rs and Re and Kr1, Kr2, Kr3 and Kr4 are computed by the Formula 1 and Formula 2, respectively, the final output value of a G component can be computed.
Gout, the final output value of the G component, is computed by the following Formula 3.
To evaluate the final output value of an interpolated B component, parameters Gwn, Gws, Ges and Gen and Kb1, Kb2, Kb3 and Kb4 must be computed.
The parameters Gwn, Gws, Ges and Gen are computed by the following Formula 4.
The parameters Kb1, Kb2, Kb3 and Kb4 are also computed by the following Formula 5.
Kb1=Gwn−B1
Kb1=Gwn−B1
Kb2=Gen−B2
Kb3=Gws−B3
Kb4=Ges−B4 [Formula 5]
If the parameters computed by the Formula 4 and Formula 5 are used, an output value of the interpolated B component can be evaluated by the following Formula 6.
In the meantime, an output value of the interpolated R component is identical to the R3, a center pixel, as shown in the following Formula 7.
Rout=R3 [Formula 7]
The case of the R component being the center pixel has been already described with reference to
Next, the typical interpolation method in case that G5 is the center pixel in the GB line will be described.
In case that the G component is the center pixel in the GB line of the Bayer pattern, parameters Gn, Gw, Gs and Ge and Kr1, Kr2, Kb1 and Kb2 are computed.
The parameters Gn, Gw, Gs and Ge are computed by the following Formula 8.
The parameters Kr1, Kr2, Kb1 and Kb2 are also computed by the following Formula 9.
Kr1=Gn−R1
Kr2=Gs−R2
Kb1=Gw−B1
Kb2=Ge−B2 [Formula 9]
If the parameters Gn, Gw, Gs and Ge and Kr1, Kr2, Kb1 and Kb2 are computed by the Formula 8 and Formula 9, respectively, the interpolated final output value of R, G and B components can be computed.
Gout, the final output value of the G component, is identical to the G5 as shown in the following Formula 10.
Gout=G5 [Formula 10]
Rout, the final output value of the R Component, is computed by the following Formula 11.
Finally, Bout, the final output value of the B component, is computed by the following Formula 12.
The case of the G component being the center pixel in the GB line was described with reference to
The above description is related to the previously used typical effective interpolation.
As described above, in accordance with the conventional interpolation method, as shown in a resolution chart video of
To solve these problems, the present invention computes a new parameter of edge directional information and calculates color interpolation parameters by each different method according to the edge directional information.
Since the color interpolation is performed by using the edge directional information, a grid noise removing method different from the conventional method is needed. Accordingly, the present invention suggests the method of removing grid noise from the method of performing the color interpolation by using the edge directional information.
To compute the edge directional information, a 5×5 mask having a pixel value of each component only is used regardless of the R, G and B components of a Bayer pattern.
Referring to
The directional information computing unit 500 computes edge directional information. The edge directional information is extracted by using a 5×5 mask value, illustrated in
In accordance with an embodiment of the present invention, the edge vertical directional information is computed by using the difference in vertically disposed pixel values in a 5×5 mask, and the edge horizontal directional information is computed by using the difference in horizontally disposed pixel values in the 5×5 mask.
The more detailed method for computing the vertical directional information and the horizontal directional information will be described through additional drawings.
The grid noise coefficient setting unit 502 functions to set a coefficient for grid noise offset computation used for removing grid noise.
The grid noise coefficient can be determined by computing a pixel average value of each line of a Bayer pattern image, estimating a line by use of the computed average value and computing the difference between the average value and the line estimation value.
A case of G being a center pixel in a GB line (or G being a center pixel in a RG line) will be firstly described.
In case that the G is the center pixel in the GB line (or the G is the center pixel in the RG line), the average value of each line of the Bayer pattern image is computed by the following Formulas 13 through 17.
Lines arranged between each adjacent line are estimated by using the computed average values of each adjacent line. For example, a second line is estimated by using an average value of first and third lines, a third line is estimated by using an average value of second and fourth lines and a fourth line is estimated by using an average value of the third and fifth lines. In other words, since the differences of average values occur in even-numbered lines due to having no information related to odd-numbered lines (or in odd-numbered lines due to having no information related to even-numbered lines), the lines arranged between each adjacent line are firstly estimated.
The estimation values of the second line, the third line and the fourth line are computed by the following formulas 18 through 20.
If the average values of each adjacent line and the estimation values using the average values of each adjacent line are computed, the differences between the estimation values and the average values are computed. When the differences between the estimation values and the average values of the second line, the third line and the fourth line are computed, the average values are subtracted from the estimation values for the even-numbered lines, but the estimation values are subtracted from the average value for the odd-numbered lines. This is because while the average values are typically smaller than the estimation values in the odd-numbered line, the average values are typically larger than the estimation values in the even-numbered line.
The differences between the estimation values and the average values of the second line, the third line and the fourth line can be computed by the following Formulas 21 through 23.
The grid noise coefficient is computed by using the Formulas 21 through 23. Particularly, it is one of good examples that the grid noise coefficient is set as the half of the average value of the Formulas 21 through 23, but the setting value can be changed as necessary.
m, the grid noise coefficient, computed by using the Formulas 21 through 23, is computed by the following Formula 24.
If the above Formula 24 is optimized, the following Formula 25 is deduced.
In case where the G is the center pixel in the GB line (or the G is the center pixel in the RG line), the grid noise coefficient is set by using the result of the above Formula 25. This is represented in the form of a 5×5 mask as shown in
If the G component is not the center pixel, that is, an R is the center pixel in the RG line (or a B is the center pixel in the GB line), the grid noise coefficient is computed through the same deducing process as described above.
In other words, the grid noise coefficient is computed through the grid noise coefficient computing operation by computing a pixel average value of each line of a Bayer pattern image, estimating a line and computing the difference between the average value and the line estimation value. In this case, the grid noise coefficient is computed by the following Formula 26.
m=(11×G1+11×G2−21×G3−21×G4−21×G5+41×G6+41×G7−21×G8−21×G9−21×G10+11×G11+11×G12)/256 [Formula 26]
In case where the R is the center pixel in the RG line (or the B is the center pixel in the GB line), the grid noise coefficient computed by using the above Formula 26 is represented in the form of a 5×5 mask as shown in
The grid noise coefficient setting unit 502 pre-sets the grid noise coefficient, deduced through the same process as described above, in the forms of
The grid noise offset computing Formulas are the same as the Formulas 25 and 26 used in the grid noise coefficient deducing process. However, the grid noise offset computing unit 504 determines whether the computed grid noise offset is larger than a predetermined threshold g_threshold, and if the computed grid noise offset is larger than a predetermined threshold, sets a grid noise offset value by the following Formula 27.
g_offset=sign(g_offset)×g_threshold [Formula 27]
In the above Formula 27, if the grid noise offset is larger than zero, the sign is outputted as 1. If the grid noise offset is smaller than 0, the sign is outputted as −1. If the grid noise offset is zero, the sign is outputted as zero.
It shall be also evident to any person of ordinary skill in the art that the grid noise threshold value is adjustable as necessary in the above Formula 27.
The directional information condition determining unit 506 determines which one of the predetermined conditions the directional information, computed in the directional information computing unit 500, belongs to.
Here, the first condition of the predetermined conditions satisfies the case of the vertical directional information being larger than a first threshold and the horizontal directional information being larger than a second threshold.
In case that the vertical directional information and the horizontal directional information, extracted in the directional information computing unit 500, are satisfied with the first condition, the directional information condition determining unit 506 controls the first condition parameter computing unit 508 to compute a color interpolation parameter.
The second condition of the predetermined conditions satisfies the case of the vertical directional information being larger than the horizontal directional information.
In case that the vertical directional information and the horizontal directional information, extracted in the directional information computing unit 500, are satisfied with the second condition, the directional information condition determining unit 506 controls the second condition parameter computing unit 510 to compute the color interpolation parameter.
However, in case that the output value of the directional information computing unit 500 satisfies both the first condition and the second condition, the directional information condition determining unit 506 controls the first condition parameter computing unit 508 to compute the color interpolation parameter.
The third condition of the predetermined conditions is related to the case of the vertical directional information and the horizontal directional information satisfying neither the first condition nor the second condition. In this case, the directional information condition determining unit 506 controls the third condition parameter computing unit 508 to compute the color interpolation parameter.
The first condition parameter computing unit 508, the second condition parameter computing unit 510 and the third condition parameter computing unit 512 compute the color interpolation according to a predetermined computing method.
The first condition parameter computing unit 508, the second condition parameter computing unit 510 and the third condition parameter computing unit 512 compute the color interpolation parameter by distinguishing a case of R being the center pixel in the RG line (B is the center pixel in a GB line) and a case of G being the center pixel in the GB line (G is the center pixel in the RG line).
The first condition parameter computing unit 508, the second condition parameter computing unit 508 and the third condition parameter computing unit 512 compute the parameters Gout, Gwn, Gws, Ges and Gen by each different method in case that R3 is the center pixel in the RG line (B is the center pixel in a GE line) and compute the parameters Gn, Gw, Gs and Ge by each different method in case that G5 is the center pixel in the GB line (G is the center pixel in the RG line), as compared with the conventional effective color interpolation method.
The Formulas by which the aforementioned color interpolation parameters are computed will be described later in detail.
Referring to
If the grid noise coefficient is set, a grid noise offset is computed in a step represented by 902. As described above, the grid noise offset is computed by using the Formula 25 or 26 according to the case that R is the center pixel in the RG line (or B is the center pixel in the GB line) or G is the center pixel in the GB line (or G is the center pixel in the RG line) in the Bayer pattern image. The grid noise offset is also set by use of the Formula 27 by determining whether the grid noise offset is larger than a predetermined threshold.
Along with the grid noise offset, edge directional information is computed and edge vertical directional information of the edge directional information is computed, in a step represented by 904.
To compute the vertical directional information, two parameters delta_V1 and delta_V2 are computed. The two parameters delta_V1 and delta_V2 are computed by the following Formula 28.
As shown in the Formula 28, the parameter delta_V1 is computed by using the values of pixels disposed above and below the center pixel, and the parameter delta_V2 is computed by using the values of pixels provided in two rows adjacent to the center row.
By using the two parameters delta_V1 and delta_V2, computed by Formula 28, the vertical directional information, V_comp, is computed by the following Formula 29.
V_comp=delta—V1+delta—V2 [Formula 29]
When it comes to Formulas for computing the vertical directional information, the delta_V1 and the delta_V2, the present invention is not limited to the aforementioned Formulas. It shall be also evident to any person of ordinary skill in the art that they can be computed in various ways by using the parameters used in the aforementioned Formulas. For example, the delta_V1 and the delta_V2 can be divided by another integer instead of 2. Alternatively, a value that is not divided by 2 can be used.
If the vertical directional information is computed, the horizontal directional information is computed in a step represented by 906.
To compute the horizontal directional information, two parameters delta_H1 and delta_H2 are computed. The two parameters delta_H1 and delta_H2 are computed by the following Formula 30.
As shown in the Formula 30, the parameter delta_H1 is computed by using the values of pixels disposed in opposite sides of the center pixel, and the parameter delta_H2 is computed by using the values of pixels in columns provided above and below the center column.
By using the two parameters delta_H1 and delta_H2, computed by Formula 30, the horizontal directional information, H_comp, is computed by the following Formula 31.
H_comp=delta—H1+delta—H2 [Formula 31]
If the vertical directional information and the horizontal directional information are computed, in a step represented by 908, it is determined whether the first condition satisfies the case of the horizontal directional information being larger than a first threshold a1 and the horizontal directional information being larger than a second threshold a2.
In case that the vertical directional information and the horizontal directional information satisfy the first condition, and R3 is the center pixel in the RG line, the parameters Gwn, Gws, Ges, Gen, Gout and Bout are computed by Formula 32. In addition to the foregoing parameters, other parameters are computed by the same method as the parameter computing formulas of the conventional effective color interpolation, described through Formulas 1 through 12.
The identical method can be applied to the case of B being the center line in the GB line, considering that the R and B exchange their positions with each other.
In case that the vertical directional information and the horizontal directional information satisfy the first condition, and G is the center pixel in the GB line, the Gn, Gw, Gs, Ge, Rout and Bout are computed by Formula 33. Aside from the foregoing the parameters Gn, Gw, Gs, Ge, Rout and Bout, other parameters can be computed by the same method as the parameter computing formulas of the conventional effective color interpolation.
The same method as Formula 33 can be applied to the case of G being the center line in the RG line.
In case that the vertical directional information and the horizontal directional information do not satisfy the first condition, it is determined whether a second condition, in which the vertical directional information is larger than the horizontal directional information, is satisfied in a step represented by 912.
In case that the second condition is satisfied, and R is the center pixel in the RG line, the Gwn, Gws, Ges, Gen, Gout and Bout are computed by the following Formula 34.
The identical method can be applied to the case of B being the center line in the GB line, considering that R and B exchange their positions with each other.
In case that the vertical directional information and the horizontal directional information satisfy the second condition, and G is the center pixel in the GB line, the Gn, Gw, Gs, Ge, Rout and Bout are computed by Formula 35.
The same method as Formula 35 can be applied to the case of G being the center pixel in the RG line.
In case that the vertical directional information and the horizontal directional information do not satisfy the first condition and the second condition, and R is the center pixel in the RG line, the Gwn, Gws, Ges, Gen, Gout and Bout are computed by the following Formula 36.
The identical method can be applied to the case of B being the center line in the GB line, considering that the R and B exchange their positions with each other.
In case that the vertical directional information and the horizontal directional information satisfy the second condition, and G is the center pixel in the GB line, the Gn, Gw, Gs, Ge, Rout and Bout are computed by Formula 37.
The same method as Formula 37 can be applied to the case of G being the center pixel in the RG line.
In the meantime, if G is the center pixel in the GB line (or G is the center pixel in the RG line), Gout is computed by using the following Formula 38 regardless of the foresaid first condition through third condition.
Gout=G5−g_offset [Formula 38]
In the case of
The present invention can prevent wrong color from being generated in the vicinity of minute edge and zipper-shaped artifacts from being generated in the vicinity of edge, by using edge directional information and computing parameters by each different algorithm according to conditions of the edge directional information. Beside that, when a new color interpolation method is applied, the present invention can remove grid noise generated in the case of the large difference occurring between G values in a GB line and an RG line.
The drawings and detailed description are only examples of the present invention, serve only for describing the present invention and by no means limit or restrict the spirit and scope of the present invention. Thus, any person of ordinary skill in the art shall understand that a large number of permutations and other equivalent embodiments are possible. The true scope of the present invention must be defined only by the spirit of the appended claims.
Number | Date | Country | Kind |
---|---|---|---|
10-2006-0069962 | Jul 2006 | KR | national |
Filing Document | Filing Date | Country | Kind | 371c Date |
---|---|---|---|---|
PCT/KR2007/003575 | 7/25/2007 | WO | 00 | 12/30/2008 |
Publishing Document | Publishing Date | Country | Kind |
---|---|---|---|
WO2008/013406 | 1/31/2008 | WO | A |
Number | Name | Date | Kind |
---|---|---|---|
6563537 | Kawamura et al. | May 2003 | B1 |
7792358 | Suzuki | Sep 2010 | B2 |
20040246352 | Suzuki | Dec 2004 | A1 |
20080303953 | Lee | Dec 2008 | A1 |
Number | Date | Country |
---|---|---|
2000-244934 | Sep 2000 | JP |
2004-221838 | Aug 2004 | JP |
2005-260557 | Sep 2005 | JP |
Number | Date | Country | |
---|---|---|---|
20090316984 A1 | Dec 2009 | US |