A typical image sensor includes an array of pixel cells. Each pixel cell may include a photodiode to sense light by converting photons into charge (e.g., electrons or holes). The image sensor may also include an integrated circuit configured to store the charge generated, amplify the charge and send the amplified charge to an analog-to-digital converter (ADC). The ADC will convert the stored charge into digital values (e.g., “quantize” the charge), as part of processes for digital image generation. Each pixel cell of the array of pixel cells may include an pixel-specific integrated circuit to store and quantize a charge specific to that pixel.
The present disclosure relates to image sensors. More specifically, and without limitation, this disclosure relates to a digital image sensor incorporating individual pixel cells including an integrated circuit configured to incorporate a dual quantization circuit with digital double sampling (DDS) for pixel-specific FPN reduction. The image sensor may perform on-sensor processing operations for reducing FPN for each individual pixel cell of an array of pixel cells prior to generation of a digital image to be exported off-sensor.
In some examples, an apparatus is provided. The apparatus includes: 1. A sensor apparatus comprising: a pixel cell configured to generate a voltage, the pixel cell including one or more photodiodes configured to generate a charge in response to light and a charge storage device to convert the charge to a voltage; an integrated circuit comprising a plurality of integrated memory circuits and configured to: generate, based on a first voltage obtained from the charge storage device of the pixel cell, a first voltage value during a first time period; and generate, based on a second voltage generated by fixed pattern noise from the pixel cell and the integrated circuit, a second voltage value occurring a second time period; one or more analog-to-digital converters (ADC) configured the convert the first voltage value to a first digital pixel value and the second voltage value to a second digital pixel value; and a processor configured to generate a third digital pixel value based on the first digital pixel value and the second digital pixel value.
In some aspects, the processor is further configured to determine a threshold pixel value and compare the first digital pixel value to the threshold pixel value, wherein the processor is configured to generate the third digital pixel value based on the comparison. In some further aspects, comparing the first digital pixel value to the threshold pixel value comprises determining that the first digital pixel value is greater or equal to than the threshold pixel value and the third digital pixel value is the first digital pixel value.
In some alternative aspects, comparing the first digital pixel value to the threshold pixel value comprises determining that the first digital pixel value is less than the threshold pixel value and the third digital pixel value is generated based on a difference between the first digital pixel value and the second digital pixel value. In some further aspects, generating the third digital pixel value based on a difference between the first digital pixel value and the second digital pixel value comprising subtracting a binary number representing the second digital pixel value from a binary number representing the first digital pixel value to generate a binary number representing the third digital pixel value.
In some aspects, the threshold pixel value is determined based the first time period and a configuration of the pixel cell. In some aspects, the threshold pixel value is received from an external application executing on a computing device communicatively coupled to the sensor apparatus.
In some aspects, the first digital pixel value is stored on a first static random-access memory of the sensor apparatus, the second digital pixel value is stored on a second static random-access memory of the sensor apparatus, and generating the third digital pixel value comprises accessing, from the first static random-access memory and the second static random-access memory, the first digital pixel value and the second digital pixel value. In some further aspects, the integrated circuit comprises a first memory switch configured to transfer the first voltage value to the first static random-access memory during the first time period, a second memory switch configured to transfer the second voltage value to the first static random-access memory during the first time period, and a latch configured to open and close the first memory switch and the second memory switch during the first and second time periods.
In some aspects, the charge storage device converts the charge from the one or more photodiodes to a voltage during the first time period and does not convert the charge from the one or more photodiodes during the second time period. In some further aspects, the pixel cell comprises a switch to connect the charge storage device to the one or more photodiodes during the first time period and disconnect the charge storage device from the one or more photodiodes after the first time period.
In some aspects, the pixel cell further comprises an adaptive range gate and the pixel cell is configured to generate a charge in a high-gain format when the adaptive range gate is opened and in a moderate-gain format when the adaptive range gate is closed. In some further aspects, the charge storage device is a first charge storage device, the pixel cell further comprises a second charge storage device, the adaptive range gate connecting the one or more photodiodes to the second charge storage device, and the pixel cell is configured to generate a charge in a low-gain format when the adaptive range gate is closed to cause the second charge storage device to convert the charge from the one or more photodiodes to a voltage.
In some aspects, the charge storage device is a first charge storage device, the integrated circuit further comprises a second charge storage device configured to convert a charge from the first charge storage device to a third voltage, and generating the second voltage value is generated based at least on the third voltage converted by the second charge storage device.
In some aspects, the sensor apparatus further comprises a sense amplifier configured to generate an amplified digital pixel value based on the third digital pixel value. In some further aspects, the sensor apparatus further comprises a peripheral processing system comprising the sense amplifier and the processor and the processor is further configured to export the amplified digital pixel value to an external processing system. In some further aspects, the processor is further configured to export the first digital pixel value, the second voltage value, and the third digital pixel value to the external processing system and the external processing system is further configured to generate, based on the first digital pixel value, the first voltage value, the second voltage value, and the third digital pixel value, a fourth digital pixel value.
In some aspects, the peripheral processing system is configured to receive one or more additional digital pixel values from one or more additional processors and generate digital image data using the amplified digital pixel value and the one or more additional digital pixel values. In some further aspects, the peripheral processing system is further configured to export the digital image data to an external application executing on the external processing system and the external processing system comprises a digital display configured to display a digital image generated by the external application based on the digital image data received from the peripheral processing system.
In some examples, a method includes generating a first voltage by converting a charge of light received at one or more photodiodes; generating, using a first memory circuit and based on the first voltage, a first voltage value during a first time period; generating a second voltage based on a fixed pattern noise present in a circuit including the one or more photodiodes; generating, using a second memory circuit and based on the first voltage, a second voltage value occurring a second time period; converting the first voltage value to a first digital pixel value and the second voltage value to a second digital pixel value; and generating an first altered digital pixel value based on the first digital pixel value and the second digital pixel value.
Illustrative embodiments are described with reference to the following figures.
The figures depict embodiments of the present disclosure for purposes of illustration only. One skilled in the art will readily recognize from the following description that alternative embodiments of the structures and methods illustrated may be employed without departing from the principles, or benefits touted, of this disclosure.
In the appended figures, similar components and/or features may have the same reference label. Further, various components of the same type may be distinguished by following the reference label by a dash and a second label that distinguishes among the similar components. If only the first reference label is used in the specification, the description is applicable to any one of the similar components having the same first reference label irrespective of the second reference label.
In the following description, for the purposes of explanation, specific details are set forth in order to provide a thorough understanding of certain inventive embodiments. However, it will be apparent that various embodiments may be practiced without these specific details. The figures and description are not intended to be restrictive.
A digital image sensor includes an array of pixel cells. Each pixel cell includes a photodiode to sense incident light by converting photons into charge (e.g., electrons or holes). The charge generated by photodiodes of the array of pixel cells can then be quantized by an analog-to-digital converter (ADC) into digital values. The ADC can quantize the charge by, for example, using a comparator to compare a voltage representing the charge with one or more quantization levels, and a digital value can be generated based on the comparison result. The digital values can then be stored in a memory to generate a digital image.
The digital image data can support various wearable applications, such as object recognition and tracking, location tracking, augmented reality (AR), virtual reality (VR), etc. These and other applications may utilize extraction techniques to extract, from a subset of pixels of the digital image, aspects of the digital image (e.g., light levels, scenery, semantic regions) and/or features of the digital image (e.g., objects and entities represented in the digital image). For example, an application can identify pixels of reflected structured light (e.g., dots), compare a pattern extracted from the pixels with the transmitted structured light, and perform depth computation based on the comparison.
The application can also identify 2D pixel data from the same pixel cells that provide the extracted pattern of structured light to perform fusion of 2D and 3D sensing. To perform object recognition and tracking, an application can also identify pixels of image features of the object, extract the image features from the pixels, and perform the recognition and tracking based on the extraction results. These applications are typically executed on a host processor, which can be electrically connected with the image sensor and receive the pixel data via interconnects. The host processor, the image sensor, and the interconnects can be part of a wearable device.
Digital image sensors are complex apparatuses that convert light into digital image data. The power and precision of a digital image sensor are important factors for how to integrate and implement digital image sensors in various devices and applications. Some applications, such as AR, benefit from a wider range of digital pixel values for display to better represent a real-world environment. High-dynamic-range (HDR) digital image sensors (e.g. image sensors that are capable of generating a wider range of digital pixel values from captured light) are particularly useful in bright or dark environments. HDR digital image sensors utilize particularly sensitive pixel cells for capturing and converting charges to a wider range of digital pixel values to more accurate represent light intensities in an environment.
Powerful digital pixel sensors, such as HDR sensors may also feature pixel-specific integrated circuits for generating more accurate digital pixel values for each pixel of a digital image. For example, an HDR digital image sensor may include an array of individual pixel cells, and each individual pixel cell of the array may include a system-on-chip (SOC circuit) for capturing light-based charges. The individual SOC circuit may be coupled to a corresponding pixel-specific integrated circuit (also referred to as an application-specific integrated circuit, or ASIC) configured to process the charges converted by the SOC circuit for an individual pixel. It is advantageous to make the footprint of each individual pixel cell as small as possible on a digital image sensor in order to more easily integrate the sensor into devices without sacrificing HDR.
Powerful sensors, including HDR digital image sensors, are highly susceptible to fixed pattern noise (FPN). FPN is one or more signals generated by interference and relative differences between components of a digital pixel sensor. For example, fixed pattern noise may be generated when a residual voltage charge that does not originate from light captured at a photodiode is stored in a charge storage device. Accordingly, the charge accumulated in the charge storage device, and a quantized digital pixel value generated from the charge, will not accurately reflect the intensity of the light captured by a photodiode in an individual pixel cell.
FPN may originate from environmental or internal sources. For example, environments from which the digital pixel sensor captures light may also project additional signals besides the light, such as electromagnetic radiation from other sources. This radiation may be captured by a charge storage device and pollute the signal received from the photodiode. Internal sources, such as proximal components, may also generate signals which will further pollute stored charges. For example, as mentioned above, highly compact circuits include a great many components in close proximity. Radiation from components in a pixel cell or integrated circuit may drift from one component to another, changing the accuracy of a measured charge. Residual signal may also remain in a component after the component has been discharged and reset, causing the next stored charge to be skewed before it even begins accumulating.
The highly sensitive components that make up HDR digital pixel sensors often include minute differences among each individual pixel domain (e.g., the pixel cell and associated integrated circuits). For example, the highly sensitive photodiodes in an HDR pixel cell may generate a charge in response to light at a slightly different rate than other photodiodes of other pixel domains. Accordingly, even the same amount of light captured by two different photodiodes may result in two different generated charges. Thus, each individual pixel domain may generate a different fixed pattern noise based on difference in the underlying components.
Methods of reducing fixed pattern noise include utilizing multiple quantization operations by an ADC to determine differences in high-charge density to low-density charges captured. However, quantization operations are time and power consuming operations, which are particularly disadvantageous to limited power devices, such as battery operated electronics. Additionally, because multi-quantization operations are not performed explicitly on a FPN signal, they do not often accurately reflect an appropriate approximation of the FPN captured within a circuit.
Digital double sampling (DDS) utilizes multiple captured of states of a pixel array at different time periods to determine differences between the array states. Based on the differences in states, an external component may attempt to discern the FPN and change pixel values of a digital pixel image prior to display. However, a universal DDS operation is not sufficient to eliminate fixed pattern noise uniformly throughout the entire image. For example, applying a universal DDS mask value to the array of digital pixel values of a digital image may result in appropriate noise corrections of some of the digital pixel values, but may over or under-correct the FPN in other digital pixel values. A static DDS “map” may be generated by an external component and will alter digital pixel values of the digital image at the individual pixel level prior to display. However, this static DDS map will not reflect changing sources of FPN within an environment, especially when the digital image sensor is embedded in a device that may move throughout the environment. Additionally, the application of the mask/map by an external component may require additional power consumption to alter the array of digital pixel value after the array has already been exported off-sensor.
Embodiments described herein relate to a digital pixel sensor implementing on-sensor dual-quantization processes. More specifically, a digital pixel sensor is described implementing an array of individual pixel domains, each domain including a pixel cell and corresponding ASIC. The individual pixel domain captures a signal charge during exposure to light, which is amplified and quantized, and the circuit is then reset. A “reset charge” (or “noise charge”) is then captured and quantized, representing the latent noise in the circuit after the exposure period. A charge threshold may be determined, and a processor may alter the previously quantized signal charge based on the reset charge if the quantized signal charge does not meet the charge threshold.
In some examples, a sensor apparatus comprises a pixel cell configured to generate a voltage, the pixel cell including one or more photodiodes configured to generate a charge in response to light and a charge storage device to convert the charge to a voltage. The pixel cell may be configured as part of a system-on-chip (SOC) pixel and may be one pixel cell in an array of pixel cells. The pixel cell includes its own individual circuit with one or more photodiodes which will generate charge in response to receiving light. The individual pixel cell and corresponding individual circuit may be referred to as a pixel-specific domain, or pixel domain. The amount of charge generated and stored may vary based on the intensity of the incoming light and the amount of time the photodiodes are exposed to the light. A charge storage device, such as a capacitor, will convert the charge generated at the one or more photodiodes into an analog voltage signal that can be used to generate pixel values, as discussed below.
In some examples, the sensor apparatus further comprises an integrated circuit built into an application-specific integrated circuit (ASIC) layer coupled to the SOC pixel. The integrated circuit includes components such as a comparator and a logical state latch to interact with and process the analog voltage signal captured by the charge storage device. For example, the integrated circuit may be configured to generate, based on a first voltage obtained from the charge storage device of the pixel cell, a first voltage value during a first time period and generate, based on a second voltage generated by fixed pattern noise from the pixel cell and the integrated circuit, a second voltage value occurring a second time period. The first voltage value captured during the first time period may be a signal voltage captured and converted at the charge storage device during a time period of exposure for the charge storage device. For example, the first time period may be a time period during which the charge storage device is coupled to a photodiode of an SOC pixel, referred to as an “exposure period.”
The first time period may begin at a time when a switch is engaged to close a circuit between the charge storage device and a photodiode to cause the charge storage device to begin converting a voltage signal. The first time period may end at a time when the switch is later engaged to open the circuit between the charge storage device and the photodiode to prevent further conversion, by the charge storage device, of a voltage signal. Alternatively, the first time period may end at a time when a static random access memory (SRAM) embedded in the ASIC completes storage charge converted by the charge storage device. The first voltage value generated during the first time period may represent a consolidated voltage value generated in the charge storage device during the first time period. This consolidated voltage value contains a charge value converted from the light intake of the photodiode while it is connected to the charge storage device as well as any additional fixed pattern noise generated inherently by the pixel domain and/or its environment. For example, the first voltage value may be generated based on a first voltage obtained from the charge storage device, as well as a fixed-pattern noise signal latent to the pixel-domain.
The second voltage value captured during the second time period may be a reset voltage captured and converted at the charge storage device during a time period following a reset of the pixel domain. For example, the second time period may be a time period during which the charge storage device is not coupled to a photodiode, but may be generating a voltage signal-based charge due to latent fixed-pattern noise captured by the charge storage device and/or other components of the pixel domain. For example, the second voltage value may be a voltage value generated by the charge storage device and a comparator following a reset pulse of the ASIC. Thus, the second voltage value may be generated based on a second voltage naturally generated by the pixel-domain without the conversion of the charges from the photodiode that occur during the first time period.
The second time period may begin at a time subsequent to the first time period and following a reset pulse of the circuits within the pixel domain. The reset of the circuits within the pixel domain may be initiated to purge the pixel domain of any previously captured signals during the first time period and to prepare the pixel domain for another subsequent exposure period. During this second time period, the charge storage device will not be connected to the photodiode and thus will not accumulate and convert charges from light captured by the photodiode. Thus, charges captured during the second time period will represent latent voltages within the pixel domain while the exposure period is not occurring. These latent voltages are associated with fixed-pattern noise inherent to the environment and pixel-specific domain at which they are measured. The second time period may conclude shortly thereafter, once the latent voltage signals have been appropriately stored by a SRAM.
In some examples, the sensor apparatus further comprises one or more analog-to-digital converters (ADC) configured to convert captured voltages to digital pixel data comprising one or more digital pixel values. Specifically, the ADC may convert an analog voltage signal stored at the charge storage device into digital data including a digital pixel value representing the captured intensity of incoming light at the pixel cell (referred to as “quantizing” the analog voltage signal). For example, the ADC(s) may convert the first voltage value to a first digital pixel value and the second voltage value to a second digital pixel value. In some embodiments, the first voltage value and the second voltage value may be converted differently by the ADC(s) depending on the time period during which the voltage value is received (and therefore the SRAM to which the voltage signal is sent). For example, a first charge (signal charge) may be sent to a first SRAM and converted to a 9-bit digital value during a first time period of capture, which is sufficient to represent the intensity of the light and FPN captured during the exposure period. The second voltage value may be converted differently to reduce power consumption while accurately representing the intensity of the FPN captured. For example, a second charge (reset charge) may be sent to a second SRAM during a second time period and converted to a 6-bit digital value, which is sufficient to represent the intensity of the FPN captured during the exposure period. It will be appreciated that the first and second SRAM be different sizes different sizes, contain different components, be made of different materials, etc., based on the different conversion configurations of the first and second SRAM.
In some examples, the sensor apparatus further comprises one or more processors configured to alter the digital pixel values converted by the ADC and/or generate a new digital pixel value. For example, the processor may be configured to generate a third digital pixel value based on the first digital pixel value and the second digital pixel value quantized by the ADC. Generation of an third digital pixel value will allow the sensor to more accurately represent light captured by pixel cells of the array of pixel cells and processed at a corresponding ASIC by reducing FPN from the first digital pixel value prior to off-sensor export. For example, the second digital pixel value, which may have been converted to a 6-bit number value from the latent voltage signal generated in a particular pixel domain, may be subtracted from the first digital pixel value, which may have been converted to a 9-bit number value based on the voltage signal generated in the particular pixel domain during the exposure period. The resulting third digital pixel value (representing the difference between the first and second digital pixel values) may approximate the charge captured by the photodiode absent the FPN inherently generated by the particular pixel domain.
In some examples, the charge storage device converts the charge from the one or more photodiodes to a voltage during the first time period and does not convert the charge from the one or more photodiodes during the second time period. For example, the pixel cell may include a switch to connect the charge storage device to the one or more photodiodes during the first time period and disconnect the charge storage device from the one or more photodiodes during the second time period. The switch may separate the charge storage device from the photodiode and be a part of the SOC pixel, or may be a switch on the periphery of the SOC pixel to connect the SOC pixel to the corresponding integrated circuit for processing the captured and stored charges.
In some cases, the FPN generated by a pixel domain is relatively small compared to the total signal charge generated during the exposure period. For example, in high intensity (e.g., very bright) lights, the sensor and corresponding pixel domains that capture the light may generate charge values that are significantly larger than the FPN generated inherently by the pixel domains. Generating the altered digital pixel value from the first and second digital pixel values consumes energy while the processor of the sensor performed the alteration and any associated calculations. In some instances, removal of fixed pattern noise from the first digital pixel value may only improve the digital image generated by the digital image sensor marginally. This marginally beneficial operation still consumes energy, and the detriment of the loss of energy outweighs the benefit of the removal of the fixed pattern noise.
In some examples, the integrated circuit is further configured to determine a threshold pixel value, the threshold pixel value being a threshold value corresponding to the first digital pixel value quantized by an ADC. Any digital pixel values that are greater than (or in some cases equal to) the threshold pixel value may not be subjected to an alteration operation prior to export of the digital pixel value off-sensor. That is because the relatively-high intensity of the captured charge “drowns out” the fixed pattern noise when the light captured is highly intense (e.g., a very bright light). Accordingly, any digital pixel value that is less than (or in some cases equal to) the threshold pixel value may be subject to the alteration operation prior to export of the digital pixel value off-sensor. That is because the relatively-low intensity of the charge is “polluted” with the fixed pattern noise when the signal charge is closer in intensity to the FPN. In essence, the lower the intensity of a captured signal charge is, the higher the proportion of the charge that made up of the fixed pattern noise. This may be determined by a comparison of the converted first digital pixel value and the threshold pixel value.
In some examples, the threshold pixel value is determined based the first time period and a configuration of the pixel cell. For example, the threshold pixel value for alteration may be based on the period of time during which the charge storage device will convert charges (e.g. the exposure period) and the type of configuration of the pixel cell, and may be established by comparing a stored voltage against a threshold voltage. For example, longer exposure periods and more sensitive photodiodes often result in higher voltage signals captured at a pixel cell. The threshold pixel value may be determined and/or modified based on these factors by the digital image sensor or an external application that communicates with the digital image sensor. In some embodiments, the threshold pixel value is set based on a level of FPN detected in one or more pixel domains. For example, the threshold pixel value may be set proportionally to a mean, median, or modal value of FPN quantized in previous frame captures of a digital pixel sensor. In some examples, the threshold pixel value is determined based on data received from an external application executing on a computing device communicatively coupled to the sensor apparatus. For example, the digital pixel sensor described herein may be coupled to a VR or AR display device to utilize digital images generated by the digital pixel sensor to display, to a user, an environment captured by the digital pixel sensor. The environment may require more or less accuracy of generated digital images based on the application running (e.g., AR application may generate lower resolution artifact due to the “pass-through” nature of the display, while VR applications may require higher resolution images to improve environmental “immersion.” Because of the nature of the application, the threshold may be set accordingly to preserve power or reduce resource-intensive communications.
In some examples, generating the first altered digital pixel value includes determining a difference value based on the first digital pixel value and the second digital pixel value; and altering the first digital pixel value based on the difference value. This may include subtracting the second digital pixel value representing the quantized fixed pattern noise of a pixel domain from the total signal charge of the first digital pixel value. The resulting difference will then represent the signal captured from light by the photodiode without the FPN generated by the pixel domain.
As discussed above, in some examples, the first digital pixel value is stored on a first static random-access memory of the sensor apparatus, the second digital pixel value is stored on a second static random-access memory of the sensor apparatus, and generating the third digital pixel value comprises accessing, from the first static random-access memory and the second static random-access memory, the first digital pixel value and the second digital pixel value. For example a first SRAM used to store the first digital pixel value and a second SRAM used to store the second digital pixel value may send both values to an on-sensor processor to perform calculations related to FPN reduction. In some examples, both the first and second SRAM are coupled to the rest of the ASIC via switches configured to transfer the respective voltage values generated by the pixel domain to the SRAMs at the corresponding time period. A latch in the ASIC may be configured to open and close the switches at these time periods to convert the voltages to digital pixel values.
In some examples, instead of utilizing switches to connect the SRAMs to the rest of the ASIC, the integrated circuit may utilize an ADC digital counter to track the time periods of exposure and reset and send signals to the SRAMs during each period respectively. For example, the integrated circuit may be further configure to receive, during the first and second time periods, a series of ADC count signals indicating the current time period of a frame capture by the digital pixel sensor. Thus, generating the first voltage value and the second is based on the series of ADC count signals and does not require the use of physical component switches when sending the first and second voltage signals to the corresponding first and second SRAM.
In some examples, an adaptive range gate and additional charge storage device may be integrated into the pixel cell to increase the dynamic range of light intensities that may be converted by the pixel-domain. For example, an adaptive range gate and/or an additional capacitor connected to the photodiode via the adaptive range gate may allow the pixel cell to generate high, moderate or low-gains of light intensity capture, or any range in between. In some examples, the ASIC may include an additional charge storage device between the pixel cell and the ASIC. The additional pixel cell may be configured to allow the pixel domain to perform DDS operations with regards to either the first voltage value and/or the second voltage value. For example, an additional capacity may be included between the pixel cell and the ASIC to improve voltage sampling accuracy when generating the first and second voltages.
In some examples, a sense amplifier may be included in a periphery processing system of the digital pixel sensor. The sense amplifier may be configured to amplify the signal of a quantized digital pixel value prior to export of the digital pixel value off-sensor.
In some examples, the processor is further configured to export the first altered digital pixel value to an peripheral processing system. The peripheral processing system may be an on-sensor processing system configured to generate a digital image to be used as part of an off-sensor application or process. For example, the periphery of the digital pixel sensor may receive, from each pixel domain of the digital image sensor, a number of digital pixel values which will be utilized to compile an array of digital pixel values to make a digital image. The digital image may be exported to an off-sensor display module configured to display the digital image using the array of altered digital pixel values.
In some examples, the processor is further configured to export the first voltage value and the second voltage value to an external processing system configured to generate, based on the third digital pixel value, the first voltage value, and the second voltage value, a fourth digital pixel value. The external processing system may further alter the third digital pixel value as part of a supplementary noise-reducing operation that occurs off-sensor to generate a new fourth digital pixel value. For example, in additional to the alternation to remove FPN performed by the on-sensor processor, a second off-sensor processor may further alter the digital pixel values of the digital image for display and interaction as part of an application, such as an AR or VR application. The digital images generated in this matter may be utilized by an external processing system, for example a digital display system incorporating an application, to display an image including, as a portion, the third digital pixel value generated by an pixel-domain. The digital image may thus be made up of many digital pixel values generated by many pixel-domains during a frame capture.
In some examples, a method includes the processes described above with respect to the application system and the sensor apparatus. The disclosed techniques may include or be implemented in conjunction with an artificial reality system. Artificial reality is a form of reality that has been adjusted in some manner before presentation to a user, which may include, for example, a virtual reality (VR), an augmented reality (AR), a mixed reality (MR), a hybrid reality, or some combination and/or derivatives thereof. Artificial reality content may include completely generated content or generated content combined with captured (e.g., real-world) content. The artificial reality content may include video, audio, haptic feedback, or some combination thereof, any of which may be presented in a single channel or in multiple channels (such as stereo video that produces a three-dimensional effect to the viewer). Additionally, in some embodiments, artificial reality may also be associated with applications, products, accessories, services, or some combination thereof, that are used to, for example, create content in an artificial reality and/or are otherwise used in (e.g., perform activities in) an artificial reality. The artificial reality system that provides the artificial reality content may be implemented on various platforms, including a head-mounted display (HMD) connected to a host computer system, a standalone HMD, a mobile device or computing system, or any other hardware platform capable of providing artificial reality content to one or more viewers.
Near-eye display 100 is a display that presents media to a user. Examples of media presented by the near-eye display 100 include one or more images, video, and/or audio. In some embodiments, audio is presented via an external device (e.g., speakers and/or headphones) that receives audio information from near-eye display 100 and/or control circuitries 170 and presents audio data based on the audio information to a user. In some embodiments, near-eye display 100 may also act as an AR eyewear glass. In some embodiments, near-eye display 100 augments views of a physical, real-world environment, with computer-generated elements (e.g., images, video, sound).
Near-eye display 100 includes waveguide display assembly 110, one or more position sensors 130, and/or an inertial measurement unit (IMU) 140. Waveguide display assembly 110 may include a source assembly, output waveguide, and controller.
IMU 140 is an electronic device that generates fast calibration data indicating an estimated position of near-eye display 100 relative to an initial position of near-eye display 100 based on measurement signals received from one or more of position sensors 130.
Imaging device 160 may generate image data for various applications. For example, imaging device 160 may generate image data to provide slow calibration data in accordance with calibration parameters received from control circuitries 170. Imaging device 160 may include, for example, image sensors 120a-120d for generating image data of a physical environment in which the user is located, for performing location tracking of the user. Imaging device 160 may further include, for example, image sensors 150a-150b for generating image data for determining a gaze point of the user, to identify an object of interest of the user.
The input/output interface 180 is a device that allows a user to send action requests to the control circuitries 170. An action request is a request to perform a particular action. For example, an action request may be to start or end an application or to perform a particular action within the application.
Control circuitries 170 provide media to near-eye display 100 for presentation to the user in accordance with information received from one or more of: imaging device 160, near-eye display 100, and input/output interface 180. In some examples, control circuitries 170 can be housed within system 100 configured as a head-mounted device. In some examples, control circuitries 170 can be a standalone console device communicatively coupled with other components of system 100. In the example shown in
The application store 172 stores one or more applications for execution by the control circuitries 170. An application is a group of instructions, that, when executed by a processor, generates content for presentation to the user. Examples of applications include: gaming applications, conferencing applications, video playback applications, or other suitable applications.
Tracking module 174 calibrates system 100 using one or more calibration parameters and may adjust one or more calibration parameters to reduce error in determination of the position of the near-eye display 100.
Tracking module 174 tracks movements of near-eye display 100 using slow calibration information from the imaging device 160. Tracking module 174 also determines positions of a reference point of near-eye display 100 using position information from the fast calibration information.
Engine 176 executes applications within system 100 and receives position information, acceleration information, velocity information, and/or predicted future positions of near-eye display 100 from tracking module 174. In some embodiments, information received by engine 176 may be used for producing a signal (e.g., display instructions) to waveguide display assembly 110 that determines a type of content presented to the user. For example, to provide an interactive experience, engine 176 may determine the content to be presented to the user based on a location of the user (e.g., provided by tracking module 174), or a gaze point of the user (e.g., based on image data provided by imaging device 160), a distance between an object and user (e.g., based on image data provided by imaging device 160).
The exposure period can be defined based on the timing of AB signal controlling electronic shutter switch 203, which can steer the charge generated by photodiode 202 away when enabled, and based on the timing of the TX signal controlling transfer switch 204, which can transfer the charge generated by photodiode 202 to charge storage device 206 when enabled. For example, referring to
At the time T2, the TX signal can be de-asserted to isolate charge storage device 206 from photodiode 202, whereas the AB signal can be asserted to steer charge generated by photodiode 202 away. The time T2 can mark the end of the exposure period. An analog voltage across charge storage device 206 at time T2 can represent the total quantity of charge stored in charge storage device 206, which can correspond to the total quantity of charge generated by photodiode 202 within the exposure period. Both TX and AB signals can be generated by a controller (not shown in
Quantizer 207 can be controlled by the controller to quantize the analog voltage after time T2 to generate a pixel value 208.
In
In addition, image sensor 200 further includes other circuits, such as a counter 240 and a digital-to-analog converter (DAC) 242. Counter 240 can be configured as a digital ramp circuit to supply count values to memory 216. The count values can also be supplied to DAC 242 to generate an analog ramp, such as VREF of
The image data from image sensor 200 can be transmitted to host processor (not shown in
The volume of pixel data transmission can also be reduced in the case of 3D sensing. For example an illuminator can project a pattern of structured light onto an object. The structured light can be reflected on a surface of an object and a pattern of reflected light can be captured by image sensor 200 to generate an image. Host processors can match pattern with object pattern and determine the depth of objects with respect to image sensor 200 based on the configuration of object pattern in the image. For 3D sensing, only groups of pixel cells contain relevant information (e.g., pixel data of pattern 252). To reduce the volume of pixel data being transmitted, image sensor 200 can be configured to send only the pixel data from groups of pixel cells or the image location locations of patterns in the image, to the host processor.
In addition, pixel cell 300 further includes electronic shutter switch 203, transfer switch 204, charge storage device 205, buffer 206, quantizer 207 as shown in
In addition, quantizer 207 includes a comparator 360 and output logics 370. Comparator 207 can compare the output of buffer with a reference voltage (VREF) to generate an output. Depending on a quantization operation (e.g., time to saturation (TTS), FD ADC, and PD ADC operations), comparator 360 can compare the buffered voltage with different VREF voltages to generate the output, and the output be further processed by output logics 370 to cause memory 380 to store a value from a free running counter as the pixel output. The bias current of comparator 360 can be controlled by a bias signal BIAS2 which can set the bandwidth of comparator 360, which can be set based on the frame rate to be supported by pixel cell 300. Moreover, the gain of comparator 360 can be controlled by a gain control signal GAIN. The gain of comparator 360 can be set based on a quantization resolution to be supported by pixel cell 300. Comparator 360 further includes a power switch 350 which can also be controlled by the PWR_GATE signal to turn on/off comparator 360. Comparator 360 can be turned off as part of disabling pixel cell 300.
In addition, output logics 370 can select the outputs of one of the TTS, FD ADC, or PD ADC operations and based on the selection, determine whether to forward the output of comparator 360 to memory 380 to store the value from the counter. Output logics 370 can include internal memory to store indications, based on the output of comparator 360, of whether the photodiode 310 (e.g., photodiode 310a) is saturated by the residual charge, and whether charge storage device 205 is saturated by the overflow charge. If charge storage device 205 is saturated by the overflow charge, output logics 370 can select TTS output to be stored in memory 380 and prevent memory 380 from overwriting the TTS output by the FD ADC/PD ADC output. If charge storage device 205 is not saturated but the photodiodes 310 are saturated, output logics 370 can select the FD ADC output to be stored in memory 380; otherwise output logics 370 can select the PD ADC output to be stored in memory 380. In some examples, instead of the counter values, the indications of whether photodiodes 310 are saturated by the residual charge and whether charge storage device 205 is saturated by the overflow charge can be stored in memory 380 to provide the lowest precision pixel data.
In addition, pixel cell 300 may include a pixel-cell controller 390, which can include logic circuits to generate control signals such as AB, TG, BIAS1, BIAS2, GAIN, VREF, PWR_GATE, etc. Pixel-cell controller 390 can also be programmed by pixel-level programming signals 395. For example, to disable pixel cell 300, pixel-cell controller 390 can be programmed by pixel-level programming signals 395 to de-assert PWR_GATE to turn off buffer 206 and comparator 360. Moreover, to increase the quantization resolution, pixel-cell controller 390 can be programmed by pixel-level programming signals 395 to reduce the capacitance of charge storage device 205, to increase the gain of comparator 360 via GAIN signal, etc. To increase the frame rate, pixel-cell controller 390 can be programmed by pixel-level programming signals 395 to increase BIAS1 signal and BIAS2 signal to increase the bandwidth of, respectively, buffer 206 and comparator 360. Further, to control the precision of pixel data output by pixel cell 300, pixel-cell controller 390 can be programmed by pixel-level programming signals 395 to, for example, connect only a subset of bits (e.g., most significant bits) of the counter to memory 380 so that memory 380 only stores the subset of bits, or to store the indications stored in output logics 370 to memory 380 as the pixel data. In addition, pixel-cell controller 390 can be programmed by pixel-level programming signals 395 to control the sequence and timing of AB and TG signals to, for example, adjust the exposure period and/or select a particular quantization operation (e.g., one of TTS, FD ADC, or PD ADC) while skipping the others based on the operation condition, as described above.
Column control circuit 404 and row control circuit 406 are configured to forward the configuration signals received from programming map parser 402 to the configuration memory of each pixel cell of pixel cell array 318. In
Further, row control circuit 406 drives a plurality of sets of row buses labelled R0, R1, . . . Rj. Each set of row buses also includes one or more buses and can be used to transmit control signals, which can include a row selection signal and/or other configuration signals, to a row of pixel cells, or a row of blocks of pixel cells. For example, row bus(es) R0 can transmit a row selection signal 410a to select a row of pixel cells (or blocks of pixel cells) p00, p10, . . . pi0, row bus(es) R1 can transmit a row selection signal 410b to select a row of pixel cells (or blocks of pixel cells) p01, p11, . . . p1i, etc. Any pixel cell (or block of pixel cells) within pixel cell array 318 can be selected based on a combination of the row selection signal and the column signal to receive the configuration signals. The row selection signals, column selection signals, and the configuration signals (if any) are synchronized based on control signals 408 and 410 from programming map parser 402, as described above. Each column of pixel cells can share a set of output buses to transmit pixel data to pixel data output circuit 407. For example, column of pixel cells (or blocks of pixel cells) p00, p01, . . . p0j can share output buses Do, column of pixel cells (or blocks of pixel cells) p10, p11, . . . p1j can share output buses D1, etc.
Pixel data output circuit 407 can receive the pixel data from the buses, convert the pixel data into one or more serial data streams (e.g., using a shift register), and transmit the data streams to host device 435 under a pre-determined protocol such as MIPI. The data stream can come from a quantization circuit 220 (e.g., processing circuits 214 and memory 216) associated with each pixel cell (or block of pixel cells) as part of a sparse image frame. In addition, pixel data output circuit 407 can also receive control signals 408 and 410 from programming map parser 402 to determine, for example, which pixel cell does not output pixel data or the bit width of pixel data output by each pixel cell, and then adjust the generation of serial data streams accordingly. For example, pixel data output circuit 407 can control the shift register to skip a number of bits in generating the serial data streams to account for, for example, variable bit widths of output pixel data among the pixel cells or the disabling of pixel data output at certain pixel cells.
In addition, a pixel cell array control circuit further includes a global power state control circuit, such as global power state control circuit 420, a column power state control circuit 422, a row power state control circuit 424, and a local power state control circuit 430 at each pixel cell or each block of pixel cells (not shown in
The hierarchical power state control circuits can provide different granularities in controlling the power state of an image sensor, such as image sensor 200. For example, global power state control circuit 420 can control a global power state of all circuits of image sensor, including processing circuits 214 and memory 216 of all pixel cells, DAC 242 and counter 240 of
In hierarchical power state control circuits, an upper-level power state signal can set an upper bound for a lower-level power state signal. For example, global power state signal 432 can be an upper level power state signal for column/row power state signal 434 and set an upper bound for column/row power state signal 434. Moreover, column/row power state signal 434 can be an upper level power state signal for local power state signal 436 and set an upper bound for local power state signal 436. For example, if global power state signal 432 indicates a low power state, column/row power state signal 434 and local power state signal 436 may also indicate a low power state.
Each of global power state control circuit 420, column/row power state control circuit 422/424, and local power state control circuit 430 can include a power state signal generator, whereas column/row power state control circuit 422/424, and local power state control circuit 430 can include a gating logic to enforce the upper bound imposed by an upper-level power state signal. Specifically, global power state control circuit 420 can include a global power state signals generator 421 to generate global power state signal 432. Global power state signals generator 421 can generate global power state signal 432 based on, for example, an external configuration signal 440 (e.g., from a host device) or a pre-determined temporal sequences of global power states.
In addition, column/row power state control circuit 422/424 can include a column/row power state signals generator 423 and a gating logic 425. Column/row power state signals generator 423 can generate an intermediate an column/row power state signal 433 based on, for example, an external configuration signal 442 (e.g., from a host device) or a predetermined temporal sequences of row/column power states. Gating logic 425 can select one of global power state signal 432 or intermediate column/row power state signal 433 representing the lower power state as column/row power state signal 434.
Further, local power state control circuit 430 can include a local power state signals generator 427 and a gating logic 429. Low power state signals generator 427 an intermediate local power state signal 435 based on, for example, an external configuration signal 444, which can be from a pixel array programming map, a pre-determined temporal sequences of row/column power states, etc. Gating logic 429 can select one of intermediate local power state signal 435 or column/row power state signal 434 representing the lower power state as local power state signal 436.
As shown in
In some examples, local power state control circuit 430 can also receive configuration signal directly from transistors T without storing the configuration signals in configuration memory 450. For example, as described above, local power state control circuit 430 can receive row/column power state signal 434, which can be an analog signal such as a voltage bias signal or a supply voltage, to control the power state of the pixel cell and the processing circuits and/or memory used by the pixel cell.
In addition, each pixel cell also includes transistors O, such as O00, O10, O10, or O11, to control the sharing of the output bus D among a column of pixel cells. The transistors O of each row can be controlled by a read signal (e.g., read_R0, read_R1) to enable a row-by-row read out of the pixel data, such that one row of pixel cells output pixel data through output buses D0, D1, . . . Di, followed by the next row of pixel cells.
In some examples, the circuit components of a pixel cell array, including processing circuits 214 and memory 216, counter 240, DAC 242, buffer network including buffers 230, etc., can be organized into a hierarchical power domain managed by hierarchical power state control circuits. The hierarchical power domain may include a hierarchy of multiple power domains and power sub-domains. The hierarchical power state control circuits can individually set a power state of each power domain, and each power sub-domain under each power domain. Such arrangements allow fine grain control of the power consumption by image sensor 304 and support various spatial and temporal power state control operations to further improve the power efficiency of an image sensor.
While a sparse-image sensing operation can reduce the power and bandwidth requirement, having pixel-level ADCs (e.g., as shown in
The pixel cell depicted in
The configuration shown in
Once the first digital pixel value is determined, a reset signal may “pulse” in the pixel domain, purging the circuits of previously accumulated charges. For example, the charge storage devices in the SOC pixel 500 and ASIC 510, as well as the comparator in the ASIC 510 may be reset to an original state. Though the reset has purged most of the charge in the pixel-domain, latent voltage signals continue to exist in the circuit due to environmental noise, residual charge, and defects in the individual components. Thus, this latent FPN noise can be captured and stored as a second digital pixel value in a second SRAM. The difference between the first digital pixel value and the second digital pixel value will then closely represent the charge generated by the photodiode absent the FPN.
A pixel cell, such as SOC pixel 500, may contain an additional charge storage device, to enable low-gain charge conversion in the pixel cell. For example, as depicted in
While CEXT capacitor 502 improves high-light (or low-gain light) collection, the additional capacitor may take up valuable space on a compressed circuit and may generate noise that will increase the FPN of the circuit. In some embodiments, CEXT capacitor 502 is removed from SOC pixel 500 and DCG gate 504 remains in the SOC pixel. In this configuration, the DCG gate 504 may continue to switch between and open and closed state, but there will not be a capacitor the convert and store charge for low-power operations. This allows the SOC pixel to switch between a high-gain (when DCG gate 504 is open) and a medium-gain (when DCG gate 504 is closed) charge generation operating configuration. Thus, when the DCG gate 504 is open, the SOC pixel continues to operate in a high-gain mode as before, but when the DCG gate 504 is closed, the SOC pixel 500 will now convert and stored charges using a moderate gain configuration.
Like CEXT 502, DCG gate 504 may be removed from the SOC pixel 500 to increase the amount of space available to a compressed circuit and reduce noise generated by the DCG gate 504. In this configuration, SOC pixel 500 will only generate charges in a high-gain charge generation operating configuration. However, the amount of space available to the SOC pixel is increased and the amount of FPN generated by components of the SOC pixel 500 is reduced. It will be appreciated that any subset of pixels in the pixel array may use any of the above configurations to suit the needs of the digital image sensor.
ASIC 510 is an application-specific integrated circuit coupled to SOC pixel 500 to form a pixel domain corresponding to a pixel of the digital image sensor. As depicted in
As depicted in
As further depicted in
As depicted in
In embodiments that implement a DCG gate, such as DCG gate 504, the gate may be set to either an high state or a low state during the time period of exposure. For example, in embodiments, where a moderate-gain (or low-gain in embodiment further implementing a CEXT capacitor 502), charge storage configuration is desired, the DCG gate 504 may be set to a closed configuration state so that charge may pass through the DCG gate 504 to enable the lower-gain configuration.
Shortly following the beginning of the period of exposure, the signal switch to signal SRAM 514 will enter a high power state to enable charge to begin flowing to the SRAM. The SRAM may contain circuits for storing the charge sent to the signal SRAM 514 during this time period by the comparator after it has compared the analog voltage to the reference ramp voltage value. The switch will reenter a low power state shortly after the exposure period ends.
As depicted in
Shortly after the exposure period ends and the signal switch is opened, the reset gate will pulse signaling the reset switch of the reset SRAM 516 to enter a high power state. During this period, the reset SRAM 516 will receive charge converted and stored by FPN generated latently by the environment and the pixel domain. During this time, the charge storage device is not coupled to the photodiode and charges from light will not be converted and stored. This will provide the reset SRAM 516 with an isolated FPN signal quantized by the comparator based on the reference ramp voltage. For example, the DRAMP-RST value of 0-63 represents a standard 6-bit analog-to-digital conversion of the FPN signal to a digital pixel value. The value is stored in the reset SRAM 516 as a digital pixel value representing the digital FPN generated latently by the pixel domain.
As depicted in
An ADC that will convert the generated charge values is inactive during the time period of exposure. Following the first time period of exposure the ADC will begin converting the generated signal voltage value to a digital value. The digital value may be based on a DRAMP signal configuration which will convert the value to a 9-bit number. Following the conversion of the generated signal volume value to a digital value by the ADC, the ADC will then convert the generated reset voltage value to a digital value. The digital value may be based on a DRAMP reset configuration which will convert the value to a 6-bit number. Following these operations, the pixel cell may again be reset and a new frame capture will begin.
At the beginning of the flow, light 720 enters SOC pixel 500, for example through a photodiode such as photodiode 202. The photodiode is configured to generate a charge in response to light and a charge storage device, such as charge storage device 206 in configured to convert and store a charge based on the generated charge. The charge storage device may send this charge to ASIC 510, for example as part of a charge 730. ASIC 510 may receive charge 730 and quantize the charges, which may be stored at either of signal SRAM 514 or reset SRAM 516 according to the time period during which the charge is received. For example, if the charge 730 is received during the exposure period, the charge 730 will be received, quantized, and then stored by signal SRAM 514. If the charge 730 is received during the reset period (during which the latent FPN is measured), the charge will be received, quantized, and then stored by reset SRAM 516.
The output of signal SRAM 514 and reset SRAM 516 are digital pixel values signal digital pixel value 740 and reset digital pixel value 750 respectively. Signal digital pixel value 740 may be, for example, a digital pixel value determined by a comparator and stored in memory circuits of signal SRAM 514 during the exposure time period, and represents the charge converted from the reception of light 720 and additional FPN generated by the pixel domain 710. Reset voltage 750 may be, for example, a digital pixel value determined by a comparator and stored in memory circuits of reset SRAM 516 during the reset period and represents FPN voltage values generated by latent signals within the circuit during the reset period.
Each of signal digital pixel value 740 and reset digital pixel value 750 are sent to a processor 760 for further processing the digital pixel values after quantization and storage. The processor may include, for example, logical instructions configured to determine if a value received from the pixel domain 710 was generated as part of an initial TTS or similar operation, or during a subsequent time period. For example, the processor 760 may forward the signal digital pixel value 740 if it was generated as part of a TTS operation (e.g., prior to the pulsing of the TG gate). However, as described herein, the quantized digital pixel value from the TTS operation may not be strong enough to sufficiently “drown out” latent FPN from the pixel domain 710 when utilized in downstream applications. Accordingly, processor 760 may determine to perform a digital pixel value conversion based on separate signal and reset digital pixel values received after performing the TTS operation. For example, the processor 760 may determine that a signal digital pixel value 740 is not a TTS-based value (e.g., a value quantized after pulsing the TG gate, but before pulsing the RST gate), and responsively perform a digital pixel value conversion on the signal value (e.g., generating a third digital pixel value based on the difference between the quantized signal value the quantized reset value). The digital data 770 may thus be indicative of a quantized TTS operation or a quantized conversion value correcting for latent FPN in the pixel domain 710.
It will be appreciated that the comparisons performed by the processor 760 may be performed by logical circuits in the pixel cell 500 or ASIC 510 in some embodiments. In various embodiments, the processor 760 may determine to perform the conversion of the digital pixel value based on a threshold value of sufficient charge capture and quantization. As discussed herein, the threshold pixel value may represent a value at which a quantized signal value sufficiently outweighs pixel pattern noise generated within a pixel domain (e.g., whether the quantized digital pixel value from the TTS operation sufficiently “drowns out” latent FPN). In various further embodiments, the conversion of the digital pixel value is performed when it is determined that the quantized signal digital pixel value 740 (e.g., the TTS-based value) does not meet the threshold. This may correspond to a situation in which the loss of power required to remove the FPN from the digital pixel data using the digital pixel value conversion is not worth the value of the relative correction of the FPN in the final digital data (e.g., the captured light intensity during the TTS operation is so intense that a reduction of FPN would be negligible in the final digital data exported). In some embodiments, the ADC does not quantize the reset voltage charge (e.g. when the SW RST is not closed) if the processor 760 has determined that the digital pixel value for the TTS signal has met or exceeded the threshold voltage. In some embodiments, the ADC will quantize the reset voltage signal in response to a signal from the processor 760 that the threshold voltage is not met by the TTS operation. Thus the ADC will consume power to quantize a reset voltage signal when necessary to correct potentially corrupted values generated during the TTS operation. In some embodiments, the processor 760 may compile digital image data using digital pixel values from a variety of TTS operations performed by a number of pixel domains. The processor may then regenerate the digital pixel data by replacing digital pixel values that do not meet the threshold with the converted digital pixel values from the signal and reset operations. The digital data 770 resulting from processor by the processor 760 is output by the digital pixel sensor 700. Thus, the processor 760 may perform pixel conversions as necessary to improve a digital image to save power, as opposed to universally performing pixel conversions to replace all TTS-based digital pixel values generated. More specifically, the processor 760 will may only replace those TTS-based values that did not meet the threshold value to save power while improving the generated digital image.
In some embodiments not pictured in
At 804, the first voltage is quantized, for example, by an ADC. For example, the ADC may receive the signal voltage stored by charge storage device and quantize the signal voltage to generate a digital pixel value. The digital pixel value generated by the quantization operation may be based on a digital bit-based conversion scheme in signal SRAM 514. For example, as depicted in
At 806, a second voltage signal is generated following a reset operation. For example, a reset SRAM, such as reset SRAM 516 may receive a latent voltage signal from the pixel domain used to generate the first voltage signal in 802 following a reset of the pixel domain. The generated second voltage signal following the reset operation may represent an signal of FPN generated inherently by the pixel domain and the environment in which the digital image sensor is operating. For example, a reset gate and a comparator reset switch may trigger, purging the pixel domain circuit of charges used to generate the first voltage signal. Any resulting signals generated after the purge and before the next exposure period may correspond to a latent FPN within the pixel domain.
At 808, the second voltage is quantized, for example, by an ADC. For example, the ADC may receive the reset voltage generated latently by the pixel domain and quantize the reset voltage to generate a digital pixel value. The digital pixel value generated by the quantization operation may be based on a digital bit-based conversion scheme in reset SRAM 516. For example, as depicted in
At 810, a determination is made whether the quantized first voltage signal is greater than a noise correction threshold. The determination may be performed by a processing circuit or subsystem of the digital pixel sensor such as processor 760. For example, processor 760 may receive, from an ADC, digital pixel data quantized by the ADC at 806. The processor 760 may also receive or have stored thereon a noise correction threshold (threshold pixel value). The threshold may correspond to a digital pixel value representing an intensity of captured charge for which correction of FPN would not be preferable given the power consumed by a quantization of the second voltage signal generated in 804 and an alteration operation to remove the FPN by determining the difference of two digital pixel values. For example, a highly intense light will only contain a small proportion of FPN in the corresponding digital pixel value, and removal of the FPN from the signal will only cause a negligible change in the resulting pixel while consuming a fixed amount of power. Thus, if the quantized first voltage signal is greater than the set noise correction threshold, the FPN need not be removed from the digital pixel value prior to export off-sensor.
In various embodiments, the processor 780 or a correlated component of digital pixel sensor 700 may receive, determine or otherwise generate the noise correction threshold. A noise correction threshold may be generated based on a state of the environment and a configuration of pixel cells in the array of pixel cells in the digital image sensor. For example, a bright environment (as measured by a sensor), and highly sensitive digital pixel sensor may cause the processor to generate a noise correction threshold that is relatively low to reduce the number of quantization operations and the number of digital pixel value alterations to save power. In some embodiments, the noise correction threshold may be determined based on a mean, median, mode or other value determined by a component of the digital pixel sensor. For example, a processor may determine a mean value of FPN during a previous frame using digital pixel values using quantized second voltage signal generated after a reset period.
If the quantized signal exceeds the noise correction threshold, the method proceeds to block 814, otherwise, it proceeds to block 812.
At 814, if it is determined that the quantized first voltage signal is greater than the noise corrections threshold, the quantized first voltage signal is output. In this case, the processor or another component of the digital pixel sensor may output the quantized first voltage signal as digital pixel data without any alternations, as an alteration of the digital pixel value quantized would consume more power than the conversion is worth.
Alternatively, at 812, if it is determined that the quantized first voltage signal is not greater than a noise correction threshold, the quantized second voltage signal is subtracted from the first voltage signal to alter the first voltage value. The subtraction of the digital pixel value representing the second voltage signal (e.g., the FPN signal inherent to the pixel domain) will cause the digital pixel value representing the first voltage signal (e.g., the captured light charge as well as the FPN) to more closely approximate the captured light charge without noise interference. Following the subtraction of the quantized second voltage signal from the quantized first voltage signal, the first voltage signal is then output at 814. The process 800 may then repeat again starting at 802 following another reset of the pixel domain circuit to begin processing a new pixel frame.
Some portions of this description describe the embodiments of the disclosure in terms of algorithms and symbolic representations of operations on information. These algorithmic descriptions and representations are commonly used by those skilled in the data processing arts to convey the substance of their work effectively to others skilled in the art. These operations, while described functionally, computationally, or logically, are understood to be implemented by computer programs or equivalent electrical circuits, microcode, or the like. Furthermore, it has also proven convenient at times, to refer to these arrangements of operations as modules, without loss of generality. The described operations and their associated modules may be embodied in software, firmware, and/or hardware.
Steps, operations, or processes described may be performed or implemented with one or more hardware or software modules, alone or in combination with other devices. In some embodiments, a software module is implemented with a computer program product comprising a computer-readable medium containing computer program code, which can be executed by a computer processor for performing any or all of the steps, operations, or processes described.
Embodiments of the disclosure may also relate to an apparatus for performing the operations described. The apparatus may be specially constructed for the required purposes, and/or it may include a general-purpose computing device selectively activated or reconfigured by a computer program stored in the computer. Such a computer program may be stored in a non-transitory, tangible computer-readable storage medium, or any type of media suitable for storing electronic instructions, which may be coupled to a computer system bus. Furthermore, any computing systems referred to in the specification may include a single processor or may be architectures employing multiple processor designs for increased computing capability.
Embodiments of the disclosure may also relate to a product that is produced by a computing process described herein. Such a product may include information resulting from a computing process, where the information is stored on a non-transitory, tangible computer-readable storage medium and may include any embodiment of a computer program product or other data combination described herein.
The language used in the specification has been principally selected for readability and instructional purposes, and it may not have been selected to delineate or circumscribe the inventive subject matter. It is therefore intended that the scope of the disclosure be limited not by this detailed description, but rather by any claims that issue on an application based hereon. Accordingly, the disclosure of the embodiments is intended to be illustrative, but not limiting, of the scope of the disclosure, which is set forth in the following claims.
This application claims priority to U.S. provisional patent application Ser. No. 63/109,661, filed Nov. 4, 2020 entitled, “DPS WITH TTS AND SINGLE DIGITAL DOUBLE SAMPLING (DDS) QUANTIZATION,” which is hereby expressly incorporated by reference in its entirety.
Number | Date | Country | |
---|---|---|---|
63109661 | Nov 2020 | US |