Sharing audio from a source device
By establishing multiple communication channels between wireless earbuds to coordinate and respond to data transmission between them, the problem of not being able to play audio from multiple devices synchronously in existing technologies is solved, achieving a synchronous playback effect of multiple people sharing audio content.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-11-29
- Publication Date
- 2026-03-27
AI Technical Summary
Existing wireless communication protocols, such as classic Bluetooth, cannot broadcast digital audio to multiple devices simultaneously, resulting in the inability to play audio content synchronously when multiple people share it.
By establishing multiple communication channels between wireless earbuds, the coordinating wireless earbud actively receives audio data from the source device and transmits copies of it to the responding wireless earbud through different communication channels. The responding earbud passively receives the data and supplements any missing data when necessary.
It enables synchronized playback of audio data between multiple wireless earbuds, ensuring consistent sound output from each earbud and improving the experience of multiple people sharing audio content.
Smart Images

Figure CN116601973B_ABST
Abstract
Description
[0001] Cross-references to related applications
[0002] This application claims priority to U.S. Patent Application No. 17 / 217,201, filed March 30, 2021, entitled “Sharing Audio from a Source Device,” which claims the benefit of U.S. Provisional Application No. 63 / 120,563, filed December 2, 2020, the entire contents of which are incorporated herein by reference. Technical Field
[0003] This disclosure relates to the technical field of wireless audio, and more particularly to methods and systems for sharing audio streamed from a source device. Background Technology
[0004] Digital audio (e.g., related to songs or video content) is typically streamed wirelessly from a source device (e.g., a mobile device or television) to a speaker (e.g., wireless earbuds, wireless headphones, or smart speakers), such as via Bluetooth. However, some wireless communication protocols (e.g., Classic Bluetooth or Basic Rate / Enhanced Data Rate (BR / EDR)) can be limited in certain ways. For example, a source device performing Classic Bluetooth may not be able to broadcast digital audio to multiple devices simultaneously, even in situations where this would be useful, such as when two or more individuals want to listen to the same content on separate pairs of wireless headphones (e.g., when watching a video on a shared device). Summary of the Invention
[0005] This section provides a general overview of this disclosure and is not a full disclosure of its entire scope or all its features.
[0006] One aspect of the present invention provides an audio system comprising:
[0007] The first pair of wireless earbuds, the first pair of wireless earbuds including a first wireless earbud that exchanges data via a first communication channel.
[0008] Second wireless earbuds;
[0009] The second pair of wireless earbuds includes a second communication channel different from the first communication channel.
[0010] The third and fourth wireless earbuds for channel-switching data;
[0011] The first, second, third, and fourth wireless earbuds each include:
[0012] One or more processing units; and
[0013] one or more memory units,
[0014] wherein the one or more memory units of the first wireless earbud store instructions that, when executed by the one or more processing units, cause the one or more processing units to perform operations comprising:
[0015] receiving, from a source device, first audio data via a third communication channel different from the first communication channel and the second communication channel;
[0016] receiving, from the second wireless earbud, a first message indicating that the second wireless earbud received the first audio data;
[0017] receiving, from the third wireless earbud via a fourth communication channel, a second message indicating that the first audio data was not received by the third wireless earbud;
[0018] receiving, from the third wireless earbud via a fourth communication channel, a second message indicating that the first audio data was not received by the third wireless earbud;
[0019] transmitting, to the third wireless earbud via the fourth communication channel, a copy of the first audio data, and
[0020] wherein:
[0021] the one or more memory units of the fourth wireless earbud store instructions that, when executed by the one or more processing units of the fourth wireless earbud, cause the one or more processing units of the fourth wireless earbud to perform operations comprising receiving the copy of the first audio data transmitted from the first wireless earbud to the third wireless earbud via the fourth communication channel; or
[0022] the one or more memory units of the third wireless earbud store instructions that, when executed by the one or more processing units of the third wireless earbud, cause the one or more processing units of the third wireless earbud to perform operations comprising transmitting, to the fourth wireless earbud via the second communication channel, a copy of the first audio data.
[0023] the one or more memory units of the fourth wireless earbud store instructions that, when executed by the one or more processing units of the fourth wireless earbud, cause the one or more processing units of the fourth wireless earbud to perform operations comprising receiving the copy of the first audio data transmitted from the first wireless earbud to the third wireless earbud via the fourth communication channel; or
[0024] the one or more memory units of the third wireless earbud store instructions that, when executed by the one or more processing units of the third wireless earbud, cause the one or more processing units of the third wireless earbud to perform operations comprising transmitting, to the fourth wireless earbud via the second communication channel, a copy of the first audio data.
[0025] Another aspect of the present disclosure provides a method of sharing audio data between a first pair of wireless earbuds comprising a first wireless earbud and a second wireless earbud, and a second pair of wireless earbuds comprising a third wireless earbud and a fourth wireless earbud, the method comprising:
[0026] establishing, by the first wireless earbud, a first communication channel with a source device;
[0027] receiving, by the first wireless earbud from the source device via the first communication channel, first audio data;
[0028] receiving, by the first wireless earbud and from the second wireless earbud via a second communication channel, a first message indicating that the second wireless earbud received the first audio data;
[0029] receiving, by the first wireless earbud and from the second wireless earbud via a second communication channel, a first message indicating that the second wireless earbud received the first audio data;
[0030] receiving, by the first wireless earbud and from the second wireless earbud via a second communication channel, a first message indicating that the second wireless earbud received the first audio data;
[0031] receiving, by the first wireless earbud and from the second wireless earbud via a second communication channel, a first message indicating that the second wireless earbud received the first audio data;
[0032] receiving, by the first wireless earbud and from the second wireless earbud via a second communication channel, a first message indicating that the second wireless earbud received the first audio data;
[0033] wherein the method comprises:
[0034] receiving, by the fourth wireless earbud, the copy of the first audio data transmitted by the first wireless earbud to the third wireless earbud via the fourth communication channel; or
[0035] transmitting, by the third wireless earbud to the fourth wireless earbud via the second communication channel, a copy of the first audio data.
[0036] In various examples, audio received from a source device is shared from a first wireless earbud to one or more other wireless earbuds. For example, a source device sets up by a first wireless earbud with one or more other wireless earbuds to facilitate synchronization and passive reception of data transmitted by the source device. Once the wireless earbuds are synchronized, they can contact each other in a coordinated manner to share packets missed while passively listening to the source device.
[0037] The details of one or more implementations of the present disclosure are set forth in the accompanying drawings and the description below. Other aspects, features, and advantages will be apparent from the description and drawings, and from the claims. BRIEF DESCRIPTION OF DRAWINGS
[0038] A detailed description will now be made with reference to the drawings. In these drawings, the left-most digit / numeral of a reference code identifies the figure in which the reference code first appears. The use of the same reference codes in different figures indicates similar or identical items. The systems depicted in the figures are not drawn to scale and the components in the figures can also not be drawn to scale with respect to each other.
[0039] Figure 1A first user wearing a first pair of wireless earbuds and a second user wearing a second pair of wireless earbuds are shown. In this example, one earbud in the first pair communicates with the source device, the other earbud in the first pair and one wireless earbud in the second pair, and can also communicate with the other earbud in the second pair.
[0040] Figure 2 An example wireless earbud and functional block diagram of communication channels between and within wireless earbuds and between one of the wireless earbuds and a source device are shown.
[0041] Figure 3 A first example signal diagram for sharing audio data from a first pair of wireless earbuds to a second pair of wireless earbuds is shown. In some cases, one or both earbuds in the second pair can not receive some audio packets when sniffing transmissions from the source device. In that case, the process outlined in Figure 4A and Figure 4B or the process outlined in Figure 5A and Figure 5B the first earbud from the first pair can provide the missing packets.
[0042] Figures 4A-4D An example signal diagram of a process for a first wireless earbud to contact a second wireless earbud and a second pair of wireless earbuds using different communication channels is shown. Once the first wireless earbud is informed of any missing packets, the first wireless earbud can forward the missing packets to the other earbuds.
[0043] Figures 5A-5C An example signal diagram of another process for a first wireless earbud to contact a second wireless earbud and a second pair of wireless earbuds using the same communication channels is shown. Once the first wireless earbud is informed of any missing packets, the first wireless earbud can forward the missing packets to the other earbuds.
[0044] Figure 6 Figure 7 and Figure 8 Each shows a flowchart of a method for sharing audio data between pairs of earbuds.
[0045] Figure 9 A block diagram of an example architecture of a wireless earpiece including components for some of the techniques described herein is shown. DETAILED DESCRIPTION
[0046] The disclosed subject matter relates to sharing audio streamed from a source device, such as audio streamed from a source device over a wireless communication protocol. For example, a first wireless speaker (e.g., a wireless earbud, a wireless earphone, or a smart speaker) can receive audio data from a source device and forward the audio data to one or more other wireless speakers according to various timing or synchronization methods. Audio sharing can occur in various environments. For example, two or more people can be viewing a display screen of a shared device (e.g., a television in a living room or a mobile device on an airplane) to watch a video. It can be desirable to not use the shared device’s speakers (e.g., to not disturb other people nearby), and each person viewing the shared display screen can be wearing wireless earphones (e.g., wireless earbuds, in-ear, over-ear, on-ear, etc.). In this case, the device (e.g., a “source device”) can stream audio data to a first wireless earbud (e.g., via a classic Bluetooth connection), and the first wireless earbud can forward the audio data to one or more other wireless earbuds (e.g., to another wireless earbud paired with the first wireless earbud and to another pair of wireless earbuds). In another example, two or more people can want to listen to audio (e.g., music, a podcast, an audiobook) from a single source device, and each person can be wearing wireless earbuds (e.g., wireless earbuds, in-ear, over-ear, on-ear, etc.). In this case, the single source device can stream audio data to a first wireless earbud (e.g., via a classic Bluetooth connection), and the first wireless earbud can forward the audio data to one or more other wireless earbuds (e.g., to another wireless earbud paired with the first wireless earbud and to another pair of wireless earbuds). In a further example, several wireless speakers (e.g., two, three, or more speakers) can be arranged throughout an area (e.g., in different rooms of a house). A source device can stream audio data to one of the wireless speakers (e.g., via a classic Bluetooth connection), and the speaker can forward the audio data to one or more of the other speakers.
[0047] Synchronization between devices can be helpful in various ways when exchanging data wirelessly (e.g., via Bluetooth). For example, synchronization can help a receiving device organize received streamed content and can help a device keep track of when it is the device’s turn to receive or transmit information. Further, synchronization can help a device keep track of when to hop frequencies or when to switch from one channel to another channel. One aspect of the disclosure relates to a first wireless speaker (e.g., a coordinator wireless speaker) that wirelessly connects to a source device to share audio content with multiple other wireless speakers (e.g., responder wireless speakers) in a synchronized manner.
[0048] A coordinating wireless speaker can include a wireless earpiece (e.g., earbud, over-ear, on-ear, in-ear, etc.) of a pair of wireless earpieces or other type of wireless speaker (e.g., cube, bar, portable, smart, etc.). Likewise, a responding wireless speaker can include a wireless earpiece (e.g., earbud, over-ear, on-ear, in-ear, etc.) paired with the coordinating wireless speaker to form a pair of wireless earpieces or other wireless speaker. The coordinating wireless speaker can synchronize with the responding wireless speaker in various ways. For example, the coordinating wireless speaker can forward source device information (e.g., address, media channel identifier (CID), clock information, adaptive frequency hopping (AFH) map, link key, etc.) to the responding wireless speaker, and the coordinating wireless speaker and the responding wireless speaker can adjust control parameters to synchronize to the source device. When synchronized, the coordinating wireless speaker can contact the responding wireless speaker in various ways. For example, the coordinating wireless speaker and the responding wireless speaker can switch at a scheduled contact time (e.g., partial time slot, programmed interval, etc.) to communicate with each other. The coordinating wireless speaker and the responding wireless speaker can switch to a different communication channel (e.g., different than the channel between the coordinating wireless speaker and the source device). In addition to increasing the likelihood of the coordinating wireless speaker and the responding wireless speaker connecting, switching at a scheduled contact time can efficiently utilize bandwidth by minimizing the time the speakers can listen or wait on a channel before receiving communications.
[0049] In addition to increasing the likelihood of the coordinating wireless speaker and the responding wireless speaker connecting, switching at a scheduled contact time can efficiently utilize bandwidth by minimizing the time the speakers can listen or wait on a channel before receiving communications.
[0050] In addition to increasing the likelihood of the coordinating wireless speaker and the responding wireless speaker connecting, switching at a scheduled contact time can efficiently utilize bandwidth by minimizing the time the speakers can listen or wait on a channel before receiving communications.
[0051] In addition to increasing the likelihood of the coordinating wireless speaker and the responding wireless speaker connecting, switching at a scheduled contact time can efficiently utilize bandwidth by minimizing the time the speakers can listen or wait on a channel before receiving communications.
[0052] In addition to increasing the likelihood of the coordinating wireless speaker and the responding wireless speaker connecting, switching at a scheduled contact time can efficiently utilize bandwidth by minimizing the time the speakers can listen or wait on a channel before receiving communications.
[0053] According to one aspect of the disclosure, audio data can be shared between multiple sets of wireless earpieces. For example, a coordinating wireless earpiece can synchronize with a paired responding wireless earpiece (e.g., in a first pair of wireless earpieces) and can also synchronize with a second pair of wireless earpieces (e.g., in a second pair of wireless earpieces). The coordinating wireless earpiece can forward source device information to the responding wireless earpiece and the second pair of wireless earpieces. The coordinating wireless earpiece and the responding wireless earpiece can switch to a different communication channel (e.g., different than the channel between the coordinating wireless earpiece and the source device) at a scheduled contact time. In addition to increasing the likelihood of the coordinating wireless earpiece and the responding wireless earpiece connecting, switching at a scheduled contact time can efficiently utilize bandwidth by minimizing the time the speakers can listen or wait on a channel before receiving communications.
[0054] The coordinating wireless earpiece can synchronize with the responding wireless earpiece and the second pair of wireless earpieces in various ways. For example, the coordinating wireless earpiece can forward source device information (e.g., address, media channel identifier (CID), clock information, adaptive frequency hopping (AFH) map, link key, etc.) to the responding wireless earpiece and the second pair of wireless earpieces, and the coordinating wireless earpiece, the responding wireless earpiece, and the second pair of wireless earpieces can adjust control parameters to synchronize to the source device. When synchronized, the coordinating wireless earpiece can contact the responding wireless earpiece and the second pair of wireless earpieces in various ways. For example, the coordinating wireless earpiece, the responding wireless earpiece, and the second pair of wireless earpieces can switch at a scheduled contact time (e.g., partial time slot, programmed interval, etc.) to communicate with each other. The coordinating wireless earpiece, the responding wireless earpiece, and the second pair of wireless earpieces can switch to a different communication channel (e.g., different than the channel between the coordinating wireless earpiece and the source device). In addition to increasing the likelihood of the coordinating wireless earpiece, the responding wireless earpiece, and the second pair of wireless earpieces connecting, switching at a scheduled contact time can efficiently utilize bandwidth by minimizing the time the speakers can listen or wait on a channel before receiving communications.
[0055] One or more responding wireless earbuds in the earbuds synchronize. In this way, the coordinating wireless earbud can use the first communication channel as the primary...
[0056] The wireless earbuds actively receive audio data from the source device, while other responding wireless earbuds passively receive audio data on the first communication channel.
[0057] According to one or more various timing mechanisms, the coordinating wireless earbud can communicate with the paired responder in the first pair of wireless earbuds.
[0058] Wireless earbuds and one or more of the second pair of wireless earbuds contact the responder wireless earbuds to verify the responder wireless earbuds.
[0059] Does the earbud miss any audio data when passively receiving it? The coordinator wireless earbud can then detect any missed audio data.
[0060] According to the wireless earphones provided to the responders.
[0061] refer to Figure 1 , Figure 1 A first user 110 is shown wearing a first wireless earbud 112 (e.g., a wireless earbud) and a second wireless earbud 114 (e.g., a wireless earbud), which may be referred to herein as a first pair of wireless earbuds. Furthermore, Figure 1 A second user 116 is shown wearing a third wireless earbud 118 (e.g., a wireless earbud) and a fourth wireless earbud 120 (e.g., a wireless earbud), which may be referred to herein as a second pair of wireless earbuds. A first wireless earbud 112 is connected to a source device 122 via a first wireless communication channel 124. The first wireless earbud 112 receives link data 126 (e.g., source device information) and audio data 128 (e.g., audio data) through the first wireless communication channel, and can forward this data to other wireless earbuds. In this disclosure, the first wireless earbud 112 may also be referred to as a coordinating wireless earbud or a leading primary wireless earbud; the second wireless earbud 114 may be referred to as a responding wireless earbud or a leading secondary wireless earbud; the third wireless earbud 118 may be referred to as a responding wireless earbud or a following primary wireless earbud; and the fourth wireless earbud 120 may be referred to as a responding wireless earbud or a following secondary wireless earbud.
[0062] In some cases, the first wireless earbud 112 and the second wireless earbud 114 can be physically similar and look similar. For example, in some cases, the first wireless earbud 112 and the second wireless earbud 114 can not be physically distinguishable by the user 110, however in other cases, one earbud can be designed for and designated as a right earbud, while the other earbud can be designed for and designated as a left earbud. In this example, the first wireless earbud 112 is shown as residing in the left ear of the user 110, while the second wireless earbud 114 is shown as residing in the right ear of the user 110. In some cases, the wireless earbuds 112 and 114 can be similar to earbuds that fit within a user’s ear and / or ear canal, while in other cases, the earbuds can reside on top of, on, or around a user’s 110 ear.
[0063] Further, the third wireless earbud 118 and the fourth wireless earbud 120 can be physically similar and look similar. In some cases, the third wireless earbud 118 and the fourth wireless earbud 120 can not be physically distinguishable by the user 116, however in other cases, one earbud can be designed for and designated as a right earbud, while the other earbud can be designed for and designated as a left earbud. In this example, the third wireless earbud 118 is shown as residing in the right ear of the user 116, while the fourth wireless earbud 120 is shown as residing in the left ear of the user 116. In some cases, the wireless earbuds 118 and 120 can be similar to earbuds that fit within a user’s ear and / or ear canal, while in other cases, the earbuds can reside on top of, on, or around a user’s 116 ear. The first pair of earbuds 112 and 114 can be similar to the second pair of earbuds 118 and 120. For example, the first pair of earbuds 112 and 114 can be the same model and version as the second pair of earbuds 118 and 120. Alternatively, the first pair of earbuds 112 and 114 can be a different model or version or brand than the second pair of earbuds 118 and 120, and can be manufactured by a different manufacturer.
[0064] The first wireless earbud 112 can be communicatively coupled to the source device 122 using a first communication channel 124. In some cases, the first communication channel 124 can include Bluetooth (e.g., 802.11), ZigBee (e.g., 802.15.4), Z-Wave, Wi-Fi, or other wireless communication protocol. In some cases, the first communication channel 124 can be a wireless communication channel, while in other cases, the first communication channel 124 can be a wired communication channel. Wave, etc. The first wireless earbud 112 can receive various information from the source device 122 via the first communication channel 124. For example, the first wireless earbud 112 can receive link data 126 (e.g., source device information, such as address, media channel identifier (CID), clock information, adaptive frequency hopping (AFH) mapping, link key, etc.) and audio data 128 from the source device 122 via the first communication channel 124. The audio data 128 may be related to songs or other audio (e.g., corresponding to video content, podcasts, audiobooks, etc.) to be output by the wireless earbuds 112 and 114. The first wireless earbud 112 can output the audio signal represented by the audio data 128 through the speaker of the first wireless earbud 112.
[0065] The first wireless earbud 112 can be communicatively coupled to the second wireless earbud 114 using the second communication channel 130 and the third communication channel 132. The second communication channel 130 and the third communication channel 132 may include Bluetooth Low Energy (BLE), ANT, Thread, Bluetooth, Wi-Fi, etc. Fi, etc. The first wireless earbud 112 can transmit link data 134 (e.g., a copy of link data 126) and audio data 136 (e.g., a copy of at least a portion of audio data 128) to the second wireless earbud 114 via the second communication channel 130. The second wireless earbud 114 can output an audio signal representing the audio data 136 through its speaker. In one example, after receiving the link data 134 and synchronizing (e.g., synchronizing Bluetooth settings), the second wireless earbud 114 can passively receive the audio data 128 transmitted on the first communication channel 124. Furthermore, the first wireless earbud 112 can contact the second wireless earbud 114 to determine if any audio packets have been missed, and if so, provide the missed audio packets (e.g., audio data 136 may be a copy of at least a portion of audio data 128).
[0066] Wireless earbuds 112 and 114 can be synchronized together (e.g., based on alignment settings using link data 126 and link data 134) so that the sound output at each wireless earbud sounds identical to the user 110. Furthermore, by synchronizing together, the first wireless earbud 112 and the second wireless earbud 114 increase the possibility that both earbuds 112 and 114 can be used to communicate simultaneously on the second communication channel 130. In a further aspect, control data 138 and 140 (e.g., volume up, volume down, pause, play, stop, skip forward, skip backward, etc.) can be exchanged between the first wireless earbud 112 and the second wireless earbud 114 via the third communication channel 132.
[0067] In some cases, since the first wireless earbud 112 and the second wireless earbud 114 may be indistinguishable, the user 110 can perform an out-of-the-box experience (OOBE) using wireless earbuds 112 and 114 to associate the source device 122 with the wireless earbuds 112 and 114. OOBE can also configure one of the wireless earbuds 112 and 114 as the first wireless earbud 112 and the other as the second wireless earbud 114. In some cases, the first wireless earbud 112 may be considered the primary wireless earbud or the coordinating wireless earbud because it receives audio data 128 and link data 126 from the source device 122, while the second wireless earbud 114 may be considered the secondary wireless earbud or the responding wireless earbud. The designation and role of the "coordinating party" can change in various situations. For example, if the signal between the second wireless earbud 114 and the source device 122 is stronger than the signal between the first wireless earbud 112 and the source device 122, the second wireless earbud 114 can be used as the coordinating wireless speaker. If the first wireless earbud has already been designated as the coordinating party and the second wireless earbud 114 is better suited for a certain situation (e.g., a stronger signal), a switching protocol can be implemented to temporarily stop the data stream during the role switch.
[0068] Furthermore, the third wireless earbud 118 can be communicatively coupled to the fourth wireless earbud 120 using the fourth communication channel 142 and the fifth communication channel 144. The fourth communication channel 142 and the fifth communication channel 144 may include Bluetooth Low Energy (BLE), ANT, Thread, Bluetooth, Wi-Fi, etc. Fi, etc. The third wireless earbud 118 can transmit link data 146 and audio data 148 to the fourth wireless earbud 120 via the fourth communication channel 142. The fourth wireless earbud 120 can output an audio signal representing the audio data 148 through its speaker. Wireless earbuds 118 and 120 can be synchronized together (e.g., based on an alignment setting using link data 146) so that the sound output at each wireless earbud sounds the same to user 116. In addition, control data 150 and 152 (e.g., volume up, volume down, pause, play, stop, skip forward, skip backward, etc.) can be exchanged between the third wireless earbud 118 and the fourth wireless earbud 120 via the seventh communication channel 156.
[0069] The third wireless earbud 118 and the fourth wireless earbud 120 can also be configured such that the third wireless earbud 118 is the master or coordinator earbud in the second pair of wireless earbuds. For example, if the second pair of wireless earbuds is to connect to a source device (e.g., independent of the first pair of wireless earbuds 112 and 114), the third wireless earbud 118 can be the master or coordinator earbud for receiving data from the source device and forwarding the data to the fourth wireless earbud. Further, in some examples, the third wireless earbud (as the master wireless earbud in the second pair) can receive data from the first wireless earbud 112 and forward the data to the fourth wireless earbud 120.
[0070] As indicated above, Figure 1 The first pair of wireless earbuds 112 and 114 are depicted as being communicable over communication channels 130 and 132, and the second pair of earbuds 118 and 120 are depicted as being communicable over communication channels 142 and 144. In another aspect, the first wireless earbud 112 can also be communicatively coupled to the third wireless earbud 118 using a sixth communication channel 154. The sixth communication channel 154 can include Bluetooth Low Energy (BLE), ANT, Thread, Bluetooth, Wi-Fi, ZigBee®, Z-Wave®, and / or the like. The first wireless earbud 112 can transmit link data 156 (e.g., a copy of the link data 126) and audio data 158 (e.g., a copy of at least a portion of the audio data 128) to the third wireless earbud 118 via the sixth communication channel 154. In one example, upon receiving the link data 156 and a synchronization (e.g., a synchronized Bluetooth setup), the third wireless earbud 118 can passively receive the audio data 128 transmitted over the first communication channel 124. Further, the first wireless earbud 112 can contact the third wireless earbud 118 to determine whether any audio packets were missed, and if so, provide the missed audio packets (e.g., the audio data 158 can be a copy of at least a portion of the audio data 128). The third wireless earbud 118 can output an audio signal representative of the audio data 158 through a speaker of the third wireless earbud 118, and the wireless earbuds 112 and 118 can be synchronized together (e.g., based on an alignment setup using the link data 126 and 156) such that the sound output at each wireless earbud is similarly presented.
[0071] Sharing with the fourth wireless earbud 120 can be performed in various ways. For example, in an aspect, the third wireless earbud 118, as the coordinating wireless earbud in the second pair of wireless earbuds 118 and 120, can forward the link data to the fourth wireless earbud 120, which can use the link data to synchronize to the source device 122. In this way, the fourth wireless earbud 120 can also passively receive the audio data 128 transmitted on the communication channel 124. Further, the third wireless earbud 118 can contact the fourth wireless earbud 120 to determine if any audio packets were missed, and if so, provide the missed audio packets.
[0072] In an alternative aspect, the first wireless earbud 112 can also communicatively couple to the fourth wireless earbud 120 using a seventh communication channel 160, which can include Bluetooth Low Energy (BLE), ANT, Thread, Bluetooth, Wi-Fi, ZigBee®, Z-Wave®, and / or the like. The first wireless earbud 112 can transmit link data 162 (e.g., a copy of the link data 126) and audio data 164 (e.g., a copy of at least a portion of the audio data 128) to the fourth wireless earbud 120 via the seventh communication channel 160. In one example, after receiving the link data 124 and synchronizing (e.g., synchronizing Bluetooth settings), the fourth wireless earbud 120 can passively receive the audio data 128 transmitted on the first communication channel 124. Further, the first wireless earbud 112 can contact the fourth wireless earbud 120 to determine if any audio packets were missed, and if so, provide the missed audio packets (e.g., the audio data 164 can be a copy of at least a portion of the audio data 128). The fourth wireless earbud 120 can output, through a speaker of the fourth wireless earbud 120, an audio signal representative of the audio data 164, and the wireless earbuds 112 and 120 can be synchronized together such that the sound output at each wireless earbud is similarly presented.
[0073] In some aspects of the disclosure, each of the communication channels 124, 130, 132, 142, 144, 154, and 160 can be independent communication channels or piconets. For example, the second communication channel 130, the sixth communication channel 154, and the seventh communication channel 160 can all be independent communication channels. In other aspects, one or more of the communication channels can be the same communication channel or piconet used to exchange data between different pairs of wireless speakers at different times. For example, the second communication channel 130, the sixth communication channel 154, and the seventh communication channel 160, or any combination thereof, can be the same communication channel or piconet used to exchange data between different pairs of wireless speakers at different times.
[0074] In some aspects of the disclosure, each of the communication channels 124, 130, 132, 142, 144, 154, and 160 can be independent communication channels or piconets. For example, the second communication channel 130, the sixth communication channel 154, and the seventh communication channel 160 can all be independent communication channels. In other aspects, one or more of the communication channels can be the same communication channel or piconet used to exchange data between different pairs of wireless speakers at different times. For example, the second communication channel 130, the sixth communication channel 154, and the seventh communication channel 160, or any combination thereof, can be the same communication channel or piconet used to exchange data between different pairs of wireless speakers at different times.
[0075] In some aspects of the disclosure, each of the communication channels 124, 130, 132, 142, 144, 154, and 160 can be independent communication channels or piconets. For example, the second communication channel 130, the sixth communication channel 154, and the seventh communication channel 160 can all be independent communication channels. In other aspects, one or more of the communication channels can be the same communication channel or piconet used to exchange data between different pairs of wireless speakers at different times. For example, the second communication channel 130, the sixth communication channel 154, and the seventh communication channel 160, or any combination thereof, can be the same communication channel or piconet used to exchange data between different pairs of wireless speakers at different times.
[0076] In some aspects of the disclosure, each of the communication channels 124, 130, 132, 142, 144, 154, and 160 can be independent communication channels or piconets. For example, the second communication channel 130, the sixth communication channel 154, and the seventh communication channel 160 can all be independent communication channels. In other aspects, one or more of the communication channels can be the same communication channel or piconet used to exchange data between different pairs of wireless speakers at different times. For example, the second communication channel 130, the sixth communication channel 154, and the seventh communication channel 160, or any combination thereof, can be the same communication channel or piconet used to exchange data between different pairs of wireless speakers at different times.
[0077] The same communication channels are used to exchange data between the first wireless earbud 112 and the other wireless earbuds 114, 118, and 120. Moreover, the
[0078] One or more of the communication channels are omitted. For example, the seventh communication channel 160 can be omitted, in which case the third wireless earbud 118 can relay data between the first wireless earbuds via the sixth communication channel 154 and the fourth communication channel 142.
[0079] Reference is made to Figure 2 , Figure 2 selected functional components of the source device 122, the first wireless earbud 112, the second wireless earbud 114, the third wireless earbud 118, and the fourth wireless earbud 120. Moreover,
[0080] Reference is made to Figure 2 selected functional components of the source device 122, the first wireless earbud 112, the second wireless earbud 114, the third wireless earbud 118, and the fourth wireless earbud 120. Moreover,
[0081] Reference is made to
[0082] Reference is made to
[0083] Reference is made to
[0084] Reference is made to
[0085] As shown, the source device 122 includes a processor 200, a wireless network interface 202 (e.g., a classic Bluetooth interface or a Bluetooth Basic Rate / Enhanced Data Rate (BR / EDR)), and a memory 204 that stores link data 206 (e.g., the link data 126 or a copy thereof) and audio data 208 (e.g., the audio data 128 or a copy thereof). The wireless interface 202 can be used to transmit the link data 206 and the audio data 208 to the wireless earbuds. In the absence of the subject matter described in this disclosure, the wireless interface 202 can be limited to transmitting the audio data 208 to a single wireless speaker at a time, and aspects of this disclosure share the audio data 208 received from the source device 122 across multiple wireless speakers. For example, not only can the audio data be shared between the first wireless earbud 112 and the second wireless earbud 114, but the audio data can also be shared with the third wireless earbud 118 and the fourth wireless earbud 120.
[0086] The first wireless earbud 112 can include a processor 210, a memory 212, a speaker 214, and a wireless interface 216 (e.g., a Bluetooth interface), among other things. As shown, the first wireless earbud 112 includes a memory 212 that stores or otherwise has access to various data, such as link data 218 and channel switching settings 220. In some cases, the link data 218 can include information that can be used by the wireless interface 216 to communicate via one or more of the communication channels 124, 130, 154, and 160. For example, the link data 218 can include source device information or link data 126 or 206 transmitted from the source device 122 (e.g., source device information such as an address, a media channel identifier (CID), clock information, an adaptive frequency hopping (AFH) map, a link key, etc.). The link data 218 can also include link information related to the settings of other communication channels used by the first wireless speaker, such as the settings of the second communication channel 130, the sixth communication channel 154, and the seventh communication channel 160. The first wireless earbud 112 can also include other interfaces (not shown), such as a Bluetooth Low Energy (BLE) interface, an NFMI interface, a Wi-Fi interface, etc.
[0087] The channel switch setting 220 can include a timing, scheme, or interval that the first wireless earbud 112 uses to switch from one communication channel to a different communication channel. For example, the first wireless earbud 112 can use the channel switch setting 220 to determine when to switch from the first communication channel 124 with the source device 122 to a different communication channel 130, 154, or 160 with one of the wireless earbuds 114, 118, or 120. One example of the channel switch setting 220 is a periodic programmed interval of every n time slots, where n can be configured (e.g., every 36 time slots). As used in this disclosure, a “time slot” includes a discrete duration (e.g., 625 microseconds), and a “programmed interval” includes a set of one or more discrete durations having a quantity of discrete durations. The quantity can be specified, programmed, controlled, etc. using the channel switch setting. Under this type of example channel switch setting 220, the first wireless earbud 112 can switch from the first communication channel 124 to another one of the communication channels 130, 142, or 144 at the beginning of each interval or when the previous interval has elapsed. The periodic programmed interval can be timed independently of source device transmissions, such that each interval of n time slots is counted or begins regardless of what transmission the source device is currently transmitting. In other cases, the periodic programmed interval can be based on when the source device begins transmitting data (e.g., n time slots after the source device begins transmitting audio data). Another example channel switch setting 220 includes a partial time slot channel switch, in which case the first wireless earbud can listen on the first communication channel 124 at the beginning of a time slot and can switch to a different communication channel in the middle of the time slot (e.g., half time slot) once no packets are received from the source device 122.
[0088] In one aspect, the first wireless earbud 112 can forward the link data 218 (e.g., a copy of the link data 206) and the channel switch setting 220 to one or more of the other wireless earbuds 114, 118, and 120 to facilitate synchronization. For example, the first wireless earbud 112 and the second wireless earbud 114 can establish various different connections that are typically available between a pair of wireless earbuds based on OOBE, upon removal from a charging case, upon power up, etc. Accordingly, upon receiving the link data 218 and / or the channel switch setting 220, the first wireless earbud 112 can forward them to the second wireless earbud 114.
[0089] Further, the first wireless earbud 112 and the third wireless earbud 118 can establish a wireless connection 154 (e.g., a Bluetooth classic connection) that is generated by various triggers such as the first wireless earbud 112 and the third wireless earbud 118 being within a threshold distance of each other (e.g., based on receiver signal strength indicator (RSSI)) or some control action performed on both wireless earbuds 112 and 118. The wireless connection 154 can include a Bluetooth connection using a host connection based on the fixed logic link control and adaptation protocol (L2CAP) and encrypt the link using an encryption key generated from a "Just works" pairing. The first wireless earbud 112 can forward the link data 218 over the encrypted channel 154.
[0090] The first wireless earbud 112 can forward the link data 218 and the channel switch settings 220 to the fourth wireless earbud 120 over the encrypted channel 160 (e.g., similar to the example described above through the third wireless earbud 118). In another aspect, after the third wireless earbud 118 receives the link data 218 and the channel switch settings 220 from the first wireless earbud 112, the third wireless earbud 118 can forward them to the fourth wireless earbud 120 over the fourth communication channel 142.
[0091] The second wireless earbud 114 can include similar components to the first wireless earbud 112 such as a processor 222, a memory 224, a speaker 226, and a wireless interface 228. Further, the second wireless earbud 114 can store link data 230 and channel switch settings 232 in the memory 224 that are received from the first wireless earbud 112. The second wireless earbud 114 can use the link data 230 to passively receive (e.g., "sniff" or "listen") data over the first communication channel 124, the sixth communication channel 154, and the seventh communication channel 160. Further, the link data 230 can be used to synchronize the first wireless earbud 112 and the second wireless earbud 114 so that audio data transmitted from the source device 122 is presented in a consistent manner across the devices using the speakers 214 and 226. Further, the second wireless earbud 114 can use the channel switch settings 232 (e.g., a programmed interval setting or partial time slot mechanism) in order to switch from listening over the first communication channel 124 to receiving data from the first wireless earbud 112 over the second communication channel 130.
[0092] The third wireless earbud 118 can also include components similar to the first wireless earbud 112, such as a processor 234, a memory 236, a speaker 238, and a wireless interface 240. In addition, the third wireless earbud 118 can store link data 242 and channel switch settings 244 received from the first wireless earbud 112 in the memory 236. The third wireless earbud 118 can use the link data 230 to passively receive (e.g., "sniff" or "listen") data on the first communication channel 124, the second communication channel 130, and the seventh communication channel 160. In addition, the link data 230 can be used to synchronize the first wireless earbud 112 and the third wireless earbud 118 so that audio data transmitted from the source device 122 is presented in a consistent manner across devices using the speakers 214 and 238. In addition, the third wireless earbud 118 can use the channel switch settings 244 in order to switch from listening on the first communication channel 124 to receiving data from the first wireless earbud 112 on the sixth communication channel 154 or from the third wireless earbud 118 on the fourth communication channel 142.
[0093] 154 from the first wireless earbud 112.
[0094] The fourth wireless earbud 120 can also include components similar to the first wireless earbud 112, such as a processor 246, a memory 248, a speaker 250, and a wireless interface 252. In addition, the fourth wireless earbud 120 can store link data 254 and channel switch settings 256 received from the first wireless earbud 112 or the third wireless earbud 118 in the memory 248. The fourth wireless earbud 120 can use the link data 254 to passively receive data via the first communication channel 124, the second communication channel 130, and the sixth communication channel 154. In addition, the link data 254 can be used to synchronize the fourth wireless earbud 120 with the first wireless earbud 112 and / or the third wireless earbud 118 so that audio data transmitted from the source device 122 is presented in a consistent manner across devices using the speakers 214, 238, and 250. In addition, the fourth wireless earbud 120 can use the channel switch settings 256 in order to switch from listening on the first communication channel 124 to receiving data from the first wireless earbud 112 on the seventh communication channel 160 or from the third wireless earbud 118 on the fourth communication channel 142.
[0095] As used herein, a processor, such as the processors 200, 210, 222, 234, and 246, can include a single processor or a plurality of processors that cooperate to achieve a common goal. For example, a processor can include multiple processors that operate in parallel to increase processing power.
[0096] and / or processors with multiple cores. Moreover, a processor can include one or more different types of cores. For example, a processor can include application processor units, graphics processing units, etc. In one implementation, a processor can include a microcontroller and / or microprocessor. A processor can include a graphics processing unit (GPU), a microprocessor, a digital signal processor, or other processing units or components known in the art. Alternatively, or additionally, the functionality described herein can be performed, at least in part, by one or more hardware logic components. For example, and without limitation, illustrative types of hardware logic components that can be used include Field-programmable Gate Arrays (FPGAs), Program-specific Integrated Circuits (ASICs), Program-specific Standard Products (ASSPs), System-on-a-chip systems (SOCs), Complex Programmable Logic Devices (CPLDs), etc. Additionally, each of the processors can have its own local memory that can also store program components, program data, and / or one or more operating systems.
[0097] A number of other hardware logic components can be used. For example, but not limited to: illustrative types of hardware logic components that can be used include Field-programmable Gate Arrays (FPGAs), Program-specific Integrated Circuits (ASICs), Program-specific Standard Products (ASSPs), System-on-a-chip systems (SOCs), Complex Programmable Logic Devices (CPLDs), etc. Additionally, each of the processors can have its own local memory that can also store program components, program data, and / or one or more operating systems.
[0098] A number of other hardware logic components can be used. For example, but not limited to: illustrative types of hardware logic components that can be used include Field-programmable Gate Arrays (FPGAs), Program-specific Integrated Circuits (ASICs), Program-specific Standard Products (ASSPs), System-on-a-chip systems (SOCs), Complex Programmable Logic Devices (CPLDs), etc. Additionally, each of the processors can have its own local memory that can also store program components, program data, and / or one or more operating systems.
[0099] Memory 204, 212, 22, 236, and 248 can include volatile memory and non-volatile memory that is implemented in any method or technology for storage of information such as computer-readable instructions, data structures, or other data. Memory can include, without limitation, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disks (DVD) or other optical disk storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, RAID storage systems, or any other medium which can be used to store the desired information and which can be accessed by a computing device.
[0100] Memory 204, 212, 22, 236, and 248 can include volatile memory and non-volatile memory that is implemented in any method or technology for storage of information such as computer-readable instructions, data structures, or other data. Memory can include, without limitation, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disks (DVD) or other optical disk storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, RAID storage systems, or any other medium which can be used to store the desired information and which can be accessed by a computing device.
[0101] Memory can be implemented as a computer-readable storage medium (“CRSM”) that can be accessed by a processing device to execute instructions stored on the CRSM. In a basic implementation, the CRSM can include RAM and flash memory. In other implementations, the CRSM can include, without limitation, ROM, electrically erasable programmable read-only memory (EEPROM), or any other tangible medium that can be used to store the desired information and that can be accessed by a processing device.
[0102] Memory can be implemented as a computer-readable storage medium (“CRSM”) that can be accessed by a processing device to execute instructions stored on the CRSM. In a basic implementation, the CRSM can include RAM and flash memory. In other implementations, the CRSM can include, without limitation, ROM, electrically erasable programmable read-only memory (EEPROM), or any other tangible medium that can be used to store the desired information and that can be accessed by a processing device.
[0103] Memory can be implemented as a computer-readable storage medium (“CRSM”) that can be accessed by a processing device to execute instructions stored on the CRSM. In a basic implementation, the CRSM can include RAM and flash memory. In other implementations, the CRSM can include, without limitation, ROM, electrically erasable programmable read-only memory (EEPROM), or any other tangible medium that can be used to store the desired information and that can be accessed by a processing device.
[0104] Memory can be implemented as a computer-readable storage medium (“CRSM”) that can be accessed by a processing device to execute instructions stored on the CRSM. In a basic implementation, the CRSM can include RAM and flash memory. In other implementations, the CRSM can include, without limitation, ROM, electrically erasable programmable read-only memory (EEPROM), or any other tangible medium that can be used to store the desired information and that can be accessed by a processing device.
[0105] Memory can be implemented as a computer-readable storage medium (“CRSM”) that can be accessed by a processing device to execute instructions stored on the CRSM. In a basic implementation, the CRSM can include RAM and flash memory. In other implementations, the CRSM can include, without limitation, ROM, electrically erasable programmable read-only memory (EEPROM), or any other tangible medium that can be used to store the desired information and that can be accessed by a processing device.
[0106] Figure 3 , Figure 4A , Figure 4B , Figure 5A , Figure 5B , Figure 5C and Figures 6-8 Various processes related to sharing audio provided by source device 122 (e.g., a wireless communication channel such as Bluetooth) are illustrated. The processes described herein are shown in the logic flowchart.
[0107] The logic flowchart, represented by a set of boxes, depicts a series of operations, some or all of which may be hardware, software, or other methods.
[0108] This is achieved through their combination. In a software context, a box can represent a computation stored on one or more computer-readable media.
[0109] Computer-executable instructions, which, when executed by one or more processors, program the processor to perform...
[0110] The operations described above. Typically, computer-executable instructions include routines, programs, and objects that perform functions or implement specific data types.
[0111] Images, components, data structures, etc. Unless otherwise specified, the order of description boxes should not be construed as a restriction. Any order is acceptable.
[0112] This process or alternative processes can be implemented by combining any number of the described boxes in parallel, and not all boxes need to be...
[0113] To be executed. For the purposes of discussion, refer to the environments, architectures, and systems described in the examples in this article (such as relative to...). Figure 1
[0114] and Figure 2 These processes are described using the environment, architecture, and system described, although these processes can occur in a wide variety of other environments.
[0115] Implementation in the architecture and system. Furthermore, although... Figure 3 , Figure 4A , Figure 4B , Figure 5A , Figure 5B and Figure 5C A wireless earbud according to one aspect of this disclosure is shown, but in other aspects, exemplary processes 300, 400 and 500 may be performed by other types of wireless speakers (e.g., smart speakers).
[0116] refer to Figure 3 , Figure 3 A signal diagram of an exemplary process 300 for sharing audio provided by source device 122 is shown.Figure 3 A first pair of wireless earbuds including the first wireless earbud 112 and the second wireless earbud 114 is also depicted, as well as a second pair of wireless earbuds including the third wireless earbud 118 and the fourth wireless earbud 120.
[0117] According to this process, a signal S302 (e.g., link data 126) is transmitted from the source device 122 to the first wireless earbud 112 (e.g., via the first communication channel 124), and the first wireless earbud 112 receives the link data at 304 and synchronizes settings at 306 (e.g., uses the link data 218 to configure the channel switching settings 220). The first wireless earbud 112 transmits a signal S308 to the second wireless earbud 114 and a signal S310 to the third wireless earbud 118. Each of the second wireless earbud 114 and the third wireless earbud 118 can synchronize settings with the first wireless earbud 112 and the source device 122 at 312 and 314, respectively. Among other things, the synchronization can enable the first wireless earbud 112 to communicate with the second wireless earbud 114 on the second communication channel 130 and the third communication channel 132 and can enable the first wireless earbud 112 to communicate with the third wireless earbud 118 via the sixth communication channel 154. Further, the third wireless earbud 118 can transmit a signal S316 to the fourth wireless earbud 120 (e.g., via the fourth communication channel 142), and the fourth wireless device 120 can also synchronize settings with the first wireless earbud 112, the third wireless earbud 118, and the source device 122 at 318. Although Figure 3 While the third wireless earbud 118 is depicted as transmitting the settings to the fourth wireless earbud 120, in another aspect, the first wireless earbud 112 can transmit the settings to the fourth wireless earbud 120. The synchronization can enable the fourth wireless earbud 120 to communicate with the first wireless earbud 112 via the seventh communication channel 160 and with the third wireless earbud 118 via the fourth communication channel 142 and the fifth communication channel 144.
[0118] The process 300 also includes transmitting a signal S320 including audio data from the source device 122 to the first wireless earbud 112, and the first wireless earbud 112 receives the audio data at 322 (and can transmit an acknowledgment of the receipt back to the source device 122). In an aspect of the disclosure, the second wireless earbud 114, the third wireless earbud 118, and the fourth wireless earbud 120 can attempt to passively receive the signal S320 including the audio data. This passive reception or passive channel use is shown with dashed lines as opposed to the solid lines depicting the channels between the first wireless earbud 112 and the source device 122.
[0119] In some cases, the second wireless earbud 114, the third wireless earbud 118, and the fourth wireless earbud 120 can each receive the audio data transmission from the source device to the first wireless earbud 112. In other cases, the second wireless earbud 114, the third wireless earbud 118, and / or the fourth wireless earbud 120 can not be able to receive at least some of the audio data in the source device 122 transmissions. For example, in the process 300, the second wireless earbud 114 and the fourth wireless earbud 120 passively receive the audio data in the signal S320, while the third wireless earbud 118 misses at least some of the audio data in the signal S320 at 324. In another step, the signal S326 is transmitted by the source device 122 and received by the first wireless earbud 112 at 328. The second wireless earbud 114 and the third wireless earbud 118 passively receive the audio data in the signal S326, while the fourth wireless earbud 120 misses at least some of the audio data in the signal S326 at 330. In yet another step, the signal S332 is transmitted by the source device 122 and received by the first wireless earbud 112 at 334 and passively received by the second wireless earbud 114. However, the third wireless earbud 118 misses at least some of the audio data in the signal S332 at 336, and the fourth wireless earbud 120 misses at least some of the audio data in the signal S332 at 338.
[0120] In the process 300, the first wireless earbud 112 receives the audio data at 322, 328, and 334. In one aspect of the disclosure, the first wireless earbud 112 (e.g., the coordinator) can contact the other wireless earbuds to provide any missed packets, and various contact options are possible depending on the channel switching settings (e.g., 220, 232, 244, and 256). In some cases, the contact can be less dependent on whether audio data is received from the source device 122 or asynchronous therewith and can occur at programmed intervals (e.g., every n time slots T_poll). Examples of processes implementing programmed intervals are shown in Figure 4A , Figure 4B and Figure 4C . In other cases, the contact can be based at least in part on whether audio data is received from the source device 122 and can occur using partial time slot timing (e.g., half time slots). Examples of processes implementing partial time slot timing are shown in Figure 5A , Figure 5B and Figure 5C . Further, these approaches can be combined, and in some cases, the contact can occur using partial time slot timing while in other cases, programmed intervals.
[0121] Referring to Figure 4A , Figure 4AA signal diagram illustrating an exemplary process 400 for sharing audio provided by a source device 122 (e.g., a source device providing audio via Bluetooth) is shown. In particular, the process 400 includes elements related to the first wireless earbud 112 contacting the second wireless earbud 114, and the first wireless earbud 112 also contacting the second pair of wireless earbuds 118 and 120, such as after or as a continuation of the process 300 being performed. Further, the process includes a combination of timing and synchronization mechanisms to efficiently use bandwidth.
[0122] The process 400 includes, at 402, the first wireless earbud 112 waiting to receive data over the first communication channel 124 (e.g., the source device 122 transmitting audio data via the first communication channel). For example, the first wireless earbud 112 can adjust settings (or preserve settings if already set) to tune to a scheduled channel or frequency consistent with link data received from the source device 122 and prepare to receive any data (e.g., audio data) transmitted from the source device 122 on the first communication channel 124. In parallel, at 404, 406, and 408, the second wireless earbud 114, the third wireless earbud 118, and the fourth wireless earbud 120 are all set to passively receive (e.g., by listening or sniffing) data transmitted from the source device 122 on the first communication channel 124. In one example, the first wireless earbud 112, the second wireless earbud 114, the third wireless earbud 118, and the fourth wireless earbud 120 wait to receive data at the beginning of a time slot (e.g., the next Rx time slot after receiving the signal S320).
[0123] At 410, the first wireless earbud 112 pauses the waiting to receive on the first communication channel 124 and switches to transmitting to the second wireless earbud 114 on another communication channel (e.g., the second communication channel 130) according to channel switch settings (e.g., the channel switch settings 220). In one example, the first wireless earbud 112 pauses the waiting on the first communication channel 124 and switches channels (e.g., a partial time slot transition or a half time slot transition) part way through the duration of the time slot in which the waiting begins. For example, if the time slot is 625 microseconds, the first wireless earbud 112 can wait to receive data on the first communication channel 124 for about 100 microseconds and then switch channels (e.g., to the second communication channel 130) about 312.5 microseconds into the time slot. The channel switch settings can include various types of instructions. For example, in one aspect, the channel switch settings can instruct the first wireless earbud 112 to change the channel settings from receiving on the first communication channel 124 to transmitting on the second communication channel 130 during a first time slot after audio data has been received from the source device 122.
[0124] In synchronization with the first wireless earbud 112, at 412, the second wireless earbud 114 pauses waiting to passively receive data on the first communication channel 124 and switches to receiving from the first wireless earbud 112 on the second communication channel 130 according to the channel switch settings (e.g., channel switch settings 232). Similar to the first wireless earbud 112, the second wireless earbud 114 can pause waiting to passively receive and switch channels midway through the duration of the time slot in which the waiting begins (e.g., partial time slot transition or half time slot transition). The first wireless earbud 112 and the second wireless earbud 114 can synchronize based on the settings synchronized at 306 and 312.
[0125] Using the switched to channel (e.g., the second communication channel 130), the first wireless earbud 112 can transmit a signal S414 to the second wireless earbud 114, including a message representing a status check or status query. One potential advantage of switching channels and sending messages (e.g., S410) in partial time slots (e.g., half of an even time slot) is efficient use of bandwidth. For example, in cases where the responding wireless earbud (e.g., 114) does not miss any packets, the responding wireless earbud can provide a response status update in the next designated Tx time slot (e.g., sometimes an odd time slot), after which the two earbuds can return to listening on the first communication channel 124 in the following Rx time slot (e.g., the next even numbered time slot) without missing any Rx time slots. Further, switching at partial time slots after listening on the first communication channel 124 can help synchronize the channel switch with audio data transmission on the first communication channel 124. That is, if the switch is timed based on when no audio data is received from the source device 122, it is less likely that the wireless earbud will miss a packet at the time of the switch. In other cases, the underlying hardware architecture can provide support for this type of scheme, where the first wireless earbud 112 can use the same switched to communication channel to contact each other wireless earbud.
[0126] Once the first wireless earbud 112 and the second wireless earbud 114 are on the same channel and exchanging data, additional operations can be performed to provide any missed packets to the second wireless earbud 114. For example, the process 400 includes, at 416, the second wireless earbud 114 identifying any missed audio data. For example, the second wireless earbud 114 can identify the sequence number of the last fully received audio data packet (e.g., the last fully received packet received via passive reception on the first communication channel 124). Further, at 416, the second wireless earbud 114 can also compile a bitmap (e.g., up to 64 bits, which represents 64 packets) representing any packets received after the sequence number and packets missed after the sequence number. For example, in the bitmap, a 1 can indicate a received packet and a 0 can represent a missed packet.
[0127] The second wireless earbud 114 transmits signal S418, which is received by the first wireless earbud 112 at 420. Signal S418 may include data indicating whether the second wireless earbud 114 has missed any audio packets, and if so, which ones. For example, in Figure 3 In the provided example, the second wireless earbud 114 does not miss any packets included in signals S320, S326, or S332, and therefore, signal S418 may indicate to the first wireless device 112 that no packets have been missed (e.g., an acknowledgment (ACK) return). Alternatively, if the second wireless earbud 114 has missed any packets, signal S418 may include a sequence number and a bitmap (if any), which the first wireless earbud 112 can use to retrieve the missed audio and forward it to the second wireless earbud 114. Once received by the second wireless earbud 114, the second wireless earbud 114 may transmit an ACK or other message to the first wireless earbud 112, indicating that the second wireless earbud 114 has received the audio packet and triggering the first wireless earbud 112 to switch to another communication channel (e.g., back to the first communication channel 124).
[0128] In one aspect of this disclosure, while the first wireless earbud 112 is communicating with the second wireless earbud 114 (e.g., in the same time slot), the third wireless earbud 118 is using a similar partial time slot mechanism to communicate with the fourth wireless earbud 120. By performing these operations in parallel, multiple earbud pairs can efficiently utilize bandwidth and time and reduce the likelihood of data collisions because these pairs communicate using different communication channels (e.g., different piconet). For example, at 422, the third wireless earbud 114 pauses waiting passively on the first communication channel 124 according to a channel switching setting (e.g., channel switching setting 244) and switches to transmitting to the fourth wireless earbud 120 on another communication channel (e.g., the fourth communication channel 142). In one example, the third wireless earbud 118 pauses waiting on the first communication channel 124 and switches channels midway through the duration of the time slot in which the waiting begins (e.g., partial time slot transition or half-time slot transition). For example, if the time slot is 625 microseconds, the third wireless earbud 118 may wait to receive data on the first communication channel 124 for approximately 100 microseconds, and then switch channels (e.g., switch to the second communication channel 130) for approximately 312.5 microseconds within the time slot. Channel switching settings may include various types of instructions. For example, in one aspect, the channel switching settings may instruct the third wireless earbud 118 to change the channel setting from receiving on the first communication channel 124 to transmitting on the fourth communication channel 142 during a first time slot after it has already received audio data from the source device 122.
[0129] In synchronization with the third wireless earbud 118, at 424, the fourth wireless earbud 120 pauses waiting to passively receive data on the first communication channel 124 and switches to receiving from the third wireless earbud 118 on the fourth communication channel 142 in accordance with the channel switch settings (e.g., channel switch settings 256). Similar to the third wireless earbud 118, the fourth wireless earbud 120 can pause waiting to passively receive and switch channels midway through the duration of the time slot in which the waiting begins (e.g., a partial time slot transition or a half time slot transition). The third wireless earbud 118 and the fourth wireless earbud 120 can synchronize based on the settings synchronized at 314 and 318.
[0130] Using the switched to channel (e.g., the fourth communication channel 142), the third wireless earbud 118 can transmit a signal S426 to the fourth wireless earbud 120, including a message representing a status check or status query. As indicated above, one potential advantage of switching channels and sending messages (e.g., S426) in a partial time slot (e.g., a half time slot of an even time slot) is the efficient use of bandwidth. Further, switching at a partial time slot after listening on the first communication channel 124 can help synchronize the channel switch with audio data transmission on the first communication channel 124 and reduce the likelihood of missed packets when switching away from waiting to passively receive data on the first communication channel 124.
[0131] Once the third wireless earbud 118 and the fourth wireless earbud 120 are on the same channel and exchanging data, additional operations can be performed to provide the fourth wireless earbud 120 with any missed packets that can have been passively received by the third wireless earbud 118. For example, the process 400 includes, at 428, the fourth wireless earbud 120 identifying any missed audio data. For example, the fourth wireless earbud 120 can identify the sequence number of the last fully received audio data packet (e.g., received via passive reception on the first communication channel 124). Further, at 428, the fourth wireless earbud 120 can also compile a bitmap (e.g., up to 64 bits, which represents 64 packets) representing any packets received after the sequence number and packets missed after the sequence number. For example, in the bitmap, a 1 can indicate a received packet and a 0 can represent a missed packet.
[0132] The fourth wireless earbud 120 transmits a signal S430, which the third wireless earbud 112 receives at 432, and which can include data indicating whether the fourth wireless earbud 120 missed any audio packets and, if so, which ones. For example, in the case of a bitmap, the third wireless earbud 118 can receive a signal S430 including a bitmap representing the missed packets. In the case of a sequence number, the third wireless earbud 118 can receive a signal S430 including a sequence number representing the last fully received packet. Figure 3In the example provided, the fourth wireless earbud 120 fails to passively receive at least some of the audio packets in signal S326 at 330, and the fourth wireless earbud 120 fails to passively receive at least some of the audio packets in signal S332 at 338. Thus, signal S430 can include the respective sequence numbers and bitmaps that the third wireless earbud 118 can use at 434 to retrieve (e.g., from a buffer, such as a controller buffer or a circular buffer) the missed audio and forward it to the fourth wireless earbud 120 in signal S436. For example, Figure 3 indicates that the third wireless earbud passively received the audio data in signal S326, and thus, the third wireless earbud 118 can forward a copy of that audio data to the fourth wireless earbud 120 in signal S436. Once received by the fourth wireless earbud 120, the fourth wireless earbud 120 can transmit an ACK or other message to the third wireless earbud 118 indicating that the fourth wireless earbud 120 received the audio packets and triggering the third wireless earbud 118 to switch to another communication channel (e.g., back to the first communication channel 124). If the fourth wireless earbud 120 missed audio data that was also not passively received (or otherwise received) by the third wireless earbud 118 (e.g., in S332 of Figure 3 ), the third wireless earbud 118 can still forward the missed audio data to the fourth wireless earbud 120 upon subsequent contact, such as after the third wireless earbud 118 has received that audio data from the first wireless earbud 112 (e.g., as described in Figure 4B , Figure 4C and Figure 4D ).
[0133] Referring back to Figure 4B , after the first pair of wireless earbuds 112 and 114 have used one piconet (e.g., the second communication channel 130) to contact and the second pair of wireless earbuds 118 and 120 have used another piconet (e.g., the fourth communication channel 142) to contact, the process 400 continues. In Figure 4BIn particular embodiments, the first wireless earbud 112 and the third wireless earbud 118 can switch to a communication channel (e.g., the sixth communication channel 154) to exchange communications. For example, at 438, the first wireless earbud 112 detects the occurrence (e.g., the start or end) of a programming interval, such as a T poll or n-slot interval (e.g., a 36-slot interval), where n is defined in the channel switching settings 220. In parallel with the first wireless earbud 112, the third wireless earbud 118 detects the occurrence (e.g., the start or end) of a programming interval at 440. As indicated previously, the channel switching settings can be synchronized with the first wireless earbud 112, such that the first wireless earbud 112 and the third wireless earbud 118 both detect the same n-slot interval (e.g., the T poll indicating when to switch communication channels). The variable n can vary depending on the desired frequency of contact. For example, the periodic programming interval can be timed independently of source device transmissions, such that each interval of n slots is counted or begins regardless of what transmission the source device 122 is currently sending. In other cases, the periodic programming interval can be based on when the source device 122 begins transmitting data (e.g., n slots after the source device begins transmitting audio data). Further, the first wireless earbud 112 and the third wireless earbud 118 can each include a counter (e.g., a programming interval counter (PIC)) or other module to track the passage of each slot and determine when a new programming interval begins.
[0134] The process 400 includes, at 442, the first wireless earbud 112 switching to a communication channel (e.g., the sixth communication channel 154) that communicatively couples the first wireless earbud 112 with the third wireless earbud 118 at a programming interval (e.g., upon transitioning from a first programming interval to a consecutive second programming interval or as the first programming interval elapses or as the consecutive second programming interval begins). In parallel, at 444, the third wireless earbud 118 switches to the communication channel (e.g., the sixth communication channel 154) that communicatively couples the first wireless earbud 112 with the third wireless earbud 118 at the programming interval. For example, the first wireless earbud 112 and the third wireless earbud 118 can switch from the first communication channel 124 to the sixth communication channel 154 under similar circumstances, regardless of whether audio data is being received from the source device 122. The first wireless earbud 112 can then transmit a signal S446 to the third wireless earbud 118, including a message indicating a status check or status query. At this stage in the process 400, the programming interval is the trigger for switching to the sixth communication channel 154, as opposed to a partial time slot after listening on the first communication channel. In this way, the switch can be independent of transmissions or receptions occurring on the first communication channel 124, or at least more predictably timed (e.g., 20 time slots after a source device transmits an audio packet). Among other things, using a programming interval can provide more predictability as to when the wireless earbuds can switch channels, as the switch is not directly dependent on an irregular switch after waiting to receive or passively receiving. In some cases, this timing can reduce the likelihood of interference. Once the first wireless earbud 112 and the third wireless earbud 118 are on the same channel and exchanging data, additional steps can be performed to forward missed packets.
[0135] In another aspect, similar to the signal exchange described above, at 448, the third wireless earbud 118 identifies any missed audio data, such as by identifying a sequence number of a last fully received audio data packet and compiling a bitmap representing any packets received after the sequence number and packets missed after the sequence number. The identified missed audio data can also include audio data missed by the fourth wireless earbud (as identified in signal S430). For example, as Figure 3 indicated, the third wireless earbud 118 missed at least some of the audio packets in signal S320 and in signal S332, and the fourth wireless earbud also missed at least some of the audio packets in signal S332. The third wireless earbud transmits a signal S450 to the first wireless earbud 112 (e.g., as a status update) indicating any missed audio, and the first wireless earbud 112 receives an indication of any missed audio (e.g., one or more sequence numbers and one or more bitmaps) at 452. After the first wireless earbud 112 receives the signal S450, the process 400 can include, at least, transmitting the missed audio to the third wireless earbud 118 at 454 and transmitting the missed audio to the fourth wireless earbud 116 at 456. Figure 4C and Figure 4Da number of alternative operations are further illustrated.
[0136] Reference is now made to Figure 4C , the process 400 can include a set of alternative operations for sharing audio that can be performed after the first wireless earbud 112 receives the signal S450. That is, in one example, when both the first wireless earbud 112 and the third wireless earbud 118 are still transmitting or receiving via the sixth communication channel 154 (e.g., as indicated in the Figure 4B and related description), at 454, the first wireless earbud 112 compares the sequence number and the bitmap to a buffer (e.g., a controller buffer, a circular buffer, etc.) to retrieve the missing audio data represented by the 0s in the bitmap. The first wireless earbud 112 transmits a signal S456 to the third wireless earbud 118 that includes the missing audio data, and the audio data can be related to the packets that were missed by the third wireless earbud 118. After the third wireless earbud 118 acknowledges receipt of the signal S456, the wireless earbuds 112 and 118 can switch to another channel (e.g., return to waiting on the first communication channel 124 or to contact another wireless earbud).
[0137] In one aspect of the disclosure, the fourth wireless earbud 120 can passively receive the audio data (e.g., signal S456) transmitted from the first wireless earbud 112 to the third wireless earbud 118 using the sixth communication channel 154 (as indicated by the dashed signal line from the signal S456 to the fourth wireless earbud 120). For example, if the first wireless earbud 112 forwards in the signal S456 a copy of the audio data that was already in the signal S332 that was missed by both the third wireless earbud 118 and the fourth wireless earbud 120, the fourth wireless earbud 120 can attempt to sniff the signal S456 to capture the missing audio data. However, in some cases, the fourth wireless earbud 120 can not have the hardware capability to passively receive the audio data (e.g., sniff or listen) on the first communication channel 124 and the sixth communication channel 154 between the first wireless earbud 112 and the third wireless earbud 118. Or the fourth wireless earbud 120 can still not be able to receive all of the packets despite attempting to passively receive the audio data transmitted on the sixth communication channel 154. Accordingly, the process 400 can additionally include the third wireless earbud 118 and the fourth wireless earbud 120 engaging in another partial time slot contact at a later juncture (e.g., after switching to passively receiving on the first communication channel 124) in order to provide another opportunity for the fourth wireless earbud 120 to request and receive the missing packets. For example, the third wireless earbud 118 and the fourth wireless earbud 120 can repeat the steps of the process 400 identified in Figure 4A in the case where the third wireless earbud 118 can transmit a signal S436 to the fourth wireless earbud 120 that includes a copy of the audio data that was already in the signal S332.
[0138] Referring now to Figure 4D , another set of alternative operations are depicted that can be performed as an alternative to the operations in Figure 4C and can facilitate sharing of audio data originating from the source device 122. In Figure 4D , after the first wireless earbud 112 receives the signal S450, the first wireless earbud 112 and the third wireless earbud 118 can change channel settings so as to no longer communicate via the sixth communication channel 154. At 458, the first wireless earbud 112 can change channel settings to exchange communications with the source device 122 on the first communication channel 124. Further, at 460, 462, and 464, each of the second wireless earbud 114, the third wireless earbud 118, and the fourth wireless earbud 120 can change channel settings to passively receive audio data on the first communication channel 124. In the case where each of the wireless earbuds 112, 114, 118, and 120 are set to receive (e.g., directly or passively) audio data on the first communication channel 124, the operations depicted in Figure 4A may be repeated at 466. For example, each earbud can directly or passively receive audio data via the first communication channel 124; the first pair of wireless earbuds 112 and 114 can communicate with each other via the second communication channel 130; and the second pair of wireless earbuds 118 and 120 can communicate with each other via the fourth communication channel 142.
[0139] With continued reference to Figure 4D , the first wireless earbud 112 and the third wireless earbud 118 can switch to a communication channel (e.g., the sixth communication channel 154) to exchange communications. For example, at 468, the first wireless earbud 112 detects the occurrence of a programming interval (e.g., a start or an end), similar to the operations described with respect to 438 in Figure 4B . Similarly, at 470, the third wireless earbud 118
[0140] also detects the programming interval. At 442, the first wireless earbud 112 switches to a communication channel (e.g., the sixth communication channel 154) that communicatively couples the first wireless earbud 112 and the third wireless earbud 118 during the programming interval (e.g., upon transitioning from a first programming interval to a consecutive second programming interval or as the first programming interval elapses or as the consecutive second programming interval begins).
[0141] At 444, the third wireless earbud 118 switches to the communication channel (e.g., the sixth communication channel 154) that communicatively couples the first wireless earbud 112 and the third wireless earbud 118 during the programming interval.
[0142] At 446, the first wireless earbud 112 and the third wireless earbud 118 exchange communications via the communication channel (e.g., the sixth communication channel 154) that communicatively couples the first wireless earbud 112 and the third wireless earbud 118.
[0143] In parallel, at 474, the third wireless earbud 118 switches to a communication channel (e.g., the sixth communication channel 154) that communicatively couples the first wireless earbud 112 and the third wireless earbud
[0144] 118 during the programming interval.
[0145] Using the sixth communication channel 154, the first wireless earbud 112 and the third wireless earbud 118 exchange signals S476 and S478 to verify the communication connection. Recall that the third wireless earbud 118 has provided an indication of missing audio data via the signal S450 received by the first wireless earbud at 452. At 480, the first wireless earbud 112 can compare the sequence number and the bitmap to a buffer (e.g., a controller buffer, a circular buffer, etc.) to retrieve the missing audio data represented by the 0s in the bitmap. The first wireless earbud 112 transmits a signal S482 to the third wireless earbud 118 that includes the missing audio data, and the audio data can be related to the packets missed by the third wireless earbud 118. After the third wireless earbud 118 acknowledges receipt of the signal S456, the wireless earbuds 112 and 118 can switch to another channel (e.g., return to waiting on the first communication channel 124 or contact another wireless earbud). As described with respect to Figure 4C , the fourth wireless earbud 120 can passively receive the audio data in the signal S482 (as indicated by the dashed arrow). In addition, or alternatively, when the two earbuds subsequently contact each other on the fourth communication channel 142, the third wireless earbud 118 can provide the audio data in the signal S482 to the fourth wireless earbud 120, such as by the operations depicted in Figure 4A .
[0146] The method 400 can be extended to more than two pairs of wireless earbuds. For example, discrete communication channels between the first wireless earbud 112 and one earbud in each additional pair can be provided to share the audio data from the source device 122 with the additional earbud pairs, including the synchronization information. In addition, variations of the method 400 are described above, and the hardware architecture and capabilities can consider which operations to perform or alternative solutions. For example, in one solution described above, the fourth wireless earbud 120 sniffs the audio packets transmitted from the first wireless earbud 112 to the third wireless earbud 118, while in an alternative method, the fourth wireless earbud 120 can wait to receive the audio packets at a subsequent contact with the third wireless earbud 118. Among other things, the hardware of the fourth wireless earbud 120 can consider which solution to perform (e.g., depending on whether the fourth wireless earbud 120 can sniff multiple channels in this manner). In addition, Figure 4C represents a set of possible operations, while Figure 4D represents a different set of possible operations. But Figure 4C and Figure 4D both involve transmitting missing audio data from the first wireless earbud 112 to the third wireless earbud 118, and the implementation of each can depend on the capabilities of the underlying hardware.
[0147] Reference is now made to Figure 5A , Figure 5AA signal diagram showing another example process 500 for sharing audio provided by a source device 122 via a wireless communication protocol (e.g., Bluetooth) is shown. In particular, the process 500 includes elements related to the first wireless earbud 112 contacting each of the second wireless earbud 114, the third wireless earbud 118, and the fourth wireless earbud 120, such as after or as a continuation of the process 300 being performed.
[0148] The process 500 can include some initial elements similar to the process 400, such as when the first wireless earbud 112 contacts the second wireless earbud 114. The process 500 differs from the process 400 in the manner in which the first wireless earbud contacts the third wireless earbud 118 and the fourth wireless earbud 120. For example, the process 500 includes, at 502, the first wireless earbud 112 waiting to receive data over the first communication channel 124 (e.g., the source device 122 transmits audio data via the first communication channel). For example, the first wireless earbud 112 can adjust settings (or preserve settings if already set) to tune to a scheduled channel or frequency consistent with link data received from the source device 122 and prepare to receive any data (e.g., audio data) transmitted from the source device 122 on the first communication channel 124. In parallel, at 504, 506, and 508, the second wireless earbud 114, the third wireless earbud 118, and the fourth wireless earbud 120 are all set to passively receive (e.g., by listening or sniffing) data transmitted from the source device 122 on the first communication channel 124. In one example, the first wireless earbud 112, the second wireless earbud 114, the third wireless earbud 118, and the fourth wireless earbud 120 wait to receive data at the start of a time slot (e.g., the next Rx time slot after receiving the signal S320).
[0149] At 510, the first wireless earbud 112 pauses the waiting to receive on the first communication channel 124 and switches to transmitting to the second wireless earbud 114 on another communication channel (e.g., the second communication channel 130) according to channel switching settings (e.g., the channel switching settings 220). In one example, the first wireless earbud 112 pauses the waiting on the first communication channel 124 and switches channels midway through the duration of the time slot in which the waiting begins (e.g., a partial time slot transition or a half time slot transition). For example, if the time slot is 625 microseconds, the first wireless earbud 112 can wait to receive data on the first communication channel 124 for about 100 microseconds and then switch channels (e.g., to the second communication channel 130) about 312.5 microseconds into the time slot.
[0150] In synchronization with the first wireless earbud 112, at 512, the second wireless earbud 114 pauses waiting to passively receive data on the first communication channel 124 and switches to receiving from the first wireless earbud 112 on the second communication channel 130 according to the channel switch settings (e.g., channel switch settings 232). Similar to the first wireless earbud 112, the second wireless earbud 114 can pause waiting to passively receive and switch channels midway through the duration of the time slot in which the waiting begins (e.g., partial time slot transition or half time slot transition). The first wireless earbud 112 and the second wireless earbud 114 can synchronize based on the settings synchronized at 306 and 312. In another aspect, the third wireless earbud 118 and the fourth wireless earbud 120 can also change the channel settings to the second communication channel 130 at 513a and 513b (e.g., based on partial time slot timing), although in some cases, the first wireless earbud 112 can not actually communicate any data directly to the third wireless earbud 118 or the fourth wireless earbud 120, at least not at this point in the process 500. In this sense, there can be less precise timing or synchronization between the first wireless earbud 112 and the other wireless earbuds 114, 118, and 120, such that the other wireless earbuds automatically switch to the second communication channel 130 according to the partial time slot timing / mechanism regardless of whether the first wireless earbud 112 is exchanging communications directly with the earbuds during those time slots.
[0151] Using the switched-to channel (e.g., the second communication channel 130), the first wireless earbud 112 can transmit a signal S514 to the second wireless earbud 114, including a message representing a status check or status query. At 516, the second wireless earbud 114 identifies any missed audio data. For example, the second wireless earbud 114 can identify a sequence number of the last fully received audio data packet (e.g., received via passive reception on the first communication channel 124) and compile a bitmap (e.g., up to 64 bits, which represents 64 packets) representing any packets received after the sequence number and packets missed after the sequence number. The second wireless earbud 114 transmits a signal S518, which the first wireless earbud 112 receives at 520, and the signal S518 can include data indicating whether the second wireless earbud 114 missed any audio packets and, if so, which ones. For example, in the case of a bitmap, the signal S518 can include the bitmap itself, or a representation of the bitmap (e.g., a sequence number of the first missed packet, a sequence number of the last missed packet, and a number of missed packets between the first and last missed packets). Figure 3In the example provided, the second wireless earbud 114 has not missed any packets included in the signal S320, S326, or S332, and thus, the signal S518 can indicate to the first wireless device 112 that no packets were missed (e.g., an acknowledgement (ACK) back). Alternatively, if the second wireless earbud 114 has missed any packets, the signal S518 can include a sequence number and bitmap (if any) that the first wireless earbud 112 can use to retrieve the missed audio and forward it to the second wireless earbud 114. Once the contact between the first wireless earbud 112 and the second wireless earbud 114 is complete (e.g., the first wireless earbud 112 receives the ACK), the wireless earbuds 112 and 114 can switch to another communication channel (e.g., back to the first communication channel 124), and as Figure 5A The process 500 continues as depicted in Figure 5B .
[0152] Referring to Figure 5B , each of the first wireless earbud 112 (at 522), the second wireless earbud 114 (at 524), the third wireless earbud 118 (at 526), and the fourth wireless earbud 120 (at 528) can poll on the first communication channel 124 to receive (or passively receive) any audio data from the source device 122 (e.g., at the beginning of a time slot, such as the next Rx time slot after the first wireless earbud 112 and the second wireless earbud 114 switch from the second communication channel 130). When no audio data is received from the source device 122, at 530, the first wireless earbud 112 suspends waiting to receive on the first communication channel 124 and switches to transmitting to the third wireless earbud 118 on another communication channel (e.g., the sixth communication channel 154) according to the channel switching settings (e.g., the channel switching settings 220). In one example, the first wireless earbud 112 suspends waiting on the first communication channel 124 and switches channels midway through the duration of the time slot in which the waiting begins (e.g., a partial time slot transition or a half time slot transition). The second communication channel 130 and the sixth communication channel 154 can be differently identified to designate the second communication channel 130 for transmitting data between the first wireless earbud 112 and the second wireless earbud, while the sixth communication channel 154 is for transmitting data between the first wireless earbud 112 and the third wireless earbud 118. In one aspect of the disclosure, the second communication channel 130 and the sixth communication channel 154 can comprise the same piconet used at different instances in time.
[0153] In synchronization with the first wireless earbud 112, at 532, the third wireless earbud 118 pauses waiting to passively receive data on the first communication channel 124 and switches to receiving from the first wireless earbud 112 on the sixth communication channel 154 according to the channel switch settings (e.g., channel switch settings 244). Similar to the first wireless earbud 112, the third wireless earbud 118 can pause waiting to passively receive and switch channels midway through the duration of the time slot in which the waiting begins (e.g., partial time slot transition or half time slot transition). Further, as described with respect to Figure 5A the second wireless earbud 112 and the fourth wireless earbud 120 can also change channel settings to the sixth communication channel 154 (e.g., based on partial time slot timing) at 533a and 533b, although in some cases, the first wireless earbud 112 can not transmit any data directly to the second wireless earbud 114 or the fourth wireless earbud 120, at least not at this time in the process 500.
[0154] Using the switched to channel (e.g., the sixth communication channel 154), the first wireless earbud 112 can transmit a signal S534 to the third wireless earbud 118 including a message representing a status check or status query. At 536, the third wireless earbud 118 identifies any missed audio data. For example, the third wireless earbud 118 can identify a sequence number of the last fully received audio data packet (e.g., received via passive reception on the first communication channel 124) and compile a bitmap (e.g., up to 64 bits representing 64 packets) representing any packets received after the sequence number and packets missed after the sequence number. In Figure 3 In the provided example, the third wireless earbud 118 missed at least some of the audio packets in signal S320 and in signal S332. The third wireless earbud 118 transmits a signal S538, which the first wireless earbud 112 receives at 540, and the signal S538 can include data indicating whether the third wireless earbud 118 missed any audio packets and, if so, which ones (e.g., the audio packets missed in signal S320 and in signal S332). At 542, the first wireless earbud 112 retrieves (e.g., from a buffer) any audio missed by the third wireless earbud 118. For example, the first wireless earbud 112 can compare the sequence number and the bitmap to a buffer (e.g., a controller buffer, a circular buffer, etc.) to retrieve the missed audio data represented by the 0s in the bitmap. According to Figure 3 , the first wireless earbud 112 can have received the audio data at 322 and 334 in the process 300 and can retrieve a copy to forward to the third wireless earbud 118. The first wireless earbud 112 transmits a signal S544 including the missed audio data to the third wireless earbud 118.
[0155] In one aspect of the disclosure, the fourth wireless earbud 120 can listen or sniff the communication channel between the first wireless earbud 112 and the third wireless earbud 118 to attempt and passively receive any missed audio data packets. However, in some cases, the audio data forwarded from the first wireless earbud 112 to the third wireless earbud 118 can not include the same packets missed by the fourth wireless earbud 120; the fourth wireless earbud 120 can not have the hardware capability to sniff both the first communication channel and the communication channel between the first wireless earbud 112 and the third wireless earbud 118; and / or the fourth wireless earbud 120 can not receive all packets despite sniffing. As such, as Figure 5C indicated, the process 500 can continue to include operations by which the first wireless earbud 112 contacts the fourth wireless earbud 120.
[0156] Figure 5C Steps in the process are depicted that include the first wireless earbud 112 contacting the fourth wireless earbud 120 using timing and synchronization similar to the contacting process with the third wireless earbud 118. For example, each of the first wireless earbud 112 (at 546), the second wireless earbud 114 (at 548), the third wireless earbud 118 (at 550), and the fourth wireless earbud 120 (at 552) can first look back on the first communication channel 124 to receive (or passively receive) any audio data from the source device 122 (e.g., at the beginning of a time slot). When no audio data is received from the source device 122, at 554, the first wireless earbud 112 pauses waiting to receive on the first communication channel 124 and switches to transmitting to the fourth wireless earbud 120 on another communication channel (e.g., the seventh communication channel 160) according to channel switching settings (e.g., the channel switching settings 220). In one example, the first wireless earbud 112 pauses waiting on the first communication channel 124 and switches channels (e.g., a partial time slot transition or a half time slot transition) midway through the duration of the time slot in which the waiting begins. The second communication channel 130, the sixth communication channel 154, and the seventh communication channel 160 can be identified differently to designate the channels used by the first wireless earbud to communicate with the second wireless earbud 114, the third wireless earbud 118, and the fourth wireless earbud 120, respectively. In one aspect of the disclosure, the second communication channel 130, the sixth communication channel 154, and the seventh communication channel 160 can include the same piconet used by the first wireless earbud 112 at different time instances to communicate with different wireless earbuds.
[0157] In synchronization with the first wireless earbud 112, at 556, the fourth wireless earbud 120 pauses waiting to passively receive data on the first communication channel 124 and switches to transmitting to the first wireless earbud 112 on the seventh communication channel 160 according to channel switching settings (e.g., the channel switching settings 256). In one example, the fourth wireless earbud 120 pauses waiting on the first communication channel 124 and switches channels (e.g., a partial time slot transition or a half time slot transition) midway through the duration of the time slot in which the waiting begins. The first communication channel 124, the second communication channel 130, and the seventh communication channel 160 can be identified differently to designate the channels used by the fourth wireless earbud 120 to communicate with the first wireless earbud 112, the second wireless earbud 114, and the third wireless earbud 118, respectively. In one aspect of the disclosure, the first communication channel 124, the second communication channel 130, and the seventh communication channel 160 can include the same piconet used by the fourth wireless earbud 120 at different time instances to communicate with different wireless earbuds.
[0158] In synchronization with the first wireless earbud 112, at 556, the fourth wireless earbud 120 pauses waiting to passively receive data on the first communication channel 124 and switches to transmitting to the first wireless earbud 112 on the seventh communication channel 160 according to channel switching settings (e.g., the channel switching settings 256). In one example, the fourth wireless earbud 120 pauses waiting on the first communication channel 124 and switches channels (e.g., a partial time slot transition or a half time slot transition) midway through the duration of the time slot in which the waiting begins. The first communication channel 124, the second communication channel 130, and the seventh communication channel 160 can be identified differently to designate the channels used by the fourth wireless earbud 120 to communicate with the first wireless earbud 112, the second wireless earbud 114, and the third wireless earbud 118, respectively. In one aspect of the disclosure, the first communication channel 124, the second communication channel 130, and the seventh communication channel 160 can include the same piconet used by the fourth wireless earbud 120 at different time instances to communicate with different wireless earbuds.
[0159] Channel 160 receives data from the first wireless earbud 112. Similar to the first wireless earbud 112, the fourth wireless earbud 120 can pause and wait.
[0160] Passively receive and switch channels midway through the duration of the waiting time slot (e.g., partial time slot transition or half-time slot).
[0161] (Gap transition). Furthermore, such as relative to... Figure 5A and Figure 5B As described, at 557a and 557b, the second wireless earbud 112 and the third...
[0162] The wireless earbud 118 can also change the channel setting to the seventh communication channel 154 (e.g., based on partial time slot timing), although in
[0163] In some cases, the first wireless earbud 112 may not transmit directly to the second wireless earbud 114 or the third wireless earbud 118.
[0164] No data, at least not at this point in process 500.
[0165] Using the switched channel (e.g., seventh communication channel 160), the first wireless earbud 112 can transmit signal S558 to the fourth wireless earbud 120, including a status check or status query. Process 500 includes, at 560, the fourth wireless earbud 120 identifying any missed audio data. For example, the fourth wireless earbud 120 can identify the sequence number of the last fully received audio data packet (e.g., the last fully received packet received passively on the first communication channel 124) and compile a bitmap (e.g., up to 64 bits representing 64 packets) representing any packets received after the sequence number and any packets missed after the sequence number. Figure 3 In the provided example, the fourth wireless earbud 120 misses at least some audio packets in signals S326 and S332. The fourth wireless earbud 118 transmits signal S562, which is received by the first wireless earbud 112 at 564. Signal S562 may include data indicating whether the fourth wireless earbud 120 has missed any audio packets and, if so, which ones (e.g., audio packets missed in signals S326 and S332). At 566, the first wireless earbud 112 retrieves (e.g., from a buffer) any audio missed by the fourth wireless earbud 120 (e.g., as indicated in signal S562). For example, the first wireless earbud 112 may compare a sequence number and a bitmap with a buffer (e.g., a controller buffer, a circular buffer, etc.) to retrieve missed audio data represented by 0s in the bitmap. Figure 3, the first wireless earbud 112 can have received the audio data at 328 and 334 in process 300 and can retrieve a copy to forward to the fourth wireless earbud 120. The first wireless earbud 112 transmits a signal S568 including the missing audio data to the fourth wireless earbud 120. After the fourth wireless earbud 120 acknowledges receipt of the signal S568, the wireless earbuds 112 and 120 can return to waiting to receive data on the first communication channel 124.
[0166] Method 500 can be extended to more than two pairs of wireless earbuds or more than four wireless earbuds or more than four speakers. For example, audio data from the source device 122 can be shared with additional earbud pairs or speakers by providing synchronization information. Each wireless earbud or speaker can switch to a second communication channel (e.g., a different piconet than the one between the first wireless earbud and the source device 122) according to the partial time slot timing and the first wireless earbud or speaker can sequentially contact each earbud or speaker.
[0167] Reference is now made to Figures 6-8 , depicting methods 600, 700, and 800, and each block of methods 600, 700, and 800
[0168] include a computational procedure that can be performed using any combination of hardware, firmware, and / or software. For instance, various functions can be carried out by a processor executing instructions
[0169] stored in memory. The methods can also be embodied as computer-usable instructions stored on computer storage media. Functions can be provided as part of independent applications and as part of larger applications.
[0170] Methods 600, 700, and 800 are described with respect to the elements of
[0171] , Figure 1 , Figure 2 , Figure 3 , Figure 4A , Figure 4B , Figure 5A , Figure 5B and Figure 5C by way of example. However, the methods can additionally or alternatively be performed by any one system or any combination of systems, including but not limited to those described herein.
[0172] Figure 6is a flowchart illustrating a method 600 for sharing audio provided by a source device. For example, the method 600 can be performed by an audio system including a first pair of wireless earbuds including a first wireless earbud (e.g., 112) and a second wireless earbud (e.g., 114) that exchange data via a first communication channel (e.g., 130). The audio system can also include a second pair of wireless earbuds including a third wireless earbud (e.g., 118) and a fourth wireless earbud (e.g., 120) that exchange data via a second communication channel (e.g., 142) that is different than the first communication channel.
[0173] At operation 602, the method 600 includes receiving, from the source device, first audio data via a third communication channel that is different than the first communication channel and the second communication channel. For example, the first wireless earbud 112 can receive the first audio data S320, S326, and / or S332 from the source device 122 via the communication channel 124 that is different than the communication channel 130 and different than the communication channel 142. At operation 604, the method 600 includes receiving, from the second wireless earbud, a first message indicating that the second wireless earbud received the first audio data. For example, the first wireless earbud 112 can exchange, via the communication channel 130, the messages S414 and S418 indicating whether the second wireless earbud 114 passively received the first audio data S320, S326, and / or S332.
[0174] At operation 606, the method 600 includes receiving, from the third wireless earbud via a fourth communication channel, a second message indicating that the first audio data was not received by the third wireless earbud. For example, the first wireless earbud 112 can exchange, via the communication channel 154 and with the third wireless earbud 118, the second messages S446 and S450 indicating that the first audio data S320 and S332 was not passively received by the third wireless earbud 118.
[0175] At operation 608, the method 600 includes transmitting, to the third wireless earbud via the fourth communication channel, a copy of the first audio data. For example, the first wireless earbud 112 can transmit, to the third wireless earbud 118 via the communication channel 154, a copy of the first audio data S456.
[0176] Figure 7 is a flowchart illustrating a method 700 for sharing audio data between a first pair of wireless earbuds including a first wireless earbud and a second wireless earbud and a second pair of wireless earbuds including a third wireless earbud and a fourth wireless earbud. For example, the audio data can be shared between the first pair of wireless earbuds including the first wireless earbud 112 and the second wireless earbud 114 and the second pair of wireless earbuds including the third wireless earbud 118 and the fourth wireless earbud 120.
[0177] At operation 702, the method 700 includes establishing, by the first wireless earbud, a first communication channel with the source device. For example, the first wireless earbud 112 can exchange data (e.g., link data 126, device ID, etc.) with the source device 122 and adjust settings for communicating using the first communication channel 124.
[0178] At operation 704, the method 700 includes sending link data associated with the first communication channel to the second wireless earbud, the third wireless earbud, and the fourth wireless earbud. For example, the link data 134 can be forwarded to the second wireless earbud 114 in signal S308, and the link data 156 can be forwarded to the third wireless earbud 118 in signal S310. Further, the link data 146 can be forwarded (e.g., from the third wireless earbud 118) to the fourth wireless earbud 120 in signal S316, or the link data 162 can be forwarded from the first wireless earbud 112 to the fourth wireless earbud 120.
[0179] At operation 706, the method 700 includes synchronizing, by each of the second wireless earbud, the third wireless earbud, and the fourth wireless earbud, respective channel settings based on the link data. For example, the second wireless earbud 114 can synchronize settings at 312; the third wireless earbud 118 can synchronize settings at 314; and the fourth wireless earbud 120 can synchronize settings at 318.
[0180] At operation 708, the method 700 includes receiving, by the first wireless earbud, first audio data from the source device via the first communication channel. For example, the first wireless earbud 112 receives first audio data S320, S326, and S332 from the source device 122 via the communication channel 124. At this time, based on the synchronization with the first communication channel 124, the second wireless earbud 112, the third wireless earbud 118, and the fourth wireless earbud 120 can be set to passively receive (as depicted by the dashed arrows) the first audio data. Figure 3
[0181] At operation 710, the method 700 includes receiving, by the first wireless earbud and via the second communication channel, a first message from the second wireless earbud indicating that the second wireless earbud received the first audio data. For example, the first wireless earbud 112 can exchange messages S414 and S418 via the communication channel 130 indicating whether the second wireless earbud 114 passively received the first audio data S320, S326, and / or S332, including a message in signal S418 that can indicate that the second wireless earbud 114 received the audio data.
[0182] At operation 712, the method 700 includes receiving, by the first wireless earbud and via the third communication channel, a second message from the third wireless earbud indicating that the first audio data was not received by the third wireless earbud. For example, the first wireless earbud 112 can exchange, via the communication channel 154 and with the third wireless earbud 118, the second messages S446 and S450 indicating that the first audio data S320 and S332 was not passively received by the third wireless earbud 118, including the message in signal S450 that can indicate that no audio data was received.
[0183] At operation 714, the method 700 includes transmitting, by the first wireless earbud and via the third communication channel, a copy of the first audio data to the third wireless earbud. For example, the first wireless earphone 112 can transmit a copy of the first audio data S456 to the third wireless earbud 118 using the communication channel 154.
[0184] Figure 8 is a flowchart illustrating a method 800 for sharing audio data between a first pair of wireless earbuds including a first wireless earbud and a second wireless earbud, and a second pair of wireless earbuds including a third wireless earbud and a fourth wireless earbud. For example, audio data can be shared between a first pair of wireless earbuds including the first wireless earbud 112 and the second wireless earbud 114, and a second pair of wireless earbuds including the third wireless earbud 118 and the fourth wireless earbud 120.
[0185] At operation 802, the method 800 includes establishing, by the first wireless earbud, a first communication channel with a source device. For example, the first wireless earbud 112 can exchange data (e.g., link data 126, device ID, etc.) with the source device 122 and adjust settings for communicating using the first communication channel 124.
[0186] At operation 804, the method 800 includes sending link data associated with the first communication channel to a second wireless earbud, a third wireless earbud, and a fourth wireless earbud. For example, the link data 134 can be forwarded to the second wireless earbud 114 in signal S308, and the link data 156 can be forwarded to the third wireless earbud 118 in signal S310. Further, the link data 146 can be forwarded (e.g., from the third wireless earphone 118) to the fourth wireless earbud 120 in signal S316, or the link data 162 can be forwarded from the first wireless earbud 112 to the fourth wireless earbud 120.
[0187] At operation 806, the method 800 includes synchronizing, by each of the second wireless earbud, the third wireless earbud, and the fourth wireless earbud, respective channel settings based on the link data. For example, the second wireless earbud 114 can synchronize settings at 312; the third wireless earbud 118 can synchronize settings at 314; and the fourth wireless earbud 120 can synchronize settings at 318.
[0188] At operation 808, the method 800 includes receiving, by the first wireless earbud, first audio data from the source device via a first communication channel. For example, the first wireless earbud 112 receives the first audio data S320, S326, and S332 from the source device 122 via the communication channel 124. At this stage, based on synchronization with the first communication channel 124, the second wireless earbud 112, the third wireless earbud 118, and the fourth wireless earbud 120 can be set to passively receive (as depicted by the dashed arrows in Figure 3 FIG. 6B) the first audio data.
[0189] At operation 810, the method 800 includes receiving, by the first wireless earbud and via a second communication channel, a first message from a second wireless earbud indicating that the second wireless earbud did not receive the first audio data. For example, the first wireless earbud 112 can exchange messages S514 and S518 via the communication channel 130 indicating whether the second wireless earbud 114 passively received the first audio data S320, S326, and / or S332. If the second wireless earbud 114 failed to passively receive any of the first audio data (e.g., when sniffing), the first wireless earbud 112 can use the communication channel 130 to forward a copy of the missed first audio data (e.g., see the message exchange between the first wireless earbud 112 and the second wireless earbud 114 in Figure 5A FIG. 6B). For example, at operation 812, the method 800 includes sending, by the first wireless earbud to the second wireless earbud, a first copy of the first audio data.
[0190] At operation 814, the method 800 includes receiving, by the first wireless earbud and via the second communication channel, a second message from a third wireless earbud indicating that the third wireless earbud did not receive the first audio data. For example, the first wireless earbud 112 can exchange messages S534 and S538 via the communication channel 154 (which can be the same piconet as the communication channel 130, only at a different time period) indicating whether the third wireless earbud 118 passively received the first audio data S320, S326, and / or S332. If the third wireless earbud 114 failed to passively receive any of the first audio data (e.g., when sniffing), the first wireless earbud 112 can use the communication channel 130 to forward a copy of the missed first audio data S544 (e.g., see the message exchange between the first wireless earbud 112 and the second wireless earbud 118 in Figure 5B FIG. 6B). For example, at 816, the method 800 includes sending, by the first wireless earbud to the third wireless earbud, a second copy of the first audio data.
[0191] Figure 9A block diagram illustrating an example architecture of a wireless earbud 902 (e.g., first wireless earbud 112, second wireless earbud 114, third wireless earbud 118, or fourth wireless earbud 120) including components that can be used to implement aspects of the present disclosure (e.g., sharing audio provided by a source device). Wireless earbud 902 can include an interconnect system 922 that directly or indirectly couples the following devices: a processor 904, an in-ear microphone 906, an external microphone 908, a speaker 910, a buffer, a computer-readable medium 914, an operating system 916, a power source 918, and a network interface 920.
[0192] Although Figure 9 Various blocks of wireless earbud 902 are shown as connected via the interconnect system 922 with lines, which is not intended to be limiting and is for clarity only. For example, one or more components can be combined or a component can include more than one component. The interconnect system 922 can represent one or more links or buses, such as an address bus, a data bus, a control bus, or a combination thereof. The interconnect system 922 can include one or more bus or link types, such as an Industry Standard Architecture (ISA) bus, an Extended Industry Standard Architecture (EISA) bus, a Video Electronics Standards Association (VESA) bus, a Peripheral Component Interconnect (PCI) bus, a Peripheral Component Interconnect Express (PCIe) bus, and / or another type of bus or link. In some embodiments, there are direct connections between components. In other cases, components are indirectly connected.
[0193] Wireless earbud 902 can include any type of computing device that can be located in, on, and / or around an ear of a user (e.g., user 110 or user 116) or otherwise associated with an ear of a user. In the particular implementation shown, wireless earbud 902 includes one or more processors 904 (e.g., processors 210, 222, 234, or 246) configured to power and / or perform operations of various components of wireless earbud 902. Further, wireless earbud 902 can include various hardware-based components, such as one or more in-ear microphones 906, one or more external microphones 908, one or more speakers 910 (e.g., speakers 214, 226, 238, or 250), one or more sound isolation components, and one or more buffers 912.
[0194] The in-ear microphone 906 and the external microphone 908 can be used as input devices to receive audio input, such as voice commands from a user (e.g., the user 110 or the user 116). The in-ear microphone 906 and the external microphone 908 can include any type of component that converts sound into an electrical signal (e.g., audio data), such as a transducer. The in-ear microphone 906 can be located on or in the wireless earbud 902 such that the in-ear microphone 906 is able to detect and capture in-ear sounds emanating from the ear canal of the user’s ear. The external microphone 908 can be located on or in the wireless earbud 902 such that the external microphone 908 is able to detect and capture external sounds emanating from the user’s surrounding environment. The speaker 910 (e.g., an in-ear speaker) can be used as an output device to output audio sounds corresponding to audio data that can be stored in a buffer 912 of the wireless earbud 902, stored in another storage location, and / or received from another computing device communicatively coupled to the wireless earbud 902. In some examples, the speaker 910 can emit audible statements to communicate with the user, and the user can respond or otherwise emit voice commands that can be captured by the microphones 906 and / or 908. Thus, the speaker 910 can be used in conjunction with the microphones 906 and / or 908 to facilitate a conversation with the user. The speaker 910 can output various types of audio data, such as audio data from a phone call (e.g., a phone call made by the source device 122 and communicated to the wireless earbud 902 using a wireless network), music audio data (e.g., 126), or any other type of audio data.
[0195] The wireless earbud 902 can also include a buffer 912 for at least temporarily storing various types of data. For example, if the wireless earbud 902 is using the speaker 910 to output audio data, the buffer 912 can store portions of the audio data prior to outputting the audio data. By storing audio data in the buffer 912, the wireless earbud 902 can perform various types of operations. For example, when replying to a status query (e.g., S414, S426, S514, S534, or S558), the wireless earbud 902 can reference the buffer 912 to determine the sequence number of the last fully received audio packet and a bitmap representing any packets that were not received. In another example, the wireless earbud 902 can reference the buffer 912 to duplicate audio data identified in a status update (e.g., S418, S430, S450, S518, S538, or S562), so the wireless earbud 902 can forward a copy of the audio data to another wireless earbud that missed a packet. As another example, the buffer 912 can store external audio data generated by the external microphone 908 representing external sounds. The external audio data can be used for various purposes, such as for performing active noise cancellation to reduce the amount of external sounds 122 that reach the in-ear microphone 116.
[0196] The wireless earbud 902 can also include a computer-readable medium 914 that stores various software components, firmware components, or a combination thereof. The components stored in the computer-readable medium 914 can include computer-readable instructions (e.g., software, firmware, a combination thereof, and so on) that configure the processor 904 to perform various operations. The computer-readable medium 914 can store an operating system 916 that is configured to manage hardware, software, firmware, and / or other systems and services within and coupled to the wireless earbud 902. The computer-readable medium 914 can additionally store one or more application programs, such as a music playing application program, a telephone call execution application program, or any other type of application program suitable for the wireless earbud 902. The application programs can be configured to play songs or other audio data / files by causing the processor 904 to output audio data using the in-ear speaker 910.
[0197] The wireless earbud 902 can be powered at least in part by an internal power source 918. For example, the wireless earbud 902 can include one or more of a battery, a battery pack, a supercapacitor, a rechargeable battery, or any other type of internal power source that can be charged using a host power source and that provides power to the wireless earbud 902.
[0198] The wireless earbud 902 can also include one or more network interfaces 920 that the wireless earbud 902 can utilize to communicate with other devices over a network, such as the networks 124, 130, 132, 142, 144, 154, and 156. Generally, the network interfaces 920 enable the wireless earbud 902 to communicate over any type of network, such as wired networks (e.g., USB, auxiliary, cable, and so on) as well as wireless networks (e.g., Wi-Fi®, Bluetooth, personal area networks, wide area networks, and so on). In some examples, the network interfaces 920 can include a wireless unit coupled to an antenna to facilitate wireless connection to a network. However, the network interfaces can include any type of components (e.g., hardware, software, firmware, and so on) that can be used by the wireless earbud 902 to communicate over any type of wired or wireless network. The network interfaces 920 can enable the wireless earbud 902 to communicate over a network, such as a wireless or Wi-Fi network, a Bluetooth network, a personal area network, a wide area network, and so on. In the case of wireless communication interfaces, such network interfaces 920 can include a radio transceiver and associated control circuits, as well as logic to implement the appropriate communication protocols. The network interfaces 920 can enable the wireless earbud 902 to communicate over a variety of types of networks, including wide area networks, local area networks, private networks, public networks, and so on.
[0199] In some implementations, the processors 904 can include a central processing unit (CPU), a graphics processing unit (GPU), both CPU and GPU, a microprocessor, a digital signal processor, and / or other processing units or components known in the art. Alternatively or additionally, the functions described herein can be performed, at least in part, by one or more hardware logic components. For example, and without limitation, illustrative types of hardware logic components that can be used include field-programmable gate arrays (FPGAs), application-specific integrated circuits (ASICs), application-specific standard products (ASSPs), system-on-a-chip systems (SOCs), complex programmable logic devices (CPLDs), etc. Additionally, each of the processors 904 can have its own local memory that can also store program modules, program data, and / or one or more operating systems. The processors 904 can be located in a single device or system, or across multiple devices or systems, which can be owned or operated by various entities.
[0200] The computer-readable media 914 can include volatile memory and nonvolatile memory implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data. Such memory includes, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disks (DVD) or other optical disk storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, RAID storage systems, or any other medium which can be used to store the desired information and which can be accessed by the computing device. The computer-readable media 914 can be implemented as computer-readable storage media (“CRSM”), which can be any available physical media accessible by the processor 904 to execute instructions stored on the memory 904. In one basic implementation, the CRSM can include random access memory (“RAM”), and flash memory. In other implementations, the CRSM can include, but is not limited to, read-only memory (“ROM”), electrically erasable programmable read-only memory (“EEPROM”), or any other tangible medium for storage of
[0201] As used herein, the term “and / or,” when used in a list of two or more elements, means that any one of the elements can be present alone, or in combination with one or more of the other elements. For example, “element A, element B, and / or element C” can include only element A, only element B, only element C, element A and element B, element A and element C, element B and element C, or element A, B, and C. Furthermore, “at least one of element A or element B” can include at least one of element A, at least one of element B, or at least one of element A and at least one of element B. Furthermore, “at least one of element A and element B” can include at least one of element A, at least one of element B, or at least one of element A and at least one of element B.
[0202] While the foregoing application has been described with reference to particular examples, it is to be understood that the application is not limited to the particular examples disclosed. As such, many changes and modifications can be made to the application by those skilled in the art without departing from the true spirit and scope of the application. For example, equivalent elements can be substituted for one another, and the arrangement of elements or steps can be reversed without departing from the spirit and scope of the application.
[0203] While the application has been described with reference to particular examples, it will be understood that the application is not limited to the particular examples disclosed. Rather, the particular examples are illustrative of some embodiments of the application and other embodiments can be made without departing from the true spirit and scope of the application.
[0204] Embodiments of the present disclosure can be described with reference to the following clauses.
[0205] 1. An audio system comprising: a first pair of wireless earbuds including a first wireless earbud and a second wireless earbud exchanging data via a first communication channel; a second pair of wireless earbuds including a third wireless earbud and a fourth wireless earbud exchanging data via a second communication channel different from the first communication channel; wherein the first wireless earbud includes: one or more processing units; and one or more memory units storing instructions that, when executed by the one or more processing units, cause the one or more processing units to perform operations comprising: exchanging data via the first communication channel and the second communication channel.
[0206]
[0207]
[0208]
[0209]
[0210]
[0211] the third wireless earbud from the source device; receiving, from the second wireless earbud, a first message indicating that the first audio data was received by the second wireless earbud; receiving, via a fourth communication channel and from the third wireless earbud, a second message indicating that the first audio data was not received by the third wireless earbud; and transmitting, via the fourth communication channel, a copy of the first audio data to the third wireless earbud.
[0212] the third wireless earbud from the source device; receiving, from the second wireless earbud, a first message indicating that the first audio data was received by the second wireless earbud; receiving, via a fourth communication channel and from the third wireless earbud, a second message indicating that the first audio data was not received by the third wireless earbud; and transmitting, via the fourth communication channel, a copy of the first audio data to the third wireless earbud.
[0213] the third wireless earbud from the source device; receiving, from the second wireless earbud, a first message indicating that the first audio data was received by the second wireless earbud; receiving, via a fourth communication channel and from the third wireless earbud, a second message indicating that the first audio data was not received by the third wireless earbud; and transmitting, via the fourth communication channel, a copy of the first audio data to the third wireless earbud.
[0214] the third wireless earbud from the source device; receiving, from the second wireless earbud, a first message indicating that the first audio data was received by the second wireless earbud; receiving, via a fourth communication channel and from the third wireless earbud, a second message indicating that the first audio data was not received by the third wireless earbud; and transmitting, via the fourth communication channel, a copy of the first audio data to the third wireless earbud.
[0215] 2. The audio system of clause 1, wherein the second wireless earbud, the third wireless earbud, and the fourth wireless earbud each comprise: one or more processing units; and one or more memory units storing instructions that, when executed by the one or more processing units, cause the one or more processing units of each of the second wireless earbud, the third wireless earbud, and the fourth wireless earbud to perform operations comprising: receiving the first audio data from the source device using settings associated with the third channel.
[0216] 2. The audio system of clause 1, wherein the second wireless earbud, the third wireless earbud, and the fourth wireless earbud each comprise: one or more processing units; and one or more memory units storing instructions that, when executed by the one or more processing units, cause the one or more processing units of each of the second wireless earbud, the third wireless earbud, and the fourth wireless earbud to perform operations comprising: receiving the first audio data from the source device using settings associated with the third channel.
[0217] 2. The audio system of clause 1, wherein the second wireless earbud, the third wireless earbud, and the fourth wireless earbud each comprise: one or more processing units; and one or more memory units storing instructions that, when executed by the one or more processing units, cause the one or more processing units of each of the second wireless earbud, the third wireless earbud, and the fourth wireless earbud to perform operations comprising: receiving the first audio data from the source device using settings associated with the third channel.
[0218] 2. The audio system of clause 1, wherein the second wireless earbud, the third wireless earbud, and the fourth wireless earbud each comprise: one or more processing units; and one or more memory units storing instructions that, when executed by the one or more processing units, cause the one or more processing units of each of the second wireless earbud, the third wireless earbud, and the fourth wireless earbud to perform operations comprising: receiving the first audio data from the source device using settings associated with the third channel.
[0219] 2. The audio system of clause 1, wherein the second wireless earbud, the third wireless earbud, and the fourth wireless earbud each comprise: one or more processing units; and one or more memory units storing instructions that, when executed by the one or more processing units, cause the one or more processing units of each of the second wireless earbud, the third wireless earbud, and the fourth wireless earbud to perform operations comprising: receiving the first audio data from the source device using settings associated with the third channel.
[0220] 3. The audio system of clause 1, wherein the one or more memory units store instructions that, when executed by the one or more processing units, cause the one or more processing units to perform operations comprising, prior to receiving the first message: waiting during a first portion of a discrete duration; determining that no second audio data was received during a second portion of the discrete duration; and sending, via the first communication channel and to the second wireless earbud, a third message indicating a status query during the second portion of the discrete duration.
[0221] 3. The audio system of clause 1, wherein the one or more memory units store instructions that, when executed by the one or more processing units, cause the one or more processing units to perform operations comprising, prior to receiving the first message: waiting during a first portion of a discrete duration; determining that no second audio data was received during a second portion of the discrete duration; and sending, via the first communication channel and to the second wireless earbud, a third message indicating a status query during the second portion of the discrete duration.
[0222] 3. The audio system of clause 1, wherein the one or more memory units store instructions that, when executed by the one or more processing units, cause the one or more processing units to perform operations comprising, prior to receiving the first message: waiting during a first portion of a discrete duration; determining that no second audio data was received during a second portion of the discrete duration; and sending, via the first communication channel and to the second wireless earbud, a third message indicating a status query during the second portion of the discrete duration.
[0223] 3. The audio system of clause 1, wherein the one or more memory units store instructions that, when executed by the one or more processing units, cause the one or more processing units to perform operations comprising, prior to receiving the first message: waiting during a first portion of a discrete duration; determining that no second audio data was received during a second portion of the discrete duration; and sending, via the first communication channel and to the second wireless earbud, a third message indicating a status query during the second portion of the discrete duration.
[0224] 3. The audio system of clause 1, wherein the one or more memory units store instructions that, when executed by the one or more processing units, cause the one or more processing units to perform operations comprising, prior to receiving the first message: waiting during a first portion of a discrete duration; determining that no second audio data was received during a second portion of the discrete duration; and sending, via the first communication channel and to the second wireless earbud, a third message indicating a status query during the second portion of the discrete duration.
[0225] 3. The audio system of clause 1, wherein the one or more memory units store instructions that, when executed by the one or more processing units, cause the one or more processing units to perform operations comprising, prior to receiving the first message: waiting during a first portion of a discrete duration; determining that no second audio data was received during a second portion of the discrete duration; and sending, via the first communication channel and to the second wireless earbud, a third message indicating a status query during the second portion of the discrete duration.
[0226] 4. The audio system of clause 1, wherein the one or more memory units store instructions that, when executed by the one or more processing units, cause the one or more processing units to perform operations comprising: synchronizing a clock based on settings provided by the source device, the clock for tracking a number of discrete durations; counting a number of discrete durations elapsed based on the clock; and sending, to the third wireless earbud via the fourth communication channel, a third message based on the number of discrete durations elapsed and indicating a status query.
[0227] 5. The audio system of clause 4, wherein the counting of the number of discrete durations is initiated asynchronously with the source device transmitting audio data via the third communication channel.
[0228] 6. The audio system of clause 4, wherein the counting of the number of discrete durations is synchronized to begin in parallel with the source device transmitting the first audio data via the third communication channel.
[0229] 7. The audio system of clause 1, wherein the fourth wireless earbud comprises: one or more processing units; and one or more memory units storing instructions that, when executed by the one or more processing units, cause the one or more processing units of the fourth wireless earbud to perform operations comprising: receiving the copy of the first audio data transmitted from the first wireless earbud to the third wireless earbud via the fourth communication channel.
[0230] 8. The audio system of clause 1, wherein the third wireless earbud comprises: one or more processing units; and one or more memory units storing instructions that, when executed by the one or more processing units, cause the one or more processing units of the third wireless earbud to perform operations comprising: transmitting a copy of the first audio data to the fourth wireless earbud via the second communication channel.
[0231] 9. A method of sharing audio data between a first pair of wireless earbuds comprising a first wireless earbud and a second wireless earbud, and a second pair of wireless earbuds comprising a third wireless earbud and a fourth wireless earbud, the method comprising: establishing, by the first wireless earbud, a first communication channel with a source device; sending, to the second wireless earbud, the third wireless earbud, and the fourth wireless earbud, link data associated with the first communication channel; synchronizing, by each of the second wireless earbud, the third wireless earbud, and the fourth wireless earbud, respective channel settings based on the link data; receiving, by the first wireless earbud, first audio data from the source device via the first communication channel; receiving, by the first wireless earbud and from the second wireless earbud via a second communication channel, a first message indicating that the second wireless earbud received the first audio data; receiving, by the first wireless earbud and from the third wireless earbud via a third communication channel, a second message indicating that the first audio data was not received by the third wireless earbud; and transmitting, by the first wireless earbud and to the third wireless earbud via the third communication channel, a copy of the first audio data.
[0232] 10. The method of clause 9, further comprising, prior to receiving the first message: waiting, by the first wireless earbud and during a first portion of a discrete duration; determining, by the first wireless earbud and during a second portion of the discrete duration, that no second audio data was received; and sending, by the first wireless earbud and to the second wireless earbud via the second communication channel, a third message, the third message being sent during the second portion of the discrete duration and indicating a status query; and prior to receiving the second message: passing, by the first wireless earbud and based on a clock, a number of discrete durations; and sending, by the first wireless earbud and to the third wireless earbud via the third communication channel, a fourth message based on the number of discrete durations passed, the fourth message indicating a status query.
[0233] 11. The method of clause 10, wherein an interval of the discrete durations begins asynchronously to the source device transmitting audio data via the first communication channel.
[0234] 12. The method of clause 10, wherein an interval of the discrete durations begins in parallel to the source device transmitting the first audio data via the first communication channel.
[0235] 13. The method of clause 9, further comprising: sending, by the third wireless earbud to the first wireless earbud, the second message; and prior to sending the second message, receiving, by the third wireless earbud and via a fourth communication channel, a third message indicating that the fourth wireless earbud did not receive the first audio data.
[0236] 14. The method of clause 13, further comprising: sending, by the third wireless earbud and via the fourth communication channel, the copy of the first audio data to the fourth wireless earbud.
[0237] 15. The method of clause 13, further comprising: receiving, by the fourth wireless earbud, the copy of the first audio data transmitted via the third communication channel.
[0238] 16. A method of sharing audio data between a first pair of wireless earbuds comprising a first wireless earbud and a second wireless earbud, and a second pair of wireless earbuds comprising a third wireless earbud and a fourth wireless earbud, the method comprising: establishing, by the first wireless earbud, a first communication channel with a source device; sending link data associated with the first communication channel to the second wireless earbud, the third wireless earbud, and the fourth wireless earbud; synchronizing, by each of the second wireless earbud, the third wireless earbud, and the fourth wireless earbud, respective channel settings based on the link data; receiving, by the first wireless earbud, first audio data from the source device via the first communication channel; receiving, by the first wireless earbud and from the second wireless earbud via a second communication channel, a first message indicating that the second wireless earbud did not receive the first audio data; sending, by the first wireless earbud to the second wireless earbud, a first copy of the first audio data; receiving, by the first wireless earbud and from the third wireless earbud via the second communication channel, a second message indicating that the third wireless earbud did not receive the first audio data; and sending, by the first wireless earbud to the third wireless earbud, a second copy of the first audio data.
[0239] 17. The method of clause 16, wherein the first message is received during a first time period, and wherein the second message is received during a second time period that does not overlap with the first time period.
[0240] 18. The method of clause 16, further comprising, prior to receiving the first message: waiting, by the first wireless earbud and during a first portion of a discrete duration; determining, by the first wireless earbud and during a second portion of the first discrete duration, that no second audio data was received; and sending, by the first wireless earbud and to the second wireless earbud via the second communication channel and during the second portion of the first discrete duration, a third message indicating a status query; and prior to receiving the second message: waiting, by the first wireless earbud and during a first portion of a second discrete duration; determining, by the first wireless earbud and during a second portion of the second discrete duration, that no second audio data was received; and sending, by the first wireless earbud and to the third wireless earbud via the second communication channel and during the second portion of the second discrete duration, a fourth message indicating a status query.
[0241] 19. The method of clause 18, further comprising, by the second wireless earbud and the third wireless earbud and during the first portion of the first discrete duration; by the second wireless earbud and the third wireless earbud and during the second portion of the first discrete duration, determining that no second audio data was received; and by the second wireless earbud and the third wireless earbud and during the second portion of the first discrete duration, changing a channel setting from being associated with the first communication channel to being associated with the second communication channel.
[0242] 20. The method of clause 16, further comprising, by the first wireless earbud and from the fourth wireless earbud via the second communication channel, receiving a third message indicating that the fourth wireless earbud did not receive the first audio data; and by the first wireless earbud, sending a third copy of the first audio data to the fourth wireless earbud.
Claims
1. An audio system, comprising: The first pair of wireless earbuds includes a first wireless earbud and a second wireless earbud that exchange data via a first communication channel; The second pair of wireless earbuds includes a third wireless earbud and a fourth wireless earbud that exchange data via a second communication channel different from the first communication channel; The first, second, third, and fourth wireless earbuds each include: One or more processing units; and One or more memory units, The first wireless earbud's one or more memory units store instructions that, when executed by the one or more processing units, cause the one or more processing units to perform operations including the following: First audio data is received from the source device via a third communication channel different from the first communication channel and the second communication channel; Receive a first message from the second wireless earbud instructing the second wireless earbud to receive the first audio data; Received via a fourth communication channel and from the third wireless earbud a second message indicating that the first audio data was not received by the third wireless earbud; and A copy of the first audio data is transmitted to the third wireless earbud via the fourth communication channel, and in: The one or more memory units of the fourth wireless earbud store instructions, which, when executed by the one or more processing units, cause the one or more processing units of the fourth wireless earbud to perform operations including: receiving a copy of the first audio data transmitted from the first wireless earbud to the third wireless earbud via the fourth communication channel; or The one or more memory units of the third wireless earbud store instructions that, when executed by the one or more processing units, cause the one or more processing units of the third wireless earbud to perform an operation including: transmitting a copy of the first audio data to the fourth wireless earbud via the second communication channel.
2. The audio system according to claim 1, wherein the second wireless earbud, the third wireless earbud, and the fourth wireless earbud each comprise: One or more processing units; and One or more memory units storing instructions that, when executed by the one or more processing units, cause the one or more processing units of each of the second, third, and fourth wireless earbuds to perform operations including: The first audio data is received from the source device using settings associated with the third communication channel.
3. The audio system of claim 1, wherein the one or more memory units store instructions that, when executed by the one or more processing units, cause the one or more processing units to perform an operation, the operation including, before receiving the first message: Wait during the first part of the discrete duration; It was determined during the second portion of the discrete duration that no second audio data was received; and During the second portion of the discrete duration, a third message is sent via the first communication channel to the second wireless earpiece, the third message indicating a status query.
4. The audio system of claim 1, wherein the one or more memory units store instructions that, when executed by the one or more processing units, cause the one or more processing units to perform operations including: Based on a synchronization clock provided by the source device, the clock is used to track discrete durations; Based on the number of discrete durations elapsed by the clock count; as well as Based on the number of discrete durations elapsed and transmitted via the fourth communication channel to the third wireless earpiece Send a third message, which indicates a status query.
5. The audio system of claim 4, wherein audio is transmitted with the source device via the third communication channel. The frequency data is asynchronously initiated to count the number of discrete durations.
6. The audio system of claim 4, wherein the counting of the number of discrete durations begins synchronously in parallel with the transmission of the first audio data by the source device via the third communication channel.
7. A method for sharing audio data among a first pair of wireless earbuds including a first wireless earbud and a second wireless earbud, and a second pair of wireless earbuds including a third wireless earbud and a fourth wireless earbud, the method comprising: A first communication channel with the source device is established by the first wireless earpiece; The first wireless earbud receives first audio data from the source device via the first communication channel; The first wireless earbud receives a first message instructing the second wireless earbud to receive the first audio data via the second communication channel; The first wireless earbud receives a second message from the third wireless earbud via a third communication channel, indicating that the first audio data was not received by the third wireless earbud. as well as A copy of the first audio data is transmitted from the first wireless earbud to the third wireless earbud via the third communication channel. The method includes: The fourth wireless earbud receives a copy of the first audio data transmitted from the first wireless earbud to the third wireless earbud via the third communication channel; or A copy of the first audio data is transmitted from the third wireless earbud to the fourth wireless earbud via the fourth communication channel.
8. The method according to claim 7, further comprising: Before receiving the first message: The first wireless earbud waits during the first portion of the discrete duration; The first wireless earbud determines that no second audio data has been received during the second portion of the discrete duration; as well as A third message is sent from the first wireless earbud to the second wireless earbud via the second communication channel, the third message being sent during the second portion of the discrete duration and indicating a status query; and Before receiving the second message: The number of discrete durations elapsed, determined by the first wireless earbud and based on clock counting; as well as The first wireless earbud and the number of discrete durations elapsed via the third communication channel A fourth message is sent to the third wireless earbud, the fourth message indicating a status query.
9. The method of claim 8, wherein the interval of the discrete duration begins asynchronously with the source device transmitting audio data via the first communication channel.
10. The method of claim 8, wherein the interval of the discrete duration begins in parallel with the transmission of the first audio data by the source device via the first communication channel.
11. The method of claim 7, further comprising: The third wireless earbud sends the second message to the first wireless earbud; as well as Before sending the second message, the third wireless earbud receives a third message via the fourth communication channel indicating that the fourth wireless earbud has not received the first audio data.
Citation Information
Patent Citations
Wireless low-latency audio content sharing
CN111386717A
Bidirectional sending and receiving of wireless data
US20200120727A1