A typical image sensor includes an array of pixel cells. Each pixel cell may include a photodiode to sense light by converting photons into charge (e.g., electrons or holes). The charge generated by the array of photodiodes can then be quantized by an analog-to-digital converter (ADC) into digital values to generate a digital image. The digital image may be exported from the sensor to another system (e.g., a viewing system for viewing the digital image, a processing system for interpreting the digital image, a compilation system for compiling a set of digital images, etc.).
Various examples are described for a pixel sensor using a dual pixel array. One example sensor apparatus includes a dual pixel array comprising a controller, a memory, and an array of pixels, each pixel comprising a plurality of photodiodes, each photodiode configured to generate a charge in response to incoming light, wherein the plurality of photodiodes comprises one or more color photodiodes each including a chromatic filter; a color-select switch; and having at least one associated monochrome photodiode with a monochrome filter and a monochrome-select switch; and a plurality of charge storage devices, each charge storage device configured to convert the charge to a voltage, wherein the color photodiodes and the monochrome photodiodes are arranged according to an arrangement; one or more color analog-to-digital converters (“ADC”), each color ADC connected to at least one of the charge storage devices of the color photodiodes via the respective color-select switch, configured to selectively convert one or more stored voltages into a pixel value in response to a control signal; and one or more monochrome ADCs, each monochrome ADC connected to at least one of the charge storage devices of the monochrome photodiodes via the respective monochrome-select switch, configured to selectively convert one or more stored voltages into a pixel value in response to a control signal.
In another aspect, the color photodiodes include a red photodiode, a green photodiode, and a blue photodiode, the color of the photodiode determined by the color of its associated chromatic filter. In a further aspect, the monochrome photodiodes include an infra-red filter, an ultraviolet filter, or a monochrome filter.
In one aspect, the sensor apparatus is configured such that each photodiode has a associated microlens. In another aspect, adjacent photodiodes are associated with a 1×2 microlens. In yet another aspect, a microlens is associated with four photodiodes in 2×2 configuration. In yet another aspect, a microlens is associated with eight photodiodes in a 4×2 configuration.
In one aspect, the arrangement comprises a first row including a repeating pattern of color and monochrome photodiodes and a second row including a repeating pattern of color and monochrome photodiodes, wherein successive rows of the arrangement alternate between the first and second rows. In another aspect, the repeating pattern of the first row includes photodiodes with filters having the sequence: red, monochrome, green, monochrome and the repeating pattern of the second row includes photodiodes with filters having the sequence: green, monochrome, blue, monochrome.
In one aspect, the arrangement comprises a third row including a repeating pattern of color and monochrome photodiodes and a fourth row including a repeating pattern of monochrome and color photodiodes, wherein successive rows of the arrangement alternate between the third and fourth rows. In another aspect, the repeating pattern of the third row includes photodiodes with filters having the sequence: red, monochrome, green, monochrome and the repeating pattern of the fourth row includes photodiodes with filters having the sequence: monochrome, green, monochrome, blue.
In one aspect, the arrangement includes at least one color photodiode adjacent to at least one monochrome photodiode.
In one aspect, the sensor apparatus includes color ADCs such that comprise at least one red ADC associated with the red photodiode, at least one green ADC associated with the green photodiode, and at least one blue ADC associated with the blue photodiode. In another aspect, the pixel values associated with the red, green, and blue ADCs are multiplied by 0.271, 0.589, and 0.0073, respectively, and combined with the pixel value from the monochrome ADCs of the associated monochrome photodiodes to produce an enhanced monochrome image. In yet another aspect, a conversion factor for each color is determined according to the environmental lighting conditions and the pixel value from a first monochrome ADCs is divided by a red conversion factor and combined with the pixel value from the associated red ADC, the pixel value from a second monochrome ADC is divided by a green conversion factor and combined with the pixel value from the associated green ADC, and the pixel value from a third monochrome ADC is divided by a blue conversion factor and combined with the pixel value from the associated blue ADC to produce an enhanced color image.
An example system comprises a head-mounted display, wherein the head-mounted display comprises a dual pixel array comprising a controller, a memory, and an array of pixels, each pixel comprising a plurality of photodiodes, each photodiode configured to generate a charge in response to incoming light, wherein the plurality of photodiodes comprises one or more color photodiodes each including a chromatic filter; a color-select switch; and having at least one associated monochrome photodiode with a monochrome filter and a monochrome-select switch; and a plurality of charge storage devices, each charge storage device configured to convert the charge to a voltage, wherein the color photodiodes and the monochrome photodiodes are arranged according to an arrangement; one or more color analog-to-digital converters (“ADC”), each color ADC connected to at least one of the charge storage devices of the color photodiodes via the respective color-select switch, configured to selectively convert one or more stored voltages into a pixel value in response to a control signal; and one or more monochrome ADCs, each monochrome ADC connected to at least one of the charge storage devices of the monochrome photodiodes via the respective monochrome-select switch, configured to selectively convert one or more stored voltages into a pixel value in response to a control signal.
In one aspect, the system further comprises a color filter array (“CFA”), wherein the CFA comprises one or more chromatic filters of the color photodiodes and each chromatic filter of the CFA has an associated color ADC. In another aspect, the pixel values of the color ADCs associated with the CFA are combined to produce a color image. In yet another aspect, the pixel values associated with the red, green, and blue ADCs are multiplied by 0.271, 0.589, and 0.0073, respectively, and combined with the pixel value from the monochrome ADCs of the associated monochrome photodiodes to produce an enhanced monochrome image. In still another aspect, a conversion factor for each color is determined according to the environmental lighting conditions and the pixel value from a first monochrome ADCs is divided by a red conversion factor and combined with the pixel value from the associated red ADC, the pixel value from a second monochrome ADC is divided by a green conversion factor and combined with the pixel value from the associated green ADC, and the pixel value from a third monochrome ADC is divided by a blue conversion factor and combined with the pixel value from the associated blue ADC to produce an enhanced color image.
An example method performed using a sensor apparatus includes a controller, a memory, and a plurality of photodiodes, including one or more color photodiodes each including a chromatic filter; a color-select switch; and having at least one associated monochrome photodiode with a monochrome filter and a monochrome-select switch; and being connected to an analog-to-digital converter (ADC), the method comprising arranging the color photodiodes and the monochrome photodiodes according to an arrangement; converting, by the photodiodes, incoming light to charge; converting, by a charge storage device, the charge to a voltage; generating, using the ADCs corresponding to the color photodiodes a pixel value for one or more color photodiodes via the respective color-select switch; and generating, using the ADCs corresponding to the monochrome photodiodes a pixel value for one or more monochrome photodiodes via the respective monochrome-select switch.
In one aspect, the arrangement comprises a first row including a repeating pattern of color and monochrome photodiodes and a second row including a repeating pattern of color and monochrome photodiodes, wherein successive rows of the arrangement alternate between the first and second rows. In another aspect, the repeating pattern of the first row includes photodiodes with filters having the sequence: red, monochrome, green, monochrome and the repeating pattern of the second row includes photodiodes with filters having the sequence: green, monochrome, blue, monochrome.
In one aspect, the arrangement comprises a third row including a repeating pattern of color and monochrome photodiodes and a fourth row including a repeating pattern of monochrome and color photodiodes, wherein successive rows of the arrangement alternate between the third and fourth rows. In another aspect, the repeating pattern of the third row includes photodiodes with filters having the sequence: red, monochrome, green, monochrome and the repeating pattern of the fourth row includes photodiodes with filters having the sequence: monochrome, green, monochrome, blue.
In one aspect, the arrangement includes at least one color photodiode adjacent to at least one monochrome photodiode.
These illustrative examples are mentioned not to limit or define the scope of this disclosure, but rather to provide examples to aid understanding thereof. Illustrative examples are discussed in the Detailed Description, which provides further description. Advantages offered by various examples may be further understood by examining this specification.
The accompanying drawings, which are incorporated into and constitute a part of this specification, illustrate one or more certain examples and, together with the description of the example, serve to explain the principles and implementations of the certain examples.
Examples are described herein in the context of providing a pixel sensor using a dual pixel array. Those of ordinary skill in the art will realize that the following description is illustrative only and is not intended to be in any way limiting. Reference will now be made in detail to implementations of examples as illustrated in the accompanying drawings. The same reference indicators will be used throughout the drawings and the following description to refer to the same or like items.
In the interest of clarity, not all of the routine features of the examples described herein are shown and described. It will, of course, be appreciated that in the development of any such actual implementation, numerous implementation-specific decisions must be made in order to achieve the developer's specific goals, such as compliance with application- and business-related constraints, and that these specific goals will vary from one implementation to another and from one developer to another.
A typical image sensor includes an array of pixel cells. Each pixel cell includes a photodiode to sense incident light by converting photons into charge (e.g., electrons or holes). The charge generated by photodiodes of the array of pixel cells can then be quantized by an analog-to-digital converter (ADC) into digital values. The ADC can quantize the charge by, for example, using a comparator to compare a voltage representing the charge with one or more quantization levels, and a digital value can be generated based on the comparison result. The digital values can then be stored in a memory to generate a digital image.
The digital image data can support various wearable applications, such as object recognition and tracking, location tracking, augmented reality (AR), virtual reality (VR), mixed reality (MR), etc. These and other applications may utilize extraction techniques to extract, from a subset of pixels of the digital image, aspects of the digital image (i.e., light levels, scenery, semantic regions) and/or features of the digital image (i.e., objects and entities represented in the digital image). For example, an application can identify pixels of reflected structured light (e.g., dots), compare a pattern extracted from the pixels with the transmitted structured light, and perform depth computation based on the comparison.
The application can also identify 2D pixel data from the same pixel cells that provide the extracted pattern of structured light to perform fusion of 2D and 3D sensing. To perform object recognition and tracking, an application can also identify pixels of image features of the object, extract the image features from the pixels, and perform the recognition and tracking based on the extraction results. These applications are typically executed on a host processor, which can be electrically connected with the image sensor and receive the pixel data via interconnects. The host processor, the image sensor, and the interconnects can be part of a wearable device.
Modern MR devices utilize multiple cameras to capture a virtual scene over a physical space to a user of a wearable device. For example, at least four cameras may be used in some MR devices. Cameras can include image sensors that may be either color or monochrome, depending on the application. Monochrome and color sensors differ primarily in that color sensors include a chromatic filter that must be penetrated by incident light prior to reaching the pixel array. The chromatic filter can be used to capture photons of several specific wavelengths at different pixel locations to create a composite color image using, for example, a color filter array, whereas a monochrome sensor may capture all photons or all photons of a large wavelength band.
Monochrome sensors may be useful in applications that require greater detail and sensitivity including, for example, computer vision tasks. For example, a monochrome Simultaneous Localization and Mapping (“SLAM”) camera may be used for placement and transforming digital objects relative to real-world objects. A monochrome hand tracking (“HT”) camera may be used for mapping human hand, arm, or limb movements to the rendered scene to enable users to interface with objects in the scene using a virtual hand or other suitable user interface. A monochrome near-infrared depth camera can be used to measure the depth of physical objects in the vicinity of the user of the wearable device. For instance, the wearable device may project a near-infrared pattern using an illuminator onto physical objects in the vicinity of the user of the wearable device, which are reflected and can be captured by the depth camera. In some examples, one monochrome camera can be used for multiple applications. For instance, a single monochrome camera may be used for SLAM, HT, and depth-sensing.
Likewise, a color (e.g., RGB) camera can be used in MR applications to capture the physical scene in the vicinity of the user of the wearable device. The physical scene can then be directly displayed or rendered as a virtual scene with chromatic fidelity using the color data captured by the image sensor in the color camera.
In order to capture all of the data needed for providing MR to the user of the wearable device, both color and monochrome cameras may be required. However, space is at a premium in modern wearable devices. Substantial engineering investments may be required to miniaturize the two cameras, which may result in undesired compromises in design features. Moreover, because two cameras located at different locations are used to capture the same physical space, complex calibrations and continuous transformations may be required to map the pixels captured on one camera to another in real-time.
This disclosure relates to a “dual pixel” array that incorporates both monochrome and color camera functions into a single pixel array. In this context, “dual pixel” refers to a pixel array including a plurality of photodiodes in which each color photodiode has at least one corresponding monochrome photodiode located on the array. For example, one arrangement of photodiodes may include a monochrome photodiode adjacent to every color photodiode. Data can be read out from one or more color channels and a monochrome channel in parallel. In this way, both color and monochrome images may be simultaneously obtained from the same pixel array to support the disparate applications of the two camera types, while reducing the need for calibration or transformation of the two images due to images obtained from different locations.
To enable a configurable image sensor that supports a dual pixel structure, an example image sensor includes an array of pixels that each have a plurality of light-sensing elements, such as photodiodes, that are each connected to one or more charge storage devices. A pixel in this context refers to a sensor pixel which may include one or more photodiodes or sub-pixels. In contrast, one or more sensor pixels may correspond to a pixel in an image file or image pixel. The charge storage devices of each of the photodiodes are connected to one or more ADCs, a memory, a controller, and a select switch.
In one example, each pixel may include a charge sensing unit shared between the plurality of photodiodes. The charge sensing unit may include a charge storage device (e.g., a floating drain node, a capacitor, etc.) to temporarily store the charge generated by the photodiodes and convert the charge to voltages. The one or more charge sensing units may include a single charge sensing unit which can be shared among the plurality of photodiodes to perform charge-to-voltage conversion. In one example, the one or more charge sensing units may include a plurality of charge sensing units each corresponding to a photodiode of the plurality of photodiodes and configured to convert the charge generated by the respective photodiode to a voltage. In both examples, the pixel further includes a plurality of switches, with each switch coupled between a photodiode and the shared/corresponding charge sensing unit, which can be controlled by the controller to control the transfer of the charge from the photodiode to the charge sensing unit. In a case where the one or more ADCs are shared among the plurality of charge sensing units, each charge sensing unit can also include a switch coupled between a buffer and the one or more ADCs which can be controlled by the controller to select which of the charge sensing units to provide an output voltage to the one or more ADCs.
The controller can control the one or more ADCs to quantize the output voltages output by the one or more charge sensing units. The one or more ADCs can be shared between the charge sensing units (in a case where the pixel cell includes multiple charge sensing units) or may include a single ADC coupled with a single charge sensing unit of the pixel cell.
Each photodiode of the plurality of photodiodes is configured to convert a component of incident light to charge. The controller can transfer the charge from the plurality of photodiodes to the one or more charge sensing units to convert to voltages. The controller can also control the ADCs to perform a quantization process to quantize the voltages from the one or more charge sensing units to digital values representing components of a pixel, which can correspond to a spot of the scene. The controller can also store at least some of the digital values in the memory and generate a pixel value based on the at least some of the digital values stored in the memory. The pixel values from the array of the pixel cells can represent the incident light received by each pixel cell within a global exposure period to support a global shutter operation. In the global shutter operation, each photodiode of the array of photodiodes senses the incident light simultaneously in a global exposure period to generate the charge. To affect the global shutter operation, the integration period (time during which light is collected) for each photodiode of the array of photodiodes begins and ends at the same time.
In some examples, pixel values can be read out one row at a time to support a rolling shutter operation. For example, at a first time instant, pixels on one row of the pixel array may be reset, pixels on a second row may be exposed to light signals to accumulate charges on each pixel, and voltage signals from pixels on a third row may be read out and converted into a digital signal by a set of ADCs. The rest of the pixels in the pixel array may be deactivated and may not consume any electrical power at the first time instant. The window that includes the row of pixels being reset, the row(s) of pixels being exposed to light, and the row of pixels being read may be shifted down one row at a time to generate the image frame.
In some examples, the plurality of photodiodes can be arranged laterally and having the same distance from the light receiving surface, with each photodiode corresponding to a sub-pixel and configured to receive incident light from the same spot of the scene. A filter array can be positioned on a first side of the light receiving surface of the pixel cell. The filter array may include filter elements positioned at a plurality of locations on the first side of the light receiving surface to set a component of the incident light that enters the light receiving surface at the respective location. The plurality of photodiodes can be in a single semiconductor substrate and positioned at the plurality of locations on a second side of the light receiving surface to receive the respective components of the incident light. In some examples, one or more microlenses can be positioned over the filter array to project the incident light received from that same spot of the scene towards the plurality of locations on the first side of the light receiving surface, such that each photodiode, as a sub-pixel, can receive incident light from that same spot.
The plurality of photodiodes thus configured can be arranged according to an arrangement. The arrangement specifies the layout of the color and monochrome photodiodes on the dual pixel array. In the dual pixel array, each color photodiode can have at least one associated monochrome photodiode located on the array. The associated photodiodes may be adjacent or may be relatively arranged according to any pattern. In some embodiments, there may be more than one monochrome photodiode associated with each color photodiode. An example arrangement may one in which a first row includes photodiodes with filters having the sequence: red, monochrome, green, monochrome and a second row includes photodiodes with filters having the sequence: green, monochrome, blue, monochrome. The patterns in the first and second rows then repeat, within each row, and each row repeats the first and second rows, alternating until the bottom of the pixel array is reached.
In order to capture an image simultaneously using the monochrome photodiodes and the color photodiodes, the monochrome and color channels must be read out separately and substantially simultaneously. Thus, circuitry must be provided to select individual pixels or groups of pixels (e.g., all green photodiodes or all monochrome photodiodes) at a time. To allow individual pixels to be selected for ADC operations, monochrome-select and color-select switches are included for each row or column of pixels that can be selectively enabled or disabled to allow stored charge or voltage from the pixel to be transferred to the ADC circuitry for conversion.
During an exposure period, each pixel's photodiode captures incoming light and converts it to an electric charge which is stored in the charge storage device, e.g., a floating diffusion (“FD”) region. During quantization, monochrome or color select signals are transmitted to some (or all) of the pixels in the sensor to select a particular channel (for global shutter) or portion of a channel (for rolling shutter) for conversion to a digital value. However, because multiple pixels may share the same ADC circuitry, multiple monochrome or color select signals may be sent in sequence to select different pixels within the dual pixel array for conversion within a single quantization period. In some other examples, the dual pixel array may include duplicate circuitry for the color and monochrome pixels, which may support substantially simultaneous readout of color and monochrome channels.
Thus, in operation, after the exposure period completes, quantization begins and a set of pixels are selected by enabling a set of monochrome or color select lines. The charge or voltage at the selected pixels are converted to pixel values, which are stored and then read out. For example, all color pixels may be read out at the same time that all monochrome pixels are simultaneously read out. If additional pixels are to be read out, additional conversion operations occur by enabling different sets of monochrome and color select lines, followed by ADC, storage, and read-out operations. Once all pixels to be converted have been read out, the pixels are reset and the next exposure period begins.
The color channels can be combined to form a composite color image to be projected, for example, as the backdrop for an MR display on a wearable device. The monochrome channel can be used for the same environment for 3D computer vision tasks. In addition, because the color and monochrome photodiodes are located on the same sensor, one or more color channels can be merged with the monochrome channel to enhance low-light performance of the color camera or to simulate a monochrome signal using the color channels.
This dual pixel array configuration can have several benefits. Only a single pixel array is needed, which substantially reduces the footprint of the optical sensors needed for MR operations. Instead of two cameras, only a single camera with the dual pixel array is required. Importantly, because the color and monochrome pixels are nearly co-located, the spatial correlation between the two pixels is almost identical, which can result in significantly simplified requirements for calibration and real-time transformation and thus reduced processing power requirements. Additionally, the monochrome channel can be read out concurrently with or nearly-concurrently with the RGB channels and can be used to enhance the sensitivity or resolution of the color camera. Likewise, the color channels may be enhanced with information from the monochrome channel using a similar procedure.
For example, the monochrome camera can be used to enhance the low-light performance of the color camera. Because the monochrome channel is effectively an integration over all visible wavelengths, or a subset thereof, the monochrome signal may be up to 200% greater than the integrated color signal. A low-light color signal can be boosted by adding a fraction of the monochrome channel to one or more color channels. The fraction, which can be used to determine one or more multipliers, can vary according to environmental lighting conditions.
In another example, the color channels can be used to create an effective monochrome channel when the monochrome signal is unavailable. In one example dual pixel array using red, green, and blue color photodiodes, the red channel can be multiplied by 0.271, the green channel can be multiplied by 0.589, and the blue channel can be multiplied by 0.0073, and the resultant products can be combined to produce a synthetic monochrome channel. This straightforward combination of channels is possible because in the dual pixel array structure, associated color and monochrome photodiodes are close together on the same sensor array.
In addition, co-location of color and monochrome pixels on the same can result in improved thermal correlation between color and monochrome images. In certain embodiments, color and monochrome pixels may be adjacent or closely spaced such that they can share a microlens. Because the ambient temperature affects the focusing characteristics of the microlens, additional calibration may be needed to map a monochrome image obtained at one temperature to a color image obtained at a different temperature, when the sensors are not co-located. In the dual pixel array, the need for extensive thermal calibration is lessened because the monochrome and color sensors are closer and thus closer to a mutual thermal equilibrium, and in some cases, may share a microlens and thus be affected by the temperature in the same way.
This illustrative example is given to introduce the reader to the general subject matter discussed herein and the disclosure is not limited to this example. The following sections describe various additional non-limiting examples for providing a pixel sensor with a dual pixel array.
Near-eye display 100 includes a frame 105 and a display 110. Frame 105 is coupled to one or more optical elements. Display 110 is configured for the user to see content presented by near-eye display 100. In some embodiments, display 110 comprises a waveguide display assembly for directing light from one or more images to an eye of the user.
Near-eye display 100 further includes image sensors 120a, 120b, 120c, and 120d. Each of image sensors 120a, 120b, 120c, and 120d may include a pixel array configured to generate image data representing different fields of views along different directions. For example, sensors 120a and 120b may be configured to provide image data representing two fields of view towards a direction A along the Z axis, whereas sensor 120c may be configured to provide image data representing a field of view towards a direction B along the X axis, and sensor 120d may be configured to provide image data representing a field of view towards a direction C along the X axis.
In some embodiments, sensors 120a-120d can be configured as input devices to control or influence the display content of the near-eye display 100 to provide an interactive VR/AR/MR experience to a user who wears near-eye display 100. For example, sensors 120a-120d can generate physical image data of a physical environment in which the user is located. The physical image data can be provided to a location tracking system to track a location and/or a path of movement of the user in the physical environment. A system can then update the image data provided to display 110 based on, for example, the location and orientation of the user, to provide the interactive experience. In some embodiments, the location tracking system may operate a SLAM algorithm to track a set of objects in the physical environment and within a view of field of the user as the user moves within the physical environment. The location tracking system can construct and update a map of the physical environment based on the set of objects, and track the location of the user within the map. By providing image data corresponding to multiple fields of views, sensors 120a-120d can provide the location tracking system a more holistic view of the physical environment, which can lead to more objects to be included in the construction and updating of the map. With such an arrangement, the accuracy and robustness of tracking a location of the user within the physical environment can be improved.
In some embodiments, near-eye display 100 may further include one or more active illuminators 130 to project light into the physical environment. The light projected can be associated with different frequency spectrums (e.g., visible light, infra-red light, ultra-violet light), and can serve various purposes. For example, illuminator 130 may project light in a dark environment (or in an environment with low intensity of infra-red light, ultra-violet light, etc.) to assist sensors 120a-120d in capturing images of different objects within the dark environment to, for example, enable location tracking of the user. Illuminator 130 may project certain markers onto the objects within the environment, to assist the location tracking system in identifying the objects for map construction/updating.
In some embodiments, illuminator 130 may also enable stereoscopic imaging. For example, one or more of sensors 120a or 120b can include both a first pixel array for visible light sensing and a second pixel array for infra-red (IR) light sensing. The first pixel array can be overlaid with a color filter (e.g., a Bayer filter), with each pixel of the first pixel array being configured to measure intensity of light associated with a particular color (e.g., one of red, green or blue colors). The second pixel array (for IR light sensing) can also be overlaid with a filter that allows only IR light through, with each pixel of the second pixel array being configured to measure intensity of IR lights. The pixel arrays can generate an RGB image and an IR image of an object, with each pixel of the IR image being mapped to each pixel of the RGB image. Illuminator 130 may project a set of IR markers on the object, the images of which can be captured by the IR pixel array. Based on a distribution of the IR markers of the object as shown in the image, the system can estimate a distance of different parts of the object from the IR pixel array, and generate a stereoscopic image of the object based on the distances. Based on the stereoscopic image of the object, the system can determine, for example, a relative position of the object with respect to the user, and can update the image data provided to display 100 based on the relative position information to provide the interactive experience.
As discussed above, near-eye display 100 may be operated in environments associated with a very wide range of light intensities. For example, near-eye display 100 may be operated in an indoor environment or in an outdoor environment, and/or at different times of the day. Near-eye display 100 may also operate with or without active illuminator 130 being turned on. As a result, image sensors 120a-120d may need to have a wide dynamic range to be able to operate properly (e.g., to generate an output that correlates with the intensity of incident light) across a very wide range of light intensities associated with different operating environments for near-eye display 100.
As discussed above, to avoid damaging the eyeballs of the user, illuminators 140a, 140b, 140c, 140d, 140e, and 140f are typically configured to output lights of very low intensities. In a case where image sensors 150a and 150b comprise the same sensor devices as image sensors 120a-120d of
Moreover, the image sensors 120a-120d may need to be able to generate an output at a high speed to track the movements of the eyeballs. For example, a user's eyeball can perform a very rapid movement (e.g., a saccade movement) in which there can be a quick jump from one eyeball position to another. To track the rapid movement of the user's eyeball, image sensors 120a-120d need to generate images of the eyeball at high speed. For example, the rate at which the image sensors generate an image frame (the frame rate) needs to at least match the speed of movement of the eyeball. The high frame rate requires short total exposure time for all of the pixel cells involved in generating the image frame, as well as high speed for converting the sensor outputs into digital values for image generation. Moreover, as discussed above, the image sensors also need to be able to operate at an environment with low light intensity.
Waveguide display assembly 210 is configured to direct image light to an eyebox located at exit pupil 230 and to eyeball 220. Waveguide display assembly 210 may be composed of one or more materials (e.g., plastic, glass) with one or more refractive indices. In some embodiments, near-eye display 100 includes one or more optical elements between waveguide display assembly 210 and eyeball 220.
In some embodiments, waveguide display assembly 210 includes a stack of one or more waveguide displays including, but not restricted to, a stacked waveguide display, a varifocal waveguide display, etc. The stacked waveguide display is a polychromatic display (e.g., a red-green-blue (RGB) display) created by stacking waveguide displays whose respective monochromatic sources are of different colors. The stacked waveguide display is also a polychromatic display that can be projected on multiple planes (e.g., multi-planar colored display). In some configurations, the stacked waveguide display is a monochromatic display that can be projected on multiple planes (e.g., multi-planar monochromatic display). The varifocal waveguide display is a display that can adjust a focal position of image light emitted from the waveguide display. In alternate embodiments, waveguide display assembly 210 may include the stacked waveguide display and the varifocal waveguide display.
Waveguide display 300 includes a source assembly 310, an output waveguide 320, and a controller 330. For purposes of illustration,
Source assembly 310 generates and outputs image light 355 to a coupling element 350 located on a first side 370-1 of output waveguide 320. Output waveguide 320 is an optical waveguide that outputs expanded image light 340 to an eyeball 220 of a user. Output waveguide 320 receives image light 355 at one or more coupling elements 350 located on the first side 370-1 and guides received input image light 355 to a directing element 360. In some embodiments, coupling element 350 couples the image light 355 from source assembly 310 into output waveguide 320. Coupling element 350 may be, e.g., a diffraction grating, a holographic grating, one or more cascaded reflectors, one or more prismatic surface elements, and/or an array of holographic reflectors.
Directing element 360 redirects the received input image light 355 to decoupling element 365 such that the received input image light 355 is decoupled out of output waveguide 320 via decoupling element 365. Directing element 360 is part of, or affixed to, first side 370-1 of output waveguide 320. Decoupling element 365 is part of, or affixed to, second side 370-2 of output waveguide 320, such that directing element 360 is opposed to the decoupling element 365. Directing element 360 and/or decoupling element 365 may be, e.g., a diffraction grating, a holographic grating, one or more cascaded reflectors, one or more prismatic surface elements, and/or an array of holographic reflectors.
Second side 370-2 represents a plane along an x-dimension and a y-dimension. Output waveguide 320 may be composed of one or more materials that facilitate total internal reflection of image light 355. Output waveguide 320 may be composed of e.g., silicon, plastic, glass, and/or polymers. Output waveguide 320 has a relatively small form factor. For example, output waveguide 320 may be approximately 50 mm wide along x-dimension, 30 mm long along y-dimension and 0.5-1 mm thick along a z-dimension.
Controller 330 controls scanning operations of source assembly 310. The controller 330 determines scanning instructions for the source assembly 310. In some embodiments, the output waveguide 320 outputs expanded image light 340 to the user's eyeball 220 with a large field of view (FOV). For example, the expanded image light 340 is provided to the user's eyeball 220 with a diagonal FOV (in x and y) of 60 degrees and/or greater and/or 150 degrees and/or less. The output waveguide 320 is configured to provide an eyebox with a length of 20 mm or greater and/or equal to or less than 50 mm; and/or a width of 10 mm or greater and/or equal to or less than 50 mm.
Moreover, controller 330 also controls image light 355 generated by source assembly 310, based on image data provided by image sensor 370. Image sensor 370 may be located on first side 370-1 and may include, for example, image sensors 120a-120d of
After receiving instructions from the remote console, mechanical shutter 404 can open and expose the set of pixel cells 402 in an exposure period. During the exposure period, image sensor 370 can obtain samples of lights incident on the set of pixel cells 402, and generate image data based on an intensity distribution of the incident light samples detected by the set of pixel cells 402. Image sensor 370 can then provide the image data to the remote console, which determines the display content, and provide the display content information to controller 330. Controller 330 can then determine image light 355 based on the display content information.
Source assembly 310 generates image light 355 in accordance with instructions from the controller 330. Source assembly 310 includes a source 410 and an optics system 415. Source 410 is a light source that generates coherent or partially coherent light. Source 410 may be, e.g., a laser diode, a vertical cavity surface emitting laser, and/or a light emitting diode.
Optics system 415 includes one or more optical components that condition the light from source 410. Conditioning light from source 410 may include, e.g., expanding, collimating, and/or adjusting orientation in accordance with instructions from controller 330. The one or more optical components may include one or more lenses, liquid lenses, mirrors, apertures, and/or gratings. In some embodiments, optics system 415 includes a liquid lens with a plurality of electrodes that allows scanning of a beam of light with a threshold value of scanning angle to shift the beam of light to a region outside the liquid lens. Light emitted from the optics system 415 (and also source assembly 310) is referred to as image light 355.
Output waveguide 320 receives image light 355. Coupling element 350 couples image light 355 from source assembly 310 into output waveguide 320. In embodiments where coupling element 350 is a diffraction grating, a pitch of the diffraction grating is chosen such that total internal reflection occurs in output waveguide 320, and image light 355 propagates internally in output waveguide 320 (e.g., by total internal reflection), toward decoupling element 365.
Directing element 360 redirects image light 355 toward decoupling element 365 for decoupling from output waveguide 320. In embodiments where directing element 360 is a diffraction grating, the pitch of the diffraction grating is chosen to cause incident image light 355 to exit output waveguide 320 at angle(s) of inclination relative to a surface of decoupling element 365.
In some embodiments, directing element 360 and/or decoupling element 365 are structurally similar. Expanded image light 340 exiting output waveguide 320 is expanded along one or more dimensions (e.g., may be elongated along x-dimension). In some embodiments, waveguide display 300 includes a plurality of source assemblies 310 and a plurality of output waveguides 320. Each of source assemblies 310 emits a monochromatic image light of a specific band of wavelength corresponding to a primary color (e.g., red, green, or blue). Each of output waveguides 320 may be stacked together with a distance of separation to output an expanded image light 340 that is multi-colored.
Near-eye display 100 is a display that presents media to a user. Examples of media presented by the near-eye display 100 include one or more images, video, and/or audio. In some embodiments, audio is presented via an external device (e.g., speakers and/or headphones) that receives audio information from near-eye display 100 and/or control circuitries 510 and presents audio data based on the audio information to a user. In some embodiments, near-eye display 100 may also act as an AR eyewear glass. In some embodiments, near-eye display 100 augments views of a physical, real-world environment, with computer-generated elements (e.g., images, video, sound).
Near-eye display 100 includes waveguide display assembly 210, one or more position sensors 525, and/or an inertial measurement unit (IMU) 530. Waveguide display assembly 210 includes source assembly 310, output waveguide 320, and controller 330.
IMU 530 is an electronic device that generates fast calibration data indicating an estimated position of near-eye display 100 relative to an initial position of near-eye display 100 based on measurement signals received from one or more of position sensors 525.
Imaging device 535 may generate image data for various applications. For example, imaging device 535 may generate image data to provide slow calibration data in accordance with calibration parameters received from control circuitries 510. Imaging device 535 may include, for example, image sensors 120a-120d of
The input/output interface 540 is a device that allows a user to send action requests to the control circuitries 510. An action request is a request to perform a particular action. For example, an action request may be to start or end an application or to perform a particular action within the application.
Control circuitries 510 provide media to near-eye display 100 for presentation to the user in accordance with information received from one or more of: imaging device 535, near-eye display 100, and input/output interface 540. In some examples, control circuitries 510 can be housed within system 500 configured as a head-mounted device. In some examples, control circuitries 510 can be a standalone console device communicatively coupled with other components of system 500. In the example shown in
The application store 545 stores one or more applications for execution by the control circuitries 510. An application is a group of instructions that, when executed by a processor, generates content for presentation to the user. Examples of applications include: gaming applications, conferencing applications, video playback applications, or other suitable applications.
Tracking module 550 calibrates system 500 using one or more calibration parameters and may adjust one or more calibration parameters to reduce error in determination of the position of the near-eye display 100.
Tracking module 550 tracks movements of near-eye display 100 using slow calibration information from the imaging device 535. Tracking module 550 also determines positions of a reference point of near-eye display 100 using position information from the fast calibration information.
Engine 555 executes applications within system 500 and receives position information, acceleration information, velocity information, and/or predicted future positions of near-eye display 100 from tracking module 550. In some embodiments, information received by engine 555 may be used for producing a signal (e.g., display instructions) to waveguide display assembly 210 that determines a type of content presented to the user. For example, to provide an interactive experience, engine 555 may determine the content to be presented to the user based on a location of the user (e.g., provided by tracking module 550), or a gaze point of the user (e.g., based on image data provided by imaging device 535), a distance between an object and user (e.g., based on image data provided by imaging device 535).
Pixel cell 602a can include a plurality of photodiodes 612 including, for example, photodiodes 612a, 612b, 612c, and 612d, one or more charge sensing units 614, and one or more analog-to-digital converters 616. The plurality of photodiodes 612 can convert different components of incident light to charge. For example, photodiode 612a-612c can correspond to different visible light channels, in which photodiode 612a can convert a visible blue component (e.g., a wavelength range of 450-490 nanometers (nm)) to charge. Photodiode 612b can convert a visible green component (e.g., a wavelength range of 520-560 nm) to charge. Photodiode 612c can convert a visible red component (e.g., a wavelength range of 635-700 nm) to charge. Moreover, photodiode 612d can convert an infra-red component (e.g., 700-1000 nm) to charge. Each of the one or more charge sensing units 614 can include a charge storage device and a buffer to convert the charge generated by photodiodes 612a-612d to voltages, which can be quantized by one or more ADCs 616 into digital values. The digital values generated from photodiodes 612a-612c can represent the different visible light components of a pixel, and each can be used for 2D sensing in a particular visible light channel. Moreover, the digital value generated from photodiode 612d can represent the infra-red light component of the same pixel and can be used for 3D sensing. Although
In some examples, image sensor 600 may also include an illuminator 622, an optical filter 624, an imaging module 628, and a sensing controller 630. Illuminator 622 may be an infra-red illuminator, such as a laser, a light emitting diode (LED), etc., that can project infra-red light for 3D sensing. The projected light may include, for example, structured light, light pulses, etc. Optical filter 624 may include an array of filter elements overlaid on the plurality of photodiodes 612a-612d of each pixel cell including pixel cell 606a. Each filter element can set a wavelength range of incident light received by each photodiode of pixel cell 606a. For example, a blue chromatic filter over photodiode 612a may transmit the visible blue light component while blocking other components, a green chromatic filter over photodiode 612b may transmit the visible green light component, a red chromatic filter over photodiode 612c may transmit the visible red light component, whereas a filter element over photodiode 612d may transmit the infra-red light component.
Image sensor 600 further includes an imaging module 628. Imaging module 628 may further include a 2D imaging module 632 to perform 2D imaging operations and a 3D imaging module 634 to perform 3D imaging operations. The operations can be based on digital values provided by ADCs 616. For example, based on the digital values from each of photodiodes 612a-612c, 2D imaging module 632 can generate an array of pixel values representing an intensity of an incident light component for each visible color channel, and generate an image frame for each visible color channel. Moreover, 3D imaging module 634 can generate a 3D image based on the digital values from photodiode 612d. In some examples, based on the digital values, 3D imaging module 634 can detect a pattern of structured light reflected by a surface of an object, and compare the detected pattern with the pattern of structured light projected by illuminator 622 to determine the depths of different points of the surface with respect to the pixel cells array. For detection of the pattern of reflected light, 3D imaging module 634 can generate pixel values based on intensities of infra-red light received at the pixel cells. As another example, 3D imaging module 634 can generate pixel values based on time-of-flight of the infra-red light transmitted by illuminator 622 and reflected by the object. Image sensor 600 further includes a sensing controller 640 to control different components of image sensor 600 to perform 2D and 3D imaging of an object.
Reference is now made to
Furthermore, image sensor 600 can also perform 3D imaging of object 704. Referring to
Each the photodiodes 612a, 612b, 612c, and 612d can be in a separate semiconductor substrate, which can be stacked to form image sensor 600. For example, photodiode 612a can be in a semiconductor substrate 840, photodiode 612b can be in a semiconductor substrate 842, photodiode 612c can be in a semiconductor substrate 844, whereas photodiode 612d can be in a semiconductor substrate 846. Each of substrates 840-846 can include a charge sensing unit, such as charge sensing units 614. Substrates 840-846 can form a sensor layer. Each semiconductor substrate can include other photodiodes of other pixel cells, such as pixel cells 602b to receive light from spot 804b. Image sensor 600 can include another semiconductor substrate 848 which can include pixel cell processing circuits 849 which can include, for example, ADCs 616, imaging module 628, sensing controller 640, etc. In some examples, charge sensing units 614 can be in semiconductor substrate 848. Semiconductor substrate 848 can form an application specific integrated circuit (ASIC) layer. Each semiconductor substrate can be connected to a metal interconnect, such as metal interconnects 850, 852, 854, and 856 to transfer the charge generated at each photodiode to processing circuit 849.
As shown in
Pixel cell 602a further includes one or more microlens 862 which can project light 864 from a spot of a scene (e.g., spot 804a) via optical tiler array 860 to different lateral locations of light receiving surface 800, which allows each photodiode to become a sub-pixel of pixel cell 602a and to receive components of light from the same spot corresponding to a pixel. In some examples, a single microlens 862 can be overlaid on multiple pixels as shown in
Pixel cell 602a can also include semiconductor substrate 848 which can include circuit 849 (e.g., charge sensing units 614, ADCs 616, etc.) to generate digital values from the charge generated by the photodiodes. Semiconductor substrates 840 and 848 can form a stack and can be connected with interconnect 856. In
The arrangements of
Heterogenous arrangements of optical filter arrays as depicted in
As shown in
Each photodiode is individually addressable by monochrome-enable signals 930 on monochrome-select lines 908 provided by monochrome selection controller 904, and color-enable signals 932 on color-select lines 910 provided by color selection controller 906. Monochrome-enable signals 930 and color-enable signals 932 can be generated based on information received from sensing controller 640. For use with a global shutter, for example, the monochrome channel can be read out by selecting all monochrome pixels via the monochrome-select lines 908. For use with a rolling shutter, the monochrome selection controller 904 can be configured to select one column of monochrome sensors at time, in succession, to affect the rolling shutter. Similar configurations can be made for each color channel.
Although
Each pixel also includes a select switch. Color pixels 1010a, 1010d includes color-select switches 1014a and 1014d, respectively. Monochrome pixels 1010b and 1010c include monochrome-select switches 1014b and 1014c, respectively. The color- and monochrome-select switches 1014a-d are connected to the color-enable lines 910 and monochrome-enable lines 908 as shown in
In addition to the pixels 1010a-d, the example pixel array 1000 depicts ADCs 1020, 1022, 1024, 1026 connected to each pixel, an activation memory 1030, and a multiplexing control 1040 logic. The ADCs 1020, 1022, 1024, 1026 are connected to each of the pixels 1010a-d to receive a voltage, Vpix, from each pixel selected by either a monochrome or color select switch 1014a-d closed in concert with the respective VBs. It converts the voltage to a pixel value, which is then stored in memory 1050. The multiplexing control logic 1040 ensures the monochrome and color channels can be read out simultaneously, sequentially, or according to any desired temporal sequence using shared circuitry. Further, configuration information that includes the pixel arrangement to select specific color channels is stored in the activation memory 1030. ADCs in some embodiments may be configured differently. For example, all monochrome photodiodes could share one or more ADCs while each set of color photodiodes (red, green, and blue) could each share one or more ADCs.
After the ADCs 1020, 1022, 1024, 1026 have converted a pixel's value, the input voltage is reset by opening the respective pixel's monochrome- or color-select switches. The monochrome- or color-enable lines for the next pixel(s) or channels to be read may then be enabled. For instance, the monochrome channel may be read first, followed by the color channels in close succession. In another example, the monochrome channel and the color channels may be read out simultaneously.
In some examples, the monochrome and color sensors may operate in correlated double sampling (“CDS”) mode. In CDS mode, immediately following reset of the input voltage, another set of channel readouts is performed. Due to inherent background noise due to cosmic rays, electrical artifacts, thermal effects, quantum effects, etc. the post-reset pixel values are likely non-zero. Following readout of the post-reset pixel values, monochrome and color images can be captured using the methods described above. During post-processing, the post-reset pixel values may be subtracted from the pixel values captured during integration to remove the approximate noise level. Because background noise varies based on environmental conditions, capturing the post-reset pixel values immediately before exposure can lead to more accurate removal of background noise.
Selective control of the monochrome- and color-enable lines can provide the necessary configuration for shutter mode. For example, both the monochrome and color camera may be operated in global shutter mode for substantially simultaneous integration periods using parallel circuitry as described above. Alternatively, the monochrome camera may use a global shutter operation while the color camera uses a rolling shutter operation. Rolling shutter operations can be vulnerable to the creation of undesirable image artifacts. The MR display, which utilizes the color camera, may be only minimally affected by such artifacts, resulting in a negligible degradation of the user experience (“UX”). On the other hand, the monochrome camera, utilized in computer vision tasks, may experience significant adverse effects from artifacts due to the rolling shutter. Therefore the global shutter may be preferred for monochrome camera operations.
Further, areal density may be improved by forming portions of the pixel on one layer of a substrate and other portions on a second layer. For example, a first layer of the substrate may include the pixels, while a second layer may include the ADCs 1020, 1022, 1024, 1026, activation memory 1030, multiplexing control logic 1040, and the memory 1050. By stacking different components in different substrate layers, pixel density may be increased.
The repeating group of colors in arrangement 1100 may correspond to the colors in a color filter array. The color filter array can be used to combine the color channels corresponding two or more colors to produce a composite color image. For example, a Bayer filter can combine one red channel, two green channels, and one blue channel to produce a composite color image.
It will be appreciated by one skilled in the art that the arrangements 1100 and 1110 in
As discussed in
In some embodiments, individual colors may have dedicated color select lines. For instance, a certain embodiment may include red, green, and blue color select lines that are only connected to photodiodes of the associated color. In those embodiments, similar timing diagrams to the ones depicted in
Referring now to
At block 1310, each photodiode in the dual pixel array 602 receives incoming light and converts it into electric charges during an exposure period. In this example, the electric charges are stored in a charge storage device included in a charge sensing unit 614, such as a floating diffusion. However, any suitable charge storage device may be employed. Further, in some examples, the electric charge may accumulate at the photodiode before later being connected to a discrete charge storage device, such as by one or more switches being closed to connect the photodiode to the charge storage device, such as illustrated in
At block 1320, the image sensor enables a color-enable line corresponding to one or more color photodiodes. As discussed above with respect to
At block 1330, the image sensor enables a monochrome-enable line corresponding to the associated monochrome photodiodes. In dual pixel array 602, the color and monochrome photodiodes are selected and arranged such that each color photodiode has at least one monochrome photodiode elsewhere on the array. In some examples, the color and monochrome photodiodes may be adjacent. Similar to the color-select lines, each of the monochrome-select lines 908 is connected to monochrome photodiodes located in the dual pixel array 602. When a monochrome-select line is enabled, e.g., M0, monochrome-select switches in the corresponding pixels are closed. This completes the electrical pathway between the photodiode and the monochrome ADC 1020.
In certain examples, the process in block 1320 and 1330 can happen substantially simultaneously. For example, both the color and monochrome channels may be captured substantially simultaneously using a global shutter operation. Or, the monochrome channel may be captured using a global shutter operation and the color channel(s) may be captured using rolling shutter operations. Capture of the color and monochrome channels simultaneously using parallel circuitry may ensure that the resultant images can be simply mapped onto one another with a minimum of calibration and transformation.
At block 1340, the ADCs 1020, 1022, 1024, 1026 generate pixel values for each photodiode having a closed monochrome- or color-select switch. Pixel values may be determined for each photodiode individually to form a composite image when a global shutter is used. In some embodiments, the ADCs 1020, 1022, 1024, 1026 may be connected to rows or columns of photodiodes that can be read out individually to affect a rolling shutter mode.
At block 1350, the pixel values are stored in memory 1050.
Because the dual pixel array 602 has multiple channels, blocks 1320-1350 may be repeated for additional channels depending on whether channels are read out simultaneously or sequentially. For example, as discussed above with respect to
Referring now to
At block 1410, a computing device may receive pixel values from one or more monochrome photodiodes. Likewise, at block 1420, the computing device may receive pixel values associated with one or more color photodiodes. In particular, the computing device may receive pixel values for one or more red photodiodes, one or mode green photodiodes, and one or more blue photodiodes. As described above with respect to
At block 1430, the imaging module 628 may receive the pixel values in preparation for enhancing the monochrome image or for creating a synthetic monochrome image, when the monochrome image is unavailable. The imaging module 628 may use a multiplier (e.g., a conversion factor or ratio) to determine a fraction of the color channels to use to create the synthetic monochrome channel or enhance an existing monochrome image. In one example using red, green, and blue color channels, the multipliers are 0.271, 0.589, and 0.0073, respectively. The pixel values associated with each color channel are multiplied by the multiplier, resulting in a pixel value that is a fraction of the size of the original value.
At block 1440, the fractions of the pixel values of the color channels are combined with an existing monochrome image to produce an enhanced monochrome image. For example, in very low light, the monochrome signal may be too low to perform certain computer vision tasks. Combination with the color channels as described in method 1400 may provide sufficient monochrome signal to perform those tasks.
In some examples, wherein a starting monochrome image is unavailable, the fractions of the pixel values of the color channels are simply combined to produce a synthetic monochrome image. For example, in a wearable device with no monochrome camera and only a color camera, a monochrome image could be simulated using the process 1400.
The foregoing description of some examples has been presented only for the purpose of illustration and description and is not intended to be exhaustive or to limit the disclosure to the precise forms disclosed. Numerous modifications and adaptations thereof will be apparent to those skilled in the art without departing from the spirit and scope of the disclosure.
Reference herein to an example or implementation means that a particular feature, structure, operation, or other characteristic described in connection with the example may be included in at least one implementation of the disclosure. The disclosure is not restricted to the particular examples or implementations described as such. The appearance of the phrases “in one example,” “in an example,” “in one implementation,” or “in an implementation,” or variations of the same in various places in the specification does not necessarily refer to the same example or implementation. Any particular feature, structure, operation, or other characteristic described in this specification in relation to one example or implementation may be combined with other features, structures, operations, or other characteristics described in respect of any other example or implementation.
Use herein of the word “or” is intended to cover inclusive and exclusive OR conditions. In other words, A or B or C includes any or all of the following alternative combinations as appropriate for a particular usage: A alone; B alone; C alone; A and B only; A and C only; B and Conly; and A and B and C.