6
four directions: horizontal (dh), vertical (dv), 45
0
diagonal (d45) and 135
0
diagonal (d135). Some
observations can be made from this example.
First, the assumption of smooth color difference used in many CDM methods is invalid.
Particularly, from Figure 2c we see that the color differences outside the two-pixel-wide
neighborhood are very different from the center one. Therefore, using a big local window (e.g., bigger
than 5×5) to estimate the missing color samples can result in unexpected errors. In other words, a
compact local window should be used in the initial CDM of high saturation areas. Second, the color
edge direction information is very useful for color interpolation. From Figure 2c we see that the color
difference along the 135
0
diagonal direction is much smoother than other directions, and hence it
should contribute more to the color estimation. Due to the color down-sampling in the mosaic CFA
pattern, the color difference signal G-R along diagonal directions cannot be directly calculated. In
practice, they are estimated as the weighted average of color differences in other directions.
2.2. Local Directional Interpolation of Green Channel
In various CFA patterns, such as the Bayer pattern [1], the sampling frequency of G is higher than that
of R and B channels. Therefore, the G channel preserves much more image structural information
than the other two color channels. Usually, a better reconstruction of G will lead to a better
reconstruction of R and B. As shown in Fig. 1, we will initially interpolate the G channel by using
local redundancy, and then enhance it by using nonlocal redundancy.
The well-known SOLC algorithm [3, 4] is actually a directional interpolation method. In SOLC,
at each R or B position two filtering outputs of G are computed along horizontal and vertical
directions respectively, and then one of them is selected based on the gradients in the two directions.
However, SOLC has two problems. First, it considers only two directions in the interpolation. This
limits its capability in preserving edge structures along other directions. Second, SOLC simply selects
one of the two directions for interpolation, but this will lose much useful information in the local area,
resulting in many interpolation errors. In this section, we propose to fuse the directional information
for more robust color interpolation.