See discussions, stats, and author profiles for this publication at: https://www.researchgate.net/publication/316945860 Image demosaicking for Bayer-patterned CFA images using improved linear interpolation Conference Paper · April 2017 DOI: 10.1109/ICIST.2017.7926804 CITATIONS READS 13 512 4 authors, including: Xiao Zhou Chengyou Wang Shandong University Shandong University 64 PUBLICATIONS 873 CITATIONS 131 PUBLICATIONS 1,125 CITATIONS SEE PROFILE All content following this page was uploaded by Chengyou Wang on 20 July 2020. The user has requested enhancement of the downloaded file. SEE PROFILE Image Demosaicking for Bayer-patterned CFA Images Using Improved Linear Interpolation Dongyan Wang, Gang Yu, Xiao Zhou and Chengyou Wang* School of Mechanical, Electrical and Information Engineering Shandong University Weihai 264209, China {wdy, 201400800150}@mail.sdu.edu.cn, {zhouxiao, wangchengyou}@sdu.edu.cn green light, the number of green pixels is twice as many as the number of red or blue pixels. Such distribution makes it more comfortable for human eyes. To get a full-color image, an appropriate interpolation method called CFA interpolation is adopted to recover the other two color components by neighbor pixels at each point. The process of getting a full-color image by CFA interpolation is also known as demosaicking [2]. Abstract—With the development of digital imaging technique, the demosaicking algorithm becomes a hot spot in the field of image processing. An efficient interpolation method with good visual quality and less calculation amount is urgently needed. In this paper, an improved linear interpolation for demosaicking of Bayer-patterned color filter array (CFA) images is proposed. Compared with bilinear interpolation, the proposed scheme gives full consideration to brightness information and edge information of the image. Since different color components need to be interpolated, different size linear filters with different gain parameters are designed. We correct the bilinear interpolation by a correction value to estimate the unknown color. Experimental results show that the improved scheme achieves better performance than other two methods both in subjective assessment and objective assessment. It incurs much fewer false colors in high-frequency regions. The zipper effect is also weakened to some extent. Besides, the improved scheme reduces the computational complexity. Due to good real-time adaptability, it is easily implemented in hardware. Fig. 1. Color filter array (CFA). Keywords—image demosaicking; image interpolation; Bayerpatterned color filter array (CFA); bilinear interpolation R11 G12 R13 G14 R15 G16 R17 G18 G21 B22 G23 B24 G25 B26 G27 B28 I. INTRODUCTION R31 G32 R33 G34 R35 G36 R37 G38 Recently, single charge coupled device (CCD) is widely used as a sensor in most consumer digital products such as digital camera, digital video camera, and mobile phone. However, the image sensor itself doesn’t consider the colors during the process of photoelectric conversion. Therefore, a layer of color filter array (CFA) is covered on their surface to get color information. This process is shown in Fig. 1, from which we can see that there is only one of three primary colors at each pixel. G41 B42 G43 B44 G45 B46 G47 B48 R51 G52 R53 G54 R55 G56 R57 G58 G61 B62 G63 B64 G65 B66 G67 B68 R71 G72 R73 G74 R75 G76 R77 G78 G81 B82 G83 B84 G85 B86 G87 B88 Fig. 2. Bayer-patterned CFA image with size of 8×8. In the past 20 years, the demosaicking algorithm has always been a hot spot in the field of image processing. Generally, the demosaicking algorithm is divided into two categories [3]. One is that the full-color image is reconstructed without considering the correlations among the three color planes of color image. These demosaicking algorithms include nearest neighbor interpolation, bilinear interpolation [4], cubic convolution interpolation [5], etc. In this scheme, the unavailable color components are interpolated by the same color components around. Although this method is easy to achieve and has good effect in smooth areas, it brings obvious distortion in high frequency especially at the boundary. To overcome the defects of the first method, another interpolation algorithm has been proposed which takes the correlations Generally, the CFA is arranged as checkerboard format. According to different arrangement modes and different proportion of color components, there are various structures in CFA. The most widely used mode is Bayer mosaic pattern [1]. Fig. 2 shows the Bayer-patterned color filter array image with size of 8×8. In this mode, the three primary colors are in staggered arrangement. In other words, within each square of four pixels, each pixel location records only one color component. Since human visual system is more sensitive to This work was supported by the 11th Student Research Training Program (SRTP) and the 8th Undergraduate Research Apprentice Program (URAP) at Shandong University (Weihai), China; and the Natural Science Foundation of Shandong Province, China under Grant No. ZR2015PF004. 978-1-5090-5401-5/17/$31.00 ©2017 IEEE 464 among the three color planes into account. This method combines image detail analysis and judgment, and achieves better interpolation performance than the first method. The second method includes the edge directed interpolation [6], gradient based algorithm [7], and directional based method [8]. However, these methods are relatively complicated and far from the requirements of the real-time system. Experimental results and performance analysis are presented in Section IV. Conclusions and future work are given finally in Section V. II. BILINEAR INTERPOLATION METHOD Owing to the simple calculation, bilinear interpolation algorithm is one of the widely used interpolation algorithms. For the most common used Bayer color filter pattern referring to Fig. 2, the bilinear interpolation algorithm can be achieved by (1), which takes R, G at the position (2, 2) and B at the position (2, 3) for example. To get a clearer full-color image, many improved demosaicking algorithms [9-14] have been proposed in recent years. Malvar et al. [9] proposed a high-quality linear interpolation for demosaicking of Bayer pattern color images. In their scheme, at least nine or eleven neighbor pixels in linear filters are used to reconstruct the missing color. The filter coefficients of linear filters used in [9] are obtained by Wiener approach. As we all know, the more neighbor pixels used in interpolation, the better the reconstructed color image will be. Therefore, the reconstructed image in [9] has a higher peak signal-to-noise ratio (PSNR) than that of bilinear interpolation. But at the same time, the computation is more complex and not suitable for real-time system. Li et al. [10] proposed a color difference space demosaicking algorithm based on all phase DCT/IDCT filters. All phase diamond halfband IDCT filter is used to reconstruct the green image, and all phase extended DCT interpolation filter is used to reconstruct the R-G and B-G images. Experimental results show that it can preserve more image edge details and has higher computational efficiency than other adaptive methods. To reduce computational complexity and improve its real-time property, Luo et al. [11] proposed an improved demosaicking method based on [9]. Compared with Malvar’s method, it reduces the computational complexity. However, the PSNR of the interpolation image is much lower than that of image in [9]. In [12], Chen and Chang proposed a demosaicking algorithm based on edge property for color filter arrays. In their scheme, an edge detecting method is used to generate accurate weights for image interpolation. Although this method can reduce some color artifacts, the zipper effects are still remarkable. Shi et al. [13] proposed a region-adaptive demosaicking algorithm. To improve the effectiveness of the interpolation algorithm, it firstly divides the input image into two kinds of regions and then adopts different interpolation methods for each type. The proposed interpolation method makes full use of bilinear’s fast execution speeds in smooth region. It directly extracts and recovers edge information with weighted values of multidirectional components in edge regions. Kiku et al. [14] proposed residual interpolation (RI) as an alternative to color difference interpolation, which is a widely accepted technique for color image demosaicking. It performs the interpolation in a residual domain, where the residuals are differences between observed and tentatively estimated pixel values. Experimental results show that it can reduce color artifacts efficiently. G22 = (G12 + G21 + G23 + G32 ) / 4, R22 = ( R11 + R13 + R31 + R33 ) / 4, (1) B23 = ( B22 + B24 ) / 2. From (1), we can see that the interpolated value is computed by the average of the nearest neighbor values with the same color. The same conclusion can be drawn from Fig. 3, which are the linear filters used in bilinear interpolation. Given this characteristic, the bilinear interpolation algorithm achieves good performance in the smooth region. However, in high frequency, this algorithm cannot match with the actual situation which brings serious distortion. Besides, at image boundaries, it doesn’t consider the directionality of the pixel values which leads to many color artifacts. Because of this, the edge regions turn to be jagged, which is called zipper effect [15]. 1/4 1/4 1/4 1/4 1/4 1/4 1/4 1/4 (a) (b) 1/4 1/2 1/4 1/2 (d) 1/2 1/4 1/2 1/4 1/4 1/2 1/4 (e) 1/2 (c) 1/4 1/2 1/2 (f) (g) 1/4 (h) Fig. 3. Linear filters used in bilinear interpolation: (a) Interpolating G at R locations; (b) Interpolating G at B locations; (c) Interpolating R at G locations in R row, B column; (d) Interpolating R at G locations in B row, R column; (e) Interpolating R at B locations; (f) Interpolating B at G locations in B row, R column; (g) Interpolating B at G locations in R row, B column; (h) Interpolating B at R locations. III. THE PROPOSED ALGORITHM It is well known that the bilinear interpolation algorithm can cause zipper effect at image edges. If we retrieve the R, G, and B channels of the reconstructed full-color image, it could be found that the zipper effect in green channel is particularly evident. This is because that G carries most of luminance information for human vision, and its sampling rate is twice than that of R and G. Therefore, if we restore the G channel more accurately, we can reduce the influence of zipper effect and get clearer full-color image. In bilinear interpolation algorithm, the green pixel ĝ at red pixels can be computed by To solve the above problem and get a clearer full-color image, an improved linear interpolation with good performance and fewer calculations is proposed for demosaicking of Bayer pattern color images. Besides, it can meet the requirements of real-time image processing due to its simplicity. The rest of this paper is organized as follows. Section II introduces the conventional bilinear interpolation method. Section III gives the proposed interpolation algorithm. 465 gˆ(i, j ) = ∑ g (i + m, j + n) , numbers of non-zero filter coefficients as far as possible on the premise of keeping good interpolation performance. In this paper, a series of linear filters shown in Fig. 4 are adopted to reconstruct the unknown pixels. To reduce the computational complexity and improve the interpolation effects, different filters are used according to different colors that need to be restored. Since the neighbor pixels contain more relevant information about the missing pixel, we utilize the nearest neighbor pixels as many as possible in interpolation. For example, we use the filter with the size of 3×3 to interpolate R values at green pixels, which is shown as Fig. 4(c) and Fig. 4(d). (2) 4 where ( m, n) = {(0,1), (0, −1), (1, 0), (−1, 0)} , (i, j ) is the position of red pixel. From (2), we can see that the R value is not involved when interpolate G value at R location. The scheme of our improved interpolation algorithm is based on the truth that the chrominance information is much richer than the luminance information at image boundaries. In fact, the red pixel is very useful to get an accurate green value. Therefore, we compare the red pixel with the average of the red pixels around it. If the difference value between them is relatively large, it indicates that this point is at image boundaries. If a pixel is at the boundaries, the luminance information will have an obvious jump. Therefore, we can use this difference value to modify the green value we need. The simplest way is to multiply the difference value with a constant and plus the green pixel value obtained by bilinear interpolation algorithm. This process can be formulated as gˆ (i, j ) = gˆ b (i, j ) + αΔ R (i, j ), (3) -1/8 1 ∑ r (i + m, j + n) is the difference 4 value between the red pixel r (i, j ) and the average of the neighbor red values; ( m, n) = {(0, 2), (0, −2), (2, 0), (−2, 0)} ; α is a constant called gain parameter and gˆ b (i, j ) is the G value interpolated by bilinear interpolation algorithm. In other words, we correct the bilinear interpolation by a correction value to estimate the unknown color. For interpolating G at blue pixels, the value can be estimated in the same way with the correction value Δ B (i, j ) . Similarly, the R at green pixels can be interpolated by (4) rˆ(i, j ) = rˆb (i, j ) + βΔ G (i, j ), 1/4 where Δ R (i, j ) 5 r (i, j ) − -1/8 -1/8 1/4 1/4 1/2 1/4 -1/8 -1/8 1/4 1/2 1/4 1/4 -1/8 -1/8 (a) (b) (c) (d) 1/4 -1/8 -3/16 1/4 where rˆb (i, j ) is the red value interpolated by bilinear interpolation algorithm, rˆ(i, j ) is corrected R value, β is gain parameter, and Δ G (i, j ) is the difference value like Δ R (i, j ) . The R value at blue pixels is obtained by (5) with the gain parameter γ . rˆ(i, j ) = rˆb (i, j ) + γΔ B (i, j ). (5) -3/16 1/4 3/4 1/4 -3/16 1/4 -3/16 (f) (e) -3/16 Similarly, the B values at green pixels and red pixels can be estimated by the same way. 1/4 To make the reconstructed full-color image more similar to the real image, we need to choose appropriate values for the three gain parameters ( α , β , and γ ). In [9], three optimal parameters are obtained by a Wiener approach. It is indicated that when α = 1/ 2 , β = 5 / 8 , and γ = 3 / 4 , the errors between the interpolated image and the original image reach to the minimum. In the proposed scheme, we use these gain parameters to design a series of linear filters. But the solution is not unique. Theoretically, the bigger the size of the filter is, the better the interpolation effect is. It is noticeable that more pixels will be used in interpolation by using the filter with a bigger size. However, it also increases the computational complexity at the same time, which is not suitable for the realtime system. A good way to solve this problem is to reduce the -3/16 1/4 3/4 1/4 -3/16 1/4 -3/16 (g) (h) Fig. 4. Linear filters used in this paper: (a) Interpolating G at R locations; (b) Interpolating G at B locations; (c) Interpolating R at G locations in R row, B column; (d) Interpolating R at G locations in B row, R column; (e) Interpolating R at B locations; (f) Interpolating B at G locations in B row, R column; (g) Interpolating B at G locations in R row, B column; (h) Interpolating B at R locations. 466 the CPSNR can reflect the interpolation effects more comprehensively. IV. EXPERIMENTAL RESULTS AND PERFORMANCE ANALYSIS An interpolated color image with good quality is the ultimate goal of a demosaicking algorithm. In this section, we use PSNR and composite peak signal-to-noise ratio (CPSNR) [16] to test the interpolation performance of the improved method. The comparisons among the improved algorithm and other two demosaicking algorithms are also presented. B. Experimental Results and Performance Analysis In this section, we give the experimental results of the proposed interpolation algorithm. 24 Kodak test images [17] shown in Fig. 5 are selected to test the interpolation effects, which are either 768×512 or 512×768 in size. According to the characteristics of the interpolation filters, the boundary extension is needed. In this paper, we adopt symmetric boundary extension. In addition, all experiments in this paper are conducted with MATLAB R2012a. A. Evaluation Criteria The PSNR and CPSNR are two image quality evaluation indexes adopted in most interpolation algorithms. The PSNR is used to assess the visual quality of each color channel. Taking the red channel for example, the PSNR can be defined as Table I shows the comparisons of PSNR and CPSNR among bilinear interpolation, Luo’s method [11], and the proposed algorithm. From Table I, we can see that the improved interpolation algorithm has about 3-5 dB improvement in each color channel and almost 5 dB improvement in CPSNR. These results are consistent with theoretical analysis described above. Since the proposed algorithm takes the correlations among the three color planes into account, it is obvious that the proposed method achieves better performance than bilinear interpolation. It can be observed that the improved method outperforms the latter with higher PSNR and CPSNR. The reason is that the proposed method uses more nearest neighbor pixels during interpolation process. To evaluate the subjective effect of the reconstructed color image, the demosaicking results of a cropped region from Fig. 5(s) are shown in Fig. 6. From Fig. 6, we can see that the three interpolation methods have similar performance in smooth regions like sky area. Compared with other two interpolation methods, the improved algorithm incurs fewer false colors in high-frequency regions. The color artifact is also weakened to a certain extent. ⎡ ⎤ ⎢ ⎥ 2 M N 255 × × ⎥ (dB), (6) PSNR = 10 log10 ⎢ M N 2 ⎥ ⎢ R i j R i j ( , ) ( , ) − ]⎥ out ⎢ ∑∑ [ in ⎣ i =1 j =1 ⎦ where M × N is the size of the full-color image, Rin (i, j ) and Rout (i, j ) are pixel values at the position (i, j ) of the original red channel and the reconstructed red channel respectively. Generally, the bigger the PSNR is, the better the quality of the restored image is. An image whose PSNR is 30 dB or greater is considered as an image with good quality. The CPSNR is used to assess overall quality of the reconstructed image. For a full-color image with size of M × N , the CPSNR can be expressed as ⎡ ⎤ ⎢ ⎥ 2 × × × 3 M N 255 ⎥ (dB), (7) CPSNR = 10log10 ⎢ 3 M N 2⎥ ⎢ ⎢ ∑∑∑[ I in (i, j, k ) − I out (i, j, k )] ⎥ ⎣ k =1 i =1 j =1 ⎦ where I in is the original color image, I out is the reconstructed image, and k (k = 1, 2,3) is color plane. Compared with PSNR, Finally, we would like to point out that the proposed algorithm is also applied to other test images, and similar results can be obtained. (a) (b) (c) (d) (e) (f) (g) (h) (i) (j) (k) (l) (m) (n) (o) (p) (q) (r) (s) (t) (u) (v) (w) (x) Fig. 5. Kodak test images. 467 further improve the accuracy of the interpolation and enhance the image quality. V. CONCLUSION In this paper, an improved linear interpolation for demosaicking of Bayer-patterned CFA images is proposed. According to different colors needed to be interpolated, different size linear filters with different gain parameters are designed. Experimental results show that the improved scheme achieves better performance than other two methods both in subjective assessment and objective assessment. Besides, the improved scheme reduces the computational complexity. Due to good real-time adaptability, it can be easily implemented in hardware. But it is easy to find that there are still color artifacts in the reconstructed full-color image. For further work, we will ACKNOWLEDGMENT Dongyan Wang and Gang Yu thank the Image Processing and Computer Vision (IPCV) research group at Shandong University (Weihai) for giving them the opportunity to do some research in their college years. The authors thank Heng Zhang, Yunpeng Zhang, Zhi Zhang, and Ke Yu for their help in revising this paper. The authors also thank the anonymous reviewers for their valuable comments to improve the presentation of the paper. COMPARISONS OF PSNR AND CPSNR AMONG BILINEAR INTERPOLATION, LUO’S METHOD [11], AND THE PROPOSED ALGORITHM TO KODAK IMAGES WITH SIZE OF 512×768 OR 768×512 IN PNG FORMAT TABLE I. Bilinear Interpolation Test Images Luo’s Method [11] PSNR/dB Proposed Algorithm PSNR/dB PSNR/dB CPSNR/dB R G B Fig.5(a) 24.97 29.47 25.30 Fig.5(b) 31.85 35.92 Fig.5(c) 32.63 Fig.5(d) CPSNR/dB R G B 26.16 28.81 35.54 28.74 31.43 32.65 35.68 40.04 36.61 32.68 33.62 36.80 32.20 36.22 32.20 33.17 Fig.5(e) 25.51 29.18 25.99 Fig.5(f) 26.41 30.88 Fig.5(g) 31.99 Fig.5(h) CPSNR/dB R G B 30.10 29.44 35.54 29.55 30.75 34.01 35.93 36.03 40.04 34.66 36.38 42.32 35.29 37.26 37.25 42.32 36.31 37.95 35.96 41.43 35.96 37.14 36.46 41.43 36.86 37.74 26.62 30.45 36.68 29.81 31.43 31.40 36.68 31.00 32.38 26.74 27.59 30.32 36.74 29.77 31.36 30.97 36.74 30.66 32.05 35.98 32.02 32.97 36.22 41.83 35.08 36.88 37.27 41.83 36.28 37.88 22.46 27.35 22.72 23.68 26.27 33.12 25.94 27.45 27.08 33.12 26.88 28.24 Fig.5(i) 31.06 35.48 31.33 32.21 34.82 41.41 34.53 36.00 35.61 41.41 35.62 36.84 Fig.5(j) 31.09 35.13 31.18 32.11 35.55 42.00 35.01 36.59 36.38 42.00 36.05 37.43 Fig.5(k) 28.07 32.20 28.40 29.20 32.27 37.94 31.81 33.27 32.87 37.94 32.62 33.89 Fig.5(l) 31.18 36.20 32.05 32.66 35.30 41.96 34.58 36.28 36.06 41.96 35.58 37.08 Fig.5(m) 23.02 26.45 23.12 23.93 27.67 32.68 27.14 28.56 28.13 32.68 27.68 28.99 Fig.5(n) 28.07 31.88 28.21 29.07 32.30 37.36 31.03 32.84 32.96 37.36 31.87 33.50 Fig.5(o) 29.74 34.42 30.40 31.09 33.84 39.40 32.99 34.64 34.62 39.40 33.83 35.35 Fig.5(p) 29.93 34.36 29.70 30.87 33.30 39.79 32.93 34.43 33.88 39.79 33.84 35.10 Fig.5(q) 31.43 34.57 30.76 31.96 35.24 40.47 34.83 36.21 36.04 40.47 35.63 36.90 Fig.5(r) 27.19 30.45 26.94 27.93 31.60 36.24 30.87 32.34 32.19 36.24 31.41 32.83 Fig.5(s) 27.02 31.76 27.13 28.15 30.68 37.23 30.35 31.83 31.42 37.23 31.14 32.52 Fig.5(t) 29.93 33.80 29.75 30.81 33.95 40.07 33.46 34.98 34.60 40.07 34.14 35.57 Fig.5(u) 27.56 31.50 27.53 28.51 31.54 37.45 30.98 32.52 32.27 37.45 31.86 33.24 Fig.5(v) 29.80 33.33 29.33 30.49 33.70 38.51 32.34 34.16 34.21 38.51 33.10 34.73 Fig.5(w) 33.43 37.56 33.62 34.50 37.73 43.06 36.63 38.38 38.32 43.06 37.45 39.01 Fig.5(x) 26.34 29.43 25.33 26.72 30.63 35.43 29.13 31.02 31.29 35.43 29.54 31.46 468 (a) (b) (c) (d) (e) Fig. 6. Experimental results: (a) Original color images; (b) Bayer-patterned CFA image; (c) Demosaicking by bilinear interpolation; (d) Demosaicking by Luo’s method [11]; (e) Demosaicking by the proposed algorithm. [10] L. Li, Z. X. Hou, C. Y. Wang, and F. He, “Demosaicing algorithm based on all phase DCT/IDCT interpolation,” Opto-Electronic Engineering, vol. 35, no. 12, pp. 96-100, Dec. 2008. (in Chinese) [11] X. Luo, H. J. Sun, Q. P. Chen, J. Chen, and Y. J. Wang, “Real-time demosaicing of Bayer pattern images,” Chinese Journal of Optics and Applied Optics, vol. 3, no. 2, pp. 182-187, Apr. 2010. (in Chinese) [12] W. J. Chen and P. Y. Chang, “Effective demosaicking algorithm based on edge property for color filter arrays,” Digital Signal Processing, vol. 22, no. 1, pp. 163-169, Jan. 2012. [13] J. Shi, C. Y. Wang, and S. Y. Zhang, “Region-adaptive demosaicking with weighted values of multidirectional information,” Journal of Communications, vol. 9, no. 12, pp. 930-936, Dec. 2014. [14] D. Kiku, Y. Monno, M. Tanaka, and M. Okutomi, “Beyond color difference: Residual interpolation for color image demosaicking,” IEEE Transactions on Image Processing, vol. 25, no. 3, pp. 1288-1300, Mar. 2016. [15] G. Spampinato, A. Bruna, G. Sanguedolce, A. Bruna, G. Sanguedolce, E. Ardizzone, and M. L. Cascia, “Improved color interpolation using discrete wavelet transform,” in Proc. of the SPIE - IS & T Electronic Imaging - Image and Video Communications and Processing, San Jose, CA, USA, Jan. 18-20, 2005, vol. 5685, part 2, pp. 753-760. [16] Z. J. Song, D. D. Wang, Z. Huang, and Y. W. Pang, “Edge pattern based demosaicking algorithm of color filter array,” Transactions of Tianjin University, vol. 19, no. 1, pp. 29-36, Feb. 2013. [17] Eastman Kodak Company, “Kodak lossless true color image suite -PhotoCD PCD0992,” available online at http://r0k.us/graphics/kodak/ index.html, Jan. 15, 2017. REFERENCES [1] [2] [3] [4] [5] [6] [7] [8] [9] B. E. Bayer, “Color imaging array,” U.S. Patent 3971065, Jul. 1976. D. Menon and G. Calvagno, “Color image demosaicking: An overview,” Signal Processing: Image Communication, vol. 26, no. 8-9, pp. 518-533, Oct. 2011. R. Lukac, K. N. Plataniotis, D. Hatzinakos, and M. Aleksic, “A new CFA interpolation framework,” Signal Processing, vol. 86, no. 7, pp. 1559-1579, Jul. 2006. P. Longere, X. Zhang, P. B. Delahunt, and D. H. Brainard, “Perceptual assessment of demosaicing algorithm performance,” Proceedings of the IEEE, vol. 90, no. 1, pp. 123-132, Jan. 2002. W. Yu, “Colour demosaicking method using adaptive cubic convolution interpolation with sequential averaging,” IEE Proceedings: Vision Image and Signal Processing, vol. 153, no. 5, pp. 666-676, Oct. 2006. R. Kakarala and Z. Baharav, “Adaptive demosaicing with the principal vector method,” IEEE Transactions on Consumer Electronics, vol. 48, no. 4, pp. 932-937, Nov. 2002. Z. Ren, K. Zhou, S. Lin, and B. Guo, “Gradient-based interpolation and sampling for real-time rendering of inhomogeneous, single-scattering media,” Computer Graphics Forum, vol. 27, no. 7, pp. 1945-1953, Oct. 2008. J. E. Adams and J. F. Hamilton, “Adaptive color plan interpolation in single sensor color electronic camera,” U.S. Patent 5629734, May 1997. H. S. Malvar, L. W. He, and R. Cutler, “High-quality linear interpolation for demosaicing of Bayer-patterned color images,” in Proc. of the IEEE Int. Conf. on Acoustics, Speech and Signal Processing, Montreal, Quebec, Canada, May 17-21, 2004, vol. 3, pp. 485-488. 469 View publication stats