Patent Description:
The majority of conventional integrated-circuit imaging arrays are either charge- coupled devices (CCDs) or complementary metal-oxide semiconductor (CMOS) devices. In such imaging arrays, photocurrent generated by illumination of a photodiode accumulates charge on a capacitor at each pixel of the array. At the end of an exposure period, the amount of charge stored on the pixel's capacitor is read out of the array for subsequent image processing.

Recently, digital focal plane arrays have been developed as a different approach to imaging. These arrays include pixel circuitry that can digitize detected signals and perform some signal processing operations within the array pixels.

<CIT> describes an active receiver having a digital-pixel focal plane array (DFPA), which ranges a target when observing return pulses from a pulsed laser beam synced with the receiver. The DFPA establishes a time when the pulsed laser beam contacts a target and the range can then be established because the speed at which the laser beam travels is known. Various basis functions may be implemented with the DFPA data to establish when the laser beam contacts the target. Some exemplary basis functions are binary basis functions, and other exemplary basis functions are Fourier basis functions.

<CIT> describes a pixel circuit and an operating method thereof, comprising a front-end circuit comprising a single photodiode and having an output, said front-end circuit being configured for delivering on said output a photoreceptor signal derived from a light exposure of said single photodiode; a transient detector circuit configured for detecting a change in said photoreceptor signal delivered on said output; an exposure measurement circuit configured for measuring said photoreceptor signal delivered on said output upon detection by the transient detector circuit of a change in the photoreceptor signal.

<CIT> describes digital focal plane arrays (DFPAs) with multiple counters per unit cell, which can be used to convert analog signals to digital data and to filter the digital data. Exemplary DFPAs include two-dimensional arrays of unit cells, where each unit cell is coupled to a corresponding photodetector in a photodetector array. Each unit cell converts photocurrent from its photodetector to a digital pulse train that is coupled to multiple counters in the unit cell. Each counter in each unit cell can be independently controlled to filter the pulse train by counting up or down and/or by transferring data as desired. For example, a unit cell may perform in-phase/quadrature filtering of homodyne- or heterodyne-detected photocurrent with two counters: a first counter toggled between increment and decrement modes with an in-phase signal and a second counter toggled between increment and decrement modes with a quadrature signal.

"<NPL>et al, describes an integration of image compression and sensing in order to enhance the performance of an image sensor. By integrating a compression function onto the sensor focal plane, the image signal to be read out from the sensor is significantly reduced and the pixel rate of the sensor ran consequently be increased. The compression scheme employed is a conditional replenishment, which detects and encodes moving areas. Two architectures for on-sensor compression are described; one is the pixel parallel approach and the other is the column parallel approach.

<CIT> describes an apparatus comprising an analog photocell adapted to capture light energy incident upon it as an analog signal, a sample-and-hold amplifier coupled to the photocell and adapted to store the analog signal and a digital converter coupled to the amplifier, the converter transforming the analog signal into a digital value, the value proportional to the amount of the light energy.

The present invention relates to a computational pixel imaging apparatus.

Some embodiments relate to a computational pixel imaging apparatus for event-based imaging as defined in the claims.

The foregoing and other aspects, embodiments, and features of the present teachings can be more fully understood from the following description in conjunction with the accompanying drawings.

The skilled artisan will understand that the figures, described herein, are for illustration purposes only. It is to be understood that in some instances various aspects of the invention may be shown exaggerated or enlarged to facilitate an understanding of the invention. In the drawings, like reference characters generally refer to like features, functionally similar and/or structurally similar elements throughout the various figures. The drawings are not necessarily to scale, emphasis instead being placed upon illustrating the principles of the teachings.

The features and advantages of the present invention will become more apparent from the detailed description set forth below when taken in conjunction with the drawings.

Imaging arrays that include in-pixel digitization circuitry are emerging as useful alternatives to conventional CMOS and CCD imaging arrays for some applications. An example of a computational pixel imaging device <NUM> is depicted in <FIG>. According to some embodiments, a computational pixel imaging device <NUM> can include a substrate <NUM> on which is formed an array of detectors <NUM> and an array of pixel integrated circuits <NUM> that are arranged to receive signals from the corresponding detectors. A detector <NUM> and its corresponding pixel integrated circuit <NUM> can form a pixel of a computational pixel imaging device <NUM>, and may both be located on a same substrate <NUM> in some embodiments. The arrays depicted in <FIG> are two-dimensional and may comprise tens, hundreds, thousands, or even millions of pixels when implemented in a device. In some cases, the arrays may be onedimensional (e.g., for a device that is scanned).

<FIG> depicts an embodiment of a computational pixel imaging device <NUM> in which the detectors <NUM> are formed on a first substrate <NUM> in a detector array and the pixel integrated circuits <NUM> are formed on a second substrate in a pixel integrated circuit array. In some embodiments, the detectors <NUM> on the first substrate <NUM> can be directly connected to receiving pixel integrated circuits <NUM> on the second substrate <NUM> (e.g., by flip-chip or bump-bonding processes that may include solder bumps or posts). In some implementations, the detectors <NUM> on the first substrate <NUM> may be connected to receiving pixel integrated circuits <NUM> on the second substrate <NUM> through an interposer located between the substrates and not shown in the drawing. The interposer may provide some signal rerouting so that the array of pixel integrated circuits <NUM> on the second substrate may be larger than the array of detectors <NUM> on the first substrate. However, in some cases the pixel size for a pixel integrated circuit <NUM> may be the same or smaller than a pixel size for a detector <NUM>.

The first substrate <NUM> may be made from a first material that can be the same or different from a second material used to form the second substrate <NUM>. For example, the first substrate <NUM> may be made from a first semiconductor material (e.g., indium phosphide (InP)) and the second substrate may be made from a second semiconductor material (e.g., silicon (Si)). Other materials from which the substrates in <FIG> may be formed and/or that may be included on the substrates include, but are not limited to, II-VI semiconductors such as cadmium telluride (CdTe) and mercury-cadmium telluride (HgCdTe), III-V semiconductors such as gallium nitride (GaN) and compositions including GaN, gallium arsenide (GaAs) and compositions including GaAs, and group IV semiconductors such as Si, germanium (Ge), or silicon-germanium (SiGe).

Various types of detectors <NUM> may be used in a computational pixel imager <NUM>, <NUM>. In some embodiments, the detectors <NUM> may comprise p-n or p-i-n junction photodiodes or phototransistors or photoconductors. Barrier detectors (e.g., barrier photodiodes, barrier phototransistors, etc.) may also be used in some cases and provide high detection sensitivity. In some cases, the detectors <NUM> may comprise avalanche photodiodes for sensing low light levels. In yet other embodiments, the detectors <NUM> may comprise microbolometers. According to some embodiments, the detectors <NUM> may be cooled to reduce background noise and/or to enhance responsivity of the detectors. For example, the computational pixel imager <NUM>, <NUM> may be mounted on a thermoelectric cooler or placed in thermal contact with a chilled heat sink or located in a dewer.

A computational pixel imager <NUM> may be included in an imaging system <NUM> as illustrated in <FIG>, according to some embodiments. An imaging system <NUM> can include a camera <NUM> that may house collection optics <NUM> and a computational pixel imager <NUM>. The imaging system <NUM> may also include a controller <NUM> that can connect to the camera <NUM> and computational pixel imager <NUM> by a wired or wireless data-communication link. The collection optics <NUM> may include one or more lenses and/or mirrors that act to form an image of a viewed scene on detectors <NUM> in the computational pixel imager <NUM>. The detectors <NUM> may be located in an imaging plane of the collection optics <NUM> and an array of pixel integrated circuits <NUM> may be located in the imaging plane or adjacent to the imaging plane. In some embodiments, some component(s) of the collection optics <NUM> may be moved controllably and automatically, the imager <NUM> may be moved controllably and automatically, and/or the entire camera <NUM> may be moved controllably and automatically (e.g., rotated by motors or actuators) to scan and image a large field of view.

The imaging system <NUM> may be adapted as a visible imaging system, an infrared imaging system (e.g., a night-vision system), an ultraviolet imaging system, or an x-ray imaging system. The choice of detector design and material can determine the responsivity of the detector to various wavelengths of radiation. For example, Si-based photodiodes can be used for a visible imaging system (e.g., wavelengths from about <NUM> to about <NUM>), whereas CdTe photodiodes may be used for ultraviolet or x-ray imaging systems. As another example, indium arsenide or HgCdTe photodiodes may be used for an infrared imaging system. In some cases, strained-layer superlattice detectors formed from III-V materials can be used for infrared imaging. In some cases, detector design and material can be chosen to detect radiation within a spectral range that lies within a portion of an infrared wavelength range between <NUM> or approximately <NUM> and <NUM> microns or approximately <NUM> microns. For example and in some implementations, a detector can be selected to detect radiation in an infrared spectral range between <NUM> micron and <NUM> microns or between approximately these end values. In some implementations, a detector can be selected to detect radiation in an infrared spectral range between <NUM> microns and <NUM> microns or between approximately these end values.

In some implementations, the controller <NUM> can be implemented in various ways and forms. For example, the controller <NUM> may be embodied as a field programmable gate array (FPGA), a mainframe computer, or anything in between such as a microcontroller, a microprocessor, one or more application-specific integrated circuits, a digital signal processor, a laptop computer or desktop computer, a tablet computer, a smart phone, etc. In some cases, the controller <NUM> can be embodied as combinations of different controlling devices. Part of the control components can include code as software and/or firmware that adapts the controller <NUM> to execute functionalities that control operation of the imaging system <NUM> and receive, store, transmit, and process image data acquired by the camera <NUM>. Controller components may also include custom logic and/or analog circuitry as well as memory that can be used by the computational pixel imager. The controller <NUM> may be configured to initiate the transfer of digital signals from the pixel integrated circuits <NUM> and to control the shifts, counts, and accumulation times that can permit the pixel integrated circuits <NUM> to perform digital-signal-processing functions on-chip. In some cases, some control functions may be incorporated into the pixel integrated circuits <NUM> (e.g., hardwired or implemented as firmware). Such an integration may permit an array of pixel integrated circuits <NUM> to operate autonomously and perform on-chip, digital-signal-processing functions relatively free of external control.

An imaging system <NUM> in accordance with the present embodiments may be used, for example, in industrial inspection, surveillance, process control, biological research, chemical research, pharmaceuticals, medical imaging, remote sensing, and astronomy. An implementation that comprises a computational pixel imager <NUM> and single-chip controller <NUM> may be incorporated in a variety of cameras, including portable, consumer, still and motion cameras, for example. A camera may be configured to operate in the visible region of the optical spectrum or in other wavelength regions by selecting appropriate detectors <NUM>. In some embodiments, a computational pixel imager <NUM> and controller <NUM> may be incorporated into a vision system for autonomous vehicles or robotic instruments.

