color interpolation algorithmss
TRANSCRIPT
-
7/29/2019 Color Interpolation Algorithmss
1/15
Color Interpolation Algorithms
Gayathri devi Kotapati
Depatment of computer science
K L UniversityVaddeswaram,India
Jaya deepthi Thiyyagura
Depatment of computer science
K L UniversityVaddeswaram,India
AbstractIn this paper we discuss about different colorinterpolation algorithms and compare these algorithms based on
subjective quality measure ,objective quality measure and
computational cost .Interpolation is a method of constructing
new data points with in the range of discrete set of known data
points
I.INTRODUCTIONAll Usage of digital cameras is spreading widely as they are
easy image input devices. The increasing popularity of digital
cameras has provided motivation to improve all elements of
the digital photography signal chain. To lower cost, digital
color cameras typically use a single image detector. Color
imaging with a single detector requires the use of a ColorFilter Array (CFA) which covers the detector array. In this
arrangement each pixel in the detector samples the intensity of
just one of the many-color separations. The recovery of full-
color images from a CFA-based detector requires a method of
calculating values of the other color separations at each pixel.
These methods are commonly referred as color interpolation
or color demosaicing algorithms.
In a single-detector camera, varying intensities of light are
measured at an rectangular grid of image sensors. To constructa color image, a CFA must be placed between the lens and the
sensors. A CFA typically has one color filter element for each
sensor. Obviously, the color interpolation algorithms depend
on the CFA configuration. Many different CFA configurations
have been proposed. One of the most popular is the Bayer
pattern[1], which uses the three additive primary colors, red,
green and blue (RGB), for the filter elements. Since our goal
in this study is to examine color interpolation algorithms, we
don't pay special attention to CFA patterns. Instead we
exclusively work with the Bayer pattern in RGB color space,
as shown in Figure.(1) below. The selection of Bayer patternis mainly due to its popularity.
Figure 1
In Section II, we will describe the color interpolationalgorithms included in this study. Section III gives software
implementation of some of these algorithms in Matlab. We
then compare the performance of these algorithms in Section
IV.
Notice even though our study is specifically targeted at Bayer
pattern with RGB color space, many algorithms studies here
can be extended to different pattern with different color spaceeasily.
In our effort to include as many algorithms as possible, wehave tried the most extensive search within our resource
limitation. But by no means this inclusion is complete and we
apologize if some other work in this area should have been
included.
II.ALGORITHM DESCRIPTIION. In this section we will describe a number of color
interpolation algorithms used in digital cameras as reported in
liberatures. To describe these algorithms, we classify them
into two distinct groups, non-adaptive
algorithms and adaptive algorithms.
As their names suggest, non-adaptive algorithms denote those
algorithms that perform interpolation in a fixed pattern for
every pixel (within a group). While adaptive algorithms imply
-
7/29/2019 Color Interpolation Algorithmss
2/15
that those algorithms can detect local spatial features present
in the pixel neighborhood, then make effective choices as to
which predictor to use for that neighborhood. In other words,adaptive algorithms pocesses some intelligence and therefore
are more sophisticated in general.
There are many ways to describe these algorithms. Graphical
description, kernel convolution, arithmetic equations or
description via examples are all useful means to explain how
the algorithm works. In our presentation of each algorithm, wewill try to adopt any one of these means or combinations of
those means, whichever makes the description as easily
understandable as possible. As a result, different algorithms
may be subject to different description means.
Before we jump into the detailed description, we want to
mention briefly some other algorithms that are not included
here in detail. This includesMedian Filtering Method[28],
some other linear estimator methods in [29][31][33],Pattern
Classification Method[32], and a new Gradient based
methoddescribed in a newly approved patent[30]. We would
like include them all in the future.
III.NON ADAPTIVE ALGORITHM
A.Nearest Neighbor Replication
In this interpolation method[2][3][4][5], eachinterpolated output pixel is assigned the value of the
nearest pixel in the input image. The nearest neighbor
can be any one of the upper, lower, left and rightpixels.
An example is illustrated below in Figure 2 for a 3x3block in green plane. Here we assume the leftneighboring pixel value is used to fill the missing
ones.
Figure 2
B.Bilinear Interpolation
figure 1
Interpolation of green pixels : the average of theupper, lower, left and right pixel values is assigned as
the G value of the interpolated pixel. For example :
G8 = (G3+G7+G9+G13) / 4
Interpolation of red/blue pixels :o Interpolation of a red/blue pixel at
a green position : the average of two
adjacent pixel values in corresponding color
is assigned to the interpolated pixel. Forexample : B7 = (B6+B8) / 2 ; R7 =
(R2+R12) / 2
o Interpolation of a red/blue pixel ata blue/red position : the average of four
adjacent diagonal pixel values is assigned to
the interpolated pixel. For example : R8 =
(R2+R4+R12+R14) / 4 ; B12 =(B6+B8+B16+B18) / 4
C.Cubic Convolution Interpolation
We will rely on system kernel convolution todescribe this interpolation scheme. In general,
interpolation can be expressed as :
where h is the interpolation kernel and c(x,y) is the data
sample itself at a pixel ( xk,yl ). Apparently, in this formation,
h, the interpolation kernel, is the main part of the interpolation
algorithm.
Cubic convolution is a third-degree interpolationusing 16 adjacent pixels and some typical cubic
convolution kernels are :
o one-variable cubic interpolation :
-
7/29/2019 Color Interpolation Algorithmss
3/15
and the parameter "a" has been reported as -
1 in [22], 0.5 in [23] and 0.75 in [24].
o two-variable cubic interpolation [25]:
where "b" and "c" are two parameters and(b,c) = (0.33,0.33), (b,c) = (1.5,-0.25) have
been reported in [26].
o Cubic B-Spline interpolation [27] :
Cubic B-spline is the three-degree B-spline.
D.Smooth Hue Transition Interpolation
One of the key objection of the bilinear interpolationis that the hues of adjacent pixels change abuptly and
in an unnatural manner. The Bayer CFA pattern, on
the other hand, can be thought of as consisting of a
luminance channel (the relatively numerous greenpixels) and a chrominance channel (the relative
sparse red and blue pixels). A scheme can be created
to interpolate these channels differently.
For convenience, figure 1 is duplicated here
Interpolation of green pixels : same as in bilinearinterpolation. Also note interpolation of green pixels
has to be done before interpolations of red/blue
pixels.
Interpolation of red/blue pixels :o The idea here is to try to impose a smooth
transition in hue from pixel to pixel.
o To do so, define blue "hue value" as : B/G.And red "hue value" can be analogously
defined.
o Considering the interpolation of blue pixelvalues : there are three different cases of
blue pixel value interpolations.
estimating blue pixel value at thegreen position and the adjacent
blue pixels are on left and right :
e.g. B7 = G7 / 2 * (B6 / G6 + B8 /
G8)
estimating blue pixel value at thegreen position and the adjacent
blue pixels are on top and bottom :
e.g. B13 = G13 / 2 * (B8 / G8 +
B18 / G18)
estimating blue pixel value at thered postion : e.g. B12 = G12 / 4 *(B6 / G6 + B8 / G8 + B16 / G16 +
B18 / G18)
o Interpolation of red pixel values can becarried out analogously
E.Smooth Hue Transition Interpolation in Logarithmic
Exposure Space
Figure 1
Interpolation of green pixels : same as in bilinearinterpolation. Also note interpolation of green pixels
-
7/29/2019 Color Interpolation Algorithmss
4/15
has to be done before interpolations of red/blue
pixels.
Key step : After the green pixel interpolations areperformed, transfer the original pixel data together
with the interpolated green pixel values from linear
exposure space into logarithmic exposure space. Let's
denote these log values ad Glog, Blog and Rlog,
respectively.
Interpolation of red/blue pixels in log space :o In logarithmic space, define blue "hue
value" as : Blog- Glog . And red "hue
value" can be analogously defined.
o Considering the interpolation of blue pixelvalues : there are three different cases of
blue pixel value interpolations.
estimating blue pixel value at thegreen position and the adjacent
blue pixels are on left and right :
e.g. B7log = G7log + (B6log - G6log
+ B8log - G8log) / 2
estimating blue pixel value at thegreen position and the adjacent
blue pixels are on top and bottom :
e.g. B13log = G13log + (B8log -
G8log + B18log - G18log) / 2
estimating blue pixel value at thered postion : e.g. B12 log = G12log +
(B6log - G6log + B8log - G8log +
B16log - G16log + B18log - G18log) /
4
o Interpolation of red pixel values can becarried out analogously
Finally, transfer the all pixel values back into linearexposure space
.
IV.ADAPTIVE ALGORITHMA.Edge Sensing Interpolation Algorithm I
From our description of non-adaptive algorithms, itcan be seen that most of the color interpolation is
done by averaging neighboring pixels
indiscriminately. This causes an artifact -- the "zipper
effect" in the interpolated image. To combat with this
artifact, it is natural to derive an algorithm that can
detect local spatial features present in the pixel
neighborhood and then makes effective choices as towhich predictor to use that neighborhood. The result
is a reduction or elimination of "zipper-type"
artifacts. And algorithms that involve this kind of
"intelligent" detection and decision process are
referred as adaptive color interpolation algorithms.
Human visual systems are sensitive to edges presentin the images and non-adaptive color interpolation
algorithms often fail around edges since they are not
able to detect "edges". To deal with edges, let's first
look at an edge sensing algorithm[14][3][15].
figure 1
Interpolation of green pixels :o First, define two gradients, one in horizontal
direction, the other in vertical direction, for
each blue/red position. For instance,
consider B8 : define two gradients
as ,where | . | denotes absolute value
o Define some threshold value To The algorithm then can be described as
follows :
o The choice of T depends on the images andcan have defferent optimum values from
different neighborhoods. A particular choice
of T is [4]. In this case,the algorithm becomes :
-
7/29/2019 Color Interpolation Algorithmss
5/15
Interpolation of red/blue pixels : same as in Smoothhue transition interpolation in logarithmic exposure
space. Other methods may be used as well.
B.Edge Sensing Interpolation Algorithm II
A slightly different edge sensing interpolationalgorithm is described in [17].
Interpolation of green pixels : same as in edgesensing interpolation algorithm I except that
horzitonal and vertical gradients are defined
differently. Refer to figure 6 below, to estimate G5 at
B5, we define gradients as :
figure 6
and the actual algorithm follows as in the edge sensing
interpolation algorithm I.
Interpolation of red/blue pixels : similar to bilinearinterpolation algorithm except that color difference is
interpolated instead of color itself.
C.Linear Interpolation with Laplacian second-order correctionterms I
This algorithm [18] is designed for optimizingperformance of images with horizontal and vertical
edges. To illustrate the algorithm, we'll utilize real
examples to make description a little bit easier to
understand.
Interpolation of green pixels : refer to figure 6,duplicated below for convenience. We'll consider
estimating the green value at a blue pixel.
Interpolation done at a red pixel can be carried out
similarly. Let's find out G5 at B5.
o Define horizontal and vertical gradients as
:
o The algorithm is:
Interpolation of red/blue pixels : refer to figure 7below. Depending on the positions, we have three
cases.
figure 7
o case 1 : find red/blue values at a green pixelwhere nearest neighbors are in the samecolumn. For instance, to estimate R4 at G4,
use predictor R4 = (R1 + R7) / 2 + (G4 - G1
+ G4 - G7) / 4
o case 2 : find red/blue values at a green pixelwhere nearest neightbors are in the same
row. For instance, to estimate R2 at G2, use
-
7/29/2019 Color Interpolation Algorithmss
6/15
predictor R2 = (R1 + R3) / 2 + (G2 - G1 +
G2 - G3) / 4
o case 3 : find red/blue values ata blue/red pixel. For instance, estimate R5 atB5.
Define two diagonal (negative andpositive) directions as follows :
And the actual algorithm isdescribed as :
D.Linear Interpolation with Laplacian second-order correction
terms II
An extension to previous interpolation method withLaplacian second-order correction terms is described
in [19][20].
Interpolation of green pixels : again, we will borrowthe figure from previous algorithm descriptions. Forconvenience, it's duplicated below. We'll consider
estimating the green value at a blue pixel.Interpolation done at a red pixel can be carried out
similarly. Let's find out G5 at B5.
o Define eleven color correction terms withcorresponding predictors as follows :
CC1 = B5 - B3 + B5 - B7; P1 = ( G4 + G6 ) / 2 +CC1 / 4;
CC2 = B5 - B1 + B5 - B9; P2 = ( G2 + G8 ) / 2 +
CC2 / 4;
CC3 = B5 - B1 + B5 - B7; P3 = ( G2 + G6 ) / 2 +
CC3 / 4;CC4 = B5 - B7 + B5 - B9; P4 = ( G6 + G8 ) / 2 +
CC4 / 4;
CC5 = B5 - B9 + B5 - B3; P5 = ( G4 + G8 ) / 2 +
CC5 / 4;
CC6 = B5 - B3 + B5 - B1; P6 = ( G2 + G4 ) / 2 +
CC6 / 4;CC7 = B5 - B1; P7 = G2 + CC7 / 2;
CC8 = B5 - B7; P8 = G6 + CC8 / 2;
CC9 = B5 - B9; P9 = G8 + CC9 / 2;
CC10 = B5 - B3; P10 = G4 + CC10 / 2;
CC11 = B5 - B1 + B5 - B3 + B5 - B7 + B5 - B9; P11
= ( G2 + G4 + G6 + G8) / 4 + CC11 / 8;
notice CC1 - CC6 are Laplacian second-
order derivative operators and CC7 - CC10are Laplacian first-order derivative
operators.
o The algorithm is :If min{CC1, CC2 } < a given
Threshold (e.g. 69 in 8-bit log
space)G5 = the corresponding
predictor; (e.g. if CC1 < CC2 and
CC1 < Threshold, then G5 = P1)
Else if min{CC3,CC4,CC5,CC6} B>C>D,
then G12 =median{G7,G11,G13,G17} = ( B +
C ) / 2
stripe pattern : a larger pixelneighborhood as described in
figure 3 is needed
Figure 3
and where
M = SUM(G) / 4 , S = SUM(X) / 8
and 'clip' function constrains the
prediction to lie between the values
B and C. If the prediction is greaterthan B, it is set o B; if the
prediction is less than C, it is set to
C
corner pattern : again, a larger pixelneighborhood is needed, as
described in figure 4.
figure 4
and just as in the stripe pattern
case, ,
where M = median{H's, L's} and S= SUM(X) / 4
Interpolation of red/blue pixels : can use any methoddescribed before, for example, bilinear interpolationor smooth hue transition interpolation
G.Pattern Matching Interpolation
People have observed that there's a high degree ofcorrelation between the RGB channels in natural
scenes.
-
7/29/2019 Color Interpolation Algorithmss
11/15
The idea here is to exploit the correlations betweenthe green, red and blue components, and determine
the missing components from the pixel contexts.
Since green is sampled with the highest sampling
frequency, the reproduction of the green components
is much more accurate than the reproduction of the
red or blue components. For this reason, this
algorithm specifically targets at the interpolations of
chrominance channels.
Interpolation of green pixels : use any methoddescribed before.
Interpolation of red/blue pixels :o estimate red/blue values at green pixels : use
any method described before. For instance,use Bilinear Interpolation, i.e., use the
average of two adjacent color samples.
o estimate blue values at red pixels : First let's define "pattern" p(x,y)
for a red pixel at position (x,y),
refer to figure 5, as a four-
dimensional vector or a green
pattern : P(x,y) = [G(x-1,y);G(x+1,y); G(x,y-1); G(x,y+1)],
where G(x,y) is the green value at
position (x,y).
Next compare the green patternp(x,y) with its four neighboringgreen patterns and measure their
similarities by:
where || . || denotes the l-1 norm ofa vector
Sort these delta values and let =the ith largest value,
therefore
Define some threshold value T
The actual algorithm is as follows :if < T, then we have high
confidence that the image is
smooth around (x,y), so the bluevalue is the average of all four
adjacent diagonal pixel values. else
the desired blue value=
Let's refer to a real example now.Consider figure 5, we want toestimate the blue value at R15 :
figure 5
the procedures are :
1. P15 = [G14; G16; G9;G21]; P8 = [G7; G9; G2;
G14]; P10 = [G9; G11;G4; G16]; P20= [G19;
G21; G14; G26]; P22 =
[G21; G23; G16; G28]
2.3. sort them. Suppose the
result is:
4.o estimate red values at blue pixels can be
carried out analogously
-
7/29/2019 Color Interpolation Algorithmss
12/15
V.ALGORITHM IMPLEMENTATIONWe choose to implement above mentioned algorithms in
software using matlab
VI. ALGORITHMS COMPARISIONYou In this section we will try to compare different color
interpolation algorithms introduced and implemented in
previous sections. In doing so, we compare these algorithms
from three aspects. First, we will compare them using
subjective measures, we will try to identify the major
difference among these algorithms with visual observations.
Secondly, we will switch to objective quality measure, in our
case, we choose Mean Squared Error (MSE) between the
original test image and the reconstructed image. MSE is
chosen for its simplicity and popularity. Finally, we compare
their computational cost, which is vital for implementation in
practice
SUBJECTIVE QUALITY MEASURE:
Example 1:
Example 2:
Observations :o Nearest Neighbor Replication
Interpolation : significant errors occur
throughout the image, very evident blocking
effect, very bad for sharp edges.
Unacceptable for still imaging systems. Invideo applications, many of these problems
might be averaged away.
o Bilinear Interpolation : much improvedperformance over Nearest Neighbor
Replication Interpolation; some blurring due
to averaging adjacent pixels; introduce theso-called "zipper" effect
o Smooth Hue Algorithms : less blur comparedto Bilinear algorithm as seen in the 'BMW'
image. On the other hand, significant 'hue'
interpolation error is imposed as seen in the
image "flowers". This is due to the division
(or subtraction in Log space) in R/B
channel interpolation where large G
-
7/29/2019 Color Interpolation Algorithmss
13/15
difference between adjacent pixels will
cause huge R/B error during interpolation.
o Edge Sensing Algorithms : as their namessuggest, indeed sharper images can be seen.Since R/B interpolation uses the same
algorithm as in Smooth Hue Transition
algorithms, significant "hue" error can beseen in the image "flowers". Not very
suitable for colored small objects.
o Linear Interpolation with Laplacian 2ndorder color correction terms I: gives one ofthe best quality among all algorithms.
Especially good for edges.
o Interpolation using Threshold-basedVariable Number of Gradients : appears to
give the best result among all algorithms.Sharp edges as well.
o Pattern Recognition : farily good results, butedges aren't dealt as well as variable number
gradients method or Laplacian color
correction method
Objective Quality Measure
To compare these algorithms objectively, we adoptMean Square Error (MSE) as our quality metrics. The
MSE between the original image Io(x,y) and the
interpolated image Ir(x,y) for each color channel isdefined as :
where
m x n is the size of the image
The MSE values for each algorithm that areimplemented in Section III are depicted below forthree color channels separately. We normalized the
MSE value to the minimum since we are only
interested in the relative performance among thesealgorithms.
o Example I : flowers.tif
o Example II : bmw.bmp
From these plots, we conclude that based onobjective measure using MSE :
o Nearest Neighbor ReplicationInterpolation gives significant larger mean
squared error than other algorithms and
therefore the interpolated image is expectedto show the worst artifacts, which can be
verified in previous subsection.
o In terms of Green (or Luminance) channelinterpolations, Variable Number Gradients
Methodgives the best performance in both
examples.Laplacian Color Correction Imethodalso gives impressive results. And as
far as the rest algorithms are concerned,
their MSE values don't show any major
difference.
o In terms of Red/Blue (or Chrominance)channel interpolations, there's no obvious
superior algorithm that can stand out
-
7/29/2019 Color Interpolation Algorithmss
14/15
alone. Variable Number Gradients
Methodgives slightly better results.
Computational Cost
Here we will compare the computational costassociated with each of the algorithms implemented.
The way we compute the cost is to count the flopsoccurred in Matlab when processing some input
images. For those non-adaptive algorithms, the cost is
fixed regardless of the content of the input image as
long as the image size is fixed. While for adaptive
algorithms, the computational cost is scene dependent
since those algorithms involve comparisons or
decision making steps where branching can occur.
This variation on computational cost due to image
content is, however, not evident for two examples we
included here.
Since the computational cost is solely determinedfrom the software point of view, it is of course related
to the actual implementation of the algorithm.
Efficient program reduces the cost. In our study no
special effort is denoted to deal with thisimplementation-dependent feature of the cost and
none of the algorithm code is tuned intentionally to
increase its efficiency, nor do we decrease it on
purpose. We assume the behavior of our
implementation observes the average in general.
Figure below shows the comparison for the two
images.
Observations :o Nearest Neighbor Replication
Interpolation doesn't involve any arithmetic
operation and therefore doesn't impose any
computational cost
o Excluding Nearest Neighbor Replicationalgorithm,Bilinear interpolation imposesthe least amount of computation among the
other eight interpolation schemes
o On the other hand, interpolation usingthreshold-based variable number gradients
methodhas a significant computational cost
penalty compared to others, and it's very
impractical for real-time digital videoapplications.
o Linear interpolation with Laplacian second-order color correction terms Ialso imposes
a large computational cost compared to
other algorithms but with a much lesspenalty compared to variable number
gradients method.
o The rest algorithms have similarcomputational cost
SUMMARY
In this study, we described twelve color interpolationalgorithms used for single-detector digital cameras.
We selectively implemented nine of them usingMatlab and finally did comparative performance
analysis from three aspects of the algorithm :
subjective quality of reproduced images, objective
quality (MSE) of reproduced images and
computational cost.
We made some observations for these algorithmsbased on our simulation results. In particular, we note
thatNearest Neighbor Replication
Interpolation andInterpolation using Threshold-
based Variable Number of Gradients represent two
extremes of interpolation algorithms.Nearest
Neighbor Replication Interpolation is extremelycomputationally efficient but with the worst quality
performance. Variable Number Gradients
Methodgives impressive reproduced image quality
but imposes a huge computation penalty.
As far as the future work is concerned, an algorithmthat is both superior in image reproduction and
computationaly efficient is still worth pursuing giventhe fact that none of the existing algorithm satisfies
both criteria.
-
7/29/2019 Color Interpolation Algorithmss
15/15
REFERENCES
[1].Bayer,Bryce E. "Color imaging array" U.S. Patent
3,971,065
[2].Ozawa,N. "Chrominance signal interpolation device for a
color camera" U.S. Patent 4,716,455
[3].Adams, James E. "Interactions between color planeinterpolation and other image processing functions in
electronic photography" Proceedings of SPIE Vol. 2416
P.144-151[4].Sakamoto,Tadashi. et.al., "Software pixel interpolation
for digital still cameras suitable for a 32-bit MCU" IEEE
Transactions on Consumer Electronics. Vol.44, No.4, P.1342-
1352, November 1998
[5].Zen,Hidemori. et.al., "A New digital signal processor
for progressive scan CCD" IEEE Transactions on ConsumerElectronics. Vol.44, No.2, P.289-295, May 1998
[6].Cok,David R. "Single-chip electronic color camera with
color-dependent birefringent optical spatial frequency filter
and red and blue signal interpolating circuit" U.S. Patent4,605,956
[7].Parulski,Kenneth A. "Color Filters and Processing
Alternatives for one-chip cameras" IEEE Transactions on
Electron Devices. Vol.ED-32, NO.8, August 1985
[8].Chan,Wen-Hsin. et.al., "A Mega-Pixel resolution PC
Digital Still Camera" Proceedings of SPIE Vol.2654. P.164-
171[9].Tsai, Y.Tim. et.al., "Optimized Image Processing
Algorithms for a Single Sensor Camera" 1997 IEEE Pacific
Rim Conference on Communications, Computers and Signal
Processing, Vol.2, P.1010-1013
[10].Wu,XiaoLin. et.al., "Color Restoration from Digital
Camera Data by Pattern Matching" Proceedings of SPIEVol.3018 P.12-17
[11].Cok,David R. "Signal processing method and
apparatus for producing interpolated chrominance values in a
sampled color image signal" U.S. Patent 4,642,678
[12].Parulski,Kenneth A. et.al., "A High-Performance
Digital Color Video Camera" Proceedings of SPIE Vol.1448P.45-58
[13].Weldy,John A. "Optimized design for a single-sensor
color electronic camera system" Proceedings of SPIE
Vol.1071 P.300-307
[14].Hibbard,Robert H. "Apparatus and method for
adaptively interpolating a full color image utilizing luminance
gradients" U.S. Patent 5,382,976[15]Adams, James E. et.al., "Color Processing in Digital
Cameras" Eastman Kodak Company
[16]Cok,David R. "Signal processing method and apparatus
for sampled image signals" U.S. Patent 4,630,307[17]Laroche,Claude A. "Apparatus and method for
adaptively interpolating a full color image utilizing
chrominance gradients" U.S. Patent 5,373,322
[18]Hamilton, Jr. et.al., "Adaptive color plane interpolation
in single sensor color electronic camera" U.S.Patent
5,629,734
[19]Adams,James E. et.al., "Adaptive color plane
interpolation in single color electronic camera" U.S.Patent
5,506,619[20]Adams,James E. et.al., "Design of practical color filter
array interpolation algorithms for digital cameras"
Proceedings of SPIE Vol.3028 P.117-125
[21]Chang, Ed. et.al., "Color Filter Array Recovery Using a
Threshold-based Variable Number of Gradients" to be
published in Proceedings of SPIE, January, 1999[22]Rifman, S.S. et.al., "Evaluation of Digital Correction
Techniques for ERTS Images - Final Report" Report 20634-
6003-TU-00 TRW Systems, California, July 1974
[23]Keys, Robert.G. et.al., "Cubic Convolution Interpolation
for Digital Image Processing" IEEE Transactions on
Acoustic, Speech and Signal Processing, Vol ASSP-29,
P1153-1160, 1981
[24]Simons, K.W. "Digital Image Reconstructon and
Resampling for Geometric Manipulation" Proceedings of
IEEE Symp. on Machine Processing of Remotely Sensed Data
P.3A-1--3A-11,1975
[25]Mitchell, Don P. et.al., "Reconstruction Filters in
Computer Graphics" Computer Graphics, (SIGGRAPH'88
Proceedings), Vol.22, No.4, P.221-228, August 1988
[26]Schreiber, William F. et.al., "Transformation between
Continuous and Discrete Representations of Image: A
Perceptual Approach" IEEE Transactions on PatternAnalysis and Machine Intelligence Vol.PAMI-7 No.2, P.178-
186 March 1985
[27]Hou, Hsieh S. et.al., "Cubic Splines for Image
Interpolation and Digital Filtering" IEEE Transactions on
Acoustic, Speech and Signal Processing Vol.ASSP-26 P.508-
517, 1987[28]Freeman,William T. "Method and apparatus for
reconstructing missing color samples" U.S. Patent 4,663,655
[29]Wober,Munib A. et.al., "Method and apparatus for
recovering image data through the use of a color test
pattern" U.S.Patent 5,475,769
[30]Matraszek,Tmoasz A. et.al., "Gradient based methodfor providing values for unknown pixels in a digital image"
U.S.Patent 5,875,040
[31]Brainard,D.H. et.al., "Bayesian method for
Reconstructing Color Images from Trichromatic Samples"
IS&T 47th Annual Conference P.375-380, 1994[32]Shimizu,Eiichi et.al., "The Digital Camera Using New
Compression and Interpolation Algorithm" IS&T 49th
Annual Conference P.268-27, 1996
[33].Wu,Chi-hsin et.al., "Reconstruction of Color Images
from a Single-Chip CCD Sensor Based on Markov Random
Field Models" Proceedings of SPIE. Vol.2564 P.282-288