An audio multicast method, device, system, computer device and storage medium
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-12-25
- Publication Date
- 2026-08-11
AI Technical Summary
[0004]有鉴于此,本发明提供了一种音频组播方法、装置、系统、计算机设备及存储介质,以解决音频广播模式下难以实现音频组播功能的问题
Smart Images

Figure CN117793648B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of wireless communication technology, and specifically to an audio multicast method, apparatus, system, computer equipment, and storage medium. Background Technology
[0002] Bluetooth Low Energy (BLE) audio technology employs the Isochronous Channels protocol, including Connected Isochronous Stream (CIS) links for point-to-point communication and Connected Isochronous Group (CIG) links consisting of at least one CIS link. It also includes Broadcast Isochronous Stream (BIS) links for point-to-multipoint communication and Broadcast Isochronous Group (BIG) links consisting of at least one BIS link. Through these protocols, Bluetooth Low Energy audio technology delivers lower power consumption, lower cost, lower latency, higher quality, and richer wireless audio services. Examples include Audio Multicast Channel (AMC) functionality, implemented using multiple CIG links, and Audio Broadcasting Channel (ABC) functionality, implemented using BIG link protocols.
[0003] However, due to the limitation of effective bandwidth, the number of slave devices that can be connected simultaneously by an AMC based on a CIG link is very small. On the other hand, an ABC based on a BIG link, which can connect an unlimited number of slave devices, cannot control the access of a limited number of slave devices, and therefore is difficult to use for implementing audio multicast functions. Summary of the Invention
[0004] In view of this, the present invention provides an audio multicast method, apparatus, system, computer equipment, and storage medium to solve the problem that it is difficult to realize audio multicast function in audio broadcast mode.
[0005] In a first aspect, the present invention provides an audio multicast method applied to a master device. The method includes: broadcasting audio data packets based on a broadcast isochronous group link protocol; performing periodic broadcasting based on an advertising channel; the advertising channel includes a periodic advertising channel; during periodic broadcasting, bidirectional communication is performed with slave devices on the periodic advertising channel according to a pre-configured bidirectional periodic advertising link protocol to allow selected slave devices to team up with the master device; the selected slave devices are slave devices that are allowed to receive audio data packets and extract playable audio data.
[0006] This embodiment enables bidirectional communication between master and slave devices on a periodic advertising channel, thereby negotiating and controlling the access of selected slave devices and a limited number of slave devices, completing the teaming between master and slave devices, and broadcasting audio data packets through the broadcast isochronous group link protocol. Therefore, it can realize audio multicast functionality in audio broadcast mode. In the audio multicast method of this embodiment, the number of access devices is controllable and not limited by bandwidth, making it more widely applicable than existing solutions.
[0007] In one optional implementation, bidirectional communication is performed with slave devices on a periodic advertising channel according to a pre-configured bidirectional periodic advertising link protocol to allow selected slave devices to team up with master devices. This includes: broadcasting search data packets on the periodic advertising channel; receiving teaming request data packets sent by slave devices based on the search data packets; sending configuration data packets to selected slave devices based on slave device information contained in the teaming request data packets, the configuration data packets including configuration information for the selected slave devices to receive audio data packets and extract playable audio data based on the configuration information; and receiving response data packets sent by the selected slave devices based on the configuration data packets to complete teaming up with the selected slave devices.
[0008] In this embodiment, bidirectional communication between the master device and the slave device is achieved through search data packets, team request data packets, configuration data packets, and response data packets, thereby enabling the selected slave device and master device to form a team.
[0009] In one optional implementation, the search packet carries broadcast isochronous group link information and the master device address; the group request packet carries the master device address, slave device address, and device identity information; the configuration packet carries the master device address, the selected slave device address, broadcast isochronous group link information, and group configuration information; the response packet carries the master device address and slave device address; the time slot for sending the search packet and the configuration packet is the time slot for sending synchronization packets as specified by the Bluetooth Low Energy protocol; the time slot for receiving the configuration packet and the group request packet is after the time slot for sending synchronization packets as specified by the Bluetooth Low Energy protocol, and after a predetermined packet interval.
[0010] In this embodiment, by setting the content of search data packets, team request data packets, configuration data packets, and response data packets, a data foundation is provided for realizing team formation between master and slave devices.
[0011] In one optional implementation, the advertising channel is configured according to the Bluetooth Low Energy protocol; the advertising channel further includes a main advertising channel and a secondary advertising channel; periodic broadcasting is performed based on the advertising channel, and further includes sending extended advertising protocol data packets on the main advertising channel and sending auxiliary advertising protocol data packets on the secondary advertising channel for synchronizing with and receiving search data packets from the device.
[0012] Secondly, the present invention provides an audio multicast method applied to a slave device. The method includes: receiving periodic broadcasts from a master device based on an advertising channel, wherein the advertising channel includes a periodic advertising channel; when receiving the periodic broadcasts, performing bidirectional communication with the master device on the periodic advertising channel according to a pre-configured bidirectional periodic advertising link protocol, so as to be allowed by the master device to be a selected slave device to team up with the master device; when teaming up with the master device as a selected slave device, receiving audio data packets broadcast by the master device on a broadcast communication link based on a broadcast isochronous group link protocol, and extracting playable audio data from the audio data packets.
[0013] In one optional implementation, bidirectional communication is performed with the master device on the periodic advertising channel according to a pre-configured bidirectional periodic advertising link protocol, so as to be allowed by the master device to be a selected slave device to team up with the master device. This includes: receiving a search data packet sent by the master device on the periodic advertising channel; sending a team-up request data packet to the master device according to the search data packet; receiving a configuration data packet sent by the master device, the configuration data packet including configuration information, for the selected slave device to receive audio data packets and extract playable audio data based on the configuration information; and, if the configuration data packet is correctly received, sending a response data packet to the master device to complete the team-up with the master device as a selected slave device.
[0014] In one optional implementation, the advertising channel is configured according to the Bluetooth Low Energy protocol; the advertising channel further includes: a main advertising channel and a secondary advertising channel; based on the advertising channel, the system receives periodic broadcasts from the master device, and further includes: searching for extended advertising data packets sent by the master device on the main advertising channel, receiving auxiliary advertising data packets sent by the master device on the secondary advertising channel based on the extended advertising data packets, and synchronizing with and receiving search data packets based on the auxiliary advertising data packets, thereby synchronizing with the master device.
[0015] In one optional implementation, the configuration information includes an access address scrambling code and / or a broadcast code; based on the broadcast isochronous group link protocol, audio data packets broadcast by the master device are received on the broadcast communication link, and playable audio data is extracted from the audio data packets, including: obtaining the access address scrambling code and / or the broadcast code in the configuration information; obtaining the access address of the audio data packets broadcast by the master device according to the access address scrambling code, and receiving the audio data packets based on the access address; and / or, decrypting the received audio data packets using the broadcast code to obtain playable audio data.
[0016] In this embodiment, audio data is obtained by access address scrambling code and / or broadcast code, thereby restricting the acquisition of audio data by slave devices that have not joined the multicast.
[0017] Thirdly, the present invention provides an audio multicast device applied to a master device. The device includes: an audio transmission module for broadcasting audio data packets based on a broadcast isochronous group link protocol; a periodic broadcast module for performing periodic broadcasts based on an advertising channel; the advertising channel includes a periodic advertising channel; and a first teaming module for bidirectional communication with slave devices on the periodic advertising channel according to a pre-configured bidirectional periodic advertising link protocol during periodic broadcasting, so as to allow selected slave devices to team up with the master device; the selected slave devices are slave devices that are allowed to receive audio data packets and extract playable audio data.
[0018] Fourthly, the present invention provides an audio multicast device applied to a slave device. The device includes: a broadcast receiving module for receiving periodic broadcasts from a master device based on an advertising channel, the advertising channel including a periodic advertising channel; a second teaming module for, when receiving periodic broadcasts, performing bidirectional communication with the master device on the periodic advertising channel according to a pre-configured bidirectional periodic advertising link protocol, so as to be allowed by the master device to team up with the master device as a selected slave device; and an audio receiving module for, when teaming up with the master device as a selected slave device, receiving audio data packets broadcast by the master device on a broadcast communication link based on a broadcast isochronous group link protocol, and extracting playable audio data from the audio data packets.
[0019] Fifthly, the present invention provides an audio multicast system, comprising: a master device and a slave device; the master device broadcasts audio data packets based on a broadcast isochronous group link protocol; the master device performs periodic broadcasts based on an advertising channel; the advertising channel includes a periodic advertising channel; when performing periodic broadcasts, the master device communicates bidirectionally with the slave device on the periodic advertising channel according to a pre-configured bidirectional periodic advertising link protocol, so as to allow selected slave devices to team up with the master device; when a slave device is selected to team up with the master device, the slave device receives the audio data packets broadcast by the master device on the broadcast communication link based on the broadcast isochronous group link protocol, and extracts playable audio data from the audio data packets.
[0020] In a sixth aspect, the present invention provides a computer device, comprising: a memory and a processor, the memory and the processor being communicatively connected to each other, the memory storing computer instructions, and the processor executing the computer instructions to perform the audio multicast method of the first aspect or any corresponding embodiment thereof, or the audio multicast method of the second aspect or any corresponding embodiment thereof.
[0021] In a seventh aspect, the present invention provides a computer-readable storage medium storing computer instructions for causing a computer to perform the audio multicast method of the first aspect or any corresponding embodiment thereof, or the audio multicast method of the second aspect or any corresponding embodiment thereof. Attached Figure Description
[0022] To more clearly illustrate the specific embodiments of the present invention or the technical solutions in the prior art, the drawings used in the description of the specific embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are some embodiments of the present invention. For those skilled in the art, other drawings can be obtained from these drawings without creative effort.
[0023] Figure 1 This is a flowchart illustrating an audio multicast method according to an embodiment of the present invention;
[0024] Figure 2 This is a schematic diagram of the public extended ad payload format according to an embodiment of the present invention;
[0025] Figure 3 This is a schematic diagram of the extended packet header format according to an embodiment of the present invention;
[0026] Figure 4 This is a schematic diagram of the extended packet header flag bit according to an embodiment of the present invention;
[0027] Figure 5 This is a flowchart illustrating the audio multicast method implemented by the master device according to an embodiment of the present invention;
[0028] Figure 6 This is a flowchart illustrating another audio multicast method according to an embodiment of the present invention;
[0029] Figure 7 This is a schematic flowchart illustrating a method for implementing audio multicast from a slave device according to an embodiment of the present invention.
[0030] Figure 8 This is a structural block diagram of an audio multicast system according to an embodiment of the present invention;
[0031] Figure 9 This is a structural block diagram of another audio multicast system according to an embodiment of the present invention;
[0032] Figure 10 This is a schematic diagram of the structure of the AMC main speaker according to an embodiment of the present invention;
[0033] Figure 11 This is a schematic diagram of the structure of an AMC speaker according to an embodiment of the present invention;
[0034] Figure 12 This is a structural block diagram of an audio multicast device according to an embodiment of the present invention;
[0035] Figure 13 This is a structural block diagram of another audio multicast device according to an embodiment of the present invention.
[0036] Figure 14 This is a schematic diagram of the hardware structure of a computer device according to an embodiment of the present invention. Detailed Implementation
[0037] To make the objectives, technical solutions, and advantages of the embodiments of the present invention clearer, the technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present invention, not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of the present invention.
[0038] According to an embodiment of the present invention, an audio multicast method embodiment is provided. It should be noted that the steps shown in the flowchart in the accompanying drawings can be executed in a computer system such as a set of computer-executable instructions. Furthermore, although a logical order is shown in the flowchart, in some cases, the steps shown or described may be executed in a different order than that shown here.
[0039] This embodiment provides an audio multicast method applied to a master device, which can be an audio source device or a device capable of audio playback, such as a speaker or a mobile phone. Figure 1 This is a flowchart of an audio multicast method according to an embodiment of the present invention, such as... Figure 1 As shown, the process includes the following steps:
[0040] Step S101: Based on the broadcast isochronous group link protocol, broadcast audio data packets are sent. Specifically, the audio data packets can be sent on the broadcast isochronous stream link and can be carried by BIS data packets. After the master device establishes the BIS link, it sends audio data by sending BIS PDU (Protocol Data Unit) on the link.
[0041] It is understood that the aforementioned broadcast isochronous group link protocol can be the existing Bluetooth BIG link protocol, or a broadcast isochronous group link protocol improved based on the BIG link protocol, or other similar standard protocols or proprietary protocols.
[0042] Step S102: Perform periodic broadcasting based on the advertising channel; the advertising channel includes periodic advertising channels.
[0043] When performing periodic broadcasting in S102, bidirectional communication is conducted with slave devices on the periodic advertising channel according to the pre-configured bidirectional periodic advertising link protocol, so as to allow selected slave devices to team up with master devices; the selected slave devices are slave devices that are allowed to receive audio data packets and extract playable audio data.
[0044] It is understood that the bidirectional periodic advertising link protocol is used to define the specific rules for bidirectional periodic advertising communication between the master and slave devices, such as data transmission time intervals, transmission start times, and data formats. The advertising channel can be one or more pre-specified channels, all of which can be configured according to specific application scenarios. The master device can synchronize with the slave device and perform audio multicast team negotiation through bidirectional periodic broadcasting.
[0045] In the current BLE protocol, the BIG master device enables BIG slave devices to scan and synchronize with the BIG master device with low power consumption by periodically broadcasting on the advertising channel. Specifically, BIG slave devices synchronize with the BIG master device and obtain BIG link information (BIGInfo) through Extended Advertising Protocol Data Units (PDUs) sent by the BIG master device on the Primary Advertising channel, Auxiliary Advertising PDUs (AUX_ADV_IND) sent on the Secondary Advertising channel, and Synchronization PDUs (AUX_SYNC_IND) sent on the Periodic Advertising channel, thereby receiving the audio data carried by the BIS PDU. This mode can enable the access of an unlimited number of slave devices, but it cannot control the access of a limited number of slave devices, nor can it selectively allow slave devices to access, which is not conducive to the implementation of audio multicast functions.
[0046] This embodiment enables bidirectional communication between master and slave devices on a periodic advertising channel, thereby negotiating and controlling the access of selected slave devices and a limited number of slave devices, completing the teaming between master and slave devices, and broadcasting audio data packets through the broadcast isochronous group link protocol. Therefore, it can realize audio multicast functionality in audio broadcast mode. In the audio multicast method of this embodiment, the number of access devices is controllable and not limited by bandwidth, making it more widely applicable than existing solutions.
[0047] In some specific embodiments, the slave device may be a device capable of audio playback, such as a speaker, headphones, or other similar devices.
[0048] The selection of slave devices can be done through pre-set filtering or selection rules, or the slave device information obtained during the bidirectional communication process can be displayed on the user interface for the user to select. This embodiment does not specifically limit the selection method of slave devices. Once the selected slave device has teamed up with the master device, it can correctly receive the BIS PDU and obtain the audio data within it.
[0049] This embodiment provides an audio multicast method, which includes the following steps:
[0050] Step S201: Based on the broadcast isochronous group link protocol, broadcast audio data packets. For details, please refer to [link to details]. Figure 1 Step S101 of the illustrated embodiment will not be described again here.
[0051] Step S202: Periodic broadcasting is performed based on the advertising channel; the advertising channel includes a periodic advertising channel. The advertising channel is configured according to the Bluetooth Low Energy protocol; the advertising channel also includes a main advertising channel and a secondary advertising channel; periodic broadcasting based on the advertising channel further includes sending extended advertising protocol data packets on the main advertising channel and sending auxiliary advertising protocol data packets on the secondary advertising channel, for use in synchronizing and receiving search data packets from the device.
[0052] Specifically, since the advertising channels are configured based on the Bluetooth Low Energy protocol, the Primary Advertising channel and the Secondary Advertising channel are the same as those in the BLE Audio protocol. That is, the Extended Advertising Protocol (ADV) data packets sent on the Primary Advertising channel and the Auxiliary Advertising Protocol (ACP) data packets sent on the Secondary Advertising channel have the same format and content as the data packets sent on the Primary Advertising channel and the Secondary Advertising channel in the Bluetooth Low Energy protocol. This will not be elaborated further. It should be noted that the transmitted Extended Broadcast Protocol (ADV) data packets can be Extended Advertising (ADV_EXT_IND) PDUs, and the Auxiliary Advertising Protocol (ACP) data packets sent on the Secondary Advertising channel can be Auxiliary Advertising (AUX_ADV_IND) PDUs.
[0053] In step S202, during periodic broadcasting, bidirectional communication is conducted with slave devices on the periodic advertising channel according to the pre-configured bidirectional periodic advertising link protocol to allow selected slave devices to team up with the master device; the selected slave devices are those that are allowed to receive audio data packets and extract playable audio data.
[0054] Specifically, including:
[0055] Step S2021: Broadcast and send search data packets on the periodic advertising channel;
[0056] Step S2022: Receive the team request data packet sent by the slave device based on the search data packet;
[0057] Specifically, the time slot for sending the search data packet is the same as the time slot for sending synchronization data packets as specified in the Bluetooth Low Energy protocol. The time slot for receiving the group request data packet is the time slot after the time slot for sending synchronization data packets as specified in the Bluetooth Low Energy protocol, and after a predetermined inter-frame space (T_IFS) interval. That is, after receiving the search data packet, the slave device can send the group request data packet after a preset time interval. This preset time can be the inter-frame space (T_IFS), for example, 150 microseconds. Before receiving the group request data packet, the master device can continuously send search data packets on the periodic advertising channel. Furthermore, after receiving the group request data packet, the master device can use a cyclic redundancy checksum (CRC) to verify its correct reception, i.e., check whether the CRC checksum information carried in the group request data packet is correct.
[0058] Step S2023: Send a configuration data packet to the selected slave device according to the slave device information contained in the team request data packet. The configuration data packet includes configuration information, which is used by the selected slave device to receive the audio data packet and extract playable audio data based on the configuration information.
[0059] Specifically, when the master device receives a multicast request data packet, it can select a certain number of slave devices to join the multicast based on the slave device information contained therein, and send configuration data packets to the selected slave devices. Upon receiving the configuration data packet, the slave devices can parse the broadcast isochronous group link information based on the configuration information contained therein, thereby synchronizing with the master device and obtaining playable audio data. It should be noted that the selection of slave devices can be done through pre-set filtering rules or selection rules, or the slave device information in the acquired multicast request data packet can be displayed on the user interface for user selection. This embodiment does not specifically limit the method of slave device selection.
[0060] Step S2024: Receive the response data packet sent by the selected slave device according to the configuration data packet, and complete the teaming with the selected slave device.
[0061] Specifically, the time slot for sending configuration data packets is the same as the time slot for sending synchronization data packets as specified in the Bluetooth Low Energy protocol. The time slot for receiving response data packets is the time slot after the time slot for sending synchronization data packets as specified in the Bluetooth Low Energy protocol, separated by a predetermined packet interval. That is, after the slave device receives the configuration data packet and confirms joining the multicast, it can reply with a response data packet to the master device after a preset interval. Before receiving a response data packet, configuration data packets can be continuously sent on the periodic advertising channel until received. Additionally, after receiving the response data packet, the master device can also use a CRC check to determine whether it has been correctly received.
[0062] It should be noted that the search data packets mentioned above can be sent using the synchronous group search protocol data unit (RSD) format, the group request data packets can be sent using the synchronous group request protocol data unit (RSD) format, the configuration data packets can be sent using the synchronous group configuration protocol data unit (RSD) format, and the response data packets can be sent using the synchronous group response protocol data unit (RSD) format. Note that the protocol data unit is only one form of data packet transmission; other forms can also be used.
[0063] Specifically, the aforementioned Synchronous Group Search (SYNC_GROUP_SEARCH) Protocol Data Unit (PDU), Synchronous Group Request Protocol Data Unit (SYNC_GROUP_REQ PDU), Synchronous Group Configuration Protocol Data Unit (SYNC_GROUP_CONFIG PDU), and Synchronous Group Response Protocol Data Unit (SYNC_GROUP_RSP PDU) can be transmitted on the Periodic Advertising channel, similar to the BLE Audio protocol. Therefore, the SYNC_GROUP_SEARCH PDU, SYNC_GROUP_REQ PDU, SYNC_GROUP_CONFIG PDU, and SYNC_GROUP_RSP PDU are similar to the Synchronous Protocol Data Unit (AUX_SYNC_IND PDU) transmitted on the Periodic Advertising channel in the BLE Audio protocol, all adopting the specifications in the BLE Audio standard, such as... Figure 2 The Common Extended Advertising Payload Format is shown.
[0064] This public extended ad payload format includes a 6-bit extended header length, a 2-bit ad mode (AdvMode), a 0-63 byte extended header, and up to 254 bytes of ad data (AdvData). Figure 3 The image shows the extended header format, which may include fields such as Extended Header Flags, AdvA, TargetA, CTEInfo, ADI, AuxPtr, SyncInfo, TxPower, and ACAD. Extended Header Flags are the extended header flags, such as... Figure 4 As shown, each bit corresponds to an extended header field. A bit set to 1 indicates the presence of the corresponding field in the extended header, while a bit set to 0 indicates its absence. AdvA represents the sending device's address, TargetA represents the target device's address, CTEInfo represents Constant Tone Extension (CTE) information, ADI represents advertising data information, AuxPtr represents the auxiliary advertising pointer, SyncInfo represents synchronization information, TxPower represents transmit power, and ACAD represents Additional Controller Advertising Data. The AUX_SYNC_IND PDU carries BIG information (BIGInfo) via ACAD.
[0065] The differences between SYNC_GROUP_SEARCH PDU, SYNC_GROUP_REQ PDU, SYNC_GROUP_CONFIG PDU, SYNC_GROUP_RSP PDU and AUX_SYNC_IND PDU lie in the content of the Extended Header and the AdvMode.
[0066] The difference between the SYNC_GROUP_SEARCH PDU and the AUX_SYNC_IND PDU is that bit 0 of the Extended Header Flags in the SYNC_GROUP_SEARCHPDU is set to 1, indicating that its extended header includes an AdvA field, where AdvA is the master device's address. The other field values of the SYNC_GROUP_SEARCH PDU are the same as those of the AUX_SYNC_IND PDU, all containing BIGInfo (BIG link information) in the ACAD field. AdvMode is set to 0b01, indicating Undirected Grouping Available. Similar to the AUX_SYNC_IND PDU, the SYNC_GROUP_SEARCH PDU provides BIGInfo to slave devices and is also used by the master device to search for nearby slave devices.
[0067] The difference between the SYNC_GROUP_REQ PDU and the AUX_SYNC_IND PDU is that the SYNC_GROUP_REQ PDU sets bits 0 and 1 of its Extended Header Flags to 1, indicating that its extended header contains two fields: AdvA and TargetA. AdvA is the address of the slave device, and TargetA is the address of the master device. However, the ACAD field of the SYNC_GROUP_REQ PDU does not contain BIGInfo, while the other field values are the same as those of the AUX_SYNC_IND PDU. AdvMode is set to 0b11, indicating a Grouping Request type. The AdvData of the SYNC_GROUP_REQ PDU can carry information such as the device name or Universally Unique Identifier (UUID). The SYNC_GROUP_REQ PDU is used by a slave device to request permission from the master device to join a multicast.
[0068] The difference between SYNC_GROUP_CONFIG PDU and AUX_SYNC_IND PDU is that in SYNC_GROUP_CONFIGPDU, bits 0 and 1 of the Extended Header Flags are both set to 1, indicating that its extended header contains two fields: AdvA and TargetA. AdvA is the address of the master device, and TargetA is the address of the slave device. The other field values of SYNC_GROUP_CONFIG PDU are the same as AUX_SYNC_IND PDU, all containing BIGInfo in the ACAD field. AdvMode is set to 0b10, indicating Directed Grouping Available. Similar to AUX_SYNC_IND PDU, SYNC_GROUP_CONFIGPDU provides BIGInfo to slave devices and is also used by the master device to configure multicast or grouping information for slave devices with specific addresses. The group configuration information carried in the AdvData of the SYNC_GROUP_CONFIG PDU may include the scrambling code and / or broadcast code of the BIS PDU access address. The scrambling code of the access address has the same length as the access address and is used to scramble the access address generated by the BIS PDU based on the seed access address parameter in BIGInfo. In other words, the actual access address used by the BIS PDU is obtained by bitwise XORing the access address generated by the seed access address parameter in BIGInfo with the scrambling code. Only slave devices allowed to join the multicast can obtain the scrambling code of the access address, thus restricting slave devices not joined to receiving BIS PDUs broadcast by the master device. When the master device encrypts the BIS PDU payload data, the broadcast code is a parameter required by the slave device to decrypt the BIS PDU payload data. Only slave devices allowed to join the multicast can obtain the Broadcast Code to decrypt the payload of the BIS PDU, thereby restricting slave devices not joined to decrypt the BIS PDU broadcast by the master device to obtain audio data. It is understood that either the access address scrambling code or the broadcast code can be used, or both can be used, or other schemes applicable to this embodiment can be employed to restrict slave devices not joined to receive audio data packets, or to extract playable audio data from audio data packets.
[0069] The difference between the SYNC_GROUP_RSP PDU and the AUX_SYNC_IND PDU is that in the SYNC_GROUP_RSP PDU, bits 0 and 1 of the Extended Header Flags are both set to 1, indicating that its extended header contains two fields: AdvA and TargetA. AdvA is the address of the slave device, and TargetA is the address of the master device. However, the ACAD field of the SYNC_GROUP_RSP PDU does not contain BIGInfo, while the other field values are the same as those of the AUX_SYNC_IND PDU. AdvMode is set to 0b00, indicating the grouping response type. The SYNC_GROUP_RSP PDU is used by the slave device to respond to the master device's grouping configuration and confirm joining the multicast.
[0070] In this embodiment, the link between the master device and the slave device that exchanges the aforementioned SYNC_GROUP_SEARCH PDU, SYNC_GROUP_REQ PDU, SYNC_GROUP_CONFIG PDU, and SYNC_GROUP_RSP PDU can be referred to as a Bidirectional Periodic Advertising (BPA) link.
[0071] As a specific application embodiment of the present invention, the master device is an AMC master device, and the slave device is an AMC slave device, such as... Figure 5 As shown, this audio multicast method is implemented using the following process:
[0072] After the AMC master device enters multicast mode, it first sends a SYNC_GROUP_SEARCH PDU and receives a SYNC_GROUP_REQ PDU. If a SYNC_GROUP_REQ PDU is not received correctly, it continues to send and receive SYNC_GROUP_SEARCH PDUs. If a SYNC_GROUP_REQ PDU is received correctly and the AMC slave device at the corresponding address is allowed to join the multicast, it sends a SYNC_GROUP_CONFIG PDU to the AMC slave device at the specified address and receives a SYNC_GROUP_RSP PDU. Otherwise, it continues to send SYNC_GROUP_SEARCH PDUs to search for AMC slave devices. If a SYNC_GROUP_RSP PDU is received correctly, it successfully teams up with the AMC slave device at the specific address. Otherwise, it continues to send SYNC_GROUP_CONFIG PDUs until a SYNC_GROUP_RSP PDU is received correctly or a timeout occurs. After the AMC master device successfully teams up with an AMC slave device at a specific address, it continues to send SYNC_GROUP_SEARCH PDUs to search for other AMC slave devices and repeats the above teaming process for AMC slave devices.
[0073] This embodiment provides an audio multicast method, applied to a slave device, such as... Figure 6 As shown, the method includes the following steps:
[0074] Step S301: Based on the advertising channel, receive the periodic broadcast from the master device, whereby the advertising channel includes a periodic advertising channel.
[0075] In step S302, when receiving periodic broadcasts, the device communicates bidirectionally with the master device on the periodic advertising channel according to the pre-configured bidirectional periodic advertising link protocol, so as to be allowed by the master device to be selected as a slave device and team up with the master device.
[0076] Step S303: When the selected slave device is paired with the master device, the audio data packets broadcast by the master device are received on the broadcast communication link based on the broadcast isochronous group link protocol, and playable audio data is extracted from the audio data packets.
[0077] The further functional descriptions of each of the above steps are the same as those of the corresponding main devices, and will not be repeated here.
[0078] This embodiment provides an audio multicast method applied to a slave device, the method comprising the following steps:
[0079] Step S401: Based on the advertising channel, receive the periodic broadcast from the master device. The advertising channel includes a periodic advertising channel. Specifically, the advertising channel is configured according to the Bluetooth Low Energy protocol; the advertising channel also includes a main advertising channel and a secondary advertising channel. Receiving the periodic broadcast from the master device based on the advertising channel also includes searching for extended advertising data packets sent by the master device on the main advertising channel, receiving auxiliary advertising data packets sent by the master device on the secondary advertising channel based on the extended advertising data packets, and synchronizing with and receiving search data packets based on the auxiliary advertising data packets, thereby synchronizing with the master device.
[0080] Specifically, slave devices can enter multicast mode through user interface control. Once a slave device enters multicast mode, it needs to synchronize with the master device first. That is, the slave device first searches for extended advertising data packets sent by the master device on the main advertising channel, then receives auxiliary advertising data packets sent by the master device on the secondary advertising channel, and search data packets sent by the master device on the periodic advertising channel.
[0081] In step S402, when receiving periodic broadcasts, the device communicates bidirectionally with the master device on the periodic advertising channel according to the pre-configured bidirectional periodic advertising link protocol, so as to be allowed by the master device to be selected as a slave device and team up with the master device.
[0082] Specifically, step S402 includes:
[0083] Step S4021: Receive the search data packet sent by the master device on the periodic advertising channel; specifically, the search data packet, together with the aforementioned extended advertising data packet and auxiliary advertising data packet, enables synchronization between the slave device and the master device. Once the master device and the slave device are synchronized, the slave device can obtain the BIG link information and receive the audio data carried by the BIS PDU.
[0084] Step S4022: Send a group request data packet to the master device based on the search data packet; specifically, before sending the group request data packet, the slave device first determines whether it has received a preset number of search data packets; after receiving the preset number of search data packets, it sends a group request data packet to the master device.
[0085] After a slave device synchronizes with the master device, to avoid interference caused by multiple slave devices simultaneously sending group request packets, a random delay of several periodic advertising intervals is used. After receiving a search packet again, a group request packet is sent after an interval of T_IFS. The periodic advertising interval is the interval at which search packets are sent; in other words, the master device sends a search packet once every periodic advertising interval. Each time the master device sends a search packet, the slave device receives one search packet. After several periodic advertising intervals have elapsed, i.e., after receiving a certain number of search packets, the slave device can send a group request packet after receiving the last of those search packets, after an interval of T_IFS.
[0086] Step S4023: Receive a configuration data packet sent by the master device. The configuration data packet includes configuration information, which is used by the selected slave device to receive audio data packets and extract playable audio data based on the configuration information.
[0087] Step S4024: If the configuration data packet is correctly received, send a response data packet to the master device to complete the teaming up as the selected slave device with the master device.
[0088] For details, please refer to steps S2023 and S2024 of the above embodiments, which will not be repeated here.
[0089] Step S403: When the selected slave device is paired with the master device, the audio data packets broadcast by the master device are received on the broadcast communication link based on the broadcast isochronous group link protocol, and playable audio data is extracted from the audio data packets.
[0090] Specifically, the configuration information includes access address scrambling codes and / or broadcast codes; step S403 above includes:
[0091] Step S4031: Obtain the access address scrambling code and / or broadcast code from the configuration information;
[0092] Step S4032: Obtain the access address of the audio data packet broadcast by the master device based on the access address scrambling code; and receive the audio data packet based on the access address; and / or,
[0093] Step S4033: Decrypt the received audio data packet using broadcast code to obtain playable audio data.
[0094] Specifically, the configuration information in the configuration data packet sent by the master device includes the scrambling code and / or broadcast code of the BIS PDU access address. When the actual access address used by the BIS PDU is obtained by bitwise XORing the access address generated from the seed access address parameter in BIGInfo with the scrambling code, the configuration information includes this scrambling code. After receiving the configuration information, the slave device extracts the scrambling code from it and obtains the actual access address of the audio data packet based on the scrambling code, thus enabling it to receive the audio data packet. When the information carried in the BIS PDU is encrypted data, the configuration information includes the broadcast code, which is a parameter for decrypting the encrypted data. Therefore, after obtaining the broadcast code based on the configuration information, the slave device decrypts the encrypted data according to the BLE protocol using the broadcast code as a parameter to obtain the audio data.
[0095] As a specific application embodiment of the present invention, the aforementioned extended advertising data packet can be sent in the form of an Extended Advertising Protocol Data Unit (ADV_EXT_IND PDU), the auxiliary advertising data packet can be sent in the form of an Auxiliary Advertising Protocol Data Unit (AUX_ADV_IND PDU), the search data packet can be sent in the form of a Synchronous Group Search Protocol Data Unit (SYNC_GROUP_SEARCH PDU), the group request data packet can be sent in the form of a Synchronous Group Request Protocol Data Unit (SYNC_GROUP_REQ PDU), the configuration data packet can be sent in the form of a Synchronous Group Configuration Protocol Data Unit (SYNC_GROUP_CONFIG PDU), and the response data packet can be sent in the form of a Synchronous Group Response Protocol Data Unit (SYNC_GROUP_REQ PDU). The master device is an AMC master device, and the slave device is an AMC slave device, such as... Figure 7 As shown, this audio multicast method is implemented using the following process:
[0096] After an AMC slave device enters multicast mode, it first synchronizes with the AMC master device. Specifically, the slave device first searches for the ADV_EXT_IND PDU sent by the AMC master device on the primary advertising channel, then receives the AUX_ADV_IND PDU sent by the AMC master device on the secondary advertising channel, and subsequently receives the SYNC_GROUP_SEARCH PDU sent by the AMC master device on the periodic advertising channel, thus synchronizing with the AMC master device. After synchronizing with the AMC master device, to avoid interference from multiple AMC slave devices simultaneously sending SYNC_GROUP_REQPDUs, a random delay of several periodic advertising intervals is applied. After receiving the SYNC_GROUP_SEARCHPDU again, a T_IFS interval is used before sending the SYNC_GROUP_REQ PDU. Then, it receives the SYNC_GROUP_CONFIG PDU sent by the AMC master device. If received correctly, it replies with the SYNC_GROUP_RSP PDU after a T_IFS interval to confirm joining the multicast and completing the grouping. Otherwise, continue receiving SYNC_GROUP_CONFIG PDUs until timeout. After timeout, receive SYNC_GROUP_SEARCH PDUs again and send SYNC_GROUP_REQ PDUs. Repeat the above process until multicast is completed and the grouping is finished.
[0097] This embodiment also provides an audio multicast system, which includes a master device and a slave device. The master device broadcasts audio data packets based on the broadcast isochronous group link protocol. The master device performs periodic broadcasts based on an advertising channel. The advertising channel includes a periodic advertising channel. When performing periodic broadcasts, the master device communicates bidirectionally with the slave device on the periodic advertising channel according to a pre-configured bidirectional periodic advertising link protocol, so as to allow selected slave devices to team up with the master device. When a slave device is selected to team up with the master device, the slave device receives the audio data packets broadcast by the master device on the broadcast communication link based on the broadcast isochronous group link protocol, and extracts playable audio data from the audio data packets.
[0098] Among them, such as Figure 8 As shown, the master device can also be called the AMC master device, and the slave device can also be called the AMC slave device. This audio multicast system consists of one AMC master device and at least one or more AMC slave devices (N≥1). The AMC master device and the AMC slave devices transmit audio data through the BIG link protocol and transmit link information such as team search, team request, team configuration, and team response through the bidirectional periodic advertising link protocol.
[0099] Specifically, after the AMC master device automatically or through a user interface enters multicast mode, it replaces the AUX_SYNC_IND PDU with SYNC_GROUP_SEARCH PDU on the periodic advertising channel. When an AMC slave device wants to join the multicast of the AMC master device at the corresponding device address, it receives the SYNC_GROUP_SEARCH PDU and replies with a SYNC_GROUP_REQ PDU at an interval of T_IFS, where T_IFS is the Time of Inter Frame Space (TIFS), which is 150µs according to the BLE protocol. After receiving the SYNC_GROUP_REQ PDU from the AMC slave device, the AMC master device, through the user interface and based on its device address, device name, or unique device identifier, confirms permission for the slave device to join the multicast. Then, it sends a SYNC_GROUP_CONFIGPDU to the AMC slave device at the corresponding device address and provides the Scrambling Code for the access address or the Broadcast Code for decryption, thus allowing the AMC slave device to receive or decrypt the audio data sent by the AMC master device. After receiving the SYNC_GROUP_CONFIG PDU from the AMC master, the AMC slave device immediately sends a SYNC_GROUP_RSP PDU at intervals of T_IFS to confirm joining the multicast. If the AMC master device does not receive the SYNC_GROUP_RSP PDU from the AMC slave device, it needs to retransmit the SYNC_GROUP_CONFIG PDU until it correctly receives the SYNC_GROUP_RSP PDU from the AMC slave device.
[0100] To prevent multiple AMC slave devices from simultaneously sending SYNC_GROUP_REQ PDUs and interfering with each other, after receiving a SYNC_GROUP_SEARCH PDU and synchronizing it with the AMC master device, a certain delay is randomly generated. That is, after several advertising intervals, the slave device will receive another SYNC_GROUP_SEARCH PDU before sending a SYNC_GROUP_REQ PDU.
[0101] As a specific application embodiment of the present invention, an audio multicast system using an A2DP audio source is used as an example to illustrate the structure and working principle of the system.
[0102] like Figure 9As shown, the system consists of a smartphone, an AMC master speaker, and at least one or more AMC slave speakers. The AMC master speaker is the AMC master device, and the AMC slave speakers are the AMC slave devices. The AMC master speaker uses the smartphone to obtain audio from an Advanced Audio Distribution Profile (A2DP) source provided via Classic BT (Classic Bluetooth). Audio data is transmitted between the AMC master speaker and the AMC slave speakers via a BIG link. Multicast grouping functionality is achieved by exchanging SYNC_GROUP_SEARCH PDU, SYNC_GROUP_REQ PDU, SYNC_GROUP_CONFIG PDU, and SYNC_GROUP_RSP PDU via the BPA link protocol. The Classic BT connection of the AMC master speaker coexists with the BIG and BPA links using time-division multiplexing. After receiving Classic BT A2DP audio from the smartphone, the AMC master speaker multicasts it to the AMC slave devices via the BIG link. Compared to BIG-based audio broadcasting (ABC), this invention uses a BPA link to control the AMC to receive and play the audio stream broadcast by the AMC main speaker only after it has been grouped with other speakers, thereby enabling controlled audio multicast functionality for a limited number of AMC speakers.
[0103] The audio multicast system works as follows: When any AMC speaker connects to a smartphone via Classic BT and turns on the A2DP wireless audio source, it automatically enters AMC master speaker mode. Other AMC speakers that do not have the A2DP audio source turned on automatically enter AMC slave speaker mode. After receiving the audio from the A2DP audio source, the AMC master speaker first decodes it, then encodes it using the Low Complexity Communication Codec (LC3) of BLE Audio and buffers it. After buffering a certain amount, it decodes the audio using LC3 and plays it locally, while simultaneously sending it to the AMC slave speakers via the BIG link for decoding and synchronous playback. The main parameters of the BIG link established by the BIG master speaker include: equal time interval of 20ms, BIS number of 2, number of sub-events (NSE) equal to 6, burst number (BN) equal to 2, immediate repetition count (IRC) equal to 3, and pre-transmission offset (PTO) equal to 0. It uses BLE 2Mbps physical layer transmission.
[0104] After the AMC master speaker automatically enters multicast mode via the user interface, it sends a SYNC_GROUP_SEARCH PDU to transmit BIG Info on the Periodic Advertising channel. Once the AMC slave speaker synchronizes with the master speaker, it can send a SYNC_GROUP_REQ PDU at intervals of T_IFS after receiving the SYNC_GROUP_SEARCH PDU to request to join the multicast. The master speaker collects information from the AMC slave speakers that sent the SYNC_GROUP_REQ PDU (including the device name or UUID in AdvData) and presents it to the user through the user interface. For example, the master speaker can display the collected information from the AMC slave speakers through a wirelessly connected smartphone interface. Users can click on a specific AMC slave speaker's icon to allow it to join the multicast, or drag the AMC slave speaker's icon to the multicast group. Then, the AMC master speaker sends a SYNC_GROUP_CONFIG PDU to each of the AMC slave speakers allowed to join the multicast on the periodic advertising channel, providing either a Scrambling Code or a Broadcast Code. This allows the AMC slave speakers to receive or decrypt the audio stream sent by the AMC master speaker. After receiving the SYNC_GROUP_CONFIG PDU, the AMC slave speaker replies with a SYNC_GROUP_RSP PDU at intervals of T_IF to confirm joining the multicast, thus completing the queuing process.
[0105] After being grouped, the AMC master speaker and AMC slave speakers can remember or save grouping information for each other. For example, the AMC master speaker saves the addresses and related information of all AMC slave devices that have joined the multicast, while the AMC slave devices save the address of the AMC master speaker and the previously acquired Scrambling Code or Broadcast Code. AMC devices that have saved grouping information will automatically join the multicast upon restarting. If the AMC master speaker needs to update the Scrambling Code or Broadcast Code after restarting, it can send a SYNC_GROUP_CONFIG PDU to provide the new Scrambling Code or Broadcast Code according to the AMC slave speaker addresses in the saved grouping information.
[0106] Regarding the structure of this audio multicast system, such as... Figure 10As shown, the AMC main speaker includes an audio input unit, a first user interface, a first audio processing unit, a first baseband data and protocol processor, and a first BT (Bluetooth) radio frequency transceiver module. The audio input unit can be a module that wirelessly receives A2DP audio sources. The audio input unit acquires digital audio signals and transmits them to the first audio processing unit. Upon receiving the digital audio signals, the first audio processing unit first decodes them and then uses LC3 compression encoding to convert them into audio data. The first baseband data and protocol processor executes the BIG and BPA protocols related to BLE Audio and processes the audio data into BIS PDUs suitable for transmission by the first BT radio frequency transceiver module. The first BT radio frequency transceiver module is used for transmitting and receiving BT wireless signals or various PDUs, including transmitting and receiving BPA-related PDUs. The first user interface can be buttons, a touchscreen, a wireless control interface, etc., used to obtain instructions for controlling multicast functions.
[0107] like Figure 11 As shown, the AMC speaker includes a second user interface, an audio output unit, a second audio processing unit, a second baseband data and protocol processor, and a second BT RF transceiver module. The second baseband data and protocol processor executes the BIG and BPA protocols related to BLEAudio, processes the BISPDUs sent by the AMC main speaker received by the second BT RF transceiver module, and sends them to the second audio processing unit. The second audio processing unit is used for post-processing such as audio decoding, packet loss handling, equalization, and sound effects. The audio output unit converts the audio signal into a sound signal. The second BT RF transceiver module is used for transmitting and receiving BT wireless signals or various PDUs, including sending and receiving BPA-related PDUs. The second user interface can be buttons, a touchscreen, a wireless control interface, etc., used to obtain commands for controlling multicast functions.
[0108] This embodiment also provides an audio multicast device for implementing the above embodiments and preferred embodiments; details already described will not be repeated. As used below, the term "module" can refer to a combination of software and / or hardware that performs a predetermined function. Although the device described in the following embodiments is preferably implemented in software, hardware implementation, or a combination of software and hardware, is also possible and contemplated.
[0109] This embodiment provides an audio multicast device, such as... Figure 12 As shown, the device is applied to the main equipment and includes:
[0110] Audio transmission module 121 is used to broadcast audio data packets based on the broadcast isochronous group link protocol;
[0111] The periodic broadcast module 122 is used to perform periodic broadcasts based on an advertising channel; the advertising channel includes a periodic advertising channel.
[0112] The first teaming module 123 is used to communicate bidirectionally with slave devices on the periodic advertising channel according to a pre-configured bidirectional periodic advertising link protocol during periodic broadcasting, so as to allow selected slave devices to team up with the master device; the selected slave devices are slave devices that are allowed to receive audio data packets and extract playable audio data.
[0113] In one optional implementation, the first teaming module is specifically configured to: broadcast search data packets on a periodic advertising channel; receive teaming request data packets sent by slave devices according to the search data packets; send configuration data packets to selected slave devices according to slave device information contained in the teaming request data packets, the configuration data packets including configuration information, for the selected slave devices to receive audio data packets and extract playable audio data based on the configuration information; and receive response data packets sent by the selected slave devices according to the configuration data packets, thereby completing teaming with the selected slave devices.
[0114] In one optional implementation, the search packet carries broadcast isochronous group link information and the master device address; the group request packet carries the master device address, slave device address, and device identity information; the configuration packet carries the master device address, the selected slave device address, broadcast isochronous group link information, and group configuration information; the response packet carries the master device address and slave device address; the time slot for sending the search packet and configuration packet is the time slot for sending synchronization packets as specified by the Bluetooth Low Energy protocol; the time slot for receiving the group request packet and response packet is after the time slot for sending synchronization packets as specified by the Bluetooth Low Energy protocol, and after a predetermined packet interval.
[0115] In one optional implementation, the advertising channel is configured according to the Bluetooth Low Energy protocol; the advertising channel further includes: a main advertising channel and a secondary advertising channel; the periodic broadcast module is specifically used to send extended advertising protocol data packets on the main advertising channel and auxiliary advertising protocol data packets on the secondary advertising channel, and to synchronize and receive search data packets from the device.
[0116] Further functional descriptions of the above modules and units are the same as those in the corresponding embodiments described above, and will not be repeated here.
[0117] This embodiment also provides an audio multicast device for implementing the above embodiments and preferred embodiments; details already described will not be repeated. As used below, the term "module" can refer to a combination of software and / or hardware that performs a predetermined function. Although the device described in the following embodiments is preferably implemented in software, hardware implementation, or a combination of software and hardware, is also possible and contemplated.
[0118] This embodiment provides an audio multicast device, such as... Figure 13As shown, the device is applied to a slave device and includes:
[0119] The broadcast receiving module 131 is used to receive periodic broadcasts from the master device based on an advertising channel, the advertising channel including a periodic advertising channel;
[0120] The second teaming module 132 is used to communicate bidirectionally with the master device on the periodic advertising channel according to the pre-configured bidirectional periodic advertising link protocol when receiving periodic broadcasts, so as to be allowed by the master device to team up with the master device as a selected slave device.
[0121] The audio receiving module 133 is used to receive audio data packets broadcast by the master device on a broadcast communication link based on the broadcast isochronous group link protocol when the master device is selected as a slave device and is paired with the master device, and to extract playable audio data from the audio data packets.
[0122] In one optional implementation, the second teaming module is specifically used for: receiving a search data packet sent by the master device on a periodic advertising channel; sending a teaming request data packet to the master device according to the search data packet; receiving a configuration data packet sent by the master device, the configuration data packet including configuration information, for the selected slave device to receive audio data packets and extract playable audio data based on the configuration information; and, if the configuration data packet is correctly received, sending a response data packet to the master device to complete the teaming up with the master device as the selected slave device.
[0123] In one optional implementation, the advertising channel is configured according to the Bluetooth Low Energy protocol; the advertising channel further includes a main advertising channel and a secondary advertising channel; the broadcast receiving module is specifically used to: search for extended advertising data packets sent by the main device on the main advertising channel, receive auxiliary advertising data packets sent by the main device on the secondary advertising channel based on the extended advertising data packets, and synchronize and receive search data packets based on the auxiliary advertising data packets, thereby synchronizing with the main device.
[0124] In one optional implementation, the configuration information includes an access address scrambling code and / or a broadcast code; the audio receiving module is specifically used to: obtain the access address scrambling code and / or the broadcast code in the configuration information; obtain the access address of the audio data packet broadcast by the master device according to the access address scrambling code, and receive the audio data packet based on the access address; and / or, decrypt the received audio data packet using the broadcast code to obtain playable audio data.
[0125] Further functional descriptions of the above modules and units are the same as those in the corresponding embodiments described above, and will not be repeated here.
[0126] This invention also provides a computer device having the above-described features. Figure 12 The audio multicast device shown or Figure 13 The audio multicast device shown.
[0127] Please see Figure 14 , Figure 14 This is a schematic diagram of the structure of a computer device provided in an optional embodiment of the present invention, such as... Figure 14 As shown, the computer device includes one or more processors 10, memory 20, and interfaces for connecting the components, including high-speed interfaces and low-speed interfaces. The components communicate with each other via different buses and can be mounted on a common motherboard or otherwise installed as needed. The processors can process instructions executed within the computer device, including instructions stored in or on memory to display graphical information of a GUI on external input / output devices (such as display devices coupled to the interfaces). In some alternative implementations, multiple processors and / or multiple buses can be used with multiple memories and multiple memory modules, if desired. Similarly, multiple computer devices can be connected, each providing some of the necessary operations (e.g., as a server array, a group of blade servers, or a multiprocessor system). Figure 14 Take a processor 10 as an example.
[0128] Processor 10 may be a central processing unit, a network processor, or a combination thereof. Processor 10 may further include a hardware chip. The hardware chip may be an application-specific integrated circuit (ASIC), a programmable logic device (PLD), or a combination thereof. The programmable logic device may be a complex programmable logic device (CAMP), a field-programmable gate array (FPGA), a general-purpose array logic (GDA), or any combination thereof.
[0129] The memory 20 stores instructions executable by at least one processor 10 to cause at least one processor 10 to perform the method shown in the above embodiments.
[0130] The memory 20 may include a program storage area and a data storage area. The program storage area may store the operating system and applications required for at least one function; the data storage area may store data created based on the use of the computer device as shown by a landing page for an app. Furthermore, the memory 20 may include high-speed random access memory and may also include non-transitory memory, such as at least one disk storage device, flash memory device, or other non-transitory solid-state storage device. In some alternative embodiments, the memory 20 may optionally include memory remotely located relative to the processor 10, which can be connected to the computer device via a network. Examples of such networks include, but are not limited to, the Internet, intranets, local area networks, mobile communication networks, and combinations thereof.
[0131] The memory 20 may include volatile memory, such as random access memory; the memory may also include non-volatile memory, such as flash memory, hard disk or solid-state drive; the memory 20 may also include a combination of the above types of memory.
[0132] The computer device also includes a communication interface 30 for communicating with other devices or communication networks.
[0133] This invention also provides a computer-readable storage medium. The methods described above according to embodiments of the invention can be implemented in hardware or firmware, or implemented as computer code that can be recorded on a storage medium, or implemented as computer code downloaded via a network and originally stored on a remote storage medium or a non-transitory machine-readable storage medium and then stored on a local storage medium. Thus, the methods described herein can be processed by software stored on a storage medium using a general-purpose computer, a dedicated processor, or programmable or dedicated hardware. The storage medium can be a magnetic disk, optical disk, read-only memory, random access memory, flash memory, hard disk, or solid-state drive, etc.; further, the storage medium can also include combinations of the above types of memory. It is understood that computers, processors, microprocessor controllers, or programmable hardware include storage components capable of storing or receiving software or computer code, which, when accessed and executed by the computer, processor, or hardware, implements the methods shown in the above embodiments.
[0134] Although embodiments of the invention have been described in conjunction with the accompanying drawings, those skilled in the art can make various modifications and variations without departing from the spirit and scope of the invention, and such modifications and variations all fall within the scope defined by the appended claims.
Claims
1. An audio multicast method, characterized in that, Applied to a master device, the method includes: Based on the broadcast isochronous group link protocol, audio data packets are broadcast. Periodic broadcasts are conducted based on advertising channels; the advertising channels include periodic advertising channels. During the periodic broadcast, bidirectional communication is performed with the slave device on the periodic advertising channel according to a pre-configured bidirectional periodic advertising link protocol, so as to allow the selected slave device to team up with the master device; the selected slave device is a slave device that is allowed to receive the audio data packets and extract playable audio data; According to a pre-configured bidirectional periodic advertising link protocol, bidirectional communication is performed with slave devices on the periodic advertising channel to allow selected slave devices to team up with the master device, including: Broadcast search data packets on the periodic advertising channel; Receive a team request data packet sent by the slave device based on the search data packet; According to the slave device information contained in the team request data packet, a configuration data packet is sent to the selected slave device. The configuration data packet includes configuration information, which is used by the selected slave device to receive the audio data packet and extract playable audio data based on the configuration information. Receive the response data packet sent by the selected slave device according to the configuration data packet, and complete the teaming with the selected slave device.
2. The method according to claim 1, characterized in that: The search data packet carries broadcast isochronous group link information and the master device address; The team-up request data packet carries the master device address, slave device address, and device identity information; The configuration data packet carries the master device address, the selected slave device address, broadcast isochronous group link information, and group configuration information; The response data packet carries the master device address and the slave device address; The time slots for sending the search data packets and configuration data packets are the same as the time slots for sending synchronization data packets as specified by the Bluetooth Low Energy protocol. The time slot for receiving the group request data packet and response data packet is after the time slot for sending the synchronization data packet as specified by the Bluetooth Low Energy protocol, and is spaced out by a predetermined packet interval.
3. The method according to claim 1, characterized in that, The advertising channel is configured according to the Bluetooth Low Energy protocol; the advertising channel also includes a main advertising channel and a secondary advertising channel; The periodic broadcasting based on the advertising channel further includes sending extended advertising protocol data packets on the main advertising channel and auxiliary advertising protocol data packets on the secondary advertising channel, for synchronizing and receiving the search data packets from the device.
4. An audio multicast method, characterized in that, Applied to a slave device, the method includes: Based on the advertising channel, the system receives periodic broadcasts from the master device, wherein the advertising channel includes a periodic advertising channel. When receiving the periodic broadcast, the device communicates bidirectionally with the master device on the periodic advertising channel according to the pre-configured bidirectional periodic advertising link protocol, so as to be allowed by the master device to team up with the master device as a selected slave device. When a selected slave device is paired with the master device, it receives audio data packets broadcast by the master device on a broadcast communication link based on the broadcast isochronous group link protocol, and extracts playable audio data from the audio data packets. According to a pre-configured bidirectional periodic advertising link protocol, bidirectional communication is conducted with the master device on the periodic advertising channel to be allowed by the master device to team up with the master device as a selected slave device, including: Receive search data packets sent by the master device on the periodic advertising channel; A team request data packet is sent to the master device based on the search data packet; The selected slave device receives a configuration data packet sent by the master device. The configuration data packet includes configuration information, which is used by the selected slave device to receive the audio data packet and extract playable audio data based on the configuration information. If the configuration data packet is received correctly, a response data packet is sent to the master device to complete the teaming up with the master device as the selected slave device.
5. The method according to claim 4, characterized in that, The advertising channel is configured according to the Bluetooth Low Energy protocol; The advertising channels also include: a primary advertising channel and a secondary advertising channel; The method of receiving periodic broadcasts from the master device based on the advertising channel also includes searching for extended advertising data packets sent by the master device on the main advertising channel, receiving auxiliary advertising data packets sent by the master device on a secondary advertising channel based on the extended advertising data packets, and synchronizing and receiving the search data packets based on the auxiliary advertising data packets, thereby synchronizing with the master device.
6. The method according to claim 4, characterized in that, The configuration information includes access address scrambling codes and / or broadcast codes; The method based on the broadcast isochronous group link protocol receives audio data packets broadcast by the master device on the broadcast communication link, and extracts playable audio data from the audio data packets, including: Obtain the access address scrambling code and / or broadcast code from the configuration information; The access address of the audio data packet broadcast by the master device is obtained according to the access address scrambling code, and the audio data packet is received based on the access address; and / or, The received audio data packets are decrypted using the broadcast code to obtain playable audio data.
7. An audio multicast device, characterized in that, Applied to a main device, the apparatus is used to implement the audio multicast method according to any one of claims 1 to 3, the apparatus comprising: The audio transmission module is used to broadcast audio data packets based on the broadcast isochronous group link protocol. A periodic broadcast module is used to perform periodic broadcasts based on an advertising channel; the advertising channel includes a periodic advertising channel. The first teaming module is used to communicate bidirectionally with slave devices on the periodic advertising channel according to a pre-configured bidirectional periodic advertising link protocol during the periodic broadcast, so as to allow selected slave devices to team up with the master device; the selected slave devices are slave devices that are allowed to receive the audio data packets and extract playable audio data.
8. An audio multicast device, characterized in that, Applied to a slave device for implementing the audio multicast method according to any one of claims 4 to 6, the apparatus comprises: A broadcast receiving module is used to receive periodic broadcasts from the master device based on an advertising channel, wherein the advertising channel includes a periodic advertising channel; The second teaming module is used to communicate bidirectionally with the master device on the periodic advertising channel according to a pre-configured bidirectional periodic advertising link protocol when receiving the periodic broadcast, so as to be allowed by the master device to team up with the master device as a selected slave device. An audio receiving module is configured to, when paired with the master device as a selected slave device, receive audio data packets broadcast by the master device on a broadcast communication link based on the broadcast isochronous group link protocol, and extract playable audio data from the audio data packets.
9. An audio multicast system, characterized in that, The system includes: a master device and a slave device; The master device broadcasts audio data packets based on the broadcast isochronous group link protocol. The main device performs periodic broadcasts based on an advertising channel; the advertising channel includes a periodic advertising channel. When the master device performs the periodic broadcast, it communicates bidirectionally with the slave device on the periodic advertising channel according to a pre-configured bidirectional periodic advertising link protocol, so as to allow the selected slave device to team up with the master device. According to a pre-configured bidirectional periodic advertising link protocol, bidirectional communication is performed with slave devices on the periodic advertising channel to allow selected slave devices to team up with the master device, including: Receive search data packets sent by the master device on the periodic advertising channel; A team request data packet is sent to the master device based on the search data packet; The selected slave device receives a configuration data packet sent by the master device. The configuration data packet includes configuration information, which is used by the selected slave device to receive the audio data packet and extract playable audio data based on the configuration information. If the configuration data packet is received correctly, a response data packet is sent to the master device to complete the teaming up with the master device as the selected slave device; When a slave device is selected to team up with the master device, the slave device receives audio data packets broadcast by the master device on a broadcast communication link based on the broadcast isochronous group link protocol, and extracts playable audio data from the audio data packets.
10. A computer device, characterized in that, include: A memory and a processor are communicatively connected, the memory stores computer instructions, and the processor executes the computer instructions to perform the audio multicast method of any one of claims 1 to 3 or the audio multicast method of any one of claims 4 to 6.
11. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores computer instructions for causing the computer to perform the audio multicast method of any one of claims 1 to 3 or the audio multicast method of any one of claims 4 to 6.
Citation Information
Patent Citations
Single-point-to-multipoint wireless audio two-way transmission method, system and equipment
CN114727387A
Bluetooth communication method, electronic equipment and storage medium
CN114765743A