Patent Description:
An optical sensor device may be utilized to capture information concerning light. For example, the optical sensor device may capture information relating to a set of wavelengths associated with the light. The optical sensor device may include a set of sensor elements (e.g., optical sensors, spectral sensors, and/or image sensors) that capture the information. For example, an array of sensor elements may be utilized to capture information relating to multiple wavelengths. The sensor element array may be associated with an optical filter. The optical filter may include one or more channels that respectively pass particular wavelengths to sensor elements of the sensor element array. <CIT>,<NPL> and <NPL>disclose optical sensors.

In some implementations, there is provided an optical sensor device or a method or a non-transitory computer-readable medium storing instructions in accordance with the respective claims appended hereto.

The following description uses a spectrometer as an example.

A conventional optical sensor device may be used to determine spectral information related to a subject and/or to determine health-related measurements of the subject. For example, conventional optical sensor devices may capture light associated with a subject to determine health-related measurements or health parameters for the subject (e.g., a human body), such as heartbeat, blood pressure, or respiration rate, among other examples. Moreover, a conventional computational imaging device is a lens-less device that may be used to generate an image of a subject associated with light captured by the conventional computational imaging device. For example, the conventional computational imaging device may include a phase mask that distributes light associated with the subject across an optical sensor and may process pattern information associated with the light that is captured by the optical sensor to generate the image of the subject.

Consequently, a device (e.g., a handheld or portable device, a non-portable device, and/or the like) that is configured to selectively obtain an optical measurement associated with a subject or an image of the subject requires incorporation of a conventional optical sensor device and a conventional computational imaging device into the device. This increases a complexity associated with designing, assembling, and/or maintaining the device that includes the two different conventional devices. Moreover, a combined footprint of the two different conventional devices prevents the two different conventional devices from being incorporated into user devices, such as mobile phone devices, that require a smaller form factor.

Some implementations described herein provide an optical sensor device that comprises an optical sensor, an optical filter, a phase mask configured to distribute a plurality of light beams associated with a subject in an encoded pattern on an input surface of the optical filter, and one or more processors. The one or more processors are configured to obtain, from the optical sensor, sensor data associated with the subject and determine a distance of the subject from the optical sensor device. The one or more processors select, based on the distance, a processing technique, from a plurality of processing techniques, to process the sensor data. The plurality of processing techniques include an imaging processing technique (e.g., a computational imaging processing technique for generating an image of the subject) or a spectroscopic processing technique (e.g., to determine a classification of the subject, a material composition of the subject, a health-related measurement of the subject, and/or the like). The one or more processors process, using the selected processing technique, the sensor data to generate output data and may provide the output data (e.g., for display on a screen of a user device).

In this way, the optical sensor device described herein is able to provide a same functionality of the conventional optical sensor device and the conventional computational imaging device, but with just one device as compared to two different devices. This reduces a complexity associated with designing, assembling, and/or maintaining a device (e.g., a handheld or portable device, a non-portable device, and/or the like) that incorporates the optical sensor device and that is configured to selectively provide an optical measurement of a subject or an image of the subject. Further, the optical sensor device, as a single device, has a smaller footprint than a combined footprint of the conventional optical sensor device and the conventional computational imaging device. This allows the optical device to be incorporated into user devices, such as mobile phone devices, that require a small form factor, which may not be possible for a package that combines the conventional optical sensor device and the conventional computational imaging device.

<FIG> are diagrams of an overview of an example implementation <NUM> described herein. As shown in <FIG>, example implementation <NUM> includes a phase mask <NUM>, an optical filter <NUM>, an optical sensor <NUM>, and/or a light source <NUM>. The phase mask <NUM>, the optical filter <NUM>, the optical sensor <NUM>, and/or the light source <NUM> may be associated with an optical sensor device, which is described in more detail elsewhere herein.

