EP3892008A1 - Transfert de connexion de dispositif sans fil - Google Patents

Transfert de connexion de dispositif sans fil

Info

Publication number
EP3892008A1
EP3892008A1 EP19805037.9A EP19805037A EP3892008A1 EP 3892008 A1 EP3892008 A1 EP 3892008A1 EP 19805037 A EP19805037 A EP 19805037A EP 3892008 A1 EP3892008 A1 EP 3892008A1
Authority
EP
European Patent Office
Prior art keywords
audio
output device
time
wireless connection
amount
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
EP19805037.9A
Other languages
German (de)
English (en)
Inventor
Milos Jorgovanovic
Ganesha Batta
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Amazon Technologies Inc
Original Assignee
Amazon Technologies Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US16/212,269 external-priority patent/US10721661B2/en
Priority claimed from US16/254,308 external-priority patent/US10694437B2/en
Application filed by Amazon Technologies Inc filed Critical Amazon Technologies Inc
Publication of EP3892008A1 publication Critical patent/EP3892008A1/fr
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04RLOUDSPEAKERS, MICROPHONES, GRAMOPHONE PICK-UPS OR LIKE ACOUSTIC ELECTROMECHANICAL TRANSDUCERS; DEAF-AID SETS; PUBLIC ADDRESS SYSTEMS
    • H04R5/00Stereophonic arrangements
    • H04R5/033Headphones for stereophonic communication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04RLOUDSPEAKERS, MICROPHONES, GRAMOPHONE PICK-UPS OR LIKE ACOUSTIC ELECTROMECHANICAL TRANSDUCERS; DEAF-AID SETS; PUBLIC ADDRESS SYSTEMS
    • H04R1/00Details of transducers, loudspeakers or microphones
    • H04R1/10Earpieces; Attachments therefor ; Earphones; Monophonic headphones
    • H04R1/1041Mechanical or electronic switches, or control elements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W36/00Hand-off or reselection arrangements
    • H04W36/03Reselecting a link using a direct mode connection
    • H04W36/035Reselecting a link using a direct mode connection in self-organising networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W76/00Connection management
    • H04W76/10Connection setup
    • H04W76/14Direct-mode setup
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W88/00Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
    • H04W88/02Terminal devices
    • H04W88/04Terminal devices adapted for relaying to or from another terminal or user
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04RLOUDSPEAKERS, MICROPHONES, GRAMOPHONE PICK-UPS OR LIKE ACOUSTIC ELECTROMECHANICAL TRANSDUCERS; DEAF-AID SETS; PUBLIC ADDRESS SYSTEMS
    • H04R2201/00Details of transducers, loudspeakers or microphones covered by H04R1/00 but not provided for in any of its subgroups
    • H04R2201/10Details of earpieces, attachments therefor, earphones or monophonic headphones covered by H04R1/10 but not provided for in any of its subgroups
    • H04R2201/107Monophonic and stereophonic headphones with microphone for two-way hands free communication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04RLOUDSPEAKERS, MICROPHONES, GRAMOPHONE PICK-UPS OR LIKE ACOUSTIC ELECTROMECHANICAL TRANSDUCERS; DEAF-AID SETS; PUBLIC ADDRESS SYSTEMS
    • H04R2201/00Details of transducers, loudspeakers or microphones covered by H04R1/00 but not provided for in any of its subgroups
    • H04R2201/10Details of earpieces, attachments therefor, earphones or monophonic headphones covered by H04R1/10 but not provided for in any of its subgroups
    • H04R2201/109Arrangements to adapt hands free headphones for use on both ears
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04RLOUDSPEAKERS, MICROPHONES, GRAMOPHONE PICK-UPS OR LIKE ACOUSTIC ELECTROMECHANICAL TRANSDUCERS; DEAF-AID SETS; PUBLIC ADDRESS SYSTEMS
    • H04R2225/00Details of deaf aids covered by H04R25/00, not provided for in any of its subgroups
    • H04R2225/55Communication between hearing aids and external devices via a network for data exchange
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04RLOUDSPEAKERS, MICROPHONES, GRAMOPHONE PICK-UPS OR LIKE ACOUSTIC ELECTROMECHANICAL TRANSDUCERS; DEAF-AID SETS; PUBLIC ADDRESS SYSTEMS
    • H04R2420/00Details of connection covered by H04R, not provided for in its groups
    • H04R2420/07Applications of wireless loudspeakers or wireless microphones
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04RLOUDSPEAKERS, MICROPHONES, GRAMOPHONE PICK-UPS OR LIKE ACOUSTIC ELECTROMECHANICAL TRANSDUCERS; DEAF-AID SETS; PUBLIC ADDRESS SYSTEMS
    • H04R25/00Deaf-aid sets, i.e. electro-acoustic or electro-mechanical hearing aids; Electric tinnitus maskers providing an auditory perception
    • H04R25/55Deaf-aid sets, i.e. electro-acoustic or electro-mechanical hearing aids; Electric tinnitus maskers providing an auditory perception using an external connection, either wireless or wired
    • H04R25/552Binaural
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W76/00Connection management
    • H04W76/30Connection release
    • H04W76/34Selective release of ongoing connections
    • H04W76/36Selective release of ongoing connections for reassigning the resources associated with the released connections
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W84/00Network topologies
    • H04W84/18Self-organising networks, e.g. ad-hoc networks or sensor networks
    • H04W84/20Master-slave selection or change arrangements