In the infrared range, an imaging system <NUM> may be adapted for operation as an infrared camera and used for industrial sensing (e.g., monitor heat emission from industrial components and/or machines), security, or firefighting, for example. An infrared camera may also be employed to provide an infrared image of a scene ahead of and/or around a vehicle. In some implementations, the imaging capability of the camera can extend beyond the human visible range of a scene illuminated by vehicle headlights. An acquired infrared image may be displayed, for example in a "heads up" display or overlaid on a windscreen of the vehicle to assist the vehicle operator. Potential hazards that are not visible to the unaided eye can become visible to a human operator through the camera and display.

In some implementations, an imaging system <NUM> can include a cryogenically cooled infrared detector array, with connections between the detector array and the pixel integrated circuit array made via indium bump bonding, for example. In such an embodiment, the detector array may be suitable for low-light-level, low noise sensing in the infrared region of the spectrum (<NUM>-<NUM> microns). Cooling may also be employed for detectors used in the visible and ultraviolet regions of the optical spectrum.

An example of a pixel integrated circuit <NUM> is depicted in <FIG>. According to some embodiments, a pixel integrated circuit <NUM> can include a first transistor <NUM>, a capacitor C<NUM>, which may be included in a current-to-frequency converter <NUM>, and at least one digital counter <NUM>-<NUM>. In some cases, a second transistor <NUM> may be included between the first transistor <NUM> and current-to-frequency converter <NUM>. The second transistor <NUM> can provide additional isolation between node <NUM> or input to the current-to-frequency converter <NUM> and the source of the first transistor <NUM>. The second transistor <NUM>, connected in cascade, can help dampen noise arising from reset actions performed on node <NUM>. In some implementations, there can be two or more counters <NUM>-<NUM>, <NUM>-<NUM>,. <NUM>-M as illustrated in the drawing. The current-to-frequency converter <NUM> can be arranged to receive as input an analog signal and output a pulse every time a current exceeds a threshold value. The pulses can be counted by the counters <NUM>-<NUM>, <NUM>-<NUM>,. When located above or below a detector <NUM> in a pixel, an area occupied by a pixel integrated circuit <NUM> may be approximately the same size or smaller than an area occupied by the detector. In some implementations, a voltage-to-frequency converter may be used instead of a current-to-frequency converter. For example, a voltage-to-frequency converter may sense a voltage appearing on a node <NUM> of a capacitor C<NUM> and output a pulse every time a voltage exceeds a threshold value.

In further detail, a detector (which may be embodied as a photodiode <NUM>) can generate a photocurrent Ip when exposed to radiation. In some embodiments, the detector (photodiode <NUM>) may receive a stable bias from a bias source. For example, biasing circuity can be included to apply a bias the photodiode <NUM> from a voltage source. The circuitry may include a large inductor on a bias line to block time-varying signals from the photodiode and pass a DC bias voltage. It may be advantageous to maintain a stable bias on the detector, and the second transistor <NUM> can help reduce bias variations that might otherwise occur due to resetting action at node <NUM>.

In some implementations, passage of the photocurrent Ip to a capacitor C<NUM> of the current-to-frequency converter <NUM> may be controlled by the first transistor <NUM> (and/or second transistor <NUM>) with the application of a digital control signal Din (and/or Bin), for example. According to some embodiments, the control signal Din (and/or Bin) may determine an exposure period for a pixel of the computational pixel imager. For example, when the control signal Din (and Bin) is at a logic "HIGH" or "<NUM>" level, photocurrent Ip can flow and accumulate charge on capacitor C<NUM> raising the voltage at node <NUM>. Toggling the first transistor <NUM> and/or second transistor <NUM> to a logic "LOW" or "<NUM>" level can block further photocurrent flow to the capacitor C<NUM>, and can terminate an exposure period. The exposure period can be repeated for video imaging and can be any suitable duration. In some embodiments, the exposure period may be any duration of time between <NUM> nanosecond (<NUM> ns) for high levels of radiation on the detector and tens of minutes for low levels of radiation or for high-dynamic range sensing. Each exposure period can form an image frame with signals received from all pixels in the imager's array.

In other implementations, the first transistor <NUM> (or transistors as described further below) may be used to provide gain and at least one of the transistors <NUM>, <NUM> may be biased to operate in a sub-threshold region. In such embodiments, the first transistor(s) may or may not be used to shutter an exposure period. In some cases, shutter action for exposure periods can be accomplished by control signals (or clock signals) provided to the counters <NUM>-<NUM>, <NUM>-<NUM>,. <NUM>-M that instruct one or more counters when to start and stop accumulating counts.

Although the input transistor(s) <NUM>, <NUM> can be arranged as a switch (as in <FIG>) for direct photocurrent injection, in some cases the input transistor(s) may be arranged in other configurations and two or more transistors may be used to receive photocurrent from the photodiode <NUM>. For example, one or more transistors may be arranged to amplify a signal from the photodiode <NUM>. Input transistor(s) may be connected as a source-follower, a transimpedence amplifier, or configured for buffered direct injection of the photocurrent Ip. In some implementations, a current mirror circuit may be included in an input transistor arrangement, wherein the current mirror circuit provides current gain in a circuit branch that runs parallel to the branch containing the photodiode <NUM> and first transistor <NUM>. The amplified current can be provided to the capacitor C<NUM> and current-to-frequency converter <NUM>. Although the input transistor(s) <NUM>, <NUM> are depicted as a field-effect transistor (FET), bipolar junction transistors (BJTs) and other types of transistors may be used in some embodiments.

