Abstract:
Image sensor with a successive approximation A/D converter that automatically compensates for black level and provides a signal indicative of the difference between the reset level and the signal level. Black level for each of a plurality of color pixels may be obtained. This may be obtained from, for example, an image sensor with intentionally darkened pixels. Levels from these pixels are sampled, and an average of these pixels is used to form a black level for similarly-colored pixels. That black level is stored, and used to drive a D/A converter. Another D/A converter forms the actual conversion, and is compared to a reference. The reference is selected such that the output signal is automatically compensated for black level, and also corresponds to the difference between signal and reset.

Description:
CROSS-REFERENCE TO RELATED APPLICATIONS 
     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. 
    
    
     BACKGROUND 
     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. 
     SUMMARY 
     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. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
       These and other aspects will now be described in detail with reference to the accompanying drawings, wherein: 
         FIG. 1  shows a basic block diagram of an image sensor of the present system; 
         FIG. 2  shows a block diagram of the successive approximation A/D converter with black level compensation; 
         FIG. 3  shows a specified pixel structure of the pixel with intentionally darkened pixels; and 
         FIG. 4  shows a system of frame averaging. 
     
    
    
     DETAILED DESCRIPTION 
       FIG. 1  shows a basic image sensor formed of a photosensor array  100 , and a signal processing part  110 . Each pixel such as  105  may include a photosensor  106 , which may be for example a photodiode. An in-pixel follower  107  buffers the signal from the photosensor  106 . An in pixel selection transistor  108  selects the output of the specific pixel at any specific time. Other circuitry, preferably CMOS circuitry, may also be formed within the pixel. The selection of the given pixel causes its output to be transferred on the common output line  109  to an appropriate block of the signal processing element  110 . The signal processing element  110  may include, for example, an A/D converter  111 , and a double sampling circuit  112 . 
     The A/D converter circuit  111  is shown in further detail in  FIG. 2 . In this embodiment, the A/D converter is a successive approximation type A/D converter. This system uses a binary search through quantization levels prior to converging on the final digital answer, as conventional. 
     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&lt;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−V N +/−V M , where V N  is the output of the N bit DAC, and V M  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&#39;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  FIG. 3 . Specifically, there may be a special section of the pixel used for calibration. The overall extent of the structure has 312 rows by 376 columns as shown. However, some number of these pixels may be dark, and used for calibration. In this embodiment, the entire outer frame of the image sensor may represent dark pixels. Rows  0 - 37  and  304 - 311  (the top and bottom eight rows) may represent dark pixels which are, for example, blocked by a metal shield. The initial parts of the columns, for example the initial 60 pixels of each column and the last 60 pixels of each column may also be dark. As conventional in a color image sensor, the pixels are arranged into a series of repeating rectangular shaped units  310  shown in the inset. Each pixel is associated with a specified color. Therefore, the dark pixels may have their values characterized according to this color. 
     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 data 1 , data 2 , data 3 , data 4 , data 5 , 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: 
             New_av   =             2   n     -   1       2   n       ⁢     (   old_ave   )       +       1     2   n       ⁢     (   current_ave   )               
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  FIG. 4 . Frame averaging may start at the end of frame number  2  for example. An average of the different frames may be calculated using the some value during frame number two, as shown in  FIG. 4 . The values and the different frames are stored. For example, values for frame three may be calculated using currently stored new values for dark current. The current values may be stored as new green 1 average, new green 2 average, new red average, new blue average. These are obtained from the current frame number  3 , where the value of green 1 current average green 1 dark sum/256. 
     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.