As further shown in <FIG>, the phase mask <NUM> may include one or more mask elements <NUM>. The one or more mask elements <NUM> may each be transparent or opaque (e.g., reflective, absorbing, and/or the like) and arranged in a pattern (e.g., a non-uniform pattern). For example, as shown in <FIG>, transparent mask elements <NUM> are shown as white squares and opaque mask elements <NUM> are shown as black squares, and the transparent mask elements <NUM> and the opaque mask elements <NUM> are arranged in a grid pattern. In some implementations, the transparent mask elements <NUM> may respectively comprise one or more diffusive elements to diffuse light that passes through the phase mask <NUM> via the transparent mask elements <NUM>. The phase mask <NUM> are configured to distribute a plurality of light beams that pass through the phase mask <NUM> in an encoded pattern on an input surface of the optical filter <NUM>. In some implementations, the phase mask <NUM> may be a coded aperture or another element that produces an encoded pattern of light beams, such as a Fresnel zone plate, an optimized random pattern array, a uniformly redundant array, a hexagonal uniformly redundant array, or a modified uniformly redundant array, among other examples.

The encoded pattern may indicate angular direction information associated with an origin plane (e.g., that is associated with a subject <NUM> described herein) of the plurality of light beams that are passed by the phase mask <NUM>. In some implementations, the one or more mask elements <NUM> may be arranged in a pattern that is associated with an algorithm (e.g., a computational encoding algorithm) to cause the phase mask <NUM> to pass the plurality of light beams and to distribute the plurality of light beams in the encoded pattern on the input surface of the optical filter <NUM>.

As further shown in <FIG>, the optical filter <NUM> includes one or more channels <NUM> that respectively pass light in different wavelength ranges to sensor elements <NUM> of the optical sensor <NUM>. For example, as shown in <FIG>, a first channel <NUM> (e.g., indicated by no shading and no patterning) passes light associated with a first wavelength range to a first set of sensor elements <NUM> (e.g., that comprises one or more sensor elements <NUM>) of the optical sensor <NUM>, a second channel <NUM> (e.g., indicated by gray shading) passes light associated with a second wavelength range to a second set of sensor elements <NUM> of the optical sensor <NUM>, a third channel <NUM> (e.g., indicated by diamond patterning) passes light associated with a third wavelength range to a third set of sensor elements <NUM> of the optical sensor <NUM>, and so on. According to the invention, the optical filter <NUM> has an angle-dependent wavelength characteristic. For example, a channel <NUM> may be configured to have "angle shift," such that the channel <NUM> may pass light associated with a first wavelength range when the light falls incident on the channel <NUM> within a first incident angle range, may pass light associated with a second wavelength range when the light falls incident on the channel <NUM> within a second incident angle range, may pass light associated with a third wavelength range when the light falls incident on the channel <NUM> within a third incident angle range, and so on. The channel <NUM> may be configured to pass light associated with shorter wavelengths as the light falls on the channel <NUM> at greater incident angles.

In some implementations, the optical filter <NUM> may include an optical interference filter. The optical interference filter may have an angle dependent wavelength characteristic, and the angle dependent wavelength characteristic may be represented by an equation of the form: <MAT>, where λθ represents a peak wavelength at incident angle θ, λ<NUM> represents a peak wavelength at incident angle <NUM>, n<NUM> represents a refractive index of the incident medium, ne represents an effective index of the optical interference filter, and θ is the incident angle of a light beam. Additionally, or alternatively, the optical filter <NUM> may include, for example, a spectral filter, a multispectral filter, a bandpass filter, a blocking filter, a long-wave pass filter, a short-wave pass filter, a dichroic filter, a linear variable filter (LVF), a circular variable filter (CVF), a Fabry-Perot filter (e.g., a Fabry-Perot cavity filter), a Bayer filter, a plasmonic filter, a photonic crystal filter, a nanostructure and/or metamaterial filter, an absorbent filter (e.g., comprising organic dyes, polymers, and/or glasses, among other examples), and/or the like.

As further shown in <FIG>, the optical sensor <NUM> includes one or more sensor elements <NUM> (e.g., an array of sensor elements, also referred to herein as a sensor array), each configured to obtain information. For example, a sensor element <NUM> may provide an indication of intensity of light that is incident on the sensor element <NUM> (e.g., active/inactive or a more granular indication of intensity). The optical sensor <NUM> is configured to collect the information obtained by the one or more sensor elements <NUM> to generate sensor data.

