An image sensor converts an optical image into an electrical signal. Types of image sensors include charge-coupled devices (CCDs) and complementary-metal-oxide-semiconductor (CMOS) image sensors. Image sensors are commonly used in digital cameras as well as other imaging devices.
Image sensors include pixels, which accumulate charge when illuminated by light. Conventionally, pixels accumulate charge in an analog circuit for a continuous period of time referred to as an exposure time. The accumulated charge is transferred to an analog-to-digital (A/D) converter (ADC), which converts the accumulated charge into a digital value for that pixel. A conventional image sensor outputs a two-dimensional (2D) array of digital values.
At least one example embodiment provides a counter circuit for an analog to digital converter (ADC). The counter circuit includes: a latch stage configured to generate a latch stage output clock based on a state of an input clock such that the latch stage output clock and the input clock have a same state at start of a reset counting phase, but a same or different state at start of a signal counting phase depending on the state of the output clock at the end of the reset counting phase.
At least one other example embodiment provides an analog to digital converter. The analog to digital converter includes: a comparator circuit; a counter bank; and a line memory. The comparator circuit is configured to generate a comparison signal corresponding to each column of a pixel array. Each comparison signal is generated based on a comparison between an input signal corresponding to a column of the pixel array and a ramp signal. The counter bank is configured to convert each of the generated comparison signals into a digital output signal. The counter bank includes at least one counter circuit having a latch stage configured to generate a latch stage output clock based on a state of an input clock such that the latch stage output clock and the input clock have a same state at start of a reset counting phase, but a same or different state at start of a signal counting phase depending on the state of the output clock at the end of the reset counting phase. The line memory is configured to store the digital outputs from the counter bank.
At least one other example embodiment provides an image sensor. The image sensor includes an active pixel array; a line driver; and an analog to digital converter. The active pixel array includes a plurality of pixels arranged in an array. The line driver is configured to select rows of pixels for output by the active pixel array.
The analog to digital converter is configured to convert outputs from the active pixel array into digital output code. The analog to digital converter includes: a comparator circuit; a counter bank; and a line memory. The comparator circuit is configured to generate a comparison signal corresponding to each column of a pixel array. Each comparison signal is generated based on a comparison between an input signal corresponding to a column of the pixel array and a ramp signal. The counter bank is configured to convert each of the generated comparison signals into a digital output signal. The counter bank includes at least one counter circuit having a latch stage configured to generate a latch stage output clock based on a state of an input clock such that the latch stage output clock and the input clock have a same state at start of a reset counting phase, but a same or different state at start of a signal counting phase depending on the state of the output clock at the end of the reset counting phase. The line memory is configured to store the digital outputs from the counter bank.
At least one other example embodiment provides a digital imaging system. The digital imaging system includes: a processor configured to process captured image data; and an image sensor configured to capture image data by converting optical images into electrical signals. The image sensor includes an active pixel array; a line driver; and an analog to digital converter. The active pixel array includes a plurality of pixels arranged in an array. The line driver is configured to select rows of pixels for output by the active pixel array.
The analog to digital converter is configured to convert outputs from the active pixel array into digital output code. The analog to digital converter includes: a comparator circuit; a counter bank; and a line memory. The comparator circuit is configured to generate a comparison signal corresponding to each column of a pixel array. Each comparison signal is generated based on a comparison between an input signal corresponding to a column of the pixel array and a ramp signal. The counter bank is configured to convert each of the generated comparison signals into a digital output signal. The counter bank includes at least one counter circuit having a latch stage configured to generate a latch stage output clock based on a state of an input clock such that the latch stage output clock and the input clock have a same state at start of a reset counting phase, but a same or different state at start of a signal counting phase depending on the state of the output clock at the end of the reset counting phase. The line memory is configured to store the digital outputs from the counter bank.
According to at least some example embodiments, the counter circuit may further include: a plurality of counter stages connected in series with the latch stage. Each of the plurality of counter stages may be configured to toggle a state of an output clock in response to a change in state of the output clock from a preceding stage.
Each of the plurality of counter stages may include: a bit-wise inversion circuit configured to selectively peform a bit-wise inversion operation on the output clock from a previous counter stage in response to at least one bit-wise inversion signal, and to output an inverted state of the output clock from a previous counter stage; and a counter cell configured to toggle a state of an output clock in response to a change in state of the output from the bit-wise inversion circuit.
The latch stage may further include: a first latch configured to output a first latch output clock based on the input clock; a logic gate configured to generate the latch stage output clock by performing a logic operation on first latch output clock and a second latch output clock; and a second latch configured to output the second latch output clock based on the latch stage output clock.
Additionally, the latch stage may include: an inverter configured to invert a state of the latch stage output clock and output the inverted state of the latch stage output clock to the second latch. The second latch may be configured to output the second latch output clock based on the inverted state of the latch stage output clock.
According to at least some example embodiments, the counter circuit may include: a plurality of counter stages connected in series with the latch stage. Each of the plurality of counter stages may be configured to output one of an up counting output clock and a down counting output clock in response to an output clock from a preceding counter stage. The up counting output and the down counting output clock may have opposite states.
The counter circuit may further include: a selection circuit configured to separate the latch stage from the plurality of counter stages in response to a latch output selection signal.
Each of the plurality of counter stages may include: a counter cell configured to output the up counting output clock and the down counting output clock in response to the output clock from a preceding counter stage; and a multiplexer configured to selectively output one of the up counting output clock and the down counting output clock to a subsequent counter stage in response to a count signal.
According to at least some example embodiments, the counter bank may further include: a plurality of counter circuits. Each of the plurality of counter circuits may correspond to a column of the pixel array. Each of the plurality of counter circuits may include a latch stage configured to generate a latch stage output clock based on a state of an input clock such that the latch stage output clock and the input clock have a same state at start of the reset counting phase, but a same or different state at start of the signal counting phase depending on the state of the output clock at the end of the reset counting phase.
Example embodiments will become more appreciable through the description of the drawings in which:
Example embodiments will now be described more fully with reference to the accompanying drawings. Many alternate forms may be embodied and example embodiments should not be construed as limited to example embodiments set forth herein. In the drawings, the thicknesses of layers and regions may be exaggerated for clarity, and like reference numerals refer to like elements.
It will be understood that, although the terms first, second, etc. may be used herein to describe various elements, these elements should not be limited by these terms. These terms are only used to distinguish one element from another. For example, a first element could be termed a second element, and, similarly, a second element could be termed a first element, without departing from the scope of example embodiments. As used herein, the term “and/or” includes any and all combinations of one or more of the associated listed items.
It will be understood that when an element is referred to as being “connected” or “coupled” to another element, it can be directly connected or coupled to the other element or intervening elements may be present. In contrast, when an element is referred to as being “directly connected” or “directly coupled” to another element, there are no intervening elements present. Other words used to describe the relationship between elements should be interpreted in a like fashion (e.g., “between” versus “directly between,” “adjacent” versus “directly adjacent,” etc.).
The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of example embodiments. As used herein, the singular fauns “a,” “an” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will be further understood that the terms “comprises,” “comprising,” “includes” and/or “including,” when used herein, specify the presence of stated features, integers, steps, operations, elements and/or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components and groups thereof.
Unless specifically stated otherwise, or as is apparent from the discussion, terms such as “processing” or “computing” or “calculating” or “determining” or “displaying” or the like, refer to the action and processes of a computer system, or similar electronic computing device, that manipulates and transforms data represented as physical, electronic quantities within the computer system's registers and memories into other data similarly represented as physical quantities within the computer system memories or registers or other such information storage, transmission or display devices.
At least one example embodiment provides a ripple-counter circuit. Example embodiments may also provide counters and counter circuits with digital gains correlated to a ramp signal.
As will be described in more detail below, example embodiments may be implemented in conjunction with a Gray code counter (GCC) and/or a per-column binary counter. As discussed herein, example embodiments may be implemented as a double data rate (DDR) counter, which may further improve power consumption.
In another example, a per-column implementation may perform bit-wise inversion for correlated double sampling (CDS) subtraction. In addition, the same or substantially the same digital gain concepts may be applied to any ripple counter.
Referring to
The pixel array 100 includes a plurality of pixels arranged in an array of rows ROW_1-ROW_N and columns COL_1-COL_N. Each of the plurality of read and reset lines RRL corresponds to a row of pixels in the pixel array 100. In
In more detail with reference to example operation of the image sensor in
The analog-to-digital converter (ADC) 104 converts the output voltages from the i-th row ROW_i of readout pixels into a digital signal (or digital data). The ADC 104 may perform this conversion either serially or in parallel. An ADC 104 having a column parallel-architecture converts the output voltages into a digital signal in parallel. The ADC 104 then outputs the digital data (or digital code) DOUT to a next stage processor such as an image signal processor (ISP) 108, which processes the digital data DOUT to generate an image. In one example, the ISP 108 may also perform image processing operations on the digital data including, for example, gamma correction, auto white balancing, application of a color correction matrix (CCM), and handling chromatic aberrations.
Referring to
In more detail, the comparator bank 1042 includes a plurality of comparators 1042_COMP. Each of the plurality of comparators 1042_COMP corresponds to one of columns COL_1-COL_N of pixels P in the pixel array 100. In example operation, each comparator 1042_COMP generates a comparison signal VCOMP by comparing the output of a corresponding pixel to the ramp signal VRAMP. The toggling time of the output of each comparator 1042_COMP is correlated to the pixel output voltage.
The comparator bank 1042 outputs the comparison signals VCOMP to a counter bank 1044, which converts the comparison signals VCOMP into digital output signals.
In more detail, the counter bank 1044 includes a counter for each of columns COL_1-COL_N of the pixel array 100 and each counter converts a corresponding comparison signal VCOMP into a digital output signal. Counter circuits of the counter bank 1044 according to example embodiments will be discussed in more detail later. The counter bank 1044 outputs the digital output signals to a line memory 1046.
The line memory 1046 stores the digital data from the counter bank 1044 while output voltages for a next row (e.g., ROW_i+1) of pixels are converted into digital output signals.
Referring to
A Gray code counter (GCC) 1050 is coupled to the line memory 1048. In this example, the GCC 1050 generates a sequentially changing Gray code.
The line memory 1048 stores the sequentially changing Gray code from the GCC 1050 at a certain time point based on the comparison signals VCOMP received from the comparator bank 1042. The stored Gray code represents the intensity of light received at the pixel or pixels.
Referring to
For example, the digital imaging system shown in
Referring back to
As shown in
P
0
=f×V
dd
2
×C
TFF (1)
Equation (1), f is the frequency of the input clock D_CLKf, Vdd is the supply voltage to the first flip-flop T-FF0 and CTFF is the effective capacitance of the first flip-flop T-FF0.
Because each of flip-flops T-FF1, T-FF2, T-FF3, . . . , T-FFN−1 switches at half the frequency of the preceding flip-flop, the total power consumption Ptot for the counter circuit shown in
Example embodiments provide double data rate (DDR) counter circuits in which the first counter stage is replaced by a latch circuit such that the input clock is used as the least significant bit (LSB) D<0> of the output data, and the input clock rate is reduced by about half. By replacing the first counter stage with a latch circuit, the power consumption of the counter circuit may also be reduced by at least about 50%. But, the actual reduction in power consumption may depend on the number of bits in the counter and/or the complexity of the latch circuit. The power consumption may be further reduced by lowering the frequency of clock generator (PLL) (not shown) and/or lowering power consumption on the wire connecting the PLL to the counter circuit.
Referring to
In the counter circuit shown in
In example operation, the latch circuit 50L outputs the latch stage output clock Q0 while enabled, but stores the state of the input clock D_CLKf/2 in response to the falling edge of stop signal STOP (e.g., when the latch, circuit 50L stops running or is disabled). While enabled, the latch stage output clock Q0 transitions (e.g., from high ‘H’ to low ‘H’ or from low to high) in response to a transition or change in state of the input clock D_CLKf/2. The latch circuit 50L outputs the latch stage output clock Q0 to the first counter cell T-FF51 of the first counter stage 51.
The first counter stage 51 generates a first counter stage output clock Q1 based on the latch stage output clock Q0. In so doing, the first counter cell T-FF51 toggles the state (e.g., from low to high or high to low) of the first counter stage output clock Q1 based on a change in the state of the latch stage output clock Q0. For example, the first counter cell T-FF51 toggles the state of the first counter stage output clock Q1 as the latch stage output clock Q0 rises (e.g., in response to a transition from low to high). The first counter cell T-FF51 outputs the first counter stage output clock Q1 to the second counter cell T-FF52 of the second counter stage 52.
The second stage 52 generates a second counter stage output clock Q2 based on the first counter stage output clock Q1. In so doing, the second counter cell T-FF52 toggles the state (e.g., from low to high or high to low) of the second counter stage output clock Q2 based on a change in the state of the first counter stage output clock Q1. For example, the second counter cell T-FF52 toggles the state of the second counter stage output clock Q2 as the first counter stage output clock Q1 rises (e.g., in response to a transition from low to high). The second stage 52 outputs the second counter stage output clock Q1 to the third counter cell T-FF53 of the third counter stage 53.
Each subsequent counter stage 53-5(N−1) generates a corresponding counter stage output clock Q3, QN−1 based on a counter stage output clock from a preceding counter stage in the same or substantially the same manner as described above to generate a resultant digital output code DOUT (including D<0>, D<1>, D<2>, D<3>, . . . , D<N−1>, where D<0> is the LSB), which is stored in a line buffer (for each column separately), and read out by an image signal processor.
As mentioned above and as can be appreciated by comparing
Moving forward, a counter circuit normally has the ability to subtract a reset reading from the signal reading in order to apply digital correlated double sampling (CDS) in image sensors. This may be achieved by an UP/DOWN counter circuit, which counts down during a reset counting phase (e.g., during reset voltage conversion), but counts up during a signal counting phase (e.g., during signal voltage conversion). An example timing diagram illustrating this counting function is shown in
Referring to
Each of the counter stages 70 through 7(N−1) includes a counter cell T-FF7 and a multiplexer MUX. Each counter cell T-FF7 is a special flip-flop circuit capable of outputting both an up output clock Qn and a down output clock
The first counter stage 70 is configured to output first up output clock Q0 and first down output clock
In each subsequent one of the counter stages 71 through 7(N−1), the counter cell T-FF7 is configured to output the up output clock Qn and the down counter output clock
In more detail referring to
In an alternative example, bit-wise inversion (BWI) is used between the reset counting phase and the signal counting phase.
Referring to
During normal operation (e.g., the counting phase), first bitwise inversion clock CONV1 is “0”, whereas second bitwise inversion clock CONV2 is “1”. In this case, the bitwise inversion cell BWI acts as an inverter. An example bitwise inversion operation is described below. For the sake of brevity and clarity, example bitwise inversion operation will be discussed with regard to counter stage 91. However, each counter cell may operate in the same or substantially the same manner.
Initially, first bitwise inversion clock CONV1 transitions to “1”, which pulls down the output of bitwise inversion cell BWI (of counter stage 91) to “0”. Because the counter cell T-FF9 is assumed to be sensitive only to the rising edge of its input clock, the first bitwise inversion clock CONV1 does not cause any toggling of counter cell T-FF9.
The second bitwise inversion clock CONV2 then transitions to “0”, which has no effect on the output from the bitwise inversion cell BWI.
The first bitwise inversion clock CONV1 also falls to “0.” At this point, the output from the bitwise inversion cell BWI rises, which causes a transition in the output of the counter cell T-FF9. The second bitwise inversion clock CONV2 then rises, which causes the bitwise inversion cell BWI to again operate as an inverter. The output of the bitwise inversion cell BWI either remains at “1” or falls to “0”, depending on its input. In any case, this does not cause any change in the output of the counter cell T-FF9, which is only sensitive to rising edges.
As mentioned above,
Referring to
Reset counting is then applied by enabling the input clock CLK0 input into the first stage 90 of the counter circuit. In one example, N clock cycles (e.g., 0 to N−1) are counted. Bitwise inversion, as described above, is then applied. The output code then goes from N−1 to −N.
Signal counting is then enabled by re-enabling the input clock CLK0. In this case, the clock is enabled for M clock cycles, which causes the final output code to be M−N.
By using the counter circuit architecture shown in
At least one example embodiment provides a counter circuit using BWI in which the first counter stage is replaced by a latch circuit. At least one other example embodiment provides a first latch circuit for replacing the first counter stage of such a BWI counter circuit.
Referring to
In the circuit shown in
The second latch L2 stores the value of latch stage output clock Q0, which is the LSB value of the reset signal at the time of the bit-wise inversion operation (e.g., transitions of CONV1 and CONV2). Because the input clock CLK always starts counting at the same level (e.g., CLK=0), and the SET pulse forces the second latch output clock PARITY to ‘1’, there are two possible options:
The latch circuit shown in
Referring more specifically to
At the end of the reset counting phase, the enable signal EN transitions from a high state to a low state (e.g., falling edge of the enable signal EN), which disables the first latch L1 and causes the first latch L1 to store the state (e.g., a high state) of the input clock CLK when the enable signal EN transitioned. In so doing, the first latch L1 continually outputs first latch output clock CLKL1 having a low state (e.g., the opposite state of the input clock CLK at the time the first latch L1 was disabled).
Prior to the signal counting phase and while the first latch L1 is still disabled, the first latch output clock CLK_L1 transitions from the high state to the low state in synchronization with the falling edge of the first bitwise inversion clock CONV1.
The XOR gate X1 generates a first stage output clock Q0 based on the first latch output clock CLK_L1 and a second latch output clock PARITY from the second latch L2. The second latch output clock PARITY will be discussed in more detail later.
As shown in
Still referring to
The second latch L2 generates the second latch output clock PARITY based on the inverted input from the inverter I1. Referring again to
The timing diagram shown in
As shown in
As shown in
Prior to the signal counting phase, the first stage output clock Q0 transitions from the low state to the high state in synchronization with the falling edge of a second bitwise inversion clock CONV2. By transitioning from the low state to the high state prior to the signal counting phase, the state of the first stage output clock Q0 and the input clock CLK are opposite at the start of the signal counting phase.
As shown in
In the example embodiment shown in
The latch stage 1300 is coupled to a plurality of subsequent counter stages 1301, 1302, 1303, . . . , 130(N−1), each of which includes a respective counter cell (e.g., T-flip-flop) T-FF1301, T-FF1302, T-FF1303, . . . , T-FF130(N−1) and respective bit-wise inversion circuit BWI-1301, BWI-1302, BWI-1303, . . . , BWI-130(N−1). The subsequent counter stages 1301, 1302, 1303, . . . , 130(N−1) are connected in series with each other and with the latch stage 1300.
The first bitwise inversion circuit BWI-1301 of the first counter stage 1301 selectively inverts the state of the latch stage output clock Q0 based on first and second bitwise inversion signals CONV1 and CONV2 in order to perform desired bitwise addition or subtraction. The first bitwise inversion circuit BWI-1301 outputs the selectively inverted latch stage output clock Q0 to the first counter cell T-FF1301.
The first counter cell T-FF1301 of the first counter stage 1301 generates a first counter stage output clock Q1 based on the output from the bitwise inversion circuit BWI-1301. In so doing, the first counter cell T-FF1301 toggles the state (e.g., from low to high or high to low) of the first counter stage output clock Q1 based on a change in the state of the output from the BWI inversion circuit BWI-1301. For example, the first counter cell T-FF1301 toggles the state of the first counter stage output clock Q1 as the output from the BWI inversion circuit BWI-1301 rises (e.g., in response to a transition from a low state to a high state). The first counter cell T-FF 1301 outputs the first counter stage output clock Q1 to a second counter stage 1302.
Each of the subsequent counter stages 1302, 1303, . . . , 130(N−1) operates in a manner similar to that described above with regard to first counter stage 1301 to generate a resultant digital output code DOUT, which is stored in a line buffer (for each column separately), and read out by an image signal processor.
The switch S allows LSB bitwise inversion to occur prior to an UP counting operation carried out by the following counter stages of the counter. In this case, the starting phase of the UP counting (e.g., rising edge of the UP signal) is aligned with the end of the LSB BWI (e.g., rising edge of the latch output selection signal SEL).
a and 15b are timing diagrams for describing example operation of the counter circuit shown in
Referring to
In the example shown in
Prior to the signal counting phase, the latch stage output clock Q0 transitions from the high state to the low state in synchronization with the falling edge of the first bitwise inversion signal CONV1. By transitioning from the high state to the low state prior to the signal counting phase, the state of the latch stage output clock Q0 and the input clock CLK are the same at the start of the signal counting phase.
As shown in
Turning to
In the example shown in
Prior to the signal counting phase, the latch stage output clock Q0 transitions from the low state to the high state in synchronization with the falling edge of the second conversion signal CONV2. By transitioning from the low state to the high state prior to the signal counting phase, the states of the first stage output clock Q0 and the input clock CLK are opposite at the start of the signal counting phase.
In the case shown in
As shown in
In the example embodiment shown in
The latch stage 1600 is coupled to a plurality of subsequent counter stages 1601, 1602, 1603, . . . , 160(N−1), each of which includes a respective counter cell (e.g., T-flip-flop) T-FF1601, T-FF1602, T-FF1603, . . . , T-FF160(N−1) and a respective multiplexer MUX1601, MUX1602, MUX1603, . . . , MUX160(N−1). The subsequent counter stages 1601, 1602, 1603, . . . , 160(N−1) are connected in series with each other and with the latch stage 1600.
The first counter cell T-FF 1601 generates a first up counter output clock Q1 and a first down counter output clock
The first multiplexer MUX1601 selectively outputs one of the first up counter output clock Q1 and the first down counter output clock
Each of the subsequent counter stages 1602, 1603, . . . , 160(N−1) operates in a manner similar to that described above with regard to the first counter stage 1601 to generate a resultant digital output code DOUT, which is stored in a line buffer (for each column separately), and read out by an image signal processor.
Example embodiments of counter circuits described herein may be implemented in conjunction with the counters 1044 and 1050 shown in
At least some example embodiments provide ripple-counter circuits capable of applying digital gain for some or all counting phases allowing for linear output data.
The foregoing description of example embodiments has been provided for purposes of illustration and description. It is not intended to be exhaustive or limiting. Individual elements or features of a particular embodiment are generally not limited to that particular embodiment. Rather, where applicable, individual elements or features are interchangeable and may be used in a selected embodiment, even if not specifically shown or described. The same may also be varied in many ways. All such modifications are intended to be included within the scope of this disclosure.
This application claims priority under 35 U.S.C. §119(e) to provisional application No. 61/272,943, filed on Nov. 23, 2009, and provisional application No. 61/272,941, filed on Nov. 23, 2009. The entire contents of each of these applications are incorporated herein by reference.
Number | Date | Country | |
---|---|---|---|
61272943 | Nov 2009 | US | |
61272941 | Nov 2009 | US |