Patent Description:
Camera devices with image sensors are commonly integrated into a wide array of electronic devices such as mobile phones, autonomous systems (e.g., autonomous drones, cars, robots, etc.), computers, smart wearables, cameras, and many other devices. The camera devices allow users to capture video and images from a wide variety of electronic devices. The video and images can be captured for recreational use, professional photography, surveillance, and automation, among other applications. The quality of a video or image can depend on the capabilities of the camera device used to capture the video or image and a variety of factors such as exposure. Exposure relates to the amount of light that reaches the image sensor, as determined by shutter speed or exposure time, lens aperture, and scene luminance.

The illumination conditions in a scene, such as the brightness and darkness levels of the scene, can change quickly. In many cases, the exposure settings of the camera device may be unsuitable for the different illumination conditions, which can result in overexposed images, underexposed images, a degradation of the quality of the captured images and/or performance of subsequent image processing algorithms, etc. To limit such issues, the exposure settings of the camera device can be adjusted to account for changes in illumination conditions. However, exposure correction mechanisms can have large processing costs, limited adaptability, increased convergence times, and often require wasteful and inefficient use of multiple exposures to calculate new exposure settings for a scene. <CIT> discloses an imaging apparatus includes an image sensor including a first pixel group used for generating an image signal by photoelectrically converting an object image and a second pixel group configured to receive a light flux that has passed through divided areas of the exit pupil, a memory unit configured to store information about whether a defective pixel exists in any pixel included in the second pixel group, a control unit configured to execute calculation including combination processing on output signals of the second pixel group existing in a predetermined area, and a controller configured to control a shooting operation according to a result of the calculation by the calculation unit. The calculation unit is configured, if a defective pixel whose information is stored on the memory unit exists in the combination processing, to execute the calculation by using the output signals of the second pixel group. <CIT> discloses an invention, where the object of the invention to provide a solid-state image sensing apparatus capable of performing high-precision AF and AE without adding any camera mechanism or increasing power consumption. To achieve this object, at least S1 and S2 among photoelectric conversion cells output signals not for forming an image signal in a solid-state image sensing apparatus in which photoelectric conversion cells for converting an optical image formed by an optical system into an electrical signal are two-dimensionally laid out.

The invention is defined in the independent claims, to which the reader is now directed. Preferred or advantageous embodiments are set out in the dependent claims.

In order to describe the manner in which the above-recited and other advantages and features of the disclosure can be obtained, a more particular description of the principles described above will be rendered by reference to specific embodiments thereof which are illustrated in the appended drawings. Understanding that these drawings depict only example embodiments of the disclosure and are not to be considered to limit its scope, the principles herein are described and explained with additional specificity and detail through the use of the drawings in which:.

Certain aspects and embodiments of this disclosure are provided below. Some of these aspects and embodiments may be applied independently and some of them may be applied in combination as would be apparent to those of skill in the art. In the following description, for the purposes of explanation, specific details are set forth in order to provide a thorough understanding of embodiments of the application. 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.

Unless explicitly indicated as "embodiment(s) according to the invention", any embodiment example, aspect, or implementation in the description may include some but not all features as literally defined in the claims and is present for illustration purposes only.

The ensuing description
of the exemplary embodiments will provide those skilled in the art with an enabling description for implementing an exemplary embodiment.

In video and imaging, exposure refers to the amount of light per unit area that reaches an image sensor as determined by shutter speed, lens aperture, gain, and luminance, for example. Within a given exposure, the image sensor provides a certain amount of dynamic range, such as pixel values from <NUM> to <NUM> as further described below. Generally, an image sensor has a limited exposure range and a limited dynamic range, which limits the range of pixel values that can be represented. For example, if an image sensor can represent a maximum <NUM> (<NUM> bit) pixel value, then any scene element having a brightness that exceeds the combination of exposure and sensor dynamic range would cause the pixel value to cap at <NUM> and be recorded as white (overexposed) rather than the accurate color and brightness details or values. Similarly, any scene element having a brightness that is less than the combination of exposure and sensor dynamic range would result in a minimum pixel value of <NUM> and would be recorded as black (underexposed) rather than the accurate details or values. Accordingly, in a very bright scene where the pixel values may exceed the maximum range of an image sensor, the pixels for that part of the scene may be recorded as white, and in a very dark scene where the pixel values may be <NUM>, the pixels for that part of the scene may be recorded as black.

Moreover, the image captured by the image sensor can be considered to be oversaturated when the image has a loss of highlight detail, in which case bright parts of the image (or the image as a whole) may be white (e.g., washed out) or clipped, and the image can be considered to be undersaturated when the image has a loss of shadow detail, in which case dark may be indistinguishable from black or compressed. When one or more portions of the image exceed the maximum pixel value range supported by the image sensor (e.g., when one or more portions of the image are oversaturated/overexposed or undersaturated/underexposed), the image sensor may not be able to determine the actual pixel values of those portions of the image or properly render the scene captured by the image without clipping pixel values so the clipped values do not exceed the maximum pixel value ranges. With less accurate pixel values, the accuracy of the exposure settings calculated for the image sensor and the quality of the image can be reduced.

Furthermore, the illumination conditions in a scene being captured by a camera device, such as the brightness and darkness levels of the scene, can change quickly. In many cases, the exposure settings of the camera device may be unsuitable for the different illumination conditions. The unsuitable exposure settings of the camera device can lead to overexposed/oversaturated images, underexposed/undersaturated images, a degradation of the quality of the captured images and/or performance of subsequent image processing algorithms, etc. As previously noted, in many cases, the brightness levels of the scene can exceed the dynamic range of the camera device, and the camera device may require multiple exposures to render the scene and for exposure convergence from dark scenes to bright scenes and vice versa. In some cases, the camera device can perform high dynamic range for exposure convergence. However, clipping operations can negatively impact metrics used to calculate exposure settings and consequently the exposure convergence.

For example, underexposure and overexposure can cause problems with video preview exposure convergence. Auto exposure (AE) involves converging exposure when a scene changes from bright to dark or vice versa. However, if the pixel values in a captured image are clipped (e.g., becomes when a scene abruptly changes from dark to bright, the image becomes white or too bright) or compressed (e.g., because when a scene abruptly changes from bright to dark, the image becomes black or too dark), the statistics used to calculate exposure settings are impacted and AE may instead need to take a general or educated guess of the appropriate exposure settings by increasing or decreasing exposure without knowing a more exact or accurate target. Accordingly, to calculate exposure settings for an image sensor, the image sensor may need more accurate statistics that are not based on pixel values that have clipped (e.g., too bright) or compressed (e.g., too dark) values.

In some examples, the technologies described herein can implement sensitivity-biased photosensor (SBP) pixels to address these and other challenges. The SBP pixels can be implemented in a photosensor pixel array used by an image sensor to capture image data for a scene. The SBP pixels can include photodiodes to capture and measure light in a scene, and can be configured to have a reduced or increased light sensitivity which can allow the SBP pixels to capture more brightness levels in a dark scene (and/or an underexposed image) and less brightness levels in a bright scene (and/or an overexposed image). Such a property of SBP pixels can prevent the pixel values measured by an SBP pixel with a reduced light sensitivity from becoming oversaturated/overexposed in a bright scene, and can also prevent the pixel values measured by an SBP pixel with an increased light sensitivity from becoming undersaturated/underexposed in a dark scene. As used herein, the term "saturated" can include oversaturated/overexposed and/or undersaturated/underexposed.

The pixel values calculated by the SBP pixels can also be used to calculate more accurate brightness levels in scenes where other photosensor pixels are unable to capture actual brightness levels for a variety of reasons. For example, other photosensor pixels may be unable to capture actual brightness levels when the brightness levels in the scene exceed the maximum saturation/exposure levels of the image sensor, when the light sensitivity of the other photosensor pixels is too low to capture more brightness levels in a dark scene, and/or in other cases.

The more accurate pixel values calculated by the SBP pixels can be used to calculate more accurate exposure settings for the image sensor, as they can account for brightness levels that other photosensor pixels may not. The more accurate exposure settings can not only improve image quality, but can also decrease exposure convergence time. Moreover, the SBP pixels can provide such exposure settings and reduced exposure convergence time without requiring clipping operations or multiple exposures, which can decrease efficiency and waste image data that could otherwise be used for other imaging tasks and benefits. The pixel values from SBP pixels can thus be used to improve the quality and exposure of generated images, as well as the performance of subsequent image processing algorithms.

In some examples, to increase or decrease the light sensitivity of an SBP pixel and obtain more accurate pixel values for a scene, the SBP pixel can implement a mask or filter configured to filter a certain amount of light, a larger or smaller aperture, and/or a modified rate for converting photons to electrical charges. For example, an SBP pixel can be made less sensitive to light by applying a mask or filter that blocks a certain amount of light on the SBP pixel, and can be made more sensitive to light by not applying a mask or filter that blocks light on the SBP pixel, increasing its aperture, converting photons to electrical charges at an increased rate, and/or combining multiple photodiodes to create a super-diode as shown in <FIG>.

In an illustrative example involving a bright scene, one or more SBP pixels can implement a mask or filter to block a certain amount of light. Thus, while other photosensor pixels in the bright scene may become oversaturated/overexposed by the light in the scene, the less sensitive SBP pixels may filter a certain amount of the light and provide a lower pixel value that is not oversaturated/overexposed. In an illustrative example, to calculate the accurate pixel value for the less sensitive SBP pixels, the pixel value captured by the less sensitive SBP pixels can be multiplied by the amount of light such SBP pixels are configured to filter. To illustrate, if an SBP pixel is configured to capture half of the light and filter the other half of the light received, and the SBP pixel captures a pixel value of <NUM>, then the pixel value of <NUM> can be multiplied by <NUM> (e.g., based on the SBP pixel being configured to filter half of the light) to estimate an actual pixel value of <NUM>. The pixel value of <NUM> can be a more accurate pixel value and can be used to infer the actual pixel value of oversaturated/overexposed pixel values in the image.