The light source <NUM> may include a device capable of generating light (e.g., for illuminating the subject <NUM> described herein). For example, the light source <NUM> may include a light emitting diode (LED), such as a phosphor LED. In some implementations, the light source <NUM> may include a plurality of LEDs. In such a case, a first LED, of the plurality of LEDs, may be associated with a different spectral range than a second LED of the plurality of LEDs. This may enable the addressing of narrow spectral ranges using a plurality of LEDs, rather than addressing a wide spectral range using a single LED. In some implementations, the light source <NUM> may include a single modulated LED or a plurality of modulated LEDs. When the light source <NUM> includes one or more modulated LEDs, the optical sensor device may modulate a power supply of the light source <NUM>. Using a modulated LED may enable driving the LED to a higher power than a continuous-wave LED. Furthermore, modulation may improve signal-to-noise properties of sensing performed using light from the modulated LED.

Turning to <FIG>, the optical sensor device associated with the phase mask <NUM>, the optical filter <NUM>, the optical sensor <NUM>, and/or the light source <NUM> may be configured to capture information relating to a subject <NUM>. The subject <NUM> may be in a "far-field," a "mid-field," or a "near-field" of the optical sensor device. For example, as shown in <FIG>, the subject <NUM> may be in the far-field when the subject <NUM> is a distance from the optical sensor device (e.g., from the phase mask <NUM>, the optical filter <NUM>, or the optical sensor <NUM>) such that the distance satisfies (e.g., is greater than or equal to) a far-field distance threshold (e.g., <NUM> millimeters (mm)). The subject <NUM> may be in the mid-field when the distance satisfies (e.g., is greater than or equal to) a mid-field distance threshold (e.g., <NUM>) and the distance does not satisfy the far-field distance threshold (e.g., the distance is greater than or equal to <NUM> but less than <NUM>). The subject <NUM> may be in the near-field when the distance does not satisfy the mid-field distance threshold (e.g., the distance is less than <NUM>).

In some implementations, light from the light source <NUM> and/or ambient light may illuminate the subject <NUM>. One or more light beams associated with a subject point <NUM> of the subject <NUM> (e.g., light beams of the light reflected by the subject point <NUM>) may be received by the optical sensor device. For example, as shown in <FIG>, a light beam <NUM>, a light beam <NUM>, and a light beam <NUM> may originate at the subject point <NUM>. The light beam <NUM> may be blocked by an opaque mask element <NUM> of the phase mask <NUM>. The light beam <NUM> and the light beam <NUM> may each pass through the phase mask <NUM> via respective transparent mask elements <NUM>. As further shown in <FIG>, the light beam <NUM> and the light beam <NUM> may be diffused by the respective transparent mask elements <NUM> when passing through the phase mask <NUM>. Accordingly, the phase mask <NUM> may distribute the light beam <NUM> and the light beam <NUM> in an encoded pattern on the input surface of the optical filter <NUM> (e.g., where respective sub-beams of the light beam <NUM> and the light beam <NUM> are distributed across the input surface of the optical filter <NUM>).

In some implementations, a channel <NUM> of the optical filter <NUM> may receive a light beam, or a sub-beam of a light beam, but may not pass the light beam or sub-beam to the optical sensor <NUM>. For example, as shown in <FIG>, a channel <NUM> of the optical filter <NUM> may receive one or more sub-beams of the light beam <NUM>, but may not pass the one or more sub-beams to the optical sensor <NUM> because the one or more sub-beams are not associated with one or more wavelength ranges that the channel <NUM> is configured to pass. In some implementations, a channel <NUM> of the optical filter <NUM> may receive a light beam or a sub-beam of the light beam and may pass the light beam or sub-beam to a corresponding sensor element <NUM> of the optical sensor <NUM>. For example, as shown in <FIG>, a channel <NUM> of the optical filter <NUM> may receive one or more sub-beams of the light beam <NUM> and may pass the one or more sub-beams to one or more corresponding sensor elements <NUM> of the optical sensor <NUM> because the one or more sub-beams are associated with one or more wavelength ranges that the channel <NUM> is configured to pass.

As further shown in <FIG>, the optical sensor device may be associated with one or more processors <NUM> and provides, as shown by reference number <NUM>, sensor data to the one or more processors <NUM>. The sensor data may indicate information relating to the light beams originating at the subject <NUM> and/or the subject point <NUM>, such as an indication of intensity of the light beams (and/or sub-beams of the light beams) that are received by the one or more sensor elements <NUM>.

