Dynamic configuration of audio broadcast channel map based on sink monitoring of channel quality
By enabling feedback from receiving devices to the broadcast source through AST connections, the channel map is dynamically adjusted to exclude poor-quality channels, addressing perception discrepancies and improving wireless audio broadcasting efficiency.
Patent Information
- Application Number
- PCT/US2025/021308
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-03-28
- Filing Date
- 2025-03-25
- Publication Date
- 2025-10-02
AI Technical Summary
In wireless audio broadcasting, there is no acknowledgement and retransmission scheme between the broadcast source and receiving devices, leading to potential issues with channel quality perception discrepancies and inefficient adaptive frequency hopping due to lack of feedback.
Establishing a control connection between each sink's AST and the broadcast source (SRC) or directly between each sink and SRC to facilitate feedback on channel quality, allowing the SRC to adjust the channel map based on collective sink feedback and its own monitoring, ensuring optimal channel selection for adaptive frequency hopping.
Improves the overall performance of audio broadcasting by dynamically adjusting the channel map to exclude poor-quality channels, enhancing communication robustness and efficiency.
Smart Images

Figure US2025021308_02102025_PF_FP_ABST
Abstract
Description
Dynamic Configuration of Audio Broadcast Channel Map Based on Sink Monitoring of Channel QualityREFERENCE TO RELATED APPLICATION
[0001] This application claims priority to U.S. Provisional Patent Application No. 63 / 571,187, filed March 28, 2024, the entirety of which is hereby incorporated by reference.BACKGROUND
[0002] The present disclosure relates to wireless communication of audio from an audio source and receipt and rendering of the audio by one or more audio presentation devices.
[0003] Audio communication can be carried out largely in accordance with any of various wireless communication protocols. Without limitation, an example protocol is Bluetooth™, and more particularly Bluetooth Low Energy (BLE) with the Basic Audio Profile (BAP), as defined by the Bluetooth Special Interest Group (SIG). Other examples, including but not limited to WI-FI and ZIGBEE, are possible as well.
[0004] In order to communicate a stream of audio under an example protocol, an audio source may encode the audio using an audio codec (e.g., an LC3 codec), divide the encoded audio into a sequence of service data units (SDUs), translate the SDUs into protocol data units (PDUs), and transmit the sequence of PDUs over a radio-frequency (RF) air interface for receipt, decoding, and playout of the audio by one or more receiving devices. Further, under an example protocol, the transport of the PDU sequence may occur on an “isochronous stream,” which is divided over time into defined intervals and sub-intervals for carrying audio packets and associated information. In particular, each audio packet may contain a respective PDU with an appended header (e.g., 16-bits) carrying useful overhead information. As a receiving device receives this sequence of audio packets, the receiving device may then read the PDUs in sequence and decode the audio for playout.
[0005] Further, under an example protocol, the physical layer communication of each isochronous stream over the air interface may use adaptive frequency hopping. In particular, an example protocol may define a set of frequency channels on which to carry data (e.g., audio payload data, header data, etc.) Further, an example protocol may provide for use of adaptive frequency hopping among a set of those channels, where transmitting and receiving devices hop from one channel to another in the set according to an agreed channel-hoppingalgorithm. Adaptive frequency hopping can help secure the communication and may also make the communication more robust by distributing transmissions among a range of frequencies.SUMMARY
[0006] Some disclosed aspects relate to broadcasting of audio, such as but not limited to multi-channel (e.g., stereo) audio, where a broadcast audio source (SRC) device wirelessly broadcasts audio and where each of one or more broadcast sink (SNK) devices wirelessly receives and plays out the broadcast audio in real time. An example SNK device can be a pair of earbuds (e.g., conventional earbuds or canalphones), a set of headphones, another personal listening device, or one or more speakers, among other possibilities.
[0007] In contrast to unicasting of audio, where an audio source transmits audio directly to one intended recipient device for playout, broadcasting of audio facilitates playout of the same audio by potentially multiple recipient devices at once. Broadcasting of audio allows numerous new services, such as audio communication of public-service announcements to multiple people wearing compatible earbuds within public areas (e.g., airports, train stations, or gyms), sharing of performance audio to audience members wearing compatible earbuds in a theater or other performance venue, and sharing of audio from a personal device such as a smartphone, tablet, or computer to earbuds worn by multiple friends, colleagues, or family members within range of the personal device.
[0008] Broadcasting of multi-channel audio under an example protocol occurs on one or more broadcast isochronous streams (BISs), each divided into recurring sub-intervals for carrying digitized audio with associated header information, among other data. Considering stereo audio for instance, to facilitate broadcasting of left and right audio channels concurrently for playout by one or more recipient SNKs, the SRC may broadcast BISs respectively for the left and right channels or may broadcast a single BIS carrying both the left and right channels, among other possibilities.
[0009] The example protocol may further define a process that enables a SNK to discover the presence of an audio broadcast stream and to determine how to receive and decode the audio data carried by that stream. For instance, in accordance with the protocol, the SRC may broadcast various interrelated advertising-control messages including one or more such messages that provide information that indicates audio stream type (e.g., context type) and BIS structure, coding, and timing. A SNK may thus regularly scan for and discover presence of these advertising messages and thereby learn of the existence of a broadcast audio stream of adesired type, determine the associated BIS structure, coding, and timing, and accordingly receive, decode, and play out the broadcast audio.
[0010] Because many SNKs, such as earbuds, may be power limited, an example protocol may also allow for use of a broadcast assistant (AST) device to assist a SNK with the scanning for and discovering presence of broadcast streams. In one arrangement, for instance, a user’s smartphone may function as an AST to discover presence of broadcast streams for receipt by the user’s earbuds as a SNK. In practice, the AST and SNK may establish a control communication connection (e.g., an asynchronous connection-oriented logical transport session, or ACL link) with each other. Through this control connection, the SNK may inform the AST what types of stream(s) the SNK may be interested in receiving (e.g., per a userconfiguration setting). The AST may then scan for presence of the indicated types of stream(s) and, upon discovering presence of such a stream, direct the SNK to read SRC -broadcasted advertising that defines for that stream the BIS structure, coding, and timing, as noted above, so that the SNK can then start to receive and play out the broadcast audio.
[0011] In general, for broadcasting of audio, there may be no need for, and no sense in, having a control connection (e.g., an ACL link) between the AST and the SRC, or between the SNK and the SRC for that matter, since the SRC would simply advertise and broadcast audio in a standardized manner for receipt and playout by any and all interested SNKs within range.
[0012] In some situations, however, it may be useful to establish and make use of a control connection (e.g., an ACL link) between the AST and the SRC.
[0013] For instance, consider a scenario where two users, A and B (such as friends or family members) each wear a respective pair of earbuds and each have a respective smartphone, and where both users want to listen to the same audio as each other from user A’s smartphone. In this scenario, each user’s pair of earbuds may define a respective SNK, each user’s smartphone may be configured with AST logic that functions as an AST for that user’s earbuds, and user A’s smartphone may also be configured with SRC logic that functions as a SRC to broadcast the audio for receipt and playout by one or more recipient SNKs.
[0014] With this arrangement, it may be useful in some cases to establish a control connection between the AST logic in user B’s smartphone and the SRC logic in user A’s smartphone, to facilitate exchange of broadcast-related control signaling between user B’s earbuds and the SRC logic in user A’s smartphone, via the AST logic in user B’s smartphone. Further, it may be useful in some cases to establish a control connection (i.e., controlcommunication) internally in user A’s smartphone between the AST logic in user A’s smartphone and the SRC logic in user A’s smartphone, to facilitate exchange of broadcast- related control signaling between user A’s earbuds and the SRC logic in user A’s smartphone, via the AST logic in user A’s smartphone.
[0015] Alternatively, it may be useful to establish a more direct control connection between user B’s earbuds and the SRC logic in user A’s smartphone, without use of an AST. However, if a control connection will already exist between user B’s earbuds and the AST logic in user B’s smartphone, then, rather than adding another connection with user B’s earbuds, it may be more efficient to simply make use of the existing control connection between user B’s earbuds and the AST logic in user B’s smartphone, and to add a control connection between the AST logic in user B’s smartphone and the SRC logic in user A’s smartphone to facilitate exchange of control information ultimately between user B’ s earbuds and the SRC logic in user A’s smartphone.
[0016] Providing a control connection respectively between each SNK’s AST and the SRC (or directly between each SNK and the SRC) can facilitate technical improvements in the SRC’s audio broadcast, by enabling the SRC to configure the audio broadcast in a manner that takes into account capabilities of the one or more SNKs that will receive and play out the SRC’s audio broadcast.
[0017] As noted above, an example protocol may define a set of frequency channels that can be used for adaptive frequency hopping. BLE, for instance, operates on a group of 40 frequency channels in the 2.4 Gigahertz (GHz) band, with the channels spaced apart from each other by 2 MHz. Of these channels, three are reserved for use to carry advertising messaging, and 37 are available for use to carry data communications. As indicated above, transmitting and receiving devices may adaptively hop among a set of such channels according to an agreed channel-hopping algorithm.
[0018] Under an example protocol, a controlling device selects a set of frequency channels that will be used for the adaptive frequency hopping and establishes a channel map specifying the select set of channels to be used. With an implementation of BLE audio, for instance, an audio source selects a subset of the 37 BLE channels that will be used for adaptive frequency hopping and establishes a channel map that specifies the selected channels. An example channel map can be a bit string with bits or bit pairs corresponding to the respective possible channels and with bit values indicating which of those channels are included in the channel map. The audio source then provides this channel map for reference by a receivingdevice. And per a defined channel-hopping algorithm, the audio source and receiving device then hop among the channels in the channel map to facilitate communication of audio from the audio source to the receiving device.
[0019] In an example implementation, the audio source selects the channels to include in the channel map based on an evaluation by the audio source of per-channel quality. For instance, the audio source may monitor one or more per-channel quality metrics such as noise level, signal-to-noise ratio (SNR), signal-to-interference-plus-noise ratio (SINR), packeterror rate (PER), etc., and the audio source may select a group of the channels that the audio source deems to be of the best quality. The audio source may then establish a channel map that designates that selected group of channels, as the group of channels that the audio source deems likely to support best audio communication, and the audio source may configure itself to apply the channel map and also provide the channel map for application by the receiving device. The audio source and receiving device may then hop among the channels in the channel map, to facilitate their audio communication.
[0020] Further, the audio source may from time to time update this channel map based on the audio source’ s continued evaluation of per-channel quality. For instance, the audio source may continue to monitor the per-channel quality, and if the audio source finds that a given channel in the channel map has poor quality, the audio source may then remove that channel from the channel map and possibly add a different channel in its place. The audio source may then configure itself to apply the revised channel map and provide the revised channel map for application by the receiving device as well, so that the audio source and receiving device can then hop among the channels of the revised channel map as they continue their audio communication.
[0021] In practice, the channel quality perceived by the audio source may differ from channel quality perceived by the receiving device. For instance, if there is noise on a given channel, the receiving device may be closer than the audio source to the origin of that noise, so the receiving device may have poor RF quality on that channel while the audio source may have good RF quality on that channel. To account for this problem, the audio source may take into account per-channel packet error rate based on acknowledgement messaging that the audio source receives from the receiving device. For instance, if the audio source and receiving device are configured to engage in an acknowledgement and retransmission scheme in which the receiving device sends to the audio source a positive or negative acknowledgement respectively for each audio packet transmission from the audio source, the audio source canfind that the receiving device tends to send negative acknowledgements often when transmission occurs on a given channel. In response, the audio source can deem that channel to be problematic and can therefore remove it from the channel map and configure use of an updated channel map that omits that channel.
[0022] With example broadcasting of audio, however, this may not be possible, as there would be no acknowledgement and retransmission scheme between the SRC and each of one or more SNKs that would receive and play out the audio broadcast from the SRC.
[0023] Providing a control connection respectively between each SNK’s AST and the SRC (or directly between each SNK and the SRC), among other possibilities, can usefully help to overcome this technical problem, by enabling the SRC to learn when one or more SNKs that will receive and play out the SRC’s audio broadcast (e.g., that will continue to receive and play out the audio broadcast) has detected poor wireless quality on the given channel.
[0024] For instance, each SNK can regularly monitor RF quality per channel as to each available channel (e.g., as to each of the 37 BLE channels) and can determine for each channel whether the SNK deems the channel to be usable for adaptive frequency hopping of the SRC’s audio broadcast. By way of example, if the monitored RF quality of a channel is at least as high as a predefined high-quality threshold, then the SNK may deem the channel to be usable for the adaptive frequency hopping, and if the monitored RF quality of a channel is not at least as high as the predefined quality threshold or is perhaps at least as low as a predefined low-quality threshold, then the SNK may deem the channel to not be usable for the adaptive frequency hopping. The SNK can then accordingly generate a SNK-specific channel map that indicates respectively for each available channel whether the SNK deems the channel to be usable for the adaptive frequency hopping. And the SNK can transmit this SNK-specific channel map to the SNK’s AST, and the SNK’s AST can in turn transmit the SNK-specific channel map to the SRC.
[0025] When the SRC thereby receives a SNK-specific channel map from each of the one or more SNKs that will receive and play out the SRC’s audio broadcast (e.g., that will continue to receive and play out the SRC’s audio broadcast), the SRC can determine whether at least a predefined threshold portion of the one or more SNKs deems a given channel to be usable in the adaptive frequency hopping, and the SRC can use that determination as a basis to control whether to include the given channel in the channel map for the audio broadcast. For example, if the determination is affirmative, then, based at least on the determination, the SRC can include the given channel in the channel map, whereas, if the determination is the negative,then, based at least on the determination, the SRC can exclude the given channel from the channel map.
[0026] Furthermore, this process can be contingent on whether the SRC itself also deems the given channel to be usable in the adaptive frequency hopping. For instance, based on its own per-channel quality monitoring, the SRC can maintain a list of the channels that the SRC deems to be high enough quality to be used for adaptive frequency hopping of the SRC’s audio broadcast. For each such channel, the SRC can then determine whether at least the threshold portion of the one or more SNKs also deems the channel to be usable for the adaptive frequency hopping and (i) if so, can then include the channel in the channel map for the audio broadcast or (ii) if not, can exclude the channel from the channel map that for the audio broadcast.
[0027] Note also that at issue can similarly be whether at least a threshold portion of the one or more SNKs has deemed a given channel to be not usable for the adaptive frequency hopping. For instance, the SRC can determine based on the SNK-specific channel map of each of the one or more SNKs that will receive and play out the SRC’s audio broadcast whether at least a predefined threshold portion of the one or more SNKs deems a given channel to not be usable for the adaptive frequency hopping, and the SRC can use that determination as a basis to control whether to include the given channel in the channel map. For example, if the determination is affirmative, then, based at least on the determination, the SRC can exclude the channel from the channel map, whereas, if the determination is negative, then, based at least on the determination, the SRC can include the channel in the channel map.
[0028] Accordingly, in one respect, disclosed is a method to control audio broadcast from a device. The method includes the device broadcasting a channel map defining a set of channels to be used for adaptive frequency hopping of the audio broadcast, the broadcast channel map being usable by each of a plurality of SNKs to facilitate receiving by the SNKs the audio broadcast from the device. Further, the method includes the device receiving report signaling indicating, respectively for each SNK of the plurality of SNKs, whether the SNK deems a given channel to be usable in the adaptive frequency hopping of the audio broadcast.
[0029] The method then includes the device making a determination, based on the received report signaling, whether at least a predefined threshold portion of the SNKs deems the given channel to be usable in the adaptive frequency hopping of the audio broadcast. And the method includes, based on the determination, the device controlling whether to include the given channel in the channel map that the device broadcasts for the adaptive frequency hoppingof the audio broadcast. Namely, the controlling can include (i) if the determination is affirmative, then, based at least on the determination, the device including the given channel in the channel map, and (ii) if the determination is negative, then, based at least on the determination, the device excluding the given channel from the channel map.
[0030] In another respect, disclosed is a device that has a wireless communication interface through which to engage in control signaling and to provide an audio broadcast from the device, and that has a processor, non-transitory data storage, and program instructions stored in the non-transitory data storage and executable by the processor to cause the device to carry out operations for controlling the audio broadcast from the device. The operations include broadcasting a channel map defining a set of channels to be used for adaptive frequency hopping of the audio broadcast, the broadcast channel map being usable by each of a plurality of SNKs to facilitate receiving by the SNKs the audio broadcast from the device. Further, the operations include receiving report signaling indicating, respectively for each SNK of the plurality of SNKs, whether the SNK deems a given channel to be usable in the adaptive frequency hopping of the audio broadcast.
[0031] In this implementation as well, the operations include making a determination based on the received report signaling, whether at least a predefined threshold portion of the SNKs deems the given channel to be usable in the adaptive frequency hopping of the audio broadcast. And the operations include controlling, based on the determination, whether to include the given channel in the channel map that the device broadcasts for the adaptive frequency hopping of the audio broadcast, with the controlling including (i) if the determination is affirmative, then, based at least on the determination, including the given channel in the channel map, and (ii) if the determination is negative, then, based at least on the determination, excluding the given channel from the channel map.
[0032] In still a further respect, disclosed is a non-transitory computer-readable medium having stored thereon program instructions executable by a processor of a device to cause the device to carry out operations for controlling audio broadcast from the device. The operations include broadcasting a channel map defining a set of channels to be used for adaptive frequency hopping of the audio broadcast, the broadcast channel map being usable by each of a plurality of SNKs to facilitate receiving by the SNKs the audio broadcast from the device. Further, the operations include receiving report signaling indicating, respectively for each SNK of the plurality of SNKs, whether the SNK deems a given channel to be usable in the adaptive frequency hopping of the audio broadcast.
[0033] In this implementation too, the operations include making a determination based on the received report signaling, whether at least a predefined threshold portion of the SNKs deems the given channel to be usable in the adaptive frequency hopping of the audio broadcast. And the operations include controlling, based on the determination, whether to include the given channel in the channel map that the device broadcasts for the adaptive frequency hopping of the audio broadcast, with the controlling including (i) if the determination is affirmative, then, based at least on the determination, including the given channel in the channel map, and (ii) if the determination is negative, then, based at least on the determination, excluding the given channel from the channel map.
[0034] In addition, each SNK can regularly monitor RF quality per channel in the channel map and, upon detecting that the quality of a given channel is threshold poor, can output associated report signaling such as a report of the detected poor channel quality, possibly as a request to remove the poor-quality channel from the channel map. For instance, the SNK can transmit this report signaling to the SNK’s AST, and the SNK’s AST can then transmit the report signaling its control connection to the SRC. When the SRC thereby learns that at least a predefined threshold portion of the one or more SNKs that will receive and play its audio broadcast have detected threshold poor quality on a given channel, the SRC can then conveniently update the channel map for its audio broadcast to omit that problem channel. This process may thereby help improve overall performance of the SRC’s audio broadcast.
[0035] Accordingly, in another respect, disclosed is a method to control processing of audio broadcast from a device. The method includes the device broadcasting a channel map that defines a set of frequency channels to be used for adaptive frequency hopping of the audio broadcast. Further, the method includes the device receiving report signaling based on monitoring of the set of frequency channels by one or more SNKs that will receive and play out the audio broadcast from the device, the report signaling indicating that at least a predefined threshold portion of the one or more SNKs has detected at least predefined threshold poor wireless signal quality on a given frequency channel of the set of frequency channels.
[0036] The method then includes, based on the received report signaling indicating that at least the predefined threshold portion of the one or more SNKs has detected at least the predefined threshold poor wireless channel quality on the given frequency channel of the set of frequency channels, (i) the device reconfiguring the channel map to produce a revised channel map that excludes the given frequency channel and (ii) the device broadcasting the revised channel map to be used for the adaptive frequency hopping of the audio broadcast.
[0037] In another respect, disclosed is a device that has a wireless communication interface through which to engage in control signaling and to provide an audio broadcast from the device, and that has a processor, non-transitory data storage, and program instructions stored in the non-transitory data storage and executable by the processor to cause the device to carry out operations for controlling processing of the audio broadcast from the device.
[0038] The operations carried out by the device include broadcasting a channel map defining a set of frequency channels to be used for adaptive frequency hopping of the audio broadcast. Further, the operations include receiving report signaling based on monitoring of the set of frequency channels by one or more SNKs that will receive and play out the audio broadcast from the device, with the report signaling indicating that at least a predefined threshold portion of the one or more SNKs has detected at least predefined threshold poor wireless signal quality on a given frequency channel of the set of frequency channels.
[0039] Still further, the operations include, based on the received report signaling indicating that at least the predefined threshold portion of the one or more SNKs has detected at least the predefined threshold poor wireless channel quality on the given frequency channel of the set of frequency channels, (i) reconfiguring the channel map to produce a revised channel map that excludes the given frequency channel and (ii) broadcasting the revised channel map to be used for the adaptive frequency hopping of the audio broadcast.
[0040] Further, in another respect, disclosed is a non-transitory computer-readable medium having stored thereon program instructions executable by a processor of a device to cause the device to carry out operations for controlling audio broadcast from the device. The operations include broadcasting a channel map defining a set of frequency channels to be used for adaptive frequency hopping of the audio broadcast. Further, the operations include receiving report signaling based on monitoring of the set of frequency channels by one or more SNKs that will receive and play out the audio broadcast from the device, the report signaling indicating that at least a predefined threshold portion of the one or more SNKs has detected at least predefined threshold poor wireless signal quality on a given frequency channel of the set of frequency channels.
[0041] Still further, in this implementation as well, the operations include, based on the received report signaling indicating that at least the predefined threshold portion of the one or more SNKs has detected at least the predefined threshold poor wireless channel quality on the given frequency channel of the set of frequency channels, (i) reconfiguring the channel map to produce a revised channel map that excludes the given frequency channel and (ii)broadcasting the revised channel map to be used for the adaptive frequency hopping of the audio broadcast.
[0042] In addition, in another respect, disclosed is a system that includes various means for carrying out each of the operations described herein.
[0043] In each of these implementations, as discussed above, (i) each SNK may optionally have a control connection with a respective AST, as a SNK-AST control connection of the SNK, (ii) the device may provide a wireless broadcast source, SRC, and (iii) each SNK’s AST may have a respective control connection with the SRC, as an AST-SRC control connection of the SNK. The act of the device receiving the report signaling can then involve the device receiving a channel quality report and / or a SNK-specific channel map sent from a given one of the SNKs to the given SNK’s AST over the given SNK’s SNK-AST control connection and in turn from the given SNK’s AST to the SRC over the given SNK’s AST-SRC control connection.
[0044] Further, each of one or more of the SNKs at issue here may already be receiving and playing out the audio broadcast from the SRC when this controlling occurs, and may continue to receive and play out the audio broadcast from the SRC. Alternatively, as to each of one or more SNKs, the controlling may occur before the SNK starts to receive the audio broadcast from the SRC.
[0045] With example implementations, the SRC may thus configure the channel map for its audio broadcast based at least in part on a channel assessment conducted by each of one or more SNKs that will receive the SRC’s audio broadcast. On the other hand, in a scenario where the SRC does not receive a channel assessment by any SNK that will receive the SRC’s audio broadcast, the SRC can default to configuring the channel map for its audio broadcast based on just the SRC’s own channel assessment.
[0046] These as well as other aspects, advantages, and alternatives will become apparent to those of ordinary skill in the art by reading the following detailed description, with reference where appropriate to the accompanying drawings. Further, it should be understood that the descriptions provided in this summary and below are intended to illustrate the invention by way of example only and not by way of limitation.BRIEF DESCRIPTION OF THE DRAWINGS
[0047] Figure l is a simplified illustration of an example scenario in which various features can be implemented.
[0048] Figure 2 is a simplified illustration of how the devices of Figure 1 can be involved with an audio broadcast.
[0049] Figure 3 is a simplified block diagram illustrating inclusion of example SRC and AST logic modules.
[0050] Figure 4 is a simplified block diagram illustrating SNK-AST connections and AST-SRC connections.
[0051] Figure 5 is a message flow diagram illustrating example signaling.
[0052] Figure 6 is a flow chart illustrating an example method.
[0053] Figure 7 is another message flow diagram illustrating example signaling.
[0054] Figure 8 is another flow chart illustrating an example method.
[0055] Figure 9 is a simplified block diagram of an example device that can function as an SRC.
[0056] Figure 10 is a simplified block diagram of an example SNK.DETAILED DESCRIPTION
[0057] The present disclosure will discuss example implementations in the context of a SRC being a smartphone and multiple SNKs each being a pair of earbuds, and further using BLE with BAP as an example wireless audio communication protocol. It will be understood, however, that various disclosed principles can apply in any of a variety of other contexts, such as where the SRC is another type of audio source device and / or where the SNKs are or include one or more types of devices other than earbuds. Further, the disclosed principles can apply as well with respect to other wireless audio communication protocols, not limited to BLE with BAP.
[0058] More generally, it will be understood that the disclosed arrangements and processes are set forth for purposes of example only and may take various other forms. For instance, elements and operations can be re-ordered, distributed, replicated, combined, omitted, added, or otherwise modified. In addition, it will be understood that functions described herein as being carried out by one or more components can be implemented by and / or on behalf of those components, through hardware, firmware, and / or software, such as by one or more processing units executing program instructions or the like.
[0059] Referring to the drawings, as noted above, Figure l is a simplified illustration of an example scenario in which features of the present disclosure can be implemented. Without limitation, this example scenario involves three users, A, B, and C, each having a respective smartphone and each wearing a respective pair of earbuds. In particular, the figure depicts user A having a respective smartphone 100 and wearing a respective pair of earbuds 102, user B having a respective smartphone 104 and wearing a respective pair of earbuds 106, and user C having a respective smartphone 108 and wearing a respective pair of earbuds 110.
[0060] With the arrangement shown, each user’s earbuds may be wirelessly paired with the user’s smartphone, having an established Bluetooth connection such as an ACL link through which the earbuds and the smartphone can engage in control signaling with each other. For instance, each user may have engaged in a pairing process to pair the user’s earbuds with the user’ s smartphone, with the earbuds broadcasting an inquiry message requesting to connect, the smartphone discovering the inquiry message and sending an inquiry response, and the earbuds and smartphone then engaging in further signaling with each other to establish a secure ACL link through which they can exchange data such as control signaling with each other. As to a given pair of earbuds that may define a coordinated set of devices, one earbud of the pair may be an endpoint for this ACL link with the user’s smartphone.
[0061] This ACL link between a user’s smartphone and the user’s earbuds may facilitate setup and control of unicast audio transmission directly from the user’s smartphone (as an “initiator”) to the user’s earbuds (as an “acceptor” or coordinated set of acceptors). For instance, through this ACL link, the user’s smartphone and earbuds may work with each other to agree on configuration of an audio codec and a physical layer structure for the unicast audio transmission, and specifically setup of one or more connected isochronous streams (CISs) that carry unicast audio transmission from the smartphone to the earbuds, and establishment of a channel map for use in adaptive frequency hopping.
[0062] With BLE unicasting of audio by way of example, each CIS defines a physical layer timing structure for carrying the unicast audio data transmissions spaced by a constant time interval, or isochronous interval, and for carrying associated acknowledgement signaling from the acceptor to the initiator. In particular, for unicast audio, the initiator would divide the audio stream into a sequence of audio packets as noted above and, in each successive isochronous interval, would transmit to an access address of the acceptor a next one of the audio packets and then receive from the acceptor an acknowledgement message indicatingwhether the acceptor successfully received (e.g., successfully received and decoded) that audio packet.
[0063] Further, each CIS would be configured to support an acknowledgement and retransmission scheme as noted above for the unicast audio transmission. In particular, each isochronous interval of the CIS would be configured to define multiple sub -intervals, each for carrying a respective transmission attempt and an associated acknowledgement message. In an example unicast acknowledgement and retransmission scheme, (i) if the acceptor successfully receives a given audio packet, the acceptor sends a positive acknowledgement (ACK) to the initiator, after which the initiator may proceed to transmit a next audio packet to the acceptor, but (ii) if the acceptor fails to successfully receive a given audio packet, the acceptor may send a negative acknowledgement (NACK) to the initiator, and if the initiator receives a NACK or at least does not receive an ACK, the initiator may then responsively re-transmit the audio packet to the acceptor.
[0064] Thus, upon transmission of an audio packet in a given sub-interval of a given isochronous interval, if the initiator does not then receive in that sub-interval an ACK from the acceptor (e.g., if the initiator receives a NACK from the acceptor), the initiator can retransmit the audio packet in a next sub-interval of the isochronous interval, repeating this process for as many sub-intervals as the CIS configuration defines per isochronous interval, until achieving successful transmission, and then turning to transmission of a next audio packet in a next isochronous interval.
[0065] BLE also defines a connected isochronous group (CIG) construct that would be made up of one or more CISs to be unicast from an initiator to an acceptor (or to a coordinated set of acceptors), which can support unicasting of stereo or other multiple channel audio, with one audio channel per CIS. With a pair of earbuds or other coordinated set of acceptors, for instance, the initiator may have a separate ACL link respectively with each acceptor and may use that ACL link to set up a respective CIS for unicasting audio to that acceptor. The multiple CISs of the CIG would have the same isochronous intervals as each other but would be shifted serially in time from each other, as the initiator’s transmissions on the two CISs would be time-division multiplexed with each other. For instance, the initiator may transmit a left channel audio packet, then receive an acknowledgement for that transmission, then transmit a right-channel audio packet, then receive an acknowledgement for that transmission, and so forth.
[0066] Further, to facilitate synchronized playback of unicast audio by multiple acceptors of a coordinated set, such as pair of earbuds, a CIG can have a defined synchronization point per isochronous interval, which is a common point in time by which every acceptor in the coordinated set would have had an opportunity to receive the audio packet destined to it in that interval. This synchronization point may be established by timing measurement conducted on the acceptors’ associated ACL links. Further, the CIG can define a presentation delay, as a time delay that all of the acceptors in the coordinated set should wait after the synchronization point before playing out their respectively received audio packet, allowing enough time for each accept to decode and play out the audio.
[0067] With unicasting of audio, as noted above, the initiator may establish a channel map defining the RF channels that the initiator and acceptor will use for adaptive channel hopping of their audio communication, and the initiator may configure use of this channel map through control signaling with the acceptor, such as during setup of its audio transmission to the acceptor. Further, as noted above, the initiator may continue to monitor perchannel audio quality based on packet-error-rate evaluation in view of acknowledgement messaging from the acceptor and may update the channel map accordingly when appropriate.
[0068] Aside from possibly supporting unicast audio transmission, the devices of the example implementation can support wireless audio broadcast service. For instance, one of the users’ smartphones can be configured to function as a wireless audio broadcast source, SRC, and each of the three users’ pairs of earbuds can be configured to function respectively as a wireless audio broadcast recipient, SNK. As shown next in Figure 2, for instance, user A’s smartphone 100 can be configured to operate as a SRC, and each user’s pair of earbuds 102, 106, 110 can be configured to operate as a SNK, to receive an audio stream broadcast 112 from user A’s smartphone 100 and to play out that audio in real time to its respective user.
[0069] With example wireless audio broadcast service, there is generally no ACL link between the SRC and a SNK, and so the SRC and SNK generally would not work with each other to configure audio transmission from the SRC. Rather, the SRC would simply broadcast configuration information about its audio broadcast, and the SRC would simply broadcast audio in accordance with that configuration. Any SNK within range of the SRC can then read the broadcast configuration information to discover presence of the SRC’s broadcast and can then receive and play the broadcast audio.
[0070] As noted above, BLE broadcasting of audio makes use of one or more broadcast isochronous streams (BISs) that carry broadcast audio transmission from the SRC for receipt and playout by any applicable SNKs.
[0071] These BISs can be similar in structure to the CIS arrangement described above. As with a CIS, a BIS is divided over time into isochronous intervals. However, unlike a CIS, there are no acknowledgements from the acceptor (SNK) to the initiator (SRC). Instead, to help ensure successful receipt of the audio packet transmitted in each isochronous interval, the BIS can be configured to include automatic retransmission of the audio packet in each isochronous interval. Namely, each BIS isochronous interval can be divided over time into subintervals, and the SRC can be configured to transmit the same audio packet repeatedly in a group of those sub-intervals. Further, the BIS can define particular time spacing between subintervals.
[0072] Also similar to the CIS arrangement, BLE audio defines a broadcast isochronous group (BIG) that can be made up of one or more BISs, such as one BIS respectively for each of multiple audio channels. With a BIG, each isochronous interval can contain separate sub-intervals for respective BISs. For instance, there can be multiple sub-intervals to carry respectively multiple transmissions of an audio packet of one channel, followed by multiple sub-intervals to carry respectively multiple transmissions of an audio packet of another channel. Or the sub-intervals of respective audio channels can be interleaved with each other over time in the isochronous interval. The BIG may also define spacing between these subintervals, at least in part to enable a receiving SNK to switch between BISs.
[0073] Further, to facilitate broadcast of control information from the SRC to any recipient SNKs without having the benefit of an ACL link, one of the BIS sub-intervals per isochronous interval can be used to carry broadcast control signaling. In particular, the BIG can define a BIG control sub-event for carrying a BIG control packet (e.g., containing a control PDU) from the SRC. The SRC can set a flag (e.g., a control sub-event transmission flag (CSTF) in a packet header) to indicate when such a control packet is present, so that any recipient SNKs can read that control packet.
[0074] BLE further defines a process for a SNK to discover the presence of a broadcast stream from a SRC and to determine how to receive and decode that broadcast stream. In particular, as noted above, the SRC can broadcast a hierarchical set of advertising messages that would ultimately carry BIG configuration information for a given audio broadcast from the SRC, and each applicable SNK can scan for and detect this advertising inorder to learn of the presence of an audio broadcast of interest and to then receive and play out that audio broadcast
[0075] More specifically, according to BLE, the SRC can periodically broadcast extended advertising (ADV_EXT) messages, auxiliary advertising (AUX ADV IND) messages, and periodic advertising (PA) messages. The ADV EXT messages can contain a pointer pointing to and thus allowing a SNK to find the AUX ADV IND messages. And the AUX ADV IND messages can include a universally unique identifier (UUID) of a broadcast audio announcement service and a pointer pointing to and thus allowing the SNK to find the PA messages. The PA messages (which the SRC may broadcast on the order of every 100 or 200 milliseconds (ms)) may then carry additional controller advertising information (ACAD) that includes BIG information (BIGInfo), which defines the BIG structure including one or more BISs, indicating the interval structure of the BIS, pointing to and thus allowing the SNK to find a next periodic BIS interval per BIS, and also carries a channel map (ChM) to be used for the audio broadcast, as well as broadcast audio stream endpoint (BASE) information defining details about each BIS in the BIG, such as codec configuration and metadata regarding the content in the audio stream.
[0076] As further noted above, considering that many SNKs are power sensitive and that the act of regularly scanning for these advertising messages can consume a lot of power, BLE also supports use of a broadcast assistant (AST) to help a SNK more efficiently detect presence of a broadcast stream. The AST can be defined as logic running in a device separate from the SNK. Further, in some cases, a SNK’s AST can be defined as logic running in the same device that functions as the SRC.
[0077] With the example arrangement of Figures 1 and 2, for instance, each user’s respective pair of earbuds can have a respective AST running as program logic in the user’s smartphone, or in another device. Thus, turning next to Figure 3, (i) user A’s smartphone 100 can run SRC logic 114 to function as a broadcast source as noted above and can also run AST logic 116 to function as an AST for user A’s earbuds 102, (ii) user B’s smartphone 104 can run AST logic 118 to function as an AST for user B’s earbuds 106, and (iii) user C’s smartphone 108 can run AST logic 120 to function as an AST for user C’s earbuds 110.
[0078] In this arrangement, each user’s respective earbuds can have an established ACL link with its associated AST in the user’s smartphone. For instance, to support broadcast audio service, the user’s earbuds can engage in pairing signaling with the user’s smartphone as described above to set up this ACL link between the user’s earbuds and the user’s smartphoneand specifically between the user’s earbuds and the AST logic running in the user’s smartphone. As with the discussion above regarding unicast audio transmission, one earbud of the pair of earbuds may be an endpoint for this ACL link with the user’s smartphone. (Further, in some possible implementations, a given AST may function as an AST for multiple SNKs.)
[0079] Thus, as shown in Figure 3, (i) there can be an established ACL link 122 as a SNK-AST connection between user A’s earbuds 102 and the AST logic 116 in user A’s smartphone 100, (ii) there can be an established ACL link 124 as a SNK-AST connection between user B’s earbuds 106 and the AST logic 118 running in user B’s smartphone 104, and (iii) there can be an established ACL link 126 as a SNK-AST connection between user C’s earbuds 110 and the AST logic 120 running in user C’s smartphone 108.
[0080] With the SNK-AST connection thereby established respectively for each user’s earbuds, the AST logic running in the user’s smartphone can work to assist the user’s earbuds as SNK with detecting the presence of a broadcast audio stream. For instance, through the ACL link, the user’s earbuds as SNK can engage in signaling with the associated AST to cause the user’s smartphone to scan for advertising messaging and to cause the AST to report back to the SNK when the smartphone detects applicable advertising from a SRC, e.g., advertising messaging that includes broadcast audio announcement service UUTD. The AST can then cause the smartphone to engage in that scanning, and one the smartphone detects that advertising from a SRC, the AST can then report back to the SNK, providing the SNK with a pointer to the SRC’s PA messaging that carries the BIGInfo data for the audio broadcast. Given this pointer, the SNK can then conveniently find the PA messaging to get the BIGInfo data and can proceed to start receiving one or more BISs from the SRC.
[0081] To further facilitate this process, each user’s earbuds as SNK can expose its capabilities as Published Audio Capabilities Service (PACS) to the AST, which can allow the AST to determine if a detected audio broadcast is of interest to the SNK, and accordingly to control whether to inform the SNK of the broadcast. For instance, the user’s earbuds as SNK may be pre-provisioned with this capabilities data, which may indicate parameters such as information about audio codec and configurations that the earbuds support, as well as types of audio (e.g., audio contexts) that the earbuds support. Over the established ACL link between the earbuds and the AST, the earbuds can thus report this PACS to the AST. (For instance, the AST can request the PACS from the earbuds, and the earbuds can respond by transmitting the PACS to the AST.) Provided with this capability information of the user’s earbuds, the AST can then limit which detected audio broadcasts to tell the earbuds about.
[0082] As discussed above, the present disclosure provides a method that can leverage the existence of an AST beyond (or instead of) having the AST help a SNK to discover presence of broadcast streams, or can otherwise leverage control communication between a SNK and the SRC. In particular, in an example implementation, the disclosure provides that when one or more SNKs will receive an audio broadcast from the SRC, each SNK’s AST can help to provide report signaling from the SNK to the SRC to indicate if and when the SNK detects threshold poor quality on a given RF channel, and the disclosure provides that the SRC can use this reporting as a basis to configure the channel map for its audio broadcast, so as to help improve overall performance of the audio broadcast.
[0083] To facilitate this in practice, each SNK’s respective AST can have an established ACL link or other such connection with the broadcasting SRC, as an AST-SRC connection for the SNK. For instance, when the AST discovers presence of an audio broadcast from a SRC and informs the SNK of this audio broadcast, the SNK may inform the AST that the SNK will receive and play out the discovered audio broadcast from the SRC. Knowing that the SNK will receive and play out the audio broadcast from the SRC, the AST may then engage in pairing signaling with the SRC to establish an ACL link as an AST-SRC connection for the SNK.
[0084] In the arrangement of Figure 3, where the SRC is in user A’ s smartphone and where each user’s smartphone also has a respective AST to assist the user’s earbuds as SNK, a reasonable approach would be to establish AST-SRC connections respectively between user B’s smartphone 104 and user A’s smartphone 100 and between user C’s smartphone 108 and user A’s smartphone 100.
[0085] For instance, when the AST 118 in user B’s smartphone 104 discovers and reports to user B’s earbuds 106 the presence of an audio broadcast from the SRC 114 in user A’s smartphone 100 and / or receives signaling from user B’s earbuds 106 indicating that user B’s earbuds 106 will receive and play out that audio broadcast, the AST 118 in user B’s smartphone 104 can responsively also cause user B’s smartphone 104 to engage in pairing signaling with user A’s smartphone 100 to establish an AST-SRC connection for user B’s earbuds 106. Likewise, when the AST 120 in user C’s smartphone 108 discovers and reports to user C’s earbuds 110 the presence of an audio broadcast from the SRC 114 in user A’s smartphone 100 and / or receives signaling from user C’s earbuds 110 indicating that user C’s earbuds 110 will receive and play out that audio broadcast, the AST 120 in user C’s smartphone 108 can responsively also cause user C’s smartphone 108 to engage in pairing signaling withuser A’s smartphone 100 to establish an AST-SRC connection for user C’s earbuds 110. Alternatively, in some scenarios, one or more of these ACL links may exist already.
[0086] As to an AST-SRC connection for user A’s earbuds 102, the process may be different, since the AST 116 and SRC 114 are both in user A’s smartphone 100. Rather than establishing an ACL link in that context, the AST 116 may engage in signaling with the SRC 114 internally within user A’s smartphone 100, or they may otherwise be configured to communicate with each other, thereby providing an AST-SRC connection.
[0087] Accordingly, turning next to Figure 4, in addition to the established SNK- AST connections 122, 124, 126 for each SNK as discussed above, there can also be established AST-SRC connections for each SNK. Namely, (i) there can be an established AST-SRC connection 128 between user B’s smartphone 104 and user A’s smartphone 100 (ii) there can be an established AST-SRC connection 130 between user C’s smartphone 108 and user A’s smartphone 100, and (iii) there can be an established AST-SRC connection 132 internally within user A’s smartphone 100.
[0088] Note also that, in some scenarios, it may not be possible to establish an ACL link between an AST and a SRC. For instance, in some public broadcast situations (e.g., at airports, train stations, or theaters), a broadcasting source device may not support establishing a connection with an end-user’s device. However, there may be many scenarios where establishing an AST-SRC link may indeed be possible and practical. For instance, in a scenario like that shown in Figure 4, such as where users A, B, and C wish to share audio broadcast from user A’s smartphone, and especially if all three users’ smartphones support this functionality, the smartphones may establish these AST-SRC connections.
[0089] Further, as indicated above, an alternative arrangement may involve establishing an ACL link directly between a SNK and a broadcast source, SRC, through which the SNK can more directly share its channel-quality reporting with the SRC. However, as also noted above, this may not be as practical as using an AST for this purpose, especially in a situation where the SNK and AST would already have an established SNK -AST connection.
[0090] In an example implementation as noted above, the SRC can establish a channel map for its audio broadcast and can broadcast that channel map as part of its BIGInfo configuration signaling. With BLE for instance, the SRC can monitor per-channel quality respectively for each of the 37 channels available for use to carry BLE data communications. For instance, using a wireless communication interface, the SRC can regularly cycle through the channels and measure SNR and / or SINR respectively per channel. The SRC can then selecta subset of the 37 channels (i.e., any subset, up to the full set) that the SRC deems to be of highest quality, or those that the SRC deems to be of high enough quality to be used for its audio broadcast, and the SRC can establish and include in its BIGInfo signaling a channel bit map that specifies which channels will be used for adaptive frequency hopping of its audio broadcast.
[0091] Each of the SNKs that will receive and play out the SRC’s audio broadcast can thus read this channel map from the SRC’s BIGInfo broadcast in order to determine which channels will be used for adaptive frequency hopping of the SRC’s audio broadcast. And the SRC and each SNK can accordingly configure themselves to the channel map per an agreed channel-hopping algorithm.
[0092] Each SNK may further monitor per-channel quality respectively of each available channel (e.g., each of the BLE channels or perhaps specifically each channel that the SRC has specified as being in the channel map). For instance, using a wireless communication interface, the SNK can likewise cycle through the channels, either before starting to receive and play out the audio broadcast or as the SNK hops from one channel to another while receiving and playing out the audio broadcast, and measure SNR and / or SINR respectively per channel. Further, the SNK may measure its per-channel quality based on packet-error rate that the SNK experiences per channel. For example, the SNK can monitor its own packet-error rate per channel, as per-channel rate of audio packet transmissions from the SRC that the SNK did not successfully receive, e.g., per a cyclic redundancy check analysis.) In practice, the SNK may keep a running average of its measured channel -quality per channel as the SNK hops through the channels. The SNK may carry out this monitoring periodically and / or in response to one or more other triggers.
[0093] For each such SNK applying this or another analysis, the SNK can monitor per channel whether the channel quality measured by the SNK is at least as high as a predefined high-quality threshold level such that the SNK deems the channel to be usable in adaptive frequency hopping of the SRC’s audio broadcast, or whether the channel quality measured by the SNK is at least as low as a predefined low-quality threshold level (or perhaps not as high as the high-quality threshold level, among other possibilities), such that the SNK deems the channel to be not usable in adaptive frequency hopping of the SRC’s audio broadcast.
[0094] Based on this analysis, each SNK can generate its own SNK-specific channel map, which can be a bit string like the channel map that the SRC can generate, indicating per channel whether the SNK deems the channel to be usable for the adaptive frequency hoppingor to not be usable for the adaptive frequency hopping. (In some implementations, the channel map may indicate with at least a pair of bits per channel whether the channel is “good”, “bad” or “unknown”. Channels indicated to be “good” would be channels deemed to be usable for the adaptive frequency hopping, whereas channels indicated to be “bad” would be channels deemed to not be usable for the adaptive frequency hopping.)
[0095] Each SNK can then report its generated SNK-specific channel map to SRC by reporting the channel map to the SNK’s AST and the SNK’s AST in turn reporting the channel map to the SRC. (Alternatively, each SNK can more directly report its SNK-specific channel map to the SRC.)
[0096] Given a SNK-specific channel map respectively as to each SNK that will receive the SRC’s audio broadcast (e.g., each SNK that will continue to receive the SRC’s audio broadcast), the SRC can then control which channels to include in the official channel map for the audio broadcast, i.e., the channel map that the SRC broadcasts and that the SRC and each recipient SNK will use for the audio broadcast.
[0097] For instance, of the available BLE channels, the SRC can maintain a list of the channels that the SRC has determined, based on its own per-channel monitoring, to be usable for adaptive frequency hopping of the audio broadcast. Further, for each such channel that the SRC deems to be usable for the adaptive frequency hopping, the SRC can then make a determination based on the SNK-specific channel maps from potentially a plurality of recipient SNKs whether at least a threshold portion of those SNKs also deems the channel to be usable for the adaptive frequency hopping. (The threshold portion might be at least a single SNK, or at least some defined percentage of the SNKs, among other possibilities.) If the determination is affirmative, then, based at least on that determination, the SRC can include the channel in the official channel map for the audio broadcast. Whereas, if the determination is negative, then, based at least on the determination, the SRC can exclude the channel from the official channel map for the audio broadcast.
[0098] Ultimately, this can therefore be a Boolean analysis by the SRC based on both its own per-channel monitoring and the per-channel monitoring by the recipient SNKs. Namely, the SRC can make a determination of whether SRC and at least the predefined threshold portion of the recipient SNKs deem a given channel to be of high enough quality to be usable for the adaptive frequency hopping. If this determination is affirmative, then, based at least on this determination, the SRC can include the given channel in the official channelmap. Whereas, if this determination is negative, then, based at least on this determination, the SRC can exclude the given channel from the channel map.
[0099] Figure 5 is a message flow diagram illustrating how this process can work by way of example with the scenario illustrated in Figure 4.
[0100] As shown in Figure 5, at step 500, the SRC 114 in user A’s smartphone 100 broadcasts a first channel map specifying a set of channels to be used in adaptive frequency hopping for the SRC’s audio broadcast. The SRC’s broadcasting of this first channel map may involve the SRC 114 including the first channel map in the BIGInfo signaling that the SRC 114 includes in its PA messaging and / or may involve the SRC 114 including the first channel map in a BIG control packet, among other possibilities. The SRC 114 further configures itself to apply the first channel map for the SRC’s audio broadcast.
[0101] At step 502, each of the users’ earbuds 102, 106 110 receives the broadcast of this first channel map, reads the channel map, and configures itself to apply the channel map for receipt of the SRC’s audio broadcast. Thus, each of the users’ earbuds 102, 106, 110 would then apply adaptive channel hopping, switching among the channels in the channel map, including channel x, in accordance with an agreed channel-hopping algorithm.
[0102] As the three users’ earbuds 102, 106, 110 hop among these channels, they each also monitor RF quality per channel (e.g., for each available channel or specifically for each channel in the channel map broadcast by the SRC 114), evaluating SNR, SINR, and / or packet-error-rate, among other possibilities. And each of the users’ earbuds 102, 106, 110 generate their own SNK-specific channel map based on this monitoring and transmit their generated SNK-specific channel map to their respective AST, and their respective AST in turn forwards the SNK-specific channel map to the SRC 114.
[0103] In particular, at step 504, user A’s earbuds 102 generate and transmit over their SNK-AST connection 122 to the AST 116 in user A’s smartphone a channel map established based on per-channel monitoring by user A’s earbuds 102, and at step 506, the AST 116 in user A’s smartphone responsively forwards that SNK-specific channel map over its AST-SRC connection 126 to the SRC 114 in user A’s smartphone. Likewise, at step 508, user B’s earbuds 106 generate and transmit over their SNK-AST connection 124 to the AST 118 in user B’s smartphone a channel map established based on per-channel monitoring by user B’s earbuds 106, and at step 510, the AST 118 in user B’s smartphone responsively forwards that SNK-specific channel map over its AST-SRC connection 128 to the SRC 114 in user A’s smartphone. Further, at step 512, user C’s earbuds 110 generate and transmit over their SNK-AST connection 126 to the AST 120 in user C’s smartphone channel map established based on per-channel monitoring by user C’s earbuds 110, and at step 514, the AST 120 in user C’s smartphone responsively forwards that SNK-specific channel map over its AST-SRC connection 130 to the SRC 114 in user A’s smartphone.
[0104] When the SRC 114 in user A’s smartphone has received these SNK-specific channel maps in the example implementation, the SRC 114 may use the SNK-specific channel maps as a basis to control what channels to include in the channel map that the SRC will configure for the SRC’s audio broadcast. For instance, as to a channel that the SRC 114 has determined through its own monitoring to be usable for the adaptive frequency hopping of the audio broadcast, the SRC 114 can determine whether a threshold portion of received SNK- specific channel maps also indicate that that channel is usable for adaptive frequency hopping of the audio broadcast. If so, then the SRC 114 can include that channel in the channel map. Whereas, if not, then the SRC 114 can exclude that channel from the channel map.
[0105] Based at least on this analysis, the SRC 114 can thus revise the channel map for its audio broadcast, possibly adding one or more channels and / or removing one or more channels. At step 516, the SRC 114 can then broadcast the revised channel map as a replacement for the first channel map. For instance, the SRC 114 can include the revised channel map, in place of the first channel map, in the BIGInfo signaling that the SRC 114 includes in its PA messaging. Further, the SRC 114 can include a revised channel map, or perhaps an indication of the change to the first channel map, a BIG control packet that the SRC 114 includes in an isochronous stream for its audio broadcast.
[0106] Accordingly, each of the users’ earbuds 102, 106 110 can receive and read the broadcast of this revised channel map (or associated map-change indication) and configure itself to apply the revised channel map moving forward for receipt of the SRC’s audio broadcast.
[0107] Figure 6 is a flow chart illustrating an example method that can be carried out in accordance with the present disclosure to help control audio broadcast from a device. As shown in Figure 6, at block 600, the device broadcasts a channel map defining a set of channels to be used for adaptive frequency hopping of the audio broadcast, the broadcast channel map being usable by each of a plurality of SNKs to facilitate receiving by the SNKs the audio broadcast from the device. Further, at block 602, the device receives report signaling indicating, respectively for each SNK of the plurality of SNKs, whether the SNK deems a given channel to be usable in the adaptive frequency hopping of the audio broadcast.
[0108] At block 604, the device makes a determination, based on the received report signaling, whether at least a predefined threshold portion of the SNKs deems the given channel to be usable in the adaptive frequency hopping of the audio broadcast. And at block 606, the device controls, based on the determination, whether to include the given channel in the channel map that the device broadcasts for the adaptive frequency hopping of the audio broadcast, with the controlling including (i) if the determination is affirmative, then, based at least on the determination, including the given channel in the channel map, and (ii) if the determination is negative, then, based at least on the determination, excluding the given channel from the channel map.
[0109] In line with the discussion above, the report signaling indicating, respectively for each SNK, whether the SNK deems the given channel to be usable in the adaptive frequency hopping of the audio broadcast can be based on monitoring by the SNK of the given channel.
[0110] Further, as discussed above, the report signaling indicating, respectively for each SNK, whether the SNK deems the given channel to be usable in the adaptive frequency hopping of the audio broadcast can include a SNK-specific channel map indicating respectively for each of a plurality of channels, including the given channel, whether or not the channel is usable in the adaptive frequency hopping of the audio broadcast.
[0111] Still further, as discussed above, the method can additionally involve the device monitoring the given channel and determining based on the monitoring whether the channel is usable in the adaptive frequency hopping. And the act of including the given channel in the channel map can further be contingent on the device determining that the channel is usable in the adaptive frequency hopping.
[0112] In addition, as discussed above, each SNK of the plurality of SNKs can have a respective control connection with a respective AST, as a SNK-AST control connection of the SNK, the device can function as at least a SRC, and each SNK’s AST can have a respective control connection with the SRC, as an AST-SRC control connection of the SNK. And the act of the device receiving the report signaling indicating for a given SNK of the plurality of SNKs whether the given SNK deems the given channel to be usable in the adaptive frequency hopping of the audio broadcast can involve receiving into the device a SNK-specific channel map reported from a respective AST of the given SNK over a respective AST-SRC control connection of the given SNK, such as a SNK-specific channel map sent from the given SNK to the given SNK’s AST over the given SNK’s SNK-AST control connection and in turn from the given SNK’s AST to the SRC over the given SNK’s AST-SRC control connection.
[0113] Other aspects described herein can apply in this context as well. For instance, the predefined threshold portion of the plurality of SNKs can be a single SNK. Further, the act of receiving the report signaling can occur while the SNKs are wirelessly receiving and playing out the audio broadcast from the device. Still further, at least one SNK of the plurality of SNKs can be a pair of earbuds, and the device can comprise a smartphone.
[0114] In a further example implementation, each SNK that will receive (e.g., continue to receive) the SRC’s audio broadcast can monitor per channel whether the channel quality measured by the SNK is at least as poor as a predefined threshold poor quality level. For instance, for each channel that the SNK monitors, the SNK can determine whether the SNK’s measured SNR, SINR, and / or packet-error rate is at least as low as a threshold level that is deemed to represent unacceptably poor channel quality. And when the SNK detects threshold poor quality on a given channel, the SNK can then report that finding to the SNK’s AST, and the SNK’s AST can in turn report the finding to the SRC. (Alternatively, the SNK can directly inform the SRC of this finding.)
[0115] In one implementation, this reporting can be a report of the measured channel quality (e.g., a ranking, or one or more specific quality measurements), which the SRC can treat as an indication that the SNK detected threshold poor wireless signal quality on the channel. In another implementation, this reporting can be a request to remove or block the channel from the channel map for the SRC’s audio broadcast, which can implicitly represent an indication that the SNK detected threshold poor wireless signal quality on the channel. Other implementations may be possible as well.
[0116] When the SRC thereby learns that the SNK has detected threshold poor quality on the given channel, the SRC can then responsively remove that channel from the official channel map or otherwise exclude the channel from the official channel map, to help improve quality of communication of the SRC’s audio broadcast. In particular, the SRC can responsively revise the channel map to exclude the given channel, and the SRC can configure use of the revised channel map. For instance, the SRC can configure itself to apply the revised channel map moving forward, and the SRC can broadcast the revised channel map as noted above for use by the one or more SNKs that will be receiving and playing out its audio broadcast.
[0117] In an example implementation, the SRC may require at least a predefined threshold portion one or more SNKs that will be receiving and playing out the SRC’s audiobroadcast to report poor quality on a given channel, as a condition for the SRC removing that channel from the broadcast channel map.
[0118] For instance, in a scenario where a given pair of earbuds will be receiving and playing out the SRC’s audio broadcast and where the individual earbuds constitute separate SNK devices (even if control signaling may be handled by just one of the earbuds), the SRC may require at least one of the earbuds of the pair to have reported threshold poor quality on a given channel as a condition for the SRC removing that channel from the broadcast channel map, or the SRC may require that both of the earbuds of the pair have reported threshold poor quality on the given channel as a condition for the SRC removing that channel from the broadcast channel map.
[0119] Likewise, in a scenario where multiple pairs of earbuds will be receiving and playing out the SRC’s audio broadcast, the SRC may require that at least one of the pairs of earbuds has reported threshold poor quality on a given channel as a condition for the SRC removing that channel from the broadcast channel map, or the SRC may require that at least another predefined percentage of the pairs of earbuds has reported threshold poor quality on the given channel as a condition for the SRC removing the channel from the channel map.
[0120] Figure 7 is a message flow diagram illustrating how this further example implementation can work by way of example with the scenario illustrated in Figure 4.
[0121] As shown in Figure 7, at step 700, the SRC 114 in user A’s smartphone 100 broadcasts a first channel map specifying a set of channels to be used in adaptive frequency hopping for the SRC’s audio broadcast, with the first channel map specifying multiple channels including channel “x” (a given one of the channels available for use for the audio broadcast). The SRC’s broadcasting of this first channel map may involve the SRC 114 including the first channel map in the BIGInfo signaling that the SRC 114 includes in its PA messaging and / or may involve the SRC 114 including the first channel map in a BIG control packet, among other possibilities. The SRC 114 further configures itself to apply the first channel map for the SRC’s audio broadcast.
[0122] At step 702, each of the users’ earbuds 102, 106 110 receives the broadcast of this first channel map, reads the channel map, and configures itself to apply the channel map for receipt of the SRC’s audio broadcast. Thus, each of the users’ earbuds 102, 106, 110 would then apply adaptive channel hopping, switching among the channels in the channel map, including channel x, in accordance with an agreed channel-hopping algorithm.
[0123] As the three users’ earbuds 102, 106, 110 hop among these channels, they each also monitor RF quality per channel, evaluating SNR, SINR, and / or packet-error-rate, among other possibilities. In the illustrated example, user B’s earbuds 106 and user C’s earbuds 110 each thereby detect that quality on channel x is threshold poor. Therefore, each of those users’ earbuds 106, 110 reports accordingly to its respective AST, and its respective AST in turn reports accordingly to the SRC 114. In particular, as shown at step 704, user B’s earbuds 106 generate and transmit over their SNK-AST connection 124 to the AST 118 in user B’s smartphone a report indicating that the earbuds 106 have detected threshold poor quality on channel x, and at step 706, the AST 118 in user B’s smartphone responsively sends a corresponding report over its AST-SRC connection 128 to the SRC 114 in user A’s smartphone. Further, at step 708, user C’s earbuds 106 generate and transmit over their SNK- AST connection 126 to the AST 120 in user C’s smartphone a report indicating that the earbuds 110 have detected threshold poor quality on channel x, and at step 710, the AST 120 in user C’s smartphone responsively signals over its AST-SRC connection 130 to the SRC 114 in user A’s smartphone.
[0124] When the SRC 114 in user A’s smartphone has received these reports in the example implementation, the SRC 114 may use the reports as a basis to determine that at least a predefined threshold portion of the SNKs that will receive (e.g., will continue to receive) the SRC’s audio broadcast have detected threshold poor quality on channel x. For instance, the SRC 114 may accordingly determine that at least one of the recipient SNKs has detected threshold poor quality on channel x, or, given the existence of possibly three AST-SRC connections and thus three recipient SNKs, the SRC 114 may accordingly determine that at least 40% of the recipient SNKs have detected threshold poor quality on channel x.
[0125] Based at least on this determination, the SRC 114 then responsively revises the channel map to exclude channel x. For instance, the SRC 114 may remove channel x from the channel map and possibly replace it with a different channel, so the revised channel map would not include the problematic channel. At step 712, the SRC 114 may then broadcast the revised channel map as a replacement for the first channel map. For instance, the SRC 114 can include the revised channel map, in place of the first channel map, in the BIGInfo signaling that the SRC 114 includes in its PA messaging. Further, the SRC 114 can include a revised channel map, or perhaps an indication of the change to the first channel map, a BIG control packet that the SRC 114 includes in an isochronous stream for its audio broadcast.
[0126] Accordingly, at step 714, each of the users’ earbuds 102, 106 110 receives and reads the broadcast of this revised channel map (or associated map-change indication) and configures itself to apply the revised channel map moving forward for receipt of the SRC’s audio broadcast. Thus, each of the users’ earbuds 102, 106, 110 would then apply adaptive channel hopping, switching among the channels in the channel map, now excluding channel x, in accordance with the agreed channel-hopping algorithm.
[0127] Figures 8 is another flow chart illustrating an example method that can be carried out in accordance with the present disclosure to help control processing of audio broadcast from a device. As shown in Figure 8, at block 800, the device broadcasts a channel map defining a set of frequency channels to be used for adaptive frequency hopping of the audio broadcast. At block 802 the device then receives report signaling based on monitoring of the set of frequency channels by one or more broadcast sinks, SNKs, that will receive and play out the audio broadcast from the device, with the report signaling indicating that at least a predefined threshold portion of the one or more SNKs has detected at least predefined threshold poor wireless signal quality on a given frequency channel of the set of frequency channels. Further, at block 804, based on the received report signaling indicating that at least the predefined threshold portion of the one or more SNKs has detected at least the predefined threshold poor wireless channel quality on the given frequency channel of the set of frequency channels, the device reconfigures the channel map to produce a revised channel map that excludes the given frequency channel and the device broadcasts the revised channel map to be used for the adaptive frequency hopping of the audio broadcast.
[0128] In line with the discussion above, each SNK of the one or more SNKs can have a respective control connection with a respective broadcast assistant, AST, defining a SNK-AST control connection of the SNK, the device can function as a broadcast source, SRC, and each SNK’s AST can have a respective control connection with the SRC, as an AST-SRC control connection of the SNK. With this arrangement, the act of the SRC receiving the report signaling can involve receiving into the SRC a channel quality report sent from a given one of the SNKs to the given SNK’s AST over the given SNK’s SNK-AST control connection and in turn from the given SNK’s AST to the SRC over the given SNK’s AST-SRC control connection.
[0129] In addition, as discussed above, at least one SNK of the one or more SNKs can be a pair of earbuds, and the device can be a smartphone. Further, the act of receiving thereport signaling can occur while the one or more SNKs is wirelessly receiving and playing out the audio broadcast from the SRC.
[0130] Further, as discussed, above the predefined threshold portion of the one or more SNKs can be a single SNK. Still further, the report signaling can define a request to remove the given frequency channel from the channel map and / or the report signaling can define a report of level of wireless channel quality of the given frequency channel (such as a level of SNR, SINR, or packet-error rate observed on the given frequency channel for instance).
[0131] Figure 9 is a simplified block diagram illustrating components of an example device, such as but not limited to a smartphone for instance, that may be configured to carry out various features discussed herein, such as the features discussed above in connection with Figures 5, 6, 7, and 8.
[0132] As shown in Figure 9, the example device includes a wireless communication interface 900, a processor 902 and non-transitory data storage 904. These components can be integrated together and / or communicatively linked together in various ways. For instance, the components can be linked together through a system bus, network, or other connection mechanism 906. Alternatively, various integrations and other arrangements are possible.
[0133] The wireless communication interface 900 can support wireless communication between the device and one or more other devices, such as to support providing an audio broadcast from the device for receipt by one or more SNKs, and to support control signaling with each of one or more ASTs serving respective SNKs. Further, the wireless communication interface can support measuring per-channel quality of each of various channels available for use in adaptive channel hopping.
[0134] As such, the wireless communication interface 900 can comprise one or more modules (e.g., one or more chipsets) supporting wireless communication according to a suitable wireless audio broadcast communication protocol. Without limitation, the communication protocol can be Bluetooth, including BLE with BAP as discussed above, so the wireless communication interface 900 can comprise a chipset configured to support Bluetooth communication and particularly BLE communication with BAP. Though other examples are possible as well. As shown, the wireless communication interface 900 can include a radio 908 configured to encode and modulate outgoing data communications for air-interface transmission and to demodulate and decode incoming data communications as well as an antenna structure 910 supporting air interface transmission and reception, among other components.
[0135] The processor 902, which may be a processor of the wireless communication interface 900 and / or a host processor or other processor of the device, can comprise one or more general purpose processors (e.g., one or more microprocessors, etc.) and / or one or more special-purpose processors (e.g., digital signal processors, application-specific integrated circuits, etc.) Further, the non-transitory data storage 904 can comprise one or more volatile and / or non-volatile storage components (e.g., optical, magnetic, or flash storage, RAM, ROM, EPROM, EEPROM, cache memory, and / or other computer-readable media, etc.), possibly integrated in whole or in part with the processor 902.
[0136] As shown, the non-transitory data storage 904 may then store program instructions 912, which may be executable by the processor 902 to carry out various operations described herein. In accordance with the examples above, for instance, these program instructions may define SRC logic, so that the processor 902 executing these instructions can cause the device to carry out various SRC operations described herein. Further, the program instructions may define AST logic, so that the processor 902 executing these instructions can cause the device to carry out various AST operations described herein. The program instructions 912 may thus be executable by the processor 902 of the device to carry out the methods described with respect to the flow charts of Figures 6 and 8, among other possibilities.
[0137] Accordingly, the present disclosure includes subject matter of a device comprising a wireless communication interface through which to engage in control signaling and to provide an audio broadcast from the device, a processor, non-transitory data storage, and program instructions stored in the non-transitory data storage and executable by the processor to cause the device to carry out the method to control audio broadcast from a device, the method including (i) broadcasting, by the device, a channel map defining a set of channels to be used for adaptive frequency hopping of the audio broadcast, wherein the broadcast channel map is usable by each of a plurality of SNKs to facilitate receiving by the SNKs the audio broadcast from the device, (ii) receiving by the device, report signaling indicating, respectively for each SNK of the plurality of SNKs, whether the SNK deems a given channel to be usable in the adaptive frequency hopping of the audio broadcast, (iii) making a determination, by the device, based on the received report signaling, whether at least a predefined threshold portion of the SNKs deems the given channel to be usable in the adaptive frequency hopping of the audio broadcast, and (iv) controlling by the device, based on the determination, whether to include the given channel in the channel map that the device broadcasts for the adaptive frequency hopping of the audio broadcast, wherein the controllingincludes (i) if the determination is affirmative, then, based at least on the determination, including the given channel in the channel map, and (ii) if the determination is negative, then, based at least on the determination, excluding the given channel from the channel map. Further, other method features discussed above can be applied in this context as well.
[0138] Figure 10 is next a simplified block diagram illustrating components of an example SNK that may be configured to carry out various SNK operations described herein. As to a pair of earbuds, for instance, this block diagram may represent components of a given earbud of the pair, among other possibilities.
[0139] As shown in Figure 10, the example SNK includes a wireless communication interface 1000, an audio-presentation interface 1002, a processor 1004, and non-transitory data storage 1006. These components can be integrated together and / or communicatively linked together in various ways. For instance, the components can be linked together through a system bus, network, or other connection mechanism 1008. Alternatively, various integrations and other arrangements are possible.
[0140] The wireless communication interface 1000 can comprise one or more modules (e.g., one or more chipsets) supporting wireless communication between the SNK and one or more other devices, such as to support receiving an audio broadcast from a SRC and to support control signaling with an AST. Further, the wireless communication interface can support measuring per-channel quality of each of various channels available for use in adaptive channel hopping.
[0141] As such, the wireless communication interface 1000 can comprise one or more modules (e.g., one or more chipsets) supporting wireless communication according to a suitable wireless audio broadcast communication protocol. Without limitation, the communication protocol can be Bluetooth, including BLE with BAP as discussed above, so the wireless communication interface 1000 can comprise a chipset configured to support Bluetooth communication and particularly BLE communication with BAP. Though other examples are possible as well. As shown, the wireless communication interface 1000 can include a radio 1010 configured to encode and modulate outgoing data communications for airinterface transmission and to demodulate and decode incoming data communications as well as an antenna structure 1012 supporting air interface transmission and reception, among other components.
[0142] The audio-presentation interface 1002 can comprise one or more modules configured to provide acoustic sound output, such as to play a stream of audio bring receivedfrom a broadcast source. The audio-presentation interface 1002 may comprise or interwork with a digital signal processor that processes a received digital audio stream, a digital -to-analog converter that converts the processed digital audio to analog form, and one or more sound speakers, which, may comprise dynamic drivers and / or balanced armatures, among other possibilities.
[0143] The processor 1004 can comprise one or more general purpose processors (e.g., one or more microprocessors, etc.) and / or one or more special-purpose processors (e.g., digital signal processors, application-specific integrated circuits, etc.), possibly including processors of the wireless communication interface 1000 and the audio-presentation interface 1002, among other possibilities. Further, the non-transitory data storage 1006 can comprise one or more volatile and / or non-volatile storage components (e.g., optical, magnetic, or flash storage, RAM, ROM, EPROM, EEPROM, cache memory, and / or other computer-readable media, etc.), possibly integrated in whole or in part with the processor 1004. As shown, the non-transitory data storage 1006 may then store program instructions 1014, which may be executable by the processor 1004 to carry out various operations SNK described herein.Additional Implementations
[0144] The present disclosure also contemplates a system including a device and a plurality of SNKs, with the device being configured as discussed above for instance.
[0145] In addition, the present disclosure contemplates a non-transitory computer- readable medium (e.g., optical, magnetic, or flash storage, RAM, ROM, EPROM, EEPROM, etc.) having stored thereon program instructions executable by a processor of a device to cause the device to carry out various operations described herein, such as the method described with respect to the flow charts and message flows for instance.
[0146] Further, the present disclosure contemplates a computer program comprising program instructions executable by a processor of a device to cause the device to carry out various operations described herein, such as the method described with respect to the flow charts and message flows for instance.
[0147] Example embodiments have been described above. Those skilled in the art will understand, however, that changes and modifications may be made to these embodiments without departing from the true scope and spirit of the invention.
Claims
CLAIMSWhat is claimed is:
1. A method to control audio broadcast from a device, the method comprising: broadcasting, by the device, a channel map defining a set of channels to be used for adaptive frequency hopping of the audio broadcast, wherein the broadcast channel map is usable by each of a plurality of broadcast sinks (SNKs) to facilitate receiving by the SNKs the audio broadcast from the device; receiving by the device, report signaling indicating, respectively for each SNK of the plurality of SNKs, whether the SNK deems a given channel to be usable in the adaptive frequency hopping of the audio broadcast; making a determination, by the device, based on the received report signaling, whether at least a predefined threshold portion of the SNKs deems the given channel to be usable in the adaptive frequency hopping of the audio broadcast; and controlling by the device, based on the determination, whether to include the given channel in the channel map that the device broadcasts for the adaptive frequency hopping of the audio broadcast, wherein the controlling includes (i) if the determination is affirmative, then, based at least on the determination, including the given channel in the channel map, and (ii) if the determination is negative, then, based at least on the determination, excluding the given channel from the channel map.
2. The method of claim 1, wherein the report signaling indicating, respectively for each SNK, whether the SNK deems the given channel to be usable in the adaptive frequency hopping of the audio broadcast is based on monitoring by the SNK of the given channel.
3. The method of claim 1, wherein the report signaling indicating, respectively for each SNK, whether the SNK deems the given channel to be usable in the adaptive frequency hopping of the audio broadcast comprises a SNK-specific channel map indicating respectively for each of a plurality of channels, including the given channel, whether or not the channel is usable in the adaptive frequency hopping of the audio broadcast.
4. The method of claim 1, further comprising the device monitoring the given channel and determining based on the monitoring whether the channel is usable in the adaptive frequency hopping, wherein including the given channel in the channel map is further contingent on the device determining that the channel is usable in the adaptive frequency hopping.
5. The method of claim 1, wherein the device functions as a broadcast source (SRC), and wherein receiving by the device the report signaling indicating for a given SNK of the plurality of SNKs whether the given SNK deems the given channel to be usable in the adaptive frequency hopping of the audio broadcast comprises receiving into the device a SNK- specific channel map reported from a respective broadcast assistant (AST) of the given SNK over a respective AST-SRC control connection of the given SNK.
6. The method of claim 1, wherein the predefined threshold portion of the plurality of SNKs is a single SNK.
7. The method of claim 1, wherein receiving the report signaling by the device occurs while the SNKs are wirelessly receiving and playing out the audio broadcast from the device.
8. The method of claim 1, wherein the device comprises a smartphone.
9. A device comprising: a wireless communication interface through which to engage in control signaling and to provide an audio broadcast from the device; a processor; non-transitory data storage; and program instructions stored in the non-transitory data storage and executable by the processor to cause the device to carry out the method of any of claims 1-8.
10. A system including a device and a plurality of broadcast sinks (SNKs), the device including:a wireless communication interface through which to provide an audio broadcast from the device; a processor; non-transitory data storage; and program instructions stored in the non-transitory data storage and executable by the processor to cause the device to carry out the method of any of claims 1-8.
11. A non-transitory computer-readable medium having stored thereon program instructions executable by a processor of a device to cause the device to carry out the method of any of claims 1-8.
12. A computer program comprising program instructions executable by a processor of a device to cause the device to carry out the method of any of claims 1-8.
Citation Information
Patent Citations
Evaluation methods and related products for broadcast channels
CN112260778B
Method, device, and computer program for selecting channel in wireless communication system, and recording medium therefor
EP4142359A1
Methods and arrangements for a broadcast audio receiver feedback channel
US20220116711A1