Abstract:
Methods and systems for robust and flexible extraction of image information using color filter arrays. Methods are provided comprising receiving a sample set of data generated by transforming and sampling an optical property of an original color image in a spatial basis, wherein the transformation effected is substantially local in the spatial basis and has partially overlapping spectra. A generalized inverse of the transform augmented with regularization constraints is applied to the sample set of data to infer original image data. According to one approach the generalized inverse does not use variational minimization or assume constant color ratios. According to an alternative approach regularization can take the form of predetermined spectral constraints applied to the sample set of data to infer the original image data. According to another alternative approach regularization can promote spectral sparsity. Methods are also provided for creating an optical color filter array, for sampling an image, for reducing noise in an image, and for computing a sparse representation of an image signal. Systems for carrying out these and other methods are also provided.

Description:
RELATED APPLICATIONS 
       [0001]    This application is based on and claims the benefit of priority of U.S. Provisional Application No. 61/316,840, filed Mar. 24, 2010 and of U.S. Provisional Application No. 61/435,291, filed Jan. 22, 2011, which are hereby incorporated by reference in their entirety. 
         [0002]    This application is also based on and claims the benefit of priority of U.S. application Ser. No. 12/951,043, filed Nov. 20, 2010, and of U.S. Provisional Application No. 61/262,923, filed Nov. 20, 2009, the priority benefit of which was claimed in U.S. application Ser. No. 12/951,043, both of which applications are hereby incorporated by reference in their entireties. 
     
    
     BACKGROUND OF THE INVENTION 
       [0003]    1. Field of the Invention 
         [0004]    Embodiments of the present invention relate to multi-spectral imaging systems such as still cameras, video cameras, scanners and microscopes and more specifically to imaging systems that use fewer sensor elements than previous techniques for comparable image quality. 
         [0005]    2. Background Information 
         [0006]    Images herein can be considered signals whose amplitude may represent some optical property such as intensity, color and polarization which may vary spatially but not significantly temporally during the relevant measurement period. In color imaging, light intensity typically is detected by photosensitive sensor elements or photosites. An image sensor is composed of a two dimensional regular tiling of these individual sensor elements. Color imaging systems need to sample the image in at least three basic colors to synthesize a color image. We use the term “basic colors” to refer to primary colors, secondary colors or any suitably selected set of colors. We exclude color difference signals, many of which are used in popular color spaces, from the definition of basic colors. Furthermore, all references to red, green and blue should be construed to apply to any set of basic colors. 
         [0007]    We only consider systems that sense a “substantially local” transform in the spatial domain of the image signal, which is a transform whose value at a point depends only on the signal in its close neighborhood. 
         [0008]    Color sensing may be achieved by a variety of means such as, for example, (a) splitting the image into three identical copies, separately filtering each into the basic colors, and sensing each of them using separate image sensors, or (b) using a rotating filter disk to transmit images filtered in each of the basic colors onto the same image sensor. 
         [0009]    However, a very popular design for capturing color images is to use a single sensor overlaid with a color filter array (“CFA”). This includes the straightforward design wherein the value of each output pixel is determined by three sensing elements, one for each basic color, usually arranged in horizontal, vertical or diagonal stripes. This design yields red, green and blue images of equal resolution, or equivalently luminance and chrominance signals of equal bandwidth. ‘Luminance” is defined as a weighted sum of basic color signals where all the weights are positive while “chrominance”, is defined as a weighted sum of basic color signals where at least one weight is negative. The color stripe design is still used in high end cameras such as the Panavision Genesis Digital Camera, http://www.panavision.com/publish/2007/11/09/Genesis.pdf, page 2, 2007. Newer CFA designs by Bayer (see  FIG. 4  and B. E. Bayer, “Color imaging array”, Jul. 20, 1976. U.S. Pat. No. 3,971,065) and others (see K. Hirakawa and P. J. Wolfe, “Spatio-spectral color filter array design for enhanced image fidelity” in Proc. of IEEE ICIP, pages II: 81-84, 2007 and L. Condat, “A New Class of Color. Filter Arrays with Optimal Sensing Properties”) make different trade-offs between luminance and chrominance bandwidths as well as the crosstalk between them. 
         [0010]    Most of the early CFAs as well as their associated image reconstruction algorithms were designs based on intuition and experimentation but lacking rigorous mathematical foundation. In the paper “Color demosaicing by estimating luminance and opponent chromatic signals in the Fourier domain” , Proc. IS&amp;T/SID 10th Color Imaging Conf, pages 331-336, 2002, D. Alleysson, S. Susstrunk, and J. Herault analyzed electromagnetic filtering performed by CFAs as amplitude modulation of the color signals in the spatial domain (as used herein the terms “demosaic” and “demosaick” are to be construed as input image reconstruction procedures and the terms “demosaicer” and “demosaicker” as input image reconstruction algorithms). This led to frequency domain image reconstruction techniques that viewed the problem as that of demultiplexing the luminance and chrominance signals via demodulation and filtering. See E. Dubois, “Frequency-domain methods for demosaicking of bayer-sampled color images”, IEEE Signal Processing Letters, 12(12):847-850, 200 and N. Lian, L. Chang, and Y. P. Tan, “Improved color filter array demosaicking by accurate luminance estimation” in IEEE International Conference on Image Processing, 2005, ICIP 2005, volume 1, 2005. 
         [0011]    The complementary problem of designing CFAs with good frequency domain properties was attacked by D. Alleysson, S. Susstrunk, and J. Herault, “Linear demosaicing inspired by the human visual system”, IEEE Transactions on Image Processing, 14(4):439-449, 2005 wherein the doubling of the number of blue photosites in the Bayer CFA at the expense of Green photosites was suggested. This was followed by techniques to design CFAs directly in the frequency domain by K. Hirakawa and P. J. Wolfe, “Spatio-spectral color filter array design for enhanced image fidelity” in Proc. of IEEE ICIP, pages II: 81-84, 2007 and optimized by L. Condat, “A New Class of Color Filter Arrays with Optimal Sensing Properties”. These techniques fix the pattern of each basic color to consist of a small set of spatial “carriers”—two dimensional sinusoids with appropriate frequencies, phases and amplitudes—and sum over the three basic colors to arrive at the final pattern. This pattern is then overlaid on the sensor. When an image formed by the camera&#39;s lens is filtered by the CFA, it is modulated by each of the carrier frequencies. The overlap of the modulation products of the 3 primaries induces a color transform and leads to a multiplex of luminance and chrominance signals modulated at different frequencies. As long as there is limited cross-talk between the luminance and chrominance signals, and the color transform is invertible the original color image can be recovered. 
         [0012]    An important consideration in the choice of sensor color space so far has been the high frequency content of chrominance signals. Well chosen color transforms result in chrominance signals with low high frequency content. This allows the chrominance signals to be placed close to each other and to the luminance signal in the Fourier domain without significant cross-talk. See Y. Hel-Or, “The canonical correlations of color images and their use for demosaicing” and K. Hirakawa and P. J. Wolfe, “Spatio-spectral color filter array design for enhanced image fidelity” in Proc. of IEEE ICIP, pages II: 81-84, 2007 and L. Condat, “A New Class of Color Filter Arrays with Optimal Sensing Properties”. 
         [0013]    An important factor influencing the close packing of color component (luminance, chrominance) signals is the geometry of their spectra. Square and rectangular sampling lattices admit higher resolution along the diagonal directions than along horizontal or vertical directions. Optical systems, on the other hand, generate roughly equal resolution in all directions thereby yielding images with nearly circular spectral support. When plotted, the 2D Fourier transform of a CFA is a rectangle while that of a color component of an optical image is a circle. This leads to the problem of efficiently packing circles into rectangles.  FIG. 3  shows an exemplary monochrome image  310  and it&#39;s spectral image  320 . The spectral image is obtained by taking the logarithm of the absolute value of the Fourier transform of the image. 
         [0014]    An aggressive class of techniques for close packing of color component spectra employs adaptive directional techniques during image reconstruction. These techniques assume the color component spectra of small image patches to be sparse in at least one direction. They design their CFA to generate more than one copy of chrominance spectra (see B. E. Bayer, “Color imaging array”, Jul. 20, 1976, U.S. Pat. No. 3,971,065), implicitly or explicitly identify the cleanest copy during the image reconstruction step and use directional filtering to demultiplex them (see E. Dubois, “Frequency-domain methods for demosaicking of bayer-sampled color images”, IEEE Signal Processing Letters, 12(12):847-850, 2005 and K. Hirakawa and T W Parks, “Adaptive homogeneity-directed demosaicing algorithm” , IEEE Transactions on Image Processing, 14(3):360-369, 2005. Also see Ron Kimmel, “Demosaicing: Image reconstruction from color ccd samples”, IEEE Trans. Image Processing, 8:1221-1228, 1999 and E. Chang, S. Cheung, and D. Y. Pan, “Color filter array recovery using a threshold-based variable number of gradients”, in Proceedings of SPIE, volume 3650, page 36, 1999). The benefits of adaptive directional image reconstruction come at a heavy cost, though, since sensing edge directions from noisy sub-sampled images is a hard problem and the non-linear nature of sensing edges making makes noise reduction a non-separable step from image reconstruction. 
         [0015]    Universal demosaickers have also been devised that can reconstruct images sampled by any CFA. This has allowed for easy experimentation with novel CFA designs, including patterns with basic colors arranged in a random pattern (as used herein the term “random” is to be construed as including “random” and “pseudo random”). 
       CFA Design in the Fourier Domain 
       [0016]    Consider a photosite located at n=[n i  n 2 ] that filters incident light x(n)=[x r (n) x g (n) x b (n)] T  through color filter array c(n)=[c r (n) c g (n) c b (n)] and measures the resulting, scalar signal y(n), where 
         [0000]        y ( n )= c ( n )· x ( n )  (1)
 
         [0017]    Consider a set of real carrier sinusoids s (k) (n), 1≦k≦m of unit amplitude, frequencies ω (k) =[ω 1   (k) ,ω 2   (k) ] and phases 
         [0000]    
       
         
           
               
              
             
               
                 
                   φ 
                   
                     ( 
                     k 
                     ) 
                   
                 
                 ∈ 
                 
                   { 
                   
                     0 
                     , 
                     
                       π 
                       2 
                     
                   
                   } 
                 
               
               , 
             
           
         
       
     
         [0000]    given by 
         [0000]    
       
         
           
             
               
                 
                   
                     
                       s 
                       
                         ( 
                         k 
                         ) 
                       
                     
                      
                     
                       ( 
                       n 
                       ) 
                     
                   
                   = 
                   
                     
                       
                          
                         
                           j 
                            
                           
                             ( 
                             
                               
                                 
                                   ω 
                                   
                                     ( 
                                     k 
                                     ) 
                                   
                                 
                                 · 
                                 n 
                               
                               + 
                               
                                 φ 
                                 
                                   ( 
                                   k 
                                   ) 
                                 
                               
                             
                             ) 
                           
                         
                       
                       + 
                       
                          
                         
                           - 
                           
                             j 
                              
                             
                               ( 
                               
                                 
                                   
                                     ω 
                                     
                                       ( 
                                       k 
                                       ) 
                                     
                                   
                                   · 
                                   n 
                                 
                                 + 
                                 
                                   φ 
                                   
                                     ( 
                                     k 
                                     ) 
                                   
                                 
                               
                               ) 
                             
                           
                         
                       
                     
                     2 
                   
                 
               
               
                 
                   ( 
                   2 
                   ) 
                 
               
             
           
         
       
     
         [0000]    Each color of the CFA, c i (n), iε{r, g, b}, is the superposition of these carriers scaled by an appropriate real amplitude α i   (k) , 
         [0000]    
       
         
           
             
               
                 
                   
                     
                       c 
                       i 
                     
                      
                     
                       ( 
                       n 
                       ) 
                     
                   
                   = 
                   
                     
                       ∑ 
                       
                         k 
                         = 
                         1 
                       
                       m 
                     
                      
                     
                       
                         a 
                         i 
                         
                           ( 
                           k 
                           ) 
                         
                       
                        
                       
                         
                           
                             s 
                             
                               ( 
                               k 
                               ) 
                             
                           
                            
                           
                             ( 
                             n 
                             ) 
                           
                         
                         . 
                       
                     
                   
                 
               
               
                 
                   ( 
                   3 
                   ) 
                 
               
             
           
         
       
     
         [0018]    The choice of carrier frequencies is a CFA design decision except for the zero frequency or DC component, whose presence is essential for all physically realizable CFAs. For this reason we set ω (1) =[0 0]. It follows that α i   (1) &gt;0, ε{r, g, b}. 
         [0019]    Once the sensor is exposed to image x(n) and its mosaiced output y(n) is captured, a signal processing step is needed to reconstruct x(n). Assuming the carrier frequencies ω (k) ,1≦k≦m are sufficiently separated so that sidebands centered about them do not overlap, each modulated signal can be recovered by multiplication with its respective carrier followed by convolution with a low pass filter h (k) . Formally, 
         [0000]        u   (k) ( n )=( h   (k) *( s   (k)   ·y ))( n )  (4)
 
         [0020]    Each u (k) (n), 0≦k≦m can be viewed as a color component. Motivated by the fact that α i   (1) &gt;0, iε{r, g, b}, we loosely refer to u (1) (n) as the luminance signal, and u (k) (n), k&gt;1 as the chrominance signals. 
         [0021]    It is important to note that if the carrier frequencies ω (k) ,1≦k≦m are insufficiently separated so that all sidebands centered about them overlap, existing techniques do not prescribe any means of recovering them without crosstalk. 
         [0022]    Since u(n)=[u (1) (n) u (2) (n) . . . u (m) (n)] T  is generated by the modulation of the incident image x(n), it can be written as 
         [0000]        u ( n )= A·x ( n )  (5)
 
         [0000]    where 
         [0000]    
       
         
           
             A 
             = 
             
               
                 [ 
                 
                   
                     
                       
                         a 
                         r 
                         
                           ( 
                           1 
                           ) 
                         
                       
                     
                     
                       
                         a 
                         g 
                         
                           ( 
                           1 
                           ) 
                         
                       
                     
                     
                       
                         a 
                         b 
                         
                           ( 
                           1 
                           ) 
                         
                       
                     
                   
                   
                     
                       
                         a 
                         r 
                         
                           ( 
                           2 
                           ) 
                         
                       
                     
                     
                       
                         a 
                         g 
                         
                           ( 
                           2 
                           ) 
                         
                       
                     
                     
                       
                         a 
                         b 
                         
                           ( 
                           2 
                           ) 
                         
                       
                     
                   
                   
                     
                       ⋮ 
                     
                     
                       ⋮ 
                     
                     
                       ⋮ 
                     
                   
                   
                     
                       
                         a 
                         r 
                         
                           ( 
                           m 
                           ) 
                         
                       
                     
                     
                       
                         a 
                         g 
                         
                           ( 
                           m 
                           ) 
                         
                       
                     
                     
                       
                         a 
                         b 
                         
                           ( 
                           m 
                           ) 
                         
                       
                     
                   
                 
                 ] 
               
               . 
             
           
         
       
     
         [0000]    A can be interpreted as the color transform matrix, and provided its rank is 3 or greater, x can be recovered by 
         [0000]        x ( n )= A   −1   ·u ( n )  (6)
 
         [0000]    Here A −1 , the generalized inverse of A, can be interpreted as the inverse color transform. 
         [0023]    From the above discussion it is clear that the three decision variables for a CFA design are the carrier frequencies ω (k) ,1≦k≦m, phases φ (k) ,1≦k≦m and amplitudes given by the matrix A. 
       Bayer CFA in the Fourier Domain 
       [0024]    For a Fourier domain analysis of the popular Bayer CFA see E. Dubois, “Frequency-domain methods for de-mosaicking of bayer-sampled color images”, IEEE Signal Processing Letters, 12(12):847-850, 2005.  FIG. 4  shows the Bayer CFA 410.  FIG. 5  illustrates how color information with its circular support is packed into the sensor&#39;s rectangular support. This can be most easily understood in terms of an alternative color space: 
         [0000]    
       
         
           
             
               
                 
                   
                     [ 
                     
                       
                         
                           L 
                         
                       
                       
                         
                           
                             C 
                              
                             
                                 
                             
                              
                             1 
                           
                         
                       
                       
                         
                           
                             C 
                              
                             
                                 
                             
                              
                             2 
                           
                         
                       
                     
                     ] 
                   
                   = 
                   
                     
                       
                         1 
                         4 
                       
                        
                       
                         [ 
                         
                           
                             
                               1 
                             
                             
                               2 
                             
                             
                               1 
                             
                           
                           
                             
                               
                                 - 
                                 1 
                               
                             
                             
                               2 
                             
                             
                               
                                 - 
                                 1 
                               
                             
                           
                           
                             
                               
                                 - 
                                 1 
                               
                             
                             
                               0 
                             
                             
                               1 
                             
                           
                         
                         ] 
                       
                     
                      
                     
                       [ 
                       
                         
                           
                             R 
                           
                         
                         
                           
                             G 
                           
                         
                         
                           
                             B 
                           
                         
                       
                       ] 
                     
                   
                 
               
               
                 
                   ( 
                   7 
                   ) 
                 
               
             
           
         
       
     
         [0025]    In  FIG. 5 , the central circle represents Luminance (L). The four quarter circles at the vertices make up Chrominance1 (C1). The two semi-circles at the left and right edges make up the first copy of Chrominance2 (C2a). The two semi-circles at the top and bottom edges make up the second copy of Chrominance2 (C2b). 
         [0026]    It&#39;s apparent from this figure that there is empty space between circles that goes unused. Such inefficiencies are unavoidable by existing CFAs that attempt to maintain at least one copy of luminance or chrominance spectra free from crosstalk. This invention redresses such inefficiency, among other things. 
       Universal Demosaickers 
       [0027]    A few so called universal image reconstruction methods exist which work with arbitrary Red, Green and Blue CFA patterns. These include one described in Condat, “Random patterns for color filter arrays with good spectral properties”, (Research Report of the IBB, Helmholtz Zentrum Munchen, no. 08-25, Sep. 2008, Munich, Germany), IBR, hereby incorporated by reference in its entirety, which uses variation minimization to infer the original image. 
         [0028]    Lukac et al., “Universal demosaicing for imaging pipelines with a RGB color filter array” (Pattern Recognition, vol. 38, pp. 2208-2212, 2005) IBR, hereby incorporated by reference in its entirety, presents a universal demosaicker which makes assumptions about the local constancy of color ratios. 
         [0029]    Neither of these universal demosaickers use spectral band-limitedness constraints in a systematic way. 
       BRIEF SUMMARY OF THE INVENTION 
       [0030]    The present invention overcomes problems and limitations of prior imaging methods and systems by providing novel methods and systems for, among other things, sampling an image to obtain image data and processing image data. 
         [0031]    One such method comprises receiving a sample set of data generated by transforming and sampling an optical property of an original color image in a spatial basis, wherein the transformation effected is substantially local in the spatial basis and has partially overlapping spectra. A generalized inverse of the transform is applied to the sample set of data to produce a set of inferred original image data, wherein the generalized inverse does not use variational minimization and does not assume constant color ratios. 
         [0032]    Another such method comprises receiving a sample set of data generated by transforming and sampling an optical property of an original color image in a spatial basis, wherein the transformation effected is substantially local in the spatial basis and has partially over-lapping spectra. A generalized inverse of the transform that respects predetermined spectral constraints is applied to the sample set of data to produce a set of inferred original image data. 
         [0033]    Another such method comprises creating an optical color filter array, providing an image sensor comprising a plurality of photosensitive sensor elements, projecting an image through the color filter array, and detecting image intensity values transmitted through the color filter array after a single exposure at sensor elements of the image sensor. Detected intensity values are read out from only a subset of sensor elements to increase speed, the subset of sensor elements being randomly chosen whereby aliasing is rendered similar to noise. The input image is inferred from the detected image intensity values. 
         [0034]    A further such method comprises creating an optical color filter array, providing an image sensor comprising a plurality of photosensitive sensor elements, projecting an image through the color filter array, and detecting image intensity values transmitted through the color filter array after a single exposure at each sensor element of the image sensor. The color filter array is random, whereby aliasing is rendered similar to noise. The sensor elements are grouped into two or more subsets whose respective characteristics differ in at least one of the following respects: sensitivities, sensor element quantum efficiencies and electronic signal integration times. The input image is inferred from the detected image intensity values. 
         [0035]    Yet another such method comprises creating an optical color filter array, providing an image sensor comprising a plurality of photosensitive sensor elements, projecting an image through the color filter array, and detecting image intensity values transmitted through the color filter array after a single exposure at each sensor element of the image sensor. The sensor elements are arranged substantially in a jittered pattern. The input image is inferred from the detected image intensity values, while at least some higher frequency components of the detected image intensity values are set to zero prior to image inference. 
         [0036]    Another such method comprises creating an optical color filter array, providing an image sensor comprising a plurality of photosensitive sensor elements,—projecting an image through the color filter array, and detecting image intensity values transmitted through the color filter array after a single exposure at each sensor element of the image sensor. The sensor elements are arranged substantially in a jittered pattern. The input image is inferred from the detected image intensity values, where sparsity promotion is used to reconstruct a higher resolution image. 
         [0037]    A method for sampling an image comprises projecting an image onto an image sensor comprising a plurality of photosensitive sensor elements arranged in a pattern obtained by jittering the pixel locations a small distance off of a regular lattice in a random way and and detecting image intensity values after a single exposure at each sensor element of the image sensor. The input image is inferred from the detected image intensity values. 
         [0038]    Another such method is provided for reducing noise in an image. This method comprises receiving a sample set of data generated by transforming and sampling an optical property of an original color image in a spatial basis, wherein the transformation effected is substantially diagonal in the spatial basis and has partially overlapping spectra and approximating the Poissonian photon shot noise at each photosite with a Gaussian of the same variance and zero mean. The image intensity at each photosite is used as an approximation for the mean of the Poissonian at the photosite. The Gaussian of the same variance and zero mean is combined with the Gaussian noise from other sources to get a combined Gaussian. The maximum likelihood estimator of the combined Gaussian is computed. 
         [0039]    A further such method is provided for reducing noise in an image. This method comprises capturing image data representative of intensities of the image in the spatial domain, transforming the image data into transformed data in another domain, and applying the Expectation Maximization algorithm to the inverse transformation of the data to compute its maximum likelihood estimator. 
         [0040]    An additional such method is provided for computing a sparse representation of a signal in a basis. This method comprises inserting additional vectors from the basis into the sparse representation in multiple iterations and using a statistical estimator such as a maximum likelihood estimator to decide which additional vectors to include in each iteration. 
         [0041]    Yet another such method is provided for processing an image. It comprises receiving a sample set of data generated by transforming and sampling an optical property of an original color image in a spatial basis, wherein the transformation effected is substantially diagonal in the spatial basis and has partially overlapping spectra. A generalized inverse of the transformation is applied to the sample set of data to produce a set of inferred original image data, wherein the sampling is done at spatial locations which are arranged substantially in a jittered pattern. 
         [0042]    It is to be understood that this summary is provided as a means of generally determining what follows in the drawings and detailed description, and is not intended to limit the scope of the invention. Other methods and systems are disclosed and claimed herein and those described above should not be construed as exhaustive or limiting. Objects, features and advantages of the invention will be readily understood upon consideration of the following detailed description taken in conjunction with the accompanying drawings. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0043]      FIG. 1  is a flowchart showing an exemplary method for sampling a color image with a CFA in accordance with an embodiment of the present invention. 
           [0044]      FIG. 2  is a schematic diagram of an exemplary color imaging system in accordance with an embodiment of the present invention. 
           [0045]      FIG. 3  Shows a monochrome image and it&#39;s spectral image. 
           [0046]      FIG. 4  Shows the popular Bayer Color Filter Array. 
           [0047]      FIG. 5  Illustrates amplitude modulation of an image effected by the Bayer CFA. 
           [0048]      FIG. 6  is a diagram of an exemplary randomized color filter array in accordance with an embodiment of the present invention. 
           [0049]      FIG. 7  Illustrates amplitude modulation of an image effected by the CFA shown in  FIG. 6  in the Fourier domain. 
           [0050]      FIG. 8  is a code listing of a Matlab simulation of an exemplary embodiment of the invention showing image reconstruction by matrix inversion. 
           [0051]      FIG. 9  Shows the results of a simulation of a simple exemplary embodiment of the present invention in Matlab. 
           [0052]      FIG. 10  is a code listing of a Matlab simulation of an exemplary embodiment of the invention showing image reconstruction with sparsity promotion. 
       
    
    
     DETAILED DESCRIPTION OF THE INVENTION 
       [0053]    The present invention works within the broad framework of Color Filter Array based color imaging systems. 
         [0054]      FIG. 1  is a flowchart showing an exemplary method of color imaging, in accordance with an embodiment of the present invention. In step  110 , a Color Filter Array is created. In step  120 , the incident image is filtered through this CFA. In step  130 , the filtered image is detected by an image sensor after it is exposed to it. In step  140 , the image is reconstructed from the image sensor output and the CFA pattern. 
         [0055]      FIG. 2  is a schematic diagram of an imaging system, in accordance with an embodiment of the present invention. Image  210  is focused by lens  220  onto Color Filter Array  230 . The filtered image is detected by image sensor  240 . The resulting plurality of sensed filtered image intensity values is sent to processor  250  where image reconstruction is performed. 
         [0056]    Existing CFA designs try to minimize partial spectral overlap between the different color components, or use empirically designed techniques to reconstruct the image. A novel feature of the present invention is the use of mathematically rigorous techniques that separate the color components during image reconstruction even if they have partial spectral overlap. As before, we define the overlap of two modulated spectra (including the degenerate 0 frequency) as partial if they have different carrier frequencies, and total otherwise. 
       A General Image Capture Problem Formulation 
       [0057]    Consider a discrete image with (N 1 , N 2 ) pixels. Denote the R, G, B color planes of the image by x i , i ε{r, g, b} and those of the CFA that filters it by c i , i ε{r, g, b}. Now, a photosite located at n=(n 1 , n 2 ), 1≦n 1 ≦N 1 , 1≦n 2 ≦N 2  filters the incident light x(n)=[x r (n) x g (n) x b (n)] through color filter array c(n)=[c r (n) c g (n) c b (n)] and measures the resulting noise-free, scalar signal y(n), where 
         [0000]        y ( n )= c ( n )· x ( n )  (8)
 
         [0000]    Taking (N 1 , N 2 ) point 2D DFT of both sides of equation 8 we get, 
         [0000]    
       
         
           
             
               
                 
                   Y 
                   = 
                   
                     
                       ∑ 
                       
                         i 
                         ∈ 
                         
                           { 
                           
                             r 
                             , 
                             g 
                             , 
                             b 
                           
                           } 
                         
                       
                     
                      
                     
                       
                         C 
                         i 
                       
                       * 
                       
                         X 
                         i 
                       
                     
                   
                 
               
               
                 
                   ( 
                   9 
                   ) 
                 
               
             
           
         
       
     
         [0000]    where Y, C i , X i , i ε{r, g, b} are the 2D DFT of y, c i , x i , i ε{r, g, b} respectively and * represents 2D convolution. We define “rasterization” of a 2 dimensional signal into a vector as first casting each row of the signal as a vector and then concatenating these vectors in the order of the rows. In order to cast equation 9 in matrix form, we first define {tilde over (Y)},{tilde over (X)} i ,{tilde over (C)} i , i ε{r, g, b} as the rasterized column vector versions of Y, X i , C i , i ε{r, g, b} respectively and 
         [0000]    
       
         
           
             
               X 
               ~ 
             
             ≡ 
             
               [ 
               
                 
                   
                     
                       
                         X 
                         ~ 
                       
                       r 
                     
                   
                 
                 
                   
                     
                       
                         X 
                         ~ 
                       
                       g 
                     
                   
                 
                 
                   
                     
                       
                         X 
                         ~ 
                       
                       b 
                     
                   
                 
               
               ] 
             
           
         
       
     
         [0000]    as the concatenation of {tilde over (X)} r ,{tilde over (X)} g ,{tilde over (X)} b . Furthermore, denote DFT frequencies of the input image by ω=(ω 1 , ω 2 ) and those of the CFA filtered image by Ω=(Ω 1 , Ω 2 ) and their rasterized version as {tilde over (ω)} and {tilde over (Ω)} respectively. Now equation 9 can be re-written in matrix form as 
         [0000]        {tilde over (Y)}=A·{tilde over (X)}   (10)
 
         [0000]    where row {tilde over (Ω)} of A is the concatenation of {tilde over (D)} i ({tilde over (Ω)}), i ε{r,g,b}, 
         [0000]        A ({tilde over (Ω)})≡[ {tilde over (D)}   r ({tilde over (Ω)})  {tilde over (D)}   g ({tilde over (Ω)})  {tilde over (D)}   b ({tilde over (Ω)})]  (11)
 
         [0000]    and {tilde over (D)} i ({tilde over (Ω)}), i ε{r, g, b} is a row vector obtained by appropriately rearranging the elements of {tilde over (C)} i   T , i ε{r, g, b} so as to effect the convolution of equation 9. 
         [0058]    In order to solve equation 10, we require rank(A)=|{tilde over (X)}|. However, rank(A)≦min(|{tilde over (X)}|,|{tilde over (Y)}|) and the number of sensor elements, |{tilde over (X)}| is k times |{tilde over (Y)}|, in the case k basic colors. Hence {tilde over (X)} can only be recovered if an image model exists that provides additional a priori information, such as restricted signal bandwidth, or sparse representation in some bases. Thus, equation 10 has to be augmented with 
         [0000]      Γ= A′·{tilde over (X)}   (12)
 
         [0000]    where Γ is a vector typically composed of constants, usually zeros. Combining equations 10, 12 we obtain 
         [0000]        {tilde over (X)}=S   −1   ·Y′   (13)
 
         [0000]    where 
         [0000]    
       
         
           
             
               Y 
               ′ 
             
             = 
             
               [ 
               
                 
                   
                     
                       Y 
                       ~ 
                     
                   
                 
                 
                   
                     Γ 
                   
                 
               
               ] 
             
           
         
       
     
         [0000]    is the concatenation of {tilde over (Y)}, Γ, 
         [0000]    
       
         
           
             S 
             = 
             
               [ 
               
                 
                   
                     A 
                   
                 
                 
                   
                     
                       A 
                       ′ 
                     
                   
                 
               
               ] 
             
           
         
       
     
         [0000]    is the concatenation of A, A′ and S −1  is the generalized inverse of S. 
         [0059]    In order to express the result of 10 in the spatial domain first consider equation 8. Let the rasterized column vector versions of y and the color planes of x, c be {tilde over (y)},{tilde over (x)} i ,{tilde over (c)} i ,i ε{r, g, b}. 
       Let 
       [0060]    
       
         
           
             
               x 
               ~ 
             
             ≡ 
             
               [ 
               
                 
                   
                     
                       
                         x 
                         ~ 
                       
                       r 
                     
                   
                 
                 
                   
                     
                       
                         x 
                         ~ 
                       
                       g 
                     
                   
                 
                 
                   
                     
                       
                         x 
                         ~ 
                       
                       b 
                     
                   
                 
               
               ] 
             
           
         
       
     
         [0000]    be a column vector formed by the concatenation of x i , i ε{r, g, b} and B=[{tilde over (c)} r  {tilde over (c)} g  {tilde over (c)} b ] be a matrix similarly formed by the concatenation of {tilde over (c)} i , i ε{r, g, b}. Equation 8 can now be re-written as, 
         [0000]        {tilde over (y)}=B·{tilde over (x)}   (14)
 
         [0061]    Analogously to the Fourier domain formulation, to solve equation 14 we require rank(B)=|{tilde over (x)}|. However, rank(B)≦min(|{tilde over (x)}|,|{tilde over (y)}|) and the number of sensor elements, |{tilde over (x)}| is k times |{tilde over (y)}|, in the case k basic colors. Hence {tilde over (x)}can only be recovered if an image model exists that provides additional a priori information, such as restricted signal bandwidth, or sparse representation in some bases. Thus, equation 14 has to be augmented with 
         [0000]      γ= B′·{tilde over (x)}   (15)
 
         [0000]    where γ is a vector typically composed of constants, usually zeros. Combining equations 14, 15 we obtain 
         [0000]        {tilde over (x)}=S   −1   ·y′   (16)
 
         [0000]    where 
         [0000]    
       
         
           
             
               y 
               ′ 
             
             = 
             
               [ 
               
                 
                   
                     
                       y 
                       ~ 
                     
                   
                 
                 
                   
                     γ 
                   
                 
               
               ] 
             
           
         
       
     
         [0000]    is a concatenation of {tilde over (y)}, γ, 
         [0000]    
       
         
           
             S 
             = 
             
               [ 
               
                 
                   
                     B 
                   
                 
                 
                   
                     
                       B 
                       ′ 
                     
                   
                 
               
               ] 
             
           
         
       
     
         [0000]    is a concatenation of B, B′ and S −1  is a generalized inverse of S. 
         [0062]    We use the term “Generalized Inverse” to refer to transformations that have some or all properties of an inverse transformation. If a transform is invertible, its generalized inverse refers to this inverse or any transform that results in an inferred image that is sufficiently close to it in L 2  norm. If the transform is not invertible, its generalized inverse is obtained by adding additional conditions such as image smoothness or sparsity. If the inverse transform is over determined, the generalized inverse may use statistical estimation to choose the most probable solution from the space of possible solutions. 
         [0063]    From equation 16 we find that a basic color value at a pixel location can be computed as a weighted sum of elements of y′. Since the only image dependent values of y′ are in its sub-vector {tilde over (y)}, this reduces to a space variant filter plus an optional constant. This constant is 0 if γ is a vector of zeros. The space variant filter obtained from equation  16  has a large kernel the size of |{tilde over (y)}|. In practical systems, this can be greatly reduced by windowing the filter kernel. Alternately, equation 16 can be set up for a small block around each pixel and only the kernel for this pixel solved for. The latter method not only generates small kernels, but does so with greatly reduced offline computation. 
         [0064]    Another practical consideration is the space required to store the space variant filter kernels. This can be addressed by using a periodic CFA formed by tiling the sensor with a pattern block, so that the number of filter kernels is reduced to the block size. Such tiling sufficiently preserves the random character of a random CFA as long as the block size is not too small. Rectangular blocks suffice for most applications but other, more complicated, shapes may also be employed. 
         [0065]    Space variant filter kernels can be pre-computed and used for image reconstruction only if equation 12 or 15 can be set up independently of the image. This is the case for section “Image Model with Restricted Bandwidth” but not for sections “Image Model with Transform-coefficient Sparsity” and “Other Regularization Techniques for Image Reconstruction”. Hybrid approaches that combine space variant filters with adaptive algorithms are described in section “Image Model with Adaptive Color Space and Bandwidth.” 
       Designing CFAs to Convey Maximal Information 
       [0066]    The rank of matrix A is determined by the choice of CFA. A carefully tailored CFA with a small repeating pattern can have a rank close to or equal to |{tilde over (Y)}|. However, such CFAs have a large number of filter colors complicating their manufacture. Filters that allow the transmission of more than one basic color are known as panchromatic filters. Panchromatic filters vary in the amount of transmission of each basic color and hence come in a large number of colors. 
         [0067]    We present, without proof, the result that CFAs comprised of a random arrangement of basic colors such as Red, Green and Blue (known collectively “RGB”) filters have rank close to |{tilde over (Y)}|. Furthermore, some random arrangements of the basic colors can have a rank equal to |Y|. Intuitively, this is due to the fact that the DFT of a random pattern is overwhelmingly likely to contain |{tilde over (Y)}| carrier frequencies of non-zero amplitude. Furthermore, practically all of these amplitudes are unique. Such CFAs are easier to manufacture than panchromatic ones. For more on eigenvalues of random matrices, see E. J. Candes, T. Tao, “Near Optimal Signal Recovery From Random Projections: Universal Encoding Strategies?”, IEEE Transactions on Information Theory, 2006 and references cited therein. 
         [0068]    Randomized Panchromatic CFAs can also be built wherein colors are chosen randomly. Such CFAs also have rank concentrated close to |{tilde over (Y)}|. However, these are harder to manufacture than random basic-color filter arrays. 
         [0069]      FIG. 6  shows an exemplary Color Filter Array  610 , in accordance with an embodiment of the present invention. In this example Red, Green and Blue filters in approximately equal numbers are distributed in a random pattern. 
         [0070]      FIG. 7  Illustrates amplitude modulation of an image effected by the CFA shown in  FIG. 6  in the Fourier domain. Each circle represents the spectrum of a basic color signal modulated with one of the multitude of carriers. For better visibility, only a few of the carriers are shown. 
         [0071]    In more general terms, we shall refer to the linear transform effected by a CFA or other optical transformation apparatus as a λ-Capture transform if it has the following property when applied to a band-limited color image signal with color space dimensionality k: If the signal has circular Fourier domain support with 1/k as many independent Fourier coefficients in each color as the number of Fourier coefficients in the transformed signal, then λ% of the latter are independent linear combinations of the former. The parameter λ of a λ-Capture transform controls the rank of the inverse transform and is a measure of the amount of color information captured in the transformed signal. 
       Random CFAs and Graceful Error Handling 
       [0072]    Information injected via equation 12 in the Fourier domain or 15 in the spatial domain may not be accurate, and thereby result in image reconstruction errors. This error is dependent on the CFA, and using a random CFA randomizes the error. Randomized error is more similar to noise than non-randomized error and is visually less objectionable. Furthermore, randomized error lacks transform coefficient sparsity and is more amenable to standard noise reduction techniques. This removes a significant part of the error signal while eliminating very little of the image information. 
         [0073]    Image reconstruction algorithms for random CFAs make very few assumptions about arrangement of photosites of any given color, and hence can be easily adapted to work around defective photosites. The resulting error is randomized, made visually less objectionable and amenable to noise reduction. 
         [0000]    Image Model with Restricted Bandwidth 
         [0074]    To apply bandwidth restrictions in the spatial domain, first consider a N 1 , N 2  point 2D DFT matrix F whose row F({tilde over (ω)}) determines the DFT coefficient of frequency {tilde over (ω)} of color i when multiplied with {tilde over (x)} i , i ε{r, g, b}. Also consider a color transform with k components α (j) , 1≦j≦k that are linear combinations of the primary colors r, g, b thus defined: 
         [0000]      α (j) =α r   (j)   r+α   g   (j)   g+α   b   (j)   b   (17)
 
         [0000]    where k is usually 3. Next, define G (j) =[α r   (j) F α g   (j) F α b   (j) F] by scaling and concatenating 3 copies of F so that it computes the DFT of color component α (j)  when multiplied by {tilde over (x)}. Set up equation 15 by letting matrix B′ consist of rows G (j) , 1≦j≦k that represent the DFT coefficients of color components to be set to zero, and letting γ be a column vector of p zeros where p is the number of rows of B′. 
         [0075]    The color signal bandwidth restriction of the previous paragraph can equally well be written in the Fourier domain formulation by appropriately setting up equation 12. 
         [0076]    The color signal bandwidth restriction can also be applied in the Wavelet, Curvelet, Karhunen-Loeve and other bases where it results in many low value coefficients that can be approximated to zero. 
         [0077]    Well chosen color spaces contain most of their high frequency energy in their luminance signal and very little in their chrominance signals. This allows images to be approximately modeled with chrominance bandwidths that are a fraction of their luminance bandwidths with little error. If random CFAs are used, this error is randomized and rendered less visually objectionable and made amenable to noise reduction. 
         [0078]    One such color space containing chrominance signals with low high frequency content is defined in terms of luminance (1), chrominance1 (c1) and chrominance2 (c2) as follows: 
         [0000]    
       
         
           
             
               
                 
                   
                     [ 
                     
                       
                         
                           l 
                         
                       
                       
                         
                           
                             c 
                              
                             
                                 
                             
                              
                             1 
                           
                         
                       
                       
                         
                           
                             c 
                              
                             
                                 
                             
                              
                             2 
                           
                         
                       
                     
                     ] 
                   
                   = 
                   
                     
                       
                         [ 
                         
                           
                             
                               
                                 1 
                                 
                                   3 
                                 
                               
                             
                             
                               0 
                             
                             
                               0 
                             
                           
                           
                             
                               0 
                             
                             
                               
                                 1 
                                 
                                   2 
                                 
                               
                             
                             
                               0 
                             
                           
                           
                             
                               0 
                             
                             
                               0 
                             
                             
                               
                                 1 
                                 
                                   6 
                                 
                               
                             
                           
                         
                         ] 
                       
                        
                       
                         [ 
                         
                           
                             
                               1 
                             
                             
                               1 
                             
                             
                               1 
                             
                           
                           
                             
                               1 
                             
                             
                               
                                 - 
                                 1 
                               
                             
                             
                               0 
                             
                           
                           
                             
                               1 
                             
                             
                               1 
                             
                             
                               
                                 - 
                                 2 
                               
                             
                           
                         
                         ] 
                       
                     
                      
                     
                       [ 
                       
                         
                           
                             R 
                           
                         
                         
                           
                             G 
                           
                         
                         
                           
                             B 
                           
                         
                       
                       ] 
                     
                   
                 
               
               
                 
                   ( 
                   18 
                   ) 
                 
               
             
           
         
       
     
         [0079]    It has been shown by Y. Hel-Or, “The canonical correlations of color images and their use for demosaicing,” HP Laboratories Israel, Tech. Rep. HPL-2003-164R1, February 2004 that c1, c2 and l can be considered statistically independent. 
         [0080]    While the above definition of luminance is the preferred one, other definitions of chrominance may be used. Chrominance basis vectors that are orthogonal to the luminance basis vector defined above have similarly low high frequency content. 
         [0081]    All techniques described in this section allows one to set up equation 12 or 15 independently of the input image, and image reconstruction can be performed with a pre-computed space variant filter. 
         [0000]    Image Model with Adaptive Color Space and Bandwidth 
         [0082]    Color spaces can be adaptively chosen for different image neighborhoods so as to minimize high frequency content of chrominance signals. For example, this can be done by pre-multiplying each basic color by a factor inversely proportional to its strength in the neighborhood, reconstructing the thus normalized image followed by de-normalization to restore the original colors. 
         [0083]    Signal bandwidth can be adaptively set for each image neighborhood. Consider the vicinity of an edge, for example. Signal bandwidth along the direction of the edge is lower than in the direction perpendicular to it. Edge sensing algorithms can be used to take advantage of this fact, for example, and setup equation 12 or 15 with a roughly oval spectrum with major axis in the direction of the edge. This allows for the reconstruction of higher resolution images and makes the system of equations more over determined and thus robust to noise. 
         [0084]    If a limited number of color spaces and a limited number of spectral shapes are considered, their solutions can be precomputed as space variant filters. Image reconstruction then consists of selecting the most suitable color space and spectral shape for each neighborhood, and applying the corresponding space variant filter. 
         [0000]    Image Model with Transform-Coefficient Sparsity 
         [0085]    Spectral sparsity of natural images may be used to reduce the number of degrees of freedom. In this framework, explicitly or implicitly, most of the large amplitude transform coefficients (as used herein the term “transform coefficient” is to be construed as including “Fourier transform coefficient”, “Wavelet transform coefficient”, “Curvelet transform coefficient”, “Karhunen-Loeve transform coefficient” and coefficients of other vector bases spanning the space of image signals) of color components are solved for, and many of the low amplitude coefficients are neglected. If many of the low amplitude transform coefficients are first identified and set to zero, the resulting simplified inverse problem can be solved using any of the standard linear inverse problem techniques. 
         [0086]    A random CFA is well suited to our objective of extracting the large valued Transform coefficients as it provides a random set of projections of the image. See E. J. Candes, T. Tao, “Near Optimal Signal Recovery From Random Projections: Universal Encoding Strategies?”, IEEE Transactions on Information Theory, 2006. Random CFAs will be assumed for the rest of this section. 
         [0087]    The low value transform coefficients can be identified by first reconstructing an appropriately bandwidth restricted image. This works because the neglected high frequencies have low magnitudes compared to the low frequencies (see D. L. Ruderman and W. Bialek, “Statistics of natural images: Scaling in the woods”, Physics Review Letters 73 (1994), no. 6, 814-817). Furthermore, the resulting error is randomized and the resulting dense spectral support of the error results in small value transform coefficients remaining small. Once the low value transform coefficients are identified and removed, higher frequency coefficients are reintroduced and the resulting linear problem re-solved. This process is repeated until all “large” transform coefficients are identified and solved for. 
         [0088]    L 1  minimization, also known as Basis Pursuit, is a standard Compressive Sensing technique to identify many of the high amplitude transform coefficients—and thereby the low amplitude transform coefficients. See Chen, Donoho, and Saunders, “Atomic decomposition by basis pursuit”, SIAM J. Scientific Computing, vol. 20, pp. 33-61, 1999. 
         [0089]    Matching Pursuit is a faster but suboptimal greedy algorithm for identifying the large valued transform coefficients. See Mallat and Zhang, “Matching Pursuits with Time-Frequency Dictionaries”, IEEE Transactions on Signal Processing, December 1993, pp. 3397-3415. Variants include, but are not limited to, Orthogonal Matching Pursuit, Regularized Orthogonal Matching Pursuit and Simultaneous Orthogonal Matching Pursuit. 
         [0090]    We propose a modification of greedy iterative sparsity promoting techniques such as Matching pursuit and its variants wherein at each iteration, a statistical estimator such as a Maximum Likelihood Estimator (MLE) is used for determining which additional basis vector to add to the sought sparse representation. Various statistical estimators are discussed in a later section on noise sensitivity. The use of statistical estimators produces a more accurate sparse representation. 
         [0091]    Correlations between the images in the three basic colors can also be leveraged to further increase sparsity allowing more frequencies to be recovered, thereby improving reconstruction quality. Instead of promoting sparsity of the image in each of the basic colors independently, sparsity is sought in a joint representation. See Nagesh and Li, “Compressive imaging of color images”, IEEE Int. Conf. on Acoustics, Speech and Signal Processing (ICASSP), Taipei, Taiwan, April 2009. Unlike our CFA based approach, the authors of this prior work use a color wheel and a Digital Mirror Device thereby freeing them to choose any measurement basis but adding significantly to the cost of such a device and requiring multiple exposures to obtain a single image. 
         [0092]    The band limitedness of the image can be imposed on each iteration of the solution by projecting the iterate onto the corresponding convex set. 
         [0093]    Since natural images have approximate transform coefficient sparsity not exact transform coefficient sparsity, the above reconstruction techniques are not exact. However, since image compression techniques such as JPEG, JPEG2000, JPEG-XR, MPEG1, MPEG2, MPEG4 ASP, AVC, H.263, H.264, AVS, VC-1, WebP, WebM, Theora, Dirac etc. are also based on similar models of transform sparsity, this inaccuracy does not significantly contribute to any additional image degradation. 
         [0094]    Transform sparsity image model can be used in conjunction with limited bandwidth image model to reconstruct the input image. This allows larger bandwidth images to be reconstructed than is possible with only the limited bandwidth model or, for that matter, with state of the art image reconstruction algorithms. This, in turn, allows for larger bandwidth OLPFs to be used or for OLPFs to be omitted altogether. 
       Noise Sensitivity 
       [0095]    Noise has two primary components: a) additive Gaussian noise generated at the sensor due to thermal and electrical effects and b) Poissonian photon-shot noise which we approximate by a Gaussian of the same variance and zero mean. Naive CFA designs when combined with simplistic matrix inversion for image reconstruction can often lead to amplification of this noise in the reconstructed image. 
         [0000]        S ({tilde over (Ω)})· {tilde over (X)} +ε({tilde over (Ω)})= Y   e ({tilde over (ω)})  (19)
 
         [0000]    where Y ε ({tilde over (Ω)}) is the noisy signal output by the sensor for frequency ω, ε({tilde over (ω)}) is a random variable representing noise, and S({tilde over (Ω)}) is the corresponding row of the matrix S. For the noisy case, equation 13 can be rewritten as 
         [0000]    
       
         
           
             
               
                 
                   
                     
                       
                         X 
                         ~ 
                       
                       ɛ 
                     
                      
                     
                       ( 
                       
                         ω 
                         ~ 
                       
                       ) 
                     
                   
                   = 
                   
                     
                       ∑ 
                       Ω 
                     
                      
                     
                       
                         
                           S 
                           
                             - 
                             1 
                           
                         
                          
                         
                           ( 
                           
                             
                               ω 
                               ~ 
                             
                             , 
                             
                               Ω 
                               ~ 
                             
                           
                           ) 
                         
                       
                       · 
                       
                         
                           Y 
                           ɛ 
                         
                          
                         
                           ( 
                           Ω 
                           ) 
                         
                       
                     
                   
                 
               
               
                 
                   ( 
                   20 
                   ) 
                 
               
             
           
         
       
     
         [0000]    where {tilde over (X)} ε ({tilde over (ω)}) is the noisy reconstruction of {tilde over (X)}({tilde over (ω)}). 
         [0000]    
       
         
           
             
               
                 
                   
                     var 
                      
                     
                       ( 
                       
                         
                           
                             
                               X 
                               ~ 
                             
                             ɛ 
                           
                            
                           
                             ( 
                             
                               ω 
                               ~ 
                             
                             ) 
                           
                         
                         - 
                         
                           
                             X 
                             ~ 
                           
                            
                           
                             ( 
                             
                               ω 
                               ~ 
                             
                             ) 
                           
                         
                       
                       ) 
                     
                   
                   = 
                   
                     
                       ∑ 
                       Ω 
                     
                      
                     
                       
                         
                           ( 
                           
                             
                               S 
                               
                                 - 
                                 1 
                               
                             
                              
                             
                               ( 
                               
                                 
                                   ω 
                                   ~ 
                                 
                                 , 
                                 
                                   Ω 
                                   ~ 
                                 
                               
                               ) 
                             
                           
                           ) 
                         
                         2 
                       
                       · 
                       
                         var 
                          
                         
                           ( 
                           
                             ɛ 
                              
                             
                               ( 
                               
                                 Ω 
                                 ~ 
                               
                               ) 
                             
                           
                           ) 
                         
                       
                     
                   
                 
               
               
                 
                   ( 
                   21 
                   ) 
                 
               
             
           
         
       
     
         [0000]    where ε({tilde over (ω)}) is assumed to be uncorrelated and var(.) represents variance. Now, we can express Signal to Noise Ratio as 
         [0000]    
       
         
           
             
               
                 
                   
                     
                       
                         SNR 
                         = 
                           
                          
                         
                           10 
                            
                           log 
                            
                           
                             
                               
                                 
                                   X 
                                   ~ 
                                 
                                 2 
                               
                                
                               
                                 ( 
                                 ω 
                                 ) 
                               
                             
                             
                               var 
                                
                               
                                 ( 
                                 
                                   
                                     
                                       
                                         X 
                                         ~ 
                                       
                                       ɛ 
                                     
                                      
                                     
                                       ( 
                                       
                                         ω 
                                         ~ 
                                       
                                       ) 
                                     
                                   
                                   - 
                                   
                                     
                                       X 
                                       ~ 
                                     
                                      
                                     
                                       ( 
                                       
                                         ω 
                                         ~ 
                                       
                                       ) 
                                     
                                   
                                 
                                 ) 
                               
                             
                           
                         
                       
                     
                   
                   
                     
                       
                         = 
                           
                          
                         
                           10 
                            
                           log 
                            
                           
                             
                               
                                 ∑ 
                                 
                                   Ω 
                                   ~ 
                                 
                               
                                
                               
                                 
                                   ( 
                                   
                                     
                                       
                                         S 
                                         
                                           - 
                                           1 
                                         
                                       
                                        
                                       
                                         ( 
                                         
                                           
                                             ω 
                                             ~ 
                                           
                                           , 
                                           
                                             Ω 
                                             ~ 
                                           
                                         
                                         ) 
                                       
                                     
                                     · 
                                     
                                       
                                         
                                           Y 
                                           ~ 
                                         
                                         ɛ 
                                       
                                        
                                       
                                         ( 
                                         
                                           Ω 
                                           ~ 
                                         
                                         ) 
                                       
                                     
                                   
                                   ) 
                                 
                                 2 
                               
                             
                             
                               
                                 ∑ 
                                 
                                   Ω 
                                   ~ 
                                 
                               
                                
                               
                                 
                                   
                                     
                                       ( 
                                       
                                         
                                           S 
                                           
                                             - 
                                             1 
                                           
                                         
                                          
                                         
                                           ( 
                                           
                                             
                                               ω 
                                               ~ 
                                             
                                             , 
                                             
                                               Ω 
                                               ~ 
                                             
                                           
                                           ) 
                                         
                                       
                                       ) 
                                     
                                     2 
                                   
                                   · 
                                   var 
                                 
                                  
                                 
                                     
                                 
                                  
                                 
                                   ( 
                                   
                                     ɛ 
                                      
                                     
                                       ( 
                                       
                                         Ω 
                                         ~ 
                                       
                                       ) 
                                     
                                   
                                   ) 
                                 
                               
                             
                           
                         
                       
                     
                   
                 
               
               
                 
                   ( 
                   22 
                   ) 
                 
               
             
           
         
       
     
         [0096]    This scheme becomes susceptible to noise amplification if the choice of CFA is such as to make some elements of S −1 ({tilde over (w)},{tilde over (Ω)}) large in magnitude or negative. Multiplication of signals with large values amplifies noise while subtraction of strong signals to obtain a weak residual signal decreases SNR as noise energy gets added even as the signal gets subtracted. These problems may be ameliorated by suitably designing CFAs and the image reconstruction algorithms. 
         [0000]    CFA Designs with Reduced Noise Amplification 
         [0097]    Noise amplification can be reduced by employing a slightly larger photosite count that results in a more overdetermined systems of linear equations. Many reconstruction algorithms perform better on such over-determined systems of linear equations. 
         [0098]    Low amplitude carriers in the CFA result in low amplitude sidebands. These low amplitude sidebands are amplified by the inverse color transform of the reconstruction step, which amplifies noise as well. CFAs should be designed so that the sum of all carrier energies is high. 
         [0099]    One effective design strategy is ensure that photosites of different colors are well mixed. This prevents large numbers of photosites of the same color from clumping together, thus ensuring each pixel has photosites of all colors in its vicinity. This works well because most image reconstruction algorithms are better at interpolating missing colors over small distances than they are at interpolating them over large distances. Random CFAs with this property can be generated by setting the probability distribution of picking a color at a photosite as a function of the colors of other photosites in its neighborhood. 
         [0100]    One way of designing CFAs with minimal subtractions while maintaining high efficiency of frequency-packing is to use a small number of carriers resulting in panchromatic filters i.e. filters with a large gamut of colors. 
       Reducing Noise Amplification During Image Reconstruction 
       [0101]    Enforcing spectral sparsity is an effective technique for suppressing noise. This is done using the techniques of section “Image Model with Transform-coefficient Sparsity”. This leads to the linear system of equations being over determined and hence a substantial improvement in Signal to Noise Ratio. 
         [0102]    Statistical estimation techniques form another effective class of noise suppression techniques. Statistical Estimation is the term used to describe techniques for estimating the parameters of a probabilistic distribution from a set of samples from that distribution. In the case of an over-determined system of equations, statistical estimation can be used to approximate the means of distributions that generated the sensor readings. Least squares regression is one of the simplest forms of statistical estimation. Various other estimators may also be computed on over-determined systems such as the Maximum Likelihood Estimator (MLE), Maximum A Posteriori Probability (MAP) estimator, Best Linear Unbiased Estimator or a Minimum Variance Linear Estimator. For details, see J. Shao, “Mathematical Statistics”, Springer, ISBN 0-387-98674-X (1998). 
         [0103]    A Matlab simulation was performed wherein a CFA with equal numbers of Red, Green and Blue filters arranged in a random pattern was generated. The original color image was filtered through this CFA. Various amounts of white noise was added to this and reconstruction was performed on the resultant image sensor output by inverting the linear transformation effected by the CFA in the Fourier domain. Matlab is a product of The Math Works, Inc., Natick, Mass., U.S.A. 
         [0104]      FIG. 8  shows a snippet of Matlab code used in the simulation. While we do not provide a complete code listing of the simulation, this snippet should be sufficient for anyone of ordinary skill in the art to reproduce our results. The matrix inversion step of the reconstruction is performed by the Moore-Penrose pseudoinverse algorithm. 
         [0105]      FIG. 9  shows the results of this simulation.  910  is the original color image.  920  is the image after being filtered by an exemplary randomized RGB filter.  930  is the reconstructed color image. No noise was added leading to practically perfect reconstruction (PSNR≧300 dB). 
         [0106]    We introduce an efficient algorithm for computing an MLE that works in the spatial domain. It states transform constraints such as sparsity and bandwidth limits in the spatial domain, and then computes an MLE via multi-variate normal regression. This approximates the Poissonian signal with a Gaussian distribution of the same variance and zero mean. Additive Gaussian noise can be handled similarly since the sum of Gaussian random variables is also a Gaussian random variable. See D. Montgomery, E. Peck, “Introduction to Linear Regression Analysis” for more on multi-variate normal regression. Other techniques for computing an MLE such as the EM algorithm can alternately be used. For details, see A. P. Dempster, N. M. Laird, D. B. Rubin, “Maximum Likelihood from Incomplete Data via the EM Algorithm”, Journal of the Royal Statistical Society, Series B (Methodological) 39 (1): 1-38 (1977). 
         [0107]    Regularization, which is discussed in detail in the later section “Other Regularization Techniques for Demosaicking” as a tool for solving under-determined inverse problems is also a powerful technique for noise suppression. This includes the Tikhanov method with various penalty functionals as well as the Landweber method and the Truncated Singular Valued Decomposition. 
         [0108]    As described in the later section “Other Regularization Techniques for Demosaicking”, the Landweber method as well as some versions of the Tikhonov method belong to a class of Regularization techniques that, instead of inverting the linear transform given in equation 19, effectively invert a slightly different one: 
         [0000]        S*· ( S·{tilde over (X)} +ε({tilde over (Ω)}))= S*·{tilde over (Y)}   ε ({tilde over (Ω)})  (23)
 
         [0000]    where S* is the conjugate transpose of S. The application of S* produces a filtering effect which reduces noise. 
       Dynamic Range and Sensitivity Expansion 
       [0109]    Low intensity signals may be drowned by noise and high intensity signals may cause sensor saturation. The Dynamic Range of an imaging system is a measure of the range of intensities it can capture. Sensitivity, on the other hand, measures the system&#39;s responsiveness to low incident light. High dynamic range and increased low-light sensitivity are valuable characteristics. 
         [0110]    Previous attempts at increasing sensitivity such as by M. Parmar and B. Wandell, “Interleaved Imaging: An Imaging System Inspired by Rod-Cone Vision”, in Proc. SPIE Int. Soc. Opt. Eng, 2009 have made a subset of filter elements fully transmissive but have done so in regular patterns and have relied on empirically designed reconstruction techniques. U.S. patent application Ser. No. 11/191,729 by Compton and Hamilton of Eastman Kodak is another attempt that suffers from similar shortcomings. Alternative methods of controlling sensitivities of different subsets of photosites include changing the quantum efficiency of sensor elements or dynamically controlling the sensor elements&#39; signal integration times instead of by changing filter element transmittance. See, for example, http://www.fujifilmusa.com/products/digital_cameras/exr/about/index.html. 
         [0111]    Photosites of different colors and sensitivities can be handled by equations 10 and 14 and hence supported by the mathematics of section “A General Image Capture Problem Formulation”. Photosite sensitivities can be controlled by any suitable method including filter element transmittance, sensor element efficiency or electronic signal integration times. As before, we allow partial spectral overlaps to increase packing efficiency and use a regular pattern of panchromatic filters or a random arrangement of high sensitivity and regular sensitivity photosites of various colors. 
         [0112]    We can deal with photosites lost to saturation or under-exposure by reducing the number of transform coefficients solved for. If a random CFA is used this can be done gracefully, as described in section “Random CFAs and graceful Error Handling”. 
         [0113]    The CFA mentioned above also serves to improve image-capture in high ISO settings or of low dynamic range scenes. In these scenarios sensor element saturation and underexposure are not a problem and reduced luminance noise is the benefit. 
       Chromatic Aberration Correction 
       [0114]    Wavelength dependent refractive properties of camera optics can lead to geometric misalignment of the image in different colors. This is called Chromatic Aberration. The framework of the current invention allows for the incorporation of an elegant means of computationally correcting for this optical problem during image reconstruction. 
         [0115]    Existing solutions to this problem apply independent geometric corrections to the images in the different basic colors either before or after image reconstruction. Applying this correction before image reconstruction is problematic because each color by itself may be sub-sampled and hence aliased. Lack of accurate images in basic colors makes it impossible to effect the geometric corrections. 
         [0116]    The other case, wherein chromatic aberration is corrected after image reconstruction, is problematic because image reconstruction usually relies on correlations between the image in different basic colors. These correlations do not hold for images with chromatic aberration. See Sing Bing Kang, “Automatic Removal of Chromatic Aberration from a Single Image”, 2007 IEEE Computer Society Conference on Computer Vision and Pattern Recognition (CVPR 2007), 18-23 Jun. 2007. 
         [0117]    The framework of the present invention allows joint image reconstruction and chromatic aberration correction. This is particularly effective when color transforms that take advantage of correlations between basic colors such as red, green and blue are used, as is done in section “Image Model with Restricted Bandwidth”. This is achieved by expressing the discrete samples of the undistorted image in terms of those of the observed distorted image in equation 14. This is done by first expressing the continuous signal in terms of the discretized samples and then applying the continuous domain geometric distortion of chromatic aberration to it before re-discretizing it. This expresses the discrete components of the undistorted image as image independent linear combinations of those of the observed distorted image. Correlation relations between the image in different colors mentioned in the section “Image Model with Restricted Bandwidth” may now be used on these undistorted variables. A solution of this system of equations will reconstruct the image with corrected chromatic aberration without incurring the drawbacks of the existing solutions mentioned above. 
         [0118]    Chromatic aberration can be described as a combination of warping in the image plane and defocusing. We derive an explicit expression below for the discrete domain linear transformation corresponding to the former. While there is no exact way of correcting for the defocusing problem, some correction may be achieved by a space varying sharpening filter such as described in Sing Bing Kang, “Automatic Removal of Chromatic Aberration from a Single Image”, 2007 IEEE Computer Society Conference on Computer Vision and Pattern Recognition (CVPR 2007), 18-23 Jun. 2007. 
         [0119]    The discrete domain image is obtained from the continuous domain through sampling with rectangular photosites. This sampling may be described as a convolution with a 2D rectangular function followed by 2D Dirac comb sampling: 
         [0000]        x   i =( x   i   c   *H   Box ). H   Sample   (24)
 
         [0000]    where x i   c  is the continuous domain image in color i ε{r, g, b} just before it gets filtered by the CFA and x i  is the same image discretized by the sensor. 
         [0000]    
       
         
           
             
               
                 
                   
                     
                       H 
                       Box 
                     
                      
                     
                       ( 
                       
                         
                           u 
                           1 
                         
                         , 
                         
                           u 
                           2 
                         
                         , 
                         
                           w 
                           1 
                         
                         , 
                         
                           w 
                           2 
                         
                       
                       ) 
                     
                   
                   ≡ 
                   
                     
                       Rect 
                       2 
                     
                      
                     
                       ( 
                       
                         
                           
                             u 
                             1 
                           
                           
                             w 
                             1 
                           
                         
                         , 
                         
                           
                             u 
                             2 
                           
                           
                             w 
                             2 
                           
                         
                       
                       ) 
                     
                   
                 
               
               
                 
                   ( 
                   25 
                   ) 
                 
               
             
           
         
       
     
         [0000]    where u 1  and u 2  are continuous variables spanning the sensor length and width and ω 1  and ω 2  are the photosite length and width. 
         [0000]    
       
         
           
             
               
                 
                   
                     
                       H 
                       Sample 
                     
                      
                     
                       ( 
                       
                         
                           u 
                           1 
                         
                         , 
                         
                           u 
                           2 
                         
                         , 
                         
                           d 
                           1 
                         
                         , 
                         
                           d 
                           2 
                         
                       
                       ) 
                     
                   
                   ≡ 
                   
                     
                       1 
                       
                         
                           d 
                           1 
                         
                          
                         
                           d 
                           2 
                         
                       
                     
                      
                     
                       
                         DiracComb 
                         2 
                       
                        
                       
                         ( 
                         
                           
                             
                               u 
                               1 
                             
                             
                               d 
                               1 
                             
                           
                           , 
                           
                             
                               u 
                               2 
                             
                             
                               d 
                               2 
                             
                           
                         
                         ) 
                       
                     
                   
                 
               
               
                 
                   ( 
                   26 
                   ) 
                 
               
             
           
         
       
     
         [0000]    where d 1  and d 2  are the photosite spacings.
 