As further shown in <FIG>, and by reference number <NUM>, the one or more processors <NUM> may determine a distance of the subject <NUM> from the optical sensor device (e.g., from the phase mask <NUM>, the optical filter <NUM>, or the optical sensor <NUM>). For example, the one or more processors <NUM> may cause a proximity sensor (e.g., a time-of-flight sensor) associated with the optical sensor device to collect proximity data concerning the subject <NUM>. The proximity sensor may collect the proximity data (e.g., that indicates a distance from the proximity sensor to the subject <NUM>) and may provide the proximity data to the one or more processors <NUM>. The one or more processors <NUM> may process the proximity data (e.g., using an algorithm) to determine the distance of the subject <NUM> from the optical sensor device.

As another example, the one or more processors <NUM> may identify, based on the sensor data, a first sensor element <NUM> of the optical sensor <NUM> that received a first light beam (e.g., that originated at the subject point <NUM>) and a second sensor element <NUM> of the optical sensor <NUM> that received a second light beam (e.g., that originated at the subject point <NUM>). The one or more processors <NUM> may determine, based on information associated with the optical filter <NUM> (e.g., that indicates a correspondence between channels <NUM> of the optical filter <NUM> and sensor elements <NUM> of the optical sensor <NUM>), a first channel <NUM> as having received and passed the first light beam to the first sensor element <NUM> and a second channel <NUM> as having received and passed the second light beam to the second sensor element <NUM>.

The one or more processors <NUM> determine, based on information associated with the encoded pattern, an angle of incidence of the first light beam on the first channel <NUM> and an angle of incidence of the second light beam on the second channel <NUM>. The information associated with the encoded pattern may include information for determining the angle of incidence of a particular light beam on a particular channel <NUM> of the optical filter <NUM>. For example, the information associated with the encoded pattern may identify at least one algorithm, such as a computational encoding algorithm that causes the phase mask <NUM> to distribute light beams in the encoded pattern on the input surface of the optical filter <NUM> and/or an algorithm for reconstructing an image from the encoded pattern, among other examples. Accordingly, the one or more processors <NUM> may process, using the at least one algorithm identified by the information associated with the encoded pattern, information identifying the first channel <NUM> and/or the first sensor element <NUM>, and information identifying the second channel <NUM> and/or the second sensor element <NUM>, to determine the angle of incidence of the first light beam on the first channel <NUM> and the angle of incidence of the second light beam on the second channel <NUM>.

According to the invention, the one or more processors <NUM> determine, based on the angle of incidence of the first light beam on the first channel <NUM> and the angle of incidence of the second light beam on the second channel <NUM>, the distance of the subject point <NUM> from the optical sensor device (e.g., from the phase mask <NUM>, the optical filter <NUM>, or the optical sensor <NUM>). For example, the one or more processors <NUM> may use a computer vision technique (e.g., a triangulation computation technique, a stereo vision technique, and/or the like) based on information indicating a location of the first channel <NUM> and the angle of incidence of the first light beam on the first channel <NUM>, and information indicating a location of the second channel <NUM> and the angle of incidence of the second light beam on the second channel <NUM>, to determine a distance to the subject point <NUM>.

As further shown in <FIG>, and by reference number <NUM>, the one or more processors <NUM> select a processing technique to process the sensor data. For example, the one or more processors <NUM> select an imaging processing technique or a spectroscopic processing technique. For example, the one or more processors <NUM> may determine whether the distance of the subject <NUM> from the optical sensor device (e.g., from the phase mask <NUM>, the optical filter <NUM>, or the optical sensor <NUM>) satisfies (e.g., is greater than or equal to) a far-field distance threshold (e.g., <NUM>) and may select the imaging processing technique based on determining that the distance satisfies the far-field distance threshold. The one or more processors <NUM> may select a spectroscopic technique based on determining that the distance does not satisfy the far-field distance threshold. For example, the one or more processors <NUM> may determine, after determining that the distance does not satisfy the far-field distance threshold, whether the distance satisfies (e.g., is great than or equal to) a mid-field distance threshold, and may select a first spectroscopic processing technique (e.g., a spectroscopic processing technique that is optimized to determine spectral information associated with a subject in the mid-field range) based on determining that the distance satisfies the mid-field distance threshold. When the one or more processors <NUM> determine that the distance does not satisfy the mid-field distance threshold, the one or more processors <NUM> may select a second spectroscopic processing technique (e.g., a spectroscopic processing technique that is optimized to determine spectral information associated with a subject in the near-field range).