Moreover, to determine an adjustment factor (also referred to as an adjustment value) that can be used to determine a more accurate exposure, a target exposure value can be divided by the actual pixel value calculated for the pixel value associated with the SBP pixel (e.g., <NUM> in the previous example). To illustrate, based on the previous example, if the target value is <NUM>, the target value of <NUM> can be divided by the actual pixel value <NUM> to yield an adjustment factor of <NUM>. The adjustment factor of <NUM> can then be used to adjust the exposure settings of the image sensor and/or correct the pixel values for oversaturated/overexposed pixels.

In an illustrative example involving a dark scene, one or more SBP pixels can be implemented without a filter, with a larger aperture, and/or with an increased rate of converting photons to electrical charges, in order to capture more light and brightness levels in the dark scene. Thus, while other photosensor pixels in the dark scene may become undersaturated/underexposed by the lack or limited of light in the dark scene, the more sensitive SBP pixels may capture more light and brightness levels, and provide a higher pixel value that is not undersaturated/underexposed. The higher pixel value can be used to infer a more accurate pixel value for undersaturated/underexposed pixels. In some cases, the higher pixel value can be adjusted as previously explained based on the light sensitivity of the SBP pixel (for example, by reducing the pixel value proportionate to an increase in sensitivity of the SBP pixel). In other cases, the higher pixel value can be used without further adjustment. Moreover, to determine an adjustment factor for exposure settings, a target exposure value can be divided or multiplied by the pixel value for the SBP pixel.

In some cases, SBP pixels in the photosensor pixel array can be implemented in one or more borders of the photosensor pixel array. For example, one or more SBPs can be implemented on a top and/or bottom row of the photosensor pixel array and/or on a left and/or right column of the photosensor pixel array. Parts of the photosensor pixel array outside of the borders can be referred to as non-border regions. Often, a camera system reads pixel values on a line-by-line basis. Accordingly, by placing the SBP pixels on the border(s) of the photosensor pixel array, the camera system can quickly recognize the pixel values from the SBP pixels as pixel values are read in the line-by-line basis, and can place the pixel values from the SBP pixels in a buffer for use as previously described, rather than performing more expensive computations to detect or index such SBPs if otherwise located in other regions of the photosensor pixel array.

The technology described herein will be described in greater detail in the following disclosure. The discussion begins with a description of example systems, techniques, and applications for implementing sensitivity-biased photosensor pixels and performing automatic exposure control using sensitivity-biased photosensor, as illustrated in <FIG>. A description of an example method for automatic exposure control using sensitivity-biased photosensor pixels, as illustrated in <FIG>, will then follow. The discussion concludes with a description of an example computing device architecture including example hardware components suitable for automatic exposure control using sensitivity-biased photosensor pixels, as illustrated in <FIG>. The disclosure now turns to <FIG>.

<FIG> is a block diagram illustrating an architecture of an example image capture and processing system <NUM>. The image capture and processing system <NUM> can include various components used to capture and process images of scenes, such as one or more images of scene <NUM>. The image capture and processing system <NUM> can capture standalone images (or photographs) and/or can videos that include multiple images (or video frames) in a particular sequence. The system <NUM> can include a lens <NUM> that faces a scene <NUM> and receives light from the scene <NUM>. The lens <NUM> can bend the light toward an image sensor <NUM>. The light received by the lens <NUM> can pass through an aperture controlled by one or more control mechanisms <NUM>, and subsequently received by the image sensor <NUM>.

The one or more control mechanisms <NUM> can control one or more features, mechanisms, components, and/or settings such as, for example, exposure, focus, zoom, among others. For example, the control mechanisms <NUM> can include one or more exposure control mechanisms 125A, one or more focus control mechanisms 125B, and/or one or more zoom control mechanisms 125C. The one or more control mechanisms <NUM> may also include other control mechanisms, such as control mechanisms for controlling analog gain, flash, high dynamic range (HDR), depth of field, and/or other image capture properties. The one or more control mechanisms <NUM> can control features, mechanisms, components, and/or settings based on information from the image sensor <NUM>, information from the image processor <NUM>, and/or other information.

The focus control mechanism 125B can obtain a focus setting. In some examples, focus control mechanism 125B can store the focus setting in a memory register. Based on the focus setting, the focus control mechanism 125B can adjust the position of the lens <NUM> relative to the position of the image sensor <NUM>. For example, based on the focus setting, the focus control mechanism 125B can move the lens <NUM> closer to the image sensor <NUM> or farther from the image sensor <NUM> by actuating a motor or servo (or other lens mechanism), thereby adjusting focus. In some cases, additional lenses may be included in the system <NUM>, such as one or more microlenses over each photodiode of the image sensor <NUM>. Each microlens can bend the light received from the lens <NUM> toward the corresponding photodiode before the light reaches the photodiode. The focus setting may be referred to as an image capture setting and/or an image processing setting.

The exposure control mechanism 125A can obtain, determine, and/or adjust one or more exposure settings. In some cases, the exposure control mechanism 125A can store the one or more exposure settings in a memory register. Based on the one or more exposure settings, the exposure control mechanism 125A can control a size of the aperture (e.g., aperture size), a duration of time for which the aperture is open (e.g., exposure time or shutter speed), a sensitivity of the image sensor <NUM> (e.g., ISO speed or film speed), analog gain applied by the image sensor <NUM>, and/or any other exposure settings. The one or more exposure settings may be referred to as an image capture setting and/or an image processing setting.

The zoom control mechanism 125C can obtain a zoom setting. In some examples, the zoom control mechanism 125C can store the zoom setting in a memory register. Based on the zoom setting, the zoom control mechanism 125C can control a focal length of an assembly of lens elements (lens assembly) that includes the lens <NUM> and one or more additional lenses. For example, the zoom control mechanism 125C can control the focal length of the lens assembly by actuating one or more motors or servos (or other lens mechanism) to move one or more of the lenses relative to one another. The zoom setting may be referred to as an image capture setting and/or an image processing setting.

The image sensor <NUM> can include one or more arrays of photodiodes or other photosensitive elements. Each photodiode measures an amount of light that eventually corresponds to a particular pixel in an image produced by the image sensor <NUM>. In some cases, different photodiodes may be covered by different color filters, and may thus measure light matching the color of the filter covering the photodiode. For instance, Bayer color filters include red color filters, blue color filters, and green color filters, with each pixel of the image generated based on red light data from at least one photodiode covered in a red color filter, blue light data from at least one photodiode covered in a blue color filter, and green light data from at least one photodiode covered in a green color filter. Other types of color filters may use yellow, magenta, and/or cyan (also referred to as "emerald") color filters instead of or in addition to red, blue, and/or green color filters. Some image sensors may lack color filters altogether, and/or may use different photodiodes throughout the array (in some cases vertically stacked). In some cases, different photodiodes in the array can have different spectral sensitivity curves, therefore responding to different wavelengths of light.

In some cases, the image sensor <NUM> may instead or additionally include masks that block or prevent a certain amount of light from reaching certain photodiodes, or portions of certain photodiodes. In some examples, a mask can be implemented to increase or decrease an associated photodiode's sensitivity to light. For example, a more opaque mask can be used to decrease a photodiode's sensitivity to light, and a less opaque mask (or no mask) can be used to increase a photodiode's sensitivity to light. Moreover, in some examples, masks can be used for phase detection autofocus (PDAF). Moreover, in some examples, a mask can include a filter, layer, film, material, and/or other element or property that can be applied to filter a certain amount of light and prevent the filtered light from reaching an associated photodiode.

In some cases, the image sensor <NUM> can include a gain amplifier to amplify the analog signals output by the photodiodes and/or an analog to digital converter (ADC) to convert the analog signals output of the photodiodes (and/or amplified by the analog gain amplifier) into digital signals. In some cases, certain components or functions discussed with respect to one or more of the control mechanisms <NUM> may be included instead or additionally in the image sensor <NUM>. In some examples, the image sensor <NUM> can include a charge-coupled device (CCD) sensor, an electron-multiplying CCD (EMCCD) sensor, an active-pixel sensor (APS), a complimentary metal-oxide semiconductor (CMOS), an N-type metal-oxide semiconductor (NMOS), a hybrid CCD/CMOS sensor (e.g., sCMOS), and/or any other combination.

The image processor <NUM> may include one or more processors, such as one or more image signal processors (ISPs) <NUM>, one or more processors <NUM>, and/or one or more of any other type of processor discussed with respect to the computing device <NUM> described with respect to <FIG>. The host processor <NUM> can be a digital signal processor (DSP) and/or other type of processor. In some implementations, the image processor <NUM> can include or be implemented by an integrated circuit or chip (e.g., referred to as a system-on-chip or SoC) that includes the processor <NUM> and the image signal processor <NUM>. In some cases, the chip can also include one or more input/output ports (e.g., input/output (I/O) ports <NUM>), central processing units (CPUs), graphics processing units (GPUs), modems (e.g., <NUM>, <NUM> or LTE, <NUM>, etc.), memory, connectivity components (e.g., Bluetooth™, Global Positioning System (GPS), etc.), and/or other components and/or combination thereof.