Definitions

  • Wireless audio-output devices such as earbuds, headphones, or loudspeakers, may be used to communicate wirelessly with a user device, such as a smartphone, smartwatch, or similar device, and with each other.
  • the wireless audio-output devices may be used to output audio sent from the user device, such as music, as part of two-way communications, such as telephone calls, and/or to receive audio for speech recognition.
  • Speech-recognition systems have progressed to the point at which humans are able to interact with computing devices using their voices. Such systems employ techniques to detect when speech is occurring and to identify the words spoken by a human user based on the received audio input.
  • Voice-activity detection, speech recognition, and natural-language understanding processing techniques enable speech- based user control of a computing device to perform tasks based on the user’s spoken commands.
  • the combination of voice-activity detection, speech recognition, and/or natural-language understanding processing techniques is referred to herein as speech processing.
  • Speech processing may also involve converting a user’s speech into text data, which may then be provided to various text-based software applications.
  • FIGS. 1A and IB illustrate a system configured to handover a wireless connection according to embodiments of the present disclosure.
  • FIGS. 2A, 2B, and 2C are conceptual diagrams of components of a wireless connection system according to embodiments of the present disclosure.
  • FIGS. 3 A and 3B is a conceptual diagram of components of a wireless connection system according to embodiments of the present disclosure.
  • FIGS. 4A-4F illustrate data flows during wireless connection handover according to embodiments of the present disclosure.
  • FIGS. 5 A-5G illustrate process flows for wireless handover according to embodiments of the present disclosure.
  • FIG. 6 illustrates a data flow relating to wireless handover according to embodiments of the present disclosure.
  • FIG. 7 is a block diagram conceptually illustrating example audio devices according to embodiments of the present disclosure.
  • FIG. 8 is a block diagram conceptually illustrating an example user device according to embodiments of the present disclosure.
  • FIG. 9 is a block diagram conceptually illustrating an example remote device according to embodiments of the present disclosure.
  • FIG. 10 illustrates an example of a computer network for use with the device provisioning system.
  • Some electronic devices may include an audio-based input/output interface.
  • a user may interact with such a device - which may be, for example, a smartphone, tablet, computer, or other speech-controlled device - partially or exclusively using his or her voice and ears. Exemplary interactions include listening to music or other audio,
  • communications such as telephone calls, audio messaging, and video messaging, and/or audio input for search queries, weather forecast requests, navigation requests, or other such
  • the device may include one or more microphones for capturing voice input and hardware and/or software for converting the voice input into audio data. As explained in greater detail below, the device may further include hardware and/or software for analyzing the audio data and determining commands and requests therein and/or may send the audio data to a remote device for such analysis.
  • the device may include an audio output device, such as a loudspeaker, for outputting audio that in some embodiments responds to and/or prompts for the voice input.
  • audio-output devices may refer to any audio input/output devices and includes headsets, earphones, earbuds, loudspeakers, or any similar device.
  • the user may choose wireless headphones, which communicate with the device - and optionally each other - via a wireless connection, such as Bluetooth, WI-FI, near-field magnetic induction (NFMI), LTE, or any other type of wireless connection.
  • in-ear audio-output devices that communicate with both a third device and each other may be referred to as“earbuds” or“wireless earbuds,” but the term“earbud” does not limit the present disclosure to any particular type of wired or wireless headphones.
  • the present disclosure may further differentiate between a“right in-ear device,” meaning an in-ear device disposed in or near a right ear of a user, and a“left in-ear device,” meaning an in-ear device disposed in or near a left ear of a user.
  • A“primary” in-ear device communicates with both a“secondary” in-ear device, using a first wireless connection (such as a Bluetooth connection), the primary in-ear device further communicates with a third device (such as a smartphone, smart watch, or similar device) using a second connection (such as a Bluetooth connection).
  • the secondary in-ear device communicates only with the primary in-ear device and does not communicate directly with the smartphone; any communication therewith passes through the primary in-ear device via the first wireless connection.
  • the primary in-ear device is a central or master Bluetooth device and the secondary in-ear device is a peripheral or slave Bluetooth device.
  • the primary in-ear device may be referred to as the“first device,” the secondary in-ear device may be referred to as the “second device,” and the smartphone or other user device may be referred to as the“third device.”
  • the primary and secondary in-ear devices may include similar hardware and software; in other instances, the secondary in-ear device contains only a subset of the hardware/software included in the primary in-ear device. If the primary and secondary in-ear devices include similar hardware and software, they may trade the roles of primary and secondary prior to or during operation as described herein. If an in-ear device takes on a primary role, it acts as the primary in-ear device as described above; if an in-ear device takes on a secondary role, it acts as the secondary in-ear device as described above.
  • a first in-ear device may include hardware, software, firmware, or other configuration information that, upon power-on, reset, or other such event, causes the first in-ear device to initially assume the primary role.
  • the second in-ear device may include configuration information that causes the second in-ear device to initially assume the secondary role.
  • the first and second in-ear devices may each transition between the primary role and the secondary role one, two, or more times during use.
  • the first, second, and/or third devices may communicate over a network, such as the Internet, with one or more server devices, which may be referred to as“remote device(s)”
  • Wireless in-ear devices which may communicate wirelessly not only with a third device but with each other, may be more desirable and/or convenient to users because the in-ear devices do not require a wire or cord connecting them; such a cord may be distracting and/or uncomfortable.
  • the lack of a connecting cord means, however, that each in-ear device requires its own power source, such as a battery. Such a power source is necessarily limited.
  • the primary in-ear device may consume power more quickly than the secondary in-ear device and therefore run lower on battery power more quickly.
  • Other events may affect the use of the primary in-ear device - the user may simply remove the primary in-ear device, by design or by accident, from his or her ear, the primary in-ear device may detect a degradation in operation, or the like.
  • the in-ear device may both be in-ear and may both have adequate battery power, but the primary in-ear device may be receiving a weak wireless signal from the smartphone. Such a condition may arise when the user places the smartphone on one side of his or her body and the primary in-ear device is located on the other side of his or her body.
  • the secondary in-ear device may determine one or more signal quality metric(s) of a wireless signal received from the smartphone (before actually establishing a wireless connection between the secondary in-ear device and the smartphone) and may send the determined one or more signal quality metric(s) to the primary in-ear device.
  • the primary in-ear device may determine its own one or more signal quality metric(s) of a wireless signal received from the smartphone (i.e., the wireless signal used to establish the wireless connection between the primary in-ear device and the smartphone).
  • the primary in-ear device may send a command to the secondary in-ear device to assume the role of primary in-ear device.
  • the signal quality metric(s) may be a packet error rate (PER) of the signal, a received signal strength indication (RSSI) of the signal, a signal-to-noise ratio (SNR) of the signal, and/or other such metric(s).
  • the smartphone and secondary in-ear device are still functional (and/or on the user’s person, in the user’s vicinity, etc.), but impending loss of functionality of the primary in-ear device may lead to cessation of any communication being sent or received from the in-ear devices. Because communications between the smartphone and the secondary in-ear device are sent via the primary in-ear devices, loss of or disabling of the primary in-ear device means that no further communications can be sent or received to or from the smartphone using the secondary in-ear device. Cessation of communications may be inconvenient to the user, such as if music being output by the in-ear device ceases, or may be more than inconvenient if, for example, the user was engaged in an important telephone call or relying on audio navigation directions.
  • the present disclosure offers a system and method for handing over communication between a primary in-ear device and a smartphone (or other device) to communication between a secondary in-ear device and the smartphone when the primary and/or secondary in-ear device detects occurrence of an event prompting the handover.
  • an event is herein also referred to as a handover trigger.
  • the primary in-ear device switches from its role as primary to a role of secondary; similarly, the secondary in-ear device switches from its role as secondary to a role of primary.
  • a first wireless connection connects the primary and secondary in-ear devices.
  • the secondary in-ear device maintains information about a second wireless connection between the primary in-ear device and the smartphone, such as stack layer information, and/or baseband-connection information.
  • the secondary in-ear device may further maintain information about the primary in-ear device, such as its address, digital-signal processing (DSP) information, sensor-related information, state, status, and/or information related to any application executing thereon.
  • This wireless connection information may be sent from the primary in-ear device to the secondary in-ear device; instead or in addition, the secondary in-ear device may determine the connection information by monitoring the second wireless connection.
  • monitoring a connection refers to analyzing a network connection, such as a wireless network connection, to determine one or more attributes regarding the network, such as stack information, baseband information, or any other such information.
  • the primary in-ear device may send a role-switch command to the secondary in-ear device and may disconnect the second wireless connection; the secondary in-ear device may connect the third wireless connection.
  • the primary in-ear device may send any pending packets to the smartphone (i.e.,“drain” packets) and/or may send a command to the smartphone to pause communications (i.e., a“flow off’ command).
  • the primary in-ear device may then send the role-switch command to the secondary in-ear device, which may, in response, send a confirmation of receipt to the primary in-ear device.
  • the secondary in-ear device uses the wireless connection information, the secondary in-ear device creates a third wireless connection with the smartphone.
  • FIG. 1 A illustrates a system for wireless connection handoff including a first device 110a (e.g., a primary in-ear device) and a second device 110b (e.g., a secondary in-ear device).
  • the first device 110a and the second device 110b communicate using a first wireless connection 114a, which may be a NFMI, Bluetooth, or similar connection.
  • the first device 110a communicates with a third device 112, such as a smartphone, smart watch, or similar device, using a second wireless connection 114b established at least in part on a wireless signal 113 output by the third device 112, which may also be a Bluetooth or similar signal and connection.
  • the present disclosure may refer to particular Bluetooth protocols, such as classic Bluetooth, Bluetooth Low Energy (“BLE” or“LE”), Bluetooth Basic Rate (“BR”), and/or Bluetooth Enhanced Data Rate (“EDR”), but the present disclosure is not limited to any particular Bluetooth or other protocol.
  • the first wireless connection 114a between the first device 110a and the second device 110b is a low-power connection such as BLE; the second wireless connection 114b may include a high-bandwidth connection such as EDR in addition to or instead of a BLE connection.
  • the third device 112 communicates with one or more remote device(s) 120, which may be server devices, via a network 199, which may be the Internet, a wide- or local-area network, or any other network.
  • the first device 110a may output first output audio 15a
  • the second device 110b may output second output audio 15b.
  • the first device 110a and second device 110b may capture input audio 11 from a user 5, process the input audio 11, and/or send the input audio 11 and/or processed input audio to the third device 112 and/or remote device(s) 120, as described in greater detail below.
  • the first device 110a and/or second device 110b whichever is acting in the primary role, may send, to the secondary device, any data remaining in its buffers after the handover of the wireless connection.
  • the first audio-output device 110a establishes (130) a first wireless connection between the first audio-output device 110a and a second audio-output device 110b; the first audio-output device corresponds to a primary role and the second in-ear device corresponds to a secondary role.
  • the first audio-output device may be a first wireless earbud
  • the second audio-output device may be a second wireless earbud, but the present disclosure is not limited to only wireless earbuds.
  • the first audio-output device 110a establishes (132) a second wireless connection between the first audio-output device 110a and a user device 112 (e g., a smartphone).
  • the first audio-output device 110a receives (134) first audio data from the user device 112 and determines (136) to disconnect the second wireless connection (i.e., to adopt the secondary role in response to, for example, determining a handoff trigger has occurred).
  • the first audio-output device 110a determines (138) a delay time corresponding to the first audio data and sends (140) the delay time to the second audio-output device 110b.
  • the first audio-output device 110a disconnects (142) the first wireless connection and sends, to the second audio-output device 110b, at least a portion of the first audio data.
  • the second audio-output device 110b receives (150) the time data and establishes (152) a third wireless connection with the third device.
  • the second audio-output device 110b receives (154) and causes (156) output of the first audio data prior to the delay time elapsing.
  • FIGS. 2A and 2B illustrate additional features of an embodiment of the first device 110a and second device 110b, respectively.
  • the first device 110a and second device 110b have similar features; in other embodiments, as noted above, the second device 110b (i.e., the secondary device) may have only a subset of the features of the first device 110a.
  • the first device 110a and second device 110b are depicted as wireless in-ear devices having an inner-lobe insert; as mentioned above, however, the present disclosure is not limited to only wireless in-ear devices, and any wearable audio input/output system, such as a headset, over-the- ear headphones, or other such systems, is within the scope of the present disclosure.
  • the devices l lOa/l lOb may include a loudspeaker 202a/202b, and one or more external microphone(s) (such as first microphones 204a/204b and second microphones 205a/205b), and/or one or more internal microphones (such as third microphones 206a/206b).
  • the loudspeaker 202a/202b may be any type of loudspeaker, such as an electrodynamic loudspeaker, electrostatic loudspeaker, diaphragm loudspeaker, or piezoelectric loudspeaker; the microphones 204a/204b/205a/205b/206a/206b may be any type of microphones, such as piezoelectric or MEMS microphones.
  • Each device l lOa/l lOb may include one or more microphones 204a/204b/205a/205b/206a/206b.
  • the loudspeaker 202a/202b and microphones 204a/204b/205a/205b/206a/206b may be mounted on, disposed on, or otherwise connected to the device l lOa/l lOb
  • the devices l lOa/l lOb further include an inner-lobe insert 208a/208b that may bring the loudspeaker 202a/202b and/or third microphones 206a/206b closer to the eardrum of the user and/or block some ambient noise.
  • One or more additional components may be disposed in or on the devices l lOa/l lOb.
  • One or more batteries 207a/207b may be used to supply power to the devices 1 lOa/110b.
  • One or more antennas 210a/211 a/21 Ob/21 lb may be used to transmit and/or receive wireless signals over the first wireless connection 114a and/or second connection 114b.
  • a first pair of antennas 210a/210b are configured to send and receive wireless signals using a first wireless network, such as a Bluetooth network
  • a second pair of antennas 21 la/21 lb are configured to send and receive wireless signals using a second wireless network, such as a near- field magnetic induction (NFMI) network.
  • NFMI near- field magnetic induction
  • a primary in-ear device such as the first device 110a may use a first antenna 210a to communicate with the third device 112 using the second wireless connection 114b and may use a second antenna 211a to communicate with a secondary in-ear device, such as the second device 110b using the first wireless connection 114a.
  • the secondary in-ear device such as the second device 110b, may use a first antenna 210b to monitor the second connection 114b to determine network configuration information, such as the network address of the first device 110a, and/or to receive packets, and may use a second antenna 21 lb to communicate with the first device 110a using the first wireless connection 114a.
  • the first and second devices 110a, 110b may reverse the uses of the antennas 210a/211a/210b/211b, as described above, when a handover is triggered and the devices trade roles as primary and secondary.
  • An I/O interface 212a/212b contains software and hardware to control the antennas 210a/210b and transmit signals to and/or from other components.
  • a processor 214a/214b may be used to execute instructions in a memory 216a/216b; the memory 216a/216b may include volatile memory (e.g., random-access memory) and/or non-volatile memory or storage (e.g., flash memory).
  • One or more sensors 218a/218b such as accelerometers, gyroscopes, or any other such sensor may be used to sense physical properties related to the devices 1 lOa/110b, such as orientation; this orientation may be used to determine whether either or both of the devices l lOa/l lOb are currently disposed in an ear of the user (i.e., the“in-ear” status of each device).
  • FIG. 4 illustrates a right view 4a and a left view 4b of a user of the first device 110a and the second device 110b.
  • FIGS. 3 A and 3B illustrate components of the first device 110a and second device 110b, respectively, in accordance with embodiments of the present disclosure.
  • the first device 110a and the second device 110b may have similar or identical components, including hardware, software, and/or firmware components, but those components may be used differently depending on which device is configured to be the primary device and which device is configured to be the secondary device.
  • Each of the first device 110a and second device 110b may thus include a first transceiver 302a/302b, a digital signal processor (DSP) 304a/304b, and/or a second transceiver 306a/306b; the DSP 304a/304b may include an audio encoder, decoder, and/or codec.
  • DSP digital signal processor
  • the first transceiver 302a/302b performs some or all of the functions of the second transceiver 306a/306b as described herein; in these embodiments, the second transceiver 306a/306b may not be included in the first device 110a and/or second device 110b.
  • the second transceiver 306a/306b may not be included in the first device 110a and/or second device 110b.
  • a first transceiver 302a receives data from a data source, such as the third device 112, using antenna 210a.
  • the data may be audio data and may be packetized such that the data is segmented into discrete segments called packets.
  • the packets may have a fixed or variable size, such as 128 bits or 1024 bits; each packet may include packet header information, such as a network address, packet size information, and/or packet type information; the audio data segment in the packet may be referred to as the payload of the packet.
  • the packets may be stored in a packet buffer 308a.
  • the packets stored in the packet buffer 308a may be encoded using, for example, a Bluetooth encoding.
  • the packets stored in the packet buffer 308a may be out-of-order meaning that a first packet representing audio data for a first time period may be received after a second packet representing audio data for a second time period after the first time period.
  • the packet buffer 308a may store any number of packets, such as 5, 10, 20, or 100 packets.
  • the packet buffer 308a may be a computer memory or part of a larger computer memory that stores other data and/or packets.
  • a first processor 310a may process the packets in the packet buffer 308a.
  • the processing may include decoding the packets in the packet buffer 308a in accordance with, for example, a Bluetooth decoding protocol; in these embodiments, the first transceiver 302a may be part of a Bluetooth system-on-a-chip (SoC).
  • SoC Bluetooth system-on-a-chip
  • the processing may further include sorting the packets in the packet buffer 308a in accordance with packet-numbering information in the packets and/or date and/or time information in the packets.
  • the first processor 310a may store the decoded and/or sorted packets in a media buffer 312a.
  • the media buffer 312a may store any number of packets, such as 5, 10, 20, or 100 packets.
  • the packet buffer 308a stores a number of packets that correspond to 20-30 milliseconds of audio; the media buffer 312a stores a number of packets that correspond to 150-200 milliseconds of audio
  • the media buffer 312a may be a computer memory or part of a larger computer memory that stores other data and/or packets. In some embodiments, the packet buffer 308a and the media buffer 312a are part of the same computer memory.
  • the packet buffer 308a and the media buffer 312a may be, for example, first-in-first-out queues, stacks, or other types of computer memory.
  • the first processor 310a may be a computer processor, digital-signal processor, and/or an analog or digital computer circuit.
  • a digital-signal processor (DSP) 304a may be used to process the output of the first transceiver 302a.
  • the DSP 304a may, for example, separate the audio data into left and right stereo channels.
  • the DSP 304a may further include an audio encoder, decoder, and/or codec for encoding and/or decoding the audio data for output using a speaker 202a.
  • the DSP 304a may include analog and/or digital logic 314a.
  • the DSP 304a may include an input buffer 316a for storing incoming packets from the first transceiver 302a; this input buffer may be a computer memory.
  • the input buffer 316a is circuitry that adds latency to the input packets; this amount of latency may be approximately 6-10 milliseconds.
  • the DSP 304a may include an output buffer 318a that stores packets and/or adds latency to the output packets; this latency may similarly be approximately 6-10 milliseconds.
  • the DSP 304a may determine that a handover trigger has occurred and may cause a role-switch command to be sent to the second device 110b to initiate a handover.
  • the DSP 304a may further determine a delay time corresponding to a packet-sending time less a role-switch time, as also explained in greater detail below, and cause the delay time to be sent to the second device 110b.
  • a second transceiver 306a may receive output(s) of the DSP 304a and process the output for transmission using a second antenna 211a.
  • the second transceiver 306a is an NFMI transceiver and the second antenna 211a is an NFMI antenna.
  • the second transceiver 306a may, like the first transceiver 302a, include a processing circuit 320a which may be a computer processor or digital and/or analog circuitry.
  • the processing circuit 320a may process the data output by the DSP 304a to convert and/or encode the data in accordance with a wireless protocol, such as NFMI.
  • An input buffer 322a may be used to store incoming data and/or may be circuitry that adds latency to the incoming data; this latency may be approximately 6-10 milliseconds.
  • an output buffer 324a may be used to store outgoing data and/or may be circuitry that adds latency to the outgoing data; this latency may be approximately 6-10 milliseconds.
  • the output buffer 324a may receive one channel of a pair of stereo channels, such as a left or right channel; a delay buffer 326a may receive the other of the channels.
  • the delay buffer 326a may be used to compensate for a delay in transmitting the other channel using the second antenna 211a such that audio output by the loudspeaker 202a is output at the same time as corresponding output of the second device 110b.
  • the output of the delay buffer 326a may be sent back to the DSP 304a; at the DSP 304a, the output of the second transceiver 306a may be stored in an input buffer 328a, processed by the DSP 304a, and finally stored in an output buffer 330a before being sent to the loudspeaker 202a.
  • the first transceiver 302a includes some or all of the components 320a, 322a, 324a, 326a; in these embodiments, the first device 110a does not include the second transceiver 306a.
  • the second device 110b may include similar or identical components of the first device 110a (with reference also to FIG. 3 A).
  • the second device 110b may thus include a first transceiver 302b, a DSP 304b, a second transceiver 306b, a first antenna 210b, a second antenna 211b, and a loudspeaker 202b.
  • the second device 110b may not, in some embodiments, include the second transceiver 306a; in these embodiments, the first transceiver 302a performs the functions described herein associated with the second transceiver 306a and may include some or all of the components 320b, 322b, 324b, 326b described below with respect to the second transceiver 306b.
  • the second transceiver 306b may receive, using the antenna 211b, from the first device 110a, audio data.
  • the second transceiver 306b may use a processor 320b to process and store the audio data in an input buffer 324b and may process the audio data to decode it from, for example, an NFMI encoding.
  • the second transceiver 306b may include a delay buffer 326b but may bypass the delay buffer 326b when sending output audio to the DSP 304b to account for the delay in receiving the audio data from the second antenna 211b.
  • the DSP 304b may store the audio data in an input buffer 328b, process the audio data to, for example, decode the audio data, store the decoded audio data in an output buffer 330b, and finally send the decoded audio data to the loudspeaker 202b.
  • the first transceiver 302b may not be used by the second device 110b when it is in a secondary role, as shown; the second transceiver 302b may, however, receive packets sent from the third device 112 using the first antenna 210b, store the packets in a packet buffer 308b, process the packets with a processor 310b, and store the processed packets in a media buffer 312b.
  • the DSP 304b may similarly store the packets in an input buffer 316b and/or output buffer 318b.
  • FIGS. 4A-4F illustrate process flows in accordance with the present disclosure.
  • the third device 112 stores representative packets 5, 6, 7, 8 in a buffer, such as an output buffer.
  • the third device 112 sends, using the second wireless connection 114b, packets to the first device 110a.
  • the first device 110a acting as primary, receives the packets and stores them in one or more buffers, such as the packet buffer 308a and/or the media buffer 312a.
  • the first device 110a thus receives and stores representative packets 1, 2, and 3 in the media buffer 312a and packet 4 in the packet buffer 308a.
  • the first device 110a Because the first device 110a is acting in a primary role, the first device 110a sends packets to the second device 110b, acting as secondary, using the first wireless connection 114a.
  • the second device 110b receives the packets and stores them in one or more buffers, such as the packet buffer 308b and/or the media buffer 312b.
  • the second device 110b thus receives and stores representative packet 1 in media buffer 312b and packet 2 in packet buffer 308b.
  • the first device 110a and second device 110b output audio corresponding to the received packets.
  • the first device 110a and/or second device 110b may determine that a handover trigger has occurred. As disclosed herein with reference to FIGS.
  • a handover trigger may include that the first device 110a and/or second device 110b has an out-of- ear status, that the first device 110a and/or second device 110b has low signal quality, and/or that the first device 110a and/or second device 110b have low power. If the first device 110a determines that the handover trigger has occurred, it sends a role-switch command to the second device 110b. If the second device 1 10b determines that the handover trigger has occurred, it sends a request for a handover to the first device 110a, which may in response send the role- switch command to the second device 110b.
  • the first device 110a Prior to, during, or after sending the role-switch command, the first device 110a determines a delay time and sends the delay time to the second device 110b.
  • the delay time may be a role-switch time 402 subtracted from a packet-sending time 404.
  • the role-switch time 402 represents a time period between sending of the role-switch command and the completion of the role switch.
  • the first device 110a may determine the role-switch time 402 by computing a time to transmit the role-switch command, a time to execute the role-switch command, and a time to receive a confirmation, from the second device 110b, of the role-switch.
  • the role-switch time 402 is fixed and may be, for example, 200 milliseconds.
  • the first device 110a determines the role-switch time by measuring the time of one or more previous role switches.
  • the role-switch time 402 varies based on an amount of input audio data in an input buffer on the first device 110a and/or second device 110b; this input audio data may represent data from a microphone, and the first device 110a and/or second device 110b may delay the role switch by the time it takes to empty the input buffer by sending the input audio data to the third device 112.
  • the first device 110a may further determine a packet-sending time 404.
  • the packet sending time 404 corresponds to a time required by the first device 110a to send packets in its buffers, such as packet buffer 308a and/or media buffer 312a, to the second device 110b.
  • the first device 110a may determine the packet-sending time 404 by determining a number of packets present in the packet buffer 308a and/or media buffer 312a and multiplying this number by the time required to send a single packet.
  • the first device 110a may instead or in addition determine a size in bytes of all the packets present in the packet buffer 308a and/or media buffer 312a and multiply this size by the time required to send a byte.
  • the size of the packets may be uniform or may vary.
  • the packet-sending time 404 may further include time for network overhead, such as waiting for an available Bluetooth slot. This network overhead may represent the time of two Bluetooth slots.
  • FIG. 4B illustrates the first device 110a, second device 110b, and third device 112 after the first device 110a sends the role-switch command to the second device 110b but before the first device 110a and the second device 110b have exchanged roles as primary and secondary. Because the devices 1 lOa/110b have not yet switched roles, the third device 112 may send one or more packets, such as packet 6, to the first device 110a, and/or the first device 110a may send one or more packets, such as packet 3, to the second device 110b. The first device 110a and/or second device 110a may further, during this time period, output audio corresponding to one or more stored packets, such as packet 1, and may thereafter remove those stored packets from the buffers.
  • the third device 112 may send one or more packets, such as packet 6, to the first device 110a
  • the first device 110a may send one or more packets, such as packet 3, to the second device 110b.
  • the first device 110a and/or second device 110a may further, during this time period
  • the first device 110a may determine that the delay time has changed. The first device 110a may thus recompute the delay time and send the recomputed delay time to the second device 110b. The second device 110b may then discard and/or ignore the originally sent delay time and use the recomputed delay time to determine when to cease using audio packets received from the first device 110a for audio output and begin using audio packets received from the third device 112 for audio output. The first device 110a may recompute and send the delay time when, as depicted in FIG.
  • the third device 112 sends one or more packets to the first device 110a after the first device 110a sends the role-switch command and delay time but before the role switch. If the first device 110a determines that the third device 112 sends the one or more packets, the first device 110a may recompute the delay time to include additional time, if any, for sending the additional one or more packets to the second device 110b.
  • the first device 110a may recompute and send the delay time when the first device 110a is delayed in sending the role-switch command and/or delay time.
  • the first device 110a may be delayed in sending the role-switch command and/or delay time when the first wireless connection 114a is unavailable for transmitting data.
  • the first wireless connection 114a may be unavailable for transmitting data, such as the role-switch command and/or delay time, when the first device 110a and/or second device 110b are using the first wireless connection 114a to transmit other data, such as audio data or other command data.
  • the first wireless connection 114a may be unavailable for transmitting data also when the first wireless connection 114a is disconnected, such as when the first device 110a and/or second device 110b are powered off, separated in distance, or disposed opposite a barrier preventing wireless communication.
  • the first device 110a may determine a time between determining to initiate the role switch and a present time, by, for example, starting a timer when first determining to initiate the role switch and by comparing the time represented by the timer to a threshold time.
  • the threshold time may be, for example, 1-10 milliseconds. If the time represented by the timer meets or exceeds the threshold time, the first device 110a may, as described above, recompute and re-send the delay time.
  • FIG. 4C illustrates completion of the handover.
  • the first device 110a disconnects the second wireless connection 114b, and the second device 110b establishes the third wireless connection 114c.
  • the second device 110b assumes the role of primary and the first device 110a assumes the role of secondary. As explained in greater detail below, however, the first device 110a continues to send packets to the second device 110b using the first wireless connection 114a.
  • FIG. 4D illustrates an embodiment in which the handover has occurred but in which the first device 110a is still sending packets to the second device 110b.
  • the third device 112 may send one or more packets, such as packet 6, to the second device 110a, which may store the packet(s) in a buffer, such as the packet buffer 308b.
  • FIG. 4E illustrates another embodiment in which the handover has occurred but in which the first device 110a is still sending packets to the second device 110b.
  • the third device 112 may send one or more packets, such as packet 7, to the second device 110a, which may store the packet(s) in a buffer, such as the packet buffer 308b.
  • the first device 110a may send one or more packets, such as packets 4, 5, to the second device 110b.
  • the second device 110b outputs audio corresponding to the packets received from the first device 110a; the second device 110b stores any packets received from the third device 112 in a buffer, such as the packet buffer 308b and/or media buffer 312b, for later output.
  • FIG. 1 illustrates another embodiment in which the handover has occurred but in which the first device 110a is still sending packets to the second device 110b.
  • the third device 112 may send one or more packets, such as packet 7, to the second device 110a, which may store the packet(s) in a buffer, such as
  • 4F illustrates that when the second device 110b determines that the delay time, as received from the first device 110a, has elapsed, the first device 110a and the second device 110b reverse the flow of packets over the first wireless connection 114a, and the second device 110b sends packets, such as packet 6, to the first device 110a. Also, when the second device 110b determines that the delay time, as received from the first device 110a, has elapsed, the second device 110b begins outputting audio corresponding to packets received from the third device 112, such as packet 8.
  • the second device 110b while it has adopted the secondary role and before it adopts the primary role, monitors the second wireless connection 114c and may receive some or all of data sent from the third device 112, for example, packets transmitted by the third device 112.
  • the second device 110b may send, to the first device 110a, data representing the packets it received from the third device 112.
  • the first device 110a may then omit the packets already received by the second device 110b from data sent, using the first wireless connection 114a, to the second device 110b.
  • the first device 110a may further compute, or recompute, the delay time based at least in part on the data representing the packets the second device 110b received from the third device 112 by, for example, subtracting a number of packets received by the second device 110b from the number of packets stored on the first device 110a before multiplying the result by a time required for sending a single packet.
  • FIGS. 5A-5F and 6 illustrate process flows in accordance with the present disclosure.
  • FIG. 5A is a process flow corresponding to an embodiment in which the second device 110b establishes a third wireless connection 114c with the third device 112.
  • FIGS. 5B, 5C, and 5D are process flows corresponding to embodiments in which a handoff may be triggered by comparing signal quality metrics determined by the first device 110a and the second device 110b.
  • FIGS. 5E and 5F are process flows corresponding to embodiments in which other handoff triggers, such as those based on out-of-ear status and battery power level, are considered.
  • FIG. 6 is a process flow illustrating data movement between the first device 110a, second device 110b, and third device 112. Each of these process flows is discussed below in greater detail.
  • the first wireless connection 114 may be, as mentioned above, a Bluetooth connection such as a BLE connection, and may be established when the first device 110a and/or second device 110b power on and/or in response to a command from the third device 112.
  • the first device 110a may, for example, broadcast an advertisement to the second device 110b, and the second device 110b may respond thereto.
  • the first device 110a and the second device 110b may include similar hardware and software but may each include configuration information that assigns roles of primary and secondary thereto upon power-on or reset. Any type of connection-establishing messages, handshaking, or other such process for establishing the first wireless connection 114a is within the scope of the present disclosure.
  • the second device 110b determines (504) first data corresponding to the second wireless connection 114b between the first device 110a and the third device 112. As mentioned above, the first device 110a may simply send this first data to the second device 110b and/or the second device 110b may determine the first data by monitoring the second wireless connection 114b.
  • the first data may include, for example, network-stack information, baseband-connection information, or any other such information.
  • the first data may include the address of the first device 110a and/or third device 112, which may be a Bluetooth device address (BDA), and one or more security credentials associated with the third device 112, which may include a link key, a BLE long-term key, a BLE identity-resolution key, or any other such credential.
  • BDA Bluetooth device address
  • the first data may further include a service discovery protocol (SDP) record and/or logical-link control and adaptation protocol (L2CAP) channel information, such as channel identification (CID) information, protocol and service multiplexer (PSM) information, maximum transmission unit (MTU) information, or any other such channel information.
  • SDP service discovery protocol
  • L2CAP logical-link control and adaptation protocol
  • CID channel identification
  • PSM protocol and service multiplexer
  • MTU maximum transmission unit
  • the first data may further include radio-frequency communication (RFCOMM) link information, such as service channel number (SCN), credits, flow method, or other such link information.
  • RCOMM radio-frequency communication
  • the first data may include profile information, such as hands-free status, advanced audio distribution profile (A2DP) information, audio/video remote-control profile (AVRCP) information, serial-port profile (SPP) information, or other such profile information.
  • A2DP advanced audio distribution profile
  • AVRCP audio/video remote-control profile
  • SPP serial-port profile
  • the first data may also include application-specific information, such as the application context of the first device 110a and/or second device 110b, sensor-related information such as orientation information, and/or configuration information for, for example digital-signal processing (DSP).
  • the first device 110a and/or second device 110b monitor the second wireless connection 114b to detect (506) any change therein and specifically any change that might affect the first data.
  • the third device 112 may send data to the first device 110a indicating a change in the second wireless connection 114b.
  • the third device 112 may send data indicating a reconfiguring of the A2DP information.
  • the first device 110a may thereafter send, to the second device 110b, data corresponding to the change or changes to the second wireless connection.
  • the first device 110a may send both changed and unchanged data corresponding to the second wireless connection 114 or only changed data.
  • the second device 110b may monitor the second wireless connection 114b and determine any changes therein directly. However the change to the second wireless connection 114b is determined, the second device 110b may update (508) the first data based thereon to create updated first data. When the second device 110a later creates the third wireless connection 114c, the updated first data may be used. The second device 110b may not update the first data or may update it any number of times.
  • the first device 110a and/or second device 110b may detect (510) occurrence of an event corresponding to a change in status of the first device 110a, which event may be referred herein as a handoff-triggering event or a handoff trigger.
  • the event may be a first battery level of the first device 110a falling below a first threshold (e.g., 5% or 10%) and/or a difference between the first battery level and a second battery level of the second device rising above a second threshold (e.g., second battery level > first battery level by 20%).
  • the event may be a rate of decrease of the first battery level being greater than a threshold.
  • the event may be a velocity or acceleration of the first device 110a being greater than a threshold and a velocity or acceleration of the second device 110b being below the threshold.
  • the event may be an in-ear status of the first device being false and an in-ear status of the second device being true.
  • the in- ear status may be“true” if the device is in the user’s ear and“false” if the device is not in the user’s ear and may be determined at least in part on data from sensors 318a/b.
  • the event may further be a determination that a signal quality metric corresponding to the wireless signal 113 is greater for the second device 110b than for the first device 110a, as described in greater detail below.
  • the first device 110a and/or second device 110b may continue to continually or periodically continue to monitor detection of the event. If, however, the event is detected, the first device 110a may send (512), to the second device 110b, a role-switch command corresponding to occurrence of the event.
  • the role-switch command may include a binary number, such as a 16- or 32-bit binary number, that uniquely identifies the command as the role-switch command
  • the role-switch command may be part of a group of other commands, which may similarly include other unique binary numbers that identify other commands, such as a send command, receive command, or restart command.
  • the second device 110b may receive the role-switch command and compare its corresponding binary number it to a stored list of binary numbers corresponding to known commands. The second device 110b may determine that the command is the role-switch command by matching the received binary number to one of the list of binary numbers corresponding to the role-switch command.
  • the role-switch command includes the delay time, as described above with reference to FIGS. 4A- 4F; the delay time may similarly be represented as a binary number that represents the delay time.
  • the role-switch command does not include the delay time; in these embodiments, the first device 110a sends the binary number representing the delay time separate from sending the role-switch command.
  • the role-switch command may thus inform the second device 110b to initiate the handover.
  • the second device 110b may send, to the first device 110a, an
  • the first device 110a may re-send the role-switch command and wait again for the acknowledgement. If the first device 110a does not receive the acknowledgement after a number of times of sending the role-switch command (e.g., 1-5 times), the first device 110a may halt the process flow and take no further action regarding establishing the third wireless connection 114c.
  • a certain amount of time e.g. 100 milliseconds
  • the first device 110a may re-send the role-switch command and wait again for the acknowledgement.
  • the first device 110a may halt the process flow and take no further action regarding establishing the third wireless connection 114c.
  • the first device 110a disconnects (516) the second wireless connection 114b.
  • This disconnecting may include sending, from the first device 110a to the third device 112, packets queued to be sent or otherwise addressed to the third device 112.
  • This sending of packets may be referred to as a draining of packets; the packets may be asynchronous connectionless (ACL) packets.
  • the first device 110a may further send the third device 112 a command to disconnect the second wireless connection 114b and/or a command to pause transmission of further packets. This pause command to cease transmission may be a “flow off’ command.
  • the first device 110a may change its configuration to correspond to a secondary device, and the second device 110b may change its configuration to correspond to a primary device.
  • the first device 110a may thus thereafter perform steps 140-148 of FIG. IB, formerly associated with the second device 110b, and the second device 110b may thereafter perform steps 103-140 of FIG. 1A, formerly associated with the first device 110a.
  • the first device 110a and the second device 110b may exchange handshake information associated with the switching of their roles.
  • the second device 110b establishes (518) the third wireless connection 114c with the third device 112.
  • Establishing the third wireless connection 114c may include sending, from the second device 110b to the third device 112, a resume command to resume sending of packets; this command may be a“flow on” command.
  • Establishing the third wireless connection 114c may further include sending, from the second device 110b to the third device 112, data corresponding to a request to establish the third wireless connection 114c; this request may be a Bluetooth advertisement request.
  • the third wireless connection 114c like the second wireless connection 114b, may include a BLE and/or EDR connection. The time elapsed between determining occurrence of the event and the establishment of the third wireless connection 114c may be approximately 150-250 milliseconds.
  • FIG. 5B is a process flow corresponding to an embodiment in which a handoff may be triggered by comparing, by the first device 110a, signal quality metrics determined by the first device 110a and the second device 110b.
  • the first device 110a determines (520) a first signal quality metric Qi corresponding to a signal quality of a received wireless signal 113 from the third device 112, and the second device 110b determines (522) a second signal quality metric Q2 corresponding to a signal quality of a received wireless signal 113 from the third device 112.
  • the signal quality metric may be a packet error rate (PER), a received signal strength indication (RSSI), or a signal -to-noise ratio (SNR).
  • PER packet error rate
  • RSSI received signal strength indication
  • SNR signal -to-noise ratio
  • the PER may be computed by determining a number of dropped, damaged, or otherwise missing or defective packets (received from the third device 112 via the second wireless connection 114) in a number of received packets, such as 100 packets.
  • the RSSI may be a number from 0-100 indicating a power level of the received wireless signal 113, where 0 indicates no power (i.e., the device 1 lOa/110b received 0% of the power transmitted by the third device 112) and 100 indicates maximum power (i.e., the device 110a/ 110b received 100% of the power transmitted by the third device 112).
  • the second device 110b determines the second signal quality metric Q2 without establishing the third wireless connection 114c by monitoring the wireless signal 113 - this process may be referred to as“sniffing” or“snooping.”
  • the first device 110a and/or second device 110b may include state machines that compute a running average of the PER for a number of last-received packets, such as 100 or 1000 packets.
  • the state machines of the first and/or second device 1 lOa/110b may compute similar running averages for the RSSI and/or SNR for an amount of time corresponding to the amount of time it takes to receive the number packets (e.g., 100 milliseconds for 100 packets or 1 second for 1000 packets).
  • the running averages are weighted to emphasize more recently received packets or signal data and to de-emphasize less recently received packets or signal data.
  • the signal quality metric may be weighted such that a shorter, more-recent time period comprises 20 % of the average while a longer, less-recent time period comprises 80 % of the average.
  • the more-recent time period corresponds to a time of receipt of a last 100 packets
  • the less-recent time period corresponds to a time of receipt of 900 packets received prior to the 100 packets.
  • the second device 110b may determine and send (524) the second signal quality metric(s) Q2 to the first device 110a at periodic intervals, such as once every 100 milliseconds.
  • the second device 110b may instead or in addition determine and send the second signal quality metric(s) Q2 to the first device 110a in response to a received request from the first device 110a.
  • the second device 110b may further determine a signal quality metric(s) Q2,I and later determine another signal quality metric(s) Q2 2; the second device may send the signal quality metric(s) (3 ⁇ 42 to the first device 110a only if it differs from the first signal quality metric(s) z>2,i by a threshold amount, such as 5%.
  • the second device 110b may send the signal quality metric(s) Co upon determining that it differs by more than the threshold amount or at the next periodic interval.
  • the first device 110a compares (526) the first signal quality metric(s) Qi to a quality threshold upon receipt of the second signal quality metric Q2 and/or periodically (e.g., every 100 milliseconds).
  • the quality threshold may differ for different signal quality metrics. For example, if the first signal quality metric Qi is PER, the PER quality threshold may be 10 % (i.e., 10 % packet loss). If the first signal quality metric Qi is RSSI, the RSSI quality threshold may be 50 (i.e., the first device 110a receives 50 % of power transmitted by the third device).
  • the quality threshold may be fixed or may change dynamically.
  • the first and/or second device 1 lOa/110b may raise the quality threshold when, for example, PER is high or RSSI is low and may lower the quality threshold when, for example, PER is low or RSSI is high.
  • the first device 110a If the first signal quality metric(s) Qi ER satisfies the quality threshold (i.e., the PER is less than the PER threshold or the RSSI is greater than the PER threshold), the first device 110a does not trigger (528) the handover and halts the process. If however, the first signal quality metric(s) Qi does not satisfy the quality threshold (i.e., the PER is greater than the PER threshold or the RSSI is less than the PER threshold), the first device 110a compares (530) the first signal quality metric(s) Qi and the second signal quality metric(s) Q2.
  • the first device 110a determines (532) that a handover trigger is detected and sends (512) - with reference also to FIG. 5 A - a role-switch command to the second device 110a.
  • the first device 110a applies a hysteresis factor (i.e., a delta factor) when comparing the first signal quality metric(s) Qi to the quality threshold and/or when comparing the first signal quality metric(s) Qi to the second signal quality metric(s) Q2.
  • a hysteresis factor i.e., a delta factor
  • the delta factor may correspond to a difference of 2 % or 3% between the first signal quality metric(s) Qi and quality threshold and/or the first signal quality metric(s) Qi and second signal quality metric(s) Q2.
  • the delta factor may thus represent a minimum improvement in signal quality required for the handover - if there would be only a slight improvement in signal quality (e.g., 1%) by triggering a handover, the handover is not triggered.
  • the first device 110a determines that the first signal quality metric(s) Qi does not satisfy the quality threshold only if it is greater than (for PER) or less than (for RSSI) the corresponding quality threshold by more than the delta factor.
  • the first device 110a may determine that second signal quality metric(s) Q2 indicates a better signal quality than the first signal quality metric(s) Qi only if the second signal quality metric(s) Q2 is less than (for PER) or greater than (for RSSI) the first signal quality metric(s) Qi by more than the delta factor.
  • the first device 110a triggers the handover to the second device 110b only if the second signal quality metric(s) Q2 is not just better than the first signal quality metric(s) Qi, but better than the first signal quality metric(s) Qi plus the delta factor.
  • FIG. 5C is a process flow corresponding to an embodiment in which a handoff may be triggered by comparing, by the first device 110a, two signal quality metrics determined by the first device 110a and the second device 110b.
  • the first device 110a determines (540) a first signal quality metric Qi corresponding to a signal quality of a received wireless signal 113 from the third device 112, and the second device 110b determines (542) a second signal quality metric Q2 corresponding to a signal quality of a received wireless signal 113 from the third device 112.
  • the first device 110a further determines a third signal quality metric Q3 corresponding to another signal quality of the received wireless signal
  • the second device 110b further determines a fourth signal quality metric Q4 corresponding to another signal quality of the received wireless signal.
  • the second device 110b sends (544) the second and fourth signal quality metrics Q3 and Q4 to the first device 110a.
  • the first device 110a compares (546) the first signal quality metric Qi to a quality threshold and, if the quality threshold is not satisfied, compares (548) the first signal quality metric Qi to the second signal quality metric Q2. If the second signal quality metric(s) Q2 does not indicate a better signal quality than the first signal quality metric(s) Qi, (in some embodiments, using the delta factor described above) the first device 110a determines (550) that not handover trigger is detected and halts the process.
  • the first device 110a determines (552) a handover trigger is detected and sends (512) - with reference also to FIG. 5 A - an indication of the handover to the second device 110a.
  • the first device 110a may detect a trigger even if the first signal quality metric Qi meets the quality threshold if a signal quality associated with the second device 110b is better than that of a signal quality associated with the first device 110a. In other words, even if the second wireless connection 114b between the first device 110a and the third device 112 has an acceptable signal quality (i.e., the first signal quality metric satisfies the quality threshold), the first device 110a will trigger a handover to the second device 110b if the second device 110a is receiving the wireless signal 113 with an even higher quality.
  • the first device 110a determines that the first signal quality metric Qi satisfies the quality threshold.
  • the first device 110a compares (554) the first signal quality metric Qi with the second signal quality metric Q2 and/or compares the third signal quality metric Q3 with the fourth signal quality metric Q4.
  • the first device 110a determines (556) whether the second wireless connection 114b is in use. Determining whether the second wireless connection 114b is in use may include determining that audio is being output by the first device 110a and/or that audio is being input to the first device 110a.
  • the first device 110a may receive status information from the third device; this status information may include an audio input and/or audio output status or a status corresponding to an audio input and/or output mode of operation of the device 110a, such as a phone-call mode, music-playing mode, or speech-detection mode.
  • the first device 110a may further determine whether the second wireless connection 114b is in use by examining packets received from and/or sent to the third device 112 and determining that the received and/or sent packets correspond to audio output packets and/or audio-input packets, or by detecting a wakeword.
  • the first device 110 determines that the second wireless connection 114b is in use, the first device does not trigger (550) the handover. If the first device 110 determines that the second wireless connection 114b is not use, the first device trigger (552) the handover. Avoiding triggering the handover while the second wireless connection is in use may prevent errors or glitches in input or output audio.
  • FIG. 5D is similar to FIG. 5C but uses PER and RSSI as the signal quality metrics.
  • the first device 110a determines (560) a PERi and a RSSIi for the second wireless connection 114b, and the second device determines (562) a PER2 and a RSSI2 corresponding to the received wireless signal 113; the second device 110b sends (564) the PER2 and the RSSI2 to the first device 110a.
  • the first device 110a compares (566) the PERi to a PER quality threshold PERTH; if it is greater, and if the first device 110a determines (568) that if the PERi is less than the PER2 plus a PER delta factor PERA, the first device 110a does not trigger (570) the handover. If, on the other hand, the first device 110a determines that the PERi is greater than the PER2 plus the PERA, the first device 110a does trigger (572) the handover.
  • the first device 110a determines that the PERi is less than the PERTH, the first device 110a further compares (574) the PERi to the PER2 plus the PERA and the RSSIi to the RSSI2 plus a RSSIA. If the PERi is greater than the PER2 plus the PERA and/or if the RSSIi is less than the RSSI2 plus a RSSIA, and if the first device 110a determines (576) that the second wireless connection 114b is not in use, the first device 110a triggers (572) the handover.
  • FIGS. 5E and 5F are process flows corresponding to embodiments in which other handoff triggers, such as those based on out-of-ear status and battery power level, are considered.
  • the first device 110a first does not detect (580) a handover trigger.
  • the first device 110a may, however, detect a handover trigger (588) if any one of an out-of-ear trigger (582), a low-power trigger (584), and/or a low-signal-quality trigger (586) is determined.
  • the first device 110a may detect the out-of-ear trigger (582) and/or low-power trigger (584) first, and may detect the signal quality trigger (586) only thereafter.
  • the system does not trigger the handover (588) if the signal quality of the secondary device is lower than that of the primary device and/or lower than a threshold.
  • the device 110a determines that it is out- of-ear and/or low on power, it won’t trigger the handover to the second device 110b if the second device has a lower-quality wireless connection.
  • the first device 110a and/or second device 110b may reset 589 one or more state machines configured to compute the one or more signal quality metrics or corresponding running averages.
  • FIG. 5G illustrates a state machine for computing a running average of a signal quality metric in accordance with embodiments of the present disclosure.
  • the state machine determines whether the device 1 lOa/110b is in-ear or out-of-ear using the various techniques described herein. If the device 1 lOa/110b is not in-ear, the state machine continues to monitor its in-ear status but takes no further action. Once the device is in-ear, however, the state machine resets (592) a running average associated with a signal quality metric and thereafter determines (594) the running average. If the device 1 lOa/110b is not out-of-ear (596), the state machine continues to compute the running average. If the device 1 lOa/110b is out-of-ear, the state machine resumes monitoring for in-ear status. If a handover trigger is detected (598), the state machine similarly resets the running average.
  • FIG. 6 illustrates another embodiment of the present disclosure.
  • the first wireless connection 114a connects the first device 110a and the second device 110b
  • a second wireless connection 114b connects the first device 110a and the third device 112.
  • the second device 110b determines first data 602 regarding the second wireless connection 114b by, as described above, receiving it from the first device 110a and/or by monitoring the second wireless connection 114b.
  • the first device 110a may receive, from the third device 112, data 604 corresponding to a change in the second wireless connection 114b (for example, when a smartphone initiates or detects a change in the second wireless connection) and may forward some or all of this data 606 to the second device 110b.
  • the second device 110b instead or in addition determines a change in the second wireless connection 114b by monitoring the second wireless connection 114b.
  • the first device 110a determines occurrence of an event corresponding to change in status of the first device 110a, i.e., a handover trigger 608.
  • the first device 110a sends, to the third device 112, a command 610 to pause the second wireless connection 114b (i.e., a“flow off’ command”).
  • the first device 110a sends, to the third device 112, any packets 612 queued for or otherwise addressed to the third device 112 (i.e., the packets are drained from the first device 110a
  • the first device 110a sends, to the third device 12, a command 614 to disconnect the second wireless connection 114b.
  • the first device may send the role-switch command 616 to the second device 110b, and the second device 110b may send a confirmation of receipt 618 in response.
  • the role-switch command 616 may include, for example, a command informing the second device 110b to begin the handover process.
  • the first device 110a and second device 110b may exchange handshake information (620); this handshake information may include a request or command to switch roles from primary to secondary and/or from secondary to primary.
  • the handshake information may be sent from the first device 110a to the second device 110b and/or from the second device 110b to the first device 110a.
  • the device receiving handshake information may respond to the sending device with an acknowledgement of receipt.
  • the first device 110a and second device 110b may switch primary/secondary roles based on these commands. Once the switch is complete, the second device 110b sends a resume command to the third device 112 to resume (622) sending packets (i.e., a“flow on” command) and an advertisement (624). The third device 112 and/or second device 110b may thereafter establish the third wireless connection 114c
  • FIG. 7 is a block diagram conceptually illustrating a first device 110a or second device 110b that may be used with the described system.
  • FIG. 8 is a block diagram conceptually illustrating a third device 112 that may be used with the described system.
  • FIG. 9 is a block diagram conceptually illustrating example components of a remote device, such as a remote server 120, that may assist with ASR, NLU processing, command processing, or the like. Multiple such devices 120 may be included in the system, such as one server(s) 120 for network provisioning, one server(s) for performing ASR, one server(s) 120 for performing NLU, etc. In operation, each of these devices (or groups of devices) may include computer-readable and computer-executable instructions that reside on the respective device (1 lOa/1 lOb/112/120), as will be discussed further below.
  • Each of these devices may include one or more controllers/processors (214/804/904), which may each include a central processing unit (CPU) for processing data and computer-readable instructions and a memory (216/806/906) for storing data and instructions of the respective device.
  • the memories (216/806/906) may individually include volatile random-access memory (RAM), non-volatile read only memory (ROM), non volatile magnetoresistive (MRAM) memory, and/or other types of memory.
  • Each device may also include a data-storage component (708/808/908), for storing data and controller/processor- executable instructions.
  • Each data-storage component may individually include one or more non-volatile storage types such as magnetic storage, optical storage, solid-state storage, etc.
  • Each device may also be connected to removable or external non-volatile memory and/or storage (such as a removable memory card, memory key drive, networked storage, etc.) through respective input/output device interfaces (212/802/902).
  • Computer instructions for operating each device (1 lOa/1 lOb/112/120) and its various components may be executed by the respective device’s controlled s)/processor(s) (214/804/904), using the memory (216/806/906) as temporary“working” storage at runtime.
  • the processor(s) 214 may include the first transceiver 302, the DSP 304, and/or the second transceiver 306.
  • a device’s computer instructions may be stored in a non-transitory manner in non-volatile memory (216/806/906), storage (708/808/908), or an external device(s). Alternatively, some or all of the executable instructions may be embedded in hardware or firmware on the respective device in addition to or instead of software.
  • Each device (1 lOa/1 lOb/112/120) includes input/output device interfaces (212/802/902). A variety of components may be connected through the input/output device interfaces, as will be discussed further below. Additionally, each device (1 lOa/1 lOb/112/120) may include an address/data bus (724/824/924) for conveying data among components of the respective device. Each component within a device (1 lOa/1 lOb/112/120) may also be directly connected to other components in addition to (or instead of) being connected to other components across the bus (724/824/924).
  • the input/output device interfaces 212/702 may connect to one or more networks 199 via a wireless local area network (WLAN) (such as Wi-Fi) radio, Bluetooth, and/or wireless network radio, such as a radio capable of communication with a wireless communication network such as a Long Term Evolution (LTE) network, WiMAX network, 2G network, etc.
  • WLAN wireless local area network
  • LTE Long Term Evolution
  • WiMAX WiMAX
  • 2G network etc.
  • Ethernet may also be supported.
  • the speech processing system may be distributed across a networked environment.
  • the device 1 lOa/1 lOb/112 may also include input/output device interfaces 212/802 that connect to a variety of components, such as an audio output component like a loudspeaker 202/860 or other component capable of outputting audio.
  • the device 1 lOa/1 lOb/112 may also include an audio capture component which may be, for example, a microphone 204/850 or array of microphones. The microphone 750/850 may be configured to capture audio.
  • the microphones 204a and 204b may be used to determine an approximate distance to a sound’s point of origin; acoustic localization, based on time and/or amplitude differences between sounds captured by different microphones of the array, i.e., beam forming, may be performed.
  • the device 1 lOa/1 lOb/112 (using microphone 204/850) may be configured to determine audio data corresponding to detected audio.
  • the device 1 lOa/1 lOb/112 (using input/output device interfaces 212/702, antenna 210/714, etc.) may also be configured to transmit the audio data to server 120 for further processing or to process the data using internal components.
  • the device 1 lOa/1 lOb/l 12 may be configured with a visual indicator, such as an LED or similar component (not illustrated), that may change color, flash, or otherwise provide visual indications by the device 1 lOa/1 lOb/l 12.
  • the device 112 may include a display 718, which may comprise a touch interface 719.
  • the device l lOa/l lOb may include a wakeword detection component.
  • the wakeword detection component receives audio signals and detects occurrences of a particular expression (such as a configured keyword) in the audio. This may include detecting a change in frequencies over a specific period of time where the change in frequencies results in a specific audio signature that the system recognizes as corresponding to the keyword.
  • Keyword detection may include analyzing individual directional audio signals, such as those processed post beamforming if applicable. Other techniques known in the art of keyword detection (also known as keyword spotting) may also be used.
  • the device l lOa/l lOb may be configured collectively to identify a set of the directional audio signals in which the wake expression is detected or in which the wake expression is likely to have occurred.
  • the wakeword detection component receives captured audio and processes the audio to determine whether the audio corresponds to particular keywords recognizable by the device l lOa/l lOb.
  • the storage 708 may store data relating to keywords and functions to enable the wakeword detection component to perform the algorithms and methods described above.
  • the locally stored speech models may be pre-configured based on known information, prior to the device 1 lOa/110b being configured to access the network by the user. For example, the models may be language and/or accent specific to a region where the user device is shipped or predicted to be located, or to the user himself/herself, based on a user profile, etc. In an aspect, the models may be pre-trained using speech or audio data of the user from another device.
  • the user may own another user device that the user operates via spoken commands, and this speech data may be associated with a user profile.
  • the speech data from the other user device may then be leveraged and used to train the locally stored speech models of the device l lOa/l lOb prior to the user device 1 lOa/110b being delivered to the user or configured to access the network by the user.
  • the wakeword detection component may access the storage 708 and compare the captured audio to the stored models and audio sequences using audio comparison, pattern recognition, keyword spotting, audio signature, and/or other audio processing techniques.
  • each of the devices may include different components for performing different aspects of the speech processing.
  • the multiple devices may include overlapping components.
  • the components of the first and second devices l lOa/l lOb, third device 112, and server 120, as illustrated in FIGS. 7, 8, and 9, are exemplary, and may be located a stand-alone device or may be included, in whole or in part, as a component of a larger device or system.
  • the concepts disclosed herein may be applied within a number of different devices and computer systems, including, for example, general-purpose computing systems, speech processing systems, and distributed computing environments.
  • multiple devices may contain components of the system 100 and the devices may be connected over a network 199.
  • the network 199 may include one or more local-area or private networks and/or a wide-area network, such as the internet.
  • Local devices may be connected to the network 199 through either wired or wireless connections.
  • a speech-controlled device, a tablet computer, a smart phone, a smart watch, and/or a vehicle may be connected to the network 199.
  • One or more remote device(s) 120 may be connected to the network 199 and may communicate with the other devices therethrough. Headphones 1 lOa/110b may similarly be connected to the remote device(s) 120 either directly or via a network connection to one or more of the local devices.
  • the headphones l lOa/l lOb may capture audio using one or more microphones or other such audio-capture devices; the headphones l lOa/l lOb may perform audio processing, VAD, and/or wakeword detection, and the remove device(s) 120 may perform ASR, NLU, or other functions.
  • a computer-implemented method comprising:
  • NFMI near-field magnetic induction
  • time data representing the third amount of time
  • a computer-implemented method comprising:
  • the second signal quality metric indicates a higher signal quality than the first signal quality metric.
  • a system comprising:
  • At least one memory including instructions that, when executed by the at least one processor, cause the system to:
  • the at least the portion of the first audio data does not include at least the second portion of the first audio data.
  • aspects of the disclosed system may be implemented as a computer method or as an article of manufacture, such as a memory device or non-transitory computer readable storage medium.
  • the computer-readable storage medium may be readable by a computer and may comprise instructions for causing a computer or other device to perform processes described in the present disclosure.
  • the computer-readable storage medium may be implemented by a volatile computer memory, non-volatile computer memory, hard drive, solid-state memory, flash drive, removable disk, and/or other media.
  • components of system may be implemented in firmware and/or hardware, such as an acoustic front end (AFE), which comprises, among other things, analog and/or digital filters (e.g., filters configured as firmware to a digital signal processor (DSP)).
  • AFE acoustic front end
  • DSP digital signal processor
  • Disjunctive language such as the phrase“at least one of X, Y, Z,” unless specifically stated otherwise, is understood with the context as used in general to present that an item, term, etc., may be either X, Y, or Z, or any combination thereof (e.g., X, Y, and/or Z). Thus, such disjunctive language is not generally intended to, and should not, imply that certain embodiments require at least one of X, at least one of Y, or at least one of Z to each be present.
  • the term“a” or“one” may include one or more items unless specifically stated otherwise.
  • the phrase“based on” is intended to mean“based at least in part on” unless specifically stated otherwise.

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Physics & Mathematics (AREA)
  • Acoustics & Sound (AREA)
  • Circuit For Audible Band Transducer (AREA)

Abstract

L'invention concerne un système, et un procédé associé, qui comprend un premier dispositif de sortie audio (par exemple, un dispositif intra-auriculaire sans fil primaire) connecté à un deuxième dispositif de sortie audio (par exemple, un dispositif intra-auriculaire sans fil secondaire) à l'aide d'une première connexion sans fil. Le premier dispositif de sortie audio est également connecté à un troisième dispositif (par exemple, un téléphone intelligent ou une montre intelligente) à l'aide d'une deuxième connexion sans fil. Lorsque les premier et deuxième dispositifs de sortie audio échangent leurs rôles primaire et secondaire, ils déconnectent d'abord la deuxième connexion sans fil et établissent une troisième connexion sans fil entre le deuxième dispositif et le troisième dispositif. Le premier dispositif de sortie audio envoie des paquets stockés sur lui au deuxième dispositif de sortie audio ; le deuxième dispositif de sortie audio délivre de l'audio correspondant à ces paquets avant de délivrer de l'audio correspondant à des paquets reçus en provenance du troisième dispositif.
EP19805037.9A 2018-12-06 2019-10-28 Transfert de connexion de dispositif sans fil Pending EP3892008A1 (fr)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/212,269 US10721661B2 (en) 2017-11-15 2018-12-06 Wireless device connection handover
US16/254,308 US10694437B2 (en) 2017-11-15 2019-01-22 Wireless device connection handover
PCT/US2019/058285 WO2020117404A1 (fr) 2018-12-06 2019-10-28 Transfert de connexion de dispositif sans fil

Publications (1)

Publication Number Publication Date
EP3892008A1 true EP3892008A1 (fr) 2021-10-13

Family

ID=68582453

Family Applications (1)

Application Number Title Priority Date Filing Date
EP19805037.9A Pending EP3892008A1 (fr) 2018-12-06 2019-10-28 Transfert de connexion de dispositif sans fil

Country Status (2)

Country Link
EP (1) EP3892008A1 (fr)
WO (1) WO2020117404A1 (fr)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11445286B1 (en) 2021-05-20 2022-09-13 Amazon Technologies, Inc. Wireless connection management

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110026494A1 (en) * 2008-03-27 2011-02-03 Kyocera Corporation Wireless communication apparatus and communication apparatus
US20160219358A1 (en) * 2015-01-28 2016-07-28 Alpha Audiotronics, Inc. Wireless earbuds with reciprocating leader and follower configuration
KR102448786B1 (ko) * 2016-03-10 2022-09-30 삼성전자주식회사 전자 장치 및 그의 동작 방법
US10085216B1 (en) * 2017-11-09 2018-09-25 Shenzhen GOODIX Technology Co., Ltd. Balanced wireless data transmission

Also Published As

Publication number Publication date
WO2020117404A1 (fr) 2020-06-11

Similar Documents

Publication Publication Date Title
US10694437B2 (en) Wireless device connection handover
US10721661B2 (en) Wireless device connection handover
US10485049B1 (en) Wireless device connection handover
US10728941B2 (en) Bidirectional sending and receiving of wireless data
EP3219109B1 (fr) Latence de mise sous tension de microphone réduite
US20210409861A1 (en) Two-way wireless headphones
US20160219358A1 (en) Wireless earbuds with reciprocating leader and follower configuration
US10003896B2 (en) Method of exchanging data packages of different sizes between first and second portable communication devices
KR101117058B1 (ko) 무선 링크된 이어피스를 갖는 헤드셋
US11363544B1 (en) Wireless connection management
US9831988B2 (en) Method of exchanging data packages between first and second portable communication devices
US10356232B1 (en) Dual-transceiver wireless calling
US11310594B2 (en) Portable smart speaker power control
US10681451B1 (en) On-body detection of wearable devices
US20190027139A1 (en) Digital voice assistant operation system
US20110238419A1 (en) Binaural method and binaural configuration for voice control of hearing devices
US10916248B2 (en) Wake-up word detection
US11064281B1 (en) Sending and receiving wireless data
EP3892008A1 (fr) Transfert de connexion de dispositif sans fil
WO2022133374A1 (fr) Gestion de capteur pour dispositifs sans fil
JP2017076956A (ja) 第1のポータブル通信デバイスと第2のポータブル通信デバイスの間で異なるサイズのデータ・パッケージを交換する方法
US11937059B2 (en) Composite headphone
EP3918734B1 (fr) Envoi et réception bidirectionnels de données sans fil
US11445286B1 (en) Wireless connection management
US11056106B2 (en) Voice interaction system and information processing apparatus

Legal Events

Date Code Title Description
STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: UNKNOWN

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE INTERNATIONAL PUBLICATION HAS BEEN MADE

PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: REQUEST FOR EXAMINATION WAS MADE

17P Request for examination filed

Effective date: 20210706

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR

DAV Request for validation of the european patent (deleted)
DAX Request for extension of the european patent (deleted)
P01 Opt-out of the competence of the unified patent court (upc) registered

Effective date: 20230517

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: EXAMINATION IS IN PROGRESS

17Q First examination report despatched

Effective date: 20230818