This relates generally to electronic devices, and, more particular, to wearable electronic devices such as ear buds.
Cellular telephones, computers, and other electronic equipment may generate audio signals during media playback operations and telephone calls. Microphones and speakers may be used in these devices to handle telephone calls and media playback. Sometimes ear buds have cords that allow the ear buds to be plugged into an electronic device.
Wireless ear buds provide users with more flexibility than wired ear buds, but can be challenging to use. For example, it can be difficult to determine whether an ear bud is in a user's pocket, is resting on a table, is in a case, or is in the user's ear. As a result, controlling the operation of the ear bud can be challenging.
It would therefore be desirable to be able to provide improved wearable electronic devices such as improved wireless ear buds.
Ear buds may be provided that communicate wirelessly with an electronic device. To determine the current status of the ear buds and thereby take suitable action in controlling the operation of the electronic device and ear buds, the ear buds may be provided with optical proximity sensors that produce optical proximity sensor output and accelerometers that produce accelerometer output.
Control circuitry may analyze the optical proximity sensor output and the accelerometer output to determine the current operating state for the ear buds. The control circuitry may determine whether an ear bud is located in an ear of a user or is in a different operating state.
The control circuitry may also analyze the accelerometer output to identify tap input such as double taps made by a user on the housing of an ear bud. Samples of the accelerometer output may be analyzed to determine whether the samples for a tap have been clipped. If the samples have been clipped, a curve may be fit to the samples to enhance the accuracy with which pulse attributes are measured.
Optical sensor data may be analyzed in conjunction with potential tap input. If the optical sensor data associated with a pair of accelerometer pulses is ordered, the control circuitry can confirm the detection of a true double tap from the user. If the optical sensor data is disordered, the control circuitry can conclude that the pulse data from the accelerometer corresponds to unintentional contact with the housing and can disregard the pulse data.
An electronic device such as a host device may have wireless circuitry. Wireless wearable electronic devices such as wireless ear buds may communicate with the host device and with each other. In general, any suitable types of host electronic device and wearable wireless electronic devices may be used in this type of arrangement. The use of a wireless host such as a cellular telephone, computer, or wristwatch may sometimes be described herein as an example. Moreover, any suitable wearable wireless electronic devices may communicate wirelessly with the wireless host. The use of wireless ear buds to communicate with the wireless host is merely illustrative.
A schematic diagram of an illustrative system in which a wireless electronic device host communicates wirelessly with accessory devices such as ear buds is shown in
As shown in
Device 10 may have input-output circuitry 18. Input-output circuitry 18 may include wireless communications circuitry 20 (e.g., radio-frequency transceivers) for supporting communications with wireless wearable devices such as ear buds 24 or other wireless wearable electronic devices via wireless links 26. Ear buds 24 may have wireless communications circuitry 30 for supporting communications with circuitry 20 of device 10. Ear buds 24 may also communicate with each other using wireless circuitry 30. In general, the wireless devices that communicate with device 10 may be any suitable portable and/or wearable equipment. Configurations in which wireless wearable devices 24 are ear buds are sometimes described herein as an example.
Input-output circuitry in device 10 such as input-output devices 22 may be used to allow data to be supplied to device 10 and to allow data to be provided from device 10 to external devices. Input-output devices 22 may include buttons, joysticks, scrolling wheels, touch pads, key pads, keyboards, microphones, speakers, displays (e.g., touch screen displays), tone generators, vibrators (e.g., piezoelectric vibrating components, etc.), cameras, sensors, light-emitting diodes and other status indicators, data ports, etc. A user can control the operation of device 10 by supplying commands through input-output devices 22 and may receive status information and other output from device 10 using the output resources of input-output devices 22. If desired, some or all of these input-output devices may be incorporated into ear buds 24.
Each ear bud 24 may have control circuitry 28 (e.g., control circuitry such as control circuitry 16 of device 10), wireless communications circuitry 30 (e.g., one or more radio-frequency transceivers for supporting wireless communications over links 26), may have one or more sensors 32 (e.g., one or more optical proximity sensors including light-emitting diodes for emitting infrared light or other light and including light detectors that detect corresponding reflected light), and may have additional components such as speakers 34, microphones 36, and accelerometers 38. Speakers 34 may play audio into the ears of a user. Microphones 36 may gather audio data such as the voice of a user who is making a telephone call. Accelerometer 38 may detect when ear buds 24 are in motion or are at rest. During operation of ear buds 24, a user may supply tap commands (e.g., double taps, triple taps, other patterns of taps, single taps, etc.) to control the operation of ear buds 24. Tap commands may be detected using accelerometer 38. Optical proximity sensor input and other data may be used when processing tap commands to avoid false tap detections.
Control circuitry 28 on ear buds 24 and control circuitry 16 of device 10 may be used to run software on ear buds 24 and device 10, respectively. During operation, the software running on control circuitry 28 and/or 16 may be used in gathering sensor data, user input, and other input and may be used in taking suitable actions in response to detected conditions. As an example, control circuitry 28 and 16 may be used in handling audio signals in connection with incoming cellular telephone calls when it is determined that a user has placed one of ear buds 24 in the ear of the user. Control circuitry 28 and/or 16 may also be used in coordinating operation between a pair of ear buds 24 that are paired with a common host device (e.g., device 10), handshaking operations, etc.
In some situations, it may be desirable to accommodate stereo playback from ear buds 24. This can be handled by designating one of ear buds 24 as a primary ear bud and one of ear buds 24 as a secondary ear bud. The primary ear bud may serve as a slave device while device 10 serves as a master device. A wireless link between device 10 and the primary ear bud may be used to provide the primary ear bud with stereo content. The primary ear bud may transmit one of the two channels of the stereo content to the secondary ear bud for communicating to the user (or this channel may be transmitted to the secondary ear bud from device 10). Microphone signals (e.g., voice information from the user during a telephone call) may be captured by using microphone 36 in the primary ear bud and conveyed wirelessly to device 10.
Sensors 32 may include strain gauge sensors, proximity sensors, ambient light sensors, touch sensors, force sensors, temperature sensors, pressure sensors, magnetic sensors, accelerometers (see, e.g., accelerometers 38), gyroscopes and other sensors for measuring orientation (e.g., position sensors, orientation sensors), microelectromechanical systems sensors, and other sensors. Proximity sensors in sensors 32 may emit and/or detect light and/or may be capacitive proximity sensors that generate proximity output data based on measurements by capacitance sensors (as examples). Proximity sensors may be used to detect the presence of a portion of a user's ear to ear bud 24 and/or may be triggered by the finger of a user (e.g., when it is desired to use a proximity sensor as a capacitive button or when a user's fingers are gripping part of ear bud 24 as ear bud 24 is being inserted into the user's ear). Configurations in which ear buds 24 use optical proximity sensors may sometimes be described herein as an example.
Audio ports such as audio port 42 may be used for gathering sound for a microphone and/or for providing sound to a user (e.g., audio associated with a telephone call, media playback, an audible alert, etc.). For example, audio port 42 of
Sensor data (e.g., proximity sensor data, accelerometer data or other motion sensor data), wireless communications circuitry status information, and/or other information may be used in determining the current operating state of each ear bud 24. Proximity sensor data may be gathered using proximity sensors located at any suitable locations in housing 40.
Sensors S1 and S2 may be optical proximity sensors that use reflected light to determine whether an external object is nearby. An optical proximity sensor may include a source of light such as an infrared light-emitting diode. The infrared light-emitting diode may emit light during operation. A light detector (e.g., a photodiode) in the optical proximity sensor may monitor for reflected infrared light. In situations in which no objects are near ear buds 24, emitted infrared light will not be reflected back towards the light detector and the output of the proximity sensor will be low (i.e., no external objects in the proximity of ear buds 24 will be detected). In situations in which ear buds 24 are adjacent to an external object, some of the emitted infrared light from the infrared light detector will be reflected back to the light detector and will be detected. In this situation, the presence of the external object will cause the output signal from the proximity sensor to be high. Intermediate levels of proximity sensor output may be produced when external objects are at intermediate distances from the proximity sensor.
As shown in
It may be desirable to adjust the operation of ear buds 24 based on the current state of ear buds 24. For example, it may be desired to activate more functions of ear buds 24 when ear buds 24 are located in a user's ears and are being actively used than when ear buds 24 are not in use. Control circuitry 28 may keep track of the current operating state (operating mode) of ear buds 24 by implementing a state machine. With one illustrative configuration, control circuitry 28 may maintain information on the current status of ear buds 24 using a two-state state machine. Control circuitry 28 may, for example, use sensor data and other data to determine whether ear buds 24 are in a user's ears or are not in a user's ears and may adjust the operation of ear buds 24 accordingly. With more complex arrangements (e.g., using state machines with three, four, five, six, or more states), more detailed behaviors can be tracked and appropriate state-dependent actions taken by control circuitry 28. If desired, optical proximity sensor processing circuitry or other circuitry may be powered down to conserve battery power when not in active use.
Control circuitry 28 may use optical proximity sensors, accelerometers, contact sensors, and other sensors to form a system for in-ear detection. The system may, for example, detect when an earbud is inserted into a user's ear canal or is in other states using optical proximity sensor and accelerometer (motion sensor) measurements.
An optical proximity sensor (see, e.g., sensors S1 and S2) may provide a measurement of distance between the sensor and an external object. This measurement may be represented at a normalized distance D (e.g., a value between 0 and 1). Accelerometer measurements may be made using three-axis accelerometers (e.g., accelerometers that produce output for three orthogonal axes—an X axis, a Y axis, and a Z axis). During operation, sensor output may be digitally sampled by control circuitry 28. Calibration operations may be performed during manufacturing and/or at appropriate times during normal use (e.g., during power up operations when ear buds 24 are being removed from a storage case, etc.). These calibration operations may be used to compensate for sensor bias, scale error, temperature effects, and other potential sources of sensor inaccuracy. Sensor measurements (e.g., calibrated measurements) may be processed by control circuitry 28 using low-pass and high-pass filters and/or using other processing techniques (e.g., to remove noise and outlier measurements). Filtered low-frequency-content and high-frequency-content signals may be supplied to a finite state machine algorithm running on control circuitry 28 to help control circuitry 28 track the current operating state of ear buds 24.
In addition to optical sensor and accelerometer data, control circuitry 28 may use information from contact sensors in ear buds 24 to help determine earbud location. For example, a contact sensor may be coupled to the electrical contacts (see, e.g., contacts S2 of
The accelerometer data from accelerometers 38 may be used to provide control circuitry 28 with motion context information. The motion context information may include information on the current orientation of an ear bud (sometimes referred to as the “pose” or “attitude” of the ear bud) and may be used to characterize the amount of motion experienced by an ear bud over a recent time history (the recent motion history of the ear bud).
As shown in
The PICKUP state is associated with a situation in which an ear bud has recently been undocked from a power source. The STATIC state corresponds to an ear bud that has been stationary for an extended period of time (e.g., sitting on a table) but is not in a dock or case. The POCKET state corresponds to an earbud that placed in a pocket in an item of clothing, a bag, or other confined space. The IN EAR state corresponds to an earbud in a user's ear canal. The ADJUST state corresponds to conditions not represented by the other states.
Control circuitry 28 can discriminate between the states of
Accelerometers 38 may sense acceleration along three different dimensions: an X axis, a Y axis, and a Z axis. The X, Y, and Z axes of ear buds 24 may, for example, be oriented as shown in
When a user is wearing ear buds 24 (see, e.g.,
During operation, control circuitry 28 may monitor the accelerometer output to determine whether ear buds 24 are potentially resting on a table or are otherwise in a static environment. If it is determined that ear buds 24 are in the STATIC state, power can be conserved by deactivating some of the circuitry of ear buds 24. For example, at least some of the processing circuitry that is being used to process proximity sensor data from sensors S1 and S2 may be powered down. Accelerometers 38 may generate interrupts in the event that movement is detected. These interrupts may be used to awaken the powered-down circuitry.
If a user is wearing ear buds 24 but is not moving significantly, acceleration will mostly be along the Y axis (because the stem of the earbuds is generally pointing downwards as shown in
When control circuitry 28 detects motion while ear buds 24 are in the STATIC state, control circuitry 28 can transition to the PICKUP state. The PICKUP state is a temporary wait state (e.g., a period of 1.5 s, more than 0.5 s, less than 2.5 s, or other appropriate time period) that may be imposed to avoid false positives in the IN EAR state (e.g., if a user is holding ear bud 24 in the user's hand, etc.). When the PICKUP state expires, control circuitry 28 can automatically transition to the ADJUST state.
While in the ADJUST state, control circuitry 28 can process information from the proximity sensors and accelerometers to determine whether ear buds 24 are resting on a table or other surface (STATIC), in a user's pocket (POCKET), or in the user's ears (IN EAR). To make this determination, control circuitry 28 can compare accelerometer data from multiple axes.
The graphs of
The graphs of
Control circuitry 28 may transition the current state of ear buds 24 from the ADJUST state to the IN EAR state of the state machine of
To transition from the ADJUST state to the POCKET state, optical sensor S1 or S2 should be saturated (output M greater than M2) over a predetermined time window (e.g., a window of 0.5 s, 0.1 to 2 s, more than 0.2 s, less than 3 s, or other suitable time period).
Once in the POCKET state, control circuitry 28 will transition ear buds 24 to the IN EAR state if the output from both sensors S1 and S2 goes low and the pose has changed to vertical. The pose of ear buds 24 may be considered to have changed to vertical sufficiently to transition out of the POCKET state if the orientation of the stems of ear buds 24 (e.g., the Y-axis of the accelerometer) is parallel to the gravity vector within +/−60° (or other suitable threshold angle). If S1 and S2 have not both gone low before the pose of ear buds 24 changes to vertical (e.g., within 0.5 s, 0.1-2 s, or other suitable time period), the state of ear buds 24 will not transition out of the POCKET state.
Ear buds 24 may transition out of the IN EAR state if the output of concha sensor S2 falls below a predetermined threshold for more than a predetermined time period (e.g., 0.1-2 s, 0.5 s, 0.3-1.5 s, more than 0.3 s, less than 5 s, or other suitable time period) or if there is more than a threshold amount of fluctuations in the output of both concha sensor S2 and tragus sensor S1 and the output of at least one of sensors S1 and S2 goes low. To transition from IN EAR to POCKET, ear buds 24 should have a pose that is associated with being located in a pocket (e.g., horizontal or upside down).
A user may supply tap input to ear buds 24. For example, a user may supply double taps, triple taps, single taps, and other patterns of taps by striking a finger against the housing of an ear bud to control the operation of ear buds 24 (e.g., to answer incoming telephone calls to device 10, to end a telephone call, to navigate between media tracks that are being played back to the user by device 10, to make volume adjustments, to play or to pause media, etc.). Control circuitry 28 may process output from accelerometers 38 to detect user tap input. In some situations, pulses in accelerometer output will correspond to tap input from a user. In other situations, accelerometer pulses may be associated with inadvertent tap-like contact with the ear bud housing and should be ignored.
Consider, as an example, a scenario in which a user is supplying a double tap to one of ear buds 24. In this situation, the output MA from accelerometer 38 will exhibit pulses such as illustrative tap pulses T1 and T2 of
Control circuitry 28 may sample the output of accelerometer 38 at any suitable data rate. With one illustrative configuration, a sample rate of 250 Hz may be used. This is merely illustrative. Larger sample rates (e.g., rates of 250 Hz or more, 300 Hz or more, etc.) or smaller sample rates (e.g., rates of 250 Hz or less, 200 Hz or less, etc.) may be used, if desired.
Particularly when slower sample rates are used (e.g., less than 1000 Hz, etc.), it may sometimes be desirable to fit a curve (spline) to the sampled data points. This allows control circuitry 28 to accurately identify peaks in the accelerometer data even if the data has been clipped during the sampling process. Curve fitting will therefore allow control circuitry 28 to more accurately determine whether a pulse has sufficient magnitude to be considered an intentional tap in a double tap command from a user.
In the example of
As shown in the example of
Processors 68X and 68Z may also determine whether each accelerometer pulse has a slope greater than a predetermined threshold, may determine whether the width of the pulse is greater than a predetermined threshold, may determine whether the magnitude of the pulse is greater than a predetermined threshold, and/or may apply other criteria to determine whether an accelerometer pulse is potentially tap input from a user. If all of these constraints or other suitable constraints are satisfied, processor 68X and/or 68Z may supply corresponding pulse output to tap selector 70. Tap selector 70 may provide double tap detection layer 72 with the larger of the two tap signals from processors 68X and 68Z (if both are present) or the tap signal from an appropriate one of processors 68X and 68Z if only one signal is present.
Tap selector 70 may analyze the slopes of segments such as SEG1, SEG2, and SEG3 to determine whether the accelerometer has been clipped and is therefore in need of curve fitting. In situations in which the signal has not been clipped, the curve fitting process can be omitted to conserve power. In situations in which curve fitting is needed because samples in the accelerometer data have been clipped, a curve such as curve 64 may be fit to the samples (see, e.g., points P1, P2, P3, and P4).
To determine whether there is an indication of clipping, control circuitry 28 (e.g., processors 68X and 68Z) may determine whether the first pulse segment (e.g., SEG1 in the present example) has a slope magnitude greater than a predetermined threshold (indicating that the first segment is relatively steep), whether the second segment has a slope magnitude that is less than a predetermined threshold (indicating that the second segment is relatively flat), and whether the third segment has a slope magnitude that is greater than a predetermined threshold (indicating that the third slope is steep). If all of these criteria or other suitable criteria are satisfied, control circuitry 28 can conclude that the signal has been clipped and can curve fit curve 64 to the sampled points. By curve fitting selectively in this way (only curve fitting curve 64 to the sample data when control circuitry 28 determines that the sample data is clipped), processing operations and battery power can be conserved.
Double-tap detection processor 72 may identify potential double taps by applying constraints to the pulses. To determine whether a pair of pulses corresponds to a potential double tap, processor 72 may, for example, determine whether the two taps (e.g., taps T1 and T2 of
Double tap detection processor 72 may also analyze the processed accelerometer data from processor 72 and optical proximity sensor data on input 74 from sensors S1 and S2 to determine whether the received input event corresponds to a true double tap. The optical data from sensors S1 and S2 may, for example, be analyzed to determine whether a potential double tap that has been received from the accelerometer is actually a false double tap (e.g., vibrations created inadvertently when a user adjusts the position of ear buds 24 in the user's ears) and should be ignored.
Inadvertent tap-like vibrations that are picked up by the accelerometer (sometimes referred to as false taps) may be distinguished from tap input by determining whether fluctuations in the optical proximity sensor signal are ordered or disordered. If a user intentionally taps ear buds 24, the user's finger will approach and leave the vicinity of the optical sensors in an ordered fashion. Resulting ordered fluctuations in the optical proximity sensor output may be recognized as being associated with intentional movement of the user's finger towards the housing of an ear bud. In contrast, unintentional vibrations that arise when a user contacts the housing of an ear bud while moving the ear bud within the user's ear to adjust the fit of the ear bud tend to be disordered. This effect is illustrated in
In the example of
In the example of
As shown in
With one illustrative disorder metric computation technique, block 86 may analyze a time window that is centered around the two pulses T1 and T2 and may compute the number of peaks in each optical sensor signal that exceed a predetermined threshold within that time window. If the number of peaks above the threshold value is more than a threshold amount, the optical sensor signal may be considered to be disordered and the potential double tap will be indicated to be false (block 88). In this situation, processor 72 ignores the accelerometer data and does not recognize the pulses as corresponding to tap input from a user. If the number of peaks above the threshold value is less than a threshold amount, the optical sensor signal may be considered to be ordered and the potential double tap can be confirmed as being a true double tap (block 90). In this situation, control circuitry 28 may take suitable action in response to the tap input (e.g., change a media track, adjust playback volume, answer a telephone call, etc.).
With another illustrative disorder metric computation technique, disorder can be determined by computing entropy E for the accelerometer signal within the time window centered around the two pulses using equations (1) and (2),
E=Σ
i
−p
i log(pi) (1)
p
i
=x
i/sum(xi) (2)
where xi is the optical signal at time i within the window. If the disorder metric (entropy E in this example) is more than a threshold amount, the potential double tap data can be ignored (e.g., a false double tap may be identified at block 88), because this data does not correspond to a true double tap event. If the disorder metric is less than a threshold amount, control circuitry 28 can confirm that the potential double tap data corresponds to intentional tap input from a user (block 90) and appropriate actions can be taken in response to the double tap. These processes can be used to identify any suitable types of taps (e.g., triple taps, etc.). Double tap processing techniques have been described as an example.
The foregoing is merely illustrative and various modifications can be made by those skilled in the art without departing from the scope and spirit of the described embodiments. The foregoing embodiments may be implemented individually or in any combination.
This application claims the benefit of provisional patent application No. 62/383,944, filed Sep. 6, 2016, which is hereby incorporated by reference herein in its entirety.
Number | Date | Country | |
---|---|---|---|
62383944 | Sep 2016 | US |