The I/O ports <NUM> can include any suitable input/output ports or interface according to one or more protocol or specification, such as an Inter-Integrated Circuit <NUM> (I2C) interface, an Inter-Integrated Circuit <NUM> (I3C) interface, a Serial Peripheral Interface (SPI) interface, a serial General Purpose Input/Output (GPIO) interface, a Mobile Industry Processor Interface (MIPI) (such as a MIPI CSI-<NUM> physical (PHY) layer port or interface, an Advanced High-performance Bus (AHB), any combination thereof, and/or other input/output port. In one illustrative example, the processor <NUM> can communicate with the image sensor <NUM> using an I2C port, and the image signal processor <NUM> can communicate with the image sensor <NUM> using a MIPI port.

The image processor <NUM> may perform a number of tasks such as, for example, de-mosaicing, color space conversion, image frame downsampling, pixel interpolation, automatic exposure (AE) control, automatic gain control (AGC), CDAF, PDAF, automatic white balance, merging of image frames to form an HDR image, image recognition, object recognition, feature recognition, image processing, image enhancement, computer vision, illumination, receipt of inputs, managing outputs, managing memory, HDR processing, and/or any combination thereof. The image processor <NUM> may store image frames and/or processed images in memory <NUM> (e.g., random access memory (RAM), read-only memory (ROM), etc.), a cache, another storage device, and/or any other memory or storage component.

One or more input/output (I/O) devices <NUM> may be connected to the image processor <NUM>. The I/O devices <NUM> can include a display screen, a keyboard, a keypad, a touchscreen, a trackpad, a touch-sensitive surface, a printer, and/or any other output devices, any other input devices, a communication interface, a peripheral device, and/or any combination thereof.

In some cases, the image capture and processing system <NUM> may be part of or may be implemented by a single device. In other cases, the image capture and processing system <NUM> may part of or may be implemented by two or more separate devices. In the example shown in <FIG>, the image capture and processing system <NUM> includes an image capture device 105A (e.g., a camera device) and an image processing device 105B. In some examples, the image capture device 105A and the image processing device 105B can be part of or implemented by a same system or device. In other examples, the image capture device 105A and the image processing device 105B can be part of or implemented by separate systems or devices. For example, in some implementations, the image capture device 105A can include a camera device and the image processing device 105B can include a computing device, such as a mobile handset, a laptop computer, or other computing device.

In some implementations, the image capture device 105A and the image processing device 105B may be coupled together, for example via one or more wires, cables, or other electrical connectors, and/or wirelessly via one or more wireless transceivers. In some implementations, the image capture device 105A and the image processing device 105B may be disconnected from one another.

In the illustrative example shown in <FIG>, a vertical dashed line divides the image capture and processing system <NUM> of <FIG> into two portions that represent the image capture device 105A and the image processing device 105B, respectively. The image capture device 105A includes the lens <NUM>, control mechanisms <NUM>, and the image sensor <NUM>. The image processing device 105B includes the image processor <NUM> (including the image signal processor <NUM> and the processor <NUM>), the memory <NUM>, and the I/O <NUM>. In some cases, certain components illustrated in the image capture device 105A, such as the image signal processor <NUM> and/or the processor <NUM>, may be included in the image capture device 105A or vice versa.

The image capture and processing system <NUM> can include an electronic device, such as a mobile or stationary telephone (e.g., smartphone, cellular telephone, or the like), a desktop computer, a laptop or notebook computer, a tablet computer, a set-top box, a television, a camera, a display device, a digital media player, a video gaming console, a video streaming device, an Internet Protocol (IP) camera, an Internet-of-Things (IoT) thing, a smart wearable device (e.g., a smart watch, smart glasses, a head mounted display (HMD), etc.), and/or any other suitable electronic device. In some examples, the image capture and processing system <NUM> can include one or more wireless transceivers for wireless communications, such as cellular network communications, <NUM> WIFI communications, and/or any other wireless communications.

While the image capture and processing system <NUM> is shown to include certain components, one of ordinary skill will appreciate that the image capture and processing system <NUM> can include other components than those shown in <FIG>. The components of the image capture and processing system <NUM> can include software, hardware, or one or more combinations of software and hardware. For example, in some implementations, the components of the image capture and processing system <NUM> can include and/or can be implemented using electronic circuits or other electronic hardware, which can include one or more programmable electronic circuits (e.g., microprocessors, GPUs, DSPs, CPUs, and/or other suitable electronic circuits), and/or can include and/or be implemented using computer software, firmware, or any combination thereof, to perform the various operations described herein. The software and/or firmware can include one or more instructions stored on a computer-readable storage medium and executable by one or more processors of the electronic device implementing the image capture and processing system <NUM>.

<FIG> illustrates a side view of an example photosensor pixel of a photosensor pixel array in an image sensor (e.g., <NUM>). A photosensor pixel can include a photodiode/photodetector implemented by an image sensor to capture photons and associated pixel values. In this example, the photosensor pixel <NUM> includes a microlens <NUM> over a color filter <NUM> (e.g., a Bayer filter or other type of color filter as discussed below), and a photodiode <NUM>. Light <NUM> can pass through the microlens <NUM> and the color filter <NUM> before reaching the photodiode <NUM>.

The color filter <NUM> can represent a filter for a particular color, such as red, blue, or green, used to reflect a certain amount of that color. Red, green, and blue color filters are often used in image sensors and often referred to as Bayer filters. Bayer filter arrays often include more green Bayer filters than red or blue Bayer filters, for example in a proportion of <NUM>% green, <NUM>% red, <NUM>% blue, to mimic sensitivity to green light in human eye physiology. Some color filter arrays (CFAs) can use alternate color schemes and can even include more or fewer colors. For example, some CFAs can use cyan, yellow, and magenta color filters instead of a red, green, and blue Bayer color filter scheme. In some cases, color filters of one or more colors in a color scheme may be omitted, leaving only two colors or even one color.

Moreover, in some cases, one or more photosensor pixels or an entire photosensor pixel array may lack color filters so the sensitivity to colors of the photosensor pixels or the entire photosensor pixel array is not reduced. For example, in some cases, the photosensor pixel <NUM> may include the microlens <NUM> and the photodiode <NUM> without the color filter <NUM>.

<FIG> illustrates a side view of an example sensitivity-biased photosensor pixel <NUM>. In this example, the photosensor pixel <NUM> includes the microlens <NUM> and a mask <NUM> covering a photodiode <NUM> to reduce a light sensitivity of the photodiode <NUM>. Light <NUM> can pass through the microlens <NUM> and the mask <NUM> before reaching the photodiode <NUM>. The mask <NUM> can be configured to filter a certain amount of the light <NUM> to reduce the amount of the light <NUM> that reaches the photodiode <NUM> and thereby decrease the light sensitivity of the photodiode <NUM>.

For example, to prevent a pixel from becoming oversaturated in a bright scene, the mask <NUM> can block or filter a certain amount of light in the scene from reaching the photodiode <NUM>. The mask <NUM> can thus reduce the sensitivity to light of the photodiode <NUM> to allow the photodiode <NUM> to better capture brightness levels in the bright scene. As further described herein, the brightness levels captured by the photodiode <NUM> based on the light passing through the mask <NUM> can be used to calculate pixel values, and/or a normalization value for calculating pixel values, for oversaturated pixels measured by photodiodes in the image sensor, including other photodiodes in the image sensor that may not include a mask for filtering light in the scene. The pixel values calculated for the image captured by the photodiode array can be used to adjust exposure levels, improve convergence, render a scene with brightness levels that exceed a dynamic range of the photodiode array without clipping and/or needing multiple exposures, improve a performance of a subsequent image processing algorithm(s), etc..

In some cases, a photosensor pixel array can implement multiple photosensor pixels having a mask, such as photosensor pixel <NUM>. In some examples, photosensor pixels having a mask can be implemented in one or more regions of a photosensor pixel array. For example, photosensor pixels with masks can be scattered across the photosensor pixel array. In other examples, photosensor pixels with masks can be implemented in one or more borders of the photosensor pixel array.

To illustrate, in some cases, photosensor pixels with masks can be implemented on a top and/or bottom border of the photosensor pixel array and/or on a left and/or right border of the photosensor pixel array. A camera system typically reads pixels on a line-by-line basis. Accordingly, in some examples, by placing photosensor pixels with masks on the borders of the photosensor pixel array, the camera system can quickly recognize the pixels from the photosensor pixels with masks as they are read and use them as further described herein to calculate pixel values for the image, rather than performing more expensive computations to detect or index such pixels if the photosensor pixels with masks are otherwise scattered throughout the image or mixed with other pixels from photosensor pixels that do not have a mask.

The amount of light that the mask <NUM> is configured to filter can vary in different implementations. For example, in some cases, the mask <NUM> can be configured to block more light (e.g., via increased darkening or using a material with higher light filtering capabilities) in order to further reduce the light sensitivity of the photodiode <NUM>. This can allow the photodiode <NUM> to better capture brightness levels in brighter scenes. In other cases, the mask <NUM> can be configured to block less light to limit how much the light sensitivity of the photodiode <NUM> is reduced. In yet other cases, the photosensor pixel may not include a mask so the light sensitivity of the photodiode <NUM> is not reduced.

In some implementations, to increase the light sensitivity of the photodiode <NUM> and better capture brightness levels in darker scenes, the aperture of the photosensor pixel can be increased. For example, with reference to <FIG>, a photosensor pixel <NUM> can include multiple photodiodes <NUM> (or a single, larger photodiode) and a larger microlens <NUM> extended over the multiple photodiodes <NUM> (or the single, larger photodiode). This configuration can allow the photosensor pixel <NUM> to capture more of the light <NUM> and thereby increase the light sensitivity of the photosensor pixel <NUM>. With a higher light sensitivity, the photosensor pixel <NUM> may better capture brightness levels in a darker scene.

The photosensor pixel <NUM> can optionally include a mask <NUM> to filter a certain amount of light. For example, in some cases, the photosensor pixel <NUM> may not include a mask to avoid reducing the light sensitivity of the photosensor pixel <NUM>. In other cases, the photosensor pixel <NUM> can include a larger mask that covers the multiple photodiodes <NUM> to block a certain amount of light and reduce the light sensitivity of the photosensor pixel <NUM> by a certain amount.

While the photosensor pixels <NUM> and <NUM> are shown in <FIG> and <FIG> without a color filter, it should be understood that in some examples, the photosensor pixels <NUM> and/or <NUM> can include a color filter as previously described with respect to <FIG>. Moreover, it should be understood that photosensor pixels in photosensor pixel arrays can have other apertures and/or mask configurations than those shown in <FIG>. For example, <FIG> illustrate various example configurations of photosensor pixel arrays that can be implemented to increase and/or reduce the light sensitivity of one or more photosensor pixels in an image sensor.

<FIG> is a diagram illustrating an example configuration of a photosensor pixel array <NUM> including photosensor pixels <NUM> (shown with a white color) and sensitivity-biased photosensor (SBP) pixels <NUM> (shown with a gray color). The photosensor pixels <NUM> do not include a mask for filtering light, such as mask <NUM>, but may or may not include color filters, such as color filter <NUM>. The SBP pixels <NUM> can include masks for filtering a certain amount of light and thereby reducing the light sensitivity of photodiodes in the SBP pixels <NUM>, as previously described.

In some examples, the photosensor pixel array <NUM> can include SBP pixels <NUM> on a top border <NUM> of the photosensor pixel array <NUM>, a bottom border <NUM> of the photosensor pixel array <NUM>, a right border <NUM> of the photosensor pixel array <NUM>, and/or a left border <NUM> of the photosensor pixel array <NUM>. Parts of the photosensor pixel array outside of the top border <NUM>, the bottom border <NUM>, the right border <NUM>, and the left border <NUM> can be referred to as non-border regions of the photosensor pixel array <NUM>. In the example shown in <FIG>, the photosensor pixel array <NUM> includes SBP pixels <NUM> on the top border <NUM> and the right border <NUM> of the photosensor pixel array <NUM>.

In some examples, the SBP pixels <NUM> can be used to determine more accurate pixel values for an undersaturated/underexposed and/or oversaturated/overexposed image captured by photodiodes in the photosensor pixel array. For example, the SBP pixels <NUM> can measure unsaturated pixel values in an oversaturated/overexposed image and can be used to calculate more accurate pixel values that otherwise exceed the dynamic range of the image sensor. Even if the SBP pixels <NUM> are also saturated, the SBP pixels <NUM> can still lead to more accurate predictions. For example, assume the SBP pixels <NUM> in this illustrative example are 10x less sensitive to light than the photosensor pixels <NUM> and a scene change causes all photosensor pixels to saturate, including both the photosensor pixels <NUM> and the SBP pixels <NUM>. The fact that the SBP pixels <NUM> are 10x less sensitive than the photosensor pixels <NUM> and are nevertheless saturated means that reducing the exposure of the photosensor pixels <NUM> (which are not sensitivity biased) by 10x will not provide a sufficient or large enough adjustment. In this example, the fact that the SBP pixels <NUM> are 10x less sensitive to light and yet are still saturated indicates that the exposure of the photosensor pixels <NUM> should be decreased by even more than 10x. Thus, the SBP pixels <NUM> can be used to make the determination that the exposure of the photosensor pixels <NUM> should be decreased by more than 10x, and would consequently lead to a more accurate prediction than would be possible if the photosensor pixel array <NUM> did not include SBP pixels <NUM> as the photosensor pixels <NUM> without the SBP pixels <NUM> would not provide sufficient information to conclude that the exposure should be reduced by more than 10x.

In some cases, the more accurate pixel values can be used to calculate an adjustment factor. In some examples, the adjustment factor can be used to determine and/or implement an adjusted (e.g., a more correct/accurate) exposure for a scene captured by the photosensor pixel array <NUM>. In some examples, the adjustment factor can be used to correct the undersaturated/oversaturated and/or oversaturated/overexposed pixel values. In some examples, the adjustment factor can be used to adjust the exposure for a scene and also to correct undersaturated/oversaturated and/or oversaturated/overexposed pixel values.

In some examples, the more accurate pixel values and/or the calculated adjustment factor can be used to converge exposures when a scene abruptly changes from bright to dark or from dark to bright. For example, when the brightness levels of a scene abruptly increase to a level such that captured pixel values become oversaturated and/or appear white, the adjustment factor can be used to normalize or adjust the exposure and/or oversaturated pixel values to certain brightness levels that can allow the scene to be rendered and/or exposure convergence time to be reduced by an Image Capture and Processing System (e.g., the system <NUM>).

As previously noted, the sensitivity of the SBP pixels <NUM> can vary in different examples to better capture brightness levels in a darker scene and/or a brighter scene. For example, an SBP pixel <NUM> can be made more sensitive to light by increasing its aperture, configuring the SBP pixel <NUM> without any masks, and/or increasing the rate for converting photons to electrical charges. Moreover, in some examples, an SBP pixel <NUM> can be made less sensitive to light by applying a mask that blocks a certain amount of light on the SBP pixel <NUM>, reducing its aperture, and/or decreasing the rate for converting photons to electrical charges. In an illustrative example involving a bright scene, the SBP pixels <NUM> can implement a mask to block a certain amount of light. Thus, while photosensor pixels <NUM>, which do not include a mask, may become oversaturated/overexposed by the light in the brighter scene, the less sensitive SBP pixels <NUM> may filter a certain amount of the light and provide a lower pixel value that is not oversaturated/overexposed.

In some cases, to calculate the accurate pixel values for the less sensitive SBP pixels <NUM>, the pixel values captured by the less sensitive SBP pixels <NUM> can be multiplied by the amount of filtering provided by such SBP pixels <NUM>. For example, if an SBP pixel <NUM> is configured to capture half of the light it receives and filter the other half of the light, and the SBP pixel <NUM> captures a pixel value of <NUM>, then the pixel value of <NUM> can be multiplied by <NUM> (which corresponds to the SBP pixels light sensitivity being reduced by ½ in this example) to estimate an actual pixel value of <NUM>. In some examples, the pixel value of <NUM> can be used to infer the actual pixel value and/or adjust the captured pixel values, of pixels captured by the other photosensor pixels 310in the photosensor pixel array <NUM>. Moreover, the pixel value of <NUM> can be used to calculate an adjustment factor for adjusting exposure settings of the image sensor.

For example, in some cases, to determine an adjustment factor for adjusting exposure settings, a target exposure value can be selected and divided by the pixel value calculated using the SBP pixels <NUM> (e.g., <NUM> in the previous example). To illustrate, in the previous example, if the target exposure value is <NUM>, the target exposure value of <NUM> can be divided by the actual pixel value <NUM> calculated using the SBP pixels <NUM>, to yield an adjustment factor of <NUM>. The adjustment factor of <NUM> can then be used to adjust the exposure settings and/or correct the pixel values for saturated pixels.

Moreover, by implementing SBP pixels <NUM> in border regions (e.g., <NUM>, <NUM>, <NUM>, <NUM>) of the photosensor pixel array <NUM>, the SBP pixels <NUM> can be detected more efficiently and/or with less expensive computations. For example, camera systems typically read pixel values measured by a photosensor pixel array on a line-by-line basis. Accordingly, in some examples, by placing SBP pixels <NUM> on the border region(s) of the photosensor pixel array <NUM>, a camera system can quickly recognize the pixel values measured by the SBP pixels <NUM> in the border regions based on a difference in brightness levels between the pixel values from the SBP pixels <NUM> and other pixel values, a location of the SBP pixels <NUM>, a line in a pixel value stream, and/or a difference between pixel values in lines corresponding to border regions and pixel values corresponding to other photosensor pixels. This way, the camera system can detect the pixels corresponding to the SBP pixels <NUM> in the border regions without performing more expensive computations that may otherwise be needed to detect pixel values from SBP pixels <NUM> located in other regions of the photosensor pixel array <NUM>. In some cases, the camera system can place pixel values recognized as corresponding to the SBP pixels <NUM> in a buffer or storage for use as described herein.

In some examples, the photosensor pixel array <NUM> can include one or more SBP pixels <NUM> in other regions of the photosensor pixel array <NUM>. For example, the photosensor pixel array <NUM> can include one or more SBP pixels <NUM> scattered at inner or non-border regions of the photosensor pixel array <NUM>. In some examples, the SBP pixels <NUM> on the other regions (e.g., the inner or non-border regions) of the photosensor pixel array <NUM> can be used for PDAF. In other examples, such SBP pixels <NUM> can be used to determine more accurate pixel values as described herein. In some cases, as previously described, the more accurate pixel values can be used to calculate an adjustment factor to determine and/or implement an adjusted exposure for a scene captured by the photosensor pixel array <NUM> and/or correct oversaturated pixel values.

<FIG> is a block diagram illustrating another configuration of a photosensor pixel array <NUM> having SBP pixels <NUM>. In this example, the SBP pixels <NUM> are configured across the top border <NUM> of the photosensor pixel array <NUM>, and remaining regions of the photosensor pixel array <NUM>, including the bottom border <NUM>, the right border <NUM>, and the left border <NUM>, are configured with photosensor pixels <NUM> that are not sensitivity-biased (e.g., that do not include masks). In some cases, since pixel values can be read by a camera system on a line-by-line basis, the pixel values from the SBP pixels <NUM> across the top border <NUM> can be detected as the lines and/or the pixel values corresponding to the top border <NUM> (and/or the line associated with the top border <NUM>) are read by the camera system. In some examples, the camera system can detect the pixel values from the SBP pixels <NUM> based on a difference between the pixel values associated with the top border <NUM> (and/or the line associated with the top border <NUM>) and the pixel values corresponding to one or more other regions in the photosensor pixel array <NUM> (and/or other lines in the image).

<FIG> is a block diagram illustrating another configuration of a photosensor pixel array <NUM> having SBP pixels <NUM>. In this example, the SBP pixels <NUM> are configured across the top border <NUM>, the bottom border <NUM>, the right border <NUM>, and the left border <NUM> of the photosensor pixel array <NUM>. In other words, SBP pixels <NUM> are placed on all borders of the photosensor pixel array <NUM>. The remaining regions of the photosensor pixel array <NUM> are configured with photosensor pixels <NUM> that are not sensitivity-biased (e.g., that do not include masks). In some cases, since pixel values can be read by a camera system on a line-by-line basis, the pixel values from the SBP pixels <NUM> across the borders <NUM>, <NUM>, <NUM>, and <NUM> can be detected as the lines and/or pixel values corresponding to the borders (and/or the lines associated with the borders) are read by the camera system, and/or based on a difference between the pixel values associated with the borders (and/or the lines associated with the borders) and the pixel values corresponding to one or more other regions in the photosensor pixel array <NUM> (and/or other lines in the image).

<FIG> is a block diagram illustrating another configuration of a photosensor pixel array <NUM> having SBP pixels <NUM>. In this example, the SBP pixels <NUM> are configured across the top border <NUM> and the bottom border <NUM> of the photosensor pixel array <NUM>, and remaining regions of the photosensor pixel array <NUM>, including the right border <NUM> and the left border <NUM>, are configured with photosensor pixels <NUM> that are not sensitivity-biased (e.g., that do not include masks). Since pixel values can be read by a camera system on a line-by-line basis, the pixels from the SBP pixels <NUM> across the top border <NUM> and the bottom border <NUM> can be easily detected when the lines and/or the pixel values corresponding to the top border <NUM> and the bottom border <NUM> (and/or the lines associated with the top border <NUM> and the bottom border <NUM>) are read by the camera system, and/or based on a difference between the pixel values associated with the top border <NUM> and the bottom border <NUM> (and/or the lines associated with the top border <NUM> and the bottom border <NUM>) and the pixel values corresponding to one or more other regions in the photosensor pixel array <NUM> (and/or other lines in the image).

<FIG> is a block diagram illustrating another configuration of a photosensor pixel array <NUM> having SBP pixels <NUM>. In this example, the SBP pixels <NUM> are configured across the right border <NUM> and the left border <NUM> of the photosensor pixel array <NUM>, and remaining regions of the photosensor pixel array <NUM>, including the top border <NUM> and the bottom border <NUM>, are configured with photosensor pixels <NUM> that are not sensitivity-biased (e.g., that do not include masks). Since pixel values can be read by a camera system on a line-by-line basis, the pixel values from the SBP pixels <NUM> across the right border <NUM> and the left border <NUM> can be easily detected when the lines and/or pixel values corresponding to the right border <NUM> and the left border <NUM> (and/or the lines associated with the right border <NUM> and the left border <NUM>) are read by the camera system, and/or based on a difference between the pixel values associated with the right border <NUM> and the left border <NUM> (and/or the lines associated with the right border <NUM> and the left border <NUM>) and the pixel values corresponding to one or more other regions in the photosensor pixel array <NUM> (and/or other lines in the image).

While the photosensor pixels <NUM> and the SBP pixels <NUM> in <FIG> are shown to have a same size and shape, it should be noted that, in other examples, the size and/or shape of photosensor pixels <NUM> and/or SBP pixels <NUM> in a same photosensor pixel array can vary. For example, in some cases, the SBP pixels <NUM> can have a different size and/or shape than the photosensor pixels <NUM> in the same photosensor pixel array. Moreover, in some cases, the size and/or shape of some SBP pixels <NUM> can be different than the size and/or shape of other SBP pixels <NUM> in the same photosensor pixel array.

<FIG> illustrates various example configurations of photosensor pixels. Here, the photosensor pixels <NUM> represent a photosensor pixel that is not sensitivity biased. The photosensor pixels <NUM> do not have a mask to filter a certain amount of light and do not have an adjusted aperture to allow the photosensor pixels <NUM> to capture more light and thereby increased the light sensitivity of the photosensor pixels <NUM>. On the other hand, the SBP pixels 320A-H have different mask and/or aperture configurations.

In this example, SBP pixels 320A-F have a same aperture as the photosensor pixels <NUM> but include a different mask patterns configured to block different amounts and/or patterns of light. For example, the SBP pixels 320A have a solid mask covering their associated photodiodes, and the SBP pixels 320B have a patterned mask covering their associated photodiodes. The SBP pixels 320C have a mask covering a right portion of their associated photodiodes but have a left portion <NUM> of their associated photodiodes unmasked or uncovered by a mask. Similarly, the SBP pixels 320D have a mask covering a top portion of their associated photodiodes but have a bottom portion <NUM> of their associated photodiodes unmasked or uncovered by a mask. On the other hand, the SBP pixels 320E have a mask covering a portion of their associated photodiodes but leaving an inner region <NUM> (e.g., a center region) of their associated photodiodes uncovered.

Like the SBP pixels 320A, the SBP pixels 320F have a same aperture as the photosensor pixels <NUM> and a solid mask covering their associated photodiodes. However, the solid mask in the SBP pixels 320F is darker than the solid mask in the SBP pixels 320A and can filter more light. Thus, the SBP pixels 320F are less sensitive to light than the SBP pixels 320A.

Moreover, like the SBP pixels 320A, the SBP pixels <NUM> have a solid mask covering their associated photodiodes, but otherwise have a different aperture than the SBP pixels 320A. Thus, the SBP pixels <NUM> may capture more light than the SBP pixels 320A and may be more sensitive to light than the SBP pixels 320A. Accordingly, the SBP pixels <NUM> may better capture brightness levels in darker scenes than the SBP pixels 320A.

Like the photosensor pixels <NUM>, the SBP pixels <NUM> do not have a mask covering their associated photodiodes. However, the SBP pixels <NUM> have a larger aperture than the photosensor pixels <NUM>. Thus, the SBP pixels <NUM> may capture more light than the photosensor pixels <NUM> and may be more sensitive to light than the photosensor pixels <NUM>. Accordingly, the SBP pixels <NUM> may better capture brightness levels in darker scenes than the photosensor pixels <NUM>.

As illustrated above, the size of an SBP pixel and/or the mask (and characteristics thereof) implemented for an SBP pixel can be used to change, tailor, and/or influence the light sensitivity of the SBP pixel. However, other strategies for changing, tailoring, and/or influencing the light sensitivity of an SBP pixel are also contemplated herein. For example, in some cases, the light sensitivity of an SBP pixel can be reduced to calculate pixel values and/or saturation levels in bright scenes (e.g., when pixel values are saturated) by reducing the rate or amount in which photons received by the SBP pixel are converted to electrical charges. Similarly, the light sensitivity of an SBP pixel can be increased to calculate pixel values in dark scenes (e.g., when pixel values are undersaturated) by increasing the rate or amount in which photons received by the SBP pixel are converted to electrical charges.

The various configurations of SBP pixels shown in <FIG> are merely illustrative examples provided for explanation purposes. One of skill in the art will recognize that other SBP pixel configurations, such as other shapes, sizes, masks, mask patterns, etc., can be used to change, tailor, and/or influence the light sensitivity of SBP pixels.

<FIG> is a diagram illustrating a system flow <NUM> for exposure control using SBP pixels. As illustrated, the image sensor <NUM> includes a photosensor pixel array <NUM>, such as any of the photosensor pixel arrays previously described. The photosensor pixel array <NUM> includes photosensor pixels (e.g., <NUM>, <NUM>) and SBP pixels (e.g., <NUM>, <NUM>, <NUM>). The SBP pixels in the photosensor pixel array <NUM> can include photosensor pixels with reduced light sensitivity and/or photosensor pixels with increased light sensitivity. Moreover, the photosensor pixel array <NUM> can include one or more SBP pixels at one or more border locations and/or one or more inner locations.

The image sensor <NUM> can generate pixel values <NUM> corresponding to an image of a scene captured by the image sensor <NUM>. The pixel values <NUM> can include pixel values and/or a stream of image pixel values calculated/measured by the photosensor pixel array <NUM>. The pixel values <NUM> can include one or more pixel values calculated/measured by photosensor pixels that are not sensitivity biased and one or more pixel values calculated/measured by SBP pixels.

In some cases, if the scene is bright, the pixel values from the photosensor pixels that are not sensitivity biased may be oversaturated/overexposed (e.g., white or overly white) and/or may exceed a maximum saturation value that the image sensor <NUM> can calculate/measure. However, the photosensor pixel array <NUM> can include one or more SBP pixels that have a reduced light sensitivity. Since the one or more SBP pixels have a reduced light sensitivity, the one or more SBP pixels may be able to calculate/measure pixel values that are not saturated and/or that do not exceed the maximum saturation/exposure value associated with the image sensor <NUM>. In other words, with the lower light sensitivity of the one or more SBP pixels, the pixel values from the one or more SBP pixels may have lower brightness levels and may not be oversaturated/overexposed. As previously explained, even if the SBP pixels are also saturated, the SBP pixels can provide additional information that would allow for more accurate predictions. For example, if the light sensitivity of the SBP pixels is reduced by a X amount and a scene change still causes the SBP pixels to saturated, the fact that the SBP pixels are saturated would indicate that the exposure of the normal photosensor pixels (e.g., the photosensor pixels that are not sensitivity biased) should be reduced by more than X amount (e.g., the amount corresponding to how much the light sensitivity of the SBP pixels has been reduced).

The pixel values from the one or more SBP pixels can be used to estimate actual pixel values for the image, including pixel values that would otherwise exceed the maximum saturation/exposure value associated with the image sensor <NUM>, in order to more accurately and efficiently calculate and adjust exposure settings of the image sensor <NUM> and improve exposure convergence as further described herein. In some examples, the pixel values from the one or more SBP pixels can be used to adjust and/or correct the pixel values from the photosensor pixels that are not sensitivity biased.

On the other hand, in some cases, if the scene is dark, the pixel values from the photosensor pixels that are not sensitivity biased may be undersaturated/underexposed (e.g., black or overly dark). However, the photosensor pixel array <NUM> can include one or more SBP pixels that have an increased light sensitivity and thus can measure pixel values that are not undersaturated/underexposed, that have increased brightness levels, and/or that better capture light in the dark scene. Such pixel values from the SBP pixels can be used to estimate actual pixel values for the image, including pixel values that are not undersaturated/underexposed, in order to more accurately and efficiently calculate and adjust exposure settings of the image sensor <NUM> and improve exposure convergence as further described herein. In some examples, the pixel values from the one or more SBP pixels can be used to adjust and/or correct the pixel values from the photosensor pixels that are not sensitivity biased.

The image sensor <NUM> can provide the pixel values <NUM> to pixel parser <NUM>. In some examples, the pixel parser <NUM> can be part of or implemented by the image sensor <NUM>. In some examples, the pixel parser <NUM> and the image sensor <NUM> can be part of or implemented by a same device, such as the image capture device 105A or the image capture and processing system <NUM>. In other examples, the pixel parser <NUM> can be part of or implemented by a different device or component than the image sensor <NUM>. For example, in some cases, the pixel parser <NUM> can be implemented by the image processor <NUM> or a separate device from the image capture and processing system <NUM>.

The pixel parser <NUM> can parse the pixel values <NUM> and identify pixel values from SBP pixels in the photosensor pixel array <NUM>. For example, the pixel parser <NUM> can parse the pixel values <NUM> to identify pixel values that are not saturated (e.g., undersaturated and/or oversaturated) and/or that have different brightness levels than other pixel values that are saturated. In some examples, the pixel parser <NUM> can identify pixel values from SBP pixels based on a difference between pixel values in the pixel values <NUM>. For example, as previously explained, if the scene is bright, the pixel values from the photosensor pixels that are not sensitivity biased may be oversaturated and/or may exceed a maximum saturation value associated with the image sensor <NUM>, but pixel values from SBP pixels with reduced light sensitivity may not be saturated (e.g., oversaturated) and/or may not exceed a maximum saturation value associated with the image sensor <NUM>. Thus, in some cases, the pixel parser <NUM> may distinguish between the pixel values from the photosensor pixels that are not sensitivity biased and the pixel values from SBP pixels with reduced light sensitivity based on a difference in their saturation/brightness levels and/or pixel values.

If the scene is instead dark, the pixel values from the photosensor pixels that are not sensitivity biased may be undersaturated, but pixel values from SBP pixels with increased light sensitivity may not be undersaturated, may have higher brightness levels, and/or may better capture light intensities. Thus, in some cases, the pixel parser <NUM> may distinguish between the pixel values from the photosensor pixels that are not sensitivity biased and the pixel values from SBP pixels with increased light sensitivity based on a difference in their saturation/brightness levels and/or pixel values.

In some examples, the pixel parser <NUM> can read and/or receive the pixel values <NUM> on a line-by-line basis and detect pixel values from SBP pixels in a border of the photosensor pixel array <NUM> based on the location of a readout line within an image pixel array (e.g., readout in top row of image pixel array can correspond to SBP pixels in a top border of the photosensor pixel array, etc.), the location of the SBP pixels, the location of a readout line with a stream of pixel values, and/or a difference between pixel values in a readout line and pixel values in one or more other readout lines. For example, in some cases, the pixel parser <NUM> can detect pixel values from SBP pixels in a border of the photosensor pixel array <NUM> based on the readout line corresponding to the border location of the SBP pixels, a location of the SBP pixels relative to a location of other photosensor pixels, a sequence/order and/or location associated with a readout line, and/or a determination that a readout line corresponds to a border in an image array associated with the pixel values <NUM>.

In some examples, the pixel parser <NUM> can detect a difference in saturation/brightness levels between the pixel values from the SBP pixels and other pixel values. For example, if the pixel parser <NUM> identifies oversaturated/overexposed pixel values and pixel values that are not oversaturated/overexposed, the pixel parser <NUM> can determine that the pixel values that are not oversaturated/overexposed correspond to SBP pixels with a reduced light sensitivity. Similarly, if the pixel parser <NUM> identifies undersaturated/underexposed pixel values and pixel values that have higher brightness levels, the pixel parser <NUM> can determine that the pixel values that have higher brightness levels correspond to SBP pixels with an increased light sensitivity.

After parsing the pixel values <NUM>, the pixel parser <NUM> can send SBP pixel data <NUM> to exposure control <NUM>. In some examples, the exposure control <NUM> can be part of or implemented by the image sensor <NUM>. However, in other examples, the exposure control <NUM> can be a control mechanism implemented by a different device, such as image signal processor <NUM>, processor <NUM>, image processor <NUM>, image capture device 105A, image processing device 105B, or a separate device.

In some cases, after parsing the pixel values <NUM>, the pixel parser <NUM> can also send pixel data <NUM> to the image signal processor <NUM>. The pixel data <NUM> sent to the image signal processor <NUM> can include pixel values from the photosensor pixels that are not sensitivity biased. In some cases, the image signal processor <NUM> can use the pixel data <NUM> to generate an image data output <NUM>. In some examples, the image data output <NUM> can be an image and/or image pixel array generated by the image signal processor <NUM>.

In some cases, the pixel data <NUM> sent to the image signal processor <NUM> can also include pixel values measured by SBP pixels. For example, the pixel parser <NUM> can provide pixel values from the photosensor pixels that are not sensitivity biased to the image signal processor <NUM> and provide those pixel values to the image signal processor <NUM>. In some cases, the pixel parser <NUM> or the image signal processor <NUM> can store pixel values measured by SBP pixels in a buffer <NUM>. The buffer <NUM> can be part of or implemented by the image signal processor <NUM> or a separate device. In some cases, the image signal processor <NUM> can use the pixel values measured by SBP pixels to adjust brightness levels of the image data output <NUM>. For example, if the image sensor <NUM> has a <NUM>-bit limit and can only provide a maximum pixel value of <NUM>, the pixel values from the image sensor <NUM> will be saturated at <NUM> and will not be able to capture higher brightness levels.

However, if a light sensitivity of an SBP pixel is reduced by half (e.g., if the SBP pixel is configured to capture half of the light it receives and filter the other half of the light), and the SBP pixel captures a pixel value of <NUM> in a scene, the image signal processor <NUM> can multiply the pixel value of <NUM> by <NUM> (which reflects the amount of light configured to be filtered from the light used to calculate the pixel value of <NUM>) to generate an estimated pixel value of <NUM> for the scene. The estimated pixel value of <NUM> in this example can thus account for the sensitivity level (e.g., ½) of the SBP pixel. Since the image signal processor <NUM> may not have the <NUM>-bit limit of the image sensor <NUM> and may be able to exceed the <NUM> pixel value, the image signal processor <NUM> can use the <NUM> estimated pixel value when generating the image data output <NUM>. It should be noted that the pixel values, the <NUM>-bit limit, and the light sensitivity in this example are merely illustrative examples provided for explanation purposes and other examples can include other pixel values, bit limits, and/or light sensitivities.

The SBP pixel data <NUM> sent by the pixel parser <NUM> to exposure control <NUM> can include pixel values identified to correspond to SBP pixels. For example, the SBP pixel data <NUM> can include pixel values that have lower brightness levels than other pixel values that are oversaturated/overexposed, and/or pixel values that have higher brightness levels than other pixel values that are undersaturated/underexposed. In some examples, in addition to including pixel values identified to correspond to SBP pixels, the SBP pixel data <NUM> can include one or more oversaturated/overexposed and/or undersaturated/underexposed pixel values from other photosensor pixels.

The exposure control <NUM> can use the SBP pixel data <NUM> to calculate exposure control data <NUM>, and provide the exposure control data <NUM> to the image sensor <NUM>. In some examples, the exposure control data <NUM> can include auto-exposure control settings for the image sensor <NUM>, such as an exposure adjustment factor and/or exposure setting. In some examples, the exposure control <NUM> can use the SBP pixel data <NUM> to calculate an adjustment factor and/or exposure setting for the image sensor <NUM>. In some cases, the image sensor <NUM> can be used for automatic exposure control during an exposure convergence.

In some examples, the exposure control <NUM> can adjust the pixel value of an SBP pixel based on the sensitivity level of the SBP pixel. For example, if a light sensitivity of an SBP pixel is reduced by half (e.g., if the SBP pixel is configured to capture half of the light it receives and filter the other half of the light), and the SBP pixel captures a pixel value of <NUM> in a scene, the exposure control <NUM> can multiply the pixel value of <NUM> by <NUM> to generate an estimated or actual pixel value of <NUM> for the scene. The estimated or actual pixel value of <NUM> in this example can be the adjusted SBP pixel value, which can account for the sensitivity level (e.g., ½) of the SBP pixel. Since the adjusted SBP pixel value can account for brightness levels that other photosensor pixels may not otherwise be able to capture, the adjusted SBP pixel value can provide a more accurate way to calculate exposure settings for the image sensor <NUM> than pixel values from other photosensor pixels.

In some cases, the exposure control <NUM> can then divide a target exposure value calculated for the image sensor <NUM> (and/or image pixel values captured by the image sensor <NUM>) by the adjusted SBP pixel value (e.g., the pixel value of <NUM> in the previous example) to determine an adjustment factor or exposure setting. For example, if the target value is <NUM>, the exposure control <NUM> can divide the target value of <NUM> by the adjusted SBP pixel value of <NUM> to yield an adjustment factor of <NUM>. The exposure control <NUM> can provide the adjustment factor of <NUM> to the image sensor <NUM> for the image sensor <NUM> to use to adjust its exposure settings (e.g., exposure time, shutter speed, gain, etc.) and/or improve exposure convergence.

According to an embodiment of the invention, the disclosure now turns to the method <NUM> for automatic exposure control using SBP pixels, as shown in <FIG>.

At block <NUM>, the method <NUM> includes receiving a plurality of pixel values (e.g., <NUM>) of an image captured by a photosensor pixel array (e.g., <NUM>, <NUM><NUM>, <NUM>, <NUM>, <NUM>) of an image sensor (e.g., <NUM>). The plurality of pixel values include one or more pixel values corresponding to one or more SBP pixels (e.g., <NUM>, <NUM>, <NUM>) in the photosensor pixel array and one or more saturated (e.g., undersaturated, oversaturated) pixel values corresponding to one or more other photosensor pixels (e.g., <NUM>, <NUM>) in the photosensor pixel array. The one or more other photosensor pixels include photosensor pixels that are not sensitivity biased (e.g., that do not have a mask or filter, that do not have a modified aperture, that do not have a modified photon to electrical charge conversion rate, etc.).

In some cases, an SBP pixel from the one or more SBP pixels can include a photosensor pixel with a mask configured to filter a portion of light before the portion of light reaches the photosensor pixel, a photosensor pixel with a different aperture (e.g., a larger or smaller aperture) than the one or more other photosensor pixels in the photosensor pixel array (e.g., than photosensor pixels that are not sensitivity biased), and/or a photosensor pixel configured to convert photons to electrical charges at a modified rate (e.g., at a reduced or increased rate). Moreover, in some examples, the one or more saturated pixel values can include one or more undersaturated pixel values.

In some examples, at least some of the one or more SBP pixels can be located at one or more borders of the photosensor pixel array. The one or more borders can include a bottom row (e.g., a bottom border), a top row (e.g., a top border), a left column (e.g., a left border), and/or a right column (e.g., a right border). In some examples, at least some of the one or more SBP pixels can be located at one or more non-border regions (e.g., inner regions) of the photosensor pixel array.

In some cases, the one or more saturated pixel values can include oversaturated pixel values and the one or more SBP pixels can have a reduced light sensitivity. In some cases, the one or more saturated pixel values can include undersaturated pixel values and the one or more SBP pixels can have an increased light sensitivity.

In some cases, the one or more SBP pixels can include a first set of pixels and a second set of pixels. The first set of pixels can have a reduced light sensitivity and the second set of pixels can have an increased light sensitivity.

At block <NUM>, the method <NUM> includes determining, based on the one or more pixel values corresponding to the one or more SBP pixels, an estimated actual pixel value for the one or more pixel values corresponding to the one or more SBP pixels. In some examples, determining the estimated actual pixel value can include multiplying the one or more pixel values corresponding to the one or more SBP pixels by an SBP light sensitivity factor calculated based on a percentage of light the one or more SBP pixels are configured to filter. In some cases, the SBP light sensitivity factor can be a factor by which a light sensitivity of the one or more SBP pixels is adjusted.

For example, if the light sensitivity of the one or more SBP pixels is reduced by <NUM>/n where n is a positive number that is greater than one, the light sensitivity factor can be n and the estimated actual pixel value can be calculated by multiplying the one or more pixel values corresponding to the one or more SBP pixels by n. If the light sensitivity of the one or more SBP pixels is increased by n where n is a positive number that is greater than one, the light sensitivity factor can be <NUM>/n and the estimated actual pixel value can be calculated by multiplying the one or more pixel values corresponding to the one or more SBP pixels by <NUM>/n.

At block <NUM>, the method <NUM> includes determining an adjustment factor (also referred to as an adjustment value) for at least one of the plurality of pixel values based on the estimated actual pixel value and a target exposure value. In some examples, determining the adjustment factor can include dividing the target exposure value by the estimated actual pixel value.

At block <NUM>, the method <NUM> can include correcting, based on the adjustment factor, an exposure setting associated with the image sensor and includes correcting, based on the adjustment factor, at least one of the plurality of pixel values. In some examples, the exposure setting can include an exposure time, a shutter speed, a gain, a lens aperture, a luminance, any combination thereof, and/or other exposure settings. In some cases, the method <NUM> can use the adjustment factor to correct at least some of the plurality of pixel values. The adjustment factor is used to correct undersaturated/oversaturated and/or oversaturated/overexposed pixel values, as described above.

In one embodiment according the invention, the method <NUM> includes generating the image based on the estimated actual pixel value, the one or more saturated pixel values, and at least a portion of the plurality of pixel values modified based on the adjustment factor.

In some aspects, the method <NUM> can include receiving a second plurality of pixel values of an additional image captured by the photosensor pixel array of the image sensor, wherein one or more additional pixel values correspond to one or more additional SBP pixels in the photosensor pixel array, and each SBP pixel from the one or more additional SBP pixels includes an SBP photosensor pixel without a light filter (e.g., a mask, a color filter), an SBP pixel with a larger aperture than other photosensor pixels in the photosensor pixel array, and/or an SBP photosensor pixel configured to convert photons to electrical charges at an increased rate; determining, based on the one or more additional pixel values, a second estimated actual pixel value for the one or more additional pixel values and/or one or more different pixel values from the second plurality of pixel values; and determining an additional adjustment factor for one or more undersaturated pixel values from the second plurality of pixel values based on the second estimated actual pixel value and a second target exposure value for the one or more undersaturated pixel values.

In some cases, the method <NUM> can further include based on the additional adjustment factor, correcting a second exposure setting associated with the image sensor and/or at least a portion of the second plurality of pixel values.

In some aspects, the method <NUM> can include identifying the one or more pixel values corresponding to the one or more SBP pixels. In some aspects, the method <NUM> can include determining the estimated actual pixel value and the adjustment factor based on the identified one or more pixel values corresponding to the one or more SBP pixels. In some examples, the one or more pixel values are identified based on a difference between the one or more pixel values and the one or more saturated pixel values, a location of the one or more SBP pixels, and/or a location of the one or more pixel values within an image array including the plurality of pixel values.

In some examples, the method <NUM> may be performed by one or more computing devices or apparatuses. In one illustrative example, the method <NUM> can be performed by the image capture and processing system <NUM> shown in <FIG> and/or one or more computing devices with the architecture of the computing device <NUM> shown in <FIG>. In some cases, such a computing device or apparatus may include a processor, microprocessor, microcomputer, or other component of a device that is configured to carry out the steps of the method <NUM>. In some examples, such computing device or apparatus may include one or more sensors configured to capture image data. For example, the computing device can include a smartphone, a head-mounted display, a mobile device, or other suitable device. In some examples, such computing device or apparatus may include a camera configured to capture one or more images or videos. In some cases, such computing device may include a display for displaying images. In some examples, the one or more sensors and/or camera are separate from the computing device, in which case the computing device receives the sensed data. Such computing device may further include a network interface configured to communicate data.

The components of the computing device can be implemented in circuitry. For example, the components can include and/or can be implemented using electronic circuits or other electronic hardware, which can include one or more programmable electronic circuits (e.g., microprocessors, graphics processing units (GPUs), digital signal processors (DSPs), central processing units (CPUs), and/or other suitable electronic circuits), and/or can include and/or be implemented using computer software, firmware, or any combination thereof, to perform the various operations described herein. The computing device may further include a display (as an example of the output device or in addition to the output device), a network interface configured to communicate and/or receive the data, any combination thereof, and/or other component(s). The network interface may be configured to communicate and/or receive Internet Protocol (IP) based data or other type of data.

The method <NUM> is illustrated as a logical flow diagram, the operations of which represent a sequence of operations that can be implemented in hardware, computer instructions, or a combination thereof. In the context of computer instructions, the operations represent computer-executable instructions stored on one or more computer-readable storage media that, when executed by one or more processors, perform the recited operations. Generally, computer-executable instructions include routines, programs, objects, components, data structures, and the like that perform particular functions or implement particular data types.

Additionally, the method <NUM> may be performed under the control of one or more computer systems configured with executable instructions and may be implemented as code (e.g., executable instructions, one or more computer programs, or one or more applications) executing collectively on one or more processors, by hardware, or combinations thereof. As noted above, the code may be stored on a computer-readable or machine-readable storage medium, for example, in the form of a computer program comprising a plurality of instructions executable by one or more processors. The computer-readable or machine-readable storage medium may be non-transitory.

<FIG> illustrates an example computing device architecture <NUM> of an example computing device which can implement various techniques described herein. For example, the computing device architecture <NUM> can implement at least some portions of the image capture and processing system <NUM> shown in <FIG>, and perform sHDR operations as described herein. The components of the computing device architecture <NUM> are shown in electrical communication with each other using a connection <NUM>, such as a bus. The example computing device architecture <NUM> includes a processing unit (CPU or processor) <NUM> and a computing device connection <NUM> that couples various computing device components including the computing device memory <NUM>, such as read only memory (ROM) <NUM> and random access memory (RAM) <NUM>, to the processor <NUM>.

The computing device architecture <NUM> can include a cache of high-speed memory connected directly with, in close proximity to, or integrated as part of the processor <NUM>. The computing device architecture <NUM> can copy data from the memory <NUM> and/or the storage device <NUM> to the cache <NUM> for quick access by the processor <NUM>. In this way, the cache can provide a performance boost that avoids processor <NUM> delays while waiting for data. These and other modules can control or be configured to control the processor <NUM> to perform various actions. Other computing device memory <NUM> may be available for use as well. The memory <NUM> can include multiple different types of memory with different performance characteristics. The processor <NUM> can include any general purpose processor and a hardware or software service stored in storage device <NUM> and configured to control the processor <NUM> as well as a special-purpose processor where software instructions are incorporated into the processor design. The processor <NUM> may be a self-contained system, containing multiple cores or processors, a bus, memory controller, cache, etc. A multi-core processor may be symmetric or asymmetric.

To enable user interaction with the computing device architecture <NUM>, an input device <NUM> can represent any number of input mechanisms, such as a microphone for speech, a touch-sensitive screen for gesture or graphical input, keyboard, mouse, motion input, speech and so forth. An output device <NUM> can also be one or more of a number of output mechanisms known to those of skill in the art, such as a display, projector, television, speaker device. In some instances, multimodal computing devices can enable a user to provide multiple types of input to communicate with the computing device architecture <NUM>. The communication interface <NUM> can generally govern and manage the user input and computing device output. There is no restriction on operating on any particular hardware arrangement and therefore the basic features here may easily be substituted for improved hardware or firmware arrangements as they are developed.

The storage device <NUM> can include software, code, firmware, etc., for controlling the processor <NUM>. Other hardware or software modules are contemplated. The storage device <NUM> can be connected to the computing device connection <NUM>. In one aspect, a hardware module that performs a particular function can include the software component stored in a computer-readable medium in connection with the necessary hardware components, such as the processor <NUM>, connection <NUM>, output device <NUM>, and so forth, to carry out the function.

The term "computer-readable medium" includes, but is not limited to, portable or non-portable storage devices, optical storage devices, and various other mediums capable of storing, containing, or carrying instruction(s) and/or data. A computer-readable medium may include a non-transitory medium in which data can be stored and that does not include carrier waves and/or transitory electronic signals propagating wirelessly or over wired connections. Examples of a non-transitory medium may include, but are not limited to, a magnetic disk or tape, optical storage media such as compact disk (CD) or digital versatile disk (DVD), flash memory, memory or memory devices. A computer-readable medium may have stored thereon code and/or machine-executable instructions that may represent a procedure, a function, a subprogram, a program, a routine, a subroutine, a module, a software package, a class, or any combination of instructions, data structures, or program statements. A code segment may be coupled to another code segment or a hardware circuit by passing and/or receiving information, data, arguments, parameters, or memory contents. Information, arguments, parameters, data, etc. may be passed, forwarded, or transmitted via any suitable means including memory sharing, message passing, token passing, network transmission, or the like.

Specific details are provided in the description above to provide a thorough understanding of the embodiments and examples provided herein. However, it will be understood by one of ordinary skill in the art that the embodiments may be practiced without these specific details. For clarity of explanation, in some instances the present technology may be presented as including individual functional blocks comprising devices, device components, steps or routines in a method embodied in software, or combinations of hardware and software. Additional components may be used other than those shown in the figures and/or described herein. For example, circuits, systems, networks, processes, and other components may be shown as components in block diagram form in order not to obscure the embodiments in unnecessary detail.

Individual embodiments may be described above as a process or method which is depicted as a flowchart, a flow diagram, a data flow diagram, a structure diagram, or a block diagram. Although a flowchart may describe the operations as a sequential process, many of the operations can be performed in parallel or concurrently. A process is terminated when its operations are completed, but could have additional steps not included in a figure. A process may correspond to a method, a function, a procedure, a subroutine, a subprogram, etc. When a process corresponds to a function, its termination can correspond to a return of the function to the calling function or the main function.

Processes and methods according to the above-described examples can be implemented using computer-executable instructions that are stored or otherwise available from computer-readable media. Such instructions can include, for example, instructions and data which cause or otherwise configure a general purpose computer, special purpose computer, or a processing device to perform a certain function or group of functions. The computer executable instructions may be, for example, binaries, intermediate format instructions such as assembly language, firmware, source code.

Devices implementing processes and methods according to these disclosures can include hardware, software, firmware, middleware, microcode, hardware description languages, or any combination thereof, and can take any of a variety of form factors. When implemented in software, firmware, middleware, or microcode, the program code or code segments to perform the necessary tasks (e.g., a computer-program product) may be stored in a computer-readable or machine-readable medium. Typical examples of form factors include laptops, smart phones, mobile phones, tablet devices or other small form factor personal computers, personal digital assistants, rackmount devices, standalone devices, and so on.

The instructions, media for conveying such instructions, computing resources for executing them, and other structures for supporting such computing resources are example means for providing the functions described in the disclosure.

In the foregoing description, aspects of the application are described with reference to specific embodiments thereof, but those skilled in the art will recognize that the application is not limited thereto. Further, embodiments can be utilized in any number of environments and applications beyond those described herein without departing from the scope of the appended claims. The specification and drawings are, accordingly, to be regarded as illustrative rather than restrictive. For the purposes of illustration, methods were described in a particular order.

One of ordinary skill will appreciate that the less than ("<") and greater than (">") symbols or terminology used herein can be replaced with less than or equal to ("≤") and greater than or equal to (" ≥ ") symbols, respectively, without departing from the scope of this description.

Where components are described as being "configured to" perform certain operations, such configuration can be accomplished, for example, by designing electronic circuits or other hardware to perform the operation, by programming programmable electronic circuits (e.g., microprocessors, or other suitable electronic circuits) to perform the operation, or any combination thereof.

The phrase "coupled to" refers to any component that is physically connected to another component either directly or indirectly, and/or any component that is in communication with another component (e.g., connected to the other component over a wired or wireless connection, and/or other suitable communication interface) either directly or indirectly.

Claim language or other language reciting "at least one of" a set and/or "one or more" of a set indicates that one member of the set or multiple members of the set (in any combination) satisfy the claim. For example, claim language reciting "at least one of A and B" or "at least one of A or B" means A, B, or A and B. In another example, claim language reciting "at least one of A, B, and C" or "at least one of A, B, or C" means A, B, C, or A and B, or A and C, or B and C, or A and B and C. The language "at least one of" a set and/or "one or more" of a set does not limit the set to the items listed in the set. For example, claim language reciting "at least one of A and B" or "at least one of A or B" can mean A, B, or A and B, and can additionally include items not listed in the set of A and B.

The various illustrative logical blocks, modules, circuits, and algorithm steps described in connection with the examples disclosed herein may be implemented as electronic hardware, computer software, firmware, or combinations thereof. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the present application.

The techniques described herein may also be implemented in electronic hardware, computer software, firmware, or any combination thereof. Such techniques may be implemented in any of a variety of devices such as general purposes computers, wireless communication device handsets, or integrated circuit devices having multiple uses including application in wireless communication device handsets and other devices. Any features described as modules or components may be implemented together in an integrated logic device or separately as discrete but interoperable logic devices. If implemented in software, the techniques may be realized at least in part by a computer-readable data storage medium comprising program code including instructions that, when executed, performs one or more of the methods, algorithms, and/or operations described above. The computer-readable data storage medium may form part of a computer program product, which may include packaging materials. The computer-readable medium may comprise memory or data storage media, such as random access memory (RAM) such as synchronous dynamic random access memory (SDRAM), read-only memory (ROM), non-volatile random access memory (NVRAM), electrically erasable programmable read-only memory (EEPROM), FLASH memory, magnetic or optical data storage media, and the like. The techniques additionally, or alternatively, may be realized at least in part by a computer-readable communication medium that carries or communicates program code in the form of instructions or data structures and that can be accessed, read, and/or executed by a computer, such as propagated signals or waves.

Claim 1:
A method of processing image data, the method comprising:
receiving a plurality of pixel values of an image captured by a photosensor pixel array of an image sensor (<NUM>), wherein one or more of the pixel values correspond to one or more sensitivity-biased photosensor, SBP, pixels, and wherein one or more saturated pixel values from the plurality of pixel values correspond to one or more other photosensor pixels, wherein the one or more other photosensor pixels are underexposed or overexposed;
determining, based on the one or more pixel values corresponding to the one or more SBP pixels, an estimated actual pixel value for the one or more pixel values corresponding to the one or more SBP pixels;
determining an adjustment factor for at least one of the plurality of pixel values based on the estimated actual pixel value and a target exposure value (<NUM>);
based on the adjustment factor, correcting the one or more saturated pixel values (<NUM>); and
generating a processed image based on the estimated actual pixel value, the one or more saturated pixel values corrected with the adjustment factor, and at least a portion of the plurality of pixel values modified based on the adjustment factor.