In another example, the one or more processors <NUM> cause a display of another device, such as a user device (e.g., as described herein in relation to <FIG>), associated with the optical sensor device to display a message. The message may instruct a user of the optical sensor device and/or the other device to choose a processing technique to process the sensor data. For example, the message may instruct the user to choose an image processing technique or a spectroscopic processing technique. The user may interact with a user interface of the other device to provide input data that indicates a choice of the user (e.g., a choice of an image processing technique or a spectroscopic processing technique). The other device may provide the input data to the one or more processors <NUM>. After receiving the input data, the one or more processors may select a processing technique to process the sensor data based on the input data (e.g., select the processing technique indicated by the input data).

As further shown in <FIG>, and by reference number <NUM>, the one or more processors <NUM> may process the sensor data using the selected processing technique to generate output data. For example, when the selected processing technique is an imaging processing technique, the one or more processors <NUM> may identify an algorithm for reconstructing an image from the encoded pattern and may process the sensor data using the algorithm to generate an image of the subject <NUM>. As another example, when the selected processing technique is a spectroscopic processing technique, the one or more processors <NUM> may identify an algorithm for analyzing spectral data and may process the sensor data using the algorithm to generate spectral information concerning the subject <NUM>. In some implementations, when using a spectroscopic processing technique, the one or more processors <NUM> may identify a classification of the subject <NUM> (e.g., when the subject <NUM> is a food item, classify the food item as fresh or spoiled), a material composition of the subject <NUM> (e.g., when the subject <NUM> is an object, identify one or more materials that comprise the object), or a health-related measurement of the subject <NUM> (e.g., when the subject <NUM> is biological tissue, such as biological tissue of a finger, identify a pulse, a blood pressure, a glucose level, a hydration level, and/or the like associated with the subject <NUM>), among other examples.

In some implementations, the one or more processors <NUM> provides the output data to another device, such as a user device. For example, the one or more processors <NUM> may send the output data to the user device to cause the user device to display the output data on a display of the user device. As another example, the one or more processors <NUM> may send the output data to the user device to cause the user device to determine one or more characteristics of the subject <NUM> (e.g., the classification of the subject <NUM>, the material composition of the subject <NUM>, the health-related measurement of the subject <NUM>, and/or the like).

As indicated above, <FIG> and <FIG> are provided as one or more examples.

<FIG> is a diagram of an example environment <NUM> in which systems and/or methods described herein may be implemented. As shown in <FIG>, environment <NUM> may include an optical sensor device <NUM> that may include one or more processors <NUM> (e.g., that correspond to the one or more processors <NUM> described herein in relation to <FIG> and <FIG>) and an optical sensor <NUM> (e.g., that corresponds to the optical sensor <NUM> described herein in relation to <FIG> and <FIG>). The environment <NUM> may also include a user device <NUM> and a network <NUM>. Devices of environment <NUM> may interconnect via wired connections, wireless connections, or a combination of wired and wireless connections.

Optical sensor device <NUM> may include an optical device capable of storing, processing, and/or routing image information and/or spectral information associated with a subject. For example, optical sensor device <NUM> may include a computational camera device that captures an image of the subject (e.g., using a computational encoding algorithm). As another example, optical sensor device <NUM> may include a spectrometer device that performs spectroscopy, such as a spectral optical sensor device (e.g., a binary multispectral optical sensor device that performs vibrational spectroscopy (such as a near infrared (NIR) spectrometer), a mid-infrared spectroscopy (mid-IR), Raman spectroscopy, and/or the like). In another example, optical sensor device <NUM> may perform a health parameter monitoring determination, a pulse transit time determination, a biometric authentication determination, a liveness detection determination, and/or the like. In this case, optical sensor device <NUM> may utilize the same wavelengths, different wavelengths, a combination of the same wavelengths and different wavelengths, and/or the like for such determinations. In some implementations, optical sensor device <NUM> may be incorporated into a user device <NUM>, such as a wearable spectrometer and/or the like. In some implementations, optical sensor device <NUM> may receive information from and/or transmit information to another device in environment <NUM>, such as user device <NUM>.