The capacitor C<NUM> may have one terminal connected to an output of the first transistor <NUM> (or second transistor <NUM>, if present) and a second terminal connected to a reference potential (e.g., ground as illustrated). The capacitance of capacitor C<NUM> can be small (e.g., between <NUM> femtoFarad (<NUM> fF) and <NUM> nanoFarad (<NUM> nF). Higher or lower capacitance values may be used in other embodiments. In some cases, capacitor C<NUM> can be embodied as parasitic capacitance of a discrete circuit device (e.g., parasitic drain capacitance of the first transistor <NUM> or second transistor <NUM>, if present), and may not be a separate discrete component in the integrated pixel circuit <NUM>. The capacitor C<NUM> can determine the least significant bit value for a signal level from a pixel. Although <FIG> depicts one polarity for applying (sourcing) current to the current-to-frequency converter <NUM>, in some cases it may be beneficial to reverse the orientation of the photodiode <NUM> or detector and sink current from the current-to-frequency converter <NUM>. The use of appropriate types (n-MOS or p-MOS) of transistors can allow a pixel integrated circuit to accommodate a current source or current sink photodetection strategy. Current applied to the current-to-frequency converter <NUM> may charge or discharge a capacitor C<NUM>. For example, in some cases a reset of the capacitor may comprise applying a non-zero voltage to node <NUM>, which can leave a potential across the capacitor C<NUM> that is discharged, at least in part, by subsequent exposure of the photodiode <NUM>.

The current-to-frequency converter <NUM> can include comparator circuitry <NUM> and reset circuitry <NUM>, according to some embodiments. Comparator circuitry <NUM> can be embodied as a Schmitt trigger, comparator, or high-gain amplifying transistor that toggles between two output states: for example, from a low level to high, or high level to low, when an input voltage exceeds (or falls below) a reference voltage Vref. In some implementations, the reference voltage may be hardwired to a fixed value or may be a threshold voltage of a transistor. In other cases, the reference voltage Vref may be programmable by an external control signal to two or more values. For example, an integrated pixel circuit <NUM> may further include transistors (and resistive elements in some cases) arranged to provide programmable voltage values. Reset circuitry <NUM> may be embodied as one or more transistors arranged to discharge the capacitor C<NUM> (e.g., shunt the capacitor's terminal connected to node <NUM> to the reference voltage connected to the other terminal of the capacitor. For example, a toggling of an output from the comparator circuitry <NUM> can activate the reset circuitry <NUM> to discharge the capacitor C<NUM>, which can cause the comparator circuitry <NUM> to toggle back to a prior state of the two states. In some implementations, the current-to-frequency converter <NUM> may be embodied as described in connection with <FIG> of <CIT>, the entire contents of which is incorporated herein by reference.

As a result of toggling of the comparator circuitry <NUM> and resetting of the capacitor C<NUM>, an output of pulses <NUM> can be provided to one or more counters <NUM>-<NUM>, <NUM>-<NUM>,. <NUM>-M during an exposure period. The number of pulses during an exposure period will depend upon and be proportional to an amount of radiation incident on the detector (photodiode <NUM> in the illustrated embodiment). A higher level of radiation will produce a larger number of pulses during the exposure period. One or more of the counters <NUM>-<NUM>, <NUM>-<NUM>,. <NUM>-M can accumulate counts for the pulses received during the exposure period. At the end of the exposure period, the number of counts can be read out of a counter as a digital signal level for the pixel. The digital signal level will be indicative of an intensity of radiation received by the detector at the pixel.

The counters <NUM>-<NUM>, <NUM>-<NUM>,. <NUM>-M can be implemented with transistors arranged as logic gates, according to some embodiments. For example, a counter can be formed from flip-flop logic circuits and embodied as an N-bit ripple counter. Other types of counters, such as synchronous counters may also be used in some implementations. Accumulated counts may be output over parallel digital data lines C1out, C2out,. In some implementations, count values from the counters can be provided to shift registers that are connected to each counter. The shift registers may also be located in the pixel and form part of the pixel integrated circuit <NUM>. In some cases, the counters themselves are configured for additional use as shift registers. A counter's bit size can determine the most significant bit limit on signal values from a pixel.

According to some embodiments, the counters <NUM>-<NUM>, <NUM>-<NUM>,. <NUM>-M are programmable over digital input lines C1in, C2in,. For example, the counters may be programmed to increment or decrement counts at the start of each exposure period. In some implementations, counting direction may be changed by a programmable control signal at any time during an exposure period. Additionally or alternatively, the counters may be programmed with an initial count value for the start of each exposure period.

Embodiments described herein are not limited to one current-to-frequency (or voltage-to-frequency) converter per pixel. Two or more converters may be used per pixel integrated circuit <NUM>, as illustrated in the example of <FIG>. According to some embodiments, one or more pixels of a computational pixel imager can include two or more current-to-frequency converters <NUM>-<NUM>, <NUM>-<NUM>,. <NUM>-N arranged to receive an output from the pixel's detector (photodiode <NUM> in the illustrated example). In some cases, there can be N second transistors <NUM>-<NUM>, <NUM>-<NUM>,. <NUM>-N, where N is a positive integer. The N second transistors can be used to provide added isolation of the pixel's detector from resetting actions occurring in the current-to-frequency (or voltage-to-frequency) converters. Additionally, the N second transistors <NUM>-<NUM>, <NUM>-<NUM>,. <NUM>-N can be used to select one or more of the converters <NUM>-<NUM>, <NUM>-<NUM>,. <NUM>-N for processing of the signal from the photodiode <NUM>. The converters can be as described above in connection with <FIG>, and their description need not be repeated.

According to some embodiments, outputs from the converters <NUM>-<NUM>, <NUM>-<NUM>,. <NUM>-N may connect to a multiplexer <NUM> that can be controlled with a digital input signal Min applied to a control port. The control signal Min can select which input port connects to an output port of the multiplexer. In some implementations, the multiplexer <NUM> can be a N:<NUM> multiplexer. <FIG> illustrates an example case in which the pixel's counters <NUM>-<NUM>, <NUM>-<NUM>,. <NUM>-M can be shared by (e.g., dynamically assigned to) any of the converters <NUM>-<NUM>, <NUM>-<NUM>,. In some cases, a multiplexer <NUM> may not be used for some or all converters and one or more of the converters may have separate counter(s) that are dedicated or statically assigned to each converter. Other circuit arrangements are also possible. For example, a first group of counters or a single counter in a pixel may be dedicated to one converter or shared by a first group of converters, and a second group of counters or a second single counter in a pixel may be dedicated to one converter or shared by a second group of converters.

Adding additional converters can provide redundancy in pixels and improve fabrication yields. For example, if one of the converters fails in a pixel due to microfabrication processes, another converter can be selected for the pixel so that all pixels in the array of pixel integrated circuits can be used. In some implementations, the converters <NUM>-<NUM>, <NUM>-<NUM>,. <NUM>-N within a pixel can be configured differently (to exhibit different gain, frequency characteristics, power consumption, capacitance value for capacitor C<NUM>, etc. This can provide improved coverage with the same computational pixel imager for different signal conditions and operating conditions including but not limited to gain, noise, power, and maximum detectable frequency modulations.

Adding additional converters and counters can also support multi-thread processing operations described herein. For example, a signal from a pixel's detector (e.g., photodiode <NUM>) can be processed by one, two, or more converters and two or more counters (which may be in separate groups of counters), such that different functional operations are performed on parallel computational threads with the pixel's counters. Some of the functional operations can include bit operations such as, but not limited to, add, subtract, complement, shift, compare, and rotate.

<FIG> depicts some additional data-handling circuitry that can be included with a computational pixel imager. A computational pixel imager <NUM>, <NUM> may include circuitry that permits the orthogonal transfer of accumulated counts on counters throughout the array <NUM> of pixel integrated circuits. The orthogonal transfer of count values can be accomplished by shifting count values from a pixel's counter(s) to any one of the pixel's four nearest-neighbor pixels' counters, as described further below. For illustrative purposes, each shaded rectangle <NUM> within the array <NUM> depicts approximately an area occupied by a pixel, though in an actual device there can be thousands to millions of pixels. According to some implementations, digital counts can be transferred through column-transfer data lines <NUM> and/or through row-transfer data lines <NUM> to other pixels or to the data handlers <NUM>, <NUM>, <NUM>, <NUM>. In some implementations, multiplexers can be included to serialize data from multiple column-transfer data lines <NUM> and/or row-transfer data lines <NUM> that is sent to the data handlers <NUM>, <NUM>, <NUM>, <NUM> and/or off chip. For example, one or more M: <NUM> multiplexers (where M can be any integer value of <NUM> or greater) can be used to serialize data from multiple row-transfer data lines <NUM> onto single data lines that provides pixel data to one or more of the data handlers.

By shifting data along rows or columns, any result or count value from a counter within the array <NUM> may be transferred to another counter in a different pixel within the array <NUM> or to the data handlers. Such transfer capability along with programmability of the counters (increment, decrement) and control of count accumulation times can allow digital signal processing operations to be performed within the array <NUM>. Digital signal processing operations that may be performed within the array can include, but are not limited to, threshold filtering, high-pass filtering, low-pass filtering, edge-detection filtering, match filtering, spatial filtering, temporal filtering, or spatio-temporal filtering, smoothing, differentiation, data compression, time-domain integration, image correlation, and convolution.

For example, match filtering may be implemented by developing a filter kernel for cross correlation with objects in an imaged scene (e.g., a person's iris in a personal identity system, a facial image, a target object). Convolution of a kernel with an image can be implemented as a series of count accumulations (which may increment and decrement counts) and counter value orthogonal transfers. A correlated or convolved image can then be thresholded by compare logic for detections (e.g., detection of an iris or target object). Data transmitted from the array could be raw cross-correlation or convolution results, or may be only data associated with the detections alone which could reduce the amount of data transmitted and subsequently processed. In another aspect, a signal from a steering and/or motion-sensing mechanism may be used to shift accumulated counts in an array synchronously with the overall motion of an imaging system to enable time-domain integration. Similar control of shifting counts can also enable image stabilization for environments where the imaging system may undergo unwanted vibrations. In some embodiments, non-uniformity correction for an imaging array may be performed by counting down for a frame period while viewing a flat, extended source (e.g., a mechanical shutter). After the background scene is acquired, the counters can be configured to count up while the scene data is acquired. After a frame period, only signal and noise data will be present and any systematic non-uniformity of the imager will be cancelled. Non-uniformity correction may employ a <NUM>% duty cycle for scene and background image acquisition.

In some embodiments, there may be more than one column-transfer data line <NUM> and more than one row-transfer data line <NUM> per pixel so that data from multiple counters within a pixel can be transferred in parallel to multiple counters in adjacent pixels. For example, a count value from a first counter in a first pixel can be transferred to a first counter in an adjacent pixel while a count value from a second counter in the first pixel can be transferred to a second counter in an adjacent pixel. In some cases, data serializers may be included in each pixel integrated circuit to send count values from multiple counters within the pixel serially over a signal row and/or column-transfer data line.

Data handlers <NUM>, <NUM>, <NUM>, <NUM> may comprise additional transistor circuitry that is configured to provide additional data-processing operations and/or control of data transfer and programming of the pixel integrated circuits <NUM>. For example, data handlers <NUM>, <NUM>, <NUM>, <NUM> may include additional registers and data serializers to read data from and onto row and column data-transfer lines <NUM>, <NUM>. Data handlers <NUM>, <NUM>, <NUM>, <NUM> may also include logic gates to enable control of the exposure period duration, counter direction, and/or threshold voltage reference Vref. In some implementations, data handlers can be configured to perform threshold detection, compare, match filtering, and data selection functions. In some cases, data handlers can be configured to determine a read-out time for selected rows and/or columns (as may be used in connection with infinite dynamic range pixels described below, for example). Data handlers <NUM>, <NUM>, <NUM>, <NUM> may also include input/output data lines I/O<NUM>, I/O<NUM>, I/O<NUM>, and IlO<NUM> that can be used to send processed or unprocessed signals, for example, to an external analyzer or processor for further data processing and analysis. In some implementations, one or more of the data handlers <NUM>, <NUM>, <NUM>, <NUM> may be located on a same chip as the array <NUM> of pixel integrated circuits. In other embodiments, one or more of the data handlers <NUM>, <NUM>, <NUM>, <NUM> can be located on a different chip that is connected to the chip containing the array <NUM> of pixel integrated circuits. According to some embodiments, the array <NUM> of pixel integrated circuits and data handlers <NUM>, <NUM>, <NUM>, <NUM> can be manufactured using complimentary metal-oxide-semiconductor (CMOS) microfabrication processes.

<FIG> illustrates one example of how multiple counters <NUM>-<NUM>, <NUM>-<NUM> in one pixel <NUM> of a computational pixel imager may be connected to counters in adjacent pixels. Although only two counters are illustrated within the pixel <NUM>, a pixel can include more than two counters in some implementations. Additional counters can be connected in a same way to counters in adjacent pixels. In some implementations, the counters can be ripple counters, though other types of counters can be used in other embodiments. In some cases, counters may be implemented with D flip-flops for each bit and the flip-flops can be connected in series with an output of one flip-flop connected to an input of a next flip-flop. Further details of counters and associated circuitry that can be used in the implementations depicted in <FIG> and <FIG> can be found in <CIT> as described in connection with <FIG> and <FIG> in that patent, which is incorporated herein by reference in its entirety.

According to some embodiments, multiple counters are connected to neighboring counters in a way such that counters operated in a particular manner for image acquisition or performing a signal-processing function can shift count values to other counters anywhere in the array that are operated in the same manner. In some implementations, the shifting of counter values may be through nearest neighbor shifts. For example, a first counter <NUM>-<NUM> operated in a first manner in a first pixel <NUM> may shift its count value to a first counter operated in a same manner in a first nearest neighbor pixel, whereas a second counter <NUM>-<NUM> operated in a second manner in a first pixel <NUM> may shift its count value to a second counter operated in a same manner in a second nearest neighbor pixel. The first nearest neighbor pixel can be the same or different than the second nearest neighbor pixel. An example of a first manner of counter operation may be raw image acquisition where the corresponding first counters continuously count up during an exposure period. An example of a second manner of counter operation may be temporal filtering to detect changes in pixel values by modulated signals or moving objects where a count value is incremented for half an exposure period and then decremented for half an exposure period. Other manners of counter operation are possible as described above and below. By repeated nearest neighbor shifts, along rows and columns, a value on one counter can be shifted to another corresponding counter anywhere in the array.

For the example depicted in <FIG>, the counters can be configured to function as both counters and shift registers. Further counter values from multiple counters <NUM>-<NUM>, <NUM>-<NUM> in a pixel <NUM> can be passed over separate data lines (e.g., row data-shift lines <NUM>-<NUM>, <NUM>-<NUM>) to multiple corresponding counters in an adjacent pixel. Counter values can be passed to adjacent pixels in either direction within a row or column along different data-shift lines (e.g., data-shift lines <NUM>-<NUM>, <NUM>-<NUM>, <NUM>-<NUM>, <NUM>-<NUM>). The data-shift lines may also be referred to as row or column buses. Additionally, counter values for pixels at an edge of the array can be passed to edge logic for read-out and/or data processing via the data-shift lines. The data-shift lines may be parallel data lines (such that count values are passed in parallel) or serial data lines. For serial transmission of count values, b:<NUM> multiplexers for b-bit counters may be included in the pixel after the counter output to place count values serially onto data-shift lines. In some embodiments, shift multiplexers <NUM>-<NUM>, <NUM>-<NUM> can be included in each pixel, connected to counter outputs, and controlled by signals applied to inputs M1in, M2in from edge logic to direct counter values to one of the neighboring pixels. Similarly, input multiplexers <NUM>-<NUM>, <NUM>-<NUM> can be connected to data inputs of the counters <NUM>-<NUM>, <NUM>-<NUM> to receive and place count values from neighboring pixels' counters on counters <NUM>-<NUM>, <NUM>-<NUM> within the pixel. Input multiplexers <NUM>-<NUM>, <NUM>-<NUM> may also be controlled by signals applied to inputs M3in, M4in from edge logic.

Another example of inter-pixel counter connections is illustrated in <FIG>. In some embodiments, values from multiple counters within a pixel can be multiplexed onto a same row or column data-shift line with counter-output multiplexers <NUM>. The counter-output multiplexers <NUM> can be M: <NUM> multiplexers, where M is an integer value of <NUM> or greater and corresponds to the number of independently controlled counters within the pixels. Additionally, data received from adjacent pixels can be received by a single input multiplexer <NUM>. The input multiplexer <NUM> can be a <NUM>:M multiplexer, where M is an integer value of <NUM> or greater and corresponds to the number of independently controlled counters within the pixels.

<FIG> illustrates an example method of multi-thread processing <NUM> that can be performed with an array <NUM> of pixel integrated circuits having multiple programmable counters in each pixel and arranged to shift values to counters in adjacent pixels as described above. According to some embodiments, a method <NUM> can include acts of initiating (act <NUM>) an exposure of a detector array of a computational pixel imager to generate image data. During an exposure period (e.g., a signal acquisition period that can be used to form an image frame), multiple counters in each of a plurality of pixels can accumulate (act <NUM>) count values. The count values for at least some of the counters can be accumulated independently of count values accumulated by other counters and can differ from count values accumulated by other counters, even within a same pixel. In some implementations, the counters within a same pixel can be programmed to operate differently. For example, two counters within a pixel may be programmed to increment and decrement counts periodically at a same frequency but with phases shifted by <NUM> for in-phase and quadrature (I-Q) detection of a modulated optical signal whereas a third counter can be programmed to increment counts for one-half of an exposure period and to decrement counts for one-half of an exposure period to detect non-stationary objects in an imaged scene. Accumulation of counts in counters can terminate when and exposure is terminated (act <NUM>) ending the exposure period. In some cases, one or more counters within a pixel can be programmed to accumulate counts in response to exposure of the pixel's detector, whereas one or more other counters within the pixel can be programmed to perform other operations on data previously accumulated or provided to the counter(s) (e.g., shift operations, bit rotation operations, ones complement, addition, subtraction, compare, read-out, data receive, etc.) Such different in-pixel operations on the counters can be in response to multiple threads that execute simultaneously on the system.

After counts have been accumulated in multiple counters, two or more independent data-processing operations can be executed on multiple threads simultaneously with the pixel integrated circuit array. For example, first image data (first counter values) acquired with first counters from the pixels can be processed (act <NUM>-<NUM>) using shift operations and/or any of the above counter operations to perform a first signal-processing function (e.g., spatial filtering). Additionally, second image data (second counter values) acquired with second counters from the pixels can be processed (act <NUM>-<NUM>) using shift operations and/or any of the above counter operations to perform a second signal-processing function (e.g., temporal filtering). In some implementations, the different signal-processing functions can be performed, at least in part, while count values are being accumulated in a subsequent exposure period (as may be the case for convolution, correlation, time domain integration for a deterministically moving camera, or image stabilization functions). In some cases, raw count values may be accumulated as new image data on one or more counters in a pixel while signal processing operations are being performed with other counters, such that the computational pixel imager has essentially no dead time in imaging a scene or successive scenes.

As indicated in <FIG>, the multiple execution threads (acts <NUM>-<NUM>, <NUM>-<NUM>,. <NUM>-N) can execute simultaneously. For imaging systems in which outputs and inputs of multiple counters are connected across pixels with separate, parallel data-shift lines (e.g., lines <NUM>-<NUM>, <NUM>-<NUM>) as illustrated in <FIG>, at least some signal-processing operations for different counters performing different functions can occur at a same time (e.g., on same clock cycles that drive data transfer or arithmetic operations). For imaging systems in which outputs and inputs of multiple counters are connected across pixels using multiplexers to serialize counter data onto shared data-shift lines as illustrated in <FIG>, at least some signal-processing operations for different counters performing different functions may be interleaved in time and occur on alternating clock cycles. In either case, multiple execution threads (acts <NUM>-<NUM>, <NUM>-<NUM>,. <NUM>-N) can execute concurrently on a pixel integrated circuit chip. When one or more of the multiple execution threads are completed, data for the corresponding counters can be read out of the array <NUM> of pixel integrated circuits over column-transfer data lines <NUM> and/or row-transfer data lines <NUM> for display, analysis, storage, and/or further signal processing.

In some embodiments, a computational pixel imaging device <NUM> of the above-described embodiments can include counters that are configured for infinite dynamic range sensing. The dynamic range of an image sensor describes the difference between the brightest and dimmest object that can be detected and discerned in an image. Conventional digital imaging approaches typically cannot achieve high dynamic ranges over three or four orders of magnitude, for example. Digitizing in-pixel, as is done for a computational pixel imaging device <NUM>, can improve the dynamic range capability over conventional digital imaging sensors. However, digitizing in the pixel for high dynamic ranges presents challenges when trying to implement with small pixel sizes. To achieve a high dynamic range, the size of counters must be increased. An advanced CMOS process node may be used to reduce transistor and counter size, but such advanced microfabrication processes may be prohibitively expensive in some instances. Other approaches to reducing the size of digital-pixels (e.g., to the <NUM> size or smaller) is desirable to reduce the size, weight, and power (SWaP) of imaging sensors and imaging devices. The inventors have recognized and appreciated the finite-bit counters (e.g., an <NUM>-bit counter) can be configured for unlimited dynamic range.

An example of circuitry for an infinite dynamic range counter <NUM> is depicted in <FIG>, according to some embodiments. As depicted in the drawing, circuitry for an infinite dynamic range counter <NUM> can include a b-bit counter, read/store logic <NUM> that is in communication with the counter, and memory <NUM>. The counter <NUM> can comprise any type of counter described above, such as a ripple counter or synchronous counter or other types of counters. The read/store logic <NUM> may be embodied as processing logic that could be located on-chip or off-chip and that is configured to determine when to read the most significant bit or group of most significant bits of one or more counters of a computational pixel imaging device <NUM> and store in memory <NUM> information indicating that counters have rolled-over in count value one or more times. In some cases, read/store logic <NUM> can be implemented as on-chip logic gates or field-programmable gate arrays located within each pixel, or located at an edge of an array <NUM> of pixel integrated circuits (e.g., in one or more of data handlers <NUM>, <NUM>, <NUM>, <NUM> referring to <FIG>).

According to some embodiments, an infinite dynamic range counter <NUM> can comprise a b-bit counter in which the most significant bit (MSB) <NUM>-b is interrogated differently than the lower bits <NUM>-<NUM>, <NUM>-<NUM>,. The size of the counter (value of b) can be any integer value of <NUM> or greater. In some implementations, the size of the counter is between <NUM> bits and <NUM> bits, though larger counters may be used in some cases. In various embodiments, the MSB <NUM>-b is interrogated at a higher read-out rate than the lower bits. For long exposure periods and/or high signal levels, counters in some pixels can reach their maximum count value and roll-over to a value of <NUM> and continue counting up. If the roll-over is undetected, signal information is lost. By reading out the MSB or group of MSBs value(s) at a higher rate than the lower bits, roll-over events can be detected and recorded, so that subsequent image data read out for all bits of counters can be corrected to reflect accurate signal levels. A group of MSBs may be a counter's MSB and the next N lower bits (e.g., bits b, b-<NUM>, b-<NUM>,. b-N) where N is a positive, non-zero integer.

In some implementations, outputs from counters can be connected in parallel across corresponding counters in an array <NUM> of pixel integrated circuits, as described above in connection with <FIG> or <FIG>. In some cases, bit values for counters may be connected in parallel across corresponding counters in an array <NUM>. For example, the data-shift lines may comprise parallel data lines <NUM>, <NUM> with the number of parallel data lines equaling the number of counter bits. Additional multiplexers may be used for each of the parallel data lines. As such, a MSB from each counter in a row or column may be connected to a same data-shift line. In some cases, values of MSBs can be read from shared data-shift lines using a synchronous cadence read-out, for example. In other embodiments, the counter may be configured to pass bits between each counter unit that is used to record a bit, as depicted in <FIG>, for example, for as described in <CIT>. In such cases, bit values for counters may not be connected in parallel across corresponding counters in an array <NUM>. Instead, bit values may be shifted sequentially onto a same data-shift line.

In operation and according to some embodiments, an infinite dynamic range counter can work as follows. While counters accumulate count values during an exposure period, the values (logic levels) of the counters' MSBs (or groups of MSBs) can be read and monitored by read/store logic <NUM> over MSB data lines <NUM>. In some implementations, when a counter's MSB toggles to a logic <NUM> state (or group of MSBs toggle to a predetermined value), the value may be signaled to and/or detected by read/store logic <NUM> by placing the value on one or more data lines (e.g., placing a MSB's value on data line <NUM>). In some cases, a bit's value may be placed on a data line <NUM> by in-pixel logic, such as an AND gate, for example). In some cases, all MSB bit values (or groups of MSBs values) for all counters in the array <NUM> may then be destructively read out so that the MSB values that have toggled to <NUM> (or a predetermined value) are read and reset to <NUM>. A toggling of the MSB (or group of MSBs) can indicate a roll-over of the b-<NUM> bits (or b-N-<NUM>) and an upcoming roll-over for the b-bit counter. A record of a counter's toggling or roll-over and address can be stored in memory <NUM> by the read/store logic <NUM>. The address can be determined from the read address used to access the counter when all counters in the array are read or all counters in a row or column are read. In some cases, the address may be determined based upon clock cycles used to read counters in a row and/or column. Read/store logic may reset counters' MSB value(s) over control lines (e.g., control line <NUM>). The counters are then allowed to continue accumulating count values until a next MSB or group of MSBs toggles. The number of togglings or roll-overs for each counter can be accumulated in memory <NUM>, where each toggling represents a count of <NUM>(b-<NUM>) (or <NUM>(b-N-<NUM>)). For count down operation, roll-over events may be detected by detecting a logic <NUM> level, or by inverting the MSB output and detecting a logic <NUM> level.

In some embodiments, in-pixel logic or edge logic may be configured to detect, for example, a falling edge or negative edge of the bth bit. For example, a monitor flip-flop may be configured to latch a logic <NUM> value to its output when the MSB value rolls over from <NUM> to <NUM>. Additional in-pixel logic may assert output of the monitor flip-flop on a data line that can be detected and read. The monitor flip-flop can then be reset to detect a next falling edge of the MSB. In such embodiments, each detected logic <NUM> level from the monitor flip-flop indicates <NUM>b counts and the MSB does not need to be reset.

In some embodiments, instead of reading the entire array of counters after detecting a logic <NUM> on an MSB data line <NUM>, only MSB values of counters (or monitor flip-flop outputs) in a row and/or column containing the counter that has toggled may be destructively read. Such a strategy may reduce read-out times and avoid reading of counters that have not yet had an MSB toggle. In yet other embodiments, time-gated row and column monitoring may be performed by read/store logic to detect and determine the location and address in the array <NUM> of a counter whose MSB value has toggled, and only that counter (or monitor flip-flop) will be destructively read.

In alternative embodiments, read-out times of counters' MSB values may be predicted based on prior count accumulations. For example, a first exposure over a first time period may be performed for a short duration in which none of the counters' MSB values roll over. First count values can accumulate on the counters during this exposure period. In some cases, times for reading and resetting MSB values from one or more counters may be determined from the (b-<NUM>)th bit value (or other bit's value) of a relevant counter in the array. For example, when the (b-<NUM>)th bit value (or other bit value) of a first counter in the array toggles to a logic <NUM> level and the duration of the exposure period is known, a count rate for the counter can be determined. The count rate can be used to predict, on a subsequent longer exposure, when the counter's MSB value will toggle to a logic <NUM> level, e.g., and must be read (e.g., accumulate a roll-over count in memory <NUM>) and/or reset. Accordingly, the count rates for all counters in an array <NUM> can be determined and used to predict when one or more counter's in the array will roll over. The information can then be used to determine, for longer exposures of a same scene, when to read the MSBs of the counters, either globally (reading all counters' MSBs sequentially in a read-out) or individually.

In some embodiments, the duration of the first exposure may be estimated based on prior images, or several exposure periods may be tried and linearity of increasing counts between at least two successive exposures checked to determine whether any of the counters have rolled over. If all counters have increased linearly or nearly-linearly in two successive exposures, then either exposure results may be used to estimate when roll-overs could occur.

In some implementations, a first exposure's duration may be determined and terminated automatically. For example, a counter's MSB value may be asserted on a row or column data-shift line as soon as the MSB toggles to a logic <NUM> level. The value may be asserted by in-pixel logic. Edge logic may detect the logic level and terminate the exposure period. Read/store logic <NUM> may then read-out all counters and process their count values to determine count-accumulation rates for each counter. The count-accumulation rates can then be used to determine when to read MSB values from one or more counters during a subsequent longer exposure period of a scene during which at least some counters' values would roll over.

In yet further embodiments of an infinite dynamic range counter, each counter may be divided equally or unequally into two bit groupings and each grouping may be used to accumulate counts. In such embodiments, the bit groupings may be read at different times and total counts accumulated in memory located outside the array of pixels. For example, a first of the two bit groupings (e.g., bit <NUM> to bit (b-N-<NUM>)) can be read and reset at a first time, and subsequently the second of the bit groupings (bit b-N to bit b) can be read and reset a second time, and the process repeated multiple times during an exposure period for an image. In some cases, the reading and resetting may alternate between the two bit groups for each successive read. In other cases, the read and reset rates may differ for the two groups. The read and reset rate for a bit group may be determined by any of the above-described methods for an infinite dynamic range counter.

For computational pixel imagers that employ infinite dynamic range counting, additional operations may be executed on count accumulations that have been recorded in memory <NUM>. For example, when on-chip data processing or data-shift operations occur (such as for filtering), then such operations can be mirrored or complied with using the count accumulation data in memory. For example, if counter values are shifted in the array <NUM> of a computational pixel imager, then addresses associated with off-array count accumulations may be updated to reflect the on-array shift of counter data.

Further details of example circuitry for a counter configured for infinite dynamic range operation are illustrated in <FIG>. In some implementations, a b-bit counter <NUM> may be configured as series-connected D or JK flip-flops <NUM>-<NUM>, <NUM>-<NUM>,. <NUM>-a, <NUM>-b with reconfigurable data inputs D and reconfigurable clock inputs CLK. Each flip-flop can be used to store one bit. For count accumulation corresponding to a received signal, the flip-flop clock inputs can be reconfigured on-the-fly, so that the series of flip-flops operates as a ripple counter. For example, pulses <NUM> from the current-to-frequency converter <NUM> (referring to <FIG>) can be applied to the clock input of the first flip-flop <NUM>-<NUM> (least significant bit) and used to toggle the output of that flip-flop. The output of each flip-flop may then drive the clock of the next flip-flop to form a ripple counter. For read-out, the clocks of each flip-flop may be connected to a same read-out clock and the data inputs D connected to the data outputs Q of the preceding flip-flop, so that data can be shifted across and out of the counter <NUM>.

For any of the above-described embodiments of counters, a tri-state buffer <NUM> may be used to place the output value Q of the flip-flop <NUM>-b corresponding to the MSB on a data line <NUM>, as illustrated in <FIG>. In some cases, additional tri-state buffers may be used for other flip-flops. For configurations where a counter is adapted for infinite dynamic range counting and wherein a toggling of the MSB to a logic <NUM> level can be automatically sensed, an AND gate <NUM> (or analogous logic circuitry) can be used to monitor the output of the MSB flip-flop <NUM>-b and activate the tri-state buffer <NUM> when the MSB toggles to a logic <NUM> level. An advantage of using the tri-state buffer <NUM> is that a flip-flop's output Q can be isolated from the data line when the output Q is at a logic <NUM> level. In some implementations, the data line <NUM> may be a separate and dedicated data line for monitoring only the value of the MSB (e.g., separate from a data line that is used to read out the entire counter value or to provide orthogonal shifting of counter values in the array <NUM>). In other implementations, the data line <NUM> may be a same data line that is used to read out the entire counter value or to provide orthogonal shifting of counter values.

Counters configured for infinite dynamic range counting may be included in computational pixel imagers having multiple counters in each pixel as described above (e.g., for multi-thread signal processing). Counters configured for infinite dynamic range counting may also be included in computational pixel imagers configured for down-sampling of modulated signals, as described below in connection with <FIG>.

Example read-out rates for MSB values are plotted in <FIG> for various count accumulations rates from <NUM> to <NUM> and counter bit depths. The plotted MSB read-out rates correspond to rates required to avoid missing a roll-over event. The lines of count accumulations rates are, from top to bottom, <NUM>, <NUM>, <NUM>, <NUM>, and <NUM>.

By monitoring, reading out MSB values of counters, and recording roll-over events in memory <NUM>, long exposure durations can be performed and/or scenes with high intensity sources can be viewed and captured with high dynamic range. Counters may roll over multiple times during a high-dynamic range exposure period, and the number of roll-over events for a counter accumulated in memory <NUM>. The number of roll-over events stored in memory <NUM> are in quanta of <NUM>(b-<NUM>) counts. At the end of a high-dynamic range exposure period, the number of counts for a counter indicated in memory <NUM> are combined with the final count value for the counter to obtain the total number of counts. By using the above approach for predicted read rates, the inventors have shown in simulations that total counts in excess of <NUM><NUM> can be accurately recorded for an <NUM>-bit counter used in a pixel. The count accumulation rate was <NUM> and the MSB read-out rate was <NUM>. In this way, the dynamic range of a sensor can be increased to essentially any value, which is limited by the exposure duration or size of off-array memory <NUM>. Memory <NUM> may be off chip in some cases or on-chip in circuitry located around an edge of the array <NUM>.

Additional aspects are possible with a computational pixel imaging device <NUM>. For example, pixel integrated circuits <NUM> (which can include multiple counters as describe above and/or infinite dynamic range counter circuitry) can be configured for digital pixel down-sampling in some implementations. For some applications, it can be desirable to detect the frequency or measure the phase of an intensity-modulated light source that is present in a scene or used to illuminate objects in a scene viewed by a computational pixel imaging device <NUM>. For example, the phase of amplitude-modulated light returned from an object can contain information regarding the distance of the object from the observer. In-pixel digitization with two counters may be used to determine phase of amplitude-modulated light. For example, the two counters can be controlled to cyclically count up and down at a same frequency as the modulated source, but one counter's phase is shifted by 90º with respect to the other counter (e.g., in-phase and quadrature detection). A limitation of using amplitude-modulated light to measure distance is that relatively high modulation frequencies (e.g., MHz to GHz frequencies) may be needed to achieve high distance resolution. The use of high modulation frequencies can challenge the ability of current-generation, up/down counting, digital-pixel electronics. In addition, the power requirements for detecting high-frequency modulations can be unacceptably high for some embodiments. The inventors have recognized and appreciated that apparatus and methods can be employed to adapt sensors of computational pixel imaging devices to downsample the modulated signals so that relatively low frequency up/down counters can be used to detect phases of modulated signals at much higher frequencies.

<FIG> illustrates an example of a pixel integrated circuit <NUM> adapted for digital down-sampling. The pixel integrated circuit may be used in pixels of a computational pixel imager and contain the same components as for the pixel integrated circuit <NUM> described above in connection with <FIG>, which will not be described again and are given same reference numbers. In some embodiments, a detector <NUM> of a computational pixel imager may be adapted to be biased with a modulated supply <NUM> that can provide, for example, a modulated bias or supply voltage to the detector. The modulated supply <NUM> may be located off-chip and provided to one or more pixels' detectors via bias lines. The detector <NUM> may be a p-n junction photodiode in some embodiments or may be a phototransistor, as illustrated in the drawing.

For digital down-sampling, the modulation of the supply <NUM> can be at a first frequency f<NUM> that differs from a second modulation frequency f<NUM> = f<NUM> + Δf that is used to modulate the amplitude of a light source <NUM> that illuminates an object <NUM>. The object <NUM> can be in a field of view that is imaged onto an array of detectors in a computations pixel imager. In some implementations, the light source <NUM> may comprise a laser, one or more laser diodes, one or more light-emitting diodes, etc. that is (are) driven by a second modulated supply <NUM>. Modulated light can be returned (scattered or reflected) from the object <NUM> and detected by the modulated detector <NUM>.

According to some implementations, one or both of the modulated supplies <NUM>, <NUM> can be included with either or both of an array of pixel integrated circuits <NUM> or an array of detectors <NUM>. In some implementations, one or both of the modulated supplies <NUM>, <NUM> can be included in a computational pixel imaging system. In some cases, a computational pixel imaging system may be provided without the supplies <NUM>, <NUM>, but may have modulation inputs configured to receive one or both of the modulation signals from modulated supplies <NUM>, <NUM>.

In some embodiments, one of the frequencies f<NUM> or f<NUM> may be derived from the other (e.g., by using a mixer that mixes f<NUM> with a signal from a source operating at the difference frequency Δf). In such embodiments, a computational pixel imager may include one or both of the difference-frequency source and high-frequency source. Further, an output from the difference-frequency source can be used to drive count-up and count-down cycles of one or more counters instead of an output from a mixer.

The difference (Δf) between the two modulation frequencies f<NUM>, f<NUM> can be significantly smaller than the value of either frequency. For example, the difference can be tens or hundreds of kilohertz (e.g., between <NUM> and <NUM>) whereas the modulation frequencies can be in the megahertz to multi-gigahertz range. Modulation of the bias on the detector can change the sensitivity of the detector and/or effectively gate the detector on and off. The detector <NUM> can then act as a mixer and demodulate the received modulated optical signal so that the counters <NUM>-<NUM>, <NUM>-<NUM>,. <NUM>-M can detect at the difference frequency Δf. Using this technique, no loss of information from the modulated light source <NUM> will occur, and high-resolution distance determination and depth imagery can be achieved with low-frequency counters in pixel integrated circuits. For example, digital up-down counting during an exposure period can be performed at the difference frequency for in-phase/in-quadrature phase determination as described above. In some cases, the first and second frequencies f<NUM>, f<NUM> can be provided to a mixer <NUM> (which may be included with a computational pixel imaging system). An output from the mixer can be used to generate a clock signal with clock generation circuitry <NUM>. The generated clock signal may determine the periodicity of count-up and count-down cycles of one or more of the counters <NUM>-<NUM>, <NUM>-<NUM>,. A benefit to this technique is that pixel and device power can remain low while still measuring the return phase of a reflected signal.

In some implementations, an optical element (lens, diffractive optical element, etc.) can be placed in front of the optical source <NUM> to project a pattern of light onto the object. The pattern may be, for example, an array of spots or lines. Distortion of the pattern and/or distances to each portion of the pattern can be detected with a computational pixel imager, even though returned light from the pattern may be dim or not visible to the naked eye due to other illumination of a field of view. Analysis of the pattern distortion can be used to determine three-dimensional geometry of the object as well as one or more distances to the object.

The inventors have recognized and appreciated that a computational pixel imaging device, for example, the computational pixel imaging device <NUM> of the above-described embodiments can be adapted for event-based imaging. Instead of or in addition to capturing and digitizing intensity data, a pixel integrated circuit can be configured to detect changes in received light intensity and return a null signal or not report a signal when no changes are detected. A meaningful change in detected light intensity (e.g., a change greater than a predetermined amount or threshold value) may be referred to as an "event. " Such changes may be of interest in certain imaging applications (e.g., to emphasize detection of moving objects in an imaged scene). Unlike conventional event-based vision devices, a computational pixel imaging device adapted for event-based imaging can provide event images, each of which may include data about multiple events detected by pixels in an array during an image acquisition period, which may include an exposure period as described above. An image acquisition period for a computational pixel imager may comprise time associated with signal acquisition (e.g., during an exposure period) and time associated with on-chip signal processing to prepare image data for read out. The data associated with each event in an event image may indicate the address of the pixel that detected the event and/or the magnitude of the change detected by the pixel. Additionally, only data associated with pixels that have detected an event may be transmitted for further processing rather than an entire frame of data containing information from every pixel in an imaging array. An event-based computational pixel imaging device that transmits sparse pixel data, at least part of the time, can reduce latency and power, and improve data rate and dynamic range over conventional event-based vision devices.

<FIG> illustrates an example method <NUM> of event-based imaging that can be performed with an event-based computational pixel integrated circuit, according to some embodiments. An event-based computational pixel integrated circuit may be configured similarly to the pixel integrated circuit <NUM> as described above with respect to <FIG>. The event-based computational pixel integrated circuit may include the first transistor <NUM> or input transistors <NUM>, <NUM> and the current-to-frequency converter <NUM> that includes the capacitor C<NUM>. The event-based computational pixel integrated circuit may further include at least one digital counter configured for event-based imaging. Like the counters <NUM>-<NUM>, <NUM>-<NUM>,. <NUM>-M illustrated in <FIG>, at least one digital counter configured for event-based imaging may be arranged to receive as input the pluses <NUM> from the current-to-frequency converter <NUM>. Different from the counters <NUM>-<NUM>, <NUM>-<NUM>,. <NUM>-M, at least one digital counter configured for event-based imaging may provide an output by performing at least a portion of the acts of the method <NUM>.

In some embodiments, at least one digital counter configured for event-based imaging may be capable of operating in multiple modes including, for example, a normal imaging mode and an event-based imaging mode. The mode that the counter operates in may be triggered by a control signal from, for example, the controller <NUM> and/or the data handlers <NUM>, <NUM>, <NUM>, <NUM>. In the normal imaging mode, the counter may count in a single direction, for example, either incrementing counts or decrementing counts, during an exposure period like the counters <NUM>-<NUM>, <NUM>-<NUM>,. <NUM>-M such that a digital number output by the counter indicates the intensity of radiation captured by a detector coupled to the counter (e.g., a photodiode <NUM>). In the event-based imaging mode, the counter may count in two opposite directions during an exposure period by, for example, performing at least a portion of the acts of the method <NUM> as described below, such that a digital number output by the counter indicates whether an event has been detected by the detector coupled to the counter. Additionally, the resulting count can also indicate the magnitude of the detected event.

According to some embodiments, the method <NUM> may include acts of initiating (act <NUM>) an exposure of a detector array of an event-based computational pixel imager to generate an event image. During a first portion of an exposure period (e.g., for a time duration t less than an exposure period), in each pixel of a plurality of pixels in the array, the counter configured for event-based imaging may accumulate counts by incrementing (act <NUM>) a digital number on the counter in response to a received signal <NUM>. During a second portion of the exposure period (e.g., for a same time duration t), in each pixel of a plurality of pixels in the array, the counter configured for event-based imaging may continue accumulating counts by decrementing (act <NUM>) the digital number on the counter in response to a received signal <NUM>. It should be appreciated that there may be no delay between the act <NUM> and the act <NUM> for high speed and low latency imaging.

The inventors have recognized and appreciated that a continuous counting in opposite directions during an exposure period enables the pixels to indicate a detected change when the resulting digital number has a non-zero value and/or exceeds a threshold level or is outside a range of values. The threshold level (or range of values) may correspond to a noise floor. The value of the digital number may also indicate a magnitude of the detected change. In some cases, the magnitude may be a magnitude above a noise floor. For a continuous counting, the digital number after the act <NUM> is not reset to an initial count value before the act <NUM>.

It also should be appreciated that the present application is not limited to the illustrated order of act <NUM> and act <NUM>. For example, the counter configured for event-based imaging may be configured to decrement a digital number and then increment the digital number. As another example, the first and second portions of the exposure period may be divided into sub-portions. In some embodiments, the counter configured for event-based imaging may be configured to switch between incrementing and decrementing a digital number between the sub-portions, without resetting or otherwise processing the digital number between the sub-portions of the exposure period. In some cases, the acts of incrementing and decrementing counts can be repeated multiple times during an exposure period, prior to ending (act <NUM>) exposure for the event image.

The lengths of the first portion and the second portion of the exposure period may be determined such that a pixel capturing a stationary object returns a zero and a pixel that has detected a change returns a non-zero value. In some embodiments, the first portion and the second portion of the exposure period may be proportioned such that background noise is removed and a pixel capturing a stationary object returns a zero. In some embodiments, the first portion and the second portion of the exposure period may be of a same duration (e.g., one half of the exposure period, one-quarter of an exposure period, one-twentieth of an exposure period, etc.). An advantageous aspect of the computational pixel imager is that the incrementing and decrementing portions can be programmed to any suitable value. Smaller values can allow for event detection of more rapidly changing events. For values less than one-half an exposure period, the incrementing and decrementing portions can be repeated multiple times during an exposure period. The method <NUM> may include ending (act <NUM>) the exposure for the event image.

In some embodiments, the method <NUM> may include identifying (act <NUM>) pixels of the array that have detected events. Identification of pixels that have detected events can be performed by, for example, logic circuitry. The logic circuitry and the event-based computational pixel imager may be on different substrates, or a same substrate. In some cases, the logic circuitry can be included in each pixel integrated circuit of a computational pixel imager.

In some embodiments, all captured data may be transmitted off an event-based computational pixel imager, and processed by a separate circuitry (e.g., the controller <NUM>). <FIG> depicts an example of an event-based computational pixel imaging system <NUM> according to an embodiment of the invention. which may include an event-based computational pixel imager <NUM>. The event-based computational pixel imager <NUM> includes a pixel array <NUM> configured for event-based imaging as described above, and an input/output circuitry <NUM> configured to read out the digital numbers of all pixels in the pixel array <NUM> after individual image acquisition periods. The event-based computational pixel imaging system <NUM> includes logic circuitry <NUM> configured to receive the digital numbers from the event-based computational pixel imager <NUM>. The logic circuitry <NUM> may be implemented in any suitable manner including, for example, a microprocessor, a microcontroller, a field-programmable gate array (FPGA) and an application-specific integrated circuit (ASCI).

The logic circuitry <NUM> may be configured to determine whether the received digital numbers contain meaningful data content by, for example, comparing each of the received digital numbers with a threshold range (e.g., from -<NUM> to +<NUM>, from -<NUM> to +<NUM>, from -<NUM> to +<NUM>, etc.). The threshold range may be programmable based on the environment of a scene such as lighting condition, indoor or outdoor, the amount of stationary objects, etc. The logic circuitry <NUM> may set a digital number to zero or a selected null value (e.g., a gray level or selected color for display purposes) when the digital number is within the threshold range, which may indicate a high likelihood of background noise. In some embodiments, the signs of the received digital numbers may be dropped such that the absolute values of the digital numbers may be compared with a threshold value. In some implementations, the logic circuitry <NUM> may be configured to add or subtract an offset value to or from the raw counter data to account for offsets in the imaging system.

The logic circuitry <NUM> may assign and/or associate addresses to data for the pixels it identifies as containing meaningful non-zero digital numbers. The logic circuitry <NUM> may further form an event image from the processed counter data. For example, meaningful pixel data may be packaged as image data for transmission to a processor for further data processing or for display as an event image or part of an event image. In some embodiments, an event image may include or be updated by a sparse data array containing information only from pixels that have detected events. The sparse data array may be compressed, such that there may be no data for at least some of the pixels in the array. In some embodiments, an event image may only include the pixel addresses. In some embodiments, an event image may include both the pixel addresses and the non-zero digital numbers of corresponding pixels. The non-zero digital numbers can indicate detected changes and thus an event image may also be referred to as a delta image. The meaningful non-zero data representative of detected events may be transmitted off the event-based computational pixel imaging system <NUM> for further processing including, for example, inter-frame video compression as described below with respect to <FIG> and/or display.

In some embodiments, an event-based computational pixel imager may include logic circuitry (e.g., in-pixel and/or at an edge of an array of pixel integrated circuits) that is configured to process the captured data to produce event images. <FIG> depicts such an event-based computational pixel imager <NUM>, according to some embodiments. The event-based computational pixel imager <NUM> may include a pixel array <NUM> configured for event-based imaging as described above, a digital threshold component <NUM>, a pixel address component <NUM>, and an input/output circuitry <NUM> configured to output event images. In some embodiments, the digital threshold component <NUM>, pixel address component <NUM>, and input/output circuitry <NUM> may be part of edge logic circuitry, for example, the data handlers <NUM>, <NUM>, <NUM>, <NUM>. The edge logic circuitry may be located on a same chip or substrate as an array <NUM> of pixel integrated circuits. The digital threshold component <NUM> may be configured to determine whether a digital number on a counter represents meaningful event data (e.g., exceeds a threshold value or is outside a range of values). In some embodiments, the digital threshold component <NUM> may also reset a counter's value to zero or a predetermined value when the counter's digital number does not represent meaningful event data (e.g., is within a range of values or does not exceed a threshold value), as described above with respect to the logic circuitry <NUM>. The pixel address component <NUM> may be configured to assign and/or associate pixel addresses to event data for pixels whose counters contain meaningful non-zero digital numbers (e.g., have not been reset to zero or a predetermined value by the digital threshold component <NUM>). In some embodiments, the imager <NUM> may operate in a low data rate mode by providing only the pixel addresses of pixels that have detected events without the values of the corresponding counters' digital numbers such that the amount of data transmitted off the imager is further reduced.

According to some embodiments, logic circuitry <NUM> and digital threshold component <NUM> may be configured to determine whether pixel data qualifies as meaningful data based on factors in addition to threshold comparison. For example, logic circuitry <NUM> and digital threshold component <NUM> may be configured to evaluate whether data from one or more adjacent pixels indicate an event and weigh a determination for a detected event in part on a number of detected events in adjacent pixels and in part on a threshold comparison for the pixel being evaluated. In some cases, a determination for a detected event at a pixel may be based, at least in part, on detected events for the pixel in one or more past event image frames. In some implementations, one or more threshold levels used by logic circuitry <NUM> and digital threshold component <NUM> may differ from one or more threshold levels used by in-pixel digital comparison circuitry described below in connection with <FIG>.

In some embodiments, a pixel integrated circuit may be configured to evaluate captured data, determine in-pixel whether the data is indicative of an event, and output data determined to be event data. <FIG> depicts such an example of pixel circuitry <NUM>, according to some embodiments. The pixel circuitry <NUM> may include sensing circuitry <NUM>, which may be configured similar to corresponding circuitry of the pixel circuitry <NUM> in <FIG>. In the illustrated example, the sensing circuitry <NUM> includes a photodiode <NUM>, a first transistor <NUM>, and a current-to-frequency converter <NUM>. Although not illustrated, the sensing circuitry <NUM> may include a second transistor between the first transistor1306 and the current-to-frequency converter <NUM>. The current-to-frequency converter <NUM> may include a capacitor C<NUM>, comparator circuitry <NUM>, and a reset circuitry <NUM>, according to some embodiments.

The pixel circuitry <NUM> may include digitizing circuitry <NUM> configured to receive an output of pulses from the sensing circuitry <NUM>. The digitizing circuitry <NUM> may include a counter <NUM> and a digital comparator <NUM>. The counter <NUM> may receive control signals at C1in, and operate in an event-based imaging mode based on the control signals. For example, the control signals may instruct the counter to decrement and increment counts during an exposure period, as described above. The digital comparator <NUM> may be configured to compare a digital number of the counter <NUM> with one or more threshold values (e.g., as described above with respect to, for example, the logic circuitry <NUM> and/or the digital threshold component <NUM>) to determine whether a resulting count exceeds a threshold value or is outside a range of values. The digital comparator <NUM> may provide a reset signal through interconnection <NUM>, which sets the digital number of the counter <NUM> to zero or a selected value if the result of the digital comparison determines that an event has not been detected. The output C1out of the counter <NUM> may be transmitted to an edge logic circuit, for example, to the digital threshold component <NUM> and or the pixel address component <NUM>, for identifying pixels that have detected events and assigning/associating pixel addresses to event data. In some embodiments, the outputs of pixels in an imaging array may be serialized by multiplexers and sent off the imaging device.

In operation, the counter <NUM> can be programmed to increment counts for a time t during an exposure period and decrement counts for a same time t during the exposure period. An end of the exposure period may trigger a digital comparison in pixel with comparator <NUM> of the resulting count to one or more threshold values presented by the comparator <NUM>. If the comparison(s) output(s) one or more signals indicating that a threshold criterion has not been met (i.e., an event has not been detected), then the counter's value may be reset to zero or a selected initialized value for the next exposure period. Data from counters with non-zero values (or non-initialized values) can be transferred as a sparse image array to edge logic or off-chip logic (e.g., logic circuitry <NUM> and/or the digital threshold component <NUM>) for further processing.

In some embodiments, a pixel integrated circuit may be configured to operate in a normal imaging mode and in an event-based imaging mode simultaneously, which may enable data to be collected and read out at a same time. <FIG> depicts such an example of pixel circuitry <NUM>, according to some embodiments. The pixel circuitry <NUM> may include sensing circuitry <NUM>, which may be configured similar to the sensing circuitry <NUM>.

The pixel circuitry <NUM> may include digitizing circuitry <NUM> configured to receive an output of pulses from the sensing circuitry <NUM>. The digitizing circuitry <NUM> may include a digital comparator <NUM>, a first counter <NUM>, and a second counter <NUM>. Both counters <NUM> and <NUM> may receive the output of pulses from the sensing circuitry <NUM>. The first counter <NUM> may be configured to detect events. The second counter <NUM> may be configured to collect normal imaging data and/or detect events. The digital comparator <NUM> may be configured to compare a digital number of the first counter <NUM> with one or more threshold values as described above, and output a signal indicating whether or not an event has been detected by the pixel. The signal may be used as a reset or trigger signal. For example, the digital comparator <NUM> may provide the output signal as a reset and/or triggering signal through one or more interconnection <NUM>. A reset signal (resulting from a determination that an event has not been detected) can be used to reset the digital numbers of the counters <NUM> and <NUM> to zero or a selected value. A trigger signal (resulting from a determination that an event has been detected in the pixel) may be used to activate one or more other counters in the pixel to collect additional data including, for example, conventional frame data, depth data, distance data, velocity data, etc. In the illustrated example, the reset signal enables a depth sensor <NUM> that provides depth data D1out. As with the embodiment of <FIG>, resulting counter values may be transferred as sparse image data from one or both of the counters <NUM>, <NUM> to edge logic or off-chip logic circuitry for further processing.

According to some implementations, the counters within a pixel can be programmed to start and stop counting at any time during an exposure period. As an example, a first counter <NUM> may increment and decrement counts during a portion of an exposure period during which a second counter <NUM> is continuously incrementing counts to obtain normal intensity image data. While the second counter <NUM> is essentially integrating signal, a resulting count from the first counter <NUM> can be processed and read to determine whether the pixel is detecting an event. Such read-while-integrate can eliminate signal acquisition dead times that would otherwise occur if the pixel contained only a single counter.

In some embodiments, a pixel integrated circuit may be configured to operate in a low-power event-detection mode and switch to a higher power mode if an initial test at a pixel suggests an event has been detected. In this low-power mode, low-fidelity delta data may be continuously collected such that the pixels consume less power while being capable of detecting events. Once events are detected, higher-fidelity delta data collection may be triggered. The pixel circuitry may transmit high fidelity delta data off the imager but not the low fidelity delta data. <FIG> depicts an example of pixel circuitry <NUM> that is adapted for a low-power event-detection mode, according to some embodiments.

The pixel circuitry <NUM> may include sensing circuitry <NUM>, which may include components similar to corresponding components of the pixel circuitry <NUM> in <FIG>, for example, a photodiode <NUM>, a first transistor <NUM>, and a current-to-frequency converter <NUM>. The current-to-frequency converter <NUM> may include a first capacitor C<NUM>, a comparator circuitry <NUM>, and a reset circuitry <NUM>. Different from the current-to-frequency converter <NUM> in <FIG>, the current-to-frequency converter <NUM> may include a switch SW-<NUM> and an additional capacitor C<NUM>. The second capacitor C<NUM> may be larger than the first capacitor C<NUM>, for example, between <NUM> times and <NUM> times of C<NUM> or any suitable number in between. The sensing circuitry <NUM> consumes less power when the large capacitor C<NUM> is being charged than when the small capacitor C<NUM> is being charged since the counting rate is lower. The amount of power saved by operating in this mode may depend on the value of the second capacitor C<NUM>.

The switch SW-<NUM> may be arrange to select one of the first capacitor C<NUM> and the second capacitor C<NUM> for charging by the photocurrent based on, for example, an operating condition of a digitizing circuitry <NUM> of the pixel circuitry <NUM>. The digitizing circuitry <NUM> may be configured to receive output pulses from the sensing circuitry <NUM>. The digitizing circuitry <NUM> may include a digital comparator <NUM>, a first counter <NUM>, and a second counter <NUM>. The first counter <NUM> may receive the output of pulses from the sensing circuitry <NUM>. The first counter <NUM> and the digital comparator <NUM> may be configured to detect events, for example, similar to the counter <NUM> and the digital comparator <NUM> in <FIG>.

The digital comparator <NUM> may provide an enabling signal through interconnection <NUM> to the second counter <NUM>, which may be enabled when the first counter <NUM> has detected an event. The enable signal may also be appliced to switch SW-<NUM>. Once an event is detected, the switch SW-<NUM> of the sensing circuitry <NUM> may toggle to disable the large capacitor C<NUM> and enable the small capacitor C<NUM> such that an image with high signal-to-noise ratio can be captured. When enabled, the second counter <NUM> may be configured to collect normal imaging data and/or event imaging data. As with the embodiment of <FIG>, resulting counter values may be transferred as sparse image data from one or both of the counters <NUM>, <NUM> to edge logic or off-chip logic circuitry for further processing.

<FIG> depicts another example of pixel circuitry <NUM> that is adapted for low-power event-detection mode, according to some embodiments. The pixel circuitry <NUM> may include sensing circuitry <NUM> and digitizing circuitry <NUM>. The digitizing circuitry <NUM> may be configured similar to the digitizing circuitry <NUM> in <FIG>. In the illustrated example, the digitizing circuitry <NUM> includes a digital comparator <NUM>, a first counter <NUM>, and a second counter <NUM>. The first counter <NUM> may receive the output of pulses from the sensing circuitry <NUM>. The first counter <NUM> and the digital comparator <NUM> may be configured to detect events. The digital comparator <NUM> may provide an enabling signal through interconnection <NUM> to the second counter <NUM>, which may be enabled when the first counter <NUM> has detected an event.

The sensing circuitry <NUM> may include a photodiode <NUM>, a first transistor <NUM>, and first and second current-to-frequency converters 1610A and 1610B. The second current-to-frequency converter 1610B may be enabled by the enabling signal from the digital comparator <NUM> which can be applied to the first transistor <NUM>. The photodiode <NUM> may be coupled to the first current-to-frequency converter 1610A through a second transistor <NUM>. The first transistor <NUM> may be coupled to the second current-to-frequency converter 1610B through a third transistor <NUM>. The second transistor <NUM> and the third transistor <NUM> may be connected to form a current mirror amplifier. The photocurrent Ip flowing through the second transistor <NUM> may be amplified and mirrored to the third transistor <NUM>. The gain provided by the amplifier enables higher-fidelity delta data collection by the second counter <NUM> through the second current-to-frequency converter 1610B. Upon detection of an event by the first counter <NUM>, the higher gain current-to-frequency converter 1610B and second counter <NUM> can be activated to obtain image data with higher detection sensitivity.

The inventors have recognized and appreciated methods and apparatus for inter-frame video compression on a multi-mode, computational pixel imaging device, for example, the event-based computational pixel imager <NUM> as described above. Conventional inter-frame video compression is processed down-stream, after collecting full frames, and by comparing successive full frames and generating change detection masks. A computational pixel imager is capable of on-imager, inter-frame video compression that can reduce down-stream processing by providing compressed image data directly off the imaging device.

In an embodiment according to the invention a multi-mode, computational pixel imaging device collects key frames in a normal imaging mode and transmit the key frame data off the imager at a low frame rate. The imager also collects delta frames in the event-based imaging mode, as described above, and transmit delta frame data off the imager at a higher frame rate but a much lower data rate that transfer of full frame data. Full high-rate motion video may be reconstructed using the key frames and delta frames. Unlike conventional event-based vision cameras that output asynchronous events, inter-frame video compression on a computational pixel imager can retain all context of a scene by augmenting the key frames with delta frames. Inter-frame video compression using a computational pixel imager can produce high-speed, low transmission bandwidth motion image video for various applications, such as those requiring rapid decision making.

<FIG> shows example images associated with inter-frame video compression and reconstruction, according to one embodiment of the invention. In various embodiments, a computational pixel imager acquires two types of image data: key frame image data (for which data from one frame is rendered as a static key frame image <NUM> depicted in the drawing), and event or delta frame image data (for which data from one frame is rendered as a static delta frame image <NUM> depicted in the drawing). The key frames can be collected at a first frame rate (<NUM> in the example illustrated in <FIG>), and the delta frames can be collected at a second frame rate (<NUM> in the example) that is faster than the first frame rate. Other frame rates can be used. The key frames are collected by a computational pixel imaging device having counters in each pixel operating in a normal imaging mode. The delta frames are collected by the computational pixel imaging device having counters in each pixel operating in any of the event-based imaging modes described above. An overlay of a key frame with delta frames is depicted as an overlay image <NUM>. Because the delta frames contain small amounts of data, the overlaid images are dominated by the key frame. However, motion of a tossed ball is visible in the overlaid image <NUM>.

The key frame and delta frame image data, as acquired, can be packaged for transmission off chip as temporally compressed video-image data. However, the acquired data may be filtered and/or processed on-chip, as described above, to improve signal and image quality. In some cases, the key frame and delta frame image data may be transmitted off the imager for down-stream processing by, for example, a controller <NUM> or other device. The compressed video-image data can be reconstructed into a video <NUM> (illustrated as a static image) by a device adapted to render a video on a display, such as a television, computer, or smart phone. A video may be reconstructed by rendering a key frame and then updating pixels in the key frame in accordance with changes detected by the delta frames. The frame rate of the reconstructed video may be at the delta frame rate, which can be a much higher frame rate than conventional frame rates, since the delta frames contain significantly less data. Such compression and reconstruction enables transmitting and rendering of high-speed video with lower transmission bandwidth. For the illustrated example, the data compression was more than <NUM> compared to convention full-frame video transmission.

<FIG> illustrates acts associated with on-chip video compression performed with a computational pixel imaging device of the disclosed embodiments. <FIG> plots an example of compressed image data acquisition, according to some embodiments. On-chip video compression performed during image acquisition by a computational pixel imager may include a first thread <NUM> of acts for acquiring key frames (e.g., Framekey(<NUM>) and Framekey(<NUM>) in FIG. 14B) and a second thread <NUM> of acts for acquiring delta frames (e.g., FrameDelta(<NUM>), FrameDelta(<NUM>),. FrameDelta(Ncyc)). The second thread <NUM> for acquiring delta frames may be repeated for a number of times (Ncyc) between execution of first threads <NUM> for acquiring key frames. The number (Ncyc) may be programmable and determined based, at least in part, on the desired speed of the video. A method <NUM> for performing on-chip video compression during image acquisition may include determining (act <NUM>) whether a second thread <NUM> for collecting delta frames has been repeated for the predetermine number of times.

The thread <NUM> for acquiring key frames may start by initiating (act <NUM>) a first-type exposure for a key frame. At act <NUM>, counters in each pixel of an array may accumulate counts in a single direction, for example, incrementing a digital number or decrementing a digital number, for the entire period of a first-type exposure. At act <NUM>, the thread <NUM> may end the first-type exposure for the key frame. At act <NUM>, the thread <NUM> may including reading out the key frame by any suitable methods and apparatus described above. A key frame may include digital numbers from each pixel of the array, indicating the intensity of radiation captured by the pixel over the first-type exposure.

The thread <NUM> for acquiring delta frames may start by initiating (act <NUM>) a second-type exposure for a delta frame. At act <NUM>, the counters in each pixel of the array may accumulate counts in one direction, for example, incrementing a digital number, for a first portion of a second-type exposure. At act <NUM>, the counters in each pixel of the array may accumulate counts in the opposite direction, for example, decrementing the digital number, for a second portion of the second-type exposure. At act <NUM>, the thread <NUM> may end the second-type exposure for the delta frame. At act <NUM>, the thread <NUM> may including reading out the delta frame by any suitable methods and apparatus described above. As described above with respect to <FIG>, a delta frame or event frame may include pixel address of the pixels that have detected a change over the second-type exposure. The delta frame may also include the digital numbers captured by those pixels, indicating a magnitude of changes detected.

The act <NUM> for acquiring compressed image data may be performed with a multi-mode, computational pixel imaging device that has one or more counters per pixel. <FIG> plots an example of compressed image data acquisition timing <NUM> by a single counter, according to some embodiments. In the illustrated example, the compressed image data acquisition timing <NUM> includes key frames captured by incrementing a digital number of the counter for a key-frame exposure period t<NUM>, and delta frames captured by incrementing a digital number of the counter for a first portion <NUM> of a delta-frame exposure period t<NUM> and decrementing the digital number of the counter for a second portion <NUM> of the delta-frame exposure period t<NUM>. A digital number of the counter is reset to an initial value after capturing a first frame (e.g., a key frame or a delta frame) and before capturing a second frame (e.g., a delta frame or a key frame). A digital number of the counter is not reset to an initial value during an exposure period (e.g., key-frame exposure period t<NUM>, delta-frame exposure period t<NUM>).

<FIG> plots an example of compressed image data acquisition timing <NUM> by two counters, according to some embodiments. In the illustrated example, the compressed image data <NUM> includes key frames captured by incrementing a digital number of a first counter (Counter <NUM>) for a key-frame exposure period t<NUM>. The first counter may operate in the normal imaging mode. The compressed image data acquisition timing <NUM> includes delta frames captured by a second counter (Counter <NUM>) for a delta-frame exposure period t<NUM>. The second counter may operate in the event-based imaging mode. The first and second counters may operate simultaneously. The delta frames captured by the second counter may be phase aligned with the key frames captured by the first counter such that motion artifacts in the resulting reconstructed video is reduced by, for example, aligning a particular phase of a delta frame (e.g., phase <NUM> as illustrated) with a key frame. The particular phase alignment may enable that the processing time and/or display time between a key frame and a delta frame is substantially similar to the processing time and/or display time between a delta frame and another delta frame. It should be appreciated that there may be a down-time td between two frames captured by a single counter configuration (e.g., due to image read-out and/or on-chip signal processing). The down-time may be an interval of time between exposure periods, for example. The twocounter configuration may remove any artifacts caused by the down-time. It should also be appreciated that more than two counters may be used for, for example, multi-thread processing as described above.

<FIG> plots another example of compressed image data acquisition timing <NUM> by two counters, according to some embodiments. Like the compressed image data acquisition timing <NUM>, the compressed image data acquisition timing <NUM> includes key frames captured by a first counter and delta frames captured by a second counter. The compressed image data <NUM> further includes delta frames captured by the first counter. This configuration may provide higher resolution when capturing the motion.

Unless stated otherwise, the terms "approximately" and "about" are used to mean within ± <NUM>% of a target value in some embodiments, within ± <NUM>% of a target value in some embodiments, within ± <NUM>% of a target value in some embodiments, and yet within ± <NUM>% of a target value in some embodiments. The terms "approximately" and "about" can include the target value. The term "essentially" is used to mean within ± <NUM>% of a target value.

Claim 1:
A computational pixel imaging apparatus (<NUM>; <NUM>; <NUM>) for event-based imaging, comprising:
a plurality of pixels (<NUM>), each pixel comprising:
a detector (<NUM>) configured to generate an analog signal when exposed to radiation and a pixel integrated circuit (<NUM>) configured to convert the analog signal into at least one digital signal with at least one counter,
a signal converter configured to convert the analog signal to a sequence of pulses (<NUM>), and
a first counter (<NUM>-<NUM>) configured to, in an event-based imaging mode and in response to the sequence of pulses, increment a digital number for a first portion of an exposure period and decrement the digital number for a second portion of the exposure period to accumulate a resulting first digital number, wherein an output of the first counter indicates whether an event has been detected by the detector;
wherein the plurality of pixels are configured to:
acquire , in a normal imaging mode, a plurality of key frames at a first frequency in response to exposure of the detectors of the plurality of pixels for a first-type exposure ,
wherein during a key frame of the plurality of key frames one of the at least one counter in each pixel counts in one direction such that a digital number output by the counter indicates the intensity of radiation captured by a detector coupled to the counter , and
acquire , in the event-based imaging mode, a plurality of delta frames at a second frequency in response to exposure of the detectors of the plurality of pixels for a second-type exposure, wherein the second frequency is higher than the first frequency ,
wherein during a delta frame of the plurality of delta frames one of the at least one counter in each pixel counts in one direction for a first portion of the second-type exposure and counts in an opposite direction for a second portion of the second-type exposure; and
logic circuitry (<NUM>) configured in the event-based imaging mode, to identify a pixel of the plurality of pixels that have detected changes in the radiation based, at least in part, on the resulting first digital number on the first counter.