Image sensors often operate by acquiring a signal in pixels, each pixel producing a value indicative of the amount of light impinging on the pixel. That value is usually an analog value, but modern image sensors often output digital versions of the analog value. This necessitates use of an analog to digital converter to convert the analog signal to digital.
A common type of A/D converter is a successive approximation type A/D converter.
It is often also desired to carry out black level compensation in such an image sensor to reduce the noise and increase the dynamic range. Black level compensation can be done using digital signal processing, or analog signal processing. Each may have its own drawbacks. Digital signal processing may sacrifice the upper dynamic range of the signal. Analog signal processing may require an additional D/A converter.
The present application describes black level compensation techniques using a successive approximation A/D converter that carries out the black level compensation as part of the conversion.
These and other aspects will now be described in detail with reference to the accompanying drawings, wherein:
The A/D converter circuit 111 is shown in further detail in
A timing control logic 270, which may be a processor, for example, controls the timing of the conversion. In this embodiment, the conversion is N-bits, where N represents the total resolution of the A/D converter. The system also uses a second, M bit D/A converter, where M<N, for compensation of black level of the image. In operation, the N bit D/A converter 230 operates in conjunction with the M bit D/A converter 255 in a way such that the conversion automatically takes into account compensation for black level of the image.
The desired end result is to obtain a digital output signal representing the value of the difference between reset and signal, as compensated for black level. A reset voltage, representing the level of reset, is held in a sample and hold unit 210. As explained above, this feeds one input of the comparator 220.
The signal value 199 represents the desired signal to be converted. This value is added to (or subtracted from, depending on sense) the output of the N bit DAC 230 which represents the digitized signal value. Since the photodiode collects negatively charged electrons, the signal voltage is lower than the reset voltage. The value being digitized, therefore, represents (reset-signal). This is also added to the output of the M bit DAC 255, which represents the black level. The output signal from adder 226 is shown as signal 227, and this represents the value Vsig−VN+/−VM, where VN is the output of the N bit DAC, and VM is the output of the M bit DAC 255.
The comparator flips when the value input at 227 exceeds the reset level. The register either counts up or counts down, in conventional successive approximation fashion, based on the control input 222.
The successive approximation device attempts to determine the A/D value iteratively, by changing the value to match the guess. The comparator indicates whether the “guess” in the register is too high or too low. The register starts with Vsig+/−Vm, then flips the most significant bit of the N bit dac, changing Vn from 0 to (½)*Vref, and then checks at the output of the comparator. If the comparator flips, the value has gone too high and the bit is flipped back to 0. If not, it is kept at (½)*Vref. Then, the next bit is flipped to add (¼)*Vref to the previous value. This will give either (¼)*Vref (if the last time the value went too high) or (¾)*Vref (if the last time the value did not go too high it didn't). The output of the comparator is used to determine whether or not to keep this new value. This process is repeated until all 8 bits have been determined. Therefore, when the value output from the successive approximation register 240 settles, the digital output value then represents a value of signal, compensated for black level, and compensated for the reset.
The M bit D/A converter 255 is associated with a read/write latch 250 which stores a calibration level representing a black level of the output. The black level calibration may be fewer bits then from the total conversion. For example, if N is 8, M may be four or five.
A separate read/write latch 250 may be used to store black level calibration results.
In the specific product described, the pixel structure may have the general layout shown in
This calibration section 300 may be used to obtain values that are used to correct for black level. An array of registers 260 may be used to store certain dark pixel data. For example, the last incoming dark pixel data for each of a plurality of colors may be stored.
In an embodiment, an array of five registers×3 colors is represented by the register 260. Incoming data is segregated by the color and by dark pixel. Each dark pixel data in the registers is represented as data1, data2, data3, data4, data5, for each of the three colors.
The data is also processed. This may be done using the on board logic 270. For example, the data may be processed to remove data that is outside a specified median value.
The average value of the selected dark pixels for each color is then calculated. This may be a local calculation, based on an old calculation, or may be as shown herein, a weighted average of previous values and current values. For example, the average value may be calculated as:
where n is the number of frames over which the value can be determined. N may be programmable.
The operation of frame averaging is shown in
Analogously, the same values may be obtained for green 2, red and blue.
The old average is the average for the previous frame, and may be stored as green 1, green 2, red and blue.
The calculated average may then be used for A/D converter calibration. The user may override previously obtained average values and define difference values to add to or subtract from the average value at each frame.
Although only a few embodiments have been disclosed in detail above, other modifications are possible. For example, while the above has described different types of it adding and subtracting, it should be understood that the opposite senses should also be included. Moreover, while the above has described that the pixel value has the dark level added or subtract it, it should be understood that the reference value (the reset) could alternatively have the dark level used as its compensating factor.
All such modifications are intended to be encompassed within the following claims, in which.
The present application claims priority from provisional application No. 60/244,412, filed Oct. 30, 2000 and application No. 60/254,328, filed Dec. 7, 2000.
Number | Name | Date | Kind |
---|---|---|---|
4811016 | Millward et al. | Mar 1989 | A |
5027148 | Anagnostopoulos | Jun 1991 | A |
5105276 | Schrock | Apr 1992 | A |
5111311 | Yamamoto | May 1992 | A |
5329111 | Sonoda et al. | Jul 1994 | A |
5408335 | Takahashi et al. | Apr 1995 | A |
5654755 | Hosier | Aug 1997 | A |
5659355 | Barron et al. | Aug 1997 | A |
6304292 | Ide et al. | Oct 2001 | B1 |
6476751 | Krymski et al. | Nov 2002 | B1 |
6507365 | Nakamura et al. | Jan 2003 | B1 |
6737654 | Ducourant | May 2004 | B2 |
6774942 | Salcedo et al. | Aug 2004 | B1 |
6806901 | Mukherjee et al. | Oct 2004 | B1 |
6829007 | Bilhan et al. | Dec 2004 | B1 |
Number | Date | Country |
---|---|---|
04322575 | Nov 1992 | JP |
11196335 | Jul 1999 | JP |
Number | Date | Country | |
---|---|---|---|
60254328 | Dec 2000 | US | |
60244412 | Oct 2000 | US |