In some implementations, optical sensor device <NUM> may comprise a spectral imaging camera. A spectral imaging camera is a device that can capture an image of a scene. A spectral imaging camera (or a processor <NUM> associated with the spectral imaging camera) may be capable of determining spectral content or changes in spectral content at different points in an image of a scene, such as any point in an image of a scene. In some implementations, optical sensor device <NUM> may comprise a spectral imaging camera capable of performing hyperspectral imaging. For example, optical sensor device <NUM> may include an optical filter (e.g., optical filter <NUM>, described herein in relation to <FIG> and <FIG>). In some implementations, the optical filter may be disposed on optical sensor <NUM>. In some implementations, optical sensor device <NUM> may comprise a phase mask (e.g., phase mask <NUM>, described herein in relation to <FIG> and <FIG>). For example, the phase mask may be configured to distribute light in an encoded pattern across an input surface of the optical filter when the light is en route to optical sensor <NUM>. Each point in an image captured by optical sensor device <NUM> may be encoded with spatio-spectral information by the phase mask.

Optical sensor device <NUM> may include one or more processors <NUM>, described in more detail in connection with <FIG>.

Optical sensor device <NUM> may include an optical sensor <NUM>. Optical sensor <NUM> includes a device capable of sensing light. For example, optical sensor <NUM> may include an image sensor, a multispectral sensor, a spectral sensor, and/or the like. In some implementations, optical sensor <NUM> may include a silicon (Si) based sensor, an indium-gallium-arsenide (InGaAs) based sensor, a lead-sulfide (PbS) based sensor, or a germanium (Ge) based sensor, may utilize one or more sensor technologies, such as a complementary metal-oxide-semiconductor (CMOS) technology, or a charge-coupled device (CCD) technology, among other examples. In some implementations, optical sensor <NUM> may include a front-side illumination (FSI) sensor, a back-side illumination (BSI) sensor, and/or the like. In some implementations, optical sensor <NUM> may be included in a camera of optical sensor device <NUM> and/or user device <NUM>.

User device <NUM> includes one or more devices capable of receiving, generating, storing, processing, and/or providing the imaging information and/or the spectral information associated with the subject. For example, user device <NUM> may include a communication and/or computing device, such as a mobile phone (e.g., a smart phone, a radiotelephone, and/or the like), a computer (e.g., a laptop computer, a tablet computer, a handheld computer, and/or the like), a gaming device, a wearable communication device (e.g., a smart wristwatch, a pair of smart eyeglasses, and/or the like), or a similar type of device. In some implementations, user device <NUM> may receive information from and/or transmit information to another device in environment <NUM>, such as optical sensor device <NUM>.

Network <NUM> includes one or more wired and/or wireless networks. For example, network <NUM> may include a cellular network (e.g., a long-term evolution (LTE) network, a code division multiple access (CDMA) network, a <NUM> network, a <NUM> network, a <NUM> network, another type of next generation network, and/or the like), a public land mobile network (PLMN), a local area network (LAN), a wide area network (WAN), a metropolitan area network (MAN), a telephone network (e.g., the Public Switched Telephone Network (PSTN)), a private network, an ad hoc network, an intranet, the Internet, a fiber optic-based network, a cloud computing network, or the like, and/or a combination of these or other types of networks.

For example, although optical sensor device <NUM> and user device <NUM> are described as separate devices, optical sensor device <NUM> and user device <NUM> may be implemented as a single device.

<FIG> is a diagram of example components of a device <NUM>, which may correspond to optical sensor device <NUM> and/or user device <NUM>. In some implementations, optical sensor device <NUM> and/or user device <NUM> may include one or more devices <NUM> and/or one or more components of device <NUM>. As shown in <FIG>, device <NUM> may include a bus <NUM>, a processor <NUM>, a memory <NUM>, a storage component <NUM>, an input component <NUM>, an output component <NUM>, and a communication component <NUM>.

