Computing devices have made significant contributions toward the advancement of modern society and are utilized in a number of applications to achieve advantageous results. Numerous devices, such as digital cameras, computers, game consoles, video equipment, hand-held computing devices, audio devices, and telephones, have facilitated increased productivity and reduced costs in communicating and analyzing data in most areas of entertainment, education, business and science. The digital camera, for example, has become popular for personal use and for use in business.
In an exemplary implementation, the digital camera 100 may include a lens 110 to focus light to pass through the Bayer filter 120 and onto the image sensor 130. The photons passing through each monochrome pixel of the Bayer filter 120 are sensed by a corresponding pixel sensor in the image sensor 130. The analog-to-digital converter (ADC) 140 converts the intensity of photons sensed by the pixel sensor array into corresponding digital pixel data. The raw pixel data is processed by the DSP 150 using a demosaic algorithm to produce final interpolated pixel data. The final interpolated pixel data is typically stored in one or more of the computing device readable media 160. One or more of the computing device readable media 160 may also store the raw pixel data.
Referring now to
The Bayer filter/image sensor is subject to color artifacts. A color artifact happens when a scene contains a high frequency pattern that is beyond the Bayer array's Nyquist rate. Accordingly, there is a continuing need for improved imaging processing techniques to reduce color artifacts.
Embodiments of the present invention are directed toward techniques for reducing artifacts in digital images. In one embodiment, a method of demosaicing digital image data includes receiving raw pixel data for a given image. The raw pixel data is low pass filtered using a first demosiac kernel size to determine first level interpolated pixel data for each pixel. The raw pixel data is also low pass filtered using a second demosiac kernel size to determine second level interpolated pixel data for each pixel. The presence or absence of an artifact in each pixel is determined from the first level interpolated pixel data. If an artifact is not present at a given pixel, the adjusted interpolated pixel data for the given pixel is equal to the first level interpolated pixel data for the given pixel. If an artifact is determined to be present at the given pixel, the adjusted interpolated pixel data for the given pixel is equal to a blend of the first level interpolated pixel data and the second level interpolated pixel data for the given pixel. The adjusted interpolated pixel data for the image may then be output and/or stored in memory.
In another embodiment, a method includes receiving a stream of Bayer filter pixel data for a given image. Horizontal first level and second level low pass filter values for each pixel are determined utilizing a first and second kernel size respectively. Vertical first level and second level low pass filter values for each pixel are also determined utilizing the first and second kernel sizes respectively. First level interpolated pixel data for each pixel is determined from the horizontal and vertical first level low pass filter values. Second level interpolated pixel data for each pixel is likewise determined from the horizontal and vertical second level low pass filter values. The color space of the first and second level interpolated pixel data are converted to separate the chroma and luma components for each level. The chroma component of the first level interpolated pixel data is reduced as a function of the difference between the green-on-red row and green-on-blue row chroma component of the pixel data of each of the given pixels to generate adjusted interpolated pixel data.
In yet another embodiment, the method includes receiving Bayer pixel data for a given image. The Bayer pixel data is low pass filtered using a first kernel size to determine first level interpolated pixel data. The Bayer pixel data is also low pass filtered using a second kernel size to determine second level interpolated pixel data. Adjusted interpolated data for a given pixel is equal to the first level interpolated pixel data for the given pixel, if a difference between chroma components in the first level interpolated pixel data is below a specified level. The adjusted interpolated pixel data for the given pixel is equal to a blend of the first level interpolated pixel data and the second level interpolated pixel data for the given pixel, if the difference between chroma components in the first level interpolated pixel data is above the specified level and a difference between chroma components in the second level interpolated pixel data is below the specified level. The method may further include generating additional levels of chroma components by low pass filtering the Bayer pixel data using increasingly larger kernel sizes until the difference between chroma components of a next level is below the specified level. In such case, the adjusted interpolated pixel data may be set equal to a blend of the interpolated pixel data for the level at which the difference between chroma components is below the specified level and one or more previous levels.
Embodiments of the present invention are illustrated by way of example and not by way of limitation, in the figures of the accompanying drawings and in which like reference numerals refer to similar elements and in which:
Reference will now be made in detail to the embodiments of the invention, examples of which are illustrated in the accompanying drawings. While the invention will be described in conjunction with these embodiments, it will be understood that they are not intended to limit the invention to these embodiments. On the contrary, the invention is intended to cover alternatives, modifications and equivalents, which may be included within the scope of the invention as defined by the appended claims. Furthermore, in the following detailed description of the present invention, numerous specific details are set forth in order to provide a thorough understanding of the present invention. However, it is understood that the present invention may be practiced without these specific details. In other instances, well-known methods, procedures, components, and circuits have not been described in detail as not to unnecessarily obscure aspects of the present invention.
Referring now to
At 340, it is determined if an artifact is present for each pixel. An artifact may be detected based upon the absolute difference between the Gr and Gb signals in the first level interpolated pixel data PL1. If in a local region the Gr signal is substantially different from the Gb signal strength, it is likely that the scene frequency is beyond the Nyquist rate of blue and red. Therefore, a color artifact is detected when the Gr signal strength is substantially different from the Gb signal strength.
At 350, if a color artifact is not detected, the adjusted interpolated pixel data for the given pixel is set equal to the first level interpolated pixel data for the given pixel. In particular, the chroma component of the interpolated pixel data for the given pixel will be the first level chroma component. At 360, if a color artifact is detected, the adjusted interpolated pixel data for the given pixel is set equal to a blend of the first level interpolated pixel data and the second level interpolated pixel data for the given pixel. In particular, the chroma component of the interpolated pixel data for the given pixel will be generated by blending the first level chroma component with the second level chroma component. The blending ratio between the first and second level chroma components may be based upon the difference between the Gr and Gb signals. The adjusted interpolated pixel data may be further processed according to one or more other digital image processing techniques or it may be the final interpolated pixel data. At 370, the adjusted interpolated pixel is stored in a computing device readable medium.
Referring now to
AccumL1+=Pin (1)
AccumL2+=Pin (2)
When W1 pixels are accumulated, the sum is averaged and sent to the L1 row for vertical low pass filtering, as illustrated in equation 3. Similarly, when W2 pixels are accumulated, the sum is averaged and sent to the L2 row for low pass filtering, as illustrated in equation 4.
If(AccumL1=full) AccumL1/=W1 (3)
If(AccumL2=full) AccumL2/=W2 (4)
If W1 and W2 are powers of 2, the averaging may be implemented by right shifting.
At 420, a vertical first and second level low pass filter value for each pixel is determined. In one implementation, the low pass filtering in the vertical direction can be done by recursive filtering, such as a one-tap infinite impulse response (1-tap IIR) filter. When horizontal averaging for a local W1 and W2 pixel group is done, the average value will be updated to the corresponding element in the L1 and L2 row, as illustrated in equations 5 and 6.
L1[i]+=(AccumL1−L1[1])/KL1 (5)
L2[j]+=(AccumL2−L2[j])/KL2 (6)
KL1 and KL2, in equations 5 and 6, are IIR filter coefficients. If KL1 and KL2 are power of 2 the division can be implemented by right shifting.
At 425, first and second level interpolated pixel data for each pixel is generated. The low passed first and second level pixel values (PL1, PL2) of the demosaic output Pout may be generated by linear interpolation. For instance, suppose X is the horizontal coordinate of Pout, and m=floor(X/W1) and n=floor (X/W2) then PL1 and PL2 can be generated as illustrated in equations 7 and 8.
PL1=f1*L1[m]+(1−f1)*L1[m+1] (7)
PL2=f2*L2[n]+(1−f2)*L2[n+1] (8)
Wherein f1=1−(X−m*W1)/W1 and f2=1−(X−n*W2)/W2.
At 430, the color space of the interpolated pixel data is converted to separate it into luma and chroma components. The objective of color artifact reduction is to replace the chroma components of Pout by PL1, or PL2 or the combination of the PL1 and PL2. For that a color conversion is performed to separate the luma and chroma components of the RGB color (Pout, PL1 and PL2), as illustrated in equations 9, 10, 11, 12, 13 and 14.
Y=(R+(G*2)+B)/4 (9)
U=B−Y (10)
V=R−Y (11)
The inverse transform is:
R=Y+V (12)
G=Y−(U+V)/2 (13)
B=Y+U (14)
Wherein Y is the luma component and U and V are the chroma components.
At 435, the color artifacts are reduced based upon how large the difference is between the green-on-red (Gr) and green-on-blue (Gb) components, as illustrated in equations 15, 16, 17 and 18.
fL1=|Pout(Gr)−Pout(Gb)|/2^p (15)
fL2=|PL1(Gr)−PL1(Gb)|/2^p (16)
Uadjusted=(1−fL1)*Pout(U)+fL1*((1−fL2)*PL1(U)+fL2*PL2(U)) (17)
Vadjusted=(1−fL1)*Pout(V)+fL1*((1−fL2)*PL1(V)+fL2*PL2(V)) (18)
If Gr and Gb is large, the adjusted U and V will be close to the blending of L1 and L2 chroma components. The blending is also weighted by the Gr−Gb difference. In particular, if the Gr and Gb components at L1 is close, then the influence from L2 will be small. A few control parameters can also be used to adjust the weightings of the chroma blending, as illustrated in equations 19 and 20.
f′=f−Coring (19)
If f′<0
f′=0
f″=f′*Weighting (20)
fL1 and fL2 can have separate sets of {Coring, Weighting} parameters.
At 440, the adjusted interpolated pixel data is stored in one or more computing device readable media. The adjusted interpolated pixel data stored in the computing device readable media may be output for present to a user or may be further processed according to one or more other digital imaging techniques.
Referring now to
At 740, if the difference between the Gr and Gb signals of the first level interpolated pixel data is below a specified level, the chroma component of the adjusted interpolated pixel data for the given pixel is set to the first level chroma component. At 750, if the difference between the Gr and Gb signals of the first level interpolated pixel data is above the specified level and the difference between the Gr and Gb signals of the second level is below the specified level, the chroma component of the adjusted interpolated pixel data for the given pixel is generated by blending the first level chroma component with the second level chroma component. The blending ratio between the first and second level chroma components may be based upon the difference between the Gr and Gb signals of the first level.
At 760, if the difference between the Gr and Gb signals of the first and second level interpolated pixel data are above the specified level, the received pixel data is low pass filtered using a third demosiac kernel size to determine a third level interpolated pixel data PL2 for the given pixel. The kernel size of the third level is larger than the kernel size of the second level. At 770, if the difference between the Gr and Gb signals of the first and second level low pass filter values are above the specified level, the chroma component of the adjusted interpolated pixel data for the given pixel is generated by blending the second level chroma component with the third level chroma component. The blending ratio between the second and third level chroma components may be based upon the difference between the Gr and Gb signals in the second level. In another implementation, the chroma component of the final interpolated pixel data for the given pixel is generated by blending the first, second and third level chroma components, if the difference between the Gr and Gb signals of the first and second level interpolated pixel data are above the specified level. In yet another implementation, additional levels of chroma components can be generated by low pass filtering using increasingly larger kernel sizes until the difference between the Gr and Gb signals of a given level is above the specified level and the Gr and Gb signal of a next level is below the specified level. In such an implementation, the chroma component of the adjusted interpolated pixel data for a particular pixel may be generated by blending the chroma component from the next level with one or more of the previous levels. At 780, the adjusted interpolated pixel data is stored in a computing device readable medium.
The above described techniques for reducing artifacts in digital images may be implemented by the digital signal processor of a digital camera or by a separate computing device. The above described techniques may be embodied in computing device executable instructions (software), hardware and/or firmware. The techniques advantageously reduce false colors while reducing color bleaching. In addition, the above described techniques do not result in excessive line buffering.
The foregoing descriptions of specific embodiments of the present invention have been presented for purposes of illustration and description. They are not intended to be exhaustive or to limit the invention to the precise forms disclosed, and obviously many modifications and variations are possible in light of the above teaching. The embodiments were chosen and described in order to best explain the principles of the invention and its practical application, to thereby enable others skilled in the art to best utilize the invention and various embodiments with various modifications as are suited to the particular use contemplated. It is intended that the scope of the invention be defined by the Claims appended hereto and their equivalents.
Number | Name | Date | Kind |
---|---|---|---|
3904818 | Kovac | Sep 1975 | A |
4253120 | Levine | Feb 1981 | A |
4646251 | Hayes et al. | Feb 1987 | A |
4682664 | Kemp | Jul 1987 | A |
4685071 | Lee | Aug 1987 | A |
4739495 | Levine | Apr 1988 | A |
4771470 | Geiser et al. | Sep 1988 | A |
4803477 | Miyatake et al. | Feb 1989 | A |
4920428 | Lin et al. | Apr 1990 | A |
4987496 | Greivenkamp, Jr. | Jan 1991 | A |
5175430 | Enke et al. | Dec 1992 | A |
5227789 | Barry et al. | Jul 1993 | A |
5261029 | Abi-Ezzi et al. | Nov 1993 | A |
5305994 | Matsui et al. | Apr 1994 | A |
5338901 | Dietrich | Aug 1994 | A |
5387983 | Sugiura et al. | Feb 1995 | A |
5414824 | Grochowski | May 1995 | A |
5475430 | Hamada et al. | Dec 1995 | A |
5513016 | Inoue | Apr 1996 | A |
5608824 | Shimizu et al. | Mar 1997 | A |
5652621 | Adams et al. | Jul 1997 | A |
5736987 | Drucker et al. | Apr 1998 | A |
5793371 | Deering | Aug 1998 | A |
5793433 | Kim et al. | Aug 1998 | A |
5822452 | Tarolli et al. | Oct 1998 | A |
5831625 | Rich et al. | Nov 1998 | A |
5831640 | Wang et al. | Nov 1998 | A |
5835097 | Vaswani et al. | Nov 1998 | A |
5841442 | Einkauf et al. | Nov 1998 | A |
5878174 | Stewart et al. | Mar 1999 | A |
5892517 | Rich | Apr 1999 | A |
5903273 | Mochizuki et al. | May 1999 | A |
5905530 | Yokota et al. | May 1999 | A |
5963984 | Garibay, Jr. et al. | Oct 1999 | A |
5995109 | Goel et al. | Nov 1999 | A |
6016474 | Kim et al. | Jan 2000 | A |
6052127 | Vaswani et al. | Apr 2000 | A |
6078331 | Pulli et al. | Jun 2000 | A |
6078334 | Hanaoka et al. | Jun 2000 | A |
6111988 | Horowitz et al. | Aug 2000 | A |
6118547 | Tanioka | Sep 2000 | A |
6128000 | Jouppi et al. | Oct 2000 | A |
6141740 | Mahalingaiah et al. | Oct 2000 | A |
6151457 | Kawamoto | Nov 2000 | A |
6175430 | Ito | Jan 2001 | B1 |
6184893 | Devic et al. | Feb 2001 | B1 |
6236405 | Schilling et al. | May 2001 | B1 |
6252611 | Kondo | Jun 2001 | B1 |
6256038 | Krishnamurthy | Jul 2001 | B1 |
6281931 | Tsao et al. | Aug 2001 | B1 |
6289103 | Sako et al. | Sep 2001 | B1 |
6298169 | Guenter | Oct 2001 | B1 |
6314493 | Luick | Nov 2001 | B1 |
6319682 | Hochman | Nov 2001 | B1 |
6323934 | Enomoto | Nov 2001 | B1 |
6339428 | Fowler et al. | Jan 2002 | B1 |
6392216 | Peng-Tan | May 2002 | B1 |
6396397 | Bos et al. | May 2002 | B1 |
6438664 | McGrath et al. | Aug 2002 | B1 |
6469707 | Voorhies | Oct 2002 | B1 |
6486971 | Kawamoto | Nov 2002 | B1 |
6504952 | Takemura et al. | Jan 2003 | B1 |
6549997 | Kalyanasundharam | Apr 2003 | B2 |
6556311 | Benear et al. | Apr 2003 | B1 |
6584202 | Montag et al. | Jun 2003 | B1 |
6594388 | Gindele et al. | Jul 2003 | B1 |
6683643 | Takayama et al. | Jan 2004 | B1 |
6707452 | Veach | Mar 2004 | B1 |
6724423 | Sudo | Apr 2004 | B1 |
6724932 | Ito | Apr 2004 | B1 |
6737625 | Baharav et al. | May 2004 | B2 |
6760080 | Moddel et al. | Jul 2004 | B1 |
6785814 | Usami et al. | Aug 2004 | B1 |
6806452 | Bos et al. | Oct 2004 | B2 |
6819793 | Reshetov et al. | Nov 2004 | B1 |
6839062 | Aronson et al. | Jan 2005 | B2 |
6839813 | Chauvel | Jan 2005 | B2 |
6856441 | Zhang et al. | Feb 2005 | B2 |
6859208 | White | Feb 2005 | B1 |
6876362 | Newhall, Jr. et al. | Apr 2005 | B1 |
6883079 | Priborsky | Apr 2005 | B1 |
6891543 | Wyatt | May 2005 | B2 |
6900836 | Hamilton, Jr. | May 2005 | B2 |
6940511 | Akenine-Moller et al. | Sep 2005 | B2 |
6950099 | Stollnitz et al. | Sep 2005 | B2 |
7009639 | Une et al. | Mar 2006 | B1 |
7015909 | Morgan, III et al. | Mar 2006 | B1 |
7023479 | Hiramatsu et al. | Apr 2006 | B2 |
7081898 | Sevigny | Jul 2006 | B2 |
7082508 | Khan et al. | Jul 2006 | B2 |
7088388 | MacLean et al. | Aug 2006 | B2 |
7092018 | Watanabe | Aug 2006 | B1 |
7106368 | Daiku et al. | Sep 2006 | B2 |
7107441 | Zimmer et al. | Sep 2006 | B2 |
7116335 | Pearce et al. | Oct 2006 | B2 |
7120715 | Chauvel et al. | Oct 2006 | B2 |
7133041 | Kaufman et al. | Nov 2006 | B2 |
7133072 | Harada | Nov 2006 | B2 |
7146041 | Takahashi | Dec 2006 | B2 |
7221779 | Kawakami et al. | May 2007 | B2 |
7227586 | Finlayson et al. | Jun 2007 | B2 |
7236649 | Fenney | Jun 2007 | B2 |
7245319 | Enomoto | Jul 2007 | B1 |
7305148 | Spampinato et al. | Dec 2007 | B2 |
7343040 | Chanas et al. | Mar 2008 | B2 |
7397946 | Reshetov et al. | Jul 2008 | B2 |
7447869 | Kruger et al. | Nov 2008 | B2 |
7486844 | Chang et al. | Feb 2009 | B2 |
7502505 | Malvar et al. | Mar 2009 | B2 |
7519781 | Wilt | Apr 2009 | B1 |
7545382 | Montrym et al. | Jun 2009 | B1 |
7580070 | Yanof et al. | Aug 2009 | B2 |
7626612 | John et al. | Dec 2009 | B2 |
7627193 | Alon et al. | Dec 2009 | B2 |
7671910 | Lee | Mar 2010 | B2 |
7728880 | Hung et al. | Jun 2010 | B2 |
7750956 | Wloka | Jul 2010 | B2 |
7760936 | King et al. | Jul 2010 | B1 |
7817187 | Silsby et al. | Oct 2010 | B2 |
7859568 | Shimano et al. | Dec 2010 | B2 |
7860382 | Grip | Dec 2010 | B2 |
7912279 | Hsu et al. | Mar 2011 | B2 |
8049789 | Innocent | Nov 2011 | B2 |
8238695 | Davey et al. | Aug 2012 | B1 |
8456547 | Wloka | Jun 2013 | B2 |
8456548 | Wloka | Jun 2013 | B2 |
8456549 | Wloka | Jun 2013 | B2 |
8471852 | Bunnell | Jun 2013 | B1 |
20010001234 | Addy et al. | May 2001 | A1 |
20010012113 | Yoshizawa et al. | Aug 2001 | A1 |
20010012127 | Fukuda et al. | Aug 2001 | A1 |
20010015821 | Namizuka et al. | Aug 2001 | A1 |
20010019429 | Oteki et al. | Sep 2001 | A1 |
20010021278 | Fukuda et al. | Sep 2001 | A1 |
20010033410 | Helsel et al. | Oct 2001 | A1 |
20010050778 | Fukuda et al. | Dec 2001 | A1 |
20010054126 | Fukuda et al. | Dec 2001 | A1 |
20020012131 | Oteki et al. | Jan 2002 | A1 |
20020015111 | Harada | Feb 2002 | A1 |
20020018244 | Namizuka et al. | Feb 2002 | A1 |
20020027670 | Takahashi et al. | Mar 2002 | A1 |
20020033887 | Hieda et al. | Mar 2002 | A1 |
20020041383 | Lewis, Jr. et al. | Apr 2002 | A1 |
20020044778 | Suzuki | Apr 2002 | A1 |
20020054374 | Inoue et al. | May 2002 | A1 |
20020063802 | Gullichsen et al. | May 2002 | A1 |
20020105579 | Levine et al. | Aug 2002 | A1 |
20020126210 | Shinohara et al. | Sep 2002 | A1 |
20020146136 | Carter, Jr. | Oct 2002 | A1 |
20020149683 | Post | Oct 2002 | A1 |
20020158971 | Daiku et al. | Oct 2002 | A1 |
20020167202 | Pfalzgraf | Nov 2002 | A1 |
20020167602 | Nguyen | Nov 2002 | A1 |
20020169938 | Scott et al. | Nov 2002 | A1 |
20020172199 | Scott et al. | Nov 2002 | A1 |
20020191694 | Ohyama et al. | Dec 2002 | A1 |
20020196470 | Kawamoto et al. | Dec 2002 | A1 |
20030035100 | Dimsdale et al. | Feb 2003 | A1 |
20030067461 | Fletcher et al. | Apr 2003 | A1 |
20030122825 | Kawamoto | Jul 2003 | A1 |
20030142222 | Hordley | Jul 2003 | A1 |
20030146975 | Joung et al. | Aug 2003 | A1 |
20030167420 | Parsons | Sep 2003 | A1 |
20030169353 | Keshet et al. | Sep 2003 | A1 |
20030169918 | Sogawa | Sep 2003 | A1 |
20030197701 | Teodosiadis et al. | Oct 2003 | A1 |
20030218672 | Zhang et al. | Nov 2003 | A1 |
20030222995 | Kaplinsky et al. | Dec 2003 | A1 |
20030223007 | Takane | Dec 2003 | A1 |
20040001061 | Stollnitz et al. | Jan 2004 | A1 |
20040001234 | Curry et al. | Jan 2004 | A1 |
20040032516 | Kakarala | Feb 2004 | A1 |
20040051716 | Sevigny | Mar 2004 | A1 |
20040066970 | Matsugu | Apr 2004 | A1 |
20040100588 | Hartson et al. | May 2004 | A1 |
20040101313 | Akiyama | May 2004 | A1 |
20040109069 | Kaplinsky et al. | Jun 2004 | A1 |
20040151372 | Reshetov et al. | Aug 2004 | A1 |
20040189875 | Zhai et al. | Sep 2004 | A1 |
20040207631 | Fenney et al. | Oct 2004 | A1 |
20040218071 | Chauville et al. | Nov 2004 | A1 |
20040247196 | Chanas et al. | Dec 2004 | A1 |
20050007378 | Grove | Jan 2005 | A1 |
20050007477 | Ahiska | Jan 2005 | A1 |
20050030395 | Hattori | Feb 2005 | A1 |
20050046704 | Kinoshita | Mar 2005 | A1 |
20050073591 | Ishiga et al. | Apr 2005 | A1 |
20050099418 | Cabral et al. | May 2005 | A1 |
20050110790 | D'Amora | May 2005 | A1 |
20050111110 | Matama | May 2005 | A1 |
20050175257 | Kuroki | Aug 2005 | A1 |
20050185058 | Sablak | Aug 2005 | A1 |
20050238225 | Jo et al. | Oct 2005 | A1 |
20050243181 | Castello et al. | Nov 2005 | A1 |
20050248671 | Schweng | Nov 2005 | A1 |
20050261849 | Kochi et al. | Nov 2005 | A1 |
20050268067 | Lee et al. | Dec 2005 | A1 |
20050286097 | Hung et al. | Dec 2005 | A1 |
20060004984 | Morris et al. | Jan 2006 | A1 |
20060050158 | Irie | Mar 2006 | A1 |
20060061658 | Faulkner et al. | Mar 2006 | A1 |
20060087509 | Ebert et al. | Apr 2006 | A1 |
20060119710 | Ben-Ezra et al. | Jun 2006 | A1 |
20060133697 | Uvarov et al. | Jun 2006 | A1 |
20060153441 | Li | Jul 2006 | A1 |
20060176375 | Hwang et al. | Aug 2006 | A1 |
20060197664 | Zhang et al. | Sep 2006 | A1 |
20060259732 | Traut et al. | Nov 2006 | A1 |
20060259825 | Cruickshank et al. | Nov 2006 | A1 |
20060274171 | Wang | Dec 2006 | A1 |
20060290794 | Bergman et al. | Dec 2006 | A1 |
20060293089 | Herberger et al. | Dec 2006 | A1 |
20070073996 | Kruger et al. | Mar 2007 | A1 |
20070091188 | Chen et al. | Apr 2007 | A1 |
20070106874 | Pan et al. | May 2007 | A1 |
20070126756 | Glasco et al. | Jun 2007 | A1 |
20070147706 | Sasaki et al. | Jun 2007 | A1 |
20070157001 | Ritzau | Jul 2007 | A1 |
20070168634 | Morishita et al. | Jul 2007 | A1 |
20070168643 | Hummel et al. | Jul 2007 | A1 |
20070171288 | Inoue et al. | Jul 2007 | A1 |
20070236770 | Doherty et al. | Oct 2007 | A1 |
20070247532 | Sasaki | Oct 2007 | A1 |
20070262985 | Watanabe et al. | Nov 2007 | A1 |
20070285530 | Kim et al. | Dec 2007 | A1 |
20080030587 | Helbing | Feb 2008 | A1 |
20080043024 | Schiwietz et al. | Feb 2008 | A1 |
20080062164 | Bassi et al. | Mar 2008 | A1 |
20080101690 | Hsu et al. | May 2008 | A1 |
20080143844 | Innocent | Jun 2008 | A1 |
20080231726 | John | Sep 2008 | A1 |
20080263284 | da Silva et al. | Oct 2008 | A1 |
20090002517 | Yokomitsu et al. | Jan 2009 | A1 |
20090010539 | Guarnera et al. | Jan 2009 | A1 |
20090037774 | Rideout et al. | Feb 2009 | A1 |
20090041341 | Scheibe | Feb 2009 | A1 |
20090116750 | Lee et al. | May 2009 | A1 |
20090128575 | Liao et al. | May 2009 | A1 |
20090160957 | Deng et al. | Jun 2009 | A1 |
20090257677 | Cabral et al. | Oct 2009 | A1 |
20090297022 | Pettigrew et al. | Dec 2009 | A1 |
20100266201 | Cabral et al. | Oct 2010 | A1 |
Number | Date | Country |
---|---|---|
1275870 | Dec 2000 | CN |
0392565 | Oct 1990 | EP |
1449169 | May 2003 | EP |
1378790 | Jul 2004 | EP |
1447977 | Aug 2004 | EP |
1550980 | Jul 2005 | EP |
2045026 | Oct 1980 | GB |
2363018 | Dec 2001 | GB |
61187467 | Aug 1986 | JP |
62-151978 | Jul 1987 | JP |
07-015631 | Jan 1995 | JP |
08-079622 | Apr 1995 | JP |
8036640 | Feb 1996 | JP |
09233353 | Sep 1997 | JP |
2000516752 | Dec 2000 | JP |
2001-052194 | Feb 2001 | JP |
2002-207242 | Oct 2001 | JP |
2003-085542 | Mar 2003 | JP |
2004-221838 | May 2004 | JP |
2005094048 | Apr 2005 | JP |
2005-182785 | Jul 2005 | JP |
2005520442 | Jul 2005 | JP |
2006-094494 | Sep 2005 | JP |
2007-148500 | Nov 2005 | JP |
2006025005 | Jan 2006 | JP |
2007-233833 | Mar 2006 | JP |
2006086822 | Mar 2006 | JP |
2006-121612 | May 2006 | JP |
2006-134157 | May 2006 | JP |
20060203841 | Aug 2006 | JP |
2007019959 | Jan 2007 | JP |
2007282158 | Oct 2007 | JP |
2008-085388 | Apr 2008 | JP |
2008113416 | May 2008 | JP |
2008-277926 | Nov 2008 | JP |
2009021962 | Jan 2009 | JP |
1020040043156 | May 2004 | KR |
1020060068497 | Jun 2006 | KR |
1020070004202 | Jan 2007 | KR |
03043308 | May 2003 | WO |
2004063989 | Jul 2004 | WO |
2007056459 | May 2007 | WO |
2007093864 | Aug 2007 | WO |
Entry |
---|
Kuno et al. “New Interpolation Method Using Discriminated Color Correlation for Digital Still Cameras” IEEE Transac. on Consumer Electronics, vol. 45, No. 1, Feb. 1999, pp. 259-267. |
“Method of Color Interpolation in a Single Sensor Color Camera Using Green Channel Separation” Weerasighe, et al Visual Information Processing Lab, Motorola Australian Research Center pp. IV-3233-IV3236' 2002. |
D. Doo, M. Sabin, “behaviour of recursive division surfaces near extraordinary points”; Sep. 1978; Computer Aided Design; vol. 10, pp. 356-360. |
D. W. H. Doo; “A subdivision algorithm for smoothing down irregular shaped polyhedrons”; 1978; Interactive Techniques in Computer Aided Design; pp. 157-165. |
Davis, J., Marschner, S., Garr, M., Levoy, M., Filling holes in complex surfaces using volumetric diffusion, Dec. 2001, Stanford University, pp. 1-9. |
E. Catmull, J.Clark, “recursively generated B-Spline surfaces on arbitrary topological meshes”; Nov. 1978; Computer aided design; vol. 10; pp. 350-355. |
J. Bolz, P. Schroder; “rapid evaluation of catmull-clark subdivision surfaces”; Web 3D '02. |
J. Stam; “Exact Evaluation of Catmull-clark subdivision surfaces at arbitrary parameter values”; Jul. 1998; Computer Graphics; vol. 32; pp. 395-404. |
Krus, M., Bourdot, P., Osorio, A., Guisnel, F., Thibault, G., Adaptive tessellation of connected primitives for interactive walkthroughs in complex industrial virtual environments, Jun. 1999, Proceedings of the Eurographics workshop, pp. 1-10. |
Kumar, S., Manocha, D., Interactive display of large scale trimmed NURBS models, 1994, University of North Carolina at Chapel Hill, Technical Report, pp. 1-36. |
Loop, C., DeRose, T., Generalized B-Spline surfaces of arbitrary topology, Aug. 1990, SIGRAPH 90, pp. 347-356. |
M. Halstead, M. Kass, T. DeRose; “efficient, fair interpolation using catmull-clark surfaces”; Sep. 1993; Computer Graphics and Interactive Techniques, Proc; p. 35-44. |
T. DeRose, M. Kass, T. Truong; “subdivision surfaces in character animation”; Jul. 1998; Computer Graphics and Interactive Techniques, Proc; pp. 85-94. |
Takeuchi, S., Kanai, T., Suzuki, H., Shimada, K., Kimura, F., Subdivision surface fitting with QEM-based mesh simplification and reconstruction of approximated B-spline surfaces, 2000, Eighth Pacific Conference on computer graphics and applications, pp. 202-212. |
http://Slashdot.org/articles/07/09/06/1431217.html. |
http://englishrussia.com/?p=1377. |
“A Pipelined Architecture for Real-Time Correction of Barrel Distortion in Wide-Angle Camera Images”, Hau T. Ngo, Student Member, IEEE and Vijayan K. Asari, Senior Member IEEE, IEEE Transaction on Circuits and Systems for Video Technology: vol. 15 No. 3 Mar. 2005 pp. 436-444. |
“Calibration and removal of lateral chromatic aberration in images” Mallon, et al. Science Direct Copyright 2006; 11 pages. |
Donald D. Spencer, “Illustrated Computer Graphics Dictionary”, 1993, Camelot Publishing Company, p. 272. |
Duca et al., “A Relational Debugging Engine for Graphics Pipeline, International Conference on Computer Graphics and Interactive Techniques”, ACM SIGGRAPH Jul. 2005, pp. 453-463. |
gDEBugger, graphicRemedy, http://www.gremedy.com, Aug. 8, 2006, pp. 1-18. |
Keith R. Slavin; Application as Filed entitled “Efficient Method for Reducing Noise and Blur in a Composite Still Image From a Rolling Shutter Camera”; U.S. Appl. No. 12/069,669, filed Feb. 11, 2008. |
Ko et al., “Fast Digital Image Stabilizer Based on Gray-Coded Bit-Plane Matching”, IEEE Transactions on Consumer Electronics, vol. 45, No. 3, pp. 598-603, Aug. 1999. |
Ko, et al., “Digital Image Stabilizing Algorithms Basd on Bit-Plane Matching”, IEEE Transactions on Consumer Electronics, vol. 44, No. 3, pp. 617-622, Aug. 1988. |
Morimoto et al., “Fast Electronic Digital Image Stabilization for Off-Road Navigation”, Computer Vision Laboratory, Center for Automated Research University of Maryland, Real-Time Imaging, vol. 2, pp. 285-296, 1996. |
Paik et al., “An Adaptive Motion Decision system for Digital Image Stabilizer Based on Edge Pattern Matching”, IEEE Transactions on Consumer Electronics, vol. 38, No. 3, pp. 607-616, Aug. 1992. |
Parhami, Computer Arithmetic, Oxford University Press, Jun. 2000, pp. 413-418. |
S. Erturk, “Digital Image Stabilization with Sub-Image Phase Correlation Based Global Motion Estimation”, IEEE Transactions on Consumer Electronics, vol. 49, No. 4, pp. 1320-1325, Nov. 2003. |
S. Erturk, “Real-Time Digital Image Stabilization Using Kalman Filters”, http://www,ideallibrary.com, Real-Time Imaging 8, pp. 317-328, 2002. |
Uomori et al., “Automatic Image Stabilizing System by Full-Digital Signal Processing”, vol. 36, No. 3, pp. 510-519, Aug. 1990. |
Uomori et al., “Electronic Image Stabiliztion System for Video Cameras and VCRS”, J. Soc. Motion Pict. Telev. Eng., vol. 101, pp. 66-75, 1992. |
http://en.wikipedia.org/wiki/Bayer—filter; “Bayer Filter”; Wikipedia, the free encyclopedia; pp. 1-4, 2010. |
http://en.wikipedia.org/wiki/Color—filter—array; “Color Filter Array”; Wikipedia, the free encyclopedia; pp. 1-5, 2010. |
http://en.wikipedia.org/wiki/Color—space; “Color Space”; Wikipedia, the free encyclopedia; pp. 1-4, 2010. |
http://en.wikipedia.org/wiki/Color—translation; “Color Management”; Wikipedia, the free encyclopedia; pp. 1-4, 2010. |
http://en.wikipedia.org/wiki/Demosaicing; “Demosaicing”; Wikipedia, the free encyclopedia; pp. 1-5, 2010. |
http://en.wikipedia.org/wiki/Half—tone; “Halftone”; Wikipedia, the free encyclopedia; pp. 1-5, 2010. |
http://en.wikipedia.org/wiki/L*a*b*; “Lab Color Space”; Wikipedia, the free encyclopedia; pp. 1-42, 2010. |
Weerasinghe et al.; “Method of Color Interpolation in a Single Sensor Color Camera Using Green Channel Separation”; Visual Information Proessing lab, Motorola Australian Research Center; IV 3233-IV3236, 2002. |
Chaudhuri, “The impact of NACKs in shared memory scientific applications”, Feb. 2004, IEEE, IEEE Transactions on Parallel and distributed systems vol. 15, No. 2, p. 134-150. |
Laibinis, “Formal Development of Reactive Fault Tolerant Systems”, Sep. 9, 2005, Springer, Second International Workshop, Rise 2005, p. 234-249. |
Wikipedia, Memory Address, Oct. 29, 2010, pp. 1-4, www.wikipedia.com. |
Wikipedia, Physical Address, Apr. 17, 2010, pp. 1-2, www.wikipedia.com. |
Goshtasby, Ardeshir, “Correction of Image Distortion From Lens Distortion Using Bezier Patches”, 1989, Computer Vision, Graphics and Image Processing, vol. 47, pp. 358-394. |
Number | Date | Country | |
---|---|---|---|
20090027525 A1 | Jan 2009 | US |