x i   c  may be obtained from the ideal chromatic aberration free image {tilde over (x)} c  through the warping functions ũ 1i  and ũ 2i . ũ 1i  and ũ 2i  are functions of u 1  and u 2  and are determined offline using existing methods for characterizing Chromatic Aberration.
 
         [0000]        x   i   c ( u   1   , u   2 )= {tilde over (x)}   i   c ( ũ   1i   , ũ   2i )  (27)
 
         [0000]    Equation 24 for {tilde over (x)} becomes 
         [0000]        {tilde over (x)}   i =( {tilde over (x)}   i   c   *H   Box ). H   Sample   (28)
 
         [0000]    which may be formally inverted: 
         [0000]        {tilde over (x)}   i   c   ={tilde over (x)}   i   *H   Lpf   *H   Box   −1   (29)
 
         [0000]    where H Lpf  is a low pass filter that recovers the continuous signal, an example implementation of which is 
         [0000]    
       
         
           
             
               
                 
                   
                     H 
                     Lpf 
                   
                   = 
                   
                     sin 
                      
                     
                         
                     
                      
                     
                       
                         c 
                          
                         
                           ( 
                           
                             
                               2 
                                
                               π 
                                
                               
                                   
                               
                                
                               
                                 u 
                                 1 
                               
                             
                             
                               d 
                               1 
                             
                           
                           ) 
                         
                       
                       · 
                       sin 
                     
                      
                     
                         
                     
                      
                     
                       c 
                        
                       
                         ( 
                         
                           
                             2 
                              
                             π 
                              
                             
                                 
                             
                              
                             
                               u 
                               2 
                             
                           
                           
                             d 
                             2 
                           
                         
                         ) 
                       
                     
                   
                 
               
               
                 
                   ( 
                   30 
                   ) 
                 
               
             
           
         
       
     
         [0000]    Equation 24 when combined with equations 27 and 29 becomes 
         [0000]        x   i =(( {tilde over (x)}   i   *H   Lpf   *H   box   −1 )( ũ   1i   , ũ   2i )* H   Box ). H   Sample   (31)
 
         [0000]    This expresses x i  as a linear transform of {tilde over (x)} i  as may be verified by writing the convolutions explicitly. Note that H Lpf , H Box , H Box   −1  are functions of (u 1 , u 2 ). 
         [0000]    
       
         
           
             
               
                 
                   
                     
                       x 
                       i 
                     
                      
                     
                       ( 
                       m 
                       ) 
                     
                   
                   = 
                   
                     
                       ∑ 
                       n 
                     
                      
                     
                       
                         
                           
                             x 
                             _ 
                           
                           i 
                         
                          
                         
                           ( 
                           n 
                           ) 
                         
                       
                        
                       
                         
                           ∫ 
                           u 
                         
                          
                         
                           
                              
                             
                               u 
                               1 
                             
                           
                            
                           
                               
                           
                            
                           
                              
                             
                               u 
                               2 
                             
                           
                            
                           
                             
                               ∫ 
                               v 
                             
                              
                             
                               
                                  
                                 
                                   v 
                                   1 
                                 
                               
                                
                               
                                   
                               
                                
                               
                                  
                                 
                                   v 
                                   2 
                                 
                               
                                
                               
                                 
                                   H 
                                   Lpf 
                                 
                                  
                                 
                                   ( 
                                   
                                     v 
                                     - 
                                     n 
                                   
                                   ) 
                                 
                               
                                
                               
                                 
                                   H 
                                   Box 
                                   
                                     - 
                                     1 
                                   
                                 
                                  
                                 
                                   ( 
                                   
                                     
                                       
                                         u 
                                         _ 
                                       
                                        
                                       
                                         ( 
                                         u 
                                         ) 
                                       
                                     
                                     - 
                                     v 
                                   
                                   ) 
                                 
                               
                                
                               
                                 
                                   H 
                                   Box 
                                 
                                  
                                 
                                   ( 
                                   
                                     m 
                                     - 
                                     u 
                                   
                                   ) 
                                 
                               
                             
                           
                         
                       
                     
                   
                 
               
               
                 
                   ( 
                   32 
                   ) 
                 
               
             
           
         
       
     
         [0000]    where the u and v integrals are over the sensor plane. This can be written as 
         [0000]    
       
         
           
             
               
                 
                   
                       
                   
                    
                   
                     
                       
                         
                           x 
                           i 
                         
                          
                         
                           ( 
                           m 
                           ) 
                         
                       
                       = 
                       
                         
                           ∑ 
                           n 
                         
                          
                         
                           
                             CA 
                              
                             
                               ( 
                               
                                 m 
                                 , 
                                 n 
                               
                               ) 
                             
                           
                            
                           
                             
                               
                                 x 
                                 _ 
                               
                               i 
                             
                              
                             
                               ( 
                               n 
                               ) 
                             
                           
                         
                       
                     
                      
                     
                       
 
                     
                      
                     
                         
                     
                      
                     where 
                   
                 
               
               
                 
                   ( 
                   33 
                   ) 
                 
               
             
             
               
                 
                   
                     CA 
                      
                     
                       ( 
                       
                         m 
                         , 
                         n 
                       
                       ) 
                     
                   
                   = 
                   
                     
                       ∫ 
                       u 
                     
                      
                     
                       
                          
                         
                           u 
                           1 
                         
                       
                        
                       
                           
                       
                        
                       
                          
                         
                           u 
                           2 
                         
                       
                        
                       
                         
                           ∫ 
                           v 
                         
                          
                         
                           
                              
                             
                               v 
                               1 
                             
                           
                            
                           
                               
                           
                            
                           
                              
                             
                               v 
                               2 
                             
                           
                            
                           
                             
                               H 
                               Lpf 
                             
                              
                             
                               ( 
                               
                                 v 
                                 - 
                                 n 
                               
                               ) 
                             
                           
                            
                           
                             
                               H 
                               Box 
                               
                                 - 
                                 1 
                               
                             
                              
                             
                               ( 
                               
                                 
                                   
                                     u 
                                     _ 
                                   
                                    
                                   
                                     ( 
                                     u 
                                     ) 
                                   
                                 
                                 - 
                                 v 
                               
                               ) 
                             
                           
                            
                           
                             
                               H 
                               Box 
                             
                              
                             
                               ( 
                               
                                 m 
                                 - 
                                 u 
                               
                               ) 
                             
                           
                         
                       
                     
                   
                 
               
               
                 
                   ( 
                   34 
                   ) 
                 
               
             
           
         
       
     
         [0000]    m, n may be rasterized to make them 1-dimensional, making this, in matrix notation 
         [0000]        x   i   =CA·{tilde over (x)}   i   (35)
 
         [0000]    This is an image independent linear transformation in the discrete domain. As previously mentioned, this may be combined with equation 14. The solution of the resulting inverse problem will correct Chromatic Aberration without the drawbacks of existing solutions mentioned earlier. 
         [0120]    When joint image reconstruction and chromatic aberration correction described above is applied to existing CFA designs, numerical stability problems crop up. One cause of the underlying numerical stability problem is the loss of information from misaligned photosites of different colors. This is true of both the Bayer CFA and the newer panchromatic CFAs (see K. Hirakawa and P. J. Wolfe, “Spatio-spectral color filter array design for enhanced image fidelity” in Proc. of IEEE ICIP, pages II: 81-84, 2007 and L. Condat, “A New Class of Color Filter Arrays with Optimal Sensing Properties”). The present method of CFA design can yield an over-determined system of equations which makes it resilient to numerical stability problems. 
         [0121]    Random CFAs of basic colors are especially suited for Chromatic Aberration correction since they avoid large (electromagnetic) bandwidth panchromatic filters resulting is sharper images in each basic color, and can gracefully handle loss of information in accordance with the section “Random CFAs and graceful Error Handling.” 
         [0000]    Sensor Lattice Jittering for Increased Bandwidth and graceful Aliasing 
         [0122]    Aliasing occurs when the optical signal contains frequencies higher than can be captured by the sensor. Optical low pass filters are often used to remove these higher frequencies but some still leaks through due to filter non-idealities. 
         [0123]    Aliasing of color components can be handled by arranging photosite locations in a “jittered pattern”. We use this term to refer to any irregular arrangement, including one where photosites on a regular lattice are perturbed a small distance. This perturbation is random and smaller than the distance between any two neighboring lattice points. The problem of adjacent photosites overlapping can be avoided by changing their size and geometry. An example pattern, shown in  FIG. 11  makes these perturbations along the x and y directions identical along the same column and row respectively. 
         [0124]    A jittered sensor requires changes to equation 14 to account for non-regular lattice locations and the non-regular photosite sizes affecting box filtering that varies from photosite to photosite. This is a straightforward modification of sampling theory along the lines of section “Chromatic Aberration Correction.” This modified sampling equation allows the capture of image frequencies beyond the Nyquist limit of a regular sensor of the same size and number of photosites. Informally, a jittered sensor lattice is roughly equivalent to a sensor with a higher Nyquist frequency but with a random set of photosites removed. 
         [0125]    Frequencies beyond the modeled image bandwidth are aliased to the reconstructed frequencies. Aliasing artifacts are randomized by jittering and thus spread over a large range of frequencies. This makes aliasing look similar to noise, which is less visually offensive. Dense spectral support of these artifacts also makes it amenable to noise reduction. 
         [0126]    Techniques for reduction and hiding of aliasing described above allows the use of a milder optical low pass filter or the omission of it altogether. Practical Optical Low Pass Filters attenuate the higher sub-Nyquist frequencies so omitting them improves the signal to noise ratio of these higher frequencies. 
         [0127]    Jittering may be used not just in color image sensors but in monochrome ones as well with the same corresponding benefits. 
       Pixel Binning and Line Skipping for Increased Speed 
       [0128]    Frame rates in Video and high speed imaging are limited by sensor read-out rate. Pixel Binning and Line Skipping are two strategies commonly used to reduce read-out time by reading out fewer photosite values thereby sacrificing resolution for speed. 
         [0129]    Aliasing is a problem in such systems because of reduced sensor Nyquist rate. If a random set of photosites is read out instead of line skipping and random sets of photosites are combined together instead of photosite binning, the image reconstruction problem becomes identical to the jittered sensor lattice case. Image reconstruction techniques described in section “Sensor Lattice Jittering for Increased Bandwidth and graceful Aliasing” can be used ameliorate the aliasing problem. 
       Other Regularization Techniques for Image Reconstruction 
       [0130]    In the case where the frequency content of the image is too great for the linear transformation effected by the CFA to be invertible, we may choose to either gracefully degrade the image resolution as described in section “Random CFAs and graceful Error Handling” or attempt to partly extract it using approximation schemes. The problem of determining {tilde over (X)} from equation 10 belongs to a class of problems called Linear Inverse Problems. This class of problems has a large body of existing solution techniques. See, for example, C. R. Vogel, “Computational Methods for Inverse Problems”, Frontiers Appl. Math. 23, SIAM, Philadelphia, 2002. Many of these techniques were developed primarily in the medical and geophysical imaging fields and have to be adapted to our problem of color imaging using CFAs. There are a few salient features that CFA based color imaging adds to imaging in these other fields: firstly, the multiplexing of images in two or more colors onto one sensor image, secondly the linear relations corresponding to filtering by a CFA, thirdly correlations between the image in different colors and fourthly linear relations corresponding to approximately circular band limitedness of the optical signal. 
         [0131]    Solution techniques to Linear Inverse Problems include, but are not limited to, Statistical Estimation and various forms of Regularization. Regularization refers to additional ad-hoc constraints such as image smoothness that allow partial reconstruction. 
         [0132]    Regularization schemes already attempted in color imaging include Total Variation minimizing (see. T. Saito, T. Komatsu, “Demosaicing approach based on extended color total-variation regularization” in Proc. of IEEE ICIP, October 2008) and Edge preserving (see D. R. Cok, “Reconstruction of CCD images using template matching”, Proc. IS&amp;T&#39;s Annu. Conf. ICPS, 1994, pp. 380-385) techniques. We propose that the Regularization techniques used in these prior works may be improved by applying them on our full linear system including not just the linear transform of the CFA, as they have done, but the linear constraints corresponding to the image&#39;s frequency band limitedness as well. 
         [0133]    We suggest an additional class of Regularization techniques that instead of inverting the linear transform given in equation 13 effectively invert a slightly different one: 
         [0000]        S*·S·{tilde over (X)}S*·{tilde over (Y)} ({tilde over (Ω)})  (36)
 
         [0000]    where S* is the conjugate transpose of S. The application of S* produces a filtering effect which allows approximate reconstruction. The Landweber method is one iterative technique that approximately solves this equation. 
         [0134]    The Tikhanov regularization framework casts the signal reconstruction problem as an optimization problem and admits a variety of penalty functionals as its objective. The standard formulation uses an energy minimizing term which also leads to an approximate solution to equation 36. Total Variation minimization also corresponds to a particular penalty functional within the Tikhanov regularization framework. Truncated Singular Valued Decomposition is another effective regularization scheme which may be used for color image reconstruction. These regularization techniques are applied to each of the multiplexed images in each basic color. For details see M. Bertero, P. Boccacci, “Introduction to Inverse Problems in Imaging”, Taylor &amp; Francis, ISBN 0750304359, hereby incorporated by reference in its entirety. 
         [0135]    The Bayesian framework may be used for regularization if a suitable prior is used. See Y. Hel-Or, “The canonical correlations of color images and their use for demosaicing” which computes a Maximum A Posteriori Estimate (MAP). We propose that this scheme may be improved by applying them on the full linear system including not just the linear transform of the CFA, as they have done, but the linear constraints corresponding to the image&#39;s frequency band limitedness as well. 
         [0136]    Conjugate Gradient and Steepest Descent are two iterative techniques that may be used on Bayesian or other non-linear Regularization schemes. 
         [0137]    Band limitedness and spectral sparsity constraints may be combined with any of the above techniques through the method of Projection On Convex Sets. In this scheme, at each iteration, the iterate is projected onto the set of band limited and spectrally sparse solutions. Solution positivity may also be imposed using a similar scheme. 
         [0138]      FIG. 10  shows a listing of Matlab code used in a simulation based on the sparsity promotion approach to image reconstruction. This listing should be sufficient for anyone of ordinary skill in the art with a familiarity with the GPSR solver (http://www.1x.it.pt/{tilde over ( )}mtf/GPSR/) to reproduce our results. With no noise added, a PSNR figure of 42 dB was obtained. With enough noise added so that the input image would have a PSNR of 39 dB, the reconstructed image had a PSNR of 34 dB. 
       Scalability of Image Reconstruction Algorithms 
       [0139]    The scalability of the present image reconstruction scheme depends on the specific Inverse Problem solution technique used. When linear solution techniques are used, such as matrix inversion or MLE calculation, the result is a space variant FIR filter. The size of such filters can be reduced by windowing and associated techniques. 
         [0140]    Scalability can also be achieved by the standard technique of blocking, wherein a pixel is reconstructed by only considering a small block of photosites around it. This works well because parts of images that are far away from each other are quite independent of each other, and hence have little influence on each other. 
         [0141]    Faster though cruder reconstruction techniques may be used to generate image previews and high quality reconstruction may be performed offline, possibly on a PC. 
       Other Embodiments of the Invention 
       [0142]    The present invention may be used not just for still imaging but for video as well. Besides a trivial extension to multiple frames, algorithms that perform joint reconstruction of multiple frames leveraging their correlation may also be used. 
         [0143]    Instead of just color images in the visual spectrum, the present invention may also be used in other situations where multi-spectral image sensor systems are limited by geometric constraints. The present invention allows multi-spectral sampling to be folded into smaller sensors requiring smaller apertures without increased acquisition times. 
         [0144]    The present invention may be used in conjunction with non-rectangular photosites and lattice arrangements including but not limited to hexagonal and octagonal schemes. 
         [0145]    The present invention may be used in image scanners. 
         [0146]    The present invention may be used in acquiring multi-spectral images in different number of dimensions including 1D and 3D. 
         [0147]    The following computer code in files in MatLab format and contained on the CD-Rom transmitted with the filing of this application are hereby incorporated by reference in their entirety: 
         [0000]    
       
         
               
               
               
             
           
               
                   
                   
               
             
             
               
                   
                   
                 C15-condat.png (1 KB) 
               
               
                   
                   
                 determineEquations_Spatial_Chroma.m (2 KB) 
               
               
                   
                   
                 DetermineMinimalSize.m (1 KB) 
               
               
                   
                   
                 Evaluate_Stitcher_Pre_Spatial_Chroma_Dir.m (8 KB) 
               
               
                   
                   
                 Evaluate0_Tile_WithPre_Spatial_Chroma.m (4 KB) 
               
               
                   
                   
                 fftmtx.m (1 KB) 
               
               
                   
                   
                 GenerateEllipses.m (1 KB) 
               
               
                   
                   
                 GenerateEllipticalMask.m (1 KB) 
               
               
                   
                   
                 GenerateGoodPixels.m (1 KB) 
               
               
                   
                   
                 Hel0rInvTransform.m (1 KB) 
               
               
                   
                   
                 Hel0rTransform.m (1 KB) 
               
               
                   
                   
                 LpfFFT.m (1 KB) 
               
               
                   
                   
                 Metrics.m (1 KB) 
               
               
                   
                   
                 msePickDirection.m (1 KB) 
               
               
                   
                   
                 reduce.m (1 KB) 
               
               
                   
                   
                 Sample.m (3 KB) 
               
               
                   
                   
               
             
          
         
       
     
         [0148]    The terms and expressions that have been employed in the foregoing specification are used therein as terms of description and not of limitation, and there is no intention, in the uses of such terms and expressions, to exclude equivalents of the features shown and described or portions thereof, it being recognized that the scope of the invention is defined and limited only by the claims which follow.