Bus <NUM> includes a component that enables wired and/or wireless communication among the components of device <NUM>. Processor <NUM> includes a central processing unit, a graphics processing unit, a microprocessor, a controller, a microcontroller, a digital signal processor, a field-programmable gate array, an application-specific integrated circuit, and/or another type of processing component. Processor <NUM> is implemented in hardware, firmware, or a combination of hardware and software. In some implementations, processor <NUM> includes one or more processors capable of being programmed to perform a function. Memory <NUM> includes a random access memory, a read only memory, and/or another type of memory (e.g., a flash memory, a magnetic memory, and/or an optical memory).

Storage component <NUM> stores information and/or software related to the operation of device <NUM>. For example, storage component <NUM> may include a hard disk drive, a magnetic disk drive, an optical disk drive, a solid state drive, a compact disc, a digital versatile disc, and/or another type of non-transitory computer-readable medium. Input component <NUM> enables device <NUM> to receive input, such as user input and/or sensed inputs. For example, input component <NUM> may include a touch screen, a keyboard, a keypad, a mouse, a button, a microphone, a switch, a sensor, a global positioning system component, an accelerometer, a gyroscope, and/or an actuator. Output component <NUM> enables device <NUM> to provide output, such as via a display, a speaker, and/or one or more light-emitting diodes. Communication component <NUM> enables device <NUM> to communicate with other devices, such as via a wired connection and/or a wireless connection. For example, communication component <NUM> may include a receiver, a transmitter, a transceiver, a modem, a network interface card, and/or an antenna.

Device <NUM> may perform one or more processes described herein. For example, a non-transitory computer-readable medium (e.g., memory <NUM> and/or storage component <NUM>) may store a set of instructions (e.g., one or more instructions, code, software code, and/or program code) for execution by processor <NUM>. Processor <NUM> may execute the set of instructions to perform one or more processes described herein. In some implementations, execution of the set of instructions, by one or more processors <NUM>, causes the one or more processors <NUM> and/or the device <NUM> to perform one or more processes described herein. In some implementations, hardwired circuitry may be used instead of or in combination with the instructions to perform one or more processes described herein.

<FIG> is a flowchart of an example process <NUM> associated with an optical sensor device (e.g., optical sensor device <NUM>). In some implementations, one or more process blocks of <FIG> may be performed by one or more processors (e.g., one or more processors <NUM> or one or more processors <NUM>) of the optical sensor device. In some implementations, one or more process blocks of <FIG> may be performed by another device or a group of devices separate from or including the one or more processors, such as a user device (e.g., user device <NUM>). Additionally, or alternatively, one or more process blocks of <FIG> may be performed by one or more components of device <NUM>, such as processor <NUM>, memory <NUM>, storage component <NUM>, input component <NUM>, output component <NUM>, and/or communication component <NUM>.

In some implementations, the optical sensor device may include, in addition to the one or more processors, an optical sensor including a set of sensor elements; an optical filter including one or more channels; and a phase mask configured to distribute a plurality of light beams associated with a subject in an encoded pattern on an input surface of the optical filter.

As shown in <FIG>, process <NUM> may include obtaining, from the optical sensor, sensor data associated with the subject (block <NUM>). For example, the one or more processors may obtain, from the optical sensor, sensor data associated with the subject, as described above.

As further shown in <FIG>, process <NUM> may include determining a distance of the subject from the optical sensor device (block <NUM>). For example, the one or more processors may determine a distance of the subject from the optical sensor device, as described above.

As further shown in <FIG>, process <NUM> may include selecting, based on the distance, a processing technique to process the sensor data, wherein the processing technique is an imaging processing technique or a spectroscopic processing technique (block <NUM>). For example, the one or more processors may select, based on the distance, a processing technique to process the sensor data, as described above. In some implementations, the processing technique is an imaging processing technique or a spectroscopic processing technique.

As further shown in <FIG>, process <NUM> may include processing, using the selected processing technique, the sensor data to generate output data (block <NUM>). For example, the one or more processors may process, using the selected processing technique, the sensor data to generate output data, as described above.

As further shown in <FIG>, process <NUM> may include performing one or more actions based on the output data (block <NUM>). For example, the one or more processors may perform one or more actions based on the output data, as described above.

As shown in <FIG>, process <NUM> may include obtaining, from an optical sensor of the optical sensor device, sensor data associated with a plurality of light beams that were distributed in an encoded pattern on an input surface of an optical filter of the optical sensor device by a phase mask of the optical sensor device (block <NUM>). For example, the one or more processors may obtain, from an optical sensor of the optical sensor device, sensor data associated with a plurality of light beams that were distributed in an encoded pattern on an input surface of an optical filter of the optical sensor device by a phase mask of the optical sensor device, as described above.

