An image capturing apparatus includes an image sensor having an effective pixel area composed of effective pixels that photoelectrically convert an object image and a reference pixel area composed of reference pixels that output pixel signals to be a reference; a first calculation unit that calculates a standard deviation of the pixel signals output from the reference pixel area; a second calculation unit that calculates an integrated value of the pixel signals output from the reference pixel area; a third calculation unit that calculates a correction value for correcting pixel signals output from the effective pixel area, with use of the integrated value; a correction unit that corrects the pixel signals output from the effective pixel area, based on the correction value; and a determination unit that determines whether correction is to be performed by the correction unit, according to the standard deviation.
|
4. A control method for an image capturing apparatus provided with an image sensor having an effective pixel area composed of effective pixels that photoelectrically convert an object image, and a reference pixel area composed of reference pixels that output pixel signals to be a reference, the control method comprising the steps of:
calculating values of a statistical measure of the pixel signals output from the reference pixel area;
calculating integrated values with respect to each of rows of the pixel signals output from the reference pixel area;
calculating correction values with respect to each of the rows by multiplying correction coefficients to the integrated value for each of the rows, wherein the correction values are calculated based on the values of the statistical measure;
correcting the pixel signals with respect to each of the rows output from the effective pixel area with use of the correction values for each of the rows; and
determining whether correction is to be performed in the correction step, according to the values of the statistical measure.
1. An image capturing apparatus comprising:
an image sensor having an effective pixel area composed of effective pixels that photoelectrically convert an object image, and a reference pixel area composed of reference pixels that output pixel signals to be a reference;
a first calculation unit configured to calculate values of a statistical measure of the pixel signals output from the reference pixel area;
a second calculation unit configured to calculate integrated values with respect to each of rows of the pixel signals output from the reference pixel area;
a third calculation unit configured to calculate correction values with respect to each of the rows by multiplying correction coefficients to the integrated value for each of the rows, wherein the correction values are calculated based on the values of the statistical measure;
a correction unit configured to correct pixel signals with respect to each of the rows output from the effective pixel area with use of the correction values for each of the rows; and
a determination unit configured to determine whether correction is to be performed by the correction unit, in accordance with the values of the statistical measure.
2. The image capturing apparatus according to
3. The image capturing apparatus according to
5. A control method according to
|
This application is a national stage application of International Application No. PCT/JP2010/056275, filed Mar. 31, 2011, whose benefit is claimed and which claims the benefit of Japanese Patent Application No. 2009-114979, filed May 11, 2009, the entire disclosures of which are incorporated herein by reference.
The present invention relates to noise correction in an image capturing apparatus, and in particular relates to the correction of stripe noise.
In recent years, CMOS image sensors have often been used in digital single-lens reflex cameras and video cameras. An increase in the number of pixels, an increase in image capturing speed, and an increase in ISO speed (an improvement of sensitivity) have been required for such CMOS image sensors.
Pixel size tends to become smaller due to an increase in the number of pixels, and this means that less electric charge can be accumulated in each pixel. Meanwhile, in order to accommodate an increase in ISO speed, a larger gain needs to be applied to the obtained electric charge. Although the original optical signal component is amplified when gain is applied, noise generated by circuits and the like is also amplified, and therefore high ISO speed images have more random noise than low ISO speed images.
Also, one method of realizing high-speed image capturing is multichannelization in which the image sensor is provided with a plurality of output paths, and readout is performed simultaneously for a plurality of pixels. However, since the amount of noise varies depending on the output path, there is the problem that the amount of noise differs for each CH (for each channel).
Below is a description of the configuration of a CMOS image sensor and the cause of noise generation.
Using the differential amplifier described above enables obtaining an output signal from which noise unique to the CMOS image sensor has been removed. However, if there is variation between the characteristics of the output amplifiers of CH1 and CH2, a substantially uniform level difference occurs in each column. This is called vertical pattern noise.
Meanwhile, the pixels have a common power source and GND. If the power source and GND fluctuate during a readout operation, the pixels read out at that time have a substantially uniform level difference. Normally, readout is performed in an image sensor row-by-row, from left to right, beginning at the top left of the screen. The level difference occurring due to fluctuation of the power source and the GND appears as a different level difference for substantially each row. This is called horizontal pattern noise.
As described above, there is the problem that stripe noise occurs due to the structure of the CMOS image sensor, and this stripe noise tends to be more prominent as the specifications are improved. Since the vertical pattern noise is unique pattern noise determined by the characteristics of the output amplifiers, correction can be performed by correcting variations in each output amplifier. On the other hand, if the fluctuation of the power source and the GND is random, the horizontal pattern noise also becomes random.
As a technique for correcting such random pattern noise, Japanese Patent Laid-Open No. 7-67038 discloses a method of calculating a line average value for pixel signals of OB pixels, and subtracting the line average value from the pixel signals of aperture pixels in that row.
However, in an image that has a large amount of random noise, calculating a correction value for correcting stripe noise is difficult. This is pointed out in Japanese Patent Laid-Open No. 7-67038, Japanese Patent Laid-Open No. 2005-167918, and the like as well. According to Japanese Patent Laid-Open No. 2005-167918, if the stripe noise is reduced to from ⅛ to 1/10 of the random noise, the stripe noise becomes buried in the random noise, and thus becomes difficult to see. In view of this, Japanese Patent Laid-Open No. 2005-167918 discloses a method in which noise is mitigated by adding random noise.
However, with the correction method of subtracting the line average value of pixel signals of OB pixels, there are often cases in which the correction is insufficient, such as the case in which stripe noise occurs due to under-correction and over-correction. This phenomenon can often be seen in images containing a large amount of random noise, such as images captured at a high ISO speed. As the amount of random noise in an image rises, more OB pixels are necessary to obtain a proper correction value. Also, even given that the stripe noise is difficult to see if it is ⅛ to 1/10 or less of the random noise value as disclosed in the above-mentioned Japanese Patent Laid-Open No. 2005-167918, calculating a correction value such that the stripe noise becomes difficult to see necessitates approximately 400 or more OB pixels per row. However, allocating 400 columns or more to OB pixels in the layout of the CMOS image sensor cannot be said to be practical in view of the requirement for an increase in the number of pixels and high-speed imaging.
The present invention has been achieved in light of the issues described above, and enables effectively correcting horizontal stripe noise even in the case in which there are few reference pixels.
According to a first aspect of the present invention, an image capturing apparatus includes: an image sensor having an effective pixel area composed of effective pixels that photoelectrically convert an object image, and a reference pixel area composed of reference pixels that output pixel signals to be a reference; a correction means for correcting pixel signals output from the effective pixel area with use of a correction value calculated based on the pixel signals output from the reference pixel area; and a determination means for determining whether correction is to be performed by the correction means, in accordance with values of a statistical measure of the pixel signals output from the reference pixel area.
Also, according to a second aspect of the present invention, a control method for an image capturing apparatus is a control method for an image capturing apparatus provided with an image sensor having an effective pixel area composed of effective pixels that photoelectrically convert an object image, and a reference pixel area composed of reference pixels that output pixel signals to be a reference, the control method including the steps of: calculating values of a statistical measure of the pixel signals output from the reference pixel area; calculating a correction value for correcting pixel signals output from the effective pixel area, based on the pixel signals output from the reference pixel area; correcting the pixel signals output from the effective pixel area with use of the correction value; and determining whether correction is to be performed in the correction step, according to the values of a statistical measure.
Further features of the present invention will become apparent from the following description of exemplary embodiments with reference to the attached drawings.
Below is a detailed description of embodiments of the present invention with reference to the drawings.
Embodiment 1
The configurations of pixel areas of the image sensor 101 are similar to the configurations in
The circuit configuration of a unit pixel (corresponding to one pixel) of the CMOS image sensor according to the present embodiment is similar to the configuration in
The gate of a transfer MOS transistor 1002 in
Pixel cells Pixel and row select lines having a similar configuration are provided in the remaining rows shown in
The source of the select MOS transistor 1006 is connected to a terminal Vout of a vertical signal line disposed extending in the vertical direction. The source of similar select MOS transistors 1006 of pixel cells Pixel disposed in the same column is also connected to the terminal Vout of the vertical signal line. In
Next, the gates of horizontal transfer switches in the columns sequentially change to the high level in accordance with signals Ph supplied from a horizontal shift register 1106. The voltages held in the signal holding capacitors Ctn and Cts are sequentially read out by horizontal output lines Chn and Chs, difference processing is performed thereon by an output amplifier, and the resulting signals are sequentially output to an output terminal OUT. During the signal readout performed in each column, the horizontal output lines Chn and Chs are reset to reset voltages VCHRN and VCHRS by a reset switch. This completes the readout of the pixel cells Pixel connected in the first row. Subsequently, in a similar manner, the signals of the pixel cells Pixel connected in the second row and rows thereafter are sequentially read out in accordance with signals from the vertical shift register 1101, and thus the readout of all the pixel cells Pixel is completed.
First, readout is started in step S601. The readout is performed from left to right row-by-row, starting at the upper left of the pixel configuration layouts shown in
Next, in step S603 a determination is made as to whether correction is to be performed, based on the calculated value of σVOB. If σVOB is less than or equal to σth
If σVOB is less than or equal to the threshold value, processing proceeds to step S604. A correction coefficient α is determined according to the value of σVOB. Normally, since erroneous correction tends to be performed when the amount of shift from the black reference value calculated from the HOB signals is set as the correction value, a favorable correction result is obtained by setting the correction coefficient to a value of 1 or less, determining the correction value, and then executing correction. In particular, there is a stronger tendency for over-correction to be performed as the number of columns in the HOB decreases, or as the amount of random noise in the image increases. In other words, it is desirable for α to be lower as σVOB is higher (A). For example, if σVOB is 40, then α is set to 0.5, and if σVOB is 20, α is set to 0.7. Furthermore, the correction coefficient α may be caused to reflect the width of the HOB as well (B). For example, in the case in which σVOB is 40, α can be set to 0.5 if the width of the HOB is 100, and to 1.0 if the width of the HOB is 400. The correction coefficient α may be a table or function in the case of (A) and (B).
In step S605, in order to determine the correction value for an i-th row, an integrated value Si of pixel signals output from the HOB (second predetermined area) is calculated (i being a vertical coordinate) (second calculation step). Since correction only needs to be performed for effective pixels, step S605 may begin to be executed when the readout row reaches the effective pixel area. Also, in the case in which there are multiple channels as the output paths as in
Next, in step S606 a correction value Vi for the i-th row is determined (i being a vertical coordinate). The correction value is calculated according to expression (1) (third calculation step). Specifically, an average value is calculated by dividing the integrated value calculated in step S605 by the number of data pieces used in the calculation of the integrated value, and then a black reference level set in advance is subtracted from the average value. The result is then multiplied by the correction coefficient α determined in step S604, thus obtaining the correction value for that row.
correction value Vi=α×(Si/number of data pieces−black reference value) (1)
Then, in step S607, correction is performed on an effective pixel unit in the i-th row in accordance with Expression (2), with use of the correction value Vi.
corrected pixel signal x′(j,i)=pixel signal (j,i)−correction value Vi(j being a horizontal coordinate) (2)
The processing for the row ends when the effective pixel signal correction calculation has been performed through to the end of the row. Processing then returns to step S605, and this processing is repeated through to the last row of the image (step S608).
Performing the processing described above, a correction value that reflects the state of random noise in an image is determined, which enables the execution of stripe noise correction without newly increasing the amount of noise. In other words, when there is a large amount of random noise in an image, correction is not performed, or processing in which the correction amount is reduced by reducing the correction coefficient is executed, thus enabling the execution of stripe noise correction without newly increasing the amount of noise. The reason for this is that a situation in which the amount of noise is newly increased often occurs in the case in which the correction value is larger than the proper correction value, and due to a large amount of random noise, and the present embodiment solves this issue.
Note that although an integrated value of the HOB is calculated using only the signals of pixels in rows on which correction is to be performed in step S605 in the present embodiment, the integrated value may be calculated using several rows of HOB pixels in higher/lower rows. Also, occasionally there are cases in which a pixel with an abnormally high or low signal exists. A more proper correction value can be calculated by adding processing such as clipping such a pixel to a certain level before calculating the integrated value, or not using (skipping) such a pixel in the calculation of the integrated value.
Also, although a description is given in the present embodiment in which correction processing is performed after acquiring an image, such processing may be performed in the AFE 102 at the same time as readout.
Embodiment 2
The following describes Embodiment 2 of the present invention with reference to the flowchart shown in
First, readout is started in step S701. Similarly to Embodiment 1, the readout is performed from left to right row-by-row, starting at the upper left of the pixel configuration layouts shown in
Next, in step S703 the integrated value Si of pixel signals output from the HOB pixels in the i-th row is calculated (i being a vertical coordinate, for example, i=0,1,2, . . . ,n). Note that in order to prevent abnormal data from being used in the integrated value calculation, for example, if a pixel signal is higher than the black reference level ±256, the pixel signal is clipped to the black reference level +256, and if lower than the black reference level ±256, the pixel signal is clipped to the black reference level −256. The integrated value Si is held in a memory, and integrated value calculation is executed through to the last row of the image. Also, although an integrated value is calculated for a row of HOB pixels regardless of the output path or color in order to simplify the description here, the pixel signals may be demultiplexed into channels before executing the integrated value calculation. Also, in the calculation of the integrated value Si of the pixel signals output from the HOB pixels in the i-th row, not only the pixel signals output from the HOB pixels in the i-th row, but also signals output from HOB pixels in several higher/lower rows may be used.
In step S704, a standard deviation σVline of integrated values from S0 to Sn of the pixel signals output from the HOB that were calculated in step S703 is obtained (fourth calculation step). Next, a determination is made as to whether correction is to be performed (step S705), based on the value of σVOB obtained in step S702 and the value of σVline obtained in step S704. The calculation σVline/σVOB is performed, and if the result is greater than or equal to a determination value K, processing proceeds to step S706, and correction is executed. If the result is less than the determination value K, processing proceeds to step S710, and correction is not executed. Here, σVline reflects the magnitude and amount of stripe noise in the image, and if σVline is approximately greater than or equal to 0.1 times σVOB, which reflects the random noise component of the image, stripe noise can be confirmed visually as well, and therefore correction is executed. On the other hand, if σVline is less than 0.1 times σVOB, the stripe noise is not prominent. In this case, correction is not executed since there is the risk of undesirably creating stripe noise if correction is executed.
In the case of executing correction, first the correction coefficient α is determined according to the value of σVOB (step S706). The correction coefficient is calculated similarly to as in Embodiment 1. Next, in step S707 the correction value Vi for the i-th row is determined (i being a vertical coordinate). The correction value is calculated in accordance with Expression (1) shown in Embodiment 1. Specifically, an average value is calculated by dividing the integrated value calculated in step S704 by the number of data pieces used in the calculation of the integrated value, and then a black reference level set in advance is subtracted from the average value. The result is then multiplied by the correction coefficient α determined in step S706, thus obtaining the correction value for that row.
Then, in step S708, correction is performed on an effective pixel unit in the i-th row in accordance with Expression (2), with use of the correction value Vi.
The processing for the row ends when the effective pixel signal correction calculation has been performed through to the end of the row. Processing then returns to step S707, and this processing is repeated through to the last row (step S709).
By performing the processing described above, the correction amount is adjusted in consideration of the magnitude of random noise similarly to Embodiment 1, thus enabling performing horizontal stripe noise correction without newly increasing the amount of noise. Furthermore, since the state of horizontal stripe noise in an image is determined before correction is performed, unnecessary processing is prevented from being performed when the amount of stripe noise is small with respect to the image (in other words, is not prominent).
Embodiment 3
The following describes Embodiment 3 of the present invention with reference to the flowchart shown in
First, readout is started in step S801. Similarly to Embodiment 1, the readout is performed from left to right row-by-row, starting at the upper left of the pixel configuration layouts shown in
Next, in step S803 the integrated value Si and standard deviation σi of pixel signals output from HOB pixels in the i-th row are calculated (i being a vertical coordinate, for example, i=0,1,2, . . . ,n). Note that in order to prevent abnormal data from being used in the calculation of the integrated value and the standard deviation, for example, if a pixel signal is higher than the black reference level ±256, the pixel signal is clipped to the black reference level +256, and if lower than the black reference level ±256, the pixel signal is clipped to the black reference level −256. The integrated value Si and the standard deviation σi are held in a memory, and the integrated value calculation is executed through to the last row of the image. Also, although an integrated value is calculated for a row of HOB pixels regardless of the output path or color in order to simplify the description here, the pixel signals may be demultiplexed into channels before executing the integrated value calculation. Also, in the calculation of the integrated value Si and the standard deviation σi of signals of the i-th row, not only the pixel signals output from the HOB pixels in the i-th row, but also signals output from HOB pixels in several higher/lower rows may be used.
In step S804, the Sn standard deviation σVline is obtained from the integrated values S0 of the pixel signals output from the HOB that were calculated in step S803. Next, a determination is made as to whether correction is to be performed (step S805), based on the value of σVOB obtained in step S802 and the value of σVline obtained in step S804. The calculation σVline/σVOB is performed, and if the result is greater than or equal to the determination value K, processing proceeds to step S806, and correction is executed. If the result is less than the determination value K, processing proceeds to step S810, and correction is not executed.
In the case in which correction is to be executed, processing proceeds to step S806. A correction coefficient αi is calculated for each row to be corrected (i being a vertical coordinate, for example, i=0,1,2, . . . ,n). The correction coefficient αi for the i-th row is calculated using σi that was calculated in step S803. If σi is high, the degree of reliability is low since the integrated value Si of HOB pixels in the i-th row has been calculated using pixel data that includes a large amount of variation. For this reason, the correction coefficient αi is set to a low value. On the other hand, if σi is low, the degree of reliability is high since the integrated value Si of HOB pixels in the i-th row has been calculated using pixel data that includes little variation. For this reason, the correction coefficient αi is set to 1, or a number less than 1, but close to 1. The correction coefficient αi for the i-th row may be determined using a table with respect to σi, and furthermore a configuration is possible in which σVOB is added as a parameter, and the coefficient αi for the i-th row is determined using a function of σi and σVOB. Examples of the function for calculating the correction coefficient include Expressions (3) and (4).
correction coefficient αi=β×σVOB/σi (3)
correction coefficient αi=β×σVOB/√{square root over (σi)} (4)
Here, β is a constant that is determined arbitrarily. Also, in the case in which the value calculated using Expression (3) or (4) exceeds 1, the correction coefficient αi is set to 1 since there is the risk of over-correction if the correction coefficient exceeds 1. Note that the expression for calculating the correction coefficient in the present embodiment is merely an example, and the present invention is not limited to this.
Next, in step S807 the correction value Vi for the i-th row is determined (i being a vertical coordinate, for example, i=0,1,2, . . . n). The correction value is calculated in accordance with Expression (5). Specifically, an average value is calculated by dividing the integrated value calculated in step S803 by the number of data pieces used in the calculation of the integrated value, and then a black reference level set in advance is subtracted from the average value. The result is then multiplied by the correction coefficient αi determined in step S806, thus obtaining the correction value for that row.
correction value Vi=αi×(Si/number of data pieces−black reference value) (5)
Then, in step S808, correction is performed on an effective pixel unit in the i-th row in accordance with Expression (2), with use of the correction value Vi.
The processing for the row ends when the effective pixel signal correction calculation has been performed through to the end of the row. Processing then returns to step S806, and this processing is repeated through to the last row (step S809).
By performing the processing described above, a correction value that reflects the variation in signals of the HOB pixels in the row is determined, thus enabling executing stripe noise correction without newly increasing the amount of noise. Note that the above processing may be performed on a PC (Personal Computer) instead of in a camera. It should also be noted that although examples are given in the embodiments described above in which the reference pixel areas have the same structure as the aperture pixel area and are shielded, the present invention is not necessarily limited to this. For example, the reference pixels included in the reference pixel areas do not need to include photodiodes. In such a case, the reference pixels do not need to be shielded.
As described above, according to the above embodiments, a determination is made as to whether correction is to be performed, based on the value of the standard deviation of pixel signals that is a reference, thus enabling suppressing the occurrence of new stripe noise in an image due to over-correction. Also, horizontal stripe noise can be effectively corrected by changing the correction coefficient according to the value of the standard deviation.
While the present invention has been described with reference to exemplary embodiments, it is to be understood that the invention is not limited to the disclosed exemplary embodiments. The scope of the following claims is to be accorded the broadest interpretation so as to encompass all such modifications and equivalent structures and functions.
This application claims the benefit of Japanese Patent Application No. 2009-114979, filed May 11, 2009, which is hereby incorporated by reference herein in its entirety.
Patent | Priority | Assignee | Title |
9106785, | Sep 24 2012 | Kabushiki Kaisha Toshiba | Solid state image pickup device having received light correction unit, camera module, and digital camera |
Patent | Priority | Assignee | Title |
7113210, | May 08 2002 | HEWLETT-PACKARD DEVELOPMENT COMPANY, L P | Incorporating pixel replacement for negative values arising in dark frame subtraction |
7777793, | Dec 26 2005 | Canon Kabushiki Kaisha | Signal processor having A/D conversion unit and operation part |
20010028392, | |||
20050099505, | |||
20060006426, | |||
20060232692, | |||
CN1617571, | |||
CN1719877, | |||
JP2005167918, | |||
JP2006121478, | |||
JP2007027845, | |||
JP2007201735, | |||
JP2008067060, | |||
JP2009081528, | |||
JP7067038, | |||
WO2007111264, |
Executed on | Assignor | Assignee | Conveyance | Frame | Reel | Doc |
Mar 31 2010 | Canon Kabushiki Kaisha | (assignment on the face of the patent) | / | |||
Sep 01 2011 | ISHII, MIE | Canon Kabushiki Kaisha | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 027068 | /0044 |
Date | Maintenance Fee Events |
Jan 18 2018 | M1551: Payment of Maintenance Fee, 4th Year, Large Entity. |
Mar 21 2022 | REM: Maintenance Fee Reminder Mailed. |
Sep 05 2022 | EXP: Patent Expired for Failure to Pay Maintenance Fees. |
Date | Maintenance Schedule |
Jul 29 2017 | 4 years fee payment window open |
Jan 29 2018 | 6 months grace period start (w surcharge) |
Jul 29 2018 | patent expiry (for year 4) |
Jul 29 2020 | 2 years to revive unintentionally abandoned end. (for year 4) |
Jul 29 2021 | 8 years fee payment window open |
Jan 29 2022 | 6 months grace period start (w surcharge) |
Jul 29 2022 | patent expiry (for year 8) |
Jul 29 2024 | 2 years to revive unintentionally abandoned end. (for year 8) |
Jul 29 2025 | 12 years fee payment window open |
Jan 29 2026 | 6 months grace period start (w surcharge) |
Jul 29 2026 | patent expiry (for year 12) |
Jul 29 2028 | 2 years to revive unintentionally abandoned end. (for year 12) |