As further shown in <FIG>, process <NUM> may include determining a distance of a subject associated with the plurality of light beams from the optical sensor device (block <NUM>). For example, the one or more processors may determine a distance of a subject associated with the plurality of light beams from the optical sensor device, as described above.

As further shown in <FIG>, process <NUM> may include selecting, based on the distance, a processing technique, of a plurality of processing techniques, to process the sensor data (block <NUM>). For example, the one or more processors may select, based on the distance, a processing technique, of a plurality of processing techniques, to process the sensor data, as described above.

As further shown in <FIG>, process <NUM> may include providing the output data (block <NUM>). For example, the one or more processors may provide the output data, as described above.

<FIG> is a flowchart of an example process <NUM> associated with an optical sensor device. In some implementations, one or more process blocks of <FIG> may be performed by an optical sensor device (e.g., optical sensor device <NUM>). In some implementations, one or more process blocks of <FIG> may be performed by another device or a group of devices separate from or including the optical sensor device, such as a user device (e.g., user device <NUM>). Additionally, or alternatively, one or more process blocks of <FIG> may be performed by one or more components of device <NUM>, such as processor <NUM>, memory <NUM>, storage component <NUM>, input component <NUM>, output component <NUM>, and/or communication component <NUM>.

As shown in <FIG>, process <NUM> may include obtaining, from an optical sensor of the optical sensor device, sensor data associated with a plurality of light beams that were distributed in an encoded pattern on an input surface of an optical filter of the optical sensor device by a phase mask of the optical sensor device (block <NUM>). For example, the optical sensor device may obtain, from an optical sensor of the optical sensor device, sensor data associated with a plurality of light beams that were distributed in an encoded pattern on an input surface of an optical filter of the optical sensor device by a phase mask of the optical sensor device, as described above.

As further shown in <FIG>, process <NUM> may include selecting a processing technique, of a plurality of processing techniques, to process the sensor data, wherein the processing technique is an imaging processing technique or a spectroscopic processing technique (block <NUM>). For example, the optical sensor device may select a processing technique, of a plurality of processing techniques, to process the sensor data, as described above. In some implementations, the processing technique is an imaging processing technique or a spectroscopic processing technique.

As further shown in <FIG>, process <NUM> may include processing, using the selected processing technique, the sensor data to generate output data (block <NUM>). For example, the optical sensor device may process, using the selected processing technique, the sensor data to generate output data, as described above.

As further shown in <FIG>, process <NUM> may include providing the output data (block <NUM>). For example, the optical sensor device may provide the output data, as described above.

Claim 1:
An optical sensor device (<NUM>), comprising:
an optical sensor (<NUM>) including a set of sensor elements (<NUM>);
an optical filter (<NUM>) including one or more channels (<NUM>);
a phase mask (<NUM>) configured to distribute a plurality of light beams associated with a subject (<NUM>) in an encoded pattern on an input surface of the optical filter (<NUM>);
the set of sensor elements (<NUM>) configured to receive one or more channels (<NUM>) of light of respective different wavelength ranges from the optical filter (<NUM>); and
one or more processors (<NUM>) configured to:
obtain, from the optical sensor (<NUM>), sensor data associated with the subject;
characterised in that the optical filter (<NUM>) has an angle-dependent wavelength characteristic, wherein the one or more processors (<NUM>) are configured to, when determining a distance of the subject (<NUM>) from the optical sensor device (<NUM>):
process the sensor data, based on information associated with the encoded pattern, to identify respective angles of incidence on the optical filter of a set of light beams, of the plurality of light beams, that are associated with a point of the subject (<NUM>); and
determine, based on the identified respective angles of incidence on the optical filter of the set of light beams, the distance of the subject (<NUM>) from the optical sensor device (<NUM>);
select, based on the distance of the subject ( <NUM>) from the optical sensor device ( <NUM> ), a processing technique to process the sensor data, wherein the processing technique is an imaging processing technique or a spectroscopic processing technique;
process, using the selected processing technique, the sensor data to generate output data; and
provide the output data.